:where(button,.btn,.pill){border-radius:var(--r-s);transition:background-color var(--t-fast),border-color var(--t-fast),color var(--t-fast)}
:where(input,select,textarea){border-radius:var(--r-s);box-shadow:var(--inset)}
:where(dialog){border-radius:var(--r-l);box-shadow:var(--shadow-2)}
:where(dialog h1,dialog header){background:var(--head-grad)}
:where(#btabs button,.view-tabs button){border-radius:var(--r-m) var(--r-m) 0 0}
:where(*::-webkit-scrollbar){width:8px;height:8px}:where(*::-webkit-scrollbar-thumb){background:var(--line-strong);border-radius:var(--r-l)}
:where(input[type=checkbox],input[type=radio],input[type=range]){accent-color:var(--acc)}
:where(:focus-visible){outline:none;box-shadow:var(--focus)}
:where(.led){box-shadow:var(--inset)}
:where(.tile,.list-row,.tree-row){transition:background-color var(--t-fast),border-color var(--t-fast)}
:where(.tile:hover,.list-row:hover,.tree-row:hover){border-color:var(--acc)}
.project-file-picker{width:min(900px,92vw);max-width:92vw;max-height:85vh;background:var(--panel);color:var(--text);border:1px solid var(--line);padding:16px}
.project-file-picker .project-picker-body{display:grid;grid-template-columns:minmax(180px,30%) 1fr;gap:8px;min-height:280px;max-height:55vh}
.project-file-picker .project-tree,.project-file-picker .project-file-list{overflow:auto;border:1px solid var(--line);padding:6px}
.project-file-picker .tree-row,.project-file-picker .file-list-row{display:block;width:100%;text-align:left;background:transparent;color:var(--text);border:0;padding:5px 8px}
.project-file-picker .file-list-row{display:flex;flex-direction:column;align-items:stretch;gap:4px}
.project-file-picker .file-list-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.project-file-picker .file-list-row{box-sizing:border-box;height:104px;overflow:hidden}.file-list-spacer{pointer-events:none}.project-upload-progress{display:grid;gap:4px;min-width:min(100%,260px);max-height:130px;overflow:auto}.project-upload-row{display:grid;grid-template-columns:minmax(80px,1fr) minmax(90px,2fr) 62px;gap:8px;align-items:center;font-size:11px}.project-upload-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-upload-row progress{width:100%;height:10px;accent-color:var(--acc)}.project-panel-toolbar .project-upload-progress{flex-basis:100%;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.file-preview{display:block;position:relative;min-height:24px;max-height:56px;overflow:hidden;color:var(--muted);font-size:10px;line-height:1.35;text-overflow:ellipsis}.file-preview small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.file-preview svg{display:block;width:100%;height:38px;background:var(--surface-2);border-radius:4px}.file-waveform-line{fill:none;stroke:var(--acc);stroke-width:1.5;vector-effect:non-scaling-stroke}.file-midi-roll{display:block;height:38px;position:relative;background:repeating-linear-gradient(to bottom,transparent 0 8px,var(--line) 8px 9px);border-radius:4px}.file-midi-roll i{position:absolute;height:3px;min-width:2px;background:var(--acc);border-radius:2px}.project-tile .file-preview{margin-top:5px}.project-tile .file-preview-lyrics,.project-tile .file-preview-song{white-space:normal;overflow:hidden}
.project-file-picker .file-list-row.sel{background:color-mix(in srgb,var(--acc) 25%,var(--panel));outline:1px solid var(--acc)}
.project-file-picker .tree-node,.project-file-picker .file-list-row{user-select:none}
.project-file-picker .tree-toggle{width:28px;background:transparent;color:var(--text);border:0}
.project-file-picker .tree-row[aria-selected="true"],.project-file-picker .tree-row:focus-visible,.project-file-picker .file-list-row:focus-visible{outline:2px solid var(--acc);outline-offset:-2px}
.project-file-picker .project-file-detail{display:grid;gap:4px;min-height:2.5em}
.file-field{display:flex;gap:4px;align-items:center;min-width:0}.file-field input,.file-field select{flex:1;min-width:0}.file-field input[aria-invalid="true"]{border-color:var(--bad);box-shadow:0 0 0 1px var(--bad)}
.project-panel-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px;border-bottom:1px solid var(--line)}
.project-panel-toolbar input[type=search]{min-width:130px;max-width:220px}.project-panel-toolbar input[type=range]{box-sizing:border-box;width:132px;flex:0 0 132px;padding:0}.project-panel-filters{display:flex;gap:4px;flex-wrap:wrap}.project-panel-body{display:grid;grid-template-columns:minmax(150px,var(--project-tree-width,260px)) 5px minmax(0,1fr);min-height:240px;height:100%}.project-panel-tree{overflow:auto;border-right:1px solid var(--line);padding:6px}.project-tree-grip{cursor:col-resize;background:transparent;touch-action:none}.project-tree-grip:hover,.project-tree-grip:focus-visible{background:var(--acc);outline:0}.project-panel-body>#project-panel-content{overflow:auto;padding:8px}.project-panel-empty{margin:24px;color:var(--muted);text-align:center}
.tree-node{display:flex;align-items:center}.tree-toggle{width:24px;padding:2px;background:transparent;border:0}.tree-row{flex:1;text-align:left;padding:4px;background:transparent;border:0;color:var(--text)}
.project-details tbody tr[data-path]{height:32px}.project-details tbody tr[data-path]>td{box-sizing:border-box;height:32px;max-width:640px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-details tbody tr.project-virtual-spacer,.project-details tbody tr.project-virtual-spacer td{height:auto;padding:0;border:0;line-height:0}
.project-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,calc(var(--project-tile)*2)),1fr));gap:8px;align-content:start}.project-tile{min-height:100px;padding:10px;background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:var(--r-m);position:relative;cursor:pointer}.project-tile.sel,.project-details tr.sel{background:color-mix(in srgb,var(--acc) 24%,var(--panel));outline:1px solid var(--acc)}
.project-details{border-collapse:collapse;min-width:100%;white-space:nowrap}.project-details th,.project-details td{padding:4px 8px;border-bottom:1px solid var(--line);text-align:left}.project-details th{position:sticky;top:0;background:var(--panel);cursor:pointer;color:var(--dim)}
.project-details th{z-index:3}.project-column-grip{position:absolute;top:0;right:-2px;bottom:0;width:6px;cursor:col-resize;touch-action:none;z-index:2}.project-column-grip:hover,.project-column-grip:focus-visible{background:var(--acc)}
.file-field input.drop-invalid,#cv.drop-invalid{outline:2px solid var(--bad);outline-offset:-2px}
.project-item-icon{display:inline-block;width:16px;height:16px;flex:none;vertical-align:middle;stroke-width:1.8}.project-item-icon-folder{color:var(--warn)}.project-item-icon-song{color:var(--acc)}.project-item-icon-audio{color:var(--audio)}.project-item-icon-midi{color:var(--midi)}.project-item-icon-lyrics{color:var(--text-c)}.project-item-icon-module{color:var(--fx-dyn)}.project-item-icon-pack{color:var(--data)}.project-item-icon-file{color:var(--dim)}
.tree-row{display:flex;align-items:center;gap:6px}.project-item-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-tile{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center;column-gap:7px;text-align:left}.project-tile>.file-preview{grid-column:1/-1}.file-name-content{display:flex;align-items:center;gap:6px;min-width:0}.file-name-content .file-play,.file-name-content .file-play-space{margin-right:0}.file-name-cell .file-name-text{min-width:0;overflow:hidden;text-overflow:ellipsis}
.project-tile{grid-template-rows:24px minmax(44px,1fr);align-content:start}.project-tile>.project-item-icon{width:20px;height:20px}.project-tile>.project-item-name{padding-left:4px}.project-tile:focus-visible{outline:2px solid var(--acc)}.project-tile-controls{grid-column:1/-1;display:flex;align-items:center;gap:6px;height:26px;visibility:hidden}.project-tile:hover .project-tile-controls,.project-tile:focus-within .project-tile-controls{visibility:visible}.project-tile-controls button{padding:2px 7px;min-width:27px}.project-tile-controls button[aria-pressed=true]{color:var(--acc);border-color:var(--acc)}.project-tile-controls input{min-width:0;width:100%;accent-color:var(--acc)}.project-tile .file-preview{max-height:64px;margin-top:0}.project-tile .file-preview-placeholder{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:4px;background:repeating-linear-gradient(90deg,transparent 0 7px,color-mix(in srgb,var(--acc) 10%,transparent) 7px 9px),var(--surface-2);font-size:10px}.file-list-name{display:flex;align-items:center;gap:6px}@media(hover:none){.project-tile-controls{visibility:visible}}
.project-tile{min-height:120px;grid-template-rows:24px minmax(58px,1fr) 26px}.project-tile:has(.project-wave-seek){grid-template-columns:20px minmax(0,1fr)}.project-wave-seek{grid-column:1/-1;position:relative;min-width:0;height:58px;background:var(--surface-2);border-radius:4px;overflow:hidden}.project-wave-seek .file-preview{height:58px;max-height:58px}.project-wave-seek .file-preview svg{height:44px}.project-wave-seek .file-preview small{padding-left:5px}.project-wave-seek input[type=range]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:crosshair;z-index:2;touch-action:none}.project-wave-seek:after{content:'';position:absolute;top:0;bottom:14px;left:var(--preview-position,0%);width:2px;background:var(--acc);pointer-events:none}.project-wave-seek:focus-within{outline:2px solid var(--acc);outline-offset:-2px}.project-tile-controls{justify-content:space-between}.project-details tbody tr.project-row-playing,.project-details tbody tr.project-row-playing>td{height:96px}.project-row-wave{height:58px;margin-top:6px;min-width:220px}.project-row-wave[hidden]{display:none}.project-details tbody tr.project-row-playing>td{vertical-align:top}.tree-toggle{display:flex;align-items:center;justify-content:center}.tree-toggle .project-item-icon{width:18px;height:18px}
.project-wave-seek{outline:1px solid var(--acc);outline-offset:-1px}
@media(prefers-reduced-motion:reduce){:where(*,::before,::after){scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
.project-breadcrumb{display:flex;align-items:center;gap:2px;flex:1 1 220px;min-width:44px;overflow:hidden;white-space:nowrap}.project-breadcrumb button,.project-breadcrumb .crumb-sep{flex:none}.project-breadcrumb .crumb-part.current{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.project-breadcrumb button{padding:2px 6px;background:transparent;border:1px solid transparent;color:inherit;border-radius:4px;cursor:pointer;font:inherit}.project-breadcrumb button:hover:not(:disabled){background:color-mix(in srgb,var(--fg,#fff) 10%,transparent)}.project-breadcrumb .crumb-part.current{font-weight:600}.project-breadcrumb .crumb-up{margin-right:4px}.project-breadcrumb .crumb-up:disabled{opacity:.35;cursor:default}.project-breadcrumb .crumb-sep{opacity:.5}

.meter-report{margin:2px 8px 6px;padding:2px 6px;border-radius:4px;background:var(--panel2);color:var(--dim);font:11px/1.4 var(--mono,monospace);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meter-report.warn{color:var(--bad,#e5534b)}

dialog.soundcheck{min-width:min(720px,92vw);max-height:80vh;overflow:auto;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:var(--r-m,8px)}
.soundcheck-row{display:flex;gap:8px;align-items:baseline;padding:4px 0;border-bottom:1px solid var(--line)}
.soundcheck-severity{min-width:62px;font-size:11px;text-transform:uppercase;color:var(--dim)}.soundcheck-row.error .soundcheck-severity{color:var(--bad,#e5534b)}.soundcheck-row.warning .soundcheck-severity{color:var(--warn,#d29922)}
.soundcheck-message{flex:1}.soundcheck-note{color:var(--dim)}.soundcheck-actions{display:flex;justify-content:flex-end;margin-top:10px}
.studio-denoise-panel .denoise-wave{width:100%;height:110px;border-radius:6px;cursor:ew-resize;touch-action:none;display:block}.studio-denoise-panel .denoise-readout{display:block;margin:4px 0;color:var(--dim);font-size:12px}.studio-denoise-panel .denoise-slider{display:flex;gap:8px;align-items:center;margin:4px 0}
.studio-denoise-panel .denoise-execution{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px;padding-top:8px;border-top:1px dashed var(--line)}
.studio-denoise-panel .denoise-execution .note{margin:0;font-size:11px}
