:root{--bg:#070e14;--surface:#101e25;--surface2:#172a32;--border:#30434c;--faint:#829da9;--ink:#e4f3f4;--cyan:#7df2d9;--red:#ff6679;--amber:#ffd483;--green:#7bf5aa}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}body{background:radial-gradient(ellipse at 60% -10%,#1e3940 0%,transparent 45%),#070d12;font-size:14px}button{font:inherit;cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible,[role=slider]:focus-visible{outline:3px solid #fff;outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.45}.hidden{display:none!important}#app{width:min(1500px,100%);margin:auto;padding:12px clamp(10px,1.6vw,24px) 18px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.brand{display:flex;align-items:center;gap:11px}.brand-symbol{display:grid;place-items:center;background:#16362f;color:var(--cyan);border:1px solid #377f72;font-size:27px;width:47px;height:47px;border-radius:11px;box-shadow:0 0 24px #3beaaf26}.brand-kicker{font:700 10px ui-monospace,monospace;letter-spacing:.18em;color:#a5c5bd}.brand h1{margin:2px 0 0;font-size:clamp(19px,2.4vw,30px);letter-spacing:.075em;line-height:1}.brand h1 span{color:var(--cyan)}.header-right{display:flex;gap:8px;align-items:center}.chip,.icon-btn{white-space:nowrap;padding:9px 11px;border:1px solid #33504e;background:#12272b;border-radius:8px;font:800 11px ui-monospace,monospace}.icon-btn:hover{border-color:var(--cyan)}.chip.live{color:#a9f3df}.blinkdot{color:#f65f72;animation:blink 1.5s infinite}@keyframes blink{50%{opacity:.28}}
.hud{display:grid;grid-template-columns:1.02fr .9fr .9fr 2fr .9fr;gap:9px;margin-bottom:12px}.hudcell{background:linear-gradient(115deg,#12252c,#0e1c23);border:1px solid #29434a;border-radius:9px;padding:9px 11px;min-width:0}.hudcell small{display:block;color:#87a6ae;font:800 10px ui-monospace,monospace;letter-spacing:.06em;margin-bottom:4px}.hudcell strong{font-size:18px;letter-spacing:.03em}.health{color:#ff697a}.threat-title{display:flex;justify-content:space-between;align-items:center;gap:8px}.threat-title strong{font-size:12px;color:#a2f6d6}.meter{height:9px;background:#07151b;overflow:hidden;border-radius:9px;border:1px solid #33505a;margin-top:4px}.meter-fill{height:100%;width:0;background:linear-gradient(90deg,#54e5b2,#f3c15b 55%,#ec4c65);transition:width .3s}
.game-layout{display:grid;grid-template-columns:minmax(0,1.52fr) minmax(350px,.85fr);gap:12px;align-items:stretch}.viewport,.console{min-width:0}.viewport{display:flex;flex-direction:column;gap:9px}.scene{height:clamp(370px,58vh,620px);min-height:360px;position:relative;border:1px solid #3e6166;overflow:hidden;border-radius:12px;background:#091722;isolation:isolate;box-shadow:0 15px 35px #0009}.scene-photo{position:absolute;inset:-12px;background:url('assets/scene.webp') center 46%/cover no-repeat;filter:brightness(.62) blur(4px) saturate(.85);transform:scale(1.04)}.scene-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0c1620aa,#0000 40%,#08141daa)}.scene-fog{position:absolute;inset:22% -20% -15%;background:radial-gradient(ellipse at 50% 65%,#7d9fa83d,transparent 45%),linear-gradient(0deg,#0b1824 0%,transparent 70%);mix-blend-mode:screen;opacity:.65;animation:fogDrift 13s ease-in-out infinite alternate}@keyframes fogDrift{from{transform:translateX(-4%)}to{transform:translateX(4%)}}.scene-rain{position:absolute;inset:0;background:repeating-linear-gradient(103deg,#0000 0 37px,#d5f3ff3a 38px,#0000 40px 84px);background-size:390px 440px;opacity:.27;animation:rain .65s linear infinite}@keyframes rain{from{background-position:20px -440px}to{background-position:-36px 0}}
.scene-horde{position:absolute;left:0;right:0;bottom:18%;height:55%;transform-origin:50% 100%;transition:transform 1s;z-index:1;opacity:.92}.horde-photo{position:absolute;inset:0;background:url('assets/horde.webp') 50% 50%/cover;filter:brightness(.28) grayscale(1) blur(2px);mask-image:linear-gradient(to top,#000 55%,transparent 100%);opacity:.68}.horde-shapes{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:space-around;gap:2px}.zombie-sil{width:11%;min-width:33px;height:var(--h,70%);position:relative;filter:drop-shadow(0 0 8px #ff33332d);transform:translateY(var(--bob,0px));animation:zBob var(--zspeed,2.4s) ease-in-out infinite alternate;opacity:.92}.zombie-sil:before{content:"";display:block;width:57%;height:37%;border-radius:46% 46% 32% 32%;margin:0 auto;background:radial-gradient(circle at 30% 52%,#fc4152 0 3%,transparent 5%),radial-gradient(circle at 68% 48%,#fc4152 0 3%,transparent 5%),#111c22;box-shadow:0 0 6px #f3565b55}.zombie-sil:after{content:"";display:block;width:100%;height:70%;background:#0b1319;clip-path:polygon(27% 0,70% 0,83% 17%,100% 59%,81% 64%,69% 36%,70% 100%,52% 100%,45% 56%,37% 100%,20% 100%,25% 32%,5% 69%,0 60%,12% 13%);margin-top:-3px}@keyframes zBob{to{transform:translateY(-7px) rotate(2deg)}}.wire{position:absolute;left:0;right:0;height:8%;z-index:2;pointer-events:none;background:repeating-linear-gradient(40deg,transparent 0 17px,#5e6d72 18px 20px,transparent 21px 34px),repeating-linear-gradient(-40deg,transparent 0 17px,#5e6d72 18px 20px,transparent 21px 34px);opacity:.55;box-shadow:0 4px 6px #0008}.wire-one{bottom:29%}.wire-two{bottom:23%;transform:scaleX(1.02)}.scene-rail{position:absolute;bottom:3%;left:-1%;right:-1%;height:20%;background:linear-gradient(175deg,#324047 0%,#071118 22%,#222b30 28%,#081118 36%,#222a2e 43%,#0a1015 54%);border-top:5px solid #586a6e;box-shadow:0 -10px 35px #0007;z-index:4}.scene-floodlight{position:absolute;inset:0;background:conic-gradient(from 255deg at 83% -12%,transparent 0deg,#d8f7ee2e 38deg,transparent 52deg);z-index:2;mix-blend-mode:screen;animation:searchlight 10s infinite alternate}@keyframes searchlight{to{transform:translateX(-20%)}}.scene-glow{position:absolute;top:-10%;left:43%;width:20%;height:50%;background:radial-gradient(ellipse,#f5e7c824,transparent 65%);z-index:3;pointer-events:none}
.visitor-wrap{position:absolute;left:50%;bottom:5.5%;width:min(66%,405px);height:93%;transform:translateX(-50%);z-index:3;filter:drop-shadow(0 25px 18px #000a);transition:filter .4s,transform .3s}.visitor-wrap.infected{filter:drop-shadow(0 0 9px #c4365540) drop-shadow(0 20px 15px #000b)}.visitor-wrap svg{width:100%;height:100%;display:block;animation:visBreath 4s ease-in-out infinite}@keyframes visBreath{50%{transform:translateY(-4px)}}.scan-point{position:absolute;z-index:7;background:#0b1b22d9;border:1px solid #5fe2cd;color:#d9fff4;font-weight:900;font-size:12px;border-radius:25px;padding:9px 11px;box-shadow:0 0 10px #45dcbd4d;min-width:73px;transition:transform .18s,border-color .18s}.scan-point:hover{transform:scale(1.08)}.scan-point.done{border-color:#80e6b7;background:#193529}.scan-point.hot{border-color:#ff6873;background:#48242c}.scan-point.head-point{top:24%;left:54%}.scan-point.wrist-point{top:60%;left:61%}.scan-point.leg-point{top:83%;left:55%}.point-pulse{display:inline-block;width:7px;height:7px;background:#75f4d7;border-radius:50%;box-shadow:0 0 0 5px #5cf3ce22;margin-right:4px;animation:blink 1.6s infinite}.scene-top,.scene-bottom{position:absolute;left:13px;right:13px;display:flex;justify-content:space-between;gap:8px;z-index:8;color:#cde8ea;font:700 11px ui-monospace,monospace;text-shadow:0 2px 4px #000}.scene-top{top:14px}.scene-top>span{background:#08171ddc;padding:7px 8px;border-radius:5px}.redpoint{color:var(--red);animation:blink 1.3s infinite}.scene-bottom{bottom:12px;align-items:flex-end}.scene-bottom .signal{color:#8affd2;font-size:10px}.scene-call{color:#dbe8eb;background:#07161fdc;border:1px solid #415c61;border-radius:5px;padding:5px 7px;max-width:55%;text-align:right}.scene-shader{position:absolute;inset:0;pointer-events:none;z-index:10;box-shadow:inset 0 0 115px #0008;background:repeating-linear-gradient(0deg,#ffffff07 0 1px,transparent 1px 5px);mix-blend-mode:overlay}.scan-beam{position:absolute;width:120%;height:7px;left:-10%;top:40%;opacity:0;background:linear-gradient(90deg,transparent,#99fff1,#e5fff9,#99fff1,transparent);box-shadow:0 0 25px 9px #55e4dd55;z-index:8;pointer-events:none}.scan-beam.run{animation:beam .48s ease-out}@keyframes beam{0%{top:20%;opacity:1}100%{top:88%;opacity:0}}.scene.alarm{animation:alarm 0.6s 2}@keyframes alarm{50%{box-shadow:inset 0 0 100px #ff435b77}}.scene-bottom-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;background:#13262c;border:1px solid #324c52;border-radius:10px;padding:9px 13px;min-height:58px}.visitor-meta{display:flex;gap:9px;align-items:center}.visitor-meta .avatar-icon{font-size:27px;color:#82dfc4}.visitor-meta b{display:block;font-size:14px}.visitor-meta small{display:block;color:#a7bfc4;margin-top:3px;font-size:11px}.wave-status{color:#91afb4;white-space:nowrap;font-size:12px}.wave-status strong{color:#a9f1d2}.gate-controls{display:flex}.gate-btn{width:100%;display:flex;align-items:center;gap:12px;background:#26363b;border:1px solid #47656c;border-radius:10px;text-align:left;padding:12px 14px;transition:background .2s}.gate-btn:hover{background:#30484d}.gate-btn>span:first-child{font-size:31px;color:#a7d8d8}.gate-btn>span:nth-child(2){flex:1}.gate-btn b{font-size:13px}.gate-btn small{display:block;color:#a4bfc3;margin-top:3px;font-size:11px}.gate-btn>span:last-child{font:900 11px ui-monospace,monospace;color:var(--amber)}
.console{background:linear-gradient(140deg,#11252c,#0c1920);border:1px solid #355057;border-radius:12px;display:flex;flex-direction:column;min-height:0;box-shadow:0 10px 45px #0008}.console-head{display:flex;align-items:center;justify-content:space-between;padding:15px 15px 12px;border-bottom:1px solid #334951;gap:5px}.eyebrow{font:700 10px ui-monospace,monospace;letter-spacing:.1em;color:#7dc9b7}.console h2{font-size:18px;margin:4px 0 0;line-height:1.2}.terminal-online{font:900 10px ui-monospace,monospace;color:var(--green);white-space:nowrap}.directive{padding:10px 15px;background:#213631;color:#bbf9de;font-weight:800;font-size:12px;border-bottom:1px solid #3d5b4c}.console-scroll{flex:1;overflow-y:auto;padding:14px 15px 10px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:12px;color:#a8d0d2;font-weight:900;letter-spacing:.02em;margin-bottom:9px}.section-head b{font:900 12px ui-monospace,monospace;color:var(--cyan)}.body-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:#0a1c24;border:1px solid #426169;border-radius:9px;padding:11px 4px;min-height:88px;font-weight:900}.zone:hover{border-color:#8feccf;background:#18333a}.zone-icon{font-size:21px;color:#7de0ce;line-height:1.15}.zone small{color:#94aeb5;font-size:10px;font-weight:800}.zone.done{background:#153c38;border-color:#56ad93}.zone.hot{background:#462532;border-color:#ff758c}.zone.done small{color:#a3ffe0}.zone.hot small{color:#ffc1c9}.readout{padding:10px;border:1px solid #2d4950;background:#0b1920;margin:11px 0 16px;border-radius:8px;min-height:42px;color:#aec7ca;font:700 11px/1.6 ui-monospace,monospace}.readout-blink{font-size:16px;color:var(--cyan)}.wrist-title{margin-top:1px}.state-warning{color:var(--amber)!important}.state-done{color:var(--green)!important}.wrist-card{display:grid;grid-template-columns:34% 1fr;gap:10px;padding:9px;background:#0c2027;border:1px solid #31515b;border-radius:10px;align-items:center}.wrist-thumb{position:relative;overflow:hidden;border-radius:6px;height:115px}.wrist-thumb img{height:100%;width:100%;object-fit:cover;object-position:50% 60%;filter:saturate(.7) brightness(.8)}.thumb-crosshair{position:absolute;inset:20% 16%;border:1px solid #82ecd0;box-shadow:0 0 8px #80efd4aa}.thumb-crosshair:before,.thumb-crosshair:after{content:"";position:absolute;background:#8bf5dc}.thumb-crosshair:before{width:1px;height:100%;left:50%}.thumb-crosshair:after{width:100%;height:1px;top:50%}.wrist-card-text b{font-size:12px}.wrist-card-text p{font-size:11px;line-height:1.45;color:#a7bfc4;margin:5px 0 9px}.wrist-start{display:flex;align-items:center;justify-content:space-between;width:100%;background:#1e5d54;border:1px solid #5ddfbe;padding:9px 10px;border-radius:7px;color:#e1fff5;font-size:12px;font-weight:900}.wrist-start:hover{background:#287567}.result-box{display:flex;align-items:center;gap:11px;border:1px solid #3f525a;background:#172831;border-radius:10px;padding:12px;margin-top:13px}.result-icon{width:38px;height:38px;border-radius:10px;background:#253b43;display:grid;place-items:center;font-size:22px;color:var(--amber)}.result-box strong{font-size:13px}.result-box small{display:block;margin-top:3px;color:#9cbac1;font-size:11px}.result-box.negative{border-color:#397c69;background:#15312b}.result-box.negative .result-icon{color:#68ffd1;background:#275046}.result-box.positive{border-color:#ad4b5f;background:#3a222c}.result-box.positive .result-icon{color:#ff8e9e;background:#5f2c3b}.gate-hint{font-size:11px;color:#8fa9af;text-align:center;margin-top:10px}.decisions{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:11px;border-top:1px solid #35505a;background:#0d1d24}.decision{border-radius:9px;padding:14px 5px;display:flex;justify-content:center;align-items:center;gap:10px;border:1px solid;transition:transform .12s,filter .15s}.decision:hover{transform:translateY(-2px);filter:brightness(1.12)}.decision:active{transform:scale(.97)}.decision.admit{background:linear-gradient(125deg,#246a53,#154335);border-color:#55be90}.decision.isolate{background:linear-gradient(125deg,#73313e,#49212c);border-color:#df7a81}.button-icon{font-size:27px}.decision b{display:block;font-size:15px}.decision small{display:block;opacity:.82;margin-top:3px;font-size:11px}.bottom-help{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:#78949a;font-size:11px;padding:11px 2px 0}
/* overlays */.modal-layer,.wrist-layer,.blackout-layer{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:15px;background:#02080ee8;backdrop-filter:blur(11px)}.modal-layer:not(.active){display:none}.modal-card{width:min(690px,100%);max-height:calc(100vh - 30px);overflow:auto;background:linear-gradient(140deg,#12282f,#08151d);border:1px solid #53716f;box-shadow:0 20px 100px #000;position:relative;border-radius:15px}.modal-hero{height:clamp(180px,34vh,280px);background:url('assets/intro.webp') 50% 40%/cover;position:relative}.modal-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#12262e,transparent 65%)}.modal-inner{padding:20px clamp(16px,4vw,35px) 25px}.modal-kicker{color:#86f5d1;font:900 11px ui-monospace,monospace;letter-spacing:.18em}.modal-inner h2{font-size:clamp(27px,4vw,42px);margin:8px 0 7px;letter-spacing:.025em}.modal-inner .sub{color:#bed2d4;font-size:14px;line-height:1.8;margin:10px 0 14px}.modal-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:16px 0 20px}.modal-rule{border:1px solid #39575b;background:#182e35;border-radius:9px;padding:12px 9px}.modal-rule span{font-size:24px;display:block;margin-bottom:5px}.modal-rule b{font-size:12px;display:block}.modal-rule small{font-size:10px;display:block;color:#a4bcbf;margin-top:5px;line-height:1.5}.cta{padding:15px 22px;border-radius:8px;border:1px solid #71edd1;color:#061a1b;font-weight:1000;background:linear-gradient(95deg,#83ffd8,#48cdb7);font-size:16px;box-shadow:0 0 20px #6af6bd3c;width:100%}.cta:hover{filter:brightness(1.13)}.cta.danger{background:linear-gradient(90deg,#e98393,#cc5267);border-color:#f6a4b0}.secondary-cta{background:#152c34;border:1px solid #4d7575;border-radius:8px;padding:13px 16px;font-weight:900;width:100%;margin-top:9px}.modal-row{display:flex;justify-content:space-between;gap:10px;margin:12px 0}.result-number{font:900 42px ui-monospace,monospace;color:#99ffcf}.modal-score{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:15px 0}.modal-score>div{border:1px solid #42636a;background:#142a31;padding:14px;border-radius:9px}.modal-score small{display:block;color:#95adb4}.modal-score strong{display:block;font-size:23px;margin-top:5px}.progress-nights{display:flex;gap:7px;margin:14px 0}.progress-nights span{flex:1;border:1px solid #3d585c;padding:9px 2px;border-radius:6px;text-align:center;color:#b5c4c8}.progress-nights span.active{background:#255344;border-color:#8cf5c7;color:#dbffef}.progress-nights span.locked{opacity:.35}
.wrist-layer{z-index:50}.inspect-box{width:min(730px,100%);max-height:calc(100vh - 20px);overflow:auto;background:#10232b;border:1px solid #5c8584;border-radius:13px;padding:16px;box-shadow:0 20px 90px #000}.inspect-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.inspect-head small{font:800 10px ui-monospace,monospace;color:#86d7c3}.inspect-head h2{margin:4px 0 0;font-size:22px}.close-inspect{width:36px;height:36px;background:#263d42;border:1px solid #567579;border-radius:8px;font-size:25px;line-height:1}.wrist-stage{position:relative;overflow:hidden;height:clamp(180px,31vh,275px);border:2px solid #4b7d7a;border-radius:9px;background:#0b1c23}.wrist-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.9)}.wrist-canvas-overlay{position:absolute;inset:0;background:repeating-linear-gradient(0deg,#00181811 0 4px,transparent 4px 8px);pointer-events:none}.wrist-canvas-overlay.infected:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,#56275344 35%,transparent 73%),url("assets/wrist.webp") center/cover no-repeat;opacity:.6;mix-blend-mode:screen}.wrist-canvas-overlay.infected:before{content:"";position:absolute;z-index:1;top:27%;left:35%;width:35%;height:51%;background:radial-gradient(ellipse,#c03a6caa,transparent 65%);filter:blur(13px)}.wrist-laser{position:absolute;top:0;bottom:0;left:0;width:9px;background:#a1ffef;box-shadow:0 0 24px 11px #53e6d4ae,0 0 72px 25px #72dfcf37;pointer-events:none}.scan-annotation{position:absolute;left:8px;top:8px;padding:6px 8px;background:#071a1ecf;color:#a9ffe7;font:900 10px ui-monospace,monospace;letter-spacing:.09em;border:1px solid #54b9ae}.wrist-instructions{font-weight:900;color:#c9e9e5;padding:13px 1px 11px}.slider-track{height:67px;border-radius:9px;border:1px solid #51747b;background:#07191e;position:relative;touch-action:none;cursor:ew-resize;overflow:visible;margin-bottom:15px}.slider-progress{height:100%;width:0;background:linear-gradient(90deg,#164e4a,#227767);border-radius:9px;pointer-events:none}.scanner-knob{position:absolute;top:5px;left:0;width:56px;height:55px;background:linear-gradient(110deg,#c6ffed,#50e8bd);border:3px solid #0b3c40;border-radius:10px;display:grid;place-items:center;box-shadow:0 0 16px #44e4c0a1;color:#0e4242;touch-action:none;font:900 14px monospace}.wrist-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px}.wrist-bottom>span{font:900 15px ui-monospace,monospace;color:#a6e4d6}.wrist-bottom button{background:#296f5c;border:1px solid #66e2bf;padding:11px 18px;border-radius:7px;font-weight:900}.wrist-bottom button.positive{background:#7e3042;border-color:#ed7e93}.wrist-complete{background:#214c42!important}
.blackout-layer{z-index:70;background:#020406f6;overflow:hidden}.blackout-layer:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 54% 44%,#28151f68,transparent 48%);animation:blackflicker .45s infinite steps(2)}@keyframes blackflicker{50%{opacity:.3}}.blackout-static{position:absolute;inset:0;opacity:.25;background:repeating-linear-gradient(0deg,transparent 0 3px,#879fa80a 4px 6px)}.blackout-eyes{position:absolute;width:55px;height:20px;background:radial-gradient(ellipse at 30% 40%,#f4495d 0 13%,transparent 15%),radial-gradient(ellipse at 70% 40%,#f4495d 0 13%,transparent 15%);filter:drop-shadow(0 0 9px #f33657);opacity:.8;animation:eyePulse 1.1s infinite alternate}.eye-one{top:27%;left:12%}.eye-two{top:42%;right:14%;transform:scale(1.5)}.eye-three{bottom:19%;left:25%;transform:scale(.7)}@keyframes eyePulse{to{opacity:.2}}.blackout-center{position:relative;text-align:center;width:min(540px,100%);z-index:2}.danger-flash{display:inline-block;background:#5e1e31;border:1px solid #f45878;color:#ffe1e6;padding:9px 11px;font:900 12px ui-monospace,monospace;letter-spacing:.07em;animation:blink .55s infinite}.blackout-center h2{font-size:clamp(38px,7vw,70px);color:#fff;margin:15px 0 5px;text-shadow:0 0 40px #ea365c}.blackout-center p{color:#f3dce1;font-weight:800}.countdown-number{font:900 clamp(45px,8vw,85px) ui-monospace,monospace;color:#ff8799;text-shadow:0 0 16px #e83f55;line-height:1.5}.crouch-btn{background:linear-gradient(90deg,#ffc3c9,#f2607d);color:#36111d;border:3px solid #ffdae1;padding:20px 30px;border-radius:12px;font-weight:1000;font-size:clamp(21px,5vw,32px);width:100%;box-shadow:0 0 65px #f438597c;animation:crouchPulse 1s infinite alternate}.crouch-btn small{display:block;font-size:12px;margin-top:5px}@keyframes crouchPulse{to{transform:scale(1.03)}}.blackout-layer.saved{background:#071511ef}.blackout-layer.saved h2{color:#90ffd2;text-shadow:0 0 25px #30c9a2}.blackout-layer.saved .danger-flash,.blackout-layer.saved .countdown-number,.blackout-layer.saved .crouch-btn{display:none}.toast{position:fixed;z-index:80;bottom:26px;left:50%;transform:translate(-50%,25px);width:max-content;max-width:min(470px,90vw);border:1px solid #729993;background:#18313beF;color:#e6fff5;padding:13px 20px;border-radius:9px;opacity:0;pointer-events:none;font-weight:900;font-size:13px;transition:opacity .25s,transform .25s;text-align:center;box-shadow:0 12px 45px #0009}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1000px){.game-layout{grid-template-columns:minmax(0,1.1fr) minmax(315px,.9fr)}.scene{height:49vh;min-height:390px}.console h2{font-size:17px}.wrist-thumb{height:97px}.wrist-card{grid-template-columns:30% 1fr}}@media(max-width:760px){#app{padding:10px 9px 20px}.topbar{margin-bottom:9px}.brand-symbol{width:39px;height:39px;font-size:22px}.brand-kicker{font-size:8px}.brand h1{font-size:clamp(16px,5vw,23px)}.chip.live{display:none}.icon-btn{padding:7px 9px}.hud{grid-template-columns:1fr 1fr 1fr;gap:6px}.hudcell{padding:7px 9px}.hudcell strong{font-size:13px;white-space:nowrap}.hudcell small{font-size:9px}.threat-cell{grid-column:span 2}.game-layout{display:flex;flex-direction:column;gap:9px}.scene{height:clamp(290px,42vh,425px);min-height:290px}.visitor-wrap{width:min(63%,280px);height:91%}.scan-point{padding:7px 8px;font-size:11px;min-width:56px}.scene-top{left:7px;right:7px;top:8px;font-size:9px}.scene-bottom{font-size:9px;bottom:6px}.console-scroll{overflow:visible;padding:11px}.console-head{padding:12px}.console{min-height:0}.console h2{font-size:16px}.directive{padding:9px 12px;font-size:11px}.body-grid{gap:7px}.zone{min-height:71px;padding:8px 4px}.zone-icon{font-size:18px}.readout{margin:8px 0 11px;padding:8px}.wrist-card{grid-template-columns:29% 1fr}.wrist-thumb{height:95px}.wrist-card-text p{margin:4px 0 6px}.result-box{margin-top:10px;padding:10px}.decisions{position:static;z-index:15;padding:8px;background:#0c171df0;border-radius:0 0 11px 11px}.decision{padding:11px 4px}.decision b{font-size:14px}.decision small{font-size:10px}.bottom-help{font-size:10px}.gate-btn{padding:9px 12px}.modal-rules{gap:6px}.modal-rule{padding:9px 6px}.modal-rule small{font-size:9px}.modal-inner{padding:15px 15px 18px}.modal-hero{height:23vh;min-height:135px}.modal-inner h2{font-size:28px}.modal-inner .sub{font-size:12px}.modal-rules{margin:10px 0 13px}.wrist-stage{height:clamp(170px,27vh,235px)}}@media(max-width:380px){.brand h1{font-size:15px}.hudcell strong{font-size:14px}.scene{height:280px;min-height:280px}.scan-point{font-size:9px}.scan-point.head-point{top:25%;left:59%}.scan-point.wrist-point{left:68%}.scene-call{font-size:8px}.modal-rule b{font-size:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Cinematic response to each player decision */
.shutter-visual{position:absolute;inset:0;pointer-events:none;z-index:9;overflow:hidden}.shutter-upper,.shutter-lower{height:50%;position:absolute;left:0;right:0;background:repeating-linear-gradient(0deg,#33464d 0 18px,#152830 18px 23px,#53666a 24px 27px,#13242b 29px 54px);box-shadow:inset 0 0 36px #050d12;border:4px solid #425963;transition:transform .8s cubic-bezier(.22,1,.36,1)}.shutter-upper{top:0;transform:translateY(-108%);border-bottom:11px solid #a48d46}.shutter-lower{bottom:0;transform:translateY(108%);border-top:11px solid #a48d46}.scene.closing .shutter-upper,.scene.closing .shutter-lower{transform:translateY(0)}.visitor-wrap.leaving{animation:visitorAdmit 1s ease-in forwards}.visitor-wrap.locked{animation:visitorIsolate 1s ease-in forwards}@keyframes visitorAdmit{to{transform:translateX(95%) scale(.77);opacity:.13;filter:blur(5px)}}@keyframes visitorIsolate{to{transform:translateX(-145%) scale(.82);opacity:.17;filter:blur(4px)}}.scene.scare .scene-shader{box-shadow:inset 0 0 110px #be162a77;animation:dangerVignette 1.3s ease-in-out infinite}@keyframes dangerVignette{50%{box-shadow:inset 0 0 120px #7b14259a}}
