:root{--bg:#07090f;--panel:#0c0f18e0;--line:#ffffff1a;--text:#eef2f8;--dim:#93a0b6;--accent:#3ddc97;--hunter:#ff4d4d;--escapee:#3ddc97;--key:#ffcf40;--warn:#ffa020;--bad:#ff4d4d;--font:"Bahnschrift", "DIN Alternate", "Segoe UI", system-ui, sans-serif;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px)}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;margin:0;overflow:hidden}#view{touch-action:none;outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}#hud{pointer-events:none;position:fixed;inset:0}.ui{z-index:20;display:none;position:fixed;inset:0;overflow:auto}.ui.show{display:block}.ui.menu{background:radial-gradient(at 25% 15%,#3ddc971f 0%,#0000 45%),radial-gradient(at 80% 90%,#ff4d4d1a 0%,#0000 45%),linear-gradient(#0b1020,#06080d)}button{font-family:var(--font);color:var(--text);border:1px solid var(--line);cursor:pointer;background:#ffffff0f;border-radius:10px;padding:11px 16px;font-size:15px;transition:all .12s}button:hover{background:#ffffff21;border-color:#ffffff40}button small{opacity:.7;margin-top:2px;font-size:12px;font-weight:400;display:block}button.primary{color:#04170d;background:linear-gradient(#4ff0a8,#22b877);border:none;font-weight:800}button.primary:hover{filter:brightness(1.07)}button.big{letter-spacing:1px;text-align:left;width:100%;padding:18px;font-size:22px;font-weight:800}button:disabled{opacity:.4;cursor:default}input,select{font-family:var(--font);color:var(--text);border:1px solid var(--line);background:#0006;border-radius:8px;padding:9px 10px;font-size:15px}label{color:var(--dim);align-items:center;gap:10px;margin:7px 0;display:flex}label input[type=range],label select,label input:not([type]){flex:1}h2{letter-spacing:.5px;margin:0 0 14px;font-size:30px}h2 small,h3 small{color:var(--dim);margin-left:8px;font-size:14px;font-weight:400}h3{margin:18px 0 8px;font-size:18px}h4{color:var(--dim);text-transform:uppercase;letter-spacing:1px;margin:10px 0 4px;font-size:13px;font-weight:600}.row{flex-wrap:wrap;align-items:stretch;gap:10px;margin-top:12px;display:flex}.row>button{flex:1}.note{color:var(--dim);font-size:14px;line-height:1.45}.msg{color:#ffb0b0;background:#ff505026;border-radius:8px;margin-top:12px;padding:10px}b.hunter,.hunter>b{color:var(--hunter)}b.escapee{color:var(--escapee)}.home{max-width:1080px;padding:max(30px, var(--sat)) 22px 30px;margin:0 auto}.brand{text-align:center;margin-bottom:22px}.brand h1,.loading h1{letter-spacing:10px;color:#f3f6fb;text-shadow:0 0 30px #3ddc9759;margin:0;font-size:92px;font-weight:900}.brand h1 span,.loading h1 span{color:var(--hunter);text-shadow:0 0 30px #ff4d4d80}.brand p{color:var(--dim);margin:4px 0 0;font-size:17px}.cols{grid-template-columns:1.25fr 1fr;gap:18px;display:grid}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:10px;padding:20px;display:flex}.panel.play .row{margin-top:0}.lvl{font-size:18px}.lvl b{color:var(--accent);font-size:30px}.lvl span{color:var(--dim);float:right;margin-top:12px;font-size:14px}.xpbar{background:#ffffff14;border-radius:4px;height:8px;margin-top:6px;overflow:hidden}.xpbar i{background:linear-gradient(90deg,#22b877,#4ff0a8);height:100%;display:block}.stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stats div{text-align:center;background:#ffffff0a;border-radius:10px;padding:8px}.stats b{font-size:22px;display:block}.stats span{color:var(--dim);font-size:12px}.daily{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.daily li{background:#ffffff0a;border-radius:8px;grid-template-columns:1fr auto auto;gap:10px;padding:8px 10px;font-size:14px;display:grid}.daily li b{color:var(--key)}.daily li em{color:var(--dim);font-size:12px;font-style:normal}.daily li.done{opacity:.55;text-decoration:line-through}.page{max-width:1080px;padding:max(28px, var(--sat)) 22px 30px;margin:0 auto}.page.narrow{max-width:640px}.cards{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;display:grid}.card{text-align:left;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;display:flex}.card b{font-size:16px}.card span{color:var(--dim);font-size:13px}.card.sel{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset;background:#3ddc971f}.card.locked{filter:grayscale()}.sw{border:2px solid #fff6;border-radius:50%;flex:none;width:22px;height:22px;display:inline-block}.help{grid-template-columns:1.2fr 1fr;gap:26px;line-height:1.5;display:grid}.help ol{padding-left:20px}.keys{border-collapse:collapse;width:100%}.keys td{border-bottom:1px solid var(--line);padding:6px 8px}.keys td:first-child{color:var(--key);white-space:nowrap;font-weight:700}.lobby .players{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;margin:14px 0;padding:0;list-style:none;display:grid}.lobby .players li{background:var(--panel);border:1px solid var(--line);border-radius:12px;align-items:center;gap:10px;padding:12px;display:flex}.lobby .players li span{flex:1}.lobby .players li b{color:var(--dim);font-size:12px}.lobby .players li.ready{border-color:#3ddc9799}.lobby .players li.ready b{color:var(--accent)}.lobby .players li.me{box-shadow:inset 0 0 0 1px #ffffff4d}.code-box{background:var(--panel);border:1px solid var(--line);border-radius:12px;align-items:center;gap:14px;padding:12px 16px;display:flex}.code{color:var(--key);letter-spacing:6px;font-size:30px;font-weight:800}.cd{color:var(--key)}.toast{z-index:50;background:#1c2436;border-radius:10px;padding:10px 18px;position:fixed;bottom:40px;left:50%;transform:translate(-50%)}.results h2{text-align:center;margin-bottom:4px;font-size:54px}.results h2.win{color:var(--accent)}.results h2.lose{color:var(--hunter)}.results .outcome{text-align:center;color:var(--dim)}.results table{border-collapse:collapse;width:100%;margin:12px 0}.results td{border-bottom:1px solid var(--line);padding:7px 8px}.results tr.hunter td:first-child{color:var(--hunter)}.results tr.escapee td:first-child{color:var(--escapee)}.results em{color:var(--dim);font-style:normal}.results .xp{color:var(--key);text-align:center;font-size:22px}.results .unlock{text-align:center;color:var(--accent)}.loading{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0}.loading h2{margin:18px 0 6px}.loading p{color:var(--dim);max-width:560px}.loading .lp{color:var(--accent);margin-top:20px}.loading .tip{font-size:13px}.hud-root{text-shadow:0 1px 3px #000c;font-size:15px;position:absolute;inset:0}.h-top{top:max(10px, var(--sat));justify-content:center;align-items:flex-start;gap:16px;display:flex;position:absolute;left:0;right:0}.h-role{left:max(14px, var(--sal));letter-spacing:2px;background:#00000073;border-radius:8px;padding:6px 12px;font-size:16px;position:absolute;top:0}.h-role .hunter{color:var(--hunter)}.h-role .escapee{color:var(--escapee)}.h-clock{text-align:center;background:#00000073;border-radius:10px;padding:4px 18px 6px}.h-time{letter-spacing:1px;font-size:32px;font-weight:800;display:block}.h-time.warn{color:var(--warn)}.h-phase{color:var(--dim);text-transform:uppercase;letter-spacing:2px;font-size:12px}.h-keys{right:max(14px, var(--sar));background:#00000073;border-radius:8px;align-items:center;gap:4px;padding:6px 12px;display:flex;position:absolute;top:0}.h-keys i{opacity:.25;filter:grayscale();font-style:normal}.h-keys i.on{opacity:1;filter:none}.h-keys span{color:var(--key);margin-left:6px;font-weight:700}.h-counts{top:calc(max(10px, var(--sat)) + 70px);background:#00000059;border-radius:8px;gap:14px;padding:3px 12px;font-size:14px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.h-feed{top:calc(max(10px, var(--sat)) + 46px);right:max(14px, var(--sar));flex-direction:column;align-items:flex-end;gap:4px;width:330px;font-size:14px;display:flex;position:absolute}.h-feed .f{background:#00000080;border-radius:6px;padding:4px 10px}.h-feed .f.good{border-left:3px solid var(--accent)}.h-feed .f.bad,.h-feed .f.alarm{border-left:3px solid var(--hunter)}.h-banner{letter-spacing:1px;opacity:0;text-align:center;white-space:nowrap;font-size:28px;font-weight:800;transition:opacity .2s;position:absolute;top:24%;left:50%;transform:translate(-50%)}.h-banner.show{opacity:1}.h-banner.good{color:var(--accent)}.h-banner.alarm{color:var(--hunter)}.h-banner.warn{color:var(--warn)}.h-banner.small{font-size:18px;font-weight:600}.h-exit{top:calc(max(10px, var(--sat)) + 98px);color:#ffd28a;background:#ff8c0040;border:1px solid #ffa020b3;border-radius:8px;padding:6px 16px;animation:1s infinite alternate pulse;display:none;position:absolute;left:50%;transform:translate(-50%)}.h-exit.show{display:block}.h-exit.open{border-color:var(--accent);color:#c8ffe4;background:#3ddc9740}@keyframes pulse{0%{opacity:.75}to{opacity:1}}.h-cross{background:#ffffffb3;border-radius:50%;width:6px;height:6px;margin:-3px;position:absolute;top:50%;left:50%;box-shadow:0 0 4px #000}.h-prompt{background:#0000008c;border-radius:30px;align-items:center;gap:10px;padding:8px 14px 8px 8px;font-size:16px;display:none;position:absolute;top:58%;left:50%;transform:translate(-50%)}.h-prompt.show{display:flex}.h-prompt.catch{background:#a0141499}.h-ring{width:38px;height:38px;position:relative}.h-ring svg{width:38px;height:38px;transform:rotate(-90deg)}.h-ring circle{fill:none;stroke-width:3.5px}.h-ring .bg{stroke:#ffffff40}.h-ring .fg{stroke:var(--key);stroke-dasharray:94.2;stroke-dashoffset:94.2px}.h-prompt:not(.hold) .h-ring .fg{stroke-dashoffset:0;stroke:#fffc}.h-ring b{justify-content:center;align-items:center;font-size:16px;display:flex;position:absolute;inset:0}.h-radar{width:180px;height:180px;margin:-90px;display:none;position:absolute;top:50%;left:50%}.h-radar.show{display:block}.h-radar-arrow{position:absolute;inset:0}.h-radar-arrow:before{content:"";border:14px solid #0000;border-bottom:26px solid var(--hunter);filter:drop-shadow(0 0 8px var(--hunter));margin-left:-14px;position:absolute;top:-6px;left:50%}.h-radar span{text-align:center;color:var(--hunter);font-weight:700;position:absolute;top:100%;left:0;right:0}.h-bottom{left:50%;bottom:max(18px, var(--sab));flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;transform:translate(-50%)}.h-stamina{background:#ffffff1f;border-radius:4px;width:260px;height:8px;transition:opacity .4s;overflow:hidden}.h-stamina.full{opacity:.25}.h-stamina i{background:linear-gradient(90deg,#4ff0a8,#c8ff70);height:100%;display:block}.h-stamina.low i{background:var(--warn)}.h-abilities{gap:8px;display:flex}.h-abilities .ab{background:#00000080;border-radius:8px;padding:6px 10px;font-size:13px}.h-abilities .ab b{background:#ffffff26;border-radius:4px;margin-right:4px;padding:1px 6px}.h-abilities .ab span{color:var(--dim);margin-left:4px}.h-abilities .ab.ok span{color:var(--accent)}.h-abilities .ab.cd{opacity:.6}.h-abilities .ab.bad{color:var(--warn)}.h-blind{text-align:center;background:radial-gradient(#0a0202e0,#000000f7);justify-content:center;align-items:center;display:none;position:absolute;inset:0}.h-blind.show{display:flex}.h-blind h2{color:var(--hunter);font-size:40px}.h-blind b{color:var(--key);font-size:26px}.h-state{background:#0009;border-radius:12px;flex-direction:column;align-items:center;padding:12px 22px;display:none;position:absolute;bottom:22%;left:50%;transform:translate(-50%)}.h-state.show{display:flex}.h-state b{font-size:26px}.h-state.jailed b{color:var(--hunter)}.h-state.out b{color:var(--accent)}.h-state span{color:var(--dim)}.h-recon{background:#0009;justify-content:center;align-items:center;font-size:20px;display:none;position:absolute;inset:0}.h-recon.show{display:flex}.h-table{background:var(--panel);border-radius:12px;min-width:420px;padding:14px 18px;display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.h-table.show{display:block}.h-table table{border-collapse:collapse;width:100%}.h-table td,.h-table th{text-align:left;border-bottom:1px solid var(--line);padding:5px 8px}.h-table tr.hunter td:first-child{color:var(--hunter)}.h-table tr.escapee td:first-child{color:var(--escapee)}.h-table tr.me td{font-weight:800}.h-table em{color:var(--dim);font-style:normal}.h-pause{pointer-events:auto;background:#04060ab3;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.h-pause.show{display:flex}.h-pause .panel{width:360px}.world-overlay{position:absolute;inset:0;overflow:hidden}.wm{transform-origin:0 0;text-align:center;white-space:nowrap;flex-direction:column;align-items:center;width:120px;margin-left:-60px;font-size:12px;display:flex;position:absolute;top:0;left:0}.wm b{font-size:18px}.wm span{background:#00000073;border-radius:4px;padding:1px 6px}.wm-key b{color:var(--key);text-shadow:0 0 8px #ffc83ce6}.wm-exit b{color:var(--warn)}.wm-exit.open b{color:var(--accent)}.wm-jail b{color:#6ab8ff}.wm-alarm b{color:var(--hunter)}.wm-tag span{background:0 0;font-size:13px;font-weight:700}.minimap{right:max(14px, var(--sar));bottom:max(14px, var(--sab));opacity:.9;border:2px solid #fff3;border-radius:50%;width:190px;height:190px;position:absolute;overflow:hidden}.minimap canvas{width:100%;height:100%}.mm-label{text-align:center;color:var(--dim);font-size:11px;position:absolute;bottom:8px;left:0;right:0}.touch{pointer-events:none;position:absolute;inset:0}.t-look{pointer-events:auto;touch-action:none;width:55%;position:absolute;top:0;bottom:0;right:0}.t-stick{pointer-events:auto;touch-action:none;width:45%;position:absolute;top:30%;bottom:0;left:0}.t-base{background:#ffffff0f;border:2px solid #ffffff40;border-radius:50%;width:120px;height:120px;margin:-60px;display:none;position:fixed}.t-base.on{display:block}.t-knob{background:#ffffff73;border-radius:50%;width:52px;height:52px;margin:-26px;position:absolute;top:50%;left:50%}.t-btns{right:max(16px, var(--sar));bottom:max(16px, var(--sab));pointer-events:auto;grid-template-columns:repeat(3,72px);gap:10px;display:grid;position:absolute}.t-b{touch-action:none;background:#0a0e168c;border:2px solid #ffffff4d;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:72px;height:72px;padding:0;font-size:22px;font-weight:800;display:flex}.t-b small{opacity:.85;text-overflow:ellipsis;white-space:nowrap;max-width:64px;margin:0;font-size:10px;font-weight:600;line-height:1.15;overflow:hidden}.t-b.sm{transform:scale(.85)}.t-b.big{border-color:var(--accent);background:#3ddc9759;font-size:26px;line-height:1}.t-b.on{background:#ffffff59}.t-b.off{opacity:.35}.touch:not(.is-hunter) .hunter-only{visibility:hidden}@media (pointer:coarse){.h-abilities .ab b{display:none}.minimap{width:120px;height:120px;top:calc(max(10px, var(--sat)) + 54px);bottom:auto}.h-feed{width:240px;top:calc(max(10px, var(--sat)) + 186px);font-size:12px}.h-bottom{left:22%;transform:none}.h-stamina{width:180px}.h-banner{font-size:20px}.h-prompt{font-size:14px;top:64%}}@media (max-width:760px){.cols,.help{grid-template-columns:1fr}.brand h1{letter-spacing:6px;font-size:60px}.h-time{font-size:24px}.h-role,.h-keys{font-size:13px}}
