:root{--ink: #141d2a;--cream: #f1e6c8;--cream2: #e4d3a8;--verm: #d4432c;--indigo: #132447;--moon: #f4d98b;--leaf: #5f8f4e;--display: Kefa, "Sitka Heading", Constantia, "Iowan Old Style", Georgia, serif;--ui: "Sukhumvit Set", "Segoe UI", "Noto Sans", system-ui, sans-serif}html,body{background:#0a1129;color:var(--cream);font-family:var(--ui)}.hud{position:absolute;z-index:5;left:0;right:0;top:0;display:flex;align-items:flex-start;justify-content:space-between;padding:calc(12px + var(--safe-t)) calc(12px + var(--safe-r)) 0 calc(12px + var(--safe-l));pointer-events:none}.tab{pointer-events:auto;width:46px;height:46px;display:grid;place-items:center;border:0;padding:0;text-decoration:none;background:var(--cream);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink),inset 0 0 0 4px var(--cream),inset 0 0 0 5px var(--ink),0 3px #00000059}.tab svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.tab:active{transform:translateY(2px);box-shadow:inset 0 0 0 1.5px var(--ink),inset 0 0 0 4px var(--cream),inset 0 0 0 5px var(--ink)}.mute .off,.mute[aria-pressed=true] .wav{display:none}.mute[aria-pressed=true] .off{display:inline}.mute[aria-pressed=true] .spk{fill:var(--ink)}.board{display:flex;flex-direction:column;align-items:center;gap:4px}.score{font:600 34px/1 var(--display);color:var(--cream);min-width:2ch;text-align:center;padding:6px 16px 5px;background:#0a11298c;box-shadow:inset 0 0 0 1.5px #f1e6c8bf,inset 0 0 0 4px #0a112900,0 0 0 0 transparent;text-shadow:0 2px 0 var(--ink);font-variant-numeric:tabular-nums;transition:transform .2s}.score.pop{animation:pop .22s ease-out}.meta{display:flex;align-items:center;gap:10px}.mult{font:600 16px/1 var(--display);color:var(--cream2);padding:3px 8px;background:#0a11298c}.mult.hot{background:var(--verm);color:var(--cream);box-shadow:inset 0 0 0 1.5px var(--cream)}.mult.pop{animation:pop .3s ease-out}.lives{display:flex;gap:5px}.lives i{width:15px;height:15px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#f09bb0;box-shadow:inset 0 0 0 1.5px var(--ink);transition:opacity .3s,transform .3s}.lives i.gone{opacity:.2;background:transparent;box-shadow:inset 0 0 0 1.5px var(--cream);transform:rotate(-45deg) scale(.8)}.lives.shake{animation:shake .45s}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.title,.calib,.card,.gallery,.paused{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(70px + var(--safe-t)) calc(18px + var(--safe-r)) calc(20px + var(--safe-b)) calc(18px + var(--safe-l))}.title{justify-content:flex-start;padding-top:calc(16vh + var(--safe-t));transition:opacity .45s}.title.fade{opacity:0;pointer-events:none}.print{position:relative;width:min(330px,100%);background:var(--cream);color:var(--ink);text-align:center;padding:22px 20px 18px;box-shadow:inset 0 0 0 2px var(--ink),inset 0 0 0 6px var(--cream),inset 0 0 0 7px var(--ink),0 14px 30px #00000073;background-image:radial-gradient(rgba(120,90,40,.07) 1px,transparent 1.2px);background-size:5px 5px}.print.wide{width:min(380px,100%);max-height:100%;display:flex;flex-direction:column}.seal{position:absolute;right:16px;top:16px;width:38px;height:38px;display:grid;place-items:center;background:var(--verm);color:var(--cream);font:22px/1 Hiragino Mincho ProN,Yu Mincho,serif;box-shadow:inset 0 0 0 2px var(--verm),inset 0 0 0 3.5px var(--cream);transform:rotate(4deg)}h1{margin:6px 0 2px;font:600 64px/1 var(--display);letter-spacing:.04em;color:var(--indigo)}.sub{margin:6px 0 12px;font:16px/1.3 var(--ui);color:#3a4658}.sides{display:flex;align-items:center;justify-content:center;gap:10px;font:13px var(--ui);color:#57647a;margin-bottom:14px}.sides i{width:1.5px;height:22px;background:var(--ink);opacity:.5}.cta{font:600 19px/1 var(--display);color:var(--verm);animation:breathe 1.8s ease-in-out infinite}.paused .cta{color:var(--cream);background:#0a1129bf;padding:14px 22px;box-shadow:inset 0 0 0 1.5px var(--cream)}.best{margin-top:10px;font:14px var(--ui);color:#57647a}@keyframes breathe{0%,to{opacity:1}50%{opacity:.55}}.row.foot{display:flex;gap:12px;margin-top:18px}.pill{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 18px;border:0;background:var(--cream);color:var(--ink);font:600 15px var(--display);box-shadow:inset 0 0 0 1.5px var(--ink),0 3px #00000059}.print .pill{align-self:center;justify-content:center;margin-top:14px;background:#eadbb4;box-shadow:inset 0 0 0 1.5px var(--ink)}.pill svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.pill:active{transform:translateY(2px)}.kicker{font:600 13px var(--ui);letter-spacing:.22em;text-transform:uppercase;color:var(--verm)}.big{font:600 60px/1.05 var(--display);color:var(--indigo);font-variant-numeric:tabular-nums}.newbest{display:inline-block;margin:2px 0 6px;padding:4px 10px;background:var(--verm);color:var(--cream);font:600 14px var(--display);animation:pop .5s ease-out}.split{display:flex;gap:14px;align-items:center;margin-top:10px;text-align:left}.keep{width:120px;height:160px;object-fit:cover;box-shadow:0 0 0 1.5px var(--ink),3px 4px #00000040;background:#ddd;transform:rotate(-1.5deg)}.rows{flex:1;display:grid;gap:4px}.r{display:flex;justify-content:space-between;border-bottom:1px dotted rgba(20,29,42,.35);padding:2px 0;font:14px var(--ui);color:#3a4658}.r b{font:600 16px var(--display);color:var(--ink)}.r.best b{color:var(--verm)}.card{background:#060a1a73;opacity:0;transition:opacity .4s}.card.show{opacity:1}.card .cta{margin-top:12px}.calib{background:#060a1a8c}.pond{position:relative;width:150px;height:110px;margin:16px auto 8px;--p: 0}.pond i{position:absolute;inset:0;border-radius:50%;background:radial-gradient(ellipse at 40% 35%,#93bb6c,#5f8f4e 55%,#3f6a3a);box-shadow:inset 0 0 0 2px var(--ink);clip-path:polygon(50% 50%,46% 0,0 0,0 100%,100% 100%,100% 0,54% 0);transform:scale(.62)}.pond b{position:absolute;inset:0;border-radius:50%;border:2.5px solid var(--verm);transform:scale(calc(.64 + (1 - var(--p)) * .5));opacity:calc(.15 + var(--p) * .85)}.pond.hit i{animation:pop .16s ease-out}.msg{font:16px var(--ui);color:#3a4658;margin:6px 0}.dots{display:flex;gap:6px;justify-content:center;margin:8px 0 2px}.dots i{width:13px;height:13px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--ink)}.dots i.on{background:var(--leaf)}.dots i.off{background:#e0a090}.gallery{background:#060a1acc;z-index:6}.grid{overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:14px;padding:12px 4px}.grid figure{margin:0;text-align:center}.grid img{width:100%;aspect-ratio:3 / 4;object-fit:cover;box-shadow:0 0 0 1.5px var(--ink),2px 3px #00000040}.grid figure:nth-child(odd) img{transform:rotate(-1.2deg)}.grid figure:nth-child(2n) img{transform:rotate(1deg)}.grid figcaption{font:12px var(--ui);color:#3a4658;margin-top:4px}.grid .empty{grid-column:1 / -1;font:15px var(--ui);color:#57647a}@media(max-height:640px){.title{padding-top:calc(70px + var(--safe-t))}h1{font-size:52px}.big{font-size:48px}.keep{width:96px;height:128px}}@media(prefers-reduced-motion:reduce){.cta,.score.pop,.mult.pop,.lives.shake{animation:none}}.card .print{transform:translateY(26px) rotate(-1.4deg) scale(.96);transition:transform .5s cubic-bezier(.2,1.3,.4,1)}.card.show .print{transform:none}.card .big{text-shadow:0 2px 0 rgba(212,67,44,.18)}.newbest{box-shadow:inset 0 0 0 1.5px var(--cream),0 0 0 1.5px var(--ink);transform:rotate(-3deg);animation:stamp .55s cubic-bezier(.2,1.6,.4,1) .35s backwards}@keyframes stamp{0%{transform:rotate(-3deg) scale(2.2);opacity:0}to{transform:rotate(-3deg) scale(1);opacity:1}}.card.show .keep{animation:pullIn .6s ease-out .15s backwards}@keyframes pullIn{0%{opacity:0;transform:rotate(-6deg) translateY(14px)}to{opacity:1;transform:rotate(-1.5deg)}}.score.pop{text-shadow:0 2px 0 var(--ink),0 0 14px rgba(244,217,139,.6)}.mult.hot{animation:hotpulse 1.4s ease-in-out infinite}@keyframes hotpulse{50%{box-shadow:inset 0 0 0 1.5px var(--cream),0 0 10px #d4432cb3}}@media(prefers-reduced-motion:reduce){.card .print{transition:none}.newbest,.card.show .keep,.mult.hot{animation:none}}.grid figure[role=button]{cursor:pointer;position:relative}.grid figure .pin,.grid figure.large .pin{position:absolute;top:-4px;left:50%;width:11px;height:11px;margin-left:-5.5px;border-radius:50%;background:var(--verm);box-shadow:0 0 0 1.5px var(--ink),1px 2px #0000004d}.grid.one{display:flex;flex-direction:column;align-items:center;gap:10px}.grid.one figure.large{position:relative;width:min(72vw,300px)}.grid.one figure.large img{aspect-ratio:3 / 4;transform:none}.grid.one .grow{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.grid.one .grow .pill{min-height:44px;margin:0;background:#eadbb4;box-shadow:inset 0 0 0 1.5px var(--ink)}.grid.one .grow .pill small{font-size:11px;opacity:.7}
