.music-dialog,.music-studio{--ink:#262b31;--muted:#85878c;--accent:#c75443;--accent-soft:#faf0ed;--line:#eeeae6;--soft:#f8f7f5;color:var(--ink);font-family:Segoe UI,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.6;color-scheme:light}.music-studio{min-height:100vh;background:#fff;padding-bottom:100px}.music-dialog *,.music-studio *{box-sizing:border-box}.music-dialog a,.music-dialog button,.music-studio a,.music-studio button{cursor:pointer}.music-dialog button:disabled,.music-studio button:disabled{cursor:not-allowed;opacity:.45}.music-dialog button,.music-studio button{transition:background .15s,color .15s}.music-dialog a:focus-visible,.music-dialog button:focus-visible,.music-studio a:focus-visible,.music-studio button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.music-dialog input:not([type=checkbox]),.music-dialog select,.music-dialog textarea,.music-studio input,.music-studio select{outline:none}.music-dialog input:focus,.music-dialog select:focus,.music-dialog textarea:focus,.music-studio input:focus{border-color:var(--accent)}.music-dialog input[type=checkbox],.music-studio input[type=checkbox]{appearance:auto;accent-color:var(--accent);width:14px;height:14px;flex:none;cursor:pointer}.music-dialog svg,.music-studio svg{flex-shrink:0}.music-dialog a,.music-studio a{text-decoration:none;color:inherit}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border-radius:6px;padding:8px 17px;font-weight:500;white-space:nowrap}.music-dialog .primary,.music-studio .primary{background:var(--accent);color:#fff;border:1px solid var(--accent)}.music-dialog .primary:hover,.music-studio .primary:hover{background:#b94839}.music-dialog .secondary,.music-studio .secondary{background:#fff;border:1px solid #e5e1dc;color:var(--ink)}.music-dialog .secondary:hover,.music-studio .secondary:hover{background:var(--soft)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:5px;background:transparent;color:#777b82;border:0;flex:none}.icon-btn:hover{background:var(--soft);color:var(--accent)}.text-btn{display:inline-flex;align-items:center;gap:6px;background:transparent;border:0;color:var(--accent);padding:4px 0}.muted{color:var(--muted)}.small{font-size:12px}.danger-text,.error-text{color:#b73e35!important}.success-text{color:#3a8055}.spin{animation:music-spin 1.1s linear infinite}@keyframes music-spin{to{transform:rotate(1turn)}}.studio-header{height:78px;border-bottom:1px solid var(--line);gap:58px;padding:0 34px;position:relative;z-index:30;background:#fff}.brand,.studio-header{display:flex;align-items:center}.brand{gap:11px;min-width:185px;font-size:21px;font-weight:650;letter-spacing:1px}.brand-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:var(--accent);color:white;border-radius:11px}.brand-sub{font-size:13px;color:#70747b;font-weight:400;margin-left:11px;letter-spacing:1px}.top-nav{display:flex;align-items:stretch;height:100%;gap:34px;font-size:14px}.top-nav>*{display:flex;align-items:center;border:0;border-bottom:2px solid transparent;background:none;padding:0 2px;color:#7c7d81}.top-nav .nav-active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.header-actions{margin-left:auto;gap:18px}.header-actions,.private-badge{display:flex;align-items:center}.private-badge{font-size:12px;color:#8b8b8d;gap:7px}.private-badge>span,.status-dot{width:6px;height:6px;background:#76a38c;border-radius:50%;display:inline-block}.avatar{height:32px;width:32px;display:flex;align-items:center;justify-content:center;background:#f1ece5;border:1px solid #e9e2da;border-radius:50%;font-size:13px;color:#9a775b}.studio-body{display:grid;grid-template-columns:216px minmax(0,1fr);max-width:1800px;margin:auto}.studio-sidebar{border-right:1px solid var(--line);padding:30px 17px 0;min-height:calc(100vh - 178px)}.sidebar-heading{font-size:10px;color:#a3a2a0;letter-spacing:1.4px;margin:0 10px 15px;justify-content:space-between}.library-nav,.sidebar-heading{display:flex;align-items:center}.library-nav{width:100%;gap:11px;background:none;padding:11px 12px;border-radius:6px;color:#717479;border:0;margin-bottom:4px}.library-nav span{margin-left:auto;font-size:11px}.library-nav.selected{background:var(--accent-soft);color:var(--accent);font-weight:600}.library-nav:hover{background:var(--soft)}.sidebar-divider{height:1px;margin:22px 10px 13px;background:var(--line)}.category-button{display:flex;align-items:center;width:100%;background:none;border:0;padding:10px 12px;font-size:13px;color:#62656a}.category-button svg{margin-left:auto;color:#b6b6b4}.category-button.expanded{color:var(--accent);font-weight:600}.category-button.expanded svg{transform:rotate(90deg)}.category-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);margin-left:8px}.sidebar-tags{padding:0 8px 8px 14px;max-height:335px;overflow:auto}.tag-tree label{display:flex;align-items:center;gap:8px;min-height:30px;cursor:pointer;font-size:12px;color:#72757a;line-height:1.5}.tag-tree label:hover{color:var(--accent)}.add-group{display:flex;align-items:center;gap:7px;background:none;border:0;color:#a4a3a0;font-size:12px;margin:15px 10px}.sidebar-note{border-top:1px solid var(--line);margin:35px 10px 20px;padding-top:23px;color:#aaa29a}.sidebar-note>svg{color:#cbb7a7}.sidebar-note p{font-size:12px;line-height:1.9;margin:10px 0 18px}.sidebar-note small{font-size:9px;color:#b5b0a9}.studio-main{padding:44px 42px 20px;min-width:0}.library-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:34px}.eyebrow{color:#b39b85;letter-spacing:2.7px;font-size:9px;font-weight:600;margin-bottom:10px}.library-intro h1{font-size:32px;font-weight:650;line-height:1.5;letter-spacing:1px;margin:0}.library-intro h1>span{font-weight:400}.library-intro p{font-size:12px;color:#9b9b99;margin:10px 0 0}.upload-button{min-width:122px;margin-top:10px}.upload-button.drop-ready{outline:3px dashed var(--accent,#bf503e);outline-offset:5px;box-shadow:0 0 0 9px #bf503e18}.key-filter-trigger{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:white;border-radius:5px;min-height:38px;max-width:260px;padding:8px 10px;font-size:12px}.key-filter-popover{z-index:100;width:min(360px,calc(100vw - 24px));padding:18px;background:white;border:1px solid #eae5df;box-shadow:0 8px 30px #30201820}.key-filter-options{display:grid;grid-template-columns:1fr 1fr;gap:3px;max-height:330px;overflow-y:auto}.key-filter-options label{display:flex;align-items:center;gap:8px;padding:7px 4px;font-size:12px;cursor:pointer}.key-filter-options input{width:15px;height:15px;accent-color:#bf503e}.key-filter-actions{display:flex;align-items:center;justify-content:space-between;margin-top:10px;gap:10px}.library-toolbar{padding:0 0 23px;display:flex;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.search-box{height:42px;display:flex;align-items:center;gap:12px;padding:0 12px;background:var(--soft);border:1px solid #f1eeeb;border-radius:6px;flex:1;min-width:230px;color:#a2a29f}.search-box input{flex:1;min-width:0;background:none;border:0;font-size:12px;color:var(--ink)}.search-box input::placeholder{color:#a4a3a0}.search-box button{border:0;background:transparent;font-size:11px;color:#858580;padding:5px 0 5px 10px;border-left:1px solid #e6e1da}.toolbar-controls{gap:12px}.select-wrap,.toolbar-controls{display:flex;align-items:center}.select-wrap{gap:7px}.select-wrap>span{font-size:11px;color:#999}.bpm-filter,.select-wrap select{border:1px solid var(--line);border-radius:5px;background:#fff;min-height:38px;font-size:11px;color:#70736f}.select-wrap select{max-width:156px;padding:7px}.bpm-filter{display:flex;align-items:center;padding:0 9px;gap:7px}.bpm-filter>span{color:#aaa89f;font-size:10px}.bpm-filter input{width:42px;background:transparent;border:0;font-size:11px;padding:4px 0;text-align:center;appearance:textfield}.bpm-filter input::-webkit-inner-spin-button{appearance:none}.bpm-filter button{color:#aaa69e;display:flex}.active-filters{display:flex;flex-wrap:wrap;gap:7px;align-items:center;font-size:11px;padding-top:18px}.active-filters>span{color:#aaa;margin-right:6px}.active-filters>button:not(.text-btn){display:flex;align-items:center;gap:7px;background:var(--accent-soft);border:0;padding:3px 8px;color:var(--accent);border-radius:4px}.active-filters .text-btn{margin-left:8px;font-size:11px}.list-heading{display:flex;align-items:center;justify-content:space-between;padding:25px 0 18px;gap:12px}.list-heading>div{display:flex;align-items:center;gap:15px}.list-heading h2{font-size:16px;font-weight:600;margin:0}.list-heading span{font-size:11px;color:#a3a29d}.list-heading .processing{font-size:10px;display:flex;align-items:center;gap:5px;color:#ae8e54}.list-heading select{font-size:11px;color:#92918d;border:0;background:none;max-width:100px;padding:3px}.music-list-head,.music-row{display:grid;grid-template-columns:26px minmax(170px,1fr) 60px 115px 50px 136px;gap:16px;align-items:center}.music-list-head{background:#faf9f7;font-size:10px;letter-spacing:.5px;color:#a8a49c;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 12px}.music-list-head>label,.music-row>label{display:flex;align-items:center}.music-list-head>span:nth-child(n+3){text-align:center}.music-row{padding:21px 12px;border-bottom:1px solid var(--line);min-height:108px}.music-row:hover{background:#fdfbf9}.music-row.is-current{background:#fdf7f3}.song-info{gap:14px;min-width:0}.song-info,.track-art{display:flex;align-items:center}.track-art{width:48px;height:48px;flex:none;justify-content:center;border-radius:6px;border:1px solid rgba(0,0,0,.03);color:#8a9c9d;background:#e9eeee}.art-1{background:#eee7de;color:#b79a79}.art-2{background:#e9eae5;color:#9ca68e}.art-3{background:#e9e8ed;color:#a199b1}.art-4{background:#efe5e2;color:#bd9990}.track-art:hover{filter:brightness(.97)}.song-text{min-width:0}.song-title{font-size:13px;font-weight:600;display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;background:none;border:0;color:#41454b}.song-title:hover{color:var(--accent)}.song-subtitle{display:flex;align-items:center;gap:7px;font-size:9px;color:#a5a29d;margin:3px 0 7px;flex-wrap:wrap}.song-subtitle>span:not(.song-status){color:#cbc5bf}.song-subtitle .song-status{font-size:9px;color:#ae9560}.song-subtitle .failed{color:#b64940}.song-tags{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:9px;color:#9b9690}.song-tags button{border:0;background:#f4f2ee;color:#a09a8e;padding:1px 7px;border-radius:3px}.song-tags button:hover{color:var(--accent);background:var(--accent-soft)}.song-tags .untagged{display:flex;gap:3px;align-items:center;color:#b5b1a9;background:transparent;border:1px dashed #e7e2db;font-size:9px;padding:0 6px}.song-bpm{font-size:13px;color:#767771;text-align:center;font-variant-numeric:tabular-nums}.song-key{font-size:11px;text-align:center;color:#77736a;line-height:1.6}.song-key small{display:block;font-size:9px;color:#b4aea2}.song-duration{font-size:11px;text-align:center;color:#aaa39a;font-variant-numeric:tabular-nums}.song-actions{display:flex;align-items:center;gap:3px;justify-content:center}.song-actions .icon-btn{color:#a9a49c;width:30px;height:30px}.song-actions .hearted{color:var(--accent)}.song-actions .icon-btn:hover{color:var(--accent);background:#f8efe8}.bulk-bar{display:flex;align-items:center;gap:18px;padding:9px 13px;background:#faf0ed;border:1px solid #f1dad4;border-radius:5px;font-size:12px;margin-bottom:14px}.bulk-bar>span{color:var(--accent)}.bulk-bar button{display:flex;align-items:center;gap:6px;color:#966f65;background:none;border:0;font-size:11px}.empty-state{min-height:330px;flex-direction:column;gap:12px;padding:40px 12px;text-align:center}.empty-icon,.empty-state{display:flex;align-items:center;justify-content:center}.empty-icon{height:70px;width:70px;border:1px solid #f0e4db;border-radius:18px;background:#faf6f1;color:#c6ab93}.empty-state h3{font-size:16px;font-weight:500;margin:9px 0 0}.empty-state p{font-size:12px;color:#99968f;margin:0 0 8px}.empty-state small{font-size:10px;color:#b3aea6;margin-top:3px}.pagination{justify-content:space-between;padding:22px 4px;font-size:10px;color:#b0aaa1}.pagination,.pagination>div{display:flex;align-items:center}.pagination>div{gap:20px}.pagination button{display:flex;padding:4px;border:1px solid var(--line);border-radius:4px}.library-footer{display:flex;justify-content:space-between;gap:16px;font-size:9px;color:#b9b2a9;padding:23px 3px 15px}.library-footer>span:first-child{display:flex;align-items:center;gap:7px}.status-dot{width:5px;height:5px}.error-banner,.notice-banner{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:5px;font-size:12px;margin:16px 0;background:#fff0ee;color:#aa493c;gap:15px}.notice-banner{background:#faf5e9;color:#a48c58}.notice-banner[role=status]{position:fixed;top:74px;right:24px;z-index:85;max-width:min(560px,calc(100vw - 32px));box-shadow:0 6px 28px #57463716}.purge-confirm{display:flex;flex-direction:column;gap:10px;margin-top:22px;font-size:13px}.purge-confirm input{border:1px solid #ddd4c7;border-radius:5px;padding:11px 12px;font:inherit;width:100%}.danger-button:not(:disabled){color:#b34236;border-color:#d9a49d}.primary.danger-button:not(:disabled){background:#b34236;color:white}.error-banner .icon-btn{color:inherit}.player{height:96px;position:fixed;bottom:0;left:0;right:0;z-index:40;border-top:1px solid #eae4dd;background:rgba(255,255,255,.98);display:grid;grid-template-columns:minmax(180px,1fr) minmax(240px,1.3fr) minmax(160px,1fr);align-items:center;padding:12px 34px;gap:34px;box-shadow:0 -3px 30px #57463705}.player-track{display:flex;align-items:center;gap:12px;min-width:0}.player-track>div{min-width:0;max-width:230px}.player-track strong{font-size:12px;font-weight:600;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-track small{font-size:10px;display:block;color:#aba397;margin-top:3px}.player-disc{width:43px;height:43px;border-radius:50%;background:#f2e8dd;border:5px solid #f8f3ed;display:flex;justify-content:center;align-items:center;color:#bd9c7b;flex:none}.player-disc.is-playing{color:var(--accent)}.playback-controls{gap:22px}.play-main,.playback-controls{display:flex;justify-content:center;align-items:center}.play-main{width:33px;height:33px;border-radius:50%;background:var(--accent);color:#fff;border:0}.seek-line{display:flex;align-items:center;gap:11px;margin-top:5px;color:#b6ac9e;font-size:9px;font-variant-numeric:tabular-nums}.waveform-seek{position:relative;flex:1;min-width:20px;height:32px;border-radius:4px}.audio-waveform{width:100%;height:100%;display:block}.wave-unplayed{stroke:#d8cfc1;stroke-width:.7}.wave-played{stroke:var(--accent);stroke-width:.7}.wave-cursor{stroke:var(--accent);stroke-width:1}.waveform-seek input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.waveform-seek:focus-within{outline:2px solid var(--accent);outline-offset:3px}.waveform-loading{display:flex;align-items:center;justify-content:center;height:100%;background:#f5f1eb;font-size:10px}.song-actions .delete-song:hover{color:#b34236;background:#fff0ee}.player-right{display:flex;align-items:center;justify-content:flex-end;gap:14px;color:#aaa196}.player-right input{width:70px;height:3px;accent-color:var(--accent);cursor:pointer}.player-right>a{margin-left:12px}.idle-player{display:flex;gap:13px;font-size:12px;color:#a4998d}.idle-disc{width:44px;height:44px;border-radius:7px;background:#f4f1ec;color:#c3b5a2;display:flex;align-items:center;justify-content:center}.idle-hint{display:block;font-size:10px;color:#bfb6a8;margin-top:3px}.idle-play{margin-left:auto;margin-right:calc(50% - 240px);background:#f5f0e9;color:#cfc4b4;height:34px;width:34px;border-radius:50%}.drop-overlay,.idle-play{display:flex;align-items:center;justify-content:center}.drop-overlay{position:fixed;inset:14px;z-index:100;background:#fffaf7f5;border:2px dashed var(--accent);border-radius:14px;flex-direction:column;color:var(--accent);pointer-events:none}.drop-overlay h2{font-size:26px;margin-top:20px}.drop-overlay p{color:#b59280;font-size:13px}.music-dialog{background:#fff;border:1px solid var(--line);border-radius:12px!important;padding:0!important;width:calc(100vw - 32px)!important;max-width:570px!important;max-height:90dvh;display:flex!important;flex-direction:column!important;gap:0!important;box-shadow:0 20px 100px #34261d22}.music-dialog.wide-dialog{max-width:850px!important}.dialog-title{display:flex;align-items:center;justify-content:space-between;padding:20px 25px 16px;border-bottom:1px solid var(--line);flex-shrink:0}.dialog-title h2{font-size:17px;font-weight:600}.dialog-scroll{padding:22px 25px;overflow:auto;overscroll-behavior:contain;min-height:0}.dialog-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:18px;margin-top:22px}.dialog-footer small{margin-right:auto;font-size:10px;max-width:70%}.music-dialog input:not([type=checkbox]):not([type=file]),.music-dialog select,.music-dialog textarea{display:block;border:1px solid #e6e2dd;padding:9px 11px;background:#fff;color:var(--ink);font-size:12px;border-radius:5px;min-width:0;width:100%}.music-dialog textarea{resize:vertical}.music-dialog label{font-size:12px;color:#8a8278;line-height:1.8}.music-dialog label>input,.music-dialog label>select,.music-dialog label>textarea{margin-top:6px}.editor-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);column-gap:32px;row-gap:0}.editor-main>label{display:block;margin:17px 0}.file-summary{padding:11px 13px;background:var(--soft);border-radius:6px}.file-summary strong{font-size:12px;overflow-wrap:anywhere;display:block;color:#655f55}.file-summary span{font-size:10px;color:#a99e8f}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:17px 0 8px}.two-cols+p{margin:8px 0 20px}.editor-tags h3{font-size:13px;font-weight:600;margin-bottom:13px}.editor-tags h3>span{float:right;color:#aa9c88;font-size:11px;font-weight:400}.tag-picker{border:1px solid var(--line);border-radius:6px;overflow:hidden}.tag-picker>input{border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important}.tag-picker-groups{max-height:375px;overflow:auto;padding:8px 12px}.tag-picker details{border-bottom:1px solid #f3f0ec;padding:7px 0}.tag-picker details:last-child{border-bottom:0}.tag-picker summary{font-size:12px;color:#82786c;cursor:pointer}.tag-picker summary>span{float:right;margin-right:5px;color:var(--accent)}.tag-picker .tag-tree{padding:6px 0 2px 8px}.music-dialog .tag-tree label{display:flex;font-size:11px;color:#8b8174;line-height:1.6}.music-dialog .tag-tree label input{margin:0}.full-width{grid-column:1/-1}.retry-btn{font-size:11px}.segmented{display:flex;background:var(--soft);border-radius:6px;padding:4px;margin-bottom:15px}.segmented button{flex:1;font-size:12px;padding:7px;border-radius:4px;color:#9c9284;border:0}.segmented button.active{background:#fff;color:var(--accent);box-shadow:0 1px 4px #00000008}.segmented+p{margin-bottom:12px}.manager-top{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-bottom:22px}.manager-top>p{font-size:11px;color:#a59988;max-width:250px}.manager-top>div{display:flex;gap:8px}.manager-top .secondary{min-height:32px;font-size:11px;padding:5px 11px}.file-import{position:relative;cursor:pointer;overflow:hidden}.file-import input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;max-width:100%}.manager-layout{display:grid;grid-template-columns:150px minmax(0,1fr);border:1px solid var(--line);border-radius:6px;min-height:360px}.manager-groups{padding:10px;border-right:1px solid var(--line);background:#fdfcfb}.manager-groups>button{display:flex;justify-content:space-between;width:100%;padding:7px 9px;font-size:11px;border:0;border-radius:4px;color:#9b8f7f;text-align:left;background:none}.manager-groups>button.active{background:var(--accent-soft);color:var(--accent)}.manager-groups>button span{font-size:9px;opacity:.6}.manager-groups form{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.manager-groups form input{font-size:10px!important;padding:6px!important}.manager-groups form button{font-size:10px;padding:4px 7px;min-height:28px;width:100%;margin-top:7px}.manager-detail{padding:18px;min-width:0}.manager-group-title{display:flex;align-items:center;justify-content:space-between;gap:15px}.manager-group-title h3{font-size:14px;font-weight:600;white-space:nowrap}.manager-group-title form{display:flex;align-items:center;max-width:170px}.manager-group-title input{font-size:10px!important;padding:4px 8px!important}.source-note{font-size:9px;color:#b1a18b;margin-top:10px;margin-bottom:18px}.manager-tags{display:flex;align-content:flex-start;flex-wrap:wrap;gap:7px;max-height:200px;overflow:auto;min-height:70px}.manager-tags>button{border:1px solid #eee8df;background:#faf8f5;border-radius:4px;padding:4px 9px;font-size:11px;color:#a79985}.manager-tags>button.active{color:var(--accent);border-color:#e4bbaf;background:var(--accent-soft)}.rename-tag{display:flex;gap:8px;align-items:flex-end;margin-top:16px;border-top:1px solid var(--line);padding-top:13px}.rename-tag>label{flex:1;min-width:0}.rename-tag .secondary{font-size:10px;padding:6px 9px;min-height:34px}.add-tag-form{border-top:1px solid var(--line);padding-top:15px;margin-top:18px}.add-tag-form h4{font-size:11px;font-weight:500;color:#a99b87;margin-bottom:9px}.add-tag-form>div{display:flex;gap:7px}.add-tag-form input,.add-tag-form select{font-size:10px!important;padding:7px!important}.add-tag-form select{max-width:155px}.add-tag-form button{font-size:10px;padding:4px 10px;min-height:32px}.delete-group{font-size:9px;margin-top:20px;opacity:.7}.upload-drop{border:1px dashed #decec0;border-radius:8px;background:#fdfaf6;padding:24px 15px;text-align:center;color:#bd9b7c;cursor:pointer}.upload-drop[aria-disabled=true]{cursor:default}.upload-categories{min-width:0;border:0;padding:0;margin:0 0 16px}.upload-categories legend{font-size:12px;margin-bottom:8px}.upload-categories:disabled{opacity:.7}.upload-drop svg{margin:0 auto 11px}.upload-drop h3{font-size:14px;margin:6px 0}.upload-drop p{font-size:10px;color:#b8ab98;margin-top:7px}.upload-queue{max-height:310px;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;overscroll-behavior:contain;margin:10px 0}.upload-item{display:grid;grid-template-columns:18px minmax(0,1fr) 20px;gap:12px;align-items:center;min-height:94px;border-bottom:1px solid var(--line);padding:15px 0;color:#b4a084}.upload-item>div{min-width:0}.upload-item strong{display:block;font-size:12px;color:#7c7060;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-status{display:grid;place-items:center;width:20px;height:20px;overflow:hidden}.upload-status>.spin{display:block;width:17px;height:17px}.upload-waiting{width:6px;height:6px;border-radius:50%;background:currentColor}.upload-progress{height:3px;background:#f2ede6;margin:8px 0 5px;border-radius:2px}.upload-progress span{display:block;height:100%;background:var(--accent);transition:width .2s}.upload-item small{display:block;font-size:10px;line-height:1.5;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.mobile-only{display:none!important}.sidebar-shade{display:none}@media (min-width:1550px){.studio-main{padding:50px 65px 20px}.library-intro h1{font-size:36px}.music-list-head,.music-row{grid-template-columns:26px minmax(260px,1fr) 80px 155px 80px 136px}}@media (max-width:1120px){.studio-header{gap:25px;padding:0 24px}.studio-body{grid-template-columns:190px minmax(0,1fr)}.studio-main{padding:32px 25px 20px}.studio-sidebar{padding-left:10px;padding-right:10px}.library-intro h1{font-size:26px}.library-intro p{font-size:10px}.library-toolbar{gap:12px}.search-box{flex-basis:100%}.toolbar-controls{width:100%;justify-content:space-between}.music-list-head,.music-row{grid-template-columns:19px minmax(140px,1fr) 40px 90px 40px 124px;gap:10px}.song-title{font-size:12px}.track-art{width:40px;height:40px}.song-info{gap:10px}.song-actions{gap:0}.player{padding:12px 25px;gap:20px}.player-right{gap:10px}.player-right input{width:50px}.library-footer>span:last-child{display:none}}@media (max-width:760px){.music-studio{padding-bottom:124px}.studio-header{height:65px;padding:0 18px;gap:15px}.brand{font-size:18px;min-width:0;gap:9px}.brand-icon{width:32px;height:32px;border-radius:9px}.brand-sub{font-size:11px;margin-left:7px}.top-nav{display:none}.header-actions{gap:10px}.private-badge{display:none}.avatar{width:28px;height:28px;font-size:11px}.studio-body{display:block}.studio-sidebar{display:none;position:fixed;top:65px;bottom:0;left:0;z-index:60;background:#fff;width:245px;overflow:auto;padding:25px 18px 110px}.studio-sidebar.is-open{display:block}.sidebar-shade{display:block;position:fixed;inset:65px 0 0;z-index:59;background:#0005;border:0}.mobile-only{display:inline-flex!important}.studio-main{padding:28px 18px 10px}.library-intro{align-items:flex-start;margin-bottom:24px;gap:8px}.library-intro h1{font-size:21px;letter-spacing:.3px}.library-intro h1 span{display:block}.eyebrow{font-size:8px;letter-spacing:1.9px;margin-bottom:8px}.library-intro p{font-size:9px;max-width:190px;line-height:1.9}.upload-button{font-size:11px;min-width:0;padding:7px 11px;margin-top:23px}.upload-button svg{width:15px}.search-box{min-width:100px;flex-basis:0;height:39px;padding:0 10px;gap:8px}.search-box input{font-size:11px;width:30px}.search-box svg{width:16px}.search-box button{font-size:10px}.library-toolbar>.secondary{min-height:39px;padding:7px 11px;font-size:11px}.toolbar-controls{gap:10px}.select-wrap>span{display:none}.select-wrap select{font-size:10px;max-width:128px;min-height:33px}.bpm-filter{min-height:33px;padding:0 6px;gap:5px}.bpm-filter input{font-size:10px;width:34px}.bpm-filter>span{font-size:9px}.library-toolbar{padding-bottom:20px}.list-heading{padding:22px 0 14px}.list-heading>div{gap:8px;flex-wrap:wrap}.list-heading h2{font-size:14px}.list-heading span{font-size:9px}.list-heading select{font-size:9px;max-width:80px}.list-heading .processing{font-size:8px;max-width:135px}.music-list-head{display:none}.music-row{grid-template-columns:16px minmax(100px,1fr) 72px;gap:10px;padding:18px 2px;position:relative;min-height:112px}.song-info{gap:10px;align-items:flex-start}.track-art{width:38px;height:38px;border-radius:5px;margin-top:3px}.song-text{padding-bottom:25px}.song-title{font-size:12px;max-width:100%;line-height:1.5;text-overflow:ellipsis}.song-subtitle{font-size:8px;gap:5px;margin:4px 0 6px}.song-tags{gap:4px;font-size:8px}.song-tags button{padding:1px 5px;font-size:8px}.song-bpm{position:absolute;left:76px;bottom:15px;font-size:10px;display:flex;gap:4px;align-items:center;color:#aaa097}.song-bpm small{font-size:7px}.song-key{position:absolute;left:143px;bottom:15px;font-size:9px;color:#aaa097;display:flex;align-items:center;gap:5px}.song-key small{font-size:8px}.song-duration{display:none}.song-actions{display:flex;flex-wrap:wrap;max-width:72px;align-self:center;justify-content:flex-end;gap:4px}.song-actions .icon-btn{width:28px;height:28px}.song-actions .icon-btn svg{width:15px}.song-actions a{margin-right:0}.bulk-bar{gap:11px;padding:8px}.bulk-bar,.bulk-bar button{font-size:10px}.pagination{font-size:9px;padding:18px 0}.pagination>div{gap:14px}.library-footer{font-size:8px;padding-top:10px}.player{height:114px;display:grid;grid-template-columns:1fr 125px;padding:11px 18px 10px;gap:0;align-content:start}.player-track{gap:8px;max-width:100%}.player-track>div{max-width:calc(100vw - 225px)}.player-track strong{font-size:11px}.player-track small{font-size:8px}.player-track .icon-btn{display:none}.player-disc{height:35px;width:35px;border-width:4px}.player-disc svg{width:20px}.player-center{display:contents}.playback-controls{gap:9px;justify-content:flex-end}.playback-controls .icon-btn{width:25px}.play-main{width:31px;height:31px}.seek-line{grid-column:1/-1;margin-top:13px;font-size:8px}.player-right{display:none}.idle-player{display:flex;align-items:center;height:85px;padding:14px 18px;font-size:11px}.idle-hint{font-size:9px}.idle-play{margin-left:auto;margin-right:0}.empty-state{min-height:330px}.empty-state p{font-size:11px}.empty-state small{font-size:9px}.error-banner,.notice-banner{font-size:10px}.music-dialog{max-height:93dvh;width:calc(100vw - 20px)!important;border-radius:9px!important}.dialog-title{padding:15px 18px}.dialog-title h2{font-size:15px}.dialog-scroll{padding:18px}.editor-form{grid-template-columns:1fr;gap:20px}.editor-tags{border-top:1px solid var(--line);padding-top:16px}.editor-tags .tag-picker-groups{max-height:200px}.dialog-footer{margin-top:13px}.dialog-footer small{font-size:8px;max-width:55%}.manager-top{gap:10px;margin-bottom:15px}.manager-top>p{font-size:9px;max-width:150px}.manager-top .secondary{font-size:10px;padding:4px 7px}.manager-top>div{gap:5px}.manager-layout{grid-template-columns:1fr}.manager-groups{border-right:0;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:4px;padding:10px}.manager-groups>button{width:auto;font-size:10px;gap:7px;padding:5px 7px}.manager-groups form{width:100%;display:flex;gap:8px;margin-top:8px;padding-top:9px}.manager-groups form input{flex:1}.manager-groups form button{width:auto;margin-top:0;flex-shrink:0}.manager-detail{padding:15px 12px}.manager-group-title h3{font-size:12px}.manager-tags>button{font-size:10px;padding:3px 7px}.add-tag-form>div{flex-wrap:wrap}.add-tag-form input{flex:1}.add-tag-form select{max-width:none;width:100%;order:3}.rename-tag{flex-wrap:wrap}.rename-tag>label{width:100%}.source-note{font-size:8px}.upload-drop p{font-size:9px}.upload-item strong{font-size:11px}.dialog-footer .primary,.dialog-footer .secondary{font-size:12px;min-height:36px}.tag-picker-groups{max-height:300px}}.music-login{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;padding:0;background:#fcfbf9}.login-panel{width:365px;max-width:calc(100vw - 48px);margin:auto;padding:50px 0}.login-panel .brand{margin-bottom:80px}.login-panel h1{font-size:24px;font-weight:600;margin:12px 0}.login-panel>p{font-size:12px;color:#a2988c;margin-bottom:32px}.login-panel form{display:flex;flex-direction:column;gap:8px}.login-panel label{font-size:12px;color:#998a78;margin-top:12px}.login-panel input{height:43px;border:1px solid #e6dfd5;background:#fff;padding:0 13px;font-size:12px;border-radius:5px}.login-panel input::placeholder{color:#c2b5a4}.login-panel form .primary{margin-top:24px;height:44px}.login-panel form .primary svg:last-child{margin-left:auto}.login-panel small{display:block;text-align:center;color:#c1b4a2;font-size:10px;margin-top:38px}.login-art{background:#eae1d5;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:100vh}.vinyl{width:390px;height:390px;max-width:42vw;max-height:42vw;background:repeating-radial-gradient(#3e3933 0,#3e3933 1px,#49423a 2px,#3e3933 3px);box-shadow:20px 25px 70px #6d58444a;transform:translate(12%,-15%)}.vinyl,.vinyl>span{border-radius:50%;display:flex;align-items:center;justify-content:center}.vinyl>span{width:34%;height:34%;background:#bca385;color:#ede0d1;border:6px solid #a58f73}.login-art-caption{position:absolute;left:13%;bottom:12%;font-size:36px;letter-spacing:2px;font-weight:300;color:#937a5e;line-height:1.3}.login-art-caption p{font-size:11px;letter-spacing:2px;font-weight:400;margin-top:20px}@media (max-width:760px){.music-login{display:block;padding-bottom:0}.login-art{display:none}.login-panel{padding-top:38px}.login-panel .brand{margin-bottom:65px}.login-panel h1{font-size:22px}}.login-code-row{display:flex;gap:10px}.login-code-row input{flex:1;min-width:0}.login-code-row button{font-size:11px;min-width:105px}.login-panel input[readonly]{color:#a1907b;background:#f7f4ee}.song-title{font-size:14px}.song-subtitle,.song-tags,.song-tags button{font-size:11px}.song-tags .untagged{font-size:10px}.song-key{font-size:12px}.song-key small{font-size:10px}.source-note{font-size:11px;line-height:1.8}@media (max-width:760px){.song-title{font-size:13px}.song-key,.song-subtitle,.song-tags,.song-tags button{font-size:10px}.song-key small{font-size:9px}.source-note{font-size:10px}}.access-page{min-height:100vh;padding:32px max(20px,calc((100vw - 1200px)/2))}.access-header h1{font-size:28px;margin:16px 0 8px}.access-current{overflow-wrap:anywhere;margin:20px 0}.access-tabs,.access-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:20px 0}.access-tools input{flex:1;min-width:180px;padding:10px 14px;border:1px solid var(--border,#ddd);border-radius:8px}.access-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px;margin-bottom:24px}.access-card{border:1px solid var(--border,#e4e5e8);border-radius:12px;padding:20px;background:var(--panel,#fff);overflow-wrap:anywhere}.access-card h3{margin:0 0 14px;font-size:16px}.access-card h3 span{font-size:12px;font-weight:400}.access-card p{font-size:13px;line-height:1.8;margin:8px 0}.access-card button{margin-top:8px}.access-form{display:grid;gap:18px}.access-form label{display:grid;gap:8px;font-size:14px}.access-form input:not([type=checkbox]),.access-form select{width:100%;padding:10px;border:1px solid #ddd;border-radius:7px;background:#fff;color:#222}.access-form .access-check{display:flex;align-items:center;gap:8px}.access-permissions{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.access-scope{display:grid;gap:8px}.access-tag-list{max-height:260px;overflow:auto;padding:10px;border:1px solid #e4e5e8;border-radius:8px;margin-bottom:12px}.access-tag-list summary{cursor:pointer;padding:8px 0}.access-page .muted{line-height:1.7}@media(max-width:600px){.access-page{padding:20px 14px}.access-header h1{font-size:24px}.access-tools .primary{flex-shrink:0}}