:root{--paper:#eef2ef;--ink:#0a0e0f;--dim:#eef2ef85;--line:#eef2ef38;--accent:#d84a32}*{box-sizing:border-box}html,body{height:100%;color:var(--paper);-webkit-font-smoothing:antialiased;background:#05090a;margin:0;padding:0;font-family:Helvetica Neue,Inter,Noto Sans SC,system-ui,sans-serif;overflow:hidden}#c{background:#05090a;outline:none;width:100vw;height:100vh;display:block;position:fixed;inset:0}#ui{pointer-events:none;z-index:2;opacity:1;transition:opacity .7s;position:fixed;inset:0}body.hud-off #ui{opacity:0}.masthead{flex-direction:column;gap:9px;display:flex;position:absolute;top:42px;left:48px}.wordmark{letter-spacing:.44em;text-transform:uppercase;text-shadow:0 1px 18px #0000008c;font-size:12px;font-weight:600}.submark{letter-spacing:.28em;color:var(--dim);text-transform:uppercase;font-size:9px;font-weight:400}.shot{text-transform:uppercase;align-items:center;gap:16px;display:flex;position:absolute;bottom:44px;left:48px}.shot-index{letter-spacing:.18em;color:var(--dim);font-size:10px}.shot-rule{background:var(--line);width:34px;height:1px}.shot-name{letter-spacing:.3em;font-size:11px;font-weight:500}.hints{letter-spacing:.18em;color:var(--dim);text-transform:uppercase;gap:22px;font-size:8.5px;display:flex;position:absolute;bottom:44px;right:48px}.hints b{color:#eef2efe6;font-weight:500}.stats{letter-spacing:.16em;color:var(--dim);text-transform:uppercase;text-align:right;font-size:8.5px;line-height:1.8;position:absolute;top:44px;right:48px}#loader{z-index:10;background:#05090a;place-items:center;transition:opacity 1.4s;display:grid;position:fixed;inset:0}#loader.done{opacity:0;pointer-events:none}.loader-inner{flex-direction:column;align-items:center;width:min(340px,70vw);display:flex}.loader-title{letter-spacing:.55em;margin-bottom:30px;font-size:13px;font-weight:500;animation:5s ease-in-out infinite breathe}.loader-bar{background:#eef2ef24;width:100%;height:1px;overflow:hidden}.loader-bar i{background:#eef2efd1;width:4%;height:100%;transition:width .35s;display:block}.loader-status{letter-spacing:.32em;color:var(--dim);text-transform:uppercase;margin-top:16px;font-size:8px}@keyframes breathe{0%,to{opacity:.65}50%{opacity:1}}@media (max-width:820px){.masthead,.shot{left:24px}.hints,.stats{right:24px}.hints{display:none}.masthead,.stats{top:26px}.shot{bottom:26px}}
