:root{--ruler-height:26px;--music-lane-height:5.5rem;--sidebar-width:17rem}.app-body{block-size:100dvh;overflow:hidden}.app{grid-template-rows:auto 1fr auto;block-size:100dvh;display:grid}.app__bar{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-block-end:var(--border-width) solid var(--color-border);background-color:var(--color-surface);min-inline-size:0;display:flex;overflow:hidden}.app__title{font-size:var(--text-base);letter-spacing:.02em;margin:0;font-weight:600}.app__group{align-items:center;gap:var(--space-2);display:flex}.app__select{padding:var(--space-1) var(--space-2);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);background-color:var(--color-surface-raised);color:var(--color-text);font:inherit;font-size:var(--text-sm)}.app__source{text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-muted);flex:1 1 0;overflow:hidden}.app__body{grid-template-columns:minmax(0, 1fr) auto var(--sidebar-width);min-block-size:0;min-inline-size:0;display:grid}.app--sidebar-collapsed .sidebar{display:none}.resizer{border-inline:var(--border-width) solid var(--color-border);background-color:var(--color-bg);cursor:col-resize;touch-action:none;inline-size:6px}.resizer:hover,.resizer[data-dragging]{background-color:var(--color-accent)}.app--sidebar-collapsed .resizer{background-color:var(--color-surface-raised);inline-size:10px;position:relative}.app--sidebar-collapsed .resizer:after{content:"";background-color:var(--color-text-muted);border-radius:1px;block-size:1.5rem;inline-size:2px;position:absolute;inset-block-start:50%;inset-inline-start:50%;translate:-50% -50%}.empty:not([hidden]),.restore:not([hidden]){align-content:center;justify-items:center;gap:var(--space-2);padding:var(--space-8);text-align:center;display:grid}.empty__heading,.restore__heading{font-size:var(--text-lg);margin:0;font-weight:600}.empty__text,.restore__text{max-inline-size:34rem;color:var(--color-text-muted);margin:0}.restore__file{margin:var(--space-1) 0 0;max-inline-size:40rem;font-family:var(--font-mono);font-size:var(--text-lg);color:var(--color-text);overflow-wrap:anywhere}.restore__facts{justify-content:center;gap:0 var(--space-6);margin:var(--space-4) 0 var(--space-2);text-align:start;grid-template-rows:auto auto;grid-auto-flow:column;display:grid}.restore__label{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.restore__value{font-family:var(--font-mono);font-size:var(--text-lg);font-variant-numeric:tabular-nums;margin:0}.restore__actions{gap:var(--space-2);margin:var(--space-3) 0 0;display:flex}.workspace:not([hidden]){grid-template-rows:minmax(0,1fr) auto;min-block-size:0;display:grid}.timeline{background-color:var(--color-bg);min-block-size:0;display:block;position:relative;overflow:hidden}.timeline__canvas{block-size:100%;inline-size:100%;position:absolute;inset:0}.timeline__scroller{scrollbar-color:var(--color-border) transparent;position:absolute;inset:0;overflow:auto hidden}.timeline__content{inline-size:var(--content-width,100%);grid-template-rows:var(--ruler-height) minmax(0, 1fr) var(--music-lane-height);block-size:100%;min-inline-size:100%;display:grid;position:relative}.timeline__ruler-space{cursor:text}.timeline__lane{cursor:text;position:relative}.timeline__lane--music{border-block-start:var(--border-width) dashed var(--color-border)}.timeline__playhead{inline-size:1px;translate:var(--playhead-x,0);background-color:var(--color-accent);pointer-events:none;will-change:translate;position:absolute;inset-block:0;inset-inline-start:0}.timeline__playhead:before{content:"";background-color:var(--color-accent);clip-path:polygon(0 0,100% 0,50% 100%);block-size:7px;inline-size:7px;position:absolute;inset-block-start:0;inset-inline-start:-3px}.clip{inset-block:var(--space-1);inline-size:var(--clip-width,0);border:var(--border-width) solid var(--color-clip-border);border-radius:var(--radius);background-color:var(--color-clip-fill);cursor:default;min-inline-size:2px;position:absolute;inset-inline-start:var(--clip-left,0);overflow:hidden}.clip:hover{border-color:var(--color-text-muted)}.clip--music{--color-clip-border:color-mix(in oklab, var(--color-wave-music) 45%, transparent);--color-clip-fill:color-mix(in oklab, var(--color-wave-music) 10%, transparent);cursor:grab}.clip--voice{--color-clip-border:color-mix(in oklab, var(--color-wave) 40%, transparent);--color-clip-fill:transparent}.clip--selected{border-color:var(--color-accent);background-color:color-mix(in oklab, var(--color-accent) 14%, transparent);box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--color-accent) 40%, transparent)}.clip__label{max-inline-size:100%;padding:0 var(--space-1);background-color:color-mix(in oklab, var(--color-bg) 75%, transparent);font-family:var(--font-mono);color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;border-end-end-radius:var(--radius);font-size:.625rem;position:absolute;inset-block-start:0;inset-inline-start:0;overflow:hidden}.clip__handle{inline-size:var(--space-2);cursor:ew-resize;background-color:#0000;position:absolute;inset-block:0}.clip__handle:hover{background-color:color-mix(in oklab, var(--color-accent) 55%, transparent)}.clip__handle--start{inset-inline-start:0}.clip__handle--end{inset-inline-end:0}.transport{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-block-start:var(--border-width) solid var(--color-border);background-color:var(--color-surface);flex-wrap:wrap;display:flex}.transport__clock{align-items:baseline;gap:var(--space-2);font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin:0;display:flex}.transport__position{font-size:var(--text-lg)}.transport__separator,.transport__duration{color:var(--color-text-muted);font-size:var(--text-sm)}.transport__group{gap:var(--space-2);display:flex}.transport__help{margin-inline-start:auto}.inspector__unit{font-family:var(--font-mono);font-size:.85em}.sidebar{gap:var(--space-4);padding:var(--space-4);border-inline-start:var(--border-width) solid var(--color-border);background-color:var(--color-surface);grid-template-rows:auto auto minmax(0,1fr);min-inline-size:0;display:grid;overflow-y:auto}.sidebar>*{min-inline-size:0}.sidebar__heading{margin:0 0 var(--space-2);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);font-weight:600}.library__list{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.library__empty{font-size:var(--text-sm);color:var(--color-text-muted)}.library__item{align-items:center;gap:var(--space-1);display:flex}.library__insert{align-items:center;gap:var(--space-2);min-inline-size:0;padding:var(--space-2);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);background-color:var(--color-surface-raised);color:var(--color-text);font:inherit;font-size:var(--text-sm);text-align:start;cursor:pointer;flex:1;display:flex}.library__insert:hover{border-color:var(--color-accent)}.library__name{text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;overflow:hidden}.library__key{padding-inline:var(--space-1);border:var(--border-width) solid var(--color-border);font-family:var(--font-mono);color:var(--color-text-muted);border-radius:.1875rem;flex:none;font-size:.85em}.library__remove{padding:var(--space-1) var(--space-2);border:var(--border-width) solid transparent;border-radius:var(--radius);color:var(--color-text-muted);font:inherit;font-size:var(--text-sm);cursor:pointer;background-color:#0000}.library__remove:hover{border-color:var(--color-bad);color:var(--color-bad)}.inspector:not([hidden]){gap:var(--space-3);display:grid}.inspector__empty{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.inspector__name{font-family:var(--font-mono);font-size:var(--text-sm);overflow-wrap:anywhere;margin:0}.transport__group--space{align-items:center}.transport__toggle{align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-muted);white-space:nowrap;accent-color:var(--color-accent);padding-inline-start:var(--space-1);display:flex}.transport__inline-field{align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-muted);display:flex}.library__toggle{align-items:center;gap:var(--space-2);margin-block:var(--space-3) var(--space-2);font-size:var(--text-sm);accent-color:var(--color-accent);display:flex}.inspector__group:not([hidden]){padding:var(--space-2) var(--space-3) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);gap:var(--space-2);min-inline-size:0;margin:0;display:grid}.inspector__legend{padding-inline:var(--space-1);font-size:var(--text-sm);color:var(--color-text-muted)}.inspector__field{align-items:center;gap:var(--space-2);font-size:var(--text-sm);grid-template-columns:minmax(0,1fr) auto auto;display:grid}.inspector__range{inline-size:100%;accent-color:var(--color-accent);grid-column:1/-1}.inspector__value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.inspector__number{inline-size:4rem;padding:var(--space-1) var(--space-2);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);background-color:var(--color-bg);color:var(--color-text);font:inherit;font-family:var(--font-mono);font-size:var(--text-sm)}.sheet{border:var(--border-width) solid var(--color-border);border-radius:var(--radius);background-color:var(--color-surface);max-block-size:88dvh;inline-size:min(56rem,92vw);color:var(--color-text);padding:0;overflow:auto}.sheet::backdrop{background-color:#0009}.sheet__form{gap:var(--space-4);padding:var(--space-6);display:grid}.sheet__header{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.sheet__heading{font-size:var(--text-lg);margin:0;font-weight:600}.sheet__note{border-block-start:var(--border-width) solid var(--color-border);font-size:var(--text-sm);color:var(--color-text-muted);margin:0;padding-block-start:var(--space-3)}.shortcuts{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));align-items:start;display:grid}.shortcuts__heading{margin:0 0 var(--space-2);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);font-weight:600}.shortcuts__list{align-items:baseline;gap:var(--space-2) var(--space-4);font-size:var(--text-sm);grid-template-columns:auto 1fr;margin:0;display:grid}.shortcuts__list dt{gap:var(--space-1);white-space:nowrap;display:flex}.shortcuts__list dd{color:var(--color-text-muted);margin:0}.shortcuts__list kbd{padding:0 var(--space-1);border:var(--border-width) solid var(--color-border);background-color:var(--color-surface-raised);font-family:var(--font-mono);border-radius:.1875rem;font-size:.9em}.confirm{border:var(--border-width) solid var(--color-border);border-radius:var(--radius);background-color:var(--color-surface);max-inline-size:30rem;color:var(--color-text);padding:0}.confirm::backdrop{background-color:#0000008c}.confirm__form{gap:var(--space-3);padding:var(--space-6);display:grid}.confirm__heading{font-size:var(--text-lg);margin:0;font-weight:600}.confirm__text{color:var(--color-text-muted);margin:0}.confirm__actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;margin-block-start:var(--space-2);display:flex}.app__footer{padding:var(--space-2) var(--space-4);border-block-start:var(--border-width) solid var(--color-border);background-color:var(--color-surface)}.app__status{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.app__progress:not([hidden]){inline-size:100%;block-size:var(--space-1);background-color:var(--color-surface-raised);accent-color:var(--color-accent);border:0;margin-block-start:var(--space-2);display:block}.button:not([hidden]){align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);background-color:var(--color-surface-raised);color:var(--color-text);font:inherit;white-space:nowrap;cursor:pointer;display:inline-flex}.button:not([hidden]):hover{border-color:var(--color-text-muted)}.button:not([hidden])[aria-disabled=true]{opacity:.55;cursor:default}.button--primary{border-color:var(--color-accent-strong);background-color:var(--color-accent);color:var(--color-on-accent)}.button--primary:hover{background-color:color-mix(in oklab, var(--color-accent) 85%, white)}.button--compact{padding:var(--space-1) var(--space-2);font-size:var(--text-sm)}.button__kbd{padding-inline:var(--space-1);border:var(--border-width) solid currentcolor;font-family:var(--font-mono);opacity:.7;border-radius:.1875rem;font-size:.75em}
