:root{--ink:#f4f4f6;--muted:#f4f4f6b8;--line:#ffffff29;--glass:#0e0e148c;--accent:#b9a7ff;--page:#0b0b10;--sans:Inter, system-ui, -apple-system, "Segoe UI", sans-serif;--serif:"Instrument Serif", Georgia, serif;--pad:clamp(18px, 4.5vw, 64px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body[data-ink=dark]{--ink:#121214;--muted:#121214b3;--line:#00000029;--glass:#fff9}*{box-sizing:border-box}html{background:var(--page)}body{font-family:var(--sans);color:#f4f4f6;background:var(--page);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit}em{font-family:var(--serif);font-style:italic;font-weight:400}[hidden]{display:none!important}.hero{height:100vh;height:100svh;min-height:520px;color:var(--ink);background:#000;position:relative;overflow:hidden}#gl{touch-action:pan-y;width:100%;height:100%;transition:opacity .35s;display:block;position:absolute;inset:0}#gl.swap{opacity:0;transition-duration:.12s}.no-webgl .hero{background:radial-gradient(120% 120% at 70% 30%,#3b2a7a,#0b0b10 70%)}.bar{z-index:3;padding:18px var(--pad);align-items:center;gap:18px;display:flex;position:absolute;inset:0 0 auto}.logo{letter-spacing:-.03em;font-size:19px;font-weight:800;text-decoration:none}.logo i{font-family:var(--serif);font-size:22px;font-weight:400}.tabs{background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);border-radius:999px;gap:4px;margin:0 auto;padding:4px;display:flex}.tabs button{color:var(--muted);font:600 13px var(--sans);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:8px 14px;transition:color .2s,background .2s}.tabs button:hover{color:var(--ink)}.tabs button[aria-pressed=true]{color:var(--page);background:var(--ink)}body[data-ink=dark] .tabs button[aria-pressed=true]{color:#f4f4f6}.btn{cursor:pointer;font:600 14px var(--sans);background:var(--ink);color:var(--page);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:11px 20px;text-decoration:none;transition:transform .2s,background .2s,color .2s;display:inline-flex}body[data-ink=dark] .btn:not(.ghost){color:#f4f4f6}.btn:hover{transform:translateY(-1px)}.btn.ghost{background:var(--glass);color:var(--ink);border-color:var(--line);-webkit-backdrop-filter:blur(12px)}.copy{z-index:2;left:var(--pad);max-width:min(560px,46vw);transform:translateY(calc(-50% - var(--scroll,0) * 80px));opacity:calc(1 - var(--scroll,0) * 1.6);pointer-events:none;position:absolute;top:50%}.copy .cta{pointer-events:auto;margin-top:8px;padding:13px 24px;font-size:15px}body[data-layout=top] .copy{transform:translateY(calc(var(--scroll,0) * -80px));max-width:min(620px,80vw);top:96px}body[data-layout=bottom] .copy{transform:translateY(calc(var(--scroll,0) * -80px));max-width:min(600px,60vw);top:auto;bottom:64px}body[data-fx=glass] .copy{max-width:420px}.eyebrow{letter-spacing:.16em;text-transform:uppercase;opacity:.8;margin:0 0 14px;font-size:13px;font-weight:700}.copy h1{letter-spacing:-.045em;margin:0 0 16px;font-size:clamp(44px,6.6vw,96px);font-weight:800;line-height:.95}body[data-layout=bottom] .copy h1{font-size:clamp(40px,5vw,72px)}.copy .text{color:var(--muted);max-width:30em;margin:0 0 18px;font-size:clamp(16px,1.4vw,19px);line-height:1.55}body[data-ink=light] .copy{text-shadow:0 2px 24px #00000059}.corner{z-index:2;right:var(--pad);text-align:right;pointer-events:none;max-width:300px;position:absolute;bottom:26px}.corner p{margin:0}.fx-name{color:var(--muted);font-size:13px}.fx-name b{color:var(--ink);margin-left:6px;font-weight:600}.fx-blurb{color:var(--muted);font-size:12.5px;line-height:1.45;margin-top:4px!important}body:not([data-layout=left]) .corner{display:none}.scroll-hint{z-index:2;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);opacity:calc(1 - var(--scroll,0) * 4);pointer-events:none;margin:0;font-size:11px;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}body[data-layout=bottom] .scroll-hint{display:none}.panel{z-index:4;top:76px;right:var(--pad);-webkit-backdrop-filter:blur(16px);color:#f4f4f6;background:#0e0e14d1;border:1px solid #ffffff24;border-radius:18px;width:300px;max-height:calc(100% - 100px);padding:16px 18px 18px;position:absolute;overflow:auto;box-shadow:0 20px 60px #00000059}.panel-head{justify-content:space-between;align-items:center;display:flex}.panel h2{margin:0;font-size:15px;font-weight:700}.x{color:#c9c9d1;cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:24px;line-height:1}.params{border:0;gap:10px;margin:12px 0 0;padding:0;display:grid}.params legend,.params .legend{letter-spacing:.14em;text-transform:uppercase;color:#9a9aa6;margin:4px 0 2px;padding:0;font-size:11px;font-weight:700}.params label{color:#c9c9d1;gap:5px;font-size:12.5px;display:grid}.params input:not([type]),.params input[type=text],.params textarea{width:100%;font:500 14px var(--sans);color:#f4f4f6;resize:vertical;background:#ffffff0f;border:1px solid #ffffff24;border-radius:10px;padding:8px 10px}.ctl.color{grid-template-columns:1fr auto;align-items:center}.ctl.color input{cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:8px;width:44px;height:28px;padding:0}.ctl.color input::-webkit-color-swatch-wrapper{padding:2px}.ctl.color input::-webkit-color-swatch{border:0;border-radius:6px}.ctl.range{grid-template-columns:1fr auto}.ctl.range span{grid-column:1}.ctl.range output{font-variant-numeric:tabular-nums;color:#f4f4f6;grid-area:1/2}.ctl.range input{width:100%;accent-color:var(--accent);grid-column:1/-1}.panel-actions{gap:8px;margin-top:16px;display:flex}.panel .btn{color:#0b0b10;background:#f4f4f6;padding:9px 16px;font-size:13px}.panel .btn.ghost{color:#f4f4f6;background:#ffffff0f;border-color:#ffffff29}.hint{color:#9a9aa6;margin:10px 0 0;font-size:12px;line-height:1.45}main{padding:96px var(--pad) 40px;max-width:1180px;margin:0 auto}.intro{max-width:720px}.intro .eyebrow{color:#9a9aa6;opacity:1}.intro h2{letter-spacing:-.04em;margin:0 0 18px;font-size:clamp(36px,4.6vw,64px);font-weight:800;line-height:1}.intro h2 em{color:var(--accent)}.intro p{color:#c4c4cc;font-size:18px;line-height:1.6}.cards{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;margin:56px 0;padding:0;list-style:none;display:grid}.cards button{text-align:left;cursor:pointer;color:#f4f4f6;width:100%;height:100%;font:inherit;background:#ffffff08;border:1px solid #ffffff1a;border-radius:18px;align-content:start;gap:8px;padding:22px;transition:border-color .2s,background .2s,transform .2s;display:grid}.cards button:hover{background:#ffffff0f;border-color:#ffffff4d;transform:translateY(-2px)}.cards li.on button{border-color:var(--accent)}.cards .n{color:var(--accent);letter-spacing:.1em;font-size:12px;font-weight:700}.cards b{letter-spacing:-.02em;font-size:21px}.cards .blurb{color:#c4c4cc;font-size:15px;line-height:1.5}.cards .how{color:#8d8d99;border-top:1px solid #ffffff14;margin-top:4px;padding-top:10px;font-size:13px;line-height:1.55}.notes{border-top:1px solid #ffffff1a;grid-template-columns:repeat(3,1fr);gap:28px;padding:36px 0 20px;display:grid}.notes h3{margin:0 0 8px;font-size:17px}.notes p{color:#a9a9b4;margin:0;font-size:14.5px;line-height:1.6}.foot{padding:30px var(--pad) 48px;color:#8d8d99;border-top:1px solid #ffffff14;max-width:1180px;margin:0 auto;font-size:13px}.foot p{margin:0 0 6px}.toast{z-index:10;opacity:0;pointer-events:none;color:#f4f4f6;background:#14141af0;border:1px solid #ffffff24;border-radius:12px;padding:12px 18px;font-size:14px;transition:opacity .25s,transform .25s;position:fixed;bottom:24px;left:50%;transform:translate(-50%,16px)}.toast.on{opacity:1;transform:translate(-50%)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width:760px){.bar{flex-wrap:wrap;gap:10px;padding-top:14px}.logo{margin-right:auto}.tabs{scrollbar-width:none;order:3;width:100%;margin:0;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs button{padding:7px 12px;font-size:12.5px}.copy,body[data-layout] .copy{left:var(--pad);right:var(--pad);max-width:none;transform:translateY(calc(var(--scroll,0) * -60px));top:auto;bottom:40px}body[data-layout=top] .copy{top:128px;bottom:auto}.copy h1,body[data-layout=bottom] .copy h1{font-size:44px}.copy .text{font-size:15.5px}.corner,.scroll-hint{display:none}.panel{width:auto;max-height:62%;inset:auto 10px 10px}.notes,.cards{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.btn,.cards button,#gl{transition:none}}
