@import url('./scene.css');
:root{color-scheme:dark;--bg:#101110;--panel:#191b18;--line:#ffffff14;--ink:#f0f3e9;--muted:#93978c;--acid:#caff86;--purple:#ba9afb;font-family:Inter,'Segoe UI','Microsoft YaHei',sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:14px}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit;background:none;border:0}button:focus-visible,a:focus-visible,input:focus-visible,pre:focus-visible{outline:2px solid var(--acid);outline-offset:5px}button:disabled{opacity:.5;cursor:default}button:hover,a:hover{color:var(--acid)}.mono,.eyebrow,code{font-family:'SFMono-Regular',Consolas,'Liberation Mono',monospace}.eyebrow{font-size:10px;letter-spacing:1.4px;color:var(--muted);margin:0 0 15px}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--acid);margin-right:8px;box-shadow:0 0 10px #caff8644}.skip{position:fixed;left:20px;top:-60px;z-index:100;background:var(--acid);color:#141712;padding:10px}.skip:focus{top:10px}.topbar{height:80px;padding:0 4.3vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:10px;font-weight:850;font-size:19px;letter-spacing:-.7px}.brand-mark{display:grid;place-items:center;width:29px;height:29px;background:var(--acid);color:#171a13;font-size:30px;font-weight:500;line-height:1;border-radius:4px}.brand-caption{font:9px/1.3 monospace;color:var(--muted);width:50px;letter-spacing:1px;border-left:1px solid var(--line);padding-left:11px;margin-left:8px}.topbar nav{display:flex;align-items:center;gap:28px;font-size:12px}.download{padding:10px 15px;background:#22271c;border:1px solid #caff8640;border-radius:5px}.download span{margin-left:25px;color:var(--acid)}main{max-width:1720px;margin:auto}.intro{padding:50px 4.3vw 43px;display:flex;justify-content:space-between;align-items:end;gap:40px}.intro h1{font-size:clamp(50px,7.7vw,119px);font-weight:850;letter-spacing:-.07em;line-height:.85;margin:24px 0 0;white-space:nowrap}.intro h1 span{color:var(--acid)}.intro h1 i{display:inline-block;font-style:normal;color:var(--acid);font-weight:400;transform:rotate(-12deg);margin-left:9px;font-size:.8em}.intro-note{flex:0 0 275px}.intro-note>.mono{color:var(--purple);font-size:10px;letter-spacing:1px}.intro-note p{font-size:13px;color:#c0c3b8;line-height:1.8;margin:12px 0 18px}.version{font:9px monospace;color:var(--muted)}.version b{font-weight:400;font-size:8px;margin-left:12px}.workspace{display:grid;grid-template-columns:198px minmax(0,1fr);margin:0 4.3vw;border-top:1px solid var(--line);scroll-margin-top:20px}.catalog{border-right:1px solid var(--line);padding:25px 23px 15px 0}.catalog-heading{display:flex;justify-content:space-between;font-size:11px;margin-bottom:20px;color:#b4b9a9}.catalog-heading .mono{font-size:10px;color:var(--muted)}.search{display:flex;gap:8px;padding:7px 9px;background:#1b1e19;border:1px solid var(--line);border-radius:5px}.search span{font-size:21px;line-height:1;color:#9da58f}.search input{min-width:0;width:100%;border:0;background:none;color:var(--ink);outline:0;font-size:11px}.catalog-group{margin-top:24px}.catalog-group h3{font-size:10px;font-weight:400;color:#777e6d;letter-spacing:2px;margin:0 0 9px 9px}.catalog-group button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:9px 10px;margin:2px 0;text-align:left;font-size:12px;border-radius:5px;color:#b6bbaf}.catalog-group button span:last-child{color:#697060;font:9px monospace}.catalog-group button[aria-current=true]{background:#caff8612;color:var(--acid);box-shadow:inset 2px 0 var(--acid)}.catalog-group button[aria-current=true] span:last-child{color:var(--acid)}.catalog-foot{font:9px/1.9 monospace;color:#626958;margin:33px 8px 0}.work-area{min-width:0;padding:24px 0 0 28px}.experiment-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:21px}.experiment-head .eyebrow{margin-bottom:7px;font-size:9px}.experiment-head h2{font-size:26px;letter-spacing:-.8px;margin:0;font-weight:600}.experiment-head h2 small{font-size:13px;font-weight:400;color:#88927b;margin-left:14px;letter-spacing:0}.experiment-number{font-size:36px;font-weight:200;color:#373d31;letter-spacing:-3px}.experiment-grid{display:grid;grid-template-columns:minmax(0,1fr) 215px;border:1px solid var(--line);border-radius:9px;overflow:hidden}.stage-wrap{min-width:0}.stage{height:407px;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 48% 50%,#28301f30,transparent 65%),#0b0d0b}.stage:before,.stage:after{position:absolute;color:#6a745b;font:11px monospace;z-index:8;pointer-events:none}.stage:before{content:'+';left:15px;top:12px}.stage:after{content:'+';right:15px;bottom:12px}.stage-grain{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.28;background-image:radial-gradient(#ffffff1a .5px,transparent .5px);background-size:4px 4px}.stage-content{width:100%;height:100%;position:relative;overflow:hidden}.transport{border-top:1px solid var(--line);padding:12px 14px;display:flex;align-items:center;gap:13px;flex-wrap:wrap;min-height:52px;background:#151813;font-size:10px}.transport button{padding:4px 0;font-size:11px;white-space:nowrap}.transport .play{color:var(--acid)}.transport #play-status{font:8px monospace;letter-spacing:1px;color:#767f6b;margin-left:auto}.reduce{font-size:10px;display:flex;align-items:center;gap:6px;white-space:nowrap;color:#9aa18e}.reduce input{margin:0;accent-color:var(--acid)}.parameters{background:var(--panel);border-left:1px solid var(--line);padding:21px 18px;display:flex;flex-direction:column}.panel-label{display:flex;justify-content:space-between;font-size:11px;margin-bottom:27px}.panel-label button{font-size:10px;color:#929c83}.control{display:block;margin:0 0 24px;font-size:11px;color:#9fa891}.control-top{display:flex;justify-content:space-between;gap:12px;margin-bottom:13px}.control output{font:10px monospace;color:var(--acid)}.control input[type=range]{display:block;width:100%;height:3px;accent-color:var(--acid);margin:10px 0 12px;cursor:ew-resize}.control input[type=color]{width:100%;height:29px;padding:2px;border:1px solid #ffffff18;background:#10140e;border-radius:4px;cursor:pointer}.control input[type=text]{width:100%;background:#11150e;border:1px solid #ffffff14;border-radius:4px;color:var(--acid);padding:10px 8px;font:11px monospace}.interaction-hint{border-top:1px solid var(--line);padding-top:17px;font-size:11px;line-height:1.8;color:#a3af92}.parameter-foot{margin-top:auto;padding-top:23px;font-size:9px;color:#69765b}.parameter-foot .live-dot{width:4px;height:4px;box-shadow:none}.effect-notes{padding:19px 0 23px;display:flex;gap:28px;justify-content:space-between;align-items:start}.effect-notes>p{font-size:12px;line-height:1.9;max-width:520px;color:#adb59f;margin:0}.effect-notes>div{min-width:160px;max-width:235px}.effect-notes .mono{color:#5f6c50;font-size:8px;letter-spacing:1px;display:block;margin-bottom:8px}.effect-notes code{color:#9b84c1;font-size:9px;line-height:1.6;overflow-wrap:anywhere}.code-panel{background:#151813;border:1px solid var(--line);border-radius:8px;overflow:hidden}.code-head{display:flex;align-items:center;gap:20px;padding:15px 18px;border-bottom:1px solid var(--line)}.code-head h3{font-size:12px;font-weight:500;margin:0}.code-tabs{display:flex;gap:16px;margin-left:auto}.code-tabs button{font:10px monospace;color:#777f6c;padding:5px 0}.code-tabs button[aria-pressed=true]{color:var(--acid)}#copy-code{font-size:10px;border-left:1px solid #ffffff18;padding-left:18px;white-space:nowrap}pre{overflow:auto;margin:0;padding:22px;font:11px/1.95 Consolas,monospace;max-height:350px;tab-size:2;color:#c4ceaf}.code-foot{border-top:1px solid var(--line);padding:12px 18px;display:flex;justify-content:space-between;gap:12px;font:9px monospace;color:#7e8b6c;overflow-wrap:anywhere}.usage{display:grid;grid-template-columns:1fr 1fr;gap:9vw;margin:80px 4.3vw 0;padding:64px 0;border-top:1px solid var(--line);scroll-margin-top:25px}.usage h2{font-size:45px;line-height:1.25;letter-spacing:-2px;margin:18px 0 24px}.usage h2 span{color:var(--acid)}.usage p:not(.eyebrow){font-size:12px;color:#929e83;line-height:1.9;max-width:400px}.usage a{font-size:12px;display:inline-block;margin-top:15px;color:var(--acid)}.usage-steps article{display:flex;gap:25px;padding:22px 0;border-bottom:1px solid var(--line)}.usage-steps article>span{font:14px monospace;color:#576744}.usage-steps h3{font-size:13px;font-weight:500;margin:0 0 12px}.usage-steps code{font-size:11px;line-height:1.9;color:#adbd96;overflow-wrap:anywhere}footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:29px 4.3vw 38px}footer>span,footer>a:last-child{font:10px monospace;color:#79866a}.no-results{font-size:12px;color:#9aa78b;line-height:1.8}.scene-trigger:focus-visible{outline:2px solid #caff86;outline-offset:8px}@media(min-width:1500px){.stage{height:490px}.experiment-grid{grid-template-columns:minmax(0,1fr) 250px}.workspace{grid-template-columns:215px minmax(0,1fr)}}
@media(max-width:1100px){.intro-note{flex-basis:230px}.intro h1{font-size:8vw}.workspace{grid-template-columns:160px minmax(0,1fr)}.work-area{padding-left:20px}.catalog{padding-right:15px}.experiment-grid{grid-template-columns:minmax(0,1fr) 185px}.parameters{padding:18px 14px}.stage{height:365px}.transport #play-status{display:none}.intro{padding-top:38px}.code-head{gap:12px}.code-head h3{display:none}.code-tabs{margin-left:0}.code-head #copy-code{margin-left:auto}}
@media(max-width:800px){.intro{display:block;padding-bottom:30px}.intro h1{font-size:12vw}.intro-note{display:flex;justify-content:space-between;align-items:center;margin-top:28px}.intro-note>.mono{font-size:9px}.intro-note p{margin:0;font-size:11px}.version{display:none}.topbar{height:68px}.topbar nav{gap:18px}.topbar nav>a:first-child{display:none}.brand-caption{display:none}.workspace{display:block}.catalog{border-right:0;padding:18px 0;display:grid;grid-template-columns:1fr 190px;gap:15px}.catalog-heading{align-items:center;margin:0}.search{margin:0}#effect-list{grid-column:1/3;display:flex;gap:8px;overflow:auto;padding-bottom:7px}.catalog-group{margin:0;display:contents}.catalog-group h3,.catalog-foot{display:none}.catalog-group button{width:auto;flex-shrink:0;white-space:nowrap;gap:16px;padding:10px 13px;background:#181d13}.work-area{padding:15px 0 0}.experiment-grid{grid-template-columns:minmax(0,1fr) 190px}.effect-notes>div{display:none}.usage{gap:40px}.usage h2{font-size:34px}}
@media(max-width:560px){.topbar{padding:0 20px}.wordmark{font-size:17px}.topbar nav>a:nth-child(2){display:none}.download{font-size:11px;padding:9px 12px}.download span{margin-left:14px}.intro{padding:32px 20px 27px}.intro .eyebrow{font-size:8px;letter-spacing:1px}.intro h1{margin-top:22px;font-size:12.2vw}.intro-note{margin-top:23px;gap:12px}.intro-note>.mono{font-size:8px;max-width:110px;line-height:1.8}.intro-note p{font-size:10px}.workspace{margin:0 20px}.catalog{grid-template-columns:1fr 165px;gap:12px}#effect-list{gap:4px}.catalog-group button{font-size:11px;padding:9px 11px}.experiment-head h2{font-size:22px}.experiment-head h2 small{font-size:10px;margin-left:10px}.experiment-number{font-size:28px}.experiment-grid{display:block}.stage{height:340px}.transport{gap:15px;padding:12px}.transport button{font-size:10px}.reduce{margin-left:auto}.parameters{border-left:0;border-top:1px solid var(--line);padding:19px}.panel-label{margin-bottom:21px}#controls{display:grid;grid-template-columns:1fr 1fr;gap:18px}.control{margin:0 0 10px}.control-top{font-size:10px;gap:3px}.interaction-hint{margin-top:14px;font-size:10px;padding-top:13px}.parameter-foot{display:none}.effect-notes{padding:18px 0}.effect-notes>p{font-size:11px}.code-head{padding:12px}.code-tabs{gap:15px}.code-tabs button{font-size:9px}#copy-code{font-size:9px;padding-left:10px}pre{font-size:10px;padding:17px}.code-foot{font-size:8px;padding:11px;display:block}.code-foot span{display:block;margin-bottom:5px}.usage{display:block;margin:45px 20px 0;padding:40px 0}.usage h2{font-size:38px}.usage-steps{margin-top:30px}.usage-steps article{gap:15px}.usage-steps code{font-size:10px}footer{padding:24px 20px;flex-wrap:wrap}footer>span{order:3;width:100%;font-size:9px}footer>a:last-child{font-size:9px}.experiment-head .eyebrow{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
