.page.game-page{padding-top:18px;position:relative}.game-hero{text-align:center;max-width:760px;margin-top:18px}.game-hero h1{color:var(--on-surface);font-family:var(--heading-font);letter-spacing:0;text-wrap:balance;text-shadow:0 0 10px color-mix(in srgb, var(--primary) 12%, transparent);margin:0;font-size:clamp(2.55rem,5vw,3.35rem);font-weight:700;line-height:.96;position:relative}.game-hero h1:after{content:"";background:linear-gradient(90deg, transparent, var(--primary), transparent);width:110px;height:1px;margin:12px auto 0;display:block}.game-top-actions{z-index:2;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;width:100%;margin-bottom:24px;display:flex;position:static}.game-mode-links{display:contents}.game-action-button{border:1px solid color-mix(in srgb, var(--primary) 18%, transparent);border-radius:var(--radius-control);color:var(--on-surface);background:color-mix(in srgb, var(--surface-container-lowest) 92%, transparent)}.game-action-button:hover{border-color:color-mix(in srgb, var(--primary) 40%, transparent);background:color-mix(in srgb, var(--primary) 8%, transparent)}.history-button,.help-button{place-items:center;width:38px;height:38px;padding:0;display:inline-grid}.history-button img,.help-button img{width:22px;height:22px;display:block}.random-game-button,.current-game-button{align-items:center;gap:10px;min-width:154px;height:38px;padding:0 16px 0 10px;display:inline-flex;position:relative;overflow:visible}.random-game-button.is-locked{border-color:color-mix(in srgb, var(--primary) 26%, transparent);background:color-mix(in srgb, var(--surface-container-lowest) 92%, transparent);cursor:not-allowed}.random-game-button.is-locked:hover{border-color:color-mix(in srgb, var(--primary) 26%, transparent);background:color-mix(in srgb, var(--surface-container-lowest) 92%, transparent)}.random-game-icon-wrap{width:24px;height:24px;color:var(--primary);flex:none;place-items:center;display:inline-grid;position:relative}.current-game-icon-wrap{width:22px;height:22px;color:var(--primary);flex:none;place-items:center;display:inline-grid}.random-game-icon,.current-game-icon{width:22px;height:22px}.random-game-label,.current-game-label{color:var(--on-surface);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:.72rem;font-weight:800}.random-game-lock{z-index:2;background:var(--surface-container-lowest);width:22px;height:22px;box-shadow:0 0 0 2px color-mix(in srgb, var(--surface-container-lowest) 90%, transparent), 0 0 14px #ffd54a3d;pointer-events:none;border:1px solid #ffd54a;border-radius:999px;place-items:center;display:grid;position:absolute;top:-8px;right:-8px}.random-game-lock img{width:12px;height:12px;display:block}.random-game-premium-tooltip{z-index:4;border-radius:var(--radius-control);width:190px;color:var(--on-surface);background:color-mix(in srgb, var(--surface-container-lowest) 98%, transparent);box-shadow:0 12px 28px color-mix(in srgb, var(--black) 34%, transparent);opacity:0;pointer-events:none;letter-spacing:0;text-transform:none;text-align:left;border:1px solid #ffd54a6b;gap:3px;padding:7px 10px;font-size:.7rem;font-weight:800;line-height:1.2;transition:opacity .15s,transform .15s;display:grid;position:absolute;top:calc(100% + 9px);right:0;transform:translateY(4px)}.random-game-premium-tooltip strong{color:var(--primary)}.random-game-premium-tooltip span{color:var(--on-surface-variant);font-weight:600}.random-game-premium-tooltip:before{content:"";background:color-mix(in srgb, var(--surface-container-lowest) 98%, transparent);border-top:1px solid #ffd54a6b;border-left:1px solid #ffd54a6b;width:10px;height:10px;position:absolute;bottom:calc(100% - 1px);right:16px;transform:rotate(45deg)}.random-game-button.is-locked:hover .random-game-premium-tooltip,.random-game-button.is-locked:focus-visible .random-game-premium-tooltip{opacity:1;transform:translateY(0)}.game-mode-switch-button{border-color:var(--primary);width:144px;height:38px;color:var(--on-primary-button);background:var(--primary);flex-shrink:0;justify-content:center;align-items:center;padding:0 16px;font-size:.84rem;font-weight:800;display:inline-flex}.game-mode-switch-button:hover{border-color:var(--primary-soft);color:var(--on-primary-button);background:var(--primary-soft)}.debug-reset-button{letter-spacing:.14em;text-transform:uppercase;padding:8px 12px;font-size:.62rem;font-weight:800}.search-box{z-index:4;width:min(680px,100%);color:var(--outline);letter-spacing:.12em;text-transform:uppercase;gap:10px;margin:26px 0 22px;font-weight:700;display:grid;position:relative}.search-box>span{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.search-input-stack{position:relative}.search-input-row{grid-template-columns:minmax(0,1fr) 92px 92px;align-items:stretch;gap:10px;display:grid}.search-box input{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--primary) 24%, transparent);border-radius:var(--radius-control);width:100%;color:var(--on-surface);background:color-mix(in srgb, var(--surface-container-lowest) 88%, transparent);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--white) 2%, transparent);outline:none;padding:13px 16px;font-size:.86rem}.search-box input:focus{border-color:color-mix(in srgb, var(--primary) 54%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 8%, transparent), 0 0 18px color-mix(in srgb, var(--primary) 12%, transparent)}.search-submit,.hint-trigger-button{min-width:0;padding-inline:0}.hint-trigger-wrap{width:100%;display:inline-flex;position:relative}.hint-trigger-button{width:100%}.hint-trigger-tooltip{z-index:8;border:1px solid color-mix(in srgb, var(--primary) 24%, transparent);border-radius:var(--radius-control);width:min(260px,72vw);color:var(--on-surface);background:linear-gradient(180deg, color-mix(in srgb, var(--surface-panel-strong) 98%, transparent), color-mix(in srgb, var(--surface-elevated) 98%, transparent));box-shadow:0 16px 40px color-mix(in srgb, var(--black) 34%, transparent);opacity:0;pointer-events:none;letter-spacing:.02em;text-transform:none;padding:10px 12px;font-size:.74rem;font-weight:700;line-height:1.45;transition:opacity .14s,transform .14s;position:absolute;top:calc(100% + 12px);right:0;transform:translateY(6px)}.hint-trigger-tooltip:before{content:"";border-top:1px solid color-mix(in srgb, var(--primary) 24%, transparent);border-left:1px solid color-mix(in srgb, var(--primary) 24%, transparent);background:color-mix(in srgb, var(--surface-panel-strong) 98%, transparent);width:14px;height:14px;position:absolute;bottom:calc(100% - 1px);right:28px;transform:rotate(45deg)}.hint-trigger-wrap:hover .hint-trigger-tooltip,.hint-trigger-button:focus-visible+.hint-trigger-tooltip{opacity:1;transform:translateY(0)}.search-suggestions{z-index:6;border:1px solid color-mix(in srgb, var(--primary) 18%, transparent);border-radius:var(--radius-soft);background:color-mix(in srgb, var(--surface-container-lowest) 94%, transparent);max-height:320px;box-shadow:0 14px 30px color-mix(in srgb, var(--black) 30%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);gap:8px;padding:8px;display:grid;position:absolute;top:calc(100% + 10px);left:0;right:0;overflow-y:auto}.suggestion-row{border:1px solid color-mix(in srgb, var(--primary) 18%, transparent);border-radius:var(--radius-control);width:100%;color:var(--on-surface);background:color-mix(in srgb, var(--surface-container-highest) 72%, transparent);text-align:left;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:12px;padding:8px 12px;display:grid}.suggestion-row:hover{border-color:color-mix(in srgb, var(--primary) 48%, transparent);background:color-mix(in srgb, var(--primary) 9%, transparent)}.suggestion-copy{gap:3px;display:grid}.suggestion-copy strong{color:var(--on-surface);font-size:.98rem}.suggestion-copy small{color:var(--on-surface-variant);font-size:.78rem;font-weight:700}.search-feedback{color:color-mix(in srgb, var(--on-surface-variant) 84%, transparent);font-family:var(--heading-font);letter-spacing:normal;text-align:center;text-transform:none;margin:-2px 2px 0;font-size:.78rem;font-style:italic;font-weight:500}.game-board-shell{width:min(1080px,100%)}.quote-mode-layout{gap:10px;width:min(860px,100%);display:grid}.game-hero.is-quote{text-align:center;justify-self:center;width:min(760px,100%);max-width:760px}.quote-mode-layout .search-box{width:100%;margin:0}.quote-mode-layout .quote-prompt-card+.search-box{margin-top:20px}.quote-board-shell{width:100%;margin-top:2px}@media (width<=760px){.search-input-row{grid-template-columns:repeat(2,minmax(0,1fr))}.search-input-row input{grid-column:1/-1}.hint-trigger-wrap,.hint-trigger-button{width:100%}.hint-trigger-tooltip{width:min(260px,86vw);left:50%;right:auto;transform:translate(-50%,6px)}.hint-trigger-tooltip:before{left:50%;right:auto;transform:translate(-50%)rotate(45deg)}.hint-trigger-wrap:hover .hint-trigger-tooltip,.hint-trigger-button:focus-visible+.hint-trigger-tooltip{transform:translate(-50%)}}@media (width<=520px){.game-hero{margin-top:0}.search-box{margin:24px 0 22px}.search-box input{padding:13px 14px}.search-input-row{grid-template-columns:1fr}.search-input-row input{grid-column:auto}}@media (width<=640px){:is(html:has(.game-page),body:has(.game-page)){min-width:0}.page.game-page{padding-top:12px}.game-top-actions{gap:8px;justify-content:initial;grid-template-columns:44px 44px minmax(0,1fr);width:100%;margin:0 0 18px;display:grid;position:static}.history-button,.help-button{width:44px;height:44px}.history-button{grid-area:1/1}.help-button{grid-area:1/2}.game-mode-links{grid-area:2/1/auto/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.game-mode-switch-button{grid-area:auto;width:100%;min-width:0;height:44px;min-height:44px;padding-inline:6px}.game-mode-links>:only-child{grid-column:1/-1}.random-game-button,.current-game-button{grid-area:1/3;justify-content:center;width:100%;min-width:0;min-height:44px;padding-inline:12px}.debug-reset-button{grid-column:1/-1;min-height:44px;padding:10px 12px}.game-hero{width:100%;margin-top:0}.game-hero h1{font-size:clamp(2rem,11vw,2.65rem);line-height:1}.game-hero h1:after{width:82px;margin-top:10px}.search-box{gap:8px;width:100%;margin:20px 0 18px}.search-input-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.search-input-row input{grid-column:1/-1;min-height:52px;padding:14px 15px;font-size:1rem}.search-submit,.hint-trigger-button{min-height:48px;padding-inline:12px}.hint-trigger-tooltip{width:min(260px,100vw - 32px);left:auto;right:0;transform:translateY(6px)}.hint-trigger-tooltip:before{left:auto;right:28px;transform:rotate(45deg)}.hint-trigger-wrap:hover .hint-trigger-tooltip,.hint-trigger-button:focus-visible+.hint-trigger-tooltip{transform:translateY(0)}.search-suggestions{gap:6px;max-height:min(360px,48vh);padding:6px}.suggestion-row{grid-template-columns:48px minmax(0,1fr);gap:10px;min-height:72px;padding:7px 10px}.suggestion-copy strong{font-size:.94rem}.search-feedback{margin-top:2px;line-height:1.4}.quote-mode-layout .quote-prompt-card+.search-box{margin-top:16px}}.page.episode-ladder-page{--ladder-correct:#2f805c;--ladder-adjacent:#bb9036;--ladder-incorrect:#50524d;box-sizing:border-box;color:var(--on-surface);flex-direction:column;align-items:center;margin-inline:auto;padding-bottom:48px;display:flex}.ladder-next.is-ready{animation:2.8s ease-in-out infinite ladder-ready}@keyframes ladder-ready{50%{box-shadow:0 0 18px color-mix(in srgb, var(--primary) 32%, transparent);filter:brightness(1.06)}}.episode-ladder-page .ladder-hero{text-align:center;width:100%;max-width:900px;margin:12px auto 26px}.ladder-hero>p{margin:10px 0}.ladder-board{width:min(100%,900px);min-width:0}.ladder-points{border-bottom:1px solid color-mix(in srgb, var(--primary) 20%, transparent);flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin:0 0 12px;padding:0 2px 14px;display:flex}.ladder-points>div{align-items:baseline;gap:10px;display:flex}.ladder-points dt{color:var(--on-surface-variant);font-size:.8rem}.ladder-points dd{color:var(--primary);font-variant-numeric:tabular-nums;margin:0;font-size:1.1rem;font-weight:700}.ladder-points dd span{color:var(--on-surface-variant);font-size:.75rem;font-weight:400}.ladder-board-heading{color:var(--primary);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;gap:12px;padding:8px 2px;font-size:.8rem;display:flex}.ladder-events-wrap{margin:8px 0;position:relative}.ladder-events{gap:12px;margin:0;padding:0;list-style:none;display:grid}.ladder-event{touch-action:pan-y;background:linear-gradient(110deg, color-mix(in srgb, var(--primary) 9%, #1b1d1b), #1b1d1b);border:1px solid color-mix(in srgb, var(--primary) 26%, transparent);border-radius:var(--radius-control);align-items:center;gap:16px;min-width:0;min-height:94px;padding:16px 18px;transition:translate .28s ease-out,scale .28s ease-out,border-color .28s ease-out,box-shadow .28s ease-out;display:flex;position:relative;translate:0;scale:1;box-shadow:0 6px 16px #0002}.ladder-event[tabindex="0"]{cursor:grab}.ladder-event.is-dragging{z-index:10;cursor:grabbing;-webkit-user-select:none;user-select:none;border-color:var(--primary);transition:none;translate:0;scale:1;box-shadow:0 18px 40px #0008}.ladder-event.is-drop-target{border-color:var(--primary);outline:1px solid color-mix(in srgb, var(--primary) 65%, transparent);outline-offset:4px;box-shadow:0 8px 22px #0004, 0 0 12px color-mix(in srgb, var(--primary) 12%, transparent);scale:.985}.ladder-event:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.ladder-event.is-dragging:focus-visible{outline:none}.ladder-event.is-correct{border-color:var(--ladder-correct);background:linear-gradient(100deg,#244b37,#1b2820)}.ladder-event.is-adjacent{border-color:var(--ladder-adjacent);background:linear-gradient(100deg,#463b23,#26251e)}.ladder-event.is-incorrect{border-color:var(--ladder-incorrect);background:linear-gradient(100deg,#30312d,#222420)}.ladder-position{font:700 1.3rem var(--body-font);color:var(--primary);text-align:center;min-width:18px}.ladder-portrait{border-radius:6px;flex-shrink:0;width:52px;height:68px;overflow:hidden}.ladder-portrait .history-avatar{object-fit:cover;border-radius:inherit;width:100%;height:100%}.ladder-event-copy{overflow-wrap:anywhere;flex:1;min-width:0}.ladder-event-copy p{margin:0;font-size:1rem;line-height:1.5}.ladder-feedback{color:#d4d5c8;margin-top:4px;font-size:.75rem;line-height:1.5;display:block}.ladder-lock svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.ladder-grip{width:44px;height:44px;color:var(--primary);touch-action:none;cursor:grab;flex-shrink:0;place-items:center;display:grid}.ladder-grip svg{stroke:currentColor;stroke-width:4px;stroke-linecap:round;width:24px;height:28px}.ladder-lock{text-align:center;color:#a7d9b4;flex-shrink:0;width:44px}.ladder-board .ladder-submit{width:min(100%,380px);min-height:50px;margin:20px auto;display:flex}.ladder-legend{flex-wrap:wrap;justify-content:center;gap:10px 18px;font-size:.8rem;display:flex}.ladder-legend span{align-items:center;gap:6px;display:inline-flex}.ladder-legend i{border-radius:3px;width:12px;height:12px}.ladder-legend .is-correct,.ladder-attempt .is-correct{background:var(--ladder-correct)}.ladder-legend .is-adjacent,.ladder-attempt .is-adjacent{background:var(--ladder-adjacent)}.ladder-attempt .is-incorrect{background:var(--ladder-incorrect)}.ladder-help-dialog{width:min(620px,100% - 32px);max-height:85dvh;color:var(--on-surface);margin:auto;padding:28px;line-height:1.65;overflow-y:auto}.ladder-help-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000a}.ladder-help-dialog>button{float:right}.ladder-help-dialog h2{font-family:var(--heading-font)}.ladder-help-dialog li{margin:12px 0}.ladder-attempts{justify-content:center;gap:8px;margin:24px 0;display:grid}.ladder-attempt{align-items:center;gap:6px;display:flex}.ladder-attempt>span{width:22px;color:var(--primary);font-size:.8rem}.ladder-attempt i{border-radius:4px;width:26px;height:26px}.ladder-completion-actions{flex-wrap:wrap;justify-content:center;gap:12px;width:min(100%,900px);margin-bottom:24px;scroll-margin-block:24px;display:flex}.ladder-completion-actions>button{width:min(100%,380px);min-height:50px}.ladder-message{text-align:center;padding:24px}.ladder-announcement{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.ladder-events.is-revealing .ladder-event{animation:.85s ease-in-out both ladder-reveal}@keyframes ladder-reveal{0%{filter:brightness(.8);transform:scale(.985)}45%{filter:brightness(1.14);transform:scale(1.012)}to{filter:brightness();transform:scale(1)}}.ladder-difficulties{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:26px;display:flex}.ladder-level{--level:#15d774;min-height:46px;font:700 1rem var(--body-font);color:var(--level);background:color-mix(in srgb, var(--level) 10%, var(--surface-container-lowest));cursor:pointer;border:1px solid #0000;border-radius:999px;padding:12px 24px}.ladder-level.level-2{--level:#edc528}.ladder-level.level-3{--level:#fb852e}.ladder-level.level-4{--level:#f45359}.ladder-level.level-5{--level:#b064e5}.ladder-level:hover:not(:disabled){border-color:var(--level)}.ladder-level.is-selected{background:var(--level);color:#111b15;box-shadow:0 0 22px color-mix(in srgb, var(--level) 18%, transparent)}.ladder-level.is-complete{color:#aaa99f;box-shadow:none;background:#343733}.ladder-level.is-complete.is-selected{border-color:#aaa99f}.ladder-level:focus-visible{outline:2px solid var(--primary);outline-offset:3px}@media (width<=640px){:is(html:has(.episode-ladder-page),body:has(.episode-ladder-page)){min-width:0}.ladder-difficulties{gap:6px}.ladder-level{padding:10px 14px;font-size:.85rem}.ladder-board-heading{letter-spacing:.04em;font-size:.7rem}.ladder-events{gap:10px}.ladder-event{gap:8px;min-height:100px;padding:10px}.ladder-position{min-width:12px;font-size:1rem}.ladder-portrait{width:34px;height:46px}.ladder-event-copy p{font-size:.85rem;line-height:1.45}.ladder-feedback{font-size:.65rem}.ladder-lock{width:44px}.ladder-legend{gap:8px 10px;font-size:.7rem}}@media (prefers-reduced-motion:reduce){.ladder-event{transition:none}.ladder-events.is-revealing .ladder-event,.ladder-next.is-ready{animation:none}.ladder-next.is-ready{box-shadow:0 0 14px color-mix(in srgb, var(--primary) 24%, transparent)}}
