:root{color-scheme:dark;font-family:system-ui,sans-serif;color:#e8e4d9;background:#080e12}*{box-sizing:border-box}body{margin:0;overflow:hidden}#stage,canvas{position:fixed;inset:0;width:100%;height:100%;display:block}canvas{touch-action:none;outline-offset:-3px}header{position:fixed;left:clamp(20px,4vw,64px);top:28px;pointer-events:none;text-shadow:0 2px 18px #000}header a{pointer-events:auto;color:#dbb67a;letter-spacing:.2em;font-size:14px;text-decoration:none}header span{font-size:10px;letter-spacing:.25em;margin-left:20px;color:#aeb8bb}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(24px,3vw,44px);margin:14px 0 8px}header p{font-size:12px;letter-spacing:.12em;color:#b5bebb;margin:0}nav{position:fixed;bottom:60px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:7px;padding:10px;border:1px solid #cdb78235;background:#0b151ce8;border-radius:12px;max-width:calc(100% - 24px);width:max-content;flex-wrap:wrap}button{font:inherit;font-size:12px;border:1px solid #7d8e914a;border-radius:7px;background:#15222a;color:#e8e4d9;padding:10px 13px;cursor:pointer;min-height:40px}button:hover{border-color:#dbb67a}button[aria-pressed=true]{color:#e5c38d;border-color:#b496605c}button:disabled{opacity:.4;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #eed0a2;outline-offset:3px}nav label{font-size:11px;display:flex;align-items:center;gap:8px;padding:0 7px}input{width:95px;accent-color:#d7b77d}footer{position:fixed;bottom:20px;text-align:center;width:100%;font-size:11px;color:#a9b5b9;padding:0 15px}footer a{color:#d2bc96;margin-left:20px}#loading,#error{position:fixed;inset:0;background:#081016ed;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;z-index:2}#loading[hidden],#error[hidden]{display:none}.sigil{font-size:64px;color:#d8b572}progress{width:210px;height:3px;accent-color:#d8b572}#error p{max-width:32em;line-height:1.6}@media(max-width:600px){header{top:20px}header span{font-size:8px;margin-left:12px}header p{font-size:10px}nav{bottom:72px;gap:5px;padding:8px}button{font-size:11px;padding:8px 10px}footer{font-size:10px;line-height:1.7;bottom:12px}footer a{display:block;margin:0}nav label{flex-basis:100%;justify-content:center}nav input{width:145px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
