:root{color-scheme:dark;--bg:#0e1012;--ink:#ece6d6;--muted:#a9a394;--accent:#ec6e3a;--ui:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--ink);font:14px/1.5 var(--ui)}
main{position:fixed;inset:0;width:100vw;height:100dvh}
canvas{display:block;width:100%;height:100%;cursor:crosshair;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
canvas:focus{outline:none}canvas:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.tip{position:fixed;z-index:2;max-width:min(320px,calc(100vw - 16px));padding:8px 11px;pointer-events:none;background:#15181bf2;border:1px solid #ece6d62e;color:var(--muted);font:12px/1.45 var(--ui)}
.tip strong{display:block;color:var(--ink);font-weight:600;margin-bottom:2px}
.tip span{display:block}
.explore-open{position:fixed;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));z-index:4;width:44px;height:44px;padding:0;border-radius:50%;border:1px solid #ece6d633;background:#0e1012cc;color:#ece6d6b0;font:16px/1 var(--ui);cursor:pointer}
.explore-open:hover,.explore-open:focus-visible{color:var(--ink);border-color:#ece6d6a0;background:#16191c}
.status{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;width:min(460px,calc(100vw - 48px));margin:0;padding:14px;text-align:center;color:var(--ink);background:var(--bg);font:13px/1.7 var(--ui)}
.status p{margin:0}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(forced-colors:active){.explore-open{border-color:ButtonText;color:ButtonText}canvas{border:1px solid CanvasText}.tip{border:1px solid CanvasText}}
