
@font-face{font-family:Inter;src:url('./Inter.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('./JetBrainsMono.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
:root{--ink:#0A0A0B;--paper:#FAFAFA;--text:#18181B;--soft:#595963;--red:#E11021;--red-deep:#C20E1C;--line:#E7E7EA;--tint:#FEECEC;--radius:12px;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper);width:100%;min-height:100dvh;overflow-x:clip}html.lesson-page{background:#18181B}body{width:100%;min-height:100dvh;overflow-x:clip}body{margin:0;background:var(--paper);color:var(--text);font:400 17px/1.6 Inter,Arial,sans-serif;font-optical-sizing:auto;-webkit-font-smoothing:antialiased}h1,h2,h3,p{overflow-wrap:break-word}a{color:var(--red-deep);text-underline-offset:4px}button,input{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:8px;font:500 14px/1.25 Inter,Arial,sans-serif;text-decoration:none;cursor:pointer;white-space:nowrap}button:hover,.button:hover{background:var(--red-deep);border-color:var(--red-deep)}button:disabled{opacity:.4;cursor:default}:focus-visible{outline:3px solid var(--red);outline-offset:4px}.skip{position:absolute;left:12px;top:-120px}.skip:focus{top:12px;z-index:20}.masthead{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:24px max(24px,calc((100vw - 1180px)/2));background:var(--ink);border-bottom:1px solid #27272B}.masthead img{width:224px;height:auto;display:block}.masthead nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap;font-size:14px}.masthead nav a{color:var(--paper)}.masthead button{background:#27272B;border-color:#3F3F46;min-height:38px;padding:8px 12px;font-size:12px}.wrap{max-width:1180px;margin:auto;padding:40px 24px 64px}.intro{padding:48px;background:var(--ink);color:var(--paper);margin:0 0 32px}.intro h1{font-size:clamp(40px,5.5vw,72px);font-weight:600;letter-spacing:-.045em;line-height:1.08;margin:0 0 28px;max-width:850px}.intro p{font-size:21px;line-height:1.65;max-width:740px;color:#D4D4D8;margin:0 0 28px}.intro-actions{display:flex;gap:16px;flex-wrap:wrap;align-items:center}.intro .button{background:var(--red-deep);border-color:var(--red-deep)}.intro .demo-link{color:#fff;font-size:15px;padding:10px 0}.preflight{border-left:4px solid var(--red);padding:24px 28px;background:var(--tint);max-width:100%}.preflight p{max-width:82ch;margin:12px 0 0}.stage{margin:64px 0}.stage>h2{font-size:30px;font-weight:600;line-height:1.25;letter-spacing:-.03em;border-bottom:2px solid var(--ink);padding-bottom:18px;margin:0 0 28px}.lessons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.module{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:var(--radius);padding:28px;background:#fff}.module .number{font:500 18px/1.3 'JetBrains Mono',monospace;color:var(--red-deep)}.module h3{font-size:25px;font-weight:600;line-height:1.28;letter-spacing:-.025em;margin:14px 0 16px}.module h3 a{color:var(--ink);text-decoration:none}.module h3 a:hover{text-decoration:underline}.module p{margin:0 0 20px;font-size:16px;line-height:1.6}.module .meta{font-size:13px;color:var(--soft);margin:0 0 24px}.module-preview{background:#F7F7F8;border-radius:8px;border:1px solid var(--line);padding:8px;margin:0 0 20px}.module .links{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;font-size:13px;margin-top:auto}.module .links a:not(.button){padding:8px 0}.module .button{font-size:13px;padding:10px 14px}.prompt-library{border-top:2px solid var(--ink);padding-top:36px;margin-top:64px}.prompt-library>h2{font-size:32px;font-weight:600;line-height:1.3;letter-spacing:-.03em;margin:0 0 24px}input[type=search]{width:100%;padding:14px 18px;border:1px solid #71717A;border-radius:8px;background:#fff;margin:12px 0 16px;font-size:16px}.prompt-card{background:#fff;border:1px solid var(--line);padding:28px;margin:20px 0;border-radius:var(--radius);scroll-margin-top:28px}.prompt-card h3{margin:0 0 16px;font-size:23px;font-weight:600;line-height:1.3;letter-spacing:-.02em}.prompt-card pre,.prompt pre{white-space:pre-wrap;overflow-wrap:anywhere;font:400 17px/1.7 Inter,Arial,sans-serif;color:inherit;margin:0 0 22px;max-width:100%}.copy-status{font-size:13px;display:block;line-height:1.5;color:var(--soft);max-width:65ch}.copy-status:empty{display:none}.copy-status.failed{color:var(--red-deep)}.prompt-toolbar{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin:0 0 14px}.end{border-top:1px solid var(--line);padding:30px 0 0;margin-top:48px;font-size:14px;max-width:82ch}.hidden,[hidden]{display:none!important}
/* Container-relative sizes remain proportional on short projection displays. */
.lesson-body{background:#18181B}.lesson-controls{position:sticky;top:0;z-index:5;background:#18181B;color:#fff;padding:10px 16px;display:flex;justify-content:center;align-items:center;gap:8px;border-bottom:1px solid #303034}.lesson-controls a{color:#fff;padding:10px 8px;font-size:13px}.lesson-controls button{min-height:38px;padding:8px 12px;font-size:12px;background:#27272B;border-color:#3F3F46}.lesson-controls button:hover{background:var(--red-deep)}.lesson-controls #position{min-width:52px;text-align:center;font:12px/1.2 'JetBrains Mono',monospace;color:#D4D4D8}.module-preflight{max-width:1280px;padding:16px 24px;margin:0 auto;color:var(--paper);font-size:14px;line-height:1.7}.module-preflight summary{cursor:pointer;list-style-position:inside}.module-preflight a{color:#FF8C97}.module-preflight p{margin:12px 0;max-width:90ch}.deck{padding:8px 20px 24px;display:flex;justify-content:center;align-items:flex-start}.slide-frame{display:none;container-type:inline-size;width:min(1280px,calc(var(--available-height, calc(100dvh - 156px))*16/9),100%);aspect-ratio:16/9;flex-shrink:0}.slide-frame.active{display:block}.slide{display:block;position:relative;width:100%;height:100%;background:var(--paper);padding:3.125cqw 5cqw;overflow:hidden;isolation:isolate}.logo{width:18.25cqw;height:auto;display:block}.section{font:500 1.015625cqw/1.35 'JetBrains Mono',monospace;color:var(--red-deep);margin-top:1.875cqw}.slide h1{font:600 3.4375cqw/1.16 Inter,Arial,sans-serif;letter-spacing:-.035em;margin:2.1875cqw 0 2.8125cqw;max-width:100%}.hero{background:var(--ink);color:var(--paper)}.hero .section{color:#FF7383}.hero h1{font-size:4.0625cqw;line-height:1.1;letter-spacing:-.04em;margin:2.1875cqw 0 1.5625cqw}.subtitle{font-size:2.03125cqw;line-height:1.4;color:#D4D4D8;margin:0 0 1.875cqw;max-width:100%}.hero-items{display:flex;gap:1.5625cqw;margin:1.25cqw 0 0}.hero-items span{flex:1;border:1px solid #303034;border-radius:.625cqw;background:#202023;padding:1.015625cqw 1.25cqw;font-size:1.328125cqw;line-height:1.35}.cards,.compare{display:flex;gap:1.875cqw;align-items:stretch}.card{flex:1;min-width:0;border:1px solid var(--line);background:#fff;border-radius:.9375cqw;padding:1.875cqw;min-height:21.25cqw}.num{color:var(--red-deep);font:500 2.1875cqw/1.15 'JetBrains Mono',monospace;margin-bottom:1.875cqw}.card h2{font-size:2.03125cqw;font-weight:600;letter-spacing:-.025em;line-height:1.2;margin:0 0 1.875cqw}.card p{font-size:1.71875cqw;line-height:1.45;margin:0}.compare .card:last-child{background:var(--tint)}.compare h2{font-size:1.5625cqw;color:var(--red-deep);margin:0 0 1.875cqw}.compare p{font-size:1.875cqw;line-height:1.45}.steps{display:grid;gap:1.71875cqw}.step{display:grid;grid-template-columns:3.75cqw 1fr;gap:2.34375cqw;align-items:start;font-size:2.03125cqw;line-height:1.42}.step{min-width:0}.step span{min-width:0;overflow-wrap:anywhere}.step b{background:var(--tint);color:var(--red-deep);font:500 1.328125cqw/1.4 'JetBrains Mono',monospace;border-radius:.625cqw;text-align:center;padding:.78125cqw .3125cqw}.prompt{background:var(--ink);color:var(--paper);border-radius:.9375cqw;padding:2.1875cqw;min-height:20cqw}.prompt pre{font-size:1.875cqw;line-height:1.5;margin:0 0 2.1875cqw}.prompt button{background:var(--red-deep);border-color:var(--red-deep);font-size:1.09375cqw;min-height:3.4375cqw;padding:.78125cqw 1.40625cqw;border-radius:.625cqw}.prompt .copy-status{font-size:1.015625cqw;color:#D4D4D8}.prompt-toolbar{margin-bottom:0}.footer{position:absolute;left:5cqw;right:5cqw;bottom:2.8125cqw;display:flex;justify-content:space-between;gap:1.875cqw;font-size:1.015625cqw;line-height:1.4;color:var(--soft)}.footer>span:first-child{max-width:78ch;min-width:0;overflow-wrap:anywhere}.footer .count{font-family:'JetBrains Mono',monospace;white-space:nowrap}.hero .footer{color:#B4B4BC}.flow-vertical{display:none!important}.flow-horizontal{display:block}.topic-motion{color:var(--ink);width:100%;position:relative}.topic-motion svg{display:block;width:100%;height:auto;overflow:visible}.hero .topic-motion{color:#FAFAFA}.hero-motion{max-width:100%;height:12.65625cqw}.hero-motion .topic-motion{height:100%}.hero-motion svg{height:100%}.topic-title{font:500 13px 'JetBrains Mono',monospace;fill:currentColor}.topic-label{font:600 20px Inter,Arial,sans-serif;letter-spacing:-.02em;fill:currentColor}.topic-detail{font:400 13px Inter,Arial,sans-serif;fill:currentColor;opacity:.74}.topic-node{fill:#fff;stroke:#D8D8DD;stroke-width:1.3}.hero .topic-node{fill:#202023;stroke:#43434A}.topic-node.review{fill:#FEECEC;stroke:#C20E1C}.hero .topic-node.review{fill:#351B20;stroke:#FF7383}.topic-track{stroke:#D8D8DD;stroke-width:1;fill:none}.hero .topic-track{stroke:#43434A}.topic-arrow{fill:#C20E1C}.hero .topic-arrow{fill:#FF7383}.topic-signal{fill:#E11021}.hero .topic-signal{fill:#FF5163}.node-active{animation:node-handoff 8s infinite;animation-delay:var(--delay,0s)}@keyframes node-handoff{0%,18%{stroke:#E11021;stroke-width:2.7}20%,100%{stroke-width:1.3}}.motion-off .node-active{animation-play-state:paused}.motion-off .topic-signal{opacity:0}.motion-caption{font-size:13px;line-height:1.5;color:var(--soft);margin:12px 0 0}.diagram-slide h1{margin-bottom:1.875cqw}.diagram-slide .topic-motion{height:13.4375cqw}.diagram-slide svg{height:100%}.concept-points{font-size:1.6cqw;line-height:1.38;padding-left:1.875cqw;margin:.9cqw 0 0}.concept-points li{padding-left:.3125cqw;margin:.3cqw 0}.diagram-slide .pause{font-size:1.015625cqw;padding:.46875cqw .9375cqw;min-height:2.5cqw}.demo-slide-link{color:#FF8C97;display:inline-block;font-size:1.09375cqw;line-height:1.4;margin-top:.625cqw}.motion-showcase{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px;margin:32px 0;scroll-margin-top:24px}.motion-showcase h2{font:600 28px/1.25 Inter,Arial,sans-serif;letter-spacing:-.03em;margin:0 0 16px}.motion-showcase p{max-width:80ch;font-size:16px;line-height:1.6;margin:0 0 24px;color:var(--soft)}.motion-showcase video{display:block;width:100%;height:auto;aspect-ratio:4/1;background:#FAFAFA;border:1px solid var(--line);border-radius:8px}.video-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:16px;font-size:13px}.lesson-body>.motion-showcase{max-width:1180px;margin:0 auto 40px}.hero-motion+.hero-items+.demo-slide-link{margin-top:.625cqw}dialog{border:1px solid var(--line);border-radius:12px;max-width:760px;width:90vw;max-height:85dvh;padding:32px;overflow:auto;font:17px/1.7 Inter,Arial,sans-serif}dialog::backdrop{background:#0009}dialog p{white-space:pre-line}dialog button{float:right}.reading .deck{display:block;max-width:1320px;margin:auto}.reading .slide-frame{display:block;width:100%;margin-bottom:28px}.reading .slide{display:block}
@media(max-width:1100px){.lesson-controls{flex-wrap:wrap;gap:6px;padding:8px 12px;position:sticky}.lesson-controls button{min-height:36px;padding:7px 10px;font-size:12px}.lesson-controls a{padding:6px;font-size:12px}.lesson-controls #view{display:none}.deck,.reading .deck{display:block;max-width:900px;margin:auto;padding:12px 16px 24px}.slide-frame,.reading .slide-frame{display:block;width:100%;height:auto;aspect-ratio:auto;container-type:normal;margin:0 0 20px}.slide{height:auto;min-height:0;padding:32px;overflow:visible}.logo{width:210px;height:auto}.section{font-size:12px;margin-top:24px;line-height:1.4}.slide h1,.hero h1{font-size:36px;line-height:1.15;margin:26px 0 24px;letter-spacing:-.035em}.subtitle{font-size:21px;line-height:1.5;margin:0 0 24px}.hero-motion{height:auto}.hero-motion svg{height:auto}.hero-items{gap:12px;margin:20px 0 0}.hero-items span{font-size:15px;padding:12px 14px;border-radius:8px}.cards,.compare{gap:18px}.card{border-radius:12px;padding:24px;min-height:0}.num{font-size:24px;margin-bottom:24px}.card h2{font-size:23px;line-height:1.3;margin:0 0 20px}.card p,.compare p{font-size:19px;line-height:1.55}.compare h2{font-size:20px;margin:0 0 20px}.steps{gap:24px}.step{grid-template-columns:40px 1fr;gap:20px;font-size:21px;line-height:1.5}.step b{font-size:15px;padding:10px 4px;border-radius:8px}.prompt{border-radius:12px;min-height:0;padding:26px}.prompt pre{font-size:21px;line-height:1.55;margin:0 0 24px}.prompt button{font-size:14px;min-height:44px;padding:10px 16px;border-radius:8px}.prompt .copy-status{font-size:13px}.footer{position:static;margin-top:32px;font-size:12px;gap:24px;line-height:1.5}.diagram-slide h1{margin-bottom:24px}.diagram-slide .topic-motion,.diagram-slide svg{height:auto}.concept-points{font-size:20px;line-height:1.55;padding-left:24px;margin:24px 0}.concept-points li{margin:8px 0;padding-left:4px}.diagram-slide .pause{font-size:13px;min-height:40px;padding:8px 12px}.demo-slide-link{font-size:14px;margin-top:20px}.module-preflight{padding:14px 24px}.lesson-body>.motion-showcase{margin:0 16px 32px}.masthead{padding:22px 24px;gap:22px}.masthead nav{gap:16px}.module .links{gap:10px 16px}}
@media(max-width:760px){.flow-horizontal{display:none!important}.flow-vertical{display:block!important}.topic-detail{font-size:18px}.topic-title{font-size:18px}.topic-label{font-size:22px}.masthead{align-items:flex-start;flex-direction:column;gap:18px;padding:22px 20px}.masthead img{width:210px}.masthead nav{gap:14px 20px;font-size:13px}.wrap{padding:24px 16px 48px}.intro{padding:32px 24px;margin-bottom:24px}.intro h1{font-size:42px;margin-bottom:24px}.intro p{font-size:18px;line-height:1.65;margin-bottom:24px}.preflight{padding:22px}.preflight p{font-size:15px}.stage{margin:44px 0}.stage>h2{font-size:26px;padding-bottom:16px;margin-bottom:22px}.lessons{grid-template-columns:1fr;gap:20px}.module{padding:24px}.module h3{font-size:25px}.prompt-card{padding:22px}.prompt-card pre{font-size:17px}.prompt-library>h2{font-size:28px}.motion-showcase{padding:24px;margin:24px 0}.motion-showcase h2{font-size:25px}.lesson-controls{justify-content:flex-start;gap:6px}.lesson-controls #speaker{font-size:12px}.lesson-controls #full{display:none}.lesson-controls a{margin-right:auto}.lesson-controls #position{min-width:44px;font-size:11px}.lesson-controls [data-motion-toggle]{min-width:0;font-size:12px;padding:7px 10px}.lesson-controls button{font-size:12px;min-height:34px}.module-preflight{font-size:13px;padding:14px 18px}.deck,.reading .deck{padding:0 12px 24px}.slide{padding:26px 22px}.logo{width:190px}.slide h1,.hero h1{font-size:31px;line-height:1.2;margin:24px 0}.subtitle{font-size:19px;line-height:1.6}.cards,.compare{display:grid;grid-template-columns:1fr;gap:16px}.card{padding:22px}.num{font-size:23px;margin-bottom:18px}.card h2{font-size:23px;margin-bottom:16px}.card p,.compare p{font-size:18px;line-height:1.6}.hero-items{display:grid;grid-template-columns:1fr;gap:10px}.hero-items span{font-size:15px;padding:12px 14px}.steps{gap:22px}.step{font-size:19px;grid-template-columns:32px 1fr;gap:16px}.step b{font-size:13px;padding:8px 4px}.prompt{padding:22px}.prompt pre{font-size:19px;line-height:1.6}.footer{font-size:12px;gap:16px;margin-top:28px}.concept-points{font-size:19px;line-height:1.6}.topic-motion svg{min-height:110px}.hero-motion .topic-motion svg{min-height:0}.hero-motion{margin:4px -4px}.topic-label{font-size:20px}.module-preview{padding:0}.motion-showcase video{aspect-ratio:4/1}.lesson-body>.motion-showcase{margin:0 12px 24px}.lesson-controls{position:sticky}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.node-active{animation:none}.topic-signal{display:none}.flow-node{animation:none}}
@media print{@page{size:landscape;margin:0}.lesson-controls,.module-preflight,dialog,button,.copy-status,.motion-showcase{display:none!important}.lesson-body,.deck,.reading .deck{display:block;padding:0;background:#fff;max-width:none}.slide-frame,.reading .slide-frame{display:block!important;container-type:inline-size;width:100vw;aspect-ratio:16/9;height:100vh;margin:0;break-after:page;page-break-after:always}.slide{width:100%;height:100%;padding:3.125cqw 5cqw;overflow:hidden}.footer{position:absolute;left:5cqw;right:5cqw;bottom:2.8125cqw;font-size:1.015625cqw}.topic-signal{display:none}.node-active{animation:none}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
