:root{--ink:#07080a;--chalk:#ece9e1;--mute:#a3a097;--signal:#ff5b26;--lime:#c6f25e;--line:#ece9e129;--pad:clamp(18px, 4.4vw, 64px);--mono:"IBM Plex Mono", ui-monospace, monospace;--sans:"Archivo", ui-sans-serif, system-ui, sans-serif}html{background:var(--ink);scroll-behavior:auto}body{background:var(--ink);color:var(--chalk);font-family:var(--sans);font-variation-settings:"wdth" 100;-webkit-font-smoothing:antialiased;margin:0;overflow-x:clip}#tern[data-astro-cid-omx7gl2w] canvas[data-astro-cid-omx7gl2w],.poster[data-astro-cid-omx7gl2w],.scrim[data-astro-cid-omx7gl2w],.grain[data-astro-cid-omx7gl2w]{width:100%;height:100%;position:fixed;inset:0}#tern[data-astro-cid-omx7gl2w] canvas[data-astro-cid-omx7gl2w]{z-index:0;opacity:0;transition:opacity .9s;display:block}#tern[data-astro-cid-omx7gl2w].is-ready canvas[data-astro-cid-omx7gl2w]{opacity:1}.poster[data-astro-cid-omx7gl2w]{z-index:0;background:radial-gradient(120% 70% at 62% 118%, #1d4b63 0%, #0c1f2b 38%, transparent 62%), radial-gradient(40% 40% at 88% 8%, #ffbe8c40, transparent 70%), var(--ink);background-position:60%;background-size:cover}#tern[data-astro-cid-omx7gl2w].is-fallback .poster[data-astro-cid-omx7gl2w]{background-image:url(/skills/build-threejs-scroll-worlds/poster.jpg)}.scrim[data-astro-cid-omx7gl2w]{z-index:1;pointer-events:none;background:linear-gradient(90deg,#07080a9e 0%,#07080a52 30%,#0000 52%);transition:opacity .8s}#tern[data-astro-cid-omx7gl2w][data-ch="3"] .scrim[data-astro-cid-omx7gl2w]{background:linear-gradient(270deg,#07080a8c 0%,#07080a40 32%,#0000 55%)}.grain[data-astro-cid-omx7gl2w]{z-index:1;pointer-events:none;opacity:.09;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:.9s steps(4,end) infinite grain}@keyframes grain{0%{transform:translate(0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}}.bar[data-astro-cid-omx7gl2w]{z-index:5;padding:22px var(--pad);justify-content:space-between;align-items:center;gap:24px;display:flex;position:fixed;inset:0 0 auto}.brand[data-astro-cid-omx7gl2w]{color:var(--chalk);font:500 15px/1 var(--sans);font-variation-settings:"wdth" 125;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand[data-astro-cid-omx7gl2w] b[data-astro-cid-omx7gl2w]{font-weight:800}.brand[data-astro-cid-omx7gl2w] svg[data-astro-cid-omx7gl2w]{width:26px;height:26px;color:var(--signal)}.bar[data-astro-cid-omx7gl2w] ul[data-astro-cid-omx7gl2w]{gap:clamp(14px,2.2vw,34px);margin:0;padding:0;list-style:none;display:flex}.bar[data-astro-cid-omx7gl2w] nav[data-astro-cid-omx7gl2w] a[data-astro-cid-omx7gl2w],.clock[data-astro-cid-omx7gl2w]{font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);text-decoration:none}.bar[data-astro-cid-omx7gl2w] nav[data-astro-cid-omx7gl2w] a[data-astro-cid-omx7gl2w]{border-bottom:1px solid #0000;padding:8px 0;transition:color .3s,border-color .3s}.bar[data-astro-cid-omx7gl2w] nav[data-astro-cid-omx7gl2w] a[data-astro-cid-omx7gl2w]:hover,.bar[data-astro-cid-omx7gl2w] nav[data-astro-cid-omx7gl2w] a[data-astro-cid-omx7gl2w][aria-current=true]{color:var(--chalk);border-color:var(--signal)}.clock[data-astro-cid-omx7gl2w]{gap:8px;margin:0;display:flex}.clock[data-astro-cid-omx7gl2w] span[data-astro-cid-omx7gl2w]{color:var(--signal)}.clock[data-astro-cid-omx7gl2w] time[data-astro-cid-omx7gl2w]{color:var(--chalk);font-variant-numeric:tabular-nums}.rail[data-astro-cid-omx7gl2w]{z-index:5;right:var(--pad);position:fixed;top:50%;transform:translateY(-50%)}.rail[data-astro-cid-omx7gl2w] ol[data-astro-cid-omx7gl2w]{gap:4px;margin:0;padding:0;list-style:none;display:grid}.rail[data-astro-cid-omx7gl2w] a[data-astro-cid-omx7gl2w]{color:var(--mute);font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;justify-content:flex-end;align-items:center;gap:10px;padding:6px 0;text-decoration:none;display:flex}.rail[data-astro-cid-omx7gl2w] a[data-astro-cid-omx7gl2w] em[data-astro-cid-omx7gl2w]{opacity:0;font-style:normal;transition:all .35s;transform:translate(6px)}.rail[data-astro-cid-omx7gl2w] a[data-astro-cid-omx7gl2w] span[data-astro-cid-omx7gl2w]{border-right:2px solid var(--line);justify-content:flex-end;width:30px;padding-right:8px;transition:all .35s;display:inline-flex}.rail[data-astro-cid-omx7gl2w] a[data-astro-cid-omx7gl2w]:hover em[data-astro-cid-omx7gl2w],.rail[data-astro-cid-omx7gl2w] a[data-astro-cid-omx7gl2w]:focus-visible em[data-astro-cid-omx7gl2w],.rail[data-astro-cid-omx7gl2w] a[data-astro-cid-omx7gl2w][aria-current=true] em[data-astro-cid-omx7gl2w]{opacity:1;transform:none}.rail[data-astro-cid-omx7gl2w] a[data-astro-cid-omx7gl2w][aria-current=true]{color:var(--chalk)}.rail[data-astro-cid-omx7gl2w] a[data-astro-cid-omx7gl2w][aria-current=true] span[data-astro-cid-omx7gl2w]{border-color:var(--signal);color:var(--signal)}.telemetry[data-astro-cid-omx7gl2w]{z-index:5;right:var(--pad);max-width:calc(100vw - 2 * var(--pad));font:400 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 18px;display:flex;position:fixed;bottom:22px}.telemetry[data-astro-cid-omx7gl2w] b[data-astro-cid-omx7gl2w]{color:var(--chalk);font-variant-numeric:tabular-nums;font-weight:500}.telemetry[data-astro-cid-omx7gl2w]>span[data-astro-cid-omx7gl2w]:first-child{color:var(--signal)}.telemetry[data-astro-cid-omx7gl2w]>i[data-astro-cid-omx7gl2w]{background:var(--line);width:120px;height:2px;display:block}.telemetry[data-astro-cid-omx7gl2w]>i[data-astro-cid-omx7gl2w]>i[data-astro-cid-omx7gl2w]{background:var(--signal);width:0;height:100%;display:block}main[data-astro-cid-omx7gl2w]{z-index:2;position:relative}.ch[data-astro-cid-omx7gl2w]{height:190vh;position:relative}.ch--hero[data-astro-cid-omx7gl2w]{height:150vh}.ch--last[data-astro-cid-omx7gl2w]{height:160vh}.stage[data-astro-cid-omx7gl2w]{height:100svh;padding:0 var(--pad);box-sizing:border-box;align-items:center;display:flex;position:sticky;top:0}.ch--right[data-astro-cid-omx7gl2w] .stage[data-astro-cid-omx7gl2w]{padding-right:calc(var(--pad) + 120px);justify-content:flex-end}.copy[data-astro-cid-omx7gl2w]{pointer-events:auto;width:min(500px,100%)}.ch--hero[data-astro-cid-omx7gl2w] .copy[data-astro-cid-omx7gl2w]{width:min(640px,100%)}.eyebrow[data-astro-cid-omx7gl2w]{font:500 11px/1.4 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);align-items:center;gap:10px;margin:0 0 22px;display:flex}.dot[data-astro-cid-omx7gl2w]{background:var(--signal);width:7px;height:7px;box-shadow:0 0 12px var(--signal);border-radius:50%;flex:none}.eyebrow--lime[data-astro-cid-omx7gl2w] .dot[data-astro-cid-omx7gl2w]{background:var(--lime);box-shadow:0 0 12px var(--lime)}h1[data-astro-cid-omx7gl2w],h2[data-astro-cid-omx7gl2w]{text-transform:uppercase;font-variation-settings:"wdth" 125;letter-spacing:-.01em;text-wrap:balance;margin:0;font-weight:800}h1[data-astro-cid-omx7gl2w]{font-size:clamp(38px,5.2vw,80px);line-height:.94}h2[data-astro-cid-omx7gl2w]{font-size:clamp(30px,3.4vw,52px);line-height:.98}.lede[data-astro-cid-omx7gl2w],.body[data-astro-cid-omx7gl2w]{color:#cfccc3;max-width:46ch;margin:24px 0 0;font-size:clamp(15px,1.15vw,17px);line-height:1.55}.actions[data-astro-cid-omx7gl2w]{flex-wrap:wrap;gap:12px;margin:30px 0 0;display:flex}.btn[data-astro-cid-omx7gl2w]{min-height:44px;color:var(--chalk);backdrop-filter:blur(6px);font:500 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:#07080a59;border:1px solid #ece9e159;align-items:center;gap:8px;padding:0 20px;text-decoration:none;transition:background .25s,border-color .25s,color .25s;display:inline-flex}.btn[data-astro-cid-omx7gl2w]:hover{border-color:var(--chalk)}.btn--solid[data-astro-cid-omx7gl2w]{background:var(--signal);border-color:var(--signal);color:#160700}.btn--solid[data-astro-cid-omx7gl2w]:hover{background:#ff7a4c;border-color:#ff7a4c}[data-astro-cid-omx7gl2w]:focus-visible{outline:2px solid var(--lime);outline-offset:3px}.hotspots[data-astro-cid-omx7gl2w],.bands[data-astro-cid-omx7gl2w]{flex-wrap:wrap;gap:8px;margin:26px 0 0;padding:0;list-style:none;display:flex}.hotspots[data-astro-cid-omx7gl2w] button[data-astro-cid-omx7gl2w],.bands[data-astro-cid-omx7gl2w] button[data-astro-cid-omx7gl2w]{border:1px solid var(--line);min-height:40px;color:var(--mute);font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:#07080a73;padding:0 14px;transition:all .25s}.hotspots[data-astro-cid-omx7gl2w] button[data-astro-cid-omx7gl2w]:hover,.hotspots[data-astro-cid-omx7gl2w] button[data-astro-cid-omx7gl2w][data-state=hover],.bands[data-astro-cid-omx7gl2w] button[data-astro-cid-omx7gl2w]:hover{color:var(--chalk);border-color:#ece9e180}.hotspots[data-astro-cid-omx7gl2w] button[data-astro-cid-omx7gl2w][aria-pressed=true],.bands[data-astro-cid-omx7gl2w] button[data-astro-cid-omx7gl2w][aria-pressed=true]{color:#160700;background:var(--signal);border-color:var(--signal)}.detail[data-astro-cid-omx7gl2w]{border-left:2px solid var(--signal);max-width:46ch;min-height:3.2em;color:var(--chalk);margin:16px 0 0;padding-left:14px;font-size:14px;line-height:1.5}.stats[data-astro-cid-omx7gl2w]{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:0;max-width:460px;margin:28px 0 0;display:grid}.stats[data-astro-cid-omx7gl2w] div[data-astro-cid-omx7gl2w]{padding:14px 12px 0 0}.stats[data-astro-cid-omx7gl2w] dt[data-astro-cid-omx7gl2w]{font:400 10px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}.stats[data-astro-cid-omx7gl2w] dd[data-astro-cid-omx7gl2w]{font-variation-settings:"wdth" 112;margin:8px 0 0;font-size:clamp(20px,1.9vw,28px);font-weight:700}.eyebrow--lime[data-astro-cid-omx7gl2w]~.stats[data-astro-cid-omx7gl2w]{border-color:#c6f25e4d}.task[data-astro-cid-omx7gl2w]{margin-top:28px}.task[data-astro-cid-omx7gl2w] label[data-astro-cid-omx7gl2w]{font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:10px;display:block}.field[data-astro-cid-omx7gl2w]{flex-wrap:wrap;gap:8px;display:flex}.field[data-astro-cid-omx7gl2w] input[data-astro-cid-omx7gl2w]{min-width:0;min-height:44px;color:var(--chalk);font:400 15px/1 var(--sans);background:#07080a8c;border:1px solid #ece9e14d;flex:240px;padding:0 14px}.field[data-astro-cid-omx7gl2w] input[data-astro-cid-omx7gl2w]::placeholder{color:#7d7a72}.colophon[data-astro-cid-omx7gl2w]{border-top:1px solid var(--line);color:var(--mute);max-width:46ch;margin-top:40px;padding-top:16px;font-size:12px;line-height:1.55}.colophon[data-astro-cid-omx7gl2w] p[data-astro-cid-omx7gl2w]{margin:0 0 6px}.colophon[data-astro-cid-omx7gl2w] b[data-astro-cid-omx7gl2w]{color:var(--chalk)}[data-astro-cid-omx7gl2w][data-rv]{opacity:0;transition:opacity .7s,transform .9s cubic-bezier(.2,.7,.1,1);transform:translateY(14px)}[data-astro-cid-omx7gl2w][data-split] .w[data-astro-cid-omx7gl2w]{opacity:0;filter:blur(6px);transition:opacity .6s,transform .8s cubic-bezier(.2,.7,.1,1),filter .6s;transition-delay:calc(var(--i) * 70ms);display:inline-block;transform:translateY(.45em)}.ch[data-astro-cid-omx7gl2w].is-on [data-astro-cid-omx7gl2w][data-rv],.ch[data-astro-cid-omx7gl2w].is-on [data-astro-cid-omx7gl2w][data-split] .w[data-astro-cid-omx7gl2w]{opacity:1;filter:none;transform:none}.ch[data-astro-cid-omx7gl2w].is-on .eyebrow[data-astro-cid-omx7gl2w]{transition-delay:0s}.ch[data-astro-cid-omx7gl2w].is-on .lede[data-astro-cid-omx7gl2w],.ch[data-astro-cid-omx7gl2w].is-on .body[data-astro-cid-omx7gl2w]{transition-delay:.35s}.ch[data-astro-cid-omx7gl2w].is-on .actions[data-astro-cid-omx7gl2w],.ch[data-astro-cid-omx7gl2w].is-on .hotspots[data-astro-cid-omx7gl2w],.ch[data-astro-cid-omx7gl2w].is-on .bands[data-astro-cid-omx7gl2w],.ch[data-astro-cid-omx7gl2w].is-on .stats[data-astro-cid-omx7gl2w],.ch[data-astro-cid-omx7gl2w].is-on .task[data-astro-cid-omx7gl2w]{transition-delay:.5s}.ch[data-astro-cid-omx7gl2w].is-on .detail[data-astro-cid-omx7gl2w],.ch[data-astro-cid-omx7gl2w].is-on .colophon[data-astro-cid-omx7gl2w]{transition-delay:.62s}.ch[data-astro-cid-omx7gl2w]:not(.is-on) .copy[data-astro-cid-omx7gl2w]{pointer-events:none}.fallback-note[data-astro-cid-omx7gl2w]{z-index:6;border:1px solid var(--line);font:400 12px/1.4 var(--mono);color:var(--chalk);background:#07080acc;max-width:calc(100vw - 40px);margin:0;padding:10px 16px;position:fixed;top:76px;left:50%;transform:translate(-50%)}@media (width<=900px){.bar[data-astro-cid-omx7gl2w] nav[data-astro-cid-omx7gl2w],.rail[data-astro-cid-omx7gl2w] em[data-astro-cid-omx7gl2w]{display:none}.rail[data-astro-cid-omx7gl2w]{top:auto;bottom:64px;transform:none}.rail[data-astro-cid-omx7gl2w] ol[data-astro-cid-omx7gl2w]{gap:0}.rail[data-astro-cid-omx7gl2w] a[data-astro-cid-omx7gl2w]{padding:5px 0}}@media (aspect-ratio<=4/5){.stage[data-astro-cid-omx7gl2w],.ch--right[data-astro-cid-omx7gl2w] .stage[data-astro-cid-omx7gl2w]{padding:0 var(--pad) 84px;justify-content:flex-start;align-items:flex-end}.scrim[data-astro-cid-omx7gl2w],#tern[data-astro-cid-omx7gl2w][data-ch="3"] .scrim[data-astro-cid-omx7gl2w]{background:linear-gradient(#0000 38%,#07080ab8 62%,#07080ae6 100%)}}@media (width<=720px){.rail[data-astro-cid-omx7gl2w]{display:none}.bar[data-astro-cid-omx7gl2w]{padding:16px var(--pad)}.stage[data-astro-cid-omx7gl2w],.ch--right[data-astro-cid-omx7gl2w] .stage[data-astro-cid-omx7gl2w]{padding:0 var(--pad) 74px;justify-content:flex-start;align-items:flex-end}.scrim[data-astro-cid-omx7gl2w],#tern[data-astro-cid-omx7gl2w][data-ch="3"] .scrim[data-astro-cid-omx7gl2w]{background:linear-gradient(#0000 38%,#07080ab8 62%,#07080ae6 100%)}.telemetry[data-astro-cid-omx7gl2w]{left:var(--pad);right:var(--pad);justify-content:space-between;gap:6px 12px;font-size:10px;bottom:18px}.telemetry[data-astro-cid-omx7gl2w]>i[data-astro-cid-omx7gl2w],.hide-sm[data-astro-cid-omx7gl2w]{display:none}.eyebrow[data-astro-cid-omx7gl2w]{margin-bottom:14px}.lede[data-astro-cid-omx7gl2w],.body[data-astro-cid-omx7gl2w]{margin-top:14px;font-size:14.5px;line-height:1.5}.actions[data-astro-cid-omx7gl2w]{margin-top:18px}.hotspots[data-astro-cid-omx7gl2w],.bands[data-astro-cid-omx7gl2w]{gap:6px;margin-top:16px}.hotspots[data-astro-cid-omx7gl2w] button[data-astro-cid-omx7gl2w],.bands[data-astro-cid-omx7gl2w] button[data-astro-cid-omx7gl2w]{min-height:44px;padding:0 11px;font-size:10px}.detail[data-astro-cid-omx7gl2w]{min-height:0;margin-top:12px;font-size:13px}.stats[data-astro-cid-omx7gl2w]{margin-top:16px}.stats[data-astro-cid-omx7gl2w] div[data-astro-cid-omx7gl2w]{padding-top:10px}.colophon[data-astro-cid-omx7gl2w]{margin-top:20px}}@media (prefers-reduced-motion:reduce){.grain[data-astro-cid-omx7gl2w]{animation:none}[data-astro-cid-omx7gl2w][data-rv],[data-astro-cid-omx7gl2w][data-split] .w[data-astro-cid-omx7gl2w]{filter:none!important;transition:opacity .2s linear!important;transform:none!important}}
