/* Postcard edition: warm stock, typewriter labels, colored printing inks. */
:root{--paper:#f7f5ef;--ink:#28302d;--muted:#665e50;--blue:#195477;--line:#cabc9e;--red:#ad3d30;--orange:#b85524;--green:#436449;--mono:'Courier New',Courier,monospace}
html{background:var(--paper)}body{background:var(--paper);color:var(--ink);border:0;min-height:100vh;font-family:Georgia,'Times New Roman',serif}body:before{content:'';pointer-events:none;position:fixed;inset:0;z-index:20;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%236b5840' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}h1,h2,h3,.brand{font-family:var(--mono)}h1{font-weight:700;font-size:clamp(40px,4.6vw,63px);line-height:1.07;letter-spacing:-3px}h1 em{color:var(--blue);font-style:normal;text-decoration:underline;text-decoration-color:#c67443;text-decoration-thickness:2px;text-underline-offset:9px}h2{font-size:33px;line-height:1.2;font-weight:700;letter-spacing:-1.7px}h3{font-weight:700;letter-spacing:-1.2px}.site-header{border-bottom:3px double var(--blue);height:100px;padding:0 30px}.brand{font-size:17px;letter-spacing:-.7px}.mark{background:transparent;color:var(--red);border:3px double var(--red);width:39px;height:45px;transform:rotate(-5deg);font:700 25px var(--mono)}.edition{color:var(--red)}nav{font-family:var(--mono);font-size:14px;gap:26px}nav a{border-bottom:1px dotted var(--blue);padding-bottom:3px}.intro{gap:52px;padding:64px 0 52px;grid-template-columns:1.1fr 1fr;align-items:center}.eyebrow{color:var(--red);font-weight:700;font-size:12px;letter-spacing:1.2px}.lede{font-family:Georgia,serif;font-size:19px;color:#544e43;line-height:1.75;max-width:470px}.text-link,.small-link{font-family:var(--mono);font-weight:700;color:var(--blue);font-size:14px;border-bottom-color:var(--blue)}.cover-note{background:#ecdec0;border:1px solid #b5a788;padding:13px;box-shadow:3px 4px 0 #d4c5a3;transform:rotate(1.6deg)}.postcard-image{display:block;width:100%;height:auto;mix-blend-mode:multiply}.postcard-caption{font-family:var(--mono);font-size:11px;letter-spacing:1px;color:var(--blue);display:flex;justify-content:space-between;padding:14px 4px 4px;border-top:1px solid #b5a788;margin-top:10px}.cover-note .postcard-caption span:last-child{color:var(--red)}.journey-strip{border-top:3px double var(--blue);border-bottom:1px solid var(--blue);font-family:var(--mono);color:var(--muted);gap:29px}.journey-strip strong{color:var(--red);font-weight:700}.strip-end{color:var(--green);font-weight:700}.section{border-bottom:1px solid #baab8c}.section-heading .eyebrow{color:var(--red)}.section-meta{color:#645e51}.featured{background:#f1eee6;border:1px solid #b5a88c;border-top:5px solid var(--blue);padding:28px;position:relative}.featured .badge{color:var(--green);border:1px solid var(--green);padding:4px 7px;transform:rotate(-2deg);font-size:11px}.featured h3{font-family:Georgia,serif;font-weight:400;font-size:36px;letter-spacing:-1.1px}.featured p,.next-notes p{color:#544e43}.meta{color:#645c4c}.next-notes article{border-top:3px double var(--red);padding-top:18px}.next-notes article+article{border-top:3px double var(--green)}.next-notes h3{font-family:Georgia,serif;font-weight:400;font-size:27px;letter-spacing:-.4px}.roadmap-key{border-bottom:2px solid var(--blue);color:var(--blue);font-weight:700}.weeknum{color:var(--red);font-weight:700}.weektitle{font-family:var(--mono);font-size:20px;letter-spacing:-.6px}.week[open]{background:#efede5}.week{border-bottom:1px solid #c6b896}.week:nth-child(4n+2) .weeknum{color:var(--blue)}.week:nth-child(4n+3) .weeknum{color:var(--orange)}.week:nth-child(4n) .weeknum{color:var(--green)}.week-body p{color:#554e42;font-family:Georgia,serif;font-size:16px}.week-body h4{font-weight:700}.execution{color:#665e50}.time-budget{font-family:var(--mono)}.time-budget>span{color:var(--green);font-weight:700}.about h2{font-size:29px}.about p{color:#554e42;font-size:17px}.principles{color:var(--green);font-family:var(--mono);font-weight:700}.section-heading h2{max-width:700px}footer{font-family:var(--mono)}footer>span,footer>a:last-child{color:#62594b}.reading{color:var(--ink);font-family:Georgia,serif;font-size:18px;line-height:1.85;padding-top:42px}.reading h1{font-family:var(--mono);font-size:45px;letter-spacing:-2.3px;font-weight:700;line-height:1.12;color:var(--blue);margin:30px 0}.reading h2{font-family:var(--mono);font-size:27px;letter-spacing:-1px;color:var(--blue);border-top:3px double #b6a681}.reading h2:nth-of-type(3n){color:var(--green)}.reading>p,.reading>ul{color:#383b33}.reading>p:first-of-type{color:#3c4339;font-size:20px}.article-nav{font-family:var(--mono);font-size:13px}.article-nav>span{color:var(--red);font-weight:700}.article-nav li a{color:#625e50}.article-nav li a:hover{background:#eeebe3;color:var(--blue)}.article-meta{color:var(--red);border-top:3px double var(--red);border-bottom:1px solid var(--red);padding:11px 0;font-weight:700;letter-spacing:.4px}.article-meta span:last-child{color:var(--green)}.article-resources{font-family:var(--mono);font-size:13px;border-bottom:1px solid #b8a98b}.lesson-postcard{position:relative;border:1px solid #b5a689;background:#e9ddc1;padding:9px;margin:28px 0!important;max-width:100%}.lesson-postcard img{width:100%;height:290px;object-fit:cover;object-position:center 46%;mix-blend-mode:multiply;display:block}.lesson-postcard figcaption{font-family:var(--mono);font-size:11px;color:var(--blue);margin:10px 4px 4px;display:flex;justify-content:space-between;letter-spacing:.7px}.lesson-postcard figcaption span:last-child{color:var(--red)}.setup-grid{background:#f0ede5;border:1px solid #b9aa8a;position:relative}.setup-grid span{color:var(--red)}.setup-grid strong{font-family:var(--mono);font-size:14px;font-weight:700;color:var(--blue)}.diagram{background:#f3f0e9;border:1px solid #b6a98d;border-radius:0}.figure-label{color:var(--red);font-weight:700;font-size:12px}.request-flow>div{background:#faf8f2;border:1px solid #aaab92;border-top:3px solid var(--blue)}.request-flow>div:nth-of-type(2){border-top-color:var(--orange)}.request-flow>div:nth-of-type(3){border-top-color:var(--red)}.request-flow>div:nth-of-type(4){border-top-color:var(--green)}.request-flow strong{font-family:var(--mono);color:var(--blue)}.request-flow div span{font-family:var(--mono);color:#625b4d}.phase-name b{font-family:var(--mono);color:var(--blue);font-weight:700}.phase-name span{color:#625b4d}.phase-row+.phase-row{border-top-color:#b8a27d}.input-token{background:#faf8f2;border:1px solid var(--blue);color:var(--blue)}.new-token{background:var(--blue);border-color:var(--blue);color:#faf8f2}.phase-row:nth-of-type(3) .new-token{background:var(--green);border-color:var(--green)}.past-token{background:#d9dfc4;border-color:#7e9572;color:var(--green)}.cache-rail{background:#dfdfc1;border-left-color:var(--green);color:#405843;font-family:var(--mono);font-size:12px}.reading figcaption{color:#62594b}.chart{background:#f7f5ef;border:1px solid #b7a988;border-radius:0;padding:18px}.chart img{mix-blend-mode:multiply}.reading pre{background:#243e47;color:#f7e9c8;border-radius:0;border-left:4px solid var(--orange);box-shadow:3px 3px 0 #cbbb98;font-family:var(--mono)}.reading code{background:#eae6dc;color:#304b56;border-radius:0}.reading pre code{background:none;color:inherit}.completion{background:#efebe1;border-left-color:var(--orange);color:var(--blue);font-family:Georgia,serif}.checkpoint{background:#f0eee5;border:1px solid #a89f7e;border-left:4px solid var(--green);border-radius:0}.checkpoint summary{font-family:Georgia,serif;color:#324331}.checkpoint summary>span{font-family:var(--mono);color:var(--green);font-weight:700}.checkpoint p{color:#45513e}.checkpoint summary:after{color:var(--green)}.next-lesson{background:#eeeae0;border:1px solid #b9a382;border-top:4px solid var(--red)}.next-lesson span{color:var(--red);font-weight:700}.next-lesson h3{color:var(--blue);font-size:25px}.next-lesson p{color:#5d5141}.next-lesson a{font-family:var(--mono);font-size:14px}.postcard-credits{font:11px var(--mono);color:#74694f;margin-top:15px}
@media(max-width:1000px){.intro{gap:30px}h1{font-size:48px}.reading h1{font-size:39px}.reading h2{font-size:25px}.article-shell{gap:30px}.lesson-postcard img{height:240px}}
@media(max-width:750px){body{border-width:0}.site-header{height:auto;min-height:100px;padding:18px 20px;gap:16px}.brand{font-size:15px}.mark{width:32px;height:35px;font-size:22px}nav{font-size:13px}.intro{grid-template-columns:1fr;padding:40px 0;gap:28px}h1{font-size:45px;letter-spacing:-2px}.cover-note{max-width:480px;transform:rotate(.6deg);padding:10px}.lede{font-size:18px}.postcard-caption{font-size:10px}.section-heading h2{font-size:29px}.featured h3{font-size:31px}.featured .meta{flex-wrap:wrap}.featured .badge{font-size:10px}.journey-strip{gap:12px;font-size:11px}.strip-end{display:none}.weektitle{font-size:17px}.week-body p{font-size:16px}.reading{font-size:17px;padding-top:26px}.reading h1{font-size:34px;letter-spacing:-1.8px}.reading h2{font-size:24px}.article-meta{font-size:10px;flex-wrap:wrap}.article-meta span:last-child{font-size:11px}.lesson-postcard{padding:6px}.lesson-postcard img{height:180px;object-fit:cover}.lesson-postcard figcaption{font-size:10px;gap:10px;letter-spacing:0}.setup-grid strong{font-size:13px}.article-resources{font-size:12px;gap:11px}.chart{padding:8px}.request-flow div span{font-size:12px}.phase-tokens{font-size:12px}.phase-name b{font-size:21px}.article-shell{padding:0 20px}.article-nav{padding-top:20px}.article-nav .nav-back{font-size:12px}.completion{font-size:21px}footer .brand{font-size:13px}}

.lesson-postcard img{height:auto;object-fit:contain}.cover-note{align-self:center}.postcard-image{height:auto}

/* Keep the navigation and lesson labels readable and the framing simple. */
.brand{font-size:20px}.intro h1{font-size:clamp(40px,4.6vw,63px)}.meta,.feature-bottom,.section-meta{font-size:14px}.cover-note{transform:none;box-shadow:none}.intro{padding-bottom:64px}.featured .feature-bottom{justify-content:flex-end}footer{justify-content:flex-end}@media(max-width:750px){.brand{font-size:18px}.intro h1{font-size:40px}}

/* Open ink landscape and a quieter serif title. */
.site-header .brand,.intro h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em}
.site-header .brand{font-size:25px}.intro h1{font-size:clamp(48px,5.5vw,76px);line-height:1.05}
.cover-note,.lesson-postcard{border:0;background:transparent;padding:0;box-shadow:none;transform:none}
.postcard-image,.lesson-postcard img{display:block;width:100%;height:auto;mix-blend-mode:multiply;mask-image:radial-gradient(ellipse 70% 65% at center,#000 48%,transparent 74%);-webkit-mask-image:radial-gradient(ellipse 70% 65% at center,#000 48%,transparent 74%)}
@media(max-width:750px){.site-header .brand{font-size:24px}.intro h1{font-size:52px}.cover-note,.lesson-postcard{padding:0}.intro{gap:10px}}
/* Serif section headings with clear, stronger roadmap text. */
.section-heading h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em}
#roadmap .weektitle{font-family:Arial,Helvetica,sans-serif;font-weight:600;letter-spacing:0;line-height:1.45}
#roadmap .roadmap-key,#roadmap .weeknum,#roadmap .execution,#roadmap .week-body h4{font-family:Arial,Helvetica,sans-serif;letter-spacing:0}
#roadmap .section-meta,#roadmap .week-body p{font-family:Arial,Helvetica,sans-serif;font-weight:500;line-height:1.65}
nav,.text-link,.small-link{font-family:Arial,Helvetica,sans-serif}

.site-header{justify-content:flex-end;height:74px;min-height:74px}.intro .lede{max-width:560px;font-size:18px;line-height:1.7}.intro .lede p{margin:0 0 18px}#roadmap .weektitle,#roadmap .weeknum,#roadmap .roadmap-key,#roadmap .execution{font-weight:400}@media(max-width:750px){.site-header{min-height:65px;height:65px;padding:15px 20px}.intro .lede{font-size:17px}}

#roadmap .weektitle,#roadmap .weeknum,#roadmap .roadmap-key,#roadmap .execution,#roadmap .section-meta,#roadmap .week-body p,#roadmap .week-body h4{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:0}

.reading h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.03em;color:var(--ink)}.reading .article-resources{font-family:Georgia,'Times New Roman',serif;font-size:18px;line-height:1.6;flex-wrap:wrap}.phase-diagram .phase-row:nth-of-type(2) .new-token{background:var(--green);border-color:var(--green)}
.reading h2,.reading h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.03em}
