/* DANI LEVEL 30 — shared components, responsive layouts and motion */
:root{--ink:#1c1a21;--pink:#ec5ca6;--pink-soft:#fff0f7;--cyan:#53d7d0;--yellow:#f2c74f;--green:#77df9c;--red:#e45f69;--dark:#17151d;--bg:#f6f1ed;--card:#fffdfa;--muted:#655d6c;--border:#e8dfe4;--radius:22px;--shadow:0 8px 28px rgba(40,24,35,.055);}
*{box-sizing:border-box;}
.desktop-gate{display:none!important;}
html{scroll-behavior:auto;scrollbar-gutter:stable;}
body{margin:0;overflow-x:hidden;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;}
button,input{font:inherit;}
button{cursor:pointer;}
button:disabled{cursor:not-allowed;}
[hidden]{display:none!important;}
.hud{position:sticky;z-index:50;width:min(calc(100% - 32px),1060px);margin:12px auto 0;display:flex;justify-content:space-between;gap:12px;background:rgba(23,21,29,.94);backdrop-filter:blur(12px);color:#fff;border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:10px 14px;font-size:11px;font-weight:950;letter-spacing:.09em;box-shadow:0 12px 28px rgba(23,21,29,.12);}
main{width:min(calc(100% - 32px),1060px);margin:14px auto 36px;display:grid;gap:18px;}
#missionFlow{display:grid;gap:18px;}
.panel-dark{color:#fff;}
section[id],.card[id]{scroll-margin-top:92px;}
.hero{position:relative;overflow:hidden;border-radius:28px;padding:48px;background:linear-gradient(145deg,#17151d 0%,#31213d 48%,#96365f 100%);box-shadow:var(--shadow);}
.hero__sun{position:absolute;width:350px;height:350px;border-radius:50%;right:-70px;top:28px;background:linear-gradient(#ffd868,#ef7592);opacity:.88;}
.hero__grid{position:absolute;left:-8%;right:-8%;bottom:-130px;height:370px;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:38px 38px;transform:perspective(300px) rotateX(58deg);transform-origin:top;}
.hero__content{position:relative;z-index:2;max-width:660px;}
.pill{display:inline-block;max-width:100%;border:1px solid rgba(255,255,255,.28);background:rgba(0,0,0,.22);border-radius:999px;padding:8px 12px;font-size:11px;font-weight:950;letter-spacing:.12em;line-height:1.35;white-space:normal;overflow-wrap:break-word;text-align:center;}
.hero h1{font-size:clamp(58px,10vw,104px);line-height:.78;letter-spacing:-.075em;margin:34px 0 0;font-weight:1000;text-shadow:6px 6px 0 rgba(0,0,0,.20);}
.hero h1 span{white-space:nowrap;}
.vice{display:inline-flex;align-items:baseline;justify-content:flex-start;gap:.16em;margin-top:8px;max-width:100%;width:max-content;transform:rotate(-3deg);transform-origin:left center;text-shadow:2px 2px 0 #111,0 0 12px rgba(255,83,174,.15);}
.vice__gta{font-family:"Segoe Script","Mr Dafoe","Brush Script MT","URW Chancery L",cursive;color:#ff83c5;font-size:clamp(33px,5.4vw,54px);font-weight:700;line-height:1;text-transform:uppercase;white-space:nowrap;}
.vice__birthday{font-family:"Segoe Script","Mr Dafoe","Brush Script MT","URW Chancery L",cursive;color:#ff83c5;font-size:clamp(31px,5.7vw,53px);font-weight:700;line-height:1;white-space:nowrap;}
.hero__lead{font-size:18px;line-height:1.55;color:rgba(255,255,255,.84);max-width:600px;margin:28px 0 0;}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:13px;border:1px solid transparent;padding:11px 18px;font-weight:950;letter-spacing:.015em;text-decoration:none;transition:transform .16s ease,filter .16s ease,background-color .16s ease;}
.btn--light{background:#fff;color:#111;}
.btn--ghost{border-color:rgba(255,255,255,.28);background:rgba(0,0,0,.18);color:#fff;}
.btn--soft{background:#f2eeea;color:var(--ink);border-color:var(--border);}
.btn--danger{background:#fff;color:#b93142;border-color:#efb5bd;}
.btn--wide{width:100%;}
.micro{font-size:12px;color:var(--muted);margin:10px 0 0;}
.hero .micro{color:rgba(255,255,255,.5);}
.grid{display:grid;gap:18px;}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr));}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;}
.card h2{font-size:clamp(25px,4vw,36px);margin:7px 0 8px;}
.card h3{margin:0;}
.kicker{font-size:11px;font-weight:950;letter-spacing:.18em;color:var(--muted);}
.brief-row{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;padding:15px 0;border-bottom:1px solid var(--border);}
.brief-row:last-child{border:0;}
.brief-row>span{width:38px;height:38px;border-radius:11px;background:#f2eeea;display:grid;place-items:center;}
.brief-row b,.brief-row small{display:block;}
.brief-row small{margin-top:3px;color:var(--muted);line-height:1.4;}
.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;}
.section-head p{margin:5px 0;color:var(--muted);max-width:680px;}
.stamp,.party-badge{flex:0 0 auto;border:2px solid var(--pink);color:var(--pink);font-size:12px;font-weight:1000;letter-spacing:.12em;padding:10px;border-radius:10px;transform:rotate(3deg);text-align:center;}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px;}
label>span,legend{font-size:13px;font-weight:850;}
input{width:100%;min-height:48px;margin-top:7px;border:1px solid var(--border);border-radius:12px;background:#fff;padding:0 13px;color:var(--ink);font-size:16px;}
input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid rgba(236,92,166,.45);outline-offset:3px;}
.hack button:focus-visible,.hack input:focus-visible{outline-color:var(--cyan);}
.attendance{border:0;padding:0;margin:18px 0 16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.attendance legend{grid-column:1/-1;margin-bottom:4px;}
.radio-card{position:relative;}
.radio-card input{position:absolute;opacity:0;pointer-events:none;}
.radio-card span{height:100%;display:block;border:1px solid var(--border);border-radius:13px;padding:14px;}
.radio-card small{display:block;color:var(--muted);font-weight:500;margin-top:3px;}
.radio-card input:checked+span{outline:3px solid var(--pink);background:var(--pink-soft);}
.form-message{min-height:20px;font-size:13px;font-weight:700;}
.rsvp-confirmed{margin-top:22px;border-top:1px solid var(--border);padding-top:22px;display:grid;grid-template-columns:54px minmax(0,1fr);gap:16px;align-items:start;animation:rise .35s ease;}
.rsvp-confirmed__icon{width:54px;height:54px;border-radius:50%;background:var(--green);display:grid;place-items:center;font-size:26px;font-weight:1000;}
.rsvp-confirmed h3{font-size:28px;margin:5px 0;}
.rsvp-confirmed p{color:var(--muted);margin:5px 0 0;}
.rsvp-confirmed__actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px;}
#confirmedContent,#unlockedContent{display:grid;gap:18px;}
.crew-id{font-size:28px;font-weight:1000;color:var(--pink);}
.crew-status{font-size:12px!important;color:var(--muted);font-weight:900;letter-spacing:.08em;margin:0!important;}
.hack>p{color:var(--muted);}
.terminal{margin-top:20px;background:#141319;color:#fff;border-radius:16px;padding:16px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);}
.terminal__top{display:flex;justify-content:space-between;gap:10px;font-size:10px;font-weight:950;letter-spacing:.13em;color:rgba(255,255,255,.48);}
.terminal__screen{min-height:66px;display:flex;align-items:center;justify-content:center;text-align:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#6ef0a4;font-size:17px;font-weight:900;letter-spacing:.07em;border:1px solid rgba(110,240,164,.18);background:#09120e;border-radius:10px;margin:13px 0;transition:background-color .16s ease,color .16s ease,border-color .16s ease;}
.terminal__screen--error{color:#ff838c;background:#190b0e;border-color:rgba(255,131,140,.32);}
.terminal__screen--success{color:#80f3ac;background:#07140c;border-color:rgba(128,243,172,.32);}
.hack-pads{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:12px;}
.hack-pads button{min-height:68px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:#26232d;color:#fff;font-size:28px;font-weight:1000;transition:background-color .11s ease,transform .11s ease,box-shadow .11s ease,border-color .11s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
.hack-pads button.flash{background:var(--pink);border-color:#ffb5dc;box-shadow:0 0 0 3px rgba(239,92,168,.28),0 0 24px rgba(239,92,168,.42);transform:scale(.96);}
.hack-pads button.tap-feedback{background:var(--cyan);color:#0c2826;border-color:#c5fffb;box-shadow:0 0 0 4px rgba(83,215,208,.30),0 0 24px rgba(83,215,208,.38);transform:scale(.94);}
.hack-pads button.wrong-feedback{background:var(--red);border-color:#ffbbc0;box-shadow:0 0 0 4px rgba(228,95,105,.28);transform:scale(.94);}
.hack-pads button:disabled{opacity:.42;}
.hack-pads button.flash:disabled{opacity:1;}
.dev-skip{display:block;width:100%;margin-top:10px;min-height:42px;border:1px dashed rgba(255,212,93,.55);border-radius:10px;background:rgba(255,212,93,.08);color:#ffe58f;font-size:11px;font-weight:950;letter-spacing:.08em;cursor:pointer;}
.dev-skip:hover{background:rgba(255,212,93,.14);}
.safehouse{border-color:#cfe8d8;background:linear-gradient(135deg,#fbfffc,#fffdfa);}
.party-prep{align-items:stretch;}
.npc-card{background:linear-gradient(145deg,#fffdfa,#fff2f8);}
.npc-prize{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;margin-top:18px;padding:14px;border:1px dashed #e9a8c9;border-radius:14px;background:#fff7fb;}
.npc-prize>span{font-size:28px;}
.npc-prize b,.npc-prize small{display:block;}
.npc-prize small{color:var(--muted);margin-top:3px;line-height:1.4;}
.inventory-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--border);}
.inventory-row:last-child{border:0;}
.inventory-row b{font-size:12px;text-align:right;}
.party-control .section-head{margin-bottom:18px;}
footer{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px;font-weight:800;padding:4px 3px;}
footer button{border:0;background:transparent;color:inherit;font-size:inherit;text-decoration:underline;}

@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:760px){main{width:min(100% - 18px,1060px);margin-top:10px;}
.hud{width:calc(100% - 18px);align-items:flex-start;}
.hero{min-height:510px;padding:38px 22px;}
.hero__sun{width:240px;height:240px;right:-80px;}
.grid--2,.form-grid,.attendance{grid-template-columns:1fr;}
.section-head{display:block;}
.stamp,.party-badge{display:inline-block;margin-top:9px;}
.hack-pads button{min-height:66px;}
.rsvp-confirmed{grid-template-columns:44px minmax(0,1fr);}
.rsvp-confirmed__icon{width:44px;height:44px;font-size:22px;}

}
@media(max-width:400px){.hero h1{font-size:55px;}
.hud{font-size:10px;}
.card{padding:19px;}

.terminal__top{font-size:9px;}
.hack-pads{gap:7px;}
.hack-pads button{font-size:25px;}
.vice{gap:.08em;}
.vice__gta{font-size:30px;}
.vice__birthday{font-size:34px;}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;scrollbar-gutter:stable;}
*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}
}
.hero{width:100%;transform:none;}
.hero__content{transition:transform .75s cubic-bezier(.22,.78,.24,1),opacity .5s ease;}
.hero__sun,.hero__grid{transition:width .95s cubic-bezier(.22,.78,.24,1),height .95s cubic-bezier(.22,.78,.24,1),right .95s cubic-bezier(.22,.78,.24,1),top .95s cubic-bezier(.22,.78,.24,1),opacity .95s ease;}
.hero--intro{width:100%;margin:0 auto;padding:clamp(28px,6vw,72px);display:flex;align-items:center;justify-content:center;}
.hero--intro .hero__content{width:min(100%,760px);max-width:760px;text-align:center;margin:auto;}
.hero--intro .hero__lead{margin-left:auto;margin-right:auto;}
.hero--intro .hero__sun{width:min(46vw,500px);height:min(46vw,500px);right:6%;top:7%;opacity:.8;}
.hero--intro .hero__grid{height:42vh;opacity:.38;}
@media(max-width:760px){.hero--intro{min-height:100%;width:100%;margin:0 auto;padding:28px 22px;}
.hero--intro .hero__sun{width:270px;height:270px;right:-42px;top:5%;}
.pill{font-size:10px;letter-spacing:.08em;padding:7px 10px;}}
body.intro-mode{overflow:hidden;}
body.intro-mode main{width:100%;margin:0 auto;gap:0;}
.mission-pop__type,
.mission-pop h3,
.mission-pop p,
.pill{max-width:100%;overflow-wrap:break-word;word-break:normal;}

.mission-pop h3,.mission-pop p{white-space:normal;}
.location-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 14px;}
.parking-note{margin-top:14px;padding:15px 16px;border:1px solid #d8e2dd;border-radius:14px;background:#f8fcfa;}
.parking-note b{display:block;margin-bottom:5px;}
.parking-note p{margin:0;color:var(--muted);}
.parking-note small{display:block;margin-top:8px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;}
.npc-examples{display:grid;gap:7px;margin:15px 0;padding:13px 14px;border-radius:13px;background:#fff7fb;border:1px solid #f1d5e4;color:var(--muted);font-size:13px;}
.npc-examples b{color:var(--ink);}
.npc-examples span::before{content:"→ ";color:var(--pink);font-weight:1000;}
.npc-help{margin:12px 0 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.npc-help summary{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#7b305c;font-size:12px;font-weight:900;cursor:pointer;list-style:none;}
.npc-help summary::-webkit-details-marker{display:none;}
.npc-help summary::after{content:"+";font-size:18px;line-height:1;transition:transform .16s ease;}
.npc-help[open] summary::after{transform:rotate(45deg);}
.npc-help__body{padding:0 0 13px;color:var(--muted);font-size:12px;line-height:1.5;}
.npc-help__body p{margin:0;}
.npc-help__quotes{display:grid;gap:5px;margin-top:9px;color:var(--ink);font-weight:800;}
.code-console{padding:18px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(180deg,#fff,#faf7f4);}
.code-console>label{display:block;margin-bottom:8px;font-size:12px;font-weight:950;letter-spacing:.08em;color:var(--muted);}
.code-console .code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;}
.code-console .code-row input{margin:0;text-transform:uppercase;font-weight:900;letter-spacing:.08em;}
.code-console .code-row button{border:0;border-radius:12px;background:var(--dark);color:#fff;padding:0 16px;font-weight:950;}
.demo-codes{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--border);}
.demo-codes>span{font-size:10px;font-weight:950;letter-spacing:.12em;color:#b18a34;}
.demo-codes button{min-height:34px;border:1px dashed #d8b460;border-radius:9px;background:#fffaf0;color:#755715;padding:6px 9px;font-size:11px;font-weight:900;}
.mission-pop{margin-top:16px;background:#17151d;color:#fff;border-radius:17px;padding:20px;animation:rise .3s ease;}
.mission-pop__type{font-size:10px;letter-spacing:.15em;font-weight:950;color:#ff8bc8;}
.mission-pop h3{font-size:clamp(24px,4vw,34px);margin:6px 0 8px;line-height:1.06;}
.mission-intro{color:rgba(255,255,255,.76);margin:0 0 16px!important;}
.mission-rules{margin-top:14px;padding:15px;border:1px solid rgba(255,255,255,.11);border-radius:13px;background:rgba(255,255,255,.05);}
.mission-rules>b{display:block;margin-bottom:8px;font-size:11px;letter-spacing:.12em;color:#ffb8dc;}
.mission-rules ol{margin:0;padding-left:21px;display:grid;gap:8px;color:rgba(255,255,255,.86);}
.mission-rules li{padding-left:3px;}
.mission-end{margin-top:13px;color:rgba(255,255,255,.66);font-size:13px;line-height:1.5;}
.mission-reward{font-weight:1000;color:var(--yellow);margin:15px 0;}
@keyframes billFly{0%{opacity:0;transform:translate3d(0,0,0) scale(1) rotate(var(--start-rot,-8deg))}12%{opacity:1}45%{opacity:1}100%{opacity:1;transform:translate3d(var(--tx),var(--ty),0) scale(var(--scale,.56)) rotate(var(--rot,0deg))}}
@keyframes billSettle{0%{opacity:0;transform:translate3d(0,16px,0) scale(.92) rotate(var(--bill-rot,0deg))}20%{opacity:1}100%{opacity:1;transform:translate3d(var(--bill-x),var(--bill-y),0) scale(var(--bill-scale,.72)) rotate(var(--bill-rot,0deg))}}
@keyframes stackPulse{0%,100%{transform:none}30%{transform:translateY(-3px) rotate(-1deg)}55%{transform:translateY(2px) rotate(1deg)}}
@keyframes bagLift{0%,100%{transform:translateZ(0) scale(var(--bag-scale))}45%{transform:translateZ(0) translateY(-6px) scale(calc(var(--bag-scale) + .04))}}
@keyframes pileBreathe{0%,100%{transform:translateX(-12%) scale(1)}45%{transform:translateX(-12%) scale(1.03)}}
.police-overlay{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;opacity:0;visibility:hidden;pointer-events:none;background:rgba(0,0,0,.60);transition:opacity .16s ease,visibility .16s ease;}
.police-overlay.show{opacity:1;visibility:visible;}
.police-flash{position:absolute;inset:0;background:rgba(35,72,255,.48);mix-blend-mode:screen;animation:policeFlash .9s steps(1,end) infinite;}
.wasted-card{position:relative;z-index:2;text-align:center;padding:30px 20px;text-shadow:0 4px 20px rgba(0,0,0,.7);}
.wasted-label{font-size:clamp(70px,18vw,190px);font-weight:1000;letter-spacing:-.07em;line-height:.8;color:#cf363f;filter:grayscale(.15);}
.wasted-sub{margin-top:22px;color:rgba(255,255,255,.85);font-size:12px;font-weight:950;letter-spacing:.22em;}
body.police-shake main,body.police-shake .hud{animation:policeShake .18s ease-in-out infinite alternate;}
@keyframes policeFlash{0%,49%{background:rgba(25,75,255,.48)}50%,100%{background:rgba(255,35,53,.48)}}
@keyframes policeShake{from{transform:translate3d(-3px,1px,0) rotate(-.08deg)}to{transform:translate3d(3px,-1px,0) rotate(.08deg)}}
@media(max-width:760px){.location-actions{display:grid;grid-template-columns:1fr;}
.location-actions .btn{width:100%;}
.code-console .code-row{grid-template-columns:1fr;}
.code-console .code-row button{min-height:46px;}
}
@media(prefers-reduced-motion:reduce){.police-flash{animation:none;background:linear-gradient(90deg,rgba(25,75,255,.36),rgba(255,35,53,.36));}
body.police-shake main,body.police-shake .hud{animation:none;}
.hud__wanted.is-loot-complete{animation:none;}}
.location-lead{margin:2px 0 4px;color:var(--muted);}
#missionFlow.mission-flow--entering{width:min(calc(100% - 32px),1060px);margin:0 auto;perspective:900px;}
#missionFlow.mission-flow--entering > *{opacity:0;transform:translateY(22px) scale(.985);}
#missionFlow.mission-flow--entering > *:nth-child(1){transition-delay:.08s;}
#missionFlow.mission-flow--entering > *:nth-child(2){transition-delay:.17s;}
#missionFlow.mission-flow--entering > *:nth-child(3){transition-delay:.25s;}
#missionFlow.mission-flow--entering > *:nth-child(4){transition-delay:.33s;}
#missionFlow.mission-flow--entering > *:nth-child(5){transition-delay:.41s;}
#missionFlow.mission-flow--entering > *:nth-child(n/**/+6){transition-delay:.48s;}
#missionFlow.mission-flow--entering.mission-flow--visible > *{opacity:1;transform:none;filter:none;}
@media(max-width:760px){#missionFlow.mission-flow--entering{width:calc(100% - 18px);}}
.hud__wanted{display:flex;align-items:center;justify-content:flex-end;gap:1px;min-width:130px;white-space:nowrap;user-select:none;}
.hud__wanted span{display:inline-block;color:rgba(255,255,255,.28);font-size:clamp(20px,3vw,27px);line-height:1;filter:drop-shadow(0 2px 0 rgba(0,0,0,.35));transition:color .16s ease,transform .22s cubic-bezier(.2,.85,.25,1),text-shadow .16s ease;}
.hud__wanted span.is-active{color:var(--yellow);transform:scale(1.12);text-shadow:0 0 13px rgba(255,213,64,.35);}
@keyframes wantedLootCompletePulse{0%,78%,100%{filter:drop-shadow(0 0 0 rgba(255,205,60,0));}86%{filter:drop-shadow(0 0 5px rgba(255,205,60,.24));}92%{filter:drop-shadow(0 0 10px rgba(255,205,60,.42));}}
.hud__wanted.is-loot-complete{animation:wantedLootCompletePulse 5.8s ease-in-out infinite;}
.hud__wanted.is-loot-complete span.is-active{color:#ffd34f;text-shadow:0 0 8px rgba(255,199,43,.28),0 0 16px rgba(255,199,43,.12);}
@media(max-width:760px){.hud__wanted{min-width:108px;}
.hud__wanted span{font-size:21px;}}
.money-hunt-layer{position:absolute;inset:0 0 auto 0;width:100%;height:0;z-index:72;pointer-events:none;}
.money-hunt-layer[aria-hidden="true"]{visibility:hidden;}
.street-cash{--cash-rot:0deg;--steal-x:0px;--steal-y:-80px;position:absolute;width:67px;height:44px;margin:0;padding:0;border:0;background:transparent;cursor:pointer;pointer-events:auto;transform:translate(-50%,-50%) rotate(var(--cash-rot));filter:drop-shadow(0 8px 7px rgba(0,0,0,.24));opacity:0;animation:cashDiscover .5s ease var(--cash-delay,0ms) forwards;-webkit-tap-highlight-color:transparent;}
.street-cash:hover{transform:translate(-50%,-50%) rotate(var(--cash-rot)) scale(1.08);}
.street-cash:focus-visible{outline:2px solid rgba(255,225,99,.85);outline-offset:5px;border-radius:8px;}
.street-cash__note{position:absolute;left:6px;top:8px;width:54px;height:29px;border:1px solid rgba(27,94,50,.54);border-radius:4px;background:linear-gradient(180deg,#a5e5ae,#75c989);color:#275f35;font-size:12px;font-weight:1000;display:grid;place-items:center;box-shadow:0 1px 0 rgba(255,255,255,.48) inset,0 4px 5px rgba(0,0,0,.12);}
.street-cash__note::before{content:"";position:absolute;inset:5px 18px;border:1px solid rgba(39,95,53,.22);border-radius:50%;}
.street-cash__note--1{transform:translate(-3px,3px) rotate(-5deg);}
.street-cash__note--2{transform:translate(3px,0) rotate(4deg);}
.street-cash__note--3{transform:translate(0,-4px) rotate(-1deg);}
.street-cash__band{position:absolute;left:26px;top:3px;width:13px;height:36px;border-radius:2px;background:linear-gradient(90deg,#d7ba68,#f3dc8b,#c7a750);box-shadow:0 0 0 1px rgba(105,79,20,.15);transform:rotate(-1deg);}
.street-cash.is-stolen{pointer-events:none;z-index:90;animation:cashSteal .54s cubic-bezier(.22,.76,.28,1) forwards;}
@keyframes cashDiscover{from{opacity:0;transform:translate(-50%,-42%) rotate(var(--cash-rot)) scale(.88)}to{opacity:.96;transform:translate(-50%,-50%) rotate(var(--cash-rot)) scale(1)}}
@keyframes cashSteal{0%{opacity:1;transform:translate(-50%,-50%) rotate(var(--cash-rot)) scale(1)}35%{opacity:1;transform:translate(-50%,-60%) rotate(calc(var(--cash-rot) + 7deg)) scale(1.12)}100%{opacity:0;transform:translate(calc(-50% + var(--steal-x)),calc(-50% + var(--steal-y))) rotate(18deg) scale(.28)}}
@media(max-width:520px){.street-cash{width:58px;height:40px;}
.street-cash__note{width:48px;height:26px;left:5px;top:8px;}
.street-cash__band{left:23px;height:33px;top:3px;}}
@media(prefers-reduced-motion:reduce){.street-cash{opacity:.96;animation:none;}
.street-cash.is-stolen{opacity:0;animation:none;}}
.vice__gta{font-variant:normal;}
.hud__menu-toggle{appearance:none;border:0;margin:0;padding:5px 7px 5px 3px;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;display:inline-flex;align-items:center;border-radius:9px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .18s ease,transform .18s ease;}
.hud__menu-toggle:hover{background:rgba(255,255,255,.07);}
.hud__menu-toggle:active{transform:scale(.97);}
.hud__menu-toggle:focus-visible{outline:2px solid rgba(236,92,166,.55);outline-offset:2px;}
.hud__menu-toggle[hidden]{display:none;}
.hud__menu{position:relative;flex:0 0 auto;min-width:0;}
.hud__menu-panel{position:absolute;top:calc(100% + 8px);left:0;border:1px solid rgba(255,255,255,.11);border-radius:16px;background:rgba(23,21,29,.985);box-shadow:0 20px 50px rgba(20,14,25,.25);backdrop-filter:blur(16px);color:#fff;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px) scale(.985);transform-origin:top left;transition:opacity .22s ease,transform .3s cubic-bezier(.2,.8,.25,1),visibility 0s linear .3s;z-index:60;}
.hud__menu.is-open .hud__menu-panel{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s;}
.hud__menu-panel .kicker{color:rgba(255,255,255,.46);}
.hud__menu-panel h2{margin:6px 0 10px;font-size:24px;letter-spacing:-.025em;}
@media(max-width:760px){
.hud{align-items:center;}
.hud__menu-panel{left:0;width:min(410px,calc(100vw - 38px));padding:18px 18px 14px;}
.hud__menu-panel h2{font-size:21px;}
.vice__gta{text-transform:uppercase!important;}
}
.vice__gta,
.vice__birthday{font-family:"Lobster",cursive;font-weight:400;font-style:normal;-webkit-font-smoothing:antialiased;}
.hud__menu-toggle{position:relative;gap:8px;}
.hud__menu-badge{display:inline-flex;align-items:center;gap:5px;min-height:27px;padding:0 8px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(255,255,255,.06);color:rgba(255,255,255,.78);font-size:9px;font-weight:950;letter-spacing:.1em;white-space:nowrap;transition:background-color .18s ease,border-color .18s ease,transform .18s ease,color .18s ease,box-shadow .18s ease;}
.hud__menu-badge strong{color:#fff;font-size:10px;letter-spacing:.03em;}
.hud__menu-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.hud__player-avatar{width:18px;height:18px;display:grid;place-items:center;font-size:14px;line-height:1;}
.hud__player-avatar[hidden]{display:none;}
.hud__player-menu{display:grid;gap:14px;}
.hud__player-menu[hidden]{display:none;}
.hud__player-head{display:flex;align-items:center;gap:11px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.09);}
.hud__player-menu-avatar{width:42px;height:42px;flex:0 0 42px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.07);display:grid;place-items:center;font-size:24px;}
.hud__player-head h2{margin:3px 0 1px!important;font-size:18px!important;}
.hud__player-head small{color:rgba(255,255,255,.52);font-size:9px;font-weight:900;letter-spacing:.08em;}
.hud__player-actions{display:grid;gap:7px;}
.hud__player-action{width:100%;min-height:48px;padding:8px 10px;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:rgba(255,255,255,.055);color:#fff;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;text-align:left;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,transform .16s ease;}
.hud__player-action:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.17);transform:translateY(-1px);}
.hud__player-action>span:first-child{width:30px;height:30px;border-radius:8px;background:rgba(255,255,255,.07);display:grid;place-items:center;font-size:14px;}
.hud__player-action>span:last-child{display:grid;gap:1px;min-width:0;}
.hud__player-action b{font-size:11px;letter-spacing:.04em;}
.hud__player-action small{color:rgba(255,255,255,.5);font-size:9px;font-weight:700;letter-spacing:0;line-height:1.25;}
.hud__expand-icon{width:27px;height:27px;flex:0 0 27px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.17);border-radius:50%;background:rgba(255,255,255,.07);transition:background-color .2s ease,border-color .2s ease,transform .3s cubic-bezier(.2,.8,.25,1);}
.hud__expand-icon i{width:7px;height:7px;margin-top:-3px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg);transition:transform .3s cubic-bezier(.2,.8,.25,1),margin .3s ease;}
.hud__menu.is-open .hud__expand-icon{background:rgba(255,137,199,.15);border-color:rgba(255,137,199,.5);transform:rotate(180deg);}
.hud__menu.is-open .hud__expand-icon i{margin-top:-3px;}
.hud__menu-toggle:hover .hud__menu-badge{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22);color:#fff;}
.hud__menu-panel{width:min(410px,calc(100vw - 38px));padding:17px 18px 13px;}
@media(max-width:620px){
.hud{gap:7px;padding:9px 10px;}
.hud__menu-toggle{gap:6px;padding-left:1px;padding-right:2px;}
.hud__menu-badge{width:auto;max-width:132px;height:27px;min-height:27px;padding:0 7px;gap:5px;}
.hud__menu-label{display:block;max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.hud__player-avatar{width:17px;height:17px;flex:0 0 17px;font-size:13px;}
.hud__expand-icon{width:25px;height:25px;flex-basis:25px;}
.hud__wanted{min-width:103px;}
}
@media(max-width:390px){.hud__wanted{min-width:98px;}
.hud__wanted span{font-size:19px;}}
@media(max-width:760px){.hud__menu-panel{padding:16px 16px 12px;}
}
#partyPin,#adminPin,#characterPin{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.18em;font-weight:900;}
.map-launch[aria-disabled="true"]{opacity:.5;pointer-events:none;filter:grayscale(.5);}
.map-launch.is-loading{opacity:.65;pointer-events:none;}
.crew-identity{display:flex;align-items:center;gap:14px;min-width:0;}
.crew-avatar{width:62px;height:62px;flex:0 0 62px;border:1px solid #eadde5;border-radius:18px;background:#17151d;display:grid;place-items:center;font-size:34px;box-shadow:0 8px 22px rgba(23,21,29,.12);}
.crew-bio{margin:18px 0 12px;color:var(--muted);}
.character-editor{margin-top:20px;padding-top:20px;border-top:1px solid var(--border);animation:rise .28s ease;}
.character-editor__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;}
.character-editor__head h3{font-size:25px;margin:4px 0;}
.character-editor__head p{margin:0;color:var(--muted);max-width:620px;}
.icon-close{width:36px;height:36px;flex:0 0 36px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--ink);font-size:24px;line-height:1;display:grid;place-items:center;}
.avatar-options{display:flex;flex-wrap:wrap;gap:7px;}
.avatar-option{border:1px solid var(--border);border-radius:12px;background:#fff;font-size:23px;display:grid;place-items:center;transition:transform .14s ease,border-color .14s ease,background .14s ease;}
.avatar-option:hover{transform:translateY(-2px);}
.avatar-option.is-selected{border-color:var(--pink);background:var(--pink-soft);box-shadow:0 0 0 2px rgba(236,92,166,.14);}
.character-bio-field{margin-bottom:20px;}
.crew-card{appearance:none;width:100%;min-width:0;text-align:left;border:1px solid var(--border);background:#fff;color:var(--ink);font:inherit;box-shadow:0 5px 16px rgba(40,24,35,.035);}
.crew-card--selectable{cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;}
.crew-card--selectable:hover{transform:translateY(-2px);border-color:#e59bbe;box-shadow:0 10px 24px rgba(40,24,35,.07);}
.crew-card--selectable.crew-card--selected{border-color:var(--pink);background:linear-gradient(145deg,var(--pink-soft),#fff);box-shadow:0 0 0 3px rgba(236,92,166,.14),0 12px 26px rgba(40,24,35,.08);transform:translateY(-1px);}
.crew-card--selectable.crew-card--selected .crew-card__avatar{background:var(--pink);color:#fff;}
.crew-card__head{display:flex;align-items:center;gap:10px;}
.crew-card__avatar{width:42px;height:42px;flex:0 0 42px;border-radius:12px;background:#17151d;display:grid;place-items:center;font-size:23px;}
.crew-card__head b,.crew-card__head small{display:block;}
.crew-card__head b{font-size:13px;}
.crew-card__head small{margin-top:2px;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.08em;}
.crew-card>p{min-height:36px;margin:11px 0 0;color:var(--muted);font-size:11px;line-height:1.45;}
.crew-card__specialties{display:grid;gap:5px;margin-top:11px;padding-top:10px;border-top:1px solid var(--border);}
.crew-empty{grid-column:1/-1;margin:0;padding:18px;border:1px dashed var(--border);border-radius:13px;color:var(--muted);text-align:center;}
.party-mode .card{color:var(--ink);}
.party-mode__hero{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:24px;box-shadow:0 18px 50px rgba(0,0,0,.2);display:flex;justify-content:space-between;gap:28px;align-items:flex-end;}
.party-mode__hero h1{letter-spacing:-.07em;}
.party-mode__hero p{max-width:650px;color:rgba(255,255,255,.7);line-height:1.5;margin:0;}
.party-mode__brand{font-size:12px;font-weight:1000;letter-spacing:.12em;white-space:nowrap;}
.party-mode__brand span{color:#ff89c7;}
.party-player-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;}
.party-pin-entry{max-width:560px;margin:20px auto 0;padding-top:20px;border-top:1px solid var(--border);}
.party-pin-entry label{display:block;}
.party-pin-entry .btn{width:100%;margin-top:12px;}
.text-button{border:0;background:transparent;color:inherit;text-decoration:underline;text-underline-offset:3px;font-weight:850;padding:8px 0;}
.party-pin-entry .text-button{display:block;margin:4px auto;color:var(--muted);}
.party-mode__footer{color:rgba(255,255,255,.58);padding:7px 3px;}
.party-mode__footer .text-button{color:rgba(255,255,255,.7);}
.dev-mode-switch{position:fixed;right:14px;bottom:14px;z-index:300;display:flex;align-items:center;gap:4px;padding:6px;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:rgba(23,21,29,.94);box-shadow:0 12px 30px rgba(0,0,0,.18);backdrop-filter:blur(10px);color:#fff;}
.dev-mode-switch>span{font-size:8px;font-weight:950;letter-spacing:.12em;color:rgba(255,255,255,.45);padding:0 5px;}
.dev-mode-switch button{min-height:30px;border:0;border-radius:8px;background:transparent;color:rgba(255,255,255,.55);padding:5px 9px;font-size:9px;font-weight:950;letter-spacing:.08em;}
.dev-mode-switch button.is-active{background:var(--pink);color:#fff;}
.admin-dialog{width:min(94vw,760px);max-height:88vh;border:0;border-radius:20px;padding:0;background:transparent;color:var(--ink);}
.admin-dialog::backdrop{background:rgba(10,8,13,.72);backdrop-filter:blur(5px);}
.admin-dialog__card{max-height:none;overflow:visible;background:var(--card);border:1px solid var(--border);border-radius:20px;padding:24px;box-shadow:0 30px 70px rgba(0,0,0,.3);}
.admin-dialog__head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px;}
.admin-dialog__head h2{margin:5px 0;font-size:28px;}
.admin-dialog label{display:block;}
.admin-dialog #adminLogin{width:100%;margin-top:12px;}
.admin-summary{border-radius:11px;background:#17151d;color:#fff;padding:11px 13px;font-size:11px;font-weight:950;letter-spacing:.08em;margin-bottom:12px;}
.admin-crew-list{display:grid;gap:8px;}
.admin-player-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--border);border-radius:12px;padding:11px;}
.admin-player-row b,.admin-player-row small{display:block;}
.admin-player-row small{margin-top:3px;color:var(--muted);font-size:10px;}
.admin-player-row__actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end;}
.admin-reset-pin{min-height:36px;padding:7px 10px;font-size:10px;}
.admin-temp-pin{font-family:ui-monospace,monospace;font-size:11px;font-weight:950;color:#2f8c52;}
@media(max-width:760px){.party-player-grid{grid-template-columns:1fr 1fr;}
.crew-card>p{min-height:0;}
.party-mode__hero{min-height:320px;padding:25px 21px;display:block;}
.party-mode__brand{margin-top:30px;}
.admin-player-row{align-items:flex-start;flex-direction:column;}
.admin-player-row__actions{width:100%;justify-content:flex-start;}}
@media(max-width:480px){.party-player-grid{grid-template-columns:1fr;}
.crew-avatar{width:52px;height:52px;flex-basis:52px;font-size:29px;}
.crew-id{font-size:21px;}
.avatar-option{width:41px;height:41px;}
.party-mode__hero h1{font-size:56px;}
.dev-mode-switch{right:9px;bottom:9px;}}
.dev-mode-switch>i{font-style:normal;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:3px 5px;font-size:7px;font-weight:1000;letter-spacing:.08em;color:#ffc46d;}
.dev-mode-switch>i.is-online{color:#8ff0b1;border-color:rgba(119,223,156,.28);}
.vice__gta,.vice__birthday{font-family:"Lobster",cursive!important;}
.vice__gta{text-transform:uppercase!important;letter-spacing:.01em;}
.vice__birthday{letter-spacing:0;line-height:1.12;padding-bottom:.10em;margin-bottom:-.10em;}
.briefing-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin-top:8px;}
.party-preview{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;background:linear-gradient(135deg,#1b1721,#33213d);color:#fff;border-color:rgba(255,255,255,.08);}
.party-preview__icon{width:58px;height:58px;border-radius:17px;background:rgba(255,255,255,.08);display:grid;place-items:center;font-size:29px;}
.party-preview h2{font-size:clamp(22px,3vw,30px);margin:5px 0;}
.party-preview p{margin:0;color:rgba(255,255,255,.64);}
.party-preview__lock{border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:7px 10px;font-size:9px;font-weight:1000;letter-spacing:.12em;color:#ff9bce;}
.character-editor--compact .character-editor__head{padding-bottom:14px;border-bottom:1px solid var(--border);margin-bottom:15px;}
.character-quick-grid{display:grid;gap:16px;align-items:start;margin-bottom:15px;}
.avatar-picker{border:0;padding:0;margin:0;}
.avatar-picker legend{margin-bottom:8px;}
.avatar-options--scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;}
.avatar-options--scroll .avatar-option{flex:0 0 auto;}
.character-bio-field{display:block;}
.character-bio-field input{margin-top:8px;}
.character-editor__footer{display:flex;align-items:center;gap:14px;margin-top:14px;}
.character-editor__footer .btn{min-width:180px;}
.character-editor__footer .text-button{color:var(--muted);}
.party-mode__hero{background:radial-gradient(circle at 85% 12%,rgba(255,126,191,.24),transparent 31%),rgba(8,7,11,.34);}
.party-phase-kicker{color:#ff9bce;margin-top:18px;}
.party-mode__hero h1{margin:9px 0 10px;}
.party-mode__hero p{font-size:15px;}
.party-control--live{border-color:#e9d4df;box-shadow:0 12px 32px rgba(40,24,35,.08);}
.party-control--live .code-console{margin-top:14px;}
.party-mode-active .money-hunt-layer{display:none!important;}
.hud__wanted--party{min-width:116px;gap:5px!important;}
.hud__wanted--party span{font-size:16px!important;color:#fff!important;transform:none!important;text-shadow:none!important;}
.hud__wanted--party span:first-child{font-size:20px!important;}
.hud__wanted--party .is-score{font-size:17px!important;font-weight:1000;color:var(--yellow)!important;}
.hud__wanted--party .is-label{font-size:8px!important;font-weight:950;letter-spacing:.1em;color:rgba(255,255,255,.56)!important;}
.dev-mode-switch{max-width:calc(100vw - 18px);flex-wrap:wrap;justify-content:flex-end;}
.dev-mode-switch #devResetSession,.dev-mode-switch #devResetBrowser{background:rgba(255,255,255,.07);color:rgba(255,255,255,.68);}
@media(max-width:760px){.briefing-items{grid-template-columns:1fr;}
.briefing-items .brief-row{border-bottom:1px solid var(--border);}
.briefing-items .brief-row:last-child{border-bottom:0;}
.party-preview{grid-template-columns:auto minmax(0,1fr);}
.party-preview__lock{grid-column:2;justify-self:start;}
.character-quick-grid{grid-template-columns:1fr;}
.character-editor__footer{align-items:stretch;flex-direction:column;gap:5px;}
.character-editor__footer .btn{width:100%;}
.character-editor__footer .text-button{align-self:center;}
.party-mode__hero{min-height:250px;}
.hud__wanted--party{min-width:88px;}}
@media(max-width:480px){.party-preview__icon{width:48px;height:48px;font-size:24px;}
.character-editor--compact{padding:14px;margin-left:-3px;margin-right:-3px;}
.dev-mode-switch>span{display:none;}}
.party-mode__hero-actions{display:flex;gap:8px;margin-top:18px;}
.party-mode__hero-actions .btn{min-height:40px;padding:8px 13px;font-size:10px;background:rgba(0,0,0,.18);}
.party-preview__lock{cursor:default;}
.party-preview__lock.is-live{cursor:pointer;background:var(--pink);border-color:var(--pink);color:#fff;}
.party-preview.is-live{box-shadow:0 0 0 1px rgba(236,92,166,.25),0 16px 36px rgba(40,24,35,.1);}
@media(max-width:760px){.party-mode__hero-actions .btn{width:100%;}}
body{line-height:1.55;background:radial-gradient(ellipse at 100% 0,rgba(236,92,166,.10),transparent 44%),var(--bg);}
button,a,input{touch-action:manipulation;}
:focus-visible{outline:3px solid #147c86;outline-offset:4px;}
input:focus-visible{outline-offset:2px;}
button:disabled{opacity:.65;}
.btn{line-height:1.3;min-height:48px;}
.btn:hover{filter:brightness(1.03);}
.btn:active{transform:translateY(1px);}
.btn--accent{color:#211621;background:#f17db5;}
.text-button{min-height:44px;font-size:12px;}
.card{padding:clamp(20px,3vw,32px);}
.card h2{line-height:1.12;letter-spacing:-.04em;}
.card p{line-height:1.65;}
.hero,.party-mode__hero{background:linear-gradient(135deg,#17151d 0%,#37213f 65%,#853457 100%);border-radius:var(--radius);}
.hero{transition:none;min-height:440px;}
.hero--intro{min-height:100%;border-radius:0;}
.hero__content,.hero__sun,.hero__grid{transition:none;}
body.intro-mode{overflow-y:auto;}
#missionFlow.mission-flow--entering > *{filter:none;transition:opacity .3s ease,transform .3s ease;}
#confirmedContent,#unlockedContent,#partyDashboard{display:grid;gap:20px;}
.briefing-items .brief-row{border-bottom:1px solid var(--border);}
.briefing-items .brief-row:last-child{border-bottom:0;}
.section-nav{display:flex;gap:8px;flex-wrap:wrap;padding:4px 0;}
.section-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 16px;border-radius:999px;background:#fffdfa;border:1px solid var(--border);color:var(--ink);font-size:12px;font-weight:800;text-decoration:none;}
.section-nav a:hover{background:var(--pink-soft);border-color:#dc88b2;}
.party-mode__hero{color:#fff;padding:clamp(24px,4vw,42px);}
.party-mode__hero h1{font-size:clamp(38px,6vw,70px);line-height:1;overflow-wrap:anywhere;}
.party-mode__footer,.party-mode__footer .text-button{color:var(--muted);}
.crew-id{flex-shrink:0;}
.crew-card{border-radius:16px;padding:18px;}
.crew-card--selectable{min-height:120px;}
.character-quick-grid{grid-template-columns:1fr;}
.avatar-options--scroll{display:grid;grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:6px;overflow:visible;padding:0;}
.avatar-option{width:100%;min-width:44px;height:44px;}
.character-editor__head p{font-size:13px;}
.icon-close{min-width:44px;min-height:44px;}
.account-dialog{width:min(760px,calc(100% - 24px));max-height:90dvh;border:1px solid var(--border);border-radius:22px;padding:18px;background:var(--bg);color:var(--ink);}
.account-dialog::backdrop{background:rgba(23,21,29,.75);}
.account-dialog>.icon-close{display:block;margin-left:auto;}
.account-dialog .card{box-shadow:none;border:0;background:transparent;padding:10px;}
.connection-status{border:1px solid #d6ae61;border-radius:14px;background:#fff5df;padding:14px 18px;color:#6b4414;}

.hud{top:max(8px,env(safe-area-inset-top));margin-top:8px;}
section[id],.card[id],[id="wantedRanking"]{scroll-margin-top:110px;}
@media(max-width:760px){main{width:calc(100% - 24px);}
.card{padding:20px;}
.hero{min-height:400px;padding:30px 22px;}
.hero--intro{min-height:100%;padding:36px 22px;}
.hero__lead{font-size:16px;}
.hud{width:calc(100% - 24px);}
.hud__wanted--party{min-width:65px;}
.section-head{gap:12px;}
.section-head .stamp{display:none;}
.character-editor--compact{padding:14px;margin-left:0;margin-right:0;}
.inventory-row{gap:10px;flex-wrap:wrap;}
.inventory-row b{white-space:normal;text-align:right;}
.party-mode__hero h1{font-size:clamp(34px,8vw,56px);}}
@media(max-width:370px){.card{padding:16px;}
.hero h1{font-size:52px;}
.section-nav a{padding:8px 11px;}
.hud__wanted{min-width:90px;}
.hud__wanted span{font-size:18px;}
}
@media(max-height:500px) and (orientation:landscape){.hero--intro{padding:24px;min-height:100%;}
.hero--intro h1{font-size:52px;margin-top:20px;}
.hero__lead{margin-top:12px;}

}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important;}
*,*::before,*::after{scroll-behavior:auto!important;}}
/* Responsive navigation and full-width briefing content */
.wasted-card{max-width:calc(100vw - 32px)}
.wasted-label{font-size:clamp(54px,18vw,130px)}
.wasted-sub{font-size:clamp(10px,3vw,16px)}

/* v18 — component polish: one disclosure language, stable HUD and responsive views. */

/* RSVP progressive decision */
.rsvp-decision{margin-top:20px;padding-top:18px;border-top:1px solid var(--border);}
.account-recover-card{width:100%;margin-top:14px;padding:13px 14px;border:1px solid var(--border);border-radius:14px;background:#faf7f4;color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,transform .16s ease;}
.account-recover-card:hover{border-color:#d7b6ca;background:#fff9fc;transform:translateY(-1px);}
.account-recover-card>span{display:grid;gap:2px;min-width:0;}
.account-recover-card b{font-size:12px;letter-spacing:.02em;}
.account-recover-card small{color:var(--muted);font-size:11px;line-height:1.35;}
.account-recover-card strong{flex:none;color:#7b305c;font-size:10px;letter-spacing:.05em;white-space:nowrap;}
.attendance--decision{margin:0;}
.radio-card--button{width:100%;min-height:88px;padding:0;border:1px solid var(--border);border-radius:14px;background:#fff;color:var(--ink);text-align:left;transition:transform .16s ease,border-color .16s ease,background-color .16s ease,box-shadow .16s ease;}
.radio-card--button span{display:block;padding:17px;}
.radio-card--button b,.radio-card--button small{display:block;}
.radio-card--button b{font-size:13px;}
.radio-card--button small{margin-top:5px;color:var(--muted);line-height:1.4;}
.radio-card--button:hover{transform:translateY(-2px);border-color:#dd88b3;background:var(--pink-soft);box-shadow:0 9px 22px rgba(40,24,35,.06);}
.radio-card--decline:hover{border-color:#d9b8bc;background:#fff7f7;}
.rsvp-form-actions{display:grid;gap:10px;margin-top:18px;}
.rsvp-form-actions .text-button{justify-self:center;}
.rsvp-unconfirm{color:#9b3b49;}

/* First-time PIN setup: suitcase-safe rollers. */
.pin-setup{grid-column:1/-1;margin-top:4px;padding:16px;border:1px solid #ded3da;border-radius:16px;background:linear-gradient(145deg,#fffdfa,#f7f1f4);}
.pin-setup__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px;}
.pin-setup__head>div{display:grid;gap:3px;min-width:0;}
.pin-setup__head b{font-size:18px;}
.pin-setup__head small{color:var(--muted);line-height:1.45;}
.pin-setup__safe-icon{flex:0 0 auto;width:42px;height:42px;border-radius:12px;background:#ece4e8;display:grid;place-items:center;font-size:21px;}
.combination-lock{position:relative;width:min(100%,390px);margin:2px auto 0;padding-top:20px;}
.combination-lock__shackle{position:absolute;z-index:0;left:50%;top:0;width:94px;height:48px;border:10px solid #37323b;border-bottom:0;border-radius:48px 48px 0 0;transform:translateX(-50%);opacity:.92;transition:transform .22s ease;}
.combination-lock__body{position:relative;z-index:1;padding:13px 14px 12px;border:1px solid #39343d;border-radius:16px;background:linear-gradient(180deg,#37323b,#211e25);box-shadow:inset 0 1px rgba(255,255,255,.12),0 9px 20px rgba(32,25,31,.13);}
.combination-lock__wheels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.combination-wheel{display:grid;grid-template-rows:34px 94px 34px;gap:4px;min-width:0;}
.combination-wheel__step{border:0;background:transparent;color:rgba(255,255,255,.54);font-size:18px;font-weight:950;line-height:1;border-radius:8px;padding:0;transition:color .12s ease,background .12s ease;}
.combination-wheel__step:hover,.combination-wheel__step:focus-visible{color:#fff;background:rgba(255,255,255,.08);}
.combination-wheel__roller{position:relative;overflow:hidden;display:grid;grid-template-rows:1fr 1.28fr 1fr;align-items:center;text-align:center;border:1px solid rgba(255,255,255,.16);border-radius:11px;background:linear-gradient(90deg,#ddd3c8 0%,#fffaf1 18%,#eee5da 50%,#fffaf1 82%,#d8cec4 100%);color:#28242b;box-shadow:inset 0 5px 12px rgba(32,25,31,.16),inset 0 -5px 12px rgba(32,25,31,.12);touch-action:none;user-select:none;-webkit-user-select:none;cursor:ns-resize;}
.combination-wheel__roller::before,.combination-wheel__roller::after{content:"";position:absolute;z-index:2;top:50%;width:9px;height:3px;background:#28242b;opacity:.5;transform:translateY(-50%);transition:transform .1s ease,opacity .1s ease;}
.combination-wheel__roller::before{left:0;border-radius:0 3px 3px 0;}
.combination-wheel__roller::after{right:0;border-radius:3px 0 0 3px;}
.combination-wheel__roller strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:30px;line-height:1;font-weight:1000;letter-spacing:-.06em;}
.combination-wheel__ghost{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:15px;font-weight:850;opacity:.34;}
.combination-wheel__roller.is-dragging{border-color:rgba(83,215,208,.75);}
.combination-wheel__roller.is-ticking{animation:pinMechanicalTick .14s cubic-bezier(.2,.8,.25,1);}
.combination-wheel__roller.is-ticking::before{transform:translate(2px,-50%);opacity:.82;}
.combination-wheel__roller.is-ticking::after{transform:translate(-2px,-50%);opacity:.82;}
.combination-lock.is-complete .combination-lock__body{border-color:rgba(119,223,156,.75);box-shadow:inset 0 1px rgba(255,255,255,.12),0 0 0 2px rgba(119,223,156,.14),0 9px 20px rgba(32,25,31,.13);}
.combination-lock.is-locking .combination-lock__shackle{animation:pinShackleLock .48s cubic-bezier(.2,.8,.25,1);}
.combination-lock.is-locking .combination-wheel__roller{animation:pinFinalClick .24s cubic-bezier(.2,.8,.25,1);}
.combination-lock.is-locking .combination-wheel:nth-child(2) .combination-wheel__roller{animation-delay:.045s;}
.combination-lock.is-locking .combination-wheel:nth-child(3) .combination-wheel__roller{animation-delay:.09s;}
.combination-lock.is-locking .combination-wheel:nth-child(4) .combination-wheel__roller{animation-delay:.135s;}
.pin-setup__status{min-height:20px;margin-top:10px;text-align:center;color:var(--muted);font-size:10px;font-weight:950;letter-spacing:.11em;}
.pin-setup__status.is-complete{color:#32734b;}
@keyframes pinMechanicalTick{0%{transform:none}42%{transform:translateY(-2px) scale(.985)}100%{transform:none}}
@keyframes pinFinalClick{0%,100%{transform:none}45%{transform:translateY(-2px) scale(.98)}}
@keyframes pinShackleLock{0%{transform:translateX(-50%)}45%{transform:translateX(-50%) translateY(5px)}72%{transform:translateX(-50%) translateY(2px)}100%{transform:translateX(-50%)}}

/* Character maintenance lives in one place: the HUD editor. */
.character-account{padding:14px;border:1px solid var(--border);border-radius:13px;background:#faf7f4;margin-bottom:15px;}
.character-account__title{display:grid;gap:2px;margin-bottom:12px;}
.character-account__title>b{font-size:12px;letter-spacing:.08em;}
.character-account__title>small{color:var(--muted);line-height:1.4;}
.character-account__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.character-pin-change{grid-column:1/-1;}
.character-pin-change small{display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.35;}
.rsvp-declined{margin-top:22px;padding-top:22px;border-top:1px solid var(--border);display:grid;grid-template-columns:54px minmax(0,1fr);gap:16px;align-items:start;animation:rise .35s ease;}
.rsvp-declined__icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#f2eeea;color:#7f7377;font-size:22px;font-weight:1000;}
.rsvp-declined h3{font-size:25px;margin:5px 0;}
.rsvp-declined p{margin:5px 0 14px;color:var(--muted);line-height:1.5;}

/* Resumed missions never expose an empty start-button row. */

/* HUD: left side may shrink while the wanted level stays readable on narrow phones. */
.hud{align-items:center;overflow:visible;}
.hud__menu-toggle{flex:0 0 auto;min-width:0;max-width:min(260px,48vw);overflow:visible;}
.hud__wanted-zone{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:5px;flex:0 0 auto;min-width:0;z-index:3;}
.hud__wanted-zone .hud__wanted{min-width:0;gap:0;}
.police-overlay{overflow:hidden;padding:max(18px,env(safe-area-inset-top)) 16px max(18px,env(safe-area-inset-bottom));}
.police-overlay.show{pointer-events:auto;}
.wasted-card{max-width:100vw;box-sizing:border-box;padding:max(30px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(30px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));}

/* Confirmed RSVP includes the character file without becoming another page section. */
.rsvp-confirmed{display:block;grid-template-columns:none;gap:0;}
.rsvp-confirmed__summary{display:grid;grid-template-columns:54px minmax(0,1fr);gap:16px;align-items:start;}
.rsvp-confirmed__main{min-width:0;}

@keyframes sectionPanelIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}

.character-editor--compact{margin-top:12px;padding:18px;border:1px solid #e1d2da;border-top:3px solid var(--pink);border-radius:15px;background:#fffdfa;box-shadow:0 10px 26px rgba(40,24,35,.055);animation:sectionPanelIn .2s cubic-bezier(.2,.75,.25,1) both;}
.character-editor--compact .character-editor__head{padding-bottom:14px;border-bottom:1px solid var(--border);margin-bottom:15px;}


/* Important location information is intentionally always visible. */
.parking-note--always{margin-top:16px;padding:15px 16px;border:1px solid var(--border);border-radius:13px;background:#faf7f4;}
.parking-note--always>b{display:block;margin-bottom:4px;font-size:12px;}
.parking-note--always p{margin:0;color:var(--muted);font-size:13px;line-height:1.55;}
.location-status{margin-top:12px;}

/* Invitación y EL GOLPE comparten el mismo ancho de contenido para evitar saltos laterales. */
.party-mode{width:100%;min-height:100svh;padding:14px 0 36px;background:transparent;color:var(--ink);}
.party-mode__shell{width:min(calc(100% - 32px),1060px);margin:0 auto;display:grid;gap:18px;}
.party-character-editor-host{min-width:0;}
.party-mode__hero{min-height:240px;}
body[data-experience-mode="party"]{min-height:100%;}

@media(max-width:900px){
  }
@media(max-width:760px){
  .hud{gap:6px;padding:9px 9px;}
  .hud__menu-toggle{gap:5px;padding-right:0;}
  .hud__wanted-zone{gap:3px;}
  .hud__wanted-zone .hud__wanted span{font-size:18px;}
  .rsvp-confirmed__summary{grid-template-columns:44px minmax(0,1fr);gap:12px;}
          .party-mode__shell{width:calc(100% - 24px);}
}
@media(max-width:600px){
  .pin-setup{padding:14px 10px;}
  .pin-setup__safe-icon{width:38px;height:38px;}
  .combination-lock{width:min(100%,320px);}
  .combination-lock__body{padding:11px 10px 10px;}
  .combination-lock__wheels{gap:6px;}
  .combination-wheel{grid-template-rows:34px 90px 34px;}
  .combination-wheel__roller strong{font-size:27px;}
  .character-account__grid{grid-template-columns:1fr;}
  .character-pin-change{grid-column:auto;}
  .character-editor--compact{padding:14px;}
}
@media(max-width:390px){
  .hud__wanted-zone .hud__wanted span{font-size:16px;}
}
@media(prefers-reduced-motion:reduce){
  .character-editor--compact,.combination-wheel__roller.is-ticking,.combination-lock.is-locking .combination-lock__shackle,.combination-lock.is-locking .combination-wheel__roller{animation:none;}
  .combination-lock__shackle{transition:none;}
}

/* V21 · Operation 30 is the single progression surface for the invitation. */
.hud__player-empty{display:grid;gap:10px;margin:0;color:rgba(255,255,255,.68);font-size:10px;line-height:1.45;}
.hud__player-empty p{display:grid;gap:2px;margin:0;}
.hud__player-empty p b{color:#fff;font-size:11px;letter-spacing:.02em;}
.hud__player-empty p span{color:rgba(255,255,255,.55);}
.hud__player-action--recover{margin-top:1px;}
.hud__player-actions[hidden],.hud__player-empty[hidden]{display:none;}

.operation-card{padding:0;overflow:hidden;}
.operation-card__header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:clamp(20px,3vw,30px);background:linear-gradient(145deg,#fffdfa,#fff7fb);}
.operation-card__header h2{margin:5px 0 4px;}
.operation-card__header p{margin:0;color:var(--muted);font-size:13px;}
.operation-stages{border-top:1px solid var(--border);}
.operation-stage{border-bottom:1px solid var(--border);background:#fff;}
.operation-stage:last-child{border-bottom:0;}
.operation-stage__toggle{width:100%;min-height:68px;border:0;background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px clamp(16px,2.5vw,26px);text-align:left;cursor:pointer;transition:background-color .16s ease;}
.operation-stage__toggle:hover:not(:disabled){background:#fff8fc;}
.operation-stage__toggle:disabled{cursor:not-allowed;opacity:.58;}
.operation-stage__identity{display:flex;align-items:center;gap:12px;min-width:0;}
.operation-stage__identity>span:last-child{display:grid;gap:2px;min-width:0;}
.operation-stage__identity small{font-size:8px;font-weight:950;letter-spacing:.15em;color:var(--muted);}
.operation-stage__identity strong{font-size:15px;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.operation-stage__marker{width:34px;height:34px;flex:0 0 34px;border:1px solid var(--border);border-radius:50%;display:grid;place-items:center;background:#f5f1ee;font-size:10px;font-weight:1000;}
.operation-stage__status{display:flex;align-items:center;gap:10px;flex:0 0 auto;color:var(--muted);font-size:8px;font-weight:1000;letter-spacing:.1em;}
.operation-stage__status i{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s ease;}
.operation-stage.is-open .operation-stage__status i{transform:rotate(225deg);}
.operation-stage.is-active .operation-stage__marker{border-color:rgba(236,92,166,.45);background:var(--pink-soft);color:var(--pink);box-shadow:0 0 0 4px rgba(236,92,166,.06);}
.operation-stage.is-active .operation-stage__status{color:var(--pink);}
.operation-stage.is-completed .operation-stage__marker{border-color:#bfe2cb;background:#eefaf2;color:#2e8b57;font-size:17px;}
.operation-stage.is-completed .operation-stage__status{color:#2e8b57;}
.operation-stage.is-rejected .operation-stage__marker{background:#f3efed;color:#7d7377;}
.operation-stage.is-rejected .operation-stage__status{color:#8a686f;}
.operation-stage.is-locked .operation-stage__status::before{content:"🔒";font-size:10px;letter-spacing:0;}
.operation-stage.is-locked .operation-stage__status i{display:none;}
.operation-stage__panel{padding:0 clamp(18px,3vw,30px) clamp(22px,3vw,30px);background:linear-gradient(180deg,#fff,#fffdfa);animation:operationPanelIn .2s ease both;}
.operation-stage__intro{padding-top:4px;margin-bottom:14px;}
.operation-stage__intro h3{margin-top:5px;font-size:clamp(20px,3vw,27px);}
.operation-stage__footer{display:flex;justify-content:flex-end;margin-top:18px;padding-top:18px;border-top:1px solid var(--border);}
.operation-stage__panel .briefing-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px;}
.operation-stage__panel .brief-row{height:100%;margin:0;padding:14px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(145deg,#fffdfa,#faf6f2);}
.operation-stage__panel .brief-row:last-child{border:1px solid var(--border);}
.operation-stage__content>.kicker:first-child{margin-top:4px;}
#operationStage2Panel .rsvp{padding-top:4px;}
#operationStage3Panel .card{box-shadow:none;border-radius:16px;}
#operationStage3Panel .hack,#operationStage3Panel .safehouse{padding:clamp(18px,2.5vw,24px);}
#operationStage4Panel .party-prep{margin-top:14px;}
.operation-next{margin:20px clamp(18px,3vw,30px) clamp(18px,3vw,30px);padding:18px;border-radius:17px;}
.operation-next[hidden]{display:none;}
.invite-character-editor-host:empty{display:none;}
.invite-character-editor-host .character-editor--compact{margin:0;}
@keyframes operationPanelIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

@media(max-width:900px){
  .operation-stage__panel .briefing-items{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:600px){
  .operation-card__header{align-items:flex-start;padding:18px 16px;}
  .operation-card__header p{font-size:12px;}
  .operation-stage__toggle{min-height:64px;padding:11px 14px;gap:8px;}
  .operation-stage__identity{gap:9px;}
  .operation-stage__identity strong{font-size:13px;}
  .operation-stage__marker{width:30px;height:30px;flex-basis:30px;}
  .operation-stage__status{gap:6px;font-size:7px;letter-spacing:.07em;}
  .operation-stage__panel{padding:0 15px 20px;}
  .operation-stage__panel .briefing-items{grid-template-columns:1fr;gap:9px;margin-top:9px;}
  .operation-stage__panel .brief-row{
    min-width:0;
    border:1px solid var(--border);
    border-radius:13px;
    background:linear-gradient(145deg,#fffdfa,#faf6f2);
    padding:12px;
  }
  .operation-stage__panel .brief-row:last-child{border:1px solid var(--border);}
  .operation-stage__panel .brief-row>span{width:36px;height:36px;border-radius:10px;}
  .operation-stage__panel .brief-row small{font-size:11px;line-height:1.38;}
  .operation-stage__footer .btn{width:100%;}
  .operation-next{margin:14px;padding:15px;}
}
@media(max-width:420px){
  .operation-card__header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;}
  .operation-card__header h2{font-size:25px;}
  .operation-card__header p{grid-column:1/-1;}
  .operation-stage__status>span{max-width:78px;text-align:right;line-height:1.15;}
}

/* V21.6 · event clock + chapter transition */
.party-preview__countdown small{display:block;font-size:9px;font-weight:1000;letter-spacing:.14em;opacity:.64;}
.party-preview__countdown{margin-top:11px;padding-top:10px;border-top:1px solid rgba(255,255,255,.12);}
.party-preview__countdown strong{display:block;margin-top:4px;font-size:15px;letter-spacing:.04em;color:#fff;}
.party-preview__lock:disabled{cursor:default;opacity:.62;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:rgba(255,255,255,.72);}
.party-preview.is-live .party-preview__countdown{display:none;}
.heist-transition{position:fixed;inset:0;z-index:1002;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 42%,rgba(236,92,166,.2),transparent 34%),#17151d;color:#fff;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility .18s ease;}
.heist-transition.show{opacity:1;visibility:visible;pointer-events:auto;}
.heist-transition__panel{width:min(100%,620px);text-align:center;}
.heist-transition__panel .kicker{color:rgba(255,255,255,.58);}
.heist-transition__panel p{margin:16px 0 4px;color:rgba(255,255,255,.7);font-size:11px;font-weight:950;letter-spacing:.14em;}
.heist-transition__panel h2{margin:8px 0 0;font-size:clamp(50px,10vw,104px);line-height:.86;letter-spacing:-.045em;}
.heist-transition__panel>strong{display:block;margin-top:12px;color:var(--pink);font-size:14px;letter-spacing:.24em;}
.heist-transition__bar{height:3px;margin:27px auto 0;width:min(100%,360px);overflow:hidden;border-radius:99px;background:rgba(255,255,255,.15);}
.heist-transition__bar i{display:block;width:0;height:100%;background:#fff;}
.heist-transition.show .heist-transition__bar i{animation:heistTransitionBar 1.45s linear forwards;}
@keyframes heistTransitionBar{to{width:100%}}
@media(max-width:760px){.party-preview__countdown strong{font-size:13px}.heist-transition__panel h2{font-size:clamp(52px,20vw,82px)}}
@media(prefers-reduced-motion:reduce){.heist-transition.show .heist-transition__bar i{animation:none;width:100%;}}

/* V21.8 · narrativa, recuperación global de personaje y ayuda NPC progresiva. */
.dev-heist-shortcut{
  position:fixed;left:14px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:299;
  min-height:36px;padding:7px 11px;border:1px dashed rgba(255,212,93,.55);
  border-radius:999px;background:rgba(23,21,29,.94);color:#ffe58f;
  box-shadow:0 8px 24px rgba(0,0,0,.16);backdrop-filter:blur(10px);
  font-size:9px;font-weight:1000;letter-spacing:.08em;cursor:pointer;
}
.dev-heist-shortcut:hover{background:rgba(42,36,49,.97);}
@media(max-width:600px){
  .dev-heist-shortcut{left:9px;bottom:calc(9px + env(safe-area-inset-bottom));min-height:34px;padding:6px 9px;font-size:8px;}
}
@media(prefers-reduced-motion:reduce){.dev-heist-shortcut{transition:none;}}

@media (max-width:620px){
  .account-recover-card{align-items:flex-start;flex-direction:column;gap:8px;}
  .account-recover-card strong{white-space:normal;}
}

/* V21.9 · Social layer stays compact: operation first, crew second. */
.hud__player-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:9px 0 0;border-top:1px solid rgba(255,255,255,.09);}
.hud__player-metrics[hidden]{display:none;}
.hud__player-metrics>span{min-width:0;padding:8px 9px;border:1px solid rgba(255,255,255,.08);border-radius:9px;background:rgba(255,255,255,.045);display:grid;gap:2px;}
.hud__player-metrics small{color:rgba(255,255,255,.46);font-size:8px;font-weight:950;letter-spacing:.11em;}
.hud__player-metrics strong{color:#fff;font-size:13px;letter-spacing:.02em;}

.street-cash.is-claiming{cursor:wait;filter:drop-shadow(0 8px 7px rgba(0,0,0,.24)) saturate(.8);}

.hud__player-metrics>span[hidden]{display:none;}


/* V21.13 · La Banda: transversal social layer + mobile sheet navigation. */
.operation-card__header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;}
.operation-social{grid-column:1/-1;appearance:none;width:max-content;max-width:100%;border:1px solid #e4dcd6;border-radius:999px;background:#faf6f2;color:var(--ink);display:flex;align-items:center;gap:9px;padding:7px 10px 7px 8px;text-align:left;font:inherit;cursor:pointer;transition:background .14s ease,border-color .14s ease,transform .14s ease;}
.operation-social:hover:not(:disabled){background:#fff;border-color:#dccfc8;transform:translateY(-1px);}
.operation-social:focus-visible{outline:3px solid rgba(236,92,166,.2);outline-offset:2px;}
.operation-social:disabled{cursor:default;}
.operation-social__people{display:flex;align-items:center;min-width:48px;}
.operation-social .crew-access__avatar,.operation-social .crew-access__more{width:24px;height:24px;margin-left:-7px;border-width:2px;border-color:#faf6f2;font-size:12px;}
.operation-social .crew-access__avatar:first-child{margin-left:0;}
.operation-social .crew-access__more{font-size:6px;}
.operation-social__copy{display:grid;gap:1px;min-width:0;}
.operation-social__copy strong{font-size:9px;letter-spacing:.045em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.operation-social__copy small{font-size:6px;font-weight:1000;letter-spacing:.09em;color:var(--muted);}
.operation-social__state{flex:0 0 auto;color:#766a70;font-size:11px;font-weight:1000;}


.crew-access{position:relative;margin-top:14px;border:1px solid #e3dad4;border-radius:17px;background:linear-gradient(145deg,#fffdfa,#f7f1ed);box-shadow:0 9px 26px rgba(31,19,30,.05);overflow:hidden;}
.crew-access__button{appearance:none;width:100%;min-height:88px;border:0;background:transparent;color:var(--ink);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:15px 17px;text-align:left;font:inherit;cursor:pointer;transition:background .14s ease,transform .14s ease,box-shadow .14s ease;}
.crew-access__button:hover:not(:disabled){background:rgba(255,255,255,.55);}
.crew-access__button:focus-visible{outline:3px solid rgba(236,92,166,.22);outline-offset:-3px;}
.crew-access__button:disabled{cursor:default;}
.crew-access__people{display:flex;align-items:center;min-width:76px;padding-left:2px;}
.crew-access__avatar{width:36px;height:36px;margin-left:-9px;border:2px solid #fffdfa;border-radius:50%;background:#17151d;color:#fff;display:grid;place-items:center;font-size:19px;box-shadow:0 4px 10px rgba(31,19,30,.13);}
.crew-access__avatar:first-child{margin-left:0;}
.crew-access__more{width:36px;height:36px;margin-left:-9px;border:2px solid #fffdfa;border-radius:50%;background:#eee6e1;color:#6c6269;display:grid;place-items:center;font-size:8px;font-weight:1000;letter-spacing:-.02em;}
.crew-access__copy{display:grid;gap:2px;min-width:0;}
.crew-access__copy>small{font-size:8px;font-weight:1000;letter-spacing:.15em;color:var(--muted);}
.crew-access__copy>strong{font-size:21px;line-height:1.05;letter-spacing:-.025em;}
.crew-access__copy>span{margin-top:3px;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.055em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.crew-access__state{flex:0 0 auto;width:38px;height:38px;border:1px solid #ddd2cc;border-radius:50%;background:rgba(255,255,255,.72);display:grid;place-items:center;color:var(--ink);font-weight:1000;}
.crew-access__arrow{font-size:19px;line-height:1;transition:transform .14s ease;}
.crew-access__button:hover:not(:disabled) .crew-access__arrow{transform:translateX(2px);}
.crew-lock{font-size:12px;}
.crew-lock[hidden],.crew-access__arrow[hidden]{display:none;}
.crew-access.is-live{border-color:#cfdedb;background:linear-gradient(145deg,#fffdfa,#eef7f5);}
.crew-access.is-live .crew-access__copy>small{color:#218c87;}
.crew-access.is-waiting{box-shadow:0 10px 28px rgba(31,19,30,.065);}

body.app-surface-open{position:fixed;left:0;right:0;width:100%;overflow:hidden;overscroll-behavior:none;}
/* Shared modal/sheet shell. La Banda e Identificación differ only in content. */
.app-surface-dialog{
  --app-surface-max-width:1080px;
  width:min(calc(100vw - 48px),var(--app-surface-max-width));
  max-width:none;
  max-height:none;
  border:0;
  border-radius:0;
  padding:0;
  background:transparent;
  color:var(--ink);
  overflow:visible;
  overscroll-behavior:none;
}
.app-surface-dialog::backdrop{background:rgba(18,14,20,.67);backdrop-filter:blur(5px);}
.app-surface{
  max-height:min(88vh,820px);
  max-height:min(88dvh,820px);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.28);
  border-radius:22px;
  background:#f7f3ef;
  box-shadow:0 30px 90px rgba(20,13,18,.35);
  display:flex;
  flex-direction:column;
  overscroll-behavior:none;
  transform:translate3d(0,0,0);
}
.app-surface.is-dragging{transition:none!important;}
.app-surface__drag-zone{flex:0 0 auto;}
.app-surface__grabber{display:none;}
.app-surface__header{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 22px 16px;border-bottom:1px solid #e2d9d3;background:linear-gradient(145deg,#f2ebe6,#fbf8f5);}
.app-surface__header h2{margin:2px 0 3px;font-size:29px;letter-spacing:-.035em;}
.app-surface__header p{margin:0;color:var(--muted);font-size:11px;}
.app-surface__close{position:absolute;right:16px;top:16px;}
.crew-browser-dialog{--app-surface-max-width:1080px;}
.identity-dialog{--app-surface-max-width:760px;}
.crew-browser__overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px 22px;border-bottom:1px solid #e2d9d3;background:#eee8e3;}
.crew-browser__overview>div{min-width:0;display:grid;gap:2px;padding:8px 10px;border-left:1px solid #dcd2cb;}
.crew-browser__overview>div:first-child{border-left:0;padding-left:0;}
.crew-browser__overview>div[hidden]{display:none;}
.crew-browser__overview small{font-size:7px;font-weight:1000;letter-spacing:.12em;color:var(--muted);}
.crew-browser__overview strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.crew-browser__status{margin:0 22px;}
.crew-browser__status:empty{display:none;}
.crew-browser>#retryCrew{align-self:flex-start;margin:8px 22px 0;}
.crew-browser__layout{position:relative;min-height:0;flex:1;display:grid;grid-template-columns:minmax(0,1fr);transition:grid-template-columns .18s ease;overflow:hidden;}
.crew-browser__layout.has-profile{grid-template-columns:minmax(0,1.45fr) minmax(310px,.75fr);}
.crew-browser__main{min-width:0;min-height:0;overflow:auto;padding:18px 22px 22px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
.crew-member-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-content:start;}
.crew-browser__layout.has-profile .crew-member-list{grid-template-columns:repeat(2,minmax(0,1fr));}
.crew-empty{grid-column:1/-1;margin:12px 0;color:var(--muted);font-size:12px;}

.crew-member-card{appearance:none;min-width:0;border:1px solid #e3dad4;border-radius:16px;background:#fff;color:var(--ink);padding:14px;text-align:left;font:inherit;cursor:pointer;display:grid;grid-template-rows:auto auto auto 1fr;gap:11px;transition:border-color .14s ease,background .14s ease,transform .14s ease,box-shadow .14s ease;}
.crew-member-card:hover{border-color:#ddbcae;background:#fffdfb;transform:translateY(-2px);box-shadow:0 10px 24px rgba(31,19,30,.07);}
.crew-member-card:focus-visible{outline:3px solid rgba(236,92,166,.22);outline-offset:2px;}
.crew-member-card__head{display:grid;grid-template-columns:54px minmax(0,1fr);gap:11px;align-items:center;min-width:0;}
.crew-member-card__avatar{width:54px;height:54px;border-radius:15px;background:#17151d;color:#fff;display:grid;place-items:center;font-size:29px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);}
.crew-member-card__identity{display:grid;gap:5px;min-width:0;}
.crew-member-card__name{display:flex;align-items:center;gap:7px;min-width:0;}
.crew-member-card__name b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.crew-member-card__name em{flex:0 0 auto;border-radius:999px;padding:3px 5px;background:#f3efed;color:var(--muted);font-size:6px;font-style:normal;font-weight:1000;letter-spacing:.1em;}
.crew-member-card__progress{display:flex;align-items:center;gap:6px;min-width:0;color:var(--muted);}
.crew-member-card__progress>i{flex:0 0 auto;color:#bdb2b8;font-size:9px;font-style:normal;letter-spacing:1px;}
.crew-member-card__progress.is-prepared>i{color:var(--pink);}
.crew-member-card__progress small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7px;font-weight:1000;letter-spacing:.07em;}
.crew-member-card__bio{min-height:34px;color:var(--muted);font-size:10px;line-height:1.45;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;}
.crew-member-card__specialties{display:flex;gap:6px;flex-wrap:wrap;align-content:flex-start;}
.crew-member-card__specialties[hidden]{display:none;}
.crew-member-card__specialties>span{max-width:100%;border:1px solid #e5ddd8;border-radius:999px;background:#faf7f4;padding:5px 7px;color:#615860;font-size:7px;font-weight:950;letter-spacing:.035em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.crew-member-card__foot{align-self:end;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:2px;}
.crew-respect-badge{display:inline-flex;align-items:center;gap:7px;min-width:0;padding:5px 8px 5px 6px;border:1px solid #ead8b6;border-radius:999px;background:#fbf3e4;color:#755722;}
.crew-respect-badge__mark,.respect-mark{display:inline-grid;place-items:center;color:#a47b2e;font-size:13px;line-height:1;}
.crew-respect-badge__copy{display:flex;align-items:baseline;gap:4px;min-width:0;}
.crew-respect-badge__copy small{font-size:6px;font-weight:1000;letter-spacing:.1em;color:#8b6c32;}
.crew-respect-badge__copy strong{font-size:13px;line-height:1;}
.crew-member-card__arrow{width:29px;height:29px;border-radius:50%;background:#f3eeea;display:grid;place-items:center;color:#80747b;font-size:15px;font-weight:1000;}

.crew-profile-panel{min-width:0;min-height:0;overflow:auto;border-left:1px solid #e2d9d3;background:#f1ebe6;padding:18px 20px 22px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
.crew-profile-panel[hidden]{display:none;}
.crew-profile-panel__back{appearance:none;border:0;background:transparent;color:var(--muted);padding:0 0 13px;font:inherit;font-size:8px;font-weight:1000;letter-spacing:.09em;cursor:pointer;display:flex;align-items:center;gap:6px;}
.crew-profile-panel__back:hover{color:var(--ink);}
.crew-profile-sheet__hero{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:center;}
.crew-profile-sheet__avatar{width:64px;height:64px;border-radius:17px;background:#17151d;color:#fff;display:grid;place-items:center;font-size:34px;}
.crew-profile-sheet__hero h2{margin:2px 0 3px;font-size:24px;}
.crew-profile-sheet__progress{margin:0;color:var(--muted);font-size:8px;font-weight:1000;letter-spacing:.075em;}
.crew-profile-sheet__progress.is-prepared{color:var(--pink);}
.crew-profile-sheet__bio{margin:16px 0 0;padding:12px 13px;border:1px solid #e2d9d3;border-radius:12px;background:#fff;color:var(--muted);font-size:11px;line-height:1.5;}
.crew-profile-sheet__metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;}
.crew-profile-sheet__metrics>div{min-width:0;padding:10px;border:1px solid #e2d9d3;border-radius:11px;background:#fff;display:grid;gap:2px;}
.crew-profile-sheet__metrics>div[hidden]{display:none;}
.crew-profile-sheet__metrics small{font-size:7px;font-weight:1000;letter-spacing:.1em;color:var(--muted);}
.crew-profile-sheet__metrics strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.crew-profile-sheet__section-title{margin-bottom:10px;font-size:8px;font-weight:1000;letter-spacing:.13em;color:var(--muted);}
.crew-profile-sheet__empty{grid-column:1/-1;margin:0;color:var(--muted);font-size:11px;}
.hud-respect-metric strong{display:flex;align-items:center;gap:4px;}



@media(max-width:720px){
  .operation-social{width:100%;border-radius:12px;justify-content:flex-start;padding:7px 9px;}
  .operation-social__copy{flex:1;}
  .operation-social__copy strong{font-size:8px;}
  .operation-card__header{grid-template-columns:minmax(0,1fr) auto;}

  .crew-access{margin-top:11px;border-radius:14px;}
  .crew-access__button{min-height:76px;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding:11px 12px;}
  .crew-access__people{min-width:58px;}
  .crew-access__avatar,.crew-access__more{width:30px;height:30px;margin-left:-8px;border-width:2px;font-size:15px;}
  .crew-access__more{font-size:7px;}
  .crew-access__copy>strong{font-size:17px;}
  .crew-access__copy>span{font-size:7px;letter-spacing:.045em;}
  .crew-access__state{width:32px;height:32px;}

  .crew-browser__overview{flex:0 0 auto;padding:9px 16px;gap:0;}
  .crew-browser__overview>div{padding:6px 9px;}
  .crew-browser__overview strong{font-size:13px;}
  .crew-browser__status{flex:0 0 auto;margin-inline:16px;}
  .crew-browser>#retryCrew{flex:0 0 auto;margin-left:16px;}
  .crew-browser__layout,.crew-browser__layout.has-profile{display:block;position:relative;min-height:0;flex:1;overflow:hidden;}
  .crew-browser__main{position:absolute;inset:0;overflow:auto;padding:12px 12px max(20px,env(safe-area-inset-bottom));overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;}
  .crew-member-list,.crew-browser__layout.has-profile .crew-member-list{display:grid;grid-template-columns:1fr;gap:7px;}
  .crew-member-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto;padding:9px 10px;gap:8px;border-radius:13px;}
  .crew-member-card__head{grid-column:1;grid-row:1;grid-template-columns:38px minmax(0,1fr);gap:9px;}
  .crew-member-card__avatar{width:38px;height:38px;border-radius:10px;font-size:21px;}
  .crew-member-card__bio,.crew-member-card__specialties{display:none;}
  .crew-member-card__foot{grid-column:2;grid-row:1;align-self:center;padding:0;gap:7px;}
  .crew-respect-badge{padding:4px 6px 4px 5px;gap:4px;}
  .crew-respect-badge__mark{font-size:11px;}
  .crew-respect-badge__copy small{display:none;}
  .crew-respect-badge__copy strong{font-size:11px;}
  .crew-member-card__arrow{width:25px;height:25px;font-size:13px;}
  .crew-member-card__progress small{font-size:7px;}

  .crew-profile-panel{display:block;position:absolute;inset:0;z-index:3;border-left:0;background:#f7f3ef;padding:12px 16px max(22px,env(safe-area-inset-bottom));overflow:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;transform:translate3d(100%,0,0);transition:transform .2s cubic-bezier(.2,.76,.25,1);will-change:transform;touch-action:pan-y;}
  .crew-profile-panel[hidden]{display:none;}
  .crew-browser__layout.has-profile .crew-profile-panel{transform:translate3d(0,0,0);}
  .crew-profile-panel.is-swiping{transition:none;}
  .crew-profile-panel__back{position:sticky;top:-12px;z-index:4;width:100%;padding:11px 0 12px;background:linear-gradient(#f7f3ef 80%,rgba(247,243,239,0));}
  .crew-profile-sheet__metrics{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:380px){
  .operation-social__copy strong{max-width:170px;}
  .crew-access__copy>span{max-width:170px;}
  .crew-browser__overview small{font-size:6px;}
  .crew-browser__overview strong{font-size:12px;}
  .crew-member-card__progress small{max-width:135px;}
}
@media(prefers-reduced-motion:reduce){
  .operation-social,.crew-access__button,.crew-access__arrow,.crew-member-card,.app-surface,.crew-browser__layout,.crew-profile-panel{transition:none;}
}

/* V21.14 · La Banda integrada + fotos opcionales de personaje */
/* La invitación solo usa el acceso social integrado en Operación 30. */
#inviteCrewHost[hidden]{display:none!important;}

/* Avatares: ficha clara, sin disco negro. Las fotos llenan el marco y el emoji queda como fallback. */
.crew-card__avatar,
.crew-member-card__avatar,
.crew-profile-sheet__avatar{
  overflow:hidden;
  border:1px solid #d8cec8;
  background:linear-gradient(145deg,#fffdfa,#eee7e2);
  color:#332c32;
  box-shadow:none;
}
.crew-card--selectable.crew-card--selected .crew-card__avatar{background:linear-gradient(145deg,#fffdfa,#eee7e2);color:#332c32;border-color:#d4c0c9;}
.crew-card__avatar.has-photo,
.crew-member-card__avatar.has-photo,
.crew-profile-sheet__avatar.has-photo{background:#eee7e2;}
.crew-card__avatar img,
.crew-member-card__avatar img,
.crew-profile-sheet__avatar img,
.crew-access__avatar img,
.hud__player-avatar img,
.hud__player-menu-avatar img{
  width:100%;height:100%;display:block;object-fit:cover;
}
.crew-member-card__avatar{border-radius:13px;}
.crew-profile-sheet__avatar{border-radius:16px;}

/* Los stacks sociales siguen compactos, pero ya pertenecen a la paleta clara de Operación 30. */
.crew-access__avatar,
.operation-social .crew-access__avatar{
  overflow:hidden;
  background:#f0e9e4;
  color:#40373e;
  border-color:#fffaf6;
  box-shadow:0 3px 8px rgba(31,19,30,.09);
}
.crew-access__more,
.operation-social .crew-access__more{background:#e9e0da;color:#665b62;border-color:#fffaf6;}
.operation-social{background:#fbf7f3;border-color:#dfd5cf;}
.operation-social:hover:not(:disabled){background:#fffdfa;}

/* HUD: la identidad compacta puede usar foto circular sin introducir un fondo negro. */
.hud__player-avatar{overflow:hidden;border-radius:50%;background:rgba(255,255,255,.10);}
.hud__player-menu-avatar{overflow:hidden;background:rgba(255,255,255,.07);}
.hud__player-avatar.has-photo,.hud__player-menu-avatar.has-photo{background:rgba(255,255,255,.06);}

/* Editor: foto opcional y avatar emoji como respaldo. */
.character-photo-card{
  display:grid;grid-template-columns:88px minmax(0,1fr);gap:14px;align-items:center;
  margin-bottom:15px;padding:12px;border:1px solid #e1d7d1;border-radius:14px;background:#faf6f2;
}
.character-photo-card__preview{
  width:88px;aspect-ratio:1;border:1px solid #d5cac4;border-radius:16px;overflow:hidden;
  background:linear-gradient(145deg,#fffdfa,#ece4df);display:grid;place-items:center;color:#3b3339;font-size:39px;
}
.character-photo-card__preview img{width:100%;height:100%;object-fit:cover;display:block;}
.character-photo-card__preview img[hidden],.character-photo-card__preview span[hidden]{display:none;}
.character-photo-card__content{min-width:0;display:grid;gap:9px;}
.character-photo-card__content>div:first-child{display:grid;gap:3px;}
.character-photo-card__content b{font-size:10px;letter-spacing:.08em;}
.character-photo-card__content small{color:var(--muted);font-size:9px;line-height:1.35;}
.character-photo-card__actions{display:flex;align-items:center;gap:11px;flex-wrap:wrap;}
.character-photo-card__actions .btn{min-height:34px;padding:7px 11px;font-size:8px;}
.character-photo-card__actions .text-button{font-size:8px;color:var(--muted);}

.photo-crop-dialog{width:min(92vw,620px);max-width:620px;border:0;padding:0;background:transparent;color:var(--ink);}
.photo-crop-dialog::backdrop{background:rgba(18,14,20,.72);backdrop-filter:blur(5px);}
.photo-crop{padding:18px;border:1px solid rgba(255,255,255,.25);border-radius:20px;background:#f7f3ef;box-shadow:0 28px 80px rgba(20,13,18,.38);}
.photo-crop__head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px;}
.photo-crop__head h2{margin:3px 0 4px;font-size:25px;}
.photo-crop__head p{margin:0;color:var(--muted);font-size:10px;}
.photo-crop__viewport{
  position:relative;width:min(100%,390px);aspect-ratio:1;margin:0 auto;overflow:hidden;
  border:1px solid #cabeb7;border-radius:17px;background:#dcd4cf;touch-action:none;cursor:grab;user-select:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);
}
.photo-crop__viewport::after{content:"";position:absolute;inset:0;pointer-events:none;border:2px solid rgba(255,255,255,.86);border-radius:16px;box-shadow:inset 0 0 0 999px rgba(18,14,20,.08);}
.photo-crop__viewport img{position:absolute;left:50%;top:50%;max-width:none;max-height:none;user-select:none;pointer-events:none;will-change:transform,width,height;}
.photo-crop__zoom{width:min(100%,390px);margin:13px auto 0;display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:center;}
.photo-crop__zoom span{font-size:8px;font-weight:1000;letter-spacing:.12em;color:var(--muted);}
.photo-crop__zoom input{width:100%;accent-color:var(--pink);}
.photo-crop__actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:15px;}
.photo-crop__actions>div{display:flex;gap:8px;}
.photo-crop__actions .btn{min-height:37px;padding:8px 12px;font-size:8px;}
.photo-crop__actions .text-button{font-size:8px;color:var(--muted);}
.photo-crop .form-message{margin:9px 0 0;text-align:center;}

@media(max-width:720px){
  .character-photo-card{grid-template-columns:72px minmax(0,1fr);padding:10px;gap:11px;}
  .character-photo-card__preview{width:72px;border-radius:13px;font-size:32px;}
  .photo-crop-dialog{width:100%;max-width:none;margin:0;inset:auto 0 0 0;}
  .photo-crop{border-radius:20px 20px 0 0;padding:15px 14px max(16px,env(safe-area-inset-bottom));}
  .photo-crop__viewport{width:min(100%,360px);}
  .photo-crop__actions{align-items:stretch;flex-direction:column-reverse;}
  .photo-crop__actions>div{display:grid;grid-template-columns:1fr 1fr;}
  .photo-crop__actions .btn{width:100%;}
}

@media(prefers-reduced-motion:reduce){
  .photo-crop__viewport img{will-change:auto;}
}

/* V21.15 · Expediente de personaje + especialidades + píldora social refinada */


.operation-social{
  background:linear-gradient(145deg,#2b2730,#211e25);
  border-color:#3d3742;
  color:#f7f3ef;
  box-shadow:0 7px 18px rgba(23,18,26,.13);
}
.operation-social:hover:not(:disabled){background:linear-gradient(145deg,#342f39,#27232b);border-color:#4a434f;}
.operation-social__copy small{color:rgba(255,255,255,.58);}
.operation-social__state{color:rgba(255,255,255,.68);}
.operation-social .crew-access__avatar{border-color:#2b2730;box-shadow:0 2px 7px rgba(0,0,0,.22);}
.operation-social .crew-access__more{background:#423b46;color:#f7f3ef;border-color:#2b2730;}

.character-file-dialog{width:min(94vw,900px);max-width:900px;max-height:88vh;border:0;padding:0;background:transparent;color:var(--ink);overflow:visible;}
.character-file-dialog::backdrop{background:rgba(18,14,20,.68);backdrop-filter:blur(5px);}
.character-file{max-height:88vh;overflow:auto;border:1px solid rgba(255,255,255,.24);border-radius:22px;background:#f7f3ef;box-shadow:0 30px 90px rgba(20,13,18,.35);padding:22px;overscroll-behavior:contain;}
.character-file__drag{display:none;}
.character-file__head{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:17px;border-bottom:1px solid #e1d8d2;}
.character-file__head h2{margin:3px 0 4px;font-size:29px;letter-spacing:-.035em;}
.character-file__head p{margin:0;color:var(--muted);font-size:11px;}

.character-file__close{
  width:30px;height:30px;min-width:30px;min-height:30px;flex:0 0 30px;
  border-color:rgba(86,73,82,.16);border-radius:9px;background:rgba(255,255,255,.42);
  color:#847981;font-size:18px;opacity:.72;box-shadow:none;
  transition:opacity .15s ease,background .15s ease,border-color .15s ease,color .15s ease;
}
.character-file__close:hover{opacity:1;background:#fff;border-color:#d8cdd3;color:#4e454b;}
.character-file__close:focus-visible{outline:2px solid rgba(210,105,160,.38);outline-offset:2px;opacity:1;}
.character-file__identity{display:grid;grid-template-columns:86px minmax(0,1fr);gap:16px;align-items:center;padding:18px 0;}
.character-file__portrait{appearance:none;width:86px;height:86px;border:1px solid #d8cec8;border-radius:20px;background:linear-gradient(145deg,#fffdfa,#eee7e2);padding:0;overflow:hidden;color:#332c32;display:grid;place-items:center;font:inherit;cursor:default;}
.character-file__portrait.has-photo{cursor:zoom-in;}
.character-file__portrait:not(.has-photo){pointer-events:none;}
.character-file__portrait span{width:100%;height:100%;display:grid;place-items:center;font-size:40px;overflow:hidden;}
.character-file__portrait img{width:100%;height:100%;object-fit:cover;display:block;}
.character-file__identity small{font-size:8px;font-weight:1000;letter-spacing:.11em;color:var(--muted);}
.character-file__identity h3{margin:3px 0 4px;font-size:25px;}
.character-file__identity p{margin:0;max-width:650px;color:var(--muted);font-size:11px;line-height:1.45;}
.character-file__blocks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;}
.character-file-block{min-width:0;border:1px solid #e1d8d2;border-radius:15px;background:#fff;padding:14px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;}
.character-file-block.is-editing{grid-column:1/-1;border-color:#d9b9ca;background:#fffdfb;box-shadow:0 10px 25px rgba(31,19,30,.055);}
.character-file-block>header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;}
.character-file-block>header small{display:block;color:var(--pink);font-size:7px;font-weight:1000;letter-spacing:.14em;}
.character-file-block>header h4{margin:3px 0 0;font-size:14px;}
.character-file-block__edit{appearance:none;width:32px;height:32px;flex:0 0 32px;border:1px solid #e1d8d2;border-radius:9px;background:#f7f3ef;color:#5c5259;font-size:16px;display:grid;place-items:center;cursor:pointer;}
.character-file-block__edit:hover{border-color:#d7a7bf;background:var(--pink-soft);color:#a13f72;}
.character-file-block__summary{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;}
.character-summary-chip{max-width:100%;padding:6px 8px;border:1px solid #e5ddd8;border-radius:999px;background:#faf7f4;color:#51484e;font-size:8px;font-weight:950;letter-spacing:.035em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.character-summary-chip.is-muted{color:#8d8288;background:#fbf9f7;}
.character-summary-chip.is-ability{white-space:normal;line-height:1.3;border-color:#ead8b6;background:#fbf3e4;color:#755722;}
.character-file-block__editor{margin-top:15px;padding-top:15px;border-top:1px solid #ebe3de;}
.character-file-block__editor[hidden]{display:none;}
.character-edit-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:11px;}
.character-edit-grid__wide{grid-column:1/-1;}
.character-file label,.character-file fieldset{min-width:0;}
.character-file label>span,.character-file fieldset legend,.custom-avatar-input>span,.special-ability-field>span{display:block;margin-bottom:6px;font-size:8px;font-weight:1000;letter-spacing:.1em;color:#6a5f66;}
.character-file input{width:100%;}
.character-block-actions{display:flex;align-items:center;gap:12px;margin-top:15px;}
.character-block-actions .btn{min-height:38px;padding:8px 13px;font-size:8px;}
.character-block-actions .text-button{font-size:8px;color:var(--muted);}
.character-field-help{margin:-2px 0 9px;color:var(--muted);font-size:9px;}
.avatar-picker{margin:0;padding:0;border:0;}
.avatar-options{display:flex;flex-wrap:wrap;gap:7px;}
.avatar-option{width:42px;height:42px;padding:0;}
.picker-more{appearance:none;margin-top:9px;border:0;background:transparent;color:#7d6874;padding:3px 0;font:inherit;font-size:8px;font-weight:1000;letter-spacing:.08em;text-decoration:underline;text-underline-offset:3px;cursor:pointer;}
.custom-avatar-input{display:block;margin-top:12px;max-width:320px;}
.custom-avatar-input input{font-size:15px;}
.specialty-picker{margin-top:18px;padding-top:16px;border-top:1px solid #ebe3de;}
.specialty-picker__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;}
.specialty-picker__head b,.specialty-picker__head small{display:block;}
.specialty-picker__head b{font-size:9px;letter-spacing:.08em;}
.specialty-picker__head small{margin-top:3px;color:var(--muted);font-size:9px;}
.specialty-picker__head strong{font-size:9px;color:var(--pink);}
.specialty-chip-grid{display:flex;flex-wrap:wrap;gap:7px;}
.specialty-chip{appearance:none;border:1px solid #e2dad5;border-radius:999px;background:#faf7f4;color:#5f555c;padding:7px 9px;font:inherit;font-size:8px;font-weight:950;letter-spacing:.035em;cursor:pointer;transition:background .14s ease,border-color .14s ease,transform .14s ease;}
.specialty-chip:hover{transform:translateY(-1px);}
.specialty-chip.is-selected{border-color:#d992b7;background:var(--pink-soft);color:#9b356a;box-shadow:0 0 0 2px rgba(236,92,166,.1);}
.special-ability-field{display:block;margin-top:18px;}
.special-ability-field small{display:block;margin-top:5px;color:var(--muted);font-size:9px;}
.character-file__message{margin:14px 0 0;min-height:16px;}

.crew-profile-sheet__traits{margin-top:16px;padding-top:14px;border-top:1px solid #ddd3cd;}
.crew-profile-specialties{display:flex;flex-wrap:wrap;gap:6px;}
.crew-profile-specialties .character-summary-chip{background:#fff;}
.crew-profile-ability{display:grid;gap:5px;margin-top:11px;padding:11px 12px;border:1px solid #ead8b6;border-radius:11px;background:#fbf3e4;color:#755722;}
.crew-profile-ability small{font-size:7px;font-weight:1000;letter-spacing:.11em;color:#8b6c32;}
.crew-profile-ability strong{font-size:11px;line-height:1.4;}
.crew-profile-sheet__avatar.is-clickable{cursor:zoom-in;box-shadow:0 0 0 3px rgba(255,255,255,.8);}

.photo-viewer-dialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;padding:0;background:transparent;color:#fff;overflow:hidden;}
.photo-viewer-dialog::backdrop{background:rgba(8,7,10,.9);backdrop-filter:blur(7px);}
.photo-viewer{width:100%;height:100%;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));box-sizing:border-box;}
.photo-viewer img{display:block;max-width:92vw;max-height:86dvh;border-radius:18px;object-fit:contain;box-shadow:0 30px 90px rgba(0,0,0,.5);}

@media(max-width:720px){
  .operation-card__header{grid-template-columns:minmax(0,1fr) auto;}
  .operation-social{grid-column:1/-1;width:100%;margin-top:2px;border-radius:12px;}
  .operation-social .crew-access__avatar{border-color:#2b2730;}

  .character-file-dialog{width:100%;max-width:none;max-height:none;margin:0;inset:auto 0 0 0;overflow:hidden;}
  .character-file{height:min(92vh,92dvh);max-height:min(92vh,92dvh);border-radius:21px 21px 0 0;border-bottom:0;padding:0 14px max(18px,env(safe-area-inset-bottom));box-shadow:0 -20px 70px rgba(20,13,18,.35);}
  .character-file__drag{display:block;position:sticky;top:0;z-index:6;height:20px;margin:0 -14px;background:#f7f3ef;}
  .character-file__drag::after{content:"";position:absolute;left:50%;top:8px;width:42px;height:4px;transform:translateX(-50%);border-radius:999px;background:#cfc4be;}
  .character-file__head{position:sticky;top:20px;z-index:5;margin:0 -14px;padding:5px 14px 12px;background:linear-gradient(#f7f3ef 86%,rgba(247,243,239,.94));}
  .character-file__head h2{font-size:24px;}
  .character-file__head p{font-size:10px;}
  .character-file__close{display:none;}
  .character-file__identity{grid-template-columns:72px minmax(0,1fr);gap:12px;padding:15px 0;}
  .character-file__portrait{width:72px;height:72px;border-radius:16px;}
  .character-file__portrait span{font-size:34px;}
  .character-file__identity h3{font-size:22px;}
  .character-file__blocks{grid-template-columns:1fr;gap:8px;}
  .character-file-block.is-editing{grid-column:auto;}
  .character-file-block{padding:12px;}
  .character-edit-grid{grid-template-columns:1fr;}
  .character-edit-grid__wide{grid-column:auto;}
  .character-block-actions{display:grid;grid-template-columns:1fr auto;}
  .character-block-actions .btn{width:100%;}
  .avatar-option{width:40px;height:40px;}
  .photo-viewer-dialog{width:100vw;height:100dvh;max-width:none;max-height:none;}
  .photo-viewer{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));}
  .photo-viewer img{max-width:calc(100vw - 24px);max-height:88dvh;border-radius:15px;}
}

@media(prefers-reduced-motion:reduce){
  .character-file-block,.specialty-chip{transition:none;}
}
.crew-member-card__avatar.is-clickable{cursor:zoom-in;}

/* V21.16 · Operación 30: La Banda agrupada con Progreso + visor de foto gestual */
.operation-social{
  min-height:52px;
  border-radius:14px;
  gap:11px;
  padding:8px 11px 8px 9px;
}
.operation-social__people{min-width:58px;}
.operation-social .crew-access__avatar,.operation-social .crew-access__more{
  width:28px;
  height:28px;
  margin-left:-8px;
  font-size:14px;
}
.operation-social .crew-access__avatar:first-child{margin-left:0;}
.operation-social .crew-access__more{font-size:7px;}
.operation-social__copy{gap:3px;}
.operation-social__copy strong{
  font-size:11px;
  line-height:1.05;
  letter-spacing:.075em;
}
.operation-social__copy small{
  font-size:8px;
  line-height:1.2;
  letter-spacing:.055em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.operation-social__state{font-size:15px;line-height:1;}







.photo-viewer img{
  touch-action:none;
  user-select:none;
  -webkit-user-select:none;
  -webkit-user-drag:none;
  will-change:transform,opacity;
}

@media(max-width:720px){
  .operation-social{min-height:54px;padding:9px 11px;}
  .operation-social__copy strong{font-size:10px;}
  .operation-social__copy small{font-size:7.5px;}
}

@media(prefers-reduced-motion:reduce){
  .photo-viewer img{transition:none!important;}
}

/* V21.17 · Expediente táctil: tarjetas editables + cierre gestual + avatar simplificado */
.character-file-block:not(.is-editing){cursor:pointer;}
.character-file-block:not(.is-editing)>header::after{
  content:"EDITAR";
  flex:0 0 auto;
  align-self:flex-start;
  padding-top:2px;
  color:#a65a82;
  font-size:7px;
  font-weight:1000;
  letter-spacing:.11em;
}
@media(hover:hover) and (pointer:fine){
  .character-file-block:not(.is-editing):hover{
    border-color:#d7a7bf;
    background:#fffdfb;
    box-shadow:0 8px 20px rgba(31,19,30,.05);
  }
}
.character-file-block:not(.is-editing):focus-visible{
  outline:2px solid rgba(236,92,166,.38);
  outline-offset:2px;
}

@media(max-width:720px){
  .character-file__head{padding-right:14px;}
  .character-file.is-dragging{transition:none!important;will-change:transform,opacity;}
  .character-file__drag{touch-action:none;user-select:none;}
  .character-file-block:not(.is-editing)>header::after{font-size:6.5px;}
}

@media(prefers-reduced-motion:reduce){
  .character-file{transition:none!important;}
}

/* V21.18 · Visor de foto limpio: sin bandas, textos ni controles visuales */


/* V21.19 · En móvil La Banda se cierra por gesto; se elimina la X redundante. */

/* V21.21 · Sheets móviles unificadas + imagen de personaje coherente */
.character-photo-card__preview{
  appearance:none;
  -webkit-appearance:none;
  padding:0;
  font:inherit;
  color:inherit;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.character-photo-card__preview.has-photo{cursor:zoom-in;}
.character-avatar-fallback{
  margin:10px 0 14px;
  padding:11px 12px;
  border:1px solid #e3dad4;
  border-radius:13px;
  background:#faf7f4;
}
.character-avatar-fallback[hidden]{display:none;}
.character-avatar-fallback__head{margin-bottom:9px;}
.character-avatar-fallback__head b{display:block;font-size:8px;letter-spacing:.09em;}
.character-avatar-fallback__head small{display:block;margin-top:3px;color:var(--muted);font-size:8.5px;line-height:1.35;}
.specialty-picker--first{margin-top:0;padding-top:0;border-top:0;}

@media(max-width:720px){
  .app-surface,.character-file{touch-action:pan-y;}
  .character-file.is-dragging{will-change:transform;}
  .character-file-block{
    -webkit-tap-highlight-color:transparent;
    -webkit-touch-callout:none;
  }
  /* Los móviles pueden dejar :hover/:focus emulado tras un toque. En reposo no debe aparecer ningún aura. */
  .character-file-block:not(.is-editing):hover,
  .character-file-block:not(.is-editing):active,
  .character-file-block:not(.is-editing):focus,
  .character-file-block:not(.is-editing):focus-visible{
    border-color:#e1d8d2;
    background:#fff;
    box-shadow:none;
    transform:none;
    outline:none;
  }
  .character-avatar-fallback{margin-top:8px;padding:10px;}
}
.character-photo-card__preview{position:relative;}
.character-file__portrait:not(.has-photo){pointer-events:auto;cursor:pointer;}


/* V21.43 · Canal único de avisos temporales en el HUD. */
.hud{min-height:58px;}
.hud__wanted-zone,.hud__menu{
  transition:transform .34s cubic-bezier(.22,.78,.22,1),opacity .2s ease;
  will-change:transform,opacity;
}
.hud__announcement{
  position:absolute;
  inset:0 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  pointer-events:none;
  opacity:0;
  transform:translate3d(0,135%,0);
  transition:transform .34s cubic-bezier(.22,.78,.22,1),opacity .2s ease;
  will-change:transform,opacity;
  text-align:center;
}
.hud__announcement-copy{
  min-width:0;
  max-width:100%;
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:8px;
}
.hud__announcement strong,.hud__announcement small{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.hud__announcement strong{color:#fff;font-size:10px;font-weight:1000;letter-spacing:.105em;}
.hud__announcement small{color:rgba(255,255,255,.58);font-size:8px;font-weight:900;letter-spacing:.075em;}
.hud--rolling{overflow:hidden!important;}
.hud--rolling .hud__wanted-zone,.hud--rolling .hud__menu{pointer-events:none;}
.hud--announcement-visible .hud__wanted-zone,.hud--announcement-visible .hud__menu{
  opacity:0;
  transform:translate3d(0,-135%,0);
}
.hud--announcement-visible .hud__announcement{opacity:1;transform:translate3d(0,0,0);}
.hud[data-announcement-tone="success"] .hud__announcement strong{color:#a1efce;}
.hud[data-announcement-tone="cash"] .hud__announcement strong{color:#ffe08a;}
.hud[data-announcement-tone="danger"] .hud__announcement strong{color:#ff9ea5;}
@media(max-width:620px){
  .hud{min-height:60px;}
  .hud__announcement{inset:0 10px;}
  .hud__announcement-copy{display:grid;gap:2px;align-content:center;}
  .hud__announcement strong{font-size:10px;letter-spacing:.085em;}
  .hud__announcement small{font-size:8px;letter-spacing:.06em;}
}
@media(prefers-reduced-motion:reduce){
  .hud__wanted-zone,.hud__menu,.hud__announcement{transition:none;}
}

/* V21.22 · HUD de personaje integrado + resumen narrativo */
.hud{
  align-items:center;
}
.hud__wanted-zone{
  order:1;
  justify-content:flex-start;
}
.hud__menu{
  order:2;
  margin-left:auto;
}
.hud__menu-toggle{
  min-height:38px;
  max-width:none;
  padding:3px 2px 3px 10px;
  gap:8px;
  border-radius:10px;
  background:transparent;
  color:#fff;
  transition:background-color .16s ease,transform .16s ease;
}
.hud__menu-toggle:hover{
  background:rgba(255,255,255,.055);
}
.hud__menu-toggle:active{
  transform:scale(.985);
}
.hud__menu-label{
  max-width:150px;
  color:rgba(255,255,255,.78);
  font-size:10px;
  font-weight:950;
  letter-spacing:.055em;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.hud__player-avatar{
  width:30px;
  height:30px;
  flex:0 0 30px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:50%;
  background:rgba(255,255,255,.08);
  font-size:18px;
  box-shadow:0 3px 10px rgba(0,0,0,.18);
}
.hud__profile-chevron{
  width:13px;
  color:rgba(255,255,255,.38);
  font-size:12px;
  line-height:1;
  transform:translateY(-1px);
  transition:transform .22s ease,color .16s ease;
}
.hud__menu.is-open .hud__profile-chevron{
  color:rgba(255,255,255,.8);
  transform:translateY(1px) rotate(180deg);
}
.hud__menu-panel{
  left:auto;
  right:0;
  top:calc(100% + 9px);
  width:min(350px,calc(100vw - 28px));
  padding:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.24);
  border-radius:19px;
  background:#f7f3ef;
  color:var(--ink);
  box-shadow:0 24px 65px rgba(20,13,18,.30);
  backdrop-filter:none;
  transform:translateY(-7px) scale(.987);
  transform-origin:top right;
}
.hud__menu-panel .kicker{color:var(--pink);}
.hud__profile-grabber{display:none;}
.hud__player-menu{
  gap:0;
}
.hud__profile-kicker{
  padding:15px 17px 8px;
  color:var(--pink);
  font-size:7px;
  font-weight:1000;
  letter-spacing:.145em;
}
.hud__player-head{
  align-items:center;
  gap:13px;
  padding:0 17px 15px;
  border-bottom:1px solid #dfd6d0;
}
.hud__player-menu-avatar{
  width:58px;
  height:58px;
  flex:0 0 58px;
  border:1px solid #d9cec8;
  border-radius:17px;
  background:linear-gradient(145deg,#fffdfa,#eae2dd);
  color:#302a30;
  font-size:31px;
  box-shadow:0 7px 18px rgba(31,19,30,.075);
}
.hud__player-identity{
  min-width:0;
  display:grid;
  gap:2px;
}
.hud__player-head h2{
  margin:0!important;
  color:var(--ink);
  font-size:22px!important;
  line-height:1.05;
  letter-spacing:-.035em!important;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.hud__player-head small{
  color:var(--muted);
  font-size:8px;
  font-weight:950;
  letter-spacing:.095em;
}
#hudPlayerMenuStatus{
  margin-top:4px;
  color:#7c6f76;
  font-size:7px;
  font-weight:1000;
  letter-spacing:.095em;
}
.hud__player-metrics{
  display:block;
  padding:11px 17px 0;
  border:0;
}
.hud__player-metrics>span{
  min-height:42px;
  padding:9px 11px;
  border:1px solid #ead8b6;
  border-radius:11px;
  background:#fbf3e4;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.hud__player-metrics small{
  color:#8b6c32;
  font-size:7px;
  font-weight:1000;
  letter-spacing:.13em;
}
.hud__player-metrics strong{
  color:#755722;
  font-size:15px;
}
.hud__player-actions{
  gap:9px;
  padding:11px 17px 16px;
}
.hud__profile-file{
  appearance:none;
  width:100%;
  min-height:64px;
  padding:11px 12px;
  border:1px solid #e0d5cf;
  border-radius:13px;
  background:#fff;
  color:var(--ink);
  display:grid;
  grid-template-columns:minmax(0,1fr) 31px;
  align-items:center;
  gap:10px;
  text-align:left;
  font:inherit;
  cursor:pointer;
  box-shadow:0 5px 14px rgba(31,19,30,.035);
  transition:border-color .15s ease,background-color .15s ease,transform .15s ease,box-shadow .15s ease;
}
.hud__profile-file:hover{
  border-color:#d7a7bf;
  background:#fffdfb;
  transform:translateY(-1px);
  box-shadow:0 9px 20px rgba(31,19,30,.06);
}
.hud__profile-file>span:first-child{
  min-width:0;
  display:grid;
  gap:3px;
}
.hud__profile-file b{
  font-size:10px;
  font-weight:1000;
  letter-spacing:.07em;
}
.hud__profile-file small{
  color:var(--muted);
  font-size:9px;
  font-weight:700;
  letter-spacing:0;
  line-height:1.3;
}
.hud__profile-file>span:last-child{
  width:31px;
  height:31px;
  border-radius:50%;
  background:#f2ece8;
  display:grid;
  place-items:center;
  color:#6c6067;
  font-size:16px;
  font-weight:1000;
}
.hud__character-switch{
  appearance:none;
  width:100%;
  border:0;
  padding:8px 4px 1px;
  background:transparent;
  color:#6d6268;
  display:grid;
  gap:2px;
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.hud__character-switch>span{
  color:#4d444a;
  font-size:8px;
  font-weight:1000;
  letter-spacing:.105em;
}
.hud__character-switch small{
  color:#95898f;
  font-size:8px;
  font-weight:700;
  letter-spacing:0;
}
.hud__character-switch:hover>span{color:var(--pink);}
.hud__heist-exit{
  appearance:none;
  width:100%;
  margin-top:3px;
  padding:10px 4px 1px;
  border:0;
  border-top:1px solid #e8dfda;
  background:transparent;
  color:#786d73;
  display:grid;
  gap:2px;
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.hud__heist-exit[hidden]{display:none!important;}
.hud__heist-exit>span{color:#5d5358;font-size:8px;font-weight:1000;letter-spacing:.105em;}
.hud__heist-exit small{color:#9a8f94;font-size:8px;font-weight:700;letter-spacing:0;}
.hud__heist-exit:hover>span{color:var(--pink);}
.hud__player-empty{
  margin:0;
  padding:4px 17px 16px;
  color:var(--muted);
}
.hud__player-empty p b{color:var(--ink);}
.hud__player-empty p span{color:var(--muted);}
.hud__player-action--recover{
  color:var(--ink);
  border-color:#e0d5cf;
  background:#fff;
}
.hud__player-action--recover:hover{
  border-color:#d7a7bf;
  background:#fffdfb;
}
.hud__player-action--recover>span:first-child{background:#f2ece8;}
.hud__player-action--recover small{color:var(--muted);}

@media(max-width:760px){
  .hud{padding:8px 9px;background:rgba(23,21,29,.97);backdrop-filter:none;-webkit-backdrop-filter:none;}
  .hud__wanted-zone{flex:1 1 auto;}
  .hud__menu{margin-left:4px;}
  .hud__menu-toggle{
    min-width:44px;
    min-height:42px;
    padding:4px;
    justify-content:flex-end;
    gap:0;
    border-radius:11px;
  }
  .hud__menu-label,.hud__profile-chevron{display:none;}
  .hud__player-avatar{
    width:32px;
    height:32px;
    flex-basis:32px;
    font-size:19px;
  }
  .hud__menu-panel{
    position:fixed;
    z-index:80;
    left:10px;
    right:10px;
    top:auto;
    bottom:max(10px,env(safe-area-inset-bottom));
    width:auto;
    max-height:min(72dvh,570px);
    overflow:auto;
    border-radius:21px;
    transform:translate3d(0,24px,0);
    transform-origin:center bottom;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y;
  }
  .hud__menu.is-open .hud__menu-panel{transform:translate3d(0,0,0);}
  .hud__menu-panel.is-dragging{transition:none!important;will-change:transform;}
  .hud__profile-grabber{
    display:block;
    position:sticky;
    top:0;
    z-index:3;
    height:22px;
    background:#f7f3ef;
  }
  .hud__profile-grabber::after{
    content:"";
    position:absolute;
    left:50%;
    top:8px;
    width:42px;
    height:4px;
    transform:translateX(-50%);
    border-radius:999px;
    background:#cfc4be;
  }
  .hud__profile-kicker{padding-top:6px;}
  .hud__profile-file:hover{transform:none;}
}

@media(max-width:390px){
  .hud__wanted-zone .hud__wanted span{font-size:18px;}
}

@media(prefers-reduced-motion:reduce){
  .hud__menu-panel,.hud__profile-file,.hud__profile-chevron{transition:none!important;}
}

/* V21.23 · Perfil como dropdown real del HUD, con estado vacío inequívoco */
.hud__profile-chevron,
.hud__profile-grabber{display:none!important;}

.hud__menu-toggle{
  min-height:38px;
  max-width:min(230px,46vw);
  padding:3px 2px 3px 9px;
  gap:7px;
  border-radius:9px;
  background:transparent;
}
.hud__menu-toggle:hover,
.hud__menu.is-open .hud__menu-toggle{
  background:rgba(255,255,255,.055);
}
.hud__menu-label{
  display:block!important;
  max-width:145px;
  color:rgba(255,255,255,.78);
  font-size:10px;
  font-weight:950;
  letter-spacing:.055em;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.hud__player-avatar{
  width:30px;
  height:30px;
  flex:0 0 30px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:50%;
  background:rgba(255,255,255,.08);
  font-size:18px;
  box-shadow:0 3px 10px rgba(0,0,0,.18);
}
.hud__player-avatar.is-empty{
  border-style:dashed;
  border-color:rgba(255,255,255,.30);
  background:rgba(255,255,255,.035);
  color:rgba(255,255,255,.68);
  font-size:15px;
  font-weight:1000;
}
.hud__menu.is-empty .hud__menu-label{
  color:#f1cf72;
  letter-spacing:.07em;
}

/* El panel nace del perfil del HUD en todos los tamaños. */
.hud__menu-panel{
  position:absolute;
  left:auto;
  right:0;
  top:calc(100% + 6px);
  bottom:auto;
  width:min(350px,calc(100vw - 18px));
  max-height:min(72vh,570px);
  overflow:auto;
  border-radius:16px;
  transform:translateY(-7px) scale(.987);
  transform-origin:top right;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.hud__menu.is-open .hud__menu-panel{
  transform:none;
}
.hud__profile-kicker{
  padding-top:15px;
}
.hud__menu.is-empty .hud__profile-kicker{
  color:#9a752c;
}

@media(max-width:760px){
  .hud{
    padding:8px 9px;
    background:rgba(23,21,29,.97);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .hud__wanted-zone{flex:1 1 auto;}
  .hud__menu{margin-left:5px;}
  .hud__menu-toggle{
    min-width:0;
    min-height:42px;
    max-width:min(172px,50vw);
    padding:4px 2px 4px 7px;
    justify-content:flex-end;
    gap:6px;
    border-radius:10px;
  }
  .hud__menu-label{
    display:block!important;
    max-width:105px;
    font-size:9px;
    letter-spacing:.045em;
  }
  .hud__menu.is-empty .hud__menu-label{
    font-size:8.5px;
    letter-spacing:.055em;
  }
  .hud__player-avatar{
    width:32px;
    height:32px;
    flex-basis:32px;
    font-size:19px;
  }
  .hud__player-avatar.is-empty{font-size:15px;}
  .hud__menu-panel{
    position:absolute;
    z-index:80;
    left:auto;
    right:0;
    top:calc(100% + 5px);
    bottom:auto;
    width:min(340px,calc(100vw - 18px));
    max-height:min(72dvh,570px);
    overflow:auto;
    border-radius:16px;
    transform:translateY(-7px) scale(.987);
    transform-origin:top right;
    touch-action:pan-y;
  }
  .hud__menu.is-open .hud__menu-panel{transform:none;}
  .hud__profile-kicker{padding-top:15px;}
  .hud__profile-file:hover{transform:none;}
}

@media(max-width:390px){
  .hud__menu-toggle{max-width:min(150px,48vw);gap:5px;padding-left:5px;}
  .hud__menu-label{max-width:88px;font-size:8.5px;}
  .hud__menu.is-empty .hud__menu-label{font-size:8px;}
  .hud__player-avatar{width:30px;height:30px;flex-basis:30px;}
}

@media(prefers-reduced-motion:reduce){
  .hud__menu-panel,.hud__profile-file{transition:none!important;}
}

/* V21.24 · Avatar HUD cohesionado con La Banda */
.hud__player-avatar,
.hud__player-menu-avatar{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  line-height:1;
  text-align:center;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;
  overflow:hidden;
  background:linear-gradient(145deg,#fffdfa,#eee7e2);
  color:#332c32;
  border:1px solid #d8cec8;
  box-shadow:none;
}
.hud__player-avatar{
  border-radius:50%;
}
.hud__player-menu-avatar{
  border-radius:13px;
}
.hud__player-avatar.has-photo,
.hud__player-menu-avatar.has-photo{
  background:#eee7e2;
}
.hud__player-avatar.is-empty{
  border-style:dashed;
  border-color:rgba(255,255,255,.30);
  background:rgba(255,255,255,.035);
  color:rgba(255,255,255,.68);
  font-family:inherit;
  box-shadow:none;
}

/* V21.25 · El día del Golpe: La Banda pasa de tarjeta inferior a píldora social en la navegación superior. */
.section-nav__crew{min-width:0;display:flex;align-items:stretch;}
.party-mode .section-nav{align-items:stretch;}
.party-mode .section-nav__crew .crew-access{
  width:100%;
  min-width:0;
  margin:0;
  border:0;
  border-radius:999px;
  overflow:visible;
  background:transparent;
  box-shadow:none;
}
.party-mode .section-nav__crew .crew-access__button{
  width:100%;
  min-height:44px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:6px 11px 6px 8px;
  border:1px solid #3d3742;
  border-radius:999px;
  background:linear-gradient(145deg,#2b2730,#211e25);
  color:#f7f3ef;
  box-shadow:0 7px 18px rgba(23,18,26,.13);
}
.party-mode .section-nav__crew .crew-access__button:hover:not(:disabled){
  background:linear-gradient(145deg,#342f39,#27232b);
  border-color:#4a434f;
}
.party-mode .section-nav__crew .crew-access__people{
  flex:0 0 auto;
  min-width:52px;
  padding:0;
}
.party-mode .section-nav__crew .crew-access__avatar,
.party-mode .section-nav__crew .crew-access__more{
  width:27px;
  height:27px;
  margin-left:-8px;
  border-width:2px;
  border-color:#2b2730;
  font-size:13px;
  box-shadow:0 2px 7px rgba(0,0,0,.22);
}
.party-mode .section-nav__crew .crew-access__avatar:first-child{margin-left:0;}
.party-mode .section-nav__crew .crew-access__more{
  background:#423b46;
  color:#f7f3ef;
  font-size:7px;
}
.party-mode .section-nav__crew .crew-access__copy{
  flex:1 1 auto;
  min-width:0;
  display:grid;
  gap:2px;
}
.party-mode .section-nav__crew .crew-access__copy>small{display:none;}
.party-mode .section-nav__crew .crew-access__copy>strong{
  color:#fff;
  font-size:10px;
  line-height:1.05;
  font-weight:1000;
  letter-spacing:.075em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.party-mode .section-nav__crew .crew-access__copy>span{
  margin:0;
  color:rgba(255,255,255,.62);
  font-size:7px;
  line-height:1.15;
  font-weight:950;
  letter-spacing:.055em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.party-mode .section-nav__crew .crew-access__state{
  flex:0 0 auto;
  width:auto;
  height:auto;
  border:0;
  border-radius:0;
  background:transparent;
  color:#f7f3ef;
  font-size:13px;
}
.party-mode .section-nav__crew .crew-access__arrow{font-size:15px;}

@media(min-width:621px){
  .party-mode .section-nav{
    display:grid;
    grid-template-columns:max-content minmax(190px,280px);
    gap:8px;
    justify-content:start;
  }
}

@media(max-width:620px){
  .party-mode .section-nav{
    display:grid;
    grid-template-columns:minmax(90px,.75fr) minmax(0,1.25fr);
    gap:8px;
  }
  .party-mode .section-nav>a{width:100%;padding-inline:10px;}
  .party-mode .section-nav__crew{grid-column:auto;}
  .party-mode .section-nav__crew .crew-access__button{
    min-height:48px;
    border-radius:13px;
    padding:7px 10px 7px 8px;
  }
  .party-mode .section-nav__crew .crew-access__copy>strong{font-size:11px;}
  .party-mode .section-nav__crew .crew-access__copy>span{font-size:8px;}
}

/* V21.26 · Identificación de personaje reutilizable */
.identity-selector{
  --identity-avatar-bg:linear-gradient(145deg,#fffdfa,#eee7e2);
  position:relative;
}
.identity-roster{display:grid;gap:12px;}
.identity-roster>.form-message:empty{display:none;}
.identity-roster__new{margin-top:3px;padding-top:12px;border-top:1px solid #e7ddd8;}
.identity-roster__new[hidden]{display:none!important;}
.identity-create-new{width:100%;min-height:56px;padding:9px 11px;border:1px dashed #d9c6cf;border-radius:14px;background:#fffafc;color:var(--ink);display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;text-align:left;font:inherit;cursor:pointer;transition:border-color .14s ease,background .14s ease,transform .14s ease;}
.identity-create-new>span:first-child{width:34px;height:34px;border-radius:10px;background:#f3e9ee;color:var(--pink);display:grid;place-items:center;font-size:20px;font-weight:800;}
.identity-create-new>span:last-child{display:grid;gap:2px;min-width:0;}
.identity-create-new b{font-size:10px;font-weight:1000;letter-spacing:.07em;}
.identity-create-new small{color:var(--muted);font-size:8px;font-weight:750;letter-spacing:0;}
.identity-create-new:hover{border-color:#d8a7bd;background:#fff7fb;transform:translateY(-1px);}
.party-player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:2px;}
.identity-row{width:100%;min-width:0;min-height:67px;display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:11px;padding:9px 11px 9px 9px;border:1px solid var(--border);border-radius:15px;background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .14s ease,background .14s ease,transform .14s ease,box-shadow .14s ease;}
.identity-row:hover{border-color:#dfabc3;background:#fffafd;transform:translateY(-1px);box-shadow:0 7px 18px rgba(40,24,35,.055);}
.identity-row:focus-visible{outline:3px solid rgba(236,92,166,.2);outline-offset:2px;}
.identity-row__avatar,.identity-verify__avatar{overflow:hidden;display:grid;place-items:center;border:1px solid #d8cec8;background:var(--identity-avatar-bg);color:#332c32;}
.identity-row__avatar{width:46px;height:46px;border-radius:13px;font-size:25px;}
.identity-row__avatar img,.identity-verify__avatar img{width:100%;height:100%;display:block;object-fit:cover;}
.identity-row__info{min-width:0;display:grid;gap:2px;}
.identity-row__info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:1000;letter-spacing:.015em;}
.identity-row__info small{color:var(--muted);font-size:8px;font-weight:950;letter-spacing:.09em;}
.identity-row__meta{display:flex;align-items:center;gap:8px;justify-self:end;}
.identity-row__meta small{padding:4px 6px;border-radius:999px;background:#f2ebe7;color:#756970;font-size:7px;font-weight:1000;letter-spacing:.075em;white-space:nowrap;}
.identity-row__arrow{color:#91858c;font-size:16px;font-weight:1000;transition:transform .14s ease,color .14s ease;}
.identity-row:hover .identity-row__arrow{transform:translateX(2px);color:var(--pink);}
.identity-row.is-last-used{border-color:#ded1d7;}
.identity-verify{max-width:560px;margin:0 auto;padding:4px 0 2px;border:0;}
.identity-verify__back{margin:0 0 16px;padding:6px 0;border:0;background:transparent;color:var(--muted);font:inherit;font-size:9px;font-weight:1000;letter-spacing:.08em;cursor:pointer;}
.identity-verify__back:hover{color:var(--ink);}
.identity-verify__identity{display:flex;align-items:center;justify-content:center;gap:14px;margin:6px auto 24px;text-align:left;}
.identity-verify__avatar{width:72px;height:72px;flex:0 0 72px;border-radius:20px;font-size:39px;}
.identity-verify__identity h3{margin:3px 0 2px;font-size:27px;line-height:1;letter-spacing:-.045em;}
.identity-verify__identity small{color:var(--muted);font-size:9px;font-weight:950;letter-spacing:.11em;}
.identity-verify__pin-block{display:grid;justify-items:center;gap:9px;padding:18px 14px;border:1px solid var(--border);border-radius:17px;background:linear-gradient(145deg,#fffdfa,#f8f2f5);}
.identity-pin-label{font-size:9px;font-weight:1000;letter-spacing:.11em;color:var(--muted);}
.identity-pin-code{position:relative;width:min(100%,310px);cursor:text;}
.identity-pin-code>input{position:absolute;inset:0;width:100%;height:100%;z-index:2;opacity:0;cursor:text;font-size:16px;caret-color:transparent;}
.identity-pin-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;pointer-events:none;}
.identity-pin-slots span{height:54px;display:grid;place-items:center;border:1px solid #d9cfd4;border-radius:13px;background:#fff;color:var(--ink);font-size:17px;box-shadow:inset 0 -2px 0 rgba(40,24,35,.025);transition:border-color .13s ease,background .13s ease,transform .13s ease,box-shadow .13s ease;}
.identity-pin-code:focus-within .identity-pin-slots span{border-color:#d9a3bb;}
.identity-pin-slots span.is-filled{background:#252129;border-color:#252129;color:#fff;}
.identity-pin-code.is-verifying .identity-pin-slots span{animation:identityPulse .5s ease infinite alternate;}
.identity-pin-code.is-error .identity-pin-slots{animation:identityShake .26s ease;}
.identity-pin-code.is-error .identity-pin-slots span{border-color:#dc737b;background:#fff6f6;color:#c54750;}
.identity-pin-hint{color:#8b8087;font-size:8px;font-weight:850;letter-spacing:.045em;}
.identity-verify>.text-button{display:block;margin:8px auto 0;color:var(--muted);font-size:10px;}
.identity-verify>.form-message{min-height:20px;text-align:center;margin:6px 0 0;font-size:10px;font-weight:900;}
.identity-login-fallback[hidden]{display:none!important;}
@keyframes identityShake{0%,100%{transform:none}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
@keyframes identityPulse{from{transform:translateY(0)}to{transform:translateY(-2px)}}

/* El selector de identidad ya no reutiliza las fichas sociales antiguas. */
.identity-selector .crew-card{display:none;}

@media(max-width:620px){
  .party-player-grid{grid-template-columns:1fr;gap:7px;}
  .identity-row{min-height:62px;grid-template-columns:43px minmax(0,1fr) auto;padding:8px 10px 8px 8px;border-radius:14px;}
  .identity-row__avatar{width:43px;height:43px;border-radius:12px;font-size:23px;}
  .identity-row__meta small{display:none;}
  .identity-verify{padding-top:0;}
  .identity-verify__back{margin-bottom:10px;}
  .identity-verify__identity{justify-content:flex-start;margin:4px 2px 18px;}
  .identity-verify__avatar{width:62px;height:62px;flex-basis:62px;border-radius:17px;font-size:34px;}
  .identity-verify__identity h3{font-size:24px;}
  .identity-verify__pin-block{padding:16px 10px;}
  .identity-pin-slots{gap:7px;}
  .identity-pin-slots span{height:50px;border-radius:12px;}
}

@media(hover:none){
  .identity-row:hover{border-color:var(--border);background:#fff;transform:none;box-shadow:none;}
  .identity-row:active{background:#fbf6f8;border-color:#e1bdcd;transform:scale(.995);}
  .identity-create-new:hover{border-color:#d9c6cf;background:#fffafc;transform:none;}
  .identity-create-new:active{background:#fff5fa;border-color:#d8a7bd;}
}

/* V21.30 · Identificación sobre la carcasa app-surface compartida */
.app-surface:focus{outline:none;}
.identity-dialog__sheet:focus{outline:none;}
.identity-dialog__body{min-height:0;flex:1 1 auto;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;}
.identity-dialog .identity-selector{min-height:0;padding:18px 22px 22px;}
.identity-stage{position:relative;overflow:hidden;transition:height .2s cubic-bezier(.2,.76,.25,1);}
.identity-stage__panel{width:100%;transition:transform .22s cubic-bezier(.2,.76,.25,1),opacity .18s ease;}
.identity-stage__panel--roster{position:relative;transform:translate3d(0,0,0);opacity:1;visibility:visible;pointer-events:auto;}
.identity-stage__panel--verify{position:absolute;inset:0 auto auto 0;transform:translate3d(104%,0,0);opacity:0;visibility:hidden;pointer-events:none;}
.identity-stage.is-verify .identity-stage__panel--roster{position:absolute;inset:0 auto auto 0;transform:translate3d(-34%,0,0);opacity:0;visibility:hidden;pointer-events:none;}
.identity-stage.is-verify .identity-stage__panel--verify{position:relative;inset:auto;transform:translate3d(0,0,0);opacity:1;visibility:visible;pointer-events:auto;}
.identity-stage.is-roster .identity-stage__panel--verify{visibility:hidden;}
.identity-row__avatar.has-photo,.identity-verify__avatar.has-photo{background:#e8e0dc;}
.identity-row__avatar img,.identity-verify__avatar img{width:100%;height:100%;object-fit:cover;object-position:center;}
.identity-dialog.is-keyboard-open .identity-selector{padding-top:10px;padding-bottom:10px;}
.identity-dialog.is-keyboard-open .identity-verify__back{margin-bottom:5px;}
.identity-dialog.is-keyboard-open .identity-verify__identity{margin:0 2px 8px;gap:10px;}
.identity-dialog.is-keyboard-open .identity-verify__avatar{width:48px;height:48px;flex-basis:48px;border-radius:14px;font-size:27px;}
.identity-dialog.is-keyboard-open .identity-verify__identity h3{font-size:20px;}
.identity-dialog.is-keyboard-open .identity-verify__pin-block{padding:10px 9px;gap:6px;}
.identity-dialog.is-keyboard-open .identity-pin-slots span{height:44px;}
.identity-dialog.is-keyboard-open .identity-pin-hint{display:none;}
.identity-dialog.is-keyboard-open .identity-verify>.text-button{margin-top:4px;}
/* V21.31 · app-surface compartida: modal desktop / bottom-sheet móvil */
@media(max-width:720px){
  .app-surface-dialog{width:100%;max-width:none;margin:0;inset:auto 0 0 0;overflow:hidden;}
  .app-surface{height:92vh;height:92dvh;max-height:92vh;max-height:92dvh;border-radius:20px 20px 0 0;border-bottom:0;box-shadow:0 -18px 60px rgba(20,13,18,.28);transition:transform .18s cubic-bezier(.2,.76,.25,1);will-change:transform;}
  .app-surface.is-dragging{transition:none!important;}
  .app-surface__drag-zone{touch-action:none;user-select:none;background:linear-gradient(145deg,#f2ebe6,#fbf8f5);}
  .app-surface__grabber{display:block;width:52px;height:18px;flex:0 0 18px;margin:0 auto;position:relative;border:0;background:transparent;touch-action:none;user-select:none;cursor:grab;}
  .app-surface__grabber::after{content:"";position:absolute;left:50%;top:8px;width:42px;height:4px;transform:translateX(-50%);border-radius:999px;background:#cfc4be;}
  .app-surface__header{flex:0 0 auto;padding:4px 16px 11px;background:transparent;border-bottom:1px solid #e2d9d3;}
  .app-surface__header h2{font-size:24px;}
  .app-surface__header p{font-size:10px;}
  .app-surface__close{display:none!important;}
  .mobile-bottom-sheet{transform:translate3d(0,0,0);}
  .identity-dialog__body{min-height:0;flex:1 1 auto;overflow:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:auto;background:#f7f3ef;}
  .identity-dialog .identity-selector{min-height:100%;padding:5px 12px max(20px,env(safe-area-inset-bottom));background:#f7f3ef;}
  .identity-row:active{background:#fffdfb;border-color:#ddd2cc;transform:none;box-shadow:none;}
  .identity-stage__panel--verify{touch-action:pan-y;background:#f7f3ef;min-height:100%;z-index:2;}
  .identity-stage__panel--roster{z-index:1;background:#f7f3ef;min-height:100%;}
  .identity-stage{min-height:100%;background:#f7f3ef;touch-action:pan-y;}
  .identity-dialog.is-keyboard-open{bottom:var(--identity-vv-offset,0px);}
  .identity-dialog.is-keyboard-open .app-surface{height:var(--identity-sheet-max,92dvh);max-height:var(--identity-sheet-max,92dvh);}
  .identity-dialog.is-keyboard-open .identity-selector{padding-top:8px;padding-bottom:max(10px,env(safe-area-inset-bottom));}
}


/* V21.34 · Navegación interna reutilizable: roster + panel detalle.
   En móvil Identificación replica la arquitectura de La Banda: la lista permanece
   fija debajo y el detalle/PIN es una superficie completa que entra desde la derecha. */
@media(max-width:720px){
  .identity-dialog__body{
    position:relative;
    overflow:hidden;
  }
  .identity-dialog .identity-selector{
    height:100%;
    min-height:0;
    padding:0;
    overflow:hidden;
    background:#f7f3ef;
  }
  .identity-stage{
    position:relative;
    height:100%;
    min-height:0;
    overflow:hidden;
    background:#f7f3ef;
  }
  .identity-stage__panel{
    box-sizing:border-box;
    width:100%;
  }
  .identity-stage__panel--roster,
  .identity-stage.is-verify .identity-stage__panel--roster{
    position:absolute;
    inset:0;
    z-index:1;
    overflow:auto;
    padding:12px 12px max(20px,env(safe-area-inset-bottom));
    background:#f7f3ef;
    transform:none;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
  }
  .identity-stage.is-verify .identity-stage__panel--roster{
    pointer-events:none;
  }
  .identity-stage__panel--verify,
  .identity-stage.is-roster .identity-stage__panel--verify{
    position:absolute;
    inset:0;
    z-index:3;
    max-width:none;
    min-height:100%;
    margin:0;
    overflow:auto;
    padding:12px 16px max(22px,env(safe-area-inset-bottom));
    border:0;
    background:#f7f3ef;
    transform:translate3d(100%,0,0);
    opacity:1;
    visibility:visible;
    pointer-events:none;
    transition:transform .2s cubic-bezier(.2,.76,.25,1);
    will-change:transform;
    touch-action:pan-y;
    overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
  }
  .identity-stage.is-verify .identity-stage__panel--verify{
    transform:translate3d(0,0,0);
    pointer-events:auto;
  }
  .identity-stage__panel--verify.is-swiping{
    transition:none!important;
  }
  .identity-dialog.is-keyboard-open .identity-stage__panel--verify{
    padding-top:8px;
    padding-bottom:max(10px,env(safe-area-inset-bottom));
  }
}
@media(max-width:720px){
  .identity-dialog.is-keyboard-open .identity-selector{padding:0;}
}

/* v21.38 — Desktop modal closes follow the Character File header pattern */



/* V21.39 · Expediente sobre app-surface compartida + navegación móvil por detalle */
.character-file-dialog{
  --app-surface-max-width:900px;
  width:min(calc(100vw - 48px),900px);
  max-width:none;
  max-height:none;
  overflow:visible;
}
.character-file{
  max-height:88vh;
  max-height:88dvh;
  padding:0;
  overflow:hidden;
}
.character-file:focus{outline:none;}
.character-file__drag-zone{flex:0 0 auto;}
.character-file__head{
  position:relative;
  top:auto;
  margin:0;
  padding:22px 22px 17px;
  background:#f7f3ef;
  border-bottom:1px solid #e1d8d2;
}
.character-file__stage{
  position:relative;
  min-height:0;
  flex:1 1 auto;
  overflow:hidden;
  background:#f7f3ef;
}
.character-file__overview-panel{
  min-height:0;
  max-height:calc(88dvh - 88px);
  overflow:auto;
  padding:0 22px 22px;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.character-file__edit-panel{display:none;}

@media(max-width:720px){
  .character-file-dialog{
    width:100%;
    max-width:none;
    margin:0;
    inset:auto 0 0 0;
    overflow:hidden;
  }
  .character-file{
    height:92vh;
    height:92dvh;
    max-height:92vh;
    max-height:92dvh;
    padding:0;
    border-radius:20px 20px 0 0;
    border-bottom:0;
    box-shadow:0 -18px 60px rgba(20,13,18,.28);
    touch-action:pan-y;
  }
  .character-file__drag{
    display:block;
    position:relative;
    top:auto;
    z-index:auto;
    width:52px;
    height:18px;
    margin:0 auto;
    background:transparent;
  }
  .character-file__drag::after{
    top:8px;
    width:42px;
    height:4px;
    background:#cfc4be;
  }
  .character-file__head{
    position:relative;
    top:auto;
    z-index:auto;
    margin:0;
    padding:4px 16px 11px;
    background:transparent;
    border-bottom:1px solid #e2d9d3;
  }
  .character-file__head h2{font-size:24px;}
  .character-file__head p{font-size:10px;}
  .character-file__close{display:none!important;}
  .character-file__stage{
    height:100%;
    min-height:0;
    background:#f7f3ef;
  }
  .character-file__overview-panel{
    position:absolute;
    inset:0;
    z-index:1;
    max-height:none;
    overflow:auto;
    padding:0 14px max(20px,env(safe-area-inset-bottom));
    background:#f7f3ef;
    overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
  }
  .character-file__edit-panel{
    display:block;
    position:absolute;
    inset:0;
    z-index:3;
    overflow:auto;
    padding:12px 16px max(22px,env(safe-area-inset-bottom));
    background:#f7f3ef;
    transform:translate3d(100%,0,0);
    transition:transform .2s cubic-bezier(.2,.76,.25,1);
    will-change:transform;
    pointer-events:none;
    touch-action:pan-y;
    overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
  }
  .character-file__stage.has-detail .character-file__overview-panel{pointer-events:none;}
  .character-file__stage.has-detail .character-file__edit-panel{
    transform:translate3d(0,0,0);
    pointer-events:auto;
  }
  .character-file__edit-panel.is-swiping{transition:none!important;}
  .character-file__back{
    position:sticky;
    top:-12px;
    z-index:4;
    width:100%;
    padding:11px 0 12px;
    background:linear-gradient(#f7f3ef 80%,rgba(247,243,239,0));
  }
  .character-file__edit-heading{margin:2px 0 16px;}
  .character-file__edit-heading h3{margin:3px 0 4px;font-size:24px;letter-spacing:-.035em;}
  .character-file__edit-heading p{margin:0;color:var(--muted);font-size:10px;line-height:1.45;}
  .character-file__edit-slot .character-file-block__editor{
    display:block;
    margin:0;
    padding:0;
    border-top:0;
  }
  .character-file-block.is-editing{
    border-color:#e1d8d2;
    background:#fff;
    box-shadow:none;
  }
  .character-file__portrait,
  .character-photo-card__preview{
    -webkit-tap-highlight-color:transparent;
    outline:none;
  }
  .character-file__portrait:focus,
  .character-file__portrait:focus-visible,
  .character-photo-card__preview:focus,
  .character-photo-card__preview:focus-visible{
    outline:none;
    box-shadow:none;
  }
}

/* v21.40 — narrative moments share the existing palette and surfaces. */
.safehouse { position:relative; }
#heistIdentity { display:block; margin-top:20px; padding-inline:20px; font-size:12px; letter-spacing:.1em; overflow-wrap:anywhere; }
.character-file-block header { position:relative; padding-right:28px; }
.character-file-block:not(.is-editing) header::after { content:'›'; position:absolute; right:4px; top:50%; transform:translateY(-50%); font-size:25px; opacity:.55; }
.character-file-block h4 { margin:0; }
.character-file-block__summary:empty { display:none; }
.character-file__edit-heading p[hidden], .crew-profile-sheet__bio[hidden], .crew-profile-ability[hidden] { display:none; }
.moment-reveal { animation:moment-arrival .65s cubic-bezier(.2,.8,.2,1) both; }
.moment-check { animation:moment-check .65s ease both; }
.moment-next, .moment-crew-join { animation:moment-outline 1.1s ease both; }
.moment-refuge { animation:moment-unlock .85s cubic-bezier(.2,.8,.2,1) both; }
@keyframes moment-arrival { from { opacity:0; transform:translateY(14px) scale(.98); } to { opacity:1; transform:none; } }
@keyframes moment-check { 0% { transform:scale(.7) rotate(-15deg); } 50% { transform:scale(1.16); } 100% { transform:none; } }
@keyframes moment-outline { 25% { box-shadow:0 0 0 3px rgba(161,239,206,.35); } 100% { box-shadow:0 0 0 0 transparent; } }
@keyframes moment-unlock { from { opacity:.3; transform:translateY(10px); box-shadow:inset 0 3px 0 #a1efce; } to { opacity:1; transform:none; box-shadow:inset 0 0 0 transparent; } }
@media (prefers-reduced-motion:reduce) { .moment-reveal,.moment-check,.moment-next,.moment-crew-join,.moment-refuge { animation:none; } }

/* v21.41: asistencia, economía y mensajes privados */
.attendance--decision{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.radio-card--button{min-height:50px;border-radius:12px;text-align:center;}
.radio-card--button span{height:auto;border:0;padding:14px 10px;}
#acceptMission{background:var(--pink);border-color:var(--pink);color:var(--ink);}
#declineMission{background:transparent;}
.rsvp-declined{display:block;}
#declineForm{margin-top:16px;}
#declineForm label{display:grid;gap:7px;margin-top:16px;}
#declineMessage{width:100%;box-sizing:border-box;font:inherit;padding:12px;border:1px solid var(--border);border-radius:12px;resize:vertical;background:#fff;color:var(--ink);}
.hud__player-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.hud__player-metrics>span{gap:5px;flex-wrap:wrap;}
.hud__player-metrics .hud-funds-metric{background:#edf8f0;border-color:#c9e4d1;}
.hud__player-metrics .hud-funds-metric small,.hud__player-metrics .hud-funds-metric strong,#crewProfileCash{color:#237143;}
.admin-decline-message{white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0;}


/* V21.44 · HUD legible + botín guiado por viewport. */
@media(min-width:621px){
  .hud{min-height:68px;padding-top:11px;padding-bottom:11px;}
  .hud__announcement{inset:0 18px;}
  .hud__announcement-copy{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    justify-items:center;
    align-content:center;
    gap:3px;
    line-height:1.08;
  }
  .hud__announcement strong{
    max-width:min(820px,88vw);
    font-size:15px;
    line-height:1.08;
    letter-spacing:.095em;
  }
  .hud__announcement small{
    max-width:min(820px,88vw);
    font-size:11px;
    line-height:1.15;
    letter-spacing:.07em;
  }
}
@media(max-width:620px){
  .hud__announcement strong{font-size:11px;line-height:1.08;}
  .hud__announcement small{font-size:8.5px;line-height:1.14;}
}

@media(min-width:521px){
  .street-cash{width:78px;height:51px;filter:drop-shadow(0 9px 8px rgba(0,0,0,.27));}
  .street-cash__note{left:7px;top:9px;width:63px;height:34px;font-size:13px;}
  .street-cash__note::before{inset:6px 21px;}
  .street-cash__band{left:31px;top:3px;width:14px;height:42px;}
}
.street-cash::after{
  content:"";
  position:absolute;
  inset:-9px;
  border-radius:14px;
  border:1px solid rgba(255,222,109,0);
  box-shadow:0 0 0 0 rgba(255,220,94,0);
  pointer-events:none;
  animation:cashWhisper 6.8s ease-in-out 4.8s infinite;
}
.street-cash--first::after{
  animation:cashWhisperFirst 5.6s ease-in-out 3.1s infinite;
}
@keyframes cashWhisper{
  0%,78%,100%{opacity:0;border-color:rgba(255,222,109,0);box-shadow:0 0 0 0 rgba(255,220,94,0)}
  84%{opacity:.42;border-color:rgba(255,222,109,.36);box-shadow:0 0 18px 2px rgba(255,220,94,.13)}
  91%{opacity:0;border-color:rgba(255,222,109,0);box-shadow:0 0 0 7px rgba(255,220,94,0)}
}
@keyframes cashWhisperFirst{
  0%,68%,100%{opacity:0;border-color:rgba(255,222,109,0);box-shadow:0 0 0 0 rgba(255,220,94,0)}
  76%{opacity:.65;border-color:rgba(255,226,117,.52);box-shadow:0 0 22px 3px rgba(255,220,94,.18)}
  88%{opacity:0;border-color:rgba(255,222,109,0);box-shadow:0 0 0 8px rgba(255,220,94,0)}
}
@media(prefers-reduced-motion:reduce){
  .street-cash::after,.street-cash--first::after{animation:none;}
}

/* V21.46 · Economía modular dentro de las fichas de juego */
.mission-economy-actions{
  margin:18px 0 12px;
  padding:16px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  background:rgba(255,255,255,.045);
}
.mission-economy-actions__head{display:grid;gap:4px;margin-bottom:12px;}
.mission-economy-actions__head small{font-size:9px;font-weight:950;letter-spacing:.16em;color:#ff8bc8;}
.mission-economy-actions__head strong{font-size:15px;line-height:1.2;letter-spacing:.02em;}
.mission-economy-actions__copy,.mission-economy-actions__done{margin:0 0 12px;color:rgba(255,255,255,.76);font-size:13px;line-height:1.45;}
.mission-economy-actions__done{color:#a9f6ca;font-weight:850;}
.mission-economy-actions__score{display:grid;grid-template-columns:minmax(150px,220px);gap:10px;margin-bottom:10px;}
.mission-economy-actions__score label{display:grid;gap:6px;}
.mission-economy-actions__score label>span{font-size:9px;font-weight:950;letter-spacing:.14em;color:rgba(255,255,255,.58);}
.mission-economy-actions__score input{min-height:48px;border-radius:11px;border:1px solid rgba(255,255,255,.16);background:#0f0e14;color:#fff;font-size:22px;font-weight:1000;text-align:center;padding:8px 12px;}
.mission-economy-actions__buttons{display:flex;flex-wrap:wrap;gap:8px;}
.mission-economy-actions__buttons .btn{flex:1 1 190px;min-height:45px;}
.mission-economy-actions__buttons--three .btn{flex-basis:160px;}
.mission-economy-actions__hint{display:block;margin-top:9px;font-size:9px;font-weight:900;letter-spacing:.1em;color:rgba(255,255,255,.48);}
.mission-economy-actions__message{min-height:17px;margin:10px 0 0!important;font-size:11px!important;font-weight:850;color:rgba(255,255,255,.65);}
.mission-economy-actions__message.is-error{color:#ff8c96;}
.mission-economy-actions__message.is-success{color:#a9f6ca;}
@media(max-width:720px){
  .mission-economy-actions{padding:14px;margin-top:15px;}
  .mission-economy-actions__score{grid-template-columns:1fr;}
  .mission-economy-actions__buttons{display:grid;grid-template-columns:1fr;}
  .mission-economy-actions__buttons .btn{width:100%;}
}

/* V21.46 · La Banda absorbe Los más buscados */
.crew-browser__views{
  flex:0 0 auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  padding:10px 22px 0;
  background:#f5f0ec;
}
.crew-browser__views[hidden]{display:none!important;}
.crew-browser__view{
  min-height:38px;
  border:1px solid #ddd3cd;
  border-radius:11px;
  background:#fffaf7;
  color:#756a71;
  font:inherit;
  font-size:9px;
  font-weight:1000;
  letter-spacing:.09em;
  cursor:pointer;
  transition:background .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease;
}
.crew-browser__view:hover{border-color:#d1b7aa;background:#fff;}
.crew-browser__view.is-active{
  border-color:#2d2830;
  background:#26222a;
  color:#fff;
  box-shadow:0 6px 14px rgba(31,24,32,.10);
}
.crew-wanted-view{display:grid;gap:12px;align-content:start;}
.crew-wanted-view[hidden]{display:none!important;}
.crew-wanted-empty{
  min-height:240px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  padding:28px;
  border:1px dashed #ddd3cd;
  border-radius:17px;
  background:#fcfaf8;
  color:#6e646a;
}
.crew-wanted-empty>span{font-size:38px;color:#c2b7bc;line-height:1;}
.crew-wanted-empty>div{max-width:420px;display:grid;gap:6px;}
.crew-wanted-empty strong{font-size:12px;letter-spacing:.055em;color:#332d34;}
.crew-wanted-empty p{margin:0;font-size:10px;line-height:1.5;}
.crew-wanted-leader{
  appearance:none;
  width:100%;
  display:grid;
  grid-template-columns:64px minmax(0,1fr) 34px;
  align-items:center;
  gap:14px;
  padding:15px;
  border:1px solid #e3b78f;
  border-radius:17px;
  background:linear-gradient(145deg,#fff7ec,#fffdf8);
  color:var(--ink);
  text-align:left;
  font:inherit;
  cursor:pointer;
  box-shadow:inset 4px 0 0 #e88042,0 8px 20px rgba(70,39,18,.06);
}
.crew-wanted-leader:hover{border-color:#df9a61;transform:translateY(-1px);}
.crew-wanted-leader__avatar{
  width:64px;height:64px;border-radius:16px;background:#1d1920;color:#fff;
  display:grid;place-items:center;font-size:32px;overflow:hidden;
}
.crew-wanted-leader__copy{display:grid;gap:4px;min-width:0;}
.crew-wanted-leader__copy small{font-size:7px;font-weight:1000;letter-spacing:.12em;color:#b65b2d;}
.crew-wanted-leader__copy strong{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.crew-wanted-leader__copy span{font-size:9px;font-weight:900;letter-spacing:.045em;color:#786660;}
.crew-wanted-leader__arrow,.crew-wanted-row__arrow{
  width:30px;height:30px;border-radius:50%;display:grid;place-items:center;
  background:rgba(77,60,54,.08);color:#786760;font-size:14px;font-weight:1000;
}
.crew-wanted-list{display:grid;gap:7px;}
.crew-wanted-row{
  appearance:none;
  width:100%;
  display:grid;
  grid-template-columns:32px 43px minmax(0,1fr) auto 28px;
  align-items:center;
  gap:10px;
  min-height:64px;
  padding:9px 11px;
  border:1px solid #e3dad4;
  border-radius:14px;
  background:#fff;
  color:var(--ink);
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.crew-wanted-row:hover{border-color:#d9bbaa;background:#fffdfb;}
.crew-wanted-row__rank{font-family:ui-monospace,monospace;font-size:11px;font-weight:900;color:#9a8f95;}
.crew-wanted-row__avatar{width:43px;height:43px;border-radius:11px;background:#1d1920;color:#fff;display:grid;place-items:center;font-size:22px;overflow:hidden;}
.crew-wanted-row__identity{display:grid;gap:3px;min-width:0;}
.crew-wanted-row__identity strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.crew-wanted-row__identity small{font-size:6.5px;font-weight:950;letter-spacing:.08em;color:var(--muted);}
.crew-wanted-row__score{display:flex;align-items:baseline;gap:3px;color:#bd4c24;white-space:nowrap;}
.crew-wanted-row__score strong{font-size:16px;}
.crew-wanted-row__score small{font-size:12px;color:#e48a45;}

@media(max-width:620px){
  .crew-browser__views{padding:8px 12px 0;gap:5px;}
  .crew-browser__view{min-height:36px;font-size:8px;border-radius:10px;}
  .crew-wanted-view{gap:8px;}
  .crew-wanted-empty{min-height:190px;padding:22px 16px;border-radius:14px;}
  .crew-wanted-empty>span{font-size:30px;}
  .crew-wanted-empty strong{font-size:10px;}
  .crew-wanted-empty p{font-size:9px;}
  .crew-wanted-leader{grid-template-columns:50px minmax(0,1fr) 28px;gap:10px;padding:11px;border-radius:14px;}
  .crew-wanted-leader__avatar{width:50px;height:50px;border-radius:13px;font-size:27px;}
  .crew-wanted-leader__copy strong{font-size:14px;}
  .crew-wanted-leader__copy span{font-size:7.5px;line-height:1.3;}
  .crew-wanted-leader__arrow{width:27px;height:27px;font-size:12px;}
  .crew-wanted-row{grid-template-columns:25px 37px minmax(0,1fr) auto 24px;gap:7px;min-height:56px;padding:7px 8px;border-radius:12px;}
  .crew-wanted-row__avatar{width:37px;height:37px;border-radius:10px;font-size:20px;}
  .crew-wanted-row__identity strong{font-size:11px;}
  .crew-wanted-row__identity small{font-size:6px;}
  .crew-wanted-row__score strong{font-size:14px;}
  .crew-wanted-row__arrow{width:24px;height:24px;font-size:11px;}
}

@media(prefers-reduced-motion:reduce){
  .crew-browser__view,.crew-wanted-leader,.crew-wanted-row{transition:none!important;}
}

/* V21.47 · Mi expediente pasa a ser el centro personal de la operación */
.character-file__section-label{
  margin:18px 0 8px;
  color:#8d8288;
  font-size:8px;
  font-weight:1000;
  letter-spacing:.15em;
}
.character-operation{
  display:grid;
  gap:12px;
  margin:2px 0 4px;
  padding:15px;
  border:1px solid #ded4ce;
  border-radius:17px;
  background:linear-gradient(145deg,#242128,#1b191f);
  color:#fff;
  box-shadow:0 12px 28px rgba(31,19,30,.09);
}
.character-operation__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.character-operation__head small,
.character-activity__head small,
.character-record__copy small{
  display:block;
  margin-bottom:3px;
  color:#ff94ca;
  font-size:8px;
  font-weight:1000;
  letter-spacing:.15em;
}
.character-operation__head h4{margin:0;font-size:16px;line-height:1.2;}
.character-operation__head>span{
  flex:0 0 auto;
  padding:5px 8px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(255,255,255,.055);
  color:rgba(255,255,255,.68);
  font-size:7px;
  font-weight:1000;
  letter-spacing:.1em;
}
.character-operation__metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;}
.character-operation__metrics>div{
  min-width:0;
  padding:10px 9px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:12px;
  background:rgba(255,255,255,.045);
}
.character-operation__metrics small{display:block;color:rgba(255,255,255,.48);font-size:7px;font-weight:1000;letter-spacing:.11em;}
.character-operation__metrics strong{display:block;margin-top:4px;font-size:16px;font-weight:1000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.character-record{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:13px;
  background:rgba(255,255,255,.055);
}
.character-record.is-wanted{border-color:rgba(255,138,181,.3);background:linear-gradient(135deg,rgba(255,95,158,.105),rgba(255,255,255,.04));}
.character-record__copy{min-width:0;}
.character-record__copy strong{display:block;font-size:12px;letter-spacing:.025em;}
.character-record__copy p{margin:4px 0 0;color:rgba(255,255,255,.62);font-size:10px;line-height:1.4;}
.character-record .btn{flex:0 0 auto;min-height:40px;padding:8px 11px;font-size:9px;}
.character-record .btn:disabled{opacity:.45;cursor:not-allowed;}
.character-activity{display:grid;gap:8px;padding-top:2px;}
.character-activity__head strong{display:block;font-size:11px;}
.character-activity__list{display:grid;gap:6px;}
.character-activity__item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px 12px;
  align-items:center;
  padding:9px 10px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:11px;
  background:rgba(0,0,0,.13);
}
.character-activity__main{min-width:0;}
.character-activity__main strong{display:block;font-size:10px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.character-activity__main small{display:block;margin-top:2px;color:rgba(255,255,255,.46);font-size:7px;font-weight:900;letter-spacing:.07em;}
.character-activity__delta{display:flex;gap:5px;justify-content:flex-end;flex-wrap:wrap;font-size:9px;font-weight:1000;}
.character-activity__delta span{padding:4px 6px;border-radius:999px;background:rgba(255,255,255,.07);white-space:nowrap;}
.character-activity__delta .is-positive{color:#a9f6ca;}
.character-activity__delta .is-negative{color:#ffabb4;}
.character-activity__empty{margin:0;padding:10px;border:1px dashed rgba(255,255,255,.12);border-radius:11px;color:rgba(255,255,255,.48);font-size:10px;line-height:1.45;}

/* En El Golpe, Misiones ya es el contenido principal: evitamos una píldora redundante. */
.party-mode .section-nav--party{display:flex;justify-content:flex-start;align-items:stretch;}
.party-mode .section-nav--party .section-nav__crew{width:min(100%,280px);}

@media(max-width:620px){
  .character-operation{padding:12px;gap:10px;border-radius:14px;}
  .character-operation__metrics{grid-template-columns:repeat(2,minmax(0,1fr));}
  .character-operation__metrics>div{padding:9px;}
  .character-operation__metrics strong{font-size:15px;}
  .character-record{align-items:stretch;flex-direction:column;gap:10px;}
  .character-record .btn{width:100%;}
  .character-activity__item{grid-template-columns:1fr;gap:6px;}
  .character-activity__delta{justify-content:flex-start;}
  .party-mode .section-nav--party{display:flex;}
  .party-mode .section-nav--party .section-nav__crew{width:100%;}
}


/* V21.48 · Expediente de operación contextual y compacto */
.character-file-block--heist{
  grid-column:1/-1;
  border-color:#d9b9ca;
  background:linear-gradient(145deg,#fff9fc,#fff);
  box-shadow:0 10px 26px rgba(114,55,87,.07);
}
.character-file-block--heist>header small{color:#b43d77;}
.character-file-block--heist>header h4{font-size:15px;}
.character-file-block--heist:not(.is-editing)::before{
  content:"";
  display:block;
  width:34px;
  height:3px;
  margin:-14px 0 10px;
  border-radius:999px;
  background:linear-gradient(90deg,#e15299,#ff9bc9);
}
.character-operation-summary{margin-top:10px!important;}
.character-operation-summary .character-summary-chip{font-size:8px;}
.character-file-block--heist.is-editing{background:#fffdfb;}
.character-file-block--heist .character-file-block__editor{border-top:0;padding-top:4px;}
.character-activity__toggle{
  appearance:none;
  justify-self:start;
  border:0;
  background:transparent;
  padding:4px 0 0;
  color:#ff94ca;
  font:inherit;
  font-size:8px;
  font-weight:1000;
  letter-spacing:.12em;
  cursor:pointer;
}
.character-activity__toggle:hover{text-decoration:underline;}
.character-activity__toggle:focus-visible{outline:2px solid #ff94ca;outline-offset:4px;border-radius:3px;}
@media(max-width:620px){
  .character-file-block--heist{grid-column:auto;}
  .character-file-block--heist:not(.is-editing)::before{margin:-12px 0 9px;}
}

.character-file__blocks--operation{grid-template-columns:1fr;margin-bottom:0;}

/* V21.53 · Clasificación jugable: castigo, golpe limpio y tarjetas unificadas */
.hud__wanted--party{min-width:62px;gap:5px!important;}
.hud__wanted--party span{font-size:16px!important;color:#fff!important;transform:none!important;text-shadow:none!important;}
.hud__wanted--party .is-icon{font-size:19px!important;color:var(--yellow)!important;}
.hud__wanted--party .is-score{font-size:19px!important;font-weight:1000;color:#fff!important;letter-spacing:.01em;}
.hud__wanted--party.is-objective-priority .is-icon{
  transform-origin:center;
  animation:prioritySiren 1.15s steps(2,end) infinite;
}
.hud__wanted--party.is-objective-priority .is-score{
  animation:priorityScore 1.15s steps(2,end) infinite;
}
@keyframes prioritySiren{
  0%,49%{filter:drop-shadow(-4px 0 7px rgba(255,53,73,.92));transform:rotate(-4deg) scale(1.04)}
  50%,100%{filter:drop-shadow(4px 0 7px rgba(52,126,255,.95));transform:rotate(4deg) scale(1.04)}
}
@keyframes priorityScore{
  0%,49%{text-shadow:-3px 0 9px rgba(255,53,73,.62)!important}
  50%,100%{text-shadow:3px 0 9px rgba(52,126,255,.62)!important}
}

.crew-competition-intro{
  display:grid;
  gap:5px;
  padding:12px 14px;
  border:1px solid #e2d8d2;
  border-radius:14px;
  background:#faf7f4;
}
.crew-competition-intro strong{font-size:9px;line-height:1.35;letter-spacing:.075em;color:#3d353b;}
.crew-competition-intro p{margin:0;color:#776c72;font-size:9px;line-height:1.45;}
.crew-competition-spotlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
.crew-competition-spotlight{
  appearance:none;
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 28px;
  align-items:center;
  gap:10px;
  padding:11px 12px;
  border:1px solid #e2d8d2;
  border-radius:14px;
  background:#fff;
  color:var(--ink);
  text-align:left;
  font:inherit;
}
button.crew-competition-spotlight{cursor:pointer;}
button.crew-competition-spotlight:hover{transform:translateY(-1px);box-shadow:0 9px 20px rgba(31,19,30,.06);}
.crew-competition-spotlight--priority{border-color:#e4b09d;background:linear-gradient(145deg,#fff7f3,#fff);}
.crew-competition-spotlight--clean{border-color:#d8cf9f;background:linear-gradient(145deg,#fffdf2,#fff);}
.crew-competition-spotlight.is-empty{opacity:.82;grid-template-columns:42px minmax(0,1fr);}
.crew-competition-spotlight__icon{width:42px;height:42px;border-radius:12px;background:#242028;display:grid;place-items:center;font-size:21px;}
.crew-competition-spotlight__copy{display:grid;gap:3px;min-width:0;}
.crew-competition-spotlight__copy small{font-size:6.5px;font-weight:1000;letter-spacing:.12em;color:#8a7771;}
.crew-competition-spotlight__copy strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.crew-competition-spotlight__copy span{font-size:7.5px;font-weight:850;color:#796f74;line-height:1.35;}
.crew-competition-spotlight__arrow{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#f1ece8;color:#7c7177;font-size:12px;font-weight:1000;}

.crew-wanted-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.crew-member-card--wanted{position:relative;}
.crew-member-card--wanted.is-priority{border-color:#e5aa95;box-shadow:inset 3px 0 0 #d95e45,0 10px 22px rgba(70,39,18,.06);}
.crew-member-card--wanted.is-clean{background:linear-gradient(180deg,#fffef8,#fff);}
.crew-member-card--wanted.is-priority.is-clean{box-shadow:inset 3px 0 0 #d95e45,inset -3px 0 0 #cdbb58,0 10px 22px rgba(70,39,18,.06);}
.crew-member-card__wanted-copy{min-height:30px;}
.crew-member-card__wanted-badges .is-stars{color:#a7442f;border-color:#e5c0b5;background:#fff7f4;}
.crew-member-card__wanted-badges .is-clean{color:#6e642d;border-color:#ddd29b;background:#fffdf1;}
.crew-wanted-context{display:grid;gap:2px;min-width:0;}
.crew-wanted-context small{font-size:6px;font-weight:1000;letter-spacing:.095em;color:#8a7e84;}
.crew-wanted-context strong{font-size:14px;color:#b54931;line-height:1;}

@media(max-width:720px){
  .crew-competition-spotlights{grid-template-columns:1fr;gap:7px;}
  .crew-competition-spotlight{grid-template-columns:37px minmax(0,1fr) 25px;padding:9px 10px;border-radius:12px;}
  .crew-competition-spotlight.is-empty{grid-template-columns:37px minmax(0,1fr);}
  .crew-competition-spotlight__icon{width:37px;height:37px;border-radius:10px;font-size:19px;}
  .crew-competition-intro{padding:10px 11px;border-radius:12px;}
  .crew-wanted-grid{grid-template-columns:1fr;gap:7px;}
  .crew-member-card--wanted .crew-member-card__wanted-copy,
  .crew-member-card--wanted .crew-member-card__wanted-badges{display:none;}
  .crew-member-card--wanted .crew-wanted-context small{display:none;}
  .crew-member-card--wanted .crew-wanted-context strong{font-size:13px;}
}

@media(prefers-reduced-motion:reduce){
  .hud__wanted--party.is-objective-priority .is-icon,
  .hud__wanted--party.is-objective-priority .is-score{animation:none!important;}
  button.crew-competition-spotlight{transition:none!important;}
}

/* V21.55 · Los más buscados: menos dashboard, más lectura inmediata */
.hud__wanted--party.is-professional .is-icon{
  color:#ffe28a!important;
  transform-origin:center;
  animation:professionalBadge 1.7s ease-in-out infinite;
}
.hud__wanted--party.is-professional .is-score{
  color:#fff8cf!important;
  text-shadow:0 0 10px rgba(255,224,126,.32)!important;
}
@keyframes professionalBadge{
  0%,100%{transform:translateY(0) scale(1);filter:drop-shadow(0 0 2px rgba(255,221,112,.25))}
  50%{transform:translateY(-1px) scale(1.08);filter:drop-shadow(0 0 8px rgba(255,221,112,.62))}
}

.crew-competition-intro{
  grid-template-columns:auto minmax(0,1fr);
  align-items:baseline;
  column-gap:7px;
  row-gap:2px;
  padding:10px 12px;
  background:#fbf8f5;
}
.crew-competition-intro strong{font-size:9px;white-space:nowrap;}
.crew-competition-intro p{font-size:9px;}

.crew-competition-spotlight{
  position:relative;
  overflow:hidden;
  min-height:70px;
  transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease;
}
.crew-competition-spotlight--priority{
  border-color:#dca694;
  background:linear-gradient(145deg,#fff5f2,#fff);
  box-shadow:inset 4px 0 0 #cf5946,0 9px 22px rgba(79,31,28,.06);
}
.crew-competition-spotlight--priority::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:2px;
  background:linear-gradient(90deg,#e24755 0 48%,#3d75dc 52% 100%);
  opacity:.82;
}
.crew-competition-spotlight--priority .crew-competition-spotlight__icon{
  background:linear-gradient(135deg,#8b2732,#254d92);
  color:#fff;
  box-shadow:0 0 0 1px rgba(255,255,255,.16) inset;
}
.crew-competition-spotlight--priority .crew-competition-spotlight__copy small{color:#a8443a;}
.crew-competition-spotlight--clean{
  border-color:#d8ca84;
  background:linear-gradient(145deg,#fffced,#fff);
  box-shadow:inset 4px 0 0 #d1b64a,0 9px 22px rgba(76,64,20,.06);
}
.crew-competition-spotlight--clean .crew-competition-spotlight__icon{
  background:#29251d;
  color:#ffe083;
  box-shadow:0 0 0 1px rgba(255,224,131,.2) inset,0 0 14px rgba(220,191,72,.10);
}
.crew-competition-spotlight--clean .crew-competition-spotlight__copy small{color:#817021;}
.crew-competition-spotlight__copy small{font-size:7px;}
.crew-competition-spotlight__copy strong{font-size:13px;}
.crew-competition-spotlight__copy span{font-size:8px;}

.crew-competition-rules{
  border-top:1px solid #e7ded9;
  border-bottom:1px solid #e7ded9;
  background:transparent;
}
.crew-competition-rules summary{
  list-style:none;
  cursor:pointer;
  padding:9px 2px;
  color:#746a70;
  font-size:7.5px;
  font-weight:1000;
  letter-spacing:.09em;
  user-select:none;
}
.crew-competition-rules summary::-webkit-details-marker{display:none;}
.crew-competition-rules summary::after{content:" +";color:#a3979d;}
.crew-competition-rules[open] summary::after{content:" −";}
.crew-competition-rules__body{display:grid;gap:6px;padding:0 2px 10px;max-width:720px;}
.crew-competition-rules__body p{margin:0;color:#756b71;font-size:8.5px;line-height:1.5;}
.crew-competition-rules__body strong{color:#3e373c;}

/* Los reconocimientos viven arriba; el listado mantiene la tarjeta común. */
.crew-member-card--wanted.is-priority,
.crew-member-card--wanted.is-clean,
.crew-member-card--wanted.is-priority.is-clean{
  background:#fff;
  border-color:#e3dad4;
  box-shadow:none;
}
.crew-member-card--wanted.is-priority:hover,
.crew-member-card--wanted.is-clean:hover{border-color:#d9bbaa;box-shadow:0 10px 24px rgba(31,19,30,.07);}
.crew-member-card__wanted-badges .is-stars{color:#9e4334;border-color:#e5c0b5;background:#fff8f5;}

.crew-wanted-view.is-swipe-enter-right,
.crew-member-list.is-swipe-enter-right{animation:crewViewEnterRight .19s cubic-bezier(.2,.76,.25,1);}
.crew-wanted-view.is-swipe-enter-left,
.crew-member-list.is-swipe-enter-left{animation:crewViewEnterLeft .19s cubic-bezier(.2,.76,.25,1);}
@keyframes crewViewEnterRight{from{opacity:.58;transform:translate3d(18px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes crewViewEnterLeft{from{opacity:.58;transform:translate3d(-18px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}

@media(max-width:720px){
  .crew-competition-intro{grid-template-columns:1fr;padding:9px 10px;gap:2px;}
  .crew-competition-intro strong{font-size:8px;}
  .crew-competition-intro p{font-size:8.5px;}
  .crew-competition-spotlight{min-height:58px;}
  .crew-competition-spotlight__copy strong{font-size:12px;}
  .crew-competition-spotlight__copy span{font-size:7.5px;}
  .crew-competition-rules summary{padding:8px 1px;font-size:7px;}
  .crew-competition-rules__body p{font-size:8px;}
}

@media(prefers-reduced-motion:reduce){
  .hud__wanted--party.is-professional .is-icon{animation:none!important;}
  .crew-wanted-view.is-swipe-enter-right,
  .crew-member-list.is-swipe-enter-right,
  .crew-wanted-view.is-swipe-enter-left,
  .crew-member-list.is-swipe-enter-left{animation:none!important;}
}

/* V21.56 · Clasificación clara + selector físico */
.crew-browser__views{
  --crew-view-progress:0;
  --crew-view-gap:6px;
  --crew-view-pad-x:22px;
  position:relative;
  isolation:isolate;
}
.crew-browser__views::before{
  content:"";
  position:absolute;
  z-index:0;
  left:var(--crew-view-pad-x);
  top:10px;
  width:calc((100% - (var(--crew-view-pad-x) * 2) - var(--crew-view-gap)) / 2);
  height:38px;
  border:1px solid #2d2830;
  border-radius:11px;
  background:#26222a;
  box-shadow:0 6px 14px rgba(31,24,32,.10);
  transform:translate3d(calc(var(--crew-view-progress) * (100% + var(--crew-view-gap))),0,0);
  transition:transform .27s cubic-bezier(.2,.78,.2,1), box-shadow .2s ease;
  pointer-events:none;
}
.crew-browser__views.is-dragging::before{transition:none;box-shadow:0 8px 18px rgba(31,24,32,.14);}
.crew-browser__view{
  position:relative;
  z-index:1;
  background:transparent;
  border-color:transparent;
  box-shadow:none;
  transition:color .18s ease,border-color .18s ease;
}
.crew-browser__view:hover{background:transparent;border-color:transparent;}
.crew-browser__view.is-active{background:transparent;border-color:transparent;box-shadow:none;color:#fff;}
.crew-browser__view:not(.is-active){color:#756a71;}

/* La regla y el acceso a la explicación viven juntos, antes de los destacados. */
.crew-competition-rules{
  border:1px solid #e4dad4;
  border-radius:13px;
  background:#fbf8f5;
  overflow:hidden;
}
.crew-competition-rules summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  list-style:none;
}
.crew-competition-rules summary::after{content:none!important;}
.crew-competition-rules__lead{display:grid;gap:2px;min-width:0;}
.crew-competition-rules__lead strong{font-size:9px;line-height:1.2;letter-spacing:.075em;color:#3d353b;}
.crew-competition-rules__lead small{font-size:8.5px;line-height:1.35;color:#776c72;}
.crew-competition-rules__cta{
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  font-size:7.5px;
  font-weight:1000;
  letter-spacing:.09em;
  color:#554b51;
}
.crew-competition-rules__cta i{font-style:normal;transition:transform .2s ease;}
.crew-competition-rules[open] .crew-competition-rules__cta i{transform:rotate(90deg);}
.crew-competition-rules__body{padding:0 12px 11px;border-top:1px solid #ebe3de;padding-top:10px;}

/* El Fantasma: limpio, discreto y nada deportivo. */
.hud__wanted--party.is-professional .is-icon{
  color:#e8f0ff!important;
  animation:ghostBadge 1.9s ease-in-out infinite;
}
.hud__wanted--party.is-professional .is-score{
  color:#f4f7ff!important;
  text-shadow:0 0 10px rgba(191,211,255,.28)!important;
}
@keyframes ghostBadge{
  0%,100%{transform:translateY(0);opacity:.88;filter:drop-shadow(0 0 2px rgba(190,211,255,.18))}
  50%{transform:translateY(-1.5px);opacity:1;filter:drop-shadow(0 0 8px rgba(190,211,255,.52))}
}
.crew-competition-spotlight--clean{
  border-color:#cfd8e7;
  background:linear-gradient(145deg,#f7f9ff,#fff);
  box-shadow:inset 4px 0 0 #9fb0ce,0 9px 22px rgba(46,62,91,.06);
}
.crew-competition-spotlight--clean .crew-competition-spotlight__icon{
  background:#252a35;
  color:#edf3ff;
  box-shadow:0 0 0 1px rgba(221,233,255,.18) inset,0 0 15px rgba(154,183,232,.10);
}
.crew-competition-spotlight--clean .crew-competition-spotlight__copy small{color:#687a9b;}

.crew-ranking-rest{display:grid;gap:8px;}
.crew-ranking-rest__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:2px 2px 0;}
.crew-ranking-rest__heading strong{font-size:8px;letter-spacing:.095em;color:#4a4247;}
.crew-ranking-rest__heading small{font-size:7.5px;color:#8a7e84;text-align:right;}

.crew-wanted-view.is-swipe-enter-right,
.crew-member-list.is-swipe-enter-right{animation:crewViewEnterRight .27s cubic-bezier(.2,.78,.2,1);}
.crew-wanted-view.is-swipe-enter-left,
.crew-member-list.is-swipe-enter-left{animation:crewViewEnterLeft .27s cubic-bezier(.2,.78,.2,1);}
@keyframes crewViewEnterRight{from{opacity:.72;transform:translate3d(26px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes crewViewEnterLeft{from{opacity:.72;transform:translate3d(-26px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}

@media(max-width:720px){
  .crew-browser__views{--crew-view-pad-x:12px;--crew-view-gap:5px;}
  .crew-browser__views::before{left:var(--crew-view-pad-x);top:8px;height:36px;border-radius:10px;}
  .crew-competition-rules summary{grid-template-columns:1fr;gap:7px;padding:9px 10px;}
  .crew-competition-rules__lead strong{font-size:8px;}
  .crew-competition-rules__lead small{font-size:8px;}
  .crew-competition-rules__cta{justify-self:start;font-size:7px;}
  .crew-competition-rules__body{padding:9px 10px 10px;}
  .crew-ranking-rest__heading{display:grid;gap:2px;}
  .crew-ranking-rest__heading small{text-align:left;font-size:7px;}
}

@media(prefers-reduced-motion:reduce){
  .crew-browser__views::before{transition:none!important;}
  .hud__wanted--party.is-professional .is-icon{animation:none!important;}
}

/* V21.57 · Clasificación y La Banda son dos caras del mismo carrusel */
.crew-browser__context{
  position:relative;
  z-index:5;
  min-height:58px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  padding:9px 22px;
  border-top:1px solid #e5dcd7;
  border-bottom:1px solid #e5dcd7;
  background:#f8f4f1;
}
.crew-browser__context[hidden]{display:none!important;}
.crew-browser__context-copy{display:grid;gap:2px;min-width:0;}
.crew-browser__context-copy strong{
  color:#3e373c;
  font-size:9px;
  font-weight:1000;
  line-height:1.2;
  letter-spacing:.075em;
}
.crew-browser__context-copy span{
  color:#81767c;
  font-size:8.5px;
  font-weight:800;
  line-height:1.35;
}
.crew-browser__context-action{
  border:0;
  background:transparent;
  padding:8px 0 8px 10px;
  color:#554b51;
  font:inherit;
  font-size:7.5px;
  font-weight:1000;
  letter-spacing:.09em;
  white-space:nowrap;
  cursor:pointer;
}
.crew-browser__context-action:hover{color:#211d22;}
.crew-browser__context-action[hidden]{display:none!important;}
.crew-browser__context-help{
  position:absolute;
  z-index:20;
  top:calc(100% + 7px);
  right:22px;
  width:min(430px,calc(100vw - 44px));
  display:grid;
  gap:7px;
  padding:13px 38px 13px 14px;
  border:1px solid #dcd1ca;
  border-radius:14px;
  background:#fffdfb;
  box-shadow:0 18px 42px rgba(31,24,32,.16);
}
.crew-browser__context-help[hidden]{display:none!important;}
.crew-browser__context-help p{margin:0;color:#70656c;font-size:9px;line-height:1.48;}
.crew-browser__context-help strong{color:#342e33;}
.crew-browser__context-help-close{
  position:absolute;
  top:7px;
  right:8px;
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  background:#f1ebe7;
  color:#71666d;
  font:inherit;
  font-size:16px;
  cursor:pointer;
}

/* La altura útil del modal ya no depende de cuál de las dos caras esté activa. */
.crew-browser__main{
  min-width:0;
  min-height:0;
  overflow:hidden!important;
  padding:0!important;
  overscroll-behavior:contain;
  touch-action:pan-y;
}
.crew-browser__track{
  --crew-view-progress:0;
  display:flex;
  width:200%;
  height:100%;
  min-height:0;
  transform:translate3d(calc(var(--crew-view-progress) * -50%),0,0);
  transition:transform .28s cubic-bezier(.2,.78,.2,1);
  will-change:transform;
}
.crew-browser__track.is-dragging{transition:none;}
.crew-browser__slide{
  flex:0 0 50%;
  width:50%;
  height:100%;
  min-width:0;
  min-height:0;
  overflow-x:hidden;
  overflow-y:auto;
  padding:18px 22px 22px;
  overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;
}
/* Ambos contenidos empiezan exactamente en el mismo eje vertical. */
.crew-browser__slide>.crew-wanted-view,
.crew-browser__slide>.crew-member-list{margin:0;}

/* La regla ya vive en la franja común; evitamos un segundo bloque arriba del ranking. */
.crew-wanted-view>.crew-competition-rules{display:none!important;}

@media(max-width:720px){
  .crew-browser__context{
    min-height:54px;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    padding:8px 12px;
  }
  .crew-browser__context-copy strong{font-size:8px;}
  .crew-browser__context-copy span{font-size:7.8px;}
  .crew-browser__context-action{padding-left:5px;font-size:6.7px;}
  .crew-browser__context-help{
    right:12px;
    width:min(390px,calc(100vw - 24px));
    padding:12px 36px 12px 12px;
  }
  .crew-browser__context-help p{font-size:8.2px;}
  .crew-browser__main{position:absolute;inset:0;overflow:hidden!important;padding:0!important;}
  .crew-browser__slide{padding:12px 12px max(20px,env(safe-area-inset-bottom));}
}

@media(prefers-reduced-motion:reduce){
  .crew-browser__track{transition:none!important;}
}

/* V21.58 · Menos explicación, semántica única y cierre visual más compacto */
.crew-browser__context{
  min-height:48px;
  grid-template-columns:minmax(0,1fr);
  gap:0;
  padding:7px 22px;
}
.crew-browser__context-copy{gap:1px;}
.crew-browser__context-copy strong{font-size:8.5px;}
.crew-browser__context-copy span{font-size:8px;}
/* Ya no hay popup ni CTA de reglas: la clasificación debe explicarse sola. */
.crew-browser__context-action,
.crew-browser__context-help{display:none!important;}

.crew-browser__slide{
  padding:14px 22px 9px;
  scroll-padding-bottom:12px;
}
.crew-ranking-rest{padding-bottom:0;}
.crew-wanted-grid,.crew-member-list{padding-bottom:0;}

@media(max-width:720px){
  .crew-browser__context{
    min-height:46px;
    padding:6px 12px;
  }
  .crew-browser__context-copy strong{font-size:7.8px;}
  .crew-browser__context-copy span{font-size:7.4px;}
  .crew-browser__slide{
    padding:10px 12px 8px;
    scroll-padding-bottom:14px;
  }
}

/* V21.59 · Progreso único, reglas visibles y selector con respiración simétrica */
.crew-browser__views{
  padding-bottom:10px;
}

.crew-classification-guide{
  display:grid;
  gap:8px;
  padding:11px 12px;
  border:1px solid #e3d9d3;
  border-radius:13px;
  background:#fbf8f5;
}
.crew-classification-guide>strong{
  font-size:7.5px;
  font-weight:1000;
  letter-spacing:.11em;
  color:#5b5056;
}
.crew-classification-guide__rules{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
}
.crew-classification-guide__rules>span{
  min-width:0;
  display:grid;
  gap:2px;
  padding:8px 9px;
  border:1px solid #e8dfda;
  border-radius:10px;
  background:#fffdfb;
}
.crew-classification-guide__rules b{
  font-size:7.2px;
  line-height:1.2;
  letter-spacing:.045em;
  color:#3e373c;
}
.crew-classification-guide__rules small{
  font-size:7.5px;
  line-height:1.3;
  font-weight:800;
  color:#81767c;
}

@media(max-width:720px){
  .crew-browser__views{padding-bottom:8px;}
  .crew-classification-guide{gap:7px;padding:9px 10px;border-radius:12px;}
  .crew-classification-guide>strong{font-size:7px;}
  .crew-classification-guide__rules{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}
  .crew-classification-guide__rules>span{padding:7px 8px;border-radius:9px;}
  .crew-classification-guide__rules b{font-size:6.8px;}
  .crew-classification-guide__rules small{font-size:7px;}
}


/* V21.60 · Ayuda desplegable integrada + cierre móvil ligado al scroll real */
.crew-classification-guide{display:none!important;}

.crew-browser__context.is-ranking{
  display:block;
  min-height:0;
  padding:0 22px;
}
.crew-browser__context.is-ranking .crew-browser__context-copy{display:none!important;}
.crew-classification-help{
  width:100%;
  margin:0;
  border:0;
  background:transparent;
}
.crew-classification-help[hidden]{display:none!important;}
.crew-classification-help summary{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:8px 0;
  list-style:none;
  cursor:pointer;
  user-select:none;
}
.crew-classification-help summary::-webkit-details-marker{display:none;}
.crew-classification-help summary>strong{
  min-width:0;
  color:#3e373c;
  font-size:8.5px;
  font-weight:1000;
  line-height:1.2;
  letter-spacing:.075em;
}
.crew-classification-help summary>span{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#62575e;
  font-size:7.4px;
  font-weight:1000;
  letter-spacing:.085em;
  white-space:nowrap;
}
.crew-classification-help summary i{
  font-style:normal;
  font-size:13px;
  line-height:1;
  transition:transform .2s cubic-bezier(.2,.78,.2,1);
}
.crew-classification-help[open] summary i{transform:rotate(90deg);}
.crew-classification-help__body{
  display:grid;
  gap:6px;
  padding:0 0 11px;
  border-top:1px solid #e6ddd8;
  padding-top:9px;
}
.crew-classification-help__body p{
  margin:0;
  color:#71666c;
  font-size:8.5px;
  line-height:1.45;
}
.crew-classification-help__body b{color:#3d353a;}

/* El selector mantiene aire equivalente arriba y abajo. */
.crew-browser__views{padding-bottom:12px;}

@media(max-width:720px){
  .crew-browser__context.is-ranking{padding:0 12px;}
  .crew-classification-help summary{min-height:46px;padding:7px 0;gap:9px;}
  .crew-classification-help summary>strong{font-size:7.8px;}
  .crew-classification-help summary>span{font-size:6.8px;}
  .crew-classification-help__body{gap:5px;padding-top:8px;padding-bottom:10px;}
  .crew-classification-help__body p{font-size:8px;}
  .crew-browser__views{padding-bottom:10px;}
}

/* V21.61 · Tu operación visible sin mover los datos personales */
.party-operation-summary{
  appearance:none;
  width:100%;
  display:grid;
  gap:10px;
  padding:16px 18px;
  border:1px solid #d9c7d0;
  border-radius:17px;
  background:linear-gradient(145deg,#fffafc,#fffdfa);
  color:var(--ink);
  box-shadow:0 10px 26px rgba(69,35,54,.07);
  text-align:left;
  font:inherit;
  cursor:pointer;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.party-operation-summary:hover{
  transform:translateY(-1px);
  border-color:#cfacc0;
  box-shadow:0 13px 30px rgba(69,35,54,.10);
}
.party-operation-summary:focus-visible{outline:3px solid rgba(225,82,153,.20);outline-offset:3px;}
.party-operation-summary__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.party-operation-summary__head>span:first-child{display:grid;gap:2px;min-width:0;}
.party-operation-summary__head small{
  color:#a54a77;
  font-size:8px;
  font-weight:1000;
  letter-spacing:.12em;
}
.party-operation-summary__head strong{
  font-size:18px;
  line-height:1.05;
  letter-spacing:-.02em;
}
.party-operation-summary__arrow{
  flex:0 0 auto;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid #dfd1d8;
  border-radius:50%;
  background:#fff;
  font-size:17px;
  font-weight:1000;
  transition:transform .16s ease;
}
.party-operation-summary:hover .party-operation-summary__arrow{transform:translateX(2px);}
.party-operation-summary__progress{display:grid;grid-template-columns:auto minmax(90px,1fr);align-items:center;gap:12px;}
.party-operation-summary__progress b{font-size:10px;font-weight:1000;letter-spacing:.075em;white-space:nowrap;}
.party-operation-summary__bar{height:6px;overflow:hidden;border-radius:999px;background:#eee4e8;}
.party-operation-summary__bar i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#df4f98,#f095c2);transition:width .28s cubic-bezier(.2,.78,.2,1);}
.party-operation-summary__meta{color:var(--muted);font-size:10px;font-weight:800;line-height:1.35;}
.party-operation-summary.is-complete{border-color:#bddcc9;background:linear-gradient(145deg,#f7fff9,#fffdfa);}
.party-operation-summary.is-complete .party-operation-summary__head small{color:#2d7c50;}
.party-operation-summary.is-complete .party-operation-summary__bar i{background:linear-gradient(90deg,#4ba771,#84c89c);}

/* La portada de Mi expediente no cambia: El Golpe solo añade esta entrada. */
.character-file-block--heist>header h4{font-size:15px;}
.character-file-block--heist>header small{letter-spacing:.105em;}

@media(max-width:620px){
  .party-operation-summary{gap:9px;padding:13px 14px;border-radius:14px;}
  .party-operation-summary__head strong{font-size:16px;}
  .party-operation-summary__head small{font-size:7px;}
  .party-operation-summary__arrow{width:31px;height:31px;font-size:15px;}
  .party-operation-summary__progress{grid-template-columns:1fr;gap:7px;}
  .party-operation-summary__progress b{font-size:9px;}
  .party-operation-summary__meta{font-size:8.5px;}
}

@media(prefers-reduced-motion:reduce){
  .party-operation-summary,.party-operation-summary__arrow,.party-operation-summary__bar i{transition:none!important;}
}


/* V21.62 · El resumen de operación es el primer bloque inequívoco del dashboard. */
#partyDashboard > .party-operation-summary{order:-30;}
.party-operation-summary{position:relative;overflow:hidden;}
.party-operation-summary::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,#df4f98,#7c4cff);opacity:.8;}
@media(max-width:620px){.party-operation-summary::before{width:2px;}}


/* V21.64 · Jerarquía estable de El Golpe: progreso → social → objetivos. */
#partyDashboard > .section-nav--party{order:-20;}
#partyDashboard > #partyControl{order:0;}
#partyDashboard > .party-mode__footer{order:20;}

/* V21.65 · El Golpe: estado útil arriba, social después y objetivos como acciones. */
.hud__quick-funds{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:3px 8px;
  border:1px solid rgba(139,238,178,.24);
  border-radius:999px;
  background:rgba(92,181,125,.12);
  color:#aaf0c1;
  font-size:9px;
  font-weight:1000;
  letter-spacing:.045em;
  line-height:1;
  white-space:nowrap;
}
.hud__quick-funds[hidden]{display:none!important;}

.party-mode__hero{align-items:flex-start;}
.party-mode__hero-copy{min-width:0;flex:1 1 auto;}
.party-mode__hero-copy>p{font-size:10px;font-weight:900;letter-spacing:.105em;color:rgba(255,255,255,.62);}
.party-mode__brand{padding-top:7px;color:rgba(255,255,255,.5);}
.party-mode__brand span{font-size:18px;color:#ff89c7;}

/* Tu operación ya pertenece visualmente a la cabecera de El Golpe. */
.party-mode__hero .party-operation-summary{
  width:min(100%,590px);
  margin-top:22px;
  gap:8px;
  padding:13px 15px;
  border-color:rgba(255,255,255,.14);
  border-radius:14px;
  background:rgba(12,10,16,.24);
  color:#fff;
  box-shadow:none;
  backdrop-filter:blur(7px);
}
.party-mode__hero .party-operation-summary::before{display:none;}
.party-mode__hero .party-operation-summary:hover{transform:none;border-color:rgba(255,255,255,.24);box-shadow:none;background:rgba(12,10,16,.32);}
.party-mode__hero .party-operation-summary__head small{color:#ff9ece;}
.party-mode__hero .party-operation-summary__head strong{font-size:13px;letter-spacing:.05em;}
.party-mode__hero .party-operation-summary__arrow{width:29px;height:29px;border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.07);color:#fff;font-size:14px;}
.party-mode__hero .party-operation-summary__progress{display:block;}
.party-mode__hero .party-operation-summary__bar{height:5px;background:rgba(255,255,255,.12);}
.party-mode__hero .party-operation-summary__meta{color:rgba(255,255,255,.62);font-size:9px;}
.party-mode__hero .party-operation-summary.is-complete{border-color:rgba(132,214,164,.26);background:rgba(60,129,84,.16);}

/* El dashboard comienza por la parte social; los objetivos expandibles van después. */
#partyDashboard > .section-nav--party{order:-20;}
#partyDashboard > #partyControl{order:0;}
#partyDashboard > .party-mode__footer{order:20;}

.objectives-panel{padding:20px;overflow:hidden;}
.objectives-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;}
.objectives-panel__head>div{min-width:0;}
.objectives-panel__head small{display:block;margin-bottom:3px;color:#a54a77;font-size:8px;font-weight:1000;letter-spacing:.13em;}
.objectives-panel__head h2{margin:0;font-size:clamp(22px,3vw,30px);line-height:1.08;}
.objectives-panel__head p{margin:5px 0 0;color:var(--muted);font-size:10px;font-weight:800;}
.objectives-code-toggle{appearance:none;flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:8px 11px;border:1px solid #ded3d9;border-radius:11px;background:#fff;color:#51464c;font-size:8px;font-weight:1000;letter-spacing:.085em;cursor:pointer;}
.objectives-code-toggle b{font-size:16px;line-height:1;color:#bd4f84;}
.objectives-code-toggle.is-open{border-color:#cdaabd;background:#fff8fb;}

.mission-code-drawer{margin-top:13px;padding:13px;border:1px solid #e1d6dc;border-radius:13px;background:#faf7f8;animation:rise .2s ease;}
.mission-code-drawer[hidden]{display:none!important;}
.mission-code-drawer>label{display:block;margin-bottom:7px;color:#756a70;font-size:8px;font-weight:1000;letter-spacing:.12em;}
.mission-code-drawer .code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;}
.mission-code-drawer .code-row input{margin:0;text-transform:uppercase;font-weight:950;letter-spacing:.09em;}
.mission-code-drawer .code-row button{border:0;border-radius:11px;background:var(--dark);color:#fff;padding:0 14px;font-size:9px;font-weight:1000;letter-spacing:.06em;}
.mission-code-message{min-height:0;margin:7px 0 0;font-size:9px;font-weight:850;color:var(--muted);}
.mission-code-message:empty{display:none;}
.mission-code-message.is-error{color:#b84853;}
.mission-code-message.is-success{color:#33805a;}

.mission-card-list{display:grid;gap:9px;margin-top:16px;}
.mission-card-empty{display:grid;place-items:center;gap:4px;min-height:118px;padding:18px;border:1px dashed #ded2d8;border-radius:14px;background:#fbf9f8;text-align:center;color:#8a7f85;}
.mission-card-empty>span{font-size:22px;color:#c6b7bf;}
.mission-card-empty strong{font-size:9px;letter-spacing:.11em;color:#675c62;}
.mission-card-empty small{font-size:9px;}

.objective-card{overflow:hidden;border:1px solid #e0d5da;border-radius:14px;background:#fff;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;}
.objective-card[open]{border-color:#d4b9c7;box-shadow:0 10px 25px rgba(50,29,41,.07);}
.objective-card.is-completed{background:#fafaf8;border-color:#dbe4dc;}
.objective-card>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:64px;padding:12px 14px;cursor:pointer;-webkit-tap-highlight-color:transparent;}
.objective-card>summary::-webkit-details-marker{display:none;}
.objective-card__summary-copy{display:grid;gap:2px;min-width:0;}
.objective-card__summary-copy small{font-size:7.5px;font-weight:1000;letter-spacing:.11em;color:#a45b7d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.objective-card__summary-copy strong{font-size:13px;line-height:1.22;color:#332c30;}
.objective-card__status{display:flex;align-items:center;gap:8px;flex:0 0 auto;}
.objective-card__status b{font-size:7.5px;font-weight:1000;letter-spacing:.09em;color:#9a627e;}
.objective-card.is-completed .objective-card__status b{color:#438260;}
.objective-card__status i{font-style:normal;font-size:14px;color:#9a8f94;transition:transform .18s ease;}
.objective-card[open] .objective-card__status i{transform:rotate(180deg);}
.objective-card__body{padding:0 14px 15px;border-top:1px solid #eee6ea;}
.objective-card__body>.mission-intro{margin:13px 0 10px;color:#61575d;font-size:12px;line-height:1.5;}
.objective-card__body .mission-rules{color:#554b51;}
.objective-card__body .mission-rules>b{display:block;margin:12px 0 6px;font-size:8px;letter-spacing:.12em;color:#a54a77;}
.objective-card__body .mission-rules ol{margin:0;padding-left:20px;display:grid;gap:6px;font-size:11px;line-height:1.45;}
.objective-card__body .mission-end{margin-top:12px;padding:10px 11px;border-radius:10px;background:#f6f1f3;color:#63575d;font-size:10px;font-weight:800;line-height:1.4;}
.objective-card__body .mission-reward{margin-top:11px;color:#b6447c;font-size:9px;font-weight:1000;letter-spacing:.08em;}
.objective-card__complete{width:100%;margin-top:14px;}
.objective-card.is-completed:not([open])>summary{min-height:52px;padding-block:9px;}
.objective-card.is-completed:not([open]) .objective-card__summary-copy strong{font-size:12px;}

@media(max-width:760px){
  .hud__quick-funds{min-height:22px;padding:3px 6px;font-size:8px;}
  .party-mode__hero{min-height:0;padding:24px 20px 22px;}
  .party-mode__brand{margin-top:18px;}
  .party-mode__hero .party-operation-summary{margin-top:18px;padding:12px 13px;}
  .objectives-panel{padding:15px 14px;}
  .objectives-panel__head{gap:10px;}
  .objectives-panel__head h2{font-size:22px;}
  .objectives-code-toggle{min-height:36px;padding:7px 9px;}
  .objectives-code-toggle span{font-size:7.5px;}
  .mission-code-drawer .code-row{grid-template-columns:1fr;}
  .mission-code-drawer .code-row button{min-height:42px;}
  .objective-card>summary{min-height:60px;padding:11px 12px;}
  .objective-card__summary-copy strong{font-size:12px;}
  .objective-card__body{padding:0 12px 13px;}
}

@media(prefers-reduced-motion:reduce){
  .objective-card,.objective-card__status i{transition:none!important;}
  .mission-code-drawer{animation:none!important;}
}

/* V21.68 · Regression-safe visual pass.
   IMPORTANT: no changes to El Golpe session/objective JS. These rules only restyle
   the V21.65 objective DOM so it shares the invitation operation language. */
.hud__menu-meta{
  min-width:0;
  display:grid;
  justify-items:end;
  gap:3px;
}
.hud__menu-meta .hud__menu-label{line-height:1.05;}
.hud__menu-meta .hud__quick-funds{
  color:#aaf0c1;
  border-color:rgba(139,238,178,.26);
  background:rgba(92,181,125,.13);
}

/* Same visual skeleton as .operation-stage, without changing objective JS/HTML. */
.mission-card-list{counter-reset:party-objective;gap:0;margin-top:16px;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:#fff;}
.mission-card-list>.objective-card{counter-increment:party-objective;}
.objective-card{
  border:0;
  border-bottom:1px solid var(--border);
  border-radius:0;
  background:#fff;
  box-shadow:none;
  overflow:hidden;
}
.objective-card:last-child{border-bottom:0;}
.objective-card[open]{border-color:var(--border);box-shadow:none;}
.objective-card>summary{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  min-height:68px;
  padding:12px 16px;
  background:#fff;
  transition:background-color .16s ease;
}
.objective-card>summary:hover{background:#fff8fc;}
.objective-card>summary::before{
  content:counter(party-objective, decimal-leading-zero);
  width:34px;
  height:34px;
  border:1px solid rgba(236,92,166,.45);
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--pink-soft);
  color:var(--pink);
  font-size:10px;
  font-weight:1000;
  box-shadow:0 0 0 4px rgba(236,92,166,.06);
}
.objective-card.is-completed>summary::before{
  content:"✓";
  border-color:#bfe2cb;
  background:#eefaf2;
  color:#2e8b57;
  font-size:17px;
  box-shadow:none;
}
.objective-card__summary-copy{display:grid;gap:2px;min-width:0;}
.objective-card__summary-copy small{font-size:8px;font-weight:950;letter-spacing:.15em;color:var(--muted);}
.objective-card__summary-copy strong{font-size:15px;line-height:1.25;color:var(--ink);letter-spacing:.01em;}
.objective-card__status{display:flex;align-items:center;gap:10px;color:var(--pink);}
.objective-card__status b{font-size:8px;font-weight:1000;letter-spacing:.1em;color:currentColor;}
.objective-card__status i{
  width:8px;
  height:8px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  font-size:0;
  transform:rotate(45deg);
  transition:transform .2s ease;
}
.objective-card[open] .objective-card__status i{transform:rotate(225deg);}
.objective-card.is-completed .objective-card__status{color:#2e8b57;}
.objective-card__body{
  padding:0 18px 20px;
  border-top:0;
  background:linear-gradient(180deg,#fff,#fffdfa);
  color:var(--ink);
}
.objective-card__body::before{content:"";display:block;border-top:1px solid var(--border);margin-bottom:14px;}
.objective-card__body>.mission-intro{margin:0 0 13px;color:#544b50;font-size:13px;line-height:1.55;}
.objective-card__body .mission-rules,
.objective-card__body .mission-rules ol,
.objective-card__body .mission-rules li{color:#544b50;}
.objective-card__body .mission-rules>b{margin:12px 0 7px;color:var(--muted);font-size:8px;font-weight:1000;letter-spacing:.15em;}
.objective-card__body .mission-rules ol{font-size:12px;line-height:1.5;gap:7px;}
.objective-card__body .mission-end{margin-top:14px;padding:11px 13px;border:1px solid var(--border);border-radius:13px;background:#faf6f2;color:#5b5257;font-size:10px;line-height:1.45;}
.objective-card__body .mission-reward{display:block;margin-top:13px;padding:10px 12px;border:1px dashed #e4bfd1;border-radius:12px;background:#fff7fb;color:#a14f78;font-size:9px;font-weight:1000;letter-spacing:.08em;}
.objective-card.is-completed .mission-reward{border-color:#cde4d5;background:#f4fbf6;color:#3d7f58;}

/* Fix legacy dark-game colors inside the now-light objective card. */
.objective-card .mission-economy-actions{
  margin:15px 0 0;
  padding:14px;
  border:1px solid var(--border);
  border-radius:14px;
  background:#fff;
  color:var(--ink);
}
.objective-card .mission-economy-actions__head small{color:var(--pink);}
.objective-card .mission-economy-actions__head strong{color:var(--ink);}
.objective-card .mission-economy-actions__copy,
.objective-card .mission-economy-actions__done{color:#544b50;}
.objective-card .mission-economy-actions__done{color:#2e8b57;}
.objective-card .mission-economy-actions__score label>span{color:var(--muted);}
.objective-card .mission-economy-actions__score input{
  border-color:var(--border);
  background:#fff;
  color:var(--ink);
}
.objective-card .mission-economy-actions__message{color:var(--muted);}
.objective-card .mission-economy-actions__message.is-error{color:#b84853;}
.objective-card .mission-economy-actions__message.is-success{color:#2e8b57;}

/* Empty state stays outside the stage frame visually. */
.mission-card-list:has(.mission-card-empty){border:0;background:transparent;overflow:visible;}
.mission-card-empty{margin:0;}

@media(max-width:760px){
  .hud__menu-meta{gap:2px;}
  .hud__menu-meta .hud__menu-label{max-width:108px;font-size:8.5px;}
  .hud__menu-meta .hud__quick-funds{min-height:20px;padding:2px 7px;font-size:7px;}
  .objective-card>summary{grid-template-columns:30px minmax(0,1fr) auto;gap:9px;min-height:64px;padding:11px 13px;}
  .objective-card>summary::before{width:30px;height:30px;font-size:9px;}
  .objective-card.is-completed>summary::before{font-size:15px;}
  .objective-card__summary-copy strong{font-size:13px;}
  .objective-card__status{gap:6px;}
  .objective-card__status b{font-size:7px;}
  .objective-card__body{padding:0 14px 17px;}
  .objective-card__body>.mission-intro{font-size:12px;}
  .objective-card__body .mission-rules ol{font-size:11px;}
}

@supports not selector(:has(*)){
  .mission-card-list{border:0;background:transparent;overflow:visible;}
  .mission-card-list>.objective-card{border-left:1px solid var(--border);border-right:1px solid var(--border);}
  .mission-card-list>.objective-card:first-child{border-top:1px solid var(--border);border-radius:16px 16px 0 0;}
  .mission-card-list>.objective-card:last-child{border-bottom:1px solid var(--border);border-radius:0 0 16px 16px;}
}

/* V21.69 · Operación compartida: invitación y El Golpe usan el mismo esqueleto real. */
.party-operation-card{padding:0;overflow:hidden;}
.party-operation-card__header{background:linear-gradient(145deg,#fffdfa,#fff7fb);}
.party-operation-card__title p{margin:0;color:var(--muted);font-size:12px;}

/* Tu progreso ocupa el mismo hueco y lenguaje que .operation-progress de la invitación. */
.party-operation-card .party-operation-summary{
  width:auto;
  min-width:116px;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:13px;
  background:#fff;
  color:var(--ink);
  box-shadow:none;
  display:grid;
  gap:3px;
  text-align:center;
  transform:none;
}
.party-operation-card .party-operation-summary::before{display:none;}
.party-operation-card .party-operation-summary:hover{
  transform:none;
  border-color:#d9cbd2;
  box-shadow:none;
  background:#fff;
}
.party-operation-card .party-operation-summary>small{
  color:var(--muted);
  font-size:8px;
  font-weight:950;
  letter-spacing:.13em;
}
.party-operation-card .party-operation-summary>strong{
  font-size:16px;
  line-height:1;
  letter-spacing:-.03em;
}
.party-operation-card .party-operation-summary__bar{
  width:100%;
  height:5px;
  margin-top:3px;
  overflow:hidden;
  border-radius:999px;
  background:#eee4e8;
}
.party-operation-card .party-operation-summary__bar i{
  display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#df4f98,#f095c2);
  transition:width .28s cubic-bezier(.2,.78,.2,1);
}
.party-operation-card .party-operation-summary__meta{display:none;}
.party-operation-card .party-operation-summary.is-complete{
  border-color:#bfe2cb;
  background:#f4fff8;
  color:#2e7750;
}
.party-operation-card .party-operation-summary.is-complete .party-operation-summary__bar i{
  background:linear-gradient(90deg,#4ba771,#84c89c);
}

/* El acceso al código ocupa el mismo slot que La Banda dentro de Operación 30. */
.party-operation-card .party-code-access{
  width:auto;
  max-width:330px;
}
.party-operation-card .party-code-access .operation-social__state{
  width:28px;
  height:28px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.08);
}
.party-operation-card .party-code-access b{font-size:17px;line-height:1;}
.party-operation-card .party-code-access.is-open .operation-social__state{color:#fff;}

/* El cajón de código es contenido auxiliar de la operación, no otra tarjeta. */
.party-operation-card .mission-code-drawer{
  margin:0;
  padding:14px clamp(18px,3vw,30px);
  border:0;
  border-top:1px solid var(--border);
  border-radius:0;
  background:#faf7f8;
}
.party-operation-card .mission-code-drawer .code-row{max-width:560px;}

/* La lista ES el mismo .operation-stages que la invitación. */
.party-operation-card .mission-card-list{
  display:block;
  margin:0;
  gap:0;
  border:0;
  border-top:1px solid var(--border);
  border-radius:0;
  overflow:visible;
  background:#fff;
  counter-reset:none;
}
.party-operation-card .party-objective-stage{background:#fff;}
.party-operation-card .party-objective-stage:last-child{border-bottom:0;}
.party-operation-card .party-objective-stage__content{padding-top:4px;color:var(--ink);}
.party-operation-card .party-objective-stage__content>.mission-intro{
  margin:0 0 14px;
  color:#544b50;
  font-size:13px;
  line-height:1.55;
}
.party-operation-card .party-objective-stage__content .mission-rules{color:#544b50;}
.party-operation-card .party-objective-stage__content .mission-rules>b{
  display:block;
  margin:0 0 8px;
  color:var(--muted);
  font-size:8px;
  font-weight:1000;
  letter-spacing:.15em;
}
.party-operation-card .party-objective-stage__content .mission-rules ol{
  margin:0;
  padding-left:18px;
  display:grid;
  gap:7px;
  color:#544b50;
  font-size:12px;
  line-height:1.5;
}
.party-operation-card .party-objective-stage__content .mission-end{
  margin-top:14px;
  padding:11px 13px;
  border:1px solid var(--border);
  border-radius:13px;
  background:#faf6f2;
  color:#5b5257;
  font-size:10px;
  font-weight:800;
  line-height:1.45;
}
.party-operation-card .party-objective-stage__content .mission-reward{
  display:block;
  margin-top:13px;
  padding:10px 12px;
  border:1px dashed #e4bfd1;
  border-radius:12px;
  background:#fff7fb;
  color:#a14f78;
  font-size:9px;
  font-weight:1000;
  letter-spacing:.08em;
}
.party-operation-card .party-objective-stage.is-completed .mission-reward{
  border-color:#cde4d5;
  background:#f4fbf6;
  color:#3d7f58;
}

/* Resultado/economía también se adapta al panel claro compartido. */
.party-operation-card .mission-economy-actions{
  margin:15px 0 0;
  padding:14px;
  border:1px solid var(--border);
  border-radius:14px;
  background:#fff;
  color:var(--ink);
}
.party-operation-card .mission-economy-actions__head small{color:var(--pink);}
.party-operation-card .mission-economy-actions__head strong{color:var(--ink);}
.party-operation-card .mission-economy-actions__copy{color:#544b50;}
.party-operation-card .mission-economy-actions__done{color:#2e8b57;}
.party-operation-card .mission-economy-actions__score label>span{color:var(--muted);}
.party-operation-card .mission-economy-actions__score input{border-color:var(--border);background:#fff;color:var(--ink);}
.party-operation-card .mission-economy-actions__message{color:var(--muted);}
.party-operation-card .mission-economy-actions__message.is-error{color:#b84853;}
.party-operation-card .mission-economy-actions__message.is-success{color:#2e8b57;}

.party-operation-card .mission-card-empty{
  margin:18px;
  min-height:112px;
  border:1px dashed var(--border);
  border-radius:14px;
  background:#fbf9f8;
}

@media(max-width:900px){
  .party-operation-card .party-code-access{max-width:none;}
}
@media(max-width:720px){
  .party-operation-card .party-operation-summary{width:100%;min-width:0;}
  .party-operation-card .party-code-access{width:100%;max-width:none;}
  .party-operation-card .mission-code-drawer{padding:13px 15px;}
  .party-operation-card .party-objective-stage__content>.mission-intro{font-size:12px;}
  .party-operation-card .party-objective-stage__content .mission-rules ol{font-size:11px;}
}

/* V21.70 · Operación continua: La Banda → código inline → objetivos, sin interacción extra. */
.party-operation-card__tools{
  padding:0 clamp(18px,3vw,30px);
  background:linear-gradient(180deg,#fffdfa,#fff);
  border-top:1px solid var(--border);
}

/* En El Golpe, La Banda recupera exactamente la familia visual clara de la invitación. */
.party-operation-card__crew.section-nav--party{
  display:block;
  margin:0;
  padding:14px 0 12px;
}
.party-operation-card__crew.section-nav--party .section-nav__crew{
  display:flex;
  width:100%;
  min-width:0;
  align-items:stretch;
}
.party-operation-card__crew .crew-access{
  position:relative;
  width:100%;
  min-width:0;
  margin:0;
  overflow:hidden;
  border:1px solid #e3dad4;
  border-radius:17px;
  background:linear-gradient(145deg,#fffdfa,#f7f1ed);
  box-shadow:0 9px 26px rgba(31,19,30,.05);
}
.party-operation-card__crew .crew-access__button{
  appearance:none;
  width:100%;
  min-height:88px;
  padding:15px 17px;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--ink);
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  text-align:left;
  font:inherit;
  box-shadow:none;
}
.party-operation-card__crew .crew-access__button:hover:not(:disabled){
  background:rgba(255,255,255,.55);
  border-color:transparent;
}
.party-operation-card__crew .crew-access__people{
  display:flex;
  align-items:center;
  min-width:76px;
  padding-left:2px;
}
.party-operation-card__crew .crew-access__avatar,
.party-operation-card__crew .crew-access__more{
  width:36px;
  height:36px;
  margin-left:-8px;
  border:2px solid #fffdfa;
  border-radius:50%;
  background:#17151d;
  color:#fff;
  display:grid;
  place-items:center;
  font-size:19px;
  box-shadow:0 4px 10px rgba(31,19,30,.13);
}
.party-operation-card__crew .crew-access__avatar:first-child{margin-left:0;}
.party-operation-card__crew .crew-access__more{
  background:#eee6e1;
  color:#6c6269;
  font-size:7px;
}
.party-operation-card__crew .crew-access__copy{
  display:grid;
  gap:2px;
  min-width:0;
}
.party-operation-card__crew .crew-access__copy>small{
  display:block;
  color:var(--muted);
  font-size:8px;
  font-weight:1000;
  letter-spacing:.15em;
}
.party-operation-card__crew .crew-access__copy>strong{
  color:var(--ink);
  font-size:21px;
  line-height:1.05;
  font-weight:1000;
  letter-spacing:-.025em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.party-operation-card__crew .crew-access__copy>span{
  margin-top:3px;
  color:var(--muted);
  font-size:9px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.055em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.party-operation-card__crew .crew-access__state{
  flex:0 0 auto;
  width:38px;
  height:38px;
  border:1px solid #ddd2cc;
  border-radius:50%;
  background:rgba(255,255,255,.72);
  color:var(--ink);
  display:grid;
  place-items:center;
  font-size:14px;
}
.party-operation-card__crew .crew-access__arrow{font-size:19px;}
.party-operation-card__crew .crew-access.is-live{
  border-color:#cfdedb;
  background:linear-gradient(145deg,#fffdfa,#eef7f5);
}
.party-operation-card__crew .crew-access.is-live .crew-access__copy>small{color:#218c87;}

/* Código siempre visible: utilidad compacta, no una tarjeta ni un acordeón. */
.party-operation-card .mission-code-drawer--inline{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  column-gap:14px;
  row-gap:0;
  margin:0;
  padding:12px 0 14px;
  border:0;
  border-top:1px solid var(--border);
  border-radius:0;
  background:transparent;
  animation:none;
}
.party-operation-card .mission-code-drawer--inline>label{
  margin:0;
  color:var(--muted);
  font-size:8px;
  font-weight:1000;
  letter-spacing:.14em;
  white-space:nowrap;
}
.party-operation-card .mission-code-drawer--inline .code-row{
  width:100%;
  max-width:none;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
}
.party-operation-card .mission-code-drawer--inline .code-row input{
  min-height:40px;
  margin:0;
  padding:0 12px;
  border:1px solid #ded3d9;
  border-radius:11px;
  background:#fff;
  color:var(--ink);
  font-size:13px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:none;
  transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;
}
.party-operation-card .mission-code-drawer--inline .code-row input::placeholder{
  color:#9b9297;
  opacity:1;
}
.party-operation-card .mission-code-drawer--inline .code-row input:hover{
  border-color:#d8b5c7;
}
.party-operation-card .mission-code-drawer--inline .code-row button{
  min-height:40px;
  padding:0 13px;
  border:1px solid #2b2730;
  border-radius:11px;
  background:#211e25;
  color:#fff;
  font-size:8px;
  font-weight:1000;
  letter-spacing:.09em;
  transition:background-color .15s ease,border-color .15s ease,transform .15s ease;
}
.party-operation-card .mission-code-drawer--inline .code-row button:hover{
  background:#2d2832;
  border-color:#413947;
}
.party-operation-card .mission-code-drawer--inline .code-row button:active{transform:translateY(1px);}
.party-operation-card .mission-code-message{
  grid-column:2;
  min-height:0;
  margin:6px 0 0;
  font-size:9px;
}
.party-operation-card .demo-codes{grid-column:2;}

/* Dentro de Operación 30 no aparece el antiguo foco/hover cian. */
.party-operation-card input:focus-visible,
.party-operation-card button:focus-visible,
.party-operation-card .crew-access__button:focus-visible,
.party-operation-card .operation-stage__toggle:focus-visible{
  outline:3px solid rgba(236,92,166,.24);
  outline-offset:2px;
}
.party-operation-card .mission-code-drawer--inline .code-row input:focus-visible{
  border-color:rgba(236,92,166,.62);
  background:#fffafd;
  box-shadow:0 0 0 3px rgba(236,92,166,.10);
}

/* La lista continúa inmediatamente después de las utilidades de la operación. */
.party-operation-card .mission-card-list{border-top:1px solid var(--border);}

@media(max-width:720px){
  .party-operation-card__tools{padding:0 15px;}
  .party-operation-card__crew.section-nav--party{padding:12px 0 10px;}
  .party-operation-card__crew .crew-access__button{min-height:76px;padding:11px 12px;gap:10px;}
  .party-operation-card__crew .crew-access__people{min-width:58px;}
  .party-operation-card__crew .crew-access__avatar,
  .party-operation-card__crew .crew-access__more{width:30px;height:30px;font-size:15px;}
  .party-operation-card__crew .crew-access__copy>strong{font-size:17px;}
  .party-operation-card__crew .crew-access__copy>span{font-size:7px;letter-spacing:.045em;}
  .party-operation-card__crew .crew-access__state{width:32px;height:32px;}
  .party-operation-card .mission-code-drawer--inline{
    grid-template-columns:1fr;
    row-gap:7px;
    padding:11px 0 13px;
  }
  .party-operation-card .mission-code-drawer--inline .code-row{
    grid-template-columns:minmax(0,1fr) auto;
  }
  .party-operation-card .mission-code-drawer--inline .code-row button{
    min-width:44px;
    padding-inline:10px;
  }
  .party-operation-card .mission-code-message,
  .party-operation-card .demo-codes{grid-column:1;}
}

@media(max-width:420px){
  .party-operation-card .mission-code-drawer--inline .code-row button{
    font-size:0;
    width:42px;
    padding:0;
  }
  .party-operation-card .mission-code-drawer--inline .code-row button::after{
    content:"→";
    font-size:17px;
    line-height:1;
  }
}

/* V21.71 · Ritmo vertical idéntico a invitación + herramientas en una fila en escritorio. */
/* El host vacío no debe crear un hueco de grid. Es el mismo patrón que inviteCharacterEditorHost. */
.party-character-editor-host:empty{display:none;}
#partyDashboard{gap:18px;}

/* Escritorio: La Banda y el acceso por código comparten la misma fila de herramientas. */



@media(max-width:720px){
  /* Móvil conserva el flujo aprendido: Banda arriba, código debajo. */
  .party-operation-card__tools{display:block;}
}

/* V21.72 · Escritorio: La Banda conserva su proporción de invitación dentro de la fila de herramientas. */




/* V21.79 · Revisión editorial móvil: menos ruido, más legibilidad y jerarquía coherente. */
 .hud__menu-admin{
  margin-top:2px;
  padding-top:9px;
  border-top:1px solid rgba(255,255,255,.09);
}
.hud__admin-access{
  appearance:none;
  width:100%;
  min-height:34px;
  padding:5px 2px;
  border:0;
  background:transparent;
  color:rgba(255,255,255,.48);
  display:grid;
  grid-template-columns:20px minmax(0,1fr) auto;
  align-items:center;
  gap:7px;
  text-align:left;
  font:inherit;
  font-size:10px;
  font-weight:900;
  letter-spacing:.065em;
}
.hud__admin-access>span:first-child{font-size:12px;text-align:center;}
.hud__admin-access>span:last-child{font-size:12px;color:rgba(255,255,255,.28);}
.hud__admin-access:hover,.hud__admin-access:focus-visible{color:#fff;}
.character-record.is-clean{padding-block:10px;}
.character-record.is-clean .character-record__copy>small,
.character-record.is-clean .character-record__copy>p{display:none;}
.character-record.is-clean .character-record__copy strong{color:#a9f6ca;}

@media(max-width:760px){
  /* Escala editorial mínima: evitamos información útil por debajo de 10 px. */
  .kicker{font-size:10px;letter-spacing:.14em;}
  .micro{font-size:12px;line-height:1.45;}
  .brief-row b{font-size:14px;line-height:1.25;}
  .brief-row small{font-size:12px;line-height:1.42;}

  .operation-progress small{font-size:10px;letter-spacing:.1em;}
  .operation-stage__identity small{font-size:10px;letter-spacing:.11em;}
  .operation-stage__identity strong{font-size:14px;}
  .operation-stage__status{font-size:10px;letter-spacing:.055em;}
  .operation-stage__status>span{max-width:96px;}
  .operation-social__copy strong{font-size:12px;letter-spacing:.045em;}
  .operation-social__copy small{font-size:10px;letter-spacing:.035em;}
  .operation-social .crew-access__more{font-size:9px;}

  .party-mode__hero-copy>p{font-size:11px;letter-spacing:.08em;}
  .party-operation-card .party-operation-summary>small{font-size:10px;letter-spacing:.09em;}
  .party-operation-card .party-operation-summary>strong{font-size:17px;}
  .party-operation-card__crew .crew-access__copy>small{font-size:10px;letter-spacing:.1em;}
  .party-operation-card__crew .crew-access__copy>strong{font-size:18px;}
  .party-operation-card__crew .crew-access__copy>span{font-size:10px;letter-spacing:.03em;}
  .party-operation-card__crew .crew-access__more{font-size:9px;}
  .party-operation-card .mission-code-drawer--inline>label{font-size:10px;letter-spacing:.1em;}
  .party-operation-card .mission-code-drawer--inline .code-row input{font-size:16px;letter-spacing:.055em;}
  .party-operation-card .mission-code-drawer--inline .code-row button{font-size:10px;letter-spacing:.06em;}
  .party-operation-card .mission-code-message{font-size:11px;}
  .mission-card-empty{min-height:94px;}
  .mission-card-empty strong{max-width:250px;font-size:11px;line-height:1.4;letter-spacing:.04em;text-transform:none;}
  .party-operation-card .party-objective-stage__content>.mission-intro{font-size:13px;line-height:1.55;}
  .party-operation-card .party-objective-stage__content .mission-rules>b{font-size:10px;letter-spacing:.1em;}
  .party-operation-card .party-objective-stage__content .mission-rules ol{font-size:12px;line-height:1.5;}
  .party-operation-card .party-objective-stage__content .mission-end{font-size:11px;}
  .party-operation-card .party-objective-stage__content .mission-reward{font-size:10px;letter-spacing:.055em;}
  .mission-economy-actions__head small,
  .mission-economy-actions__score label>span,
  .mission-economy-actions__hint{font-size:10px;letter-spacing:.09em;}
  .mission-economy-actions__message{font-size:11px!important;}

  /* HUD: sigue compacto pero deja de depender de microtexto de 7–8 px. */
  .hud__menu-label,.hud__menu-meta .hud__menu-label{font-size:10px;max-width:112px;}
  .hud__quick-funds,.hud__menu-meta .hud__quick-funds{font-size:9px;}
  .hud__profile-kicker{font-size:10px;letter-spacing:.1em;}
  .hud__player-head small,#hudPlayerMenuStatus{font-size:10px;letter-spacing:.06em;}
  .hud__player-metrics small{font-size:10px;letter-spacing:.08em;}
  .hud__profile-file b{font-size:11px;}
  .hud__profile-file small{font-size:10px;}
  .hud__character-switch>span,.hud__character-switch small,
  .hud__heist-exit>span,.hud__heist-exit small{font-size:10px;letter-spacing:.055em;}
  .hud__announcement strong{font-size:11px;letter-spacing:.07em;}
  .hud__announcement small{font-size:10px;letter-spacing:.04em;}

  /* La Banda y clasificación. */
  .crew-browser__view{font-size:10px;letter-spacing:.07em;}
  .crew-classification-help summary>strong{font-size:10px;letter-spacing:.055em;}
  .crew-classification-help summary>span{font-size:10px;letter-spacing:.055em;}
  .crew-classification-help__body p{font-size:11px;line-height:1.5;}
  .crew-competition-spotlight__copy small{font-size:10px;letter-spacing:.08em;}
  .crew-competition-spotlight__copy strong{font-size:13px;}
  .crew-competition-spotlight__copy span{font-size:10px;line-height:1.4;}
  .crew-ranking-rest__heading strong{font-size:10px;letter-spacing:.075em;}
  .crew-member-card__name b{font-size:14px;}
  .crew-member-card__name em{font-size:9px;}
  .crew-member-card__progress>i{font-size:10px;}
  .crew-member-card__progress small{font-size:10px;letter-spacing:.045em;}
  .crew-member-card__bio{font-size:11px;}
  .crew-member-card__specialties>span{font-size:9px;}
  .crew-profile-sheet__progress{font-size:10px;letter-spacing:.055em;}
  .crew-profile-sheet__bio{font-size:12px;}
  .crew-profile-sheet__metrics small{font-size:10px;letter-spacing:.075em;}
  .crew-profile-sheet__section-title{font-size:10px;letter-spacing:.09em;}
  .crew-profile-ability small{font-size:10px;letter-spacing:.08em;}

  /* Mi expediente. */
  .character-file__identity small{font-size:10px;letter-spacing:.075em;}
  .character-file__identity p{font-size:12px;line-height:1.45;}
  .character-file-block>header small{font-size:10px;letter-spacing:.09em;}
  .character-file-block>header h4{font-size:15px;}
  .character-file-block:not(.is-editing)>header::after{font-size:10px;letter-spacing:.07em;}
  .character-summary-chip,.character-operation-summary .character-summary-chip{font-size:10px;letter-spacing:.025em;}
  .character-file label>span,.character-file fieldset legend,.custom-avatar-input>span,.special-ability-field>span{font-size:10px;letter-spacing:.075em;}
  .character-block-actions .btn,.character-block-actions .text-button{font-size:10px;}
  .character-field-help,.specialty-picker__head small,.special-ability-field small{font-size:10px;}
  .picker-more,.specialty-picker__head b,.specialty-picker__head strong{font-size:10px;letter-spacing:.06em;}
  .specialty-chip{font-size:10px;}
  .character-avatar-fallback__head b{font-size:10px;letter-spacing:.07em;}
  .character-avatar-fallback__head small{font-size:10px;}
  .character-operation__head>span{font-size:10px;letter-spacing:.07em;}
  .character-operation__metrics small{font-size:10px;letter-spacing:.07em;}
  .character-record__copy small{font-size:10px;letter-spacing:.09em;}
  .character-record__copy strong{font-size:13px;}
  .character-record__copy p{font-size:11px;}
  .character-record .btn{font-size:10px;}
  .character-activity__head small{font-size:10px;letter-spacing:.09em;}
  .character-activity__main strong{font-size:11px;}
  .character-activity__main small{font-size:10px;letter-spacing:.04em;}
  .character-activity__delta{font-size:10px;}
  .character-activity__empty{font-size:11px;}
  .character-activity__toggle{font-size:10px;letter-spacing:.08em;}

  /* Selectores de identidad / PIN. */
  .identity-create-new b{font-size:11px;letter-spacing:.055em;}
  .identity-create-new small{font-size:10px;}
  .identity-row__info strong{font-size:14px;}
  .identity-row__info small,.identity-row__meta small{font-size:10px;letter-spacing:.055em;}
  .identity-verify__back,.identity-verify__identity small,.identity-pin-label{font-size:10px;letter-spacing:.075em;}
  .identity-pin-hint{font-size:10px;}
  .identity-verify>.form-message{font-size:11px;}
}

/* V21.80 · Hora integrada en la tarjeta de comida. */
.brief-row--food #timeLabel{color:var(--pink);font-weight:1000;}


/* V21.82 · acceso de anfitrión oculto + herramientas dentro de Administración */
[data-admin-trigger]{
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
}
.admin-tools{display:grid;gap:10px;margin:0 0 14px;}
.admin-tool{
  width:100%;min-height:58px;border:1px solid rgba(236,92,166,.22);border-radius:14px;
  background:linear-gradient(135deg,rgba(236,92,166,.09),rgba(255,255,255,.68));
  color:var(--ink);padding:11px 12px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;gap:10px;text-align:left;
}
.admin-tool>span:first-child{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(236,92,166,.12);font-size:17px;}
.admin-tool b,.admin-tool small{display:block;}
.admin-tool b{font-size:12px;letter-spacing:.055em;}
.admin-tool small{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.3;}
.admin-tool>span:last-child{font-size:16px;color:var(--pink);}
.admin-tool:focus-visible{outline:3px solid rgba(236,92,166,.28);outline-offset:2px;}

/* V21.86 · Panel de administración móvil
   v24.120: the main Admin surface is a normal AppShell view, not a dialog viewport. */
.admin-dialog{
  width:100%;max-width:none;min-height:100%;margin:0;
  border:0;border-radius:0;padding:0;background:transparent;color:var(--ink);
}
.admin-dialog__card{
  width:100%;min-height:100%;max-height:none;overflow:visible;
  background:#f8f4ee;border:0;border-radius:0;padding:0 16px 22px;
  box-shadow:none;scrollbar-width:none;
}
.admin-dialog__card::-webkit-scrollbar{display:none;}
.admin-dialog__head{
  position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:16px;
  margin:0 -16px 14px;padding:17px 16px 13px;background:rgba(248,244,238,.94);
  border-bottom:1px solid rgba(23,21,29,.08);backdrop-filter:blur(16px);
}
.admin-dialog__eyebrow{font-size:10px;line-height:1;font-weight:950;letter-spacing:.13em;color:var(--pink);}
.admin-dialog__head h2{margin:4px 0 0;font-size:24px;line-height:1;font-weight:1000;letter-spacing:-.035em;}
.admin-dialog__close{flex:0 0 auto;}
.admin-auth{padding:8px 2px 4px;}
.admin-auth__icon{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;background:#17151d;color:#fff;font-size:20px;margin-bottom:12px;}
.admin-auth__copy{margin-bottom:16px;}
.admin-auth__copy strong,.admin-auth__copy small{display:block;}
.admin-auth__copy strong{font-size:15px;font-weight:1000;letter-spacing:.035em;}
.admin-auth__copy small{margin-top:3px;font-size:12px;line-height:1.35;color:var(--muted);}
.admin-auth label>span{font-size:11px;font-weight:950;letter-spacing:.08em;}
.admin-dialog #adminLogin{width:100%;margin-top:12px;}
.admin-active{display:inline-flex;align-items:center;gap:7px;margin:1px 0 14px;padding:6px 9px;border-radius:999px;background:rgba(47,140,82,.1);color:#257343;font-size:10px;font-weight:1000;letter-spacing:.08em;}
.admin-active>span{width:7px;height:7px;border-radius:50%;background:#2f8c52;box-shadow:0 0 0 4px rgba(47,140,82,.1);}
.admin-section{padding:15px 0 16px;border-top:1px solid rgba(23,21,29,.09);}
.admin-section--overview{padding-top:0;border-top:0;}
.admin-section__head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:10px;}
.admin-section__head--inline{align-items:center;}
.admin-section__head small{display:block;margin-bottom:3px;font-size:10px;font-weight:1000;letter-spacing:.11em;color:var(--muted);}
.admin-section__head h3{margin:0;font-size:16px;line-height:1.15;font-weight:1000;letter-spacing:-.018em;}
.admin-section__count{min-width:30px;height:30px;padding:0 8px;display:grid;place-items:center;border-radius:999px;background:#17151d;color:#fff;font-size:11px;font-weight:1000;}
.admin-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0;background:transparent;padding:0;letter-spacing:0;}
.admin-metric{min-width:0;padding:12px 9px;border:1px solid rgba(23,21,29,.09);border-radius:14px;background:#fff;}
.admin-metric strong,.admin-metric span{display:block;}
.admin-metric strong{font-size:24px;line-height:1;font-weight:1000;letter-spacing:-.045em;color:#17151d;}
.admin-metric span{margin-top:6px;font-size:9px;line-height:1.15;font-weight:1000;letter-spacing:.075em;color:var(--muted);}
.admin-tools{display:grid;gap:8px;margin:0;}
.admin-tool,.admin-utility{
  width:100%;border:1px solid rgba(23,21,29,.09);border-radius:15px;background:#fff;color:var(--ink);
  padding:11px 12px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;text-align:left;
  box-shadow:0 2px 0 rgba(23,21,29,.015);
}
.admin-tool{min-height:66px;}
.admin-tool>span:first-child,.admin-utility>span:first-child{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:rgba(236,92,166,.1);font-size:18px;}
.admin-tool b,.admin-tool small,.admin-utility b,.admin-utility small{display:block;}
.admin-tool b,.admin-utility b{font-size:12px;line-height:1.2;font-weight:1000;letter-spacing:.045em;}
.admin-tool small,.admin-utility small{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.3;}
.admin-tool>span:last-child,.admin-utility>span:last-child{font-size:22px;line-height:1;color:rgba(23,21,29,.3);}
.admin-tool:focus-visible,.admin-utility:focus-visible{outline:3px solid rgba(236,92,166,.24);outline-offset:2px;}
.admin-state-grid{display:grid;gap:7px;}
.admin-state-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid rgba(23,21,29,.08);border-radius:13px;background:rgba(255,255,255,.62);}
.admin-state-row__copy{min-width:0;}
.admin-state-row b,.admin-state-row small{display:block;}
.admin-state-row b{font-size:12px;font-weight:1000;letter-spacing:.025em;}
.admin-state-row small{margin-top:2px;color:var(--muted);font-size:10px;line-height:1.25;}
.admin-state-pill{flex:0 0 auto;padding:5px 7px;border-radius:999px;background:#17151d;color:#fff;font-size:9px;font-weight:1000;letter-spacing:.055em;}
.admin-state-pill.is-good{background:rgba(47,140,82,.11);color:#257343;}
.admin-state-pill.is-warn{background:rgba(226,167,31,.14);color:#8d6300;}
.admin-crew-list{display:grid;gap:8px;}
.admin-player-row{display:block;border:1px solid rgba(23,21,29,.09);border-radius:15px;padding:12px;background:#fff;}
.admin-player-row__top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.admin-player-row__identity{min-width:0;}
.admin-player-row__identity b{display:block;font-size:13px;line-height:1.2;font-weight:1000;}
.admin-player-row__identity small{display:block;margin-top:3px;color:var(--muted);font-size:10px;line-height:1.3;}
.admin-player-status{flex:0 0 auto;padding:5px 7px;border-radius:999px;font-size:9px;font-weight:1000;letter-spacing:.05em;background:rgba(47,140,82,.1);color:#257343;}
.admin-player-status.is-no{background:rgba(197,56,74,.09);color:#a42d3e;}
.admin-decline-message{white-space:pre-wrap;overflow-wrap:anywhere;margin:9px 0 0;padding:9px 10px;border-radius:10px;background:#f7f3ed;font-size:11px;line-height:1.4;color:#514b55;}
.admin-player-row__actions{width:100%;margin-top:10px;padding-top:9px;border-top:1px solid rgba(23,21,29,.07);display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-start;}
.admin-reset-pin{min-height:34px;padding:7px 9px;font-size:9px;}
.admin-delete-player{min-height:34px;padding:7px 9px;font-size:9px;background:transparent!important;color:#a42d3e!important;border-color:rgba(164,45,62,.18)!important;}
.admin-temp-pin{font-family:ui-monospace,monospace;font-size:10px;font-weight:1000;color:#257343;}
.admin-utility-list{display:grid;gap:7px;}
.admin-utility{min-height:58px;}
.admin-utility>span:first-child{background:rgba(23,21,29,.06);font-size:16px;}
.admin-panel-message{min-height:0;margin:8px 2px 0;color:var(--muted);font-size:10px;font-weight:800;}
.admin-panel-message:empty{display:none;}
@media(max-width:380px){
  .admin-dialog{width:calc(100vw - 10px);}
  .admin-dialog__card{padding-left:13px;padding-right:13px;}
  .admin-dialog__head{margin-left:-13px;margin-right:-13px;padding-left:13px;padding-right:13px;}
  .admin-metric{padding:11px 7px;}
  .admin-metric strong{font-size:21px;}
  .admin-metric span{font-size:8px;letter-spacing:.055em;}
}


/* V21.87 · Administración: acceso simple, alergias, simulación temporal y base de pruebas */
.admin-auth{padding:5px 1px 8px;}
.admin-auth__pin{margin:0;}
.admin-auth__pin>span{display:block;margin:0 0 7px;font-size:10px!important;font-weight:1000;letter-spacing:.1em;color:var(--muted);}
.admin-auth__pin input{width:100%;min-height:52px;border:1px solid rgba(23,21,29,.12);border-radius:14px;background:#fff;padding:0 14px;font-size:17px;font-weight:850;letter-spacing:.04em;color:var(--ink);box-shadow:none;}
.admin-auth__pin input:focus{border-color:rgba(236,92,166,.46);outline:3px solid rgba(236,92,166,.12);outline-offset:0;}
.admin-dialog #adminLogin{min-height:48px;margin-top:9px;}
.admin-auth .form-message{margin:8px 2px 0;min-height:0;}
.admin-auth .form-message:empty{display:none;}

.admin-section__count--dietary{background:rgba(226,167,31,.13);color:#805a00;}
.admin-dietary-overview{display:grid;gap:6px;}
.admin-dietary-row{display:grid;grid-template-columns:minmax(88px,.8fr) minmax(0,1.4fr);align-items:start;gap:10px;padding:9px 10px;border:1px solid rgba(23,21,29,.08);border-radius:12px;background:#fff;}
.admin-dietary-row b{font-size:12px;line-height:1.3;font-weight:1000;}
.admin-dietary-row span{font-size:11px;line-height:1.35;color:#5b5055;overflow-wrap:anywhere;}
.admin-dietary-empty{padding:10px 11px;border:1px dashed rgba(23,21,29,.13);border-radius:12px;color:var(--muted);font-size:11px;line-height:1.35;}

.admin-time-preview{margin-top:9px;padding:11px;border:1px solid rgba(23,21,29,.08);border-radius:15px;background:rgba(255,255,255,.55);}
.admin-time-preview__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:9px;}
.admin-time-preview__head b,.admin-time-preview__head small{display:block;}
.admin-time-preview__head b{font-size:11px;font-weight:1000;letter-spacing:.055em;}
.admin-time-preview__head small{margin-top:2px;color:var(--muted);font-size:10px;line-height:1.3;}
.admin-time-preview__head>span{flex:0 0 auto;padding:4px 6px;border-radius:999px;background:#17151d;color:#fff;font-size:8px;font-weight:1000;letter-spacing:.055em;}
.admin-time-preview__options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;}
.admin-time-preview__options button{min-width:0;min-height:36px;border:1px solid rgba(23,21,29,.09);border-radius:10px;background:#fff;color:#5b555f;padding:5px 3px;font-size:9px;line-height:1.1;font-weight:1000;letter-spacing:.025em;}
.admin-time-preview__options button.is-active{border-color:#17151d;background:#17151d;color:#fff;box-shadow:0 0 0 2px rgba(23,21,29,.06);}

.admin-section--danger{border-top-color:rgba(164,45,62,.14);}
.admin-danger-list{display:grid;gap:7px;}
.admin-danger-action{width:100%;min-height:62px;border:1px solid rgba(164,45,62,.15);border-radius:15px;background:rgba(255,255,255,.72);color:var(--ink);padding:10px 11px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;text-align:left;}
.admin-danger-action>span:first-child{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:rgba(164,45,62,.08);font-size:16px;}
.admin-danger-action b,.admin-danger-action small{display:block;}
.admin-danger-action b{font-size:11px;line-height:1.2;font-weight:1000;letter-spacing:.04em;color:#8e2939;}
.admin-danger-action small{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.3;}
.admin-danger-action--seed{border-color:rgba(226,167,31,.22);}
.admin-danger-action--seed>span:first-child{background:rgba(226,167,31,.11);}
.admin-danger-action--seed b{color:#765200;}
.admin-danger-action.is-armed{border-color:#a42d3e;background:rgba(164,45,62,.07);box-shadow:0 0 0 2px rgba(164,45,62,.06);}
.admin-danger-action.is-armed small{color:#8e2939;font-weight:900;}
.admin-danger-action:disabled{opacity:.52;}

@media(max-width:380px){
  .admin-time-preview__options{grid-template-columns:repeat(3,minmax(0,1fr));}
  .admin-dietary-row{grid-template-columns:1fr;gap:3px;}
}


/* V21.92 · FUGA 30 · balanced arcade ---------------------------------------- */
.arcade-easter-egg{display:grid;place-items:center;width:44px;height:44px;margin:10px 14px 2px auto;border:1px solid rgba(24,21,29,.12);border-radius:14px;background:rgba(255,255,255,.42);font-size:21px;opacity:.52;box-shadow:none;transform:rotate(2deg);-webkit-tap-highlight-color:transparent}
.arcade-easter-egg:active{opacity:1;transform:scale(.96) rotate(0)}
.arcade-dialog{width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;background:transparent;color:#f8f4ea}
.arcade-dialog::backdrop{background:rgba(8,7,11,.88);backdrop-filter:blur(8px)}
.arcade-shell{min-height:100%;padding:max(15px,env(safe-area-inset-top)) 13px max(20px,env(safe-area-inset-bottom));background:linear-gradient(180deg,#17131e 0%,#211426 46%,#101015 100%);overflow:auto}
.arcade-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;max-width:520px;margin:0 auto 11px}
.arcade-head small,.arcade-ranking__head small{display:block;color:#f452a7;font-size:10px;font-weight:900;letter-spacing:.12em}
.arcade-head h2{margin:2px 0 1px;font-size:31px;line-height:.95;letter-spacing:-.04em}.arcade-head p{margin:5px 0 0;color:rgba(248,244,234,.72);font-size:13px}.arcade-head .icon-close{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12)}
.arcade-statusbar{display:grid;grid-template-columns:1fr 1.45fr 1fr;gap:1px;max-width:520px;margin:0 auto 7px;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.08)}
.arcade-statusbar>div{min-width:0;padding:9px 8px;background:rgba(13,11,17,.5)}.arcade-statusbar small{display:block;color:rgba(255,255,255,.48);font-size:8.5px;font-weight:900;letter-spacing:.085em}.arcade-statusbar strong{display:block;margin-top:3px;color:#fff;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.arcade-statusbar>div:first-child strong{color:#46dc83;font-size:16px}
.arcade-prize-strip{display:flex;align-items:center;justify-content:center;gap:5px;max-width:520px;margin:0 auto 9px;overflow:auto;scrollbar-width:none}.arcade-prize-strip::-webkit-scrollbar{display:none}.arcade-prize-strip span{flex:none;padding:5px 7px;border:1px solid rgba(255,255,255,.09);border-radius:999px;background:rgba(255,255,255,.05);color:rgba(255,255,255,.66);font-size:9px;font-weight:800;white-space:nowrap}.arcade-prize-strip b{color:#fff}
.arcade-game-card{max-width:520px;margin:0 auto;border:1px solid rgba(255,255,255,.12);border-radius:20px;overflow:hidden;background:#111017}
.arcade-intro,.arcade-result{padding:24px 18px;text-align:center;background:radial-gradient(circle at 50% 0%,rgba(244,82,167,.18),transparent 55%),#111017}.arcade-cabinet{display:block;font-size:48px;filter:drop-shadow(0 0 18px rgba(244,82,167,.25))}.arcade-intro>small{display:block;margin:11px 0 5px;color:#f452a7;font-size:9px;font-weight:950;letter-spacing:.11em}.arcade-intro h3{max-width:300px;margin:0 auto 7px;font-size:18px;line-height:1.05}.arcade-intro p{max-width:305px;margin:0 auto 17px;color:rgba(255,255,255,.68);font-size:13px;line-height:1.45}.arcade-intro .btn{width:100%;max-width:280px}.arcade-control-copy{display:block;max-width:290px;margin:11px auto 0;color:rgba(255,255,255,.46);font-size:9px;font-weight:900;line-height:1.3;letter-spacing:.055em}
.arcade-game{position:relative;height:100%;background:#09090e;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}#arcadeCanvas{position:absolute;inset:0;display:block;width:100%;height:100%;background:#14121b;touch-action:none}
.arcade-game-hud{position:absolute;z-index:7;top:0;left:0;right:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:max(12px,env(safe-area-inset-top)) 13px 22px;pointer-events:none;background:linear-gradient(180deg,rgba(4,4,7,.76) 0%,rgba(4,4,7,.32) 58%,transparent 100%)}
.arcade-game-hud small{display:block;font-size:9px;font-weight:950;letter-spacing:.12em;color:rgba(255,255,255,.62)}.arcade-game-hud__left strong{display:block;margin-top:3px;color:#f1d884;font-size:13px;letter-spacing:.105em}.arcade-game-hud__score{text-align:right}.arcade-game-hud__score strong{display:block;font-size:24px;line-height:.95;color:#fff;letter-spacing:-.03em}.arcade-game-hud__score small{margin-top:5px;color:rgba(255,255,255,.72);font-size:8.5px;letter-spacing:.045em}
.arcade-armor-status{display:inline-flex!important;align-items:center;margin-top:6px;padding:4px 7px;border:1px solid rgba(99,200,243,.35);border-radius:999px;background:rgba(45,139,190,.18);color:#9fe0ff!important;font-size:8px!important;font-weight:950;letter-spacing:.055em!important;box-shadow:0 0 14px rgba(83,196,255,.12)}.arcade-armor-status[hidden]{display:none!important}
.arcade-event-toast{position:absolute;z-index:8;left:50%;top:max(63px,calc(env(safe-area-inset-top) + 52px));width:min(74%,280px);transform:translate(-50%,-4px);padding:7px 11px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(12,10,16,.78);backdrop-filter:blur(7px);text-align:center;opacity:0;pointer-events:none}.arcade-event-toast.is-showing{animation:arcadeToast 1.2s ease both}.arcade-event-toast small,.arcade-event-toast strong{display:inline;font-size:9px;line-height:1.2}.arcade-event-toast small{color:#f452a7;font-weight:950;letter-spacing:.10em}.arcade-event-toast small::after{content:' · ';color:rgba(255,255,255,.35)}.arcade-event-toast strong{color:#fff;font-weight:900}.arcade-event-toast.is-showing strong{margin:0}@keyframes arcadeToast{0%{opacity:0;transform:translate(-50%,-7px)}16%,72%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-5px)}}
.arcade-countdown{position:absolute;z-index:10;inset:0;display:grid;place-items:center;background:rgba(7,6,10,.34);backdrop-filter:blur(1px);pointer-events:none}.arcade-countdown strong{font-size:clamp(58px,20vw,94px);font-weight:1000;line-height:1;color:#fff;text-shadow:0 4px 32px rgba(244,82,167,.55)}.arcade-countdown strong.is-pop,.arcade-countdown.is-pop strong{animation:arcadeCount .55s cubic-bezier(.2,.9,.2,1)}@keyframes arcadeCount{0%{transform:scale(.72);opacity:.25}45%{transform:scale(1.08);opacity:1}100%{transform:scale(1);opacity:1}}
.arcade-touch-controls{position:absolute;z-index:9;left:0;right:0;bottom:0;display:flex;align-items:flex-end;justify-content:space-between;gap:22px;padding:14px clamp(28px,7vw,42px) max(18px,env(safe-area-inset-bottom));pointer-events:none;background:linear-gradient(0deg,rgba(4,4,7,.62),rgba(4,4,7,0));touch-action:manipulation}.arcade-touch-controls button{display:grid;place-items:center;width:82px;height:60px;padding:0;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(10,9,14,.56);backdrop-filter:blur(7px);color:#fff;font-size:28px;font-weight:900;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;box-shadow:0 8px 24px rgba(0,0,0,.20)}.arcade-touch-controls button span{display:grid;place-items:center;width:100%;height:100%;transform:translateY(-1px)}.arcade-touch-controls button.is-pressed,.arcade-touch-controls button:active{transform:translateY(2px) scale(.97);border-color:rgba(244,82,167,.58);background:rgba(244,82,167,.22);box-shadow:0 3px 12px rgba(0,0,0,.22)}
.arcade-impact-fx{position:absolute;z-index:11;inset:0;pointer-events:none;overflow:hidden}.arcade-impact-fx::before{content:'';position:absolute;left:var(--impact-x,50%);top:var(--impact-y,72%);width:18px;height:18px;border-radius:50%;transform:translate(-50%,-50%);opacity:0}.arcade-impact-fx.is-explosion::before{animation:arcadeExplosionFlash .58s ease-out both;background:#fff4b2;box-shadow:0 0 0 10px #ffb52d,0 0 0 24px rgba(255,82,47,.82),0 0 70px 42px rgba(255,74,38,.72)}.arcade-impact-fx.is-shield-hit::before{animation:arcadeShieldPulse .26s ease-out both;background:rgba(158,226,255,.94);box-shadow:0 0 0 8px rgba(83,196,255,.48),0 0 36px 20px rgba(83,196,255,.44)}.arcade-impact-fx.is-armor-gain::before{animation:arcadeArmorGain .52s ease-out both;background:rgba(158,226,255,.96);box-shadow:0 0 0 10px rgba(83,196,255,.34),0 0 54px 30px rgba(83,196,255,.34)}
.arcade-impact-fx i{position:absolute;left:var(--impact-x,50%);top:var(--impact-y,72%);width:7px;height:12px;border-radius:3px;background:#ffbf3f;opacity:0}.arcade-impact-fx.is-explosion i{animation:arcadeShard .55s cubic-bezier(.2,.7,.2,1) both}.arcade-impact-fx.is-explosion i:nth-child(1){--tx:-58px;--ty:-42px;--rot:-80deg}.arcade-impact-fx.is-explosion i:nth-child(2){--tx:54px;--ty:-52px;--rot:70deg}.arcade-impact-fx.is-explosion i:nth-child(3){--tx:-70px;--ty:18px;--rot:-130deg}.arcade-impact-fx.is-explosion i:nth-child(4){--tx:68px;--ty:22px;--rot:120deg}.arcade-impact-fx.is-explosion i:nth-child(5){--tx:-28px;--ty:56px;--rot:-40deg}.arcade-impact-fx.is-explosion i:nth-child(6){--tx:30px;--ty:62px;--rot:40deg}@keyframes arcadeExplosionFlash{0%{opacity:0;transform:translate(-50%,-50%) scale(.25)}18%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(2.7)}}@keyframes arcadeShieldPulse{0%{opacity:1;transform:translate(-50%,-50%) scale(.5)}100%{opacity:0;transform:translate(-50%,-50%) scale(2.1)}}@keyframes arcadeArmorGain{0%{opacity:0;transform:translate(-50%,-50%) scale(.45)}22%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(3.2)}}@keyframes arcadeShard{0%{opacity:1;transform:translate(-50%,-50%) scale(.55)}100%{opacity:0;transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty))) rotate(var(--rot)) scale(1)}}
body.arcade-playing .arcade-shell{height:100%;min-height:0;padding:0;overflow:hidden}body.arcade-playing .arcade-head,body.arcade-playing .arcade-statusbar,body.arcade-playing .arcade-prize-strip,body.arcade-playing .arcade-ranking{display:none}body.arcade-playing .arcade-game-card{width:100%;max-width:none;height:100%;margin:0;border:0;border-radius:0}body.arcade-playing .arcade-game{height:100%}body.arcade-playing .arcade-dialog{overflow:hidden}body.arcade-crash .arcade-game{animation:arcadeCrash .34s cubic-bezier(.36,.07,.19,.97)}@keyframes arcadeCrash{0%,100%{transform:translate(0) rotate(0)}18%{transform:translate(-6px,2px) rotate(-.3deg)}38%{transform:translate(7px,-2px) rotate(.35deg)}58%{transform:translate(-5px,1px) rotate(-.2deg)}78%{transform:translate(3px,-1px) rotate(.12deg)}}
.arcade-result>small{color:#f452a7;font-size:10px;font-weight:900;letter-spacing:.12em}.arcade-result>strong{display:block;margin:5px 0 2px;font-size:39px;line-height:1;color:#fff}.arcade-result h3{margin:5px 0 7px;font-size:15px;color:#e0b142}.arcade-result p{max-width:310px;min-height:20px;margin:0 auto 12px;color:rgba(255,255,255,.7);font-size:12.5px;line-height:1.4}.arcade-result-prize{max-width:290px;margin:0 auto 14px;padding:9px 11px;border:1px solid rgba(70,220,131,.25);border-radius:12px;background:rgba(70,220,131,.08)}.arcade-result-prize small,.arcade-result-prize strong{display:block}.arcade-result-prize small{font-size:8.5px;font-weight:900;letter-spacing:.08em;color:rgba(255,255,255,.52)}.arcade-result-prize strong{margin-top:3px;color:#46dc83;font-size:14px}.arcade-result-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;max-width:340px;margin:0 auto}.arcade-result-actions .btn{min-width:0;padding-inline:10px;font-size:11px}
.arcade-ranking{max-width:520px;margin:11px auto 0;padding:13px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.045)}.arcade-ranking__head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:3px}.arcade-ranking__head h3{margin:2px 0 0;font-size:15px}.arcade-ranking__deadline{margin:0 0 10px;color:rgba(255,255,255,.48);font-size:10px}#arcadePhaseBadge{flex:none;padding:6px 8px;border-radius:999px;background:rgba(70,220,131,.12);color:#46dc83;font-size:9px;font-weight:900;letter-spacing:.08em}#arcadePhaseBadge.is-closed{background:rgba(255,255,255,.08);color:rgba(255,255,255,.62)}.arcade-leaderboard{display:grid;gap:6px}.arcade-rank-row{display:grid;grid-template-columns:29px 34px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:48px;padding:6px 8px;border-radius:12px;background:rgba(0,0,0,.18)}.arcade-rank-row.is-me{outline:1px solid rgba(244,82,167,.58);background:rgba(244,82,167,.08)}.arcade-rank-row.is-rank-1{background:linear-gradient(90deg,rgba(224,177,66,.18),rgba(0,0,0,.15))}.arcade-rank-row.is-rank-2{background:linear-gradient(90deg,rgba(201,206,216,.12),rgba(0,0,0,.15))}.arcade-rank-row.is-rank-3{background:linear-gradient(90deg,rgba(190,118,60,.13),rgba(0,0,0,.15))}.arcade-rank-row__rank{font-size:12px;font-weight:950;color:rgba(255,255,255,.5);text-align:center}.arcade-rank-row__avatar{display:grid;place-items:center;width:33px;height:33px;border-radius:10px;background:rgba(255,255,255,.08);font-size:18px;overflow:hidden}.arcade-rank-row__avatar img{width:100%;height:100%;object-fit:cover}.arcade-rank-row__name{min-width:0}.arcade-rank-row__name b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#fff}.arcade-rank-row__name small{display:block;margin-top:1px;color:rgba(255,255,255,.45);font-size:8.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.arcade-rank-row__score{font-size:12px;color:#fff;font-weight:950;white-space:nowrap}.arcade-leaderboard-empty{margin:8px 0;color:rgba(255,255,255,.5);font-size:12px;text-align:center}.hud__arcade-access small{display:block;margin-top:2px;color:rgba(255,255,255,.54);font-size:10px;font-weight:700}body.arcade-open{overflow:hidden}
@media(max-height:690px){.arcade-head{margin-bottom:7px}.arcade-head h2{font-size:27px}.arcade-statusbar>div{padding-block:7px}.arcade-prize-strip{margin-bottom:7px}.arcade-intro{padding:18px 16px}.arcade-cabinet{font-size:40px}.arcade-intro>small{margin-top:7px}.arcade-game-hud__score strong{font-size:21px}.arcade-touch-controls{padding-inline:clamp(22px,6vw,34px);padding-bottom:max(10px,env(safe-area-inset-bottom))}.arcade-touch-controls button{width:74px;height:54px}}
@media(max-height:590px){.arcade-touch-controls{padding-inline:20px}.arcade-touch-controls button{width:68px;height:49px;font-size:24px}.arcade-game-hud{padding-top:max(8px,env(safe-area-inset-top))}.arcade-event-toast{top:max(54px,calc(env(safe-area-inset-top) + 45px))}}
@media(max-width:355px){.arcade-statusbar{grid-template-columns:.9fr 1.25fr 1fr}.arcade-statusbar small{font-size:7.5px}.arcade-statusbar strong{font-size:10px}.arcade-prize-strip{justify-content:flex-start}.arcade-result-actions{grid-template-columns:1fr}.arcade-rank-row{grid-template-columns:26px 31px minmax(0,1fr) auto;gap:6px}.arcade-rank-row__avatar{width:31px;height:31px}.arcade-rank-row__name small{font-size:8px}.arcade-touch-controls{gap:10px;padding-inline:16px}.arcade-touch-controls button{width:64px}}
@media(prefers-reduced-motion:reduce){.arcade-easter-egg{transform:none}.arcade-event-toast.is-showing,.arcade-countdown.is-pop strong,body.arcade-crash .arcade-game,.arcade-impact-fx::before,.arcade-impact-fx i{animation:none}}

/* V21.89 · Admin arcade overview ------------------------------------------- */
.admin-section--arcade{background:linear-gradient(180deg,rgba(244,82,167,.035),rgba(255,255,255,.65))}.admin-arcade-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:8px}.admin-arcade-stats>div{min-width:0;padding:9px 7px;border:1px solid rgba(23,21,29,.08);border-radius:12px;background:#fff;text-align:center}.admin-arcade-stats strong,.admin-arcade-stats small{display:block}.admin-arcade-stats strong{font-size:15px;font-weight:1000}.admin-arcade-stats small{margin-top:2px;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.06em}.admin-arcade-podium{display:grid;gap:5px}.admin-arcade-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:7px;align-items:center;padding:8px 9px;border:1px solid rgba(23,21,29,.07);border-radius:11px;background:rgba(255,255,255,.76)}.admin-arcade-row>span:first-child{font-size:15px;text-align:center}.admin-arcade-row b,.admin-arcade-row small{display:block}.admin-arcade-row b{font-size:11px}.admin-arcade-row small{margin-top:1px;color:var(--muted);font-size:9px}.admin-arcade-row>strong{font-size:11px;white-space:nowrap}.admin-arcade-row.is-awarded{border-color:rgba(70,160,92,.18);background:rgba(70,160,92,.06)}.admin-arcade-note{margin:7px 0 0;color:var(--muted);font-size:9px;line-height:1.35}


/* V21.92 · FUGA 30 debug lab */

/* FUGA 30 v2 · input móvil de pantalla completa + HUD de ritmo */
.arcade-touch-controls{display:none!important}
.arcade-touch-surface{position:absolute;z-index:9;inset:0;display:grid;grid-template-columns:1fr 1fr;touch-action:none;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}
.arcade-touch-hint{align-self:end;display:flex;align-items:center;gap:7px;padding-bottom:max(22px,env(safe-area-inset-bottom));opacity:0;pointer-events:none;color:rgba(255,255,255,.88);font-weight:950;text-shadow:0 2px 8px rgba(0,0,0,.65);transition:opacity .25s ease,transform .18s ease}
.arcade-touch-hint--left{justify-self:start;padding-left:22px;transform:translateX(-5px)}.arcade-touch-hint--right{justify-self:end;padding-right:22px;transform:translateX(5px)}
.arcade-touch-hint span{font-size:25px;line-height:1}.arcade-touch-hint small{font-size:8px;letter-spacing:.14em}
.arcade-touch-surface.is-tutorial .arcade-touch-hint{opacity:.78;transform:none;animation:arcadeTouchHint 1.05s ease-in-out infinite alternate}
.arcade-touch-surface.is-left::before,.arcade-touch-surface.is-right::after{content:'';position:absolute;top:0;bottom:0;width:50%;pointer-events:none;background:linear-gradient(90deg,rgba(244,82,167,.12),transparent);animation:arcadeTapFlash .18s ease-out both}
.arcade-touch-surface.is-left::before{left:0}.arcade-touch-surface.is-right::after{right:0;transform:scaleX(-1)}
@keyframes arcadeTapFlash{from{opacity:1}to{opacity:0}}@keyframes arcadeTouchHint{from{opacity:.46}to{opacity:.9}}
.arcade-combo-status{display:inline-flex!important;align-items:center;margin-top:7px;padding:4px 7px;border:1px solid rgba(241,216,132,.32);border-radius:999px;background:rgba(241,216,132,.10);color:#f1d884!important;font-size:9px!important;letter-spacing:.08em!important;font-weight:950}.arcade-combo-status[hidden]{display:none!important}
body.arcade-playing .arcade-game{overscroll-behavior:none}

/* FUGA 30 — integrated training access */
.arcade-training-card{margin:20px auto;padding:24px;max-width:720px;border:1px solid rgba(244,82,167,.4);border-radius:22px;background:linear-gradient(135deg,#29172d,#10141f);box-shadow:0 12px 32px #0003;color:#fff;display:flex;gap:20px;align-items:center;justify-content:space-between}
.arcade-training-card[hidden]{display:none!important}.arcade-training-card small{color:#f4b9dd;letter-spacing:.15em;font-size:10px}.arcade-training-card h2{font-size:32px;margin:6px 0}.arcade-training-card p{font-size:13px;line-height:1.5;margin:5px 0}.arcade-training-copy{opacity:.7}.arcade-training-card .btn{flex-shrink:0;min-height:48px}@media(max-width:520px){.arcade-training-card{margin:16px;align-items:stretch;flex-direction:column;gap:14px}.arcade-training-card .btn{width:100%}}

/* v22.03 — waiting invitation, multi-game area and viewport isolation */
#heistPreview{flex-wrap:wrap}.clandestine-invitation{grid-column:1/-1;flex:0 0 100%;border-top:1px solid rgba(80,65,70,.15);padding-top:18px;margin-top:12px;text-align:left}.clandestine-invitation[hidden]{display:none!important}.clandestine-invitation small{font-size:9px;letter-spacing:.1em;opacity:.6}.clandestine-invitation h3{margin:6px 0;font-size:19px}.clandestine-invitation p{font-size:12px;line-height:1.5}.clandestine-invitation .btn{width:100%;margin-top:10px;font-size:10px}
.clandestine-dialog{margin:0;width:100%;max-width:none;min-height:100%;padding:0;border:0;color:#faf4e9;background:#11131b;overflow:visible}.clandestine-shell{box-sizing:border-box;max-width:600px;min-height:100%;margin:auto;padding:18px 16px 14px}.clandestine-shell header{display:flex;justify-content:space-between;gap:10px}.clandestine-shell header small{font-size:9px;letter-spacing:.17em;color:#dca753}.clandestine-shell h2{font-size:36px;line-height:.95;letter-spacing:-.04em;margin:10px 0}.clandestine-shell .icon-close{color:#fff;background:#ffffff12}.clandestine-lead{font-size:14px;color:#c5c6d0;line-height:1.6;margin:16px 0 22px}.clandestine-games{display:grid;gap:18px}.clandestine-game{border:1px solid #ffffff20;border-radius:20px;overflow:hidden;background:#1b1d29}.clandestine-cover{height:170px;position:relative;overflow:hidden;background:linear-gradient(125deg,#171f36,#382037 60%,#81365d);padding:18px;isolation:isolate}.clandestine-cover::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.055),transparent 30%,transparent 70%,rgba(255,255,255,.035));opacity:.7;pointer-events:none;z-index:0}.clandestine-cover::after{content:"";position:absolute;left:-25%;top:-30%;width:48%;height:240%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transform:rotate(18deg);animation:clandestineSheen 5.8s ease-in-out infinite;pointer-events:none;z-index:0}.clandestine-cover span{font-size:9px;letter-spacing:.13em;color:#ffddb5;position:relative;z-index:2}.clandestine-cover strong{display:block;position:relative;z-index:2;font-size:60px;font-style:italic;line-height:.85;margin-top:14px;text-shadow:0 10px 26px rgba(0,0,0,.34)}.clandestine-cover i{position:absolute;width:80px;height:220px;right:45px;top:-10px;transform:rotate(27deg);border-inline:3px solid #e9e2d580;background:repeating-linear-gradient(0deg,transparent 0 22px,#ffffff60 22px 40px) center/2px 100% no-repeat,#151820;box-shadow:-22px 0 42px #ec477a50,22px 0 42px #3b8dfd70;animation:clandestineFugaPulse 3.8s ease-in-out infinite}.clandestine-game-copy{padding:20px}.clandestine-game-copy small{font-size:9px;letter-spacing:.1em;color:#75e6a5}.clandestine-game-copy h3{font-size:22px;margin:8px 0}.clandestine-game-copy p{font-size:13px;line-height:1.5;color:#b9becd}.clandestine-game-copy b{display:block;font-size:12px;color:#75e6a5}.clandestine-game-copy .btn{margin-top:12px;width:100%;font-size:11px}.clandestine-note{font-size:11px;line-height:1.6;color:#939bad;margin:20px 4px}.arcade-back-area{display:block;margin:0 auto 12px;color:#d4beca;font-size:11px}
body.arcade-playing .arcade-back-area{display:none!important}body.arcade-playing .arcade-dialog{position:relative;width:100%;height:100%;min-height:100%;margin:0;padding:0;box-sizing:border-box}body.arcade-playing .arcade-shell{position:relative;width:100%;height:100%;box-sizing:border-box}body.arcade-playing .arcade-game-card{position:absolute;inset:0;width:100%;height:100%}body.arcade-playing .arcade-game{position:absolute;inset:0;width:100%;height:100%}

/* v22.04 — arcade cabinet selector */
.clandestine-games{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y}.clandestine-games::-webkit-scrollbar{display:none}.clandestine-game{flex:0 0 100%;min-width:0;box-sizing:border-box;scroll-snap-align:start;scroll-snap-stop:always}.clandestine-coming .clandestine-cover{background:linear-gradient(130deg,#182b31,#253b37,#746638)}.clandestine-coming .clandestine-cover i{opacity:.3}.clandestine-coming .clandestine-cover strong{font-size:46px}.clandestine-sealed{display:block;margin-top:26px;padding:16px;border:1px dashed #aebbad50;border-radius:10px;text-align:center;color:#aebbad;font-size:11px;letter-spacing:.14em}.clandestine-navigation{display:flex;justify-content:center;align-items:center;gap:26px;margin-top:16px}.clandestine-navigation button{width:44px;height:44px;border-radius:12px;border:1px solid #ffffff25;background:#ffffff08;color:white;font-size:22px}.clandestine-navigation button:disabled{opacity:.25}.clandestine-navigation span{font-size:11px;letter-spacing:.2em;color:#f1cf83}.clandestine-invitation h3{font-size:16px;margin:0}.clandestine-invitation{padding-top:14px}.clandestine-game-copy{min-height:244px;box-sizing:border-box}

/* v22.05 — card affordance and checkpoint anticipation */
.clandestine-game{flex-basis:calc(100% - 44px)}.clandestine-games{padding-right:44px;scroll-padding-right:44px}.clandestine-swipe-hint{display:flex;justify-content:space-between;color:#e1c789;font-size:9px;letter-spacing:.10em;margin:18px 0 10px}.clandestine-swipe-hint span{color:#acb3c5}.clandestine-game[data-game-id="fuga30"]{cursor:pointer}.clandestine-game:focus-visible{outline:2px solid #f1ce83;outline-offset:-3px}.arcade-checkpoint-warning{position:absolute;z-index:9;left:7%;right:7%;top:max(80px,calc(env(safe-area-inset-top) + 72px));padding:12px 8px;border:2px solid #f7c962;border-radius:12px;background:rgba(18,22,29,.94);text-align:center;pointer-events:none;box-shadow:0 0 22px #f7b84425}.arcade-checkpoint-warning[hidden]{display:none!important}.arcade-checkpoint-warning b{display:block;font-size:15px;letter-spacing:.06em;color:#ffdf88}.arcade-checkpoint-warning span{display:block;font-size:10px;font-weight:900;margin-top:5px;color:#9af0d4}.arcade-game:has(.arcade-checkpoint-warning:not([hidden])) .arcade-event-toast{visibility:hidden}

/* v22.06: quiet driving HUD and short, non-directional checkpoint warning */
body.arcade-playing .arcade-game-hud__left,body.arcade-playing #arcadeEventToast{display:none!important}.arcade-game-hud{justify-content:flex-end}.arcade-checkpoint-warning{left:30%;right:30%;padding:9px 5px;top:max(68px,calc(env(safe-area-inset-top) + 58px));animation:checkpointBlink .25s ease-in-out 4}.arcade-checkpoint-warning span{display:none}@keyframes checkpointBlink{0%,100%{opacity:1}50%{opacity:.4}}@media(prefers-reduced-motion:reduce){.arcade-checkpoint-warning{animation:none}}

/* V22.09 · CAJA 30 ------------------------------------------------------ */
.clandestine-game--safe{cursor:pointer}
.clandestine-cover--safe{background:radial-gradient(circle at 72% 38%,#4f765b55 0 18%,transparent 19%),linear-gradient(135deg,#111816,#213c32 58%,#b08b43)}
.clandestine-cover--safe>strong{font-size:56px;letter-spacing:-.055em;text-shadow:0 7px 26px #0008}
.clandestine-safe-emblem{position:absolute;right:22px;top:27px;width:128px;height:128px;border:2px solid #f0d39055;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 12px #0c1412aa,inset 0 0 0 14px #f0d39025,0 15px 35px #0008;transform:rotate(9deg)}
.clandestine-safe-emblem::before,.clandestine-safe-emblem::after{content:'';position:absolute;width:8px;height:118px;border-radius:99px;background:linear-gradient(#d7b96e,#7a6330);box-shadow:0 0 0 2px #1118}
.clandestine-safe-emblem::after{transform:rotate(90deg)}
.clandestine-safe-emblem i{position:absolute;width:72px;height:72px;border:2px dashed #d9c17d80;border-radius:50%}
.clandestine-safe-emblem b{position:relative;z-index:2;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#111915;border:1px solid #f0d39055;color:#f4d986;font-size:18px;letter-spacing:.04em}.clandestine-safe-emblem{animation:safeEmblemFloat 4.6s ease-in-out infinite}.clandestine-safe-emblem i{animation:safeDialSpin 10s linear infinite}.clandestine-cover--safe::after{animation-duration:6.3s}.clandestine-cover--safe .clandestine-safe-emblem::before,.clandestine-cover--safe .clandestine-safe-emblem::after{box-shadow:0 0 0 2px #1118,0 0 18px rgba(240,211,144,.18)}

.safe-dialog{background:#0c100f;color:#f8f3e8}
.safe-shell{background:radial-gradient(circle at 50% -10%,#31544255,transparent 42%),#0d1110}
.safe-head small{color:#d8b85e!important}
.safe-game-card{border:1px solid #ffffff17;border-radius:18px;overflow:hidden;background:#121816;margin-top:12px}
.safe-intro{padding:30px 22px 28px;text-align:center;min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 33%,#e5c76d16,transparent 27%),linear-gradient(180deg,#18211e,#101513)}
.safe-intro-icon{display:grid;place-items:center;width:78px;height:78px;margin-bottom:14px;border:1px solid #dfc36f44;border-radius:50%;background:#0c1210;box-shadow:0 0 42px #d6b75918;font-size:34px}
.safe-intro>small{font-size:9px;letter-spacing:.16em;color:#e3c76f}
.safe-intro h3{margin:9px 0 8px;font-size:31px;line-height:1;letter-spacing:-.035em}
.safe-intro p{max-width:340px;margin:0 auto 20px;color:#bcc7c0;font-size:13px;line-height:1.55}
.safe-intro p b{color:#f0d077}
.safe-intro .btn{width:min(100%,320px)}
.safe-intro .arcade-control-copy{display:block;margin-top:14px;color:#89978e}

.safe-game{position:relative;min-height:590px;padding:18px 16px 22px;overflow:hidden;background:radial-gradient(circle at 50% 42%,#2d473b 0,#151d19 43%,#0d1210 78%);touch-action:manipulation;user-select:none;-webkit-user-select:none}
.safe-game::before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,transparent 0 47%,#ffffff08 49%,transparent 51%),repeating-linear-gradient(0deg,#ffffff03 0 1px,transparent 1px 5px);mix-blend-mode:screen;opacity:.45}
.safe-game-hud{position:relative;z-index:4;display:grid;grid-template-columns:.8fr .8fr 1.4fr;gap:7px}
.safe-game-hud>div{min-width:0;padding:9px 10px;border:1px solid #ffffff13;border-radius:11px;background:#0b100ed9;box-shadow:0 8px 22px #0003}
.safe-game-hud small{display:block;color:#88988f;font-size:7px;letter-spacing:.13em;font-weight:950}
.safe-game-hud strong{display:block;margin-top:3px;color:#f5eddd;font-size:15px;white-space:nowrap}
.safe-game-hud>div:last-child{text-align:right}.safe-game-hud>div:last-child strong{color:#efcf72;font-variant-numeric:tabular-nums}.safe-game-hud span{display:block;margin-top:2px;color:#7fc59c;font-size:6.5px;font-weight:900;letter-spacing:.07em;white-space:nowrap}
.safe-stage-copy{position:relative;z-index:3;margin:17px 0 5px;text-align:center;color:#e4c76e;font-size:9px;font-weight:1000;letter-spacing:.16em}
.safe-machine{position:relative;z-index:2;display:grid;place-items:center;min-height:350px}
.safe-door{position:relative;width:min(76vw,296px);aspect-ratio:1;border:2px solid #718077;border-radius:25%;background:radial-gradient(circle,#29342e 0 31%,#212a25 32% 49%,#17201c 50% 67%,#0e1411 68%);box-shadow:inset 0 0 0 7px #080c0a,inset 0 0 0 10px #60716755,inset 0 0 42px #000b,0 28px 50px #0007}
.safe-door::before{content:'';position:absolute;inset:6%;border:1px solid #ffffff10;border-radius:22%;box-shadow:inset 0 0 18px #fff05}
.safe-target-ring{--safe-start:154deg;--safe-window:52deg;position:absolute;left:50%;top:48%;width:64%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:conic-gradient(from var(--safe-start),#63e291 0 var(--safe-window),transparent var(--safe-window) 360deg);box-shadow:0 0 32px #61db8730}
.safe-target-ring::before{content:'';position:absolute;inset:9px;border-radius:50%;background:radial-gradient(circle at 50% 50%,#18211d 0 46%,#0b100e 47% 57%,#29372f 58% 61%,#0d1210 62%);box-shadow:inset 0 0 0 2px #7e8a8345,inset 0 0 25px #000}
.safe-dial-marks{position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(#dbd7c782 0 1deg,transparent 1deg 12deg);-webkit-mask:radial-gradient(circle,transparent 0 78%,#000 79%);mask:radial-gradient(circle,transparent 0 78%,#000 79%);opacity:.6}
.safe-needle{position:absolute;z-index:5;inset:0;border-radius:50%;transform:rotate(0deg);will-change:transform}
.safe-needle::before{content:'';position:absolute;left:50%;top:1%;width:4px;height:49%;transform:translateX(-50%);border-radius:4px;background:linear-gradient(#fff5c2,#dcaa42 63%,#7a5724);box-shadow:0 0 12px #f1cd64aa}
.safe-needle i{position:absolute;left:50%;top:50%;width:17px;height:17px;transform:translate(-50%,-50%);border-radius:50%;background:#e9cc72;border:4px solid #171d19;box-shadow:0 0 0 1px #e9cc7255}
.safe-dial-core{position:absolute;z-index:6;left:50%;top:50%;display:grid;place-items:center;width:38%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#253229,#101612 68%);border:1px solid #d8bb6550;box-shadow:inset 0 4px 12px #fff06,0 8px 18px #0008;text-align:center}
.safe-dial-core small{align-self:end;color:#98a49e;font-size:7px;letter-spacing:.12em}.safe-dial-core strong{align-self:start;color:#e5c96f;font-size:25px;line-height:1}
.safe-handle{position:absolute;right:11%;top:49%;width:34px;height:34px;transform:translateY(-50%);border-radius:50%;background:#121815;border:5px solid #69776e;box-shadow:0 5px 12px #0008}
.safe-handle i{position:absolute;left:50%;top:50%;width:8px;height:56px;border-radius:6px;background:linear-gradient(90deg,#44534a,#a6afa9,#4d5952);transform-origin:50% 50%;transform:translate(-50%,-50%)}
.safe-handle i:nth-child(2){transform:translate(-50%,-50%) rotate(120deg)}.safe-handle i:nth-child(3){transform:translate(-50%,-50%) rotate(240deg)}
.safe-bolts{position:absolute;z-index:4;left:calc(50% - min(38vw,148px) - 11px);top:50%;display:grid;gap:15px;transform:translateY(-50%)}
.safe-bolt{display:block;width:25px;height:12px;border-radius:5px;background:linear-gradient(90deg,#b2b9b3,#536159);box-shadow:0 3px 8px #0007;transition:transform .28s cubic-bezier(.2,.9,.3,1.25),opacity .2s,background .2s}
.safe-bolt.is-open{transform:translateX(16px);background:linear-gradient(90deg,#63dc8b,#2f7150);opacity:.55}
.safe-feedback{position:absolute;z-index:8;left:50%;top:48%;min-width:118px;transform:translate(-50%,-50%);padding:10px 14px;border-radius:12px;text-align:center;background:#0b100ef2;border:1px solid #ffffff22;box-shadow:0 14px 30px #0009;pointer-events:none}
.safe-feedback strong{display:block;font-size:18px;letter-spacing:.04em}.safe-feedback small{display:block;margin-top:2px;font-size:7px;letter-spacing:.11em;color:#aebbb3}.safe-feedback.is-hit strong{color:#6ee49a}.safe-feedback.is-miss strong{color:#ff8d78}
.safe-tap-surface{position:relative;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:68px;margin-top:0;border:1px solid #d8ba6055;border-radius:14px;background:linear-gradient(180deg,#26382f,#18231e);color:#f8e8b4;box-shadow:inset 0 1px #fff1,0 9px 18px #0004;-webkit-tap-highlight-color:transparent}
.safe-tap-surface strong{font-size:13px;letter-spacing:.12em}.safe-tap-surface small{margin-top:3px;color:#90a096;font-size:8px}
.safe-tap-surface:active{transform:translateY(1px);background:#304439}
body.safe-hit .safe-door{animation:safeHitPulse .25s ease-out}body.safe-miss .safe-door{animation:safeMissShake .28s ease-out}
body.safe-hit .safe-target-ring{filter:brightness(1.25)}body.safe-miss .safe-target-ring{filter:saturate(.35)}
.safe-game.is-open .safe-handle{animation:safeHandleOpen .55s cubic-bezier(.2,.9,.3,1.25) forwards}.safe-game.is-open .safe-door{box-shadow:inset 0 0 0 7px #080c0a,inset 0 0 0 10px #66dc8d55,inset 0 0 42px #000b,0 0 70px #63dd8b50}
.safe-result{background:radial-gradient(circle at 50% 0,#4f7e5c24,transparent 40%)}
.safe-result #safeResultScore{color:#edce70;font-variant-numeric:tabular-nums}
.safe-ranking{margin-top:18px}
@keyframes safeHitPulse{50%{transform:scale(1.018);filter:brightness(1.16)}}
@keyframes safeMissShake{20%{transform:translateX(-5px)}40%{transform:translateX(4px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}
@keyframes safeHandleOpen{to{transform:translateY(-50%) rotate(95deg)}}
@media(max-width:380px){.safe-game{padding-inline:11px}.safe-door{width:min(73vw,274px)}.safe-bolts{left:calc(50% - min(36.5vw,137px) - 9px)}.safe-game-hud>div{padding-inline:7px}.safe-game-hud strong{font-size:13px}}
@media(prefers-reduced-motion:reduce){body.safe-hit .safe-door,body.safe-miss .safe-door,.safe-game.is-open .safe-handle{animation:none}.safe-bolt{transition:none}}

#safePhaseBadge{flex:none;padding:6px 8px;border-radius:999px;background:rgba(100,224,145,.12);color:#64e091;font-size:9px;font-weight:900;letter-spacing:.08em}#safePhaseBadge.is-closed{background:rgba(255,255,255,.08);color:rgba(255,255,255,.62)}
.safe-ranking .arcade-ranking__head small{color:#dfc46d}.safe-ranking .arcade-rank-row.is-me{outline-color:rgba(223,196,109,.65);background:rgba(223,196,109,.08)}

/* V22.10 · CAJA 30 skill rules + tarjetas clandestinas unificadas */
.clandestine-game{display:flex;flex-direction:column;height:auto}
.clandestine-cover{flex:none}
.clandestine-game-copy{display:flex;flex:1;flex-direction:column;min-height:264px}
.clandestine-game-copy>p:last-of-type{margin-bottom:0}
.clandestine-game-copy .btn{margin-top:auto}

.safe-target-ring{
  --safe-perfect-start:172deg;
  --safe-perfect-window:15deg;
  background:
    conic-gradient(from var(--safe-perfect-start),#f7ffe0 0 var(--safe-perfect-window),transparent var(--safe-perfect-window) 360deg),
    conic-gradient(from var(--safe-start),#63e291 0 var(--safe-window),transparent var(--safe-window) 360deg);
  box-shadow:0 0 32px #61db8730,0 0 18px #dfffaf12;
}
.safe-target-ring::after{content:'';position:absolute;inset:-3px;border-radius:50%;pointer-events:none;box-shadow:inset 0 0 0 1px #ffffff08}
body.safe-perfect .safe-door{animation:safePerfectPulse .32s cubic-bezier(.2,.85,.25,1)}
body.safe-perfect .safe-target-ring{filter:brightness(1.55) drop-shadow(0 0 9px #dfff9a)}
.safe-feedback.is-perfect{border-color:#e6ff9b66;box-shadow:0 0 32px #bfff6f30,0 14px 30px #0009}
.safe-feedback.is-perfect strong{color:#efffb4;text-shadow:0 0 15px #caff7f88}
.safe-feedback.is-perfect small{color:#c8eaa9}
@keyframes safePerfectPulse{45%{transform:scale(1.028);filter:brightness(1.28)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){body.safe-perfect .safe-door{animation:none}}

/* V22.11 · navegación de juegos, fullscreen consistente y tarjetas con más aire */
.game-selector-back{
  flex:none;display:grid;place-items:center;width:44px;height:44px;padding:0;
  border:1px solid rgba(255,255,255,.13);border-radius:14px;
  background:rgba(255,255,255,.08);color:#fff;font-size:23px;font-weight:900;
  -webkit-tap-highlight-color:transparent;
}
.game-selector-back:active{transform:translateX(-1px) scale(.97);background:rgba(255,255,255,.14)}

.clandestine-game-copy{min-height:248px;padding:19px 20px 20px}
.clandestine-game-copy h3{min-height:48px;margin:8px 0 8px;display:flex;align-items:flex-end;line-height:1.08}
.clandestine-game-description{min-height:39px;margin:0 0 13px!important}
.clandestine-game-copy>b{margin-top:1px;line-height:1.35}
.clandestine-game-record{margin:9px 0 16px!important;min-height:20px}
.clandestine-game-copy .btn{margin-top:auto}

.arcade-statusbar--below{margin-top:10px}
.arcade-prize-strip--below{margin-top:0}

.safe-intro{min-height:350px;padding:27px 22px 25px}
.safe-intro p{margin-bottom:18px}
.safe-dial-core strong{align-self:center;font-size:27px;line-height:1;color:#e5c96f}

.game-exit{
  position:absolute;z-index:16;top:max(10px,env(safe-area-inset-top));left:10px;
  min-height:36px;padding:0 11px;border:1px solid rgba(255,255,255,.18);border-radius:999px;
  background:rgba(8,8,12,.72);backdrop-filter:blur(8px);color:#fff;
  font-size:9px;font-weight:1000;letter-spacing:.08em;box-shadow:0 6px 18px rgba(0,0,0,.22);
  touch-action:manipulation;-webkit-tap-highlight-color:transparent;
}
.game-exit:active{transform:scale(.96);background:rgba(255,255,255,.14)}
body.arcade-playing .arcade-game-hud{padding-left:86px}

/* CAJA 30 usa exactamente el mismo patrón fullscreen que FUGA 30 mientras se juega. */
body.safe-playing .safe-dialog{
  position:relative;width:100%;height:100%;min-height:100%;margin:0;padding:0;overflow:hidden;
}
body.safe-playing .safe-shell{
  position:relative;width:100%;height:100%;min-height:0;padding:0;overflow:hidden;box-sizing:border-box;
}
body.safe-playing .safe-head,
body.safe-playing .safe-statusbar,
body.safe-playing .safe-dialog .arcade-prize-strip,
body.safe-playing .safe-ranking{display:none!important}
body.safe-playing .safe-game-card{
  position:absolute;inset:0;width:100%;height:100%;margin:0;border:0;border-radius:0;max-width:none;
}
body.safe-playing .safe-game{
  width:100%;height:100%;min-height:0;box-sizing:border-box;
  display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;
  padding:58px 14px 13px;
}
body.safe-playing .safe-game-hud{align-self:start}
body.safe-playing .safe-stage-copy{margin:12px 0 2px}
body.safe-playing .safe-machine{min-height:0;align-self:stretch}
body.safe-playing .safe-tap-surface{align-self:end;min-height:64px}

@media(max-height:700px){
  body.safe-playing .safe-game{padding-top:52px;padding-bottom:9px}
  body.safe-playing .safe-machine{min-height:250px}
  body.safe-playing .safe-door{width:min(69vw,250px)}
  body.safe-playing .safe-tap-surface{min-height:56px}
  body.safe-playing .safe-stage-copy{margin-top:8px}
  body.safe-playing .safe-game-hud>div{padding-block:7px}
}
@media(max-width:355px){
  .clandestine-game-copy{padding-inline:17px}
  .clandestine-game-copy h3{font-size:20px}
  .game-exit{left:8px;padding-inline:9px}
  body.arcade-playing .arcade-game-hud{padding-left:76px}
}

/* V22.12 · CAJA 30 mastery: precisión continua, contragiro y tensión */
.safe-target-ring::after{
  content:'';position:absolute;inset:0;border-radius:50%;pointer-events:none;
  background:conic-gradient(from calc(var(--safe-center,180deg) - .7deg),rgba(255,255,235,.98) 0 1.4deg,transparent 1.4deg 360deg);
  -webkit-mask:radial-gradient(circle,transparent 0 78%,#000 79% 100%);
  mask:radial-gradient(circle,transparent 0 78%,#000 79% 100%);
  filter:drop-shadow(0 0 4px rgba(240,255,192,.8));
}
.safe-feedback{
  position:absolute;z-index:12;left:auto;right:14px;top:auto;bottom:max(82px,calc(env(safe-area-inset-bottom) + 72px));
  min-width:0;max-width:44vw;transform:none;padding:7px 10px;border-radius:999px;
  text-align:right;background:rgba(7,12,9,.82);border:1px solid rgba(255,255,255,.14);
  box-shadow:0 8px 18px rgba(0,0,0,.28);pointer-events:none;
  font-size:9px;font-weight:1000;letter-spacing:.09em;line-height:1;color:#f4ecdc;
}
.safe-feedback.is-perfect{color:#efffb4;border-color:rgba(220,255,155,.38);box-shadow:0 0 18px rgba(191,255,111,.14),0 8px 18px rgba(0,0,0,.28)}
.safe-feedback.is-miss{color:#ff9a86;border-color:rgba(255,141,120,.34)}
.safe-tap-surface{gap:3px;overflow:hidden}
.safe-tension-track{
  --tension-start:56%;--tension-width:28%;--tension-perfect-rel-start:35%;--tension-perfect-rel-width:30%;
  position:relative;display:block;width:min(88%,360px);height:10px;margin-top:6px;border-radius:999px;
  background:rgba(0,0,0,.42);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);overflow:hidden;
}
.safe-tension-track[hidden]{display:none!important}
.safe-tension-track i{position:absolute;top:0;bottom:0;left:var(--tension-start);width:var(--tension-width);background:rgba(91,221,139,.58);box-shadow:0 0 10px rgba(91,221,139,.35)}
.safe-tension-track i::after{content:'';position:absolute;top:0;bottom:0;left:var(--tension-perfect-rel-start);width:var(--tension-perfect-rel-width);background:#eaffb5;box-shadow:0 0 8px rgba(225,255,164,.8)}
.safe-tension-track b{position:absolute;z-index:2;left:0;top:-2px;width:3px;height:14px;transform:translateX(-50%);border-radius:3px;background:#ffd96f;box-shadow:0 0 8px rgba(255,217,111,.85);will-change:left}
body.safe-holding .safe-tap-surface{border-color:rgba(225,255,164,.36);background:linear-gradient(180deg,#2b4034,#17251e)}
body.safe-holding .safe-tap-surface strong{font-size:11px}
body.safe-holding .safe-target-ring{filter:saturate(.65) brightness(.78)}
body.safe-holding .safe-needle{opacity:.72}
.safe-result-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:15px 0 10px}
.safe-result-metrics span{padding:10px 6px;border:1px solid rgba(255,255,255,.1);border-radius:11px;background:rgba(255,255,255,.045);text-align:center}
.safe-result-metrics small{display:block;color:#829188;font-size:6.5px;font-weight:950;letter-spacing:.1em}
.safe-result-metrics b{display:block;margin-top:4px;color:#f5e8c4;font-size:13px;font-variant-numeric:tabular-nums}
.safe-result-shots{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin:0 0 15px}
.safe-result-shots span{min-width:0;padding:7px 2px;border-radius:9px;background:#0d1411;border:1px solid rgba(255,255,255,.08);text-align:center}
.safe-result-shots span.is-perfect{border-color:rgba(211,255,142,.32);background:rgba(123,174,76,.08)}
.safe-result-shots small{display:block;color:#75847b;font-size:6px;font-weight:950}.safe-result-shots b{display:block;margin-top:2px;color:#d8dfda;font-size:9px;font-variant-numeric:tabular-nums}.safe-result-shots .is-perfect b{color:#e9ffae}
@media(max-width:360px){.safe-feedback{right:10px;max-width:48vw}.safe-result-metrics b{font-size:12px}.safe-result-shots b{font-size:8px}}
@media(prefers-reduced-motion:reduce){.safe-tension-track b{will-change:auto}}

/* V22.13 · UX pass del Área Clandestina: jerarquía, progressive disclosure y tarjetas escalables */
.clandestine-lead{margin-bottom:14px}
.clandestine-prize{
  display:grid;gap:3px;margin:0 0 18px;padding:12px 14px;
  border:1px solid rgba(220,167,83,.24);border-radius:14px;
  background:linear-gradient(135deg,rgba(220,167,83,.10),rgba(255,255,255,.025));
}
.clandestine-prize small{color:#dca753;font-size:8px;font-weight:950;letter-spacing:.14em}
.clandestine-prize strong{color:#f5ead4;font-size:11px;line-height:1.25;letter-spacing:.025em}
.clandestine-prize span{color:#939bad;font-size:10px;line-height:1.35}
.clandestine-swipe-hint{margin-top:14px}
.clandestine-cover{height:194px}
.clandestine-game-copy{min-height:220px;padding:20px;display:flex;flex-direction:column}
.clandestine-game-copy h3{min-height:0;margin:0 0 9px;display:block;font-size:22px;line-height:1.08}
.clandestine-game-description{min-height:39px;margin:0 0 16px!important;color:#b9becd}
.clandestine-record{
  display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.09)
}
.clandestine-record small{color:#80899d!important;font-size:8px!important;font-weight:950;letter-spacing:.13em}
.clandestine-record strong{min-width:0;color:#f4f0e8;font-size:13px;font-weight:950;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.clandestine-game-copy .btn{margin-top:16px;min-height:46px}
.clandestine-note{margin-top:16px;text-align:center;color:#7f8799}

.game-personal-record{
  width:min(100%,280px);box-sizing:border-box;margin:1px auto 15px;padding:11px 12px;
  border:1px solid rgba(255,255,255,.10);border-radius:12px;background:rgba(0,0,0,.16);
  text-align:left;
}
.game-personal-record small{display:block!important;margin:0 0 3px!important;color:rgba(255,255,255,.43)!important;font-size:8px!important;font-weight:950;letter-spacing:.12em}
.game-personal-record strong{display:block;color:#fff;font-size:18px;font-weight:1000;letter-spacing:-.02em}
.game-ranking-link{
  min-height:44px;margin-top:7px;padding:0 14px;border:0;background:transparent;
  color:rgba(255,255,255,.53);font-size:9px;font-weight:950;letter-spacing:.09em;
  text-decoration:none;-webkit-tap-highlight-color:transparent;
}
.game-ranking-link:active{color:#fff}
.arcade-intro{padding:26px 18px 20px}
.arcade-intro p{margin-bottom:15px}
.safe-intro{min-height:0;padding:30px 22px 22px}
.safe-intro p{margin-bottom:15px}
.safe-intro .game-personal-record{border-color:rgba(223,196,109,.17);background:rgba(223,196,109,.035)}
.safe-intro .game-personal-record strong{color:#f1d987}
.safe-intro .game-ranking-link{color:#9e9b89}

.arcade-ranking{margin-top:18px;scroll-margin-top:12px}
.arcade-ranking__deadline{line-height:1.45}
.arcade-ranking__deadline strong{color:rgba(255,255,255,.67);font-size:inherit}
.arcade-prize-strip--ranking{justify-content:flex-start;max-width:none;margin:0 0 10px;padding-bottom:1px}
.safe-ranking .arcade-prize-strip--ranking span{border-color:rgba(223,196,109,.13)}

@media(max-width:355px){
  .clandestine-cover{height:184px}
  .clandestine-game-copy{min-height:212px;padding-inline:17px}
  .clandestine-game-copy h3{font-size:20px}
  .clandestine-prize{padding-inline:12px}
  .clandestine-record strong{font-size:12px}
}
.clandestine-cover .clandestine-game-state{
  position:absolute;z-index:3;top:15px;right:15px;padding:6px 8px;border:1px solid rgba(255,255,255,.18);
  border-radius:999px;background:rgba(9,10,15,.72);backdrop-filter:blur(7px);color:#d3d5dc;
  font-size:8px;font-style:normal;font-weight:950;letter-spacing:.11em;
}
.clandestine-cover .clandestine-game-state[hidden]{display:none!important}


/* V22.15 · Operaciones Clandestinas: acceso narrativo desde Invitación */
.clandestine-invitation{
  position:relative;overflow:hidden;padding:16px 0 0;margin-top:14px;border-top:1px solid rgba(80,65,70,.15);
}
.clandestine-invitation__copy{min-width:0}
.clandestine-invitation small{display:block;color:#806744;font-size:8px;font-weight:950;letter-spacing:.15em;opacity:1}
.clandestine-invitation h3{margin:5px 0 5px;font-size:18px;line-height:1.05;letter-spacing:-.025em}
.clandestine-invitation p{margin:0;color:var(--muted);font-size:11px;line-height:1.45}
.clandestine-invitation .btn{margin-top:12px;min-height:44px;border-color:rgba(116,87,54,.18);background:rgba(116,87,54,.08);font-weight:950}
.clandestine-shell h2{font-size:34px}
@media(max-width:355px){.clandestine-shell h2{font-size:31px}.clandestine-invitation h3{font-size:17px}}
/* El acceso desde Invitación se comporta como un aviso clasificado, no como una tarjeta de juego. */
.clandestine-invitation{
  padding:14px;border:1px solid rgba(116,87,54,.16);border-left:3px solid rgba(139,102,55,.55);border-radius:14px;
  background:linear-gradient(135deg,rgba(139,102,55,.075),rgba(255,255,255,.20));
}
.clandestine-invitation .btn{width:100%;box-sizing:border-box}

/* V22.17 · Operaciones legibles + CAJA 30 despejada y ergonómica */
.hud__arcade-access{
  border-color:rgba(241,199,79,.34)!important;
  background:linear-gradient(135deg,rgba(242,199,79,.16),rgba(236,92,166,.08))!important;
  color:#fff7df!important;
}
.hud__arcade-access b{color:#fff7df!important;text-shadow:0 1px 0 rgba(0,0,0,.22)}
.hud__arcade-access small{color:#e8cf91!important;opacity:1!important}
.hud__arcade-access>span:last-child{color:#f2c74f!important}

.clandestine-invitation{
  border-color:#d8cbb8!important;
  border-left-color:#9d7239!important;
  background:linear-gradient(135deg,#fffaf1,#f6ede1)!important;
  box-shadow:0 8px 22px rgba(79,55,33,.06);
}
.clandestine-invitation small{color:#755125!important;opacity:1!important}
.clandestine-invitation h3{color:#241d1a!important}
.clandestine-invitation p{color:#5a5050!important}
.clandestine-invitation .btn{
  border-color:#2f2925!important;
  background:#2f2925!important;
  color:#fff8e8!important;
  box-shadow:0 7px 18px rgba(47,41,37,.13);
}
.clandestine-invitation .btn:active{background:#171411!important;transform:translateY(1px)}

.safe-control-zone{position:relative;z-index:7;display:grid;gap:8px;align-self:end;width:100%}
.safe-tension-slot{display:flex;align-items:center;justify-content:center;min-height:22px;padding:0 6px;pointer-events:none}
.safe-tension-track{width:min(92%,390px);height:12px;margin:0}
.safe-tap-surface{min-height:66px;margin:0;overflow:hidden}
body.safe-holding .safe-tap-surface{border-color:rgba(225,255,164,.46);background:linear-gradient(180deg,#2b4034,#17251e)}
body.safe-holding .safe-tap-surface strong{font-size:12px}

/* El volante es decorativo: queda fuera de la ventana de precisión y gana presencia sólo al abrir. */
.safe-target-ring{z-index:4}
.safe-handle{
  z-index:1;right:5%;top:88%;width:28px;height:28px;border-width:4px;
  opacity:.32;filter:saturate(.7);transition:opacity .18s ease,filter .18s ease;
}
.safe-handle i{width:6px;height:42px}
.safe-game.is-open .safe-handle{opacity:1;filter:none}

body.safe-playing .safe-game{grid-template-rows:auto auto minmax(0,1fr) auto}
body.safe-playing .safe-control-zone{align-self:end}
body.safe-playing .safe-tension-slot{min-height:24px}
body.safe-playing .safe-tap-surface{min-height:64px}

@media(max-height:700px){
  body.safe-playing .safe-tension-slot{min-height:20px}
  body.safe-playing .safe-control-zone{gap:5px}
  body.safe-playing .safe-tap-surface{min-height:56px}
  .safe-handle{top:89%;right:4%}
}
@media(max-width:360px){
  .clandestine-invitation{padding:13px!important}
  .clandestine-invitation p{font-size:11px!important;line-height:1.5!important}
  .safe-tension-track{width:96%}
}

/* V22.19 · Operaciones Clandestinas: identidad de botín en dorado/bronze */
/* El dorado identifica operaciones, podio y botín. En superficies claras usamos bronze oscuro para asegurar contraste. */
.hud__arcade-access{
  border-color:#d6b666!important;
  background:linear-gradient(135deg,#fff9e9,#f4e4b9)!important;
  color:#4a3511!important;
  box-shadow:0 6px 16px rgba(105,75,20,.08)!important;
}
.hud__arcade-access:hover{
  border-color:#c89e43!important;
  background:linear-gradient(135deg,#fffaf0,#f0dca5)!important;
}
.hud__arcade-access b{color:#4a3511!important;text-shadow:none!important}
.hud__arcade-access small{color:#765b27!important;opacity:1!important}
.hud__arcade-access>span:last-child{background:#ead08c!important;color:#4a3511!important}

.clandestine-invitation{
  border-color:rgba(218,178,89,.62)!important;
  border-left-color:#d8aa49!important;
  background:
    radial-gradient(circle at 96% -8%,rgba(242,199,79,.18),transparent 38%),
    linear-gradient(135deg,#211b13,#151419 70%)!important;
  box-shadow:0 10px 26px rgba(23,21,29,.16)!important;
}
.clandestine-invitation small{color:#e9c56b!important}
.clandestine-invitation h3{color:#fff9e8!important}
.clandestine-invitation p{color:#ded4c2!important}
.clandestine-invitation .btn{
  border-color:#e0bb62!important;background:linear-gradient(180deg,#e9c565,#c99a3e)!important;color:#2b1d06!important;
  box-shadow:0 7px 18px rgba(191,143,45,.20)!important;
}
.clandestine-invitation .btn:active{background:#c99a3e!important;color:#211706!important}
.clandestine-shell header small{color:#e1b85b!important}
.clandestine-prize{
  border-color:rgba(220,167,83,.28)!important;
  background:linear-gradient(135deg,rgba(220,167,83,.12),rgba(255,255,255,.025))!important;
}
.clandestine-prize small{color:#e1b85b!important}
.clandestine-navigation span{color:#e6c26e!important}
.clandestine-swipe-hint{color:#d9b760!important}
.clandestine-game:focus-visible{outline-color:#d8aa49!important}

/* v24.120 · The game fills the shared AppShell content box. */
body.safe-playing .safe-dialog{height:100%;max-height:none}
body.safe-playing .safe-shell{height:100%}
body.safe-playing .safe-game{height:100%;overscroll-behavior:none;touch-action:none}
.safe-tap-surface{touch-action:none}

/* Cada cierre expone su regla y el paso actual; el contragiro deja de parecer un fallo. */
.safe-stage-guide{
  position:relative;z-index:4;display:flex;align-items:center;justify-content:center;gap:7px;
  min-height:24px;margin:0 0 2px;text-align:center;pointer-events:none;
}
.safe-stage-guide span{
  display:inline-flex;align-items:center;min-height:20px;padding:0 8px;border:1px solid rgba(255,255,255,.10);
  border-radius:999px;background:rgba(5,9,7,.55);color:#a9b7af;font-size:7px;font-weight:1000;letter-spacing:.105em;
}
.safe-stage-guide span:first-child{border-color:rgba(99,226,145,.20);color:#8cdba8}
.safe-stage-guide span:last-child{color:#f0d67e}
body.safe-tension-ready .safe-stage-guide span:last-child,
body.safe-holding .safe-stage-guide span:last-child{border-color:rgba(83,215,208,.26);color:#84e4df}

/* Tensión: primero se fija el punto; después el usuario recibe una acción de mantener separada y explícita. */
.safe-tension-slot{min-height:35px;display:grid;grid-template-rows:auto auto;gap:4px;align-content:end;justify-items:center}
.safe-tension-slot small{display:block;color:#8cded9;font-size:7px;font-weight:1000;letter-spacing:.11em;line-height:1.1}
.safe-tension-track{height:12px}
.safe-tap-surface.is-hold-ready{
  border-color:rgba(83,215,208,.52);background:linear-gradient(180deg,#21403e,#142a29);color:#bff6f2;
  box-shadow:inset 0 1px rgba(255,255,255,.08),0 0 0 2px rgba(83,215,208,.07),0 9px 18px #0004;
}
.safe-tap-surface.is-hold-ready strong::before{content:'● ';color:#53d7d0}
.safe-tap-surface.is-holding{border-color:rgba(225,255,164,.48);background:linear-gradient(180deg,#2b4034,#17251e)}
body.safe-tension-ready .safe-target-ring,body.safe-holding .safe-target-ring{filter:saturate(.62) brightness(.78)}
body.safe-tension-ready .safe-needle,body.safe-holding .safe-needle{opacity:.62}

/* La manecilla queda anclada al marco derecho de la puerta: visible, mecánica y fuera de la ventana jugable. */
.safe-handle{
  z-index:2;right:-4%;top:51%;width:32px;height:32px;border-width:4px;opacity:.72;filter:none;
  transition:opacity .18s ease,filter .18s ease;
}
.safe-handle i{width:7px;height:48px}
.safe-game.is-open .safe-handle{opacity:1}

@media(max-height:700px){
  body.safe-playing .safe-stage-copy{margin-top:5px}
  .safe-stage-guide{min-height:20px;margin-bottom:0}
  .safe-stage-guide span{min-height:18px;padding-inline:6px;font-size:6.5px}
  .safe-tension-slot{min-height:30px;gap:3px}
  .safe-handle{right:-3%;top:51%}
}
@media(max-width:360px){
  .safe-handle{right:-2.5%;width:29px;height:29px}
  .safe-handle i{height:43px;width:6px}
  .safe-stage-guide{gap:5px}
}

/* V22.20 · CAJA 30 secuencias: más habilidad, menos HUD y control de pulgar estable */
.safe-stage-copy,.safe-stage-guide{display:none!important}
body.safe-playing .safe-game{
  grid-template-rows:auto 26px minmax(0,1fr) auto!important;
  gap:0;
  padding-top:max(54px,calc(env(safe-area-inset-top) + 46px));
  padding-bottom:max(8px,env(safe-area-inset-bottom));
}
.safe-game-hud{grid-template-columns:.72fr 1.22fr 1.35fr;gap:6px}
.safe-game-hud>div{padding:8px 9px}
.safe-game-hud>div:nth-child(2){text-align:center}
.safe-sequence-hud small{white-space:nowrap}
.safe-sequence{
  display:flex!important;align-items:center;justify-content:center;gap:5px;min-height:18px;margin-top:3px!important;
  color:inherit;font-size:0!important;white-space:nowrap;
}
.safe-sequence i{
  display:block;width:8px;height:8px;border-radius:50%;border:1px solid rgba(255,255,255,.30);
  background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(0,0,0,.16);
  transition:background .12s ease,border-color .12s ease,transform .12s ease,box-shadow .12s ease;
}
.safe-sequence i.is-current{border-color:#e1bf63;box-shadow:0 0 0 3px rgba(225,191,99,.10)}
.safe-sequence i.is-done{border-color:#69dd91;background:#69dd91;box-shadow:0 0 8px rgba(105,221,145,.24)}
.safe-sequence i.is-hold{border-radius:3px;transform:rotate(45deg)}
.safe-sequence i.is-hold.is-current{border-color:#f0d574;box-shadow:0 0 0 3px rgba(240,213,116,.10),0 0 8px rgba(240,213,116,.18)}
.safe-sequence i.is-hold.is-done{border-color:#83eba5;background:#83eba5}

.safe-quality-slot{
  position:relative;z-index:7;height:26px;display:grid;place-items:center;pointer-events:none;overflow:hidden;
}
.safe-quality-slot .safe-feedback{
  position:static!important;inset:auto!important;transform:none!important;min-width:0;max-width:none;
  padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
  color:#d9e1dc;font-size:8px;font-weight:1000;letter-spacing:.14em;text-align:center;line-height:26px;
}
.safe-quality-slot .safe-feedback.is-perfect{color:#efffb4!important;text-shadow:0 0 12px rgba(202,255,127,.34)}
.safe-quality-slot .safe-feedback.is-near{color:#e5d7a5!important}
.safe-quality-slot .safe-feedback.is-miss{color:#ff9a86!important;text-shadow:none}

body.safe-playing .safe-machine{min-height:0;align-self:stretch;transform:translateY(-2px)}
body.safe-playing .safe-door{width:min(72vw,270px)}
.safe-control-zone{
  gap:7px!important;align-self:end!important;margin-bottom:max(18px,calc(env(safe-area-inset-bottom) + 10px));
}
.safe-tension-slot{
  min-height:24px!important;height:24px;display:flex!important;align-items:center;justify-content:center;padding:0 4px!important;
}
.safe-tension-track{
  width:min(94%,400px)!important;height:16px!important;margin:0!important;border-radius:8px;
  background:rgba(0,0,0,.52);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 3px 10px rgba(0,0,0,.20);
}
.safe-tension-track i{background:rgba(91,221,139,.62);box-shadow:0 0 12px rgba(91,221,139,.28)}
.safe-tension-track i::after{background:#eaffb5;box-shadow:0 0 9px rgba(225,255,164,.72)}
.safe-tension-track b{top:-2px;width:4px;height:20px;background:#f0c95e;box-shadow:0 0 9px rgba(240,201,94,.7)}
.safe-tap-surface{min-height:62px!important;border-color:rgba(225,191,99,.34);background:linear-gradient(180deg,#26382f,#18231e)}
.safe-tap-surface.is-hold-ready{
  border-color:rgba(225,191,99,.58)!important;background:linear-gradient(180deg,#30402c,#1b281c)!important;color:#f5e4a4!important;
  box-shadow:inset 0 1px rgba(255,255,255,.08),0 0 0 2px rgba(225,191,99,.07),0 8px 16px rgba(0,0,0,.24)!important;
}
.safe-tap-surface.is-hold-ready strong::before{content:'● ';color:#e1bf63!important}
.safe-tap-surface.is-holding{border-color:rgba(128,231,160,.52)!important;background:linear-gradient(180deg,#2b4034,#17251e)!important}
body.safe-tension-ready .safe-target-ring,body.safe-holding .safe-target-ring{filter:none!important}
body.safe-tension-ready .safe-needle,body.safe-holding .safe-needle{opacity:.82!important}

/* Fallar bloquea el nivel completo sin poner un mensaje encima del dial. */
body.safe-level-reset .safe-door{animation:safeMissShake .26s ease-out}
body.safe-level-reset .safe-sequence i.is-done{background:rgba(255,141,120,.38);border-color:#ff8d78;box-shadow:none}

@media(max-height:700px){
  body.safe-playing .safe-game{grid-template-rows:auto 22px minmax(0,1fr) auto!important;padding-top:max(50px,calc(env(safe-area-inset-top) + 42px))}
  body.safe-playing .safe-door{width:min(66vw,238px)}
  .safe-quality-slot{height:22px}.safe-quality-slot .safe-feedback{line-height:22px}
  .safe-control-zone{gap:5px!important;margin-bottom:max(8px,env(safe-area-inset-bottom))}
  .safe-tension-slot{height:21px;min-height:21px!important}.safe-tension-track{height:13px!important}
  .safe-tension-track b{height:17px}
  .safe-tap-surface{min-height:54px!important}
  .safe-game-hud>div{padding-block:6px}
}
@media(max-width:360px){
  .safe-game-hud{grid-template-columns:.68fr 1.18fr 1.4fr}
  .safe-game-hud>div{padding-inline:6px}
  .safe-sequence{gap:4px}.safe-sequence i{width:7px;height:7px}
  .safe-control-zone{margin-bottom:max(12px,calc(env(safe-area-inset-bottom) + 6px))}
}
@media(prefers-reduced-motion:reduce){
  .safe-sequence i{transition:none}body.safe-level-reset .safe-door{animation:none}
}


/* V22.32 · panel admin de las tres operaciones */
.admin-operation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 18px}.admin-operation-card{border:1px solid rgba(255,255,255,.10);border-radius:18px;background:rgba(255,255,255,.035);padding:14px}.admin-operation-card__head{display:flex;align-items:center;gap:10px}.admin-operation-card__head>span{font-size:22px}.admin-operation-card__head>div{display:grid;gap:1px;min-width:0;flex:1}.admin-operation-card__head small{font-size:9px;letter-spacing:.14em;opacity:.56}.admin-operation-card__head b{font-size:13px}.admin-operation-card__head em{font-style:normal;font-size:9px;letter-spacing:.09em;padding:5px 7px;border-radius:999px;background:rgba(255,255,255,.07);opacity:.82}.admin-operation-card__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:12px 0}.admin-operation-card__stats>span{display:grid;gap:2px;padding:8px;border-radius:12px;background:rgba(0,0,0,.18)}.admin-operation-card__stats strong{font-size:15px}.admin-operation-card__stats small{font-size:8px;letter-spacing:.08em;opacity:.5}.admin-operation-mini-podium{display:grid;gap:5px}.admin-operation-mini-row{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:6px;font-size:11px}.admin-operation-mini-row b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-operation-mini-row small{opacity:.62}.admin-operation-empty{opacity:.55}@media(max-width:620px){.admin-operation-grid{grid-template-columns:1fr}}

/* Admin games cleanup */
.admin-games-summary{margin:4px 0 10px;color:rgba(255,255,255,.52);font-size:11px;line-height:1.5}.admin-operation-grid--three{margin-bottom:0}@media(min-width:621px){.admin-operation-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}}

 .clandestine-cover--fuga{background:radial-gradient(circle at 68% 34%,rgba(103,118,255,.18),transparent 18%),linear-gradient(135deg,#0f1626,#221931 52%,#5a2447 100%)}
.clandestine-cover--fuga i{width:80px;height:220px;right:45px;top:-10px;transform:rotate(27deg);border-inline:3px solid #e9e2d580;background:#151820;box-shadow:-22px 0 42px #ec477a50,22px 0 42px #3b8dfd70;overflow:hidden;animation:clandestineFugaPulse 3.8s ease-in-out infinite}
.clandestine-cover--fuga i::before{content:'';position:absolute;left:50%;top:-80px;width:2px;height:calc(100% + 160px);transform:translateX(-50%);background:repeating-linear-gradient(0deg,transparent 0 22px,#ffffff60 22px 40px);animation:clandestineRoadBelt .95s linear infinite}
.clandestine-cover--fuga i::after{content:none}
.clandestine-cover--fuga::before{background:linear-gradient(180deg,rgba(255,255,255,.04),transparent 28%),repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0 1px,transparent 1px 24px)}
.clandestine-game--fuga .clandestine-cover strong{max-width:58%}
@keyframes clandestineSheen{0%,100%{transform:translateX(-18%) rotate(18deg);opacity:0}18%{opacity:.58}42%{transform:translateX(170%) rotate(18deg);opacity:.22}60%,100%{opacity:0}}
@keyframes clandestineFugaPulse{0%,100%{filter:brightness(.92)}50%{filter:brightness(1.12)}}
@keyframes clandestineRoadBelt{from{transform:translateX(-50%) translateY(0)}to{transform:translateX(-50%) translateY(40px)}}
@keyframes safeEmblemFloat{0%,100%{transform:rotate(9deg) translateY(0)}50%{transform:rotate(11deg) translateY(-4px)}}
@keyframes safeDialSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}

/* V22.46 · contrato visual común de Operaciones Clandestinas */
.operation-shell .arcade-head{
  max-width:520px;
  margin:0 auto 11px;
}
.operation-game-card{
  width:100%;
  max-width:520px!important;
  margin:0 auto 20px!important;
  box-sizing:border-box;
  border-radius:20px!important;
  overflow:hidden;
}
.operation-intro{
  min-height:410px!important;
  box-sizing:border-box;
  padding:27px 22px 25px!important;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.operation-intro p{margin-bottom:18px}
.operation-intro .game-personal-record{width:min(100%,320px)}
.operation-ranking{
  width:100%;
  max-width:520px!important;
  margin:18px auto 0!important;
  box-sizing:border-box;
}
@media(max-height:690px){
  .operation-intro{min-height:310px!important;padding:20px 18px!important}
}

.operation-ranking .arcade-ranking__head>span{flex:none;padding:6px 8px;border-radius:999px;background:rgba(70,220,131,.12);color:#46dc83;font-size:9px;font-weight:900;letter-spacing:.08em}
.operation-ranking .arcade-ranking__head>span.is-closed{background:rgba(255,255,255,.08);color:rgba(255,255,255,.62)}

/* v22.60: crossing V2, touch first. */
#arcadeTouchSurface{display:block;inset:85px 0 0;touch-action:none}
.crossing-controls{position:absolute;z-index:11;bottom:0;left:0;right:0;padding:8px 16px max(12px,env(safe-area-inset-bottom));background:linear-gradient(transparent,#111920 22%);pointer-events:none;text-align:center}
.crossing-controls p{font:700 10px/1.4 system-ui;letter-spacing:.07em;color:#d0ded8;margin:12px 0 7px}
.crossing-controls p.is-warning{color:#ffb49c}
.crossing-pad{display:flex;justify-content:center;align-items:center;gap:12px;pointer-events:none}
.crossing-pad>div{display:grid;gap:5px}
.crossing-pad button{pointer-events:auto;width:64px;height:46px;border:1px solid #7b958b;border-radius:12px;background:#263c35;color:#f6f8e8;font:800 25px system-ui;touch-action:none;-webkit-tap-highlight-color:transparent}
.crossing-pad button:active,.crossing-pad button.is-pressed{background:#e6c466;color:#13251e;transform:translateY(2px)}
.crossing-resume{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;background:#10211eee;color:#fff;border:0;touch-action:none;font:700 16px system-ui}
.crossing-resume strong{font-size:23px}.crossing-resume[hidden]{display:none!important}
#arcadeRetry:disabled{opacity:.55}#arcadeGame{background:#111920}#arcadeGame .arcade-game-hud__score strong{font-size:23px}
@media(max-height:600px){.crossing-pad button{height:38px}.crossing-controls p{font-size:9px}}

/* V22.60 · CAJA 30 precision V4 */
.safe-restart-game{position:absolute;z-index:8;top:12px;right:12px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(8,13,11,.82);color:#aebbb3;padding:7px 9px;font-size:7px;font-weight:950;letter-spacing:.08em}
.safe-control-zone--precision{padding-top:10px}
.safe-tap-marker{--tap-angle:0deg;position:absolute;z-index:7;inset:0;border-radius:50%;transform:rotate(var(--tap-angle));pointer-events:none}
.safe-tap-marker::before{content:'';position:absolute;left:50%;top:-5px;width:10px;height:10px;transform:translateX(-50%);border-radius:50%;background:#ff9a86;border:2px solid #101612;box-shadow:0 0 0 3px rgba(255,154,134,.18),0 0 12px rgba(255,108,90,.55)}
.safe-tap-marker.is-hit::before{background:#75e49b;box-shadow:0 0 0 3px rgba(117,228,155,.16),0 0 12px rgba(117,228,155,.5)}
.safe-tap-marker.is-perfect::before{background:#efffa9;box-shadow:0 0 0 4px rgba(239,255,169,.18),0 0 16px rgba(226,255,126,.72)}
.safe-result-shots{grid-template-columns:repeat(5,1fr)}
.safe-result-shots span:nth-child(n+6){margin-top:1px}
@media(max-width:360px){.safe-restart-game{top:9px;right:8px;padding:6px 8px}.safe-tap-marker::before{width:9px;height:9px}}

/* v22.61 · CAJA UX + FUGA traffic variety */
/* FUGA: gesture-first. No permanent on-screen d-pad. */
#arcadeTouchSurface{inset:68px 0 0}
.crossing-controls,.crossing-pad{display:none!important}
.crossing-tutorial{
  position:absolute;z-index:12;left:50%;bottom:max(22px,calc(env(safe-area-inset-bottom) + 14px));
  display:grid;grid-template-columns:auto auto;grid-template-areas:"gesture title" "gesture sub";align-items:center;column-gap:10px;
  transform:translateX(-50%);min-width:220px;padding:9px 13px;border:1px solid rgba(255,255,255,.15);border-radius:14px;
  background:rgba(12,20,24,.78);backdrop-filter:blur(8px);box-shadow:0 8px 24px rgba(0,0,0,.28);pointer-events:none;color:#f3f4e8;
}
.crossing-tutorial[hidden]{display:none!important}
.crossing-tutorial__gesture{grid-area:gesture;display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:rgba(230,196,102,.13);color:#f0d77f;font:900 21px/1 system-ui}
.crossing-tutorial strong{grid-area:title;font:900 9px/1.15 system-ui;letter-spacing:.10em;white-space:nowrap}
.crossing-tutorial small{grid-area:sub;margin-top:3px;color:rgba(255,255,255,.62);font:800 7.5px/1.1 system-ui;letter-spacing:.08em}

/* CAJA: the mechanism is the interface. */
body.safe-playing .safe-game{
  grid-template-rows:auto 34px minmax(0,1fr)!important;
  padding-top:max(58px,calc(env(safe-area-inset-top) + 50px));
  padding-inline:12px;padding-bottom:max(10px,env(safe-area-inset-bottom));
}
.safe-game-hud--simple{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;pointer-events:none}
.safe-game-hud--simple>div{padding:8px 9px!important;text-align:center!important;border-color:rgba(255,255,255,.10);background:rgba(8,13,11,.67);backdrop-filter:blur(6px)}
.safe-game-hud--simple small{font-size:7px;letter-spacing:.13em;color:#8d9992}
.safe-game-hud--simple strong{margin-top:3px;font-size:18px;line-height:1;color:#f5eddd;font-variant-numeric:tabular-nums}
.safe-game-hud--simple>div:first-child strong{color:#efcf72}
.safe-game-hud--simple>div:nth-child(2) strong{color:#ffad98}
.safe-game-hud--simple>div:nth-child(3) strong{color:#8fe2aa}
.safe-quality-slot{height:34px!important;overflow:visible}
.safe-quality-slot .safe-feedback{font-size:11px!important;line-height:34px!important;letter-spacing:.09em!important}
.safe-quality-slot .safe-feedback.is-perfect{font-size:12px!important}
body.safe-playing .safe-machine{min-height:0;align-self:stretch;transform:none;display:grid;place-items:center;padding-bottom:4px}
body.safe-playing .safe-door{width:min(86vw,360px)!important;max-width:calc(100vw - 34px)}
.safe-target-ring{width:67%}
.safe-dial-core{width:36%}
.safe-dial-core strong{font-size:30px}
.safe-tap-marker::before{width:12px;height:12px;top:-6px}
.safe-tap-surface--full{
  position:absolute!important;z-index:6!important;inset:max(116px,calc(env(safe-area-inset-top) + 104px)) 0 0!important;
  width:auto!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;color:transparent!important;touch-action:none!important;-webkit-tap-highlight-color:transparent;
}
.safe-tap-surface--full:active{transform:none!important;background:transparent!important}
.safe-tap-tutorial{
  position:absolute;z-index:7;left:50%;bottom:max(20px,calc(env(safe-area-inset-bottom) + 12px));transform:translateX(-50%);
  display:grid;gap:2px;min-width:224px;padding:9px 14px;border:1px solid rgba(225,191,99,.22);border-radius:999px;
  background:rgba(8,13,11,.72);backdrop-filter:blur(7px);text-align:center;pointer-events:none;box-shadow:0 7px 20px rgba(0,0,0,.24)
}
.safe-tap-tutorial[hidden]{display:none!important}
.safe-tap-tutorial strong{color:#f4dfa0;font-size:8px;font-weight:1000;letter-spacing:.10em}
.safe-tap-tutorial small{color:#91a098;font-size:7px;font-weight:800;letter-spacing:.035em}
.safe-restart-game{z-index:10}
.game-exit--safe{z-index:16}

@media(max-height:700px){
 body.safe-playing .safe-game{grid-template-rows:auto 28px minmax(0,1fr)!important;padding-top:max(51px,calc(env(safe-area-inset-top) + 43px));padding-bottom:max(6px,env(safe-area-inset-bottom))}
 body.safe-playing .safe-door{width:min(76vw,300px)!important}
 .safe-quality-slot{height:28px!important}.safe-quality-slot .safe-feedback{line-height:28px!important;font-size:9px!important}
 .safe-game-hud--simple>div{padding-block:6px!important}.safe-game-hud--simple strong{font-size:16px}
 .safe-tap-surface--full{inset:max(104px,calc(env(safe-area-inset-top) + 92px)) 0 0!important}
 .safe-tap-tutorial{bottom:max(9px,env(safe-area-inset-bottom));padding-block:7px}
}
@media(max-width:360px){
 body.safe-playing .safe-door{width:min(84vw,292px)!important}
 .safe-game-hud--simple{gap:5px}.safe-game-hud--simple>div{padding-inline:5px!important}.safe-game-hud--simple strong{font-size:15px}
 .safe-tap-tutorial{min-width:205px}.crossing-tutorial{min-width:205px}
}
@media(prefers-reduced-motion:reduce){.crossing-tutorial,.safe-tap-tutorial{backdrop-filter:none}}
/* Keep the larger 22.61 safe fully inside narrow mobile viewports. */
body.safe-playing .safe-handle{right:1.5%}
@media(max-width:360px){body.safe-playing .safe-handle{right:1%}}

/* v22.62 · CAJA direct-screen input + higher mechanism */
body.safe-playing .safe-game{cursor:pointer}
body.safe-playing .safe-machine{transform:translateY(-32px)!important;padding-bottom:0!important}
body.safe-playing .safe-door{width:min(88vw,366px)!important}
.safe-tap-tutorial{bottom:max(14px,calc(env(safe-area-inset-bottom) + 8px))}
.safe-restart-game{display:none!important}
.safe-tap-surface--full{display:none!important}
@media(max-height:700px){
 body.safe-playing .safe-machine{transform:translateY(-20px)!important}
 body.safe-playing .safe-door{width:min(78vw,308px)!important}
}
@media(max-width:360px){
 body.safe-playing .safe-machine{transform:translateY(-18px)!important}
 body.safe-playing .safe-door{width:min(86vw,298px)!important}
}

/* v22.68 · FUGA Pursuit visual rework tuning: blurred alternating police beacons + arrest-zone tape language. */

/* v22.68 · FUGA GTA Fantasy Polish Pass */
.arcade-game-hud{border-bottom:1px solid rgba(241,216,132,.10);background:linear-gradient(180deg,rgba(4,6,9,.84) 0%,rgba(4,6,9,.38) 58%,transparent 100%)}
.arcade-game-hud__left strong{color:#f2d97f;text-shadow:0 2px 12px rgba(229,182,65,.16)}
.arcade-game-hud__score strong{text-shadow:0 3px 16px rgba(0,0,0,.55);font-variant-numeric:tabular-nums}
.crossing-tutorial{backdrop-filter:blur(8px);box-shadow:0 14px 36px rgba(0,0,0,.24)}

/* v22.70.4 · ARCADE UX REWORK · play-first hub */
.clandestine-shell--playfirst{height:100%;max-height:100%;display:flex;flex-direction:column;padding:max(18px,env(safe-area-inset-top)) 16px max(14px,env(safe-area-inset-bottom));overflow:hidden}
.clandestine-hub-head{align-items:flex-start;flex:none}.clandestine-hub-head>div{min-width:0}.clandestine-hub-head h2{margin:5px 0 0!important;font-size:31px!important;line-height:.9!important}.clandestine-hub-head>div>small{font-size:8px!important}
.clandestine-compact-status{flex:none;display:grid;grid-template-columns:minmax(0,1fr) auto 34px;align-items:center;gap:8px;margin:12px 0 10px;padding:8px 9px 8px 11px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.035)}
.clandestine-compact-status>span:first-child{font-size:7px;font-weight:900;letter-spacing:.12em;color:rgba(255,255,255,.42)}.clandestine-compact-status>strong{font-size:10px;white-space:nowrap;color:#f2d78d}.clandestine-prize-info{width:30px;height:30px;border:0;border-radius:9px;background:rgba(255,255,255,.07);color:rgba(255,255,255,.72);font-size:14px}
.clandestine-shell--playfirst .clandestine-games{flex:1;min-height:0;gap:12px;padding-right:34px;scroll-padding-right:34px;align-items:stretch}.clandestine-shell--playfirst .clandestine-game{flex:0 0 calc(100% - 34px);height:100%;max-height:570px;display:grid;grid-template-rows:minmax(180px,1fr) auto;border-radius:18px}
.clandestine-shell--playfirst .clandestine-cover{height:auto;min-height:0;padding:16px}.clandestine-shell--playfirst .clandestine-cover strong{font-size:54px;margin-top:10px}
.clandestine-game-copy--playfirst{min-height:0!important;padding:14px 16px 15px!important;display:grid!important;gap:9px}.clandestine-game-copy--playfirst h3{min-height:0!important;margin:0!important;font-size:17px!important;line-height:1.15!important}.clandestine-game-copy--playfirst .clandestine-record{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:0;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.045)}.clandestine-game-copy--playfirst .clandestine-record small{font-size:7px;color:rgba(255,255,255,.38)}.clandestine-game-copy--playfirst .clandestine-record strong{font-size:11px;color:#fff;text-align:right}.clandestine-game-copy--playfirst .clandestine-play{min-height:48px;margin:0!important;font-size:12px!important;letter-spacing:.08em}
.clandestine-secondary-actions{display:grid;grid-template-columns:1fr 82px;gap:7px}.clandestine-secondary-actions button{height:34px;border:1px solid rgba(255,255,255,.09);border-radius:9px;background:rgba(255,255,255,.035);color:rgba(255,255,255,.62);font:800 8px system-ui;letter-spacing:.055em}.clandestine-secondary-actions button:active{transform:scale(.98);background:rgba(255,255,255,.08)}
.clandestine-navigation--compact{flex:none;margin-top:9px;gap:19px}.clandestine-navigation--compact button{width:34px;height:34px;border-radius:10px;font-size:17px}.clandestine-navigation--compact span{font-size:9px}.clandestine-shell--playfirst #clandestineMessage{flex:none;min-height:0;margin:3px 0 0;font-size:9px;text-align:center;color:#eeae74}
.arcade-hub-sheet{position:absolute;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;pointer-events:none}.arcade-hub-sheet[hidden]{display:none!important}.arcade-hub-sheet.is-open{pointer-events:auto}.arcade-hub-sheet__backdrop{position:absolute;inset:0;border:0;background:rgba(18,14,20,.67);backdrop-filter:blur(5px);opacity:0;transition:opacity .18s ease}.arcade-hub-sheet.is-open .arcade-hub-sheet__backdrop{opacity:1}.arcade-hub-sheet__panel{position:relative;width:min(calc(100% - 28px),600px);height:auto;max-height:min(82dvh,650px);color:var(--ink)}.arcade-hub-sheet__header small{display:block;font-size:8px;font-weight:1000;letter-spacing:.12em;color:#ad7f24}.arcade-hub-sheet__header h2{margin:2px 0 0}.arcade-hub-sheet__body{min-height:0;overflow:auto;padding:14px 16px max(20px,env(safe-area-inset-bottom));background:#f7f3ef;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.arcade-hub-info{display:grid;gap:9px}.arcade-hub-info>div,.arcade-hub-info>p{margin:0;padding:12px;border:1px solid #e5ddd7;border-radius:12px;background:#fff}.arcade-hub-info small{display:block;margin-bottom:4px;color:var(--muted);font-size:8px;font-weight:1000;letter-spacing:.11em}.arcade-hub-info strong{font-size:14px;line-height:1.28}.arcade-hub-info p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.arcade-hub-prizes{display:grid;grid-template-columns:repeat(3,1fr);gap:6px!important;padding:0!important;border:0!important;background:none!important}.arcade-hub-prizes span{padding:9px 5px;border:1px solid #e5ddd7;border-radius:10px;background:#fff;font-size:9px;text-align:center}.arcade-hub-sheet .arcade-ranking--sheet{display:block!important;margin:0!important;padding:0!important;border:0!important;background:none!important;max-width:none!important}.arcade-hub-sheet .arcade-ranking--sheet>.arcade-ranking__head{display:none}.arcade-hub-sheet .arcade-ranking--sheet>.arcade-ranking__deadline,.arcade-hub-sheet .arcade-ranking--sheet>.arcade-prize-strip,.arcade-hub-sheet .arcade-ranking--sheet>.form-message{display:none!important}.arcade-hub-sheet .arcade-leaderboard{gap:7px}.arcade-hub-sheet .arcade-rank-row{min-height:52px}
@media(max-width:720px){.arcade-hub-sheet__panel{width:100%;height:min(82dvh,650px);max-height:min(82dvh,650px);border-radius:20px 20px 0 0}.arcade-hub-sheet__body{flex:1 1 auto}.arcade-hub-sheet__drag-zone{touch-action:none;user-select:none}.arcade-hub-sheet__header{padding-left:16px;padding-right:16px}.arcade-hub-sheet__header h2{font-size:24px}}

/* Rankings live in the Hub now, not under each game page. */
.arcade-dialog .operation-ranking{display:none!important}.operation-intro .game-ranking-link{display:none!important}
/* Unified game navigation: back means pause. */
.game-exit{display:grid!important;place-items:center!important;width:40px!important;height:40px!important;padding:0!important;border-radius:12px!important;font-size:20px!important;line-height:1!important;letter-spacing:0!important}
.game-pause-menu{position:absolute;inset:0;z-index:80;display:grid;place-items:center;padding:22px;background:rgba(5,8,13,.74);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);touch-action:none}.game-pause-menu[hidden]{display:none!important}.game-pause-menu__card{width:min(100%,310px);box-sizing:border-box;padding:20px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:linear-gradient(180deg,rgba(31,35,45,.98),rgba(17,20,27,.98));box-shadow:0 18px 55px rgba(0,0,0,.4);text-align:center}.game-pause-menu__card>small{display:block;color:rgba(255,255,255,.42);font-size:8px;font-weight:900;letter-spacing:.13em}.game-pause-menu__card>strong{display:block;margin:7px 0 17px;font-size:22px}.game-pause-menu__card .btn{width:100%;min-height:46px}.game-pause-menu__exit{width:100%;margin-top:7px;padding:12px;border:0;background:transparent;color:rgba(255,255,255,.58);font-size:10px;font-weight:850;letter-spacing:.06em}
.game-result-back{width:100%;padding:12px 8px;border:0;background:transparent;color:rgba(255,255,255,.5);font-size:9px;font-weight:850;letter-spacing:.08em}.game-result-back:active{color:#fff}.arcade-result-actions{gap:7px!important}.arcade-result-actions .btn--accent{order:-2}.arcade-result-actions .btn--soft{order:-1}
@media(max-height:690px){.clandestine-shell--playfirst .clandestine-game{grid-template-rows:minmax(145px,1fr) auto}.clandestine-shell--playfirst .clandestine-cover strong{font-size:46px}.clandestine-game-copy--playfirst{padding:11px 14px 12px!important;gap:7px}.clandestine-game-copy--playfirst h3{font-size:15px!important}.clandestine-game-copy--playfirst .clandestine-play{min-height:43px}.clandestine-secondary-actions button{height:31px}}
.clandestine-shell--playfirst .clandestine-game{cursor:default!important}.clandestine-game-copy--playfirst .btn{cursor:pointer}.arcade-result>p{max-width:360px;margin-left:auto;margin-right:auto;color:rgba(255,255,255,.62);font-size:11px;line-height:1.45}.arcade-result-actions{max-width:360px;margin-left:auto;margin-right:auto}.arcade-result-actions .game-result-back{order:3}

/* v22.71.1 · Arcade loading rework aligned with cover-art themes */
body.operation-loading-open{overflow-x:hidden}
.operation-loading{
  position:absolute;inset:0;z-index:1400;
  width:100%;height:100%;min-height:100%;max-height:none;
  display:grid;place-items:center;align-content:center;gap:10px;
  padding:26px 24px 30px;box-sizing:border-box;text-align:center;
  color:#fff;overflow:hidden;isolation:isolate;
}
.operation-loading::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.95;
  background:
    radial-gradient(circle at 50% 34%,color-mix(in srgb,var(--operation-accent,#ff5c5c) 16%,transparent),transparent 28%),
    linear-gradient(180deg,rgba(255,255,255,.035),transparent 24%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 1px,transparent 1px 24px);
}
.operation-loading::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(circle at 50% 105%,rgba(0,0,0,.46),transparent 44%);
}
.operation-loading[hidden]{display:none!important}
.operation-loading__visual{
  position:relative;width:min(56vw,210px);height:min(44vw,176px);display:grid;place-items:center;
  margin:0 0 16px;z-index:1;filter:drop-shadow(0 20px 42px rgba(0,0,0,.34));
}
.operation-loading__visual>i{
  position:absolute;left:50%;top:50%;width:132px;height:88px;transform:translate(-50%,-50%);
  border-radius:999px;opacity:.32;filter:blur(18px);background:var(--operation-accent,#ff5c5c)
}
.operation-loading__spinner{position:relative;display:block;width:100%;height:100%}
.operation-loading>small{position:relative;z-index:1;font-size:9px;font-weight:1000;letter-spacing:.18em;color:color-mix(in srgb,var(--operation-accent) 84%,white)}
.operation-loading>strong{position:relative;z-index:1;font-size:clamp(34px,10vw,48px);font-style:italic;line-height:.84;letter-spacing:-.06em;text-transform:uppercase;text-shadow:0 8px 24px rgba(0,0,0,.34)}
.operation-loading>strong b{display:block;margin-top:8px;color:var(--operation-accent);font-size:.56em;letter-spacing:.04em;text-shadow:0 0 20px color-mix(in srgb,var(--operation-accent) 36%,transparent)}
.operation-loading>p{position:relative;z-index:1;min-height:18px;max-width:320px;margin:0;color:rgba(255,255,255,.66);font-size:11px;font-weight:700;line-height:1.45}
.operation-loading.is-error .operation-loading__spinner{animation:none}
.operation-loading.is-error>p{color:rgba(255,205,201,.8)}
.operation-loading--fuga{--operation-accent:#ff5555;background:linear-gradient(135deg,#150b0d 0%,#2b1115 52%,#4a171a 100%)}
.operation-loading--safe{--operation-accent:#5ddc6e;background:linear-gradient(135deg,#0a120d 0%,#102319 51%,#153824 100%)}
.operation-loading--inf{--operation-accent:#56b8ff;background:linear-gradient(135deg,#0c1217 0%,#0b1d2b 52%,#15374a 100%)}

/* FUGA loader: carretera + estrellas + luces */
.operation-loading--fuga .operation-loading__visual{width:194px;height:150px}
.operation-loading--fuga .operation-loading__visual>i{background:#ff5555;width:146px;height:84px}
.operation-loading--fuga .operation-loading__spinner::before{
  content:"";position:absolute;left:50%;bottom:-8px;transform:translateX(-50%) perspective(280px) rotateX(13deg);
  width:128px;height:132px;clip-path:polygon(28% 0,72% 0,100% 100%,0 100%);
  background:linear-gradient(180deg,#27282c,#12141a 70%,#090a0d);
  box-shadow:inset 16px 0 0 rgba(255,255,255,.035),inset -16px 0 0 rgba(255,255,255,.035),0 16px 36px rgba(0,0,0,.34);
}
.operation-loading--fuga .operation-loading__spinner::after{
  content:"★★★★★";position:absolute;right:22px;top:18px;font-size:15px;letter-spacing:.18em;
  color:rgba(255,224,216,.22);filter:drop-shadow(0 0 8px rgba(255,74,74,.34));animation:fugaLoadStars 1.7s ease-in-out infinite;
}
.operation-loading--fuga .operation-loading__visual::before{
  content:"";position:absolute;left:50%;bottom:8px;transform:translateX(-50%);width:2px;height:110px;
  background:repeating-linear-gradient(180deg,rgba(255,245,226,.74) 0 12px,transparent 12px 27px);
  box-shadow:-16px 0 0 rgba(255,245,226,.55),16px 0 0 rgba(255,245,226,.55);
  animation:fugaLoadLanes 1.05s linear infinite;opacity:.82;
}
.operation-loading--fuga .operation-loading__visual::after{
  content:"";position:absolute;right:14px;top:44px;width:118px;height:62px;
  background:radial-gradient(circle at 30% 50%,rgba(255,55,55,.58),transparent 27%),radial-gradient(circle at 70% 50%,rgba(67,110,255,.30),transparent 27%);
  filter:blur(9px);opacity:.64;animation:fugaLoadPolice 1.3s ease-in-out infinite alternate;
}

/* CAJA loader: dial mecánico */
.operation-loading--safe .operation-loading__visual{width:164px;height:164px}
.operation-loading--safe .operation-loading__visual>i{background:#5ddc6e;width:118px;height:118px;opacity:.24}
.operation-loading--safe .operation-loading__spinner{
  width:142px;height:142px;border:1px solid rgba(138,247,154,.40);border-radius:50%;
  background:
    radial-gradient(circle,rgba(4,11,7,.96) 0 22%,transparent 23%),
    repeating-conic-gradient(from -2deg,rgba(164,255,177,.70) 0 1deg,transparent 1deg 10deg),
    radial-gradient(circle,transparent 0 42%,rgba(93,220,110,.13) 43% 52%,transparent 53%),
    #101c15;
  box-shadow:inset 0 0 0 10px rgba(4,10,7,.78),inset 0 0 28px rgba(93,220,110,.13),0 18px 38px rgba(0,0,0,.44),0 0 28px rgba(93,220,110,.10);
  animation:safeLoadDialFloat 4.8s ease-in-out infinite;
}
.operation-loading--safe .operation-loading__spinner::before,.operation-loading--safe .operation-loading__spinner::after{
  content:"";position:absolute;left:50%;top:50%;width:9px;height:112px;border-radius:999px;
  background:linear-gradient(180deg,#a5f0af,#397749);box-shadow:0 0 0 2px rgba(3,10,6,.58),0 0 16px rgba(93,220,110,.18);
  transform:translate(-50%,-50%) rotate(45deg);
}
.operation-loading--safe .operation-loading__spinner::after{transform:translate(-50%,-50%) rotate(135deg)}
.operation-loading--safe .operation-loading__visual::before{
  content:"";position:absolute;left:50%;top:50%;width:82px;height:82px;transform:translate(-50%,-50%);
  border:1px dashed rgba(172,255,185,.52);border-radius:50%;box-shadow:inset 0 0 18px rgba(93,220,110,.06);
  animation:safeLoadDialSpin 12s linear infinite;z-index:2;
}
.operation-loading--safe .operation-loading__visual::after{
  content:"30";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;
  width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(153,251,167,.42);border-radius:50%;
  background:radial-gradient(circle,#17281d,#07100a);color:#9cf1a8;font-size:16px;font-weight:1000;letter-spacing:.04em;box-shadow:0 0 20px rgba(93,220,110,.20);
}

/* INFILTRACIÓN loader: panel + escáner */
.operation-loading--inf .operation-loading__visual{width:178px;height:148px}
.operation-loading--inf .operation-loading__visual>i{background:#56b8ff;width:130px;height:84px}
.operation-loading--inf .operation-loading__spinner{
  width:132px;height:118px;border-radius:18px;border:1px solid rgba(86,184,255,.26);
  background:
    radial-gradient(circle at 50% 50%,rgba(86,184,255,.09),transparent 62%),
    repeating-linear-gradient(90deg,transparent 0 21px,rgba(86,184,255,.12) 21px 22px),
    repeating-linear-gradient(180deg,transparent 0 21px,rgba(86,184,255,.12) 21px 22px),
    rgba(86,184,255,.03);
  box-shadow:inset 0 0 18px rgba(86,184,255,.08),0 0 24px rgba(86,184,255,.08);
  overflow:hidden;
}
.operation-loading--inf .operation-loading__spinner::before{
  content:"";position:absolute;inset:14px;border-radius:12px;border:1px solid rgba(105,198,255,.18);
  box-shadow:0 0 0 1px rgba(18,47,67,.48) inset;
}
.operation-loading--inf .operation-loading__spinner::after{
  content:"";position:absolute;left:14px;right:14px;height:12px;top:16px;border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(126,206,255,.92),transparent);
  box-shadow:0 0 14px rgba(86,184,255,.45);animation:infLoadScan .9s ease-in-out infinite;
}
.operation-loading--inf .operation-loading__visual::before{
  content:"";position:absolute;right:10px;top:26px;width:54px;height:54px;border-radius:14px;border:1px solid rgba(109,198,255,.25);
  background:linear-gradient(180deg,rgba(86,184,255,.08),rgba(86,184,255,.02));
  box-shadow:inset 0 0 14px rgba(86,184,255,.08);z-index:2;
}
.operation-loading--inf .operation-loading__visual::after{
  content:"ACCESS";position:absolute;right:20px;top:44px;z-index:3;color:#a8dcff;font-size:8px;font-weight:1000;letter-spacing:.18em;
}

@keyframes fugaLoadStars{0%,100%{opacity:.72;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}
@keyframes fugaLoadLanes{from{background-position:0 0}to{background-position:0 27px}}
@keyframes fugaLoadPolice{from{opacity:.38;transform:scale(.97)}to{opacity:.72;transform:scale(1.04)}}
@keyframes safeLoadDialFloat{0%,100%{transform:translateY(0) rotate(7deg) scale(1)}50%{transform:translateY(-3px) rotate(9deg) scale(1.015)}}
@keyframes safeLoadDialSpin{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes infLoadScan{0%,100%{transform:translateY(0)}50%{transform:translateY(54px)}}
@media(max-width:390px){.operation-loading__visual{transform:scale(.92)}.operation-loading>strong{font-size:clamp(30px,9vw,36px)}}
@media(max-height:700px){.operation-loading{gap:8px;padding:max(22px,env(safe-area-inset-top)) 22px max(24px,env(safe-area-inset-bottom))}.operation-loading__visual{margin-bottom:10px}.operation-loading>small{font-size:8px}.operation-loading>p{font-size:10px}}
@media(prefers-reduced-motion:reduce){.operation-loading--fuga .operation-loading__spinner::after,.operation-loading--fuga .operation-loading__visual::before,.operation-loading--fuga .operation-loading__visual::after,.operation-loading--safe .operation-loading__spinner,.operation-loading--safe .operation-loading__visual::before,.operation-loading--inf .operation-loading__spinner::after{animation:none!important}}

.operation-result{--result-accent:#ff5555;min-height:330px;box-sizing:border-box;padding:26px 20px 22px!important;background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--result-accent) 14%,transparent),transparent 47%),#111017!important}
.operation-result--fuga{--result-accent:#ff5555}.operation-result--safe{--result-accent:#5ddc6e}.operation-result--inf{--result-accent:#56b8ff}
.operation-result>small{color:var(--result-accent)!important}.operation-result h3{color:var(--result-accent)!important}
.operation-result .arcade-result-actions{display:flex!important;flex-direction:column!important;gap:8px!important;width:min(100%,340px);max-width:340px!important;margin:16px auto 0!important}
.operation-result .arcade-result-actions .btn,.operation-result .arcade-result-actions .game-result-back{width:100%;min-height:46px;box-sizing:border-box}
.operation-result .arcade-result-actions .btn--accent{order:1}.operation-result .arcade-result-actions .btn--soft{order:2}.operation-result .arcade-result-actions .game-result-back{order:3;min-height:40px}
.operation-result .arcade-result-actions [hidden]{display:none!important}

/* v22.71.1 · Arcade secondary sheets: shared behavior, clandestine skin + adaptive height */
.arcade-hub-sheet{
  --arcade-sheet-accent:#dca753;
  --arcade-sheet-accent-soft:rgba(220,167,83,.14);
  --arcade-sheet-accent-glow:rgba(220,167,83,.20);
}
.arcade-hub-sheet__panel[data-game="fuga"]{--arcade-sheet-accent:#ff5555;--arcade-sheet-accent-soft:rgba(255,85,85,.13);--arcade-sheet-accent-glow:rgba(255,85,85,.20)}
.arcade-hub-sheet__panel[data-game="safe"]{--arcade-sheet-accent:#5ddc6e;--arcade-sheet-accent-soft:rgba(93,220,110,.13);--arcade-sheet-accent-glow:rgba(93,220,110,.18)}
.arcade-hub-sheet__panel[data-game="infiltration"]{--arcade-sheet-accent:#56b8ff;--arcade-sheet-accent-soft:rgba(86,184,255,.12);--arcade-sheet-accent-glow:rgba(86,184,255,.18)}
.arcade-hub-sheet__panel[data-game="prizes"]{--arcade-sheet-accent:#dca753;--arcade-sheet-accent-soft:rgba(220,167,83,.14);--arcade-sheet-accent-glow:rgba(220,167,83,.20)}
.arcade-hub-sheet__backdrop{background:rgba(6,7,11,.74);backdrop-filter:blur(6px)}
.arcade-hub-sheet__panel{
  color:#f8f4ea!important;
  background:
    radial-gradient(circle at 82% -12%,var(--arcade-sheet-accent-soft),transparent 40%),
    linear-gradient(180deg,#1b1d29 0%,#14161f 100%)!important;
  border:1px solid rgba(255,255,255,.11)!important;
  box-shadow:0 -18px 70px rgba(0,0,0,.48),0 0 34px var(--arcade-sheet-accent-glow)!important;
}
.arcade-hub-sheet__drag-zone{background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,0))!important}
.arcade-hub-sheet__grabber::after{background:rgba(255,255,255,.24)!important}
.arcade-hub-sheet__header{background:transparent!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
.arcade-hub-sheet__header small{color:var(--arcade-sheet-accent)!important}
.arcade-hub-sheet__header h2{color:#fff!important;font-weight:950;letter-spacing:-.035em}
.arcade-hub-sheet__body{
  flex:0 1 auto!important;
  min-height:0;
  overflow:auto;
  padding:14px 16px max(18px,env(safe-area-inset-bottom));
  background:transparent!important;
  color:#f5f0e8;
  scrollbar-color:rgba(255,255,255,.16) transparent;
}
.arcade-hub-info{gap:8px}
.arcade-hub-info>div,.arcade-hub-info>p{
  margin:0;
  padding:12px 13px;
  border:1px solid rgba(255,255,255,.085)!important;
  border-radius:12px;
  background:rgba(255,255,255,.04)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.arcade-hub-info>div:first-child{border-color:color-mix(in srgb,var(--arcade-sheet-accent) 36%,transparent)!important;background:var(--arcade-sheet-accent-soft)!important}
.arcade-hub-info small{color:rgba(255,255,255,.42)!important;font-size:8px;font-weight:950;letter-spacing:.13em}
.arcade-hub-info strong{color:#fff!important;font-size:14px;line-height:1.28}
.arcade-hub-info p{color:rgba(255,255,255,.58)!important;font-size:11px;line-height:1.48}
.arcade-hub-prizes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px!important}
.arcade-hub-prizes span{
  min-width:0;
  padding:10px 5px!important;
  border:1px solid rgba(255,255,255,.085)!important;
  border-radius:10px;
  background:rgba(255,255,255,.045)!important;
  color:rgba(255,255,255,.62);
  font-size:8.5px!important;
  line-height:1.35;
  text-align:center;
}
.arcade-hub-prizes b{color:#fff}
.arcade-hub-sheet .arcade-ranking--sheet{color:#f8f4ea!important}
.arcade-hub-sheet .arcade-leaderboard{gap:7px}
.arcade-hub-sheet .arcade-rank-row{min-height:50px;border:1px solid rgba(255,255,255,.045);background:rgba(255,255,255,.035)}
.arcade-hub-sheet .arcade-rank-row.is-me{outline:1px solid color-mix(in srgb,var(--arcade-sheet-accent) 68%,transparent);background:var(--arcade-sheet-accent-soft)}
.arcade-hub-sheet .arcade-rank-row__rank{color:rgba(255,255,255,.48)}
.arcade-hub-sheet .arcade-rank-row__name small{color:rgba(255,255,255,.42)}
.arcade-hub-sheet__panel[data-sheet-type="info"],
.arcade-hub-sheet__panel[data-sheet-type="prizes"]{max-height:min(70dvh,560px)!important}
.arcade-hub-sheet__panel[data-sheet-type="ranking"]{max-height:min(82dvh,680px)!important}

@media(max-width:720px){
  .arcade-hub-sheet__panel{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:min(82dvh,680px)!important;
    border-radius:20px 20px 0 0!important;
    border-bottom:0!important;
  }
  .arcade-hub-sheet__panel[data-sheet-type="info"],
  .arcade-hub-sheet__panel[data-sheet-type="prizes"]{
    height:auto!important;
    max-height:min(68dvh,540px)!important;
  }
  .arcade-hub-sheet__panel[data-sheet-type="ranking"]{
    height:min(78dvh,640px)!important;
    max-height:min(78dvh,640px)!important;
  }
  .arcade-hub-sheet__body{flex:0 1 auto!important}
  .arcade-hub-sheet__panel[data-sheet-type="ranking"] .arcade-hub-sheet__body{flex:1 1 auto!important}
  .arcade-hub-sheet__header{padding:4px 16px 10px!important}
  .arcade-hub-sheet__header h2{font-size:23px!important}
}


/* v22.70.7 · Compact unified game results */
.operation-result{
  min-height:clamp(360px,calc(100dvh - 225px),560px)!important;
  display:flex!important;flex-direction:column;align-items:center;justify-content:center;
  padding:24px 20px 20px!important;text-align:center;overflow:hidden;
}
.operation-result[hidden]{display:none!important}
.operation-result__mark{
  display:grid;place-items:center;min-width:44px;height:32px;margin:0 0 10px;
  color:var(--result-accent);font-size:16px;font-weight:950;letter-spacing:.10em;
  opacity:.88;text-shadow:0 0 18px color-mix(in srgb,var(--result-accent) 30%,transparent);
}
.operation-result--safe .operation-result__mark{width:34px;height:34px;border:1px solid color-mix(in srgb,var(--result-accent) 58%,transparent);border-radius:50%;font-size:12px}
.operation-result--inf .operation-result__mark{font-size:24px}
.operation-result>small{margin:0 0 8px;font-size:9px!important;font-weight:950;letter-spacing:.16em!important;line-height:1.2}
.operation-result__score{display:flex;flex-direction:column;align-items:center;gap:1px;margin:0 0 8px}
.operation-result__score>strong{font-size:clamp(44px,14vw,64px)!important;line-height:.95!important;letter-spacing:-.055em!important;color:#fff!important;font-weight:950!important}
.operation-result__score>span{margin-top:5px;color:rgba(255,255,255,.48);font-size:9px;font-weight:900;letter-spacing:.18em}
.operation-result>h3{min-height:18px;margin:5px 0 0!important;font-size:11px!important;line-height:1.25!important;letter-spacing:.035em!important;color:var(--result-accent)!important;font-weight:900!important}
.operation-result__message{max-width:280px!important;margin:8px auto 0!important;color:rgba(255,255,255,.58)!important;font-size:10px!important;line-height:1.35!important}
.operation-result__message[hidden],.operation-result__legacy-details[hidden],.operation-result .arcade-result-prize[hidden]{display:none!important}
.operation-result .arcade-result-actions{width:min(100%,310px)!important;max-width:310px!important;margin:20px auto 0!important;gap:6px!important}
.operation-result .arcade-result-actions .btn{min-height:44px!important;border-radius:12px!important;font-size:11px!important;font-weight:900!important}
.operation-result .arcade-result-actions .game-result-back{min-height:32px!important;padding:7px 6px!important;font-size:8px!important;opacity:.72}
.operation-result .arcade-result-actions .btn--soft{background:rgba(255,255,255,.055)!important;border-color:rgba(255,255,255,.10)!important;color:rgba(255,255,255,.82)!important}
.operation-result--fuga{--result-accent:#ff5555}.operation-result--safe{--result-accent:#5ddc6e}.operation-result--inf{--result-accent:#56b8ff}
@media(max-height:700px){.operation-result{min-height:330px!important;padding-top:16px!important}.operation-result__mark{margin-bottom:6px}.operation-result__score>strong{font-size:44px!important}.operation-result .arcade-result-actions{margin-top:14px!important}}

/* v22.71 · OPERACIONES CLANDESTINAS · cover-art rework */
.clandestine-shell--playfirst .clandestine-cover{
  --cover-accent:#fff;
  padding:16px 17px 18px;
  min-height:184px;
  border-bottom:1px solid rgba(255,255,255,.07);
  box-shadow:inset 0 -34px 54px rgba(0,0,0,.18);
}
.clandestine-shell--playfirst .clandestine-cover>span{
  position:relative;z-index:20;
  display:inline-flex;align-items:center;min-height:20px;
  color:color-mix(in srgb,var(--cover-accent) 86%,white);
  font-size:8px;font-weight:950;letter-spacing:.14em;
  text-shadow:0 2px 12px rgba(0,0,0,.42);
}
.clandestine-shell--playfirst .clandestine-cover>strong{
  position:absolute;z-index:19;left:17px;top:52px;width:50%;max-width:50%;
  margin:0!important;font-size:clamp(39px,12vw,57px)!important;font-style:italic;
  line-height:.78;letter-spacing:-.065em;text-transform:uppercase;
  text-shadow:0 9px 26px rgba(0,0,0,.46);
}
.clandestine-shell--playfirst .clandestine-cover>strong>b{
  display:block;margin-top:8px;color:var(--cover-accent);font-size:.56em;font-weight:1000;
  line-height:.82;letter-spacing:.035em;text-shadow:0 0 22px color-mix(in srgb,var(--cover-accent) 36%,transparent);
}
.clandestine-shell--playfirst .clandestine-cover::after{
  opacity:.44;animation-duration:7.4s;
}

/* CAJA 30 · verde / mecanismo de precisión */
.clandestine-cover--safe{
  --cover-accent:#5ddc6e;
  background:
    radial-gradient(circle at 78% 48%,rgba(93,220,110,.24),transparent 27%),
    radial-gradient(circle at 70% 115%,rgba(59,148,78,.20),transparent 42%),
    linear-gradient(135deg,#0a120d 0%,#102319 51%,#153824 100%)!important;
}
.clandestine-cover--safe::before{
  background:
    linear-gradient(rgba(123,235,140,.032) 1px,transparent 1px),
    linear-gradient(90deg,rgba(123,235,140,.026) 1px,transparent 1px),
    radial-gradient(circle at 79% 48%,transparent 0 28%,rgba(128,244,146,.07) 29% 29.7%,transparent 30% 38%,rgba(128,244,146,.045) 39% 39.5%,transparent 40%)!important;
  background-size:22px 22px,22px 22px,auto!important;opacity:.82!important;
}
.clandestine-cover--safe>strong{color:#f2f7f1!important}
.clandestine-safe-emblem{
  position:absolute!important;z-index:8!important;right:18px!important;top:50%!important;
  width:142px!important;height:142px!important;margin:0!important;
  transform:translateY(-42%) rotate(7deg)!important;border:1px solid rgba(138,247,154,.40)!important;
  border-radius:50%!important;
  background:
    radial-gradient(circle,rgba(4,11,7,.96) 0 22%,transparent 23%),
    repeating-conic-gradient(from -2deg,rgba(164,255,177,.70) 0 1deg,transparent 1deg 10deg),
    radial-gradient(circle,transparent 0 42%,rgba(93,220,110,.13) 43% 52%,transparent 53%),
    #101c15!important;
  box-shadow:inset 0 0 0 10px rgba(4,10,7,.78),inset 0 0 28px rgba(93,220,110,.13),0 18px 38px rgba(0,0,0,.44),0 0 28px rgba(93,220,110,.10)!important;
  animation:safeCoverDialFloat 4.8s ease-in-out infinite!important;
}
.clandestine-safe-emblem::before,.clandestine-safe-emblem::after{
  content:""!important;position:absolute!important;z-index:3!important;left:50%!important;top:50%!important;
  width:9px!important;height:112px!important;border-radius:999px!important;
  background:linear-gradient(180deg,#a5f0af,#397749)!important;
  box-shadow:0 0 0 2px rgba(3,10,6,.58),0 0 16px rgba(93,220,110,.18)!important;
  transform:translate(-50%,-50%) rotate(45deg)!important;
}
.clandestine-safe-emblem::after{transform:translate(-50%,-50%) rotate(135deg)!important}
.clandestine-safe-emblem>i{
  position:absolute!important;z-index:4!important;left:50%!important;top:50%!important;right:auto!important;
  width:82px!important;height:82px!important;transform:translate(-50%,-50%)!important;
  border:1px dashed rgba(172,255,185,.52)!important;border-radius:50%!important;
  background:transparent!important;box-shadow:inset 0 0 18px rgba(93,220,110,.06)!important;
  animation:safeCoverDialSpin 13s linear infinite!important;
}
.clandestine-safe-emblem>b{
  position:absolute!important;z-index:7!important;left:50%;top:50%;transform:translate(-50%,-50%);
  width:48px!important;height:48px!important;display:grid!important;place-items:center!important;
  border:1px solid rgba(153,251,167,.42)!important;border-radius:50%!important;
  background:radial-gradient(circle,#17281d,#07100a)!important;color:#9cf1a8!important;
  font-size:16px!important;font-weight:1000!important;letter-spacing:.04em!important;
  box-shadow:0 0 20px rgba(93,220,110,.20)!important;
}
.safe-cover-sweetspot{
  position:absolute;z-index:9;right:9px;top:50%;width:11px;height:24px;transform:translateY(-50%);
  border-radius:999px;background:#9dffab;box-shadow:0 0 8px #70f582,0 0 20px rgba(93,220,110,.55);
  animation:safeCoverSweetspot 1.8s ease-in-out infinite;
}
.safe-cover-readout{
  position:absolute;z-index:9;right:26px;bottom:15px;width:112px;height:21px;
  display:flex;align-items:center;gap:5px;padding:0 7px;box-sizing:border-box;
  border:1px solid rgba(109,232,127,.18);border-radius:5px;background:rgba(4,11,7,.60);
  color:rgba(171,244,181,.68);font-size:6px;font-weight:900;letter-spacing:.12em;
}
.safe-cover-readout>i{
  position:relative!important;inset:auto!important;right:auto!important;top:auto!important;transform:none!important;
  width:4px!important;height:4px!important;border:0!important;border-radius:50%!important;background:#5ddc6e!important;
  box-shadow:0 0 8px rgba(93,220,110,.52)!important;animation:safeReadoutPulse 1.35s ease-in-out infinite!important;
}
.safe-cover-readout>i:nth-child(2){animation-delay:-.42s!important}.safe-cover-readout>i:nth-child(3){animation-delay:-.84s!important}
.safe-cover-readout>span{margin-left:auto;color:rgba(190,248,199,.62)!important;font-size:6px!important;letter-spacing:.08em!important}

/* FUGA 30 · rojo / carretera y persecución */
.clandestine-cover--fuga{
  --cover-accent:#ff5959;
  background:
    radial-gradient(circle at 83% 30%,rgba(255,70,70,.22),transparent 24%),
    radial-gradient(circle at 69% 58%,rgba(73,114,255,.09),transparent 22%),
    linear-gradient(135deg,#150b0d 0%,#2b1115 52%,#4a171a 100%)!important;
}
.clandestine-cover--fuga::before{
  background:
    linear-gradient(180deg,rgba(255,255,255,.035),transparent 36%),
    repeating-linear-gradient(90deg,rgba(255,120,120,.022) 0 1px,transparent 1px 22px)!important;
  opacity:.78!important;
}
.clandestine-cover--fuga>strong{color:#fff3f0!important}
.fuga-cover-scene{position:absolute;z-index:5;right:0;top:0;width:58%;height:100%;overflow:hidden;pointer-events:none}
.fuga-cover-scene::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(25,8,10,.42),transparent 24%),radial-gradient(circle at 74% 33%,rgba(255,94,94,.13),transparent 28%);
}
.fuga-cover-stars{
  position:absolute;z-index:9;right:15px;top:20px;display:flex;gap:4px;
  transform:rotate(2deg);filter:drop-shadow(0 0 8px rgba(255,74,74,.34));
}
.fuga-cover-stars>b{color:rgba(255,224,216,.22);font-size:13px;animation:fugaCoverStar 1.9s ease-in-out infinite}
.fuga-cover-stars>b:nth-child(2){animation-delay:-1.5s}.fuga-cover-stars>b:nth-child(3){animation-delay:-1.1s}.fuga-cover-stars>b:nth-child(4){animation-delay:-.7s}.fuga-cover-stars>b:nth-child(5){animation-delay:-.3s}
.fuga-cover-police{
  position:absolute;z-index:4;right:6px;top:42px;width:126px;height:68px;
  background:radial-gradient(circle at 30% 50%,rgba(255,55,55,.58),transparent 27%),radial-gradient(circle at 70% 50%,rgba(67,110,255,.30),transparent 27%);
  filter:blur(9px);opacity:.60;animation:fugaCoverPolice 1.35s ease-in-out infinite alternate;
}
.fuga-cover-road{
  position:absolute;z-index:6;right:9px;bottom:-42px;width:148px;height:190px;
  clip-path:polygon(29% 0,71% 0,100% 100%,0 100%);
  background:linear-gradient(180deg,#26272b,#111318 68%,#090a0d);
  box-shadow:inset 18px 0 0 rgba(255,255,255,.035),inset -18px 0 0 rgba(255,255,255,.035),0 0 36px rgba(0,0,0,.35);
  transform:perspective(280px) rotateX(11deg);
}
.fuga-cover-road::before,.fuga-cover-road::after{
  content:"";position:absolute;top:0;bottom:0;width:2px;background:rgba(255,244,228,.56);
}
.fuga-cover-road::before{left:28%}.fuga-cover-road::after{right:28%}
.fuga-cover-road>i{
  position:absolute!important;left:50%!important;right:auto!important;top:-45%!important;
  width:2px!important;height:180%!important;border:0!important;border-radius:0!important;
  background:repeating-linear-gradient(180deg,rgba(255,245,226,.74) 0 13px,transparent 13px 29px)!important;
  box-shadow:none!important;transform:none!important;animation:fugaCoverLaneMove 1.1s linear infinite!important;
}
.fuga-cover-road>i:nth-child(1){left:38%!important}.fuga-cover-road>i:nth-child(2){left:50%!important}.fuga-cover-road>i:nth-child(3){left:62%!important}
.fuga-cover-runner{
  position:absolute;z-index:10;right:62px;bottom:51px;width:16px;height:25px;
  background:#ffcf61;border-radius:8px 8px 6px 6px;transform:rotate(-7deg);
  box-shadow:0 7px 14px rgba(0,0,0,.42),0 0 12px rgba(255,92,76,.16);animation:fugaCoverRunner .72s ease-in-out infinite alternate;
}
.fuga-cover-runner::before{content:"";position:absolute;left:3px;top:-9px;width:10px;height:10px;border-radius:50%;background:#f0c49d}
.fuga-cover-runner::after{content:"";position:absolute;right:-7px;top:7px;width:8px;height:12px;border-radius:3px;background:#6f5032;transform:rotate(8deg)}
.fuga-cover-runner>i{
  position:absolute!important;left:-5px!important;right:auto!important;top:19px!important;width:26px!important;height:3px!important;
  border:0!important;background:linear-gradient(90deg,#24272b 0 38%,transparent 39% 59%,#24272b 60%)!important;
  box-shadow:none!important;transform:rotate(15deg)!important;animation:none!important;
}

@keyframes safeCoverDialFloat{0%,100%{transform:translateY(-42%) rotate(7deg) scale(1)}50%{transform:translateY(-45%) rotate(9deg) scale(1.015)}}
@keyframes safeCoverDialSpin{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes safeCoverSweetspot{0%,100%{opacity:.52;transform:translateY(-50%) scale(.9)}50%{opacity:1;transform:translateY(-50%) scale(1.08)}}
@keyframes safeReadoutPulse{0%,100%{opacity:.28}50%{opacity:1}}
@keyframes fugaCoverStar{0%,100%{color:rgba(255,224,216,.20);transform:scale(.92)}50%{color:#ff7770;transform:scale(1.08)}}
@keyframes fugaCoverPolice{from{opacity:.36;transform:scale(.96)}to{opacity:.72;transform:scale(1.05)}}
@keyframes fugaCoverLaneMove{from{background-position:0 0}to{background-position:0 29px}}
@keyframes fugaCoverRunner{from{transform:translateY(0) rotate(-7deg)}to{transform:translateY(-3px) rotate(-3deg)}}

@media(max-width:390px){
  .clandestine-shell--playfirst .clandestine-cover>strong{font-size:clamp(34px,11.2vw,48px)!important;width:49%;max-width:49%}
  .clandestine-safe-emblem{width:126px!important;height:126px!important;right:12px!important}
  .safe-cover-readout{right:17px;width:102px}
  .fuga-cover-road{right:-1px;width:136px}.fuga-cover-runner{right:51px}
}
@media(prefers-reduced-motion:reduce){
  .clandestine-safe-emblem,.safe-cover-sweetspot,.safe-cover-readout>i,.fuga-cover-stars>b,.fuga-cover-police,.fuga-cover-road>i,.fuga-cover-runner{animation:none!important}
}

/* v22.71.2 · Themed play CTAs, centered results and neutral clandestine close */
#clandestinePlayInfiltration{
  background:#56b8ff!important;border-color:#56b8ff!important;color:#071522!important;
  box-shadow:0 8px 22px rgba(86,184,255,.18),inset 0 1px 0 rgba(255,255,255,.22);
}
#clandestinePlaySafe{
  background:#5ddc6e!important;border-color:#5ddc6e!important;color:#08150b!important;
  box-shadow:0 8px 22px rgba(93,220,110,.17),inset 0 1px 0 rgba(255,255,255,.22);
}
#clandestinePlayFuga{
  background:#ff5555!important;border-color:#ff5555!important;color:#220909!important;
  box-shadow:0 8px 22px rgba(255,85,85,.18),inset 0 1px 0 rgba(255,255,255,.20);
}

.operation-result{
  position:relative;isolation:isolate;
  min-height:100%!important;
  justify-content:center!important;
  padding:30px 20px 28px!important;
  background:#101116!important;
}
.operation-result::before,.operation-result::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1}
.operation-result::before{background:radial-gradient(circle at 50% 44%,color-mix(in srgb,var(--result-accent) 15%,transparent),transparent 31%)}
.operation-result::after{opacity:.45}
.operation-result--inf{
  --result-accent:#56b8ff;
  background:linear-gradient(135deg,#0c1217 0%,#0b1d2b 52%,#15374a 100%)!important;
}
.operation-result--inf::after{
  background:repeating-linear-gradient(90deg,transparent 0 23px,rgba(86,184,255,.055) 23px 24px),repeating-linear-gradient(180deg,transparent 0 23px,rgba(86,184,255,.055) 23px 24px);
  mask-image:radial-gradient(circle at 50% 42%,#000,transparent 66%);
}
.operation-result--safe{
  --result-accent:#5ddc6e;
  background:linear-gradient(135deg,#0a120d 0%,#102319 51%,#153824 100%)!important;
}
.operation-result--safe::after{
  background:repeating-radial-gradient(circle at 50% 43%,transparent 0 28px,rgba(93,220,110,.06) 29px 30px,transparent 31px 46px);
}
.operation-result--fuga{
  --result-accent:#ff5555;
  background:linear-gradient(135deg,#150b0d 0%,#2b1115 52%,#4a171a 100%)!important;
}
.operation-result--fuga::after{
  background:linear-gradient(112deg,transparent 0 42%,rgba(255,255,255,.035) 42.5% 43%,transparent 43.5%),repeating-linear-gradient(90deg,transparent 0 35px,rgba(255,85,85,.032) 35px 36px);
}
.operation-result__mark{position:relative}
.operation-result__mark::after{
  content:"";position:absolute;left:50%;top:50%;width:84px;height:44px;transform:translate(-50%,-50%);z-index:-1;
  border-radius:999px;background:var(--result-accent);opacity:.10;filter:blur(14px);
}
.operation-result .arcade-result-actions .btn--accent{
  background:var(--result-accent)!important;border-color:var(--result-accent)!important;color:#0b0d10!important;
  box-shadow:0 8px 24px color-mix(in srgb,var(--result-accent) 20%,transparent)!important;
}
.operation-result--fuga .arcade-result-actions .btn--accent{color:#220909!important}
.operation-result--safe .arcade-result-actions .btn--accent{color:#08150b!important}
.operation-result--inf .arcade-result-actions .btn--accent{color:#071522!important}

/* Closing X is intentionally visually inert on hover/focus-by-pointer. */
.clandestine-hub-head .icon-close,
.clandestine-hub-head .icon-close:hover{
  background:#ffffff12!important;border-color:rgba(255,255,255,.12)!important;color:#fff!important;
  filter:none!important;transform:none!important;box-shadow:none!important;
}
@media(hover:hover){.clandestine-hub-head .icon-close:hover{background:#ffffff12!important;border-color:rgba(255,255,255,.12)!important;color:#fff!important;filter:none!important;transform:none!important;box-shadow:none!important}}
@media(max-height:700px){.operation-result{min-height:100%!important;padding-top:22px!important;padding-bottom:22px!important}}

/* v22.72 · SAQUEO 30 · direct-dial prototype V5 */
.clandestine-shell--playfirst .clandestine-game--safe .clandestine-cover>strong{font-size:clamp(34px,10.4vw,49px)!important;width:56%;max-width:56%;letter-spacing:-.07em}
.clandestine-game--safe .clandestine-play{background:linear-gradient(135deg,#46d865,#78ef8e)!important;color:#06140b!important;border-color:rgba(159,255,174,.42)!important;box-shadow:0 12px 28px rgba(73,220,102,.20)!important}

body.safe-playing .safe-game--loot{
  cursor:default!important;grid-template-rows:auto 34px minmax(0,1fr)!important;
  padding-top:max(58px,calc(env(safe-area-inset-top) + 50px));padding-inline:12px;padding-bottom:max(10px,env(safe-area-inset-bottom));
  background:
    radial-gradient(circle at 50% 50%,rgba(72,190,94,.17),transparent 34%),
    linear-gradient(180deg,#111a14 0%,#0b100d 100%)!important;
  touch-action:none;
}
.safe-game--loot::before{background:repeating-linear-gradient(90deg,rgba(123,235,140,.025) 0 1px,transparent 1px 24px),linear-gradient(180deg,rgba(255,255,255,.035),transparent 35%)!important;opacity:.8!important}
.safe-game-hud--loot{grid-template-columns:.92fr .78fr 1.15fr!important;gap:7px;pointer-events:none}
.safe-game-hud--loot>div{padding:8px 9px!important;text-align:center!important;border:1px solid rgba(255,255,255,.09)!important;background:rgba(6,13,8,.72)!important;backdrop-filter:blur(7px)}
.safe-game-hud--loot small{font-size:7px!important;letter-spacing:.13em;color:#8ca493!important}
.safe-game-hud--loot strong{margin-top:3px!important;font-size:17px!important;color:#f4f7f3!important;font-variant-numeric:tabular-nums}
.safe-game-hud--loot>div:first-child strong{color:#75eb8b!important}.safe-game-hud--loot>div:last-child strong{font-size:10px!important;letter-spacing:.06em;color:#b7dfbf!important}
.safe-quality-slot{position:relative;z-index:10;height:34px!important;overflow:visible}.safe-quality-slot .safe-feedback{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;min-width:170px!important;padding:7px 12px!important;border-radius:999px!important;background:rgba(5,12,7,.90)!important;border:1px solid rgba(117,235,139,.20)!important;box-shadow:0 9px 26px rgba(0,0,0,.32)!important;color:#aee9b9!important;font-size:10px!important;font-weight:1000!important;line-height:1.2!important;letter-spacing:.08em!important}
.safe-quality-slot .safe-feedback.is-perfect{color:#efffc6!important;border-color:rgba(224,255,154,.38)!important;box-shadow:0 0 28px rgba(178,255,99,.15),0 9px 26px rgba(0,0,0,.32)!important}

body.safe-playing .safe-machine--loot{position:relative;min-height:0;align-self:stretch;transform:translateY(-16px)!important;display:grid;place-items:center;padding:0!important}
body.safe-playing .safe-door--loot{position:relative;width:min(86vw,354px)!important;max-width:calc(100vw - 34px);aspect-ratio:1;border-radius:26%;
 background:
  radial-gradient(circle at 50% 48%,#213129 0 21%,#111a15 22% 41%,#27352d 42% 44%,#111813 45% 61%,#0a0f0c 62% 100%)!important;
 border:1px solid rgba(158,184,166,.30)!important;box-shadow:inset 0 0 0 8px #070b08,inset 0 0 0 10px rgba(113,142,123,.23),inset 0 0 52px rgba(0,0,0,.72),0 26px 52px rgba(0,0,0,.45)!important;
}
.safe-door--loot::before{content:"";position:absolute;inset:6%;border-radius:22%;border:1px solid rgba(255,255,255,.055);box-shadow:inset 0 0 24px rgba(255,255,255,.025)}
.safe-proximity-ring{--proximity:0;position:absolute;z-index:2;left:50%;top:50%;width:72%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;
 background:radial-gradient(circle,transparent 0 59%,rgba(78,230,105,calc(.04 + var(--proximity)*.13)) 60% 66%,transparent 67%);
 box-shadow:0 0 calc(12px + var(--proximity)*28px) rgba(74,232,102,calc(.06 + var(--proximity)*.34));transition:box-shadow .08s linear,filter .08s linear;pointer-events:none
}
.safe-proximity-ring::before{content:"";position:absolute;inset:5%;border-radius:50%;border:1px solid rgba(110,236,132,calc(.08 + var(--proximity)*.45));filter:brightness(calc(.9 + var(--proximity)*.7))}
.safe-proximity-ring.is-holding{animation:safeLootHold .28s ease-in-out infinite alternate}
.safe-dial-touch{position:absolute;z-index:6;left:50%;top:50%;width:70%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;touch-action:none;-webkit-tap-highlight-color:transparent;cursor:grab}
.safe-dial-touch:active{cursor:grabbing}
.safe-dial{--dial-angle:0deg;--proximity:0;position:absolute;inset:0;border-radius:50%;transform:rotate(var(--dial-angle));will-change:transform;
 background:
  radial-gradient(circle at 36% 29%,rgba(255,255,255,.075),transparent 18%),
  radial-gradient(circle,#1b2921 0 34%,#0c120e 35% 51%,#34453a 52% 56%,#0c120f 57% 100%);
 border:1px solid rgba(147,178,156,.36);box-shadow:inset 0 7px 16px rgba(255,255,255,.035),inset 0 -12px 24px rgba(0,0,0,.48),0 10px 30px rgba(0,0,0,.44),0 0 calc(var(--proximity)*24px) rgba(84,235,111,.22)
}
.safe-dial-marks{position:absolute;inset:5%;border-radius:50%;background:repeating-conic-gradient(rgba(213,229,217,.66) 0 1deg,transparent 1deg 10deg);-webkit-mask:radial-gradient(circle,transparent 0 79%,#000 80%);mask:radial-gradient(circle,transparent 0 79%,#000 80%);opacity:.68}
.safe-dial-pointer{position:absolute;left:50%;top:1%;width:4px;height:21%;transform:translateX(-50%);border-radius:999px;background:linear-gradient(#b9ffc5,#43d961);box-shadow:0 0 calc(4px + var(--proximity)*12px) rgba(83,236,110,calc(.25 + var(--proximity)*.5))}
.safe-dial-core{position:absolute!important;z-index:3!important;left:50%!important;top:50%!important;width:37%!important;aspect-ratio:1!important;transform:translate(-50%,-50%) rotate(calc(-1 * var(--dial-angle)))!important;border-radius:50%!important;display:grid!important;place-items:center!important;align-content:center!important;gap:2px!important;background:radial-gradient(circle,#1d3024,#08100b 70%)!important;border:1px solid rgba(115,235,137,.32)!important;box-shadow:inset 0 3px 10px rgba(255,255,255,.04),0 0 18px rgba(72,223,99,.08)!important;color:#a6f5b4!important;text-align:center!important}
.safe-dial-core strong{font-size:30px!important;line-height:1!important;color:#a6f5b4!important}.safe-dial-core small{font-size:6px!important;letter-spacing:.16em!important;color:#64856d!important}
.safe-direction{position:absolute;z-index:8;left:50%;bottom:5.5%;transform:translateX(-50%);display:flex;align-items:center;gap:7px;padding:5px 9px;border:1px solid rgba(107,225,128,.15);border-radius:999px;background:rgba(4,10,6,.72);pointer-events:none;color:#8ddb9b;white-space:nowrap}
.safe-direction b{font-size:16px;line-height:1;color:#73e889}.safe-direction small{font-size:7px;font-weight:950;letter-spacing:.10em}.safe-direction.is-left b{color:#9bf2ab}
.safe-bolts{position:absolute!important;z-index:4!important;inset:0!important;display:block!important;transform:none!important;pointer-events:none}
.safe-bolt{position:absolute!important;width:28px!important;height:12px!important;border-radius:5px!important;background:linear-gradient(90deg,#b6c0b8,#4f6155)!important;box-shadow:0 3px 8px rgba(0,0,0,.55)!important;transition:transform .34s cubic-bezier(.2,.9,.3,1.2),opacity .25s,background .25s!important}
.safe-bolt:nth-child(1){left:50%;top:7%;transform:translateX(-50%) rotate(90deg)}.safe-bolt:nth-child(2){right:5%;top:32%;transform:rotate(0)}.safe-bolt:nth-child(3){right:12%;bottom:13%;transform:rotate(42deg)}.safe-bolt:nth-child(4){left:12%;bottom:13%;transform:rotate(-42deg)}.safe-bolt:nth-child(5){left:5%;top:32%;transform:rotate(180deg)}
.safe-bolt.is-open{background:linear-gradient(90deg,#72e98a,#2b6f3a)!important;opacity:.45!important}.safe-bolt:nth-child(1).is-open{transform:translate(-50%,-14px) rotate(90deg)!important}.safe-bolt:nth-child(2).is-open{transform:translateX(15px)!important}.safe-bolt:nth-child(3).is-open{transform:translate(12px,12px) rotate(42deg)!important}.safe-bolt:nth-child(4).is-open{transform:translate(-12px,12px) rotate(-42deg)!important}.safe-bolt:nth-child(5).is-open{transform:translateX(-15px) rotate(180deg)!important}
.safe-tap-tutorial{bottom:max(14px,calc(env(safe-area-inset-bottom) + 8px))!important;border-color:rgba(89,228,115,.20)!important;background:rgba(5,12,7,.77)!important}.safe-tap-tutorial strong{color:#a8f3b5!important}.safe-tap-tutorial small{color:#718778!important}
body.safe-lock-hit .safe-door--loot{animation:safeLootLock .28s ease-out}body.safe-perfect .safe-door--loot{animation:safeLootPerfect .34s ease-out}
.operation-result--safe{background:radial-gradient(circle at 50% 38%,rgba(93,220,110,.13),transparent 30%),linear-gradient(180deg,#101712,#0b0f0c)!important}.operation-result--safe .operation-result__mark{color:#5ddc6e!important}.operation-result--safe .btn--accent{background:linear-gradient(135deg,#46d865,#78ef8e)!important;color:#06140b!important}
@keyframes safeLootHold{from{filter:brightness(1)}to{filter:brightness(1.35)}}
@keyframes safeLootLock{50%{transform:scale(1.012);filter:brightness(1.12)}}
@keyframes safeLootPerfect{45%{transform:scale(1.02);filter:brightness(1.22)}}
@media(max-height:700px){body.safe-playing .safe-machine--loot{transform:translateY(-8px)!important}body.safe-playing .safe-door--loot{width:min(78vw,304px)!important}.safe-direction{bottom:4%}}
@media(max-width:360px){body.safe-playing .safe-door--loot{width:min(84vw,294px)!important}.safe-game-hud--loot>div{padding-inline:5px!important}.safe-game-hud--loot strong{font-size:15px!important}.safe-game-hud--loot>div:last-child strong{font-size:9px!important}}
@media(prefers-reduced-motion:reduce){.safe-proximity-ring.is-holding,body.safe-lock-hit .safe-door--loot,body.safe-perfect .safe-door--loot{animation:none!important}.safe-bolt{transition:none!important}}

/* v22.73 · SAQUEO 30 · circle rush V6 */
.safe-game--circles{grid-template-rows:auto minmax(0,1fr)!important}
.safe-game-hud--circles{grid-template-columns:1fr 1fr 1fr!important}
.safe-game-hud--circles>div:first-child strong{font-size:24px!important;color:#72ed89!important}
.safe-game-hud--circles>div:last-child strong{font-size:15px!important;color:#c7f4cf!important}
.safe-machine--circles{transform:none!important;display:grid!important;place-items:center!important;padding:8px 0 36px!important}
.safe-circle-touch{position:relative;width:min(82vw,350px);aspect-ratio:1;touch-action:none;-webkit-tap-highlight-color:transparent;user-select:none}
.safe-circle-ring{--lap-progress:0;--trace-quality:0;position:absolute;inset:5%;border-radius:50%;background:
 radial-gradient(circle,transparent 0 54%,rgba(77,108,84,.18) 55% 66%,transparent 67%),
 repeating-conic-gradient(from -90deg,rgba(186,240,197,.20) 0 1deg,transparent 1deg 12deg);
 box-shadow:inset 0 0 0 1px rgba(130,201,144,.12),0 0 34px rgba(65,213,91,.08)}
.safe-circle-ring::before{content:"";position:absolute;inset:17%;border-radius:50%;border:34px solid rgba(56,91,64,.38);box-shadow:inset 0 0 22px rgba(0,0,0,.34),0 0 0 1px rgba(123,220,142,.16)}
.safe-circle-ring::after{content:"";position:absolute;inset:17%;border-radius:50%;background:conic-gradient(from -90deg,#6ff188 calc(var(--lap-progress)*1turn),rgba(111,241,136,.08) 0);-webkit-mask:radial-gradient(circle,transparent 0 61%,#000 62% 76%,transparent 77%);mask:radial-gradient(circle,transparent 0 61%,#000 62% 76%,transparent 77%);filter:drop-shadow(0 0 9px rgba(83,235,111,.42));transition:filter .08s linear}
.safe-circle-progress{position:absolute;inset:11%;border-radius:50%;border:1px dashed rgba(162,238,177,.22);pointer-events:none}
.safe-circle-arrow{position:absolute;right:7%;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#0a150d;border:1px solid rgba(102,231,127,.30);color:#79ef8f;font-size:23px;font-weight:1000;box-shadow:0 0 18px rgba(76,225,104,.17);animation:safeCircleArrow 1.25s ease-in-out infinite}
.safe-circle-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:38%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;align-content:center;gap:5px;background:radial-gradient(circle,#203227,#08100b 70%);border:1px solid rgba(106,224,129,.28);box-shadow:inset 0 4px 14px rgba(255,255,255,.035),0 12px 30px rgba(0,0,0,.42);pointer-events:none}
.safe-circle-center strong{color:#a7f5b5;font-size:clamp(24px,7vw,34px);line-height:1;font-weight:1000;letter-spacing:-.04em}
.safe-circle-center small{color:#6d9275;font-size:7px;font-weight:950;letter-spacing:.12em;text-align:center}
.safe-circle-ring.is-ready{filter:brightness(.75)}
body.safe-lap-flash .safe-circle-ring{animation:safeCircleLap .18s ease-out}
body.safe-offtrack .safe-circle-ring::before{border-color:rgba(255,105,91,.68);box-shadow:0 0 18px rgba(255,95,80,.14),inset 0 0 20px rgba(255,80,65,.10)}
body.safe-offtrack .safe-circle-arrow{color:#ff9a86;border-color:rgba(255,120,104,.34)}
.operation-result--safe .operation-result__mark{font-size:42px!important}
@keyframes safeCircleArrow{0%,100%{transform:translateY(-50%) rotate(0deg)}50%{transform:translateY(-50%) rotate(18deg)}}
@keyframes safeCircleLap{50%{filter:brightness(1.45);transform:scale(1.015)}}
@media(max-height:700px){.safe-circle-touch{width:min(72vw,300px)}.safe-machine--circles{padding-bottom:24px!important}}
@media(max-width:360px){.safe-circle-touch{width:min(80vw,290px)}.safe-circle-arrow{width:34px;height:34px;font-size:20px}}
@media(prefers-reduced-motion:reduce){.safe-circle-arrow,body.safe-lap-flash .safe-circle-ring{animation:none!important}}

/* v22.75 · SAQUEO 30 · precision bar V8 */
.safe-game--precision{
  grid-template-rows:auto minmax(160px,.72fr) minmax(250px,1fr)!important;
  padding-top:max(58px,calc(env(safe-area-inset-top) + 50px))!important;
  padding-inline:12px!important;padding-bottom:max(10px,env(safe-area-inset-bottom))!important;
  background:radial-gradient(circle at 50% 54%,rgba(77,202,99,.14),transparent 35%),linear-gradient(180deg,#111a14 0%,#0a0f0c 100%)!important;
  touch-action:none!important;
}
.safe-game--precision::before{background:repeating-linear-gradient(90deg,rgba(123,235,140,.025) 0 1px,transparent 1px 24px),linear-gradient(180deg,rgba(255,255,255,.035),transparent 35%)!important;opacity:.76!important}
.safe-game-hud--precision{grid-template-columns:1.05fr .8fr .9fr!important;gap:7px!important;pointer-events:none}
.safe-game-hud--precision>div{padding:8px 9px!important;text-align:center!important;border:1px solid rgba(255,255,255,.09)!important;background:rgba(6,13,8,.74)!important;backdrop-filter:blur(7px)}
.safe-game-hud--precision small{font-size:7px!important;letter-spacing:.13em!important;color:#8ca493!important}
.safe-game-hud--precision strong{margin-top:3px!important;font-size:18px!important;color:#f4f7f3!important;font-variant-numeric:tabular-nums}
.safe-game-hud--precision>div:first-child strong{font-size:23px!important;color:#76ef8c!important}.safe-game-hud--precision>div:last-child strong{color:#c8f4cf!important}
.safe-precision-stage{position:relative;z-index:5;display:grid;grid-template-rows:auto 58px 52px;align-content:center;gap:14px;min-height:198px;padding:24px 8px 0}
.safe-precision-stage .safe-stage-copy{margin:0!important;min-height:18px;color:#9ee6ac!important;font-size:8px!important;letter-spacing:.13em!important}
.safe-precision-bar{--target-pos:50%;--marker-pos:0%;position:relative;height:42px;border-radius:999px;background:linear-gradient(180deg,#172019,#0a0e0b);border:1px solid rgba(177,203,185,.22);box-shadow:inset 0 3px 8px rgba(0,0,0,.56),0 10px 22px rgba(0,0,0,.24);overflow:visible}
.safe-precision-bar::before{content:"";position:absolute;inset:6px;border-radius:999px;background:linear-gradient(90deg,rgba(193,91,72,.45),rgba(184,131,65,.38) 22%,rgba(74,120,75,.26) 42%,rgba(74,120,75,.26) 58%,rgba(184,131,65,.38) 78%,rgba(193,91,72,.45));opacity:.42}
.safe-precision-zone{position:absolute;z-index:2;top:6px;bottom:6px;left:var(--target-pos);transform:translateX(-50%);border-radius:999px;pointer-events:none}
.safe-precision-zone--70{width:30%;background:rgba(232,183,78,.22);box-shadow:0 0 14px rgba(232,183,78,.06)}
.safe-precision-zone--85{width:15%;background:rgba(87,223,111,.30);box-shadow:0 0 17px rgba(87,223,111,.13)}
.safe-precision-target{position:absolute;z-index:4;left:var(--target-pos);top:-7px;bottom:-7px;width:3px;transform:translateX(-50%);border-radius:999px;background:#d7ffe0;box-shadow:0 0 6px #8effa3,0 0 18px rgba(100,242,126,.72)}
.safe-precision-target::before{content:"PERFECTO";position:absolute;left:50%;top:-14px;transform:translateX(-50%);color:#86dd98;font-size:6px;font-weight:1000;letter-spacing:.12em;white-space:nowrap}
.safe-precision-marker{position:absolute;z-index:6;left:var(--marker-pos);top:-8px;width:3px;height:58px;transform:translateX(-50%);border-radius:999px;background:linear-gradient(180deg,#fffdf2,#e9d57a 55%,#8c692b);box-shadow:0 0 0 1px rgba(10,14,11,.65),0 0 10px rgba(244,223,132,.56),0 5px 12px rgba(0,0,0,.38);will-change:left}
.safe-precision-marker::after{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;transform:translate(-50%,-50%);border-radius:50%;background:#fff4b8;border:2px solid #151c17;box-shadow:0 0 8px rgba(241,223,145,.32)}
.safe-precision-bar.is-ready .safe-precision-marker{opacity:.42}.safe-precision-bar.is-frozen .safe-precision-marker{filter:brightness(1.25)}
.safe-precision-feedback{position:absolute;z-index:10;left:50%;bottom:43px;transform:translateX(-50%);min-width:116px;padding:8px 14px;border-radius:12px;text-align:center;background:rgba(5,12,7,.94);border:1px solid rgba(255,255,255,.13);box-shadow:0 12px 28px rgba(0,0,0,.42);pointer-events:none}
.safe-precision-feedback strong{display:block;font-size:24px;line-height:1;color:#dce5df;font-variant-numeric:tabular-nums}.safe-precision-feedback small{display:block;margin-top:3px;font-size:7px;font-weight:1000;letter-spacing:.13em;color:#84978a}
.safe-precision-feedback.is-perfect{border-color:rgba(202,255,153,.38);box-shadow:0 0 28px rgba(157,246,102,.13),0 12px 28px rgba(0,0,0,.42)}.safe-precision-feedback.is-perfect strong{color:#dfffab}.safe-precision-feedback.is-clean strong{color:#82f397}.safe-precision-feedback.is-adjusted strong{color:#f0ce72}.safe-precision-feedback.is-forced strong{color:#ff987f}
.safe-precision-tap{position:relative;z-index:8;justify-self:center;display:flex;align-items:center;justify-content:center;gap:7px;min-width:168px;height:46px;padding:0 20px;border:1px solid rgba(91,229,116,.30);border-radius:999px;background:linear-gradient(180deg,#253a2b,#17251c);color:#effff2;box-shadow:inset 0 1px rgba(255,255,255,.06),0 9px 22px rgba(0,0,0,.28);-webkit-tap-highlight-color:transparent}
.safe-precision-tap strong{font-size:12px;font-weight:1000;letter-spacing:.14em}.safe-precision-tap small{font-size:8px;font-weight:850;color:#86a98e}.safe-precision-tap:active{transform:translateY(1px);filter:brightness(1.12)}
.safe-machine--precision{min-height:0!important;display:grid!important;place-items:center!important;padding:0 0 6px!important}
.safe-vault{position:relative;width:min(70vw,286px);aspect-ratio:1;border-radius:25%;background:linear-gradient(145deg,#26352c,#101813 68%,#080c09);border:1px solid rgba(164,190,171,.30);box-shadow:inset 0 0 0 8px #070b08,inset 0 0 0 10px rgba(105,139,115,.20),inset 0 0 46px rgba(0,0,0,.62),0 24px 48px rgba(0,0,0,.45);perspective:700px}
.safe-vault::before{content:"";position:absolute;inset:7%;border-radius:21%;border:1px solid rgba(255,255,255,.055);box-shadow:inset 0 0 22px rgba(255,255,255,.025)}
.safe-vault-door{position:absolute;z-index:3;inset:10%;border-radius:22%;transform-origin:8% 50%;background:radial-gradient(circle at 50% 48%,#203129 0 21%,#101914 22% 43%,#2a3930 44% 47%,#111914 48% 100%);border:1px solid rgba(149,176,157,.28);box-shadow:inset 0 0 28px rgba(0,0,0,.62),0 9px 24px rgba(0,0,0,.32);transition:transform .72s cubic-bezier(.18,.85,.22,1),filter .4s,box-shadow .4s}
.safe-vault-core{position:absolute;left:50%;top:50%;width:38%;aspect-ratio:1;transform:translate(-50%,-50%);display:grid;place-items:center;align-content:center;border-radius:50%;background:radial-gradient(circle,#1f3025,#08100b 72%);border:1px solid rgba(114,230,135,.27);box-shadow:inset 0 3px 10px rgba(255,255,255,.035),0 0 18px rgba(78,220,103,.08)}
.safe-vault-core strong{color:#9cf0aa;font-size:31px;line-height:1}.safe-vault-core small{margin-top:2px;color:#63806a;font-size:6px;font-weight:1000;letter-spacing:.16em}
.safe-bolts--precision{position:absolute!important;z-index:6!important;inset:0!important;display:block!important;transform:none!important;pointer-events:none}
.safe-bolts--precision .safe-bolt{position:absolute!important;width:30px!important;height:12px!important;border-radius:5px!important;background:linear-gradient(90deg,#b6c0b8,#4f6155)!important;box-shadow:0 3px 8px rgba(0,0,0,.55)!important;transition:transform .32s cubic-bezier(.2,.9,.3,1.2),opacity .24s,background .24s!important}
.safe-bolts--precision .safe-bolt:nth-child(1){left:50%;top:5%;transform:translateX(-50%) rotate(90deg)}.safe-bolts--precision .safe-bolt:nth-child(2){right:4%;top:30%}.safe-bolts--precision .safe-bolt:nth-child(3){right:10%;bottom:11%;transform:rotate(42deg)}.safe-bolts--precision .safe-bolt:nth-child(4){left:10%;bottom:11%;transform:rotate(-42deg)}.safe-bolts--precision .safe-bolt:nth-child(5){left:4%;top:30%;transform:rotate(180deg)}
.safe-bolts--precision .safe-bolt.is-open{background:linear-gradient(90deg,#76e98c,#2c713c)!important;opacity:.44!important}.safe-bolts--precision .safe-bolt:nth-child(1).is-open{transform:translate(-50%,-16px) rotate(90deg)!important}.safe-bolts--precision .safe-bolt:nth-child(2).is-open{transform:translateX(17px)!important}.safe-bolts--precision .safe-bolt:nth-child(3).is-open{transform:translate(13px,13px) rotate(42deg)!important}.safe-bolts--precision .safe-bolt:nth-child(4).is-open{transform:translate(-13px,13px) rotate(-42deg)!important}.safe-bolts--precision .safe-bolt:nth-child(5).is-open{transform:translateX(-17px) rotate(180deg)!important}
.safe-vault-glow{position:absolute;z-index:2;inset:18%;border-radius:22%;background:rgba(89,235,115,.16);filter:blur(18px);opacity:0;transition:opacity .4s}.safe-vault-sparks{position:absolute;z-index:8;inset:0;pointer-events:none;opacity:0}.safe-vault-sparks i{position:absolute;width:3px;height:22px;border-radius:99px;background:#ffd36e;box-shadow:0 0 8px #ffb547}.safe-vault-sparks i:nth-child(1){right:15%;top:29%;transform:rotate(45deg)}.safe-vault-sparks i:nth-child(2){right:10%;top:42%;transform:rotate(78deg)}.safe-vault-sparks i:nth-child(3){left:16%;bottom:22%;transform:rotate(-45deg)}.safe-vault-sparks i:nth-child(4){right:24%;bottom:13%;transform:rotate(22deg)}
.safe-bill-rain{position:absolute;z-index:11;inset:-18% -14% -18%;overflow:visible;pointer-events:none;opacity:0}.safe-bill-rain i,.safe-result-bills i{position:absolute;left:50%;top:48%;display:grid;place-items:center;width:25px;height:13px;border-radius:2px;background:linear-gradient(135deg,#8ed978,#c6ee9c);border:1px solid rgba(34,82,34,.35);color:#315a2c;font-size:5px;font-style:normal;font-weight:1000;box-shadow:0 3px 8px rgba(0,0,0,.25);opacity:0}
.safe-game--precision.is-final-clean .safe-vault-door,.safe-game--precision.is-final-perfect .safe-vault-door{transform:perspective(700px) rotateY(-68deg) translateX(-5%);box-shadow:inset 0 0 28px rgba(0,0,0,.45),18px 12px 34px rgba(0,0,0,.48)}.safe-game--precision.is-final-clean .safe-vault-glow,.safe-game--precision.is-final-perfect .safe-vault-glow{opacity:1}
.safe-game--precision.is-final-forced .safe-vault-door{transform:perspective(700px) rotateY(-24deg) translateX(-2%) rotateZ(-1.2deg);filter:saturate(.72)}.safe-game--precision.is-final-forced .safe-vault-sparks{opacity:1;animation:safePrecisionSparks .7s steps(2,end) infinite}.safe-game--precision.is-final-forced .safe-vault-glow{opacity:.38;background:rgba(226,188,76,.18)}
.safe-game--precision.is-final-locked .safe-vault-door{animation:safePrecisionLockout .38s ease-out 2;filter:saturate(.35) brightness(.74)}.safe-game--precision.is-final-locked .safe-vault-glow{opacity:.52;background:rgba(255,74,65,.18)}.safe-game--precision.is-final-locked .safe-bolt.is-open{opacity:1!important;background:linear-gradient(90deg,#d0b3ac,#71443d)!important;transform:none!important}
.safe-game--precision.is-final-clean .safe-bill-rain,.safe-game--precision.is-final-perfect .safe-bill-rain,.safe-game--precision.is-final-forced .safe-bill-rain{opacity:1}.safe-game--precision.is-final-forced .safe-bill-rain i:nth-child(n+5),.safe-game--precision.is-final-clean .safe-bill-rain i:nth-child(n+10){display:none}
.safe-game--precision.is-final-clean .safe-bill-rain i,.safe-game--precision.is-final-perfect .safe-bill-rain i,.safe-game--precision.is-final-forced .safe-bill-rain i{animation:safePrecisionMoney 1.1s cubic-bezier(.18,.7,.35,1) forwards}
.safe-bill-rain i:nth-child(1),.safe-result-bills i:nth-child(1){--x:-95px;--r:-34deg;animation-delay:.02s!important}.safe-bill-rain i:nth-child(2),.safe-result-bills i:nth-child(2){--x:82px;--r:42deg;animation-delay:.07s!important}.safe-bill-rain i:nth-child(3),.safe-result-bills i:nth-child(3){--x:-52px;--r:68deg;animation-delay:.12s!important}.safe-bill-rain i:nth-child(4),.safe-result-bills i:nth-child(4){--x:45px;--r:-58deg;animation-delay:.16s!important}.safe-bill-rain i:nth-child(5),.safe-result-bills i:nth-child(5){--x:-118px;--r:25deg;animation-delay:.2s!important}.safe-bill-rain i:nth-child(6),.safe-result-bills i:nth-child(6){--x:112px;--r:-24deg;animation-delay:.25s!important}.safe-bill-rain i:nth-child(7),.safe-result-bills i:nth-child(7){--x:-18px;--r:90deg;animation-delay:.3s!important}.safe-bill-rain i:nth-child(8),.safe-result-bills i:nth-child(8){--x:20px;--r:-88deg;animation-delay:.35s!important}.safe-bill-rain i:nth-child(9),.safe-result-bills i:nth-child(9){--x:-74px;--r:-18deg;animation-delay:.4s!important}.safe-bill-rain i:nth-child(10),.safe-result-bills i:nth-child(10){--x:72px;--r:19deg;animation-delay:.45s!important}.safe-bill-rain i:nth-child(11),.safe-result-bills i:nth-child(11){--x:-132px;--r:56deg;animation-delay:.5s!important}.safe-bill-rain i:nth-child(12),.safe-result-bills i:nth-child(12){--x:132px;--r:-52deg;animation-delay:.55s!important}.safe-bill-rain i:nth-child(13),.safe-result-bills i:nth-child(13){--x:-35px;--r:33deg;animation-delay:.6s!important}.safe-bill-rain i:nth-child(14),.safe-result-bills i:nth-child(14){--x:96px;--r:74deg;animation-delay:.65s!important}.safe-bill-rain i:nth-child(15){--x:-108px;--r:-74deg;animation-delay:.7s!important}.safe-bill-rain i:nth-child(16){--x:54px;--r:112deg;animation-delay:.75s!important}
.safe-result-bills{position:absolute;z-index:0;inset:8% 0 38%;pointer-events:none;opacity:0}.operation-result--safe.is-final-perfect .safe-result-bills{opacity:1}.operation-result--safe.is-final-perfect .safe-result-bills i{animation:safePrecisionResultMoney 1.9s ease-out infinite}
.operation-result--safe.is-final-perfect{background:radial-gradient(circle at 50% 30%,rgba(174,255,102,.22),transparent 34%),linear-gradient(180deg,#101a11,#090f0a)!important}.operation-result--safe.is-final-clean{background:radial-gradient(circle at 50% 35%,rgba(93,220,110,.15),transparent 30%),linear-gradient(180deg,#101712,#0b0f0c)!important}.operation-result--safe.is-final-forced{background:radial-gradient(circle at 50% 35%,rgba(224,178,64,.13),transparent 31%),linear-gradient(180deg,#18160e,#0f0e09)!important}.operation-result--safe.is-final-locked{background:radial-gradient(circle at 50% 35%,rgba(226,76,64,.14),transparent 31%),linear-gradient(180deg,#180f0e,#0e0a09)!important}.operation-result--safe.is-final-perfect #safeResultKicker{color:#d9ff9d!important}.operation-result--safe.is-final-forced #safeResultKicker{color:#edc86e!important}.operation-result--safe.is-final-locked #safeResultKicker{color:#ff8b79!important}
@keyframes safePrecisionMoney{0%{opacity:0;transform:translate(-50%,-10px) scale(.7) rotate(0)}18%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--x)),125px) scale(1.05) rotate(var(--r))}}
@keyframes safePrecisionResultMoney{0%{opacity:0;transform:translate(-50%,20px) scale(.6) rotate(0)}16%{opacity:.9}100%{opacity:0;transform:translate(calc(-50% + var(--x)),-150px) scale(1.08) rotate(var(--r))}}
@keyframes safePrecisionSparks{0%,100%{filter:brightness(.65)}50%{filter:brightness(1.5)}}
@keyframes safePrecisionLockout{20%{transform:translateX(-5px)}45%{transform:translateX(4px)}70%{transform:translateX(-2px)}100%{transform:translateX(0)}}
@media(max-height:700px){.safe-game--precision{grid-template-rows:auto minmax(160px,.72fr) minmax(205px,1fr)!important}.safe-vault{width:min(59vw,232px)}.safe-precision-stage{min-height:170px;gap:10px;padding-top:16px}.safe-precision-tap{height:42px}}
@media(max-width:360px){.safe-vault{width:min(72vw,250px)}.safe-precision-stage{padding-inline:2px}.safe-game-hud--precision>div{padding-inline:5px!important}.safe-game-hud--precision strong{font-size:16px!important}.safe-game-hud--precision>div:first-child strong{font-size:20px!important}}
@media(prefers-reduced-motion:reduce){.safe-vault-door,.safe-bolts--precision .safe-bolt{transition:none!important}.safe-game--precision.is-final-locked .safe-vault-door,.safe-vault-sparks,.safe-bill-rain i,.safe-result-bills i{animation:none!important}}
.safe-game--precision.is-final-locked .safe-bolts--precision .safe-bolt:nth-child(1).is-open{transform:translateX(-50%) rotate(90deg)!important}
.safe-game--precision.is-final-locked .safe-bolts--precision .safe-bolt:nth-child(2).is-open{transform:rotate(0deg)!important}
.safe-game--precision.is-final-locked .safe-bolts--precision .safe-bolt:nth-child(3).is-open{transform:rotate(42deg)!important}
.safe-game--precision.is-final-locked .safe-bolts--precision .safe-bolt:nth-child(4).is-open{transform:rotate(-42deg)!important}
.safe-game--precision.is-final-locked .safe-bolts--precision .safe-bolt:nth-child(5).is-open{transform:rotate(180deg)!important}

/* v22.76 · ADMIN COMMAND CENTER REWORK ------------------------------------ */
.admin-dialog{width:min(96vw,920px);max-height:92vh;color:#f7f4ef}
.admin-dialog__card{max-height:none;padding:0;background:#0f1118;border:1px solid rgba(255,255,255,.09);box-shadow:0 34px 90px rgba(0,0,0,.54);overflow:visible}
.admin-dialog__head{position:sticky;top:0;z-index:30;margin:0;padding:18px 20px 14px;background:linear-gradient(180deg,rgba(15,17,24,.98),rgba(15,17,24,.94));border-bottom:1px solid rgba(255,255,255,.07);backdrop-filter:blur(16px)}
.admin-dialog__eyebrow{color:#f05da8}.admin-dialog__head h2{color:#fff}.admin-dialog__close{color:#fff;background:transparent!important;border-color:rgba(255,255,255,.10)!important}
.admin-auth{padding:22px 20px 26px}.admin-auth__pin>span{color:rgba(255,255,255,.52)!important}.admin-auth__pin input{background:#171a23;border-color:rgba(255,255,255,.10);color:#fff}.admin-auth__pin input::placeholder{color:rgba(255,255,255,.25)}
.admin-command-center{padding:0 18px 24px;color:#f5f2ec}
.admin-command-bar{position:sticky;top:67px;z-index:24;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 -18px;padding:12px 18px;background:rgba(15,17,24,.94);border-bottom:1px solid rgba(255,255,255,.06);backdrop-filter:blur(16px)}
.admin-command-bar__status{display:flex;align-items:center;gap:9px}.admin-command-bar__status>span{width:8px;height:8px;border-radius:50%;background:#52de79;box-shadow:0 0 12px rgba(82,222,121,.55)}.admin-command-bar__status b,.admin-command-bar__status small{display:block}.admin-command-bar__status b{font-size:10px;letter-spacing:.12em}.admin-command-bar__status small{margin-top:2px;color:rgba(255,255,255,.43);font-size:9px}.admin-command-bar__actions{display:flex;gap:6px}.admin-command-bar__actions button{width:36px;height:36px;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:#181b24;color:#fff;font-size:16px}
.admin-tabs{position:sticky;top:128px;z-index:22;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin:0 -18px 14px;padding:8px 18px 9px;background:rgba(15,17,24,.96);border-bottom:1px solid rgba(255,255,255,.055);backdrop-filter:blur(14px)}
.admin-tabs button{min-width:0;height:36px;border:0;border-radius:10px;background:transparent;color:rgba(255,255,255,.43);font-size:8px;font-weight:1000;letter-spacing:.08em}.admin-tabs button.is-active{background:#222632;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
.admin-tab-panel{display:none}.admin-tab-panel.is-active{display:block}.admin-section{margin:0 0 12px;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:17px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.026));color:#f5f2ec}.admin-section__head small{color:rgba(255,255,255,.38)}.admin-section__head h3{color:#fff}.admin-section__count{background:#252a36;color:#fff}.admin-section__count.is-good{background:rgba(82,222,121,.14);color:#74ee95}.admin-section-copy{margin:-2px 0 12px;color:rgba(255,255,255,.48);font-size:10px;line-height:1.45}
.admin-command-hero{background:radial-gradient(circle at 85% -20%,rgba(240,93,168,.14),transparent 40%),linear-gradient(180deg,#171a24,#131620)}.admin-live-chip{padding:5px 8px;border-radius:999px;background:rgba(82,222,121,.12);color:#75ed96;font-size:8px;font-weight:1000;letter-spacing:.08em}
.admin-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.admin-kpi{min-width:0;padding:12px 10px;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:rgba(5,7,12,.34)}.admin-kpi strong,.admin-kpi span{display:block}.admin-kpi strong{font-size:24px;line-height:1;font-weight:1000;color:#fff}.admin-kpi span{margin-top:6px;color:rgba(255,255,255,.38);font-size:8px;font-weight:950;letter-spacing:.07em}.admin-kpi--good strong{color:#75ed96}.admin-kpi--attention strong{color:#ffc568}
.admin-attention-list,.admin-activity-feed{display:grid;gap:6px}.admin-attention-row{width:100%;min-height:58px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:#171a23;color:#fff;text-align:left}.admin-attention-row>span:first-child{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:rgba(255,197,104,.10);color:#ffc568;font-weight:1000}.admin-attention-row b,.admin-attention-row small{display:block}.admin-attention-row b{font-size:11px}.admin-attention-row small{margin-top:2px;color:rgba(255,255,255,.48);font-size:10px;line-height:1.3}.admin-attention-row>span:last-child{color:rgba(255,255,255,.25);font-size:19px}.admin-attention-row.is-message>span:first-child{background:rgba(240,93,168,.11);color:#ff84bd}.admin-attention-empty,.admin-feed-empty{padding:14px;border:1px dashed rgba(255,255,255,.09);border-radius:12px;color:rgba(255,255,255,.45);font-size:10px}.admin-attention-empty b,.admin-attention-empty small{display:block}.admin-attention-empty b{color:#75ed96;font-size:9px;letter-spacing:.08em}.admin-attention-empty small{margin-top:3px}
.admin-state-row{border-color:rgba(255,255,255,.07);background:rgba(5,7,12,.28)}.admin-state-row b{color:#fff}.admin-state-row small{color:rgba(255,255,255,.42)}.admin-state-pill{background:#252a36}.admin-state-pill.is-good{background:rgba(82,222,121,.12);color:#75ed96}.admin-state-pill.is-warn{background:rgba(255,197,104,.12);color:#ffc568}
.admin-notification-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(120px,.6fr);gap:8px}.admin-field span{display:block;margin:0 0 5px;color:rgba(255,255,255,.38);font-size:8px;font-weight:1000;letter-spacing:.08em}.admin-field input,.admin-field select,.admin-search input{width:100%;height:42px;box-sizing:border-box;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:#181b24;color:#fff;padding:0 11px;font:inherit;font-size:11px}.admin-field select{appearance:auto}.admin-toggle-list{display:grid;gap:6px;margin:10px 0}.admin-toggle-list label{display:flex!important;align-items:flex-start;gap:9px;padding:9px 10px;border:1px solid rgba(255,255,255,.065);border-radius:11px;background:rgba(5,7,12,.24)}.admin-toggle-list input{margin-top:2px;accent-color:#f05da8}.admin-toggle-list b,.admin-toggle-list small{display:block}.admin-toggle-list b{font-size:10px}.admin-toggle-list small{margin-top:2px;color:rgba(255,255,255,.40);font-size:9px}.admin-inline-actions{display:flex;gap:6px;flex-wrap:wrap}.admin-inline-actions .btn{min-height:38px;padding:8px 11px;font-size:8px}.admin-notification-hint{margin:9px 2px 0;color:rgba(255,255,255,.38);font-size:9px;line-height:1.35}
.admin-guest-toolbar{display:grid;gap:8px;margin-bottom:10px}.admin-search{position:relative}.admin-search>span{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:rgba(255,255,255,.32);z-index:1}.admin-search input{padding-left:31px}.admin-filter-pills{display:flex;gap:5px;overflow-x:auto;scrollbar-width:none}.admin-filter-pills::-webkit-scrollbar{display:none}.admin-filter-pills button{flex:0 0 auto;height:31px;padding:0 9px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:#181b24;color:rgba(255,255,255,.45);font-size:8px;font-weight:1000;letter-spacing:.05em}.admin-filter-pills button.is-active{background:#f05da8;color:#170c12;border-color:#f05da8}.admin-player-row{border-color:rgba(255,255,255,.075);background:#171a23;color:#fff}.admin-player-row__identity small{color:rgba(255,255,255,.43)}.admin-player-status{background:rgba(82,222,121,.11);color:#75ed96}.admin-player-status.is-no{background:rgba(255,95,95,.11);color:#ff8a8a}.admin-decline-message{background:rgba(240,93,168,.075);color:#f4dce8}.admin-player-row__actions{border-top-color:rgba(255,255,255,.07)}.admin-delete-player{color:#ff8a8a!important;border-color:rgba(255,95,95,.20)!important}.admin-temp-pin{color:#75ed96}.admin-dietary-row{border-color:rgba(255,255,255,.07);background:#171a23}.admin-dietary-row b{color:#fff}.admin-dietary-row span{color:rgba(255,255,255,.55)}.admin-dietary-empty{border-color:rgba(255,255,255,.10);color:rgba(255,255,255,.40)}
.admin-operation-grid{gap:8px}.admin-operation-card{background:#171a23;border-color:rgba(255,255,255,.08);position:relative;overflow:hidden}.admin-operation-card::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--admin-game,#fff)}.admin-operation-card--inf{--admin-game:#56b8ff}.admin-operation-card--blind{--admin-game:#d3a900}.admin-operation-card--safe{--admin-game:#5ddc6e}.admin-operation-card--fuga{--admin-game:#ff5b5b}.admin-operation-card__stats>span{background:rgba(5,7,12,.32)}
.admin-feed-row{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:start;gap:9px;padding:9px 10px;border:1px solid rgba(255,255,255,.06);border-radius:11px;background:#171a23}.admin-feed-row__dot{width:7px;height:7px;margin-top:4px;border-radius:50%;background:#7b8495}.admin-feed-row.is-attention .admin-feed-row__dot{background:#ffc568;box-shadow:0 0 8px rgba(255,197,104,.35)}.admin-feed-row.is-admin .admin-feed-row__dot{background:#f05da8}.admin-feed-row b,.admin-feed-row small{display:block}.admin-feed-row b{font-size:10px;color:#fff}.admin-feed-row small{margin-top:2px;color:rgba(255,255,255,.43);font-size:9px;line-height:1.35}.admin-feed-row time{color:rgba(255,255,255,.28);font-size:8px;white-space:nowrap}
.admin-time-preview{border-color:rgba(255,255,255,.07);background:rgba(5,7,12,.24)}.admin-time-preview__head small{color:rgba(255,255,255,.40)}.admin-time-preview__head>span{background:#252a36}.admin-time-preview__options button{border-color:rgba(255,255,255,.07);background:#181b24;color:rgba(255,255,255,.50)}.admin-time-preview__options button.is-active{background:#fff;color:#11131a;border-color:#fff}.admin-tool,.admin-utility{border-color:rgba(255,255,255,.07);background:#171a23;color:#fff;box-shadow:none}.admin-tool small,.admin-utility small{color:rgba(255,255,255,.43)}.admin-tool>span:last-child,.admin-utility>span:last-child{color:rgba(255,255,255,.22)}
.admin-maintenance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.admin-danger-action{min-height:72px;border-color:rgba(255,95,95,.15);background:#171a23;color:#fff}.admin-danger-action>span:first-child{background:rgba(255,95,95,.09)}.admin-danger-action b{color:#ff9797}.admin-danger-action small{color:rgba(255,255,255,.42)}.admin-danger-action--soft{border-color:rgba(255,255,255,.075)}.admin-danger-action--soft>span:first-child{background:rgba(255,255,255,.055)}.admin-danger-action--soft b{color:#fff}.admin-danger-action--seed{border-color:rgba(255,197,104,.18)}.admin-danger-action--seed>span:first-child{background:rgba(255,197,104,.08)}.admin-danger-action--seed b{color:#ffc568}.admin-danger-action--production{grid-column:1/-1;border-color:rgba(255,95,95,.34);background:linear-gradient(180deg,rgba(255,79,79,.08),#171a23)}.admin-danger-action.is-armed{border-color:#ff5f5f;background:rgba(255,95,95,.10);box-shadow:0 0 0 2px rgba(255,95,95,.07)}.admin-danger-action.is-armed small{color:#ffb0b0}.admin-panel-message{color:rgba(255,255,255,.55)}
@media(max-width:620px){.admin-dialog{width:100%;max-height:none}.admin-dialog__card{max-height:none;border-radius:18px}.admin-dialog__head{padding:15px 14px 12px}.admin-command-center{padding:0 10px 18px}.admin-command-bar{top:60px;margin:0 -10px;padding:10px}.admin-tabs{top:115px;margin:0 -10px 12px;padding:7px 10px 8px}.admin-tabs button{font-size:7px;letter-spacing:.04em}.admin-section{padding:12px}.admin-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-kpi{padding:10px 7px}.admin-kpi strong{font-size:21px}.admin-kpi span{font-size:7px}.admin-notification-grid{grid-template-columns:1fr}.admin-maintenance-grid{grid-template-columns:1fr}.admin-danger-action--production{grid-column:auto}.admin-operation-grid{grid-template-columns:1fr}.admin-inline-actions{display:grid;grid-template-columns:1fr 1fr}.admin-inline-actions .btn:first-child{grid-column:1/-1}}

/* v22.77 visual treatment retained; v24.120 removes the alternate fullscreen viewport. */
.admin-dialog{
  position:relative!important;inset:auto!important;width:100%!important;min-height:100%!important;
  max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;
  border-radius:0!important;background:#fff!important;color:#17191f!important;
}
.admin-dialog__card{
  width:100%!important;min-height:100%!important;max-height:none!important;
  border:0!important;border-radius:0!important;background:#f5f6f8!important;color:#17191f!important;
  box-shadow:none!important;overflow:visible!important;padding:0!important;
}
.admin-dialog__head{
  min-height:64px!important;margin:0!important;padding:14px 20px!important;
  background:rgba(255,255,255,.98)!important;border-bottom:1px solid #e5e7eb!important;
  backdrop-filter:blur(14px)!important;color:#17191f!important;
}
.admin-dialog__eyebrow{color:#c8307c!important}.admin-dialog__head h2{color:#111318!important}
.admin-dialog__close{color:#20232a!important;background:#f3f4f6!important;border-color:#e1e3e7!important}
.admin-auth{max-width:460px;margin:8vh auto 0;padding:24px!important}
.admin-auth__pin>span{color:#69707c!important}.admin-auth__pin input{background:#fff!important;border-color:#d9dde3!important;color:#17191f!important;box-shadow:none!important}.admin-auth__pin input::placeholder{color:#9aa0aa!important}
.admin-command-center{padding:0 20px 34px!important;color:#17191f!important;max-width:1500px;margin:0 auto}
.admin-command-bar{
  top:64px!important;margin:0 -20px!important;padding:10px 20px!important;
  background:rgba(255,255,255,.97)!important;border-bottom:1px solid #e5e7eb!important;
  backdrop-filter:blur(14px)!important;color:#17191f!important;
}
.admin-command-bar__status b{color:#17191f!important}.admin-command-bar__status small{color:#737984!important}
.admin-command-bar__actions button{background:#f3f4f6!important;border-color:#e1e3e7!important;color:#252932!important}
.admin-tabs{
  top:119px!important;margin:0 -20px 16px!important;padding:8px 20px 9px!important;
  background:rgba(250,251,252,.98)!important;border-bottom:1px solid #e5e7eb!important;
  backdrop-filter:blur(14px)!important;
}
.admin-tabs button{color:#707681!important;background:transparent!important}.admin-tabs button.is-active{background:#17191f!important;color:#fff!important;box-shadow:none!important}
.admin-section{
  margin:0 0 14px!important;padding:16px!important;border:1px solid #e2e5e9!important;border-radius:16px!important;
  background:#fff!important;color:#17191f!important;box-shadow:0 1px 2px rgba(15,23,42,.025)!important;
}
.admin-section__head small{color:#858b95!important}.admin-section__head h3{color:#17191f!important}.admin-section__count{background:#f0f2f5!important;color:#373c45!important}.admin-section__count.is-good{background:#e9f8ee!important;color:#24733f!important}.admin-section-copy{color:#6e7580!important}
.admin-command-hero{background:#fff!important}.admin-live-chip{background:#e9f8ee!important;color:#24733f!important}
.admin-kpi{border-color:#e5e7eb!important;background:#f7f8fa!important}.admin-kpi strong{color:#17191f!important}.admin-kpi span{color:#7b818b!important}.admin-kpi--good strong{color:#257343!important}.admin-kpi--attention strong{color:#a36800!important}
.admin-attention-row{border-color:#e5e7eb!important;background:#f8f9fb!important;color:#17191f!important}.admin-attention-row b{color:#17191f!important}.admin-attention-row small{color:#646b75!important}.admin-attention-row>span:last-child{color:#a4a9b2!important}.admin-attention-empty,.admin-feed-empty{border-color:#dfe3e8!important;color:#757c87!important;background:#fafbfc!important}.admin-attention-empty b{color:#257343!important}
.admin-state-row{border-color:#e5e7eb!important;background:#f8f9fb!important}.admin-state-row b{color:#17191f!important}.admin-state-row small{color:#727985!important}.admin-state-pill{background:#eceff3!important;color:#414650!important}.admin-state-pill.is-good{background:#e9f8ee!important;color:#24733f!important}.admin-state-pill.is-warn{background:#fff4dd!important;color:#926000!important}
.admin-field span{color:#7c838e!important}.admin-field input,.admin-field select,.admin-search input{border-color:#dce0e5!important;background:#fff!important;color:#17191f!important;box-shadow:0 1px 2px rgba(15,23,42,.025)!important}
.admin-notification-grid--mode{grid-template-columns:1fr!important}.admin-email-config{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 12px}.admin-email-config>div{min-width:0;padding:10px 11px;border:1px solid #e3e6ea;border-radius:12px;background:#f8f9fb}.admin-email-config span,.admin-email-config strong{display:block}.admin-email-config span{font-size:8px;font-weight:1000;letter-spacing:.09em;color:#838995}.admin-email-config strong{margin-top:4px;font-size:10px;line-height:1.3;color:#252932;overflow-wrap:anywhere}.admin-mode-help{margin:8px 1px 10px;padding:9px 10px;border-radius:10px;background:#f4f6f8;color:#646b75;font-size:9px;line-height:1.4}.admin-toggle-list label{border-color:#e4e7eb!important;background:#fafbfc!important;color:#17191f!important}.admin-toggle-list b{color:#24272e!important}.admin-toggle-list small{color:#727984!important}.admin-toggle-list input{accent-color:#d23b82!important}.admin-toggle-list.is-disabled{opacity:.48}.admin-toggle-list.is-disabled label{cursor:default}.admin-notification-hint{color:#69707b!important}.admin-inline-actions .btn--soft{background:#f3f4f6!important;border-color:#dfe3e7!important;color:#24272e!important}
.admin-search>span{color:#8c929d!important}.admin-filter-pills button{border-color:#e1e4e8!important;background:#f5f6f8!important;color:#6c737e!important}.admin-filter-pills button.is-active{background:#17191f!important;color:#fff!important;border-color:#17191f!important}
.admin-player-row{border-color:#e3e6ea!important;background:#fff!important;color:#17191f!important}.admin-player-row__identity small{color:#737a85!important}.admin-player-status{background:#e9f8ee!important;color:#24733f!important}.admin-player-status.is-no{background:#ffeded!important;color:#a63d3d!important}.admin-decline-message{background:#f7f2f5!important;color:#514a52!important}.admin-player-row__actions{border-top-color:#eceef1!important}.admin-temp-pin{color:#24733f!important}
.admin-dietary-row{border-color:#e3e6ea!important;background:#f8f9fb!important}.admin-dietary-row b{color:#17191f!important}.admin-dietary-row span{color:#656c77!important}.admin-dietary-empty{border-color:#dfe3e8!important;color:#747b86!important}
.admin-operation-card{background:#fff!important;border-color:#e2e5e9!important;color:#17191f!important;box-shadow:none!important}.admin-operation-card__head b{color:#17191f!important}.admin-operation-card__head small,.admin-operation-card__head em{color:#747b86!important}.admin-operation-card__stats>span{background:#f5f7f9!important;border-color:#e6e8ec!important}.admin-operation-card__stats strong{color:#17191f!important}.admin-operation-card__stats small{color:#7b828d!important}.admin-operation-mini-podium>*{border-color:#e8eaed!important;background:#fafbfc!important;color:#17191f!important}
.admin-feed-row{border-color:#e5e7eb!important;background:#f8f9fb!important}.admin-feed-row b{color:#17191f!important}.admin-feed-row small{color:#69707b!important}.admin-feed-row time{color:#9096a0!important}
.admin-time-preview{border-color:#e2e5e9!important;background:#f8f9fb!important}.admin-time-preview__head small{color:#707783!important}.admin-time-preview__head>span{background:#eceff2!important;color:#333842!important}.admin-time-preview__options button{border-color:#e0e4e8!important;background:#fff!important;color:#69707b!important}.admin-time-preview__options button.is-active{background:#17191f!important;color:#fff!important;border-color:#17191f!important}
.admin-tool,.admin-utility{border-color:#e1e4e8!important;background:#fff!important;color:#17191f!important;box-shadow:none!important}.admin-tool small,.admin-utility small{color:#6d7480!important}.admin-tool>span:last-child,.admin-utility>span:last-child{color:#a1a7b0!important}
.admin-maintenance-grid{gap:9px!important}.admin-danger-action{border-color:#f0cfd3!important;background:#fff!important;color:#17191f!important}.admin-danger-action b{color:#a43d49!important}.admin-danger-action small{color:#707783!important}.admin-danger-action--soft{border-color:#e2e5e9!important}.admin-danger-action--soft>span:first-child{background:#f1f3f5!important}.admin-danger-action--soft b{color:#252932!important}.admin-danger-action--seed{border-color:#eadfbf!important}.admin-danger-action--seed>span:first-child{background:#fff7e7!important}.admin-danger-action--seed b{color:#926000!important}.admin-danger-action--production{border-color:#e6aeb4!important;background:#fff7f7!important}.admin-danger-action.is-armed{border-color:#d64b58!important;background:#fff0f1!important;box-shadow:0 0 0 2px rgba(214,75,88,.08)!important}.admin-danger-action.is-armed small{color:#a53c47!important}.admin-panel-message{color:#616873!important}

@media(min-width:680px){
  .admin-kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}
  .admin-operation-grid--three,.admin-operation-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .admin-maintenance-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .admin-danger-action--production{grid-column:span 2!important}
}
@media(min-width:900px){
  .admin-command-center{padding-left:28px!important;padding-right:28px!important}
  .admin-command-bar,.admin-tabs{margin-left:-28px!important;margin-right:-28px!important;padding-left:28px!important;padding-right:28px!important}
  .admin-tab-panel[data-admin-panel="overview"].is-active{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:14px;align-items:start}
  .admin-tab-panel[data-admin-panel="overview"] .admin-command-hero{grid-column:1/-1;margin-bottom:0!important}
  .admin-tab-panel[data-admin-panel="overview"] .admin-section--attention{grid-column:1;grid-row:2/4;margin-bottom:0!important}
  .admin-tab-panel[data-admin-panel="overview"] .admin-section:not(.admin-command-hero):not(.admin-section--attention):not(.admin-section--notifications){grid-column:2;margin-bottom:0!important}
  .admin-tab-panel[data-admin-panel="overview"] .admin-section--notifications{grid-column:2;margin-bottom:0!important}
  .admin-tab-panel[data-admin-panel="guests"].is-active{display:grid!important;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:14px;align-items:start}
  .admin-tab-panel[data-admin-panel="guests"] .admin-section{margin-bottom:0!important}
  .admin-tab-panel[data-admin-panel="control"].is-active{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
  .admin-tab-panel[data-admin-panel="control"] .admin-section{margin-bottom:0!important}
  .admin-tab-panel[data-admin-panel="control"] .admin-section--utilities{grid-column:1/-1}
}
@media(max-width:620px){
  .admin-dialog{width:100%!important;min-height:100%!important;max-height:none!important}
  .admin-dialog__card{min-height:100%!important;max-height:none!important;border-radius:0!important}
  .admin-dialog__head{padding:13px 14px!important}
  .admin-command-center{padding:0 10px 24px!important}
  .admin-command-bar{top:61px!important;margin:0 -10px!important;padding:9px 10px!important}
  .admin-tabs{top:114px!important;margin:0 -10px 12px!important;padding:7px 10px 8px!important}
  .admin-section{padding:13px!important}
  .admin-email-config{grid-template-columns:1fr}
  .admin-inline-actions{grid-template-columns:1fr 1fr!important}.admin-inline-actions .btn:first-child{grid-column:1/-1}
}


/* v22.79 · OPERACIÓN 30 · one championship / four disciplines */
.clandestine-championship-card{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;padding:14px 14px!important;background:linear-gradient(135deg,rgba(255,198,45,.12),rgba(255,255,255,.025))!important;border-color:rgba(255,205,70,.28)!important}
.clandestine-championship-copy{min-width:0;display:grid;gap:3px}.clandestine-championship-copy>span:first-child{font-size:9px;font-weight:900;letter-spacing:.16em;color:#e8c65e}.clandestine-championship-copy>strong{font-size:18px;line-height:1.05;letter-spacing:-.02em}.clandestine-championship-copy>span:last-child{font-size:10px;line-height:1.35;color:rgba(255,255,255,.58)}
.clandestine-championship-actions{display:flex;align-items:center;gap:7px}.clandestine-general-ranking{min-height:38px;border:1px solid rgba(255,210,78,.36);border-radius:10px;padding:0 11px;background:#e6ba35;color:#101014;font:900 9px/1 system-ui;letter-spacing:.08em;white-space:nowrap}.clandestine-general-ranking:active{transform:scale(.98)}
.overall-ranking-rules{margin-top:12px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.035)}.overall-ranking-rules>b{display:block;font-size:11px;letter-spacing:.08em}.overall-ranking-rules p{margin:7px 0 0;font-size:11px;line-height:1.48;color:rgba(255,255,255,.62)}.arcade-prize-strip--general{margin:10px 0 12px}
.admin-championship-card{margin:10px 0 12px;padding:14px;border:1px solid rgba(177,132,10,.22);border-radius:14px;background:#fff9e8;box-shadow:0 6px 18px rgba(80,55,0,.05)}.admin-championship-card .admin-operation-card__head{margin-bottom:10px}.admin-championship-card .admin-operation-card__head>span{font-size:21px}.admin-championship-card .admin-operation-card__head small{color:#8b6a11}.admin-championship-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:9px}.admin-championship-stats>span{display:grid;gap:2px;padding:9px;border-radius:10px;background:rgba(142,105,8,.07)}.admin-championship-stats strong{font-size:15px;color:#211a0b}.admin-championship-stats small{font-size:8px;letter-spacing:.08em;color:#856d2b}.admin-operation-mini-podium--general .admin-operation-mini-row{background:rgba(142,105,8,.05)}
@media(max-width:520px){.clandestine-championship-card{grid-template-columns:1fr!important}.clandestine-championship-actions{justify-content:space-between}.clandestine-general-ranking{flex:1}.admin-championship-stats{grid-template-columns:1fr 1fr}.admin-championship-stats>span:last-child{grid-column:1/-1}}

/* v22.80 · shared play-shell repair + compact general championship UX */
/* Games 01-03 reserve the same top navigation band. FUGA keeps its dedicated fullscreen canvas layout. */
body.safe-playing .safe-game{
  padding:max(58px,calc(env(safe-area-inset-top) + 48px)) 14px max(12px,env(safe-area-inset-bottom))!important;
}
body.safe-playing .safe-game--precision{
  grid-template-rows:auto minmax(118px,.72fr) minmax(0,1fr)!important;
  gap:8px;
  overflow:hidden;
}
body.safe-playing .safe-game-hud--precision{align-self:start;min-height:42px}
body.safe-playing .safe-precision-stage{
  min-height:0!important;
  height:100%;
  align-content:center;
  grid-template-rows:auto 48px 44px;
  gap:9px;
  padding:8px 4px 0;
  box-sizing:border-box;
}
body.safe-playing .safe-precision-bar{height:38px}
body.safe-playing .safe-precision-marker{height:52px;top:-7px}
body.safe-playing .safe-precision-tap{height:42px;min-height:42px}
body.safe-playing .safe-machine--precision{
  min-height:0!important;
  overflow:visible;
  align-self:stretch;
  padding:0!important;
}
body.safe-playing .safe-vault{
  width:min(62vw,31dvh,248px);
  max-width:100%;
  max-height:100%;
}
@media(max-height:720px){
  body.safe-playing .safe-game{padding-top:max(54px,calc(env(safe-area-inset-top) + 45px))!important;padding-bottom:max(8px,env(safe-area-inset-bottom))!important}
  body.safe-playing .safe-game--precision{grid-template-rows:auto minmax(104px,.68fr) minmax(0,1fr)!important;gap:5px}
  body.safe-playing .safe-game-hud--precision>div{padding-block:6px!important}
  body.safe-playing .safe-game-hud--precision strong{font-size:15px!important}
  body.safe-playing .safe-game-hud--precision>div:first-child strong{font-size:19px!important}
  body.safe-playing .safe-precision-stage{grid-template-rows:auto 43px 39px;gap:6px;padding-top:4px}
  body.safe-playing .safe-precision-bar{height:34px}
  body.safe-playing .safe-precision-marker{height:48px}
  body.safe-playing .safe-precision-tap{height:38px;min-height:38px}
  body.safe-playing .safe-vault{width:min(55vw,28dvh,205px)}
}
@media(max-height:610px){
  body.safe-playing .safe-game--precision{grid-template-rows:auto minmax(92px,.62fr) minmax(0,1fr)!important}
  body.safe-playing .safe-precision-stage{grid-template-rows:39px 36px;align-content:center}
  body.safe-playing .safe-precision-stage .safe-stage-copy{display:none!important}
  body.safe-playing .safe-vault{width:min(50vw,25dvh,178px)}
}

/* General standings are important, but should not compete visually with the game cards. */
.clandestine-championship-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:8px!important;
  min-height:42px!important;
  margin:9px 0 8px!important;
  padding:6px 7px 6px 10px!important;
  border-color:rgba(255,205,70,.18)!important;
  border-radius:11px!important;
  background:rgba(255,255,255,.03)!important;
}
.clandestine-championship-copy{display:flex!important;align-items:baseline!important;gap:8px!important;min-width:0!important}
.clandestine-championship-copy>span:first-child{font-size:7px!important;letter-spacing:.13em!important;color:rgba(255,220,111,.66)!important;white-space:nowrap}
.clandestine-championship-copy>strong{font-size:13px!important;line-height:1!important;color:#f6e3a3!important;white-space:nowrap}
.clandestine-championship-copy>span:last-child{display:none!important}
.clandestine-championship-actions{display:flex!important;gap:5px!important}
.clandestine-general-ranking{min-height:30px!important;height:30px!important;padding:0 9px!important;border-color:rgba(255,210,78,.18)!important;border-radius:8px!important;background:rgba(230,186,53,.11)!important;color:#efd37e!important;font-size:7px!important;letter-spacing:.075em!important}
.clandestine-prize-info{width:30px!important;height:30px!important;border-radius:8px!important;font-size:13px!important}
@media(max-width:520px){
  .clandestine-championship-card{grid-template-columns:minmax(0,1fr) auto!important}
  .clandestine-championship-actions{justify-content:flex-end!important}
  .clandestine-general-ranking{flex:0 0 auto!important}
}
@media(max-width:355px){
  .clandestine-general-ranking{padding-inline:7px!important;font-size:6.5px!important}
  .clandestine-championship-copy{gap:5px!important}
}

.overall-ranking-rules{
  margin-top:10px!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:11px!important;
  background:rgba(255,255,255,.028)!important;
  overflow:hidden;
}
.overall-ranking-rules summary{cursor:pointer;list-style:none;padding:10px 11px;color:rgba(255,255,255,.62);font-size:8px;font-weight:950;letter-spacing:.09em}
.overall-ranking-rules summary::-webkit-details-marker{display:none}
.overall-ranking-rules summary::after{content:'+';float:right;color:rgba(255,255,255,.42);font-size:13px;line-height:.7}
.overall-ranking-rules[open] summary::after{content:'−'}
.overall-ranking-rules p{margin:0!important;padding:0 11px 11px!important;color:rgba(255,255,255,.58)!important;font-size:10px!important;line-height:1.5!important}
.arcade-hub-info--prizes>p{padding:10px 12px!important;font-size:10px!important}


/* v22.82 · responsive fullscreen result shell for all clandestine games */
body.operation-result-open{overflow-x:hidden}
body.operation-result-open .app-view[data-app-theme="game"]{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
body.operation-result-open .app-view[data-app-theme="game"]>.operation-shell{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  padding:0!important;
  overflow:hidden!important;
}
body.operation-result-open .app-view[data-app-theme="game"] .arcade-head,
body.operation-result-open .app-view[data-app-theme="game"] .operation-ranking,
body.operation-result-open .app-view[data-app-theme="game"]>.operation-shell>.form-message{
  display:none!important;
}
body.operation-result-open .app-view[data-app-theme="game"] .operation-game-card{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  overflow:hidden!important;
}
body.operation-result-open .operation-result:not([hidden]){
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  padding:18px!important;
  overflow:hidden!important;
}
body.operation-result-open .operation-result__mark{flex:0 0 auto;margin-bottom:8px!important}
body.operation-result-open .operation-result>small{flex:0 0 auto;margin-bottom:7px!important}
body.operation-result-open .operation-result__score{flex:0 0 auto;margin-bottom:6px!important}
body.operation-result-open .operation-result>h3{flex:0 0 auto;margin-top:4px!important;min-height:16px!important}
body.operation-result-open .operation-result__message{flex:0 0 auto;margin-top:6px!important}
body.operation-result-open .operation-result__legacy-details{flex:0 0 auto}
body.operation-result-open .operation-result .arcade-result-actions{
  flex:0 0 auto!important;
  width:min(100%,320px)!important;
  max-width:320px!important;
  margin:clamp(10px,2.4dvh,18px) auto 0!important;
  gap:6px!important;
}
body.operation-result-open .operation-result .arcade-result-actions .btn{
  min-height:42px!important;
  padding:9px 10px!important;
}
body.operation-result-open .operation-result .arcade-result-actions .game-result-back{
  min-height:28px!important;
  padding:5px 6px!important;
}
body.operation-result-open .blind-result-breakdown{
  width:min(100%,330px)!important;
  margin:clamp(7px,1.6dvh,12px) auto 0!important;
  gap:6px!important;
}
body.operation-result-open .blind-result-breakdown span{padding:8px 4px!important}

@media(max-height:640px){
  body.operation-result-open .operation-result:not([hidden]){
    padding:max(12px,env(safe-area-inset-top)) 14px max(10px,env(safe-area-inset-bottom))!important;
  }
  body.operation-result-open .operation-result__mark{height:27px!important;margin-bottom:4px!important;font-size:14px!important}
  body.operation-result-open .operation-result--safe .operation-result__mark{width:29px!important;height:29px!important}
  body.operation-result-open .operation-result>small{margin-bottom:4px!important;font-size:8px!important}
  body.operation-result-open .operation-result__score{margin-bottom:3px!important}
  body.operation-result-open .operation-result__score>strong{font-size:clamp(38px,11vw,50px)!important}
  body.operation-result-open .operation-result__score>span{margin-top:3px!important;font-size:8px!important}
  body.operation-result-open .operation-result>h3{margin-top:2px!important;font-size:10px!important;min-height:14px!important}
  body.operation-result-open .operation-result__message{margin-top:4px!important;font-size:9px!important}
  body.operation-result-open .operation-result .arcade-result-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:min(100%,360px)!important;
    max-width:360px!important;
    margin-top:10px!important;
    gap:6px!important;
  }
  body.operation-result-open .operation-result .arcade-result-actions .btn{
    min-height:40px!important;
    padding:7px 8px!important;
    font-size:10px!important;
  }
  body.operation-result-open .operation-result .arcade-result-actions .game-result-back{
    grid-column:1/-1!important;
    min-height:24px!important;
    padding:3px 5px!important;
  }
  body.operation-result-open .blind-result-breakdown{margin-top:6px!important}
  body.operation-result-open .blind-result-breakdown span{padding:6px 3px!important}
}

@media(max-height:520px){
  body.operation-result-open .operation-result__mark{display:none!important}
  body.operation-result-open .operation-result>small{margin-bottom:3px!important}
  body.operation-result-open .operation-result__score>strong{font-size:36px!important}
  body.operation-result-open .operation-result__score>span{font-size:7px!important}
  body.operation-result-open .operation-result>h3{font-size:9px!important}
  body.operation-result-open .operation-result__message{max-width:250px!important;font-size:8px!important;line-height:1.25!important}
  body.operation-result-open .blind-result-breakdown{margin-top:4px!important}
  body.operation-result-open .blind-result-breakdown span{padding:4px 2px!important}
  body.operation-result-open .blind-result-breakdown small{font-size:5.8px!important}
  body.operation-result-open .blind-result-breakdown b{margin-top:2px!important;font-size:10px!important}
  body.operation-result-open .operation-result .arcade-result-actions{margin-top:7px!important;gap:5px!important}
  body.operation-result-open .operation-result .arcade-result-actions .btn{min-height:36px!important;font-size:9px!important}
  body.operation-result-open .operation-result .arcade-result-actions .game-result-back{min-height:21px!important;font-size:7px!important}
}

/* v22.83 · BOTÍN 30 precision rework -------------------------------------
   One fixed center target, one visible metric, no tap button, no gameplay timeout. */
body.safe-playing .safe-game--precision{
  grid-template-rows:auto minmax(104px,.46fr) minmax(0,1fr)!important;
  gap:clamp(8px,1.7dvh,14px)!important;
  padding:max(58px,calc(env(safe-area-inset-top) + 48px)) 14px max(12px,env(safe-area-inset-bottom))!important;
}
.safe-game-hud--precision-solo{
  display:flex!important;justify-content:center!important;align-items:center!important;
  grid-template-columns:none!important;min-height:44px!important;
}
.safe-game-hud--precision-solo>div{
  width:min(48vw,188px)!important;min-height:44px!important;padding:7px 16px!important;
  display:grid!important;place-items:center!important;align-content:center!important;
  border-radius:14px!important;background:rgba(6,13,8,.72)!important;
}
.safe-game-hud--precision-solo small{font-size:7px!important;letter-spacing:.16em!important}
.safe-game-hud--precision-solo strong{margin-top:3px!important;font-size:24px!important;line-height:1!important;color:#76ef8c!important}
body.safe-playing .safe-precision-stage{
  position:relative!important;display:grid!important;grid-template-rows:52px!important;
  align-content:center!important;min-height:0!important;height:100%!important;
  gap:0!important;padding:4px 2px 0!important;overflow:visible!important;
}
body.safe-playing .safe-precision-bar{
  --target-pos:50%!important;
  height:42px!important;margin:0!important;border-radius:999px!important;
  box-shadow:inset 0 3px 9px rgba(0,0,0,.58),0 12px 26px rgba(0,0,0,.25),0 0 0 1px rgba(117,228,139,.025)!important;
}
body.safe-playing .safe-precision-marker{
  width:2px!important;height:58px!important;top:-9px!important;
  transition:none!important;will-change:left!important;
  background:linear-gradient(180deg,#fffef7,#f1dd84 55%,#806023)!important;
  box-shadow:0 0 0 1px rgba(8,12,9,.68),0 0 9px rgba(244,223,132,.62),0 4px 10px rgba(0,0,0,.34)!important;
}
body.safe-playing .safe-precision-marker::after{width:6px!important;height:6px!important}
body.safe-playing .safe-precision-target{left:50%!important;width:3px!important}
body.safe-playing .safe-precision-zone{left:50%!important}
.safe-precision-tap,.safe-stage-copy{display:none!important}
body.safe-playing .safe-precision-feedback{
  top:calc(50% + 38px)!important;bottom:auto!important;left:50%!important;
  min-width:104px!important;padding:7px 12px!important;
  transform:translate(-50%,-50%)!important;
  animation:safePrecisionFeedbackIn .16s ease-out both!important;
}
body.safe-playing .safe-precision-feedback strong{font-size:21px!important}
body.safe-playing .safe-precision-feedback small{font-size:6.5px!important}
body.safe-playing .safe-machine--precision{
  align-self:stretch!important;display:grid!important;place-items:start center!important;
  min-height:0!important;padding:clamp(2px,1dvh,8px) 0 0!important;overflow:visible!important;
}
body.safe-playing .safe-vault{
  width:min(66vw,32dvh,258px)!important;max-width:100%!important;max-height:100%!important;
}
@keyframes safePrecisionFeedbackIn{from{opacity:0;transform:translate(-50%,-42%) scale(.94)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@media(max-height:720px){
  body.safe-playing .safe-game--precision{grid-template-rows:auto minmax(88px,.40fr) minmax(0,1fr)!important;gap:5px!important}
  .safe-game-hud--precision-solo>div{min-height:38px!important;padding-block:5px!important}
  .safe-game-hud--precision-solo strong{font-size:20px!important}
  body.safe-playing .safe-precision-stage{grid-template-rows:44px!important;padding-top:0!important}
  body.safe-playing .safe-precision-bar{height:36px!important}
  body.safe-playing .safe-precision-marker{height:50px!important;top:-7px!important}
  body.safe-playing .safe-precision-feedback{top:calc(50% + 31px)!important;padding:6px 10px!important}
  body.safe-playing .safe-vault{width:min(58vw,28dvh,212px)!important}
}
@media(max-height:610px){
  body.safe-playing .safe-game--precision{grid-template-rows:auto minmax(74px,.34fr) minmax(0,1fr)!important}
  body.safe-playing .safe-precision-stage{grid-template-rows:38px!important}
  body.safe-playing .safe-precision-bar{height:32px!important}
  body.safe-playing .safe-precision-marker{height:44px!important;top:-6px!important}
  body.safe-playing .safe-precision-feedback{top:calc(50% + 27px)!important}
  body.safe-playing .safe-vault{width:min(52vw,24dvh,176px)!important}
}
@media(prefers-reduced-motion:reduce){body.safe-playing .safe-precision-feedback{animation:none!important}}


/* v22.85 · BOTÍN 30 V10 · high-precision capture + randomized starts */
body.safe-playing .safe-game--precision{
  grid-template-rows:auto minmax(76px,.32fr) 34px minmax(0,1fr)!important;
  gap:clamp(5px,1.2dvh,10px)!important;
}
body.safe-playing .safe-precision-stage{
  grid-template-rows:44px!important;align-content:end!important;padding:0 2px!important;
}
body.safe-playing .safe-precision-marker::after{content:none!important;display:none!important}
.safe-round-feedback-slot{position:relative;z-index:9;height:34px;display:flex;align-items:flex-start;justify-content:center;pointer-events:none}
body.safe-playing .safe-round-feedback-slot .safe-precision-feedback{
  position:relative!important;inset:auto!important;left:auto!important;top:auto!important;bottom:auto!important;
  transform:none!important;min-width:98px!important;padding:5px 11px!important;margin:0!important;
  border-radius:10px!important;background:rgba(5,12,7,.66)!important;box-shadow:none!important;
  animation:safeRoundFeedbackV10 .14s ease-out both!important;
}
body.safe-playing .safe-round-feedback-slot .safe-precision-feedback strong{font-size:18px!important;font-variant-numeric:tabular-nums}
body.safe-playing .safe-round-feedback-slot .safe-precision-feedback small{margin-top:2px!important;font-size:6px!important}
@keyframes safeRoundFeedbackV10{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}
@media(max-height:720px){
  body.safe-playing .safe-game--precision{grid-template-rows:auto minmax(66px,.28fr) 30px minmax(0,1fr)!important;gap:4px!important}
  body.safe-playing .safe-precision-stage{grid-template-rows:38px!important}
  .safe-round-feedback-slot{height:30px}
  body.safe-playing .safe-round-feedback-slot .safe-precision-feedback{padding:4px 9px!important}
}
@media(max-height:610px){
  body.safe-playing .safe-game--precision{grid-template-rows:auto minmax(58px,.25fr) 27px minmax(0,1fr)!important}
  body.safe-playing .safe-precision-stage{grid-template-rows:34px!important}
  .safe-round-feedback-slot{height:27px}
  body.safe-playing .safe-round-feedback-slot .safe-precision-feedback strong{font-size:16px!important}
}


/* v22.88 · BOTÍN 30 layout rebalance ------------------------------------
   More breathing room between the precision bar and the vault.
   The vault now sits centered inside the remaining vertical space and scales slightly larger. */
body.safe-playing .safe-game--precision{
  grid-template-rows:auto minmax(82px,.35fr) 38px minmax(0,1fr)!important;
  gap:clamp(7px,1.5dvh,12px)!important;
}
body.safe-playing .safe-precision-stage{
  grid-template-rows:46px!important;
}
.safe-round-feedback-slot{
  height:38px;
}
body.safe-playing .safe-machine--precision{
  place-items:center center!important;
  align-content:center!important;
  padding:0!important;
}
body.safe-playing .safe-vault{
  width:min(69vw,34dvh,274px)!important;
}
@media(max-height:720px){
  body.safe-playing .safe-game--precision{grid-template-rows:auto minmax(72px,.31fr) 34px minmax(0,1fr)!important;gap:5px!important}
  body.safe-playing .safe-precision-stage{grid-template-rows:41px!important}
  .safe-round-feedback-slot{height:34px}
  body.safe-playing .safe-vault{width:min(61vw,30dvh,226px)!important}
}
@media(max-height:610px){
  body.safe-playing .safe-game--precision{grid-template-rows:auto minmax(62px,.27fr) 30px minmax(0,1fr)!important}
  body.safe-playing .safe-precision-stage{grid-template-rows:36px!important}
  .safe-round-feedback-slot{height:30px}
  body.safe-playing .safe-vault{width:min(55vw,26dvh,188px)!important}
}

/* v22.92 · Fase 04 + El Golpe architecture rework --------------------------- */

/* El Golpe is a separate destination after La Banda, not a fifth preparation phase. */
.heist-gateway{margin-top:14px!important;margin-bottom:24px!important;padding:19px!important;border:1px solid rgba(255,255,255,.09)!important;background:radial-gradient(circle at 12% 18%,rgba(236,92,166,.16),transparent 32%),linear-gradient(135deg,#17131d 0%,#2d1d36 58%,#17131d 100%)!important;box-shadow:0 14px 34px rgba(31,19,30,.13)}
.heist-gateway .party-preview__icon{background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.heist-gateway h2{letter-spacing:-.035em}
.heist-gateway .party-preview__lock{min-height:36px;background:rgba(255,255,255,.055)}
.heist-gateway.is-live{background:radial-gradient(circle at 12% 18%,rgba(236,92,166,.25),transparent 34%),linear-gradient(135deg,#17131d,#3c2244)!important}

/* The clandestine area stays visually distinct, but the active identity travels with it. */
.clandestine-hub-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important}
.clandestine-back-home{flex:0 0 auto;min-height:34px;padding:0 9px;border:1px solid rgba(255,255,255,.10);border-radius:10px;background:rgba(255,255,255,.045);color:rgba(255,255,255,.72);font:900 8px/1 system-ui;letter-spacing:.08em;display:flex;align-items:center;gap:6px}
.clandestine-back-home:active{background:rgba(255,255,255,.09);transform:translateY(1px)}
.clandestine-active-player{flex:none;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;margin:10px 0 8px;padding:7px 10px;border:1px solid rgba(255,255,255,.085);border-radius:12px;background:rgba(255,255,255,.032)}
.clandestine-active-player__avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#26232a;color:#fff;font-size:17px;box-shadow:0 0 0 1px rgba(255,255,255,.08)}
.clandestine-active-player__avatar img{width:100%;height:100%;object-fit:cover}
.clandestine-active-player__copy{display:grid;gap:1px;min-width:0}
.clandestine-active-player__copy small{color:rgba(255,255,255,.34);font-size:6px;font-weight:1000;letter-spacing:.14em}
.clandestine-active-player__copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff7e8;font-size:11px;letter-spacing:.02em}
.clandestine-active-player__cash{color:#87e39f;font-size:12px;font-weight:1000;font-variant-numeric:tabular-nums;white-space:nowrap}

@media(max-width:480px){
  .heist-gateway{grid-template-columns:auto minmax(0,1fr)!important}
  .heist-gateway .party-preview__lock{grid-column:2!important;justify-self:start!important}
  .clandestine-back-home span{display:none}
  .clandestine-back-home{width:34px;justify-content:center;padding:0;font-size:14px}
  .clandestine-active-player{grid-template-columns:34px minmax(0,1fr) auto;margin-top:8px}
}
@media(max-height:690px){
  .clandestine-active-player{grid-template-columns:30px minmax(0,1fr) auto;gap:7px;margin:6px 0;padding:5px 8px}
  .clandestine-active-player__avatar{width:27px;height:27px;font-size:14px}
  .clandestine-active-player__copy small{display:none}
  .clandestine-active-player__copy strong{font-size:10px}
  .clandestine-active-player__cash{font-size:11px}
}


/* v22.93 · Unified Operation 30 phase information system -------------------
   One visual language across phases: each meaningful unit gets the same rounded information shell. */
.operation-stage__panel .operation-info-block{
  border:1px solid #e3dbd2!important;
  border-radius:16px!important;
  background:linear-gradient(145deg,#fffdfa 0%,#faf6f1 100%)!important;
  box-shadow:0 8px 20px rgba(56,39,18,.035)!important;
  box-sizing:border-box;
}
.operation-stage__panel .operation-info-block--compact{
  padding:14px!important;
}
.operation-stage__panel .operation-info-block--feature{
  padding:clamp(17px,2.5vw,23px)!important;
}
.operation-stage__panel .operation-info-block--status{
  padding:15px 16px!important;
}
.operation-stage__panel .operation-info-block--narrative{
  padding:15px 16px!important;
  margin:0 0 11px!important;
}
.operation-stage__panel .operation-info-block--competition{
  padding:15px 16px!important;
}

/* Phase 01: keep its proven briefing layout, now explicitly part of the shared system. */
#operationStage1Panel .briefing-items{gap:11px!important}
#operationStage1Panel .brief-row{margin:0!important;height:100%}

/* Phase 02: the post-RSVP state should feel as intentional as the form that precedes it. */
#operationStage2Panel .rsvp-confirmed{margin-top:18px!important;padding-top:0!important;border-top:0!important}
#operationStage2Panel .rsvp-confirmed__summary{align-items:center!important}
#operationStage2Panel .rsvp-confirmed__main h3{margin-top:3px!important}
#operationStage2Panel .rsvp-confirmed__actions{margin-top:12px!important}
#operationStage2Panel .rsvp-declined{margin-top:18px!important;padding-top:15px!important;border-top:1px solid #e3dbd2!important}

/* Phase 03: same shell, while preserving each block's own internal UI. */
#operationStage3Panel .card.operation-info-block{box-shadow:0 8px 20px rgba(56,39,18,.035)!important}
#operationStage4Panel .party-prep{gap:11px!important;margin-top:11px!important}


@media(max-width:600px){
  .operation-stage__panel .operation-info-block{border-radius:14px!important}
  .operation-stage__panel .operation-info-block--compact,
  .operation-stage__panel .operation-info-block--feature,
  .operation-stage__panel .operation-info-block--status,
  .operation-stage__panel .operation-info-block--narrative,
  .operation-stage__panel .operation-info-block--competition{padding:13px!important}
  #operationStage2Panel .rsvp-confirmed__summary{grid-template-columns:44px minmax(0,1fr)!important;gap:12px!important}
  #operationStage4Panel .party-prep{gap:9px!important}
}


/* v24.15 · Four-phase preparation architecture -----------------------------
   Phase 3 stays on the unlocked refuge and Phase 4 owns NPC + inventory.
   Operaciones Clandestinas is a recurrent mode unlocked after preparation. */
#operationStage4Panel .operation-stage4-prep{display:grid;gap:11px;padding-top:5px}
#operationStage4Panel .party-prep{margin-top:0!important}
#operationStage4Panel .operation-stage__footer{margin-top:2px}
#operationStage4Panel .operation-stage__footer .btn{width:100%;min-height:48px}
@media(max-width:720px){
  #operationStage4Panel .operation-stage4-prep{gap:9px}
}


/* Operation progress language ------------------------------------------------
   La Banda communicates position only across the four preparation phases. */
.crew-member-card__progress{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  column-gap:8px!important;
  row-gap:2px;
}
.crew-member-card__progress small{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.crew-phase-stepper{
  display:flex;
  align-items:center;
  min-width:76px;
  height:18px;
}
.crew-phase-stepper>i{
  position:relative;
  display:grid;
  place-items:center;
  flex:0 0 14px;
  width:14px;
  height:14px;
  border:1px solid #d9cfd4;
  border-radius:50%;
  background:#fff;
  color:#a59aa0;
  font:950 6px/1 system-ui!important;
  letter-spacing:0!important;
  font-style:normal;
  z-index:1;
}
.crew-phase-stepper>i:not(:last-child){margin-right:2px}
.crew-phase-stepper>i:not(:last-child)::after{
  content:'';
  position:absolute;
  left:100%;
  top:50%;
  width:3px;
  height:1px;
  transform:translateY(-50%);
  background:#ded5d9;
}
.crew-phase-stepper>i.is-completed{
  border-color:#b9ddc7;
  background:#edf9f1;
  color:#2f8955;
  font-size:7px!important;
}
.crew-phase-stepper>i.is-completed:not(:last-child)::after{background:#b9ddc7}
.crew-phase-stepper>i.is-active{
  border-color:rgba(225,82,153,.55);
  background:#fff0f7;
  color:var(--pink);
  box-shadow:0 0 0 3px rgba(225,82,153,.08);
}
  animation:operationFinalPhasePulse 1.8s ease-in-out infinite;
}
.crew-member-card__progress.is-prepared small,
.crew-profile-sheet__progress.is-prepared small{color:#2d7c50}
.crew-profile-sheet__progress{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:9px;
}
.crew-profile-sheet__progress .crew-phase-stepper{min-width:82px}
.crew-profile-sheet__progress .crew-phase-stepper>i{width:15px;height:15px;flex-basis:15px;font-size:6.5px!important}
  border-color:rgba(225,82,153,.24);
  background:linear-gradient(145deg,#fff8fb,#fff);
}
@keyframes operationFinalPhasePulse{
  0%,100%{box-shadow:0 0 0 3px rgba(225,82,153,.07)}
  50%{box-shadow:0 0 0 5px rgba(225,82,153,.13)}
}
@media(max-width:620px){
  .crew-member-card__progress{column-gap:7px!important}
  .crew-phase-stepper{min-width:72px}
  .crew-phase-stepper>i{width:13px;height:13px;flex-basis:13px;font-size:5.5px!important}
  .crew-phase-stepper>i:not(:last-child)::after{width:3px}
  .crew-profile-sheet__progress{gap:8px}
}
@media(prefers-reduced-motion:reduce){
}


/* v22.96 · El Golpe gateway inside Operación 30 --------------------------------
   La Banda and El Golpe are sibling status cards in the Operation 30 header.
   Calendar days change at local midnight; exact clock appears only on event day. */
.operation-card__header>.operation-heist{
  grid-column:1/-1;
  width:100%;
}
.operation-heist.heist-gateway{
  position:relative;
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto!important;
  align-items:center;
  gap:11px;
  min-height:72px;
  margin:0!important;
  padding:10px 11px!important;
  border:1px solid #ded4dc!important;
  border-radius:14px!important;
  background:
    radial-gradient(circle at 8% 18%,rgba(225,82,153,.12),transparent 34%),
    linear-gradient(145deg,#2d2731 0%,#221f27 100%)!important;
  color:#fff;
  box-shadow:0 8px 20px rgba(25,18,28,.12)!important;
  overflow:hidden;
}
.operation-heist::after{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(110deg,transparent 0 64%,rgba(255,255,255,.025) 64% 65%,transparent 65%);
}
.operation-heist__mark{
  position:relative;
  width:42px;height:42px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:13px;
  background:rgba(255,255,255,.05);
  display:grid;place-items:center;
}
.operation-heist__mark::before,.operation-heist__mark::after,.operation-heist__mark i{
  content:'';position:absolute;border-radius:50%;
}
.operation-heist__mark::before{width:23px;height:23px;border:1px solid rgba(255,164,209,.42)}
.operation-heist__mark::after{width:9px;height:9px;border:1px solid rgba(255,190,220,.78)}
.operation-heist__mark i{width:3px;height:3px;background:#ff9bce;box-shadow:0 0 10px rgba(255,108,180,.62)}
.operation-heist__body{display:grid;gap:3px;min-width:0}
.operation-heist__eyebrow{display:flex;align-items:center;gap:7px;min-width:0}
.operation-heist__eyebrow>small{font-size:8px;font-weight:1000;letter-spacing:.12em;color:#fff}
.operation-heist__eyebrow>span{padding:3px 6px;border:1px solid rgba(255,255,255,.10);border-radius:999px;background:rgba(255,255,255,.05);font-size:6px;font-weight:1000;letter-spacing:.09em;color:rgba(255,255,255,.58);white-space:nowrap}
.operation-heist__countdown{display:flex;align-items:baseline;gap:6px;min-width:0}
.operation-heist__countdown small{font-size:7px;font-weight:1000;letter-spacing:.11em;color:rgba(255,255,255,.48);white-space:nowrap}
.operation-heist__countdown strong{font-size:19px;line-height:1.05;letter-spacing:-.025em;color:#fff4f9;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.operation-heist__body>p{margin:0;color:rgba(255,255,255,.52);font-size:8px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.operation-heist__action{
  position:relative;z-index:1;
  min-height:32px;padding:0 9px;
  border:1px solid rgba(255,255,255,.11);border-radius:999px;
  background:rgba(255,255,255,.05);color:rgba(255,255,255,.62);
  font:1000 7px/1 system-ui;letter-spacing:.075em;white-space:nowrap;
}
.operation-heist__action:disabled{opacity:1;cursor:default}
.operation-heist.heist-gateway.is-imminent{border-color:rgba(232,158,196,.28)!important;background:radial-gradient(circle at 8% 18%,rgba(225,82,153,.18),transparent 36%),linear-gradient(145deg,#302731,#251f28)!important}
.operation-heist.is-imminent .operation-heist__eyebrow>span{color:#f5b4d4;border-color:rgba(245,180,212,.18)}
.operation-heist.heist-gateway.is-event-day{border-color:rgba(255,155,206,.38)!important;box-shadow:0 8px 22px rgba(25,18,28,.15),0 0 0 1px rgba(255,155,206,.08)!important}
.operation-heist.is-event-day .operation-heist__mark i{animation:heistGatewayPulse 1.35s ease-in-out infinite}
.operation-heist.heist-gateway.is-live{border-color:rgba(255,155,206,.50)!important;background:radial-gradient(circle at 8% 18%,rgba(236,92,166,.28),transparent 38%),linear-gradient(145deg,#352538,#241f2b)!important}
.operation-heist.is-live .operation-heist__countdown{display:none}
.operation-heist.is-live .operation-heist__eyebrow>span{color:#ffc8e3;border-color:rgba(255,200,227,.24);background:rgba(236,92,166,.12)}
.operation-heist.is-live .operation-heist__action{border-color:var(--pink);background:var(--pink);color:#fff;cursor:pointer;box-shadow:0 5px 14px rgba(225,82,153,.22)}
.operation-heist.is-after{opacity:.76}
.operation-heist.is-after .operation-heist__countdown{display:none}
@keyframes heistGatewayPulse{0%,100%{box-shadow:0 0 8px rgba(255,108,180,.35)}50%{box-shadow:0 0 16px rgba(255,108,180,.82)}}
@media(max-width:620px){
  .operation-heist.heist-gateway{grid-template-columns:40px minmax(0,1fr) auto!important;gap:9px;min-height:70px;padding:9px!important;border-radius:14px!important}
  .operation-heist__mark{width:38px;height:38px;border-radius:12px}
  .operation-heist__countdown strong{font-size:17px}
  .operation-heist__action{padding:0 8px;font-size:6.5px}
  .operation-heist__body>p{font-size:8px}
}
@media(max-width:390px){
  .operation-heist.heist-gateway{grid-template-columns:36px minmax(0,1fr)!important;align-items:start}
  .operation-heist__mark{width:34px;height:34px;border-radius:11px;margin-top:2px}
  .operation-heist__action{grid-column:2;justify-self:start;min-height:27px;margin-top:2px}
  .operation-heist__countdown{align-items:flex-start;flex-direction:column;gap:1px}
  .operation-heist__countdown strong{font-size:18px}
  .operation-heist__body>p{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
}
@media(prefers-reduced-motion:reduce){.operation-heist.is-event-day .operation-heist__mark i{animation:none!important}}


/* v22.97 · La Banda minimal + adaptive hidden cash ---------------------------
   Two useful crew metrics only; member cards keep just the four-node preparation stepper. */
.crew-member-card__progress{
  grid-template-columns:auto!important;
  min-height:18px;
}
.crew-member-card__progress>.crew-phase-stepper{min-width:76px}
.crew-browser__overview{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.crew-browser__overview>div:last-child{padding-right:0}
@media(max-width:620px){
  .crew-member-card__progress>.crew-phase-stepper{min-width:72px}
}

/* v22.98 · El Golpe expandable gateway + information hierarchy ----------------
   El Golpe becomes the primary contextual card above La Banda. Compact view stays
   concise; secondary narrative and preparation context reveal on demand. */
.operation-card__header>.operation-heist{order:3;grid-column:1/-1;width:100%}
.operation-card__header>.operation-social{order:4;grid-column:1/-1;width:100%}
.operation-heist.heist-gateway{
  position:relative;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:start!important;
  gap:0 10px!important;
  min-height:0!important;
  margin:2px 0 0!important;
  padding:0!important;
  border:1px solid rgba(72,57,70,.26)!important;
  border-radius:18px!important;
  background:
    radial-gradient(circle at 8% 12%,rgba(236,92,166,.16),transparent 34%),
    linear-gradient(145deg,#302a34 0%,#211e26 100%)!important;
  color:#fff;
  box-shadow:0 11px 28px rgba(25,18,28,.13)!important;
  overflow:hidden!important;
  transform-origin:50% 18%;
}
.operation-heist.heist-gateway::after{content:none!important}
.operation-heist__summary{
  position:relative;z-index:2;
  grid-column:1/-1;
  width:100%;min-width:0;
  display:grid;grid-template-columns:48px minmax(0,1fr) 34px;align-items:center;gap:12px;
  padding:14px 14px;
  border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.operation-heist.is-live .operation-heist__summary{grid-column:1;}
.operation-heist__summary:focus-visible{outline:2px solid rgba(255,167,211,.9);outline-offset:-3px;border-radius:17px}
.operation-heist__mark{
  width:46px!important;height:46px!important;border-radius:14px!important;
  border:1px solid rgba(255,255,255,.15)!important;background:rgba(255,255,255,.055)!important;
}
.operation-heist__mark::before{width:25px!important;height:25px!important}
.operation-heist__mark::after{width:10px!important;height:10px!important}
.operation-heist__body{display:grid!important;gap:4px!important;min-width:0}
.operation-heist__eyebrow{display:flex;align-items:center;gap:8px;min-width:0}
.operation-heist__eyebrow>small{font-size:10px!important;line-height:1;font-weight:1000;letter-spacing:.12em;color:#fff}
.operation-heist__eyebrow>span{
  padding:4px 7px!important;border:1px solid rgba(255,255,255,.11)!important;border-radius:999px!important;
  background:rgba(255,255,255,.055)!important;font-size:9px!important;line-height:1;font-weight:1000;letter-spacing:.07em!important;color:rgba(255,255,255,.68)!important;white-space:nowrap
}
.operation-heist__countdown{display:flex!important;align-items:baseline!important;gap:7px!important;min-width:0}
.operation-heist__countdown small{font-size:10px!important;line-height:1.1;font-weight:1000;letter-spacing:.09em!important;color:rgba(255,255,255,.55)!important;white-space:nowrap}
.operation-heist__countdown strong{font-size:23px!important;line-height:1.04!important;letter-spacing:-.025em!important;color:#fff5fa!important;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.operation-heist__compact-text{display:block;margin:0;color:rgba(255,255,255,.62);font-size:11px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.operation-heist__chevron{width:32px;height:32px;border:1px solid rgba(255,255,255,.1);border-radius:11px;background:rgba(255,255,255,.045);display:grid;place-items:center}
.operation-heist__chevron i{width:8px;height:8px;border-right:2px solid rgba(255,255,255,.72);border-bottom:2px solid rgba(255,255,255,.72);transform:rotate(45deg) translate(-1px,-1px);transition:transform .42s cubic-bezier(.2,.8,.2,1)}
.operation-heist.is-expanded .operation-heist__chevron i{transform:rotate(225deg) translate(-1px,-1px)}
.operation-heist__action{
  position:relative;z-index:3;grid-column:2;grid-row:1;align-self:center;margin-right:14px;
  min-height:38px;padding:0 13px;border:1px solid var(--pink)!important;border-radius:12px!important;
  background:var(--pink)!important;color:#fff!important;font:1000 10px/1 system-ui!important;letter-spacing:.055em!important;white-space:nowrap;cursor:pointer;
  box-shadow:0 6px 16px rgba(225,82,153,.24)!important;
}
.operation-heist__action[hidden]{display:none!important}
.operation-heist__details-shell{
  position:relative;z-index:2;grid-column:1/-1;
  display:grid;grid-template-rows:0fr;opacity:0;transform:translateY(-7px);
  transition:grid-template-rows .5s cubic-bezier(.2,.82,.2,1),opacity .26s ease,transform .46s cubic-bezier(.2,.82,.2,1);
}
.operation-heist__details-clip{min-height:0;overflow:hidden}
.operation-heist__details-inner{padding:0 14px 15px}
.operation-heist__details-inner::before{content:'';display:block;height:1px;margin:0 0 15px;background:linear-gradient(90deg,rgba(255,255,255,.13),rgba(255,255,255,.045),transparent)}
.operation-heist.is-expanded .operation-heist__details-shell{grid-template-rows:1fr;opacity:1;transform:none}
.operation-heist.is-expanded{box-shadow:0 17px 38px rgba(25,18,28,.17),0 0 0 1px rgba(225,82,153,.055)!important}
.operation-heist__detail-lead{display:grid;gap:6px;padding:0 2px 13px}
.operation-heist__detail-lead>small,.operation-heist__next>small,.operation-heist__facts small{font-size:10px;font-weight:1000;letter-spacing:.11em;color:rgba(255,255,255,.5)}
.operation-heist__detail-lead h3{margin:0;color:#fff;font-size:clamp(20px,3.2vw,27px);line-height:1.04;letter-spacing:-.025em}
.operation-heist__detail-lead p{margin:0;max-width:620px;color:rgba(255,255,255,.7);font-size:12px;line-height:1.5}
.operation-heist__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:9px}
.operation-heist__facts>div{display:grid;gap:4px;padding:11px 12px;border:1px solid rgba(255,255,255,.09);border-radius:13px;background:rgba(255,255,255,.045)}
.operation-heist__facts strong{color:#fff;font-size:13px;line-height:1.22;letter-spacing:.015em}
.operation-heist__next{display:grid;gap:4px;padding:12px 13px;border:1px solid rgba(255,160,207,.13);border-radius:13px;background:linear-gradient(145deg,rgba(236,92,166,.085),rgba(255,255,255,.025))}
.operation-heist__next strong{color:#ffd7ea;font-size:13px;line-height:1.2;letter-spacing:.025em}
.operation-heist__next p{margin:0;color:rgba(255,255,255,.68);font-size:11px;line-height:1.48}
.operation-heist.is-pop-closing{animation:heistGatewayClosePop .32s cubic-bezier(.22,.75,.25,1)}
.operation-heist.heist-gateway.is-imminent{border-color:rgba(232,158,196,.33)!important;background:radial-gradient(circle at 8% 12%,rgba(225,82,153,.21),transparent 36%),linear-gradient(145deg,#322832,#241f29)!important}
.operation-heist.heist-gateway.is-event-day{border-color:rgba(255,155,206,.46)!important;box-shadow:0 12px 30px rgba(25,18,28,.17),0 0 0 1px rgba(255,155,206,.08)!important}
.operation-heist.heist-gateway.is-live{border-color:rgba(255,155,206,.56)!important;background:radial-gradient(circle at 8% 12%,rgba(236,92,166,.30),transparent 39%),linear-gradient(145deg,#38263a,#231f2c)!important}
.operation-heist.is-live .operation-heist__countdown{display:none!important}
.operation-heist.is-live .operation-heist__eyebrow>span{color:#ffd2e7!important;border-color:rgba(255,200,227,.24)!important;background:rgba(236,92,166,.13)!important}
.operation-heist.is-after{opacity:.82}
.operation-heist.is-after .operation-heist__countdown{display:none!important}
.operation-card__header>.operation-social{margin-top:0!important;border-radius:15px!important}
@keyframes heistGatewayClosePop{0%{transform:scale(1)}42%{transform:scale(.988)}72%{transform:scale(1.004)}100%{transform:scale(1)}}

@media(max-width:620px){
  .operation-heist.heist-gateway{grid-template-columns:1fr!important;border-radius:16px!important}
  .operation-heist__summary,.operation-heist.is-live .operation-heist__summary{grid-column:1/-1;grid-template-columns:42px minmax(0,1fr) 30px;gap:10px;padding:13px 12px}
  .operation-heist__mark{width:40px!important;height:40px!important;border-radius:12px!important}
  .operation-heist__eyebrow>small,.operation-heist__eyebrow>span,.operation-heist__countdown small{font-size:10px!important}
  .operation-heist__countdown strong{font-size:22px!important}
  .operation-heist__compact-text{font-size:11px;line-height:1.4;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .operation-heist__chevron{width:29px;height:29px;border-radius:10px}
  .operation-heist__action{grid-column:1/-1;grid-row:auto;width:calc(100% - 24px);min-height:42px;margin:0 12px 12px;font-size:11px!important}
  .operation-heist__details-inner{padding:0 12px 13px}
  .operation-heist__details-inner::before{margin-bottom:13px}
  .operation-heist__detail-lead{gap:5px;padding-bottom:11px}
  .operation-heist__detail-lead>small,.operation-heist__next>small,.operation-heist__facts small{font-size:10px}
  .operation-heist__detail-lead h3{font-size:21px;line-height:1.08}
  .operation-heist__detail-lead p{font-size:12px;line-height:1.48}
  .operation-heist__facts{gap:6px;margin-bottom:7px}
  .operation-heist__facts>div{padding:9px 9px;border-radius:11px}
  .operation-heist__facts strong{font-size:11px}
  .operation-heist__next{padding:11px;border-radius:12px}
  .operation-heist__next strong{font-size:12px}
  .operation-heist__next p{font-size:11px}
}
@media(max-width:390px){
  .operation-heist__facts{grid-template-columns:1fr 1fr}
  .operation-heist__facts>div:last-child{grid-column:1/-1}
}
@media(prefers-reduced-motion:reduce){
  .operation-heist,.operation-heist__details-shell,.operation-heist__chevron i{transition:none!important;animation:none!important}
}


/* v23.03 · Conservative HUD integration --------------------------------------
   Preserve the existing HUD geometry and notification choreography. The only
   goal is to make the sticky header feel less like a floating black slab when
   page content scrolls beneath it. */
.hud{
  background:rgba(27,23,32,.955);
  border-color:rgba(255,255,255,.075);
  box-shadow:0 5px 14px rgba(26,19,29,.085),0 1px 0 rgba(255,255,255,.02) inset;
}
.hud::after{
  content:'';
  position:absolute;
  left:9px;
  right:9px;
  bottom:-8px;
  height:8px;
  pointer-events:none;
  background:linear-gradient(to bottom,rgba(27,23,32,.10),rgba(27,23,32,.035) 42%,rgba(27,23,32,0));
}
@media(max-width:760px){
  .hud{
    background:rgba(27,23,32,.985);
    border-color:rgba(255,255,255,.07);
    box-shadow:0 4px 11px rgba(26,19,29,.075),0 1px 0 rgba(255,255,255,.018) inset;
  }
  .hud::after{
    left:8px;
    right:8px;
    bottom:-7px;
    height:7px;
    background:linear-gradient(to bottom,rgba(27,23,32,.085),rgba(27,23,32,.025) 45%,rgba(27,23,32,0));
  }
}


/* v24.02 · UNIFIED OPERATION DIRECTOR ----------------------------------------
   El Golpe + Siguiente movimiento share one adaptive surface. One component,
   one contextual CTA: stage during preparation, heist during the live event. */
.operation-card__header>.operation-heist{order:3;grid-column:1/-1;width:100%}
.operation-card__header>.operation-social{order:4;grid-column:1/-1;width:100%}
.operation-heist.is-live .operation-heist__summary{grid-column:1/-1!important}
.operation-heist__directive{
  position:relative;z-index:2;grid-column:1;min-width:0;display:grid;gap:3px;
  margin:0 0 12px 14px;padding:11px 13px 11px 15px;border:1px solid rgba(255,255,255,.085);border-radius:13px;
  background:linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.025));overflow:hidden;
}
.operation-heist__directive::before{content:'';position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:3px;background:linear-gradient(180deg,#ec5ca6,#ff9bca)}
.operation-heist__directive-head{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0}
.operation-heist__directive-head small{font-size:8px;font-weight:1000;letter-spacing:.13em;color:rgba(255,255,255,.47)}
.operation-heist__directive-head span{padding:3px 6px;border:1px solid rgba(255,174,213,.15);border-radius:999px;background:rgba(236,92,166,.07);font-size:8px;font-weight:1000;letter-spacing:.08em;color:#f1b6d4;white-space:nowrap}
.operation-heist__directive>strong{color:#fff;font-size:14px;line-height:1.12;letter-spacing:.015em}
.operation-heist__directive>p{margin:0;max-width:620px;color:rgba(255,255,255,.62);font-size:10px;line-height:1.4}
.operation-heist__action{
  grid-column:2!important;grid-row:2!important;align-self:center!important;margin:0 14px 12px 0!important;
  min-height:40px!important;padding:0 13px!important;border-radius:12px!important;font-size:9px!important;
}
.operation-heist__action[hidden]{display:none!important}
.operation-heist[data-director-mode="complete"] .operation-heist__directive{border-color:rgba(113,211,157,.16);background:linear-gradient(145deg,rgba(91,191,137,.08),rgba(255,255,255,.025))}
.operation-heist[data-director-mode="complete"] .operation-heist__directive::before{background:#72d8a2}
.operation-heist[data-director-mode="complete"] .operation-heist__directive-head span{color:#aaf0ca;border-color:rgba(113,211,157,.2);background:rgba(113,211,157,.07)}
.operation-heist[data-director-mode="paused"] .operation-heist__directive::before{background:#c4a35e}
.operation-heist[data-director-mode="paused"] .operation-heist__directive-head span{color:#ead29e;border-color:rgba(222,190,119,.18);background:rgba(222,190,119,.06)}
.operation-heist[data-director-mode="live"] .operation-heist__directive{border-color:rgba(255,155,206,.2);background:linear-gradient(145deg,rgba(236,92,166,.13),rgba(255,255,255,.035))}
.operation-heist[data-director-mode="live"] .operation-heist__directive::before{background:linear-gradient(180deg,#ff8bc8,#ec5ca6)}
.operation-heist[data-director-mode="live"] .operation-heist__directive-head span{color:#ffd4e9;border-color:rgba(255,194,224,.23);background:rgba(236,92,166,.12)}
.operation-heist[data-director-mode="after"] .operation-heist__directive{opacity:.72}
@media(max-width:620px){
  .operation-heist__directive{grid-column:1/-1;margin:0 12px 9px;padding:10px 11px 10px 13px;border-radius:12px}
  .operation-heist__directive>strong{font-size:13px}.operation-heist__directive>p{font-size:9.5px;line-height:1.38}
  .operation-heist__action{grid-column:1/-1!important;grid-row:3!important;width:auto!important;margin:0 12px 12px!important;min-height:40px!important}
  .operation-heist__details-shell{grid-row:4}
}
@media(prefers-reduced-motion:reduce){.operation-heist__action{transition:none}}


.party-live-pulse{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 12px;align-items:center;margin:0 0 14px;padding:13px;border-radius:17px;border:1px solid rgba(255,255,255,.12);background:radial-gradient(circle at 8% 5%,rgba(236,92,166,.23),transparent 35%),linear-gradient(145deg,#302431,#201d27);box-shadow:0 14px 34px rgba(15,10,18,.2)}
.party-live-pulse__beacon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.06)}
.party-live-pulse__beacon i{width:10px;height:10px;border-radius:50%;background:#ff5da8;box-shadow:0 0 0 0 rgba(255,93,168,.38);animation:partyPulse 1.85s ease-out infinite}
.party-live-pulse__copy{min-width:0;display:grid;gap:2px}.party-live-pulse__copy small{font-size:9px;font-weight:900;letter-spacing:.13em;color:#ffacd2}.party-live-pulse__copy strong{font-size:15px;line-height:1.08;color:#fff}.party-live-pulse__copy span{font-size:10px;line-height:1.35;color:rgba(255,255,255,.64)}
.party-live-pulse__metrics{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.party-live-pulse__metrics>span{display:grid;gap:2px;padding:8px 9px;border-radius:11px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.065)}.party-live-pulse__metrics small{font-size:8px;font-weight:900;letter-spacing:.09em;color:rgba(255,255,255,.47)}.party-live-pulse__metrics b{color:#fff;font-size:13px}
.party-live-pulse__action{grid-column:1/-1;min-height:40px;border:0;border-radius:12px;background:#fff;color:#1e1821;font:900 10px/1 inherit;letter-spacing:.065em}.party-live-pulse.is-complete .party-live-pulse__beacon i{background:#72dda6}.party-live-pulse.is-complete{background:radial-gradient(circle at 8% 5%,rgba(85,205,145,.19),transparent 35%),linear-gradient(145deg,#26332e,#1d2623)}
@keyframes partyPulse{0%{box-shadow:0 0 0 0 rgba(255,93,168,.42)}70%,100%{box-shadow:0 0 0 12px rgba(255,93,168,0)}}

.admin-section--mission-director{overflow:hidden}.admin-mission-director-list{display:grid;gap:8px}.admin-mission-director-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border-radius:13px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.075)}.admin-mission-director-row__copy{display:grid;gap:2px;min-width:0}.admin-mission-director-row__copy small{font-size:8px;font-weight:900;letter-spacing:.1em;opacity:.52}.admin-mission-director-row__copy strong{font-size:11px;line-height:1.2}.admin-mission-director-row__copy span{font-size:9px;opacity:.62;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-mission-code{min-width:86px;display:grid;gap:1px;padding:7px 9px;border:1px solid rgba(255,255,255,.11);border-radius:10px;background:rgba(255,255,255,.06);color:inherit;text-align:left}.admin-mission-code small{font-size:7px;letter-spacing:.1em;opacity:.5}.admin-mission-code b{font-size:12px;letter-spacing:.07em}.admin-mission-code span{font-size:7px;font-weight:900;opacity:.6}

@media(max-width:620px){
  .party-live-pulse{border-radius:15px;padding:12px}.admin-mission-director-row{grid-template-columns:minmax(0,1fr) 84px}.admin-mission-code{min-width:0}
}
@media(prefers-reduced-motion:reduce){.party-live-pulse__beacon i{animation:none}}


/* v24.03 · FOUR-STEP PREPARATION + RECURRENT CLANDESTINE PHASE ---------------
   Phases 01–04 are completable preparation. Phase 05 is a recurring competitive
   state that stays active until El Golpe and then closes; it never completes. */
.operation-stage.is-closed .operation-stage__marker{border-color:#d9d2d6;background:#f4f1f3;color:#8e858a}
.operation-stage.is-closed .operation-stage__status{color:#8e858a}
.operation-heist[data-director-mode="clandestine"] .operation-heist__directive{border-color:rgba(238,197,83,.2);background:linear-gradient(145deg,rgba(238,197,83,.085),rgba(255,255,255,.025))}
.operation-heist[data-director-mode="clandestine"] .operation-heist__directive::before{background:linear-gradient(180deg,#f1d16f,#cf9d32)}
.operation-heist[data-director-mode="clandestine"] .operation-heist__directive-head span{color:#f2d889;border-color:rgba(238,197,83,.2);background:rgba(238,197,83,.07)}
.crew-phase-stepper>i.is-closed{border-color:#d5cfd2;background:#f1eef0;color:#8d8388}
.crew-phase-stepper>i.is-closed:not(:last-child)::after{background:#d5cfd2}
/* v24.04 · BRAND-ONLY LANDING / INVITATION HERO ---------------------------------
   The first-entry cover and the invitation banner are the same component.
   Final geometry is intentionally shared with the transition endpoint so cleanup
   cannot cause a post-animation resize or position snap. */
.hero--brand{display:flex;align-items:center;justify-content:center;min-height:330px;}
.hero--brand .hero__content{width:min(100%,760px);max-width:760px;margin:auto;text-align:center;}
.hero--brand .hero__lead{max-width:560px;margin:24px auto 0;}
@media(max-width:760px){
  .hero--brand{min-height:330px;padding:30px 22px;}
  .hero--brand.hero--intro{min-height:100svh;padding:36px 22px;border-radius:0;}
  .hero--brand .hero__sun{width:220px;height:220px;right:-72px;top:24px;}
  .hero--brand .hero__grid{height:300px;bottom:-118px;}
  .hero--brand.hero--intro .hero__sun{width:270px;height:270px;right:-42px;top:5%;}
  .hero--brand.hero--intro .hero__grid{height:42vh;bottom:-130px;opacity:.38;}
}


/* v24.07 · GPS DIRECTOR SIMPLIFICATION -----------------------------------------
   El Golpe is no longer expandable. It is a persistent GPS: destination/status
   first, current move second, one contextual CTA. Live mode collapses to access. */
.operation-heist.heist-gateway{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:0 10px!important;
  overflow:hidden!important;
}
.operation-heist__summary{
  grid-column:1/-1!important;
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr)!important;
  align-items:center!important;
  gap:12px!important;
  padding:14px!important;
  cursor:default!important;
}
.operation-heist__directive{
  grid-column:1!important;
  margin:0 0 12px 14px!important;
}
.operation-heist__directive-head>small{color:rgba(255,255,255,.54)!important}
.operation-heist__action{
  grid-column:2!important;
  grid-row:2!important;
  align-self:center!important;
  margin:0 14px 12px 0!important;
}
.operation-heist[data-director-mode="live"]{
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
}
.operation-heist[data-director-mode="live"] .operation-heist__summary{
  grid-column:1!important;
  padding-right:8px!important;
}
.operation-heist[data-director-mode="live"] .operation-heist__directive{display:none!important}
.operation-heist[data-director-mode="live"] .operation-heist__action{
  grid-column:2!important;
  grid-row:1!important;
  margin:12px 14px 12px 0!important;
  min-height:42px!important;
}
.operation-heist[data-director-mode="after"] .operation-heist__action{display:none!important}
@media(max-width:620px){
  .operation-heist.heist-gateway{grid-template-columns:1fr!important}
  .operation-heist__summary{grid-template-columns:42px minmax(0,1fr)!important;gap:10px!important;padding:13px 12px!important}
  .operation-heist__directive{grid-column:1/-1!important;margin:0 12px 9px!important}
  .operation-heist__action{grid-column:1/-1!important;grid-row:3!important;width:auto!important;margin:0 12px 12px!important}
  .operation-heist[data-director-mode="live"]{grid-template-columns:1fr!important}
  .operation-heist[data-director-mode="live"] .operation-heist__summary{grid-column:1/-1!important;padding-bottom:8px!important}
  .operation-heist[data-director-mode="live"] .operation-heist__action{grid-column:1/-1!important;grid-row:2!important;margin:0 12px 12px!important}
}

/* v24.09 · SUNSET SURFACE COHESION -------------------------------------------
   Scope is deliberately narrow: persistent HUD, El Golpe status surface and
   La Banda access only. They share the landing palette without becoming clones:
   HUD = technical, El Golpe = feature, La Banda = social/calm. */
:root{
  --sunset-surface-deep:#1b1821;
  --sunset-surface-plum:#2c2130;
  --sunset-surface-warm:#4b293e;
  --sunset-edge:rgba(255,214,192,.13);
  --sunset-edge-soft:rgba(255,255,255,.08);
  --sunset-copy:rgba(255,255,255,.94);
  --sunset-muted:rgba(255,236,228,.60);
  --sunset-pink:#f28bbd;
  --sunset-peach:#f0ae91;
}

/* HUD · same geometry, more connected to the cover palette. */
.hud{
  background:
    radial-gradient(circle at 84% -36%,rgba(240,174,145,.12),transparent 42%),
    radial-gradient(circle at 8% 130%,rgba(242,139,189,.075),transparent 38%),
    linear-gradient(145deg,rgba(27,24,33,.985),rgba(42,31,45,.985) 68%,rgba(31,26,36,.99));
  border-color:var(--sunset-edge)!important;
  box-shadow:0 7px 18px rgba(24,16,27,.12),0 1px 0 rgba(255,225,207,.035) inset!important;
}
.hud::after{
  background:linear-gradient(to bottom,rgba(38,27,41,.095),rgba(38,27,41,.025) 44%,rgba(38,27,41,0))!important;
}
.hud__menu-toggle:hover{background:rgba(255,207,188,.055)}
.hud__menu-label{color:rgba(255,242,235,.80)}
.hud__player-avatar{border-color:rgba(255,222,205,.15);background:rgba(255,238,229,.07)}
.hud__quick-funds{border-color:rgba(139,238,178,.22);background:rgba(86,173,120,.10)}

/* El Golpe · feature surface. Decorative energy stays on the edges so the copy
   remains on a quiet dark field. */
.operation-heist.heist-gateway,
.party-live-pulse{
  border-color:var(--sunset-edge)!important;
  background:
    radial-gradient(circle at 94% 2%,rgba(240,174,145,.15),transparent 27%),
    radial-gradient(circle at 4% 12%,rgba(242,139,189,.16),transparent 36%),
    linear-gradient(135deg,var(--sunset-surface-deep) 0%,var(--sunset-surface-plum) 68%,var(--sunset-surface-warm) 118%)!important;
  box-shadow:0 12px 30px rgba(24,15,27,.15),0 1px 0 rgba(255,226,210,.035) inset!important;
}
.operation-heist__mark,
.party-live-pulse__beacon{
  border-color:rgba(255,220,202,.14)!important;
  background:linear-gradient(145deg,rgba(255,236,225,.075),rgba(255,255,255,.025))!important;
  box-shadow:0 7px 18px rgba(12,8,14,.10) inset;
}
.operation-heist__mark::before{border-color:rgba(242,139,189,.48)!important}
.operation-heist__mark::after{border-color:rgba(255,207,187,.76)!important}
.operation-heist__mark i{background:#f49ac4!important;box-shadow:0 0 12px rgba(242,139,189,.58)!important}
.operation-heist__eyebrow>small,.party-live-pulse__copy strong{color:var(--sunset-copy)!important}
.operation-heist__eyebrow>span{
  color:rgba(255,235,225,.68)!important;
  border-color:rgba(255,220,203,.11)!important;
  background:rgba(255,235,225,.045)!important;
}
.operation-heist__countdown small{color:rgba(255,232,222,.50)!important}
.operation-heist__countdown strong{color:#fff6f1!important}
.operation-heist__directive{
  border-color:rgba(255,221,205,.09)!important;
  background:linear-gradient(145deg,rgba(255,239,229,.052),rgba(255,255,255,.018))!important;
}
.operation-heist__directive>p{color:var(--sunset-muted)!important}
.operation-heist__directive-head>small{color:rgba(255,231,221,.52)!important}
.operation-heist__action{
  border-color:rgba(255,218,201,.14)!important;
  background:rgba(255,236,226,.065)!important;
  color:rgba(255,246,241,.82)!important;
}
.operation-heist__action:not(:disabled):hover{background:rgba(255,236,226,.11)!important;border-color:rgba(255,218,201,.21)!important}
.operation-heist[data-director-mode="live"] .operation-heist__action{
  background:linear-gradient(135deg,#e85d9f,#d94e91)!important;
  border-color:rgba(255,204,230,.42)!important;
  color:#fff!important;
}

/* Party-mode El Golpe status uses the same feature family, with live data kept
   inside quieter translucent wells for legibility. */
.party-live-pulse__copy small{color:#f5a5c9!important}
.party-live-pulse__copy span{color:var(--sunset-muted)!important}
.party-live-pulse__metrics>span{
  background:rgba(255,241,232,.045)!important;
  border-color:rgba(255,224,207,.075)!important;
}
.party-live-pulse__metrics small{color:rgba(255,233,224,.47)!important}
.party-live-pulse__action{
  background:rgba(255,248,243,.94)!important;
  color:#241b25!important;
  box-shadow:0 5px 16px rgba(18,11,20,.12);
}
.party-live-pulse.is-complete{
  border-color:rgba(134,218,166,.18)!important;
  background:
    radial-gradient(circle at 94% 2%,rgba(240,174,145,.11),transparent 27%),
    radial-gradient(circle at 4% 12%,rgba(104,205,145,.10),transparent 36%),
    linear-gradient(135deg,#1b1c21 0%,#26302d 70%,#344238 118%)!important;
}

/* La Banda · same family, intentionally calmer than El Golpe. */
.operation-social,
.party-operation-card__crew .crew-access{
  border-color:rgba(255,218,201,.105)!important;
  background:
    radial-gradient(circle at 96% -20%,rgba(240,174,145,.075),transparent 38%),
    linear-gradient(145deg,#221e28 0%,#2b2330 72%,#322632 100%)!important;
  color:#f8f1ed!important;
  box-shadow:0 8px 22px rgba(24,16,27,.10),0 1px 0 rgba(255,226,210,.025) inset!important;
}
.operation-social:hover:not(:disabled),
.party-operation-card__crew .crew-access__button:hover:not(:disabled){
  background:
    radial-gradient(circle at 96% -20%,rgba(240,174,145,.10),transparent 38%),
    linear-gradient(145deg,#28222d 0%,#312735 72%,#392b37 100%)!important;
}
.operation-social__copy strong,
.party-operation-card__crew .crew-access__copy>strong{color:rgba(255,249,246,.94)!important}
.operation-social__copy small,
.party-operation-card__crew .crew-access__copy>span{color:rgba(255,235,226,.56)!important}
.party-operation-card__crew .crew-access__copy>small{color:#eaa0c2!important}
.operation-social__state,
.party-operation-card__crew .crew-access__state{color:rgba(255,241,234,.72)!important}
.operation-social .crew-access__avatar,
.party-operation-card__crew .crew-access__avatar{
  border-color:#2b2330!important;
  background:#17151d!important;
  box-shadow:0 3px 10px rgba(10,7,12,.24)!important;
}
.operation-social .crew-access__more,
.party-operation-card__crew .crew-access__more{
  border-color:#2b2330!important;
  background:#463847!important;
  color:#f8f1ed!important;
}
.party-operation-card__crew .crew-access__button{color:#f8f1ed!important}
.party-operation-card__crew .crew-access__state{
  border-color:rgba(255,219,202,.11)!important;
  background:rgba(255,240,231,.045)!important;
}
.party-operation-card__crew .crew-access.is-live{
  border-color:rgba(121,211,159,.16)!important;
  background:
    radial-gradient(circle at 96% -20%,rgba(240,174,145,.065),transparent 38%),
    linear-gradient(145deg,#211f28 0%,#26302e 72%,#2e3732 100%)!important;
}
.party-operation-card__crew .crew-access.is-live .crew-access__copy>small{color:#8dd6aa!important}

@media(max-width:760px){
  .hud{
    background:
      radial-gradient(circle at 86% -42%,rgba(240,174,145,.12),transparent 43%),
      linear-gradient(145deg,rgba(27,24,33,.995),rgba(42,31,45,.995) 70%,rgba(31,26,36,.998))!important;
  }
}

/* Keep temporal El Golpe states inside the same sunset family; state is expressed
   through accent intensity, not by swapping to a different visual language. */
.operation-heist.heist-gateway.is-imminent{
  border-color:rgba(242,139,189,.22)!important;
  background:
    radial-gradient(circle at 94% 2%,rgba(240,174,145,.16),transparent 27%),
    radial-gradient(circle at 4% 12%,rgba(242,139,189,.21),transparent 38%),
    linear-gradient(135deg,#1b1821 0%,#302232 68%,#4d293f 118%)!important;
}
.operation-heist.heist-gateway.is-event-day,
.operation-heist.heist-gateway.is-live{
  border-color:rgba(246,157,199,.32)!important;
  background:
    radial-gradient(circle at 94% 2%,rgba(244,180,145,.19),transparent 28%),
    radial-gradient(circle at 4% 12%,rgba(236,92,166,.27),transparent 39%),
    linear-gradient(135deg,#1b1720 0%,#352337 68%,#552b43 118%)!important;
  box-shadow:0 13px 32px rgba(24,15,27,.18),0 0 0 1px rgba(246,157,199,.055) inset!important;
}

/* v24.11 · INVITE STATUS CLEANUP -------------------------------------------------
   Operación 30 trusts the page hierarchy instead of repeating state badges.
   El Golpe keeps only destination + countdown + current action. */
.operation-card__header{
  grid-template-columns:1fr!important;
}
.operation-card__title{grid-column:1/-1;min-width:0;}
.operation-card__title h2{margin:0!important;}
.operation-card__kicker{
  display:flex;align-items:center;gap:7px;margin:0 0 6px;
  color:#a66a8a;font-size:10px;font-weight:950;letter-spacing:.16em;line-height:1.1;
}
.operation-card__kicker>span{
  width:6px;height:6px;flex:0 0 6px;border-radius:50%;
  background:#ef8eba;box-shadow:0 0 0 3px rgba(239,142,186,.10);
}
.operation-heist__eyebrow{display:flex;align-items:center;min-height:16px;}
.operation-heist__directive-head>span{display:none!important;}
.operation-heist__action.btn.btn--accent{
  background:#f17db5!important;
  border-color:transparent!important;
  color:#211621!important;
  box-shadow:none!important;
  font-weight:950!important;
}
.operation-heist__action.btn.btn--accent:not(:disabled):hover{
  background:#f17db5!important;
  border-color:transparent!important;
  color:#211621!important;
  filter:brightness(1.04);
}
.operation-heist[data-director-mode="live"] .operation-heist__action.btn.btn--accent{
  background:#f17db5!important;
  border-color:transparent!important;
  color:#211621!important;
}
.operation-social__copy small:empty{display:none;}

/* v24.12 · GPS ACTION CARD ------------------------------------------------------
   The current GPS instruction is the action. No secondary CTA button: the whole
   directive is a real button with one restrained directional affordance. */
.operation-heist.heist-gateway{
  grid-template-columns:1fr!important;
}
.operation-heist__directive{
  grid-column:1/-1!important;
  width:auto!important;
  margin:0 14px 12px!important;
  padding:11px 12px 11px 15px!important;
  appearance:none;
  -webkit-appearance:none;
  text-align:left;
  font:inherit;
  color:inherit;
  cursor:pointer;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 30px!important;
  align-items:center!important;
  gap:10px!important;
  transition:transform 140ms ease,border-color 220ms ease,background-color 220ms ease,filter 180ms ease!important;
}
.operation-heist__directive-copy{display:grid;gap:3px;min-width:0;}
.operation-heist__directive-copy>strong{color:#fff;font-size:14px;line-height:1.12;letter-spacing:.015em;}
.operation-heist__directive-text{display:block;color:var(--sunset-muted,rgba(255,255,255,.62));font-size:10px;line-height:1.4;max-width:620px;}
.operation-heist__directive-text:empty{display:none;}
.operation-heist__directive-chevron{
  width:28px;height:28px;border-radius:999px;display:grid;place-items:center;justify-self:end;
  border:1px solid rgba(255,220,205,.14);background:rgba(255,240,231,.055);
  color:#ffd8c8;font-size:22px;line-height:1;font-weight:500;
  transition:transform 180ms var(--motion-ease,cubic-bezier(.2,.82,.2,1)),background-color 180ms ease,border-color 180ms ease;
}
.operation-heist__directive:not(:disabled):hover{
  border-color:rgba(255,219,202,.17)!important;
  background:linear-gradient(145deg,rgba(255,239,230,.072),rgba(255,255,255,.027))!important;
}
.operation-heist__directive:not(:disabled):hover .operation-heist__directive-chevron{transform:translateX(2px);background:rgba(255,240,231,.085);border-color:rgba(255,220,205,.20);}
.operation-heist__directive:not(:disabled):active{transform:scale(.988);filter:brightness(1.025);}
.operation-heist__directive:not(:disabled):active .operation-heist__directive-chevron{transform:translateX(3px);}
.operation-heist__directive:focus-visible{outline:2px solid rgba(255,167,211,.9);outline-offset:2px;}
.operation-heist__directive:disabled{cursor:default;}
.operation-heist__directive:disabled .operation-heist__directive-chevron{display:none;}
.operation-heist[data-director-mode="live"] .operation-heist__directive{
  display:grid!important;
  grid-column:1/-1!important;
  grid-row:auto!important;
  margin:0 14px 12px!important;
  border-color:rgba(255,155,206,.22)!important;
  background:linear-gradient(145deg,rgba(236,92,166,.14),rgba(255,255,255,.035))!important;
}
.operation-heist[data-director-mode="live"] .operation-heist__directive-chevron{border-color:rgba(255,196,224,.20);background:rgba(236,92,166,.11);color:#ffd6e9;}
.operation-heist[data-director-mode="after"] .operation-heist__directive{opacity:.72;}
.operation-heist__action{display:none!important;}
@media(max-width:620px){
  .operation-heist__directive{margin:0 12px 12px!important;padding:11px 11px 11px 13px!important;grid-template-columns:minmax(0,1fr) 28px!important;}
  .operation-heist__directive-copy>strong{font-size:13px;}
  .operation-heist__directive-text{font-size:9.5px;line-height:1.38;}
  .operation-heist__directive-chevron{width:26px;height:26px;font-size:20px;}
}
@media(prefers-reduced-motion:reduce){
  .operation-heist__directive,.operation-heist__directive-chevron{transition:none!important;}
}


/* v24.15 · Clandestine unlock card ---------------------------------------------
   Operaciones Clandestinas is not Phase 05. It is a recurrent mode that appears
   only after preparation reaches 4/4. v24.16 defines its sibling order above La Banda. */
.operation-card__header>.operation-clandestine-access{
  order:5;grid-column:1/-1;width:100%;
}
.operation-clandestine-access{
  appearance:none;-webkit-appearance:none;
  min-height:64px;padding:11px 12px;border:1px solid rgba(255,218,201,.12);border-radius:15px;
  background:
    radial-gradient(circle at 96% -18%,rgba(240,174,145,.10),transparent 39%),
    radial-gradient(circle at 6% 118%,rgba(236,92,166,.09),transparent 42%),
    linear-gradient(145deg,#211d27 0%,#302433 72%,#382938 100%);
  color:#f9f2ee;box-shadow:0 9px 24px rgba(24,16,27,.11),0 1px 0 rgba(255,226,210,.03) inset;
  display:grid;grid-template-columns:38px minmax(0,1fr) 30px;align-items:center;gap:10px;
  text-align:left;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;
  transition:transform 150ms ease,filter 180ms ease,border-color 220ms ease,background-color 220ms ease;
}
.operation-clandestine-access[hidden]{display:none!important}
.operation-clandestine-access__icon{
  width:36px;height:36px;border-radius:12px;display:grid;place-items:center;
  border:1px solid rgba(255,219,202,.13);background:rgba(255,241,233,.055);
  color:#f5a5c9;font-size:16px;box-shadow:0 3px 10px rgba(10,7,12,.16);
}
.operation-clandestine-access__copy{display:grid;gap:2px;min-width:0}
.operation-clandestine-access__copy small{color:#eaa0c2;font-size:7.5px;font-weight:1000;letter-spacing:.13em;line-height:1.1}
.operation-clandestine-access__copy strong{color:#fff9f6;font-size:12px;line-height:1.15;letter-spacing:.025em}
.operation-clandestine-access__copy span{color:rgba(255,235,226,.56);font-size:9px;line-height:1.38;white-space:normal}
.operation-clandestine-access__arrow{
  width:28px;height:28px;border-radius:999px;display:grid;place-items:center;justify-self:end;
  border:1px solid rgba(255,220,205,.14);background:rgba(255,240,231,.055);
  color:#ffd8c8;font-size:22px;line-height:1;font-weight:500;
  transition:transform 180ms var(--motion-ease,cubic-bezier(.2,.82,.2,1)),background-color 180ms ease;
}
.operation-clandestine-access:hover{border-color:rgba(255,218,201,.18);filter:brightness(1.035)}
.operation-clandestine-access:hover .operation-clandestine-access__arrow{transform:translateX(2px);background:rgba(255,240,231,.085)}
.operation-clandestine-access:active{transform:scale(.988);filter:brightness(1.04)}
.operation-clandestine-access:active .operation-clandestine-access__arrow{transform:translateX(3px)}
.operation-clandestine-access:focus-visible{outline:2px solid rgba(255,167,211,.9);outline-offset:2px}
.operation-clandestine-access.is-closed{opacity:.82;filter:saturate(.78)}
@media(max-width:620px){
  .operation-clandestine-access{min-height:60px;padding:10px 11px;grid-template-columns:34px minmax(0,1fr) 27px;gap:9px}
  .operation-clandestine-access__icon{width:32px;height:32px;border-radius:11px;font-size:14px}
  .operation-clandestine-access__copy strong{font-size:11px}
  .operation-clandestine-access__copy span{font-size:8.5px}
  .operation-clandestine-access__arrow{width:26px;height:26px;font-size:20px}
}
@media(prefers-reduced-motion:reduce){
  .operation-clandestine-access,.operation-clandestine-access__arrow{transition:none!important;animation:none!important}
}

/* v24.16 · Clandestine + Crew sibling modules ---------------------------------
   Once unlocked, Operaciones Clandestinas sits above La Banda. Both are treated as
   sibling modules: same surface, density and interaction language; content provides
   the hierarchy. La Banda keeps the same treatment when moved into El Golpe. */
.operation-card__header>.operation-clandestine-access{order:4!important;grid-column:1/-1;width:100%;margin-top:0!important}
.operation-card__header>.operation-social{order:5!important;grid-column:1/-1;width:100%;margin-top:0!important}

.operation-clandestine-access,
.operation-social,
.party-operation-card__crew .crew-access{
  min-height:64px!important;
  border:1px solid rgba(255,218,201,.12)!important;
  border-radius:15px!important;
  background:
    radial-gradient(circle at 96% -18%,rgba(240,174,145,.09),transparent 39%),
    radial-gradient(circle at 6% 118%,rgba(236,92,166,.075),transparent 42%),
    linear-gradient(145deg,#211d27 0%,#302433 72%,#382938 100%)!important;
  color:#f9f2ee!important;
  box-shadow:0 9px 24px rgba(24,16,27,.11),0 1px 0 rgba(255,226,210,.03) inset!important;
}
.operation-social{
  appearance:none;-webkit-appearance:none;
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr) 30px!important;
  align-items:center!important;
  gap:10px!important;
  padding:11px 12px!important;
  text-align:left!important;
  font:inherit!important;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  transition:transform 150ms ease,filter 180ms ease,border-color 220ms ease!important;
}
.operation-social:hover:not(:disabled),
.operation-clandestine-access:hover,
.party-operation-card__crew .crew-access__button:hover:not(:disabled){
  border-color:rgba(255,218,201,.18)!important;
  filter:brightness(1.035);
}
.operation-social:active:not(:disabled){transform:scale(.988);filter:brightness(1.04)}
.operation-social:focus-visible{outline:2px solid rgba(255,167,211,.9)!important;outline-offset:2px!important}
.operation-social:disabled{cursor:default;opacity:.78}

.operation-social__people{
  width:46px!important;height:38px!important;min-width:46px!important;padding:0 0 0 3px!important;
  display:flex!important;align-items:center!important;
  border:1px solid rgba(255,219,202,.13)!important;border-radius:12px!important;
  background:rgba(255,241,233,.045)!important;
  box-shadow:0 3px 10px rgba(10,7,12,.13) inset!important;
  overflow:visible;
}
.operation-social .crew-access__avatar,
.operation-social .crew-access__more{
  width:25px!important;height:25px!important;margin-left:-9px!important;
  border:2px solid #2d2230!important;border-radius:50%!important;
  font-size:13px!important;
  box-shadow:0 3px 9px rgba(10,7,12,.20)!important;
}
.operation-social .crew-access__avatar:first-child{margin-left:0!important}
.operation-social .crew-access__more{font-size:7px!important;background:linear-gradient(145deg,#6b445e,#8b5b78)!important;color:#fff4f8!important}
.operation-social__copy{display:grid!important;gap:2px!important;min-width:0!important}
.operation-social__copy strong{
  color:#fff9f6!important;font-size:12px!important;line-height:1.15!important;letter-spacing:.025em!important;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.operation-social__copy small{
  color:rgba(255,235,226,.56)!important;font-size:8.5px!important;line-height:1.38!important;
  font-weight:900!important;letter-spacing:.045em!important;white-space:normal!important;
}
.operation-social__state{
  width:28px!important;height:28px!important;display:grid!important;place-items:center!important;justify-self:end!important;
  border:1px solid rgba(255,220,205,.14)!important;border-radius:999px!important;
  background:rgba(255,240,231,.055)!important;color:#ffd8c8!important;
  font-size:18px!important;line-height:1!important;font-weight:500!important;
  transition:transform 180ms var(--motion-ease,cubic-bezier(.2,.82,.2,1)),background-color 180ms ease!important;
}
.operation-social:hover:not(:disabled) .operation-social__state{transform:translateX(2px);background:rgba(255,240,231,.085)!important}
.operation-social:active:not(:disabled) .operation-social__state{transform:translateX(3px)}

/* La Banda in El Golpe uses the same sibling-card skeleton, only slightly taller
   because the full module exposes its own title + metadata. */
.party-operation-card__crew .crew-access{margin-top:0!important;overflow:hidden!important}
.party-operation-card__crew .crew-access__button{
  min-height:64px!important;padding:11px 12px!important;gap:10px!important;
  grid-template-columns:48px minmax(0,1fr) 30px!important;color:#f9f2ee!important;
}
.party-operation-card__crew .crew-access__people{min-width:46px!important;width:46px!important;padding-left:3px!important}
.party-operation-card__crew .crew-access__copy{gap:2px!important}
.party-operation-card__crew .crew-access__copy>small{font-size:7.5px!important;line-height:1.1!important;letter-spacing:.13em!important;color:#eaa0c2!important}
.party-operation-card__crew .crew-access__copy>strong{font-size:12px!important;line-height:1.15!important;letter-spacing:.025em!important;color:#fff9f6!important}
.party-operation-card__crew .crew-access__copy>span{margin-top:0!important;font-size:8.5px!important;line-height:1.38!important;letter-spacing:.045em!important;color:rgba(255,235,226,.56)!important}
.party-operation-card__crew .crew-access__state{
  width:28px!important;height:28px!important;border:1px solid rgba(255,220,205,.14)!important;
  background:rgba(255,240,231,.055)!important;color:#ffd8c8!important;font-size:18px!important;
}

/* Character chips: remove the black token look. Photos remain untouched; fallback
   emoji/avatars use small sunset surfaces so the stack adds colour instead of weight. */
.operation-social .crew-access__avatar:not(.has-photo),
.party-operation-card__crew .crew-access__avatar:not(.has-photo),
.crew-access__avatar:not(.has-photo){
  color:#fff8f4!important;
  background:linear-gradient(145deg,#7b365e,#c95788)!important;
}
.operation-social .crew-access__avatar:not(.has-photo):nth-child(2),
.party-operation-card__crew .crew-access__avatar:not(.has-photo):nth-child(2),
.crew-access__avatar:not(.has-photo):nth-child(2){background:linear-gradient(145deg,#875044,#d58b67)!important}
.operation-social .crew-access__avatar:not(.has-photo):nth-child(3),
.party-operation-card__crew .crew-access__avatar:not(.has-photo):nth-child(3),
.crew-access__avatar:not(.has-photo):nth-child(3){background:linear-gradient(145deg,#514064,#946a96)!important}
.operation-social .crew-access__avatar.has-photo,
.party-operation-card__crew .crew-access__avatar.has-photo,
.crew-access__avatar.has-photo{background:#2b2330!important;overflow:hidden!important}
.crew-access__avatar.has-photo img{width:100%;height:100%;object-fit:cover;display:block}

@media(max-width:620px){
  .operation-clandestine-access,.operation-social{min-height:60px!important;padding:10px 11px!important;grid-template-columns:44px minmax(0,1fr) 27px!important;gap:9px!important}
  .operation-social__people{width:42px!important;height:34px!important;min-width:42px!important}
  .operation-social .crew-access__avatar,.operation-social .crew-access__more{width:23px!important;height:23px!important;font-size:12px!important}
  .operation-social__copy strong,.party-operation-card__crew .crew-access__copy>strong{font-size:11px!important}
  .operation-social__copy small,.party-operation-card__crew .crew-access__copy>span{font-size:8.5px!important}
  .operation-social__state,.party-operation-card__crew .crew-access__state{width:26px!important;height:26px!important;font-size:18px!important}
  .party-operation-card__crew .crew-access__button{min-height:60px!important;padding:10px 11px!important;grid-template-columns:44px minmax(0,1fr) 27px!important;gap:9px!important}
  .party-operation-card__crew .crew-access__people{width:42px!important;min-width:42px!important}
}
@media(prefers-reduced-motion:reduce){
  .operation-social,.operation-social__state{transition:none!important;animation:none!important}
}


/* v24.17 · La Banda social profile — guided, lightweight and useful before the event */
.social-profile-editor{display:grid;gap:18px;}
.social-profile-field{display:grid;gap:10px;padding-bottom:17px;border-bottom:1px solid #e7ddd7;}
.social-profile-field:last-of-type{border-bottom:0;padding-bottom:0;}
.social-profile-field__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.social-profile-field__head b,.social-custom-field>span{font-size:10px;font-weight:1000;letter-spacing:.08em;color:#3a2d37;}
.social-profile-field__head small{display:block;margin-top:3px;color:var(--muted);font-size:10px;line-height:1.35;font-weight:700;letter-spacing:0;text-transform:none;}
.social-profile-field__head>strong{flex:0 0 auto;font-size:10px;color:var(--pink);}
.social-choice-grid{display:flex;flex-wrap:wrap;gap:7px;}
.social-choice-chip{width:auto!important;}
.social-custom-field{display:grid;gap:6px;}
.social-custom-field>span small{color:var(--muted);font-size:8px;margin-left:5px;}
.social-custom-field input{width:100%;min-height:42px;border:1px solid #ded3ce;border-radius:11px;background:#fff;padding:10px 12px;font:inherit;color:var(--ink);outline:none;}
.social-custom-field input:focus{border-color:#c96a91;box-shadow:0 0 0 3px rgba(201,106,145,.10);}
.social-custom-field--note{padding-top:2px;}
.social-choice-grid--party{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.social-party-choice{min-height:62px;border:1px solid #e0d5d0;border-radius:13px;background:#fff;padding:10px;display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;align-items:center;text-align:left;color:var(--ink);}
.social-party-choice>span{font-size:20px;line-height:1;}
.social-party-choice>b{font-size:9px;line-height:1.25;letter-spacing:.045em;}
.social-party-choice.is-selected{border-color:#d26b97;background:#fff4f8;box-shadow:0 0 0 2px rgba(210,107,151,.10);}
.crew-social-profile{display:grid;gap:9px;margin-top:13px;}
.crew-social-section{padding:12px 13px;border:1px solid #e2d9d3;border-radius:12px;background:#fff;display:grid;gap:7px;}
.crew-social-section[hidden]{display:none!important;}
.crew-social-section>small{font-size:8px;font-weight:1000;letter-spacing:.11em;color:var(--muted);}
.crew-social-section>strong{font-size:12px;line-height:1.4;color:#2d2530;}
.crew-social-section--common{border-color:#e6d4ae;background:#fff9ed;}
.crew-social-section--common>small{color:#8b6c32;}
.crew-social-section--icebreaker{border-color:#ead3df;background:#fff5fa;}
.crew-social-section--icebreaker>small{color:#a54f76;}
.crew-profile-specialties .character-summary-chip.is-common{background:#fff;border-color:#dbc58f;color:#745b27;}
@media(max-width:420px){.social-choice-grid--party{grid-template-columns:1fr;}.social-party-choice{min-height:54px;}}

/* v24.19 · Expediente social compacto — conocer, conectar y romper el hielo */
.crew-profile-sheet__hero{
  grid-template-columns:60px minmax(0,1fr);
  gap:12px;
  align-items:center;
  padding:2px 0 13px;
}
.crew-profile-sheet__avatar{width:60px;height:60px;border-radius:16px;font-size:32px;}
.crew-profile-sheet__identity{min-width:0;display:grid;gap:3px;}
.crew-profile-sheet__identity>.kicker{font-size:7px;letter-spacing:.12em;color:#8d8188;}
.crew-profile-sheet__title-row{display:flex;align-items:center;justify-content:space-between;gap:9px;min-width:0;}
.crew-profile-sheet__title-row h2{min-width:0;margin:0;font-size:23px;line-height:1.05;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.crew-profile-sheet__meta{display:flex;align-items:center;gap:8px;min-width:0;margin-top:4px;color:var(--muted);}
.crew-profile-sheet__connection{max-width:calc(100% - 84px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7px;font-weight:1000;letter-spacing:.055em;color:#746a70;}
.crew-profile-sheet__connection[hidden]{display:none!important;}
.crew-profile-sheet__progress{display:flex!important;align-items:center!important;gap:0!important;margin:0!important;min-width:0;color:var(--muted);}
.crew-profile-sheet__progress .crew-phase-stepper{min-width:68px;height:15px;}
.crew-profile-sheet__progress .crew-phase-stepper>i{width:12px;height:12px;flex-basis:12px;font-size:5px!important;}

.crew-profile-respect-pill{
  appearance:none;
  flex:0 0 auto;
  min-height:32px;
  border:1px solid #ead8b6;
  border-radius:999px;
  background:#fbf3e4;
  color:#755722;
  padding:4px 5px 4px 7px;
  display:inline-flex;
  align-items:center;
  gap:4px;
  font:inherit;
  opacity:1!important;
  transition:transform .12s ease,border-color .12s ease,background .12s ease,box-shadow .12s ease;
}
.crew-profile-respect-pill__mark{color:#a47b2e;font-size:12px;line-height:1;}
.crew-profile-respect-pill>strong{font-size:12px;line-height:1;}
.crew-profile-respect-pill>small{font-size:6px;font-weight:1000;letter-spacing:.075em;color:#8b6c32;}
.crew-profile-respect-pill__cue{
  width:20px;height:20px;border-radius:50%;display:grid;place-items:center;
  margin-left:2px;background:#fff;color:#b44f7d;border:1px solid #e4c4d2;
  font-size:13px;font-weight:1000;line-height:1;
}
.crew-profile-respect-pill__cue[hidden]{display:none!important;}
.crew-profile-respect-pill.is-actionable{cursor:pointer;border-color:#dfbf91;box-shadow:0 3px 10px rgba(110,79,31,.07);}
.crew-profile-respect-pill.is-actionable:active{transform:scale(.96);background:#fff7e8;}
.crew-profile-respect-pill.is-sent .crew-profile-respect-pill__cue{background:#edf8f1;border-color:#c5dfce;color:#347b52;}
.crew-profile-respect-pill.is-sending .crew-profile-respect-pill__cue{background:#fff;color:#8b6c32;}
.crew-profile-respect-pill:focus-visible{outline:3px solid rgba(225,82,153,.18);outline-offset:2px;}
.crew-profile-respect-pill:disabled{cursor:default;}

.crew-profile-sheet__bio{display:none!important;}
.crew-social-profile--compact{
  display:block;
  margin-top:0;
  overflow:hidden;
  border:1px solid #e2d9d3;
  border-radius:15px;
  background:#fff;
  box-shadow:0 7px 20px rgba(31,19,30,.035);
}
.crew-social-profile--compact .crew-social-section{
  margin:0;
  padding:11px 13px;
  border:0;
  border-radius:0;
  background:transparent;
  gap:6px;
}
.crew-social-profile--compact .crew-social-section+ .crew-social-section{border-top:1px solid #eee6e1;}
.crew-social-profile--compact .crew-social-section>small{font-size:7px;letter-spacing:.105em;color:#8d8188;}
.crew-social-profile--compact .crew-social-section>strong{font-size:11px;line-height:1.42;color:#302831;}
.crew-social-profile--compact .crew-profile-specialties{gap:5px;}
.crew-social-profile--compact .character-summary-chip{padding:5px 7px;font-size:7px;background:#faf7f4;border-color:#e8dfda;}
.crew-social-profile--compact .crew-social-section--common{background:#fffaf0;}
.crew-social-profile--compact .crew-social-section--common>small{color:#8b6c32;}
.crew-social-profile--compact .crew-social-section--common .character-summary-chip{background:#fff;border-color:#e2cd9f;color:#745b27;}
.crew-social-profile--compact .crew-social-section--icebreaker{position:relative;padding-left:40px;background:#fff5fa;}
.crew-social-profile--compact .crew-social-section--icebreaker::before{
  content:'↗';position:absolute;left:13px;top:50%;transform:translateY(-50%);
  width:19px;height:19px;border-radius:7px;display:grid;place-items:center;
  background:#f5dce8;color:#a54f76;font-size:11px;font-weight:1000;
}
.crew-social-profile--compact .crew-social-section--icebreaker>small{color:#a54f76;}
.crew-social-profile--compact .crew-social-section--party strong{font-weight:950;}
.crew-social-profile--compact .crew-social-section--note{background:#fcfaf8;}
.crew-profile-sheet__metrics--live{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:9px;}
.crew-profile-sheet__metrics--live[hidden]{display:none!important;}
.crew-profile-sheet__metrics--live>div{padding:8px 9px;}
.crew-profile-message{min-height:0;margin:8px 2px 0;}
.crew-profile-message:empty{display:none;}

@media(max-width:380px){
  .crew-profile-sheet__hero{grid-template-columns:54px minmax(0,1fr);gap:10px;}
  .crew-profile-sheet__avatar{width:54px;height:54px;font-size:29px;}
  .crew-profile-sheet__title-row h2{font-size:20px;}
  .crew-profile-respect-pill{min-height:30px;padding-left:6px;gap:3px;}
  .crew-profile-respect-pill>small{display:none;}
  .crew-profile-sheet__connection{font-size:6.5px;}
}
@media(prefers-reduced-motion:reduce){
  .crew-profile-respect-pill{transition:none!important;}
}

/* v24.20 · Save confidence + authoritative social matching --------------------
   Editing on mobile happens inside the detail slide, so save/error feedback must
   live there as well as in the overview. Social matches now use only explicit
   guided-profile interests; legacy specialties never participate. */
.character-file__edit-message{
  min-height:18px;
  margin:12px 2px 0;
  padding:0;
  font-size:9px;
  font-weight:950;
  letter-spacing:.055em;
  text-align:center;
  color:var(--muted);
}
.character-file__edit-message:empty{display:none;}
.character-file__message[data-tone="success"],
.character-file__edit-message[data-tone="success"]{color:#2f7c50;}
.character-file__message[data-tone="error"],
.character-file__edit-message[data-tone="error"]{color:#b34262;}
.character-file__message[data-tone="saving"],
.character-file__edit-message[data-tone="saving"]{color:#8b6c32;}
.character-block-actions .btn[aria-busy="true"]{
  opacity:.78;
  cursor:progress;
  box-shadow:none;
}
.character-block-actions .btn:disabled{transform:none!important;}
.character-file{position:relative;}
.character-file__save-toast{
  position:absolute;
  z-index:12;
  top:72px;
  left:50%;
  max-width:calc(100% - 32px);
  transform:translate(-50%,-7px) scale(.98);
  opacity:0;
  pointer-events:none;
  padding:8px 12px;
  border:1px solid #cde0d4;
  border-radius:999px;
  background:rgba(244,252,247,.97);
  box-shadow:0 8px 24px rgba(31,84,53,.12);
  color:#2f7c50;
  font-size:8px;
  font-weight:1000;
  letter-spacing:.08em;
  white-space:nowrap;
  transition:opacity .16s ease,transform .16s ease;
}
.character-file__save-toast[hidden]{display:none!important;}
.character-file__save-toast.is-visible{opacity:1;transform:translate(-50%,0) scale(1);}
.character-file__save-toast[data-tone="saving"]{border-color:#eadfbd;background:rgba(255,250,240,.98);color:#8b6c32;}
.character-file__save-toast[data-tone="error"]{border-color:#ecc8d3;background:rgba(255,245,248,.98);color:#b34262;white-space:normal;text-align:center;}
.character-file__save-toast[data-tone="success"]{border-color:#cde0d4;background:rgba(244,252,247,.97);color:#2f7c50;}
@media(max-width:720px){.character-file__save-toast{top:58px;}}
@media(prefers-reduced-motion:reduce){.character-file__save-toast{transition:none!important;}}


/* v24.21 · Progressive social profile ---------------------------------------
   Empty dossiers explain what will appear without turning the profile into a form. */
.crew-social-empty{
  display:flex;align-items:flex-start;gap:10px;padding:13px 14px;border:1px dashed #ddd2cc;border-radius:13px;background:#fcfaf8;color:#766b71;
}
.crew-social-empty[hidden]{display:none!important;}
.crew-social-empty>span{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:50%;background:#f3ece8;color:#9a878f;font-size:13px;font-weight:950;}
.crew-social-empty>div{display:grid;gap:4px;min-width:0;}
.crew-social-empty small{font-size:7px;font-weight:1000;letter-spacing:.11em;color:#9a8d93;}
.crew-social-empty strong{font-size:10px;line-height:1.45;font-weight:800;color:#6b6066;}

/* v24.22 · Saved-first social profile ---------------------------------------
   Uses existing summary-chip and dossier primitives; behavior lives in crew.js. */


/* v24.23 · Classified social catalog ---------------------------------------
   One reusable mobile selector for interests and birthday archetypes. */
.social-profile-field--launcher{gap:9px;}
.social-selection-preview{display:flex;flex-wrap:wrap;gap:6px;min-height:24px;align-items:center;}
.social-catalog-launch{appearance:none;width:100%;min-height:51px;border:1px solid #ded4ce;border-radius:13px;background:#fbf8f6;padding:9px 11px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;color:var(--ink);font:inherit;}
.social-catalog-launch>span:first-child{display:grid;gap:2px;}
.social-catalog-launch small{font-size:7px;font-weight:1000;letter-spacing:.12em;color:#a25579;}
.social-catalog-launch b{font-size:10px;letter-spacing:.035em;}
.social-catalog-launch>span:last-child{font-size:21px;color:#ab9da4;line-height:1;}
.social-catalog-launch:active{transform:scale(.99);background:#fff5fa;}
.social-catalog-launch:focus-visible{outline:3px solid rgba(225,82,153,.16);outline-offset:2px;}

.social-catalog-saved{display:grid;gap:8px;margin-bottom:12px;padding:11px;border:1px solid #ead4df;border-radius:13px;background:#fff7fb;}
.social-catalog-saved[hidden]{display:none!important;}
.social-catalog-section-head{display:flex;justify-content:space-between;gap:10px;align-items:center;}
.social-catalog-section-head small{font-size:7px;font-weight:1000;letter-spacing:.11em;color:#9d4b72;}
.social-catalog-section-head span{font-size:6px;font-weight:950;letter-spacing:.08em;color:#a89ca2;}
.social-catalog-saved__options{display:grid;gap:7px;}
.social-catalog-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -14px 12px;padding:0 14px 2px;position:sticky;top:0;z-index:2;background:linear-gradient(#f7f3ef 78%,rgba(247,243,239,0));}
.social-catalog-tabs::-webkit-scrollbar{display:none;}
.social-catalog-tab{appearance:none;flex:0 0 auto;border:1px solid #e0d6d0;border-radius:999px;background:#fff;padding:8px 10px;color:#746970;font:inherit;font-size:7px;font-weight:1000;letter-spacing:.075em;white-space:nowrap;}
.social-catalog-tab.is-active{border-color:#ce7299;background:#fff1f7;color:#9c3f69;box-shadow:0 0 0 2px rgba(210,107,151,.08);}
.social-catalog-options{display:grid;gap:7px;}
.social-catalog-options--interests{grid-template-columns:repeat(2,minmax(0,1fr));}
.social-catalog-options--sentences{grid-template-columns:1fr;}
.social-catalog-option{appearance:none;min-width:0;border:1px solid #e1d8d2;border-radius:12px;background:#fff;padding:9px 10px;display:grid;grid-template-columns:24px minmax(0,1fr) 18px;gap:8px;align-items:center;text-align:left;color:var(--ink);font:inherit;}
.social-catalog-option__emoji{font-size:18px;line-height:1;text-align:center;}
.social-catalog-option__copy{min-width:0;display:grid;gap:2px;}
.social-catalog-option__copy b{font-size:8px;line-height:1.28;letter-spacing:.035em;overflow-wrap:anywhere;}
.social-catalog-option__copy small{font-size:6px;font-weight:1000;letter-spacing:.095em;color:#a25579;}
.social-catalog-option__check{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;border:1px solid #e2d7d1;color:transparent;font-size:9px;font-weight:1000;}
.social-catalog-option.is-selected{border-color:#d16e98;background:#fff2f7;box-shadow:0 0 0 2px rgba(209,110,152,.08);}
.social-catalog-option.is-selected .social-catalog-option__check{border-color:#cc6d96;background:#cc6d96;color:#fff;}
.social-catalog-option.is-saved-choice{background:#fff;border-color:#e4c6d4;}
.social-catalog-option--sentence{min-height:50px;}
.social-catalog-option--sentence .social-catalog-option__copy b{font-size:9px;}
.social-catalog-custom{display:grid;gap:6px;margin-top:14px;padding-top:13px;border-top:1px solid #e7ddd7;}
.social-catalog-custom[hidden]{display:none!important;}
.social-catalog-custom>span{font-size:8px;font-weight:1000;letter-spacing:.09em;color:#6f6269;}
.social-catalog-custom input{width:100%;min-height:42px;border:1px solid #ddd2cc;border-radius:11px;background:#fff;padding:10px 12px;font:inherit;color:var(--ink);outline:none;}
.social-catalog-custom input:focus{border-color:#c96a91;box-shadow:0 0 0 3px rgba(201,106,145,.10);}
.social-catalog-message{margin:0;color:#aa466f;font-size:8px;font-weight:900;line-height:1.35;}
.social-catalog-message[hidden]{display:none!important;}
.social-catalog-message--top{margin:0 0 10px;padding:8px 10px;border:1px solid #ead4df;border-radius:10px;background:#fff8fb;}
.social-catalog-message[data-tone="saving"]{color:#8b6c32;border-color:#eadfbd;background:#fffaf0;}
.social-catalog-message[data-tone="success"]{color:#2f7c50;border-color:#cde0d4;background:#f4fcf7;}
.social-catalog-message[data-tone="error"]{color:#b34262;border-color:#ecc8d3;background:#fff5f8;}
@media(max-width:720px){
  .social-catalog-tabs{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px;}
  }
@media(max-width:370px){.social-catalog-options--interests{grid-template-columns:1fr;}}
@media(prefers-reduced-motion:reduce){.social-catalog-launch,.social-catalog-option,.social-catalog-tab{transition:none!important;}}

/* v24.25 · Historical social-catalog copy primitives (sheet shell superseded in v24.27) */
.social-profile-editor__intro{
  margin:0;
  padding:10px 12px;
  border:1px solid #e3d9d3;
  border-radius:13px;
  background:#fbf8f6;
  color:#73676d;
  font-size:9px;
  line-height:1.45;
}
.social-catalog-custom--note small{
  font-size:6px;
  font-weight:900;
  letter-spacing:.08em;
  color:#aa9da3;
}

@media(max-width:720px){
  }

/* v24.27 · Social catalog as a native dossier sub-screen --------------------
   Reuses the character-file panel skeleton instead of opening a second modal. */
.character-file__catalog-panel{
  background:#f7f3ef;
}
.social-catalog-heading{
  margin-bottom:13px;
}
.social-catalog-heading__title-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:3px;
}
.social-catalog-heading__title-row h3{margin:0;}
.social-catalog-heading__title-row>strong{
  flex:0 0 auto;
  min-width:34px;
  padding:4px 7px;
  border:1px solid #e4d7dd;
  border-radius:999px;
  background:#fff8fb;
  color:#a25579;
  font-size:8px;
  font-weight:1000;
  text-align:center;
}
.social-catalog-content{
  display:grid;
  gap:0;
  min-width:0;
}
.social-catalog-actions{
  margin-top:16px;
}
.social-catalog-actions .btn[aria-busy="true"]{
  opacity:.78;
  cursor:wait;
}

@media(max-width:720px){
  /* The regular detail screen stays underneath; the catalog is one screen
     further to the right and enters with the same native slide language. */
  .character-file__stage.has-detail .character-file__catalog-panel{
    transform:translate3d(100%,0,0);
    pointer-events:none;
  }
  .character-file__stage.has-social-catalog #characterFileEditPanel{
    transform:translate3d(-16%,0,0);
    pointer-events:none;
  }
  .character-file__stage.has-social-catalog .character-file__catalog-panel{
    transform:translate3d(0,0,0);
    pointer-events:auto;
  }
  .character-file__catalog-panel{
    z-index:5;
    padding:12px 16px max(22px,env(safe-area-inset-bottom));
    border:0;
    border-radius:0;
    box-shadow:none;
    background:#f7f3ef;
  }
  .character-file__catalog-panel.is-swiping{
    transition:none!important;
  }
  .social-catalog-content{
    padding:0;
  }
  .social-catalog-saved{
    margin-bottom:12px;
  }
  .social-catalog-tabs{
    top:37px;
    margin-left:-16px;
    margin-right:-16px;
    padding-left:16px;
    padding-right:16px;
    background:linear-gradient(#f7f3ef 80%,rgba(247,243,239,0));
  }
  .social-catalog-message--top{margin-bottom:10px;}
}

@media(prefers-reduced-motion:reduce){
  #characterFileEditPanel,
  .character-file__catalog-panel{
    transition:none!important;
  }
}

/* v24.28 · Coordinated catalog return + opaque sticky category rail --------
   The parent social screen travels back in sync with the catalog, avoiding a
   second settling beat after the catalog leaves. Sticky navigation is fully
   opaque so option cards/copy never show through while scrolling. */
@media(max-width:720px){
  .character-file__catalog-panel .character-file__back{
    background:#f7f3ef;
    border-bottom:1px solid #e7ddd7;
    box-shadow:0 6px 12px rgba(58,39,50,.025);
  }
  .character-file__catalog-panel .social-catalog-tabs{
    top:37px;
    z-index:6;
    margin-top:0;
    padding-top:8px;
    padding-bottom:9px;
    background:#f7f3ef;
    border-bottom:1px solid #e7ddd7;
    box-shadow:0 8px 12px rgba(58,39,50,.035);
    isolation:isolate;
  }
  .character-file__catalog-panel .social-catalog-tabs::before{
    content:'';
    position:absolute;
    left:0;
    right:0;
    top:-8px;
    height:8px;
    background:#f7f3ef;
    pointer-events:none;
  }
}


/* v24.29 · Clandestine hub compact status + themed game metadata ----------- */
.clandestine-top-status{
  flex:none;
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  gap:7px;
  margin:8px 0 8px;
  min-width:0;
}
.clandestine-top-status .clandestine-active-player,
.clandestine-top-status .clandestine-championship-card{
  margin:0!important;
  min-width:0;
  min-height:48px;
  box-sizing:border-box;
}
.clandestine-top-status .clandestine-active-player{
  grid-template-columns:30px minmax(0,1fr)!important;
  gap:7px!important;
  padding:6px 8px!important;
}
.clandestine-top-status .clandestine-active-player__avatar{
  width:28px!important;
  height:28px!important;
  font-size:14px!important;
}
.clandestine-top-status .clandestine-active-player__copy small{
  font-size:5.7px!important;
  letter-spacing:.115em!important;
}
.clandestine-top-status .clandestine-active-player__copy strong{
  font-size:10px!important;
}
.clandestine-top-status .clandestine-championship-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:5px!important;
  padding:6px 7px 6px 9px!important;
}
.clandestine-top-status .clandestine-championship-copy{
  display:grid!important;
  align-content:center!important;
  gap:2px!important;
}
.clandestine-top-status .clandestine-championship-copy>span:first-child{
  font-size:6px!important;
  letter-spacing:.12em!important;
}
.clandestine-top-status .clandestine-championship-copy>strong{
  font-size:12px!important;
}
.clandestine-top-status .clandestine-championship-actions{
  gap:4px!important;
}
.clandestine-top-status .clandestine-general-ranking{
  min-height:32px!important;
  padding:0 8px!important;
  border-radius:9px!important;
  font-size:7px!important;
  letter-spacing:.055em!important;
}
.clandestine-top-status .clandestine-prize-info{
  width:30px!important;
  height:30px!important;
  border-radius:9px!important;
}

/* Do not let touch devices retain a faux hover/focus state on the back arrow. */
.clandestine-back-home{
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
.clandestine-back-home:focus:not(:focus-visible){
  outline:none!important;
  background:rgba(255,255,255,.045)!important;
  border-color:rgba(255,255,255,.10)!important;
  color:rgba(255,255,255,.72)!important;
  transform:none!important;
  box-shadow:none!important;
}
@media(hover:none){
  .clandestine-back-home:hover{
    background:rgba(255,255,255,.045)!important;
    border-color:rgba(255,255,255,.10)!important;
    color:rgba(255,255,255,.72)!important;
    transform:none!important;
    box-shadow:none!important;
  }
}
@media(hover:hover){
  .clandestine-back-home:hover{
    background:rgba(255,255,255,.075);
    border-color:rgba(255,255,255,.15);
    color:#fff;
  }
}

@media(max-width:380px){
  .clandestine-top-status{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:5px}
  .clandestine-top-status .clandestine-active-player{padding-inline:6px!important}
  .clandestine-top-status .clandestine-active-player__copy small{display:none!important}
  .clandestine-top-status .clandestine-general-ranking span{display:none}
  .clandestine-top-status .clandestine-general-ranking{width:31px!important;padding:0!important;font-size:12px!important}
}


/* v24.30 · Continuous opaque social-catalog sticky chrome ------------------
   Back navigation and category rail behave as one solid navigation surface.
   The rail sits directly beneath Back and its underlay masks every pixel of
   scrolling content between both sticky elements. */
@media(max-width:720px){
  .character-file__catalog-panel .character-file__back{
    min-height:36px;
    box-sizing:border-box;
    z-index:8;
    padding-top:9px;
    padding-bottom:9px;
    background:#f7f3ef;
    border-bottom:0;
    box-shadow:none;
  }
  .character-file__catalog-panel .social-catalog-tabs{
    top:24px;
    z-index:7;
    margin-top:0;
    padding-top:6px;
    padding-bottom:8px;
    background:#f7f3ef;
    border-top:1px solid #eee6e1;
    border-bottom:1px solid #e7ddd7;
    box-shadow:0 8px 12px rgba(58,39,50,.035);
    isolation:isolate;
  }
  .character-file__catalog-panel .social-catalog-tabs::before{
    content:'';
    position:absolute;
    z-index:-1;
    left:0;
    right:0;
    top:-24px;
    height:24px;
    background:#f7f3ef;
    pointer-events:none;
  }
}

/* v24.32 · Social catalog hierarchy + always-visible save feedback --------
   The persistent Mi expediente header already provides context. Catalog
   sub-screens show only their own title + count; save/error feedback uses the
   dossier-level toast so it remains visible regardless of catalog scroll. */
.social-catalog-heading{margin-bottom:10px;}
.social-catalog-heading__title-row h3{font-size:24px;letter-spacing:-.035em;}
@media(max-width:720px){
  .character-file__save-toast{z-index:20;top:56px;}
}

/* v24.32 · Clandestine hub single status rail + viewport recovery -----------
   One continuous surface: identity, General state, explicit classification
   action and info. The carousel itself is the navigation, so the redundant
   bottom pager is gone and the cards can use the recovered vertical space. */
.clandestine-top-status{
  display:grid!important;
  grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr)!important;
  align-items:stretch!important;
  gap:0!important;
  min-width:0;
  margin:7px 0 7px!important;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:13px!important;
  background:linear-gradient(105deg,rgba(255,255,255,.05),rgba(230,186,53,.035))!important;
  box-shadow:0 8px 22px rgba(0,0,0,.09)!important;
}
.clandestine-top-status .clandestine-active-player{
  display:grid!important;
  grid-template-columns:29px minmax(0,1fr)!important;
  align-items:center!important;
  gap:7px!important;
  min-width:0!important;
  min-height:48px!important;
  margin:0!important;
  padding:6px 8px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.clandestine-top-status .clandestine-active-player__avatar{width:28px!important;height:28px!important;font-size:14px!important}
.clandestine-top-status .clandestine-active-player__copy{min-width:0}
.clandestine-top-status .clandestine-active-player__copy small{font-size:5.7px!important;letter-spacing:.115em!important}
.clandestine-top-status .clandestine-active-player__copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px!important}
.clandestine-general-status{
  position:relative;
  display:grid!important;
  grid-template-columns:auto minmax(82px,1fr) 28px!important;
  align-items:center!important;
  gap:5px!important;
  min-width:0;
  padding:6px 6px 6px 10px!important;
  background:transparent!important;
}
.clandestine-general-status::before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:1px;background:rgba(255,255,255,.10)}
.clandestine-general-status .clandestine-championship-copy{display:grid!important;align-content:center!important;gap:1px!important;min-width:38px}
.clandestine-general-status .clandestine-championship-copy>span:first-child{font-size:5.8px!important;line-height:1!important;letter-spacing:.12em!important;color:rgba(255,255,255,.46)!important}
.clandestine-general-status .clandestine-championship-copy>strong{font-size:11px!important;line-height:1.05!important;color:#f0cf72!important}
.clandestine-general-ranking{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  min-width:0!important;
  min-height:30px!important;
  height:30px!important;
  padding:0 7px!important;
  border:0!important;
  border-left:1px solid rgba(255,255,255,.08)!important;
  border-right:1px solid rgba(255,255,255,.08)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#f3d67f!important;
  -webkit-tap-highlight-color:transparent;
}
.clandestine-general-ranking span{font-size:12px;line-height:1}
.clandestine-general-ranking b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:6.2px;line-height:1;letter-spacing:.07em;color:#f3e3b1}
.clandestine-general-ranking:active{background:rgba(255,255,255,.045)!important;color:#fff1ba!important;transform:none!important}
.clandestine-prize-info{
  width:28px!important;height:30px!important;min-width:28px!important;padding:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
  color:rgba(255,255,255,.48)!important;-webkit-tap-highlight-color:transparent;
}
.clandestine-prize-info:active{background:rgba(255,255,255,.045)!important;color:#fff!important;transform:none!important}
.clandestine-shell--playfirst{padding-bottom:max(4px,env(safe-area-inset-bottom))!important}
.clandestine-shell--playfirst .clandestine-games{padding-bottom:0!important;margin-bottom:0!important}
.clandestine-shell--playfirst #clandestineMessage{margin-top:2px!important;min-height:0!important}
@media(max-width:380px){
  .clandestine-top-status{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)!important}
  .clandestine-top-status .clandestine-active-player{grid-template-columns:27px minmax(0,1fr)!important;padding-inline:6px!important}
  .clandestine-top-status .clandestine-active-player__avatar{width:26px!important;height:26px!important}
  .clandestine-top-status .clandestine-active-player__copy small{display:none!important}
  .clandestine-general-status{grid-template-columns:auto minmax(70px,1fr) 26px!important;padding-left:7px!important;padding-right:4px!important;gap:3px!important}
  .clandestine-general-ranking{padding-inline:5px!important}
  .clandestine-general-ranking b{font-size:5.8px!important;letter-spacing:.045em!important}
  .clandestine-prize-info{width:26px!important;min-width:26px!important}
}

/* v24.32 · Hub sheets close as one visual unit ------------------------------
   The card and its blurred backdrop enter/leave together. The owner only hides
   the DOM after both transitions have completed, avoiding the blur disappearing
   a beat before INFO / RANKING. */
.arcade-hub-sheet__backdrop{
  opacity:0;
  transition:opacity .22s ease,backdrop-filter .22s ease!important;
}
.arcade-hub-sheet__panel{
  opacity:0;
  transform:translate3d(0,22px,0);
  transition:transform .22s cubic-bezier(.2,.76,.25,1),opacity .18s ease!important;
  will-change:transform,opacity;
}
.arcade-hub-sheet.is-open .arcade-hub-sheet__backdrop{opacity:1}
.arcade-hub-sheet.is-open .arcade-hub-sheet__panel{opacity:1;transform:translate3d(0,0,0)}
@media(max-width:720px){
  .arcade-hub-sheet__panel{transform:translate3d(0,100%,0)}
  .arcade-hub-sheet.is-open .arcade-hub-sheet__panel{transform:translate3d(0,0,0)}
  .arcade-hub-sheet__body{padding-bottom:max(10px,env(safe-area-inset-bottom))!important}
}
@media(prefers-reduced-motion:reduce){
  .arcade-hub-sheet__backdrop,.arcade-hub-sheet__panel{transition:none!important}
}



/* v24.35 · Clandestinas status rail + dynamic browser viewport ----------------
   Restore the pre-v24.33 dynamic viewport behavior. The status is one continuous
   surface: player name on the left; info, General and current rank/progress on
   the right, with no internal divider or nested pill backgrounds. */
@media(max-width:720px){
  .character-file__save-toast.is-catalog-context{
    top:auto!important;
    bottom:max(74px,calc(env(safe-area-inset-bottom) + 58px))!important;
    max-width:calc(100% - 30px)!important;
    z-index:28!important;
  }
}

.clandestine-top-status{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  min-height:48px!important;
  padding:7px 9px 7px 12px!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.032)!important;
  box-shadow:0 8px 22px rgba(0,0,0,.09)!important;
}
.clandestine-top-status .clandestine-active-player{
  display:flex!important;
  align-items:center!important;
  flex:1 1 auto!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.clandestine-top-status .clandestine-active-player__avatar,
.clandestine-top-status .clandestine-active-player__copy{display:none!important}
.clandestine-top-status #clandestineActivePlayerName{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#fff7ea!important;
  font-size:11px!important;
  font-weight:950!important;
  letter-spacing:.045em!important;
}
.clandestine-status-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex:0 0 auto!important;
  gap:8px!important;
  margin-left:auto!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.clandestine-status-actions .clandestine-prize-info,
.clandestine-status-actions .clandestine-general-ranking{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:32px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.clandestine-status-actions .clandestine-prize-info{
  width:26px!important;
  min-width:26px!important;
  color:rgba(255,255,255,.64)!important;
  font-size:14px!important;
}
.clandestine-status-actions .clandestine-general-ranking{
  width:auto!important;
  min-width:0!important;
}
.clandestine-status-actions .clandestine-general-ranking b{
  color:#f3e3b1!important;
  font-size:6.6px!important;
  font-weight:950!important;
  line-height:1!important;
  letter-spacing:.08em!important;
  white-space:nowrap!important;
}
.clandestine-general-position{
  color:#f0cf72!important;
  font-size:10px!important;
  font-weight:1000!important;
  line-height:1!important;
  letter-spacing:.015em!important;
  white-space:nowrap!important;
}
@media(max-width:380px){
  .clandestine-top-status{gap:8px!important;padding-inline:10px 7px!important}
  .clandestine-status-actions{gap:6px!important}
  .clandestine-status-actions .clandestine-prize-info{width:23px!important;min-width:23px!important}
  .clandestine-status-actions .clandestine-general-ranking b{font-size:5.9px!important}
  .clandestine-general-position{font-size:9px!important}
}


/* v24.36 · Clandestinas identity rail + focus hygiene ----------------------
   One continuous surface. Identity is visually primary; info, General and
   current placement remain readable actions/data without nested bubbles. */
.clandestine-top-status{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  min-height:54px!important;
  gap:10px!important;
  padding:7px 10px!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.105)!important;
  border-radius:15px!important;
  background:
    radial-gradient(circle at 8% 20%,rgba(236,82,167,.09),transparent 35%),
    linear-gradient(115deg,rgba(255,255,255,.055),rgba(255,255,255,.025))!important;
  box-shadow:0 10px 28px rgba(0,0,0,.12)!important;
}
.clandestine-top-status::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(105deg,transparent 0 56%,rgba(240,207,114,.035) 78%,transparent 100%);
}
.clandestine-top-status .clandestine-active-player{
  position:relative;
  z-index:1;
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr)!important;
  align-items:center!important;
  gap:8px!important;
  flex:1 1 auto!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.clandestine-top-status .clandestine-active-player__avatar{
  display:grid!important;
  place-items:center!important;
  width:34px!important;
  height:34px!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:11px!important;
  background:linear-gradient(145deg,rgba(236,82,167,.18),rgba(240,207,114,.10))!important;
  color:#fff7ea!important;
  font-size:17px!important;
  box-shadow:0 5px 14px rgba(0,0,0,.14)!important;
}
.clandestine-top-status .clandestine-active-player__avatar img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.clandestine-top-status .clandestine-active-player__copy{
  display:block!important;
  min-width:0!important;
}
.clandestine-top-status .clandestine-active-player__copy small{
  display:block!important;
  margin-bottom:2px!important;
  color:rgba(255,255,255,.40)!important;
  font-size:5.8px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.14em!important;
}
.clandestine-top-status #clandestineActivePlayerName{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#fff7ea!important;
  font-size:11px!important;
  font-weight:1000!important;
  line-height:1.05!important;
  letter-spacing:.035em!important;
}
.clandestine-status-actions{
  position:relative;
  z-index:1;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex:0 0 auto!important;
  gap:7px!important;
  margin-left:auto!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.clandestine-status-actions .clandestine-prize-info,
.clandestine-status-actions .clandestine-general-ranking{
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  -webkit-tap-highlight-color:transparent!important;
}
.clandestine-status-actions .clandestine-prize-info{
  display:grid!important;
  place-items:center!important;
  width:25px!important;
  min-width:25px!important;
  height:32px!important;
  padding:0!important;
  color:rgba(255,255,255,.62)!important;
  font-size:14px!important;
  line-height:1!important;
}
.clandestine-status-actions .clandestine-general-ranking{
  display:grid!important;
  align-content:center!important;
  justify-items:start!important;
  gap:2px!important;
  min-width:58px!important;
  min-height:32px!important;
  padding:0 1px!important;
  text-align:left!important;
}
.clandestine-status-actions .clandestine-general-ranking small{
  display:block!important;
  color:rgba(255,255,255,.38)!important;
  font-size:5.2px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.12em!important;
}
.clandestine-status-actions .clandestine-general-ranking b{
  display:block!important;
  color:#f4e4b4!important;
  font-size:6.4px!important;
  font-weight:1000!important;
  line-height:1!important;
  letter-spacing:.065em!important;
  white-space:nowrap!important;
}
.clandestine-general-position{
  min-width:27px!important;
  color:#f0cf72!important;
  font-size:11px!important;
  font-weight:1000!important;
  line-height:1!important;
  letter-spacing:-.01em!important;
  text-align:right!important;
  white-space:nowrap!important;
}
.clandestine-status-actions button:focus,
.clandestine-status-actions button:focus-visible,
.clandestine-status-actions button:active{
  outline:none!important;
  box-shadow:none!important;
}
.clandestine-status-actions button:active{opacity:.72}

/* Clandestinas is a mobile-only surface: focus is managed on the dialog itself
   so browser focus restoration never paints a blue/purple rectangle around the
   carousel or the back action after returning from a game. */
.clandestine-dialog:focus,
.clandestine-dialog:focus-visible,
#clandestineGames:focus,
#clandestineGames:focus-visible{
  outline:none!important;
  box-shadow:none!important;
}
.clandestine-back-home,
.clandestine-back-home:hover,
.clandestine-back-home:focus,
.clandestine-back-home:focus-visible,
.clandestine-back-home:active{
  outline:none!important;
  box-shadow:none!important;
  -webkit-tap-highlight-color:transparent!important;
}
@media(hover:none){
  .clandestine-back-home:hover,
  .clandestine-back-home:focus,
  .clandestine-back-home:focus-visible{
    background:rgba(255,255,255,.045)!important;
    border-color:rgba(255,255,255,.10)!important;
    color:rgba(255,255,255,.72)!important;
    transform:none!important;
  }
}
@media(max-width:380px){
  .clandestine-top-status{gap:7px!important;padding:6px 8px!important}
  .clandestine-top-status .clandestine-active-player{grid-template-columns:31px minmax(0,1fr)!important;gap:6px!important}
  .clandestine-top-status .clandestine-active-player__avatar{width:31px!important;height:31px!important;border-radius:10px!important}
  .clandestine-status-actions{gap:5px!important}
  .clandestine-status-actions .clandestine-prize-info{width:22px!important;min-width:22px!important}
  .clandestine-status-actions .clandestine-general-ranking{min-width:52px!important}
  .clandestine-status-actions .clandestine-general-ranking b{font-size:5.7px!important}
  .clandestine-general-position{min-width:24px!important;font-size:10px!important}
}

/* v24.39 · Mi expediente: internal visual contract --------------------------
   Keep the current dossier design, but make every block use the same visual
   grammar for summary badges, field chrome and secondary actions. */
.character-file{
  --dossier-chip-height:27px;
  --dossier-chip-pad-x:9px;
  --dossier-field-height:44px;
  --dossier-field-radius:11px;
  --dossier-field-border:#ded3ce;
  --dossier-placeholder:#a0969c;
}
.character-file .character-summary-chip{
  display:inline-flex;
  align-items:center;
  min-height:var(--dossier-chip-height);
  padding:5px var(--dossier-chip-pad-x);
  line-height:1.2;
  box-sizing:border-box;
}
.character-file .character-file-block__summary{
  align-items:center;
  row-gap:6px;
}
.character-file :is(input[type="text"],input[type="search"],input[type="password"],input:not([type])){
  min-height:var(--dossier-field-height);
  border-radius:var(--dossier-field-radius);
}
.character-file .social-custom-field input{
  min-height:var(--dossier-field-height);
  border-color:var(--dossier-field-border);
  border-radius:var(--dossier-field-radius);
}
.character-file .character-photo-card__actions .btn,
.character-file .character-photo-card__actions .text-button{
  font-weight:950;
  letter-spacing:.045em;
}
.character-file .social-selection-preview .character-summary-chip{
  min-height:var(--dossier-chip-height);
}

/* v24.40 · Shared card navigation affordance ---------------------------------
   One visual language for actionable cards that open/navigate to another view.
   Semantic controls keep their own symbols: back, expand/collapse, lock, game UI. */
:root{
  --card-nav-size:28px;
  --card-nav-chevron-size:7px;
  --card-nav-chevron-stroke:2px;
}
.card-nav-affordance{
  --card-nav-bg:#f3eeea;
  --card-nav-border:#e2d8d2;
  --card-nav-color:#7c7177;
  box-sizing:border-box;
  width:var(--card-nav-size)!important;
  height:var(--card-nav-size)!important;
  min-width:var(--card-nav-size);
  min-height:var(--card-nav-size);
  flex:0 0 var(--card-nav-size)!important;
  border:1px solid var(--card-nav-border)!important;
  border-radius:999px!important;
  background:var(--card-nav-bg)!important;
  color:var(--card-nav-color)!important;
  display:grid!important;
  place-items:center!important;
  line-height:1!important;
  box-shadow:none!important;
  transition:transform 160ms cubic-bezier(.2,.82,.2,1),background-color 160ms ease,border-color 160ms ease,color 160ms ease!important;
}
.card-nav-affordance--dark{
  --card-nav-bg:rgba(255,240,231,.055);
  --card-nav-border:rgba(255,220,205,.14);
  --card-nav-color:#ffd8c8;
}
.card-nav-affordance--chevron{
  font-size:0!important;
}
.card-nav-affordance--chevron::after,
.card-nav-glyph::after{
  content:"";
  display:block;
  box-sizing:border-box;
  width:var(--card-nav-chevron-size);
  height:var(--card-nav-chevron-size);
  border-top:var(--card-nav-chevron-stroke) solid currentColor;
  border-right:var(--card-nav-chevron-stroke) solid currentColor;
  transform:translateX(-1px) rotate(45deg);
}
.card-nav-glyph{
  display:grid!important;
  place-items:center!important;
  width:12px;
  height:12px;
  color:inherit;
  font-size:0!important;
  line-height:1;
  transition:transform 160ms cubic-bezier(.2,.82,.2,1)!important;
}

/* The same navigation cue is reused, while each surface keeps its palette. */
.hud__profile-file:hover .card-nav-affordance--chevron,
.crew-member-card:hover .card-nav-affordance--chevron,
.identity-row:hover .card-nav-affordance--chevron,
button.crew-competition-spotlight:hover .card-nav-affordance--chevron,
.social-catalog-launch:hover .card-nav-affordance--chevron{
  transform:translateX(2px);
}
.social-catalog-launch .card-nav-affordance{
  --card-nav-bg:#f4eeeb;
  --card-nav-border:#e2d7d2;
  --card-nav-color:#8a7d84;
}
.identity-row .card-nav-affordance,
.crew-member-card .card-nav-affordance,
.crew-competition-spotlight .card-nav-affordance,
.hud__profile-file .card-nav-affordance,
.crew-access__state.card-nav-affordance{
  --card-nav-bg:#f3eeea;
  --card-nav-border:#e2d8d2;
  --card-nav-color:#7c7177;
}
.identity-row:hover .card-nav-affordance{
  --card-nav-border:#e4bfd1;
  --card-nav-color:var(--pink);
}

/* Dark invitation cards share the same geometry, not a separate arrow style. */
.operation-heist__directive-chevron.card-nav-affordance,
.operation-clandestine-access__arrow.card-nav-affordance,
.operation-social__state.card-nav-affordance{
  --card-nav-bg:rgba(255,240,231,.055);
  --card-nav-border:rgba(255,220,205,.14);
  --card-nav-color:#ffd8c8;
}
.operation-heist__directive:not(:disabled):hover .card-nav-affordance,
.operation-clandestine-access:hover .card-nav-affordance,
.operation-social:hover:not(:disabled) .card-nav-affordance{
  --card-nav-bg:rgba(255,240,231,.085);
  --card-nav-border:rgba(255,220,205,.20);
}

@media(max-width:620px){
  :root{--card-nav-size:26px;--card-nav-chevron-size:6.5px;--card-nav-chevron-stroke:1.8px;}
  .crew-access__state.card-nav-affordance,
  .party-operation-card__crew .crew-access__state.card-nav-affordance,
  .operation-social__state.card-nav-affordance{
    width:var(--card-nav-size)!important;
    height:var(--card-nav-size)!important;
    min-width:var(--card-nav-size)!important;
    min-height:var(--card-nav-size)!important;
    flex-basis:var(--card-nav-size)!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .card-nav-affordance,.card-nav-glyph{transition:none!important;}
}
.account-recover-card__action{flex:none;display:flex;align-items:center;gap:8px;color:#7b305c;white-space:nowrap;}
.account-recover-card__action strong{color:inherit;}
.account-recover-card__action .card-nav-affordance{--card-nav-bg:#f5eaef;--card-nav-border:#e4ced9;--card-nav-color:#8a3f69;}
.account-recover-card:hover .card-nav-affordance--chevron{transform:translateX(2px);}
@media(max-width:720px){
  .account-recover-card__action{width:100%;justify-content:space-between;white-space:normal;}
}

/* v24.41 · Social catalog persistent save dock -----------------------------
   Catalog content owns its scroll region while save/cancel remain reachable
   at all times. This avoids forcing a full scroll just to persist a choice. */
@media(max-width:720px){
  .character-file__catalog-panel{
    display:flex;
    flex-direction:column;
    overflow:hidden;
    padding:0;
  }
  .character-file__catalog-panel .character-file__back{
    position:relative;
    top:auto;
    flex:0 0 auto;
    z-index:8;
    min-height:38px;
    padding:10px 16px 9px;
    background:#f7f3ef;
    border-bottom:1px solid #e7ddd7;
    box-shadow:none;
  }
  .social-catalog-scroll-region{
    flex:1 1 auto;
    min-height:0;
    overflow:auto;
    padding:10px 16px 18px;
    overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
    background:#f7f3ef;
  }
  .character-file__catalog-panel .social-catalog-tabs{
    top:0;
    z-index:7;
    margin-left:-16px;
    margin-right:-16px;
    padding-left:16px;
    padding-right:16px;
    padding-top:7px;
    padding-bottom:9px;
    background:#f7f3ef;
    border-top:0;
    border-bottom:1px solid #e7ddd7;
    box-shadow:0 8px 12px rgba(58,39,50,.035);
  }
  .character-file__catalog-panel .social-catalog-tabs::before{display:none;}
  .social-catalog-actions{
    position:relative;
    z-index:9;
    flex:0 0 auto;
    margin:0;
    padding:10px 16px max(10px,env(safe-area-inset-bottom));
    background:rgba(247,243,239,.98);
    border-top:1px solid #e1d8d2;
    box-shadow:0 -10px 22px rgba(58,39,50,.055);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
  }
  .social-catalog-actions .btn{min-height:42px;}
  .social-catalog-actions .text-button{min-height:42px;padding-inline:4px;}
}

/* v24.42 · Social catalog compact topic rhythm -----------------------------
   Topic cards inside one active category should read as one compact group. */
@media(max-width:720px){
  .social-catalog-scroll-region{
    padding-bottom:10px;
  }
  .social-catalog-options{
    gap:4px;
  }
  .social-catalog-options--sentences{
    gap:5px;
  }
  .social-catalog-options + .social-catalog-custom{
    margin-top:10px;
    padding-top:10px;
  }
  .social-catalog-scroll-region > :last-child{
    margin-bottom:0;
  }
}

/* v24.43 · Social catalog seamless sticky chrome ---------------------------
   The scroll viewport starts flush below Back. Vertical breathing room belongs
   to the heading itself, not to the scroll container, so when the category rail
   becomes sticky there is no transparent seam for option cards to show through.
   The category rail stays fully opaque and reads as one surface with Back. */
@media(max-width:720px){
  .social-catalog-scroll-region{
    padding:0 16px 10px;
    background:#f7f3ef;
  }
  .social-catalog-heading{
    padding-top:10px;
  }
  .character-file__catalog-panel .social-catalog-tabs{
    top:0;
    margin-top:0;
    padding-top:7px;
    padding-bottom:9px;
    background:#f7f3ef;
    background-image:none;
    border-top:0;
    border-bottom:1px solid #e7ddd7;
    box-shadow:0 8px 12px rgba(58,39,50,.035);
    isolation:isolate;
  }
  .character-file__catalog-panel .social-catalog-tabs::before{
    display:none;
  }
}

/* v24.44 · Social catalog non-overlapping sticky rail ----------------------
   Keep the seam fix from v24.43 without painting upward over legitimate
   content. The rail itself is the opaque mask once it reaches the scrollport
   edge; no negative shadow/underlay may cover the heading, count, feedback or
   saved-profile block while those elements are still above the rail. */
@media(max-width:720px){
  .character-file__catalog-panel .social-catalog-tabs{
    top:0;
    background:#f7f3ef;
    background-image:none;
    box-shadow:0 8px 12px rgba(58,39,50,.035);
  }
}

/* v24.46 · Operation card icon semantics --------------------------------------
   Keep the left visual anchor that aligns El Golpe, Operaciones Clandestinas and
   La Banda, but replace decorative glyphs with meaningful, shared line icons.
   A completed/non-actionable GPS directive must not advertise navigation. */
.operation-section-icon{
  width:21px;
  height:21px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.operation-section-icon__dot{
  fill:currentColor;
  stroke:none;
}
.operation-heist__mark::before,
.operation-heist__mark::after,
.operation-heist__mark>i{
  display:none!important;
}
.operation-heist__mark{
  color:#f7a5ca;
}
.operation-heist__mark .operation-section-icon{
  width:22px;
  height:22px;
}
.operation-clandestine-access__icon{
  color:#f5a5c9;
  font-size:0!important;
}
.operation-clandestine-access__icon .operation-section-icon{
  width:20px;
  height:20px;
}
.operation-heist__directive:disabled{
  grid-template-columns:minmax(0,1fr)!important;
  cursor:default;
}
.operation-heist__directive:disabled .operation-heist__directive-chevron.card-nav-affordance{
  display:none!important;
}
@media(max-width:620px){
  .operation-heist__mark .operation-section-icon{width:20px;height:20px;}
  .operation-clandestine-access__icon .operation-section-icon{width:18px;height:18px;}
}


/* v24.48 · Five-way curated icebreakers + integrated refresh action ---------
   Curated shared-interest libraries now expose five variants. The refresh action
   is a quiet labelled ghost control: readable without looking like a generic
   utility icon, large enough to tap, and still secondary to the prompts. */
.crew-social-profile--compact .crew-social-section--icebreaker::before{
  top:11px;
  transform:none;
}
.crew-icebreaker-head{
  min-height:28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:1px;
}
.crew-icebreaker-head>small{
  color:#a54f76;
  font-size:var(--type-meta,8.5px);
  line-height:1.2;
  font-weight:1000;
  letter-spacing:.105em;
}
.crew-icebreaker-list{
  display:grid;
  gap:9px;
}
.crew-icebreaker-item{
  display:grid;
  gap:3px;
}
.crew-icebreaker-item+.crew-icebreaker-item{
  padding-top:8px;
  border-top:1px solid rgba(165,79,118,.12);
}
.crew-icebreaker-item__topic{
  display:block;
  color:#9b5775;
  font-size:var(--type-meta,8.5px);
  line-height:1.25;
  font-weight:1000;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.crew-icebreaker-item>strong{
  color:#302831;
  font-size:11px;
  line-height:1.42;
  font-weight:850;
}
.crew-icebreaker-refresh{
  appearance:none;
  flex:0 0 auto;
  min-width:58px;
  height:28px;
  border:1px solid rgba(165,79,118,.12);
  border-radius:999px;
  background:rgba(255,255,255,.34);
  color:#985270;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:0 8px 0 7px;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  font:inherit;
  transition:background .15s ease,border-color .15s ease,color .15s ease,transform .12s ease;
}
.crew-icebreaker-refresh[hidden]{display:none!important;}
.crew-icebreaker-refresh svg{
  width:12px;
  height:12px;
  flex:0 0 12px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  transform-origin:50% 50%;
}
.crew-icebreaker-refresh span{
  font-size:8px;
  line-height:1;
  font-weight:1000;
  letter-spacing:.09em;
}
.crew-icebreaker-refresh:active{
  transform:scale(.97);
  background:rgba(255,255,255,.82);
  border-color:rgba(165,79,118,.22);
  color:#83425f;
}
.crew-icebreaker-refresh:focus-visible{
  outline:3px solid rgba(165,79,118,.16);
  outline-offset:2px;
}
.crew-icebreaker-refresh.is-refreshing svg{animation:crew-icebreaker-refresh-spin .3s cubic-bezier(.2,.75,.35,1);}
@keyframes crew-icebreaker-refresh-spin{to{transform:rotate(180deg);}}
@media(prefers-reduced-motion:reduce){
  .crew-icebreaker-refresh{transition:none!important;}
  .crew-icebreaker-refresh.is-refreshing svg{animation:none!important;}
}
}


/* v24.52 · Clandestinas copy hierarchy ------------------------------------
   The thematic category lives only in the cover kicker. Keep it in the same
   game accent as the 30 mark so removing the duplicated metadata below does
   not weaken scanability. */
.clandestine-shell--playfirst .clandestine-game .clandestine-cover>span{
  color:var(--cover-accent)!important;
  text-shadow:0 0 16px color-mix(in srgb,var(--cover-accent) 24%,transparent),0 2px 12px rgba(0,0,0,.42)!important;
}


/* v24.53 · Clandestine card information contract --------------------------
   Hub cards are launch surfaces, not mini dashboards: cover -> one-line brief
   -> personal best -> play -> ranking/info. Competitive position belongs only
   in RANKING; rival/target/reference blocks do not belong in the card. */
.clandestine-game-copy--playfirst{
  padding:15px 16px 14px!important;
  gap:10px!important;
}
.clandestine-game-copy--playfirst h3{
  margin:0!important;
  color:rgba(255,255,255,.9)!important;
}
.clandestine-game-copy--playfirst .clandestine-record{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:baseline!important;
  gap:12px!important;
  margin:1px 0 0!important;
  padding:9px 0 10px!important;
  border-radius:0!important;
  border-top:1px solid rgba(255,255,255,.075)!important;
  border-bottom:1px solid rgba(255,255,255,.075)!important;
  background:transparent!important;
}
.clandestine-game-copy--playfirst .clandestine-record small{
  color:rgba(255,255,255,.42)!important;
  font-size:7px!important;
  font-weight:950!important;
  letter-spacing:.13em!important;
}
.clandestine-game-copy--playfirst .clandestine-record strong{
  color:#fff!important;
  font-size:12px!important;
  font-weight:950!important;
  text-align:right!important;
}
.clandestine-game-copy--playfirst .clandestine-play{margin-top:0!important}

/* Explicit per-operation accents. Do not rely on inherited cover defaults:
   the operation/category kicker and the 30 mark always share the game color. */
.clandestine-game--infiltration .clandestine-cover>span,
.clandestine-game--infiltration .clandestine-cover>strong>b{color:#56b8ff!important}
.clandestine-game--blind .clandestine-cover>span,
.clandestine-game--blind .clandestine-cover>strong>b{color:#ffd84a!important}
.clandestine-game--safe .clandestine-cover>span,
.clandestine-game--safe .clandestine-cover>strong>b{color:#5ddc6e!important}
.clandestine-game--fuga .clandestine-cover>span,
.clandestine-game--fuga .clandestine-cover>strong>b{color:#ff5959!important}

/* v24.54 · Clandestine cards: content-sized rail + compact game position ----
   Cards share one intrinsic geometry instead of stretching to fill the modal.
   Personal rank is useful context beside the best mark, while competitive
   detail remains in RANKING. */
.clandestine-shell--playfirst .clandestine-games{
  flex:0 0 auto!important;
  min-height:0!important;
  align-items:flex-start!important;
}
.clandestine-shell--playfirst .clandestine-game{
  height:auto!important;
  max-height:none!important;
  align-self:flex-start!important;
  grid-template-rows:216px auto!important;
}
.clandestine-shell--playfirst .clandestine-cover{
  height:216px!important;
  min-height:216px!important;
}
.clandestine-game-copy--playfirst h3{
  min-height:39px!important;
  display:flex!important;
  align-items:flex-start!important;
}
.clandestine-game-copy--playfirst .clandestine-record{
  min-height:42px!important;
}
.clandestine-record__value{
  min-width:0;
  display:flex;
  align-items:baseline;
  justify-content:flex-end;
  gap:8px;
  white-space:nowrap;
}
.clandestine-game-copy--playfirst .clandestine-record__value strong{
  min-width:0;
}
.clandestine-game-copy--playfirst .clandestine-record__value em{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:27px;
  min-height:20px;
  padding:0 6px;
  box-sizing:border-box;
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  background:rgba(255,255,255,.055);
  color:rgba(255,255,255,.58);
  font-size:9px;
  font-style:normal;
  font-weight:950;
  line-height:1;
  letter-spacing:.02em;
  font-variant-numeric:tabular-nums;
}
@media(max-height:690px){
  .clandestine-shell--playfirst .clandestine-game{
    grid-template-rows:172px auto!important;
  }
  .clandestine-shell--playfirst .clandestine-cover{
    height:172px!important;
    min-height:172px!important;
  }
  .clandestine-game-copy--playfirst h3{min-height:35px!important;}
}


/* v24.55 · Clandestine adaptive vertical balance ---------------------------
   The rail owns the remaining hub height, while cards keep their intrinsic
   equal geometry. Center cards inside that free space instead of stretching
   them, with slightly more breathing room below. 100dvh + shell safe-area
   padding make this react naturally to mobile browser chrome / Home Screen. */
.clandestine-shell--playfirst .clandestine-games{
  flex:1 1 auto!important;
  min-height:0!important;
  align-items:center!important;
  box-sizing:border-box!important;
  padding-top:clamp(7px,1.25dvh,13px)!important;
  padding-bottom:clamp(15px,2.35dvh,24px)!important;
}
.clandestine-shell--playfirst .clandestine-game{
  align-self:center!important;
}
@media(max-height:690px){
  .clandestine-shell--playfirst .clandestine-games{
    padding-top:4px!important;
    padding-bottom:8px!important;
  }
}

/* v24.64 · El Golpe mirrors the learned Operación 30 / invitation skeleton. */
.party-mode{padding:10px 0 36px;background:transparent;color:var(--ink)}
.party-mode__shell{width:calc(100% - 24px);max-width:1060px;margin:0 auto;display:grid;gap:18px}
.party-mode__hero.party-mode__hero--heist{position:relative;min-height:230px;padding:22px 20px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);overflow:hidden;background:linear-gradient(135deg,#17151d 0%,#37213f 65%,#853457 100%);color:#fff;box-shadow:none}
.party-mode__hero--heist .hero__content{width:min(100%,760px);max-width:760px;margin:auto;text-align:center}
/* Exact brand typography parity with the invitation cover. */
.party-mode__hero--heist h1{font-size:clamp(58px,10vw,104px);line-height:.78;letter-spacing:-.075em;margin:0;font-weight:1000;text-shadow:6px 6px 0 rgba(0,0,0,.20);color:#fff}
.party-mode__hero--heist h1 span{white-space:nowrap;color:inherit}
.party-mode__hero--heist .vice{display:inline-flex;align-items:baseline;justify-content:flex-start;gap:.16em;margin-top:8px;max-width:100%;width:max-content;transform:rotate(-3deg);transform-origin:left center;text-shadow:2px 2px 0 #111,0 0 12px rgba(255,83,174,.15)}
.party-mode__hero--heist .vice__gta{font-size:clamp(33px,5.4vw,54px)}
.party-mode__hero--heist .vice__birthday{font-size:clamp(31px,5.7vw,53px)}
.party-hero-live{position:absolute;z-index:4;top:14px;right:14px;display:inline-flex;align-items:center;gap:7px;margin:0;padding:6px 9px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(12,10,16,.38);backdrop-filter:blur(6px);font-size:9px;font-weight:1000;letter-spacing:.12em;color:#ffd1e8}
.party-hero-live i{width:6px;height:6px;border-radius:50%;background:#ff6fad;box-shadow:0 0 0 4px rgba(255,111,173,.12);animation:partyLiveDot 1.6s ease-in-out infinite}
@keyframes partyLiveDot{50%{box-shadow:0 0 0 7px rgba(255,111,173,.02);opacity:.72}}

#partyDashboard{display:grid;gap:18px}
#partyDashboard[hidden]{display:none!important}
.party-operation-card--parity{padding:0;overflow:hidden;background:#fff}
.party-operation-card--parity>.operation-card__header{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:18px 15px 15px;background:linear-gradient(145deg,#fffdfa,#fff7fb)}
.party-operation-card--parity .operation-card__title{padding:0 2px}
.party-operation-card--parity .operation-card__kicker{font-size:10px}
.party-operation-card--parity .operation-card__title h2{margin-top:5px;font-size:clamp(27px,8vw,36px)}

.party-heist-overview.heist-gateway{order:3;grid-column:1/-1;width:100%;display:grid!important;grid-template-columns:1fr!important;gap:0!important;padding:0!important;border:1px solid rgba(225,82,153,.18)!important;border-radius:16px!important;overflow:hidden;background:linear-gradient(145deg,#30252e,#201d25)!important;box-shadow:none!important;color:#fff}
.party-heist-overview .party-heist-overview__summary{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;padding:13px 12px 10px;align-items:start}
.party-heist-overview .operation-heist__mark{width:40px!important;height:40px!important;border-radius:12px!important}
.party-heist-overview__headline{display:block;margin-top:2px;color:#fff;font-size:16px;line-height:1.12;letter-spacing:.015em}
.party-heist-overview .operation-heist__compact-text{margin-top:3px;color:rgba(255,255,255,.62);font-size:11px;line-height:1.4;white-space:normal;display:block}
.party-heist-overview__metrics{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:2px}
.party-heist-overview__metrics>span{display:grid;gap:2px;padding:8px 9px;border:1px solid rgba(255,255,255,.075);border-radius:10px;background:rgba(255,255,255,.045)}
.party-heist-overview__metrics small{font-size:8px;font-weight:950;letter-spacing:.09em;color:rgba(255,255,255,.46)}
.party-heist-overview__metrics b{font-size:13px;color:#fff;font-variant-numeric:tabular-nums}
.party-heist-overview__directive.operation-heist__directive{grid-column:1/-1;grid-row:auto;width:auto;min-height:58px;margin:0;border:0;border-top:1px solid rgba(255,255,255,.08);border-radius:0;background:rgba(255,255,255,.025);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;text-align:left;cursor:pointer}
.party-heist-overview__directive .operation-heist__directive-copy{display:grid;gap:2px}
.party-heist-overview__directive .operation-heist__directive-head small{font-size:8px;color:#eaa0c2}
.party-heist-overview__directive .operation-heist__directive-copy>strong{font-size:12px;color:#fff}
.party-heist-overview__directive .operation-heist__directive-text{font-size:10px;color:rgba(255,255,255,.56)}
.party-heist-overview.is-complete{border-color:rgba(46,139,87,.28)!important;background:linear-gradient(145deg,#24332a,#1b241f)!important}
.party-heist-overview.is-complete .operation-heist__mark{color:#70dda0!important}

.party-operation-card--parity .party-operation-summary{order:4;width:100%;min-width:0;margin:0;padding:11px 12px;border:1px solid var(--border);border-radius:15px;background:#fff;color:var(--ink);text-align:left;box-shadow:none}
.party-operation-card--parity .party-operation-summary>small{font-size:9px;color:var(--pink);letter-spacing:.1em}
.party-operation-card--parity .party-operation-summary>strong{display:block;margin-top:2px;font-size:16px;color:var(--ink)}
.party-operation-card--parity .party-operation-summary__bar{display:block;height:5px;margin-top:8px;border-radius:999px;background:#eee7eb;overflow:hidden}
.party-operation-card--parity .party-operation-summary__bar i{display:block;height:100%;width:0;border-radius:inherit;background:var(--pink);transition:width .35s ease}
.party-operation-card--parity .party-operation-summary__meta{display:block;margin-top:6px;font-size:10px;color:var(--muted)}

.party-operation-card--parity .party-operation-card__crew{order:5;width:100%;padding:0!important;margin:0}
.party-operation-card--parity .party-operation-card__crew .section-nav__crew{width:100%}
.party-operation-card--parity .party-operation-card__crew .crew-access{width:100%;margin:0}
.party-operation-card--parity .party-operation-card__crew .crew-access__button{width:100%;min-height:68px;padding:11px 12px;border:1px solid rgba(49,38,45,.11);border-radius:15px;background:linear-gradient(145deg,#30282d,#201d22);box-shadow:none}
.party-operation-card--parity .party-operation-card__crew .crew-access__copy>strong{font-size:12px!important;letter-spacing:.045em}
.party-operation-card--parity .party-operation-card__crew .crew-access__copy>span{font-size:10px!important;letter-spacing:.02em!important}

.party-operation-card__tools--parity{padding:0;border-top:1px solid var(--border)}
.party-code-stage{border-bottom:1px solid var(--border)}
.party-code-stage__head{cursor:default!important;background:#fff!important}
.party-code-stage__head .operation-stage__status i{display:none}
.party-code-stage__panel{padding-top:0!important}
.party-operation-card--parity .mission-code-drawer--inline{display:grid;grid-template-columns:1fr;gap:8px;padding:4px 0 0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.party-operation-card--parity .mission-code-drawer--inline>label{font-size:10px;letter-spacing:.1em;color:var(--muted)}
.party-operation-card--parity .mission-code-drawer--inline .code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%;max-width:none}
.party-operation-card--parity .mission-code-drawer--inline .code-row input{min-width:0;height:48px;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--ink);font-size:15px;font-weight:850;letter-spacing:.055em;padding:0 13px}
.party-operation-card--parity .mission-code-drawer--inline .code-row button{min-height:48px;padding:0 13px;border:0;border-radius:12px;background:var(--ink);color:#fff;font-size:9px;font-weight:1000;letter-spacing:.07em}
.party-operation-card--parity .mission-code-message{min-height:15px;margin:0;font-size:10px}

.party-operation-card--parity .mission-card-list{margin:0;border:0;border-radius:0;background:#fff;overflow:visible}
.party-operation-card--parity .mission-card-list>.party-objective-stage{border-left:0;border-right:0;border-radius:0}
.party-operation-card--parity .mission-card-list>.party-objective-stage:first-child{border-top:0;border-radius:0}
.party-operation-card--parity .mission-card-list>.party-objective-stage:last-child{border-bottom:0;border-radius:0}
.party-operation-card--parity .mission-card-empty{min-height:110px;margin:0;border:0;border-radius:0;border-top:1px solid var(--border);background:#fffdfa}

.party-login.identity-selector{margin:0;border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);overflow:hidden}
.party-login .identity-stage{background:#fff}

@media(max-width:520px){
  .party-mode__shell{width:calc(100% - 18px);gap:14px}
  .party-mode__hero.party-mode__hero--heist{min-height:218px;padding:20px 18px 18px}
  .party-operation-card--parity>.operation-card__header{padding:15px 12px 12px;gap:10px}
  .party-heist-overview .party-heist-overview__summary{grid-template-columns:38px minmax(0,1fr);padding:12px 10px 9px}
  .party-heist-overview .operation-heist__mark{width:36px!important;height:36px!important}
  .party-heist-overview__headline{font-size:15px}
  .party-heist-overview__metrics{gap:5px}
  .party-heist-overview__metrics>span{padding:7px}
  .party-operation-card--parity .mission-code-drawer--inline .code-row{grid-template-columns:1fr}
  .party-operation-card--parity .mission-code-drawer--inline .code-row button{width:100%}
}
@media(prefers-reduced-motion:reduce){.party-hero-live i{animation:none}}

/* v24.66 · El Golpe: information hierarchy parity with Invitados. */
.party-operation-card--parity>.operation-card__header{gap:10px}
.party-heist-overview .party-heist-overview__summary{padding-bottom:11px}
.party-heist-overview__directive.operation-heist__directive{min-height:46px;padding:9px 12px}
.party-heist-overview__directive .operation-heist__directive-copy>strong{font-size:11px;letter-spacing:.045em}
.party-operation-card--parity .party-operation-card__crew{order:4;width:100%;display:flex;align-items:flex-start;padding:0!important;margin:0!important}
.party-operation-card--parity .party-operation-card__crew>.operation-social{margin:0!important}

/* Code entry is intentionally one compact row: learned stage identity + direct action. */
.party-operation-card--parity .party-operation-card__tools{padding:0;background:#fff;border-top:1px solid var(--border)}
.party-operation-card--parity .party-code-stage{border:0;border-radius:0;margin:0;background:#fff}
.party-code-stage__inline{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:11px 14px}
.party-code-stage__inline .operation-stage__identity{min-width:0}
.party-code-stage__inline .operation-stage__identity>span:last-child{min-width:0}
.party-code-stage__inline .operation-stage__identity small{white-space:nowrap}
.party-code-stage__inline .operation-stage__identity strong{white-space:nowrap;font-size:12px}
.party-operation-card--parity .party-code-stage .mission-code-drawer--inline{display:block;min-width:0;width:100%;padding:0!important;margin:0!important}
.party-operation-card--parity .party-code-stage .mission-code-drawer--inline .code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;width:100%}
.party-operation-card--parity .party-code-stage .mission-code-drawer--inline .code-row input{height:42px;min-width:0;padding:0 10px;border-radius:10px;font-size:13px}
.party-operation-card--parity .party-code-stage .mission-code-drawer--inline .code-row button{min-height:42px;padding:0 11px;border-radius:10px;font-size:8.5px;letter-spacing:.065em}
.party-operation-card--parity .party-code-stage .mission-code-message{margin:5px 0 0;min-height:0;font-size:9px}
.party-operation-card--parity .party-code-stage .mission-code-message:empty{display:none}
.party-operation-card--parity .party-code-stage .demo-codes{margin-top:6px}

/* Personal heist state lives in El Golpe, not in Mi expediente. It reuses operation-stage. */
.party-personal-operation{margin:0;border-top:1px solid var(--border);background:#fff}
.party-personal-operation>.operation-stage{border-left:0;border-right:0;border-bottom:0;border-radius:0;margin:0}
.party-personal-operation>.operation-stage:first-child{border-top:0}
.party-operation-stage .operation-stage__panel{padding:0 12px 12px}
.character-operation--party{margin:0;box-shadow:none}

@media(max-width:390px){
  .party-code-stage__inline{grid-template-columns:96px minmax(0,1fr);gap:8px;padding:10px 11px}
  .party-code-stage__inline .operation-stage__marker{width:30px;height:30px}
  .party-code-stage__inline .operation-stage__identity{gap:7px}
  .party-code-stage__inline .operation-stage__identity small{font-size:7px}
  .party-code-stage__inline .operation-stage__identity strong{font-size:10.5px}
  .party-operation-card--parity .party-code-stage .mission-code-drawer--inline .code-row{gap:5px}
  .party-operation-card--parity .party-code-stage .mission-code-drawer--inline .code-row input{height:40px;padding:0 8px;font-size:12px}
  .party-operation-card--parity .party-code-stage .mission-code-drawer--inline .code-row button{min-height:40px;padding:0 8px;font-size:8px}
}


/* v24.67 · El Golpe ordering + exact invitation GPS shell parity. */
.party-operation-card--parity .party-operation-card__crew{
  order:2!important;grid-column:1/-1;width:100%;padding:0!important;margin:0!important;
}
.party-operation-card--parity .party-operation-card__personal{
  order:3;grid-column:1/-1;width:100%;margin:0;
}
.party-operation-card--parity .party-operation-card__personal>.operation-stage{
  margin:0;border:1px solid var(--border);border-radius:15px;overflow:hidden;background:#fff;
}
.party-operation-card--parity .party-operation-card__personal .operation-stage__panel{padding:0 12px 12px}
.party-operation-card--parity .party-current-gps{
  order:4;grid-column:1/-1;width:100%;
}

/* v24.68 · El Golpe: GPS → Tu operación → Clasificación. */
.party-operation-card--parity .party-current-gps{
  order:2!important;grid-column:1/-1;width:100%;
}
.party-operation-card--parity .party-operation-card__personal{
  order:3!important;grid-column:1/-1;width:100%;margin:0;
}
.party-operation-card--parity .party-operation-card__crew{
  order:4!important;grid-column:1/-1;width:100%;padding:0!important;margin:0!important;
}
.party-personal-operation{border:0!important;background:transparent!important}
.party-operation-access{
  width:100%!important;max-width:none!important;min-height:64px!important;margin:0!important;padding:11px 12px!important;
  display:grid!important;grid-template-columns:48px minmax(0,1fr) 30px!important;gap:10px!important;
  border:1px solid rgba(255,218,201,.12)!important;border-radius:15px!important;
  background:radial-gradient(circle at 96% -18%,rgba(240,174,145,.09),transparent 39%),radial-gradient(circle at 6% 118%,rgba(236,92,166,.075),transparent 42%),linear-gradient(145deg,#211d27 0%,#302433 72%,#382938 100%)!important;
  color:#f9f2ee!important;box-shadow:0 9px 24px rgba(24,16,27,.11),0 1px 0 rgba(255,226,210,.03) inset!important;
}
.party-operation-access__icon{
  width:46px;height:38px;min-width:46px;border-radius:12px;display:grid;place-items:center;
  border:1px solid rgba(255,219,202,.13);background:rgba(255,241,233,.045);color:#f5a5c9;box-shadow:0 3px 10px rgba(10,7,12,.13) inset;
}
.party-operation-access__icon .operation-section-icon{width:20px;height:20px}
.party-operation-access__copy{gap:2px!important}
.party-operation-access__copy>small{font-size:8.5px!important;line-height:1.38!important;letter-spacing:.045em!important;color:rgba(255,235,226,.56)!important}
.party-operation-access__copy>strong{font-size:12px!important;line-height:1.15!important;letter-spacing:.025em!important;color:#fff9f6!important}
.party-operation-access__copy>span{font-size:8.5px!important;line-height:1.38!important;letter-spacing:.045em!important;color:rgba(255,235,226,.56)!important}
.party-operation-access .operation-social__state{width:28px!important;height:28px!important}


.party-operation-dialog{padding:0;border:0;background:transparent;max-width:none;max-height:none;width:100%;height:100%;overflow:visible}
.party-operation-dialog::backdrop{background:rgba(18,14,20,.67);backdrop-filter:blur(5px)}
.party-operation-sheet{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,600px);max-height:min(82dvh,680px);color:var(--ink);overflow:hidden}
.party-operation-sheet__header p{margin:3px 0 0;color:var(--muted);font-size:10px;line-height:1.35}
.party-operation-sheet__body{min-height:0;overflow:auto;padding:14px 16px max(22px,env(safe-area-inset-bottom));background:#f7f3ef;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
.party-operation-state{display:grid;gap:12px}
.party-operation-state__metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.party-operation-state__metrics article{min-width:0;padding:13px;border:1px solid #e5ddd7;border-radius:14px;background:#fff;display:grid;gap:3px}
.party-operation-state__metrics small,.party-operation-clean small,.party-operation-activity .character-activity__head small{font-size:8px;font-weight:1000;letter-spacing:.11em;color:var(--muted)}
.party-operation-state__metrics strong{font-size:25px;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.035em}
.party-operation-state__metrics article>span{font-size:9px;line-height:1.35;color:var(--muted)}
.party-operation-state__wanted strong{color:#a86c19}
.party-operation-clean{padding:14px;border:1px solid #e5ddd7;border-radius:14px;background:#fff;display:grid;gap:10px}
.party-operation-clean.is-wanted{border-color:#ead6b9;background:linear-gradient(145deg,#fffdf9,#fff9ef)}
.party-operation-clean__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.party-operation-clean__head>div{display:grid;gap:3px}
.party-operation-clean__head strong{font-size:14px;line-height:1.15;color:var(--ink)}
.party-operation-clean__stars{flex:0 0 auto;color:#d29a35;font-size:15px;letter-spacing:.04em;white-space:nowrap}
.party-operation-clean p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}
.party-operation-clean .btn{width:100%;min-height:44px;margin:0}
.party-operation-clean .btn:disabled{background:#e6dfda;color:#8d8388;opacity:1}
.party-operation-activity{padding:14px;border:1px solid #e5ddd7;border-radius:14px;background:#fff}
.party-operation-activity .character-activity__head{margin-bottom:9px}
.party-operation-sheet__message{margin:0;min-height:0}
.party-operation-sheet__message:empty{display:none}

/* v24.69 · Tu operación visual/scale polish. */
.party-operation-state__cash strong{color:#2f8f59!important}
.party-operation-state__cash{border-color:#d5e9dc!important;background:linear-gradient(145deg,#fff,#f7fcf9)!important}
.party-operation-state__wanted strong{color:#a86c19}
.party-operation-clean__stars{padding:5px 8px;border:1px solid #ead6b9;border-radius:999px;background:#fff7ea;color:#9b651b;font-size:11px;font-weight:1000;letter-spacing:.015em}
.party-operation-activity{background:#fff;border-color:#e5ddd7}
.party-operation-activity .character-activity__list{gap:7px}
.party-operation-activity .character-activity__item{padding:9px 10px;border:1px solid #e8dfd9;background:#fbf8f5;box-shadow:none}
.party-operation-activity .character-activity__main strong{color:var(--ink)}
.party-operation-activity .character-activity__main small{color:#7a7077}
.party-operation-activity .character-activity__delta span{border:1px solid #e7dfda;background:#fff;color:#6d636a}
.party-operation-activity .character-activity__delta .is-positive{border-color:#cee8d7;background:#f1faf4;color:#2f7e4f}
.party-operation-activity .character-activity__delta .is-negative{border-color:#efd2d5;background:#fff4f5;color:#ad4650}
.party-operation-activity .character-activity__empty{border-color:#ddd3cd;background:#fbf8f5;color:#766c73}
.party-operation-activity .character-activity__toggle{color:#9a426e}
.party-operation-activity.has-history .character-activity__list{max-height:264px;overflow-y:auto;overscroll-behavior:contain;padding-right:2px;scrollbar-width:thin}
@media(max-width:720px){
  .party-operation-sheet{left:0;transform:none;width:100%;height:min(82dvh,680px);max-height:min(82dvh,680px);border-radius:20px 20px 0 0}
  .party-operation-sheet__body{flex:1 1 auto}
  .party-operation-sheet__drag-zone{touch-action:none;user-select:none}
}
@media(max-width:390px){
  .party-operation-access{min-height:60px!important;padding:10px 11px!important;grid-template-columns:44px minmax(0,1fr) 27px!important;gap:9px!important}
  .party-operation-access__icon{width:42px;height:34px;min-width:42px;border-radius:11px}
  .party-operation-access__icon .operation-section-icon{width:18px;height:18px}
  .party-operation-access__copy>strong{font-size:11px!important}
  .party-operation-access__copy>small,.party-operation-access__copy>span{font-size:8.5px!important}
  .party-operation-state__metrics strong{font-size:22px}
}
@media(prefers-reduced-motion:reduce){.party-operation-sheet{transition:none!important}}
/* v24.70 · Admin player control + realtime */
.admin-player-editor-dialog{width:min(720px,100vw);max-width:100vw;height:min(92dvh,860px);max-height:92dvh;margin:auto;border:0;padding:0;background:transparent;color:#17191f}.admin-player-editor-dialog::backdrop{background:rgba(7,9,13,.62);backdrop-filter:blur(8px)}.admin-player-editor{height:100%;display:flex;flex-direction:column;overflow:hidden;border-radius:24px;background:#f7f8fa;box-shadow:0 24px 70px rgba(0,0,0,.35)}.admin-player-editor__head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:20px 20px 16px;background:#fff;border-bottom:1px solid #e8eaee}.admin-player-editor__head small{display:block;font-size:9px;letter-spacing:.12em;font-weight:1000;color:#7a818c}.admin-player-editor__head h2{margin:3px 0 0;font-size:23px;line-height:1.05}.admin-player-editor__head p{margin:5px 0 0;font-size:11px;color:#737a85}.admin-player-editor__body{flex:1;overflow:auto;padding:14px 14px 24px;display:grid;gap:12px}.admin-player-editor__section{border:1px solid #e3e6ea;border-radius:17px;background:#fff;padding:14px}.admin-player-editor__section-head small{display:block;font-size:8px;font-weight:1000;letter-spacing:.11em;color:#8a9099}.admin-player-editor__section-head h3{margin:3px 0 12px;font-size:15px}.admin-player-editor__metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.admin-player-editor__metrics>label{display:grid;gap:6px;padding:10px;border:1px solid #eceef1;border-radius:13px;background:#fafbfc}.admin-player-editor__metrics>label>span{font-size:8px;font-weight:1000;letter-spacing:.08em;color:#777e88}.admin-player-editor__metrics>label:first-child>span{color:#27824b}.admin-player-editor__number{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px;align-items:center}.admin-player-editor__number input{width:100%;min-width:0;height:36px;border:1px solid #dfe2e7;border-radius:9px;background:#fff;text-align:center;font:900 14px/1 system-ui;color:#17191f}.admin-player-editor__number button{height:32px;padding:0 7px;border:1px solid #dde1e6;border-radius:8px;background:#fff;color:#4c535d;font-size:9px;font-weight:900}.admin-player-missions{display:grid;gap:7px}.admin-player-mission{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:10px;align-items:center;padding:10px;border:1px solid #eceef1;border-radius:12px;background:#fafbfc}.admin-player-mission small,.admin-player-mission strong{display:block}.admin-player-mission small{font-size:8px;letter-spacing:.07em;color:#8a9099}.admin-player-mission strong{margin-top:2px;font-size:11px;line-height:1.25}.admin-player-mission select{width:100%;height:34px;border:1px solid #dfe2e7;border-radius:9px;background:#fff;padding:0 8px;font-size:9px;font-weight:900;color:#333943}.admin-player-editor__toggles{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid #eceef1}.admin-player-editor__toggles label{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:800;color:#545b65}.admin-player-pin-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.admin-player-pin-row input{height:40px;border:1px solid #dfe2e7;border-radius:10px;background:#fafbfc;padding:0 12px;font-size:16px;font-weight:1000;letter-spacing:.25em}.admin-player-pin-row button{border:1px solid #17191f;border-radius:10px;background:#17191f;color:#fff;padding:0 14px;font-size:9px;font-weight:1000}.admin-player-editor__hint{margin:8px 0 0;font-size:9px;color:#7b828b}.admin-player-editor__message{min-height:16px;margin:0;padding:0 4px;font-size:10px;font-weight:800;color:#4e5965}.admin-player-editor__footer{display:grid;grid-template-columns:1fr 1.4fr;gap:8px;padding:12px 14px max(12px,env(safe-area-inset-bottom));border-top:1px solid #e2e5e9;background:#fff}.admin-player-editor__footer>button{min-height:44px}.admin-player-editor__footer>button:first-child{border:1px solid #dfe2e7;border-radius:11px;background:#fff;color:#606873;font-size:9px;font-weight:1000}.admin-player-editor__footer>button:first-child:disabled{opacity:.38}.admin-open-player{min-height:34px;padding:7px 10px;font-size:9px}.admin-realtime-state{display:inline-flex;align-items:center;gap:5px}.admin-realtime-state:before{content:'';width:6px;height:6px;border-radius:50%;background:#a0a7b0}.admin-realtime-state.is-live:before{background:#35b567;box-shadow:0 0 0 3px rgba(53,181,103,.12)}
@media(max-width:620px){.admin-player-editor-dialog{width:100vw;height:100dvh;max-height:100dvh;margin:0}.admin-player-editor{border-radius:0}.admin-player-editor__metrics{grid-template-columns:1fr}.admin-player-mission{grid-template-columns:minmax(0,1fr) 120px}}
/* v24.71 · Command Center live director */
.admin-section-head-actions{display:flex;align-items:center;gap:8px}.admin-section-head-actions>button{height:30px;padding:0 10px;border:1px solid #dfe3e8;border-radius:9px;background:#fff;color:#252a31;font-size:8px;font-weight:1000;letter-spacing:.04em}.admin-global-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-global-action-card{display:grid;gap:10px;padding:12px;border:1px solid #e3e6ea;border-radius:14px;background:#fafbfc}.admin-global-action-card>div:first-child small,.admin-global-action-card>div:first-child strong{display:block}.admin-global-action-card>div:first-child small{font-size:8px;font-weight:1000;letter-spacing:.1em;color:#8a9099}.admin-global-action-card>div:first-child strong{margin-top:2px;font-size:13px}.admin-global-action-card label{display:grid;gap:4px}.admin-global-action-card label>span{font-size:8px;font-weight:1000;letter-spacing:.08em;color:#777e88}.admin-global-action-card input,.admin-global-action-card select{width:100%;height:37px;border:1px solid #dfe3e8;border-radius:10px;background:#fff;padding:0 10px;color:#252a31;font-size:10px;font-weight:850}.admin-global-number-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.admin-mission-director-row{grid-template-columns:minmax(0,1fr) auto}.admin-mission-director-row.is-disabled{opacity:.58}.admin-mission-director-row__tools{display:flex;align-items:center;gap:6px}.admin-mission-edit{height:38px;padding:0 11px;border:1px solid #dfe3e8;border-radius:10px;background:#fff;color:#333943;font-size:8px;font-weight:1000}.admin-player-identity-grid{display:grid;grid-template-columns:1.5fr .6fr 1fr;gap:8px}.admin-player-identity-grid label,.admin-mission-form-grid label{display:grid;gap:5px}.admin-player-identity-grid label>span,.admin-mission-form-grid label>span{font-size:8px;font-weight:1000;letter-spacing:.08em;color:#777e88}.admin-player-identity-grid input,.admin-player-identity-grid select,.admin-mission-form-grid input,.admin-mission-form-grid select,.admin-mission-form-grid textarea{width:100%;border:1px solid #dfe2e7;border-radius:10px;background:#fafbfc;color:#17191f;padding:0 10px;font-size:11px;font-weight:750}.admin-player-identity-grid input,.admin-player-identity-grid select,.admin-mission-form-grid input,.admin-mission-form-grid select{height:39px}.admin-mission-form-grid textarea{padding:9px 10px;resize:vertical;line-height:1.35}.admin-player-identity-grid .is-wide,.admin-mission-form-grid .is-wide{grid-column:1/-1}.admin-player-social-summary{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px;padding-top:10px;border-top:1px solid #eceef1;color:#7a818a;font-size:9px}.admin-player-social-summary span{padding:5px 7px;border-radius:999px;background:#f2f4f7;font-weight:800}.admin-player-games{display:grid;gap:7px}.admin-player-game{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid #eceef1;border-radius:12px;background:#fafbfc}.admin-player-game span>*{display:block}.admin-player-game small{font-size:8px;font-weight:1000;letter-spacing:.08em;color:#858c96}.admin-player-game strong{margin-top:2px;font-size:12px}.admin-player-game em{margin-top:2px;color:#7a818b;font-size:9px;font-style:normal}.admin-player-game button,.admin-player-session-row button,.admin-player-emergency button{height:33px;padding:0 9px;border:1px solid #dce1e6;border-radius:9px;background:#fff;color:#4c535d;font-size:8px;font-weight:1000}.admin-player-game button:disabled{opacity:.35}.admin-player-session-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding:10px;border:1px solid #eceef1;border-radius:12px;background:#fafbfc}.admin-player-session-row small,.admin-player-session-row strong{display:block}.admin-player-session-row small{font-size:8px;letter-spacing:.08em;color:#858c96}.admin-player-session-row strong{margin-top:2px;font-size:15px}.admin-player-activity{display:grid;gap:6px;max-height:240px;overflow:auto}.admin-player-activity__row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid #eceef1;border-radius:11px;background:#fafbfc}.admin-player-activity__row strong,.admin-player-activity__row small{display:block}.admin-player-activity__row strong{font-size:10px}.admin-player-activity__row small{margin-top:2px;font-size:9px;color:#727983}.admin-player-activity__row time{flex:0 0 auto;font-size:8px;color:#969ca5}.admin-player-activity__empty{padding:12px;border:1px dashed #dfe3e8;border-radius:11px;color:#858c96;font-size:9px}.admin-player-editor__section--danger{border-color:#f0d9db;background:#fffafb}.admin-player-emergency{display:grid;grid-template-columns:1fr 1fr;gap:8px}.admin-player-emergency button{height:40px;border-color:#edc9ce;color:#a33c48;background:#fff}.admin-mission-editor-dialog{width:min(760px,100vw);max-width:100vw;height:min(94dvh,900px);max-height:94dvh;margin:auto;border:0;padding:0;background:transparent;color:#17191f}.admin-mission-editor-dialog::backdrop{background:rgba(7,9,13,.62);backdrop-filter:blur(8px)}.admin-mission-editor{height:100%;display:flex;flex-direction:column;overflow:hidden;border-radius:24px;background:#f7f8fa;box-shadow:0 24px 70px rgba(0,0,0,.35)}.admin-mission-editor__body{flex:1;overflow:auto;padding:14px}.admin-mission-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:14px;border:1px solid #e3e6ea;border-radius:17px;background:#fff}.admin-check-row{display:flex!important;align-items:center;gap:8px;padding-top:20px}.admin-check-row input{width:18px!important;height:18px!important}.admin-check-row span{font-size:9px!important}.admin-live-chip.is-good{background:#e8f8ed!important;color:#24733f!important}
@media(max-width:620px){.admin-global-actions{grid-template-columns:1fr}.admin-global-number-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-player-identity-grid{grid-template-columns:1fr 80px}.admin-player-identity-grid label:nth-child(3){grid-column:1/-1}.admin-mission-editor-dialog{width:100vw;height:100dvh;max-height:100dvh;margin:0}.admin-mission-editor{border-radius:0}.admin-mission-form-grid{grid-template-columns:1fr}.admin-mission-form-grid .is-wide{grid-column:auto}.admin-mission-director-row{grid-template-columns:1fr}.admin-mission-director-row__tools{justify-content:space-between}.admin-player-editor__body{padding-bottom:30px}}

/* v24.72 · Día D + live presence */
.crew-live-status{display:inline-flex;align-items:center;gap:4px;min-width:0;max-width:118px;padding:3px 6px;border-radius:999px;background:rgba(70,209,124,.11);color:#8ce7ad;font-size:7px;font-style:normal;font-weight:1000;letter-spacing:.045em;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crew-live-status i{flex:0 0 auto;width:5px;height:5px;border-radius:50%;background:#54df89;box-shadow:0 0 0 3px rgba(84,223,137,.09)}.crew-live-status span{overflow:hidden;text-overflow:ellipsis}.crew-live-status.is-playing{background:rgba(255,159,67,.12);color:#ffbf82}.crew-live-status.is-playing i{background:#ff9f43;box-shadow:0 0 0 3px rgba(255,159,67,.1)}
.admin-section--presence{overflow:hidden}.admin-presence-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:9px}.admin-presence-kpis>span{display:grid;gap:2px;padding:9px 8px;border:1px solid #e6e9ed;border-radius:11px;background:#fafbfc}.admin-presence-kpis strong{font-size:17px;color:#1d222a}.admin-presence-kpis small{font-size:7px;font-weight:1000;letter-spacing:.08em;color:#858c96}.admin-presence-list{display:grid;gap:6px;max-height:250px;overflow:auto}.admin-presence-row{display:grid;grid-template-columns:34px minmax(0,1fr) 8px;gap:9px;align-items:center;padding:8px 9px;border:1px solid #e8eaee;border-radius:11px;background:#fff}.admin-presence-row__avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#f0f2f5;font-size:17px}.admin-presence-row>span:nth-child(2){min-width:0}.admin-presence-row strong,.admin-presence-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-presence-row strong{font-size:10px;color:#282d35}.admin-presence-row small{margin-top:2px;font-size:8px;font-weight:850;color:#717985}.admin-presence-row>i{width:7px;height:7px;border-radius:50%;background:#52d883;box-shadow:0 0 0 3px rgba(82,216,131,.12)}.admin-presence-row.is-playing>i{background:#ff9f43;box-shadow:0 0 0 3px rgba(255,159,67,.12)}.admin-presence-empty{padding:13px;border:1px dashed #dfe3e8;border-radius:11px;color:#858c96;font-size:9px;text-align:center}
.admin-section--dayd{border-color:#dfe7e2!important;background:linear-gradient(180deg,#fff,#fbfdfb)!important}.admin-dayd-checklist{display:grid;gap:6px;margin:10px 0}.admin-dayd-check{display:grid;grid-template-columns:25px minmax(0,1fr);gap:9px;align-items:center;padding:9px 10px;border:1px solid #e7e9ed;border-radius:11px;background:#fafbfc}.admin-dayd-check>span{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#f1f3f5;color:#8a919b;font-size:10px;font-weight:1000}.admin-dayd-check strong,.admin-dayd-check small{display:block}.admin-dayd-check strong{font-size:9px;color:#313740}.admin-dayd-check small{margin-top:2px;font-size:8px;color:#7f8791}.admin-dayd-check.is-ok{border-color:#dceee2;background:#fbfefc}.admin-dayd-check.is-ok>span{background:#e8f8ed;color:#24733f}.admin-dayd-check.is-pending>span{background:#fff1e5;color:#ad6320}.admin-dayd-check.is-optional{border-color:#e4e7eb;background:#fafbfc}.admin-dayd-check.is-optional>span{background:#eef1f4;color:#737b86}.admin-dayd-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:10px 0}.admin-dayd-summary>span{display:grid;gap:2px;padding:9px;border:1px solid #e5e8ec;border-radius:11px;background:#fff}.admin-dayd-summary small{font-size:7px;font-weight:1000;letter-spacing:.08em;color:#89909a}.admin-dayd-summary strong{font-size:16px;color:#242a32}.admin-dayd-actions{display:grid;grid-template-columns:.7fr 1.3fr;gap:8px;align-items:stretch}.admin-dayd-actions>.btn{height:auto;min-height:48px}.admin-dayd-prepare{min-height:48px!important;margin:0!important;border-color:#d6e8db!important;background:#f6fcf8!important;color:#245f39!important}.admin-dayd-prepare.is-armed{border-color:#e0adad!important;background:#fff5f5!important;color:#9a3030!important}
@media(max-width:620px){.admin-presence-list{max-height:210px}.admin-dayd-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-dayd-actions{grid-template-columns:1fr}.crew-live-status{max-width:96px}}

/* v24.73 · Director en vivo ------------------------------------------------ */
.hud__announcement{grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.hud__announcement-action{height:28px;padding:0 9px;border:1px solid rgba(255,255,255,.2);border-radius:9px;background:rgba(255,255,255,.08);color:#fff;font-size:8px;font-weight:1000;letter-spacing:.06em;white-space:nowrap}
.hud__announcement-action:active{transform:translateY(1px)}
.hud[data-announcement-tone="warning"] .hud__announcement strong{color:#ffd389}
.admin-section--director-alerts{border-color:#dde6ef!important;background:linear-gradient(180deg,#fff,#fbfcfe)!important}
.admin-director-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:10px 0 12px}
.admin-director-presets button{display:grid;gap:4px;min-height:62px;padding:9px;border:1px solid #e0e4e9;border-radius:12px;background:#fafbfc;color:#252b34;text-align:left}
.admin-director-presets button span{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#eef2f7;color:#58616e;font-size:9px;font-weight:1000}
.admin-director-presets button b{font-size:8px;line-height:1.15;letter-spacing:.03em}
.admin-director-composer{padding:12px;border:1px solid #e4e7eb;border-radius:14px;background:#fafbfc}
.admin-director-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.admin-director-grid label{display:grid;gap:4px}
.admin-director-grid label>span{font-size:8px;font-weight:1000;letter-spacing:.08em;color:#777e88}
.admin-director-grid input,.admin-director-grid select,.admin-director-grid textarea{width:100%;border:1px solid #dfe3e8;border-radius:10px;background:#fff;color:#252a31;font-size:10px;font-weight:800}
.admin-director-grid input,.admin-director-grid select{height:38px;padding:0 10px}.admin-director-grid textarea{padding:9px 10px;resize:vertical;line-height:1.35}
.admin-director-wide{grid-column:1/-1}.admin-director-send{width:100%;margin-top:9px}
.admin-director-history-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0 7px;padding-top:12px;border-top:1px solid #eceef1}
.admin-director-history-head small,.admin-director-history-head strong{display:block}.admin-director-history-head small{font-size:7px;font-weight:1000;letter-spacing:.1em;color:#8b929b}.admin-director-history-head strong{margin-top:2px;font-size:11px;color:#303640}
.admin-director-history-head button{height:28px;padding:0 9px;border:1px solid #dfe3e8;border-radius:8px;background:#fff;color:#525a65;font-size:8px;font-weight:1000}
.admin-director-history{display:grid;gap:6px;max-height:300px;overflow:auto}
.admin-director-history-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid #e7eaee;border-radius:11px;background:#fff}
.admin-director-history-row>div{min-width:0}.admin-director-history-row small,.admin-director-history-row strong,.admin-director-history-row span{display:block}.admin-director-history-row small{font-size:7px;font-weight:900;letter-spacing:.06em;color:#8a929c}.admin-director-history-row strong{margin-top:2px;font-size:10px;color:#2d333c}.admin-director-history-row span{margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px;color:#767e89}
.admin-director-history-row>button{height:30px;padding:0 8px;border:1px solid #ead6d9;border-radius:8px;background:#fff;color:#9a4652;font-size:7px;font-weight:1000}.admin-director-history-row.is-cancelled{opacity:.55}
.admin-global-notify{display:flex!important;align-items:center;gap:7px!important;padding:7px 0 0}.admin-global-notify input{width:16px!important;height:16px!important;margin:0}.admin-global-notify span{font-size:8px!important;color:#68717c!important}
@media(max-width:620px){.admin-director-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-director-grid{grid-template-columns:1fr}.admin-director-wide{grid-column:auto}.hud__announcement-action{height:26px;padding:0 7px;font-size:7px}}


/* v24.74 · Push Beta */
.hud__push-access small{display:block;margin-top:.18rem;font-size:.64rem;letter-spacing:.08em;opacity:.58}.hud__push-access.is-active small{color:#72e89a;opacity:.92}
.push-sheet{max-height:min(86dvh,760px)}.push-sheet__body{display:grid;gap:14px;padding-bottom:max(28px,env(safe-area-inset-bottom))}.push-status-card,.push-install-card,.push-permission-card{border:1px solid rgba(255,255,255,.11);border-radius:18px;padding:16px;background:rgba(255,255,255,.035)}.push-status-card{display:flex;align-items:flex-start;gap:12px}.push-status-dot{width:10px;height:10px;border-radius:50%;background:#888;box-shadow:0 0 0 5px rgba(255,255,255,.04);margin-top:5px;flex:0 0 auto}.push-status-card.is-active .push-status-dot{background:#65e68d;box-shadow:0 0 0 5px rgba(101,230,141,.11)}.push-status-card.is-warning .push-status-dot{background:#ffc45c}.push-status-card small,.push-install-card>small,.push-permission-card>small{font-size:.64rem;letter-spacing:.14em;opacity:.58}.push-status-card strong{display:block;margin:.18rem 0 .25rem}.push-status-card p,.push-install-card p,.push-permission-card p,.push-privacy-note{margin:.35rem 0 0;line-height:1.45;font-size:.82rem;opacity:.72}.push-install-card h3,.push-permission-card h3{margin:.28rem 0 .4rem}.push-install-card .btn,.push-permission-card .btn{width:100%;margin-top:12px}.push-ios-steps{display:grid;gap:8px;margin-top:12px;padding:12px;border-radius:12px;background:rgba(255,255,255,.045);font-size:.78rem;line-height:1.35}.push-permission-card .text-button{width:100%;margin-top:10px}.push-privacy-note{text-align:center;padding:0 8px;font-size:.72rem}.admin-player-push{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-player-push span{display:grid;gap:2px}.admin-player-push small,.admin-player-push em{font-style:normal;font-size:.7rem;opacity:.62}.admin-player-push button{white-space:nowrap}

.admin-player-push-result{min-height:18px;margin:10px 0 0;padding:9px 10px;border-radius:10px;background:#f5f6f8;color:#5d6570;font-size:9px;font-weight:900;line-height:1.35;letter-spacing:.02em}.admin-player-push-result:empty{display:none}.admin-player-push-result[data-state="pending"]{display:block;background:#f5f6f8;color:#5d6570}.admin-player-push-result[data-state="success"]{display:block;background:#edf8f0;color:#28713d}.admin-player-push-result[data-state="error"]{display:block;background:#fff1f1;color:#9f3434}

/* v24.81 · Director Push v1 */

/* v24.82 · Comunicaciones del Director en Invitación */
.invite-director-comms{display:grid;gap:0;margin-top:14px;padding:0;overflow:hidden;border:1px solid rgba(73,38,63,.13);background:linear-gradient(155deg,#fffdfa 0%,#fff8fc 100%);box-shadow:0 12px 28px rgba(66,35,54,.06)}
.invite-director-comms[hidden]{display:none!important}
.invite-director-comms__head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 16px 13px;border-bottom:1px solid rgba(73,38,63,.09)}
.invite-director-comms__head>div{min-width:0}.invite-director-comms__head small{display:block;font-size:8px;font-weight:1000;letter-spacing:.12em;color:#9b4a73}.invite-director-comms__head h2{margin:3px 0 0;font-size:16px;line-height:1.05;color:var(--ink)}
.invite-director-comms__head>span{flex:0 0 auto;padding:5px 7px;border-radius:999px;background:#f5e9f0;color:#8d4269;font-size:7px;font-weight:1000;letter-spacing:.07em}
.invite-director-comms__list{display:grid}
.invite-director-message{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:13px 16px;border-bottom:1px solid rgba(73,38,63,.08);background:rgba(255,255,255,.44)}
.invite-director-message:last-child{border-bottom:0}.invite-director-message__copy{min-width:0}.invite-director-message__meta{display:flex;align-items:center;gap:6px;margin-bottom:3px}.invite-director-message__meta small{font-size:7px;font-weight:1000;letter-spacing:.1em;color:#9c657e}.invite-director-message__new{padding:3px 5px;border-radius:999px;background:#18161c;color:#fff!important;font-size:6px!important;letter-spacing:.08em!important}.invite-director-message strong{display:block;font-size:12px;line-height:1.18;color:#272128}.invite-director-message p{margin:4px 0 0;color:#685c63;font-size:10px;line-height:1.38}.invite-director-message__action{align-self:center;min-height:32px;padding:0 9px;border:1px solid rgba(102,52,78,.15);border-radius:9px;background:#fff;color:#8e456c;font-size:7px;font-weight:1000;letter-spacing:.04em;white-space:nowrap}.invite-director-message.is-important{background:linear-gradient(90deg,rgba(255,246,232,.72),rgba(255,255,255,.48))}.invite-director-message.is-critical{background:linear-gradient(90deg,rgba(255,236,239,.85),rgba(255,255,255,.48))}.invite-director-message.is-critical .invite-director-message__meta small{color:#ae3f50}
@media(max-width:390px){.invite-director-comms__head{padding:13px 14px 11px}.invite-director-message{grid-template-columns:1fr;padding:12px 14px}.invite-director-message__action{justify-self:start}.invite-director-comms__head h2{font-size:15px}}
.admin-field-note{display:block;margin-top:4px;font-size:9px;line-height:1.3;opacity:.56;font-weight:500;text-transform:none;letter-spacing:0}

/* v24.101 · Experience boost / Communications restyle ----------------------
   Reuses the warm, light card language already established across Operation 30.
   The whole experience card is actionable; Push setup content owns vertical scroll. */
.experience-boost-card{
  width:100%;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;
  margin-top:14px;padding:13px 14px;border:1px solid var(--border);border-radius:15px;
  background:linear-gradient(145deg,#fffdfa 0%,#faf6f1 100%);color:var(--ink);text-align:left;
  box-shadow:0 8px 20px rgba(56,39,18,.035);cursor:pointer;
  transition:border-color .16s ease,background-color .16s ease,transform .16s ease,box-shadow .16s ease;
}
.experience-boost-card:hover{border-color:#d9bdcb;background:#fffafc;transform:translateY(-1px);box-shadow:0 10px 24px rgba(40,24,35,.06)}
.experience-boost-card:active{transform:translateY(0)}
.experience-boost-card:focus-visible{outline:3px solid rgba(236,92,166,.28);outline-offset:2px}
.experience-boost-card__icon{width:44px;height:44px;border:1px solid #e5d9df;border-radius:13px;background:#f5edf1;color:#8a3f69;display:grid;place-items:center}
.experience-boost-card__icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.experience-boost-card__icon svg circle{fill:var(--pink);stroke:#fffdfa;stroke-width:1.35}
.experience-boost-card__copy{display:grid;gap:2px;min-width:0}
.experience-boost-card__copy>small{font-size:8.5px;font-weight:1000;letter-spacing:.13em;color:#9a426e}
.experience-boost-card__copy>strong{font-size:14px;line-height:1.18;letter-spacing:-.015em;color:var(--ink)}
.experience-boost-card__description{font-size:10.5px;line-height:1.42;color:var(--muted)}
.experience-boost-card__status{display:flex;align-items:center;gap:6px;margin-top:3px;font-size:9px;line-height:1.38;font-weight:800;color:#776b72}
.experience-boost-card__status::before{content:"";width:6px;height:6px;flex:0 0 6px;border-radius:999px;background:#b8aeb3}
.experience-boost-card__action{display:flex;align-items:center;gap:8px;color:#8a3f69;white-space:nowrap;font-size:8.5px;font-weight:1000;letter-spacing:.06em}
.experience-boost-card__action .card-nav-affordance{--card-nav-bg:#f5eaef;--card-nav-border:#e4ced9;--card-nav-color:#8a3f69}
.experience-boost-card:hover .experience-boost-card__action .card-nav-affordance--chevron{transform:translateX(2px)}
.experience-boost-card.is-active{border-color:#cfe1d5;background:linear-gradient(145deg,#fffdfa,#f5faf6)}
.experience-boost-card.is-active .experience-boost-card__icon{border-color:#cce2d3;background:#edf8f1;color:#2f7c50}
.experience-boost-card.is-active .experience-boost-card__icon svg circle{fill:#57b779}
.experience-boost-card.is-active .experience-boost-card__status{color:#2f7c50}
.experience-boost-card.is-active .experience-boost-card__status::before{background:#57b779}
.experience-boost-card.is-active .experience-boost-card__action{color:#2f7c50}
.experience-boost-card.is-active .experience-boost-card__action .card-nav-affordance{--card-nav-bg:#edf7f0;--card-nav-border:#cfe1d5;--card-nav-color:#2f7c50}
.experience-boost-card.is-warning{border-color:#e6d5bd;background:linear-gradient(145deg,#fffdfa,#fffaf2)}
.experience-boost-card.is-warning .experience-boost-card__status{color:#8d652d}
.experience-boost-card.is-warning .experience-boost-card__status::before{background:#c9964d}
@media(max-width:420px){
  .experience-boost-card{grid-template-columns:40px minmax(0,1fr) 26px;gap:10px;padding:12px}
  .experience-boost-card__icon{width:40px;height:40px;border-radius:12px}
  .experience-boost-card__action>span:first-child{display:none}
  .experience-boost-card__copy>strong{font-size:13px}
  .experience-boost-card__description{font-size:10px}
}

.push-sheet{max-height:min(86dvh,760px)}
.push-sheet .app-surface__header{background:linear-gradient(145deg,#f2ebe6,#fbf8f5);border-bottom-color:#e2d9d3}
.push-sheet .app-surface__header .kicker{color:#9a426e}
.push-sheet .app-surface__header h2{color:var(--ink)}
.push-sheet .app-surface__header p{max-width:36ch;color:var(--muted);font-size:11px;line-height:1.48}
.push-sheet__body{
  flex:1 1 auto;min-height:0;overflow-y:auto!important;overflow-x:hidden!important;align-content:start;
  display:grid;gap:10px;padding:14px 14px calc(env(safe-area-inset-bottom) + 22px);background:#f7f3ef;
  overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;
}
.push-status-card,.push-install-card,.push-permission-card{border:1px solid var(--border);border-radius:14px;padding:14px;background:#fffdfa;box-shadow:0 5px 14px rgba(31,19,30,.035)}
.push-status-card{display:flex;align-items:flex-start;gap:11px}
.push-status-dot{width:8px;height:8px;flex:0 0 8px;margin-top:5px;border-radius:50%;background:#b8aeb3;box-shadow:0 0 0 4px #f1ecef}
.push-status-card.is-active{border-color:#cfe1d5;background:#fbfefc}
.push-status-card.is-active .push-status-dot{background:#57b779;box-shadow:0 0 0 4px #e9f5ed}
.push-status-card.is-warning{border-color:#e6d5bd;background:#fffdf8}
.push-status-card.is-warning .push-status-dot{background:#c9964d;box-shadow:0 0 0 4px #faf1e4}
.push-status-card small,.push-install-card>small,.push-permission-card>small{display:block;font-size:8px;font-weight:1000;letter-spacing:.12em;color:#9a426e}
.push-status-card strong{display:block;margin:2px 0 3px;font-size:13px;color:var(--ink)}
.push-status-card p,.push-install-card p,.push-permission-card p,.push-privacy-note{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.5}
.push-install-card h3,.push-permission-card h3{margin:3px 0 4px;color:var(--ink);font-size:15px;line-height:1.15;letter-spacing:-.02em}
.push-install-card .btn,.push-permission-card .btn{width:100%;margin-top:11px;min-height:44px}
.push-install-card .btn{border-color:var(--border);background:#f2eeea;color:var(--ink)}
.push-ios-steps{display:grid;gap:7px;margin-top:11px;padding:11px;border:1px solid #e6ddd7;border-radius:11px;background:#faf7f4;color:#655d63;font-size:10px;line-height:1.4}
.push-permission-card .text-button{width:100%;margin-top:8px}
.push-privacy-note{text-align:center;padding:0 8px;font-size:9px}

/* Communications lists keep their own vertical scroll when content grows. */
.invite-director-comms__list{max-height:min(46dvh,360px);overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}

/* v24.88 · Admin collection navigation */
.admin-dialog__card,.admin-command-center,.admin-tab-panel,.admin-section{max-width:100%;min-width:0;box-sizing:border-box}
.admin-dialog__card,.admin-command-center{overflow-x:hidden;overscroll-behavior-x:none}
.admin-tab-panel,.admin-section{overflow-x:clip}
.admin-tab-panel[data-admin-panel="control"]>*{min-width:0;max-width:100%}
.admin-global-actions,.admin-global-action-card,.admin-director-grid,.admin-maintenance-grid,.admin-dayd-actions{min-width:0;max-width:100%}
.admin-global-actions label,.admin-global-action-card label,.admin-director-grid label{min-width:0}
.admin-global-actions input,.admin-global-actions select,.admin-director-grid input,.admin-director-grid select,.admin-director-grid textarea{max-width:100%;min-width:0;box-sizing:border-box}

.admin-collection-card{width:100%;min-width:0;display:grid;grid-template-columns:36px minmax(0,1fr) auto 16px;align-items:center;gap:10px;margin-top:12px;padding:11px 12px;border:1px solid #e2e5e9;border-radius:14px;background:#fff;color:#252a31;text-align:left;box-shadow:none}
.admin-collection-card:active{transform:scale(.995)}
.admin-collection-card__icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#f1f3f6;color:#58616d;font-size:15px;font-weight:1000}
.admin-collection-card__copy{display:grid;gap:2px;min-width:0}
.admin-collection-card__copy small{font-size:7px;font-weight:1000;letter-spacing:.1em;color:#8a919a}
.admin-collection-card__copy b{font-size:11px;color:#282e36}
.admin-collection-card__copy em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:normal;font-size:9px;color:#777f89}
.admin-collection-card__count{display:grid;place-items:center;min-width:28px;height:28px;padding:0 7px;border-radius:999px;background:#eef1f4;color:#454c56;font-size:9px;font-weight:1000}
.admin-collection-card__chevron{font-size:21px;color:#a1a7af;line-height:1}

.admin-collection-dialog{width:min(720px,calc(100vw - 20px));height:min(86dvh,760px);max-width:100vw;max-height:86dvh;margin:auto;border:0;padding:0;background:transparent;color:#17191f}
.admin-collection-dialog::backdrop{background:rgba(7,9,13,.58);backdrop-filter:blur(7px)}
.admin-collection-sheet{height:100%;display:flex;flex-direction:column;overflow:hidden;border-radius:22px;background:#f7f8fa;box-shadow:0 24px 70px rgba(0,0,0,.34)}
.admin-collection-sheet__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px 12px;border-bottom:1px solid #e5e8ec;background:#fff}
.admin-collection-sheet__head small{display:block;font-size:7px;font-weight:1000;letter-spacing:.11em;color:#8a919a}
.admin-collection-sheet__head h2{margin:2px 0 0;font-size:20px;color:#242a31}
.admin-collection-sheet__toolbar{display:flex;gap:8px;padding:10px 14px;border-bottom:1px solid #e8eaee;background:#fbfcfd}
.admin-collection-sheet__toolbar .btn{min-height:36px;margin:0}
.admin-history-clear{margin-left:auto;min-height:36px;padding:0 11px;border:1px solid #edd2d6;border-radius:10px;background:#fff;color:#a1424e;font-size:8px;font-weight:1000}
.admin-collection-sheet__body{flex:1;min-height:0;overflow:auto;padding:13px 14px max(18px,env(safe-area-inset-bottom));overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
.admin-collection-sheet__body .admin-director-history,.admin-collection-sheet__body .admin-mission-director-list{max-height:none;overflow:visible;margin:0}


@media(max-width:620px){
  .admin-dialog__card{touch-action:pan-y}
  .admin-collection-dialog{width:100vw;height:88dvh;max-height:88dvh;margin:auto 0 0}
  .admin-collection-sheet{border-radius:20px 20px 0 0}
  .admin-collection-card{grid-template-columns:34px minmax(0,1fr) auto 14px;padding:10px}
  .admin-collection-card__icon{width:34px;height:34px}
  .admin-collection-sheet__toolbar{flex-wrap:wrap}
  .admin-history-clear{margin-left:0}
  .admin-global-number-grid{grid-template-columns:1fr!important}
}

/* v24.88 · Admin mobile back gesture */
.admin-collection-sheet.is-swiping,.admin-player-editor.is-swiping,.admin-mission-editor.is-swiping{transition:none!important;will-change:transform}
@media(max-width:620px){.admin-collection-sheet,.admin-player-editor,.admin-mission-editor{touch-action:pan-y}}

/* v24.89 · Admin sheet parity + compact mobile header */
.admin-sheet-grabber{display:none}
@media(max-width:620px){
  .admin-dialog__head{position:relative!important;top:auto!important;min-height:0!important;height:auto!important;box-sizing:border-box!important;padding:10px 14px!important;align-items:center!important}
  .admin-command-bar{top:0!important}
  .admin-tabs{top:53px!important}
  .admin-collection-dialog{height:90dvh!important;max-height:90dvh!important;margin:auto 0 0!important}
  .admin-player-editor-dialog,.admin-mission-editor-dialog{width:100vw!important;height:92dvh!important;max-height:92dvh!important;margin:auto 0 0!important}
  .admin-player-editor,.admin-mission-editor{border-radius:20px 20px 0 0!important}
  .admin-collection-sheet__head,.admin-player-editor__head{position:relative!important;padding-top:25px!important}
  .admin-sheet-grabber{display:block;position:absolute;top:8px;left:50%;width:38px;height:4px;transform:translateX(-50%);border-radius:999px;background:#cfd3d8}
  .admin-collection-sheet.is-dragging,.admin-player-editor.is-dragging,.admin-mission-editor.is-dragging{transition:none!important;will-change:transform}
}

/* v24.91 · Admin stable chrome + scheduler removal */
.admin-command-sticky{
  position:sticky;top:0;z-index:24;
  margin:0 -20px 16px;
  background:rgba(250,251,252,.98);
  border-bottom:1px solid #e5e7eb;
  backdrop-filter:blur(14px);
}
.admin-command-sticky .admin-command-bar,
.admin-command-sticky .admin-tabs{
  position:static!important;top:auto!important;
  margin:0!important;
}
.admin-command-sticky .admin-command-bar{padding:10px 20px!important;border-bottom:1px solid #eceef1!important;background:rgba(255,255,255,.98)!important}
.admin-command-sticky .admin-tabs{padding:7px 20px 8px!important;border-bottom:0!important;background:transparent!important;backdrop-filter:none!important}
.admin-dialog__head{position:relative!important;top:auto!important;margin:0!important}
.admin-command-center,.admin-command-sticky,.admin-tab-panel,.admin-tab-panel>*{min-width:0;max-width:100%;box-sizing:border-box}
.admin-tab-panel{width:100%;overflow-x:hidden!important;overscroll-behavior-x:none}
.admin-tab-panel[data-admin-panel="control"] .admin-director-grid,
.admin-tab-panel[data-admin-panel="control"] .admin-global-actions,
.admin-tab-panel[data-admin-panel="control"] .admin-maintenance-grid,
.admin-tab-panel[data-admin-panel="control"] .admin-dayd-actions,
.admin-tab-panel[data-admin-panel="control"] .admin-collection-card{width:100%;min-width:0;max-width:100%}
.admin-tab-panel[data-admin-panel="control"] input,
.admin-tab-panel[data-admin-panel="control"] select,
.admin-tab-panel[data-admin-panel="control"] textarea{max-width:100%;box-sizing:border-box}
.admin-collection-dialog,.admin-player-editor-dialog,.admin-mission-editor-dialog{overflow:hidden}
.admin-collection-sheet,.admin-player-editor,.admin-mission-editor{max-width:100%;overflow-x:hidden;overscroll-behavior-x:none}

@media(max-width:620px){
  .admin-dialog__head{min-height:0!important;height:auto!important;padding:10px 14px!important;align-items:center!important}
  .admin-command-sticky{top:0;margin:0 -10px 12px}
  .admin-command-sticky .admin-command-bar{padding:9px 10px!important}
  .admin-command-sticky .admin-tabs{padding:7px 10px 8px!important}
  .admin-collection-dialog{width:100vw!important;height:90dvh!important;max-height:90dvh!important;margin:auto 0 0!important}
  .admin-player-editor-dialog,.admin-mission-editor-dialog{width:100vw!important;height:92dvh!important;max-height:92dvh!important;margin:auto 0 0!important}
  .admin-collection-sheet,.admin-player-editor,.admin-mission-editor{border-radius:20px 20px 0 0!important;touch-action:pan-y}
  .admin-collection-sheet__head,.admin-player-editor__head{position:relative!important;padding-top:25px!important}
  .admin-sheet-grabber{display:block;position:absolute;top:8px;left:50%;width:38px;height:4px;transform:translateX(-50%);border-radius:999px;background:#cfd3d8}
  .admin-collection-sheet.is-dragging,.admin-player-editor.is-dragging,.admin-mission-editor.is-dragging{transition:none!important;will-change:transform}
}

/* v24.100 · PWA status-bar handoff. Paint only; no standalone geometry changes. */
html.is-standalone{background:var(--bg)}
html.is-standalone body{background:var(--bg)}
html.is-standalone body.intro-mode::before,
html.is-standalone body.intro-mode::after{
  content:"";
  position:fixed;
  z-index:10000;
  top:0;
  left:0;
  right:0;
  height:env(safe-area-inset-top,0px);
  pointer-events:none;
}
html.is-standalone body.intro-mode::before{
  background:linear-gradient(145deg,#17151d 0%,#31213d 48%,#96365f 100%);
  background-size:100vw 100svh;
  background-position:top left;
  opacity:1;
  transition:opacity .72s cubic-bezier(.22,.78,.24,1);
}
html.is-standalone body.intro-mode::after{
  background:var(--bg);
  opacity:0;
  transition:opacity .72s cubic-bezier(.22,.78,.24,1);
}
html.is-standalone.pwa-handoff-light body.intro-mode::before{opacity:0}
html.is-standalone.pwa-handoff-light body.intro-mode::after{opacity:1}
@media(prefers-reduced-motion:reduce){
  html.is-standalone body.intro-mode::before,
  html.is-standalone body.intro-mode::after{transition-duration:.01ms!important}
}

/* v24.102 base · PWA landing canvas paint state. v24.103 synchronizes activation
   with the exact frame where the full-screen hero starts contracting. */
html.is-standalone.pwa-boot.pwa-handoff-light,
html.is-standalone.pwa-boot.pwa-handoff-light body{
  background-color:var(--bg)!important;
  background-image:none!important;
}


/* v24.103 · Communications polish: neutral bottom safe-area and tap-stable opener. */
.push-sheet{background:#f7f3ef}
.push-dialog,.push-dialog::backdrop{-webkit-tap-highlight-color:transparent}
.hud__push-access{-webkit-tap-highlight-color:transparent}
.hud__push-access:focus:not(:focus-visible){outline:none}
.push-permission-card{margin-bottom:4px}

@media (hover:none),(pointer:coarse){
  .hud__push-access:hover,.hud__push-access:active{border-color:#e0d5cf;background:#fff;transform:none;box-shadow:0 5px 14px rgba(31,19,30,.035)}
}

/* v24.107 · Communications reuses La Banda's sheet skeleton.
   No Safari-specific chrome painting, masks, offsets or theme-color changes. */
.push-dialog{--app-surface-max-width:1080px}
.push-sheet{max-height:min(88dvh,820px)}
.push-browser__layout{position:relative;min-height:0;flex:1;display:block;overflow:hidden}
.push-browser__main{
  min-width:0;min-height:0;overflow:auto!important;
  padding:18px 22px 22px;
  overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;
}
@media(max-width:720px){
  .push-sheet{height:92vh;height:92dvh;max-height:92vh;max-height:92dvh}
  .push-browser__layout{display:block;position:relative;min-height:0;flex:1;overflow:hidden}
  .push-browser__main{
    position:absolute;inset:0;overflow:auto!important;
    padding:12px 12px max(20px,env(safe-area-inset-bottom));
    overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;
  }
}
