:root{--deck-bg:#16181d;--deck-surface:#23272f;--deck-surface-2:#2b303b;--deck-line:#343a46;--deck-ink:#f6f7f9;--deck-muted:#99a1b3;--deck-how:#f2c14e;--deck-what:#ee9d7d;--deck-what-strong:#d97757;--deck-font:"Optimistic Display", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--deck-mono:"Source Code Pro", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box;margin:0}html,body{height:100%}body{background:var(--deck-bg);color:var(--deck-ink);font-family:var(--deck-font);overflow:hidden}.deck{position:fixed;inset:0}.deck-progress{z-index:10;background:var(--deck-line);height:3px;position:fixed;top:0;left:0;right:0}.deck-progress>div{background:linear-gradient(90deg, var(--deck-what-strong), var(--deck-what));width:0;height:100%;transition:width .3s}.deck-hud{z-index:10;font-family:var(--deck-mono);letter-spacing:.08em;color:var(--deck-muted);justify-content:space-between;align-items:center;gap:1rem;padding:.7rem clamp(1rem,3vmin,2rem);font-size:.78rem;display:flex;position:fixed;bottom:0;left:0;right:0}.deck-home{color:var(--deck-muted);text-transform:uppercase;text-decoration:none}.deck-home:hover{color:var(--deck-what)}.deck-section{text-transform:uppercase}.deck-controls{align-items:center;gap:.6rem;display:flex}.deck-controls button{all:unset;cursor:pointer;border:1px solid var(--deck-line);width:2rem;height:2rem;color:var(--deck-muted);border-radius:50%;place-items:center;display:grid}.deck-controls button:hover{color:var(--deck-ink);border-color:var(--deck-muted)}.deck-controls button:focus-visible{outline:2px solid var(--deck-what);outline-offset:2px}.deck-count{text-align:center;min-width:4.5ch}.slide{padding:clamp(1.5rem,6vmin,4.5rem) clamp(1.5rem,6vmin,4.5rem) clamp(3.5rem,9vmin,6rem);display:none;position:absolute;inset:0;overflow:hidden}.slide.is-active{place-content:center;justify-items:start;animation:.45s both slide-in;display:grid}.slide-inner{justify-items:start;gap:clamp(.9rem,2.6vmin,1.6rem);max-width:min(72rem,92vw);display:grid}.cols .code-panel pre{font-size:clamp(.8rem,1.9vmin,1.15rem)}.slide--title.is-active,.slide--statement.is-active,.slide--divider.is-active{text-align:center;justify-items:center}:is(.slide--title,.slide--statement,.slide--divider) .slide-inner{justify-items:center}@keyframes slide-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.slide h1{letter-spacing:-.03em;font-size:clamp(2.6rem,9vmin,5.4rem);font-weight:800;line-height:1.02}.slide h2{letter-spacing:-.025em;text-wrap:balance;font-size:clamp(2rem,6.5vmin,3.9rem);font-weight:800;line-height:1.06}.slide .eyebrow{font-family:var(--deck-mono);text-transform:uppercase;letter-spacing:.22em;color:var(--deck-what);font-size:clamp(.8rem,1.9vmin,1.05rem)}.slide .sub{color:var(--deck-muted);text-wrap:balance;max-width:46ch;font-size:clamp(1.1rem,3vmin,1.7rem);line-height:1.45}.slide .hint{font-family:var(--deck-mono);color:var(--deck-muted);letter-spacing:.08em;font-size:clamp(.75rem,1.7vmin,.95rem)}.slide strong{color:var(--deck-what);font-weight:700}.slide .how-word{color:var(--deck-how)}.slide code:not(pre code){font-family:var(--deck-mono);background:var(--deck-surface-2);border-radius:.3em;padding:.08em .35em;font-size:.92em}.slide--divider .ghost{font-family:var(--deck-mono);color:var(--deck-ink);opacity:.045;pointer-events:none;user-select:none;place-content:center;font-size:56vmin;font-weight:700;line-height:1;display:grid;position:absolute;inset:0}.slide--divider .slide-inner{position:relative}.slide--statement h2{max-width:22ch;font-size:clamp(2.4rem,8vmin,4.8rem)}.fragment{opacity:0;transition:opacity .35s,transform .35s;transform:translateY(10px)}.fragment.is-visible{opacity:1;transform:none}.cols{grid-template-columns:repeat(auto-fit,minmax(min(22rem,80vw),1fr));align-items:start;gap:clamp(.9rem,2.5vmin,1.6rem);width:100%;display:grid}.cols--code{width:min(72rem,92vw)}.card{background:var(--deck-surface);border:1px solid var(--deck-line);border-radius:.9rem;gap:.6rem;padding:clamp(1rem,3vmin,1.7rem);display:grid}.card .card-label{font-family:var(--deck-mono);text-transform:uppercase;letter-spacing:.18em;color:var(--deck-muted);font-size:clamp(.75rem,1.8vmin,.95rem)}.card p,.card li{font-size:clamp(1rem,2.6vmin,1.45rem);line-height:1.45}.card--how{border-top:3px solid var(--deck-how)}.card--how .card-label{color:var(--deck-how)}.card--what{border-top:3px solid var(--deck-what)}.card--what .card-label{color:var(--deck-what)}.vocab{border-left:4px solid var(--deck-what);background:var(--deck-surface);border-radius:0 .9rem .9rem 0;gap:.7rem;max-width:58rem;padding:clamp(1.1rem,3.2vmin,1.9rem) clamp(1.2rem,3.5vmin,2.1rem);display:grid}.vocab .vocab-term{font-family:var(--deck-mono);color:var(--deck-what);letter-spacing:.03em;font-size:clamp(1rem,2.6vmin,1.5rem);font-weight:700}.vocab p{font-size:clamp(1.15rem,3.1vmin,1.8rem);line-height:1.5}.steps{counter-reset:step;gap:clamp(.6rem,1.8vmin,1rem);padding:0;list-style:none;display:grid}.steps li{counter-increment:step;padding-left:2em;font-size:clamp(1.15rem,3.1vmin,1.8rem);line-height:1.4;position:relative}.steps li:before{content:counter(step, decimal-leading-zero);font-family:var(--deck-mono);color:var(--deck-what);font-size:.75em;font-weight:700;position:absolute;top:.22em;left:0}.steps--how li:before{color:var(--deck-how)}.pipeline{flex-wrap:wrap;align-items:center;gap:clamp(.6rem,2vmin,1.2rem);display:flex}.pipeline .stage{background:var(--deck-surface);border:1px solid var(--deck-line);text-align:center;border-radius:.9rem;gap:.25rem;padding:clamp(.9rem,2.6vmin,1.5rem) clamp(1.1rem,3vmin,1.9rem);display:grid}.pipeline .stage b{letter-spacing:-.01em;font-size:clamp(1.2rem,3.4vmin,2rem)}.pipeline .stage span{font-family:var(--deck-mono);color:var(--deck-muted);font-size:clamp(.72rem,1.8vmin,.95rem)}.pipeline .arrow{text-align:center;font-family:var(--deck-mono);color:var(--deck-what);gap:.15rem;font-size:clamp(1.2rem,3.2vmin,1.9rem);display:grid}.pipeline .arrow span{color:var(--deck-muted);letter-spacing:.1em;text-transform:uppercase;font-size:clamp(.68rem,1.7vmin,.9rem)}.code-panel{border:1px solid var(--deck-line);border-radius:.9rem;width:100%;max-width:58rem;overflow:hidden}.code-panel figcaption{font-family:var(--deck-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--deck-muted);background:var(--deck-surface-2);border-bottom:1px solid var(--deck-line);padding:.5rem 1.1rem;font-size:clamp(.72rem,1.8vmin,.95rem)}.code-panel pre{margin:0;padding:clamp(.9rem,2.6vmin,1.5rem) clamp(1rem,3vmin,1.6rem);font-size:clamp(.9rem,2.4vmin,1.35rem);line-height:1.55;overflow-x:auto}.code-panel--how figcaption{color:var(--deck-how)}.code-panel--what figcaption{color:var(--deck-what)}.tree-svg{width:min(58rem,88vw,120vmin);height:auto}.tree-svg .tnode rect{fill:var(--deck-surface);stroke:var(--deck-what);stroke-width:2px}.tree-svg .tnode text{fill:var(--deck-ink);font-family:var(--deck-mono);text-anchor:middle;dominant-baseline:central;font-size:24px;font-weight:600}.tree-svg .tedge{stroke:var(--deck-line);stroke-width:2.5px}.tree-svg .tann{fill:var(--deck-what);font-family:var(--deck-mono);letter-spacing:.06em;font-size:19px}.tree-svg .tann-line{stroke:var(--deck-what);stroke-width:1.5px;stroke-dasharray:4 4;fill:none}.tree-svg--how .tnode rect{fill:var(--deck-surface-2);stroke:var(--deck-how)}.tree-svg--how .tnode text{fill:var(--deck-muted)}.live-stack{justify-items:start;gap:.7rem;display:grid}.live-badge{font-family:var(--deck-mono);letter-spacing:.08em;color:#ff8a8a;border:1px solid #ff6b6b40;border-radius:999px;align-items:center;gap:.5em;padding:.3em .8em;font-size:clamp(.65rem,1.4vmin,.8rem);display:inline-flex}.live-badge:before{content:"";background:#ff6b6b;border-radius:50%;width:.55em;height:.55em;animation:1.6s ease-in-out infinite live-pulse}@keyframes live-pulse{50%{opacity:.35}}.portrait{aspect-ratio:1;object-fit:cover;border:1px solid var(--deck-line);border-radius:1.2rem;width:clamp(11rem,30vmin,17rem)}.strike{text-decoration:line-through;text-decoration-color:var(--deck-how);color:var(--deck-muted);text-decoration-thickness:.08em}.quote-big{letter-spacing:-.015em;text-wrap:balance;max-width:26ch;font-size:clamp(1.6rem,5vmin,3rem);font-weight:700;line-height:1.25}@media (prefers-reduced-motion:reduce){.slide.is-active{animation:none}.fragment,.deck-progress>div{transition:none}.live-badge:before{animation:none}}
