:root{--wine:#6c1931;--wine-dark:#491426;--ink:#292725;--muted:#706b66;--paper:#faf8f3;--line:#e3ded5;--gold:#c59444;--soft:#efe9de;--green:#395c4d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:4px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b87a23}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.14}h1,h2,.wordmark{font-family:Georgia,'Times New Roman',serif;font-weight:400}h2{font-size:36px;letter-spacing:-1px;margin-bottom:14px}h3{font-size:20px;margin-bottom:12px}p{margin-bottom:16px}button,.button{border-radius:7px;border:1px solid var(--line);padding:11px 18px;font-weight:600;background:#fff;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:44px}.button.primary{background:var(--wine);color:#fff;border-color:var(--wine)}.button:hover,button:hover{filter:brightness(.95)}.secondary{margin-top:24px}.skip{position:fixed;left:15px;top:-80px;padding:12px;background:#fff;z-index:100}.skip:focus{top:10px}.sidebar{position:fixed;inset:0 auto 0 0;width:226px;background:var(--wine-dark);color:#fff6ed;padding:43px 26px;display:flex;flex-direction:column;z-index:10}.wordmark{font-size:34px;line-height:1.02;letter-spacing:-1px;display:block}.wordmark i{font-weight:400}.wordmark span{display:block;font-family:Arial,sans-serif;font-size:8px;letter-spacing:2.4px;margin-top:17px;color:#dbc3b8}.sidebar nav{display:flex;flex-direction:column;gap:6px;margin-top:58px}.nav-link{padding:11px 12px;border-radius:6px;font-size:12px;color:#e0cbc7;display:flex;align-items:center;gap:13px}.nav-link span{font-size:21px;width:22px;line-height:1}.nav-link:hover,.nav-link.active{color:#fff;background:#ffffff14}.sidebar-bottom{margin-top:auto;font-size:8px;letter-spacing:1px;color:#dac6be}.sidebar-bottom p{font-family:Georgia,serif;font-size:20px;letter-spacing:0;line-height:1.4;margin-top:15px;color:#fff}.sidebar-bottom a{font-size:12px;letter-spacing:0}.edition-dot{display:inline-block;width:5px;height:5px;background:#d8ae6d;border-radius:50%;margin-right:6px}.dashboard{margin-left:226px;padding:29px 48px 0;max-width:1670px}.topline{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1.7px;margin-bottom:35px;color:var(--muted)}.edition-badge{border:1px solid var(--line);border-radius:30px;padding:5px 12px;letter-spacing:.2px;font-size:10px}.hero{display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:18px;padding:5px 0 30px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.9px;color:var(--wine);margin-bottom:19px}.hero h1{font-size:clamp(37px,3.8vw,64px);letter-spacing:-2px;line-height:1.07;margin-bottom:25px}.hero h1 em{font-weight:400;color:var(--wine)}.hero-description{max-width:425px;color:var(--muted);font-size:14px;line-height:1.85;margin-bottom:26px}.hero .button{font-size:12px}.hero-foot{font-size:10px;color:var(--muted);margin:14px 0}.hero-art{position:relative;padding-bottom:12px}.hero-art img{display:block;width:100%;height:auto;mix-blend-mode:multiply}.art-caption{font-family:Georgia,serif;font-style:italic;font-size:12px;color:var(--muted);display:block;text-align:center;margin-top:-5px}.stats-strip{display:grid;grid-template-columns:repeat(3,1fr) 1.3fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0;margin-bottom:48px;gap:20px}.stats-strip>div{display:flex;align-items:center;gap:14px;border-right:1px solid var(--line)}.stats-strip strong{font-family:Georgia,serif;font-size:35px;font-weight:400;color:var(--wine)}.stats-strip span{font-size:10px;color:var(--muted);line-height:1.5}.stats-strip>a{font-size:11px;line-height:1.6;padding-left:5px;display:flex;justify-content:space-between;align-items:center}.stats-strip>a span{font-size:22px;color:var(--wine)}.section-block{margin-bottom:64px;scroll-margin-top:25px}.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.section-title .eyebrow{margin-bottom:11px}.section-title h2{margin-bottom:0;font-size:31px}.section-title>a{font-size:11px;text-decoration:underline;text-underline-offset:5px;white-space:nowrap}.featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.feature-card{display:block;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden;transition:transform .2s}.feature-card:hover{transform:translateY(-3px)}.card-art{font-family:Georgia,serif;height:146px;font-size:64px;line-height:1;text-align:center;padding-top:26px}.card-art span{display:block;font-size:10px;font-style:italic;margin-top:15px}.language .card-art{background:#e9ede5;color:#49634b}.math .card-art{background:#f0e4d0;color:#88673d}.code .card-art{background:#ebe4ec;color:#75617c}.card-content{padding:23px 22px 19px}.tag{font-size:8px;letter-spacing:1.5px;font-weight:700;color:var(--muted);display:block;margin-bottom:12px}.card-content h3{font-family:Georgia,serif;font-size:24px;font-weight:400;letter-spacing:-.6px}.card-content p{color:var(--muted);font-size:12px;line-height:1.8;min-height:65px}.card-bottom{border-top:1px solid var(--line);padding-top:13px;font-size:9px;display:flex;align-items:center;justify-content:space-between}.card-bottom b{font-size:17px;font-weight:400;color:var(--wine)}.section-intro{font-size:13px;color:var(--muted);max-width:830px}.filters{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:12px;margin:22px 0 12px}label{font-size:12px;display:block}label>span{display:block;font-size:10px;font-weight:600;margin-bottom:5px}input,select,textarea{border:1px solid #c9c1b5;border-radius:6px;background:#fff;padding:11px 12px;color:var(--ink);width:100%;min-width:0}.subtle,.small{font-size:11px;color:var(--muted)}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.program-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:22px;display:flex;flex-direction:column;min-height:215px}.program-card h3{font-family:Georgia,serif;font-size:21px;font-weight:400;line-height:1.25;margin:8px 0 13px}.program-card h3 a:hover{text-decoration:underline}.program-card p{font-size:11px;color:var(--muted);line-height:1.65}.program-card .card-actions{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:10px}.program-card .card-actions a{font-size:11px;color:var(--wine);font-weight:bold}.program-card button{font-size:10px;padding:7px 11px;min-height:36px}.program-card.held{background:#f2efe9}.program-card .status{font-size:9px;color:var(--green);font-weight:bold}.program-card.held .status{color:#856840}.empty{padding:26px;color:var(--muted);border:1px dashed #cfc5b7;border-radius:8px;grid-column:1/-1;font-size:13px}.practice-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:20px}.practice-card{padding:28px;background:#fff;border:1px solid var(--line);border-radius:10px}.practice-card p{font-size:12px;color:var(--muted)}.practice-card h3,.notebook h3{font-family:Georgia,serif;font-size:27px;font-weight:400}.practice-card a{font-size:12px;color:var(--wine);text-decoration:underline}.practice-card output{display:block;margin:15px 0}.practice-card #timer{font-size:52px;font-family:Georgia,serif;font-variant-numeric:tabular-nums;color:var(--wine)}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions button{font-size:11px}.math-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.math-inputs label{font-size:10px}.math-inputs input{margin-top:7px}#breakeven{font-size:13px;background:#f4f0e8;padding:14px;border-radius:6px;min-height:70px}.notebook{display:grid;grid-template-columns:1fr 1.2fr;gap:35px;background:#eee9df;border-radius:10px;padding:30px;margin-top:22px}.notebook p{font-size:12px;color:var(--muted)}.notebook textarea{min-height:140px;margin:7px 0 14px;resize:vertical}.text-button{background:transparent;border-color:transparent;text-decoration:underline}.install-panel{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;align-items:center;padding:32px 38px;background:#eee7dc;border-radius:12px;margin-bottom:64px}.install-panel h2{font-size:32px}.install-panel p{font-size:13px;color:var(--muted)}.install-panel .small{font-size:10px;margin-top:14px}.install-panel img{width:100%;height:auto;mix-blend-mode:multiply}.install-panel details{font-size:11px}.install-panel summary{cursor:pointer}.about-panel{border-top:1px solid var(--line);padding-top:36px}.about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:27px}.about-grid h3{font-size:15px}.about-grid p{font-size:11px;color:var(--muted);line-height:1.85}.main-footer{border-top:1px solid var(--line);padding:30px 0 35px;display:flex;justify-content:space-between;align-items:center;gap:15px}.main-footer .wordmark{font-size:23px;color:var(--wine)}.main-footer p{margin:0;font-family:Georgia,serif;font-style:italic;font-size:13px}.main-footer>span{font-size:9px;color:var(--muted)}.course-top{display:flex;justify-content:space-between;align-items:center;padding:25px max(24px,6vw);border-bottom:1px solid var(--line);gap:20px}.course-top .wordmark{font-size:26px;color:var(--wine)}.course-top nav{display:flex;gap:22px;font-size:12px}.course-heading{max-width:1180px;padding:35px 24px 20px;margin:auto}.course-heading h1{font-size:44px;max-width:900px;letter-spacing:-1px}.course-heading>.eyebrow{margin:20px 0 12px}.course-heading p{font-size:13px}.back-link{font-size:12px;color:var(--wine)}.reader-layout{max-width:1180px;margin:auto;display:grid;grid-template-columns:220px minmax(0,1fr);gap:30px;padding:0 24px}.reader-layout main{padding:0;max-width:100%;min-width:0}.lesson-toc{align-self:start;position:sticky;top:20px;background:#eee9df;padding:20px;border-radius:10px;max-height:85vh;overflow:auto}.lesson-toc h2{font:600 13px Arial;letter-spacing:0;margin-bottom:15px}.lesson-toc a{display:block;font-size:11px;padding:8px 0;border-bottom:1px solid #ddd5c8;line-height:1.4}.course-page .program{border:0;margin:0;padding:0}.course-page .notice{border-left-color:var(--gold);background:#f4ead6;border-radius:0 7px 7px 0;font-size:12px}.course-page .lesson,.course-page .course-extra{border-color:var(--line);background:#fff}.course-page .lesson>summary{font-size:16px}.course-page details p,.course-page details li{font-size:14px}.course-page .model-card,.course-page .case{background:#f2efe7}.course-page .practice-toggle{margin-top:24px;border-top:1px solid var(--line);padding-top:16px;font-size:12px;font-weight:400;display:flex;gap:9px;align-items:center;flex-wrap:wrap}.practice-toggle input{width:18px;height:18px;accent-color:var(--wine)}.practice-toggle span{font-size:10px;color:var(--muted);font-weight:400;margin:0}.course-page textarea{font-size:14px}.course-page #export-course{margin-top:15px}.course-page footer{font-size:11px}.course-page svg{max-width:100%;height:auto}.course-page pre{white-space:pre-wrap;overflow-wrap:anywhere}.course-page audio{max-width:100%}.course-page #storage-status{margin:14px 0 0}section[id],details[id]{scroll-margin-top:25px}@media(min-width:1700px){.dashboard{margin-right:auto}}@media(max-width:1100px){.sidebar{width:194px;padding:35px 18px}.dashboard{margin-left:194px;padding:25px 30px 0}.hero h1{font-size:43px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-content{padding:18px 16px}.card-art{height:125px;font-size:52px}.stats-strip{gap:13px}.stats-strip>div{gap:8px}.stats-strip strong{font-size:29px}.stats-strip span{font-size:9px}.install-panel{padding:28px}.about-grid{gap:20px}.reader-layout{grid-template-columns:180px minmax(0,1fr);gap:20px}}@media(max-width:800px){.sidebar{position:static;width:100%;padding:19px 22px;display:block}.sidebar .wordmark{font-size:26px;display:flex;gap:6px;align-items:baseline}.sidebar .wordmark br,.sidebar .wordmark span{display:none}.sidebar nav{margin-top:17px;flex-direction:row;gap:5px;overflow:auto}.nav-link{white-space:nowrap;font-size:10px;padding:7px 9px;gap:7px}.nav-link span{font-size:16px;width:auto}.sidebar-bottom{display:none}.dashboard{margin-left:0;padding:24px 24px 0}.topline{margin-bottom:20px}.hero h1{font-size:46px}.hero{gap:10px}.hero-description{font-size:12px}.hero-art{align-self:center}.hero-copy .eyebrow{font-size:8px}.stats-strip{margin-bottom:36px}.stats-strip>div{flex-direction:column;align-items:flex-start;gap:0}.stats-strip strong{font-size:31px}.stats-strip>a{font-size:10px}.featured-grid{gap:12px}.card-content h3{font-size:21px}.card-content p{font-size:11px;min-height:95px}.section-title{align-items:flex-start}.section-title h2{font-size:29px}.section-title>.subtle{max-width:140px;text-align:right}.install-panel{grid-template-columns:1.5fr 1fr}.about-grid{grid-template-columns:1fr}.about-grid p{font-size:12px}.about-grid article{border-bottom:1px solid var(--line);padding-bottom:10px}.main-footer{flex-wrap:wrap}.reader-layout{display:block}.lesson-toc{position:static;max-height:none;margin-bottom:22px}.lesson-toc a{display:none}.lesson-toc a:first-of-type,.lesson-toc a:nth-of-type(2){display:inline-block;margin-right:20px}.course-top{padding:20px}.course-top nav{gap:14px;font-size:10px}.course-heading h1{font-size:36px}.practice-grid{grid-template-columns:1fr 1fr}.notebook{grid-template-columns:1fr 1fr;gap:20px}.math-inputs{grid-template-columns:1fr}.math-inputs label{display:flex;align-items:center;justify-content:space-between;gap:10px}.math-inputs input{width:90px;margin-top:0;padding:7px}.course-page .table-wrap table{min-width:450px}}@media(max-width:550px){.dashboard{padding:18px 18px 0}.topline{font-size:7px;gap:10px}.edition-badge{font-size:8px;padding:5px 8px}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:10px}.hero h1{font-size:43px}.hero-description{font-size:13px}.hero-copy .eyebrow{font-size:8px}.hero-art{width:90%;max-width:350px;align-self:center;margin-top:-5px}.hero-art img{width:100%}.hero-foot{font-size:10px}.stats-strip{grid-template-columns:repeat(3,1fr);gap:10px;padding:18px 0}.stats-strip>div{border-right:1px solid var(--line)}.stats-strip>div:nth-child(3){border-right:0}.stats-strip>a{grid-column:1/-1;border-top:1px solid var(--line);padding:13px 0 0;line-height:1.2}.stats-strip>a br{display:none}.stats-strip strong{font-size:35px}.stats-strip span{font-size:10px}.featured-grid{grid-template-columns:1fr}.feature-card{display:grid;grid-template-columns:110px 1fr}.card-art{height:100%;min-height:210px;font-size:44px;display:flex;flex-direction:column;justify-content:center;padding:0 10px}.card-art span{font-size:9px;line-height:1.6;margin-top:15px}.card-content{padding:20px 16px}.card-content p{min-height:0}.card-bottom{font-size:8px}.section-title{flex-wrap:wrap;gap:12px}.section-title h2{font-size:29px}.section-title>.subtle{max-width:none;text-align:left}.section-block{margin-bottom:45px}.filters{grid-template-columns:1fr 1fr}.search-label{grid-column:1/-1}.filters select{font-size:11px;padding:11px 7px}.catalog-grid{grid-template-columns:1fr}.program-card{min-height:190px}.practice-grid,.notebook{grid-template-columns:1fr}.practice-card{padding:23px}.math-inputs{grid-template-columns:repeat(3,minmax(0,1fr))}.math-inputs label{display:block}.math-inputs input{width:100%;margin-top:7px}.notebook{padding:23px;gap:8px}.install-panel{padding:25px;grid-template-columns:1fr}.install-panel img{max-width:230px;margin:auto}.install-panel h2{font-size:31px}.install-panel .button{font-size:12px}.main-footer{display:block}.main-footer p{margin:15px 0 8px}.main-footer .wordmark{font-size:26px}.course-top{display:block}.course-top nav{margin-top:15px;justify-content:space-between}.course-heading{padding:26px 18px 20px}.course-heading h1{font-size:33px}.reader-layout{padding:0 18px}.course-page .model-grid{grid-template-columns:1fr}.course-page .lesson{padding:14px}.course-page details p,.course-page details li{font-size:13px}.course-page .target{font-size:15px;line-height:1.8}.course-page .eyebrow{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{.sidebar,.topline,.course-top,.lesson-toc,.actions,.bookmark,.practice-toggle,.skip{display:none}.dashboard{margin:0;padding:0}.reader-layout{display:block}details>*{display:block!important}.course-page details{break-inside:avoid}.hero-art{max-width:250px}}

.dedication{border-left:3px solid var(--gold);background:#f0eade;padding:17px 23px;margin-bottom:26px;border-radius:0 8px 8px 0}.dedication>span{font-size:8px;letter-spacing:2px;font-weight:bold;color:var(--wine)}.dedication p{font:italic 18px/1.5 Georgia,serif;margin:5px 0 0;max-width:950px}@media(max-width:550px){.dedication{padding:14px 17px}.dedication p{font-size:16px}}

[hidden]{display:none!important}

/* October 2026 brand reference. System display typography approximates the supplied wordmark; body copy stays unshadowed. */
:root{--brand-paper:#f3efe3;--brand-ink:#191b1a;--brand-maroon:#862338}
h1,h2{font-family:Impact,'Arial Narrow','Liberation Sans Narrow',sans-serif;font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:.015em;line-height:1.12}
h1{color:var(--brand-ink);text-shadow:-1.5px 1px #ff1616,1.5px -1px #00eeee}
h1 em{color:inherit;font-style:inherit}
.brand-wordmark{display:block;width:148px;height:61px;flex-shrink:0;background-image:url('/assets/brand-reference.png');background-size:394px 222px;background-position:-54px -83px;background-repeat:no-repeat;background-color:var(--brand-paper)}
@media(prefers-contrast:more){h1,.wordmark{text-shadow:none}}

body{--paper:var(--brand-paper)}
.wordmark{font-family:Impact,'Arial Narrow','Liberation Sans Narrow',sans-serif;font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:.015em;color:var(--brand-ink);text-shadow:-1px 1px #ff1616,1px -1px #00eeee}
.wordmark i{font:inherit;color:inherit}
.sidebar .wordmark{background:var(--brand-paper);padding:14px 10px;border-radius:3px;font-size:30px}
.wordmark span{font-style:normal;text-shadow:none;color:#59434a;letter-spacing:1.2px}
.hero h1{line-height:1.08;letter-spacing:.015em}
.hero h1 em{color:inherit}
