:root{color-scheme:light;--ink:#151b2b;--ink-soft:#384257;--muted:#737b8c;--faint:#a6adba;--paper:#f7f5f0;--white:#fff;--panel:#fffdfa;--line:#e7e4de;--line-strong:#d9d5ce;--blue:#4759e8;--blue-deep:#2935b6;--violet:#8564f4;--mint:#b8f0d8;--amber:#f3be63;--rose:#f1a49d;--shadow:0 18px 48px rgba(28,36,63,.09);--shadow-sm:0 6px 18px rgba(28,36,63,.06);--radius:22px;--radius-sm:14px;--serif:Georgia,'Times New Roman',serif;--sans:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;--display:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;--mono:ui-monospace,'Cascadia Code','Segoe UI Mono',monospace}
html[data-theme=dark]{color-scheme:dark;--ink:#f4f3f0;--ink-soft:#d3d6e1;--muted:#a2a8ba;--faint:#798197;--paper:#111522;--white:#1a2030;--panel:#1b2130;--line:#303747;--line-strong:#414a5e;--blue:#94a0ff;--blue-deep:#aeb8ff;--violet:#b5a3ff;--mint:#295c4b;--amber:#8c672f;--rose:#744944;--shadow:0 18px 48px rgba(0,0,0,.28);--shadow-sm:0 6px 18px rgba(0,0,0,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;transition:background .25s,color .25s}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}.skip-link{position:fixed;top:8px;left:8px;z-index:1000;padding:10px 14px;background:var(--ink);color:var(--white);border-radius:8px;transform:translateY(-150%)}.skip-link:focus{transform:none}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.app-shell{min-height:100vh;display:flex;flex-direction:column}.site-header{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--paper) 91%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid color-mix(in srgb,var(--line) 75%,transparent)}.header-inner{height:76px;max-width:1380px;margin:auto;padding:0 34px;display:flex;align-items:center;gap:54px}.brand{display:inline-flex;align-items:center;gap:11px;font-family:var(--display);font-weight:800;letter-spacing:-.045em;font-size:18px;white-space:nowrap}.brand-light{font-weight:500;color:var(--muted)}.brand-mark{height:25px;width:25px;display:flex;gap:3px;align-items:flex-end;padding:4px;border-radius:8px;background:linear-gradient(145deg,#6259ee,#8772ff);box-shadow:0 5px 14px #5752d244}.brand-mark i{display:block;flex:1;border-radius:3px;background:#fff}.brand-mark i:nth-child(1){height:8px;opacity:.75}.brand-mark i:nth-child(2){height:14px;opacity:.9}.brand-mark i:nth-child(3){height:18px}.main-nav{display:flex;gap:32px;margin-right:auto;height:100%;align-items:center}.main-nav a{height:100%;display:flex;align-items:center;position:relative;font-size:13px;font-weight:650;color:var(--muted);transition:color .2s}.main-nav a:hover,.main-nav a.active{color:var(--ink)}.main-nav a.active:after{content:'';height:2px;position:absolute;bottom:0;left:0;right:0;background:var(--blue);border-radius:3px}.header-actions{display:flex;align-items:center;gap:22px}.quiet-link{font-size:12px;font-weight:650;color:var(--ink-soft)}.quiet-link span{color:var(--blue);padding-left:4px}.icon-button{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;display:inline-grid;place-items:center;background:var(--panel);cursor:pointer;transition:transform .2s,border-color .2s}.icon-button:hover{transform:translateY(-2px);border-color:var(--blue)}.theme-icon{font-size:18px}.menu-toggle{display:none}.mobile-nav{padding:10px 22px 18px;border-top:1px solid var(--line);gap:20px}.mobile-nav a{display:block;padding:8px 0;font-weight:600}.site-footer{margin-top:auto;padding:34px max(30px,calc((100vw - 1280px)/2));background:var(--panel);border-top:1px solid var(--line)}.footer-top,.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-top p{font-size:13px;color:var(--muted);margin:0 auto 0 20px}.footer-bottom{padding-top:24px;margin-top:22px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);flex-wrap:wrap}.text-button{border:0;background:none;color:var(--muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:11px}.main-container{width:min(1240px,calc(100% - 64px));margin:auto}.eyebrow{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:500;color:var(--muted)}.eyebrow.blue{color:var(--blue)}

/* Academy home */
.home-section{padding:72px 0}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:34px}.section-head h2{font:700 clamp(2rem,4vw,3.15rem)/1.05 var(--display);letter-spacing:-.06em;margin:11px 0 0}.section-head p{max-width:430px;color:var(--muted);font-size:13px;margin:0}.continue-panel{display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;padding:25px 30px;background:var(--ink);color:white;border-radius:var(--radius);margin-bottom:50px;position:relative;overflow:hidden}.continue-panel:after{content:'';position:absolute;width:290px;height:290px;border-radius:50%;right:110px;top:-210px;background:radial-gradient(circle,#7577ff88,transparent 68%)}.continue-main{position:relative;z-index:1}.continue-main .eyebrow{color:#aeb3ca}.continue-main h3{font:600 22px var(--display);letter-spacing:-.04em;margin:7px 0}.continue-main p{margin:0;font-size:12px;color:#b1b7c9}.continue-action{position:relative;z-index:1}.continue-action .button{background:#fff;color:#252b45}.progress-thin{height:3px;width:min(370px,45vw);background:#373e57;border-radius:4px;margin-top:16px;overflow:hidden}.progress-thin span{height:100%;display:block;background:#9c90ff;border-radius:4px;transition:width .3s}.module-stack{display:grid;gap:17px}.module-row{display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:23px;padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:18px;transition:transform .2s,border-color .2s,box-shadow .2s}.module-row:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.module-stamp{width:62px;height:62px;display:grid;place-items:center;border-radius:18px;font:12px var(--mono);letter-spacing:.04em}.module-stamp.violet{background:#eae6ff;color:#6154c7}.module-stamp.blue{background:#e2edff;color:#3769bc}.module-stamp.amber{background:#fff0d8;color:#95671d}.module-copy .eyebrow{font-size:9px}.module-copy h3{font:650 22px var(--display);letter-spacing:-.04em;margin:5px 0}.module-copy p{margin:0;color:var(--muted);font-size:12px;max-width:690px}.module-meta{display:flex;align-items:center;gap:19px;color:var(--muted);font:10px var(--mono);white-space:nowrap}.module-meta .arrow{font:20px var(--sans);color:var(--blue)}.module-progress{display:flex;align-items:center;gap:8px}.progress-mini{width:42px;height:3px;border-radius:4px;background:var(--line-strong);overflow:hidden}.progress-mini span{display:block;height:100%;background:var(--blue)}.manifesto{margin:15px 0 30px;padding:62px 7%;display:grid;grid-template-columns:.76fr 1.24fr;gap:50px;align-items:center;background:linear-gradient(125deg,#222a52,#423e8a 75%,#6757bc);border-radius:26px;color:#fff;position:relative;overflow:hidden}.manifesto:after{content:'K';position:absolute;right:2%;bottom:-50%;font:700 340px var(--display);color:#ffffff0c;line-height:1}.manifesto h2{font:500 clamp(2rem,4vw,3.25rem)/1.1 var(--serif);font-style:italic;letter-spacing:-.05em;margin:10px 0}.manifesto .eyebrow{color:#c9c5ff}.manifesto p{position:relative;z-index:1;font-size:15px;line-height:1.85;color:#e1e2f2;max-width:600px}.manifesto strong{color:#fff}.principle-line{border-left:1px solid #a6a0ff66;padding-left:23px}

/* Course overview */
.course-page{padding-bottom:80px}.course-hero{padding:66px 0 44px;background:radial-gradient(circle at 88% 16%,#dcd8ff80,transparent 27%)}.course-topline{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px}.course-topline a:hover{color:var(--blue)}.crumb-sep{color:var(--faint)}.course-hero-grid{display:grid;grid-template-columns:1fr 300px;gap:70px;align-items:end;margin-top:30px}.course-hero h1{font:700 clamp(2.8rem,5vw,4.5rem)/1 var(--display);letter-spacing:-.07em;max-width:800px;margin:13px 0 17px}.course-hero p{font-size:15px;color:var(--ink-soft);max-width:650px;line-height:1.8}.course-aside{padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:17px}.course-aside .aside-stat{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.course-aside .aside-stat:last-child{border:0}.course-aside span{color:var(--muted)}.course-aside strong{font:12px var(--mono)}.outcome-strip{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.outcome-pill{font-size:11px;color:var(--ink-soft);display:flex;align-items:center;gap:7px;padding:7px 11px;border-radius:999px;background:var(--panel);border:1px solid var(--line)}.outcome-pill:before{content:'✓';color:var(--blue);font-weight:bold}.course-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:45px;align-items:start;padding-top:24px}.lesson-list{display:grid;gap:10px}.lesson-row{display:grid;grid-template-columns:43px 1fr 28px;align-items:center;gap:15px;padding:16px 17px;background:var(--panel);border:1px solid var(--line);border-radius:14px;transition:.2s}.lesson-row:hover{border-color:var(--blue);transform:translateX(3px)}.lesson-number{width:36px;height:36px;border-radius:11px;background:var(--paper);display:grid;place-items:center;font:10px var(--mono);color:var(--muted)}.lesson-row.done .lesson-number{color:#fff;background:#51ae89}.lesson-row h3{margin:0;font-size:13px;line-height:1.45;font-weight:650}.lesson-row p{margin:3px 0 0;color:var(--muted);font-size:10px}.lesson-row-arrow{font-size:18px;color:var(--blue)}.course-side{position:sticky;top:105px}.side-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:22px;margin-bottom:14px}.side-card h3{font:650 17px var(--display);letter-spacing:-.035em;margin:4px 0 13px}.side-card p{font-size:12px;color:var(--muted);line-height:1.7;margin:0}.side-card .source-link{display:inline-flex;margin-top:12px;font-size:11px;font-weight:650;color:var(--blue)}.course-download{margin-top:12px;width:100%}.course-next{display:flex;align-items:center;justify-content:space-between;margin-top:26px;padding-top:20px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}

/* Lesson reader */
.reader-page{background:var(--paper);padding:22px 0 72px}.reader-crumbs{display:flex;align-items:center;gap:9px;font-size:10px;color:var(--muted);padding-bottom:20px}.reader-crumbs a:hover{color:var(--blue)}.reader-shell{display:grid;grid-template-columns:250px minmax(0,740px) 220px;justify-content:space-between;gap:30px;align-items:start}.reader-sidebar{position:sticky;top:104px;max-height:calc(100vh - 125px);overflow:auto;padding:17px 13px;background:var(--panel);border:1px solid var(--line);border-radius:17px}.sidebar-heading{font:10px var(--mono);letter-spacing:.1em;color:var(--muted);text-transform:uppercase;padding:4px 7px 12px}.side-lesson{display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:start;padding:9px 7px;border-radius:9px;color:var(--muted);font-size:10px;line-height:1.45}.side-lesson:hover{background:var(--paper);color:var(--ink)}.side-lesson.current{background:color-mix(in srgb,var(--blue) 10%,var(--panel));color:var(--ink);font-weight:650}.side-lesson.completed .side-lesson-num{color:#42a47a}.side-lesson-num{font:9px var(--mono);padding-top:1px}.reader-body{padding:26px clamp(22px,4vw,58px) 46px;background:var(--panel);border-radius:22px;border:1px solid var(--line);box-shadow:var(--shadow-sm);min-width:0}.reader-meta{display:flex;gap:11px;align-items:center;font:10px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.reader-meta .bullet{width:3px;height:3px;background:var(--faint);border-radius:50%}.reader-title{font:700 clamp(2.35rem,4vw,3.55rem)/1.04 var(--display);letter-spacing:-.07em;margin:23px 0 12px}.reader-deck{font:italic 20px/1.45 var(--serif);color:var(--ink-soft);margin:0 0 24px}.reader-tools{display:flex;gap:8px;align-items:center;padding:0 0 22px;margin-bottom:24px;border-bottom:1px solid var(--line)}.tool-button{border:1px solid var(--line);background:transparent;border-radius:999px;padding:7px 11px;font-size:10px;color:var(--muted);cursor:pointer}.tool-button:hover,.tool-button.is-saved{border-color:var(--blue);color:var(--blue);background:color-mix(in srgb,var(--blue) 7%,transparent)}.reader-content h2{font:650 21px var(--display);letter-spacing:-.04em;margin:34px 0 10px}.reader-content p{font-size:14px;line-height:1.85;color:var(--ink-soft);margin:0 0 15px}.reader-content .story-block{padding:19px 21px;background:color-mix(in srgb,var(--blue) 7%,var(--panel));border-left:3px solid var(--blue);border-radius:0 13px 13px 0;margin:21px 0}.story-block .story-label{display:block;color:var(--blue);font:9px var(--mono);text-transform:uppercase;letter-spacing:.13em;margin-bottom:8px}.worked-example{padding:20px 22px;background:#f7f1e5;color:#4c4437;border-radius:14px;margin:20px 0}.worked-example .story-label{color:#966b28}.worked-example p{color:#554c3e}.exercise-box{border:1px dashed var(--line-strong);border-radius:14px;padding:19px 21px;margin:22px 0;background:var(--paper)}.exercise-box .story-label{display:block;font:9px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}.takeaway-box{display:flex;gap:13px;align-items:flex-start;padding:16px 19px;border-radius:13px;background:#e8f6ed;color:#244738;margin:25px 0}.takeaway-box .takeaway-icon{font-size:18px;color:#399273}.takeaway-box strong{display:block;font:650 12px var(--display);margin-bottom:2px}.takeaway-box span{font-size:12px;line-height:1.6}.quiz-section{margin-top:40px;padding-top:27px;border-top:1px solid var(--line)}.quiz-section>h2{margin-top:0}.quiz-intro{font-size:12px;color:var(--muted)}.quiz-item{padding:17px 0;border-bottom:1px solid var(--line)}.quiz-q{font-size:13px;font-weight:650;margin:0 0 12px}.quiz-options{display:grid;gap:8px}.quiz-option{display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;border:1px solid var(--line);border-radius:11px;background:transparent;padding:10px 12px;font-size:11px;cursor:pointer;transition:.15s}.quiz-option:hover{border-color:var(--blue)}.quiz-option.selected{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 8%,var(--panel))}.quiz-option.correct{border-color:#48a77b;background:#e7f5ed}.quiz-option.incorrect{border-color:#d56d75;background:#fff0f0}.quiz-radio{flex:none;width:15px;height:15px;border:1px solid var(--line-strong);border-radius:50%;display:grid;place-items:center;font-size:9px}.quiz-option.selected .quiz-radio{border-color:var(--blue);background:var(--blue);color:white}.quiz-explain{font-size:11px;padding:9px 12px 0 25px;color:var(--muted);line-height:1.6}.quiz-explain.good{color:#27805c}.quiz-explain.try-again{color:#a54d50}.quiz-score{padding:15px;margin-top:17px;border-radius:12px;background:var(--paper);font-size:12px;display:flex;justify-content:space-between;gap:10px}.lesson-bottom{display:flex;justify-content:space-between;gap:14px;margin-top:36px;padding-top:22px;border-top:1px solid var(--line)}.lesson-bottom .button{font-size:11px;padding:11px 16px}.lesson-bottom .button:disabled{opacity:.45;cursor:not-allowed;transform:none}.reader-right{position:sticky;top:105px;display:grid;gap:13px}.read-card{padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:15px}.read-card h3{font:650 13px var(--display);margin:0 0 11px}.read-card p{font-size:10px;line-height:1.65;color:var(--muted);margin:0}.read-card a{color:var(--blue);font-size:10px;font-weight:650}.read-card .focus-item{font-size:10px;color:var(--ink-soft);padding:8px 0;border-top:1px solid var(--line);line-height:1.45}.reader-progress{height:5px;border-radius:6px;background:var(--line);margin:10px 0 6px;overflow:hidden}.reader-progress span{height:100%;display:block;background:var(--blue)}.mobile-outline-toggle{display:none}

/* Glossary, search, saved */
.utility-page{padding:66px 0 90px}.utility-head{max-width:720px;margin-bottom:34px}.utility-head h1{font:700 clamp(2.7rem,5vw,4rem)/1.05 var(--display);letter-spacing:-.07em;margin:12px 0}.utility-head p{color:var(--muted);font-size:14px;line-height:1.75}.search-box{position:relative;max-width:650px;margin:28px 0}.search-box input{width:100%;height:56px;border:1px solid var(--line-strong);border-radius:14px;background:var(--panel);color:var(--ink);padding:0 18px 0 48px;font-size:14px;box-shadow:var(--shadow-sm)}.search-box .search-symbol{position:absolute;left:17px;top:15px;color:var(--muted);font-size:17px}.search-count{font:10px var(--mono);color:var(--muted);margin-bottom:15px}.glossary-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.term-card{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:16px 18px}.term-card h3{font:650 14px var(--display);margin:0 0 4px}.term-card .term-pron{font:10px var(--mono);color:var(--blue);margin-bottom:8px}.term-card p{margin:0;font-size:12px;line-height:1.65;color:var(--muted)}.results-list{display:grid;gap:11px;max-width:850px}.result-row{background:var(--panel);padding:19px 21px;border:1px solid var(--line);border-radius:14px}.result-row h3{margin:0 0 5px;font:650 16px var(--display)}.result-row p{font-size:12px;color:var(--muted);margin:0;line-height:1.7}.result-row .result-module{font:9px var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--blue);margin-bottom:6px}.empty-state{padding:50px 20px;text-align:center;border:1px dashed var(--line-strong);border-radius:17px;color:var(--muted)}.empty-state strong{display:block;font:650 17px var(--display);color:var(--ink);margin-bottom:5px}.data-tools{margin-top:38px;padding:22px;background:var(--panel);border:1px solid var(--line);border-radius:17px;max-width:650px}.data-tools h2{font:650 18px var(--display);margin:0 0 6px}.data-tools p{color:var(--muted);font-size:12px}.data-tools-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px}
.toast-region{position:fixed;z-index:80;bottom:20px;left:50%;transform:translateX(-50%);display:grid;gap:8px;pointer-events:none}.toast{padding:12px 18px;border-radius:12px;background:var(--ink);color:var(--panel);box-shadow:var(--shadow);font-size:12px;animation:toast-in .25s ease-out}@keyframes toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modal{padding:0;border:0;border-radius:20px;background:transparent;color:var(--ink);max-width:min(480px,calc(100% - 28px));width:100%}.modal::backdrop{background:#10132399;backdrop-filter:blur(3px)}.modal-card{position:relative;padding:30px;background:var(--panel);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.modal-card h2{font:700 28px var(--display);letter-spacing:-.05em;margin:8px 0}.modal-card p{font-size:13px;color:var(--muted);line-height:1.7}.modal-close{position:absolute;right:15px;top:15px;border:0}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.modal-actions .button{font-size:11px;padding:10px 14px}

@media(max-width:1120px){.reader-shell{grid-template-columns:220px minmax(0,1fr);gap:20px}.reader-right{display:none}.course-layout{grid-template-columns:minmax(0,1fr) 270px;gap:24px}.header-inner{gap:34px}}
@media(max-width:850px){.header-inner{padding:0 22px;height:68px}.main-nav,.apps-link{display:none}.header-actions{margin-left:auto}.menu-toggle{display:inline-grid}.mobile-nav:not([hidden]){display:grid}.main-container{width:min(100% - 40px,720px)}.hero-wrap{padding:35px 0 52px}.hero{grid-template-columns:1fr;gap:8px;min-height:auto}.hero-copy{padding:20px 0 0}.hero h1{font-size:clamp(3rem,12vw,5rem)}.hero-art{min-height:340px;margin-top:0}.art-window{width:320px}.art-halo{width:340px}.art-orbit{width:340px;height:250px}.art-orbit.orbit-two{width:320px;height:230px}.float-chip.chip-one{right:3%}.float-chip.chip-two{left:4%;bottom:20px}.hero-index{right:4%;bottom:0}.home-section{padding:54px 0}.section-head{align-items:flex-start;flex-direction:column;margin-bottom:24px}.continue-panel{grid-template-columns:1fr;gap:18px;padding:22px}.progress-thin{width:100%}.module-row{grid-template-columns:55px 1fr auto;gap:14px;padding:17px}.module-stamp{width:52px;height:52px}.module-meta{gap:9px}.module-meta .lessons-label{display:none}.module-copy h3{font-size:18px}.module-copy p{font-size:11px}.manifesto{grid-template-columns:1fr;gap:14px;padding:38px 30px}.principle-line{padding-left:18px}.course-hero-grid{grid-template-columns:1fr;gap:18px}.course-aside{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.course-aside .aside-stat{display:block;border:0}.course-aside .aside-stat strong,.course-aside .aside-stat span{display:block}.course-layout{grid-template-columns:1fr}.course-side{position:static;display:grid;grid-template-columns:1fr 1fr;gap:10px}.course-download{grid-column:1/-1}.reader-shell{grid-template-columns:1fr}.reader-sidebar{display:none;position:static;max-height:unset}.reader-sidebar.open{display:block}.mobile-outline-toggle{display:inline-flex;margin-bottom:13px}.reader-body{padding:24px 24px 38px}.reader-title{font-size:clamp(2.2rem,9vw,3.3rem)}.reader-crumbs{flex-wrap:wrap}.reader-page{padding-top:15px}}
@media(max-width:560px){body{font-size:15px}.header-inner{padding:0 17px}.brand{font-size:16px}.header-actions{gap:10px}.main-container{width:calc(100% - 34px)}.hero h1{font-size:3.05rem}.hero-copy>p{font-size:15px}.hero-actions{gap:12px}.hero-art{min-height:300px}.art-window{width:270px;padding:16px}.art-halo{width:290px}.art-orbit{width:285px;height:205px}.art-orbit.orbit-two{width:255px;height:190px}.chip-one{top:38px}.chip-two{bottom:17px}.float-chip{font-size:9px;padding:10px 12px}.art-bars{height:95px}.art-caption{margin-top:12px}.continue-main h3{font-size:19px}.module-row{grid-template-columns:44px 1fr 16px;gap:11px;padding:14px}.module-stamp{width:42px;height:42px;border-radius:13px;font-size:10px}.module-copy h3{font-size:15px}.module-copy p{font-size:10px}.module-meta{display:none}.module-row>.module-arrow{color:var(--blue);font-size:18px}.manifesto{padding:32px 22px;border-radius:19px}.manifesto p{font-size:13px}.site-footer{padding:28px 18px}.footer-top{flex-wrap:wrap}.footer-top p{order:3;width:100%;margin:7px 0 0}.footer-bottom{align-items:flex-start;flex-direction:column;gap:8px}.course-hero{padding:42px 0 30px}.course-hero h1{font-size:2.65rem}.course-hero p{font-size:13px}.course-aside{padding:14px;gap:5px}.course-aside .aside-stat{padding:5px 0}.course-aside strong{font-size:10px}.course-aside span{font-size:9px}.outcome-strip{gap:7px}.outcome-pill{font-size:9px;padding:6px 8px}.lesson-row{grid-template-columns:34px 1fr 16px;gap:10px;padding:13px}.lesson-number{width:31px;height:31px;font-size:9px}.lesson-row h3{font-size:11px}.reader-body{padding:19px 17px 30px;border-radius:16px}.reader-title{font-size:2.25rem;margin-top:17px}.reader-deck{font-size:17px}.reader-content h2{font-size:18px;margin-top:28px}.reader-content p{font-size:13px}.reader-tools{gap:5px;flex-wrap:wrap}.tool-button{font-size:9px;padding:7px 9px}.worked-example,.story-block,.exercise-box{padding:15px}.quiz-option{font-size:10px;padding:9px}.lesson-bottom{flex-direction:column}.lesson-bottom .button{width:100%}.course-side{grid-template-columns:1fr}.glossary-list{grid-template-columns:1fr}.utility-page{padding:42px 0 62px}.utility-head h1{font-size:2.65rem}.search-box input{height:52px}.data-tools-actions .button{width:100%}.modal-card{padding:25px 20px}.modal-actions{flex-direction:column-reverse}.modal-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Learning path: visible progress that rewards comprehension, not repetition. */
.learn-game{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;margin:0 0 30px;padding:22px;border:1px solid color-mix(in srgb,var(--violet) 28%,var(--line));border-radius:22px;background:linear-gradient(125deg,color-mix(in srgb,var(--violet) 12%,var(--panel)),color-mix(in srgb,var(--rose) 10%,var(--panel)));box-shadow:var(--shadow-sm);animation:learn-rise .55s ease both}.game-main{grid-row:span 2}.game-kicker{font:700 10px var(--mono);letter-spacing:.14em;color:var(--blue)}.game-spark{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:8px;background:var(--violet);color:#fff;margin-right:6px}.game-level{display:flex;align-items:baseline;gap:12px;margin:15px 0 10px;flex-wrap:wrap}.game-level strong{font:750 27px var(--display);letter-spacing:-.05em}.game-level span,.game-next{font-size:12px;color:var(--muted)}.game-bar{height:11px;background:color-mix(in srgb,var(--violet) 15%,var(--panel));border-radius:99px;overflow:hidden}.game-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--violet),var(--blue),var(--rose));transition:width .5s ease}.game-next{margin:8px 0 0}.game-challenge,.game-badges{padding:15px 17px;border-radius:15px;background:color-mix(in srgb,var(--panel) 84%,transparent);border:1px solid var(--line)}.game-challenge strong{display:block;margin:7px 0 2px;font-size:16px}.game-challenge p{font-size:12px;color:var(--muted);margin:0 0 10px}.game-badges{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.badge-row{display:flex;gap:6px;flex-wrap:wrap}.badge-chip{min-height:30px;display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:99px;font-size:10px;font-weight:700;border:1px solid var(--line-strong);background:var(--panel)}.badge-chip span{font-size:14px;color:var(--violet)}.badge-chip.locked{opacity:.48;filter:grayscale(.8)}@keyframes learn-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.quiz-explain.good{animation:correct-pop .35s ease both}.quiz-score{transition:background .25s}.button,.tool-button,.icon-button,.reader-mobile-dock button,.reader-mobile-dock a,.quiz-option{min-height:44px}@keyframes correct-pop{0%{transform:scale(.98);opacity:.4}70%{transform:scale(1.015)}100%{transform:none;opacity:1}}
@media(max-width:850px){.learn-game{grid-template-columns:1fr;gap:10px;padding:17px}.game-main{grid-row:auto}.game-badges{display:block}.game-badges .badge-row{margin-top:8px}}
@media(max-width:560px){.learn-game{margin-bottom:22px;border-radius:17px}.game-level strong{font-size:23px}.game-challenge,.game-badges{padding:13px}.badge-chip{font-size:9px}}

/* Mobile reading controls: keep the lesson's next step within thumb reach. */
.reader-mobile-dock{display:none}
@media(max-width:850px){
  .reader-more{display:inline-flex;position:relative;align-items:center}
  .reader-more summary{min-height:44px;display:inline-flex;align-items:center;padding:9px 13px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:11px;cursor:pointer;list-style:none}
  .reader-more summary::-webkit-details-marker{display:none}
  .reader-more[open]{display:flex;gap:6px;flex-wrap:wrap;width:100%}
  .reader-more[open] summary{color:var(--blue);border-color:var(--blue)}
  .reader-more[open] .tool-button{display:inline-flex}
  .reader-mobile-dock{position:fixed;z-index:60;inset:auto 0 0;display:grid;grid-template-columns:.82fr 1fr 1.15fr;gap:8px;padding:9px max(14px,env(safe-area-inset-left)) calc(9px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-right));background:color-mix(in srgb,var(--panel) 95%,transparent);border-top:1px solid var(--line);box-shadow:0 -8px 24px #14203a12;backdrop-filter:blur(14px)}
  .reader-mobile-dock button,.reader-mobile-dock a{min-width:0;min-height:48px;display:flex;align-items:center;justify-content:center;gap:5px;padding:8px 10px;border:1px solid var(--line-strong);border-radius:13px;background:var(--panel);color:var(--ink);font:650 12px var(--display);text-decoration:none;cursor:pointer}
  .reader-mobile-dock button:first-child{color:var(--blue);border-color:color-mix(in srgb,var(--blue) 40%,var(--line))}
  .reader-mobile-dock button.done{background:#e8f6ed;color:#286c51;border-color:#a9d8bf}
  .reader-mobile-dock a{color:#fff;background:var(--blue);border-color:var(--blue)}
  .reader-page{padding-bottom:calc(106px + env(safe-area-inset-bottom))}
  .reader-body{padding-bottom:30px}
  .reader-tools{gap:8px;padding-bottom:18px}
  .tool-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:9px 13px;font-size:11px}
  .mobile-outline-toggle{min-height:46px;padding:11px 15px}
  .quiz-option{min-height:48px;align-items:center;padding:12px 13px;font-size:12px;line-height:1.5}
  .lesson-bottom{padding-bottom:6px}
  .toast-region{bottom:calc(76px + env(safe-area-inset-bottom));width:min(100% - 30px,420px)}
  .toast{text-align:center}
}
@media(max-width:560px){
  .hero-wrap{padding:24px 0 30px}
  .hero-copy{padding-top:7px}
  .hero h1{font-size:clamp(2.7rem,13vw,3.2rem);line-height:.98}
  .hero-art{min-height:242px;margin-top:2px;transform:scale(.83);transform-origin:top center;margin-bottom:-38px}
  .hero-actions{min-height:48px;align-items:center}
  .home-section{padding:36px 0}
  .section-head{gap:9px;margin-bottom:17px}
  .continue-panel{padding:18px;gap:13px}
  .reader-crumbs{font-size:11px;padding-bottom:14px;gap:7px}
  .reader-body{padding:18px 15px 28px}
  .reader-meta{flex-wrap:wrap;gap:7px;font-size:9px}
  .reader-title{font-size:clamp(2rem,10.8vw,2.5rem);line-height:1.02;letter-spacing:-.055em}
  .reader-deck{font-size:17px;line-height:1.45}
  .reader-content p{font-size:14px;line-height:1.78}
  .story-block,.worked-example,.exercise-box{padding:16px}
  .quiz-section{margin-top:32px;padding-top:22px}
  .quiz-option{font-size:12px}
  .quiz-explain{font-size:12px;line-height:1.6}
  .lesson-bottom .button{min-height:48px}
}
@media(max-width:360px){
  .main-container{width:calc(100% - 28px)}
  .reader-mobile-dock{grid-template-columns:.8fr 1fr 1.05fr;gap:6px;padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}
  .reader-mobile-dock button,.reader-mobile-dock a{font-size:11px;padding:7px 6px}
  .tool-button{font-size:10px;padding:8px 10px}
  .hero-art{transform:scale(.75);margin-bottom:-58px}
}
@media(max-width:850px) and (prefers-reduced-motion:reduce){.reader-mobile-dock{backdrop-filter:none}}
/* Keep the shared collection launcher in the collapsible mobile menu, not the tight header row. */
@media(max-width:850px){.site-header .header-inner .apps-link{display:none}}

/* Compact mobile learning shell and a full chapter board on the Progress tab. */
.learn-home,.courses-page{width:min(920px,calc(100% - 40px));margin:0 auto;padding:24px 0 42px}
.learn-welcome{margin:4px 0 18px}.learn-welcome h1,.courses-intro h1{font:750 clamp(1.75rem,5vw,2.35rem)/1.08 var(--sans);letter-spacing:-.055em;margin:7px 0 5px}.learn-welcome p,.courses-intro p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}
.learn-start-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 18px;border:1px solid #ded8f4;border-radius:19px;background:linear-gradient(120deg,#f1edff,#fffdf7);box-shadow:0 7px 22px #392f7a0b}
.start-card-copy{min-width:0}.start-card-copy h2{font:700 17px/1.3 var(--sans);letter-spacing:-.03em;margin:5px 0}.start-card-copy p{font-size:11px;color:var(--muted);margin:0}.learn-start-card .button{min-width:118px;flex:none}
.learn-game{grid-template-columns:36px minmax(0,1fr) minmax(190px,.8fr) auto;align-items:center;gap:12px;margin:12px 0 20px;padding:13px 14px;border:1px solid var(--line);border-radius:17px;background:var(--panel);box-shadow:none;animation:none}
.level-token{width:34px;height:34px;display:grid;place-items:center}.level-token img{width:34px;height:34px;object-fit:contain}
.game-main{grid-row:auto;min-width:0}.game-level{margin:0 0 6px;align-items:center;gap:7px}.game-level strong{font:750 13px var(--sans);letter-spacing:-.02em}.game-level span{font-size:11px}.game-bar{height:6px}.game-next{font-size:10px;margin:4px 0 0}
.game-challenge{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;min-height:62px;padding:9px 11px;border:1px solid var(--line);border-radius:13px;background:#faf8ff;color:var(--ink);text-decoration:none;transition:border-color .15s,transform .15s}.game-challenge:hover{border-color:var(--violet);transform:translateY(-1px)}.game-challenge .eyebrow{font-size:8px}.game-challenge strong{font:700 11px var(--sans);margin:0}.game-challenge>span:last-child{font-size:10px;color:var(--muted)}.game-challenge b{color:var(--violet);font-size:15px}
.game-badges{display:flex;align-items:center;gap:4px;padding:0;border:0;background:none;white-space:nowrap;font-size:10px;color:var(--muted)}.game-badges>span{color:#c57a34;font-size:17px}.game-badges .eyebrow{display:none}
.learn-courses{margin-top:18px}.course-strip-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.course-strip-head h2,.courses-list h2{font:700 14px var(--sans);letter-spacing:-.02em;margin:0}.course-strip-head>a{min-height:44px;display:inline-flex;align-items:center;gap:5px;padding:0 2px;color:var(--violet);font-size:11px;font-weight:700}
.course-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.course-chip{display:flex;align-items:center;gap:9px;min-width:0;min-height:70px;padding:11px;border:1px solid var(--line);border-radius:15px;background:var(--panel);color:var(--ink);text-decoration:none;transition:border-color .15s,transform .15s}.course-chip:hover{border-color:var(--violet);transform:translateY(-2px)}.course-chip-mark{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:11px;background:#eee9ff;color:#6554bc;font:750 11px var(--sans)}.course-chip.blue .course-chip-mark{background:#e4efff;color:#3f70b9}.course-chip.amber .course-chip-mark{background:#fff0d9;color:#9a6c27}.course-chip>span:nth-child(2){min-width:0}.course-chip strong{display:block;font-size:10px;line-height:1.3}.course-chip small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.course-chip-arrow{margin-left:auto;color:var(--violet)}
.learn-glossary-link{display:flex;align-items:center;gap:5px;min-height:44px;margin-top:13px;color:var(--muted);font-size:11px}.learn-glossary-link strong{color:var(--ink)}.learn-glossary-link span{color:var(--violet);margin-left:auto;font-size:16px}
.courses-page{padding-top:26px}.courses-intro{margin:0 0 17px}.hero-board-wrap{min-width:0;width:100%}.hero-board{position:relative;padding:14px;border:1px solid #d5c6a4;border-radius:21px;background:radial-gradient(ellipse at 50% 0,#fffdf6 0%,#f2e9d6 86%);box-shadow:0 9px 22px #493d2413,inset 0 0 0 4px #fff9,inset 0 0 0 5px #cdbb94;color:#25251f;overflow:hidden}
.board-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 4px 10px}.board-top>div:first-child{display:grid;gap:2px}.board-overline,.board-route-number{font:750 8px var(--sans);letter-spacing:.12em;color:#7e6a43}.board-top strong{font:750 17px var(--sans);letter-spacing:-.035em}.board-top-side{display:flex;align-items:center;gap:9px}.board-stops-count{font:750 8px var(--sans);letter-spacing:.08em;color:#776746}.board-die{width:29px;height:29px;display:grid;grid-template-columns:repeat(3,4px);grid-template-rows:repeat(3,4px);justify-content:space-between;align-content:space-between;padding:6px;border-radius:7px;background:#fffdf7;border:1px solid #d2c4a6;box-shadow:0 2px 0 #d6c7a5}.board-die i{width:4px;height:4px;border-radius:50%;background:#846c42}.board-die i:nth-child(2){grid-column:3;grid-row:1}.board-die i:nth-child(3){grid-column:2;grid-row:2}.board-die i:nth-child(4){grid-column:1;grid-row:3}.board-die i:nth-child(5){grid-column:3;grid-row:3}.board-die i:nth-child(6){grid-column:1;grid-row:1}
.board-legend{display:flex;gap:12px;align-items:center;padding:0 4px 9px;color:#766f60;font-size:9px}.board-legend>span{display:flex;align-items:center;gap:4px}.legend-dot{width:8px;height:8px;border-radius:50%;background:#fffdf7;border:1px solid #b7ac92}.legend-done{background:#78aa8e;border-color:#648a72}.legend-current{background:#eea64e;border-color:#c47d32}
.board-courses{display:grid;gap:7px}.board-course{padding:8px 9px 9px;border-radius:13px;background:#fffcf3;border:1px solid #e4d8bd}.board-course-head{display:flex;align-items:center;gap:7px;margin:0 0 6px}.board-course-head strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 10px var(--sans);color:#3e3b32}.board-route-number{flex:none;font-size:7px}.board-course-progress{margin-left:auto;flex:none;color:#857b68;font:700 9px var(--sans)}
.board-track{position:relative;display:grid;grid-template-columns:repeat(4,minmax(44px,1fr));grid-auto-rows:minmax(44px,auto);gap:6px;justify-items:center;align-items:center}.board-track:before,.board-track:after{content:"";position:absolute;left:10%;right:10%;z-index:0;border-top:1px dashed #c9b98f;pointer-events:none}.board-track:before{top:22px}.board-track:after{top:72px}
.board-stop{position:relative;z-index:1;display:grid;place-items:center;width:44px;height:44px;border:1px solid #cdbf9f;border-radius:12px;background:#fffdf8;color:#6f6655;box-shadow:0 2px 0 #ddcfb2;text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s}.board-stop:hover{transform:translateY(-2px);border-color:#9077d7;box-shadow:0 4px 0 #d1c2e8}.board-stop .stop-number{font:750 10px var(--sans)}.board-stop.completed{background:#e6f2e9;color:#3e7458;border-color:#9fc0a8}.board-stop.current{background:#fff2dd;color:#815020;border:2px solid #e2a453;box-shadow:0 3px 0 #c38642}.board-pawn{position:absolute;top:-10px;right:-7px;width:22px;height:22px;display:grid;place-items:center;border:1px solid #fff;border-radius:50%;background:#7355c8;color:#fff;font-size:14px;line-height:1;box-shadow:0 2px 5px #3f2a7b44}.board-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 4px 0;color:#7a715e;font-size:9px}.board-token{color:#df9651;font-size:16px}
.courses-list{margin-top:20px}.courses-list h2{margin-bottom:10px}.courses-list .module-row{padding:13px 15px;grid-template-columns:42px 1fr auto;gap:10px;border-radius:15px}.courses-list .module-stamp{width:38px;height:38px;border-radius:12px}
.mobile-tabbar{display:none}
@media(min-width:851px){.learn-home{padding:38px 0 60px}.learn-welcome{margin-bottom:22px}.learn-start-card{padding:21px 23px}.course-chips{gap:13px}.game-challenge{min-height:70px}}
@media(max-width:850px){.learn-home,.courses-page{width:min(100% - 32px,620px);padding:17px 0 28px}.learn-welcome{margin:2px 0 13px}.learn-start-card{padding:14px;gap:9px}.start-card-copy h2{font-size:15px}.learn-start-card .button{min-width:105px;padding:10px 13px}.learn-game{grid-template-columns:32px minmax(0,1fr) minmax(120px,.9fr);gap:8px;margin:9px 0 15px;padding:11px}.level-token{width:31px;height:31px}.game-badges{grid-column:1/-1;justify-self:end;margin-top:-3px}.course-chips{grid-template-columns:none;grid-auto-columns:minmax(205px,76%);grid-auto-flow:column;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding:1px 2px 9px}.course-chip{scroll-snap-align:start}.learn-glossary-link{margin-top:7px}.mobile-tabbar{position:fixed;z-index:45;inset:auto 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:6px 9px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:color-mix(in srgb,var(--panel) 96%,transparent);backdrop-filter:blur(15px)}.mobile-tabbar a{min-width:44px;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;border-radius:12px;color:var(--muted);font:650 10px var(--sans);text-decoration:none}.mobile-tabbar a span{font-size:18px;line-height:1.1}.mobile-tabbar a[aria-current=page]{background:#f0edff;color:#5c49b8}.mobile-tabbar a:focus-visible{outline-offset:-2px}body:not([data-route=lesson]) .site-footer{padding-bottom:calc(95px + env(safe-area-inset-bottom))}body[data-route=lesson] .mobile-tabbar{display:none}}
@media(max-width:430px){.learn-welcome h1{font-size:26px}.learn-welcome p{font-size:12px}.learn-start-card{align-items:flex-start;flex-direction:column}.learn-start-card .button{align-self:stretch;width:100%}.learn-game{grid-template-columns:32px minmax(0,1fr);gap:8px 9px}.game-main{grid-column:2}.game-challenge{grid-column:1/-1;min-height:58px}.game-badges{grid-column:1/-1;margin-top:0}.course-chip{min-height:64px}.hero-board{padding:12px}.board-course{padding:7px}.board-track{grid-template-columns:repeat(4,minmax(44px,1fr));gap:5px}.board-stop{width:min(100%,52px);height:auto;aspect-ratio:1}.board-track:before{top:24px}.board-track:after{top:76px}.board-top strong{font-size:15px}.courses-list .module-copy h3{font-size:11px}}
@media(max-width:360px){.learn-home,.courses-page{width:calc(100% - 24px)}.learn-welcome h1{font-size:24px}.course-chips{grid-auto-columns:82%}.board-stop{width:44px;height:44px}.board-track{gap:5px 3px}.board-track:before{left:8%;right:8%}.board-track:after{left:8%;right:8%}.board-course-head strong{font-size:9px}}
body[data-route=lesson] .mobile-tabbar{display:none}
@media(prefers-reduced-motion:reduce){.learn-game,.game-bar span,.game-challenge,.course-chip,.board-stop,.quiz-explain.good,.toast.reward{animation:none!important;transition:none!important}html{scroll-behavior:auto!important}}
.brand{min-height:44px}.brand-logo{width:34px;height:34px;flex:none;object-fit:contain;border-radius:9px}.icon-button{width:44px;height:44px}.mobile-nav a{min-height:44px;display:flex;align-items:center}.reader-crumbs a,.course-topline a{min-height:44px;display:inline-flex;align-items:center}.side-lesson{min-height:44px}.read-card a,.source-link{min-height:44px;display:inline-flex;align-items:center}.quiz-q{scroll-margin-top:112px}.toast.reward{border:1px solid #f1c27d;background:linear-gradient(115deg,#272441,#573f75);box-shadow:0 10px 35px #43315b44;animation:reward-in .42s cubic-bezier(.2,.9,.25,1.25)}@keyframes reward-in{0%{opacity:0;transform:translateY(12px) scale(.9)}65%{opacity:1;transform:translateY(-2px) scale(1.025)}100%{transform:none}}
.reward-coin{width:13px;height:13px;object-fit:contain;vertical-align:middle}.toast.reward{display:flex;align-items:center;gap:8px}.toast.reward:before{content:"";flex:none;width:20px;height:20px;background:url("assets/kubear-coin.png") center/contain no-repeat}


/* The page container receives navigation focus; controls keep their own focus rings. */
#main:focus{outline:none}.learn-start-card .button-primary{display:flex;align-items:center;justify-content:center;gap:8px;background:#6055e8;color:#fff;border:0;border-radius:14px;min-height:48px;font-weight:700;box-shadow:0 4px 12px #6055e820}.learn-start-card .button-primary:hover{background:#5146d7}
