@font-face{font-family:Andika;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/andika-regular.woff2)format("woff2")}@font-face{font-family:Andika;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/andika-bold.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter.woff2)format("woff2")}:root[data-audience=child]{--font-body:"Andika", "Segoe UI", Roboto, sans-serif;--font-display:"Andika", "Segoe UI", Roboto, sans-serif}:root{--font-body:Inter, "Segoe UI", Roboto, sans-serif;font-family:var(--font-body);color:#f8fafc;background:var(--app-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg:#071632;--bg-elevated:#0e234a;--surface:#102347;--surface-2:#18315f;--surface-3:#1e3a6e;--border:#94a3b824;--border-hover:#2dd4bf66;--text:#f8fafc;--text-2:#c7d2fe;--muted:#94a3b8;--accent:#2dd4bf;--accent-2:#5eead4;--violet:#8b5cf6;--warm:#f4c95d;--warm-2:#fb923c;--human:#ff6b6b;--success:#4ade80;--shadow-sm:0 2px 8px #02061740;--shadow:0 12px 32px #02061759;--shadow-lg:0 20px 48px #02061780;--app-bg:var(--brand-bg,#f8f1dd);--topbar-bg:linear-gradient(180deg, #0e234af2 0%, #071632eb 100%);--bottomnav-bg:linear-gradient(180deg, #0e234aeb 0%, #071632f5 100%);--bottomnav-border:#c49a2b1f;--glass-surface:color-mix(in srgb, var(--surface) 86%, transparent);--glass-surface-strong:color-mix(in srgb, var(--surface-2) 90%, transparent);--glass-border:color-mix(in srgb, var(--border) 72%, #ffffff2e);--glass-highlight:inset 0 1px 0 #ffffff14;--text-primary:var(--text);--text-secondary:var(--text-2);--text-muted:var(--muted);--surface-elevated:var(--surface-2);--surface-overlay:color-mix(in srgb, var(--surface-2) 92%, transparent);--border-subtle:color-mix(in srgb, var(--border) 78%, transparent);--border-strong:color-mix(in srgb, var(--border) 70%, var(--text) 18%);--accent-foreground:var(--text-on-accent);--menu-item-hover:color-mix(in srgb, var(--accent) 12%, var(--surface-elevated));--menu-item-selected:color-mix(in srgb, var(--accent) 20%, var(--surface-elevated));--radius-sm:8px;--radius:14px;--radius-lg:18px;--radius-xl:22px;--radius-pill:999px;--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.25rem;--sp-6:1.5rem;--sp-8:2rem;--fs-xs:.75rem;--fs-sm:.84rem;--fs-base:.92rem;--fs-md:1rem;--fs-lg:1.15rem;--fs-xl:1.35rem;--fs-2xl:1.6rem;--fw-normal:400;--fw-semibold:500;--fw-medium:600;--fw-bold:700;--fw-black:800;--font-display:Inter, "Segoe UI", Roboto, sans-serif;--ease:cubic-bezier(.22, .61, .36, 1);--transition-fast:.15s var(--ease);--transition:.2s var(--ease);--text-dim:#a7b4c6;--text-on-accent:#071632;--error:#ef4444;--warning:#f59e0b;--info:#60a5fa;--disabled-opacity:.4;--focus-ring:0 0 0 2px var(--bg), 0 0 0 4px var(--accent);--fg:var(--text);--fg-2:var(--text-2);--fg-muted:var(--muted);--border-soft:var(--border);--focus-ring-color:var(--accent);--btn-primary-bg:var(--accent);--btn-primary-fg:var(--text-on-accent);--sp-0\.5:.125rem;--fn-mool:var(--km-eau);--fn-mool-deep:var(--km-eau-deep);--fn-mool-glow:var(--km-eau-glow);--fn-yaru:var(--km-feu);--fn-yaru-deep:var(--km-feu-deep);--fn-yaru-glow:var(--km-braise-glow);--fn-jeeri:var(--km-souffle);--fn-jeeri-deep:var(--km-memoire);--fn-jeeri-glow:#a78bfa26;--fn-joor:var(--km-ocre);--fn-joor-deep:var(--km-earth);--fn-joor-glow:#d4a03c26;--fn-noon:#5c6b7a;--fn-noon-deep:#3a4654;--fn-noon-glow:#5c6b7a1f;--fn-nakk:#7a7270;--fn-nakk-deep:#5a5250;--fn-nakk-glow:#7a72701a;--fn-xam:#6b8ca8;--fn-xam-deep:#4a6a84;--fn-xam-glow:#6b8ca81f;font-weight:400;line-height:1.5}[data-theme=warm]{--fg:var(--brand-fg,#1a140a);--fg-2:var(--brand-brown-soft,#8b6914);--fg-muted:color-mix(in srgb, var(--brand-fg,#1a140a) 64%, transparent);--bg:var(--brand-bg,#f8f1dd);--surface:var(--brand-surface,#f1e6c8);--surface-2:var(--brand-sand,#e2cfa3);--border-soft:color-mix(in srgb, var(--brand-brown-soft,#8b6914) 22%, transparent);--focus-ring-color:var(--yaa-joor-deep,#8e681a);--btn-primary-bg:var(--yaa-joor-deep,#8e681a);--btn-primary-fg:var(--brand-ivory,#f8f1dd);--text:var(--brand-fg,#1a140a);--text-2:color-mix(in srgb, var(--brand-fg,#1a140a) 78%, transparent);--muted:color-mix(in srgb, var(--brand-fg,#1a140a) 58%, transparent);--text-dim:color-mix(in srgb, var(--brand-fg,#1a140a) 62%, transparent);--surface-elevated:var(--brand-sand,#e2cfa3);--border:color-mix(in srgb, var(--brand-brown-soft,#8b6914) 28%, transparent);--topbar-bg:linear-gradient(180deg, color-mix(in srgb, var(--brand-surface,#f1e6c8) 96%, white) 0%, color-mix(in srgb, var(--brand-bg,#f8f1dd) 92%, var(--brand-sand,#e2cfa3)) 100%)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--app-bg);color:var(--text);margin:0}:root[data-appearance-theme=ocean-light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#dff6ff;--bg-elevated:#eefaff;--surface:#f7fcff;--surface-2:#e7f4fb;--surface-3:#d4eaf5;--border:#2563872e;--text:#0b2138;--text-2:#315475;--muted:#5f758d;--text-dim:#52677d;--shadow-sm:0 2px 8px #11405e1f;--shadow:0 14px 34px #11405e29;--shadow-lg:0 24px 54px #11405e38;--app-bg:radial-gradient(ellipse at 20% 0%, #60a5fa33, transparent 44%), radial-gradient(ellipse at 85% 20%, #2dd4bf29, transparent 40%), linear-gradient(180deg, #f5fcff 0%, #dff6ff 100%);--topbar-bg:linear-gradient(180deg, #f7fcffeb 0%, #e0f3fce0 100%);--bottomnav-bg:linear-gradient(180deg, #f7fcffeb 0%, #e1f2fbf5 100%);--bottomnav-border:#2563872e;--glass-surface:color-mix(in srgb, var(--surface) 94%, transparent);--glass-surface-strong:color-mix(in srgb, var(--surface) 98%, transparent);--glass-border:color-mix(in srgb, var(--border) 82%, #ffffffad);--glass-highlight:inset 0 1px 0 #ffffffb8}:root[data-appearance-theme=frosted-glass]{--bg:#081827;--bg-elevated:#12263ad1;--surface:#142d44b8;--surface-2:#1f3e5bc2;--surface-3:#2b4d6ec7;--border:#cbd5e12e;--text-2:#d7e8f8;--muted:#a8b9cc;--app-bg:radial-gradient(ellipse at 18% 0%, #5eead426, transparent 42%), radial-gradient(ellipse at 80% 15%, #93c5fd1f, transparent 42%), linear-gradient(180deg, #06111f 0%, #102439 100%);--topbar-bg:linear-gradient(180deg, #162d44d6 0%, #09182ac7 100%);--bottomnav-bg:linear-gradient(180deg, #162d44d1 0%, #09182aeb 100%);--glass-surface:color-mix(in srgb, var(--surface) 88%, transparent);--glass-surface-strong:color-mix(in srgb, var(--surface-2) 93%, transparent);--glass-border:color-mix(in srgb, var(--border) 84%, #ffffff38)}:root[data-appearance-theme=sand-gold]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4ecd7;--bg-elevated:#fff8e8;--surface:#fffaf0;--surface-2:#f3e7c8;--surface-3:#e8d5a7;--border:#8b691438;--text:#24170a;--text-2:#5f4a24;--muted:#816b3b;--text-dim:#6e5520;--shadow-sm:0 2px 8px #583c121f;--shadow:0 14px 34px #583c1229;--shadow-lg:0 24px 54px #583c1238;--app-bg:radial-gradient(ellipse at 20% 0%, #f4c95d47, transparent 42%), radial-gradient(ellipse at 80% 100%, #c2a87833, transparent 44%), linear-gradient(180deg, #fff8e8 0%, #f4ecd7 100%);--topbar-bg:linear-gradient(180deg, #fff8e8f0 0%, #eedeb8e6 100%);--bottomnav-bg:linear-gradient(180deg, #fff8e8f0 0%, #eedeb8f5 100%);--bottomnav-border:#8b691438;--glass-surface:color-mix(in srgb, var(--surface) 94%, transparent);--glass-surface-strong:color-mix(in srgb, var(--surface) 98%, transparent);--glass-border:color-mix(in srgb, var(--border) 84%, #ffffff94);--glass-highlight:inset 0 1px 0 #ffffff9e}:root[data-appearance-theme=kemtaan-blue-gold]{--bg:#081a35;--bg-elevated:#10264f;--surface:#132a54;--surface-2:#1b3565;--surface-3:#244373;--border:#f4c95d2e;--text-2:#d9e4ff;--muted:#aab7d1;--app-bg:radial-gradient(ellipse at 18% 0%, #f4c95d1f, transparent 42%), radial-gradient(ellipse at 85% 100%, #2dd4bf14, transparent 45%), linear-gradient(180deg, #071632 0%, #0b2146 100%);--topbar-bg:linear-gradient(180deg, #10264ff5 0%, #071632f0 100%);--bottomnav-bg:linear-gradient(180deg, #10264ff0 0%, #071632fa 100%);--bottomnav-border:#f4c95d2e;--glass-surface:color-mix(in srgb, var(--surface) 88%, transparent);--glass-surface-strong:color-mix(in srgb, var(--surface-2) 94%, transparent);--glass-border:color-mix(in srgb, var(--border) 80%, #f4c95d29)}:root[data-appearance-accent=blue]{--accent:#60a5fa;--accent-2:#93c5fd;--border-hover:#60a5fa70}:root[data-appearance-accent=gold]{--accent:#f4c95d;--accent-2:#f8d982;--border-hover:#f4c95d70}:root[data-appearance-accent=green]{--accent:#4ade80;--accent-2:#86efac;--border-hover:#4ade8070}:root[data-appearance-accent=violet]{--accent:#8b5cf6;--accent-2:#a78bfa;--border-hover:#8b5cf670;--text-on-accent:#f8fafc}:root[data-appearance-contrast=strong]{--border:#e2e8f047;--text-2:#e2e8f0;--muted:#cbd5e1;--text-dim:#cbd5e1;--disabled-opacity:.55}:root[data-appearance-theme=ocean-light][data-appearance-contrast=strong],:root[data-appearance-theme=sand-gold][data-appearance-contrast=strong]{--border:#0f172a4d;--text-2:#1f3651;--muted:#41546a;--text-dim:#41546a}:root[data-appearance-theme=deep-night] .km-card,:root:not([data-appearance-theme]) .km-card{--glass-highlight:inset 0 1px 0 #93c5fd1a;box-shadow:0 2px 8px #0206285c, 0 8px 24px #02062847, var(--glass-highlight)}:root[data-appearance-theme=ocean-light] .km-card{--glass-highlight:inset 0 1px 0 #ffffffb8;box-shadow:0 2px 8px #11405e1a, 0 8px 22px #11405e14, var(--glass-highlight);border-color:#2563872d}:root[data-appearance-theme=ocean-light] .km-card--interactive:hover{border-color:color-mix(in srgb, var(--accent) 52%, #25638738);box-shadow:0 4px 14px #11405e24, 0 12px 30px #11405e1a, var(--glass-highlight)}:root[data-appearance-theme=frosted-glass] .km-card{-webkit-backdrop-filter:saturate(140%)blur(18px);backdrop-filter:saturate(140%)blur(18px);--glass-highlight:inset 0 1px 0 #ffffff24;box-shadow:0 1px 3px #00000038, 0 6px 20px #0000002e, var(--glass-highlight);border-color:#cbd5e142}:root[data-appearance-theme=frosted-glass] .km-card--interactive:hover{-webkit-backdrop-filter:saturate(160%)blur(22px);backdrop-filter:saturate(160%)blur(22px);border-color:color-mix(in srgb, var(--accent) 42%, #cbd5e142)}:root[data-appearance-theme=sand-gold] .km-card{--glass-highlight:inset 0 1px 0 #ffffff9e;box-shadow:0 2px 8px #583c121a, 0 8px 22px #583c1214, var(--glass-highlight);border-color:#8b691433}:root[data-appearance-theme=sand-gold] .km-card--interactive:hover{box-shadow:0 4px 14px #583c1224, 0 12px 28px #583c121a, var(--glass-highlight);border-color:#8b691470}:root[data-appearance-theme=kemtaan-blue-gold] .km-card{--glass-highlight:inset 0 1px 0 #f4c95d1a;box-shadow:0 2px 8px #040c2866, 0 8px 24px #040c284d, 0 0 0 1px #f4c95d0f inset, var(--glass-highlight);border-color:#f4c95d33}:root[data-appearance-theme=kemtaan-blue-gold] .km-card--interactive:hover{box-shadow:0 4px 14px #040c2870, 0 12px 30px #040c2852, 0 0 12px #f4c95d14, 0 0 0 1px #f4c95d1a inset, var(--glass-highlight);border-color:#f4c95d66}body.sidebar-open{overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{background:0 0;min-height:100dvh;display:flex}.app-shell--immersive>.main-panel,.app-shell--premium-reader>.main-panel{width:100%}.home-assistant-trigger{border:1px solid color-mix(in srgb, var(--yaa-joor,#c8942b) 40%, transparent);background:color-mix(in srgb, var(--brand-surface,#fffaf0) 92%, white);min-height:44px;color:var(--brand-fg,#1a140a);font-weight:var(--fw-bold);border-radius:999px;align-items:center;gap:7px;padding:0 13px;display:inline-flex;box-shadow:0 3px 10px #4d2c1214}.assistant-beta-pill{text-transform:uppercase;letter-spacing:.04em;flex:none}.home-assistant-layer{z-index:1300;position:fixed;inset:0}.home-assistant-scrim{background:#1a140a70;border:0;width:100%;position:absolute;inset:0}.home-assistant-panel{width:min(392px,92vw);height:100dvh;padding:calc(32px + env(safe-area-inset-top,0px)) 28px calc(28px + env(safe-area-inset-bottom,0px));color:var(--brand-fg,#1a140a);background:linear-gradient(160deg,#fffaf0,#f0dfb8);border-left:1px solid #7a4f282e;position:absolute;top:0;right:0;overflow-y:auto;box-shadow:-18px 0 48px #29190933}.home-assistant-panel__close{top:calc(12px + env(safe-area-inset-top,0px));width:44px;height:44px;color:inherit;background:#7a4f2814;border:0;border-radius:50%;font-size:1.6rem;position:absolute;right:14px}.home-assistant-panel__title{flex-wrap:wrap;align-items:center;gap:8px;margin:28px 0 8px;display:flex}.home-assistant-panel__title h2{margin:0}.home-assistant-panel p{color:var(--brand-fg-muted,#6f5b3d);line-height:1.6}.home-assistant-panel__cta{border-radius:var(--radius,12px);background:var(--brand-near-black,#1a140a);color:#fff8e8;min-height:48px;font-weight:var(--fw-black);border:0;margin-top:18px;padding:0 18px}@media (width>=960px){.app-shell--home-premium{background:var(--brand-bg,#f8f0dc);grid-template-columns:84px minmax(0,1fr);display:grid;overflow:visible}.app-shell--home-premium>.sidebar{background:linear-gradient(#21180b,#100c06);gap:24px;width:84px;max-width:none;min-height:100dvh;padding:18px 10px;position:sticky;top:0}.app-shell--home-premium>.sidebar .sidebar-head{justify-content:center}.app-shell--home-premium>.sidebar .sidebar-head>div{overflow:hidden}.app-shell--home-premium>.sidebar .sidebar-head .brand-subtitle,.app-shell--home-premium>.sidebar .ghost-icon,.app-shell--home-premium>.sidebar>.sidebar-actions,.app-shell--home-premium>.sidebar>.sidebar-divider,.app-shell--home-premium>.sidebar>.sidebar-scroll,.app-shell--home-premium>.sidebar>.sidebar-admin-group,.app-shell--home-premium>.sidebar>.sidebar-identity{display:none}.sidebar-home-primary-nav{gap:8px;display:grid}.sidebar-home-primary-nav__item{color:#d9c79e;min-width:0;min-height:58px;font-size:.65rem;font-weight:var(--fw-bold);background:0 0;border:1px solid #0000;border-radius:14px;place-items:center;gap:2px;padding:6px;display:grid}.sidebar-home-primary-nav__item img{object-fit:contain;width:30px;height:30px}.sidebar-home-primary-nav__item.is-active{color:#fff3d5;background:#e8c06a24;border-color:#e8c06a42}.app-shell--home-premium .topbar{min-height:64px;padding-inline:24px}.app-shell--home-premium .topbar-stat{display:none}.app-shell--home-premium .home-page .content-scroll,.app-shell--jang-premium .world-hub .content-scroll{overflow:visible}.app-shell--jang-premium .topbar-login,.app-shell--jang-premium .topbar-logout{min-height:44px}}@media (width>=1320px){.app-shell--home-premium{grid-template-columns:232px minmax(0,1fr)}.app-shell--home-premium>.sidebar{width:232px;padding:24px 18px}.app-shell--home-premium>.sidebar .sidebar-head{justify-content:flex-start}.app-shell--home-premium>.sidebar .sidebar-head>div{overflow:visible}.app-shell--home-premium>.sidebar .sidebar-head .brand-subtitle{display:block}.sidebar-home-primary-nav__item{grid-template-columns:38px 1fr;justify-items:start;min-height:56px;padding-inline:14px;font-size:.9rem}}@media (width<=959px){.sidebar-home-primary-nav,.home-assistant-trigger .assistant-beta-pill{display:none}.home-assistant-trigger{justify-content:center;gap:6px;padding:0 12px}.app-shell--home-premium .topbar-login,.app-shell--home-premium .topbar-logout{min-height:44px}}@media (prefers-reduced-motion:reduce){.home-assistant-panel,.home-assistant-trigger{transition:none}}.sidebar-scrim{opacity:0;pointer-events:none;transition:opacity var(--transition);z-index:1050;background:#020617d9;position:fixed;inset:0}.sidebar-scrim.is-open{opacity:1;pointer-events:auto}.sidebar{background:linear-gradient(180deg, var(--bg-elevated) 0%, #0a0e14 100%);width:320px;max-width:86vw;padding:var(--sp-4);gap:var(--sp-4);z-index:1100;isolation:isolate;border-right:1px solid #c49a2b1a;flex-direction:column;display:flex}.sidebar-scroll{gap:var(--sp-4);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.sidebar-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);display:flex}.brand-title{font-size:var(--fs-xl);font-weight:var(--fw-black);background:linear-gradient(135deg, var(--km-ocre-light,#e8c06a), var(--km-eau,#2dd4bf));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.brand-subtitle,.topbar-subtitle,.meta-row,.field-label{color:var(--text-2);font-size:var(--fs-sm)}.sidebar-actions{gap:var(--sp-2);grid-template-columns:1fr 1fr;display:grid}.sidebar-actions-admin{grid-template-columns:1fr}.sidebar-admin-group .sidebar-actions-admin{gap:var(--sp-1)}.sidebar-admin-group .sidebar-action{font-size:var(--fs-sm);padding:var(--sp-2) var(--sp-3);border-bottom-width:1px;box-shadow:0 1px 4px #02061733,inset 0 1px #ffffff0a}.sidebar-actions .sidebar-action:last-child:nth-child(odd){grid-column:1/-1}.sidebar-action,.lesson-nav button,.prompt-chip,.followup-chip,.mini-button{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);transition:transform var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast)}.sidebar-action:hover,.lesson-nav button:hover:not(:disabled),.prompt-chip:hover,.followup-chip:hover,.mini-button:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.sidebar-action{padding:var(--sp-3) var(--sp-3);font-weight:var(--fw-bold);align-items:center;gap:var(--sp-2);border-bottom-width:3px;border-bottom-color:#02061759;display:flex;box-shadow:0 3px 8px #0206174d,inset 0 1px #ffffff0f}.sidebar-action:active{border-bottom-width:1px;transition-duration:60ms;transform:translateY(2px);box-shadow:0 1px 3px #0206174d,inset 0 2px 4px #00000026}.sidebar-action.primary{background:linear-gradient(135deg,#2dd4bf33,#5eead41a);border-color:#2dd4bf4d #2dd4bf4d #0d948880}.sidebar-actions-admin .sidebar-action.primary{border-left:3px solid var(--accent)}.sidebar-action.secondary{background:var(--surface)}.mini-button.primary{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#06202a;font-weight:var(--fw-black);border:none}.prompt-chip,.followup-chip,.mini-button{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-base)}.followup-chip{min-height:44px}.sidebar-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-3);border-bottom-width:3px;border-bottom-color:#02061759;box-shadow:0 3px 10px #0206174d,inset 0 1px #ffffff0d}.panel-title{font-weight:var(--fw-bold);margin-bottom:var(--sp-2);font-size:var(--fs-base)}.sidebar-panel.collapsible{padding:0}.sidebar-panel.collapsible>summary.panel-title{cursor:pointer;padding:var(--sp-3);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;margin:0;list-style:none;display:flex}.sidebar-panel.collapsible>summary.panel-title::-webkit-details-marker{display:none}.sidebar-panel.collapsible>summary.panel-title:after{content:"›";font-size:var(--fs-lg);color:var(--muted);transition:transform var(--transition-fast);margin-left:var(--sp-2);flex-shrink:0}.sidebar-panel.collapsible[open]>summary.panel-title:after{transform:rotate(90deg)}.sidebar-panel.collapsible>:not(summary){padding:0 var(--sp-3) var(--sp-3)}.field-label{font-size:var(--fs-sm);margin-bottom:var(--sp-1);display:block}.select-input{background:var(--surface-elevated);width:100%;color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius);padding:var(--sp-3) var(--sp-3);font-size:var(--fs-base);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none}.select-input option{background:var(--surface);color:var(--text-primary)}.select-input option:checked{background:var(--menu-item-selected)}.select-input:disabled{color:var(--text-muted);opacity:1}.select-input::placeholder,input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:.9}.select-input:focus-visible{border-color:var(--accent);background:var(--surface-overlay);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 28%, transparent)}.appearance-select{min-width:9.5rem;max-width:12rem}.composer textarea:focus-visible{border-color:var(--focus-ring-color,var(--accent));box-shadow:0 0 0 2px color-mix(in srgb, var(--focus-ring-color,var(--accent)) 22%, transparent);outline:none}.correction-panel textarea:focus-visible,.text-answer:focus-visible{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #2dd4bf2e}.history-list{gap:var(--sp-2);flex-direction:column;display:flex}.history-item{gap:var(--sp-1);grid-template-columns:1fr auto;display:grid}.history-open,.history-delete,.ghost-icon{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius);transition:border-color var(--transition-fast), background var(--transition-fast)}.history-open:hover,.history-delete:hover,.ghost-icon:hover{border-color:var(--border-hover);background:var(--surface-2)}.history-open{padding:var(--sp-2) var(--sp-3);text-align:left;font-size:var(--fs-sm);flex-direction:column;gap:2px;display:flex;overflow:hidden}.history-title{white-space:nowrap;text-overflow:ellipsis;font-weight:var(--fw-medium);overflow:hidden}.history-date{color:var(--text-2);opacity:.7;font-size:.7rem}.history-delete,.ghost-icon{justify-content:center;align-items:center;min-width:42px;min-height:42px;display:flex}.sidebar-group-label{font-size:.65rem;font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:var(--sp-3) var(--sp-1) var(--sp-2)}.sidebar-divider{height:1px;margin:var(--sp-2) 0;background:linear-gradient(90deg,#0000 5%,#c49a2b26 50%,#0000 95%)}.main-panel{z-index:1;flex-direction:column;flex:1;min-width:0;min-height:100dvh;display:flex;position:relative}.topbar{z-index:20;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);padding-top:calc(var(--sp-2) + env(safe-area-inset-top,0px));padding-left:max(var(--sp-4), env(safe-area-inset-left,0px));padding-right:max(var(--sp-4), env(safe-area-inset-right,0px));background:var(--topbar-bg);-webkit-backdrop-filter:saturate(135%)blur(12px);backdrop-filter:saturate(135%)blur(12px);border-bottom:1px solid var(--glass-border);box-shadow:0 2px 8px #02061766, inset 0 -1px 0 #c49a2b0f, var(--glass-highlight);display:flex;position:sticky;top:0}.topbar[data-theme=warm]{border-bottom-color:color-mix(in srgb, var(--brand-brown-soft,#8b6914) 24%, transparent);box-shadow:0 2px 10px color-mix(in srgb, var(--brand-brown,#5c4410) 12%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--yaa-joor,#c8942b) 14%, transparent)}.topbar[data-theme=warm] .topbar-stat{background:color-mix(in srgb, var(--brand-surface,#f1e6c8) 78%, white);border-color:color-mix(in srgb, var(--brand-brown-soft,#8b6914) 26%, transparent);color:var(--brand-fg,#1a140a)}.topbar[data-theme=warm] .topbar-section-logo{border-color:color-mix(in srgb, var(--yaa-joor,#c8942b) 36%, transparent);box-shadow:inset 0 1px #fff8dc99}.topbar[data-theme=warm] .topbar-section-title{color:var(--brand-fg,#1a140a)}.topbar--strip{gap:var(--sp-2)}.topbar-section-logo{--topbar-section-icon-size:42px;width:var(--topbar-section-icon-size);height:var(--topbar-section-icon-size);background:radial-gradient(circle at 36% 24%,#ffffff38,#0000 42%),linear-gradient(#fff8e829,#c49a2b12);border:1px solid #c49a2b3d;border-radius:50%;flex:none;justify-content:center;align-items:center;margin-right:auto;font-size:1.1rem;display:inline-flex;box-shadow:inset 0 1px #ffffff24}.topbar-section-icon{width:var(--topbar-section-icon-size);height:var(--topbar-section-icon-size);object-fit:contain;display:block}.topbar-section-title{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;max-width:45%;margin-right:auto;overflow:hidden}.topbar-section-title--placeholder{width:0;height:1em;margin-right:auto}.topbar-stat{font-size:.8rem;font-weight:var(--fw-bold);color:var(--text);font-variant-numeric:tabular-nums;background:#ffffff0a;border:1px solid #c49a2b26;border-radius:999px;flex:none;align-items:center;gap:5px;min-height:28px;padding:2px 8px;line-height:1.2;display:inline-flex}.topbar-stat-icon{font-size:.95rem;line-height:1}.topbar-resource-icon{object-fit:contain;vertical-align:-.22em;flex:none;display:inline-block}.topbar-stat .topbar-resource-icon{width:22px;height:22px}.topbar-stat .topbar-resource-icon--xp{width:21px;height:21px;margin-inline:0;transform:translateY(-.5px)}.topbar-stat .topbar-resource-icon--streak{width:22px;height:22px}.topbar-stat .topbar-resource-icon--lives{width:21px;height:21px}.km-pill .topbar-resource-icon--pill{width:22px;height:22px;margin-right:.25rem}.topbar-stat-value{min-width:1ch}.topbar-stat--streak{color:#ffb86b}.topbar-stat--xp{color:#ffd86b}.topbar-stat--lives{color:#ff7a9a}.topbar-status-cluster{align-items:center;gap:6px;display:inline-flex}.topbar-admin-link{width:32px;height:32px;color:var(--text);cursor:pointer;background:#9333ea24;border:1px solid #9333ea59;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.topbar-admin-link:hover,.topbar-admin-link.is-active{background:#9333ea3d;border-color:#9333ea8c}.topbar-admin-link .km-icon{width:1rem;height:1rem}.topbar-status{white-space:nowrap;padding:2px 8px;font-size:.72rem}.topbar-status--premium{color:#1a1206;background:linear-gradient(135deg,#c49a2b 0%,#e9c86a 100%);border:1px solid #c49a2ba6}.topbar-status--libre{color:var(--text-2);background:#ffffff0f;border:1px solid #ffffff1a}.topbar--strip .topbar-logout{min-width:0;padding:4px 8px}.topbar--strip .topbar-logout .logout-icon{font-size:.95rem}@media (width<=360px){.topbar-section-title{display:none}}@media (width<=380px){.topbar--strip{padding-inline:var(--sp-3);gap:6px}.topbar-section-logo{--topbar-section-icon-size:38px}.topbar-stat{padding-inline:7px}}@media (width<=340px){.topbar-status{display:none}}@media (width<=959px){.sidebar.is-open~.main-panel .topbar .ghost-icon{opacity:0;pointer-events:none}.sidebar.is-open~.main-panel .topbar{-webkit-backdrop-filter:none}}.topbar-title{font-size:var(--fs-md);font-weight:var(--fw-black)}.assistant-fab{left:calc(var(--sp-3) + env(safe-area-inset-left,0px));right:auto;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:1001;max-width:min(52vw,180px);min-height:38px;color:var(--text);background:radial-gradient(circle at 28% 18%, #ffffff2e, transparent 42%), linear-gradient(135deg, color-mix(in srgb, var(--glass-surface-strong) 84%, var(--accent) 16%), color-mix(in srgb, var(--surface) 88%, var(--warm) 12%));border:1px solid color-mix(in srgb, var(--glass-border) 82%, var(--accent) 18%);box-shadow:0 6px 16px #02061738, 0 0 10px color-mix(in srgb, var(--accent) 10%, transparent), inset 0 1px 0 #ffffff2e, inset 0 -1px 0 #0206172e;opacity:.78;-webkit-backdrop-filter:saturate(130%)blur(10px);backdrop-filter:saturate(130%)blur(10px);font:inherit;font-size:var(--fs-xs);font-weight:var(--fw-bold);cursor:pointer;transition:opacity var(--transition-fast), transform var(--transition-fast), border-color var(--transition-fast);border-radius:999px;align-items:center;gap:5px;padding:0 10px;display:inline-flex;position:fixed}.assistant-fab:hover{opacity:.96;border-color:color-mix(in srgb, var(--glass-border) 55%, var(--accent) 45%);transform:translateY(-1px)}.assistant-fab:active{transform:translateY(0)}.assistant-fab__icon{font-size:.92rem;line-height:1}.assistant-fab__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.main-panel:has(.home-page,.world-hub) .topbar{min-height:48px;padding:.38rem var(--sp-3);padding-top:calc(.38rem + env(safe-area-inset-top,0px));background:linear-gradient(#fff8e8f0,#f0e2c1e0);border-bottom-color:#7a4f2829;box-shadow:0 6px 18px #4d2c1214}.main-panel:has(.home-page,.world-hub) .topbar-section-logo{width:var(--topbar-section-icon-size);height:var(--topbar-section-icon-size);background:radial-gradient(circle at 36% 24%,#ffffff61,#0000 42%),linear-gradient(#d9a44138,#7a4f281a);border-color:#7a4f282e}.main-panel:has(.home-page,.world-hub) .topbar-stat{min-height:26px;color:var(--brand-fg,#2b1a10);box-shadow:none;background:#ffffff80;border-color:#7a4f2824;padding:2px 7px}.main-panel:has(.home-page,.world-hub) .assistant-fab{bottom:calc(96px + env(safe-area-inset-bottom,0px));opacity:.68;color:var(--brand-fg,#2b1a10);background:radial-gradient(circle at 28% 18%,#ffffff57,#0000 42%),linear-gradient(135deg,#fff8e8f0,#e6ce98eb);border-color:#7a4f282e;box-shadow:0 8px 18px #4d2c1224}@media (width<=640px){.assistant-fab{justify-content:center;width:auto;min-width:42px;min-height:42px;padding:0 7px}.assistant-fab__label{display:none}}.page{flex-direction:column;flex:1;min-height:0;display:flex}.content-scroll{padding:var(--sp-3) var(--sp-4) calc(6.5rem + env(safe-area-inset-bottom,0px));flex:1;overflow:auto}.welcome-card,.page-hero,.lesson-card,.section-card,.error-banner,.empty-state{background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:saturate(120%)blur(8px);backdrop-filter:saturate(120%)blur(8px);box-shadow:0 4px 14px #02061759, 0 1px 3px #02061740, var(--glass-highlight);border-bottom-width:3px;border-bottom-color:#02061759}.welcome-card,.page-hero{padding:var(--sp-4);text-align:center;margin-bottom:var(--sp-4)}.page-hero.compact h1,.welcome-title{margin:0 0 var(--sp-1);font-size:var(--fs-xl);font-weight:var(--fw-black)}.page-hero.compact p,.welcome-subtitle{color:var(--text-2);font-size:var(--fs-base)}.prompt-grid,.followup-row,.feedback-row{gap:var(--sp-2);flex-wrap:wrap;display:flex}.prompt-grid{margin-top:var(--sp-2);justify-content:center}.home-page .content-scroll{gap:var(--sp-3);padding-bottom:var(--sp-6);flex-direction:column;display:flex}.portal-hero{text-align:center;padding:var(--sp-4) var(--sp-4) var(--sp-1);position:relative}.portal-hero:before{content:"";pointer-events:none;background:radial-gradient(at 50% 80%,#c49a2b0f,#0000 60%),radial-gradient(at 50% 20%,#2dd4bf0d,#0000 50%);position:absolute;inset:0}.portal-emoji{margin-bottom:var(--sp-1);font-size:2.2rem;line-height:1}.portal-title{font-size:var(--fs-2xl);font-weight:var(--fw-black);margin:0 0 var(--sp-2);background:linear-gradient(135deg, var(--accent), var(--warm));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.portal-subtitle{color:var(--text-2);font-size:var(--fs-base);max-width:380px;margin:0 auto;line-height:1.55}.portal-grid{gap:var(--sp-2);grid-template-columns:repeat(2,1fr);display:grid}.portal-card{align-items:flex-start;gap:var(--sp-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-4);text-align:left;cursor:pointer;transition:border-color var(--transition-fast), transform .12s, box-shadow .12s;flex-direction:column;display:flex;position:relative;overflow:hidden}.portal-card:before{content:"";background:var(--card-accent,var(--accent));border-radius:var(--radius-lg) var(--radius-lg) 0 0;opacity:.75;height:3px;position:absolute;top:0;left:0;right:0}.portal-card:after{content:"";pointer-events:none;border-radius:inherit;background:repeating-linear-gradient(45deg,#0000,#0000 16px,#c49a2b04 16px 17px);position:absolute;inset:0}.portal-card:hover{border-color:var(--card-accent,var(--accent));box-shadow:var(--shadow);transform:translateY(-2px)}.portal-card-icon{z-index:1;justify-content:center;align-items:center;font-size:1.8rem;line-height:1;display:flex;position:relative}.portal-card-title{font-size:var(--fs-base);font-weight:var(--fw-bold);color:var(--text)}.portal-card-desc{font-size:var(--fs-xs);color:var(--text-2);line-height:1.5}.portal-section{padding:0 var(--sp-1)}.portal-section-title{font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:var(--sp-2)}.portal-resume-btn{width:100%;padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-weight:var(--fw-medium);cursor:pointer;transition:border-color var(--transition-fast), transform var(--transition-fast);text-align:left;align-items:center;gap:var(--sp-2);display:flex}.portal-resume-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.portal-resume-icon{flex-shrink:0}.portal-resume-btn:hover{border-color:var(--border-hover);transform:translateY(-1px)}.portal-free-input{text-align:center;padding:var(--sp-2) 0 var(--sp-4)}.portal-free-btn{color:var(--accent);font-size:var(--fs-base);cursor:pointer;padding:var(--sp-2) var(--sp-4);transition:opacity var(--transition-fast);background:0 0;border:none}.portal-free-btn:hover{opacity:.8}@media (width<=480px){.portal-grid{grid-template-columns:1fr}.portal-title{font-size:var(--fs-xl)}}.chat-empty-state{text-align:center;padding:var(--sp-8) var(--sp-4);flex-direction:column;justify-content:center;align-items:center;min-height:40vh;display:flex}.chat-empty-emoji{margin-bottom:var(--sp-3);opacity:.8;font-size:3rem;line-height:1}.chat-empty-avatar-wrap{background:radial-gradient(circle at 34% 20%,#ffffffb8,#0000 42%),linear-gradient(145deg,#fff8e8f2,#e8d5a8e0);border:1px solid #c8942b3d;border-radius:22px;place-items:center;width:78px;height:78px;font-size:0;line-height:0;display:inline-grid;overflow:hidden;box-shadow:0 10px 24px #4d2c121f}.chat-empty-avatar{object-fit:contain;box-sizing:border-box;width:100%;height:100%;padding:4px;display:block}.chat-empty-title{margin:0 0 var(--sp-2);font-size:var(--fs-xl);font-weight:var(--fw-black)}.chat-empty-sub{color:var(--text-2);font-size:var(--fs-base);margin:0 0 var(--sp-6);max-width:340px}.prompt-chip-icon{flex-shrink:0;font-size:.95rem}.early-chips{align-items:center;gap:var(--sp-3);padding:var(--sp-6) var(--sp-4) var(--sp-4);flex-direction:column;display:flex}.early-chips-label{color:var(--muted);font-size:var(--fs-sm)}.early-chips .prompt-grid{justify-content:center}.message-list{gap:var(--sp-4);flex-direction:column;display:flex}.message-row{align-items:flex-start;gap:var(--sp-3);display:flex}.message-row.user{flex-direction:row-reverse}.avatar{border-radius:var(--radius);border:1px solid #ffffff0f;flex:0 0 40px;place-items:center;width:44px;height:44px;font-size:1.1rem;display:grid}.avatar.assistant{background:radial-gradient(circle at 30% 18%,#ffffffb8,#0000 38%),linear-gradient(145deg,#fff8e8f5,#e8d5a8db);border-color:#c8942b3d;border-radius:16px;flex-basis:48px;width:48px;height:48px;padding:0;overflow:hidden;box-shadow:0 5px 12px #4d2c121a}.avatar.assistant[data-avatar-variant=teacher]{border-color:#785c2e52}.avatar.assistant[data-avatar-variant=exercise]{border-color:#7a4f2857}.avatar.assistant[data-avatar-variant=power]{border-color:#c8942b70;box-shadow:0 6px 16px #c8942b33}.assistant-avatar-img{object-fit:contain;border-radius:16px;width:100%;height:100%;display:block}.avatar.user{background:linear-gradient(135deg,#ff6b6bd9,#f4c95da6)}.bubble{border-radius:var(--radius-lg);max-width:min(720px,100%);padding:var(--sp-3) var(--sp-4);border:1px solid var(--border)}.bubble.assistant{background:var(--surface);border-color:#2dd4bf1f}.bubble.user{background:linear-gradient(135deg, var(--surface-2), var(--surface-3));border-color:#ff6b6b2e;box-shadow:0 2px 8px #ff6b6b0f}.bubble-text{word-break:break-word}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body p,.markdown-body li{white-space:pre-wrap}.markdown-body ul,.markdown-body ol{margin:0 0 var(--sp-3);padding-left:1.2rem}.markdown-body a{color:var(--accent-2)}.markdown-body code{border-radius:var(--radius-sm);background:#071632e6;padding:.1rem .35rem;font-family:Consolas,Cascadia Code,monospace;font-size:.9em}.markdown-body pre{border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-3);margin:0 0 var(--sp-3);background:#071632e6;overflow-x:auto}.markdown-body pre code{background:0 0;padding:0}.markdown-body blockquote{margin:0 0 var(--sp-3);padding-left:var(--sp-3);color:var(--muted);border-left:3px solid #2dd4bf73}.markdown-body table{border-collapse:collapse;width:100%;margin:0 0 var(--sp-3)}.markdown-body th,.markdown-body td{border:1px solid var(--border);padding:var(--sp-2) var(--sp-3);text-align:left}.markdown-body th{background:var(--surface-2)}.meta-row{font-size:var(--fs-sm);margin-top:var(--sp-2)}.lex-card{gap:var(--sp-4);flex-direction:column;display:flex}.lex-entry{border-radius:var(--radius);background:linear-gradient(135deg, var(--surface-2), var(--surface));border:1px solid #2dd4bf2e;overflow:hidden}.lex-main{padding:var(--sp-4);gap:var(--sp-2);flex-direction:column;display:flex}.lex-head{align-items:baseline;gap:var(--sp-3);flex-wrap:wrap;display:flex}.lex-wolof{font-size:var(--fs-xl);font-weight:var(--fw-bold);color:var(--accent);overflow-wrap:break-word;line-height:1.3}.lex-match-tag{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--warm);border-radius:var(--radius-pill);white-space:nowrap;background:#f4c95d1f;padding:.1rem .45rem}.lex-french{font-size:var(--fs-md);color:var(--text);line-height:1.5}.lex-phonetic{font-size:var(--fs-sm);color:var(--muted);font-style:italic}.lex-class-row{gap:var(--sp-2);margin-top:var(--sp-1);flex-wrap:wrap;display:flex}.lex-tag{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--accent-2);border-radius:var(--radius-pill);background:#2dd4bf1a;padding:.15rem .5rem}.lex-tag--dim{color:var(--muted);background:#94a3b81a}.lex-audio-btn{color:var(--accent);border-radius:var(--radius-sm);padding:var(--sp-1) var(--sp-3);cursor:pointer;font-size:var(--fs-base);transition:background var(--transition-fast);background:#2dd4bf1a;border:1px solid #2dd4bf33;align-self:flex-start}.lex-audio-btn:hover{background:#2dd4bf33}.lex-section{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border)}.lex-section-label{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--sp-2)}.lex-aliases{gap:var(--sp-2);flex-wrap:wrap;display:flex}.lex-alias{font-size:var(--fs-sm);color:var(--text-2);background:var(--surface-3);border-radius:var(--radius-pill);padding:.15rem .55rem}.lex-alias--more{color:var(--muted);border:1px dashed var(--border);background:0 0}.lex-examples{gap:var(--sp-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.lex-examples li{font-size:var(--fs-sm);color:var(--text-2);padding-left:var(--sp-3);border-left:2px solid #2dd4bf40;line-height:1.5}.lex-meta{padding:var(--sp-2) var(--sp-4) var(--sp-3);border-top:1px solid var(--border);gap:var(--sp-4);font-size:var(--fs-xs);display:flex}.lex-conf{font-weight:var(--fw-medium)}.lex-source{color:var(--muted)}.lex-card--empty{text-align:center;padding:var(--sp-6) var(--sp-4)}.lex-empty-icon{margin-bottom:var(--sp-2);font-size:2rem}.lex-empty-text{font-size:var(--fs-base);color:var(--text);margin-bottom:var(--sp-1)}.lex-empty-hint{font-size:var(--fs-sm);color:var(--muted)}.lex-contextual{font-size:var(--fs-xs);color:var(--muted);font-style:italic}.lex-synonyms{align-items:center;gap:var(--sp-1);padding-top:var(--sp-1);flex-wrap:wrap;display:flex}.lex-synonym-list{gap:var(--sp-1);flex-wrap:wrap;display:flex}.lex-synonym{border-radius:var(--radius-sm);font-size:var(--fs-xs);color:var(--accent);font-weight:var(--fw-medium);background:#2dd4bf14;padding:1px 8px;display:inline-block}.lex-variants{gap:var(--sp-1);flex-wrap:wrap;display:flex}.lex-variant{background:var(--surface-2);border-radius:var(--radius-sm);font-size:var(--fs-sm);color:var(--text);align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.lex-variant-class{font-size:var(--fs-xs);color:var(--muted)}.lex-entry--compact{align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-3);border-top:1px solid var(--border);display:flex}.lex-entry--compact .lex-wolof{font-size:var(--fs-sm)}@media (width<=640px){.lex-card{max-width:100%}.lex-entry{padding:var(--sp-2)}.lex-main{gap:var(--sp-1)}.lex-wolof{font-size:var(--fs-lg);word-break:break-word}.lex-french{font-size:var(--fs-sm)}.lex-aliases{gap:var(--sp-1)}}.lexical-hint{align-items:center;gap:var(--sp-2);margin-top:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-left:2px solid var(--accent);border-radius:var(--radius-sm);font-size:var(--fs-sm);color:var(--muted);background:#2dd4bf0f;display:flex}.lexical-hint-icon{font-size:var(--fs-base);flex-shrink:0}.lexical-hint-body strong{color:var(--text);font-weight:var(--fw-semibold)}.lexical-hint-class{margin-left:var(--sp-2);background:var(--surface-2);border-radius:var(--radius-sm);font-size:var(--fs-xs);color:var(--muted);padding:1px 6px;display:inline-block}.learning-nudge{margin-top:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);font-size:var(--fs-sm);color:var(--muted);background:#fbbf2414;border-left:2px solid #fbbf24;line-height:1.4}.learning-nudge-body strong{color:var(--text);font-weight:var(--fw-semibold)}.jang-action-card{margin-top:var(--sp-2);gap:var(--sp-2);flex-direction:column;display:flex}.jang-action-card__item{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);border-left:2px solid #22c55e;display:flex}.jang-action-card__body{flex-direction:column;gap:2px;min-width:0;display:flex}.jang-action-card__label{color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-semibold);line-height:1.25}.jang-action-card__meta{color:var(--muted);font-size:var(--fs-xs);line-height:1.3}.jang-action-card__button{color:#fff;border-radius:var(--radius-sm);font-size:var(--fs-xs);font-weight:var(--fw-semibold);cursor:pointer;background:#16a34a;border:1px solid #16a34a;flex:none;padding:6px 10px}.jang-action-card__button:hover{background:#15803d;border-color:#15803d}.lore-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-4);margin-bottom:var(--sp-2);max-width:560px}.lore-header{align-items:flex-start;gap:var(--sp-3);margin-bottom:var(--sp-3);display:flex}.lore-icon{flex-shrink:0;font-size:1.5rem;line-height:1}.lore-title-group{align-items:baseline;gap:var(--sp-2);flex-wrap:wrap;min-width:0;display:flex}.lore-name{font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--text);word-break:break-word}.lore-type-tag{color:var(--accent);border-radius:var(--radius-sm);font-size:var(--fs-xs);font-weight:var(--fw-medium);text-transform:capitalize;background:#2dd4bf1f;padding:1px 8px;display:inline-block}.lore-summary{font-size:var(--fs-sm);color:var(--text-2);margin-bottom:var(--sp-3);line-height:1.55}.lore-field{gap:var(--sp-2);padding:var(--sp-1) 0;font-size:var(--fs-sm);line-height:1.45;display:flex}.lore-field-label{font-weight:var(--fw-semibold);color:var(--muted);flex-shrink:0;min-width:72px}.lore-field-value{color:var(--text-2)}.lore-links{margin-top:var(--sp-2);padding-top:var(--sp-2);border-top:1px solid var(--border);font-size:var(--fs-sm)}.lore-link-tags{gap:var(--sp-1);margin-top:var(--sp-1);flex-wrap:wrap;display:flex}.lore-link-tag{background:var(--surface-2);border-radius:var(--radius-sm);font-size:var(--fs-xs);color:var(--text-2);padding:2px 8px;display:inline-block}@media (width<=640px){.lore-card{max-width:100%;padding:var(--sp-3)}.lore-name{font-size:var(--fs-base)}.lore-field{flex-direction:column;gap:2px}.lore-field-label{min-width:unset}}.followup-row,.feedback-row{margin-top:var(--sp-3)}.bubble-actions:empty{display:none}.bubble-actions{align-items:center;gap:var(--sp-2);margin-top:var(--sp-2);display:flex}.assistant-report{margin-top:var(--sp-2);justify-content:flex-end;display:flex;position:relative}.assistant-report-trigger{min-height:44px;color:var(--fg-muted,var(--muted));font-size:var(--fs-xs);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:.3rem .6rem}.assistant-report-trigger:hover{border-color:var(--border-soft,var(--border));background:color-mix(in srgb, var(--fg,var(--text)) 8%, transparent);color:var(--fg,var(--text))}.assistant-report-trigger:focus-visible{outline:2px solid var(--focus-ring-color,var(--accent));outline-offset:2px;border-color:var(--border-soft,var(--border));color:var(--fg,var(--text))}.assistant-report-panel{z-index:12;width:min(320px,100vw - 5rem);max-width:100%;padding:var(--sp-3);border:1px solid var(--border-soft,var(--border));border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg);position:absolute;top:calc(100% + .35rem);right:0}.assistant-report-header{justify-content:space-between;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2);color:var(--fg,var(--text));font-size:var(--fs-sm);font-weight:var(--fw-bold);display:flex}.assistant-report-close{width:32px;height:32px;color:var(--fg-muted,var(--muted));cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px}.assistant-report-close:hover{background:var(--surface-2);color:var(--fg,var(--text))}.assistant-report-close:focus-visible{outline:2px solid var(--focus-ring-color,var(--accent));outline-offset:2px;background:var(--surface-2);color:var(--fg,var(--text))}.assistant-report-reasons{gap:.35rem;display:grid}.assistant-report-reason{border-radius:var(--radius-sm);min-height:36px;color:var(--fg-2,var(--text-2));font-size:var(--fs-sm);cursor:pointer;align-items:center;gap:.45rem;padding:.15rem .35rem;display:flex}.assistant-report-reason:hover{background:color-mix(in srgb, var(--fg,var(--text)) 6%, transparent);color:var(--fg,var(--text))}.assistant-report-reason input{accent-color:var(--btn-primary-bg,var(--accent));flex-shrink:0;width:18px;height:18px}.assistant-report-reason input:focus-visible{outline:2px solid var(--focus-ring-color,var(--accent));outline-offset:2px;border-radius:50%}.assistant-report-details{margin-top:var(--sp-2);color:var(--fg-2,var(--text-2));font-size:var(--fs-sm);gap:.35rem;display:grid}.assistant-report-details textarea{resize:vertical;border:1px solid var(--border-soft,var(--border));border-radius:var(--radius);background:var(--surface-2);width:100%;min-height:70px;color:var(--fg,var(--text));font:inherit;padding:.65rem .75rem}.assistant-report-details textarea::placeholder{color:var(--fg-muted,var(--muted));opacity:.85}.assistant-report-details textarea:focus-visible{outline:2px solid var(--focus-ring-color,var(--accent));outline-offset:1px;border-color:var(--focus-ring-color,var(--accent))}.assistant-report-status{margin:var(--sp-2) 0 0;border-radius:var(--radius-sm);font-size:var(--fs-sm);color:var(--fg,var(--text));padding:.4rem .6rem;line-height:1.35}.assistant-report-status--success{background:color-mix(in srgb, var(--success,#4ade80) 18%, transparent);border:1px solid color-mix(in srgb, var(--success,#4ade80) 42%, transparent)}.assistant-report-status--error{background:color-mix(in srgb, var(--error,#ef4444) 18%, transparent);border:1px solid color-mix(in srgb, var(--error,#ef4444) 42%, transparent)}.assistant-report-submit{width:100%;min-height:40px;margin-top:var(--sp-2);background:linear-gradient(135deg, var(--btn-primary-bg,var(--accent)) 0%, color-mix(in srgb, var(--btn-primary-bg,var(--accent)) 76%, white) 100%);color:var(--btn-primary-fg,#1a0e04);font-weight:var(--fw-bold);cursor:pointer;border:0;border-radius:999px}.assistant-report-submit:hover:not(:disabled){background:linear-gradient(135deg, color-mix(in srgb, var(--btn-primary-bg,var(--accent)) 76%, white) 0%, var(--btn-primary-bg,var(--accent)) 100%)}.assistant-report-submit:focus-visible{outline:2px solid var(--focus-ring-color,var(--accent));outline-offset:2px}.assistant-report-submit:disabled{opacity:.55;cursor:not-allowed}.listen-btn{min-height:44px;font-size:var(--fs-xs);border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);cursor:pointer;background:#ffffff0f;align-items:center;gap:.3rem;padding:.5rem .75rem;transition:background .15s,color .15s;display:inline-flex}.listen-btn:hover:not(:disabled){color:var(--text);background:#ffffff1f}.listen-btn:disabled{opacity:.5;cursor:wait}.listen-btn-label{font-size:var(--fs-xs)}.voice-selector{display:inline-flex;position:relative}.voice-chip{font-size:var(--fs-xs);border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);cursor:pointer;white-space:nowrap;background:#ffffff0f;align-items:center;gap:.25rem;padding:.2rem .5rem;transition:background .15s,color .15s;display:inline-flex}.voice-chip:hover{color:var(--text);background:#ffffff1f}.voice-chip .voice-chip-arrow{opacity:.6;font-size:.55rem}.voice-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);z-index:50;min-width:10rem;margin:0;padding:.3rem 0;list-style:none;position:absolute;bottom:calc(100% + 4px);left:0;box-shadow:0 4px 12px #0000004d}.voice-option{font-size:var(--fs-xs);color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.4rem;width:100%;padding:.4rem .7rem;transition:background .1s;display:flex}.voice-option:hover{background:#ffffff14}.voice-option--active{color:var(--accent);font-weight:600}.quota-bar{align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-4);font-size:var(--fs-xs);color:var(--muted);border-top:1px solid var(--border);background:#07163299;flex-wrap:wrap;display:flex}.quota-bar--low{color:#f59e0b}.quota-bar--exhausted{color:#ef4444}.quota-bar--unlimited{color:var(--accent)}.quota-label{white-space:nowrap}.quota-progress{background:var(--surface-2);border-radius:2px;flex-shrink:0;width:80px;height:4px;overflow:hidden}.quota-progress-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .3s}.quota-bar--low .quota-progress-fill{background:#f59e0b}.quota-bar--exhausted .quota-progress-fill{background:#ef4444}.quota-pack-sheet-overlay{z-index:80;padding:var(--sp-4);background:#0000005c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.quota-pack-sheet{width:min(420px,100%);padding:var(--sp-5);color:var(--text);background:var(--glass-surface-strong);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:0 16px 42px #02061761, var(--glass-highlight);-webkit-backdrop-filter:saturate(130%)blur(12px);backdrop-filter:saturate(130%)blur(12px)}.quota-hint{font-size:var(--fs-xs);color:var(--accent);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.quota-hint:hover{opacity:.8}.composer{z-index:10;gap:var(--sp-2);padding:var(--sp-3) max(var(--sp-4), env(safe-area-inset-right,0px)) max(var(--sp-4), env(safe-area-inset-bottom,0px)) max(var(--sp-4), env(safe-area-inset-left,0px));border-top:1px solid var(--border);background:linear-gradient(#07163259,#071632fa 30%);grid-template-columns:1fr auto;align-items:end;display:grid;position:sticky;bottom:0}.composer textarea{resize:none;width:100%;min-height:44px;max-height:140px;padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-2);color:var(--text);overflow-y:auto}.composer button{border-radius:var(--radius-pill);background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#06202a;min-width:44px;height:36px;font-size:var(--fs-base);font-weight:var(--fw-black);border:none}.composer button:disabled,.lesson-nav button:disabled{opacity:.45;cursor:not-allowed;transform:none}.composer:has(.composer-mic){grid-template-columns:1fr auto auto}.composer-mic{width:44px;height:44px;margin-left:calc(-1 * var(--sp-1));border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:var(--fs-sm);cursor:pointer;transition:border-color var(--transition-fast), background var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.composer-mic:hover{border-color:var(--border-hover);background:var(--surface-3,var(--surface-2))}.composer-mic--listening,.composer-mic--recording{background:#ef44441f;border-color:#ef4444;animation:1.2s ease-in-out infinite mic-pulse}.composer-mic--processing,.composer-mic--uploading{opacity:.6;pointer-events:none}.composer-mic--cancel{color:#ef4444;background:#ef44441f;border-color:#ef4444;font-size:.82rem;font-weight:700}@keyframes mic-pulse{0%,to{box-shadow:0 0 #ef444459}50%{box-shadow:0 0 0 6px #ef444400}}.composer-mic-error{color:#ef4444;text-align:center;grid-column:1/-1;margin:0;padding:.15rem 0 0;font-size:.8rem}.composer-mic-info{color:var(--accent,#3b82f6);text-align:center;grid-column:1/-1;margin:0;padding:.15rem 0 0;font-size:.8rem}.lesson-toolbar,.lesson-card,.section-card{margin-bottom:var(--sp-3)}.lesson-grid{gap:var(--sp-3);padding:var(--sp-2) 0;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.lesson-grid-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-4);text-align:left;cursor:pointer;transition:border-color var(--transition-fast), transform var(--transition-fast)}.lesson-grid-card:hover{border-color:var(--accent);transform:translateY(-2px)}.lesson-grid-number{font-size:var(--fs-xs);color:var(--accent);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--sp-1)}.lesson-grid-title{font-size:var(--fs-md);color:var(--text);font-weight:var(--fw-medium)}.lesson-card,.section-card{padding:var(--sp-4)}.lesson-header{justify-content:space-between;align-items:start;gap:var(--sp-3);display:flex}.lesson-header h2,.section-card h3{margin:var(--sp-1) 0 0}.lesson-kicker,.lesson-counter{color:var(--muted);font-size:var(--fs-base)}.lesson-nav{gap:var(--sp-3);margin-top:var(--sp-3);grid-template-columns:1fr 1fr;display:grid}.lesson-nav button{padding:var(--sp-3)}.text-block p{margin:0 0 var(--sp-3)}.vocab-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.vocab-item{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-3)}.vocab-wo{font-weight:var(--fw-black);margin-bottom:var(--sp-1)}.vocab-word-link{color:inherit;text-underline-offset:.15em;text-decoration:underline}.vocab-word-link:focus-visible{outline-offset:2px;outline:2px solid}.vocab-fr{color:var(--muted)}.bullet-list{margin:0;padding-left:1.1rem}.error-banner,.empty-state{padding:var(--sp-3) var(--sp-4);margin:0 var(--sp-4) var(--sp-4)}.error-banner{align-items:center;gap:var(--sp-3);display:flex}.error-banner span{flex:1;min-width:0}.error-banner .mini-button{flex-shrink:0}.empty-state.small{padding:var(--sp-2) 0;box-shadow:none;color:var(--muted);background:0 0;border:none;margin:0}@media (width<=959px){.sidebar{height:100dvh;box-shadow:var(--shadow);transition:transform .22s;position:fixed;inset:0 auto 0 0;overflow:hidden;transform:translate(-104%)}.sidebar.is-open{transform:none}.app-shell{height:100dvh;min-height:0;overflow:hidden}.main-panel{min-height:0;overflow-y:auto}}@media (width>=960px){.sidebar{min-height:100dvh;position:sticky;top:0}.sidebar-scrim{display:none}}@media (width<=640px){.content-scroll{padding:var(--sp-2) var(--sp-3) calc(6rem + env(safe-area-inset-bottom,0px))}.topbar,.composer{padding-left:var(--sp-3);padding-right:var(--sp-3)}.sidebar-actions,.lesson-nav{grid-template-columns:1fr}.message-row{gap:var(--sp-2)}.avatar{flex-basis:38px;width:38px;height:38px}.avatar.assistant{flex-basis:44px;width:44px;height:44px}.bubble{padding:var(--sp-3)}.composer{grid-template-columns:1fr auto auto}.dictation-row{grid-template-columns:1fr}}.toggle-row{align-items:center;gap:var(--sp-2);margin-top:var(--sp-3);color:var(--muted);display:flex}.stat-grid{gap:var(--sp-2);grid-template-columns:repeat(2,1fr);display:grid}.stat-item{gap:var(--sp-1);padding:var(--sp-3);border-radius:var(--radius);border:1px solid var(--border);background:#07163299;flex-direction:column;display:flex}.stat-item strong{font-size:var(--fs-md)}.stat-item span{color:var(--muted);font-size:var(--fs-sm)}.bubble-text p{margin:0 0 var(--sp-3)}.inline-list{margin:0;padding-left:1.1rem}.reasoning-card{margin-top:var(--sp-3);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-2) var(--sp-3);background:var(--surface-2)}.reasoning-card summary{cursor:pointer;color:var(--accent-2);font-weight:var(--fw-bold)}.reasoning-steps{gap:var(--sp-2);margin-top:var(--sp-2);flex-direction:column;display:flex}.reasoning-step{gap:var(--sp-1);padding-left:var(--sp-2);border-left:2px solid #2dd4bf66;flex-direction:column;display:flex}.feedback-notice{margin-top:var(--sp-2);color:var(--muted);font-size:var(--fs-base)}.correction-panel{margin-top:var(--sp-3);padding:var(--sp-3);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-2)}.correction-panel textarea,.text-answer{background:var(--surface);width:100%;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-3)}.correction-panel textarea.correction-over-warn{border-color:#f59e0b}.correction-panel textarea.correction-over-max{border-color:#ef4444}.correction-counter-row{margin-top:var(--sp-1);font-size:var(--fs-sm);justify-content:space-between;align-items:center;display:flex}.correction-hint{color:var(--muted);font-style:italic}.correction-counter{color:var(--muted)}.correction-counter--warn{color:#f59e0b;font-weight:var(--fw-bold)}.correction-counter--error{color:#ef4444;font-weight:var(--fw-bold)}.correction-limit-msg{color:#ef4444;font-size:var(--fs-sm);margin-top:var(--sp-1)}.preview-tags{gap:var(--sp-2);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.preview-chip{align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-pill);font-size:var(--fs-sm);background:#2dd4bf1f;border:1px solid #2dd4bf40;display:inline-flex}.preview-chip.danger{background:#ff6b6b1a;border-color:#ff6b6b38}.page-label{color:var(--accent-2);font-weight:var(--fw-bold);margin-bottom:var(--sp-1)}.section-heading{border-left:3px solid var(--accent);padding-left:var(--sp-3);margin-bottom:var(--sp-3)}.section-heading h3{margin:0}.card-grid{gap:var(--sp-2);grid-template-columns:repeat(auto-fit,minmax(86px,1fr));display:grid}.table-grid{gap:var(--sp-2);flex-direction:column;display:flex}.table-row-grid{gap:var(--sp-2);grid-template-columns:repeat(auto-fit,minmax(64px,1fr));display:grid}.mini-card{border:1px solid var(--border);background:var(--surface-2);border-radius:var(--radius);padding:var(--sp-3);text-align:center}.mini-card.compact{padding:var(--sp-2)}.mini-card.stack{text-align:left;gap:var(--sp-2);flex-direction:column;display:flex}.rule-callout{border-radius:var(--radius);padding:var(--sp-3);background:#2dd4bf14;border:1px solid #2dd4bf3d}.rule-sentences{margin:var(--sp-2) 0 0 0;gap:var(--sp-2);flex-direction:column;padding:0;list-style:none;display:flex}.rule-sentences li{padding:var(--sp-2) var(--sp-3);border-radius:calc(var(--radius) * .6);background:#ffffff0a;line-height:1.5}.student-text-block{border-radius:var(--radius);padding:var(--sp-3);background:#ffb4320f;border:1px solid #ffb4324d}.student-text-label{opacity:.7;margin-bottom:var(--sp-1);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem}.student-text-content{white-space:pre-wrap;line-height:1.6}.exercise-block{gap:var(--sp-3);flex-direction:column;display:flex}.exercise-title{font-weight:var(--fw-black)}.exercise-actions{gap:var(--sp-2);flex-wrap:wrap;display:flex}.choice-list{gap:var(--sp-2);display:grid}.choice-item{align-items:center;gap:var(--sp-2);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-3);background:#0716328c;display:flex}.hint-box{padding:var(--sp-3);border-radius:var(--radius);background:#f4c95d1a;border-left:3px solid #f4c95dbf}.vocab-topbar{gap:var(--sp-2);flex-wrap:wrap;display:flex}.vocab-item.revealed{border-color:#4ade8073}.flashcard{border-radius:var(--radius-lg);padding:var(--sp-4);text-align:center;background:#071632b8;border:2px solid #2dd4bf8c}.flash-word{font-size:var(--fs-xl);font-weight:var(--fw-black)}.flash-hint{color:var(--muted);margin-top:var(--sp-1)}.flash-answer{margin-top:var(--sp-2);color:var(--success);font-weight:var(--fw-bold)}.dictation-row{gap:var(--sp-2);grid-template-columns:auto 1fr auto;align-items:start;display:grid}.topbar-auth{align-items:center;gap:var(--sp-2);flex-shrink:1;min-width:0;margin-left:auto;display:flex;overflow:hidden}.auth-username{font-size:var(--fs-sm);color:var(--accent);font-weight:var(--fw-bold);text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.auth-overlay{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.auth-modal{background:var(--glass-surface-strong);border:1px solid var(--glass-border);-webkit-backdrop-filter:saturate(130%)blur(12px);backdrop-filter:saturate(130%)blur(12px);width:90%;max-width:400px;box-shadow:0 8px 40px #00000073, var(--glass-highlight);border-radius:1.25rem;padding:2.5rem 2rem 2rem;position:relative}.auth-form{flex-direction:column;gap:1rem;display:flex}.auth-value{flex-direction:column;gap:.6rem;margin-bottom:1.25rem;display:flex}.auth-value__title{color:var(--text);margin:0;font-size:1.2rem;font-weight:700}.auth-value__list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.auth-value__item{color:var(--text);padding-left:1.6rem;font-size:.9rem;line-height:1.35;position:relative}.auth-value__item:before{content:"✓";color:var(--accent,#d97706);font-weight:700;position:absolute;top:.05rem;left:0}.auth-field{align-items:center;display:flex;position:relative}.auth-input{background:var(--surface);width:100%;color:var(--text);border:1px solid #ffffff1f;border-radius:50px;padding:.9rem 1.25rem;font-size:.95rem;transition:border-color .2s}.auth-input::placeholder{color:var(--muted)}.auth-input:focus{border-color:#ffffff4d;outline:none}.auth-field .auth-input{padding-right:3rem}.auth-eye{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:.75rem;line-height:0;transition:color .2s;position:absolute;right:.85rem}.auth-eye:hover{color:var(--text)}.auth-error{color:var(--danger,#e74c3c);text-align:center;background:#e74c3c1a;border-radius:50px;padding:.4rem .8rem;font-size:.82rem}.auth-success{color:#2f8f5b;text-align:center;background:#2f8f5b1f;border-radius:50px;padding:.4rem .8rem;font-size:.82rem}.auth-links{justify-content:flex-end;align-items:center;padding:0 .25rem;font-size:.85rem;display:flex}.auth-links .auth-link{min-height:44px}.auth-link{color:#7b9bff;cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem}.auth-link:hover{text-decoration:underline}.auth-legal{color:var(--muted);text-align:center;margin:-.25rem 0 0;padding:0 .25rem;font-size:.78rem;line-height:1.35}.auth-legal a{color:#7b9bff}.auth-legal a:hover{text-decoration:underline}.auth-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#5b7fff 0%,#8b5cf6 100%);border:none;border-radius:50px;margin-top:.25rem;padding:.85rem;font-size:1rem;font-weight:600;transition:opacity .2s,transform .15s}.auth-submit:hover{opacity:.92;transform:translateY(-1px)}.auth-submit:active{transform:translateY(0)}.auth-submit:disabled{opacity:.5;cursor:not-allowed;transform:none}.auth-actions{justify-items:center;gap:.65rem;display:grid}.email-verification-reminder{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);margin:var(--sp-3);padding:var(--sp-3);border-radius:var(--radius);color:var(--text);background:#eab3081a;border:1px solid #eab30847;font-size:.86rem;line-height:1.45;display:flex}.email-verification-reminder__note{color:var(--muted);margin-top:.35rem;font-size:.8rem}.email-verification-modal{background:var(--bg-elev,#151515);width:min(92vw,420px);color:var(--text);border:1px solid #ffffff24;border-radius:16px;padding:1.5rem;box-shadow:0 18px 50px #00000073}.email-verification-modal h2{margin:0 0 .6rem;font-size:1.15rem}.email-verification-modal p{color:var(--muted);margin:0 0 .75rem;font-size:.9rem;line-height:1.5}.email-verification-modal__actions{gap:.75rem;margin-top:1rem;display:grid}@media (width<=640px){.email-verification-reminder{flex-direction:column}}.auth-prompt{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius);font-size:var(--fs-sm);color:var(--muted);margin-bottom:var(--sp-2);background:#ffd70014;border:1px solid #ffd70033;display:flex}.auth-prompt-btn{border:1px solid var(--accent);color:var(--accent);padding:var(--sp-1) var(--sp-2);border-radius:var(--radius);font-size:var(--fs-xs);cursor:pointer;white-space:nowrap;background:0 0}.auth-prompt-btn:hover{background:var(--accent);color:var(--bg)}.auth-divider{align-items:center;gap:.75rem;margin:1.25rem 0 1rem;display:flex}.auth-divider__line{background:#ffffff1f;flex:1;height:1px}.auth-divider__text{color:var(--muted);text-transform:lowercase;font-size:.8rem}.auth-social{justify-content:center;align-items:center;gap:1.25rem;display:flex}.auth-social__google{justify-content:center;align-items:center;min-width:48px;min-height:48px;display:flex}.auth-social__btn{width:48px;height:48px;color:var(--text);cursor:pointer;background:0 0;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;transition:border-color .2s,background .2s;display:flex}.auth-social__btn:hover{background:#ffffff0d;border-color:#ffffff59}.auth-reset-screen{place-items:center;min-height:min(560px,100vh - 8rem);padding:1.5rem;display:grid}.auth-reset-card{width:min(100%,380px)}.auth-overlay[data-theme=warm]{-webkit-backdrop-filter:blur(8px);background:#1a0e04bf}.auth-modal[data-theme=warm]{-webkit-backdrop-filter:none;color:#1a0e04;background:#fdf6e8;border:1.5px solid #c8942b4d;border-radius:1.5rem;position:relative;overflow:hidden;box-shadow:0 0 0 1px #c8942b1f,0 12px 48px #1a0e0461}.auth-modal[data-theme=warm]:before{content:"";pointer-events:none;background:linear-gradient(90deg,#c8942b 0%,#d97706 50%,#c8942b 100%);border-radius:1.5rem 1.5rem 0 0;height:6px;position:absolute;top:0;left:0;right:0}.auth-modal[data-theme=warm] .auth-input{color:#1a0e04;background:#fefaf0;border:1.5px solid #c8942b47;border-radius:50px}.auth-modal[data-theme=warm] .auth-input::placeholder{color:#8a6030}.auth-modal[data-theme=warm] .auth-input:focus{border-color:#d97706;outline:none;box-shadow:0 0 0 3px #d977062e}.auth-modal[data-theme=warm] .auth-field .auth-input{padding-right:3rem}.auth-modal[data-theme=warm] .auth-eye{color:#8a6030}.auth-modal[data-theme=warm] .auth-eye:hover{color:#1a0e04}.auth-modal[data-theme=warm] .auth-error{color:#b84040;background:#b840401a;border-radius:50px}.auth-modal[data-theme=warm] .auth-success{color:#2e7d32;background:#2e7d321a;border-radius:50px}.auth-modal[data-theme=warm] .auth-link{color:var(--yaa-joor,#c8942b)}.auth-modal[data-theme=warm] .auth-link:hover{color:#1a0e04;text-decoration:underline}.auth-modal[data-theme=warm] .auth-links{justify-content:space-between}.auth-modal[data-theme=warm] .auth-legal{color:#8a6030}.auth-modal[data-theme=warm] .auth-legal a{color:var(--yaa-joor,#c8942b)}.auth-modal[data-theme=warm] .auth-legal a:hover,.auth-modal[data-theme=warm] .auth-value__title{color:#1a0e04}.auth-modal[data-theme=warm] .auth-value__item{color:#4a3418}.auth-modal[data-theme=warm] .auth-value__item:before{color:#d97706}.auth-modal[data-theme=warm] .auth-submit{color:#fff8ee;background:linear-gradient(135deg,#c8942b 0%,#d97706 100%);border:none;border-radius:50px;box-shadow:0 2px 10px #c8942b4d}.auth-modal[data-theme=warm] .auth-submit:hover{opacity:.92;transform:translateY(-1px);box-shadow:0 4px 16px #c8942b61}.auth-modal[data-theme=warm] .auth-submit:active{transform:translateY(0)}.auth-modal[data-theme=warm] .auth-submit:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.auth-modal[data-theme=warm] .auth-divider__line{background:#78501438}.auth-modal[data-theme=warm] .auth-divider__text{color:#8a6030}.auth-modal[data-theme=warm] .auth-social__btn{color:#1a0e04;background:#fefaf0;border:1.5px solid #78501447}.auth-modal[data-theme=warm] .auth-social__btn:hover{background:#fef3d5;border-color:#d97706}.auth-modal[data-theme=warm] .auth-modal__media,.auth-modal[data-theme=warm] .auth-modal__brand,.auth-modal[data-theme=warm] .auth-modal__ornament{display:none}.auth-modal[data-theme=warm] .auth-modal__media:not(:empty),.auth-modal[data-theme=warm] .auth-modal__brand:not(:empty),.auth-modal[data-theme=warm] .auth-modal__ornament:not(:empty){border-radius:var(--radius-lg,12px);pointer-events:none;display:block;position:relative;overflow:hidden}.email-verification-modal{color:#1a0e04;background:#fdf6e8;border:1.5px solid #c8942b4d;position:relative;overflow:hidden;box-shadow:0 0 0 1px #c8942b1f,0 18px 50px #1a0e0452}.email-verification-modal:before{content:"";pointer-events:none;background:linear-gradient(90deg,#c8942b 0%,#d97706 50%,#c8942b 100%);height:5px;position:absolute;top:0;left:0;right:0}.email-verification-modal h2{color:#1a0e04}.email-verification-modal p{color:#6b4c25}.email-verification-modal__hint{color:#1a0e04}.email-verification-modal .auth-submit{color:#fff8ee;background:linear-gradient(135deg,#c8942b 0%,#d97706 100%);border:none;border-radius:50px;box-shadow:0 2px 10px #c8942b4d}.email-verification-modal .auth-submit:hover{opacity:.92;transform:translateY(-1px);box-shadow:0 4px 16px #c8942b61}.email-verification-modal .auth-submit:disabled{opacity:.45;box-shadow:none;transform:none}.email-verification-modal .auth-link{color:#c8942b}.email-verification-modal .auth-link:hover{color:#1a0e04}.email-verification-modal .auth-success{color:#2e7d32;background:#2e7d321a;border-radius:50px}.email-verification-reminder{color:#1a0e04;background:#c8942b1f;border-color:#c8942b57}.email-verification-reminder strong{color:#1a0e04}.email-verification-reminder__note{color:#6b4c25}.email-verification-reminder .mini-button{color:#fff8ee;background:linear-gradient(135deg,#c8942b 0%,#d97706 100%);border:none;box-shadow:0 2px 8px #c8942b4d}.auth-reset-screen[data-theme=warm]{background:radial-gradient(90% 55% at 50% 0,#e8d5a8,#0000 60%),linear-gradient(#f5e9d0 0%,#ede0c0 55%,#e3d0a2 100%);min-height:100dvh}.auth-reset-screen[data-theme=warm] .auth-reset-card{color:#1a0e04;background:#fdf6e8;border:1.5px solid #c8942b4d;border-radius:1.5rem;padding:2rem 1.75rem 1.75rem;position:relative;overflow:hidden;box-shadow:0 0 0 1px #c8942b1f,0 12px 48px #1a0e042e}.auth-reset-screen[data-theme=warm] .auth-reset-card:before{content:"";pointer-events:none;background:linear-gradient(90deg,#c8942b 0%,#d97706 50%,#c8942b 100%);border-radius:1.5rem 1.5rem 0 0;height:5px;position:absolute;top:0;left:0;right:0}.auth-reset__heading{color:#1a0e04;text-align:center;letter-spacing:-.01em;margin:0 0 1rem;font-size:1.15rem;font-weight:700}.auth-reset__media{pointer-events:none;display:none}.auth-reset__media:not(:empty){border-radius:.75rem;width:100%;margin-bottom:1rem;display:block;overflow:hidden}.auth-reset-screen[data-theme=warm] .auth-input{color:#1a0e04;background:#fefaf0;border:1.5px solid #c8942b47;border-radius:50px}.auth-reset-screen[data-theme=warm] .auth-input::placeholder{color:#8a6030}.auth-reset-screen[data-theme=warm] .auth-input:focus{border-color:#d97706;outline:none;box-shadow:0 0 0 3px #d977062e}.auth-reset-screen[data-theme=warm] .auth-error{color:#b84040;background:#b840401a;border-radius:50px}.auth-reset-screen[data-theme=warm] .auth-success{color:#2e7d32;background:#2e7d321a;border-radius:50px}.auth-reset-screen[data-theme=warm] .auth-submit{color:#fff8ee;background:linear-gradient(135deg,#c8942b 0%,#d97706 100%);border:none;border-radius:50px;box-shadow:0 2px 10px #c8942b4d}.auth-reset-screen[data-theme=warm] .auth-submit:hover{opacity:.92;transform:translateY(-1px);box-shadow:0 4px 16px #c8942b61}.auth-reset-screen[data-theme=warm] .auth-submit:active{transform:translateY(0)}.auth-reset-screen[data-theme=warm] .auth-submit:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.dictation-label{padding-top:var(--sp-3);font-weight:var(--fw-black)}.dictation-body{gap:var(--sp-1);flex-direction:column;display:flex}.dictation-prompt{color:var(--muted);font-size:var(--fs-base)}.exercise-notice{padding:var(--sp-3);border-radius:var(--radius);border:1px solid var(--border);align-items:center;gap:var(--sp-2);animation:.25s ease-out noticeSlideIn;display:flex}@keyframes noticeSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.exercise-notice-icon{flex-shrink:0;font-size:1.1rem}.exercise-notice-text{flex:1}.exercise-notice.success{background:#4ade801f;border-color:#4ade804d}.exercise-notice.error{background:#ff6b6b1a;border-color:#ff6b6b40}.score-bar-track{background:#ffffff14;border-radius:.2rem;flex:1;min-width:4rem;height:.4rem;overflow:hidden}.score-bar-fill{background:var(--accent,#2dd4bf);border-radius:.2rem;height:100%;transition:width .4s}.lesson-progress{align-items:center;gap:var(--sp-2);margin-top:var(--sp-2);display:flex}.score-badge{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap}.score-badge--start{opacity:.7;font-style:italic}.score-perfect{font-size:1.1rem}.lesson-completion-card{text-align:center;padding:var(--sp-5) var(--sp-4);margin:var(--sp-3) 0;border-radius:var(--radius-lg,1rem);background:var(--surface-2);border:1px solid var(--border);animation:.35s ease-out cardPop}.lesson-completion-card.perfect{background:#4ade800f;border-color:#4ade8066}@keyframes cardPop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.lcc-emoji{margin-bottom:var(--sp-2);font-size:2.5rem}.lcc-title{margin-bottom:var(--sp-1);font-size:1.3rem;font-weight:700}.lcc-score{color:var(--muted);font-size:var(--fs-base)}.lcc-xp{margin-top:var(--sp-2);color:#f59e0b;font-weight:700;font-size:var(--fs-sm);background:#f59e0b26;border-radius:1rem;padding:.2rem .75rem;display:inline-block}.lcc-hint{margin-top:var(--sp-2);color:var(--muted);font-size:var(--fs-sm)}.lcc-actions{justify-content:center;gap:var(--sp-2);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.lesson-bottom-nav{justify-content:center;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3) max(var(--sp-2), env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--border);z-index:40;display:flex;position:fixed;bottom:0;left:0;right:0}.lesson-nav-btn{border:1px solid var(--border);background:var(--surface-2);width:2.8rem;height:2.8rem;color:var(--text);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;transition:border-color .15s,background .15s;display:flex}.lesson-nav-btn:hover:not(:disabled){border-color:var(--accent)}.lesson-nav-btn:disabled{opacity:.3;cursor:default}.lesson-nav-ask{font-size:1.1rem}.lesson-nav-position{font-size:var(--fs-sm);color:var(--muted);text-align:center;min-width:3rem}.lesson-scroll{padding-bottom:0!important}.lesson-header-actions{flex-shrink:0}.lesson-back-btn{font-size:var(--fs-xs);padding:var(--sp-1) var(--sp-2)}.hub-progress-wrap{align-items:center;gap:var(--sp-2);max-width:16rem;margin:.5rem auto 0;display:flex}.hub-progress-bar{background:#ffffff1a;border-radius:.2rem;flex:1;height:.4rem;overflow:hidden}.hub-progress-fill{background:var(--accent,#2dd4bf);border-radius:.2rem;height:100%;transition:width .3s}.hub-progress-label{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap}.level-selector{justify-content:center;gap:.4rem;margin-top:.75rem;display:flex}.level-btn{color:inherit;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:1rem;padding:.35rem 1rem;font-size:.85rem;font-weight:400;transition:all .15s}.level-btn.active{border:2px solid var(--accent,#2dd4bf);color:var(--accent,#2dd4bf);background:#2dd4bf26;font-weight:700}.hub-stats-row{justify-content:center;gap:var(--sp-3);margin:var(--sp-2) 0 0;flex-wrap:wrap;display:flex}.hub-stat{font-size:var(--fs-sm);background:#ffffff0f;border-radius:1rem;padding:.2rem .6rem}.hub-stat.streak{color:#f97316}.hub-stat.xp{color:#f59e0b}.hub-next-card{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);margin:0 var(--sp-3) var(--sp-3);border-radius:var(--radius);cursor:pointer;background:#2dd4bf1a;transition:background .2s;display:flex}.hub-next-card:hover{background:#2dd4bf2e}.hub-next-icon{font-size:1.2rem}.hub-next-label{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.hub-next-title{font-weight:600}.hub-review-section{padding:0 var(--sp-3) var(--sp-3)}.hub-review-header{font-size:var(--fs-sm);margin-bottom:var(--sp-2);color:var(--muted);font-weight:600}.hub-review-list{gap:var(--sp-2);flex-wrap:wrap;display:flex}.hub-review-chip{color:var(--accent,#2dd4bf);font-size:var(--fs-xs);cursor:pointer;background:#2dd4bf14;border:1px solid #2dd4bf33;border-radius:1rem;padding:.35rem .85rem;transition:background .2s}.hub-review-chip:hover{background:#2dd4bf2e}.hub-review-chip.hint{cursor:pointer}.mini-defi-overlay{z-index:1000;padding:var(--sp-3);background:#0009;justify-content:center;align-items:center;animation:.2s mdf-fadein;display:flex;position:fixed;inset:0}@keyframes mdf-fadein{0%{opacity:0}to{opacity:1}}.mini-defi-card{background:var(--surface,#1e293b);padding:var(--sp-4);border-radius:1rem;width:100%;max-width:400px;box-shadow:0 8px 32px #0006}.mini-defi-card.completion{text-align:center}.mdf-header{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);display:flex}.mdf-badge{font-size:var(--fs-sm);color:var(--accent,#2dd4bf);font-weight:600}.mdf-progress{font-size:var(--fs-xs);color:var(--muted);margin-left:auto}.mdf-close{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:1.2rem;line-height:1}.mdf-close:hover{color:var(--fg,#f8fafc)}.mdf-prompt{font-size:var(--fs-base);margin-bottom:var(--sp-3);font-weight:600}.mdf-choices{gap:var(--sp-2);flex-direction:column;display:flex}.mdf-choice{color:var(--fg,#f8fafc);font-size:var(--fs-base);text-align:left;cursor:pointer;background:#94a3b80f;border:1px solid #94a3b833;border-radius:.75rem;padding:.75rem 1rem;transition:background .15s,border-color .15s}.mdf-choice:hover:not(:disabled){border-color:var(--accent,#2dd4bf);background:#2dd4bf1a}.mdf-choice.correct{background:#22c55e1f;border-color:#22c55e}.mdf-choice.wrong{background:#ef44441a;border-color:#ef4444}.mdf-choice:disabled{cursor:default}.mdf-input-section{gap:var(--sp-2);flex-direction:column;display:flex}.mdf-display{color:#f59e0b;text-align:center;background:#f59e0b14;border-radius:.5rem;padding:.6rem;font-size:1.1rem;font-weight:500}.mdf-input{color:var(--fg,#f8fafc);font-size:var(--fs-base);background:#94a3b80f;border:1px solid #94a3b840;border-radius:.5rem;padding:.65rem .85rem}.mdf-input:focus{border-color:var(--accent,#2dd4bf);outline:none}.mdf-recall{gap:var(--sp-3);flex-direction:column;display:flex}.mdf-recall-text{font-size:var(--fs-base);color:var(--fg,#f8fafc);border-left:3px solid var(--accent,#2dd4bf);background:#2dd4bf0f;border-radius:.5rem;padding:.75rem;line-height:1.6}.mdf-feedback{margin-top:var(--sp-2);font-size:var(--fs-sm);border-radius:.5rem;padding:.6rem .85rem;line-height:1.5}.mdf-feedback.success{color:#86efac;background:#22c55e1a}.mdf-feedback.error{color:#fcd34d;background:#f59e0b1a}.mdf-actions{margin-top:var(--sp-3);justify-content:center;display:flex}.mdf-emoji{margin-bottom:var(--sp-2);font-size:3rem}.mdf-title{margin-bottom:var(--sp-1);font-size:1.2rem;font-weight:700}.mdf-score{font-size:var(--fs-sm);color:var(--muted);margin-bottom:var(--sp-2)}.mdf-hint{font-size:var(--fs-sm);color:var(--accent,#2dd4bf);margin-bottom:var(--sp-3);background:#2dd4bf0f;border-radius:.5rem;padding:.5rem}.mini-button{font-size:var(--fs-sm);cursor:pointer;border:none;border-radius:.6rem;padding:.55rem 1.2rem;font-weight:600;transition:background .15s}.mini-button.primary{background:var(--accent,#2dd4bf);color:#0f172a}.mini-button.primary:hover{filter:brightness(1.1)}.lesson-grid-card{position:relative}.lesson-grid-card.completed{border-color:var(--accent,#2dd4bf)}.lesson-grid-card.needs-review{border-color:#2dd4bf33}.lesson-done-badge,.lesson-review-badge{border-radius:50%;justify-content:center;align-items:center;width:1.4rem;height:1.4rem;font-size:.7rem;font-weight:700;display:flex;position:absolute;top:-.35rem;right:-.35rem}.lesson-done-badge{background:var(--accent,#2dd4bf);color:#000;font-size:.8rem}.lesson-review-badge{background:#2dd4bf26;font-size:.75rem}.lesson-grid-score{opacity:.6;margin-top:.25rem;font-size:.75rem}.vocab-listen,.flash-listen,.dictation-listen{vertical-align:middle;min-width:2.2rem;min-height:2.2rem;margin-left:var(--sp-1);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;display:inline-flex}.flash-listen{margin:var(--sp-2) auto 0}.flash-counter{font-size:var(--fs-xs);color:var(--muted);margin-left:auto}.exercise-notice.fading{animation:.4s ease-out forwards noticeFadeOut}@keyframes noticeFadeOut{0%{opacity:1;max-height:4rem;margin-top:0}to{opacity:0;max-height:0;margin-top:-.5rem;overflow:hidden}}.dictation-row{gap:var(--sp-2);padding:var(--sp-2) 0;border-bottom:1px solid #ffffff0a;flex-direction:column;display:flex}.dictation-row:last-child{border-bottom:none}.dictation-head{align-items:center;gap:var(--sp-2);display:flex}.dictation-input-row{gap:var(--sp-2);align-items:center;display:flex}.dictation-input-row .text-answer{flex:1}.dictation-check{flex-shrink:0;min-width:2.5rem}.contes-page{padding-bottom:6rem}@media (width<=640px){.contes-page{padding-bottom:8rem}}.contes-header{text-align:left;margin-bottom:1.35rem}.contes-header h1{margin:0;font-size:1.65rem;line-height:1.1}.contes-subtitle{color:var(--muted);margin-top:.35rem;font-size:.92rem;line-height:1.55}.contes-subtitle__note{opacity:.78}.contes-toolbar{flex-wrap:wrap;align-items:stretch;gap:.75rem;margin-bottom:1rem;display:flex}.contes-search-form{flex:1;min-width:200px;display:flex}.contes-search-input{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px 0 0 8px;flex:1;padding:.55rem .75rem;font-size:.9rem}.contes-search-input:focus{border-color:var(--border-hover);outline:none}.contes-search-btn{background:var(--accent);cursor:pointer;border:none;border-radius:0 8px 8px 0;padding:.55rem .85rem;font-size:1rem}.contes-filters{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.contes-filters select{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:6px;max-width:200px;padding:.4rem .6rem;font-size:.82rem}.contes-count{color:var(--muted);margin:.25rem 0 .75rem;font-size:.82rem}.contes-loading{text-align:center;color:var(--muted);padding:2rem}.contes-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.85rem;display:grid}.conte-card{background:color-mix(in srgb, var(--surface) 92%, transparent);text-align:left;cursor:pointer;color:var(--text);font:inherit;border:1px solid #94a3b81c;border-radius:10px;flex-direction:column;gap:.4rem;padding:1rem;transition:border-color .15s,transform .1s;display:flex}.conte-card:hover{border-color:var(--border-hover);transform:translateY(-2px)}.conte-card-title{font-size:.98rem;font-weight:700;line-height:1.25}.conte-card-meta{flex-wrap:wrap;gap:.4rem;display:flex}.conte-card-summary{color:var(--text-2);font-size:.84rem;line-height:1.55}.conte-card-themes{flex-wrap:wrap;gap:.3rem;margin-top:auto;display:flex}.conte-badge{background:color-mix(in srgb, var(--badge-color,#64748b) 18%, transparent);color:var(--badge-color,#64748b);border-radius:999px;padding:.2rem .55rem;font-size:.74rem;font-weight:600;line-height:1.3;display:inline-block}@media (width<=640px){.conte-badge{padding:.18rem .45rem;font-size:.72rem}.conte-tag{font-size:.7rem}}.conte-tag{background:var(--surface-2);color:var(--text-2);border-radius:4px;padding:.12rem .4rem;font-size:.72rem;display:inline-block}.conte-detail{max-width:800px;margin:0 auto;padding-bottom:4rem}@media (width<=640px){.conte-detail{padding-bottom:6rem}}.conte-back-btn{background:color-mix(in srgb, var(--surface-elevated) 90%, transparent);border:1px solid color-mix(in srgb, var(--border) 60%, transparent);min-height:44px;color:var(--text);cursor:pointer;box-shadow:var(--shadow-sm);transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);border-radius:999px;align-items:center;gap:.34rem;margin-bottom:1rem;padding:0 .95rem;font-size:.86rem;font-weight:700;line-height:1;display:inline-flex}.conte-back-btn:hover{background:color-mix(in srgb, var(--surface-elevated) 78%, transparent);border-color:color-mix(in srgb, var(--border) 82%, transparent);text-decoration:none}.conte-back-btn:active{transform:scale(.97)}.conte-back-btn:focus-visible{outline:2px solid var(--focus-ring-color,var(--accent));outline-offset:3px}@media (prefers-reduced-motion:reduce){.conte-back-btn{transition:none}.conte-back-btn:active{transform:none}}.conte-detail-header{margin-bottom:1rem}.conte-detail-title{margin:0 0 .5rem;font-size:1.45rem;line-height:1.16}.narration-header-cta{border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;border:1px solid #0000;align-items:center;gap:.35rem;min-height:36px;margin:0;padding:.34rem .78rem;font-size:.85rem;font-weight:700;line-height:1.2;transition:background .15s,border-color .15s,opacity .15s;display:inline-flex}.narration-header-cta--entitled{background:color-mix(in srgb, var(--accent) 12%, var(--surface));border-color:color-mix(in srgb, var(--accent) 48%, var(--border));color:var(--accent)}.narration-header-cta--entitled:hover{background:color-mix(in srgb, var(--accent) 18%, var(--surface))}.narration-header-cta--locked{background:color-mix(in srgb, #f59e0b 8%, var(--surface));border-color:color-mix(in srgb, #f59e0b 42%, var(--border));color:color-mix(in srgb, #f59e0b 88%, var(--text))}.narration-header-cta--locked:hover,.narration-header-cta--locked.narration-header-cta--open{background:color-mix(in srgb, #f59e0b 14%, var(--surface))}.narration-header-cta__lock{opacity:.85;font-size:.75rem}.narration-header-cta-wrap{display:inline-block;position:relative}.narration-cta-dialog{background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 88%, #f59e0b 12%), var(--surface));border:1px solid color-mix(in srgb, #f59e0b 24%, var(--border));border-radius:10px;max-width:360px;margin-top:.5rem;padding:1rem 1rem .75rem;animation:.15s narration-dialog-in;position:relative;box-shadow:0 8px 24px #0206173d}@keyframes narration-dialog-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.narration-cta-dialog__close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;padding:.2rem .3rem;font-size:.9rem;line-height:1;position:absolute;top:.5rem;right:.6rem}.narration-cta-dialog__close:hover{color:var(--text);background:var(--surface-2)}.narration-cta-dialog__title{margin:0 0 .5rem;font-size:.95rem;font-weight:700;line-height:1.35}.narration-cta-dialog__features{flex-direction:column;gap:.25rem;margin:0 0 .6rem;padding:0;list-style:none;display:flex}.narration-cta-dialog__features li{font-size:.85rem;line-height:1.45}.narration-cta-dialog__access{color:var(--text-muted);margin:0 0 .75rem;font-size:.82rem}.narration-cta-dialog__actions{flex-wrap:wrap;gap:.5rem;display:flex}.narration-cta-dialog__upgrade-note{color:var(--text-muted);margin:0;font-size:.82rem}@media (width<=480px){.narration-cta-dialog{max-width:100%}.narration-header-cta{padding:.28rem .6rem;font-size:.8rem}}.conte-detail-meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.conte-meta-row{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.3rem;font-size:.82rem;display:flex}.conte-meta-label{color:var(--text-2);font-weight:500}.conte-id-label{color:var(--muted);cursor:pointer;background:var(--surface-2);border-radius:4px;padding:.15rem .4rem;font-size:.75rem}.conte-id-label:hover{color:var(--accent)}.conte-section{margin-bottom:1.5rem}.conte-section h3{color:var(--text);margin:0 0 .5rem;font-size:.98rem;line-height:1.3}.conte-section p{color:var(--text-2);margin:0;font-size:.92rem;line-height:1.72}.conte-reading-entry{flex-direction:column;gap:.75rem;margin:0 0 1.5rem;display:flex}.conte-read-primary{border-radius:var(--radius);background:var(--accent);color:#00131f;justify-content:space-between;align-items:center;gap:.75rem;min-height:48px;padding:.75rem .95rem;font-size:.92rem;font-weight:800;text-decoration:none;display:flex;box-shadow:0 10px 24px #02061738}.conte-narration-value{border:1px solid color-mix(in srgb, #f59e0b 24%, var(--border));border-radius:var(--radius);background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 88%, #f59e0b 12%), var(--surface));flex-direction:column;gap:.7rem;padding:.95rem;display:flex}.conte-narration-value__eyebrow{color:color-mix(in srgb, #f59e0b 86%, var(--text));letter-spacing:0;text-transform:uppercase;margin-bottom:.25rem;font-size:.7rem;font-weight:800;line-height:1.2;display:block}.conte-narration-value h3{color:var(--text);margin:0;font-size:1rem;line-height:1.25}.conte-narration-value p{color:var(--text-2);margin:.35rem 0 0;font-size:.88rem;line-height:1.6}.conte-reading-section,.conte-full-text{scroll-margin-top:1rem}.conte-full-text summary{cursor:pointer}.conte-text-body p{color:var(--text-2);margin-bottom:.95rem;font-size:.92rem;line-height:1.78}.conte-grid-2{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=640px){.conte-grid-2{grid-template-columns:1fr}}.conte-tags{flex-wrap:wrap;gap:.35rem;display:flex}.conte-vocab-list{padding-left:1.2rem;font-size:.88rem}.conte-vocab-list li{margin-bottom:.3rem}.conte-qa{cursor:pointer;margin-bottom:.5rem}.conte-qa summary{color:var(--text);font-size:.9rem;font-weight:600;line-height:1.45}.conte-answer{color:var(--text-2);margin:.3rem 0 0 1rem;font-size:.85rem;line-height:1.55}.conte-source dl{grid-template-columns:auto 1fr;gap:.2rem .75rem;font-size:.85rem;display:grid}.conte-source dt{color:var(--muted);font-weight:500}.conte-source dd{margin:0}.conte-notes{color:var(--muted);font-size:.82rem;font-style:italic;line-height:1.5}.conte-actions{flex-wrap:wrap;gap:.6rem;margin-top:1.5rem;display:flex}.conte-action-btn{background:var(--surface-2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:8px;padding:.5rem 1rem;font-size:.85rem;transition:border-color .15s}.conte-action-btn:hover{border-color:var(--border-hover)}.conte-action-btn.primary{background:var(--accent);color:#000;border-color:var(--accent);font-weight:600}.conte-action-audio{align-items:center;gap:.35rem;display:inline-flex}.conte-fav-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;flex-shrink:0;padding:.15rem .3rem;font-size:1.3rem;line-height:1;transition:color .15s,transform .1s}.conte-fav-btn:hover{color:#f59e0b;transform:scale(1.15)}.conte-fav-btn.active{color:#f59e0b}.conte-detail-title-row{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.conte-detail-title-row .conte-detail-title{flex:1}.conte-card-top{justify-content:space-between;align-items:flex-start;gap:.4rem;display:flex}.conte-card-top .conte-card-title{flex:1}.conte-action-btn.active-filter{background:color-mix(in srgb, #f59e0b 20%, var(--surface-2));color:#f59e0b;border-color:#f59e0b;font-weight:600}.contes-recent{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:1.25rem;padding:.75rem}.contes-recent-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.contes-recent-header h3{color:var(--text-2);margin:0;font-size:.95rem}.conte-link-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:.2rem 0;font-size:.82rem}.conte-link-btn:hover{text-decoration:underline}.conte-link-btn.conte-link-danger{color:#ef4444}.contes-recent-strip{scrollbar-width:thin;gap:.5rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.conte-recent-card{background:var(--surface-2);border:1px solid var(--border);cursor:pointer;text-align:left;min-width:160px;max-width:200px;font:inherit;color:var(--text);border-radius:8px;flex-direction:column;flex-shrink:0;gap:.25rem;padding:.5rem .7rem;transition:border-color .15s;display:flex}.conte-recent-card:hover{border-color:var(--border-hover)}.conte-recent-title{font-size:.82rem;font-weight:600;line-height:1.3}.contes-history-panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:1.25rem;padding:.75rem}.contes-hga1-section{border-top:2px solid var(--border);background:var(--surface);border-radius:10px;margin-top:2.5rem;padding:1.25rem 1rem}.contes-hga1-header{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.6rem;display:flex}.contes-hga1-title{margin:0;font-size:1.15rem}.contes-hga1-badge{color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:.2rem .6rem;font-size:.78rem;font-weight:600}.contes-hga1-desc{color:var(--muted);margin:0 0 1rem;font-size:.88rem}.conte-card--draft{opacity:.85;cursor:default}.contes-hga2-section{border-top:2px solid var(--border);background:var(--surface);border-radius:10px;margin-top:2rem;padding:1.25rem 1rem}.contes-hga2-header{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.6rem;display:flex}.contes-hga2-title{margin:0;font-size:1.15rem}.contes-hga2-badge{color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:.2rem .6rem;font-size:.78rem;font-weight:600}.contes-hga2-desc{color:var(--muted);margin:0 0 1rem;font-size:.88rem}.contes-hga3-section{border-top:2px solid var(--border);background:var(--surface);border-radius:10px;margin-top:2rem;padding:1.25rem 1rem}.contes-hga3-header{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.6rem;display:flex}.contes-hga3-title{margin:0;font-size:1.15rem}.contes-hga3-badge{color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:.2rem .6rem;font-size:.78rem;font-weight:600}.contes-hga3-desc{color:var(--muted);margin:0 0 1rem;font-size:.88rem}.contes-hga4-section{border-top:2px solid var(--border);background:var(--surface);border-radius:10px;margin-top:2rem;padding:1.25rem 1rem}.contes-hga4-header{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.6rem;display:flex}.contes-hga4-title{margin:0;font-size:1.15rem}.contes-hga4-badge{color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:.2rem .6rem;font-size:.78rem;font-weight:600}.contes-hga4-desc{color:var(--muted);margin:0 0 1rem;font-size:.88rem}.contes-hga5-section{border-top:2px solid var(--border);background:var(--surface);border-radius:10px;margin-top:2rem;padding:1.25rem 1rem}.contes-hga5-header{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.6rem;display:flex}.contes-hga5-title{margin:0;font-size:1.15rem}.contes-hga5-badge{color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:.2rem .6rem;font-size:.78rem;font-weight:600}.contes-hga5-desc{color:var(--muted);margin:0 0 1rem;font-size:.88rem}.contes-hga6-section{border-top:2px solid var(--border);background:var(--surface);border-radius:10px;margin-top:2rem;padding:1.25rem 1rem}.contes-hga6-header{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.6rem;display:flex}.contes-hga6-title{margin:0;font-size:1.15rem}.contes-hga6-badge{color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:.2rem .6rem;font-size:.78rem;font-weight:600}.contes-hga6-desc{color:var(--muted);margin:0 0 1rem;font-size:.88rem}.contes-hga7-section{border-top:2px solid var(--border);background:var(--surface);border-radius:10px;margin-top:2rem;padding:1.25rem 1rem}.contes-hga7-header{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.6rem;display:flex}.contes-hga7-title{margin:0;font-size:1.15rem}.contes-hga7-badge{color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:.2rem .6rem;font-size:.78rem;font-weight:600}.contes-hga7-desc{color:var(--muted);margin:0 0 1rem;font-size:.88rem}.contes-hga8-section{border-top:2px solid var(--border);background:var(--surface);border-radius:10px;margin-top:2rem;padding:1.25rem 1rem}.contes-hga8-header{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.6rem;display:flex}.contes-hga8-title{margin:0;font-size:1.15rem}.contes-hga8-badge{color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:.2rem .6rem;font-size:.78rem;font-weight:600}.contes-hga8-desc{color:var(--muted);margin:0 0 1rem;font-size:.88rem}.conte-narration{max-width:680px;padding:.5rem 1.25rem calc(7.5rem + env(safe-area-inset-bottom,0px));margin:0 auto}@media (width>=640px){.conte-narration{padding-left:1.75rem;padding-right:1.75rem}}.narration-section{margin-bottom:1.75rem;animation:.4s ease-out narrationFadeIn}@keyframes narrationFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.narration-title-card{text-align:center;border-bottom:1px solid var(--border);margin-bottom:1.5rem;padding:2rem 1rem 1.5rem}.narration-title-card h2{margin:0 0 .5rem;font-size:1.75rem;line-height:1.25}.narration-meta{color:var(--muted);margin:0;font-size:.95rem}.narration-summary p{margin:0 0 .85rem;font-size:1rem;line-height:1.75}.narration-story p{color:var(--text);margin:0 0 1.1rem;font-size:1.08rem;line-height:1.85}.narration-story p:last-child{margin-bottom:0}.narration-summary h3,.narration-story h3,.narration-moral h3,.narration-questions h3{color:var(--text-2);margin:0 0 .75rem;font-size:1.05rem}.narration-moral blockquote{border-left:3px solid var(--accent);color:var(--text-2);margin:0;padding:.85rem 1.1rem;font-size:1rem;font-style:italic;line-height:1.65}.narration-paragraph{animation:.3s ease-out narrationFadeIn}.narration-controls{flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:2rem;display:flex}.narration-end{text-align:center;color:var(--muted);margin:0;font-size:.95rem;font-style:italic}.narration-segment--playing{background:#e9a84c1f;border-left:4px solid #e9a84c;border-radius:4px;padding-left:.75rem;transition:all .25s;animation:.4s ease-out narrationHighlight;box-shadow:inset 0 0 12px #e9a84c26,0 0 8px #e9a84c1a}.narration-title-card.narration-segment--playing{background:#e9a84c14;border-bottom:3px solid #e9a84c;border-left:none;box-shadow:0 2px 8px #e9a84c26}@keyframes narrationHighlight{0%{background:#e9a84c33;box-shadow:inset 0 0 16px #e9a84c40,0 0 12px #e9a84c33}to{background:#e9a84c1f;box-shadow:inset 0 0 12px #e9a84c26,0 0 8px #e9a84c1a}}.narration-illustration-slot{margin:1.25rem 0;padding:0;animation:.4s ease-out illustrationSlotFadeIn}.illustration-placeholder{color:#0000;background:0 0;border:none;border-top:1px solid #94a3b814;border-radius:0;height:1.5rem;padding:0;font-size:0;display:block}.narration-illustration-slot:hover .illustration-placeholder{background:0 0}@keyframes illustrationSlotFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.conte-player{background:linear-gradient(180deg, var(--surface) 0%, #0e234afa 100%);padding:.75rem 1rem max(.75rem, env(safe-area-inset-bottom,0px));z-index:100;border-top:2px solid #e9a84c59;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:0;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 18px #02061759}@media (width>=960px){.conte-player{left:320px}}.conte-player--active{border-top-color:#e9a84c}.conte-player-controls{align-items:center;gap:.5rem;display:flex}.conte-player-btn{background:var(--surface-2);border:1px solid var(--border);cursor:pointer;width:2.5rem;min-width:44px;height:2.5rem;min-height:44px;color:var(--text);border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1rem;line-height:1;transition:border-color .15s,background .15s,transform .1s;display:inline-flex}.conte-player-btn:hover:not(:disabled){background:var(--surface-3);border-color:#e9a84c}.conte-player-btn:active:not(:disabled){transform:scale(.95)}.conte-player-btn:disabled{opacity:.35;cursor:not-allowed}.conte-player-btn--main{color:#1a1a1a;background:linear-gradient(135deg,#f0bb6a 0%,#e9a84c 100%);border:1.5px solid #e9a84c;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;width:auto;min-width:8.5rem;height:2.75rem;padding:0 1.1rem;font-size:1rem;font-weight:700;display:inline-flex;box-shadow:0 3px 10px #e9a84c59,inset 0 1px #ffffff59}.conte-player-btn--main:hover:not(:disabled){background:linear-gradient(135deg,#f5c97a 0%,#f0bb6a 100%);transform:translateY(-1px);box-shadow:0 5px 14px #e9a84c73,inset 0 1px #fff6}.conte-player-btn--main:active:not(:disabled){transform:translateY(0)scale(.97)}.conte-player-label{color:var(--text);font-size:.95rem;font-weight:600}.conte-player-status{color:var(--muted);white-space:nowrap;font-size:.82rem;font-weight:500}.conte-player-voice{margin-left:auto}.conte-player-error{color:#ef4444;text-align:center;width:100%;margin:.25rem 0 0;font-size:.82rem}@media (width<=640px){.narration-title-card{padding:1.5rem .75rem 1rem}.narration-title-card h2{font-size:1.5rem}.conte-player{padding:.6rem .75rem max(.6rem, env(safe-area-inset-bottom,0px));gap:.5rem}.conte-player-btn{width:2.5rem;height:2.5rem;font-size:.95rem}.conte-player-btn--main{min-width:7rem;height:2.6rem;padding:0 .9rem;font-size:.92rem}}.conte-reading-header{background:linear-gradient(#e9a84c14 0%,#e9a84c08 100%);border:1px solid #e9a84c4d;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:0 0 1rem;padding:.75rem .9rem;display:flex}.conte-reading-header[data-state=loading]{border-color:#e9a84c80}.conte-reading-header[data-state=error]{background:linear-gradient(#ef444414 0%,#ef444405 100%);border-color:#ef44448c}.conte-reading-header__title{color:var(--text);align-items:center;gap:.6rem;min-width:0;font-size:1rem;display:flex}.conte-reading-header__title strong{font-weight:700}.conte-reading-header__narrator{background:#e9a84c2e;border:1px solid #e9a84c59;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2.2rem;height:2.2rem;font-size:1.4rem;line-height:1;display:inline-flex}.conte-reading-header__subtitle{color:var(--muted);margin-top:.1rem;font-size:.82rem;font-weight:500;display:block}.conte-reading-header__controls{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.conte-reading-header__btn{background:var(--surface-2);border:1px solid var(--border);min-width:2.5rem;height:2.5rem;color:var(--text);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:.3rem;padding:0 .9rem;font-size:.95rem;font-weight:600;line-height:1;transition:border-color .15s,background .15s,transform .1s;display:inline-flex}.conte-reading-header__btn:hover:not(:disabled){background:var(--surface-3);border-color:#e9a84c}.conte-reading-header__btn:active:not(:disabled){transform:scale(.97)}.conte-reading-header__btn:disabled{opacity:.4;cursor:not-allowed}.conte-reading-header__btn--primary{color:#1a1a1a;background:linear-gradient(135deg,#f0bb6a 0%,#e9a84c 100%);border:1.5px solid #e9a84c;min-width:9rem;padding:0 1.15rem;font-weight:700;box-shadow:0 3px 10px #e9a84c59,inset 0 1px #ffffff59}.conte-reading-header__btn--primary:hover:not(:disabled){background:linear-gradient(135deg,#f5c97a 0%,#f0bb6a 100%);transform:translateY(-1px);box-shadow:0 5px 14px #e9a84c73,inset 0 1px #fff6}.conte-reading-header__btn--primary:active:not(:disabled){transform:translateY(0)scale(.97)}.conte-player--status-only{box-shadow:none;z-index:auto;background:0 0;border:0;margin:.5rem 0 0;padding:0;display:block;position:static}.conte-player--status-only .conte-player-error{text-align:left;margin:0}@media (width<=640px){.conte-reading-header{gap:.5rem;padding:.6rem .7rem}.conte-reading-header__title{font-size:.95rem}.conte-reading-header__narrator{width:2rem;height:2rem;font-size:1.2rem}.conte-reading-header__btn--primary{min-width:7.5rem;padding:0 .95rem;font-size:.92rem}}.conte-reading-strip{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:10px;align-items:center;gap:.6rem;margin:0 0 .9rem;padding:.55rem .85rem;font-size:.9rem;display:flex}.conte-reading-strip__narrator{align-items:center;gap:.35rem;font-weight:600;display:inline-flex}.conte-reading-strip__narrator-emoji{font-size:1.1rem;line-height:1}.conte-reading-strip__label{color:var(--text)}.conte-reading-strip__meta{color:var(--muted);margin-left:auto;font-size:.82rem;font-weight:500}.narration-audio-segment{background:var(--surface);border:1px solid var(--border);border-left:4px solid #0000;border-radius:10px;margin:0 0 .9rem;padding:.85rem 1rem .9rem;transition:border-color .2s,background .2s;position:relative}.narration-audio-segment__label{color:#e9a84c;letter-spacing:.01em;align-items:baseline;gap:.5rem;margin:0 0 .35rem;font-size:.95rem;font-weight:700;display:flex}.narration-audio-segment__num{color:#e9a84c;background:#e9a84c2e;border-radius:999px;justify-content:center;align-items:center;min-width:1.4rem;height:1.4rem;padding:0 .4rem;font-size:.78rem;font-weight:700;line-height:1;display:inline-flex}.narration-audio-segment__text{color:var(--text);white-space:pre-wrap;margin:0;font-size:1rem;line-height:1.65}.narration-audio-segment__text+.narration-audio-segment__text{margin-top:.55rem}.narration-audio-segment.narration-segment--playing{background:#e9a84c0f;border-left-color:#e9a84c}.conte-player.conte-player--inline{border:1px solid var(--border);border-top:1px solid var(--border);box-shadow:none;z-index:auto;border-radius:12px;margin:1rem 0 1.25rem;padding:.75rem .9rem;position:static;bottom:auto;left:auto;right:auto}@media (width>=960px){.conte-player.conte-player--inline{left:auto}}@media (width<=640px){.conte-reading-strip{padding:.5rem .7rem;font-size:.85rem}.conte-reading-strip__meta{font-size:.78rem}.narration-audio-segment{margin-bottom:.75rem;padding:.7rem .8rem .75rem}.narration-audio-segment__label{font-size:.88rem}.narration-audio-segment__text{font-size:.95rem;line-height:1.6}.conte-player.conte-player--inline{padding:.6rem .7rem}}.conte-reading-sticky{top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb, var(--surface-2) 78%, transparent);border:1px solid color-mix(in srgb, var(--border) 80%, transparent);-webkit-backdrop-filter:saturate(140%)blur(10px);border-radius:14px;flex-direction:column;gap:.35rem;margin:0 -.25rem 1.1rem;padding:.55rem .8rem .65rem;transition:background .25s,box-shadow .25s;display:flex;position:sticky;box-shadow:0 6px 18px -14px #00000059}.conte-reading-sticky[data-state=playing],.conte-reading-sticky[data-state=paused],.conte-reading-sticky[data-state=loading]{background:color-mix(in srgb, var(--surface-2) 88%, transparent);box-shadow:0 10px 22px -14px #00000073}.conte-reading-sticky .conte-reading-strip{background:0 0;border:none;margin:0;padding:.1rem .15rem}.conte-reading-sticky .conte-player.conte-player--inline{box-shadow:none;background:0 0;border:none;border-radius:0;margin:0;padding:.3rem .25rem .1rem}body.reading-narration .conte-narration{padding-bottom:1.5rem}.conte-narration .narration-audio-segment{margin:0 0 1.1rem;padding:1rem 1.1rem 1.05rem;line-height:1.75}.conte-narration .narration-audio-segment__text{font-size:1.05rem;line-height:1.8}.conte-narration .narration-audio-segment__text+.narration-audio-segment__text{margin-top:.75rem}.narration-audio-segment--jumpable{cursor:pointer}.narration-audio-segment--jumpable:hover{border-left-color:#e9a84c73}.narration-audio-segment--jumpable:focus-visible{outline-offset:2px;outline:2px solid #e9a84c}@media (width<=640px){.conte-reading-sticky{border-radius:12px;gap:.3rem;padding:.5rem .6rem .6rem}.conte-narration .narration-audio-segment{margin-bottom:.95rem;padding:.85rem .9rem .9rem}.conte-narration .narration-audio-segment__text{font-size:1rem;line-height:1.7}}.admin-screen{padding:var(--sp-4);background:var(--brand-bg);width:100%;min-width:0;max-width:90rem;margin:0 auto}.admin-local-header{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.admin-local-header__back,.admin-local-header__nav button{min-height:44px;padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-weight:var(--fw-bold)}.admin-local-header__title{align-items:center;gap:var(--sp-2);min-width:0;display:flex}.admin-local-header__title h1{margin:0;font-size:clamp(1.35rem,2.5vw,2rem)}.admin-local-header__nav{gap:var(--sp-1);display:flex}.admin-local-header__nav button[aria-current=page]{border-color:var(--accent);color:var(--accent)}.admin-screen h2{margin-bottom:var(--sp-3);font-size:1.1rem}.admin-tabs{gap:var(--sp-1);margin-bottom:var(--sp-4);border-bottom:1px solid var(--border);display:flex}.admin-tab{min-height:44px;padding:var(--sp-2);color:var(--muted);font-weight:var(--fw-bold);cursor:pointer;text-align:center;background:0 0;border:none;border-bottom:2px solid #0000;flex:1}.admin-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.admin-loading,.admin-empty{color:var(--muted);text-align:center;padding:var(--sp-6) 0}.admin-list{gap:var(--sp-3);flex-direction:column;display:flex}.admin-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-3)}.admin-card-header{margin-bottom:var(--sp-2);color:var(--muted);justify-content:space-between;font-size:.85rem;display:flex}.admin-card-id{font-weight:var(--fw-bold)}.admin-field{margin-bottom:var(--sp-2)}.admin-field label{color:var(--muted);margin-bottom:2px;font-size:.8rem;display:block}.admin-field span{background:var(--surface-2);padding:var(--sp-2);border-radius:var(--radius-sm);white-space:pre-wrap;font-size:.9rem;display:block}.admin-field--bad span{border-left:3px solid var(--error)}.admin-field--good span{border-left:3px solid var(--success,#10b981)}.admin-actions{gap:var(--sp-2);margin-top:var(--sp-3);display:flex}.admin-btn{padding:var(--sp-2);border-radius:var(--radius-sm);font-weight:var(--fw-bold);cursor:pointer;border:none;flex:1}.admin-btn--approve{background:var(--success,#10b981);color:#fff}.admin-btn--reject{background:var(--error);color:#fff}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-review-info{gap:var(--sp-2);margin-top:var(--sp-2);align-items:center;font-size:.85rem;display:flex}.admin-status{font-weight:var(--fw-bold)}.admin-status--approved{color:var(--success,#10b981)}.admin-status--rejected{color:var(--error)}.admin-review-date{color:var(--muted)}.admin-section-switcher{gap:var(--sp-2);margin-bottom:var(--sp-4);overscroll-behavior-inline:contain;display:flex;overflow-x:auto}.admin-section-btn{padding:var(--sp-2) var(--sp-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-weight:var(--fw-bold);cursor:pointer;color:var(--muted);text-align:center;flex:1;font-size:.85rem}.admin-section-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.admin-users-search{gap:var(--sp-2);margin-bottom:var(--sp-3);display:flex}.admin-users-input{padding:var(--sp-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);flex:1;font-size:.9rem}.admin-btn--search{background:var(--accent);color:#fff;padding:var(--sp-2) var(--sp-3)}.admin-subs-intro{color:var(--muted);margin-bottom:var(--sp-3);font-size:.86rem;line-height:1.5}.admin-subs-results{gap:var(--sp-1);margin-top:var(--sp-2);flex-direction:column;display:flex}.admin-subs-user{gap:var(--sp-2);padding:var(--sp-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);text-align:left;cursor:pointer;grid-template-columns:1fr 1.4fr auto;align-items:center;font-size:.86rem;display:grid}.admin-subs-user:hover{border-color:var(--accent)}.admin-subs-user.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.admin-subs-user-name{font-weight:var(--fw-bold)}.admin-subs-user-email{color:var(--muted);text-overflow:ellipsis;overflow:hidden}.admin-subs-user-id{color:var(--muted);font-family:monospace;font-size:.72rem}.admin-subs-detail{margin-top:var(--sp-3);padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.admin-subs-detail h3{margin:0 0 var(--sp-2);font-size:1rem}.admin-subs-detail-email{color:var(--muted);font-size:.85rem;font-weight:400}.admin-subs-state{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);flex-wrap:wrap;font-size:.88rem;display:flex}.admin-subs-state-label,.admin-subs-free,.admin-subs-ends{color:var(--muted)}.admin-subs-ref-label{color:var(--muted);margin-bottom:var(--sp-2);font-size:.82rem;display:block}.admin-subs-ref-label .admin-users-input{margin-top:var(--sp-1)}.admin-subs-required{color:var(--error)}.admin-subs-buttons{gap:var(--sp-2);flex-wrap:wrap;display:flex}.admin-subs-buttons .admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-users-table-wrap{overflow-x:auto}.admin-users-table{border-collapse:collapse;width:100%;font-size:.88rem}.admin-users-table th,.admin-users-table td{padding:var(--sp-2);text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.admin-users-table th{font-weight:var(--fw-bold);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem}.admin-role-badge{font-size:.78rem;font-weight:var(--fw-bold);border-radius:999px;padding:2px 8px;display:inline-block}.admin-role-badge--admin{background:var(--accent);color:#fff}.admin-role-badge--user{background:var(--surface-2);color:var(--muted)}.admin-btn--promote{background:var(--success,#10b981);color:#fff;padding:4px 10px;font-size:.8rem}.admin-btn--demote{background:var(--error);color:#fff;padding:4px 10px;font-size:.8rem}.admin-pagination{justify-content:center;align-items:center;gap:var(--sp-3);margin-top:var(--sp-3);font-size:.85rem;display:flex}.admin-pagination button{padding:var(--sp-1) var(--sp-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text)}.admin-pagination button:disabled{opacity:.4;cursor:not-allowed}.admin-toast{top:var(--sp-3);right:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius);font-weight:var(--fw-bold);z-index:9999;font-size:.9rem;animation:.25s ease-out admin-toast-in;position:fixed}.admin-toast--success{background:var(--success,#10b981);color:#fff}.admin-toast--error{background:var(--error);color:#fff}@keyframes admin-toast-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.admin-confirm-overlay{z-index:9998;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.admin-confirm-dialog{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-4);text-align:center;width:90%;max-width:24rem}.admin-confirm-dialog p{margin-bottom:var(--sp-3)}.admin-confirm-actions{gap:var(--sp-2);justify-content:center;display:flex}.audio-play-btn{border-radius:var(--radius-pill);cursor:pointer;background:var(--surface-2);color:var(--text);transition:background var(--transition), transform var(--transition);border:none;justify-content:center;align-items:center;display:inline-flex}.audio-play-btn:hover:not(:disabled){background:var(--surface-3);transform:scale(1.08)}.audio-play-btn--sm{width:44px;min-width:44px;height:44px;min-height:44px;font-size:.92rem}.audio-play-btn--md{width:44px;min-width:44px;height:44px;min-height:44px;font-size:1rem}.audio-play-btn--playing{background:var(--accent);color:#fff}.audio-play-btn--error{background:var(--error);color:#fff;position:relative}.audio-play-btn-msg{white-space:nowrap;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);pointer-events:none;z-index:10;padding:2px 8px;font-size:.72rem;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 2px 6px #00000026}.admin-audio-tab h2{margin-bottom:var(--sp-3);font-size:1.1rem}.admin-audio-stats{gap:var(--sp-3);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.admin-audio-stat{padding:var(--sp-2) var(--sp-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-size:.85rem;font-weight:var(--fw-bold)}.admin-audio-stat--recorded{border-color:var(--success,#10b981);color:var(--success,#10b981)}.admin-audio-stat--aliased{border-color:var(--accent,#e9a84c);color:var(--accent,#e9a84c)}.admin-audio-stat--generated{color:#8b5cf6;border-color:#8b5cf6}.admin-audio-stat--tts{border-color:var(--muted);color:var(--muted)}.admin-audio-filters{gap:var(--sp-2);margin-bottom:var(--sp-3);display:flex}.admin-audio-select{padding:var(--sp-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:.9rem}.admin-audio-count{color:var(--muted);margin-bottom:var(--sp-2);font-size:.85rem}.admin-audio-table-wrap{overflow-x:auto}.admin-audio-table{border-collapse:collapse;width:100%;font-size:.85rem}.admin-audio-table th,.admin-audio-table td{padding:var(--sp-2);text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.admin-audio-table th{font-weight:var(--fw-bold);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem}.admin-audio-table td:nth-child(2),.admin-audio-table td:nth-child(3){white-space:normal;max-width:14rem}.admin-audio-key{color:var(--accent);font-family:monospace;font-size:.82rem}.admin-audio-type{font-size:.75rem;font-weight:var(--fw-bold);border-radius:999px;padding:1px 6px}.admin-audio-type--vocab{background:var(--fn-mool);color:#fff}.admin-audio-type--sentence{background:var(--fn-jeeri);color:#fff}.admin-audio-type--phrase{background:var(--fn-joor);color:#fff}.admin-audio-type--alphabet{background:var(--fn-yaru);color:#fff}.admin-audio-badge{font-size:.78rem;font-weight:var(--fw-bold)}.admin-audio-badge--rec{color:var(--success,#10b981)}.admin-audio-badge--aliased{color:var(--accent,#e9a84c)}.admin-audio-badge--generated{color:#8b5cf6}.admin-audio-badge--tts{color:var(--muted)}.admin-oral-tab h2{margin-bottom:var(--sp-3);font-size:1.1rem}.admin-oral-lookup{gap:var(--sp-2);margin-bottom:var(--sp-3);display:flex}.admin-oral-exercise{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-4);margin-top:var(--sp-3)}.admin-oral-ref{margin-bottom:var(--sp-3)}.admin-oral-wolof{font-size:1.05rem;font-weight:var(--fw-bold);color:var(--accent)}.admin-btn--play{width:100%;padding:var(--sp-3);background:var(--fn-mool);color:#fff;border-radius:var(--radius-sm);font-weight:var(--fw-bold);cursor:pointer;margin-bottom:var(--sp-3);border:none}.admin-btn--play:hover{opacity:.9}.admin-oral-validate{gap:var(--sp-2);flex-direction:column;display:flex}.admin-oral-validate label{color:var(--muted);font-size:.85rem}.admin-oral-result{margin-top:var(--sp-3);padding:var(--sp-3);border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border)}.admin-oral-result--error{border-color:var(--error)}.admin-oral-error{color:var(--error);font-weight:var(--fw-bold)}.admin-oral-score{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2);display:flex}.admin-oral-score-label{font-weight:var(--fw-bold)}.admin-oral-score-value{font-size:1.3rem;font-weight:var(--fw-bold)}.admin-oral-score-value.good{color:var(--success,#10b981)}.admin-oral-score-value.bad{color:var(--error)}.admin-oral-accepted{margin-bottom:var(--sp-2);font-weight:var(--fw-bold)}.admin-progression-tab h2{margin-bottom:var(--sp-3);font-size:1.1rem}.admin-progression-tab h3{margin:var(--sp-4) 0 var(--sp-2);color:var(--text-2);font-size:.95rem}.admin-prog-summary{gap:var(--sp-2);margin-bottom:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}.admin-prog-stat{padding:var(--sp-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;align-items:center;display:flex}.admin-prog-stat-value{font-size:1.3rem;font-weight:var(--fw-bold);color:var(--accent)}.admin-prog-stat-label{color:var(--muted);text-align:center;font-size:.78rem}.admin-prog-worlds{margin-bottom:var(--sp-4)}.admin-prog-world-row{gap:var(--sp-2);margin-bottom:var(--sp-1);font-size:.9rem;display:flex}.admin-prog-world-label{color:var(--muted)}.admin-prog-world-value{font-weight:var(--fw-bold);color:var(--text)}.admin-prog-world-cards{gap:var(--sp-2);margin-top:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.admin-prog-world-card{padding:var(--sp-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.admin-prog-world-card--completed{border-color:var(--success,#10b981)}.admin-prog-world-card--in_progress{border-color:var(--accent)}.admin-prog-world-card--locked{opacity:.6}.admin-prog-world-card-title{font-weight:var(--fw-bold);margin-bottom:var(--sp-1);font-size:1rem}.admin-prog-world-card-status{margin-bottom:var(--sp-2);font-size:.8rem}.admin-prog-world-card-status--completed{color:var(--success,#10b981)}.admin-prog-world-card-status--in_progress{color:var(--accent)}.admin-prog-world-card-status--locked{color:var(--muted)}.admin-prog-world-card-bar{background:var(--surface-2);border-radius:4px;height:8px;position:relative;overflow:hidden}.admin-prog-world-card-fill{background:var(--accent);border-radius:4px;transition:width .4s;position:absolute;inset:0}.admin-prog-world-card-pct{color:var(--muted);font-size:.72rem;position:absolute;top:-16px;right:0}.admin-prog-review{margin-bottom:var(--sp-4)}.admin-prog-review-list{gap:var(--sp-1);flex-direction:column;display:flex}.admin-prog-review-item{padding:var(--sp-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.88rem}.admin-prog-scores{margin-bottom:var(--sp-4)}.admin-prog-scores-grid{gap:var(--sp-2);flex-wrap:wrap;display:flex}.admin-prog-score-chip{align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.82rem;display:flex}.admin-prog-score-bind{color:var(--muted);font-family:monospace}.admin-prog-score-val{font-weight:var(--fw-bold)}.admin-prog-score-val.good{color:var(--success,#10b981)}.admin-prog-score-val.mid{color:var(--warm)}.admin-prog-score-val.bad{color:var(--error)}.analytics-screen{padding:var(--sp-4);width:100%;min-width:0;max-width:90rem;margin:0 auto}.analytics-header{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.analytics-header h2{margin:0}.analytics-window-selector{gap:var(--sp-1);border-bottom:1px solid var(--border);margin-bottom:var(--sp-4);display:flex;overflow-x:auto}.analytics-section{margin-bottom:var(--sp-6)}.analytics-section h3{margin-bottom:var(--sp-3);font-size:1.1rem}.analytics-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));display:grid}.analytics-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-3);text-align:center}.analytics-card-value{font-size:1.75rem;font-weight:var(--fw-bold);color:var(--accent)}.analytics-card-label{color:var(--muted);margin-top:2px;font-size:.8rem}.analytics-card-sub{color:var(--muted);opacity:.7;font-size:.7rem}.analytics-tables-row{gap:var(--sp-4);margin-top:var(--sp-4);flex-wrap:wrap;display:flex}.analytics-table-wrap{overscroll-behavior-inline:contain;flex:1;min-width:16rem;max-width:100%;overflow-x:auto}.analytics-table-wrap h4{margin-bottom:var(--sp-2);font-size:.95rem}.analytics-table{border-collapse:collapse;width:100%;min-width:28rem;font-size:.85rem}@media (width>=960px){.app-shell--admin-premium>.sidebar>.sidebar-admin-group{margin:0;display:block}.app-shell--admin-premium>.sidebar>.sidebar-admin-group>summary{justify-content:center;font-size:0}.app-shell--admin-premium>.sidebar .sidebar-actions-admin{grid-template-columns:1fr;display:grid}.app-shell--admin-premium>.sidebar .sidebar-actions-admin .sidebar-action{justify-content:center;min-height:52px;padding:8px;font-size:0}.app-shell--admin-premium>.sidebar .sidebar-actions-admin .km-icon,.app-shell--admin-premium>.sidebar>.sidebar-admin-group>summary .km-icon{width:24px;height:24px}}@media (width>=1320px){.app-shell--admin-premium>.sidebar>.sidebar-admin-group>summary,.app-shell--admin-premium>.sidebar .sidebar-actions-admin .sidebar-action{justify-content:flex-start;font-size:.9rem}}@media (width<=959px){.app-shell--admin-premium>.sidebar,.app-shell--admin-premium>.sidebar-scrim{display:none}.admin-screen,.analytics-screen{padding:var(--sp-3)}.admin-local-header{grid-template-columns:1fr auto}.admin-local-header__back{grid-column:1;justify-self:start}.admin-local-header__title{grid-area:1/2}.admin-local-header__nav{grid-column:1/-1;width:100%}.admin-local-header__nav button{flex:1}}.analytics-table th,.analytics-table td{text-align:left;padding:var(--sp-1) var(--sp-2);border-bottom:1px solid var(--border)}.analytics-table th{color:var(--muted);font-weight:var(--fw-bold)}.analytics-cell-id{text-overflow:ellipsis;white-space:nowrap;max-width:14rem;overflow:hidden}.tier-badge{font-size:.65rem;font-weight:var(--fw-bold);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.04em;padding:.1em .45em}.tier-plus{background:var(--accent);color:var(--bg)}.tier-school{color:#fff;background:#5b8c2a}.tier-admin{color:#fff;background:#9333ea}.tier-reviewer{color:#fff;background:#0284c7}.tier-auditor{color:#fff;background:#d97706}.tier-user{color:inherit;background:0 0}.sidebar-identity{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-1);font-size:var(--fs-sm);display:flex}.sidebar-identity-name{color:var(--accent);font-weight:var(--fw-bold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar-logout .logout-icon{display:none}.upgrade-prompt{background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 88%, var(--warm) 12%), var(--surface));border:1px solid color-mix(in srgb, var(--warm) 30%, var(--border));border-radius:var(--radius);padding:var(--sp-3) var(--sp-4);font-size:var(--fs-sm);color:var(--text-2);text-align:center;margin:var(--sp-2) 0;line-height:1.55;box-shadow:0 8px 24px #02061729}.figures-screen{flex-direction:column;min-height:100%;display:flex}.figures-content{padding:1.5rem 1rem var(--app-bottom-nav-clearance);flex-direction:column;gap:2rem;width:100%;max-width:860px;margin:0 auto;display:flex}.figures-hero{text-align:center;opacity:0;background:linear-gradient(170deg,#0a1628 0%,#112240 45%,#1a1a2e 100%);padding:3rem 1.5rem 2.5rem;transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1);position:relative;overflow:hidden;transform:translateY(12px)}.figures-hero--visible{opacity:1;transform:translateY(0)}.figures-hero__bg{opacity:.07;pointer-events:none;filter:grayscale(.4);background-position:50%;background-size:cover;position:absolute;inset:0}.figures-hero__media{pointer-events:none;display:none}.figures-hero__media:not(:empty){z-index:0;border-radius:inherit;display:block;position:absolute;inset:0;overflow:hidden}.figures-hero__ornament{pointer-events:none;background:radial-gradient(600px 200px at 50% 100%,#2dd4bf0f 0%,#0000 70%),radial-gradient(300px 300px at 80% 20%,#8b5cf60a 0%,#0000 60%);position:absolute;inset:0}.figures-hero__inner{max-width:580px;margin:0 auto;position:relative}.figures-hero__label{text-transform:uppercase;letter-spacing:.25em;color:var(--accent);margin:0 0 1rem;font-size:.7rem;font-weight:600}.figures-hero__divider{background:linear-gradient(90deg, transparent, var(--accent), transparent);width:40px;height:1px;margin:0 auto 1.25rem}.figures-hero__quote{font-family:var(--font-display);color:var(--text);letter-spacing:.01em;quotes:none;margin:0 0 1.25rem;font-size:1.1rem;font-style:italic;line-height:1.8}.figures-hero__author{font-family:var(--font-display);color:var(--muted);letter-spacing:.06em;margin-bottom:1rem;font-size:.85rem;font-style:normal;font-weight:600;display:block}.figures-hero__enter{letter-spacing:.12em;color:var(--text-2);opacity:.6;margin:0;font-size:.72rem;font-style:italic}.figures-header{text-align:center}.figures-title{color:var(--text);margin:0 0 .4rem;font-size:1.4rem;font-weight:700}.figures-subtitle{font-size:var(--fs-sm);color:var(--muted);margin:0;line-height:1.5}.figures-search{margin:0}.figures-search__field{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);align-items:center;gap:.75rem;padding:.6rem 1.2rem;transition:border-color .2s,box-shadow .2s;display:flex}.figures-search__field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #2dd4bf1a}.figures-search__icon{opacity:.5;flex-shrink:0;font-size:.9rem}.figures-search__input{min-height:44px;color:var(--text);font-size:var(--fs-sm);background:0 0;border:none;outline:none;flex:1}.figures-search__input::placeholder{color:var(--muted)}.figures-filters{flex-wrap:wrap;gap:.5rem;display:flex}.figures-chip{border-radius:var(--radius-pill);border:1px solid var(--border);min-height:44px;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;padding:.4rem .9rem;font-size:.78rem;transition:all .2s}.figures-chip:hover{border-color:var(--border-hover);color:var(--text)}.figures-chip--active{border-color:var(--accent);color:var(--accent);background:#2dd4bf1f;font-weight:600}.figures-section{flex-direction:column;gap:1rem;display:flex}.figures-section__title{color:var(--text-2);border-bottom:1px solid var(--border);margin:0;padding-bottom:.5rem;font-size:1rem;font-weight:700}.figures-grid{grid-template-columns:1fr;gap:1rem;display:grid}.figure-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;color:var(--text);font:inherit;flex-direction:column;padding:0;transition:transform .3s cubic-bezier(.22,.61,.36,1),box-shadow .3s,border-color .3s;display:flex;position:relative;overflow:hidden}.figure-card:hover{box-shadow:0 12px 32px #00000059, 0 0 0 1px #2dd4bf1f, 0 0 20px color-mix(in srgb, var(--card-accent,var(--accent)) 15%, transparent);border-color:var(--border-hover);transform:translateY(-3px)scale(1.02)}.figure-card__accent-bar{background:var(--card-accent,var(--accent));flex-shrink:0;height:4px}.figure-card__body{flex-direction:column;flex:1;gap:.75rem;padding:1.1rem 1.25rem .9rem;display:flex}.figure-card__top{align-items:flex-start;gap:.85rem;display:flex}.figure-card__thumb{object-fit:cover;border:2px solid var(--card-accent,var(--accent));opacity:.92;border-radius:50%;flex-shrink:0;width:44px;height:44px}.figure-card__icon{border:1px solid var(--border);background:#ffffff0a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.4rem;display:flex}.figure-card__identity{flex-direction:column;gap:.2rem;min-width:0;display:flex}.figure-card__name{color:var(--text);font-size:.95rem;font-weight:700;line-height:1.3}.figure-card__meta{color:var(--muted);letter-spacing:.02em;font-size:.75rem}.figure-card__summary{color:var(--text-2);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.82rem;line-height:1.6;display:-webkit-box;overflow:hidden}.figure-card__quote{font-family:var(--font-display);color:var(--accent-2);border-left:2px solid var(--card-accent,var(--accent));opacity:.85;margin:0;padding-left:.75rem;font-size:.8rem;font-style:italic;line-height:1.5}.figure-card__footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:.65rem 1.25rem;display:flex}.figure-card__cta{color:var(--card-accent,var(--accent));letter-spacing:.03em;font-size:.75rem;font-weight:600;transition:letter-spacing .2s}.figure-card:hover .figure-card__cta{letter-spacing:.08em}.figure-card__video-hint{color:var(--muted);opacity:.7;font-size:.7rem;transition:opacity .2s}.figure-card:hover .figure-card__video-hint{opacity:1;color:var(--warm)}.figure-card--featured{border-color:#f4c95d33}.figure-card--featured .figure-card__accent-bar{background:linear-gradient(90deg, var(--warm), var(--warm-2))}.figures-empty{text-align:center;color:var(--muted);padding:2.5rem 1rem}.figures-empty__icon{margin-bottom:.5rem;font-size:2rem;display:block}@media (width>=480px){.figures-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=640px){.figures-hero{padding:4rem 2rem 3rem}.figures-hero__quote{font-size:1.3rem}.figures-content{padding:2rem 1.5rem var(--app-bottom-nav-clearance);gap:2.5rem}.figures-title{font-size:1.6rem}}@media (width>=960px){.figures-content{padding-bottom:4rem}}@media (width>=768px){.figures-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}}.fdetail{flex-direction:column;min-height:100%;display:flex}.fdetail__nav{border-bottom:1px solid var(--border);background:var(--surface);padding:.75rem 1rem}.fdetail__back{background:color-mix(in srgb, var(--surface-elevated) 90%, transparent);border:1px solid color-mix(in srgb, var(--border) 60%, transparent);border-radius:var(--radius-pill);min-height:44px;color:var(--text);cursor:pointer;box-shadow:var(--shadow-sm);transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);align-items:center;gap:.34rem;padding:0 .95rem;font-size:.86rem;font-weight:700;line-height:1;display:inline-flex}.fdetail__back:hover{background:color-mix(in srgb, var(--surface-elevated) 78%, transparent);border-color:color-mix(in srgb, var(--border) 82%, transparent);color:var(--text)}.fdetail__back:active{transform:scale(.97)}.fdetail__back:focus-visible{outline:2px solid var(--focus-ring-color,var(--accent));outline-offset:3px}@media (prefers-reduced-motion:reduce){.fdetail__back{transition:none}.fdetail__back:active{transform:none}}.fdetail__hero{border-bottom:1px solid var(--border);padding:2rem 1.25rem 1.5rem;position:relative;overflow:hidden}.figure-detail-hero__media{pointer-events:none;display:none}.figure-detail-hero__media:not(:empty){z-index:0;border-radius:inherit;display:block;position:absolute;inset:0;overflow:hidden}.fdetail__hero-accent{background:var(--fig-accent,var(--accent));width:4px;position:absolute;top:0;bottom:0;left:0}.fdetail__name{color:var(--text);letter-spacing:-.01em;margin:0 0 .6rem;font-size:1.6rem;font-weight:800;line-height:1.25}.fdetail__meta{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.75rem;display:flex}.fdetail__meta>span{color:var(--muted);font-size:.8rem}.fdetail__meta>span:not(:last-child):after{content:"·";opacity:.5;margin-left:.4rem}.fdetail__badge{color:#fff;border-radius:var(--radius-pill);letter-spacing:.02em;padding:.25rem .7rem;font-size:.72rem;font-weight:600;display:inline-block}.fdetail__body{padding:1.35rem 1.1rem calc(7rem + env(safe-area-inset-bottom,0px));flex-direction:column;gap:1.35rem;width:100%;max-width:680px;margin:0 auto;display:flex}.fdetail__intro{background:color-mix(in srgb, var(--surface) 86%, transparent);border:1px solid #94a3b81f;border-left:3px solid var(--fig-accent,var(--accent));border-radius:var(--radius);padding:1rem 1.05rem}.fdetail__eyebrow{color:color-mix(in srgb, var(--fig-accent,var(--accent)) 78%, var(--text));letter-spacing:0;text-transform:uppercase;margin-bottom:.4rem;font-size:.7rem;font-weight:800;line-height:1.2;display:block}.fdetail__summary{color:var(--text);margin:0;font-size:.96rem;line-height:1.72}.fdetail__takeaway{background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 88%, var(--accent) 12%), var(--surface));border:1px solid color-mix(in srgb, var(--accent) 28%, var(--border));border-radius:var(--radius);padding:1rem 1.05rem}.fdetail__takeaway p{color:var(--text);margin:0;font-size:.95rem;font-weight:600;line-height:1.65}.fdetail__section{flex-direction:column;gap:.55rem;display:flex}.fdetail__section-title{color:color-mix(in srgb, var(--fig-accent,var(--accent)) 72%, var(--text));text-transform:uppercase;letter-spacing:0;margin:0;font-size:.78rem;font-weight:800;line-height:1.2}.fdetail__card{background:color-mix(in srgb, var(--surface) 90%, transparent);border-radius:var(--radius);border:1px solid #94a3b81c;padding:1rem 1.15rem}.fdetail__card p{color:var(--text-2);margin:0;font-size:.9rem;line-height:1.74}.fdetail__card p+p{margin-top:.7rem}.fdetail__card--highlight{background:#2dd4bf0d;border-color:#2dd4bf26}.fdetail__card--highlight p{color:var(--text);font-weight:500}.fdetail__card--wolof{background:#8b5cf60d;border-color:#8b5cf626}.fdetail__card--wolof p{font-family:var(--font-display);font-size:.9rem}.fdetail__thought-core{font-family:var(--font-display);line-height:1.6;color:var(--accent-2)!important;font-size:.92rem!important}.fdetail__thought-text{color:var(--text-2);font-size:.85rem;line-height:1.6}.fdetail__impact-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.fdetail__impact-list li{color:var(--text-2);padding-left:1.2rem;font-size:.9rem;line-height:1.68;position:relative}.fdetail__impact-list li:before{content:"▸";color:var(--accent);font-weight:700;position:absolute;left:0}.fdetail__vocab-grid{grid-template-columns:1fr;gap:.5rem;display:grid}.fdetail__vocab-item{background:color-mix(in srgb, var(--surface) 88%, transparent);border-radius:var(--radius-sm);border:1px solid #94a3b81c;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.65rem 1rem;display:flex}.fdetail__vocab-word{color:var(--accent);white-space:nowrap;font-size:.88rem;font-weight:700}.fdetail__vocab-meaning{color:var(--text-2);font-size:.84rem;line-height:1.45}.fdetail__quote{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--fig-accent,var(--accent));border-radius:0 var(--radius) var(--radius) 0;text-align:center;margin:0;padding:1.25rem 1.25rem 1.25rem 1.5rem;position:relative}.fdetail__quote p{font-family:var(--font-display);color:var(--text);margin:0;font-size:.95rem;font-style:italic;line-height:1.6}.fdetail__quote-mark{font-family:var(--font-display);color:var(--fig-accent,var(--accent));opacity:.3;font-size:1.8rem;line-height:1;display:block}.fdetail__quote-mark--end{text-align:right}.fdetail__historical{background:color-mix(in srgb, var(--surface) 84%, var(--warm) 16%);border:1px solid color-mix(in srgb, var(--warm) 24%, var(--border));border-radius:var(--radius);padding:1rem 1.05rem}.fdetail__historical p{color:var(--warm);margin:0;font-size:.85rem;font-weight:600;line-height:1.5}@media (width>=480px){.fdetail__vocab-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=640px){.fdetail__hero{padding:2.5rem 2rem 2rem}.fdetail__name{font-size:1.9rem}.fdetail__body{gap:2rem;padding:2rem 2rem 4rem}.fdetail__vocab-item{flex-direction:row;align-items:baseline;gap:.6rem}}.audit-stats-bar{gap:var(--sp-3);margin-bottom:var(--sp-4);display:flex}.audit-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-3);text-align:center;cursor:pointer;flex:1;transition:border-color .15s,background .15s}.audit-stat:hover{border-color:var(--accent)}.audit-stat--active{border-color:var(--accent);background:#2dd4bf14}.audit-stat-num{font-size:1.5rem;font-weight:var(--fw-bold);color:var(--accent);display:block}.audit-stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem}.audit-filters{gap:var(--sp-2);margin-bottom:var(--sp-4);flex-wrap:wrap;align-items:center;display:flex}.audit-filters input[type=date],.audit-filters select{padding:var(--sp-1) var(--sp-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:.85rem}.audit-search-form{gap:var(--sp-1);display:flex}.audit-search-input{padding:var(--sp-1) var(--sp-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);min-width:10rem;font-size:.85rem}.audit-reset-btn{padding:var(--sp-1) var(--sp-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;background:0 0;font-size:.82rem}.audit-reset-btn:hover{color:var(--text);border-color:var(--text)}.audit-table-wrap{overflow-x:auto}.audit-table{border-collapse:collapse;width:100%;font-size:.85rem}.audit-table th,.audit-table td{padding:var(--sp-2);text-align:left;border-bottom:1px solid var(--border)}.audit-table th{font-weight:var(--fw-bold);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-size:.78rem}.audit-table-row{cursor:pointer;transition:background .15s}.audit-table-row:hover{background:var(--surface-2)}.audit-td-date{white-space:nowrap;color:var(--muted);font-size:.8rem}.audit-td-session{color:var(--muted);font-family:monospace;font-size:.8rem}.audit-td-question,.audit-td-answer{text-overflow:ellipsis;white-space:nowrap;max-width:16rem;overflow:hidden}.audit-toggle{color:var(--muted);cursor:pointer;white-space:nowrap;align-items:center;gap:4px;font-size:.82rem;display:flex}.audit-toggle input{cursor:pointer}.audit-report-bar{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--sp-3);flex-wrap:wrap;font-size:.82rem;display:flex}.audit-report-group{align-items:center;gap:var(--sp-1);display:flex}.audit-report-group b{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.78rem}.audit-report-chip{background:var(--surface-2);border-radius:var(--radius-sm);padding:1px 6px;font-size:.76rem}.audit-export-btn{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;margin-left:auto;padding:4px 10px;font-size:.82rem}.audit-export-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.audit-badge{font-size:.76rem;font-weight:var(--fw-bold);white-space:nowrap;border-radius:999px;padding:2px 8px;display:inline-block}.audit-badge--unreviewed{background:var(--surface-2);color:var(--muted)}.audit-badge--reviewed{color:var(--success,#10b981);background:#10b98126}.audit-badge--flagged{color:#f59e0b;background:#f59e0b26}.audit-runtime-tag,.audit-domain-tag{color:var(--muted);font-size:.78rem}.audit-detail{max-width:56rem}.audit-nav-bar{margin-bottom:var(--sp-3);justify-content:space-between;align-items:center;display:flex}.audit-nav-arrows{align-items:center;gap:var(--sp-1);display:flex}.audit-nav-arrows button{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text);padding:4px 10px;font-size:.82rem}.audit-nav-arrows button:disabled{opacity:.35;cursor:default}.audit-nav-arrows button:not(:disabled):hover{background:var(--accent);color:#fff;border-color:var(--accent)}.audit-nav-pos{color:var(--muted);text-align:center;min-width:3rem;font-size:.78rem}.audit-nav-skip{margin-left:var(--sp-1);font-weight:var(--fw-bold)}.audit-quick-actions{gap:var(--sp-2);margin-bottom:var(--sp-3);padding-bottom:var(--sp-3);border-bottom:1px solid var(--border);display:flex}.audit-quick-btn{padding:var(--sp-1) var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.88rem;font-weight:var(--fw-bold);cursor:pointer}.audit-quick-btn:disabled{opacity:.5;cursor:default}.audit-quick-btn--ok{color:var(--success,#10b981);border-color:var(--success,#10b981);background:#10b9811f}.audit-quick-btn--ok:not(:disabled):hover{background:var(--success,#10b981);color:#fff}.audit-quick-btn--flag{color:#f59e0b;background:#f59e0b1f;border-color:#f59e0b}.audit-quick-btn--flag:not(:disabled):hover{color:#fff;background:#f59e0b}.audit-preset-select{padding:2px var(--sp-1);border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--muted);margin-bottom:4px;font-size:.78rem}.audit-back-btn{color:var(--accent);cursor:pointer;font-weight:var(--fw-bold);margin-bottom:var(--sp-3);background:0 0;border:none;padding:0;font-size:.9rem}.audit-back-btn:hover{text-decoration:underline}.shadow-tab{animation:shadow-fadein .25s var(--ease)}@keyframes shadow-fadein{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.shadow-header{margin-bottom:var(--sp-4)}.shadow-header-title{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-1);display:flex}.shadow-header-title h2{font-size:var(--fs-xl);margin:0}.shadow-readonly-badge{border-radius:var(--radius-pill);color:var(--accent);font-size:.72rem;font-weight:var(--fw-bold);letter-spacing:.03em;white-space:nowrap;background:#2dd4bf1a;padding:2px 8px}.shadow-header-sub{color:var(--muted);font-size:var(--fs-sm);margin:0}.shadow-stats-bar{grid-template-columns:repeat(5,1fr);display:grid}.shadow-breakdown{gap:var(--sp-1);margin-bottom:var(--sp-4);padding:var(--sp-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;display:flex}.shadow-breakdown--sub{background:var(--surface-2)}.shadow-breakdown-heading{margin:0 0 var(--sp-1);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem}.shadow-bar{align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast);text-align:left;color:var(--text);background:0 0;border:1px solid #0000;font-size:.85rem;display:flex}.shadow-bar:hover{border-color:var(--border);background:#2dd4bf0f}.shadow-bar--active{border-color:var(--accent);background:#2dd4bf1a}.shadow-bar--sm{padding:3px var(--sp-2);font-size:.8rem}.shadow-bar-label{white-space:nowrap;flex-shrink:0;min-width:9rem}.shadow-bar--sm .shadow-bar-label{min-width:8rem}.shadow-bar-track{background:var(--surface-3);border-radius:var(--radius-pill);flex:1;height:6px;overflow:hidden}.shadow-bar-fill{background:var(--accent);border-radius:var(--radius-pill);height:100%;transition:width .3s var(--ease);display:block}.shadow-bar-fill--sub{background:var(--violet)}.shadow-bar-count{text-align:right;min-width:2rem;font-weight:var(--fw-bold);color:var(--accent);font-size:.82rem}.shadow-empty{text-align:center;padding:var(--sp-8) var(--sp-4);color:var(--muted)}.shadow-empty-icon{margin-bottom:var(--sp-3);opacity:.7;font-size:2.5rem;display:block}.shadow-empty-title{font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--text);margin:0 0 var(--sp-1)}.shadow-empty-sub{font-size:var(--fs-sm);margin:0}.shadow-list{gap:var(--sp-3);flex-direction:column;display:flex}.shadow-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-3);cursor:pointer;transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}.shadow-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.shadow-card--expanded{border-color:var(--accent);box-shadow:0 0 0 1px #2dd4bf26, var(--shadow-sm)}.shadow-card-header{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2);flex-wrap:wrap;display:flex}.shadow-card-id{font-weight:var(--fw-bold);color:var(--accent);font-size:.82rem}.shadow-card-date{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:.78rem}.shadow-badge{border-radius:var(--radius-pill);font-size:.74rem;font-weight:var(--fw-bold);white-space:nowrap;padding:2px 8px;display:inline-block}.shadow-badge--cat{color:var(--accent);background:#2dd4bf1f}.shadow-badge--sub{color:var(--violet);background:#8b5cf61f}.shadow-badge--answer_correction{color:#60a5fa;background:#3b82f61f}.shadow-badge--lexicon_correction{color:#34d399;background:#10b9811f}.shadow-badge--conversational{color:var(--warm);background:#f4c45d1f}.shadow-badge--tone_correction{color:var(--violet);background:#8b5cf61f}.shadow-badge--intent_correction{color:var(--warm-2);background:#fb923c1f}.shadow-badge--uncategorized{background:var(--surface-2);color:var(--muted)}.shadow-card-body{gap:var(--sp-1);flex-direction:column;display:flex}.shadow-card-field label{color:var(--muted);font-size:.78rem;font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.03em;margin-right:var(--sp-1);display:inline}.shadow-card-field span{word-break:break-word;overflow-wrap:break-word;font-size:.88rem}.shadow-card-field--correction span{color:var(--accent-2)}.shadow-card-detail{margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--border);gap:var(--sp-2);flex-direction:column;display:flex}.shadow-reviewer{color:var(--muted);word-break:break-all;overflow-wrap:anywhere;font-family:monospace;font-size:.8rem}.shadow-snapshot summary{color:var(--muted);cursor:pointer;margin-bottom:var(--sp-1);font-size:.8rem}.shadow-snapshot pre{background:var(--surface-2);padding:var(--sp-2);border-radius:var(--radius-sm);word-break:break-all;white-space:pre-wrap;max-height:20rem;margin:0;font-size:.75rem;overflow-x:auto}@media (width<=768px){.shadow-stats-bar{grid-template-columns:repeat(3,1fr)}.shadow-bar-label{min-width:7rem}}@media (width<=640px){.shadow-stats-bar{gap:var(--sp-2);grid-template-columns:repeat(2,1fr)}.shadow-bar-label{min-width:6rem;font-size:.8rem}.shadow-bar--sm .shadow-bar-label{min-width:5.5rem}.shadow-breakdown{padding:var(--sp-2)}.shadow-card-header{gap:var(--sp-1)}.shadow-card-date{flex-basis:100%;order:10;margin-left:0}.shadow-header-title{flex-wrap:wrap}.shadow-badge{text-overflow:ellipsis;max-width:10rem;padding:2px 6px;font-size:.68rem;overflow:hidden}.shadow-reviewer{word-break:break-all}.shadow-error{text-align:center;gap:var(--sp-2);flex-direction:column}}.shadow-error{align-items:center;gap:var(--sp-3);padding:var(--sp-3);margin-bottom:var(--sp-4);border-radius:var(--radius);font-size:var(--fs-sm);background:#ef444414;border:1px solid #ef444440;display:flex}.shadow-error-icon{flex-shrink:0;font-size:1.2rem}.shadow-error-text{color:var(--text);flex:1}.shadow-error-retry{padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-sm);color:#f87171;cursor:pointer;font-size:.82rem;font-weight:var(--fw-bold);white-space:nowrap;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:1px solid #ef444466}.shadow-error-retry:hover{color:#fca5a5;background:#ef444426}.shadow-skeleton{gap:var(--sp-3);flex-direction:column;display:flex}.shadow-skeleton-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);height:5.5rem;animation:1.2s ease-in-out infinite shadow-pulse}@keyframes shadow-pulse{0%,to{opacity:.4}50%{opacity:.7}}.shadow-empty-reset{margin-top:var(--sp-3);padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--accent);cursor:pointer;font-size:.85rem;font-weight:var(--fw-bold);transition:background var(--transition-fast), border-color var(--transition-fast);background:0 0}.shadow-empty-reset:hover{border-color:var(--accent);background:#2dd4bf14}.audit-reset-btn--active{color:var(--accent);border-color:var(--accent)}.shadow-card-header:focus-visible,.shadow-bar:focus-visible,.shadow-error-retry:focus-visible,.shadow-empty-reset:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.screen-loading{background:var(--brand-bg);min-height:40vh;color:var(--brand-fg);font-size:var(--fs-sm);justify-content:center;align-items:center;gap:var(--sp-2);flex:1;display:flex}.screen-loading:before{content:"";border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:1.25rem;height:1.25rem;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-boundary-fallback{background:var(--brand-bg);min-height:100vh;color:var(--text);padding:var(--sp-4);justify-content:center;align-items:center;display:flex}.error-boundary-card{text-align:center;max-width:400px}.error-boundary-icon{margin-bottom:var(--sp-3);font-size:2.5rem;display:block}.error-boundary-card h2{font-size:var(--fs-lg);margin-bottom:var(--sp-2)}.error-boundary-card p{color:var(--text-dim);margin-bottom:var(--sp-4);font-size:var(--fs-sm)}.error-boundary-actions{gap:var(--sp-2);justify-content:center;display:flex}.error-boundary-btn{padding:var(--sp-2) var(--sp-3);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;font-size:var(--fs-sm)}.error-boundary-btn.primary{background:var(--accent);color:var(--bg);border-color:var(--accent);font-weight:var(--fw-bold)}.error-boundary-btn:hover{opacity:.85}.audit-context{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-3);margin-bottom:var(--sp-4)}.audit-context h3{margin:0 0 var(--sp-3);font-size:1rem}.audit-meta-grid{gap:var(--sp-2);margin-bottom:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));display:grid}.audit-meta-grid--rollout{border-top:1px solid var(--border);padding-top:var(--sp-2)}.audit-meta-item{flex-direction:column;gap:2px;display:flex}.audit-meta-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.audit-meta-value{word-break:break-all;font-size:.88rem}.audit-chat-pair{gap:var(--sp-2);margin-top:var(--sp-3);flex-direction:column;display:flex}.audit-chat-bubble{padding:var(--sp-2) var(--sp-3);border-radius:var(--radius);font-size:.9rem}.audit-chat-bubble p{margin:var(--sp-1) 0 0;white-space:pre-wrap}.audit-chat-role{font-size:.78rem;font-weight:var(--fw-bold);color:var(--muted)}.audit-chat-bubble--user{background:var(--surface-2);border-left:3px solid var(--accent)}.audit-chat-bubble--assistant{background:var(--surface-2);border-left:3px solid var(--success,#10b981)}.audit-review-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-3)}.audit-review-form h3{margin:0 0 var(--sp-3);font-size:1rem}.audit-form-row{gap:var(--sp-2);margin-bottom:var(--sp-2);display:flex}.audit-form-row--tri{grid-template-columns:repeat(3,1fr);display:grid}.audit-form-group{margin-bottom:var(--sp-2);flex-direction:column;flex:1;gap:4px;display:flex}.audit-form-group>span{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.78rem;font-weight:var(--fw-bold)}.audit-form-group select,.audit-form-group textarea{padding:var(--sp-1) var(--sp-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font-family:inherit;font-size:.88rem}.audit-form-group textarea{resize:vertical}.audit-form-actions{gap:var(--sp-2);margin-top:var(--sp-3);display:flex}.audit-btn--flag{color:#fff;background:#f59e0b}.audit-conf--high{color:var(--success,#10b981);font-weight:var(--fw-bold)}.audit-conf--medium{color:#f59e0b;font-weight:var(--fw-bold)}.audit-conf--low{color:var(--error);font-weight:var(--fw-bold)}.audit-notice{color:var(--muted);background:var(--surface-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);margin-bottom:var(--sp-3);border-left:3px solid #f59e0b;font-size:.82rem}.audit-prefill-hint{color:var(--muted);margin:0 0 var(--sp-3);font-size:.82rem}.audit-workflow-bar{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);padding:var(--sp-2) var(--sp-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex}.audit-wf-step{align-items:center;gap:6px;display:flex}.audit-wf-dot{background:var(--surface-2);border:2px solid var(--border);border-radius:50%;width:10px;height:10px;display:inline-block}.audit-wf-step--active .audit-wf-dot{background:var(--accent);border-color:var(--accent)}.audit-wf-label{color:var(--muted);font-size:.82rem}.audit-wf-step--active .audit-wf-label{color:var(--accent);font-weight:var(--fw-bold)}.audit-wf-date{color:var(--muted);margin-left:auto;font-size:.78rem}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,#94a3b814 25%,#94a3b829 50%,#94a3b814 75%) 0 0/200% 100%;animation:1.5s ease-in-out infinite skeleton-shimmer}.skeleton--text{border-radius:4px;height:.85rem}.skeleton--card{height:120px}.skeleton--circle{border-radius:50%}.skeleton-card-grid{gap:var(--sp-4);padding:var(--sp-4) 0;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));display:grid}.skeleton-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-4);min-height:100px}.thinking-text{margin-bottom:var(--sp-2);color:var(--text-2);display:block}.thinking-skeleton{padding:var(--sp-1) 0;gap:6px;display:flex}.thinking-skeleton span{background:var(--accent);opacity:.4;border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite thinking-pulse}.thinking-skeleton span:nth-child(2){animation-delay:.2s}.thinking-skeleton span:nth-child(3){animation-delay:.4s}@keyframes thinking-pulse{0%,80%,to{opacity:.25;transform:scale(.85)}40%{opacity:1;transform:scale(1.1)}}.app-shell-skeleton{background:var(--brand-bg);height:100dvh;color:var(--text);display:flex}.app-shell-skeleton-main{flex-direction:column;flex:1;display:flex;overflow:hidden}.app-shell-skeleton-topbar{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);background:var(--surface);border-bottom:1px solid var(--border);display:flex}.app-shell-skeleton-body{justify-content:flex-start;align-items:center;gap:var(--sp-3);padding:clamp(3rem, 12vh, 5.5rem) var(--sp-5) var(--sp-5);flex-direction:column;flex:1;display:flex}.app-shell-skeleton-body .app-splash-emoji{font-size:2.5rem}.app-shell-skeleton-body .app-splash-title{font-size:var(--fs-xl);font-weight:var(--fw-bold);margin:0;line-height:1.15}.app-shell-skeleton-body .app-splash-sub{font-size:var(--fs-sm);color:var(--muted);text-align:center;margin:0}.app-shell-skeleton-cards{gap:var(--sp-3);width:100%;max-width:400px;margin-top:var(--sp-2);grid-template-columns:1fr 1fr;display:grid}.app-shell-skeleton-cards .skeleton--card{border-radius:var(--radius-lg)}.km-group-label{margin-top:var(--sp-5);margin-bottom:var(--sp-2);letter-spacing:.04em;text-transform:uppercase;color:var(--text-2);padding-left:.25rem;font-size:.75rem;font-weight:600}[data-theme=warm] .km-group-label{color:var(--brand-brown-soft);opacity:.95}[data-theme=warm] .select-input{background:var(--brand-surface);color:var(--brand-fg);border-color:color-mix(in srgb, var(--brand-brown-soft) 38%, transparent)}[data-theme=warm] .select-input:focus,[data-theme=warm] .select-input:focus-visible{border-color:var(--brand-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-accent) 22%, transparent)}[data-theme=warm] .select-input option{background:var(--brand-surface);color:var(--brand-fg)}[data-theme=warm] .select-input:disabled{color:color-mix(in srgb, var(--brand-fg) 55%, transparent)}[data-theme=warm] input[type=checkbox],[data-theme=warm] input[type=radio]{accent-color:var(--brand-accent)}.app-splash{background:var(--bg);height:100dvh;color:var(--text);justify-content:center;align-items:center;display:flex}.app-splash-inner{text-align:center;align-items:center;gap:var(--sp-3);flex-direction:column;display:flex}.app-splash-emoji{font-size:3rem}.app-splash-title{font-size:var(--fs-xl);font-weight:var(--fw-bold);font-family:var(--font-display)}.app-splash-sub{font-size:var(--fs-sm);color:var(--muted)}.app-splash-dots{gap:var(--sp-2);display:flex}.app-splash-dots span{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.2s infinite both splash-blink}.app-splash-dots span:nth-child(2){animation-delay:.2s}.app-splash-dots span:nth-child(3){animation-delay:.4s}@keyframes splash-blink{0%,80%,to{opacity:.25}40%{opacity:1}}.scroll-to-bottom{bottom:110px;right:var(--sp-4);z-index:10;border:1px solid var(--border);background:var(--surface-2);width:44px;height:44px;color:var(--text);cursor:pointer;box-shadow:var(--shadow);border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;transition:opacity .15s;display:flex;position:absolute}.scroll-to-bottom:hover{background:var(--surface)}.sidebar-action:active,.prompt-chip:active,.followup-chip:active,.mini-button:active,.portal-card:active,.portal-resume-btn:active,.portal-free-btn:active,.conte-card:active,.lesson-grid-card:active,.composer button:active,.scroll-to-bottom:active{opacity:.85;transform:scale(.97)}@media (width<=640px){.auth-username{max-width:70px}.topbar-auth .mini-button{font-size:var(--fs-xs);padding:var(--sp-1) var(--sp-2)}.topbar-logout .logout-label{display:none}.topbar-logout .logout-icon{font-size:1rem;display:inline}.topbar-logout{min-width:44px;min-height:44px;padding:var(--sp-1);justify-content:center;align-items:center;display:flex}.app-shell--admin-premium .topbar--strip .topbar-logout{min-width:44px}.scroll-to-bottom{bottom:90px;right:var(--sp-3)}.admin-screen{padding:var(--sp-2) var(--sp-3)}.admin-section-switcher{gap:var(--sp-1);margin-bottom:var(--sp-3)}.admin-section-btn{padding:var(--sp-1) var(--sp-2);font-size:.8rem}.admin-card{padding:var(--sp-2)}}.portal-card-audio-slot{padding-top:var(--sp-2);width:100%;margin-top:auto;display:none}.bubble-audio-slot{margin-top:var(--sp-2);display:none}.vbf-trigger{z-index:900;border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;display:flex;position:fixed;bottom:90px;right:16px;box-shadow:0 2px 6px #0000001f}.vbf-trigger:hover{background:var(--surface-2)}.vbf-overlay{z-index:1000;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.vbf-modal{background:var(--glass-surface-strong);border:1px solid var(--glass-border);-webkit-backdrop-filter:saturate(125%)blur(10px);backdrop-filter:saturate(125%)blur(10px);width:100%;max-width:380px;box-shadow:0 8px 32px #0003, var(--glass-highlight);border-radius:12px;padding:20px}.vbf-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.vbf-header h3{margin:0;font-size:1rem}.vbf-close{cursor:pointer;color:var(--text-2);background:0 0;border:none;font-size:1.2rem}.vbf-label{color:var(--text-2);margin:10px 0 4px;font-size:.82rem;font-weight:600;display:block}.vbf-select{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:6px;padding:8px;font-size:.88rem}.vbf-severity-row{flex-wrap:wrap;gap:6px;display:flex}.vbf-sev-btn{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:6px;flex:1;min-width:70px;padding:6px 4px;font-size:.76rem}.vbf-sev-btn--active{border-color:var(--accent);background:#2dd4bf1f;font-weight:600}.vbf-textarea{border:1px solid var(--border);resize:vertical;background:var(--surface);width:100%;color:var(--text);border-radius:6px;padding:8px;font-family:inherit;font-size:.85rem}.vbf-context{color:var(--muted);gap:10px;margin-top:8px;font-size:.72rem;display:flex}.vbf-submit{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:12px;padding:10px;font-size:.9rem;font-weight:600}.vbf-submit:disabled{opacity:.5;cursor:not-allowed}.vbf-done{text-align:center;padding:24px 0}.vbf-done-icon{margin-bottom:8px;font-size:2rem;display:block}.vbf-overlay{background:#1a0e048c}.vbf-modal{color:#1a0e04;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fdf6e8;border:1.5px solid #c8942b4d;position:relative;overflow:hidden;box-shadow:0 0 0 1px #c8942b1f,0 18px 50px #1a0e0452}.vbf-modal:before{content:"";pointer-events:none;background:linear-gradient(90deg,#c8942b 0%,#d97706 50%,#c8942b 100%);height:4px;position:absolute;top:0;left:0;right:0}.vbf-header h3{color:#1a0e04}.vbf-close{color:#6b4c25}.vbf-close:hover{color:#1a0e04}.vbf-label{color:#6b4c25}.vbf-select,.vbf-textarea{color:#1a0e04;background:#fefaf0;border:1.5px solid #c8942b47}.vbf-select:focus,.vbf-textarea:focus{border-color:#d97706;outline:none;box-shadow:0 0 0 3px #d977062e}.vbf-sev-btn{color:#1a0e04;background:#fff8dc8c;border-color:#c8942b47}.vbf-sev-btn--active{color:#1a0e04;background:#c8942b2e;border-color:#c8942b}.vbf-context{color:#6b4c25}.vbf-submit{color:#fff8ee;background:linear-gradient(135deg,#c8942b 0%,#d97706 100%);border:none;border-radius:50px;box-shadow:0 2px 10px #c8942b4d}.vbf-submit:hover:not(:disabled){opacity:.92;transform:translateY(-1px);box-shadow:0 4px 16px #c8942b61}.vbf-trigger{background:#fdf6e8;border-color:#c8942b47}.vbf-trigger:hover{background:#fef3d5;border-color:#c8942b8c}.jang-map-world{position:relative}.jang-map-world--1{background:linear-gradient(#e0f7fa 0%,#f1f5f9 40%)}.jang-map-world--2{background:linear-gradient(#fef3c7 0%,#f1f5f9 40%)}.jang-map-world--3{background:linear-gradient(#ede9fe 0%,#f1f5f9 40%)}.jang-map-hero{z-index:20;padding:var(--sp-3) var(--sp-4) var(--sp-2);border-bottom:1px solid var(--border);background:0 0}.jang-map-hero-inner{align-items:center;gap:var(--sp-3);display:flex}.jang-map-back-btn{padding:var(--sp-1) var(--sp-2);cursor:pointer;color:var(--text);border-radius:var(--radius-pill);transition:background var(--transition-fast);background:0 0;border:none;flex-shrink:0;font-size:1.2rem}.jang-map-back-btn:hover{background:var(--surface-2)}.jang-map-hero-icon{background:var(--surface-2);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.6rem;display:flex}.jang-map-hero-text{flex:1;min-width:0}.jang-map-hero-title{font-size:var(--fs-base);font-weight:var(--fw-black);margin:0;line-height:1.2}.jang-map-hero-sub{color:var(--text-dim);margin:1px 0 var(--sp-1) 0;font-size:.72rem}.jang-map-hero-stats{gap:var(--sp-2);flex-shrink:0;display:flex}.jang-map-hero-stat{font-size:var(--fs-sm);font-weight:var(--fw-bold);white-space:nowrap}.jang-map-level-row{gap:var(--sp-2);margin-top:var(--sp-2);display:flex}.jang-map-level-btn{border-radius:var(--radius-pill);border:1.5px solid var(--border);font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text-dim);cursor:pointer;transition:all var(--transition-fast);background:0 0;flex:1;padding:5px 0}.jang-map-level-btn.active{border-color:var(--accent);background:var(--accent);color:#fff}.jang-map-progress{align-items:center;gap:var(--sp-2);display:flex}.jang-map-progress-track{border-radius:var(--radius-pill);background:#0f172acc;border:1px solid #02061766;flex:1;height:10px;overflow:hidden;box-shadow:inset 0 2px 4px #00000073,inset 0 1px 1px #00000040,0 1px #ffffff0d}.jang-map-progress-fill{background:linear-gradient(180deg, #5eead4e6 0%, var(--accent) 50%, #0d9488f2 100%);border-radius:var(--radius-pill);height:100%;transition:width .4s;box-shadow:inset 0 1px 1px #ffffff59,inset 0 -1px 1px #0003,0 0 8px #2dd4bf4d}.jang-map-progress-label{font-size:var(--fs-sm);color:var(--text-dim);white-space:nowrap}.jang-map-scroll{padding:var(--sp-3) 0 calc(var(--sp-4) * 4)}.jang-map-track{padding:var(--sp-2) 0;flex-direction:column;align-items:center;display:flex}.jang-map-node{flex-direction:column;align-items:center;width:100%;max-width:280px;transition:transform .35s;display:flex;position:relative}.jang-map-node--left{transform:translate(-28px)}.jang-map-node--right{transform:translate(28px)}.jang-map-node--current{transform:translate(0)scale(1)}.jang-map-connector{background:var(--border);width:2px;height:36px;margin:0 auto}.jang-map-node--current .jang-map-connector{background:var(--accent)}.jang-map-milestone{align-items:center;gap:var(--sp-2);padding:var(--sp-2) 0;width:70%;display:flex}.jang-map-milestone-line{background:var(--border);flex:1;height:1px}.jang-map-milestone-badge{font-size:.8rem;font-weight:var(--fw-bold);color:var(--text-dim);white-space:nowrap;border-radius:var(--radius-pill);background:var(--surface-2);border:1px solid var(--border);padding:2px 10px}.jang-map-bubble{border:2.5px solid var(--border);background:var(--surface-2);width:56px;height:56px;color:var(--text);cursor:pointer;transition:border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1.25rem;display:flex}.jang-map-bubble:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.jang-map-bubble-num{font-size:var(--fs-base);font-weight:var(--fw-bold)}.jang-map-bubble--hero{border-width:3px;width:68px;height:68px;font-size:1.4rem}.jang-map-bubble--hero .jang-map-bubble-num{font-size:var(--fs-lg)}.jang-map-bubble--locked{opacity:.4;cursor:not-allowed;border-color:var(--border)}.jang-map-bubble--available{border-color:var(--accent);animation:2s ease-in-out infinite jang-map-pulse}@keyframes jang-map-pulse{0%,to{box-shadow:0 0 #2dd4bf59}50%{box-shadow:0 0 0 10px #2dd4bf00}}.jang-map-bubble--hero.jang-map-bubble--available{animation:2s ease-in-out infinite jang-map-pulse-hero;box-shadow:0 0 0 4px #2dd4bf40}@keyframes jang-map-pulse-hero{0%,to{box-shadow:0 0 0 4px #2dd4bf40}50%{box-shadow:0 0 0 14px #2dd4bf00}}.jang-map-bubble--in-progress{border-color:var(--accent);background:#2dd4bf14}.jang-map-bubble--hero.jang-map-bubble--in-progress{box-shadow:0 0 0 4px #2dd4bf33}.jang-map-bubble--completed{border-color:var(--accent);background:#2dd4bf26}.jang-map-cta{font-size:.72rem;font-weight:var(--fw-bold);color:var(--accent);letter-spacing:.3px;border-radius:var(--radius-pill);background:linear-gradient(#2dd4bf2e 0%,#2dd4bf14 100%);border:1px solid #2dd4bf4d;border-bottom:2px solid #0d948880;margin-top:3px;padding:2px 10px;box-shadow:0 2px 6px #02061766,inset 0 1px #ffffff1a}.jang-map-node-label{margin-top:var(--sp-1);z-index:1;text-align:center;flex-direction:column;align-items:center;gap:2px;max-width:180px;display:flex;position:relative}.jang-map-node-label--dim{opacity:.72}.jang-map-node-label--dim .jang-map-node-title{font-size:.72rem;font-weight:400}.jang-map-node-title{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.jang-map-stars{letter-spacing:2px;color:#f59e0b;font-size:.75rem}.jang-map-node-pct{color:var(--text-dim);font-size:.7rem}.jang-map-empty{padding:calc(var(--sp-4) * 3) var(--sp-4);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.jang-map-empty-icon{margin-bottom:var(--sp-3);font-size:2.5rem}.jang-map-empty-text{font-size:var(--fs-base);font-weight:var(--fw-bold);color:var(--text);margin:0 0 var(--sp-1)}.jang-map-empty-hint{font-size:var(--fs-sm);color:var(--text-dim);margin:0}.jang-map-dev-btn{margin:var(--sp-4) auto var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-pill);border:1px dashed var(--border);color:var(--text-dim);font-size:var(--fs-sm);cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast);background:0 0;display:block}.jang-map-dev-btn:hover{border-color:var(--accent);color:var(--accent)}.canon-map{--eau:#2dd4bf;--eau-deep:#0d9488;--eau-glow:#2dd4bf59;--eau-ring:#2dd4bf38;--eau-soft:#2dd4bf1a;--feu:#f97316;--feu-deep:#ea580c;--feu-glow:#f9731673;--feu-ring:#f9731638;--feu-soft:#f973161a;--eau-readable:color-mix(in srgb, var(--eau) 50%, var(--text));--feu-readable:color-mix(in srgb, var(--feu) 60%, var(--text));--canon-node:88px;--canon-hero:108px;--canon-gap:52px;--canon-shift:30px;--canon-map-hero-bg:linear-gradient(180deg, color-mix(in srgb, var(--surface) 92%, var(--bg) 8%) 0%, color-mix(in srgb, var(--bg-elevated) 88%, var(--surface) 12%) 100%);--canon-map-control-bg:linear-gradient(180deg, color-mix(in srgb, var(--surface-elevated) 84%, var(--text) 6%) 0%, color-mix(in srgb, var(--surface) 90%, var(--bg) 10%) 100%);--canon-map-node-bg:linear-gradient(160deg, color-mix(in srgb, var(--surface-elevated) 88%, var(--eau) 12%) 0%, var(--surface) 50%, var(--bg-elevated) 100%);--canon-map-node-completed-bg:linear-gradient(160deg, color-mix(in srgb, var(--surface-elevated) 78%, var(--eau) 22%) 0%, color-mix(in srgb, var(--surface) 88%, var(--eau) 12%) 50%, var(--bg-elevated) 100%);--canon-map-node-locked-bg:linear-gradient(160deg, color-mix(in srgb, var(--surface) 88%, var(--muted) 12%) 0%, color-mix(in srgb, var(--surface-elevated) 86%, var(--bg) 14%) 100%);flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.canon-map-hero{z-index:10;background:var(--canon-map-hero-bg);border-bottom:3px solid var(--eau-deep);padding:var(--sp-4) var(--sp-4) var(--sp-3);position:sticky;top:0;box-shadow:0 6px 24px #020617b3,0 2px 6px #02061780,0 0 18px #2dd4bf0f,inset 0 1px #ffffff14}.canon-map-hero-inner{align-items:flex-start;gap:var(--sp-3);max-width:480px;margin:0 auto;display:flex}.canon-map-back{background:var(--canon-map-control-bg);border:1.5px solid var(--border-strong);border-bottom-width:3px;border-bottom-color:color-mix(in srgb, var(--border) 70%, var(--text) 16%);color:var(--text-secondary);font-size:var(--fs-lg);cursor:pointer;padding:var(--sp-1);border-radius:var(--radius-sm);margin-top:2px;transition:color .12s,background .12s,transform .12s,box-shadow .12s;box-shadow:0 2px 6px #02061766,inset 0 1px #ffffff14}.canon-map-back:hover{color:var(--text);background:linear-gradient(180deg, var(--surface-3) 0%, var(--surface-elevated) 100%);transform:translateY(-1px);box-shadow:0 4px 10px #02061780,inset 0 1px #ffffff1a}.canon-map-back:active{border-bottom-width:1.5px;transform:translateY(1px);box-shadow:0 1px 2px #0206174d}.canon-map-hero-text{flex:1;min-width:0}.canon-map-hero-cycle{font-size:var(--fs-xs);color:var(--eau-readable);font-weight:var(--fw-bold);letter-spacing:.06em;text-transform:uppercase;margin:0 0 2px}.canon-map-hero-title{font-size:var(--fs-xl);font-weight:var(--fw-black);color:var(--text);margin:0;line-height:1.2}.canon-map-hero-sub{margin:var(--sp-1) 0 var(--sp-2);font-size:var(--fs-xs);color:var(--text-secondary);letter-spacing:.02em}.canon-map-scroll{padding:var(--sp-8) var(--sp-4) 6.5rem;flex:1;position:relative;overflow-y:auto}.canon-map-empty{padding:calc(var(--sp-8) * 2) var(--sp-4);text-align:center;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.canon-map-empty span{margin-bottom:var(--sp-3);font-size:2.5rem}.canon-map-empty p{font-size:var(--fs-base);margin:0}.canon-unit-group{max-width:420px;margin:0 auto var(--sp-6);padding-bottom:var(--sp-4)}.canon-unit-group:last-child{padding-bottom:var(--sp-4)}.canon-unit-header{margin-bottom:var(--sp-6);justify-content:center;align-items:center;display:flex}.canon-unit-badge{min-width:48px;height:32px;padding:0 var(--sp-3);border-radius:var(--radius-pill);color:var(--eau-readable);font-size:var(--fs-sm);font-weight:var(--fw-black);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border:1.5px solid #2dd4bf4d;border-bottom-width:3px;border-bottom-color:var(--eau-deep);background:linear-gradient(#2dd4bf26 0%,#2dd4bf0f 100%);justify-content:center;align-items:center;display:inline-flex;box-shadow:0 3px 10px #02061766,inset 0 1px #ffffff1a}.canon-unit-track{align-items:center;gap:var(--canon-gap);flex-direction:column;display:flex}.canon-map .jang-map-node{transform:translateX(var(--canon-node-shift,0px))}.canon-map .jang-map-node--left{--canon-node-shift:calc(-1 * var(--canon-shift))}.canon-map .jang-map-node--right{--canon-node-shift:var(--canon-shift)}.canon-map .jang-map-node--current{transform:translateX(var(--canon-node-shift,0px)) scale(1.04)}.canon-map .jang-map-connector{display:none}.canon-path-svg{pointer-events:none;z-index:0;position:absolute;top:0;left:0}.canon-map .jang-map-bubble{width:var(--canon-node);height:var(--canon-node);border:2.5px solid var(--eau);border-bottom-width:5px;border-bottom-color:var(--eau-deep);background:var(--canon-map-node-bg);color:var(--text);box-shadow:0 6px 20px #02061799, 0 0 16px var(--eau-soft), inset 0 2px 4px #ffffff1f, inset 0 -2px 4px #0003;border-radius:50%;font-size:1.6rem;transition:border-color .18s,background .18s,box-shadow .25s,transform .18s}.canon-map .jang-map-bubble-num{font-size:1.5rem;font-weight:var(--fw-black);color:var(--eau-readable)}.canon-map .jang-map-bubble-icon{font-size:1.4rem;line-height:1}.canon-map .jang-map-bubble-icon--done{color:var(--eau-readable)}.canon-map .jang-map-bubble:hover:not(:disabled){border-color:var(--feu);border-bottom-color:var(--feu-deep);box-shadow:0 10px 32px #020617b3, 0 0 24px var(--feu-glow), 0 0 8px var(--feu-soft), inset 0 2px 4px #ffffff26, inset 0 -2px 4px #0000002e;transform:scale(1.1)translateY(-3px)}.canon-map .jang-map-bubble:hover:not(:disabled) .jang-map-bubble-num{color:var(--feu-readable)}.canon-map .jang-map-bubble:active:not(:disabled){border-color:var(--feu-deep);box-shadow:0 2px 8px #02061780, 0 0 20px var(--feu-glow), inset 0 3px 8px #0000004d;transition-duration:60ms;transform:scale(.95)translateY(2px)}.canon-map .jang-map-bubble--completed{border-color:var(--eau);border-bottom-color:var(--eau-deep);background:var(--canon-map-node-completed-bg);box-shadow:0 6px 20px #02061780, 0 0 18px var(--eau-glow), inset 0 2px 3px #ffffff24, inset 0 -2px 3px #00000026}.canon-map .jang-map-bubble--hero{width:var(--canon-hero);height:var(--canon-hero);border-color:var(--eau);border-width:3px 3px 6px;border-bottom-color:var(--eau-deep);background:var(--canon-map-node-completed-bg);box-shadow:0 0 0 6px var(--eau-ring), 0 0 0 12px #2dd4bf14, 0 8px 28px #020617a6, 0 0 32px var(--eau-glow), inset 0 2px 4px #ffffff29, inset 0 -2px 4px #0000002e;font-size:1.9rem;animation:3s ease-in-out infinite canon-hero-breathe}.canon-map .jang-map-bubble--hero .jang-map-bubble-num{color:var(--eau-readable);font-size:2rem}@keyframes canon-hero-breathe{0%,to{box-shadow:0 0 0 6px var(--eau-ring), 0 0 0 12px #2dd4bf14, 0 8px 28px #020617a6, 0 0 32px var(--eau-glow), inset 0 2px 4px #ffffff29, inset 0 -2px 4px #0000002e}50%{box-shadow:0 0 0 8px var(--eau-ring), 0 0 0 18px #2dd4bf0d, 0 8px 28px #020617a6, 0 0 44px #2dd4bf40, inset 0 2px 4px #ffffff29, inset 0 -2px 4px #0000002e}}.canon-map .jang-map-bubble--hero:hover:not(:disabled){border-color:var(--feu);border-bottom-color:var(--feu-deep);box-shadow:0 0 0 6px var(--feu-ring), 0 0 0 14px #f9731614, 0 10px 32px #020617b3, 0 0 36px var(--feu-glow), inset 0 2px 4px #ffffff26, inset 0 -2px 4px #0000002e;animation:none}.canon-map .jang-map-bubble--hero:hover:not(:disabled) .jang-map-bubble-num{color:var(--feu-readable)}.canon-map .jang-map-bubble--locked{opacity:.62;filter:grayscale(.55);border-color:color-mix(in srgb, var(--muted) 36%, var(--border));border-bottom-color:color-mix(in srgb, var(--border) 72%, var(--text) 12%);background:var(--canon-map-node-locked-bg);box-shadow:inset 0 3px 8px #02061780,inset 0 -2px 4px #0003,0 3px 10px #02061759}.canon-map .jang-map-bubble--locked .jang-map-bubble-icon{color:var(--muted)}.canon-map .jang-map-bubble--available{animation:2.4s ease-in-out infinite canon-avail-pulse}@keyframes canon-avail-pulse{0%,to{box-shadow:0 6px 20px #02061799, 0 0 0 0 var(--eau-glow), inset 0 2px 4px #ffffff1f, inset 0 -2px 4px #0003}50%{box-shadow:0 6px 20px #02061799,0 0 0 10px #2dd4bf00,inset 0 2px 4px #ffffff1f,inset 0 -2px 4px #0003}}.canon-map .jang-map-cta{font-size:.72rem;font-weight:var(--fw-bold);color:var(--text-on-accent);letter-spacing:.04em;text-transform:uppercase;background:linear-gradient(180deg, var(--feu) 0%, var(--feu-deep) 100%);border-radius:var(--radius-pill);border:none;border-bottom:2px solid #9a341299;margin-top:6px;padding:4px 16px;box-shadow:0 3px 10px #f9731659,0 1px 3px #02061766,inset 0 1px #fff3}.canon-map .jang-map-node-title-current{font-size:var(--fs-xs);color:var(--muted);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:160px;margin-top:4px;overflow:hidden}.canon-map-nav{right:max(14px, env(safe-area-inset-right,0px));bottom:calc(96px + env(safe-area-inset-bottom,0px));z-index:120;pointer-events:none;flex-direction:column;gap:12px;display:flex;position:fixed}.canon-map-nav-btn{border:1.5px solid var(--feu,#d97706);background:color-mix(in srgb, var(--surface-elevated) 88%, transparent);-webkit-backdrop-filter:blur(8px);width:36px;height:36px;color:var(--feu-readable,#d97706);cursor:pointer;pointer-events:auto;box-shadow:0 2px 8px #02061780, 0 0 6px var(--feu-glow,#d9770640);border-radius:50%;justify-content:center;align-items:center;transition:all .18s;display:flex}.canon-map-nav-btn:hover{border-color:var(--feu-deep,#b45309);color:var(--feu-readable,#b45309);box-shadow:0 4px 14px #02061799, 0 0 12px var(--feu-glow,#d9770659);transform:scale(1.08)}.canon-map-nav-btn:active{box-shadow:0 1px 4px #02061780, 0 0 8px var(--feu-glow,#d977064d);transition-duration:60ms;transform:scale(.94)}.canon-map-companion-slot{width:64px;height:64px;margin:0 auto var(--sp-4)}.canon-player{background:var(--bg);flex-direction:column;flex:1;min-height:0;display:flex}.canon-progress{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);z-index:10;background:var(--bg);border-bottom:1px solid #94a3b814;display:flex;position:sticky;top:0}.canon-progress-back{color:var(--muted);font-size:var(--fs-md);cursor:pointer;min-width:44px;min-height:44px;padding:var(--sp-1);border-radius:var(--radius-sm);transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;line-height:1;display:flex}.canon-progress-back:hover{color:var(--text);background:var(--surface-2)}.canon-progress-track{flex:1;gap:3px;height:12px;display:flex}.canon-progress-seg{border-radius:var(--radius-pill);transition:background .4s var(--ease), box-shadow .4s var(--ease);background:#0f172acc;border:1px solid #02061759;flex:1;box-shadow:inset 0 2px 4px #0006,0 1px #ffffff0a}.canon-progress-seg.done{background:linear-gradient(180deg, #5eead4d9 0%, var(--accent) 50%, #0d9488e6 100%);border-color:#0d948866;box-shadow:0 0 8px #2dd4bf59,inset 0 1px 1px #ffffff4d,inset 0 -1px 1px #00000026}.canon-progress-seg.active{background:linear-gradient(90deg, var(--accent) 40%, var(--surface-3) 100%);border-color:#2dd4bf4d;animation:1.5s ease-in-out infinite canon-seg-pulse}@keyframes canon-seg-pulse{0%,to{opacity:1}50%{opacity:.7}}.canon-progress-label{font-size:var(--fs-xs);color:var(--muted);font-weight:var(--fw-medium);white-space:nowrap;text-align:right;min-width:2.5em}.canon-lesson-label{text-align:center;padding:var(--sp-1) var(--sp-4);font-size:var(--fs-xs);color:var(--muted);font-weight:var(--fw-medium);letter-spacing:.02em;text-transform:uppercase}.canon-step{padding:var(--sp-4) var(--sp-4) calc(6.5rem + env(safe-area-inset-bottom,0px));flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex;overflow-y:auto}.canon-card{background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 94%, var(--bg) 6%) 0%, color-mix(in srgb, var(--surface-elevated) 90%, var(--bg-elevated) 10%) 100%);border:1.5px solid var(--border-strong);border-bottom-width:4px;border-bottom-color:color-mix(in srgb, var(--border) 70%, var(--text) 16%);border-radius:var(--radius-lg);width:100%;max-width:420px;padding:var(--sp-6) var(--sp-5);box-shadow:var(--shadow), var(--glass-highlight);gap:var(--sp-4);animation:canon-card-in .35s var(--ease) both;flex-direction:column;display:flex}@keyframes canon-card-in{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.canon-card-badge{align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-3);border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.03em;text-transform:uppercase;border:1px solid color-mix(in srgb, currentColor 28%, transparent);align-self:flex-start;display:inline-flex}.canon-card--teach .canon-card-badge{background:color-mix(in srgb, var(--violet) 16%, var(--surface));color:color-mix(in srgb, var(--violet) 74%, var(--text))}.canon-card--vocab .canon-card-badge{background:color-mix(in srgb, var(--accent) 14%, var(--surface));color:color-mix(in srgb, var(--accent) 72%, var(--text))}.canon-card--list .canon-card-badge{background:color-mix(in srgb, var(--warm) 16%, var(--surface));color:color-mix(in srgb, var(--warm) 66%, var(--text))}.canon-card--quiz .canon-card-badge{background:color-mix(in srgb, var(--warm-2) 16%, var(--surface));color:color-mix(in srgb, var(--warm-2) 68%, var(--text))}.canon-card--oral .canon-card-badge{background:color-mix(in srgb, var(--info) 16%, var(--surface));color:color-mix(in srgb, var(--info) 72%, var(--text))}.canon-card--match .canon-card-badge{background:color-mix(in srgb, var(--warm) 16%, var(--surface));color:color-mix(in srgb, var(--warm) 66%, var(--text))}.canon-card--input .canon-card-badge{background:color-mix(in srgb, var(--violet) 16%, var(--surface));color:color-mix(in srgb, var(--violet) 74%, var(--text))}.canon-card-body{font-size:var(--fs-base);color:var(--text);line-height:1.65}.canon-card-body p{margin:0 0 var(--sp-2)}.canon-card-body p:last-child{margin-bottom:0}.canon-sentences{gap:var(--sp-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.canon-sentence{background:var(--surface-2);border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-3)}.canon-sentence-text{font-size:var(--fs-sm);color:var(--text-2);font-style:italic}.canon-vocab-grid{gap:var(--sp-2);flex-direction:column;display:flex}.canon-vocab-pair{align-items:center;gap:var(--sp-2);background:var(--surface-2);border-radius:var(--radius-sm);min-height:44px;padding:var(--sp-2) var(--sp-3);transition:background var(--transition-fast);flex-wrap:wrap;display:flex}.canon-vocab-pair:hover{background:var(--surface-3)}.canon-vocab-wo{font-weight:var(--fw-bold);color:var(--accent);font-size:var(--fs-base);overflow-wrap:break-word;word-break:break-word;min-width:0}.canon-vocab-arrow{color:var(--muted);font-size:var(--fs-xs);flex-shrink:0}.canon-vocab-fr{color:var(--text-2);font-size:var(--fs-base);overflow-wrap:break-word;word-break:break-word;min-width:0}.canon-vocab-no-audio{width:44px;height:44px;color:var(--muted);opacity:.5;flex-shrink:0;justify-content:center;align-items:center;font-size:.92rem;display:inline-flex}.canon-list-items{gap:var(--sp-2);flex-wrap:wrap;display:flex}.canon-list-chip{padding:var(--sp-1) var(--sp-3);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text-2);font-size:var(--fs-sm);font-weight:var(--fw-medium);border:1px solid var(--border);transition:background var(--transition-fast), border-color var(--transition-fast);display:inline-block}.canon-list-chip:hover{background:var(--surface-3);border-color:var(--border-hover)}.canon-quiz-prompt{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--text);margin:0;line-height:1.5}.canon-quiz-choices{gap:var(--sp-2);flex-direction:column;display:flex}.canon-quiz-choice{text-align:left;width:100%;padding:var(--sp-3) var(--sp-4);border-radius:var(--radius);border:2px solid var(--border);background:var(--surface-2);color:var(--text);font-size:var(--fs-base);cursor:pointer;min-height:44px;transition:border-color var(--transition-fast), background var(--transition-fast), transform var(--transition-fast)}.canon-quiz-choice:hover:not(:disabled){border-color:var(--border-hover);background:var(--surface-3)}.canon-quiz-choice:active:not(:disabled){transform:scale(.98)}.canon-quiz-choice.selected{border-color:var(--accent);background:#2dd4bf14}.canon-quiz-choice.correct{border-color:var(--success);color:var(--success);animation:canon-choice-correct .4s var(--ease);background:#4ade801a}@keyframes canon-choice-correct{0%{transform:scale(1)}30%{transform:scale(1.03)}to{transform:scale(1)}}.canon-quiz-choice.wrong{border-color:var(--human);color:var(--human);opacity:.7;animation:canon-choice-wrong .35s var(--ease);background:#ff6b6b14;text-decoration:line-through}@keyframes canon-choice-wrong{0%{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}to{transform:translate(0)}}.canon-quiz-choice:disabled{cursor:default}.canon-card--input{gap:var(--sp-4);flex-direction:column;display:flex}.canon-input-prompt{font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--text);margin:0}.canon-input-hint{font-size:var(--fs-sm);color:var(--muted);margin:0;font-style:italic}.canon-input-field{width:100%;padding:var(--sp-3) var(--sp-4);border-radius:var(--radius);border:2px solid var(--border);background:var(--surface-2);color:var(--text);font-size:var(--fs-lg);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);box-sizing:border-box;outline:none;font-family:inherit}.canon-input-field::placeholder{color:var(--muted);opacity:.6}.canon-input-field:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2dd4bf33}.canon-input-field:disabled{opacity:.85;cursor:default}.canon-input-field--correct{border-color:var(--accent);background:#2dd4bf14}.canon-input-field--wrong{border-color:var(--human);background:#ff6b6b14}.canon-btn{min-height:44px;padding:var(--sp-3) var(--sp-5);border-radius:var(--radius-pill);font-size:var(--fs-base);font-weight:var(--fw-bold);border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);justify-content:center;align-items:center;display:inline-flex;box-shadow:0 2px 6px #02061733}.canon-btn:hover{background:var(--surface-3);border-color:var(--border-hover);transform:translateY(-1px);box-shadow:0 4px 12px #0206174d}.canon-btn:active{transform:translateY(0)scale(.97);box-shadow:0 1px 4px #02061733}.canon-btn--primary{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 100%);color:var(--bg);border-color:var(--accent);box-shadow:0 3px 12px #2dd4bf4d,inset 0 1px #ffffff26}.canon-btn--primary:hover{background:linear-gradient(135deg, var(--accent-2) 0%, var(--accent) 100%);border-color:var(--accent-2);transform:translateY(-1px);box-shadow:0 6px 20px #2dd4bf66,inset 0 1px #ffffff26}.canon-btn--primary:active{transform:translateY(0)scale(.97)}.canon-btn--primary:disabled{opacity:.4;cursor:default;box-shadow:none;transform:none}.canon-btn--full{width:100%}.canon-btn--outline{border:1.5px solid var(--border);color:var(--text);background:0 0}.canon-btn--outline:hover{background:var(--surface-2);border-color:var(--border-hover)}.canon-btn--record{background:var(--surface-2);border:2px solid var(--accent);color:var(--accent);min-height:48px}.canon-btn--record:hover{background:#2dd4bf14}.canon-btn--recording{border-color:var(--error,#ef4444);color:var(--error,#ef4444);background:#ef44441f;animation:1.2s ease-in-out infinite canon-record-pulse}@keyframes canon-record-pulse{0%,to{box-shadow:0 0 #ef44444d}50%{box-shadow:0 0 0 6px #ef444400}}.canon-completion{padding:var(--sp-8) var(--sp-4) 6.5rem;text-align:center;animation:canon-completion-in .5s var(--ease) both;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}@keyframes canon-completion-in{0%{opacity:0;transform:scale(.9)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.canon-completion-emoji{margin-bottom:var(--sp-3);animation:canon-emoji-bounce .6s var(--ease) .3s both;font-size:4rem}@keyframes canon-emoji-bounce{0%{opacity:0;transform:scale(.3)rotate(-10deg)}50%{transform:scale(1.15)rotate(5deg)}to{opacity:1;transform:scale(1)rotate(0)}}.canon-completion-title{margin:0 0 var(--sp-2);font-size:var(--fs-2xl);font-weight:var(--fw-black);color:var(--text)}.canon-completion-stars{letter-spacing:4px;color:#f59e0b;margin-bottom:var(--sp-2);animation:canon-stars-in .4s var(--ease) .5s both;font-size:1.6rem}@keyframes canon-stars-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.canon-completion-score{margin:0 0 var(--sp-6);font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--accent)}.canon-completion-actions{gap:var(--sp-3);flex-direction:column;width:100%;max-width:300px;display:flex}.canon-completion-sprite-slot{width:120px;height:120px;margin:0 auto var(--sp-4)}.canon-player-loading,.canon-player-empty{padding:var(--sp-8) var(--sp-4);text-align:center;color:var(--muted);justify-content:center;align-items:center;gap:var(--sp-3);flex-direction:column;flex:1;display:flex}.canon-player-loading span,.canon-player-empty span{font-size:2.5rem}.canon-player-loading p,.canon-player-empty p{font-size:var(--fs-base);margin:0}.canon-companion-slot{width:64px;height:64px;margin:0 auto var(--sp-2);flex-shrink:0}.canon-feedback-sprite-slot{width:48px;height:48px;margin:var(--sp-2) auto 0;flex-shrink:0}.canon-feedback-sprite-slot--correct{animation:canon-feedback-pop .4s var(--ease)}.canon-feedback-sprite-slot--wrong{animation:canon-choice-wrong .35s var(--ease)}@keyframes canon-feedback-pop{0%{opacity:0;transform:scale(.5)}60%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}body.reading-narration .topbar-subtitle,body.reading-narration .topbar-auth .auth-username,body.reading-narration .topbar-auth .tier-badge{display:none!important}body.reading-narration .topbar-auth .topbar-logout .logout-label{display:none}body.reading-narration .topbar-auth .topbar-logout{min-width:0;padding:.35rem .55rem}body.reading-narration .topbar-auth .topbar-logout .logout-icon{font-size:1rem}.chat-history-sheet-scrim{z-index:70;background:#00000061}.chat-history-sheet{z-index:70;background:var(--glass-surface-strong);border-left:1px solid var(--glass-border);-webkit-backdrop-filter:saturate(130%)blur(12px);backdrop-filter:saturate(130%)blur(12px);width:min(360px,92vw);box-shadow:-6px 0 18px #02061740, var(--glass-highlight);padding:calc(max(env(safe-area-inset-top,0px), var(--sp-3))) var(--sp-3) calc(var(--sp-3) + env(safe-area-inset-bottom));gap:var(--sp-2);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden}.chat-history-sheet-header{justify-content:space-between;align-items:center;gap:var(--sp-2);display:flex}.chat-history-sheet-title{font-size:var(--fs-md)}.chat-history-sheet-subtitle{font-size:var(--fs-xs)}.chat-history-sheet-list{flex:1;min-height:0;overflow-y:auto}.chat-history-sheet .history-item.is-active{outline:1px solid var(--accent);border-radius:var(--radius)}.chat-page .chat-topbar{align-items:center;gap:var(--sp-2);padding:calc(max(env(safe-area-inset-top,0px), 12px) + 6px) var(--sp-3) var(--sp-2);padding-left:max(var(--sp-3), env(safe-area-inset-left,0px));padding-right:max(var(--sp-3), env(safe-area-inset-right,0px));-webkit-backdrop-filter:blur(6px);z-index:4;background:#0000002e;border-bottom:1px solid #ffffff0f;flex:none;grid-template-columns:minmax(44px,1fr) minmax(0,max-content) minmax(44px,1fr);display:grid}.chat-topbar-title{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--text);letter-spacing:0;text-align:center;padding:0 var(--sp-1);white-space:nowrap;text-overflow:ellipsis;justify-content:center;align-items:center;gap:6px;min-width:0;max-width:100%;display:inline-flex;overflow:hidden}.chat-topbar-title__text{text-overflow:ellipsis;min-width:0;overflow:hidden}.chat-topbar-back{min-width:44px;max-width:100%;min-height:44px;color:var(--text);white-space:nowrap;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:999px;justify-content:center;justify-self:start;align-items:center;gap:6px;padding:5px 12px;font-size:.82rem;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex;overflow:hidden}.chat-topbar-back:hover{background:#ffffff1a;border-color:#ffffff29}.chat-topbar-back:active{transform:translateY(1px)}.chat-topbar-back-icon{font-size:1rem;line-height:1}.chat-topbar-action{min-width:44px;max-width:100%;min-height:44px;color:var(--text);white-space:nowrap;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:999px;justify-content:center;justify-self:end;align-items:center;gap:6px;padding:5px 12px;font-size:.82rem;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex;overflow:hidden}.chat-topbar-action:hover{background:#ffffff1a;border-color:#ffffff29}.chat-topbar-action:active{transform:translateY(1px)}.chat-topbar-action-icon{font-size:.95rem;line-height:1}@media (width<=460px){.chat-page .chat-topbar{padding-left:var(--sp-2);padding-right:var(--sp-2);grid-template-columns:44px minmax(0,1fr) 44px;gap:6px}.chat-topbar-back,.chat-topbar-action{gap:0;width:44px;padding:0}.chat-topbar-back-label,.chat-topbar-action-label{display:none}.chat-topbar-back-icon,.chat-topbar-action-icon{font-size:1rem}}.chat-page .content-scroll{padding-bottom:calc(var(--sp-5) + env(safe-area-inset-bottom,0px))}.chat-page .message-list{padding-bottom:var(--sp-2)}.chat-page .scroll-to-bottom{bottom:calc(7.75rem + max(env(safe-area-inset-bottom,0px), 10px))}.chat-page .quota-bar{margin:var(--sp-1) var(--sp-4) var(--sp-2);padding:6px var(--sp-3);border:1px solid var(--border);border-radius:var(--radius);background:#071632c7;row-gap:6px}.chat-page .quota-hint{padding:2px 0;line-height:1.35}.chat-page .composer{gap:var(--sp-2);padding-top:var(--sp-2);grid-template-columns:1fr;padding-bottom:calc(max(env(safe-area-inset-bottom,0px), 10px) + 10px)!important}.composer-field{background:var(--surface-2,#ffffff0a);border:1px solid var(--border-soft,#ffffff1a);border-radius:22px;align-items:flex-end;gap:6px;padding:6px 6px 6px 14px;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:0 2px 12px #00000038}.composer-field:focus-within{border-color:var(--focus-ring-color,#fff3);box-shadow:0 4px 18px #00000047}.composer-field textarea{resize:none;min-height:34px;max-height:160px;color:var(--fg,var(--text));font:inherit;flex:1;padding:6px 0;line-height:1.35;box-shadow:none!important;background:0 0!important;border:none!important;outline:none!important}.composer-field textarea::placeholder{color:var(--fg-muted,var(--muted));opacity:.85}.composer-actions{flex:none;align-items:center;gap:4px;display:inline-flex}.composer-field .composer-mic,.composer-field .composer-send{cursor:pointer;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex}.composer-field .composer-mic{color:var(--fg,var(--text));background:0 0}.composer-field .composer-mic:hover{background:color-mix(in srgb, var(--fg,var(--text)) 8%, transparent)}.composer-field .composer-mic:focus-visible,.composer-field .composer-send:focus-visible{outline:2px solid var(--focus-ring-color,var(--accent));outline-offset:2px}.composer-field .composer-send{background:var(--btn-primary-bg,var(--accent));color:var(--btn-primary-fg,#1a1206);font-weight:700}.composer-field .composer-send:disabled{background:color-mix(in srgb, var(--fg,var(--text)) 10%, transparent);color:var(--fg-2,var(--text-2));cursor:not-allowed}.chat-page .composer-mic-error,.chat-page .composer-mic-info{padding:0 var(--sp-1);margin:-2px 0 0;line-height:1.35}@media (width<=640px){.chat-page .scroll-to-bottom{bottom:calc(7.25rem + max(env(safe-area-inset-bottom,0px), 10px));right:var(--sp-3)}.chat-page .quota-bar{margin-right:var(--sp-3);margin-left:var(--sp-3)}}.history-item{padding:var(--sp-2)}.history-item+.history-item{margin-top:4px}.history-title{color:var(--text);font-weight:600}.history-date{color:var(--text-2);margin-top:2px;font-size:.75rem}.chat-page[data-theme=warm] .chat-topbar{-webkit-backdrop-filter:none;background:linear-gradient(#1e0f06 0%,#2c1808 100%);border-bottom:1px solid #c8942b47}.chat-page[data-theme=warm] .chat-topbar-title{color:#fff8ee}.chat-page[data-theme=warm] .chat-topbar-back,.chat-page[data-theme=warm] .chat-topbar-action{color:#fff8ee;background:#fff0d214;border-color:#c8942b40}.chat-page[data-theme=warm] .chat-topbar-back:hover,.chat-page[data-theme=warm] .chat-topbar-action:hover{background:#fff0d224;border-color:#c8942b73}.chat-page[data-theme=warm] .avatar{border-color:#c8942b26}.chat-page[data-theme=warm] .avatar.assistant{background:radial-gradient(circle at 30% 18%,#ffffffb8,#0000 38%),linear-gradient(145deg,#fefaf0 0%,#e8d5a8 100%);border-color:#c8942b47}.chat-page[data-theme=warm] .avatar.user{background:linear-gradient(135deg,#c8942b 0%,#d97706 100%)}.chat-page[data-theme=warm] .bubble{border-radius:var(--radius-lg)}.chat-page[data-theme=warm] .bubble.assistant{color:#1a0e04;background:#fdf6e8;border-color:#c8942b26}.chat-page[data-theme=warm] .bubble.user{color:#1a0e04;background:linear-gradient(135deg,#c8942b21 0%,#d9770614 100%);border-color:#c8942b4d;box-shadow:0 2px 8px #c8942b14}.chat-page[data-theme=warm] .bubble.assistant .bubble-text,.chat-page[data-theme=warm] .bubble.assistant .markdown-body,.chat-page[data-theme=warm] .bubble.user .bubble-text,.chat-page[data-theme=warm] .bubble.user .markdown-body{color:#1a0e04}.chat-page[data-theme=warm] .thinking-text{color:#6b4c25}.chat-page[data-theme=warm] .thinking-skeleton span{background:#d97706}.chat-page[data-theme=warm] .composer{background:linear-gradient(180deg, color-mix(in srgb, var(--bg,#f8f1dd) 35%, transparent) 0%, var(--bg,#f8f1dd) 30%);border-top-color:var(--border-soft,#c8942b38)}.chat-page[data-theme=warm] .composer-field{background:var(--surface,#fdf6e8);border-color:var(--border-soft,#c8942b4d);box-shadow:0 2px 12px color-mix(in srgb, var(--brand-near-black,#1a140a) 10%, transparent)}.chat-page[data-theme=warm] .composer-field:focus-within{border-color:var(--focus-ring-color,#d97706);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus-ring-color,#d97706) 18%, transparent), 0 4px 18px color-mix(in srgb, var(--brand-near-black,#1a140a) 12%, transparent)}.chat-page[data-theme=warm] .composer-field textarea{color:var(--fg,#1a0e04)}.chat-page[data-theme=warm] .composer-field textarea::placeholder{color:var(--fg-muted,#8a6030);opacity:.85}.chat-page[data-theme=warm] .composer-field .composer-mic{color:var(--fg-2,#6b4c25)}.chat-page[data-theme=warm] .composer-field .composer-mic:hover{background:color-mix(in srgb, var(--btn-primary-bg,#c8942b) 12%, transparent)}.chat-page[data-theme=warm] .composer-field .composer-mic--listening,.chat-page[data-theme=warm] .composer-field .composer-mic--recording{color:var(--yaa-ndox,#1e5aa8)}.chat-page[data-theme=warm] .composer-field .composer-send{background:var(--btn-primary-bg,#c8942b);color:var(--btn-primary-fg,#fff8ee)}.chat-page[data-theme=warm] .composer-field .composer-send:disabled{background:color-mix(in srgb, var(--btn-primary-bg,#c8942b) 18%, transparent);color:var(--fg-muted,#8a6030)}.chat-page[data-theme=warm] .composer-mic-error{color:var(--error,#b84040)}.chat-page[data-theme=warm] .composer-mic-info{color:var(--fg-2,#6b4c25)}.chat-page[data-theme=warm] .quota-bar{color:#6b4c25;background:#1a0e0412;border:1px solid #c8942b2e;border-top:none}.chat-page[data-theme=warm] .quota-bar--low{color:#b84040}.chat-page[data-theme=warm] .quota-bar--exhausted{color:#922020}.chat-page[data-theme=warm] .quota-bar--unlimited{color:#2e7d32}.chat-page[data-theme=warm] .quota-progress-fill{background:#d97706}.chat-page[data-theme=warm] .quota-bar--low .quota-progress-fill{background:#b84040}.chat-page[data-theme=warm] .quota-bar--exhausted .quota-progress-fill{background:#922020}.chat-page[data-theme=warm] .quota-hint{color:var(--yaa-joor,#c8942b)}.chat-page[data-theme=warm] .chat-history-sheet-scrim{background:#1a0e047a}.chat-page[data-theme=warm] .chat-history-sheet{-webkit-backdrop-filter:none;color:#1a0e04;background:#fdf6e8;border-left:1.5px solid #c8942b4d;box-shadow:-6px 0 18px #1a0e042e}.chat-page[data-theme=warm] .chat-history-sheet .chat-history-sheet-title,.chat-page[data-theme=warm] .chat-history-sheet .brand-title{color:#1a0e04}.chat-page[data-theme=warm] .chat-history-sheet .chat-history-sheet-subtitle,.chat-page[data-theme=warm] .chat-history-sheet .brand-subtitle,.chat-page[data-theme=warm] .chat-history-sheet .ghost-icon{color:#6b4c25}.chat-page[data-theme=warm] .chat-history-sheet .ghost-icon:hover{color:#1a0e04}.chat-page[data-theme=warm] .chat-history-sheet .sidebar-divider{border-color:#c8942b33}.chat-page[data-theme=warm] .chat-history-sheet .history-title{color:#1a0e04}.chat-page[data-theme=warm] .chat-history-sheet .history-date,.chat-page[data-theme=warm] .chat-history-sheet .history-delete{color:#8a6030}.chat-page[data-theme=warm] .chat-history-sheet .history-delete:hover{color:#b84040}.chat-page[data-theme=warm] .chat-history-sheet .history-item.is-active{outline-color:#d97706}.chat-page[data-theme=warm] .chat-history-sheet .sidebar-action{color:#3b2210;border-color:#c8942b4d}.chat-page[data-theme=warm] .chat-history-sheet .sidebar-action:hover{background:#c8942b1a}.chat-page[data-theme=warm] .chat-history-sheet .empty-state{color:#8a6030}.chat-page[data-theme=warm] .scroll-to-bottom{color:#3b2210;background:#fdf6e8;border-color:#c8942b52;box-shadow:0 2px 8px #1a0e041f}.chat-page[data-theme=warm] .scroll-to-bottom:hover{background:#fef3d5}.chat-page[data-theme=warm] .vbf-trigger{color:#6b4c25;background:#fdf6e8;border-color:#c8942b47;box-shadow:0 2px 6px #1a0e041a}.chat-page[data-theme=warm] .vbf-trigger:hover{background:#fef3d5}.figures-screen[data-theme=warm]{color:#1a0e04;background:radial-gradient(80% 55% at 50% 0,#e8d5a8 0%,#0000 65%),linear-gradient(#f5e9d0 0%,#ede0c0 55%,#e3d0a2 100%)}.figures-screen[data-theme=warm] .figures-hero{background:linear-gradient(170deg,#1e0f06 0%,#2c1808 45%,#3b2210 100%)}.figures-screen[data-theme=warm] .figures-hero__ornament{background:radial-gradient(600px 200px at 50% 100%,#c8942b2e 0%,#0000 70%),radial-gradient(300px 300px at 80% 20%,#783c0a38 0%,#0000 60%)}.figures-screen[data-theme=warm] .figures-hero__label{color:#d97706}.figures-screen[data-theme=warm] .figures-hero__divider{background:linear-gradient(90deg,#0000,#d97706,#0000)}.figures-screen[data-theme=warm] .figures-hero__quote{color:#fff8ee}.figures-screen[data-theme=warm] .figures-hero__author{color:#fff0d2c7}.figures-screen[data-theme=warm] .figures-hero__enter{color:#fff0d280}.figures-screen[data-theme=warm] .figures-search__field{background:#fefaf0;border-color:#c8942b47}.figures-screen[data-theme=warm] .figures-search__field:focus-within{border-color:#d97706;box-shadow:0 0 0 3px #d9770626}.figures-screen[data-theme=warm] .figures-search__input{color:#1a0e04}.figures-screen[data-theme=warm] .figures-search__input::placeholder{color:#8a6030}.figures-screen[data-theme=warm] .figures-chip{color:#6b4c25;background:#fefaf0;border-color:#78501438}.figures-screen[data-theme=warm] .figures-chip:hover{color:#1a0e04;background:#fef3d5;border-color:#c8942b80}.figures-screen[data-theme=warm] .figures-chip--active{color:#3b2210;background:#c8942b24;border-color:#d97706;font-weight:600}.figures-screen[data-theme=warm] .figures-section__title{color:#1a0e04;border-bottom-color:#c8942b38}.figures-screen[data-theme=warm] .figure-card{color:#1a0e04;background:#fdf6e8;border-color:#c8942b38}.figures-screen[data-theme=warm] .figure-card:hover{box-shadow:0 12px 32px #1a0e0438, 0 0 0 1px #c8942b33, 0 0 20px color-mix(in srgb, var(--card-accent,#c8942b) 20%, transparent);border-color:#c8942b66}.figures-screen[data-theme=warm] .figure-card__icon{background:#c8942b1a;border-color:#c8942b38}.figures-screen[data-theme=warm] .figure-card__name{color:#1a0e04}.figures-screen[data-theme=warm] .figure-card__meta{color:#6b4c25}.figures-screen[data-theme=warm] .figure-card__summary{color:#3b2210}.figures-screen[data-theme=warm] .figure-card__quote{color:#6b4c25}.figures-screen[data-theme=warm] .figure-card__footer{border-top-color:#c8942b2e}.figures-screen[data-theme=warm] .figure-card__video-hint{color:#8a6030}.figures-screen[data-theme=warm] .figure-card:hover .figure-card__video-hint{color:#c8942b}.figures-screen[data-theme=warm] .figure-card--featured{border-color:#c8942b61}.figures-screen[data-theme=warm] .figures-empty{color:#8a6030}.figures-screen[data-theme=warm] .figures-hero__media{z-index:0;pointer-events:none;border-radius:inherit;background:radial-gradient(70% 50% at 50% 85%,#c8942b1f 0%,#0000 70%);position:absolute;inset:0}.figures-screen[data-theme=warm] .figures-hero__media>img{object-fit:cover;object-position:50% 50%;pointer-events:none;opacity:.16;mix-blend-mode:luminosity;width:100%;height:100%;display:block}.figures-screen[data-theme=warm] .figure-card__media{pointer-events:none;display:none}.figures-screen[data-theme=warm] .figure-card__media:not(:empty){z-index:0;border-radius:inherit;display:block;position:absolute;inset:0;overflow:hidden}.fdetail[data-theme=warm]{color:#1a0e04;background:radial-gradient(80% 55% at 50% 0,#e8d5a8 0%,#0000 65%),linear-gradient(#f5e9d0 0%,#ede0c0 55%,#e3d0a2 100%)}.fdetail[data-theme=warm] .fdetail__nav{background:#fdf6e8;border-bottom-color:#c8942b2e}.fdetail[data-theme=warm] .fdetail__back{background:color-mix(in srgb, var(--brand-surface) 92%, white);border-color:color-mix(in srgb, var(--brand-brown-soft) 30%, transparent);color:var(--brand-fg);box-shadow:0 2px 6px color-mix(in srgb, var(--brand-brown) 14%, transparent)}.fdetail[data-theme=warm] .fdetail__back:hover{background:color-mix(in srgb, var(--brand-surface) 86%, var(--brand-sand));border-color:color-mix(in srgb, var(--brand-brown-soft) 50%, transparent);color:var(--brand-fg)}.fdetail[data-theme=warm] .fdetail__hero{background:#fdf6e8;border-bottom-color:#c8942b2e}.fdetail[data-theme=warm] .fdetail__name{color:#1a0e04}.fdetail[data-theme=warm] .fdetail__meta>span{color:#6b4c25}.fdetail[data-theme=warm] .fdetail__intro{background:#fdf6e8;border-color:#c8942b26}.fdetail[data-theme=warm] .fdetail__summary{color:#1a0e04}.fdetail[data-theme=warm] .fdetail__takeaway{background:linear-gradient(#c8942b1a 0%,#c8942b0a 100%);border-color:#c8942b47}.fdetail[data-theme=warm] .fdetail__takeaway p{color:#1a0e04}.fdetail[data-theme=warm] .fdetail__card{background:#fdf6e8;border-color:#c8942b26}.fdetail[data-theme=warm] .fdetail__card p{color:#3b2210}.fdetail[data-theme=warm] .fdetail__card--highlight{background:#c8942b14;border-color:#c8942b38}.fdetail[data-theme=warm] .fdetail__card--highlight p{color:#1a0e04}.fdetail[data-theme=warm] .fdetail__card--wolof{background:#b48c3c17;border-color:#b48c3c38}.fdetail[data-theme=warm] .fdetail__card--wolof p{color:#1a0e04}.fdetail[data-theme=warm] .fdetail__thought-core{color:#6b4c25!important}.fdetail[data-theme=warm] .fdetail__thought-text,.fdetail[data-theme=warm] .fdetail__impact-list li{color:#3b2210}.fdetail[data-theme=warm] .fdetail__impact-list li:before{color:#d97706}.fdetail[data-theme=warm] .fdetail__vocab-item{background:#fefaf0;border-color:#c8942b26}.fdetail[data-theme=warm] .fdetail__vocab-word{color:#c8942b}.fdetail[data-theme=warm] .fdetail__vocab-meaning{color:#3b2210}.fdetail[data-theme=warm] .fdetail__quote{background:#fdf6e8;border-color:#c8942b2e}.fdetail[data-theme=warm] .fdetail__quote p{color:#1a0e04}.fdetail[data-theme=warm] .fdetail__historical{background:#c8942b1f;border-color:#c8942b47}.fdetail[data-theme=warm] .fdetail__historical p{color:#3b2210}.fdetail[data-theme=warm] .figure-portrait__media,.fdetail[data-theme=warm] .figure-detail-hero__media,.fdetail[data-theme=warm] .figure-timeline__media,.fdetail[data-theme=warm] .figure-context-card__media{pointer-events:none;display:none}.fdetail[data-theme=warm] .figure-portrait__media:not(:empty),.fdetail[data-theme=warm] .figure-detail-hero__media:not(:empty){z-index:0;border-radius:inherit;background:radial-gradient(70% 50% at 50% 85%,#c8942b1f 0%,#0000 70%);display:block;position:absolute;inset:0;overflow:hidden}.fdetail[data-theme=warm] .figure-detail-hero__media>img{object-fit:cover;object-position:50% 50%;pointer-events:none;opacity:.25;mix-blend-mode:luminosity;width:100%;height:100%;display:block}.fdetail[data-theme=warm] .figure-timeline__media:not(:empty),.fdetail[data-theme=warm] .figure-context-card__media:not(:empty){border-radius:var(--radius-lg,12px);display:block;position:relative;overflow:hidden}@media (width<=959px){.app-shell--bottomnav-visible .content-scroll{padding-bottom:var(--app-bottom-nav-clearance)}.app-shell--bottomnav-visible>.main-panel>.km-screen--reserve-bottomnav{flex-shrink:0}.app-shell--bottomnav-visible>.main-panel>.km-screen:not(.km-screen--reserve-bottomnav):after{content:"";min-height:var(--app-bottom-nav-breathing-room);flex:0 0 var(--app-bottom-nav-breathing-room);display:block}.topbar-stat{gap:4px}.topbar-stat .topbar-resource-icon,.topbar-stat .topbar-resource-icon--streak{width:20px;height:20px}.topbar-stat .topbar-resource-icon--xp,.topbar-stat .topbar-resource-icon--lives{width:19px;height:19px}}:root{--km-earth:#8b6914;--km-earth-light:#c49a2b;--km-earth-dark:#5c4410;--km-ocre:#d4a03c;--km-ocre-light:#e8c06a;--km-sable:#c2a878;--km-sable-light:#d8c9a8;--km-argile:sienna;--km-terre-cuite:#cb6d3f;--km-noir-sacre:#0a0e14;--km-ivoire:#f5f0e1;--km-ivoire-soft:#f5f0e114;--km-bronze:#b8860b;--km-bronze-light:#d4a843;--km-pierre:#6b7280;--km-eau:#2dd4bf;--km-eau-deep:#0d9488;--km-eau-glow:#2dd4bf26;--km-feu:#f97316;--km-feu-deep:#c2410c;--km-braise:#dc2626;--km-braise-glow:#f9731626;--km-souffle:#a78bfa;--km-memoire:#8b5cf6;--yaa-safar:#c7462d;--yaa-safar-bright:#ff7a00;--yaa-safar-amber:#f59e0b;--yaa-ngelaw:#1f7a4f;--yaa-ngelaw-light:#2ea46b;--yaa-ngelaw-deep:#14543a;--yaa-ndox:#1e5aa8;--yaa-ndox-light:#3d7dd1;--yaa-ndox-deep:#143f7a;--yaa-joor:#c8942b;--yaa-joor-light:#e0b452;--yaa-joor-deep:#8e681a;--brand-ivory:#f8f1dd;--brand-cream:#f1e6c8;--brand-sand:#e2cfa3;--brand-brown:#5c4410;--brand-brown-soft:#8b6914;--brand-near-black:#1a140a;--brand-bg:var(--brand-ivory);--brand-fg:var(--brand-near-black);--brand-surface:var(--brand-cream);--brand-accent:var(--yaa-joor);--brand-premium:var(--yaa-joor);--brand-streak:var(--yaa-safar-bright);--brand-validate:var(--yaa-ngelaw);--brand-audio:var(--yaa-ndox);--brand-assistant:var(--yaa-ndox)}.km-surface-earth{background:linear-gradient(165deg,#8b69141f 0%,#c49a2b0f 50%,#8b69141a 100%);border-color:#c49a2b2e}.km-surface-sable{background:linear-gradient(165deg,#c2a87814 0%,#d4a03c0a 50%,#c2a8780f 100%);border-color:#c2a87824}.km-surface-water{background:linear-gradient(165deg,#2dd4bf1a 0%,#0d94880f 50%,#2dd4bf14 100%);border-color:#2dd4bf33}.km-surface-fire{background:linear-gradient(165deg,#f973161a 0%,#c2410c0d 50%,#f9731614 100%);border-color:#f9731633}.km-surface-bronze{background:linear-gradient(165deg,#b8860b1a 0%,#d4a8430d 50%,#b8860b14 100%);border-color:#b8860b33}.km-surface-sacred{background:linear-gradient(165deg,#0a0e1499 0%,#0e234a66 50%,#0a0e1480 100%);border-color:#f5f0e114}.km-surface-spirit{background:linear-gradient(165deg,#a78bfa1a 0%,#8b5cf60d 50%,#a78bfa14 100%);border-color:#8b5cf633}.km-pattern-weave{background-image:repeating-linear-gradient(45deg,#0000,#0000 18px,#c49a2b08 18px 19px),repeating-linear-gradient(-45deg,#0000,#0000 18px,#c49a2b08 18px 19px)}.km-pattern-waves{background-image:repeating-linear-gradient(0deg,#0000,#0000 20px,#2dd4bf06 20px 21px)}.km-pattern-embers{background-image:repeating-linear-gradient(30deg,#0000,#0000 24px,#f9731606 24px 25px)}.km-pattern-kente{background-image:repeating-linear-gradient(0deg,#0000,#0000 44px,#c49a2b05 44px 46px,#0000 46px 48px,#2dd4bf04 48px 49px)}.km-icon{vertical-align:-.2em;flex-shrink:0;justify-content:center;align-items:center;width:1.4em;height:1.4em;display:inline-flex}.km-icon-cauri{background:radial-gradient(ellipse 60% 80% at 50% 45%, var(--km-ocre-light) 0%, var(--km-ocre) 55%, var(--km-earth) 100%);border:1.5px solid var(--km-earth-dark);border-bottom-width:2.5px;border-radius:50%/60% 60% 40% 40%;position:relative;box-shadow:inset 0 -2px 3px #5c441066,inset 0 2px 2px #f5f0e140,0 2px 6px #0000004d}.km-icon-cauri:after{content:"";background:#5c441080;border-radius:999px;width:60%;height:2px;position:absolute;top:45%;left:20%;box-shadow:0 1px #f5f0e133}.km-icon-sceau{background:radial-gradient(circle at 40% 35%, var(--km-bronze-light) 0%, var(--km-bronze) 60%, var(--km-earth-dark) 100%);border:1.5px solid var(--km-earth-dark);border-bottom-width:2.5px;border-radius:50%;position:relative;box-shadow:inset 0 2px 3px #fff3,inset 0 -2px 3px #0000004d,0 2px 6px #0000004d}.km-icon-sceau:after{content:"";border:1.5px solid #f5f0e159;border-radius:2px;width:40%;height:40%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.km-icon-tablette{background:linear-gradient(170deg, var(--km-argile) 0%, var(--km-terre-cuite) 50%, var(--km-earth-dark) 100%);border:1.5px solid var(--km-earth-dark);border-bottom-width:2.5px;border-radius:3px;width:1.2em;height:1.5em;position:relative;box-shadow:inset 0 1px 2px #f5f0e12e,inset 0 -2px 3px #0000004d,0 2px 6px #0000004d}.km-icon-tablette:after{content:"";background:#f5f0e133;border-radius:999px;width:56%;height:2px;position:absolute;top:25%;left:22%;box-shadow:0 5px #f5f0e126,0 10px #f5f0e11a}.km-icon-onde{background:radial-gradient(circle at 40% 40%, #2dd4bf4d 0%, #0d948880 60%, var(--km-eau-deep) 100%);border:1.5px solid var(--km-eau-deep);border-bottom-width:2.5px;border-radius:50%;position:relative;overflow:hidden;box-shadow:inset 0 2px 3px #5eead433,inset 0 -2px 3px #0000004d,0 2px 6px #0000004d}.km-icon-braise{background:radial-gradient(circle at 45% 55%, var(--km-feu) 0%, var(--km-feu-deep) 55%, var(--km-braise) 100%);border:1.5px solid var(--km-feu-deep);border-bottom-width:2.5px;border-radius:50%/40% 40% 60% 60%;box-shadow:inset 0 2px 4px #ffc8644d,inset 0 -2px 3px #0000004d,0 2px 8px #f9731640,0 0 12px #f973161f}.km-icon-parchemin{background:linear-gradient(175deg, var(--km-sable-light) 0%, var(--km-sable) 50%, var(--km-earth) 100%);border:1.5px solid var(--km-earth);border-bottom-width:2.5px;border-radius:3px;width:1.3em;height:1.2em;position:relative;box-shadow:inset 0 1px 2px #fff3,inset 0 -2px 3px #0003,0 2px 6px #0000004d}.km-icon-parchemin:before{content:"";background:linear-gradient(90deg, transparent 10%, var(--km-earth) 50%, transparent 90%);border-radius:0 0 50% 50%;height:3px;position:absolute;top:2px;left:0;right:0}.km-icon-pierre{background:linear-gradient(160deg,#6b7280 0%,#4b5563 50%,#374151 100%);border:1.5px solid #374151;border-bottom-width:2.5px;border-radius:30% 70% 70% 30%/55% 45%;box-shadow:inset 0 2px 3px #ffffff1f,inset 0 -2px 3px #0000004d,0 2px 6px #00000059}.km-icon-perle{background:radial-gradient(circle at 35% 35%, var(--km-ocre-light) 0%, var(--km-ocre) 50%, var(--km-earth) 100%);border:1px solid var(--km-earth-dark);border-radius:50%;width:.7em;height:.7em;box-shadow:inset 0 1px 2px #ffffff4d,0 1px 3px #00000040}.km-relief-card{border-bottom-width:4px;border-bottom-color:#02061780;transition:transform .12s,box-shadow .12s;box-shadow:0 6px 20px #0206178c,0 2px 4px #02061766,inset 0 1px 2px #ffffff14,inset 0 -1px 3px #00000026}.km-relief-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px #020617a6,0 3px 6px #02061773,inset 0 1px 2px #ffffff1a}.km-relief-card:active{border-bottom-width:2px;transition-duration:60ms;transform:translateY(1px);box-shadow:0 2px 8px #02061780,inset 0 2px 4px #0003}.km-relief-badge{border-bottom-width:3px;border-bottom-color:#02061766;box-shadow:0 3px 10px #02061773,0 1px 3px #0206174d,inset 0 1px #ffffff1a}.km-relief-btn{border-bottom-width:3px;border-bottom-color:#02061766;transition:transform .12s,box-shadow .12s,border-bottom-width 60ms;box-shadow:0 4px 12px #02061773,0 1px 3px #0206174d,inset 0 1px #ffffff14}.km-relief-btn:active{border-bottom-width:1px;transition-duration:60ms;transform:translateY(2px);box-shadow:0 1px 4px #02061766,inset 0 2px 4px #0003}.km-svg-cauri{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cellipse cx='12' cy='12' rx='8' ry='10' fill='%23D4A03C' stroke='%235C4410' stroke-width='1.5'/%3E%3Cellipse cx='12' cy='12' rx='5' ry='1.2' fill='none' stroke='%235C4410' stroke-width='1' opacity='0.6'/%3E%3Cellipse cx='12' cy='8' rx='3' ry='5' fill='%23E8C06A' opacity='0.3'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:contain}.km-svg-sceau{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='%23B8860B' stroke='%235C4410' stroke-width='1.5'/%3E%3Crect x='9' y='9' width='6' height='6' rx='1' fill='none' stroke='%23F5F0E1' stroke-width='1.2' transform='rotate(45 12 12)' opacity='0.5'/%3E%3Ccircle cx='12' cy='12' r='3' fill='none' stroke='%23F5F0E1' stroke-width='0.8' opacity='0.35'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:contain}.km-svg-tablette{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='4' y='2' width='16' height='20' rx='2' fill='%23CB6D3F' stroke='%235C4410' stroke-width='1.2'/%3E%3Cline x1='8' y1='7' x2='16' y2='7' stroke='%23F5F0E1' stroke-width='0.8' opacity='0.3'/%3E%3Cline x1='8' y1='11' x2='14' y2='11' stroke='%23F5F0E1' stroke-width='0.8' opacity='0.25'/%3E%3Cline x1='8' y1='15' x2='12' y2='15' stroke='%23F5F0E1' stroke-width='0.8' opacity='0.2'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:contain}.km-svg-onde{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='%230D9488' opacity='0.3'/%3E%3Cpath d='M4 12 Q8 8 12 12 T20 12' fill='none' stroke='%232DD4BF' stroke-width='1.5' opacity='0.7'/%3E%3Cpath d='M4 15 Q8 11 12 15 T20 15' fill='none' stroke='%232DD4BF' stroke-width='1' opacity='0.4'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:contain}.km-svg-braise{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 C8 8 4 12 4 16 C4 20 8 22 12 22 C16 22 20 20 20 16 C20 12 16 8 12 2Z' fill='%23F97316' stroke='%23C2410C' stroke-width='1'/%3E%3Cpath d='M12 10 C10 13 9 15 9 17 C9 19 10 20 12 20 C14 20 15 19 15 17 C15 15 14 13 12 10Z' fill='%23FCD34D' opacity='0.5'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:contain}.km-svg-parchemin{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 3 C4 3 3 4 3 5 L3 19 C3 20 4 21 6 21 L18 21 C20 21 21 20 21 19 L21 5 C21 4 20 3 18 3 Z' fill='%23C2A878' stroke='%238B6914' stroke-width='1'/%3E%3Cpath d='M3 5 Q5 7 6 5' fill='none' stroke='%238B6914' stroke-width='0.8' opacity='0.4'/%3E%3Cline x1='7' y1='8' x2='17' y2='8' stroke='%238B6914' stroke-width='0.6' opacity='0.25'/%3E%3Cline x1='7' y1='12' x2='15' y2='12' stroke='%238B6914' stroke-width='0.6' opacity='0.2'/%3E%3Cline x1='7' y1='16' x2='13' y2='16' stroke='%238B6914' stroke-width='0.6' opacity='0.15'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:contain}.km-svg-pierre{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 8 L9 4 L16 4 L20 8 L18 18 L7 18 Z' fill='%234B5563' stroke='%23374151' stroke-width='1.2'/%3E%3Cpath d='M8 7 L12 5 L16 7' fill='none' stroke='%236B7280' stroke-width='0.8' opacity='0.4'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:contain}.km-btn{justify-content:center;align-items:center;gap:var(--sp-2);border-radius:var(--radius-pill);font-weight:var(--fw-bold);cursor:pointer;border:1px solid var(--border-strong);background:var(--surface-elevated);color:var(--text);box-shadow:var(--shadow-sm), var(--glass-highlight);transition:background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);display:inline-flex}.km-btn--md{padding:var(--sp-3) var(--sp-5);font-size:var(--fs-base)}.km-btn--sm{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm)}.km-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0206174d}.km-btn:active:not(:disabled){transform:translateY(0)scale(.97);box-shadow:0 1px 4px #02061733}.km-btn--outline:hover:not(:disabled){background:var(--menu-item-hover);border-color:var(--border-hover)}.km-btn--primary{background:linear-gradient(135deg, var(--_btn-accent,var(--btn-primary-bg,var(--accent))) 0%, var(--_btn-accent-2,color-mix(in srgb, var(--btn-primary-bg,var(--accent)) 76%, white)) 100%);color:var(--_btn-fg,var(--btn-primary-fg,var(--accent-foreground)));border-color:var(--_btn-accent,var(--btn-primary-bg,var(--accent)));box-shadow:0 3px 12px color-mix(in srgb, var(--_btn-accent,var(--btn-primary-bg,var(--accent))) 32%, transparent), inset 0 1px 0 #ffffff2e}.km-btn--primary:hover:not(:disabled){background:linear-gradient(135deg, var(--_btn-accent-2,color-mix(in srgb, var(--btn-primary-bg,var(--accent)) 76%, white)) 0%, var(--_btn-accent,var(--btn-primary-bg,var(--accent))) 100%);box-shadow:0 6px 20px color-mix(in srgb, var(--_btn-accent,var(--btn-primary-bg,var(--accent))) 42%, transparent), inset 0 1px 0 #ffffff2e}.km-btn:focus-visible{outline:2px solid var(--focus-ring-color,var(--accent));outline-offset:2px}.km-btn--ghost{box-shadow:none;background:0 0;border-color:#0000}.km-btn--ghost:hover:not(:disabled){background:var(--surface);box-shadow:none}.km-btn--full{width:100%}.km-btn:disabled{opacity:var(--disabled-opacity);cursor:default;box-shadow:none;transform:none}.km-btn[data-tone=mool]{--_btn-accent:var(--fn-mool);--_btn-accent-2:var(--fn-mool-deep)}.km-btn[data-tone=yaru]{--_btn-accent:var(--fn-yaru);--_btn-accent-2:var(--fn-yaru-deep)}.km-btn[data-tone=jeeri]{--_btn-accent:var(--fn-jeeri);--_btn-accent-2:var(--fn-jeeri-deep)}.km-btn[data-tone=joor]{--_btn-accent:var(--fn-joor);--_btn-accent-2:var(--fn-joor-deep)}.km-btn--outline[data-tone]{border-color:color-mix(in srgb, var(--_btn-accent) 40%, var(--border))}.km-btn--outline[data-tone]:hover:not(:disabled){border-color:var(--_btn-accent)}.km-btn[data-tone=premium]{--_btn-accent:var(--yaa-joor);--_btn-accent-2:var(--yaa-joor-light)}.km-btn[data-tone=streak]{--_btn-accent:var(--yaa-safar);--_btn-accent-2:var(--yaa-safar-bright)}.km-btn[data-tone=validate]{--_btn-accent:var(--yaa-ngelaw);--_btn-accent-2:var(--yaa-ngelaw-light)}.km-btn[data-tone=audio],.km-btn[data-tone=assistant]{--_btn-accent:var(--yaa-ndox);--_btn-accent-2:var(--yaa-ndox-light)}.km-btn[data-tone=warm]{--_btn-accent:var(--brand-accent);--_btn-accent-2:var(--yaa-joor-light)}[data-theme=warm] .km-btn--ghost{color:var(--brand-fg);background:color-mix(in srgb, var(--brand-surface,#f1e6c8) 92%, transparent);border-color:color-mix(in srgb, var(--brand-brown-soft,#8b6914) 28%, transparent)}[data-theme=warm] .km-btn--ghost:hover:not(:disabled){background:color-mix(in srgb, var(--brand-surface,#f1e6c8) 100%, var(--brand-sand,#e2cfa3));border-color:color-mix(in srgb, var(--brand-accent) 48%, transparent)}.km-btn--ghostWarm{color:var(--brand-fg,var(--text));box-shadow:none;background:0 0;border-color:#0000}.km-btn--ghostWarm:hover:not(:disabled){background:color-mix(in srgb, var(--brand-accent) 14%, transparent);border-color:color-mix(in srgb, var(--brand-accent) 35%, transparent);box-shadow:none}[data-theme=warm] .km-btn:hover:not(:disabled){box-shadow:0 4px 12px color-mix(in srgb, var(--brand-near-black) 14%, transparent)}[data-theme=warm] .km-btn:active:not(:disabled){box-shadow:0 1px 4px color-mix(in srgb, var(--brand-near-black) 10%, transparent)}[data-theme=warm] .km-btn--outline{background:var(--brand-surface,transparent);border-color:color-mix(in srgb, var(--brand-brown-soft) 32%, transparent);color:var(--brand-fg)}[data-theme=warm] .km-btn--outline:hover:not(:disabled){background:color-mix(in srgb, var(--brand-accent) 10%, var(--brand-surface));border-color:color-mix(in srgb, var(--brand-accent) 55%, var(--brand-brown-soft))}.km-card{background:var(--glass-surface-strong);border:1px solid var(--glass-border);border-radius:var(--radius);color:var(--text);-webkit-backdrop-filter:saturate(115%)blur(6px);backdrop-filter:saturate(115%)blur(6px);box-shadow:var(--shadow-sm), var(--glass-highlight)}.km-card--pad-sm{padding:var(--sp-2)}.km-card--pad-md{padding:var(--sp-3)}.km-card--pad-lg{padding:var(--sp-4)}.km-card--interactive{cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast)}.km-card--interactive:hover{box-shadow:var(--shadow);border-color:var(--border-hover);transform:translateY(-2px)}.km-card--interactive:active{transform:translateY(0)}.km-card[data-tone=mool]{border-color:color-mix(in srgb, var(--fn-mool) 20%, var(--border));background:linear-gradient(165deg,#2dd4bf1a 0%,#0d94880f 50%,#2dd4bf14 100%)}.km-card[data-tone=yaru]{border-color:color-mix(in srgb, var(--fn-yaru) 20%, var(--border));background:linear-gradient(165deg,#f973161a 0%,#c2410c0d 50%,#f9731614 100%)}.km-card[data-tone=jeeri]{border-color:color-mix(in srgb, var(--fn-jeeri) 20%, var(--border));background:linear-gradient(165deg,#a78bfa1a 0%,#8b5cf60d 50%,#a78bfa14 100%)}.km-card[data-tone=joor]{border-color:color-mix(in srgb, var(--fn-joor) 20%, var(--border));background:linear-gradient(165deg,#8b69141f 0%,#c49a2b0f 50%,#8b69141a 100%)}.km-card[data-tone=noon]{border-color:color-mix(in srgb, var(--fn-noon) 18%, var(--border));background:linear-gradient(165deg,#5c6b7a1a 0%,#3a46540f 50%,#5c6b7a12 100%);box-shadow:inset 0 1px #5c6b7a0f}.km-card[data-tone=nakk]{border-color:color-mix(in srgb, var(--fn-nakk) 14%, var(--border));opacity:.92;background:linear-gradient(165deg,#7a727014 0%,#5a52500a 50%,#7a72700f 100%)}.km-card[data-tone=xam-xam]{border-color:color-mix(in srgb, var(--fn-xam) 20%, var(--border));background:linear-gradient(165deg,#6b8ca81a 0%,#4a6a840d 50%,#6b8ca814 100%);box-shadow:inset 0 1px #6b8ca814}.km-card[data-tone=premium]{background:linear-gradient(165deg, color-mix(in srgb, var(--yaa-joor) 14%, transparent) 0%, color-mix(in srgb, var(--yaa-joor) 6%, transparent) 50%, color-mix(in srgb, var(--yaa-joor) 12%, transparent) 100%);border-color:color-mix(in srgb, var(--yaa-joor) 28%, var(--border))}.km-card[data-tone=streak]{background:linear-gradient(165deg, color-mix(in srgb, var(--yaa-safar-bright) 12%, transparent) 0%, color-mix(in srgb, var(--yaa-safar) 6%, transparent) 50%, color-mix(in srgb, var(--yaa-safar-bright) 10%, transparent) 100%);border-color:color-mix(in srgb, var(--yaa-safar-bright) 26%, var(--border))}.km-card[data-tone=validate]{background:linear-gradient(165deg, color-mix(in srgb, var(--yaa-ngelaw) 12%, transparent) 0%, color-mix(in srgb, var(--yaa-ngelaw-deep) 6%, transparent) 50%, color-mix(in srgb, var(--yaa-ngelaw) 10%, transparent) 100%);border-color:color-mix(in srgb, var(--yaa-ngelaw) 26%, var(--border))}.km-card[data-tone=audio],.km-card[data-tone=assistant]{background:linear-gradient(165deg, color-mix(in srgb, var(--yaa-ndox) 12%, transparent) 0%, color-mix(in srgb, var(--yaa-ndox-deep) 6%, transparent) 50%, color-mix(in srgb, var(--yaa-ndox) 10%, transparent) 100%);border-color:color-mix(in srgb, var(--yaa-ndox) 26%, var(--border))}.km-card[data-tone=warm]{background:linear-gradient(165deg, color-mix(in srgb, var(--brand-cream) 14%, transparent) 0%, color-mix(in srgb, var(--brand-sand) 8%, transparent) 50%, color-mix(in srgb, var(--brand-cream) 12%, transparent) 100%);border-color:color-mix(in srgb, var(--brand-brown-soft) 22%, var(--border))}[data-theme=warm] .km-card{background-color:var(--brand-surface);border-color:color-mix(in srgb, var(--brand-brown-soft) 30%, transparent);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 2px 8px color-mix(in srgb, var(--brand-near-black) 10%, transparent), inset 0 1px 0 #fff8dc8c}[data-theme=warm] .km-card--interactive:hover{border-color:color-mix(in srgb, var(--brand-accent) 42%, var(--brand-brown-soft));box-shadow:0 6px 18px color-mix(in srgb, var(--brand-near-black) 14%, transparent), inset 0 1px 0 #fff8dca6}.km-pill{border-radius:var(--radius-pill);font-weight:var(--fw-medium);white-space:nowrap;background:color-mix(in srgb, var(--_pill-color,var(--muted)) 18%, var(--surface));color:color-mix(in srgb, var(--_pill-color,var(--muted)) 70%, var(--text));border:1px solid color-mix(in srgb, var(--_pill-color,var(--muted)) 28%, var(--border));line-height:1.3;display:inline-block}.km-pill--sm{font-size:var(--fs-xs);padding:.12rem .45rem}.km-pill--md{padding:.2rem .55rem;font-size:.74rem}.km-pill[data-tone=mool]{--_pill-color:var(--fn-mool)}.km-pill[data-tone=yaru]{--_pill-color:var(--fn-yaru)}.km-pill[data-tone=jeeri]{--_pill-color:var(--fn-jeeri)}.km-pill[data-tone=joor]{--_pill-color:var(--fn-joor)}.km-pill[data-tone=noon]{--_pill-color:var(--fn-noon)}.km-pill[data-tone=nakk]{--_pill-color:var(--fn-nakk)}.km-pill[data-tone=xam-xam]{--_pill-color:var(--fn-xam)}.km-pill[data-tone=neutral]{--_pill-color:var(--muted)}.km-pill[data-tone=premium]{--_pill-color:var(--yaa-joor)}.km-pill[data-tone=streak]{--_pill-color:var(--yaa-safar-bright)}.km-pill[data-tone=validate]{--_pill-color:var(--yaa-ngelaw)}.km-pill[data-tone=audio],.km-pill[data-tone=assistant]{--_pill-color:var(--yaa-ndox)}.km-pill[data-tone=warm]{--_pill-color:var(--brand-brown-soft)}.km-progress{align-items:center;gap:var(--sp-2);display:flex}.km-progress__track{border-radius:var(--radius-pill);background:#ffffff1a;flex:1;overflow:hidden}.km-progress__track--sm{height:4px}.km-progress__track--md{height:8px}.km-progress__fill{border-radius:var(--radius-pill);background:var(--_prog-color,var(--accent));height:100%;transition:width .3s}.km-progress__label{font-size:var(--fs-sm);color:var(--text-dim);white-space:nowrap}.km-progress[data-tone=mool]{--_prog-color:var(--fn-mool)}.km-progress[data-tone=yaru]{--_prog-color:var(--fn-yaru)}.km-progress[data-tone=jeeri]{--_prog-color:var(--fn-jeeri)}.km-progress[data-tone=joor]{--_prog-color:var(--fn-joor)}.km-progress[data-tone=premium]{--_prog-color:var(--yaa-joor)}.km-progress[data-tone=streak]{--_prog-color:var(--yaa-safar-bright)}.km-progress[data-tone=validate]{--_prog-color:var(--yaa-ngelaw)}.km-progress[data-tone=audio],.km-progress[data-tone=assistant]{--_prog-color:var(--yaa-ndox)}.km-progress[data-tone=warm],[data-theme=warm] .km-progress:not([data-tone]){--_prog-color:var(--brand-accent)}[data-theme=warm] .km-progress__track{background:color-mix(in srgb, var(--brand-brown-soft) 18%, transparent)}[data-theme=warm] .km-progress__label{color:color-mix(in srgb, var(--brand-fg) 70%, transparent)}.km-progress-ring{display:block}.km-progress-ring__track{stroke:#ffffff1f}.km-progress-ring__fill{stroke:var(--_ring-color,var(--accent));transition:stroke-dashoffset .4s}.km-progress-ring[data-tone=premium]{--_ring-color:var(--yaa-joor)}.km-progress-ring[data-tone=validate]{--_ring-color:var(--yaa-ngelaw)}.km-progress-ring[data-tone=warm]{--_ring-color:var(--brand-accent)}[data-theme=warm] .km-progress-ring__track{stroke:color-mix(in srgb, var(--brand-brown-soft) 22%, transparent)}@media (prefers-reduced-motion:reduce){.km-progress-ring__fill{transition:none}}.skeleton--bar{border-radius:var(--radius-pill);height:8px}.km-loader{--_loader-accent:var(--brand-premium,var(--yaa-joor,#c8942b));place-content:center;justify-items:center;gap:var(--sp-3,.75rem);width:100%;min-height:12rem;padding:var(--sp-6,1.5rem);color:var(--brand-fg,var(--text));text-align:center;display:grid}.km-loader--sm{gap:var(--sp-2,.5rem);min-height:5rem;padding:var(--sp-3,.75rem)}.km-loader--lg{min-height:18rem}.km-loader--screen{background:var(--brand-bg);flex:1;min-height:40vh}.km-loader--inline{text-align:start;flex-direction:row;gap:.45rem;width:auto;min-height:0;padding:0;display:inline-flex}.km-loader__mark{isolation:isolate;place-items:center;animation:1.8s ease-in-out infinite km-loader-float;display:grid;position:relative}.km-loader__mark:before{content:"";z-index:-1;aspect-ratio:1;border:2px solid color-mix(in srgb, var(--_loader-accent) 42%, transparent);border-top-color:var(--_loader-accent);border-radius:50%;width:122%;animation:1.4s linear infinite km-loader-orbit;position:absolute}.km-loader--inline .km-loader__mark:before{border-width:1px;width:118%}.km-loader__label{max-width:28rem;font-size:var(--fs-sm);font-weight:var(--fw-semibold,600);color:color-mix(in srgb, var(--brand-fg,var(--text)) 78%, transparent);line-height:1.4}.km-loader--lg .km-loader__label{font-size:var(--fs-base)}.km-loader__dots{align-items:center;gap:.32rem;min-height:.5rem;display:inline-flex}.km-loader__dots>span{background:var(--_loader-accent);border-radius:999px;width:.38rem;height:.38rem;animation:1.1s ease-in-out infinite km-loader-dot}.km-loader__dots>span:nth-child(2){animation-delay:.14s}.km-loader__dots>span:nth-child(3){animation-delay:.28s}.km-loader--inline .km-loader__dots{display:none}@keyframes km-loader-orbit{to{transform:rotate(360deg)}}@keyframes km-loader-float{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-3px)scale(1.025)}}@keyframes km-loader-dot{0%,60%,to{opacity:.28;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.km-loader__mark,.km-loader__mark:before,.km-loader__dots>span{animation:none}.km-loader__mark:before{border-color:color-mix(in srgb, var(--_loader-accent) 42%, transparent)}.km-loader__dots>span{opacity:.72}}.km-brandmark{align-items:center;gap:var(--sp-2);line-height:1;display:inline-flex}.km-brandmark__img{width:var(--_km-brandmark-size,64px);height:var(--_km-brandmark-size,64px);object-fit:contain;-webkit-user-select:none;user-select:none;display:block}.km-brandmark--sm{--_km-brandmark-size:32px}.km-brandmark--md{--_km-brandmark-size:64px}.km-brandmark--lg{--_km-brandmark-size:112px}.km-brandmark__label{font-family:var(--font-display);font-weight:var(--fw-semibold);letter-spacing:.01em;color:inherit;white-space:nowrap}.km-brandmark--sm .km-brandmark__label{font-size:var(--fs-md)}.km-brandmark--md .km-brandmark__label{font-size:var(--fs-xl)}.km-brandmark--lg .km-brandmark__label{font-size:var(--fs-2xl)}.km-ui-icon{color:inherit;vertical-align:-.15em;flex:none;display:inline-block;overflow:visible}.km-ui-icon *{vector-effect:non-scaling-stroke}@media (forced-colors:active){.km-ui-icon{forced-color-adjust:auto}}.km-premium-ui-icon{object-fit:contain;object-position:center;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;flex:none;max-width:100%;height:auto;display:block}.km-premium-ui-icon--direction-left{transform:rotate(180deg)}.km-premium-ui-icon--direction-up{transform:rotate(-90deg)}.km-premium-ui-icon--direction-down{transform:rotate(90deg)}.home-illustrated-icon{object-fit:contain;object-position:center;-webkit-user-select:none;user-select:none;flex:none;max-width:100%;max-height:100%;display:block}.km-screen-header{gap:var(--sp-1);flex-direction:column;display:flex}.km-screen-header__top{align-items:center;gap:var(--sp-2);display:flex}.km-screen-header__back{background:color-mix(in srgb, var(--surface-elevated) 90%, transparent);border:1px solid color-mix(in srgb, var(--border) 60%, transparent);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--text);font-size:var(--fs-lg);cursor:pointer;box-shadow:var(--shadow-sm);transition:color var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);border-radius:999px;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex}.km-screen-header__back:hover{color:var(--text);background:color-mix(in srgb, var(--surface-elevated) 78%, transparent);border-color:color-mix(in srgb, var(--border) 82%, transparent)}.km-screen-header__back:active{transform:scale(.96)}.km-screen-header__back:focus-visible{outline:2px solid var(--focus-ring-color,var(--accent));outline-offset:3px}[data-theme=warm] .km-screen-header__back{background:color-mix(in srgb, var(--brand-surface) 92%, white);border-color:color-mix(in srgb, var(--brand-brown-soft) 32%, transparent);color:var(--brand-fg);box-shadow:0 2px 6px color-mix(in srgb, var(--brand-brown) 14%, transparent)}[data-theme=warm] .km-screen-header__back:hover{background:color-mix(in srgb, var(--brand-surface) 86%, var(--brand-sand));border-color:color-mix(in srgb, var(--brand-brown-soft) 48%, transparent)}@media (prefers-reduced-motion:reduce){.km-screen-header__back{transition:none}.km-screen-header__back:active{transform:none}}.km-screen-header__title{font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:var(--text);margin:0}.km-screen-header__subtitle{font-size:var(--fs-sm);color:var(--muted);margin:0;line-height:1.5}.km-screen-header[data-tone]{border-left:3px solid var(--_header-accent,var(--accent));padding-left:var(--sp-3)}.km-screen-header[data-tone=mool]{--_header-accent:var(--fn-mool)}.km-screen-header[data-tone=yaru]{--_header-accent:var(--fn-yaru)}.km-screen-header[data-tone=jeeri]{--_header-accent:var(--fn-jeeri)}.km-screen-header[data-tone=joor]{--_header-accent:var(--fn-joor)}.km-screen-header[data-tone=premium]{--_header-accent:var(--yaa-joor)}.km-screen-header[data-tone=streak]{--_header-accent:var(--yaa-safar-bright)}.km-screen-header[data-tone=validate]{--_header-accent:var(--yaa-ngelaw)}.km-screen-header[data-tone=audio],.km-screen-header[data-tone=assistant]{--_header-accent:var(--yaa-ndox)}.km-screen-header[data-tone=warm]{--_header-accent:var(--brand-accent)}.km-screen-header__slot{margin-top:var(--sp-2)}.app-shell{--app-bottom-nav-height:62px;--app-bottom-nav-breathing-room:48px;--app-bottom-nav-clearance:calc(var(--app-bottom-nav-height) + env(safe-area-inset-bottom,0px) + var(--app-bottom-nav-breathing-room))}.km-bottomnav{z-index:1000;padding:0;padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);background:var(--bottomnav-bg);-webkit-backdrop-filter:saturate(135%)blur(14px);backdrop-filter:saturate(135%)blur(14px);border-top:1px solid var(--bottomnav-border);box-shadow:0 -4px 14px #02061773, var(--glass-highlight);--_km-bottomnav-height:62px;position:fixed;bottom:0;left:0;right:0}.km-bottomnav__list{height:var(--_km-bottomnav-height);margin:0;grid-template-columns:repeat(5,1fr);align-items:stretch;max-width:720px;margin-inline:auto;padding:0;list-style:none;display:grid}.km-bottomnav__item{justify-content:stretch;align-items:stretch;min-width:0;display:flex}.km-bottomnav__btn{min-width:0;min-height:44px;color:var(--muted);padding:var(--sp-1) var(--sp-1);transition:color var(--transition-fast), transform var(--transition-fast);outline-offset:2px;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-family:inherit;display:flex;position:relative}@media (prefers-reduced-motion:reduce){.km-bottomnav__btn{transition:none}.km-bottomnav__btn:active{transform:none}}.km-bottomnav__btn:hover{color:var(--text-2)}.km-bottomnav__btn{outline:none}.km-bottomnav__btn:focus-visible{outline:2px solid color-mix(in srgb, var(--yaa-joor,#d97706) 60%, transparent);outline-offset:4px;border-radius:var(--radius-sm,6px)}.km-bottomnav__btn:active{transform:translateY(1px)}.km-bottomnav__btn.is-active{color:var(--accent)}.km-bottomnav__btn.is-active:before{content:"";border-radius:0 0 var(--radius-sm) var(--radius-sm);background:linear-gradient(90deg, var(--accent) 0%, var(--accent-2) 100%);width:28px;height:3px;position:absolute;top:0;left:50%;transform:translate(-50%);box-shadow:0 0 12px #2dd4bf66}.km-bottomnav__icon{flex:0 0 30px;justify-content:center;align-items:center;width:30px;height:30px;line-height:0;display:flex}.km-bottomnav__icon-img{object-fit:contain;width:30px;height:30px;display:block}.km-bottomnav__label{font-size:.62rem;font-weight:var(--fw-bold);letter-spacing:0;white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}[data-theme=warm] .km-bottomnav,.km-bottomnav[data-theme=warm]{background:linear-gradient(180deg, color-mix(in srgb, var(--bg) 96%, transparent) 0%, var(--bg) 100%);border-top-color:var(--border-soft);box-shadow:0 -4px 14px color-mix(in srgb, var(--brand-near-black,#1a140a) 18%, transparent), var(--glass-highlight)}[data-theme=warm] .km-bottomnav__btn,.km-bottomnav[data-theme=warm] .km-bottomnav__btn{color:var(--fg-muted)}[data-theme=warm] .km-bottomnav__btn:hover,.km-bottomnav[data-theme=warm] .km-bottomnav__btn:hover{color:var(--fg)}[data-theme=warm] .km-bottomnav__btn.is-active,.km-bottomnav[data-theme=warm] .km-bottomnav__btn.is-active{color:var(--btn-primary-bg)}[data-theme=warm] .km-bottomnav__btn.is-active:before,.km-bottomnav[data-theme=warm] .km-bottomnav__btn.is-active:before{background:linear-gradient(90deg, var(--btn-primary-bg) 0%, var(--yaa-joor,#c8942b) 100%);box-shadow:0 0 12px color-mix(in srgb, var(--btn-primary-bg) 40%, transparent)}@media (width>=960px){.km-bottomnav{--_km-bottomnav-height:64px}.km-bottomnav__list{max-width:960px}.km-bottomnav__btn{gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);flex-direction:row}.km-bottomnav__label{font-size:var(--fs-sm)}.km-bottomnav__icon{flex-basis:28px;width:28px;height:28px}.km-bottomnav__icon-img{width:28px;height:28px}.km-bottomnav__btn.is-active:before{width:40px}.app-shell--home-premium .km-bottomnav,.app-shell--jang-premium .km-bottomnav{display:none}}.km-screen{box-sizing:border-box;width:100%;max-width:var(--_km-screen-max,960px);margin-inline:auto}.km-screen--padded{padding-left:calc(var(--sp-4) + env(safe-area-inset-left,0px));padding-right:calc(var(--sp-4) + env(safe-area-inset-right,0px));padding-top:var(--sp-3)}.km-screen--compact.km-screen--padded{padding-left:calc(var(--sp-3) + env(safe-area-inset-left,0px));padding-right:calc(var(--sp-3) + env(safe-area-inset-right,0px));padding-top:var(--sp-2)}.km-screen--reserve-bottomnav{padding-bottom:var(--app-bottom-nav-clearance,calc(78px + env(safe-area-inset-bottom,0px)))}.km-screen[data-theme=warm]{background:var(--brand-bg,#f8f1dd);min-height:100%}@media (width>=960px){.km-screen--padded{padding-left:var(--sp-6);padding-right:var(--sp-6);padding-top:var(--sp-6)}.km-screen--compact.km-screen--padded{padding-left:var(--sp-4);padding-right:var(--sp-4);padding-top:var(--sp-4)}.km-screen[data-theme=warm]{flex:1}}.km-settings-row{align-items:center;gap:var(--sp-3);width:100%;min-height:44px;padding:var(--sp-3) var(--sp-4);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);text-align:left;transition:background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);font-family:inherit;display:flex;box-shadow:0 2px 6px #02061733}.km-settings-row+.km-settings-row{margin-top:var(--sp-2)}.km-settings-row--interactive{cursor:pointer}.km-settings-row--interactive:hover:not(:disabled){border-color:var(--border-hover);background:var(--surface-2)}.km-settings-row--interactive:active:not(:disabled){transform:translateY(1px)}.km-settings-row--disabled,.km-settings-row:disabled{opacity:var(--disabled-opacity);cursor:default}.km-settings-row--danger .km-settings-row__label{color:var(--error)}.km-settings-row__icon{text-align:center;opacity:.9;flex-shrink:0;width:24px;font-size:1.15rem;line-height:1}.km-settings-row__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.km-settings-row__label{font-size:var(--fs-base);font-weight:var(--fw-medium);color:var(--text);line-height:1.3}.km-settings-row__desc{font-size:var(--fs-sm);color:var(--text-2);line-height:1.35}.km-settings-row__value{font-size:var(--fs-sm);color:var(--muted);flex-shrink:0}.km-settings-row__control{flex-shrink:0;align-items:center;display:flex}.km-settings-row__chevron{color:var(--muted);transition:transform var(--transition-fast), color var(--transition-fast);flex-shrink:0;font-size:1.2rem;line-height:1}.km-settings-row--interactive:hover .km-settings-row__chevron{color:var(--text-2);transform:translate(2px)}[data-theme=warm] .km-settings-row{background:var(--brand-surface);color:var(--brand-fg);border-color:color-mix(in srgb, var(--brand-brown-soft) 32%, transparent);box-shadow:0 2px 8px color-mix(in srgb, var(--brand-near-black) 14%, transparent)}[data-theme=warm] .km-settings-row__label{color:var(--brand-fg)}[data-theme=warm] .km-settings-row__desc{color:color-mix(in srgb, var(--brand-fg) 68%, transparent)}[data-theme=warm] .km-settings-row__value,[data-theme=warm] .km-settings-row__chevron{color:var(--brand-brown-soft)}[data-theme=warm] .km-settings-row--interactive:hover:not(:disabled){background:color-mix(in srgb, var(--brand-accent) 10%, var(--brand-surface));border-color:color-mix(in srgb, var(--brand-accent) 55%, var(--brand-brown-soft))}[data-theme=warm] .km-settings-row--interactive:hover .km-settings-row__chevron{color:var(--brand-accent)}[data-theme=warm] .km-settings-row--danger .km-settings-row__label{color:var(--error)}.km-settings-row--icon-neutral .km-settings-row__icon,.km-settings-row--icon-gold .km-settings-row__icon,.km-settings-row--icon-green .km-settings-row__icon,.km-settings-row--icon-blue .km-settings-row__icon,.km-settings-row--icon-red .km-settings-row__icon{opacity:1;border:1px solid color-mix(in srgb, currentColor 20%, transparent);width:36px;height:36px;box-shadow:0 4px 10px color-mix(in srgb, var(--brand-brown) 10%, transparent);border-radius:12px;place-items:center;display:grid}.km-settings-row--icon-neutral .km-settings-row__icon{color:var(--brand-brown-soft);background:color-mix(in srgb, var(--brand-brown-soft) 10%, var(--brand-surface))}.km-settings-row--icon-gold .km-settings-row__icon{color:var(--yaa-joor-deep);background:color-mix(in srgb, var(--yaa-joor-light) 24%, var(--brand-surface))}.km-settings-row--icon-green .km-settings-row__icon{color:var(--yaa-ngelaw-deep);background:color-mix(in srgb, var(--yaa-ngelaw-light) 16%, var(--brand-surface))}.km-settings-row--icon-blue .km-settings-row__icon{color:var(--yaa-ndox);background:color-mix(in srgb, var(--yaa-ndox-light) 14%, var(--brand-surface))}.km-settings-row--icon-red .km-settings-row__icon{color:var(--yaa-safar);background:color-mix(in srgb, var(--yaa-safar-bright) 12%, var(--brand-surface))}.km-settings-row__icon .km-ui-icon,.km-settings-row__chevron .km-ui-icon{display:block}.km-settings-row--icon-illustrated .km-settings-row__icon{width:52px;height:52px;box-shadow:none;color:inherit;opacity:1;background:0 0;border:0;border-radius:0;padding:0;overflow:visible}.km-settings-row--icon-illustrated .km-premium-ui-icon{width:100%;height:100%}.km-stat{--_km-stat-accent:var(--accent);gap:var(--sp-1);padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text);text-align:left;transition:transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;font-family:inherit;display:flex;position:relative;overflow:hidden;box-shadow:0 3px 10px #0206174d,inset 0 1px #ffffff0a}.km-stat__accent{background:linear-gradient(90deg, var(--_km-stat-accent) 0%, color-mix(in srgb, var(--_km-stat-accent) 40%, transparent) 100%);opacity:.85;height:3px;position:absolute;top:0;left:0;right:0}.km-stat--interactive{cursor:pointer}.km-stat--interactive:hover{border-color:var(--border-hover);box-shadow:var(--shadow);transform:translateY(-1px)}.km-stat--interactive:active{transform:translateY(0)}.km-stat__head{align-items:center;gap:var(--sp-2);color:var(--muted);display:flex}.km-stat__icon{font-size:1rem;line-height:1}.km-stat__label{font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.km-stat__value-row{align-items:baseline;gap:var(--sp-1);display:flex}.km-stat__value{font-size:var(--fs-2xl);font-weight:var(--fw-black);color:var(--text);line-height:1.1}.km-stat__unit{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-2)}.km-stat__hint{font-size:var(--fs-xs);color:var(--text-2);opacity:.85}.km-stat[data-tone=mool]{--_km-stat-accent:var(--fn-mool)}.km-stat[data-tone=yaru]{--_km-stat-accent:var(--fn-yaru)}.km-stat[data-tone=jeeri]{--_km-stat-accent:var(--fn-jeeri)}.km-stat[data-tone=joor]{--_km-stat-accent:var(--fn-joor)}.km-stat[data-tone=premium]{--_km-stat-accent:var(--yaa-joor)}.km-stat[data-tone=streak]{--_km-stat-accent:var(--yaa-safar-bright)}.km-stat[data-tone=validate]{--_km-stat-accent:var(--yaa-ngelaw)}.km-stat[data-tone=audio],.km-stat[data-tone=assistant]{--_km-stat-accent:var(--yaa-ndox)}.km-stat[data-tone=warm]{--_km-stat-accent:var(--brand-accent)}[data-theme=warm] .km-stat{background:var(--brand-surface);border-color:color-mix(in srgb, var(--brand-brown-soft) 34%, transparent);box-shadow:0 6px 18px color-mix(in srgb, var(--brand-brown-soft) 12%, transparent), inset 0 1px 0 #ffffff8c;color:var(--brand-fg)}[data-theme=warm] .km-stat__accent{background:linear-gradient(90deg, var(--brand-accent) 0%, color-mix(in srgb, var(--_km-stat-accent) 58%, transparent) 100%);opacity:1}[data-theme=warm] .km-stat__head,[data-theme=warm] .km-stat__label{color:var(--brand-brown-soft)}[data-theme=warm] .km-stat__value{color:var(--brand-fg)}[data-theme=warm] .km-stat__unit,[data-theme=warm] .km-stat__hint{color:color-mix(in srgb, var(--brand-fg) 68%, transparent)}[data-theme=warm] .km-stat--interactive:hover{border-color:color-mix(in srgb, var(--brand-accent) 46%, var(--brand-brown-soft));box-shadow:0 8px 22px color-mix(in srgb, var(--brand-brown-soft) 16%, transparent), inset 0 1px 0 #fff9}.km-stat-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.km-locked{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-lg);color:var(--text);border:1px solid #f4c95d47;display:flex;position:relative;box-shadow:0 4px 14px #0206174d,inset 0 1px #ffffff0d}.km-locked--warm{background:linear-gradient(135deg, color-mix(in srgb, var(--warm) 14%, var(--surface)) 0%, var(--surface) 70%)}.km-locked--neutral{background:var(--surface);border-color:var(--border)}.km-locked__icon{border-radius:var(--radius);background:#f4c95d1f;border:1px solid #f4c95d40;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:1.5rem;line-height:1;display:grid}.km-locked--neutral .km-locked__icon{background:var(--surface-2);border-color:var(--border)}.km-locked__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.km-locked__title{font-size:var(--fs-base);font-weight:var(--fw-bold);color:var(--text);line-height:1.25}.km-locked__subtitle{font-size:var(--fs-sm);color:var(--text-2);line-height:1.35}.km-locked__cta{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 100%);color:var(--text-on-accent);border-radius:var(--radius-pill);padding:var(--sp-2) var(--sp-4);font-size:var(--fs-sm);font-weight:var(--fw-bold);cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast);border:0;flex-shrink:0;font-family:inherit;box-shadow:0 3px 10px #2dd4bf4d}.km-locked__cta:hover{transform:translateY(-1px);box-shadow:0 6px 16px #2dd4bf66}.km-locked__cta:active{transform:translateY(0)scale(.98)}.km-locked--compact{padding:var(--sp-2) var(--sp-3);gap:var(--sp-2)}.km-locked--compact .km-locked__icon{width:28px;height:28px;font-size:1.1rem}.km-locked--compact .km-locked__title{font-size:var(--fs-sm)}.km-locked--compact .km-locked__subtitle{font-size:var(--fs-xs)}.km-locked--compact .km-locked__cta{padding:var(--sp-1) var(--sp-3);font-size:var(--fs-xs)}@media (width<=420px){.km-locked:not(.km-locked--compact){flex-wrap:wrap}.km-locked:not(.km-locked--compact) .km-locked__body{flex-basis:calc(100% - 36px - var(--sp-3))}.km-locked:not(.km-locked--compact) .km-locked__cta{margin-left:auto;margin-top:var(--sp-1)}}[data-theme=warm] .km-locked{border-color:color-mix(in srgb, var(--yaa-joor) 32%, transparent);color:var(--brand-fg);box-shadow:0 4px 14px color-mix(in srgb, var(--brand-near-black) 12%, transparent), inset 0 1px 0 #fff8dc8c}[data-theme=warm] .km-locked--warm{background:linear-gradient(135deg, color-mix(in srgb, var(--yaa-joor) 16%, var(--brand-surface)) 0%, var(--brand-surface) 70%)}[data-theme=warm] .km-locked--neutral{background:var(--brand-surface);border-color:color-mix(in srgb, var(--brand-brown-soft) 30%, transparent)}[data-theme=warm] .km-locked__icon{background:color-mix(in srgb, var(--yaa-joor) 14%, transparent);border-color:color-mix(in srgb, var(--yaa-joor) 32%, transparent)}[data-theme=warm] .km-locked--neutral .km-locked__icon{background:color-mix(in srgb, var(--brand-sand) 40%, var(--brand-surface));border-color:color-mix(in srgb, var(--brand-brown-soft) 28%, transparent)}[data-theme=warm] .km-locked__title{color:var(--brand-fg)}[data-theme=warm] .km-locked__subtitle{color:color-mix(in srgb, var(--brand-fg) 68%, transparent)}[data-theme=warm] .km-locked__cta{background:linear-gradient(135deg, var(--brand-accent) 0%, var(--yaa-joor-light) 100%);color:var(--brand-near-black);box-shadow:0 3px 10px color-mix(in srgb, var(--yaa-joor) 38%, transparent), inset 0 1px 0 #fff8dc66}[data-theme=warm] .km-locked__cta:hover{box-shadow:0 6px 16px color-mix(in srgb, var(--yaa-joor) 48%, transparent), inset 0 1px 0 #fff8dc80}.km-section-header{align-items:flex-end;gap:var(--sp-3);margin:var(--sp-4) 0 var(--sp-2);display:flex}.km-section-header__text{flex:1;min-width:0}.km-section-header__eyebrow{font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:2px}.km-section-header__title{font-size:var(--fs-lg);font-weight:var(--fw-black);color:var(--text);margin:0;line-height:1.2}.km-section-header__subtitle{font-size:var(--fs-sm);color:var(--text-2);margin:2px 0 0;line-height:1.4}.km-section-header__action{align-items:center;gap:var(--sp-2);flex-shrink:0;display:flex}[data-theme=warm] .km-section-header__eyebrow{color:var(--brand-accent)}[data-theme=warm] .km-section-header__title{font-family:var(--font-display);font-weight:var(--fw-bold);letter-spacing:.005em}[data-theme=warm] .km-section-header__subtitle{color:var(--text-2)}.km-empty{justify-content:center;align-items:center;gap:var(--sp-2);padding:var(--sp-6) var(--sp-4);background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius-lg);color:var(--text);text-align:center;flex-direction:column;display:flex}.km-empty--warm{background:linear-gradient(135deg, color-mix(in srgb, var(--warm) 8%, var(--surface)) 0%, var(--surface) 80%);border-style:solid;border-color:#f4c95d38}.km-empty--compact{padding:var(--sp-4) var(--sp-3);gap:var(--sp-1)}.km-empty__icon{opacity:.85;margin-bottom:var(--sp-1);font-size:2rem;line-height:1}.km-empty--compact .km-empty__icon{font-size:1.4rem}.km-empty__title{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--text);margin:0;line-height:1.25}.km-empty--compact .km-empty__title{font-size:var(--fs-base)}.km-empty__desc{font-size:var(--fs-sm);color:var(--text-2);max-width:360px;margin:0;line-height:1.45}.km-empty__action{margin-top:var(--sp-3)}.km-empty--compact .km-empty__action{margin-top:var(--sp-2)}[data-theme=warm] .km-empty{background:var(--brand-surface);border-color:color-mix(in srgb, var(--brand-brown-soft) 32%, transparent);color:var(--brand-fg);border-style:solid}[data-theme=warm] .km-empty__title{font-family:var(--font-display);color:var(--brand-fg);font-weight:var(--fw-bold)}[data-theme=warm] .km-empty__desc{color:color-mix(in srgb, var(--brand-fg) 70%, transparent)}[data-theme=warm] .km-empty__icon{color:var(--brand-brown-soft)}.km-illustration{flex-shrink:0;display:block}.km-illustration--muted{filter:grayscale(.92)brightness(1.04);opacity:.42}.offline-banner{align-items:center;gap:var(--sp-2,.5rem);padding:var(--sp-2,.5rem) var(--sp-4,1rem);background:color-mix(in srgb, var(--warning,#f59e0b) 12%, var(--surface,#18315f));color:var(--fg,var(--text,#f5a623));font-size:var(--fs-sm,.85rem);border-bottom:1px solid var(--border-soft,var(--border,#ffffff14));z-index:900;display:flex}.offline-banner-dot{background:var(--warning,#f5a623);border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem;animation:1.8s ease-in-out infinite offline-pulse}@keyframes offline-pulse{0%,to{opacity:1}50%{opacity:.35}}.home-smart-next{gap:var(--sp-2);display:grid}.home-smart-next__reason,.home-smart-next__note,.home-premium-value-moment>p{color:var(--text-2);font-size:var(--fs-sm);margin:0;line-height:1.45}.home-smart-next__note{font-size:var(--fs-xs)}.home-premium-value-moment{gap:var(--sp-2);margin-top:var(--sp-2);display:grid}.home-premium-value-moment__eyebrow{color:var(--text-2);font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;font-weight:700}.home-premium-value-moment__cta{touch-action:manipulation;justify-self:start;min-height:44px}@media (width<=420px){.home-smart-next .home-adaptive-review__cta,.home-premium-value-moment__cta{width:100%;min-height:44px}}@media (width<=360px){.home-smart-next,.home-premium-value-moment{gap:var(--sp-1,.5rem)}}@media (prefers-reduced-motion:reduce){.home-smart-next *,.home-premium-value-moment *{transition:none!important;animation:none!important}}.quest-panel{padding:var(--sp-2) 0}.quest-panel__streak-milestone{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2);padding:var(--sp-2);border-radius:var(--radius);background:linear-gradient(135deg,#c49a2b21,#7b4d290d);border:1px solid #c49a2b7a;animation:.56s ease-out both quest-streak-milestone;display:flex}.quest-panel__streak-icon{flex:0 0 2.5rem;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1.35rem;display:inline-flex}.quest-panel__streak-copy{flex-direction:column;gap:2px;display:flex}.quest-panel__heading{justify-content:space-between;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-1);display:flex}.quest-panel__count,.quest-panel__streak-copy span{color:var(--text-2);font-size:var(--fs-xs)}.quest-panel__progress{margin-bottom:var(--sp-2)}.quest-panel__title{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;margin:0 0 var(--sp-1)}.quest-panel__list{gap:var(--sp-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.quest-panel__item{align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--fs-sm);transition:opacity var(--transition-fast);min-height:44px;display:flex}.quest-panel__item--done{opacity:.6}.quest-panel__icon{flex-shrink:0;font-size:1rem;line-height:1}.quest-panel__label{color:var(--text);flex:1}.quest-panel__check{font-size:var(--fs-xs);color:var(--accent);font-weight:var(--fw-bold)}.quest-panel__chest{align-items:center;gap:var(--sp-2);margin-top:var(--sp-2);padding:var(--sp-2);border:1px solid var(--accent);border-radius:var(--radius);background:linear-gradient(135deg,#c49a2b14,#2dd4bf0f);display:flex}.quest-panel__chest--opened{border-color:var(--border);background:var(--surface)}.quest-panel__chest--ready{animation:.64s ease-out both quest-chest-ready}.quest-panel__chest-icon{flex-shrink:0;font-size:1.4rem;line-height:1}.quest-panel__chest-text{font-size:var(--fs-sm);flex-direction:column;flex:1;gap:2px;display:flex}.quest-panel__chest-text strong{color:var(--text)}.quest-panel__chest-text span{color:var(--text-2);font-size:var(--fs-xs)}.quest-panel__chest-cta{margin-top:var(--sp-1);align-self:flex-start;min-height:44px}@keyframes quest-streak-milestone{0%{opacity:0;transform:translateY(6px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes quest-chest-ready{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=420px){.quest-panel__item{align-items:flex-start}.quest-panel__chest{flex-wrap:wrap;align-items:flex-start}.quest-panel__chest>.km-btn{width:100%;min-height:44px}}@media (prefers-reduced-motion:reduce){.quest-panel__item,.quest-panel__streak-milestone,.quest-panel__chest--ready{transition:none!important;animation:none!important;transform:none!important}}.home-page{color:var(--brand-fg);background:radial-gradient(circle at 15% 0%, color-mix(in srgb, var(--brand-premium) 16%, transparent), transparent 34%), radial-gradient(circle at 88% 12%, color-mix(in srgb, var(--brand-validate) 12%, transparent), transparent 32%), linear-gradient(180deg, var(--brand-bg), color-mix(in srgb, var(--brand-surface) 86%, white))}.home-page .content-scroll{padding-bottom:calc(12rem + env(safe-area-inset-bottom,0px));gap:0}.home-page .km-btn--primary{--_btn-accent:var(--yaa-joor);--_btn-accent-2:var(--yaa-joor-light);color:var(--brand-near-black);border-color:color-mix(in srgb, var(--yaa-joor) 60%, var(--brand-brown))}.home-premium-card__media,.home-continue-card__media,.home-recommended-card__media,.home-quick-card__media{border-radius:inherit;background:radial-gradient(circle at 30% 30%, #ffffff2e, transparent 60%), linear-gradient(140deg, color-mix(in srgb, var(--brand-premium) 36%, var(--brand-brown)), color-mix(in srgb, var(--brand-validate) 30%, var(--brand-brown)));pointer-events:none;display:block;position:relative;overflow:hidden}.home-premium-card__media>img,.home-continue-card__media>img,.home-recommended-card__media>img,.home-quick-card__media>img{object-fit:cover;width:100%;height:100%;display:block}.home-dashboard{gap:var(--sp-3);padding-bottom:var(--sp-6);flex-direction:column;display:flex}.home-hero__banner{aspect-ratio:16/5;pointer-events:none;background:radial-gradient(circle at 30% 50%, color-mix(in srgb, var(--brand-premium) 22%, transparent), transparent 56%), linear-gradient(140deg, var(--brand-brown,#3b2210), color-mix(in srgb, var(--brand-premium) 28%, #1a0a02));border-radius:16px;width:100%;max-height:320px;position:relative;overflow:hidden}.home-hero__image{object-fit:cover;object-position:center 48%;pointer-events:none;width:100%;height:100%;display:block}@media (width<=1279px){.home-hero__banner{aspect-ratio:16/6}}@media (width<=959px){.home-hero__banner{aspect-ratio:16/8;max-height:340px}.home-hero__image{object-position:center center}}@media (width<=599px){.home-hero__banner{aspect-ratio:16/9;border-radius:12px;max-height:290px}}.home-greeting{align-items:center;gap:var(--sp-3);padding:var(--sp-3);background:var(--brand-surface,#fff8ed);border:1px solid color-mix(in srgb, var(--brand-premium) 28%, transparent);box-shadow:0 4px 18px color-mix(in srgb, var(--brand-brown-soft) 10%, transparent);z-index:1;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;margin-top:0;display:grid;position:relative}.home-avatar{width:54px;height:54px;color:var(--brand-surface);background:radial-gradient(circle at 34% 24%, color-mix(in srgb, var(--brand-premium) 72%, white), transparent 28%), linear-gradient(145deg, var(--brand-streak), var(--brand-brown));border:2px solid color-mix(in srgb, var(--brand-premium) 55%, white);box-shadow:0 12px 26px color-mix(in srgb, var(--brand-brown-soft) 24%, transparent);font-weight:var(--fw-black);letter-spacing:0;border-radius:50%;place-items:center;display:grid}.home-greeting__copy{min-width:0}.home-brandmark{color:color-mix(in srgb, var(--brand-brown-soft) 82%, var(--brand-premium));opacity:.78}.home-hero__eyebrow,.home-section__title{color:var(--brand-brown-soft);letter-spacing:0;text-transform:uppercase;font-size:.72rem;font-weight:800;line-height:1.2}.home-hero__title{color:var(--brand-fg);margin:.15rem 0 0;font-size:clamp(1.45rem,6vw,2rem);line-height:1.08}.home-hero__sub{margin:var(--sp-1) 0 0;color:color-mix(in srgb, var(--brand-fg) 72%, transparent);max-width:44ch;line-height:1.45}.home-chip-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;display:grid}.home-chip-row .km-pill{background:color-mix(in srgb, var(--brand-surface) 88%, white);border-color:color-mix(in srgb, currentColor 22%, transparent);min-height:34px;box-shadow:0 8px 20px color-mix(in srgb, var(--brand-brown-soft) 12%, transparent);text-align:center;white-space:nowrap;justify-content:center;padding-inline:.55rem;font-size:.78rem;line-height:1.15}.home-profile-chips{flex-wrap:wrap;gap:.45rem;display:flex}.home-profile-chips .km-pill{background:color-mix(in srgb, var(--brand-surface) 90%, white);border-color:color-mix(in srgb, var(--brand-assistant) 24%, transparent);min-height:32px;box-shadow:0 6px 16px color-mix(in srgb, var(--brand-brown-soft) 10%, transparent)}.home-premium,.home-learning-card,.home-daily,.home-retention,.home-level-progress{border-radius:18px}.home-premium{align-items:center;gap:var(--sp-3);background:radial-gradient(circle at 92% 18%, color-mix(in srgb, var(--brand-premium) 32%, transparent), transparent 32%), linear-gradient(135deg, color-mix(in srgb, var(--brand-surface) 96%, white), color-mix(in srgb, var(--brand-premium) 22%, var(--brand-surface)));color:var(--brand-fg);border:1px solid color-mix(in srgb, var(--brand-premium) 55%, transparent);box-shadow:0 10px 24px color-mix(in srgb, var(--brand-premium) 16%, transparent);grid-template-columns:auto minmax(0,1fr) auto;padding:.8rem .9rem;display:grid;position:relative}.home-premium--active{background:radial-gradient(circle at 92% 18%, color-mix(in srgb, var(--brand-validate) 26%, transparent), transparent 32%), linear-gradient(135deg, color-mix(in srgb, var(--brand-surface) 96%, white), color-mix(in srgb, var(--brand-validate) 18%, var(--brand-surface)));border-color:color-mix(in srgb, var(--brand-validate) 45%, transparent)}.home-premium__icon{width:40px;height:40px;color:var(--brand-near-black);background:linear-gradient(180deg, #ffe9a8, var(--brand-premium));box-shadow:inset 0 1px 0 #ffffff8c, 0 6px 14px color-mix(in srgb, var(--brand-premium) 36%, transparent);border-radius:12px;place-items:center;font-size:1.2rem;display:grid}.home-premium--active .home-premium__icon{color:#fff;background:linear-gradient(180deg, color-mix(in srgb, var(--brand-validate) 80%, white), var(--brand-validate))}.home-premium__copy{min-width:0}.home-premium__copy strong,.home-premium__copy span{display:block}.home-premium__copy strong{color:var(--brand-fg);font-size:.98rem;font-weight:800;line-height:1.2}.home-premium__copy span{color:color-mix(in srgb, var(--brand-fg) 72%, transparent);font-size:var(--fs-xs);margin-top:2px;line-height:1.4}.home-premium .km-btn--ghostWarm{min-height:36px;color:var(--brand-near-black);background:linear-gradient(180deg, #ffe7a3, var(--brand-premium));border:1px solid color-mix(in srgb, var(--brand-premium) 70%, var(--brand-brown));box-shadow:0 6px 14px color-mix(in srgb, var(--brand-premium) 26%, transparent);padding-inline:.95rem}.home-premium .km-btn--ghostWarm:hover:not(:disabled){background:linear-gradient(180deg, #fff0c0, color-mix(in srgb, var(--brand-premium) 92%, white));border-color:color-mix(in srgb, var(--brand-premium) 85%, var(--brand-brown))}.home-learning-card{color:var(--brand-fg);padding:var(--sp-3) var(--sp-4);background:radial-gradient(circle at 88% 22%, color-mix(in srgb, var(--brand-validate) 18%, transparent), transparent 38%), linear-gradient(135deg, color-mix(in srgb, var(--brand-surface) 97%, white), color-mix(in srgb, var(--brand-validate) 14%, var(--brand-surface)));border:1px solid color-mix(in srgb, var(--brand-validate) 32%, transparent);box-shadow:0 14px 32px color-mix(in srgb, var(--brand-validate) 16%, transparent);position:relative;overflow:hidden}.home-learning-card:before{content:"";background:linear-gradient(180deg, var(--brand-validate), var(--brand-premium));opacity:.9;width:4px;position:absolute;inset:0 auto 0 0}.home-learning-card:after{content:"";border:1px solid color-mix(in srgb, var(--brand-validate) 28%, transparent);opacity:.55;pointer-events:none;border-radius:50%;width:140px;height:140px;position:absolute;bottom:-40px;right:-28px}.home-learning-card .home-section__title{color:color-mix(in srgb, var(--brand-validate) 78%, var(--brand-brown))}.home-learning-card__body{z-index:1;gap:var(--sp-2);flex-direction:column;display:flex;position:relative}.home-learning-card h2,.home-learning-card p{margin:0}.home-learning-card h2{margin-top:var(--sp-1);color:var(--brand-fg);font-size:1.18rem;font-weight:800;line-height:1.18}.home-learning-card p{color:color-mix(in srgb, var(--brand-fg) 70%, transparent);font-size:var(--fs-sm);line-height:1.45}.home-learning-card__progress .km-progress__track{background:color-mix(in srgb, var(--brand-brown-soft) 18%, transparent)}.home-learning-card .km-btn--primary{align-self:flex-start}.home-grid{gap:var(--sp-3);display:grid}.home-grid--daily{grid-template-columns:minmax(0,1fr)}.home-daily{gap:var(--sp-2);background:color-mix(in srgb, var(--brand-surface) 94%, white);border-color:color-mix(in srgb, var(--brand-brown-soft) 30%, transparent);flex-direction:column;display:flex}.home-daily__main{justify-content:space-between;align-items:baseline;gap:var(--sp-3);display:flex}.home-daily__main strong{color:var(--brand-fg);font-size:1rem}.home-daily__main span{color:var(--brand-validate);font-size:1.15rem;font-weight:var(--fw-black)}.home-daily__message{color:color-mix(in srgb, var(--brand-fg) 70%, transparent);font-size:var(--fs-xs);margin:0;line-height:1.55}.home-daily__message--done{color:var(--brand-validate);font-weight:var(--fw-bold)}.home-retention{gap:var(--sp-2);background:color-mix(in srgb, var(--brand-surface) 92%, white);border-color:color-mix(in srgb, var(--brand-brown-soft) 24%, transparent);flex-direction:column;display:flex}.home-retention__title{color:var(--brand-fg);font-size:var(--fs-sm);font-weight:var(--fw-bold);line-height:1.3}.home-retention__sub{color:color-mix(in srgb, var(--brand-fg) 68%, transparent);font-size:var(--fs-xs);line-height:1.55}.home-retention__cta{margin-top:var(--sp-1);align-self:flex-start}.home-retention--done{border-color:color-mix(in srgb, var(--brand-premium) 48%, transparent)}.home-retention--done .home-retention__title{color:var(--brand-premium)}.home-retention--warn{border-color:color-mix(in srgb, var(--brand-streak) 32%, transparent)}.home-section{gap:var(--sp-3);flex-direction:column;display:flex}.home-section--secondary{gap:var(--sp-2)}.home-section--secondary .home-section__title{color:color-mix(in srgb, var(--brand-brown-soft) 78%, transparent)}.home-section--secondary .home-recommended,.home-section--secondary .home-activity,.home-section--secondary .home-suggestion,.home-section--secondary .home-level-progress{box-shadow:0 4px 14px color-mix(in srgb, var(--brand-brown-soft) 8%, transparent)}.home-recommended,.home-activity,.home-suggestion,.home-quick{font:inherit;cursor:pointer}.home-recommended{align-items:center;gap:var(--sp-3);width:100%;min-height:92px;padding:var(--sp-3);color:var(--brand-fg);text-align:left;background:color-mix(in srgb, var(--brand-surface) 94%, white);border:1px solid color-mix(in srgb, var(--brand-brown-soft) 30%, transparent);box-shadow:0 10px 24px color-mix(in srgb, var(--brand-brown-soft) 12%, transparent);transition:border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);border-radius:18px;grid-template-columns:76px minmax(0,1fr) auto;display:grid}.home-recommended:hover{border-color:color-mix(in srgb, var(--brand-accent) 55%, var(--brand-brown-soft));box-shadow:0 14px 30px color-mix(in srgb, var(--brand-brown-soft) 16%, transparent);transform:translateY(-1px)}.home-recommended__art{height:64px;color:var(--brand-surface);background:radial-gradient(circle at 65% 28%, color-mix(in srgb, var(--brand-premium) 75%, white), transparent 22%), linear-gradient(135deg, var(--brand-brown), var(--brand-validate));border-radius:14px;place-items:center;display:grid}.home-recommended__copy,.home-recommended__copy strong,.home-recommended__copy small{min-width:0;display:block}.home-recommended__copy strong{color:var(--brand-fg);font-size:1rem;line-height:1.25}.home-recommended__copy small{color:color-mix(in srgb, var(--brand-fg) 66%, transparent);font-size:var(--fs-xs);margin-top:4px;line-height:1.45}.home-section--recommended .home-recommended{grid-template-columns:64px minmax(0,1fr) auto;min-height:80px}.home-section--recommended .home-recommended__art{height:54px}.home-arrow{color:var(--brand-accent);font-weight:var(--fw-black)}.home-quick-grid,.home-suggestions{gap:var(--sp-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.home-suggestion{min-height:86px;padding:var(--sp-3);color:color-mix(in srgb, var(--brand-fg) 70%, transparent);text-align:left;background:color-mix(in srgb, var(--brand-surface) 92%, white);border:1px solid color-mix(in srgb, var(--brand-brown-soft) 30%, transparent);box-shadow:0 8px 20px color-mix(in srgb, var(--brand-brown-soft) 10%, transparent);transition:border-color var(--transition-fast), transform var(--transition-fast), color var(--transition-fast);border-radius:16px}.home-quick{align-content:space-between;gap:var(--sp-2);min-height:124px;color:color-mix(in srgb, var(--brand-fg) 74%, transparent);text-align:left;background:radial-gradient(circle at 92% 8%, color-mix(in srgb, var(--yaa-joor) 12%, transparent), transparent 56%), linear-gradient(150deg, color-mix(in srgb, var(--brand-surface) 96%, #fff8ed), color-mix(in srgb, var(--brand-sand) 20%, var(--brand-surface)));border:1px solid color-mix(in srgb, var(--brand-brown-soft) 26%, transparent);box-shadow:0 8px 18px color-mix(in srgb, var(--brand-brown) 9%, transparent), inset 0 1px 0 #fff8dc99;transition:border-color var(--transition-fast), transform var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);border-radius:18px;grid-template-rows:auto minmax(0,1fr);padding:.88rem .82rem .78rem;display:grid;position:relative;overflow:hidden}.home-quick:hover,.home-suggestion:hover{color:var(--brand-fg);border-color:color-mix(in srgb, var(--brand-accent) 48%, var(--brand-brown-soft));transform:translateY(-1px)}.home-recommended:focus-visible,.home-activity:focus-visible,.home-suggestion:focus-visible,.home-quick:focus-visible{outline:2px solid var(--focus-ring-color,var(--brand-accent));outline-offset:3px}.home-quick:hover{box-shadow:0 12px 26px color-mix(in srgb, var(--brand-brown-soft) 14%, transparent), inset 0 1px 0 #fff8dca8}.home-quick__icon{width:56px;height:56px;color:var(--brand-fg);background:linear-gradient(145deg, color-mix(in srgb, var(--brand-surface) 94%, #fff8ed), color-mix(in srgb, var(--brand-accent) 13%, var(--brand-surface)));border:1px solid color-mix(in srgb, currentColor 20%, transparent);border-radius:16px;place-items:center;display:grid;box-shadow:inset 0 1px #fff8dc80}.home-quick__icon svg{stroke:currentColor;stroke-width:2.8px;stroke-linecap:round;stroke-linejoin:round;width:30px;height:30px}.home-quick__letters{color:inherit;align-items:baseline;gap:.12rem;font-size:1.06rem;font-weight:900;line-height:1;display:inline-flex}.home-quick__letters span{color:color-mix(in srgb, var(--yaa-joor-light) 84%, white)}.home-quick__copy{min-width:0;display:block}.home-quick strong,.home-quick span,.home-suggestion strong,.home-suggestion span{display:block}.home-quick strong,.home-suggestion strong{color:var(--brand-fg);margin-bottom:var(--sp-1);line-height:1.25}.home-quick span,.home-suggestion span{font-size:var(--fs-xs);line-height:1.45}.home-quick__copy span{text-transform:none;font-weight:800}.home-quick__copy em{width:fit-content;color:color-mix(in srgb, var(--brand-fg) 72%, transparent);letter-spacing:.01em;background:color-mix(in srgb, var(--brand-accent) 13%, transparent);border-radius:999px;padding:.16rem .5rem;font-size:.68rem;font-style:normal;font-weight:900;line-height:1.2;display:inline-flex}.home-quick__chips{flex-wrap:wrap;gap:.32rem;margin-top:.3rem;display:flex}.home-quick__chips em,.home-quick__chips .home-quick__bonus{margin-top:0}.home-quick__bonus{width:fit-content;color:var(--brand-near-black,#1f1303);letter-spacing:.02em;background:linear-gradient(180deg, #ffe7a3, var(--yaa-joor));border:1px solid color-mix(in srgb, var(--yaa-joor-deep) 36%, var(--brand-brown-soft));box-shadow:0 3px 8px color-mix(in srgb, var(--yaa-joor) 22%, transparent);border-radius:999px;align-items:center;padding:.16rem .52rem;font-size:.66rem;font-style:normal;font-weight:900;line-height:1.2;display:inline-flex}.home-quick .home-quick__icon{display:grid}.home-quick .home-quick__letters{font-size:1.06rem;line-height:1;display:inline-flex}.home-quick .home-quick__letters span{font-size:inherit;line-height:inherit;display:inline}.home-quick--featured{background:radial-gradient(circle at 88% 12%, color-mix(in srgb, var(--yaa-joor) 30%, transparent), transparent 48%), linear-gradient(140deg, color-mix(in srgb, var(--brand-brown) 92%, black), color-mix(in srgb, var(--yaa-ndox-deep) 52%, var(--brand-brown)));min-height:116px;color:var(--brand-ivory,white);border-color:color-mix(in srgb, var(--yaa-joor) 54%, var(--brand-brown));box-shadow:0 16px 32px color-mix(in srgb, var(--brand-brown) 26%, transparent), inset 0 1px 0 #fff8dc33;grid-column:span 2;grid-template-rows:auto;grid-template-columns:auto minmax(0,1fr);align-items:center;padding:.95rem 1rem}.home-quick--featured strong{color:var(--brand-ivory,white);letter-spacing:.01em;font-size:1.06rem}.home-quick--featured .home-quick__copy span{color:var(--brand-ivory,white);opacity:.88}.home-quick--featured .home-quick__copy em{color:var(--brand-ivory,white);background:color-mix(in srgb, var(--yaa-joor-light) 22%, transparent);border:1px solid color-mix(in srgb, var(--yaa-joor-light) 38%, transparent)}.home-quick--featured .home-quick__bonus{box-shadow:0 4px 10px color-mix(in srgb, var(--yaa-joor) 32%, transparent)}.home-quick--featured .home-quick__icon{width:84px;height:70px;color:var(--brand-ivory,white);background:linear-gradient(150deg, color-mix(in srgb, var(--yaa-ndox) 48%, transparent), color-mix(in srgb, var(--yaa-joor) 26%, transparent));border-color:color-mix(in srgb, var(--yaa-joor-light) 46%, transparent);border-radius:18px;box-shadow:inset 0 1px #fff8dc2e}.home-quick--featured .home-quick__letters{gap:.2rem;font-size:1.5rem}.home-quick--featured .home-quick__letters span{font-size:1.05rem}.home-quick--sounds{border-color:color-mix(in srgb, var(--yaa-ndox) 42%, var(--brand-brown-soft))}.home-quick--jang{border-color:color-mix(in srgb, var(--brand-validate) 38%, transparent);background:radial-gradient(circle at 88% 12%, color-mix(in srgb, var(--brand-validate) 14%, transparent), transparent 52%), linear-gradient(150deg, color-mix(in srgb, var(--brand-surface) 96%, #fff8ed), color-mix(in srgb, var(--brand-sand) 18%, var(--brand-surface)))}.home-quick--jang .home-quick__icon{color:color-mix(in srgb, var(--brand-validate) 68%, var(--brand-fg))}.home-quick--contes{border-color:color-mix(in srgb, var(--brand-validate) 30%, transparent);background:radial-gradient(circle at 12% 14%, color-mix(in srgb, var(--brand-validate) 12%, transparent), transparent 48%), linear-gradient(150deg, color-mix(in srgb, var(--brand-surface) 96%, #fff8ed), color-mix(in srgb, var(--brand-sand) 18%, var(--brand-surface)))}.home-quick--contes .home-quick__icon{color:color-mix(in srgb, var(--brand-validate) 56%, var(--brand-fg))}.home-quick--games{border-color:color-mix(in srgb, var(--brand-audio) 30%, transparent);background:radial-gradient(circle at 88% 86%, color-mix(in srgb, var(--brand-audio) 14%, transparent), transparent 52%), linear-gradient(150deg, color-mix(in srgb, var(--brand-surface) 96%, #fff8ed), color-mix(in srgb, var(--brand-sand) 18%, var(--brand-surface)))}.home-quick--games .home-quick__icon{color:color-mix(in srgb, var(--brand-audio) 60%, var(--brand-fg))}.home-quick--assistant{border-color:color-mix(in srgb, var(--brand-assistant) 34%, transparent);background:radial-gradient(circle at 14% 84%, color-mix(in srgb, var(--brand-assistant) 14%, transparent), transparent 48%), linear-gradient(150deg, color-mix(in srgb, var(--brand-surface) 96%, #fff8ed), color-mix(in srgb, var(--brand-sand) 18%, var(--brand-surface)))}.home-quick--assistant .home-quick__icon{color:color-mix(in srgb, var(--brand-assistant) 64%, var(--brand-fg))}.home-quick--figures{border-color:color-mix(in srgb, var(--brand-premium) 34%, transparent);background:radial-gradient(circle at 86% 18%, color-mix(in srgb, var(--brand-premium) 18%, transparent), transparent 44%), color-mix(in srgb, var(--brand-surface) 92%, white)}.home-quick--comics{border-color:color-mix(in srgb, var(--brand-streak) 30%, transparent);background:radial-gradient(circle at 18% 16%, color-mix(in srgb, var(--brand-streak) 16%, transparent), transparent 42%), linear-gradient(135deg, color-mix(in srgb, var(--brand-surface) 94%, white), color-mix(in srgb, var(--brand-premium) 12%, var(--brand-surface)))}.home-quick--universe{border-color:color-mix(in srgb, var(--yaa-ndox) 28%, transparent);background:linear-gradient(145deg, color-mix(in srgb, var(--brand-surface) 94%, white), color-mix(in srgb, var(--yaa-ndox) 10%, var(--brand-surface)))}.home-section--explore{gap:var(--sp-2)}.home-activity-list{gap:var(--sp-2);display:grid}.home-activity{justify-content:space-between;align-items:center;gap:var(--sp-3);width:100%;min-height:52px;color:var(--brand-fg);text-align:left;background:color-mix(in srgb, var(--brand-surface) 94%, white);border:1px solid color-mix(in srgb, var(--brand-brown-soft) 28%, transparent);border-radius:14px;padding:.75rem;display:flex}.home-activity strong,.home-activity small{display:block}.home-activity small{color:color-mix(in srgb, var(--brand-fg) 62%, transparent);font-size:var(--fs-xs);margin-top:3px}.home-activity--empty{cursor:default;color:color-mix(in srgb, var(--brand-fg) 64%, transparent);background:linear-gradient(135deg, color-mix(in srgb, var(--brand-surface) 92%, white), color-mix(in srgb, var(--brand-sand) 18%, var(--brand-surface)));border-style:dashed}.home-stat-grid{gap:var(--sp-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.home-level-progress{align-items:center;gap:var(--sp-3);background:color-mix(in srgb, var(--brand-surface) 92%, white);border-color:color-mix(in srgb, var(--brand-brown-soft) 22%, transparent);grid-template-columns:minmax(0,1fr) minmax(120px,1.4fr);display:grid}.home-level-progress>span{color:color-mix(in srgb, var(--brand-fg) 72%, transparent);font-size:var(--fs-xs);font-weight:var(--fw-bold)}@media (width>=720px){.home-grid--daily{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}}@media (width<=640px){.home-dashboard{gap:var(--sp-3)}.home-greeting{border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto}.home-brandmark{justify-self:end;gap:.25rem}.home-brandmark .km-brandmark__img{width:26px;height:26px}.home-brandmark .km-brandmark__label{font-size:.68rem}.home-premium{grid-template-columns:auto minmax(0,1fr)}.home-premium .km-btn{grid-column:1/-1;justify-content:center}.home-quick-grid,.home-suggestions{grid-template-columns:repeat(2,minmax(0,1fr))}.home-quick,.home-suggestion{min-height:78px;padding:.72rem}}@media (width<=480px){.home-chip-row{grid-template-columns:repeat(3,minmax(0,1fr))}.home-chip-row .km-pill{white-space:normal;overflow-wrap:anywhere;min-width:0;max-width:100%;padding-inline:.42rem;font-size:.72rem}.home-stat-grid{grid-template-columns:1fr}.home-recommended{grid-template-columns:58px minmax(0,1fr) auto}.home-recommended__art{height:54px}.home-level-progress{grid-template-columns:1fr}}@media (width<=380px){.home-quick-grid,.home-suggestions{grid-template-columns:1fr}.home-quick--featured{grid-column:span 1}}.home-learning-card{box-shadow:0 18px 40px color-mix(in srgb, var(--brand-validate) 20%, transparent), 0 2px 6px color-mix(in srgb, var(--brand-brown-soft) 10%, transparent)}.home-learning-card .km-btn--primary{width:100%;min-height:48px;font-weight:var(--fw-black,800);box-shadow:0 10px 22px color-mix(in srgb, var(--yaa-joor) 28%, transparent);align-self:stretch;padding-inline:1.2rem}@media (prefers-reduced-motion:no-preference){.home-dashboard>*{animation:.5s cubic-bezier(.22,1,.36,1) both home-card-rise}.home-dashboard>:first-child{animation-delay:20ms}.home-dashboard>:nth-child(2){animation-delay:60ms}.home-dashboard>:nth-child(3){animation-delay:.1s}.home-dashboard>:nth-child(4){animation-delay:.14s}.home-dashboard>:nth-child(5){animation-delay:.18s}.home-dashboard>:nth-child(n+6){animation-delay:.22s}.home-learning-card .km-btn--primary{transition:transform var(--transition-fast), box-shadow var(--transition-fast)}.home-learning-card .km-btn--primary:hover:not(:disabled){box-shadow:0 14px 28px color-mix(in srgb, var(--yaa-joor) 36%, transparent);transform:translateY(-1px)}}@keyframes home-card-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.home-daily .km-progress__track{background:color-mix(in srgb, var(--brand-validate) 12%, color-mix(in srgb, var(--brand-brown-soft) 16%, transparent))}.home-premium .km-btn--ghostWarm:focus-visible,.home-retention__cta:focus-visible{outline:2px solid var(--focus-ring-color,var(--brand-accent));outline-offset:3px}@media (width<=640px){.home-quick,.home-suggestion,.home-activity{min-height:56px}}.home-premium:not(.home-premium--active){gap:var(--sp-2);box-shadow:0 6px 16px color-mix(in srgb, var(--brand-premium) 12%, transparent);padding:.6rem .75rem}.home-premium:not(.home-premium--active) .home-premium__icon{border-radius:10px;width:34px;height:34px;font-size:1rem}.home-premium:not(.home-premium--active) .home-premium__copy strong{font-size:.92rem}.home-premium:not(.home-premium--active) .home-premium__copy span{font-size:.72rem}.home-premium:not(.home-premium--active) .km-btn--ghostWarm{min-height:34px;padding-inline:.85rem}.home-quick:not(.home-quick--featured){background:radial-gradient(circle at 92% 8%, color-mix(in srgb, var(--yaa-joor) 9%, transparent), transparent 56%), linear-gradient(150deg, color-mix(in srgb, var(--brand-surface) 96%, #fff8ed), color-mix(in srgb, var(--brand-sand) 16%, var(--brand-surface)));border-color:color-mix(in srgb, var(--brand-brown-soft) 24%, transparent)}.home-quick:not(.home-quick--featured) .home-quick__icon{background:linear-gradient(145deg, color-mix(in srgb, var(--brand-surface) 94%, #fff8ed), color-mix(in srgb, currentColor 12%, var(--brand-surface)));border-color:color-mix(in srgb, currentColor 24%, transparent)}.home-quick:not(.home-quick--featured):hover{border-color:color-mix(in srgb, var(--brand-accent) 42%, var(--brand-brown-soft))}.home-section--explore .home-suggestion{padding-right:2.1rem;position:relative}.home-section--explore .home-suggestion:after{content:"→";color:color-mix(in srgb, var(--brand-accent) 55%, var(--brand-brown-soft));font-weight:var(--fw-black,800);opacity:.7;transition:transform var(--transition-fast), opacity var(--transition-fast);position:absolute;top:50%;right:.85rem;transform:translateY(-50%)}.home-section--explore .home-suggestion span{color:color-mix(in srgb, var(--brand-fg) 76%, transparent)}.home-section--explore .home-suggestion:hover{border-color:color-mix(in srgb, var(--brand-accent) 48%, var(--brand-brown-soft));transform:translateY(-1px)}.home-section--explore .home-suggestion:hover:after{opacity:1;transform:translateY(-50%)translate(2px)}@media (prefers-reduced-motion:reduce){.home-section--explore .home-suggestion,.home-section--explore .home-suggestion:after{transition:none}.home-section--explore .home-suggestion:hover{transform:none}.home-section--explore .home-suggestion:hover:after{transform:translateY(-50%)}}.home-daily--merged{gap:var(--sp-2)}.home-daily--merged .home-daily__nudge{margin-top:var(--sp-1);flex-direction:column;gap:2px;display:flex}.home-daily--merged.home-retention--done{border-color:color-mix(in srgb, var(--brand-premium) 48%, transparent)}.home-daily--merged.home-retention--done .home-retention__title{color:var(--brand-premium)}.home-daily--merged.home-retention--warn{border-color:color-mix(in srgb, var(--brand-streak) 32%, transparent)}.home-daily--merged .home-retention__cta{min-height:44px;margin-top:var(--sp-1);align-self:flex-start}.home-dashboard{--_km-screen-max:100%;width:100%;max-width:100%}.home-premium-layout,.home-premium-main,.home-premium-aside{gap:var(--sp-4);min-width:0;display:grid}.home-premium-aside{align-content:start}.home-adaptive-slot:empty{display:none}.home-premium:not(.home-premium--active){border-color:color-mix(in srgb, var(--yaa-joor) 55%, #2d180f);color:#fff4d8;background:radial-gradient(circle at 10% 20%,#e8c06a29,#0000 32%),linear-gradient(145deg,#5a321c,#3b2317)}.home-premium:not(.home-premium--active) .home-premium__copy strong,.home-premium:not(.home-premium--active) .home-premium__copy span{color:#fff4d8}.home-premium:not(.home-premium--active) .home-premium__icon{border:2px solid var(--yaa-joor);color:var(--yaa-joor);background:#fff4d814;border-radius:50%}.home-premium:not(.home-premium--active) .km-btn--ghostWarm{color:#231506;background:linear-gradient(#f2bd3f,#d99a19);border-color:#b8790d;min-height:44px}.home-learning-card__emblem{display:none}@media (width>=720px) and (width<=899px){.home-premium-layout{grid-template-columns:minmax(0,1fr) minmax(260px,.72fr);align-items:start}.home-premium-main,.home-premium-aside{display:contents}.home-chip-row{grid-area:1/1/auto/-1}.home-premium{grid-area:2/1/auto/-1}.home-learning-card{grid-area:3/1}.home-daily{grid-area:3/2}.home-profile-chips{grid-area:4/1/auto/-1}.home-premium-main .home-section:first-of-type{grid-area:5/1/auto/-1}.home-section--recommended{grid-area:6/1/auto/-1}.home-adaptive-slot{grid-area:7/1/auto/-1}.home-premium-aside>.home-section:first-of-type{grid-area:8/1/auto/-1}.home-premium-aside>.home-section:last-of-type{grid-area:9/1/auto/-1}}@media (width>=900px){.home-dashboard{width:min(100%,1080px);margin-inline:auto;padding-inline:0}.home-premium-layout{grid-template-columns:minmax(0,720px) minmax(292px,316px);justify-content:center;align-items:start;gap:24px}.home-premium-aside{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--brand-brown-soft) 34%, transparent) transparent;max-height:calc(100dvh - 88px);padding-right:4px;position:sticky;top:76px;overflow-y:auto}.home-premium-aside .home-chip-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.home-premium-aside .km-pill{justify-content:center;min-width:0;padding-inline:6px}.home-premium-aside .home-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1100px){.home-learning-card{position:relative}.home-learning-card__body{padding-right:132px}.home-learning-card__emblem{background:color-mix(in srgb, var(--yaa-joor) 13%, var(--brand-surface));border-radius:22px;place-items:center;width:104px;height:calc(100% - 32px);min-height:112px;display:grid;position:absolute;top:50%;right:22px;transform:translateY(-50%)}.home-learning-card__emblem img{object-fit:contain;width:78px;height:78px}}@media (width>=900px) and (width<=1099px){.home-premium-layout{grid-template-columns:minmax(0,720px) 292px}}@media (width>=1320px){.home-dashboard{width:min(100%,1112px)}.home-premium-layout{grid-template-columns:minmax(0,748px) 324px;gap:32px}}@media (width<=719px){.home-premium-layout,.home-premium-main,.home-premium-aside{display:contents}.home-chip-row{order:1}.home-premium{order:2}.home-learning-card{order:3}.home-profile-chips{order:4}.home-daily{order:5}.home-adaptive-slot{order:6}.home-premium-main .home-section:first-of-type{order:7}.home-section--recommended{order:8}.home-premium-aside>.home-section:first-of-type{order:9}.home-premium-aside>.home-section:last-of-type{order:10}}@media (prefers-reduced-motion:reduce){.home-dashboard *,.home-dashboard :before,.home-dashboard :after{scroll-behavior:auto!important}}.home-quick__icon--illustrated,.home-recommended__art--illustrated,.home-premium__icon--illustrated{color:inherit;box-shadow:none;background:0 0;border:0;overflow:visible}.home-quick__icon--illustrated{border-radius:0;width:64px;height:64px}.home-quick__icon--illustrated .home-illustrated-icon,.home-recommended__art--illustrated .home-illustrated-icon,.home-premium__icon--illustrated .home-illustrated-icon{width:100%;height:100%}.home-quick--featured .home-quick__icon--illustrated{width:84px;height:70px;box-shadow:none;background:0 0;border-color:#0000}.home-recommended__art--illustrated{border-radius:0;height:58px}.home-premium__icon--illustrated{border-radius:0;width:44px;height:44px}@media (width<=640px){.home-quick__icon--illustrated{width:58px;height:58px}.home-quick--featured .home-quick__icon--illustrated{width:70px;height:64px}}
