body{color:#18181b;background:#f7f7f8;min-width:320px;font-family:Inter,Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background-color:#f7f7f8;--panel-background:#fff;--surface-color:#fff;--surface-muted-color:#fafafa;--surface-hover-color:#f4f4f5;--surface-active-color:#e9e9ed;--text-color:#18181b;--muted-text-color:#71717a;--subtle-text-color:#52525b;--inverse-text-color:#fff;--border-color:#e4e4e7;--border-strong-color:#d4d4d8;--accent-color:#96660a;--accent-contrast-color:#241f10;--accent-gradient:linear-gradient(135deg, #ffd35c 0%, #f8bd23 55%, #eea412 100%);--accent-glow:0 10px 28px #f8bd2366;--accent-soft-color:#fff5c7;--accent-soft-border:#f0d98a;--danger-color:#b91c1c;--danger-background:#fef2f2;--danger-border:#fecaca;--warning-color:#9a3412;--warning-background:#fff7ed;--warning-border:#fed7aa;--success-color:#166534;--success-background:#dcfce7;--info-color:#1d4ed8;--info-background:#dbeafe;--shadow-color:#00000029;--overlay-color:#00000073}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background-color:#111214;--panel-background:#191a1d;--surface-color:#1f2024;--surface-muted-color:#24262b;--surface-hover-color:#2c2e34;--surface-active-color:#353840;--text-color:#f4f4f5;--muted-text-color:#a1a1aa;--subtle-text-color:#d4d4d8;--inverse-text-color:#18181b;--border-color:#34363d;--border-strong-color:#484b55;--accent-color:#ffd166;--accent-contrast-color:#241f10;--accent-gradient:linear-gradient(135deg, #ffd35c 0%, #f5b731 60%, #e8a917 100%);--accent-glow:0 10px 32px #ffd16673;--accent-soft-color:#3a2c0d;--accent-soft-border:#5c451a;--danger-color:#fca5a5;--danger-background:#3b171c;--danger-border:#7f1d1d;--warning-color:#fdba74;--warning-background:#3a2414;--warning-border:#7c2d12;--success-color:#86efac;--success-background:#17351f;--info-color:#93c5fd;--info-background:#172554;--shadow-color:#0000006b;--overlay-color:#0000009e}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{background:var(--background-color);min-width:320px;color:var(--text-color);font-family:Inter,Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}.login-button,.secondary-button,.icon-button,.modal-primary-button{font:inherit}.login-button{background:var(--accent-gradient);color:var(--accent-contrast-color);box-shadow:var(--accent-glow);border:0;border-radius:10px;padding:11px 18px;font-weight:600;transition:filter .15s,transform .15s}.login-button:not(:disabled):hover{filter:brightness(1.08)}.login-button:not(:disabled):active{transform:translateY(1px)}.login-button.is-connected{border:1px solid var(--border-strong-color);color:var(--text-color);box-shadow:none;background:0 0}.login-button.is-connected:not(:disabled):hover{border-color:var(--danger-color);background:var(--danger-background);color:var(--danger-color);filter:none}.login-button:disabled,.secondary-button:disabled,.modal-primary-button:disabled{cursor:not-allowed;opacity:.45}.secondary-button{border:1px solid var(--border-strong-color);background:var(--surface-color);border-radius:9px;padding:10px 13px;font-weight:600}.danger-button:not(:disabled){border-color:var(--danger-border);color:var(--danger-color)}.danger-button:not(:disabled):hover{background:var(--danger-background)}.icon-button{border:1px solid var(--border-strong-color);background:var(--surface-color);border-radius:9px;width:34px;height:34px;font-size:20px}input,select,textarea{background:var(--surface-color);color:var(--text-color)}::selection{background:color-mix(in srgb, var(--accent-color) 24%, transparent)}.theme-toggle-button{white-space:nowrap;justify-content:center;align-items:center;gap:6px;min-width:88px;display:inline-flex}.icon-label{align-items:center;gap:4px;display:inline-flex}.app{grid-template-rows:auto minmax(0,1fr);height:100vh;padding:24px;display:grid;overflow:hidden}.app-header{justify-content:space-between;align-items:center;gap:16px;width:100%;max-width:1440px;margin:0 auto 20px;display:flex}.app-header h1{background:var(--accent-gradient);color:#0000;filter:drop-shadow(0 0 10px #f8bd2359);letter-spacing:-.01em;-webkit-background-clip:text;background-clip:text;align-items:center;gap:8px;margin:0;font-size:24px;font-weight:800;display:inline-flex}.app-header-logo-icon{background:var(--accent-gradient);filter:drop-shadow(0 2px 8px #f8bd2373);border-radius:9px 9px 12px 12px;flex-shrink:0;place-items:center;width:30px;height:30px;display:inline-grid}.app-header-logo-icon img{object-fit:cover;border-radius:50%;width:100%;height:100%}:root[data-theme=dark] .app-header-logo-icon{filter:drop-shadow(0 2px 10px #ffd16673)}.app-header p{color:var(--muted-text-color);margin:6px 0 0;font-size:14px}.header-actions{align-items:center;gap:6px;display:flex}.header-actions .secondary-button,.header-actions .login-button{border-radius:8px;padding:7px 12px;font-size:13px}.header-actions .theme-toggle-button{min-width:72px}.workspace{border:1px solid var(--border-color);background:var(--surface-color);border-radius:16px;grid-template-columns:250px minmax(0,1fr);width:100%;max-width:1440px;min-height:0;margin:0 auto;display:grid;overflow:hidden;box-shadow:0 12px 30px #0000000f}:root[data-theme=dark] .workspace{box-shadow:0 14px 36px var(--shadow-color)}.header-brand{align-items:center;gap:18px;min-width:0;display:flex}.header-title-block{flex-shrink:0;width:320px}.library-mode-tabs{border:1px solid var(--border-strong-color);background:var(--surface-muted-color);border-radius:10px;flex-shrink:0;padding:3px;display:inline-flex}.library-mode-tabs button{color:var(--muted-text-color);background:0 0;border:0;border-radius:7px;padding:7px 11px;font-size:12px;font-weight:700}.library-mode-tabs button.active{background:var(--accent-gradient);color:var(--accent-contrast-color);box-shadow:0 2px 8px var(--shadow-color)}@media (width<=760px){.header-brand{flex-direction:column;align-items:flex-start;gap:10px}.header-title-block{width:auto}}.home-dashboard{flex-direction:column;justify-content:center;gap:24px;min-height:100%;padding:clamp(28px,5vw,64px);display:flex}.home-dashboard-top{justify-content:space-between;align-items:center;gap:28px;display:flex}.home-dashboard-mascot{flex-shrink:0;width:148px}.home-dashboard-mascot img{filter:drop-shadow(0 16px 26px #00000024);width:100%;height:auto;display:block}@media (width<=900px){.home-dashboard-mascot{display:none}}.home-dashboard-hero{max-width:760px}.home-dashboard-kicker{background:var(--surface-muted-color);color:var(--muted-text-color);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;margin-bottom:12px;padding:5px 9px;font-size:11px;font-weight:800;display:inline-flex}.home-dashboard h2{margin:0;font-size:clamp(26px,4vw,40px);line-height:1.18}.home-dashboard-hero p{max-width:680px;color:var(--muted-text-color);margin:14px 0 0;font-size:15px;line-height:1.7}.home-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:860px;display:grid}.home-dashboard-card{border:1px solid var(--border-color);background:var(--surface-muted-color);border-radius:16px;flex-direction:column;align-items:flex-start;gap:9px;min-height:180px;padding:22px;display:flex}.home-dashboard-card>span{color:var(--muted-text-color);font-size:12px;font-weight:700}.home-dashboard-card>strong{font-size:28px}.home-dashboard-card p{color:var(--muted-text-color);margin:0;font-size:13px;line-height:1.6}.home-dashboard-card button{margin-top:auto}.home-dashboard-card-accent{background:color-mix(in srgb, var(--surface-active-color) 54%, var(--surface-color))}.home-dashboard-analysis{border:1px solid var(--border-color);background:var(--surface-muted-color);border-radius:16px;flex-direction:column;gap:16px;max-width:860px;padding:20px 22px;display:flex}.home-dashboard-analysis-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.home-dashboard-analysis-head h3{margin:0;font-size:16px}.home-dashboard-analysis-coverage{color:var(--muted-text-color);margin-top:4px;font-size:12px;display:block}.home-dashboard-classification-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.home-dashboard-stat-chip{border:1px solid var(--border-color);background:var(--surface-color);border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex}.home-dashboard-stat-icon{border-radius:9px;place-items:center;width:30px;height:30px;font-size:15px;display:inline-grid}.home-dashboard-stat-chip.music .home-dashboard-stat-icon{background:var(--success-background);color:var(--success-color)}.home-dashboard-stat-chip.video .home-dashboard-stat-icon{background:var(--danger-background);color:var(--danger-color)}.home-dashboard-stat-chip.unknown .home-dashboard-stat-icon{background:var(--accent-soft-color);color:var(--accent-color)}.home-dashboard-stat-chip>span:not(.home-dashboard-stat-icon){color:var(--muted-text-color);font-size:11px;font-weight:700}.home-dashboard-stat-chip strong{font-size:20px}.home-dashboard-duplicate-callout{border-top:1px solid var(--border-color);color:var(--muted-text-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:14px;font-size:13px;display:flex}.home-dashboard-duplicate-callout strong{color:var(--text-color)}.home-dashboard-analysis-empty{color:var(--muted-text-color);margin:0;font-size:13px;line-height:1.6}@media (width<=760px){.home-dashboard-classification-grid{grid-template-columns:1fr}}.home-dashboard-tip{border-top:1px solid var(--border-color);max-width:860px;color:var(--muted-text-color);align-items:center;gap:12px;padding-top:18px;font-size:12px;display:flex}.home-dashboard-tip strong{color:var(--text-color);flex:none}@media (width<=760px){.home-dashboard-grid{grid-template-columns:1fr}.home-dashboard-tip{flex-direction:column;align-items:flex-start}}.app-header-wrap{width:100%;max-width:1440px;margin:0 auto 20px}.app-header-wrap .app-header{max-width:none;margin-bottom:0}.offline-banner{border:1px solid var(--border-strong-color);background:var(--surface-muted-color);color:var(--muted-text-color);border-radius:10px;align-items:center;gap:10px;margin-top:10px;padding:9px 12px;font-size:12px;display:flex}.offline-banner strong{color:var(--text-color);flex:none}@media (width<=760px){.offline-banner{flex-direction:column;align-items:flex-start;gap:3px}}.header-title-row{align-items:center;gap:8px;display:flex}.beta-badge{border:1px solid var(--accent-soft-border);background:var(--accent-soft-color);color:var(--accent-color);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;padding:3px 7px;font-size:10px;font-weight:800;line-height:1;display:inline-flex}.reconnect-banner{border:1px solid var(--border-strong-color);background:var(--surface-muted-color);color:var(--muted-text-color);border-radius:10px;align-items:center;gap:10px;margin-top:10px;padding:9px 12px;font-size:12px;display:flex}.reconnect-banner img{flex:none;width:32px;height:32px}.reconnect-banner strong{color:var(--text-color);flex:none}.reconnect-banner span{min-width:0}.reconnect-banner button{flex:none;margin-left:auto}@media (width<=760px){.reconnect-banner{flex-direction:column;align-items:flex-start}.reconnect-banner button{margin-left:0}}.playlist-panel{border-right:1px solid var(--border-color);background:var(--surface-muted-color);grid-template-rows:auto minmax(0,1fr);min-height:0;padding:20px 14px 14px;display:grid}.panel-header{gap:10px;padding:0 8px 14px;display:grid}.panel-header-title{justify-content:space-between;align-items:center;display:flex}.panel-header h2{margin:0;font-size:18px}.playlist-search-input{border:1px solid var(--border-strong-color);background:var(--surface-color);border-radius:9px;outline:none;width:100%;padding:9px 12px;font-size:13px}.playlist-search-input:focus{border-color:var(--muted-text-color);box-shadow:0 0 0 3px #71717a1f}.playlist-list{overscroll-behavior:contain;scrollbar-gutter:stable;flex-direction:column;gap:6px;min-height:0;display:flex;overflow-y:auto}.playlist-item-wrapper{border-radius:10px;align-items:center;display:flex;position:relative}.playlist-item-wrapper:hover{background:var(--surface-hover-color)}.playlist-item-wrapper.active{background:var(--surface-active-color)}.playlist-item{text-align:left;background:0 0;border:0;border-radius:9px;flex:1;align-items:center;gap:10px;width:100%;min-width:0;padding:7px 42px 7px 8px;display:flex}.playlist-thumbnail{background:var(--accent-gradient);width:38px;height:38px;color:var(--accent-contrast-color);border-radius:7px;flex-shrink:0;place-items:center;font-size:16px;display:grid;overflow:hidden}.playlist-thumbnail img{object-fit:cover;width:100%;height:100%}.playlist-info{flex-direction:column;gap:2px;min-width:0;display:flex}.playlist-info strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.playlist-info small{color:var(--muted-text-color);font-size:11px}.playlist-menu-button{background:0 0;border:0;border-radius:8px;width:32px;height:32px;font-size:20px;line-height:1;position:absolute;right:7px}.playlist-menu-button:hover{background:var(--border-strong-color)}.playlist-empty-state{color:var(--muted-text-color);text-align:center;padding:28px 12px;font-size:13px}.playlist-empty-state-mascot{width:76px;height:auto;margin:0 auto 8px;display:block}.playlist-header-actions{align-items:center;gap:6px;display:flex;position:relative}.playlist-sort-button{font-size:17px}.playlist-sort-summary{color:var(--muted-text-color);text-align:right;font-size:11px}.playlist-sort-menu{flex-direction:column;gap:4px;padding:4px;display:flex}.playlist-sort-menu>strong{color:var(--muted-text-color);padding:7px 9px 5px;font-size:11px}.playlist-sort-menu button{width:100%;color:inherit;text-align:left;background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:center;gap:12px;padding:8px 9px;font-size:13px;display:flex}.playlist-sort-menu button:hover,.playlist-sort-menu button.active{background:var(--surface-hover-color)}.playlist-sort-menu button.active{font-weight:600}.playlist-item-wrapper.dragging{z-index:20;background:var(--surface-color);opacity:.94;position:relative;box-shadow:0 10px 28px #00000029}.playlist-drag-handle{width:28px;height:32px;color:var(--muted-text-color);cursor:grab;touch-action:none;background:0 0;border:0;border-radius:7px;flex-shrink:0;place-items:center;display:grid}.playlist-drag-handle:hover{background:var(--border-color);color:var(--subtle-text-color)}.playlist-drag-handle:active{cursor:grabbing}.playlist-drag-handle:disabled{cursor:not-allowed;opacity:.28}:root[data-theme=dark] .playlist-thumbnail,:root[data-theme=dark] .playlist-item-wrapper.dragging{box-shadow:none}.playlist-item-wrapper.track-drop-target{outline:2px solid var(--success-color);outline-offset:-2px;background:var(--success-background);transform:translate(2px)}.playlist-item-wrapper.track-drop-disabled{opacity:.42}.playlist-item-wrapper.track-drop-target:after{content:"드롭";background:var(--success-color);color:var(--accent-contrast-color);border-radius:999px;padding:2px 7px;font-size:9px;font-weight:700;position:absolute;bottom:4px;right:42px}.quick-shelf{border:1px solid var(--border-color);background:var(--surface-color);border-radius:12px;margin:0 0 12px;padding:10px}.quick-shelf-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;padding:0 2px;display:flex}.quick-shelf-header>div{flex-direction:column;gap:2px;min-width:0;display:flex}.quick-shelf-header strong{font-size:12px}.quick-shelf-header span{color:var(--muted-text-color);font-size:10px}.quick-shelf-list{flex-direction:column;gap:5px;display:flex}.quick-shelf-item{background:var(--surface-muted-color);border-radius:9px;align-items:center;min-width:0;transition:background .16s,outline-color .16s,transform .16s;display:flex;position:relative}.quick-shelf-item:hover{background:var(--surface-hover-color)}.quick-shelf-item.active{background:var(--surface-active-color)}.quick-shelf-main{width:100%;min-width:0;color:inherit;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:9px;padding:7px 34px 7px 7px;display:flex}.quick-shelf-thumbnail{background:var(--accent-gradient);width:32px;height:32px;color:var(--accent-contrast-color);border-radius:7px;flex-shrink:0;place-items:center;font-size:13px;display:grid;overflow:hidden}.quick-shelf-thumbnail img{object-fit:cover;width:100%;height:100%}.quick-shelf-info{flex-direction:column;gap:2px;min-width:0;display:flex}.quick-shelf-info strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.quick-shelf-info small{color:var(--muted-text-color);font-size:10px}.quick-shelf-remove{width:26px;height:26px;color:var(--muted-text-color);background:0 0;border:0;border-radius:7px;font-size:17px;line-height:1;position:absolute;right:5px}.quick-shelf-remove:hover{background:var(--border-color);color:var(--text-color)}.quick-shelf-item.track-drop-target{outline:2px solid var(--success-color);outline-offset:-2px;background:var(--success-background);transform:translate(2px)}.quick-shelf-item.track-drop-disabled{opacity:.42}@media (width<=680px){.quick-shelf{margin-bottom:10px}.quick-shelf-list{flex-direction:row;overflow-x:auto}.quick-shelf-item{flex:0 0 165px;min-width:165px}}.playlist-panel{grid-template-rows:auto auto minmax(0,1fr)}.quick-shelf{align-self:start;min-height:0;margin:0 0 10px;padding:9px}.quick-shelf-empty{border:1px dashed var(--border-strong-color);min-height:58px;color:var(--muted-text-color);text-align:center;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:10px;display:flex}.quick-shelf-empty strong{color:var(--text-color);font-size:11px}.quick-shelf-empty span{font-size:10px}.quick-shelf-drop-hint,.playlist-list-drop-hint{border:1px dashed var(--success-color);background:var(--success-background);color:var(--success-color);text-align:center;border-radius:8px;padding:7px 9px;font-size:10px;font-weight:700}.quick-shelf-drop-hint{margin-top:7px}.quick-shelf.playlist-drop-zone-active{outline:2px solid var(--success-color);outline-offset:2px;background:color-mix(in srgb, var(--success-background) 62%, var(--surface-color))}.playlist-list-zone{grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid;position:relative}.playlist-list-zone.quick-shelf-return-active{outline:2px solid var(--info-color);outline-offset:-2px;background:color-mix(in srgb, var(--info-background) 24%, transparent);border-radius:10px}.playlist-list-drop-hint{border-color:var(--info-color);background:var(--info-background);color:var(--info-color);margin:0 4px 7px}.playlist-row-draggable,.quick-shelf-row-draggable{cursor:grab;touch-action:none}.playlist-row-draggable:active,.quick-shelf-row-draggable:active{cursor:grabbing}.playlist-row-draggable button,.quick-shelf-row-draggable button{color:inherit}.playlist-item-wrapper .playlist-item{padding-left:8px}.playlist-drag-handle{display:none}.quick-shelf-item.dragging{z-index:20;background:var(--surface-color);box-shadow:0 10px 28px var(--shadow-color);opacity:.9;position:relative}@media (width<=680px){.playlist-panel{grid-template-rows:auto auto auto;display:grid}.quick-shelf-list{max-height:none}.playlist-list-zone{display:block}}.special-playlist-section{border:1px solid var(--border-color);background:var(--surface-color);border-radius:12px;flex-direction:column;gap:5px;margin-bottom:10px;padding:9px;display:flex}.special-playlist-section-title{color:var(--muted-text-color);text-transform:uppercase;letter-spacing:.04em;padding:0 3px 4px;font-size:10px;font-weight:700}.special-playlist-item{cursor:default;background:color-mix(in srgb, var(--danger-background) 44%, var(--surface-muted-color))}.special-playlist-item:hover{background:color-mix(in srgb, var(--danger-background) 60%, var(--surface-hover-color))}.special-playlist-item .playlist-thumbnail{background:var(--danger-color)}.special-playlist-item .playlist-info small{align-items:center;gap:6px;display:flex}.special-playlist-badge{background:var(--danger-background);color:var(--danger-color);border-radius:999px;padding:2px 6px;font-size:9px;font-weight:700}.playlist-panel{flex-direction:column;min-height:0;display:flex}.panel-header,.special-playlist-section,.quick-shelf{flex:none}.special-playlist-section,.quick-shelf{max-width:100%}.quick-shelf-list{overscroll-behavior:contain;max-height:180px;overflow-y:auto}.playlist-list-zone{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.playlist-list-zone>.playlist-list{flex:auto;min-height:0;overflow-y:auto}@media (width<=680px){.playlist-panel{display:block}.playlist-list-zone{display:block;overflow:visible}.playlist-list-zone>.playlist-list{overflow:auto hidden}.quick-shelf-list{max-height:none}}.playlist-empty-state{line-height:1.6}.playlist-home-button{border:1px solid var(--border-color);background:var(--surface-color);width:calc(100% - 16px);color:var(--text-color);text-align:left;border-radius:10px;align-items:center;gap:10px;margin:0 8px 10px;padding:10px 12px;font-weight:700;display:flex}.playlist-home-button:hover{background:var(--surface-hover-color)}.playlist-home-button.active{border-color:var(--border-strong-color);background:var(--surface-active-color)}.playlist-home-button span:first-child{font-size:16px}.track-panel{grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;padding:18px;display:grid;overflow:hidden}.track-toolbar{gap:12px;min-width:0;margin-bottom:14px;display:grid}.track-toolbar-heading{flex-direction:column;gap:10px;min-width:0;display:flex}.track-toolbar-heading>div:first-child{text-align:center}.track-toolbar h2{margin:0;font-size:18px}.track-toolbar p{color:var(--muted-text-color);margin:6px 0 0;font-size:14px}.normal-toolbar,.selection-toolbar{min-width:0}.normal-toolbar{align-items:center;display:flex}.search-input{border:1px solid var(--border-strong-color);border-radius:9px;outline:none;width:100%;padding:10px 12px}.search-input:focus{border-color:var(--muted-text-color);box-shadow:0 0 0 3px #71717a1a}.selection-toolbar{border:1px solid var(--border-strong-color);background:var(--surface-muted-color);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:9px 11px;display:flex}.selection-toolbar-summary{flex-shrink:0;align-items:center;gap:12px;display:flex}.selection-toolbar-summary strong{font-size:14px}.selection-clear-button{color:var(--subtle-text-color);background:0 0;border:0;padding:4px 0;font-size:13px;text-decoration:underline}.selection-toolbar-actions{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.selection-toolbar-actions .playlist-combobox{width:240px}.track-table{border:1px solid var(--border-color);border-radius:12px;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;display:grid;overflow:hidden}.track-table-header,.track-row{grid-template-columns:44px minmax(220px,1fr) 72px 40px;align-items:center;gap:10px;padding:9px 12px;display:grid}.track-table-header{z-index:10;border-bottom:1px solid var(--border-color);background:var(--surface-muted-color);color:var(--muted-text-color);padding-right:82px;font-size:12px;font-weight:600;position:relative}.track-header-sort-wrapper{min-width:0;position:relative}.track-header-sort-trigger{min-width:0;color:inherit;font:inherit;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-weight:600;display:inline-flex}.track-header-sort-trigger:hover:not(:disabled){color:var(--text-color)}.track-header-sort-trigger:disabled{cursor:default;opacity:.6}.track-header-sort-current{color:var(--accent-color);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.track-header-sort-caret{opacity:.7;font-size:10px}.track-header-actions{align-items:center;gap:6px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.track-header-action-button{border:1px solid var(--border-strong-color);background:var(--surface-color);width:26px;height:26px;color:var(--muted-text-color);border-radius:7px;flex-shrink:0;place-items:center;font-size:14px;display:grid}.track-header-action-button:hover:not(:disabled){border-color:var(--accent-color);background:var(--surface-hover-color);color:var(--accent-color)}.track-header-action-button:disabled{cursor:not-allowed;opacity:.45}.track-header-refresh-button.is-refreshing span{animation:.8s linear infinite track-header-refresh-spin;display:inline-block}@keyframes track-header-refresh-spin{to{transform:rotate(360deg)}}.track-list{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;overflow-y:auto}.track-row{border-bottom:1px solid var(--surface-hover-color);min-height:58px}.track-row:last-child{border-bottom:0}.track-row:hover{background:var(--surface-muted-color)}.track-row.selected{background:var(--surface-active-color)}.track-row.dragging{z-index:20;background:var(--surface-color);opacity:.9;position:relative;box-shadow:0 12px 30px #0000002e}.track-info{align-items:center;gap:10px;min-width:0;display:flex}.track-info>div{flex-direction:column;gap:2px;min-width:0;display:flex}.track-info strong,.track-info small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.track-info strong{font-size:13px}.track-info small,.track-duration{color:var(--muted-text-color);font-size:12px}.track-thumbnail{background:var(--border-color);width:42px;height:42px;color:var(--subtle-text-color);border-radius:6px;flex-shrink:0;place-items:center;display:grid;overflow:hidden}.track-thumbnail img{object-fit:cover;width:100%;height:100%}.drag-handle{width:28px;height:30px;color:var(--muted-text-color);cursor:grab;touch-action:none;background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.drag-handle:hover{background:var(--border-color);color:var(--subtle-text-color)}.drag-handle:active{cursor:grabbing}.drag-handle:disabled{cursor:not-allowed;opacity:.35}.more-button{background:0 0;border:0;border-radius:6px;padding:5px;font-size:18px}.more-button:hover{background:var(--border-color)}.track-menu-wrapper{place-items:center;display:grid}.drag-disabled-notice{z-index:12;border-bottom:1px solid var(--warning-border);background:color-mix(in srgb, var(--warning-background) 96%, transparent);color:var(--warning-color);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);align-items:center;gap:8px;padding:7px 12px;font-size:12px;display:flex;position:sticky;top:0}.drag-disabled-dot{background:currentColor;border-radius:999px;flex-shrink:0;width:7px;height:7px;animation:1.2s ease-in-out infinite operation-pulse}@keyframes operation-pulse{0%,to{opacity:.35}50%{opacity:1}}.empty-state{color:var(--muted-text-color);text-align:center;padding:48px 20px}.empty-state-mascot{width:96px;height:auto;margin:0 auto 10px;display:block}.no-playlist-state{text-align:center;align-content:center;place-items:center;min-height:420px;display:grid}.no-playlist-state-mascot{width:168px;height:auto;margin-bottom:6px}.no-playlist-state h2{margin:0}.no-playlist-state p{color:var(--muted-text-color);margin:10px 0 20px}.track-row.sync-pending{background:var(--surface-muted-color);opacity:.72}.track-row.sync-pending:hover{background:var(--surface-muted-color)}.track-row.pending-delete{opacity:.58;background:#fff7f7}.track-row.pending-delete .track-info strong{text-decoration:line-through;text-decoration-thickness:1px}.track-row.sync-pending .drag-handle,.track-row.sync-pending .more-button,.track-row.sync-pending input[type=checkbox]{pointer-events:none}.track-subtitle{align-items:center;gap:6px;min-width:0;display:flex!important}.track-subtitle>span:first-child{text-overflow:ellipsis;overflow:hidden}.track-status-badge{background:var(--border-color);color:var(--subtle-text-color);border-radius:999px;flex-shrink:0;padding:2px 7px;font-size:10px;font-weight:600;line-height:1.4}.track-status-badge.danger{color:var(--danger-color);background:#fee2e2}.track-sort-menu{flex-direction:column;gap:4px;padding:4px;display:flex}.track-sort-menu>strong{color:var(--muted-text-color);padding:7px 9px 5px;font-size:11px}.track-sort-menu button{width:100%;color:inherit;text-align:left;background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:center;gap:12px;padding:8px 9px;font-size:13px;display:flex}.track-sort-menu button:hover,.track-sort-menu button.active{background:var(--surface-hover-color)}.track-sort-menu button.active{font-weight:600}@media (width<=680px){.track-toolbar-heading{align-items:flex-start;gap:10px}.track-toolbar-heading>div:first-child{text-align:left}}:root[data-theme=dark] .track-row.dragging{box-shadow:0 14px 34px var(--shadow-color)}:root[data-theme=dark] .track-row.pending-delete{background:var(--danger-background)}:root[data-theme=dark] .track-row.sync-pending{background:var(--surface-muted-color)}.track-row:not(.sync-pending){cursor:grab}.track-row:not(.sync-pending):active{cursor:grabbing}.track-row input,.track-row button,.track-row a,.track-row select{cursor:pointer}.track-drag-overlay{border:1px solid var(--border-strong-color);background:var(--surface-color);min-width:210px;color:var(--text-color);box-shadow:0 16px 40px var(--shadow-color);border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.track-drag-overlay strong{font-size:14px}.track-drag-overlay span{color:var(--muted-text-color);font-size:11px}.track-drop-modal{width:min(100%,480px)}.track-drop-shortcuts{color:var(--muted-text-color);flex-wrap:wrap;gap:8px;margin-top:14px;font-size:12px;display:flex}.track-drag-overlay{gap:18px;min-width:270px}.track-drag-overlay>div:first-child{flex-direction:column;gap:3px;min-width:0;display:flex}.track-drag-overlay>div:first-child span{text-overflow:ellipsis;white-space:nowrap;max-width:170px;overflow:hidden}.track-drag-mode{background:var(--surface-muted-color);border-radius:9px;flex-direction:column;flex-shrink:0;align-items:flex-end;gap:3px;padding:7px 9px;display:flex}.track-drag-mode span{font-size:10px}.track-drag-mode strong{font-size:12px}.track-drag-overlay.mode-copy{border-color:var(--info-color);box-shadow:0 16px 40px var(--shadow-color), 0 0 0 2px color-mix(in srgb, var(--info-color) 24%, transparent)}.track-drag-overlay.mode-copy .track-drag-mode{background:var(--info-background);color:var(--info-color)}.track-drag-overlay.mode-move{border-color:var(--success-color);box-shadow:0 16px 40px var(--shadow-color), 0 0 0 2px color-mix(in srgb, var(--success-color) 24%, transparent)}.track-drag-overlay.mode-move .track-drag-mode{background:var(--success-background);color:var(--success-color)}.track-drag-overlay{border-radius:10px;gap:10px;width:auto;min-width:0;max-width:260px;padding:9px 11px}.track-drag-overlay>div:first-child,.track-drag-overlay>div:first-child span{max-width:150px}.track-drag-mode{padding:5px 7px}.track-row.multi-drag-source{opacity:.72;transition:none!important;transform:none!important}.track-row.multi-drag-source:after{content:"여러 곡 드래그";background:var(--surface-muted-color);color:var(--muted-text-color);border-radius:999px;padding:3px 8px;font-size:10px;font-weight:700;position:absolute;right:48px}.readonly-playlist-label{background:var(--danger-background);color:var(--danger-color);border-radius:999px;margin-right:8px;padding:3px 7px;font-size:10px;font-weight:700;display:inline-flex}.track-select-cell{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;align-self:stretch;place-items:center;width:44px;min-height:44px;display:grid}.track-select-cell:hover{background:var(--surface-hover-color)}.track-select-cell input{width:16px;height:16px;margin:0}.track-select-header{min-height:32px}.track-row.sync-pending .track-select-cell{pointer-events:none;opacity:.6}@media (width<=680px){.track-table-header,.track-row{grid-template-columns:38px minmax(0,1fr) 32px}.track-select-cell{width:38px;min-height:40px}}.music-classification-badge{border-radius:999px;flex-shrink:0;align-items:center;gap:3px;padding:2px 7px;font-size:9px;font-weight:700;line-height:1.5;display:inline-flex}.music-classification-badge svg{font-size:10px}.music-classification-badge.music{background:var(--success-background);color:var(--success-color)}.music-classification-badge.non-music{background:var(--info-background);color:var(--info-color)}.music-classification-badge.unknown{background:var(--surface-active-color);color:var(--muted-text-color)}.music-classification-wrapper{flex-shrink:0;display:inline-flex;position:relative}.music-classification-badge{cursor:help;border:0}.music-classification-tooltip{z-index:80;border:1px solid var(--border-color);background:var(--surface-color);width:230px;color:var(--text-color);box-shadow:0 14px 38px var(--shadow-color);border-radius:10px;flex-direction:column;gap:7px;padding:11px;font-size:11px;line-height:1.4;display:none;position:absolute;bottom:calc(100% + 8px);left:0}.music-classification-tooltip>span{color:var(--muted-text-color)}.music-classification-reasons{flex-wrap:wrap;gap:5px;display:flex}.music-classification-reasons small{background:var(--surface-muted-color);color:var(--subtle-text-color);border-radius:999px;padding:3px 6px;font-size:9px;font-weight:600}.track-row{position:relative}.track-row:hover,.track-row:focus-within{z-index:30}.track-info,.track-info>div{overflow:visible}.track-info small.track-subtitle{white-space:normal;overflow:visible}.track-subtitle>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.music-classification-wrapper{z-index:40}.music-classification-tooltip{pointer-events:none}.music-classification-wrapper{position:static}.music-classification-tooltip-portal{z-index:10000;pointer-events:none;flex-direction:column;gap:7px;width:240px;max-width:calc(100vw - 24px);display:flex;position:fixed}.music-classification-tooltip-portal[style*="top: 0px"]{visibility:hidden}.music-classification-wrapper:hover .music-classification-tooltip,.music-classification-wrapper:focus-within .music-classification-tooltip{display:none}.music-classification-tooltip.music-classification-tooltip-portal{box-sizing:border-box;white-space:normal;width:240px;height:auto;min-height:0;max-height:min(320px,100vh - 24px);line-height:1.45;display:flex;position:fixed;bottom:auto;right:auto;overflow:visible}.music-classification-tooltip-portal>strong,.music-classification-tooltip-portal>span{width:100%;display:block}.music-classification-tooltip-portal .music-classification-reasons{white-space:normal;flex-wrap:wrap;gap:5px;width:100%;display:flex;overflow:visible}.music-classification-tooltip-portal .music-classification-reasons small{white-space:normal;width:auto;max-width:100%;display:inline-flex}.music-classification-tooltip-portal.placement-top{transform:translateY(-100%)}.music-classification-tooltip-portal.placement-bottom{transform:none}.track-menu-content{flex-direction:column;gap:4px;display:flex}.track-menu-field{flex-direction:column;gap:5px;padding:6px 8px;display:flex}.track-menu-field span,.track-menu-section-title{color:var(--muted-text-color);font-size:10px;font-weight:700}.track-menu-field select{border:1px solid var(--border-color);border-radius:7px;width:100%;padding:7px}.track-menu-section-title{padding:6px 9px 2px}.track-menu-content button.active{background:var(--success-background);color:var(--success-color)}.floating-menu-divider{background:var(--border-color);height:1px;margin:4px 6px}.classification-menu{flex-direction:column;gap:11px;width:100%;padding:10px;display:flex}.classification-menu.compact{padding:5px 2px}.classification-menu-heading{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.classification-menu-heading>div{flex-direction:column;gap:3px;min-width:0;display:flex}.classification-menu-heading strong{font-size:12px}.classification-menu-heading span,.classification-menu-source{color:var(--muted-text-color);font-size:10px}.classification-menu-source{background:var(--surface-muted-color);border-radius:999px;flex-shrink:0;padding:3px 7px}.classification-menu-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.classification-menu-actions button{border:1px solid var(--border-color);background:var(--surface-color);min-width:0;min-height:56px;color:var(--text-color);border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:7px 5px;font-size:10px;display:flex}.classification-menu-actions button:hover{background:var(--surface-hover-color)}.classification-menu-actions button.active{box-shadow:inset 0 0 0 1px}.classification-menu-actions button.music{color:var(--success-color)}.classification-menu-actions button.non-music{color:var(--info-color)}.classification-menu-actions button.automatic{color:var(--muted-text-color)}.classification-menu-actions kbd{text-align:center;opacity:.75;border:1px solid;border-radius:5px;min-width:20px;padding:2px 5px;font-size:9px}.classification-menu-evidence{border-top:1px solid var(--border-color);grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding-top:9px;display:grid}.classification-menu-evidence>div:not(.classification-menu-reasons){background:var(--surface-muted-color);border-radius:7px;flex-direction:column;gap:3px;padding:7px;display:flex}.classification-menu-evidence span{color:var(--muted-text-color);font-size:9px}.classification-menu-evidence strong{font-size:11px}.classification-menu-reasons{flex-wrap:wrap;grid-column:1/-1;gap:5px;display:flex}.classification-menu-reasons span{background:var(--surface-muted-color);color:var(--subtle-text-color);border-radius:999px;padding:3px 6px;font-size:9px;font-weight:600}.music-classification-badge{cursor:pointer}@media (width<=560px){.classification-menu-actions{grid-template-columns:1fr}.classification-menu-actions button{flex-direction:row;min-height:42px}}.track-filter-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.track-filter-bar{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.track-filter-bar button{border:1px solid var(--border-color);background:var(--surface-color);min-height:34px;color:var(--muted-text-color);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:11px;display:inline-flex}.track-filter-bar button:hover:not(:disabled){border-color:var(--border-strong-color);background:var(--surface-hover-color);color:var(--text-color)}.track-filter-bar button.active{border-color:var(--accent-color);background:var(--accent-gradient);color:var(--accent-contrast-color)}.track-filter-bar button:disabled{cursor:default;opacity:.42}.track-filter-icon{flex-shrink:0;font-size:13px}.track-filter-bar button strong{font-size:11px}.track-filter-bar button small{background:color-mix(in srgb, currentColor 12%, transparent);min-width:20px;color:inherit;border-radius:999px;justify-content:center;padding:2px 5px;font-size:9px;font-weight:700;display:inline-flex}.track-filter-review-button{white-space:nowrap;flex-shrink:0}@media (width<=680px){.track-filter-row{flex-direction:column;align-items:stretch}.track-filter-bar{flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.track-filter-bar button{flex:none}.track-filter-review-button{width:100%}}.track-pagination{border-top:1px solid var(--border-color);background:var(--surface-color);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.track-pagination-summary,.track-pagination-controls,.track-page-size{align-items:center;gap:8px;display:flex}.track-pagination-summary{color:var(--muted-text-color);font-size:12px}.track-pagination-summary strong{color:var(--text-color)}.track-pagination-controls .secondary-button{min-height:34px;padding:6px 10px}.track-page-size{color:var(--muted-text-color);font-size:11px}.track-page-size select{border:1px solid var(--border-color);background:var(--surface-color);min-height:34px;color:var(--text-color);border-radius:8px;padding:5px 28px 5px 9px}.track-page-indicator{text-align:center;min-width:54px;color:var(--muted-text-color);font-size:12px;font-weight:700}@media (width<=680px){.track-pagination{flex-direction:column;align-items:stretch}.track-pagination-controls{flex-wrap:wrap;justify-content:space-between}.track-page-size{justify-content:space-between;width:100%}}.music-analysis-details{max-width:760px;margin:8px auto 0}.music-analysis-details summary{cursor:pointer;width:fit-content;color:var(--muted-text-color);margin:0 auto;font-size:11px;font-weight:700}.music-analysis-details[open] summary{color:var(--text-color)}.music-analysis-panel{border:1px solid var(--border-color);background:var(--surface-muted-color);color:var(--muted-text-color);text-align:left;border-radius:10px;gap:8px;margin-top:8px;padding:12px;font-size:11px;line-height:1.55;display:grid}.music-analysis-panel>strong{color:var(--text-color);font-size:11px}.music-analysis-panel p{margin:0}.music-analysis-criteria-list{flex-direction:column;gap:3px;margin:0;padding-left:16px;list-style:outside;display:flex}.music-analysis-criteria-list li::marker{color:var(--accent-color)}.music-analysis-note{color:var(--subtle-text-color);font-size:10px}.music-analysis-metrics{flex-wrap:wrap;gap:6px;display:flex}.music-analysis-metrics span{border:1px solid var(--border-color);background:var(--surface-color);border-radius:999px;padding:4px 8px}.music-analysis-metrics strong{color:var(--text-color)}.track-pagination{border-top:1px solid var(--border-color);background:var(--surface-muted-color);justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding:7px 12px;display:flex}.track-pagination-summary{color:var(--muted-text-color);white-space:nowrap;font-size:12px}.track-pagination-loading{color:var(--subtle-text-color);font-weight:600}.track-pagination-actions{align-items:center;gap:5px;display:flex}.track-pagination-actions button{border:1px solid var(--border-color);background:var(--surface-color);width:30px;height:30px;color:inherit;cursor:pointer;border-radius:7px;place-items:center;font-size:16px;display:grid}.track-pagination-actions button:hover:not(:disabled){background:var(--surface-hover-color)}.track-pagination-actions button:disabled{cursor:default;opacity:.35}.track-pagination-page{min-width:62px;color:var(--subtle-text-color);text-align:center;font-size:12px;font-weight:600}@media (width<=680px){.track-pagination{gap:6px;padding-inline:8px}.track-pagination-summary{font-size:11px}.track-pagination-actions{gap:3px}.track-pagination-actions button{width:28px;height:28px}}.cached-playlist-label{background:var(--surface-muted-color);color:var(--muted-text-color);border-radius:999px;align-items:center;margin-right:8px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-flex}.track-row.track-unavailable .track-thumbnail,.track-row.track-unavailable .track-info>div>strong,.track-row.track-unavailable .track-subtitle{opacity:.72}.track-availability-badge{border:1px solid var(--border-color);background:var(--surface-muted-color);color:var(--muted-text-color);vertical-align:middle;border-radius:999px;align-items:center;margin-left:7px;padding:2px 6px;font-size:10px;font-weight:700;display:inline-flex}.track-menu-unavailable-note{background:var(--surface-muted-color);color:var(--muted-text-color);border-radius:8px;margin:0;padding:8px 9px;font-size:11px;line-height:1.5}.partial-load-banner{border:1px solid var(--border-strong-color);background:var(--surface-muted-color);border-radius:10px;justify-content:space-between;align-items:center;gap:14px;margin:0 0 12px;padding:10px 12px;display:flex}.partial-load-banner>div{flex-direction:column;gap:3px;min-width:0;display:flex}.partial-load-banner strong{font-size:12px}.partial-load-banner span{color:var(--muted-text-color);font-size:11px;line-height:1.45}.partial-load-banner button{flex:none}@media (width<=680px){.partial-load-banner{flex-direction:column;align-items:stretch}}.track-table-header{padding-right:116px}.track-data-menu{flex-direction:column;gap:4px;padding:4px;display:flex}.track-data-menu>strong{color:var(--muted-text-color);text-transform:uppercase;letter-spacing:.04em;padding:7px 9px 5px;font-size:11px}.track-data-menu button{width:100%;color:var(--text-color);text-align:left;background:0 0;border:0;border-radius:8px;gap:2px;padding:8px 9px;display:grid}.track-data-menu button:hover:not(:disabled){background:var(--surface-muted-color)}.track-data-menu button:disabled{cursor:default;opacity:.45}.track-data-menu button span{font-size:13px;font-weight:650}.track-data-menu button small{color:var(--muted-text-color);font-size:11px}.cached-playlist-label.verified{border:1px solid var(--border-color);background:var(--surface-color);color:var(--text-color)}.floating-menu{z-index:3000;border:1px solid var(--border-color);background:var(--surface-color);border-radius:12px;display:grid;position:fixed;overflow:hidden;box-shadow:0 18px 45px #0000002e,0 3px 10px #00000014}.floating-menu>button{border:0;border-top:1px solid var(--surface-hover-color);width:100%;color:var(--text-color);text-align:left;background:0 0;padding:11px 14px;font-size:13px}.floating-menu>button:hover:not(:disabled){background:var(--surface-hover-color)}.floating-menu>button:disabled{cursor:not-allowed;opacity:.4}.floating-menu>.danger-menu-item{color:var(--danger-color)}.floating-menu>.danger-menu-item:hover{background:var(--danger-background)}.playlist-combobox{min-width:0}.playlist-combobox-button{border:1px solid var(--border-strong-color);background:var(--surface-color);width:100%;min-width:180px;color:var(--text-color);text-align:left;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.playlist-combobox-button span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.playlist-combobox-button:disabled{cursor:not-allowed;opacity:.45}.playlist-combobox-menu{padding:10px}.playlist-combobox-search{border:1px solid var(--border-strong-color);border-radius:8px;outline:none;width:100%;padding:9px 10px}.playlist-combobox-search:focus{border-color:var(--muted-text-color);box-shadow:0 0 0 3px #71717a1f}.playlist-combobox-options{max-height:280px;margin-top:8px;display:grid;overflow-y:auto}.playlist-combobox-option{text-align:left;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:10px;display:flex}.playlist-combobox-option:hover{background:var(--surface-hover-color)}.playlist-combobox-option.selected{background:var(--surface-active-color)}.playlist-combobox-option span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.playlist-combobox-option small{color:var(--muted-text-color);flex-shrink:0}.playlist-combobox-empty{color:var(--muted-text-color);text-align:center;padding:24px 10px;font-size:13px}.track-menu-target{color:var(--muted-text-color);gap:8px;padding:14px;font-size:12px;font-weight:600;display:grid}.track-menu-target .playlist-combobox-button{min-width:0;font-size:13px}:root[data-theme=dark] .floating-menu{box-shadow:0 20px 48px var(--shadow-color), 0 3px 12px #00000047}.modal-backdrop{z-index:1000;background:#00000073;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirm-modal{background:var(--surface-color);border-radius:16px;width:min(100%,440px);padding:24px;box-shadow:0 24px 60px #0000003d}.confirm-modal h2{margin:0;font-size:20px}.confirm-modal p{color:var(--subtle-text-color);margin:14px 0 0;line-height:1.6}.confirm-modal strong{color:var(--text-color)}.confirm-modal .modal-warning{background:var(--danger-background);color:var(--danger-color);border-radius:9px;padding:10px 12px;font-size:13px}.modal-input{border:1px solid var(--border-strong-color);border-radius:9px;outline:none;width:100%;margin-top:20px;padding:11px 12px}.modal-input:focus{border-color:var(--muted-text-color);box-shadow:0 0 0 3px #71717a1f}.modal-input-info{color:var(--muted-text-color);justify-content:space-between;gap:16px;margin-top:8px;font-size:12px;display:flex}.modal-actions{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.modal-primary-button{background:var(--text-color);color:var(--surface-color);border:0;border-radius:9px;padding:10px 16px;font-weight:600}.modal-primary-button.danger{background:var(--danger-color)}.toast{z-index:3100;background:var(--text-color);color:var(--surface-color);border-radius:10px;padding:12px 18px;font-size:14px;font-weight:600;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #0003}.operation-progress{z-index:3050;border:1px solid var(--border-color);background:var(--surface-color);border-radius:14px;width:min(340px,100vw - 32px);padding:14px;position:fixed;bottom:24px;right:24px;box-shadow:0 18px 45px #00000029,0 3px 10px #0000000f}.operation-progress-header{justify-content:space-between;align-items:center;gap:16px;font-size:13px;display:flex}.operation-progress-header span{color:var(--muted-text-color);flex-shrink:0}.operation-progress-track{background:var(--border-color);border-radius:999px;height:7px;margin-top:12px;overflow:hidden}.operation-progress-value{border-radius:inherit;background:var(--text-color);height:100%;transition:width .18s}.operation-progress-details{color:var(--muted-text-color);gap:12px;margin-top:9px;font-size:12px;display:flex}.operation-progress-failed{color:var(--danger-color)}:root[data-theme=dark] .modal-backdrop{background:var(--overlay-color)}:root[data-theme=dark] .toast{background:var(--text-color);color:var(--inverse-text-color)}.quota-guard{border:1px solid var(--border-color);background:var(--surface-muted-color);border-radius:12px;gap:6px;margin-top:12px;padding:12px 14px;font-size:13px;display:grid}.quota-guard-row{justify-content:space-between;align-items:center;gap:18px;display:flex}.quota-guard p{margin:4px 0 0;line-height:1.45}.quota-warning{background:#fff8e8;border-color:#e4b45d}.quota-danger{background:#fff1f1;border-color:#e39a9a}[data-theme=dark] .quota-warning{background:#8f62102e}[data-theme=dark] .quota-danger{background:#97303033}.backup-restore-modal{border:1px solid var(--border-color);background:var(--surface-color);border-radius:18px;width:min(100%,620px);max-height:min(760px,100vh - 40px);overflow:auto;box-shadow:0 24px 70px #0000003d}.backup-restore-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 24px 16px;display:flex}.backup-restore-header h2{margin:0;font-size:20px}.backup-restore-header p{color:var(--muted-text-color);margin:7px 0 0;font-size:13px;line-height:1.55}.backup-restore-body{gap:14px;padding:20px 24px;display:grid}.backup-file-picker{border:1px dashed var(--border-strong-color);background:var(--surface-muted-color);border-radius:12px;gap:8px;padding:14px;font-size:13px;font-weight:700;display:grid}.backup-file-picker input{width:100%;font:inherit;font-size:12px}.backup-file-name{color:var(--muted-text-color);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.backup-restore-error{border:1px solid var(--danger-border);background:var(--danger-background);color:var(--danger-color);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:flex}.backup-restore-error-mascot{flex:none;width:40px;height:40px}.backup-restore-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.backup-restore-summary>div{border:1px solid var(--border-color);background:var(--surface-muted-color);border-radius:10px;gap:4px;padding:10px 12px;display:grid}.backup-restore-summary span{color:var(--muted-text-color);font-size:11px}.backup-restore-summary strong{font-size:13px}.backup-restore-note{border:1px solid var(--border-color);background:var(--surface-muted-color);border-radius:12px;padding:12px 14px;font-size:12px;line-height:1.55}.backup-restore-note strong{margin-bottom:6px;display:block}.backup-restore-note ul{margin:0;padding-left:18px}.backup-restore-actions{border-top:1px solid var(--border-color);justify-content:flex-end;gap:8px;padding:16px 24px 22px;display:flex}@media (width<=620px){.backup-restore-summary{grid-template-columns:1fr}.backup-restore-header,.backup-restore-body,.backup-restore-actions{padding-inline:16px}}.playlist-list,.track-list,.playlist-combobox-options{scrollbar-width:thin;scrollbar-color:var(--border-strong-color) transparent}.playlist-list::-webkit-scrollbar{width:10px;height:10px}.track-list::-webkit-scrollbar{width:10px;height:10px}.playlist-combobox-options::-webkit-scrollbar{width:10px;height:10px}.playlist-list::-webkit-scrollbar-thumb{background:var(--border-strong-color);background-clip:padding-box;border:3px solid #0000;border-radius:999px}.track-list::-webkit-scrollbar-thumb{background:var(--border-strong-color);background-clip:padding-box;border:3px solid #0000;border-radius:999px}.playlist-combobox-options::-webkit-scrollbar-thumb{background:var(--border-strong-color);background-clip:padding-box;border:3px solid #0000;border-radius:999px}@media (width<=900px){.app{padding:12px}.app-header{align-items:flex-start}.app-header p{display:none}.workspace{grid-template-columns:220px minmax(0,1fr)}.selection-toolbar{flex-direction:column;align-items:stretch}.selection-toolbar-actions{flex-wrap:wrap;justify-content:stretch}.selection-toolbar-actions .playlist-combobox{width:100%}.selection-toolbar-actions .secondary-button{flex:1}}@media (width<=680px){.app{height:auto;min-height:100vh;padding:10px;display:block;overflow:visible}.app-header{gap:12px;margin-bottom:12px}.app-header h1{font-size:17px}.app-header p,.header-actions .secondary-button{display:none}.header-actions{gap:6px}.login-button{white-space:nowrap;padding:8px 10px;font-size:12px}.workspace{border-radius:12px;display:block;overflow:visible}.playlist-panel{border-right:0;border-bottom:1px solid var(--border-color);padding:12px;display:block}.panel-header{padding:0 0 10px}.panel-header-title h2{font-size:16px}.playlist-list{scrollbar-gutter:auto;flex-direction:row;gap:8px;min-height:auto;padding-top:10px;display:flex;overflow:auto hidden}.playlist-item-wrapper{flex:0 0 175px;min-width:175px}.playlist-item{padding:7px 36px 7px 7px}.playlist-thumbnail{width:34px;height:34px}.track-panel{padding:12px;display:block;overflow:visible}.track-toolbar{margin-bottom:12px}.track-toolbar-heading h2{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100vw - 50px);font-size:17px;overflow:hidden}.normal-toolbar .search-input{width:100%}.selection-toolbar{gap:10px;padding:10px;display:grid}.selection-toolbar-summary{justify-content:space-between}.selection-toolbar-actions{grid-template-columns:1fr 1fr 1fr;gap:7px;display:grid}.selection-toolbar-actions .playlist-combobox{grid-column:1/-1;width:100%}.selection-toolbar-actions .playlist-combobox-button{width:100%;min-width:0}.selection-toolbar-actions .secondary-button{width:100%;padding:9px 6px;font-size:12px}.track-table{overflow:hidden}.track-table-header,.track-row{grid-template-columns:26px 20px minmax(0,1fr) 32px;gap:7px;padding:8px}.track-table-header span:nth-of-type(3),.track-duration{display:none}.track-row{min-height:56px}.track-thumbnail{width:40px;height:40px}.track-info{gap:8px}.track-info strong{font-size:12px}.track-info small{font-size:11px}.drag-handle{width:25px;height:28px}.more-button{width:30px;height:30px;padding:3px}.confirm-modal{padding:20px}.modal-actions{grid-template-columns:1fr 1fr;display:grid}.toast{text-align:center;bottom:126px;left:16px;right:16px;transform:none}.operation-progress{width:auto;bottom:16px;left:16px;right:16px}}.developer-panel-trigger{z-index:40;border:1px solid var(--border-color);background:var(--panel-background);color:var(--text-color);cursor:pointer;border-radius:999px;padding:10px 15px;position:fixed;bottom:20px;right:20px;box-shadow:0 8px 24px #00000024}.developer-panel-backdrop{z-index:100;background:#00000059;justify-content:flex-end;display:flex;position:fixed;inset:0}.developer-panel{background:var(--panel-background);width:min(420px,100%);height:100%;padding:20px;overflow-y:auto;box-shadow:-12px 0 36px #0000002e}.developer-panel-header,.developer-card-heading,.developer-status-list>div,.developer-usage-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.developer-panel-header{margin-bottom:18px}.developer-panel-header h2,.developer-card h3{margin:0}.developer-panel-header p,.developer-empty,.developer-usage-row span{color:var(--muted-text-color)}.developer-panel-header p{margin:4px 0 0;font-size:13px}.developer-card{border:1px solid var(--border-color);background:var(--background-color);border-radius:14px;margin-bottom:14px;padding:16px}.developer-card h3{font-size:15px}.developer-progress-track{background:var(--border-color);border-radius:999px;height:8px;margin:14px 0;overflow:hidden}.developer-progress-value{border-radius:inherit;background:currentColor;height:100%;transition:width .18s}.developer-metrics{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.developer-metrics>div{background:var(--panel-background);border-radius:10px;flex-direction:column;gap:4px;padding:10px;display:flex}.developer-metrics span,.developer-status-list span{color:var(--muted-text-color);font-size:12px}.developer-usage-list,.developer-status-list{flex-direction:column;gap:10px;margin-top:14px;display:flex}.developer-usage-row,.developer-status-list>div{border-top:1px solid var(--border-color);padding-top:10px}.developer-usage-row>div{flex-direction:column;gap:3px;display:flex}.developer-usage-row strong{font-size:13px}.developer-reset-button{width:100%}@media (width<=680px){.developer-panel-trigger{bottom:12px;right:12px}.developer-panel{width:100%}}.developer-operation-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.developer-operation-grid>div{background:var(--panel-background);border-radius:10px;flex-direction:column;gap:4px;min-width:0;padding:10px;display:flex}.developer-operation-grid span{color:var(--muted-text-color);font-size:12px}.developer-operation-grid strong{font-size:16px}.developer-card-description{color:var(--muted-text-color);margin:5px 0 0;font-size:12px}@media (width<=420px){.developer-operation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.developer-cache-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.developer-cache-actions .secondary-button{min-width:0}.developer-cache-note,.developer-panel-footnote{color:var(--muted-text-color);margin:10px 0 0;font-size:11px;line-height:1.55}.developer-panel-footnote{padding:0 4px 8px}@media (width<=420px){.developer-cache-actions{grid-template-columns:1fr}}.developer-card-note{color:var(--muted-text-color);margin:10px 0 0;font-size:11px;line-height:1.55}.privacy-data-card .privacy-danger-button{background:color-mix(in srgb, #d64545 10%, var(--surface-color));border-color:color-mix(in srgb, #d64545 34%, var(--border-color));color:#b53232}.privacy-data-card .privacy-danger-button:hover:not(:disabled){background:color-mix(in srgb, #d64545 16%, var(--surface-color))}.pending-operation-stack{z-index:85;flex-direction:column;gap:10px;width:min(380px,100vw - 32px);display:flex;position:fixed;bottom:96px;right:20px}.pending-operation-card{border:1px solid var(--border-strong-color);background:var(--surface-color);border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:13px 14px;display:flex;box-shadow:0 12px 30px #00000029}.pending-operation-content{flex-direction:column;gap:4px;min-width:0;display:flex}.pending-operation-content strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.pending-operation-content span{color:var(--muted-text-color);font-size:12px}.pending-operation-actions{flex-shrink:0;align-items:center;gap:7px;display:flex}.pending-operation-actions button{cursor:pointer;border:0;border-radius:8px;padding:7px 9px;font-size:12px;font-weight:600}.pending-execute-button{background:var(--surface-hover-color);color:#3f3f46}.pending-cancel-button{background:var(--accent-gradient);color:var(--accent-contrast-color)}@media (width<=680px){.pending-operation-stack{width:calc(100vw - 24px);bottom:82px;right:12px}.pending-operation-card{flex-direction:column;align-items:flex-start}.pending-operation-actions{justify-content:flex-end;width:100%}}:root[data-theme=dark] .pending-operation-card{box-shadow:0 14px 34px var(--shadow-color)}.operation-history-trigger{z-index:40;border:1px solid var(--border-strong-color);background:var(--surface-color);color:var(--accent-color);cursor:pointer;border-radius:999px;padding:10px 15px;position:fixed;bottom:68px;right:20px;box-shadow:0 8px 24px #00000024}.operation-history-backdrop{z-index:100;background:#00000059;justify-content:flex-end;display:flex;position:fixed;inset:0}.operation-history-panel{background:var(--surface-color);width:min(440px,100%);height:100%;padding:20px;overflow-y:auto;box-shadow:-12px 0 36px #0000002e}.operation-history-header,.operation-history-toolbar,.operation-history-item-header,.operation-history-metrics,.operation-history-time{justify-content:space-between;align-items:center;gap:12px;display:flex}.operation-history-header{margin-bottom:16px}.operation-history-header h2{margin:0}.operation-history-header p{color:var(--muted-text-color);margin:4px 0 0;font-size:13px}.operation-history-toolbar{margin-bottom:12px}.operation-history-toolbar>span{color:var(--muted-text-color);font-size:12px}.operation-history-list{flex-direction:column;gap:10px;display:flex}.operation-history-item{border:1px solid var(--border-color);background:var(--surface-muted-color);border-radius:12px;padding:14px}.operation-history-item-header>div{align-items:center;gap:8px;min-width:0;display:flex}.operation-history-item-header span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.operation-history-status{background:var(--border-color);color:var(--subtle-text-color);border-radius:999px;flex-shrink:0;padding:3px 8px;font-size:11px;font-weight:600}.operation-history-item.status-completed .operation-history-status{background:var(--success-background);color:var(--success-color)}.operation-history-item.status-failed .operation-history-status{color:var(--danger-color);background:#fee2e2}.operation-history-item.status-cancelled .operation-history-status{color:#92400e;background:#fef3c7}.operation-history-metrics,.operation-history-time{color:var(--muted-text-color);margin-top:10px;font-size:12px}.operation-history-error{color:#be123c;background:#fff1f2;border-radius:8px;margin:10px 0 0;padding:8px 10px;font-size:12px}.operation-history-empty{color:var(--muted-text-color);text-align:center;padding:36px 16px}@media (width<=680px){.operation-history-trigger{bottom:60px;right:12px}.operation-history-panel{width:100%}}:root[data-theme=dark] .operation-history-backdrop{background:var(--overlay-color)}.operation-history-quota,.operation-history-failure-summary{color:var(--muted-text-color);margin-top:6px;font-size:12px}.operation-history-failure-summary{color:#b34a4a}.operation-history-retry{margin-top:10px}.operation-history-retry .secondary-button{width:100%}.library-analyzer-backdrop{z-index:110;background:#0000006b;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.library-analyzer-panel{background:var(--surface-color);width:min(980px,100%);max-height:min(820px,100vh - 48px);color:var(--text-color);box-shadow:0 24px 64px var(--shadow-color);border-radius:18px;grid-template-rows:auto auto minmax(0,1fr);display:grid;overflow:hidden}.library-analyzer-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:16px;padding:20px 22px 16px;display:flex}.library-analyzer-header h2{margin:0;font-size:21px}.library-analyzer-header p{color:var(--muted-text-color);margin:5px 0 0;font-size:13px}.library-analyzer-tabs{border-bottom:1px solid var(--border-color);background:var(--surface-muted-color);gap:6px;padding:12px 22px;display:flex}.library-analyzer-tabs button{color:var(--muted-text-color);background:0 0;border:0;border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600}.library-analyzer-tabs button.active{background:var(--accent-gradient);color:var(--accent-contrast-color)}.library-analyzer-content{min-height:0;padding:20px 22px 24px;overflow-y:auto}.analyzer-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.analyzer-summary-grid>div{border:1px solid var(--border-color);background:var(--surface-muted-color);border-radius:12px;flex-direction:column;gap:6px;padding:14px;display:flex}.analyzer-summary-grid span,.analyzer-health-card span{color:var(--muted-text-color);font-size:12px}.analyzer-summary-grid strong{font-size:20px}.analyzer-health-card{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.analyzer-health-card>div{border:1px solid var(--border-color);background:var(--surface-muted-color);color:var(--text-color);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.analyzer-health-card strong{color:var(--accent-color);font-size:20px}.duplicate-list-section{margin-top:22px}.duplicate-list-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:12px;display:flex}.duplicate-list-heading h3{margin:0;font-size:17px}.duplicate-list-heading p{color:var(--muted-text-color);margin:5px 0 0;font-size:12px}.duplicate-list-heading>span{color:var(--muted-text-color);font-size:12px}.duplicate-group-list{flex-direction:column;gap:12px;display:flex}.duplicate-group{border:1px solid var(--border-color);background:var(--surface-color);border-radius:14px;overflow:hidden}.duplicate-group-main{background:var(--surface-muted-color);grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px;display:grid}.duplicate-thumbnail{background:var(--accent-gradient);width:48px;height:48px;color:var(--accent-contrast-color);border-radius:8px;place-items:center;display:grid;overflow:hidden}.duplicate-thumbnail img{object-fit:cover;width:100%;height:100%}.duplicate-track-info{flex-direction:column;gap:3px;min-width:0;display:flex}.duplicate-track-info strong,.duplicate-track-info span,.duplicate-track-info small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.duplicate-track-info strong{font-size:14px}.duplicate-track-info span,.duplicate-track-info small{color:var(--muted-text-color);font-size:11px}.duplicate-count-badge{background:var(--surface-active-color);color:var(--muted-text-color);border-radius:999px;padding:4px 9px;font-size:11px;font-weight:700}.duplicate-occurrence-list{flex-direction:column;display:flex}.duplicate-occurrence{border-top:1px solid var(--border-color);grid-template-columns:72px minmax(0,1fr);align-items:center;gap:10px;padding:10px 14px;display:grid}.duplicate-occurrence>div{flex-direction:column;gap:2px;min-width:0;display:flex}.duplicate-occurrence strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.duplicate-occurrence small{color:var(--muted-text-color);font-size:11px}.duplicate-keep-badge,.duplicate-extra-badge{border-radius:999px;width:fit-content;padding:3px 7px;font-size:10px;font-weight:700}.duplicate-keep-badge{background:var(--success-background);color:var(--success-color)}.duplicate-extra-badge{background:var(--danger-background);color:var(--danger-color)}.analyzer-empty-state{color:var(--muted-text-color);text-align:center;padding:44px 16px}.analyzer-empty-state-mascot{width:100px;height:auto;margin:0 auto 10px;display:block}@media (width<=720px){.library-analyzer-backdrop{padding:0}.library-analyzer-panel{border-radius:0;width:100%;height:100vh;max-height:100vh}.analyzer-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analyzer-health-card{grid-template-columns:1fr}}.duplicate-selection-toolbar{border:1px solid var(--border-color);background:var(--surface-muted-color);border-radius:12px;justify-content:space-between;align-items:center;gap:14px;margin-top:16px;padding:12px 14px;display:flex}.duplicate-selection-toolbar span{color:var(--muted-text-color);font-size:11px}.duplicate-occurrence{grid-template-columns:82px minmax(0,1fr) auto}.duplicate-occurrence.state-delete{background:var(--danger-background)}.duplicate-occurrence.state-saved{background:var(--info-background)}.duplicate-saved-badge{background:var(--info-background);width:fit-content;color:var(--info-color);border-radius:999px;padding:3px 7px;font-size:10px;font-weight:700}.duplicate-occurrence-actions{justify-content:flex-end;align-items:center;gap:7px;display:flex}.duplicate-occurrence-actions button{cursor:pointer;border:0;border-radius:8px;padding:7px 9px;font-size:11px;font-weight:600}.duplicate-keep-button{background:var(--success-background);color:var(--success-color)}.duplicate-delete-toggle{background:var(--surface-hover-color);color:var(--muted-text-color)}.duplicate-delete-toggle.selected{background:var(--danger-background);color:var(--danger-color)}.duplicate-keep-description{color:var(--success-color);font-size:11px;font-weight:600}.duplicate-delete-footer{z-index:8;border-top:1px solid var(--border-color);background:color-mix(in srgb, var(--surface-color) 96%, transparent);box-shadow:0 -10px 24px var(--shadow-color);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:space-between;align-items:center;gap:14px;margin:20px -22px -24px;padding:14px 22px;display:flex;position:sticky;bottom:-24px}.duplicate-delete-footer>div{flex-direction:column;gap:3px;display:flex}.duplicate-delete-footer span{color:var(--muted-text-color);font-size:11px}.duplicate-delete-submit{border:0;border-radius:9px;padding:10px 14px;font-weight:700}.duplicate-delete-submit:disabled{cursor:not-allowed;opacity:.45}@media (width<=720px){.duplicate-selection-toolbar,.duplicate-delete-footer{flex-direction:column;align-items:stretch}.duplicate-selection-toolbar>div:last-child,.duplicate-occurrence-actions{width:100%}.duplicate-occurrence{grid-template-columns:82px minmax(0,1fr)}.duplicate-occurrence-actions{grid-column:1/-1;justify-content:flex-end}.duplicate-delete-submit{width:100%}}.duplicate-selection-toolbar{align-items:center}.duplicate-strategy-controls{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;width:100%;display:flex}.duplicate-strategy-actions{flex-shrink:0;gap:8px;display:flex}.duplicate-strategy-select{border:1px solid var(--border-strong-color);background:var(--surface-color);min-width:190px;color:var(--text-color);border-radius:9px;padding:9px 10px;font-size:12px}.duplicate-strategy-select:focus{outline:2px solid var(--muted-text-color);outline-offset:1px}@media (width<=720px){.duplicate-strategy-controls,.duplicate-strategy-select{width:100%}.duplicate-strategy-controls{justify-content:stretch}.duplicate-strategy-actions{width:100%}.duplicate-strategy-actions button{flex:1}}.music-intelligence-card{border:1px solid var(--border-color);background:var(--surface-muted-color);border-radius:14px;margin-top:16px;padding:15px}.music-intelligence-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.music-intelligence-heading>div{flex-direction:column;gap:4px;display:flex}.music-intelligence-heading span{color:var(--muted-text-color);font-size:11px}.music-intelligence-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:13px;display:grid}.classification-stat{border:1px solid var(--border-color);background:var(--surface-color);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:10px;display:flex}.classification-stat span{color:var(--muted-text-color);font-size:10px}.classification-stat strong{font-size:15px}.classification-stat.music{border-color:color-mix(in srgb, var(--success-color) 35%, var(--border-color))}.classification-stat.non-music{border-color:color-mix(in srgb, var(--info-color) 35%, var(--border-color))}.classification-stat.unknown{border-color:var(--border-strong-color)}@media (width<=680px){.music-intelligence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.music-intelligence-heading{flex-direction:column}}.classification-review-backdrop{z-index:3500;background:var(--overlay-color);justify-content:flex-end;display:flex;position:fixed;inset:0}.classification-review-drawer{border-left:1px solid var(--border-color);background:var(--surface-color);width:min(100%,480px);height:100%;color:var(--text-color);box-shadow:-20px 0 60px var(--shadow-color);flex-direction:column;animation:.18s ease-out classification-drawer-in;display:flex}@keyframes classification-drawer-in{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}.classification-review-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-start;gap:14px;padding:20px;display:flex}.classification-review-header>div{flex-direction:column;gap:4px;display:flex}.classification-review-header span{color:var(--muted-text-color);font-size:11px;font-weight:700}.classification-review-header h2{margin:0;font-size:21px}.classification-review-progress{background:var(--surface-muted-color);padding:14px 20px}.classification-review-progress>div:first-child{justify-content:space-between;align-items:center;gap:12px;display:flex}.classification-review-progress span{color:var(--muted-text-color);font-size:11px}.classification-review-progress-track{background:var(--surface-active-color);border-radius:999px;height:6px;margin-top:9px;overflow:hidden}.classification-review-progress-track span{border-radius:inherit;background:var(--accent-gradient);height:100%;transition:width .18s;display:block}.classification-review-content{flex-direction:column;flex:1;gap:17px;min-height:0;padding:20px;display:flex;overflow-y:auto}.classification-review-thumbnail{aspect-ratio:16/9;background:var(--surface-muted-color);border-radius:14px;place-items:center;width:100%;font-size:42px;display:grid;overflow:hidden}.classification-review-thumbnail img{object-fit:cover;width:100%;height:100%}.classification-review-track-info h3{margin:0;font-size:18px;line-height:1.45}.classification-review-track-info p{color:var(--subtle-text-color);margin:6px 0}.classification-review-track-info small{color:var(--muted-text-color);line-height:1.5}.classification-review-evidence{border:1px solid var(--border-color);background:var(--surface-muted-color);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:12px;display:grid}.classification-review-evidence>div:not(.classification-review-reasons){background:var(--surface-color);border-radius:9px;flex-direction:column;gap:4px;padding:9px;display:flex}.classification-review-evidence span{color:var(--muted-text-color);font-size:10px}.classification-review-reasons{flex-wrap:wrap;grid-column:1/-1;gap:6px;display:flex}.classification-review-reasons span{background:var(--surface-color);color:var(--subtle-text-color);border-radius:999px;padding:4px 8px;font-weight:600}.classification-review-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.classification-action{border:1px solid var(--border-color);background:var(--surface-color);min-height:72px;color:var(--text-color);border-radius:11px;flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex}.classification-action:hover{transform:translateY(-1px)}.classification-action kbd{opacity:.7;border:1px solid;border-radius:5px;padding:2px 6px;font-size:9px}.classification-action.music{border-color:var(--success-color);color:var(--success-color)}.classification-action.non-music{border-color:var(--info-color);color:var(--info-color)}.classification-action.automatic{color:var(--muted-text-color)}.classification-review-navigation{justify-content:space-between;align-items:center;gap:9px;margin-top:auto;display:flex}.classification-review-navigation span{color:var(--muted-text-color);font-size:10px}.classification-review-complete{text-align:center;flex:1;align-content:center;place-items:center;min-height:0;padding:30px;display:grid}.classification-review-complete>div{background:var(--success-background);width:68px;height:68px;color:var(--success-color);border-radius:50%;place-items:center;font-size:30px;font-weight:800;display:grid}.classification-review-complete h3{margin:16px 0 6px}.classification-review-complete p{color:var(--muted-text-color);margin:0 0 20px}.classification-stat{appearance:none;text-align:left;cursor:pointer}.classification-stat small{color:var(--muted-text-color);font-size:9px}.classification-stat:disabled{cursor:default;opacity:.5}@media (width<=560px){.classification-review-drawer{width:100%}.classification-review-actions{grid-template-columns:1fr}.classification-action{flex-direction:row;min-height:54px}}.classification-review-content{transition:opacity .14s,transform .14s}.classification-review-content.advancing{opacity:.42;pointer-events:none;transform:translate(-8px)}.classification-review-actions.advancing{pointer-events:none}.classification-action:disabled{cursor:default;opacity:.55}.classification-action:not(:disabled):active{transform:translateY(1px)scale(.985)}.classification-action kbd{text-align:center;min-width:22px}.classification-review-undo{white-space:nowrap}@media (width<=560px){.classification-review-navigation{flex-wrap:wrap}.classification-review-undo{order:-1;width:100%}}.classification-stat-wrapper{min-width:0;display:flex;position:relative}.classification-stat-wrapper .classification-stat{width:100%;padding-right:54px}.classification-stat-wrapper .classification-stat small{display:none}.classification-stat-cleanup{border:1px solid var(--info-color);background:var(--info-background);color:var(--info-color);border-radius:999px;padding:3px 8px;font-size:9px;font-weight:700;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.classification-stat-cleanup:disabled{opacity:.45}.music-cleanup-backdrop{z-index:3600;background:var(--overlay-color);place-items:center;padding:18px;display:grid;position:fixed;inset:0}.music-cleanup-panel{border:1px solid var(--border-color);background:var(--surface-color);width:min(100%,820px);max-height:min(90vh,850px);color:var(--text-color);box-shadow:0 28px 80px var(--shadow-color);border-radius:18px;flex-direction:column;display:flex;position:relative;overflow:hidden}.music-cleanup-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px;display:flex}.music-cleanup-header>div{flex-direction:column;gap:4px;display:flex}.music-cleanup-header span{color:var(--muted-text-color);font-size:10px;font-weight:700}.music-cleanup-header h2{margin:0;font-size:23px}.music-cleanup-header p{color:var(--muted-text-color);margin:0;font-size:12px}.music-cleanup-content{min-height:0;padding:20px 22px;overflow-y:auto}.music-cleanup-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.music-cleanup-summary>div{border:1px solid var(--border-color);background:var(--surface-muted-color);border-radius:12px;flex-direction:column;gap:5px;padding:12px;display:flex}.music-cleanup-summary span{color:var(--muted-text-color);font-size:10px}.music-cleanup-summary strong{font-size:19px}.music-cleanup-preview{margin-top:18px}.music-cleanup-section-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.music-cleanup-section-heading h3{margin:0;font-size:15px}.music-cleanup-section-heading p{color:var(--muted-text-color);margin:4px 0 0;font-size:10px}.music-cleanup-section-heading>span{color:var(--muted-text-color);font-size:11px}.music-cleanup-preview-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:11px;display:grid}.music-cleanup-preview-item{border:1px solid var(--border-color);background:var(--surface-muted-color);border-radius:10px;align-items:center;gap:9px;min-width:0;padding:8px;display:flex}.music-cleanup-preview-thumbnail{background:var(--surface-active-color);width:54px;height:34px;color:var(--muted-text-color);border-radius:6px;flex-shrink:0;place-items:center;display:grid;overflow:hidden}.music-cleanup-preview-thumbnail img{object-fit:cover;width:100%;height:100%}.music-cleanup-preview-item>div{flex-direction:column;gap:2px;min-width:0;display:flex}.music-cleanup-preview-item strong,.music-cleanup-preview-item span,.music-cleanup-preview-item small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.music-cleanup-preview-item strong{font-size:10px}.music-cleanup-preview-item span{color:var(--subtle-text-color);font-size:9px}.music-cleanup-preview-item small{color:var(--muted-text-color);font-size:8px}.music-cleanup-options{gap:8px;margin-top:18px;display:grid}.music-cleanup-option{border:1px solid var(--border-color);background:var(--surface-color);color:var(--text-color);text-align:left;border-radius:12px;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;display:grid}.music-cleanup-option:hover:not(:disabled){border-color:var(--border-strong-color);background:var(--surface-hover-color)}.music-cleanup-option>span:first-child{background:var(--surface-muted-color);border-radius:8px;place-items:center;width:28px;height:28px;font-size:10px;font-weight:800;display:grid}.music-cleanup-option>div{flex-direction:column;gap:3px;display:flex}.music-cleanup-option strong{font-size:12px}.music-cleanup-option small{color:var(--muted-text-color);font-size:9px}.music-cleanup-option.danger{border-color:color-mix(in srgb, var(--danger-color) 30%, var(--border-color))}.music-cleanup-notice,.music-cleanup-confirm-warning{background:var(--warning-background);color:var(--warning-color);border-radius:9px;margin-top:12px;padding:9px 11px;font-size:10px;line-height:1.5}.music-cleanup-empty{text-align:center;align-content:center;place-items:center;min-height:220px;margin-top:18px;display:grid}.music-cleanup-empty>div{background:var(--success-background);width:58px;height:58px;color:var(--success-color);border-radius:50%;place-items:center;font-size:25px;font-weight:800;display:grid}.music-cleanup-empty h3{margin:14px 0 5px}.music-cleanup-empty p{max-width:300px;color:var(--muted-text-color);margin:0;font-size:11px}.music-cleanup-footer{border-top:1px solid var(--border-color);justify-content:flex-end;padding:13px 22px;display:flex}.music-cleanup-confirm-backdrop{z-index:5;background:var(--overlay-color);place-items:center;padding:20px;display:grid;position:absolute;inset:0}.music-cleanup-confirm{border:1px solid var(--border-color);background:var(--surface-color);width:min(100%,430px);box-shadow:0 20px 50px var(--shadow-color);border-radius:14px;padding:18px}.music-cleanup-confirm h3{margin:0}.music-cleanup-confirm p{color:var(--muted-text-color);margin:8px 0 0;line-height:1.6}.music-cleanup-confirm-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}@media (width<=680px){.music-cleanup-summary,.music-cleanup-preview-list{grid-template-columns:1fr}.music-cleanup-panel{max-height:94vh}}.music-cleanup-option.recommended{border-color:color-mix(in srgb, var(--success-color) 45%, var(--border-color));background:color-mix(in srgb, var(--success-background) 45%, var(--surface-color))}.music-cleanup-option strong{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.music-cleanup-option strong em{background:var(--success-background);color:var(--success-color);border-radius:999px;padding:2px 6px;font-size:8px;font-style:normal;font-weight:800}.music-cleanup-option strong em.coming-soon{background:var(--surface-active-color);color:var(--muted-text-color)}.music-cleanup-option:disabled{cursor:default;opacity:.56}.music-cleanup-preview-reasons{flex-wrap:wrap;gap:4px;min-width:0;margin-top:3px;display:flex}.music-cleanup-preview-reasons span{background:var(--surface-active-color);max-width:100%;color:var(--muted-text-color);border-radius:999px;padding:2px 5px;font-size:7px;font-weight:700;line-height:1.3}.music-cleanup-report{text-align:center;align-content:center;place-items:center;min-height:430px;display:grid}.music-cleanup-report-icon{background:var(--success-background);width:70px;height:70px;color:var(--success-color);border-radius:50%;place-items:center;font-size:31px;font-weight:800;display:grid}.music-cleanup-report>span{color:var(--muted-text-color);text-transform:uppercase;letter-spacing:.05em;margin-top:14px;font-size:10px;font-weight:800}.music-cleanup-report h3{margin:5px 0 0;font-size:21px}.music-cleanup-report>p{max-width:430px;color:var(--muted-text-color);margin:7px 0 0;font-size:11px;line-height:1.6}.music-cleanup-report-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;width:min(100%,600px);margin-top:20px;display:grid}.music-cleanup-report-grid>div{border:1px solid var(--border-color);background:var(--surface-muted-color);border-radius:11px;flex-direction:column;gap:5px;padding:13px;display:flex}.music-cleanup-report-grid span{color:var(--muted-text-color);font-size:9px}.music-cleanup-report-grid strong{font-size:16px}.music-cleanup-report-notice{background:var(--info-background);width:min(100%,600px);color:var(--info-color);border-radius:9px;margin:12px 0 18px;padding:9px 11px;font-size:10px}@media (width<=680px){.music-cleanup-report-grid{grid-template-columns:1fr}}.music-cleanup-title-field{flex-direction:column;gap:6px;margin-top:16px;display:flex}.music-cleanup-title-field span{color:var(--muted-text-color);font-size:10px;font-weight:700}.music-cleanup-title-field input{box-sizing:border-box;border:1px solid var(--border-color);background:var(--surface-color);width:100%;color:var(--text-color);border-radius:9px;padding:10px 11px}.music-cleanup-split-progress{margin-top:14px}.music-cleanup-split-progress>div:first-child{justify-content:space-between;align-items:center;gap:10px;display:flex}.music-cleanup-split-progress span{color:var(--muted-text-color);font-size:10px}.music-cleanup-split-progress>div:last-child{background:var(--surface-active-color);border-radius:999px;height:6px;margin-top:7px;overflow:hidden}.music-cleanup-split-progress>div:last-child span{border-radius:inherit;background:var(--accent-gradient);height:100%;transition:width .15s;display:block}.music-cleanup-mode-field{border:0;gap:8px;margin:16px 0 0;padding:0;display:grid}.music-cleanup-mode-field legend{color:var(--muted-text-color);margin-bottom:6px;font-size:10px;font-weight:700}.music-cleanup-mode-field label{border:1px solid var(--border-color);cursor:pointer;border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:10px;padding:11px;display:grid}.music-cleanup-mode-field label.active{border-color:var(--accent-color);background:color-mix(in srgb, var(--accent-color) 8%, var(--surface-color))}.music-cleanup-mode-field input{margin-top:2px}.music-cleanup-mode-field label>div{flex-direction:column;gap:3px;display:flex}.music-cleanup-mode-field strong{font-size:11px}.music-cleanup-mode-field span{color:var(--muted-text-color);font-size:9px;line-height:1.5}.music-cleanup-move-warning{background:var(--warning-background);color:var(--warning-color);border-radius:9px;margin-top:10px;padding:9px 11px;font-size:9px;line-height:1.5}.analyzer-statistics-tab{flex-direction:column;gap:16px;display:flex}.analyzer-statistics-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.analyzer-statistics-summary>div{border:1px solid var(--border-color);background:var(--surface-muted-color);border-radius:12px;flex-direction:column;gap:7px;min-width:0;padding:15px;display:flex}.analyzer-statistics-summary span{color:var(--muted-text-color);font-size:11px}.analyzer-statistics-summary strong{font-size:22px}.analyzer-statistics-card{border:1px solid var(--border-color);background:var(--surface-muted-color);border-radius:14px;padding:16px}.analyzer-statistics-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.analyzer-statistics-heading h3,.analyzer-statistics-card.compact h3{margin:0;font-size:15px}.analyzer-statistics-heading p{color:var(--muted-text-color);margin:5px 0 0;font-size:11px}.analyzer-statistics-heading>span{color:var(--muted-text-color);font-size:11px}.analyzer-classification-bars{flex-direction:column;gap:14px;margin-top:18px;display:flex}.analyzer-classification-row>div:first-child{justify-content:space-between;align-items:center;gap:12px;margin-bottom:7px;display:flex}.analyzer-classification-row strong{font-size:12px}.analyzer-classification-row span{color:var(--muted-text-color);font-size:11px}.analyzer-stat-bar{background:var(--surface-active-color);border-radius:999px;height:9px;overflow:hidden}.analyzer-stat-bar>span{border-radius:inherit;background:var(--border-strong-color);min-width:0;height:100%;display:block}.analyzer-stat-bar>span.music{background:var(--success-color)}.analyzer-stat-bar>span.non-music{background:var(--info-color)}.analyzer-stat-bar>span.unknown{background:var(--muted-text-color)}.analyzer-statistics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.analyzer-statistics-card.compact dl{flex-direction:column;gap:0;margin:12px 0 0;display:flex}.analyzer-statistics-card.compact dl>div{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.analyzer-statistics-card.compact dt{color:var(--muted-text-color);font-size:11px}.analyzer-statistics-card.compact dd{margin:0;font-size:12px;font-weight:700}.classification-stat-wrapper:has(.classification-stat.music) .classification-stat-cleanup{border-color:var(--success-color);background:var(--success-background);color:var(--success-color)}.classification-stat-wrapper:has(.classification-stat.unknown) .classification-stat-cleanup{border-color:var(--border-strong-color);background:var(--surface-muted-color);color:var(--subtle-text-color)}@media (width<=720px){.analyzer-statistics-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.analyzer-statistics-grid{grid-template-columns:1fr}.analyzer-statistics-heading{flex-direction:column}}.analyzer-coverage-card{border:1px solid var(--border-color);background:var(--surface-muted-color);border-radius:12px;margin-bottom:16px;padding:13px 14px}.analyzer-coverage-card.incomplete{border-color:color-mix(in srgb, var(--accent-color) 38%, var(--border-color))}.analyzer-coverage-main{justify-content:space-between;align-items:center;gap:14px;display:flex}.analyzer-coverage-main>div{flex-direction:column;gap:4px;min-width:0;display:flex}.analyzer-coverage-main strong{font-size:13px}.analyzer-coverage-main span,.analyzer-coverage-card p{color:var(--muted-text-color);font-size:11px}.analyzer-coverage-card p{margin:9px 0 0;line-height:1.55}.analyzer-load-missing-button{flex:none}.analyzer-coverage-complete{flex:none;font-weight:700;color:var(--success-color)!important}@media (width<=720px){.analyzer-coverage-main{flex-direction:column;align-items:stretch}.analyzer-load-missing-button{width:100%}}
