@font-face{font-family:Inter Tight;src:url(/assets/InterTight-nVVgM2Eh.woff2) format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Geist Mono;src:url(/assets/GeistMono-Tvk-k7EG.woff2) format("woff2");font-weight:100 900;font-display:swap}:root{color-scheme:light dark;--ground: light-dark(#e9e4e6, #15121a);--ground-2: light-dark(#f2eef0, #1c1822);--band: light-dark(#e0dade, #1a1620);--line: light-dark(#cfc6cc, #2f2936);--ink: light-dark(#1a1620, #ece6ee);--ink-mut: light-dark(#635b67, #93899a);--mark: light-dark(#1a1620, #ece6ee);--acc: var(--ink);--drum-kick: light-dark(#a33445, #ff7a86);--drum-snare: light-dark(#2f7a8c, #4fb4c8);--drum-hats: light-dark(#778916, #b4c840);--drum-perc: light-dark(#6b4fbf, #b29aff);--font-sans: "Inter Tight", -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--head-stretch: 100%;--head-weight: 900;--head-tracking: -.02em;--head-case: none;--button-case: uppercase;--button-tracking: .01em;--text-body: 15px;--text-ui: 14px;--text-dense: 12px;--space: 8px;--radius: 0;--hairline: 1px solid var(--line)}[data-theme=paper]{color-scheme:light}[data-theme=night]{color-scheme:dark}[data-theme]{background-color:var(--ground);color:var(--ink)}[data-category=transcribe]{--acc: light-dark(#326a7a, #7fbccc)}[data-category=transform]{--acc: light-dark(#5c4a9e, #a796e6)}[data-category=perceive]{--acc: light-dark(#5f652a, #bcc47c)}[data-category=workflow]{--acc: light-dark(#a54357, #f0919f)}@supports not (color: light-dark(#000000,#ffffff)){:root,[data-theme]{color-scheme:light}:root{--ground: #e9e4e6;--ground-2: #f2eef0;--band: #e0dade;--line: #cfc6cc;--ink: #1a1620;--ink-mut: #635b67;--mark: #1a1620;--drum-kick: #a33445;--drum-snare: #2f7a8c;--drum-hats: #778916;--drum-perc: #6b4fbf}[data-category=transcribe]{--acc: #326a7a}[data-category=transform]{--acc: #5c4a9e}[data-category=perceive]{--acc: #5f652a}[data-category=workflow]{--acc: #a54357}}.badges{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}.badge{font:500 var(--text-dense)/1.4 var(--font-mono);color:var(--ink);background:var(--ground);border:var(--hairline);padding:2px 6px}.badge a{color:inherit;text-decoration-color:var(--acc)}.badges.big .badge{font-size:13px;padding:3px 8px;background:var(--ground-2)}.labelled{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:calc(var(--space) * 2);row-gap:var(--space);align-items:baseline;margin:0}.labelled>dt{font:500 var(--text-dense)/1.4 var(--font-mono);color:var(--ink-mut);letter-spacing:.02em}.labelled>dd{margin:0}@media(max-width:480px){.labelled{grid-template-columns:minmax(0,1fr);row-gap:2px}.labelled>dd+dt{margin-top:var(--space)}}.iconbutton{--iconbutton-size: calc(var(--space) * 4);--iconbutton-glyph: 16px;box-sizing:border-box;display:inline-grid;place-items:center;flex:none;width:var(--iconbutton-size);height:var(--iconbutton-size);margin:0;padding:0;border:var(--hairline);border-radius:var(--radius);background:var(--ground-2);color:var(--ink);cursor:pointer;vertical-align:middle}.iconbutton[data-size=s]{--iconbutton-size: calc(var(--space) * 3);--iconbutton-glyph: 14px}.iconbutton .ds-icon{display:block;width:var(--iconbutton-glyph);height:var(--iconbutton-glyph);pointer-events:none}.ds-icon *{vector-effect:non-scaling-stroke}.iconbutton:hover{background:var(--band)}.iconbutton[aria-pressed=true]{border-color:var(--acc);color:var(--acc)}.iconbutton[aria-pressed=true]:hover{background:var(--ground-2)}.iconbutton:focus-visible{outline:2px solid var(--acc);outline-offset:1px}.iconbutton:disabled{cursor:default;opacity:.45}.iconbutton:disabled:hover{background:var(--ground-2)}.ds-icon{flex:none;vertical-align:-.2em}*{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--ink);font:15px/1.55 var(--font-sans);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}:root{--page: 1280px}main{max-width:var(--page);margin:0 auto;padding:0 16px 96px}a{color:var(--ink);text-underline-offset:3px}a:hover{text-decoration-color:var(--acc)}:focus-visible{outline:2px solid var(--acc);outline-offset:2px}.mut{color:var(--ink-mut)}.small{font-size:14px}code{font:.9em var(--font-mono)}.eyebrow{margin:0 0 calc(var(--space) * 2);font:500 14px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mut)}.head{margin:0;font-stretch:var(--head-stretch);font-weight:var(--head-weight);letter-spacing:var(--head-tracking);text-transform:var(--head-case);line-height:.95;text-wrap:balance}.lede{color:var(--ink-mut);font-size:1.08rem;max-width:60ch;margin:calc(var(--space) * 2.5) 0 0}.block{margin-top:calc(var(--space) * 8)}.intro{margin:0 0 calc(var(--space) * 2);max-width:60ch}.map-open{margin-top:calc(var(--space) * 12)}.prose{max-width:64ch;margin:0}button{font:inherit;color:var(--ink);background:var(--ground-2);border:var(--hairline);border-radius:var(--radius);padding:calc(var(--space) / 2) var(--space);cursor:pointer}button:hover{background:var(--band)}button[aria-pressed=true]{border-color:var(--acc);color:var(--acc)}button[aria-pressed=true]:hover{background:var(--ground-2)}.bar{background:var(--ground)}.bar-inner{max-width:var(--page);margin:0 auto;padding:calc(var(--space) * 2) 16px;display:flex;align-items:center;gap:var(--space)}.wordmark{font:700 21px/1 var(--font-mono);text-decoration:none;margin-right:auto;display:inline-flex;align-items:center;gap:10px}.wordmark-mark{display:block;width:24px;height:24px;color:var(--ink)}.wordmark-mark svg{display:block;width:100%;height:100%}.bar-link{font:500 14px/1.2 var(--font-mono);text-transform:lowercase;letter-spacing:.02em;color:var(--ink-mut);text-decoration:none}.bar-link:hover{color:var(--ink)}.bar-link .ext{margin-left:.3ch;color:var(--acc)}.hero{position:relative;margin-top:calc(var(--space) * 8)}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.hero-text{position:relative}.hero h1{font-size:clamp(2rem,6vw,3.6rem);max-width:18ch;text-transform:none}.wants{list-style:none;margin:clamp(96px,14vh,160px) 0 0;padding:0;display:grid;gap:clamp(88px,13vh,144px)}.wants>li{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,88px);align-items:center}.want{margin:0 0 calc(var(--space) * 1.5);font-size:clamp(2rem,4.2vw,3.4rem);font-weight:var(--head-weight);font-stretch:var(--head-stretch);letter-spacing:var(--head-tracking);text-transform:none;line-height:1;text-wrap:balance}.item-text h2{margin:0 0 calc(var(--space) * 2);font:600 15px/1.3 var(--font-mono);color:var(--acc)}.item-text h2 a{color:inherit;text-decoration:none}.item-text h2 a:hover{color:var(--ink)}.tool-line{font-weight:400;color:var(--ink-mut)}.item-text h2 .tool-line{margin-left:.6ch}.item-text .summary{margin:0;max-width:42ch;font-size:17px;line-height:1.6;color:var(--ink-mut)}.item-text .pending{margin:calc(var(--space) * 2.5) 0 0;font:500 14px/1.2 var(--font-mono);color:var(--ink-mut);letter-spacing:.02em}.item-ways{margin:0;font:500 15px/1.4 var(--font-mono);letter-spacing:.02em;color:var(--ink-mut)}.wants>li .want{transition:color .6s}.wants>li.arrived .want{color:var(--acc)}@media(max-width:860px){.wants>li{grid-template-columns:minmax(0,1fr);gap:calc(var(--space) * 3)}}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.wants .actions{gap:calc(var(--space) * 1) calc(var(--space) * 3);margin-top:calc(var(--space) * 2.5)}.wants .btn{min-height:32px;padding:0;border:0;border-radius:0;background:none;font:600 14px/1.2 var(--font-mono);text-transform:lowercase;letter-spacing:.02em;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-size:0 1px;background-position:0 calc(100% - 4px);transition:background-size .25s ease,color .2s}.wants .btn:hover{background-size:100% 1px}.wants .btn-try{color:var(--acc)}.wants .btn-try:hover{background-color:transparent;color:var(--acc)}.wants .btn-quiet{color:var(--ink);font-weight:500}.wants .btn .ext{color:var(--acc);margin-left:.3ch}.wants .full-coming{text-transform:lowercase;letter-spacing:.02em;font-size:14px}.wants .btn.btn-demo{padding:0 14px;border-radius:var(--radius);background:var(--acc);color:var(--ground);background-image:none;transition:filter .2s}.wants .btn.btn-demo .ext{color:inherit}.wants .btn.btn-demo:hover{background-color:var(--acc);color:var(--ground);filter:brightness(1.12)}.wants .format{font:500 14px/1.2 var(--font-mono);text-transform:lowercase;letter-spacing:.02em;color:var(--ink-mut)}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space) calc(var(--space) * 1.25);margin-top:calc(var(--space) * 3)}.btn{display:inline-flex;align-items:center;gap:.5ch;min-height:40px;padding:calc(var(--space) * .75) calc(var(--space) * 1.75);border:1px solid var(--acc);border-radius:var(--radius);font:600 14px/1.2 var(--font-mono);text-decoration:none;white-space:nowrap;text-transform:var(--button-case);letter-spacing:var(--button-tracking);transition:background-color .2s,color .2s,border-color .2s}.btn-try{background:none;color:var(--acc);border-width:2px}.btn-try:hover{background:var(--acc);color:var(--ground)}.btn-quiet{background:none;color:var(--ink);border-color:var(--line);font-weight:500}.btn-quiet:hover{border-color:var(--acc);color:var(--ink)}.btn .ext{color:var(--acc)}.btn:focus-visible{outline:2px solid var(--acc);outline-offset:3px}.full-coming{font:500 14px/1.2 var(--font-mono);color:var(--ink-mut);text-transform:var(--button-case);letter-spacing:var(--button-tracking)}.full-coming.big{display:inline-flex;align-items:center;min-height:40px;padding:calc(var(--space) * .75) calc(var(--space) * 1.75);border:1px dashed var(--acc);border-radius:var(--radius);font-size:14px;font-weight:600;color:var(--ink);text-transform:var(--button-case);letter-spacing:var(--button-tracking)}@media(prefers-reduced-motion:reduce){.btn{transition:none}}@media(min-width:1240px){.project-hero:not(.single) .btn.in-page{display:none}}.thumb.video-thumb{position:relative;aspect-ratio:1.08;border:0;background:#110d15}.video-thumb a{position:absolute;top:0;right:0;bottom:0;left:0;display:block}.thumb-cue{position:absolute;top:12px;right:12px;padding:4px 10px;border-radius:var(--radius);font:500 13px/1.3 var(--font-mono);letter-spacing:.02em;color:var(--ink-mut);background:color-mix(in srgb,var(--ground) 75%,transparent);opacity:0}.video-thumb:is(:hover,:focus-within) .thumb-cue{opacity:1}.video-thumb video{display:block;width:100%;height:100%;object-fit:contain}.focus-sound{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:56px;height:56px;padding:0;border-radius:50%;color:var(--acc);cursor:pointer;background:color-mix(in srgb,var(--ground) 80%,transparent);border:1.5px solid color-mix(in srgb,var(--acc) 70%,transparent);opacity:.85;transition:opacity .2s,background-color .2s}.focus-sound:hover,.focus-sound:focus-visible{opacity:1;background:var(--ground)}.scrub{position:absolute;left:0;right:0;bottom:0;height:18px;cursor:pointer;touch-action:none}.scrub:before,.scrub-fill{position:absolute;left:0;right:0;bottom:0;height:3px;transition:height .15s}.scrub:before{content:"";background:color-mix(in srgb,var(--ink) 16%,transparent)}.scrub-fill{display:block;background:var(--acc);transform-origin:left;transform:scaleX(0)}.scrub:is(:hover,.dragging):before,.scrub:is(:hover,.dragging) .scrub-fill{height:5px}@media(prefers-reduced-motion:reduce){.scrub:before,.scrub-fill{transition:none}}.focus-icon{display:inline-grid}.focus-icon svg{width:24px;height:24px}.stage{position:relative;display:flex;gap:2px;margin:calc(var(--space) * 4) 0 0;height:clamp(300px,46vh,520px);overflow:hidden;background:var(--stage-media);--stage-inset: 16px;--stage-media: #110d15}@media(max-width:860px){.stage{height:260px}}.band{position:relative;flex:1 1 0;min-width:6px;overflow:hidden;display:block;color:inherit;text-decoration:none;background:var(--stage-media);--stage-ink: color-mix(in srgb, var(--acc) 72%, #fff);container-type:inline-size}.band.has-still.open{background:#1c1822}.band.no-poster{background:color-mix(in srgb,var(--acc) 14%,#2a2531)}.band-poster{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;filter:brightness(.42) saturate(.7)}.band.open .band-poster{opacity:0}.band-lamp,.band-live{left:50%;width:var(--open-w, 100%);transform:translate(-50%)}.band.open .band-live{opacity:1;filter:none}.band:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(0deg,color-mix(in srgb,var(--stage-media) 70%,transparent),transparent 55%)}.band.open:after{opacity:0}.band-want{position:absolute;left:50%;bottom:var(--stage-inset);z-index:1;transform:translate(-50%) rotate(180deg);writing-mode:vertical-rl;font:12px var(--font-mono);color:var(--stage-ink);white-space:nowrap}.band.open .band-want{opacity:0}@container (max-width: 20px){.band-want{display:none}}.band-open{position:absolute;top:0;bottom:0;left:0;width:var(--open-w, 100%);opacity:0;display:flex;flex-direction:column}.band.open .band-open{opacity:1}.band-frame{flex:1;min-height:0;container-type:size;display:flex;justify-content:center;align-items:flex-start}.band-crop{position:relative;overflow:hidden;aspect-ratio:var(--media-ratio, 1.08);width:min(100cqw,100cqh * var(--media-ratio, 1.08))}.band-media{position:absolute;right:0;bottom:0;display:block;object-fit:contain;width:calc(100% / (1 - var(--crop-left, 0)));height:calc(100% / (1 - var(--crop-top, 0)))}.band-text{flex:none;align-self:flex-start;margin:var(--stage-inset);display:flex}.band-tag{margin:0;font-size:var(--tag-size, 40px);font-weight:var(--head-weight);white-space:nowrap;font-stretch:var(--head-stretch);letter-spacing:var(--head-tracking);line-height:1;color:var(--ground);background:var(--acc);display:flex;align-items:center;box-sizing:border-box;height:1.28em;padding:0 16px .07em}.band-title{margin:0;display:flex;align-items:center;padding:0 12px;white-space:nowrap;font:600 calc(var(--tag-size, 40px) * .36) var(--font-mono);background:var(--stage-media);color:var(--stage-ink)}.band-name{display:none}.stage.stacked{position:sticky;flex-direction:column;gap:0;height:auto}.stage.stacked .band.gone{border-top:0}.stage.stacked .band{flex:none;min-width:0;background:#17131c;border-top:1px solid color-mix(in srgb,#fff 9%,transparent);box-shadow:inset 3px 0 var(--acc)}.stage.stacked .band:first-child{border-top:0}.stage.stacked .band.open{background:var(--stage-media);box-shadow:none}.stage.stacked .band:not(.open) .band-poster,.stage.stacked .band:after{opacity:0}.stage.stacked :is(.band-lamp,.band-live){left:0;width:100%;height:var(--open-h, 100%);transform:none}.stage.stacked :is(.band-want,.band-name){position:absolute;z-index:1;top:24px;bottom:auto;transform:translateY(-50%);writing-mode:horizontal-tb;white-space:nowrap}.stage.stacked .band-want{left:calc(var(--stage-inset) + 3px);font-size:13px}.stage.stacked .band-name{display:block;right:var(--stage-inset);font:11px var(--font-mono);color:color-mix(in srgb,var(--stage-ink) 60%,transparent)}.stage.stacked .band.open .band-name{opacity:0}.stage.stacked .band.part{background:var(--stage-media);box-shadow:none}.stage.stacked .band.part .band-open{opacity:1}.stage.stacked .band.part :is(.band-want,.band-name){opacity:0}.stage.stacked .band-open{right:0;bottom:auto;width:auto;height:var(--open-h, 100%)}.stage.stacked .band-frame{align-items:center}.stage.stacked .band-title:after{content:"→";margin-left:.5em}.thumb{border:var(--hairline);background:var(--ground-2);overflow:hidden}.map{position:relative}.map canvas{display:block;width:100%;touch-action:pan-y}@media(max-width:760px){.map{overflow-x:auto;overflow-y:hidden}.map canvas{min-width:720px}}.fromto{margin:0;color:var(--ink-mut)}.fromto .arrow{color:var(--acc);font-weight:700}.badges.big,.labelled.big{margin-top:calc(var(--space) * 2.5)}.labelled>dt{font-size:14px;text-transform:var(--button-case);letter-spacing:.04em}.labelled.details>dt:not(.fold){text-transform:none;letter-spacing:normal}.labelled.details>dd{font-size:15px;line-height:1.45;color:var(--ink-mut)}.head-top{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--space) * 2);flex-wrap:wrap}.full-versions{display:flex;flex-wrap:wrap;gap:var(--space)}.btn-try .ext{color:inherit}.term{position:relative;text-decoration:underline dotted var(--acc);text-underline-offset:4px;cursor:help}.term:focus-visible{outline:2px solid var(--acc);outline-offset:2px}.term-note{position:absolute;left:0;bottom:calc(100% + 8px);z-index:3;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space);width:max-content;max-width:min(36ch,80vw);padding:var(--space) calc(var(--space) * 1.5);background:var(--ground-2);border:var(--hairline);border-radius:var(--radius);font:400 .9rem/1.4 var(--font-sans);letter-spacing:normal;text-transform:none;color:var(--ink);display:none;translate:var(--shift, 0) 0}.term-note:after{content:"";position:absolute;left:0;right:0;top:100%;height:10px}.term-note img{width:100%;max-width:32ch;border-radius:var(--radius)}.term:is(:hover,:focus-within) .term-note{display:flex;animation:term-in .2s ease-in-out}@keyframes term-in{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.term:is(:hover,:focus-within) .term-note{animation:none}}.head.has-full{cursor:default}.head.has-full .long{display:none}.head.has-full:is(:hover,:focus-visible) .short{display:none}.head.has-full:is(:hover,:focus-visible) .long{display:inline}.head.has-full:focus-visible{outline:2px solid var(--acc);outline-offset:4px}.full-name{margin:calc(var(--space) * .75) 0 0;font:400 1rem var(--font-mono);color:var(--ink-mut)}main>.back{margin-top:calc(var(--space) * 4)}.project-hero{margin-top:0}.project-hero:not(.single){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.65fr);column-gap:calc(var(--space) * 6);row-gap:calc(var(--space) * 4);align-items:start}@media(max-width:1239px){.project-hero:not(.single){grid-template-columns:minmax(0,1fr)}}.demo-wide{margin-top:calc(var(--space) * 8);padding:calc(var(--space) * 3);background:var(--ground-2);border:var(--hairline);border-radius:var(--radius)}@media(max-width:720px){.demo-wide{padding:calc(var(--space) * 1.5)}}.demo-wide .live,.demo-wide iframe{width:100%}.lamp-wide{margin:calc(var(--space) * 4) 0;height:clamp(320px,38vw,480px);border:var(--hairline);background:var(--ground-2)}@media(max-width:720px){.lamp-wide{height:300px;margin:calc(var(--space) * 2.5) 0}}.lamp-wide canvas:focus-visible{outline:2px solid var(--acc);outline-offset:-2px}.labelled.details>dd:not(.fold){max-width:56ch}.labelled.details>dt.fold{cursor:default}.labelled.details>dt.fold:after{content:" ›";color:var(--acc)}.labelled.details>dd.fold{max-width:0;overflow:hidden;white-space:nowrap;opacity:0;transition:max-width .45s ease-in-out,opacity .35s ease-in-out}.labelled.details>dd.fold .badges{flex-wrap:nowrap}.labelled.details>dt.fold:is(:hover,:focus-visible)+dd.fold,.labelled.details>dd.fold:hover{max-width:60rem;opacity:1}.labelled.details>dd.fold{min-width:0}.labelled.details>dt.fold:after{transition:opacity .35s ease-in-out}.labelled.details>dt.fold:is(:hover,:focus-visible):after{opacity:0}@media(hover:none),(max-width:480px){.labelled.details>dd.fold{max-width:none;opacity:1;white-space:normal}.labelled.details>dd.fold .badges{flex-wrap:wrap}.labelled.details>dt.fold:after{content:""}}@media(prefers-reduced-motion:reduce){.labelled.details>dd.fold{transition:none}}.project-hero .page-head{container-type:inline-size}.project-hero .page-head h1{font-size:clamp(1.8rem,calc(118cqi / var(--chars, 8)),4rem)}.highlights{list-style:none;margin:calc(var(--space) * 3) 0 0;padding:0;max-width:40ch}.highlights li{position:relative;padding:calc(var(--space) * .75) 0 calc(var(--space) * .75) calc(var(--space) * 2.5)}.highlights li:before{content:"";position:absolute;left:0;top:calc(var(--space) * .75 + .78em);width:10px;height:2px;background:var(--acc)}.highlights a{text-decoration:none}.highlights a:hover{text-decoration:underline;text-decoration-color:var(--acc)}.beat{margin-top:calc(var(--space) * 8)}.beat-text .prose{margin:0;max-width:52ch}.beat.wide .beat-text{margin-bottom:calc(var(--space) * 2.5)}.beat.beside{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:calc(var(--space) * 4);align-items:center}.beat.beside.flip{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.beat.beside.flip>.beat-text{order:2}@media(max-width:720px){.beat.beside,.beat.beside.flip{grid-template-columns:1fr;gap:calc(var(--space) * 2)}.beat.beside.flip>.beat-text{order:0}}.beat-rail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:calc(var(--space) * 4);align-items:center}.rail-list{list-style:none;margin:0;padding:0;display:grid;gap:calc(var(--space) * 3)}.rail-item{display:block;width:100%;padding:0 0 0 calc(var(--space) * 2);border:0;border-left:2px solid transparent;background:none;text-align:left;font:inherit;color:var(--ink-mut);cursor:pointer}.rail-item .beat-line{display:block}.rail-item:hover{color:var(--ink);background:none}.rail-item[aria-pressed=true]{color:var(--ink);border-left-color:var(--acc);background:none}.rail-item:focus-visible{outline:2px solid var(--acc);outline-offset:4px}.rail-line{color:var(--ink)}.rail-line .beat-line{display:block}.rail-stage{display:grid;justify-items:center}.rail-pane[hidden]{display:none}.rail-pane:has(>.clip){width:100%}@media(max-width:720px){.beat-rail{grid-template-columns:1fr;gap:calc(var(--space) * 2.5)}.rail-list{gap:calc(var(--space) * 1.5)}}.keys{display:grid;grid-template-columns:max-content 1fr;margin:0;border-top:var(--hairline)}.keys dt,.keys dd{margin:0;padding:calc(var(--space) * 1.25) var(--space);border-bottom:var(--hairline)}.keys dt code{font:600 15px var(--font-mono);color:var(--acc)}.keys dd{color:var(--ink-mut)}.section-title{margin:0 0 calc(var(--space) * 2);font-size:clamp(1.25rem,2.8vw,1.6rem);font-weight:700;font-stretch:var(--head-stretch);letter-spacing:var(--head-tracking);line-height:1.15}.beat-line{margin:0;max-width:34ch;font-size:clamp(1.25rem,2.6vw,1.55rem);font-weight:600;font-stretch:var(--head-stretch);letter-spacing:var(--head-tracking);line-height:1.25;text-wrap:balance}.beat.wide .beat-text:has(.beat-line){margin-bottom:calc(var(--space) * 2.5)}.back{display:inline-block;margin-bottom:calc(var(--space) * 4);font:14px var(--font-mono);color:var(--ink-mut)}.page-head h1{font-size:clamp(2.4rem,8vw,4.4rem)}.fromto.big{margin-top:calc(var(--space) * 2);font-size:1.2rem;color:var(--ink)}.tool-line.big{margin:calc(var(--space) * 1.5) 0 0;font:400 1.05rem var(--font-mono)}.site-link{display:inline-block;margin-top:calc(var(--space) * 3);padding:var(--space) calc(var(--space) * 2);background:var(--ink);color:var(--ground);font-weight:600;text-decoration:none}a.site-link:hover{background:var(--acc);color:var(--ground)}.site-link.pending{background:none;color:var(--ink-mut);border:1px dashed var(--ink-mut);font:14px var(--font-mono)}.slot{display:grid;place-items:center;min-height:120px;padding:calc(var(--space) * 2);border:1px dashed var(--ink-mut);font:14px var(--font-mono);color:var(--ink-mut);text-align:center}.slot.tall{aspect-ratio:16 / 9;min-height:0}.slot.slim{min-height:0;padding:calc(var(--space) * 1.25);max-width:420px}.live{scroll-margin-top:calc(var(--space) * 3)}@media(min-width:1240px){.live{scroll-margin-top:100vh}}.live iframe,.clip iframe{display:block;width:100%;border:0;background:transparent;color-scheme:inherit}.live p{margin:var(--space) 0 0;padding-left:4px}.player{margin:0}.player.portrait{width:auto;justify-self:center}.player.portrait video{width:auto;max-width:100%;max-height:min(78vh,1040px)}.player-frame{position:relative;border:var(--hairline);border-bottom:0;background:var(--ground-2)}.player-frame video{display:block;width:100%;height:auto;cursor:pointer}.player-big{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:64px;height:64px;display:grid;place-items:center;padding:0;background:var(--ground);color:var(--ink);border:var(--hairline);cursor:pointer;transition:opacity .2s,color .15s,border-color .15s}.player-big:hover{color:var(--acc);border-color:var(--acc)}.player-big .player-icon svg{width:22px;height:22px}.player.playing .player-big{opacity:0;pointer-events:none}.player-bar{display:flex;align-items:center;gap:var(--space);height:40px;padding:0 var(--space);border:var(--hairline);font:12px var(--font-mono);color:var(--ink-mut);text-transform:var(--button-case);letter-spacing:var(--button-tracking)}.player-btn{display:grid;place-items:center;flex:none;width:28px;height:28px;padding:0;background:none;border:0;color:var(--ink);cursor:pointer}.player-btn:hover{color:var(--acc)}.player-icon{display:inline-grid}.player-icon svg{width:16px;height:16px}.player-track{position:relative;flex:1;height:24px;cursor:pointer;touch-action:none}.player-track:before,.player-fill{content:"";position:absolute;left:0;top:50%;height:2px;margin-top:-1px}.player-track:before{right:0;background:var(--line)}.player-fill{width:0;background:var(--acc)}.player-time{flex:none;font-variant-numeric:tabular-nums}.player-silent{display:inline-flex;flex:none;align-items:center;gap:6px}.player-silent svg{width:14px;height:14px}.player-big:focus-visible,.player-btn:focus-visible,.player-track:focus-visible{outline:2px solid var(--acc);outline-offset:2px}.player:fullscreen{display:flex;flex-direction:column;justify-content:center;background:var(--ground)}.player:fullscreen .player-frame video{max-height:calc(100vh - 40px);object-fit:contain}.shot img{display:block;width:100%;height:auto;border:var(--hairline)}.shots{display:grid;gap:calc(var(--space) * 2);grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.shots figure{margin:0}.shots img{display:block;width:100%;border:var(--hairline)}.shots figcaption{margin-top:var(--space);font-size:14px;color:var(--ink-mut)}.for-night{display:none!important}@media(prefers-color-scheme:dark){:root:not([data-theme=paper]) .for-night{display:block!important}:root:not([data-theme=paper]) .for-paper{display:none!important}}:root[data-theme=night] .for-night{display:block!important}:root[data-theme=night] .for-paper{display:none!important}.flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));border-top:var(--hairline);border-left:var(--hairline);counter-reset:none}.flow li{position:relative;display:flex;flex-direction:column;gap:6px;padding:calc(var(--space) * 2);border-right:var(--hairline);border-bottom:var(--hairline);background:var(--ground-2);font-size:14px}.flow .step-n{font:600 12px var(--font-mono);color:var(--acc)}.flow strong{font-stretch:var(--head-stretch)}.flow-lamp .lamp-flow{height:clamp(260px,28vw,380px);border:var(--hairline);border-bottom:0;background:var(--ground-2)}.flow-lamp .lamp-flow canvas:focus-visible{outline:2px solid var(--acc);outline-offset:-2px}.flow-lamp{overflow-x:auto}.flow-lamp .flow{grid-template-columns:repeat(6,minmax(0,1fr))}@media(max-width:800px){.flow-lamp>*{min-width:760px}.flow-lamp .lamp-flow canvas{touch-action:pan-x pan-y!important}}.flow-lamp .flow li{transition:background-color .25s ease-in-out}.flow-lamp .flow li.lit{background:color-mix(in srgb,var(--acc) 6%,var(--ground-2))}.flow-lamp .flow li.lit strong{color:var(--acc)}@media(prefers-reduced-motion:reduce){.flow-lamp .flow li{transition:none}}.facts{display:grid;grid-template-columns:max-content 1fr;gap:var(--space) calc(var(--space) * 3);margin:0}.facts dt{font:500 14px/1.6 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mut)}.facts dd{margin:0}@media(max-width:560px){.facts{grid-template-columns:1fr;gap:2px}.facts dd{margin-bottom:var(--space)}}
