.match{--match-card: #0f1424;--match-card-2: #161d33;--match-right: #5fd18f;--match-right-ink: #04170c;--match-wrong: #ff7a6b;--match-wrong-ink: #2a0703;--match-radius: 18px;display:grid;gap:1.25rem;font-variant-numeric:tabular-nums}.match [hidden]{display:none}.match__stage,.match__result,.match__board{scroll-margin-top:.75rem;width:100%;max-width:30rem;margin-inline:auto;box-sizing:border-box}.match__intro{display:grid;gap:1rem;padding:1.25rem;border:1px solid var(--toy-line);border-radius:var(--match-radius);background:var(--match-card)}.match__pitch{margin:0;font-size:1.15rem;line-height:1.45}.match__rules{margin:0;padding:0;list-style:none;display:grid;gap:.35rem;color:var(--toy-muted)}.match__rules li{display:grid;grid-template-columns:3.4rem minmax(0,1fr);align-items:baseline}.match__rules strong{color:var(--toy-sable);font-family:var(--toy-display);font-size:1.2rem;letter-spacing:.02em}.match__play{justify-self:start;min-height:3rem;padding:0 2rem;border:0;border-radius:999px;background:var(--toy-sable);color:#1a1204;font:800 1.35rem/1 var(--toy-display);letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.match__play:hover{filter:brightness(1.08)}.match__play:focus-visible,.match__choice:focus-visible,.match__tabs button:focus-visible,.match__save-btn:focus-visible{outline:3px solid var(--toy-ruff);outline-offset:3px}.match__hint{margin:0;color:var(--toy-muted);font-size:.95rem}.match__load{display:grid;gap:.4rem}.match__load-bar{height:6px;border-radius:3px;background:var(--toy-line);overflow:hidden}.match__load-bar span{display:block;width:4%;height:100%;background:var(--toy-sable);transition:width .2s ease-out}.match__load-text,.match__error{margin:0;color:var(--toy-muted);font-size:.95rem}.match__error{color:var(--match-wrong)}.match__game{display:grid;gap:.75rem}.match__hud{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;font-family:var(--toy-display);font-size:1.35rem;letter-spacing:.02em}.match__hud-label{color:var(--toy-muted);font-family:var(--toy-body);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.match__hud-streak{color:var(--toy-sable);font-size:1.1rem}.match__timer{height:6px;border-radius:3px;background:var(--toy-line);overflow:hidden}.match__timer span{display:block;height:100%;background:var(--toy-ruff);transform-origin:left center}.match__timer span.is-low{background:var(--match-wrong)}.match__card{position:relative;margin:0;width:min(100%,42vh,42dvh,26rem);justify-self:center;aspect-ratio:1;border-radius:var(--match-radius);overflow:hidden;background:radial-gradient(circle at 50% 58%,rgba(227,168,87,.28),transparent 62%),radial-gradient(circle at 20% 15%,rgba(238,240,245,.08),transparent 30%),var(--match-card-2);border:1px solid var(--toy-line)}.match__photo{position:absolute;inset:4% 4% 12%}.match__photo canvas{display:block;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.match__photo.is-in{animation:match-in .35s ease-out}@keyframes match-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}.match__year{position:absolute;left:50%;bottom:.7rem;transform:translate(-50%);padding:.3rem .85rem;border-radius:999px;background:#070a14c7;color:var(--toy-muted);font-size:.9rem;white-space:nowrap}.match__year b{color:var(--toy-ruff);font-family:var(--toy-display);font-size:1.25rem;letter-spacing:.03em;margin-left:.15rem}.match__points{position:absolute;top:.75rem;right:.9rem;font:800 2rem/1 var(--toy-display);animation:match-pop .5s ease-out}.match__points.is-right{color:var(--match-right)}.match__points.is-wrong{color:var(--match-wrong)}.match__clue{position:absolute;top:.75rem;left:.75rem;margin:0;padding:.3rem .75rem;border-radius:999px;background:var(--toy-sable);color:#1a1204;font-weight:700;font-size:.95rem;animation:match-pop .4s ease-out}.match__count{position:absolute;inset:0;display:grid;place-items:center;font:800 7rem/1 var(--toy-display);color:var(--toy-sable)}.match__count.is-tick{animation:match-pop .6s ease-out}@keyframes match-pop{0%{opacity:0;transform:scale(1.4)}to{opacity:1;transform:none}}.match__choices{display:grid;gap:.6rem}.match__choice{min-height:3.4rem;padding:.5rem 1rem;border:2px solid var(--toy-line);border-radius:14px;background:var(--match-card);color:var(--toy-ruff);font:700 1.2rem/1.2 var(--toy-body);cursor:pointer;transition:border-color .12s,background-color .12s,transform .08s}@media(hover:hover){.match__choice:not(:disabled):hover{border-color:var(--toy-sable)}}.match__choice:not(:disabled):active{transform:scale(.98)}.match__choice:disabled{cursor:default}.match__choice:disabled:not(.is-right,.is-wrong,.is-picked){opacity:.55}.match__choice.is-picked{border-color:var(--toy-ruff)}.match__choice.is-out:not(.is-right,.is-wrong){opacity:.35;text-decoration:line-through}.match__choice.is-right{border-color:var(--match-right);background:var(--match-right);color:var(--match-right-ink)}.match__choice.is-wrong{border-color:var(--match-wrong);background:var(--match-wrong);color:var(--match-wrong-ink)}.match__choice.is-right:before{content:"✓ "}.match__choice.is-wrong:before{content:"✗ "}.match__reveal{min-height:1.5em;margin:0;text-align:center;color:var(--toy-muted)}.match__result{display:grid;gap:1rem;padding:1.25rem;border:1px solid rgba(227,168,87,.45);border-radius:var(--match-radius);background:var(--match-card);scroll-margin-top:1rem}.match__result-title{margin:0;font:800 2.4rem/1 var(--toy-display);text-wrap:balance}.match__result-score{margin:0;color:var(--toy-muted);font-size:1.1rem}.match__result-score b{color:var(--toy-sable);font:800 2rem/1 var(--toy-display)}.match__stats{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.match__stats div{padding:.6rem;border-radius:12px;background:var(--match-card-2)}.match__stats dt{color:var(--toy-muted);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}.match__stats dd{margin:.15rem 0 0;font:800 1.5rem/1 var(--toy-display)}.match__save{display:grid;gap:.45rem}.match__save label{font-weight:700}.match__save-row{display:flex;gap:.5rem}.match__save input{width:6.5rem;min-height:3rem;box-sizing:border-box;padding:0 .75rem;border:2px solid var(--toy-line);border-radius:12px;background:var(--match-card-2);color:var(--toy-ruff);font:800 1.6rem/1 var(--toy-display);letter-spacing:.25em;text-transform:uppercase}.match__save input:focus{outline:none;border-color:var(--toy-sable)}.match__save-btn{min-height:3rem;padding:0 1.25rem;border:2px solid var(--toy-sable);border-radius:12px;background:transparent;color:var(--toy-sable);font-weight:700;font-size:1rem;cursor:pointer}.match__save-error{margin:0;color:var(--match-wrong)}.match__save-note,.match__saved{margin:0;color:var(--toy-muted);font-size:.9rem}.match__saved b{color:var(--toy-ruff);letter-spacing:.15em}.match__board{display:grid;gap:.75rem}.match__board-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem}.match__board-title{margin:0;font:800 1.8rem/1 var(--toy-display)}.match__tabs{display:flex;gap:.25rem;padding:.2rem;border-radius:999px;background:var(--match-card);border:1px solid var(--toy-line)}.match__tabs button{padding:.35rem .85rem;border:0;border-radius:999px;background:transparent;color:var(--toy-muted);font:700 .9rem/1.2 var(--toy-body);cursor:pointer}.match__tabs button[aria-pressed=true]{background:var(--toy-ruff);color:var(--toy-night)}.match__board-empty{margin:0;color:var(--toy-muted)}.match__rows{margin:0;padding:0;list-style:none;display:grid;gap:.3rem}.match__row{display:grid;grid-template-columns:2rem 3.5rem minmax(0,1fr) auto;align-items:baseline;gap:.5rem;padding:.5rem .75rem;border-radius:10px;background:var(--match-card)}.match__row.is-you{outline:2px solid var(--toy-sable)}.match__row-place{color:var(--toy-muted);font-family:var(--toy-display);font-size:1.2rem}.match__row-name{font:800 1.3rem/1 var(--toy-display);letter-spacing:.12em}.match__row-detail{color:var(--toy-muted);font-size:.85rem}.match__row-score{color:var(--toy-sable);font:800 1.3rem/1 var(--toy-display)}.match__restock{color:var(--toy-muted)}@media(prefers-reduced-motion:reduce){.match__photo.is-in,.match__points,.match__clue,.match__count.is-tick{animation:none}}
