:root{--lac: #2a0a12;--lac2: #4a1320;--ivory: #f4ead4;--ivoryDk: #cdbb98;--ink: #2a0d12;--copper: #c8743f;--copperLt: #f5b183;--copperDk: #6a2e16;--steel: #3d6390;--steelLt: #a9cbee;--gold: #e3b866;--goldLt: #fff1bf;--ruby: #d82a48;--face: Marion, Athelas, "Hoefler Text", "Book Antiqua", Georgia, serif;--label: "PT Sans Caption", Seravek, "Segoe UI", "Noto Sans", sans-serif}html,body{background:var(--lac);color:var(--ivory);font-family:var(--face)}.stage{background:#3d101a}.hud{position:absolute;left:0;right:0;top:0;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;padding:calc(10px + var(--safe-t)) calc(12px + var(--safe-r)) 0 calc(12px + var(--safe-l));pointer-events:none}.medal{position:relative;border-radius:50%;background:repeating-conic-gradient(var(--copper) 0 6deg,var(--copperDk) 6deg 12deg);box-shadow:0 3px 8px #00000073}.medal:before{content:"";position:absolute;inset:4px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fffaf0,var(--ivory) 45%,var(--ivoryDk))}.btn{pointer-events:auto;width:46px;height:46px;display:grid;place-items:center;border:0;padding:0;color:var(--ink);text-decoration:none;transition:transform .12s ease}.btn:active{transform:scale(.9) rotate(-12deg)}.btn svg{position:relative;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}.mute .spk{fill:currentColor;stroke:none}.mute .off,.mute[aria-pressed=true] .wav{display:none}.mute[aria-pressed=true] .off{display:inline}.mute[aria-pressed=true]{color:#8a6a60}.board{display:flex;flex-direction:column;align-items:center;gap:5px}.score{min-width:4.4ch;padding:5px 20px 4px;text-align:center;font:600 29px/1 var(--face);font-variant-numeric:oldstyle-nums tabular-nums;color:var(--ink);border-radius:22px;background:radial-gradient(ellipse at 40% 25%,#fffaf0,var(--ivory) 55%,var(--ivoryDk));border:3px solid var(--copper);box-shadow:0 0 0 1px var(--copperDk),0 4px 12px #00000073;transition:transform .22s cubic-bezier(.2,1.6,.4,1)}.score.pop{transform:scale(1.1)}.mult{padding:2px 10px;font:italic 600 14px/1.25 var(--face);color:var(--steelLt);background:#121a2cd9;border:1px solid var(--steel);border-radius:10px;transition:transform .3s cubic-bezier(.2,1.6,.4,1),color .3s ease}.mult.hot{color:var(--goldLt);border-color:var(--gold);background:#5a141ee6}.mult.pop{transform:scale(1.3)}.title,.card,.paused{position:absolute;inset:0;z-index:2;pointer-events:none;text-align:center;display:flex;align-items:center;justify-content:center;padding:calc(66px + var(--safe-t)) 18px calc(26px + var(--safe-b))}.cal,.gallery{position:absolute;inset:0;z-index:4;text-align:center;display:flex;align-items:center;justify-content:center;padding:calc(20px + var(--safe-t)) 16px calc(20px + var(--safe-b));background:#140408b8}.gallery{overflow-y:auto;align-items:flex-start}.plate{position:relative;width:min(318px,calc(100vw - 36px));padding:22px 18px 18px;color:var(--ink);border-radius:18px;background:radial-gradient(circle at 12px 12px,var(--copper) 2.6px,transparent 3.2px),radial-gradient(circle at calc(100% - 12px) 12px,var(--copper) 2.6px,transparent 3.2px),radial-gradient(circle at 12px calc(100% - 12px),var(--copper) 2.6px,transparent 3.2px),radial-gradient(circle at calc(100% - 12px) calc(100% - 12px),var(--copper) 2.6px,transparent 3.2px),linear-gradient(170deg,#fffaf0,var(--ivory) 40%,#e6d6b6);border:3px solid var(--copper);box-shadow:0 0 0 1px var(--copperDk),0 0 0 5px #2a0a1299,0 22px 50px #0000008c}.plate:before{content:"";position:absolute;inset:7px;border:1px solid rgba(106,46,22,.35);border-radius:12px;pointer-events:none}.plate.small{width:auto;padding:14px 26px}.plate.wide{width:min(380px,calc(100vw - 28px));margin:auto 0}.crest{position:relative;height:34px;margin:-4px auto 2px;width:74px}.crest i{position:absolute;top:0;width:34px;height:34px;border-radius:50%;border:4px dotted var(--copper);animation:spin 6s linear infinite}.crest i:first-child{left:2px}.crest i:last-child{right:2px;border-color:var(--steel);animation-direction:reverse}.crest i:after{content:"";position:absolute;left:50%;top:-1px;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 1px var(--copperDk)}@keyframes spin{to{transform:rotate(360deg)}}h1{margin:0;font:italic 600 64px/.95 var(--face);letter-spacing:.01em;color:var(--lac2);text-shadow:0 1px 0 #fff,0 2px 0 rgba(106,46,22,.35)}.sub{margin:6px 0 8px;font:600 12px/1.3 var(--label);letter-spacing:.22em;text-transform:uppercase;color:#6a3a2c}.kicker{font:600 11px/1.2 var(--label);letter-spacing:.3em;text-transform:uppercase;color:var(--copperDk)}.legend svg{width:150px;height:68px}.legend .gl{fill:var(--copper);stroke:var(--copperDk);stroke-width:2;stroke-dasharray:3 2.2}.legend .gr{fill:var(--steel);stroke:#1d3352;stroke-width:2;stroke-dasharray:3 2.2}.legend .pin{fill:#fffaf0;stroke:var(--ink);stroke-width:1}.legend .pin.dim{opacity:.75}.legend .tap{stroke:var(--ruby);stroke-width:2;stroke-linecap:round;fill:none;animation:blink 1.1s ease-in-out infinite}@keyframes blink{0%,to{opacity:.2}50%{opacity:1}}.cta{margin-top:6px;font:italic 600 19px/1.2 var(--face);color:var(--lac2);animation:breathe 1.8s ease-in-out infinite}@keyframes breathe{50%{opacity:.55}}.best{margin-top:4px;font:600 14px/1.2 var(--face);font-variant-numeric:oldstyle-nums;color:#6a3a2c}.row-btns{display:flex;justify-content:center;gap:10px;margin-top:12px}.chip{pointer-events:auto;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 16px;border-radius:22px;font:600 13px/1 var(--label);letter-spacing:.12em;text-transform:uppercase;color:var(--ivory);background:linear-gradient(180deg,#4d6f9c,var(--steel) 50%,#22395a);border:2px solid #1d3352;box-shadow:inset 0 1px #ffffff59,0 3px 8px #0000004d;transition:transform .12s ease}.chip:active{transform:scale(.94)}.chip svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.chip.gold{color:var(--ink);background:linear-gradient(180deg,var(--goldLt),var(--gold) 55%,#a8803c);border-color:#7a5520}.card .plate{padding-top:18px}.big{font:600 54px/1 var(--face);font-variant-numeric:oldstyle-nums;color:var(--lac2);margin-top:4px}.newbest{display:inline-block;margin:4px 0 2px;padding:3px 12px;border-radius:12px;font:italic 700 15px/1.2 var(--face);color:var(--goldLt);background:var(--ruby);box-shadow:0 0 0 2px var(--gold);animation:ring 1s ease-in-out infinite}@keyframes ring{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg) scale(1.06)}}.keep{margin:8px auto 6px;width:132px;padding:4px;background:var(--copper);border-radius:6px;box-shadow:0 0 0 1px var(--copperDk),0 6px 14px #00000059}.keep img{display:block;width:100%;aspect-ratio:2 / 3;border-radius:3px;background:var(--lac)}.rows{margin:4px auto 0;max-width:230px}.row{display:flex;justify-content:space-between;padding:3px 2px;border-bottom:1px dotted rgba(106,46,22,.35);font:600 12px/1.3 var(--label);letter-spacing:.06em;color:#6a3a2c}.row b{font:600 16px/1.1 var(--face);font-variant-numeric:oldstyle-nums;color:var(--ink)}.card .plate,.title .plate{transition:opacity .35s ease,transform .45s cubic-bezier(.2,1.4,.4,1)}.card .plate{opacity:0;transform:translateY(24px) scale(.96)}.card.show .plate{opacity:1;transform:none}.title.fade .plate{opacity:0;transform:scale(.94)}.calwheel{width:150px;height:157px;margin:6px auto 0;display:block}.calwheel .cg{fill:var(--copper);stroke:var(--copperDk);stroke-width:4;stroke-dasharray:4 3}.calwheel .track{fill:none;stroke:var(--copperDk);stroke-width:9;opacity:.45}.calwheel .cpin{fill:#fffaf0;stroke:var(--ink);stroke-width:1.2}.calwheel .hub{fill:var(--ruby);stroke:var(--gold);stroke-width:2}.calwheel .hammer{fill:var(--steel);stroke:#1d3352;stroke-width:1.5;transition:transform .06s ease}.calwheel .hammer.hit{transform:translateY(5px)}.lights{display:flex;justify-content:center;gap:6px;margin:6px 0 0}.lights i{width:11px;height:11px;border-radius:50%;background:#d8c8a8;box-shadow:inset 0 1px 2px #00000059;transition:background .15s ease,transform .15s ease}.lights i.on{background:var(--gold);transform:scale(1.2);box-shadow:0 0 0 1px var(--copperDk),0 0 8px #e3b866e6}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;margin:12px 0 2px}.grid figure{margin:0;padding:3px;background:var(--copper);border-radius:5px;box-shadow:0 0 0 1px var(--copperDk),0 4px 10px #0000004d}.grid img{display:block;width:100%;aspect-ratio:2 / 3;border-radius:3px;background:var(--lac)}.grid figure{cursor:pointer}.grid figure.pinned{background:var(--gold);box-shadow:0 0 0 1px #7a5520,0 0 10px #e3b866b3}.keep.big-keep{width:min(220px,58vw)}.chip.ad:after{content:"AD";margin-left:2px;padding:1px 4px;border-radius:4px;font:700 9px/1.2 var(--label);letter-spacing:.08em;background:#00000047}.grid figcaption{padding:3px 0 1px;font:600 13px/1.1 var(--face);font-variant-numeric:oldstyle-nums;color:var(--goldLt)}@media(max-height:700px){h1{font-size:52px}.legend svg{height:52px}.keep{width:96px}.big{font-size:44px}.row{padding:2px}}@media(prefers-reduced-motion:reduce){.crest i,.cta,.newbest,.legend .tap{animation:none}}.keep{position:relative;overflow:hidden}.keep:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,240,200,.55) 50%,transparent 65%);transform:translate(-120%);animation:sheen 3.2s ease-in-out .6s infinite;pointer-events:none}@keyframes sheen{0%{transform:translate(-120%)}45%,to{transform:translate(120%)}}.card.show .big{animation:scorePop .6s cubic-bezier(.2,1.6,.4,1) both;text-shadow:0 1px 0 #fff,0 3px 10px rgba(227,184,102,.5)}@keyframes scorePop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.card .kicker{color:#9c2f40}@media(prefers-reduced-motion:reduce){.keep:after,.card.show .big{animation:none}}
