@font-face{font-family:Fredoka;font-style:normal;font-weight:500;font-display:swap;src:url(/play/fonts/fredoka/fredoka-500.ttf) format("truetype")}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-display:swap;src:url(/play/fonts/fredoka/fredoka-600.ttf) format("truetype")}@font-face{font-family:Fredoka;font-style:normal;font-weight:700;font-display:swap;src:url(/play/fonts/fredoka/fredoka-700.ttf) format("truetype")}@font-face{font-family:Fredoka;font-style:normal;font-weight:800;font-display:swap;src:url(/play/fonts/fredoka/fredoka-700.ttf) format("truetype")}:root{--ink: #1a1f2b;--ink-rgb: 26, 31, 43;--bg: linear-gradient(150deg, #e9f3ff 0%, #d6e4ff 55%, #ffe5f2 100%);--surface: #ffffff;--surface-soft: rgba(255, 255, 255, .92);--surface-muted: rgba(255, 255, 255, .72);--border: rgba(var(--ink-rgb), .14);--border-strong: rgba(var(--ink-rgb), .9);--text: var(--ink);--muted: rgba(var(--ink-rgb), .68);--accent-primary: #7c5cff;--accent-primary-rgb: 124, 92, 255;--accent-secondary: #ff8fab;--accent-secondary-rgb: 255, 143, 171;--accent-tertiary: #54e1c1;--accent-tertiary-rgb: 84, 225, 193;--success: #27c58f;--success-rgb: 39, 197, 143;--fail: #ff5f79;--fail-rgb: 255, 95, 121;--hint: var(--accent-primary);--hint-rgb: 124, 92, 255;--radius-card: 20px;--radius-panel: 20px;--radius-pill: 999px;--radius-button: 18px;--shadow-card: none;--shadow-card-selected: none;--shadow-panel: none;--shadow-soft: none;--shadow-press: none;--btn-primary-bg: var(--accent-primary);--btn-primary-text: #ffffff;--btn-primary-border: var(--ink);--btn-secondary-bg: var(--accent-secondary);--btn-secondary-text: var(--ink);--btn-secondary-border: var(--ink);--btn-shadow: none;--seg-bg: #e0e8ff;--seg-border: var(--ink);--seg-text: rgba(var(--ink-rgb), .72);--seg-active-bg: var(--accent-tertiary);--seg-active-text: var(--ink);--seg-active-shadow: none;--card-bg: #ffffff;--card-border: var(--ink);--panel-bg: #ffffff;--panel-border: var(--ink);--screen-gutter-left: max(12px, env(safe-area-inset-left));--screen-gutter-right: max(12px, env(safe-area-inset-right));--screen-gutter-top: max(18px, calc(env(safe-area-inset-top) + 8px) );--screen-gutter-bottom: max(18px, calc(env(safe-area-inset-bottom) + 10px) );--playerAAccent: var(--accent-primary);--playerBAccent: var(--accent-secondary);--dur-fast: .12s;--dur: .18s;--dur-slow: .24s;--ease-out: cubic-bezier(.2, .9, .2, 1);--ease-soft-out: cubic-bezier(.22, 1, .36, 1);--ease-soft-in: cubic-bezier(.4, 0, .2, 1);--layout-shift-dur: .32s;--hint-prompt-anim: 1.5s;--hint-glow-anim: 2s;--board-gap: clamp(6px, 2.2vw, 10px);--font-body: "Fredoka", "Trebuchet MS", "Verdana", "Segoe UI", system-ui, sans-serif;--font-display: "Fredoka", "Trebuchet MS", "Verdana", "Segoe UI", system-ui, sans-serif;font-family:var(--font-body);color-scheme:light;color:var(--text);background:var(--bg);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-reduced-motion:reduce){:root{--dur-fast: 1ms;--dur: 1ms;--dur-slow: 1ms;--layout-shift-dur: 1ms;--hint-prompt-anim: 1ms;--hint-glow-anim: 1ms}}html,body{height:100%;overscroll-behavior:none}body{margin:0;overflow:hidden;touch-action:none;position:fixed;inset:0;width:100%}#root{width:100vw;height:100dvh;overflow:hidden}.screen{width:100%;height:100%;position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;align-items:stretch;background:radial-gradient(circle at 12% 12%,rgba(124,92,255,.26),transparent 44%),radial-gradient(circle at 88% 14%,rgba(255,143,171,.3),transparent 46%),radial-gradient(circle at 20% 88%,rgba(84,225,193,.3),transparent 44%),var(--bg)}.buildStamp{position:absolute;left:10px;bottom:10px;z-index:20;padding:4px 6px;border-radius:6px;border:1px solid rgba(var(--ink-rgb),.2);background:#ffffffb8;color:rgba(var(--ink-rgb),.7);font-size:9px;letter-spacing:.08em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;pointer-events:none}.cornerActions{position:absolute;top:var(--screen-gutter-top);left:var(--screen-gutter-left);z-index:22;display:flex;flex-direction:column;align-items:flex-start;gap:6px;pointer-events:auto}.cornerActions--right{left:auto;right:var(--screen-gutter-right);align-items:flex-end}.cornerActions__confirm{border:1px solid rgba(var(--ink-rgb),.2);background:#ffffffe0;color:rgba(var(--ink-rgb),.7);border-radius:999px;padding:4px 8px;font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}@media(prefers-reduced-motion:no-preference){.screen--tutorialStart .main,.screen--tutorialStart .playerPanel{animation:tutorialStartIn var(--tutorial-start-dur, 2s) var(--ease-out)}}@keyframes tutorialStartIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.main{--main-pad: clamp(2px, .8vh, 8px);--main-gap: clamp(6px, 2vw, 10px);box-sizing:border-box;width:100%;max-width:720px;margin:0 auto;grid-row:2;padding-top:calc(var(--main-pad) + var(--corner-offset, 0px));padding-bottom:clamp(2px,.8vh,8px);padding-left:var(--screen-gutter-left);padding-right:var(--screen-gutter-right);min-height:0;display:flex;flex-direction:column;gap:var(--main-gap);align-items:center;justify-content:center;position:relative}.mainBoardSlot{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--main-gap);flex:1 1 auto;min-height:0}.main--tutorialLocked{padding-top:var(--screen-gutter-top);padding-bottom:var(--screen-gutter-bottom);justify-content:flex-start;--shadow-card: none;--shadow-card-selected: none;--shadow-panel: none;overflow-y:auto;overscroll-behavior:contain}.main--tutorialLocked .mainBoardSlot{flex:0 0 auto;justify-content:flex-start}.main--tutorialLocked .board,.main--tutorialLocked .tutorialBelow{flex-shrink:0}.menu{width:100%;height:100%;grid-row:1 / -1;position:relative;display:flex;align-items:center;justify-content:center;padding:var(--screen-gutter-top) var(--screen-gutter-right) var(--screen-gutter-bottom) var(--screen-gutter-left);box-sizing:border-box}.menu__panel{width:min(560px,100%);background:linear-gradient(160deg,#fff,#f4f7ff);border:2px solid var(--panel-border);border-radius:var(--radius-panel);box-shadow:none;padding:clamp(18px,5vw,24px) clamp(18px,5vw,22px);display:flex;flex-direction:column;gap:16px}.menuSettings{position:absolute;top:calc(var(--screen-gutter-top) + 48px);right:var(--screen-gutter-right);z-index:21;width:min(260px,92vw);padding:12px;border-radius:16px;border:2px solid var(--panel-border);background:var(--surface);display:flex;flex-direction:column;gap:10px}.menuSettings__title{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:rgba(var(--ink-rgb),.7);font-weight:800}.menuSettings__action{width:100%}.menuSettings__note{font-size:12px;color:var(--muted);line-height:1.4}.menu__title{font-family:var(--font-display);font-size:clamp(28px,7.5vw,36px);font-weight:800;letter-spacing:.03em}.menu__subtitle{font-size:14px;color:var(--muted);font-weight:500}.menu__eyebrow{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(var(--ink-rgb),.55);font-weight:800}.menu__primary{display:grid;gap:10px}.menu__section{display:flex;flex-direction:column;gap:10px}.menu__sectionTitle{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(var(--ink-rgb),.6);font-weight:700}.menuToggle{position:relative;display:flex;align-items:center;padding:4px;background:var(--seg-bg);border:2px solid var(--seg-border);border-radius:999px;box-shadow:none}.menuToggle__indicator{position:absolute;top:4px;bottom:4px;left:4px;width:calc((100% - 8px) / 3);border-radius:999px;background:var(--seg-active-bg);box-shadow:none;transform:translate(calc(var(--toggle-index) * 100%));transition:transform var(--dur) var(--ease-out)}.menuToggle__option{flex:1;appearance:none;border:none;background:transparent;color:var(--seg-text);border-radius:999px;padding:8px 0;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),color var(--dur) var(--ease-out);position:relative;z-index:1;display:flex;align-items:center;justify-content:center;text-align:center}.menuToggle__option:active{transform:translateY(1px)}.menuToggle__option--active{color:var(--seg-active-text)}.menu__hint{font-size:12px;color:var(--muted)}.menu__actions{display:grid;gap:10px}.menu__actions--solo{gap:12px}.menuModeButton{appearance:none;border:1px solid rgba(var(--ink-rgb),.16);background:var(--surface-soft);border-radius:16px;padding:12px 14px;display:grid;gap:4px;text-align:left;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.menuModeButton--static{cursor:default}.menuModeButton:active{transform:translateY(1px)}.menuModeButton:disabled{cursor:not-allowed;opacity:.55}.menuModeButton__title{font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--text)}.menuModeButton__actionRow{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.menuModeButton__chip{appearance:none;border:1px solid rgba(var(--ink-rgb),.2);background:#fffc;color:var(--text);border-radius:999px;padding:4px 10px;display:inline-flex;align-items:center;gap:6px;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.menuModeButton__chip--accent{border-color:rgba(var(--accent-primary-rgb),.5);background:rgba(var(--accent-primary-rgb),.18);color:var(--accent-primary)}.menuModeButton__chip--button{cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}.menuModeButton__chip--button:active:not(:disabled){transform:translateY(1px)}.menuModeButton__chip--button:disabled{opacity:.55;cursor:not-allowed}.menuModeButton__icon{width:16px;height:16px;color:var(--accent-primary);display:inline-flex;align-items:center;justify-content:center}.menuModeButton__icon svg{width:100%;height:100%}.menuModeButton--share{border-color:rgba(var(--accent-primary-rgb),.45);background:rgba(var(--accent-primary-rgb),.08)}.menuModeButton__desc{font-size:11px;color:var(--muted);line-height:1.4}.menuButton{appearance:none;border:2px solid var(--btn-secondary-border);background:var(--btn-secondary-bg);color:var(--btn-secondary-text);border-radius:var(--radius-button);height:clamp(44px,7vh,52px);font-size:clamp(13px,3.2vw,15px);font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out);box-shadow:none}.menuButton--withIcon{display:inline-flex;align-items:center;justify-content:center;gap:8px}.menuButton__icon{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center}.menuButton__icon svg{width:100%;height:100%}.menuButton:active{transform:translateY(2px)}.menuButton--primary{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-border);box-shadow:none}.menuButton--compact{border-radius:999px;height:clamp(32px,6vh,38px);font-size:clamp(10px,2.6vw,12px);letter-spacing:.12em;padding:0 14px;white-space:nowrap}.menuButton--lockedMode{display:inline-flex;align-items:center;justify-content:center;gap:8px;opacity:.6}.menuButton__lock,.menuModeButton__lock,.menuToggle__lock{display:inline-flex;width:14px;height:14px}.menuButton__lock svg,.menuModeButton__lock svg,.menuToggle__lock svg{width:100%;height:100%}.menuModeButton--locked{opacity:.6}.menuModeButton__lockRow{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin-top:4px;font-size:clamp(10px,2.6vw,12px);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(var(--ink-rgb),.6)}.menuToggle__option--locked{display:inline-flex;align-items:center;justify-content:center;gap:5px;opacity:.55}.comingSoon{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:24px;background:rgba(var(--ink-rgb),.35)}.comingSoon__card{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:320px;padding:24px 22px;background:#fff;border:2px solid var(--border-strong);border-radius:20px;text-align:center}.comingSoon__lock{display:inline-flex;width:34px;height:34px;color:var(--ink);opacity:.8}.comingSoon__lock svg{width:100%;height:100%}.comingSoon__title{font-size:clamp(16px,4vw,18px);font-weight:800}.comingSoon__body{font-size:clamp(12px,3.2vw,14px);font-weight:600;color:rgba(var(--ink-rgb),.7);line-height:1.45}.installPrompt{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:14px}.menuButton--install{border-style:dashed;background:transparent;border-radius:999px;height:clamp(38px,6vh,44px);padding:0 18px;opacity:.92}.menuButton--install .menuButton__icon{display:inline-flex;width:18px;height:18px}.menuButton--install .menuButton__icon svg{width:100%;height:100%}.installPrompt__hint{margin:0;max-width:280px;text-align:center;font-size:clamp(11px,2.8vw,13px);font-weight:600;line-height:1.4;color:rgba(var(--ink-rgb),.72)}.installPrompt__hint strong{color:var(--ink);font-weight:800}.tutorialBanner{width:100%;max-width:560px;box-sizing:border-box;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;padding:8px 12px;background:var(--surface-soft);border:2px solid var(--panel-border);border-radius:16px;box-shadow:none;transition:max-width var(--layout-shift-dur) var(--ease-soft-out)}.tutorialPickLayout{width:100%;display:flex;flex-direction:column;gap:clamp(10px,2.6vw,14px);align-items:center}.tutorialPickGroup{width:min(100%,var(--board-width, 560px));border:2px solid var(--panel-border);border-radius:var(--radius-panel);background:var(--surface-soft);padding:clamp(10px,2.6vw,14px);display:flex;flex-direction:column;gap:8px;box-sizing:border-box}.tutorialPickGroup--choices{border-color:rgba(var(--accent-primary-rgb),.55);background:rgba(var(--accent-primary-rgb),.08)}.tutorialPickGroup__label{font-size:10px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:rgba(var(--ink-rgb),.6)}.tutorialPickGroup__board{width:100%;display:flex;justify-content:center}.hintPromptWrap{width:100%;max-width:560px;height:var(--hint-offset, 0px);overflow:hidden;box-sizing:border-box;display:flex;align-items:flex-start;justify-content:center;position:relative;z-index:0;margin-bottom:0;pointer-events:none;transition:height var(--hint-prompt-anim) var(--ease-soft-out),width var(--layout-shift-dur) var(--ease-soft-out),margin-bottom var(--hint-prompt-anim) var(--ease-soft-out);will-change:height}.hintPromptWrap--open{pointer-events:auto}.hintPromptWrap--exit{margin-bottom:calc(-1 * var(--main-gap));transition-timing-function:var(--ease-soft-in),var(--ease-soft-out),var(--ease-soft-in)}.hintPrompt{padding:clamp(8px,2vw,10px) clamp(10px,2.6vw,12px);border-radius:var(--radius-panel);border:2px solid rgba(var(--hint-rgb),.42);background:var(--surface-soft);color:rgba(var(--ink-rgb),.75);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;box-shadow:none;display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;box-sizing:border-box;transform:translateY(-12px);will-change:transform;animation:hintPromptEnter var(--hint-prompt-anim) var(--ease-soft-out);animation-fill-mode:both}.hintPromptWrap--open .hintPrompt{transform:translateY(0);pointer-events:auto}.hintPromptWrap--exit .hintPrompt{animation:hintPromptExit var(--hint-prompt-anim) var(--ease-soft-in) forwards;pointer-events:none}.hintPrompt__text{font-size:11px;letter-spacing:.12em}.hintPrompt__actions{display:flex;align-items:center;gap:6px}.hintPrompt__button{appearance:none;border:2px solid var(--btn-secondary-border);background:var(--surface);color:rgba(var(--ink-rgb),.85);border-radius:999px;padding:4px 10px;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out);box-shadow:none}.hintPrompt__button:active{transform:translateY(1px)}.hintPrompt__button--primary{border-color:var(--btn-primary-border);background:var(--btn-primary-bg);color:var(--btn-primary-text);box-shadow:none}@keyframes hintPromptEnter{0%{transform:translateY(-12px)}to{transform:translateY(0)}}@keyframes hintPromptExit{0%{transform:translateY(0)}to{transform:translateY(-120%)}}.tutorialBanner__text{display:flex;flex-direction:column;gap:4px;flex:1 1 220px;min-width:0}.tutorialBanner__eyebrow{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:700}.tutorialBanner__title{font-size:14px;font-weight:800;color:var(--text)}.tutorialBanner__body{font-size:12px;color:var(--muted)}.tutorialBanner__details{display:flex;flex-direction:column;gap:2px;margin-top:6px;font-size:11px;color:rgba(var(--ink-rgb),.68)}.tutorialBanner__progress{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;padding:6px 10px;border-radius:12px;border:1px solid rgba(var(--ink-rgb),.18);background:rgba(var(--ink-rgb),.06);font-size:11px;color:rgba(var(--ink-rgb),.68)}.tutorialBanner__progressMeta{display:flex;flex-direction:column;gap:2px}.tutorialBanner__progressTag{font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(var(--ink-rgb),.55)}.tutorialBanner__progressValue{font-weight:700;letter-spacing:.02em;color:var(--text)}.tutorialBanner__progressDots{display:inline-flex;align-items:center;gap:6px}.tutorialBanner__progressDot{width:8px;height:8px;border-radius:999px;border:1px solid rgba(var(--ink-rgb),.35);background:transparent}.tutorialBanner__progressDot--active{border-color:rgba(var(--accent-primary-rgb),.7);background:rgba(var(--accent-primary-rgb),.7)}.tutorialBanner__details>div{display:flex;align-items:center;gap:6px;padding:3px 8px;border-radius:10px;background:rgba(var(--ink-rgb),.06);border:1px solid rgba(var(--ink-rgb),.18)}.tutorialBanner__details--grid2{display:grid;grid-template-columns:1fr 1fr;gap:6px}.tutorialBanner__details--warning>div{background:rgba(var(--fail-rgb),.12);border-color:rgba(var(--fail-rgb),.4);color:var(--fail)}.tutorialBanner__details--success>div{background:rgba(var(--success-rgb),.12);border-color:rgba(var(--success-rgb),.4);color:var(--success)}.detailLabel{font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:rgba(var(--ink-rgb),.7);display:inline-flex;align-items:center;gap:6px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detailRowIcon{width:16px;height:16px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;border:1px solid currentColor;flex:0 0 auto}.detailRowIcon--good{color:var(--success);background:rgba(var(--success-rgb),.18)}.detailRowIcon--bad{color:var(--fail);background:rgba(var(--fail-rgb),.18)}.detailRowIcon__glyph{width:10px;height:10px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.detailTag{border:1px solid rgba(var(--ink-rgb),.12);background:rgba(var(--ink-rgb),.04);color:rgba(var(--ink-rgb),.72);border-radius:999px;padding:2px 6px;font-size:8.5px;font-weight:900;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}.detailTag--same{background:rgba(var(--success-rgb),.12);border-color:rgba(var(--success-rgb),.4);color:var(--success)}.detailTag--diff{background:rgba(var(--accent-primary-rgb),.12);border-color:rgba(var(--accent-primary-rgb),.4);color:var(--accent-primary)}.detailTag--bad{background:rgba(var(--fail-rgb),.12);border-color:rgba(var(--fail-rgb),.4);color:var(--fail)}.tutorialBanner__actions{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px;padding:0 4px;width:min(100%,320px);margin:0 auto}.tutorialBanner__actions .tutorialButton{width:100%;padding:6px 8px;font-size:clamp(10px,2.6vw,11px);letter-spacing:.12em;white-space:nowrap}.tutorialButton{border:2px solid var(--btn-secondary-border);background:var(--surface);color:var(--text);border-radius:999px;padding:6px 12px;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out);box-shadow:none}.tutorialButton:active{transform:translateY(1px)}.tutorialButton--primary{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-border);box-shadow:none}.tutorialButton--disabled,.tutorialButton:disabled{opacity:.5;cursor:not-allowed;transform:none}.tutorialBelow{width:min(100%,560px);max-width:560px;box-sizing:border-box}.soloSummary{width:min(100%,560px);max-width:560px;box-sizing:border-box;border:2px solid var(--panel-border);background:var(--surface-soft);border-radius:18px;padding:12px 14px;display:grid;gap:10px}.soloSummary__title{font-size:13px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--text)}.soloSummary__rows{display:grid;gap:6px}.soloSummary__row{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted);border-bottom:1px dashed rgba(var(--ink-rgb),.12);padding-bottom:4px}.soloSummary__row span:last-child{color:var(--text);font-weight:800}.soloSummary__actions{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.tutorialBelow--stack{display:flex;justify-content:center}.tutorialBelow--reveal{animation:tutorialBelowReveal .72s var(--ease-out)}@media(prefers-reduced-motion:reduce){.tutorialBelow--reveal{animation:none}}@keyframes tutorialBelowReveal{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.tutorialBelow--difficultyWalkthrough{display:flex;justify-content:center}.tutorialDifficultyWalkthrough{width:100%;display:flex;flex-direction:column;gap:10px}.tutorialDifficultyWalkthrough__toggle{width:100%}.tutorialDifficultyWalkthrough__actions{display:flex;justify-content:center}.tutorialDifficultyWalkthrough__start{min-width:160px}.difficultyFocus{border:1px solid rgba(var(--ink-rgb),.12);background:#ffffffeb;border-radius:16px;padding:10px 12px;box-shadow:none;display:flex;flex-direction:column;gap:6px}.difficultyFocus__titleRow{display:flex;align-items:baseline;justify-content:flex-start;gap:8px}.difficultyFocus__title{font-size:11px;font-weight:900;letter-spacing:.2em;text-transform:uppercase;color:rgba(var(--ink-rgb),.92)}.difficultyFocus__badge{font-size:8.5px;font-weight:900;letter-spacing:.2em;text-transform:uppercase;padding:2px 6px;border-radius:999px;border:1px solid rgba(var(--ink-rgb),.14);background:rgba(var(--ink-rgb),.04);color:rgba(var(--ink-rgb),.68);white-space:nowrap}.difficultyFocus__body{font-size:11px;color:rgba(var(--ink-rgb),.72);line-height:1.35}.tutorialModePicker{border:1px solid rgba(var(--ink-rgb),.12);background:#ffffffeb;border-radius:16px;padding:10px 12px;box-shadow:none;display:flex;flex-direction:column;gap:8px}.tutorialModePicker__title{font-size:11px;font-weight:900;letter-spacing:.2em;text-transform:uppercase;color:rgba(var(--ink-rgb),.92)}.tutorialModePicker__list{display:flex;flex-direction:column;gap:8px}.tutorialModeOption{border:1px solid rgba(var(--ink-rgb),.12);background:#ffffffdb;border-radius:12px;padding:8px 10px;text-align:left;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.tutorialModeOption:active{transform:translateY(1px)}.tutorialModeOption--active{border-color:rgba(var(--accent-primary-rgb),.5);box-shadow:0 0 0 2px rgba(var(--accent-primary-rgb),.2)}.tutorialModeOption__title{font-size:11px;font-weight:700;color:rgba(var(--ink-rgb),.92)}.tutorialModeOption__body{font-size:11px;color:rgba(var(--ink-rgb),.72);line-height:1.35;margin-top:2px}.detailBreakdown{--detail-pad-x: 24px;width:100%;box-sizing:border-box;border:1px solid rgba(var(--ink-rgb),.1);border-radius:16px;overflow:hidden;background:#ffffffeb;box-shadow:none;padding:8px var(--detail-pad-x) 10px;display:flex;flex-direction:column;gap:8px}.detailBreakdown--rowReveal .detailBreakdown__row{opacity:0;transform:translateY(8px);animation:detailRowReveal var(--detail-row-duration, .36s) var(--ease-out) forwards;animation-delay:var(--detail-row-delay, 0ms)}@media(prefers-reduced-motion:reduce){.detailBreakdown--rowReveal .detailBreakdown__row{opacity:1;transform:none;animation:none}}.detailBreakdown__row{--row-border: rgba(var(--ink-rgb), .12);--row-bg: rgba(var(--ink-rgb), .02);--row-text: rgba(var(--ink-rgb), .7);display:flex;flex-direction:column;gap:5px;padding:0}.detailBreakdown__rowButton{border:0;background:none;padding:0;text-align:left;width:100%;display:flex;flex-direction:column;gap:5px;color:inherit;font:inherit;cursor:pointer}.detailBreakdown__rowButton:disabled{cursor:default}.detailBreakdown__rowButton:focus-visible{outline:2px solid rgba(var(--accent-primary-rgb),.35);outline-offset:4px;border-radius:12px}.detailBreakdown__note{font-size:10px;line-height:1.4;color:rgba(var(--ink-rgb),.7);padding:0 2px 4px}.detailBreakdown__row--same{--row-border: rgba(var(--success-rgb), .4);--row-bg: rgba(var(--success-rgb), .08);--row-text: var(--success)}@keyframes detailRowReveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.detailBreakdown__row--diff{--row-border: rgba(var(--accent-primary-rgb), .4);--row-bg: rgba(var(--accent-primary-rgb), .08);--row-text: var(--accent-primary)}.detailBreakdown__row--bad{--row-border: rgba(var(--fail-rgb), .4);--row-bg: rgba(var(--fail-rgb), .08);--row-text: var(--fail)}@media(prefers-reduced-motion:no-preference){.detailBreakdown--rowShake .detailBreakdown__row--shake{animation:cardShake .56s var(--ease-out)}}.detailBreakdown__rowMeta{display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:0 0 3px}.detailBreakdown__rowTag{font-size:8.5px;font-weight:900;letter-spacing:.2em;text-transform:uppercase;color:var(--row-text)}.detailBreakdown__chipBox{--detail-col: calc((100% - (2 * var(--board-gap)) - (2 * var(--detail-pad-x))) / 3);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--board-gap);border:1px solid var(--row-border);background:var(--row-bg);border-radius:12px;box-sizing:border-box;padding:8px var(--detail-pad-x) 10px;margin:0;position:relative}.detailBreakdown__cell{min-height:32px;display:flex;align-items:center;justify-content:center;position:relative;z-index:2}.detailBreakdown__chipBox:after{content:"";position:absolute;inset:-6px;border-radius:16px;pointer-events:none;opacity:0;z-index:0}@media(prefers-reduced-motion:no-preference){.detailBreakdown--rowReveal .detailBreakdown__row--same .detailBreakdown__chipBox:after,.detailBreakdown--rowReveal .detailBreakdown__row--diff .detailBreakdown__chipBox:after{animation:glowSuccess .52s var(--ease-out) var(--detail-row-halo-delay, 0ms);box-shadow:0 0 0 4px rgba(var(--success-rgb),.6),0 0 16px rgba(var(--success-rgb),.6)}.detailBreakdown--rowReveal .detailBreakdown__row--bad .detailBreakdown__chipBox:after{animation:glowFail .52s var(--ease-out) var(--detail-row-halo-delay, 0ms);box-shadow:0 0 0 4px rgba(var(--fail-rgb),.6),0 0 16px rgba(var(--fail-rgb),.6)}.detailBreakdown--rowShake .detailBreakdown__row--bad .detailBreakdown__chipBox:after,.detailBreakdown--rowFlashFail .detailBreakdown__row--bad .detailBreakdown__chipBox:after{animation:glowFail .52s var(--ease-out);box-shadow:0 0 0 4px rgba(var(--fail-rgb),.6),0 0 16px rgba(var(--fail-rgb),.6)}}.detailBreakdown__connector{position:absolute;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:2px;padding:1px 5px;border-radius:999px;border:1px solid var(--row-border);background:#ffffffd6;color:var(--row-text);font-size:6.5px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;pointer-events:none;min-width:52px;z-index:1}.detailBreakdown__connector--left{left:calc(var(--detail-pad-x) + var(--detail-col) + (var(--board-gap) / 2))}.detailBreakdown__connector--right{left:calc(var(--detail-pad-x) + (2 * var(--detail-col)) + (3 * var(--board-gap) / 2))}.detailBreakdown__connectorLine{flex:1;height:1px;background:currentColor;opacity:.7;position:relative;min-width:10px}.detailBreakdown__connectorLine:after{content:"";position:absolute;top:50%;width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-50%) rotate(-45deg);right:-2px}.detailBreakdown__connectorLine--left:after{left:-2px;right:auto;transform:translateY(-50%) rotate(135deg)}.detailBreakdown__connectorLabel{line-height:1}.detailStack{width:100%;box-sizing:border-box;border:1px solid rgba(var(--ink-rgb),.1);border-radius:16px;background:#ffffffeb;box-shadow:none;padding:8px 8px 10px;display:flex;flex-direction:column;gap:10px;margin:0}.detailStackFrame{width:100%;display:grid;gap:var(--board-gap)}.detailStackFrame--legend{width:min(100%,280px);margin:0 auto;grid-template-columns:minmax(0,1fr)}.detailStackFrame--legend .detailStack{grid-column:1;width:100%}.detailStack--legend{--legend-label-width: 76px;padding:6px 6px 8px;gap:8px}.detailStack__row{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;column-gap:calc(var(--board-gap) * .4);width:100%;min-height:34px;padding:0 6px}.detailStack--legend .detailStack__row{min-height:30px;padding:0 4px;column-gap:6px;grid-template-columns:var(--legend-label-width) minmax(0,1fr)}.detailStack__label{font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:rgba(var(--ink-rgb),.7);text-align:left;grid-column:1;justify-self:start;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-height:32px;display:flex;align-items:center}.detailStack--legend .detailStack__label{font-size:11px;letter-spacing:.12em;max-width:var(--legend-label-width)}.detailStack__value{display:flex;align-items:center;justify-content:center;grid-column:2;justify-self:center;min-height:32px}.detailStack--legend .tutorialPill--visual{min-width:42px;min-height:24px;padding:4px 6px}.scoringDemo{width:min(100%,360px);margin:0 auto;position:relative;display:flex;align-items:stretch;--score-claim-duration: 1.2s}.scoringDemo__device{position:absolute;inset:-4px;border-radius:30px;background:linear-gradient(180deg,#ffffff59,#ffffff14);border:2px solid rgba(var(--ink-rgb),.5);box-shadow:0 10px 26px #1c20302e,inset 0 0 0 2px #ffffffbf;pointer-events:none}.scoringDemo__deviceInner{position:relative;padding:14px;border-radius:26px;background:#ffffffe0;display:flex;flex-direction:column;gap:12px;width:100%;box-sizing:border-box;z-index:1}.scoringDemo__board{width:100%}.scoringDemo__board .board{width:100%;margin:0 auto}.scoringDemo__panel{pointer-events:none}.scoringDemo__panel .playerPanel__content{max-width:100%}@media(prefers-reduced-motion:no-preference){.scoringDemo--claim .callButton__fill{animation:scoringClaimDrain var(--score-claim-duration) linear forwards}}@keyframes scoringClaimDrain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.tutorialPill{border:1px solid rgba(var(--ink-rgb),.18);background:#ffffffb3;color:rgba(var(--ink-rgb),.82);border-radius:999px;padding:5px 12px;font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;-webkit-user-select:none;user-select:none;white-space:nowrap}.tutorialPill--visual{padding:6px 10px;min-width:48px;min-height:26px;font-size:0;letter-spacing:0;text-transform:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}.tutorialPill--shape,.tutorialPill--fill,.tutorialPill--count{color:rgba(var(--ink-rgb),.92)}.tutorialPill--color{color:var(--pill-color, rgba(var(--ink-rgb), .78))}.tutorialPill--pink{border-color:rgba(var(--accent-secondary-rgb),.5);color:var(--accent-secondary);--pill-color: rgba(var(--accent-secondary-rgb), .95)}.tutorialPill--purple{border-color:rgba(var(--accent-primary-rgb),.5);color:var(--accent-primary);--pill-color: rgba(var(--accent-primary-rgb), .95)}.tutorialPill--green{border-color:rgba(var(--accent-tertiary-rgb),.5);color:var(--accent-tertiary);--pill-color: rgba(var(--accent-tertiary-rgb), .95)}.tutorialPill--fillSolid{background:rgba(var(--ink-rgb),.92);color:#fff;border-color:transparent;letter-spacing:.12em}.tutorialPill--fillOpen{background:transparent}.tutorialPill--fillStriped{background:repeating-linear-gradient(45deg,rgba(var(--ink-rgb),.1),rgba(var(--ink-rgb),.1) 4px,#ffffffb3 4px 8px)}.tutorialPill--spotlight{outline:1px solid currentColor;outline-offset:1px;background:#ffffffeb;box-shadow:none}.tutorialPill__shape{width:30px;height:20px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-dasharray:6 3;stroke-linecap:round;stroke-linejoin:round}.tutorialPill__dot{width:10px;height:10px;border-radius:999px;background:currentColor;box-shadow:none}.tutorialPill__square{width:16px;height:16px;border-radius:4px;border:2px solid currentColor;background:transparent;box-sizing:border-box}.tutorialPill__square--solid{background:currentColor}.tutorialPill__square--striped{background:repeating-linear-gradient(135deg,currentColor,currentColor 3px,transparent 3px,transparent 6px)}.tutorialPill__dots{display:inline-flex;align-items:center;gap:4px}.tutorialPill__dots span{width:5px;height:5px;border-radius:999px;background:currentColor}.difficultyGrid{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px}.difficultyCard{border:1px solid var(--border);background:#ffffffeb;border-radius:18px;padding:10px 10px 9px;box-shadow:none;display:flex;flex-direction:column;gap:5px;min-height:84px;text-align:left}.difficultyCard--selected{border-color:rgba(var(--ink-rgb),.9);box-shadow:none}.difficultyCard--span2{grid-column:1 / -1}.difficultyCard__titleRow{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.difficultyCard__title{font-size:11px;font-weight:900;letter-spacing:.2em;text-transform:uppercase;color:rgba(var(--ink-rgb),.92)}.difficultyCard__badge{font-size:8.5px;font-weight:900;letter-spacing:.2em;text-transform:uppercase;padding:2px 6px;border-radius:999px;border:1px solid rgba(var(--ink-rgb),.14);background:rgba(var(--ink-rgb),.04);color:rgba(var(--ink-rgb),.68);white-space:nowrap}.difficultyCard__body{font-size:11px;color:rgba(var(--ink-rgb),.72);line-height:1.35}.hud{font-size:12px;font-weight:720;letter-spacing:.06em;color:var(--muted);text-transform:uppercase;-webkit-user-select:none;user-select:none}.hud--empty{display:none}.hud__text{display:inline-block;animation:hudEnter var(--dur) var(--ease-out)}.hud__content{display:inline-block;transform-origin:center}.hud__content--rotated{transform:rotate(180deg)}@keyframes hudEnter{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.board{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--board-gap);position:relative;z-index:1;transition:max-width var(--layout-shift-dur) var(--ease-soft-out),width var(--layout-shift-dur) var(--ease-soft-out)}.board__spacer{pointer-events:none}.card{appearance:none;border:1px solid transparent;background:transparent;border-radius:var(--radius-card);box-shadow:none;padding:0;aspect-ratio:4 / 3;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;touch-action:manipulation;position:relative;perspective:800px}.card--ghost{background:#ffffff73;border-color:rgba(var(--ink-rgb),.1);box-shadow:none}.main--tutorialLocked .card--ghost{background:#ffffff4d;border-color:rgba(var(--ink-rgb),.06)}.main--tutorialLocked .card--ghost.card--dim{opacity:.22}.card--dim{opacity:.35}.card__inner{width:100%;height:100%;position:relative;transform-style:preserve-3d}@media(prefers-reduced-motion:no-preference){.card{animation:cardFadeIn .25s var(--ease-out) var(--card-flip-delay, 0ms) both}.card__inner{animation:cardFlipIn .7s cubic-bezier(.4,0,.2,1) var(--card-flip-delay, 0ms) both}}@keyframes cardFadeIn{0%{opacity:0}to{opacity:1}}@keyframes cardFlipIn{0%{transform:rotateY(180deg)}to{transform:rotateY(0)}}.card__front{width:100%;height:100%;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-card);padding:clamp(6px,2.4vw,10px);box-sizing:border-box;backface-visibility:hidden;-webkit-backface-visibility:hidden}.card__back{position:absolute;inset:0;border-radius:var(--radius-card);background:linear-gradient(145deg,#7c5cff,#b07aee);box-shadow:inset 0 1px #ffffff2e;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:rotateY(180deg);display:flex;align-items:center;justify-content:center}.card__backLogo{width:38%;height:auto;opacity:.6;filter:drop-shadow(0 1px 3px rgba(0,0,0,.3))}.card--interactive{cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.card--interactive:active{transform:scale(.985);box-shadow:none}.card--selected{border-color:rgba(var(--ink-rgb),.9);box-shadow:none;outline:3px solid var(--ink);outline-offset:-3px;transform:translateY(-1px)}.card--flashSuccess{outline:4px solid rgba(var(--success-rgb),.6);outline-offset:2px}.card--flashFail{outline:4px solid rgba(var(--fail-rgb),.6);outline-offset:2px}.card--haloSuccess{outline:2px solid rgba(var(--success-rgb),.9);outline-offset:2px;box-shadow:0 0 0 2px rgba(var(--success-rgb),.4)}.card--haloFail{outline:2px solid rgba(var(--fail-rgb),.9);outline-offset:2px;box-shadow:0 0 0 2px rgba(var(--fail-rgb),.4)}.main--tutorialLocked .card--haloFail{pointer-events:none}.card--flashSuccess:after{box-shadow:0 0 0 4px rgba(var(--success-rgb),.6),0 0 16px rgba(var(--success-rgb),.6)}.card--flashFail:after{box-shadow:0 0 0 4px rgba(var(--fail-rgb),.6),0 0 16px rgba(var(--fail-rgb),.6)}.card--hint{outline:5px solid rgba(var(--hint-rgb),.85);outline-offset:2px}.main--tutorialLocked .card--selected:not(.card--flashSuccess):not(.card--flashFail):not(.card--haloSuccess):not(.card--haloFail){box-shadow:none;outline-width:2px;outline-offset:-2px}.card:after{content:"";position:absolute;inset:-10px;border-radius:calc(var(--radius-card) + 10px);pointer-events:none;opacity:0}@media(prefers-reduced-motion:no-preference){.card--flashSuccess:after{animation:glowSuccess .52s var(--ease-out);animation-delay:var(--flash-delay, 0ms)}.card--flashFail:after{animation:glowFail .52s var(--ease-out);animation-delay:var(--flash-delay, 0ms)}.card--hint:after{animation:glowHint var(--hint-glow-anim) ease-in-out}}@keyframes glowSuccess{0%{opacity:0;transform:scale(.94)}45%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.06)}}@keyframes glowFail{0%{opacity:0;transform:scale(.94)}45%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.06)}}@keyframes glowHint{0%{opacity:0;transform:scale(.96)}28%{opacity:.75;transform:scale(1)}65%{opacity:.45;transform:scale(1.02)}to{opacity:0;transform:scale(1.06)}}.card--collect{animation:cardCollect var(--card-collect-ms, 1.4s) var(--ease-out) forwards;z-index:2}.card--shift{animation:cardShift var(--shift-ms, .8s) var(--ease-out) var(--shift-delay, 0ms) both;z-index:1}.card--shake{animation:cardShake .56s var(--ease-out)}.main--tutorialLocked .card--shake{pointer-events:none}.card--complete{outline:4px solid rgba(var(--success-rgb),.6);outline-offset:2px;animation:cardCompleteExit var(--daily-complete-ms, 1.8s) var(--ease-out) forwards;animation-delay:var(--complete-delay, 0ms);z-index:3}.card--complete:after{opacity:1;box-shadow:0 0 0 4px rgba(var(--success-rgb),.5),0 0 18px rgba(var(--success-rgb),.65);animation:cardCompleteGlow var(--daily-complete-ms, 1.8s) var(--ease-out) both;animation-delay:var(--complete-delay, 0ms)}@keyframes cardCollect{0%{opacity:1;transform:translate(0) scale(1)}32%{opacity:1;transform:translate(var(--gather-x),var(--gather-y)) scale(.94)}42%{opacity:1;transform:translate(var(--gather-x),var(--gather-y)) scale(.94)}to{opacity:0;transform:translate(calc(var(--gather-x) + var(--fly-x)),calc(var(--gather-y) + var(--fly-y))) scale(.38)}}@keyframes cardShift{0%{transform:translate(var(--shift-x, 0px),var(--shift-y, 0px))}55%{transform:translateY(var(--shift-y, 0px))}to{transform:translate(0)}}@keyframes cardPushUp{0%{opacity:0;transform:translateY(var(--push-y, 120%))}60%{opacity:1}to{opacity:1;transform:translateY(0)}}@keyframes cardShake{0%{transform:translate(0)}10%{transform:translate(-5px)}20%{transform:translate(5px)}30%{transform:translate(-4px)}40%{transform:translate(4px)}50%{transform:translate(-3px)}60%{transform:translate(3px)}70%{transform:translate(-2px)}80%{transform:translate(2px)}90%{transform:translate(-1px)}to{transform:translate(0)}}@keyframes cardCompleteExit{0%{opacity:1;transform:translateY(0) scale(1)}28%{opacity:1;transform:translateY(-10px) scale(.985)}to{opacity:0;transform:translateY(-160%) scale(.92)}}@keyframes cardCompleteGlow{0%{opacity:0;transform:scale(.95)}25%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.08)}}.playerPanel{position:relative;width:100%;pointer-events:none;box-sizing:border-box}.playerPanel--A{--accent: var(--playerAAccent)}.playerPanel--B{--accent: var(--playerBAccent)}.playerPanel--top{grid-row:1;align-self:end;padding-top:var(--screen-gutter-top);padding-left:var(--screen-gutter-left);padding-right:var(--screen-gutter-right)}.playerPanel--bottom{grid-row:3;align-self:start;padding-bottom:var(--screen-gutter-bottom);padding-left:var(--screen-gutter-left);padding-right:var(--screen-gutter-right)}.soloMenuHold{grid-row:3;align-self:start;width:100%;display:flex;justify-content:center;padding-bottom:var(--screen-gutter-bottom);padding-left:var(--screen-gutter-left);padding-right:var(--screen-gutter-right);box-sizing:border-box}.playerPanel__content{pointer-events:auto;margin:0 auto;width:100%;max-width:min(560px,var(--board-width, 560px));box-sizing:border-box;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(6px,2vw,10px);padding:clamp(8px,2vw,10px) clamp(10px,2.6vw,12px);background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-panel);box-shadow:none;position:relative;overflow:hidden;transition:max-width var(--layout-shift-dur) var(--ease-soft-out)}.playerPanel__content--solo{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.playerPanel__content--solo .scoreCallout{left:auto;right:calc(100% + 8px)}.soloPanel__left{display:flex;flex-direction:column;gap:4px;min-width:0}.soloPanel__title{font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--text)}.soloPanel__subtitle{font-size:11px;color:var(--muted)}.soloPanel__right{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.soloPanel__right--time{min-width:120px}.soloPanel__stat{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.soloPanel__statLabel{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(var(--ink-rgb),.55);font-weight:800}.soloPanel__statValue{display:inline-flex;align-items:baseline;gap:6px;font-weight:800;color:var(--text)}.soloPanel__statNumber{font-size:clamp(18px,5vw,24px);letter-spacing:.04em}.soloPanel__delta{font-size:11px;font-weight:900;letter-spacing:.06em}.soloPanel__delta--positive{color:var(--success)}.soloPanel__delta--negative{color:var(--fail)}.playerPanel__content--success{border-color:rgba(var(--success-rgb),.45)}.playerPanel__content--fail,.playerPanel__content--timeout{border-color:rgba(var(--fail-rgb),.45)}.playerPanel__content--rotated{transform:rotate(180deg)}.playerPanel__meta{display:flex;align-items:baseline;gap:8px;font-weight:750}.playerPanel__center{display:flex;flex-direction:column;gap:6px}.menuHoldButton{appearance:none;border:1px solid rgba(var(--ink-rgb),.18);background:rgba(var(--ink-rgb),.08);color:rgba(var(--ink-rgb),.82);border-radius:999px;height:clamp(32px,6vh,38px);min-width:clamp(84px,22vw,98px);padding:0 14px;font-size:clamp(9px,2.6vw,11px);font-weight:800;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:4px;box-shadow:none;transition:transform var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}.menuHoldButton:active:not(:disabled){transform:scale(.98);box-shadow:none}.menuHoldButton:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.menuHoldButton__fill{position:absolute;inset:0;background:rgba(var(--ink-rgb),.18);transform-origin:left center;transform:scaleX(var(--hold-progress, 0));transition:transform 80ms linear}.menuHoldButton__text{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;line-height:1}.menuHoldButton__label{font-size:clamp(9px,2.6vw,11px)}.menuHoldButton__hint{font-size:clamp(8px,2.4vw,9px);letter-spacing:.12em;opacity:.7;margin-top:3px}.panelBackButton{appearance:none;border:1px solid rgba(var(--ink-rgb),.18);background:rgba(var(--ink-rgb),.08);color:rgba(var(--ink-rgb),.82);border-radius:999px;height:clamp(32px,6vh,38px);min-width:clamp(84px,20vw,96px);padding:0 12px;font-size:clamp(9px,2.6vw,11px);font-weight:800;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}.panelBackButton:active:not(:disabled){transform:scale(.98)}.panelBackButton:disabled{opacity:.45;cursor:not-allowed}.playerPanel__score{display:flex;flex-direction:column;align-items:flex-start;gap:4px;color:var(--accent);-webkit-user-select:none;user-select:none;position:relative;padding-right:0}.playerPanel__scoreLabel{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(var(--ink-rgb),.55)}.playerPanel__scoreRow{display:flex;align-items:center;gap:10px;position:relative;min-height:clamp(40px,7vh,48px)}.playerPanel__scoreValue{font-size:clamp(20px,5.5vw,26px);line-height:1;letter-spacing:.02em;display:inline-block;animation:scorePop var(--dur) var(--ease-out)}.scoreCallout{position:absolute;left:calc(100% + 8px);top:50%;font-size:clamp(18px,5vw,24px);font-weight:900;letter-spacing:.06em;color:#fff;line-height:1;opacity:1;pointer-events:none;padding:clamp(6px,1.6vw,8px) clamp(10px,3vw,14px);min-width:clamp(48px,12vw,56px);text-align:center;border-radius:999px;border:3px solid rgba(255,255,255,.92);z-index:1;box-shadow:none;text-shadow:none;transform:translateY(-50%)}.scoreCallout--positive{background:var(--accent)}.scoreCallout--negative{background:var(--fail);box-shadow:none}@media(min-height:760px)and (max-width:600px){.card{aspect-ratio:1 / 1}}@keyframes scorePop{0%{opacity:.55;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scoreCalloutFloat{0%{opacity:0;transform:translateY(calc(-50% + 14px)) scale(.76)}14%{opacity:1;transform:translateY(calc(-50% + 0px)) scale(1.25)}68%{opacity:1;transform:translateY(calc(-50% - 4px)) scale(1.12)}to{opacity:0;transform:translateY(calc(-50% - 18px)) scale(.94)}}@keyframes scoreCalloutSync{0%{opacity:1;transform:translateY(calc(-50% + 8px)) scale(1.08)}12%{opacity:1;transform:translateY(calc(-50% + 0px)) scale(1.25)}68%{opacity:1;transform:translateY(calc(-50% - 4px)) scale(1.12)}to{opacity:0;transform:translateY(calc(-50% - 18px)) scale(.94)}}@media(prefers-reduced-motion:no-preference){.scoreCallout--positive{animation:scoreCalloutSync 2s var(--ease-out) both}.scoreCallout--negative{animation:scoreCalloutFloat 2s var(--ease-out) both}}@keyframes statusEnter{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.callButton{appearance:none;border:1px solid rgba(var(--ink-rgb),.14);background:rgba(var(--ink-rgb),.92);color:#fff;border-radius:var(--radius-pill);height:clamp(46px,7vh,56px);width:clamp(140px,44vw,240px);padding:0 clamp(12px,3vw,18px);font-size:clamp(13px,3.8vw,16px);font-weight:850;letter-spacing:.12em;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;box-shadow:none;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:transform var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}.callButton:not(:disabled):active{transform:scale(.985);box-shadow:none}.callButton__fill{position:absolute;inset:0;background:var(--accent);transform-origin:left center;transition:transform 60ms linear;will-change:transform}.callButton__label{position:relative;z-index:1}.callButton__label--status{display:inline-block;animation:statusEnter var(--dur) var(--ease-out);text-shadow:none}.callButton__label--success{color:rgba(var(--success-rgb),.96);text-shadow:none}.callButton__label--fail,.callButton__label--timeout{color:rgba(var(--fail-rgb),.96);text-shadow:none}.callButton--locked{opacity:.42;background:rgba(var(--ink-rgb),.55);box-shadow:none;cursor:not-allowed}.callButton--settling{opacity:.65;box-shadow:none}.callButton:focus-visible{outline:3px solid rgba(var(--ink-rgb),.25);outline-offset:3px}.callButton--shake{animation:callShake .56s var(--ease-out)}@keyframes callShake{0%{transform:translate(0)}10%{transform:translate(-5px)}20%{transform:translate(5px)}30%{transform:translate(-4px)}40%{transform:translate(4px)}50%{transform:translate(-3px)}60%{transform:translate(3px)}70%{transform:translate(-2px)}80%{transform:translate(2px)}90%{transform:translate(-1px)}to{transform:translate(0)}}@media(prefers-reduced-motion:reduce){.hud__text,.hintPrompt,.playerPanel__scoreValue,.callButton__label--status,.scoreCallout,.scoreCallout--positive,.scoreCallout--negative,.card--collect,.card--shift,.card--push,.card--shake,.card--complete,.callButton--shake{animation:none}.card--complete:after{animation:none}.card--interactive,.card--collect,.card--shift,.card--push,.card--shake,.callButton,.callButton--shake,.callButton__fill,.menuButton,.menuModeButton,.menuToggle__indicator,.menuToggle__option,.menuHoldButton,.menuHoldButton__fill,.menuModeButton__chip--button,.panelBackButton{transition:none}}.dashboardScreen{grid-template-rows:1fr}.dashboardShell{grid-row:1 / -1;display:grid;grid-template-rows:auto minmax(0,1fr);gap:18px;padding:var(--screen-gutter-top) var(--screen-gutter-right) var(--screen-gutter-bottom) var(--screen-gutter-left);overflow:hidden}.dashboardHeader{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.dashboardTitleBlock{max-width:640px}.dashboardKicker{margin:0 0 8px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.dashboardTitle{margin:0;font-size:clamp(28px,4vw,40px);letter-spacing:-.01em}.dashboardSubtitle{margin:6px 0 0;color:var(--muted);max-width:520px;font-size:14px}.dashboardControls{display:grid;gap:10px;justify-items:end}.dashboardMeta{display:grid;gap:2px;text-align:right}.dashboardMetaLabel{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}.dashboardMetaValue{font-size:14px;font-weight:600}.dashboardButton{border:1px solid var(--border-strong);border-radius:14px;padding:8px 16px;font-family:var(--font-display);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:12px;color:var(--btn-primary-text);background:linear-gradient(135deg,#38d5ff,#7c5cff);cursor:pointer;transition:transform var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}.dashboardButton:disabled{opacity:.6;cursor:default;transform:none}.dashboardButton:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 10px 20px #1a1f2b29}.dashboardContent{overflow:auto;padding-right:4px;display:grid;gap:24px}.dashboardStatus{padding:12px 14px;border-radius:14px;border:1px solid var(--border);background:var(--surface);font-size:14px}.dashboardStatus--error{border-color:rgba(var(--fail-rgb),.6);background:rgba(var(--fail-rgb),.12)}.dashboardSummary{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.dashboardSummaryCard{padding:12px 14px;border-radius:16px;border:1px solid var(--border);background:#ffffffdb;text-align:center}.dashboardSummaryValue{font-size:22px;font-weight:700}.dashboardSummaryLabel{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.dashboardPanel{padding:16px;border-radius:18px;border:1px solid var(--border);background:#ffffffd1;box-shadow:0 20px 40px #1a1f2b14}.dashboardSectionHeader{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.dashboardSectionTitle{margin:0;font-size:18px}.dashboardSectionHint{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.dashboardGrid{margin-top:12px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.dashboardCard{padding:14px;border-radius:16px;border:1px solid rgba(var(--ink-rgb),.18);background:#ffffffeb;box-shadow:0 16px 30px #1a1f2b14;animation:dashboardRise .52s var(--ease-out) both}.dashboardCardHeader{display:flex;gap:6px;flex-wrap:wrap}.dashboardBadge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;border:1px solid rgba(var(--ink-rgb),.2);font-size:10px;letter-spacing:.14em;text-transform:uppercase;background:#ffffffb3}.dashboardBadge--muted{color:var(--muted)}.dashboardBadge--accent{border-color:rgba(var(--accent-tertiary-rgb),.6);background:rgba(var(--accent-tertiary-rgb),.2)}.dashboardCardTitle{margin:10px 0 8px;font-size:18px}.dashboardCardRow{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:6px}.dashboardCardLabel{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.dashboardCardValue{font-size:14px;font-weight:600}.dashboardCardDivider{height:1px;margin:12px 0;background:rgba(var(--ink-rgb),.12)}.dashboardList{margin:8px 0 0 18px;padding:0;display:grid;gap:6px;font-size:13px}.dashboardList--tight{margin-top:6px}.dashboardRingList{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}.dashboardRingPill{padding:6px 10px;border-radius:999px;border:1px solid rgba(var(--accent-primary-rgb),.45);background:rgba(var(--accent-primary-rgb),.18);font-size:12px;font-weight:600}.dashboardEmpty{margin:8px 0 0;color:var(--muted);font-size:13px}@keyframes dashboardRise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:720px){.dashboardHeader{flex-direction:column;align-items:flex-start}.dashboardControls{width:100%;grid-template-columns:1fr auto;align-items:center}.dashboardMeta{text-align:left}}
