:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--color-bg:var(--lightningcss-light,#f4f1e8)var(--lightningcss-dark,#080c18);--color-surface:var(--lightningcss-light,#fffdf8)var(--lightningcss-dark,#11182a);--color-surface-raised:var(--lightningcss-light,#e8e2d6)var(--lightningcss-dark,#18233a);--color-text:var(--lightningcss-light,#172033)var(--lightningcss-dark,#f7f7f2);--color-text-muted:var(--lightningcss-light,#3c4a60)var(--lightningcss-dark,#b9c2d6);--color-route:var(--lightningcss-light,#0c6b64)var(--lightningcss-dark,#53e6d8);--color-music:var(--lightningcss-light,#5536b0)var(--lightningcss-dark,#a78bfa);--color-event:var(--lightningcss-light,#8a4b00)var(--lightningcss-dark,#ffb45c);--color-pause:var(--lightningcss-light,#1a4e96)var(--lightningcss-dark,#73b7ff);--color-coral:var(--lightningcss-light,#b4232a)var(--lightningcss-dark,#ff6b6b);--color-on-signal:var(--lightningcss-light,#f8f5ee)var(--lightningcss-dark,#0c1220);--color-line:var(--lightningcss-light,#6f675c)var(--lightningcss-dark,#5c6e90);--color-focus:var(--lightningcss-light,#172033)var(--lightningcss-dark,#f7f7f2);--color-warning:var(--lightningcss-light,#8c241c)var(--lightningcss-dark,#ffb4a8);--color-contour:var(--lightningcss-light,#c3b6a4)var(--lightningcss-dark,#23334c);--color-mint:var(--color-route);--color-mint-ink:var(--color-on-signal);--color-amber:var(--color-event);--color-coral-ink:var(--color-on-signal);--font-sans:system-ui, "Segoe UI", sans-serif;--font-size-1:.875rem;--font-size-2:1rem;--font-size-3:1.25rem;--font-size-4:2rem;--font-size-display:clamp(2rem, 1.2rem + 2.4vw, 2.75rem);--tracking-display:-.02em;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:48px;--space-6:64px;--radius-1:12px;--radius-2:16px;--border-width:1px;--shadow-raised:0 12px 32px var(--lightningcss-light,#1720331f)var(--lightningcss-dark,#00000073);--duration-fast:.16s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--touch:max(44px, 2.75rem);--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--ink:var(--color-bg);--ink-raised:var(--color-surface);--line:var(--color-line);--text:var(--color-text);--text-muted:var(--color-text-muted);--mint:var(--color-route);--gold:var(--color-event);--focus:var(--color-focus);--danger:var(--color-warning);--font-mono:ui-monospace, "Cascadia Code", "Segoe UI Mono", monospace}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{font-family:var(--font-sans);font-size:var(--font-size-2);background:var(--color-bg);color:var(--color-text);line-height:1.5}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell{min-height:100svh;padding-top:var(--safe-top);padding-right:var(--safe-right);padding-bottom:var(--safe-bottom);padding-left:var(--safe-left);background-color:var(--color-bg);position:relative}.app-shell:before{content:"";z-index:0;pointer-events:none;background:var(--color-contour);position:absolute;inset:0;-webkit-mask:url(/brand/contours.svg) top/min(1200px,140%) no-repeat;mask:url(/brand/contours.svg) top/min(1200px,140%) no-repeat}.app-header,.app-main{z-index:1;position:relative}.app-header{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2);border-bottom:1px solid var(--line);background:var(--color-bg);flex-wrap:wrap;display:flex}.brand{align-items:center;gap:var(--space-1);min-height:48px;color:var(--text);font-size:1.125rem;font-weight:700;text-decoration:none;display:inline-flex}.header-actions{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.app-header .ui-button{min-height:max(48px,3rem)}.app-main{width:min(100% - var(--space-4), 56rem);padding:var(--space-3) 0 var(--space-5);gap:var(--space-3);margin:0 auto;display:grid}h1,h2,h3,p{margin:0}.app-main a:not(.action){color:var(--text)}h1{font-size:var(--font-size-display);letter-spacing:var(--tracking-display);line-height:1.15}h2{letter-spacing:-.01em;font-size:1.25rem;line-height:1.3}figcaption{color:var(--color-text-muted);font-size:var(--font-size-1)}.lede,.muted{color:var(--text-muted)}.actions{gap:var(--space-1);flex-wrap:wrap;display:flex}.action{min-height:var(--touch);padding:var(--space-1) var(--space-2);background:var(--color-route);color:var(--color-on-signal);font:inherit;align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.action.secondary{color:var(--text);border:1px solid var(--line);background:0 0;font-weight:600}.panel,.notice{gap:var(--space-2);padding:var(--space-2);background:var(--ink-raised);border:1px solid var(--line);display:grid}.notice{border-color:var(--danger)}.notice ul{padding-left:var(--space-3);margin:0}.ui-catalog{gap:var(--space-3);padding-bottom:var(--safe-bottom);display:grid}.ui-button{min-height:var(--touch);justify-content:center;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border:var(--border-width) solid transparent;border-radius:var(--radius-1);font:inherit;text-align:center;cursor:pointer;transition:transform var(--duration-fast) var(--ease-standard);font-weight:700;display:inline-flex}.ui-button:active:not(:disabled){transform:scale(.98)}.ui-button:disabled{cursor:not-allowed;background:var(--color-surface);color:var(--color-text-muted);border-color:var(--color-line)}.ui-button-primary{background:var(--color-route);color:var(--color-on-signal)}.ui-button-playback{background:var(--color-music);color:var(--color-on-signal)}.ui-button-secondary{color:var(--color-text);border-color:var(--color-line);background:0 0;font-weight:600}.ui-button-quiet{min-height:var(--touch);color:var(--color-text);text-underline-offset:4px;background:0 0;border-color:#0000;font-weight:600;text-decoration:underline}.ui-button-destructive{background:var(--color-coral);color:var(--color-on-signal)}.ui-icon-button{width:var(--touch);background:var(--color-surface);color:var(--color-text);border-color:var(--color-line);padding:0}.ui-hold{width:100%;position:relative}.ui-hold-track{border-radius:inherit;pointer-events:none;position:absolute;inset:0;overflow:hidden}.ui-hold-fill{transform-origin:0;background:#ffffff47;width:100%;height:100%;display:block}.ui-hold{touch-action:none}.ui-hold-ring{flex:none;width:28px;height:28px}.ui-hold-ring-track,.ui-hold-ring-progress{fill:none;stroke-width:3px}.ui-hold-ring-track{stroke:#ffffff59}.ui-hold-ring-progress{stroke:currentColor;stroke-linecap:round;transform-origin:22px 22px;transform:rotate(-90deg)}.ui-card,.ui-alert,.ui-disclosure-panel{gap:var(--space-2);padding:var(--space-2);border:var(--border-width) solid var(--color-line);border-radius:var(--radius-1);background:var(--color-surface);display:grid}.ui-alert{border-color:var(--color-warning)}.ui-card-raised{background:var(--color-surface-raised);box-shadow:var(--shadow-raised)}.ui-chip{width:fit-content;max-width:100%;min-height:var(--touch);padding:0 var(--space-2);border:var(--border-width) solid var(--color-line);border-radius:var(--radius-1);background:var(--color-surface);align-items:center;margin:0;display:inline-flex}.ui-chip-music{border-color:var(--color-music)}.ui-chip-live{border-color:var(--color-route)}.ui-chip-event{border-color:var(--color-event)}.ui-chip-pause{border-color:var(--color-pause)}.ui-sheet{width:min(100% - var(--space-4), 28rem);max-height:80vh;margin:auto auto var(--safe-bottom);padding:var(--space-3);border:var(--border-width) solid var(--color-line);border-radius:var(--radius-2) var(--radius-2) 0 0;background:var(--color-surface);color:var(--color-text)}.ui-sheet::backdrop{background:#080c18b8}.ui-disclosure{gap:var(--space-2);display:grid}.ui-skeleton{height:var(--touch);border-radius:var(--radius-1);background:var(--color-surface-raised)}.ui-recording{align-items:center;gap:var(--space-1);min-height:var(--touch);margin:0;font-weight:700;display:flex}.ui-recording-dot{background:var(--color-route);border-radius:999px;width:12px;height:12px}@media (prefers-reduced-motion:no-preference){.ui-recording-dot{animation:ui-pulse 1.4s var(--ease-standard) infinite;animation-play-state:paused}html:not(.is-background) .ui-recording.is-onstage .ui-recording-dot{animation-play-state:running}}.ui-timer{min-height:var(--touch);font-variant-numeric:tabular-nums;letter-spacing:0;margin:0;font-size:clamp(2rem,1.25rem + 2vw,3.25rem);font-weight:700}.ui-route,.ui-wave{gap:var(--space-1);margin:0;display:grid}.ui-route svg,.ui-wave svg{max-width:100%;height:auto;display:block}.ui-logo{max-width:100%;display:block}.ui-route-line{fill:none;stroke:var(--color-route);stroke-width:3px;stroke-linecap:round}.ui-route-line.is-paused{stroke:var(--color-pause);stroke-dasharray:7 6}.trace-signature{stroke:url(#hero-trace)}.ui-waypoint{fill:var(--color-route)}.ui-beat{fill:var(--color-event)}.ui-wave rect,.ui-wave-bar{fill:var(--color-music)}.ui-visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes ui-pulse{0%,to{opacity:1}50%{opacity:.35}}.journey{gap:var(--space-4);display:grid}.recording-view{gap:var(--space-3);flex-direction:column;min-height:calc(100svh - 7rem);display:flex}.journey-hero,.journey-copy,.journey-close{gap:var(--space-3);display:grid}.hero-figure,.practice-route{gap:var(--space-1);margin:0;display:grid}.hero-figure svg,.moment-card svg,.practice-route svg{width:100%;max-width:100%;height:auto;display:block}.bento{gap:var(--space-2);margin:var(--space-3) 0 0;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));padding:0;list-style:none;display:grid}.bento>li,.bento>article{gap:var(--space-1);padding:var(--space-2);border:var(--border-width) solid var(--color-line);border-radius:var(--radius-1);background:var(--color-surface);align-content:start;display:grid}.moment-cards{gap:var(--space-2);margin-top:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));display:grid}.moment-card{gap:var(--space-1);padding:var(--space-2);border:var(--border-width) solid var(--color-line);border-radius:var(--radius-1);background:var(--color-surface);align-content:start;display:grid}.moment-align{stroke:var(--color-event);stroke-width:1.5px;stroke-dasharray:3 4}.moment-contour{fill:none;stroke:var(--color-music);stroke-width:3px;stroke-linejoin:round;stroke-linecap:round}.moment-silence{stroke:var(--color-text-muted);stroke-width:3px;stroke-linecap:round}.moment-sample{fill:var(--color-route)}.moment-card .ui-button[aria-pressed=true]{border-color:var(--color-event)}.ui-sheet .ui-button,.journey .ui-button,.recording-view .ui-button,.recording-view .ui-hold{min-height:max(48px,3rem)}.walk-dock{z-index:2;gap:var(--space-1);padding:var(--space-2) 0 calc(var(--space-2) + var(--safe-bottom));border-top:var(--border-width) solid var(--color-line);background:var(--color-bg);margin-top:auto;display:grid;position:sticky;bottom:0}.practice-route-line{fill:none}.practice-break{fill:none;stroke:var(--color-pause);stroke-width:3px;stroke-dasharray:2 4;stroke-linecap:round}@media (width>=64rem){.journey-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center}}.stack{gap:var(--space-3);display:grid}.route-figure{gap:var(--space-2);padding:var(--space-2);border:var(--border-width) solid var(--color-line);border-radius:var(--radius-2);background:var(--color-surface);margin:0;display:grid}.route-figure svg{background:0 0;width:min(100%,26rem);height:auto;margin-inline:auto;display:block}.route-path{fill:none;stroke:var(--color-route);stroke-width:2.2px;stroke-linejoin:round;stroke-linecap:round}.cover-signature{stroke:var(--color-route)}.route-turn{fill:var(--color-event)}.route-pause{fill:none;stroke:var(--color-pause);stroke-width:.7px}.route-start{fill:var(--color-route)}.route-end{fill:none;stroke:var(--color-route);stroke-width:.7px}.route-pace{fill:var(--color-event)}.route-cursor{fill:var(--color-bg);stroke:var(--color-music);stroke-width:.7px}.player-controls{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.scrubber{width:100%;min-height:var(--touch);accent-color:var(--color-music)}.graph-track{height:var(--space-3);border-radius:var(--radius-1);background:var(--color-surface-raised);border:1px solid var(--line);position:relative;overflow:hidden}.graph-playhead{background:var(--color-music);width:2px;position:absolute;top:0;bottom:0}.chapter-row{gap:var(--space-1);flex-wrap:wrap;display:flex}.chapter-row>span{padding:var(--space-1);background:var(--ink-raised);border:1px solid var(--line)}.chapter-row>span.is-active,.mapping-list button.is-active,.story-list li.is-active button{border-color:var(--color-event);background:var(--color-surface-raised);position:relative}.chapter-row>span.is-active:before,.mapping-list button.is-active:before,.story-list li.is-active button:before{content:"";background:linear-gradient(var(--color-route), var(--color-music), var(--color-event));pointer-events:none;width:3px;position:absolute;top:0;bottom:0;left:0}.mapping-list,.story-list{gap:var(--space-1);display:grid}.mapping-list button,.story-list button{width:100%;min-height:var(--touch);justify-content:space-between;gap:var(--space-1);padding:var(--space-2);border:1px solid var(--line);background:var(--ink-raised);color:inherit;font:inherit;text-align:left;flex-wrap:wrap;display:flex}.story-list,.mapping-list{margin:0;padding:0;list-style:none}.story-list li{display:block}.panel ul,.notice ol,.panel ol{padding-left:var(--space-3);margin:0}.mapping-list time,.story-list time,.mono{font-family:var(--font-mono)}.share-link{gap:var(--space-2);display:grid}.share-link input{width:100%;min-height:44px;padding:var(--space-2);border:var(--border-width) solid var(--color-line);border-radius:var(--radius-2);background:var(--color-surface);color:var(--color-ink);font:inherit}.studio{gap:var(--space-3);min-width:0;display:grid}.studio-layout,.studio-stage,.studio-story,.studio-hero,.generation-panel{gap:var(--space-2);min-width:0;display:grid}.studio-identity{gap:var(--space-2);align-content:start;min-width:0;display:grid}.studio-cover{aspect-ratio:16/10;border:1px solid var(--line);border-radius:var(--radius-2);background:var(--color-surface-raised);width:100%;max-height:11rem;transition:box-shadow var(--duration-fast) var(--ease-standard);overflow:hidden}.studio.is-playing .studio-cover{box-shadow:0 0 28px color-mix(in srgb, var(--color-music) 42%, transparent)}.moment-wave{transform-origin:bottom;transition:transform var(--duration-fast) var(--ease-standard)}.studio.is-playing .moment-card.is-active .moment-wave{transform:scaleY(1.25)}.studio.is-playing .scrubber{filter:drop-shadow(0 0 6px color-mix(in srgb, var(--color-music) 70%, transparent))}.studio-cover svg{width:100%;height:100%;display:block}.studio-clock{font-variant-numeric:tabular-nums;font-size:var(--font-size-3)}.generation-panel{padding:var(--space-3);background:var(--color-surface);border:1px solid var(--line);border-left:3px solid var(--color-music);border-radius:var(--radius-2)}a.ui-button{text-decoration:none}.studio audio{width:1px;height:1px;position:absolute;overflow:hidden}.mini-player{display:none}@media (width<=47.99rem){.mini-player{z-index:3;left:var(--space-2);right:var(--space-2);bottom:calc(var(--space-2) + var(--safe-bottom));gap:var(--space-1) var(--space-2);padding:var(--space-1) var(--space-2);border:var(--border-width) solid var(--color-line);border-radius:var(--radius-2);background:var(--color-surface);grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid;position:fixed}.mini-player p{grid-column:1/-1;min-width:0}.studio:has(.mini-player){padding-bottom:calc(6rem + var(--safe-bottom))}}@media (width>=48rem){.studio-hero{grid-template-columns:minmax(12rem,18rem) minmax(0,1fr);align-items:center}.studio-cover{aspect-ratio:1;max-height:22rem}}@media (width>=64rem){.studio-layout{max-width:52rem}}html.is-background .studio-cover,html.is-background .moment-wave,html.is-background .scrubber{transition:none}@media (prefers-reduced-motion:no-preference){.generation-stage{animation:stage-enter var(--duration-fast) var(--ease-standard)}.studio-result{animation:result-ready var(--duration-fast) var(--ease-standard) 1}html.is-background .studio-result,html.is-background .generation-stage{animation-play-state:paused}}@keyframes stage-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes result-ready{0%{opacity:.94;transform:translateY(4px)}to{opacity:1;transform:none}}.walk-title-row{align-items:center;gap:var(--space-2);display:flex}.glance-grid{gap:var(--space-2);grid-template-columns:1fr 1fr;margin:0;display:grid}.glance-tile{padding:var(--space-2);background:var(--color-surface);border:1px solid var(--line);border-radius:var(--radius-1);margin:0}.glance-tile dt{color:var(--color-text-muted);font-size:var(--font-size-1)}.glance-tile dd{font-size:var(--font-size-3);font-variant-numeric:tabular-nums;margin:0}.glance-active{border-top:3px solid var(--color-route)}.glance-elapsed{border-top:3px solid var(--color-text-muted)}.glance-distance{border-top:3px solid var(--color-route)}.glance-moments{border-top:3px solid var(--color-event)}.route-figure{position:relative}.route-layer{grid-area:1/1}.route-gap{fill:none;stroke-width:1.4px;stroke-linecap:round}.route-gap[data-kind=break]{stroke:var(--color-pause);stroke-dasharray:2 2}.route-gap[data-kind=uncertain]{stroke:var(--color-line);stroke-dasharray:.8 1.6}.route-loop{fill:none;stroke:var(--color-music);stroke-width:.7px}.route-path[data-pace=steady]{stroke:var(--color-music)}.route-path[data-pace=energetic]{stroke:var(--color-event)}.route-path[data-pace=uncertain]{stroke:var(--color-line)}.route-marker{cursor:pointer}.journey-stage{padding:var(--space-2);border:var(--border-width) solid var(--color-line);border-radius:var(--radius-2);background:var(--color-surface)}.journey-stage .route-figure{background:0 0;border:0;padding:0}.journey-stage .route-figure svg{width:min(100%,36rem)}.now-playing{font-weight:700}.route-marker.is-current .route-turn,.route-marker.is-current .route-pace,.route-marker.is-current .route-pause,.route-marker.is-current .route-loop{stroke:var(--color-text);stroke-width:1.2px}.ribbon{border:1px solid var(--line);border-radius:var(--radius-1);background:var(--color-surface);height:4.5rem;position:relative;overflow:hidden}.ribbon-band,.ribbon-chapter,.ribbon-event,.ribbon .graph-playhead{position:absolute}.ribbon-band{bottom:0}.ribbon-segment{background:var(--color-route)}.ribbon-break{background:var(--color-pause)}.ribbon-uncertain{background:repeating-linear-gradient(135deg, var(--color-line) 0 2px, transparent 2px 6px)}.ribbon-chapter{background:var(--color-text-muted);width:1px;top:0;bottom:0}.ribbon-event{background:var(--color-event);width:8px;height:8px;margin-left:-4px;top:6px}.ribbon-event.is-current{outline:2px solid var(--color-text);outline-offset:2px}.ribbon-scale,.ribbon-readout{margin:var(--space-1) 0 0;color:var(--color-text);font-size:var(--font-size-1);font-variant-numeric:tabular-nums;padding:0}.ribbon-scale{justify-content:space-between;gap:var(--space-1);list-style:none;display:flex}.ribbon-readout{gap:var(--space-1);padding-left:1.2rem;display:grid}.mapping-list button.moment-card{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.moment-glyph{width:2rem;height:2rem}.moment-wave{fill:var(--color-music)}.moment-copy{gap:2px;display:grid}.composition-list{gap:var(--space-2);grid-template-columns:1fr 1fr;margin:0;padding:0;list-style:none;display:grid}.composition-track{height:1.75rem;margin-top:var(--space-1);border-radius:var(--radius-1);background:var(--color-surface-raised);display:block;overflow:hidden}.composition-fill{border-radius:inherit;background:var(--color-music);height:100%;display:block}.composition-turn,.composition-pace_change{background:var(--color-event)}.composition-pause{background:var(--color-pause)}.composition-loop{background:var(--color-route)}.walker-head,.walker-body,.walker-arm,.walker-leg{fill:none;stroke:var(--color-text);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.generation-figure svg{width:min(100%,18rem);height:auto;display:block}.generation-cover{fill:var(--color-surface-raised);stroke:var(--color-line)}.generation-route{fill:none}@media (width>=64rem){.glance-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (prefers-reduced-motion:no-preference){.studio-cover .cover-signature{stroke-dasharray:100;stroke-dashoffset:100px;animation:route-draw .7s var(--ease-standard) 1 forwards}.route-marker.is-live{animation:event-pulse .4s var(--ease-standard) 1}.now-playing{animation:text-settle var(--duration-fast) var(--ease-standard) 1}html.is-background .studio-cover .cover-signature,html.is-background .route-marker.is-live,html.is-background .now-playing{animation-play-state:paused}.walker-ready .walker-leg-a,.walker-ready .walker-leg-b{transform-box:fill-box;transform-origin:50%;animation:walker-step .8s var(--ease-standard) 1}.walker-stride .walker-leg-a,.walker-stride .walker-leg-b,.route-cursor.is-playing .walker-leg-a,.route-cursor.is-playing .walker-leg-b{transform-box:fill-box;transform-origin:50%;animation:walker-step .7s var(--ease-standard) infinite alternate;animation-play-state:paused}html:not(.is-background) .walker-frame.is-onstage .walker-stride .walker-leg-a,html:not(.is-background) .walker-frame.is-onstage .walker-stride .walker-leg-b,html:not(.is-background) .route-figure.is-onstage .route-cursor.is-playing .walker-leg-a,html:not(.is-background) .route-figure.is-onstage .route-cursor.is-playing .walker-leg-b{animation-play-state:running}}@keyframes route-draw{to{stroke-dashoffset:0}}@keyframes walker-step{0%{transform:rotate(-12deg)}to{transform:rotate(12deg)}}@keyframes event-pulse{0%{opacity:.55}to{opacity:1}}@keyframes text-settle{0%{opacity:.72}to{opacity:1}}
