:root{font-family:Georgia,Times New Roman,serif;color:#f8f6e8;color-scheme:dark;background:#90b5ce}*{box-sizing:border-box}body{margin:0;overflow:hidden}canvas{display:block;width:100vw;height:100dvh;touch-action:pan-y}header{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:max(26px,env(safe-area-inset-top)) max(30px,env(safe-area-inset-right));pointer-events:none;transition:opacity 1s}.wordmark{pointer-events:auto;color:inherit;text-decoration:none;font-size:38px;line-height:.8;font-style:italic;text-shadow:0 1px 15px #28484b55}.wordmark span{display:block;font:9px/3 system-ui;letter-spacing:3px;text-transform:uppercase}.controls{display:flex;gap:8px;pointer-events:auto}button{font:16px system-ui;color:inherit;border:1px solid #ffffff35;background:#153f4935;backdrop-filter:blur(14px);border-radius:24px;padding:11px 16px;min-width:44px;min-height:44px;cursor:pointer}button:hover{background:#234a5b70}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #fff;outline-offset:4px}#sound span{font-size:11px;letter-spacing:.5px;margin-left:8px}#caption{position:fixed;bottom:max(36px,env(safe-area-inset-bottom));left:0;right:0;text-align:center;pointer-events:none;font:10px system-ui;letter-spacing:4px;text-shadow:0 1px 10px #000;animation:fade-away 12s forwards}#loading{position:fixed;inset:0;z-index:10;background:linear-gradient(#8cacbf,#c3cec0);display:grid;place-content:center;text-align:center;transition:opacity .8s}#loading.done{opacity:0;pointer-events:none}#loading h1{font-weight:400;font-style:italic;font-size:62px;margin:5px}#loading p{font:12px system-ui;letter-spacing:2px}.sigil{font-size:42px;animation:breathe 2s infinite}dialog{border:1px solid #d6e6e244;border-radius:22px;width:min(360px,calc(100vw - 32px));padding:32px;background:#163c45ed;box-shadow:0 20px 100px #09233066;color:inherit}dialog::backdrop{background:#122b3140;backdrop-filter:blur(5px)}dialog .close{position:absolute;right:10px;top:10px;border:0;background:none}.eyebrow{font:9px system-ui;letter-spacing:2.5px;color:#a8c1bc}h2{font-weight:400;font-size:28px;margin:15px 0 30px}label{display:block;font:12px system-ui;margin-bottom:10px}input{width:100%;border:1px solid #afcfbe55;border-radius:9px;background:#ffffff0a;padding:12px;color:inherit;font:16px system-ui;margin-bottom:18px}.primary{background:#d7dfc9;color:#183a40}form>button{width:100%;margin-bottom:10px;border-radius:10px}.hint{font:12px/1.7 system-ui;color:#bfd0cb}form>a{font:11px system-ui;color:#bfd0cb}#toast{position:fixed;bottom:65px;width:100%;text-align:center;pointer-events:none;font:12px system-ui;text-shadow:0 1px 6px #000}#diagnostics:not([hidden]){position:fixed;bottom:0;left:0;max-width:100%;max-height:40vh;overflow:auto;background:#000b;color:#fff;font:10px monospace;white-space:pre-wrap}body.idle header{opacity:.3}body.idle header:hover,body.idle header:focus-within{opacity:1}@media(max-width:600px){header{padding:22px 18px}.wordmark{font-size:32px}#sound span{display:none}.controls{gap:5px}.controls button{padding:10px 13px}#caption{font-size:8px;letter-spacing:2px;bottom:28px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@keyframes breathe{50%{opacity:.35;transform:translateY(-5px)}}@keyframes fade-away{0%,50%{opacity:.85}to{opacity:0}}
