:root{color-scheme:light;--bg:#e8ecf2;--environment:radial-gradient(60% 50% at 18% 10%,rgba(164,188,232,.75),transparent 70%),radial-gradient(45% 45% at 90% 28%,rgba(216,198,236,.65),transparent 70%),radial-gradient(55% 40% at 55% 100%,rgba(176,224,214,.55),transparent 70%),linear-gradient(180deg,#eef1f6,#e3e7ee);--surface:#f4f6fa;--reading:rgba(255,255,255,.82);--ink:#0e1118;--muted:#4c5362;--line:rgba(30,40,70,.18);--accent:#12151c;--accent-ink:#fff;--accent-soft:rgba(30,40,70,.08);--good:#246247;--warn:#805000;--bad:#a52c35;--glass:rgba(255,255,255,.42);--glass-nav:rgba(255,255,255,.45);--glass-sheet:rgba(244,246,252,.80);--glass-edge:rgba(255,255,255,.8);--glass-highlight:rgba(255,255,255,.9);--glass-shadow:0 40px 100px rgba(30,40,70,.16);--ornament-shadow:0 24px 60px rgba(30,40,70,.18);--sheet-shadow:0 50px 140px rgba(30,40,70,.25);--opaque:#eef1f6;--selection:rgba(30,40,70,.16);--radius-panel:30px;--radius-window:40px;--radius-pill:999px;--glass-blur:60px;--bottom-nav-height:70px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#07080c;--environment:radial-gradient(60% 50% at 18% 12%,rgba(86,112,168,.55),transparent 70%),radial-gradient(45% 45% at 88% 30%,rgba(120,96,156,.38),transparent 70%),radial-gradient(55% 40% at 55% 100%,rgba(44,118,124,.30),transparent 70%),linear-gradient(180deg,#0c0e15,#07080c);--surface:#171a23;--reading:rgba(10,11,16,.80);--ink:#f4f5f9;--muted:#bec4d5;--line:rgba(255,255,255,.14);--accent:#f4f6fb;--accent-ink:#0b0d12;--accent-soft:rgba(255,255,255,.08);--good:#8edbb2;--warn:#e9c17b;--bad:#ffa0a8;--glass:rgba(30,33,44,.46);--glass-nav:rgba(255,255,255,.07);--glass-sheet:rgba(36,40,54,.60);--glass-edge:rgba(255,255,255,.13);--glass-highlight:rgba(255,255,255,.16);--glass-shadow:0 40px 120px rgba(0,0,0,.5);--ornament-shadow:0 24px 60px rgba(0,0,0,.4);--sheet-shadow:0 50px 140px rgba(0,0,0,.6);--opaque:#202430;--selection:rgba(255,255,255,.22)}}:root[data-theme=dark]{color-scheme:dark;--bg:#07080c;--environment:radial-gradient(60% 50% at 18% 12%,rgba(86,112,168,.55),transparent 70%),radial-gradient(45% 45% at 88% 30%,rgba(120,96,156,.38),transparent 70%),radial-gradient(55% 40% at 55% 100%,rgba(44,118,124,.30),transparent 70%),linear-gradient(180deg,#0c0e15,#07080c);--surface:#171a23;--reading:rgba(10,11,16,.80);--ink:#f4f5f9;--muted:#bec4d5;--line:rgba(255,255,255,.14);--accent:#f4f6fb;--accent-ink:#0b0d12;--accent-soft:rgba(255,255,255,.08);--good:#8edbb2;--warn:#e9c17b;--bad:#ffa0a8;--glass:rgba(30,33,44,.46);--glass-nav:rgba(255,255,255,.07);--glass-sheet:rgba(36,40,54,.60);--glass-edge:rgba(255,255,255,.13);--glass-highlight:rgba(255,255,255,.16);--glass-shadow:0 40px 120px rgba(0,0,0,.5);--ornament-shadow:0 24px 60px rgba(0,0,0,.4);--sheet-shadow:0 50px 140px rgba(0,0,0,.6);--opaque:#202430;--selection:rgba(255,255,255,.22)}html{scroll-padding-top:88px;scrollbar-color:var(--muted) var(--bg);scrollbar-width:thin}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 -apple-system,SF Pro Text,SF Pro Display,var(--font-geist),sans-serif;-webkit-font-smoothing:antialiased;isolation:isolate}main{max-width:860px;margin:0 auto;padding:24px 16px 80px}.top{border-bottom:1px solid var(--line);padding:14px 16px;background:var(--surface);position:-webkit-sticky;position:sticky;top:0}.top a{color:var(--ink);font-weight:700;text-decoration:none;letter-spacing:.02em}h1{font-size:1.8rem;line-height:1.2;margin:0 0 6px}h2{font-size:1.15rem;margin:0 0 12px}h3{font-size:1rem;margin:16px 0 6px}a{color:var(--accent)}.muted{color:var(--muted)}.card{background:var(--reading);border:1px solid var(--line);border-radius:var(--radius-panel);padding:20px;margin:16px 0}.phase-tag{font-size:13px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--muted)}label{display:block;font-weight:600;margin:12px 0 4px}input[type=number],input[type=password],input[type=text],input[type=url],textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);font:inherit}textarea{min-height:90px;resize:vertical}button{background:var(--accent);color:var(--accent-ink);border:0;border-radius:8px;padding:9px 16px;font:inherit;font-weight:600;cursor:pointer}button.secondary{background:var(--accent-soft);color:var(--accent)}button:disabled{opacity:.55;cursor:progress}.row{gap:8px;align-items:center;margin-top:8px}.chips,.row{display:flex;flex-wrap:wrap}.chips{gap:6px}.chip{color:var(--accent);border-radius:999px;padding:2px 10px;font-size:.85rem}.chip,.vocab{background:var(--accent-soft)}.vocab{padding:10px 14px;margin:10px 0;border-radius:14px}.register-item{border-top:1px solid var(--line);padding-top:10px;margin-top:14px}.quote{font-style:italic;color:var(--muted)}.feedback{margin-top:10px;padding:12px;border-radius:8px;background:var(--bg);border:1px solid var(--line)}.verdict-excellent{color:var(--good)}.verdict-good{color:var(--warn)}.verdict-needs_work{color:var(--bad)}.warn-note{margin:8px 0 0;padding:8px 12px;border-radius:8px;font-size:.9rem;border:1px solid var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent)}.timing{margin:8px 0}.t-lingered{-webkit-text-decoration:underline wavy var(--warn);text-decoration:underline wavy var(--warn);text-underline-offset:3px;cursor:help}.t-rushed{-webkit-text-decoration:underline dashed var(--accent);text-decoration:underline dashed var(--accent);text-underline-offset:3px;cursor:help}.t-pause{font-weight:700;margin-left:2px;cursor:help}.t-extra-pause{color:var(--muted)}.error,.t-missing-pause{color:var(--bad)}.list a{display:block;text-decoration:none;color:inherit}.diff-ok{color:var(--good)}.diff-miss{color:var(--bad);text-decoration:line-through}.transcript p{margin:4px 0;padding:2px 6px;border-radius:4px;cursor:pointer}.transcript p.active{background:var(--accent-soft)}.transcript{max-height:420px;overflow-y:auto}audio{width:100%}@media print{.top,audio,button{display:none!important}.card{page-break-inside:avoid;break-inside:avoid}}.top{display:flex;justify-content:space-between;align-items:center}.top a.nav{font-weight:500;color:var(--muted)}select{padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);font:inherit}.print-only{display:none}@media print{.print-only{display:block}.screen-only{display:none!important}}.chat-log{display:flex;flex-direction:column;gap:8px;margin:12px 0;max-height:420px;overflow-y:auto}.bubble{padding:10px 12px;border-radius:10px;max-width:85%;white-space:pre-wrap}.bubble.assistant{background:var(--accent-soft);align-self:flex-start}.bubble.user{background:var(--bg);border:1px solid var(--line);align-self:flex-end}button.link{background:none;padding:0 0 0 8px;font-size:.9rem}button.recording{background:var(--bad)}.vault-card{border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:8px 0;background:var(--surface)}.vault-head{display:flex;justify-content:space-between;gap:12px;cursor:pointer}.selection-add{max-width:calc(100vw - 24px);position:fixed;transform:translate(-50%,calc(-100% - 8px));z-index:10;font-size:.85rem;padding:6px 10px;box-shadow:0 4px 14px rgb(0 0 0/.25)}nav.row{gap:16px}button.danger{background:transparent;color:var(--bad);border:1px solid var(--bad)}.clip-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:8px;gap:8px;margin-top:12px}button.clip{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;font-weight:400;background:var(--bg);color:var(--ink);border:1px solid var(--line)}button.clip.selected{border-color:var(--accent);background:var(--accent-soft)}.score-row{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:8px;gap:8px;text-align:center;margin-bottom:8px}.score{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 4px}@media (max-width:560px){.score-row{grid-template-columns:repeat(3,1fr)}}button.small{padding:4px 8px;font-size:.8rem}.key-row{border-top:1px solid var(--line);padding:10px 0}.key-row:last-of-type{border-bottom:1px solid var(--line)}.new-lesson-btn{padding:6px 12px;font-size:.9rem}.new-lesson-btn span{font-weight:700}dialog.modal{width:min(720px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow-y:auto;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);box-shadow:0 20px 60px rgb(0 0 0/.4)}dialog.modal::-webkit-backdrop{background:rgb(0 0 0/.55)}dialog.modal::backdrop{background:rgb(0 0 0/.55)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.icon-btn{background:transparent;color:var(--muted);padding:4px 8px;font-size:1rem}.icon-btn:hover{color:var(--ink)}@media (max-width:560px){.new-lesson-btn{padding:6px 10px}}.top{flex-wrap:wrap;gap:8px}.show-bounds{margin-top:12px}.mini-player{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:35;width:min(860px,calc(100vw - 32px));display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px rgb(0 0 0/.35)}.icon-round{width:40px;height:40px;border-radius:50%;padding:0;flex-shrink:0;font-size:.95rem}.mini-skip{background:transparent;color:var(--muted);padding:4px 6px;font-size:.85rem;flex-shrink:0}.mini-skip:hover{color:var(--ink)}.mini-track{flex:1 1;min-width:0}.mini-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-time,.mini-title{font-size:.8rem;color:var(--muted)}.mini-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mini-player input[type=range]{flex:1 1;min-width:60px;accent-color:var(--accent)}.mini-player select{padding:4px 6px;font-size:.85rem}main{padding-bottom:110px}@media (max-width:560px){.mini-player .mini-skip:not(:last-child),.mini-title{display:none}.mini-player{gap:6px;padding:8px 10px}}mark.vault-mark{background:color-mix(in srgb,var(--warn) 30%,transparent);color:inherit;border-radius:3px;padding:0 2px;border-bottom:2px solid var(--warn);cursor:help}mark.vault-mark.other{background:color-mix(in srgb,var(--accent) 16%,transparent);border-bottom:1px dashed var(--accent)}@media print{mark.vault-mark{background:none;border-bottom:1.5px solid #000}}.term-actions{display:inline-flex;align-items:center;gap:6px;margin-left:8px;vertical-align:middle}.term-actions button.small{padding:2px 8px;font-size:.78rem}a.small-link{font-size:.78rem;font-weight:600;text-decoration:none;padding:2px 6px;border-radius:6px;background:var(--accent-soft)}a.small-link:hover{text-decoration:underline}mark.vault-mark{cursor:pointer}.term-pop{position:fixed;z-index:36;width:320px;padding:12px 14px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px rgb(0 0 0/.35);font-size:.92rem}.term-pop .term-actions{margin-left:0}:root{--series-1:var(--accent);--series-2:var(--muted);--series-3:color-mix(in srgb,var(--ink) 65%,var(--bg));--heat-0:var(--accent-soft);--heat-1:color-mix(in srgb,var(--accent) 24%,var(--surface));--heat-2:color-mix(in srgb,var(--accent) 44%,var(--surface));--heat-3:color-mix(in srgb,var(--accent) 68%,var(--surface));--heat-4:var(--accent);--stage-1:var(--heat-1);--stage-2:var(--heat-3);--stage-3:var(--heat-4);--grid:var(--line);--axis:var(--muted)}[data-chart=ocean]{--pc-1:#1e4e8c;--pc-2:#2f7fe0;--pc-3:#7cc4f4;--pc-4:#f2f7fc}[data-chart=glacier]{--pc-1:#0b6fa4;--pc-2:#0ea5e9;--pc-3:#7dd3fc;--pc-4:#ffffff}[data-chart=midnight]{--pc-1:#2b44b0;--pc-2:#4c6ef5;--pc-3:#74c0fc;--pc-4:#e7f5ff}[data-chart=ice]{--pc-1:#3e5f86;--pc-2:#6f95bf;--pc-3:#afcbe6;--pc-4:#f5f9fc}:root[data-chart]{--series-1:var(--pc-1);--series-2:var(--pc-2);--series-3:var(--pc-3);--chart-bar:var(--pc-2);--heat-1:color-mix(in srgb,var(--pc-3) 45%,var(--surface));--heat-2:var(--pc-3);--heat-3:var(--pc-2);--heat-4:var(--pc-1);--stage-1:color-mix(in srgb,var(--pc-3) 45%,var(--surface));--stage-2:var(--pc-2);--stage-3:var(--pc-1)}@media (prefers-color-scheme:dark){:root[data-chart]:not([data-theme=light]){--series-1:var(--pc-4);--series-2:var(--pc-2);--series-3:var(--pc-3);--chart-bar:var(--pc-3);--heat-1:var(--pc-1);--heat-2:var(--pc-2);--heat-3:var(--pc-3);--heat-4:var(--pc-4);--stage-1:var(--pc-1);--stage-2:var(--pc-3);--stage-3:var(--pc-4)}}:root[data-chart][data-theme=dark]{--series-1:var(--pc-4);--series-2:var(--pc-2);--series-3:var(--pc-3);--chart-bar:var(--pc-3);--heat-1:var(--pc-1);--heat-2:var(--pc-2);--heat-3:var(--pc-3);--heat-4:var(--pc-4);--stage-1:var(--pc-1);--stage-2:var(--pc-3);--stage-3:var(--pc-4)}.palette-swatches{display:inline-flex;gap:2px;margin-right:6px;vertical-align:-1px}.palette-swatches i{width:10px;height:10px;border-radius:3px;display:inline-block}.palette-swatches i:first-child{background:var(--pc-1)}.palette-swatches i:nth-child(2){background:var(--pc-2)}.palette-swatches i:nth-child(3){background:var(--pc-3)}.palette-swatches i:nth-child(4){background:var(--pc-4);outline:1px solid var(--line)}.viz{position:relative}.viz-caption{font-size:.85rem;margin:-6px 0 10px}.viz-grid{stroke:var(--grid);stroke-width:1}.viz-axis{fill:var(--axis);font-size:11px}.viz-label{fill:var(--ink);font-size:12px;font-weight:600}.viz-bar{fill:var(--chart-bar,var(--series-1))}.viz-bar-strong{fill:var(--stage-3)}.viz-line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.viz-line.s1{stroke:var(--series-1)}.viz-line.s2{stroke:var(--series-2);stroke-dasharray:7 3}.viz-line.s3{stroke:var(--series-3);stroke-dasharray:2 3}.viz-dot{stroke:var(--surface);stroke-width:2}.viz-dot.s1{fill:var(--series-1)}.viz-dot.s2{fill:var(--series-2)}.viz-dot.s3{fill:var(--series-3)}.viz-crosshair{stroke:var(--axis);stroke-width:1;stroke-dasharray:3 3}.viz-tip{position:absolute;transform:translate(-50%,calc(-100% - 10px));pointer-events:none;z-index:5;white-space:nowrap;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:.82rem;box-shadow:0 6px 18px rgb(0 0 0/.25)}.heat{stroke:var(--surface);stroke-width:1}.heat-0{fill:var(--heat-0);background:var(--heat-0)}.heat-1{fill:var(--heat-1);background:var(--heat-1)}.heat-2{fill:var(--heat-2);background:var(--heat-2)}.heat-3{fill:var(--heat-3);background:var(--heat-3)}.heat-4{fill:var(--heat-4);background:var(--heat-4)}.heat-key{display:inline-block;width:12px;height:12px;border-radius:3px;margin:0 2px;vertical-align:middle}.viz-legend{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;font-size:.85rem;color:var(--muted)}.legend-item{display:inline-flex;align-items:center;gap:6px}.legend-swatch{width:12px;height:12px;border-radius:3px;display:inline-block}.legend-swatch.bar{background:var(--chart-bar,var(--series-1))}.legend-swatch.bar-strong{background:var(--stage-3)}.legend-line{width:16px;height:2px;border-radius:1px;display:inline-block}.legend-line.s1{background:var(--series-1)}.legend-line.s2{background:var(--series-2)}.legend-line.s3{background:var(--series-3)}.stack{display:flex;gap:2px;height:22px;border-radius:6px;overflow:hidden}.stack-seg{min-width:4px}.stage-1{background:var(--stage-1)}.stage-2{background:var(--stage-2)}.stage-3{background:var(--stage-3)}.viz-table{width:100%;border-collapse:collapse;font-size:.88rem}.viz-table td,.viz-table th{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line)}.viz-table td:nth-child(n+3),.viz-table th:nth-child(n+3){text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.balance-row{display:grid;grid-template-columns:110px 1fr 250px;align-items:center;grid-gap:10px;gap:10px;margin:6px 0;font-size:.92rem}.balance-track{height:10px;border-radius:5px;background:var(--heat-0);overflow:hidden}.balance-fill{display:block;height:100%;border-radius:5px;background:var(--chart-bar,var(--series-1))}.balance-value{white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.balance-nudge{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;border-radius:8px;border:1px solid var(--warn);background:color-mix(in srgb,var(--warn) 10%,transparent);font-size:.92rem}@media (max-width:720px){.balance-row{grid-template-columns:90px 1fr}.balance-value{grid-column:1/-1;font-size:.85rem;margin-top:-4px}}.status-chip{display:inline-block;padding:1px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted);font-size:.8rem}.status-chip.started{border-color:var(--accent);color:var(--accent)}.save-status{display:block;font-size:.78rem;color:var(--muted);margin-top:2px;min-height:1em}.save-status.error{color:var(--bad)}.phase-nav{position:-webkit-sticky;position:sticky;top:64px;z-index:30;display:flex;gap:6px;align-items:center;overflow-x:auto;scrollbar-width:none;margin:8px -16px 0;padding:8px 16px;background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}.phase-nav::-webkit-scrollbar{display:none}.phase-chip{flex:none;padding:3px 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:.85rem;text-decoration:none;white-space:nowrap}.phase-chip.done{color:var(--good);border-color:color-mix(in srgb,var(--good) 50%,var(--line))}.phase-chip.current{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.phase-short{display:none}.phase-count{flex:none;margin-left:auto;font-size:.8rem;padding-left:6px}@media (max-width:720px){.phase-long{display:none}.phase-short{display:inline}.phase-chip{padding:4px 11px}}.audio-options{margin-top:8px}.audio-options>summary{cursor:pointer;font-size:.9rem;font-weight:600;padding:4px 0}.audio-options>summary .muted{font-weight:400}.empty-state{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:18px 16px;border:1px dashed var(--line);border-radius:10px}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;margin:16px 0}.stat{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px 16px}.stat-value{font-size:1.7rem;font-weight:700;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-label{font-weight:600;margin-top:4px}.stat-sub{color:var(--muted);font-size:.8rem}.two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.two-col .card{margin:0}@media (max-width:720px){.stat-row{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr;gap:0}.two-col .card{margin:16px 0}}.review-progress{display:flex;align-items:center;gap:10px;margin:12px 0}.review-progress progress{flex:1 1;height:8px;accent-color:var(--accent)}.review-card{min-height:260px}.review-term{font-size:1.6rem;margin:14px 0 6px}.review-prompt{font-size:1.2rem;line-height:1.5;margin:18px 0 8px}.review-back{border-top:1px dashed var(--line);margin-top:16px;padding-top:8px}.grade-row{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px;width:100%}button.grade{display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--bg);color:var(--ink);border:1px solid var(--line)}button.grade small{color:var(--muted);font-weight:400;font-size:.75rem}button.grade-again{border-color:var(--bad)}button.grade-hard{border-color:var(--warn)}button.grade-good{border-color:var(--good)}button.grade-easy{border-color:var(--accent)}.kbd{font-size:.7rem;border:1px solid var(--line);border-radius:4px;padding:0 4px;opacity:.8}.review-empty{text-align:center;padding:32px 20px}.badge{display:inline-block;min-width:18px;padding:0 5px;margin-left:5px;border-radius:999px;background:var(--accent);color:var(--surface);font-size:.72rem;font-weight:700;text-align:center;line-height:18px}.review-banner{display:flex;justify-content:space-between;align-items:center;gap:12px;border-color:var(--accent);text-decoration:none;color:inherit}.review-banner-cta{color:var(--accent);font-weight:600;white-space:nowrap}:root{--cat-4:#eda100;--cat-5:#e87ba4;--cat-6:#008300}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--cat-4:#c98500;--cat-5:#d55181;--cat-6:#008300}}:root[data-theme=dark]{--cat-4:#c98500;--cat-5:#d55181;--cat-6:#008300}.kind-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.brief{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:14px 16px}.brief p{margin:6px 0}.chip-done{background:color-mix(in srgb,var(--good) 22%,transparent);color:var(--good)}.writing-review{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}.writing-score{font-size:2.2rem;font-weight:800;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rubric{display:grid;grid-gap:6px;gap:6px;margin:10px 0}.rubric-row{display:grid;grid-template-columns:170px 90px 1fr;grid-gap:10px;gap:10px;align-items:center;font-size:.92rem}.rubric-name{font-weight:600}.rubric-dots{display:inline-flex;gap:4px}.dot{width:12px;height:12px;border-radius:50%;background:var(--line)}.dot.on{background:var(--accent)}@media (max-width:640px){.rubric-row{grid-template-columns:1fr auto}.rubric-comment{grid-column:1/-1}}.annotated{white-space:pre-wrap;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:12px 14px;line-height:1.8}mark.fix{background:none;color:inherit;border-bottom:2.5px solid var(--fix);padding:0 1px;cursor:help}mark.fix sup{color:var(--fix);font-weight:700;margin-left:1px}.fix-grammar{--fix:var(--series-2)}.fix-word-choice{--fix:var(--series-1)}.fix-register{--fix:var(--cat-5)}.fix-legal-precision{--fix:var(--series-3)}.fix-concision{--fix:var(--cat-4)}.fix-structure{--fix:var(--cat-6)}.fix-chip{background:color-mix(in srgb,var(--fix) 18%,transparent);color:var(--ink);border:1px solid var(--fix)}.corrections li{margin:8px 0}.model-version{white-space:pre-wrap;border-radius:8px;padding:12px 14px;margin-top:8px}.model-version,.timeline{background:var(--accent-soft)}.timeline{position:relative;height:10px;margin:12px 0 4px;border-radius:5px;cursor:pointer;overflow:hidden}.timeline-ad{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(135deg,var(--warn) 0 4px,color-mix(in srgb,var(--warn) 45%,transparent) 4px 8px)}.timeline-head{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--ink);transform:translateX(-1px)}.timeline-swatch{display:inline-block;width:12px;height:10px;border-radius:2px;vertical-align:middle;background:repeating-linear-gradient(135deg,var(--warn) 0 3px,color-mix(in srgb,var(--warn) 45%,transparent) 3px 6px)}.break-list{list-style:none;padding:0;margin:4px 0;font-size:.9rem}.break-list li{padding:2px 0}.feed-head{display:flex;align-items:center;gap:12px;margin-bottom:6px}.feed-head img{border-radius:8px;object-fit:cover}.episode{border-top:1px solid var(--line);padding:10px 0}.episode-desc{font-size:.85rem;margin:4px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.imported{white-space:nowrap;font-weight:600;color:var(--good);text-decoration:none}.job{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px}.job progress{flex:1 1 120px;min-width:0;max-width:100%}.job .muted{font-size:.85rem}.suggested{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}button.suggest{display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left}button.suggest small{font-weight:400;font-size:.72rem;opacity:.85}.hits{margin-top:6px}.hit{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line)}.hit img{border-radius:6px}.feed-toggle{flex:1 1;display:flex;align-items:center;gap:12px;text-align:left;background:none;color:inherit;padding:0;font-weight:400}.feed-toggle img{border-radius:8px;object-fit:cover;flex-shrink:0}.feed-toggle .chevron{font-size:1.1rem;color:var(--muted);padding:0 8px}.feed-toggle:hover .chevron,.feed-toggle:hover h2{color:var(--accent)}.feed-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.upgrade-banner{border-color:var(--accent);background:var(--accent-soft)}.targets{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0 0;font-size:.9rem}button.chip.target{border:1px dashed var(--accent);font-weight:500;padding:2px 10px;cursor:pointer}button.chip.target.done{background:color-mix(in srgb,var(--good) 20%,transparent);color:var(--good);border-style:solid;border-color:var(--good)}button.chip.target.pop{animation:target-pop .6s ease-out}@keyframes target-pop{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){button.chip.target.pop{animation:none}}.icon-btn.refresh{font-size:1.2rem;padding:4px 10px;flex-shrink:0}.spin{display:inline-block;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.spin{animation:none}}.grammar-point{padding:12px 16px;margin:14px 0;border-radius:16px}.grammar-point,code.pattern{background:var(--accent-soft)}code.pattern{display:inline-block;color:var(--accent);padding:2px 8px;border-radius:6px;font-size:.88rem}.common-mistake{background:color-mix(in srgb,var(--warn) 12%,transparent);border-radius:6px;padding:6px 10px;font-size:.92rem}.grammar-exercises li{margin:12px 0}.focus-switcher select{max-width:100%}.focus-pick{display:flex;align-items:center;gap:6px;font-size:.85rem}.focus-pick select{padding:4px 6px;font-size:.85rem}.live-partner{margin-top:18px;padding-top:14px;border-top:1px dashed var(--line)}.live-dot{width:12px;height:12px;border-radius:50%;background:var(--muted);display:inline-block}.live-dot.listening{background:var(--good);animation:pulse 1.6s ease-in-out infinite}.live-dot.speaking{background:var(--accent);animation:pulse .8s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}@media (prefers-reduced-motion:reduce){.live-dot.listening,.live-dot.speaking{animation:none}}span.chip.target{border:1px dashed var(--accent);padding:2px 10px}span.chip.target.done{background:color-mix(in srgb,var(--good) 20%,transparent);color:var(--good);border-style:solid;border-color:var(--good)}.top{padding-top:max(14px,env(safe-area-inset-top));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.brand-short{display:none}.card select,.vault-card select,select{max-width:100%}main{padding-bottom:max(110px,calc(80px + env(safe-area-inset-bottom)))}.mini-player{bottom:max(16px,env(safe-area-inset-bottom))}@media (max-width:720px){.brand-full{display:none}.brand-short{display:inline-block}.top{flex-wrap:nowrap}.new-lesson-btn{font-size:1.1rem;padding:6px 12px}h1{font-size:1.5rem}.card{padding:16px}.grade-row{grid-template-columns:repeat(2,1fr)}.feed-head img,.feed-toggle img{width:40px;height:40px}.focus-pick span{display:none}input[type=number],input[type=password],input[type=search],input[type=text],input[type=url],select,textarea{font-size:16px}}.exam-page{min-width:0;overflow-wrap:anywhere}body:has(.exam-page) .top a,body:has(.exam-page) .top button{min-width:44px;min-height:44px}body:has(.exam-page) .top a:not(.header-settings){display:inline-flex;align-items:center}.exam-intro{max-width:68ch}.exam-unit-list{display:grid;grid-gap:14px;gap:14px;margin-top:24px}.exam-unit-card{display:block;min-width:0;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:inherit;text-decoration:none}.exam-unit-card[href]:hover{border-color:var(--accent)}.exam-unit-card[href]:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:3px}.exam-unit-card h2{margin-bottom:10px}.exam-unit-card p{overflow-wrap:anywhere}.exam-unit-unavailable{color:var(--muted)}.exam-topics{display:flex;flex-wrap:wrap;gap:6px}.exam-topics span{padding:3px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.85rem}.exam-empty{margin-top:24px;padding:18px;border:1px dashed var(--line);border-radius:12px;color:var(--muted)}.exam-alert{padding:12px 14px;border:1px solid var(--bad);border-radius:10px;color:var(--bad);background:color-mix(in srgb,var(--bad) 8%,var(--surface))}.exam-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap}.exam-heading p{margin:4px 0 0}.exam-panel[hidden]{display:none}.exam-exercise-picker{display:grid;grid-gap:6px;gap:6px;margin:20px 0}.exam-picker-label{font-weight:700}.exam-exercise-picker select{width:100%;min-width:0;min-height:44px}.exam-picker-current{color:var(--muted);font-size:.85rem}.exam-exercise-index{display:none}.exam-step-navigation{display:grid;grid-template-columns:minmax(88px,1fr) auto minmax(88px,1fr);align-items:center;grid-gap:10px;gap:10px;margin-top:28px}.exam-step-navigation button{min-width:0;min-height:44px}.exam-step-navigation span{color:var(--muted);font-size:.85rem;text-align:center}.exam-book,.exam-reading,.exam-vocabulary{margin:24px 0}.exam-book input{min-height:44px}.exam-book-line{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px}.exam-book-line p{margin:0;overflow-wrap:anywhere}.exam-book-button{min-height:44px;padding:6px 12px}.exam-book-edit{display:flex;gap:8px;align-items:center}.exam-book-edit input{flex:1 1;min-width:0}.exam-book-edit button{min-height:44px}.exam-vocabulary h3{margin:14px 0 6px;font-size:1rem}.exam-roots{font-feature-settings:"kern" off;font-variant:none;letter-spacing:.02em}.exam-reading{max-width:72ch}.exam-vocabulary ul{column-count:2;padding-left:22px}.exam-vocabulary li{page-break-inside:avoid;break-inside:avoid;margin-bottom:5px}.exam-exercises{display:grid;grid-gap:28px;gap:28px;margin-top:32px}.exam-exercise{min-width:0;padding-top:26px;border-top:1px solid var(--line)}.exam-exercise>header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap}.exam-score{margin:0;color:var(--muted);font-size:.9rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.exam-source{max-width:72ch;margin:18px 0;padding:16px;border-radius:12px;background:var(--surface);white-space:pre-wrap;overflow-wrap:anywhere}.exam-gap{color:var(--accent);font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.exam-gap,.exam-gap-control{display:inline-block;max-width:100%}.exam-gap-control{white-space:normal}.exam-gap-button{min-width:44px;min-height:44px;max-width:min(100%,32ch);padding:6px 9px;border:1px solid var(--accent);border-radius:8px;background:var(--accent-soft);color:var(--accent);font:inherit;font-weight:800;line-height:1.25;overflow-wrap:anywhere;vertical-align:middle}.exam-gap-button[disabled]{cursor:default;opacity:1}.exam-gap-button.exam-gap-correct{border-color:var(--good);color:var(--good);background:color-mix(in srgb,var(--good) 10%,var(--surface))}.exam-gap-button.exam-gap-incorrect{border-color:var(--bad);color:var(--bad);background:color-mix(in srgb,var(--bad) 10%,var(--surface))}.exam-gap-popup{position:fixed;z-index:1000;display:grid;grid-gap:6px;gap:6px;width:min(320px,calc(100vw - 16px));max-height:calc(100vh - 16px);overflow-y:auto;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 12px 36px rgba(0,0,0,.2);white-space:normal}.exam-gap-popup[hidden]{display:none}.exam-gap-popup button{min-width:44px;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);text-align:left;overflow-wrap:anywhere}.exam-gap-popup button.selected,.exam-gap-popup button:focus-visible,.exam-gap-popup button:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.exam-gap-field{display:inline-flex;align-items:center;gap:4px;max-width:100%;vertical-align:middle;white-space:nowrap}.exam-gap-label{color:var(--accent);font-weight:800;font-size:.85rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.exam-gap-input{min-height:44px;width:13ch;max-width:calc(100vw - 120px);padding:6px 8px;border:1px solid var(--accent);border-radius:8px;background:var(--accent-soft);color:var(--ink);font:inherit}select.exam-gap-input{width:auto;min-width:9ch}.exam-gap-input.exam-gap-correct{border-color:var(--good);background:color-mix(in srgb,var(--good) 10%,var(--surface))}.exam-gap-input.exam-gap-incorrect{border-color:var(--bad);background:color-mix(in srgb,var(--bad) 10%,var(--surface))}.exam-split-answers{min-width:0}@media (min-width:1000px){body:has(.exam-unit) main{max-width:1240px}.exam-exercise-picker{display:none}.exam-exercise-index{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;margin:22px 0 8px}.exam-exercise-index a{display:flex;min-width:0;min-height:64px;flex-direction:column;justify-content:center;gap:2px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;color:inherit;text-decoration:none}.exam-exercise-index a:focus-visible,.exam-exercise-index a:hover{border-color:var(--accent)}.exam-exercise-index a[aria-current=step]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.exam-exercise-index span,.exam-exercise-index strong{overflow-wrap:anywhere;white-space:normal}.exam-exercise-index span{font-size:.78rem;color:var(--muted)}.exam-split{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);grid-gap:28px;gap:28px;align-items:start}.exam-split-text{position:-webkit-sticky;position:sticky;top:76px;max-height:calc(100vh - 96px);overflow-y:auto;margin:0}.exam-split-answers .exam-question{grid-template-columns:28px minmax(0,1fr);gap:8px;padding:10px 0}.exam-split-answers .exam-question:first-child{border-top:0;padding-top:0}.exam-split-answers .exam-question-number{width:26px;height:26px;font-size:.85rem}.exam-split-answers .exam-options{gap:5px}.exam-split-answers .exam-options label{min-height:36px;padding:5px 9px}.exam-clause.exam-split{margin-bottom:18px}}.exam-term{text-decoration-thickness:2px;text-underline-offset:3px}.exam-bank{overflow-wrap:anywhere}.exam-question{display:grid;grid-template-columns:34px minmax(0,1fr);grid-gap:10px;gap:10px;padding:16px 0;border-top:1px solid var(--line)}.exam-question-number{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.exam-question fieldset{min-width:0;margin:0;padding:0;border:0}.exam-question legend{margin-bottom:8px;font-weight:600}.exam-sentence{margin-top:0;overflow-wrap:anywhere}.exam-options,.exam-part-options{display:grid;grid-gap:8px;gap:8px}.exam-options label,.exam-part-options label{display:flex;min-height:44px;align-items:center;gap:9px;margin:0;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);cursor:pointer;overflow-wrap:anywhere}.exam-options input,.exam-part-options input{width:20px;height:20px;flex:0 0 20px;accent-color:var(--accent)}.exam-part-options button{display:flex;min-height:44px;align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:left;overflow-wrap:anywhere}.exam-part-options button.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.exam-question input[type=text],.exam-question select{min-height:44px;max-width:100%}.exam-root{display:inline-block;margin-right:8px;color:var(--accent);letter-spacing:.04em}.exam-result{margin-top:18px;padding:16px;border-radius:12px;background:var(--surface)}.exam-result ol{padding-left:24px}.exam-result li{margin:10px 0;overflow-wrap:anywhere}.exam-correct strong{color:var(--good)}.exam-error,.exam-incorrect strong{color:var(--bad)}.exam-actions{display:flex;gap:10px;margin-top:16px}.exam-actions button{min-height:44px}.exam-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width:480px){.exam-unit-card{padding:16px}.exam-vocabulary ul{column-count:1}.exam-question{grid-template-columns:1fr}.exam-question-number{margin-bottom:-4px}.exam-source{margin-inline:-4px;padding:14px 12px}.exam-options label,.exam-part-options label,.exam-question select{width:100%}.exam-step-navigation{grid-template-columns:1fr 1fr}.exam-step-navigation span{grid-column:1/-1;grid-row:1}}.exam-vocab-term{background:none;color:inherit;-webkit-text-decoration:underline dotted var(--accent);text-decoration:underline dotted var(--accent);text-decoration-thickness:2px;text-underline-offset:3px;cursor:help}.exam-vocab-term:hover{background:var(--accent-soft);border-radius:3px}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:var(--environment)}::selection{background:var(--selection);color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}input,textarea{caret-color:var(--accent)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}a{text-underline-offset:3px}.phase-chip,.term-actions button.small,a.small-link,button,button.small,input:not([type=checkbox]):not([type=radio]),select,summary{min-height:44px}.icon-btn,.icon-round,.mini-skip,a.small-link,button,button.small{min-width:44px}button{border-radius:var(--radius-pill)}button.link{color:var(--accent)}button:hover:not(:disabled){filter:brightness(.94)}button.recording{color:var(--bg)}input[type=number],input[type=password],input[type=search],input[type=text],input[type=url],select,textarea{min-width:0;border:1px solid var(--line);border-radius:16px;background:var(--accent-soft);color:var(--ink);padding:12px 14px;font:inherit}input[type=search]{width:100%}input[type=file]{max-width:100%;font:inherit;color:var(--muted)}input::-webkit-file-upload-button{min-height:44px;margin-right:12px;padding:8px 14px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--ink);font:inherit;cursor:pointer}input::file-selector-button{min-height:44px;margin-right:12px;padding:8px 14px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--ink);font:inherit;cursor:pointer}select option{background:var(--surface);color:var(--ink)}h1{font-size:clamp(1.875rem,3.4vw,2.875rem);font-weight:650;letter-spacing:-.03em;text-wrap:balance}h2,h3{letter-spacing:-.01em}.top{position:relative;z-index:40;max-width:1240px;margin:28px auto;padding:0;border:0;background:transparent;gap:16px;flex-wrap:nowrap}.top a.brand{white-space:nowrap;gap:10px;min-height:44px;font-size:15px;font-weight:600;letter-spacing:-.01em}.header-actions,.top a.brand{display:flex;align-items:center}.header-actions{gap:8px}.new-lesson-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;font-size:14px;white-space:nowrap;box-shadow:0 8px 24px rgb(0 0 0/.18)}.app-frame{display:flex;align-items:flex-start;gap:22px;max-width:1240px;margin:0 auto 48px}.app-frame>main{position:relative;isolation:isolate;flex:1 1;min-width:0;width:100%;max-width:none;margin:0;padding:44px 48px 110px;border-radius:var(--radius-window);border:1px solid var(--glass-edge);box-shadow:inset 0 1px 0 var(--glass-highlight),var(--glass-shadow)}.app-frame>main:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;background:var(--glass)}.section-nav{position:-webkit-sticky;position:sticky;top:28px;display:flex;flex-direction:column;gap:6px;flex:0 0 auto;margin-top:120px;padding:8px;border-radius:32px;background:var(--glass-nav);border:1px solid var(--glass-edge);box-shadow:inset 0 1px 0 var(--glass-highlight),var(--ornament-shadow);z-index:50}.section-link{position:relative;display:grid;place-items:center;width:52px;height:52px;border-radius:var(--radius-pill);color:var(--muted);text-decoration:none}.section-link:hover{background:var(--accent-soft);color:var(--ink)}.section-link[aria-current=page]{color:var(--accent-ink);background:var(--accent);box-shadow:0 6px 18px rgb(0 0 0/.18)}.section-badge{position:absolute;top:2px;right:0;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--accent);color:var(--accent-ink);font-size:11px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;outline:2px solid var(--opaque)}.section-link[aria-current=page] .section-badge{background:var(--accent-ink);color:var(--accent)}.header-settings{display:none}.skip-link{position:fixed;top:8px;left:16px;transform:translateY(-150%);padding:10px 16px;border-radius:20px;background:var(--surface);z-index:100}.skip-link:focus{transform:none}.mini-player{width:min(760px,calc(100vw - 160px));border-radius:var(--radius-pill);background:var(--glass-sheet);border-color:var(--glass-edge);box-shadow:inset 0 1px 0 var(--glass-highlight),var(--ornament-shadow)}.icon-round{width:44px;height:44px}dialog.modal.new-lesson-sheet{width:min(860px,calc(100vw - 32px));max-height:calc(100dvh - 48px);padding:30px 34px;border-radius:var(--radius-window);background:var(--glass-sheet);border:1px solid var(--glass-edge);box-shadow:inset 0 1px 0 var(--glass-highlight),var(--sheet-shadow);overscroll-behavior:contain}dialog.modal::-webkit-backdrop{background:rgb(5 6 10/.55)}dialog.modal::backdrop{background:rgb(5 6 10/.55)}body:has(dialog[open]) .section-nav{z-index:0}.modal-head{gap:16px;margin-bottom:20px}.modal-head h2{font-size:30px;line-height:1.2;font-weight:650;letter-spacing:-.03em;margin:0}.sheet-close{display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:50%;color:var(--ink);flex-shrink:0}.sheet-close,.source-tabs{background:var(--accent-soft)}.source-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:4px;gap:4px;padding:4px;margin-bottom:22px;border-radius:18px;border:1px solid var(--line)}.textbook-form,.textbook-lesson{min-width:0;overflow-wrap:anywhere}.textbook-form input,.textbook-form textarea,.textbook-question input{width:100%;box-sizing:border-box;min-width:0;font-size:16px}.textbook-nav{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.textbook-nav button{min-height:44px;max-width:100%;white-space:normal}.textbook-question{margin:16px 0}.textbook-question input{margin:12px 0}.textbook-choices{display:grid;grid-gap:8px;gap:8px;margin:12px 0}.textbook-choices button{white-space:normal;overflow-wrap:anywhere;min-width:0;min-height:44px;text-align:left}.textbook-explanation{white-space:pre-wrap;line-height:1.7}.textbook-lesson details summary{cursor:pointer;min-height:44px;padding:12px 0}@media (max-width:480px){.new-lesson-sheet .source-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}.source-tabs button{min-height:46px;padding:8px;border-radius:14px;background:transparent;color:var(--ink);font-size:15px}.source-tabs button[aria-selected=true]{background:var(--accent);color:var(--accent-ink)}.podcast-panel{display:flex;flex-direction:column;gap:18px}.own-panel[hidden],.podcast-panel[hidden]{display:none}.podcast-panel .card{margin:0;padding:20px;border-radius:24px}.podcast-panel .podcast-directory{order:-1}.podcast-panel .hits{background:var(--reading);border-radius:20px}.podcast-panel .episode{overflow-wrap:anywhere}.own-material-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:14px;gap:14px}.audio-upload{display:flex;flex-direction:column;justify-content:center;gap:12px;margin:12px 0 0;padding:18px;border:1px dashed var(--line);border-radius:24px;background:var(--reading)}.own-material-details{min-width:0}.own-material-options{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:12px;gap:12px}.own-panel textarea{background:var(--reading);border-radius:20px}.own-panel .form-actions{justify-content:flex-end;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.episode .row,.feed-head,.hit{min-width:0}.feed-head{flex-wrap:wrap}.feed-toggle{min-width:0;flex-basis:200px}.episode .row,.hit{flex-wrap:wrap!important}.episode .row>div,.hit>*{min-width:0}.episode .row>div{flex:1 1 180px}.podcast-panel input[style]{min-width:min(200px,100%)!important}mark.vault-mark{background:var(--accent-soft);border-color:var(--accent)}.exam-result,.exam-source{background:var(--reading);border-radius:26px}.exam-gap-popup,.term-pop,.viz-tip{background:var(--surface)}.term-pop{max-width:calc(100vw - 24px)}@supports (((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px))){.app-frame>main:before{backdrop-filter:blur(var(--glass-blur)) saturate(160%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(160%)}.mini-player,.section-nav{backdrop-filter:blur(40px) saturate(170%);-webkit-backdrop-filter:blur(40px) saturate(170%)}dialog.modal.new-lesson-sheet{backdrop-filter:blur(70px) saturate(170%);-webkit-backdrop-filter:blur(70px) saturate(170%)}}@supports not (((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px))){.app-frame>main:before,.mini-player,.phase-nav,.section-nav,dialog.modal.new-lesson-sheet{background:var(--opaque)}.card,.exam-result,.exam-source{background:var(--surface)}}@media (prefers-reduced-transparency:reduce){.app-frame>main:before,.mini-player,.phase-nav,.section-nav,dialog.modal.new-lesson-sheet{background:var(--opaque);backdrop-filter:none;-webkit-backdrop-filter:none}.card,.exam-result,.exam-source{background:var(--surface)}}@media (max-width:1304px){.app-frame,.top{margin-inline:32px}}@media (min-width:1000px){.mini-player{left:calc(50% + 46px)}.exam-split-answers .exam-options label{min-height:44px}}@media (max-width:999px){.top{margin:max(14px,env(safe-area-inset-top)) 20px 20px;gap:8px}.app-frame{display:block;margin:0 16px calc(180px + env(safe-area-inset-bottom))}.app-frame>main{padding:30px 24px 50px;border-radius:30px}.section-nav{position:fixed;top:auto;bottom:calc(12px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);flex-direction:row;justify-content:space-around;gap:2px;margin:0;width:min(390px,calc(100% - 32px));height:var(--bottom-nav-height);padding:8px;border-radius:var(--radius-pill)}.section-link{width:48px;height:52px;flex-shrink:0}.section-nav .nav-settings{display:none}.header-settings{display:grid;width:44px;height:44px;background:var(--glass-nav);border:1px solid var(--glass-edge);color:var(--ink)}.mini-player{bottom:calc(var(--bottom-nav-height) + 24px + env(safe-area-inset-bottom));width:min(760px,calc(100vw - 32px))}.new-lesson-btn{padding-inline:14px}}@media (max-width:480px){.top{margin-inline:16px}.top a.brand{font-size:13px;line-height:1.25}.brand-short{max-width:none}.app-frame{margin-inline:8px}.app-frame>main{padding:26px 16px 40px;border-radius:26px}.card{padding:16px;border-radius:26px}.new-lesson-btn{padding-inline:12px;font-size:13px;gap:4px}.new-lesson-btn svg{width:14px}dialog.modal.new-lesson-sheet{padding:22px 16px;border-radius:30px;max-height:calc(100dvh - 24px)}.source-tabs button{font-size:13px}.podcast-panel .card{padding:16px}.own-material-grid{grid-template-columns:minmax(0,1fr)}.audio-upload{min-height:130px}.feed-head{gap:8px}.feed-toggle{flex-basis:100%}.mini-player input[type=range]{min-width:20px}}@media print{.app-frame>main:before,.header-actions,.mini-player,.section-nav,.skip-link,body:before{display:none!important}.app-frame{display:block;margin:0}.app-frame>main{padding:0;background:white;color:black;box-shadow:none;border:0;-webkit-backdrop-filter:none;backdrop-filter:none}}.lesson-view{min-width:0;overflow-wrap:anywhere}.lesson-header h1{max-width:22ch;line-height:1.08}.lesson-summary{max-width:62ch;margin:16px 0 0;font-size:18px;line-height:1.55}.lesson-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:18px 0;font-size:13px}.lesson-meta a{display:inline-flex;align-items:center;min-height:44px}.lesson-header .chip{padding:7px 14px;font-size:13px}.lesson-view .card{border:0;padding:30px 36px;margin-block:22px}.lesson-view .card .card{padding:16px 0;background:transparent;border-radius:0}.lesson-view .card>.phase-tag{display:inline-block;margin-bottom:8px;font-size:13px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--muted)}.lesson-view .vocab{border:0;padding:12px 0;margin:0;border-bottom:1px solid var(--line)}.lesson-view .feedback,.lesson-view .quote{max-width:66ch}.lesson-view .feedback{border:0;border-radius:16px;background:var(--accent-soft)}.lesson-view .row>*,.lesson-view .show-bounds{min-width:0}.lesson-view .show-bounds .row{flex-wrap:wrap!important}.lesson-view .phase-nav{display:block;overflow:visible;margin:36px 0 22px;padding:20px 24px;border:1px solid var(--glass-edge);border-radius:26px;background:var(--glass-sheet);backdrop-filter:blur(40px) saturate(170%);-webkit-backdrop-filter:blur(40px) saturate(170%)}.phase-route-heading{display:flex;justify-content:space-between;gap:16px;margin-bottom:18px;font-size:13px;font-weight:600}.phase-route-heading .phase-count{padding:0;font-weight:400}.phase-stations{position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:4px;gap:4px}.phase-stations:before{content:"";position:absolute;top:11px;left:7%;right:7%;height:2px;background:var(--line)}.lesson-view .phase-chip{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;min-width:44px;padding:0 0 4px;border:0;background:transparent;color:var(--muted);font-size:13px;text-align:center;white-space:normal}.lesson-view .phase-long{display:inline}.phase-dot{display:grid;place-items:center;flex-shrink:0;width:22px;height:22px;border:2px solid var(--muted);border-radius:50%;background:var(--opaque);color:var(--ink)}.lesson-view .phase-chip.current{color:var(--ink);font-weight:600;background:transparent}.phase-chip.current .phase-dot{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);box-shadow:0 0 0 6px var(--accent-soft)}.phase-chip.done .phase-dot{border-color:var(--good);color:var(--good)}.phase-chip.done.current .phase-dot{color:var(--accent-ink);border-color:var(--accent)}.transcript-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.transcript-heading h2{margin:0;font-size:17px}.vault-legend{display:flex;flex-wrap:wrap;gap:16px;font-size:13px}.lesson-view mark.vault-mark{background:var(--accent-soft);border:0;-webkit-text-decoration:underline dotted var(--muted);text-decoration:underline dotted var(--muted);text-decoration-thickness:1.5px;text-underline-offset:4px;border-radius:5px;padding:1px 3px}.lesson-view mark.vault-mark.other{background:transparent;-webkit-text-decoration-style:dashed;text-decoration-style:dashed}.vault-legend mark.vault-mark{cursor:default}.lesson-view .transcript,.untimed-transcript{max-width:66ch;margin-inline:0;font-size:18px;line-height:1.7}.lesson-view .transcript{max-height:65vh;max-height:65dvh;overscroll-behavior:contain;scrollbar-color:var(--muted) transparent;scrollbar-width:thin;padding-inline:12px;margin-inline:-12px}.lesson-view .transcript p{min-height:44px;margin:0 -12px 6px;padding:6px 12px;border-radius:14px}.lesson-view .transcript p.active{color:var(--ink);background:var(--accent-soft)}.transcript-help{font-size:13px;margin:22px 0 0}.lesson-view .show-bounds{margin:0 0 18px}.lesson-view .show-bounds:has(.audio-options:not([open])) .timeline{display:none}.lesson-view .audio-options>summary{font-size:13px;color:var(--muted)}.lesson-view .mini-player{gap:10px;padding:10px 14px}.lesson-view .mini-player .mini-skip{display:grid;place-items:center;width:44px;height:44px;padding:0;color:var(--ink)}.lesson-view .mini-player .icon-round{display:grid;place-items:center;width:48px;height:48px}.lesson-view .mini-player input[type=range]{width:100%;min-width:20px;margin:0;padding:0;cursor:pointer}.lesson-view .mini-player .mini-volume{flex:0 0 72px;width:72px;min-height:44px}.lesson-view .mini-player select{width:68px;flex-shrink:0;border-radius:var(--radius-pill)}.suggested{display:block}.suggested-podcast{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.suggested-podcast>div{flex:1 1;min-width:0;overflow-wrap:anywhere}.suggested-podcast strong{font-size:15px;font-weight:600}.suggested-podcast small{display:block;margin-top:2px;font-size:13px}.suggested-podcast button{flex-shrink:0}@media (min-width:1000px){.header-actions .header-settings{display:none!important}}@media (max-width:999px){.lesson-view .phase-nav{padding:14px 12px}.phase-route-heading{margin-bottom:12px}.phase-stations{display:flex;overflow-x:auto;scrollbar-width:none;gap:8px;padding:2px}.phase-stations::-webkit-scrollbar{display:none}.phase-stations:before{display:none}.lesson-view .phase-chip{flex:0 0 auto;flex-direction:row;gap:6px;padding:0 16px;border:1px solid var(--line);background:var(--accent-soft);white-space:nowrap}.phase-dot{width:16px;height:16px;border-width:1px}.phase-chip:not(.done) .phase-dot{display:none}.lesson-view .phase-chip.current{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.phase-chip.current .phase-dot{box-shadow:none}}@media (max-width:767px){.lesson-view .mini-player .mini-volume{display:none}}@media (max-width:560px){.lesson-view .card{padding:22px 16px}.lesson-header h1{font-size:30px}.lesson-summary{margin-top:10px;font-size:15px;line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.lesson-meta{flex-wrap:nowrap;gap:6px;margin:8px 0 0;font-size:12.5px;white-space:nowrap}.lesson-meta a,.lesson-meta>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.lesson-meta a{display:block;white-space:nowrap;line-height:44px}.lesson-meta>span{flex-shrink:0}.lesson-header>.chips,.lesson-meta-series{display:none}.lesson-view .phase-nav{margin-top:18px}.lesson-view .transcript-heading{gap:8px;margin-bottom:12px}.lesson-view .vault-legend{gap:10px;font-size:12px}.lesson-view .transcript{font-size:17px;line-height:1.65}.lesson-view .mini-player{display:grid;grid-template-columns:44px 48px 44px minmax(0,1fr) 44px 64px;grid-gap:4px;gap:4px;padding:8px 10px;border-radius:30px}.lesson-view .mini-player .mini-track{grid-column:4;grid-row:1}.lesson-view .mini-track>.row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:0 2px!important;gap:0 2px!important}.lesson-view .mini-track input[type=range]{grid-column:1/-1;grid-row:1;height:24px;min-height:44px;margin-block:-10px 0}.lesson-view .mini-track .mini-time{grid-row:2;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:11.5px}.lesson-view .mini-track .mini-time:last-child{text-align:right}.lesson-view .mini-player .mini-volume{display:none}.lesson-view .mini-player .mini-mute{grid-column:5;grid-row:1}.lesson-view .mini-player select{grid-column:6;grid-row:1;width:64px}.lesson-view .mini-player>button:last-child{display:none}.lesson-view .mini-player .mini-time{flex-shrink:0}.app-frame:has(.lesson-view){margin-bottom:calc(180px + env(safe-area-inset-bottom))}}@supports not (((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px))){.lesson-view .phase-nav{background:var(--opaque)}}@media (prefers-reduced-transparency:reduce){.lesson-view .phase-nav{background:var(--opaque);backdrop-filter:none;-webkit-backdrop-filter:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.lesson-view .card{padding:16px 0}.lesson-view .transcript{max-height:none;overflow:visible}}.segmented{display:flex;flex-wrap:wrap;gap:4px;padding:4px;width:-moz-fit-content;width:fit-content;max-width:100%;border:1px solid var(--line);border-radius:24px;background:var(--accent-soft)}.segmented button{min-height:44px;padding:8px 16px;background:transparent;color:var(--ink);border:0;font-size:14px;font-weight:500}.segmented button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);font-weight:600}.exam-unit-card,.glass-panel,.review-banner{background:var(--glass);border:1px solid var(--glass-edge);border-radius:var(--radius-panel);box-shadow:inset 0 1px 0 var(--glass-highlight)}.review-banner{padding:22px 26px;margin:28px 0}.review-banner strong{font-size:18px}.review-banner-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 18px;border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-ink)}.lesson-list-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:40px 0 18px}.lesson-list-heading h2{margin:0;font-size:22px;font-weight:600}.lesson-list-heading h2 span{font-size:15px;font-weight:400}.lesson-filters{margin:0 0 0 auto}.lesson-list{list-style:none;margin:0;padding:6px;background:var(--reading);border:1px solid var(--line);border-radius:28px}.lesson-row{display:flex;align-items:center;gap:20px;border-radius:22px;padding:18px 20px;color:var(--ink);text-decoration:none}.lesson-row:hover{background:var(--accent-soft)}.lesson-row-copy{flex:1 1;min-width:0}.lesson-row h3{margin:0;font-size:19px;font-weight:600}.lesson-row-meta{margin-top:8px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:13px;color:var(--muted)}.lesson-row>svg{flex-shrink:0;color:var(--muted)}.lesson-thumbnail{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;box-sizing:border-box;overflow:hidden;border-radius:13px;background:var(--glass);border:1px solid var(--glass-edge);box-shadow:inset 0 1px 0 var(--glass-highlight),0 4px 12px var(--accent-soft);color:var(--muted);font-size:14px;font-weight:600}.lesson-thumbnail img{display:block;width:100%;height:100%;object-fit:cover}.lesson-row h3,.lesson-row-meta{overflow-wrap:anywhere}.lesson-row-meta .chip{max-width:100%}.lesson-mini-route{flex:0 0 auto;display:grid;justify-items:end;grid-gap:10px;gap:10px;color:var(--muted);font-size:12px;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lesson-route-dots{display:flex;gap:6px;padding:3px}.lesson-route-dot{width:9px;height:9px;box-sizing:border-box;border-radius:50%;border:1px solid var(--muted)}.lesson-route-dot.done{border-color:var(--good);background:var(--good)}.lesson-route-dot.current{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.lesson-search{position:relative;margin-bottom:18px}.lesson-search input{box-sizing:border-box;width:100%;min-height:44px;padding:12px 90px 12px 14px;border:1px solid var(--line);border-radius:16px;background:var(--accent-soft);color:var(--ink);font:inherit}.lesson-search kbd{position:absolute;right:14px;top:50%;transform:translateY(-50%);pointer-events:none;padding:2px 8px;border:1px solid var(--line);border-radius:6px;font:inherit;font-size:12px;color:var(--muted)}.review-banner .review-banner-copy .muted strong{font-size:inherit;color:var(--ink)}.review-streak{display:inline-block;margin-top:6px;color:var(--muted);font-size:13px}.section-tooltip{display:none}@media (min-width:1000px){.section-tooltip{position:absolute;left:calc(100% + 18px);top:50%;transform:translateY(-50%);padding:8px 14px;border-radius:16px;border:1px solid var(--glass-edge);background:var(--glass-sheet);box-shadow:inset 0 1px 0 var(--glass-highlight),var(--ornament-shadow);backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);color:var(--ink);font-size:14px;font-weight:500;white-space:nowrap;pointer-events:none}.section-link:focus-visible .section-tooltip,.section-link:hover .section-tooltip{display:block}}@media (max-width:700px){.lesson-row{display:grid;grid-template-columns:52px minmax(0,1fr);grid-gap:10px 12px;gap:10px 12px;padding:16px 12px}.lesson-thumbnail{align-self:start}.lesson-mini-route{grid-column:2;justify-self:start;justify-items:start}.lesson-row .lesson-row-chevron{display:none}}@media (max-width:999px){.lesson-search kbd{display:none}.lesson-search input{padding-right:14px}}@supports not (((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px))){.lesson-thumbnail,.section-tooltip{background:var(--opaque)}}@media (prefers-reduced-transparency:reduce){.lesson-thumbnail,.section-tooltip{background:var(--opaque);backdrop-filter:none;-webkit-backdrop-filter:none}}.review-progress{flex-wrap:wrap;max-width:740px;margin:30px auto 18px;font-size:13px}.review-marks{flex-basis:100%;display:flex;gap:4px;height:8px}.review-marks span{flex:1 1;min-width:0;border-radius:4px;background:var(--line)}.review-marks .complete{background:var(--accent)}.review-marks.continuous{gap:0;overflow:hidden;background:var(--line);border-radius:4px}.review-marks.continuous span{flex:none}.review-card{max-width:740px;min-height:360px;margin:0 auto 28px;padding:32px}.review-term{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;font-size:clamp(26px,4vw,38px);margin:44px 0 28px;text-align:center}.review-term>.muted{font-size:15px;font-weight:400}.review-term .term-actions{flex-basis:100%;justify-content:center;margin:6px 0 0}.review-prompt{text-align:center;font-size:22px;margin-block:36px}.review-card>.row:last-of-type{justify-content:center}.review-back{max-width:64ch;margin-inline:auto;border-top-style:solid}.review-back .quote{border:0;background:var(--reading);border-radius:18px;padding:18px}button.grade{border-radius:var(--radius-pill);background:var(--accent-soft);padding:12px}button.grade:hover:not(:disabled){background:var(--accent);color:var(--accent-ink)}button.grade:hover:not(:disabled) small{color:inherit}.term-actions{flex-wrap:wrap;max-width:100%}.term-actions button.small,a.small-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:44px;padding:8px 12px;font-size:13px;border-radius:var(--radius-pill);color:var(--ink)}.vault-filters{margin:28px 0 20px}.vault-filters>input{width:100%}.vault-filters .row{align-items:center}.vault-filters select{flex:1 1 180px;min-width:0;width:100%}.vault-list{margin-top:24px}.vault-card{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding:24px 0;margin:0;overflow-wrap:anywhere}.vault-head{cursor:default;align-items:flex-start}.vault-head>div{min-width:0;flex:1 1}.vault-head strong{font-size:19px}.vault-head .muted{line-height:1.65}.vault-head .term-actions{margin-block:8px}.vault-toggle{flex-shrink:0}.exam-unit-list{gap:12px}.exam-unit-card{padding:24px 26px}.exam-unit-card h2{font-size:22px}.exam-unit-card p:last-child{margin-bottom:0}.exam-exercise{border:0;padding:26px;border-radius:var(--radius-panel);background:var(--reading)}.exam-exercise>header h2{font-size:22px}.exam-options,.exam-part-options{display:flex;flex-wrap:wrap}.exam-gap-popup button,.exam-options label,.exam-part-options button,.exam-part-options label{border-radius:24px;background:var(--accent-soft)}.exam-gap-popup button.selected,.exam-options label:has(input:checked),.exam-part-options button.selected,.exam-part-options label:has(input:checked){background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.exam-options input,.exam-part-options input{accent-color:var(--accent-ink)}.exam-gap-button{border-radius:18px}.exam-gap-popup{border-radius:24px;padding:10px}.exam-source{line-height:1.8}.progress-dashboard .stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:0;gap:0;margin:28px 0;background:var(--accent-soft);border:1px solid var(--line);border-radius:26px;overflow:hidden}.progress-dashboard .stat{display:flex;flex-direction:column;gap:6px;border:0;border-radius:0;background:transparent;padding:20px}.progress-dashboard .stat+.stat{border-left:1px solid var(--line)}.progress-dashboard .stat-label{order:-1;font-size:13px;font-weight:500;color:var(--muted);margin:0}.progress-dashboard .stat-value{font-size:20px;font-weight:600;line-height:1.4}.progress-dashboard .stat-sub{font-size:13px}.progress-dashboard .card{background:var(--reading);border:0;padding:24px 26px}.progress-dashboard h2{font-size:19px}.progress-dashboard .balance-row{padding:10px 0;border-top:1px solid var(--line)}.progress-dashboard .balance-nudge{border-color:var(--line);background:var(--accent-soft);border-radius:18px}.empty-state{border:0;background:var(--accent-soft);border-radius:18px;padding:18px}.settings-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px;align-items:start;margin-top:28px}.settings-group{min-width:0;padding:24px 26px;border-radius:var(--radius-panel);background:var(--reading)}.settings-group h2{font-size:17px;margin-top:0}.settings-wide{grid-column:1/-1}.settings-group>label:has(input[type=radio]){min-height:52px;padding-block:12px;border-top:1px solid var(--line);margin:0}.settings-group input[type=radio]{flex-shrink:0;width:20px;height:20px;accent-color:var(--accent)}.settings-group .diff-ok{color:var(--muted)}.key-row{padding:16px 0}.key-row .row{gap:8px}.key-row .row input{flex-basis:100%!important}.settings-voice-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,140px);grid-gap:12px;gap:12px}.settings-live-fields{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.settings-group input,.settings-group select{max-width:100%}label:has(input[type=checkbox]),label:has(input[type=radio]){min-height:44px;min-width:44px;align-content:center}a.button-link,a.small-link{box-sizing:border-box}a.button-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:8px 16px;border-radius:var(--radius-pill);background:var(--accent-soft);text-decoration:none}@media (min-width:1000px){.exam-exercise-index{display:flex;gap:4px;padding:8px;margin:22px 0;border-radius:var(--radius-pill);background:var(--glass-nav);border:1px solid var(--glass-edge)}.exam-exercise-index a{flex:1 1;align-items:center;min-width:44px;min-height:44px;padding:0;border:0;border-radius:var(--radius-pill);font-size:13px}.exam-exercise-index a[aria-current=step]{background:var(--accent);color:var(--accent-ink)}.exam-exercise-index a:hover{background:var(--accent-soft)}.exam-exercise-index a[aria-current=step]:hover{background:var(--accent)}}@media (max-width:999px){.settings-groups{grid-template-columns:1fr}.exam-exercise{padding:20px}}@media (max-width:600px){.review-banner{flex-direction:column;align-items:flex-start;padding:20px}.review-card{padding:22px 18px}.review-card>.row:first-child{gap:12px}.review-term{margin-top:30px}.grade-row{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-row{gap:12px}.lesson-row-meta{gap:6px 12px}.progress-dashboard .stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-dashboard .stat{padding:16px}.progress-dashboard .stat:nth-child(3){border-left:0}.progress-dashboard .stat:nth-child(n+3){border-top:1px solid var(--line)}.progress-dashboard .card,.settings-group{padding:20px 18px}.settings-live-fields,.settings-voice-fields{grid-template-columns:1fr}.settings-group .segmented{width:100%}.settings-group .segmented button{flex:1 1;padding-inline:10px}.vault-head{flex-wrap:wrap}.vault-head>div{flex-basis:100%}.vault-head .term-actions{display:flex;margin-left:0}.exam-exercise{padding:20px 14px}.exam-options label,.exam-part-options label{width:auto;max-width:100%}.exam-split-answers .exam-options label{min-height:44px}}@supports not (((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px))){.exam-unit-card,.glass-panel,.review-banner{background:var(--opaque)}}@media (prefers-reduced-transparency:reduce){.exam-unit-card,.glass-panel,.review-banner{background:var(--opaque)}.exam-exercise,.progress-dashboard .card,.settings-group{background:var(--surface)}}.vault-filters input[type=search]{box-sizing:border-box;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:var(--accent-soft);color:var(--ink);font:inherit}.lesson-view label:has(input[type=checkbox]){display:inline-flex;align-items:center;gap:8px;padding-block:8px}.balance-nudge a,.balance-value a,.lesson-view .card>p>a,.review-back p>a,.vault-card p>a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}.video-lesson-player{min-width:0}.video-player-slot{position:relative;width:100%;aspect-ratio:16/9;min-height:200px}.video-player-frame{position:absolute;inset:0;width:100%;height:100%;border-radius:18px;background:var(--opaque);box-shadow:inset 0 0 0 1px var(--glass-edge),inset 0 1px 0 var(--glass-highlight)}.video-player-mount{position:relative;overflow:hidden;border-radius:inherit}.video-player-mount,.video-player-mount iframe{display:block;width:100%;height:100%;border:0}.video-player-mount iframe{position:absolute;inset:0}.video-player-frame.is-floating{position:fixed;inset:auto 16px auto auto;z-index:60;top:max(12px,env(safe-area-inset-top));width:356px;height:auto;border-radius:18px;background:transparent;box-shadow:var(--glass-shadow)}.video-player-frame.is-floating .video-player-mount{width:356px;height:200px;overflow:hidden;border-radius:18px;background:var(--opaque);box-shadow:inset 0 0 0 1px var(--glass-edge)}.video-floating-actions{display:flex;justify-content:space-between;gap:8px;padding-top:8px}.video-floating-actions button{min-height:44px;padding:8px 14px;background:var(--glass);border:1px solid var(--glass-edge);color:var(--ink);box-shadow:inset 0 1px 0 var(--glass-highlight);backdrop-filter:blur(20px) saturate(135%);-webkit-backdrop-filter:blur(20px) saturate(135%)}.video-player-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin-top:10px}.video-player-controls label{display:flex;align-items:center;gap:8px;min-height:44px;margin:0}.video-player-controls select{min-width:76px;border-radius:var(--radius-pill)}.video-play-button,.video-player-controls select{min-height:44px}.video-youtube-link{display:inline-flex;align-items:center;min-height:44px}.video-player-status{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin-top:8px;padding:8px 12px;border:1px solid var(--line);border-radius:16px;background:var(--accent-soft)}.video-player-status button{flex:none}.video-transcript p[role=button]{min-height:44px;box-sizing:border-box}@media (max-width:560px){.video-player-frame.is-floating{top:max(0px,env(safe-area-inset-top));right:auto;left:0;width:100vw;height:auto;border-radius:0}.video-player-frame.is-floating .video-player-mount{width:100vw;height:auto;min-height:200px;aspect-ratio:16/9;border-radius:0}.video-player-controls{align-items:stretch}.video-player-controls label,.video-youtube-link{flex:1 1 auto}.video-player-status{align-items:flex-start}}@supports not (((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px))){.video-floating-actions button{background:var(--opaque)}}@media (prefers-reduced-transparency:reduce){.video-floating-actions button{background:var(--opaque);backdrop-filter:none;-webkit-backdrop-filter:none}}@media (min-width:1000px){.progress-dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px}.progress-dashboard>.stat-row,.progress-dashboard>.two-col,.progress-dashboard>p,.progress-dashboard>section:first-of-type,.progress-dashboard>section:nth-of-type(2){grid-column:1/-1}.progress-dashboard>.card,.progress-dashboard>.stat-row{margin:0}.progress-dashboard>.stat-row{margin-top:28px}.progress-dashboard>section:nth-of-type(3){grid-column:1;grid-row:4}.progress-dashboard>section:nth-of-type(4){grid-column:2;grid-row:4}.progress-dashboard>.two-col{grid-row:5}}.inline-icon{display:inline-block;flex-shrink:0;vertical-align:-.15em}.brand-tile{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:9px;background:var(--glass-nav);border:1px solid var(--glass-edge);box-shadow:inset 0 1px 0 var(--glass-highlight)}.review-tile{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:16px;background:var(--accent-soft)}.review-banner-copy{flex:1 1;min-width:0}@media (max-width:560px){.top{margin-inline:12px}.top a.brand{gap:6px}.header-actions{gap:4px}.new-lesson-btn{padding-inline:10px}.lesson-list-heading{align-items:flex-start;flex-direction:column}.lesson-filters{margin-left:0;max-width:100%}}input[type=password]{border-radius:14px}.feed-toggle .chevron{display:inline-flex;flex-shrink:0}.feed-toggle .chevron.expanded svg{transform:rotate(90deg)}.exam-option-letter{font-size:13px;font-weight:700;flex-shrink:0}@media (max-width:480px){.review-banner .review-tile{display:none}.review-banner{gap:8px;padding:12px 16px}.review-banner-copy{line-height:1.4}.review-banner strong{font-size:16px}.review-banner-copy .muted{font-size:13px!important;line-height:1.4}}.youtube-lesson{min-width:0}.youtube-lesson textarea,.youtube-lesson>input{width:100%;min-width:0;box-sizing:border-box}.youtube-lesson>.focus-pick{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.youtube-lesson select{min-height:44px}.youtube-preview{display:flex;align-items:flex-start;gap:18px;margin:20px 0;overflow-wrap:anywhere}.youtube-preview img{width:160px;max-width:38%;height:auto;border-radius:16px}.youtube-preview>div{min-width:0}.youtube-preview p{margin:6px 0}.youtube-job{margin-top:20px;overflow-wrap:anywhere}.youtube-job progress{width:100%;display:block;margin:12px 0}.youtube-job a,.youtube-lesson a.button{display:inline-flex;align-items:center;min-height:44px}.new-lesson-sheet .source-tabs button{min-width:44px;white-space:normal}@media (max-width:480px){.new-lesson-sheet .source-tabs button{padding:8px 6px;font-size:12px}.youtube-preview{gap:12px}}.phase-route-heading{flex-wrap:wrap;align-items:center}.lesson-completion,.lesson-filters button{min-height:44px;min-width:44px}.lesson-filters,.review-mode{flex-wrap:wrap}.review-mode{display:flex;gap:8px;margin:16px 0;align-items:center}.review-choices button,.review-mode button,.review-typed button,.review-typed input{min-height:44px;max-width:100%}.review-mode [aria-pressed=true]{outline:2px solid currentColor;outline-offset:2px}.review-typed{min-width:0;margin-top:16px}.review-typed input{width:100%;box-sizing:border-box;min-width:0}.review-choices{display:grid;grid-gap:10px;gap:10px;margin-top:16px;min-width:0}.review-choices button{white-space:normal;overflow-wrap:anywhere;text-align:left}.grade.proposed{outline:3px solid currentColor;outline-offset:3px}.idioms-page{min-width:0;overflow-wrap:anywhere}.idioms-back{display:inline-flex;align-items:center;min-height:44px;margin-bottom:16px}.idioms-stats{display:flex;flex-wrap:wrap;gap:12px 28px;margin:24px 0 32px;padding:18px 22px;background:var(--accent-soft);border-radius:26px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.idioms-regions{display:grid;grid-gap:0;gap:0}.idioms-region{padding:22px 0;border-top:1px solid var(--line);min-width:0}.idioms-region>p{margin:0}.idioms-region h2{margin-bottom:12px}.idioms-expressions,.idioms-levels{list-style:none;margin:0;padding:0}.idioms-levels{background:var(--reading);border-radius:28px;padding:8px}.idioms-levels li>a,.idioms-levels li>div{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:14px 18px;border-radius:22px;color:inherit;text-decoration:none}.idioms-levels li>a:hover{background:var(--accent-soft)}.idioms-level-meta{display:flex;flex-wrap:wrap;gap:4px 16px;color:var(--muted);font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.idioms-panel{margin:24px 0;background:var(--reading);border-radius:var(--radius-panel);padding:24px 26px;min-width:0}.idioms-expressions li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-top:1px solid var(--line)}.idioms-expressions li>:last-child{flex-shrink:0;color:var(--muted);font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.idioms-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.idioms-page button{min-width:44px;min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere}.idioms-page button:disabled{cursor:default}.idioms-game-stats{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid var(--line);font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.idioms-prompt{font-size:20px;line-height:1.55;margin:18px 0 24px;max-width:66ch}.idioms-options{display:grid;grid-gap:12px;gap:12px}.idioms-page .idioms-option{background:var(--accent-soft);color:var(--ink);text-align:left;padding:12px 18px;font-weight:500;border:1px solid transparent}.idioms-page .idioms-option[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.idioms-page .idioms-option:disabled{opacity:1}.idioms-matching{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:12px;gap:12px}.idioms-matching>div{display:flex;flex-direction:column;gap:12px;min-width:0}.idioms-matching button{width:100%;border-radius:24px;flex:1 1}.idioms-matching small{display:block;margin-top:4px;font-size:12px}.idioms-check{margin-top:24px}.idioms-sound{min-height:44px;padding-inline:14px;white-space:nowrap}.idioms-typed-answer{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:44px;margin-top:8px;font-size:16px}.idioms-error,.idioms-feedback{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.idioms-feedback h3{margin-top:0}.idioms-correct{color:var(--good)}.idioms-error,.idioms-incorrect{color:var(--bad)}.idioms-feedback ul{padding-left:20px}.idioms-feedback li{margin:6px 0}.idioms-summary{margin:24px 0}.idioms-summary>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.idioms-summary dd{margin:0;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:480px){.idioms-panel{padding:20px 16px;border-radius:26px}.idioms-levels li>a,.idioms-levels li>div{align-items:flex-start;flex-direction:column;padding:12px;gap:4px}.idioms-stats{padding:16px;gap:8px 16px}.idioms-matching{gap:8px}.idioms-page .idioms-matching .idioms-option{padding:12px}}@media (prefers-reduced-transparency:reduce){.idioms-levels,.idioms-panel{background:var(--surface)}}.idioms-regions{gap:16px}.idioms-region{border:1px solid var(--line);border-radius:16px;padding:0;background:var(--reading)}.idioms-region-heading{min-height:64px;padding:18px 22px;cursor:pointer}.idioms-region-heading h2{display:inline;font-size:20px;line-height:1.5;margin:0}.idioms-region-state{display:block;margin:6px 0 0 18px;color:var(--muted);font-size:14px}.idioms-region[open]>.idioms-region-heading{border-bottom:1px solid var(--line)}.idioms-place-map{position:relative;isolation:isolate;padding:24px;min-width:0}.idioms-landmark{display:block;width:min(100%,360px);height:auto;margin:0 auto 24px;color:var(--muted)}.idioms-stops{position:relative;list-style:none;margin:0;padding:0}.idioms-stops:before{content:"";position:absolute;top:25px;bottom:32px;left:23px;width:2px;background:var(--line);z-index:-1}.idioms-stops>li{padding:0 0 20px}.idioms-stops>li:last-child{padding-bottom:0}.idioms-stop-heading{display:flex;align-items:center;gap:14px;min-height:48px;cursor:pointer;list-style:none}.idioms-stop-heading::-webkit-details-marker{display:none}.idioms-stop-heading>span:last-child{min-width:0}.idioms-stop-heading small{display:block;color:var(--muted);margin-top:3px}.idioms-stop-number{display:grid;place-items:center;flex:0 0 46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.idioms-stops>[data-state=current] .idioms-stop-number{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);outline:2px solid var(--ink);outline-offset:4px}.idioms-stops>[data-state=passed] .idioms-stop-number{color:var(--good);border-color:var(--good)}.idioms-stops .idioms-levels{margin:12px 0 0 60px;padding:0;border-radius:0;background:transparent}.idioms-stops .idioms-levels li{border-top:1px solid var(--line)}.idioms-stops .idioms-levels li>a,.idioms-stops .idioms-levels li>div{padding:12px 0;border-radius:0}.idioms-stop-empty{margin-left:60px}.idioms-region-final{border-top:1px solid var(--line);padding:22px}.idioms-region-final p{font-size:14px;margin-bottom:0}.idioms-page summary:focus-visible{outline:2px solid var(--ink);outline-offset:4px;border-radius:8px}@media (min-width:760px){.idioms-place-map{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);grid-gap:32px;gap:32px;align-items:start}.idioms-landmark{position:-webkit-sticky;position:sticky;top:24px;margin:24px 0}}@media (max-width:480px){.idioms-region-final,.idioms-region-heading{padding:16px}.idioms-region-heading h2{font-size:18px}.idioms-place-map{padding:20px 16px}.idioms-landmark{max-width:240px}.idioms-stops .idioms-levels{margin-left:60px}}.textbook-key-expressions>div{padding:12px 0;border-bottom:1px solid var(--line)}.textbook-lesson{overflow-wrap:anywhere}.textbook-lesson .row{flex-wrap:wrap}.textbook-lesson select{max-width:100%}@media print{.textbook-print{color:#000;background:#fff;font-size:11pt;line-height:1.5;overflow-wrap:anywhere}.textbook-print section+section{page-break-before:always;break-before:page}.textbook-print h2,.textbook-print h3,.textbook-print h4{page-break-after:avoid;break-after:avoid}.textbook-print-question{page-break-inside:avoid;break-inside:avoid}.textbook-answer-lines p{height:2em;margin:0;border-bottom:1px solid #888}}.sign-in{min-height:100dvh;display:grid;place-items:center;padding:24px 16px;margin:-24px -16px -80px}.sign-in-card{width:min(100%,380px);padding:32px 28px 28px;border-radius:var(--radius-window);background:var(--glass-sheet);border:1px solid var(--glass-edge);box-shadow:inset 0 1px 0 var(--glass-highlight),var(--sheet-shadow);display:flex;flex-direction:column;text-align:center}@supports (((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px))){.sign-in-card{backdrop-filter:blur(70px) saturate(170%);-webkit-backdrop-filter:blur(70px) saturate(170%)}}.sign-in-tile{width:52px;height:52px;flex:0 0 52px;border-radius:16px;margin:0 auto 18px;color:var(--ink)}.sign-in-card h1{font-size:1.45rem;letter-spacing:-.01em}.sign-in-card p.muted{margin:0 0 22px;font-size:.95rem}.sign-in-card label{text-align:left;margin:0 0 6px;font-size:.9rem}.sign-in-card input[type=password]{padding:12px 14px;border-radius:14px;font-size:16px}.sign-in-card button{margin-top:18px;padding:12px 16px;border-radius:var(--radius-pill)}.sign-in-error{color:var(--bad);text-align:left;font-size:.9rem;margin:8px 0 0}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f639721981034f88-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b66cf8e69499582a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/aa016aab0e6d1295-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/22a5144ee8d83bca-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_8eaea4{font-family:Geist,Geist Fallback;font-style:normal}.__variable_8eaea4{--font-geist:"Geist","Geist Fallback"}