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