@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jost-cyrillic-400-normal-bVZEi0jL.woff2) format("woff2"),url(/assets/jost-cyrillic-400-normal-Dk3McGkH.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jost-latin-ext-400-normal-CpdMQIMr.woff2) format("woff2"),url(/assets/jost-latin-ext-400-normal-Dsyb2mtt.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jost-latin-400-normal-q-RKOgPK.woff2) format("woff2"),url(/assets/jost-latin-400-normal-C7S-3Ky6.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jost-cyrillic-500-normal-DtB2bvF0.woff2) format("woff2"),url(/assets/jost-cyrillic-500-normal-DlHwnXyv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jost-latin-ext-500-normal-BkvHgcKf.woff2) format("woff2"),url(/assets/jost-latin-ext-500-normal-Cpxiadwk.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jost-latin-500-normal-41lBe9I9.woff2) format("woff2"),url(/assets/jost-latin-500-normal-B-AtzreL.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jost-cyrillic-600-normal-BEDXyecp.woff2) format("woff2"),url(/assets/jost-cyrillic-600-normal-D0Fzn8un.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jost-latin-ext-600-normal-D8I9kjga.woff2) format("woff2"),url(/assets/jost-latin-ext-600-normal-Pm6OqGZB.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jost-latin-600-normal-C497H-z9.woff2) format("woff2"),url(/assets/jost-latin-600-normal-Bv_M0d15.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jost-cyrillic-700-normal-_ob5o-r5.woff2) format("woff2"),url(/assets/jost-cyrillic-700-normal-BHDNzvjF.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jost-latin-ext-700-normal-AnR_ULdm.woff2) format("woff2"),url(/assets/jost-latin-ext-700-normal-DTcCupJy.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jost-latin-700-normal-u2Hrqd6k.woff2) format("woff2"),url(/assets/jost-latin-700-normal-k-iBXzmq.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg-primary: #0a0a0a;--bg-secondary: #141414;--bg-tertiary: #1c1c1c;--text-primary: #f5f5f5;--text-secondary: #a3a3a3;--accent: #ff3b3b;--accent-hover: #e63535;--highlight: #ffe234;--nav-active-bg: #e8e8e8;--nav-active-fg: #0a0a0a;--nav-active-muted: #525252;--border: #2e2e2e;--selected: #222222;--font-sans: "Jost", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.app{display:flex;flex-direction:column;height:100vh}.app-body{flex:1;display:flex;min-height:0;overflow:hidden}.menu-bar{display:flex;align-items:center;gap:2px;padding:0 10px;height:32px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;user-select:none;z-index:50}.menu-logo{display:flex;align-items:center;gap:8px;margin-right:10px;padding:0 4px;color:var(--text-primary);font-size:.82rem;font-weight:600;letter-spacing:.01em;white-space:nowrap}.menu-logo img{width:20px;height:20px;display:block;border-radius:3px;background:#000}.menu-logo-name{display:flex;align-items:baseline;gap:6px;color:var(--text-primary);font-weight:600}.menu-logo-name span{color:var(--text-secondary);font-weight:500;font-size:.78rem}.menu-spacer{flex:1}.menu-who{font-size:.68rem;color:var(--text-secondary);max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 8px}.menu-logout{color:var(--text-secondary)!important}.menu-live{font-size:.68rem;color:var(--accent);padding:0 8px}.menu-dd-title{font-size:.68rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;padding:5px 10px 3px}.menu-dd-empty{padding:6px 10px;font-size:.8rem;color:var(--text-secondary)}.menu-item{position:relative}.menu-item>button{background:none;border:none;color:var(--text-primary);padding:4px 10px;font-size:.85rem;border-radius:4px;cursor:pointer}.menu-item>button:hover,.menu-item.open>button{background:var(--bg-tertiary)}.menu-dropdown{position:absolute;top:100%;left:0;min-width:220px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;padding:4px;box-shadow:0 8px 24px #00000059;z-index:60}.menu-dropdown button{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;background:none;border:none;color:var(--text-primary);padding:8px 12px;border-radius:4px;cursor:pointer;font-size:.85rem;white-space:nowrap}.menu-dropdown button:hover:not(:disabled){background:var(--accent);color:#fff}.menu-dropdown button:disabled{opacity:.4;cursor:not-allowed}.menu-sep{height:1px;background:var(--border);margin:4px 6px}.menu-sub{position:relative}.menu-sub>.has-sub{cursor:default}.menu-caret{opacity:.7;margin-left:16px}.menu-shortcut{margin-left:28px;font-size:.72rem;letter-spacing:.02em;color:var(--text-secondary);font-variant-numeric:tabular-nums}.menu-dropdown button:hover:not(:disabled) .menu-shortcut{color:#fffc}.menu-dropdown.nested{display:none;top:-4px;left:calc(100% - 4px)}.menu-sub:hover>.menu-dropdown.nested{display:block}.menu-status{margin-left:auto;font-size:.78rem;color:var(--text-secondary);padding-right:8px}.menu-filters{margin-left:4px}.menu-filters>button{display:inline-flex;align-items:center;gap:6px}.menu-filters>button.active{background:var(--bg-tertiary);color:#fff}.menu-filter-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--accent);color:#fff;font-size:.68rem;font-weight:600;line-height:1}.import-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#08080cb8;backdrop-filter:blur(4px)}.import-modal{width:min(420px,calc(100vw - 32px));padding:24px 28px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;box-shadow:0 16px 48px #00000073}.import-modal-title{font-size:1.15rem;font-weight:600;margin-bottom:6px}.import-modal-stage{font-size:.88rem;color:var(--text-secondary);margin-bottom:16px}.import-progress-track{height:8px;border-radius:999px;background:var(--bg-tertiary);overflow:hidden}.import-progress-fill{height:100%;width:0%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--highlight));transition:width .15s ease-out}.import-progress-track.is-indeterminate .import-progress-fill{width:40%;animation:import-indeterminate 1.2s ease-in-out infinite}@keyframes import-indeterminate{0%{transform:translate(-120%)}to{transform:translate(280%)}}.import-modal-meta{margin-top:10px;font-size:.8rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.gen-col-modal{width:min(1180px,calc(100vw - 28px));height:min(620px,calc(100vh - 56px));max-height:min(620px,calc(100vh - 56px));display:flex;flex-direction:column;padding:14px 18px 12px}.gen-col-header{display:flex;align-items:center;gap:16px;flex-shrink:0;margin-bottom:10px}.gen-col-header-left{flex:0 0 auto;min-width:140px}.gen-col-header .import-modal-title{margin-bottom:0;font-size:1.05rem}.gen-col-subtitle{margin:2px 0 0;font-size:.72rem;color:var(--text-secondary)}.gen-col-name-inline{flex:1 1 220px;max-width:360px}.gen-col-header .gen-col-count{flex:0 0 auto;margin:0;white-space:nowrap}.gen-col-body{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(420px,1.55fr) minmax(240px,1fr);gap:12px;min-height:0;flex:1;overflow:hidden;margin-bottom:10px}@media(max-width:960px){.gen-col-modal{height:auto;max-height:calc(100vh - 40px)}.gen-col-body{grid-template-columns:1fr;overflow:auto}.gen-col-header{flex-wrap:wrap}}.gen-col-section{min-height:0;display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-primary);overflow:hidden}.gen-col-section-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-weight:600;margin:0}.gen-col-section-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0}.gen-col-hint{margin:0;flex-shrink:0}.gen-col-tree{flex:1;min-height:0;overflow:auto;border:1px solid var(--border);border-radius:8px;padding:4px 0;background:var(--bg-secondary)}.gen-col-tree-row{display:flex;align-items:center;gap:4px;min-height:24px}.gen-col-tree-label{display:flex;align-items:center;gap:6px;flex:1;min-width:0;font-size:.78rem;cursor:pointer}.gen-col-tree-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gen-col-tree-label span.is-folder{font-weight:600}.gen-col-tree-count{margin-left:auto;font-size:.68rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.gen-col-clear{font-size:.68rem;padding:2px 8px}.gen-col-search{width:100%;flex-shrink:0;padding:5px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-size:.8rem}.gen-col-filters-mid{display:grid;grid-template-columns:180px minmax(0,1fr);gap:14px;align-items:start;flex:1;min-height:0;overflow:hidden}.gen-col-wheel-wrap{display:flex;justify-content:center;align-items:center;width:180px;height:180px;flex-shrink:0;overflow:visible}.gen-col-wheel-wrap .camelot-wheel{width:180px;height:180px}.gen-col-wheel-wrap .camelot-wheel svg{width:180px;height:180px;display:block}.gen-col-wheel-wrap .camelot-label{font-size:8px}.gen-col-genres{min-width:0;min-height:0;display:flex;flex-direction:column;gap:4px;overflow:hidden}.gen-col-genres .filter-genre-list{flex:1;min-height:0;max-height:none;overflow:auto}.gen-col-ranges{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:8px 18px;flex-shrink:0;padding-top:6px;border-top:1px solid var(--border)}.gen-col-ranges .range-filter{margin:0;min-width:0}.gen-col-name-label{display:flex;flex-direction:column;gap:3px;font-size:.7rem;color:var(--text-secondary)}.gen-col-name-input{padding:6px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-size:.88rem}.gen-col-count{font-size:.95rem;font-weight:600;font-variant-numeric:tabular-nums}.gen-col-count-muted{font-weight:400;color:var(--text-secondary);font-size:.78rem}.gen-col-preview{list-style:none;margin:0;padding:0;flex:1;min-height:0;overflow:auto;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary)}.gen-col-preview li{padding:5px 10px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:0}.gen-col-preview li:last-child{border-bottom:none}.gen-col-preview-title{font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gen-col-preview-meta{font-size:.68rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gen-col-preview-more,.gen-col-preview-empty{font-size:.72rem;color:var(--text-secondary);font-style:italic}.gen-col-error{color:#e74c3c;font-size:.8rem;margin-bottom:6px;flex-shrink:0}.gen-col-modal .analyze-modal-actions{flex-shrink:0;margin-top:0}.analyze-modal{width:min(440px,calc(100vw - 32px))}.analyze-modal-hint{font-size:.82rem;color:var(--text-secondary);line-height:1.4;margin:0 0 14px}.analyze-options{list-style:none;display:flex;flex-direction:column;gap:8px;margin:0 0 18px;padding:0}.analyze-option{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg-primary);cursor:pointer}.analyze-option:hover{border-color:var(--text-secondary)}.analyze-option input{margin-top:3px;accent-color:var(--accent)}.analyze-option-text{display:flex;flex-direction:column;gap:2px}.analyze-option-label{font-size:.88rem;color:var(--text-primary);font-weight:500}.analyze-option-hint{font-size:.75rem;color:var(--text-secondary)}.analyze-errors{margin:10px 0 0;padding-left:18px;font-size:.75rem;color:#f0b0b8;max-height:80px;overflow-y:auto}.analyze-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.mood-calib-overlay{align-items:stretch;padding:18px}.mood-calib-modal{width:min(1100px,calc(100vw - 36px));height:min(860px,calc(100vh - 36px));max-height:none;display:flex;flex-direction:column;padding:18px 20px 14px}.mood-calib-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-shrink:0}.mood-calib-header .import-modal-title{margin-bottom:4px}.mood-calib-sub{margin:0;font-size:.8rem;color:var(--text-secondary);line-height:1.4;max-width:64ch}.mood-calib-stats{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:baseline;margin:12px 0 10px;font-size:.8rem;color:var(--text-secondary);flex-shrink:0}.mood-calib-mae.ok{color:#7dcea0}.mood-calib-mae.bad{color:#e8a0a8}.mood-calib-mae.muted,.mood-calib-scores.muted{color:var(--text-secondary);opacity:.85}.mood-calib-mae-n{opacity:.75}.mood-calib-groups{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;flex-shrink:0}.mood-calib-chip{border:1px solid var(--border);background:var(--bg-primary);color:var(--text-secondary);border-radius:999px;padding:4px 10px;font-size:.72rem;cursor:pointer}.mood-calib-chip:hover{border-color:var(--text-secondary);color:var(--text-primary)}.mood-calib-chip.active{border-color:var(--accent);color:var(--text-primary);background:color-mix(in srgb,var(--accent) 18%,var(--bg-primary))}.mood-calib-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.9fr);gap:14px}.mood-calib-slots{overflow:auto;min-height:0;padding-right:4px}.mood-calib-group-block{margin-bottom:14px}.mood-calib-group-title{margin:0 0 8px;font-size:.85rem;font-weight:600;color:var(--text-primary);display:flex;flex-direction:column;gap:2px}.mood-calib-group-hint{font-size:.72rem;font-weight:400;color:var(--text-secondary)}.mood-calib-slot-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.mood-calib-slot-list>li{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:stretch}.mood-calib-slot{text-align:left;border:1px solid var(--border);background:var(--bg-primary);border-radius:8px;padding:8px 10px;cursor:pointer;color:inherit;width:100%}.mood-calib-slot:hover{border-color:var(--text-secondary)}.mood-calib-slot.focused{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 55%,transparent)}.mood-calib-slot-top{display:flex;flex-direction:column;gap:2px;margin-bottom:6px}.mood-calib-slot-label{font-size:.82rem;font-weight:500;color:var(--text-primary)}.mood-calib-slot-expect{font-size:.7rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.mood-calib-slot-track{display:flex;flex-direction:column;gap:1px}.mood-calib-track-title{font-size:.78rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mood-calib-track-meta{font-size:.68rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.mood-calib-track-empty{font-size:.75rem;color:var(--text-secondary);font-style:italic}.mood-calib-scores{display:flex;gap:10px;margin-top:6px;font-size:.72rem;font-variant-numeric:tabular-nums}.mood-calib-scores .ok{color:#7dcea0}.mood-calib-scores .bad{color:#e8a0a8}.mood-calib-slot-actions{display:flex;flex-direction:column;gap:4px;justify-content:center}.btn-tiny{padding:4px 8px;font-size:.72rem}.mood-calib-picker{border:1px solid var(--border);border-radius:8px;background:var(--bg-primary);padding:12px;display:flex;flex-direction:column;min-height:0}.mood-calib-picker-title{margin:0 0 4px;font-size:.88rem}.mood-calib-picker-hint{margin:0 0 10px;font-size:.72rem;color:var(--text-secondary);line-height:1.35}.mood-calib-assign-row{margin-bottom:10px}.mood-calib-assign-row .btn-primary{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mood-calib-search-label{display:flex;flex-direction:column;gap:4px;font-size:.72rem;color:var(--text-secondary);margin-bottom:8px}.mood-calib-search{border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);padding:7px 10px;font-size:.82rem}.mood-calib-search:focus{outline:none;border-color:var(--accent)}.mood-calib-track-list{list-style:none;margin:0;padding:0;overflow:auto;flex:1;min-height:0;display:flex;flex-direction:column;gap:4px}.mood-calib-track-btn{width:100%;text-align:left;border:1px solid transparent;background:transparent;border-radius:6px;padding:6px 8px;cursor:pointer;color:inherit;display:flex;flex-direction:column;gap:1px}.mood-calib-track-btn:hover:not(:disabled){border-color:var(--border);background:var(--bg-secondary)}.mood-calib-track-btn:disabled{opacity:.45;cursor:not-allowed}.mood-calib-progress{margin-top:10px;font-size:.78rem;color:var(--text-secondary);flex-shrink:0}.mood-calib-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding-top:10px;border-top:1px solid var(--border);flex-shrink:0}.mood-calib-footer-right{display:flex;gap:8px}@media(max-width:820px){.mood-calib-body{grid-template-columns:1fr}.mood-calib-picker{max-height:280px}}.btn-primary,.btn-secondary{border-radius:6px;padding:7px 14px;font-size:.85rem;cursor:pointer;border:1px solid var(--border)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary)}.btn-secondary:hover{border-color:var(--text-secondary)}.import-modal-detail{margin-top:8px;font-size:.78rem;color:var(--text-primary);opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-shell{position:relative;flex-shrink:0;height:100%;display:flex;min-height:0}.sidebar-shell>.sidebar{width:var(--sidebar-width, 260px);flex-shrink:0}.inspector-shell{position:relative;flex-shrink:0;height:100%;display:flex;min-height:0}.inspector-shell>.inspector-dock{height:100%;min-height:0}.inspector-shell>.inspector-dock>.track-inspector{width:var(--inspector-width, 340px)}.unfit-shell{flex:0 0 280px;min-width:220px;max-width:340px;display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--border);background:var(--bg-secondary)}.panel-resize-handle{z-index:20;background:transparent}.panel-resize-overlay{position:absolute;top:0;bottom:0;width:6px;cursor:col-resize}.panel-resize-overlay:after{content:"";position:absolute;top:0;bottom:0;left:2px;width:2px;background:transparent;transition:background .12s ease}.panel-resize-inline{position:relative;flex:0 0 6px;width:100%;height:6px;cursor:row-resize;margin:2px 0}.panel-resize-inline.panel-resize-right,.panel-resize-inline.panel-resize-left{width:6px;height:auto;align-self:stretch;cursor:col-resize;margin:0 2px}.panel-resize-inline:after{content:"";position:absolute;left:0;right:0;top:2px;height:2px;background:var(--border);transition:background .12s ease}.panel-resize-inline.panel-resize-right:after,.panel-resize-inline.panel-resize-left:after{inset:0 auto 0 2px;width:2px;height:auto}.panel-resize-handle:hover:after,.panel-resize-handle:focus-visible:after,body.panel-resizing .panel-resize-overlay:after,body.panel-resizing-row .panel-resize-inline:after{background:var(--accent)}.panel-resize-right{right:-3px}.panel-resize-left{left:-3px}body.panel-resizing,body.panel-resizing *{cursor:col-resize!important;user-select:none!important}body.panel-resizing-row,body.panel-resizing-row *{cursor:row-resize!important;user-select:none!important}.sidebar{width:var(--sidebar-width, 260px);background:var(--bg-secondary);border-right:1px solid var(--border);padding:16px;display:flex;flex-direction:column;gap:12px;overflow:hidden;box-sizing:border-box;min-height:0;height:100%}.sidebar-library-nav{flex-shrink:0}.sidebar-split{flex:1 1 0;min-height:0;display:flex;flex-direction:column}.sidebar-pane{min-height:0;overflow-x:hidden;overflow-y:auto}.sidebar-playlists-pane{flex:0 0 var(--sidebar-split-top, 55%);min-height:72px}.sidebar-curation-pane{flex:1 1 0;min-height:72px;display:flex;flex-direction:column}.sidebar-curation-pane>.curation-nav{flex:1 1 auto;min-height:0}.sidebar .stats-panel{flex-shrink:0}.nav-section h3{font-size:.75rem;text-transform:uppercase;color:var(--text-secondary);margin-bottom:8px;letter-spacing:.05em}.nav-section-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.nav-section-header h3{margin-bottom:0}.nav-section-actions{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}.btn-folder-tree{padding:3px 7px;font-size:.68rem;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);border-radius:4px;cursor:pointer}.btn-folder-tree:hover{color:var(--text-primary);border-color:var(--text-secondary)}.btn-icon-filter{position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);border-radius:6px;cursor:pointer}.btn-icon-filter:hover,.btn-icon-filter.active{color:var(--text-primary);border-color:var(--text-secondary)}.btn-icon-filter.active{background:var(--selected);color:#fff}.btn-icon-filter-badge{position:absolute;top:-4px;right:-4px;min-width:14px;height:14px;padding:0 3px;border-radius:7px;background:var(--accent);color:#fff;font-size:.62rem;font-weight:700;line-height:14px;text-align:center}.track-context-menu{position:fixed;z-index:80;min-width:200px;padding:4px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px #0006;overflow:visible}.track-context-menu button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;background:none;border:none;color:var(--text-primary);padding:8px 12px;border-radius:4px;cursor:pointer;font-size:.85rem}.track-context-menu>button:hover:not(:disabled),.track-context-item.open>button,.track-context-submenu>button:hover:not(:disabled),.track-context-group>button:hover:not(:disabled){background:var(--accent);color:#fff}.track-context-menu button:disabled{opacity:.4;cursor:not-allowed}.track-context-item{position:relative}.track-context-item>button{width:100%}.track-context-caret{opacity:.7;font-size:.75rem;flex-shrink:0}.track-context-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-context-meta{flex-shrink:0;opacity:.65;font-size:.75rem}.track-context-submenu{position:absolute;left:calc(100% + 4px);top:0;z-index:81;min-width:200px;max-width:280px;max-height:min(360px,70vh);overflow-x:hidden;overflow-y:auto;padding:4px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px #0006;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.track-context-menu.flip-submenus .track-context-submenu{left:auto;right:calc(100% + 4px)}.track-context-group{padding:2px 0}.track-context-group+.track-context-group{margin-top:4px;border-top:1px solid var(--border);padding-top:6px}.track-context-group-label{padding:4px 12px 2px;font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);user-select:none}.track-context-group>button{padding-left:16px}.track-context-empty{padding:8px 12px;font-size:.8rem;color:var(--text-secondary);line-height:1.35}.track-context-menu button.is-active-target{background:var(--selected)}.btn-danger-sm{padding:3px 8px;font-size:.7rem;background:#3a1a1f;border:1px solid #6b2b35;color:#f0b0b8;border-radius:4px;cursor:pointer}.btn-danger-sm:hover{background:#5a222c;color:#fff}.nav-empty{font-size:.8rem;color:var(--text-secondary);padding:4px 12px}.curation-nav{padding-top:4px}.curation-subsection{margin-bottom:12px}.curation-subsection-header{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:6px;padding:0 4px}.curation-subsection-actions{display:flex;align-items:center;gap:2px}.curation-row{display:flex;align-items:center;gap:2px;border-radius:6px;position:relative}.curation-row:hover{background:var(--bg-tertiary)}.curation-row.active{background:var(--nav-active-bg)}.curation-row.active .curation-row-main,.curation-row.active .curation-expand{color:var(--nav-active-fg)}.curation-row.active .curation-row-count{color:var(--nav-active-muted)}.curation-expand{flex-shrink:0;width:22px;padding:4px 0;background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:.75rem}.curation-row-main{display:flex;align-items:center;gap:6px;flex:1;min-width:0;text-align:left;padding:5px 6px;background:none;border:none;color:var(--text-primary);cursor:pointer;font-size:.88rem}.curation-row-icon{flex-shrink:0}.curation-icon-fallback{display:inline-flex;width:14px;justify-content:center;font-size:.7rem;line-height:1;opacity:.55}.curation-row-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.curation-row-count{flex-shrink:0;font-size:.72rem;color:var(--text-secondary)}.curation-row-actions{display:flex;align-items:center;gap:2px;opacity:0;padding-right:2px}.curation-row:hover .curation-row-actions,.curation-row-actions.is-open{opacity:1}.curation-appearance-wrap{position:relative}.curation-appearance-picker{position:fixed;z-index:1200;width:260px;overflow-x:hidden;overflow-y:auto;padding:12px;border-radius:8px;border:1px solid var(--border);background:var(--bg-secondary);box-shadow:0 10px 28px #00000073;display:flex;flex-direction:column;gap:8px;box-sizing:border-box}.curation-appearance-label{margin:0;font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.curation-color-grid,.curation-icon-grid{display:grid;gap:4px}.curation-color-grid{grid-template-columns:repeat(7,1fr)}.curation-icon-grid{grid-template-columns:repeat(6,1fr)}.curation-color-swatch{width:100%;aspect-ratio:1;border-radius:4px;border:1px solid rgba(255,255,255,.12);cursor:pointer;padding:0}.curation-color-swatch.none{background:linear-gradient(135deg,transparent 46%,var(--text-secondary) 46%,var(--text-secondary) 54%,transparent 54%),var(--bg-primary)}.curation-color-swatch.selected,.curation-icon-pick.selected{box-shadow:0 0 0 2px #fff}.curation-icon-pick{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:4px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;padding:0;min-width:0}.curation-icon-pick:hover{border-color:var(--accent)}.curation-icon-pick.curation-icon-default{aspect-ratio:auto;width:100%;gap:6px;padding:6px 8px;font-size:.72rem;color:var(--text-secondary)}.curation-appearance-credit{margin:0;font-size:.65rem;color:var(--text-secondary);opacity:.7}.curation-chapter{padding-left:18px}.curation-hint{font-size:.72rem;color:var(--text-secondary);padding:4px 6px;line-height:1.35}.curation-row-editing{padding:2px 4px!important}.curation-inline-input{width:100%;min-width:0;box-sizing:border-box;padding:3px 6px;border:1px solid var(--accent);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:.88rem;outline:none}.curation-row.active .curation-inline-input{background:#fff;color:var(--nav-active-fg);border-color:#c4c4c4}.curation-row.drop-over{outline:1px solid var(--accent);background:var(--selected)}body.track-dragging{cursor:grabbing!important;user-select:none!important}body.track-dragging .curation-row{transition:outline .08s ease,background .08s ease;outline:1px dashed rgba(100,160,255,.45)}body.track-dragging .curation-row.drop-over{outline:2px solid var(--accent);background:var(--selected)}.col-drag{width:28px;padding:0!important;text-align:center;vertical-align:middle}.col-play{width:32px;padding:0!important;text-align:center;vertical-align:middle}.row-play{background:transparent;border:none;color:var(--accent);cursor:pointer;font-size:.85rem;padding:0 4px;line-height:1;opacity:.55}.track-table tr:hover .row-play,.track-table tr.selected .row-play,.track-table tr.playing-track .row-play{opacity:1}.playing-mark{color:var(--accent);font-size:.75rem}.track-drag-handle{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin:0 auto;border-radius:4px;font-size:11px;line-height:1;letter-spacing:-2px;color:var(--text-secondary);cursor:grab;user-select:none;touch-action:none;opacity:.55}.track-drag-handle:hover{opacity:1;background:var(--bg-tertiary);color:var(--text-primary)}body.track-dragging .track-drag-handle{cursor:grabbing;opacity:1}.track-drag-ghost{position:fixed;top:0;left:0;z-index:10000;pointer-events:none;max-width:240px;padding:6px 10px;border-radius:6px;background:var(--bg-secondary, #1e1e24);border:1px solid var(--accent);color:var(--text-primary, #fff);font-size:12px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 8px 24px #00000059;will-change:transform}.track-drag-ghost.is-over-target{background:var(--accent);color:#fff}.curation-toolbar-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.playlist-row{display:flex;align-items:center;gap:4px;border-radius:6px;padding-left:4px;position:relative}.playlist-row:hover{background:var(--bg-tertiary)}.playlist-row.active{background:var(--nav-active-bg)}.playlist-row.active button{color:var(--nav-active-fg)}.playlist-row.checked:not(.active){background:var(--selected)}.playlist-row.is-folder>.playlist-row-main{font-weight:600;color:var(--text-secondary)}.playlist-row input[type=checkbox]{flex-shrink:0;cursor:pointer}.playlist-row-main{display:block;width:100%;text-align:left;padding:6px 8px 6px 2px;background:none;border:none;color:var(--text-primary);border-radius:6px;cursor:pointer;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.folder-toggle{flex:0 0 18px!important;width:18px!important;padding:4px 0!important;text-align:center!important;color:var(--text-secondary)!important;font-size:.75rem!important;background:none;border:none;cursor:pointer}.playlist-indent-spacer{flex:0 0 18px;width:18px}.playlist-label{display:inline-flex;align-items:center;gap:6px;max-width:100%;overflow:hidden;text-overflow:ellipsis}.folder-icon-btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px;width:20px;height:22px;padding:0;background:none;border:none;border-radius:3px;cursor:pointer;line-height:0}.folder-icon-btn:hover{background:#ffffff14}.folder-icon{display:block;flex-shrink:0}.folder-color-picker{position:absolute;left:28px;top:calc(100% - 2px);z-index:40;display:flex;flex-direction:column;gap:8px;padding:10px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000073;min-width:168px}.folder-color-swatches{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.folder-color-swatch{width:20px;height:20px;border-radius:4px;border:1px solid rgba(255,255,255,.15);cursor:pointer;padding:0}.folder-color-swatch.selected{outline:2px solid var(--accent);outline-offset:1px}.folder-color-custom{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.75rem;color:var(--text-secondary)}.folder-color-custom input[type=color]{width:36px;height:24px;padding:0;border:1px solid var(--border);border-radius:4px;background:transparent;cursor:pointer}.folder-color-reset{font-size:.75rem;padding:4px 8px;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);border-radius:4px;cursor:pointer}.folder-color-reset:hover{color:var(--text-primary)}.track-count{color:var(--text-secondary);font-size:.85em}.playlist-row.active .track-count{color:var(--nav-active-muted)}.nav-section>button{display:flex;width:100%;text-align:left;align-items:center;gap:8px;padding:8px 12px;background:none;border:none;color:var(--text-primary);border-radius:6px;cursor:pointer;font-size:.9rem;transition:background .15s,color .15s}.nav-section>button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.nav-section>button.active{background:var(--nav-active-bg);color:var(--nav-active-fg)}.nav-section>button .nav-count{margin-left:auto;font-size:.7rem;color:var(--text-secondary)}.nav-section>button.active .nav-count{color:var(--nav-active-muted)}.sidebar-add-track{color:var(--text-secondary)!important}.sidebar-add-track:hover{color:var(--text-primary)!important;background:var(--bg-tertiary)}.sidebar-curation-fill{flex:1 1 0;min-height:0}.stats-panel{margin-top:auto;padding:12px;background:var(--bg-tertiary);border-radius:8px;font-size:.85rem;color:var(--text-secondary)}.stats-panel h3{color:var(--text-primary);margin-bottom:6px}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.workspace{flex:1;display:flex;min-height:0;overflow:hidden}.workspace-center{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.track-panel{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.playlist-tabs{display:flex;align-items:stretch;gap:2px;padding:0 12px;border-bottom:1px solid var(--border);background:var(--bg-secondary);overflow-x:auto;flex-shrink:0;min-height:36px}.playlist-tabs-empty{align-items:center}.playlist-tabs-hint{font-size:.78rem;color:var(--text-secondary);padding:8px 4px;white-space:nowrap;opacity:.75}.playlist-tab-wrap{display:flex;align-items:stretch;position:relative;flex-shrink:0}.playlist-tab{display:inline-flex;align-items:center;gap:6px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);padding:8px 12px;cursor:pointer;font-size:.82rem;white-space:nowrap;max-width:180px}.playlist-tab-wrap .playlist-tab{padding-right:22px}.playlist-tab:hover{color:var(--text-primary);background:#ffffff08}.playlist-tab.active,.playlist-tab-wrap.active .playlist-tab{color:var(--text-primary);border-bottom-color:var(--accent)}.playlist-tab-label{overflow:hidden;text-overflow:ellipsis}.playlist-tab-count{font-size:.75rem;color:var(--text-secondary);opacity:.8}.playlist-tab.active .playlist-tab-count{color:var(--text-secondary)}.playlist-tab-unpin{position:absolute;right:2px;top:50%;transform:translateY(-50%);width:18px;height:18px;padding:0;border:none;border-radius:4px;background:none;color:var(--text-secondary);cursor:pointer;font-size:.95rem;line-height:1;opacity:0;display:flex;align-items:center;justify-content:center}.playlist-tab-wrap:hover .playlist-tab-unpin,.playlist-tab-wrap.active .playlist-tab-unpin{opacity:.7}.playlist-tab-unpin:hover{opacity:1!important;color:var(--text-primary);background:#ffffff14}.playlist-pin-btn{flex:0 0 22px;width:22px;height:22px;padding:0;margin-right:4px;background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:.85rem;line-height:1;opacity:0;display:flex;align-items:center;justify-content:center}.playlist-as-chapter-btn{flex:0 0 22px;width:22px;height:22px;padding:0;background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:.78rem;line-height:1;opacity:0;display:flex;align-items:center;justify-content:center}.playlist-row:hover .playlist-as-chapter-btn{opacity:1}.playlist-as-chapter-btn:hover,.playlist-row .playlist-as-chapter-btn[aria-expanded=true]{opacity:1;color:var(--text-primary);background:#ffffff14}.playlist-row.active .playlist-as-chapter-btn{color:var(--nav-active-muted)}.chapter-dest-anchor{position:relative}.chapter-dest-picker{position:absolute;right:4px;top:calc(100% - 2px);z-index:45;display:flex;flex-direction:column;gap:2px;padding:8px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000073;min-width:196px;max-width:260px;max-height:240px;overflow-y:auto}.chapter-dest-hint,.chapter-dest-empty{margin:0 4px 4px;font-size:.72rem;color:var(--text-secondary)}.chapter-dest-item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;text-align:left;background:none;border:none;color:var(--text-primary);padding:7px 8px;border-radius:5px;cursor:pointer;font-size:.82rem}.chapter-dest-item:hover,.chapter-dest-item.is-current{background:var(--bg-tertiary)}.chapter-dest-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-dest-badge{flex-shrink:0;font-size:.68rem;color:var(--text-secondary)}.playlist-row:hover .playlist-pin-btn,.playlist-row.is-pinned .playlist-pin-btn{opacity:1}.playlist-pin-btn:hover:not(:disabled){color:#f1c40f;background:#ffffff14}.playlist-pin-btn.pinned{color:#f1c40f;opacity:1}.playlist-pin-btn:disabled{opacity:.25;cursor:not-allowed}.playlist-row.active .playlist-pin-btn{color:var(--nav-active-muted)}.playlist-row.active .playlist-pin-btn.pinned{color:#b8860b}.toolbar{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--border);flex-wrap:wrap;min-height:44px}.toolbar-cluster{display:flex;align-items:center;gap:8px;flex-shrink:0}.toolbar-cluster-left{flex:0 1 auto;min-width:0}.toolbar-cluster-right{margin-left:auto;gap:10px}.toolbar .search-input{flex:1 1 160px;min-width:140px;max-width:280px}.toolbar-action-btn{padding:5px 10px;font-size:.75rem;white-space:nowrap}.toolbar-action-btn-active{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 14%,var(--bg-tertiary))}.chapter-split-browse .toolbar{gap:8px;padding:7px 10px}.chapter-split-browse .toolbar .search-input{max-width:200px;padding:6px 10px;font-size:.8rem}.chapter-split-browse .view-toggle-btn{padding:4px 8px;font-size:.72rem}.search-input{flex:1;max-width:400px;padding:8px 14px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:.9rem;outline:none}.search-input:focus{border-color:var(--accent)}.font-size-control{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;user-select:none}.font-size-label{font-size:.7rem;color:var(--text-secondary);font-weight:600;line-height:1}.font-size-label-lg{font-size:.95rem}.font-size-slider{width:88px;height:4px;accent-color:var(--accent);cursor:pointer}.font-size-value{min-width:18px;font-size:.72rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.scatter-zoom-control .font-size-value{min-width:36px}.scatter-zoom-control .font-size-slider{width:100px}.track-count{color:var(--text-secondary);font-size:.78rem;font-variant-numeric:tabular-nums;white-space:nowrap}.track-count:after{content:" tracks"}.track-count-split:after{content:none}.chapter-split-browse .track-count:after{content:""}.btn-clear{padding:6px 12px;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);border-radius:6px;cursor:pointer;font-size:.8rem}.btn-clear.is-saved-flash{color:var(--accent);border-color:var(--accent)}.btn-danger{padding:6px 12px;background:#3a1a1f;border:1px solid #6b2b35;color:#f0b0b8;border-radius:6px;cursor:pointer;font-size:.8rem}.btn-danger:hover{background:#5a222c;color:#fff}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.inspector-footer .btn-danger{padding:8px 16px;font-size:.9rem}.table-container{flex:1;overflow:auto}.track-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:var(--track-font-size, 13px)}.track-table thead{position:sticky;top:0;background:var(--bg-secondary);z-index:1}.track-table th{position:relative;padding:10px 12px;text-align:left;font-weight:600;color:var(--text-secondary);font-size:.85em;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border);overflow:hidden;white-space:nowrap;user-select:none}.track-table th .th-label{display:block;overflow:hidden;text-overflow:ellipsis}.track-table td{padding:0 12px;border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:var(--track-row-height, 36px);vertical-align:middle}.track-table td.cell-editable{cursor:text}.track-table td.cell-editing{padding:0 4px;overflow:visible}.track-table .cell-edit-input{display:block;width:100%;height:calc(var(--track-row-height, 36px) - 6px);margin:3px 0;padding:0 6px;box-sizing:border-box;border:1px solid var(--accent);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font:inherit;font-size:var(--track-font-size, .85rem);outline:none}.track-table .cell-edit-input:disabled{opacity:.7}.track-table tbody tr{cursor:pointer;transition:background .1s}.track-table tbody tr:hover{background:var(--bg-secondary)}.track-table tbody tr.selected{background:var(--selected)}.track-table tbody tr.active-track{background:color-mix(in srgb,#fff 10%,var(--bg-secondary))}.track-table tbody tr.map-chapter{background:var(--map-chapter-bg)}.track-table tbody tr.map-chapter.selected{background:color-mix(in srgb,var(--selected) 65%,var(--map-chapter-bg))}.track-table tbody tr.map-chapter.active-track{background:color-mix(in srgb,#fff 10%,var(--map-chapter-bg))}.track-table tbody tr.is-branch-row{opacity:.82}.track-branch-title{display:inline-flex;align-items:center;gap:6px;min-width:0}.track-branch-indent{color:var(--text-secondary);font-family:ui-monospace,monospace;opacity:.85;flex:0 0 auto}.track-branch-badge{flex:0 0 auto;font-size:.72em;padding:1px 5px;border-radius:4px;background:#78a0dc38;color:var(--text-secondary);letter-spacing:.02em}.track-chapter-branch-badge{background:#64aa8238}.track-chapter-rejoin-hint{flex:0 0 auto;font-size:.72em;color:var(--text-secondary);opacity:.85}.map-mode-toggle{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--text-secondary);cursor:pointer;user-select:none;white-space:nowrap;padding:4px 8px;border-radius:4px;border:1px solid transparent}.map-mode-toggle.active{color:var(--text-primary);border-color:var(--border);background:color-mix(in srgb,#fff 8%,transparent)}.map-mode-toggle input{margin:0;accent-color:var(--accent)}.col-check{width:36px;text-align:center}.col-num{text-align:right;font-variant-numeric:tabular-nums}.col-key{font-weight:600;color:var(--accent)}.col-source{padding-right:8px!important;vertical-align:middle}.track-source-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:18px;padding:0 6px;border-radius:3px;font-size:.68rem;font-weight:700;letter-spacing:.04em;line-height:1;color:#0c0c10;background:#6b7280}.track-source-badge.is-yt{background:#ff4d4d;color:#fff}.track-source-badge.is-sc{background:#f70;color:#fff}.track-source-badge.is-bc{background:#1da0c3;color:#0a0a0c}.track-source-badge.is-mi{background:#52aad8;color:#0a0a0c}.track-source-badge.is-file{background:#3f3f4a;color:#d4d4de}.track-source-badge.is-unknown{background:transparent;color:var(--text-secondary);font-weight:500}.col-art{padding-right:2px!important;vertical-align:middle}.col-cue{font-variant-numeric:tabular-nums;color:var(--text-secondary);font-size:.9em;padding-right:6px!important}.col-wave{padding-right:4px!important;vertical-align:middle}.col-resize-handle{position:absolute;top:0;right:0;width:6px;height:100%;cursor:col-resize;z-index:2}.col-resize-handle:hover,.col-resizing .col-resize-handle{background:color-mix(in srgb,var(--accent) 55%,transparent)}.col-sortable{cursor:pointer}.col-sortable:hover,.col-sorted{color:var(--text-primary)}.sort-indicator{font-size:.65rem;opacity:.85;letter-spacing:0}body.col-resizing,body.col-resizing *{cursor:col-resize!important;user-select:none!important}body.track-drag-selecting,body.track-drag-selecting *{user-select:none!important;cursor:default!important}.column-picker{position:relative;margin-left:4px}.column-picker-menu{position:absolute;top:calc(100% + 6px);right:0;left:auto;z-index:40;min-width:220px;max-width:min(280px,calc(100vw - 24px));max-height:min(420px,70vh);overflow:auto;padding:8px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 28px #00000059}.column-picker-list{display:flex;flex-direction:column;gap:2px}.column-picker-hint{margin:0 0 6px;padding:0 4px;font-size:.72rem;color:var(--text-secondary)}.column-picker-item{display:flex;align-items:center;gap:6px;padding:4px;border-radius:4px;font-size:.82rem;color:var(--text-primary);user-select:none}.column-picker-item.dragging{opacity:.55;background:var(--selected)}.column-picker-grip{flex-shrink:0;width:22px;height:24px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text-secondary);font-size:.7rem;letter-spacing:-2px;line-height:1;cursor:grab}.column-picker-grip:hover{background:var(--bg-tertiary);border-color:var(--border);color:var(--text-primary)}.column-picker-grip:active{cursor:grabbing}.column-picker-check{display:flex;align-items:center;gap:8px;flex:1;min-width:0;cursor:pointer}.column-picker-move{display:flex;flex-shrink:0;gap:2px}.column-picker-move button{width:22px;height:22px;padding:0;border:1px solid var(--border);border-radius:4px;background:var(--bg-tertiary);color:var(--text-secondary);font-size:.7rem;line-height:1;cursor:pointer}.column-picker-move button:hover:not(:disabled){color:var(--text-primary);border-color:var(--text-secondary)}.column-picker-move button:disabled{opacity:.3;cursor:not-allowed}.column-picker-item:hover{background:var(--bg-tertiary)}.column-picker-item input:disabled+span{opacity:.55}.track-table th.col-resizable{position:relative}.track-table th.col-dragging{opacity:.55;background:var(--selected)}body.col-reordering,body.col-reordering *{cursor:grabbing!important;user-select:none!important}.column-picker-reset{margin-top:8px;width:100%;padding:6px 8px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:.78rem;cursor:pointer}.column-picker-reset:hover{color:var(--text-primary);border-color:var(--text-secondary)}.track-artwork{flex-shrink:0;border-radius:3px;overflow:hidden;background:#12121a;border:1px solid var(--border)}.track-artwork img{width:100%;height:100%;object-fit:cover;display:block}.track-artwork-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#1a1a28,#101018,#1e1e30)}.track-artwork-sm{border-radius:2px}.track-artwork-fill{width:100%;height:100%;border:none;border-radius:0}.deck-artwork{border-radius:4px}.inspector-summary-hero{display:flex;gap:14px;align-items:flex-start;margin-bottom:12px}.inspector-summary-hero h2{margin:0 0 4px}.inspector-info-art{display:flex;align-items:center;gap:12px;margin-bottom:12px}.inspector-art-stack{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.inspector-art-btn{font-size:.75rem;padding:4px 10px;white-space:nowrap}.field-with-action{display:flex;gap:8px;align-items:stretch}.field-with-action input{flex:1;width:auto;min-width:0}.field-with-action .btn-secondary{flex-shrink:0}.settings-modal{width:min(460px,calc(100vw - 32px))}.settings-modal-wide{width:min(520px,calc(100vw - 32px));max-height:min(90vh,820px);overflow-y:auto}.settings-section{margin-bottom:16px}.settings-section .field{margin-bottom:10px}.analyze-modal-wide{width:min(480px,calc(100vw - 32px))}.analyze-mood-source{border:1px solid var(--border);border-radius:8px;padding:8px 10px 10px;margin:0 0 14px;display:flex;flex-direction:column;gap:8px}.analyze-mood-source legend{padding:0 6px;font-size:.78rem;color:var(--text-secondary)}.backup-modal{width:min(520px,calc(100vw - 32px));max-height:min(90vh,860px);overflow-y:auto}.settings-hint{margin:0 0 14px;font-size:.8rem;color:var(--text-secondary);line-height:1.4}.settings-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:16px}.settings-actions .inspector-status{margin-right:auto}.settings-divider{border:none;border-top:1px solid var(--border, rgba(255, 255, 255, .12));margin:20px 0 14px}.settings-section-title{margin:0 0 8px;font-size:.95rem;font-weight:600}.backup-mode-row,.backup-checks{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.backup-mode-row{flex-direction:row;flex-wrap:wrap;gap:16px}.backup-check{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-primary, inherit);cursor:pointer;user-select:none}.backup-check:has(input:disabled){opacity:.5;cursor:not-allowed}.backup-progress{margin:8px 0 4px}.backup-progress-label{display:block;margin-top:6px;font-size:.75rem;color:var(--text-secondary);word-break:break-all}.backup-status{margin:8px 0 0;font-size:.8rem;color:var(--text-secondary);line-height:1.35;word-break:break-word}.find-art-modal{width:min(720px,calc(100vw - 32px));max-height:min(80vh,720px);display:flex;flex-direction:column;padding-bottom:18px}.find-art-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.find-art-header .import-modal-title{margin-bottom:2px}.find-art-sub{margin:0;font-size:.8rem;color:var(--text-secondary)}.find-art-search{display:flex;gap:8px;margin-bottom:12px}.find-art-search input{flex:1;min-width:0}.find-art-error{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;padding:8px 10px;border-radius:6px;background:#dc50501f;color:#f0a0a0;font-size:.8rem}.find-art-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;overflow:auto;min-height:120px;max-height:min(52vh,480px);padding-right:2px}.find-art-empty{grid-column:1 / -1;margin:24px 0;text-align:center}.find-art-card{display:flex;flex-direction:column;gap:6px;padding:8px;text-align:left;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;color:inherit;cursor:pointer}.find-art-card:hover:not(:disabled){border-color:var(--accent)}.find-art-card:disabled{opacity:.65;cursor:wait}.find-art-thumb{aspect-ratio:1;width:100%;border-radius:4px;overflow:hidden;background:#0a0a10;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.find-art-thumb img{width:100%;height:100%;object-fit:cover}.find-art-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.find-art-meta strong{font-size:.78rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.find-art-meta span,.find-art-meta em{font-size:.7rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.find-art-meta em{font-style:normal;color:var(--accent)}.cue-info-art{display:flex;justify-content:center;margin-bottom:4px}.track-wave-preview{display:block;width:72px;height:22px;border-radius:3px;background:#0a0a10}.col-title{font-weight:500}.loading{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-secondary)}.bulk-editor{padding:16px;background:var(--bg-secondary);border-top:2px solid var(--accent)}.bulk-editor h3{font-size:.95rem;margin-bottom:12px}.bulk-fields{display:flex;gap:10px;align-items:center}.bulk-fields input{padding:8px 12px;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.9rem;width:160px;outline:none}.bulk-fields input:focus{border-color:var(--accent)}.btn-save{padding:8px 20px;background:var(--accent);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem}.btn-save:hover{background:var(--accent-hover)}.btn-save:disabled{opacity:.5;cursor:not-allowed}.inspector-dock{display:flex;flex-direction:row;align-items:stretch;height:100%;min-height:0;flex-shrink:0;background:var(--bg-secondary);border-left:1px solid var(--border)}.inspector-dock.is-minimized{border-left-color:var(--border)}.track-inspector{width:var(--inspector-width, 340px);flex-shrink:0;background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:0;box-sizing:border-box}.track-inspector.empty{align-items:center;justify-content:center;padding:24px;color:var(--text-secondary);font-size:.9rem;text-align:center}.inspector-toolbox{width:40px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px 0;box-sizing:border-box;background:var(--bg-secondary)}.inspector-tool-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:1px solid var(--border);color:var(--text-secondary);border-radius:3px;cursor:pointer}.inspector-tool-btn:hover{color:var(--text-primary);border-color:var(--text-secondary);background:var(--bg-tertiary)}.inspector-tool-btn.active{color:#fff;border-color:var(--accent);background:var(--accent)}.inspector-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:0 4px 0 0}.inspector-tabs{display:flex;gap:0;align-items:center}.inspector-tabs-title{font-size:.72rem;font-weight:600;padding:0 12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.inspector-tabs button{background:none;border:none;color:var(--text-secondary);padding:12px 16px;cursor:pointer;font-size:.85rem;border-bottom:2px solid transparent}.inspector-tabs button.active{color:var(--text-primary);border-bottom-color:var(--accent)}.inspector-header-actions{display:flex;align-items:center;gap:2px}.inspector-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:none;border:none;color:var(--text-secondary);border-radius:4px;cursor:pointer}.inspector-icon-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.inspector-close{background:none;border:none;color:var(--text-secondary);font-size:1.25rem;cursor:pointer;padding:4px 10px;line-height:1}.inspector-close:hover{color:var(--text-primary)}.inspector-body{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:12px}.inspector-summary h2{font-size:1.05rem;margin-bottom:4px;line-height:1.3}.inspector-summary .muted{color:var(--text-secondary);margin-bottom:14px}.inspector-summary dl{display:grid;gap:8px;margin-bottom:14px}.inspector-summary dl>div{display:grid;grid-template-columns:80px 1fr;gap:8px;font-size:.85rem}.inspector-summary dt{color:var(--text-secondary)}.inspector-summary dd{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspector-mood-source{margin:-4px 0 12px;font-size:.78rem}.inspector-memberships{margin:0 0 14px;padding-top:4px;border-top:1px solid var(--border, rgba(255, 255, 255, .1))}.inspector-memberships-title{margin:10px 0 8px;font-size:.8rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--text-secondary)}.inspector-memberships-empty{margin:0;font-size:.82rem}.inspector-memberships-groups{display:flex;flex-direction:column;gap:10px}.inspector-memberships-group h4{margin:0 0 4px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);opacity:.9}.inspector-memberships-group ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.inspector-memberships-group li{display:flex;align-items:center;gap:8px;font-size:.84rem;line-height:1.35;min-width:0}.inspector-membership-link{appearance:none;background:none;border:none;padding:0;margin:0;font:inherit;color:var(--accent, #6cb6ff);text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;text-decoration:underline;text-underline-offset:2px;text-decoration-color:transparent;transition:text-decoration-color .12s ease,color .12s ease}.inspector-membership-link:hover{text-decoration-color:currentColor;color:var(--text-primary, #fff)}.inspector-membership-link:focus-visible{outline:1px solid var(--accent, #6cb6ff);outline-offset:2px;border-radius:2px}.inspector-membership-swatch{width:8px;height:8px;border-radius:2px;flex-shrink:0}.path-line{font-size:.75rem;color:var(--text-secondary);word-break:break-all;white-space:normal}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field.full{width:100%}.field.grow{flex:1}.field.narrow{width:88px;flex-shrink:0}.field-emotion{width:120px}.field-emotion-label{display:block;margin-top:3px;font-size:.68rem;color:var(--text-secondary);line-height:1.2;white-space:nowrap}.field span{font-size:.72rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.field input,.field textarea,.field select{width:100%;padding:8px 10px;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.88rem;outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent)}.field textarea{width:100%;padding:8px 10px;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.88rem;outline:none;resize:vertical;font-family:inherit}.field textarea:focus{border-color:var(--accent)}.analysis-row .field.narrow{width:70px}.field-row{display:flex;gap:10px;align-items:flex-end}.star-rating{display:flex;gap:2px;height:36px;align-items:center}.star-rating button{background:none;border:none;color:var(--border);font-size:1.1rem;cursor:pointer;padding:0 1px;line-height:1}.star-rating button.on{color:#f5c542}.inspector-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:12px 14px;border-top:1px solid var(--border)}.inspector-status{margin-right:auto;font-size:.8rem;color:var(--text-secondary)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}.app-player{flex-shrink:0;display:flex;flex-direction:column;z-index:5;border-bottom:1px solid var(--border);background:#08080c}.app-player-mode-bar{display:flex;align-items:center;gap:8px;padding:4px 12px;border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0}.app-player-mode-label{font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.app-player-mode-select{height:24px;padding:0 8px;border-radius:4px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:.78rem;cursor:pointer}.app-player-mode-select:hover,.app-player-mode-select:focus{border-color:var(--text-secondary);outline:none}.app-player .player-deck,.app-player .scatter-preview-bar{border-bottom:none}.dual-deck-view{display:flex;flex-direction:column;gap:0;background:#08080c;height:min(26vh,240px);min-height:200px;max-height:min(32vh,280px);overflow:hidden}.dual-deck-body{display:flex;flex-direction:row;align-items:stretch;min-height:0;flex:1;overflow:hidden}.dual-transport-rail{flex-shrink:0;width:44px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:2px;padding:4px 2px;background:#0a0a10;border-right:1px solid var(--border)}.dual-transport-pad{display:flex;flex-direction:column;align-items:center;gap:3px}.dual-transport-deck{font-size:.55rem;font-weight:700;letter-spacing:.06em;color:var(--text-secondary);line-height:1}.dual-transport-a .dual-transport-deck{color:#8ab4ff}.dual-transport-b .dual-transport-deck{color:#ffb08a}.dual-cdj-cue,.dual-cdj-play{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--border);cursor:pointer;font-size:.5rem;font-weight:800;letter-spacing:.02em;display:flex;align-items:center;justify-content:center;padding:0;transition:background .12s,border-color .12s,transform .08s}.dual-cdj-cue{background:#2a1810;border-color:#e07030;color:#ffb080}.dual-cdj-cue:hover:not(:disabled){background:#3a2218;border-color:#ff9030}.dual-cdj-play{background:#102818;border-color:#40c060;color:#90eea0;font-size:.62rem}.dual-cdj-play.playing{background:#184028;box-shadow:0 0 0 1px #40c06059}.dual-cdj-play:hover:not(:disabled){background:#183820;border-color:#60e080}.dual-cdj-cue:disabled,.dual-cdj-play:disabled{opacity:.35;cursor:not-allowed}.dual-cdj-cue:active:not(:disabled),.dual-cdj-play:active:not(:disabled){transform:scale(.96)}.dual-crossfader-wrap{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1;min-height:36px;max-height:72px;justify-content:center}.dual-xf-label{font-size:.5rem;font-weight:700;color:var(--text-secondary);line-height:1}.dual-crossfader{writing-mode:vertical-lr;direction:rtl;width:12px;height:48px;cursor:pointer;accent-color:var(--accent, #4a8af0)}.dual-deck-stage{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.dual-deck-cues-col{flex-shrink:0;width:168px;display:flex;flex-direction:column;border-left:1px solid var(--border);background:#0a0a10;min-height:0}.dual-cue-panel{flex:1 1 50%;width:100%;min-height:0;border-left:none;border-bottom:1px solid var(--border);align-self:stretch;font-size:.72rem}.dual-cue-panel.cue-side-panel{width:100%}.dual-cue-panel:last-child{border-bottom:none}.dual-cue-deck-tag{flex-shrink:0;padding:2px 6px;font-size:.58rem;font-weight:700;letter-spacing:.06em;color:var(--text-secondary);background:#12121a;border-bottom:1px solid var(--border)}.dual-cue-a .dual-cue-deck-tag{color:#8ab4ff}.dual-cue-b .dual-cue-deck-tag{color:#ffb08a}.dual-deck-header{display:flex;align-items:center;gap:5px;padding:2px 8px;min-height:28px;max-height:30px;flex-shrink:0;background:var(--bg-secondary);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.dual-deck-header>.deck-play-btn{display:none}.dual-deck-header .track-artwork,.dual-deck-header .track-artwork-img,.dual-deck-header .track-artwork-fallback{width:22px!important;height:22px!important}.dual-deck-label{flex-shrink:0;width:16px;height:16px;border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:700;background:#1a1a28;color:var(--text-primary)}.dual-deck-a .dual-deck-label{background:#2a4a7a}.dual-deck-b .dual-deck-label{background:#5a3a2a}.dual-deck-art-empty{width:22px;height:22px;border-radius:3px;background:#14141c;flex-shrink:0}.dual-deck-meta{min-width:0;flex:1 1 120px}.dual-deck-title{font-size:.72rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.15}.dual-deck-artist{display:none}.dual-deck-times{display:flex;flex-direction:row;align-items:center;gap:6px;font-variant-numeric:tabular-nums;font-size:.62rem;color:var(--text-secondary);flex-shrink:0}.dual-deck-bpm-block{display:flex;align-items:center;gap:2px;flex-shrink:0}.dual-bpm-btn{width:18px;height:18px;border:1px solid var(--border);border-radius:3px;background:var(--bg-primary);color:var(--text-primary);cursor:pointer;font-size:.72rem;padding:0;line-height:1}.dual-bpm-btn:hover:not(:disabled){background:var(--bg-tertiary)}.dual-bpm-btn:disabled{opacity:.4;cursor:not-allowed}.dual-bpm-value{min-width:40px;text-align:center;font-variant-numeric:tabular-nums;font-weight:700;font-size:.72rem}.dual-master-btn,.dual-sync-btn{height:18px;padding:0 6px;border-radius:3px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:.58rem;font-weight:700;letter-spacing:.03em;cursor:pointer;white-space:nowrap}.dual-master-btn.active,.dual-sync-btn.active{background:#2a6ad4;border-color:#2a6ad4;color:#fff}.dual-master-btn:disabled,.dual-sync-btn:disabled{opacity:.4;cursor:not-allowed}.dual-load-btn{flex-shrink:0;white-space:nowrap;height:18px!important;padding:0 6px!important;font-size:.62rem!important}.dual-deck-header .deck-close{width:18px;height:18px;font-size:.7rem}.dual-detail-wave canvas{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;cursor:pointer}.dual-synced-waves{display:flex;flex-direction:column;flex:1 1 auto;min-height:96px;background:#000;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.dual-synced-gutter{flex:0 0 auto;height:2px;display:flex;align-items:center;background:#050508;position:relative}.dual-synced-gutter-line{display:block;width:100%;height:1px;background:#ffaa3c8c}.dual-detail-wave{flex:1 1 0;min-height:40px;background:#000;line-height:0;position:relative;overflow:hidden}.dual-cue-panel .cue-row{padding:2px 6px;min-height:0;font-size:.65rem;gap:4px}.dual-cue-panel .cue-tabs button{padding:2px 4px;font-size:.55rem}.dual-cue-panel .cue-side-body{padding:2px 0}.dual-cue-panel .cue-empty{font-size:.62rem;padding:4px 6px}.player-deck{flex-shrink:0;background:#08080c;border-bottom:1px solid var(--border);display:flex;flex-direction:column;min-height:220px;max-height:720px;position:relative;z-index:5}.player-deck-main{display:flex;flex-direction:row;align-items:stretch;min-height:0;flex:1;padding:0;gap:0;overflow:hidden}.player-deck-stage{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;padding:6px 10px 0;overflow:hidden}.player-deck-resize{flex-shrink:0;height:10px;cursor:ns-resize;background:#08080c;border-top:1px solid var(--border);position:relative;z-index:2}.player-deck-resize:after{content:"";position:absolute;left:50%;top:1px;transform:translate(-50%);width:36px;height:3px;border-radius:2px;background:var(--border)}.player-deck-resize:hover:after,.player-deck-resize:active:after{background:var(--accent)}.deck-header{display:flex;align-items:center;gap:12px;min-height:36px;flex-shrink:0}.deck-play-btn{width:34px;height:34px;border-radius:4px;border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;font-size:12px;flex-shrink:0}.deck-play-btn.playing{background:#2a3a28;border-color:#40c060;color:#80ff90}.deck-title-block{min-width:0;flex:1.2}.deck-title{font-size:.95rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deck-artist{font-size:.75rem;color:var(--text-secondary)}.deck-genre{color:var(--text-secondary);font-size:.8rem;min-width:100px;text-align:center}.deck-times{display:flex;gap:14px;font-variant-numeric:tabular-nums;font-family:ui-monospace,Consolas,monospace;font-size:1.05rem}.deck-time.remaining{color:#ff8060}.deck-time.elapsed{color:#e8e8f0}.deck-meta{display:flex;gap:14px;align-items:baseline;font-variant-numeric:tabular-nums}.deck-key{font-size:1.1rem;font-weight:700;color:#90a8ff}.deck-bpm{font-size:1.25rem;font-weight:700;letter-spacing:.02em}.deck-status{font-size:.75rem;color:var(--text-secondary);min-width:120px}.deck-error{color:#ff6060}.deck-close{background:none;border:none;color:var(--text-secondary);font-size:1.4rem;cursor:pointer;padding:0 6px;line-height:1}.deck-close:hover{color:var(--text-primary)}.overview-wrap{display:flex;flex-direction:column;gap:0;flex-shrink:0}.detail-wave{width:100%;height:auto;display:block;cursor:grab;touch-action:none;user-select:none;border-radius:2px}.detail-wave.is-dragging{cursor:grabbing}.overview-wave{width:100%;height:41px;cursor:grab;display:block;border-radius:2px;touch-action:none;user-select:none}.overview-wave.is-dragging{cursor:grabbing}.overview-energy{height:41px}.wave-hint{margin-left:8px;font-size:.65rem;color:var(--text-secondary);opacity:.7;white-space:nowrap}.phrase-bar{position:relative;height:12px;background:#12121a;border-radius:0 0 2px 2px;overflow:hidden}.phrase-seg{position:absolute;top:0;bottom:0;opacity:.9}.phrase-cue-mark{position:absolute;top:0;bottom:0;width:6px;margin-left:-3px;border-radius:1px;box-shadow:0 0 0 1px #ffffff73,0 0 6px currentColor;z-index:2;pointer-events:none}.player-deck-waveforms{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;min-height:0;overflow:hidden}.cue-side-panel{width:220px;flex-shrink:0;display:flex;flex-direction:column;background:#0a0a10;border-left:1px solid var(--border);border-radius:0;overflow:hidden;max-height:none;align-self:stretch}.detail-wave-wrap{width:100%}.wave-zoom-bar{display:flex;align-items:center;gap:6px;margin-bottom:2px}.wave-zoom-bar button{width:22px;height:20px;padding:0;border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);border-radius:3px;cursor:pointer;font-size:.85rem;line-height:1}.wave-zoom-bar button:hover{border-color:var(--accent)}.zoom-level{font-size:.7rem;font-family:ui-monospace,Consolas,monospace;color:var(--text-secondary);min-width:2.4em;text-align:center}.cue-side-body{flex:1;overflow-y:auto;min-height:0}.cue-list{list-style:none;margin:0;padding:4px 0}.cue-empty{padding:10px;font-size:.75rem;color:var(--text-secondary)}.cue-row{display:flex;align-items:center;gap:6px;width:100%;border:none;background:transparent;color:var(--text-primary);padding:4px 8px;cursor:pointer;font-size:.75rem;font-family:ui-monospace,Consolas,monospace;text-align:left}.cue-row:hover,.cue-row.active{background:var(--bg-tertiary)}.cue-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.cue-time{flex-shrink:0}.cue-bar{flex-shrink:0;color:var(--accent, #6af);font-variant-numeric:tabular-nums;min-width:3.4rem}.cue-bar-beat{opacity:.65;font-size:.9em}.cue-label{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hotcue-letter{width:18px;height:18px;border-radius:3px;border:1px solid;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;flex-shrink:0}.cue-info{padding:8px;display:flex;flex-direction:column;gap:8px;font-size:.75rem}.cue-info label{display:block;color:var(--text-secondary);font-size:.65rem;text-transform:uppercase;letter-spacing:.04em}.cue-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:190px}.cue-tabs{display:flex;border-top:1px solid var(--border);flex-shrink:0;background:#08080c}.cue-tabs button{flex:1;border:none;background:transparent;color:var(--text-secondary);font-size:.62rem;font-weight:700;letter-spacing:.04em;padding:8px 2px;cursor:pointer}.cue-tabs button.active{color:#fff;background:#1a4a8a;box-shadow:none}.cue-tabs button:hover:not(.active){color:var(--text-primary);background:#12121a}.deck-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;flex-shrink:0;padding:8px 0 16px;min-height:44px;background:#08080c;position:relative;z-index:2}.deck-mode-tabs{display:flex;border:1px solid var(--border);border-radius:3px;overflow:hidden}.deck-mode-tabs button{border:none;background:transparent;color:var(--text-secondary);font-size:.65rem;font-weight:700;letter-spacing:.04em;padding:6px 10px;cursor:pointer}.deck-mode-tabs button.active{background:var(--bg-tertiary);color:var(--text-primary)}.hotcue-pads{display:flex;gap:4px}.hotcue-pad{width:28px;height:28px;border-radius:3px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);font-weight:700;font-size:.75rem;cursor:pointer}.hotcue-pad.set{border-color:var(--pad-color, #40c060);color:#fff;background:color-mix(in srgb,var(--pad-color, #40c060) 55%,#111)}.hotcue-pad:hover{filter:brightness(1.15)}.memory-nav,.loop-controls,.grid-controls{display:flex;align-items:center;gap:4px}.ctrl-label{font-size:.6rem;font-weight:700;letter-spacing:.05em;color:var(--text-secondary);margin-right:4px}.memory-nav button,.loop-controls button,.grid-controls button{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-size:.7rem;padding:4px 7px;border-radius:3px;cursor:pointer}.loop-mode.active{background:#204080;border-color:#4080e0}.loop-len{min-width:22px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}.track-table tr.playing-track td.col-title{color:#90ffa0}.track-table tr.playing-track{box-shadow:inset 3px 0 #40c060}.filter-panel{width:var(--sidebar-width, 280px);gap:0;padding:0}.filter-panel-header{padding:14px 16px 0;border-bottom:1px solid var(--border);flex-shrink:0}.filter-panel-title-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}.filter-panel-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.filter-active-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--bg-tertiary);border:1px solid var(--border);font-size:.72rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.filter-panel-actions{margin-left:auto;display:flex;align-items:center;gap:2px}.filter-reset-btn{background:none;border:none;color:var(--text-secondary);font-size:.8rem;cursor:pointer;padding:2px 6px;border-radius:4px}.filter-reset-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.filter-close-btn{background:none;border:none;color:var(--text-secondary);font-size:1.25rem;line-height:1;cursor:pointer;padding:0 4px;border-radius:4px;margin-left:2px}.filter-close-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.filter-tabs{display:flex;gap:0}.filter-tab{flex:1;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:.8rem;padding:8px 4px;cursor:pointer}.filter-tab.active{color:var(--text-primary);border-bottom-color:#fff}.filter-tab:disabled{opacity:.4;cursor:not-allowed}.filter-panel-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:20px}.filter-section{display:flex;flex-direction:column;align-items:center;gap:10px}.filter-hint{font-size:.78rem;color:var(--text-secondary);text-align:center;line-height:1.35;margin:0}.filter-ranges{align-items:stretch;width:100%;gap:16px}.filter-genre-list{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;max-height:140px;overflow-y:auto;width:100%}.filter-genre-chip{border:1px solid var(--border);background:var(--bg-primary);color:var(--text-secondary);border-radius:4px;padding:4px 8px;font-size:.72rem;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-genre-chip:hover{border-color:var(--text-secondary);color:var(--text-primary)}.filter-genre-chip.active{background:var(--nav-active-bg);border-color:var(--nav-active-bg);color:var(--nav-active-fg)}.filter-info-body{gap:10px;align-items:stretch}.filter-info-summary{display:flex;flex-direction:column;gap:2px;flex-shrink:0}.filter-info-context{margin:0;font-size:.82rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-info-count{text-align:left}.filter-info-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;flex:1;min-height:0;overflow-y:auto}.filter-info-row{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;width:100%;padding:6px 8px;border:1px solid transparent;border-radius:6px;background:transparent;color:inherit;cursor:grab;text-align:left;touch-action:none}.filter-info-row:hover{background:var(--bg-tertiary);border-color:var(--border)}.filter-info-row.active{background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.filter-info-row.selected{border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.filter-info-meta{display:flex;flex-direction:column;gap:1px;min-width:0}.filter-info-title,.filter-info-artist{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-info-title{font-size:.78rem;color:var(--text-primary)}.filter-info-artist{font-size:.7rem;color:var(--text-secondary)}.filter-info-stats{display:flex;flex-direction:column;align-items:flex-end;gap:1px;font-size:.68rem;font-variant-numeric:tabular-nums;color:var(--text-secondary);flex-shrink:0}.filter-info-more{flex-shrink:0;text-align:left}.camelot-wheel{display:flex;justify-content:center;user-select:none}.camelot-seg{cursor:pointer;transition:fill-opacity .12s ease,stroke-width .12s ease}.camelot-seg:hover{fill-opacity:.85}.camelot-seg:focus{outline:none}.camelot-seg:focus-visible{stroke:#fff;stroke-width:2.5}.camelot-label{font-size:9px;font-weight:600;font-family:var(--font-sans)}.range-filter{display:flex;flex-direction:column;gap:6px}.range-filter-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.range-filter-label{font-size:.8rem;color:var(--text-primary);font-weight:500}.range-filter-inputs{display:flex;align-items:center;gap:4px}.range-filter-num{width:52px;padding:3px 6px;font-size:.75rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);text-align:center;font-variant-numeric:tabular-nums}.range-filter-num:focus{outline:none;border-color:var(--text-secondary)}.range-filter-sep{color:var(--text-secondary);font-size:.75rem}.range-filter-human{font-size:.75rem;color:var(--text-secondary);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.range-filter-slider{position:relative;height:24px;display:flex;align-items:center}.range-filter-track{position:absolute;left:0;right:0;height:3px;background:var(--bg-tertiary);border-radius:2px;pointer-events:none}.range-filter-fill{position:absolute;height:3px;background:#e8e8f0;border-radius:2px;pointer-events:none}.range-filter-thumb{position:absolute;left:0;width:100%;margin:0;appearance:none;-webkit-appearance:none;background:transparent;pointer-events:none;height:24px}.range-filter-thumb::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,.35);box-shadow:0 1px 3px #0006;cursor:pointer;pointer-events:auto;position:relative;z-index:2}.range-filter-thumb::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,.35);box-shadow:0 1px 3px #0006;cursor:pointer;pointer-events:auto}.range-filter-thumb::-webkit-slider-runnable-track{height:3px;background:transparent}.range-filter-thumb::-moz-range-track{height:3px;background:transparent}.range-filter-thumb-min{z-index:3}.range-filter-thumb-max{z-index:4}.range-filter-captions{display:flex;justify-content:space-between;font-size:.68rem;color:var(--text-secondary);line-height:1.2;margin-top:-2px}.scatter-panel{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.scatter-top-bar{flex-wrap:wrap;gap:10px}.scatter-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;flex:1;min-width:0}.view-toggle{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;flex-shrink:0}.view-toggle-btn{background:var(--bg-secondary);border:none;color:var(--text-secondary);padding:6px 12px;font-size:.8rem;cursor:pointer}.view-toggle-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.view-toggle-btn.active{background:var(--nav-active-bg);color:var(--nav-active-fg)}.scatter-field{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--text-secondary)}.scatter-field select{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);border-radius:6px;padding:5px 8px;font-size:.8rem;outline:none}.scatter-field select:focus{border-color:var(--accent)}.scatter-fast-preview{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--text-secondary);user-select:none;cursor:pointer}.scatter-skipped-badge{font-size:.75rem;color:#e8c07a;background:#e8c07a1f;border:1px solid rgba(232,192,122,.28);border-radius:999px;padding:3px 10px}.scatter-body{flex:1;display:flex;min-height:0;overflow:hidden}.scatter-main{flex:1;position:relative;min-width:0;display:flex;flex-direction:column}.scatter-canvas-wrap{flex:1;position:relative;min-height:0}.scatter-canvas{width:100%;height:100%;display:block;cursor:grab;touch-action:none}.scatter-reset-view{position:absolute;top:10px;right:12px;z-index:2;padding:5px 10px;font-size:.75rem;background:#1a1a24e6;border:1px solid var(--border);color:var(--text-secondary);border-radius:6px;cursor:pointer}.scatter-reset-view:hover{color:var(--text-primary);border-color:var(--accent)}.scatter-canvas-hint{position:absolute;left:12px;bottom:10px;margin:0;font-size:.72rem;color:var(--text-secondary);opacity:.65;pointer-events:none}.scatter-tooltip{position:fixed;z-index:80;width:250px;padding:12px 14px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px #00000073;pointer-events:auto}.scatter-tooltip-title{font-size:.92rem;font-weight:600;line-height:1.25;margin-bottom:2px}.scatter-tooltip-artist{font-size:.8rem;color:var(--text-secondary);margin-bottom:10px}.scatter-tooltip-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin:0 0 10px}.scatter-tooltip-meta div{display:flex;justify-content:space-between;gap:8px;font-size:.75rem}.scatter-tooltip-meta dt{color:var(--text-secondary)}.scatter-tooltip-meta dd{margin:0;font-variant-numeric:tabular-nums}.scatter-tooltip-play{width:100%;padding:7px 10px;background:var(--accent);border:none;border-radius:6px;color:#fff;font-size:.8rem;cursor:pointer}.scatter-tooltip-play:hover{background:var(--accent-hover)}.scatter-selection-card{position:absolute;left:50%;bottom:28px;transform:translate(-50%);z-index:5;display:flex;align-items:center;gap:10px;padding:10px 14px;background:#1a1a24f2;border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 28px #0006}.scatter-selection-count{font-size:.85rem;white-space:nowrap}.scatter-crate{width:280px;flex-shrink:0;display:flex;flex-direction:column;border-left:1px solid var(--border);background:var(--bg-secondary);min-height:0}.scatter-crate-header{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border)}.scatter-crate-header h3{font-size:.9rem;font-weight:600;margin:0}.scatter-crate-count{font-size:.75rem;color:var(--text-secondary);background:var(--bg-tertiary);border-radius:999px;padding:2px 8px}.scatter-crate-header .btn-clear{margin-left:auto}.scatter-crate-empty{padding:16px 14px;font-size:.8rem;color:var(--text-secondary);line-height:1.4}.scatter-crate-list{list-style:none;margin:0;padding:6px 0;overflow:auto;flex:1;min-height:0}.scatter-crate-list li{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid rgba(42,42,64,.6)}.scatter-crate-item-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.scatter-crate-title{font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scatter-crate-artist{font-size:.72rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scatter-crate-remove{background:none;border:none;color:var(--text-secondary);font-size:1.1rem;line-height:1;cursor:pointer;padding:2px 6px;border-radius:4px}.scatter-crate-remove:hover{color:#f0b0b8;background:#5a222c59}.scatter-crate-save{padding:12px 14px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.scatter-crate-save .search-input{max-width:none;width:100%}.scatter-crate-save .btn-primary,.scatter-crate-save .btn-clear{width:100%}.scatter-crate-error{margin:0;font-size:.75rem;color:#f0b0b8}.scatter-preview-bar{position:relative;display:flex;align-items:center;gap:12px;padding:8px 14px;min-height:56px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;overflow:hidden}.scatter-preview-bar .deck-play-btn{flex-shrink:0}.scatter-preview-art{flex-shrink:0;border-radius:4px;overflow:hidden}.scatter-preview-meta{min-width:0;flex:0 1 240px}.scatter-preview-title{font-size:.88rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scatter-preview-artist{font-size:.75rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scatter-preview-transport{flex:1 1 0;min-width:160px;display:flex;align-items:center;gap:8px;width:auto;max-width:none}.scatter-preview-time{font-size:.72rem;color:var(--text-secondary);font-variant-numeric:tabular-nums;min-width:52px}.scatter-preview-time:first-of-type{color:var(--accent)}.scatter-preview-time:last-of-type{text-align:right}.scatter-preview-scrub{flex:1;height:3px;accent-color:var(--accent);cursor:pointer;min-width:48px}.scatter-preview-wave{flex:1 1 0;min-width:0;align-self:stretch;display:flex;align-items:center;cursor:grab;touch-action:none;user-select:none;margin:0 4px}.scatter-preview-wave.is-dragging{cursor:grabbing}.scatter-preview-wave-canvas{display:block;width:100%;height:36px;border-radius:2px}.scatter-preview-progress{position:absolute;left:0;bottom:0;height:2px;background:var(--accent);pointer-events:none;opacity:.85}.scatter-preview-status{font-size:.72rem;color:var(--text-secondary);flex-shrink:0}.scatter-preview-bar .deck-close{flex-shrink:0}.graph-panel .scatter-body{min-height:0}.graph-canvas-wrap{position:relative;flex:1;min-height:0;width:100%;height:100%}.graph-canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none}.graph-canvas:active{cursor:grabbing}.graph-empty{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--text-secondary);font-size:.9rem;line-height:1.5;padding:32px}.graph-toolbar .btn-clear{padding:4px 8px;font-size:.75rem}.graph-builder-cta{padding:6px 14px;font-size:.75rem;color:var(--text-secondary);background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0}.graph-seed-banner{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:5;max-width:90%;padding:8px 14px;border-radius:8px;background:#14141ee6;border:1px solid var(--accent);color:var(--text-primary);font-size:.8rem;pointer-events:none;text-align:center}.graph-playlist-panel .graph-playlist-name{margin:0;padding:0 14px 8px;font-size:.8rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.graph-playlist-controls{display:flex;flex-direction:column;gap:6px;padding:0 14px 10px;border-bottom:1px solid var(--border)}.graph-playlist-controls .scatter-field{width:100%}.graph-playlist-controls .scatter-field select{flex:1;min-width:0}.graph-playlist-controls .btn-clear{width:100%}.graph-playlist-list{list-style:none;margin:0;padding:8px;overflow-y:auto;flex:1;min-height:0;display:flex;flex-direction:column;gap:4px}.graph-playlist-item{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:6px;background:var(--bg-primary)}.graph-playlist-item.anchor{outline:1px solid #f0c040;background:#f0c04014}.graph-playlist-index{flex-shrink:0;width:18px;font-size:.68rem;color:var(--text-secondary);text-align:right}.graph-playlist-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;background:none;border:none;color:inherit;text-align:left;cursor:pointer;padding:0}.graph-playlist-row-actions{display:flex;align-items:center;gap:2px;opacity:.35}.graph-playlist-item:hover .graph-playlist-row-actions{opacity:1}.graph-preview-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 14px;font-size:.78rem;background:#f0c0401f;border-bottom:1px solid rgba(240,192,64,.45);color:var(--text-primary);flex-shrink:0}.graph-playlist-preview-actions{display:flex;gap:6px;padding:8px 14px;border-bottom:1px solid var(--border)}.graph-playlist-preview-actions .btn-clear{flex:1}.graph-suggestions-hint{margin:0;padding:10px 14px;font-size:.78rem;color:var(--text-secondary);border-top:1px solid var(--border);line-height:1.4}.graph-suggestions-hint strong{color:var(--text-primary);font-weight:600}.graph-set-flow{flex:1;min-height:0;position:relative;overflow:hidden;cursor:grab;touch-action:none;background-color:var(--bg-primary);background-image:radial-gradient(ellipse at 20% 30%,rgba(80,70,120,.12),transparent 55%),radial-gradient(rgba(255,255,255,.04) 1px,transparent 1px);background-size:auto,28px 28px;background-position:0 0,0 0}.graph-set-flow-hint{position:absolute;left:12px;bottom:10px;z-index:4;pointer-events:none;font-size:.68rem;color:var(--text-secondary);opacity:.75;letter-spacing:.02em}.graph-set-flow:active{cursor:grabbing}.graph-set-flow.is-space-pan{cursor:grab}.graph-set-flow.is-space-pan *{cursor:grab!important}.graph-set-flow.is-panning,.graph-set-flow.is-panning *{cursor:grabbing!important}.graph-chapter-band{position:absolute;z-index:1;border:1px solid rgba(255,255,255,.08);border-radius:14px;pointer-events:auto;cursor:grab;box-sizing:border-box;overflow:hidden;touch-action:none}.graph-chapter-band.is-empty,.graph-chapter-band.is-editing{pointer-events:auto}.graph-chapter-band:active{cursor:grabbing;z-index:3}.graph-chapter-band-header{position:absolute;z-index:3;display:flex;align-items:center;gap:6px;min-height:22px;pointer-events:auto;transform:translateY(-100%);padding:2px 4px 6px;box-sizing:border-box;cursor:grab;touch-action:none}.graph-chapter-band-header.is-dragging{cursor:grabbing;opacity:.7}.graph-chapter-band-grip{flex:0 0 auto;width:10px;height:14px;margin-right:2px;background:radial-gradient(circle,rgba(235,235,245,.55) 1.1px,transparent 1.25px);background-size:5px 5px;background-position:0 0;opacity:.9;pointer-events:none}.graph-chapter-band-label{flex:1 1 auto;min-width:0;padding:1px 4px;margin:0;border:none;border-radius:4px;background:transparent;font:inherit;font-weight:600;letter-spacing:.02em;color:#ebebf5eb;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 3px rgba(0,0,0,.85);cursor:grab}.graph-chapter-band-label:hover{background:#00000047;color:#fff}.graph-chapter-band-input{flex:1 1 auto;min-width:0;box-sizing:border-box;padding:2px 6px;border:1px solid rgba(255,255,255,.35);border-radius:4px;background:#0c0c12eb;color:#fff;font:inherit;font-weight:600;letter-spacing:.02em;outline:none}.graph-chapter-band-add{flex:0 0 auto;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:#14141cd9;color:#fff;line-height:1;padding:0;cursor:pointer}.graph-chapter-band-add:hover{background:#50468ce6;border-color:#ffffff80}.graph-chapter-band.is-editing{cursor:default}.graph-chapter-band.is-empty{opacity:.72;border-style:dashed}.graph-chapter-band.is-empty:after{content:"vazio";position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);font-size:.7rem;letter-spacing:.04em;color:#ebebf573;pointer-events:none}.graph-chapter-band.is-dragging{opacity:.45}.graph-chapter-band.is-drop-target{box-shadow:0 0 0 2px #8cb4ffbf,0 0 18px #648cff59;z-index:3}.graph-chapter-band.is-chapter-branch{border-style:dashed}.graph-set-node-abs.is-path-drop-target .graph-track-card{box-shadow:0 0 0 2px #78be8ce6,0 0 16px #50a06e66}.graph-chapter-branch-tip{position:absolute;z-index:4;cursor:pointer}.graph-path-drop-badge{position:absolute;top:6px;left:50%;transform:translate(-50%);z-index:6;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;letter-spacing:.02em;color:#e8ffee;background:#3c8c5aeb;pointer-events:none;white-space:nowrap}.graph-set-edges{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:visible}.graph-set-drop-slots{position:absolute;inset:0;pointer-events:none;z-index:3}.graph-set-drop-slot{position:absolute;width:3px;height:56px;margin-left:-1.5px;margin-top:-28px;border-radius:2px;background:#a0aac838;box-shadow:0 0 0 1px #a0aac81f;transform:scaleY(.85);transition:background .12s ease,box-shadow .12s ease,transform .12s ease,opacity .12s ease}.graph-set-drop-slot.is-active{background:#8cb4fff2;box-shadow:0 0 0 1px #b4d2ff8c,0 0 14px #6496ff8c;transform:scaleY(1.15)}.graph-set-node-abs{position:absolute;z-index:2;cursor:grab;touch-action:none}.graph-set-node-abs:active{cursor:grabbing;z-index:4}.graph-set-node-abs.is-dragging{opacity:.45;z-index:5;cursor:grabbing}.graph-set-node-abs.is-branch{opacity:.92}.graph-set-node-abs.is-branch-source .graph-track-card{box-shadow:0 0 0 2px #78a0dcbf}.graph-set-tip-abs{position:absolute;z-index:3;transform:translateY(-50%);display:flex;flex-direction:row;align-items:flex-start;gap:12px}.graph-track-card{display:flex;flex-direction:column;background:#16161e;border:1px solid var(--border);border-radius:8px;overflow:hidden;cursor:pointer;transition:border-color .12s,box-shadow .12s,background .12s;user-select:none}.graph-track-card:hover{background:#1c1c26;border-color:color-mix(in srgb,var(--text-secondary) 50%,var(--border))}.graph-track-card.selected,.graph-track-card.is-anchor{border-color:#ffffffbf;box-shadow:0 0 0 1px #fff3}.graph-track-card-seed{width:168px;height:auto;align-self:flex-start}.graph-track-card-seed .graph-track-card-art{flex:0 0 auto;width:100%;aspect-ratio:1}.graph-track-card-suggestion{width:100%;height:100%;display:flex;flex-direction:column;min-height:0}.graph-track-card-suggestion .graph-track-card-art{flex:1 1 0;min-height:0;aspect-ratio:auto}.graph-track-card-suggestion .graph-track-card-body{flex:0 0 auto;gap:2px;padding:4px 4px 5px;min-width:0}.graph-track-card-suggestion .graph-track-card-title{font-size:.62rem;line-height:1.15}.graph-track-card-suggestion .graph-track-card-play{width:26px;height:26px;font-size:.68rem}.graph-track-card-suggestion .graph-track-card-meta{gap:2px;font-size:.55rem;min-width:0;max-width:100%;flex-wrap:nowrap;overflow:hidden}.graph-track-card-suggestion .track-grid-bpm{font-size:.55rem;min-width:0;flex:0 0 auto}.graph-track-card-suggestion .track-grid-badge{font-size:.5rem;padding:0 3px;min-width:15px;height:14px;flex:0 0 auto}.graph-track-card-suggestion .track-grid-badge-key{min-width:18px}.graph-track-card-art{position:relative;aspect-ratio:1;background:#101018;overflow:hidden}.graph-track-card-art .track-artwork{width:100%;height:100%;border:none;border-radius:0}.graph-track-card-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:36px;height:36px;border-radius:50%;border:none;background:#0000009e;color:#fff;font-size:.85rem;cursor:pointer;opacity:0;transition:opacity .12s,background .12s;display:flex;align-items:center;justify-content:center;padding:0;z-index:2}.graph-track-card-remove{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;border:none;background:#000000b8;color:#fff;font-size:1.05rem;line-height:1;cursor:pointer;opacity:0;transition:opacity .12s,background .12s,transform .08s;display:flex;align-items:center;justify-content:center;padding:0;z-index:3}.graph-track-card-branch{position:absolute;top:6px;right:34px;width:24px;height:24px;border-radius:50%;border:none;background:#000000b8;color:#fff;font-size:.85rem;line-height:1;cursor:pointer;opacity:0;transition:opacity .12s,background .12s,transform .08s;display:flex;align-items:center;justify-content:center;padding:0;z-index:3}.graph-track-card:hover .graph-track-card-play,.graph-track-card.playing .graph-track-card-play,.graph-track-card:hover .graph-track-card-remove,.graph-track-card:hover .graph-track-card-branch{opacity:1}.graph-track-card-remove:hover{background:#b42828eb;transform:scale(1.06)}.graph-track-card-branch:hover{background:#3c64b4eb;transform:scale(1.06)}.graph-track-card-play:hover{background:#000000d1}.graph-track-card.playing{border-color:color-mix(in srgb,var(--accent) 70%,white)}.graph-track-card.playing .graph-track-card-title{color:var(--accent)}.graph-track-card-body{display:flex;flex-direction:column;gap:6px;padding:8px 9px 10px;min-width:0}.graph-track-card-title{margin:0;font-size:.82rem;font-weight:600;line-height:1.25;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.graph-track-card-meta{display:flex;align-items:center;flex-wrap:nowrap;gap:4px;overflow:hidden}.graph-set-tip-actions{display:flex;flex-direction:row;align-items:center;gap:8px;flex-shrink:0;padding:0 4px;min-height:40px}.graph-set-plus{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-size:1.4rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s}.graph-set-plus:hover{background:var(--bg-tertiary);border-color:var(--text-secondary)}.graph-set-plus-wrap{position:relative}.graph-set-plus-menu{position:absolute;left:0;top:calc(100% + 8px);min-width:148px;display:flex;flex-direction:column;gap:2px;padding:6px;border-radius:10px;background:#16161ef5;border:1px solid rgba(255,255,255,.12);box-shadow:0 10px 28px #00000073;z-index:5}.graph-set-plus-menu button{border:none;background:transparent;color:#f0f0f8eb;text-align:left;padding:8px 10px;border-radius:7px;font-size:.78rem;cursor:pointer}.graph-set-plus-menu button:hover{background:#ffffff14}.graph-set-close{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-size:.8rem;cursor:pointer}.graph-set-close span{font-size:1.05rem;line-height:1;opacity:.85}.graph-set-close:hover{background:var(--bg-tertiary)}.graph-set-cols{position:relative;width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:default;display:flex;align-items:center;justify-content:center}.graph-set-cols-icon{display:flex;flex-direction:row;align-items:flex-end;justify-content:center;gap:3px;height:14px}.graph-set-cols-icon span{display:block;width:2px;border-radius:1px;background:currentColor}.graph-set-cols-icon span:nth-child(1){height:7px}.graph-set-cols-icon span:nth-child(2){height:12px}.graph-set-cols-icon span:nth-child(3){height:9px}.graph-set-cols-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--accent);color:#fff;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center}.graph-set-reroll{display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-size:.8rem;cursor:pointer;white-space:nowrap}.graph-set-reroll:hover{background:var(--bg-tertiary);border-color:var(--text-secondary)}.graph-set-suggest-panel{overflow:hidden;padding:8px;border-radius:10px;background:#0c0c128c;border:1px solid var(--border);backdrop-filter:blur(6px);box-sizing:border-box}.graph-set-suggest-grid{display:grid;height:100%;min-height:0;align-content:stretch}.graph-set-suggest-item{min-width:0;min-height:0;display:flex}.graph-set-suggest-item.is-empty{border-radius:8px;background:#ffffff08;border:1px dashed rgba(255,255,255,.08)}.graph-set-suggest-item .graph-track-card{flex:1;min-height:0}.graph-set-suggest-empty{grid-column:1 / -1;grid-row:1 / -1;padding:16px;font-size:.8rem;color:var(--text-secondary);border:1px dashed var(--border);border-radius:8px;display:flex;align-items:center;justify-content:center;text-align:center}.graph-playlist-save-export{display:flex;flex-direction:column;gap:6px;padding:10px 14px;border-top:1px solid var(--border);margin-top:auto}.graph-save-field{width:100%}.graph-save-field input{flex:1;min-width:0;width:100%}.scatter-tooltip-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.scatter-tooltip-actions .scatter-tooltip-play{margin-top:0}.chapter-split{display:flex;flex-direction:row;flex:1;min-height:0;min-width:0;height:100%;overflow:hidden}.chapter-split-browse{flex:0 0 var(--chapter-browse-percent, 45%);min-width:220px;max-width:70%;display:flex;flex-direction:column;min-height:0;overflow:hidden;border-right:1px solid var(--border)}.chapter-split-browse .track-panel{height:100%;min-height:0}.chapter-split-board{flex:1 1 0;min-width:280px;display:flex;flex-direction:column;min-height:0;overflow:hidden}.chapter-split-board .chapter-board-header{padding:8px 12px}.chapter-split-board .chapter-board-header h2{font-size:.92rem}.chapter-split-board .chapter-column{flex:0 0 220px}.chapter-board{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--bg-primary)}.chapter-board-empty{align-items:center;justify-content:center;gap:12px;color:var(--text-secondary)}.chapter-board-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border);flex-shrink:0;min-height:44px}.chapter-board-title{display:flex;align-items:baseline;gap:10px;min-width:0;flex:1 1 auto}.chapter-board-header h2{margin:0;font-size:1rem;font-weight:650;letter-spacing:-.01em;white-space:nowrap;flex-shrink:0}.chapter-board-meta{display:inline-flex;align-items:center;gap:6px;min-width:0;font-size:.72rem;color:var(--text-secondary);line-height:1.2}.chapter-board-playlist{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:16ch;color:var(--text-primary);opacity:.78}.chapter-board-sep{opacity:.45;flex-shrink:0}.chapter-board-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.chapter-board-btn{padding:5px 11px;background:transparent;border:1px solid var(--border);color:var(--text-secondary);border-radius:6px;cursor:pointer;font-size:.75rem;font-weight:500;line-height:1.2;transition:color .12s ease,border-color .12s ease,background .12s ease}.chapter-board-btn:hover{color:var(--text-primary);border-color:color-mix(in srgb,var(--text-secondary) 55%,var(--border));background:var(--bg-tertiary)}.chapter-board-btn-primary{background:color-mix(in srgb,var(--accent) 16%,var(--bg-secondary));border-color:color-mix(in srgb,var(--accent) 40%,var(--border));color:var(--text-primary)}.chapter-board-btn-primary:hover{background:color-mix(in srgb,var(--accent) 26%,var(--bg-secondary));border-color:var(--accent);color:var(--text-primary)}.chapter-board-btn-group{display:inline-flex;align-items:stretch;border:1px solid var(--border);border-radius:6px;overflow:hidden}.chapter-board-btn-group .chapter-board-btn{border:none;border-radius:0;border-right:1px solid var(--border);padding:5px 12px}.chapter-board-btn-group .chapter-board-btn:last-child{border-right:none}.chapter-board-btn-group .chapter-board-btn:hover{background:var(--bg-tertiary)}.chapter-board-columns{display:flex;gap:12px;padding:14px;overflow-x:auto;overflow-y:hidden;flex:1;min-height:0;align-items:stretch}.chapter-column{flex:0 0 260px;display:flex;flex-direction:column;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;min-height:0;max-height:100%}.chapter-column.drag-over{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.chapter-column-header{display:flex;align-items:center;gap:6px;padding:10px 10px 8px;border-bottom:1px solid var(--border);cursor:grab;flex-shrink:0}.chapter-column-title{flex:1;min-width:0;display:flex;align-items:center;gap:6px;background:none;border:none;color:var(--text-primary);font-size:.88rem;font-weight:600;text-align:left;cursor:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-column-index{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;background:var(--bg-tertiary);font-size:.68rem;color:var(--text-secondary);flex-shrink:0}.chapter-column-count{font-size:.72rem;color:var(--text-secondary)}.chapter-track-list{list-style:none;margin:0;padding:8px;overflow-y:auto;flex:1;min-height:0;display:flex;flex-direction:column;gap:6px}.chapter-track-card{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;background:var(--bg-primary);border:1px solid transparent;cursor:grab;touch-action:none;user-select:none}.chapter-track-card:hover{border-color:var(--border)}.chapter-track-card.selected{border-color:var(--accent);background:var(--selected)}.chapter-track-card.insert-before{box-shadow:inset 0 2px 0 0 var(--accent)}.chapter-track-meta{min-width:0;display:flex;flex-direction:column;gap:2px}.chapter-track-title{font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-track-sub{font-size:.68rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-column-empty{padding:18px 10px;text-align:center;font-size:.75rem;color:var(--text-secondary);border:1px dashed var(--border);border-radius:8px}.chapter-column-add{flex:0 0 160px;align-self:stretch;border:1px dashed var(--border);border-radius:10px;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:.9rem}.chapter-column-add:hover{border-color:var(--text-secondary);color:var(--text-primary)}.track-grid-container{flex:1;overflow:auto;padding:16px;min-height:0}.track-grid-scroll-spacer{position:relative;width:100%}.track-grid{display:grid;gap:14px;align-content:start;box-sizing:border-box;width:100%}.track-grid-card{display:flex;flex-direction:column;background:#16161e;border:1px solid transparent;border-radius:8px;overflow:hidden;cursor:pointer;transition:border-color .12s,background .12s,box-shadow .12s;user-select:none;min-height:0}.track-grid-card:hover{background:#1c1c26;border-color:var(--border)}.track-grid-card.selected{border-color:#ffffffd9;box-shadow:0 0 0 1px #ffffff40}.track-grid-card.active-track{border-color:color-mix(in srgb,var(--accent) 70%,white)}.track-grid-card.playing-track .track-grid-title{color:var(--accent)}.track-grid-art-wrap{position:relative;aspect-ratio:1;background:#101018;overflow:hidden}.track-grid-art{width:100%;height:100%}.track-grid-select{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:50%;border:1.5px solid rgba(255,255,255,.55);background:#00000059;padding:0;cursor:pointer;opacity:0;transition:opacity .12s,background .12s,border-color .12s}.track-grid-card:hover .track-grid-select,.track-grid-card.selected .track-grid-select,.track-grid-select:focus-visible{opacity:1}.track-grid-select.checked{opacity:1;background:#ffffffeb;border-color:#fff;box-shadow:inset 0 0 0 4px #16161e}.track-grid-drag{position:absolute;top:8px;left:8px;width:26px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:4px;background:#00000073;color:#ffffffbf;font-size:.7rem;letter-spacing:-.05em;opacity:0;cursor:grab}.track-grid-card:hover .track-grid-drag{opacity:1}.track-grid-body{display:flex;flex-direction:column;gap:8px;padding:10px 10px 12px;min-width:0;height:102px;box-sizing:border-box;flex-shrink:0}.track-grid-title-row{display:flex;align-items:center;gap:6px;min-width:0;height:22px;flex-shrink:0}.track-grid-title{flex:1;margin:0;font-size:.92rem;font-weight:600;line-height:1.25;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-grid-menu{flex-shrink:0;width:22px;height:22px;margin:-2px -4px 0 0;border:none;background:transparent;color:var(--text-secondary);font-size:1.05rem;line-height:1;cursor:pointer;border-radius:4px;opacity:.7}.track-grid-menu:hover{color:var(--text-primary);background:var(--bg-tertiary);opacity:1}.track-grid-meta{display:flex;align-items:center;flex-wrap:nowrap;gap:5px;height:20px;flex-shrink:0;overflow:hidden}.track-grid-bpm{font-size:.78rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-secondary);min-width:1.6em}.track-grid-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:18px;padding:0 5px;border-radius:3px;font-size:.68rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1;color:#fff}.track-grid-badge-key{min-width:26px}.track-grid-badge-energy{background:#c94a6a}.track-grid-badge-energy.high{background:#e25570}.track-grid-badge-energy.low{background:#8a3a52}.track-grid-badge-dance{background:#2f9e8f}.track-grid-badge-dance.high{background:#35b3a2}.track-grid-badge-dance.low{background:#25786d}.track-grid-trend{margin-left:auto;font-size:.75rem;font-weight:700;color:var(--text-secondary)}.track-grid-trend.up{color:#6dcf8a}.track-grid-trend.down{color:#cf6d7a}.track-grid-tags{display:flex;flex-wrap:nowrap;gap:4px;height:22px;flex-shrink:0;align-items:center;overflow:hidden}.track-grid-tag{display:inline-flex;align-items:center;max-width:100%;height:20px;padding:0 8px;border-radius:999px;background:#22222e;color:var(--text-secondary);font-size:.68rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.magic-sort-btn:disabled{opacity:.45;cursor:not-allowed}.magic-sort-error{font-size:.72rem;color:#f0b0b8;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unfit-panel{display:flex;flex-direction:column;min-height:0;height:100%}.unfit-panel-embedded{height:auto;max-height:240px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:0}.unfit-panel-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px 6px;flex-shrink:0}.unfit-panel-title{margin:0;font-size:.85rem;font-weight:600}.unfit-panel-actions{display:flex;flex-wrap:wrap;gap:4px}.unfit-panel-hint{margin:0;padding:0 12px 8px;font-size:.72rem;color:var(--text-secondary);line-height:1.35}.unfit-panel-empty{margin:0;padding:12px;font-size:.78rem;color:var(--text-secondary)}.unfit-panel-list{list-style:none;margin:0;padding:0 8px 12px;overflow-y:auto;display:flex;flex-direction:column;gap:4px;min-height:0;flex:1}.unfit-panel-item{display:flex;align-items:center;gap:4px;padding:4px;border-radius:6px;background:var(--bg-primary)}.unfit-panel-main{flex:1;min-width:0;display:flex;align-items:center;gap:8px;border:none;background:transparent;color:inherit;text-align:left;cursor:pointer;padding:2px;border-radius:4px}.unfit-panel-main:hover{background:var(--bg-tertiary)}.unfit-panel-meta{display:flex;flex-direction:column;min-width:0;gap:2px}.unfit-panel-track-title{font-size:.8rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unfit-panel-track-sub{font-size:.7rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unfit-panel-play,.unfit-panel-dismiss{flex-shrink:0;width:26px;height:26px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer}.unfit-panel-play:hover,.unfit-panel-dismiss:hover{background:var(--bg-tertiary);color:var(--text-primary)}.help-guide-modal{width:min(560px,calc(100vw - 32px));max-height:min(80vh,720px);display:flex;flex-direction:column;padding-bottom:16px}.help-guide-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.help-guide-header .import-modal-title{margin-bottom:4px}.help-guide-kicker{margin:0 0 2px;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.help-guide-summary{margin:0;font-size:.85rem;color:var(--text-secondary);line-height:1.45;max-width:52ch}.help-guide-body{overflow:auto;min-height:0;padding-right:4px;margin:8px 0 12px}.help-guide-section{margin-bottom:14px}.help-guide-section:last-child{margin-bottom:0}.help-guide-section h3{margin:0 0 6px;font-size:.9rem;font-weight:600}.help-guide-section p{margin:0 0 6px;font-size:.82rem;line-height:1.45;color:var(--text-secondary)}.help-guide-section p:last-child{margin-bottom:0}.help-guide-actions{display:flex;justify-content:flex-end;gap:8px;flex-shrink:0}.login-overlay{position:fixed;inset:0;background:var(--bg-primary);z-index:200;display:flex;align-items:center;justify-content:center;padding:24px}.login-box{width:min(360px,100%);background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:26px;box-shadow:0 16px 48px #00000080}.login-logo{display:flex;align-items:center;gap:10px;color:var(--text-primary);font-size:1.02rem;font-weight:600;margin-bottom:14px;letter-spacing:.01em}.login-logo img{width:36px;height:36px;border-radius:4px;background:#000;flex-shrink:0}.login-logo-name{display:flex;flex-direction:column;align-items:flex-start;gap:1px;line-height:1.15;color:var(--text-primary);font-weight:600}.login-logo-name span{color:var(--text-secondary);font-weight:500;font-size:.78rem}.login-box h3{font-size:.95rem;margin-bottom:10px}.login-box label{display:block;font-size:.68rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:10px 0 4px}.login-box input{width:100%;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);border-radius:6px;padding:9px 11px;font-family:inherit;font-size:.85rem}.login-box input:focus{outline:none;border-color:var(--accent)}.login-err{min-height:18px;font-size:.72rem;color:#e07a83;margin-top:10px}.login-box .btn-primary{width:100%;margin-top:8px;padding:10px}.import-url-textarea{width:100%;margin-top:10px;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);border-radius:6px;padding:10px;font-family:inherit;font-size:.82rem;resize:vertical}.app-booting{display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}
