:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;color:#193b3e;background:#f3f6f5;--ink:#123f42;--muted:#5c7274;--line:#d9e3e1;--accent:#e87940;--white:#fff}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}button,a,input,select,summary{ -webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #de7840;outline-offset:4px}button{border:0}button,input,select{max-width:100%}p{line-height:1.65}h1,h2,h3,p{margin-top:0}.skip{position:fixed;top:-100px;background:white;padding:15px;z-index:100}.skip:focus{top:10px}.sidebar{width:246px;position:fixed;inset:0 auto 0 0;background:var(--ink);color:#e6f1ef;padding:38px 25px 25px;display:flex;flex-direction:column;overflow-y:auto;z-index:30}.brand{font-size:34px;letter-spacing:-1.5px;font-weight:750;line-height:1.02;margin-bottom:54px;display:block}.brand>span{display:block;font-family:Georgia,serif;font-style:italic;font-weight:400;font-size:30px;letter-spacing:-1px}.brand-dot{color:#ffbf70}.nav-heading{font-size:10px;letter-spacing:1.5px;color:#a4bfbb;margin-bottom:17px}.sidebar nav{display:flex;flex-direction:column;gap:7px}.nav-item{display:flex;gap:12px;align-items:center;padding:12px 10px;border-radius:8px;line-height:1.4;font-size:14px;color:#c5d8d5}.nav-item:hover{background:#ffffff09}.nav-item.active{background:#ffffff14;color:white}.nav-item.active .nav-symbol{color:#ffcc85}.nav-symbol{font-family:Georgia,serif;font-size:20px;min-width:25px;color:#9ab7b1}.nav-item small{font-size:11px;display:block;color:#a4bfbb}.sidebar-bottom{margin-top:auto;padding-top:46px}.sidebar-bottom .quote{font-family:Georgia,serif;font-size:26px;line-height:1.25;color:#e6d6b4;font-style:italic;margin:0 0 10px}.sidebar-bottom p:not(.quote){font-size:12px;color:#a4bfbb}.sidebar-bottom a{display:inline-block;margin-top:20px;font-size:12px;color:#c5d8d5;text-decoration:underline;text-underline-offset:4px}.mobile-header{display:none}main{margin-left:246px;padding:35px 46px 28px;max-width:1550px;min-height:100dvh}.topline{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:22px;margin-bottom:33px;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}.topline a{text-decoration:underline;text-underline-offset:3px}.stat-pill{background:#e4edeb;color:#325b54;padding:8px 13px;border-radius:20px;white-space:nowrap;font-size:12px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:2px;color:#62817c;margin-bottom:12px}.page-head{display:flex;gap:20px;align-items:flex-end;justify-content:space-between;margin-bottom:27px}.page-head h1{font-size:43px;letter-spacing:-1.7px;line-height:1.12;margin-bottom:12px;font-weight:700}.page-head p{color:var(--muted);font-size:16px;margin-bottom:0;max-width:650px}.head-mark{font:italic 76px Georgia,serif;color:#a9beb8;line-height:1}.section-line{display:flex;justify-content:space-between;align-items:center;margin:28px 0 17px;gap:16px}.section-line h2{font-size:18px;letter-spacing:-.4px;margin:0}.section-line span{font-size:12px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.category-card{border:1px solid var(--line);border-radius:15px;background:#fff;padding:24px;display:flex;flex-direction:column;min-height:220px;transition:transform .18s,box-shadow .18s}.category-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px #153a3c0b}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.letter{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;font:italic 32px Georgia,serif;background:#e1eee9;color:#245c52}.blue .letter{background:#e4edfd;color:#2e59a4}.orange .letter{background:#fff0e4;color:#b85927}.purple .letter{background:#eee8fc;color:#7650ac}.gold .letter{background:#faeeca;color:#8b6916}.count{font-size:12px;color:var(--muted);border:1px solid var(--line);padding:6px 9px;border-radius:20px}.category-card h3{font-size:25px;letter-spacing:-.7px;margin:0 0 5px}.category-card h3 small{font-size:14px;font-weight:400;letter-spacing:0;color:var(--muted);margin-left:7px}.category-card p{color:var(--muted);font-size:14px;margin:4px 0 20px}.card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:auto;font-size:13px}.card-bottom span:first-child{color:#6a807a}.category-card.wide{grid-column:1/-1;background:#e9eeea;min-height:180px}.category-card.wide .card-top{margin-bottom:12px}.home-note{display:flex;gap:15px;margin-top:25px;padding:19px 0;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.home-note b{color:var(--ink)}.footer{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#6a817d;margin-top:35px;padding-top:20px;border-top:1px solid var(--line)}.tabs{display:flex;gap:8px;margin-bottom:19px;flex-wrap:wrap}.tab{padding:13px 18px;border:1px solid var(--line);background:transparent;border-radius:9px;color:#57726f;font-size:14px}.tab.active{background:var(--ink);color:#fff;border-color:var(--ink)}.learning-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:22px;align-items:start}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;min-width:0}.controls{display:flex;align-items:center;gap:18px;justify-content:space-between;padding:18px 23px;border-bottom:1px solid #e4ebe8;flex-wrap:wrap}.control{font-size:12px;color:var(--muted);display:flex;flex-direction:column;gap:4px}.control select{border:0;background:transparent;color:var(--ink);font-size:14px;padding:4px 20px 4px 0;cursor:pointer;min-height:30px}.mode-chip{font-size:11px;letter-spacing:1px;background:#edf4f1;color:#50746b;padding:7px 10px;border-radius:5px}.game{padding:24px 28px 28px;min-height:360px}.progress-meta{display:flex;justify-content:space-between;font-size:12px;color:#617c75;gap:15px}.progress-bar{height:4px;border-radius:6px;background:#e8efed;margin:12px 0 26px;overflow:hidden}.progress-bar i{height:100%;display:block;background:#dc8044}.prompt{text-align:center;font-size:14px;color:var(--muted);margin:0 0 12px}.word{font-size:36px;line-height:1.25;font-weight:650;text-align:center;letter-spacing:-.8px;margin:10px 0 18px;overflow-wrap:anywhere}.word.long{font-size:27px}.translation{font-size:16px;text-align:center;color:var(--muted);margin-bottom:20px}.person{text-align:center;font-size:21px;font-weight:650;line-height:1.45;margin:20px 0}.answers{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:28px}.answer{background:#fff;border:1px solid #cfdeda;border-radius:10px;padding:16px;text-align:left;font-size:16px;line-height:1.5;color:#244e4c;min-height:70px;overflow-wrap:anywhere}.answer:hover:not(:disabled){background:#f0f7f4;border-color:#60988a}.answer.correct{background:#e5f3eb;border-color:#63a081;color:#235737}.answer.wrong{background:#fff0e8;border-color:#c7744f;color:#8e432d}.primary,.secondary{padding:14px 18px;min-height:48px;border-radius:9px;font-size:15px;line-height:1.4;font-weight:600}.primary{background:var(--ink);color:#fff}.primary:hover:not(:disabled){background:#20585a}.primary:disabled{opacity:.6}.secondary{background:#fff;border:1px solid #cbdcd5;color:#345e56}.block{display:block;width:100%;margin-top:17px}.feedback{border-radius:10px;background:#e9f4ee;padding:16px;margin-top:18px;font-size:15px;line-height:1.6;color:#2e614d}.feedback.bad{background:#fff0e8;color:#8a4932}.feedback p{margin:6px 0 0}.answer-input,.search{display:block;width:100%;border:1px solid #b9ceca;border-radius:9px;padding:14px 16px;min-height:50px;background:#fff;color:#193b3e}.answer-input{font-size:22px;text-align:center}.accents{display:flex;gap:7px;justify-content:center;margin-top:11px}.accents button{background:#edf4f1;color:#305f52;border-radius:6px;padding:9px 10px;min-width:33px}.hint{font-size:13px;color:var(--muted);text-align:center;line-height:1.5;margin:12px 0}.study-aside{background:#e5ede9;padding:23px;border-radius:14px}.study-aside h2{font-size:23px;line-height:1.2;letter-spacing:-.5px}.study-aside p{font-size:14px;color:#577168}.study-aside hr{border:0;border-top:1px solid #cbdcd3;margin:22px 0}.study-aside .aside-label{font-size:10px;letter-spacing:1.6px;color:#607d72;margin-bottom:13px}.study-aside .local-note{font-size:12px}.table-wrap{overflow-x:auto;margin:20px 0;max-width:100%;border-radius:7px}.forms,.lesson-table{width:100%;border-collapse:collapse;font-size:15px;text-align:left}.forms td,.lesson-table td,.lesson-table th{padding:10px 12px;border-bottom:1px solid #e0e8e4;line-height:1.5}.forms td:first-child{color:#657a74}.forms td:last-child{font-weight:650}.lesson-table th{background:#eaf1ed;font-size:13px;color:#345b53;font-weight:650}.detail-note{font-size:14px;line-height:1.65;padding:14px 16px;border-left:3px solid #d68a55;background:#f7f5ef;color:#5d6d60}.detail-note:empty{display:none}.examples{margin-top:18px}.example{padding:13px 0;border-bottom:1px solid #e7ede9}.example p{margin:0;font-size:15px}.example p+ p{font-size:14px;color:var(--muted);margin-top:5px}.badge{display:inline-block;padding:5px 9px;border-radius:5px;background:#edf2f0;color:#5c746a;font-size:12px;margin:0 0 10px}.badge.strong{background:#fff0e6;color:#974a2c}.flash-actions{display:flex;gap:10px;margin-top:20px}.flash-actions button{flex:1}.dictionary-meta{font-size:13px;color:var(--muted);margin:17px 0}.dictionary-item{border-top:1px solid #e0e9e4;padding:16px 0}.dictionary-item summary{cursor:pointer;line-height:1.55;font-size:16px}.dictionary-item summary>.dictionary-translation{display:block;color:var(--muted);font-size:14px;margin-left:17px}.dictionary-item[open] summary{margin-bottom:15px}.empty,.round-end{text-align:center;padding:20px 0}.empty h2,.round-end h2{font-size:28px;margin:10px 0}.empty p,.round-end p{color:var(--muted);font-size:15px}.score{font-size:66px;line-height:1.2;color:#38785f;margin:20px 0}.score span{font-size:28px;color:#7d958a}.missed{text-align:left;background:#f6f3ee;padding:17px;border-radius:9px;margin:22px 0;font-size:14px;line-height:1.6}.missed ul{padding-left:18px;margin:8px 0 0}.lesson-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.lesson-card{background:white;border:1px solid var(--line);padding:22px;border-radius:13px;display:flex;flex-direction:column;min-height:210px}.lesson-card:hover{border-color:#74948c}.lesson-num{font:italic 29px Georgia,serif;color:#a27639;margin-bottom:20px}.lesson-card h2{font-size:20px;letter-spacing:-.4px;margin-bottom:8px}.lesson-card p{font-size:14px;color:var(--muted);margin-bottom:18px}.lesson-card small{font-size:12px;color:#56786d;margin-top:auto}.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 225px;gap:22px;align-items:start}.lesson-body{padding:25px 28px;background:#fff;border:1px solid var(--line);border-radius:14px;min-width:0}.lesson-section{border-bottom:1px solid #e1e8e4;padding:0 0 24px;margin:0 0 26px;scroll-margin-top:90px}.lesson-section:last-child{border:0;margin:0}.lesson-section h2{font-size:22px;line-height:1.35;letter-spacing:-.45px;margin-bottom:15px}.lesson-section h3{font-size:17px;margin-top:25px}.lesson-section p{white-space:pre-line;font-size:16px;line-height:1.85;color:#415d58;overflow-wrap:anywhere}.toc{position:sticky;top:25px}.toc p{font-size:11px;letter-spacing:1.2px;font-weight:650}.toc a{display:block;font-size:13px;line-height:1.5;margin-bottom:13px;color:#506f64}.toc a:hover{color:var(--ink);text-decoration:underline}.toc .primary{color:white;text-align:center;font-size:14px}.lesson-quiz{margin-top:25px;scroll-margin-top:90px}.lesson-quiz h2{font-size:24px}.lesson-quiz .game{min-height:300px}.lesson-nav{display:flex;justify-content:space-between;gap:15px;margin-top:25px;font-size:14px}.loading{padding:50px;text-align:center;color:var(--muted)}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#173e3f;color:white;padding:13px 22px;border-radius:10px;z-index:60;max-width:90%;font-size:14px}#scrim[hidden],.toast[hidden]{display:none}@media(min-width:1450px){main{padding-left:65px;padding-right:65px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1100px){.sidebar{width:216px;padding-left:20px;padding-right:20px}main{margin-left:216px;padding:30px 25px}.learning-layout{grid-template-columns:minmax(0,1fr)}.study-aside{display:none}.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-layout{grid-template-columns:minmax(0,1fr)}.toc{position:static;grid-row:1;background:#e8efeb;padding:17px;border-radius:10px}.toc a:not(.primary){display:inline-block;margin:5px 12px 5px 0}.toc .primary{margin-top:12px}.toc p{margin-bottom:7px}.page-head h1{font-size:38px}.head-mark{font-size:60px}}@media(max-width:720px){.mobile-header{display:flex;position:sticky;top:0;z-index:25;align-items:center;justify-content:space-between;height:65px;background:var(--ink);color:#fff;padding:0 19px}.mobile-brand{font-size:23px;font-weight:700;letter-spacing:-.7px}.mobile-brand i{font-family:Georgia,serif;font-weight:400;color:#efd9ad}.mobile-header button{background:#ffffff13;color:white;font-size:23px;border-radius:6px;width:43px;height:43px}.sidebar{transform:translateX(-100%);transition:transform .2s;width:280px;top:65px;padding-top:24px}.sidebar.open{transform:translateX(0)}.sidebar .brand{display:none}.sidebar-bottom{padding-top:25px}.nav-heading{margin-top:0}.sidebar nav{gap:4px}.nav-item{padding:10px}.sidebar-bottom .quote{font-size:24px}#scrim{position:fixed;inset:65px 0 0;background:#001a2477;z-index:29}main{margin-left:0;padding:20px 17px;min-height:calc(100dvh - 65px)}.topline{font-size:12px;padding-bottom:15px;margin-bottom:23px;gap:7px}.stat-pill{font-size:11px;padding:6px 9px}.page-head{margin-bottom:23px}.page-head h1{font-size:33px;letter-spacing:-1.2px}.page-head p{font-size:14px}.head-mark{display:none}.eyebrow{font-size:10px;letter-spacing:1.5px}.cards{gap:12px}.category-card{padding:17px;min-height:225px;border-radius:12px}.card-top{margin-bottom:15px;align-items:flex-start;gap:6px}.letter{width:38px;height:38px;font-size:25px;border-radius:9px}.count{font-size:10px;padding:5px 6px}.category-card h3{font-size:21px}.category-card h3 small{font-size:12px;display:block;margin:4px 0}.category-card p{font-size:13px;line-height:1.5}.card-bottom{font-size:12px;gap:7px}.card-bottom span:first-child{font-size:11px}.category-card.wide{min-height:185px}.section-line h2{font-size:17px}.section-line span{font-size:11px}.home-note{font-size:12px}.footer{font-size:11px;line-height:1.5;flex-wrap:wrap;margin-top:22px}.tabs{gap:6px;flex-wrap:nowrap}.tab{flex:1;padding:12px 6px;font-size:13px}.controls{padding:14px 17px;gap:8px}.control{font-size:11px}.control select{font-size:13px;max-width:185px}.mode-chip{font-size:10px}.game{padding:20px 17px;min-height:350px}.word{font-size:31px}.word.long{font-size:25px}.answers{gap:9px;margin-top:24px}.answer{font-size:15px;padding:13px 11px;min-height:73px}.person{font-size:19px}.accents button{padding:9px;min-width:33px}.flash-actions button{padding:13px 8px;font-size:14px}.lesson-grid{gap:11px}.lesson-card{padding:17px;min-height:220px}.lesson-card h2{font-size:18px}.lesson-card p{font-size:13px}.lesson-num{margin-bottom:15px}.lesson-body{padding:21px 18px}.lesson-section h2{font-size:21px}.lesson-section p{font-size:16px}.forms td{padding:9px 7px;font-size:14px}.lesson-table td,.lesson-table th{padding:8px;font-size:14px}.toc a:not(.primary){font-size:12px}.lesson-nav{font-size:13px;line-height:1.5}.page-head .primary{font-size:13px;padding:12px}}@media(max-width:370px){.cards,.lesson-grid{grid-template-columns:1fr}.category-card{min-height:190px}.answers{grid-template-columns:1fr}.category-card h3 small{display:inline-block;margin-left:8px}.tabs{flex-wrap:wrap}.tab{flex-basis:40%}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Compact shared pronunciation controls. */
.speak{display:inline-flex;align-items:center;justify-content:center;vertical-align:-.3em;flex:0 0 26px;width:26px;height:26px;min-width:26px;min-height:26px;margin:0 2px;padding:4px;border:0;border-radius:50%;background:transparent;color:#486e66;line-height:1;cursor:pointer;white-space:normal}
.speak svg{display:block;width:14px;height:14px;flex:none;pointer-events:none}
.speak:hover,.speak.speaking{background:#e2efea;color:#123f42}
.speak.speaking{box-shadow:inset 0 0 0 1px #88aa9d}
.speak:focus-visible{outline:2px solid #aa6510;outline-offset:2px}
.answer-row{display:flex;align-items:stretch;gap:4px;min-width:0}.answer-row .answer{flex:1;min-width:0;overflow-wrap:anywhere}.answer-row .speak{align-self:center}
.lesson-paragraph>p{white-space:pre-line}
.dictionary-term{display:inline-flex;align-items:center;gap:3px;max-width:calc(100% - 20px);vertical-align:middle}
.dictionary-term b{min-width:0;overflow-wrap:anywhere}
.dictionary-term .speak{flex-shrink:0}
.word .speak{vertical-align:middle}
.passage-audio{display:flex;align-items:center;gap:4px;margin:0 0 16px;color:var(--muted);font-size:14px}

/* Navigation and live progress shared by every learning section. */
.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:6px;line-height:1.6;min-width:0}.topline{flex-wrap:wrap}.stats-summary{display:flex;gap:8px 16px;align-items:center;flex-wrap:wrap;font-size:14px;color:var(--muted);line-height:1.6}.stats-label{font-weight:650;color:var(--ink)}.stats-summary b{color:inherit}main>.stats-summary{margin:0 0 18px}.category-card>.stats-summary,.lesson-card>.stats-summary{margin:0 0 14px;font-size:13px}.stat-pill{white-space:normal}.stat-pill .stats-summary{font-size:12px;color:inherit}.review-controls{margin:18px 0 24px}.review-controls label{display:block;font-size:14px;margin-bottom:6px}.review-controls select{font:inherit;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink)}.review-controls p{font-size:14px;color:var(--muted);margin-top:10px;max-width:720px}.toc{padding:23px;border-radius:14px;background:#e5ede9;border:1px solid var(--line)}.toc .block{width:100%;overflow-wrap:anywhere}.toc a{font-size:14px}.lesson-card small{line-height:1.6}
@media(max-width:720px){.topline{align-items:flex-start}.stats-summary{gap:4px 12px}.stat-pill{max-width:100%}.toc{padding:18px}.review-controls select{width:100%}}

.backup-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.backup-actions button{max-width:100%;white-space:normal}.backup-actions button:disabled{opacity:.6;cursor:wait}

.back-to-top{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;background:transparent;border:1px solid var(--edge,var(--line));border-radius:8px;padding:9px 12px;min-height:44px;color:var(--text,var(--ink));font-size:13px;white-space:nowrap}.back-to-top:hover{background:var(--tint,#e4edeb)}.footer{flex-wrap:wrap;align-items:center}#game,#lesson-game,#feedback,#lesson-result{scroll-margin-top:20px}@media(max-width:720px){#game,#lesson-game,#feedback,#lesson-result{scroll-margin-top:76px}.back-to-top{min-width:44px}}
