/* Library rows: a quiet tag column, short titles and optional secondary controls. */
.table-wrap .track-table{min-width:880px;table-layout:fixed}
.track-table tbody tr{background:#1d1b26}
.track-table tbody tr:nth-child(even){background:#25202f}
.track-table tbody tr:hover{background:#2b2436}
.track-table th{padding:10px 7px;font-size:9px;line-height:1.5}
.track-table th.check-cell{width:4%;padding-left:12px}
.track-table .name-heading{width:27%}.track-table .tags-heading{width:26%}
.track-table .harmonic-heading-cell{width:11%}.track-table .bpm-heading{width:8%}
.track-table .result-heading{width:11%}.track-table .actions-heading{width:13%}
.table-wrap .track-table td{padding:10px 7px;vertical-align:middle}
.track-table td.check-cell{padding-left:12px}
.track-table .name-cell,.track-table .tags-cell{width:auto;min-width:0}
.track-table .track-name{min-width:0;gap:7px;align-items:flex-start}
.track-table .track-controls{display:flex;flex-direction:column;gap:5px;flex:0 0 28px}
.track-table .play-button{height:28px;width:28px;flex-basis:28px;border-radius:6px;font-size:9px;margin-top:1px}
.track-table .track-row-tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:6px}.track-table .track-row-tools .track-options{margin:0}.track-table .track-row-tools .track-options[open]{flex-basis:100%}.track-table .timeline-video-button{display:inline-flex;align-items:center;justify-content:flex-start;gap:6px;width:fit-content;max-width:100%;height:auto;min-height:30px;padding:6px 9px;border:1px solid #8c6aab;border-radius:6px;background:linear-gradient(135deg,#513a69,#382a4a);color:#efddff;cursor:pointer;font-size:10px;font-weight:500;line-height:1.4;text-align:left;white-space:normal}
.track-table .timeline-video-button svg{width:16px;height:16px;flex:0 0 16px}.track-table .timeline-video-button>span{min-width:0;overflow-wrap:anywhere}
.track-table .timeline-video-button:hover:not(:disabled){color:#fff;border-color:#c6a3ef;background:#543d6b}
.track-table .timeline-video-button:disabled{opacity:.65;cursor:not-allowed}
.track-table .track-info{max-width:none;width:100%;min-width:0}
.track-table .file-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal;overflow-wrap:anywhere;max-width:none;font-size:11px;line-height:1.4;color:#e9dff2}
.track-table .track-meta{font-size:8.5px;line-height:1.5;margin-top:3px;color:#a79ab5}
.track-options{margin-top:4px}
.track-options>summary{display:inline-flex;align-items:center;gap:5px;list-style:none;cursor:pointer;font-size:9px;line-height:1.5;color:#b5a3c5;padding:1px 0}
.track-options>summary::-webkit-details-marker{display:none}
.track-options>summary>span{font-size:11px;transition:transform .15s}
.track-options[open]>summary>span{transform:rotate(180deg)}
.track-options>summary:hover{color:#ead4ff}
.track-options-body{padding:9px;margin-top:5px;border:1px solid #46344f;border-radius:6px;background:#18131f}
.track-option-label{display:block;font-size:8px;line-height:1.5;color:#ab95bb}
.track-table .track-options .final-name{margin-top:3px;max-width:none;font-size:9px;line-height:1.6;color:#cebddc;overflow-wrap:anywhere}
.track-table .track-options .relative-path{max-width:100%;font-size:8px}
.track-table .emotion-field{margin-top:9px;display:block;font-size:9px;max-width:none}
.track-table .emotion-field>span{display:block;margin-bottom:4px}
.track-table .emotion-select{max-width:none;width:100%;font-size:10px;min-height:29px;padding:4px 6px}
.track-tempo-options{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px;font-size:9px;color:#c3acd2}
.track-tempo-options .bpm-adjust{margin:0;gap:5px}
.track-tempo-options .bpm-adjust button{min-width:30px;min-height:26px;font-size:10px;padding:3px 5px}
.track-table .key-select{width:94px;max-width:100%;min-height:31px;font-size:11px;padding:5px 4px}
.track-table .bpm-input{width:56px;max-width:100%;height:31px;font-size:11px;padding:5px}
.track-table .key-desc{font-size:8px;line-height:1.45;margin-top:4px;overflow-wrap:anywhere}
.track-table .status{font-size:8px;line-height:1.4;white-space:normal;padding:3px 5px}
.track-table .result-hint{font-size:8px;line-height:1.5;margin-top:3px;max-width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.track-table .row-actions{min-width:0;display:flex;flex-wrap:nowrap;gap:1px;justify-content:flex-end}
.track-table .row-actions .icon-button{width:24px;height:28px;flex:0 0 24px;font-size:16px}
.track-table .track-tags{position:relative;margin:0;min-width:0}
.track-table .track-tag-group{display:grid;grid-template-columns:35px minmax(0,1fr);gap:5px;margin:0;align-items:start}
.track-table .track-tag-group+.track-tag-group{margin-top:3px}
.track-table .track-tag-group>span{font-size:8px;line-height:20px;margin:0;color:#ab96bc;white-space:nowrap}
.track-table .track-tag-group>div{display:flex;flex-wrap:wrap;gap:0 4px;min-width:0}
.track-table .track-tag-group:first-child>div{padding-right:23px}
.track-table .track-tag-chip{display:inline-flex;align-items:center;min-height:20px;max-width:100%;padding:0;border:0;background:transparent;border-radius:4px;font-size:9px;line-height:1.35;color:#e5d9ed;overflow-wrap:anywhere}
.track-table .track-tag-chip>span{display:block;max-width:100%;padding:1px 5px;border:1px solid color-mix(in srgb,var(--tag-from) 30%,#302438);border-radius:4px;background:linear-gradient(120deg,color-mix(in srgb,var(--tag-from) 12%,#251d2e),color-mix(in srgb,var(--tag-to) 7%,#1c1723))}
.track-table .track-tag-chip:hover{filter:none;color:#fff}
.track-table .track-tag-chip:hover>span{border-color:var(--tag-from);background:color-mix(in srgb,var(--tag-from) 19%,#21182b)}
.track-table .edit-tags{position:absolute;top:-2px;right:-3px;display:grid;place-items:center;width:24px;min-height:24px;margin:0;padding:0;border:1px solid transparent;background:transparent;color:#b49dc6;font-size:16px;border-radius:4px}
.track-table .edit-tags:hover{color:#ead0ff;background:#35253f;border-color:#5d416e}
.track-table .tag-pending{padding-right:24px;font-size:9px;line-height:1.5;color:#ab97ba}
.track-table button:focus-visible,.track-options>summary:focus-visible{outline:2px solid #d9b6f0;outline-offset:2px}
@media(max-width:900px){
  .table-wrap{overflow-x:visible}
  .table-wrap .track-table{display:block;min-width:0;table-layout:auto}
  .track-table thead,.track-table thead tr,.track-table tbody{display:block}
  .track-table th:not(.check-cell){display:none}
  .track-table th.check-cell{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;font-size:10px}
  .track-table th.check-cell::after{content:attr(data-mobile-label)}
  .table-wrap .track-table tbody tr{display:grid;grid-template-columns:18px minmax(0,1fr) 100px;gap:8px 9px;padding:12px;border-top:1px solid #44314f}
  .table-wrap .track-table td{display:block;min-width:0;border:0;padding:0}
  .table-wrap .track-table td.check-cell{grid-column:1;grid-row:1/5;padding:5px 0 0}
  .table-wrap .track-table .name-cell{grid-column:2/4;grid-row:1;width:auto}
  .table-wrap .track-table .tags-cell{grid-column:2/4;grid-row:2;padding-left:35px}
  .table-wrap .track-table .harmonic-cell{grid-column:2;grid-row:3;padding-left:35px}
  .table-wrap .track-table .bpm-cell{grid-column:3;grid-row:3}
  .table-wrap .track-table .result-cell{grid-column:2;grid-row:4;padding-left:35px;align-self:center}
  .table-wrap .track-table .actions-cell{grid-column:3;grid-row:4;align-self:center}
  .track-table .file-name{font-size:11.5px;line-height:1.4}
  .track-table .track-meta{font-size:8.5px}
  .track-table .track-tag-group{grid-template-columns:37px minmax(0,1fr);gap:5px}
  .track-table .track-tag-group>span{line-height:24px;font-size:8.5px}
  .track-table .track-tag-chip{min-height:24px;font-size:9.5px;padding:2px 0}
  .track-table .track-tag-chip>span{padding:1px 5px}
  .track-table .edit-tags{min-height:28px;width:28px;top:-1px}
  .track-table .track-tag-group:first-child>div{padding-right:27px}
  .track-table .key-select{height:32px;min-height:32px;font-size:12px}
  .track-table .bpm-input{width:100%;height:32px;font-size:12px}
  .track-table .status{font-size:8px}
  .track-table .result-hint{font-size:8px;-webkit-line-clamp:1}
  .track-table .row-actions .icon-button{height:32px;width:24px;border:1px solid #46334f;border-radius:4px;flex-basis:24px;font-size:16px}
  .track-table .emotion-select{min-height:34px;font-size:12px}
  .track-tempo-options .bpm-adjust button{min-height:30px;min-width:38px;font-size:12px}
  .track-table .inspected td{background:transparent}
  .track-table .inspected{background:#271c32}
}
@media(prefers-reduced-motion:reduce){.track-options>summary>span{transition:none}}
@media(max-width:380px){.topbar{flex-wrap:wrap;gap:8px}.topbar .top-actions{margin-left:auto;max-width:100%;flex-wrap:wrap}}

@media(max-width:660px){.track-table .track-row-tools{gap:7px 10px;margin-top:7px}.track-table .timeline-video-button{min-height:34px;font-size:10px;padding:7px 9px}}
