:root{--protest: #ffb000;--police: #2f7bff;--ink: #fdf8ef;--panel: rgba(18, 16, 30, .9);--panel-solid: #1b1a2e;--accent: #ff5d3a;--muted: #b7b0c8;font-family:Segoe UI,system-ui,-apple-system,Roboto,Noto Sans,Noto Sans Devanagari,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:#1b1a2e;color:var(--ink)}body{user-select:none;-webkit-user-select:none;touch-action:none}#game{position:fixed;inset:0;width:100%;height:100%;display:block}button{font:inherit;color:inherit;cursor:pointer}.screen{position:fixed;inset:0;display:none;align-items:flex-start;justify-content:center;overflow-y:auto;touch-action:pan-y;padding:16px;z-index:20}.screen.show{display:flex}.screen.overlay{background:#0a08149e;align-items:center}#menu{background:linear-gradient(180deg,#1b1a2e40,#1b1a2ebf)}.menu-card{width:min(760px,100%);margin:auto;background:var(--panel);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:22px;box-shadow:0 20px 60px #0006}.menu-card.narrow{width:min(560px,100%);text-align:center}.brand{text-align:center;margin-bottom:14px}.brand h1{margin:0;font-size:clamp(34px,7vw,56px);letter-spacing:1px;font-weight:900;background:linear-gradient(90deg,#ffb000,#ff5d3a 60%,#ff3d77);-webkit-background-clip:text;background-clip:text;color:transparent}.brand .hi{font-size:22px;color:#ffd8a8;margin-top:-4px}.brand .pitch{color:var(--muted);margin:8px auto 0;max-width:520px}.field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted);margin-bottom:12px}.field input{font:inherit;font-size:17px;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:#00000059;color:var(--ink);user-select:text}.section-title{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);margin:12px 0 8px}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.team-card,.role-card{border:2px solid rgba(255,255,255,.12);background:#ffffff0a;border-radius:14px;padding:12px;text-align:left;transition:transform .1s,border-color .15s,background .15s}.team-card:hover,.role-card:hover{transform:translateY(-1px)}.team-card h3{margin:0;font-size:18px}.team-card .hi{color:var(--muted);font-size:13px}.team-card p{margin:6px 0 0;font-size:13px;color:#ddd6ea}.team-card.protest.sel{border-color:var(--protest);background:#ffb0001f}.team-card.police.sel{border-color:var(--police);background:#2f7bff24}.role-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.role-card{padding:10px}.role-card .ic{font-size:24px}.role-card b{display:block;font-size:15px;margin-top:2px}.role-card small{display:block;color:var(--muted);font-size:11.5px;margin-top:4px;line-height:1.3}.role-card.sel{border-color:var(--accent);background:#ff5d3a24}.role-grid.compact .role-card small{display:none}.settings{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.settings label{display:flex;flex-direction:column;font-size:12px;color:var(--muted);gap:4px}.settings select{font:inherit;font-size:14px;padding:8px;border-radius:9px;background:#00000059;color:var(--ink);border:1px solid rgba(255,255,255,.2)}.settings select option{background:var(--panel-solid)}.modes{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}.modes button{flex:1 1 160px;padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;font-weight:700;font-size:15px}.modes button small{display:block;font-weight:400;font-size:11px;color:var(--muted)}.modes button.primary{background:linear-gradient(90deg,#ff8a00,#ff3d5a);border:none;font-size:18px}.modes button.primary small{color:#ffe9dc}.modes button:disabled{opacity:.45;cursor:not-allowed}.help{margin-top:14px;font-size:13.5px;color:#ddd6ea}.help summary{cursor:pointer;color:var(--ink);font-weight:600}.disclaimer{font-size:11px;color:#8f88a3;margin:14px 0 0;line-height:1.45}.round-score{font-size:40px;font-weight:900;margin:8px 0}.round-score .p{color:var(--protest)}.round-score .c{color:#8fb8ff}#re-title{font-size:30px;margin:0}#re-reason{color:#ddd6ea}#re-mvp{color:var(--muted);font-size:14px}#rotate-hint{display:none;position:fixed;left:50%;top:42%;transform:translate(-50%);padding:8px 16px;border-radius:999px;text-align:center;background:#140e0ad1;color:#fff;z-index:30;font-size:14px;pointer-events:none;white-space:nowrap;animation:hint-out 7s forwards}@keyframes hint-out{0%,80%{opacity:1}to{opacity:0;visibility:hidden}}body.touch .desktop-only{display:none!important}body:not(.touch) .touch-only{display:none!important}@media(orientation:portrait)and (pointer:coarse){body.playing #rotate-hint{display:block}}@media(max-width:760px),(max-height:500px){.role-grid,.settings{grid-template-columns:repeat(2,1fr)}}:root{--ts: 1}#hud,.menu-card{font-size:calc(16px * var(--ts))}.row2{display:grid;grid-template-columns:1fr 140px;gap:10px}.row2 select{font:inherit;font-size:16px;padding:10px;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:#00000059;color:var(--ink)}.row2 select option{background:var(--panel-solid)}.modes button.online{background:#2f7bff2e;border-color:#78aaff73}.panel{display:none;margin-top:10px;background:#00000040;border-radius:12px;padding:12px}.panel.show{display:block}.private-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.private-row .or{color:var(--muted)}.private-row input{font:inherit;font-size:20px;width:110px;text-transform:uppercase;letter-spacing:4px;text-align:center;padding:8px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:#00000059;color:var(--ink);user-select:text}button.small{padding:9px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:#ffffff14;font-weight:700}button.primary.small{background:linear-gradient(90deg,#ff8a00,#ff3d5a);border:none}#conn-status{min-height:20px;margin-top:8px;font-size:14px;color:#ffd8a8;text-align:center}#conn-status.bad{color:#ff8787}.settings-box .settings{margin-top:10px}.lobby-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}.code{font-size:54px;font-weight:900;letter-spacing:10px;color:#ffd166;line-height:1}.share{display:flex;gap:8px;flex-wrap:wrap}.wa{padding:10px 14px;border-radius:10px;border:none;background:#25d366;color:#062c14;font-weight:800}.lobby-teams{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.lobby-team{background:#ffffff0d;border-radius:12px;padding:10px;min-height:90px}.lobby-team h3{margin:0 0 6px;font-size:15px}.lobby-team.protest h3{color:var(--protest)}.lobby-team.police h3{color:#8fb8ff}.lobby-team ul{list-style:none;margin:0;padding:0;font-size:14px}.lobby-team li{padding:3px 0}.lobby-team li.off{opacity:.45}.lobby-team li.me{font-weight:800}.note{color:var(--muted);font-size:13px}.team-grid.compact .team-card{padding:8px 12px}.team-grid.compact .team-card p,.team-grid.compact .team-card .hi{display:none}#lobby-roles,#re-roles{margin-top:8px}@media(max-width:760px),(max-height:500px){.code{font-size:40px}.row2{grid-template-columns:1fr 110px}}.share-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}.share-row .sh{padding:7px 12px;border-radius:10px;font-size:13px;font-weight:700;color:#fff;text-decoration:none}.sh.wa{background:#1f9d55}.sh.tg{background:#2a8bd8}.sh.x{background:#111;border:1px solid rgba(255,255,255,.25)}.sh.fb{background:#3b5bdb}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:10px}.bdg{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;border-radius:10px;background:#ffffff0d;opacity:.6;text-align:left;line-height:1.25}.bdg.got{opacity:1;background:#ffb70329;border:1px solid rgba(255,183,3,.45)}.bdg .bdg-i{font-size:20px;line-height:1.2}.bdg b{font-size:13.5px;color:var(--ink)}.bdg small{color:#a9a2bb;font-size:11.5px}#re-badges{margin-top:10px;font-weight:700}.bdg-new{display:inline-block;padding:3px 10px;margin:3px 2px;border-radius:999px;background:#ffb703;color:#1b1a2e}.about h2{font-size:17px;margin:12px 0 6px;color:var(--ink)}.about h3{font-size:14.5px;margin:12px 0 4px;color:var(--ink)}.about ul{margin:4px 0;padding-left:20px}.about .note{font-size:12px;color:#a9a2bb}noscript{display:block;padding:24px;color:#fff}#menu{background:radial-gradient(ellipse at 50% 40%,#1b120a26,#120c08b8);align-items:center}.main-menu{width:min(720px,100%);background:linear-gradient(180deg,#261a12ed,#18110df2);border:1px solid rgba(255,176,0,.22);box-shadow:0 30px 80px #0000008c,inset 0 1px #ffffff0f;font-family:"Baloo 2",Segoe UI,system-ui,sans-serif}.main-menu .brand{margin-bottom:12px}.vs-chip{display:inline-flex;gap:8px;align-items:center;font-size:12.5px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;padding:4px 12px;border-radius:999px;background:#00000059}.vs-chip .p{color:var(--protest)}.vs-chip .c{color:#8fb8ff}.vs-chip i{color:var(--muted);font-style:normal;font-weight:600;text-transform:lowercase}.main-menu .brand h1{font-size:clamp(40px,8vw,64px);line-height:1;margin-top:8px;letter-spacing:2px;text-transform:uppercase;background:linear-gradient(180deg,#ffd166,#ff9f1c 45%,#ff5d3a);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 rgba(120,30,0,.55)) drop-shadow(0 8px 18px rgba(255,93,58,.25))}.main-menu .brand .hi{font-size:20px;font-weight:700;color:#ffe2b8;margin-top:2px}.chip3d{display:inline-block;font-size:12px;font-weight:800;padding:0 8px;border-radius:6px;background:#ff9f1c;color:#2b1606;vertical-align:middle}.main-menu .brand .pitch{font-size:15px;color:#e9dccb;max-width:600px;line-height:1.45}.name-row{display:grid;grid-template-columns:1fr 210px;gap:10px;margin-bottom:10px}.name-field,.look-field{display:flex;align-items:center;gap:10px;background:#00000052;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:4px 6px 4px 14px;font-size:13px;font-weight:700;color:var(--muted)}.name-field input,.look-field select{flex:1;min-width:0;font:inherit;font-size:17px;font-weight:700;padding:8px 10px;border:none;border-radius:9px;background:#ffffff0f;color:var(--ink);user-select:text}.look-field select option{background:var(--panel-solid)}.main-menu .team-grid{margin-bottom:8px}.main-menu .team-card{text-align:center;padding:10px 12px}.main-menu .team-card h3{font-size:18px}.main-menu .team-card.protest.sel{background:linear-gradient(180deg,#ffb00047,#ff78001f)}.main-menu .team-card.police.sel{background:linear-gradient(180deg,#2f7bff66,#2f7bff26)}.main-menu .modes{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:8px;margin-top:12px}.main-menu .modes button{padding:12px 10px}.main-menu .modes button.primary.big{font-size:22px;font-weight:800;letter-spacing:1px;text-transform:uppercase;background:linear-gradient(180deg,#ffc046,#ff8a00 55%,#f25c05);color:#2b1606;box-shadow:0 5px #a33f00,0 10px 24px #ff780059;transition:transform .08s,box-shadow .08s}.main-menu .modes button.primary.big small{color:#4a2508;font-weight:700;text-transform:none;letter-spacing:0}.main-menu .modes button.primary.big:hover{transform:translateY(-1px)}.main-menu .modes button.primary.big:active{transform:translateY(4px);box-shadow:0 1px #a33f00,0 4px 12px #ff78004d}.main-menu .modes button.online{background:#78503259;border-color:#ffc89633}.status-line{display:flex;flex-wrap:wrap;gap:6px 10px;justify-content:center;align-items:center;font-size:13.5px;font-weight:600;color:#e9dccb;margin-top:8px}.status-line:empty{display:none}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#999}.dot.green{background:#2ecc71;box-shadow:0 0 8px #2ecc71}.dot.amber{background:#ffb000;box-shadow:0 0 8px #ffb000}.dot.red{background:#ff4d4d}.status-line .tag{font-size:11.5px;font-weight:800;padding:1px 8px;border-radius:6px;background:#c1121f;color:#fff;text-transform:uppercase;letter-spacing:1px}.task{color:#e9dccb}.task b{color:#ffd166}.task.done{color:#8fe3a5}.task.done b{color:#2ecc71}.pills{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px}.pill{padding:7px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#ffffff12;font-weight:700;font-size:14px;transition:background .15s,transform .1s}.pill:hover{background:#ffffff24;transform:translateY(-1px)}.pill.share{background:#2ecc712e;border-color:#2ecc7173}.toggles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.toggle{padding:10px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:#00000047;font-weight:700;font-size:14.5px}.toggle.off{opacity:.55}.menu-foot{margin-top:14px;text-align:center}.menu-foot p{font-size:12px;color:#b9ab98;line-height:1.45;margin:0}.foot-links{display:flex;justify-content:center;gap:18px;margin-top:8px}button.link{background:none;border:none;padding:0;color:#ffd166;font-weight:700;font-size:13.5px;text-decoration:underline;text-underline-offset:3px}.modal{position:fixed;inset:0;z-index:40;display:none;align-items:center;justify-content:center;padding:16px;background:#080604a8}.modal.show{display:flex}.modal-card{position:relative;width:min(620px,100%);max-height:calc(100vh - 32px);overflow-y:auto;touch-action:pan-y;background:linear-gradient(180deg,#2a1d14,#1d1510);border:1px solid rgba(255,176,0,.25);border-radius:18px;padding:22px 22px 18px;font-family:"Baloo 2",Segoe UI,system-ui,sans-serif;font-size:15px;line-height:1.5;color:#eadfce;box-shadow:0 24px 70px #0009}.modal-card h2{margin:0 0 8px;font-size:24px;color:#ffd166}.modal-card h3{margin:14px 0 2px;font-size:16.5px;color:var(--ink)}.modal-card p{margin:4px 0}.m-close{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;border:none;background:#ffffff1a;font-size:16px}.modal-card .settings{grid-template-columns:repeat(2,1fr)}.keymap{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px 10px;margin:8px 0 10px}.keymap label{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13.5px}.key-btn{min-width:64px;padding:5px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.25);background:#00000059;font-weight:800;font-family:ui-monospace,Consolas,monospace}.key-btn.wait{border-color:#ffd166;color:#ffd166}button.install{margin-top:12px}#m-share .share-row{margin-top:10px}@media(max-width:600px){.name-row{grid-template-columns:1fr}.main-menu .modes{grid-template-columns:1fr 1fr}.main-menu .modes button.primary.big{grid-column:1 / -1}.toggles{grid-template-columns:1fr 1fr 1fr}.toggle{font-size:12.5px;padding:8px 4px}.main-menu .brand .pitch{font-size:14px}}@media(max-width:600px),(max-height:500px){.main-menu{padding:14px}.vs-chip{font-size:10.5px;letter-spacing:1px;white-space:nowrap;padding:3px 10px}.main-menu .brand h1{font-size:clamp(32px,10vw,44px);margin-top:6px}.main-menu .brand .hi{font-size:16px}.main-menu .brand .pitch{font-size:13px;line-height:1.35;margin-top:4px}.name-row{grid-template-columns:1fr 140px;gap:6px}.name-field,.look-field{padding:2px 4px 2px 10px;gap:6px}.name-field input,.look-field select{font-size:15px;padding:6px 8px}.main-menu .team-card{padding:8px}.main-menu .team-card h3{font-size:16px}.main-menu .team-card p,.main-menu .team-card .hi{display:none}.main-menu .role-grid{grid-template-columns:repeat(4,1fr);gap:6px}.main-menu .role-card{padding:6px 4px;text-align:center}.main-menu .role-card .ic{font-size:20px}.main-menu .role-card b{font-size:13px}.main-menu .role-card small{display:none}.main-menu .modes{margin-top:10px}.main-menu .modes button.primary.big{font-size:19px;padding:10px}}@media(max-width:380px){.name-row{grid-template-columns:1fr}}@media(max-height:500px){.main-menu .brand .pitch{display:none}}.name-row>label{min-width:0}@media(max-width:600px){.name-row{grid-template-columns:1fr 118px}.look-field>span{display:none}}@media(max-height:500px){.look-field>span{display:none}}.name-field.err{border-color:#ff4d4d;box-shadow:0 0 0 3px #ff4d4d4d;animation:shake .35s}@keyframes shake{25%{transform:translate(-6px)}50%{transform:translate(6px)}75%{transform:translate(-3px)}}#debug{position:fixed;left:0;right:0;top:env(safe-area-inset-top);z-index:50;padding:3px 8px;background:#000000bf;color:#7cfc9a;font:11px/1.3 ui-monospace,Consolas,monospace;pointer-events:none;white-space:nowrap;overflow:hidden}.main-menu .brand h1 .t1,.main-menu .brand h1 .t2{display:block}.main-menu .brand h1 .t1{font-size:.55em;letter-spacing:6px}.main-menu .brand h1 .t2{font-size:1.15em;line-height:.95;letter-spacing:4px}#hud{--card: rgba(255, 250, 240, .93);--card-line: rgba(120, 88, 50, .18);--ink-d: #2a2017;--mut-d: #7d6b57;--team: #ff7a00;--team-soft: rgba(255, 122, 0, .14);--shadow: 0 6px 22px rgba(40, 24, 8, .28);position:fixed;inset:0;pointer-events:none;display:none;z-index:10;color:var(--ink-d);font-family:"Baloo 2",Segoe UI,system-ui,sans-serif;font-size:calc(15px * var(--ts, 1));line-height:1.25}body[data-team=police] #hud{--team: #1f5fff;--team-soft: rgba(31, 95, 255, .12)}body.playing #hud{display:block}#hud button{pointer-events:auto;font-family:inherit;color:inherit}.card{background:var(--card);border:1px solid var(--card-line);border-radius:16px;box-shadow:var(--shadow)}.card-title{font-size:.72em;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--mut-d);display:flex;align-items:center;gap:6px}.pill{display:inline-flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--card-line);border-radius:999px;padding:3px 12px;box-shadow:var(--shadow);font-weight:700;font-size:.9em;white-space:nowrap}.pill:empty{display:none}.hud-left{position:absolute;top:calc(10px + env(safe-area-inset-top));left:10px;width:272px;display:flex;flex-direction:column;gap:8px;transform-origin:top left}#me-card{display:flex;gap:12px;padding:10px 12px;border-left:5px solid var(--team)}.badge{flex:0 0 56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:28px;background:var(--team-soft);box-shadow:inset 0 0 0 3px var(--team)}.me-info{flex:1;min-width:0}.me-name{font-weight:800;font-size:1.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.me-pts{font-size:.9em;color:var(--mut-d)}.me-pts b{font-size:1.55em;color:var(--team);font-variant-numeric:tabular-nums}.streak{display:inline-block;margin-left:4px;padding:0 8px;border-radius:999px;background:linear-gradient(90deg,#ff3d5a,#ff9f1c);color:#fff;font-weight:800;font-size:.85em}.streak:empty{display:none}.me-stats{font-size:.85em;color:var(--mut-d)}.me-stats b{color:var(--ink-d);font-size:1.15em}#crowd-sub{font-size:.9em}#crowd-sub.safe{color:#138a52;font-weight:700}.stamina{height:5px;background:#0000001a;border-radius:3px;margin-top:5px;overflow:hidden}#stamina-fill{height:100%;width:100%;background:linear-gradient(90deg,#2ec4b6,#6ee7b7);transition:width .2s}#missions{padding:8px 12px 10px}#mission-list{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:3px}#mission-list li{display:flex;align-items:center;gap:8px;font-size:.88em;font-weight:600}#mission-list .box{flex:0 0 18px;height:18px;border-radius:5px;border:2px solid var(--mut-d);display:grid;place-items:center;font-size:12px;color:#fff}#mission-list li.done .box{background:#2bb673;border-color:#2bb673}#mission-list li.done .mt{color:var(--mut-d);text-decoration:line-through}#mission-list .mp{margin-left:auto;color:var(--mut-d);font-variant-numeric:tabular-nums;font-size:.9em}.hud-center{position:absolute;top:calc(10px + env(safe-area-inset-top));left:50%;transform:translate(-50%);width:min(600px,44vw);display:flex;flex-direction:column;align-items:center;gap:6px;transform-origin:top center}#matchbar{width:100%;display:grid;grid-template-columns:auto 1fr;gap:12px;padding:8px 14px;align-items:center;position:relative}.mb-clock{text-align:center;padding-right:12px;border-right:1px solid var(--card-line)}#clock{font-size:1.9em;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}#phase{font-size:.8em;color:var(--mut-d);font-weight:700}.mb-meters{display:flex;flex-direction:column;gap:5px}.meter{display:flex;align-items:center;gap:8px;font-weight:800}.m-label{width:86px;font-size:.72em;letter-spacing:.1em;color:var(--mut-d);white-space:nowrap}.meter .bar{flex:1;height:14px;border-radius:7px;background:#0000001a;overflow:hidden;position:relative}#awaaz-fill{height:100%;width:0;background:linear-gradient(90deg,#ff7a00,#ffc300);transition:width .3s;box-shadow:0 0 10px #ff960099}.bar-ticks{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(25% - 1px),rgba(0,0,0,.15) calc(25% - 1px) 25%)}.bar.tug{background:#1f5fff;overflow:visible}#janmat-fill-p{position:absolute;left:0;top:0;bottom:0;background:#ff9f1c;border-radius:7px 0 0 7px;transition:width .3s}#janmat-marker{position:absolute;top:-4px;bottom:-4px;width:4px;border-radius:2px;background:#fff;box-shadow:0 0 0 1.5px var(--ink-d);transform:translate(-50%);transition:left .3s}.tug-l,.tug-r{position:absolute;top:50%;transform:translateY(-50%);font-size:10px}.tug-l{left:4px}.tug-r{right:4px}#awaaz-val,#janmat-val{width:40px;text-align:right;font-variant-numeric:tabular-nums}.mb-round{font-size:.66em;font-weight:700;color:var(--mut-d);white-space:nowrap}.hud-subrow{display:flex;gap:8px;margin-top:2px;flex-wrap:wrap;justify-content:center}#compass b{color:#c1121f}#compass-arrow{display:inline-block;color:#c1121f;font-size:1.1em;transition:transform .15s linear}#compass-dist{color:var(--mut-d)}.alert{display:none;max-width:100%;padding:6px 16px;border-radius:12px;background:#1e0e12e0;border:2px solid #ff3d5a;color:#fff;font-weight:700;font-size:.92em;text-align:center;box-shadow:var(--shadow)}.alert.show{display:block;animation:alert-in .35s ease-out}.alert b{color:#ff8fa3;letter-spacing:.05em}@keyframes alert-in{0%{transform:translateY(-8px);opacity:0}to{transform:none;opacity:1}}#leaders{position:absolute;top:calc(10px + env(safe-area-inset-top));right:10px;width:250px;padding:8px 10px 8px 12px;transform-origin:top right}#net-info{margin-left:auto;font-weight:600;letter-spacing:0;text-transform:none}#leader-list{list-style:none;margin:4px 0 0;padding:0}#leader-list li{display:grid;grid-template-columns:20px 12px 1fr auto;gap:6px;align-items:center;padding:2px 4px;border-radius:8px;font-size:.9em;font-weight:600}#leader-list li .rk{color:var(--mut-d);text-align:right;font-variant-numeric:tabular-nums}#leader-list li .dot{width:10px;height:10px;border-radius:50%}#leader-list li .dot.protest{background:#ff9f1c}#leader-list li .dot.police{background:#1f5fff}#leader-list li .nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#leader-list li .nm i{font-style:normal;font-size:.8em;color:var(--mut-d)}#leader-list li .pt{font-weight:800;font-variant-numeric:tabular-nums}#leader-list li.me{background:var(--team-soft);box-shadow:inset 3px 0 0 var(--team)}#leader-list li.gap{display:block;text-align:center;color:var(--mut-d);padding:0;line-height:.8}#leader-foot{margin-top:4px;padding-top:4px;border-top:1px solid var(--card-line);font-size:.75em;color:var(--mut-d);display:flex;gap:10px}#feed{position:absolute;left:10px;bottom:calc(46px + env(safe-area-inset-bottom));width:360px;display:flex;flex-direction:column;gap:6px;transform-origin:bottom left}.feed-item{display:flex;gap:8px;align-items:flex-start;background:var(--card);border:1px solid var(--card-line);border-left:4px solid #999;border-radius:12px;padding:6px 10px;box-shadow:var(--shadow);font-size:.86em;font-weight:600;animation:feed-in .35s ease-out;transition:opacity .6s}.feed-item.protest{border-left-color:#ff9f1c}.feed-item.police{border-left-color:#1f5fff}.feed-item.neutral{border-left-color:#c1121f}.feed-item .fi{flex:0 0 auto}.feed-item.old{opacity:0}@keyframes feed-in{0%{transform:translate(-20px);opacity:0}to{transform:none;opacity:1}}#mapcard{position:absolute;right:10px;bottom:calc(46px + env(safe-area-inset-bottom));width:232px;padding:8px;pointer-events:auto;transform-origin:bottom right;transition:width .25s}#mapcard .card-title{padding:0 2px 4px}#mapcard .card-title{white-space:nowrap;overflow:hidden}#map-district{margin-left:auto;overflow:hidden;text-overflow:ellipsis;color:#c1121f;text-transform:none;letter-spacing:0;font-size:1.15em}#minimap{width:100%;aspect-ratio:1;display:block;border-radius:10px;background:#e8dcc4}.map-tools{display:flex;gap:6px;margin-top:6px}.map-tools button{flex:1;height:28px;border-radius:8px;border:1px solid var(--card-line);background:#fff;font-weight:800;font-size:16px;line-height:1}.map-tools button.on{background:var(--team-soft);border-color:var(--team)}#mapcard.big{width:min(78vh,640px);right:50%;bottom:50%;transform:translate(50%,50%);z-index:12}#interact-prompt{position:absolute;left:50%;bottom:calc(150px + env(safe-area-inset-bottom));transform:translate(-50%);background:var(--card);border:2px solid #ffb703;border-radius:12px;padding:5px 14px;font-weight:800;display:none;white-space:nowrap;box-shadow:var(--shadow)}#interact-prompt.show{display:block;animation:alert-in .25s ease-out}body:not(.touch) #interact-prompt.show:before{content:"F";background:#ffb703;color:#2a2017;border-radius:5px;padding:0 7px;margin-right:8px}#actionbar{position:absolute;left:50%;bottom:calc(46px + env(safe-area-inset-bottom));transform:translate(-50%);display:flex;gap:8px;align-items:flex-end}.ab{--cd: 0deg;position:relative;width:104px;height:84px;border-radius:14px;border:1px solid var(--card-line);background:var(--card);box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:4px;overflow:hidden;cursor:pointer;transition:transform .08s}.ab:active{transform:scale(.95)}.ab-ic{font-size:24px;line-height:1}.ab b{font-size:.78em;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;max-width:96px;overflow:hidden;text-overflow:ellipsis}.ab kbd{font-family:inherit;font-size:.68em;font-weight:700;color:var(--mut-d);background:#00000012;border-radius:5px;padding:0 6px}.ab.main{width:124px;height:96px;background:linear-gradient(160deg,#ffb703,#ff7a00);color:#2a1300;border:none}body[data-team=police] .ab.main{background:linear-gradient(160deg,#6aa3ff,#1f5fff);color:#fff}.ab.main kbd{color:inherit;background:#ffffff59}.ab.ab-sm{width:76px;height:64px}.ab.cooling:after{content:"";position:absolute;inset:0;background:conic-gradient(rgba(30,20,10,.55) var(--cd),transparent 0)}.ab .cd-text{position:absolute;font-style:normal;font-weight:800;font-size:26px;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.6);z-index:2}.ab.active-ability{box-shadow:0 0 0 3px #ff3d5a,0 0 22px #ff3d5a}.ab.disabled{opacity:.45}.ab-meter{width:80%;height:4px;border-radius:2px;background:#0000001a;overflow:hidden;margin-top:2px}#ab-dash-fill{height:100%;background:#2ec4b6}#ab-use{display:none;border:2px solid #ffb703}#ab-use.show{display:flex}#buttons{position:absolute;right:14px;bottom:calc(50px + env(safe-area-inset-bottom));display:none;align-items:flex-end;gap:10px}body.touch #buttons{display:flex}.act{--cd: 0deg;position:relative;width:70px;height:70px;border-radius:50%;border:2px solid var(--card-line);background:var(--card);box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;touch-action:none}.act span{font-size:24px;line-height:1}.act b{font-size:10.5px;font-weight:800;margin-top:2px;max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.act.big{width:94px;height:94px;border:none;background:linear-gradient(160deg,#ffb703,#ff7a00)}body[data-team=police] .act.big{background:linear-gradient(160deg,#6aa3ff,#1f5fff);color:#fff}.act.big span{font-size:34px}.act.small{width:56px;height:56px}.act.cooling:after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(rgba(30,20,10,.55) var(--cd),transparent 0)}.act .cd-text{position:absolute;font-style:normal;font-weight:800;font-size:20px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6);z-index:2}.act.pressed{transform:scale(.92)}.act.disabled{opacity:.4}.act.active-ability{box-shadow:0 0 0 4px #ff3d5a,0 0 22px #ff3d5a}#btn-interact{display:none;border-color:#ffb703}#btn-interact.show{display:flex}#btn-pause,#btn-score{position:absolute;top:calc(10px + env(safe-area-inset-top));right:270px;width:40px;height:40px;border-radius:12px;border:1px solid var(--card-line);background:var(--card);box-shadow:var(--shadow);font-size:18px}#btn-score{right:316px}#ticker{position:absolute;left:0;right:0;bottom:0;height:calc(36px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:linear-gradient(90deg,#8d0b1a,#b3122a);color:#fff;display:flex;align-items:center;overflow:hidden;font-weight:700;font-size:.95em}#ticker .tag{background:#fff;color:#a10f22;font-weight:800;padding:2px 10px;margin:0 12px 0 8px;border-radius:4px;font-size:.75em;letter-spacing:.08em;flex-shrink:0}.ticker-wrap{flex:1;overflow:hidden;white-space:nowrap}#ticker-text{display:inline-block;padding-left:100%;animation:marquee 26s linear infinite}@keyframes marquee{to{transform:translate(-100%)}}#status-banner{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);padding:12px 22px;border-radius:16px;font-size:1.3em;font-weight:800;text-align:center;display:none;max-width:90vw;color:#fff;box-shadow:var(--shadow)}#status-banner.show{display:block}#status-banner.warn{background:#d61e30eb;animation:pulse .5s infinite alternate}#status-banner.bad{background:#1e141ae6;border:2px solid #ff3d5a}#status-banner.info{background:#5a189ae6}#status-banner small{font-size:.65em;font-weight:500;color:#ddd}@keyframes pulse{0%{transform:translate(-50%,-50%) scale(1)}to{transform:translate(-50%,-50%) scale(1.05)}}body.danger:after{content:"";position:fixed;inset:0;pointer-events:none;box-shadow:inset 0 0 120px #ff001e8c;z-index:9}#toast{position:absolute;top:30%;left:50%;transform:translate(-50%);padding:4px 20px;border-radius:999px;background:#2a2017b3;color:#fff;font-size:1.6em;font-weight:800;letter-spacing:.04em;opacity:0;transition:opacity .4s;white-space:nowrap}#toast.show{opacity:1}#joystick{position:absolute;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;border:2px solid rgba(255,255,255,.5);background:#fffaf02e;display:none}#joystick.active{display:block}#joy-knob{position:absolute;left:50%;top:50%;width:52px;height:52px;border-radius:50%;background:#fffaf0d9;box-shadow:var(--shadow);transform:translate(-50%,-50%)}#scoreboard{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(900px,94vw);max-height:80vh;overflow:auto;background:#fffaf0f7;border-radius:18px;padding:16px;display:none;gap:16px;box-shadow:0 20px 60px #00000073;z-index:15}#scoreboard.show{display:flex;flex-wrap:wrap}.sb-team{flex:1 1 360px}.sb-team h3{margin:0 0 6px}.sb-team.protest h3{color:#e36414}.sb-team.police h3{color:#1f5fff}.sb-team table{width:100%;border-collapse:collapse;font-size:.88em}.sb-team th{text-align:left;color:var(--mut-d);font-weight:600;font-size:.8em;padding:3px 4px}.sb-team td{padding:4px;border-top:1px solid var(--card-line)}.sb-team tr.me td{background:var(--team-soft);font-weight:800}.bot{font-size:.7em;background:#00000014;border-radius:4px;padding:1px 4px;color:var(--mut-d)}body.touch #mapcard{pointer-events:none}body.touch #mapcard .map-tools button,body.touch #mapcard.big{pointer-events:auto}@media(max-width:1100px){#feed{width:300px}.ab{width:92px}}@media(max-width:900px),(max-height:560px){.hud-left,#leaders{transform:scale(.78)}#btn-pause{right:214px}#btn-score{right:260px}.hud-center{width:min(520px,46vw);transform:translate(-50%) scale(.82)}#mapcard{transform:scale(.72)}#mapcard.big{transform:translate(50%,50%)}#feed{transform:scale(.8);width:300px}#missions{display:none}}@media(max-height:460px){#feed{display:none}#leader-list li:nth-child(n+5):not(.me):not(.gap){display:none}#mapcard{right:auto;bottom:auto;left:6px;top:calc(66px + env(safe-area-inset-top));width:220px;transform:scale(.6);transform-origin:top left}#mapcard.big{width:min(78vh,640px);inset:50% auto auto 50%;transform:translate(-50%,-50%)}.hud-left,#leaders{transform:scale(.66)}#btn-pause{right:176px}#btn-score{right:222px}.hud-center{transform:translate(-50%) scale(.7)}#ticker{height:calc(28px + env(safe-area-inset-bottom));font-size:.8em}#buttons{bottom:calc(36px + env(safe-area-inset-bottom))}.act.big{width:80px;height:80px}.act{width:60px;height:60px}.act.small{width:50px;height:50px}#interact-prompt{bottom:calc(120px + env(safe-area-inset-bottom))}#toast{font-size:1.05em;top:34%}}@media(prefers-reduced-motion:reduce){#status-banner.warn,.alert.show,.feed-item,#interact-prompt.show{animation:none}#ticker-text{animation-duration:60s}}#perf{position:absolute;left:50%;top:calc(150px + env(safe-area-inset-top));transform:translate(-50%);display:none;background:#000000b3;color:#9effa8;font:12px/1.4 monospace;padding:3px 10px;border-radius:6px}#perf.show{display:block}.rank-chip{display:none;margin-left:4px;padding:0 7px;border-radius:999px;background:var(--team-soft);color:var(--team);font-weight:800;font-size:.85em}.rank-chip:empty{display:none!important}body.touch .rank-chip{display:inline-block}body.touch #leaders,body.touch #missions{display:none}body.touch #mapcard .map-tools button:not(#map-big){display:none}body.touch #mapcard.big .map-tools button{display:block}body.touch #mapcard{pointer-events:auto}body.touch #minimap{cursor:pointer}body.touch.playing #joystick{display:block;left:96px;top:calc(100% - 150px - env(safe-area-inset-bottom));opacity:.35;transition:opacity .15s}body.touch.playing #joystick.active{opacity:1;transition:none}@media(orientation:portrait){body.touch .hud-center{top:calc(6px + env(safe-area-inset-top));left:6px;right:6px;width:auto;transform:none;gap:4px}body.touch #matchbar{padding:6px 10px;gap:8px}body.touch #clock{font-size:1.45em}body.touch .m-label{width:64px;font-size:.62em}body.touch .meter .bar{height:11px}body.touch #awaaz-val,body.touch #janmat-val{width:34px;font-size:.9em}body.touch .hud-subrow .pill{font-size:.8em;padding:2px 10px}body.touch .alert{font-size:.8em;padding:4px 10px}body.touch .hud-left{top:calc(124px + env(safe-area-inset-top));left:6px;width:200px;transform:none}body.touch #me-card{gap:8px;padding:6px 8px}body.touch .badge{flex-basis:40px;height:40px;font-size:20px}body.touch .me-name{font-size:.92em}body.touch .me-pts{font-size:.8em}body.touch .me-stats{font-size:.75em}body.touch #btn-pause,body.touch #btn-score{top:calc(124px + env(safe-area-inset-top));width:38px;height:38px;font-size:16px}body.touch #btn-pause{right:6px}body.touch #btn-score{right:50px}body.touch #mapcard:not(.big){top:calc(168px + env(safe-area-inset-top));bottom:auto;right:6px;width:132px;padding:5px;transform:none}body.touch #mapcard:not(.big) .card-title{display:none}body.touch #mapcard:not(.big) .map-tools{margin-top:4px}body.touch #mapcard:not(.big) .map-tools button{height:22px;font-size:13px}body.touch #mapcard.big{width:94vw;inset:auto 50% 50% auto;transform:translate(50%,50%)}body.touch #feed{top:calc(198px + env(safe-area-inset-top));bottom:auto;left:6px;width:min(210px,54vw);transform:none;gap:4px}body.touch .feed-item{font-size:.72em;padding:4px 8px}body.touch .feed-item:nth-child(n+3){display:none}body.touch #ticker{height:calc(26px + env(safe-area-inset-bottom));font-size:.75em}body.touch #buttons{right:10px;bottom:calc(40px + env(safe-area-inset-bottom));flex-direction:column-reverse;align-items:flex-end;gap:10px}body.touch #interact-prompt{bottom:calc(230px + env(safe-area-inset-bottom));font-size:.85em}body.touch #toast{font-size:1.1em}body.touch.playing #joystick{top:calc(100% - 140px - env(safe-area-inset-bottom))}}@media(orientation:landscape){body.touch #btn-pause,body.touch #btn-score{top:calc(8px + env(safe-area-inset-top))}body.touch #btn-pause{right:calc(8px + env(safe-area-inset-right))}body.touch #btn-score{right:calc(54px + env(safe-area-inset-right))}body.touch #mapcard:not(.big){top:calc(54px + env(safe-area-inset-top));bottom:auto;left:auto;right:calc(8px + env(safe-area-inset-right));width:150px;padding:5px;transform:none}body.touch #mapcard:not(.big) .card-title{display:none}body.touch #mapcard:not(.big) .map-tools button{height:22px;font-size:13px}body.touch .hud-left{left:calc(8px + env(safe-area-inset-left))}body.touch.playing #joystick{left:calc(110px + env(safe-area-inset-left));top:calc(100% - 120px - env(safe-area-inset-bottom))}}@media(orientation:landscape)and (max-height:460px){body.touch #mapcard:not(.big){width:118px}body.touch #buttons{right:calc(12px + env(safe-area-inset-right))}}#status-banner.carry{background:#8c0a18f0;border:3px solid #ffd166;animation:shake-banner .25s infinite alternate}#status-banner .free-bar{height:16px;margin:8px auto 6px;width:min(320px,70vw);border-radius:8px;background:#ffffff40;overflow:hidden}#status-banner .free-bar i{display:block;height:100%;background:linear-gradient(90deg,#ffd166,#2ecc71);transition:width .08s}#status-banner .free-bar.police i{background:linear-gradient(90deg,#ff8fa3,#ff3d5a)}#status-banner .mash{display:block;font-size:.75em;color:#ffe8a3}@keyframes shake-banner{0%{transform:translate(-50%,-50%) rotate(-1deg)}to{transform:translate(-50%,-50%) rotate(1deg)}}@media(prefers-reduced-motion:reduce){#status-banner.carry{animation:none}}#rescue-pill{display:none;background:#c1121f;color:#fff;border-color:#ffd166;animation:sos-pulse .7s infinite alternate}#rescue-pill.show{display:inline-flex}#rescue-pill b{color:#fff}#rescue-arrow{display:inline-block;color:#ffd166;transition:transform .15s linear}@keyframes sos-pulse{0%{box-shadow:0 0 #e61e3299}to{box-shadow:0 0 0 6px #e61e3200}}@media(prefers-reduced-motion:reduce){#rescue-pill{animation:none}}
