:root{--ink:#171b2f;--blue:#315eea;--cyan:#55dce9;--coral:#ff7156;--paper:#fbfaf5;--muted:#7d8291;--line:rgba(23,27,47,.13)}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif}button,input,select{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}.orb{position:fixed;z-index:-1;border-radius:50%;filter:blur(12px);opacity:.3}.orb-one{width:410px;height:410px;right:-170px;top:90px;background:#9ec0ff}.orb-two{width:330px;height:330px;left:-180px;bottom:30px;background:#a9f3e1}.play-nav{min-height:76px;padding:13px clamp(18px,5vw,70px);display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line)}.play-nav>a,.play-nav>button{padding:10px 16px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.72);font-size:12px;font-weight:800;cursor:pointer}.game-logo{display:flex;align-items:center;gap:10px;font-weight:800}.game-logo span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:#fff;font-size:25px}.game-shell{width:min(1160px,calc(100% - 32px));margin:auto;padding:clamp(40px,7vw,84px) 0 70px}.screen{display:none}.screen.active{display:block;animation:enter .4s ease both}@keyframes enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.setup-screen{grid-template-columns:minmax(290px,.85fr) minmax(480px,1.15fr);gap:clamp(45px,8vw,110px);align-items:start}.setup-screen.active{display:grid}.setup-copy{position:sticky;top:110px;padding-top:24px}.game-tag,.setup-card>span,.round-top span,.mission-card span,.result-screen>span,dialog>span{color:var(--blue);text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:800}.setup-copy h1{margin:22px 0;font:700 clamp(58px,8vw,100px)/.88 Unbounded,sans-serif;letter-spacing:-.085em}.setup-copy h1 em{color:var(--coral);font-style:normal}.setup-copy p{max-width:500px;color:var(--muted);font-size:17px;line-height:1.7}.location-cloud{margin-top:32px;display:flex;flex-wrap:wrap;gap:7px;transform:rotate(-2deg)}.location-cloud i{padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--blue);font-size:10px;font-weight:800;font-style:normal}.setup-card{padding:clamp(24px,4vw,42px);border:1px solid var(--line);border-radius:32px;background:rgba(255,255,255,.88);box-shadow:0 34px 90px rgba(49,94,234,.11);backdrop-filter:blur(14px)}.setup-card h2{margin:8px 0 25px;font:600 clamp(28px,4vw,40px)/1.1 Unbounded,sans-serif;letter-spacing:-.06em}.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.setup-grid label,.player-field{padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:#fafafd}.setup-grid small,.player-field small{display:block;color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.setup-grid select,.player-field input{width:100%;margin-top:5px;padding:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:15px;font-weight:800}.spy-count-note{margin:10px 0 16px;padding:9px 12px;border-radius:12px;background:#eef1ff;color:var(--blue);font-size:10px;font-weight:800}.player-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.player-field{display:block}.rule-card{margin-top:18px;padding:15px 17px;border-radius:15px;background:#eef9f7}.rule-card b{font-size:12px}.rule-card p{margin:5px 0 0;color:#667d7a;font-size:11px;line-height:1.5}.primary-action{width:100%;min-height:58px;margin-top:20px;padding:15px 20px;display:flex;align-items:center;justify-content:space-between;border:0;border-radius:17px;background:var(--blue);color:#fff;cursor:pointer;font-weight:800;transition:.2s}.primary-action:hover{transform:translateY(-2px);background:#2147c2}.reveal-screen,.result-screen{width:min(620px,100%);margin:auto;text-align:center}.reveal-progress{margin-bottom:16px;display:flex;align-items:center;gap:14px;color:var(--muted);font-size:10px;font-weight:800}.reveal-progress>i{height:5px;flex:1;overflow:hidden;border-radius:20px;background:#e2e5ec}.reveal-progress b{display:block;width:0;height:100%;border-radius:inherit;background:var(--blue);transition:width .35s}.handoff-card,.role-card,.result-screen{padding:clamp(28px,7vw,60px);border:1px solid var(--line);border-radius:34px;background:rgba(255,255,255,.92);box-shadow:0 35px 100px rgba(23,27,47,.15)}.handoff-card>span,.role-card>span{color:var(--blue);text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:800}.handoff-card h2,.role-card h2{margin:13px 0 9px;font:600 clamp(34px,7vw,56px)/1.05 Unbounded,sans-serif;letter-spacing:-.06em}.handoff-card p,.role-card p{color:var(--muted)}.role-symbol{width:118px;height:118px;margin:20px auto;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:#fff;font-size:72px;box-shadow:0 0 0 18px rgba(49,94,234,.1)}.role-card.spy{background:linear-gradient(145deg,#161a2d,#25284a);color:#fff}.role-card.spy p,.role-card.spy small{color:#b9bdd1}.role-card.spy .role-symbol{background:var(--coral);box-shadow:0 0 0 18px rgba(255,113,86,.12)}.role-card strong{display:block;margin:10px 0;color:var(--coral);font:600 clamp(30px,6vw,48px) Unbounded,sans-serif}.role-card small{display:block;color:var(--muted);line-height:1.5}.round-screen{width:min(900px,100%);margin:auto}.round-top{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.round-top h2{margin:8px 0 0;font:600 clamp(32px,5vw,52px)/1.06 Unbounded,sans-serif;letter-spacing:-.06em}.timer{padding:14px 18px;border-radius:18px;background:var(--ink);color:#fff;font:600 clamp(28px,5vw,48px) Unbounded,sans-serif}.timer.danger{background:var(--coral);animation:pulse 1s infinite}@keyframes pulse{50%{transform:scale(.96)}}.mission-card{padding:clamp(22px,4vw,36px);display:grid;grid-template-columns:170px 1fr;gap:28px;align-items:center;border-radius:30px;background:linear-gradient(135deg,#171b2f,#2b4292);color:#fff}.mission-card h3{margin:8px 0;font:600 clamp(24px,4vw,39px)/1.12 Unbounded,sans-serif;letter-spacing:-.05em}.mission-card p{margin:0;color:#bcc7e4;line-height:1.6}.radar{width:150px;height:150px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:50%;position:relative}.radar:before,.radar:after{content:"";position:absolute;inset:19%;border:1px dashed rgba(255,255,255,.22);border-radius:50%}.radar:after{inset:36%}.radar i{position:absolute;width:50%;height:1px;left:50%;top:50%;transform-origin:left;background:var(--cyan);animation:scan 3s linear infinite}@keyframes scan{to{transform:rotate(360deg)}}.radar b{font:600 58px Unbounded,sans-serif}.players-live{margin-top:16px;display:flex;flex-wrap:wrap;gap:7px}.players-live span{padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:10px;font-weight:800}.round-actions{margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.round-actions button{min-height:62px;border:0;border-radius:18px;color:#fff;cursor:pointer;font-weight:800}.civilian-win{background:var(--blue)}.spy-win{background:var(--coral)}.result-icon{width:110px;height:110px;margin:0 auto 22px;display:grid;place-items:center;border-radius:50%;background:var(--blue);color:#fff;font-size:55px}.result-screen.spy-won .result-icon{background:var(--coral)}.result-screen h2{margin:12px 0;font:600 clamp(34px,7vw,55px)/1.05 Unbounded,sans-serif;letter-spacing:-.06em}.result-screen>p{color:var(--muted)}.spy-reveal{margin:20px 0;padding:16px;border-radius:17px;background:#f1f3fa}.spy-reveal small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase}.spy-reveal b{display:block;margin-top:4px}.score-list{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;text-align:left}.score-list div{padding:10px 12px;border:1px solid var(--line);border-radius:13px;font-size:10px}.score-list b{float:right;color:var(--blue)}.result-actions{display:grid;grid-template-columns:1.2fr .8fr;gap:9px}.result-actions .primary-action{margin-top:18px}.result-actions>button:not(.primary-action){margin-top:18px;border:1px solid var(--line);border-radius:17px;background:#fff;cursor:pointer;font-weight:800}dialog{width:min(610px,calc(100% - 28px));max-height:calc(100vh - 28px);padding:clamp(25px,5vw,46px);border:1px solid var(--line);border-radius:28px;background:#fff;color:var(--ink);box-shadow:0 40px 100px rgba(23,27,47,.35)}dialog::backdrop{background:rgba(23,27,47,.67);backdrop-filter:blur(8px)}dialog>button{position:absolute;right:20px;top:20px;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#f3f4f8;cursor:pointer;font-size:24px}dialog h2{margin:9px 0 22px;font:600 34px Unbounded,sans-serif;letter-spacing:-.05em}dialog ol{margin:0;padding-left:23px}dialog li{padding:8px 0 8px 7px;color:var(--muted);font-size:13px;line-height:1.55}dialog li::marker{color:var(--coral);font-weight:800}@media(max-width:820px){.setup-screen.active{display:block}.setup-copy{position:static;padding:0 3px 40px}.location-cloud{display:none}.setup-card{border-radius:25px}}@media(max-width:570px){.play-nav{min-height:65px}.play-nav>a,.play-nav>button{padding:9px 11px;font-size:10px}.game-logo{font-size:11px}.game-logo span{width:35px;height:35px}.game-shell{width:calc(100% - 20px);padding-top:30px}.setup-copy h1{font-size:clamp(54px,18vw,78px)}.setup-grid,.player-fields,.round-actions,.result-actions{grid-template-columns:1fr}.mission-card{grid-template-columns:1fr}.radar{width:115px;height:115px}.round-top{align-items:flex-start;flex-direction:column}.timer{width:100%;text-align:center}.score-list{grid-template-columns:1fr}.handoff-card,.role-card,.result-screen{border-radius:24px}.result-actions>button:not(.primary-action){min-height:56px;margin-top:0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.spy-hero-incognito{position:relative;width:220px;height:158px;margin-top:27px;filter:drop-shadow(0 18px 18px rgba(23,27,47,.2));transform:rotate(-3deg)}.spy-hero-glasses{position:absolute;left:15px;right:15px;top:10px;display:flex;justify-content:center;gap:10px}.spy-hero-glasses:before{content:"";position:absolute;left:50%;top:34px;width:22px;height:8px;border-radius:999px;background:#4b5667;transform:translateX(-50%)}.spy-hero-glasses span{position:relative;width:72px;height:72px;border:8px solid #4b5667;border-radius:50%;background:rgba(49,94,234,.07)}.spy-hero-glasses span:first-child:before,.spy-hero-glasses span:last-child:after{content:"";position:absolute;top:24px;width:40px;height:8px;border-radius:999px;background:#4b5667}.spy-hero-glasses span:first-child:before{right:58px}.spy-hero-glasses span:last-child:after{left:58px}.spy-hero-mustache{position:absolute;left:0;top:82px;width:220px;height:90px;background:#3485c8;clip-path:path("M110 27 C98 16 87 18 78 29 C65 45 48 52 35 45 C25 39 23 27 29 18 C15 22 9 35 14 49 C22 69 46 76 67 68 C86 61 101 49 110 39 C119 49 134 61 153 68 C174 76 198 69 206 49 C211 35 205 22 191 18 C197 27 195 39 185 45 C172 52 155 45 142 29 C133 18 122 16 110 27 Z")}.spy-hero-mustache span{position:absolute;top:27px;width:15px;height:24px;border-radius:50%;background:var(--paper)}.spy-hero-mustache span:first-child{left:25px;transform:rotate(-18deg)}.spy-hero-mustache span:last-child{right:25px;transform:rotate(18deg)}
@media(max-width:820px){.spy-hero-incognito{display:none}}
