:root{--ink:#101642;--muted:#566079;--cream:#fffaf0;--line:#dfe4f2;--blue:#2864dc;--blue-dark:#173e9f;--orange:#f57928;--pink:#d94683;--green:#138a68;--purple:#7047d7;--shadow:0 24px 70px rgba(23,42,91,.16)}
*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);font-family:'Poppins',system-ui,sans-serif;background:radial-gradient(circle at 12% 18%,rgba(255,255,255,.8) 0 5%,transparent 5.4%),radial-gradient(circle at 86% 14%,rgba(255,255,255,.6) 0 7%,transparent 7.4%),linear-gradient(155deg,#d8f5ff 0 44%,#b9e79a 44% 100%);touch-action:manipulation}button,a,input{font:inherit}button{color:inherit}[hidden]{display:none!important}
.skip-link{position:fixed;top:.5rem;left:.5rem;z-index:10000;background:#fff;color:#111;padding:.8rem 1rem;border-radius:10px;transform:translateY(-160%)}.skip-link:focus{transform:none}
.memory-shell{width:min(1040px,calc(100% - 2rem));margin:1.3rem auto 3rem}.memory-panel{scroll-margin-top:88px;background:rgba(255,250,240,.97);border:1px solid rgba(255,255,255,.9);border-radius:30px;box-shadow:var(--shadow);padding:clamp(1.2rem,3vw,2.4rem)}
.hero-copy{text-align:center;max-width:720px;margin:0 auto 1.7rem}.eyebrow{display:inline-block;color:var(--blue-dark);font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.25rem,6vw,4.1rem);line-height:1;margin:.35rem 0 .7rem}.hero-copy p,.result-summary{font-size:clamp(1rem,2.4vw,1.2rem);color:var(--muted);margin:.4rem 0 1rem}
.icon-button,.secondary-button,.primary-button,.deck-card,.mode-card{border:0;cursor:pointer;min-height:48px;border-radius:15px;font-weight:850}.icon-button{background:#fff;border:2px solid var(--line);padding:.65rem 1rem}.icon-button span{margin-left:.25rem}
.choice-group{border:0;padding:0;margin:1.6rem 0}.choice-group legend{font-weight:900;font-size:1.08rem;margin-bottom:.75rem}.deck-choices{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem}.deck-card{background:#fff;border:3px solid transparent;padding:.9rem .6rem;box-shadow:0 5px 15px rgba(30,52,97,.08)}.deck-card .deck-icons{display:block;font-size:1.55rem;letter-spacing:.1em;margin-bottom:.25rem}.deck-card small{display:block;color:var(--muted);font-weight:700}.deck-card[aria-pressed="true"]{border-color:var(--blue);background:#eef5ff;box-shadow:0 6px 0 rgba(40,100,220,.18)}
.mode-choices{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.mode-card{text-align:left;background:#fff;border:3px solid var(--line);padding:1rem;min-height:132px}.mode-card strong{display:block;font-size:1.05rem}.mode-card .mode-meta{display:block;color:var(--blue-dark);font-size:.78rem;margin:.15rem 0 .45rem;font-weight:900}.mode-card small{display:block;color:var(--muted);line-height:1.35;font-weight:650}.mode-card[aria-pressed="true"]{color:#fff;border-color:var(--blue);background:linear-gradient(140deg,var(--blue),var(--purple));box-shadow:0 8px 0 rgba(30,48,126,.22)}.mode-card[aria-pressed="true"] small,.mode-card[aria-pressed="true"] .mode-meta{color:#fff}
.setup-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.8rem;padding-top:1.4rem;border-top:1px solid var(--line)}.check-option{display:flex;gap:.65rem;align-items:center;font-weight:800}.check-option input{width:24px;height:24px;accent-color:var(--blue)}.primary-button{background:linear-gradient(135deg,var(--orange),var(--pink));color:#fff;padding:.9rem 1.35rem;box-shadow:0 6px 0 #ad3a4d}.secondary-button{background:#fff;border:2px solid var(--line);padding:.7rem 1rem}.best-preview{text-align:center;color:var(--muted);font-weight:750;min-height:1.5em;margin:1rem 0 0}
.round-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}.round-heading h1{font-size:clamp(2rem,5vw,3.2rem);margin:.15rem 0}.mode-badge{background:#e9e3ff;color:#4b2baa;border-radius:999px;padding:.5rem .9rem;font-weight:900}.score-strip{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:2px solid var(--line);border-radius:20px;margin:1rem 0;overflow:hidden}.score-strip div,.results-grid div{text-align:center;padding:.75rem}.score-strip div+div{border-left:1px solid var(--line)}.score-strip strong,.results-grid strong{display:block;font-size:1.25rem}.score-strip span,.results-grid span{display:block;color:var(--muted);font-weight:750;font-size:.76rem;text-transform:uppercase;letter-spacing:.06em}
.coach-row{display:flex;justify-content:center;align-items:center;gap:.7rem;margin:.75rem 0}.coach{font-size:2.4rem}.coach-row p{margin:0;background:#fff;border:2px solid var(--line);padding:.65rem .9rem;border-radius:16px;font-weight:850}.round-tools{display:flex;justify-content:center;gap:.55rem;flex-wrap:wrap;margin:.8rem 0 1.1rem}
.card-grid{--columns:4;display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));gap:clamp(.45rem,1.5vw,.8rem);width:min(100%,calc(var(--columns) * 138px));margin:auto}.memory-card{appearance:none;position:relative;aspect-ratio:1;border:0;padding:0;background:transparent;cursor:pointer;perspective:900px;border-radius:18px;min-width:0}.card-inner{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .42s cubic-bezier(.2,.75,.25,1)}.memory-card[data-state="revealed"] .card-inner,.memory-card[data-state="matched"] .card-inner{transform:rotateY(180deg)}.card-face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:18px;backface-visibility:hidden;-webkit-backface-visibility:hidden}.card-front{color:#fff;background:linear-gradient(145deg,#315fde,#754bd6);border:4px solid rgba(255,255,255,.85);box-shadow:0 7px 0 #37378f;font-size:clamp(1.65rem,5vw,3rem);font-weight:900}.card-back{transform:rotateY(180deg);background:#fff;border:3px solid #cbd5ea;box-shadow:0 7px 18px rgba(31,52,104,.12);font-size:clamp(2rem,7vw,4rem)}.memory-card[data-state="matched"] .card-back{border-color:var(--green);background:#ebfff7;box-shadow:0 0 0 4px rgba(19,138,104,.13)}.memory-card[data-state="matched"]{cursor:default}.memory-card.match-pop .card-back{animation:matchPop .45s ease}@keyframes matchPop{50%{transform:rotateY(180deg) scale(1.09)}}
.results-panel{text-align:center;max-width:800px;margin:auto}.result-burst{font-size:4.5rem;animation:resultIn .7s ease both}@keyframes resultIn{0%{transform:scale(.25) rotate(-12deg);opacity:0}70%{transform:scale(1.12) rotate(3deg)}}.results-panel h1{font-size:clamp(2.2rem,6vw,3.7rem)}.stars{font-size:2.5rem;letter-spacing:.15em;margin:.8rem 0}.results-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:2px solid var(--line);border-radius:20px;margin:1.2rem 0}.results-grid div+div{border-left:1px solid var(--line)}.reward-card{display:flex;align-items:center;justify-content:center;gap:.8rem;background:#fff4cf;border:2px solid #f3cc54;border-radius:18px;padding:1rem;margin:1rem auto;max-width:440px}.reward-card>span{font-size:2.2rem}.reward-card strong,.reward-card small{display:block}.reward-card strong{font-size:1.25rem}.reward-card small{color:#71551a;margin-top:.15rem}.achievement-list{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.achievement{background:#efeaff;color:#442788;border-radius:999px;padding:.5rem .8rem;font-weight:850;font-size:.85rem}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;max-width:640px;margin:1.3rem auto 0}.result-actions .primary-button{grid-column:1/-1}.link-button{display:flex;text-decoration:none;align-items:center;justify-content:center}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}button:focus-visible,a:focus-visible,input:focus-visible{outline:4px solid #ff9e1f;outline-offset:4px}button:hover:not(:disabled){filter:brightness(1.03);transform:translateY(-1px)}
@media(max-width:760px){.memory-shell{width:min(100% - 1rem,620px);margin:.6rem auto 2rem}.memory-panel{border-radius:22px;padding:1rem}.deck-choices{grid-template-columns:repeat(2,1fr)}.mode-choices{grid-template-columns:1fr 1fr}.setup-actions{align-items:stretch;flex-direction:column}.primary-button{width:100%}.score-strip strong{font-size:1.05rem}.score-strip div{padding:.6rem .2rem}.round-heading{align-items:flex-start}.mode-badge{font-size:.78rem}.card-grid{--columns:4!important;gap:.6rem;width:100%}.card-face{border-radius:14px}.card-front{border-width:3px}.results-grid{grid-template-columns:1fr 1fr}.results-grid div:nth-child(3){border-left:0;border-top:1px solid var(--line)}.results-grid div:nth-child(4){border-top:1px solid var(--line)}.result-actions{grid-template-columns:1fr}.result-actions .primary-button{grid-column:auto}}
@media(max-width:430px){.mode-choices{grid-template-columns:1fr}.mode-card{min-height:0}.card-grid{gap:.48rem}.card-back{font-size:clamp(2rem,12vw,3.2rem)}.round-tools .secondary-button{font-size:.86rem;padding:.6rem .7rem}.coach-row{align-items:flex-start}.coach{font-size:2rem}.coach-row p{text-align:left;font-size:.88rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(forced-colors:active){.deck-card[aria-pressed="true"],.mode-card[aria-pressed="true"],.memory-card[data-state="matched"] .card-back{outline:4px solid Highlight}.card-face{border:2px solid ButtonText}}
.result-actions .link-button{grid-column:1/-1}
.arc-mute,.arc-gear{width:44px;min-width:44px;height:44px;min-height:44px}.arc-player button{min-width:44px;min-height:44px;padding:.55rem .35rem;border-radius:10px}
