@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600&family=Instrument+Serif:ital@0;1&display=swap";:root{color:#171711;font-synthesis:none;text-rendering:optimizelegibility;--ink:#171711;--paper:#f2efe7;--cream:#fbf9f3;--coral:#f26649;--coral-dark:#d5482f;--lime:#d9f86b;--blue:#2f5cff;--mint:#aee8d3;--line:#17171133;--mono:"DM Mono", monospace;--serif:"Instrument Serif", Georgia, serif;background:#f2efe7;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 8% 20%, #d9f86b2e, transparent 23rem), var(--paper);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}code,pre,textarea,[data-copyable]{cursor:text;-webkit-user-select:text;user-select:text}a{color:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;width:min(100% - 48px,1360px);height:86px;margin:0 auto;display:flex}.brand{letter-spacing:-.025em;align-items:center;gap:11px;font-weight:600;text-decoration:none;display:inline-flex}.brand-mark{background:var(--ink);border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.brand-mark svg{fill:none;width:24px;stroke:var(--lime);stroke-width:2px}nav{align-items:center;gap:34px;font-size:.82rem;font-weight:500;display:flex}nav a{text-decoration:none}nav a:not(.source-link){position:relative}nav a:not(.source-link):after{content:"";border-bottom:1px solid;transition:right .18s;position:absolute;bottom:-5px;left:0;right:100%}nav a:not(.source-link):hover:after{right:0}.source-link{border:1px solid var(--ink);border-radius:99px;align-items:center;gap:7px;padding:10px 16px;transition:color .16s,background .16s;display:inline-flex}.source-link:hover{color:var(--paper);background:var(--ink)}.source-link svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:14px}.hero{align-items:center;width:min(100% - 48px,1240px);min-height:360px;margin:0 auto;padding:64px 0 72px;display:flex}.hero-copy{max-width:730px}.eyebrow,.section-kicker{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;margin:0 0 16px;font-size:.68rem;font-weight:500}.eyebrow{align-items:center;gap:9px;display:flex}.eyebrow span{background:var(--coral);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #f2664926}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.075em;margin-bottom:28px;font-size:clamp(4.6rem,8vw,8rem);font-weight:500;line-height:.75}h1 em,.workshop-intro h2 em{font-family:var(--serif);color:var(--coral);font-weight:400}.hero-intro{color:#171711ad;max-width:570px;margin:0;font-size:clamp(1rem,1.8vw,1.25rem);line-height:1.6}.hero-intro a{color:var(--ink);-webkit-text-decoration-color:var(--coral);text-decoration-color:var(--coral);text-underline-offset:4px}.playground{background:var(--cream);border:1px solid var(--ink);width:min(100% - 48px,1360px);box-shadow:8px 8px 0 var(--ink);border-radius:26px;margin:0 auto 130px;padding:30px}.playground-topline{justify-content:space-between;align-items:flex-end;padding:2px 4px 24px;display:flex}.playground h2,.section-header h2,.utility-section h2{letter-spacing:-.055em;margin:0;font-size:clamp(2.2rem,4vw,4rem);font-weight:500;line-height:.95}.live-indicator{font-family:var(--mono);text-transform:uppercase;align-items:center;gap:7px;font-size:.65rem;display:flex}.live-indicator span{background:#43a267;border-radius:50%;width:7px;height:7px;animation:1.8s infinite pulse}@keyframes pulse{50%{box-shadow:0 0 0 5px #43a26729}}.playground-grid{border:1px solid var(--ink);border-radius:16px;grid-template-columns:minmax(280px,.88fr) minmax(360px,1.16fr) minmax(250px,.76fr);min-height:465px;display:grid;overflow:hidden}.motion-panel,.graph-panel,.inspector{min-width:0}.motion-panel{border-right:1px solid var(--ink);background:var(--mint);flex-direction:column;display:flex}.motion-stage{background:var(--mint);flex-direction:column;flex:1;min-height:350px;padding:28px 28px 24px;display:flex;position:relative;overflow:hidden}.motion-stage-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.motion-stage-header .section-kicker{opacity:.58;margin-bottom:6px}.motion-stage-header strong{letter-spacing:-.025em;font-size:1rem}.position-readout{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.position-readout span,.position-readout output{font-family:var(--mono);font-variant-numeric:tabular-nums}.position-readout span{letter-spacing:.08em;text-transform:uppercase;opacity:.55;font-size:.55rem}.position-readout output{font-size:1rem}.motion-lane{flex-direction:column;flex:1;justify-content:center;min-height:190px;margin:10px 38px 0;display:flex}.track{width:100%;height:2px;position:relative}.track:before,.track:after{content:"";z-index:2;background:var(--ink);width:1px;height:14px;position:absolute;top:-6px}.track:before{left:0}.track:after{right:0}.track-line,.track-progress{height:2px;position:absolute;top:0;left:0}.track-line{background:#17171147;right:0}.track-progress{background:var(--coral-dark);will-change:width;width:0}.runner{z-index:3;border:1px solid var(--ink);background:var(--coral);min-width:88px;height:46px;box-shadow:4px 4px 0 var(--ink);will-change:left;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 13px;display:flex;position:absolute;top:1px;left:0;transform:translate(-50%,-50%)}.runner>span:last-child{font-family:var(--mono);text-transform:uppercase;font-size:.6rem}.runner-mark{font-size:1rem;line-height:1}.lane-labels{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;opacity:.54;justify-content:space-between;margin-top:32px;font-size:.55rem;display:flex}.motion-hint{font-family:var(--serif);color:#17171194;margin:0;font-size:.94rem}.transport{border-top:1px solid var(--ink);background:var(--cream);align-items:center;gap:14px;height:88px;padding:0 20px;display:flex}.play-button{border:1px solid var(--ink);background:var(--ink);width:42px;height:42px;color:var(--cream);cursor:pointer;border-radius:50%;flex:none;place-items:center;display:grid}.play-button svg{fill:currentColor;width:18px}.play-button .pause-icon,.play-button.playing .play-icon{display:none}.play-button.playing .pause-icon{display:block}.scrubber{flex:1;display:flex}input[type=range]{--range-progress:0%;appearance:none;cursor:pointer;background:0 0;width:100%;height:18px;margin:0}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--coral) var(--range-progress), #c8c5bc 0);height:3px}input[type=range]::-moz-range-track{background:linear-gradient(to right, var(--coral) var(--range-progress), #c8c5bc 0);height:3px}input[type=range]::-webkit-slider-thumb{appearance:none;border:2px solid var(--cream);background:var(--coral);width:15px;height:15px;box-shadow:0 0 0 1px var(--ink);border-radius:50%;margin-top:-6px}input[type=range]::-moz-range-thumb{border:2px solid var(--cream);background:var(--coral);width:12px;height:12px;box-shadow:0 0 0 1px var(--ink);border-radius:50%}.transport output{width:46px;font-family:var(--mono);font-size:.67rem}.graph-panel{border-right:1px solid var(--ink);background:var(--cream);padding:26px 24px 20px;position:relative}.graph-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.graph-heading h3{letter-spacing:-.03em;margin:0;font-size:1.45rem;font-weight:600}.value-readout{flex-direction:column;align-items:flex-end;display:flex}.value-readout span{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;opacity:.5;font-size:.55rem}.value-readout strong{font-family:var(--mono);font-size:1rem;font-weight:500}.main-graph{width:100%;margin-top:8px;overflow:visible}#graph-grid line{stroke:#1717111f;stroke-width:1px;stroke-dasharray:3 5}.graph-reference{stroke:#17171124;stroke-width:1.2px;stroke-dasharray:5 6}.graph-path-shadow,.graph-path{fill:none;stroke-linecap:round;stroke-linejoin:round}.graph-path-shadow{stroke:var(--cream);stroke-width:9px}.graph-path{stroke:var(--blue);stroke-width:4px}.graph-guide{stroke:var(--coral);stroke-width:1px;stroke-dasharray:3 4}.graph-marker-ring{fill:var(--cream);stroke:var(--coral);stroke-width:1px}.graph-marker{fill:var(--coral)}.graph-axis{font-family:var(--mono);text-transform:uppercase;opacity:.5;justify-content:space-between;font-size:.55rem;display:flex;position:absolute;bottom:18px;left:27px;right:27px}.inspector{background:#ded9cd;flex-direction:column;gap:18px;padding:26px 22px 20px;display:flex}.curve-description{min-height:62px;font-family:var(--serif);margin-bottom:6px;font-size:1.15rem;line-height:1.3}.control-row{justify-content:space-between;font-size:.75rem;font-weight:600;display:flex}.control-row output{font-family:var(--mono);font-size:.67rem;font-weight:400}.code-card{border:1px solid var(--ink);color:#f6f1e6;background:#20201b;border-radius:10px;min-width:0;min-height:196px;margin-top:auto;overflow:hidden}.code-topline{font-family:var(--mono);text-transform:uppercase;color:#ffffff8c;border-bottom:1px solid #ffffff24;justify-content:space-between;align-items:center;padding:9px 12px;font-size:.56rem;display:flex}.code-topline button{color:var(--lime);font-family:inherit;font-size:inherit;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:0}.code-card pre{max-width:100%;font-family:var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:16px 14px;font-size:.65rem;line-height:1.65;overflow:hidden auto}.code-card code{white-space:inherit}.curves-section{width:min(100% - 48px,1240px);margin:0 auto 140px;scroll-margin-top:30px}.section-header{justify-content:space-between;align-items:flex-end;gap:40px;display:flex}.section-header>div>p:last-child{color:#17171199;margin:18px 0 0}.search-box{border-bottom:1px solid var(--ink);align-items:center;gap:10px;width:250px;padding:10px 2px;display:flex}.search-box svg{fill:none;stroke:currentColor;stroke-width:1.5px;flex:none;width:17px}.search-box input{background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:.78rem}.collection-toolbar{flex-direction:column-reverse;align-items:stretch;gap:18px;margin:36px 0 26px;display:flex}.filters{flex-wrap:wrap;gap:8px;display:flex}.duration-control{flex-direction:column;gap:8px;min-width:0;display:flex}.duration-copy{justify-content:space-between;align-items:center;gap:18px;font-size:.72rem;font-weight:600;display:flex}.duration-copy output{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.64rem;font-weight:400}.duration-bounds{font-family:var(--mono);color:#1717116b;justify-content:space-between;margin-top:-5px;font-size:.48rem;display:flex}.playback-options{border:1px solid var(--ink);background:var(--cream);border-radius:14px;grid-template-columns:minmax(280px,1.25fr) minmax(220px,1fr) minmax(150px,.65fr);align-items:center;gap:24px;padding:17px 20px;display:grid}.autoplay-control{border:1px solid var(--ink);background:var(--lime);cursor:pointer;border-radius:10px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:24px;margin:-5px -8px 0;padding:13px 16px;display:flex}.autoplay-prompt,.autoplay-prompt>span:last-child{align-items:center;gap:12px;min-width:0;display:flex}.autoplay-prompt>span:last-child{flex-direction:column;align-items:flex-start;gap:2px}.autoplay-prompt strong{font-size:.78rem}.autoplay-prompt small{color:#171711a3;font-family:var(--mono);font-size:.52rem}.autoplay-badge{background:var(--ink);color:var(--cream);font-family:var(--mono);text-transform:uppercase;white-space:nowrap;border-radius:99px;padding:5px 8px;font-size:.5rem}.autoplay-control input{appearance:none;border:1px solid var(--ink);cursor:pointer;background:#17171140;border-radius:99px;flex:none;width:46px;height:26px}.autoplay-control input:before{content:"";background:var(--cream);width:20px;height:20px;box-shadow:0 0 0 1px var(--ink);border-radius:50%;margin:2px;transition:transform .16s;display:block}.autoplay-control input:checked{background:var(--coral)}.autoplay-control input:checked:before{transform:translate(20px)}.preview-modes{border:0;min-width:0;margin:0;padding:0}.preview-modes legend{margin-bottom:7px;padding:0;font-size:.68rem;font-weight:600}.preview-modes>div{grid-template-columns:repeat(5,1fr);display:grid}.preview-modes button{border:1px solid var(--ink);min-width:0;font-family:var(--mono);text-transform:uppercase;cursor:pointer;background:0 0;border-right:0;padding:7px 8px;font-size:.55rem}.preview-modes button:first-child{border-radius:7px 0 0 7px}.preview-modes button:last-child{border-right:1px solid var(--ink);border-radius:0 7px 7px 0}.preview-modes button.active,.preview-modes button:hover{background:var(--ink);color:var(--cream)}.repeat-control{border:0;grid-column:1/-1;min-width:0;margin:0;padding:0}.repeat-control legend{margin-bottom:7px;padding:0;font-size:.68rem;font-weight:600}.repeat-control>div{grid-template-columns:repeat(5,1fr);display:grid}.repeat-control button{border:1px solid var(--ink);min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border-right:0;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 12px;display:flex}.repeat-control button:first-child{border-radius:8px 0 0 8px}.repeat-control button:last-child{border-right:1px solid var(--ink);border-radius:0 8px 8px 0}.repeat-control button.active,.repeat-control button:hover{background:var(--ink);color:var(--cream)}.repeat-control button strong{font-size:.68rem}.repeat-control button small{opacity:.62;font-family:var(--mono);white-space:nowrap;font-size:.48rem}.repeat-control p{color:#17171194;min-height:1.2em;font-family:var(--mono);margin:7px 0 0;font-size:.52rem}.custom-timeline{border:1px dashed var(--ink);background:#325dff0f;border-radius:10px;grid-column:1/-1;grid-template-columns:minmax(150px,.65fr) minmax(0,2fr);align-items:center;gap:12px 22px;min-width:0;padding:14px;display:grid}.custom-timeline[hidden]{display:none}.custom-timeline>div:first-child{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.custom-timeline-kicker{color:var(--blue);font-family:var(--mono);text-transform:uppercase;font-size:.48rem}.custom-timeline>div:first-child strong{font-size:.72rem}.timeline-presets{grid-template-columns:repeat(4,1fr);gap:7px;min-width:0;display:grid}.timeline-presets button{background:var(--cream);min-width:0;color:inherit;text-align:left;cursor:pointer;border:1px solid #1717113d;border-radius:7px;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:8px;padding:7px;display:grid}.timeline-presets button.active,.timeline-presets button:hover{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.timeline-presets svg{fill:none;width:100%;stroke:var(--blue);stroke-width:2px}.timeline-presets button>span{flex-direction:column;gap:2px;min-width:0;display:flex}.timeline-presets strong{text-overflow:ellipsis;white-space:nowrap;font-size:.6rem;overflow:hidden}.timeline-presets small{color:#17171180;font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;font-size:.44rem;overflow:hidden}.custom-timeline>code{color:#17171194;font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;grid-column:2;font-size:.48rem;overflow:hidden}.sync-control{font-family:var(--mono);text-align:center;text-transform:uppercase;flex-direction:column;align-items:center;gap:7px;font-size:.52rem;display:flex}.sync-control output{color:var(--coral-dark);font-weight:600}.sync-control button{font-family:inherit;font-size:inherit;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:3px 0}.sync-control button:disabled{opacity:.35;cursor:default}.filter{border:1px solid var(--line);font-family:var(--mono);text-transform:uppercase;cursor:pointer;background:0 0;border-radius:99px;padding:9px 16px;font-size:.65rem}.filter span{opacity:.55;margin-left:3px}.filter.active,.filter:hover{border-color:var(--ink);background:var(--ink);color:var(--paper)}.curve-grid{border-top:1px solid var(--ink);border-left:1px solid var(--ink);grid-template-columns:repeat(4,1fr);display:grid}.curve-card{border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);background:#fbf9f373;flex-direction:column;min-width:0;transition:background .17s,color .17s;display:flex;position:relative}.curve-card:hover,.curve-card.selected{background:var(--lime)}.curve-card.selected{box-shadow:inset 0 0 0 2px var(--ink)}.curve-card-select{text-align:left;width:100%;min-width:0;color:inherit;cursor:pointer;background:0 0;border:0;flex:1;padding:20px 20px 8px;display:block}.curve-card-top{justify-content:space-between;gap:12px;font-size:.85rem;font-weight:600;display:flex}.curve-arrow{opacity:0;transition:all .16s;transform:translate(-4px,4px)}.curve-card:hover .curve-arrow,.curve-card.selected .curve-arrow{opacity:1;transform:translate(0)}.preview-visualization{--preview-position:0%;--preview-scale:.4;--preview-rotation:0deg;--preview-color:var(--coral);width:100%;height:90px;margin:15px 0 3px;display:block;position:relative;overflow:hidden}.preview-scene{width:100%;height:100%;margin:0;display:none;position:absolute;inset:0}html[data-preview-mode=curve] [data-preview-scene=curve]{display:block}html[data-preview-mode=move] [data-preview-scene=move],html[data-preview-mode=scale] [data-preview-scene=scale],html[data-preview-mode=rotate] [data-preview-scene=rotate],html[data-preview-mode=color] [data-preview-scene=color]{display:flex}.preview-curve-scene{width:100%;overflow:visible}.preview-move-scene,.preview-scale-scene,.preview-rotate-scene,.preview-color-scene{background:#fbf9f380;border:1px solid #17171124;border-radius:10px;justify-content:center;align-items:center}.preview-rail{background:#1717113d;width:calc(100% - 42px);height:2px;position:relative}.preview-rail:before,.preview-rail:after{content:"";background:var(--ink);width:1px;height:10px;position:absolute;top:-4px}.preview-rail:before{left:0}.preview-rail:after{right:0}.preview-mover{left:var(--preview-position);border:1px solid var(--ink);background:var(--coral);width:34px;height:26px;box-shadow:2px 2px 0 var(--ink);border-radius:8px;place-items:center;display:grid;position:absolute;top:1px;transform:translate(-50%,-50%)}.preview-scale-guide,.preview-orbit{border:1px dashed #17171140;border-radius:50%;width:58px;height:58px;position:absolute}.preview-scale-object{border:1px solid var(--ink);background:var(--coral);width:48px;height:48px;transform:scale(var(--preview-scale));border-radius:50%}.preview-rotate-object{border:1px solid var(--ink);background:var(--lime);width:42px;height:42px;box-shadow:3px 3px 0 var(--ink);transform:rotate(var(--preview-rotation));border-radius:9px;place-items:center;display:grid}.preview-color-scene{gap:10px;padding:12px}.preview-color-start,.preview-color-end{border:1px solid #17171159;border-radius:50%;flex:none;width:10px;height:10px}.preview-color-start{background:var(--coral)}.preview-color-end{background:var(--blue)}.preview-color-swatch{border:1px solid var(--ink);background:var(--preview-color,var(--coral));border-radius:9px;flex:1;min-width:42px;height:48px;box-shadow:3px 3px #171711cc}.mini-grid,.mini-reference,.mini-curve{fill:none}.mini-grid{stroke:#17171133;stroke-width:.7px}.mini-reference{stroke:#17171124;stroke-dasharray:2 3}.mini-curve{stroke:var(--blue);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.curve-card:hover .mini-curve,.curve-card.selected .mini-curve{stroke:var(--ink)}.card-player-guide{stroke:var(--coral-dark);stroke-width:.8px;stroke-dasharray:2 2;opacity:0}.card-player-ring{fill:var(--cream);stroke:var(--coral-dark);stroke-width:1px;opacity:0}.card-player-marker{fill:var(--coral);opacity:0}.curve-card.selected .card-player-guide,.curve-card.selected .card-player-ring,.curve-card.selected .card-player-marker,.recipe-card.selected .card-player-guide,.recipe-card.selected .card-player-ring,.recipe-card.selected .card-player-marker,.curve-card.playing .card-player-guide,.curve-card.playing .card-player-ring,.curve-card.playing .card-player-marker,.recipe-card.playing .card-player-guide,.recipe-card.playing .card-player-ring,.recipe-card.playing .card-player-marker,.utility-card.playing .card-player-guide,.utility-card.playing .card-player-ring,.utility-card.playing .card-player-marker,.utility-card.selected .card-player-guide,.utility-card.selected .card-player-ring,.utility-card.selected .card-player-marker{opacity:1}.curve-card-footer{justify-content:space-between;align-items:center;gap:12px;min-height:47px;padding:7px 12px 10px 20px;display:flex}.curve-id{max-width:100%;color:inherit;font-family:var(--mono);opacity:.65;text-overflow:ellipsis;white-space:nowrap;font-size:.55rem;overflow:hidden}.curve-card-play{border:1px solid var(--ink);background:var(--cream);min-width:88px;height:38px;font-family:var(--mono);text-transform:uppercase;cursor:pointer;border-radius:99px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:.55rem;display:inline-flex}.curve-card-play:hover,.curve-card-play.playing{background:var(--ink);color:var(--cream)}.curve-card-play svg{fill:currentColor;width:12px;height:12px;margin:0}.curve-card-play .pause-icon,.curve-card-play .pause-label,.curve-card-play.playing .play-icon,.curve-card-play.playing .play-label{display:none}.curve-card-play.playing .pause-icon,.curve-card-play.playing .pause-label{display:block}html[data-autoplay=on] .curve-card-play,html[data-autoplay=on] .recipe-play,html[data-autoplay=on] .utility-play{display:none}.empty-state{text-align:center;border-bottom:1px solid var(--ink);padding:60px 0}.workshop-section{background:var(--ink);color:var(--paper);padding:110px max(24px,50vw - 620px);scroll-margin-top:30px}.section-kicker.light{color:var(--lime)}.workshop-intro{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:end;gap:clamp(50px,8vw,120px);margin-bottom:58px;display:grid}.workshop-intro h2{letter-spacing:-.055em;max-width:760px;margin:0;font-size:clamp(3.4rem,6vw,6.2rem);font-weight:500;line-height:.9}.workshop-intro h2 em{color:var(--lime)}.workshop-guide>p{color:#f2efe79e;max-width:480px;margin-bottom:28px;line-height:1.65}.workshop-instruction{border-top:1px solid #f2efe759;border-bottom:1px solid #f2efe759;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:18px 0;display:grid}.instruction-number,.workshop-instruction small{font-family:var(--mono)}.instruction-number{color:var(--lime);font-size:.6rem}.workshop-instruction>span:nth-child(2){flex-direction:column;gap:4px;display:flex}.workshop-instruction strong{font-size:.88rem}.workshop-instruction small{color:#f2efe780;font-size:.56rem;line-height:1.5}.instruction-arrow{color:var(--lime);font-size:1.45rem}.recipe-grid{border-top:1px solid #f2efe759;border-left:1px solid #f2efe759;grid-template-columns:repeat(4,1fr);display:grid}.recipe-card{text-align:left;min-height:280px;color:inherit;cursor:pointer;background:0 0;border:1px solid #f2efe759;border-top:0;border-left:0;flex-direction:column;align-items:stretch;padding:22px;transition:color .18s,background .18s;display:flex;position:relative;overflow:hidden}.recipe-card:hover,.recipe-card.playing{color:var(--ink);background:var(--coral)}.recipe-card.selected{color:var(--paper);box-shadow:inset 0 0 0 2px var(--lime);background:#29304f}.recipe-number,.recipe-eyebrow{font-family:var(--mono);letter-spacing:.08em;opacity:.6;font-size:.58rem}.recipe-eyebrow{letter-spacing:0}.recipe-copy{flex-direction:column;gap:8px;margin-top:auto;display:flex}.recipe-select{width:-moz-fit-content;width:fit-content;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:1.1rem;font-weight:600}.recipe-copy>span:last-child{color:#f2efe794;max-width:300px;font-size:.76rem;line-height:1.5}.recipe-card:hover .recipe-copy>span:last-child,.recipe-card.playing .recipe-copy>span:last-child{color:#171711a6}.recipe-card.selected .recipe-copy>span:last-child{color:#f2efe7b3}.recipe-action{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;border-top:1px solid #f2efe740;justify-content:flex-end;align-items:center;gap:10px;margin-top:18px;padding-top:11px;font-size:.56rem;display:flex}.recipe-card:hover .recipe-action,.recipe-card.selected .recipe-action,.recipe-card.playing .recipe-action{border-color:#17171159}.recipe-card.selected .recipe-action{border-color:#f2efe752}.recipe-play{min-width:88px;height:38px;color:inherit;font-family:var(--mono);text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid;border-radius:99px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:.56rem;display:inline-flex}.recipe-play:hover,.recipe-play.playing{background:var(--paper);color:var(--ink)}.recipe-play svg{fill:currentColor;width:13px}.recipe-play .pause-icon,.recipe-play .pause-label,.recipe-play.playing .play-icon,.recipe-play.playing .play-label{display:none}.recipe-play.playing .pause-icon,.recipe-play.playing .pause-label{display:block}html[data-autoplay=on] .recipe-action{display:none}.recipe-card>.preview-visualization{width:115px;height:70px;margin:0;position:absolute;top:15px;right:15px}.recipe-card .preview-scene{color:var(--ink)}.recipe-card .mini-grid{stroke:#f2efe72e}.recipe-card .mini-reference{stroke:#f2efe729}.recipe-card .mini-curve{stroke:var(--lime);stroke-width:1.7px}.recipe-card .preview-move-scene,.recipe-card .preview-scale-scene,.recipe-card .preview-rotate-scene,.recipe-card .preview-color-scene{background:#f2efe70a;border-color:#f2efe740}.recipe-card .preview-rail,.recipe-card .preview-rail:before,.recipe-card .preview-rail:after{background:#f2efe78c}.recipe-card:hover .mini-curve,.recipe-card.playing .mini-curve{stroke:var(--ink)}.recipe-card.selected .mini-curve{stroke:var(--lime)}.recipe-card:hover .preview-move-scene,.recipe-card:hover .preview-scale-scene,.recipe-card:hover .preview-rotate-scene,.recipe-card:hover .preview-color-scene,.recipe-card.playing .preview-move-scene,.recipe-card.playing .preview-scale-scene,.recipe-card.playing .preview-rotate-scene,.recipe-card.playing .preview-color-scene{background:#fbf9f32e;border-color:#17171133}.recipe-card.selected .preview-move-scene,.recipe-card.selected .preview-scale-scene,.recipe-card.selected .preview-rotate-scene,.recipe-card.selected .preview-color-scene{background:#f2efe714;border-color:#f2efe74d}.recipe-card:hover .preview-rail,.recipe-card:hover .preview-rail:before,.recipe-card:hover .preview-rail:after,.recipe-card.playing .preview-rail,.recipe-card.playing .preview-rail:before,.recipe-card.playing .preview-rail:after{background:#17171180}.recipe-card.selected .preview-rail,.recipe-card.selected .preview-rail:before,.recipe-card.selected .preview-rail:after{background:#f2efe7a6}.advanced-section{width:min(100% - 48px,1240px);margin:0 auto;padding:120px 0 20px;scroll-margin-top:24px}.advanced-heading{grid-template-columns:minmax(0,1fr) minmax(300px,.55fr);align-items:end;gap:60px;margin-bottom:44px;display:grid}.advanced-heading h2{letter-spacing:-.055em;margin:0;font-size:clamp(3.2rem,6vw,6rem);font-weight:500;line-height:.92}.advanced-heading>p{color:#17171199;margin:0 0 5px;line-height:1.65}.advanced-workbench{border:1px solid var(--ink);background:var(--cream);border-radius:18px;grid-template-columns:225px minmax(0,1fr) 330px;min-height:610px;transition:box-shadow .16s;display:grid;overflow:hidden}.advanced-workbench.selected{box-shadow:7px 7px 0 var(--blue)}.advanced-recipes{border-right:1px solid var(--ink);background:#ded9cd;flex-direction:column;display:flex}.advanced-recipes button{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #17171147;flex:1;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:9px;padding:14px 13px;display:grid}.advanced-recipes button:last-child{border-bottom:0}.advanced-recipes button:hover,.advanced-recipes button.active{background:var(--lime)}.advanced-recipes button>span:first-child,.advanced-recipes button small{font-family:var(--mono);opacity:.58;font-size:.48rem}.advanced-recipes button>span:nth-child(2){flex-direction:column;gap:5px;min-width:0;display:flex}.advanced-recipes code{font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;font-size:.56rem;font-weight:500;overflow:hidden}.advanced-recipes button>span:last-child{opacity:0;font-size:.9rem;transition:all .15s;transform:translate(-4px)}.advanced-recipes button:hover>span:last-child,.advanced-recipes button.active>span:last-child{opacity:1;transform:translate(0)}.advanced-stage{flex-direction:column;min-width:0;padding:28px;display:flex}.advanced-stage-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.advanced-stage-heading code,.advanced-stage-heading>span{font-family:var(--mono);font-size:.55rem}.advanced-stage-heading code{color:var(--coral-dark)}.advanced-stage-heading h3{letter-spacing:-.035em;margin:7px 0 0;font-size:1.75rem}.advanced-stage-heading>span{border:1px solid var(--ink);white-space:nowrap;border-radius:99px;padding:6px 9px}.advanced-stage>p{color:#17171194;min-height:3em;margin:12px 0 0;font-size:.78rem;line-height:1.5}.advanced-presets{flex-wrap:wrap;align-items:center;gap:7px;margin-top:15px;display:flex}.advanced-presets>span{font-family:var(--mono);text-transform:uppercase;opacity:.5;margin-right:2px;font-size:.48rem}.advanced-presets button{font-family:var(--mono);cursor:pointer;background:0 0;border:1px solid #17171159;border-radius:99px;padding:6px 9px;font-size:.49rem}.advanced-presets button:hover,.advanced-presets button:focus-visible{border-color:var(--ink);background:var(--lime)}.advanced-presets>button{border-style:dashed;margin-left:auto}.advanced-formation{background:#2f5cff09;border:1px dashed #17171159;border-radius:10px;align-items:stretch;gap:5px;min-width:0;margin-top:15px;padding:8px;display:flex;overflow-x:auto}.formation-node{background:var(--cream);border:1px solid #17171133;border-radius:6px;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;min-width:max-content;padding:6px 8px;display:flex}.formation-node code,.formation-node small,.formation-arrow small{font-family:var(--mono)}.formation-node code{font-size:.5rem}.formation-node small{opacity:.48;font-size:.42rem}.formation-arrow{min-width:max-content;color:var(--blue);flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:0 2px;display:flex}.formation-arrow small{opacity:.62;font-size:.4rem}.advanced-visuals{flex:1;grid-template-columns:minmax(0,1fr) 190px;gap:12px;margin:20px 0;display:grid}.advanced-preview{align-items:stretch;min-height:230px;display:flex}.advanced-preview .preview-visualization{height:auto;min-height:230px;margin:0}.advanced-preview .preview-scene{border-radius:14px}.advanced-preview .preview-mover{width:54px;height:42px;font-size:1.1rem}.advanced-preview .preview-scale-guide,.advanced-preview .preview-orbit{width:118px;height:118px}.advanced-preview .preview-scale-object{width:90px;height:90px}.advanced-preview .preview-rotate-object{width:74px;height:74px;font-size:1.3rem}.advanced-preview .preview-color-swatch{max-width:260px;height:130px}.advanced-curve-readout{background:#ded9cd5c;border:1px solid #1717112e;border-radius:14px;flex-direction:column;min-width:0;padding:12px;display:flex}.advanced-curve-readout>span:first-child,.advanced-curve-readout>span:last-child{font-family:var(--mono);text-transform:uppercase;font-size:.48rem}.advanced-curve-readout>span:first-child{opacity:.55;justify-content:space-between;align-items:center;gap:8px;display:flex}.advanced-curve-readout>span:first-child small{color:var(--coral-dark);font-family:var(--mono);font-size:.42rem;font-weight:500}.advanced-curve-readout svg{touch-action:none;flex:1;width:100%;overflow:visible}.advanced-curve-readout>span:last-child{opacity:.42;justify-content:space-between;display:flex}.advanced-handle-lines{fill:none;stroke:var(--coral-dark);stroke-width:.7px;stroke-dasharray:2 2}.advanced-handle{cursor:grab}.advanced-workbench.dragging .advanced-handle{cursor:grabbing}.advanced-handle-hit{fill:#0000}.advanced-handle-point{fill:var(--coral);stroke:var(--cream);stroke-width:1.1px;filter:drop-shadow(0 0 .8px var(--ink))}.advanced-handle text{fill:var(--coral-dark);font-family:var(--mono);pointer-events:none;font-size:4px}#advanced-shape-editor.draggable{cursor:crosshair}.advanced-workbench.changed .advanced-curve-readout,.advanced-workbench.changed .advanced-preview .preview-scene{animation:.4s advanced-change}@keyframes advanced-change{0%{box-shadow:inset 0 0 0 0 var(--lime)}45%{box-shadow:inset 0 0 0 4px var(--lime)}to{box-shadow:inset 0 0 0 0 var(--lime)}}.advanced-samples{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:0;display:grid}.advanced-samples>div{border-right:1px solid var(--line);font-family:var(--mono);justify-content:space-between;align-items:center;gap:8px;padding:10px;font-size:.52rem;display:flex}.advanced-samples>div:last-child{border-right:0}.advanced-samples dt{opacity:.5}.advanced-samples dd{font-variant-numeric:tabular-nums;margin:0}.advanced-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}.advanced-use,.advanced-play{border:1px solid var(--ink);height:42px;font-family:var(--mono);text-transform:uppercase;cursor:pointer;border-radius:99px;justify-content:center;align-items:center;gap:8px;font-size:.55rem;display:inline-flex}.advanced-use{background:var(--lime);padding:0 15px}.advanced-play{background:var(--ink);min-width:125px;color:var(--cream);padding:0 13px}.advanced-play svg{fill:currentColor;width:13px}.advanced-play .pause-icon,.advanced-play .pause-label,.advanced-play.playing .play-icon,.advanced-play.playing .play-label{display:none}.advanced-play.playing .pause-icon,.advanced-play.playing .pause-label{display:block}html[data-autoplay=on] .advanced-play{display:none}.advanced-editor{border-left:1px solid var(--ink);background:#ded9cd;flex-direction:column;min-width:0;padding:22px;display:flex}.advanced-controls-heading,.advanced-code>div{font-family:var(--mono);text-transform:uppercase;justify-content:space-between;align-items:center;gap:16px;font-size:.55rem;display:flex}.advanced-controls-heading button,.advanced-code button{color:inherit;font-family:inherit;font-size:inherit;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:0}.advanced-controls{grid-template-columns:1fr 1fr;gap:18px 14px;margin-top:22px;display:grid}.advanced-range,.advanced-choice{flex-direction:column;gap:8px;min-width:0;display:flex}.advanced-range>span:first-child,.advanced-choice>span:first-child{justify-content:space-between;align-items:center;gap:8px;font-size:.65rem;font-weight:600;display:flex}.advanced-range output{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.56rem;font-weight:400}.advanced-range input{width:100%}.advanced-range-bounds{color:#1717116b;font-family:var(--mono);justify-content:space-between;margin-top:-5px;font-size:.45rem;display:flex}.advanced-choice select{border:1px solid var(--ink);background:var(--cream);width:100%;min-width:0;height:35px;color:inherit;font-family:var(--mono);border-radius:6px;padding:0 8px;font-size:.55rem}.advanced-code{min-width:0;margin-top:auto;padding-top:25px}.advanced-code>div{color:#f2efe794;background:#20201b;border-radius:9px 9px 0 0;padding:10px 12px}.advanced-code button{color:var(--lime)}.advanced-code pre{min-height:174px;max-height:235px;color:var(--paper);font-family:var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;background:#20201b;border-radius:0 0 9px 9px;margin:0;padding:14px;font-size:.59rem;line-height:1.6;overflow:auto}.utility-section{grid-template-columns:.65fr 1.35fr;gap:90px;width:min(100% - 48px,1240px);margin:0 auto;padding:120px 0;display:grid}.utility-section>div:first-child>p:last-child{color:#17171194;max-width:360px;margin-top:20px;line-height:1.6}.utility-list{border-top:1px solid var(--ink)}.utility-card{border-bottom:1px solid var(--ink);cursor:pointer;grid-template-columns:105px minmax(130px,1fr) auto auto;align-items:center;gap:16px;min-width:0;min-height:104px;padding:12px 6px;transition:background .16s;display:grid}.utility-card:hover,.utility-card.selected{background:var(--lime)}.utility-card>.preview-visualization{width:95px;height:64px;margin:0}.utility-copy{flex-direction:column;gap:5px;min-width:0;display:flex}.utility-card button{cursor:pointer;background:0 0}.utility-select{width:-moz-fit-content;width:fit-content;color:inherit;text-align:left;border:0;padding:0;font-size:.88rem;font-weight:600}.utility-copy code{font-family:var(--mono);color:#17171185;overflow-wrap:anywhere;font-size:.58rem}.utility-play{border:1px solid var(--ink);min-width:82px;height:38px;font-family:var(--mono);text-transform:uppercase;border-radius:99px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:.54rem;display:inline-flex}.utility-play:hover,.utility-play.playing{background:var(--ink);color:var(--cream)}.utility-play svg{fill:currentColor;width:12px}.utility-play .pause-icon,.utility-play .pause-label,.utility-play.playing .play-icon,.utility-play.playing .play-label{display:none}.utility-play.playing .pause-icon,.utility-play.playing .pause-label{display:block}.utility-apply{font-family:var(--mono);text-transform:uppercase;border:0;align-items:center;gap:8px;padding:7px 9px;font-size:.53rem;display:inline-flex}.utility-apply span{font-size:1.15rem;line-height:1}.curve-companion{z-index:30;border:1px solid var(--ink);width:min(520px,100vw - 48px);box-shadow:7px 7px 0 var(--ink);opacity:0;visibility:hidden;pointer-events:none;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fbf9f3f5;border-radius:20px;transition:width .24s,border-radius .24s,opacity .18s,transform .18s,visibility .18s;position:fixed;bottom:24px;right:24px;overflow:hidden;transform:translateY(14px)}.curve-companion.visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.curve-companion.expanded{border-radius:24px;width:min(790px,100vw - 48px)}.companion-summary{grid-template-columns:minmax(145px,1fr) 150px auto;align-items:center;gap:18px;min-height:116px;padding:16px 42px 16px 18px;display:grid}.curve-companion:not(.expanded) .companion-summary{cursor:pointer}.companion-close{z-index:2;width:32px;height:32px;color:var(--ink);cursor:pointer;background:#fbf9f3c7;border:1px solid #17171129;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:9px;right:9px}.companion-close:hover{color:var(--ink);background:#1717111a}.companion-close svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:15px}.curve-companion.expanded .companion-summary{border-bottom:1px solid var(--ink)}.companion-copy{flex-direction:column;gap:5px;min-width:0;display:flex}.companion-kicker,.companion-values{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:.55rem}.companion-kicker{color:var(--coral-dark)}.companion-copy strong{letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap;font-size:1.1rem;overflow:hidden}.companion-values{color:#1717117a;grid-template-columns:auto 42px auto 42px;justify-content:start;align-items:center;gap:5px;margin-top:3px;display:grid}.companion-values output{color:var(--ink);font-variant-numeric:tabular-nums}.companion-graph{width:100%;max-height:82px;overflow:visible}.companion-grid,.companion-reference,.companion-path{fill:none}.companion-grid{stroke:#17171129;stroke-width:.7px}.companion-reference{stroke:#1717112e;stroke-width:.8px;stroke-dasharray:2 3}.companion-path{stroke:var(--blue);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.companion-marker-ring{fill:var(--cream);stroke:var(--coral);stroke-width:1px}.companion-marker{fill:var(--coral)}.companion-actions{flex-direction:column;align-items:center;gap:9px;display:flex}.companion-play{border:1px solid var(--ink);background:var(--ink);width:42px;height:42px;color:var(--cream);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid}.companion-play svg{fill:currentColor;width:17px}.companion-play .pause-icon,.companion-play.playing .play-icon{display:none}.companion-play.playing .pause-icon{display:block}.companion-details{font-family:var(--mono);text-transform:uppercase;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;font-size:.55rem;display:inline-flex}.companion-details svg{fill:none;stroke:currentColor;stroke-width:1.4px;width:12px}.companion-details .collapse-icon,.curve-companion.expanded .companion-details .expand-icon{display:none}.curve-companion.expanded .companion-details .collapse-icon{display:block}.companion-expanded{background:var(--cream);max-height:calc(100dvh - 190px);padding:20px;display:none;overflow-y:auto}.curve-companion.expanded .companion-expanded{display:block}.companion-detail-copy{justify-content:space-between;align-items:flex-start;gap:28px;padding:0 4px 14px;display:flex}.companion-detail-copy .section-kicker{color:var(--coral-dark);margin-bottom:7px}.companion-detail-copy .curve-description{max-width:520px;min-height:0;margin:0;font-size:1.05rem}.companion-detail-grid{grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);gap:16px;display:grid}.companion-graph-detail{border:1px solid var(--ink);background:var(--cream);border-radius:12px;min-width:0;padding:8px 12px 12px;position:relative}.companion-graph-detail .main-graph{margin:0;display:block}.companion-graph-detail .graph-axis{bottom:55px;left:18px;right:18px}.companion-scrubber{align-items:center;gap:12px;padding:0 5px 3px;display:flex}.companion-scrubber .scrubber{flex:1;display:flex}.companion-scrubber output{width:44px;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.62rem}.companion-detail-grid .code-card{min-height:0;margin:0}.companion-detail-grid .code-card pre{max-height:264px}.sandbox-card{border:1px solid var(--ink);background:#ded9cd;border-radius:12px;margin-top:16px;padding:16px}.sandbox-heading{grid-template-columns:1fr minmax(220px,.8fr);align-items:end;gap:24px;margin-bottom:13px;display:grid}.sandbox-heading .section-kicker{color:var(--coral-dark);margin-bottom:5px}.sandbox-heading h3{margin:0;font-size:1.05rem}.sandbox-heading>p{color:#17171194;margin:0;font-size:.7rem;line-height:1.5}.sandbox-heading code{font-family:var(--mono);font-size:.62rem}.sandbox-card textarea{resize:vertical;border:1px solid var(--ink);color:#f6f1e6;width:100%;min-height:118px;font-family:var(--mono);tab-size:2;background:#20201b;border-radius:9px;outline:0;padding:14px;font-size:.65rem;line-height:1.65;display:block}.sandbox-card textarea:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.sandbox-actions{justify-content:space-between;align-items:flex-end;gap:18px;min-height:38px;margin-top:10px;display:flex}.sandbox-actions output{font-family:var(--mono);font-size:.55rem}.sandbox-actions output.error{color:var(--coral-dark)}.sandbox-actions button{border:1px solid var(--ink);background:var(--lime);font-family:var(--mono);text-transform:uppercase;cursor:pointer;border-radius:99px;align-items:center;gap:10px;padding:9px 13px;font-size:.56rem;display:inline-flex}footer{border-top:1px solid var(--ink);background:var(--lime);grid-template-columns:auto 1fr auto;align-items:start;gap:24px;min-height:250px;padding:36px max(24px,50vw - 620px) 150px;font-size:.8rem;display:grid}footer p{margin:0}.footer-mark{border:1px solid var(--ink);background:var(--cream);border-radius:50%;place-items:center;width:64px;height:64px;display:grid}.footer-mark svg{fill:none;width:48px;stroke:var(--coral);stroke-width:2px}.footer-note{font-family:var(--mono);text-transform:uppercase;font-size:.58rem}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.graph-panel:focus-visible{outline:3px solid var(--blue);outline-offset:-4px}@media (max-width:1100px){.curve-grid{grid-template-columns:repeat(3,1fr)}.recipe-grid{grid-template-columns:repeat(2,1fr)}.advanced-workbench{grid-template-columns:210px minmax(0,1fr)}.advanced-editor{border-top:1px solid var(--ink);border-left:0;grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(300px,.75fr);align-items:start;gap:0 30px;display:grid}.advanced-controls-heading,.advanced-controls{grid-column:1}.advanced-code{grid-area:1/2/3;margin-top:0;padding-top:0}}@media (max-width:800px){.site-header{width:min(100% - 32px,1360px)}nav>a:not(.source-link){display:none}.hero{width:min(100% - 32px,1240px);min-height:auto;padding:70px 0}.curves-section,.utility-section{width:min(100% - 32px,1240px)}.section-header{flex-direction:column;align-items:flex-start}.search-box{width:100%}.collection-toolbar{gap:22px}.playback-options{grid-template-columns:1fr 1fr}.duration-control{background:0 0;border:0;width:auto;padding:0}.sync-control{text-align:left;align-items:flex-start}.custom-timeline{grid-template-columns:1fr}.custom-timeline>code{grid-column:1}.curve-grid{grid-template-columns:repeat(2,1fr)}.workshop-intro{grid-template-columns:1fr;gap:34px;margin-bottom:42px}.workshop-section{padding-top:80px;padding-bottom:80px}.utility-section{grid-template-columns:1fr;gap:45px}.advanced-section{width:min(100% - 32px,1240px);padding-top:80px}.advanced-heading{grid-template-columns:1fr;gap:20px}.advanced-heading>p{max-width:560px}.advanced-workbench{grid-template-columns:1fr}.advanced-recipes{border-right:0;border-bottom:1px solid var(--ink);grid-template-columns:repeat(4,1fr);display:grid}.advanced-recipes button{border-right:1px solid #17171147;min-height:76px}.advanced-recipes button:nth-child(4n){border-right:0}.advanced-editor{grid-column:1;grid-template-columns:1fr}.advanced-controls-heading,.advanced-controls,.advanced-code{grid-column:1}.advanced-code{grid-row:auto;margin-top:26px}.curve-companion{left:10px;right:10px;bottom:max(10px, env(safe-area-inset-bottom));width:auto;box-shadow:4px 4px 0 var(--ink);border-radius:16px}.curve-companion.expanded{border-radius:18px;width:auto}.companion-summary{grid-template-columns:minmax(0,1fr) 90px auto;gap:10px;min-height:88px;padding:11px 40px 11px 13px}.companion-expanded{max-height:calc(100dvh - 120px);padding:16px}.companion-detail-grid{grid-template-columns:minmax(0,1fr) minmax(190px,.55fr)}.sandbox-heading{grid-template-columns:1fr 1fr}.companion-copy{gap:3px}.companion-copy strong{font-size:.96rem}.companion-values{grid-template-columns:auto 39px auto 39px;font-size:.5rem}.companion-graph{max-height:56px}.companion-actions{flex-direction:row;gap:7px}.companion-play,.companion-details{width:38px;height:38px}.companion-details{border:1px solid var(--ink);border-radius:50%;justify-content:center;font-size:0}.companion-details svg{width:14px}footer{grid-template-columns:auto 1fr;padding-bottom:120px}.footer-note{display:none}}@media (max-width:520px){h1{font-size:4.2rem}.curve-grid,.recipe-grid{grid-template-columns:1fr}.curve-card-select svg{height:100%}.curve-card-select>.preview-visualization{height:112px}.advanced-heading h2{font-size:3.45rem}.advanced-recipes{scroll-snap-type:x proximity;flex-direction:row;display:flex;overflow-x:auto}.advanced-recipes button{scroll-snap-align:start;border-bottom:0;border-right:1px solid #17171147;flex:0 0 185px;min-width:185px}.advanced-stage,.advanced-editor{padding:18px}.advanced-stage-heading{flex-direction:column-reverse;gap:12px}.advanced-stage>p{min-height:0}.advanced-preview,.advanced-preview .preview-visualization{min-height:190px}.advanced-visuals{grid-template-columns:1fr}.advanced-curve-readout{min-height:150px}.advanced-samples>div{flex-direction:column;align-items:flex-start}.advanced-actions{flex-direction:column;align-items:stretch}.advanced-use,.advanced-play{width:100%}.advanced-controls{grid-template-columns:1fr}.companion-detail-copy{gap:14px}.companion-detail-grid{grid-template-columns:1fr}.sandbox-heading{grid-template-columns:1fr;gap:8px}.companion-detail-grid .code-card pre{max-height:150px}.playback-options{grid-template-columns:1fr;gap:18px}.autoplay-control{align-items:flex-start;margin:-5px 0 0;padding:12px}.autoplay-prompt{align-items:flex-start}.autoplay-badge{display:none}.repeat-control>div{grid-template-columns:1fr 1fr;gap:6px}.repeat-control button,.repeat-control button:first-child,.repeat-control button:last-child{border:1px solid var(--ink);border-radius:7px}.repeat-control button:last-child{grid-column:1/-1}.repeat-control button small{white-space:normal}.timeline-presets{grid-template-columns:1fr}.timeline-presets button{grid-template-columns:72px minmax(0,1fr)}.utility-card{grid-template-columns:72px minmax(0,1fr) auto;gap:10px}.utility-card>.preview-visualization{width:68px;height:58px}.utility-apply{border-top:1px solid #17171133;grid-column:2/-1;justify-content:space-between;padding:7px 0}}@media (max-width:420px){.companion-summary{grid-template-columns:minmax(72px,1fr) 64px auto;gap:7px}.companion-graph{max-height:48px;display:block}.companion-values{grid-template-columns:auto 31px auto 31px;gap:3px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
