@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/font-5.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/font-6.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/assets/fonts/font-7.ttf) format('truetype');
}

:root{color-scheme:light;--bg:#f8f9f5;--surface:#fff;--ink:#283e34;--muted:#738078;--green:#284f3e;--green-hover:#1d4030;--line:#e3e8df;--sage:#e8eedf;--sand:#f3ecdc;--lilac:#eeeaf3;--radius:20px;--font:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:var(--font);color:var(--ink);font-size:14px;line-height:1.6}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.5}a{color:inherit;text-decoration:none}button{border:0;background:none}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Manrope',var(--font);line-height:1.3;letter-spacing:-.035em}h1{font-size:clamp(30px,3.05vw,43px);font-weight:650;margin-bottom:12px;line-height:1.19}h2{font-size:23px;font-weight:650;margin-bottom:10px}h3{font-size:16px;font-weight:700;letter-spacing:-.025em;margin-bottom:6px}p{margin-bottom:16px}strong{font-weight:600}small,.small{font-size:12px}.muted{color:var(--muted)}.centered{text-align:center}.full-width{width:100%}.icon{display:inline-block;width:21px;height:21px;min-width:21px;background:currentColor;mask-image:var(--icon);mask-repeat:no-repeat;mask-size:contain;mask-position:center;vertical-align:middle}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;flex-shrink:0}.icon-button:hover{background:var(--sage)}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #89a87a;outline-offset:4px}.skip-link{position:fixed;top:-70px;left:20px;background:var(--green);color:white;padding:12px 20px;z-index:100}.skip-link:focus{top:12px}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;padding:35px 22px 18px;border-right:1px solid var(--line);background:#fffef9;display:flex;flex-direction:column;z-index:20}.brand{display:inline-flex;align-items:center;gap:10px;width:max-content;font-family:'Manrope',var(--font);font-size:36px;font-weight:800;letter-spacing:-2px;line-height:1}.brand img{border-radius:11px}.brand-dot{color:#9aa87d}.side-caption{font-size:12px;color:#8c9385;line-height:1.65;margin:20px 0 39px 2px}.sidebar nav{display:grid;gap:8px}.nav-item{padding:12px 13px;display:flex;align-items:center;gap:12px;border-radius:10px;text-align:left;color:#7c867e;font-size:13px;font-weight:550;white-space:nowrap}.nav-item .icon{width:20px;height:20px;min-width:20px}.nav-item:hover{background:#f4f6ef;color:var(--green)}.nav-item.active{background:#eaf0e3;color:var(--green);font-weight:700}.nav-count{margin-left:auto;background:#d7e3cd;border-radius:5px;line-height:21px;min-width:21px;text-align:center;font-size:11px}.sidebar-bottom{margin-top:auto}.exam-note{display:flex;gap:12px;padding:17px 9px 25px;font-size:12px}.exam-note>.icon{color:#98a286;margin-top:3px}.exam-note strong{font-size:12px}.exam-note p{font-size:11px;color:#899082;line-height:1.7;margin:7px 0 10px}.exam-note .text-link{font-size:11px}.exam-note .icon{width:16px;height:16px;min-width:16px}.profile{margin-top:15px;border-top:1px solid var(--line);padding-top:20px;display:flex;align-items:center;gap:10px}.profile strong{font-size:11px}.profile small{display:block;font-size:10px;color:var(--muted)}.profile>.icon-button{margin-left:auto;width:26px}.avatar{display:flex;align-items:center;justify-content:center;width:34px;height:34px;min-width:34px;border-radius:50%;background:#efe9d9;color:#796e50;font-size:12px;font-weight:600}.page{margin-left:230px}.topbar{height:80px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 44px;background:#fdfdf9}.breadcrumbs{font-size:11px;color:#9ca298}.breadcrumbs span{margin:0 14px;color:#b7beb2}.breadcrumbs strong{font-weight:500;color:#5c6b61}.topbar-right{display:flex;align-items:center;gap:20px}.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:6px;font-size:10px;letter-spacing:.03em;font-weight:600;line-height:1.4;white-space:nowrap}.pill .icon{width:14px;height:14px;min-width:14px}.pill.quiet{background:#eff2e9;color:#738069}.pill.light{background:#f7f9ed;color:#56724f}.mobile-settings{display:none}main{max-width:1390px;padding:39px 44px 20px;margin:auto;outline:none}.page-intro{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px;gap:20px}.page-intro.compact{align-items:center;margin-bottom:35px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.12em;color:#76856f;margin-bottom:13px}.page-intro .eyebrow{font-size:11px;letter-spacing:.035em}.intro-copy{font-size:13px;color:#7f897d;margin:0}.date-label{font-size:11px;color:#949d90;padding-top:6px;white-space:nowrap}.home-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:23px}.daily-panel{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:white}.daily-art{height:235px;background:#e2e9d7;position:relative;overflow:hidden;display:flex}.art-text{position:relative;z-index:1;padding:27px 0 23px 30px;min-width:48%}.art-text h2{font-size:27px;line-height:1.25;margin-top:17px;margin-bottom:12px;font-weight:650}.art-text p{font-size:12px;color:#6d7f65;line-height:1.7}.city-art{width:60%;height:100%;object-fit:cover;object-position:45% center;position:absolute;right:-18px;bottom:0;mix-blend-mode:multiply}.session-planner{padding:23px 28px}.planner-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.planner-row h3{font-size:14px;letter-spacing:-.02em;margin-bottom:4px}.planner-row p{font-size:11px;color:#899181;margin:0}.segmented{display:flex;padding:4px;border:1px solid var(--line);border-radius:9px;background:#fafbf7}.segmented button{padding:7px 10px;border-radius:5px;font-size:12px;white-space:nowrap;color:#8b9285}.segmented button.selected{background:var(--green);color:white}.segmented button span{font-size:10px}.mode-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.mode-picker button{border:1px solid var(--line);border-radius:7px;padding:10px 6px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;white-space:nowrap;color:#7f8979;transition:background .15s}.mode-picker .icon{width:16px;height:16px;min-width:16px}.mode-picker button.selected{background:#f1f5e8;border-color:#c4d2b4;color:#4a6740}.mode-picker button:hover{background:var(--sage)}.start-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:4px}.start-row>span{font-size:10px;line-height:1.6;color:#929989;display:flex;gap:7px;align-items:center}.start-row>span .icon{width:14px;min-width:14px;height:14px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:8px;min-height:43px;padding:11px 17px;font-size:12px;font-weight:550;line-height:1.4;transition:background .15s,transform .15s}.button .icon{width:17px;height:17px;min-width:17px}.button.primary{background:var(--green);color:#f5f7ee;border:1px solid var(--green)}.button.primary:hover{background:var(--green-hover)}.button.secondary{background:#fffefb;border:1px solid #dce3d4;color:#506448}.button.secondary:hover{background:#eff4e7}.button:active:not(:disabled){transform:translateY(1px)}.text-link{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:550;color:#4c6743;padding:0;line-height:1.6}.text-link:hover{color:#203b22;text-decoration:underline;text-underline-offset:4px}.text-link .icon{width:16px;height:16px;min-width:16px}.today-rail{display:flex;flex-direction:column;gap:19px}.week-panel{background:white;border:1px solid var(--line);padding:22px 20px 16px;border-radius:var(--radius)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.section-heading h3{font-size:13px;margin:0;letter-spacing:-.02em}.section-heading>.icon{color:#9ba68e;width:17px;height:17px;min-width:17px}.week-panel>p{color:#8b9384;font-size:10px;margin-top:6px;margin-bottom:18px}.week-days{display:flex;justify-content:space-between;gap:5px}.week-day{text-align:center;display:grid;gap:9px;font-size:9px;color:#9da593}.day-circle{height:26px;width:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f5f6f0;font-size:10px;color:#a8b09f}.week-day.today .day-circle{border:1px solid #6f885f;color:#59734c;background:#f2f6e9}.week-day.done .day-circle{background:var(--green);color:white}.day-circle .icon{width:14px;min-width:14px;height:14px}.week-summary{border-top:1px solid #eef0e8;margin-top:19px;padding-top:14px;display:flex;align-items:center;justify-content:space-between}.week-summary strong{font-size:20px;line-height:1.1;letter-spacing:-.04em}.week-summary strong span{font-size:11px;letter-spacing:0;font-weight:400;color:#87927c}.week-summary>.icon,.week-summary>span{color:#b6a66e}.week-panel p.soft-copy{font-size:10px;margin:10px 0 0;line-height:1.7}.review-panel{flex:1;background:#f0f1e8;padding:20px 22px;border-radius:var(--radius);display:grid;grid-template-columns:35px 1fr;column-gap:10px;align-content:center}.review-panel .icon-tile{width:34px;height:34px;border-radius:9px;background:#e5e8d7}.review-panel h3{font-size:14px;align-self:center}.review-panel p{grid-column:1/-1;font-size:11px;color:#88907c;margin:12px 0}.review-panel .text-link{grid-column:1/-1;font-size:11px}.icon-tile{width:43px;height:43px;min-width:43px;border-radius:12px;display:flex;align-items:center;justify-content:center}.icon-tile.sage{background:var(--sage);color:#69815f}.icon-tile.sand{background:var(--sand);color:#a28e60}.icon-tile.lilac{background:var(--lilac);color:#92819f}.spacious{margin:33px 0 19px}.spacious h2{font-size:20px;margin:0}.spacious .eyebrow{font-size:9px;margin-bottom:8px}.toolkit{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.tool-card{text-align:left;border:1px solid var(--line);background:#fffefb;border-radius:14px;padding:21px 18px;position:relative;display:flex;flex-direction:column;gap:16px;min-height:178px;transition:transform .2s,border-color .2s}.tool-card:hover{border-color:#b6c6a8;transform:translateY(-3px)}.tool-card h3{font-size:13px;margin-bottom:5px}.tool-card p{font-size:10px;color:#87917f;margin-bottom:12px}.tool-card>.icon{position:absolute;right:18px;top:28px;width:17px;height:17px;color:#abb59e}.micro-label{font-size:8px;letter-spacing:.08em;font-weight:600;color:#9ba58e;display:inline-flex;align-items:center;gap:5px}.daily-footer-note{font-size:10px;color:#99a18f;display:flex;align-items:center;justify-content:center;gap:7px;margin-top:24px}.daily-footer-note .icon{width:14px;height:14px;min-width:14px}.page-footer{max-width:1390px;margin:0 auto;padding:20px 44px 25px;display:flex;justify-content:space-between;color:#a3aa98;font-size:10px}.page-footer .text-link{font-size:10px;color:#93a084}.studio-banner{background:var(--sage);border-radius:var(--radius);overflow:hidden;display:flex;align-items:center;min-height:205px}.studio-banner>div{padding:30px;flex:1}.studio-banner h2{font-size:25px;margin-top:18px}.studio-banner p{font-size:12px;color:#79876f;margin-bottom:0}.studio-banner>img{width:35%;height:205px;object-fit:cover;mix-blend-mode:multiply}.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.topic-card{border:1px solid var(--line);border-radius:16px;background:white;overflow:hidden}.topic-card>img{width:100%;height:166px;object-fit:cover}.topic-body{padding:20px}.topic-meta{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#8f9b86;margin-bottom:15px}.topic-meta>span{display:flex;gap:6px;align-items:center}.topic-meta .icon{width:14px;height:14px;min-width:14px}.topic-body h3{font-size:16px}.topic-body p{font-size:12px;color:#7c8974;min-height:57px}.skill-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.skill-row{display:flex;text-align:left;align-items:center;gap:16px;background:white;border:1px solid var(--line);border-radius:12px;padding:18px}.skill-row>span:nth-child(2){flex:1}.skill-row strong{display:block;font-size:13px}.skill-row small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.skill-row>.icon{color:#9baa8c;width:18px;height:18px}.skill-row:hover{border-color:#acbd9b}.curriculum-note{font-size:11px;color:#929c89;margin-top:25px;max-width:700px}.phrase-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:15px;padding-bottom:15px;border-bottom:1px solid var(--line)}.tabs{display:flex;gap:6px}.tabs button{padding:8px 12px;border-radius:7px;font-size:12px;color:#84917b}.tabs button.active{background:#e6eddd;color:#49653d}.search-box{display:flex;align-items:center;background:white;border:1px solid var(--line);border-radius:8px;padding:0 10px;gap:8px}.search-box .icon{width:17px;height:17px;min-width:17px;color:#9baa90}.search-box input{border:0;background:none;padding:9px 0;font-size:12px;width:200px;outline-offset:6px}.phrase-subbar{display:flex;align-items:center;justify-content:space-between;margin:21px 0}.phrase-subbar label{display:flex;gap:10px;align-items:center;font-size:12px;color:#8b9782}.phrase-subbar select{padding:7px 28px 7px 10px;width:auto;margin:0}.phrase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.phrase-card{background:white;border:1px solid var(--line);border-radius:14px;padding:18px 20px;display:flex;flex-direction:column}.phrase-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.phrase-top .icon-button{width:28px;height:28px;color:#a3ad96}.phrase-top .icon-button.saved,.icon-button.saved{color:#3e6334;background:#e7efdd}.lb-phrase{font-size:17px;font-weight:500;line-height:1.55;margin:16px 0 9px;color:#3f5739}.translation{font-size:12px;line-height:1.7;color:#8b9683;margin:0 0 22px}.phrase-bottom{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-top:auto;border-top:1px solid #eff1e9;padding-top:10px}.phrase-bottom .icon-button{width:27px;height:27px;color:#98a68b}.phrase-bottom .icon{width:16px;height:16px;min-width:16px}.audio-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:7px;color:#6c865e;font-size:11px;padding:7px 5px}.audio-button:hover,.audio-button.playing{background:#e8efdf;color:#3e6130}.audio-button.playing .icon{animation:audio-pulse 1s ease-in-out infinite}.review-status{font-size:8px;color:#a4ad9b;white-space:nowrap}.empty-state{padding:65px 20px;text-align:center}.empty-state>.icon{width:40px;height:40px;color:#a0b38e}.empty-state h2{margin-top:15px}.empty-state p{color:var(--muted)}.progress-stats{display:grid;grid-template-columns:repeat(3,1fr);background:#fffef9;border:1px solid var(--line);border-radius:16px;padding:27px 10px;margin-bottom:24px}.progress-stats>div{padding:0 27px;display:flex;flex-direction:column;border-right:1px solid var(--line)}.progress-stats>div:last-child{border:0}.progress-stats strong{font-family:'Manrope',var(--font);font-size:40px;font-weight:600;line-height:1.7;letter-spacing:-.05em}.progress-stats strong small{font-size:17px;color:#a3b096;font-weight:400}.progress-stats>div>span:last-child{font-size:11px;color:#95a187}.progress-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.panel{border:1px solid var(--line);border-radius:16px;padding:25px;background:white}.panel h2{font-size:19px}.panel>p{font-size:12px}.large.week-days{margin:23px 0;max-width:400px}.large .week-day{font-size:11px}.large .day-circle{width:36px;height:36px;font-size:12px}.soft-copy{color:#8b987e;font-size:12px}.goal-panel{background:#ecf0e3}.goal-panel .icon-tile{margin-bottom:18px;background:#dfe8d4}.goal-panel p{color:#7b8e69}.journey-list{background:white;border-radius:15px;border:1px solid var(--line);padding:0 20px}.journey-row{padding:20px 0;display:flex;gap:16px;align-items:center;border-bottom:1px solid #edf1e7}.journey-row:last-child{border:0}.journey-row>div{flex:1}.journey-row h3{font-size:14px}.journey-row p{font-size:11px;color:#94a187;margin:0}.journey-row progress{width:150px;height:5px;border:0;border-radius:9px;background:#eef2e8}.journey-row progress::-webkit-progress-bar{background:#eef2e8;border-radius:9px}.journey-row progress::-webkit-progress-value{background:#91aa7e;border-radius:9px}.journey-row progress::-moz-progress-bar{background:#91aa7e;border-radius:9px}.history{background:white;border:1px solid var(--line);border-radius:14px;padding:0 20px}.history>div{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid #edf0e7}.history>div:last-child{border:0}.history-check{color:#7c9b65}.history strong{font-size:12px;display:block}.history small{font-size:10px;display:block;color:#96a289}.history time{margin-left:auto;font-size:11px;color:#97a48a}.empty-inline{padding:25px;border-radius:12px;background:#eef2e6;color:#899d77;font-size:12px}.empty-inline .text-link{margin-left:10px}dialog{border:1px solid #dfe6d6;color:var(--ink);background:#fdfef9;border-radius:22px;padding:28px;max-height:calc(100dvh - 60px);width:min(560px,calc(100vw - 32px));overflow:auto;overscroll-behavior:contain}dialog::backdrop{background:#1b302d69;backdrop-filter:blur(4px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.dialog-heading h2{font-size:23px;margin:0}.dialog-heading>.icon-button{margin-right:-8px}.topic-dialog-image{height:190px;width:100%;object-fit:cover;border-radius:12px;margin-bottom:20px}.topic-actions{display:grid;gap:10px;margin:20px 0;grid-template-columns:1fr 1fr}.topic-actions .button{justify-content:flex-start;font-size:11px}.topic-actions .button>.icon:last-child{margin-left:auto}.choice-list{display:grid;gap:12px}.choice-item{display:flex;align-items:center;text-align:left;gap:16px;border:1px solid var(--line);background:white;padding:12px;border-radius:12px}.choice-item:hover{background:#f0f5e8}.choice-item img{height:78px;width:100px;object-fit:cover;border-radius:8px}.choice-item strong{display:block;font-size:13px}.choice-item small{font-size:10px;line-height:1.6;display:block;color:#87967a;margin-top:4px}.choice-item>.icon{margin-left:auto;min-width:16px;width:16px}.exercise-dialog{width:min(810px,calc(100vw - 32px));padding:0}.exercise-top{display:flex;align-items:center;justify-content:space-between;padding:21px 30px;gap:16px}.small-brand{font-size:25px;letter-spacing:-1.4px;gap:8px}.exercise-top>span{font-size:11px;color:#9aa68e}.session-progress{display:block;width:100%;height:3px;border:0;background:#e8efdf}.session-progress::-webkit-progress-bar{background:#e8efdf}.session-progress::-webkit-progress-value{background:#7d9e69}.session-progress::-moz-progress-bar{background:#7d9e69}.exercise-content{padding:30px 37px 34px}.exercise-label{font-size:9px;letter-spacing:.12em;color:#90a27c;display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 15px}.exercise-label .icon{width:17px;height:17px;min-width:17px}.exercise-content>h2{font-size:28px;text-align:center;margin:0 0 10px}.exercise-subtitle{text-align:center;font-size:12px;color:#8b9b7f;max-width:530px;margin:0 auto 25px}.flashcard{padding:24px 30px 32px;min-height:265px;background:white;border:1px solid #dce6d0;border-radius:16px;text-align:center;display:flex;align-items:center;flex-direction:column;justify-content:flex-start}.flashcard-top{width:100%;display:flex;align-items:center;justify-content:space-between}.flash-prompt{font-size:25px;font-weight:500;letter-spacing:-.03em;line-height:1.5;margin:23px 0 28px;max-width:500px}.flash-answer{width:100%;border-top:1px solid var(--line);padding-top:23px}.flash-answer>p:first-child{font-size:24px;font-weight:500;color:#5d7d4b;margin-bottom:12px}.hint{font-size:11px;color:#96a388;margin:15px 0 0}.rating-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:15px}.rating-buttons button{border:1px solid #dfe6d5;background:#f3f6ec;padding:15px 8px;border-radius:10px;font-size:11px;display:flex;flex-direction:column;align-items:center;gap:8px}.rating-buttons button:hover{background:#e4edd8}.rating-buttons button:first-child{background:#f6efe2}.rating-buttons button small{font-size:9px;color:#9ba48f}.rating-buttons .icon{width:19px;height:19px}.flashcard+.small{margin:22px 0 0}.exercise-footnote{text-align:center;font-size:11px;color:#a0ac94;margin:24px 0 0}.listening-player{display:flex;align-items:center;gap:18px;padding:21px;background:#eaf0df;border-radius:13px;flex-wrap:wrap}.large-audio-icon{width:48px;height:48px;background:#dce8cb;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#718e59}.large-audio-icon .icon{width:23px;height:23px}.listening-player>div{flex:1}.listening-player strong{font-size:13px;display:block}.listening-player small{font-size:10px;display:block;color:#94a37f;margin-top:4px}.listening-player .audio-button{background:#fffef8;padding:10px 12px;font-size:11px;border:1px solid #dce6ce}.speed-label{font-size:9px;color:#8d9d7a;display:flex;align-items:center;gap:6px}.speed-label select{width:66px;margin:0;padding:5px;font-size:11px;min-height:32px}.question{font-size:16px;margin:28px 0 15px}.answer-options{display:grid;gap:10px}.answer-options button{display:flex;align-items:center;gap:13px;border:1px solid var(--line);background:white;padding:14px;border-radius:9px;text-align:left;font-size:13px}.answer-options button>span{font-size:10px;width:27px;height:27px;border-radius:7px;background:#f0f3e9;display:flex;align-items:center;justify-content:center;color:#8a9b77}.answer-options button>.icon{margin-left:auto}.answer-options button:hover:not(:disabled){background:#eef4e4}.answer-options button.correct{background:#e8f1dd;border-color:#a4bb8a;opacity:1}.answer-options button.incorrect{background:#f5ede3;border-color:#d3b996;opacity:1}.feedback{padding:17px 20px;margin:20px 0;background:#f2ebdd;border-radius:10px;font-size:12px}.feedback.positive{background:#e6efda;color:#52733e}.feedback p{margin:6px 0 0;font-size:12px}.transcript,.speaking-hints{border:1px solid var(--line);padding:13px 17px;border-radius:10px;margin-top:20px;font-size:12px}.transcript summary,.speaking-hints summary,.model-answer summary{cursor:pointer;font-size:12px;color:#72875e}.transcript p{margin:16px 0;font-size:13px;line-height:1.8}.exercise-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:25px;flex-wrap:wrap}.exercise-actions>.button:last-child{margin-left:auto}.sentence-target{border:1px dashed #bbcdaa;min-height:115px;background:#f1f6e9;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:9px;padding:22px;flex-wrap:wrap}.sentence-target>span{font-size:12px;color:#99ac87}.word-bank{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;min-height:100px;margin:16px 0}.word-token{border:1px solid #cedbc1;border-bottom-width:3px;border-radius:8px;padding:10px 14px;background:white;font-size:14px}.word-token.chosen{background:#fffef7}.word-token.used{opacity:.2}.speaking-layout{display:grid;grid-template-columns:1fr 190px;gap:20px}.practice-image{width:100%;height:260px;object-fit:cover;border-radius:13px}.timer{display:flex;align-items:center;justify-content:space-between;background:#eef3e4;border-radius:10px;padding:13px}.timer strong{display:block;font-size:31px;font-weight:500;line-height:1.5;letter-spacing:-.03em}.timer .micro-label{font-size:7px;letter-spacing:.08em}.timer-toggle{background:white;color:#6c8857;border:1px solid #dae4cd}.timer-options{display:flex;margin:10px 0 16px;border:1px solid #dfe8d4;border-radius:6px;padding:3px;gap:3px}.timer-options button{flex:1;padding:5px;font-size:10px;border-radius:4px;color:#9aaa8a}.timer-options button.active{background:#e5edda;color:#587542}.recording-area p{font-size:9px;line-height:1.7;margin:8px 0}.recording-area .button{font-size:11px;padding:10px 7px}.recording{color:#a64f3a!important;background:#f7e8df!important}.recording-area audio{width:100%;height:38px;margin:5px 0}.recording-area .text-link{font-size:10px}.speaking-hints ul{margin:10px 0;padding-left:22px;color:#899c77}.speaking-hints li{padding:3px 0}.starter{font-size:18px;color:#567840;margin:15px 0 5px}.model-answer{margin-top:15px;padding-top:14px;border-top:1px solid var(--line)}.model-answer p{margin:15px 0 8px;font-size:13px}.notes-label{font-size:11px;color:#8a9b7b;display:block;margin-top:19px}.self-check{display:flex;align-items:center;gap:14px;margin-top:20px;flex-wrap:wrap}.self-check label{font-size:10px;display:flex;align-items:center;gap:5px;margin:0;color:#859874}.self-check input{width:14px;height:14px;min-height:14px;accent-color:var(--green);margin:0}.conversation-question{background:#eaf0e0;border-radius:13px;padding:26px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.conversation-question>p[lang]{font-size:27px;line-height:1.4;letter-spacing:-.03em;margin:17px 0 12px}.conversation-question .translation{font-size:13px;margin-bottom:10px}.completion{text-align:center;padding:10px 15px 15px}.completion-mark{width:74px;height:74px;background:#e2eccf;border-radius:50%;color:#64864b;display:flex;align-items:center;justify-content:center;margin:0 auto 25px}.completion-mark .icon{width:33px;height:33px}.completion-message{font-family:'Manrope',var(--font);font-size:33px;line-height:1.3;font-weight:600;letter-spacing:-.04em;margin:20px 0}.completion>p:not(.completion-message){font-size:12px}.completion .button{display:flex;margin:25px auto 15px;width:max-content}.completion .text-link{margin:auto}form label{display:block;font-size:12px;font-weight:500;margin-top:18px}input,textarea,select{display:block;width:100%;background:white;color:var(--ink);border:1px solid #d9e3ce;border-radius:7px;padding:11px 12px;min-height:42px;margin-top:7px;font-size:13px}input::placeholder,textarea::placeholder{color:#a8b29f}textarea{resize:vertical;line-height:1.6}select{cursor:pointer}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-actions{display:flex;gap:15px;justify-content:flex-end;align-items:center;margin-top:23px}.form-actions .text-link{margin-right:auto}.danger{color:#ad7054}.settings-section{border-top:1px solid var(--line);margin-top:28px;padding-top:23px}.settings-section h3{font-size:15px}.settings-actions{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}.settings-actions .button{font-size:11px}.import-label{cursor:pointer;position:relative}.file-input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;margin:0}.exam-part{display:flex;gap:17px;padding:18px 0}.exam-part p{font-size:13px;color:#8a9b7b;margin:7px 0 0}.standard-dialog>p{font-size:13px}.standard-dialog a:not(.button):not(.text-link){text-decoration:underline;text-underline-offset:3px}.standard-dialog>h3{margin:24px 0 10px}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);z-index:1000;background:#2a4b36;color:#f7f9ed;padding:14px 22px;border:1px solid #496342;border-radius:12px;font-size:12px;max-width:min(500px,90vw);width:max-content;pointer-events:none;opacity:0;transition:opacity .2s,transform .2s}#toast.visible{opacity:1;transform:translate(-50%,0)}@keyframes audio-pulse{50%{opacity:.45}}
@media(min-width:1550px){main{padding-top:48px}.daily-art{height:265px}.art-text{padding:32px}.art-text h2{font-size:32px}.session-planner{padding:27px 32px}.tool-card{padding:25px}.today-rail{gap:23px}.week-panel{padding:26px}.home-grid{grid-template-columns:minmax(0,1fr) 285px}}
@media(max-width:1200px){.sidebar{width:200px;padding-left:16px;padding-right:16px}.page{margin-left:200px}main{padding:30px}.topbar{padding:0 30px}.page-footer{padding:20px 30px}.home-grid{grid-template-columns:minmax(0,1fr) 225px;gap:17px}.art-text{padding-left:23px}.art-text h2{font-size:25px}.city-art{width:59%;right:-32px}.session-planner{padding:20px}.planner-row{flex-wrap:wrap;gap:15px}.planner-row .segmented{margin-left:0}.start-row{flex-wrap:wrap}.start-row .button{width:100%;margin-top:3px}.week-panel{padding:19px 15px}.week-day .day-circle{width:24px;height:24px}.week-panel .section-heading h3{font-size:12px}.tool-card{padding:18px 15px}.tool-card h3{font-size:12px}.tool-card p{font-size:10px}.tool-card>.icon{right:15px}.phrase-grid{grid-template-columns:1fr 1fr}.topic-body{padding:17px}.topic-body p{min-height:78px}.topic-body h3{font-size:15px}.date-label{display:none}}
@media(max-width:1000px){.home-grid{grid-template-columns:1fr}.today-rail{display:grid;grid-template-columns:1.2fr 1fr}.week-panel{padding:20px}.week-days{max-width:330px}.week-panel>p{margin-bottom:14px}.week-summary{margin-top:15px}.review-panel{align-content:center;padding:23px}.planner-row{flex-wrap:nowrap}.planner-row .segmented{margin-left:auto}.start-row{flex-wrap:nowrap}.start-row .button{width:auto;margin:0;white-space:nowrap}.daily-art{height:240px}.art-text h2{font-size:30px}.city-art{width:57%;right:-8px}.topic-grid{gap:12px}.topic-meta{font-size:9px}.topic-meta>span{gap:3px}.topic-body{padding:14px}.topic-body h3{font-size:13px}.topic-body p{font-size:11px}.skill-list{grid-template-columns:1fr}.page-intro.compact{align-items:flex-start;flex-direction:column;gap:22px}.progress-stats>div{padding:0 17px}.progress-layout{gap:15px}.panel{padding:20px}.large .day-circle{width:28px;height:28px}.journey-row progress{width:100px}}
@media(max-width:760px){body{font-size:14px}.sidebar{inset:auto 0 0;width:100%;height:72px;padding:7px 12px calc(7px + env(safe-area-inset-bottom));border:0;border-top:1px solid #dce4d2;background:#fffef9f5;backdrop-filter:blur(15px);height:calc(72px + env(safe-area-inset-bottom));display:block}.sidebar>.brand,.sidebar>.side-caption,.sidebar-bottom{display:none}.sidebar nav{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.nav-item{padding:7px 3px;gap:5px;flex-direction:column;justify-content:center;font-size:9px;line-height:1.5;min-height:54px;border-radius:9px}.nav-item .icon{width:21px;height:21px}.nav-count{display:none}.page{margin-left:0;padding-bottom:calc(72px + env(safe-area-inset-bottom))}.topbar{height:65px;padding:0 22px}.breadcrumbs{font-size:10px}.breadcrumbs span{margin:0 8px}.topbar-right{gap:8px}.topbar-right .pill{font-size:9px}.topbar-right .pill .icon{display:none}.desktop-avatar{display:none}.mobile-settings{display:flex;width:31px;height:31px}.mobile-settings .icon{width:18px;height:18px}.page-intro{margin-bottom:26px}.page-intro .eyebrow{font-size:11px}.page-intro h1{font-size:33px;line-height:1.23}.intro-copy{font-size:12px;max-width:290px;line-height:1.8}main{padding:27px 22px 10px}.page-footer{padding:20px 22px 25px}.daily-art{height:220px}.art-text{padding:24px}.art-text h2{font-size:27px}.art-text p{font-size:11px}.art-text .pill{font-size:8px;padding:5px 7px}.city-art{width:59%;right:-20px}.session-planner{padding:22px}.planner-row h3{font-size:13px}.planner-row p{font-size:10px}.segmented button{padding:8px;font-size:11px}.segmented button span{font-size:9px}.mode-picker{gap:7px;margin:18px 0}.mode-picker button{min-height:45px;font-size:10px;gap:5px}.mode-picker .icon{width:15px;height:15px;min-width:15px}.start-row>span{font-size:9px;max-width:180px}.start-row .button{font-size:11px;padding:12px}.today-rail{grid-template-columns:1fr 1fr;gap:15px}.week-panel{padding:18px}.week-panel .section-heading h3{font-size:12px}.week-panel .section-heading>.icon{display:none}.week-days{gap:3px}.week-day .day-circle{width:23px;height:23px;font-size:9px}.week-panel>p{font-size:9px}.week-summary strong{font-size:17px}.week-summary strong span{font-size:10px}.review-panel{padding:18px;display:block}.review-panel .icon-tile{margin-bottom:13px}.review-panel h3{font-size:14px}.review-panel p{font-size:10px;margin:10px 0}.review-panel .text-link{font-size:10px}.spacious{margin-top:29px}.spacious h2{font-size:19px}.spacious>.text-link{font-size:10px;gap:4px}.toolkit{grid-template-columns:1fr;gap:11px}.tool-card{min-height:0;flex-direction:row;align-items:center;padding:18px;gap:16px}.tool-card h3{font-size:14px}.tool-card p{font-size:11px;margin-bottom:8px}.tool-card>.icon{position:static;margin-left:auto}.tool-card .micro-label{font-size:8px}.daily-footer-note{font-size:9px;align-items:flex-start;line-height:1.7;text-align:center;margin-top:21px}.daily-footer-note>.icon{margin-top:2px}.studio-banner>div{padding:25px}.studio-banner>img{display:none}.studio-banner h2{font-size:25px}.topic-grid{grid-template-columns:1fr}.topic-card{display:grid;grid-template-columns:36% 1fr}.topic-card>img{height:100%;object-fit:cover}.topic-body{padding:20px}.topic-body h3{font-size:16px}.topic-body p{min-height:0;margin-bottom:17px}.topic-meta{font-size:9px}.topic-body .button{font-size:11px}.skill-row{padding:16px}.phrase-toolbar{flex-wrap:wrap}.search-box{width:100%}.search-box input{width:100%}.tabs{width:100%;justify-content:space-between}.tabs button{flex:1;font-size:12px}.phrase-subbar{gap:10px}.phrase-subbar .text-link{font-size:10px;gap:5px}.phrase-subbar label{font-size:10px;gap:6px}.phrase-subbar select{font-size:11px;max-width:140px}.phrase-grid{grid-template-columns:1fr}.phrase-card{padding:19px 22px}.lb-phrase{font-size:19px}.phrase-bottom .audio-button{font-size:12px}.review-status{font-size:10px}.phrase-top .micro-label{font-size:9px}.progress-stats{padding:20px 0}.progress-stats>div{padding:0 13px}.progress-stats .micro-label{font-size:7px;letter-spacing:.02em;min-height:23px}.progress-stats strong{font-size:29px;line-height:1.8}.progress-stats strong small{font-size:12px}.progress-stats>div>span:last-child{font-size:9px}.progress-layout{grid-template-columns:1fr}.large.week-days{max-width:none}.large .day-circle{width:35px;height:35px}.journey-list{padding:0 15px}.journey-row{gap:12px}.journey-row h3{font-size:12px}.journey-row p{font-size:9px}.journey-row progress{display:none}.journey-row .icon-tile{width:35px;height:35px;min-width:35px}.journey-row>.icon-button{width:25px}.spacious>.small{font-size:9px;max-width:120px;text-align:right}.history{padding:0 16px}.history time{font-size:10px}.history strong{font-size:11px}.history small{font-size:9px}.history>div{gap:10px}.empty-inline{font-size:11px}.empty-inline .text-link{display:flex;margin:10px 0 0}.exercise-dialog{max-height:calc(100dvh - 24px);width:calc(100vw - 24px);border-radius:17px}.exercise-top{padding:16px 20px}.exercise-content{padding:23px 22px 26px}.exercise-content>h2{font-size:24px}.exercise-subtitle{font-size:11px}.flashcard{padding:18px;min-height:250px}.flash-prompt{font-size:23px}.flash-answer>p:first-child{font-size:22px}.rating-buttons{gap:6px}.rating-buttons button{font-size:10px;padding:12px 5px}.rating-buttons button small{font-size:8px}.listening-player{padding:16px;gap:12px}.listening-player>.audio-button{flex:1}.listening-player>div{min-width:calc(100% - 65px)}.question{font-size:14px}.speaking-layout{grid-template-columns:1fr}.practice-image{height:auto;max-height:280px;object-fit:cover}.speaking-tools{display:grid;grid-template-columns:1fr 1fr;gap:10px 15px}.timer{grid-column:1;grid-row:1}.timer-options{grid-column:1;grid-row:2;margin:0}.recording-area{grid-column:2;grid-row:1/3;align-self:center}.timer .micro-label{font-size:7px}.timer strong{font-size:28px}.conversation-question{min-height:200px;padding:23px}.conversation-question>p[lang]{font-size:25px}.exercise-actions>.small{width:100%}.exercise-actions .button{font-size:11px}.self-check{gap:10px}.self-check>.small{width:100%}.standard-dialog{padding:24px 22px;max-height:calc(100dvh - 32px)}.dialog-heading h2{font-size:22px}.topic-actions{gap:8px}.topic-actions .button{font-size:10px;gap:6px;padding:10px 8px}.topic-actions .button>.icon:last-child{display:none}.choice-item{gap:12px}.choice-item img{width:75px;height:75px}.choice-item small{font-size:9px}.choice-item strong{font-size:12px}.form-columns{gap:12px}.form-actions .button{font-size:11px}.completion-message{font-size:29px}.completion{padding:5px}.word-token{font-size:13px;padding:8px 11px}.sentence-target{padding:15px}.word-bank{gap:7px}#toast{bottom:calc(88px + env(safe-area-inset-bottom));font-size:11px;padding:12px 16px}.exercise-top>span{font-size:10px}}
@media(max-width:410px){main{padding-left:16px;padding-right:16px}.topbar{padding:0 16px}.topbar-right .pill{display:none}.page-intro h1{font-size:31px}.daily-art{height:220px}.art-text{padding:22px}.art-text h2{font-size:26px}.city-art{right:-50px;width:68%;opacity:.85}.session-planner{padding:18px}.planner-row{flex-wrap:wrap;gap:13px}.planner-row .segmented{margin:0;width:100%;justify-content:space-between}.segmented button{flex:1}.start-row{flex-direction:column;align-items:stretch;gap:12px}.start-row>span{max-width:none}.start-row .button{width:100%;min-height:46px}.mode-picker button{flex-direction:column;gap:6px;padding:10px 4px;font-size:9px}.today-rail{grid-template-columns:1fr}.week-days{max-width:none}.week-day .day-circle{width:32px;height:32px;font-size:11px}.review-panel{display:grid;grid-template-columns:36px 1fr;gap:0 12px}.review-panel .icon-tile{margin-bottom:0}.review-panel p,.review-panel .text-link{grid-column:2}.week-summary strong{font-size:21px}.week-panel .section-heading h3{font-size:14px}.week-panel>p{font-size:11px}.phrase-subbar select{max-width:115px}.topic-card{grid-template-columns:1fr}.topic-card>img{height:165px}.spacious .text-link{font-size:9px}.exercise-content{padding:20px 17px}.form-columns{grid-template-columns:1fr;gap:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Readable supporting text, including on compact screens. */
:root{--muted:#66735f}
.side-caption,.exam-note p,.profile small,.breadcrumbs,.intro-copy,.date-label,.planner-row p,.start-row>span,.week-panel>p,.week-summary strong span,.soft-copy,.review-panel p,.tool-card p,.daily-footer-note,.page-footer,.studio-banner p,.topic-meta,.topic-body p,.skill-row small,.curriculum-note,.phrase-subbar label,.translation,.review-status,.progress-stats>div>span:last-child,.goal-panel p,.journey-row p,.history small,.history time,.exercise-top>span,.exercise-subtitle,.hint,.rating-buttons button small,.exercise-footnote,.listening-player small,.speed-label,.self-check label,.notes-label,.speaking-hints li,.choice-item small,.exam-part p{color:#66735f}
.eyebrow,.micro-label,.exercise-label,.week-day,.pill.quiet,.nav-item,.tabs button,.timer-options button,.phrase-top .micro-label{color:#627357}
.day-circle{color:#68775d}.sentence-target>span{color:#637954}.page-footer .text-link{color:#637954}
.city-art{mix-blend-mode:normal;object-fit:contain;right:0}
.studio-banner>img{mix-blend-mode:normal}
.tool-card p,.planner-row p,.start-row>span,.week-panel>p,.review-panel p,.daily-footer-note,.page-footer{font-size:11px}
.micro-label{font-size:9px}.review-status{font-size:10px}
@media(max-width:760px){.daily-art{height:260px}.city-art{width:220px;height:125px;right:-4px;bottom:-17px;opacity:1}.art-text{width:100%}.art-text h2{font-size:26px}.art-text p{font-size:12px}.phrase-subbar .text-link{font-size:11px}.week-panel>p,.review-panel p{font-size:11px}.mode-picker button{min-height:44px}}
/* Contextual grammar and pronunciation practice */
.grammar-rule{background:#e9efdf;border-radius:12px;padding:20px 23px}.grammar-rule h3{font-size:14px}.grammar-rule p{font-size:14px;line-height:1.8;margin:8px 0 0}.grammar-examples{display:grid;gap:12px;margin:18px 0}.grammar-examples>div{padding:15px 20px;background:white;border:1px solid var(--line);border-radius:10px}.grammar-examples p{font-size:18px;margin:0 0 5px;font-weight:500}.grammar-examples span{font-size:12px;color:#66735f}.grammar-examples small{display:block;font-size:11px;margin-top:10px;color:#536d43;border-top:1px solid var(--line);padding-top:10px}.grammar-tip{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:#647354;background:#f3f1e5;padding:15px;border-radius:10px}.grammar-tip .icon{min-width:17px;width:17px;height:17px;margin-top:2px}.grammar-library{display:grid;gap:10px;margin:20px 0}.grammar-library .skill-row small{margin:0 0 4px}.pronunciation{margin-top:20px;background:#f0f4e8;border:1px solid #dce5ce;border-radius:15px;padding:22px}.say-header{display:flex;align-items:center;justify-content:space-between;gap:15px}.say-header .eyebrow{margin-bottom:5px}.say-header h3{font-size:19px}.pronunciation>p{font-size:12px;color:#66735f}.say-controls{display:flex;gap:10px;flex-wrap:wrap;margin:17px 0 10px}.say-controls .button{font-size:12px}.say-next{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:22px 0 12px}.say-next>.text-link{font-size:11px}.say-next>.button{font-size:12px}.voice-comparison{background:white;padding:18px;border-radius:10px;margin-top:18px;display:flex;gap:15px;align-items:center;flex-wrap:wrap}.voice-comparison>div{flex:1;min-width:200px}.voice-comparison audio{width:100%;height:40px;margin-top:8px}.voice-comparison .button{font-size:11px}.word-check{padding-top:12px;font-size:12px}.speech-check-status{display:flex;align-items:center;justify-content:space-between;gap:12px}.speech-check-status p{margin:0;color:#647354}.speech-check-status .text-link{flex-shrink:0}.word-check>.text-link{font-size:12px}.recognition-result{padding:17px;background:white;border:1px solid #dce5ce;border-radius:10px;margin-top:16px}.recognition-result strong{font-size:12px}.recognition-result p{margin:10px 0}.word-matches{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0}.word-matches span{padding:5px 9px;border-radius:6px;font-size:13px}.word-matches .matched{background:#e4edd9;color:#3d612d}.word-matches .uncertain{background:#f1e7d3;color:#86632e}.audio-warning{background:#f3e7d6;padding:12px;border-radius:8px;font-size:12px;color:#826135}
@media(max-width:760px){.pronunciation{padding:18px}.say-header{align-items:flex-start}.say-header .pill{font-size:8px}.say-header h3{font-size:17px}.say-controls{flex-direction:column}.say-controls .button{width:100%}.say-next{flex-direction:column-reverse;align-items:stretch;text-align:center}.say-next .text-link{justify-content:center;min-height:40px}.say-next .button{min-height:45px}.grammar-rule{padding:17px}.grammar-rule p{font-size:13px}.grammar-examples p{font-size:16px}.voice-comparison{padding:14px}.voice-comparison>.button{width:100%}}

.resume-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 30px;margin-bottom:25px;background:#eef2e6;border:1px solid #dce4cf;border-radius:18px}.resume-panel h2{font-size:22px;margin:5px 0}.resume-panel p{margin:6px 0}.grammar-progress{margin-top:30px}.grammar-progress .skill-row{width:100%;text-align:left}@media(max-width:650px){.resume-panel{align-items:flex-start;flex-direction:column;padding:22px}.resume-panel .button{width:100%}}

.account-panel{padding:22px;background:#f0f3e9;border:1px solid #dce4cf;border-radius:16px;margin-bottom:28px}.account-panel form{margin-top:18px}.account-panel input{width:100%}.account-panel .button{margin:6px 8px 6px 0}

/* Public entry: preserve Parlo's typography, illustrations and forest palette. */
.welcome{--muted:#637369;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg)}
.welcome-header,.welcome-footer{width:min(1240px,100%);margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:25px 40px;gap:24px}
.welcome-header{height:90px}.welcome-header nav{display:flex;align-items:center;gap:28px}.welcome-signin{font-weight:600;font-size:14px}.welcome-signin:hover,.auth-switch a:hover{text-decoration:underline}
.welcome main{width:min(1240px,100%);max-width:none;padding:0 40px;flex:1}.welcome-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:50px;align-items:center;padding:65px 0 82px}.welcome-copy h1{font-size:clamp(38px,4.8vw,62px);line-height:1.12;letter-spacing:-.055em;margin:0 0 25px}.welcome-copy>.eyebrow{color:var(--muted);margin-bottom:22px}.welcome-copy>p:not(.eyebrow){font-size:18px;line-height:1.65;max-width:440px;color:var(--muted);margin-bottom:30px}.welcome .button{font-size:14px;min-height:48px;padding:13px 21px;white-space:nowrap}.welcome-art{margin:0;background:var(--sage);border-radius:24px;overflow:hidden;align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-height:350px}.welcome-art img{width:100%;height:auto;object-fit:contain;mix-blend-mode:multiply}.welcome-art figcaption{display:flex;flex-direction:column;gap:5px;padding:10px 32px 30px}.welcome-art figcaption span:first-child{font-family:'Manrope',var(--font);font-size:23px;font-weight:650;letter-spacing:-.035em}.welcome-art figcaption span:last-child{color:var(--muted);font-size:13px}
.welcome-method{display:grid;grid-template-columns:1fr 1.05fr;gap:90px;border-top:1px solid var(--line);padding:62px 0}.welcome-method h2,.welcome-account h2{font-size:32px;line-height:1.25;margin-bottom:22px}.welcome-method p{color:var(--muted);font-size:16px}.welcome-method .welcome-note{max-width:300px;font-size:14px;margin-top:24px}.welcome-steps{list-style:none;margin:0;padding:0;display:grid;gap:28px}.welcome-steps li{display:flex;gap:23px}.welcome-steps li>span{font-size:13px;color:var(--muted);padding-top:2px}.welcome-steps h3{font-size:18px;margin-bottom:8px}.welcome-steps p{font-size:14px;margin:0;max-width:385px}.welcome-account{border-radius:20px;background:var(--sage);padding:40px 45px;margin:10px 0 40px;max-width:100%}.welcome-account h2{font-size:28px;margin-bottom:15px}.welcome-account>p{max-width:670px;font-size:16px;color:var(--muted)}.welcome-account>p.small{font-size:12px;margin-bottom:0}.welcome-footer{font-size:12px;color:var(--muted);padding-top:24px;padding-bottom:30px}.welcome-footer .text-link{color:var(--ink)}
.welcome .auth-layout{display:grid;grid-template-columns:1.1fr 1fr;align-items:start;gap:95px;padding-top:55px;padding-bottom:60px}.auth-intro h2{font-size:clamp(32px,3.6vw,46px);line-height:1.2;margin-bottom:22px}.auth-intro>p{font-size:17px;color:var(--muted);max-width:390px}.auth-intro>img{width:100%;height:260px;object-fit:cover;border-radius:20px;margin-top:32px}.auth-form-panel{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:36px;max-width:470px;width:100%}.auth-form-panel>.text-link{font-size:12px;margin-bottom:32px;display:inline-block}.auth-form-panel h1{font-size:29px;margin-bottom:13px}.auth-form-panel>p{color:var(--muted);font-size:15px}.auth-form-panel form{margin-top:25px}.auth-form-panel label{display:block;font-weight:600;font-size:13px;margin-bottom:8px}.auth-form-panel input{display:block;width:100%;background:var(--bg);border:1px solid #9aa89f;border-radius:8px;color:var(--ink);padding:13px 14px;font-size:16px;margin-bottom:17px}.auth-form-panel input::placeholder{color:var(--muted)}.auth-form-panel .auth-message{font-size:12px;margin:15px 0 25px;min-height:39px}.auth-form-panel .auth-switch{font-size:13px;border-top:1px solid var(--line);padding-top:23px}.auth-switch a{font-weight:700;color:var(--ink);text-decoration:underline;text-underline-offset:3px}.auth-form-panel .auth-privacy{font-size:11px;margin-bottom:0}.auth-divider{text-align:center;font-size:12px!important;margin:16px 0}.entry-loading{text-align:center;padding:90px 24px!important}
@media(max-width:900px){.welcome-header,.welcome-footer{padding-left:24px;padding-right:24px}.welcome main{padding-left:24px;padding-right:24px}.welcome-hero{gap:25px;padding:45px 0 55px}.welcome-copy h1{font-size:42px}.welcome-copy>p:not(.eyebrow){font-size:16px}.welcome-art{min-height:300px}.welcome-art figcaption{padding:12px 22px 25px}.welcome-art figcaption span:first-child{font-size:20px}.welcome-method{gap:35px;padding:45px 0}.welcome-method h2{font-size:28px}.welcome .auth-layout{gap:35px}.auth-form-panel{padding:27px}.auth-intro>img{height:230px}}
@media(max-width:620px){.welcome-header{height:78px;padding:20px}.welcome-header .brand{font-size:30px}.welcome-header .brand img{width:30px;height:30px}.welcome-header nav{gap:17px}.welcome-header .button{padding:10px 14px;min-height:42px;font-size:12px}.welcome-signin{font-size:13px}.welcome main{padding:0 22px}.welcome-hero{grid-template-columns:1fr;gap:34px;padding:30px 0 40px}.welcome-copy h1{font-size:43px}.welcome-copy>.eyebrow{font-size:9px;margin-bottom:18px}.welcome-copy>p:not(.eyebrow){max-width:370px;margin-bottom:24px}.welcome-art{min-height:0}.welcome-art img{max-height:220px;object-fit:cover}.welcome-art figcaption{padding:8px 24px 23px}.welcome-method{grid-template-columns:1fr;gap:27px;padding:35px 0}.welcome-method h2{font-size:29px}.welcome-method .welcome-note{max-width:100%;margin:15px 0 0}.welcome-steps{gap:23px}.welcome-account{padding:27px 24px;margin-bottom:20px}.welcome-account h2{font-size:25px}.welcome-account>p{font-size:14px}.welcome-footer{padding:20px 22px;gap:20px;font-size:11px}.welcome .auth-layout{display:block;padding:27px 22px 40px}.auth-intro{display:none}.auth-form-panel{margin:auto;max-width:440px;padding:28px 24px}.auth-form-panel h1{font-size:28px}.auth-form-panel>.text-link{margin-bottom:25px}}
@media(prefers-color-scheme:dark){.welcome{--bg:#17261f;--surface:#1e3027;--ink:#e7eee5;--muted:#afbeb3;--line:#3c5043;--sage:#2b4031;--green:#b9d3ae;--green-hover:#cae2c1}.welcome .button.primary{color:#17261f}.welcome .button.secondary{background:var(--surface);color:var(--ink);border-color:var(--line)}.welcome-art img{mix-blend-mode:normal}.welcome-art{background:var(--surface)}.welcome .brand-dot{color:#b9d3ae}}
/* Learn: calm reading space, then a small practice step. */
.learn-day-link{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;margin-bottom:24px;border:1px solid var(--line);border-radius:12px;background:#f2f5ec;color:#53664a;font-size:12px}.learn-day-link strong{font-size:14px}.learn-hero{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:40px;padding:36px 38px;border:1px solid #d6dfcd;border-radius:18px;background:#e8eedf}.learn-hero h2{font-size:28px;margin-top:18px;max-width:420px}.learn-hero p{max-width:480px;color:#687a5e}.learn-count{align-self:center;border-left:1px solid #cbd7bf;padding-left:32px}.learn-count strong{font-family:Manrope,sans-serif;font-size:49px}.learn-count strong span{font-size:20px;font-weight:400;color:#819376}.learn-count p{margin:0 0 15px}.learn-count progress{width:100%;height:6px;accent-color:var(--green)}.learn-count small{display:block;color:#75836a;margin-top:14px;line-height:1.6}.course-units{display:grid;gap:40px;margin-top:40px}.course-unit>header{display:flex;gap:18px;margin-bottom:18px;align-items:flex-start}.unit-number{display:inline-grid;place-content:center;width:43px;min-width:43px;height:43px;border:1px solid #d8e1cf;border-radius:50%;color:#879875;font-size:13px}.course-unit>header h2{margin:0 0 6px;font-size:23px}.course-unit>header p{color:var(--muted);margin:0}.lesson-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.lesson-card{display:flex;flex-direction:column;text-align:left;padding:22px 20px;border:1px solid var(--line);border-radius:12px;background:#fffefb;transition:border-color .15s,background .15s}.lesson-card:hover{border-color:#a7bc97;background:#f5f8ef}.lesson-card h3{margin:14px 0 10px;font-size:17px}.lesson-card p{font-size:12px;color:var(--muted);line-height:1.7}.lesson-card-footer{margin-top:auto;padding-top:13px;display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#839177}.lesson-top{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:35px}.lesson-top .pill{white-space:normal;text-align:right}.lesson-page{max-width:820px;margin:auto}.lesson-heading h1{font-size:36px}.lesson-heading .intro-copy{font-size:15px}.lesson-stages{display:flex;list-style:none;padding:0;margin:30px 0 35px;border-bottom:1px solid var(--line);gap:24px;color:#9ba491;font-size:12px}.lesson-stages li{padding-bottom:12px}.lesson-stages .current{color:var(--green);font-weight:700;border-bottom:2px solid var(--green)}.lesson-section{margin:30px 0}.lesson-section>p{font-size:15px;line-height:1.9;color:#63705e;max-width:720px}.lesson-section h2,.lesson-try h2{font-size:22px}.lesson-vocabulary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:16px 0}.lesson-vocabulary>div{padding:12px 0;border-bottom:1px solid var(--line);break-inside:avoid;overflow-wrap:anywhere}.lesson-vocabulary dt{font-weight:600;font-size:15px;color:#3e5834}.lesson-vocabulary dd{margin:3px 0 0;font-size:12px;color:var(--muted)}.lesson-examples>div{border:1px solid var(--line);border-radius:10px;background:white;padding:18px 22px;margin:12px 0}.lesson-examples p[lang]{font-size:19px;line-height:1.6;margin:0 0 6px}.lesson-examples .translation{margin:0;font-size:13px}.lesson-audio{margin-top:12px;min-height:34px;font-size:11px}.lesson-page .grammar-rule h2{font-size:21px}.lesson-page .grammar-rule p{font-size:14px;line-height:1.8}.lesson-try{padding:22px 25px;border-radius:12px;background:#f2f0e6;margin:32px 0}.lesson-try p{margin-bottom:10px;line-height:1.8}.lesson-try p:last-child{margin-bottom:0}.lesson-bottom{border-top:1px solid var(--line);padding-top:24px;margin-bottom:30px}.lesson-bottom p{font-size:12px;color:var(--muted)}.lesson-return{display:block;margin-top:22px}.lesson-check h2{font-size:22px;line-height:1.5}.lesson-check .answer-options{margin:22px 0}.lesson-summary h2{margin-top:20px}.lesson-summary h3{margin-top:24px}.lesson-summary>.text-link{margin-top:24px}.prep-glossary{margin:22px 0;border-top:1px solid var(--line);padding-top:17px}.prep-glossary summary{cursor:pointer;font-weight:600;color:#607153}.prep-glossary .lesson-vocabulary{max-height:260px;overflow-y:auto;padding-right:12px}.preparation .lesson-examples{margin-top:24px}.exercise-language-help{margin-bottom:22px;font-size:11px}.curriculum-progress{margin-top:28px}
@media(max-width:1100px){.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.learn-hero{padding:28px;gap:24px;grid-template-columns:minmax(0,1fr) 165px}.learn-count{padding-left:20px}}
@media(max-width:650px){.sidebar nav{grid-template-columns:repeat(5,minmax(0,1fr))}.sidebar nav .nav-item{font-size:9px;padding-left:2px;padding-right:2px;gap:4px}.sidebar nav .nav-item span:not(.icon):not(.nav-count){max-width:65px;overflow:hidden;text-overflow:ellipsis}.sidebar nav .nav-count{display:none}.learn-hero{grid-template-columns:1fr;padding:24px;gap:22px}.learn-hero h2{font-size:25px}.learn-count{border-left:0;border-top:1px solid #cbd7bf;padding:20px 0 0}.learn-count strong{font-size:35px}.learn-count small{font-size:10px}.lesson-grid{grid-template-columns:1fr}.course-unit>header h2{font-size:21px}.course-unit>header p{font-size:12px}.lesson-card{padding:20px}.lesson-top{align-items:flex-start;gap:12px;margin-bottom:25px}.lesson-top .pill{max-width:55%;font-size:9px}.lesson-top .text-link{white-space:nowrap;font-size:11px}.lesson-heading h1{font-size:30px}.lesson-vocabulary{gap:0 18px}.lesson-vocabulary dt{font-size:14px}.lesson-stages{gap:18px}.lesson-examples>div{padding:17px}.lesson-examples p[lang]{font-size:17px}.lesson-bottom .button{width:100%}.lesson-check{padding:20px}.lesson-check h2{font-size:20px}.prep-glossary .lesson-vocabulary{max-height:220px}.lesson-summary .settings-actions{flex-direction:column}.learn-day-link{padding:14px 17px}.learn-day-link strong{font-size:13px}}
.mobile-nav-label{display:none}@media(max-width:650px){.sidebar nav .nav-label{display:none}.sidebar nav .mobile-nav-label{display:inline}}
