.spectro-panel{position:relative;touch-action:pan-y;width:100%;height:220px;background:#0b0b0e;border-radius:8px;overflow:hidden;font-family:var(--font-mono,ui-monospace,monospace);font-size:10px;color:rgba(255,255,255,.55)}.spectro-panel__canvas{position:absolute;inset:0}.spectro-panel__axis{position:absolute;left:0;top:0;bottom:0;width:34px;pointer-events:none}.spectro-panel__mark{position:absolute;left:4px;transform:translateY(-50%);text-shadow:0 0 3px #000}.spectro-panel__mark--top{top:2px;transform:none}.spectro-panel__corner{position:absolute;top:2px;right:6px;text-shadow:0 0 3px #000;white-space:nowrap;pointer-events:none}.spectro-panel__line{position:absolute;left:0;right:0;height:0;border-top:1px dashed rgba(255,255,255,.28);pointer-events:none;transition:opacity .12s}.spectro-panel__line--on{border-top:2px dashed #ff6b6b;margin-top:-1px}.spectro-panel__cutoff{position:absolute;right:6px;transform:translateY(-100%);padding-bottom:2px;color:#ffb3b3;font-weight:600;text-shadow:0 0 3px #000;pointer-events:none;white-space:nowrap;transition:opacity .12s}.spectro-panel__cutoff--below{transform:none;padding-top:3px;padding-bottom:0}.spectro-panel--compare{cursor:col-resize}.spectro-panel__divider{position:absolute;top:0;bottom:0;width:0;border-left:1px solid rgba(255,255,255,.85);pointer-events:none;display:none}.spectro-panel--split .spectro-panel__divider{display:block}.spectro-panel__side{position:absolute;top:16px;color:rgba(255,255,255,.9);text-shadow:0 0 3px #000;white-space:nowrap}.spectro-panel__side--left{right:6px}.spectro-panel__side--right{left:6px}.spectro-panel__caption,.spectro-panel__hint{position:absolute;bottom:5px;padding:1px 5px;border-radius:3px;background:rgba(0,0,0,.4);color:rgba(255,255,255,.55);font-family:var(--font-content);font-size:11px;transition:opacity .12s}.spectro-panel__caption{left:8px}.spectro-panel--held .spectro-panel__caption,.spectro-panel--held .spectro-panel__cutoff,.spectro-panel--held .spectro-panel__hint,.spectro-panel--held .spectro-panel__line,.spectro-panel--split .spectro-panel__caption,.spectro-panel--split .spectro-panel__cutoff,.spectro-panel--split .spectro-panel__hint,.spectro-panel--split .spectro-panel__line{opacity:0}.spectro-panel--held .spectro-panel__divider{display:none}.spectro-panel__difference{position:absolute;top:16px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.9);text-shadow:0 0 3px #000;white-space:nowrap;pointer-events:none}.spectro-panel__hint{right:32px}.spectro-panel__hint-coarse{display:none}@media (hover:none){.spectro-panel__hint-fine{display:none}.spectro-panel__hint-coarse{display:inline}}.spectro-panel__progress{position:absolute;left:0;bottom:0;height:3px;background:var(--accent);transition:width .1s linear}.spectro-panel__fullscreen{position:absolute;right:6px;bottom:5px;width:20px;height:20px;padding:0;border:none;border-radius:3px;background:rgba(0,0,0,.4);color:rgba(255,255,255,.7);font-size:13px;line-height:1;cursor:pointer;transition:opacity .12s,color .12s}.spectro-panel__fullscreen:hover{color:#fff}.spectro-panel--held .spectro-panel__fullscreen:not(:hover),.spectro-panel--split .spectro-panel__fullscreen:not(:hover){opacity:0}.spectro-panel:fullscreen{width:100%;height:100%;max-height:none;aspect-ratio:auto;border-radius:0}.video-panel{height:auto;aspect-ratio:16/9;max-height:300px}.video-panel__canvas{position:absolute;inset:0;width:100%;height:100%}.song-setup-format__value{min-width:52px;font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:rgba(255,255,255,.6)}.song-setup-panel{width:min(860px,calc(100vw - 32px));max-height:calc(var(--visual-vh, 100dvh) - 32px);outline:none}.song-setup-section{margin-top:18px}.song-setup-section__title{margin:0 0 10px;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:rgba(255,255,255,.6)}.song-setup-cards{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px}@media (max-width:768px){.song-setup-cards{grid-template-columns:1fr}}.song-setup-card{display:flex;flex-direction:column;gap:6px;min-height:118px;padding:10px 12px;border:1px dashed var(--border-subtle);border-radius:8px;background:var(--bg-panel)}.song-setup-card--filled{border-style:solid}.song-setup-format-card{display:block;min-height:0;border-style:solid}.song-setup-format-card__title{margin:0}.song-setup-format-card__body{padding-top:10px}.song-setup-card__head{display:flex;justify-content:space-between;align-items:baseline}.song-setup-card__label{font-weight:600}.song-setup-card__optional{font-size:11px;color:rgba(255,255,255,.45)}.song-setup-card__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.song-setup-card__facts,.song-setup-card__hint{font-size:12px;color:rgba(255,255,255,.6)}.song-setup-card__hint{flex:1 1}.song-setup-card__actions{display:flex;gap:6px;margin-top:auto}.song-setup-card__remove{display:inline-flex;align-items:center;padding:5px 7px;font-size:14px;line-height:1;transition:background-color .12s,border-color .12s}.song-setup-card .song-setup-card__remove:hover{background:var(--don-color);border-color:var(--don-color)}@media (hover:none){.song-setup-card .song-setup-card__remove:hover{background:var(--off-tile);border-color:transparent}}.song-setup-url{display:grid;grid-template-columns:1fr auto;gap:8px 10px;align-items:end;margin-top:10px}.song-setup-url__label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:rgba(255,255,255,.6)}.song-setup-url__note{grid-column:1/-1;font-size:13px}.song-setup-url__note--error{color:var(--error,#ff6b6b)}.song-setup-url__small{grid-column:1/-1;font-size:11px;color:rgba(255,255,255,.45);margin:2px 0 6px}.song-setup-url__signin{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}.song-setup-url__signin .song-setup-url__small{flex-basis:100%;margin:0}.song-setup-url__text-button{padding:0;border:none;background:none;font:inherit;color:#9ad;cursor:pointer}.song-setup-url__text-button:hover:not(:disabled){color:#fff;text-decoration:underline}.song-setup-notice{margin-top:8px;font-size:13px;color:var(--warn,#ffcc66)}.song-setup-format{margin-top:10px;display:flex;flex-direction:column}.song-setup-format__row--under{padding-top:6px}.song-setup-format__row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.song-setup-format__label{min-width:80px;font-size:13px;color:rgba(255,255,255,.7)}.song-setup-format__control{display:flex;align-items:center;gap:8px}.song-setup-format__control--wide{flex:1 1;min-width:200px}.song-setup-format__control--auto{opacity:.45}.song-setup-auto{flex:0 0 auto;padding:7px 14px}.song-setup-format__notes{display:flex;flex-direction:column;gap:4px;min-height:40px;margin-top:6px}.song-setup-format__note{font-size:12px;color:rgba(255,255,255,.6)}.song-setup-format__note--warn{color:var(--warn,#ffcc66)}.song-setup-format__note--error{color:var(--error,#ff6b6b)}.song-setup-panel .metadata{padding:16px 20px;border-radius:8px;box-shadow:none}.song-setup-footer{margin-top:18px;display:flex;flex-direction:column;gap:8px}.song-setup-footer__destination{font-size:12px;color:rgba(255,255,255,.55);word-break:break-all}.song-setup-problems{margin:0;padding-left:18px;font-size:12px;color:var(--warn,#ffcc66)}.song-setup-footer__actions{display:flex;justify-content:flex-end;gap:8px}.peer-name-tag{background:var(--c);color:white;padding:2px 6px;border-radius:4px;font-size:12px;font-weight:700;white-space:nowrap;box-shadow:0 2px 4px rgba(0,0,0,.3);text-shadow:0 1px 2px rgba(0,0,0,.5)}.peer-flag{position:absolute;left:0;top:0;width:0;height:0;pointer-events:none;will-change:transform}.peer-flag .peer-flag__tag{position:absolute;left:0;bottom:0;border-top-left-radius:0;border-bottom-left-radius:0;box-shadow:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));transition:opacity .15s ease,border-radius .15s ease,padding .15s ease}.peer-flag__tag:after{content:"";position:absolute;top:0;bottom:0;width:0;background:var(--c);transition:width .15s ease}.peer-flag--side-left .peer-flag__tag:after{right:calc(100% - 1px);clip-path:polygon(100% 0,calc(100% - 1px) 0,0 50%,calc(100% - 1px) 100%,100% 100%)}.peer-flag--side-right .peer-flag__tag:after{left:calc(100% - 1px);clip-path:polygon(0 0,1px 0,100% 50%,1px 100%,0 100%)}.peer-flag--edge .peer-flag__tag{opacity:.55}.peer-flag--edge .peer-flag__tag:after{width:calc(var(--peer-flag-point, 8px) + 1px)}.peer-flag--edge.peer-flag--side-left .peer-flag__tag{padding-left:var(--peer-flag-point-pad,4px)}.peer-flag--edge.peer-flag--side-right .peer-flag__tag{border-radius:4px 0 0 4px;padding-right:var(--peer-flag-point-pad,4px)}@media (prefers-reduced-motion:reduce){.peer-flag__tag,.peer-flag__tag:after{transition:none}}.band-reorder-handle{position:absolute;top:0;left:0;width:14px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;color:#fff;font-size:18px;opacity:.28;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;will-change:transform;cursor:grab;transition:opacity .12s,background-color .12s}.band-reorder-handle--dragging,.band-reorder-handle:hover{opacity:1;background:rgba(255,255,255,.08)}.band-reorder-handle--dragging{cursor:grabbing}.band-reorder-handle--stage{opacity:.9;background:rgba(0,0,0,.35)}.band-reorder-handle--stage.band-reorder-handle--dragging,.band-reorder-handle--stage:hover{opacity:1;background:rgba(0,0,0,.5)}.band-reorder-handle--inert,.band-reorder-handle--inert:hover{opacity:.15;cursor:default;background:none}.band-reorder-handle--stage.band-reorder-handle--concealed{opacity:0;pointer-events:none}@media (hover:none){.band-reorder-handle:not(.band-reorder-handle--stage){opacity:.5}}.band-reorder-overlay{position:fixed;inset:0;z-index:1;pointer-events:none}.band-reorder-overlay--dragging{pointer-events:auto;cursor:grabbing}.band-chrome{position:absolute;top:0;left:0;display:flex;align-items:center;gap:2px;will-change:transform}.band-chrome--right{flex-direction:row-reverse}.band-chrome .band-reorder-handle{position:static;flex:none}.band-lock{appearance:none;flex:none;width:20px;height:28px;margin:0;padding:0;border:0;border-radius:4px;background:none;color:#fff;font:inherit;display:flex;align-items:center;justify-content:center;opacity:.28;pointer-events:auto;touch-action:manipulation;user-select:none;-webkit-user-select:none;cursor:pointer;transition:opacity .12s,background-color .12s}.band-lock:hover{opacity:1;background:rgba(255,255,255,.08)}.band-lock--unlocked{opacity:1}@media (hover:none){.band-lock{opacity:.5}.band-lock--unlocked{opacity:1}}.bg-adjust-overlay{position:fixed;inset:0;z-index:20;pointer-events:none}.bg-adjust-overlay--dragging{pointer-events:auto;cursor:grabbing}.bg-adjust-form{min-width:0;pointer-events:auto;transition:background-color .12s,border-color .12s,box-shadow .12s}.bg-adjust-form>*{transition:opacity .12s}.bg-adjust-form .metadata-edit-hint{max-width:200px}.bg-adjust-form--ghost{background:color-mix(in srgb,var(--bg-control) 28%,transparent);border-color:color-mix(in srgb,var(--border-subtle) 28%,transparent);box-shadow:none}.bg-adjust-form--ghost .bg-adjust-row--driven>label,.bg-adjust-form--ghost>:not(.bg-adjust-row--driven){opacity:.28}.bg-adjust-form--ghost .bg-adjust-row--driven .metadata-edit-input{background:color-mix(in srgb,hsl(var(--hsl-b6)) 12%,transparent);text-shadow:0 1px 2px rgba(0,0,0,.8)}.bg-adjust-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:#fff}.bg-adjust-row .metadata-edit-input{width:4ch;text-align:right;transition:background-color .12s,border-color .12s}.bg-adjust-row .bg-adjust-input--ms{width:6ch}.touch-drum{position:relative;width:100%;box-sizing:border-box;height:max(calc(var(--tool-panel-row, 0px) - var(--toolbar-edge, 0px)),var(--touch-drum-need,0px));background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:6px;overflow:hidden;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.touch-drum--fill{height:100%;border-width:1px 0 0;border-radius:0}.touch-drum--adjusting{cursor:ns-resize}.touch-drum__stage{position:absolute;inset:0;pointer-events:none}.touch-drum--striking .touch-drum__tile{will-change:transform}.touch-drum--striking .touch-drum__light{will-change:opacity}.touch-drum--striking .touch-drum__ripple{will-change:transform,opacity}.touch-drum__svg{inset:0;display:block}.touch-drum__svg,.touch-drum__tile{position:absolute}.touch-drum__tile>svg{position:absolute;inset:0;display:block}.touch-drum__label{overflow:visible}.touch-drum__ring{fill:hsl(var(--hsl-b3))}.touch-drum__face{fill:hsl(var(--hsl-b2))}.touch-drum__light{opacity:0}.touch-drum__ripples{position:absolute;top:0;bottom:0;overflow:hidden}.touch-drum__ripple{position:absolute;display:block;opacity:0}.touch-drum__ripple>ellipse{fill:none}.touch-drum__inset{fill:none;stroke:var(--bg-panel);stroke-width:4px}.touch-drum__seam{stroke:hsl(var(--hsl-b3));stroke-width:1}.touch-drum__key{fill:rgba(255,255,255,.4);font-family:var(--font-default);font-weight:600;text-anchor:middle;dominant-baseline:central}@media (pointer:coarse){.touch-drum__key{display:none}}.touch-drum__corner{position:absolute;top:6px;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;font-size:12px;cursor:pointer;color:hsl(var(--hsl-f1));background:var(--bg-control);border:none;border-radius:6px;transition:background-color .12s}.touch-drum__corner--left{left:6px;font-size:14px}.touch-drum__corner--keys{left:34px;font-size:14px}.touch-drum__corner--right{right:6px}@media (hover:hover){.touch-drum__corner:hover{background:var(--bg-control-light);color:#fff}}.touch-drum__grip{opacity:.9;background:rgba(255,255,255,.08)}.touch-drum__adjust{position:absolute;top:6px;left:8px;right:8px;display:flex;align-items:center;justify-content:flex-end;gap:8px;pointer-events:none}.touch-drum__adjust>button{pointer-events:auto}.touch-drum__readout{font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:hsl(var(--hsl-f1))}.touch-drum__size{position:absolute;top:6px;bottom:6px;left:8px;z-index:1;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:default}.touch-drum__auto{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:hsl(var(--hsl-f1));cursor:pointer}.touch-drum__size-slider{display:flex;flex:1 1;flex-direction:column;align-items:center;min-height:0}.touch-drum__size-slider--auto{opacity:.45}.tabletop-drum{position:fixed;left:0;right:0;bottom:0;z-index:2;background:var(--bg-page)}