:root{--plum: #2b1d4e;--plum2: #3d2660;--ink: #1a1030;--cream: #fff2d6;--cream2: rgba(255, 242, 214, .72);--rose: #e0577a;--tang: #f2844b;--mari: #f6b74a;--sea: #127c86;--pearl: #bff3e4;--font: "Kefa", "Thonburi", "Trebuchet MS", system-ui, sans-serif;--num: "Thonburi", "Kefa", "Trebuchet MS", system-ui, sans-serif}html,body{background:var(--plum);color:var(--cream);font-family:var(--font)}.stage{background:var(--plum)}.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}.disc{pointer-events:auto;width:46px;height:46px;display:grid;place-items:center;padding:0;border-radius:50%;background:#1a103099;border:2px solid var(--mari);color:var(--cream);text-decoration:none;transition:transform .18s ease}.disc:active{transform:scale(.9)}.disc:focus-visible,.pill:focus-visible{outline:2px solid var(--pearl);outline-offset:2px}.disc svg{width:24px;height:24px;fill:none;stroke:var(--cream);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.mute .spk{fill:var(--cream);stroke:none}.mute .off,.mute[aria-pressed=true] .wav{display:none}.mute[aria-pressed=true] .off{display:inline;stroke:var(--rose)}.board{display:flex;flex-direction:column;align-items:center;gap:4px}.score{font-family:var(--num);font-weight:700;font-size:34px;line-height:1;color:var(--cream);letter-spacing:.02em;text-shadow:0 2px 0 var(--rose),0 4px 0 rgba(26,16,48,.6);transition:transform .25s cubic-bezier(.2,1.6,.4,1);font-variant-numeric:tabular-nums}.score.pop{transform:scale(1.1)}.row{display:flex;align-items:center;gap:8px}.mult{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--cream2);padding:2px 9px;border-radius:10px;background:#1a10308c;border:1px solid rgba(255,242,214,.3)}.mult.hot{color:var(--ink);background:var(--mari);border-color:var(--mari)}.mult.pop{animation:mpop .3s ease}@keyframes mpop{50%{transform:scale(1.25)}}.lives{display:flex;gap:4px}.lives b{width:16px;height:6px;border-radius:50%;background:transparent;border:1.5px solid var(--cream2);transform:rotate(-14deg);transition:background .2s}.lives b.on{background:var(--mari);border-color:var(--mari)}.title,.card,.gallery,.paused{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(70px + var(--safe-t)) 18px calc(26px + var(--safe-b));text-align:center}.title.fade{opacity:0;transition:opacity .5s ease;pointer-events:none}.sheet{position:relative;overflow:hidden;background:#2b1d4ee6;border-radius:22px;padding:30px 24px 20px;box-shadow:0 0 0 2px var(--ink),0 12px 40px #0a06188c;max-width:340px;width:100%}.sheet:before{content:"";position:absolute;left:0;right:0;top:0;height:14px;pointer-events:none;background:linear-gradient(var(--rose) 0 4px,transparent 4px 5px,var(--tang) 5px 9px,transparent 9px 10px,var(--mari) 10px 14px)}.sheet.wide{max-width:380px;max-height:80vh;overflow:auto}.mark{width:120px;height:54px;display:block;margin:0 auto 8px;border-radius:10px;background:var(--plum2)}.mark .s1{fill:var(--rose);opacity:.7}.mark .s2{fill:var(--tang);opacity:.7}.mark .s3{fill:var(--mari);opacity:.7}.mark .sunp{fill:var(--mari)}.mark .sea{fill:var(--sea)}.mark .lip{fill:none;stroke:var(--cream);stroke-width:2.4}h1{margin:0;font-weight:800;font-size:48px;letter-spacing:.06em;text-transform:uppercase;color:var(--cream);text-shadow:0 3px 0 var(--rose),0 6px 0 var(--tang);line-height:1.05}.sub{margin:12px 0;font-size:14px;letter-spacing:.06em;color:var(--cream2)}.cta{margin-top:10px;font-size:14px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--mari);animation:breathe 2.2s ease-in-out infinite}@keyframes breathe{50%{opacity:.45}}.best{margin-top:8px;font-family:var(--num);font-size:16px;color:var(--cream2)}.foot{position:absolute;left:0;right:0;bottom:calc(22px + var(--safe-b));display:flex;justify-content:center}.pill{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 20px;border-radius:22px;border:2px solid var(--mari);background:#1a1030bf;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--cream);margin-top:12px}.pill svg{width:20px;height:20px;fill:none;stroke:var(--mari);stroke-width:2;stroke-linecap:round}.pill:active{transform:scale(.96)}.card{opacity:0;transition:opacity .5s ease}.card.show{opacity:1}.kicker{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tang)}.big{font-family:var(--num);font-weight:700;font-size:54px;line-height:1.05;margin-top:2px;text-shadow:0 3px 0 var(--rose)}.newbest{display:inline-block;margin:4px 0;padding:3px 12px;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);background:var(--mari);border-radius:12px;animation:nb 1.2s ease-in-out infinite}@keyframes nb{50%{transform:translateY(-2px)}}.split{display:flex;gap:14px;align-items:center;margin-top:10px;text-align:left}.keep{width:46%;aspect-ratio:360 / 560;object-fit:cover;border-radius:10px;border:2px solid var(--ink);background:var(--plum2)}.rows{flex:1;display:flex;flex-direction:column;gap:5px}.r{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;letter-spacing:.05em;color:var(--cream2);border-bottom:1px solid rgba(255,242,214,.14);padding-bottom:3px}.r b{font-family:var(--num);font-size:16px;font-weight:700;color:var(--cream)}.r.best b{color:var(--mari)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.grid figure{margin:0}.grid img{width:100%;aspect-ratio:360 / 560;object-fit:cover;border-radius:8px;border:2px solid var(--ink);display:block}.grid figcaption{font-family:var(--num);font-size:12px;color:var(--cream2);margin-top:3px}.empty{grid-column:1 / -1;color:var(--cream2);font-size:13px;letter-spacing:.06em}.paused{background:#1a103080}.gallery{z-index:4;background:#1a1030b8}.paused .cta{font-size:16px}@media(prefers-reduced-motion:reduce){.cta,.newbest{animation:none}}@media(max-height:700px){.big{font-size:44px}.sheet{padding:24px 18px 14px}.title,.card{padding-top:calc(60px + var(--safe-t))}}.grid figure{cursor:pointer}.grid figure.pinned img{border-color:var(--mari);box-shadow:0 0 0 1.5px var(--mari)}.grid figure.pinned figcaption:before{content:"★";color:var(--mari)}.big-keep{display:block;width:min(220px,58vw);margin:14px auto 6px}.btns{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.btns .pill{padding:0 14px}.pill.ad:after{content:"AD";margin-left:2px;padding:1px 4px;border-radius:4px;font-size:9px;letter-spacing:.08em;background:#fff2d633}
