:root{--study-content: 880px;--study-height: 100dvh}body{line-height:1.55;background-image:none}body:after{display:none}button,input,textarea,summary{touch-action:manipulation}button:focus-visible,summary:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--color-primary);outline-offset:4px}button{-webkit-tap-highlight-color:transparent}.study-eyebrow{color:var(--color-primary);font-size:.7rem;font-weight:700;letter-spacing:.12em;margin:0 0 10px}#welcome-screen .welcome-card{width:100%;max-width:var(--study-content);margin:0 auto;padding:28px 24px 40px!important;background:transparent;border:0;box-shadow:none}#welcome-screen .welcome-hero{display:flex!important;align-items:center;justify-content:space-between;min-height:0!important;height:auto!important;padding:12px 0 28px!important;margin:0!important;gap:16px}#welcome-screen .logo-area{text-align:left;margin:0;flex:1}#welcome-screen .logo-area h1{font-size:clamp(26px,3vw,38px);line-height:1.25;letter-spacing:-.04em;margin:0 0 12px;font-weight:650}#welcome-screen .logo-area h1 span{background:none;color:var(--color-primary);-webkit-text-fill-color:currentColor}#welcome-screen .subtitle{font-size:.9rem;line-height:1.6;color:var(--text-muted);margin:0}#welcome-screen .welcome-panda{position:relative!important;inset:auto!important;width:108px!important;height:120px!important;flex:0 0 108px;transform:none;margin:0!important}#welcome-screen .welcome-panda[data-state=hidden]{visibility:visible;opacity:1}.welcome-panda .panda-actor__motion{max-width:100%}#welcome-screen .config-group{margin:0 0 22px}#welcome-screen .config-group h3,.quick-game-heading h3{font-size:.88rem!important;color:var(--text-main);text-transform:none;letter-spacing:0;font-weight:600;margin:0 0 10px}.deck-picker-trigger{min-height:72px;border-width:1px;border-radius:16px;box-shadow:none;padding:14px 16px;background:var(--bg-card)}.deck-picker-trigger:focus-visible{outline-offset:3px}#deck-picker-status:empty{display:none}#path-tiles,#memory-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}#path-tiles .path-tile-label,#memory-tiles .path-tile-label{min-height:136px;padding:16px 12px;border:1px solid var(--border-color);border-radius:16px;background:var(--bg-card);box-shadow:none;align-items:flex-start;text-align:left;gap:6px}#path-tiles .path-tile-icon,#memory-tiles .path-tile-icon{font-size:1.5rem;margin:0}#path-tiles .path-tile-name,#memory-tiles .path-tile-name{font-size:.9rem;font-weight:600}#path-tiles .path-tile-desc,#memory-tiles .path-tile-desc{font-size:.73rem;line-height:1.5;font-weight:400}#path-tiles input:checked+.tile-label,#memory-tiles input:checked+.tile-label{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 9%,var(--bg-card));box-shadow:0 0 0 1px var(--color-primary)}.path-summary{display:block;margin:10px 0 0;padding:0;border:0;background:transparent;color:var(--text-muted);font-size:.76rem}.session-settings{margin:0 0 24px;border:1px solid var(--border-color);border-radius:14px;background:var(--bg-card)}.session-settings>summary{padding:14px 16px;cursor:pointer;font-size:.85rem;font-weight:500;min-height:48px}.session-settings>summary span{float:right;font-size:.7rem;font-weight:400;color:var(--text-muted);margin-top:3px}.session-settings-body{padding:8px 16px 16px}.session-settings .radio-tiles{display:flex;flex-wrap:wrap;gap:8px}.session-settings .tile-option{flex:1 1 90px}.session-settings .tile-label{min-height:44px;padding:10px;font-size:.8rem;border-width:1px;box-shadow:none}#extra-path-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}#extra-path-tiles .path-tile-label{min-height:112px}.audio-settings{display:grid;gap:12px;font-size:.85rem}.audio-settings label{display:flex;align-items:center;gap:10px;min-height:44px}.audio-settings input{accent-color:var(--color-primary);width:20px;height:20px}.quick-game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick-game-card{border-width:1px;box-shadow:none;border-radius:14px}.quick-game-card strong{font-weight:550}.study-start{position:sticky;bottom:0;z-index:10;padding:12px 0;background:var(--bg-main);border-top:1px solid var(--border-color)}.study-start p{margin:0 0 8px;font-size:.77rem;color:var(--text-muted);text-align:center}#start-btn{margin:0;width:100%;font-size:1rem;min-height:52px;border-radius:14px;animation:none;box-shadow:none;border:0;background:var(--color-primary);text-transform:none}.primary-btn{background:var(--color-primary);border-radius:12px;box-shadow:none;border-bottom-width:1px;min-height:48px;font-weight:600}.secondary-btn{border-radius:12px;box-shadow:none;border-width:1px;min-height:44px}.daily-goal{display:grid;gap:8px;width:100%;text-align:left;padding:14px 0;color:var(--text-main);border:0;background:transparent;font:inherit;cursor:pointer}.daily-goal-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.8rem}.daily-goal-heading strong{color:var(--color-primary);font-size:.76rem;white-space:nowrap}.daily-goal-track{display:block;height:5px;overflow:hidden;background:var(--border-color);border-radius:8px}.daily-goal-track>span{display:block;height:100%;width:0;border-radius:inherit;background:var(--color-primary);transition:width .3s}[data-goal-label]{color:var(--text-muted);font-size:.7rem}.mobile-goal{margin-bottom:18px;border-bottom:1px solid var(--border-color)}.app-container:has(#game-screen.active){max-width:100vw;width:100vw;border:0;border-radius:0;box-shadow:none;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}#game-screen{background:radial-gradient(circle at 18% 8%,color-mix(in srgb,var(--color-accent) 10%,transparent),transparent 34%),linear-gradient(180deg,color-mix(in srgb,var(--bg-main) 96%,var(--color-accent)),var(--bg-main))}#game-screen.active{min-height:var(--study-height);width:100%;padding:0}#game-screen .game-header{max-width:none;width:100%;margin:0 auto;padding:20px 24px;border-bottom:1px solid var(--border-color);gap:16px;box-shadow:none;background:var(--bg-main)}#game-screen[data-challenge=false] .hearts-display{display:none!important}#game-screen .game-content{max-width:none;width:100%;padding:32px max(24px,calc(50% - 376px));margin:0 auto;background:transparent}#game-screen .game-content:has(.image-match-grid){padding-inline:max(24px,calc(50% - 480px));min-height:0;justify-content:flex-start;overflow-y:auto}#game-screen .workspace:has(.image-match-grid){flex:0 0 auto;justify-content:flex-start}#game-screen:has(.image-match-grid) .game-header{flex-shrink:0}#game-screen .speech-bubble{border-width:1px;border-radius:20px;padding:20px 24px;box-shadow:none;background:var(--bg-card)}#game-screen .instruction{font-size:.8rem;text-transform:none;letter-spacing:0;font-weight:500;color:var(--text-muted)}#vietnamese-sentence{font-size:clamp(20px,3vw,28px);line-height:1.5;overflow-wrap:anywhere}#game-screen .prompt-bubble-container{margin-bottom:28px}#game-screen .workspace{min-height:80px;margin-bottom:20px}#game-screen .word-tile{min-height:48px;min-width:44px;border-width:1px;border-bottom-width:2px;border-radius:12px;font-size:1rem;padding:10px 16px}#game-screen .options-container{gap:10px}#game-screen .validation-drawer{width:100%;padding:16px 24px calc(16px + env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:0;box-shadow:none}.validation-drawer .drawer-inner{max-width:800px;gap:16px}#game-screen .choice-card,#game-screen .matching-card{min-height:58px;border-width:1px;border-radius:14px;box-shadow:none}#game-screen .matching-card{overflow-wrap:anywhere}#game-screen .matching-grid{gap:14px}#game-screen .matching-card.matched{opacity:.7}.matching-board-summary{font-size:.8rem;color:var(--text-muted);margin:12px 0}.typing-input{font-size:18px;min-height:56px;border-radius:14px}.builder-tools{display:flex;justify-content:flex-end;gap:8px;margin:8px 0}.builder-tools button{border:0;background:transparent;color:var(--text-muted);min-height:44px;padding:8px 12px;font:inherit;font-size:.8rem}.speak-workspace{max-width:680px;margin:auto;padding:20px;border:1px solid var(--border-color);background:var(--bg-card);border-radius:20px}.speak-lead{font-size:.85rem;line-height:1.7}.speak-samples,.speak-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.speak-samples button{flex:1;font-size:.8rem}.speak-level{display:block;width:100%;height:18px;margin-top:20px;accent-color:var(--color-primary)}.speak-status{min-height:3em;font-size:.85rem}.speak-record-btn{min-height:52px;flex:1;border-radius:14px}.speak-next-btn{flex:1}.speak-tiles{gap:5px;margin-top:16px}.speak-tile{min-width:0;padding:5px 8px;font-size:1.2rem}.speak-tile.is-miss{background:color-mix(in srgb,var(--color-accent) 12%,var(--bg-card))}.tap-answer-dock{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;background:var(--bg-card);border-top:1px solid var(--border-color)}.tap-answer-dock button{min-height:48px;padding:8px 12px;background:var(--bg-main);color:var(--text-main);border:1px solid var(--border-color);border-radius:10px;font:inherit;overflow-wrap:anywhere}.tap-answer-dock button:disabled{opacity:.45}.tap-answer-dock .tap-built-answer{grid-column:1 / -1;min-height:32px;text-align:center;color:var(--color-primary);font-weight:600}.tap-answer-dock .tap-reset{grid-column:1 / -1;font-size:.8rem}#game-screen[data-input-variant=touch] .speedtype-input,#game-screen[data-input-variant=touch] .monster-input{display:none}.result-card{max-width:800px;border-width:1px;border-radius:24px;box-shadow:none}.result-actions{flex-wrap:wrap;gap:10px}.result-actions #review-missed-btn:not([hidden]){order:-1;background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.review-item{border-radius:14px;border-width:1px}.stats-grid{gap:12px}.course-root{max-width:860px;margin:0 auto}@media(min-width:1024px){#welcome-screen{padding:24px 280px 24px 244px!important}.desktop-nav-sidebar{width:220px;padding:28px 16px;border-right:1px solid var(--border-color);background:var(--bg-main)}.desktop-widget-sidebar{width:256px;padding:28px 16px;background:var(--bg-main);border-left:1px solid var(--border-color)}.desktop-sidebar-brand{padding:0 10px 24px}.desktop-sidebar-brand strong{font-size:1.15rem}.desktop-nav-item{min-height:48px;font-size:.85rem;padding:12px;border-radius:12px;box-shadow:none}.desktop-nav-item.active{background:color-mix(in srgb,var(--color-primary) 10%,transparent);box-shadow:none;border-color:transparent}.desktop-widget-card{padding:16px;border-radius:18px;border-width:1px;box-shadow:none;background:var(--bg-card)}.widget-mascot-card,.mobile-goal,#welcome-screen .learning-tabs{display:none}#welcome-screen .welcome-card{padding:0 20px 32px!important}}@media(min-width:1024px)and (max-width:1199px){#welcome-screen{padding-right:24px!important}.desktop-widget-sidebar{display:none!important}.mobile-goal{display:block}}@media(max-width:767px){#welcome-screen{padding:8px 14px 76px!important}#welcome-screen .welcome-card{padding:0 0 20px!important}#welcome-screen .welcome-hero{padding:24px 2px 12px!important}#welcome-screen .welcome-panda{width:76px!important;height:90px!important;flex-basis:76px}#welcome-screen .logo-area h1{font-size:26px}#welcome-screen .subtitle{font-size:.78rem}#welcome-screen .learning-tabs{display:none!important}.welcome-top-bar{box-shadow:none;border-width:1px;background:var(--bg-main)}.study-eyebrow{font-size:.62rem}#path-tiles,#memory-tiles{gap:8px}#path-tiles .path-tile-label,#memory-tiles .path-tile-label{padding:12px 9px;min-height:132px}#path-tiles .path-tile-name,#memory-tiles .path-tile-name{font-size:.78rem}#path-tiles .path-tile-desc,#memory-tiles .path-tile-desc{font-size:.66rem}#path-tiles .path-tile-icon,#memory-tiles .path-tile-icon{font-size:1.2rem}.session-settings>summary{font-size:.8rem}.session-settings>summary span{float:none;display:block;margin-left:16px}.study-start{bottom:calc(var(--mobile-bottom-nav-height, 58px) + env(safe-area-inset-bottom));margin:0 -2px;padding:10px 2px}.mobile-bottom-nav{box-shadow:none}.mobile-nav-btn{min-height:48px;padding:5px 8px}#game-screen .game-header{padding:12px 14px;gap:10px}#game-screen .game-content{padding:24px 16px}#game-screen .speech-bubble{padding:16px}#game-screen .prompt-bubble-container{gap:8px}#game-screen .mascot-small{flex-basis:36px;width:36px}#game-screen .validation-drawer{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}#game-screen .workspace{min-height:64px}.drawer-inner{align-items:stretch}.drawer-actions{width:100%}.drawer-actions .primary-btn{flex:1}#game-screen .matching-grid{gap:10px}.speak-workspace{padding:14px}.speak-tile{font-size:1rem}.speak-actions{gap:8px}.speak-samples button{padding:8px}.result-card{margin:16px 12px;padding:24px 16px}.result-actions>button{flex:1 1 140px}}.study-keyboard-open #game-screen.active{height:var(--study-height);min-height:0;overflow-y:auto;padding-bottom:0}.study-keyboard-open #game-screen .game-header{position:sticky;top:0;z-index:5}.study-keyboard-open #game-screen .game-content{padding-top:12px;padding-bottom:12px}.study-keyboard-open #game-screen .validation-drawer{position:sticky;bottom:0}.study-keyboard-open #game-screen .prompt-bubble-container{margin-bottom:12px}.study-keyboard-open #game-screen .mascot-small{display:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}.daily-goal-track>span,.word-tile,.matching-card,.tap-answer-dock button{transition:none}}#welcome-screen.course-detail-active .welcome-hero,#welcome-screen.course-detail-active .mobile-goal,[hidden].tap-answer-dock,[hidden].study-start,.speak-workspace [hidden]{display:none!important}.panda-feedback{position:fixed}#game-screen .single-word-answer-slots{display:grid;grid-template-columns:1fr;padding:0;gap:6px}#game-screen .single-word-answer-stage,#game-screen .single-word-answer-placeholder,#game-screen .single-word-answer{min-height:96px}#game-screen .single-word-answer{padding:10px 16px;background:var(--bg-card);box-shadow:none;border-width:1px}#game-screen .single-word-answer:after{display:none}#game-screen .builder-replay-btn{justify-self:center;margin:0}#game-screen .builder-tools{margin:0}#welcome-screen .welcome-card{gap:16px}#welcome-screen .config-section{gap:18px}#welcome-screen .config-group,.session-settings{margin-bottom:0}#welcome-screen .config-group h3{color:var(--text-main)!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important}#welcome-screen .mobile-goal{margin-bottom:0}#welcome-screen #start-btn{background:var(--color-primary)!important;box-shadow:none!important;border:0!important}#welcome-screen .study-start{width:100%}@media(max-width:767px){#welcome-screen .study-start{position:fixed;left:14px;right:14px;width:auto;bottom:calc(var(--mobile-bottom-nav-height, 58px) + env(safe-area-inset-bottom));margin:0}body:has(#ai-chat-fab:not(.hidden)) #welcome-screen .study-start #start-btn{width:calc(100% - 60px)!important}#welcome-screen .welcome-card{padding-bottom:140px!important}#welcome-screen .welcome-hero{padding-top:16px!important;padding-bottom:0!important}#welcome-screen .logo-area h1{font-size:24px}#welcome-screen .mobile-goal .daily-goal{padding:8px 0 12px}}#game-screen .single-word-answer-stage,#game-screen .single-word-answer-placeholder,#game-screen .single-word-answer{height:112px;min-height:112px}#game-screen .game-content{overflow-anchor:none}#game-screen[data-input-variant=touch] .speed-fall-arena{height:clamp(160px,calc(var(--study-height) - 490px),300px);min-height:160px}#game-screen[data-input-variant=touch] .monster-scene{height:clamp(260px,calc(var(--study-height) - 450px),340px)}#game-screen[data-input-variant=touch] .speed-input-dock{padding:0}#game-screen[data-input-variant=touch] .game-content:has(.tap-answer-dock){padding:12px}#game-screen[data-input-variant=touch] .tap-answer-dock{grid-template-columns:repeat(4,minmax(0,1fr))}#game-screen[data-input-variant=touch] .tap-answer-dock.is-choice{grid-template-columns:repeat(2,minmax(0,1fr))}.audio-unavailable{position:fixed;z-index:250;bottom:16px;left:50%;transform:translate(-50%);max-width:calc(100vw - 24px);min-height:44px;padding:12px 18px;border:1px solid var(--border-color);border-radius:12px;color:var(--text-main);background:var(--bg-card);font:inherit}.welcome-top-bar{background:var(--bg-main)!important;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}.welcome-nav-actions button,.welcome-nav-actions a{min-height:44px}@media(max-width:430px){#welcome-nav-brand strong{display:none}#welcome-nav-brand{flex:0 0 34px}.welcome-nav-actions{gap:6px}}@media(min-width:1024px){#game-screen .game-header{max-width:none;width:100%;min-height:78px;padding:18px clamp(24px,3.5vw,48px);gap:20px}#game-screen .game-content{display:grid;grid-template-columns:minmax(0,1fr);align-content:safe center;max-width:none;width:100%;padding:28px max(36px,calc(50% - 484px)) 32px;gap:24px;background:transparent}#game-screen .prompt-bubble-container{gap:20px;align-items:center;margin-bottom:0}#game-screen .speech-bubble{padding:22px 28px;border-width:2px;border-bottom-width:4px;border-radius:22px}#game-screen .instruction{font-size:.85rem;font-weight:700;color:var(--game-accent)}#game-screen #vietnamese-sentence{font-size:clamp(22px,2.1vw,30px);line-height:1.4}#game-screen .workspace{min-height:0;margin-bottom:0}#game-screen .workspace:empty,#game-screen .options-container:empty{display:none;min-height:0}#game-screen .options-container{min-height:0;gap:14px}#game-screen .word-tile{min-height:52px;padding:12px 22px;font-size:1.06rem;font-weight:650;border-width:1.5px;border-bottom-width:3px;border-radius:14px}#game-screen .choice-card{min-height:72px;height:100%;padding:18px 22px;border-width:1.5px;border-bottom-width:3px;border-radius:16px}#game-screen .matching-card{min-height:76px;padding:18px 20px;font-size:1.06rem;border-width:1.5px;border-bottom-width:3px;border-radius:16px}#game-screen .matching-grid{max-width:100%;margin:4px auto 0;gap:20px}#game-screen .single-word-answer-slots{width:100%;border:0!important;background:transparent!important;box-shadow:none!important}#game-screen .single-word-answer-stage{width:100%;height:132px;min-height:132px;place-items:center}#game-screen .single-word-answer-placeholder,#game-screen .single-word-answer{width:100%;max-width:100%;height:132px;min-height:132px;margin:0 auto}#game-screen .single-word-answer{padding:20px 32px;border-width:1.5px;border-bottom-width:4px;border-radius:22px}#game-screen .speak-workspace,#game-screen .sentence-workspace{max-width:760px;width:min(100%,760px);padding:28px 32px 24px;border-radius:22px}#game-screen .validation-drawer{padding:20px 36px calc(20px + env(safe-area-inset-bottom))}#game-screen .validation-drawer .drawer-inner{max-width:1040px;width:100%}#result-screen .result-card{max-width:1040px;padding:36px 40px}#result-screen .result-card:not(:has(#review-list:not(:empty))){max-width:600px}}.memory-root{display:grid;gap:0}#memory-root .config-group+.config-group{margin-top:12px}.recall-review{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px 16px;margin:0 0 22px;padding:16px;border:1px solid var(--border-color);border-radius:16px;background:color-mix(in srgb,var(--color-primary) 7%,var(--bg-card))}.recall-review-copy{display:flex;align-items:center;gap:12px;min-width:0}.recall-review-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,var(--color-primary) 16%,transparent);font-size:1.3rem}.recall-review-text{display:grid;gap:2px;min-width:0}.recall-review-text strong{font-size:.92rem;font-weight:600}.recall-review-text small{color:var(--text-muted);font-size:.74rem;line-height:1.45}.recall-review-btn{min-height:44px;padding:0 18px;white-space:nowrap}.recall-review-btn:disabled{opacity:.6;cursor:default}.recall-review .course-login-btn{min-height:44px;padding:0 16px;display:inline-flex;align-items:center;text-decoration:none;white-space:nowrap}.recall-boxes{grid-column:1 / -1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.recall-box{position:relative;display:grid;gap:2px;padding:8px 6px 10px;overflow:hidden;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-card);text-align:center}.recall-box:after{content:"";position:absolute;left:0;bottom:0;height:3px;width:var(--fill, 0%);border-radius:0 3px 3px 0;background:var(--color-primary)}.recall-box b{font-size:.95rem;font-weight:700}.recall-box small{color:var(--text-muted);font-size:.64rem;white-space:nowrap}.recall-record{margin-top:auto;padding:3px 8px;border-radius:999px;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,transparent);font-size:.66rem;font-weight:600;white-space:nowrap}.recall-stage{display:grid;gap:14px;width:100%;justify-items:center}.recall-timer{width:min(100%,420px);height:6px;overflow:hidden;border-radius:8px;background:var(--border-color)}.recall-timer>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-accent),var(--color-secondary));transform-origin:left;animation:recall-countdown linear forwards}.recall-stage.is-paused .recall-timer>span{animation-play-state:paused}@keyframes recall-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.recall-word{display:grid;gap:2px;justify-items:center;min-width:0;text-align:center;overflow-wrap:anywhere}.recall-word strong{font-weight:800;line-height:1.25}.recall-word-phonetic{color:var(--text-muted);font-size:.74em;font-weight:600}.recall-cell-mark{font-size:1.6rem;font-weight:800;color:var(--text-muted)}.recall-step{margin:0;color:var(--color-accent);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.recall-spotlight{display:grid;place-items:center;gap:14px;width:min(100%,420px);min-height:150px;padding:22px;border:2px solid var(--border-color);border-bottom-width:5px;border-radius:20px;background:var(--bg-card);font-size:clamp(1.5rem,5vw,2.1rem)}.recall-spotlight.is-entering{animation:recall-word-in .26s cubic-bezier(.2,1.2,.3,1)}.recall-spotlight.is-hidden{border-style:dashed;background:color-mix(in srgb,var(--bg-card) 70%,transparent)}.recall-spotlight.is-correct{border-color:var(--color-success);background:color-mix(in srgb,var(--color-success) 16%,var(--bg-card));animation:answer-correct-pop .48s cubic-bezier(.2,1.35,.3,1)}.recall-spotlight.is-wrong{border-color:var(--color-error);background:color-mix(in srgb,var(--color-error) 15%,var(--bg-card));animation:answer-wrong-shake .38s ease-in-out}@keyframes recall-word-in{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}.recall-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}.recall-grid--3x3{grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,460px)}.recall-cell{position:relative;display:grid;place-items:center;min-width:0;min-height:76px;padding:10px 8px;border:2px solid var(--border-color);border-bottom-width:4px;border-radius:16px;color:var(--text-main);background:var(--bg-card);font:inherit;font-size:.98rem;transition:border-color var(--transition-fast),background-color var(--transition-fast),transform var(--transition-fast)}.recall-grid--3x3 .recall-cell{aspect-ratio:1;min-height:0;font-size:.9rem}button.recall-cell:not(:disabled){cursor:pointer}button.recall-cell:not(:disabled):hover{border-color:color-mix(in srgb,var(--color-primary) 55%,var(--border-color))}button.recall-cell:not(:disabled):active{transform:translateY(2px);border-bottom-width:2px}.recall-cell:disabled{opacity:1;cursor:default}.recall-cell.is-empty{border-style:dashed;background:transparent;box-shadow:none}.recall-cell.is-covered{border-color:transparent;color:#fff;background:linear-gradient(145deg,var(--color-primary),var(--color-secondary))}.recall-cell.is-covered:after{content:"🧠";font-size:1.3rem;opacity:.9}.recall-cell.is-missing{border-style:dashed;border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,var(--bg-card))}.recall-cell.is-missing .recall-cell-mark{color:var(--color-primary)}.recall-cell.is-correct{border-color:var(--color-success);background:color-mix(in srgb,var(--color-success) 18%,var(--bg-card));animation:answer-correct-pop .48s cubic-bezier(.2,1.35,.3,1)}.recall-cell.is-wrong{border-color:var(--color-error);background:color-mix(in srgb,var(--color-error) 16%,var(--bg-card));animation:answer-wrong-shake .38s ease-in-out}.recall-slots{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;width:100%;margin:0;padding:0;list-style:none}.recall-slot{display:grid;place-items:center;gap:2px;min-width:64px;min-height:52px;padding:8px 12px;border:2px dashed var(--border-color);border-radius:12px;color:var(--text-muted);font-size:.85rem;font-weight:700;text-align:center}.recall-slot.filled{border-style:solid;border-color:var(--color-primary);color:var(--text-main);background:color-mix(in srgb,var(--color-primary) 9%,var(--bg-card));animation:scale-up .2s ease-out}.recall-slot.is-correct{border-color:var(--color-success);background:color-mix(in srgb,var(--color-success) 16%,var(--bg-card))}.recall-slot.is-wrong{border-color:var(--color-error);background:color-mix(in srgb,var(--color-error) 15%,var(--bg-card))}.recall-slot.is-wrong .recall-slot-word{text-decoration:line-through;color:var(--text-muted)}.recall-slot-answer{color:var(--color-success);font-size:.72rem;font-weight:700}.recall-pool{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;width:100%}.recall-tile.is-used{opacity:.35}.recall-tile:disabled{cursor:default}.recall-choices{width:100%}@media(min-width:768px){.recall-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.recall-grid--3x3{grid-template-columns:repeat(3,minmax(0,1fr))}.recall-cell{min-height:92px;font-size:1.05rem}}@media(max-width:520px){.recall-review{grid-template-columns:1fr}.recall-review-btn,.recall-review .course-login-btn{width:100%;justify-content:center}.recall-grid--3x3 .recall-cell{font-size:.78rem;padding:6px 4px;border-radius:13px}.recall-spotlight{min-height:124px}}@media(prefers-reduced-motion:reduce){.recall-spotlight.is-entering,.recall-spotlight.is-correct,.recall-spotlight.is-wrong,.recall-cell.is-correct,.recall-cell.is-wrong,.recall-slot.filled{animation:none}}.progress-meter{display:block;height:6px;overflow:hidden;border-radius:999px;background:var(--border-color)}.progress-meter>span{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));transition:width .4s ease}.daily-goal.done .daily-goal-track>span{background:var(--color-success)}.next-step[hidden]{display:none!important}.next-step{margin:0 0 14px}.next-step-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;padding:14px 16px;border:1px solid color-mix(in srgb,var(--color-primary) 45%,var(--border-color));border-radius:var(--radius-md);color:var(--text-main);background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 16%,var(--bg-card)),var(--bg-card));font:inherit;text-align:left;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.next-step-card:hover{transform:translateY(-1px);border-color:var(--color-primary);box-shadow:var(--shadow-glow)}.next-step-card:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.next-step-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:color-mix(in srgb,var(--color-primary) 22%,transparent);font-size:1.45rem}.next-step-copy{display:grid;gap:2px;min-width:0}.next-step-eyebrow{color:var(--color-primary);font-size:.64rem;font-weight:800;letter-spacing:.12em}.next-step-title{overflow:hidden;font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.next-step-detail,.next-step-goal{color:var(--text-muted);font-size:.74rem;line-height:1.35}.next-step-goal{color:var(--color-accent);font-weight:600}.next-step-action{padding:9px 14px;border-radius:999px;color:#fff;background:var(--color-primary);font-size:.8rem;font-weight:700;white-space:nowrap}@media(max-width:480px){.next-step-card{grid-template-columns:auto minmax(0,1fr);padding:12px;gap:12px}.next-step-icon{width:40px;height:40px;font-size:1.25rem}.next-step-action{grid-column:1 / -1;justify-self:stretch;text-align:center}}.due-badge[hidden]{display:none!important}.due-badge{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:6px;padding:0 5px;border-radius:999px;color:#fff;background:var(--color-error);font-size:.64rem;font-weight:800;line-height:1;vertical-align:middle}.mobile-nav-btn{position:relative}.mobile-nav-btn .due-badge{position:absolute;top:4px;left:calc(50% + 6px);margin:0}.daily-quests:empty{display:none}.daily-quests{display:grid;gap:8px}.quest-heading{display:flex;align-items:baseline;justify-content:space-between;font-size:.8rem}.quest-heading small{color:var(--text-muted)}.quest-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.quest-item{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;font-size:.74rem}.quest-icon{text-align:center}.quest-copy{display:grid;gap:5px;min-width:0}.quest-label{display:-webkit-box;overflow:hidden;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2}.quest-count{color:var(--text-muted);font-size:.7rem;font-weight:700;white-space:nowrap}.quest-item.done .quest-label{color:var(--text-muted);text-decoration:line-through}.quest-item.done .quest-count{color:var(--color-success)}.quest-item.done .progress-meter>span{background:var(--color-success)}.widget-goal-card .daily-quests{padding:12px 0 4px;border-top:1px solid var(--border-color)}.mobile-quests{padding:0 0 12px}.mobile-quests>summary{color:var(--text-muted);font-size:.74rem;font-weight:600;cursor:pointer;list-style:none}.mobile-quests>summary::-webkit-details-marker{display:none}.mobile-quests>summary:after{content:" ›"}.mobile-quests[open]>summary{margin-bottom:10px}.mobile-quests[open]>summary:after{content:" ⌄"}#daily-goal-config-group .tile-label{display:grid;gap:2px;text-align:center}#daily-goal-config-group .tile-label small{color:var(--text-muted);font-size:.66rem;font-weight:500}.result-progress[hidden]{display:none!important}.result-progress{display:grid;gap:14px;width:100%;margin:4px 0 18px;padding:16px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card)}.session-xp{display:grid;justify-items:center;gap:4px;text-align:center}.session-xp-total{color:var(--color-primary);font-size:1.9rem;font-weight:800;line-height:1.1;animation:session-xp-pop .5s cubic-bezier(.2,1.4,.4,1) both}.session-xp-breakdown{color:var(--text-muted);font-size:.74rem}.session-meters{display:grid;gap:12px}.session-meter{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;font-size:.78rem}.session-meter .progress-meter{grid-column:1 / -1;height:8px}.session-meter-value{color:var(--text-muted);font-weight:700}.session-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.session-chip{padding:6px 12px;border:1px solid var(--border-color);border-radius:999px;background:color-mix(in srgb,var(--bg-main) 60%,transparent);font-size:.74rem;font-weight:600}.session-chip.record{border-color:#f4b925;color:#f5c13d}.session-chip.achievement{border-color:var(--color-primary)}.session-chip.quest{border-color:var(--color-success-border);color:var(--color-success)}:root[data-theme=light] .session-chip.record{color:#b36f0f}@keyframes session-xp-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.session-xp-total{animation:none}.progress-meter>span,.next-step-card{transition:none}}.deck-mastery{display:inline-flex;align-items:center;gap:4px;margin-left:6px;padding:2px 8px;border-radius:999px;font-size:.66rem;font-weight:700;color:var(--text-main);background:linear-gradient(90deg,color-mix(in srgb,var(--color-success) 40%,transparent) var(--mastery, 0%),color-mix(in srgb,var(--border-color) 60%,transparent) var(--mastery, 0%))}.leaderboard-periods{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:12px;padding:4px;border-radius:12px;background:color-mix(in srgb,var(--border-color) 45%,transparent)}.leaderboard-period{min-height:36px;border:0;border-radius:9px;color:var(--text-muted);background:transparent;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer}.leaderboard-period.active{color:var(--text-main);background:var(--bg-card);box-shadow:0 2px 8px #00000026}.desktop-nav-item .due-badge{flex:none;margin-left:auto}.avatar-initials{display:inline-grid;place-items:center;flex:none;overflow:hidden;color:#fff;background:var(--color-primary);font-weight:800;line-height:1}.welcome-nav-user-summary .avatar-initials{width:38px;height:38px;border-radius:50%;font-size:.95rem}.leaderboard-avatar.avatar-initials{width:36px;height:36px;border:2px solid transparent;border-radius:50%;font-size:.85rem}#welcome-screen[data-learning-tab=memory] #next-step[data-kind=review],#welcome-screen[data-learning-tab=course] #next-step:is([data-kind=course],[data-kind=course-start]),#welcome-screen.course-detail-active #next-step{display:none!important}@media(min-width:768px){#welcome-screen .logo-area h1{font-size:clamp(26px,2.6vw,34px);margin-bottom:8px}#welcome-screen .welcome-hero{padding-top:8px!important;padding-bottom:8px!important}}@media(max-width:767px){#welcome-screen .welcome-hero{padding:10px 2px 6px!important;gap:10px}#welcome-screen .welcome-hero .study-eyebrow,#welcome-screen .welcome-hero .subtitle{display:none}#welcome-screen .logo-area h1{margin:0;font-size:1.32rem;line-height:1.2;letter-spacing:-.02em}#welcome-screen .welcome-panda{width:58px!important;height:64px!important;flex-basis:58px}.next-step{margin-bottom:12px}.next-step-card{grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding:11px 12px}.next-step-icon{width:38px;height:38px;border-radius:12px;font-size:1.15rem}.next-step-eyebrow{display:none}.next-step-title{font-size:.92rem}.next-step-detail{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.7rem}.next-step-action{grid-column:auto;justify-self:end;padding:8px 12px;font-size:.74rem}#welcome-screen .mobile-goal{margin:0 0 14px!important;padding:2px 14px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-card) 80%,transparent)}#welcome-screen .mobile-goal .daily-goal{padding:10px 0 8px!important;gap:6px}.mobile-quests{padding:6px 0 10px;border-top:1px dashed var(--border-color)}.mobile-quests>summary{display:flex;align-items:center;justify-content:space-between;text-align:left}.mobile-quests>summary:after{content:"›";font-size:1rem;transition:transform var(--transition-fast)}.mobile-quests[open]>summary:after{content:"›";transform:rotate(90deg)}.course-list-hero{padding:12px 14px}.course-list-hero .course-lead{display:none}.course-list-heading{font-size:1.05rem}}@media(max-width:380px){.next-step-action{padding:7px 10px}.next-step-detail{-webkit-line-clamp:1}}@media(min-width:768px)and (max-width:1023px){#welcome-screen .mobile-goal{padding:2px 16px;border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:16px!important}#welcome-screen .learning-tab-label .learning-tab-long{white-space:nowrap}}@media(min-width:1024px){.desktop-theme-label,.desktop-nav-text,.widget-leaderboard-btn{white-space:nowrap}.widget-leaderboard-btn span:not([aria-hidden]){overflow:hidden;text-overflow:ellipsis}.widget-goal-card .daily-quests{margin-top:12px}.widget-goal-card .quest-item{grid-template-columns:20px minmax(0,1fr) auto}}#result-screen .trophy-icon{display:none}#result-screen .result-panda{margin-bottom:-6px}#result-screen .result-progress{margin:0;text-align:left}#result-screen .session-xp{text-align:center}#result-screen .stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}#result-screen .stat-card{gap:2px;padding:10px 6px;border-width:1px;border-bottom-width:3px;border-radius:14px}#result-screen .stat-value{font-size:1.15rem}#result-screen .stat-label{font-size:.62rem;letter-spacing:.3px}#result-screen .custom-result-breakdown{grid-column:1 / -1;margin:2px 0 0;color:var(--text-muted);font-size:.72rem}#result-screen .review-item{align-items:flex-start}#result-screen .review-audio{align-self:flex-start;width:auto;min-height:0;margin-top:6px;padding:4px 12px;border-radius:999px;font-size:.72rem}@media(max-width:767px){#result-screen .result-actions{position:sticky;bottom:0;z-index:5;margin:0 -16px -24px;padding:12px 16px 16px;border-top:1px solid var(--border-color);border-radius:0 0 22px 22px;background:color-mix(in srgb,var(--bg-main) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}#result-screen .result-card{padding-bottom:24px}#result-screen .result-card>.review-section{order:1}#result-screen .result-actions{order:2}}@media(max-width:360px){#result-screen .stat-label{font-size:.58rem}}
