:root{--bg:#05070d;--bg2:#0a1220;--panel:#09111ed6;--panel-solid:#0b1525;--line:#22e6ff38;--line-strong:#22e6ff8c;--cyan:#22e6ff;--red:#ff2e4d;--amber:#ffc23d;--green:#3dff8b;--text:#e8fbff;--muted:#7f9bb0;--display:"Black Ops One", "Impact", system-ui, sans-serif;--ui:"Chakra Petch", system-ui, sans-serif;--mono:"Share Tech Mono", ui-monospace, monospace;--cut:14px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:radial-gradient(ellipse at 15% 0%, #22e6ff21, transparent 55%), radial-gradient(ellipse at 90% 100%, #ff2e4d24, transparent 55%), linear-gradient(#22e6ff0b 1px, transparent 1px) 0 0 / 40px 40px, linear-gradient(90deg, #22e6ff0b 1px, transparent 1px) 0 0 / 40px 40px, var(--bg);color:var(--text);font-family:var(--ui);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;background-attachment:fixed;font-size:16px}body:after{content:"";pointer-events:none;z-index:100;background:repeating-linear-gradient(#00000029 0 1px,#0000 1px 3px),radial-gradient(#0000 55%,#0000008c);position:fixed;inset:0}button,input{font:inherit;color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:var(--display);letter-spacing:.04em;margin:0;font-weight:400}p{margin:0}.spacer{flex:1}.muted{color:var(--muted)}.center{text-align:center}.error{color:var(--red);text-align:center;text-shadow:0 0 12px #ff2e4d99;font-weight:700}.hint{color:var(--muted);font-size:.8rem;display:block}.logo{-webkit-user-select:none;user-select:none;align-items:center;gap:.6rem;display:flex}.logo-eye{filter:drop-shadow(0 0 18px #ff2e4da6);font-size:3.6rem;animation:3s ease-in-out infinite bob}.logo-text{line-height:.9;font-family:var(--display);flex-direction:column;display:flex}.logo-text b{color:var(--text);text-shadow:0 0 6px #22e6ffcc, 0 0 28px #22e6ff73, 3px 3px 0 var(--red);letter-spacing:.06em;font-size:3.4rem;font-weight:400}.logo-text i{color:var(--red);letter-spacing:.42em;text-shadow:0 0 14px #ff2e4dcc;font-size:1.7rem;font-style:normal}.logo.small .logo-eye{font-size:1.6rem}.logo.small .logo-text b{text-shadow:0 0 6px #22e6ffb3, 2px 2px 0 var(--red);font-size:1.25rem}.logo.small .logo-text i{letter-spacing:.4em;font-size:.65rem}.stamp-top{border:3px solid var(--red);color:var(--red);font-family:var(--display);letter-spacing:.2em;text-shadow:0 0 10px #ff2e4db3;opacity:.92;border-radius:4px;padding:.2rem .7rem;font-size:.95rem;display:inline-block;rotate:-4deg;box-shadow:0 0 14px #ff2e4d59,inset 0 0 10px #ff2e4d40;-webkit-mask-image:radial-gradient(circle at 30% 40%,#000 60%,#000000bf);mask-image:radial-gradient(circle at 30% 40%,#000 60%,#000000bf)}.stamp-top.red{animation:.45s cubic-bezier(.2,2,.4,1) both stamp-in}.tagline{font-family:var(--mono);color:var(--cyan);letter-spacing:.08em;text-align:center;font-size:1.05rem}.tagline:after{content:"▌";animation:1s step-end infinite blink}.btn{--c:var(--cyan);border:2px solid var(--c);background:color-mix(in srgb, var(--c) 12%, transparent);color:var(--text);font-family:var(--ui);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;clip-path:polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut));text-shadow:0 0 8px color-mix(in srgb, var(--c) 70%, transparent);-webkit-user-select:none;user-select:none;touch-action:manipulation;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.3rem;font-size:1rem;font-weight:700;transition:transform 80ms,background .15s,box-shadow .15s;display:inline-flex;position:relative}.btn:hover:not(:disabled){background:color-mix(in srgb, var(--c) 24%, transparent)}.btn:active:not(:disabled){transform:translateY(2px)scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.6)}.btn.primary{--c:var(--cyan);background:linear-gradient(#22e6ff59,#22e6ff1f);box-shadow:inset 0 0 22px #22e6ff59}.btn.primary:not(:disabled){animation:2.4s ease-in-out infinite glow}.btn.danger{--c:var(--red);background:linear-gradient(#ff2e4d73,#ff2e4d26);box-shadow:inset 0 0 22px #ff2e4d66}.btn.danger:not(:disabled){animation:1.6s ease-in-out infinite glow-red}.btn.yes{--c:var(--green)}.btn.no{--c:var(--red)}.btn.ghost{--c:#7f9bb0b3;text-shadow:none;background:0 0}.btn.huge{width:100%;padding:1.05rem 1.4rem;font-size:1.2rem}.btn.small{--cut:8px;padding:.4rem .8rem;font-size:.8rem}.link{color:var(--cyan);font-family:var(--mono);cursor:pointer;background:0 0;border:0;text-decoration:underline}.mute{z-index:50;border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:50%;width:2.6rem;height:2.6rem;font-size:1.2rem;position:fixed;top:.6rem;right:.6rem}header .mute{position:static}.panel{background:var(--panel);border:1px solid var(--line);clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:1.2rem;position:relative}.panel:before{content:"";background:var(--cyan);width:60px;height:3px;box-shadow:0 0 12px var(--cyan);position:absolute;top:0;left:0}.panel-title{color:var(--cyan);text-shadow:0 0 14px #22e6ff8c;margin-bottom:1rem;font-size:1.5rem}.panel-title:before{content:"// ";color:var(--red)}.panel-sub{font-family:var(--mono);color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin:.8rem 0 .6rem;font-size:.95rem}.panel-sub b{color:var(--cyan)}.hud-chip{border:1px solid var(--line-strong);font-family:var(--mono);letter-spacing:.12em;color:var(--muted);background:#22e6ff12;padding:.25rem .7rem;font-size:.85rem}.hud-chip b{color:var(--cyan);text-shadow:0 0 10px #22e6ff99;font-size:1.05em}.home,.tv-start{flex-direction:column;justify-content:center;align-items:center;gap:1.6rem;min-height:100dvh;padding:2rem 1rem;display:flex}.home-hero{flex-direction:column;align-items:center;gap:1rem;animation:.7s ease-out both rise;display:flex}.home-modes{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem;width:min(100%,640px);display:grid}.mode-card{--c:var(--cyan);border:2px solid color-mix(in srgb, var(--c) 60%, transparent);background:linear-gradient(160deg, color-mix(in srgb, var(--c) 18%, transparent), #05070dcc);clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px));flex-direction:column;gap:.4rem;padding:1.3rem;transition:transform .15s;animation:.7s ease-out both rise;display:flex}.mode-card.mode-phones{--c:var(--red);animation-delay:.1s}.mode-card:hover{transform:translateY(-4px)}.mode-card:active{transform:scale(.98)}.mode-icon{font-size:2.4rem}.mode-card b{font-family:var(--display);color:var(--c);text-shadow:0 0 12px color-mix(in srgb, var(--c) 60%, transparent);font-size:1.4rem;font-weight:400}.mode-card span:last-child{color:var(--muted);font-size:.92rem}.home-rules{font-family:var(--mono);color:var(--muted);gap:1.4rem;margin:0;padding:0;list-style:none;display:flex}.home-rules b{color:var(--amber);font-size:1.3rem}.tv-start .btn.huge{width:min(100%,420px)}html:has(.tv){font-size:clamp(16px,.95vw,26px)}.tv{flex-direction:column;min-height:100dvh;display:flex}.tv-header,.phone-header{border-bottom:1px solid var(--line);background:linear-gradient(#05070df2,#05070d99);align-items:center;gap:.8rem;padding:.7rem 1.2rem;display:flex}.tv-lobby{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:1.2rem;padding:1.2rem;display:grid}.join-box{flex-wrap:wrap;align-items:center;gap:1.4rem;display:flex}.qr{border:2px solid var(--cyan);background:#22e6ff0f;padding:.8rem;line-height:0;box-shadow:0 0 24px #22e6ff4d,inset 0 0 24px #22e6ff26}.join-text{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.join-text small{color:var(--muted);font-family:var(--mono)}.join-url{font-family:var(--mono);color:var(--cyan);overflow-wrap:anywhere;font-size:1.3rem}.big-code{font-family:var(--display);letter-spacing:.18em;color:var(--amber);text-shadow:0 0 16px #ffc23d99, 4px 4px 0 var(--red);font-size:clamp(2.8rem,5.5vw,5.2rem);line-height:1}.agents{flex-wrap:wrap;gap:.6rem;display:flex}.agent{border:1px solid color-mix(in srgb, var(--player) 55%, transparent);background:linear-gradient(90deg, color-mix(in srgb, var(--player) 20%, transparent), #05070d99);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%);align-items:center;gap:.55rem;padding:.35rem .8rem .35rem .35rem;font-weight:700;animation:.35s cubic-bezier(.2,1.8,.4,1) both pop;display:inline-flex;position:relative;overflow:hidden}button.agent{cursor:pointer;text-align:left}button.agent:active{transform:scale(.96)}.agent-avatar{background:var(--player);color:#05070d;width:2.1rem;height:2.1rem;font-family:var(--display);box-shadow:0 0 12px color-mix(in srgb, var(--player) 70%, transparent);border-radius:50%;flex:none;place-items:center;font-size:1.1rem;display:grid}.agent-name small{color:var(--amber)}.agent-tag{font-family:var(--mono);color:var(--muted);font-size:.8rem}.agent.done .agent-tag{color:var(--green)}.agent.offline{opacity:.45;filter:grayscale(.8)}.agent.waiting{opacity:.6;border-style:dashed}.agent.caught{border-color:var(--red)}.agent-stamp{color:var(--red);font-family:var(--display);letter-spacing:.15em;text-shadow:0 0 10px var(--red);background:#05070d8c;place-items:center;font-size:1.1rem;animation:.4s cubic-bezier(.2,2,.4,1) both stamp-in;display:grid;position:absolute;inset:0;rotate:-6deg}.agent.big{padding:.5rem 1.2rem .5rem .5rem;font-size:1.4rem}.agent.big .agent-avatar{width:3.2rem;height:3.2rem;font-size:1.6rem}.agent.big .agent-stamp{font-size:1.6rem}.kick{color:var(--red)}.agent .spy-tag{border:2px solid var(--red);color:var(--red);font-family:var(--display);letter-spacing:.12em;text-shadow:0 0 8px var(--red);padding:.05rem .45rem;font-weight:400;animation:.5s cubic-bezier(.2,2,.4,1) .3s both stamp-in;display:inline-block;rotate:-5deg}.mission-agents .agent{font-size:1.15rem}.settings{flex-direction:column;gap:1.1rem;margin-bottom:1.2rem;display:flex}.setting{flex-direction:column;gap:.5rem;display:flex}.setting-label{font-family:var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.14em;font-size:.85rem}.setting-label .count{color:var(--amber)}.segmented{flex-wrap:wrap;gap:.4rem;display:flex}.segmented button,.quick button{border:1px solid var(--line-strong);cursor:pointer;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);background:#22e6ff0d;flex:1;min-width:4.2rem;padding:.6rem .5rem;font-weight:700;transition:background .15s}.segmented button.on{border-color:var(--cyan);color:#fff;text-shadow:0 0 8px var(--cyan);background:#22e6ff4d;box-shadow:inset 0 0 16px #22e6ff73}.segmented button:disabled{opacity:.35;cursor:not-allowed}.quick{gap:.4rem;display:flex}.quick button{padding:.4rem;font-size:.85rem}.loc-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.7rem;display:grid}.loc-grid.mini{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.45rem}.loc-grid.phone-locs{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.loc{--c:hsl(var(--hue) 95% 60%);border:1px solid color-mix(in srgb, var(--c) 45%, transparent);background:radial-gradient(circle at 50% 30%, color-mix(in srgb, var(--c) 22%, transparent), transparent 70%), #050a12d9;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.3rem;min-height:6.2rem;padding:.6rem .4rem;transition:opacity .3s,transform .3s,filter .3s;animation:.45s ease-out both rise;display:flex;position:relative}.loc-grid .loc:nth-child(3n+2){animation-delay:40ms}.loc-grid .loc:nth-child(3n){animation-delay:80ms}button.loc{cursor:pointer;color:inherit}button.loc:active{transform:scale(.95)}.loc-emoji{filter:drop-shadow(0 0 10px color-mix(in srgb, var(--c) 60%, transparent));font-size:2.4rem;line-height:1}.loc-name{font-size:.95rem;font-weight:700;line-height:1.1}.loc-grid.mini .loc{min-height:4.4rem;padding:.35rem}.loc-grid.mini .loc-emoji{font-size:1.5rem}.loc-grid.mini .loc-name{font-size:.72rem}.loc-grid.phone-locs .loc{min-height:4.8rem}.loc-grid.phone-locs .loc-emoji{font-size:1.8rem}.loc-grid.phone-locs .loc-name{font-size:.75rem}.loc.off{opacity:.28;filter:grayscale();border-style:dashed}.loc.crossed{opacity:.32;filter:grayscale()}.loc.crossed:after{content:"✕";color:var(--red);text-shadow:0 0 12px var(--red);place-items:center;font-size:3rem;display:grid;position:absolute;inset:0}.loc.selected{border:2px solid var(--red);transform:scale(1.04);box-shadow:inset 0 0 22px #ff2e4d8c}.loc.highlight{border:2px solid var(--c);box-shadow:0 0 26px color-mix(in srgb, var(--c) 70%, transparent), inset 0 0 26px color-mix(in srgb, var(--c) 40%, transparent);animation:1.6s ease-in-out infinite pulse}.loc.dim{opacity:.25}.loc-grid.scanning .loc{animation:1.4s ease-in-out infinite scan-tile}.loc-grid.scanning .loc:nth-child(odd){animation-delay:.35s}.loc-grid.scanning .loc:nth-child(3n){animation-delay:.7s}.tv-mission{flex:1;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:clamp(300px,24vw,560px) minmax(0,1fr);gap:1rem;padding:1rem 1.2rem;display:grid;position:relative}@media (width>=1001px){.tv:has(.tv-mission){height:100dvh}.tv-mission{min-height:0}.mission-side .radar{font-size:min(1.9vw,3.4vh);width:min(19vw,34vh)!important;height:min(19vw,34vh)!important}}.mission-side{flex-direction:column;align-items:center;gap:1rem;display:flex}.side-status{font-family:var(--mono);color:var(--amber);animation:1.2s steps(2,end) infinite blink}.intel{flex-direction:column;gap:.5rem;width:100%;margin:0;display:flex}.intel div{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:baseline;padding:.45rem .2rem;display:flex}.intel dt{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.85rem}.intel dd{margin:0;font-size:1.25rem;font-weight:700}.last-vote{font-family:var(--mono);color:var(--muted);font-size:.85rem}.mission-board{flex-direction:column;gap:.8rem;min-width:0;display:flex}.board-title{color:var(--text);text-shadow:0 0 14px #22e6ff80;align-items:baseline;gap:1rem;font-size:2rem;display:flex}.board-title small{font-family:var(--mono);color:var(--muted);font-size:.95rem}.board-fit{flex:1;min-height:0;display:flex}.board-fit .loc-grid{grid-template-columns:repeat(var(--cols,7), minmax(0, 1fr));flex:1;grid-auto-rows:minmax(6rem,1fr)}.mission-board .loc{min-height:0}.mission-board .loc-emoji{font-size:clamp(2.2rem,5.5vh,5rem)}.mission-board .loc-name{font-size:clamp(.9rem,2vh,1.5rem)}.mission-agents{border-top:1px solid var(--line);flex-wrap:wrap;grid-column:1/-1;justify-content:center;gap:.6rem;padding:.8rem;display:flex}.radar{--rc:var(--cyan);border-radius:50%;flex:none;position:relative}.radar.hurry{--rc:var(--red)}.radar svg{width:100%;height:100%;position:absolute;inset:0}.radar-bg{fill:#22e6ff0d;stroke:var(--line);stroke-width:1px}.radar-grid{fill:none;stroke:#22e6ff29;stroke-width:.5px}.radar-ring{fill:none;stroke:var(--rc);stroke-width:4px;stroke-linecap:round;filter:drop-shadow(0 0 3px var(--rc));transition:stroke-dashoffset .3s linear}.radar-sweep{background:conic-gradient(from 0deg, transparent 0 75%, color-mix(in srgb, var(--rc) 45%, transparent) 100%);border-radius:50%;animation:2.6s linear infinite sweep;position:absolute;inset:6%;-webkit-mask-image:radial-gradient(circle,#000 68%,#0000 70%);mask-image:radial-gradient(circle,#000 68%,#0000 70%)}.radar.paused .radar-sweep{opacity:.3;animation-play-state:paused}.radar-time{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.radar-time b{font-family:var(--mono);color:#fff;text-shadow:0 0 14px var(--rc);font-size:2.6em}.radar-time span{font-family:var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.14em;font-size:.75em}.radar.hurry .radar-time b{animation:1s ease-in-out infinite heartbeat}.mission-top .radar{font-size:.75rem}.overlay{z-index:20;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#03050ab8;place-items:center;padding:2rem;animation:.3s ease-out both fade;display:grid;position:fixed;inset:0}.overlay.alert{background:radial-gradient(circle,#ff2e4d2e,#0000 70%),#03050ac7;animation:.3s ease-out both fade,1.6s ease-in-out infinite alarm-bg}.dossier{background:repeating-linear-gradient(0deg, #22e6ff08 0 2px, transparent 2px 4px), var(--panel-solid);border:2px solid var(--line-strong);clip-path:polygon(0 0,calc(100% - 30px) 0,100% 30px,100% 100%,30px 100%,0 calc(100% - 30px));text-align:center;flex-direction:column;align-items:center;gap:1.2rem;width:min(100%,54rem);padding:2.6rem;animation:.45s cubic-bezier(.2,1.4,.4,1) both zoom-in;display:flex;position:relative}.dossier h2{text-shadow:0 0 20px #22e6ff99;font-size:4rem}.dossier p{color:var(--muted);font-size:1.6rem}.dossier .stamp-top{font-size:2rem}.dossier .agent.big{font-size:1.9rem}.dossier .agent.big .agent-avatar{width:4rem;height:4rem;font-size:2rem}.dossier .phase-bar{height:2rem}.progress-count{font-family:var(--mono);color:var(--amber);font-size:2rem}.versus{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.2rem;display:flex}.vs{font-family:var(--display);color:var(--red);text-transform:uppercase;text-shadow:0 0 14px var(--red);font-size:1.8rem}.vote-meter{flex-direction:column;align-items:center;gap:.6rem;display:flex}.vote-meter b{font-family:var(--mono);color:var(--amber);font-size:1.6rem}.vote-dots{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.vote-dots span{border:2px solid var(--amber);width:1.4rem;height:1.4rem;transition:background .3s,box-shadow .3s;rotate:45deg}.vote-dots span.on{background:var(--amber);box-shadow:0 0 14px var(--amber);animation:.3s ease-out pop}.phase-bar{border:1px solid var(--line-strong);background:#22e6ff0d;width:100%;height:1.5rem;position:relative;overflow:hidden}.phase-bar div{background:linear-gradient(90deg, var(--cyan), color-mix(in srgb, var(--cyan) 50%, #fff));height:100%;box-shadow:0 0 14px var(--cyan);transition:width .3s linear}.phase-bar.hurry div{background:var(--red);box-shadow:0 0 14px var(--red)}.phase-bar span{font-family:var(--mono);text-shadow:0 0 4px #000;place-items:center;font-weight:700;display:grid;position:absolute;inset:0}.scan-line{background:linear-gradient(90deg, transparent, var(--red), transparent);width:100%;height:4px;box-shadow:0 0 20px var(--red);animation:1.2s ease-in-out infinite alternate scanx}.banner{z-index:40;border:2px solid var(--cyan);text-align:center;clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);background:#050a12f2;width:max-content;max-width:calc(100% - 2rem);padding:.8rem 1.6rem;font-size:1.15rem;font-weight:700;animation:4s ease-in-out both banner;position:fixed;top:4.2rem;left:50%;translate:-50%;box-shadow:0 0 30px #22e6ff66}.banner-accuse,.banner-spyReveal,.banner-timeUp,.banner-innocent{border-color:var(--red);box-shadow:0 0 30px #ff2e4d80}.banner-spyCaught{border-color:var(--green);box-shadow:0 0 30px #3dff8b73}.banner-voteFailed,.banner-cancel{border-color:var(--amber)}.tv .banner{font-size:1.8rem;top:5rem}.tv-suspense{flex:1;place-items:center;display:grid}.decrypt{text-align:center;font-family:var(--mono);color:var(--cyan);letter-spacing:.3em;text-shadow:0 0 20px var(--cyan);padding:3rem 1rem;font-size:2.4rem;animation:.3s steps(2,end) infinite glitch}.tv .decrypt{font-size:5rem}.tv-reveal{flex:1;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:1.2rem;padding:1.2rem;display:grid}.result{text-align:center;--rc:var(--cyan);flex-direction:column;gap:1rem;display:flex}.win-spies{--rc:var(--red)}.win-agents{--rc:var(--green)}.win-cancel{--rc:var(--amber)}.result-title{color:var(--rc);text-shadow:0 0 22px var(--rc), 3px 3px 0 #0009;font-size:2.6rem;animation:.55s cubic-bezier(.2,2,.4,1) both stamp-in}.tv .result-title{font-size:4.2rem}.result-reason{color:var(--muted);font-size:1.15rem}.tv .result-reason{font-size:1.5rem}.tv .result{gap:1.6rem;padding-top:1rem}.tv .result-body{gap:3rem}.tv .result-location .loc{width:15rem;min-height:13rem}.tv .result-location .loc-emoji{font-size:6rem}.tv .result-location .loc-name{font-size:1.6rem}.tv .result-body small{font-size:1rem}.tv .roles{font-size:1.15rem}.you{font-family:var(--display);letter-spacing:.2em;border:3px solid;align-self:center;padding:.3rem 1.4rem;font-size:2rem;animation:.5s cubic-bezier(.2,2,.4,1) .2s both stamp-in;rotate:-3deg}.you.won{color:var(--green);text-shadow:0 0 16px var(--green)}.you.lost{color:var(--red);text-shadow:0 0 16px var(--red)}.result-body{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:1.4rem;display:flex}.result-body small{font-family:var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.14em;margin-bottom:.4rem;display:block}.result-location .loc{width:170px;min-height:9rem}.result-location .loc-emoji{font-size:3.6rem}.result-location .loc-name{font-size:1.15rem}.result-spies{flex-direction:column;align-items:center;display:flex}.spy-list{flex-direction:column;gap:.6rem;display:flex}.guess-line{margin-top:.6rem}.roles{text-align:left;font-size:.95rem}.roles summary{cursor:pointer;font-family:var(--mono);color:var(--cyan);text-align:center}.roles ul{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.3rem 1rem;margin:.6rem 0 0;padding:0;list-style:none;display:grid}.roles li{border-left:3px solid var(--player);color:var(--muted);padding:.25rem .5rem}.roles li b{color:var(--player)}.scoreboard{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.scoreboard li{background:linear-gradient(90deg, color-mix(in srgb, var(--player) 14%, transparent), transparent);border-left:3px solid var(--player);align-items:center;gap:.6rem;padding:.35rem .7rem;animation:.4s ease-out both rise;display:flex}.scoreboard .agent-avatar{width:1.8rem;height:1.8rem;font-size:.95rem}.rank{width:1.4rem;font-family:var(--mono);color:var(--muted)}.sb-name{flex:1;font-weight:700}.sb-gain{font-family:var(--mono);color:var(--green);text-shadow:0 0 10px var(--green);font-weight:700;animation:.5s cubic-bezier(.2,2,.4,1) .6s both pop}.sb-score{text-align:right;min-width:2.2rem;font-family:var(--mono);color:var(--amber);font-size:1.3rem}.actions{flex-direction:column;gap:.6rem;margin-top:1.2rem;display:flex}.tv-finished,.phone-finished{flex-direction:column;flex:1;align-items:center;gap:1.6rem;padding:1.6rem 1rem;display:flex}.tv-finished .scoreboard,.tv-finished .btn,.phone-finished .scoreboard{width:min(100%,520px)}.glitch{text-align:center;color:var(--text);text-shadow:3px 0 var(--red), -3px 0 var(--cyan), 0 0 26px #22e6ff99;font-size:clamp(2rem,7vw,4.6rem);animation:2.6s infinite glitch-text}.podium{justify-content:center;align-items:flex-end;gap:.8rem;display:flex}.podium-step{flex-direction:column;align-items:center;gap:.3rem;width:8.5rem;animation:.6s ease-out both rise;display:flex}.podium-step.p1{animation-delay:.4s}.podium-step.p2{animation-delay:.2s}.podium-medal{font-size:2.4rem}.podium-step .agent-avatar{width:3rem;height:3rem;font-size:1.5rem}.podium-score{font-family:var(--mono);color:var(--amber)}.podium-block{width:100%;font-family:var(--display);color:var(--player);border:2px solid var(--player);background:linear-gradient(180deg, color-mix(in srgb, var(--player) 30%, transparent), transparent);box-shadow:0 0 24px color-mix(in srgb, var(--player) 40%, transparent);place-items:center;font-size:2.4rem;display:grid}.p1 .podium-block{height:9rem}.p2 .podium-block{height:6.5rem}.p3 .podium-block{height:4.5rem}.phone{min-height:100dvh;padding:max(1rem, env(safe-area-inset-top)) 16px max(1rem, env(safe-area-inset-bottom));flex-direction:column;align-items:center;gap:1rem;display:flex}.phone>.logo{margin-top:1.6rem}.phone-game{flex-direction:column;gap:.9rem;width:100%;max-width:520px;display:flex}.phone-header{z-index:30;gap:.5rem;margin:0 -16px;padding:.5rem 16px;position:sticky;top:0}.phone .banner{font-size:1rem;top:3.8rem}.join{text-align:center;flex-direction:column;align-items:stretch;gap:1rem;width:100%;max-width:420px;display:flex}.join .stamp-top{align-self:center}.join h1{text-shadow:0 0 14px #22e6ff8c;font-size:2rem}.join label{text-align:left;flex-direction:column;gap:.35rem;display:flex}.join label span{font-family:var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.14em;font-size:.8rem}.join input{border:1px solid var(--line-strong);clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);background:#22e6ff0d;outline:none;width:100%;padding:.8rem 1rem;font-size:1.15rem}.join input:focus{border-color:var(--cyan);box-shadow:inset 0 0 14px #22e6ff4d}.code-input{letter-spacing:.4em;text-align:center;color:var(--amber);font-family:var(--display)!important;font-size:2.4rem!important}.share{border:1px solid var(--line);background:var(--panel);align-items:center;gap:1rem;padding:1rem;display:flex}.share svg{flex:none}.share small{font-family:var(--mono);color:var(--muted)}.share>div{min-width:0}.share .big-code{letter-spacing:.12em;font-size:2.6rem}.phone-lobby{flex-direction:column;gap:.9rem;display:flex}.btn.sticky{background:linear-gradient(180deg, #22e6ff59, #22e6ff1f), var(--panel-solid);bottom:max(.6rem, env(safe-area-inset-bottom));z-index:5;position:sticky}.pulse-dot{background:var(--cyan);border-radius:50%;width:14px;height:14px;margin:0 auto .6rem;animation:1.6s infinite ring;box-shadow:0 0 #22e6ffb3}.panel.center{text-align:center;flex-direction:column;align-items:center;gap:.8rem;display:flex}.phone-briefing{flex-direction:column;align-items:stretch;gap:1rem;display:flex}.mission-title{text-align:center;color:var(--cyan);text-shadow:0 0 18px #22e6ff99;font-size:2.2rem}.secret{--c:hsl(var(--hue) 95% 60%);border:2px solid var(--line-strong);clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,26px 100%,0 calc(100% - 26px));-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;cursor:pointer;min-height:300px;position:relative;overflow:hidden}.secret.compact{flex:1;min-height:74px}.secret-cover,.secret-inside{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.6rem;padding:1rem;transition:opacity .15s,transform .25s;display:flex;position:absolute;inset:0}.secret-cover{background:repeating-linear-gradient(45deg,#ffc23d0f 0 12px,#0000 12px 24px),linear-gradient(160deg,#1a1408,#0b0a06)}.secret-cover:before{content:"";border:1px dashed #ffc23d59;position:absolute;inset:10px}.secret-hint{font-family:var(--mono);color:var(--amber);font-size:.95rem;animation:1.6s steps(2,end) infinite blink}.secret.compact .secret-cover{flex-direction:row;gap:.6rem;padding:.4rem}.secret.compact .stamp-top{border-width:2px;padding:.1rem .4rem;font-size:.65rem}.secret.compact .secret-hint{font-size:.75rem}.secret-inside{opacity:0;background:radial-gradient(circle at 50% 30%, color-mix(in srgb, var(--c) 35%, transparent), transparent 70%), #07101c;transform:scale(.92)}.secret.spy .secret-inside{background:radial-gradient(circle at 50% 30%,#ff2e4d73,#0000 70%),repeating-linear-gradient(0deg,#ff2e4d0f 0 2px,#0000 2px 4px),#12040a}.secret.open .secret-inside{opacity:1;transform:none}.secret.open .secret-cover{opacity:0}.secret.open{border-color:var(--c);box-shadow:0 0 30px color-mix(in srgb, var(--c) 50%, transparent)}.secret.spy.open{border-color:var(--red)}.secret-emoji{filter:drop-shadow(0 0 16px color-mix(in srgb, var(--c) 70%, transparent));font-size:4.8rem;line-height:1}.secret-title{font-family:var(--display);color:#fff;text-shadow:0 0 16px var(--c);font-size:2rem;font-weight:400;line-height:1.05}.secret.spy .secret-title{color:var(--red);text-shadow:0 0 18px var(--red)}.secret-role{color:var(--muted);font-size:1.2rem}.secret-role b{color:var(--amber)}.secret-sub{color:var(--muted)}.secret.compact .secret-inside{flex-direction:row;gap:.6rem;padding:.4rem .6rem}.secret.compact .secret-emoji{font-size:2rem}.secret.compact .secret-title{font-size:1rem}.secret.compact .secret-role{font-size:.85rem}.secret.compact .secret-sub{display:none}.phone-mission{flex-direction:column;gap:.8rem;display:flex}.mission-top{align-items:center;gap:.8rem;display:flex}.mission-info{flex-direction:column;flex:1;gap:.4rem;min-width:0;display:flex}.mission-info small{font-family:var(--mono);color:var(--muted)}.mission-info .secret.compact{min-height:84px}.tabs{gap:.4rem;display:flex}.tabs button{border:1px solid var(--line);cursor:pointer;clip-path:polygon(10px 0,100% 0,100% 100%,0 100%,0 10px);background:#22e6ff0a;flex:1;padding:.7rem;font-weight:700}.tabs button.on{border-color:var(--cyan);text-shadow:0 0 8px var(--cyan);background:#22e6ff33}.accuse-list{flex-direction:column;gap:.7rem;display:flex}.accuse-list .agents,.vote-box .agents{flex-direction:column}.accuse-list .agent,.vote-box .agent{width:100%;padding:.55rem .9rem .55rem .55rem;font-size:1.1rem}.accuse-list .agent-tag,.vote-box .agent-tag{color:var(--red);text-transform:uppercase;margin-left:auto}.vote-box{text-align:center;border-color:#ff2e4d80;flex-direction:column;align-items:stretch;gap:.8rem;display:flex}.vote-box:before{background:var(--red);box-shadow:0 0 12px var(--red)}.vote-box .stamp-top{align-self:center}.vote-box>p{font-size:1.15rem}.vote-box.alert{animation:.5s ease-in-out shake}.vote-buttons{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.vote-buttons .btn{padding:1.2rem .5rem;font-size:1rem}.caught-box{color:var(--red);font-weight:700}.phone-reveal{flex-direction:column;gap:.9rem;display:flex}.phone-reveal .result{background:var(--panel);border:1px solid var(--line);padding:1rem}.phone-reveal .result-title{font-size:2rem}.phone-reveal .result-location .loc{width:140px;min-height:7.4rem}.phone .podium-step{width:6.2rem}@media (width<=1000px){.board-fit .loc-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));grid-auto-rows:7rem}.tv-lobby,.tv-reveal,.tv-mission{grid-template-columns:1fr}.mission-side{flex-flow:wrap;justify-content:center}.intel{width:auto;min-width:220px}.join-box{text-align:center;flex-direction:column}}@media (width<=420px){.logo-text b{font-size:2.5rem}.logo-eye{font-size:2.8rem}.big-code{font-size:3.4rem}.podium-step{width:5.6rem}.tv-header .logo{display:none}}@keyframes bob{50%{transform:translateY(-6px)rotate(-4deg)}}@keyframes blink{50%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}@keyframes pop{0%{opacity:0;transform:scale(.6)}}@keyframes fade{0%{opacity:0}}@keyframes zoom-in{0%{opacity:0;transform:scale(.7)rotate(-2deg)}}@keyframes stamp-in{0%{opacity:0;transform:scale(2.6)rotate(-12deg)}70%{opacity:1;transform:scale(.94)rotate(-4deg)}to{transform:scale(1)rotate(-4deg)}}@keyframes glow{50%{box-shadow:inset 0 0 26px #22e6ff80,0 0 22px #22e6ff73}}@keyframes glow-red{50%{box-shadow:inset 0 0 26px #ff2e4d99,0 0 26px #ff2e4d8c}}@keyframes pulse{50%{transform:scale(1.05)}}@keyframes sweep{to{transform:rotate(360deg)}}@keyframes heartbeat{15%{transform:scale(1.12)}30%{transform:scale(1)}}@keyframes alarm-bg{50%{background-color:#28040cd9}}@keyframes scan-tile{50%{border-color:var(--red);box-shadow:inset 0 0 20px #ff2e4d73}}@keyframes scanx{0%{transform:scaleX(.2)translate(-200%)}to{transform:scaleX(.2)translate(200%)}}@keyframes banner{0%{opacity:0;transform:translateY(-30px)scale(.9)}8%,88%{opacity:1;transform:none}to{opacity:0;transform:translateY(-20px)}}@keyframes glitch{50%{text-shadow:-3px 0 var(--red), 3px 0 var(--cyan);transform:translate(2px,-1px)}}@keyframes glitch-text{0%,92%,to{transform:none}94%{transform:translate(-4px,2px)skew(8deg)}96%{transform:translate(4px,-2px)skew(-6deg)}}@keyframes ring{70%{box-shadow:0 0 0 16px #22e6ff00}to{box-shadow:0 0 #22e6ff00}}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}.tv .scoreboard li{padding:.6rem .9rem;font-size:1.3rem}.tv .scoreboard .agent-avatar{width:2.4rem;height:2.4rem}.btn.danger.sticky{background:linear-gradient(180deg, #ff2e4d73, #ff2e4d26), var(--panel-solid)}.spy-action .secret-emoji{font-size:3rem}
