:root{font-family:Be Vietnam Pro,system-ui,sans-serif;color:#21211e;background:#f6f2e9;font-synthesis:none;--paper: #fffaf1;--teal: #b63b23;--muted: #62615a;--line: #bdb9ae;--soft: #efddd0;--radius: 2px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,select{touch-action:manipulation}button,.button{border:1px solid #bdb9ae;background:var(--paper);color:var(--teal);padding:12px 18px;border-radius:2px;min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:600;cursor:pointer}button:hover,.button:hover{background:#eee5d8}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:var(--teal);color:#fff;border-color:var(--teal)}.primary:hover{background:#96301d}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #bc713f;outline-offset:4px}p{line-height:1.65;margin:8px 0;color:var(--muted)}h1,h2,h3{font-family:Be Vietnam Pro,system-ui,sans-serif;line-height:1.25;letter-spacing:-.035em}h1{font-size:clamp(calc(30px * var(--text-scale, 1)),calc(3.4vw * var(--text-scale, 1)),calc(48px * var(--text-scale, 1)));font-weight:600;margin:14px 0 18px;max-width:750px}h2{font-size:calc(26px * var(--text-scale, 1));font-weight:600;margin:8px 0}h3{font-size:calc(19px * var(--text-scale, 1));margin:8px 0}svg{flex-shrink:0}.eyebrow{font-size:calc(11px * var(--text-scale, 1));letter-spacing:.15em;font-weight:700;color:#726353}.small{font-size:calc(13px * var(--text-scale, 1));color:var(--muted);line-height:1.6}.app{min-height:100vh;padding-left:232px}.sidebar{position:fixed;inset:0 auto 0 0;width:232px;border-right:1px solid var(--line);background:#e7e3d8;padding:34px 24px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;line-height:1.35;font-family:Be Vietnam Pro,sans-serif;font-size:calc(17px * var(--text-scale, 1));font-weight:700}.brand-icon{background:var(--teal);color:#fff;width:38px;height:40px;display:grid;place-items:center;border-radius:2px}.sidebar nav{display:grid;gap:10px;margin-top:58px}.nav-link{display:flex;gap:13px;align-items:center;padding:14px 18px;border-radius:2px;color:#62615a;font-weight:500}.nav-link.active{background:#efddd0;color:var(--teal);font-weight:700}.sidebar-footer{margin-top:auto;border-top:1px solid var(--line);padding-top:24px;font-size:calc(13px * var(--text-scale, 1));color:var(--muted);line-height:1.7}.sidebar .legal-links{margin:0 0 18px;gap:4px}.legal-links a{padding:5px 0;color:var(--teal)}.legal-links a:hover,.legal-links a[aria-current=page]{text-decoration:underline}.legal-page{max-width:760px;overflow-wrap:anywhere}.legal-page section{margin-top:30px}.legal-page h2{font-size:calc(21px * var(--text-scale, 1))}.legal-page a{text-decoration:underline}.storage-details dt{font-weight:700;margin-top:20px}.storage-details dd{margin:8px 0 0}.mobile-legal-links{display:none}@media(max-width:650px){.mobile-legal-links{display:block;margin-top:32px}.mobile-legal-links .legal-links{display:flex;flex-wrap:wrap;gap:18px}}.mobile-header,.mobile-nav{display:none}.page{max-width:1160px;margin:auto;padding:42px 6% 80px}.topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:42px;color:var(--muted);font-size:calc(13px * var(--text-scale, 1))}.topline span{display:flex;gap:7px;align-items:center}.page-header{margin-bottom:34px}.hero-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:32px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}.hero-card h2{font-size:calc(29px * var(--text-scale, 1));margin:12px 0}.hero-card .badge{margin-top:12px}.hero-art{width:130px;height:130px;border-radius:50%;background:#edf0e3;display:grid;place-items:center;color:#637954;border:1px solid #e0e4d3}.hero-actions{display:flex;align-items:center;gap:18px;margin-top:26px;flex-wrap:wrap}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:40px 0 20px}.section-heading h2{font-size:calc(21px * var(--text-scale, 1))}.text-link{font-size:calc(14px * var(--text-scale, 1));text-decoration:underline;text-underline-offset:4px}.path-list{border-top:1px solid var(--line)}.path-row{display:flex;align-items:center;gap:18px;padding:22px 4px;border-bottom:1px solid var(--line)}.path-number{font-size:calc(13px * var(--text-scale, 1));display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border:1px solid #ccd7c6;border-radius:50%;color:#5c725b;background:#eee8dc}.path-copy{flex:1}.path-copy h3{font-size:calc(17px * var(--text-scale, 1));margin:0}.path-copy p{font-size:calc(13px * var(--text-scale, 1));margin:5px 0}.badge{display:inline-flex;align-items:center;gap:5px;font-size:calc(12px * var(--text-scale, 1));line-height:1.4;background:#eee8dc;border:1px solid #dce4d4;border-radius:2px;padding:5px 9px;color:#4c6656;white-space:nowrap}.badge.known{background:#f4eee0;color:#725e38;border-color:#e5dcc7}.quiet-card{padding:22px;border-radius:2px;background:#eee8dc;margin-top:26px;display:flex;align-items:center;gap:16px}.quiet-card p{margin:0}.search-field{display:flex;gap:12px;align-items:center;background:var(--paper);border:1px solid var(--line);padding:0 16px;border-radius:2px;max-width:540px}.search-field input{width:100%;border:0;background:none;min-height:50px;outline-offset:0}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 28px}.filters button{font-size:calc(13px * var(--text-scale, 1));min-height:40px;padding:8px 14px;border-radius:2px}.filters .active{background:var(--teal);color:#fff}.cards{display:grid;grid-template-columns:1fr 1fr;gap:22px}.topic-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:28px;display:flex;flex-direction:column;gap:12px}.topic-card .round-icon{margin-bottom:12px}.topic-card h2{font-size:calc(24px * var(--text-scale, 1))}.topic-card p{flex:1;margin:0 0 8px}.card-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.topic-card .button{align-self:flex-start}.round-icon{display:inline-grid;place-items:center;background:#eee5d8;color:#496348;width:52px;height:52px;border-radius:2px;flex-shrink:0}.stats{display:flex;gap:30px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:32px}.stat strong{display:block;font-size:calc(30px * var(--text-scale, 1));font-weight:500}.stat span{font-size:calc(13px * var(--text-scale, 1));color:var(--muted)}.progress-row{display:flex;gap:18px;align-items:center;flex-wrap:wrap;background:var(--paper);border:1px solid var(--line);border-radius:2px;padding:22px;margin:14px 0}.progress-row .path-copy{min-width:160px}.row-actions{display:flex;gap:8px;flex-wrap:wrap}.notice{border:1px solid #bdb9ae;background:#eee5d8;padding:16px;border-radius:2px;line-height:1.6;margin:18px 0}.notice.error{background:#fff4e7;border-color:#e2c9a7;color:#744615}.toast{display:flex;align-items:center;justify-content:space-between;gap:12px}.empty{padding:30px;border:1px dashed var(--line);border-radius:2px}.text-button{border:0;background:none;padding-left:0;text-decoration:underline;text-underline-offset:4px;font-size:calc(14px * var(--text-scale, 1))}.lesson-shell{max-width:960px;margin:auto;padding:28px 32px 60px}.lesson-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.lesson-top a,.lesson-top button{min-width:44px}.lesson-top .lesson-name{font-size:calc(14px * var(--text-scale, 1));font-weight:600}.lesson-progress{height:5px;background:#e1e4d9;border-radius:2px;margin:22px 0 12px;overflow:hidden}.lesson-progress div{height:100%;background:#668362;transition:width .2s}.step-meta{display:flex;justify-content:space-between;font-size:calc(12px * var(--text-scale, 1));color:var(--muted);margin-bottom:30px}.lesson-card{background:var(--paper);border:1px solid var(--line);border-radius:2px;padding:36px}.activity-heading{display:flex;gap:18px;align-items:center;margin-bottom:28px}.activity-heading h2{font-size:calc(29px * var(--text-scale, 1))}.audio-panel{padding:26px;border:1px solid #bdb9ae;background:#eee8dc;border-radius:2px}.audio-title{font-size:calc(20px * var(--text-scale, 1));color:var(--teal);font-weight:600}.audio-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0 12px}.speed{display:flex;gap:8px;align-items:center;font-size:calc(13px * var(--text-scale, 1))}.speed select{background:#fffaf1}.help-row{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.help-row button{font-size:calc(13px * var(--text-scale, 1));background:transparent}.reveal{padding:22px;background:#eee8dc;border:1px solid #c9beae;border-radius:2px;margin:18px 0}.reveal p[lang=vi],.vietnamese{color:var(--teal);font-size:calc(21px * var(--text-scale, 1));line-height:1.7}.reveal dl div{display:flex;gap:16px;flex-wrap:wrap;font-size:calc(14px * var(--text-scale, 1));margin:10px 0}.reveal dd{margin:0;color:var(--muted)}.reveal dt{font-weight:600}.question{border:0;padding:0;margin:30px 0 22px;min-width:0}.question legend{font-size:calc(20px * var(--text-scale, 1));font-weight:600;margin-bottom:18px}.choices{display:grid;gap:10px}.choice{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:2px;padding:15px;cursor:pointer;line-height:1.5}.choice.selected{background:#edf3e9;border-color:#6a8663}.choice input{accent-color:var(--teal);width:17px;height:17px;flex-shrink:0}.choice-letter{font-size:calc(12px * var(--text-scale, 1));color:var(--muted);border:1px solid var(--line);border-radius:2px;padding:2px 7px}.feedback{padding:18px 22px;border-radius:2px;background:#f4eee1;border:1px solid #e4d8bf;margin:18px 0}.feedback.positive{background:#edf3e8;border-color:#cadac0}.lesson-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:24px;margin-top:28px}.lesson-bottom p{font-size:calc(12px * var(--text-scale, 1));max-width:380px}.prompt{color:var(--teal);font-size:calc(20px * var(--text-scale, 1));line-height:1.7;margin:20px 0 28px}.field-label{display:block;font-weight:600;font-size:calc(14px * var(--text-scale, 1));margin:12px 0}.field-label select{display:block;margin:10px 0}select{min-height:44px;border:1px solid var(--line);border-radius:2px;padding:8px;background:#fff;max-width:100%;color:var(--teal)}textarea{width:100%;min-height:180px;resize:vertical;padding:18px;border:1px solid #cbd4c4;border-radius:2px;color:var(--teal);background:#fffaf1;font-size:calc(19px * var(--text-scale, 1));line-height:1.7}.record-panel{border:1px solid var(--line);border-radius:2px;padding:24px}.record-panel button{margin:14px 8px 8px 0}audio{display:block;width:100%;margin:20px 0}.recap-phrases{margin:26px 0}.recap-phrases div{padding:18px 0;border-bottom:1px solid var(--line)}.recap-phrases dt{font-size:calc(23px * var(--text-scale, 1))}.recap-phrases dd{margin:5px 0;color:var(--muted)}.intro-meta{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.intro-notes{margin:26px 0;padding-left:22px;color:var(--muted);line-height:2}.skip-link{position:absolute;left:12px;top:-80px;z-index:100;background:#fff;padding:12px}.skip-link:focus{top:10px}@media(max-width:900px){.app{padding-left:190px}.sidebar{width:190px;padding:28px 16px}.page{padding:30px 5% 70px}.hero-art{width:90px;height:90px}.hero-card{padding:24px}.cards{gap:14px}.topic-card{padding:22px}.hero-card h2{font-size:calc(25px * var(--text-scale, 1))}}@media(max-width:650px){.app{padding:0 0 85px}.sidebar{display:none}.mobile-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line);background:#e7e3d8}.mobile-header .brand{font-size:calc(14px * var(--text-scale, 1))}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;justify-content:space-around;padding:7px 12px max(7px,env(safe-area-inset-bottom));background:#fffaf1;border-top:1px solid var(--line);z-index:5}.mobile-nav .nav-link{flex-direction:column;gap:4px;padding:9px 18px;font-size:calc(11px * var(--text-scale, 1))}.page{padding:26px 22px 35px}.topline{margin-bottom:26px}.topline span:last-child{display:none}h1{font-size:calc(34px * var(--text-scale, 1));letter-spacing:-.04em}.page-header{margin-bottom:26px}.hero-card{grid-template-columns:1fr;padding:24px}.hero-art{display:none}.hero-actions{align-items:stretch;flex-direction:column;gap:12px}.hero-actions .primary{width:100%}.cards{grid-template-columns:1fr}.topic-card{padding:24px}.path-row{gap:12px;align-items:flex-start;flex-wrap:wrap}.path-row>.badge{margin-left:52px}.path-copy h3{font-size:calc(16px * var(--text-scale, 1))}.quiet-card{padding:18px;align-items:flex-start}.quiet-card svg{width:22px}.section-heading{gap:10px}.section-heading .text-link{font-size:calc(12px * var(--text-scale, 1))}.stats{gap:20px;flex-wrap:wrap}.stat strong{font-size:calc(26px * var(--text-scale, 1))}.lesson-shell{padding:18px 16px 34px}.lesson-name{max-width:180px;text-align:center}.lesson-card{padding:24px 18px}.activity-heading{gap:12px;align-items:flex-start}.activity-heading h2{font-size:calc(25px * var(--text-scale, 1))}.activity-heading .round-icon{width:42px;height:42px}.audio-panel{padding:20px 16px}.audio-controls{align-items:stretch}.audio-controls>.primary{width:100%}.question legend{font-size:calc(18px * var(--text-scale, 1))}.choice{padding:12px;gap:9px}.choice-letter{display:none}.lesson-bottom{flex-direction:column;align-items:stretch}.lesson-bottom button,.row-actions{width:100%}.row-actions button{flex:1}.progress-row{padding:18px}.toast{flex-wrap:wrap}.reveal{padding:18px}.reveal p[lang=vi],.vietnamese{font-size:calc(19px * var(--text-scale, 1))}.brand-icon{width:32px;height:34px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}.account-page .actions{display:flex;gap:12px;flex-wrap:wrap}.account-page input{display:block;width:min(100%,380px);padding:12px;margin:10px 0 16px}.account-page form{margin-bottom:20px}.recovery-code{font-size:clamp(1rem,calc(4vw * var(--text-scale, 1)),1.8rem);letter-spacing:.06em;font-weight:700;overflow-wrap:anywhere}@media(max-width:760px){.mobile-nav .nav-link{font-size:calc(11px * var(--text-scale, 1));padding-inline:5px}}.save-code-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.sidebar-save-code{display:grid;gap:10px;margin:0 0 22px;padding:12px;border:1px solid var(--border);border-radius:2px;font-size:calc(12px * var(--text-scale, 1))}.sidebar-save-code strong{overflow-wrap:anywhere}.sidebar-save-code button{padding:6px 10px;justify-self:start;font-size:calc(12px * var(--text-scale, 1))}.welcome-notice{display:flex;align-items:center;gap:16px;margin-bottom:24px}.welcome-notice p{margin:0}.account-page button:disabled{opacity:.45;cursor:not-allowed}.load-code-row{display:flex;align-items:stretch;gap:12px;margin-top:10px}.account-page .load-code-row input{flex:1;min-width:0;width:100%;max-width:380px;margin:0}.load-code-row button{flex:none}.sidebar-footer .sidebar-save-code{border:0;border-radius:0;padding:0;margin:0 0 18px;gap:4px}.mobile-header{position:relative}.mobile-menu-toggle{padding:10px;display:inline-flex;align-items:center;justify-content:center}.mobile-menu{position:absolute;right:16px;top:calc(100% - 8px);z-index:20;width:min(310px,calc(100vw - 32px));padding:14px;border:1px solid var(--line);border-radius:2px;background:#fffaf1;box-shadow:0 10px 30px #183c3220;display:grid;gap:4px}.mobile-menu-code{display:grid;gap:6px;padding:10px 12px 16px;overflow-wrap:anywhere;border-bottom:1px solid var(--line);margin-bottom:6px}.mobile-menu a,.mobile-menu button{padding:12px;text-align:left;border:0;border-radius:2px;background:transparent;color:var(--teal);text-decoration:none;font-size:calc(15px * var(--text-scale, 1))}.mobile-menu button:disabled{color:var(--muted);cursor:not-allowed}.mobile-menu a:hover{background:#eee8dc}@media(max-width:650px){.mobile-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.mobile-nav .nav-link{width:100%;min-width:0;padding-inline:4px;justify-content:center;text-align:center}.progress-entry .row-actions>.button,.progress-entry .row-actions>button{flex:0 0 112px;width:112px;justify-content:center}}@media(max-width:400px){.load-code-row{gap:8px}.load-code-row button{padding-inline:10px;font-size:calc(13px * var(--text-scale, 1))}.account-page .load-code-row input{padding-inline:8px;font-size:calc(13px * var(--text-scale, 1))}}html{font-size:calc(16px * var(--text-scale, 1))}.settings-page select{display:block;width:min(100%,380px);padding:12px;margin-top:10px;background:var(--paper);color:var(--teal);border:1px solid var(--line);border-radius:2px}.volume-controls{display:flex;align-items:center;gap:18px;max-width:480px;margin:12px 0}.volume-controls input{flex:1;min-width:0;accent-color:var(--teal)}.settings-toggle{display:flex;align-items:center;gap:12px}.settings-toggle input{width:22px;height:22px;accent-color:var(--teal)}.desktop-settings{display:block;margin:-12px 0 14px;text-align:right;color:var(--muted)}html[data-animations=false] *,html[data-animations=false] *:before,html[data-animations=false] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.desktop-page-tools{display:flex;justify-content:flex-end;margin-bottom:12px}.desktop-page-tools .desktop-settings{margin:0}@media(max-width:650px){.desktop-page-tools{display:none}}.footer-settings{display:flex;align-items:center;gap:12px;border:1px solid #bdb9ae;border-radius:2px;padding:12px 14px;margin-bottom:20px;background:#efddd0;color:var(--teal);font-weight:700;font-size:calc(15px * var(--text-scale, 1))}.footer-settings:hover,.footer-settings[aria-current=page]{background:#e9c9b9;border-color:#b63b23}.mobile-menu .footer-settings{display:flex;background:#efddd0;margin-bottom:8px}.settings-select{position:relative;max-width:430px}.settings-select-label{display:block;margin-bottom:10px}.settings-select-trigger{display:flex;justify-content:space-between;width:100%;text-align:left;padding:14px 16px;background:var(--paper);border:1px solid #bdb9ae;border-radius:2px;font-weight:500}.settings-select-trigger[aria-expanded=true]{border-color:var(--teal);box-shadow:0 0 0 3px #164b4410}.settings-select-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.settings-select-options{position:absolute;z-index:8;top:calc(100% + 8px);left:0;right:0;padding:6px;border:1px solid #bdb9ae;border-radius:2px;background:var(--paper);box-shadow:0 12px 32px #173d3220}.settings-select-options button{width:100%;display:flex;justify-content:space-between;gap:10px;padding:12px;border:0;text-align:left;border-radius:2px;background:transparent}.settings-select-options button.highlighted{background:#eee8dc}.settings-select-options button[aria-selected=true]{background:#efddd0}.settings-select-options strong{display:block;font-weight:600}.settings-select-options small{display:block;margin-top:4px;font-weight:400;color:var(--muted);font-size:.82em;line-height:1.45}.settings-option-check{display:flex;flex:0 0 20px;color:var(--teal)}.sidebar>.brand{margin-bottom:0}.sidebar>nav{margin-top:24px}.sidebar-footer .footer-settings{margin-bottom:12px}.settings-version{margin-top:36px;font-size:.85rem;color:var(--muted)}.welcome-dialog{width:min(540px,calc(100vw - 36px));max-height:calc(100dvh - 48px);padding:0;border:1px solid #bdb9ae;border-radius:2px;background:var(--paper);color:var(--teal);box-shadow:0 24px 70px #173c3233}.welcome-dialog::backdrop{background:#18382e66;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.welcome-dialog-content{padding:28px}.welcome-dialog p{margin:0 0 22px}.welcome-dialog a{text-decoration:underline;font-weight:600}.donations-link{display:block;padding:6px 0;font-weight:600;color:var(--teal)}.sidebar-footer .legal-links{margin-bottom:0}.donation-card{padding:28px;border:1px solid #bdb9ae;border-radius:2px;background:#eee5d8}.donation-card>svg{color:var(--teal)}.section-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 0;color:var(--muted);font-size:calc(13px * var(--text-scale, 1))}.word-list-trigger{font-size:calc(13px * var(--text-scale, 1));min-height:42px}.word-dialog{width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:28px;border:1px solid var(--line);border-radius:2px;background:var(--paper);color:var(--teal);overflow:auto}.word-dialog::backdrop{background:#182f286b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dictionary-header{display:flex;justify-content:space-between;gap:16px;align-items:center;position:sticky;top:-28px;background:var(--paper);padding:12px 0;z-index:1}.dictionary-header h2{margin:4px 0}.dictionary-header .eyebrow{font-size:calc(10px * var(--text-scale, 1))}.dictionary-entry{padding:22px 0;border-top:1px solid var(--line)}.dictionary-word{display:flex;align-items:center;justify-content:space-between;gap:14px}.dictionary-word h3{font-size:calc(27px * var(--text-scale, 1));margin:0}.dictionary-word p{margin:4px 0}.dictionary-entry details{font-size:calc(14px * var(--text-scale, 1));margin-top:14px}.dictionary-entry summary{cursor:pointer;padding:10px 0;text-decoration:underline;text-underline-offset:3px}.dictionary-entry details p[lang=vi]{font-size:calc(18px * var(--text-scale, 1));color:var(--teal)}.dictionary-footer{display:flex;gap:12px;justify-content:flex-end;padding-top:12px}.vocabulary-focus{background:#eee5d8;border:1px solid #c9beae;border-radius:2px;padding:32px;text-align:center}.vocabulary-focus h2{font-size:clamp(calc(36px * var(--text-scale, 1)),calc(7vw * var(--text-scale, 1)),calc(56px * var(--text-scale, 1)));line-height:1.3;margin:14px 0;color:var(--teal)}.word-meaning{font-size:calc(22px * var(--text-scale, 1));margin:0 0 24px}.word-note{margin:22px 0}.recall-input{display:block;width:100%;padding:16px;margin:12px 0 20px;background:var(--paper);border:1px solid #bdb9ae;border-radius:2px;font-size:calc(22px * var(--text-scale, 1));color:var(--teal)}.menu-reading{white-space:pre-line;background:#f2ecde;border:1px solid #d7ccb5;border-radius:2px;padding:32px;font-size:calc(23px * var(--text-scale, 1));line-height:1.9;letter-spacing:.02em}.level-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);padding-bottom:12px;flex-wrap:wrap}.level-tabs button{background:transparent;border-color:transparent;font-size:calc(14px * var(--text-scale, 1))}.level-tabs button.active{background:#efddd0;border-color:#c29c86}.level-description{margin:14px 0 26px}.unit-durations{display:flex;gap:12px;flex-wrap:wrap;font-size:calc(13px * var(--text-scale, 1));color:var(--muted);margin:4px 0 16px}.unit-heading{margin-top:30px}.section-cards .word-list-trigger{align-self:flex-start;margin-top:4px}.section-cards .card-foot{margin-top:12px}@media(max-width:650px){.word-dialog{padding:20px;width:calc(100vw - 20px);max-height:calc(100dvh - 24px)}.dictionary-header{top:-20px}.dictionary-word{gap:12px}.dictionary-word button{padding:10px}.dictionary-word button span{display:none}.dictionary-header .eyebrow{letter-spacing:.08em}.dictionary-word h3{font-size:calc(25px * var(--text-scale, 1))}.vocabulary-focus{padding:26px 18px}.word-meaning{font-size:calc(20px * var(--text-scale, 1))}.level-tabs{gap:0}.level-tabs button{font-size:calc(12px * var(--text-scale, 1));padding:10px}.menu-reading{padding:24px;font-size:calc(21px * var(--text-scale, 1))}.section-bar{font-size:calc(12px * var(--text-scale, 1))}}.topic-card.completed-card,.progress-row.completed-card{background:#e3efdf;border-color:#9db88f}.completed-label{background:#dbead4;padding:4px 8px;border-radius:2px}.unavailable-card{background:#f1f0eb;color:var(--muted)}.browse-sort{display:flex;gap:12px;align-items:center;margin:24px 0;flex-wrap:wrap}.browse-sort select{padding:12px;border:1px solid var(--line);border-radius:2px;background:var(--paper);color:var(--teal);font:inherit}.subtopic-group{margin:32px 0}.difficulty-group{margin:24px 0}.known-stat{text-align:left;background:transparent;border:1px solid var(--line)}.known-lesson{align-items:stretch}.known-lesson>.path-copy{flex-basis:100%}.skipped-step{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;border-top:1px solid var(--line);width:100%}.step-known{margin-top:20px;text-align:left}.reveal>button+button{margin-left:8px}@media(max-width:650px){.skipped-step{align-items:flex-start;flex-wrap:wrap}.path-row .path-copy{flex-basis:65%}.reveal>button{margin:6px 0}.reveal>button+button{margin-left:0}}.explore-legend{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0;font-size:calc(12px * var(--text-scale, 1))}.level-state.new{background:#edf0f2;color:#384952;border-color:#b8c3c8}.level-state.started{background:#fff0ce;color:#754c0b;border-color:#d3aa5b}.level-state.complete{background:#dcebd6;color:#285331;border-color:#9aba92}.explore-legend span{padding:6px 10px;border-radius:2px;border:1px solid}.subtopic-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:2px;overflow:hidden;background:var(--paper)}.subtopic-table th,.subtopic-table td{padding:24px;text-align:left;vertical-align:middle}.subtopic-table thead{background:var(--soft);font-size:calc(13px * var(--text-scale, 1))}.subtopic-table tbody tr+tr>*{border-top:1px solid var(--line)}.subtopic-table tbody th{width:42%;font-weight:400}.subtopic-table h3{margin:0 0 10px;font-size:calc(18px * var(--text-scale, 1));line-height:1.45}.subtopic-table p{margin:0;color:var(--muted);font-size:calc(14px * var(--text-scale, 1));line-height:1.6}.difficulty-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.difficulty-choice{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:13px 16px;min-height:72px}.difficulty-choice span{font-size:calc(12px * var(--text-scale, 1))}.lesson-choice-dialog{width:min(720px,calc(100vw - 32px))}.lesson-choice-dialog .dictionary-header{position:static;align-items:flex-start}.lesson-choice-dialog h2{font-size:calc(23px * var(--text-scale, 1));line-height:1.4}.lesson-choice-dialog .dictionary-header button{flex-shrink:0;min-width:44px;min-height:44px;padding:8px}.lesson-options{display:grid;gap:14px;margin-top:20px}.lesson-option{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid;border-radius:2px;padding:20px;text-decoration:none}.lesson-option h3{margin:0 0 8px}.lesson-option p{margin:0 0 12px;line-height:1.5}.lesson-option .small{color:inherit}.lesson-option>svg{flex-shrink:0}.lesson-option:hover{filter:brightness(.97)}@media(min-width:1250px){.difficulty-buttons{grid-template-columns:repeat(4,minmax(0,1fr))}.subtopic-table tbody th{width:36%}}@media(max-width:700px){.subtopic-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.subtopic-table,.subtopic-table tbody,.subtopic-table tr,.subtopic-table th,.subtopic-table td{display:block;width:100%}.subtopic-table tbody th{width:100%;padding:20px 20px 12px}.subtopic-table td{padding:0 20px 20px}.subtopic-table tbody tr+tr td{border-top:0}.lesson-choice-dialog{padding:18px}.lesson-choice-dialog h2{font-size:calc(20px * var(--text-scale, 1))}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.progress-filters{flex-wrap:wrap}.progress-more{display:flex;justify-content:center;padding:24px}.known-step-list{width:100%}.known-meaning{display:block;color:var(--muted);margin-top:6px}.known-lesson>button{justify-self:start}.progress-row,.path-row{border-radius:2px}.progress-row>.path-copy,.path-row>.path-copy{flex:1;min-width:0}.progress-row>.button,.path-row>.button{flex-shrink:0}.known-lesson{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.known-step-list{grid-column:1 / -1}.skipped-step{display:grid;grid-template-columns:minmax(0,1fr) 104px;align-items:center;padding:14px 0;gap:16px}.skipped-step>button{width:104px;justify-self:end;margin:0}.skipped-step>span{min-width:0;overflow-wrap:anywhere}.progress-topic-filters{flex-wrap:wrap;margin-top:12px}.learning-summary{display:block;padding:28px}.learning-summary h2{font-size:calc(26px * var(--text-scale, 1))}.learning-summary .button{margin-top:12px}@media(max-width:650px){.known-lesson{grid-template-columns:minmax(0,1fr)}.known-lesson>button{justify-self:start}.skipped-step{grid-template-columns:minmax(0,1fr) 96px;gap:10px}.skipped-step>button{width:96px;padding:10px}.learning-summary{padding:22px}.progress-row,.path-row{padding:18px}}.lesson-option{display:block}.lesson-option .button{margin-top:18px}.lesson-details>*{margin:0 0 10px}.lesson-details .lesson-purpose{font-size:calc(20px * var(--text-scale, 1));line-height:1.4}.lesson-details .lesson-hierarchy{margin-bottom:0;font-size:calc(14px * var(--text-scale, 1));line-height:1.6}.just-completed{display:block;width:fit-content;margin-top:12px;padding:6px 10px;border-radius:2px;background:#b63b23;color:#fff;font-size:calc(13px * var(--text-scale, 1))}.writing-action{margin-top:20px}.path-row>.lesson-details{flex:1;min-width:0}.progress-row>.row-actions{margin-left:auto;align-items:center}.lesson-bottom.vocabulary-actions{flex-direction:row}.lesson-bottom.vocabulary-actions button{width:auto}.lesson-card .lesson-bottom{justify-content:flex-start;align-items:flex-start}.audio-toggle{display:inline-grid}.audio-toggle-label{grid-area:1 / 1;display:inline-flex;align-items:center;justify-content:center;gap:8px}.help-row button[aria-expanded=true]{background:#b63b23;border-color:#b63b23;color:#fff}.audio-toggle-label svg{flex-shrink:0}button.audio-toggle.audio-active{background:#f5dfb3;border-color:#98712e;color:#563c10}.conversation-timeline{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:8px;margin:16px 0}.conversation-timeline label{margin:0}.conversation-timeline input{width:100%;min-width:0;accent-color:#b63b23;cursor:pointer}.conversation-timeline input:disabled{cursor:default}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/font-0-CCxn3Epz.ttf) format("truetype")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/font-2-RZZ47rCX.ttf) format("truetype")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/font-1-CQj3XIHL.ttf) format("truetype")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/font-7-R3VvECUm.ttf) format("truetype")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/font-5-DrIwHL7b.ttf) format("truetype")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/font-6-COaeNqES.ttf) format("truetype")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/font-3-DkhXibQx.ttf) format("truetype")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/font-4-C2YjVc0y.ttf) format("truetype")}:root{--ink: #21211e;--accent: #b63b23;--display-font: "Barlow Condensed", "Arial Narrow", sans-serif;--body-font: "Be Vietnam Pro", system-ui, sans-serif;font-family:var(--body-font)}h1,.page-header h2,.section-heading h2,.topic-card>h2{font-family:var(--display-font);text-transform:uppercase;font-weight:600;letter-spacing:-.015em;line-height:1.08}h1{font-size:clamp(calc(42px * var(--text-scale, 1)),5vw,calc(72px * var(--text-scale, 1)));max-width:1000px;margin:12px 0 20px}h2,h3{letter-spacing:-.02em}.lesson-card h1{font-size:calc(48px * var(--text-scale, 1));line-height:1.12}.section-heading h2{font-size:calc(30px * var(--text-scale, 1))}.eyebrow{color:#71604f;letter-spacing:.1em}.page-header{border-top:2px solid var(--ink);padding-top:22px}.brand{font-family:var(--display-font);font-size:calc(27px * var(--text-scale, 1));font-weight:600;text-transform:uppercase;letter-spacing:0;line-height:1.04}.brand-icon{background:var(--accent);border-radius:0}.sidebar{border-right-color:var(--ink)}.sidebar .nav-link{padding:12px 14px}.sidebar .nav-link.active{border-left:3px solid var(--accent);padding-left:11px}.footer-settings,.mobile-menu .footer-settings{background:transparent;border-color:var(--ink);color:var(--ink)}.footer-settings:hover,.footer-settings[aria-current=page]{background:var(--soft)}button,.button{border-radius:2px}.primary{border-color:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:#174bc1}.filters[aria-label="Choose a topic"]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:1px;border:1px solid var(--ink);background:var(--ink)}.filters[aria-label="Choose a topic"] button{position:relative;min-width:0;margin:0;border:0;border-radius:0;min-height:72px;padding:14px 26px;line-height:1.4;text-align:center;overflow-wrap:anywhere;background:#f6f2e9;color:var(--ink)}.topic-selection-check{position:absolute;right:8px;top:8px}.filters[aria-label="Choose a topic"] button:focus-visible{outline-offset:-4px;z-index:1}.filters[aria-label="Choose a topic"] button.active{background:var(--accent);color:#fff}.filters[aria-label="Choose a topic"] button:hover:not(.active){background:var(--soft)}.subtopic-table{border-color:var(--ink);background:transparent}.subtopic-table thead{background:#e7e3d8}.subtopic-table tbody th{border-right:1px solid var(--line)}.subtopic-table h3{font-weight:600}.hero-card,.topic-card,.progress-row,.lesson-card{border-color:var(--ink)}.hero-card,.topic-card{background:transparent}.quiet-card{border-left:4px solid var(--accent)}.round-icon,.hero-art{background:var(--soft);color:var(--accent);border-color:#cfb6a6}.settings-select-trigger[aria-expanded=true]{box-shadow:0 0 0 3px #b63b2318}.settings-select-options,.mobile-menu{box-shadow:4px 5px #21211e18}.welcome-dialog{border-color:var(--ink);box-shadow:8px 8px #21211e26}.welcome-dialog::backdrop{background:#21211e80}.donation-card{border-color:var(--accent);border-top-width:5px}.conversation-timeline input,input[type=range]{accent-color:var(--accent)}.progress-fill{background:var(--accent)}@media(max-width:900px){.filters[aria-label="Choose a topic"]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){h1{font-size:calc(44px * var(--text-scale, 1));letter-spacing:-.015em}.lesson-card h1{font-size:calc(36px * var(--text-scale, 1))}.page-header{padding-top:18px}.mobile-header .brand{font-size:calc(21px * var(--text-scale, 1))}.mobile-nav{border-top-color:var(--ink)}.mobile-nav .nav-link.active{background:var(--soft)}.filters[aria-label="Choose a topic"] button{padding:14px 20px;font-size:calc(12px * var(--text-scale, 1))}.subtopic-table tbody th{border-right:0}}
