:root{--ink:#10203f;--dim:#5b6b86;--gold:#c9a24a;--panel:#faf8f2f0;--sky:#9fd0fb}*{box-sizing:border-box}html,body{background:var(--sky);height:100%;color:var(--ink);touch-action:none;-webkit-user-select:none;user-select:none;margin:0;font:16px/1.45 Georgia,Times New Roman,serif;overflow:hidden}#view{width:100%;height:100%;display:block;position:fixed;inset:0}.overlay{background:linear-gradient(#3b8bd9,#9fd0fb 55%,#f4f9ff);place-items:center;display:grid;position:fixed;inset:0}.overlay.hide{display:none}.card{text-align:center;background:var(--panel);border:3px solid var(--gold);border-radius:14px;max-width:calc(100% - 32px);padding:34px 40px;box-shadow:0 20px 60px #10203f40}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:#8a6a22;font:600 12px/1.2 Segoe UI,Helvetica,Arial,sans-serif}.card h1{margin:8px 0 10px;font:500 clamp(30px,7vw,52px)/1.05 Georgia,serif}#load{color:var(--dim);margin:0;font:13px Segoe UI,sans-serif}.keys{color:var(--dim);font:13px Segoe UI,sans-serif}#go{color:#fff;background:var(--ink);cursor:pointer;border:0;border-radius:999px;margin-top:8px;padding:12px 34px;font:600 16px Segoe UI,sans-serif}#go:disabled{opacity:.4;cursor:wait}#go:not(:disabled):hover{background:#1d3a6e}#info{left:50%;bottom:max(16px, env(safe-area-inset-bottom));background:var(--panel);border:2px solid var(--gold);border-radius:12px;width:min(620px,100% - 32px);padding:16px 20px;position:fixed;transform:translate(-50%);box-shadow:0 10px 40px #10203f33}#info[hidden]{display:none}#info .title{white-space:pre-line;margin-top:4px;font-size:24px;line-height:1.1}#info .body{color:#3a342c;white-space:pre-line;margin-top:6px}#i-link{color:#fff;background:var(--ink);border-radius:999px;margin-top:10px;padding:8px 14px;font:600 14px Segoe UI,sans-serif;text-decoration:none;display:inline-block}#i-link[hidden]{display:none}.chip{top:max(10px, env(safe-area-inset-top));color:var(--ink);background:var(--panel);border:1px solid var(--gold);border-radius:999px;padding:6px 12px;font:600 12px Segoe UI,sans-serif;position:fixed}.chip:empty{display:none}#specimens{left:120px}#passport-btn{cursor:pointer;min-width:44px;min-height:44px;font-size:14px;left:10px}#passport-btn[hidden]{display:none}#music{cursor:pointer;right:10px}#music[hidden]{display:none}#stick{pointer-events:none;background:#ffffff59;border:2px solid #10203f59;border-radius:50%;width:120px;height:120px;position:fixed}#stick[hidden]{display:none}#nub{background:#10203f73;border-radius:50%;width:46px;height:46px;margin:-23px 0 0 -23px;position:absolute;top:50%;left:50%}#debug{color:var(--ink);white-space:pre;font:11px ui-monospace,Consolas,monospace;position:fixed;top:44px;left:10px}.keys-touch{display:none}@media (pointer:coarse){.keys-fine{display:none}.keys-touch{display:block}}#stick-home{left:max(28px, env(safe-area-inset-left));bottom:max(28px, env(safe-area-inset-bottom));pointer-events:none;letter-spacing:2px;text-transform:uppercase;color:#10203f99;background:#ffffff2e;border:2px dashed #10203f66;border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;font:600 12px Segoe UI,sans-serif;display:flex;position:fixed}#stick-home[hidden]{display:none}#touch-hint{left:50%;top:max(56px, calc(env(safe-area-inset-top) + 46px));pointer-events:none;color:var(--ink);background:var(--panel);border:1px solid var(--gold);white-space:nowrap;border-radius:999px;padding:8px 16px;font:600 14px Segoe UI,sans-serif;transition:opacity .6s;position:fixed;transform:translate(-50%)}#touch-hint[hidden]{display:none}#touch-hint.fade{opacity:0}#i-link{min-height:44px;padding:11px 20px;font-size:16px}#music{min-width:64px;min-height:44px;font-size:14px}#next{cursor:pointer;min-width:44px;min-height:44px;font-size:14px;right:84px}#next[hidden]{display:none}#track{white-space:nowrap;text-overflow:ellipsis;pointer-events:none;align-items:center;max-width:min(46vw,420px);min-height:44px;transition:opacity .8s;display:flex;right:140px;overflow:hidden}#track.fade{opacity:0}#view-toggle,#jump{display:none}body.playing #view-toggle{top:auto;bottom:max(16px, env(safe-area-inset-bottom));cursor:pointer;min-height:44px;font-size:13px;display:block;right:16px}@media (pointer:coarse){body.playing #jump{right:max(24px, env(safe-area-inset-right));bottom:max(84px, calc(env(safe-area-inset-bottom) + 72px));border:2px solid var(--gold);background:var(--panel);width:84px;height:84px;color:var(--ink);touch-action:none;border-radius:50%;font:700 15px Segoe UI,sans-serif;display:block;position:fixed;box-shadow:0 6px 20px #10203f40}body.playing #jump:active{transform:scale(.94)}#track{top:max(60px, calc(env(safe-area-inset-top) + 50px));max-width:70vw;right:10px}}body.playing #info{bottom:max(72px, calc(env(safe-area-inset-bottom) + 60px))}@media (pointer:coarse) and (orientation:landscape){body.playing #info{bottom:max(12px, env(safe-area-inset-bottom));width:min(620px,100% - 360px);padding:12px 16px}body.playing #info .title{font-size:20px}body.playing #info .body{font-size:14px}}@media (pointer:coarse) and (orientation:portrait){body.playing #info{top:max(110px, calc(env(safe-area-inset-top) + 100px));bottom:auto}}#toast{text-align:center;max-width:calc(100% - 32px);color:var(--ink);background:var(--panel);border:2px solid var(--gold);pointer-events:none;border-radius:12px;padding:12px 20px;font:600 18px Georgia,serif;transition:opacity .6s;position:fixed;top:22%;left:50%;transform:translate(-50%);box-shadow:0 10px 40px #10203f40}#toast[hidden]{display:none}#toast.fade{opacity:0}#track:empty{display:none}.pad-menu{z-index:50;background:#0a1020b8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pad-menu .card{color:#14203a;background:#f4efe2;border-radius:16px;flex-direction:column;gap:10px;min-width:min(340px,90vw);padding:22px;display:flex;box-shadow:0 12px 40px #00000080}.pad-menu h2{margin:0 0 6px;font-size:22px}.pad-menu .card>button{min-height:44px;color:inherit;font:inherit;cursor:pointer;background:#14203a0d;border:2px solid #14203a44;border-radius:10px;font-weight:600}#wall{z-index:40;padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));background:#0a102099;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#wall[hidden]{display:none}.wall-card{background:var(--panel);border:3px solid var(--gold);border-radius:14px;flex-direction:column;width:min(720px,100%);max-height:100%;font-family:Segoe UI,Helvetica,Arial,sans-serif;display:flex;overflow:hidden;box-shadow:0 20px 60px #10203f66}.wall-head{border-bottom:1px solid #c9a24a99;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;display:flex}.wall-head h2{margin:0 auto 0 0;font:500 24px/1.1 Georgia,serif}.wall-tabs{gap:6px;display:flex}.wall-tabs button,.wall-close{min-width:44px;min-height:44px;color:var(--ink);cursor:pointer;background:0 0;border:2px solid #10203f40;border-radius:999px;padding:0 14px;font:600 14px Segoe UI,sans-serif}.wall-tabs button.on,.wall-close{background:var(--ink);color:#fff;border-color:var(--ink)}.wall-body{touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;-webkit-user-select:text;user-select:text;padding:14px;overflow-y:auto}.wall-body h3{letter-spacing:.14em;text-transform:uppercase;color:#8a6a22;margin:0 0 8px;font:600 12px/1.2 Segoe UI,sans-serif}.wall-body section{margin-bottom:16px}.wall-empty{color:var(--dim);margin:4px 0 12px;font-size:15px}.stamp-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.stamp{border:2px solid var(--gold);background:#fffaf0;border-radius:10px;align-items:center;gap:8px;min-height:44px;padding:8px 10px;display:flex}.stamp.locked{color:var(--dim);background:0 0;border-style:dashed;border-color:#10203f40}.stamp-mark{color:var(--gold);text-align:center;width:22px;font-size:20px}.stamp.locked .stamp-mark{color:var(--dim)}.stamp-name{font-size:14px;line-height:1.2}.game-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;display:grid}.game-row{border:2px solid var(--gold);background:#fffaf0;border-radius:10px;padding:10px 12px}.game-row.none{color:var(--dim);background:0 0;border-color:#10203f33}.game-name{margin-bottom:4px;font:600 16px/1.2 Georgia,serif}.game-line{font-size:14px;line-height:1.35}.game-line.dim{color:var(--dim)}.daily-list{gap:6px;display:grid}.daily-row{border:2px solid var(--gold);background:#fffaf0;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:10px 12px;font-size:15px;display:flex}.daily-row.none{color:var(--dim);background:0 0;border-color:#10203f33}.daily-score{white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:700}@media (max-width:480px){.wall-head h2{flex-basis:100%}.wall-tabs{flex:1}.wall-tabs button{flex:1;padding:0 6px}}@media (max-height:460px){.wall-head{padding:6px 12px}.wall-head h2{flex-basis:auto;font-size:20px}.wall-body{padding:10px 12px}}html[data-b-theme]{--ink:var(--b-text);--dim:var(--b-dim);--gold:var(--b-tape);--panel:color-mix(in srgb, var(--b-panel) 94%, transparent)}html[data-b-theme] body{font-family:var(--b-body);color:var(--b-text)}html[data-b-theme] .card{background:var(--b-panel);color:var(--b-text);border:1px solid var(--b-line);border-radius:var(--b-r-l);box-shadow:var(--b-shadow-2);padding:28px 32px}html[data-b-theme] .eyebrow{font:700 13px/1.2 var(--b-display);letter-spacing:.14em;color:var(--b-accent-text)}html[data-b-theme] .card h1{color:var(--b-text);font:500 clamp(30px,7vw,52px)/1.05 Georgia,Times New Roman,serif}html[data-b-theme] .card h1:after{content:"";background:repeating-linear-gradient(-45deg, var(--b-tape) 0 12px, var(--b-tape-ink) 12px 24px);border-radius:2px;width:96px;height:8px;margin:12px auto 4px;display:block}html[data-b-theme] #load,html[data-b-theme] .keys{font:400 14px/1.45 var(--b-body);color:var(--b-dim)}html[data-b-theme] #go,html[data-b-theme] #i-link{font:700 15px/1.1 var(--b-display);letter-spacing:.08em;text-transform:uppercase;color:var(--b-accent-ink);background:var(--b-accent);border-radius:var(--b-r-m);min-height:48px;box-shadow:var(--b-shadow-1);padding:12px 34px}html[data-b-theme] #i-link{align-items:center;min-height:44px;padding:10px 20px;display:inline-flex}html[data-b-theme] #go:not(:disabled):hover,html[data-b-theme] #i-link:hover{background:color-mix(in srgb, var(--b-accent) 88%, #fff)}html[data-b-theme] #i-link[hidden]{display:none}html[data-b-theme] #go:disabled{opacity:.5;border:1px dashed var(--b-accent-ink)}html[data-b-theme] #info{background:var(--panel);color:var(--b-text);border:1px solid var(--b-line);border-radius:var(--b-r-l);box-shadow:var(--b-shadow-2)}html[data-b-theme] #info .title{color:var(--b-text);font-family:Georgia,Times New Roman,serif}html[data-b-theme] #info .body{color:var(--b-dim);font-size:16px}html[data-b-theme] #info .eyebrow{font-size:12px}@media (pointer:coarse){html[data-b-theme] body.playing #info{max-height:40vh;touch-action:pan-y;overscroll-behavior:contain;max-height:40dvh;overflow-y:auto}}html[data-b-theme] .chip{background:var(--panel);color:var(--b-text);border:1px solid var(--b-line);border-radius:var(--b-r-m);font:600 13px/1.2 var(--b-mono)}html[data-b-theme] button.chip{font:700 13px/1.1 var(--b-display);letter-spacing:.06em;text-transform:uppercase;box-shadow:var(--b-shadow-1);cursor:pointer}html[data-b-theme] button.chip:hover{border-color:var(--b-accent)}html[data-b-theme] button.chip:active{transform:translateY(1px)scale(.985)}html[data-b-theme] #specimens,html[data-b-theme] #track{font-variant-numeric:tabular-nums}html[data-b-theme] button:focus-visible,html[data-b-theme] a:focus-visible,html[data-b-theme] .pad-focus{outline:3px solid var(--b-tape);outline-offset:2px}html[data-b-theme] #jump{background:var(--b-accent);color:var(--b-accent-ink);border:2px solid var(--b-bg);font-family:var(--b-display);letter-spacing:.06em;text-transform:uppercase}html[data-b-theme] #toast{background:var(--panel);color:var(--b-text);border:1px solid var(--b-line);border-radius:var(--b-r-l);box-shadow:var(--b-shadow-2)}html[data-b-theme] #touch-hint{background:var(--panel);color:var(--b-text);border:1px solid var(--b-line);border-radius:var(--b-r-m);font:600 14px/1.2 var(--b-body)}html[data-b-theme] #stick-home{background:color-mix(in srgb, var(--b-panel) 70%, transparent);border:2px dashed var(--b-tape);color:var(--b-text);font:700 13px/1 var(--b-display)}html[data-b-theme] #stick{background:color-mix(in srgb, var(--b-panel) 45%, transparent);border-color:var(--b-line)}html[data-b-theme] #nub{background:color-mix(in srgb, var(--b-tape) 80%, transparent)}html[data-b-theme] .pad-menu{background:color-mix(in srgb, var(--b-bg) 78%, transparent)}html[data-b-theme] .pad-menu .card{background:var(--b-panel);color:var(--b-text);border:1px solid var(--b-line);border-radius:var(--b-r-l);box-shadow:var(--b-shadow-2);text-align:left}html[data-b-theme] .pad-menu h2{text-align:center;font:500 24px/1.1 Georgia,serif}html[data-b-theme] .pad-menu h2:after{content:"";background:repeating-linear-gradient(-45deg, var(--b-tape) 0 10px, var(--b-tape-ink) 10px 20px);border-radius:2px;width:64px;height:6px;margin:10px auto 2px;display:block}html[data-b-theme] .pad-menu .card>button{border-radius:var(--b-r-m);border:1px solid var(--b-line);background:var(--b-raised);min-height:48px;color:var(--b-text);font:700 15px/1.1 var(--b-display);letter-spacing:.08em;text-transform:uppercase;box-shadow:var(--b-shadow-1)}html[data-b-theme] .pad-menu .card>button:hover{border-color:var(--b-accent)}html[data-b-theme] .pad-menu .card>button:first-of-type{background:var(--b-accent);color:var(--b-accent-ink);border-color:#0000}html[data-b-theme] #wall{background:color-mix(in srgb, var(--b-bg) 70%, transparent)}html[data-b-theme] .wall-card{background:var(--b-panel);color:var(--b-text);border:1px solid var(--b-line);border-radius:var(--b-r-l);box-shadow:var(--b-shadow-2);font-family:var(--b-body)}html[data-b-theme] .wall-head{border-bottom:1px solid var(--b-line)}html[data-b-theme] .wall-head h2{color:var(--b-text);font-family:Georgia,serif}html[data-b-theme] .wall-tabs button,html[data-b-theme] .wall-close{font:700 13px/1.1 var(--b-display);letter-spacing:.08em;text-transform:uppercase;color:var(--b-text);background:var(--b-raised);border:1px solid var(--b-line);border-radius:var(--b-r-m)}html[data-b-theme] .wall-tabs button:hover,html[data-b-theme] .wall-close:hover{border-color:var(--b-accent)}html[data-b-theme] .wall-tabs button.on{background:var(--b-accent);color:var(--b-accent-ink);border-color:#0000}html[data-b-theme] .wall-body h3{font:700 13px/1.2 var(--b-display);letter-spacing:.14em;color:var(--b-accent-text)}html[data-b-theme] .wall-empty,html[data-b-theme] .game-line.dim,html[data-b-theme] .stamp.locked{color:var(--b-dim)}html[data-b-theme] .stamp,html[data-b-theme] .game-row,html[data-b-theme] .daily-row{background:var(--b-raised);border:1px solid var(--b-tape);border-radius:var(--b-r-m);color:var(--b-text)}html[data-b-theme] .stamp.locked,html[data-b-theme] .game-row.none,html[data-b-theme] .daily-row.none{border:1px dashed var(--b-line);background:0 0}html[data-b-theme] .stamp-mark{color:var(--b-tape)}html[data-b-theme] .stamp.locked .stamp-mark{color:var(--b-faint)}html[data-b-theme] .game-name{font-family:Georgia,serif}html[data-b-theme] .daily-score{font-family:var(--b-mono)}@media (max-height:430px) and (min-aspect-ratio:1){html[data-b-theme] .overlay:not(.pad-menu){padding-top:48px}html[data-b-theme] .card{padding:14px 22px}html[data-b-theme] .card h1:after,html[data-b-theme] .pad-menu h2:after{display:none}html[data-b-theme] .card h1{margin:4px 0 6px;font-size:clamp(26px,8vh,40px)}}html[data-b-theme] #debug{color:var(--b-text);background:var(--panel);border-radius:4px;padding:2px 6px}
