@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,400;0,500;1,400;1,500&display=swap";@import"https://fonts.googleapis.com/css2?family=Noto+Sans+Thai:wght@100;200;300;400;500;600;700;800;900&display=swap";@import"https://fonts.googleapis.com/css2?family=Noto+Sans+Thai+Looped:wght@300;400;500;600;700;800&display=swap";:root{--app-font-ui: "Noto Sans Thai", "Noto Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--app-font-heading: "Noto Sans", "Noto Sans Thai", system-ui, -apple-system, "Segoe UI", sans-serif;--app-font-thai: "Noto Sans Thai Looped", "Leelawadee UI", "Noto Sans Thai", "Tahoma", sans-serif;--app-font-mono: "Consolas", "Courier New", monospace;--app-bg: #f5f7fb;--app-surface: #ffffff;--app-surface-alt: #f8fafc;--app-text: #1f2937;--app-muted: #6b7280;--app-border: #e5e7eb;--app-header-gradient: var(--teacher-accent-strong);--app-header-text: #ffffff;--teacher-bg: #fff8ec;--teacher-surface: #ffffff;--teacher-surface-warm: linear-gradient(135deg, #fff8ec 0%, #fbe6cf 100%);--teacher-ink: #20130f;--teacher-ink-soft: #674a3d;--teacher-ink-faint: #927a68;--teacher-accent: #a05c32;--teacher-accent-strong: linear-gradient(135deg, #2f211b, #8d5130);--teacher-hairline: rgba(160, 92, 50, .18);font-family:var(--app-font-ui);line-height:1.5;font-weight:400;color-scheme:light;color:var(--app-text);background-color:var(--app-bg);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;unicode-bidi:normal;text-rendering:optimizeLegibility;-webkit-font-feature-settings:"kern" 1,"liga" 1;font-feature-settings:"kern" 1,"liga" 1}.app.landing.landing-v2{background:var(--teacher-bg);min-height:100dvh}.card-text,.thai-word-text,.thai-text,[lang=th]{font-family:var(--app-font-thai)!important;lang:"th";unicode-bidi:normal;direction:ltr;-webkit-font-feature-settings:"kern" 1,"liga" 1;font-feature-settings:"kern" 1,"liga" 1;text-rendering:optimizeLegibility}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;background:var(--app-bg);color:var(--app-text)}#root{width:100%}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}html[dir=rtl] body,html[dir=rtl] .app{direction:rtl}html[dir=rtl] [lang=th]:not([dir]),html[dir=rtl] .thai-word-text:not([dir]),html[dir=rtl] .thai-text:not([dir]),html[dir=rtl] .card-text:not([dir]),html[dir=rtl] .romanization-text:not([dir]),html[dir=rtl] .pronunciation-text-inline:not([dir]),html[dir=rtl] .english-word-text:not([dir]),html[dir=rtl] .english-text:not([dir]),html[dir=rtl] .mono:not([dir]),html[dir=rtl] code:not([dir]),html[dir=rtl] pre:not([dir]){direction:ltr;unicode-bidi:isolate}html[dir=rtl] .bottom-nav{flex-direction:row-reverse}html[dir=rtl] .settings-back-arrow,html[dir=rtl] .settings-back-btn,html[dir=rtl] .settings-card-chevron,html[dir=rtl] .glass-card-chevron{transform:scaleX(-1)}html[dir=rtl] .debug-val,html[dir=rtl] .study-history-value,html[dir=rtl] .stats-headline-value{text-align:left}html[dir=rtl] .pronunciation-input,html[dir=rtl] .translation-input{direction:ltr;text-align:left}html[dir=rtl] .app-header .header-title h1,html[dir=rtl] .settings-page-title,html[dir=rtl] .stats-section-title,html[dir=rtl] .milestones-title,html[dir=rtl] .glass-card-title{text-align:right}html[dir=rtl] .dashboard-cta-btn,html[dir=rtl] .ss-btn,html[dir=rtl] .landing-cta-btn{text-align:center}.app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--app-bg);color:var(--app-text);font-family:var(--app-font-ui)}.app-header{background:var(--app-header-gradient);color:var(--app-header-text);padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 10px #0000001a;gap:2rem}.app-header h1{margin:0;font-size:2rem;font-weight:700;flex-shrink:0;font-family:var(--app-font-heading)}.app-header p{margin:.5rem 0 0;opacity:.9;font-size:1.1rem}.app-header .header-tagline{margin-top:.35rem;font-size:1rem;opacity:.65}.app h2,.app h3,.app h4,.app h5,.app h6{font-family:var(--app-font-heading)}code,pre{font-family:var(--app-font-mono)}.session-badge{display:inline-flex;align-items:center;margin-inline-start:.75rem;padding:.15rem .6rem;border-radius:999px;background:#fff3;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.home-header{padding:2.5rem 2rem}.home-header .home-kicker{margin:0 0 .4rem;font-size:.85rem;letter-spacing:.18em;font-weight:600;opacity:.8;text-transform:uppercase}.home-header .home-title{margin:0;font-size:clamp(2.6rem,4vw,3.4rem);font-weight:800;letter-spacing:.02em;font-family:var(--app-font-heading)}.home-header .home-tagline{margin:.45rem 0 0;font-size:clamp(1.05rem,1.6vw,1.25rem);font-weight:500;color:#ffffffa6;line-height:1.6}.home-header .home-subtitle{margin:.5rem 0 0;font-size:clamp(1.15rem,2vw,1.4rem);font-weight:400;color:#ffffffb8;max-width:42rem;line-height:1.45}.home-header .home-support{margin:.35rem 0 0;font-size:1rem;font-weight:500;color:#fff9}.home-footer{margin:2.5rem auto 1.5rem;font-size:.85rem;color:#6b7280;text-align:center}.app-header .header-title{flex:1;min-width:0}@media(max-width:720px){.app-header h1,.study-session-subtitle{display:none}}.back-btn{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.5rem 1rem;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:.9rem}.back-btn:hover{background:#ffffff4d;transform:translate(-2px)}main{flex:1;padding:1rem;max-width:600px;margin:0 auto;width:100%;box-sizing:border-box}@media(min-width:768px){main{max-width:700px}}.home-stats{display:flex;gap:2rem;margin:2.5rem 0 3rem;justify-content:center}.home-stats .stat-card{background:#f8fafc;border-color:#e2e8f0;box-shadow:none}.home-stats .stat-number{font-size:2rem;color:#475569}.stat-card{background:#fff;border:1px solid #e1e5e9;border-radius:12px;padding:2rem;text-align:center;box-shadow:0 2px 8px #0000001a;min-width:140px;flex:1;max-width:300px}.stat-number{font-size:2.2rem;font-weight:700;color:var(--teacher-accent);margin-bottom:.5rem;word-break:break-all;line-height:1.1}.stat-label{color:#64748b;font-weight:500;text-transform:uppercase;letter-spacing:.5px;font-size:.9rem}.stat-meta{margin-top:.35rem;font-size:.85rem;color:#94a3b8;font-weight:500}.stat-progress{margin-top:.65rem;height:6px;border-radius:999px;background:#e2e8f0;overflow:hidden}.stat-progress-fill{height:100%;background:linear-gradient(90deg,#818cf8,#60a5fa)}.weekly-total{margin:.35rem 0 1rem;font-size:1rem;font-weight:600;color:#1f2937}.home-actions{display:flex;flex-direction:column;gap:1rem;margin-bottom:3rem}.home-secondary-cta{margin:0 0 1rem;border:1.5px solid #c7d2fe;color:#4f46e5;background:#fff}.home-actions .action-btn.primary{padding:1.15rem 2rem;font-size:1.15rem}.home-actions .home-study-cta{display:inline-flex;flex-direction:column;gap:.25rem;line-height:1.2}.home-actions .home-study-title{font-weight:700}.home-actions .home-study-subtitle{font-size:.95rem;opacity:.9}.home-links{display:flex;flex-direction:column;gap:.5rem}.link-btn{background:none;border:none;color:#4f46e5;font-weight:600;cursor:pointer;text-align:start;padding:.15rem 0}.link-btn:hover{color:#4338ca;text-decoration:underline}.action-btn{padding:1rem 2rem;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-align:center;display:flex;align-items:center;justify-content:center;gap:.5rem}.action-btn.primary{background:var(--app-header-gradient);color:var(--app-header-text)}.action-btn.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #a05c324d}.action-btn.primary:disabled{background:#e2e8f0;color:#94a3b8;cursor:not-allowed}.landing-v2{background:#0b1120;min-height:100vh;min-height:100dvh;position:relative;overflow:hidden}.landing-bokeh{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}.landing-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.45}.landing-orb-cyan{width:320px;height:320px;background:radial-gradient(circle,#06b6d4 0%,transparent 70%);top:-60px;right:-80px}.landing-orb-purple{width:280px;height:280px;background:radial-gradient(circle,#8b5cf6 0%,transparent 70%);top:30%;left:-100px}.landing-orb-green{width:200px;height:200px;background:radial-gradient(circle,#4ade80 0%,transparent 70%);bottom:15%;right:-40px;opacity:.3}.landing-orb-violet{width:250px;height:250px;background:radial-gradient(circle,#6366f1 0%,transparent 70%);bottom:-80px;left:20%;opacity:.35}.landing-content{position:relative;z-index:1;max-width:480px;margin:0 auto;padding:3rem 1.5rem 4rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:0}.landing-logo{display:flex;align-items:center;gap:.5rem;margin-bottom:2.5rem}.landing-logo-icon{flex-shrink:0}.landing-logo-text{font-size:1.5rem;font-weight:700;color:#fff;font-family:var(--app-font-heading, "Inter", system-ui, sans-serif);letter-spacing:-.01em}.landing-headline{margin:0 0 1rem;font-size:clamp(2.2rem,8vw,2.8rem);font-weight:800;line-height:1.1;color:#fff;font-family:var(--app-font-heading, "Inter", system-ui, sans-serif);letter-spacing:-.02em}.landing-sub{margin:0 0 2rem;font-size:.95rem;color:#a0a8b8;line-height:1.5}.landing-langpickers{display:flex;flex-direction:column;gap:.9rem;width:100%;max-width:360px;margin:0 auto 1.5rem}@media(min-width:560px){.landing-langpickers{flex-direction:row;gap:1.5rem;max-width:480px}}.landing-langpicker{flex:1;min-width:0;display:flex;flex-direction:column;gap:.35rem;text-align:start}.landing-langpicker label{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:#a0a8b8}.landing-langpicker select{width:100%;padding:.6rem .65rem;border-radius:10px;background:#ffffff12;border:1px solid rgba(255,255,255,.16);color:#e8ecf4;font-size:.9rem;font-family:inherit}.landing-langpicker select option,.settings-input option{color:#1a2030;background:#fff}.landing-cta-btn{display:inline-flex;align-items:center;justify-content:center;padding:.95rem 2.5rem;font-size:1.1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#7c3aed,#6366f1);border:none;border-radius:24px;cursor:pointer;box-shadow:0 0 30px #7c3aed59,0 8px 20px #6366f140;transition:transform .15s ease,box-shadow .15s ease;margin-bottom:3rem;-webkit-tap-highlight-color:transparent}.landing-cta-btn:hover{transform:translateY(-1px);box-shadow:0 0 40px #7c3aed80,0 12px 28px #6366f159}.landing-cta-btn:active{transform:translateY(1px)}.landing-cta-bottom{margin-bottom:0;margin-top:1rem;font-size:1rem;padding:.8rem 2rem;opacity:.9}.landing-cards{display:flex;flex-direction:column;gap:1rem;width:100%;margin-bottom:2rem}.landing-card{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:1.5rem;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);text-align:start;transition:border-color .2s ease}.landing-card:hover{border-color:#ffffff2e}.landing-card-icon{width:44px;height:44px;border-radius:12px;background:#ffffff14;display:flex;align-items:center;justify-content:center;margin-bottom:.85rem;color:#a5b4fc}.landing-card-title{margin:0 0 .4rem;font-size:1.05rem;font-weight:600;color:#fff}.landing-card-desc{margin:0;font-size:.875rem;color:#8892a8;line-height:1.5}.landing-card-cyan{border-color:#22d3ee33}.landing-card-cyan .landing-card-icon{background:#22d3ee1a;color:#22d3ee}.landing-card-purple{border-color:#a78bfa33}.landing-card-purple .landing-card-icon{background:#a78bfa1a;color:#a78bfa}.landing-card-green{border-color:#4ade8033}.landing-card-green .landing-card-icon{background:#4ade801a;color:#4ade80}.landing-cta-sub{display:block;font-size:.75rem;font-weight:400;opacity:.8;margin-top:.2rem}.landing-tagline{font-size:.85rem;color:#5a6478;margin:1.5rem 0 .5rem;text-align:center}.landing-seo{margin:1rem 0;max-width:100%}.landing-seo p{margin:0;font-size:.78rem;color:#4a5568;line-height:1.6;text-align:center}@media(min-width:900px){.landing-content{max-width:560px;padding-top:5rem}.landing-headline{font-size:3.2rem}.landing-cards{gap:1.25rem}.landing-orb-cyan{width:450px;height:450px;top:-100px;right:10%}.landing-orb-purple{width:400px;height:400px;left:-5%}.landing-orb-green{width:300px;height:300px;right:5%}}.linguide-landing{background:radial-gradient(circle at 88% 6%,rgba(224,122,63,.12),transparent 320px),radial-gradient(circle at 6% 14%,rgba(251,191,36,.12),transparent 320px),linear-gradient(135deg,#fff8ec,#fbeede 60%,#fbe6cf);min-height:100vh;min-height:100dvh;overflow-x:hidden}.linguide-landing-content{max-width:560px;margin:0 auto;padding:1.75rem 1.1rem 3rem;display:grid;gap:.9rem;text-align:start}.linguide-landing-main,.linguide-landing-side{display:grid;gap:.85rem;align-content:start;min-width:0}.linguide-cloud-sync{margin-top:.6rem}.linguide-cloud-sync>summary{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;padding:0 .25rem;color:#5c4736;font-size:.95rem;font-weight:600;cursor:pointer}.linguide-cloud-sync>summary:hover{color:#3d2a1c;text-decoration:underline}.linguide-cloud-sync>summary:focus-visible{outline:2px solid #a05c32;outline-offset:2px;border-radius:6px}.linguide-cloud-sync[open]>summary{margin-bottom:.5rem}.linguide-cta-row{margin-top:.1rem}.linguide-start-failure{color:#9a3412;font-size:.9rem;line-height:1.45;margin:0}.linguide-landing .teacher-eyebrow{display:flex;align-items:baseline;gap:.5rem;color:#a05c32;font-size:.72rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.linguide-landing .linguide-version{color:#b08968;font-size:.6rem;font-weight:700;opacity:.6;letter-spacing:0;text-transform:none}.linguide-landing .teacher-landing-hero{background:radial-gradient(circle at 82% 10%,rgba(224,122,63,.2),transparent 190px),radial-gradient(circle at 10% 18%,rgba(251,191,36,.18),transparent 190px),linear-gradient(135deg,#fff8ec,#fce7dc 54%,#f7ddc9);border:1px solid rgba(212,154,85,.38);border-radius:18px;box-shadow:0 18px 42px #995b2b29;display:grid;gap:.72rem;padding:1.3rem 1.15rem}.linguide-landing .teacher-landing-hero h1{color:#20130f;font-size:clamp(1.9rem,6vw,2.9rem);line-height:1.04;letter-spacing:0;margin:0;font-family:var(--app-font-heading, "Inter", system-ui, sans-serif)}.linguide-landing .teacher-landing-hero p{color:#674a3d;line-height:1.45;margin:0}.linguide-landing .teacher-action-row{display:grid;gap:.55rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:.2rem;min-width:0}.linguide-landing .teacher-primary-action,.linguide-landing .teacher-secondary-action{box-sizing:border-box;border-radius:999px;cursor:pointer;font-weight:900;font-size:1rem;min-height:48px;width:100%}.linguide-landing .teacher-primary-action{background:linear-gradient(135deg,#2f211b,#8d5130);border:1px solid rgba(255,255,255,.22);box-shadow:0 12px 26px #7b4a263d;color:#fff8ef}.linguide-landing .teacher-primary-action.wide{margin-top:.2rem}.linguide-landing .teacher-secondary-action{background:#ffffffb8;border:1px solid rgba(103,75,52,.24);color:#3b281f}.linguide-landing .teacher-primary-action:hover,.linguide-landing .teacher-secondary-action:hover{transform:translateY(-1px)}.linguide-landing .teacher-landing-proof{display:grid;gap:.7rem}.linguide-landing .teacher-landing-proof article{background:#ffffff9e;border:1px solid rgba(105,72,48,.13);border-radius:16px;display:grid;gap:.35rem;padding:.9rem}.linguide-landing .teacher-landing-proof span{color:#a05c32;font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.linguide-landing .teacher-landing-proof b{color:#20130f;font-size:1.02rem}.linguide-landing .teacher-landing-proof p{color:#674a3d;line-height:1.4;margin:0}.linguide-landing .linguide-pickers{background:#ffffff80;border:1px solid rgba(160,92,50,.22);border-radius:16px;box-sizing:border-box;box-shadow:0 10px 26px #995b2b1a;display:grid;gap:1rem;padding:1.05rem 1rem}.linguide-landing .linguide-pickers .landing-langpickers{box-sizing:border-box;margin:0;max-width:none;min-width:0}.linguide-landing .linguide-pickers .landing-langpicker,.linguide-landing .linguide-level,.linguide-landing .linguide-level>div{box-sizing:border-box;min-width:0;width:100%}.linguide-landing .linguide-pickers .landing-langpicker label{color:#a05c32}.linguide-landing .linguide-level-label{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:#a05c32;margin-bottom:.35rem}.linguide-landing .linguide-level-trigger{display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;width:100%;padding:.7rem .9rem;border-radius:.75rem;border:1px solid rgba(160,92,50,.28);background:#fffdf8;color:inherit;cursor:pointer;text-align:start}.linguide-landing .linguide-level-name{font-weight:700;font-size:.95rem;color:#20130f}.linguide-landing .linguide-level-desc{font-size:.8rem;color:#674a3d;margin-top:.2rem;line-height:1.35}.linguide-landing .linguide-level-caret{margin-inline-start:.75rem;color:#a05c32;transition:transform .12s}.linguide-landing .linguide-level-list{position:absolute;top:calc(100% + .35rem);left:0;right:0;z-index:30;display:flex;flex-direction:column;gap:.25rem;padding:.35rem;border-radius:.75rem;border:1px solid rgba(160,92,50,.28);background:#fffaf2;box-shadow:0 14px 32px #995b2b38;max-height:20rem;overflow-y:auto}.linguide-landing .linguide-level-option{display:flex;flex-direction:column;align-items:flex-start;text-align:start;width:100%;padding:.6rem .75rem;border-radius:.6rem;border:1px solid transparent;background:transparent;color:#20130f;cursor:pointer}.linguide-landing .linguide-level-option .linguide-level-desc{color:#674a3d}.linguide-landing .linguide-level-option.selected{border:1.5px solid #a05c32;background:#a05c3224}@media(min-width:900px){.linguide-landing-content{max-width:1040px;padding:3.5rem 1.5rem 4rem;grid-template-columns:1.15fr .85fr;gap:1.5rem;align-items:start}.linguide-landing .teacher-landing-hero{padding:2rem 1.85rem}}.linguide-today{background:radial-gradient(circle at 90% 4%,rgba(224,122,63,.1),transparent 320px),linear-gradient(135deg,#fff8ec,#fbeede 60%,#fbe6cf);color:#20130f}.dashboard-home.linguide-today{align-items:center;background:radial-gradient(circle at 90% 4%,rgba(224,122,63,.1),transparent 320px),linear-gradient(135deg,#fff8ec,#fbeede 60%,#fbe6cf);gap:.95rem;justify-content:flex-start;min-height:100vh;min-height:100dvh;padding:1.35rem clamp(1.35rem,5vw,1.75rem) 7.25rem}.app.home-active,.app.home-active .dashboard-home-wrapper{background:radial-gradient(circle at 88% 6%,rgba(224,122,63,.12),transparent 320px),linear-gradient(135deg,#fff8ec,#fbeede 60%,#fbe6cf)}@media(max-width:768px){body:has(.app.home-active){min-height:0}.app.home-active{height:100vh;height:100dvh}.app.home-active>main.dashboard-home-wrapper{flex:1 1 0;min-height:0;overflow-y:auto;overscroll-behavior-y:contain}.app.home-active>.bottom-nav{position:static;flex:none;box-sizing:border-box}.app.home-active .dashboard-home.linguide-today{min-height:100%;padding:.65rem .75rem;gap:.5rem;overflow:visible}.app.home-active .dashboard-home.linguide-today>*{flex-shrink:0}.app.home-active .dashboard-home.linguide-today .linguide-today-hero{box-sizing:border-box;padding:.75rem;gap:.3rem}.app.home-active .linguide-today-headline{font-size:clamp(1.25rem,5vw,1.5rem);line-height:1.15}.app.home-active .dashboard-plan-facts,.app.home-active .lesson-asides{margin-top:0}}.dashboard-lesson-overview{display:contents}.app.home-active .dashboard-home.linguide-today[data-has-asides=true]{height:100vh;height:100dvh;min-height:0}.dashboard-home.linguide-today[data-has-asides=true]>.dashboard-lesson-overview{display:flex;flex:1 1 0;min-height:0;width:100%;flex-direction:column;align-items:center;gap:inherit;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain}.dashboard-lesson-overview>*{flex-shrink:0}.dashboard-home[data-has-asides=true] .dashboard-lesson-overview .linguide-today-hero{box-sizing:border-box}.dashboard-home.linguide-today[data-has-asides=true]>.lesson-asides{flex:none;min-height:0;max-height:40%;box-sizing:border-box;overflow-y:auto;overscroll-behavior-y:contain}@media(max-width:768px){.app.home-active .dashboard-home.linguide-today[data-has-asides=true]{height:100%}}@media(max-width:768px)and (max-height:700px){.app.home-active .dashboard-home.linguide-today[data-has-asides=true]{padding-block:.35rem}}.linguide-today .dashboard-logo-header{display:none}.linguide-today .teacher-eyebrow{color:#a05c32;font-size:.72rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.dashboard-home.linguide-today .linguide-today-hero{background:radial-gradient(circle at 88% 8%,rgba(224,122,63,.17),transparent 200px),linear-gradient(135deg,#fff8ec,#fbe6cf 62%,#ffe9f0);border:1px solid rgba(212,154,85,.38);border-radius:18px;box-shadow:0 18px 42px #995b2b29;display:grid;gap:.6rem;padding:1.15rem;text-align:start;width:min(100%,680px);justify-self:center;align-self:center}.dashboard-home.linguide-today .linguide-today-hero--bare{background:none;border-color:transparent;box-shadow:none;padding-block:.2rem}.linguide-today-greeting-row{display:flex;align-items:center;justify-content:space-between;gap:.65rem}.linguide-today-greeting{color:#6d4d3f;font-weight:800}.linguide-tag{align-items:center;background:#ffffffad;border:1px solid rgba(116,80,54,.18);border-radius:999px;color:#6a4c3d;display:inline-flex;font-size:.78rem;font-weight:850;min-height:30px;padding:.22rem .62rem;white-space:nowrap}.linguide-tag-good{background:#e8f7de;border-color:#5d843847;color:#3c6d2e}.linguide-today-headline{color:#20130f;font-size:clamp(1.5rem,4.5vw,2.25rem);line-height:1.08;letter-spacing:0;margin:0;font-family:var(--app-font-heading, "Inter", system-ui, sans-serif)}.linguide-today-plan{color:#674a3d;line-height:1.45;margin:0}.linguide-today-link{background:transparent;border:0;color:#7d4a2e;cursor:pointer;font-weight:800;justify-self:start;padding:0;text-decoration:underline}.linguide-adapt-backdrop{align-items:center;background:#20130f3d;display:flex;inset:0;justify-content:center;padding:1.25rem;position:fixed;z-index:1200}.linguide-adapt-dialog{background:radial-gradient(circle at 88% 8%,rgba(224,122,63,.14),transparent 180px),linear-gradient(135deg,#fff8ec,#fbe6cf 68%,#fff1f5);border:1px solid rgba(160,92,50,.26);border-radius:18px;box-shadow:0 22px 70px #4f2d1c47;box-sizing:border-box;color:#20130f;display:grid;gap:.75rem;max-height:min(86vh,620px);max-width:440px;overflow:auto;padding:1.25rem;width:100%}.linguide-adapt-dialog h2{color:#20130f;font-family:var(--app-font-heading, "Inter", system-ui, sans-serif);font-size:1.45rem;letter-spacing:0;line-height:1.08;margin:0}.linguide-adapt-dialog p{color:#674a3d;line-height:1.45;margin:0}.linguide-adapt-steps{display:grid;gap:.55rem}.linguide-adapt-steps article{background:#ffffff94;border:1px solid rgba(105,72,48,.13);border-radius:12px;display:grid;gap:.25rem;padding:.72rem .8rem}.linguide-adapt-steps b{color:#20130f}.linguide-adapt-close{background:linear-gradient(135deg,#3a261f,#8d5130);border:1px solid rgba(255,255,255,.2);border-radius:999px;color:#fff8ef;cursor:pointer;font-weight:900;justify-self:stretch;min-height:44px;padding:.65rem 1rem}.dashboard-home.linguide-today .dashboard-cta-btn{animation:none;background:linear-gradient(135deg,#3a261f,#8d5130);border-color:#a05c3257;box-shadow:0 12px 30px #7b4a263d,0 0 34px #c0813f33,inset 0 0 12px #fff8ec14;width:min(340px,calc(100vw - 4rem))}.dashboard-home.linguide-today .cta-pulse-ring{display:none;animation:none}.dashboard-home.linguide-today .dashboard-cta-btn:active{box-shadow:0 0 14px #c0813f40,0 4px 12px #7b4a2629}[data-skin=midnight-slate] .linguide-today .next-card-countdown,[data-skin=midnight-slate] .linguide-today .next-card-countdown.none,[data-skin=midnight-slate] .linguide-today .next-card-countdown.loading,[data-skin=midnight-slate] .linguide-today .next-card-countdown.active{background:#ffffff9e!important;border-color:#a05c3233!important;color:#674a3d!important}[data-skin=midnight-slate] .linguide-today .next-card-countdown .countdown-label{color:#6d4d3f!important}[data-skin=midnight-slate] .linguide-today .next-card-countdown .countdown-time{color:#5b4636!important}.linguide-today .dashboard-firstwords-failed{color:#9a3412}.linguide-today .first-words-progress-label{color:#674a3d}.linguide-today .first-words-progress-track{background:#a05c3229;border-color:#a05c3247}.linguide-today .first-words-progress-fill{background:linear-gradient(90deg,#a05c32,#c0813f);box-shadow:0 0 12px #c0813f73}@media(min-width:900px){.linguide-today-hero{padding:1.6rem 1.5rem}}[data-skin=midnight-slate] .app.study-active,.app.study-active{background:#fcefe1!important}[data-skin=midnight-slate] .study-active .session-feedback{background:transparent;box-shadow:none;border-color:transparent}[data-skin=midnight-slate] .study-active .session-minibar{background:transparent}[data-skin=midnight-slate] .study-active .mini-pill{background:#ffffff9e;border-color:#a05c3247;color:#674a3d}[data-skin=midnight-slate] .study-active .mini-label{color:#a05c32}[data-skin=midnight-slate] .study-active .mini-value{color:#20130f}[data-skin=midnight-slate] .study-active .mini-exit,[data-skin=midnight-slate] .study-active .mini-toggle{background:#ffffff80;border-color:#a05c3247;color:#674a3d}[data-skin=midnight-slate] .study-active .remaining-progress{background:transparent;box-shadow:none;color:#674a3d}[data-skin=midnight-slate] .study-active .remaining-progress-label,[data-skin=midnight-slate] .study-active .remaining-progress-label *{color:#674a3d}[data-skin=midnight-slate] .study-active .remaining-progress-track{background:#a05c3229}[data-skin=midnight-slate] .study-active .remaining-progress-fill{background:linear-gradient(135deg,#8d5130,#c0813f)}[data-skin=midnight-slate] .study-active .review-card{background:none;border:none;box-shadow:none}[data-skin=midnight-slate] .study-active .card-content,[data-skin=midnight-slate] .study-active .card-front{background:transparent}[data-skin=midnight-slate] .study-active .card-front{align-items:stretch}[data-skin=midnight-slate] .study-active .card-main-line{background:radial-gradient(circle at 50% 4%,rgba(255,255,255,.8),transparent 130px),linear-gradient(160deg,#35231d,#5f3928 56%,#2d1d19);border:1px solid rgba(255,255,255,.18);box-shadow:0 18px 42px #4222153d;border-radius:18px;padding:1.15rem 1rem 1.3rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%;box-sizing:border-box}[data-skin=midnight-slate] .study-active .card-main-line .mc-quick-check{align-self:flex-end;background:#efe7ff;color:#6b3fa2!important;-webkit-text-fill-color:#6b3fa2!important;border-radius:999px;font-size:.72rem;font-weight:900;letter-spacing:.02em;padding:.18rem .6rem}[data-skin=midnight-slate] .study-active .card-main-line .mc-card-prompt{margin:.1rem 0 0;font-size:1rem;color:#ffead3!important;-webkit-text-fill-color:#ffead3!important}[data-skin=midnight-slate] .study-active .card-main-line,[data-skin=midnight-slate] .study-active .card-main-line *{color:#fff7ed}[data-skin=midnight-slate] .study-active .card-main-line .card-text,[data-skin=midnight-slate] .study-active .card-main-line .thai-word-text,[data-skin=midnight-slate] .study-active .card-main-line .english-word-text{color:#fff8ef!important;-webkit-text-fill-color:#fff8ef!important}[data-skin=midnight-slate] .study-active .card-main-line .speaker-icon{color:#ffead3!important;-webkit-text-fill-color:#ffead3!important}[data-skin=midnight-slate] .study-active .card-main-line .pronunciation-text-inline,[data-skin=midnight-slate] .study-active .card-main-line .pronunciation-container,[data-skin=midnight-slate] .study-active .card-main-line .romanization-inline{background:none!important;border:none!important;box-shadow:none!important;color:#ffead3!important;-webkit-text-fill-color:#ffead3!important}[data-skin=midnight-slate] .study-active .multiple-choice-header,[data-skin=midnight-slate] .study-active .multiple-choice-header *{color:#674a3d}[data-skin=midnight-slate] .study-active .choice-option:not(.correct):not(.incorrect){background:#ffffffa8;border:1.5px solid rgba(105,72,48,.18);color:#20130f;box-shadow:0 2px 8px #995b2b14}[data-skin=midnight-slate] .study-active .choice-option{align-items:center;text-align:center}[data-skin=midnight-slate] .study-active .choice-option .choice-text{text-align:center}@media(hover:hover){[data-skin=midnight-slate] .study-active .choice-option:hover:not(:disabled):not(.correct):not(.incorrect){background:#fff4e0f2;border-color:#a05c3280;box-shadow:0 6px 16px #995b2b29;transform:translateY(-1px)}}[data-skin=midnight-slate] .study-active .multiple-choice-panel{background:none;border:none;box-shadow:none}[data-skin=midnight-slate] .study-active .choice-required{background:#a05c3224;color:#a05c32}[data-skin=midnight-slate] .study-active .multiple-choice-loading{color:#674a3d}[data-skin=midnight-slate] .study-active .answer-text,[data-skin=midnight-slate] .study-active .answer-text.sentence{background:#d2a06e24;border-color:#d2a06e8c;color:#7b4a26}[data-skin=midnight-slate] .study-active .answer-thai-section .card-text,[data-skin=midnight-slate] .study-active .answer-thai-section .card-text .thai-word-text{color:#7b4a26!important;-webkit-text-fill-color:#7b4a26!important;background:#d2a06e24!important}[data-skin=midnight-slate] .study-active .answer-thai-section .speaker-icon,[data-skin=midnight-slate] .choice-option-row .speaker-icon{color:#a05c32!important;-webkit-text-fill-color:#a05c32!important}[data-skin=midnight-slate] .study-active .answer-thai-section .pronunciation-text-inline,[data-skin=midnight-slate] .study-active .answer-thai-section .pronunciation-text-inline:hover{color:#674a3d}[data-skin=midnight-slate] .study-active .memory-trick-display{background:#fff6e8;border:1.5px solid rgba(212,154,85,.55);border-radius:14px;box-shadow:0 4px 14px #995b2b1f;color:#20130f}[data-skin=midnight-slate] .study-active .memory-trick-header{color:#9a5a2e}[data-skin=midnight-slate] .study-active .memory-trick-content{background:#ffffffad;border-inline-start-color:#d49a55;color:#20130f;-webkit-text-fill-color:#20130f}[data-skin=midnight-slate] .study-active .memory-trick-content::selection,[data-skin=midnight-slate] .study-active .memory-trick-content *::selection{background:#f3c982;color:#20130f;-webkit-text-fill-color:#20130f}[data-skin=midnight-slate] .study-active .stuck-word-aid{background:linear-gradient(135deg,#fff4d8,#ffe2a8);border-color:#d49a55bf;box-shadow:0 4px 14px #995b2b29}[data-skin=midnight-slate] .study-active .stuck-word-aid-title{color:#9a5a2e;-webkit-text-fill-color:#9a5a2e}[data-skin=midnight-slate] .study-active .explore-toggle{color:#8a6a52}[data-skin=midnight-slate] .study-active .explore-toggle:hover{color:#a05c32}[data-skin=midnight-slate] .study-active .grade-honesty-hint{color:#8a6a52}[data-skin=midnight-slate] .study-active .explore-panel{background:#ffffff9e;border-color:#69483029}[data-skin=midnight-slate] .study-active .explore-actions .ghost-link,[data-skin=midnight-slate] .study-active .explore-actions .explain-button.ghost,[data-skin=midnight-slate] .study-active .explore-actions .example-button.ghost{color:#8d5130}[data-skin=midnight-slate] .study-active .explore-actions .ghost-link:hover,[data-skin=midnight-slate] .study-active .explore-actions .explain-button.ghost:hover,[data-skin=midnight-slate] .study-active .explore-actions .example-button.ghost:hover{color:#a05c32}[data-skin=midnight-slate] .study-active .examples-container{background:#ffffff9e;border-color:#69483029;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 2px 8px #995b2b14}[data-skin=midnight-slate] .study-active .example-item{background:#ffffffa8;border-color:#6948302e}[data-skin=midnight-slate] .study-active .example-item.clickable:hover,[data-skin=midnight-slate] .study-active .example-item:hover{background:#fff4e0f2;border-color:#a05c3280}[data-skin=midnight-slate] .study-active .example-thai .thai-text,[data-skin=midnight-slate] .study-active .examples-container .thai-text{color:#20130f;-webkit-text-fill-color:#20130f}[data-skin=midnight-slate] .study-active .example-pronunciation,[data-skin=midnight-slate] .study-active .example-english,[data-skin=midnight-slate] .study-active .example-literal,[data-skin=midnight-slate] .study-active .translation-label{color:#674a3d;-webkit-text-fill-color:#674a3d}[data-skin=midnight-slate] .study-active .tone-details summary,[data-skin=midnight-slate] .study-active .tone-label,[data-skin=midnight-slate] .study-active .tone-hint{color:#674a3d}[data-skin=midnight-slate] .study-active .stuck-word-aid-body{color:#20130f;-webkit-text-fill-color:#20130f}[data-skin=midnight-slate] .study-active .stuck-word-aid-body::selection,[data-skin=midnight-slate] .study-active .stuck-word-aid-body *::selection{background:#f3c982;color:#20130f;-webkit-text-fill-color:#20130f}[data-skin=midnight-slate] .study-active .review-card .no-cards,[data-skin=midnight-slate] .study-active .review-card .no-cards h2{color:#20130f}[data-skin=midnight-slate] .study-active .review-card .no-cards p{color:#674a3d}[data-skin=midnight-slate] .study-active .review-card .no-cards .lesson-objective-target{color:#20130f;-webkit-text-fill-color:#20130f}[data-skin=midnight-slate] .study-active .review-card .no-cards .lesson-objective-gloss{color:#674a3d;-webkit-text-fill-color:#674a3d}[data-skin=midnight-slate] .study-active .loading p{color:#674a3d}[data-skin=midnight-slate] .study-active .refill-progress{background:#a05c3229}[data-skin=midnight-slate] .study-active .refill-progress-fill{background:linear-gradient(135deg,#8d5130,#c0813f)}.action-btn.secondary:hover{background:var(--teacher-accent);color:#fff;transform:translateY(-2px)}.action-btn.danger{background:#fff;color:#dc2626;border:2px solid #dc2626}.action-btn.danger:hover:not(:disabled){background:#dc2626;color:#fff;transform:translateY(-2px)}.action-btn.danger:disabled{background:#f3f4f6;color:#9ca3af;border-color:#d1d5db;cursor:not-allowed;transform:none}.action-btn.large{font-size:1.3rem;padding:1.5rem 2.5rem;font-weight:700}.action-btn.small{font-size:.9rem;padding:.5rem 1rem;font-weight:500}.auto-refresh-info{text-align:center;margin:.5rem 0}.auto-refresh-info small{color:#64748b;font-style:italic;background:#f1f5f9;padding:.25rem .75rem;border-radius:12px;border:1px solid #e2e8f0}.welcome-message{text-align:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:2rem;color:#475569}.welcome-message h3{color:#334155;margin-top:0}.header-nav,.header-actions{display:flex;gap:1rem;align-items:center}.nav-btn{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.5rem 1rem;border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:.9rem;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:.4rem}.click-to-speak-hint{background:#e3f2fd;border:1px solid #2196f3;border-radius:4px;padding:.5rem;margin-bottom:1rem;font-size:.85rem;color:#1976d2;text-align:center;font-weight:500}.example-item{position:relative}.example-item.clickable,.example-item.clickable-example{cursor:pointer;border:1px solid transparent;transition:all .2s ease}.example-speaker-icon{position:absolute;top:.5rem;inset-inline-end:.5rem;font-size:1.2rem;opacity:.9;transition:all .2s ease;pointer-events:none;background:#fffc;border-radius:4px;padding:.2rem;box-shadow:0 1px 3px #0000001a}.example-item.clickable:hover .example-speaker-icon{opacity:1;background:#fffffff2;transform:scale(1.1)}.example-item.clickable:hover,.example-item.clickable-example:hover{background:#f8f9ff;box-shadow:0 2px 6px #00000026;border-color:#e3f2fd;transform:translateY(-1px)}.example-item.speaking{background:#e8f5e8;border-color:#4caf50;box-shadow:0 2px 8px #4caf504d}.nav-btn:hover{background:#ffffff4d;transform:translateY(-1px)}.nav-btn.primary{background:#ffffffe6;color:var(--teacher-accent);border-color:#ffffffe6}.nav-btn.primary:hover{background:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #ffffff4d}.nav-btn.secondary{background:#ffffff26;border-color:#ffffff40;font-size:.85rem}.bottom-nav{box-sizing:border-box;display:flex;justify-content:space-around;gap:.15rem;padding:.4rem .35rem .6rem;padding-bottom:max(.6rem,env(safe-area-inset-bottom));border-top:1px solid rgba(160,92,50,.16);background:#fff8ecf0;box-shadow:0 -12px 34px #995b2b1f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:fixed;bottom:0;left:0;right:0;width:100%;max-width:600px;margin:0 auto;z-index:9999}@media(min-width:768px){.bottom-nav{max-width:700px}}.bottom-nav-icon{width:24px;height:24px;flex-shrink:0}.bottom-nav-btn{background:none;border:none;font-size:.65rem;font-weight:600;color:#7c6a5d;cursor:pointer;flex:1;min-width:0;padding:.35rem .1rem;display:flex;flex-direction:column;align-items:center;gap:.15rem;transition:color .15s ease}.bottom-nav-btn>span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottom-nav-btn.active{color:#8d5130}.bottom-nav-btn.active .bottom-nav-icon{filter:drop-shadow(0 0 8px rgba(192,129,63,.32))}.bottom-nav-icon-wrap{position:relative;display:inline-flex}.bottom-nav-badge{position:absolute;top:-9px;inset-inline-end:-14px;z-index:1;min-width:16px;height:16px;padding:0 4px;border-radius:8px;font-size:.62rem;font-weight:700;line-height:16px;text-align:center;color:#fff;background:#7c6a5d}.bottom-nav-badge.fresh{background:#4f7a4c;box-shadow:0 0 0 3px #4f7a4c38}.nav-btn.secondary:hover{background:#ffffff40;transform:translateY(-1px)}.dashboard-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem;flex-wrap:wrap}.settings-main{max-width:1000px;margin:0 auto;padding:1rem}.settings-section{background:var(--app-surface);color:var(--app-text);border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 2px 12px #0000001a;border:1px solid var(--app-border);scroll-margin-top:120px}.settings-section h2{color:var(--app-text);margin-top:0;margin-bottom:1.5rem;font-size:1.5rem;border-bottom:2px solid var(--app-border);padding-bottom:.5rem}.settings-nav-bar{position:sticky;top:0;z-index:10;background:var(--app-surface-alt);border:1px solid var(--app-border);border-radius:12px;padding:.75rem 1rem;margin-bottom:1.5rem;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between}.settings-nav-links{display:flex;flex-wrap:wrap;gap:.5rem;overflow-x:auto;padding-bottom:.25rem}.settings-nav-btn{border:1px solid var(--app-border);background:var(--app-surface);color:var(--app-text);padding:.35rem .7rem;border-radius:999px;font-size:.85rem;cursor:pointer}.settings-nav-btn.active{border-color:#6366f1;color:#4338ca;background:#6366f11f}.settings-nav-status{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.settings-save-indicator{color:#16a34a;font-size:.85rem;font-weight:600}.settings-back-btn{border:1px solid var(--app-border);background:var(--app-surface);color:#4338ca;padding:.4rem .8rem;border-radius:999px;cursor:pointer;font-size:.85rem}.settings-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap}.settings-toggle{display:inline-flex;gap:.5rem;align-items:center;font-weight:600}.settings-muted{color:var(--app-muted);margin:0 0 1rem}.settings-advanced{padding:0}.settings-advanced>summary{list-style:none;cursor:pointer;padding:1.25rem 2rem;font-size:1.1rem;font-weight:700;color:var(--app-text);border-bottom:1px solid var(--app-border)}.settings-advanced>summary::-webkit-details-marker{display:none}.settings-advanced>summary:after{content:"+";float:right;color:var(--app-muted);font-weight:600}.settings-advanced[open]>summary:after{content:"-"}.settings-advanced-content{padding:1.5rem 2rem 2rem}.settings-subsection{padding-bottom:1.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--app-border)}.settings-subsection:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.settings-advanced-sub>summary{list-style:none;cursor:pointer;font-weight:600;color:var(--app-text);margin-bottom:.75rem}.settings-advanced-sub>summary::-webkit-details-marker{display:none}.settings-advanced-sub>summary:after{content:"+";float:right;color:var(--app-muted);font-weight:600}.settings-advanced-sub[open]>summary:after{content:"-"}.settings-tech{background:var(--app-surface-alt);border:1px solid var(--app-border);border-radius:10px;padding:.75rem 1rem}.settings-tech-row{display:flex;justify-content:space-between;color:var(--app-muted);font-size:.9rem}.settings-danger{border:1px solid #fecaca;background:#fff1f2}.settings-danger h2{color:#b91c1c;border-bottom-color:#fecaca}.settings-advanced-toggle{border:1px solid var(--app-border);border-radius:10px;padding:.75rem 1rem;background:var(--app-surface-alt);margin-bottom:1.5rem}.settings-advanced-toggle summary{cursor:pointer;font-weight:600;color:var(--app-text);list-style:none}.settings-advanced-toggle summary::-webkit-details-marker{display:none}.settings-advanced-toggle summary:after{content:"+";float:right;color:var(--app-muted)}.settings-advanced-toggle[open] summary:after{content:"-"}.settings-advanced-body{margin-top:1rem}.settings-simple-header{font-size:.95rem;font-weight:700;color:var(--app-text);margin-bottom:.75rem}.retention-explanation{margin:1rem 0 0;border:1px solid var(--app-border);border-radius:10px;padding:.75rem 1rem;background:var(--app-surface-alt)}.retention-explanation summary{cursor:pointer;font-weight:600;color:var(--app-text);list-style:none}.retention-explanation summary::-webkit-details-marker{display:none}.retention-explanation summary:after{content:"+";float:right;color:var(--app-muted)}.retention-explanation[open] summary:after{content:"-"}.retention-explanation ul{margin:.75rem 0 0;padding-inline-start:1.1rem;color:var(--app-muted);font-size:.9rem}.settings-closure{text-align:center;box-shadow:none;border:1px dashed var(--app-border);background:var(--app-surface-alt)}.settings-closure-text{font-size:1rem;color:var(--app-text);margin-bottom:1rem}[data-skin=midnight-slate]{color-scheme:dark}[data-skin=midnight-slate] .settings-nav-btn{background:#0f172aa6;color:var(--app-text);border-color:var(--app-border)}[data-skin=midnight-slate] .settings-nav-btn.active{background:#3b82f633;border-color:#60a5fa;color:#e0f2fe}[data-skin=midnight-slate] .settings-back-btn{color:var(--app-text);background:#0f172a99;border-color:var(--app-border)}[data-skin=midnight-slate] .settings-section:not(.settings-danger):not(.settings-closure){background:var(--app-surface)!important;border-color:var(--app-border)!important;color:var(--app-text)!important}[data-skin=midnight-slate] .settings-form{background:var(--app-surface)!important;border-color:var(--app-border)!important;color:var(--app-text)!important}[data-skin=midnight-slate] .settings-section h2,[data-skin=midnight-slate] .settings-section h3,[data-skin=midnight-slate] .settings-section h4{color:var(--app-text)!important}[data-skin=midnight-slate] .settings-description{background:var(--app-surface-alt)!important;border-color:var(--app-border)!important;color:var(--app-muted)!important}[data-skin=midnight-slate] .settings-muted{color:var(--app-muted)!important}[data-skin=midnight-slate] .settings-section p,[data-skin=midnight-slate] .settings-section label,[data-skin=midnight-slate] .settings-section summary,[data-skin=midnight-slate] .settings-section li{color:var(--app-text)!important}[data-skin=midnight-slate] .settings-export-import{background:var(--app-surface)!important;border-color:var(--app-border)!important;color:var(--app-text)!important}[data-skin=midnight-slate] .settings-export-import h2{color:var(--app-text)!important}[data-skin=midnight-slate] .settings-export-import .settings-description{color:var(--app-muted)!important}[data-skin=midnight-slate] .preview-modal{background:var(--app-surface)!important;color:var(--app-text)!important;border:1px solid var(--app-border)}[data-skin=midnight-slate] .modal-header,[data-skin=midnight-slate] .modal-footer{border-color:var(--app-border)!important}[data-skin=midnight-slate] .modal-header h3,[data-skin=midnight-slate] .settings-list h4{color:var(--app-text)!important}[data-skin=midnight-slate] .setting-item,[data-skin=midnight-slate] .import-info{background:var(--app-surface-alt)!important;border-color:var(--app-border)!important}[data-skin=midnight-slate] .setting-label,[data-skin=midnight-slate] .info-item,[data-skin=midnight-slate] .info-item strong{color:var(--app-text)!important}[data-skin=midnight-slate] .setting-value{background:var(--app-surface)!important;border-color:var(--app-border)!important;color:var(--app-text)!important}[data-skin=midnight-slate] .import-modes{background:#3b82f626!important;border-color:#60a5fa73!important}[data-skin=midnight-slate] .import-modes h4,[data-skin=midnight-slate] .mode-option,[data-skin=midnight-slate] .mode-option strong{color:#e0f2fe!important}[data-skin=midnight-slate] .security-warning{background:#facc151f!important;border-color:#facc1580!important}[data-skin=midnight-slate] .warning-content,[data-skin=midnight-slate] .warning-content strong{color:#fde68a!important}[data-skin=midnight-slate] .status-message.info{background:#3b82f62e!important;border-color:#60a5fa80!important;color:#e0f2fe!important}[data-skin=midnight-slate] .status-message.error{background:#ef44442e!important;border-color:#f871718c!important;color:#fecaca!important}[data-skin=midnight-slate] .status-message.success{background:#10b9812e!important;border-color:#6ee7b780!important;color:#d1fae5!important}[data-skin=midnight-slate] .settings-danger{background:#1f1417!important;border-color:#7f1d1d!important}[data-skin=midnight-slate] .settings-danger h2{color:#fecaca!important;border-bottom-color:#f8717173!important}[data-skin=midnight-slate] .settings-danger .settings-muted{color:#fca5a5!important}[data-skin=midnight-slate] .llm-settings,[data-skin=midnight-slate] .azure-tts-settings,[data-skin=midnight-slate] .azure-aoai-settings,[data-skin=midnight-slate] .contact-section-card,[data-skin=midnight-slate] .spaced-repetition-settings{background:var(--app-surface)!important;border-color:var(--app-border)!important;color:var(--app-text)!important}[data-skin=midnight-slate] .llm-settings h3,[data-skin=midnight-slate] .llm-settings h4,[data-skin=midnight-slate] .llm-settings h5,[data-skin=midnight-slate] .azure-tts-settings h4,[data-skin=midnight-slate] .azure-aoai-settings h4,[data-skin=midnight-slate] .contact-section-title{color:var(--app-text)!important}[data-skin=midnight-slate] .llm-settings .settings-description,[data-skin=midnight-slate] .llm-settings .help-text,[data-skin=midnight-slate] .llm-settings .privacy-note,[data-skin=midnight-slate] .llm-settings .section-description,[data-skin=midnight-slate] .llm-settings label,[data-skin=midnight-slate] .contact-section-description,[data-skin=midnight-slate] .contact-section-email-text,[data-skin=midnight-slate] .contact-section-link{color:var(--app-muted)!important}[data-skin=midnight-slate] .llm-settings .provider-info,[data-skin=midnight-slate] .llm-settings .privacy-note,[data-skin=midnight-slate] .llm-settings .settings-description,[data-skin=midnight-slate] .azure-config-form,[data-skin=midnight-slate] .voice-info,[data-skin=midnight-slate] .quick-start,[data-skin=midnight-slate] .spaced-repetition-settings .settings-section,[data-skin=midnight-slate] .spaced-repetition-settings .retention-explanation,[data-skin=midnight-slate] .spaced-repetition-settings .data-management-warning,[data-skin=midnight-slate] .spaced-repetition-settings .auto-backup-section,[data-skin=midnight-slate] .spaced-repetition-settings .auto-backup-description{background:var(--app-surface-alt)!important;border-color:var(--app-border)!important;color:var(--app-text)!important}[data-skin=midnight-slate] .llm-settings .form-input,[data-skin=midnight-slate] .llm-settings .form-select,[data-skin=midnight-slate] .llm-settings .api-key-input{background:var(--app-surface)!important;color:var(--app-text)!important;border-color:var(--app-border)!important}[data-skin=midnight-slate] .llm-settings .provider-info summary,[data-skin=midnight-slate] .spaced-repetition-settings summary,[data-skin=midnight-slate] .spaced-repetition-settings .retention-explanation h4,[data-skin=midnight-slate] .spaced-repetition-settings .retention-explanation strong,[data-skin=midnight-slate] .spaced-repetition-settings .settings-section h4{color:var(--app-text)!important}[data-skin=midnight-slate] .spaced-repetition-settings .section-description,[data-skin=midnight-slate] .spaced-repetition-settings .settings-description,[data-skin=midnight-slate] .spaced-repetition-settings .status-label,[data-skin=midnight-slate] .spaced-repetition-settings .data-management-description{color:var(--app-muted)!important}[data-skin=midnight-slate] .spaced-repetition-settings .status-value{color:#86efac!important}[data-skin=midnight-slate] .spaced-repetition-settings h3{color:var(--app-text)!important}[data-skin=midnight-slate] .contact-section-button{background:var(--app-surface)!important;color:#93c5fd!important;border-color:#334155!important}[data-skin=midnight-slate] .contact-section-button:hover{background:#3b82f626!important}[data-skin=midnight-slate] .azure-tts-settings .config-select,[data-skin=midnight-slate] .azure-tts-settings .config-input{background:var(--app-surface)!important;color:var(--app-text)!important;border-color:var(--app-border)!important}[data-skin=midnight-slate] .azure-tts-settings .status-badge.configured,[data-skin=midnight-slate] .azure-aoai-settings .status-badge.configured{background:#10b98133!important;color:#d1fae5!important}[data-skin=midnight-slate] .azure-tts-settings .status-badge.not-configured{background:#f59e0b33!important;color:#fde68a!important}[data-skin=midnight-slate] .azure-tts-settings .voices-list ul{background:var(--app-surface)!important;border-color:var(--app-border)!important}[data-skin=midnight-slate] .azure-tts-settings .voice-details{color:var(--app-muted)!important}[data-skin=midnight-slate] .azure-aoai-settings .server-note,[data-skin=midnight-slate] .azure-tts-settings .server-note{background:#3b82f626!important;border-color:#3b82f666!important;color:#dbeafe!important}[data-skin=midnight-slate] .home-stats .stat-card,[data-skin=midnight-slate] .stat-card{background:var(--app-surface);border-color:var(--app-border);box-shadow:0 10px 24px #0f172a59}[data-skin=midnight-slate] .home-stats .stat-number,[data-skin=midnight-slate] .stat-number{color:#e2e8f0}[data-skin=midnight-slate] .stat-label,[data-skin=midnight-slate] .stat-meta,[data-skin=midnight-slate] .weekly-total{color:var(--app-muted)}[data-skin=midnight-slate] .stat-progress{background:#94a3b833}[data-skin=midnight-slate] .home-secondary-cta{background:var(--app-surface);color:#93c5fd;border-color:#334155}[data-skin=midnight-slate] .home-actions .action-btn.primary{background:linear-gradient(135deg,#3b82f6,#6366f1);color:#f8fafc;border:1px solid rgba(59,130,246,.6);box-shadow:0 16px 24px #2563eb59}[data-skin=midnight-slate] .home-actions .action-btn.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 20px 28px #3b82f673}[data-skin=midnight-slate] .home-actions .action-btn.primary:disabled{background:#1f2937;color:#64748b;border-color:#1f2937;box-shadow:none}[data-skin=midnight-slate] .link-btn{color:#93c5fd}[data-skin=midnight-slate] .link-btn:hover{color:#bfdbfe}[data-skin=midnight-slate] .review-card{background:#111827d9;border:1px solid rgba(148,163,184,.1);color:var(--app-text);box-shadow:0 8px 32px #0006;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}[data-skin=midnight-slate] .review-header{border-bottom-color:#94a3b81a}[data-skin=midnight-slate] .review-header h2,[data-skin=midnight-slate] .review-title-section,[data-skin=midnight-slate] .review-stats,[data-skin=midnight-slate] .card-info,[data-skin=midnight-slate] .no-cards,[data-skin=midnight-slate] .loading,[data-skin=midnight-slate] .no-cards h2{color:var(--app-text)}[data-skin=midnight-slate] .no-cards{color:#94a3b8}[data-skin=midnight-slate] .no-cards h2{color:#f1f5f9;font-size:1.8rem}[data-skin=midnight-slate] .due-count{background:#6366f126;color:#a5b4fc}[data-skin=midnight-slate] .lapse-count{background:#ef444426;color:#fca5a5}[data-skin=midnight-slate] .review-actions .explore-toggle,[data-skin=midnight-slate] .explore-toggle{color:#94a3b8}[data-skin=midnight-slate] .explore-toggle:hover{color:#cbd5f5}[data-skin=midnight-slate] .explore-actions .ghost-link,[data-skin=midnight-slate] .explore-actions .explain-button.ghost,[data-skin=midnight-slate] .explore-actions .example-button.ghost{color:#818cf8}[data-skin=midnight-slate] .explore-actions .ghost-link:hover,[data-skin=midnight-slate] .explore-actions .explain-button.ghost:hover,[data-skin=midnight-slate] .explore-actions .example-button.ghost:hover{color:#a5b4fc}[data-skin=midnight-slate] .tone-details{background:var(--app-surface-alt);border-color:var(--app-border)}[data-skin=midnight-slate] .tone-details summary{color:var(--app-muted)}[data-skin=midnight-slate] .card-front:after{background:linear-gradient(90deg,transparent,rgba(99,102,241,.2),transparent)}[data-skin=midnight-slate] .reveal-btn{background:var(--teacher-accent-strong);color:#fff8ef;border:none;box-shadow:0 4px 16px #a05c3247}[data-skin=midnight-slate] .reveal-btn:hover:not(:disabled){box-shadow:0 6px 24px #a05c325c;transform:translateY(-2px)}[data-skin=midnight-slate] .reveal-btn.secondary{background:#ffffff0f;color:#cbd5f5;border:1px solid rgba(148,163,184,.2);box-shadow:none}[data-skin=midnight-slate] .reveal-btn.secondary:hover:not(:disabled){background:#ffffff1a;border-color:#94a3b84d;box-shadow:none;transform:translateY(-1px)}[data-skin=midnight-slate] .reveal-btn.demoted{background:var(--app-surface-alt);color:var(--app-muted)}[data-skin=midnight-slate] .already-known-btn:disabled{background:var(--app-surface-alt);color:var(--app-muted)}[data-skin=midnight-slate] .no-cards,[data-skin=midnight-slate] .loading,[data-skin=midnight-slate] .card-info{color:var(--app-muted)}[data-skin=midnight-slate] .local-badge{background:#22c55e33;color:#86efac}[data-skin=midnight-slate] .answer-text{background:#22c55e14;border:2px solid rgba(34,197,94,.3);color:#4ade80;box-shadow:0 0 20px #22c55e14}[data-skin=midnight-slate] .answer-text.sentence{background:#22c55e0f;border-color:#22c55e33;color:#86efac}[data-skin=midnight-slate] .again-btn{background:transparent;border:2px solid rgba(239,68,68,.5);color:#f87171;box-shadow:0 0 16px #ef44441a}[data-skin=midnight-slate] .again-btn:hover:not(:disabled){background:#ef444414;border-color:#ef4444b3;box-shadow:0 0 24px #ef444426}[data-skin=midnight-slate] .good-btn{background:linear-gradient(135deg,#22c55e,#16a34a);border:none;color:#fff;box-shadow:0 4px 20px #22c55e4d}[data-skin=midnight-slate] .good-btn:hover:not(:disabled){box-shadow:0 6px 28px #22c55e66;transform:translateY(-2px)}[data-skin=midnight-slate] .again-btn:disabled,[data-skin=midnight-slate] .good-btn:disabled{background:#ffffff0a;color:#475569;border-color:#94a3b81a;box-shadow:none}[data-skin=midnight-slate] .grade-actions.first-presentation .continue-btn{background:var(--teacher-accent-strong);box-shadow:0 4px 20px #a05c3247;color:#fff8ef;border:none}[data-skin=midnight-slate] .grade-actions.first-presentation .continue-btn:hover:not(:disabled){box-shadow:0 6px 28px #a05c325c;transform:translateY(-2px)}[data-skin=midnight-slate] .grade-actions.first-presentation .continue-btn:disabled{background:linear-gradient(135deg,#2f211b80,#8d513080);color:#fff8ef99;box-shadow:none;border:none}[data-skin=midnight-slate] .grade-honesty-hint{color:#64748b}[data-skin=midnight-slate] .explore-panel{background:#ffffff08;border-color:#94a3b81a}[data-skin=midnight-slate] .progress-badge.compact.pending.active{background:#6366f11f;color:#a5b4fc}[data-skin=midnight-slate] .card-state-chip.state-new{background:linear-gradient(135deg,#ef444433,#ef44441f);color:#f87171;border-color:#ef444440}[data-skin=midnight-slate] .card-state-chip.state-learning{background:linear-gradient(135deg,#facc1526,#eab3081a);color:#fbbf24;border-color:#facc1540}[data-skin=midnight-slate] .card-state-chip.state-review{background:linear-gradient(135deg,#22c55e26,#22c55e1a);color:#4ade80;border-color:#22c55e40}[data-skin=midnight-slate] .quality-badge{background:#3b82f633;color:#bfdbfe}.explain-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--teacher-accent-strong);color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-height:38px;box-shadow:0 4px 8px #a05c324d,0 2px 4px #0000001a,inset 0 1px #fff3;border:1px solid rgba(255,255,255,.1)}.explain-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 12px #a05c3266,0 3px 6px #00000026,inset 0 1px #ffffff4d;background:linear-gradient(135deg,#5a6fd8,#6a4190)}.sh-overlay{position:fixed;inset:0;background:#0b1120;z-index:1000;display:flex;flex-direction:column}.sh-container{display:flex;flex-direction:column;height:100%;max-width:480px;margin:0 auto;width:100%}.sh-header{display:flex;align-items:center;padding:1rem 1.25rem;gap:1rem}.sh-back{background:none;border:none;color:#f1f5f9;font-size:1.5rem;cursor:pointer;padding:.25rem .5rem;line-height:1;border-radius:8px;transition:background .2s}.sh-back:hover{background:#f1f5f91a}.sh-title{margin:0;font-size:1.25rem;font-weight:700;color:#f1f5f9;flex:1;text-align:center;padding-inline-end:2rem}.sh-scroll{flex:1;overflow-y:auto;padding:0 1rem 2rem;-webkit-overflow-scrolling:touch}.sh-empty{text-align:center;color:#94a3b8;padding:4rem 1rem;font-size:1rem}.sh-empty .sh-muted{color:#64748b;font-size:.875rem;margin-top:.5rem}.sh-week-card{position:relative;background:#162137b3;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(148,163,184,.1);border-radius:18px;padding:1.25rem;margin-bottom:.75rem;overflow:hidden}.sh-week-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3b82f6,#8b5cf6,#06b6d4);border-radius:18px 18px 0 0}.sh-week-summary{color:#f1f5f9;font-size:1rem;font-weight:600;margin-bottom:1rem}.sh-streak{display:flex;justify-content:space-between;align-items:flex-end;position:relative;padding-top:1.25rem}.sh-streak-day{display:flex;flex-direction:column;align-items:center;gap:.35rem;position:relative;flex:1}.sh-streak-indicators{display:flex;flex-direction:column;align-items:center;height:1.5rem;justify-content:flex-end}.sh-streak-check{font-size:.65rem;color:#4ade80}.sh-streak-fire{font-size:.75rem}.sh-streak-dot{width:14px;height:14px;border-radius:50%;background:#94a3b826;border:2px solid rgba(148,163,184,.2);position:relative;z-index:1;transition:all .3s ease}.sh-streak-dot.sh-streak-active{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-color:transparent;box-shadow:0 0 10px #3b82f673}.sh-streak-dot.sh-streak-future{opacity:.25}.sh-streak-line{position:absolute;top:calc(3.1rem + 5px);left:50%;width:100%;height:2px;background:#94a3b81a;z-index:0}.sh-streak-line.sh-streak-line-active{background:linear-gradient(90deg,#3b82f6,#8b5cf6);opacity:.5}.sh-streak-label{font-size:.7rem;color:#64748b;font-weight:500}.sh-session-card{background:#162137a6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(148,163,184,.08);border-radius:16px;padding:1rem 1.25rem;margin-bottom:.625rem;transition:transform .15s ease,border-color .15s ease}.sh-session-card:active{transform:scale(.985)}.sh-session-date{color:#f1f5f9;font-weight:600;font-size:.95rem;margin-bottom:.5rem}.sh-session-stats{display:grid;grid-template-columns:1fr 1fr;gap:.25rem 1rem}.sh-stat{display:flex;align-items:center;gap:.4rem;color:#94a3b8;font-size:.85rem}.sh-stat-icon{font-size:.8rem;width:1.1rem;text-align:center}.explain-button:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 3px 8px #0000004d,inset 0 1px 4px #0003,0 1px 2px #a05c3233;background:linear-gradient(135deg,#4a5cb8,#5a356e);border:1px solid rgba(0,0,0,.1)}.explain-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 1px 2px #0000001a}.explain-button.loading{pointer-events:none}.explain-button.compact{padding:.4rem .8rem;font-size:.8rem;min-height:32px}.explain-button.large{padding:.75rem 1.5rem;font-size:1rem;min-height:44px}.feedback-modal{width:min(680px,100%);overflow:hidden}.feedback-form{display:flex;flex-direction:column;gap:.75rem}.feedback-actions{align-items:center}.feedback-submit-btn{background:linear-gradient(135deg,#5f7bff,#4f46e5);color:#f8fafc;box-shadow:0 14px 28px #4c57e659}.feedback-submit-btn:hover:not(:disabled){box-shadow:0 18px 32px #4c57e673}.feedback-cancel-btn{background:transparent;border:1px solid rgba(148,163,184,.45);color:#94a3b8;padding:.6rem 1.2rem;border-radius:10px;font-weight:600;cursor:pointer}.feedback-cancel-btn:hover:not(:disabled){color:#e2e8f0;border-color:#94a3b8cc;background:#94a3b81f}.feedback-label{font-weight:600;color:#1f2937}.feedback-input{width:100%;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc;padding:.75rem .9rem;font-size:.95rem;color:#1f2937;transition:border-color .2s ease,box-shadow .2s ease}.feedback-input:focus{outline:none;border-color:#7c74f4;box-shadow:0 0 0 3px #7c74f433}.feedback-textarea{min-height:140px;resize:vertical}.feedback-select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#64748b 50%),linear-gradient(135deg,#64748b 50%,transparent 50%);background-position:calc(100% - 20px) calc(50% - 3px),calc(100% - 14px) calc(50% - 3px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-inline-end:2.5rem}.feedback-status{padding:.6rem .9rem;border-radius:10px;font-size:.95rem;font-weight:600}.feedback-status.success{background:#10b98126;color:#065f46}.feedback-status.error{background:#ef444426;color:#991b1b}.feedback-honeypot{position:absolute;left:-10000px;width:1px;height:1px;opacity:0;pointer-events:none}[data-skin=midnight-slate] .feedback-label{color:var(--app-text)}[data-skin=midnight-slate] .feedback-input{background:#0f172ae6;border-color:var(--app-border);color:var(--app-text)}[data-skin=midnight-slate] .feedback-input::placeholder{color:var(--app-muted)}[data-skin=midnight-slate] .feedback-status.success{background:#10b98133;color:#d1fae5}[data-skin=midnight-slate] .feedback-status.error{background:#ef444433;color:#fecaca}[data-skin=midnight-slate] .feedback-cancel-btn{border-color:#94a3b866;color:var(--app-muted)}[data-skin=midnight-slate] .feedback-cancel-btn:hover:not(:disabled){color:#e2e8f0;border-color:#94a3b8cc;background:#94a3b81f}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-width:95vw;max-height:none;display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem 1rem;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;display:flex;align-items:center;gap:.5rem;font-size:1.4rem;color:#333}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:.5rem;border-radius:4px;transition:all .2s ease}.close-btn:hover{background:#f0f0f0;color:#333}.modal-body{flex:1;overflow-y:visible;padding:0}.modal-actions{padding:1rem 2rem 1.5rem;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;gap:1rem}.explanation-modal{max-width:900px;max-height:85vh;overflow-y:auto}.explained-word{display:inline-flex;align-items:center;gap:.5rem;margin-inline-start:1rem;font-size:1.2rem;color:#2196f3}.word-speech-btn{font-size:.9rem;padding:.25rem .5rem}.loading-state{text-align:center;padding:3rem 2rem}.spinner{font-size:2rem;margin-bottom:1rem;animation:pulse 1.5s ease-in-out infinite}.error-state{padding:2rem;text-align:center}.error-state details{margin-top:1rem;text-align:start}.error-state summary{cursor:pointer;font-weight:700;margin-bottom:.5rem}.explanation-content{padding:1rem}.meaning-section{margin-bottom:2.5rem;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;background:#fafafa}.meaning-header h3{margin:0 0 .5rem;display:flex;align-items:center;gap:.5rem}.part-of-speech{background:#2196f3;color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:400}.definition{font-size:1.1rem;color:#333;margin:.5rem 0 1rem;font-style:italic}.examples-table h4{margin:1.5rem 0 1rem;color:#555}.table-container{overflow-x:auto;background:#fff;border-radius:6px;box-shadow:0 2px 4px #0000001a}.examples-table table{width:100%;border-collapse:collapse}.examples-table th{background:#f5f5f5;padding:.75rem;text-align:start;font-weight:600;border-bottom:2px solid #e0e0e0;font-size:.9rem}.examples-table td{padding:1rem .75rem;border-bottom:1px solid #e8e8e8;vertical-align:top}.example-row:hover{background-color:#f8f9ff}.examples-table .thai-text{font-size:1.1rem;font-weight:500;color:#1a237e;max-width:200px;font-family:var(--app-font-thai)}.pronunciation{font-family:Courier New,monospace;font-size:.95rem;color:#666;max-width:180px}.english-text{color:#333;max-width:250px}.speech-cell{text-align:center;width:50px}.example-speech-btn{font-size:.8rem;padding:.2rem .4rem}.explanation-footer{margin-top:2rem;padding-top:1rem;border-top:1px solid #e0e0e0}.disclaimer{background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;padding:1rem;margin:0;font-size:.9rem;color:#856404}[data-skin=midnight-slate] .modal-overlay{background:#020617bf}[data-skin=midnight-slate] .modal-content{background:var(--app-surface);color:var(--app-text);border:1px solid var(--app-border);box-shadow:0 24px 60px #0206178c}[data-skin=midnight-slate] .modal-header,[data-skin=midnight-slate] .modal-actions{border-color:var(--app-border)}[data-skin=midnight-slate] .modal-header h2{color:var(--app-text)}[data-skin=midnight-slate] .close-btn{color:var(--app-muted)}[data-skin=midnight-slate] .close-btn:hover{background:#94a3b81f;color:#e2e8f0}[data-skin=midnight-slate] .explained-word{color:#93c5fd}[data-skin=midnight-slate] .meaning-section{background:var(--app-surface-alt);border-color:var(--app-border)}[data-skin=midnight-slate] .definition,[data-skin=midnight-slate] .examples-table h4,[data-skin=midnight-slate] .examples-table th,[data-skin=midnight-slate] .examples-table td,[data-skin=midnight-slate] .english-text{color:var(--app-text)}[data-skin=midnight-slate] .part-of-speech{background:#3b82f640;color:#dbeafe}[data-skin=midnight-slate] .table-container{background:#0f172ad9;box-shadow:none;border:1px solid var(--app-border)}[data-skin=midnight-slate] .examples-table th{background:#1e293bcc;border-bottom-color:var(--app-border)}[data-skin=midnight-slate] .examples-table td{border-bottom-color:var(--app-border)}[data-skin=midnight-slate] .example-row:hover{background-color:#3b82f61f}[data-skin=midnight-slate] .examples-table .thai-text{color:#e2e8f0}[data-skin=midnight-slate] .pronunciation{color:var(--app-muted)}[data-skin=midnight-slate] .explanation-footer{border-top-color:var(--app-border)}[data-skin=midnight-slate] .disclaimer{background:#f59e0b26;border-color:#f59e0b73;color:#fde68a}@media(max-width:768px){.explanation-modal{margin:1rem;max-height:90vh}.landing-cta{padding:.9rem 1.6rem;font-size:1.15rem}.table-container{font-size:.9rem}.examples-table th,.examples-table td{padding:.5rem .4rem}.examples-table .thai-text,.examples-table .pronunciation,.examples-table .english-text{max-width:none}.modal-header{padding:1.25rem 1.25rem .75rem;flex-direction:column;align-items:flex-start;gap:.5rem}.modal-header h2{font-size:1.2rem;flex-wrap:wrap}.explained-word{margin-left:0;font-size:1.05rem}.modal-actions{padding:.75rem 1.25rem 1.25rem}.explanation-content{padding:.75rem}.meaning-section{padding:1rem;margin-bottom:1.75rem}.app-header{flex-direction:column;align-items:stretch;gap:1rem;padding:1rem}.header-nav,.header-actions{display:none}.header-actions.show-mobile{display:flex;justify-content:flex-end}.bottom-nav{display:flex;justify-content:space-around;gap:.15rem;padding:.4rem .35rem .6rem;padding-bottom:max(.6rem,env(safe-area-inset-bottom));border-top:1px solid rgba(160,92,50,.16);background:#fff8ecf0;position:fixed;bottom:0;left:0;right:0;z-index:9999}.bottom-nav-btn{font-size:.65rem}.home-stats{flex-direction:column;gap:1rem}.stat-card{min-width:auto;padding:1.5rem}.dashboard-actions{flex-direction:column;align-items:stretch}main{padding-bottom:4rem}.settings-main{padding:.5rem}.settings-section{padding:1rem}main{padding:.5rem}.action-btn.large{font-size:1.1rem;padding:1rem 1.5rem}.card-text{font-size:1.5rem!important;padding:.3rem .6rem!important}.card-text.clickable{padding:.3rem .5rem!important}.thai-word-speaker-icon{font-size:1rem!important}.answer-text{font-size:1.5rem!important;width:100%!important;text-align:center!important;padding:.5rem 1rem!important}.review-card{padding:.75rem!important}.card-content{margin-bottom:1rem!important}.card-front,.card-back,.card-example{margin-bottom:.5rem!important}.card-text-with-pronunciation{flex-direction:row!important;gap:.5rem!important;justify-content:center!important;align-items:center!important;flex-wrap:wrap!important}.pronunciation-text{font-size:1.5rem!important;padding:.3rem .6rem!important;margin:0!important;opacity:.8!important}}.llm-settings{max-width:700px;margin:0 auto}.llm-settings h3{color:#334155;margin-bottom:1rem}.settings-description{background:var(--app-surface-alt);border:1px solid var(--app-border);border-radius:8px;padding:1rem;margin-bottom:2rem;color:var(--app-muted);line-height:1.5}.settings-form{background:var(--app-surface);border:1px solid var(--app-border);border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem}.form-select{width:100%;padding:.75rem;border:1px solid var(--app-border);border-radius:6px;font-size:1rem;transition:border-color .2s ease;background:var(--app-surface);color:var(--app-text)}.form-select:focus,.form-input:focus{outline:none;border-color:var(--teacher-accent);box-shadow:0 0 0 3px #a05c321a}.form-input{width:100%;padding:.75rem;border:1px solid var(--app-border);border-radius:6px;background:var(--app-surface);color:var(--app-text);font-size:1rem}.api-key-input-container{position:relative;display:flex;align-items:center}.api-key-input{padding-inline-end:3rem}.toggle-visibility-btn{position:absolute;inset-inline-end:.75rem;background:none;border:none;cursor:pointer;font-size:1.2rem;padding:.25rem;border-radius:4px;transition:background .2s ease}.toggle-visibility-btn:hover{background:#f3f4f6}.help-text{display:block;margin-top:.25rem;font-size:.875rem;color:#6b7280;line-height:1.4}.settings-actions{display:flex;gap:1rem;margin-top:2rem}.test-btn,.save-btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:140px}.test-btn{background:#f59e0b;color:#fff}.test-btn:hover:not(:disabled){background:#d97706;transform:translateY(-1px)}.save-btn{background:#059669;color:#fff}.save-btn:hover:not(:disabled){background:#047857;transform:translateY(-1px)}.test-btn:disabled,.save-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.test-result{margin-top:1rem;padding:1rem;border-radius:6px;font-weight:500}.test-result.success{background:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.test-result.error{background:#fee2e2;border:1px solid #fecaca;color:#991b1b}.provider-info{background:#fff;border:1px solid #e1e5e9;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a}.provider-info h4,.provider-info h5{color:#334155;margin-top:0}.provider-links{display:grid;gap:1.5rem;margin-bottom:2rem}.provider-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem}.provider-card h5{margin-bottom:.5rem;color:#1e293b}.provider-card p{margin:.5rem 0;font-size:.9rem;color:#475569}.provider-card a{color:#2563eb;text-decoration:none}.provider-card a:hover{text-decoration:underline}.privacy-note{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:1.5rem}.privacy-note h5{margin-bottom:1rem;color:#0c4a6e}.privacy-note ul{margin:0;padding-left:1.5rem;color:#0369a1}.privacy-note li{margin-bottom:.5rem;font-size:.9rem}@media(max-width:768px){.settings-actions{flex-direction:column}.test-btn,.save-btn{min-width:auto}.provider-links{grid-template-columns:1fr}}.create-card{background:#fff;border:1px solid #e1e5e9;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a}.create-card h2{color:#334155;margin-top:0;margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#374151}.input-with-actions{position:relative}.field-actions{position:absolute;top:.5rem;inset-inline-end:.5rem;display:flex;gap:.5rem;z-index:1}.input-with-actions textarea,.input-with-actions input{padding-inline-end:4rem}.card-actions{display:flex;gap:.5rem;align-items:center;flex-shrink:0}.english-translation{font-style:italic;color:#475569;font-size:.9rem;margin-top:.5rem;padding:.6rem .8rem;background:linear-gradient(145deg,#f8fafc,#f1f5f9);border-inline-start:3px solid #10b981;border-radius:6px;box-shadow:0 1px 3px #10b9811a;font-weight:500;text-align:start;align-self:flex-start}.tts-provider-section{background:var(--app-surface-alt);border:1px solid var(--app-border);border-radius:8px;padding:1.5rem;margin:1.5rem 0}.tts-provider-section h4{margin:0 0 1rem;color:var(--app-text);font-size:1.1rem;font-weight:600}.provider-selector{display:flex;flex-direction:column;gap:1rem}.provider-selector label{display:flex;align-items:center;padding:.75rem;border:2px solid var(--app-border);border-radius:6px;cursor:pointer;transition:all .2s ease;background:var(--app-surface)}.provider-selector label:hover{border-color:var(--teacher-accent);background:var(--app-surface-alt)}.provider-selector input[type=radio]{margin-inline-end:.75rem;transform:scale(1.2)}.provider-selector input[type=radio]:checked+.provider-label{color:var(--teacher-accent);font-weight:600}.provider-selector input[type=radio]:disabled+.provider-label{color:var(--app-muted);cursor:not-allowed}.provider-label{flex:1;font-size:1rem;transition:all .2s ease}.provider-label.disabled{color:var(--app-muted)}.config-required{color:#dc3545;font-size:.875rem;font-style:italic}.provider-badge{background:var(--app-surface-alt);color:var(--app-muted);padding:.2rem .5rem;border-radius:3px;font-size:.75rem;margin-inline-start:.5rem;font-weight:500}.voice-item.active-provider{border-inline-start:3px solid var(--teacher-accent);background:var(--app-surface-alt)}.voice-item.inactive-provider{opacity:.6}.voice-settings{background:var(--app-surface);border:1px solid var(--app-border);border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 2px 8px #0000001a}.voice-settings h3{color:var(--app-text);margin-top:0;margin-bottom:1.5rem}.voice-settings h4{color:var(--app-text);margin-bottom:1rem;font-size:1.1rem}.voice-info{margin-bottom:2rem;padding:1rem;background:var(--app-surface-alt);border-radius:8px}.voice-info ul{list-style:none;padding:0;margin:0}.voice-item{padding:.5rem 0;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.voice-item strong{color:var(--app-text)}.local-badge,.quality-badge{font-size:.75rem;padding:.25rem .5rem;border-radius:4px;font-weight:500;text-transform:uppercase}.local-badge{background:#dcfce7;color:#166534}.quality-badge{background:#dbeafe;color:#1e40af}.voice-controls{margin-bottom:2rem}.control-group{margin-bottom:1.5rem}.control-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#374151}.control-group input[type=range]{width:100%;height:6px;border-radius:3px;background:#e2e8f0;outline:none;margin:.5rem 0}.control-group input[type=range]::-webkit-slider-thumb{appearance:none;width:18px;height:18px;border-radius:50%;background:var(--teacher-accent);cursor:pointer;border:2px solid white;box-shadow:0 2px 4px #0003}.control-group input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--teacher-accent);cursor:pointer;border:2px solid white;box-shadow:0 2px 4px #0003}.control-group small{color:#64748b;font-size:.85rem}.control-group input[type=checkbox]{margin-right:.5rem;transform:scale(1.2)}.test-section{text-align:center;margin-bottom:2rem;padding:1rem;background:var(--app-surface-alt);border-radius:8px}.test-voice-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.test-voice-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #10b9814d}.test-voice-btn:disabled{background:var(--app-surface-alt);color:var(--app-muted);cursor:not-allowed;transform:none}.presets{border-top:1px solid var(--app-border);padding-top:1.5rem}.presets h4{margin-bottom:1rem}.preset-btn{background:var(--app-surface);border:2px solid var(--app-border);color:var(--app-text);padding:.75rem 1rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;margin-right:.5rem;margin-bottom:.5rem;transition:all .2s ease}.preset-btn:hover{border-color:var(--teacher-accent);color:var(--teacher-accent);transform:translateY(-1px)}.preset-btn.cloud{border-color:#3b82f6;color:#3b82f6;background:linear-gradient(135deg,#eff6ff,#dbeafe)}.preset-btn.cloud:hover:not(:disabled){border-color:#1d4ed8;color:#1d4ed8;background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.preset-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.cloud-providers{margin-bottom:1rem;display:flex;flex-direction:column;gap:.75rem}.cloud-provider{padding:.75rem;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.provider-info{display:flex;justify-content:space-between;align-items:center;gap:1rem}.practice-mastered-words{max-width:1000px;margin:0 auto;padding:1rem}.practice-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.header-title{flex:1;min-width:300px}.header-title h2{margin:0 0 .5rem;color:#334155;font-size:1.5rem}.header-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.auto-play-toggle{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;display:flex;align-items:center;gap:.5rem;transition:all .2s ease;white-space:nowrap;box-shadow:0 2px 4px #3b82f633}.auto-play-toggle:hover{transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d}.auto-play-toggle.disabled{background:linear-gradient(135deg,#94a3b8,#64748b);box-shadow:0 2px 4px #94a3b833}.auto-play-toggle.disabled:hover{box-shadow:0 4px 8px #94a3b84d}.story-progress{display:flex;align-items:center;gap:1rem;margin-top:.5rem}.progress-text{font-size:.9rem;color:#94a3b8;white-space:nowrap}.progress-bar{flex:1;height:8px;background:#94a3b826;border-radius:4px;overflow:hidden;min-width:120px}.progress-fill{height:100%;background:linear-gradient(90deg,#6366f1,#818cf8,#a78bfa);border-radius:4px;transition:width .4s ease;box-shadow:0 0 8px #6366f166}.back-button{background:#f8fafc;border:2px solid #e2e8f0;color:#475569;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s ease;white-space:nowrap}.back-button:hover{border-color:#cbd5e1;background:#f1f5f9}.story-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000000d;overflow:hidden}.story-title{background:var(--teacher-accent-strong);color:#fff;padding:1.5rem 2rem;text-align:center}[data-skin=midnight-slate] .practice-mastered-words,[data-skin=midnight-slate] .practice-header h2,[data-skin=midnight-slate] .header-title h2{color:var(--app-text)}[data-skin=midnight-slate] .progress-text{color:var(--app-muted)}[data-skin=midnight-slate] .progress-bar{background:#94a3b840}[data-skin=midnight-slate] .back-button{background:var(--app-surface);border-color:var(--app-border);color:var(--app-text)}[data-skin=midnight-slate] .back-button:hover{background:var(--app-surface-alt);border-color:#334155}[data-skin=midnight-slate] .story-container{background:var(--app-surface);border:1px solid var(--app-border);box-shadow:none}[data-skin=midnight-slate] .story-title{background:linear-gradient(135deg,#1f2a44,#273250);color:var(--app-text)}[data-skin=midnight-slate] .story-box{background:var(--app-surface)}[data-skin=midnight-slate] .story-line{border-bottom-color:#94a3b840}[data-skin=midnight-slate] .story-line.thai-line{background:#1e293bb3;box-shadow:none}[data-skin=midnight-slate] .story-line.romanization-line{background:#1e293b73}[data-skin=midnight-slate] .story-line.literal-line{border-left-color:#64748b;color:#94a3b8}[data-skin=midnight-slate] .story-line.natural-line{border-left-color:#34d399;color:#e2e8f0}[data-skin=midnight-slate] .story-actions{background:var(--app-surface-alt);border-top-color:var(--app-border)}[data-skin=midnight-slate] .loading-state,[data-skin=midnight-slate] .error-state,[data-skin=midnight-slate] .empty-state{background:var(--app-surface);border:1px solid var(--app-border);color:var(--app-text)}[data-skin=midnight-slate] .loading-state h3,[data-skin=midnight-slate] .loading-state p,[data-skin=midnight-slate] .loading-state small{color:var(--app-muted)}[data-skin=midnight-slate] .error-state{background:#7f1d1d33;border-color:#f8717180}.story-title h3{margin:0;font-size:1.3rem;font-weight:600}.story-box{padding:2rem;background:#fff}.story-lines{margin-bottom:2rem}.story-line{display:flex;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid #f1f5f9}.story-line:last-child{border-bottom:none}.story-line.thai-line{background:linear-gradient(135deg,#fef7cd,#fef3c7);margin:0 -2rem 1rem;padding:1.5rem 2rem;border-radius:8px 8px 0 0;box-shadow:0 2px 4px #0000000d}.story-line.romanization-line{background:#f8fafc;margin:0 -1rem;padding:1rem;border-radius:6px}.story-line.literal-line{border-inline-start:3px solid #64748b;padding-inline-start:1rem;font-style:italic;color:#64748b}.story-line.natural-line{border-inline-start:3px solid #10b981;padding-inline-start:1rem;font-weight:500;color:#334155}.line-content{flex:1;font-size:1.1rem;line-height:1.6}.thai-line .line-content{font-size:1.4rem;font-weight:600;color:#92400e;font-family:var(--app-font-thai)!important;unicode-bidi:normal;direction:ltr;-webkit-font-feature-settings:"kern" 1,"liga" 1;font-feature-settings:"kern" 1,"liga" 1;text-rendering:optimizeLegibility}.romanization-line .line-content{font-family:Courier New,monospace;font-size:1rem;color:#475569}.speaker-button{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:50%;width:40px;height:40px;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 2px 4px #3b82f633}.speaker-button:hover{transform:scale(1.05);box-shadow:0 4px 8px #3b82f64d}.speaker-button:active{transform:scale(.95)}.speaker-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.speaker-button.speaking{background:linear-gradient(135deg,#10b981,#059669);animation:speakingPulse 1s ease-in-out infinite}@keyframes speakingPulse{0%,to{opacity:.7}50%{opacity:1}}.hl{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#92400e;padding:.1em .3em;border-radius:4px;font-weight:600;box-shadow:0 1px 2px #fbbf2433}.story-controls{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 0;border-top:1px solid #e2e8f0;margin-top:1.5rem}.control-button{background:var(--teacher-accent-strong);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s ease;min-width:120px}.control-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #a05c324d}.control-button:disabled{background:#e2e8f0;color:#94a3b8;cursor:not-allowed;transform:none;box-shadow:none}.control-info{text-align:center;font-size:.85rem;color:#64748b;font-style:italic}.story-actions{display:flex;justify-content:center;gap:1rem;padding:1.5rem 2rem;background:#f8fafc;border-top:1px solid #e2e8f0}.generate-button{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s ease}.generate-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.finish-button{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s ease}.finish-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b4d}.loading-state,.error-state,.empty-state{text-align:center;padding:4rem 2rem}.loading-state .spinner{font-size:3rem;margin-bottom:1rem;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.loading-state h3{color:#334155;margin:0 0 .5rem}.loading-state p{color:#64748b;margin:0 0 .5rem}.loading-state small{color:#94a3b8;font-size:.85rem}.error-state{background:#fef2f2;border-radius:8px;margin:2rem}.error-state h3{color:#dc2626;margin:0 0 1rem}.error-message{color:#991b1b;background:#fff;padding:1rem;border-radius:6px;border:1px solid #fecaca;margin:1rem 0;font-weight:500}.error-actions{display:flex;justify-content:center;gap:1rem;margin:1.5rem 0;flex-wrap:wrap}.retry-button{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s ease}.retry-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.back-button.secondary{background:#f1f5f9;color:#64748b}.error-tips{text-align:start;background:#fff;padding:1.5rem;border-radius:8px;border:1px solid #e5e7eb;margin-top:1.5rem}.error-tips h4{margin:0 0 1rem;color:#374151;font-size:1rem}.error-tips ul{margin:0;padding-left:1.5rem;color:#4b5563}.error-tips li{margin-bottom:.5rem;font-size:.9rem;line-height:1.5}@media(max-width:768px){.practice-mastered-words{padding:.5rem}.practice-header{flex-direction:column;align-items:stretch}.header-title{min-width:auto}.header-controls{justify-content:flex-start;width:100%}.auto-play-toggle{font-size:.8rem;padding:.4rem .8rem}.story-progress{flex-direction:column;gap:.5rem;align-items:flex-start}.progress-bar{min-width:auto;width:100%}.story-box{padding:1rem}.story-line.thai-line{margin:0 -1rem 1rem;padding:1rem}.thai-line .line-content{font-size:1.2rem}.line-content{font-size:1rem}.story-controls{flex-direction:column;gap:1rem}.control-button{min-width:auto;width:100%}.story-actions{flex-direction:column;padding:1rem}.loading-state,.error-state{padding:2rem 1rem}.error-actions{flex-direction:column}}.test-provider-btn{background:#10b981;color:#fff;border:none;padding:.25rem .75rem;border-radius:4px;font-size:.85rem;cursor:pointer;transition:all .2s ease}.test-provider-btn:hover:not(:disabled){background:#059669;transform:translateY(-1px)}.test-provider-btn:disabled{background:#94a3b8;cursor:not-allowed;transform:none}.voice-item.cloud{background:linear-gradient(135deg,#eff6ff,#f0f9ff);border-inline-start:3px solid #3b82f6;padding-inline-start:1rem}.provider-badge,.gender-badge{font-size:.75rem;padding:.25rem .5rem;border-radius:4px;font-weight:500;margin-inline-start:.5rem}.provider-badge{background:#e0f2fe;color:#0369a1}.gender-badge{background:#fce7f3;color:#be185d}.control-group select{width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:.9rem;color:#374151;cursor:pointer}.control-group select:focus{outline:none;border-color:var(--teacher-accent);box-shadow:0 0 0 3px #a05c321a}.no-cloud-providers{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #0ea5e9;border-radius:6px;padding:1rem;margin:1rem 0}.no-cloud-providers p{margin-bottom:.5rem;color:#0c4a6e}.no-cloud-providers ul{margin:.5rem 0;padding-left:1.5rem;color:#0c4a6e}.no-cloud-providers li{margin-bottom:.5rem;font-size:.95rem}.no-cloud-providers li strong{color:#075985}.card-text-container{display:flex;flex-direction:column;gap:.3rem;align-items:flex-start;text-align:left;width:100%}.card-text-with-pronunciation{display:flex;align-items:baseline;justify-content:flex-start;gap:.75rem;flex-wrap:nowrap}.card-text-container .english-translation{align-self:flex-start;width:100%;max-width:100%}.card-text-with-pronunciation .pronunciation-text{align-self:baseline;width:auto;max-width:none}.pronunciation-text{color:#1e40af;font-style:normal;font-size:2.5rem;font-family:Segoe UI,Noto Sans,Liberation Sans,Arial Unicode MS,Lucida Sans Unicode,DejaVu Sans,Arial,sans-serif;background:linear-gradient(145deg,#dbeafe,#bfdbfe);padding:.5rem 1rem;border-radius:16px;border:1px solid #3b82f6;box-shadow:0 2px 6px #3b82f633;font-weight:600;white-space:nowrap;margin:0;display:inline-block;-webkit-font-feature-settings:"kern" 1,"liga" 1;font-feature-settings:"kern" 1,"liga" 1;text-rendering:optimizeLegibility;line-height:1.1;unicode-bidi:normal;direction:ltr}.card-text.clickable{display:flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;transition:all .2s ease;padding:.5rem .75rem;border-radius:8px;position:relative;background:linear-gradient(145deg,#f8fafc,#f1f5f9);border:2px solid transparent;width:fit-content;max-width:100%;box-sizing:border-box;margin:0;z-index:2}.card-main-line{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;margin-bottom:.75rem;padding:0;background:linear-gradient(145deg,#f8fafc,#f1f5f9);border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 2px 4px #0000000d;min-height:60px;max-width:100%;overflow:hidden;box-sizing:border-box}.card-main-line.sentence{flex-direction:column;align-items:stretch;gap:.75rem;background:transparent;border:none;box-shadow:none;padding:0;min-height:0}.thai-section{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;flex:1}.answer-thai-section{align-items:center}.thai-section.sentence{flex-direction:column;align-items:flex-start;gap:.5rem;width:100%}.romanization-inline{flex-shrink:0;display:flex;align-items:center;gap:.5rem;flex-wrap:nowrap}.romanization-inline.sentence{flex-wrap:wrap;align-items:flex-start;width:100%}.romanization-inline.sentence .pronunciation-text-inline,.romanization-inline.sentence .add-pronunciation-btn-inline{font-size:1.5rem!important;padding:.35rem .75rem;border-radius:8px;border:1px dashed rgba(160,92,50,.3);background:#fdf6ec;box-shadow:none;overflow-wrap:break-word;flex-shrink:1;white-space:normal}.pronunciation-text-inline{color:#6b5544;font-style:normal;font-size:1.3rem!important;font-weight:700!important;font-family:Segoe UI,Noto Sans,Liberation Sans,Arial Unicode MS,Lucida Sans Unicode,DejaVu Sans,Arial,sans-serif;background:linear-gradient(145deg,#fffdf8,#fdf3e6);padding:.4rem .8rem;border-radius:12px;border:2px solid rgba(160,92,50,.22);cursor:pointer;transition:all .2s ease;white-space:normal;overflow-wrap:break-word;box-shadow:0 4px 12px #a05c3224;flex-shrink:1;text-align:center;display:inline-block;max-width:100%;text-rendering:optimizeLegibility;unicode-bidi:normal;direction:ltr;-webkit-font-feature-settings:"kern" 1,"liga" 1;font-feature-settings:"kern" 1,"liga" 1;line-height:1.2}.pronunciation-text-inline:hover{background:linear-gradient(145deg,#fdefdd,#fbe6cf);border-color:var(--teacher-accent);transform:translateY(-1px);box-shadow:0 4px 12px #a05c3233}.add-pronunciation-btn-inline{color:#1e293b;font-style:normal;font-size:1.8rem;font-weight:800;font-family:Segoe UI,Noto Sans,Liberation Sans,Arial Unicode MS,Lucida Sans Unicode,DejaVu Sans,Arial,sans-serif;background:linear-gradient(145deg,#fffdf8,#fdf3e6);padding:.4rem .8rem;border-radius:12px;border:2px dashed rgba(160,92,50,.35);cursor:pointer;transition:all .2s ease;white-space:nowrap;box-shadow:0 4px 12px #a05c3224;flex-shrink:0;text-align:center;display:inline-block;text-rendering:optimizeLegibility;unicode-bidi:normal;direction:ltr;-webkit-font-feature-settings:"kern" 1,"liga" 1;font-feature-settings:"kern" 1,"liga" 1}.add-pronunciation-btn-inline:hover{background:linear-gradient(145deg,#fdefdd,#fbe6cf);border-color:var(--teacher-accent);transform:translateY(-1px);box-shadow:0 4px 12px #a05c3233}.card-main-line .card-text.clickable{background:linear-gradient(145deg,#fffdf8,#fdf3e6);border:2px solid rgba(160,92,50,.22);font-size:1.8rem!important;font-weight:800!important;padding:.4rem .8rem;margin:0;box-shadow:0 4px 12px #a05c3224;border-radius:12px;flex-shrink:0;line-height:1.2}.card-main-line .card-text.clickable.sentence{background:linear-gradient(145deg,#fff,#f8fafc);border:2px solid #3b82f6;font-size:1.6rem!important;padding:.9rem 1.1rem;box-shadow:0 2px 8px #3b82f633;width:100%;max-width:100%;flex-shrink:1;justify-content:space-between;text-align:left;box-sizing:border-box}.card-text.clickable:hover{background:linear-gradient(145deg,#fdefdd,#fbe6cf);border-color:var(--teacher-accent);transform:translateY(-1px);box-shadow:0 4px 12px #a05c3233}.card-text.clickable.speaking{background:linear-gradient(145deg,#dcfce7,#bbf7d0);border-color:#22c55e;animation:pulse-speak 1s infinite}@keyframes pulse-speak{0%,to{box-shadow:0 0 #22c55e66}50%{box-shadow:0 0 0 8px #22c55e00}}.thai-word-speaker-icon{font-size:1.2rem;opacity:.7;transition:opacity .2s ease}.card-text.clickable:hover .thai-word-speaker-icon{opacity:1}.card-text.clickable.speaking .thai-word-speaker-icon{opacity:1;animation:bounce .6s ease-in-out infinite alternate}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-3px)}}.thai-word-text{flex:1;font-family:var(--app-font-thai);overflow-wrap:break-word;word-wrap:break-word;min-width:0;unicode-bidi:isolate}.english-word-text,.pronunciation-text-inline,.pronunciation-container{unicode-bidi:isolate}.card-text.clickable.sentence .thai-word-text{min-width:0;white-space:normal;overflow-wrap:anywhere}.card-text.clickable.sentence .thai-word-speaker-icon{margin-inline-start:auto}.card-text-with-speech{display:flex;align-items:flex-start;gap:1rem;margin-bottom:.5rem;width:100%}.card-text-with-speech .card-text-container{flex:1;min-width:0}.form-group textarea{width:100%;padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;resize:vertical;font-family:inherit;transition:border-color .2s ease;box-sizing:border-box}.form-group textarea:focus{outline:none;border-color:var(--teacher-accent);box-shadow:0 0 0 3px #a05c321a}.form-group textarea:disabled{background:#f9fafb;color:#6b7280}.submit-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:.75rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%}.submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.submit-btn:disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed;transform:none}.review-card{background:#fff;border:1px solid #e1e5e9;border-radius:12px;padding:1rem;overflow:hidden;max-width:100vw;box-sizing:border-box;box-shadow:0 2px 8px #0000001a}.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb;overflow:hidden;min-width:0}.review-title-section{display:flex;align-items:center;gap:1rem;flex-shrink:1;min-width:0}.review-header h2{margin:0;color:#334155}.review-stats{display:flex;gap:.75rem;align-items:center;justify-content:space-between;flex:1;margin-left:1rem;flex-wrap:nowrap;min-width:0}.due-count{background:#dbeafe;color:#1e40af;padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:600;white-space:nowrap;flex-shrink:0}.lapse-count{background:#fee2e2;color:#dc2626;padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:600}.card-content{margin-bottom:.5rem;width:100%;box-sizing:border-box;position:relative;display:flex;flex-direction:column;gap:.25rem}.card-front.with-status{display:flex;align-items:center;gap:.5rem}.card-status-emoji{font-size:1rem;line-height:1;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:999px;background:#ffffff14;border:1px solid rgba(148,163,184,.25);margin-right:.35rem}.card-status-emoji.inline{margin-top:.1rem}.card-front,.card-back,.card-example{margin-bottom:.25rem;width:100%;box-sizing:border-box;position:relative;z-index:1;display:flex;flex-direction:column;gap:.25rem}.card-back{margin-bottom:0;height:fit-content;min-height:auto;gap:0!important;padding:0;display:block!important;width:100%;align-self:stretch;box-sizing:border-box}.card-front{position:relative}.card-front:after{content:"";position:absolute;bottom:-1.25rem;left:50%;transform:translate(-50%);width:60px;height:3px;background:linear-gradient(90deg,transparent,#e2e8f0,transparent);border-radius:2px}.card-front h3,.card-back h3,.card-example h3{margin:0 0 .75rem;color:#475569;font-size:1.1rem}.card-example h3{color:#6b7280;font-size:1rem}.card-text{background:linear-gradient(145deg,#fff,#f8fafc);border:3px solid #3b82f6;border-radius:16px;padding:.5rem 1rem;font-size:2.5rem;line-height:1.1;color:#1e293b;white-space:pre-wrap;text-align:center;font-weight:700;display:block;width:fit-content;margin:0 auto;box-shadow:0 4px 12px #3b82f633,0 2px 8px #0000001a;transition:all .3s ease;position:relative;z-index:1}.card-text.sentence{font-size:1.6rem;line-height:1.5;font-weight:600;padding:.9rem 1.1rem;border:3px solid #3b82f6;border-radius:12px;background:linear-gradient(145deg,#fff,#f8fafc);box-shadow:0 2px 8px #3b82f626;width:100%;max-width:100%;max-height:none;overflow:visible;text-align:left;white-space:normal;box-sizing:border-box}.card-text.clickable.sentence{justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;gap:.5rem .75rem;overflow:visible;width:100%;max-width:100%;box-sizing:border-box}.card-text.example-text{margin:0;display:inline-block;width:fit-content;max-width:100%;align-self:flex-start;text-align:left}.example-text{background:linear-gradient(145deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;color:#475569;font-size:1.4rem;font-style:normal;font-weight:500;padding:.8rem 1rem;line-height:1.3;display:inline-block;width:fit-content;max-width:100%;text-align:left;border-radius:8px;box-shadow:0 2px 4px #0000001a;transition:all .3s ease;margin:0;align-self:flex-start}.answer-text{background:linear-gradient(145deg,#f0fdf4,#dcfce7);border:2px solid #22c55e;color:#15803d;font-size:2rem;padding:.75rem 1.25rem;box-shadow:0 4px 12px #22c55e33,0 2px 4px #0000000d;width:100%;text-align:center;display:block;margin:0;box-sizing:border-box}.answer-text.sentence{font-size:1.5rem;line-height:1.5;padding:.9rem 1.1rem;background:#f0fdf4;border:1px solid #86efac;color:#166534;box-shadow:none;text-align:left;overflow-wrap:break-word;word-wrap:break-word;max-width:100%;box-sizing:border-box}.review-actions-top{margin-bottom:1rem}.review-actions-bottom{margin-top:.25rem}.review-actions{margin-bottom:.75rem}.reveal-btn-container{display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap}.reveal-btn-container:empty{height:0;margin:0}.reveal-btn-container:not(:empty){margin:.1rem 0;height:auto}.study-question{margin:0 0 .75rem;font-size:1.1rem;font-weight:600;line-height:1.5;text-align:center;color:var(--app-text)}[data-skin=midnight-slate] .study-active .study-question{color:var(--teacher-ink)}.recall-instructions{flex-basis:100%;margin:0 0 .25rem;font-size:.9rem;line-height:1.5;text-align:start;color:var(--app-text)}[data-skin=midnight-slate] .study-active .recall-instructions{color:var(--teacher-ink-soft)}[data-skin=midnight-slate] .study-active .reveal-btn.secondary{color:var(--teacher-ink-soft);background:var(--teacher-surface);border-color:var(--teacher-hairline)}.multiple-choice-practice-hint{flex-basis:100%;width:100%;text-align:center;font-size:.85rem;color:var(--app-text);opacity:.7;margin-top:.25rem}.reveal-btn{background:var(--teacher-accent-strong);color:#fff;border:none;padding:1rem 2rem;border-radius:14px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s ease;width:100%;letter-spacing:.01em}.reveal-btn.secondary{background:#f1f5f9;color:#1f2937;border:1px solid rgba(15,23,42,.15);border-radius:14px}.reveal-btn.demoted{background:#e5e7eb;color:#9ca3af;cursor:pointer;box-shadow:none;transform:none}.reveal-btn.demoted:hover{box-shadow:none;transform:none}.reveal-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #a05c324d}.card-state-indicator{margin-bottom:1rem;display:flex;justify-content:flex-end}.card-state-chip{align-items:center;gap:.3rem;padding:.3rem .7rem;border-radius:12px;font-size:.75rem;font-weight:500;opacity:.8;transition:opacity .2s ease}.card-state-chip:hover{opacity:1}.card-state-chip.state-new{background:linear-gradient(135deg,#ff4d4f,#ff7875);color:#fff;border:1px solid rgba(255,77,79,.3);text-shadow:0 1px 2px rgba(0,0,0,.1)}.card-state-chip.state-learning{background:linear-gradient(135deg,#fff176,#ffeb3b);color:#333;border:1px solid rgba(255,241,118,.4);text-shadow:none}.card-state-chip.state-review{background:linear-gradient(135deg,#52c41a,#73d13d);color:#fff;border:1px solid rgba(82,196,26,.3);text-shadow:0 1px 2px rgba(0,0,0,.1)}.card-state-chip.state-suspended{background:#6b72801a;color:#4b5563;border:1px solid rgba(107,114,128,.2)}.state-icon{font-size:.9rem}.card-state-chip.inline-badge{padding:.25rem .6rem;font-size:.8rem;opacity:.9;margin:0;white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center}.card-state-chip.inline-badge .state-icon{font-size:.85rem}.leech-flag{margin-inline-start:.2rem;font-size:.8rem}.lapse-count{margin-inline-start:.2rem;background:#fbbf2433;color:#f59e0b;padding:.1rem .3rem;border-radius:6px;font-size:.65rem;font-weight:600}.lapse-count.leech-level{background:#dc262633;color:#dc2626;font-weight:700;animation:pulse-warning 2s infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.7}}.card-state-chip.about-to-graduate{background:linear-gradient(135deg,#ff7a00,#ff9500);border:2px solid rgba(255,122,0,.3);color:#fff;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 0 8px #ff7a004d;animation:ready-glow 3s ease-in-out infinite}@keyframes ready-glow{0%,to{box-shadow:0 0 8px #ff7a004d;transform:scale(1)}50%{box-shadow:0 0 16px #ff7a0080;transform:scale(1.02)}}.leech-indicator{margin-left:.2rem;font-size:.8rem;filter:grayscale(20%);opacity:.8}.score-buttons{display:flex;gap:1rem;margin-bottom:1rem;align-items:center;flex-wrap:nowrap;width:100%;min-height:60px}.main-score-buttons{display:flex;gap:1rem;flex:1;align-items:center}.action-buttons-inline{display:flex;gap:.5rem;align-items:center;flex-shrink:0;white-space:nowrap;margin-left:1rem}.action-buttons-inline .example-button,.action-buttons-inline .explain-button,.action-buttons-inline .speak-assess-toggle-btn{min-height:48px;height:48px;min-width:120px;display:flex;align-items:center;justify-content:center;padding:.5rem 1rem;font-size:.9rem;flex-shrink:0;white-space:nowrap;box-sizing:border-box}.action-buttons-inline .example-button-container{width:120px;min-width:120px}.action-buttons-inline .example-button-container .split-button-group{width:100%}.action-buttons-inline .example-button-container .split-button-main{min-width:80px;flex:1;text-align:center;justify-content:center;overflow:hidden;text-overflow:ellipsis}.action-buttons-inline .example-button-container .examples-container{display:none!important}@media(max-width:768px){.score-buttons{flex-direction:column;gap:.5rem;justify-content:center}.main-score-buttons{width:100%;justify-content:center}.action-buttons-inline{margin-left:0;margin-top:.5rem;justify-content:center;width:100%}.action-buttons-inline .example-button,.action-buttons-inline .explain-button,.action-buttons-inline .speak-assess-toggle-btn{flex:1;min-width:80px;font-size:.8rem}}.score-buttons.three-button-layout{gap:.5rem}.score-buttons.two-button-layout{gap:1rem}.score-buttons .fail-btn{margin-right:.5rem}.score-buttons .pass-btn{margin-left:.5rem}.fail-btn,.pass-btn{flex:1;padding:1rem;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.fail-btn.compact,.pass-btn.compact,.already-known-btn.compact{flex:1;padding:.75rem .5rem;font-size:.95rem;font-weight:600}.fail-btn{background:linear-gradient(135deg,#94a3b8,#64748b);color:#fff}.fail-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #64748b4d}.grade-footer{margin-top:1rem;display:flex;flex-direction:column;gap:.75rem}.grade-actions{display:flex;gap:.75rem}.grade-honesty-hint{text-align:center;font-size:.85rem;color:var(--app-text);opacity:.7;margin-top:-.1rem}.explore-toggle{align-self:center;background:none;border:none;color:#94a3b8;font-size:.85rem;font-weight:600;cursor:pointer}.explore-toggle:hover{color:#64748b;text-decoration:underline}.explore-panel{margin-top:.5rem;padding:.75rem;border-radius:12px;border:1px solid rgba(0,0,0,.06);background:#00000005}.explore-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.5rem}.explore-actions .ghost-link,.explore-actions .explain-button.ghost,.explore-actions .example-button.ghost{font-size:.85rem;font-weight:500;color:#64748b}.explore-actions .ghost-link:hover,.explore-actions .explain-button.ghost:hover,.explore-actions .example-button.ghost:hover{color:#4f46e5;text-decoration:underline}.tone-details{border:1px solid #e5e7eb;border-radius:10px;padding:.5rem .75rem;background:#f9fafb}.tone-details summary{cursor:pointer;font-size:.8rem;font-weight:600;color:#64748b;list-style:none}.tone-details summary::-webkit-details-marker{display:none}.tone-details summary:after{content:"+";float:right;color:#94a3b8}.tone-details[open] summary:after{content:"-"}.again-btn,.good-btn{flex:1;padding:.95rem;border:none;border-radius:14px;font-size:1.05rem;font-weight:700;cursor:pointer;transition:all .2s ease;letter-spacing:.01em}.again-btn{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.again-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.good-btn{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.good-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #22c55e4d}.again-btn:disabled,.good-btn:disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.grade-actions.first-presentation{align-items:stretch}.grade-actions.first-presentation .continue-btn{background:var(--teacher-accent-strong);color:#fff8ef;border-radius:14px}.grade-actions.first-presentation .continue-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #a05c3247}.grade-actions.first-presentation .already-know-btn{flex:0 1 auto;max-width:42%;line-height:1.25;padding:.7rem .9rem;font-size:.9rem;font-weight:600;background:#a05c320f;border:1.5px solid rgba(160,92,50,.45);color:#8d5130;box-shadow:none;border-radius:14px;opacity:1}.grade-actions.first-presentation .already-know-btn:hover:not(:disabled){background:#a05c321f;border-color:#a05c32b3;color:#6f3d22}.grade-actions.first-presentation .already-know-btn:disabled{background:#a05c320f;border-color:#a05c3273;color:#8d5130;cursor:default}.helper-actions{display:flex;flex-wrap:wrap;gap:.6rem}.ghost-link{background:none;border:none;color:#4f46e5;font-weight:600;cursor:pointer;padding:.15rem 0}.ghost-link:hover{text-decoration:underline}.explain-button.ghost,.example-button.ghost{background:none;border:none;box-shadow:none;padding:.15rem 0;color:#4f46e5;font-weight:600}.explain-button.ghost:hover,.example-button.ghost:hover{text-decoration:underline;transform:none;box-shadow:none}.tone-visual{margin-top:.75rem;display:flex;flex-direction:column;gap:.35rem}.tone-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.tone-hint{font-size:.78rem;color:#94a3b8}.pass-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.pass-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.fail-btn:disabled,.pass-btn:disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed;transform:none}.already-known-section{margin-top:1rem;display:flex;justify-content:center}.already-known-btn{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;padding:1rem;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #8b5cf633}.already-known-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf666;background:linear-gradient(135deg,#7c3aed,#6d28d9)}.already-known-btn:disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.card-info{text-align:center;color:#6b7280;font-size:.8rem;margin-top:.5rem;margin-bottom:0}.no-cards,.loading{text-align:center;padding:3rem;color:#94a3b8}.no-cards h2{color:#e2e8f0;font-size:2rem;margin-bottom:1rem}.lesson-complete{max-width:min(720px,92vw)}.lesson-objective-target{color:#f8fafc;font-size:clamp(2rem,6vw,4rem);font-weight:800;line-height:1.08;margin:.25rem 0 .75rem;overflow-wrap:anywhere}.lesson-objective-gloss{color:#cbd5e1;font-size:1.25rem;line-height:1.45;margin:0 0 2rem}.lesson-objective-built{margin-top:2rem}.lesson-objective-built h3{color:#8a6a52;font-size:1rem;margin:0 0 .75rem}.lesson-objective-built ul{display:grid;gap:.65rem;list-style:none;margin:0;padding:0}.lesson-objective-built li{color:#6b5646;display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center;line-height:1.35}.lesson-objective-word{color:#2e1f14;font-weight:750}.lesson-objective-word:after{color:#a8896f;content:"-";margin-inline-start:.45rem}.lesson-objective-meaning{color:#6b5646}.refill-stage{margin:.5rem 0 0;font-size:.9rem;line-height:1.45;opacity:.8}.refill-stage-retry{margin:.35rem 0 0;font-size:.8125rem;line-height:1.45;opacity:.7}.refill-progress{width:min(280px,70%);height:6px;margin:1.4rem auto 0;border-radius:999px;background:#94a3b833;overflow:hidden}.refill-progress-fill{position:relative;height:100%;width:34%;border-radius:999px;background:linear-gradient(90deg,#6366f1,#818cf8);animation:refill-indeterminate 1.35s ease-in-out infinite}@keyframes refill-indeterminate{0%{inset-inline-start:-34%}to{inset-inline-start:100%}}@media(prefers-reduced-motion:reduce){.refill-progress-fill{animation:none;inset-inline-start:33%}}.card-back{animation:answerReveal .35s ease-out}@keyframes answerReveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.card-front.with-status{animation:cardContentIn .3s ease-out}@keyframes cardContentIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.grade-footer{animation:gradeSlideIn .3s ease-out}@keyframes gradeSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.initialization,.error-message{text-align:center;padding:3rem 2rem;border-radius:12px;margin:2rem 0}.initialization{background:#eff6ff;border:1px solid #dbeafe;color:#1e40af}.initialization h3{color:#1d4ed8;margin-bottom:1rem}.error-message{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.error-message h3{color:#b91c1c;margin-bottom:1rem}.speech-button{background:#a05c321a;border:1px solid rgba(160,92,50,.22);border-radius:50%;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#a05c32;margin-left:.5rem;vertical-align:middle}.speech-button:hover:not(:disabled){background:#a05c322e;border-color:#a05c3252;transform:scale(1.05)}.speech-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.speech-button.speaking{background:#a05c3229;border-color:var(--teacher-accent);color:var(--teacher-accent)}.speech-button.speaking:hover{background:#a05c323d}.speech-button.speech-button--word{width:auto;height:auto;min-width:0;padding:0;margin:0;background:none;border:0;border-radius:0;display:inline;color:inherit;font:inherit;line-height:inherit;text-align:inherit;text-decoration:underline dotted rgba(160,92,50,.55);text-underline-offset:.18em;-webkit-tap-highlight-color:transparent}.speech-button.speech-button--word:hover:not(:disabled){background:none;border-color:transparent;transform:none;text-decoration-color:#a05c32}.speech-button.speech-button--word:disabled{opacity:1;cursor:default}.speech-button--word .speech-glyph{display:inline-block;width:.72em;height:.72em;margin-inline-start:.22em;vertical-align:-.04em;color:#a05c32c7}.speech-button--word .speech-glyph svg{width:100%;height:100%;display:block;fill:currentColor}.speech-button[aria-busy=true]{opacity:1}.speech-button[aria-busy=true] .speech-glyph,.speech-button[aria-busy=true] .speaker-icon{opacity:1;animation:none}.speech-loading{animation:speech-loading-turn .8s linear infinite}@keyframes speech-loading-turn{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.speech-loading{animation:none}}.speech-button--word.speaking .speech-glyph{color:var(--teacher-accent)}.speech-button.speech-button--word.speaking{background:none;border:0;color:var(--teacher-accent);text-decoration-color:currentColor}.card-text-with-speech{display:flex;align-items:center;gap:.5rem}.card-text-with-speech .card-text{flex:1;margin:0}.speaker-icon{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center}.speaker-icon svg{width:16px;height:16px;display:block;fill:currentColor}.speaker-icon.speaking{opacity:.85;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media(max-width:768px){.app-header{padding:1rem;flex-direction:column;gap:1rem;text-align:center}.back-btn{align-self:stretch}main{padding:1rem}.home-stats{flex-direction:column;gap:1rem}.stat-card{min-width:auto}.fail-btn,.pass-btn,.already-known-btn{min-height:44px;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.fail-btn:active{transform:translateY(1px);box-shadow:0 2px 6px #ef444433}.pass-btn:active{transform:translateY(1px);box-shadow:0 2px 6px #10b98133}.already-known-btn:active{transform:translateY(1px);box-shadow:0 2px 6px #8b5cf633}.score-buttons button{touch-action:manipulation}.score-buttons{flex-direction:column}.app-header h1{font-size:1.5rem}}.example-button-container{margin:1rem 0}.card-actions .example-button-container,.card-actions-inline .example-button-container{margin:0}.card-actions .example-button-container .examples-container,.card-actions-inline .example-button-container .examples-container{display:none}.example-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--teacher-accent-strong);color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-height:38px;box-shadow:0 4px 8px #a05c324d,0 2px 4px #0000001a,inset 0 1px #fff3;border:1px solid rgba(255,255,255,.1)}.example-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 12px #a05c3266,0 3px 6px #00000026,inset 0 1px #ffffff4d;background:linear-gradient(135deg,#5a6fd8,#6a4190)}.example-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #a05c324d}.example-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 1px 2px #0000001a}.example-button.loading{pointer-events:none}.example-button.active{background:linear-gradient(135deg,#4a5cb8,#5a356e);transform:translateY(2px);box-shadow:inset 0 3px 8px #0000004d,inset 0 1px 4px #0003,0 1px 2px #a05c3233;border:1px solid rgba(0,0,0,.1)}.example-button.active:hover:not(:disabled){background:linear-gradient(135deg,#3e4fa0,#4d2d5c);transform:translateY(2px);box-shadow:inset 0 4px 10px #00000059,inset 0 2px 6px #00000040,0 1px 3px #a05c324d}.loading-spinner{animation:spin 1s linear infinite}.examples-container{margin-top:0!important;padding:1rem;border:1px solid var(--teacher-hairline, rgba(160, 92, 50, .22));border-radius:12px;background:var(--teacher-surface-warm, linear-gradient(135deg, #fff8ec 0%, #fbe6cf 100%));width:100%;max-width:100%;box-sizing:border-box;position:relative;left:0;right:0;display:block;clear:both;margin-left:0;margin-right:0;overflow:visible;box-shadow:0 2px 8px #0000001a}.examples-error{text-align:center;padding:1rem}.error-message{color:#dc3545;margin-bottom:.5rem}.retry-button{background:#dc3545;color:#fff;border:none;padding:.4rem .8rem;border-radius:4px;cursor:pointer;font-size:.8rem}.retry-button:hover{background:#c82333}.examples-list h4{margin:0 0 1rem;color:#555}.example-item{margin-bottom:1rem;padding:.75rem;background:#ffffffa8;border-radius:8px;box-shadow:0 2px 4px #995b2b14;width:100%;box-sizing:border-box;border:1px solid rgba(105,72,48,.16);transition:all .2s ease}.example-item:last-child{margin-bottom:0}.example-thai{display:flex;align-items:center;gap:.3rem;margin-bottom:.5rem;width:100%}.thai-text{font-size:1.5rem;font-weight:500;color:#20130f;flex:1;line-height:1.2;font-family:var(--app-font-thai);text-rendering:optimizeLegibility;-webkit-font-feature-settings:"liga" 1;font-feature-settings:"liga" 1}.example-speech-btn{font-size:.8rem;padding:.2rem .4rem;min-height:32px;width:32px;height:32px;border-radius:50%;flex-shrink:0;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center}.example-pronunciation{font-family:Courier New,monospace;font-size:1.6rem;color:#674a3d;margin-bottom:.3rem;font-style:normal;font-weight:600;line-height:1.2;letter-spacing:.03em;-webkit-font-feature-settings:"kern" 1,"liga" 1;font-feature-settings:"kern" 1,"liga" 1;text-rendering:optimizeLegibility;unicode-bidi:normal;direction:ltr;background:linear-gradient(145deg,#f0f8ff,#e6f2ff);padding:.3rem .6rem;border-radius:8px;border:1px solid rgba(30,64,175,.2);display:inline-block;box-shadow:0 1px 3px #1e40af1a}.example-translations{margin-top:.25rem}.example-english{color:#333;font-size:.95rem;margin-bottom:.25rem}.example-literal{color:#666;font-size:.9rem;font-style:italic;margin-bottom:.25rem}.translation-label{font-weight:600;color:#4a5568;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.examples-loading{text-align:center;padding:2rem}.examples-loading p{margin:.5rem 0}.examples-loading small{color:#666}.example-button.compact{padding:.4rem .8rem;font-size:.8rem;min-height:32px}.card-example-section{width:100%;margin-top:.5rem;position:relative}.example-button-section{margin:.5rem 0;display:flex;justify-content:center}.examples-accordion-wrapper{width:100%;margin-top:.5rem;display:block;position:relative;clear:both;left:0;right:0;transition:all .3s ease}.card-front .examples-accordion{width:100%;margin:0;position:relative}.examples-accordion{width:100%;transition:opacity .3s ease-in-out;overflow:visible;opacity:1;position:static;display:block;clear:both}.examples-accordion.fade-in{opacity:0}.examples-accordion.fade-in-complete{opacity:1}.card-example-static{margin-top:1rem;padding:1rem;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.card-example-static h3{margin-top:0;color:#6c757d;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}[data-skin=midnight-slate] .thai-text{color:var(--app-text)}[data-skin=midnight-slate] .example-pronunciation{color:#674a3d;background:#a05c3214;border-color:#a05c322e;box-shadow:none}[data-skin=midnight-slate] .example-english,[data-skin=midnight-slate] .example-literal{color:#674a3d}[data-skin=midnight-slate] .example-text{background:#ffffffa8;border-color:#69483029;color:#3c2a1e;box-shadow:none}[data-skin=midnight-slate] .examples-container{background:#ffffff9e;border-color:#69483029;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 2px 8px #995b2b14}[data-skin=midnight-slate] .example-item{background:#ffffffa8;border-color:#6948302e;box-shadow:none}[data-skin=midnight-slate] .example-item:hover{background:#fff4e0f2;border-color:#a05c3280}[data-skin=midnight-slate] .example-thai .thai-text{color:#20130f}[data-skin=midnight-slate] .translation-label{color:#64748b}[data-skin=midnight-slate] .card-text{background:#ffffff0a;border-color:#94a3b826;color:var(--app-text);box-shadow:0 4px 16px #00000026}[data-skin=midnight-slate] .review-card .card-text,[data-skin=midnight-slate] .review-card .card-text.clickable{background:#ffffff0a!important;border-color:#6366f133!important;color:var(--app-text)!important;box-shadow:0 4px 20px #6366f114!important}[data-skin=midnight-slate] .review-card .card-text.clickable:hover{background:#6366f10f!important;border-color:#6366f159!important;box-shadow:0 4px 24px #6366f126!important}[data-skin=midnight-slate] .review-card .card-text.clickable.speaking{background:#6366f114!important;border-color:#818cf866!important;box-shadow:0 0 24px #6366f133!important}[data-skin=midnight-slate] .card-text.sentence{background:#ffffff0a;border-color:#94a3b826;color:var(--app-text);box-shadow:0 2px 12px #0000001a}[data-skin=midnight-slate] .card-main-line{background:#ffffff08;border-color:#94a3b81a;box-shadow:0 4px 16px #0000001f;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}[data-skin=midnight-slate] .card-main-line.sentence{background:transparent;border-color:transparent;box-shadow:none}[data-skin=midnight-slate] .card-main-line .card-text.clickable,[data-skin=midnight-slate] .card-main-line .card-text.clickable.sentence{background:#ffffff08;border-color:#6366f133;box-shadow:0 4px 20px #6366f114;color:var(--app-text)}[data-skin=midnight-slate] .review-card .card-main-line:has(.card-status-emoji){border-color:#38bdf840;box-shadow:0 0 12px #38bdf814,0 4px 20px #00000026}[data-skin=midnight-slate] .romanization-inline{color:#94a3b8}[data-skin=midnight-slate] .pronunciation-text-inline,[data-skin=midnight-slate] .add-pronunciation-btn-inline{color:#818cf8;opacity:.8}[data-skin=midnight-slate] .pronunciation-text-inline:hover,[data-skin=midnight-slate] .add-pronunciation-btn-inline:hover{color:#a5b4fc;opacity:1}[data-skin=midnight-slate] .speaker-icon{color:#818cf8}[data-skin=midnight-slate] .speaker-icon.speaking{color:#a5b4fc}[data-skin=midnight-slate] .card-status-emoji{background:#6366f11a;border-color:#6366f133}[data-skin=midnight-slate] .card-example-static{background:var(--app-surface);border-color:var(--app-border)}[data-skin=midnight-slate] .card-example-static h3{color:var(--app-muted)}@media(max-width:768px){.examples-container{margin:0 -.5rem;padding:.8rem}.example-item{padding:.8rem}.thai-text{font-size:1rem}.example-pronunciation{font-size:.9rem!important;padding:.25rem .5rem!important;line-height:1.15!important}}.form-input.number-input{width:80px;text-align:center}.translation-container{position:relative;width:100%;margin:0;box-sizing:border-box}.translation-display{display:block;width:100%;box-sizing:border-box}.example-toggle-btn{background:#f8f9fa;color:#495057;border:1px solid #dee2e6;border-radius:4px;padding:6px 12px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.example-toggle-btn:hover:not(:disabled){background:#e9ecef;border-color:#adb5bd}.example-toggle-btn:disabled{opacity:.6;cursor:not-allowed}.debug-panel{margin-top:1rem;border:1px solid #e2e8f0;background:#0f172a;color:#e2e8f0;border-radius:10px;overflow:hidden;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.debug-panel-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#111827;font-size:.8rem}.debug-panel-clear{background:transparent;border:1px solid #334155;color:#cbd5f5;border-radius:6px;padding:.2rem .5rem;font-size:.75rem;cursor:pointer}.debug-panel-body{margin:0;padding:.75rem;max-height:220px;overflow:auto;font-size:.75rem;white-space:pre-wrap}.speak-assess-component{width:100%;display:flex;flex-direction:column;gap:1rem}.practice-mode-selector{background:#f8f9fa;border-radius:8px;padding:1rem;border:1px solid #dee2e6}.practice-mode-label{font-weight:600;color:#495057;margin-bottom:.5rem;font-size:.9rem}.practice-mode-buttons{display:flex;gap:.5rem;margin-bottom:1rem}.mode-btn{background:#fff;color:#6c757d;border:1px solid #dee2e6;border-radius:6px;padding:.5rem 1rem;font-size:.85rem;cursor:pointer;transition:all .2s ease;font-weight:500}.mode-btn:hover:not(:disabled){background:#e9ecef;border-color:#adb5bd}.mode-btn.active{background:#007bff;color:#fff;border-color:#007bff}.mode-btn:disabled{opacity:.5;cursor:not-allowed}.granularity-toggle,.f0-toggle{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.granularity-label{font-weight:500;color:#495057;font-size:.85rem;min-width:70px}.granularity-buttons{display:flex;gap:.25rem}.current-practice-text{background:#fff;border-radius:6px;padding:.75rem;border:1px solid #e9ecef;margin-top:.5rem}.practice-text-thai{font-size:1.1rem;font-weight:600;color:#1a202c;margin-bottom:.25rem;font-family:var(--app-font-thai)}.practice-text-romanization{font-size:.9rem;color:#6c757d;font-style:italic}.speak-assess-controls{display:flex;gap:1rem;justify-content:center;padding:1rem 0}.listen-btn,.speak-btn{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;min-width:120px;justify-content:center}.speak-btn{background:linear-gradient(135deg,#dc3545,#fd7e14)}.listen-btn:hover:not(:disabled){background:linear-gradient(135deg,#218838,#1c7430);transform:translateY(-1px);box-shadow:0 4px 12px #28a7454d}.speak-btn:hover:not(:disabled){background:linear-gradient(135deg,#c82333,#e0a800);transform:translateY(-1px);box-shadow:0 4px 12px #dc35454d}.listen-btn:disabled,.speak-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.listen-btn.playing{background:linear-gradient(135deg,#17a2b8,#6f42c1)}.speak-btn.recording{background:linear-gradient(135deg,#6f42c1,#e83e8c);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.recording-status{background:#f8f9fa;border-radius:8px;padding:1rem;border:2px solid #dc3545;text-align:center}.recording-indicator{display:flex;align-items:center;justify-content:center;gap:.5rem;font-weight:600;color:#dc3545;margin-bottom:.5rem}.recording-pulse{width:12px;height:12px;background:#dc3545;border-radius:50%;animation:pulse 1s infinite}.recording-hint{font-size:.85rem;color:#6c757d;line-height:1.4}.processing-status{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;color:#856404;font-weight:500}.processing-spinner{animation:spin 1s linear infinite;font-size:1.2rem}.assessment-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;padding:1rem;color:#721c24}.pronunciation-results{background:#d4edda;border:1px solid #c3e6cb;border-radius:8px;padding:1rem}.overall-score{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.score-circle{display:flex;flex-direction:column;align-items:center;justify-content:center;width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.score-number{font-size:1.5rem;font-weight:700}.score-label{font-size:.8rem;opacity:.9}.editable-translation{cursor:pointer;border-radius:6px;padding:.5rem .75rem;margin:0;transition:all .2s ease;display:block;width:100%;max-width:100%;box-sizing:border-box;position:relative;border:2px solid transparent;text-align:center}.editable-translation:hover{background-color:#a05c321a;border-color:#a05c3233}.translation-editor{background:#f8fafc;padding:.75rem;border-radius:6px;border:2px solid var(--teacher-accent);margin:0;width:100%;max-width:100%;box-sizing:border-box}.translation-input{width:100%;min-height:2.5rem;padding:.5rem;border:1px solid #d1d5db;border-radius:4px;font-size:inherit;font-family:inherit;resize:vertical;background:#fff;outline:none;transition:border-color .2s ease;box-sizing:border-box}.translation-input:focus{border-color:var(--teacher-accent);box-shadow:0 0 0 3px #a05c321a}[data-skin=midnight-slate] .translation-editor{background:var(--app-surface-alt);border-color:var(--app-border)}[data-skin=midnight-slate] .translation-input{background:#0f172ad9;border-color:var(--app-border);color:var(--app-text)}[data-skin=midnight-slate] .translation-input::placeholder{color:var(--app-muted)}[data-skin=midnight-slate] .translation-input:focus{border-color:#818cf8;box-shadow:0 0 0 3px #818cf833}.translation-editor-actions{display:flex;gap:.5rem;margin-top:.75rem;justify-content:flex-end}.save-translation-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.save-translation-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 8px #10b9814d}.save-translation-btn:disabled{background:#e2e8f0;color:#94a3b8;cursor:not-allowed;transform:none}[data-skin=midnight-slate] .save-translation-btn:disabled{background:#94a3b833;color:var(--app-muted)}.cancel-translation-btn{background:#f8fafc;color:#64748b;border:1px solid #d1d5db;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.cancel-translation-btn:hover{background:#f1f5f9;border-color:#94a3b8;transform:translateY(-1px)}[data-skin=midnight-slate] .cancel-translation-btn{background:transparent;color:var(--app-muted);border-color:var(--app-border)}[data-skin=midnight-slate] .cancel-translation-btn:hover{background:#94a3b81f;border-color:#94a3b899}.spark-primary{stroke:#dc2626;stroke-width:2.5;fill:none;opacity:1}.spark-secondary{stroke:#16a34a;stroke-width:2;fill:none;opacity:.8;stroke-dasharray:4,2}.phoneme-chip .ph-spark{display:inline-block;vertical-align:middle;margin-inline-start:6px;position:relative}.phoneme-f0{margin-top:8px;padding:8px;border-radius:6px;background:#eff6ffcc;border:1px solid rgba(59,130,246,.2);position:relative}.f0-generating{color:#8b5cf6;font-size:.85rem;font-style:italic;opacity:.8}.f0-legend{margin:8px 0;padding:8px 12px;background:linear-gradient(90deg,#f9fafbf2,#f3f4f6f2);border:1px solid #d1d5db;border-radius:6px;font-size:.8rem;display:flex;gap:16px;align-items:center;box-shadow:0 1px 3px #0000001a;position:relative;z-index:1}.f0-legend-item{color:#374151;font-weight:500}.f0-legend-tip{color:#6b7280;font-style:italic;margin-inline-start:auto}.tone-chip{display:inline-block;padding:2px 6px;border-radius:4px;font-size:.75rem;font-weight:600;margin-left:8px;border:1px solid}.tone-chip.tone-rise{background:linear-gradient(45deg,#fef3c7,#fcd34d);color:#92400e;border-color:#f59e0b}.tone-chip.tone-fall{background:linear-gradient(135deg,#fecaca,#f87171);color:#991b1b;border-color:#ef4444}.tone-chip.tone-flat{background:linear-gradient(90deg,#e5e7eb,#d1d5db);color:#374151;border-color:#9ca3af}.f0-dual-graph{display:flex;flex-direction:column;gap:0;width:100%;border-radius:6px;background:#f9fafbf2;border:1px solid rgba(209,213,219,.8);padding:8px;box-shadow:0 1px 3px #0000001a}.f0-graph{display:flex;flex-direction:column;width:100%}.f0-graph-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;padding:0 2px}.f0-graph-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.f0-graph-user .f0-graph-label{color:#dc2626}.f0-graph-tts .f0-graph-label{color:#16a34a}.f0-graph-range{font-size:.65rem;color:#6b7280;font-weight:500}.f0-graph svg{border-radius:4px;background:#fffc;border:1px solid rgba(229,231,235,.6)}.spark-user{stroke:#dc2626;stroke-width:2.5;fill:none;opacity:1}.spark-tts{stroke:#16a34a;stroke-width:2;fill:none;opacity:.9}.graph-spacing{border-bottom:1px solid rgba(209,213,219,.4);margin:0 -4px}.f0-dual-graph.user-graph svg,.f0-dual-graph.tts-graph svg{display:block;width:100%;height:auto}@media(prefers-color-scheme:dark){.f0-dual-graph{background:#1f2937f2;border-color:#4b5563cc}.f0-graph svg{background:#111827cc;border-color:#4b556399}.f0-graph-range{color:#9ca3af}.graph-spacing{border-color:#4b556366}}.vot-badge{font-size:.68rem;padding:.05rem .35rem;border-radius:999px;background:#eee;color:#333;margin-left:2px;font-weight:500;white-space:nowrap;cursor:help}.vot-badge.ok{background:#c8e6c9;color:#2e7d32}.vot-badge.warn{background:#ffcdd2;color:#c62828}.thai-pitch-visualizer{display:inline-flex;align-items:center;justify-content:center;margin-left:.5rem;padding:.75rem 1rem;border-radius:8px;background:linear-gradient(145deg,#f0f9ff,#e0f2fe);border:2px solid rgba(59,130,246,.2);box-shadow:0 1px 3px #3b82f61a;transition:all .2s ease;flex-shrink:0;min-width:120px;min-height:40px;opacity:0;visibility:hidden}.pitch-block{display:flex;flex-direction:column;gap:.25rem}.pitch-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.thai-pitch-visualizer:not(.loading):not(.error):not(.empty):not(.disabled){opacity:1;visibility:visible}.thai-pitch-visualizer:hover{background:linear-gradient(145deg,#dbeafe,#bfdbfe);border-color:#3b82f64d;box-shadow:0 2px 6px #3b82f633;transform:translateY(-1px)}.thai-pitch-visualizer.speaking{background:linear-gradient(145deg,#fef3c7,#fde68a);border-color:#f59e0b66;box-shadow:0 2px 8px #f59e0b4d;animation:speaking-pulse 1.5s ease-in-out infinite}@keyframes speaking-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.thai-pitch-visualizer.loading .pitch-loading,.thai-pitch-visualizer.error .pitch-error,.thai-pitch-visualizer.empty .pitch-empty,.thai-pitch-visualizer.disabled .pitch-disabled{display:flex;align-items:center;justify-content:center;font-size:.8rem;opacity:.7}.thai-pitch-visualizer.error{background:linear-gradient(145deg,#fef2f2,#fee2e2);border-color:#ef444433}.thai-pitch-visualizer.disabled{background:linear-gradient(145deg,#f9fafb,#f3f4f6);border-color:#9ca3af33;opacity:.6}.thai-pitch-visualizer .loading-spinner{animation:spin 1s linear infinite}.thai-pitch-visualizer .pitch-graph{display:block}.thai-pitch-visualizer .pitch-graph .spark-primary{stroke:#3b82f6;stroke-width:2;fill:none;opacity:1}.buttons-horizontal-layout{display:flex;gap:2rem;align-items:flex-start;width:100%;margin-bottom:1rem;min-height:60px}.score-buttons-section,.action-buttons-section{display:flex;flex-direction:column;gap:.75rem;flex:1;max-width:50%}.action-buttons-row{display:flex;gap:.5rem;justify-content:flex-start}.action-buttons-row .explain-button,.action-buttons-row .speak-assess-toggle-btn,.action-buttons-row .example-button{flex:1;min-height:40px;font-size:.85rem;padding:.5rem .75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-buttons-section .example-button-container .examples-container{display:none!important}.action-buttons-section .example-button-container{margin:0}.explore-actions .example-button-container .examples-container{display:none}@media(max-width:768px){.buttons-horizontal-layout{flex-direction:column;gap:1rem;align-items:stretch}.score-buttons-section,.action-buttons-section{max-width:100%;width:100%}.action-buttons-row{justify-content:center}.action-buttons-row .explain-button,.action-buttons-row .speak-assess-toggle-btn,.action-buttons-row .example-button{min-width:80px;font-size:.8rem}}[data-skin=midnight-slate] .review-card{background:#0f172aa6;border:1px solid rgba(99,102,241,.12);border-radius:20px;padding:1.25rem;box-shadow:0 8px 32px #00000073,0 0 0 1px #94a3b80f,inset 0 1px #ffffff0a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:#e2e8f0}[data-skin=midnight-slate] .review-header{border-bottom:none;padding-bottom:.25rem;margin-bottom:.5rem}[data-skin=midnight-slate] .card-main-line{background:#0f172a99;border:2px solid rgba(56,189,248,.25);border-radius:18px;padding:1.5rem 1.25rem;box-shadow:0 0 20px #38bdf814,0 8px 24px #0003,inset 0 1px #ffffff0a;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}[data-skin=midnight-slate] .card-main-line .card-text,[data-skin=midnight-slate] .card-main-line .card-text.clickable{background:transparent!important;border:none!important;box-shadow:none!important;color:#f1f5f9!important;font-size:2.8rem}[data-skin=midnight-slate] .card-main-line .card-text.english-word{font-size:2.2rem;color:#e2e8f0!important}[data-skin=midnight-slate] .card-main-line .thai-word-text{color:#f1f5f9}[data-skin=midnight-slate] .card-main-line .romanization-inline{color:#64748b;font-size:.95rem;margin-top:.3rem}[data-skin=midnight-slate] .card-main-line .pronunciation-text-inline{color:#818cf8;opacity:1}[data-skin=midnight-slate] .multiple-choice-panel{background:#0f172a66;border:1px solid rgba(99,102,241,.1);border-radius:18px;padding:1rem;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}[data-skin=midnight-slate] .multiple-choice-header{color:#64748b;font-size:.8rem;font-weight:500;letter-spacing:.03em;margin-bottom:.25rem}[data-skin=midnight-slate] .choice-option{background:#1e293b8c;border:1.5px solid rgba(148,163,184,.1);border-radius:14px;padding:.9rem 1.1rem;color:#e2e8f0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:all .2s ease;box-shadow:0 2px 8px #00000026}@media(hover:hover){[data-skin=midnight-slate] .choice-option:hover:not(:disabled):not(.correct):not(.incorrect){background:#6366f11a;border-color:#818cf866;box-shadow:0 0 20px #6366f126,0 4px 12px #0003;transform:translateY(-2px)}}[data-skin=midnight-slate] .choice-option.correct{background:#d2a06e1f;border-color:#d2a06e8c;box-shadow:none}[data-skin=midnight-slate] .answer-text{background:#22c55e14;border:2px solid rgba(34,197,94,.35);color:#4ade80;border-radius:14px;box-shadow:0 0 20px #22c55e14,0 4px 12px #00000026;font-weight:700;font-size:2rem}[data-skin=midnight-slate] .answer-text.sentence{font-size:1.4rem;font-weight:600;color:#86efac;background:#22c55e0d;border-color:#22c55e33;box-shadow:none}[data-skin=midnight-slate] .answer-thai-section .card-text{background:#22c55e0f!important;border:2px solid rgba(34,197,94,.3)!important;border-radius:14px;color:#4ade80!important;box-shadow:0 0 16px #22c55e14,0 4px 12px #0000001f!important}[data-skin=midnight-slate] .answer-thai-section .romanization-inline{color:#64748b}[data-skin=midnight-slate] .answer-thai-section .pronunciation-text-inline{color:#c4b5fd;opacity:.85}[data-skin=midnight-slate] .again-btn{background:#ffffff8c;border:1.5px solid rgba(160,92,50,.35);color:#8d5130;border-radius:14px;box-shadow:none;font-weight:700;font-size:1.05rem;padding:1rem;letter-spacing:.02em}[data-skin=midnight-slate] .again-btn:hover:not(:disabled){background:#a05c321a;border-color:#a05c3280;box-shadow:0 2px 10px #a05c321f;transform:translateY(-1px)}[data-skin=midnight-slate] .good-btn{background:var(--teacher-accent-strong);border:none;color:#fff8ef;border-radius:14px;box-shadow:0 4px 16px #a05c3247,0 0 8px #a05c3224;font-weight:700;font-size:1.05rem;padding:1rem;letter-spacing:.02em}[data-skin=midnight-slate] .good-btn:hover:not(:disabled){box-shadow:0 6px 24px #a05c3259,0 0 12px #a05c322e;transform:translateY(-2px)}[data-skin=midnight-slate] .grade-actions.first-presentation .continue-btn{background:var(--teacher-accent-strong);border:none;color:#fff8ef;border-radius:14px;box-shadow:0 4px 16px #a05c3247,0 0 8px #a05c3224;font-weight:700;font-size:1.05rem;padding:1rem}[data-skin=midnight-slate] .grade-actions.first-presentation .continue-btn:hover:not(:disabled){box-shadow:0 6px 24px #a05c325c,0 0 12px #a05c322e;transform:translateY(-2px)}[data-skin=midnight-slate] .reveal-btn{background:var(--teacher-accent-strong);border:none;color:#fff8ef;border-radius:14px;box-shadow:0 4px 16px #a05c3247,0 0 8px #a05c3224;font-weight:700;padding:1rem 2rem}[data-skin=midnight-slate] .reveal-btn:hover:not(:disabled){box-shadow:0 6px 24px #a05c325c,0 0 12px #a05c322e;transform:translateY(-2px)}[data-skin=midnight-slate] .reveal-btn.secondary{background:#ffffff0f;border:1.5px solid rgba(148,163,184,.18);color:#cbd5e1;box-shadow:none}[data-skin=midnight-slate] .reveal-btn.secondary:hover:not(:disabled){background:#ffffff1a;border-color:#94a3b84d;transform:translateY(-1px)}[data-skin=midnight-slate] .points-chip{background:#6366f11a;border:1px solid rgba(99,102,241,.2);border-radius:999px;color:#a5b4fc;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:.35rem .75rem}[data-skin=midnight-slate] .grade-honesty-hint{color:#94a3b8;font-size:.82rem;margin-top:.1rem}[data-skin=midnight-slate] .explore-panel{background:#0f172a66;border:1px solid rgba(148,163,184,.08);border-radius:14px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}[data-skin=midnight-slate] .card-state-chip.state-new{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.25);text-shadow:none}[data-skin=midnight-slate] .card-state-chip.state-learning{background:#facc151f;color:#fbbf24;border:1px solid rgba(250,204,21,.2);text-shadow:none}[data-skin=midnight-slate] .card-state-chip.state-review{background:#22c55e1f;color:#4ade80;border:1px solid rgba(34,197,94,.2);text-shadow:none}[data-skin=midnight-slate] .card-main-line:has(.state-new){border-color:#38bdf859;box-shadow:0 0 24px #38bdf81a,0 0 8px #38bdf80f,0 8px 24px #0003}[data-skin=midnight-slate] .card-front:after{background:linear-gradient(90deg,transparent,rgba(99,102,241,.15),transparent);height:2px}[data-skin=midnight-slate] .again-btn:disabled,[data-skin=midnight-slate] .good-btn:disabled{background:#ffffff08;color:#334155;border-color:#94a3b814;box-shadow:none}[data-skin=midnight-slate] .progress-badge.compact{background:#ffffff0a;border:1px solid rgba(148,163,184,.1);border-radius:8px;padding:.2rem .5rem;font-size:.7rem;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}[data-skin=midnight-slate] .progress-badge.compact.active{background:#6366f11a;border-color:#818cf840;color:#a5b4fc}[data-skin=midnight-slate] .progress-badge.compact.completed-first-attempt{background:#22c55e1a;border-color:#22c55e40;color:#4ade80}[data-skin=midnight-slate] .progress-badge.compact.completed-multiple-attempts{background:#fb923c1a;border-color:#fb923c40;color:#fb923c}[data-skin=midnight-slate] .memory-trick-display{background:#8b5cf60f;border:1px solid rgba(139,92,246,.15);border-radius:14px}[data-skin=midnight-slate] .memory-trick-content{background:#0f172a99;color:#e2e8f0;border-left-color:#8b5cf6;border-radius:10px}[data-skin=midnight-slate] .card-content{transition:opacity .2s ease}[data-skin=midnight-slate] .english-section .card-text.english-word{background:transparent!important;border:none!important;box-shadow:none!important;font-size:2.2rem;color:#f1f5f9!important;font-weight:700}[data-skin=midnight-slate] .choice-option.correct:after{color:#e6b58a;font-size:1.15rem;text-shadow:none}[data-skin=midnight-slate] .choice-option.incorrect:after{color:transparent;font-size:1.25rem;text-shadow:none}.study-shell-exit{display:flex;justify-content:flex-end;padding:.5rem .75rem 0}@media(max-width:768px){body:has(.app.study-active){min-height:0}.app.study-active{min-height:100vh;min-height:100dvh}.study-active>.app-header{display:none!important}.study-active>main{padding-top:.25rem!important}.study-active .review-card{padding:.6rem!important;gap:.25rem!important}.study-active .card-front{margin-bottom:0!important}.study-active .card-front:after{bottom:-.5rem!important}.study-active .card-content{gap:.25rem!important}.study-active .score-buttons-container{padding:.25rem 0!important;gap:.25rem!important}.study-active .more-options-section{margin-top:.25rem!important;margin-bottom:.25rem!important}.study-active .encouragement-text,.study-active .card-encouragement{margin:.15rem 0!important;font-size:.8rem!important}.study-active .multiple-choice-panel{gap:.25rem!important;padding:.25rem 0!important}.study-active .multiple-choice-grid{gap:.35rem!important}.study-active .choice-option{padding:.75rem .85rem!important;min-height:4.1rem!important;display:flex;flex-direction:column;justify-content:center}}.choice-option-row{display:flex;align-items:stretch;gap:.4rem;min-width:0}.choice-option-row .choice-option{flex:1;min-width:0;min-height:4.1rem;display:flex;flex-direction:column;justify-content:center}.choice-option-row>span{display:flex;align-items:center}.choice-option-row .speech-button.choice-speech{flex:0 0 auto;margin:0}.action-btn.resume-discard{background:transparent;color:#94a3b8;border:1px solid rgba(148,163,184,.4);padding:.6rem 1.1rem;font-size:.95rem}.action-btn.resume-discard:hover{background:#94a3b81a;color:#cbd5e1}[data-skin=midnight-slate] .action-btn.secondary{background:#ffffff0f;color:#a5b4fc;border:1px solid rgba(129,140,248,.4)}[data-skin=midnight-slate] .study-active .card-main-line,[data-skin=midnight-slate] .study-active .card-main-line.sentence,[data-skin=midnight-slate] .study-active .review-card .card-main-line,[data-skin=midnight-slate] .study-active .review-card .card-main-line.sentence{background:radial-gradient(circle at 50% 4%,rgba(255,255,255,.72),transparent 130px),linear-gradient(160deg,#35231d,#5f3928 56%,#2d1d19)!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:0 18px 42px #4222153d!important;border-radius:18px!important}[data-skin=midnight-slate] .study-active .card-main-line .card-text,[data-skin=midnight-slate] .study-active .card-main-line .card-text.clickable,[data-skin=midnight-slate] .study-active .card-main-line .card-text.english-word,[data-skin=midnight-slate] .study-active .card-main-line .thai-word-text,[data-skin=midnight-slate] .study-active .card-main-line .english-word-text{color:#fff8ef!important;-webkit-text-fill-color:#fff8ef!important}[data-skin=midnight-slate] .study-active .card-main-line .card-text,[data-skin=midnight-slate] .study-active .card-main-line .card-text.english-word{width:100%;text-align:center!important}[data-skin=midnight-slate] .study-active .card-main-line .mc-card-prompt,[data-skin=midnight-slate] .study-active .card-main-line .pronunciation-text-inline,[data-skin=midnight-slate] .study-active .card-main-line .pronunciation-container,[data-skin=midnight-slate] .study-active .card-main-line .romanization-inline{color:#ffead3!important;-webkit-text-fill-color:#ffead3!important}[data-skin=midnight-slate] .study-active .study-word-surface{background:radial-gradient(circle at 50% 4%,rgba(255,255,255,.72),transparent 130px),linear-gradient(160deg,#35231d,#5f3928 56%,#2d1d19)!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:18px!important;box-shadow:0 18px 42px #4222153d!important}[data-skin=midnight-slate] .study-active .study-word-text,[data-skin=midnight-slate] .study-active .study-word-text.clickable,[data-skin=midnight-slate] .study-active .study-word-text.english-word{color:#fff8ef!important;-webkit-text-fill-color:#fff8ef!important;text-shadow:0 1px 2px rgba(0,0,0,.35)!important}[data-skin=midnight-slate] .study-active .study-word-text .thai-word-text,[data-skin=midnight-slate] .study-active .study-word-text .english-word-text{color:#fff8ef!important;-webkit-text-fill-color:#fff8ef!important}[data-skin=midnight-slate] .study-active .study-word-surface .mc-card-prompt,[data-skin=midnight-slate] .study-active .study-word-surface .pronunciation-text-inline,[data-skin=midnight-slate] .study-active .study-word-surface .pronunciation-container,[data-skin=midnight-slate] .study-active .study-word-surface .romanization-inline{color:#ffead3!important;-webkit-text-fill-color:#ffead3!important}[data-skin=midnight-slate] .study-active .card-back .study-answer-text,[data-skin=midnight-slate] .study-active .card-back .answer-text,[data-skin=midnight-slate] .study-active .card-back .answer-thai-section .card-text,[data-skin=midnight-slate] .study-active .card-back .study-answer-text .thai-word-text,[data-skin=midnight-slate] .study-active .card-back .study-answer-text .english-word-text,[data-skin=midnight-slate] .study-active .card-back .answer-text .english-word-text,[data-skin=midnight-slate] .study-active .card-back .answer-thai-section .thai-word-text{color:#20130f!important;-webkit-text-fill-color:#20130f!important;text-shadow:none!important}[data-skin=midnight-slate] .study-active .card-back .answer-thai-section .romanization-inline,[data-skin=midnight-slate] .study-active .card-back .answer-thai-section .pronunciation-container,[data-skin=midnight-slate] .study-active .card-back .answer-thai-section .pronunciation-text-inline{color:#8a6b5b!important;-webkit-text-fill-color:#8a6b5b!important;text-shadow:none!important}[data-skin=midnight-slate] .study-active .card-back .study-answer-text .speaker-icon,[data-skin=midnight-slate] .study-active .card-back .answer-thai-section .speaker-icon{color:#9a5a2e!important;-webkit-text-fill-color:#9a5a2e!important}[data-skin=midnight-slate] .study-active .review-header,[data-skin=midnight-slate] .study-active .review-title-section,[data-skin=midnight-slate] .study-active .review-title-section h2{color:#20130f!important;-webkit-text-fill-color:#20130f!important;text-shadow:none!important}.linguide-onboarding-content{box-sizing:border-box;min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:1.25rem}.cap-onboarding{width:min(100%,620px);background:#ffffffad;border:1px solid rgba(160,92,50,.22);border-radius:18px;box-shadow:0 18px 42px #995b2b24;box-sizing:border-box;color:#20130f;display:grid;gap:1rem;padding:clamp(1.1rem,4vw,1.8rem)}.cap-onboarding__topline{color:#a05c32;font-size:.74rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.cap-onboarding h1{font-family:var(--app-font-heading, "Inter", system-ui, sans-serif);font-size:clamp(1.5rem,5.5vw,2rem);line-height:1.22;letter-spacing:0;margin:0}.cap-onboarding p{color:#674a3d;line-height:1.48;margin:0}.cap-onboarding .cap-reveal-note{background:#a05c3212;border:1px solid rgba(160,92,50,.14);border-radius:.75rem;color:#6b5646;font-size:.82rem;line-height:1.4;padding:.55rem .7rem}.cap-goal-field{display:grid;gap:.45rem}.cap-goal-field span{color:#a05c32;font-size:.72rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.cap-goal-field input{box-sizing:border-box;width:100%;border:1px solid rgba(160,92,50,.28);border-radius:.85rem;background:#fffdf8;color:#20130f;font-size:1rem;min-height:3rem;padding:.75rem .9rem}.cap-onboarding__actions{display:grid;gap:.6rem;grid-template-columns:repeat(2,minmax(0,1fr))}.cap-onboarding .teacher-primary-action:disabled{cursor:not-allowed;opacity:.48;transform:none}.cap-progress,.cap-prep-bar{background:#a05c321f;border-radius:999px;height:.45rem;overflow:hidden;width:100%}.cap-progress span,.cap-prep-bar span{background:linear-gradient(90deg,#a05c32,#2f211b);border-radius:inherit;display:block;height:100%;transition:width .16s ease}.cap-prep-bar span{width:62%}.cap-utterance-list{display:grid;gap:.55rem}.cap-utterance{align-items:start;background:#fffdf8cc;border:1px solid rgba(160,92,50,.16);border-radius:.85rem;display:grid;gap:.18rem;min-height:4.25rem;padding:.7rem .82rem}.cap-utterance__selection{background:transparent;border:0;cursor:pointer;display:grid;font:inherit;gap:.18rem;padding:0;text-align:start;width:100%}.cap-utterance__selection:disabled{cursor:default}.cap-utterance.selected{background:#f4ca994d;border-color:#a05c32b3;box-shadow:0 0 0 2px #a05c321f}.cap-utterance--revealed{border-color:#6b564661}.cap-utterance strong{color:#20130f;font-size:1.05rem;line-height:1.35}.cap-utterance span{color:#674a3d;line-height:1.35}.cap-utterance .cap-utterance__roman{color:#a05c32;font-size:.88rem;font-weight:800}.cap-utterance__reveal{background:transparent;border:0;color:#6b5646;cursor:pointer;font:inherit;font-size:.82rem;font-weight:800;justify-self:start;padding:.2rem 0 0;text-decoration:underline;text-underline-offset:.18rem}.cap-utterance__meaning{border-top:1px solid rgba(160,92,50,.14);display:grid;gap:.18rem;margin-top:.25rem;padding-top:.5rem}.cap-utterance__meaning small{color:#6b5646;font-size:.76rem;font-weight:700}.cap-answer-grid,.cap-anchor-options{display:grid;gap:.55rem}.cap-answer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cap-answer-grid button,.cap-anchor-options button{background:#fffdf8;border:1px solid rgba(160,92,50,.28);border-radius:.85rem;color:#20130f;cursor:pointer;font-size:.98rem;font-weight:800;line-height:1.25;min-height:3.35rem;padding:.75rem;text-align:center}.cap-answer-grid button:hover,.cap-anchor-options button:hover{background:#a05c321a}.cap-anchor-unknown{justify-self:stretch;background:transparent;border:1px solid rgba(107,86,70,.38);border-radius:.85rem;color:#6b5646;cursor:pointer;font-size:.95rem;font-weight:800;min-height:3rem;padding:.7rem 1rem}.cap-anchor-unknown:hover{background:#6b564614}.cap-skip-link{justify-self:center;background:transparent;border:0;color:#6b5646;cursor:pointer;font-weight:800;padding:.35rem .6rem}.cap-anchor-word{align-items:center;background:radial-gradient(circle at 82% 4%,rgba(224,122,63,.14),transparent 160px),#fffdf8;border:1px solid rgba(160,92,50,.18);border-radius:1rem;display:grid;font-family:var(--app-font-heading, "Inter", system-ui, sans-serif);font-size:clamp(2.1rem,9vw,3.2rem);font-weight:900;justify-items:center;letter-spacing:0;line-height:1.05;min-height:8rem;padding:1.3rem;text-align:center}.cap-anchor-word span{color:#a05c32;font-family:var(--app-font-body, "Inter", system-ui, sans-serif);font-size:1rem;font-weight:800;margin-top:.45rem}.familiarity-map{width:min(100%,760px)}.familiarity-map__grid{display:grid;gap:.55rem;grid-template-columns:repeat(3,minmax(0,1fr))}.capability-map__grid{display:grid;gap:.65rem;grid-template-columns:repeat(3,minmax(0,1fr))}.capability-map__grid .cap-utterance{min-height:5rem;padding:.85rem}.capability-map__grid .cap-utterance strong{font-size:clamp(1.25rem,4.5vw,1.55rem);line-height:1.28}.capability-map__grid .cap-utterance .cap-utterance__roman{color:#7b5a49;font-size:.82rem;font-weight:650}.cap-onboarding__actions--placement{grid-template-columns:1fr}.cap-onboarding__actions--placement .teacher-secondary-action{background:transparent;border-color:transparent;box-shadow:none;color:#6b5646;justify-self:center;min-height:2.75rem;padding-inline:1rem;width:auto}.production-probe__instruction{max-width:34rem}.production-probe__gloss{background:#fffdf8;border:1px solid rgba(160,92,50,.2);border-radius:1rem;display:grid;gap:.45rem;min-height:6.5rem;padding:1.1rem;place-content:center;text-align:center}.production-probe__gloss>span:first-child,.production-probe__answer>span{color:#a05c32;font-size:.72rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.production-probe__gloss>span:last-child{color:#20130f;font-family:var(--app-font-heading, "Inter", system-ui, sans-serif);font-size:clamp(1.35rem,5vw,1.9rem);font-weight:850}.production-probe__answer{display:grid;gap:.45rem}.production-probe__answer input{background:#fffdf8;border:1px solid rgba(160,92,50,.32);border-radius:.85rem;box-sizing:border-box;color:#20130f;font-size:1.1rem;min-height:3.35rem;padding:.8rem .95rem;width:100%}.production-probe__answer input:focus-visible{border-color:#a05c32;box-shadow:0 0 0 3px #a05c3224;outline:none}.familiarity-map__grid button{align-content:center;background:#fffdf8;border:1px solid rgba(160,92,50,.28);border-radius:.85rem;color:#20130f;cursor:pointer;display:grid;font-size:1rem;font-weight:800;gap:.18rem;line-height:1.25;min-height:4rem;padding:.65rem;text-align:center}.familiarity-map__grid button span{color:#7b5a49;font-size:.78rem;font-weight:650}.familiarity-map__grid button.selected{background:#a05c3224;border-color:#a05c32;box-shadow:inset 0 0 0 1px #a05c32}@media(max-width:560px){.linguide-onboarding-content{align-items:stretch;padding:.8rem}.cap-onboarding{border-radius:14px}.cap-onboarding__actions,.cap-answer-grid{grid-template-columns:1fr}.familiarity-map__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.capability-map__grid{grid-template-columns:1fr}}.lesson-reason-block{display:grid;gap:.2rem;margin:.5rem 0 0;padding:.55rem .8rem;border-radius:12px;background:#fffbf3c7;border:1px solid rgba(160,92,50,.22);text-align:start}.lesson-reason-label{color:#7d4a2e;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.lesson-reason-text{margin:0;color:#674a3d;font-size:.86rem;line-height:1.5;max-height:12.75em;overflow-y:auto;overscroll-behavior:contain}.lesson-reason-text:focus-visible{outline:2px solid rgba(160,92,50,.55);outline-offset:2px;border-radius:6px}.lesson-reason-framings{margin:0;color:#8a6a58;font-size:.8rem;line-height:1.4}.cap-onboarding .onboarding-selection-count{font-size:.9rem;font-weight:650}.cap-utterance .onboarding-selection-mark{display:flex;align-items:center;gap:.55rem;margin-top:.55rem;font-size:.85rem}.cap-onboarding .onboarding-checkbox{display:inline-flex;align-items:center;justify-content:center;width:1.3rem;height:1.3rem;min-width:1.3rem;box-sizing:border-box;border:2px solid #8a6049;border-radius:.3rem;color:#fff;font-size:1rem}.cap-onboarding [aria-pressed=true] .onboarding-checkbox{background:#874c2b;border-color:#874c2b}.cap-onboarding button:focus-visible{outline:3px solid #874c2b;outline-offset:3px}.cap-utterance__reveal{min-height:44px;padding:.35rem 0}.cap-utterance__selection{min-height:44px}.familiarity-map__grid .onboarding-checkbox{justify-self:start;margin-bottom:.35rem}.onboarding-start-hint{color:#674a3d;font-size:.9rem;line-height:1.5;text-align:center;max-width:32rem;margin:.5rem auto 1rem}.cap-anchor-beginner{margin-top:.6rem}.linguide-beginner-toggle{display:flex;align-items:flex-start;gap:.6rem;margin-top:.75rem;cursor:pointer}.linguide-beginner-toggle input{flex:0 0 auto;width:18px;height:18px;margin-top:.2rem;accent-color:var(--teacher-accent, #8a5a2b)}.linguide-beginner-toggle>span{display:flex;flex-direction:column;gap:.15rem}.linguide-learner-observation{margin-block-start:14px;padding-block-start:12px;border-block-start:1px solid rgba(130,81,49,.18);text-align:start}.linguide-learner-observation h2{margin:0 0 5px;font-size:.85rem;font-weight:700;color:var(--teacher-accent, #815335)}.linguide-learner-observation p{color:#594236;margin:0;font-size:1rem;line-height:1.55;overflow-wrap:anywhere}.confirm-dialog-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:100000}.confirm-dialog{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:min(400px,calc(100vw - 2rem));width:90%;max-height:90vh;overflow:hidden;box-sizing:border-box;animation:dialogSlideIn .2s ease-out}@keyframes dialogSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.confirm-dialog-header{padding:1.5rem 1.5rem 0}.confirm-dialog-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#1f2937}.confirm-dialog-body{padding:1rem 1.5rem;color:#374151;overflow-wrap:break-word;word-break:break-word}.confirm-dialog-body p{margin:0;color:#6b7280;line-height:1.5}.confirm-dialog-check{display:flex;align-items:flex-start;gap:.5rem;margin-top:1rem;color:#374151;font-size:.9rem}.confirm-dialog-check input{margin-top:.2rem}.confirm-dialog-check span{display:flex;flex-direction:column;gap:.2rem}.confirm-dialog-check small{color:#6b7280;line-height:1.35}.confirm-dialog-input-label{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem;font-size:.9rem;color:#374151}.confirm-dialog-input{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.95rem}.confirm-dialog-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.confirm-dialog-actions{display:flex;gap:.75rem;padding:1.5rem;border-top:1px solid #e5e7eb;justify-content:flex-end;flex-wrap:wrap}.confirm-dialog-btn{padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:80px;border:1px solid}.cancel-btn{background:#fff;color:#6b7280;border-color:#d1d5db}.cancel-btn:hover{background:#f9fafb;color:#4b5563}.confirm-btn{background:#3b82f6;color:#fff;border-color:#3b82f6}.confirm-btn:hover{background:#2563eb;border-color:#2563eb}.confirm-btn.destructive{background:#dc2626;border-color:#dc2626}.confirm-btn.destructive:hover{background:#b91c1c;border-color:#b91c1c}.confirm-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}[data-skin=midnight-slate] .confirm-dialog{background:#1e293b;border:1px solid rgba(148,163,184,.25);box-shadow:0 8px 32px #00000080}[data-skin=midnight-slate] .confirm-dialog-body,[data-skin=midnight-slate] .confirm-dialog-check,[data-skin=midnight-slate] .confirm-dialog-input-label{color:#e2e8f0}[data-skin=midnight-slate] .confirm-dialog-check small{color:#94a3b8}[data-skin=midnight-slate] .confirm-dialog-actions{border-top-color:#94a3b833}[data-skin=midnight-slate] .cancel-btn{background:#ffffff0f;color:#cbd5e1;border-color:#94a3b859}[data-skin=midnight-slate] .cancel-btn:hover{background:#ffffff1f;color:#e2e8f0}.dashboard-home{width:100%;max-width:100%;margin:0;padding:0 0 3.5rem;display:flex;flex-direction:column;align-items:stretch;flex:none;gap:.15rem;min-height:100vh;min-height:100dvh;justify-content:space-evenly;background:#0b1120;color:#e2e8f0;box-sizing:border-box;overflow-x:hidden}.dashboard-loading{text-align:center;padding:3rem 1rem;color:#94a3b8}.dashboard-loading .loading-spinner{width:36px;height:36px;border-radius:50%;border:3px solid rgba(99,102,241,.2);border-top-color:#818cf8;margin:0 auto .75rem;animation:spin .9s linear infinite}.dashboard-logo-header{display:none}.dashboard-logo-svg{flex-shrink:0}.dashboard-logo-text{font-size:1.35rem;font-weight:700;background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.streak-card{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1.1rem}.streak-card-left{display:flex;flex-direction:column;gap:.2rem;text-align:start}.streak-card-title{font-size:.95rem;font-weight:700;color:#f1f5f9;letter-spacing:-.01em}.streak-card-sub{font-size:.75rem;color:#94a3b8;font-weight:500}.streak-card-days{font-size:1.25rem;font-weight:800;color:#e8ecf4;letter-spacing:-.02em;white-space:nowrap}.dashboard-encouraging-wrap{display:none}.dashboard-home .dashboard-briefing-card{text-align:start;border:1px solid rgba(167,139,250,.35);border-inline-start:3px solid rgba(167,139,250,.85);background:#8b5cf61a;padding:.85rem 1.1rem}.briefing-observation{margin:0 0 .4rem;font-size:1rem;font-weight:600;line-height:1.5;color:#e2e8f0}.briefing-plan{margin:0;font-size:.88rem;line-height:1.45;color:#cbd5e1}.briefing-plan-intro{color:#94a3b8;font-weight:600}.dashboard-firstwords-failed{margin:0 0 .6rem;font-size:.88rem;line-height:1.4;color:#fbbf24;text-align:center}.dashboard-session-finished{margin:0 0 .6rem;font-size:.88rem;line-height:1.4;color:#cbd5e1;text-align:center}.dashboard-firstwords-exit{align-self:center;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-size:.86rem;padding:.45rem .8rem;text-decoration:underline;text-underline-offset:.2rem}@media(max-width:430px){.briefing-observation{font-size:.95rem}}.dashboard-cta-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;align-self:center;padding:.75rem 2.25rem;width:min(340px,calc(100vw - 2rem));border:1.5px solid rgba(167,139,250,.85);border-radius:999px;background:#0f172ad9;color:#f1f5f9;font-size:.95rem;font-weight:700;cursor:pointer;letter-spacing:.01em;animation:ctaGlowBreathe 2.6s ease-in-out infinite;transition:transform .15s ease;overflow:visible;z-index:1}@keyframes ctaGlowBreathe{0%,to{box-shadow:0 0 24px #8b5cf68c,0 0 50px #6366f14d,inset 0 0 14px #6366f126}50%{box-shadow:0 0 38px #8b5cf6cc,0 0 80px #6366f173,0 8px 24px #8b5cf659,inset 0 0 18px #6366f140}}.cta-pulse-ring{position:absolute;top:50%;left:50%;width:100%;height:100%;border-radius:999px;border:2px solid rgba(99,102,241,.7);box-shadow:0 0 12px #3b82f680,inset 0 0 6px #7c3aed4d;transform:translate(-50%,-50%);animation:ctaPulse 2s ease-out infinite;pointer-events:none}.cta-pulse-ring-2{animation-delay:.65s}@keyframes ctaPulse{0%{width:100%;height:100%;opacity:1;border-color:#6366f1b3;box-shadow:0 0 12px #3b82f680}40%{opacity:.6}to{width:130%;height:220%;opacity:0;border-color:#7c3aed00;box-shadow:0 0 25px #6366f100}}.dashboard-cta-btn:active{transform:scale(.96);box-shadow:0 0 12px #6366f140,0 4px 12px #3b82f626}.first-words-progress{align-self:center;width:min(320px,calc(100vw - 2rem));display:flex;flex-direction:column;gap:.5rem;padding:.65rem .25rem}.first-words-progress-label{font-size:.85rem;font-weight:600;text-align:center;color:var(--text-primary, #e8ecf4)}.first-words-progress-track{height:8px;border-radius:999px;background:#8b5cf62e;border:1px solid rgba(167,139,250,.35);overflow:hidden}.first-words-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#6366f1,#8b5cf6,#a855f7);box-shadow:0 0 12px #8b5cf699;transition:width .25s linear}.dashboard-cta-btn.cta-caught-up{background:linear-gradient(135deg,#1e293b,#334155);animation:none;box-shadow:0 4px 12px #0000004d}.dashboard-cta-btn[aria-busy=true]{cursor:progress}.cta-loading-spinner{position:absolute;inset-inline-end:24px;width:18px;height:18px;border:2px solid rgba(255,255,255,.35);border-top-color:currentColor;border-radius:50%;animation:cta-loading-spin .8s linear infinite}@keyframes cta-loading-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.cta-loading-spinner{animation:none}}.cta-btn-text{position:relative;z-index:2}.dashboard-glass-card{width:100%;padding:.6rem 1rem;border-radius:0;margin:0;box-sizing:border-box;background:#1e293b8c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(148,163,184,.08);box-shadow:0 4px 24px #0003}.glass-card-title{margin:0 0 .3rem;font-size:.85rem;font-weight:700;color:#f1f5f9}.glass-card-header-row{display:flex;align-items:center;justify-content:space-between}.glass-card-header-row .glass-card-title{margin-bottom:0}.glass-card-chevron{background:none;border:none;color:#94a3b8;font-size:1.5rem;font-weight:300;cursor:pointer;padding:.25rem .5rem;line-height:1;transition:color .15s}.glass-card-chevron:hover{color:#e2e8f0}.progress-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;text-align:center}.progress-stat{display:flex;flex-direction:column;gap:.3rem}.progress-stat-label{font-size:.65rem;color:#94a3b8;font-weight:500;letter-spacing:.02em}.progress-stat-value{font-size:1.2rem;font-weight:800;color:#f1f5f9;letter-spacing:-.02em;line-height:1.1}.progress-stat-sub{font-size:.65rem;color:#818cf8;font-weight:600;letter-spacing:.01em}.schedule-today-line{margin-top:.4rem;font-size:.72rem;color:#94a3b8;font-weight:500;text-align:center;letter-spacing:.01em}.review-chart-svg{width:100%;height:auto;max-height:100px;margin-top:.1rem}.chart-y-label{font-size:11px;fill:#64748b;font-family:inherit}.chart-x-label{font-size:11px;fill:#94a3b8;font-family:inherit}.wotd-card{background:linear-gradient(135deg,#1e293b99,#581c8766);border-color:#9333ea40}.wotd-text{margin:0;font-size:.95rem;color:#cbd5e1;line-height:1.5}.wotd-romanized{color:#a5b4fc}.dashboard-queue-line,.encouraging-message,.encouraging-text{display:none}.dashboard-start-btn{width:100%;padding:1rem 1.25rem;border:none;border-radius:16px;background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.25rem;box-shadow:0 12px 24px #3b82f640;min-height:56px;transition:transform .1s ease,box-shadow .1s ease}.dashboard-start-btn:active{transform:scale(.98);box-shadow:0 6px 12px #3b82f633}.dashboard-start-btn.muted{background:var(--app-surface-alt, #f1f5f9);color:var(--app-muted, #64748b);box-shadow:none}.start-btn-title{font-size:1.1rem;font-weight:700}.start-btn-subtitle{font-size:.85rem;opacity:.85}.dashboard-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.dashboard-stat-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:1rem .5rem;border-radius:16px;background:linear-gradient(135deg,#6366f114,#8b5cf60f);border:1px solid rgba(99,102,241,.12);min-height:80px;transition:transform .15s ease,box-shadow .15s ease}.dashboard-stat-card:active{transform:scale(.97)}.dashboard-stat-card .stat-value{font-size:1.75rem;font-weight:800;color:var(--app-text, #1f2937);line-height:1.1;letter-spacing:-.02em}.dashboard-stat-card .stat-label{font-size:.7rem;color:var(--app-muted, #6b7280);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.dashboard-stat-card .stat-icon{font-size:1.1rem;margin-bottom:-.1rem}.dashboard-stat-card .stat-icon-img{width:32px;height:32px;object-fit:contain;border-radius:6px}.dashboard-stats-link{width:100%;border:1px solid rgba(148,163,184,.15);background:#1e293b80;padding:.75rem 1rem;border-radius:12px;font-weight:600;color:#93c5fd;cursor:pointer;text-align:center;font-size:.9rem}.dashboard-stats-link:hover{border-color:#6366f14d}.dashboard-weekly{padding:.75rem 0;width:100%}.weekly-dots-label{font-size:.85rem;font-weight:600;color:#e2e8f0;margin-bottom:.5rem;text-align:center}.weekly-dots-row{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;text-align:center}.weekly-dot-col{display:flex;flex-direction:column;align-items:center;gap:.25rem}.weekly-dot-label{font-size:.7rem;color:#64748b;font-weight:600}.weekly-dot{font-size:1rem;color:#334155;line-height:1}.weekly-dot.filled{color:#818cf8}.weekly-dot.today{font-weight:700;text-shadow:0 0 6px rgba(99,102,241,.4)}.weekly-dot.half{color:#6366f1}.stats-page{max-width:540px;margin:0 auto;padding:1.25rem 1rem 5rem;display:flex;flex-direction:column;gap:1rem;min-height:100vh;min-height:100dvh;background:var(--teacher-bg, #faf3e8);color:var(--teacher-ink, #2c1f16)}.stats-error-text{color:#b91c1c;font-size:.9rem;margin:.5rem 0 0}.stats-headline-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.stats-headline-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1rem .75rem .85rem;border-radius:16px;background:linear-gradient(145deg,#fffdf8,#fdf3e6);border:1px solid transparent;background-clip:padding-box;box-shadow:0 4px 14px #a05c321f;overflow:hidden}.stats-headline-card:before{content:"";position:absolute;inset:0;border-radius:16px;padding:1px;background:linear-gradient(135deg,#a05c3252,#a05c3224);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.stats-headline-icon{margin-bottom:.15rem;line-height:1;display:flex;align-items:center;justify-content:center}.stats-headline-value{font-size:1.65rem;font-weight:800;color:var(--teacher-ink, #2c1f16);letter-spacing:-.02em;line-height:1.15}.stats-headline-label{font-size:.7rem;color:var(--teacher-ink-soft, #6b5544);text-transform:uppercase;letter-spacing:.06em;font-weight:500}.stats-section{background:#fffdf8;border:1px solid var(--teacher-hairline, rgba(160, 92, 50, .18));border-radius:16px;padding:1rem 1.1rem;box-shadow:0 4px 16px #a05c321a}.stats-section-lead{background:transparent;border:none;box-shadow:none;padding:0}.stats-page .teacher-session-summary{background:linear-gradient(160deg,#fffdf9,#fbeede);border:1px solid var(--teacher-hairline, rgba(160, 92, 50, .18));border-radius:18px;padding:1.3rem 1.35rem;box-shadow:0 8px 24px #a05c321f;display:flex;flex-direction:column;gap:.7rem;text-align:start}.teacher-session-summary .tss-eyebrow{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--teacher-accent, #a05c32)}.teacher-session-summary .tss-lead{margin:0;font-size:1.08rem;line-height:1.5;color:var(--teacher-ink, #2c1f16)}.teacher-session-summary .tss-move,.teacher-session-summary .tss-next{margin:0;font-size:.95rem;line-height:1.5;color:var(--teacher-ink-soft, #5c4736)}.teacher-session-summary .tss-next-label{font-weight:700;color:var(--teacher-accent, #a05c32)}.stats-page .earned-capabilities{background:linear-gradient(160deg,#fffdf9,#fbeede);border:1px solid var(--teacher-hairline, rgba(160, 92, 50, .18));border-radius:18px;padding:1.3rem 1.35rem;box-shadow:0 8px 24px #a05c321f;display:flex;flex-direction:column;gap:1.15rem;text-align:start}.earned-capabilities .ec-diploma{display:flex;flex-direction:column;gap:.55rem}.earned-capabilities .ec-eyebrow{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--teacher-accent, #a05c32)}.earned-capabilities .ec-check{color:#3f7d52;font-size:.9rem}.earned-capabilities .ec-cando{margin:0;font-size:1.18rem;line-height:1.4;font-weight:600;color:var(--teacher-ink, #2c1f16)}.earned-capabilities .ec-payoff{margin-top:.2rem;padding:.9rem 1rem;border-radius:12px;background:#ffffff8c;border:1px solid var(--teacher-hairline, rgba(160, 92, 50, .18));display:flex;flex-direction:column;gap:.35rem;text-align:center}.earned-capabilities .ec-payoff-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--teacher-ink-faint, #9a8574)}.earned-capabilities .ec-payoff-target{margin:0;font-size:1.35rem;line-height:1.35;color:var(--teacher-ink, #2c1f16)}.earned-capabilities .ec-payoff-gloss{margin:0;font-size:.95rem;line-height:1.4;color:var(--teacher-ink-soft, #5c4736)}.earned-capabilities .ec-ledger{display:flex;flex-direction:column;gap:.5rem;border-top:1px solid var(--teacher-hairline, rgba(160, 92, 50, .18));padding-top:1rem}.earned-capabilities .ec-ledger-title{margin:0;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--teacher-accent, #a05c32)}.earned-capabilities .ec-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.earned-capabilities .ec-item{display:flex;align-items:baseline;gap:.6rem;font-size:.98rem;line-height:1.35}.earned-capabilities .ec-item-mark{flex:0 0 1.1rem;text-align:center;color:#3f7d52;font-weight:700}.earned-capabilities .ec-item-label{flex:1 1 auto;color:var(--teacher-ink, #2c1f16)}.earned-capabilities .ec-item-date{flex:0 0 auto;font-size:.82rem;color:var(--teacher-ink-faint, #9a8574)}@media(max-width:768px){.stats-page .earned-capabilities{padding:1.1rem 1.05rem;gap:.95rem}.earned-capabilities .ec-cando{font-size:1.08rem}.earned-capabilities .ec-payoff-target{font-size:1.2rem}}.stats-section-title{font-size:.95rem;font-weight:700;color:var(--teacher-accent, #a05c32);margin:0 0 .75rem}.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.cal-month{font-size:.95rem;font-weight:600;color:var(--teacher-ink, #2c1f16)}.cal-nav{background:none;border:none;font-size:1rem;cursor:pointer;padding:.25rem .5rem;color:var(--teacher-accent, #a05c32);border-radius:6px;transition:background .15s,color .15s}.cal-nav:hover{background:#a05c321f;color:var(--teacher-accent, #a05c32)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}.cal-day-label{font-size:.7rem;font-weight:600;color:var(--teacher-ink-faint, #9a8574);padding:.25rem 0}.cal-cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.3rem 0;min-height:2rem;border-radius:8px;transition:background .15s}.cal-cell.empty{visibility:hidden}.cal-cell.today{outline:2px solid rgba(160,92,50,.45);outline-offset:-1px;border-radius:8px;background:#a05c3214}.cal-cell.studied{background:#a05c322e}.cal-cell.studied.today{background:#a05c323d}.cal-day-num{font-size:.8rem;color:var(--teacher-ink, #2c1f16)}.cal-cell.empty .cal-day-num{color:var(--teacher-ink-faint, #cbb8a8)}.cal-dot{font-size:.45rem;color:var(--teacher-accent, #a05c32);line-height:1;margin-top:1px}.word-progress-bar-container{display:flex;align-items:center;gap:.75rem}.word-progress-bar{flex:1;height:10px;border-radius:999px;background:#a05c321f;overflow:hidden;display:flex}.word-progress-segment{height:100%;transition:width .3s ease}.word-progress-segment.mastered{background:linear-gradient(90deg,#a05c32,#8d5130)}.word-progress-segment.already-known{background:linear-gradient(90deg,#c9a58b,#bb9377)}.word-progress-segment.learning{background:linear-gradient(90deg,#d49a55,#c17a4a)}.word-progress-label{font-size:.85rem;font-weight:700;color:var(--teacher-ink, #2c1f16);white-space:nowrap}.word-progress-legend{margin-top:.6rem;font-size:.78rem;color:var(--teacher-ink-soft, #6b5544);display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.legend-item{display:inline-flex;align-items:center;gap:.35rem}.legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.legend-dot.new{background:#94a3b84d}.legend-dot.learning{background:#d49a55}.legend-dot.mastered{background:#a05c32}.legend-dot.already-known{background:#c9a58b}.milestones-title{font-size:.95rem;font-weight:700;color:var(--teacher-accent, #a05c32);margin:0 0 .75rem}.milestones-list{display:flex;flex-direction:column;gap:.5rem}.milestone-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;padding:.4rem .5rem;border-radius:10px;transition:background .15s}.milestone-item.completed{background:#a05c321a}.milestone-icon{font-size:1rem;flex-shrink:0;font-weight:700;width:1.1rem;text-align:center}.milestone-item.completed .milestone-icon{color:#3f7d52}.milestone-item.upcoming .milestone-icon{color:var(--teacher-ink-faint, #9a8574)}.milestone-label{color:var(--teacher-ink, #2c1f16)}.milestone-item.upcoming .milestone-label{color:var(--teacher-ink-faint, #9a8574)}.milestone-progress{color:var(--teacher-accent, #a05c32);font-size:.8rem;font-weight:500}.study-history-list{display:flex;flex-direction:column;gap:.25rem}.study-history-row{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;color:var(--teacher-ink-soft, #6b5544);padding:.5rem;border-bottom:1px solid var(--teacher-hairline, rgba(160, 92, 50, .14));border-radius:8px;transition:background .15s}.study-history-row:last-child{border-bottom:none}.study-history-value{font-weight:700;color:var(--teacher-ink, #2c1f16)}.app.page-shell-warm,[data-skin=midnight-slate] .app.page-shell-warm{background:var(--teacher-bg, #faf3e8)}.app.page-shell-warm .app-header,[data-skin=midnight-slate] .app.page-shell-warm .app-header{background:var(--teacher-bg, #faf3e8);border-bottom:1px solid var(--teacher-hairline, rgba(160, 92, 50, .18));box-shadow:none}.app.page-shell-warm .app-header h1,.app.page-shell-warm .app-header p{color:var(--teacher-ink, #2c1f16)}.app.page-shell-warm .back-btn{background:#fffdf8;border:1px solid var(--teacher-hairline, rgba(160, 92, 50, .18));color:var(--teacher-accent, #a05c32)}.app.page-shell-warm .back-btn:hover{background:#a05c3214}[data-skin=midnight-slate] .dashboard-start-btn.muted{background:#94a3b81f;color:var(--app-muted)}[data-skin=midnight-slate] .dashboard-stat-card{background:linear-gradient(135deg,#6366f11f,#8b5cf614);border-color:#6366f12e;box-shadow:0 2px 8px #00000026}[data-skin=midnight-slate] .dashboard-stat-card .stat-value{color:#e2e8f0}[data-skin=midnight-slate] .dashboard-stats-link{background:var(--app-surface);border-color:var(--app-border);color:#93c5fd}main.dashboard-home-wrapper{display:flex;flex:none;padding:0!important;overflow-x:hidden!important}@media(max-width:768px){main.dashboard-home-wrapper{max-width:100%!important;width:100%!important;margin:0!important;padding:0!important}}.dashboard-home-wrapper~.bottom-nav,.dashboard-home-wrapper{max-width:100vw}@media(max-width:768px){.dashboard-home-wrapper~.bottom-nav{left:0;right:0;width:100%!important;max-width:100%!important;transform:none!important}}@media(min-width:769px){.dashboard-home{max-width:100%;margin:0 auto}.dashboard-glass-card{border-radius:12px}}@media(max-height:720px){.dashboard-home{gap:.3rem;padding:.25rem 0 3.5rem}.dashboard-glass-card{padding:.45rem .7rem}.review-chart-svg{max-height:100px}.progress-stat-value{font-size:1.1rem}}@media(max-height:600px){.dashboard-home{gap:.25rem;padding:.2rem 0 3rem}.review-chart-svg{max-height:80px}}.dashboard-plan-facts{margin:.6rem 0 0;text-align:center;font-size:.95rem;color:var(--color-text-muted, #7a5a3a)}.teaching-comparisons{color:var(--teacher-ink, #20130f);min-width:0}.teaching-comparisons>h3{margin:0 0 .6rem}.teaching-comparisons p{line-height:1.55}.comparison-source,.comparison-note,.comparison-method,.comparison-ratio small,.comparison-aid-list small{font-size:.83rem;color:var(--teacher-ink-soft, #674a3d)}.comparison-source{margin:.35rem 0}.comparison-coverage{font-weight:600;margin:.6rem 0 .2rem}.comparison-card{margin-top:1rem;padding:1rem;border:1px solid var(--teacher-hairline, #ddcbb9);border-radius:16px;background:var(--bg-primary, #fffaf3)}.comparison-card h4{margin:0 0 .85rem;font-size:1.05rem}.comparison-card p{margin:.65rem 0;font-size:.9rem}.comparison-picker{display:grid;gap:.3rem;font-size:.8rem}.comparison-picker select{width:100%;min-width:0;max-width:100%;min-height:44px;padding:.6rem;font:inherit;color:inherit;background:var(--bg-primary, #fffaf3);border:1px solid var(--teacher-hairline, #bca796);border-radius:10px}.comparison-ratio{margin:.8rem 0}.comparison-ratio>div:first-child{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.3rem .6rem;font-size:.88rem}.comparison-ratio strong{font-size:1rem;font-variant-numeric:tabular-nums}.comparison-ratio small{display:block;margin-top:.25rem}.comparison-bar{height:8px;overflow:hidden;background:#6e57411f;border-radius:5px;margin:.45rem 0}.comparison-bar>span{display:block;height:100%;background:#397665;border-radius:inherit}.comparison-bar-meaning>span{background:#9b613c}.comparison-bar-miss>span{background:#b43c43}.comparison-direction{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.2rem}.comparison-direction button{flex:1;min-height:44px;padding:.65rem;font:inherit;color:inherit;border:1px solid var(--teacher-hairline, #bca796);border-radius:12px;background:var(--bg-primary, #fffaf3)}.comparison-direction button[aria-pressed=true]{color:#fff;background:#71452e}.comparison-headline{font-weight:700}.comparison-method{margin-top:.8rem}.comparison-method summary{cursor:pointer;min-height:32px;line-height:1.5}.comparison-method p{font-size:.8rem}.comparison-examples{padding-inline-start:1.2rem}.comparison-examples li{margin:.65rem 0;overflow-wrap:anywhere}.comparison-examples small{display:block}.comparison-aid-list>div+div{border-top:1px solid var(--teacher-hairline, #ddcbb9);padding-top:.4rem;margin-top:.8rem}.comparison-aid-list .comparison-ratio{margin-bottom:.1rem}.comparison-entry{display:block;width:100%;text-align:start;font:inherit;color:var(--teacher-ink, #20130f);cursor:pointer}.comparison-entry span{display:block;font-size:.85rem;margin-top:.35rem;color:var(--teacher-ink-soft, #674a3d)}.teaching-comparisons :is(button,select,summary):focus-visible,.comparison-entry:focus-visible{outline:2px solid #397665;outline-offset:3px}.comparison-expand{margin-top:.9rem;min-height:44px;padding:.5rem .8rem;border:1px solid var(--teacher-hairline, #bca796);border-radius:10px;color:inherit;background:transparent;font:inherit}.comparison-picker{position:relative}.comparison-picker select{appearance:none;-webkit-appearance:none;font-size:1rem;padding-inline-end:2.25rem}.comparison-picker:after{content:"⌄";position:absolute;inset-inline-end:.85rem;bottom:.7rem;pointer-events:none}.comparison-split{margin-top:.6rem}.comparison-split h5{margin:0 0 .25rem;font-size:.9em;font-weight:600}.comparison-example-name{display:flex;flex-wrap:wrap;gap:0 .6rem;color:var(--text-secondary, #706052)}.comparison-breakdown{border-top:1px solid var(--teacher-hairline, #ddcbb9);margin-top:1rem;padding-top:.9rem}.comparison-breakdown h5{margin:0;font-size:1rem}.comparison-breakdown-table{width:100%;table-layout:fixed;border-collapse:collapse;margin-top:.7rem;font-size:.82rem}.comparison-breakdown-table th,.comparison-breakdown-table td{box-sizing:border-box;padding:.65rem .25rem;text-align:end;border-bottom:1px solid var(--teacher-hairline, #ddcbb9);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.comparison-breakdown-table th:first-child{width:40%;text-align:start}.comparison-breakdown-table th:nth-child(2){width:36%}.comparison-breakdown-table td bdi{white-space:nowrap}.comparison-breakdown-table thead{color:var(--teacher-ink-soft, #674a3d)}.comparison-breakdown-table tfoot{font-weight:700}.comparison-selection-note{border-inline-start:3px solid #9b613c;padding-inline-start:.65rem}.learning-trajectory{color:#48362b;min-width:0}.learning-trajectory h3{margin:0 0 .3rem;color:#382b22;font-size:1.25rem}.trajectory-caption{font-size:.85rem;line-height:1.5;color:#6b594b;margin:.4rem 0 .9rem}.trajectory-field{display:flex;align-items:center;gap:.6rem;font-size:.85rem}.trajectory-field>span{flex-shrink:0}.trajectory-field select{min-width:0;flex:1;min-height:44px;padding:.5rem;background:#fffaf3;color:#48362b;border:1px solid #cdb9a7;border-radius:10px;font:inherit}.learning-trajectory :focus-visible{outline:3px solid #387467;outline-offset:3px}.trajectory-chart{display:block;width:100%;max-height:280px;overflow:visible;direction:ltr}.trajectory-chart text{font:10px system-ui,sans-serif;fill:#6b594b}.trajectory-grid{stroke:#dfd1c3;stroke-dasharray:3 4}.trajectory-line{stroke:#3c7666;stroke-width:2.5}.trajectory-dot{fill:#3c7666;stroke:#fffaf3;stroke-width:1.5}.trajectory-selected{fill:#70452e;stroke:#fffaf3;stroke-width:2}.trajectory-point{cursor:pointer}.trajectory-result{display:flex;align-items:baseline;gap:.7rem;margin:.75rem 0}.trajectory-result strong{color:#315f52;font-size:1.8rem;font-variant-numeric:tabular-nums}.trajectory-result span{font-size:.9rem}.trajectory-pair{background:#f3f6ef;border:1px solid #c7d6c6;border-radius:12px;padding:.75rem;line-height:1.5}.trajectory-pair summary{cursor:pointer;min-height:32px;font-size:.9rem;margin:0 0 .3rem;color:#345747}.trajectory-pair p{margin:.3rem 0 0;font-size:.85rem}.trajectory-notes{margin-top:.9rem;font-size:.8rem;line-height:1.5;color:#6b594b}.trajectory-notes summary{min-height:32px;cursor:pointer}.trajectory-empty{padding:1.5rem .5rem;border:1px dashed #cdb9a7;border-radius:12px;font-size:.9rem}.trajectory-field select{appearance:none;padding-inline-end:1.8rem;background-image:linear-gradient(45deg,transparent 50%,#70452e 50%),linear-gradient(135deg,#70452e 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 12px) 50%;background-size:4px 4px;background-repeat:no-repeat}.trajectory-field select:dir(rtl){background-position:12px 50%,16px 50%}.trajectory-coverage{font-size:.9rem;font-weight:600;color:#345747;margin:.6rem 0}.trajectory-data{width:100%;border-collapse:collapse}.trajectory-data th,.trajectory-data td{text-align:start;padding:.5rem .25rem;border-bottom:1px solid #dfd1c3}.trajectory-gap-field{margin-top:.65rem}.trajectory-gap-stats{margin:.8rem 0;font-size:.85rem}.trajectory-gap-stats>div{display:flex;justify-content:space-between;gap:.7rem;margin:.3rem 0}.trajectory-gap-stats dd{margin:0;font-weight:600;white-space:nowrap}.trajectory-data{font-size:.75rem}.trajectory-counts{font-size:.8rem;line-height:1.5;color:#6b594b;margin:.4rem 0 .8rem}.trajectory-counts summary{cursor:pointer;min-height:44px;display:list-item;padding-block:.5rem}.trajectory-counts dl{margin:.5rem 0}.trajectory-counts dl>div{display:flex;justify-content:space-between;gap:1rem;padding-block:.3rem}.trajectory-counts dd{margin:0;font-weight:600}.trajectory-count-total{border-top:1px solid #dfd1c3;font-weight:600}.trajectory-table-only{display:block;font-weight:400}.exposure-distribution{margin-top:1.3rem;padding-top:1rem;border-top:1px solid #dfd1c3}.exposure-distribution h4{margin:0 0 .5rem;font-size:1rem}.exposure-distribution-bars{padding:0;margin:.8rem 0;list-style:none}.exposure-distribution-bars li{margin-block:.75rem}.exposure-distribution-label{display:flex;justify-content:space-between;gap:.6rem;font-size:.8rem}.exposure-distribution-label>span:last-child{white-space:nowrap}.exposure-distribution-track{margin-top:.25rem;height:12px;background:#e9e5dc;border-radius:5px;overflow:hidden}.exposure-distribution-track span{display:block;height:100%;background:#3c7666;border-radius:inherit}.exposure-distribution-bars li[data-band=unknown] .exposure-distribution-track span{background:#8a7769}.exposure-view-tabs,.exposure-direction-buttons{display:flex;gap:.5rem;margin-block:.75rem}.exposure-view-tabs button,.exposure-direction-buttons button{flex:1;min-width:0;min-height:44px;border:1px solid #cdb9a7;border-radius:10px;background:#fffaf3;color:#48362b;font:inherit;font-size:.8rem;line-height:1.4;padding:.5rem;cursor:pointer}.exposure-view-tabs button[aria-pressed=true],.exposure-direction-buttons button[aria-pressed=true]{background:#70452e;color:#fffaf3}.exposure-direction-control{margin-block:1rem .6rem}.exposure-direction-control>p{margin:0;font-size:.85rem;font-weight:600}.exposure-dot-chart{width:100%;display:block;direction:ltr;overflow:visible}.exposure-dot-chart text{font:10px system-ui,sans-serif;fill:#6b594b}.exposure-dot{fill:#3c7666;fill-opacity:.55;cursor:pointer}.exposure-dot-incorrect{fill:#c43b3b;fill-opacity:.75;cursor:pointer}.exposure-dot-unknown{fill:#8a7769;fill-opacity:.55;cursor:pointer}.exposure-result-legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.8rem;color:#6b594b}.exposure-result-legend span{display:inline-flex;align-items:center;gap:.35rem}.exposure-result-legend i{width:9px;height:9px;border-radius:50%}.exposure-legend-correct{background:#3c7666}.exposure-legend-incorrect{background:#c43b3b}.exposure-legend-unknown{background:#8a7769}.exposure-test-picker{margin-block:.5rem}.exposure-test-direction{padding-top:.3rem}.exposure-result-legend b{font-variant-numeric:tabular-nums;color:#48362b}.exposure-unknown-note{margin-block:.65rem}.exposure-test-table{max-height:360px;overflow:auto}.exposure-test-plot summary,.exposure-bucket-summary>summary{cursor:pointer;min-height:44px;padding-block:.6rem;font-size:.85rem}.exposure-aid-field{flex-direction:column;align-items:stretch;margin-block:.8rem}.exposure-aid-summary>summary{cursor:pointer;min-height:44px;padding-block:.6rem;font-size:.85rem}.exposure-aid-summary table{table-layout:fixed}.exposure-aid-summary th:first-child{width:48%;overflow-wrap:anywhere}.exposure-aid-summary tbody th{font-weight:400}.recall-timing{text-align:start}.recall-timing h3{margin-block-end:.5rem}.recall-timing-intro,.recall-timing-caution{margin:.5rem 0 1rem;line-height:1.5}.recall-timing-directions{display:flex;gap:.5rem;margin-block:1rem}.recall-timing-directions button{flex:1;min-width:0;min-height:44px;padding:.65rem;border:1px solid #cbb8a5;border-radius:12px;background:#fffaf2;color:#4e3b2f;font:inherit;line-height:1.35;cursor:pointer}.recall-timing-directions button[aria-pressed=true]{background:#5b3a28;color:#fffaf2;border-color:#5b3a28}.recall-timing-directions button:focus-visible,.recall-timing-details summary:focus-visible{outline:3px solid #367cb1;outline-offset:3px}.recall-timing-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.recall-timing-card{border:1px solid #d8c6b6;border-block-start:4px solid #b9854a;border-radius:16px;padding:1rem;background:#fffaf3;min-width:0}.recall-timing-retention{border-block-start-color:#4b7968;background:#f5f9f5}.recall-timing-card h4{margin:0 0 .5rem;font-size:1.05rem;color:#382b22}.recall-timing-definition{min-height:4.5em;margin:0 0 .8rem;color:#68574b;font-size:.9rem;line-height:1.5}.recall-timing-rate{display:block;color:#302821;font-size:2rem;line-height:1.2;font-variant-numeric:tabular-nums}.recall-timing-result{margin:.3rem 0 .8rem;line-height:1.4;font-size:.95rem}.recall-timing-bar{height:8px;border-radius:6px;background:#e4d8cc;overflow:hidden;display:flex;margin-block-end:.7rem}.recall-timing-bar span{background:#90613a;height:100%}.recall-timing-retention .recall-timing-bar span{background:#4b7968}.recall-timing-detail{margin:.25rem 0;font-size:.85rem;line-height:1.5;color:#68574b}.recall-timing-caution{margin-block-start:1rem;color:#68574b;font-size:.9rem}.recall-timing-details{border-block-start:1px solid #e0d2c5;padding-block-start:.8rem;font-size:.9rem;line-height:1.6}.recall-timing-details summary{cursor:pointer;min-height:32px;color:#704627;font-weight:600}.recall-timing-details dl{margin:.7rem 0}.recall-timing-details dl>div{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;border-block-end:1px solid #e9dfd3}.recall-timing-details dt{flex:1}.recall-timing-details dd{margin:0;font-variant-numeric:tabular-nums}.recall-timing-source{font-size:.8rem;color:#756354;margin:1rem 0 0;line-height:1.5}@media(max-width:480px){.recall-timing-cards{grid-template-columns:1fr}.recall-timing-definition{min-height:0}}.repair-followup-item{border-block-end:1px solid #d8c6b6;padding-block:1rem;overflow-wrap:anywhere}.repair-followup-item h4{margin:0;font-size:1.15rem}.repair-followup-item dd{max-width:60%}.repair-followup-item blockquote{margin:.5rem 0;padding-inline-start:.75rem;border-inline-start:3px solid #b9854a}.repair-followups button{min-height:44px;font:inherit}.progress-header{position:sticky;top:0;z-index:5;padding-block:.5rem;background:var(--teacher-bg, #faf3e8)}.progress-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem;padding:.3rem;border:1px solid var(--border-color, #ddcbb9);border-radius:16px;background:var(--bg-secondary, #f5ecdf)}.progress-tabs button{min-width:0;min-height:48px;padding:.6rem .25rem;border:0;border-radius:12px;background:transparent;color:var(--text-secondary, #706052);font:inherit;font-size:.875rem;font-weight:600;cursor:pointer}.progress-tabs button[aria-selected=true]{background:var(--bg-primary, #fffaf3);color:var(--text-primary, #392a21);box-shadow:0 2px 6px #54351a15}.progress-tabs button:focus-visible,.progress-panel:focus-visible,.lexical-ledger input:focus-visible{outline:2px solid #a05c32;outline-offset:3px}.progress-description{color:var(--text-secondary, #706052);font-size:.875rem;margin:.85rem .3rem .25rem}.progress-panel{display:flex;flex-direction:column;gap:1rem;min-width:0}.progress-disclosure{display:flex;justify-content:space-between;align-items:center;gap:.75rem;width:100%;min-height:44px;background:transparent;border:0;color:var(--text-primary, #392a21);font:inherit;text-align:start;cursor:pointer}.progress-tools summary,.lexical-ledger summary{cursor:pointer;padding-block:.5rem;color:var(--text-secondary, #706052);font-size:.875rem}.progress-tools[open]>summary{margin-bottom:.75rem}.progress-connections .progress-disclosure{font-weight:600}.lexical-ledger-search{display:grid;gap:.5rem;font-size:.875rem}.lexical-ledger-search input{width:100%;min-width:0;min-height:48px;box-sizing:border-box;border:1px solid var(--border-color, #ddcbb9);border-radius:12px;padding:.65rem .85rem;font:inherit;font-size:16px;background:var(--bg-primary, #fffaf3);color:var(--text-primary, #392a21)}.lexical-ledger .lexical-ledger-list{grid-template-columns:1fr;padding:0;margin:0;list-style:none;scroll-margin-block-start:8rem}.lexical-ledger .lexical-ledger-term{display:grid;gap:.25rem;overflow-wrap:anywhere}.lexical-ledger .lexical-ledger-term b{font-size:1.08rem}.lexical-ledger-results{margin:0;color:var(--text-secondary, #706052);font-size:.8rem}.lexical-ledger-pagination{display:flex;justify-content:space-between;gap:.75rem}.lexical-ledger-pagination button{border:1px solid var(--border-color, #ddcbb9);border-radius:12px;background:var(--bg-primary, #fffaf3);color:var(--text-primary, #392a21);padding:.6rem 1rem;min-height:44px;font:inherit;cursor:pointer}.lexical-ledger-pagination button:disabled{opacity:.4;cursor:default}@media(min-width:680px){.lexical-ledger .lexical-ledger-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.knowledge-connections{font-size:.9rem;overflow-wrap:anywhere}.knowledge-connections-list{list-style:none;margin:.75rem 0 0;padding:0}.knowledge-connections-list>li{border-top:1px solid var(--teacher-hairline, #ddcbb9);padding-block:.5rem}.knowledge-connections summary{padding-block:.5rem;cursor:pointer}.knowledge-connections li li{margin-block:.5rem}.progress-panel .lesson-reason-text{max-height:none;overflow:visible}.progress-panel .ec-ledger>summary{cursor:pointer;min-height:44px}.evidence-breakdown summary{cursor:pointer;padding-block:.75rem;font-size:.85rem;color:var(--teacher-ink-soft, #5c4736)}.word-progress-segment.paused,.legend-dot.paused{background:#81766f}.lexical-ledger{scroll-margin-block-start:8rem}.vocabulary-modes{display:grid;grid-template-columns:1fr 1fr;gap:.3rem;padding:.25rem;border-radius:12px;background:var(--bg-secondary, #f5ecdf)}.vocabulary-modes button{border:0;border-radius:9px;padding:.65rem;font:inherit;color:inherit;background:transparent;min-height:44px;cursor:pointer}.vocabulary-modes button[aria-pressed=true]{background:var(--bg-primary, #fffaf3);box-shadow:0 2px 6px #54351a15;font-weight:600}.vocabulary-filter{display:grid;gap:.4rem;font-size:.875rem}.vocabulary-filter select{width:100%;min-width:0;min-height:44px;border:1px solid var(--border-color, #ddcbb9);border-radius:10px;padding:.5rem;background:var(--bg-primary, #fffaf3);color:inherit;font:inherit;font-size:16px}.vocabulary-topic{display:grid;gap:.5rem;width:100%;min-height:72px;padding:.9rem;border:1px solid var(--border-color, #ddcbb9);border-radius:12px;background:var(--bg-primary, #fffaf3);color:inherit;font:inherit;text-align:start;cursor:pointer}.vocabulary-topic-heading{display:flex;justify-content:space-between;gap:.75rem}.vocabulary-topic-heading strong{overflow-wrap:anywhere;min-width:0}.vocabulary-topic-preview,.vocabulary-note{font-size:.8rem;color:var(--text-secondary, #706052);line-height:1.6;overflow-wrap:anywhere}.vocabulary-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.vocabulary-breadcrumb button{background:none;border:0;color:inherit;font:inherit;text-decoration:underline;min-height:44px;cursor:pointer}.lexical-ledger-detail>summary{display:flex;justify-content:space-between;align-items:center;gap:.5rem;min-height:44px;border-top:1px solid var(--border-color, #ddcbb9)}.lexical-ledger-detail>summary small{text-decoration:underline}.vocabulary-history{list-style:none;padding:0;margin:0}.vocabulary-history li{display:grid;gap:.2rem;padding:.65rem 0;border-top:1px solid var(--border-color, #ddcbb9);font-size:.875rem}.vocabulary-history time{font-size:.75rem;color:var(--text-secondary, #706052)}.vocabulary-sources{border-inline-start:2px solid #a05c32;padding-inline-start:.75rem;font-size:.875rem}.teacher-evidence-overview h3{margin:0}.teacher-evidence-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-block:1rem}.teacher-evidence-grid button{display:grid;grid-template-columns:1fr auto;gap:.4rem;align-items:center;padding:.8rem;min-height:95px;border:1px solid var(--border-color, #ddcbb9);border-radius:12px;background:var(--bg-primary, #fffaf3);color:inherit;font:inherit;text-align:start;cursor:pointer}.teacher-evidence-grid button strong{grid-column:1 / -1;font-size:1.65rem}.teacher-evidence-grid button span{font-size:.8rem}.teacher-evidence-grid button:disabled{opacity:.55;cursor:default}.teacher-observations h3{margin:0}.teacher-observation{padding-block:.75rem;border-top:1px solid var(--border-color, #ddcbb9);overflow-wrap:anywhere}.teacher-observation time{font-size:.8rem;color:var(--text-secondary, #706052)}.teacher-observation>p{font-size:1.05rem;line-height:1.65}.teacher-observation-next{padding:.75rem;background:var(--bg-secondary, #f5ecdf);border-radius:12px;font-size:.9rem}.teacher-observation-next p{margin-bottom:0;line-height:1.6}.teacher-observation summary{min-height:44px;padding-block:.75rem;box-sizing:border-box;cursor:pointer;font-size:.8rem}.teacher-observations:not(:has(.teacher-observation)){display:none}.answer-history-facts{margin:.5rem 0 0;font-size:.85rem}.answer-history-facts>div{display:flex;justify-content:space-between;gap:1rem;padding:.3rem 0}.answer-history-facts dt{color:var(--text-secondary, #706052)}.answer-history-facts dd{margin:0;text-align:end;overflow-wrap:anywhere}.word-answer-history h4{margin-bottom:.5rem}.answer-performance-direction{margin-block:1.25rem}.answer-performance-direction h4{margin-block:.6rem;font-size:1rem}.answer-performance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.answer-performance-cell{padding:.85rem;border:1px solid var(--border-color, #ddcbb9);border-radius:14px;min-width:0}.answer-performance-cell h5{margin:0;font:inherit;font-weight:600}.answer-performance-cell p{font-size:.8rem;line-height:1.55;margin-block:.4rem;overflow-wrap:anywhere}.answer-performance-cell .answer-performance-rate{font-size:1.9rem;font-weight:700;margin-block:.5rem 0}.answer-performance-cell summary,.answer-performance-notes summary{min-height:44px;align-content:center;cursor:pointer;font-size:.8rem}.answer-performance-notes p{font-size:.85rem;line-height:1.6}@media(max-width:370px){.answer-performance-grid{grid-template-columns:1fr}}.ladder-headline{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.ladder-headline>div{padding:.85rem;border:1px solid var(--border-color, #ddcbb9);border-radius:14px;background:var(--bg-primary, #fffaf3)}.ladder-headline strong{display:block;font-size:1.9rem;font-weight:700;line-height:1.1}.ladder-headline span{font-size:.8rem;color:var(--text-secondary, #706052)}.ladder-kicker{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:#a05c32;font-weight:700;margin:0 0 .35rem}.ladder-rows{list-style:none;margin:0;padding:0}.ladder-row{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.55rem 0;border-top:1px solid var(--border-color, #ddcbb9)}.ladder-row:first-child{border-top:0}.ladder-row>span:first-child{min-width:0;overflow-wrap:anywhere}.ladder-pill{flex:none;font-size:.72rem;font-weight:600;padding:.15rem .55rem;border-radius:999px;white-space:nowrap}.ladder-pill.earned{background:#e3f1e6;color:#2f6b3d}.ladder-pill.nearly{background:#fbeed6;color:#8a5610}.ladder-pill.planned{background:#e6ebf4;color:#4b5d80}.ladder-pill.not_started{background:var(--bg-secondary, #f5ecdf);color:var(--text-secondary, #706052)}.ladder-note{margin:.5rem 0 0;font-size:.8rem;color:var(--text-secondary, #706052);line-height:1.5}.ladder-note--footnote{margin-top:.9rem;padding-top:.6rem;border-top:1px dashed var(--border-color, #ddcbb9);font-size:.76rem}.ladder-chips{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.6rem}.ladder-chips button{font:inherit;font-size:.8rem;padding:.3rem .7rem;min-height:36px;border-radius:999px;border:1px solid var(--border-color, #ddcbb9);background:var(--bg-primary, #fffaf3);color:inherit;cursor:pointer}.ladder-chips button[aria-pressed=true]{background:#a05c32;border-color:#a05c32;color:#fff}.ladder-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.ladder-tile{display:flex;gap:.6rem;align-items:center;width:100%;min-height:64px;padding:.6rem;border:1px solid var(--border-color, #ddcbb9);border-radius:12px;background:var(--bg-primary, #fffaf3);color:inherit;font:inherit;text-align:start;cursor:pointer}.ladder-tile.complete{opacity:.6}.ladder-ring{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center}.ladder-ring>span{width:29px;height:29px;border-radius:50%;background:var(--bg-primary, #fffaf3);display:grid;place-items:center;font-size:.66rem;font-weight:700;color:#a05c32}.ladder-tile-text{min-width:0;display:grid;gap:.1rem}.ladder-tile-text b{font-size:.85rem;line-height:1.2;overflow-wrap:anywhere}.ladder-tile-text small{font-size:.72rem;color:var(--text-secondary, #706052)}.ladder-bar{display:flex;height:10px;border-radius:6px;overflow:hidden;background:var(--bg-secondary, #f5ecdf);margin:.4rem 0 .3rem}.ladder-bar i{display:block;height:100%}.ladder-bar .earned{background:#a05c32}.ladder-bar .nearly{background:#e0b48f}.ladder-bar .planned{background:#b9c4d8}.ladder-legend{display:flex;gap:.75rem;flex-wrap:wrap;font-size:.75rem;color:var(--text-secondary, #706052)}.ladder-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-inline-end:.3rem;vertical-align:middle}.ladder-back{background:none;border:0;color:#a05c32;font:inherit;font-weight:600;min-height:44px;padding:0;cursor:pointer}.ladder-situation-title{margin:0;font-size:1.2rem}.ladder-fold{display:flex;justify-content:space-between;align-items:center;gap:.75rem;width:100%;min-height:44px;padding:.4rem 0;background:none;border:0;border-top:1px solid var(--border-color, #ddcbb9);color:inherit;font:inherit;font-weight:600;text-align:start;cursor:pointer}.ladder-fold small{color:#a05c32;font-weight:600}.ladder-linklike{background:none;border:0;padding:0;min-height:44px;color:#a05c32;font:inherit;font-weight:600;cursor:pointer}.ladder-vocabulary>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--text-secondary, #706052);font-size:.875rem}@media(max-width:360px){.ladder-tiles{grid-template-columns:1fr}}.teacher-learned-title{margin:0 0 .5rem;font-size:1.2rem;line-height:1.3}.teacher-learned-block{padding:.65rem 0;border-top:1px solid var(--border-color, #ddcbb9)}.teacher-learned-block:first-of-type{border-top:0}.teacher-learned-block .ladder-kicker{margin:0 0 .2rem}.teacher-learned-block p{margin:.2rem 0 0;font-size:1rem;line-height:1.6;overflow-wrap:anywhere}.teacher-learned-block .teacher-learned-scope{font-size:.8rem;line-height:1.4;color:var(--text-secondary, #706052)}.teacher-learned-rates{margin:.35rem 0;padding-inline-start:1.2rem;font-size:1rem;line-height:1.6}.method-comparison-limitations{margin-block:.75rem;padding:.75rem;border:1px solid var(--border-color, #ddcbb9);border-radius:12px}.method-comparison-limitations strong{font-size:.85rem}.method-comparison-limitations p,.teacher-learned-block .method-comparison-limitations p{margin:.35rem 0 0;font-size:.875rem;line-height:1.5}.method-comparison-limitations summary{min-height:44px;padding-block:.65rem;box-sizing:border-box;font-size:.875rem;cursor:pointer}.teacher-evidence-fold>summary{min-height:44px;display:flex;align-items:center;gap:.5rem;font-weight:600;color:#a05c32;cursor:pointer}.teacher-section-title{margin:0 0 .5rem;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:#a05c32;font-weight:700}.teacher-sequence{padding-block:.75rem;border-top:1px solid var(--border-color, #ddcbb9)}.teacher-sequence:first-of-type{border-top:0}.teacher-sequence h4{margin:0 0 .25rem;font-size:1rem;overflow-wrap:anywhere}.teacher-sequence-gloss{margin:0 0 .4rem;font-size:.8rem;color:var(--text-secondary, #706052)}.teacher-timeline{list-style:none;margin:.4rem 0 0;padding:0}.teacher-timeline li{position:relative;padding:.25rem 0 .4rem 1.4rem;font-size:.875rem;line-height:1.45;overflow-wrap:anywhere}[dir=rtl] .teacher-timeline li{padding:.25rem 1.4rem .4rem 0}.teacher-timeline li:before{content:"";position:absolute;inset-inline-start:.3rem;top:.55rem;width:9px;height:9px;border-radius:50%;background:#3f7d4e}.teacher-timeline li.miss:before,.teacher-timeline li.recall_missed:before{background:#b3711b}.teacher-timeline li.waiting:before,.teacher-timeline li.pending:before{background:var(--bg-primary, #fffaf3);border:2px solid #5b6d8f;width:5px;height:5px}.teacher-timeline li:after{content:"";position:absolute;inset-inline-start:.55rem;top:1.2rem;bottom:-.2rem;width:1px;background:var(--border-color, #ddcbb9)}.teacher-timeline li:last-child:after{display:none}.teacher-timeline time{color:var(--text-secondary, #706052);font-size:.75rem;margin-inline-end:.4rem}.teacher-week{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,7rem),1fr));gap:.65rem;margin-top:.75rem}.teacher-week>div{padding:.75rem;border:1px solid var(--border-color, #ddcbb9);border-radius:12px;background:var(--bg-primary, #fffaf3)}.teacher-week strong{display:block;font-size:1.6rem;line-height:1.1}.teacher-week span{font-size:.78rem;color:var(--text-secondary, #706052)}.recall-delay-chart{margin:1rem 0 0;padding:1rem 0 0;border-top:1px solid var(--border-color, #ddcbb9);color:var(--teacher-ink, #20130f)}.recall-delay-chart h4{margin:0;font-size:1.05rem}.recall-delay-chart figcaption p{margin:.35rem 0 .85rem;font-size:.85rem;color:var(--teacher-ink-soft, #674a3d)}.recall-delay-bars{display:grid;gap:.25rem}.recall-delay-band>summary,.recall-delay-band--empty{display:grid;grid-template-columns:minmax(0,1fr) auto 1rem;align-items:center;gap:.2rem .6rem;min-height:48px;padding:.4rem .2rem;font-size:.9rem}.recall-delay-band>summary{cursor:pointer;list-style:none;border-radius:6px}.recall-delay-band>summary::-webkit-details-marker{display:none}.recall-delay-band>summary:focus-visible{outline:2px solid var(--teacher-accent, #a05c32);outline-offset:2px}.recall-delay-band-label{grid-column:1 / -1;overflow-wrap:anywhere;line-height:1.35}.recall-delay-track{height:18px;border-radius:4px;background:#a05c3217;overflow:hidden}.recall-delay-fill{display:flex;justify-content:flex-end;height:100%;background:#86522f;border-radius:inherit}.recall-delay-repeat{background:repeating-linear-gradient(135deg,#382d29 0 3px,#dfc4a8 3px 6px)}.recall-delay-chevron{text-align:center}.recall-delay-band[open] .recall-delay-chevron{transform:rotate(180deg)}.recall-delay-band ul{list-style:none;margin:.25rem 0 .75rem;padding:0 .75rem;background:var(--bg-primary, #fffaf3);border:1px solid var(--border-color, #ddcbb9);border-radius:10px}.recall-delay-band li{padding:.75rem 0;overflow-wrap:anywhere}.recall-delay-band li+li{border-top:1px solid var(--border-color, #ddcbb9)}.recall-delay-result-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.3rem .75rem;font-size:.95rem}.recall-delay-result-heading>strong{font-variant-numeric:tabular-nums}.recall-delay-phrase{margin-top:.2rem;color:var(--teacher-ink-soft, #674a3d);font-size:.9rem}.recall-delay-band dl{display:grid;gap:.25rem;margin:.6rem 0 0;font-size:.78rem;color:var(--teacher-ink-soft, #674a3d)}.recall-delay-band dl>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.2rem .6rem}.recall-delay-band dd{margin:0}.recall-delay-attempt{display:inline-block;margin-top:.5rem;padding:.15rem .4rem;border:1px solid var(--border-color, #ddcbb9);border-radius:5px;font-size:.8rem}.recall-delay-chart .recall-delay-legend{display:flex;align-items:center;gap:.45rem;margin:.75rem 0 .35rem;font-size:.8rem}.recall-delay-swatch{display:inline-block;flex:0 0 18px;height:14px;border-radius:3px}.recall-delay-chart .recall-delay-note{margin:.35rem 0;font-size:.8rem;line-height:1.5;color:var(--teacher-ink-soft, #674a3d)}.recall-delay-chart .recall-delay-pending{margin:.75rem 0 0;padding-top:.6rem;border-top:1px solid var(--border-color, #ddcbb9);font-size:.85rem}.teacher-open-question{display:flex;justify-content:space-between;gap:.75rem;padding:.5rem 0;border-top:1px solid var(--border-color, #ddcbb9);font-size:.875rem}.teacher-open-question:first-of-type{border-top:0}.teacher-open-question small{flex:none;color:var(--text-secondary, #706052)}.teacher-open-question-body{display:flex;flex-direction:column;gap:.125rem;min-width:0}.teacher-open-question-phrase{font-weight:600}.teacher-open-question-reading,.teacher-open-question-gloss{font-weight:400;color:var(--text-secondary, #706052)}.teacher-open-questions-hint{margin:0 0 .25rem}.can-do-ladder .ladder-row>span:first-child{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ladder-row--expandable{display:block;padding:0}.ladder-row-toggle{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;width:100%;margin:0;padding:.55rem 0;background:none;border:0;font:inherit;color:inherit;text-align:start;cursor:pointer}.ladder-row-toggle>span:first-child{min-width:0;overflow-wrap:anywhere}.can-do-ladder .ladder-row-toggle>span:first-child{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.can-do-ladder .ladder-row.open .ladder-row-toggle>span:first-child{display:block;-webkit-line-clamp:unset;overflow:visible}.ladder-row-toggle:focus-visible{outline:2px solid #a05c32;outline-offset:2px;border-radius:6px}.ladder-tile-text b:first-letter,.ladder-situation-title:first-letter{text-transform:uppercase}.learning-method-results{margin:1rem 0;display:grid;gap:.9rem}.learning-method-results>div{display:flex;flex-wrap:wrap;gap:.35rem 1rem;justify-content:space-between;align-items:baseline}.learning-method-results dt{color:var(--teacher-ink-soft)}.learning-method-results dd{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem}.learning-method-results bdi{font-size:1.4rem;font-weight:700}.learning-method-results dd span{font-size:1rem}.learning-method-evidence>.vocabulary-note,.learning-method-evidence summary{font-size:1rem;line-height:1.65}.learning-history-report>p,.learning-history-report>details>p,.learning-history-report>details>summary{font-size:1rem;line-height:1.65}.learning-history-report>details>summary{min-height:44px;overflow-wrap:anywhere}.method-grid{overflow-x:auto;margin:.75rem 0 .35rem}.method-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.92rem}.method-table thead th{font-size:.72rem;font-weight:600;letter-spacing:.02em;color:var(--teacher-ink-soft, #674a3d);padding:0 .25rem .45rem;vertical-align:bottom;line-height:1.25}.method-table .method-col-method{text-align:start;width:38%}.method-table .method-col-num{text-align:center}.method-table .method-row>*{padding:.55rem .25rem .3rem;border-top:1px solid rgba(160,92,50,.18);vertical-align:top}.method-table .method-row th{font-weight:400}.method-name{display:block;font-weight:600;color:var(--teacher-ink, #20130f);line-height:1.3}.method-hint{display:block;font-size:.74rem;color:var(--teacher-ink-faint, #a48a6f);line-height:1.3;margin-top:.15rem}.method-direction{display:block;font-size:.76rem;color:var(--teacher-ink-soft, #674a3d);line-height:1.3;margin-top:.2rem}.method-count,.method-ratio{display:block;font-weight:700;font-size:1.05rem;font-variant-numeric:tabular-nums;color:var(--teacher-ink, #20130f);direction:ltr;unicode-bidi:isolate}.method-sample{display:block;margin-top:.15rem;font-size:.8rem;font-variant-numeric:tabular-nums;color:var(--teacher-ink-soft, #674a3d);direction:ltr;unicode-bidi:isolate}.method-count{font-weight:600;color:var(--teacher-ink-soft, #674a3d)}.method-empty{color:var(--teacher-ink-faint, #a48a6f);font-weight:600}.retention-seed .method-ratio{font-weight:600;color:var(--teacher-ink-soft, #674a3d)}.retention-seed .method-bar>span{opacity:.45}.retention-seed-tag{display:block;margin-top:.15rem;font-size:.72rem;line-height:1.3;color:var(--teacher-ink-faint, #a48a6f)}.method-bar{display:block;height:3px;margin:.3rem auto 0;width:2.6rem;border-radius:999px;background:#a05c322e;overflow:hidden}.method-bar>span{display:block;height:100%;background:var(--teacher-accent, #a05c32);border-radius:inherit}.method-evidence-row td{padding:0 .25rem .45rem}.method-evidence-row details{font-size:.85rem}.method-evidence-row summary{color:var(--teacher-ink-soft, #674a3d);cursor:pointer}.method-evidence-row p{margin:.35rem 0 0;color:var(--teacher-ink-soft, #674a3d)}.method-legend{font-size:.8rem}.history-percent{font-size:.9rem;font-weight:600;color:var(--teacher-accent, #a05c32);padding:.05rem .45rem;border-radius:999px;background:#a05c321a;direction:ltr;unicode-bidi:isolate}.method-hints{margin:.9rem 0 .4rem;padding:.75rem .9rem;border-radius:12px;background:#a05c3212}.method-hints h4{margin:0 0 .4rem;font-size:.95rem}.method-hints p,.method-hints li{margin:0;font-size:.92rem;line-height:1.55;color:var(--teacher-ink, #20130f)}.method-hints ul{margin:0;padding-inline-start:1.1rem;display:grid;gap:.35rem}.retention-table{min-width:360px}.retention-table .method-col-method{width:18%}.retention-table thead th{line-height:1.3;padding-inline:.2rem;font-size:.75rem;overflow-wrap:normal}.retention-table .retention-after{display:none}.retention-table .retention-band{font-size:.8rem;line-height:1.3;overflow-wrap:anywhere}.retention-table .method-ratio{font-size:.98rem;white-space:nowrap}.retention-table .method-sample,.retention-table .retention-low,.retention-table .retention-seed-tag{font-size:.7rem;overflow-wrap:anywhere}.retention-table .retention-low{display:block;color:var(--teacher-ink-faint, #a48a6f);line-height:1.25}.retention-table .method-bar{width:80%;max-width:2.6rem}.paths-groups{list-style:none;margin:.85rem 0 .5rem;padding:0;display:grid;gap:1rem}.paths-group-head{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem}.paths-group-label{font-weight:600;color:var(--teacher-ink, #20130f);line-height:1.35}.paths-group-pct{font-weight:700;font-size:1.15rem;font-variant-numeric:tabular-nums;color:var(--teacher-ink, #20130f);direction:ltr;unicode-bidi:isolate}.paths-group-bar{display:block;height:6px;margin-top:.35rem;border-radius:999px;background:#a05c3226;overflow:hidden}.paths-group-bar>span{display:block;height:100%;background:var(--teacher-accent, #a05c32);border-radius:inherit}.paths-group--few .paths-group-bar>span{opacity:.45}.paths-group--empty .paths-group-label,.paths-group--empty .paths-group-pct{color:var(--teacher-ink-faint, #a48a6f)}.paths-group-meta{display:flex;flex-wrap:wrap;gap:.2rem .75rem;margin-top:.3rem;font-size:.8rem;line-height:1.4;color:var(--teacher-ink-soft, #674a3d)}.paths-few,.paths-intervening{color:var(--teacher-ink-faint, #a48a6f)}.paths-details{margin:.75rem 0 .25rem;font-size:.9rem}.paths-details summary{cursor:pointer;color:var(--teacher-ink-soft, #674a3d)}.paths-list{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.4rem}.paths-item{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding-top:.45rem;border-top:1px solid rgba(160,92,50,.14)}.path-chips{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;min-width:0}.path-chip{display:inline-block;padding:.1rem .45rem;border-radius:999px;background:#a05c321a;font-size:.78rem;white-space:nowrap;color:var(--teacher-ink, #20130f)}.path-chip--none{background:transparent;padding-inline:0;color:var(--teacher-ink-faint, #a48a6f);white-space:normal}.path-arrow:before{content:"→";font-size:.75rem;color:var(--teacher-ink-faint, #a48a6f)}.path-arrow:dir(rtl):before{content:"←"}.paths-item-result{flex:none;text-align:end;font-size:.82rem;font-variant-numeric:tabular-nums;color:var(--teacher-ink-soft, #674a3d)}.paths-item-result bdi{direction:ltr;unicode-bidi:isolate}.speaking-weak{margin-top:.6rem}.spoken-facts{margin:.4rem 0 0;padding-inline-start:1.1rem;font-size:.9rem;line-height:1.5;color:var(--teacher-ink, #2c1b11)}.spoken-facts li{margin-bottom:.35rem;overflow-wrap:anywhere}.retention-direction{display:grid;gap:.4rem;margin-block:.8rem;font-size:.85rem}.retention-direction select{width:100%;min-width:0;min-height:44px;padding:.65rem;border:1px solid #cdb9a7;border-radius:10px;background:#fffaf3;color:#48362b;font:inherit}.retention-direction select:focus-visible{outline:3px solid #387467;outline-offset:3px}.retention-table .retention-small-sample{display:block;margin-top:.25rem;font-size:.7rem;line-height:1.3;color:var(--teacher-ink-soft, #674a3d)}.retention-scroll-hint{display:none}.retention-curve .method-grid:focus-visible{outline:3px solid #387467;outline-offset:3px}@media(max-width:520px){.retention-scroll-hint{display:block;margin:.5rem 0 0;color:#674a3d;font-size:.8rem}}.card-teacher-explanation{box-sizing:border-box;width:100%;max-width:440px;margin:0 auto .85rem;padding:.55rem .8rem;border:1px solid var(--teacher-hairline);border-radius:12px;background:var(--teacher-surface-warm);color:var(--teacher-ink-soft);font-size:.85rem;line-height:1.5;text-align:start;overflow-wrap:anywhere}.card-teacher-explanation summary{cursor:pointer;min-height:32px;align-content:center}.card-teacher-explanation summary:focus-visible{outline:2px solid var(--teacher-accent);outline-offset:3px}.card-teacher-explanation h3{font-size:.85rem;margin:.8rem 0 .3rem}.teacher-explanation-text{white-space:pre-line;overflow-wrap:anywhere;margin:.5rem 0}.bidi-reading-group{display:inline-block;max-width:100%;vertical-align:baseline;overflow-wrap:anywhere}.bidi-reading-unit{display:contents}.stats-page .knowledge-map.notebook{display:flex;flex-direction:column;gap:1.15rem;background:linear-gradient(160deg,#fffdf9,#fbeede);border:1px solid var(--teacher-hairline, rgba(160, 92, 50, .18));border-radius:18px;padding:1.3rem 1.35rem;box-shadow:0 8px 24px #a05c321f;color:var(--teacher-ink, #2c1f16);text-align:start}.knowledge-map.notebook .km-observation{margin:0;font-size:1.02rem;line-height:1.5;color:var(--teacher-ink, #2c1f16)}.knowledge-map.notebook .km-empty{margin:0;font-size:.92rem;line-height:1.5;color:var(--teacher-ink-soft, #5c4736)}.knowledge-map.notebook .km-group{display:flex;flex-direction:column;gap:.5rem}.knowledge-map.notebook .km-group-title{margin:0;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--teacher-accent, #a05c32)}.knowledge-map.notebook .km-caps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.knowledge-map.notebook .km-cap{display:flex;align-items:baseline;gap:.6rem;font-size:.98rem;line-height:1.35}.knowledge-map.notebook .km-cap-mark{flex:0 0 1.1rem;text-align:center;font-weight:700;font-size:.95rem}.knowledge-map.notebook .km-cap-label{color:var(--teacher-ink, #2c1f16)}.knowledge-map.notebook .km-cap-done .km-cap-mark{color:#3f7d52}.knowledge-map.notebook .km-cap-becoming .km-cap-mark{color:var(--teacher-accent, #a05c32)}.knowledge-map.notebook .km-cap-becoming .km-cap-label{color:var(--teacher-ink-soft, #5c4736)}.knowledge-map.notebook .km-cap-next .km-cap-mark,.knowledge-map.notebook .km-cap-next .km-cap-label{color:var(--teacher-ink-faint, #9a8574)}.lexical-ledger-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.65rem}.lexical-ledger-entry{display:flex;flex-direction:column;gap:.35rem;min-width:0;padding:.75rem .8rem;border:1px solid var(--teacher-hairline, rgba(160, 92, 50, .18));border-radius:12px;background:#ffffff6b}.lexical-ledger-term,.lexical-ledger-assessment,.lexical-ledger-observations{display:flex;align-items:baseline;flex-wrap:wrap;gap:.35rem .65rem}.lexical-ledger-term small,.lexical-ledger-term span,.lexical-ledger-assessment,.lexical-ledger-observations{color:var(--teacher-ink-soft, #5c4736)}.lexical-ledger-assessment,.lexical-ledger-observations{font-size:.78rem}.lexical-ledger-observations small{padding:.15rem .4rem;border-radius:999px;background:#a05c3217}@media(max-width:768px){.stats-page .knowledge-map.notebook{padding:1.1rem 1.05rem;gap:.95rem}.knowledge-map.notebook .km-observation{font-size:.96rem}.knowledge-map.notebook .km-cap{font-size:.92rem}}.belief-word{--belief-warm: #c17a4a;--belief-warm-soft: rgba(193, 122, 74, .12);--belief-settle-glow: rgba(94, 158, 110, .2);border-radius:3px}.belief-word[data-belief-tier=introducing]{background:var(--belief-warm-soft);border-inline-start:2px solid var(--belief-warm);padding-inline:.16em .1em;font-weight:700;text-decoration:underline;text-decoration-color:var(--belief-warm);text-decoration-thickness:2px;text-underline-offset:.16em}.belief-word[data-belief-tier=settling]{font-weight:400}.belief-word[data-belief-tier=trusted]{font-weight:400;text-decoration:none}.belief-word[data-belief-tier=settled]{font-weight:300;text-decoration:none}@keyframes beliefSettle{0%{background-color:var(--belief-settle-glow)}to{background-color:transparent}}.belief-word.belief-settle{animation:beliefSettle .6s ease-out 1}@media(prefers-reduced-motion:reduce){.belief-word.belief-settle{animation:none}}.belief-word.belief-flag-fragile{text-decoration:underline dotted;text-decoration-thickness:1px;text-underline-offset:.18em}.belief-phrase{unicode-bidi:isolate;min-width:0}.term{--term-rom-color: #a3846b;--term-gloss-color: #7d6b5c}.term--stacked{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.1rem}.term--inline,.term--chip{display:inline-flex;align-items:baseline;gap:.4rem}.term--chip{gap:.3rem;font-size:.9em}.term-word-line{display:inline-flex;align-items:center;gap:.35rem}.term-rom{color:var(--term-rom-color);letter-spacing:.01em}.term-gloss{color:var(--term-gloss-color)}.term .speech-button.term-speech{margin:0;flex:0 0 auto}.term .speech-button.term-speech.speech-button--word{flex:0 1 auto;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}.abilities-page{display:flex;flex-direction:column;gap:.9rem;color:var(--teacher-ink, #2c1b11)}.abilities-page .abilities-cando,.abilities-page .term-word,.abilities-page .abilities-headline strong{color:var(--teacher-ink, #2c1b11)}.abilities-subtitle{margin:0;color:var(--text-secondary, #706052);font-size:.95rem}.abilities-headline{display:flex;align-items:baseline;gap:.75rem}.abilities-headline strong{font-size:1.7rem;font-weight:700;line-height:1.1}.abilities-headline span{font-size:.85rem;color:var(--text-secondary, #706052)}.abilities-kicker{margin:0 0 .3rem;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--teacher-accent, #a05c32)}.abilities-reach{padding:.95rem 1rem 1rem;border:1px solid var(--border-color, #ddcbb9);border-radius:16px;background:var(--bg-primary, #fffaf3)}.abilities-reach .abilities-cando{margin:0 0 .25rem;font-size:1.25rem}.abilities-reach-meta{margin:0 0 .5rem;font-size:.9rem;color:var(--text-secondary, #706052)}.abilities-reach-needs{margin:.6rem 0 0;font-size:.9rem;color:var(--text-secondary, #706052);display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem}.abilities-bar{display:flex;gap:4px}.abilities-bar i{flex:1;height:6px;border-radius:3px;background:var(--bg-secondary, #f5ecdf)}.abilities-bar i.done{background:#4f7a4c}.abilities-bar i.new{background:transparent;box-shadow:inset 0 0 0 1.5px #4f7a4c}.abilities-tabs{display:flex;gap:.4rem;padding:.25rem;border-radius:999px;background:var(--bg-secondary, #f5ecdf)}.abilities-tabs button{flex:1;appearance:none;border:0;border-radius:999px;padding:.55rem .6rem;font-size:.95rem;color:var(--text-secondary, #706052);background:transparent;cursor:pointer}.abilities-tabs button b{font-weight:600;margin-inline-start:.25rem}.abilities-tabs button[aria-selected=true]{background:var(--bg-primary, #fffaf3);color:var(--text-primary, #2c1b11);box-shadow:0 1px 3px #00000014}.abilities-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}.abilities-card{padding:.9rem 1rem;border:1px solid var(--border-color, #ddcbb9);border-radius:16px;background:var(--bg-primary, #fffaf3)}.abilities-card.earned{border-color:#4f7a4c}.abilities-card-head{display:flex;justify-content:space-between;gap:.6rem;font-size:.8rem;color:var(--text-secondary, #706052)}.abilities-card.earned .abilities-status{color:#4f7a4c;font-weight:600}.abilities-cando{margin:.35rem 0 .5rem;font-size:1.15rem;font-weight:700;line-height:1.3}.abilities-details{appearance:none;border:0;background:none;padding:.4rem 0;margin-top:.4rem;font-size:.9rem;color:var(--teacher-accent, #a05c32);cursor:pointer}.abilities-details:before{content:"▸ "}.abilities-details[aria-expanded=true]:before{content:"▾ "}.abilities-phrases{list-style:none;margin:.25rem 0 0;padding:0;display:flex;flex-direction:column}.abilities-phrase{display:flex;align-items:flex-start;gap:.6rem;padding:.55rem 0;border-top:1px solid var(--border-color, #ddcbb9)}.abilities-phrase-mark{width:1.2rem;flex:0 0 auto;text-align:center;color:var(--text-secondary, #706052)}.abilities-phrase.said .abilities-phrase-mark{color:#4f7a4c}.abilities-phrase-body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.abilities-phrase.faded .abilities-phrase-mark{color:#b0762a}.abilities-phrase-why{font-size:.82rem;line-height:1.35;color:var(--teacher-ink-soft, #6b5340)}.abilities-faded-row{margin:.35rem 0 0;font-size:.85rem;line-height:1.35;color:#8a5a1c}.abilities-situations{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.abilities-situation-group{border:1px solid var(--border-color, #ddcbb9);border-radius:16px;background:var(--bg-secondary, #f5ecdf);overflow:hidden}.abilities-situation-group.open{background:transparent}.abilities-situation-head{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;column-gap:.6rem;width:100%;min-height:52px;padding:.7rem .9rem;appearance:none;border:0;background:transparent;color:var(--teacher-ink, #2c1b11);font:inherit;text-align:start;cursor:pointer}.abilities-situation-name{font-size:1.05rem;font-weight:700;text-transform:capitalize;min-width:0;overflow-wrap:anywhere}.abilities-situation-count{font-size:.85rem;font-weight:600;color:#4f7a4c;white-space:nowrap}.abilities-situation-group[data-situation] .abilities-situation-count{padding:.15rem .55rem;border-radius:999px;background:#4f7a4c1f}.abilities-situation-date{font-size:.8rem;color:var(--text-secondary, #706052);white-space:nowrap}.abilities-situation-chevron{color:var(--teacher-accent, #a05c32)}.abilities-situation-group.open>.abilities-list{padding:0 .5rem .6rem}.abilities-phrase-spoken{font-size:.8rem;color:var(--teacher-accent, #a05c32)}.abilities-phrase-spoken:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--teacher-accent, #a05c32);margin-inline-end:.35rem;vertical-align:middle}.abilities-strong{margin-inline-start:.4rem;padding:.1rem .5rem;border-radius:999px;background:#4f7a4c;color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}.abilities-card.strong{border-width:2px}.abilities-phrase-spoken.unaided{color:#2f5a2c}.abilities-phrase-spoken.unaided:before{background:#4f7a4c}.card-status{padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;max-width:100%;overflow-x:auto}.status-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:15px;border-bottom:2px solid #eee}.status-header h1{margin:0;color:#333}.refresh-info{display:flex;align-items:center;gap:10px}.refresh-btn{padding:8px 16px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.refresh-btn:hover{background:#0056b3}.manual-refresh{font-size:12px;color:#666}.summary-section,.queue-section{margin-bottom:30px}.summary-section h2,.queue-section h2,.filters-section h2{margin-bottom:15px;color:#333}.summary-grid,.queue-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-bottom:20px}.summary-card,.queue-card{background:#fff;border-radius:8px;padding:20px;text-align:center;box-shadow:0 2px 4px #0000001a}.summary-card.new{border-inline-start:4px solid #28a745}.summary-card.learning{border-inline-start:4px solid #ffc107}.summary-card.review{border-inline-start:4px solid #17a2b8}.summary-card.leech{border-inline-start:4px solid #dc3545}.summary-card.suspended{border-inline-start:4px solid #6c757d}.summary-number,.queue-number{font-size:32px;font-weight:700;margin-bottom:8px;color:#333}.summary-label,.queue-label{font-size:14px;color:#666;text-transform:uppercase;letter-spacing:.5px}.filters-section{margin-bottom:20px}.filters{display:flex;gap:20px;align-items:end;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:5px}.filter-group label{font-size:14px;font-weight:500;color:#333}.filter-select,.search-input{padding:8px 12px;border:1px solid #ccc;border-radius:4px;font-size:14px}.search-input{min-width:200px}.cards-table-container{overflow-x:auto;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.cards-table{width:100%;border-collapse:collapse;font-size:14px}.cards-table th{background:#f8f9fa;padding:12px 8px;text-align:start;font-weight:600;color:#333;border-bottom:2px solid #dee2e6;white-space:nowrap}.cards-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.cards-table th.sortable:hover{background:#e9ecef}.cards-table td{padding:10px 8px;border-bottom:1px solid #dee2e6}.cards-table tr:hover{background:#f8f9fa}.cards-table tr.leech-row{background:#fff5f5}.key-cell{font-family:monospace;font-size:12px;color:#666;max-width:80px;overflow:hidden;text-overflow:ellipsis}.front-cell,.back-cell{font-weight:500;max-width:120px;overflow:hidden;text-overflow:ellipsis}.pronunciation-cell{font-style:italic;color:#666;max-width:100px;overflow:hidden;text-overflow:ellipsis;font-family:Noto Sans,Doulos SIL,Gentium Plus,DejaVu Sans,Arial Unicode MS,Arial,sans-serif;font-feature-settings:"kern" 1,"liga" 1;text-rendering:optimizeLegibility}.state-badge{color:#fff;padding:3px 8px;border-radius:12px;font-size:12px;font-weight:500;text-transform:uppercase}.origin-cell{font-size:12px}.origin-badge{padding:3px 8px;border-radius:12px;font-size:11px;font-weight:500;white-space:nowrap}.origin-badge.origin-builtin{background:#e3f2fd;color:#1565c0;border:1px solid #bbdefb}.origin-badge.origin-user{background:#f3e5f5;color:#7b1fa2;border:1px solid #e1bee7}.date-cell{font-size:12px;color:#666;white-space:nowrap;max-width:130px;overflow:hidden;text-overflow:ellipsis}.number-cell{text-align:right;font-family:monospace;font-weight:500}.group-cell{font-size:12px;color:#666}.learning-phase-cell{font-size:12px;max-width:100px}.learning-phase-info{display:flex;gap:4px;align-items:center;justify-content:flex-start}.phase-stat{font-family:monospace;font-size:11px;padding:1px 3px;border-radius:3px;background:#f8f9fa;color:#495057}.phase-indicator{font-size:12px}.loading{text-align:center;padding:40px}.pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0;flex-wrap:wrap}.pagination-info{font-size:.9rem;color:#444;font-weight:600}.pagination-controls{display:flex;gap:.5rem}.pagination-btn{padding:6px 10px;border-radius:6px;border:1px solid #d1d5db;background:#fff;color:#111827;font-size:.85rem;font-weight:600;cursor:pointer}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-size{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#555;font-weight:600}.pagination-select{padding:6px 8px;border-radius:6px;border:1px solid #d1d5db;background:#fff;font-size:.85rem}[data-skin=midnight-slate] .card-status{color:var(--app-text)}[data-skin=midnight-slate] .status-header{border-bottom-color:var(--app-border)}[data-skin=midnight-slate] .status-header h1,[data-skin=midnight-slate] .summary-section h2,[data-skin=midnight-slate] .queue-section h2,[data-skin=midnight-slate] .filters-section h2,[data-skin=midnight-slate] .filter-group label{color:var(--app-text)}[data-skin=midnight-slate] .manual-refresh{color:var(--app-muted)}[data-skin=midnight-slate] .summary-card,[data-skin=midnight-slate] .queue-card{background:var(--app-surface);box-shadow:none;border:1px solid var(--app-border)}[data-skin=midnight-slate] .summary-number,[data-skin=midnight-slate] .queue-number{color:var(--app-text)}[data-skin=midnight-slate] .summary-label,[data-skin=midnight-slate] .queue-label{color:var(--app-muted)}[data-skin=midnight-slate] .filter-select,[data-skin=midnight-slate] .search-input{background:var(--app-surface);border-color:var(--app-border);color:var(--app-text)}[data-skin=midnight-slate] .cards-table-container{background:var(--app-surface);box-shadow:none;border:1px solid var(--app-border)}[data-skin=midnight-slate] .cards-table th{background:var(--app-surface-alt);color:var(--app-text);border-bottom-color:var(--app-border)}[data-skin=midnight-slate] .cards-table th.sortable:hover{background:var(--app-surface)}[data-skin=midnight-slate] .cards-table td{border-bottom-color:var(--app-border);color:var(--app-text)}[data-skin=midnight-slate] .cards-table tr:hover{background:#94a3b81f}[data-skin=midnight-slate] .cards-table tr.leech-row{background:#dc262626}[data-skin=midnight-slate] .key-cell,[data-skin=midnight-slate] .group-cell,[data-skin=midnight-slate] .date-cell,[data-skin=midnight-slate] .pronunciation-cell{color:var(--app-muted)}[data-skin=midnight-slate] .origin-badge.origin-builtin{background:#3b82f633;color:#bfdbfe;border-color:#3b82f666}[data-skin=midnight-slate] .origin-badge.origin-user{background:#a855f733;color:#e9d5ff;border-color:#a855f766}[data-skin=midnight-slate] .pagination-info,[data-skin=midnight-slate] .pagination-size{color:var(--app-text)}[data-skin=midnight-slate] .pagination-btn,[data-skin=midnight-slate] .pagination-select{background:var(--app-surface);border-color:var(--app-border);color:var(--app-text)}@media(max-width:768px){.status-header{flex-direction:column;gap:15px;align-items:stretch}.summary-grid,.queue-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.filters{flex-direction:column;align-items:stretch}.search-input{min-width:auto}}.sync-panel{--app-surface: #fffdf8;--app-surface-alt: #fbeede;--app-text: #2c1f16;--app-muted: #9a8574;--app-border: rgba(160, 92, 50, .18);margin-top:1.5rem;padding:1rem;border:1px solid var(--app-border);border-radius:8px;background:var(--app-surface-alt);color:var(--app-text)}.sync-panel h4{margin:0 0 .75rem;color:var(--app-text)}.sync-backup-status{background:#f6faf4;border:1px solid #c9d8c3;border-radius:12px;padding:.85rem}.sync-backup-status[data-state=failed]{background:#fff2e9;border-color:#c28c70}.sync-backup-status[data-state=waiting],.sync-backup-status[data-state=saving]{background:#fffaf2;border-color:#d8c8b4}.sync-backup-status .sync-row{margin-top:.7rem}.sync-backup-status p,.sync-force p{margin:.65rem 0;line-height:1.5;font-size:.9rem}.sync-force{border-top:1px solid var(--app-border);padding-top:.8rem}.sync-force summary{cursor:pointer;font-weight:600;min-height:44px;display:list-item}.sync-force-preview{border:1px solid #b68460;border-radius:10px;padding:.85rem;background:#fffaf3}.sync-force-preview .sync-row{margin-bottom:.6rem}.sync-actions button:focus-visible,.sync-force summary:focus-visible{outline:3px solid #3979a1;outline-offset:3px}.sync-muted{color:var(--app-muted);font-size:.9rem}.sync-auth,.sync-status{display:flex;flex-direction:column;gap:.75rem}.sync-field{display:flex;flex-direction:column;gap:.25rem}.sync-field input{padding:.5rem;border:1px solid var(--app-border);border-radius:6px;background:var(--app-surface);color:var(--app-text)}.sync-actions{display:flex;gap:.5rem;flex-wrap:wrap}.sync-actions button{font:inherit;min-height:44px;padding:.5rem .75rem;border:none;border-radius:6px;background:linear-gradient(135deg,#a05c32,#8d5130);color:#fff;cursor:pointer}.sync-actions button.secondary{background:var(--app-surface);color:var(--app-text);border:1px solid var(--app-border)}.sync-advanced{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--app-border)}.sync-advanced summary{cursor:pointer;font-weight:600;color:var(--app-text);list-style:none}.sync-advanced summary::-webkit-details-marker{display:none}.sync-advanced summary:after{content:"+";float:right;color:var(--app-muted)}.sync-advanced[open] summary:after{content:"-"}.sync-advanced-note{margin:.5rem 0 .75rem;color:var(--app-muted);font-size:.85rem}.sync-actions-advanced button{background:var(--app-surface);color:var(--app-text);border:1px solid var(--app-border)}.sync-row{display:flex;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.sync-row strong{min-width:0;overflow-wrap:anywhere}.sync-device-copy{border-top:1px solid var(--app-border);padding-top:.75rem}.sync-device-copy p{margin:0 0 .75rem}.sync-device-copy .sync-message{margin-top:.5rem}.sync-actions button:disabled{opacity:.65;cursor:wait}.sync-message{font-size:.9rem}.sync-message.success{color:#3f7d52}.sync-message.error{color:#b5392a}.sync-message.syncing{color:#a05c32}.sync-message.warning{color:#a8641c;font-weight:600}.sync-restore{border-top:1px solid var(--app-border);padding-top:.8rem}.sync-restore summary{cursor:pointer;font-weight:600;min-height:44px;display:list-item}.sync-restore p{margin:.65rem 0;line-height:1.5;font-size:.9rem}.sync-restore-list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.sync-restore-list li{border:1px solid var(--app-border);border-radius:10px;padding:.7rem .85rem}.sync-restore-list li[data-kind=shared]{border-color:#b68460}.sync-restore-list .sync-row{margin:0}.sync-restore-list .sync-muted{margin:.3rem 0 .5rem;font-size:.85rem}.sync-error{color:#dc2626;font-size:.85rem}.sync-modal-overlay{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem}.sync-modal-overlay--force{z-index:10001}.sync-modal{background:var(--app-surface);border-radius:10px;padding:1.25rem;max-width:360px;width:100%;box-shadow:0 20px 40px #00000040;display:flex;flex-direction:column;gap:.75rem;color:var(--app-text)}.sync-preview{border:1px solid var(--app-border);border-radius:8px;padding:.75rem;background:var(--app-surface-alt);display:flex;flex-direction:column;gap:.5rem}.sync-preview-row{display:flex;gap:.75rem;flex-wrap:wrap}.sync-preview-col{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:var(--app-muted);min-width:140px;flex:1}.sync-preview-title{font-weight:600;color:var(--app-text)}.sync-preview-status{font-size:.85rem;color:#a05c32}.sync-preview-status.error{color:#b5392a}.sync-modal h5{margin:0;font-size:1rem;color:var(--app-text)}.sync-modal p{margin:0;color:var(--app-muted);font-size:.9rem}.sync-modal-details{background:var(--app-surface-alt);border-radius:8px;padding:.75rem;font-size:.85rem;color:var(--app-text)}.voice-provider-settings{display:grid;gap:1rem;margin-block:1rem;min-width:0}.voice-provider-field{display:grid;gap:.5rem;min-width:0;font-size:1rem}.voice-provider-field .settings-select,.voice-provider-field input{width:100%;max-width:100%;min-width:0;min-height:48px;font-size:1.125rem}.voice-provider-note{margin:0;font-size:1rem;line-height:1.5;color:inherit}.voice-preview-actions{display:flex;flex-wrap:wrap;gap:.75rem}.voice-preview-actions button{flex:1 1 9rem;min-height:48px;font-size:1rem;background:var(--teacher-accent-strong);color:var(--teacher-bg)}.voice-preview-actions button+button{background:var(--teacher-surface-warm);color:var(--teacher-ink);border:1px solid var(--teacher-hairline)}.voice-preview-actions button:focus-visible{outline:2px solid var(--teacher-accent);outline-offset:3px}.voice-preview-actions button:disabled{cursor:default}.voice-preview-actions button[aria-busy=true]:before{content:"";display:inline-block;width:1em;height:1em;margin-inline-end:.5rem;border:2px solid currentColor;border-inline-end-color:transparent;border-radius:50%;animation:voice-preview-spin 1s linear infinite;vertical-align:-.15em}@keyframes voice-preview-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.voice-preview-actions button[aria-busy=true]:before{animation:none}}.teacher-thinking-panel{margin-top:.9rem;padding:1rem;border:1px solid var(--teacher-hairline, rgba(160, 92, 50, .22));border-radius:14px;background:linear-gradient(155deg,#fffdf9,#f9eddf);color:var(--teacher-ink, #2c1f16);text-align:start}.teacher-thinking-header,.teacher-thinking-status{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.teacher-thinking-header h4,.teacher-thinking-list h5,.teacher-thinking-card h5{margin:0}.teacher-thinking-eyebrow{margin:0 0 .25rem;color:var(--teacher-accent, #a05c32);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.teacher-thinking-boundary,.teacher-thinking-meta,.teacher-thinking-evidence,.teacher-thinking-status span{color:var(--teacher-ink-soft, #6b5544);font-size:.82rem}.teacher-thinking-boundary{margin:.45rem 0 .85rem}.teacher-thinking-status{margin-bottom:.85rem;padding:.65rem .75rem;border-radius:10px;background:#3f7d521a}.teacher-thinking-status-rejected{background:#b5392a17}.teacher-thinking-status span{white-space:nowrap}.teacher-thinking-list{display:grid;gap:.65rem}.teacher-thinking-card{padding:.8rem;border:1px solid rgba(160,92,50,.16);border-radius:11px;background:#fffdf9c2}.teacher-thinking-card p{margin:.35rem 0 0;line-height:1.45}.teacher-thinking-claim{font-weight:650}.teacher-thinking-next strong,.teacher-thinking-reflection strong,.teacher-thinking-rejections strong{color:var(--teacher-accent, #8f4f2c)}.teacher-thinking-reflection,.teacher-thinking-rejections,.teacher-thinking-empty{margin-top:.75rem}.teacher-thinking-planning{margin-top:1rem;padding-top:.9rem;border-top:1px solid rgba(160,92,50,.18)}.teacher-thinking-planning>h5{margin:0 0 .65rem}.teacher-thinking-planning code{font-size:.78rem}.teacher-thinking-reflection ul,.teacher-thinking-rejections ul{margin:.35rem 0 0;padding-inline-start:1.2rem}.teacher-thinking-reflection div+div{margin-top:.65rem}.teacher-thinking-empty{font-style:italic;color:var(--teacher-ink-soft, #6b5544)}@media(max-width:560px){.teacher-thinking-header,.teacher-thinking-status{flex-direction:column;gap:.35rem}}.next-session-card{max-width:420px;margin:12px auto;padding:20px 24px;border-radius:16px;background:#ffffff8c;border:1px solid rgba(0,0,0,.06);box-shadow:0 2px 10px #0000000a;text-align:center;color:#3a2f28}.nsc-title{font-size:22px;font-weight:700;margin:0 0 4px}.nsc-body{font-size:15px;opacity:.8;margin:0 0 14px}.next-session-card--preparing{padding-block:18px}.next-session-card--preparing .nsc-title{font-size:19px;margin-bottom:12px}.nsc-stage{font-size:15px;line-height:1.45;margin:0 0 12px;opacity:.8}.nsc-stage-retry{font-size:13px;line-height:1.45;margin:10px 0 0;opacity:.68}.nsc-progress{background:#a05c3224;border-radius:999px;height:5px;overflow:hidden;width:100%}.nsc-progress-fill{animation:nscPreparing 1.6s ease-in-out infinite;background:linear-gradient(90deg,#8d5130,#d49a55);border-radius:inherit;display:block;height:100%;width:42%}@keyframes nscPreparing{0%{transform:translate(-115%)}55%,to{transform:translate(250%)}}[data-skin=midnight-slate] .next-session-card{background:#1e293bd9;border-color:#94a3b84d;color:var(--app-text);box-shadow:none}[data-skin=midnight-slate] .linguide-today .next-session-card,[data-skin=midnight-slate] .study-active .next-session-card--preparing{background:#ffffff94;border-color:#a05c3233;box-shadow:0 12px 30px #7b4a261f;color:#3a261f}@media(prefers-reduced-motion:reduce){.nsc-progress-fill{animation:none;opacity:.7;width:100%}}@media(max-width:480px){.next-session-card{padding:16px 18px}.nsc-title{font-size:20px}}.teacher-note{display:grid;gap:.35rem;max-width:420px;margin:.5rem auto 0;padding:.65rem .9rem;border-radius:12px;background:#fffbf3c7;border:1px solid rgba(160,92,50,.22);text-align:start}.teacher-note-phrase{display:flex;color:var(--teacher-ink, #20130f);--term-rom-color: var(--teacher-ink-soft, #674a3d);gap:.25rem;margin-bottom:.35rem}.teacher-note-text{margin:0;color:var(--teacher-note-text-color, #674a3d);font-size:var(--teacher-note-text-size, .86rem);line-height:var(--teacher-note-line-height, 1.5);white-space:pre-line;overflow-wrap:anywhere}.teacher-note-parts{margin:0 0 .65rem}.teacher-note-part{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:.9rem;align-items:center;padding:.65rem 0;border-bottom:1px solid rgba(160,92,50,.2);color:var(--teacher-ink, #20130f);font-size:1rem;line-height:1.55;overflow-wrap:anywhere}.teacher-note-part dt,.teacher-note-part dd{min-width:0;margin:0}.teacher-note-part .term{--term-rom-color: var(--teacher-ink, #20130f);max-width:100%}.teacher-note-part .term-rom{font-size:1rem}.teacher-note-part .term-word-line{max-width:100%}.teacher-note-part .term-word{min-width:0}.teacher-note-part .speech-button.term-speech:not(.speech-button--word){order:-1;width:44px;height:44px;color:#794323}.teacher-note-part .speech-button .speaker-icon{color:inherit}.teacher-note-phrase .term-gloss{color:var(--teacher-ink, #20130f);font-size:1rem;font-weight:500;line-height:1.5}.lesson-asides{cursor:pointer;touch-action:pan-y}.lesson-asides-card,.lesson-asides .teacher-note-phrase,.lesson-asides .term-word-line{min-width:0;max-width:100%}.lesson-asides .speech-button.term-speech{flex-shrink:1;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}.lesson-asides .term-rom{max-width:100%;overflow-wrap:anywhere}.lesson-asides-label{color:#7d4a2e;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.lesson-asides:focus-visible{outline:2px solid rgba(160,92,50,.55);outline-offset:2px}.lesson-asides-dots{display:flex;gap:.3rem;justify-content:center;margin-top:.15rem}.lesson-asides-dot{width:6px;height:6px;border-radius:50%;background:#a05c3240}.lesson-asides-dot--current{background:#a05c32b3}.dashboard-home[data-aside-leads=true] .lesson-asides{order:-1;margin-top:0}.lesson-asides-pager{display:flex;align-items:center;justify-content:center;gap:.35rem}.lesson-asides-page-btn{appearance:none;background:none;border:0;padding:0;width:32px;height:32px;line-height:1;font-size:1.15rem;color:var(--teacher-accent, #a05c32);cursor:pointer;border-radius:999px}.lesson-asides-page-btn:disabled{opacity:.28;cursor:default}.lesson-asides-page-btn:focus-visible{outline:2px solid var(--teacher-accent, #a05c32);outline-offset:2px}.ss-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#0b1120;overflow:hidden}.ss-overlay:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 20% 80%,rgba(59,130,246,.08) 0%,transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(139,92,246,.08) 0%,transparent 60%);pointer-events:none}.ss-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}.ss-confetti-piece{position:absolute;top:-12px;opacity:0;animation:ss-fall linear infinite}.ss-confetti--0{background:#fbbf24;width:6px;height:12px;border-radius:2px}.ss-confetti--1{background:#818cf8;width:8px;height:8px;border-radius:50%}.ss-confetti--2{background:#34d399;width:5px;height:14px;border-radius:2px}.ss-confetti--3{background:#f472b6;width:10px;height:6px;border-radius:2px}.ss-confetti--4{background:#38bdf8;width:7px;height:7px;border-radius:50%}.ss-confetti--5{background:#fb923c;width:6px;height:10px;border-radius:2px}@keyframes ss-fall{0%{opacity:0;transform:translateY(-20px) rotate(0)}10%{opacity:1}to{opacity:0;transform:translateY(100vh) rotate(720deg)}}.ss-sparkle{position:absolute;width:4px;height:4px;border-radius:50%;animation:ss-burst 2.5s ease-out infinite}.ss-sparkle--1{top:6%;right:18%;box-shadow:0 0 0 2px #fbbf24cc,15px -25px 0 1px #fbbf2499,-18px -20px 0 1px #fbbf2480,25px -8px 0 1px #fbbf2466;animation-delay:.3s}.ss-sparkle--2{top:4%;left:15%;box-shadow:0 0 0 2px #818cf8cc,12px -22px 0 1px #818cf899,-15px -18px 0 1px #818cf880,20px -6px 0 1px #818cf866;animation-delay:1.2s}.ss-sparkle--3{top:10%;right:35%;box-shadow:0 0 0 2px #34d399cc,18px -20px 0 1px #34d39999,-12px -25px 0 1px #34d39980;animation-delay:2s}@keyframes ss-burst{0%{opacity:0;transform:scale(0)}20%{opacity:1;transform:scale(1)}60%{opacity:.6;transform:scale(1.8)}to{opacity:0;transform:scale(2.5)}}.ss-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;padding:2rem 1.5rem;max-width:440px;width:100%;max-height:90vh;overflow-y:auto;animation:ss-fadeIn .5s ease-out;-webkit-overflow-scrolling:touch}@keyframes ss-fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ss-heading{font-size:1.85rem;font-weight:800;color:#f1f5f9;text-align:center;margin:0 0 .5rem;line-height:1.3}.ss-subtitle{font-size:1rem;color:#94a3b8;text-align:center;margin:0 0 1.75rem;line-height:1.5}.ss-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;width:100%;margin-bottom:1.25rem}.ss-stat-card{background:#1e293ba6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(148,163,184,.12);border-radius:14px;padding:1rem;text-align:center;transition:transform .2s ease}.ss-stat-icon{font-size:1.4rem;margin-bottom:.4rem;width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center}.ss-stat-icon--time{background:#38bdf826}.ss-stat-icon--cards{background:#8b5cf626}.ss-stat-icon--accuracy{background:#fb923c26}.ss-stat-icon--new{background:#34d39926}.ss-stat-value{font-size:1.5rem;font-weight:700;color:#f1f5f9;margin-bottom:.15rem}.ss-stat-label{font-size:.8rem;color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.ss-stat-meta{font-size:.75rem;color:#94a3b8;margin-top:.2rem;font-weight:600}.ss-outcomes{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:1.25rem}.ss-badge{padding:.35rem .85rem;border-radius:20px;font-size:.8rem;font-weight:600;display:inline-flex;align-items:center;gap:.3rem}.ss-badge--mastered{background:#22c55e26;color:#4ade80;border:1px solid rgba(34,197,94,.25)}.ss-badge--advanced{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.25)}.ss-badge--relapsed{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.25)}.ss-tomorrow{width:100%;background:#1e293b80;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(148,163,184,.1);border-radius:14px;padding:1rem 1.25rem;margin-bottom:1.5rem}.ss-tomorrow-title{color:#94a3b8;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin:0 0 .75rem}.ss-next-plan{width:100%;background:#1e293b80;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(148,163,184,.1);border-radius:14px;padding:1rem 1.25rem;margin-top:1.25rem;text-align:start}.ss-next-plan-title{color:#94a3b8;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin:0 0 .6rem}.ss-next-plan-level{color:#e2e8f0;font-size:.95rem;font-weight:600;margin:0 0 .5rem}.ss-next-plan-list{color:#cbd5e1;font-size:.95rem;line-height:1.5;margin:0;padding-inline-start:1.1rem}.ss-next-plan-list li{margin-bottom:.3rem}.ss-tomorrow-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.ss-tomorrow-stat{text-align:center}.ss-tomorrow-value{display:block;font-size:1.25rem;font-weight:700;color:#93c5fd;margin-bottom:.15rem}.ss-tomorrow-label{font-size:.75rem;color:#64748b}.ss-actions{width:100%;display:flex;flex-direction:column;gap:.75rem}.ss-btn{width:100%;padding:.9rem;font-size:1.05rem;font-weight:700;border:none;border-radius:14px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;letter-spacing:.02em}.ss-btn--primary{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff}.ss-btn--primary:hover{transform:scale(1.02);box-shadow:0 6px 24px #3b82f666}.ss-btn--primary:active{transform:scale(.98)}.ss-btn--secondary{background:#94a3b81a;color:#94a3b8;border:1.5px solid rgba(148,163,184,.2)}.ss-btn--secondary:hover{background:#94a3b826;color:#f1f5f9;border-color:#94a3b859}.ss-btn--secondary:active{transform:scale(.98)}.ss-loading{text-align:center;color:#94a3b8}.ss-spinner{font-size:2rem;margin-bottom:1rem;animation:ss-pulse 1.5s infinite}@keyframes ss-pulse{0%,to{opacity:.6}50%{opacity:1}}@media(max-width:380px){.ss-heading{font-size:1.5rem}.ss-stat-value{font-size:1.25rem}.ss-content{padding:1.5rem 1rem}}.ss-memory{margin:1.25rem 0 .5rem;text-align:start}.ss-notes-trigger{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem 1rem;border:1px solid #334155;border-radius:10px;background:#38bdf814;color:#e2e8f0;font-size:.92rem;font-weight:600;cursor:pointer;transition:background .14s ease,border-color .14s ease,transform .14s ease}.ss-notes-trigger:hover{background:#38bdf829;border-color:#38bdf8;transform:translateY(-1px)}.ss-notes-overlay{position:fixed;inset:0;z-index:2147483600;display:flex;align-items:center;justify-content:center;padding:1rem;background:#020617b8;animation:ss-notes-backdrop .18s ease-out}.ss-notes-dialog{position:relative;width:min(640px,100%);max-height:85vh;overflow-y:auto;padding:1.5rem 1.75rem 1.75rem;border:1px solid #334155;border-radius:18px;background:linear-gradient(160deg,#0f172a,#111c34);box-shadow:0 24px 64px #0000008c;text-align:start;animation:ss-notes-pop .24s cubic-bezier(.16,1,.3,1)}.ss-notes-close{position:absolute;top:.6rem;right:.75rem;width:1.9rem;height:1.9rem;border:none;border-radius:8px;background:transparent;color:#94a3b8;font-size:1.4rem;line-height:1;cursor:pointer;transition:background .14s ease,color .14s ease}.ss-notes-close:hover{background:#94a3b826;color:#e2e8f0}.ss-notes-mute{position:absolute;top:.6rem;left:.75rem;width:1.9rem;height:1.9rem;border:none;border-radius:8px;background:transparent;font-size:1.1rem;line-height:1;cursor:pointer;transition:background .14s ease}.ss-notes-mute:hover{background:#94a3b826}.ss-notes-heading{margin:0 0 1.1rem;padding:0 2.4rem .9rem;font-size:1.2rem;font-weight:700;color:#f1f5f9;text-align:center;border-bottom:1px solid rgba(148,163,184,.18)}@keyframes ss-notes-backdrop{0%{opacity:0}to{opacity:1}}@keyframes ss-notes-pop{0%{opacity:0;transform:translateY(14px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.ss-notes-overlay,.ss-notes-dialog{animation:ss-notes-backdrop .12s ease-out}}.ss-memory-loading{display:flex;align-items:center;gap:.5rem;color:#94a3b8;font-size:.95rem;line-height:1.4}.ss-memory-loading-lines{display:flex;flex-direction:column;gap:.15rem;text-align:start}.ss-memory-loading-stage,.ss-memory-loading-retry{font-size:.85rem;opacity:.85}.ss-memory-hourglass{display:inline-block;font-size:1.1rem;animation:ss-hourglass-flip 1.4s ease-in-out infinite}@keyframes ss-hourglass-flip{0%,55%{transform:rotate(0)}70%,to{transform:rotate(180deg)}}@media(prefers-reduced-motion:reduce){.ss-memory-hourglass{animation:ss-hourglass-pulse 1.6s ease-in-out infinite}@keyframes ss-hourglass-pulse{0%,to{opacity:1}50%{opacity:.4}}}.ss-memory-message{color:#cbd5e1;font-size:.95rem;line-height:1.4;margin:0 0 .75rem}.ss-memory-levelchange{color:#a7f3d0;font-size:.95rem;font-weight:600;line-height:1.4;margin:0 0 .75rem}.ss-memory-block{margin:0 0 .75rem}.ss-memory-title{color:#94a3b8;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;margin:0 0 .35rem}.ss-memory-block ul{margin:0;padding-inline-start:1.1rem}.ss-memory-block li{color:#e2e8f0;font-size:.9rem;line-height:1.4;margin-bottom:.2rem}.ss-report-lead{font-size:1.02rem;line-height:1.55;color:#e2e8f0;margin:0 0 1.15rem}.ss-report-section{margin:0 0 .85rem;padding:.85rem 1rem .9rem;border-radius:12px;border:1px solid rgba(148,163,184,.14);border-inline-start:3px solid var(--ss-tone, #64748b);background:#94a3b80f}.ss-report-section:last-child{margin-bottom:0}.ss-report-title{display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;text-transform:none;letter-spacing:0;color:var(--ss-tone, #cbd5e1);margin:0 0 .5rem}.ss-report-icon{font-size:1.05rem;line-height:1}.ss-report-section ul{padding-inline-start:1.15rem}.ss-report-section li{font-size:.92rem;line-height:1.5;margin-bottom:.35rem}.ss-report-section li:last-child{margin-bottom:0}.ss-report-section.tone-good{--ss-tone: #34d399}.ss-report-section.tone-work{--ss-tone: #fbbf24}.ss-report-section.tone-next{--ss-tone: #60a5fa}.ss-report-section.tone-lesson{--ss-tone: #a78bfa}.ss-eyebrow{margin:0 0 .85rem;font-size:.8rem;font-weight:600;letter-spacing:.04em;color:#94a3b8;text-align:center}.ss-report{text-align:start;margin:0 0 .5rem}.ss-report-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin:0 0 .85rem}.ss-report-headline{margin:0;font-size:1.35rem;font-weight:800;line-height:1.3;color:#f1f5f9}.ss-report-mute{flex:0 0 auto;width:2.1rem;height:2.1rem;border:1px solid rgba(148,163,184,.2);border-radius:10px;background:#94a3b814;font-size:1.05rem;line-height:1;cursor:pointer;transition:background .14s ease}.ss-report-mute:hover{background:#94a3b82e}.ss-lesson-time{margin:.6rem 0 .2rem;text-align:center;font-size:.95rem;font-weight:700;color:var(--teacher-accent, #a05c32)}.ss-details{margin-top:.5rem}.ss-details>summary.ss-details-toggle{cursor:pointer;list-style:none;text-align:center;font-size:.82rem;color:var(--teacher-faint, #8a6a52);padding:.4rem;-webkit-user-select:none;user-select:none}.ss-details>summary.ss-details-toggle::-webkit-details-marker{display:none}.ss-details>summary.ss-details-toggle:after{content:" ▾"}.ss-details[open]>summary.ss-details-toggle:after{content:" ▴"}.ss-details .ss-evidence{margin-top:.4rem;padding-top:.8rem}.ss-evidence{margin:1.75rem 0 0;padding-top:1.1rem;border-top:1px solid rgba(148,163,184,.16)}.ss-evidence-title{margin:0 0 .35rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;text-align:start}.ss-evidence-caption{margin:0 0 .9rem;font-size:.9rem;color:#cbd5e1;text-align:start}.ss-overlay{background:radial-gradient(circle at 90% 6%,rgba(224,122,63,.12),transparent 360px),linear-gradient(135deg,#fff8ec,#fbeede 60%,#fbe6cf)}.ss-overlay:before{background:none}.ss-heading,.ss-report-headline,.ss-stat-value,.ss-report-lead,.ss-report-section li,.ss-memory-block li,.ss-next-plan-level,.ss-next-plan-list{color:#20130f;-webkit-text-fill-color:#20130f}.ss-eyebrow,.ss-subtitle,.ss-stat-label,.ss-stat-meta,.ss-evidence-title,.ss-evidence-caption,.ss-tomorrow-title,.ss-tomorrow-label,.ss-memory-message,.ss-memory-title,.ss-next-plan-title{color:#674a3d;-webkit-text-fill-color:#674a3d}.ss-stat-card,.ss-tomorrow,.ss-next-plan,.ss-report-section,.ss-notes-trigger{background:#ffffff9e;border-color:#69483029}.ss-evidence{border-top-color:#a05c3238}.ss-tomorrow-value{color:#8d5130}.ss-btn--primary{background:linear-gradient(135deg,#2f211b,#8d5130);color:#fff8ef}.ss-btn--secondary{background:#ffffff9e;color:#3b281f;border:1.5px solid rgba(160,92,50,.28)}.ss-btn--mission{display:block;width:100%;margin:0 auto 12px;padding:13px;border-radius:999px;border:1.5px solid rgba(160,92,50,.4);background:#d49a5529;color:#7b4a26;font-family:inherit;font-size:15px;font-weight:500;cursor:pointer}.ss-btn--mission:hover{background:#d49a5542}.ss-reprobe-offer{width:100%;box-sizing:border-box;margin:0 0 12px;padding:12px 0 14px;border-top:1px solid rgba(160,92,50,.2);border-bottom:1px solid rgba(160,92,50,.16);text-align:start}.ss-reprobe-line{margin:0 0 10px;color:#3b281f;-webkit-text-fill-color:#3b281f;font-size:.96rem;line-height:1.45}.ss-reprobe-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.78fr);gap:8px}.ss-reprobe-actions .ss-btn{min-height:44px;padding:.75rem;font-size:.94rem;letter-spacing:0}.ss-reprobe{width:min(100%,440px)}.ss-reprobe-result{margin:0 0 .75rem;color:#20130f;-webkit-text-fill-color:#20130f;font-size:3rem;line-height:1}.ss-reprobe-word{width:100%;box-sizing:border-box;margin:0 0 18px;padding:18px 14px;border-radius:12px;background:#ffffff9e;border:1px solid rgba(105,72,48,.16);color:#20130f;-webkit-text-fill-color:#20130f;font-size:1.75rem;font-weight:750;line-height:1.2;text-align:center;overflow-wrap:anywhere}.ss-reprobe-word span{display:block;margin-top:6px;color:#674a3d;-webkit-text-fill-color:#674a3d;font-size:.92rem;font-weight:500}.ss-reprobe-options{display:grid;gap:10px;width:100%}.ss-reprobe-options button{width:100%;min-height:48px;padding:12px 14px;border-radius:12px;border:1.5px solid rgba(160,92,50,.28);background:#ffffff9e;color:#3b281f;-webkit-text-fill-color:#3b281f;font-family:inherit;font-size:1rem;line-height:1.3;text-align:start;overflow-wrap:anywhere;cursor:pointer}.ss-reprobe-options button:disabled{cursor:default}.ss-reprobe-options button.correct{border-color:#22c55e94;background:#22c55e2e}.ss-reprobe-options button.incorrect{border-color:#be434394;background:#be434324}@media(max-width:380px){.ss-reprobe-actions{grid-template-columns:1fr}.ss-reprobe-word{font-size:1.45rem}}.ss-memory-levelchange{color:#2f6f4f;-webkit-text-fill-color:#2f6f4f}.ss-loading,.ss-memory-loading{color:#674a3d;-webkit-text-fill-color:#674a3d}.ss-report-section.tone-good .ss-report-title{color:#2f7d57;-webkit-text-fill-color:#2f7d57}.ss-report-section.tone-work .ss-report-title{color:#8a5a00;-webkit-text-fill-color:#8a5a00}.ss-report-section.tone-next .ss-report-title{color:#2f5fae;-webkit-text-fill-color:#2f5fae}.ss-report-section.tone-lesson .ss-report-title{color:#6b46c1;-webkit-text-fill-color:#6b46c1}.ss-badge--mastered{color:#1f7a45;background:#22c55e2e;border-color:#22c55e66}.ss-badge--advanced{color:#1f5fae;background:#3b82f62e;border-color:#3b82f666}.ss-badge--relapsed{color:#8a5a00;background:#f59e0b33;border-color:#f59e0b73}.ss-report .ss-report-lead{color:#3b281f;-webkit-text-fill-color:#3b281f;text-shadow:none}.ss-report-lead-block{flex:1;min-width:0}.ss-report-lead-block .ss-report-lead{margin:0}.ss-report-lead-block .ss-memory-levelchange{margin:0 0 .5rem}.ss-celebration{margin:0 0 1rem;text-align:center}.ss-celebration-title{margin:0 0 .35rem;font-size:1.45rem;font-weight:800;color:#20130f;-webkit-text-fill-color:#20130f}.ss-celebration-cando{margin:0;font-size:1.05rem;line-height:1.5;color:#3b281f;-webkit-text-fill-color:#3b281f}.ss-celebration-ack{width:100%;box-sizing:border-box;margin:0 0 1rem;text-align:center;font-size:1rem;line-height:1.5;white-space:normal;overflow-wrap:anywhere;color:#674a3d;-webkit-text-fill-color:#674a3d}.ss-actions{margin-top:.5rem}.ss-teacher-line-slot{min-height:3.6rem}.ss-evidence{width:100%;box-sizing:border-box}.ss-tomorrow,.ss-next-plan{box-sizing:border-box}.ss-stats-grid{grid-template-columns:1fr;gap:.6rem}.ss-stat-card{text-align:start;padding:.85rem 1.05rem;display:flex;flex-direction:column;align-items:flex-start}.ss-stat-icon,.ss-report-icon{display:none}.ss-stat-value{font-size:1.7rem;margin-bottom:.1rem}.ss-stat-label{text-transform:none;letter-spacing:0;font-size:.85rem;font-weight:500}.ss-stat-meta{font-weight:600}.fsc-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:var(--teacher-bg);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:1rem 0;box-sizing:border-box}.fsc-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;padding:2rem 1.5rem;max-width:560px;width:100%;box-sizing:border-box;margin:auto 0;animation:fsc-fadeInUp .5s ease-out}@keyframes fsc-fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.fsc-content{animation:none}}.fsc-objective{margin-bottom:1.5rem;text-align:center}.fsc-eyebrow{color:var(--teacher-accent);font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .6rem}.fsc-heading{font-size:clamp(1.9rem,6.5vw,3.4rem);font-weight:700;color:var(--teacher-ink);text-align:center;margin:0;line-height:1.1;overflow-wrap:anywhere}.fsc-gloss{color:var(--teacher-ink-soft);font-size:1.2rem;line-height:1.45;margin:.85rem 0 0}.fsc-target-heading{font-family:var(--app-font-thai)}.fsc-card{width:100%;background:var(--teacher-surface-warm);border:1px solid var(--teacher-hairline);border-radius:16px;padding:1.15rem 1.35rem;display:flex;flex-direction:column;gap:.9rem;margin-bottom:2rem}.fsc-card-title{color:var(--teacher-accent);font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .25rem}.fsc-word-row{display:flex;align-items:baseline;gap:.65rem;flex-wrap:wrap}.fsc-check{color:var(--teacher-accent);font-size:1.05rem;font-weight:700;flex-shrink:0;line-height:1}.fsc-word-thai{font-size:1.15rem;font-weight:600;color:var(--teacher-ink);font-family:var(--app-font-thai)}.fsc-word-roman{font-size:.85rem;color:var(--teacher-ink-faint);font-style:italic}.fsc-word-eng{font-size:.95rem;color:var(--teacher-ink-soft)}.fsc-button{width:100%;padding:1rem;font-size:1.1rem;font-weight:600;border:none;border-radius:999px;background:var(--teacher-accent-strong);color:#fff8ef;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.fsc-button:hover{transform:scale(1.02);box-shadow:0 6px 20px #7b4a2638}.fsc-button:active{transform:scale(.98)}@media(prefers-reduced-motion:reduce){.fsc-button{transition:none}}.say-it-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center;padding:.5rem;background:#140c088c;box-sizing:border-box}@media(min-width:640px){.say-it-backdrop{align-items:center}}.say-it-backdrop .say-it-modal,[data-skin] .say-it-backdrop .say-it-modal{box-sizing:border-box;width:100%;max-width:560px;max-height:calc(100dvh - 1rem);margin:0;overflow-x:hidden;overflow-y:auto;border-radius:18px;border:1px solid rgba(160,92,50,.22);box-shadow:0 12px 40px #0000004d;background:linear-gradient(160deg,#fffdf9,#fbeede);color:var(--teacher-ink, #2c1b11)}.say-it-modal-content{padding:1rem .9rem 1.1rem;box-sizing:border-box}.say-it{display:flex;flex-direction:column;gap:.9rem;min-width:0;max-width:100%;color:var(--teacher-ink, #2c1b11)}.say-it-head{position:relative;display:flex;flex-direction:column;gap:.25rem;padding-inline-end:2.4rem}.say-it-eyebrow{margin:0;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--teacher-accent, #a05c32)}.say-it-sentence{margin:0;font-size:1.45rem;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.say-it-gloss{margin:0;font-size:.95rem;color:var(--teacher-ink-soft, #6b5340)}.say-it-close{position:absolute;top:0;inset-inline-end:0;width:2rem;height:2rem;border:0;border-radius:999px;background:#a05c321a;color:var(--teacher-ink, #2c1b11);font-size:1rem;cursor:pointer}.say-it-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.say-it-step{display:grid;grid-template-columns:1.4rem minmax(0,1fr) auto;align-items:center;column-gap:.5rem;width:100%;min-width:0;box-sizing:border-box;min-height:44px;padding:.45rem .7rem;border:1px solid var(--teacher-hairline, #e7d5bf);border-radius:12px;background:var(--teacher-surface-warm, #fffaf3);color:var(--teacher-ink, #2c1b11);font:inherit;text-align:start;cursor:pointer}.say-it-step.active{border-color:var(--teacher-accent, #a05c32);box-shadow:0 0 0 2px #a05c3226}.say-it-step.good .say-it-step-mark{color:#4f7a4c;font-weight:700}.say-it-step.almost .say-it-step-mark{color:#b0762a;font-weight:700}.say-it-step-mark{text-align:center;color:var(--teacher-ink-soft, #6b5340)}.say-it-step-body{display:flex;flex-direction:column;gap:.1rem;min-width:0}.say-it-step-text{font-size:1.1rem;font-weight:600;overflow-wrap:anywhere}.say-it-step-gloss{font-size:.82rem;color:var(--teacher-ink-soft, #6b5340);overflow-wrap:anywhere}.say-it-step-reading{font-size:.85rem;color:var(--teacher-ink-soft, #6b5340);white-space:nowrap;text-align:end}.say-it-note{margin:0;font-size:.85rem;color:var(--teacher-ink-soft, #6b5340)}.say-it-stage{display:flex;flex-direction:column;align-items:center;gap:.4rem;min-width:0;box-sizing:border-box;padding:1rem .75rem;border-radius:16px;background:var(--teacher-surface-warm, #fffaf3);border:1px solid var(--teacher-hairline, #e7d5bf);text-align:center}.say-it-target{margin:0;font-size:1.9rem;font-weight:700;line-height:1.3;overflow-wrap:anywhere;max-width:100%}.say-it-reading{margin:0;font-size:1.05rem;color:var(--teacher-ink-soft, #6b5340)}.say-it-part-gloss{margin:0;font-size:.95rem;color:var(--teacher-ink-soft, #6b5340)}.say-it .speech-button.say-it-speech,.say-it .speech-button.say-it-speech.speech-button--word{display:inline;background:none;border:0;border-bottom:0;padding:0;font:inherit;color:inherit;text-decoration:none;cursor:pointer}.say-it .speech-button.say-it-speech .speech-glyph{margin-inline-start:.3rem;font-size:.7em;color:var(--teacher-accent, #a05c32)}.say-it-actions{display:flex;gap:.6rem;margin-top:.6rem;width:100%}.say-it-btn{flex:1;min-height:48px;padding:.6rem .9rem;border-radius:999px;border:1px solid var(--teacher-accent, #a05c32);background:transparent;color:var(--teacher-accent, #a05c32);font:inherit;font-weight:600;cursor:pointer}.say-it-btn.listen.speaking{background:#a05c321f}.say-it-btn.speak{background:var(--teacher-accent, #a05c32);color:#fff}.say-it-btn.speak.recording{background:#b3261e;border-color:#b3261e;animation:say-it-pulse 1.2s ease-in-out infinite}.say-it-btn.next{background:#4f7a4c;border-color:#4f7a4c;color:#fff}.say-it-btn.ghost{border-color:var(--teacher-hairline, #e7d5bf);color:var(--teacher-ink, #2c1b11)}.say-it-btn:disabled{opacity:.55;cursor:default}@keyframes say-it-pulse{0%,to{box-shadow:0 0 #b3261e59}50%{box-shadow:0 0 0 8px #b3261e00}}@media(prefers-reduced-motion:reduce){.say-it-btn.speak.recording{animation:none}}.say-it-error{margin:.4rem 0 0;font-size:.9rem;color:#b3261e}.say-it-error-name{font-size:.75rem;opacity:.7}.say-it-result{display:flex;flex-direction:column;gap:.5rem;width:100%;margin-top:.6rem;padding-top:.6rem;border-top:1px solid var(--teacher-hairline, #e7d5bf);transition:opacity .2s ease}.say-it-result.stale{opacity:.45;pointer-events:none}.say-it-verdict{margin:0;font-size:1.05rem;font-weight:700}.say-it-result.good .say-it-verdict{color:#4f7a4c}.say-it-result.almost .say-it-verdict{color:#b0762a}.say-it-result.again .say-it-verdict{color:#b3261e}.say-it-result.nothing .say-it-verdict{color:var(--teacher-ink-soft, #6b5340)}.say-it-words{margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem}.say-it-word{padding:.2rem .55rem;border-radius:8px;border:0;font:inherit;font-size:1.15rem;cursor:pointer}.say-it-word.good{background:#4f7a4c24;color:#2f5a2c}.say-it-word.almost{background:#b0762a29;color:#7a4e14}.say-it-word.again{background:#b3261e1f;color:#8a1c15;text-decoration:underline dotted}.say-it-after{display:flex;gap:.5rem;flex-wrap:wrap}.pitch-compare{display:flex;flex-direction:column;gap:.3rem;width:100%;text-align:start}.pitch-compare-title{margin:0;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--teacher-ink-soft, #6b5340)}.pitch-compare-note{margin:0;font-size:.85rem;color:var(--teacher-ink-soft, #6b5340)}.pitch-compare-chart{display:block;width:100%;height:auto;border-radius:10px;background:#a05c320f}.pitch-compare-mid{stroke:var(--teacher-hairline, #e7d5bf);stroke-width:1}.pitch-compare-native{fill:none;stroke:#4f7a4c;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.pitch-compare-learner{fill:none;stroke:var(--teacher-accent, #a05c32);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round;opacity:.9}.pitch-compare-legend{display:flex;gap:.5rem}.pitch-compare-key{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border:1px solid var(--teacher-hairline, #e7d5bf);border-radius:999px;background:transparent;color:var(--teacher-ink, #2c1b11);font:inherit;font-size:.85rem;cursor:pointer}.pitch-compare-key i{width:14px;height:3px;border-radius:2px;background:#4f7a4c}.pitch-compare-key.learner i{background:var(--teacher-accent, #a05c32)}.teach-panel-say-it{display:inline-flex;align-items:center;gap:.35rem;margin-top:.5rem;min-height:40px;padding:.4rem .9rem;border:1px solid var(--teacher-accent, #a05c32);border-radius:999px;background:transparent;color:var(--teacher-accent, #a05c32);font:inherit;font-weight:600;cursor:pointer}.teach-panel-say-it:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--teacher-accent, #a05c32)}.pitch-compare-bands{position:relative;height:1.25rem;width:100%}.pitch-compare-bands span{position:absolute;top:0;height:100%;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:center;font-size:.74rem;line-height:1.25rem;border-inline-start:1px solid rgba(160,92,50,.25);box-sizing:border-box;padding:0 2px}.pitch-compare-bands.native span{color:#2f5a2c;border-color:#4f7a4c66}.pitch-compare-bands.learner span{color:var(--teacher-accent, #a05c32);border-color:#a05c3266}.pitch-sounds{margin-top:.5rem}.pitch-sounds>summary{cursor:pointer;min-height:44px;line-height:44px;font-size:.9rem;color:var(--teacher-ink, #2c1b11)}.pitch-compare-bands.sounds{height:1.5rem}.pitch-compare-bands.sounds span{font-size:.85rem;line-height:1.5rem}.pitch-compare-bands.learner.sounds span[data-bucket=error]{background:#b5392a24;color:#b5392a;font-weight:700}.pitch-compare-bands.learner.sounds span[data-bucket=needs-work]{background:#a8641c1f}.pitch-sound-rows{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.45rem}.pitch-sound-row{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem .75rem}.pitch-sound-word{font-size:1rem;color:var(--teacher-ink, #2c1b11);min-width:5.5rem}.pitch-sound-reading{font-size:.85rem;color:var(--teacher-ink-soft, #8a6b52)}.pitch-sound-chips{display:inline-flex;flex-wrap:wrap;gap:.35rem}.pitch-sound{display:inline-flex;align-items:baseline;gap:.3rem;min-height:40px;padding:.2rem .65rem;border-radius:999px;border:1px solid var(--teacher-hairline, #e7d5bf);background:transparent;font:inherit;font-size:.95rem;color:var(--teacher-ink, #2c1b11);cursor:pointer}.pitch-sound[data-bucket=error]{border-color:#b5392a;color:#b5392a;background:#b5392a14}.pitch-sound[data-bucket=needs-work]{border-color:#a8641c;color:#a8641c}.pitch-sound[data-bucket=correct]{color:#3f7d52}.pitch-sound[aria-pressed=true]{background:var(--teacher-ink, #20130f);color:var(--teacher-surface-warm, #f8f1e7)}.pitch-sound:disabled{opacity:.6;cursor:default}.pitch-sound:focus-visible{outline:2px solid var(--teacher-accent, #a05c32);outline-offset:1px}.pitch-sound-score{font-size:.8rem;font-variant-numeric:tabular-nums}.say-it-score{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.15rem .6rem;margin:.15rem 0 0;font-size:.9rem;color:var(--teacher-ink-soft, #8a6b52);font-variant-numeric:tabular-nums}.say-it-score strong{font-size:1.35rem;color:var(--teacher-ink, #2c1b11)}.say-it-score[data-band=good] strong{color:#3f7d52}.say-it-score[data-band=almost] strong{color:#a8641c}.say-it-score[data-band=again] strong{color:#b5392a}.say-it-score-move[data-move=up]{color:#3f7d52}.say-it-score-move[data-move=down]{color:#b5392a}.pitch-sound-weakest{margin:.5rem 0 0;font-size:.9rem}.say-it-target.unaided{font-size:1.35rem;font-weight:600;color:var(--teacher-ink, #2c1b11)}.say-it-unaided-toggle{appearance:none;border:0;background:none;padding:.25rem 0;font:inherit;font-size:.85rem;color:var(--teacher-accent, #a05c32);text-decoration:underline dotted;cursor:pointer}.say-it-retrieved{margin:0;font-size:.9rem;color:var(--teacher-ink-soft, #6b5340)}.say-it-retrieved.yes{color:#2f5a2c;font-weight:600}.speak-step{display:flex;flex-direction:column;align-items:center;gap:.45rem;min-width:0;width:100%;box-sizing:border-box;padding:1rem .85rem .9rem;border-radius:16px;background:var(--teacher-surface-warm, #fffaf3);border:1px solid var(--teacher-hairline, #e7d5bf);color:var(--teacher-ink, #2c1b11);text-align:center}.speak-step .say-it-target{margin:.2rem 0 0}.speak-step-prompt{font-size:1.5rem}.speak-step-hint{margin:0;font-size:.9rem;color:var(--teacher-ink-soft, #6b5340)}.speak-step-note{margin:0;font-size:.8rem;color:var(--teacher-ink-soft, #6b5340)}.speak-step .say-it-actions{margin-top:.4rem}.speak-step-skip{display:flex;flex-direction:column;align-items:center;gap:.35rem;width:100%;margin-top:.5rem;padding-top:.6rem;border-top:1px dashed var(--teacher-hairline, #e7d5bf)}.speak-step-not-now{min-height:44px;font-size:.95rem;color:var(--teacher-ink, #2c1b11)}.speak-step-mute{appearance:none;border:0;background:none;padding:.3rem 0;font:inherit;font-size:.85rem;color:var(--teacher-ink-soft, #6b5340);text-decoration:underline dotted;cursor:pointer}.speak-step-mute:disabled,.speak-step-not-now:disabled{opacity:.55;cursor:default}.speak-step-cues{list-style:none;display:flex;gap:.4rem;margin:0;padding:0}.speak-step-cues li{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .6rem;border-radius:999px;border:1px solid var(--teacher-hairline, #e7d5bf);font-size:.78rem;color:var(--teacher-ink-soft, #6b5340)}.speak-step-cues li:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--teacher-hairline, #e7d5bf)}.speak-step-cues li.current{border-color:var(--teacher-accent, #a05c32);color:var(--teacher-accent, #a05c32);font-weight:600}.speak-step-cues li.current:before{background:var(--teacher-accent, #a05c32)}.speak-step-cues li.done{color:#2f5a2c}.speak-step-cues li.done:before{background:#4f7a4c}.speak-step-jump{color:var(--teacher-accent, #a05c32)}.speak-step .say-it-after{flex-wrap:wrap}.speak-step .say-it-after .say-it-btn{flex:1 1 30%;min-width:0;padding-inline:.6rem}.speak-step .say-it-after .say-it-btn.next{flex:1 1 100%;order:-1}.say-it-link{display:inline-flex;align-items:center;gap:.35rem;min-height:44px;margin:0;padding:0;border:0;background:none;font:inherit;font-size:.95rem;color:var(--teacher-ink-soft, #8a6b52);text-decoration:underline;text-underline-offset:.18em;cursor:pointer}.say-it-link:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--teacher-accent, #a05c32);opacity:.7}.say-it-link:disabled{opacity:.55;cursor:default}.speak-step-focus-word{font-size:2.1rem}.speak-step .say-it-word{cursor:pointer;border:2px solid transparent}.speak-step .say-it-word.picked{border-color:var(--teacher-accent, #a05c32)}.say-it-part-only{margin:0;font-size:.85rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--teacher-accent, #a05c32)}.say-it-context{margin:.2rem 0 0;font-size:1rem;line-height:1.5;overflow-wrap:anywhere;color:var(--teacher-ink, #2c1b11)}.say-it-context-dim{opacity:.4}.say-it-context-part{background:#a05c3224;color:var(--teacher-ink, #2c1b11);border-radius:4px;padding:0 .15em;font-weight:700}.say-it-said-more{margin:0;padding:.4rem .7rem;border-radius:10px;background:#b0762a24;color:#7a4e14;font-size:.95rem;font-weight:600}.speak-step-weak{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;width:100%}.speak-step .speak-step-weak-btn{flex:0 1 auto;min-height:44px;padding:.5rem 1rem;border-color:#b3261e;color:#8a1c15;background:#b3261e0f}.speak-step .speak-step-weak-btn:before{content:"🎤";margin-inline-end:.4rem;font-size:.95em}.say-it-slow{flex:0 0 auto;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.05rem;min-width:52px;min-height:48px;padding:.2rem .4rem;border-radius:12px;border:1px solid var(--teacher-hairline, #e7d5bf);background:transparent;color:var(--teacher-ink-soft, #6b5340);font:inherit;font-size:1.1rem;line-height:1;cursor:pointer}.say-it-slow-label{font-size:.62rem;letter-spacing:.02em}.say-it-slow.on{border-color:var(--teacher-accent, #a05c32);background:#a05c321f;color:var(--teacher-accent, #a05c32)}.say-it-word.inserted{background:transparent;border:1px dashed rgba(107,83,64,.6);color:var(--teacher-ink-soft, #6b5340);text-decoration:line-through}.say-it-word.inserted:before{content:"+ ";text-decoration:none}.speak-step-recall-actions{width:100%;display:flex;flex-direction:column;gap:.35rem}.speak-step-help{width:100%;color:var(--teacher-ink-soft, #6b5340)}.speak-step-help>summary{display:list-item;width:fit-content;margin:0 auto;min-height:44px;box-sizing:border-box;padding:.65rem .5rem;font-size:.9rem;cursor:pointer}.speak-step-help>summary:focus-visible{outline:2px solid var(--teacher-accent, #a05c32);outline-offset:2px;border-radius:8px}.speak-step-help[open]{padding-bottom:.35rem}.speak-step-help .speak-step-note{margin:.25rem 0 .5rem}.speech-word-label{margin:.6rem 0 .4rem;font-size:.85rem;color:var(--teacher-ink-soft, #6b5340)}.speech-word-feedback .say-it-word{display:inline-flex;flex-direction:column;align-items:center;gap:.1rem;max-width:100%;overflow-wrap:anywhere}.speech-word-reading{font-size:.85rem;line-height:1.35;text-decoration:none}.speech-word-status{font-size:.7rem;line-height:1.3}.speech-word-extra{margin-top:.75rem;padding-top:.4rem;border-top:1px dashed rgba(107,83,64,.35)}.speech-word-feedback .recognition-extra{background:transparent;border:1px dashed rgba(107,83,64,.5);color:var(--teacher-ink-soft, #6b5340);cursor:default}.speech-word-full-reading{margin:.5rem 0;font-size:.95rem}.pitch-compare-bands,.pitch-sound-chips{direction:ltr}.recap-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:flex-start;justify-content:center;background:var(--teacher-bg, #fff8ec);color:var(--teacher-ink, #2c1b11);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:1rem 0 2rem;box-sizing:border-box}.recap-content{display:flex;flex-direction:column;align-items:stretch;gap:.75rem;padding:1.5rem 1.25rem 2rem;max-width:560px;width:100%;box-sizing:border-box}.recap-eyebrow{margin:0;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--teacher-accent, #a05c32)}.recap-heading{margin:0;font-size:1.6rem;font-weight:700;line-height:1.25;text-wrap:balance}.recap-hint{margin:0 0 .5rem;font-size:.95rem;line-height:1.45;color:var(--teacher-ink-soft, #6b5340)}.recap-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border:1px solid var(--teacher-hairline, #e7d5bf);border-radius:16px;background:var(--teacher-surface-warm, #fffaf3);overflow:hidden}.recap-row{padding:.85rem 1rem;border-top:1px solid var(--teacher-hairline, #e7d5bf)}.recap-row:first-child{border-top:0}.recap-term .term-word{font-size:1.3rem}.recap-term .term-rom,.recap-term .term-gloss{font-size:1rem}.recap-row .sentence-breakdown{margin-top:.5rem}.recap-tools{display:flex;align-items:center;flex-wrap:wrap;gap:0 1.25rem;margin-top:.25rem}.recap-tools .sentence-breakdown{margin-top:0}.recap-tools .sentence-breakdown-toggle,.recap-tools .say-it-link{min-height:44px}.recap-tools:has(.sentence-breakdown-body){display:block}.recap-tools:has(.sentence-breakdown-body) .say-it-link{margin-top:.25rem}.recap-preparing{margin:.75rem 0 0;font-size:.9rem;text-align:center;color:var(--teacher-ink-soft, #6b5340)}.recap-button{appearance:none;border:0;border-radius:999px;min-height:52px;padding:.85rem 1.5rem;font-size:1.1rem;font-weight:600;color:var(--teacher-bg, #fff8ec);background:var(--teacher-accent, #a05c32);cursor:pointer}.recap-button:focus-visible{outline:2px solid var(--teacher-ink, #2c1b11);outline-offset:2px}.recap-preparing.ready{color:#4f7a4c;font-weight:600}.examples-accordion-wrapper{margin-top:0}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;z-index:1000;display:flex;justify-content:center;align-items:center;padding:1rem}[data-skin=midnight-slate] .modal-backdrop{background:#3b2a1c80;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.modal-container{background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000004d;max-width:600px;width:100%;max-height:90vh;overflow-y:auto}[data-skin=midnight-slate] .modal-container{background:linear-gradient(160deg,#fffdf9,#fbeede);border:1px solid rgba(160,92,50,.22);box-shadow:0 16px 48px #3c2a1e59}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #e2e8f0}.modal-header h3{margin:0;color:#1a202c;font-size:1.125rem;font-weight:600;line-height:1.4;word-break:break-word;flex:1;padding-inline-end:1rem}.modal-close-btn{background:none;border:none;font-size:1.5rem;color:#718096;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s ease}.modal-close-btn:hover{background:#f7fafc;color:#2d3748}.modal-content{padding:1.5rem}.modal-speak-assess{margin-top:0}@media(max-width:768px){.modal-container{margin:.5rem;max-width:calc(100vw - 1rem)}.modal-header{padding:1rem}.modal-header h3{font-size:1rem;line-height:1.3}.modal-close-btn{font-size:1.25rem}}.memory-trick-section{margin-top:.5rem;padding-top:0;border-top:none}.scheduler-insights{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #2a3448;font-size:.85rem;color:#cbd5f5}.review-card-loading{width:min(100%,28rem)}.review-card-loading-stage,.review-card-loading-substage{margin:.35rem 0 0;font-size:.85rem;line-height:1.45;opacity:.8}.review-card-loading-substage{margin-top:.2rem;font-size:.8rem}.review-card-loading-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1.25rem}.review-card-loading-retry,.review-card-loading-exit{min-height:44px;min-width:min(11rem,100%);padding:.7rem 1.1rem;border-radius:999px;font:inherit;font-weight:700;cursor:pointer}.review-card-loading-retry{border:1px solid #a05c32;background:#a05c32;color:#fffdf9}.review-card-loading-exit{border:1px solid rgba(160,92,50,.4);background:#fffdf9;color:#674a3d}.review-card-loading-retry:hover,.review-card-loading-retry:focus-visible{background:#854726}.review-card-loading-exit:hover,.review-card-loading-exit:focus-visible{background:#f8eadb}.scheduler-insights-header{font-weight:600;margin-bottom:.35rem;color:#e2e8f0}.scheduler-insights-copy{margin:0 0 .5rem;color:#94a3b8}.scheduler-insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.35rem .75rem}.scheduler-insights-empty{color:#94a3b8}.help-remember-btn{background:linear-gradient(135deg,#9c27b0,#673ab7);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s ease;box-shadow:0 2px 8px #9c27b04d;margin:0 auto}.help-remember-btn:hover:not(:disabled){background:linear-gradient(135deg,#ab47bc,#7e57c2);transform:translateY(-1px);box-shadow:0 4px 12px #9c27b066}.help-remember-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.memory-trick-loading{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;color:#666;font-style:italic}.memory-trick-loading .loading-spinner{font-size:1.2rem;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.memory-trick-display{background:linear-gradient(135deg,#f3e5f5,#e1bee7);border:1px solid #ce93d8;border-radius:12px;padding:1rem;margin-top:.5rem}[data-skin=midnight-slate] .memory-trick-display{background:#8b5cf60f;border-color:#8b5cf633}.stuck-word-aid{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1.5px solid #f59e0b;border-radius:14px;padding:.9rem 1.1rem;margin:0 0 .85rem;box-shadow:0 4px 14px #f59e0b2e;text-align:start}.stuck-word-aid-title{font-size:.92rem;font-weight:700;color:#92400e;margin-bottom:.35rem}.stuck-word-aid-body{font-size:1rem;line-height:1.5;color:#1f2937}[data-skin=midnight-slate] .stuck-word-aid{background:#f59e0b1f;border-color:#f59e0b80;box-shadow:0 4px 14px #f59e0b1f}[data-skin=midnight-slate] .stuck-word-aid-title{color:#fbbf24}[data-skin=midnight-slate] .stuck-word-aid-body{color:#e5e7eb}.missed-guide{background:linear-gradient(135deg,#fff8ec,#fbe6cf);border:1.5px solid rgba(212,154,85,.55);border-radius:14px;padding:.9rem 1.1rem;margin:0 0 .85rem;box-shadow:0 4px 14px #995b2b29;text-align:start;display:flex;flex-direction:column;gap:.55rem}.missed-guide-title{font-size:.95rem;font-weight:700;color:#a05c32}.missed-guide-block{display:flex;flex-direction:column;gap:.1rem}.missed-guide-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#a05c32}.missed-guide-body{font-size:.95rem;line-height:1.5;color:#20130f}.missed-guide-gloss{color:#674a3d}.missed-guide-example{display:flex;flex-direction:column;gap:.2rem;overflow-wrap:anywhere}.missed-guide-reading{color:#674a3d}.missed-guide-footer{font-size:.85rem;line-height:1.45;color:#674a3d;font-style:italic}.missed-guide-dismiss{align-self:flex-start;margin-top:.2rem;padding:.5rem 1.25rem;border:none;border-radius:999px;background:linear-gradient(135deg,#2f211b,#8d5130);color:#fff8ef;font-size:.92rem;font-weight:800;cursor:pointer;box-shadow:0 4px 12px #7b4a2638}.missed-guide-dismiss:hover{transform:translateY(-1px)}.miss-guide-screen{display:flex;flex-direction:column;gap:.85rem}.miss-guide-screen .missed-guide{margin:0}.miss-guide-screen-meaning{margin:.4rem 0 0;font-size:1.05rem;font-weight:600;line-height:1.4;text-align:center;color:#20130f}[data-skin=midnight-slate] .study-active .miss-guide-screen-meaning{color:#20130f}[data-skin=midnight-slate] .study-active .missed-guide{background:linear-gradient(135deg,#fff8ec,#fbe6cf);border-color:#d49a558c;box-shadow:0 4px 14px #995b2b29}[data-skin=midnight-slate] .study-active .missed-guide-title,[data-skin=midnight-slate] .study-active .missed-guide-label{color:#a05c32}[data-skin=midnight-slate] .study-active .missed-guide-body{color:#20130f}[data-skin=midnight-slate] .study-active .missed-guide-gloss,[data-skin=midnight-slate] .study-active .missed-guide-footer{color:#674a3d}.explore-aid-failed{font-size:.85rem;line-height:1.45;color:#0e7490;background:#06b6d414;border-radius:10px;padding:.5rem .7rem;margin-bottom:.6rem;text-align:start}[data-skin=midnight-slate] .explore-aid-failed{color:#67e8f9}.memory-trick-header{font-size:.9rem;margin-bottom:.5rem;color:#4a148c}[data-skin=midnight-slate] .memory-trick-header{color:#a78bfa}.memory-trick-content{font-size:1rem;line-height:1.4;color:#333;background:#fff;padding:.75rem;border-radius:8px;border-inline-start:4px solid #9c27b0;margin-bottom:.75rem;font-family:Leelawadee UI,TH SarabunPSK,Tahoma,Noto Sans Thai,Noto Sans,Arial Unicode MS,sans-serif;text-rendering:optimizeLegibility;-webkit-font-feature-settings:"kern" 1,"liga" 1;font-feature-settings:"kern" 1,"liga" 1;unicode-bidi:normal;direction:ltr}.memory-trick-actions{display:flex;justify-content:center;gap:.5rem}.generate-another-btn{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.4rem;transition:all .3s ease;box-shadow:0 2px 6px #2196f34d}.generate-another-btn:hover:not(:disabled){background:linear-gradient(135deg,#42a5f5,#1e88e5);transform:translateY(-1px);box-shadow:0 3px 8px #2196f366}.generate-another-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.delete-memory-trick-btn{background:linear-gradient(135deg,#f44336,#d32f2f);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.4rem;transition:all .3s ease;box-shadow:0 2px 6px #f443364d}.delete-memory-trick-btn:hover:not(:disabled){background:linear-gradient(135deg,#ef5350,#c62828);transform:translateY(-1px);box-shadow:0 3px 8px #f4433666}.delete-memory-trick-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.edit-memory-trick-btn{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.4rem;transition:all .3s ease;box-shadow:0 2px 6px #f59e0b4d}.edit-memory-trick-btn:hover:not(:disabled){background:linear-gradient(135deg,#fbbf24,#f59e0b);transform:translateY(-1px);box-shadow:0 3px 8px #f59e0b66}.edit-memory-trick-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.editable-memory-trick{cursor:pointer;transition:all .2s ease;border-radius:6px;padding:.75rem}.editable-memory-trick:hover{background:#f59e0b0d;border:1px solid rgba(245,158,11,.2)}.memory-trick-editor{display:flex;flex-direction:column;gap:.75rem;background:#f8f9fa;padding:.75rem;border-radius:6px;border:2px solid #f59e0b}.memory-trick-input{width:100%;border:none;background:#fff;padding:.75rem;border-radius:4px;font-size:.9rem;color:#374151;outline:none;resize:vertical;min-height:80px;font-family:Leelawadee UI,TH SarabunPSK,Tahoma,Noto Sans Thai,Noto Sans,Arial Unicode MS,sans-serif;line-height:1.4;text-rendering:optimizeLegibility;-webkit-font-feature-settings:"kern" 1,"liga" 1;font-feature-settings:"kern" 1,"liga" 1;unicode-bidi:normal;direction:ltr}.memory-trick-input:focus{box-shadow:0 0 0 2px #f59e0b33}.memory-trick-editor-actions{display:flex;gap:.5rem;justify-content:flex-end}.save-memory-trick-btn,.cancel-memory-trick-btn{padding:.5rem 1rem;border:none;border-radius:4px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease}.save-memory-trick-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.save-memory-trick-btn:hover:not(:disabled){background:linear-gradient(135deg,#34d399,#10b981);transform:translateY(-1px)}.save-memory-trick-btn:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed;transform:none}.cancel-memory-trick-btn{background:linear-gradient(135deg,#f44336,#d32f2f);color:#fff}.cancel-memory-trick-btn:hover:not(:disabled){background:linear-gradient(135deg,#ef5350,#c62828);transform:translateY(-1px)}.cancel-memory-trick-btn:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed;transform:none}.memory-trick-error{background:linear-gradient(135deg,#ffebee,#ffcdd2);border:1px solid #ef9a9a;border-radius:8px;padding:1rem;margin-top:.5rem}.memory-trick-error .memory-trick-header{color:#c62828}.memory-trick-error .memory-trick-content{background:#fff;color:#d32f2f;border-inline-start-color:#f44336}.retry-memory-trick-btn{background:#f44336;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.8rem;cursor:pointer;margin-top:.5rem;transition:background-color .3s ease}.retry-memory-trick-btn:hover:not(:disabled){background:#d32f2f}.retry-memory-trick-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.memory-trick-section{margin-top:.75rem;padding-top:.75rem}.help-remember-btn{padding:.6rem 1.2rem;font-size:.85rem}.memory-trick-display,.memory-trick-error{padding:.75rem}.speak-assess-toggle-btn{padding:.4rem .8rem;font-size:.75rem}}.speak-assess-toggle-btn{background:linear-gradient(135deg,#9c27b0,#7b1fa2);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.4rem;transition:all .3s ease;box-shadow:0 2px 6px #9c27b04d;position:relative;overflow:visible}.speak-assess-toggle-btn:hover:not(:disabled){background:linear-gradient(135deg,#ab47bc,#8e24aa);transform:translateY(-1px);box-shadow:0 3px 8px #9c27b066}.speak-assess-toggle-btn.active{background:linear-gradient(135deg,#4caf50,#388e3c);box-shadow:0 2px 6px #4caf504d}.speak-assess-toggle-btn.active:hover:not(:disabled){background:linear-gradient(135deg,#66bb6a,#4caf50);box-shadow:0 3px 8px #4caf5066}.speak-assess-toggle-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.points-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .65rem;border-radius:999px;background:#6366f11a;color:#6366f1;font-weight:600;font-size:.75rem;border:1px solid rgba(99,102,241,.2)}[data-skin=midnight-slate] .points-chip{background:#6366f11f;color:#a5b4fc;border-color:#6366f140}.points-label{text-transform:uppercase;letter-spacing:.04em;font-size:.6rem}.points-value{font-size:.85rem;font-weight:700}.points-gain{background:#22c55e;color:#fff;padding:.1rem .4rem;border-radius:999px;font-size:.65rem;font-weight:700;animation:pointsPopIn .3s ease-out}[data-skin=midnight-slate] .points-gain{background:#22c55e;box-shadow:0 0 12px #22c55e4d}@keyframes pointsPopIn{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.multiple-choice-panel{margin-top:1rem;padding:.75rem;border-radius:16px;background:#a05c320d;border:1px solid rgba(160,92,50,.16);display:flex;flex-direction:column;gap:.6rem;width:100%;max-width:100%;align-self:stretch;animation:mcPanelIn .35s ease-out}@keyframes mcPanelIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.teacher-teaching-panel{width:min(92vw,460px);margin:.75rem auto .9rem;padding:.85rem .95rem;border:1px solid rgba(160,92,50,.18);border-radius:12px;background:#a05c320e;text-align:start}.teacher-teaching-panel-title{margin-bottom:.55rem;color:var(--teacher-accent, #a05c32);font-size:.76rem;font-weight:700;letter-spacing:0}.teacher-teaching-panel-grid{display:grid;gap:.55rem}.teacher-teaching-row{display:grid;grid-template-columns:minmax(5.5rem,.38fr) minmax(0,1fr);gap:.75rem;align-items:start}.teacher-teaching-label{color:var(--teacher-ink-faint, #8a6a52);font-size:.74rem;font-weight:650;line-height:1.45}.teacher-teaching-value{min-width:0;color:var(--teacher-ink, #2c1f16);font-size:.9rem;line-height:1.45;overflow-wrap:anywhere}.teacher-teaching-value small{display:block;margin-top:.18rem;color:var(--teacher-ink-soft, #5c4736);font-size:.8rem;line-height:1.4}.teacher-teaching-word-line{display:inline-flex;align-items:center;gap:.5rem;max-width:100%}.teacher-teaching-word .term-word{font-size:1.3rem;font-weight:650;line-height:1.3}.teacher-teaching-word .term-rom{font-size:.95rem;font-weight:600}.teacher-teaching-word-line .speech-button.teach-panel-speech{margin:0;flex:0 0 auto}.teacher-teaching-rom{letter-spacing:.01em}.teacher-teaching-components{display:flex;flex-direction:column;gap:.2rem;align-items:flex-start}.teacher-teaching-component .term-word{font-weight:650}.sentence-breakdown{display:block;margin-top:.28rem}.sentence-breakdown .sentence-breakdown-toggle{background:none;border:none;padding:.1rem 0;font:inherit;font-size:.78rem;color:var(--teacher-ink-soft, #8a6b52);text-decoration:underline;text-underline-offset:.18em;cursor:pointer}.sentence-breakdown-body{display:flex;flex-direction:column;gap:.22rem;margin-top:.34rem;align-items:flex-start;text-align:start;font-size:1rem;line-height:1.6}.sentence-breakdown-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem}.sentence-breakdown .sentence-breakdown-text{font-weight:650;color:var(--teacher-ink, #20130f)}.sentence-breakdown .sentence-breakdown-reading{letter-spacing:.01em;color:var(--teacher-ink, #20130f);font-size:1em;font-weight:500}.sentence-breakdown .sentence-breakdown-gloss{color:var(--teacher-ink-soft, #674a3d);font-size:1em}.sentence-breakdown .sentence-breakdown-loading{font-size:.82rem;color:var(--teacher-ink-faint, #927a68)}.sentence-breakdown .sentence-breakdown-failed{font-size:.82rem;color:var(--teacher-ink-soft, #674a3d)}[data-skin=midnight-slate] .teacher-teaching-panel{background:#a05c3214;border-color:#a05c3238}@media(max-width:480px){.teacher-teaching-panel{width:100%;padding:.78rem .82rem}.teacher-teaching-row{grid-template-columns:1fr;gap:.18rem}}[data-skin=midnight-slate] .multiple-choice-panel{background:#0f172a66;border-color:#6366f11a;border-radius:18px;padding:1rem;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.multiple-choice-header{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;font-weight:600;color:var(--app-muted, #6b7280)}[data-skin=midnight-slate] .multiple-choice-header{color:#94a3b8}.choice-required{background:#a05c321f;color:#a05c32;padding:.15rem .6rem;border-radius:999px;font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.multiple-choice-grid{display:grid;gap:.5rem;width:100%}.choice-option{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:1rem 1.15rem;min-height:3rem;border-radius:12px;border:1px solid var(--app-border);background:var(--app-surface);color:var(--app-text);text-align:start;cursor:pointer;transition:all .25s ease;width:100%;position:relative;overflow:hidden}[data-skin=midnight-slate] .choice-option{background:#1e293b8c;border:1.5px solid rgba(148,163,184,.1);border-radius:14px;color:#e2e8f0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 2px 8px #00000026}.choice-option:focus,.choice-option:focus-visible{outline:none;border-color:inherit;box-shadow:inherit}[data-skin=midnight-slate] .choice-option:focus,[data-skin=midnight-slate] .choice-option:focus-visible{outline:none;border-color:#94a3b81a;box-shadow:0 2px 8px #00000026}@media(hover:none){.choice-option:focus,.choice-option:focus-visible,.choice-option:focus-within{outline:none!important;border-color:inherit!important;box-shadow:none!important;transform:none!important}[data-skin=midnight-slate] .choice-option:focus,[data-skin=midnight-slate] .choice-option:focus-visible{border-color:#94a3b81a!important;box-shadow:0 2px 8px #00000026!important}}@media(hover:hover){.choice-option:hover:not(:disabled):not(.correct):not(.incorrect){border-color:#d49a55;box-shadow:0 0 16px #a05c3229;transform:translateY(-1px)}[data-skin=midnight-slate] .choice-option:hover:not(:disabled):not(.correct):not(.incorrect){background:#6366f11a;border-color:#818cf866;box-shadow:0 0 20px #6366f126,0 4px 12px #0003;transform:translateY(-2px)}}.choice-option.correct{border-color:#d49a55;background:#d49a5524;box-shadow:none;animation:correctPulse .4s ease-out}[data-skin=midnight-slate] .choice-option.correct{background:#d2a06e1f;border-color:#d2a06e8c;box-shadow:none;color:#ffe8d0}.choice-option.incorrect{border-color:#94806c66;background:#94806c14;box-shadow:none;opacity:.75}[data-skin=midnight-slate] .choice-option.incorrect{background:#ffffff08;border-color:#94a3b840;box-shadow:none;opacity:.65}@keyframes correctPulse{0%{transform:scale(1)}30%{transform:scale(1.015)}to{transform:scale(1)}}.choice-option.disabled{opacity:.5}.choice-option.eliminated{opacity:.3;filter:grayscale(.4);pointer-events:none}.hesitation-hint-chip{display:block;margin:0 auto 10px;padding:6px 16px;font-size:13px;font-family:inherit;color:var(--teacher-accent, #a05c32);background:#d49a551f;border:1px solid rgba(212,154,85,.35);border-radius:999px;cursor:pointer;visibility:hidden}.hesitation-hint-chip.is-offered{visibility:visible;animation:hintChipIn .6s ease-out both}.hesitation-hint-chip.is-offered:hover{background:#d49a5538}@keyframes hintChipIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.hesitation-hint-chip.is-offered{animation:none}}.multiple-choice-grid:has(.correct) .choice-option:not(.correct):not(.incorrect),.multiple-choice-grid:has(.incorrect) .choice-option:not(.correct):not(.incorrect){opacity:.4;filter:grayscale(.3);pointer-events:none}.choice-option.correct:after{content:"✓";position:absolute;inset-inline-end:.85rem;top:50%;transform:translateY(-50%);font-size:1.1rem;font-weight:700;color:#b97a3f}[data-skin=midnight-slate] .choice-option.correct:after{color:#e6b58a}.choice-option.incorrect:after{content:"✗";position:absolute;inset-inline-end:.85rem;top:50%;transform:translateY(-50%);font-size:1.1rem;font-weight:700;color:transparent}[data-skin=midnight-slate] .choice-option.incorrect:after{color:transparent}.choice-option.incorrect .choice-text{text-decoration:none;text-decoration-color:#ef444480}.choice-text{font-size:1.05rem;font-weight:600;line-height:1.25}.choice-text.thai{font-family:var(--app-font-thai, "Noto Sans Thai", sans-serif);font-weight:600;font-size:1.15rem}.choice-romanization{font-size:.95rem;color:var(--app-muted);font-weight:500;line-height:1.2;min-height:1.2em}@media(max-width:720px){.review-title-section{display:none}}.choice-meta{font-size:.7rem;color:var(--app-muted)}.multiple-choice-loading{font-size:.85rem;color:var(--app-muted);text-align:center;padding:1rem 0}.multiple-choice-loading-text,.multiple-choice-loading-stage{display:block}.multiple-choice-loading-stage{margin-top:.2rem;font-size:.8rem;opacity:.85}.choice-feedback{font-size:.9rem;font-weight:600;padding:.6rem .75rem;border-radius:10px;text-align:center;animation:feedbackSlideIn .3s ease-out}@keyframes feedbackSlideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.choice-feedback.correct{background:#d49a551f;color:#8a5a2b;border:1px solid rgba(212,154,85,.25)}[data-skin=midnight-slate] .choice-feedback.correct{background:#d2a06e1a;color:#ffe8d0;border:1px solid rgba(210,160,110,.22);border-radius:12px;box-shadow:none}.choice-feedback.incorrect{background:#94806c1a;color:#7d6a58;border:1px solid rgba(148,128,108,.25)}[data-skin=midnight-slate] .choice-feedback.incorrect{background:#ffffff0a;color:#cbb8a8;border:1px solid rgba(148,163,184,.18);border-radius:12px}.score-badge{position:absolute;top:-8px;right:-8px;background:#ff5722;color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;border:2px solid white;box-shadow:0 2px 4px #0003}.speak-assess-wrapper{margin-top:0;border:2px solid #9c27b0!important;background:linear-gradient(135deg,#f3e5f5,#e1bee7)!important}.pronunciation-section{margin-top:.5rem}.pronunciation-container{position:relative}.pronunciation-text{font-size:2.5rem;color:#666;font-style:italic;font-weight:500;text-align:center;background:#f8f9fa;padding:.5rem 1rem;border-radius:16px;border:1px solid #e0e0e0;position:relative;letter-spacing:.3px;line-height:1.1;box-shadow:0 2px 4px #0000000d;transition:all .2s ease;display:inline-block;width:fit-content;margin:0;opacity:.8;vertical-align:baseline}.editable-pronunciation{cursor:pointer;transition:all .2s ease}.editable-pronunciation:hover{background:#f0f0f0;border-color:#ccc;box-shadow:0 2px 8px #0000001a;opacity:1}.add-pronunciation-btn{font-size:2.5rem;color:#999;text-align:center;background:#f8f9fa;padding:.5rem 1rem;border-radius:16px;border:1px dashed #ccc;cursor:pointer;transition:all .2s ease;font-weight:500;line-height:1.1;display:inline-block;width:fit-content;margin:0;box-shadow:0 2px 4px #0000000d;opacity:.7;font-style:italic;vertical-align:baseline}.add-pronunciation-btn:hover{background:#f0f0f0;border-color:#999;color:#666;box-shadow:0 2px 8px #0000001a;opacity:1}.pronunciation-editor{display:flex;align-items:center;gap:.5rem;background:#f8f9fa;padding:.5rem;border-radius:6px;border:2px solid var(--teacher-accent)}.pronunciation-input{flex:1;border:none;background:#fff;padding:.4rem .6rem;border-radius:4px;font-size:.9rem;font-style:italic;color:#666;outline:none}.pronunciation-input:focus{box-shadow:0 0 0 2px #a05c3233}.pronunciation-editor-actions{display:flex;gap:.25rem}.save-romanization-btn,.cancel-romanization-btn{background:none;border:none;padding:.25rem;cursor:pointer;font-size:.9rem;border-radius:3px;transition:background-color .2s ease}.save-romanization-btn:hover{background:#22c55e1a}.cancel-romanization-btn:hover{background:#ef44441a}.card-text-with-pronunciation{align-items:baseline!important;display:flex!important}.card-text-with-pronunciation .pronunciation-text,.card-text-with-pronunciation .card-text{align-self:baseline!important;margin-top:0!important;margin-bottom:0!important}@media(max-width:768px){.pronunciation-editor{flex-direction:column;align-items:stretch;gap:.75rem}.pronunciation-editor-actions{justify-content:center}.card-text-with-pronunciation{align-items:baseline!important}}@media(max-width:600px){.memory-trick-content{padding:.6rem;font-size:.9rem;margin-bottom:.6rem}.generate-another-btn,.delete-memory-trick-btn{padding:.45rem .8rem;font-size:.75rem}}.direction-indicator{display:flex;justify-content:center;align-items:center;margin-bottom:1rem;padding:.75rem 1rem;background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-radius:12px;border:1px solid #2196f3;box-shadow:0 2px 8px #2196f31a}.header-direction-progress{display:flex;gap:.375rem;align-items:center;white-space:nowrap;flex-shrink:1}.progress-badge.compact{padding:.25rem .75rem;font-size:.875rem;font-weight:600;border-radius:20px;gap:.3rem;min-height:auto;white-space:nowrap;flex-shrink:0;border:none;box-shadow:none}.progress-badge.compact .badge-attempts{font-size:.65rem;padding:.05rem .2rem;min-width:.8rem}.direction-chip{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600;box-shadow:0 2px 4px #2196f34d;display:flex;align-items:center;gap:.5rem}.direction-progress{display:flex;gap:.75rem}.progress-badge{padding:.4rem .8rem;border-radius:16px;font-size:.8rem;font-weight:600;transition:all .2s ease;border:2px solid transparent;display:flex;align-items:center;gap:.4rem;white-space:nowrap;flex-shrink:0}.badge-direction{font-weight:600}.badge-status{font-size:.9rem}.badge-attempts{background:#00000026;color:currentColor;padding:.1rem .3rem;border-radius:8px;font-size:.7rem;font-weight:700;min-width:1.2rem;text-align:center}.progress-badge.compact.completed-first-attempt{background:#dcfce7;color:#15803d}[data-skin=midnight-slate] .progress-badge.compact.completed-first-attempt{background:#22c55e26;color:#4ade80}.progress-badge.compact.completed-multiple-attempts{background:#fed7aa;color:#c2410c}[data-skin=midnight-slate] .progress-badge.compact.completed-multiple-attempts{background:#fb923c26;color:#fb923c}.progress-badge.compact.pending{background:#f3f4f6;color:#6b7280}[data-skin=midnight-slate] .progress-badge.compact.pending{background:#ffffff0d;color:#64748b}.progress-badge.completed{background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff;border-color:#4caf50;box-shadow:0 2px 4px #4caf504d}.progress-badge.compact.active{opacity:1;font-weight:600;transform:none}.progress-badge.compact.pending.active{background:#dbeafe;color:#1e40af;font-weight:600}.english-section{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%}.english-section.sentence{align-items:stretch}.english-word{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border:2px solid #ff9800;padding:1.5rem 2rem;border-radius:16px;box-shadow:0 4px 12px #ff980033;transition:all .3s ease}.english-word.sentence{padding:.9rem 1.1rem;border-radius:12px;box-shadow:0 2px 8px #ff980033;width:100%;box-sizing:border-box}.english-word-text{font-size:2.5rem;font-weight:600;color:#e65100;text-align:center;font-family:Georgia,Times New Roman,serif;letter-spacing:.5px}.english-word.sentence .english-word-text{font-size:1.6rem;line-height:1.5;color:#1f2937;text-align:left;letter-spacing:0}.thai-answer{background:linear-gradient(135deg,#e8f5e8,#c8e6c9);border:2px solid #4caf50;padding:1.5rem 2rem;border-radius:16px;box-shadow:0 4px 12px #4caf5033;text-align:center}.answer-pronunciation{font-size:1.2rem;color:#666;font-style:italic;margin-top:.5rem;opacity:.8}[data-skin=midnight-slate] .english-word,[data-skin=midnight-slate] .english-word.sentence{background:#ffffff0a;border-color:#fb923c33;box-shadow:0 4px 20px #fb923c14;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}[data-skin=midnight-slate] .english-word:hover{border-color:#fb923c59;box-shadow:0 4px 24px #fb923c1f}[data-skin=midnight-slate] .english-word-text,[data-skin=midnight-slate] .english-word.sentence .english-word-text{color:#f1f5f9;font-family:var(--app-font-heading, "Noto Sans", system-ui, sans-serif)}[data-skin=midnight-slate] .tone-details{background:var(--app-surface-alt);border:1px solid var(--app-border);color:var(--app-text)}[data-skin=midnight-slate] .tone-details summary{color:var(--app-text)}[data-skin=midnight-slate] .tone-visual{background:#ffffff9e;border-color:#69483029;color:#3c2a1e}[data-skin=midnight-slate] .tone-label,[data-skin=midnight-slate] .tone-hint{color:#674a3d}[data-skin=midnight-slate] .examples-accordion,[data-skin=midnight-slate] .examples-container{background:#ffffff9e;border-color:#69483029}[data-skin=midnight-slate] .example-item{background:#ffffffa8;border-color:#6948302e;color:#3c2a1e}[data-skin=midnight-slate] .example-pronunciation,[data-skin=midnight-slate] .example-english,[data-skin=midnight-slate] .example-literal,[data-skin=midnight-slate] .translation-label{color:#674a3d}[data-skin=midnight-slate] .modal-container.practice-modal{background:linear-gradient(160deg,#fffdf9,#fbeede);border-color:#a05c3238;color:#3c2a1e}[data-skin=midnight-slate] .modal-header{background:transparent;border-bottom-color:#a05c322e}[data-skin=midnight-slate] .modal-header h3{color:#3c2a1e}[data-skin=midnight-slate] .modal-content{background:transparent;color:#3c2a1e}[data-skin=midnight-slate] .modal-close-btn{color:#6d5847;border-color:#a05c3240;background:#fff9}[data-skin=midnight-slate] .modal-close-btn:hover{color:#3c2a1e}[data-skin=midnight-slate] .memory-trick-display,[data-skin=midnight-slate] .memory-trick-editor,[data-skin=midnight-slate] .memory-trick-error{background:#ffffff9e;border-color:#69483029;color:#3c2a1e}[data-skin=midnight-slate] .memory-trick-content{color:var(--app-text)}[data-skin=midnight-slate] .memory-trick-input{background:var(--app-surface);border-color:var(--app-border);color:var(--app-text)}[data-skin=midnight-slate] .memory-trick-input::placeholder{color:var(--app-muted)}@media(max-width:768px){.direction-indicator{flex-direction:column;gap:.75rem;padding:.5rem .75rem}.direction-chip{font-size:.8rem;padding:.4rem .8rem}.progress-badge{font-size:.7rem;padding:.3rem .6rem;gap:.25rem}.badge-attempts{font-size:.65rem;padding:.05rem .25rem;min-width:1rem}.header-direction-progress{gap:.4rem;margin-inline-start:.5rem}.progress-badge.compact{font-size:.6rem;padding:.2rem .4rem;gap:.2rem}.progress-badge.compact .badge-attempts{font-size:.55rem;padding:.02rem .15rem;min-width:.7rem}.english-word-text{font-size:2rem}.english-word,.thai-answer{padding:1rem 1.5rem}}@media(max-width:768px){.card-main-line:has(+.multiple-choice-panel),.multiple-choice-panel~.card-main-line,.card-content:has(.multiple-choice-panel) .card-main-line{overflow:visible;flex-wrap:wrap;min-height:auto;margin-bottom:.35rem}.card-content:has(.multiple-choice-panel) .card-text{font-size:clamp(1rem,5vw,1.8rem)!important;max-width:100%;word-break:break-word;overflow-wrap:break-word;white-space:normal}.card-content:has(.multiple-choice-panel) .card-text.sentence{font-size:clamp(.85rem,4vw,1.3rem)!important}.multiple-choice-header{flex-wrap:wrap;gap:.25rem}}@media(max-height:750px)and (max-width:768px){.card-content:has(.multiple-choice-panel) .card-text{font-size:clamp(.9rem,4.5vw,1.5rem)!important;padding:.35rem .75rem}.card-content:has(.multiple-choice-panel) .card-main-line{margin-bottom:.25rem}.multiple-choice-panel{margin-top:.35rem;padding:.5rem;gap:.4rem}.multiple-choice-grid{gap:.35rem}.choice-option{padding:.75rem .85rem;min-height:2.75rem}.choice-romanization{font-size:.875rem}}@media(max-height:600px)and (max-width:768px){.multiple-choice-panel{margin-top:.25rem;padding:.35rem;gap:.25rem}.multiple-choice-grid{gap:.25rem}.choice-option{padding:.6rem .75rem;min-height:2.5rem;font-size:.85rem}}.answered-card-tools:empty{display:none}@media(max-width:600px){.review-card--answered .answered-card-tools{display:flex;align-items:center;flex-wrap:wrap;gap:0 1.25rem}.review-card--answered .answered-card-tools .sentence-breakdown{margin-top:0}.review-card--answered .answered-card-tools .sentence-breakdown-toggle{min-height:44px}.review-card--answered .answered-card-tools:has(.sentence-breakdown-body){display:block}.study-active .review-card--answered .card-main-line{padding:.65rem .9rem;margin-bottom:.3rem;gap:.25rem}.study-active .review-card--answered .revealed-card-answer{margin-top:.4rem!important;padding-top:.4rem!important}.study-active .review-card--answered .card-text.english-word{line-height:1.3}.study-active .review-card--answered .revealed-card-answer .card-text{padding-block:.2rem!important}.study-active .review-card--answered .pronunciation-text-inline{padding-block:.1rem!important}.study-active .review-card--answered .learning-progress-strip{margin-top:.3rem}.study-active .review-card--answered .grade-actions>button{min-height:52px;padding:.6rem .65rem;font-size:1rem;line-height:1.35}.study-active .review-card--answered .grade-footer{margin-top:.25rem;gap:.35rem}.study-active .review-card--answered .word-image-panel{display:grid;grid-template-rows:minmax(0,1fr) auto auto;height:clamp(160px,30svh,240px);width:min(100%,360px)!important;margin-bottom:.25rem!important}.study-active .review-card--answered .word-image-frame{height:100%;width:auto!important;max-width:100%;justify-self:center;box-sizing:border-box}.study-active .review-card--answered .word-image-frame img{object-fit:contain!important}.study-active .review-card--answered .word-image-memory-note-slot:not(:has(details)){display:none}.study-active .review-card--answered .word-image-panel:has(details[open]){height:auto}.study-active .review-card--answered .word-image-panel:has(details[open]) .word-image-frame{height:auto;width:100%!important}}@media(max-width:600px)and (max-height:650px){.study-active .review-card--answered .word-image-panel{height:max(160px,26svh)}}.missed-guide-fold>summary,.memory-trick-fold>summary,details.stuck-word-aid>summary{cursor:pointer;display:list-item;min-height:44px;line-height:44px;list-style:disclosure-closed}.missed-guide-fold[open]>summary,.memory-trick-fold[open]>summary,details.stuck-word-aid[open]>summary{list-style:disclosure-open}.missed-guide-fold>summary::-webkit-details-marker{display:none}.missed-guide-fold>summary::marker,.memory-trick-fold>summary::marker,details.stuck-word-aid>summary::marker{color:var(--teacher-accent, #a05c32)}.eg-modal-backdrop{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000}.eg-modal{width:min(920px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:12px;padding:16px;border:1px solid #e5e7eb}.eg-modal-header{display:flex;justify-content:space-between;align-items:center}.eg-close{background:none;border:none;font-size:18px;cursor:pointer}.eg-modal-actions{display:flex;gap:8px;margin-top:10px}.eg-primary{background:#111827;color:#fff;border:none;border-radius:8px;padding:8px 14px;font-weight:700}.eg-secondary{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;padding:8px 14px}[data-skin=midnight-slate] .eg-modal{background:var(--app-surface);border-color:var(--app-border);color:var(--app-text)}[data-skin=midnight-slate] .eg-modal-header h3{color:var(--app-text)}[data-skin=midnight-slate] .eg-close{color:var(--app-muted)}[data-skin=midnight-slate] .eg-primary{background:#2563eb}[data-skin=midnight-slate] .eg-secondary{background:var(--app-surface-alt);border-color:var(--app-border);color:var(--app-text)}.example-generator{border:1px solid #e5e7eb;border-radius:12px;padding:16px;background:#fff}.eg-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.eg-controls{display:flex;align-items:center;gap:12px}.eg-target b{color:#7c3aed}.eg-actions{display:flex;align-items:center;gap:12px;margin:10px 0}.eg-btn{border:none;border-radius:8px;padding:8px 14px;font-weight:600;cursor:pointer}.eg-btn.start{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.eg-btn.stop{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.eg-btn.run{background:#111827;color:#fff}.eg-btn.play{background:#0f172a;color:#fff}.eg-busy{color:#7c3aed;font-weight:600}.eg-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;padding:8px 10px;border-radius:8px;margin-top:8px}.eg-typing{display:flex;gap:8px;align-items:flex-start;margin:8px 0 4px}.eg-typing textarea{flex:1;min-height:70px;padding:8px;border-radius:8px;border:1px solid #e5e7eb}.eg-output{margin-top:10px}.eg-meta{color:#6b7280;margin-bottom:6px}.eg-block{margin:10px 0}.eg-label{font-size:.9rem;font-weight:700;color:#374151;margin-bottom:4px}.eg-thai{font-size:1.2rem;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.eg-thai.original{color:#ef4444}.inline-speech{transform:translateY(1px)}.eg-roman,.eg-lit,.eg-nat{background:#f9fafb;padding:8px;border-radius:8px}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:0}.modal-content{background:#fff;border-radius:12px;max-width:480px;width:100%;max-height:100vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0000004d;animation:modalSlideIn .2s ease-out;overflow:hidden}@keyframes modalSlideIn{0%{transform:translateY(-30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem .3rem;border-bottom:1px solid #e9ecef}.mode-tabs{display:flex;background:#f8f9fa;border-bottom:1px solid #e9ecef}.mode-tab{flex:1;padding:.75rem 1rem;border:none;background:transparent;color:#6b7280;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;border-bottom:3px solid transparent}.mode-tab:hover{background:#3b82f61a;color:#3b82f6}.mode-tab.active{background:#fff;color:#3b82f6;border-bottom:3px solid #3b82f6;font-weight:600}.mode-tab:disabled{opacity:.6;cursor:not-allowed;flex-shrink:0}.modal-header h3{margin:0;padding:0;color:#333;font-size:1rem}.close-btn{background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation}.close-btn:hover{background:#f8f9fa;color:#333}.modal-body{padding:1rem;overflow-y:hidden;flex:1;min-height:0;display:flex;flex-direction:column}.word-display{text-align:center;padding:.5rem .8rem;background:var(--teacher-accent-strong);border-radius:8px;margin-bottom:.5rem}.thai-word-with-speaker{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-bottom:.2rem}.thai-word{font-size:1.6rem;color:#fff;margin-bottom:0;font-weight:700}.modal-speech-button{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;width:36px;height:36px;margin-left:0}.modal-speech-button:hover:not(:disabled){background:#ffffff4d;border-color:#fff6;color:#fff}.modal-speech-button.speaking{background:#10b9814d;border-color:#10b98180;color:#10f2cc}.pronunciation{font-size:1.1rem;color:#ffffffe6;font-style:italic}.question-section{margin-bottom:.8rem}.question-section h4{color:#333;margin:0 0 .5rem;font-size:1.1rem}.instruction{color:#666;line-height:1.5;margin:0;font-size:.95rem}.input-section{margin-bottom:1rem}.input-section label{display:block;margin-bottom:.5rem;color:#333;font-size:1rem}.sound-input{width:100%;max-width:400px;padding:.8rem;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;transition:border-color .2s ease;-webkit-appearance:none;appearance:none;background:#fff;margin:0 auto;display:block}.sound-input:focus{outline:none;border-color:var(--teacher-accent);box-shadow:0 0 0 3px #a05c321a}@media(max-width:600px){.sound-input:focus{border-color:var(--teacher-accent);box-shadow:0 0 0 2px #a05c3226;transform:none}}.sound-input:disabled{background:#f8f9fa;color:#666}.manual-input{width:100%;max-width:400px;padding:.8rem;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;transition:border-color .2s ease;-webkit-appearance:none;appearance:none;background:#fff;margin:0 auto;display:block;resize:vertical;min-height:120px;line-height:1.5;font-family:inherit}.manual-input:focus{outline:none;border-color:var(--teacher-accent);box-shadow:0 0 0 3px #a05c321a}.manual-input:disabled{background:#f8f9fa;color:#666}.input-help{font-size:.85rem;color:#666;margin-top:.5rem;line-height:1.4}.modal-actions{display:flex;flex-direction:column;gap:.8rem;margin-bottom:1rem}.action-btn{padding:1rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation;min-height:48px}.action-btn:disabled{opacity:.6;cursor:not-allowed}.action-btn.primary{background:var(--teacher-accent-strong);color:#fff}.action-btn.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #a05c324d}.action-btn.secondary{background:#fff;color:var(--teacher-accent);border:2px solid var(--teacher-accent)}.action-btn.secondary:hover:not(:disabled){background:var(--teacher-accent);color:#fff}.action-btn.tertiary{background:#f8f9fa;color:#666;border:1px solid #e9ecef}.action-btn.tertiary:hover:not(:disabled){background:#e9ecef;color:#333}.examples-section{background:#f8f9fa;padding:.25rem .4rem;border-radius:6px;border:1px solid #e9ecef}.examples-inline{display:flex;align-items:center;gap:.5rem;font-size:.8rem;line-height:1.3}.examples-label{font-weight:600;color:#666;flex-shrink:0}.examples-text{color:#555}.examples-text strong{color:#333;font-weight:600}.examples-text em{color:var(--teacher-accent);font-style:normal;font-weight:500}[data-skin=midnight-slate] .modal-content{background:var(--app-surface);border-color:var(--app-border);color:var(--app-text);box-shadow:0 20px 60px #00000073}[data-skin=midnight-slate] .modal-header{background:var(--app-surface);border-bottom-color:var(--app-border)}[data-skin=midnight-slate] .modal-header h3{color:var(--app-text)}[data-skin=midnight-slate] .close-btn{color:var(--app-muted);background:var(--app-surface-alt);border-color:var(--app-border)}[data-skin=midnight-slate] .close-btn:hover{color:var(--app-text)}[data-skin=midnight-slate] .mode-tabs{background:var(--app-surface-alt);border-color:var(--app-border)}[data-skin=midnight-slate] .mode-tab{color:var(--app-muted);border-color:var(--app-border)}[data-skin=midnight-slate] .mode-tab.active{background:var(--app-surface);color:var(--app-text);box-shadow:none}[data-skin=midnight-slate] .word-display{background:var(--app-surface-alt);border-color:var(--app-border)}[data-skin=midnight-slate] .pronunciation,[data-skin=midnight-slate] .instruction,[data-skin=midnight-slate] .input-help{color:var(--app-muted)}[data-skin=midnight-slate] .sound-input,[data-skin=midnight-slate] .manual-input{background:var(--app-surface);border-color:var(--app-border);color:var(--app-text)}[data-skin=midnight-slate] .sound-input::placeholder,[data-skin=midnight-slate] .manual-input::placeholder{color:var(--app-muted)}[data-skin=midnight-slate] .examples-section{background:var(--app-surface);border-color:var(--app-border)}[data-skin=midnight-slate] .examples-label,[data-skin=midnight-slate] .examples-text{color:var(--app-muted)}[data-skin=midnight-slate] .examples-text strong{color:var(--app-text)}[data-skin=midnight-slate] .examples-text em{color:var(--app-accent)}[data-skin=midnight-slate] .action-btn.secondary{background:transparent;color:var(--app-text);border-color:var(--app-border)}[data-skin=midnight-slate] .action-btn.tertiary{background:var(--app-surface-alt);color:var(--app-muted);border-color:var(--app-border)}@media(max-width:600px){.modal-overlay{padding:0;align-items:stretch;justify-content:stretch}.modal-content{margin:0;max-height:100vh;height:100vh;border-radius:0;max-width:none}.modal-header{padding:1rem;border-radius:0}.modal-header h3{font-size:1.1rem}.modal-body{padding:1rem;flex:1;overflow-y:auto}.word-display{padding:1rem;margin-bottom:1rem;border-radius:12px}.thai-word-with-speaker{gap:.8rem;margin-bottom:.3rem}.thai-word{font-size:1.8rem}.pronunciation{font-size:1.1rem}.question-section h4{font-size:1.2rem;margin-bottom:.5rem}.instruction{font-size:1rem;line-height:1.4}.question-section,.input-section{margin-bottom:1rem}.input-section label{font-size:1rem;margin-bottom:.5rem}.sound-input{padding:1rem;font-size:1.1rem;border-radius:12px;max-width:none}.input-help{font-size:.9rem;margin-top:.5rem}.modal-actions{gap:1rem;margin-bottom:1rem}.action-btn{padding:1.2rem 2rem;font-size:1.1rem;border-radius:12px;min-height:56px;gap:.6rem}.examples-section{padding:1rem;border-radius:12px}.examples-inline{font-size:.9rem;gap:.5rem}.examples-text{line-height:1.3}.modal-speech-button{width:40px;height:40px}.close-btn{width:36px;height:36px;font-size:1.4rem}}.memory-aid{display:flex;flex-direction:column;gap:6px}.memory-aid-label{margin:0;font-size:.82rem;font-weight:600;letter-spacing:.02em;color:var(--teacher-ink-soft, #674a3d)}.memory-aid-picture{width:100%;max-height:200px;object-fit:cover;border-radius:12px;display:block}.memory-aid-text{margin:0;line-height:1.55;color:var(--teacher-ink, #20130f)}.memory-aid-anchor{font-weight:700;color:var(--teacher-accent, #a05c32)}.memory-aid-anchors{margin:0;font-size:.8rem;color:var(--teacher-ink-soft, #6b5340);display:flex;flex-wrap:wrap;gap:4px 14px}.memory-aid-anchor-sound{font-family:inherit;letter-spacing:.01em}.memory-aid-anchor-meaning{opacity:.8}.memory-aid-usage{margin:0;font-size:.85rem;color:var(--teacher-ink-soft, #6b5340);line-height:1.5}.memory-aid-pending{margin:10px 0 0;font-size:.9rem;color:var(--teacher-ink-soft, #674a3d)}.memory-aid-controls{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:2px}.memory-aid-pager{display:flex;align-items:center;justify-content:center;gap:.35rem}.memory-aid-page-btn{appearance:none;background:none;border:0;padding:0;width:32px;height:32px;line-height:1;font-size:1.15rem;color:var(--teacher-accent, #a05c32);cursor:pointer;border-radius:999px}.memory-aid-page-btn:disabled{opacity:.28;cursor:default}.memory-aid-page-btn:focus-visible{outline:2px solid var(--teacher-accent, #a05c32);outline-offset:2px}.memory-aid-dots{display:flex;gap:6px}.memory-aid-dot{width:6px;height:6px;border-radius:999px;background:var(--teacher-tile-border, #d9bd9c)}.memory-aid-dot--current{background:var(--teacher-accent, #a05c32)}.memory-aid-another{appearance:none;background:none;border:0;padding:6px 10px;font:inherit;font-size:.9rem;font-weight:600;color:var(--teacher-accent, #a05c32);text-decoration:underline dotted rgba(160,92,50,.55);text-underline-offset:.18em;cursor:pointer;border-radius:999px}.memory-aid-another:disabled{opacity:.6;cursor:default;text-decoration:none}.memory-aid-another:focus-visible{outline:2px solid var(--teacher-accent, #a05c32);outline-offset:2px}.teacher-instruction-note{box-sizing:border-box;width:100%;--teacher-note-text-color: var(--teacher-ink, #20130f);--teacher-note-text-size: 1rem;--teacher-note-line-height: 1.65}.teacher-instruction-note .teacher-note-phrase{font-size:1.1rem;font-weight:600;margin-bottom:.65rem}.teacher-memory-aid-switch{align-self:center;min-height:44px;max-width:100%;padding:8px 12px;border:1px solid var(--teacher-accent, #a05c32);border-radius:12px;background:transparent;color:var(--teacher-accent, #a05c32);font:inherit;font-weight:600;cursor:pointer}.teacher-memory-aid-switch:focus-visible{outline:2px solid var(--teacher-accent, #a05c32);outline-offset:3px}.review-card.teacher-reveal-surface{width:100%;max-width:560px;margin:1rem auto 0}.teacher-reveal-note{padding:1.5rem 1.25rem;gap:1rem;text-align:center}.teacher-reveal-label{margin:0;color:#674a3d;font-size:.85rem;font-weight:600}.teacher-reveal-note .teacher-note-phrase{width:100%;align-items:center;gap:.75rem;margin:0}.teacher-reveal-note .term-word-line{max-width:100%;flex-wrap:wrap;justify-content:center;font-size:clamp(1.55rem,6vw,2rem);line-height:1.5;overflow-wrap:anywhere}.teacher-reveal-note .term-rom{max-width:100%;font-size:1.1rem;overflow-wrap:anywhere}.teacher-reveal-note .term-gloss{align-self:stretch;border-top:1px solid rgba(160,92,50,.2);padding-top:1rem;margin-top:.25rem;font-size:1.25rem}.teacher-reveal-note .speech-button.term-speech:not(.speech-button--word){width:44px;height:44px;color:#794323}.teacher-reveal-note .speech-button .speaker-icon{color:inherit}.teacher-reveal-surface .word-image-panel,.teacher-explanation-surface .word-image-panel{max-width:100%}.teacher-reveal-note .sentence-breakdown{width:100%}.teacher-reveal-note .sentence-breakdown-toggle{min-height:44px;font-size:1rem}.teacher-reveal-note .sentence-breakdown-body{gap:.75rem}.teacher-reveal-note .sentence-breakdown-row{align-items:center}.teacher-reveal-note .sentence-breakdown .speech-button:not(.speech-button--word){width:44px;height:44px;color:#794323}.learning-progress-strip{display:flex;align-items:center;justify-content:center;margin:.55rem auto 0;padding:.15rem 0}.lps-dot{width:11px;height:11px;border-radius:50%;box-sizing:border-box;background:transparent;border:2px solid #94a3b8;flex:0 0 auto;transition:background-color .45s ease,border-color .45s ease,box-shadow .45s ease,transform .45s ease}.lps-connector{width:22px;height:3px;background:#94a3b8;flex:0 0 auto;transition:background-color .45s ease}.lps-dot.lit{border-color:transparent;transform:scale(1.08)}.lps-dot[data-step="1"].lit{background:#ef4444}.lps-dot[data-step="2"].lit{background:#f97316}.lps-dot[data-step="3"].lit{background:#eab308}.lps-dot[data-step="4"].lit{background:#84cc16}.lps-dot[data-step="5"].lit{background:#22c55e;box-shadow:0 0 7px #22c55e8c}.lps-connector[data-step="2"].lit{background:#f97316}.lps-connector[data-step="3"].lit{background:#eab308}.lps-connector[data-step="4"].lit{background:#84cc16}.lps-connector[data-step="5"].lit{background:#22c55e}.ability-earned-screen{display:flex;flex-direction:column;gap:1rem;color:var(--teacher-ink, #2c1b11)}.ability-earned-body{display:flex;flex-direction:column;gap:.6rem;padding:1.25rem 1.1rem .5rem}.ability-earned-eyebrow{margin:0;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:#4f7a4c}.ability-earned-cando{margin:0;font-size:1.6rem;font-weight:700;line-height:1.25;text-wrap:balance;color:var(--teacher-ink, #2c1b11)}.ability-earned-note{margin:.25rem 0 0;font-size:1.05rem;line-height:1.5;color:var(--teacher-ink, #2c1b11)}.ability-earned-phrases{margin-top:.75rem}.ability-earned-phrases-title{margin:0 0 .35rem;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--teacher-ink-soft, #6b5340)}.ability-earned-phrases ul{list-style:none;margin:0;padding:0;border:1px solid var(--teacher-hairline, #e7d5bf);border-radius:14px;background:var(--teacher-surface-warm, #fffaf3);overflow:hidden}.ability-earned-phrase{display:flex;align-items:flex-start;gap:.6rem;padding:.7rem .9rem;border-top:1px solid var(--teacher-hairline, #e7d5bf);color:var(--teacher-ink, #2c1b11)}.ability-earned-phrase:first-child{border-top:0}.ability-earned-phrase.sealed{background:#4f7a4c14}.ability-earned-mark{width:1.2rem;flex:0 0 auto;text-align:center;color:#4f7a4c;font-weight:700}.ability-earned-phrase-body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.ability-earned-phrase .term-word{font-size:1.3rem;color:var(--teacher-ink, #2c1b11)}.ability-earned-sealed{font-size:.8rem;color:#4f7a4c}.ability-earned-count{margin:.5rem 0 0;font-size:.95rem;color:var(--teacher-ink-soft, #6b5340)}.ability-earned-spoken{font-size:.8rem;color:var(--teacher-accent, #a05c32)}.ability-earned-spoken:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--teacher-accent, #a05c32);margin-inline-end:.35rem;vertical-align:middle}.next-card-countdown{display:flex;align-items:center;justify-content:center;padding:16px 20px;margin:12px 0;border-radius:12px;background:#f8f9fa;border:2px solid #e9ecef;font-size:14px;color:#666;transition:all .2s ease}.next-card-countdown.active{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-color:#dee2e6;box-shadow:0 2px 4px #0000000d}.next-card-countdown.loading{opacity:.7}.next-card-countdown.none{opacity:.6;font-style:italic}[data-skin=midnight-slate] .next-card-countdown{background:#0f172abf;border-color:#94a3b84d;color:var(--app-text)}[data-skin=midnight-slate] .next-card-countdown.active{background:#1e293bd9;border-color:#94a3b859;box-shadow:none}[data-skin=midnight-slate] .next-card-countdown.loading,[data-skin=midnight-slate] .next-card-countdown.none{color:var(--app-muted)}.countdown-display{display:flex;align-items:center;gap:12px}.countdown-icon{font-size:24px;flex-shrink:0}.countdown-text{display:flex;flex-direction:column;gap:4px;text-align:start}.countdown-label{font-size:13px;color:#666;font-weight:500}[data-skin=midnight-slate] .countdown-label{color:var(--app-muted)}.countdown-time{font-size:18px;font-weight:700;font-family:Monaco,Menlo,monospace;letter-spacing:.5px}@media(max-width:480px){.next-card-countdown{padding:12px 16px}.countdown-text{gap:2px}.countdown-label{font-size:12px}.countdown-time{font-size:16px}.countdown-icon{font-size:20px}}.session-feedback{background:transparent;border:0;border-radius:0;padding:0 .5rem;margin-bottom:.35rem;box-shadow:none;position:relative}.already-known-toast{max-width:min(420px,calc(100vw - 2rem));margin:.35rem auto .15rem;padding:.7rem 1rem;background:#fdf6ee;color:#674a3d;border:1px solid rgba(160,92,50,.35);border-inline-start:3px solid #a05c32;border-radius:12px;box-shadow:0 4px 16px #674a3d2e;font-size:.92rem;font-weight:650;text-align:center;animation:ak-toast-in .2s ease-out}@keyframes ak-toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.already-known-toast{animation:none}}.session-minibar{display:flex;align-items:center;gap:.5rem;padding:.25rem 0;margin-bottom:0;background:transparent;border-radius:0;border:0;flex-wrap:wrap}.mini-stat,.mini-pill{display:flex;align-items:center;gap:.35rem;padding:.35rem .6rem;background:var(--app-surface);border:1px solid var(--app-border);border-radius:999px;box-shadow:inset 0 1px #fffc}.mini-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:var(--app-muted);font-weight:600;white-space:nowrap}.mini-value{font-size:.95rem;font-weight:700;color:var(--app-text);white-space:nowrap}.points-pill .mini-gain{font-size:.7rem;font-weight:700;color:#16a34a}.mini-topic{background:#efe7ff;border-color:#d9c9f5}.mini-topic .mini-value{color:#6b3fa2;font-size:.78rem;font-weight:800;letter-spacing:.01em;text-transform:capitalize}.mini-exit,.mini-toggle{padding:.35rem .7rem;border-radius:999px;border:1px solid var(--app-border);background:var(--app-surface);color:var(--app-text);font-weight:600;font-size:.75rem;cursor:pointer;transition:all .2s ease;white-space:normal;min-width:0;max-width:100%}.mini-exit:hover,.mini-toggle:hover{background:var(--app-surface-alt);border-color:#60a5fa;color:#93c5fd}.remaining-progress{display:flex;flex-direction:column;gap:.35rem;padding:.5rem .6rem;margin-bottom:.5rem;border-radius:10px;background:var(--app-surface-alt);border:1px solid var(--app-border)}.remaining-progress-label{display:flex;justify-content:space-between;font-size:.75rem;font-weight:600;color:var(--app-text)}.remaining-progress-track{height:8px;border-radius:999px;background:#94a3b84d;overflow:hidden}.remaining-progress-fill{height:100%;background:linear-gradient(90deg,#4f46e5,#7c3aed);border-radius:999px;transition:width .3s ease}@media(max-width:720px){.session-minibar{justify-content:center}}.encouragement-banner{position:absolute;top:-20px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#28a745,#20c997);color:#fff;padding:.75rem 1.5rem;border-radius:25px;font-weight:600;font-size:.9rem;box-shadow:0 4px 16px #28a7454d;z-index:10;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.session-header{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem;overflow:hidden}.session-progress{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0}.progress-ring{position:relative}.progress-ring svg{transform:rotate(-90deg)}.progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-weight:700;font-size:.8rem;color:var(--app-text);white-space:nowrap;z-index:1}.session-stats-summary{display:flex;align-items:center;gap:.5rem;flex:1;justify-content:space-between;min-width:0}.session-stats-summary .session-stats-grid{margin:0;flex:1;max-width:560px;gap:.1rem}.session-stats-summary .stats-row{gap:.4rem}.session-stats-summary .stats-row-header{width:65px;min-width:65px;max-width:65px;flex-shrink:0;align-self:flex-start}.session-stats-summary .breakdown-grid{gap:.25rem;display:flex;align-items:stretch}.session-stats-summary .breakdown-item{width:72px;min-width:72px;max-width:72px;padding:.15rem .35rem;flex-shrink:0}.session-stats-summary .breakdown-count{font-size:.9rem;margin-bottom:.05rem}.session-stats-summary .breakdown-label{font-size:.6rem}.session-stats-summary .row-title{font-size:.7rem;margin-bottom:.05rem}.session-stats-summary .row-subtitle{font-size:.6rem}.stat-group{display:flex;align-items:center;gap:1rem;flex-shrink:0}.main-stat{text-align:center;min-width:60px;flex-shrink:0}.stat-value{display:block;font-size:1.4rem;font-weight:700;color:#93c5fd;line-height:1.1;margin-bottom:.2rem;white-space:nowrap}.stat-label{font-size:.7rem;color:var(--app-muted);text-transform:uppercase;letter-spacing:.5px;line-height:1;white-space:nowrap}.session-stats-grid{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.stats-row{display:flex;align-items:center;gap:.75rem}.stats-row-header{display:flex;flex-direction:column;align-items:flex-start;min-width:70px;flex-shrink:0}.row-title{font-size:.75rem;font-weight:600;color:var(--app-text);line-height:1;margin-bottom:.1rem}.row-subtitle{font-size:.6rem;color:var(--app-muted);line-height:1;font-style:italic}.breakdown-grid{display:flex;gap:.4rem;flex:1}.breakdown-item{text-align:center;padding:.3rem .35rem;border-radius:4px;min-width:48px;display:flex;flex-direction:column;justify-content:center;align-items:center;border:1px solid transparent;transition:all .2s ease}.breakdown-count{display:block;font-size:.75rem;font-weight:700;margin-bottom:.1rem;line-height:1;white-space:nowrap}.breakdown-label{font-size:.6rem;font-weight:500;line-height:1;white-space:nowrap}.category-new{background:linear-gradient(135deg,#ff4d4f,#ff7875);border-color:#ff4d4f4d}.category-new .breakdown-count,.category-new .breakdown-label{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.1)}.category-learning-normal{background:linear-gradient(135deg,#fff176,#ffeb3b);border-color:#fff17666}.category-learning-normal .breakdown-count,.category-learning-normal .breakdown-label{color:#333;text-shadow:none}.category-learning-ready{background:linear-gradient(135deg,#ff7a00,#ff9500);border-color:#ff7a004d}.category-learning-ready .breakdown-count,.category-learning-ready .breakdown-label{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.category-review{background:linear-gradient(135deg,#52c41a,#73d13d);border-color:#52c41a4d}.category-review .breakdown-count,.category-review .breakdown-label{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.1)}.initial-row .breakdown-item{opacity:.9}.realtime-row .breakdown-item{box-shadow:0 2px 4px #0000001a}.realtime-row .breakdown-item:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.current-card-highlight{transform:scale(1.05)!important;border:2px solid var(--teacher-accent)!important;box-shadow:0 0 12px #a05c3266!important;z-index:5;position:relative}.current-card-highlight:after{content:"";position:absolute;inset:-3px;border-radius:6px;background:var(--teacher-accent-strong);z-index:-1;opacity:.1;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:.1}50%{opacity:.3}}.time-display{text-align:center;flex-shrink:0;min-width:80px}.time-value{display:block;font-size:1.4rem;font-weight:700;color:#28a745;font-family:SF Mono,Monaco,Consolas,monospace;line-height:1.1;margin-bottom:.2rem}.time-label{font-size:.75rem;color:var(--app-muted);text-transform:uppercase;letter-spacing:.5px;line-height:1}.behavioral-strip{display:flex;flex-direction:column;gap:.35rem;margin-top:.2rem}.behavioral-row{display:flex;flex-wrap:wrap;gap:.35rem .6rem}.behavioral-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .55rem;border-radius:999px;background:#ffffff0d;font-size:.75rem;font-weight:600;color:#e6eefc;white-space:nowrap}.debug-panel{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin-top:.25rem}.debug-section{background:#141e3799;border:1px solid rgba(100,120,180,.2);border-radius:8px;padding:.45rem .55rem;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.debug-section-header{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#93c5fdb3;margin-bottom:.35rem;padding-bottom:.2rem;border-bottom:1px solid rgba(100,120,180,.15)}.debug-grid{display:flex;flex-direction:column;gap:.15rem}.debug-row{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;line-height:1.3}.debug-key{font-size:.65rem;color:#cbd5e1b3;white-space:nowrap;flex-shrink:0}.debug-val{font-size:.65rem;color:#e2e8f0;text-align:right;word-break:break-word}.debug-val.mono{font-family:SF Mono,Monaco,Consolas,Courier New,monospace;font-size:.63rem}.debug-thai{font-size:.75rem}.debug-rom{color:#cbd5e199;font-size:.6rem}.debug-eng{color:#93c5fd;font-size:.63rem}.debug-decision{font-style:italic;color:#c4b5fd;max-width:160px;text-align:right}.debug-empty{font-size:.6rem;color:#cbd5e166;font-style:italic;padding:.2rem 0}.clr-green{color:#4ade80}.clr-amber{color:#fbbf24}.clr-red{color:#f87171}.clr-blue{color:#60a5fa}@media(max-width:768px){.session-feedback{padding:0 .5rem;margin-bottom:.35rem}.session-minibar{display:flex;align-items:center;gap:.5rem;padding:.25rem 0;margin-bottom:0;background:transparent;border-radius:0;border:0;flex-wrap:wrap}.mini-stat,.mini-pill{display:flex;align-items:center;gap:.35rem;padding:.35rem .6rem;background:var(--app-surface);border:1px solid var(--app-border);border-radius:999px;box-shadow:inset 0 1px #fffc}.mini-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:var(--app-muted);font-weight:600;white-space:nowrap}.mini-value{font-size:.95rem;font-weight:700;color:var(--app-text);white-space:nowrap}.mini-toggle{margin-inline-start:auto;padding:.35rem .7rem;border-radius:999px;border:1px solid var(--app-border);background:var(--app-surface);color:var(--app-text);font-weight:600;font-size:.75rem;cursor:pointer;transition:all .2s ease;white-space:nowrap}.mini-toggle:hover{background:var(--app-surface-alt);border-color:#60a5fa;color:#93c5fd}@media(max-width:720px){.session-minibar{justify-content:center}.mini-toggle{margin-inline-start:0}}.session-header{flex-direction:column;gap:.75rem;margin-bottom:.75rem}.progress-svg{width:50px!important;height:50px!important}.progress-text{font-size:.8rem}.stat-value{font-size:1.4rem}.session-stats-summary{gap:.75rem;flex-direction:column;align-items:center}.stat-group{gap:.75rem}.main-stat,.time-display{min-width:70px}.time-value{font-size:1.2rem}.session-stats-grid{margin-top:.5rem;gap:.4rem}.stats-row{gap:.5rem}.stats-row-header{min-width:60px}.row-title{font-size:.7rem}.row-subtitle{font-size:.55rem}.breakdown-grid{gap:.3rem}.breakdown-item{min-width:40px;padding:.25rem .3rem}.breakdown-count{font-size:.7rem}.breakdown-label{font-size:.55rem}}@media(max-width:600px){.debug-panel{grid-template-columns:1fr}}.session-intro-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:radial-gradient(circle at 88% 6%,rgba(224,122,63,.12),transparent 320px),radial-gradient(circle at 8% 14%,rgba(251,191,36,.13),transparent 300px),linear-gradient(135deg,#fff8ec,#fbeede 60%,#fbe6cf);-webkit-backdrop-filter:none;backdrop-filter:none}.session-intro-card{width:100%;max-width:440px;background:radial-gradient(circle at 88% 8%,rgba(224,122,63,.16),transparent 200px),linear-gradient(135deg,#fff8ec,#fbe6cf 62%,#ffe9f0);border:1px solid rgba(212,154,85,.4);border-radius:18px;padding:1.75rem 1.5rem 1.5rem;color:#674a3d;box-shadow:0 22px 50px #995b2b47;display:flex;flex-direction:column;gap:.85rem}.session-intro-card--loading{min-height:220px;opacity:.6}.session-intro-headline{margin:0;font-size:1.5rem;font-weight:800;letter-spacing:-.01em;color:#20130f}.session-intro-subheading{margin:0;color:#674a3d;font-size:.95rem;line-height:1.45}.session-intro-rows{display:flex;flex-direction:column;gap:.6rem;margin:.4rem 0}.session-intro-row{display:flex;align-items:flex-start;gap:.7rem;background:#ffffff94;border:1px solid rgba(105,72,48,.16);border-radius:12px;padding:.7rem .85rem}.session-intro-row-icon{font-size:1.2rem;line-height:1.4;flex-shrink:0}.session-intro-row-text{display:flex;flex-direction:column;gap:.15rem;text-align:start}.session-intro-row-count{font-weight:800;font-size:1rem;color:#20130f}.session-intro-row-describe{font-size:.82rem;color:#674a3d;line-height:1.4}.session-intro-message{margin:0;font-size:.92rem;line-height:1.5;color:#674a3d;text-align:start}.session-intro-retention{display:grid;gap:.35rem;padding:.7rem .8rem;border-radius:12px;background:#fffbf3c7;border:1px solid rgba(160,92,50,.22);text-align:start}.session-intro-retention span{color:#8d5130;font-size:.78rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.session-intro-retention p{margin:0;color:#4d2f22;font-size:.9rem;line-height:1.42}.session-intro-unlock{display:flex;flex-direction:column;gap:.35rem;text-align:start}.session-intro-unlock p{margin:0;color:#674a3d;font-size:.92rem;line-height:1.5}.session-intro-estimate{font-size:.82rem;color:#a05c32;font-weight:700}.session-intro-estimate--prominent{width:fit-content;margin-inline:auto;display:flex;align-items:center;gap:.35rem;font-size:1.02rem;padding:.34rem .9rem;border-radius:999px;background:#a05c3217}.session-intro-estimate--prominent:before{content:"⏱";font-size:.95em}.session-intro-closing{margin:.1rem 0 0;text-align:center;font-size:.9rem;line-height:1.5;color:#8a6a52}.session-intro-start{margin-top:.4rem;width:100%;padding:.85rem 1rem;border:none;border-radius:12px;background:linear-gradient(135deg,#2f211b,#8d5130);box-shadow:0 12px 26px #7b4a263d;color:#fff8ef;font-size:1rem;font-weight:800;cursor:pointer;transition:filter .15s ease,transform .05s ease}.session-intro-mute{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.7rem;font-size:.9rem;color:#8a6a52;cursor:pointer}.session-intro-mute input{width:18px;height:18px;margin:0;accent-color:#8d5130;color-scheme:light}.session-intro-start:hover{filter:brightness(1.06)}.session-intro-start:active{transform:translateY(1px)}.session-intro-recovery{display:flex;flex-direction:column;gap:.55rem;text-align:start}.session-intro-recovery--nonverbal{align-items:center;justify-content:center;min-height:96px}.session-intro-recovery-glyph{font-size:2.2rem;line-height:1}.session-intro-recovery-glyph--waiting{animation:session-intro-hourglass-flip 1.4s ease-in-out infinite}@keyframes session-intro-hourglass-flip{0%,55%{transform:rotate(0)}70%,to{transform:rotate(180deg)}}@media(prefers-reduced-motion:reduce){.session-intro-recovery-glyph--waiting{animation:session-intro-hourglass-pulse 1.6s ease-in-out infinite}@keyframes session-intro-hourglass-pulse{0%,to{opacity:1}50%{opacity:.4}}}.session-intro-recovery-actions{display:grid;gap:.65rem}.session-intro-recovery-exit{width:100%;padding:.75rem 1rem;border:1px solid rgba(105,72,48,.24);border-radius:12px;background:transparent;color:#674a3d;font:inherit;font-weight:700;cursor:pointer}@media(max-width:420px){.session-intro-card{padding:1.4rem 1.1rem 1.2rem;border-radius:14px}.session-intro-headline{font-size:1.3rem}}.diagnostic-identity-badge{position:fixed;top:calc(env(safe-area-inset-top,0px) + .5rem);right:max(2rem,calc(env(safe-area-inset-right,0px) + .5rem));z-index:12000;box-sizing:border-box;overflow:hidden;border:1px solid rgba(255,255,255,.3);background:#18120fd1;box-shadow:0 2px 10px #00000038;color:#fff8ef;font:600 .62rem/1.25 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;letter-spacing:0;text-align:left;direction:ltr;unicode-bidi:isolate;white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.diagnostic-identity-handle{display:grid;width:1.75rem;height:1.5rem;min-width:1.75rem;min-height:1.5rem;place-items:center;padding:0;border-radius:999px;cursor:pointer;font-size:.58rem;text-align:center}.diagnostic-identity-expanded{display:grid;max-width:calc(100vw - 3rem);padding:.35rem .45rem;border-radius:.5rem;cursor:copy;overflow-wrap:anywhere;white-space:normal}.diagnostic-identity-copied{position:absolute;inset:0;display:grid;place-items:center;border-radius:inherit;background:#201814f2;color:#fff8ef;font:inherit}.diagnostic-identity-badge:focus-visible{outline:2px solid #f4ca99;outline-offset:2px}@media(max-width:420px){.diagnostic-identity-expanded{font-size:.58rem}}.emergency-recovery-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;justify-content:center;align-items:center;z-index:10000;font-family:system-ui,-apple-system,sans-serif}.emergency-recovery-modal{background:#fff;border-radius:12px;padding:2rem;max-width:500px;width:90%;box-shadow:0 20px 60px #0000004d}.recovery-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;border-bottom:2px solid #d32f2f;padding-bottom:.5rem}.recovery-header h2{margin:0;color:#d32f2f}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666}.close-btn:hover{color:#d32f2f}.recovery-content p{margin:.5rem 0;color:#333}.recovery-actions{margin-top:2rem;display:flex;gap:1rem;flex-wrap:wrap}.recovery-btn{padding:.75rem 1.5rem;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s ease}.recovery-btn.primary{background:#2196f3;color:#fff}.recovery-btn.secondary{background:#f5f5f5;color:#333}.recovery-btn:hover{transform:translateY(-2px);filter:brightness(110%)}.emergency-hint{position:fixed;bottom:10px;right:10px;font-size:.7rem;color:#0000004d;pointer-events:none;z-index:1000;font-family:monospace}.hint-text{background:#fffc;padding:.25rem .5rem;border-radius:4px;opacity:0;transition:opacity .3s ease}.emergency-hint:hover .hint-text{opacity:1}
