:root{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#d8dde3;background:#000;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background:#05070a}#app{position:fixed;top:0;right:0;bottom:0;left:0}#boot-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#0a0e14b3,#000000f5 80%);color:#e6ecf2;cursor:pointer;transition:opacity .25s ease}#boot-overlay>*:not(.storm-backdrop),#title-overlay>*:not(.storm-backdrop){position:relative;z-index:1}#boot-overlay.hidden{opacity:0;pointer-events:none}#boot-overlay.loading{cursor:progress}#boot-overlay .tagline{margin:0 0 36px;font-size:13px;letter-spacing:.2em;color:#c8d2dc8c;text-align:center;line-height:1.7}#boot-cta{font-size:13px;letter-spacing:.3em;text-transform:uppercase;padding:14px 32px;border:1px solid rgba(220,230,240,.3);color:#e6ecf2e6;background:#ffffff05;transition:background .15s ease,border-color .15s ease}#boot-overlay:not(.loading):hover #boot-cta{background:#ffffff0f;border-color:#dce6f080}#boot-status{margin-top:18px;font-size:11px;letter-spacing:.14em;color:#c8d2dc94;text-transform:uppercase}#boot-overlay .controls-summary{margin-top:40px;font-size:11px;letter-spacing:.12em;color:#c8d2dc73;line-height:1.9;text-align:center}.storm-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.storm-sky{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 20%,rgba(90,120,156,.18),transparent 28%),radial-gradient(circle at 80% 14%,rgba(70,92,120,.16),transparent 24%),radial-gradient(circle at 50% 62%,rgba(20,26,38,.2),transparent 36%),linear-gradient(180deg,#070a10eb,#04060afa);opacity:.95}.storm-sky:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,rgba(170,205,255,.06) 48%,transparent 52%),linear-gradient(115deg,transparent 0 44%,rgba(124,160,214,.16) 45%,transparent 47%),linear-gradient(65deg,transparent 0 62%,rgba(124,160,214,.12) 63%,transparent 65%);opacity:.18;filter:blur(10px)}.storm-rain{position:absolute;top:-20%;right:-10%;bottom:-20%;left:-10%;opacity:.3;background-repeat:repeat;background-image:radial-gradient(ellipse at 18px 10px,rgba(208,228,255,.34) 0 .9px,transparent 1.7px),radial-gradient(ellipse at 62px 24px,rgba(208,228,255,.28) 0 1px,transparent 1.9px),radial-gradient(ellipse at 102px 42px,rgba(208,228,255,.24) 0 .9px,transparent 1.7px),radial-gradient(ellipse at 38px 68px,rgba(208,228,255,.2) 0 .95px,transparent 1.8px),radial-gradient(ellipse at 90px 82px,rgba(208,228,255,.18) 0 .8px,transparent 1.6px),radial-gradient(ellipse at 74px 12px,rgba(208,228,255,.14) 0 .75px,transparent 1.45px);background-size:128px 128px;animation:storm-rain-fall linear infinite;filter:blur(.45px)}.storm-rain-a{animation-duration:2.1s;transform:translateZ(0) scale(1.12)}.storm-rain-b{opacity:.18;animation-duration:1.55s;transform:translate3d(-8%,-10%,0) scale(1.26);filter:blur(.95px)}.storm-rain-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:.82}.storm-flash{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 72% 20%,rgba(208,232,255,.35),transparent 16%),radial-gradient(circle at 34% 30%,rgba(208,232,255,.24),transparent 20%);mix-blend-mode:screen;opacity:0;animation:storm-flash 7.2s infinite}.glitch-title{position:relative;margin:0 0 12px;font-size:48px;letter-spacing:.35em;font-weight:300;text-transform:uppercase;color:#e6ecf2;text-shadow:0 0 18px rgba(170,190,220,.16);animation:glitch-jitter 3.7s steps(1,end) infinite}.glitch-title span{position:relative;display:inline-block;animation:glitch-slice 2.8s steps(1,end) infinite}.glitch-title:before,.glitch-title:after{content:attr(data-text);position:absolute;top:0;right:0;bottom:0;left:0;display:block;pointer-events:none;mix-blend-mode:screen}.glitch-title:before{color:#50c8fff2;transform:translate(-3px);text-shadow:0 0 6px rgba(80,200,255,.55);animation:glitch-shift-a 2.1s steps(1,end) infinite}.glitch-title:after{color:#ff466ee6;transform:translate(3px);text-shadow:0 0 6px rgba(255,70,110,.55);animation:glitch-shift-b 1.7s steps(1,end) infinite}canvas{display:block;width:100%;height:100%}#hud{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#d7e1ebd1;text-shadow:0 1px 2px rgba(0,0,0,.9)}#hud>*:not(#hud-rain){position:absolute;z-index:1}#hud-rain{position:absolute;z-index:0;opacity:.46;mix-blend-mode:screen}#crosshair{position:absolute;left:50%;top:50%;width:10px;height:10px;transform:translate(-50%,-50%);opacity:0;transition:opacity .2s ease}#crosshair.on{opacity:.75}#crosshair:before,#crosshair:after{content:"";position:absolute;background:#dce6f0d9}#crosshair:before{left:50%;top:0;width:2px;height:100%;transform:translate(-50%)}#crosshair:after{top:50%;left:0;height:2px;width:100%;transform:translateY(-50%)}#hud-top{position:absolute;top:16px;left:16px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.7}#hud-room{position:absolute;top:38px;left:16px;font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:#e6ecf2e0}#hud-debug{position:absolute;top:64px;left:16px;font-size:11px;opacity:.6;line-height:1.6;white-space:pre}#hud-state{position:absolute;bottom:16px;left:16px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;opacity:.75}#hud-mode{position:absolute;bottom:32px;left:16px;font-size:11px;letter-spacing:.2em;opacity:.55}#hud-prompt{position:absolute;left:50%;top:calc(50% + 28px);transform:translate(-50%);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#ebf0f5e6;background:#0a0e148c;padding:6px 12px;border:1px solid rgba(220,230,240,.2);opacity:0;transition:opacity .12s ease;white-space:nowrap}#hud-flash{position:absolute;left:50%;top:calc(50% + 60px);transform:translate(-50%);font-size:12px;letter-spacing:.14em;color:#ebf0f5f2;opacity:0;transition:opacity .2s ease;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.9)}#hud-vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at center,#0000 35%,#000000d1);opacity:0;transition:opacity .28s ease}#hud-vignette.on{opacity:1}#hud-hiding{position:absolute;left:50%;top:96px;transform:translate(-50%);font-size:14px;letter-spacing:.5em;color:#ebf0f5eb;background:#0a0e14b3;padding:8px 22px;border:1px solid rgba(220,230,240,.25);opacity:0;transition:opacity .22s ease}#hud-hiding.on{opacity:1}#hud-pressure{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at center,#0000 30%,#3c060680 80%,#000000e6);mix-blend-mode:multiply;opacity:0;transition:opacity .16s ease}#hud-warn{position:absolute;left:50%;top:calc(50% - 90px);transform:translate(-50%);color:#f07878f2;font-size:13px;letter-spacing:.5em;text-shadow:0 0 8px rgba(200,40,40,.55);opacity:0;transition:opacity .2s ease;pointer-events:none}#hud-objective{position:absolute;top:16px;right:16px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#c8d2dccc;text-align:right}#hud-door-arrow{position:absolute;left:50%;top:74px;transform:translate(-50%) rotate(0);transform-origin:50% 55%;font-size:26px;color:#e8c876eb;text-shadow:0 0 12px rgba(190,140,36,.55);opacity:0;transition:opacity .14s ease}#hud-door-arrow.on{opacity:.95}#hud-unlock-bar{position:absolute;left:50%;top:calc(50% + 28px);transform:translate(-50%);width:180px;height:6px;background:#ffffff1a;border:1px solid rgba(220,230,240,.25);opacity:0;transition:opacity .12s ease;overflow:hidden}#hud-unlock-fill{width:0%;height:100%;background:#c8b478d9;transition:width 80ms linear}#hud-hint{position:absolute;bottom:16px;right:16px;font-size:11px;opacity:.55;letter-spacing:.06em}.end-overlay-base{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000000d9;color:#e6ecf2;opacity:0;pointer-events:none;transition:opacity .6s ease}.end-overlay-base.on{opacity:1;pointer-events:auto}#hud-caught{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000000d9;color:#e6ecf2;opacity:0;pointer-events:none;transition:opacity .5s ease}#hud-caught.on{opacity:1;pointer-events:auto}#hud-caught .title{font-size:38px;letter-spacing:.35em;font-weight:300;color:#e3c0c0;text-shadow:0 0 20px rgba(180,20,20,.4);text-transform:uppercase}#hud-escaped{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000000d9;color:#e6ecf2;opacity:0;pointer-events:none;transition:opacity .6s ease}#hud-escaped.on{opacity:1;pointer-events:auto}#hud-escaped .title{font-size:38px;letter-spacing:.35em;font-weight:300;color:#c0d8e3;text-shadow:0 0 20px rgba(100,160,200,.3);text-transform:uppercase}.end-actions{display:flex;gap:16px;margin-top:40px;flex-wrap:wrap;justify-content:center}.restart-btn{padding:14px 40px;font-family:inherit;font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:#e6ecf2e6;background:#ffffff08;border:1px solid rgba(220,230,240,.3);cursor:pointer;transition:background .15s ease,border-color .15s ease}.restart-btn:hover{background:#ffffff14;border-color:#dce6f080}.restart-btn:focus-visible{outline:1px solid rgba(220,230,240,.6);outline-offset:2px}.restart-btn.secondary{color:#c8d2dcb3;border-color:#c8d2dc2e}.restart-btn.secondary:hover{color:#e6ecf2f2;border-color:#dce6f066}.a11y-opt.a11y-slider{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 10px;padding-top:10px}.a11y-slider .a11y-slider-label{grid-column:1 / 2;font-size:12px;color:#c8d2dca6}.a11y-slider .a11y-slider-value{grid-column:2 / 3;font-size:11px;color:#c8d2dc8c;min-width:24px;text-align:right}.a11y-slider input[type=range]{grid-column:1 / 3;width:100%;accent-color:#7090b0;cursor:pointer}#title-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#0a0e14b3,#000000f5 80%);color:#e6ecf2;cursor:pointer;transition:opacity .3s ease}#title-overlay.hidden{opacity:0;pointer-events:none}#title-overlay .tagline{margin:0 0 48px;font-size:13px;letter-spacing:.2em;color:#c8d2dc8c;text-align:center;line-height:1.7}#title-overlay .cta{font-size:13px;letter-spacing:.3em;text-transform:uppercase;padding:14px 32px;border:1px solid rgba(220,230,240,.3);color:#e6ecf2e6;background:#ffffff05;transition:background .15s ease,border-color .15s ease}#title-overlay .cta:hover{background:#ffffff0f;border-color:#dce6f080}#title-overlay .controls-summary{margin-top:48px;font-size:11px;letter-spacing:.12em;color:#c8d2dc73;line-height:1.9;text-align:center}#pause-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000000e0;color:#e6ecf2;cursor:pointer;transition:opacity .2s ease}#pause-overlay.hidden{opacity:0;pointer-events:none}#pause-overlay h2{font-size:28px;letter-spacing:.4em;font-weight:300;margin:0 0 32px;text-transform:uppercase;color:#e6ecf2e6}.pause-controls{display:flex;flex-direction:column;gap:6px;width:280px}.control-row{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.1em;color:#c8d2dcb3;padding:4px 0;border-bottom:1px solid rgba(200,210,220,.08)}.control-row span{color:#c8d2dc73}#a11y-panel{margin-top:28px;width:280px}.a11y-title{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#c8d2dc80;margin-bottom:10px}.a11y-opt{display:flex;align-items:center;gap:8px;font-size:12px;color:#c8d2dca6;cursor:pointer;padding:4px 0}.a11y-opt input[type=checkbox]{accent-color:#7090b0;cursor:pointer}.pause-hint{margin-top:32px;font-size:11px;letter-spacing:.2em;color:#c8d2dc59}@keyframes storm-rain-fall{0%{transform:translate3d(0,-18%,0) scale(1.12)}to{transform:translate3d(-1.5%,34%,0) scale(1.12)}}@keyframes storm-flash{0%,14%,17%,48%,52%,to{opacity:0}15%{opacity:.72}16%{opacity:.18}49%{opacity:.46}50%{opacity:.1}51%{opacity:.34}}@keyframes glitch-shift-a{0%,to{transform:translate(-3px);clip-path:inset(0 0 60% 0);opacity:.85}12%{transform:translate(7px,-2px);clip-path:inset(10% 0 70% 0);opacity:1}14%{transform:translate(-9px,1px);clip-path:inset(40% 0 30% 0);opacity:.75}28%{transform:translate(-3px);clip-path:inset(0 0 60% 0);opacity:.85}47%{transform:translate(10px,1px);clip-path:inset(58% 0 8% 0);opacity:1}49%{transform:translate(-6px,-2px);clip-path:inset(20% 0 50% 0);opacity:.7}62%{transform:translate(-3px);clip-path:inset(0 0 60% 0);opacity:.85}78%{transform:translate(8px,2px);clip-path:inset(72% 0 4% 0);opacity:1}80%{transform:translate(-3px);clip-path:inset(0 0 60% 0);opacity:.85}}@keyframes glitch-shift-b{0%,to{transform:translate(3px);clip-path:inset(45% 0 0 0);opacity:.8}18%{transform:translate(-7px,2px);clip-path:inset(70% 0 12% 0);opacity:1}20%{transform:translate(9px,-1px);clip-path:inset(20% 0 60% 0);opacity:.7}35%{transform:translate(3px);clip-path:inset(45% 0 0 0);opacity:.8}56%{transform:translate(-10px,-1px);clip-path:inset(8% 0 70% 0);opacity:1}58%{transform:translate(6px,2px);clip-path:inset(50% 0 22% 0);opacity:.65}70%{transform:translate(3px);clip-path:inset(45% 0 0 0);opacity:.8}88%{transform:translate(-8px,-2px);clip-path:inset(82% 0 0 0);opacity:1}90%{transform:translate(3px);clip-path:inset(45% 0 0 0);opacity:.8}}@keyframes glitch-slice{0%,9%,11%,36%,38%,71%,73%,to{transform:translate(0);clip-path:none;filter:none}10%{transform:translate(-4px);clip-path:polygon(0 18%,100% 18%,100% 32%,0 32%)}37%{transform:translate(5px);clip-path:polygon(0 56%,100% 56%,100% 68%,0 68%)}72%{transform:translate(-3px);clip-path:polygon(0 78%,100% 78%,100% 90%,0 90%)}}@keyframes glitch-jitter{0%,24%,26%,58%,60%,to{transform:translate(0);filter:none}25%{transform:translate(1px,-1px);filter:hue-rotate(8deg)}59%{transform:translate(-1px,1px);filter:hue-rotate(-8deg) brightness(1.15)}}@media (max-width: 600px){.glitch-title{font-size:28px;letter-spacing:.2em}#boot-overlay .tagline,#title-overlay .tagline{font-size:11px}#hud-caught .title,#hud-escaped .title{font-size:24px;letter-spacing:.2em}#pause-overlay h2{font-size:20px}.pause-controls,#a11y-panel{width:240px}#hud-hint{display:none}}
