:root{--ink: #1c2238;--ink2: #2b3352;--cream: #fff6e2;--paper: #f6ecd6;--rush: #a4ab52;--rushDk: #6f7a34;--gold: #ffd27a;--amber: #f2a64a;--lily: #f7b7cb;--water: #2b5d68;--rust: #c0543a;--type: Baskerville, "Libre Baskerville", "Baskerville Old Face", "Hoefler Text", Georgia, serif}html,body{background:#10142a;color:var(--cream);font-family:var(--type)}.stage{background:#1c2238}.hud{position:absolute;left:0;right:0;top:0;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;padding:calc(8px + var(--safe-t)) calc(10px + var(--safe-r)) 0 calc(10px + var(--safe-l));pointer-events:none}.leaf{background:#1c22389e;border-radius:50% 8px;box-shadow:inset 0 0 0 1.5px #a4ab52b3,0 3px 10px #080a184d}.btn{pointer-events:auto;width:44px;height:44px;display:grid;place-items:center;border:0;color:var(--cream);text-decoration:none;transition:transform .12s ease}.btn:active{transform:scale(.92) rotate(-4deg)}.btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.1;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:#fff6e280}.board{display:flex;flex-direction:column;align-items:center}.score{min-width:4ch;padding:2px 16px 0;text-align:center;font:italic 600 32px/1.05 var(--type);letter-spacing:.02em;font-variant-numeric:tabular-nums lining-nums;color:var(--cream);text-shadow:0 2px 8px rgba(16,20,42,.55),0 0 16px rgba(255,210,122,.3);transition:transform .25s cubic-bezier(.2,1.6,.4,1)}.score.pop{transform:scale(1.1)}.meta{display:flex;gap:6px;margin-top:3px;align-items:center}.mult{padding:2px 9px;font:italic 700 14px/1.2 var(--type);color:var(--cream);background:#1c223899;border-radius:10px 3px;box-shadow:inset 0 0 0 1px #fff6e24d;transition:transform .3s cubic-bezier(.2,1.6,.4,1)}.mult.hot{background:linear-gradient(180deg,var(--gold),var(--amber));color:var(--ink);box-shadow:none}.mult.pop{transform:scale(1.3)}.reeds{display:inline-flex;gap:1px;padding:1px 6px;background:#1c223899;border-radius:10px 3px}.reeds svg{width:11px;height:22px;transition:transform .45s cubic-bezier(.3,1.4,.5,1),opacity .3s ease;transform-origin:50% 100%}.reeds .st{stroke:var(--rush);stroke-width:1.6;fill:none;stroke-linecap:round}.reeds .hd{fill:#8a5a2c}.reeds svg.gone{opacity:.3;transform:rotate(38deg) scaleY(.7)}.reeds.shake{animation:shake .5s ease}@keyframes shake{20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}.title,.card,.paused,.sheet{position:absolute;z-index:2;text-align:center}.title,.card,.paused{pointer-events:none}.sheet{inset:0;z-index:4;display:grid;place-items:center;padding:calc(20px + var(--safe-t)) 16px calc(20px + var(--safe-b));background:#0c10228c}.mat{position:relative;width:min(312px,calc(100vw - 40px));margin:0 auto;padding:18px 18px 16px;color:var(--ink);background:repeating-linear-gradient(90deg,rgba(140,120,70,.05) 0 2px,transparent 2px 7px),radial-gradient(130% 80% at 50% 0%,#fffaf0,var(--paper) 70%);border-radius:18px 4px;box-shadow:inset 0 0 0 4px var(--paper),inset 0 0 0 5.5px #6f7a34bf,inset 0 0 0 8px var(--paper),inset 0 0 0 9px #6f7a3466,0 22px 50px #080a1873}.mat.wide{width:min(360px,calc(100vw - 28px));max-height:calc(100vh - 60px);overflow:auto}.kicker{font:italic 500 14px/1.3 var(--type);letter-spacing:.04em;color:var(--rushDk)}.title{inset:0;display:flex;align-items:flex-start;justify-content:center;padding:calc(64px + var(--safe-t)) 20px calc(40px + var(--safe-b))}.title.fade{animation:fadeOut .45s ease forwards}@keyframes fadeOut{to{opacity:0;transform:translateY(-12px)}}.title h1{margin:2px 0 0;font:italic 600 clamp(52px,16vw,64px)/1 var(--type);letter-spacing:.01em;color:var(--ink);background:linear-gradient(180deg,#2b3352 30%,#2b5d68 70%,#6f7a34);-webkit-background-clip:text;background-clip:text;color:transparent}.legend{margin:8px auto 0;width:176px;height:92px;display:grid;place-items:center;border-radius:46px 10px;background:linear-gradient(180deg,#e9b98f,#4f7d86 55%,#1d4552);overflow:hidden}.legend svg{width:170px;height:90px;overflow:visible;fill:none;stroke-linecap:round}.legend .water{stroke:#fff6e259;stroke-width:1}.legend .river{stroke:#e9fbf6;stroke-width:7;opacity:.9;stroke-dasharray:48 200;animation:riverA 3.2s linear infinite}.legend .tail{stroke:#d8e6b0;stroke-width:2.4;animation:tailA 3.2s linear infinite}.legend .tailhd{fill:#7a4a26;animation:tailA 3.2s linear infinite}.legend .pad{fill:#4c8a46;opacity:0;animation:padA 3.2s linear infinite}.legend .ring{stroke:var(--cream);stroke-width:2.4}.legend .hand{fill:var(--cream);stroke:#1e1e3299;stroke-width:1.2;animation:handA 3.2s ease-in-out infinite}@keyframes riverA{0%{stroke-dashoffset:120;stroke:#e9fbf6}30%{stroke:#e9fbf6}34%{stroke:#ffd27a}75%{stroke-dashoffset:-50;stroke:#ffd27a}to{stroke-dashoffset:-80}}@keyframes tailA{0%{transform:translateY(-46px);opacity:0}15%{opacity:1}72%{transform:translateY(44px);opacity:1}80%,to{transform:translateY(54px);opacity:0}}@keyframes padA{0%,18%{opacity:0;transform:translateY(-40px)}22%{opacity:1}32%{transform:translateY(0);opacity:1}42%,to{opacity:0;transform:translateY(10px)}}@keyframes handA{0%,25%{transform:translateY(-6px)}32%,70%{transform:translateY(3px)}78%,to{transform:translateY(-8px)}}.cta{margin-top:12px;font:italic 600 17px/1.3 var(--type);color:var(--water);animation:breathe 2.6s ease-in-out infinite}.paused .cta{color:var(--cream);font-size:22px}@keyframes breathe{0%,to{opacity:.55}50%{opacity:1}}.best{margin-top:4px;font:italic 500 14px/1 var(--type);color:var(--rushDk)}.row2{display:flex;gap:10px;justify-content:center;margin-top:12px}.pill{pointer-events:auto;min-height:44px;padding:0 16px;display:inline-flex;align-items:center;gap:7px;border:0;color:var(--ink);background:#ffffff8c;border-radius:22px 6px;box-shadow:inset 0 0 0 1.5px #6f7a34b3;font:italic 600 15px/1 var(--type)}.pill svg{width:18px;height:18px;fill:none;stroke:var(--water);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.pill:active{transform:scale(.95)}.pill.gold{background:linear-gradient(180deg,var(--gold),var(--amber));box-shadow:none}.card{left:50%;top:50%;transform:translate(-50%,-46%) scale(.96);opacity:0;transition:opacity .35s ease,transform .5s cubic-bezier(.2,1.4,.4,1)}.card.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.big{font:italic 600 54px/1 var(--type);margin-top:4px;font-variant-numeric:lining-nums tabular-nums;color:var(--ink2)}.newbest{display:inline-block;margin-top:6px;padding:5px 14px 4px;font:italic 700 15px/1 var(--type);color:var(--ink);background:linear-gradient(180deg,var(--gold),var(--lily));border-radius:12px 3px;animation:shine 1.4s ease-in-out infinite}@keyframes shine{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}.keep{display:block;width:112px;height:auto;aspect-ratio:2 / 3;object-fit:cover;margin:10px auto 0;border-radius:3px;box-shadow:0 0 0 3px #fff,0 0 0 4px #6f7a3480,0 8px 18px #14142859;transform:rotate(2deg)}.rows{margin:10px 4px 0}.row{display:flex;justify-content:space-between;align-items:baseline;padding:4px 2px 3px;border-bottom:1px dotted rgba(111,122,52,.55);font:italic 500 14px/1.2 var(--type);color:var(--rushDk)}.row b{font:600 18px/1 var(--type);color:var(--ink2);font-variant-numeric:lining-nums tabular-nums}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 10px;margin:14px 0}.grid figure{margin:0}.grid img{width:100%;aspect-ratio:2 / 3;object-fit:cover;border-radius:2px;box-shadow:0 0 0 2.5px #fff,0 0 0 3.5px #6f7a3473,0 4px 10px #1414284d}.grid figure:nth-child(3n+1) img{transform:rotate(-2deg)}.grid figure:nth-child(3n) img{transform:rotate(1.6deg)}.grid figcaption{margin-top:6px;font:italic 600 13px/1 var(--type);color:var(--water)}.empty{margin:18px 0;font:italic 15px/1.3 var(--type);color:var(--rushDk)}.grid figure{cursor:pointer}.grid figure.pinned img{box-shadow:0 0 0 2.5px #fff,0 0 0 4.5px var(--gold),0 4px 12px #14142859}.keep.big-keep{width:min(220px,58vw);margin:12px auto 4px}#gDetail .empty{margin:6px 0}#gDetail .row2{flex-wrap:wrap}.pill.ad:after{content:"AD";margin-left:2px;padding:1px 5px;border-radius:4px;font:700 9px/1.3 var(--type);letter-spacing:.06em;background:var(--ink);color:var(--cream)}.sub{margin:6px 0 0;font:italic 500 17px/1.3 var(--type);color:var(--ink2)}.frog{position:relative;width:150px;height:112px;margin:10px auto 6px}.frog svg{width:100%;height:100%;overflow:visible}.frog .pad{fill:#4c8a46}.frog .body{fill:#7fae4a}.frog .eye{fill:#9cc35a}.frog .pupil{fill:#1c2238}.frog .sac{fill:#f2e6b0;transform-origin:60px 58px;transform:scale(.4)}.frog.hit .sac{animation:croak .26s ease-out}.frog.hit svg{animation:hop .22s ease-out}.frog i{position:absolute;left:50%;top:68%;width:120px;height:34px;margin:-17px 0 0 -60px;border-radius:50%;border:2.5px solid var(--water);opacity:0}.frog.hit i{animation:ring .55s ease-out}.frog.you i{border-color:var(--amber)}@keyframes croak{0%{transform:scale(1.25)}to{transform:scale(.4)}}@keyframes hop{0%{transform:translateY(-4px)}to{transform:translateY(0)}}@keyframes ring{0%{opacity:1;transform:scale(.7)}to{opacity:0;transform:scale(1.35)}}.dots{display:flex;gap:7px;justify-content:center;min-height:14px}.dots span{width:12px;height:12px;border-radius:50% 2px;box-shadow:inset 0 0 0 1.5px #2b5d6899}.dots span.on{background:var(--water);box-shadow:none}.dots span.lead{box-shadow:inset 0 0 0 1.5px #6f7a3499}.dots span.lead.on{background:var(--rush)}.result{margin:10px 0 0;min-height:1.3em;font:italic 600 15px/1.3 var(--type);color:var(--rushDk)}.paused{inset:0;display:grid;place-items:center;background:#0c102299}@media(max-height:700px){.title{padding-top:calc(54px + var(--safe-t))}.mat{padding-top:13px;padding-bottom:12px}.title h1{font-size:48px}.legend{height:80px}.legend svg{height:78px}.big{font-size:44px}.keep{width:86px}.row{padding:3px 2px 2px}}@media(prefers-reduced-motion:reduce){.cta,.newbest,.legend .river,.legend .tail,.legend .tailhd,.legend .pad,.legend .hand{animation:none}.legend .pad{opacity:1}.score,.mult,.reeds svg{transition:none}.reeds.shake,.frog.hit .sac,.frog.hit svg,.frog.hit i{animation:none}}.mat:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,#fff0 38%,#fff4d680,#fff0 62%);background-size:260% 100%;background-position:120% 0}.card.show .mat:after{animation:paperShine 1.6s ease .35s 1 both}@keyframes paperShine{to{background-position:-40% 0}}.card .row,.card .big,.card .keep,.card .newbest{opacity:0;transform:translateY(8px)}.card.show .row,.card.show .big,.card.show .keep,.card.show .newbest{animation:rise .5s cubic-bezier(.2,1.2,.4,1) forwards}.card.show .big{animation-delay:.1s}.card.show .keep{animation-delay:.22s}.card.show .row:nth-child(1){animation-delay:.34s}.card.show .row:nth-child(2){animation-delay:.42s}.card.show .row:nth-child(3){animation-delay:.5s}.card.show .row:nth-child(4){animation-delay:.58s}.card.show .newbest{animation-delay:.3s}@keyframes rise{to{opacity:1;transform:none}}.card .big{text-shadow:0 2px 0 #fff,0 0 18px rgba(255,210,122,.45)}.score{text-shadow:0 2px 8px rgba(16,20,42,.6),0 0 22px rgba(255,210,122,.5)}.score.pop{text-shadow:0 2px 8px rgba(16,20,42,.6),0 0 30px rgba(255,220,140,.95)}.mult.hot{box-shadow:0 0 12px #ffd27a99}@media(prefers-reduced-motion:reduce){.card.show .mat:after{animation:none}.card .row,.card .big,.card .keep,.card .newbest{opacity:1;transform:none;animation:none!important}}:root{--velvet: #141a3a;--velvetDk: #0b0f26;--brass: #d9a94e;--brassLt: #f3d08a;--brassDk: #8a6326;--cane: #e6cc8e}html,body{background:#070914}.stage{background:#0b0f22}.leaf{background:#0a0c1ea8;border-radius:12px;box-shadow:inset 0 0 0 1.5px #d9a94ebf,inset 0 0 0 3px #0a0c1ea8,inset 0 0 0 3.6px #d9a94e4d,0 3px 10px #00000866}.btn{color:var(--brassLt)}.mult{background:#0a0c1ea8;border-radius:8px;box-shadow:inset 0 0 0 1px #d9a94e8c}.mult.hot{background:linear-gradient(180deg,var(--brassLt),var(--brass) 55%,var(--brassDk));color:#1a1206;box-shadow:0 0 14px #ffc86e99}.reeds{background:#0a0c1ea8;border-radius:8px;box-shadow:inset 0 0 0 1px #d9a94e59}.reeds .st{stroke:var(--cane)}.reeds .hd{fill:#7a4a24}.mat{color:var(--cream);background:repeating-linear-gradient(90deg,rgba(255,255,255,.012) 0 1px,transparent 1px 3px),radial-gradient(120% 70% at 50% 0%,#263068 0%,var(--velvet) 55%,var(--velvetDk) 100%);border-radius:10px;box-shadow:inset 0 0 0 1.5px var(--brass),inset 0 0 0 5px var(--velvetDk),inset 0 0 0 6px #d9a94e8c,inset 0 1px 0 7px #ffe6aa0a,0 24px 60px #000008a6,0 0 0 1px #00000080}.mat:after{background:radial-gradient(90% 50% at 50% -10%,#ffdca024,#ffdca000 70%);background-size:auto;background-position:0 0}.card.show .mat:after{animation:none}.kicker{color:var(--brass);letter-spacing:.08em}.title h1{background:linear-gradient(180deg,#fff8e8 15%,var(--brassLt) 55%,var(--brass) 80%,var(--brassDk));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 0 rgba(0,0,8,.6))}.legend{background:radial-gradient(80% 70% at 50% 0%,#ffdca059,#ffdca000 70%),linear-gradient(180deg,#2a2a52,#141634 60%,#0b0c1a);border-radius:10px;box-shadow:inset 0 0 0 1px #d9a94e73}.legend .water{stroke:#f0c46eb3;stroke-width:1.2}.legend .tail{stroke:var(--cane);stroke-width:3}.legend .tailhd{fill:#6a3e1e}.legend .pad{fill:var(--brass);stroke:#fff4dc;stroke-width:1}.cta{color:var(--brassLt)}.best{color:var(--brass)}.pill{color:var(--cream);background:#ffffff0d;border-radius:22px;box-shadow:inset 0 0 0 1.5px #d9a94eb3}.pill svg{stroke:var(--brassLt)}.pill.gold{background:linear-gradient(180deg,var(--brassLt),var(--brass) 55%,var(--brassDk));color:#1a1206;box-shadow:none}.big{color:var(--cream)}.card .big{text-shadow:0 2px 0 rgba(0,0,8,.6),0 0 22px rgba(255,210,122,.45)}.newbest{background:linear-gradient(180deg,var(--brassLt),var(--brass));color:#1a1206}.keep{box-shadow:0 0 0 3px #f4ecd8,0 0 0 4px #d9a94e99,0 10px 22px #00000899}.row{border-bottom-color:#d9a94e66;color:#c9b48a}.row b{color:var(--cream)}.grid figcaption{color:var(--brassLt)}.empty{color:#c9b48a}.sheet,.paused{background:#0406109e}.sub{color:var(--cream)}.result{color:var(--brassLt)}.dots span{box-shadow:inset 0 0 0 1.5px #d9a94e99}.dots span.on{background:var(--brass)}.dots span.lead{box-shadow:inset 0 0 0 1.5px #e6cc8e73}.dots span.lead.on{background:var(--cane)}.frog i{border-color:var(--brass)}
