:root{color-scheme:light;--paper:#f1ede4;--strip:#f1ede4;--ink:#1d1c1a;--muted:#5d5850;--rust:#8c3b22;--acc:#1d1c1a;--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(--strip);color:var(--ink);font:14px/1.5 var(--ui)}
main{position:fixed;inset:0;width:100vw;height:100dvh;overflow:hidden}
/* pinch-zoom stays available; one-finger presses and drags still reach the drawing as pointer events */
canvas{display:block;width:100%;height:100%;cursor:crosshair;touch-action:pinch-zoom;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}
canvas:focus{outline:none}canvas:focus-visible{outline:2px solid var(--acc);outline-offset:-3px}
:focus-visible{outline:2px solid var(--acc);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}
/* Exact reading: transient, borderless, placed by the script clear of the selected month and the ? button. */
.reading{position:fixed;left:0;top:0;z-index:2;width:max-content;max-width:min(340px,calc(100vw - 20px));padding:6px 9px 7px;background:rgba(241,237,228,.94);pointer-events:none;font:12px/1.42 var(--ui);color:var(--ink);font-variant-numeric:tabular-nums}
.reading p{margin:0}
.reading .r-h{font:600 14px/1.3 var(--ui)}
.reading .r-l{color:var(--muted)}.reading .r-l.sel{color:var(--ink)}.reading .r-l b{color:var(--ink);font-weight:650}
.reading .r-f{color:var(--muted);font-size:11px}
.reading.transient{opacity:.86}
.explore{position:fixed;z-index:3;top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));width:44px;height:44px;padding:0;border-radius:50%;border:1px solid var(--ink);background:rgba(241,237,228,.7);color:var(--ink);font:600 17px/1 var(--ui);cursor:pointer}
.explore:hover,.explore:focus-visible{background:var(--ink);color:var(--strip)}
.status{position:fixed;left:50%;top:40%;transform:translate(-50%,-50%);z-index:4;width:min(440px,calc(100vw - 40px));text-align:center;color:var(--muted);font:13px/1.6 var(--ui);background:var(--paper);padding:14px;border:1px solid #cfc8bb}
.status p{margin:0 0 10px}
.status button{min-height:44px;font:inherit;color:var(--ink);background:#fffaf0;border:1px solid var(--ink);padding:0 16px;cursor:pointer}
@media(max-width:360px){.reading{font-size:11.5px}}
@media(max-height:430px){.reading{font-size:11px;max-width:min(320px,calc(100vw - 20px))}.reading .r-h{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}.reading{border:1px solid CanvasText}}
