[hidden]{display:none!important}
:root{color-scheme:light;--bg:#f3f1e9;--surface:#fffcf6;--surface2:#ecebe1;--ink:#1c302c;--muted:#65736c;--line:#dce0d3;--accent:#226653;--accent-soft:#e0ece3;--gold:#bc8d39;--danger:#9a3b3b;--shadow:0 12px 36px #203a2b0a;--radius:22px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);line-height:1.55}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(27px,3.2vw,42px);line-height:1.16;letter-spacing:-1.4px;font-weight:720;margin-bottom:14px}h2{font-size:24px;letter-spacing:-.7px;line-height:1.3}h3{font-size:18px;letter-spacing:-.3px;line-height:1.35}small,.muted{color:var(--muted)}small{font-size:13px}p:last-child{margin-bottom:0}.skip{position:fixed;top:-100px;left:20px;z-index:50;background:var(--surface);padding:12px;border:2px solid var(--accent)}.skip:focus{top:16px}.sidebar{position:fixed;inset:0 auto 0 0;width:242px;background:var(--surface);border-right:1px solid var(--line);padding:32px 20px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:12px;align-items:center;font-size:23px;font-weight:350;letter-spacing:-1px;color:var(--ink);text-decoration:none!important;margin-bottom:46px}.brand small{display:block;font-size:10px;font-weight:500;letter-spacing:.1px;white-space:nowrap;margin-top:3px}.brand-icon{font-size:40px;font-weight:750;width:43px;height:48px;line-height:48px;color:var(--accent);position:relative}.brand-icon span{font-size:38px;color:var(--gold);position:absolute;right:0;top:-6px}.sidebar nav{display:grid;gap:7px}.nav-item{display:flex;align-items:center;gap:13px;border:0;background:transparent;color:var(--muted);padding:12px 14px;border-radius:13px;font-size:14px;font-weight:600;width:100%;text-align:left;min-height:48px;text-decoration:none!important}.nav-item:hover{background:var(--surface2);color:var(--ink)}.nav-item.active{background:var(--accent-soft);color:var(--accent)}.sidebar-bottom{margin-top:auto}.sidebar-bottom p{font-size:12px;line-height:1.8;border-top:1px solid var(--line);padding:22px 13px 10px;color:var(--muted)}.connection{display:block;font-size:10px;letter-spacing:.3px;color:var(--muted);padding:14px}.workspace{margin-left:242px}.topbar{height:80px;padding:0 42px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--bg)}.desktop-greeting{font-size:12px;letter-spacing:.4px;color:var(--muted)}.top-actions{display:flex;align-items:center;gap:18px}.icon-button{width:42px;height:42px;border:1px solid var(--line);background:var(--surface);border-radius:13px;display:grid;place-items:center;color:var(--ink)}.mobile-brand{display:none}main{max-width:1316px;margin:0 auto;padding:34px 42px 56px;min-height:calc(100vh - 151px)}footer{border-top:1px solid var(--line);padding:20px 42px;color:var(--muted);font-size:11px;display:flex;gap:24px;flex-wrap:wrap;max-width:1400px;margin:auto}footer span:first-child{font-weight:650;color:var(--ink);margin-right:auto}.eyebrow{font-size:11px;letter-spacing:1.4px;font-weight:700;text-transform:uppercase;color:var(--accent);margin:0 0 12px}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:28px}.page-heading p{color:var(--muted);max-width:600px}.pill{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:30px;background:var(--surface2);font-size:11px;font-weight:650;white-space:nowrap;color:var(--muted)}.pill.accent{background:var(--accent-soft);color:var(--accent)}.pill.gold{background:#efe5cf;color:#7e5c24}.primary,.secondary,.text-button{border:0;min-height:44px;padding:11px 19px;border-radius:12px;font-weight:650;font-size:14px;display:inline-flex;gap:9px;align-items:center;justify-content:center;text-decoration:none!important}.primary{background:var(--accent);color:white}.primary:hover{filter:brightness(1.07)}.secondary{background:var(--surface);color:var(--ink);border:1px solid var(--line)}.secondary:hover{background:var(--surface2)}.text-button{background:transparent;color:var(--accent);padding:9px 0}.row{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.stack{display:grid;gap:18px}.two-col{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px;align-items:start}.three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);min-width:0}.card p{font-size:14px;color:var(--muted)}.card a.primary{color:white}.hero{background:linear-gradient(90deg,#123b31ec 0%,#123b31b8 45%,#133b3130 100%),var(--season-art,url('./assets/study-autumn.png')) center 12%/cover;min-height:323px;border-radius:26px;overflow:hidden;position:relative;color:#fff;padding:36px;margin-bottom:26px;display:flex;align-items:center}.hero>div{max-width:450px}.hero .eyebrow{color:#e6c67e}.hero h2{font-size:clamp(30px,3.6vw,43px)}.hero p{color:#eeeade;max-width:355px;font-size:14px}.hero .primary{background:#f2e9cc;color:#224d3c}.hero .pill{background:#ffffff21;color:white;margin-bottom:18px}.hero .ornament{position:absolute;right:22px;bottom:16px;color:#fff8d8;opacity:.85;font-size:12px;letter-spacing:2px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:26px}.stat{padding:18px 23px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.stat strong{display:block;font-size:24px;font-weight:700;letter-spacing:-1px}.stat span{font-size:11px;color:var(--muted)}.section-head{display:flex;justify-content:space-between;align-items:center;margin:26px 0 16px;gap:15px}.section-head h2{margin:0;font-size:21px}.section-head a{font-size:13px;font-weight:600}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.course-card{display:flex;flex-direction:column;position:relative;gap:16px;transition:transform .16s,box-shadow .16s}.course-card:hover{transform:translateY(-3px);box-shadow:0 15px 32px #203a2b12}.course-top{display:flex;justify-content:space-between;align-items:start;gap:12px}.course-symbol{width:46px;height:46px;border-radius:14px;background:var(--accent-soft);display:grid;place-items:center;color:var(--accent);font-weight:700;font-size:17px;flex-shrink:0}.course-symbol svg{width:24px;height:24px}.course-card h3{margin-bottom:7px}.course-card p{font-size:12px;margin:0;min-height:35px}.course-card .course-bottom{margin-top:auto;display:grid;gap:12px}.course-card .course-bottom .row{font-size:10px;color:var(--muted)}.course-card a.stretched::after{content:"";position:absolute;inset:0;border-radius:var(--radius)}.course-card a.stretched{color:var(--ink);text-decoration:none}.course-card a:focus-visible::after{outline:3px solid var(--gold);outline-offset:3px}.progress-bar{height:5px;background:var(--surface2);border-radius:8px;overflow:hidden}.progress-bar span{display:block;height:100%;background:var(--accent);border-radius:8px}.filter-panel{display:grid;gap:17px;margin:24px 0}.search-wrap{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:0 16px}.search-wrap input{border:0;background:transparent;outline:none;padding:14px 0;width:100%;color:var(--ink);min-width:0}.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.chip{white-space:nowrap;font-size:12px;padding:9px 14px;border:1px solid var(--line);border-radius:30px;background:var(--surface);color:var(--muted);min-height:40px}.chip.active{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.breadcrumbs{display:flex;gap:7px;align-items:center;margin-bottom:24px;font-size:12px;color:var(--muted);flex-wrap:wrap}.breadcrumbs svg{width:13px;height:13px}.course-layout{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:24px;align-items:start}.course-sidebar{position:sticky;top:24px}.phase-title{margin:28px 0 12px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:1px}.lesson-row{display:flex;gap:15px;align-items:center;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:8px;color:var(--ink);text-decoration:none!important;min-height:80px}.lesson-row:hover{border-color:var(--accent)}.lesson-number{color:var(--muted);width:25px;font-size:12px;text-align:center;flex-shrink:0}.lesson-number.done{color:var(--accent)}.lesson-row h3{font-size:14px;margin:0 0 6px}.lesson-row .lesson-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:10px;color:var(--muted)}.lesson-row>svg:last-child{margin-left:auto;flex-shrink:0}.source-list{list-style:none;padding:0;margin:10px 0 0}.source-list li+li{border-top:1px solid var(--line)}.source-list a{display:block;padding:11px 0;font-size:12px;line-height:1.6}.source-list small{display:block}details{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:17px 20px}summary{font-weight:650;font-size:14px;cursor:pointer}details[open] summary{margin-bottom:15px}.prose{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;font-size:14px;color:var(--ink)}.prose p{color:var(--ink)}.lesson-shell{max-width:930px;margin:auto}.lesson-header{margin-bottom:24px}.lesson-header h1{font-size:32px}.lesson-header .row{font-size:12px;color:var(--muted)}.lesson-body{padding:32px;font-size:15px;line-height:1.85}.lesson-body h2{font-size:18px;margin-bottom:18px}.lesson-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin:24px 0}.lesson-tabs a{padding:12px 14px;font-size:13px;color:var(--muted);border-bottom:2px solid transparent;min-height:46px}.lesson-tabs a.active{border-color:var(--accent);color:var(--accent);font-weight:650}.practice-panel{margin-top:20px}.question{border-top:1px solid var(--line);padding:24px 0}.question:first-of-type{border-top:0}.question legend{font-weight:600;font-size:15px;margin-bottom:14px}.question fieldset{border:0;padding:0;margin:0;min-width:0}.option{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);padding:13px 15px;border-radius:12px;margin:8px 0;cursor:pointer;font-size:14px;background:var(--surface)}.option input{margin-top:5px;accent-color:var(--accent);flex-shrink:0}.option:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.feedback{padding:13px 16px;border-radius:12px;background:var(--surface2);font-size:13px;margin-top:13px}.feedback.correct{background:var(--accent-soft);color:var(--accent)}.feedback.incorrect{background:#f5e4dd;color:var(--danger)}.feedback strong{display:block;margin-bottom:5px}.field{display:grid;gap:7px;margin-bottom:17px;font-size:13px;font-weight:550}.field input,.field select,.field textarea,.input{width:100%;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:var(--surface);padding:12px 14px;min-height:46px}.field textarea{resize:vertical;min-height:180px;line-height:1.75;font-weight:400}.numeric-row{display:flex;gap:12px;margin-top:14px}.numeric-row input{max-width:250px}.check-row{display:flex;gap:12px;align-items:start;font-size:13px;margin:13px 0}.check-row input{accent-color:var(--accent);margin-top:5px}.lesson-actions{display:flex;justify-content:space-between;gap:12px;margin-top:26px;align-items:center;flex-wrap:wrap}.note{border-left:3px solid var(--gold);padding:3px 0 3px 16px;font-size:13px;color:var(--muted);margin:16px 0}.empty{padding:38px 24px;text-align:center;border:1px dashed var(--line);border-radius:18px;color:var(--muted)}.loading-panel{text-align:center;padding:80px 24px}.loading-panel h1{font-size:26px;margin-top:25px}.spinner{display:inline-block;width:34px;height:34px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:13px 23px;border-radius:13px;box-shadow:var(--shadow);max-width:90vw;z-index:60;font-size:13px}.storage-warning{padding:16px;background:#f3dfce;border-radius:12px;margin-bottom:22px;color:#77421c;font-size:13px}.settings-layout{max-width:820px;display:grid;gap:20px}.theme-options{display:flex;gap:9px}.theme-options button{flex:1}.theme-options button.active{border-color:var(--accent);background:var(--accent-soft)}.color-option{width:35px;height:35px;border:3px solid var(--surface);border-radius:50%;outline:1px solid var(--line)}.color-option.active{outline:2px solid var(--ink)}.noscript{margin:40px 260px;padding:20px;background:var(--surface)}.error-item{display:grid;gap:6px;padding:14px 0;border-bottom:1px solid var(--line)}.error-item small{font-size:12px}.calendar{display:flex;gap:7px;margin:15px 0;flex-wrap:wrap}.calendar span{display:grid;place-items:center;width:30px;height:36px;border-radius:8px;background:var(--surface2);color:var(--muted);font-size:10px}.calendar span.active{background:var(--accent-soft);color:var(--accent);font-weight:700}.tip-symbol{width:35px;height:35px;border-radius:10px;background:var(--surface2);display:grid;place-items:center}.badge-row{display:flex;gap:8px;flex-wrap:wrap}.subtle-link{font-size:12px}.read-more{font-size:12px;color:var(--muted)}.tab-small{font-size:12px}.audio-controls{border:1px solid var(--line);border-radius:14px;background:var(--surface2);padding:18px;margin-bottom:22px}.audio-controls select{max-width:100%;margin-bottom:12px}.speech-audio{display:block;width:100%;margin-top:15px}.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.title-line{display:flex;align-items:center;gap:12px}.title-line h2{margin:0}.settings-nav{display:none}
[data-theme=dark]{color-scheme:dark;--bg:#172724;--surface:#1e312d;--surface2:#2b3d36;--ink:#edf0e6;--muted:#a7b4a7;--line:#3a4b41;--accent:#83bea2;--accent-soft:#2e493b;--gold:#d4ad65;--danger:#f2b5ad;--shadow:0 12px 36px #00000014}[data-theme=dark] .primary{color:#162b21}[data-theme=dark] .pill.gold{background:#4b4029;color:#e1c892}[data-theme=dark] .feedback.incorrect{background:#4a302d}[data-theme=dark] .storage-warning{background:#583b27;color:#f0ccaa}[data-accent=blue]{--accent:#315d85;--accent-soft:#e2e9f1}[data-theme=dark][data-accent=blue]{--accent:#94bada;--accent-soft:#304258}[data-accent=plum]{--accent:#725675;--accent-soft:#eee5ec}[data-theme=dark][data-accent=plum]{--accent:#d0a9cf;--accent-soft:#49364a}
@media(min-width:1500px){main{padding-top:44px}.hero{min-height:370px;padding:44px}}
@media(max-width:1180px){.sidebar{width:216px;padding:28px 15px}.workspace{margin-left:216px}.brand{font-size:21px}.brand small{font-size:9px}main{padding:28px 28px 50px}.topbar{padding:0 28px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-layout{grid-template-columns:minmax(0,1fr) 260px}.two-col{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}}
@media(max-width:880px){.sidebar{width:82px;padding:24px 12px}.brand{justify-content:center;margin-bottom:32px}.brand>span:last-child,.nav-item>span,.sidebar-bottom p,.connection{display:none}.nav-item{justify-content:center;padding:13px}.workspace{margin-left:82px}.two-col{grid-template-columns:1fr}.course-layout{grid-template-columns:1fr}.course-sidebar{position:static;grid-row:1}.course-sidebar .source-card{display:block}.hero{min-height:310px}.three-col{grid-template-columns:1fr}.desktop-greeting{display:none}.topbar{justify-content:flex-end}.page-heading{flex-wrap:wrap}}
@media(max-width:600px){.sidebar{inset:auto 0 0;width:auto;height:72px;padding:6px 8px;background:var(--surface);border-top:1px solid var(--line);border-right:0}.sidebar .brand,.sidebar-bottom{display:none}.sidebar nav{display:flex;justify-content:space-around;gap:0}.nav-item{flex-direction:column;gap:3px;font-size:9px;padding:7px 3px;min-width:49px;min-height:55px;border-radius:10px}.nav-item>span{display:block;font-size:9px;font-weight:550}.nav-item svg{width:20px;height:20px}.workspace{margin-left:0;margin-bottom:72px}.mobile-brand{display:block;color:var(--ink);letter-spacing:-.6px;font-size:20px}.topbar{height:64px;padding:0 18px;justify-content:space-between}.top-actions{gap:10px}.top-actions .pill{font-size:9px;padding:6px 8px}.icon-button{width:36px;height:36px;border-radius:10px}main{padding:23px 18px 38px;min-height:calc(100vh - 208px)}h1{font-size:30px}.hero{padding:27px 24px;min-height:325px;background-position:center}.hero>div{max-width:280px}.hero h2{font-size:30px}.hero p{font-size:12px}.hero .ornament{font-size:9px;right:15px}.stats{gap:8px}.stat{padding:14px 12px}.stat strong{font-size:21px}.stat span{font-size:9px}.course-grid{grid-template-columns:1fr}.course-card{padding:20px;gap:13px}.course-card p{min-height:0}.course-card .course-top{flex-direction:row}.card{padding:21px}.section-head h2{font-size:19px}.page-heading{margin-bottom:20px}.page-heading p{font-size:13px}.lesson-body{padding:22px}.lesson-header h1{font-size:25px}.lesson-tabs a{padding:11px 9px;font-size:12px}.numeric-row{flex-wrap:wrap}.numeric-row input{max-width:none}footer{padding:18px;gap:12px;font-size:10px}footer span:last-child{width:100%}.toast{bottom:90px}.tool-grid{grid-template-columns:1fr}.course-sidebar .source-card{display:block}.theme-options{flex-wrap:wrap}.course-sidebar .card h2{font-size:20px}.noscript{margin:20px}.lesson-actions .primary{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important}}
@media(max-width:380px){.topbar{height:92px;align-items:flex-start;padding-top:13px;position:relative}.mobile-brand{white-space:nowrap;line-height:36px}.top-actions{gap:8px}.top-actions .pill{position:absolute;left:18px;top:58px;max-width:calc(100% - 36px);white-space:nowrap}.top-actions .icon-button{flex-shrink:0}}

.top-actions .account-button{display:flex;gap:7px;width:auto;padding:0 11px;white-space:nowrap;font-size:13px;font-weight:600;flex-shrink:0}
.auth-layout{max-width:1050px;margin:auto}.auth-card{padding:clamp(20px,4vw,38px)}.auth-card .chips{margin-bottom:22px}.auth-card input{min-height:48px}.auth-card .primary{width:100%}.auth-card .password-row{display:flex;gap:8px;align-items:center}.auth-card .password-row input{min-width:0;flex:1}.auth-card .password-toggle{font-size:12px;padding:10px}.auth-card .auth-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.auth-card .check-row{font-size:13px}.auth-card .note{font-size:13px}

.account-invite{display:flex;gap:20px;justify-content:space-between;align-items:center;margin:20px 0}.account-invite h3{margin-bottom:7px}.account-invite p{color:var(--muted);font-size:14px}.account-invite>.row{flex-shrink:0}@media(max-width:700px){.account-invite{align-items:flex-start;flex-direction:column}.account-invite>.row{width:100%;flex-wrap:wrap}}

.duration-card{margin-bottom:20px}.duration-card h2{font-size:18px;margin-bottom:16px}.duration-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));overflow:visible}.duration-options .chip{min-height:44px;min-width:58px}.duration-card p{font-size:12px;margin:14px 0 0}
