:root{color-scheme:dark;--paper:#e8e8da;--muted:#9ca69c;--red:#c94e3b;--line:#d9e7d01f}*{box-sizing:border-box}body{margin:0;background:#101713;color:var(--paper);font:14px/1.6 system-ui,-apple-system,'Segoe UI',sans-serif;overflow:hidden}button,input,select{font:inherit}button,a,select,input{touch-action:manipulation}button{color:inherit;cursor:pointer;border:1px solid var(--line);background:#bfcbb408;border-radius:5px;transition:background .15s}button:hover{background:#e8e8da13}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #ebc897;outline-offset:4px}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none}a:hover{color:#fff}button,kbd{font-family:inherit}kbd{font-size:10px;border:1px solid #c7d1bb44;padding:2px 5px;border-radius:3px;color:#a9b4a5}input,select{accent-color:var(--red)}select{border:1px solid var(--line);border-radius:4px;padding:9px;color:var(--paper);background:#1b241e;max-width:100%}[hidden]{display:none!important}#world{display:block;position:fixed;inset:0;width:100%;height:100%;touch-action:none}.vignette{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 64% 50%,transparent 20%,#02090799 100%);z-index:1}.grain{position:fixed;inset:0;pointer-events:none;opacity:.07;z-index:2;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.6' filter='url(%23n)'/%3E%3C/svg%3E")}.screen{position:fixed;inset:0;z-index:5;overflow:auto}#menu{padding:26px 5.5vw 24px;background:linear-gradient(90deg,#0b1411f5 0%,#0b1411df 26%,#0b14116b 56%,#0b141110 100%);display:flex;flex-direction:column}nav{display:flex;align-items:center;justify-content:space-between;gap:20px}nav>a:last-child{font-size:11px;letter-spacing:.05em;color:#bdc5b7}.brand{font-size:12px;font-weight:650;letter-spacing:.2em;display:flex;align-items:center;gap:12px}.brand-icon{font-size:28px;line-height:1;color:#d9d9c7}.hero{margin:auto 0;padding:30px 0;max-width:580px}.eyebrow,.tiny{font-size:9px;letter-spacing:.18em;font-weight:600;color:#a1ac9c}.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow>span{width:5px;height:5px;border-radius:50%;background:var(--red)}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:.98;letter-spacing:-.055em}h1{font-size:clamp(76px,9.2vw,146px);margin:23px 0;color:#e7e6d8}h1 em{color:#c56e53;font-weight:400}.story{color:#a8b3a6;font-size:14px;line-height:1.8;margin:25px 0}.start-row{display:flex;align-items:center;gap:24px}.primary{display:flex;justify-content:space-between;align-items:center;gap:32px;background:var(--red);color:#fff1e4;padding:16px 23px;border:1px solid #de6d5733;border-radius:4px;font-weight:600;font-size:13px;min-height:51px}.primary:hover{background:#df6047}.primary:disabled:hover{background:var(--red)}.start-row>span{font-size:10px;line-height:1.8;color:#95a18e}.mode-row{margin-top:21px;display:flex;align-items:center;gap:13px;flex-wrap:wrap}.mode-row label{font-size:10px;color:#8d9986}.mode-row select{font-size:11px;padding:7px 10px}.secondary{display:flex;align-items:center;gap:24px;margin-top:21px}.secondary button,.text-button{border:0;background:none;padding:0;font-size:11px;color:#a8b4a1}.secondary button>span{margin-left:10px;color:#e2dfcb}#best{font-size:10px;color:#b7b49a}.intro-footer{display:flex;gap:40px;border-top:1px solid var(--line);padding-top:20px;max-width:1100px}.intro-footer>div{display:flex;gap:15px;align-items:baseline;flex:1}.intro-footer>div>span{font:italic 21px Georgia,serif;color:#8c6c54}.intro-footer p{font-size:10px;color:#889783;margin:0}.intro-footer b{display:block;font-size:11px;font-weight:550;color:#c0c9b7;margin-bottom:4px}.scene-caption{position:absolute;right:8%;bottom:27%;display:flex;flex-direction:column;gap:8px;text-align:right}.scene-caption>span{font-size:9px;letter-spacing:.12em;color:#98a597}.scene-caption>b{font:italic 26px Georgia,serif;color:#d2d7c0;font-weight:400}.scene-caption>small{font-size:10px;color:#97a38c}#fatal{color:#f6c3aa;font-size:13px;max-width:390px;background:#6d261e55;padding:14px}#hud{position:fixed;inset:0;z-index:3;pointer-events:none}#hud button{pointer-events:auto}#hud .hud-top{position:absolute;top:25px;left:32px;right:32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.room-card{display:flex;flex-direction:column;gap:4px}.room-card>strong{font:25px Georgia,serif;color:#e6e8d8;font-weight:400}.hud-actions{display:flex;gap:9px}.hud-actions button{min-width:44px;min-height:43px;padding:9px 13px;background:#1020199c;backdrop-filter:blur(8px);font-size:11px}.hud-actions kbd{margin-left:7px}#pause-open{font-size:19px}.objectives{position:absolute;left:32px;top:111px;font-size:12px;padding:15px 17px;border:1px solid #cbd9b71c;background:#12201785;border-radius:5px;backdrop-filter:blur(5px)}.objectives>.tiny{font-size:8px}#objective{margin-top:6px;max-width:260px}#objective b{margin-left:8px;color:#d5d0a9}.fuses{display:flex;gap:5px;margin-top:12px}.fuses i{width:26px;height:5px;background:#d6e0bc20;border:1px solid #a6ba8d33}.fuses i.found{background:#b5cea0;border-color:#b5cea0}#crosshair{position:absolute;top:50%;left:50%;width:4px;height:4px;border:1px solid #f3f3dcaa;background:#fff6;border-radius:50%;transform:translate(-50%,-50%)}#interaction{position:absolute;left:50%;top:57%;transform:translateX(-50%);text-align:center}#interaction button{display:flex;align-items:center;gap:12px;padding:10px 17px;font-size:12px;white-space:nowrap;background:#0a1812d9;border-color:#b9cb9d44;min-height:46px}#interaction kbd{font-size:12px;color:#dddcc0}#hidden-note{position:absolute;left:50%;top:35%;width:min(360px,90%);text-align:center;transform:translateX(-50%);display:flex;flex-direction:column;gap:10px}#hidden-note strong{font:34px Georgia,serif}#hidden-note span{font-size:12px;color:#c2c6b4}#hidden-note button{align-self:center;min-height:44px;background:#15231c;padding:9px 18px}.hud-bottom{position:absolute;bottom:25px;left:32px;right:32px;display:flex;gap:30px;align-items:flex-end;justify-content:space-between}.meters{width:190px}.meters label{display:block;font-size:9px;color:#c6ceb9;margin-top:9px}.meters label>span{float:right;color:#9eae92}progress{display:block;appearance:none;-webkit-appearance:none;width:100%;height:3px;border:0;background:#adbc9426;margin-top:6px;border-radius:2px}progress::-webkit-progress-bar{background:#adbc9426;border-radius:2px}progress::-webkit-progress-value{background:#9eb48b;border-radius:2px}progress::-moz-progress-bar{background:#9eb48b}#fear::-webkit-progress-value{background:#c47258}.desktop-hint{font-size:9px;line-height:1.9;color:#a7b49b;opacity:.8}#flashlight{padding:11px 17px;font-size:11px;background:#14251b9e;min-height:44px}#flashlight[aria-pressed=false]{opacity:.55}#touch-controls{display:none}#toast{position:absolute;left:50%;bottom:110px;transform:translateX(-50%);width:max-content;max-width:85%;text-align:center;padding:11px 18px;background:#102017e8;border:1px solid #c5d4b533;color:#e5e5d0;border-radius:4px;font-size:12px}.modal-screen{background:#09120ed9;backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:30px}.panel{width:360px;max-width:100%}.panel h2{font-size:74px;margin:22px 0}.panel p{font-size:13px;color:#a0b099;line-height:1.9}.panel .primary{width:100%;margin-top:28px}.panel-links{display:flex;gap:15px;flex-wrap:wrap;margin-top:21px}.panel-links button,.panel>.text-button{font-size:11px;background:none;border:0;padding:5px 0;color:#b6c1aa}.panel>.text-button{margin-top:17px}dialog{background:#152019;color:var(--paper);border:1px solid #b3c39e30;border-radius:9px;padding:27px;width:min(470px,calc(100vw - 28px));max-height:calc(100dvh - 30px);box-shadow:0 25px 100px #0009;overflow:auto}dialog::backdrop{background:#030b07c9;backdrop-filter:blur(8px)}dialog header{display:flex;align-items:center;justify-content:space-between;gap:20px}dialog header button{width:38px;height:38px;background:none;font-size:24px;line-height:1}dialog h2{font-size:39px;line-height:1.1;margin:19px 0 25px}dialog p,dialog li{font-size:12px;color:#b6c2a9;line-height:1.9}dialog ol{padding-left:20px}dialog li{margin:10px 0}dialog .primary{width:100%;justify-content:center;margin-top:25px}.setting{display:block;font-size:12px;margin-bottom:26px}.setting input{display:block;width:100%;margin:15px 0 0}.setting output{float:right;color:#a0b78b;font-size:11px}.setting select{display:block;width:100%;margin-top:12px}.check{display:flex;gap:10px;align-items:center;font-size:12px}.check input{width:16px;height:16px}#map-canvas{width:100%;height:auto;border:1px solid #adb99127;border-radius:4px}.map-dot{color:#e9b88e}.no-script{position:fixed;inset:0;z-index:20;padding:20vh 10vw;background:#172219;font-size:25px}
@media(pointer:coarse){#touch-controls{display:block}.desktop-hint{display:none}.hud-actions kbd,#interaction kbd{display:none}#joystick{pointer-events:auto;position:absolute;bottom:100px;left:28px;width:112px;height:112px;background:#132a1c70;border:1px solid #d6e7bf44;border-radius:50%;touch-action:none;z-index:2}#stick{position:absolute;top:33px;left:33px;width:44px;height:44px;border-radius:50%;background:#bdc9a342;box-shadow:inset 0 0 0 1px #d8e4bc44;pointer-events:none}#joystick>span{position:absolute;bottom:-22px;left:0;right:0;text-align:center;font-size:8px;letter-spacing:.15em;color:#9dac90}#look-zone{pointer-events:auto;position:absolute;top:20%;right:0;bottom:180px;width:48%;touch-action:none}#run{position:absolute;bottom:117px;right:28px;border-radius:50%;width:65px;height:65px;background:#1c2c207f;border:1px solid #d2dfbb44;font-size:10px;touch-action:none}.look-tip{position:absolute;bottom:91px;right:23px;font-size:8px;color:#bac8a7}#interaction{z-index:3;top:54%}#interaction button{min-height:49px;white-space:normal;max-width:290px}.hud-bottom{bottom:17px}.meters{width:145px}.hud-top .room-card>strong{font-size:23px}#toast{bottom:250px}}
@media(max-width:760px){#menu{padding:21px 24px 22px;background:linear-gradient(90deg,#0b1411ed,#0b14118a)}.brand{font-size:10px;letter-spacing:.16em;gap:8px}.brand-icon{font-size:24px}nav>a:last-child{font-size:10px}.hero{padding:32px 0;max-width:100%;margin:auto 0}h1{font-size:88px;margin:20px 0}.eyebrow{font-size:8px;letter-spacing:.14em}.story{font-size:13px;margin:20px 0}.start-row{gap:14px}.start-row .primary{padding:14px 18px;gap:14px;min-width:165px}.start-row>span{font-size:8px}.mode-row{margin-top:18px;gap:9px}.mode-row select{font-size:10px;max-width:100%}.secondary{gap:20px;margin-top:19px;flex-wrap:wrap}.secondary button{font-size:10px}.intro-footer{gap:17px;padding-top:14px}.intro-footer>div{gap:8px}.intro-footer>div>span{font-size:16px}.intro-footer b{font-size:9px;margin:0}.intro-footer p{font-size:8px}.scene-caption{display:none}#hud .hud-top{top:18px;left:18px;right:18px}.objectives{left:18px;top:94px;padding:10px 12px;font-size:10px}.objectives>.tiny{font-size:7px}#objective{max-width:230px}.hud-bottom{left:20px;right:20px;gap:13px}.desktop-hint{display:none}#flashlight{font-size:10px;padding:10px 12px}.panel h2{font-size:64px}#elapsed{letter-spacing:.05em}dialog{padding:22px}dialog h2{font-size:34px}}
@media(max-height:650px){#menu .hero{padding:20px 0}h1{font-size:67px;margin:13px 0}.story{font-size:11px;margin:12px 0}.mode-row{margin-top:12px}.secondary{margin-top:12px}.intro-footer{display:none}.scene-caption{bottom:13%}.panel h2{font-size:49px;margin:15px 0}.panel .primary{margin-top:15px}.panel p{font-size:12px}.objectives{top:81px}.hud-bottom{bottom:12px}.hud-top .room-card>strong{font-size:20px}}
@media(pointer:coarse) and (max-height:500px){#joystick{bottom:66px;left:25px;width:90px;height:90px}#stick{left:23px;top:23px}#run{bottom:75px;right:26px;width:55px;height:55px}.look-tip{bottom:53px}#look-zone{top:22%;bottom:115px}.objectives{font-size:9px;top:74px;padding:7px 10px}.fuses{margin-top:6px}.hud-bottom{bottom:10px}.meters{width:125px}.meters label{font-size:8px;margin-top:4px}#toast{bottom:165px;font-size:10px}}
#hidden-note{z-index:4}
.coop-button{display:flex;justify-content:space-between;gap:35px;align-items:center;padding:11px 18px;margin-top:13px;min-height:45px;font-size:12px;color:#d7d8bd;background:#637b3d1f;border-color:#a4b38c44}.coop-button>span{color:#b9b790}
#coop-dialog input{border:1px solid #b1c29e44;background:#0e1a12;border-radius:4px;color:#e5e7d5;padding:11px 12px;font-size:16px}#coop-code{text-transform:uppercase;letter-spacing:.22em;font-family:monospace}#coop-dialog .primary{margin-top:10px}.coop-separator{text-align:center;font-size:10px;color:#92a383;margin:22px 0}.coop-room-code{font:36px/1.5 monospace;letter-spacing:.18em;margin:12px 0;color:#e5cfa5}#coop-copy{padding:8px 12px;font-size:11px;min-height:38px}#coop-players{margin-top:20px}.coop-player{padding:12px 0;border-bottom:1px solid #b4c39d25;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;font-size:12px}.coop-player>span{color:#9eb188;font-size:10px}.coop-player.empty{color:#859576;font-style:italic}#coop-leave{display:block;margin-top:18px;font-size:12px}#coop-error{color:#e0b18d;min-height:20px;margin-bottom:0}#coop-error:empty{display:none}#coop-dialog .coop-note{font-size:10px;line-height:1.8;margin-top:22px}#coop-status{position:fixed;left:32px;top:205px;z-index:4;pointer-events:none;max-width:240px;background:#112117b8;border:1px solid #b2c79b30;border-radius:5px;padding:9px 13px;font-size:10px;display:flex;flex-direction:column;gap:2px}#coop-status b{color:#d2c79e;font-size:9px;letter-spacing:.08em}#coop-peer-status{color:#bfccb1}#coop-nameplate{position:fixed;z-index:4;transform:translate(-50%,-100%);padding:4px 8px;border-radius:3px;background:#101c14cb;color:#e3dac0;font-size:10px;pointer-events:none;white-space:nowrap}#coop-downed{position:fixed;z-index:4;left:50%;top:40%;width:min(350px,90vw);transform:translateX(-50%);text-align:center;padding:20px;background:#102017df;border:1px solid #acbc902b;border-radius:7px;pointer-events:none}#coop-downed strong{font:25px Georgia,serif}#coop-downed p{font-size:12px;color:#b8c4a6}#coop-start:disabled{cursor:default}
@media(max-width:760px){#coop-status{left:18px;top:185px;padding:7px 10px;max-width:215px;font-size:9px}.coop-button{font-size:11px;min-height:44px;margin-top:10px}.coop-room-code{font-size:31px}#coop-dialog h2{font-size:33px}}
@media(max-height:500px){#coop-status{top:145px;padding:6px 10px}.coop-button{padding:7px 13px;min-height:36px;font-size:10px}}
@media(pointer:coarse){#joystick{bottom:116px}}
@media(pointer:coarse) and (max-height:500px){#joystick{bottom:91px}#run{bottom:89px}.look-tip{bottom:65px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
