:root{color-scheme:dark;--osd:#d8ddce;--dim:#8b9588;--red:#d35c53;--line:#b4c0a93a;font-family:'Courier New',Courier,monospace;font-synthesis:none;color:var(--osd);background:#030605}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}button,input{font:inherit}button{cursor:pointer;color:inherit;border:0;border-radius:0;-webkit-tap-highlight-color:transparent}button:disabled{cursor:wait;opacity:.4}button:focus-visible,input:focus-visible{outline:1px solid var(--osd);outline-offset:5px}button:active{transform:translateY(1px)}#experience{position:relative;width:100%;height:100%;min-height:360px;overflow:hidden}#game{display:block;width:100%;height:100%;outline:0;touch-action:none}.hidden{display:none!important}
.grain,.scanlines,.frame,#damage{position:absolute;inset:0;pointer-events:none}.grain{z-index:5;opacity:.037;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='.94' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.9' d='M0 0h180v180H0z'/%3E%3C/svg%3E");animation:grain .16s steps(2) infinite}.scanlines{z-index:5;background:repeating-linear-gradient(0deg,#0003 0,#0003 1px,transparent 1px,transparent 4px);opacity:.36}.frame{z-index:5;box-shadow:inset 0 0 75px 20px #0008;border:8px solid #02040344}#damage{z-index:6;opacity:0;background:radial-gradient(ellipse at center,transparent 35%,#5d1e1566);mix-blend-mode:screen}.no-vhs .grain,.no-vhs .scanlines{display:none}.screen{position:absolute;inset:0;z-index:7}.menu{background:linear-gradient(90deg,#020504e8 0%,#020504a8 26%,#02050422 63%,transparent 100%)}
.vcr-top,.vcr-bottom{position:absolute;left:6.2%;right:6.2%;display:flex;justify-content:space-between;align-items:center}.vcr-top{top:7%}.vcr-bottom{bottom:7%}.vcr-top,.vcr-bottom,.menu-body,.osd-card,dialog,#error,#loading{text-shadow:1px 0 #52715866,-1px 0 #462f4266,0 1px 3px #000}.vcr-top{font-size:16px;font-weight:bold;line-height:1.4;letter-spacing:.12em}.transport-status{margin:0;font-size:14px;letter-spacing:.1em}.menu-body{position:absolute;top:50%;left:9.2%;transform:translateY(-46%)}.tape-label{margin:0 0 22px;color:var(--dim);font-size:12px;letter-spacing:.14em}h1{margin:0 0 34px;font-size:clamp(34px,4.3vw,57px);font-weight:bold;letter-spacing:.1em;line-height:1.17}.primary{display:inline-flex;justify-content:center;align-items:center;gap:13px;min-height:43px;padding:9px 17px;border:1px solid #b4c0a96b;background:#0c130e99;font-size:14px;font-weight:bold;line-height:1.5;letter-spacing:.1em;text-align:center}.primary:hover{background:#d8ddce;color:#0b100b;text-shadow:none}.primary>span:first-child:not(#begin-label){font-size:14px}.record-button{min-width:160px;justify-content:flex-start}.rec-symbol{color:var(--red)}.record-button:hover .rec-symbol{color:#882c24}.menu-actions{display:flex;flex-wrap:wrap;align-items:center;column-gap:22px;row-gap:9px;margin-top:18px}.text-button{background:transparent;padding:7px 0;color:var(--dim);font-size:10px;line-height:1.6;font-weight:bold;letter-spacing:.08em}.text-button:hover{color:var(--osd);text-decoration:underline;text-underline-offset:4px}#sound{display:inline-flex;align-items:center;gap:5px}#sound-icon{display:none}.menu-footer{color:#a3ae9d;font-size:11px;letter-spacing:.08em}.timecode{font-size:17px;letter-spacing:.1em}.run-record{display:flex;gap:30px;font-size:10px}#menu-attempts{color:#75816f}.red-dot{display:inline-block;flex-shrink:0;width:8px;height:8px;background:var(--red);border-radius:0;box-shadow:0 0 5px #d35c5333}
#hud{position:absolute;inset:0;z-index:7;pointer-events:none}.hud-top{left:5%;right:5%;top:6%;font-size:13px}.hud-recording{display:flex;gap:9px;align-items:center}#run-time{margin-left:17px;letter-spacing:.1em}.hud-tape{color:#a4af98b8;font-size:11px}.crosshair{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:2px;height:2px;background:#d8ddce77}.hud-bottom{bottom:6%;left:5%;right:5%;align-items:flex-end}.light-status{width:185px;font-size:10px;line-height:1.5;letter-spacing:.03em}.battery-caption{display:flex;justify-content:space-between;font-weight:bold;letter-spacing:.08em}.battery-track{position:relative;width:100%;height:8px;margin:7px 0;background:#a2b08b22}.battery-track::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(10% - 2px),#070b07 calc(10% - 2px),#070b07 10%)}#charge-fill{width:100%;height:100%;background:#b9c6a5}.battery-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#a3b090;font-size:8px;white-space:nowrap}#spare-word{display:none}kbd{font:inherit;display:inline-block;border:1px solid #9bab8644;padding:1px 4px;min-width:18px;text-align:center;color:#d1d9c5;line-height:1.4}#reload-hint kbd{padding:0 3px;min-width:13px}.stamina-track{width:65px;height:2px;background:#a2b08b22;opacity:0}#stamina-fill{height:100%;width:100%;background:#b9c6a577}.low-battery #charge-fill{background:var(--red)}.low-battery #light-caption,.low-battery #charge{color:#db8d78}.interaction{position:absolute;top:57%;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;font-size:11px;line-height:1.5;letter-spacing:.06em;white-space:nowrap;text-shadow:0 1px 3px #000}.interaction kbd{padding:3px 6px}#message{position:absolute;left:12%;right:12%;bottom:22%;text-align:center;font-size:10px;line-height:1.7;letter-spacing:.06em;text-shadow:0 1px 3px #000;opacity:0;transition:opacity .35s}.reload-progress{position:absolute;bottom:18%;left:50%;transform:translateX(-50%);width:155px;text-align:center;font-size:10px;letter-spacing:.13em}.reload-progress>div{margin-top:9px;height:3px;background:#d8ddce22}.reload-progress i{display:block;height:100%;width:0;background:#d8ddce}#dark-warning{position:absolute;left:0;right:0;top:38%;text-align:center;font-size:13px;letter-spacing:.13em;color:#dd9985;animation:blink .65s steps(1) infinite}
.overlay{position:absolute;inset:0;z-index:9;display:flex;align-items:center;justify-content:center;background:#030604ce;backdrop-filter:blur(3px)}.osd-card{width:min(430px,84%);text-align:left}.osd-card>.transport-status{font-size:12px;color:var(--dim)}h2{font-size:28px;line-height:1.25;letter-spacing:.1em;margin:20px 0 30px}.pause-card h2{margin-bottom:35px}.transport-menu{display:flex;flex-wrap:wrap;align-items:center;gap:19px}.transport-menu .primary{font-size:12px}.signal-status{font-size:11px;letter-spacing:.12em;color:#b6a89a;margin:-16px 0 28px}.death-stats{display:flex;justify-content:space-between;gap:18px;margin:0 0 35px;padding:19px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.death-stats dt{font-size:9px;color:var(--dim);letter-spacing:.08em}.death-stats dd{font-size:22px;margin:9px 0 0;letter-spacing:.08em}dialog{color:var(--osd);background:#08100bea;border:1px solid #84977b70;border-radius:0;padding:30px;width:calc(100% - 40px);max-width:500px;max-height:85dvh;overflow:auto;box-shadow:0 20px 120px #000c}dialog::backdrop{background:#020503b8;backdrop-filter:blur(5px)}dialog h2{margin:0 0 25px;font-size:21px}.close-dialog{position:absolute;top:13px;right:16px;color:var(--dim);background:none;font-size:24px;padding:0 4px}dialog .primary{margin-top:25px;font-size:11px;min-height:37px}.controls-list{margin:0}.controls-list>div{display:grid;grid-template-columns:156px 1fr;gap:17px;padding:12px 0;border-bottom:1px solid var(--line);align-items:center}.controls-list dt{font-size:10px;white-space:nowrap}.controls-list dd{font-size:11px;line-height:1.7;margin:0;color:#a3b498}.control-note{margin:22px 0 0;font-size:11px;line-height:1.8;color:#a4b098}.control-note+.control-note{color:#7f8e75;margin-top:14px}.setting{display:grid;grid-template-columns:1fr 140px 38px;align-items:center;gap:15px;padding:20px 0;border-bottom:1px solid var(--line);font-size:10px;line-height:1.5;letter-spacing:.04em}.setting input{width:100%;cursor:pointer;accent-color:#bdc9ae}.setting output{color:#a2b394;text-align:right}.toggle-setting{grid-template-columns:1fr 20px}.toggle-setting input{height:16px;margin:0}
#error{position:absolute;inset:0;z-index:20;background:#030704;padding:35px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}#error h2{margin-bottom:15px}#error p{font-size:12px;line-height:1.8;max-width:460px;margin-bottom:25px}#loading{position:absolute;left:9.2%;bottom:14%;z-index:15;color:var(--dim);font-size:10px;letter-spacing:.08em}#touch-controls{pointer-events:auto;position:absolute;left:25px;right:25px;bottom:110px;display:flex;justify-content:space-between;align-items:center}#joystick{display:flex;align-items:center;justify-content:center;width:96px;height:96px;border:1px solid #b4c0a944;background:#9baf8e12;border-radius:50%;touch-action:none}#joystick-knob{pointer-events:none;width:34px;height:34px;background:#b4c0a940;border:1px solid #b4c0a94a;border-radius:50%}.touch-actions{display:flex;gap:13px}.touch-actions button{width:52px;height:52px;font-size:16px;background:#111d1488;border:1px solid #b4c0a955;border-radius:0;color:var(--osd);touch-action:none}#touch-pause{pointer-events:auto;position:absolute;right:5%;top:12%;width:37px;height:31px;border:1px solid #b4c0a933;background:#111d1466;color:var(--osd);font-size:15px}.playing #game{cursor:none}.playing .frame{border-width:4px}.reduce-motion .grain{animation:none}
@keyframes grain{0%{background-position:0 0}25%{background-position:10px -16px}75%{background-position:-9px 30px}}@keyframes blink{0%,60%{opacity:1}61%,100%{opacity:.22}}
@media(max-width:700px){.menu{background:linear-gradient(90deg,#020504df,#02050488 72%,#02050444)}.vcr-top,.vcr-bottom{left:7%;right:7%}.vcr-top{top:7%;font-size:13px}.vcr-bottom{bottom:7%}.menu-body{left:10%;right:8%}.tape-label{font-size:10px;margin-bottom:20px}h1{font-size:clamp(31px,8.8vw,46px);margin-bottom:30px}.menu-actions{column-gap:19px}.text-button{font-size:9px}.primary{font-size:13px;min-height:42px}.timecode{font-size:13px}.run-record{gap:11px;font-size:8px;flex-direction:column;text-align:right}.hud-top{left:6%;right:6%;font-size:11px}.hud-tape{font-size:8px}#run-time{margin-left:9px}.red-dot{width:6px;height:6px}.hud-bottom{left:6%;right:6%;bottom:5%}.light-status{width:165px}.battery-footer{font-size:7px}.stamina-track{width:45px}.interaction{font-size:10px}#message{bottom:25%;font-size:9px;left:8%;right:8%}.reload-progress{bottom:18%}h2{font-size:25px}.osd-card{width:82%}.transport-menu{gap:15px}.transport-menu .text-button{font-size:10px}.death-stats{gap:10px}.death-stats dt{font-size:8px}.death-stats dd{font-size:20px}dialog{padding:27px 24px}.controls-list>div{grid-template-columns:128px 1fr;gap:11px}.controls-list dt{font-size:9px}.controls-list dd,.control-note{font-size:10px}.setting{grid-template-columns:1fr 100px 33px;gap:8px;font-size:9px}.toggle-setting{grid-template-columns:1fr 20px}}
@media(max-height:520px){.vcr-top{top:6%}.vcr-bottom{bottom:6%}.menu-body{transform:translateY(-46%)}.tape-label{margin-bottom:12px;font-size:9px}h1{font-size:min(7.8vh,39px);margin-bottom:19px}.menu-actions{margin-top:10px}.primary{min-height:36px;padding:6px 14px;font-size:11px}.transport-status{font-size:11px}.osd-card h2{margin:15px 0 25px}.death-stats{padding:12px 0;margin-bottom:22px}.signal-status{margin-bottom:22px}}
@media(prefers-reduced-motion:reduce){.grain,#dark-warning{animation:none}#message{transition:none}}

/* A worn horror-disc menu: soft film titles, cold optical bloom and remote-style selections. */
#menu{background:linear-gradient(90deg,#01040ddd 0%,#030a1591 42%,#07112822 74%),linear-gradient(180deg,#01030bf5 0%,#040b1520 19%,#030a1420 69%,#000208f5 100%);isolation:isolate}
#menu::before{content:'';position:absolute;inset:5% -10%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 67% 50%,#759bc32b 0%,#29496f12 35%,transparent 64%),radial-gradient(ellipse at 28% 68%,#b6bfd61c 0%,transparent 52%);filter:blur(26px);animation:disc-fog 24s ease-in-out infinite alternate}
#menu::after{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;box-shadow:inset 0 45px 35px #0007,inset 0 -40px 36px #000b,inset 0 0 110px 24px #0008;background:linear-gradient(180deg,transparent 49.5%,#bccae205 49.7%,transparent 50%),repeating-linear-gradient(0deg,transparent 0,transparent 2px,#05091114 3px,transparent 4px)}
.disc-wear{position:absolute;inset:0;pointer-events:none;z-index:2;opacity:.18;mix-blend-mode:screen;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1280 720'%3E%3Cfilter id='s'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.025 .7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%238aa1b9' filter='url(%23s)' opacity='.16' d='M0 0h1280v720H0z'/%3E%3Cg fill='none' stroke='%2398b5cb' stroke-width='.5' opacity='.13'%3E%3Cpath d='M137 0l-4 112 3 83-5 77m4 66-3 140 2 67M1002 72l2 160-3 116 4 185M882 0l-2 74 3 38M451 640l-3 80'/%3E%3C/g%3E%3C/svg%3E");background-size:cover}
.disc-index{position:absolute;left:8%;right:8%;top:10%;display:flex;justify-content:space-between;color:#b7c0cf63;font:10px Tahoma,Verdana,sans-serif;letter-spacing:.22em;text-shadow:0 0 5px #9ebfee66;filter:blur(.2px)}.disc-number{opacity:.45}
#menu .menu-body{left:9%;right:7%;top:35%;transform:translateY(-18%);pointer-events:none}
#menu h1{margin:0;color:#d0d1d1;font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1;text-shadow:0 0 2px #dfdfdf9c,0 0 17px #748baa72,3px 0 6px #37538a7a,-2px 1px 1px #c3cdd23b;filter:blur(.35px);opacity:.88}
.title-overline{display:block;font-size:clamp(20px,2.8vw,37px);letter-spacing:.28em;margin:0 0 15px 5px}
.title-feature{display:block;font-size:clamp(60px,11.2vw,148px);letter-spacing:.045em;line-height:.86;transform:scaleY(1.11);transform-origin:left top}
.disc-menu-strip{position:absolute;bottom:19%;left:0;right:0;padding:25px 9%;background:linear-gradient(90deg,#1727409c,#182c4d66 55%,#10234408);border-top:1px solid #8eaacb29;border-bottom:1px solid #9bb5cc16;box-shadow:0 -8px 24px #74a5e50b,inset 0 1px 8px #b5d0ed12,0 12px 30px #0007}
.disc-menu-strip::before{content:'';pointer-events:none;position:absolute;left:0;right:0;top:-4px;height:1px;background:linear-gradient(90deg,transparent,#accbe563 35%,#8599be15 70%,transparent);filter:blur(.8px)}
.disc-navigation{display:flex;align-items:center;flex-wrap:wrap;gap:20px 43px}
#menu .disc-navigation button{position:relative;padding:7px 0;min-height:30px;min-width:0;border:0;background:none;border-radius:0;box-shadow:none;color:#8995ad;font:12px Tahoma,Verdana,sans-serif;font-weight:400;letter-spacing:.16em;line-height:1.8;text-align:left;text-shadow:0 0 4px #b5c6df57,1px 1px 2px #000;filter:blur(.22px);transform:none;transition:color .15s,text-shadow .15s}
#menu .disc-navigation button::before{content:'›';position:absolute;left:-24px;top:0;color:#d0e3ff;opacity:0;font:26px Georgia,serif;text-shadow:0 0 11px #91bdff}
#menu .disc-navigation button:hover,#menu .disc-navigation button:focus-visible{color:#dfeaff;text-shadow:0 0 3px #e3edff,0 0 14px #94b8ffba,0 0 30px #6595f15c;text-decoration:none;outline:none}
#menu .disc-navigation button:hover::before,#menu .disc-navigation button:focus-visible::before{opacity:1}
#menu .menu-footer{left:9%;right:9%;bottom:10%;font:9px Tahoma,Verdana,sans-serif;letter-spacing:.13em;color:#899bb16b;text-shadow:0 0 4px #90a5c35c;filter:blur(.2px)}#menu .menu-footer #menu-attempts{color:inherit}#menu-best{margin-left:14px;color:#b3c0d08a}
.overlay{background:linear-gradient(135deg,#030815e8,#0c1726c7 60%,#02040bea);backdrop-filter:blur(5px);box-shadow:inset 0 0 130px #000b}
.osd-card{width:min(560px,82%)}.osd-card .transport-status{font:10px Tahoma,Verdana,sans-serif;letter-spacing:.18em;color:#8c9bb475}
.osd-card h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(34px,5vw,61px);letter-spacing:.07em;color:#cad0d8;text-shadow:0 0 2px #d7deed8c,0 0 20px #7896bc63;filter:blur(.35px)}
.transport-menu{gap:27px}.transport-menu button,dialog .primary{position:relative;border:0;background:transparent;min-height:35px;padding:7px 0;color:#a0adc4;font:12px Tahoma,Verdana,sans-serif;letter-spacing:.13em;filter:blur(.2px);text-shadow:0 0 7px #8baae76e}
.transport-menu button:hover,.transport-menu button:focus-visible,dialog .primary:hover,dialog .primary:focus-visible{color:#e1ecff;background:transparent;text-decoration:none;text-shadow:0 0 3px #fff,0 0 13px #91b4ff;outline:1px dotted #bccfe44f;outline-offset:7px}
.signal-status{color:#a19da7;font:11px Tahoma,Verdana,sans-serif;letter-spacing:.2em}.death-stats{border-color:#a1bbdf25}.death-stats dt{color:#8292ab;font:9px Tahoma,Verdana,sans-serif;letter-spacing:.12em}.death-stats dd{color:#b5c1d1;text-shadow:0 0 7px #8aaae652;filter:blur(.2px)}
dialog{border:1px solid #90aac447;background:linear-gradient(140deg,#101c30f2,#04080ff7);box-shadow:0 0 1px #afc9e75c,inset 0 0 45px #738aab0c,0 25px 120px #000e;color:#bdc8d9}dialog::backdrop{background:#01040cbd;backdrop-filter:blur(7px)}dialog h2{font-family:Georgia,'Times New Roman',serif;font-size:33px;font-weight:400;letter-spacing:.1em;color:#cbd3df;text-shadow:0 0 12px #9eb8e07a;filter:blur(.3px)}.setting{border-color:#90a9c12b;color:#aab6ca;font-family:Tahoma,Verdana,sans-serif}.setting input{accent-color:#9cb8dd}.setting output{color:#9db0ca}.control-note,.controls-list dd{color:#9facc0}.control-note+.control-note{color:#7b89a2}.controls-list>div{border-color:#90a9c12b}.close-dialog{color:#a0b3ce}
#hud{text-shadow:0 0 3px #b2c2df40,1px 0 #adc4e82b;filter:blur(.12px)}
.reduce-motion #menu::before,.no-vhs #menu::before{animation:none}.no-vhs .disc-wear{display:none}
@keyframes disc-fog{0%{transform:translate(-2%,1%) scale(1);opacity:.55}100%{transform:translate(3%,-2%) scale(1.08);opacity:.9}}
@media(max-width:700px){.disc-index{left:10%;right:10%;top:9%;font-size:8px}#menu .menu-body{left:10%;top:36%;transform:translateY(-23%)}.title-overline{font-size:clamp(17px,4.8vw,27px);letter-spacing:.22em;margin:0 0 14px 2px}.title-feature{font-size:clamp(57px,14vw,96px);letter-spacing:.02em}.disc-menu-strip{bottom:19%;padding:21px 10%}.disc-navigation{gap:10px 30px;max-width:350px}#menu .disc-navigation button{font-size:10px;letter-spacing:.1em;min-height:29px}#menu .disc-navigation button::before{font-size:23px;left:-18px}#menu .menu-footer{left:10%;right:10%;bottom:9%;font-size:7px;gap:20px;line-height:1.8}#menu-best{margin-left:6px}.osd-card h2{font-size:36px}.transport-menu{gap:20px}.transport-menu button{font-size:10px}dialog h2{font-size:28px}}
@media(max-height:520px){.disc-index{top:9%}#menu .menu-body{top:27%;transform:none}.title-overline{font-size:18px;margin-bottom:10px}.title-feature{font-size:clamp(46px,14vh,79px)}.disc-menu-strip{bottom:19%;padding-top:12px;padding-bottom:12px}#menu .menu-footer{bottom:7%;font-size:7px}.disc-navigation{gap:10px 32px}#menu .disc-navigation button{font-size:10px}.osd-card h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){#menu::before{animation:none}#menu .disc-navigation button{transition:none}}
