.prose-page{background:var(--bg)}.breadcrumb{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding:14px 0;border-bottom:1px solid var(--rule)}.breadcrumb a{color:var(--ink-3);text-decoration:none}.breadcrumb a:hover{color:var(--red)}.breadcrumb .sep{margin:0 10px;color:var(--rule-2)}.breadcrumb .here{color:var(--ink)}.module-head{padding-block:clamp(48px,6vw,80px) clamp(32px,4vw,56px);border-bottom:1px solid var(--rule)}.module-head .kicker{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--red);font-weight:500}.module-head h1{font-size:clamp(32px,3.6vw,46px);letter-spacing:-.028em;line-height:1.05;font-weight:600;max-width:none;margin-top:18px}.module-head .meta{margin-top:22px;display:flex;flex-wrap:wrap;gap:18px;font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--ink-3)}.module-head .meta span{display:inline-flex;align-items:center;gap:6px}.module-head .meta .red{color:var(--red)}.prose{max-width:48rem;padding-block:clamp(40px,5vw,64px) clamp(56px,7vw,96px);font-size:18px;line-height:1.65;color:var(--ink)}.prose>*+*{margin-top:1.1em}.prose p{max-width:none;margin:0}.prose p+p{margin-top:1em}.prose h2{font-size:clamp(26px,2.6vw,34px);letter-spacing:-.025em;line-height:1.15;font-weight:600;margin-top:2.2em;margin-bottom:.6em;padding-top:.3em;position:relative}.prose h2:before{content:"";position:absolute;left:0;top:0;width:32px;height:2px;background:var(--red)}.prose h3{font-size:22px;letter-spacing:-.02em;line-height:1.25;font-weight:600;margin-top:1.8em;margin-bottom:.4em}.prose strong{color:var(--ink);font-weight:600}.prose em{font-style:italic;color:var(--ink-2)}.prose .lead-bold{margin-top:1.6em}.prose .lead-bold>strong:first-child{display:block;font-size:1.04em;margin-bottom:.15em;letter-spacing:-.012em;font-weight:600}.prose .worked .lead-bold>strong:first-child,.prose blockquote .lead-bold>strong:first-child,.prose li .lead-bold>strong:first-child{display:inline;font-size:inherit;margin-bottom:0;letter-spacing:inherit}.prose ol.diagnostic{counter-reset:dq;padding:0;list-style:none;margin:1.6em 0}.prose ol.diagnostic>li{counter-increment:dq;position:relative;padding:22px 0 22px 56px;border-top:1px solid var(--rule);margin:0}.prose ol.diagnostic>li:last-child{border-bottom:1px solid var(--rule)}.prose ol.diagnostic>li:before{content:counter(dq,decimal-leading-zero);position:absolute;left:0;top:26px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--red);font-weight:500}.prose ol.diagnostic>li strong:first-child{display:block;font-size:1.04em;margin-bottom:.4em;font-weight:600;letter-spacing:-.012em}.prose ul{padding:0;margin:1.2em 0;list-style:none}.prose ul li{position:relative;padding:6px 0 6px 22px;list-style:none}.prose ul li:before{content:"";position:absolute;left:0;top:.78em;width:10px;height:2px;background:var(--red);border-radius:0}.prose ul li+li{margin-top:0}.prose ol:not(.diagnostic){counter-reset:pol;padding:0;margin:1.4em 0;list-style:none}.prose ol:not(.diagnostic)>li{counter-increment:pol;position:relative;padding:4px 0 4px 44px;list-style:none;line-height:1.55}.prose ol:not(.diagnostic)>li:before{content:counter(pol,decimal-leading-zero) ".";position:absolute;left:0;top:.7em;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--red);font-weight:500}.prose ol:not(.diagnostic)>li+li{margin-top:10px}.prose ol:not(.diagnostic)>li>strong:first-child{font-weight:600}.prose .table-wrap{margin:2em 0;border-top:2px solid var(--ink)}.prose table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.45}.prose table th{text-align:left;font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding:14px 16px 14px 0;border-bottom:1px solid var(--ink);vertical-align:bottom}.prose table th+th{padding-left:24px;color:var(--red)}.prose table td{padding:18px 16px 18px 0;border-bottom:1px solid var(--rule);vertical-align:top;color:var(--ink-2);font-size:15.5px}.prose table td+td{padding-left:24px;color:var(--ink);font-weight:500;background:linear-gradient(90deg,rgba(126,45,30,.04),transparent)}@media (max-width:640px){.prose table{display:block}.prose table thead{display:grid;grid-template-columns:1fr 1fr;column-gap:18px;padding:4px 0 12px;border-bottom:1px solid var(--ink)}.prose table thead tr{display:contents}.prose table thead th{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;color:var(--ink-3);padding:0;border:0;text-align:left;line-height:1.4}.prose table thead th+th{color:var(--red);padding-left:0}.prose table tbody{display:block}.prose table tbody tr{display:block;padding:20px 0 22px;border-bottom:1px solid var(--rule)}.prose table tbody td{display:block;padding:0 0 0 28px;border:0;background:none!important;position:relative;font-size:15px;line-height:1.5;color:var(--ink-3)}.prose table tbody td:before{content:"×";position:absolute;left:2px;top:-1px;font-family:var(--sans);font-size:18px;line-height:1.45;color:var(--ink-4);font-weight:400}.prose table tbody td+td{margin-top:12px;color:var(--ink);font-weight:600;font-size:15.5px}.prose table tbody td+td:before{content:"→";color:var(--red);font-family:var(--mono);font-size:16px;top:1px}}.prose .worked{margin:1.8em 0;padding:22px 26px;background:var(--bg-2);border-left:3px solid var(--red)}.prose .worked h3{margin-top:0;font-size:18px;font-weight:600}.prose .worked p{font-size:16.5px}.prose .worked p+p{margin-top:.8em}.prose blockquote{position:relative;margin:2em 0;padding:32px 24px 22px;background:var(--bg-2);border-left:3px solid var(--red)}.prose blockquote:before{content:"PROMPT";position:absolute;top:12px;left:24px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--red);font-weight:500}.prose blockquote p{font-size:16.5px;line-height:1.55;color:var(--ink);margin:0;max-width:none}.prose blockquote p+p{margin-top:.8em}.prose blockquote p em{font-style:normal;color:var(--ink)}.prose pre{position:relative;margin:2em 0;padding:34px 24px 22px;background:var(--bg);border:1px solid var(--rule);border-radius:var(--radius-sm);overflow-x:auto;-webkit-overflow-scrolling:touch;font-family:var(--mono);font-size:13.5px;line-height:1.55;color:var(--ink-2)}.prose pre:before{content:"CODE";position:absolute;top:12px;left:24px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--ink-3);font-weight:500}.prose pre code{background:transparent;padding:0;font-size:inherit;color:inherit}.prose hr{border:0;height:1px;background:var(--rule);margin:2.5em 0}.module-cta{border-top:1px solid var(--rule);padding-block:clamp(40px,5vw,64px)}.module-cta h3{font-size:clamp(22px,2.2vw,28px);letter-spacing:-.022em;font-weight:600;max-width:28ch;margin-bottom:22px}.module-cta .cta-row{margin-bottom:20px}.module-cta .tertiary{font-family:var(--mono);font-size:13px;letter-spacing:.02em;color:var(--ink-3)}.prose .figure{margin:2.4em 0}.prose .figure-frame{position:relative;aspect-ratio:16/9;background:var(--bg-2);border:1.5px dashed var(--rule-2);border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:28px;text-align:center;transition:border-color .14s,background .14s}.prose .figure-frame:has(img){aspect-ratio:auto;padding:0;border-style:solid;border-color:var(--rule);background:var(--bg);display:block;text-align:left}.prose .figure-frame img{position:static;display:block;width:100%;height:auto;max-width:100%;border-radius:var(--radius-sm)}.prose .figure-frame:has(img) .figure-desc,.prose .figure-frame:has(img) .figure-label{display:none}.prose .figure-frame .figure-label{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--red);font-weight:500;margin-bottom:10px}.prose .figure-frame .figure-label:before{content:"// ";opacity:.6}.prose .figure-frame .figure-desc{font-family:var(--sans);font-size:14.5px;line-height:1.45;color:var(--ink-2);max-width:44ch;margin:0}.prose .figure[data-ratio="4/3"] .figure-frame{aspect-ratio:4/3}.prose .figure[data-ratio="1/1"] .figure-frame{aspect-ratio:1/1}.prose .figure[data-ratio="3/2"] .figure-frame{aspect-ratio:3/2}.prose .figure[data-ratio="21/9"] .figure-frame{aspect-ratio:21/9}.prose .figure figcaption{margin-top:14px;font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--ink-3);text-align:left;line-height:1.5;display:flex;gap:8px}.prose .figure figcaption .num{color:var(--red);font-weight:500;flex-shrink:0}@media (max-width:720px){.prose .figure-frame{padding:22px}.prose .figure-frame .figure-desc{font-size:13.5px}}.read-progress{position:fixed;top:0;left:0;right:0;height:3px;background:rgba(126,45,30,.12);z-index:100;pointer-events:none}.read-progress-bar{height:100%;background:var(--red);width:0;transition:width .08s linear}.prose h2,.prose h3{position:relative}.prose h2 .anchor,.prose h3 .anchor{position:absolute;left:-32px;top:0;bottom:0;display:inline-flex;align-items:center;font-family:var(--mono);font-size:.62em;color:var(--ink-4);text-decoration:none;opacity:0;transform:translateX(-4px);transition:opacity .18s ease,transform .18s ease,color .12s ease;font-weight:500}.prose h2 .anchor:before,.prose h3 .anchor:before{content:"§"}.prose h2 .anchor,.prose h3 .anchor{font-size:0;line-height:0}.prose h2 .anchor:before,.prose h3 .anchor:before{font-size:18px;line-height:1}.prose h2:hover .anchor,.prose h3:hover .anchor{opacity:1;transform:translateX(0)}.prose h2 .anchor:hover,.prose h3 .anchor:hover{color:var(--red)}@media (max-width:760px){.prose h2 .anchor,.prose h3 .anchor{display:none}}.module-strip{position:sticky;top:var(--header-h);z-index:40;background:var(--bg);border-bottom:1px solid var(--rule)}.module-strip:after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:var(--course-progress,0);background:var(--red);transition:width .35s ease}@media (prefers-reduced-motion:reduce){.module-strip:after{transition:none}}.module-strip .row{max-width:var(--maxw);margin:0 auto;padding:10px var(--gutter);display:flex;align-items:center;gap:16px;overflow-x:auto;scrollbar-width:none}@media (max-width:720px){.module-strip .row{mask-image:linear-gradient(90deg,transparent,#000 18px,#000 calc(100% - 18px),transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 18px,#000 calc(100% - 18px),transparent)}}.module-strip .row::-webkit-scrollbar{display:none}.module-strip .label{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:500;flex-shrink:0;padding-right:14px;border-right:1px solid var(--rule)}.module-strip .label a{color:var(--ink-3);text-decoration:none}.module-strip .label a:hover{color:var(--red)}.module-strip ol{display:flex;gap:4px;list-style:none;flex:1 1}.module-strip ol,.module-strip ol li{padding:0;margin:0}.module-strip ol li:before{display:none}.module-strip a.mod{display:inline-flex;align-items:baseline;gap:8px;padding:8px 12px;text-decoration:none;color:var(--ink-3);font-size:13px;line-height:1.2;border-radius:var(--radius-sm);white-space:nowrap;transition:background .12s ease,color .12s ease,transform .12s ease}.module-strip a.mod:hover{background:var(--bg-2);color:var(--ink);transform:translateY(-1px)}@media (prefers-reduced-motion:reduce){.module-strip a.mod{transition:none}.module-strip a.mod:hover{transform:none}}.module-strip a.mod.current{color:var(--ink);background:var(--bg-2);font-weight:600}.module-strip a.mod.current .n{color:var(--red)}.module-strip a.mod.locked{color:var(--ink-4);cursor:not-allowed}.module-strip a.mod.locked:hover{background:transparent;color:var(--ink-4)}.module-strip .n{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--ink-3);font-weight:500}.module-strip a.mod.current .t{color:var(--ink)}.module-strip a.mod .lock-mark{display:none}@media (max-width:720px){.module-strip .label .full,.module-strip a.mod .t{display:none}.module-strip a.mod{padding:8px 10px}.module-strip a.mod .n{font-size:12px}.module-strip a.mod.current{padding:8px 12px}.module-strip a.mod.current .t{display:inline}}@media print{:root{--bg:#ffffff;--bg-2:#ffffff;--bg-3:#ffffff;--ink:#000000;--ink-2:#1a1a1a;--ink-3:#4a4a4a;--ink-4:#6a6a6a;--rule:#c8c8c8;--rule-2:#9a9a9a}body,html{background:#fff!important;color:#000!important}.mobile-nav,.module-strip,.nav-toggle,.prose-page main>.col-wide,.prose-page main>.col-wide.prose,.read-progress,.site-footer,.site-header{max-width:none!important;margin:0!important;padding:0!important}.module-head{border-bottom:1px solid #000!important;padding-block:0 24px!important}.module-head h1{font-size:32pt!important;line-height:1.1!important;color:#000!important}.module-head .meta{color:#666!important;font-size:9pt!important}.prose{font-size:11pt!important;line-height:1.5!important;color:#000!important;padding-block:18pt 0!important}.prose h2{page-break-before:always;break-before:page;font-size:18pt!important;margin-top:0!important}.prose h2,.prose h3{page-break-after:avoid}.prose h3{font-size:13pt!important}.prose h2:before{display:none!important}.prose>p:first-child:first-letter{color:#000!important;font-size:3em!important}.prose .table-wrap,.prose .worked,.prose blockquote,.prose figure,.prose pre{page-break-inside:avoid;break-inside:avoid}.prose a[href^="/"]:after,.prose a[href^=http]:after{content:" (" attr(href) ")";font-family:monospace;font-size:9pt;color:#555;word-break:break-all}.prose a:empty:after,.prose a[href^="#"]:after{content:""}.prose hr:before{background:#fff!important}}