@charset "UTF-8";pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}:root{--header-h: 56px;--bottom-nav-h: 72px;--sidebar-w: 248px;--width-reading: 680px;--width-content: 760px;--width-wide: 1180px;--measure: 68ch;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 48px;--space-10: 64px;--text-2xs: 11px;--text-xs: 12px;--text-sm: 13px;--text-base: 15px;--text-md: 17px;--text-lg: 20px;--text-xl: 24px;--text-2xl: 30px;--text-3xl: clamp(28px, 4vw, 40px);--leading-tight: 1.2;--leading-snug: 1.4;--leading-normal: 1.6;--leading-relaxed: 1.8;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--font-latin: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-ui: Inter, IRS, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--color-bg: #f8f8ff;--color-surface: #ffffff;--color-surface-alt: #f4f2ff;--color-surface-hover: #eeebff;--color-border: #e6e3f5;--color-border-light: #f1effb;--color-border-strong: #8b82b5;--color-text: #121a3a;--color-text-secondary: #59627d;--color-text-tertiary: #7d849b;--color-primary: #6c4cf6;--color-primary-hover: #5837e8;--color-primary-light: rgba(108, 76, 246, .1);--color-primary-text: #ffffff;--color-control-surface: rgba(255, 255, 255, .78);--color-control-thumb: #ffffff;--color-raised-surface: rgba(255, 255, 255, .9);--color-progress-track: #e9e6f8;--color-media-veil: #ffffff;--color-streak: #96580b;--color-streak-surface: rgba(150, 88, 11, .1);--color-streak-border: #b7792b;--color-primary-action: #6042ed;--color-primary-action-hover: #5137da;--color-primary-action-text: #ffffff;--gradient-primary-action: linear-gradient(135deg, #7254f7 0%, #5b42e8 56%, #6e77f7 100%);--gradient-primary-action-hover: linear-gradient(135deg, #6545f0 0%, #5137da 58%, #6470ef 100%);--gradient-progress: linear-gradient(90deg, #6a4af5, #7757f8);--color-code-bg: #0d1117;--color-code-text: #e6edf3;--color-success: #159a73;--color-success-light: rgba(21, 154, 115, .1);--color-success-text: #ffffff;--color-danger: #c2321f;--color-danger-light: rgba(194, 50, 31, .1);--color-danger-text: #ffffff;--color-warning: #96580b;--color-warning-light: rgba(150, 88, 11, .1);--color-warning-text: #ffffff;--color-info: #4388ec;--color-info-light: rgba(67, 136, 236, .1);--color-info-text: #ffffff;--color-scrim: rgba(26, 25, 23, .5);--shadow-xs: 0 1px 2px rgba(62, 45, 136, .05);--shadow-sm: 0 2px 8px rgba(62, 45, 136, .06);--shadow-md: 0 10px 28px rgba(62, 45, 136, .09);--shadow-lg: 0 18px 44px rgba(62, 45, 136, .12);--shadow-xl: 0 28px 70px rgba(62, 45, 136, .15);--radius-xs: 4px;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 9999px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--duration-fast: .15s;--duration-base: .25s;--duration-slow: .4s;--tap-min: 44px;--focus-ring-width: 2px;--focus-ring-offset: 2px;--focus-ring-color: var(--color-primary);--z-sticky: 30;--z-nav: 100;--z-sheet-overlay: 200;--z-sheet: 201;--z-popover: 300;--z-toast: 400}.dark-theme{--color-bg: #0b1020;--color-surface: #131a2a;--color-surface-alt: #1a2235;--color-surface-hover: #222c43;--color-border: #34415d;--color-border-light: #222d44;--color-border-strong: #71809e;--color-text: #f3f6ff;--color-text-secondary: #c3cce0;--color-text-tertiary: #9aa8c2;--color-primary: #b8a9ff;--color-primary-hover: #d3caff;--color-primary-light: rgba(184, 169, 255, .15);--color-primary-text: #0b1020;--color-control-surface: rgba(16, 23, 39, .92);--color-control-thumb: #f3f6ff;--color-raised-surface: rgba(19, 26, 42, .94);--color-progress-track: #222c43;--color-media-veil: #0f1423;--color-streak: #f6c76b;--color-streak-surface: rgba(246, 199, 107, .14);--color-streak-border: #8f733d;--color-primary-action: #a995ff;--color-primary-action-hover: #c1b5ff;--color-primary-action-text: #0b1020;--gradient-primary-action: linear-gradient(135deg, #b8a9ff 0%, #9e8cff 54%, #91b9ff 100%);--gradient-primary-action-hover: linear-gradient(135deg, #cec5ff 0%, #b7a8ff 54%, #a8c8ff 100%);--gradient-progress: linear-gradient(90deg, #b8a9ff, #8fc1ff);--color-code-bg: #080c18;--color-code-text: #e5ebfa;--color-success: #5bd6a8;--color-success-light: rgba(91, 214, 168, .14);--color-success-text: #0b1020;--color-danger: #ff9b91;--color-danger-light: rgba(255, 155, 145, .14);--color-danger-text: #0b1020;--color-warning: #f6c76b;--color-warning-light: rgba(246, 199, 107, .14);--color-warning-text: #0b1020;--color-info: #8fc1ff;--color-info-light: rgba(143, 193, 255, .14);--color-info-text: #0b1020;--color-scrim: rgba(0, 0, 0, .62);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .45);--shadow-md: 0 4px 12px rgba(0, 0, 0, .5);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .55);--shadow-xl: 0 20px 48px rgba(0, 0, 0, .65)}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-xs)}:where(a,button,input,select,textarea,summary,[tabindex]):focus:not(:focus-visible){outline:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}html{scroll-behavior:auto}}[dir=ltr]{text-align:start}.sl-en{direction:ltr;unicode-bidi:isolate;text-align:start;font-family:var(--font-latin)}.sl-fa{direction:rtl;unicode-bidi:isolate;text-align:start}.sl-num{direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.sl-icon-directional{flex:none}[dir=rtl] .sl-icon-directional{transform:scaleX(-1)}.sl-reading{max-width:var(--measure);font-size:var(--text-md);line-height:var(--leading-relaxed);color:var(--color-text-secondary)}.sl-reading>*+*{margin-block-start:var(--space-4)}.sl-reading strong{color:var(--color-text);font-weight:var(--weight-semibold)}.sl-section{margin-block-end:var(--space-8);scroll-margin-block-start:var(--space-9)}.sl-section__title{margin:0 0 var(--space-2);font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:var(--leading-tight);letter-spacing:-.015em;color:var(--color-text)}.sl-section__sub{margin:0 0 var(--space-4);font-size:var(--text-sm);color:var(--color-text-tertiary)}.sl-hairline{border:0;border-block-start:1px solid var(--color-border-light);margin-block:var(--space-6)}.sl-panel{padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--color-surface-alt)}.sl-card{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.sl-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap-min);padding-block:var(--space-3);padding-inline:var(--space-5);border:1px solid transparent;border-radius:var(--radius-md);background:none;color:inherit;font-family:inherit;font-size:var(--text-base);font-weight:var(--weight-semibold);line-height:1.2;cursor:pointer;text-decoration:none;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.sl-btn svg{width:20px;height:20px;flex:none}.sl-btn:active:not(:disabled){transform:scale(.98)}.sl-btn:disabled,.sl-btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none}.sl-btn--primary{background:var(--color-primary);color:var(--color-primary-text)}.sl-btn--primary:hover:not(:disabled){background:var(--color-primary-hover)}.sl-btn--secondary{border-color:var(--color-border-strong);color:var(--color-text)}.sl-btn--secondary:hover:not(:disabled){background:var(--color-surface-hover)}.sl-btn--quiet{color:var(--color-text-secondary);padding-inline:var(--space-3)}.sl-btn--quiet:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.sl-btn--danger{background:var(--color-danger);color:var(--color-danger-text)}.sl-btn--full{width:100%}.sl-btn--icon{width:var(--tap-min);min-width:var(--tap-min);padding-inline:0}.sl-actionbar{position:sticky;inset-block-end:0;z-index:var(--z-sticky);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);padding-block-end:calc(var(--space-3) + env(safe-area-inset-bottom,0px));border-block-start:1px solid var(--color-border);background:var(--color-surface);box-shadow:0 -4px 16px #0000000f}.sl-label{display:block;margin-block-end:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text)}.sl-input,.sl-textarea{width:100%;min-height:var(--tap-min);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-family:inherit;font-size:16px;line-height:var(--leading-normal)}.sl-input::placeholder,.sl-textarea::placeholder{color:var(--color-text-tertiary)}.sl-input:focus-visible,.sl-textarea:focus-visible{border-color:var(--color-primary)}.sl-input[aria-invalid=true],.sl-textarea[aria-invalid=true]{border-color:var(--color-danger)}.sl-textarea{min-height:160px;resize:vertical}.sl-hint{margin-block-start:var(--space-2);font-size:var(--text-xs);color:var(--color-text-tertiary)}.sl-error{display:flex;align-items:center;gap:var(--space-2);margin-block-start:var(--space-2);color:var(--color-danger);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.sl-error svg{width:15px;height:15px;flex:none}.sl-segmented{display:inline-flex;gap:var(--space-1);padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt)}.sl-segmented button{min-height:36px;padding-inline:var(--space-4);border:0;border-radius:var(--radius-sm);background:none;color:var(--color-text-secondary);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer}.sl-segmented button[aria-pressed=true],.sl-segmented button.is-active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-xs)}.sl-choice{display:flex;align-items:center;gap:var(--space-3);min-height:var(--tap-min);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-family:inherit;font-size:var(--text-base);line-height:var(--leading-normal);text-align:start;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.sl-choice:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-surface-hover)}.sl-choice:active:not(:disabled){transform:scale(.99)}.sl-choice.is-selected{border-color:var(--color-primary);background:var(--color-primary-light);box-shadow:inset 0 0 0 1px var(--color-primary);font-weight:var(--weight-semibold)}.sl-choice:disabled,.sl-choice[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none}.sl-choice--card{align-items:flex-start;padding:var(--space-4);border-radius:var(--radius-lg)}.sl-choice--chip{justify-content:center;padding-inline:var(--space-4);border-radius:var(--radius-full);font-size:var(--text-sm)}.sl-choice__icon{display:grid;place-items:center;width:46px;height:46px;flex:none;border-radius:var(--radius-sm);background:var(--color-surface-alt);color:var(--color-text-secondary);transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.sl-choice__icon svg{width:24px;height:24px}.sl-choice.is-selected .sl-choice__icon{background:color-mix(in srgb,var(--color-primary) 16%,var(--color-surface));color:var(--color-primary)}.sl-choice__body{display:grid;gap:3px;flex:1;min-width:0}.sl-choice__title{font-size:var(--text-base);font-weight:var(--weight-semibold)}.sl-choice__desc{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-normal);line-height:var(--leading-normal)}.sl-choice__mark{display:grid;place-items:center;width:22px;height:22px;flex:none;border:1.5px solid var(--color-border-strong);border-radius:50%;color:transparent;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.sl-choice__mark svg{width:13px;height:13px}.sl-choice.is-selected .sl-choice__mark{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-text)}.sl-switch{display:flex;align-items:center;gap:var(--space-4);min-height:var(--tap-min);padding-block:var(--space-2);cursor:pointer}.sl-switch__body{display:grid;gap:2px;flex:1;min-width:0}.sl-switch__title{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text)}.sl-switch__desc{color:var(--color-text-tertiary);font-size:var(--text-xs);line-height:var(--leading-normal)}.sl-switch__control{position:relative;appearance:none;width:44px;height:26px;flex:none;margin:0;border:1px solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-progress-track);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.sl-switch__control:after{content:"";position:absolute;inset-block-start:3px;inset-inline-start:3px;width:18px;height:18px;border-radius:50%;background:var(--color-control-thumb);box-shadow:var(--shadow-xs);transition:inset-inline-start var(--duration-fast) var(--ease-out)}.sl-switch__control:checked{border-color:var(--color-primary);background:var(--color-primary)}.sl-switch__control:checked:after{inset-inline-start:21px}.sl-switch__control:disabled{opacity:.45;cursor:not-allowed}.sl-status{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:var(--leading-normal)}.sl-status svg{width:18px;height:18px;flex:none;margin-block-start:1px}.sl-status--info{background:var(--color-primary-light);color:var(--color-text)}.sl-status--success{background:var(--color-success-light);color:var(--color-text)}.sl-status--warning{background:var(--color-warning-light);color:var(--color-text)}.sl-status--error{background:var(--color-danger-light);color:var(--color-text)}.sl-skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--color-surface-alt) 25%,var(--color-surface-hover) 50%,var(--color-surface-alt) 75%);background-size:200% 100%;animation:sl-shimmer 1.4s ease-in-out infinite}.sl-skeleton--text{height:1em;margin-block:.35em}@keyframes sl-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sl-empty{display:grid;justify-items:center;gap:var(--space-3);padding:var(--space-9) var(--space-5);text-align:center}.sl-empty h3{margin:0;font-size:var(--text-md);font-weight:var(--weight-semibold)}.sl-empty p{margin:0;max-width:44ch;color:var(--color-text-secondary);font-size:var(--text-sm)}.sl-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}:root{--ds-content-max: var(--width-wide);--ds-page-pad: clamp(16px, 2.5vw, 32px);--ds-panel-pad: clamp(16px, 2vw, 24px);--ds-control-h: var(--tap-min);--ds-focus: 0 0 0 var(--focus-ring-width) var(--color-primary);--ds-positive: var(--color-success);--ds-negative: var(--color-danger);--ds-muted-bg: var(--color-surface-alt)}.ds-page{width:min(100%,var(--ds-content-max));margin:0 auto;padding:var(--ds-page-pad);padding-block-end:var(--space-7)}.ds-page--narrow{max-width:860px}.ds-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-block-end:24px}.ds-page-header h1{margin:2px 0 6px;font-size:clamp(24px,3vw,34px);line-height:1.2;letter-spacing:-.02em}.ds-page-header p{color:var(--color-text-secondary);max-width:680px;line-height:1.7}.ds-page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ds-kicker{display:block;color:var(--color-primary);font-size:12px;line-height:1.2;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.ds-grid{display:grid;gap:16px}.ds-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.ds-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.ds-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.ds-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--ds-panel-pad);box-shadow:var(--shadow-xs)}.ds-panel--soft{background:var(--color-surface-alt);box-shadow:none}.ds-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-block-end:18px}.ds-panel__header h2,.ds-panel__header h3{margin:0;line-height:1.3}.ds-panel__header p{margin-block-start:5px;color:var(--color-text-secondary);font-size:13px}.ds-metric-card{min-height:126px;padding:17px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);display:flex;flex-direction:column;gap:7px;box-shadow:var(--shadow-xs)}.ds-metric-card[data-tone=primary]{border-color:color-mix(in srgb,var(--color-primary) 30%,var(--color-border))}.ds-metric-card[data-tone=success]{border-color:color-mix(in srgb,var(--color-success) 30%,var(--color-border))}.ds-metric-card[data-tone=warning]{border-color:color-mix(in srgb,var(--color-warning) 34%,var(--color-border))}.ds-metric-card[data-tone=danger]{border-color:color-mix(in srgb,var(--color-danger) 30%,var(--color-border))}.ds-metric-card__top{display:flex;justify-content:space-between;gap:8px}.ds-metric-card__label{color:var(--color-text-secondary);font-size:13px}.ds-metric-card__eyebrow{color:var(--color-primary);font-size:11px;font-weight:700;background:var(--color-primary-light);padding:2px 7px;border-radius:var(--radius-full)}.ds-metric-card__value{font-size:29px;line-height:1.15;letter-spacing:-.03em;color:var(--color-text)}.ds-metric-card__hint{color:var(--color-text-tertiary);font-size:12px}.ds-segmented{display:inline-flex;padding:4px;border-radius:var(--radius-md);background:var(--color-surface-alt);border:1px solid var(--color-border);gap:3px}.ds-segmented button{min-height:34px;border:0;padding:0 12px;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.ds-segmented button.active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.ds-field{display:grid;gap:7px}.ds-field label{font-size:13px;font-weight:600;color:var(--color-text-secondary)}.ds-field input,.ds-field textarea,.ds-field select{width:100%;min-height:var(--ds-control-h);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);padding:10px 12px;font:inherit;outline:none}.ds-field textarea{resize:vertical;min-height:96px}.ds-field input:focus,.ds-field textarea:focus,.ds-field select:focus{border-color:var(--color-primary);box-shadow:var(--ds-focus)}.ds-status{display:inline-flex;align-items:center;width:max-content;min-height:26px;padding:3px 9px;border-radius:var(--radius-full);background:var(--color-surface-hover);color:var(--color-text-secondary);font-size:11px;line-height:1;font-weight:700;text-transform:capitalize}.ds-status--active,.ds-status--improving{background:var(--color-primary-light);color:var(--color-primary)}.ds-status--strong,.ds-status--mastered{background:var(--color-success-light);color:var(--color-success)}.ds-status--regressed{background:var(--color-danger-light);color:var(--color-danger)}.ds-status--optional,.ds-status--observed{background:var(--color-warning-light);color:var(--color-warning)}.ds-list{display:grid;gap:10px}.ds-list-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);transition:border-color var(--duration-fast),transform var(--duration-fast),box-shadow var(--duration-fast)}.ds-list-item:hover{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border));box-shadow:var(--shadow-sm)}.ds-list-item__title{font-weight:650;line-height:1.4}.ds-list-item__meta{display:flex;flex-wrap:wrap;gap:7px;margin-block-start:5px;color:var(--color-text-tertiary);font-size:12px}.ds-progress-track{height:7px;border-radius:var(--radius-full);background:var(--color-surface-hover);overflow:hidden}.ds-progress-track>span{display:block;height:100%;border-radius:inherit;background:var(--color-primary)}.ds-chart{min-width:0}.ds-chart__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-block-end:12px}.ds-chart__header h3{margin:3px 0 0;font-size:18px}.ds-chart__header strong{font-size:24px;letter-spacing:-.03em}.ds-chart__reading{display:grid;justify-items:end;gap:4px;direction:ltr}[dir=rtl] .ds-chart__reading{justify-items:start}.ds-chart__delta{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-2xs);font-weight:var(--weight-semibold);color:var(--color-text-tertiary);white-space:nowrap}.ds-chart__delta[data-dir=up]{color:var(--color-success)}.ds-chart__delta[data-dir=down]{color:var(--color-danger)}.ds-chart__svg{width:100%;min-height:210px;overflow:visible}.ds-chart__axis{stroke:var(--color-border);stroke-width:1.2;vector-effect:non-scaling-stroke}.ds-chart__grid{stroke:var(--color-border-light);stroke-width:1;stroke-dasharray:4 6;vector-effect:non-scaling-stroke}.ds-chart__line{fill:none;stroke:var(--color-primary);stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.ds-chart__area{fill:var(--color-primary-light);stroke:none}.ds-chart__point{fill:var(--color-surface);stroke:var(--color-primary);stroke-width:2.2;vector-effect:non-scaling-stroke}.ds-chart__labels{display:flex;justify-content:space-between;color:var(--color-text-tertiary);font-size:11px;margin:-4px 32px 0}.ds-chart__empty{min-height:180px;display:grid;place-items:center;color:var(--color-text-tertiary);background:var(--color-surface-alt);border-radius:var(--radius-md)}.ds-empty{display:grid;justify-items:center;text-align:center;gap:8px;padding:38px 16px;color:var(--color-text-secondary)}.ds-empty strong{color:var(--color-text);font-size:16px}.ds-callout{display:grid;gap:7px;padding:14px 16px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-alt)}.ds-callout--warning{background:var(--color-warning-light);border-color:color-mix(in srgb,var(--color-warning) 35%,var(--color-border))}.ds-callout--success{background:var(--color-success-light);border-color:color-mix(in srgb,var(--color-success) 35%,var(--color-border))}.ds-callout--info{background:var(--color-primary-light);border-color:color-mix(in srgb,var(--color-primary) 30%,var(--color-border))}.ds-skeleton{min-height:90px;border-radius:var(--radius-md);background:linear-gradient(90deg,var(--color-surface-alt),var(--color-surface-hover),var(--color-surface-alt));background-size:200% 100%;animation:ds-shimmer 1.4s infinite linear}@keyframes ds-shimmer{to{background-position:-200% 0}}.ds-tabs{display:flex;gap:4px;overflow-x:auto;padding-block-end:2px;border-block-end:1px solid var(--color-border)}.ds-tab{flex:0 0 auto;border:0;border-block-end:2px solid transparent;background:transparent;color:var(--color-text-secondary);padding:10px 12px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.ds-tab.active{color:var(--color-primary);border-color:var(--color-primary)}.ds-heatmap{display:grid;grid-template-columns:repeat(13,1fr);gap:4px}.ds-heatmap__cell{aspect-ratio:1;min-width:8px;border-radius:3px;background:var(--color-surface-hover);border:1px solid color-mix(in srgb,var(--color-border) 70%,transparent)}.ds-heatmap__cell[data-level="1"]{background:color-mix(in srgb,var(--color-primary) 18%,var(--color-surface))}.ds-heatmap__cell[data-level="2"]{background:color-mix(in srgb,var(--color-primary) 38%,var(--color-surface))}.ds-heatmap__cell[data-level="3"]{background:color-mix(in srgb,var(--color-primary) 62%,var(--color-surface))}.ds-heatmap__cell[data-level="4"]{background:var(--color-primary)}.ds-heatmap.ds-heatmap--calendar{grid-template-columns:none;grid-template-rows:repeat(7,1fr);grid-auto-flow:column;grid-auto-columns:1fr;direction:ltr}.ds-heatmap__cell--empty{background:none;border-color:transparent}@media(max-width:960px){.ds-grid--4,.ds-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.ds-page{padding:16px;padding-block-end:calc(var(--bottom-nav-h) + 24px)}.ds-page-header{display:grid;gap:12px;margin-block-end:18px}.ds-page-actions{width:100%}.ds-grid--2,.ds-grid--3,.ds-grid--4{grid-template-columns:1fr}.ds-metric-card{min-height:108px}.ds-list-item{grid-template-columns:1fr}.ds-chart__svg{min-height:180px}.ds-heatmap{grid-template-columns:repeat(9,1fr)}}@font-face{font-family:IRS;src:url(/app/fonts/IRANSansX-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IRS;src:url(/app/fonts/IRANSansX-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IRS;src:url(/app/fonts/IRANSansX-DemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:IRS;src:url(/app/fonts/IRANSansX-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:IRS;src:url(/app/fonts/IRANSansX-ExtraBold.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:IRSB;src:url(/app/fonts/IRANSansX-ExtraBold.woff2) format("woff2");font-weight:400 900;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}html,body{height:100%;font-family:var(--font-ui);background:var(--color-bg);color:var(--color-text);transition:background var(--duration-base) var(--ease-out),color var(--duration-fast);overflow-x:hidden}body{line-height:var(--leading-normal);font-size:var(--text-base);overflow-wrap:break-word;word-wrap:break-word}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}[dir=rtl],[dir=ltr],[dir=auto]{unicode-bidi:isolate}[dir=rtl],[dir=ltr]{text-align:start}.rtl{direction:rtl;unicode-bidi:isolate;font-family:IRS,sans-serif}.ltr{direction:ltr;unicode-bidi:isolate;text-align:start}.rtl h1,.rtl h2,.rtl h3,.rtl h4,.rtl h5,.rtl h6{font-family:IRSB,sans-serif;font-weight:800}time,.tabular{font-variant-numeric:tabular-nums}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap-min);padding:var(--space-3) var(--space-5);font-size:14px;font-weight:500;line-height:1.2;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);white-space:nowrap;text-decoration:none;font-family:inherit;-webkit-user-select:none;user-select:none}.btn:disabled{opacity:.45;cursor:not-allowed}.btn svg{width:18px;height:18px;flex-shrink:0}.btn-primary{background:var(--color-primary);color:var(--color-primary-text)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.btn-primary:active:not(:disabled){transform:scale(.97)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.btn-outline{background:transparent;color:var(--color-text);border:1.5px solid var(--color-border)}.btn-outline:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light)}.btn-success{background:var(--color-success);color:var(--color-success-text)}.btn-success:hover:not(:disabled){filter:brightness(1.1);box-shadow:var(--shadow-md)}.btn-success:active:not(:disabled){transform:scale(.97)}.btn-danger{background:var(--color-danger);color:var(--color-danger-text)}.btn-danger:hover:not(:disabled){filter:brightness(1.1);box-shadow:var(--shadow-md)}.btn-danger:active:not(:disabled){transform:scale(.97)}.btn-warning{background:var(--color-warning);color:var(--color-warning-text)}.btn-warning:hover:not(:disabled){filter:brightness(1.1)}.btn-sm{min-height:36px;padding:var(--space-2) var(--space-3);font-size:13px}.btn-sm svg{width:16px;height:16px}.btn-lg{padding:14px 28px;font-size:16px;border-radius:var(--radius-md)}.btn-icon{width:var(--tap-min);height:var(--tap-min);padding:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);border:none;cursor:pointer;transition:all var(--duration-fast);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.btn-icon:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.btn-icon svg{width:20px;height:20px}.card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);transition:all var(--duration-fast) var(--ease-out)}.card-interactive{cursor:pointer}.card-interactive:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-interactive:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;border-radius:var(--radius-full);line-height:1.2;background:var(--color-surface-hover);color:var(--color-text-secondary)}.badge-primary{background:var(--color-primary-light);color:var(--color-primary)}.badge-success{background:var(--color-success-light);color:var(--color-success)}.badge-danger{background:var(--color-danger-light);color:var(--color-danger)}.badge-warning{background:var(--color-warning-light);color:var(--color-warning)}.badge-info{background:var(--color-info-light);color:var(--color-info)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:var(--color-text-secondary)}.empty-state svg{width:56px;height:56px;margin-block-end:16px;opacity:.35}.empty-state h3{font-size:17px;font-weight:600;margin-block-end:6px;color:var(--color-text)}.empty-state p{font-size:14px;max-width:320px;line-height:1.5}.app-header{position:fixed;inset-block-start:0;inset-inline:0;height:var(--header-h);background:var(--color-surface);border-block-end:1px solid var(--color-border);display:flex;align-items:center;padding-inline:var(--space-4);z-index:var(--z-nav);gap:var(--space-3)}@media(min-width:768px){.app-header{display:none}}.mobile-streak{display:inline-flex;align-items:center;gap:7px;height:40px;padding-inline:11px;border:1px solid var(--color-streak-border);border-radius:13px;background:var(--color-streak-surface);color:var(--color-streak);font-size:15px;text-decoration:none}.mobile-streak span{font-size:20px}.mobile-xp{display:inline-flex;align-items:baseline;gap:4px;height:40px;padding-inline:11px;border:1px solid color-mix(in srgb,var(--color-primary) 34%,var(--color-border));border-radius:13px;background:var(--color-primary-subtle);color:var(--color-primary);text-decoration:none}.mobile-xp strong{font-size:15px}.mobile-xp span{font-size:10px;font-weight:800}.nav-item__xp{margin-inline-start:auto;color:var(--color-primary);font-size:11px;font-weight:800}.header-notification{position:relative}.header-notification>span{position:absolute;inset-block-start:8px;inset-inline-end:7px;width:7px;height:7px;border:2px solid var(--color-surface);border-radius:50%;background:var(--color-primary)}.mobile-avatar{display:grid;place-items:center;width:42px;height:42px;overflow:hidden;flex:0 0 42px;border:2px solid color-mix(in srgb,var(--color-primary) 36%,var(--color-border));border-radius:50%;background:var(--gradient-primary-action);color:var(--color-primary-action-text);font-size:15px;font-weight:800;text-decoration:none}.mobile-avatar img{width:100%;height:100%;object-fit:cover;object-position:50% 14%}.mobile-login-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:40px;padding-inline:12px;border:0;border-radius:12px;background:var(--gradient-primary-action);color:var(--color-primary-action-text);box-shadow:0 7px 16px color-mix(in srgb,var(--color-primary) 22%,transparent);font:700 12px var(--font-ui);white-space:nowrap;cursor:pointer}.mobile-login-button svg{width:17px;height:17px}.mobile-account-loading{width:72px;height:40px;border-radius:12px;background:linear-gradient(100deg,var(--color-surface-alt) 30%,var(--color-surface-hover) 50%,var(--color-surface-alt) 70%);background-size:220% 100%;animation:mobile-account-shimmer 1.3s infinite}@keyframes mobile-account-shimmer{to{background-position:-200% 0}}.header-title{font-size:16px;font-weight:700;color:var(--color-text);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}.header-action{display:grid;place-items:center;flex-shrink:0;width:var(--tap-min);height:var(--tap-min);border-radius:var(--radius-sm);color:var(--color-text-secondary);transition:background var(--duration-fast),color var(--duration-fast)}.header-action svg{width:20px;height:20px}.header-action:hover{background:var(--color-surface-hover);color:var(--color-text)}.header-action.active{background:var(--color-primary-light);color:var(--color-primary)}.theme-toggle{width:var(--tap-min);height:var(--tap-min);border-radius:var(--radius-sm);border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--duration-fast);flex-shrink:0}.theme-toggle svg{width:20px;height:20px;transition:transform .3s var(--ease-out)}.theme-toggle:hover{background:var(--color-surface-hover);color:var(--color-text)}.theme-toggle:hover svg{transform:rotate(30deg)}.mobile-theme-toggle{border:1px solid var(--color-border-strong);background:var(--color-surface-alt);color:var(--color-primary)}@media(max-width:479px){.app-header__actions{gap:6px}.header-notification,.mobile-streak{display:none}}.sidebar-nav{position:fixed;inset-inline-start:0;inset-block:0;width:var(--sidebar-w);background:var(--color-surface);border-inline-end:1px solid var(--color-border);display:flex;flex-direction:column;z-index:110;overflow-y:auto}@media(max-width:767px){.sidebar-nav{display:none!important}}.sidebar-header{padding:20px 20px 16px;display:flex;align-items:center;gap:10px;border-block-end:1px solid var(--color-border)}.sidebar-logo{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-primary-action-text);display:flex;align-items:center;justify-content:center}.sidebar-logo svg{width:20px;height:20px}.sidebar-brand{font-size:17px;font-weight:700;color:var(--color-text);letter-spacing:-.3px}.sidebar-menu{flex:1;padding:12px 8px;display:flex;flex-direction:column;gap:2px}.sidebar-group{padding:var(--space-4) var(--space-4) var(--space-2);color:var(--color-text-tertiary);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase}.sidebar-group:first-child{padding-block-start:var(--space-2)}.nav-item{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:14px;font-weight:500;border:none;background:transparent;cursor:pointer;transition:all var(--duration-fast);text-decoration:none;width:100%;min-height:var(--tap-min);text-align:start;font-family:inherit}.nav-item svg{width:20px;height:20px;flex-shrink:0}.nav-item:hover{background:var(--color-surface-hover);color:var(--color-text)}.nav-item.active{background:var(--color-primary-light);color:var(--color-primary);font-weight:600}.nav-item__count{margin-inline-start:auto;min-width:22px;padding:2px 6px;border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-primary-text);font-size:var(--text-2xs);font-weight:var(--weight-bold);text-align:center}.sidebar-footer{padding:12px 12px 16px;border-block-start:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.sidebar-footer .sidebar-theme-label{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:500;padding-inline-start:var(--space-1)}.bottom-nav{position:fixed;inset-inline:0;inset-block-end:0;min-height:var(--bottom-nav-h);background:var(--color-surface);border-block-start:1px solid var(--color-border);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;z-index:var(--z-nav);padding-block:var(--space-2);padding-block-end:calc(var(--space-2) + env(safe-area-inset-bottom,0px))}@media(min-width:768px){.bottom-nav{display:none!important}}.nav-tab{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);justify-content:center;min-height:var(--tap-min);min-width:0;padding-inline:var(--space-1);color:var(--color-text-tertiary);font-size:var(--text-xs);font-weight:var(--weight-medium);text-decoration:none;transition:color var(--duration-fast);font-family:inherit}.nav-tab.active{color:var(--color-primary)}.nav-tab.active .nav-tab__label{font-weight:var(--weight-bold)}.nav-tab__icon{position:relative;display:grid;place-items:center;width:46px;height:28px;border-radius:var(--radius-full);background:transparent;transition:background var(--duration-fast)}.nav-tab__icon svg{width:22px;height:22px}.nav-tab.active .nav-tab__icon{background:var(--color-primary-light)}.nav-tab__label{max-width:100%;overflow:hidden;line-height:var(--leading-tight);white-space:nowrap;text-overflow:ellipsis}.nav-tab__badge{position:absolute;inset-block-start:-4px;inset-inline-end:0;min-width:18px;padding:0 4px;border:2px solid var(--color-surface);border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-primary-text);font-size:var(--text-2xs);font-weight:var(--weight-bold);line-height:1.35;text-align:center}.main-content{min-height:100dvh;padding-block-start:var(--header-h)}@media(min-width:768px){.main-content{margin-inline-start:var(--sidebar-w);padding-block-start:0}}@media(max-width:767px){.main-content{padding-block-end:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0px))}}.main-content.no-header{padding-block-start:0}@media(max-width:767px){body:has(.coach-page--session) .app-header,body:has(.coach-page--session) .bottom-nav{display:none}body:has(.coach-page--session) .main-content{padding-block:0}}.main-content.full-bleed{margin-inline-start:0;padding-block-end:0}.page-container{width:100%;max-width:800px;margin:0 auto;padding:24px 16px}.stats-bar{position:fixed;inset-block-start:0;inset-inline:0;height:var(--header-h);background:var(--color-surface);border-block-end:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding-inline:var(--space-4);z-index:var(--z-nav)}@media(min-width:768px){.stats-bar{inset-inline-start:var(--sidebar-w)}}.action-bar{position:fixed;inset-block-end:0;inset-inline:0;min-height:var(--bottom-nav-h);background:var(--color-surface);border-block-start:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding-inline:var(--space-4);padding-block-end:env(safe-area-inset-bottom,0px);z-index:var(--z-nav)}@media(min-width:768px){.action-bar{inset-inline-start:var(--sidebar-w)}}.bottom-sheet-overlay{position:fixed;inset:0;background:var(--color-scrim);z-index:var(--z-sheet-overlay);opacity:0;transition:opacity var(--duration-base);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.bottom-sheet-overlay.active{opacity:1}.bottom-sheet{position:fixed;inset-block-end:0;inset-inline:0;max-height:80dvh;background:var(--color-surface);border-start-start-radius:var(--radius-xl);border-start-end-radius:var(--radius-xl);z-index:var(--z-sheet);transform:translateY(100%);transition:transform .35s var(--ease-out);overflow-y:auto;overscroll-behavior:contain}.bottom-sheet.active{transform:translateY(0)}.bottom-sheet .sheet-handle{width:36px;height:4px;background:var(--color-border);border-radius:var(--radius-full);margin:12px auto}.progress-track{flex:1;height:6px;background:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;background:var(--color-primary);border-radius:var(--radius-full);transition:width .3s var(--ease-out)}.loading-overlay{display:none}.loading-indicator{position:fixed;inset-inline-end:var(--space-5);inset-block-end:var(--space-5);display:inline-flex;align-items:center;gap:9px;z-index:var(--z-toast);padding:9px 13px;color:var(--color-text-primary);background:var(--color-surface, #fff);border:1px solid var(--color-border);border-radius:var(--radius-full, 999px);box-shadow:0 5px 18px #0000001f;font-size:12px;direction:rtl}.spinner{width:15px;height:15px;flex:0 0 15px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s linear infinite}@media(max-width:600px){.loading-indicator{inset-inline-end:var(--space-3);inset-block-end:var(--space-3)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .3s var(--ease-out)}.animate-slide-up{animation:slideUp .35s var(--ease-out)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.text-secondary{color:var(--color-text-secondary)}.text-sm{font-size:13px}::ng-deep pre code.hljs{border-radius:var(--radius-md);font-size:13px;direction:ltr;text-align:start;white-space:pre;overflow-x:auto;overflow-wrap:normal;word-break:normal}.reading-controls{display:flex;align-items:center;gap:10px;padding:12px 24px;background:var(--color-surface-alt);border-block-end:1px solid var(--color-border-light);direction:rtl}.reading-controls-label{color:var(--color-text-secondary);font-size:12px;font-weight:600}.read-mode-toggle{display:inline-flex;padding:3px;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface)}.read-mode-toggle button{border:0;border-radius:var(--radius-full);padding:6px 11px;background:transparent;color:var(--color-text-secondary);font:inherit;font-size:12px;cursor:pointer}.read-mode-toggle button.active{color:var(--color-primary-text);background:var(--color-primary);box-shadow:var(--shadow-sm)}.english-paragraph-reader{display:flex;align-items:flex-start;gap:8px;direction:ltr}.english-paragraph-reader>p{flex:1;min-width:0}.paragraph-reading-controls{display:flex;flex:0 0 210px;flex-wrap:wrap;align-items:center;gap:5px;padding-block-start:2px}.read-action{border:0;border-radius:var(--radius-full);padding:7px 12px;background:var(--color-primary-light);color:var(--color-primary);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.read-action:disabled{opacity:.45;cursor:default}.read-paragraph-button.is-stopping{background:var(--color-danger-light);color:var(--color-danger)}.shadowing-controls{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--color-border-light);border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-surface) 82%,transparent);box-shadow:var(--shadow-xs)}.shadowing-controls .read-action{padding:6px 9px;user-select:none;-webkit-user-select:none}.rewind-paragraph-button{direction:ltr;min-width:42px;font-family:Inter,sans-serif;font-size:12px}.shadow-hold-button{min-width:82px;background:color-mix(in srgb,var(--color-info-light) 72%,var(--color-surface));color:var(--color-info);touch-action:none;transition:transform var(--duration-fast),background var(--duration-fast),color var(--duration-fast)}.shadow-hold-button.is-paused{box-shadow:inset 0 0 0 1px var(--color-info)}.shadow-hold-button.is-holding{transform:scale(.96);background:var(--color-success);color:var(--color-primary-text);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-success) 18%,transparent)}.answer-shadowing-controls{direction:ltr;display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid color-mix(in srgb,var(--color-info) 22%,var(--color-border));border-radius:11px;background:color-mix(in srgb,var(--color-surface) 82%,transparent);box-shadow:var(--shadow-xs)}.answer-shadowing-controls button{min-height:30px;border:0;border-radius:8px;font:700 12px Inter,system-ui,sans-serif;cursor:pointer}.shadow-rewind{min-width:42px;padding:5px 7px;background:var(--color-primary-light);color:var(--color-primary)}.shadow-rewind:disabled{opacity:.4;cursor:default}.shadow-hold{min-width:112px;padding:5px 10px;background:var(--color-info-light);color:var(--color-info);user-select:none;-webkit-user-select:none;touch-action:none;transition:transform var(--duration-fast),background var(--duration-fast),color var(--duration-fast)}.shadow-hold.is-paused{box-shadow:inset 0 0 0 1px var(--color-info)}.shadow-hold.is-holding{transform:scale(.97);background:var(--color-success);color:var(--color-primary-text);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-success) 18%,transparent)}.answer-actions .icon-only-action{width:36px;min-width:36px;padding:0}.answer-actions .icon-only-action svg{width:16px;height:16px}.answer-actions .copy-success{background:var(--color-success-light);color:var(--color-success)}.answer-actions .compact-mp3-action{min-width:44px;min-height:38px;padding-inline:10px}.generate-paragraph-button{border:1px solid var(--color-primary)}.generate-paragraph-button.success{border-color:var(--color-success);background:var(--color-success-light);color:var(--color-success)}.generate-paragraph-button.error{border-color:#dc2626;background:color-mix(in srgb,#dc2626 10%,transparent);color:#dc2626}.markdown-body.reading-selectable{cursor:pointer}@media(max-width:600px){.reading-controls{padding:10px 16px}.read-mode-toggle{flex:1}.read-mode-toggle button{flex:1;padding-inline:8px}.english-paragraph-reader{flex-direction:column;gap:7px}.paragraph-reading-controls{flex:0 0 auto;width:100%}.read-action{padding:6px 9px}}.account-footer{display:block;padding:10px 12px}.account-chip{display:flex;align-items:center;gap:9px;min-width:0;padding:7px 8px;border-radius:10px;transition:background var(--duration-fast)}.account-chip:hover{background:var(--color-surface-hover)}.account-avatar{display:grid;place-items:center;flex:0 0 auto;width:32px;height:32px;border-radius:50%;background:var(--color-primary);color:var(--color-primary-text);font-size:12px;font-weight:750}.account-chip>span:last-child{display:grid;min-width:0}.account-chip strong{overflow:hidden;color:var(--color-text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.account-chip small,.account-state{color:var(--color-text-tertiary);font-size:12px}.login-button{width:100%;min-height:38px;border:1px solid var(--color-primary);border-radius:9px;background:var(--color-primary-light);color:var(--color-primary);font-size:12px;font-weight:700;font-family:inherit;cursor:pointer}.lesson-reader .preference-hidden,.lesson-reader .guided-hidden{display:none!important}.lesson-reader.guided-view .lesson-layout,.lesson-reader.guided-view .lesson-layout.workspace-layout{grid-template-columns:minmax(0,var(--width-content));gap:0;margin-block-start:var(--space-5)}.lesson-reader.guided-view .lesson-content{width:100%;margin:0 auto}.lesson-reader.guided-view .lesson-section{margin-block-end:0;padding:var(--space-2) var(--space-1) var(--space-6);border-block-end:0;animation:guided-step-in .24s ease-out}.lesson-reader.guided-view .workspace-section{animation:guided-step-in .24s ease-out}.lesson-reader.guided-view .lesson-section>.section-heading{display:none}.lesson-reader,.lesson-reader .lesson-layout,.lesson-reader .lesson-content{max-width:100%;min-width:0}.lesson-reader.guided-view .lesson-hero{width:min(100%,var(--width-content));margin-inline:auto;padding:var(--space-4) 0 0;border:0;border-radius:0;background:none}.lesson-reader.guided-view .lesson-hero .phrase-tag,.lesson-reader.guided-view .lesson-hero .hero-badges{display:none}.lesson-reader.guided-view .lesson-hero .phrase-row h1{font-size:var(--text-lg);line-height:var(--leading-snug);letter-spacing:-.015em}.lesson-reader.guided-view .lesson-hero .hero-meaning{margin-block-start:var(--space-1);color:var(--color-text-tertiary);font-size:var(--text-sm)}.lesson-topbar{position:fixed;inset-block-start:0;inset-inline:0;z-index:var(--z-nav);border-block-end:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface) 86%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3)}@media(min-width:768px){.lesson-topbar{inset-inline-start:var(--sidebar-w)}}.lesson-topbar__inner{display:flex;align-items:center;gap:var(--space-3);width:min(100%,var(--width-wide));height:var(--header-h);margin-inline:auto;padding-inline:var(--space-3)}.lesson-topbar__exit{display:grid;place-items:center;width:var(--tap-min);height:40px;flex:none;border:0;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);cursor:pointer}.lesson-topbar__exit svg{width:20px;height:20px}.lesson-topbar__exit:hover{background:var(--color-surface-hover);color:var(--color-text)}.lesson-steps{display:flex;align-items:center;gap:3px;flex:1;min-width:0;height:20px}.lesson-steps__seg{flex:1;min-width:4px;height:4px;border-radius:var(--radius-full);background:var(--color-border);transition:background var(--duration-base) var(--ease-out),height var(--duration-fast) var(--ease-out)}.lesson-steps__seg.is-done{background:var(--color-primary)}.lesson-steps__seg.is-current{height:8px;background:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 18%,transparent)}.lesson-topbar__steps{display:inline-flex;align-items:center;gap:var(--space-2);height:40px;flex:none;padding-inline:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);font-family:inherit;font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer}.lesson-topbar__steps svg{width:15px;height:15px}.lesson-topbar__steps:hover{background:var(--color-surface-hover);color:var(--color-text)}.lesson-topbar__steps.is-open{border-color:var(--color-primary);color:var(--color-primary)}.lesson-steps-backdrop{position:fixed;inset-block-start:var(--header-h);inset-inline:0;inset-block-end:0;z-index:1;background:color-mix(in srgb,#000 38%,transparent)}@media(min-width:768px){.lesson-steps-backdrop{inset-inline-start:var(--sidebar-w)}}.lesson-steps-sheet{position:absolute;inset-block-start:100%;inset-inline:0;z-index:2;overflow-y:auto;width:min(100%,560px);max-height:min(70dvh,560px);margin-inline:auto;padding:var(--space-2) var(--space-4) var(--space-3);border:1px solid var(--color-border);border-block-start:0;border-end-start-radius:var(--radius-lg);border-end-end-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg)}.lesson-steps-sheet__depth,.lesson-steps-sheet__course{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);color:var(--color-text-tertiary);font-size:var(--text-xs)}.lesson-steps-sheet__depth{margin-block-start:var(--space-2);padding-block-start:var(--space-2);border-block-start:1px solid var(--color-border-light)}.lesson-steps-sheet__course{position:sticky;inset-block-start:0;z-index:1;margin-block-end:var(--space-2);padding-block:var(--space-1) var(--space-2);border-block-end:1px solid var(--color-border-light);background:var(--color-surface)}.lesson-steps-sheet__depth button{min-height:32px;padding:0;border:0;background:transparent;color:var(--color-primary);font:inherit;font-weight:var(--weight-semibold);cursor:pointer}.lesson-steps-sheet__depth button:hover{text-decoration:underline}.lesson-steps-sheet__course{justify-content:center;gap:var(--space-4);font-variant-numeric:tabular-nums}.lesson-steps-sheet__course button{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer}.lesson-steps-sheet__course button svg{width:16px;height:16px}.lesson-steps-sheet__course button:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.lesson-steps-sheet__course button:disabled{opacity:.45;cursor:not-allowed}.guided-step-head{width:min(100%,var(--width-content));margin:var(--space-5) auto var(--space-4);scroll-margin-block-start:calc(var(--header-h) + var(--space-3))}.guided-step-head h2{margin:0;font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:var(--leading-snug);letter-spacing:-.015em}.guided-step-head p{margin:var(--space-1) 0 0;color:var(--color-text-tertiary);font-size:var(--text-sm)}.guided-controls{position:fixed;inset-block-end:0;inset-inline:0;z-index:var(--z-sticky);border-block-start:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface) 90%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);box-shadow:0 -6px 24px #0000000f;padding-block-end:env(safe-area-inset-bottom,0px)}@media(min-width:768px){.guided-controls{inset-inline-start:var(--sidebar-w)}}.guided-controls__inner{display:grid;gap:var(--space-2);width:min(100%,var(--width-wide));margin-inline:auto;padding:var(--space-3) var(--space-4)}.guided-controls__reason{margin:0;color:var(--color-text-secondary);font-size:var(--text-xs);line-height:var(--leading-snug);text-align:start}.guided-controls__buttons{display:flex;align-items:center;gap:var(--space-2)}@media(min-width:768px){.guided-controls__buttons{justify-content:flex-end}}.guided-back,.guided-next,.guided-skip{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap-min);padding-inline:var(--space-4);border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;text-decoration:none}.guided-back svg,.guided-next svg,.guided-skip svg{width:18px;height:18px;flex:none}.guided-back{width:var(--tap-min);flex:none;padding-inline:0;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary)}.guided-back:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.guided-skip{flex:none;border:0;background:none;color:var(--color-text-secondary);font-weight:var(--weight-medium)}.guided-skip:hover{color:var(--color-text);text-decoration:underline}.guided-next{flex:1;border:0;background:var(--color-primary);color:var(--color-primary-text)}.guided-next:hover:not(:disabled){background:var(--color-primary-hover)}.guided-next:active:not(:disabled){transform:scale(.98)}@media(min-width:768px){.guided-next{flex:0 0 auto;min-width:220px}}.guided-back:disabled,.guided-next:disabled{opacity:.45;cursor:not-allowed}.guided-outline{list-style:none;display:grid;gap:2px;margin:0;padding:0}.guided-outline button{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:var(--tap-min);padding:var(--space-2) var(--space-2);border:0;border-radius:var(--radius-sm);background:none;color:var(--color-text-secondary);font:inherit;font-size:var(--text-sm);text-align:start;cursor:pointer}.guided-outline button:hover{background:var(--color-surface-hover)}.guided-outline button.is-current{color:var(--color-text);font-weight:var(--weight-semibold)}.guided-outline button.is-done{color:var(--color-text-tertiary)}.guided-outline em{margin-inline-start:var(--space-2);color:var(--color-success);font-size:var(--text-2xs);font-style:normal;font-weight:var(--weight-semibold)}.guided-outline__mark{display:grid;place-items:center;width:24px;height:24px;flex:none;border-radius:var(--radius-full);background:var(--color-surface-alt);color:var(--color-text-tertiary);font-size:var(--text-2xs);font-style:normal}.guided-outline__mark svg{width:13px;height:13px}.guided-outline button.is-current .guided-outline__mark{background:var(--color-primary);color:var(--color-primary-text)}.guided-outline button.is-done .guided-outline__mark{background:var(--color-success-light);color:var(--color-success)}.guided-outline__text{min-width:0;flex:1}.lesson-done{display:grid;justify-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-5);text-align:center}.lesson-done h2{margin:0;font-size:var(--text-xl);font-weight:var(--weight-semibold)}.lesson-done>p{margin:0;max-width:46ch;color:var(--color-text-secondary);font-size:var(--text-base)}.lesson-done__mark{display:grid;place-items:center;width:56px;height:56px;border-radius:var(--radius-full);background:var(--color-success-light);color:var(--color-success)}.lesson-done__mark svg{width:28px;height:28px}.lesson-done__recap{list-style:none;display:grid;gap:var(--space-1);width:min(100%,380px);margin:var(--space-4) 0 0;padding:0}.lesson-done__recap li{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--text-sm);text-align:start}.lesson-done__recap li svg{width:15px;height:15px}.lesson-done__recap li>span{display:grid;place-items:center;flex:none;color:var(--color-text-tertiary)}.lesson-done__recap li.is-done>span{color:var(--color-success)}.lesson-done__recap em{margin-inline-start:auto;font-size:var(--text-2xs);font-style:normal;color:var(--color-text-tertiary)}.lesson-done__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);margin-block-start:var(--space-5)}.lesson-reader .recorder.recorder-v2{overflow:hidden;margin-block-start:18px;padding:0;border:1px solid var(--color-border);border-radius:18px;background:var(--color-surface);box-shadow:var(--shadow-xs)}.recorder-v2 .recorder-engine{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;border-block-end:1px solid var(--color-border-light, var(--color-border));background:var(--color-surface-alt)}.recorder-v2 .recorder-engine>div{display:flex;align-items:center;gap:10px;min-width:0}.recorder-v2 .recorder-engine>div>div{display:grid;gap:1px;min-width:0}.recorder-v2 .recorder-engine strong{font-size:var(--text-sm)}.recorder-v2 .recorder-engine small{color:var(--color-text-tertiary);font-size:var(--text-xs)}.recorder-v2 .recorder-engine a{display:inline-flex;align-items:center;min-height:var(--tap-min);padding-inline:var(--space-2);color:var(--color-primary);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.engine-orb{display:grid;place-items:center;width:31px;height:31px;flex:0 0 31px;border-radius:9px;background:var(--color-surface);color:var(--color-text-secondary);box-shadow:inset 0 0 0 1px var(--color-border);font-size:12px;font-weight:800}.engine-orb.local{background:var(--color-primary-light);color:var(--color-primary);box-shadow:none;font-size:18px}.recorder-stage{padding:18px}.recorder-v2 .recorder-status{padding:0 1px}.recorder-v2 .recorder-status strong{font-size:var(--text-base);font-weight:var(--weight-semibold)}.recorder-v2 .recorder-status time{color:var(--color-text-secondary);font-size:var(--text-sm)}.recorder-v2 .waveform-v2{height:76px;margin:5px 0 2px;gap:5px}.recorder-v2 .waveform-v2 i{width:4px;max-height:66px;background:color-mix(in srgb,var(--color-text-tertiary) 28%,transparent)}.recorder-v2.is-recording .waveform-v2 i{background:var(--color-primary)}.live-transcript{margin:6px 0 0;padding:12px 13px;border:1px solid var(--color-border-light, var(--color-border));border-radius:12px;background:var(--color-surface-alt)}.live-transcript.has-text{background:color-mix(in srgb,var(--color-primary-light) 28%,var(--color-surface-alt))}.live-transcript__heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.live-transcript__heading span{display:inline-flex;align-items:center;gap:6px;color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.02em}.live-transcript__heading span i{width:6px;height:6px;border-radius:50%;background:var(--color-success);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-success) 13%,transparent)}.live-transcript__heading small{color:var(--color-text-tertiary);font-size:var(--text-xs)}.live-transcript p{min-height:3.4em;margin:9px 0 0;color:var(--color-text);font-size:var(--text-base);line-height:var(--leading-relaxed)}.live-transcript p.transcript-placeholder{color:var(--color-text-tertiary);font-size:var(--text-sm)}.recorder-actions-v2{align-items:center;margin-block-start:15px}.lesson-reader .record-button.record-button-v2{min-height:52px;padding-block:var(--space-2);padding-inline:var(--space-4) var(--space-2);border-radius:var(--radius-md);font-size:var(--text-base)}.mic-button-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#ffffff29}.mic-button-icon svg{width:17px;height:17px}.stop-button-v2{display:inline-flex;align-items:center;gap:var(--space-2);min-height:52px;padding-inline:var(--space-5);border:1px solid color-mix(in srgb,var(--color-danger) 34%,var(--color-border));border-radius:var(--radius-md);background:var(--color-danger-light);color:var(--color-danger);font-family:inherit;font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer}.stop-button-v2>span{width:9px;height:9px;border-radius:2px;background:currentColor}.recorder-v2 .recorded-audio{width:calc(100% - 36px);margin:0 18px 15px}.recorder-v2>.recording-message{margin:0 18px 12px}.privacy-note-v2{display:flex;gap:9px;margin:0 18px 16px;padding:10px 11px;border-radius:10px;background:var(--color-surface-alt);color:var(--color-text-tertiary)}.privacy-note-v2>span{color:var(--color-primary)}.privacy-note-v2 svg{width:16px;height:16px;flex:none;color:var(--color-text-tertiary)}.privacy-note-v2 p{margin:0;font-size:var(--text-xs);line-height:var(--leading-normal)}.privacy-note-v2 strong{color:var(--color-text-secondary)}@keyframes guided-step-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:700px){.guided-step-head{margin-block:var(--space-4) var(--space-3)}.guided-controls__inner{padding-inline:var(--space-3)}.lesson-topbar__inner{gap:var(--space-2);padding-inline:var(--space-2)}.recorder-stage{padding:14px}.recorder-v2 .waveform-v2{height:60px}.recorder-actions-v2>*{flex:1 1 auto}}.history-disclosure{display:flex;align-items:center;gap:var(--space-2);width:min(100%,var(--width-content));min-height:var(--tap-min);margin:var(--space-4) auto 0;padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);font-family:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer}.history-disclosure svg{width:17px;height:17px;flex:none}.history-disclosure span{flex:1;text-align:start}.history-disclosure em{padding:2px var(--space-2);border-radius:var(--radius-full);background:var(--color-surface-alt);color:var(--color-text-tertiary);font-size:var(--text-xs);font-style:normal;font-weight:var(--weight-semibold)}.history-disclosure:hover{background:var(--color-surface-hover);color:var(--color-text)}.record-dot.busy{background:var(--color-warning);animation:sl-pulse 1.2s ease-in-out infinite}.record-dot.problem{background:var(--color-danger);border-radius:var(--radius-xs)}@keyframes sl-pulse{0%,to{opacity:1}50%{opacity:.35}}.recorder-help{display:flex;align-items:flex-start;gap:var(--space-3);margin:0 var(--space-5) var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-danger-light);color:var(--color-text)}.recorder-help>svg{width:20px;height:20px;flex:none;margin-block-start:1px;color:var(--color-danger)}.recorder-help strong{display:block;font-size:var(--text-base);font-weight:var(--weight-semibold)}.recorder-help ol{margin:var(--space-2) 0 0;padding-inline-start:var(--space-5);color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.recording-message{margin:0 var(--space-5) var(--space-4);color:var(--color-danger);font-size:var(--text-sm);line-height:var(--leading-normal)}.writing-label{display:block;margin:var(--space-5) 0 var(--space-2);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.lesson-reader .personal-textarea{font-size:16px;line-height:var(--leading-relaxed)}.lesson-reader .textarea-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-block-start:var(--space-2);color:var(--color-text-tertiary);font-size:var(--text-xs)}.lesson-reader .textarea-meta>span{display:inline-flex;align-items:center;gap:var(--space-1)}.lesson-reader .textarea-meta svg{width:13px;height:13px;color:var(--color-success)}.writing-sample{margin-block-start:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-alt)}.writing-sample p{margin:0;color:var(--color-text);font-size:var(--text-base);line-height:var(--leading-relaxed)}.writing-sample small{display:block;margin-block-start:var(--space-2);color:var(--color-text-tertiary);font-size:var(--text-sm)}.writing-sample button{margin-block-start:var(--space-3)}.review-hero .review-hero__fa{margin:var(--space-2) 0 0;color:var(--color-text-secondary);font-size:var(--text-md);line-height:var(--leading-snug)}.review-hero .review-hero__cando{display:flex;align-items:baseline;gap:var(--space-2);margin-block-start:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-primary-light);font-size:var(--text-base);line-height:var(--leading-relaxed)}.review-hero__cando-label{flex:none;color:var(--color-primary);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.section-toolbar{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-block-start:var(--space-3)}.section-toolbar .section-lead{margin:0}.section-toolbar>strong{font-size:var(--text-md)}.section-score{flex:none;white-space:nowrap;padding:4px 9px;border-radius:var(--radius-full);background:var(--color-surface-hover);color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.review-phrase-list{display:grid;gap:var(--space-2);margin:var(--space-4) 0 0;padding:0;list-style:none}.review-phrase{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);background:var(--color-surface)}.review-phrase__text{min-width:0}.review-phrase__text p{margin:0;color:var(--color-text);font-size:var(--text-md);font-weight:var(--weight-medium);line-height:var(--leading-snug)}.review-phrase__text span{display:block;margin-block-start:var(--space-1);color:var(--color-text-secondary);font-size:var(--text-base)}.recall-list{display:grid;gap:var(--space-3);margin-block-start:var(--space-4)}.recall-card{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);transition:border-color .16s ease}.recall-card.is-correct{border-color:color-mix(in srgb,var(--color-success) 55%,var(--color-border))}.recall-card.is-wrong{border-color:color-mix(in srgb,var(--color-danger) 45%,var(--color-border))}.recall-card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.recall-card__prompt{margin:var(--space-2) 0 0;color:var(--color-text-secondary);font-size:var(--text-base);line-height:var(--leading-relaxed)}.recall-card__stem{margin:var(--space-2) 0 var(--space-3);color:var(--color-text);font-size:var(--text-md);font-weight:var(--weight-semibold)}.lesson-reader .recall-input{min-height:76px;padding:var(--space-3)}.recall-card .exercise-footer{flex-wrap:wrap}.recall-card .exercise-footer .check-button,.recall-card .exercise-footer .secondary-action{white-space:nowrap}.recall-card .exercise-footer .result{flex:1 0 100%}.recall-card__answer{margin-block-start:var(--space-4);padding-block-start:var(--space-3);border-block-start:1px solid var(--color-border-light)}.listening-player{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);margin-block-start:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.listening-player__info{flex:1 1 auto;min-width:0}.listening-player__info strong{display:block;font-size:var(--text-base)}.listening-player__info small{display:block;margin-block-start:2px;color:var(--color-text-tertiary);font-size:var(--text-xs)}.listening-play{display:inline-flex;align-items:center;gap:var(--space-2)}.listening-play svg{width:15px;height:15px}.listening-play.is-stopping{background:var(--color-danger)}.listening-script{margin:var(--space-3) 0 0;padding:var(--space-4);border-inline-start:3px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-surface-alt);color:var(--color-text);font-size:var(--text-base);line-height:var(--leading-loose)}.listening-questions__head{margin-block-start:var(--space-6)}.option-list--inline{grid-template-columns:repeat(2,minmax(0,1fr))}.listening-answer{margin-block-start:var(--space-3);padding-block-start:var(--space-3);border-block-start:1px solid var(--color-border-light)}.listening-answer>p:first-child{display:flex;align-items:baseline;gap:var(--space-2);margin:0;color:var(--color-success);font-size:var(--text-base);font-weight:var(--weight-medium);line-height:var(--leading-relaxed)}.listening-answer>p:first-child>span{flex:none;color:var(--color-text-tertiary);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase}.can-do-list{display:grid;gap:var(--space-2);margin:var(--space-4) 0 0;padding:0;list-style:none}.can-do-item{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);background:var(--color-surface)}.can-do-item.is-rated{border-color:color-mix(in srgb,var(--color-primary) 30%,var(--color-border-light))}.can-do-item__text p{margin:0;font-size:var(--text-base);font-weight:var(--weight-medium);line-height:var(--leading-snug)}.can-do-item__text span{display:block;margin-block-start:var(--space-1);color:var(--color-text-secondary);font-size:var(--text-sm)}.can-do-scale{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.can-do-scale__step{display:grid;gap:2px;min-height:var(--tap-min, 44px);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--weight-semibold);cursor:pointer}.can-do-scale__step small{color:var(--color-text-tertiary);font-size:var(--text-xs);font-weight:var(--weight-normal)}.can-do-scale__step.selected{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary)}.can-do-scale__step.selected:before{content:"\2713  "}.can-do-scale__step.selected small{color:inherit}.quick-review{margin-block-start:var(--space-6);padding:var(--space-5);border:1px solid color-mix(in srgb,var(--color-primary) 24%,var(--color-border));border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-primary-light) 55%,var(--color-surface))}.quick-review__prompt{margin:var(--space-2) 0 0;color:var(--color-text-secondary);font-size:var(--text-base);line-height:var(--leading-relaxed)}.quick-review__stem{margin:var(--space-2) 0 var(--space-3);font-size:var(--text-md);font-weight:var(--weight-semibold);line-height:var(--leading-snug)}.review-scoreboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:var(--space-2);width:100%;margin-block-start:var(--space-5)}.review-scoreboard>div{padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-hover);text-align:center}.review-scoreboard strong{display:block;font-size:var(--text-lg);white-space:nowrap}.review-scoreboard span{display:block;margin-block-start:2px;color:var(--color-text-tertiary);font-size:var(--text-xs)}@media(max-width:767px){.review-phrase{align-items:flex-start;flex-direction:column}.review-phrase .sentence-tools{align-self:flex-end}.listening-player>.primary-action,.listening-player>.secondary-action{flex:1 1 auto;justify-content:center}.can-do-scale{grid-template-columns:1fr}.can-do-scale__step{display:flex;align-items:center;gap:var(--space-2)}.can-do-scale__step small{margin-inline-start:auto}}body{background:radial-gradient(circle at 88% 3%,color-mix(in srgb,#dfefff 68%,transparent) 0,transparent 30rem),radial-gradient(circle at 12% 96%,color-mix(in srgb,#eee8ff 62%,transparent) 0,transparent 34rem),var(--color-bg)}.btn-primary,.sl-btn--primary{background:var(--gradient-primary-action);color:var(--color-primary-action-text);box-shadow:0 10px 24px #5d44e833}.btn-primary:hover:not(:disabled),.sl-btn--primary:hover:not(:disabled){background:var(--gradient-primary-action-hover);box-shadow:0 14px 30px #5d44e83d}.card,.sl-card{box-shadow:0 10px 28px #3b2d800e}.sidebar-nav{width:var(--sidebar-w);background:linear-gradient(180deg,#fffffff5,#f8f7fff5),var(--color-surface);border-inline-end:1px solid color-mix(in srgb,var(--color-border) 86%,white);box-shadow:12px 0 38px #372a7d0b;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.sidebar-header{min-height:78px;padding:18px;border-block-end:0}.sidebar-logo{width:42px;height:42px;border-radius:14px;background:var(--gradient-primary-action);box-shadow:0 10px 22px #6249e238}.sidebar-logo svg{width:22px;height:22px}.sidebar-brand{color:#5d44e9;font-size:19px;font-weight:800;letter-spacing:-.45px}.sidebar-menu{padding:10px 12px 18px;gap:4px}.sidebar-group{padding-inline:12px;color:#9a91bd;font-size:10px;letter-spacing:.1em}.nav-item{gap:12px;min-height:46px;padding:10px 12px;border-radius:14px;color:#626b86;font-size:13.5px}.nav-item svg{color:#8078a6}.nav-item:hover{background:#6c4cf611;color:var(--color-text)}.nav-item.active{background:linear-gradient(135deg,#6c4cf621,#6f89f814);color:#5f43eb;font-weight:700;box-shadow:inset 0 0 0 1px #6c4cf617}.nav-item.active svg{color:#6549ee}.sidebar-footer{margin:0 12px 12px;padding:10px;border:1px solid var(--color-border-light);border-radius:15px;background:#ffffffb8}.account-footer{margin-block-end:8px}.account-chip{border-radius:12px}.account-avatar{background:var(--gradient-primary-action)!important;color:var(--color-primary-action-text)!important}.login-button{border:0!important;border-radius:12px!important;background:var(--gradient-primary-action)!important;color:var(--color-primary-action-text)!important;box-shadow:0 8px 18px #5d44e82e}.app-header{background:#ffffffe0;border-block-end-color:#6c4cf614;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.header-brand{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.header-logo{width:28px;height:28px;flex:0 0 28px}.app-header__actions{display:flex;align-items:center;gap:8px;flex:0 0 auto;margin-inline-start:auto}.header-title{color:#5d44e9;font-weight:800}.bottom-nav{background:#ffffffed;border-block-start-color:#6c4cf61a;box-shadow:0 -10px 30px #36287814;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.nav-tab__icon{height:31px;border-radius:13px}.nav-tab.active .nav-tab__icon{background:linear-gradient(135deg,#6c4cf624,#4d96f017)}.stats-bar{background:#ffffffeb;border-block-end-color:#6c4cf61a;box-shadow:0 4px 18px #3628780b;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}@media(min-width:768px){.main-content{background:transparent}}.dark-theme body{background:radial-gradient(circle at 88% 4%,rgba(124,92,255,.18),transparent 32rem),radial-gradient(circle at 8% 92%,rgba(48,128,181,.13),transparent 36rem),linear-gradient(145deg,rgba(255,255,255,.015),transparent 48%),var(--color-bg);background-attachment:fixed}.dark-theme .sidebar-nav,.dark-theme .app-header,.dark-theme .bottom-nav,.dark-theme .stats-bar{background:color-mix(in srgb,var(--color-surface) 92%,transparent)}.dark-theme .sidebar-footer{background:var(--color-surface-alt)}.dark-theme .sidebar-nav{border-inline-end-color:var(--color-border);box-shadow:12px 0 38px #0003}.dark-theme .sidebar-brand,.dark-theme .header-title{color:var(--color-primary)}.dark-theme .sidebar-group{color:var(--color-text-tertiary)}.dark-theme .nav-item{color:var(--color-text-secondary)}.dark-theme .nav-item svg{color:var(--color-text-tertiary)}.dark-theme .nav-item:hover{background:var(--color-surface-hover);color:var(--color-text)}.dark-theme .nav-item.active{background:var(--color-primary-light);color:var(--color-primary);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-primary) 18%,transparent)}.dark-theme .nav-item.active svg{color:var(--color-primary)}.dark-theme .sidebar-footer{border-color:var(--color-border);box-shadow:0 6px 18px #00000029}
