:root{--bg:#f6f5f1;--surface:#fff;--surface-2:#efede7;--border:#e2dfd6;--text:#1d1b2e;--muted:#6b6880;--accent:#4f46e5;--accent-soft:#e8e6fd;--on-accent:#fff;--ok:#15803d;--ok-soft:#dcfce7;--ko:#b91c1c;--ko-soft:#fee2e2;--warn-soft:#fef3c7;--mark:#fde68a;--celebrate:#c2610c;--celebrate-soft:#fef3c7;--progress-warm:#ea7a16;--grammar:#0d9488;--radius:16px;--shadow:0 1px 2px #1d1b2e0f, 0 8px 24px #1d1b2e0f;--nav-h:64px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--bg:#12111c;--surface:#211f33;--surface-2:#2a2740;--border:#3b3757;--text:#eeecf8;--muted:#a09db8;--accent:#8b83ff;--accent-soft:#2a2752;--on-accent:#12111c;--ok:#4ade80;--ok-soft:#12351f;--ko:#f87171;--ko-soft:#3f1518;--warn-soft:#3a2f10;--mark:#6b5a12;--celebrate:#fbbf24;--celebrate-soft:#3a2f10;--progress-warm:#fb923c;--grammar:#2dd4bf;--shadow:0 1px 2px #0006}}:root[data-theme=dark]{--bg:#12111c;--surface:#211f33;--surface-2:#2a2740;--border:#3b3757;--text:#eeecf8;--muted:#a09db8;--accent:#8b83ff;--accent-soft:#2a2752;--on-accent:#12111c;--ok:#4ade80;--ok-soft:#12351f;--ko:#f87171;--ko-soft:#3f1518;--warn-soft:#3a2f10;--mark:#6b5a12;--celebrate:#fbbf24;--celebrate-soft:#3a2f10;--progress-warm:#fb923c;--grammar:#2dd4bf;--shadow:0 1px 2px #0006}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;margin:0}h1{letter-spacing:-.02em;margin:0 0 .4rem;font-size:1.7rem;line-height:1.2}h2{margin:0 0 .5rem;font-size:1.15rem}p{margin:0 0 .6rem}a{color:var(--accent);text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center}.splash{min-height:100dvh;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex}.splash-logo{border-radius:20px;width:72px;height:72px;animation:1.8s ease-in-out infinite splash-breathe}.splash-label{letter-spacing:.02em;margin:0;font-size:.95rem}.dots{vertical-align:middle;gap:7px;display:inline-flex}.dots span{background:var(--accent);border-radius:50%;width:10px;height:10px;animation:1.1s ease-in-out infinite dots-bounce}.dots.small span{width:6px;height:6px}.dots span:nth-child(2){animation-delay:.15s}.dots span:nth-child(3){animation-delay:.3s}@keyframes splash-breathe{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes dots-bounce{0%,80%,to{opacity:.45;transform:translateY(0)}40%{opacity:1;transform:translateY(-7px)}}@media (prefers-reduced-motion:reduce){.splash-logo,.dots span{animation:none}}.app{min-height:100dvh;padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom))}.page{flex-direction:column;gap:20px;max-width:960px;margin:0 auto;padding:20px 16px 32px;display:flex}.page>section{flex-direction:column;gap:10px;display:flex}.nav{z-index:10;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--border);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}html{scrollbar-gutter:stable;touch-action:pan-x pan-y}.brand{letter-spacing:-.02em;font-weight:800;display:none}.nav-link{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.72rem;font-weight:600;display:flex}.nav-icon{stroke-width:1.9px;width:24px;height:24px}.ui-icon{vertical-align:-.2em;stroke-width:2px;flex:none;width:1.15em;height:1.15em}.mode-icon-maintain{color:#b7791f}.mode-icon-progress{color:var(--accent)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .mode-icon-maintain{color:#f6ad55}}:root[data-theme=dark] .mode-icon-maintain{color:#f6ad55}.nav-link.active{color:var(--accent)}.nav-link.active .nav-icon{stroke-width:2.3px}@media (width>=800px){.app{padding-top:60px;padding-bottom:0}.nav{border-top:0;border-bottom:1px solid var(--border);align-items:center;gap:8px;height:60px;padding:0 24px;display:flex;inset:0 0 auto}.brand{color:var(--text);align-items:center;gap:10px;margin-right:auto;display:flex}.brand img{border-radius:7px}.nav-user{border:1px solid var(--border);margin-left:16px}.nav-link{border-radius:999px;flex-direction:row;gap:8px;padding:8px 14px;font-size:.95rem}.nav-link.active{background:var(--accent-soft)}.nav-link:hover{color:var(--accent)}.nav-icon{width:20px;height:20px}}.btn{border:1px solid var(--border);background:var(--surface);min-height:48px;color:var(--text);text-align:center;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-weight:650;display:inline-flex}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.block{width:100%;display:flex}.btn.small{min-height:36px;padding:0 14px;font-size:.85rem}.btn.danger{color:var(--ko)}.btn:disabled,.btn.disabled{opacity:.45;pointer-events:none}.icon-btn{background:var(--surface-2);width:40px;height:40px;color:var(--text);border:0;border-radius:50%;flex:none;place-items:center;padding:0;text-decoration:none;display:inline-grid}.session-bar>.icon-btn:last-child{margin-left:auto}.back{color:var(--muted);background:0 0;border:0;align-self:flex-start;padding:0;font-weight:600}.stack{flex-direction:column;gap:10px;display:flex}.badge{white-space:nowrap;background:var(--surface-2);color:var(--muted);border-radius:999px;padding:2px 10px;font-size:.72rem;font-weight:700;display:inline-block}.badge.level{border:1px solid var(--border);background:0 0}.type-noun{--hue:150}.type-verb{--hue:220}.type-phrasal_verb{--hue:190}.type-adjective{--hue:30}.type-adverb{--hue:275}.type-connector{--hue:60}.type-preposition{--hue:100}.type-expression{--hue:330}.type-idiom{--hue:0}.type-phrase{--hue:250}.badge[class*=type-]{background:hsl(var(--hue) 70% 50% / 16%);color:hsl(var(--hue) 60% 32%)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .badge[class*=type-]{color:hsl(var(--hue) 80% 78%)}}:root[data-theme=dark] .badge[class*=type-]{color:hsl(var(--hue) 80% 78%)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips.scroll{scrollbar-width:none;flex-wrap:nowrap;margin:0 -16px;padding:2px 16px;overflow-x:auto}.chip{border:1px solid var(--border);background:var(--surface);border-radius:999px;flex:none;min-height:40px;padding:0 14px;font-size:.9rem;font-weight:600}.chip.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.progressbar{background:var(--surface-2);border-radius:999px;flex:1;height:8px;overflow:hidden}.progressbar>div{border-radius:inherit;background:var(--accent);height:100%;transition:width .3s}.speak{background:var(--accent-soft);color:var(--accent);vertical-align:middle;border:0;border-radius:50%;flex:none;width:36px;height:36px;margin-left:6px;font-size:1rem;line-height:1}.speak-sm{background:0 0;width:30px;height:30px;font-size:.85rem}.speak-lg{width:88px;height:88px;margin:0;font-size:2.2rem}.section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0;font-size:.8rem}.section-head{justify-content:space-between;align-items:center;font-size:.9rem;font-weight:600;display:flex}.search{border:1px solid var(--border);background:var(--surface);width:100%;min-height:48px;color:var(--text);font:inherit;border-radius:999px;padding:0 16px}.hero{border-radius:var(--radius);background:linear-gradient(135deg, var(--accent-soft), var(--surface));border:1px solid var(--border);padding:24px 20px}.hero-level{flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0 0;display:flex}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.stats{grid-template-columns:repeat(3,1fr);gap:10px;display:grid!important}.stats.two{grid-template-columns:repeat(2,1fr)}.stats.one{grid-template-columns:1fr}a.stat{color:inherit;text-decoration:none}a.stat:hover{border-color:var(--accent)}.stat{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);text-align:center;flex-direction:column;padding:14px 10px;display:flex}.stat strong{font-size:1.5rem;line-height:1.2}.stat small{color:var(--muted);font-size:.9rem;font-weight:500}.stat span{color:var(--muted);font-size:.78rem}.theme-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.theme-card{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);color:var(--text);grid-template-columns:1fr auto;grid-template-areas:"icon ring""text text";align-items:start;gap:8px;padding:16px;display:grid}.theme-card .theme-icon{grid-area:icon}.theme-card .theme-text{flex-direction:column;grid-area:text;gap:2px;display:flex}.theme-card .mastery-ring{grid-area:ring}@media (width<=600px){.theme-grid{grid-template-columns:1fr;gap:8px}.theme-card{box-shadow:none;grid-template-columns:auto 1fr auto;grid-template-areas:"icon text ring";align-items:center;gap:12px;padding:12px 14px}.theme-card .theme-icon{font-size:1.5rem}}.group-emoji{flex:none;font-size:1.4rem}.theme-icon{font-size:1.8rem;line-height:1}.theme-icon.big{font-size:2.6rem}.theme-name{font-weight:700;line-height:1.25}.theme-count{color:var(--muted);font-size:.8rem}.theme-header{align-items:center;gap:14px;display:flex}.settings{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border)}a.credit-row{color:inherit;flex-wrap:nowrap;text-decoration:none}.credit-go{color:var(--muted);flex:none}.setting-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.setting-row+.setting-row{border-top:1px solid var(--border)}.user-menu{display:contents;position:relative}button.nav-link{cursor:pointer;background:0 0;border:0;font-family:inherit}.user-popover{right:8px;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 8px);z-index:20;background:var(--surface);border:1px solid var(--border);min-width:240px;box-shadow:var(--shadow);border-radius:14px;flex-direction:column;padding:6px;display:flex;position:fixed}.user-popover-head{border-bottom:1px solid var(--border);overflow-wrap:anywhere;flex-direction:column;gap:2px;margin:0;padding:10px 12px;font-size:.85rem;display:flex}.user-popover-head small{font-size:.78rem}.user-popover-item{text-align:left;width:100%;font:inherit;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-weight:600;display:flex}.user-popover-item:hover{background:var(--surface-2)}.user-popover-item.danger{color:var(--ko)}@media (width>=800px){.user-menu{margin-left:16px;display:block}.user-menu .nav-user{margin-left:0}.user-popover{position:absolute;top:calc(100% + 8px);bottom:auto;right:0}}.lesson-nav{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:8px;display:flex}.lesson-nav .btn{flex:auto;max-width:100%}.flag-buttons{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.flag-buttons.compact{margin:0 12px 10px}.flag-buttons.compact .chip{min-height:32px;padding:0 10px;font-size:.8rem}.flag-known.active{background:var(--ok-soft);border-color:var(--ok);color:var(--ok)}.flag-focus.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.list-row .word-row{padding-bottom:6px}.select{font:inherit;border:1px solid var(--border);background:var(--surface);max-width:100%;min-height:40px;color:var(--text);border-radius:999px;padding:0 12px}.invitation-row{align-items:center;gap:12px;padding:10px 14px;display:flex}.invitation-row .muted{flex:1}.invitation-code{letter-spacing:.08em;font-size:1.05rem;font-weight:700}.plain-list{margin:8px 0 0;padding-left:18px}.login-page{place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.login-card{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);width:100%;max-width:420px;box-shadow:var(--shadow);flex-direction:column;gap:16px;padding:24px;display:flex}.login-brand{align-items:center;gap:12px;display:flex}.login-brand img{border-radius:14px}.login-brand h1{margin:0;font-size:1.6rem}.task-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.task{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);color:var(--text);align-items:center;gap:12px;padding:12px 14px;display:flex}.task.done{opacity:.6}.task.done .task-title{background:linear-gradient(currentColor,currentColor) 0 55%/100% 1.5px no-repeat}.task.next{border-color:var(--accent);background:linear-gradient(135deg, var(--accent-soft), var(--surface) 75%);box-shadow:0 6px 20px #4f46e524}.task-next{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-size:.7rem;font-weight:700}.task-go{background:var(--accent);width:32px;height:32px;color:var(--on-accent);border-radius:50%;flex:none;place-items:center;margin-left:auto;display:grid}.task-go .ui-icon{stroke-width:2.75px;vertical-align:0;width:20px;height:20px}.task.just-done{animation:.4s ease-out .9s both task-settle}.task.just-done .task-check{animation:.45s ease-out .15s both check-pop}.task.just-done .task-title{animation:.45s ease-in-out .5s both task-strike}@keyframes check-pop{0%{opacity:0;transform:scale(.3)}60%{opacity:1;transform:scale(1.25)}to{transform:scale(1)}}@keyframes task-strike{0%{background-size:0 1.5px}to{background-size:100% 1.5px}}@keyframes task-settle{0%{opacity:1}to{opacity:.6}}@media (prefers-reduced-motion:reduce){.task.just-done,.task.just-done .task-check,.task.just-done .task-title{animation:none}}.streak{color:var(--celebrate);font-weight:700}.task-check{border:2px solid var(--border);width:24px;height:24px;color:var(--on-accent);border-radius:50%;flex:none;place-items:center;font-size:.85rem;font-weight:800;display:grid}.task.done .task-check{background:var(--ok);border-color:var(--ok)}.task-emoji{margin-right:.35em}.task-icon{flex:none;font-size:1.4rem}.task-main{flex-direction:column;min-width:0;display:flex}.task-main small{color:var(--muted);font-size:.8rem}.form-title{margin:0;font-size:1.05rem}.form{flex-direction:column;gap:14px;display:flex}.field{flex-direction:column;gap:6px;font-size:.9rem;font-weight:600;display:flex}.field input{font:inherit;border:1px solid var(--border);background:var(--surface);min-height:46px;color:var(--text);border-radius:12px;padding:0 14px;font-weight:400}.field input:focus{outline:2px solid var(--accent);outline-offset:1px}.form-error{background:var(--ko-soft);color:var(--ko);border-radius:12px;margin:0;padding:10px 14px;font-size:.9rem}.word-list{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);margin:0;padding:0;list-style:none;overflow:hidden}.word-list li+li{border-top:1px solid var(--border)}.word-row{color:var(--text);align-items:center;gap:10px;padding:12px 14px;display:flex}.word-row-main{flex-direction:column;flex:1;min-width:0;display:flex}.word-row-term{font-weight:650}.word-row-fr{color:var(--muted);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.88rem;display:-webkit-box;overflow:hidden}.word-row>.word-row-term{flex:1}.mastery-pill{border:1px solid var(--border);text-align:center;min-width:46px;color:var(--muted);font-variant-numeric:tabular-nums;border-radius:999px;flex:none;padding:2px 6px;font-size:.72rem;font-weight:700}.mastery-ring{--ring:var(--muted);flex:none;place-items:center;width:40px;height:40px;display:inline-grid;position:relative}.mastery-ring svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.mastery-ring circle{fill:none;stroke-width:3.6px}.mastery-ring-track{stroke:var(--border)}.mastery-ring-arc{stroke:var(--ring);stroke-linecap:round;animation:.8s ease-out .1s backwards ring-fill}@keyframes ring-fill{0%{stroke-dasharray:0 100}}.mastery-ring-label{color:var(--text);font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:750;position:relative}.mastery-ring.ring-learning{--ring:var(--progress-warm)}.mastery-ring.ring-known,.mastery-ring.ring-mastered{--ring:var(--ok)}.mastery-ring.ring-mastered .mastery-ring-label{color:var(--ok)}.mastery-ring.ring-new .mastery-ring-label{color:var(--muted)}@media (prefers-reduced-motion:reduce){.mastery-ring-arc{animation:none}}.mastery-learning{background:var(--warn-soft);color:var(--text);border-color:#0000}.mastery-known{background:var(--ok-soft);color:var(--ok);border-color:#0000}.mastery-mastered{background:var(--ok);border-color:var(--ok);color:var(--surface)}.mastery-meter{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);flex-direction:column;gap:6px;padding:14px;display:flex}.mastery-meter p{margin:0}.mastery-meter-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.delta{font-variant-numeric:tabular-nums;flex:none;font-size:.8rem;font-weight:700}.delta.up{color:var(--ok)}.delta.down{color:var(--ko)}.result-mark{text-align:center;flex:none;width:1.2em;font-weight:800}.bucket-tag{color:var(--muted);text-align:center;margin:0;font-size:.78rem;font-weight:600}.level-rows{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.level-row{cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:12px;grid-template-columns:44px 1fr 48px;align-items:center;gap:10px;padding:8px 12px;display:grid;position:relative}.level-row.current{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.level-row.locked{opacity:.6}.progressbar.split{display:flex}.progressbar.split>div{border-radius:0}.progressbar.split>div:first-child{border-radius:999px 0 0 999px}.seg-words{background:var(--accent)!important}.seg-grammar{background:var(--grammar)!important}.legend{align-items:center;gap:6px;margin:0;display:flex}.legend-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.legend-dot:not(:first-child){margin-left:10px}.level-tip{z-index:5;background:var(--surface-2);border:1px solid var(--border);box-shadow:var(--shadow);cursor:default;border-radius:12px;padding:10px 12px;font-size:.85rem;display:none;position:absolute;top:calc(100% + 6px);left:56px;right:12px}.level-tip p{align-items:center;gap:6px;margin:0;display:flex}.level-tip p+p{margin-top:4px}.level-row.open .level-tip{display:block}@media (hover:hover){.level-row:hover .level-tip{display:block}}.level-row-figures{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.8rem}@media (width<=480px){.word-row .badge{display:none}.lesson-list .word-row .badge.level{flex:none;display:inline-flex}}.sheet{flex-direction:column;gap:16px;display:flex}.sheet section{flex-direction:column;gap:10px;display:flex}.sheet-badges{gap:6px;justify-content:inherit;display:flex}.sheet-term{margin:8px 0 0;font-size:2rem}.ipa{color:var(--muted);margin:0;font-family:Lucida Sans Unicode,Segoe UI,sans-serif}.sheet-translation{color:var(--accent);margin:6px 0 0;font-size:1.25rem;font-weight:600}.note{background:var(--warn-soft);border-radius:12px;margin:0;padding:12px 14px;font-size:.92rem}.note-lines{align-items:flex-start;gap:8px;display:flex}.note-lines ul{gap:4px;margin:0;padding-left:1.1em;display:grid}.section-words{justify-items:start;gap:8px;display:grid}.section-words-list{gap:4px;margin:0;padding-left:1.1em;font-size:.95rem;display:grid}.related{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.related-label{color:var(--muted);margin-right:4px;font-size:.8rem;font-weight:700}.pill{background:var(--surface-2);border-radius:999px;padding:4px 12px;font-size:.9rem}.pill-link{background:var(--accent-soft);font-weight:600}.example{border-left:3px solid var(--accent);background:var(--surface);text-align:left;border-radius:0 12px 12px 0;padding:10px 14px}.example p{margin:0}.example-fr{color:var(--muted);font-size:.92rem}.example{position:relative}.example-next{color:var(--muted);opacity:.55;cursor:pointer;background:0 0;border:0;padding:2px 4px;font-size:.72rem;position:absolute;bottom:4px;right:6px}.example-next:hover,.example-next:focus-visible{opacity:1;color:var(--accent)}.example:has(.example-next) .example-fr{padding-right:44px}mark{background:var(--mark);color:inherit;border-radius:4px;padding:0 2px;font-weight:650}.session{min-height:100dvh;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.session-bar{align-items:center;gap:12px;display:flex}.track-current{animation:.16s ease-out question-in;position:relative}@keyframes question-in{0%{opacity:0;left:14px}to{opacity:1;left:0}}.btn:active:not(:disabled),.choice:active:not(:disabled),.task:active,.preset-card:active,.chip:active:not(:disabled),.icon-btn:active:not(:disabled),.thumb:active{scale:.97}.gain-bar{background:var(--surface-2);border-radius:999px;width:min(320px,100%);height:10px;margin:4px auto 8px;position:relative;overflow:hidden}.gain-bar-base,.gain-bar-gain{position:absolute;top:0;bottom:0;left:0}.gain-bar-base{background:var(--accent)}.gain-bar-gain{width:var(--gain);background:var(--celebrate);animation:.9s ease-out .3s both gain-grow}@keyframes gain-grow{0%{width:0}to{width:var(--gain)}}.roleplay-finish{margin-top:4px}@media (prefers-reduced-motion:reduce){.track-current,.gain-bar-gain{animation:none}}.session-count{color:var(--muted);font-size:.85rem;font-weight:650}.exercise{flex-direction:column;flex:1;gap:16px;display:flex}.instruction{color:var(--muted);text-align:center;margin:0;font-weight:600}.flashcard,.prompt-card{text-align:center;background:var(--surface);border:1px solid var(--border);width:100%;min-height:220px;box-shadow:var(--shadow);border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px 20px;display:flex}.flashcard{cursor:pointer;-webkit-user-select:none;user-select:none}.flashcard.revealed{cursor:default;min-height:0}.flashcard-prompt,.prompt-text{letter-spacing:-.02em;margin:0;font-size:clamp(1.5rem,6vw,2.1rem);font-weight:750;line-height:1.2}.flashcard-answer{color:var(--accent);border-top:1px dashed var(--border);width:100%;margin:6px 0 0;padding-top:14px;font-size:1.4rem;font-weight:650}.flashcard-hint{color:var(--muted);margin:12px 0 0;font-size:.85rem}.prompt-card{min-height:160px}.prompt-sentence{margin:0;font-size:1.3rem;font-weight:600;line-height:1.5}.prompt-sentence.long{font-size:1.12rem}.prompt-sentence.xlong{font-size:1rem;line-height:1.45}.prompt-text.long{font-size:clamp(1.2rem,4.6vw,1.55rem)}.prompt-text.xlong{font-size:clamp(1.05rem,4vw,1.25rem)}.hint-btn{color:var(--muted);cursor:pointer;opacity:.8;background:0 0;border:0;padding:2px 6px;font-size:.82rem}.hint-btn:hover,.hint-btn:focus-visible{color:var(--accent);opacity:1}.prompt-topic{color:var(--muted);align-items:center;gap:6px;margin:0;font-size:.85rem;font-weight:600;display:flex}.prompt-fr{color:var(--muted);margin:0}.prompt-fr.large{color:var(--text);font-size:1.25rem;font-weight:600}.gap{border-bottom:3px solid var(--accent);min-width:72px;margin:0 2px;display:inline-block}.gap.filled{color:var(--accent);border-bottom-color:#0000}.grade-bar{bottom:calc(8px + env(safe-area-inset-bottom));background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:20px;grid-template-columns:repeat(4,1fr);gap:6px;padding:8px;display:grid;position:sticky}.grade{border:0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;min-height:56px;padding:4px;line-height:1.2;display:flex}.grade strong{font-size:.9rem}.grade small{opacity:.8;font-size:.66rem}.grade-again{background:var(--ko-soft);color:var(--ko)}.grade-hard{background:var(--warn-soft)}.grade-good{background:var(--ok-soft);color:var(--ok)}.grade-easy{background:var(--accent-soft);color:var(--accent)}.choices{gap:10px;display:grid}.choices.row-3{grid-template-columns:repeat(3,1fr)}.choices.stacked{grid-template-columns:1fr}@media (width>=560px){.choices{grid-template-columns:1fr 1fr}.choices.row-3{grid-template-columns:repeat(3,1fr)}.choices.stacked{grid-template-columns:1fr}}.choice{border:2px solid var(--border);background:var(--surface);text-align:center;border-radius:16px;min-height:56px;padding:10px 16px;font-weight:600}.choice.correct{border-color:var(--ok);background:var(--ok-soft);color:var(--ok)}.choice.wrong{border-color:var(--ko);background:var(--ko-soft);color:var(--ko)}.choice.dimmed{opacity:.45}.feedback{background:var(--ok-soft);border-radius:20px;flex-direction:column;gap:8px;padding:16px;display:flex}.feedback.ko{background:var(--ko-soft)}.feedback.warn{background:var(--warn-soft)}.feedback.warn .feedback-title{color:var(--text)}.feedback.neutral{background:var(--surface);border:1px solid var(--border)}.translate-input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);font:inherit;resize:vertical;border-radius:14px;padding:12px 14px;font-size:1.05rem}.translate-actions{gap:8px;display:flex}.translate-actions .btn{flex:1}.btn.listening{border-color:var(--accent);color:var(--accent);animation:1.2s ease-in-out infinite listening-pulse}@keyframes listening-pulse{50%{box-shadow:0 0 0 6px color-mix(in srgb, var(--accent) 25%, transparent)}}@media (prefers-reduced-motion:reduce){.btn.listening{animation:none}}.translate-input:focus{outline:2px solid var(--accent);border-color:#0000}.translate-reference{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.translate-errors{margin:0;padding-left:18px;font-size:.92rem}.self-grade{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.feedback p{margin:0}.feedback-title{color:var(--ok);font-weight:750}.feedback.ko .feedback-title{color:var(--ko)}.feedback-note{font-size:.9rem}.answer-zone,.token-bank{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.answer-zone{border:2px dashed var(--border);border-radius:20px;align-content:flex-start;min-height:116px;padding:12px}.answer-zone.correct{border:2px solid var(--ok)}.answer-zone.wrong{border:2px solid var(--ko)}.placeholder{color:var(--muted);align-self:center;margin:auto}.token{border:1px solid var(--border);background:var(--surface);border-bottom-width:3px;border-radius:12px;min-height:44px;padding:0 14px;font-weight:600}.token-bank .token:disabled{visibility:hidden}.match-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.match-grid.fr-first .match-col:first-child{order:2}.match-col{align-content:start;gap:10px;display:grid}.match-cell{border:2px solid var(--border);background:var(--surface);border-radius:14px;min-height:64px;padding:8px 10px;font-size:.92rem;font-weight:600;line-height:1.25;transition:opacity .2s}.match-cell.selected{border-color:var(--accent);background:var(--accent-soft)}.match-cell.matched{opacity:.35;border-color:var(--ok)}.match-cell.wrong{border-color:var(--ko);background:var(--ko-soft);animation:.3s shake}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.empty-icon{margin:24px 0 0;font-size:3.5rem}.score{text-align:center;color:var(--accent);margin:0;font-size:2.2rem;font-weight:800}.mode-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.mode-card{border-radius:var(--radius);border:2px solid var(--border);background:var(--surface);text-align:left;flex-direction:column;align-items:flex-start;gap:2px;padding:12px;display:flex}.mode-card.active{border-color:var(--accent);background:var(--accent-soft)}.mode-icon{font-size:1.5rem;line-height:1.2}.mode-card small{color:var(--muted);font-size:.76rem;line-height:1.3}.setup-row{flex-wrap:wrap;flex-direction:row!important;gap:20px!important}.setup-row>div{flex-direction:column;gap:10px;display:flex}.sticky-cta{bottom:calc(var(--nav-h) + 12px + env(safe-area-inset-bottom));position:sticky}@media (width>=800px){.sticky-cta{bottom:16px}}.lead{color:var(--muted);font-size:1.08rem}.grammar-section,.pitfalls,.quiz{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);padding:18px 16px}.grammar-section .example{background:var(--bg)}.grammar-part{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);padding:14px 16px}.grammar-part>summary{cursor:pointer;align-items:center;gap:8px;list-style:none;display:flex}.grammar-part>summary::-webkit-details-marker{display:none}.grammar-part-title{flex:1;min-width:0;font-weight:650}.grammar-part .chevron:before{content:"▾";color:var(--muted);transition:transform .15s;display:inline-block;transform:rotate(-90deg)}.grammar-part[open] .chevron:before{transform:none}.grammar-part[open]>summary{margin-bottom:12px}.grammar-section.nested{background:0 0;border:0;padding:0}.grammar-section.nested+.grammar-section.nested{margin-top:14px}.grammar-section.nested h3{margin:0 0 6px;font-size:1rem}.word-row:has(+.part-row){padding-bottom:4px}.part-row{padding-top:4px;padding-bottom:4px}.part-row:last-child{padding-bottom:12px}.dimmed-row{opacity:.6}.quiz-levels{flex-wrap:wrap;gap:6px;display:flex}.quiz-levels .chip{padding:2px 10px;font-size:.78rem}.toggle-line{color:var(--muted);align-items:center;gap:8px;font-size:.9rem;display:flex}.formula{background:var(--accent-soft);border-radius:10px;margin:0;padding:8px 12px;font-family:ui-monospace,Cascadia Code,Menlo,monospace;font-size:.86rem}.richtext p,.richtext ul{margin:0}.richtext ul,.pitfalls ul{padding-left:1.2rem}.richtext,.pitfalls ul{flex-direction:column;gap:6px;display:flex}.pitfalls{background:var(--warn-soft);border-color:#0000}.lesson-examples{border-left:3px solid var(--accent);flex-direction:column;gap:10px;margin:10px 0 0;padding:0 0 0 12px;list-style:none;display:flex}.lesson-example-en{margin:0}.lesson-example-fr{color:var(--muted);margin:2px 0 0;font-size:.9rem;display:block}.pitfalls ul.pitfall-list{gap:0;padding:0;list-style:none}.pitfall-list>li{border-top:1px solid color-mix(in srgb, var(--text) 12%, transparent);padding:12px 0}.pitfall-list>li:first-child{border-top:0;padding-top:4px}.pitfall-rule{margin:0 0 8px;font-weight:650}.pitfall-rule:first-letter{text-transform:uppercase}.pitfall-columns,.pitfall-stack{flex-direction:column;gap:8px;display:flex}.pitfall-arrow{color:var(--muted);font-size:1.2rem;line-height:1.4}.pitfall-fix,.pitfall-example,.pitfall-wrong,.pitfall-right{margin:0}.pitfall-fix s,.pitfall-wrong s{color:var(--ko)}.pitfall-fix strong,.pitfall-right strong{color:var(--ok)}.pitfall-mark{font-weight:700}.pitfall-wrong .pitfall-mark{color:var(--ko)}.pitfall-right .pitfall-mark{color:var(--ok)}.pitfall-wrong{color:var(--muted)}.pitfall-pair{display:none}@media (width>=700px){.pitfall-columns{grid-template-columns:1fr auto 1fr;align-items:start;gap:14px;display:grid}.pitfall-merged{display:none}}.pitfalls ul{margin:0}.quiz-question{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding-top:12px;display:flex}.quiz-prompt{margin:0;font-weight:650}.feedback-sentence{font-weight:600}.feedback-fr{opacity:.8;font-style:italic}.quiz-explanation{color:var(--muted);margin:0;font-size:.9rem}.irregular{background:var(--accent-soft);text-align:left;border-radius:12px;flex-direction:column;align-items:flex-start;gap:8px;padding:12px 14px;display:flex}.irregular-badge{background:var(--accent);color:var(--on-accent)}.irregular-forms{flex-wrap:wrap;align-items:flex-end;gap:6px 18px;font-weight:700;display:flex}.irregular-forms span{flex-direction:column;display:flex}.irregular-forms small{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.68rem;font-weight:600}.irregular-mark{margin-left:6px;font-size:.8rem}.dialogue-controls{z-index:5;background:var(--bg);border-bottom:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:10px;margin:0 -16px;padding:10px 16px;display:flex;position:sticky;top:0}.dialogue-controls p{margin:0}@media (width>=800px){.dialogue-controls{top:60px}}.dialogue-lines{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.narration{text-align:center;max-width:90%;color:var(--muted);align-self:center;font-size:.88rem;font-style:italic}.bubble{align-items:center;gap:4px;max-width:88%;display:flex}.bubble.right{flex-direction:row-reverse;align-self:flex-end}.bubble.neutral{max-width:100%}.bubble-body{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:18px 18px 18px 4px;flex:1;padding:10px 14px}.bubble.right .bubble-body{background:var(--accent-soft);border-color:#0000;border-radius:18px 18px 4px}.bubble.playing .bubble-body{outline:2px solid var(--accent)}.bubble-body p{margin:0}.bubble-speaker{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.7rem;font-weight:800}.bubble-en{font-weight:600}.bubble.neutral .bubble-en{font-weight:400;line-height:1.55}.bubble-en.masked{color:var(--accent);font-style:italic;font-weight:500}.bubble-fr{color:var(--muted);font-size:.9rem}.bubble-note{border-top:1px dashed var(--border);padding-top:6px;font-size:.85rem;margin-top:6px!important}.badge.register{background:var(--warn-soft);color:var(--text)}.badge.register-formal{background:var(--accent-soft)}.register-note{margin:0}.register-note .badge{white-space:normal;border-radius:12px;padding:6px 12px;font-size:.82rem;line-height:1.35}.tabs{background:var(--surface-2);border-radius:999px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.tab{background:0 0;border:0;border-radius:999px;min-height:44px;font-weight:650}.tab.active{background:var(--surface);box-shadow:var(--shadow)}.chip-group{flex-direction:column;gap:6px;display:flex}.chip-group-label{color:var(--muted);font-size:.75rem;font-weight:700}.link-btn{color:var(--accent);background:0 0;border:0;padding:0;font-size:.9rem;font-weight:600}.preset-grid{scroll-snap-type:x mandatory;padding-bottom:4px;scrollbar-width:none;gap:10px;margin:0 -16px;padding-inline:16px;scroll-padding-inline:16px;display:flex;overflow-x:auto}.preset-grid::-webkit-scrollbar{display:none}.preset-grid>.preset-card{scroll-snap-align:start;flex:0 0 150px}@media (width>=800px){.preset-grid{flex-wrap:wrap;margin:0;padding-inline:0;overflow:visible}.preset-grid>.preset-card{flex:0 0 calc(25% - 7.5px);min-width:0}}.preset-card{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);color:var(--text);flex-direction:column;gap:2px;padding:14px;line-height:1.3;display:flex}.preset-card.pinned{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.preset-card small{opacity:.75;font-size:.78rem}.preset-icon{font-size:1.6rem;line-height:1.2}.grammar-pick{align-items:center;gap:8px;padding-right:12px;display:flex}.grammar-pick .word-row{flex:1;min-width:0}.section-head h1{margin:0}.silent-toggle{border:1px solid var(--border);background:var(--surface);border-radius:999px;flex:none;align-items:center;gap:6px;min-height:36px;padding:0 12px;font-size:.85rem;font-weight:600;display:inline-flex}.silent-toggle.on{background:var(--warn-soft);border-color:#0000}.silent-toggle.compact{border-radius:50%;justify-content:center;width:40px;height:40px;min-height:0;padding:0}.setting-hint{color:var(--muted);font-size:.78rem;display:block}.drawer-backdrop{z-index:50;background:#00000073;animation:.15s ease-out drawer-fade;position:fixed;inset:0}.drawer{background:var(--bg);border-radius:20px 20px 0 0;flex-direction:column;max-height:92dvh;transition:transform .2s;animation:.22s ease-out drawer-up;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 30px #0000004d}.drawer-head{border-bottom:1px solid var(--border);touch-action:none;align-items:center;gap:10px;padding:18px 16px 12px;display:flex;position:relative}.drawer-grip{background:var(--border);border-radius:999px;width:40px;height:4px;margin-left:-20px;position:absolute;top:7px;left:50%}.drawer-title{flex:1;min-width:0;font-size:1.05rem}.drawer-body{padding:16px 16px calc(24px + env(safe-area-inset-bottom));flex-direction:column;gap:16px;display:flex;overflow-y:auto}.link-btn{color:var(--accent);cursor:pointer;text-align:left;background:0 0;border:0;padding:0}@media (width>=800px){.drawer{border-radius:0;width:min(760px,70vw);max-height:none;animation:.22s ease-out drawer-left;top:0;left:auto;box-shadow:-8px 0 30px #0000004d}.drawer-grip{display:none}.drawer-head{padding-top:14px}}@keyframes drawer-fade{0%{opacity:0}}@keyframes drawer-up{0%{transform:translateY(100%)}}@keyframes drawer-left{0%{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.drawer,.drawer-backdrop{animation:none}}.listen-card{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);text-align:center;flex-direction:column;align-items:center;gap:12px;padding:28px 16px;display:flex}.dictation-step{flex-direction:column;gap:14px;display:flex}.dictation-play{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.dictation-diff .ok{color:var(--ok)}.dictation-diff .missing{color:var(--ko);font-weight:650;-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.writing-card{text-align:left;align-items:stretch;min-height:0}.criteria{margin:0;padding-left:18px}.criteria .met{color:var(--ok)}.criteria .missing{color:var(--ko)}.criteria .also{color:var(--muted);margin-top:4px;list-style:none}.text-done{color:var(--ok);font-weight:750}.capture-actions{z-index:60;white-space:nowrap;gap:6px;display:flex;position:fixed;transform:translate(-50%)}.capture-button{border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);font:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;padding:8px 14px;font-size:.9rem;font-weight:600;box-shadow:0 6px 20px #0000004d}.capture-button.secondary{border-color:var(--border);background:var(--surface);color:var(--text)}.capture-toast{z-index:60;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));background:var(--surface);border:1px solid var(--border);max-width:calc(100vw - 32px);color:var(--text);border-radius:14px;padding:10px 16px;font-size:.9rem;position:fixed;transform:translate(-50%);box-shadow:0 6px 20px #0000004d}.capture-toast .link-btn{margin-top:6px;display:block}.capture-row .word-row{cursor:default}.capture-choices{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.sense-context{color:var(--text);margin:8px 0 0;font-size:.95rem}.sense-context-label,.flashcard-senses{color:var(--muted);font-size:.85rem}.sense-list{gap:14px;margin:0;padding-left:1.4em;display:grid}.sense-head{margin:0 0 6px}.review-hero{border-radius:var(--radius);border:1px solid var(--accent);background:linear-gradient(135deg, var(--accent-soft), var(--surface) 75%);color:var(--text);justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;font-size:1.1rem;text-decoration:none;display:flex}.review-hero strong .ui-icon{color:var(--accent)}button.review-hero{width:100%;font:inherit;text-align:left;cursor:pointer;font-size:1.1rem}.review-hero span:first-child{flex-direction:column;gap:2px;display:flex}.review-hero small{color:var(--muted);font-size:.85rem}.review-rows{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin:0;padding:0;list-style:none;overflow:hidden}.review-rows li+li{border-top:1px solid var(--border)}.review-row{color:inherit;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;display:flex}.review-row .danger{color:var(--ko);white-space:nowrap;font-size:.85rem}.review-row .warn{color:var(--muted);white-space:nowrap;font-size:.85rem}a.chip{color:inherit;align-items:center;text-decoration:none;display:inline-flex}.review-builder-toggle{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-weight:600;display:flex}.review-builder-toggle small{color:var(--muted);font-size:.82rem;font-weight:400;display:block}.drawer-cta{bottom:calc(-24px - env(safe-area-inset-bottom));margin:0 -16px calc(-24px - env(safe-area-inset-bottom));padding:10px 16px calc(16px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);flex-direction:column;gap:6px;display:flex;position:sticky}.builder-more{flex-direction:column;gap:16px;display:flex}.builder-more>summary{cursor:pointer;color:var(--muted);font-weight:600}.builder-more[open]>summary{margin-bottom:12px}.theme-picker-count{color:var(--accent)}.theme-picker-chosen{flex-wrap:wrap;align-items:center;gap:6px;min-height:36px;display:flex}.chip.removable{min-height:32px;font-size:.82rem}.theme-picker-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);flex-direction:column;gap:10px;max-height:50vh;padding:12px;display:flex;overflow-y:auto}.theme-picker-group{border:0;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:2px 12px;margin:0;padding:0;display:grid}.theme-picker-group legend{color:var(--muted);margin-bottom:4px;font-size:.75rem;font-weight:700}.theme-picker-row{cursor:pointer;align-items:center;gap:8px;padding:6px 0;display:flex}.filter-bar{flex-direction:column;gap:10px;display:flex}.filter-bar-row{align-items:center;gap:8px;display:flex}.filter-bar-row .search{flex:1;min-width:0}.filter-toggle{white-space:nowrap;flex:none}.filter-toggle.has-active{border-color:var(--accent);color:var(--accent)}.filter-active{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.filter-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:14px;padding:14px;display:flex}.filter-group{flex-direction:column;gap:6px;display:flex}.filter-group-title{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:700}@media (width>=1400px){.drawer{width:820px}}.correction{flex-direction:column;gap:8px;display:flex}.correction p{margin:0}.correction-label{color:var(--muted);font-size:.78rem;margin-top:4px!important}.correction-fixed{line-height:1.9}.correction-change{background:var(--ok-soft);color:var(--ok);border-radius:4px;padding:1px 3px}.correction-errors{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.correction-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:10px 12px}.correction-fix{font-size:1.02rem}.correction-fix s{color:var(--ko)}.correction-fix strong{color:var(--ok)}.correction-why{color:var(--muted);font-size:.88rem;margin-top:2px!important}.correction-summary{margin-bottom:4px!important}.session-pager{align-items:center;gap:2px;display:inline-flex}.pager-btn{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:1.2rem;line-height:1}.pager-btn:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.pager-btn:disabled{opacity:.25;cursor:default}.track-notice{color:var(--muted);margin:0;font-size:.82rem}.track-past .btn.primary,.track-past .grade-bar,.track-past .translate-actions,.track-past .self-grade{display:none}.path-link{align-self:flex-start}.group{border-top:1px solid var(--border)}.group-head{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:14px 0;display:flex}.group.warm .group-head,.group.accent .group-head{border-left:3px solid var(--progress-warm);padding-left:12px}.group.accent .group-head{border-left-color:var(--accent)}.group.warm .group-badge-icon{color:var(--progress-warm)}.group.accent .group-badge-icon{color:var(--accent)}.group-badge-icon{border:1px solid var(--border);width:34px;height:26px;color:var(--text);border-radius:999px;flex:none;place-items:center;display:grid}.group-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.group-text strong{font-weight:650;line-height:1.3}.group-chevron{color:var(--muted);flex:none;transition:rotate .2s}.group.open .group-chevron{rotate:90deg}.group-body{padding-bottom:14px}.lesson-list .word-row-main{flex:1;min-width:0}.lesson-list .word-row-fr{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.path-unit .task-main{flex:1}.path-unit .task-main a{color:inherit}.path-unit.done{opacity:1}.path-unit.done .task-main,.path-unit.presumed .task-main,.path-unit.skipped .task-main{opacity:.55}.path-sprout .emoji{width:1.1em;height:1.1em}.path-empty{padding:0 4px 8px;line-height:1.5;list-style:none}.path-current{flex-direction:column;gap:2px;display:flex}.path-skip{align-self:flex-end}.path-ring{color:inherit;display:inline-flex}.path-side{flex:none}.badge.warn{background:var(--warn-soft)}.exam-text{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);padding:14px 16px;line-height:1.55}.exam-text h2{margin:0 0 8px;font-size:1.05rem}.exam-text p{margin:0 0 6px}.typed-gaps{flex-wrap:wrap;gap:8px;display:flex}.typed-gaps .translate-input{flex:140px;min-width:0}.mode-pill{border:1px solid var(--border);background:var(--surface);border-radius:999px;gap:4px;padding:4px;display:flex}.mode-pill-option{min-width:48px;min-height:40px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:1.1rem;transition:flex-grow .25s,background-color .25s;display:flex}.mode-pill-option.active{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent);flex-grow:1;justify-content:flex-start}.mode-pill-label{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;overflow:hidden}.mode-pill-label small{color:var(--muted)}.mode-pill-label.idle{color:var(--muted);font-size:.85rem;display:none}@media (width>=800px){.mode-pill-label.idle{display:inline}}@media (prefers-reduced-motion:reduce){.mode-pill-option{transition:none}}.mode-pill-wrap{position:relative}.mode-bubble{z-index:20;background:var(--accent);color:var(--on-accent);cursor:pointer;border-radius:14px;padding:12px 16px;font-size:.9rem;line-height:1.4;animation:.2s mode-bubble-in;position:absolute;top:calc(100% + 10px);left:0;right:0;box-shadow:0 8px 24px #00000059}.mode-bubble:before{content:"";background:var(--accent);width:14px;height:14px;position:absolute;top:-7px;transform:rotate(45deg)}.mode-bubble.left:before{left:22px}.mode-bubble.right:before{right:22px}@keyframes mode-bubble-in{0%{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.mode-bubble{animation:none}}.session-cheer{margin:4px 0 0;font-weight:600}.task.later{opacity:.55}.correction-rule{background:var(--surface-2);border-radius:10px;padding:8px 12px;font-size:.92rem}.correction-praise{color:var(--ok);font-weight:600}.roleplay-chat{flex-direction:column;gap:8px;display:flex}.roleplay-useful{flex-direction:column;gap:4px;margin:0;padding-left:18px;display:flex}.weekly-difficulty{border-radius:var(--radius);background:var(--warn-soft);color:var(--text);padding:10px 12px;font-size:.9rem;display:block}.writing-points{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.writing-points .ok{color:var(--ok)}.writing-points .ko{color:var(--ko)}.writing-useful summary{cursor:pointer;font-weight:600}.writing-useful ul{margin:8px 0 0;padding-left:18px}.writing-input{min-height:12rem;font-size:1rem;line-height:1.5}.writing-count.short,.writing-count.long{color:var(--ko)}.writing-count.fits{color:var(--ok)}.writing-text{white-space:pre-wrap;line-height:1.55}.writing-next{border-radius:var(--radius);background:var(--accent-soft);flex-direction:column;align-items:flex-start;gap:10px;margin:0;padding:10px 12px;display:flex}.writing-next p{margin:0}.fold{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.fold>summary{cursor:pointer;align-items:center;gap:8px;padding:12px 16px;font-weight:600;list-style:none;display:flex}.fold>summary::-webkit-details-marker{display:none}.fold>summary:after{content:"▾";color:var(--muted);margin-left:auto;transition:transform .15s}.fold:not([open])>summary:after{transform:rotate(-90deg)}.fold-body{flex-direction:column;gap:12px;padding:0 16px 16px;display:flex}.fold-body>p,.fold-body>h2{margin:0}.fold .correction-card{background:var(--bg)}.writing-notes{margin:0;padding-left:18px}.writing-diff p{margin:0 0 8px}.writing-diff strong{color:var(--ok)}.writing-diff s{color:var(--ko)}.writing-warn{border-radius:var(--radius);background:var(--warn-soft);padding:8px 12px}.scene-missed{background:var(--mark);border-radius:4px}.choice.selected{border-color:var(--accent);background:var(--accent-soft)}.exam-review{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.exam-review-item{border:1px solid var(--border);background:var(--surface);border-radius:12px}.exam-review-item summary{cursor:pointer;align-items:center;gap:8px;padding:10px 12px;display:flex}.exam-review-prompt{flex:1;min-width:0}.exam-review-status{text-align:center;width:1.2em;font-weight:700}.exam-review-item.ok .exam-review-status{color:var(--ok)}.exam-review-item.near .exam-review-status{color:#b45309}.exam-review-item.ko .exam-review-status{color:var(--ko)}.exam-review-body{flex-direction:column;gap:4px;padding:0 12px 12px 36px;display:flex}.exam-review-note{white-space:pre-line}.level-chart{margin:0}.level-chart svg{border-radius:10px;width:100%;height:auto;display:block}.level-chart .band{fill:var(--surface)}.level-chart .band.odd{fill:var(--accent-soft);opacity:.5}.level-chart .axis{fill:var(--muted);font-size:11px}.level-chart .axis.level{letter-spacing:.02em;font-weight:700}.level-chart polyline{fill:none;stroke-width:2px}.level-chart .understand{stroke:var(--accent);fill:var(--accent);color:var(--accent)}.level-chart .express{stroke:var(--grammar);fill:var(--grammar);color:var(--grammar)}.level-chart polyline.understand,.level-chart polyline.express{fill:none}.level-chart-head{flex-wrap:wrap;gap:4px 12px;margin-bottom:8px}.level-chart-head .section-title{margin:0}.level-chart-legend{flex-wrap:wrap;gap:4px 12px;display:flex}.level-chart circle.exam-mark{fill:none;stroke:var(--text);stroke-width:1.2px}.hero-split{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 16px;display:flex}.hero-main{flex:240px;min-width:0}.hero-main h1{margin-top:0}.hero-levels{gap:10px;display:flex}@media (width<=600px){.hero-levels{grid-auto-columns:1fr;grid-auto-flow:column;width:100%;display:grid}.level-tile{min-width:0}}.level-tile{--tone:var(--accent);border:1px solid var(--tone);background:var(--surface);min-width:96px;color:var(--text);border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:12px 12px 10px;display:flex}.level-tile.express{--tone:var(--grammar)}.level-tile-code{color:var(--tone);font-size:1.7rem;font-weight:800;line-height:1}.level-gauge{gap:2px;display:flex}.level-gauge span{background:var(--border);border-radius:2px;width:12px;height:4px}.level-gauge span.on{background:var(--tone)}.level-tile-label{color:var(--muted);font-size:.75rem}.writing-source{border-left:3px solid var(--accent);background:var(--surface);white-space:pre-wrap;border-radius:8px;margin:0;padding:12px 14px;line-height:1.5}.speaker-avatar{background:var(--accent-soft);border-radius:50%;flex-shrink:0;align-self:flex-start;margin:4px;position:relative}.speaker-avatar img{border-radius:50%;display:block}.speaker-avatar.speaking:before{content:"";background:conic-gradient(from 0deg, transparent 0 10%, var(--accent) 60%);border-radius:50%;animation:1s linear infinite speaker-ring;position:absolute;inset:-4px;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 calc(100% - 3px))}@keyframes speaker-ring{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.speaker-avatar.speaking:before{background:var(--accent);animation:none}}.btn.session-next{border-radius:24px;flex-direction:column;gap:0;padding:8px 20px}.session-next-detail{opacity:.85;font-size:.8rem;font-weight:500}.criteria-expected{color:var(--muted);font-size:.85rem}.profile-form .input{font:inherit;border:1px solid var(--border);background:var(--surface);min-height:42px;color:var(--text);border-radius:12px;max-width:100%;padding:0 12px}.profile-form .input:focus{outline:2px solid var(--accent);outline-offset:1px}.profile-form .sector-chips{padding:0 16px 14px}.onboarding{max-width:640px;margin:0 auto}.revise-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.revise-row .review-hero-card{grid-column:1/-1}@media (width>=800px){.revise-row{grid-template-columns:repeat(4,1fr)}.revise-row .review-hero-card{grid-column:span 2}}.review-hero-card{flex-direction:column;align-items:stretch;gap:10px}.review-hero-main{color:inherit;justify-content:space-between;align-items:center;gap:12px;text-decoration:none;display:flex}.review-hero-main span:first-child{flex-direction:column;gap:2px;display:flex}button.preset-card{font:inherit;text-align:left;cursor:pointer}.program-done{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 14px;display:flex}.program-done p{color:var(--celebrate);margin:0;font-weight:600}.review-hero-main .preset-icon{font-size:1.6rem}.review-hero-due{color:var(--text);margin-top:4px;font-weight:600}.correction-fix .said{color:var(--muted)}.correction-fix .better{font-weight:600;display:block}.modal-backdrop{z-index:60;background:#0000008c;place-items:center;padding:16px;animation:.2s drawer-fade;display:grid;position:fixed;inset:0}.modal{border-radius:var(--radius);background:var(--bg);border:1px solid var(--border);width:min(440px,100%);box-shadow:var(--shadow);text-align:center;flex-direction:column;gap:12px;padding:22px 20px;display:flex}.modal h2,.modal p{margin:0}.modal-icon{font-size:2.6rem}.modal-question{font-weight:600;margin-top:6px!important}.thumbs{justify-content:center;gap:16px;display:flex}.thumb{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:50%;width:72px;height:72px;font-size:2rem}.thumb.active{border-color:var(--accent);outline:2px solid var(--accent)}.modal-reasons{justify-content:center}a.hero-levels{color:inherit;text-decoration:none}.level-tile.week{--tone:var(--celebrate)}.week-bars{align-items:flex-end;gap:3px;height:calc(1.7rem + 10px);display:flex}.week-bars span{background:var(--border);border-radius:2px;width:7px}.week-bars span.on{background:var(--tone)}.progress-path-card{margin-top:8px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.explore-tabs .mode-pill-option{text-decoration:none}.explore-title{margin:0}.explore-content{view-transition-name:explore-content}.explore-tabs{view-transition-name:explore-tabs}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}::view-transition-new(explore-tabs){animation:none}::view-transition-old(explore-tabs){display:none}::view-transition-group(explore-content){animation-duration:.3s}::view-transition-old(explore-content){animation:.3s ease-in both explore-out}::view-transition-new(explore-content){animation:.3s ease-out both explore-in}:root{--explore-dir:1}:root[data-explore-dir=back]{--explore-dir:-1}.explore-body{flex-direction:column;gap:20px;display:flex}.explore-body>section{flex-direction:column;gap:10px;display:flex}@keyframes explore-out{35%,to{opacity:0;transform:translateX(calc(-24px * var(--explore-dir)))}}@keyframes explore-in{0%,35%{opacity:0;transform:translateX(calc(24px * var(--explore-dir)))}}.user-popover-warn{color:var(--ko);font-size:.78rem}.app.focus .nav{display:none}.app.focus{padding-top:0;padding-bottom:0}.focus-bar{max-width:960px;margin:0 auto;padding:10px 16px 0}.program-footer{z-index:15;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--bg) 70%, transparent);margin:8px -16px 0;position:sticky;bottom:0}.program-footer-inner{max-width:560px;margin:0 auto}@media (width<=799px){.program-footer .session-home{display:none}}.check-sticky,.translate-actions{bottom:calc(12px + env(safe-area-inset-bottom));z-index:5;position:sticky}.check-sticky,.translate-actions .btn{box-shadow:0 6px 20px #0000004d}.translate-actions .btn:not(.primary){background:var(--surface)}@media (width<=799px){.app:not(.focus) .check-sticky,.app:not(.focus) .translate-actions{bottom:calc(12px + var(--nav-h) + env(safe-area-inset-bottom))}}.check-sticky:disabled,.translate-actions .btn:disabled{opacity:1;background:var(--surface-2);border-color:var(--border);color:var(--muted)}.mode-pill.compact{align-self:flex-start;max-width:100%;padding:3px;display:inline-flex}.mode-pill.compact .mode-pill-option.active{flex-shrink:1;min-width:0}.mode-pill.compact{gap:2px}.mode-pill.compact .mode-pill-option{gap:6px;min-width:36px;min-height:34px;padding:0 12px}@media (width<=799px){.mode-pill.compact .mode-pill-option:not(.active){padding:0}}.mode-pill.compact .mode-pill-label{font-size:.88rem}.info-btn{border:1px solid var(--border);width:20px;height:20px;color:var(--muted);text-transform:none;letter-spacing:0;vertical-align:1px;cursor:pointer;background:0 0;border-radius:50%;place-items:center;margin-left:6px;padding:0;font:italic 700 .72rem/1 Georgia,serif;display:inline-grid}.info-btn:before{content:"";position:absolute;inset:-12px}.info-btn{position:relative}.info-btn:hover,.info-btn.open{border-color:var(--accent);color:var(--accent)}.info-text{border-radius:var(--radius);background:var(--surface-2);margin-top:8px;padding:10px 12px;font-size:.88rem;line-height:1.5}.session-bar>.report-btn{color:var(--muted);background:0 0;margin-left:auto}.session-bar>.report-btn+.icon-btn{margin-left:0}.report-quote{border-left:3px solid var(--accent);background:var(--surface-2);border-radius:6px;margin:0;padding:8px 12px;font-size:.92rem}.report-actions{justify-content:flex-end;gap:8px;display:flex}.choices.pair{grid-template-columns:1fr 1fr}.choices.pair .choice{font-size:1.25rem;font-weight:700}.game-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.game-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);align-items:center;gap:14px;padding:14px 16px;text-decoration:none;display:flex}.game-card:hover{border-color:var(--accent)}.game-icon{font-size:1.8rem}.game-main{flex-direction:column;flex:1;gap:2px;display:flex}.game-meta{white-space:nowrap}.mystery-turns{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.mystery-turns p{margin:0}.debate-avatar{background:var(--surface-2);border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-size:1.3rem;display:grid}.define-hint{letter-spacing:.05em;white-space:pre-wrap;margin:8px 0 0;font-family:ui-monospace,monospace;font-size:1.1rem}.hidden-clue{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 10px;margin:-4px 0 14px;display:flex}.guess-board{margin:4px 0 12px;position:relative}.guess-input{opacity:0;cursor:text;width:100%;font-size:16px;position:absolute;inset:0}.guess-tiles{border:2px dashed var(--border);border-radius:14px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;min-height:56px;padding:8px;display:flex}.guess-board:focus-within .guess-tiles{border-color:var(--accent)}.guess-tile{background:var(--surface-2);border:1px solid var(--border);text-transform:uppercase;border-radius:8px;place-items:center;width:36px;height:44px;font-size:1.35rem;font-weight:750;animation:.12s ease-out tile-in;display:grid}.gap-slot{vertical-align:middle;align-items:center;gap:6px;margin:2px 3px;display:inline-flex;position:relative}.guess-tiles.inline{border-width:0 0 2px;border-radius:4px;justify-content:flex-start;gap:3px;min-width:4.5em;min-height:34px;padding:2px 4px;display:inline-flex}.guess-tiles.inline .guess-tile{text-transform:none;border-radius:6px;width:22px;height:28px;font-size:1rem}.guess-tiles.inline .guess-tile.caret{width:2px}.gap-slot:focus-within .guess-tiles.inline{border-color:var(--accent)}.gap-slot:not(:focus-within) .guess-tile.caret{visibility:hidden}.guess-prefix{display:contents}.guess-tile.fixed{color:var(--muted);background:0 0;border-style:dashed;animation:none}.guess-tiles.ok .guess-tile.fixed,.guess-tiles.ko .guess-tile.fixed,.guess-tiles.warn .guess-tile.fixed{background:0 0}.guess-space{width:14px}.guess-tile.caret{background:var(--accent);border:0;border-radius:2px;width:3px;animation:1s steps(2,end) infinite caret-blink}.guess-board:not(:focus-within) .guess-tile.caret{visibility:hidden}.guess-placeholder{color:var(--muted)}.guess-tiles.ok .guess-tile{background:var(--ok-soft);border-color:var(--ok);color:var(--ok)}.guess-tiles.ko .guess-tile{background:var(--ko-soft);border-color:var(--ko);color:var(--ko)}.guess-tiles.warn .guess-tile{border-color:var(--warn,#d97706);color:var(--warn,#d97706)}.guess-tiles.ok,.guess-tiles.ko,.guess-tiles.warn{border-style:solid}.guess-tiles.shake{animation:.35s ease-in-out tiles-shake}.guess-tried{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:6px 12px;margin:0 0 8px;display:flex}.guess-timer{background:var(--accent);transform-origin:0;pointer-events:none;border-radius:2px;height:4px;animation-name:guess-timer;animation-timing-function:linear;animation-fill-mode:forwards;position:absolute;bottom:-9px;left:8px;right:8px}@keyframes guess-timer{0%{transform:scaleX(1)}66%{background:var(--accent)}to{background:var(--ko);transform:scaleX(0)}}@keyframes tile-in{0%{transform:scale(.6)}}@keyframes caret-blink{50%{opacity:0}}@keyframes tiles-shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}@media (width<=420px){.guess-tile{width:30px;height:40px;font-size:1.15rem}}.hidden-lines{gap:10px;margin:0 0 16px;padding:0;list-style:none;display:grid}.hidden-line{background:var(--surface-2);border-radius:12px;padding:12px 14px;animation:.25s ease-out hidden-in}.hidden-line p{margin:0;font-size:1.05rem;line-height:1.5}.hidden-line .example-fr{margin-top:4px;font-size:.9rem}.hidden-gap{border-bottom:2px solid var(--accent);min-width:4.5em;color:var(--accent);text-align:center;font-weight:650;display:inline-block}mark.gap-fill,mark.hidden-found{background:var(--ok-soft);color:var(--ok);outline:1px solid var(--ok)}mark.hidden-lost{background:var(--ko-soft);color:var(--ko);outline:1px solid var(--ko)}@keyframes hidden-in{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.hidden-line,.guess-tile,.guess-tiles.shake{animation:none}}.shadow-rating{justify-content:center}.debate-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);align-items:flex-start;gap:12px;padding:14px 16px;text-decoration:none;display:flex}.debate-card:hover{border-color:var(--accent)}.debate-card-main{flex-direction:column;gap:4px;min-width:0;display:flex}.debate-quote{font-weight:600;line-height:1.4}.text-meta{margin:0;line-height:1.7}.text-meta a{color:inherit}.text-divider{border:0;border-top:1px solid var(--border);width:100%;margin:28px 0 8px}.nowrap{white-space:nowrap}.review-chat .bubble-body .correction-fix{margin:0}.review-ok{color:var(--ok);font-weight:700}.review-natural{margin:6px 0 0;font-size:.92rem}.pron-feedback.pron-fair,.pron-feedback.pron-poor{background:var(--warn-soft)}.pron-feedback.pron-fair .feedback-title,.pron-feedback.pron-poor .feedback-title{color:var(--text)}.pron-sentence{flex-wrap:wrap;gap:4px 8px;margin:0;font-size:1.05rem;font-weight:600;line-height:1.5;display:flex}.pron-word.ok{color:var(--ok)}button.pron-word{font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px dashed;border-radius:4px;padding:0 2px}.pron-word.fair{color:#b45309}.pron-word.bad{color:var(--ko)}.pron-word.open{background:var(--surface)}.pron-bubble{border:1px solid var(--border);background:var(--surface);border-radius:14px;flex-direction:column;gap:6px;margin-top:10px;padding:12px 14px;display:flex;position:relative}.pron-bubble-head{align-items:center;gap:4px;margin:0;display:flex}.ipa{white-space:nowrap;font-family:Charis SIL,Doulos SIL,Segoe UI,system-ui,sans-serif;font-weight:700}.pron-alert{background:var(--warn-soft);color:var(--text);font:inherit;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.85rem;display:inline-flex}.pron-scoring{animation:1.2s ease-in-out infinite pron-pulse}@keyframes pron-pulse{50%{opacity:.4}}.say-word{font-size:2rem;font-weight:800}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .pron-word.fair{color:#fbbf24}}:root[data-theme=dark] .pron-word.fair{color:#fbbf24}@media (prefers-reduced-motion:reduce){.pron-scoring{animation:none}}.emoji{vertical-align:-.22em;object-fit:contain;-webkit-user-select:none;user-select:none;width:1.2em;height:1.2em;display:inline-block}span.emoji{vertical-align:baseline;width:auto;height:auto}.swatch{vertical-align:middle;border-radius:22%;flex:none;display:inline-block;box-shadow:inset 0 0 0 1px #00000014,0 2px 6px #0000001f}.swatch.light{box-shadow:inset 0 0 0 2px var(--border), 0 2px 6px #0000001f}.picture-prompt{flex-direction:column;align-items:center;gap:12px;display:flex}.picture-prompt .picture,.picture-prompt .swatch,.discover-card .picture,.discover-card .swatch{animation:.35s cubic-bezier(.2,1.4,.4,1) both picture-in}.picture-question{align-items:center;gap:6px;margin:0;font-size:1.2rem;font-weight:700;display:flex}.choices .choice .swatch{margin-right:8px}.picture-choices{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.picture-choice{place-items:center;min-height:112px;display:grid}.choice.correct{animation:.35s ease-out choice-pop}.choice.wrong{animation:.4s ease-in-out choice-shake}.picture-answer{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.count-grid{flex-wrap:wrap;justify-content:center;gap:6px;max-width:320px;display:flex}.count-item{animation:.3s cubic-bezier(.2,1.4,.4,1) both picture-in}.count-item:nth-child(2){animation-delay:50ms}.count-item:nth-child(3){animation-delay:.1s}.count-item:nth-child(4){animation-delay:.15s}.count-item:nth-child(5){animation-delay:.2s}.count-item:nth-child(6){animation-delay:.25s}.count-item:nth-child(7){animation-delay:.3s}.count-item:nth-child(8){animation-delay:.35s}.count-item:nth-child(9){animation-delay:.4s}.count-item:nth-child(10){animation-delay:.45s}.picture-pairs{grid-template-columns:1fr 1fr;gap:12px;display:grid}.picture-pairs-col{flex-direction:column;gap:10px;display:flex}.pair-cell{border:2px solid var(--border);background:var(--surface);min-height:72px;color:var(--text);font:inherit;cursor:pointer;border-radius:16px;place-items:center;padding:8px;font-size:1.1rem;font-weight:700;transition:transform .15s,border-color .15s,background .15s;display:grid}.pair-cell.selected{border-color:var(--accent);background:var(--accent-soft);transform:scale(1.03)}.pair-cell.matched{border-color:var(--ok);background:var(--ok-soft);opacity:.55;animation:.35s ease-out choice-pop}.pair-cell.wrong{border-color:var(--ko);background:var(--ko-soft)}.pair-cell.shake{animation:.4s ease-in-out choice-shake}.discover-card{flex-direction:column;align-items:center;gap:8px;padding:28px 16px;display:flex}.discover-word{align-items:center;gap:6px;margin:8px 0 0;font-size:2rem;font-weight:800;display:flex}.first-steps-head h1{align-items:center;gap:10px;display:flex}.first-steps-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.first-step-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);align-items:center;gap:12px;padding:12px 14px;display:flex}.first-step-row.current{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.first-step-row.todo{opacity:.6}.first-step-badge{background:var(--surface-2);border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:.85rem;font-weight:800;display:grid}.first-step-row.done .first-step-badge{background:var(--ok);color:var(--on-accent)}.first-step-row.current .first-step-badge{background:var(--accent);color:var(--on-accent)}.first-step-text{flex-direction:column;flex:1;min-width:0;display:flex}.first-steps-offer{border-radius:var(--radius);background:var(--ok-soft);align-items:center;gap:12px;margin:8px 0 16px;padding:14px;display:flex}.first-steps-offer>span{flex-direction:column;flex:1;display:flex}.first-steps-trophy{margin:12px 0;animation:.7s cubic-bezier(.2,1.5,.4,1) both trophy-in;display:inline-block}@keyframes picture-in{0%{opacity:0;transform:scale(.6)}}@keyframes choice-pop{50%{transform:scale(1.06)}}@keyframes choice-shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}@keyframes trophy-in{0%{opacity:0;transform:scale(.3)rotate(-20deg)}70%{transform:scale(1.15)rotate(6deg)}}@media (prefers-reduced-motion:reduce){.picture-prompt .picture,.picture-prompt .swatch,.discover-card .picture,.discover-card .swatch,.count-item,.choice.correct,.choice.wrong,.pair-cell.matched,.pair-cell.shake,.first-steps-trophy{animation:none}}.riddle-page{--stage:#120f2e;--stage-2:#231c5c;--stage-text:#f4f2ff}.riddle-round{font-weight:800}.riddle-total{background:var(--stage);color:#ffd43b;font-variant-numeric:tabular-nums;border-radius:999px;margin-left:auto;padding:4px 12px;font-weight:800}.riddle-stage{background:radial-gradient(120% 90% at 50% 0%, var(--stage-2) 0%, var(--stage) 70%);color:var(--stage-text);border-radius:28px;flex-direction:column;align-items:center;gap:18px;padding:24px 16px 28px;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 40px #120f2e59,inset 0 1px #ffffff14}.riddle-stage:before{content:"";pointer-events:none;background:conic-gradient(from 200deg at 50% 0,#0000 0deg,#ffffff12 20deg,#0000 40deg 320deg,#ffffff12 340deg,#0000 360deg);height:120%;animation:9s ease-in-out infinite alternate riddle-spot;position:absolute;inset:-40% -20% auto}.riddle-stage>*{position:relative}.riddle-intro{text-align:center}.riddle-logo{background:radial-gradient(circle at 35% 30%,#ffe066,#f59f00 60%,#d9480f);border-radius:50%;place-items:center;width:110px;height:110px;animation:3s ease-in-out infinite riddle-float;display:grid;box-shadow:0 0 0 8px #ffd43b26,0 0 40px #ffd43b73}.riddle-logo-q{color:#fff;text-shadow:0 3px #0003;font-size:4rem;font-weight:900;line-height:1;animation:3s ease-in-out infinite riddle-wobble}.riddle-title{letter-spacing:-.02em;background:linear-gradient(90deg,#ffe066,#fff,#ffe066) 0 0/200% 100%;color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:2.2rem;font-weight:900;animation:4s linear infinite riddle-shine}.riddle-rules{text-align:left;color:#f4f2ffd9;flex-direction:column;gap:6px;margin:0;padding:0 0 0 18px;display:flex}.riddle-best,.riddle-final-label{color:#ffd43b;margin:0;font-weight:700}.riddle-go{color:#3b2400;width:100%;max-width:360px;font:inherit;cursor:pointer;background:linear-gradient(#ffe066,#fab005);border:0;border-radius:999px;padding:16px;font-size:1.2rem;font-weight:900;transition:transform .1s,box-shadow .1s;box-shadow:0 6px #c77c02,0 12px 24px #0000004d}.riddle-go:active{transform:translateY(4px);box-shadow:0 2px #c77c02,0 6px 12px #0000004d}.riddle-leave{max-width:360px}.riddle-value-wrap{text-align:center}.riddle-value{font-variant-numeric:tabular-nums;text-shadow:0 0 24px;margin:0;font-size:4.5rem;font-weight:900;line-height:1;animation:.35s cubic-bezier(.2,1.6,.4,1) riddle-pop}.riddle-value.locked{animation:1s ease-in-out infinite riddle-pulse}.riddle-value-label{color:#f4f2ffb3;margin:4px 0 0;font-size:.85rem}.riddle-track{border-radius:14px;width:100%;height:44px;display:flex;position:relative;box-shadow:inset 0 0 0 2px #ffffff1f}.riddle-track.mini{max-width:360px;height:30px}.riddle-slice{color:#000000b3;place-items:center;min-width:0;font-size:.8rem;font-weight:900;transition:filter .3s,transform .3s;display:grid}.riddle-slice:first-child{border-radius:14px 0 0 14px}.riddle-slice:nth-child(11){border-radius:0 14px 14px 0}.riddle-slice:nth-child(n+8){color:#ffffffd9}.riddle-slice.past{filter:saturate(.2)brightness(.45)}.riddle-slice.current{z-index:1;transform:scaleY(1.25);box-shadow:0 0 18px #ffffff73}.riddle-cursor{z-index:2;background:#fff;border-radius:2px;width:4px;margin-left:-2px;position:absolute;top:-8px;bottom:-8px;box-shadow:0 0 12px #fff,0 0 24px #ffd43b}.riddle-cursor.paused{animation:.8s steps(2,end) infinite riddle-blink}.riddle-clues{gap:8px;display:flex}.riddle-dot{background:#ffffff2e;border-radius:50%;width:12px;height:12px;transition:background .3s,transform .3s}.riddle-dot.heard{background:#ffffffb3}.riddle-dot.now{background:#ffd43b;transform:scale(1.4);box-shadow:0 0 12px #ffd43b}.riddle-caption{text-align:center;margin:0;font-size:1.1rem;font-weight:700}.riddle-buzzer{color:#fff;width:168px;height:168px;font:inherit;letter-spacing:.08em;cursor:pointer;-webkit-tap-highlight-color:transparent;background:radial-gradient(circle at 35% 30%,#ff8787,#e03131 55%,#a51111);border:0;border-radius:50%;place-items:center;margin:8px 0;font-size:1.6rem;font-weight:900;transition:transform 80ms,box-shadow 80ms;animation:1.6s ease-out infinite riddle-ring;display:grid;box-shadow:0 10px #7a0c0c,0 18px 30px #00000073,0 0 0 10px #e031312e}.riddle-buzzer:active{transform:translateY(8px)scale(.97);box-shadow:0 2px #7a0c0c,0 6px 12px #00000073,0 0 0 16px #e0313140}.riddle-answer{flex-direction:column;gap:10px;width:100%;animation:.3s ease-out riddle-rise;display:flex}.riddle-answer.shake{animation:.4s ease-in-out choice-shake}.riddle-answer-title{text-align:center;margin:0;font-size:1.2rem;font-weight:800}.riddle-input{color:#fff;width:100%;font:inherit;text-align:center;background:#ffffff14;border:2px solid #ffffff40;border-radius:16px;padding:14px 16px;font-size:1.2rem}.riddle-input:focus{border-color:#ffd43b;outline:none;box-shadow:0 0 0 4px #ffd43b33}.riddle-answer-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.riddle-answer .link-btn,.riddle-reveal .muted,.riddle-reveal-clues summary{color:#f4f2ffbf}.riddle-reveal{text-align:center;flex-direction:column;align-items:center;gap:8px;width:100%;animation:.4s ease-out riddle-rise;display:flex}.riddle-reveal-kicker{color:#f4f2ffb3;margin:0}.riddle-reveal-answer{color:#ffd43b;align-items:center;gap:6px;margin:0;font-size:2rem;font-weight:900;display:flex}.riddle-reveal.won .riddle-reveal-answer{animation:.5s cubic-bezier(.2,1.6,.4,1) riddle-pop}.riddle-reveal-fr{margin:0;font-weight:700}.riddle-reveal-clues{text-align:left;width:100%}.riddle-reveal-clues summary{cursor:pointer;text-align:center}.riddle-reveal-clues ol{flex-direction:column;gap:4px;margin:8px 0 4px;padding-left:22px;display:flex}.riddle-burst{pointer-events:none;position:absolute;top:40px;left:50%}.riddle-burst span{background:var(--c);border-radius:3px;width:10px;height:10px;animation:.9s ease-out forwards riddle-confetti;position:absolute}.riddle-final{color:#ffd43b;text-shadow:0 0 30px #ffd43b80;margin:0;font-size:5rem;font-weight:900;line-height:1;animation:.6s cubic-bezier(.2,1.6,.4,1) riddle-pop}.riddle-final small{color:#f4f2ff99;font-size:1.5rem}.riddle-record{color:#3b2400;background:#ffd43b;border-radius:999px;margin:0;padding:6px 16px;font-weight:900;animation:1s ease-in-out infinite riddle-pulse}.riddle-recap{text-align:left;flex-direction:column;gap:8px;width:100%;margin:0;padding:0;list-style:none;display:flex}.riddle-recap li{align-items:center;gap:10px;display:flex}.riddle-recap-points{color:#111;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;font-weight:900;display:grid}@keyframes riddle-spot{0%{transform:rotate(-8deg)}to{transform:rotate(8deg)}}@keyframes riddle-float{50%{transform:translateY(-8px)}}@keyframes riddle-wobble{25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}@keyframes riddle-shine{to{background-position:-200% 0}}@keyframes riddle-pop{0%{opacity:0;transform:scale(.5)}}@keyframes riddle-pulse{50%{transform:scale(1.08)}}@keyframes riddle-blink{50%{opacity:.2}}@keyframes riddle-ring{0%{box-shadow:0 10px #7a0c0c,0 18px 30px #00000073,0 0 #e0313173}to{box-shadow:0 10px #7a0c0c,0 18px 30px #00000073,0 0 0 26px #e0313100}}@keyframes riddle-rise{0%{opacity:0;transform:translateY(16px)}}@keyframes riddle-confetti{0%{transform:rotate(var(--a)) translateY(0) scale(1);opacity:1}to{transform:rotate(var(--a)) translateY(-120px) scale(.4) rotate(180deg);opacity:0}}@media (prefers-reduced-motion:reduce){.riddle-stage:before,.riddle-logo,.riddle-logo-q,.riddle-title,.riddle-value,.riddle-value.locked,.riddle-buzzer,.riddle-cursor.paused,.riddle-answer,.riddle-reveal,.riddle-burst span,.riddle-final,.riddle-record{animation:none}}.letter-choices{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.letter-choice{min-height:96px;font-size:2.6rem;font-weight:900}.alphabet-board{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:8px;display:grid}.alphabet-key{aspect-ratio:1;border:2px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:14px;font-size:1.5rem;font-weight:900;transition:transform .12s,background .12s}.alphabet-key.trap{color:#d9480f;border-color:#f59f00}.alphabet-key.heard{background:var(--accent-soft);transform:scale(1.08)}.alphabet-tip{text-align:center;min-height:2.6em;margin:0}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .alphabet-key.trap{color:#ffa94d}}:root[data-theme=dark] .alphabet-key.trap{color:#ffa94d}
