*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#101619;color:#edf2f2;font-family:Arial,Helvetica,sans-serif}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #6adef9;outline-offset:5px}[hidden]{display:none!important}#game{width:100%;height:100%;display:block;outline:none}#loading{position:fixed;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#101619;z-index:5}#loading .aperture{font-size:55px;color:#88dbea}#loading h1{font-weight:400;letter-spacing:.4em;margin:20px 0 0;padding-left:.4em}#loading p{font-size:13px;color:#a9b8bd;text-align:center;padding:0 24px}progress{width:240px;height:3px;accent-color:#9fe3f0;margin:16px}#menu{position:absolute;inset:0 auto 0 0;width:min(600px,100%);padding:6vh 5vw 4vh;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(90deg,rgba(12,20,24,.97) 0%,rgba(12,20,24,.88) 73%,rgba(12,20,24,0) 100%);overflow:auto}.eyebrow{font:9px monospace;letter-spacing:.14em;color:#9bc2cd;display:flex;gap:26px;margin-bottom:35px}.eyebrow span{color:#627d84}#menu h1{font-size:58px;font-weight:400;letter-spacing:.21em;margin:0;line-height:1}#menu h1 span{font-size:10px;letter-spacing:.3em;display:block;margin-top:15px;color:#b8c9cd}.rule{height:1px;background:linear-gradient(90deg,#6b868e,transparent);margin:30px 0 22px}.chapter{font:10px monospace;letter-spacing:.08em;color:#c1dce1;margin:0 0 16px}.chapter span{font-size:9px;color:#6d8b94;margin-left:20px}h2{font-size:28px;line-height:1.18;font-weight:400;margin:0 0 15px}.description{font-size:12px;line-height:1.8;color:#9bb0b8;margin:0 0 28px}.primary{padding:15px 18px;text-align:left;background:#e6f1f2;color:#13292f;border:0;font-size:13px;display:flex;justify-content:space-between;max-width:328px}.primary:hover{background:#b9e8f2}.primary span{font-size:19px;line-height:16px}.secondary{display:flex;gap:18px;margin-top:17px}.secondary button{font-size:10px;padding:0;border:0;background:none;color:#a6c2ca}.secondary button:hover{color:white}.controls{font-size:10px;line-height:2.1;color:#839da6;margin:32px 0 20px}.controls b{font-weight:400;color:#c3d5da}.fidelity{font-size:10px;line-height:1.7;color:#829ca5;max-width:335px}.fidelity a{color:#b9d7de;text-decoration:none;display:block;margin-top:8px}#hud{pointer-events:none;position:absolute;inset:0}#crosshair{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:23px;color:rgba(255,255,255,.7);text-shadow:0 0 2px black}#pause{pointer-events:auto;position:absolute;right:18px;top:18px;background:#111c2280;border:1px solid #b8d9e433;border-radius:3px;width:38px;height:38px}#caption{position:absolute;bottom:9%;left:50%;transform:translateX(-50%);text-align:center;max-width:700px;width:80%;font-size:17px;line-height:1.5;text-shadow:0 1px 3px black,0 0 6px black;background:#0008;padding:5px 12px}#caption:empty{display:none}#hint{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);font-size:11px;text-shadow:0 1px 3px black;white-space:nowrap}#diagnostics{position:absolute;right:15px;top:70px;width:340px;background:#071219ed;border:1px solid #557884;padding:18px;font:11px monospace;max-height:75vh;overflow:auto;color:#c8e2e8;z-index:3}#diagnostics strong{font-weight:400;letter-spacing:.1em;color:#8fe0f2}#diagnostics pre{font-size:10px;line-height:1.6;white-space:pre-wrap}#diagnostics p{font-size:10px;line-height:1.6;color:#90acb6}#diagnostics label{display:flex;align-items:center;gap:12px}#diagnostics input{width:150px}#diagnostics button{font-size:10px;background:#243b45;border:1px solid #547280;padding:9px}#mobile-note{display:none}#error{position:fixed;inset:0;background:#111a21;padding:15vh 10vw;z-index:10}#error pre{white-space:pre-wrap;max-width:800px;line-height:1.6;color:#c6a4a4}#error button{background:#d1e2e5;border:0;color:#10252c;padding:12px 20px}#touch{position:absolute;inset:0;pointer-events:none}#stick{position:absolute;bottom:35px;left:30px;width:115px;height:115px;border:1px solid #c7e7ed60;border-radius:50%;background:#12232c50;pointer-events:auto;touch-action:none}#stick i{display:block;width:42px;height:42px;border-radius:50%;background:#bdd3d86b;position:absolute;top:36px;left:36px}#touch-actions{position:absolute;right:25px;bottom:42px;display:flex;gap:18px}#touch-actions button{pointer-events:auto;border:1px solid #b6d5df70;background:#11232c80;width:52px;height:52px;border-radius:50%;touch-action:none}#game{touch-action:none}@media(max-width:600px){#menu{padding:30px 28px;background:rgba(12,20,24,.88)}.eyebrow{font-size:8px;margin-bottom:23px;gap:16px}#menu h1{font-size:46px}.rule{margin:24px 0 18px}h2{font-size:25px}.description{margin-bottom:20px}.controls{margin-top:23px;font-size:9px}.fidelity{font-size:9px}.chapter{font-size:9px}#mobile-note{display:block;font-size:9px;color:#9bb0b8;line-height:1.6;margin-bottom:0}#diagnostics{width:calc(100% - 30px);top:65px}#caption{font-size:13px;bottom:24%}}@media(max-height:650px){#menu{padding-top:20px;padding-bottom:20px}.eyebrow{margin-bottom:15px}#menu h1{font-size:38px}.rule{margin:18px 0 14px}.chapter{margin-bottom:10px}h2{font-size:23px}.description{margin-bottom:17px}.controls{margin-top:17px;margin-bottom:9px}.fidelity{margin:5px 0}.primary{padding:12px 16px}}
