/* First and Last. Copyright 2026 Luke Steuber. MIT. Pale stone ground, graphite ink, one cobalt accent for the reading; the dialog comes from ../poem-shell/modal.css. */
:root{color-scheme:light;--ground:#e8e9e6;--ink:#17181a;--muted:#5c5f63;--accent:#2747a8;--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(--ground);color:var(--ink);font:13px/1.45 var(--ui)}
main{position:fixed;inset:0;width:100vw;height:100dvh}
canvas{display:block;width:100%;height:100%;cursor:pointer;touch-action:pinch-zoom;-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:3;left:0;top:0;pointer-events:none;max-width:min(330px,calc(100vw - 16px));padding:8px 11px 9px;background:rgba(232,233,230,.95);border-left:2px solid var(--accent);font:12px/1.5 var(--ui);color:var(--ink);font-variant-numeric:tabular-nums}
.tip p{margin:0}
.tip .t-main{font-weight:600;font-size:13.5px;margin-bottom:2px}
.explore{position:fixed;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));z-index:4;width:44px;height:44px;padding:0;border-radius:50%;border:1px solid rgba(23,24,26,.35);background:rgba(232,233,230,.8);color:var(--ink);font:600 16px/1 var(--ui);cursor:pointer}
.explore:hover,.explore:focus-visible{background:var(--ink);color:var(--ground)}
.status{position:fixed;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);width:min(460px,calc(100vw - 48px));text-align:center;color:var(--muted);font:13px/1.6 var(--ui)}
.status p{margin:0}.status a{color:var(--accent)}
@media(max-width:400px){.tip{font-size:11.5px;padding:7px 9px}.tip .t-main{font-size:13px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(forced-colors:active){.explore{border-color:ButtonText;color:ButtonText}canvas{border:1px solid CanvasText}.tip{border-color:CanvasText}}
