:root,:root[data-theme=dark] .featured{--ink:#111;--paper:#fff;--red:#e8412c;--red-text:#e8412c;--blue:#5b97b5;--mist:#d6e4eb;--fog:#f3f5f4;--muted:#2a2d2c;--dim:#6b706e;--dark-line:#3a3d3c;--dark-muted:#c9cdcb;--track:#e3e7e5;--code-bg:#111;--code-fg:#fff}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f0f2f1;--paper:#111312;--red:#c93522;--red-text:#ef5540;--blue:#367493;--mist:#263038;--fog:#1a1d1c;--muted:#c2c7c5;--dim:#8c918f;--dark-muted:#4b4f4d;--track:#2a2e2c;--code-bg:#1a1d1c;--code-fg:#f0f2f1}:root[data-theme=dark] .featured{--ink:#1a1d1c}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--display:"Space Grotesk", sans-serif;--body:"DM Sans", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;--ease:cubic-bezier(.2, .8, .2, 1);--header-h:88px;--gutter:80px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}a:hover{color:var(--red-text)}button{font:inherit;color:inherit}img,svg{max-width:100%}[fill=\#111111 i]{fill:var(--ink)}[fill=\#ffffff i]{fill:var(--paper)}[fill=\#E8412C i]{fill:var(--red)}[fill=\#5B97B5 i]{fill:var(--blue)}[fill=\#D6E4EB i]{fill:var(--mist)}[fill=\#F3F5F4 i]{fill:var(--fog)}[fill=\#2A2D2C i]{fill:var(--muted)}[fill=\#6B706E i]{fill:var(--dim)}[fill=\#C9CDCB i]{fill:var(--dark-muted)}text[fill=\#E8412C i]{fill:var(--red-text)}[stroke=\#111111 i]{stroke:var(--ink)}[stroke=\#ffffff i]{stroke:var(--paper)}[stroke=\#E8412C i]{stroke:var(--red)}[stroke=\#5B97B5 i]{stroke:var(--blue)}[stroke=\#D6E4EB i]{stroke:var(--mist)}[stroke=\#C9CDCB i]{stroke:var(--dark-muted)}:focus-visible{outline:3px solid var(--red);outline-offset:3px}.mono{font-family:var(--mono)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.eyebrow{font-family:var(--mono);color:var(--muted);font-size:14px;font-weight:500}.eyebrow.on-dark{color:var(--dark-muted)}.h2{font-family:var(--display);letter-spacing:-.03em;margin:16px 0 0;font-size:clamp(40px,4.6vw,64px);font-weight:400;line-height:1.02}.progress{z-index:70;background:var(--red);transform-origin:0;width:100%;height:3px;position:fixed;top:0;left:0;transform:scaleX(0)}.site-header{z-index:60;height:var(--header-h);border-bottom:1px solid var(--ink);background:color-mix(in srgb, var(--paper) 94%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(12px);justify-content:space-between;align-items:center;padding:0 48px;display:flex;position:sticky;top:0}.logo{font-family:var(--mono);letter-spacing:-.02em;white-space:nowrap;align-items:center;gap:12px;font-size:20px;font-weight:700;display:inline-flex}.logo-mark{flex-shrink:0}.logo-mark path{stroke-dasharray:16}.logo:hover .logo-mark path{animation:streak .6s var(--ease) both}.logo:hover .logo-mark path:nth-child(2){animation-delay:60ms}.logo:hover .logo-mark path:nth-child(3){animation-delay:.12s}.nav{align-items:center;gap:48px;display:flex}.navlink{letter-spacing:.08em;text-transform:uppercase;font-size:13px;font-weight:700;position:relative}.navlink:after{content:"";background:var(--red);transform-origin:100%;height:2px;transition:transform .4s var(--ease);position:absolute;bottom:-6px;left:0;right:0;transform:scaleX(0)}.navlink:hover:after,.navlink.active:after{transform-origin:0;transform:scaleX(1)}.menu-btn{border:1px solid var(--ink);background:var(--paper);cursor:pointer;border-radius:50%;width:44px;height:44px;display:none;position:relative}.menu-btn span{background:var(--ink);height:2px;transition:transform .3s var(--ease), top .3s var(--ease);position:absolute;left:13px;right:13px}.menu-btn span:first-child{top:17px}.menu-btn span:last-child{top:24px}.site-header.open .menu-btn span:first-child{top:21px;transform:rotate(45deg)}.site-header.open .menu-btn span:last-child{top:21px;transform:rotate(-45deg)}.theme-btn{border:1px solid var(--ink);background:var(--paper);cursor:pointer;width:44px;height:44px;transition:background .2s ease, transform .35s var(--ease);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.theme-btn:hover{background:var(--fog);transform:rotate(18deg)}.theme-btn .sun,[data-theme=dark] .theme-btn .moon{display:none}[data-theme=dark] .theme-btn .sun{display:block}.pill{letter-spacing:.08em;white-space:nowrap;cursor:pointer;height:44px;transition:background .25s ease, color .25s ease, transform .35s var(--ease);border:none;border-radius:999px;align-items:center;gap:10px;padding:0 22px;font-size:13px;font-weight:700;display:inline-flex}.pill.lg{height:56px;padding:0 30px;font-size:14px}.pill-dark{background:var(--ink);color:var(--paper)}.pill-dark:hover{background:var(--red);color:#fff}.pill-light{background:var(--paper);color:var(--ink)}.pill-light:hover{background:var(--red);color:#fff}.pill .arr{transition:transform .35s var(--ease)}.pill:hover .arr{transform:translate(3px,-3px)}.magnetic{will-change:transform}.reveal{opacity:0;transition:opacity 1s var(--ease), transform 1s var(--ease);transition-delay:calc(var(--i,0) * 90ms);transform:translateY(48px)}.reveal.is-in{opacity:1;transform:none}.reveal-x{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease);transition-delay:calc(var(--i,0) * 90ms);transform:translate(-40px)}.reveal-x.is-in{opacity:1;transform:none}.line-grow{transform-origin:0;transition:transform 1.2s var(--ease);transform:scaleX(0)}.line-grow.is-in{transform:scaleX(1)}.w{vertical-align:top;margin-bottom:-.06em;padding-bottom:.06em;display:inline-block;overflow:hidden}.w>span{will-change:transform;display:inline-block}.hero{border-bottom:1px solid var(--ink);grid-template-columns:minmax(0,900fr) minmax(0,540fr);min-height:640px;display:grid}.hero-copy{padding:96px var(--gutter) 56px;border-right:1px solid var(--ink);flex-direction:column;display:flex;position:relative}.hero-title-row{align-items:flex-start;gap:28px;display:flex}.hero-title-row .sparkle{color:var(--ink);flex-shrink:0;margin-top:22px;animation:16s linear infinite spin}.hero-title{font-family:var(--display);letter-spacing:-.035em;margin:0;font-size:clamp(52px,6.4vw,92px);font-weight:400;line-height:1.02}.lede{max-width:520px;color:var(--muted);margin:36px 0 0 72px;font-size:18px;line-height:1.6}.hero-ctas{flex-wrap:wrap;align-items:center;gap:28px;margin:40px 0 0 72px;display:flex}.play-link{letter-spacing:.08em;align-items:center;gap:14px;min-height:44px;font-size:14px;font-weight:700;display:inline-flex}.play-dot{background:var(--red);width:48px;height:48px;transition:transform .35s var(--ease);border-radius:50%;place-items:center;display:grid;position:relative}.play-dot:before,.play-dot:after{content:"";border:2px solid var(--red);border-radius:50%;animation:2.4s ease-out infinite ring;position:absolute;inset:0}.play-dot:after{animation-delay:1.2s}.play-link:hover .play-dot{transform:scale(1.12)}.hero-note{gap:10px;max-width:250px;margin:auto 0 0 auto;padding-top:40px;font-size:15px;line-height:1.5;display:flex}.hero-note b{color:var(--red);font-size:22px;font-weight:400;line-height:1}.hero-art{min-height:520px;position:relative;overflow:hidden}.hero-art svg{width:100%;height:100%;display:block;position:absolute;inset:0}.hero-art .orbit{transform-box:view-box;transform-origin:250px 300px;animation:48s linear infinite spin}.hero-art .orbit-rev{transform-box:view-box;transform-origin:250px 300px;animation:30s linear infinite reverse spin}.hero-art .bob{animation:6s ease-in-out infinite float}.hero-art .bob2{animation:7.5s ease-in-out -2s infinite float}.hero-art .bob3{animation:5.5s ease-in-out -4s infinite float}.hero-art .tick{animation:tick 3.2s var(--ease) infinite;transform-box:fill-box;transform-origin:50%}.hero-art .bit{animation:2.4s step-end infinite bit}.hero-art .wiggle{stroke-dasharray:12 10;animation:4s linear infinite dash}.strip{border-bottom:1px solid var(--ink);grid-template-columns:330fr 240fr 330fr 540fr;min-height:128px;display:grid}.strip>div{border-right:1px solid var(--ink);flex-direction:column;justify-content:center;padding:20px 32px;display:flex}.strip>div:last-child{border-right:none}.strip .big{letter-spacing:-.01em;font-size:24px;font-weight:500}.strip .small{color:var(--muted);font-size:15px}.strip .dots{display:flex}.strip .dots span{border:2px solid var(--paper);width:40px;height:40px;transition:transform .4s var(--ease);border-radius:50%;margin-left:-10px}.strip .dots span:first-child{margin-left:0}.strip .first{flex-direction:row;align-items:center;gap:20px;padding-left:48px}.strip .first:hover .dots span{transform:translateY(-6px)}.strip .first:hover .dots span:nth-child(2){transition-delay:50ms}.strip .first:hover .dots span:nth-child(3){transition-delay:.1s}.strip .first:hover .dots span:nth-child(4){transition-delay:.15s}.strip .topics{font-family:var(--mono);flex-flow:wrap;justify-content:space-around;align-items:center;gap:16px;font-size:15px;font-weight:500}.strip .topics span{align-items:center;gap:10px;display:inline-flex}.marquee{border-bottom:1px solid var(--ink);background:var(--fog);padding:26px 0;overflow:hidden}.marquee-track{width:max-content;font-family:var(--display);letter-spacing:-.03em;white-space:nowrap;will-change:transform;gap:48px;font-size:clamp(36px,5vw,72px);line-height:1;display:flex}.marquee-track span{align-items:center;gap:48px;display:inline-flex}.marquee-track i{color:var(--red);font-style:normal}.marquee-track .ghost{color:#0000;-webkit-text-stroke:1.5px var(--ink)}.library{border-bottom:1px solid var(--ink)}.library-head{padding:96px var(--gutter) 48px;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;display:flex}.filters{flex-wrap:wrap;gap:10px;display:flex}.chip{border:1px solid var(--ink);background:var(--paper);height:44px;color:var(--ink);cursor:pointer;font-family:var(--mono);border-radius:999px;padding:0 20px;font-size:13px;font-weight:500;transition:background .2s,color .2s}.chip:hover{background:var(--fog)}.chip[aria-pressed=true]{background:var(--ink);color:var(--paper)}.cards{border-top:1px solid var(--ink);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.card{border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);isolation:isolate;flex-direction:column;min-height:360px;padding:28px 32px;display:flex;position:relative;overflow:hidden}.card:nth-child(4n){border-right:none}.card:before{content:"";z-index:-1;background:var(--fog);clip-path:circle(0% at var(--mx,50%) var(--my,50%));transition:clip-path .6s var(--ease);position:absolute;inset:0}.card:hover{color:var(--ink)}.card:hover:before{clip-path:circle(150% at var(--mx,50%) var(--my,50%))}.card-meta{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);justify-content:space-between;font-size:12px;font-weight:500;display:flex}.card .glyph{height:132px;transition:transform .5s var(--ease);align-items:center;margin-top:20px;display:flex}.card:hover .glyph{transform:translateY(-8px)rotate(-3deg)scale(1.04)}.card-title{font-family:var(--display);letter-spacing:-.015em;margin-top:24px;font-size:26px;font-weight:500;line-height:1.15}.card-desc{color:var(--muted);margin-top:10px;font-size:15px;line-height:1.5}.card-cta{letter-spacing:.08em;align-items:center;gap:8px;margin-top:auto;padding-top:20px;font-size:13px;font-weight:700;display:flex}.card-cta .arr{transition:transform .35s var(--ease)}.card:hover .card-cta .arr{transform:translate(4px,-4px)}.card-num{font-family:var(--display);color:#0000;-webkit-text-stroke:1px var(--mist);z-index:-1;font-size:64px;line-height:1;transition:-webkit-text-stroke-color .3s;position:absolute;bottom:18px;right:24px}.card:hover .card-num{-webkit-text-stroke-color:var(--dim)}.featured{background:var(--ink);min-height:560px;color:var(--paper);grid-template-columns:1fr 1fr;display:grid}.featured-copy{padding:88px var(--gutter);border-right:1px solid var(--dark-line);flex-direction:column;display:flex}.featured-copy p{max-width:520px;color:var(--dark-muted);margin:24px 0 0;font-size:17px;line-height:1.6}.featured .tags{font-family:var(--mono);flex-wrap:wrap;gap:8px;margin-top:28px;font-size:12px;display:flex}.featured .tags span{border:1px solid #5a5e5c;border-radius:999px;padding:6px 12px;transition:background .3s,color .3s,border-color .3s}.featured .tags span.lit{background:var(--red);border-color:var(--red);color:var(--ink)}.featured .pill{align-self:flex-start;margin-top:40px}.featured-art{justify-content:center;align-items:center;padding:24px;display:flex;position:relative}.featured-art svg{width:100%;max-width:640px;height:auto}.featured-scroll{font-family:var(--mono);color:var(--dark-muted);letter-spacing:.08em;align-items:center;gap:8px;font-size:12px;display:flex;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.featured-scroll:after{content:"";background:var(--dark-muted);transform-origin:top;width:1px;height:24px;animation:1.6s ease-in-out infinite drip}.how{padding:96px var(--gutter) 88px;border-bottom:1px solid var(--ink)}.how-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:40px;display:grid;position:relative}.how-grid:before{content:"";background:var(--ink);height:1px;transform:scaleX(var(--line,0));transform-origin:0;position:absolute;top:0;left:0;right:0}.how-col{border-right:1px solid var(--ink);flex-direction:column;gap:16px;padding:32px 40px 0;display:flex}.how-col:first-child{padding-left:0}.how-col:last-child{border-right:none;padding-right:0}.how-col .top{justify-content:space-between;align-items:flex-start;display:flex}.how-col .num{font-family:var(--display);font-size:56px;line-height:1}.how-col h3{font-family:var(--display);margin:0;font-size:26px;font-weight:500}.how-col p{color:var(--muted);max-width:340px;margin:0;font-size:16px;line-height:1.6}.site-footer{padding:64px var(--gutter) 48px;border-top:1px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;display:flex}.footer-logo{font-family:var(--mono);letter-spacing:-.05em;align-items:center;padding:.16em 0;font-size:clamp(34px,6.4vw,104px);font-weight:700;line-height:1;display:flex;overflow:hidden}.footer-logo span{display:inline-block}.footer-logo .dash{color:var(--red)}.footer-logo .qed{background:var(--red);width:.5em;height:.74em;margin-left:.16em}.footer-logo span:hover{color:var(--red);transition:transform .25s var(--ease), color .2s;transform:translateY(-6px)}.footer-tag{color:var(--muted);margin:16px 0 0;font-size:15px}.footer-nav{flex-wrap:wrap;gap:40px;display:flex}.l-hero{border-bottom:1px solid var(--ink);grid-template-columns:minmax(0,900fr) minmax(0,540fr);display:grid}.l-hero-copy{padding:40px var(--gutter) 44px 48px;border-right:1px solid var(--ink);position:relative;overflow:hidden}.crumbs{font-family:var(--mono);color:var(--muted);font-size:13px;font-weight:500}.crumbs a{text-underline-offset:3px;text-decoration:underline}.l-title-row{align-items:flex-start;gap:22px;margin-top:18px;display:flex}.l-title-row .sparkle{flex-shrink:0;margin-top:14px;animation:16s linear infinite spin}.l-title{font-family:var(--display);letter-spacing:-.035em;margin:0;font-size:clamp(48px,5.3vw,76px);font-weight:400;line-height:1}.l-lede{max-width:640px;color:var(--muted);margin:18px 0 0 58px;font-size:17px;line-height:1.6}.l-meta{flex-wrap:wrap;gap:8px;margin:22px 0 0 58px;display:flex}.l-meta span{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--ink);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700}.l-hero-glyph{opacity:.12;pointer-events:none;z-index:-1;position:absolute;bottom:20px;right:32px}.l-hero-copy{isolation:isolate}.cast{grid-auto-rows:minmax(76px,1fr);display:grid}.cast-row{border-bottom:1px solid var(--ink);align-items:center;gap:20px;padding:0 40px;font-size:16px;display:flex}.cast-row:last-child{border-bottom:none}.cast-row svg{transition:transform .5s var(--ease);flex-shrink:0}.cast-row:hover svg{transform:rotate(-12deg)scale(1.1)}.cast-row b{font-weight:700}.l-pin{border-bottom:1px solid var(--ink);background:var(--paper)}.l-grid{height:calc(100vh - var(--header-h));grid-template-columns:300px minmax(0,1fr) 360px;min-height:560px;max-height:900px;display:grid}.l-steps{border-right:1px solid var(--ink);flex-direction:column;min-height:0;display:flex}.panel-head{border-bottom:1px solid var(--ink);height:64px;font-family:var(--mono);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:0 28px;font-size:13px;font-weight:700;display:flex}.step-list{flex:auto;min-height:0;position:relative;overflow-y:auto}.stepbtn{border:none;border-bottom:1px solid var(--ink);background:var(--paper);width:100%;min-height:72px;color:var(--ink);text-align:left;cursor:pointer;isolation:isolate;align-items:center;gap:18px;padding:12px 28px;font-size:16px;font-weight:500;display:flex;position:relative;overflow:hidden}.stepbtn:before{content:"";background:var(--ink);z-index:-1;transform-origin:0;transition:transform .5s var(--ease);position:absolute;inset:0;transform:scaleX(0)}.stepbtn:hover{background:var(--fog)}.stepbtn.on{color:var(--paper);background:var(--paper)}.stepbtn.on:before{transform:scaleX(1)}.stepnum{width:34px;height:34px;font-family:var(--mono);border:1.5px solid;border-radius:50%;flex-shrink:0;place-items:center;font-size:13px;font-weight:700;transition:background .3s,border-color .3s;display:grid}.stepbtn.done .stepnum{background:var(--blue);border-color:var(--blue);color:var(--ink)}.l-note{color:var(--muted);flex-shrink:0;margin:0;padding:20px 28px;font-size:13px;line-height:1.55}.l-center{border-right:1px solid var(--ink);flex-direction:column;min-width:0;min-height:0;display:flex}.cur-badge{font-family:var(--mono);background:var(--red);color:var(--ink);white-space:nowrap;border-radius:6px;padding:6px 10px;font-size:13px;font-weight:700}.cur-title{font-family:var(--display);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:22px;font-weight:500;overflow:hidden}.l-center .panel-head{justify-content:flex-start;gap:20px;padding:0 32px}.stage{background-color:var(--paper);background-image:radial-gradient(var(--mist) 1.2px, transparent 1.2px);background-size:24px 24px;flex:auto;justify-content:center;align-items:center;min-height:0;padding:16px;animation:40s linear infinite drift;display:flex;position:relative;overflow:hidden}.stage:focus-visible{outline-offset:-3px}.stage>svg{width:100%;max-width:820px;height:100%}.scroll-hint{font-family:var(--mono);letter-spacing:.08em;color:var(--dim);align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex;position:absolute;bottom:16px;right:20px}.scroll-hint:before{content:"";background:linear-gradient(currentColor,currentColor) 50% 5px/2px 5px no-repeat;border:1.5px solid;border-radius:8px;width:14px;height:22px;animation:1.6s ease-in-out infinite wheel}.controls{border-top:1px solid var(--ink);flex-shrink:0;align-items:center;gap:16px;height:96px;padding:0 32px;display:flex}.ctrl{border:1.5px solid var(--ink);background:var(--paper);cursor:pointer;width:56px;height:56px;transition:background .2s, transform .3s var(--ease);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.ctrl:hover:not(:disabled){background:var(--fog);transform:scale(1.06)}.ctrl:disabled{opacity:.35;cursor:default}.play{background:var(--ink);height:56px;color:var(--paper);cursor:pointer;letter-spacing:.08em;border:none;border-radius:999px;flex-shrink:0;align-items:center;gap:12px;padding:0 28px;font-size:14px;font-weight:700;transition:background .25s;display:inline-flex}.play:hover{background:var(--red);color:#fff}.segs{flex:1;gap:6px;margin-left:16px;display:flex}.seg{background:var(--track);border-radius:3px;flex:1;height:6px;position:relative;overflow:hidden}.seg:after{content:"";background:var(--ink);transform-origin:0;transition:transform .5s var(--ease);position:absolute;inset:0;transform:scaleX(0)}.seg.on:after{transform:scaleX(1)}.seg.now:after{background:var(--red);transform:scaleX(1)}.l-math{flex-direction:column;min-height:0;display:flex;overflow:hidden}.math-body{padding:28px 28px 0}.formula{background:var(--code-bg);color:var(--code-fg);font-family:var(--mono);white-space:pre-wrap;border-radius:14px;min-height:72px;padding:20px;font-size:17px;line-height:1.5}.formula .cursor{vertical-align:-3px;background:var(--red);width:9px;height:1.1em;margin-left:2px;animation:1s step-end infinite caret;display:inline-block}.why{color:var(--muted);margin:20px 0 0;font-size:15px;line-height:1.6}.values{margin-top:auto;padding:16px 28px 24px}.values-title{font-family:var(--mono);color:var(--muted);margin-bottom:8px;font-size:12px;font-weight:700}.vrows{border-top:1px solid var(--ink)}.vrow{border-bottom:1px solid var(--ink);min-height:40px;font-family:var(--mono);align-items:center;gap:8px;padding:0 12px;font-size:14px;transition:background .35s,color .35s;display:flex}.vrow .k{flex-shrink:0;width:64px}.vrow .v{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:700;overflow:hidden}.vrow.off{color:#8a8f8d}.vrow.now{background:var(--mist)}.vrow.now .v{animation:flash .6s var(--ease)}.tag{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--ink);border-radius:999px;flex-shrink:0;padding:4px 8px;font-size:11px;font-weight:700}.tag.secret{background:var(--ink);color:var(--paper)}.tag.public{background:var(--paper);color:var(--ink)}.tag.other{background:var(--mist);border-color:var(--mist);color:var(--ink)}.l-play{border-bottom:1px solid var(--ink);grid-template-columns:460px minmax(0,1fr);min-height:400px;display:grid}.l-play-copy{border-right:1px solid var(--ink);flex-direction:column;padding:56px 48px;display:flex}.l-play-copy h2{font-family:var(--display);letter-spacing:-.03em;margin:14px 0 0;font-size:48px;font-weight:400;line-height:1.05}.l-play-copy p{color:var(--muted);margin:18px 0 0;font-size:16px;line-height:1.6}.l-play-copy .presets{flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:24px;display:flex}.l-play-area{background:var(--fog);align-items:center;min-width:0;padding:40px 48px;display:flex}.pg-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;width:100%;display:flex}.pg-col{flex-direction:column;align-items:center;gap:10px;display:flex}.pg-col.start{align-items:flex-start}.pg-label{font-family:var(--mono);font-size:13px;font-weight:700}.pg-sub{font-family:var(--mono);color:var(--muted);font-size:12px}.pg-input{border:2px solid var(--ink);width:180px;height:72px;font-family:var(--display);color:var(--ink);background:var(--paper);border-radius:16px;padding:0 20px;font-size:36px}.pg-input.sm{border-radius:12px;width:110px;height:56px;padding:0 14px;font-size:26px}.pg-input.text{width:100%;font-family:var(--mono);border-radius:12px;height:56px;font-size:18px}.pg-input:focus{outline:3px solid var(--red);outline-offset:2px}.pg-box{background:var(--paper);border:2px solid var(--ink);min-width:150px;height:72px;font-family:var(--display);transition:transform .35s var(--ease);border-radius:16px;justify-content:center;align-items:center;padding:0 18px;font-size:36px;display:flex}.pg-box.dark{background:var(--ink);color:var(--paper)}.pg-box.red{border-color:var(--red)}.pg-box.blue{background:var(--blue);border-color:var(--blue)}.pg-box.mono{font-family:var(--mono);word-break:break-all;text-align:left;justify-content:flex-start;height:auto;min-height:72px;padding:14px 18px;font-size:15px;font-weight:500}.pg-box.bump{animation:bump .45s var(--ease)}.pg-op{background:var(--ink);min-width:120px;height:56px;color:var(--paper);font-family:var(--mono);border-radius:12px;justify-content:center;align-items:center;padding:0 14px;font-size:14px;font-weight:700;display:flex}.pg-op.blue{background:var(--blue);color:var(--ink)}.pg-op.red{background:var(--red);color:var(--ink)}.pg-arrow{width:120px;height:16px}.pg-slider{width:100%;accent-color:var(--red);height:32px}.pg-btn{border:1px solid var(--ink);background:var(--paper);cursor:pointer;height:44px;font-family:var(--mono);border-radius:999px;padding:0 18px;font-size:13px;font-weight:700}.pg-btn:hover,.pg-btn.primary{background:var(--ink);color:var(--paper)}.pg-btn.primary:hover{background:var(--red);color:#fff}.l-next{grid-template-columns:1fr 1fr;min-height:180px;display:grid}.l-next a{isolation:isolate;justify-content:space-between;align-items:center;gap:24px;padding:32px 48px;display:flex;position:relative;overflow:hidden}.l-next a:first-child{border-right:1px solid var(--ink)}.l-next a:before{content:"";background:var(--fog);z-index:-1;transform-origin:bottom;transition:transform .5s var(--ease);position:absolute;inset:0;transform:scaleY(0)}.l-next a:hover:before{transform:scaleY(1)}.l-next a:hover{color:var(--ink)}.l-next .t{font-family:var(--display);margin-top:8px;font-size:32px}.l-next svg{transition:transform .5s var(--ease);flex-shrink:0}.l-next a:hover svg{transform:rotate(-6deg)scale(1.08)}.pop{animation:pop .6s var(--ease) both;transform-box:fill-box;transform-origin:50%}.fade{animation:.6s both fade}.draw{stroke-dasharray:1000;stroke-dashoffset:1000px;animation:1.4s forwards draw}.fly{animation:2.6s cubic-bezier(.6,0,.3,1) .6s both fly}.out{animation:.25s linear 1.8s both out}.in{opacity:0;animation:.25s linear 1.8s both in}.ring{transform-box:fill-box;transform-origin:50%;animation:2.2s ease-out infinite ring}.ring2{animation-delay:.7s}.ring3{animation-delay:1.4s}.turn{transform-box:fill-box;transform-origin:50%;animation:.7s 1s both turn}.strike{stroke-dasharray:90;stroke-dashoffset:90px;animation:.4s forwards strike}.grow{animation:grow .7s var(--ease) both;transform-box:fill-box;transform-origin:bottom}.slide{animation:slide .7s var(--ease) both}.pulse{transform-box:fill-box;transform-origin:50%;animation:1.8s ease-in-out infinite pulse}.blink{animation:1.6s ease-in-out infinite blink}.spin{transform-box:fill-box;transform-origin:50%;animation:18s linear infinite spin}.float{animation:6s ease-in-out infinite float}.march{stroke-dasharray:8 8;animation:1.2s linear infinite dash}.d1{animation-delay:.25s}.d2{animation-delay:.5s}.d3{animation-delay:.8s}.d4{animation-delay:1.1s}.d5{animation-delay:1.5s}.d6{animation-delay:2s}.d7{animation-delay:2.5s}.d8{animation-delay:3s}@keyframes pop{0%{opacity:0;transform:scale(.3)}70%{opacity:1;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes fly{0%{transform:translate(0)}to{transform:translate(380px)}}@keyframes out{to{opacity:0}}@keyframes in{0%{opacity:0}to{opacity:1}}@keyframes ring{0%{opacity:.9;transform:scale(.7)}to{opacity:0;transform:scale(1.7)}}@keyframes turn{0%{transform:rotate(0)}to{transform:rotate(90deg)}}@keyframes strike{0%{stroke-dashoffset:90px}to{stroke-dashoffset:0}}@keyframes grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes slide{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:none}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes blink{0%,to{opacity:1}50%{opacity:.25}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes dash{to{stroke-dashoffset:-44px}}@keyframes caret{50%{opacity:0}}@keyframes streak{0%{stroke-dashoffset:16px}to{stroke-dashoffset:0}}@keyframes tick{0%,70%,to{transform:rotate(0)}80%{transform:rotate(90deg)}}@keyframes bit{0%,to{opacity:1}50%{opacity:0}}@keyframes drift{to{background-position:240px 240px}}@keyframes wheel{0%{opacity:1;background-position:50% 4px}to{opacity:0;background-position:50% 12px}}@keyframes drip{0%{transform:scaleY(0)}50%{transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}@keyframes flash{0%{color:var(--red-text);transform:translate(-6px)}to{color:inherit;transform:none}}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.06)}to{transform:scale(1)}}@media (width<=1200px){:root{--gutter:48px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.card:nth-child(4n){border-right:1px solid var(--ink)}.card:nth-child(2n){border-right:none}.l-grid{grid-template-columns:240px minmax(0,1fr) 300px}.strip{grid-template-columns:1fr 1fr}.strip>div:nth-child(2){border-right:none}.strip>div:nth-child(-n+2){border-bottom:1px solid var(--ink)}.strip .first{padding-left:32px}}@media (width<=1023px){.l-grid{grid-template-columns:minmax(0,1fr);height:auto;max-height:none}.l-steps{border-right:none;border-bottom:1px solid var(--ink)}.step-list{display:flex;overflow-x:auto}.stepbtn{border-bottom:none;border-right:1px solid var(--ink);flex:none;width:auto;min-height:64px}.l-note{display:none}.l-center{border-right:none}.stage{flex:none;height:min(62vw,520px)}.scroll-hint{display:none}.l-math{border-top:1px solid var(--ink)}.l-play{grid-template-columns:minmax(0,1fr)}.l-play-copy{border-right:none;border-bottom:1px solid var(--ink)}.featured{grid-template-columns:minmax(0,1fr)}.featured-copy{border-right:none;border-bottom:1px solid var(--dark-line)}.featured-scroll{display:none}}@media (width<=900px){:root{--gutter:24px;--header-h:72px}.site-header{padding:0 20px}.menu-btn{display:block}.nav{top:var(--header-h);background:var(--paper);border-bottom:1px solid var(--ink);transform:translateY(calc(-100% - var(--header-h)));visibility:hidden;transition:transform .5s var(--ease), visibility 0s .5s;z-index:-1;flex-direction:column;align-items:flex-start;gap:28px;padding:32px 24px 40px;position:fixed;left:0;right:0}.site-header.open .nav{visibility:visible;transition:transform .5s var(--ease);transform:none}.hero,.l-hero{grid-template-columns:minmax(0,1fr)}.hero-copy,.l-hero-copy{border-right:none;border-bottom:1px solid var(--ink);padding:56px var(--gutter) 40px}.lede,.hero-ctas{margin-left:0}.hero-note{margin:40px 0 0;padding-top:0}.hero-title-row .sparkle{display:none}.hero-art{min-height:440px}.l-lede,.l-meta{margin-left:0}.l-title-row .sparkle,.l-hero-glyph{display:none}.how-grid{grid-template-columns:1fr}.how-col,.how-col:first-child,.how-col:last-child{border-right:none;border-bottom:1px solid var(--ink);padding:32px 0}.l-next{grid-template-columns:1fr}.l-next a:first-child{border-right:none;border-bottom:1px solid var(--ink)}.l-next a{padding:28px var(--gutter)}.l-next .t{font-size:24px}.l-next svg{width:88px;height:66px}.controls{gap:10px;padding:0 16px}.play{padding:0 20px}.segs{margin-left:4px}.l-play-copy,.l-play-area{padding:40px var(--gutter)}.l-play-copy h2{font-size:40px}}@media (width<=640px){.cards{grid-template-columns:1fr}.card,.card:nth-child(n){border-right:none}.strip{grid-template-columns:1fr}.strip>div{border-right:none;border-bottom:1px solid var(--ink)}.strip>div:last-child{border-bottom:none}.cast-row{padding:0 24px}.pg-row{justify-content:center}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.reveal,.reveal-x{opacity:1;transform:none}}
