:root{--bg: #f4f5f7;--panel: #ffffff;--panel-2: #e8ebf0;--border: #e8eaed;--border-strong: #d8dce2;--text: #1f1d1b;--muted: #8b9099;--accent: #3c7cab;--accent-hover: #346b95;--accent-weak: #e4eef5;--focus-ring: #4297b6;--danger: #9b4444;--danger-weak: #f5e8e8;--warn: #7a6b45;--warn-weak: #f6f0e4;--shadow-sm: 0 1px 2px rgba(31, 29, 27, .04), 0 4px 16px rgba(31, 29, 27, .04);--shadow: 0 2px 8px rgba(31, 29, 27, .08);--shadow-lg: 0 8px 32px rgba(31, 29, 27, .12);--radius: 14px;--radius-sm: 10px;--nav-h: 64px;--page-px: clamp(.75rem, 1.4vw, 2.25rem);--page-pt: clamp(.625rem, 1vw, 1.2rem);--page-pb: clamp(1.25rem, 1.6vw, 2.4rem);--nav-track: rgba(232, 235, 240, .42);--nav-track-border: rgba(216, 220, 226, .9);--nav-active-bg: #ffffff;--nav-active-shadow: 0 1px 2px rgba(31, 29, 27, .06), 0 2px 8px rgba(31, 29, 27, .05)}[data-theme=dark]{--bg: #141416;--panel: #222326;--panel-2: #25282e;--border: #2e3036;--border-strong: #3d4048;--text: #f2f4f7;--muted: #6b7280;--accent: #3c7cab;--accent-hover: #4a8fbe;--accent-weak: #1a2d3d;--focus-ring: #22d3ee;--danger: #c07070;--danger-weak: #2f2323;--warn: #b09a5a;--warn-weak: #2c2618;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2), 0 4px 16px rgba(0, 0, 0, .16);--shadow: 0 2px 8px rgba(0, 0, 0, .32);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .32);--nav-track: rgba(37, 40, 46, .82);--nav-track-border: rgba(61, 64, 72, .9);--nav-active-bg: #2a2d33;--nav-active-shadow: 0 1px 2px rgba(0, 0, 0, .24), 0 2px 8px rgba(0, 0, 0, .18)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--text);font-size:13px;line-height:1.6;letter-spacing:0;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}::selection{background:var(--accent-weak);color:var(--text)}.app-shell{display:flex;flex-direction:column;min-height:100%;background:var(--bg)}.app-header{position:sticky;top:0;z-index:50;height:var(--nav-h);border-bottom:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow-sm)}.app-header-inner{display:flex;align-items:center;justify-content:space-between;height:100%;padding:0 var(--page-px);position:relative}.app-brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;color:var(--text);white-space:nowrap;flex-shrink:0;z-index:10}.app-brand svg{color:var(--accent)}.app-nav-wrap{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;max-width:calc(100% - 360px)}.app-nav{display:inline-flex;align-items:center;gap:2px;padding:2px;border-radius:999px;background:var(--nav-track);border:1px solid var(--nav-track-border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);overflow-x:auto;scrollbar-width:none;pointer-events:auto}.app-nav::-webkit-scrollbar{display:none}.app-nav a{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 14px;border-radius:999px;font-size:13px;font-weight:600;color:var(--muted);white-space:nowrap;transition:color .2s,background .2s,box-shadow .2s}.app-nav a:hover{color:var(--text);background:color-mix(in srgb,var(--panel) 55%,transparent)}.app-nav a.active{font-weight:700;color:var(--text);background:var(--nav-active-bg);box-shadow:var(--nav-active-shadow)}.app-nav-divider{flex-shrink:0;width:4px;height:4px;margin:0 4px;border-radius:50%;background:var(--muted);opacity:.5}.app-header-actions{display:flex;align-items:center;gap:6px;flex-shrink:0;z-index:10}.app-header-actions button.ghost{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;padding:0}.app-header-actions button.ghost svg{width:14px;height:14px}.user-chip{display:none;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--panel-2);font-size:13px}.user-chip .name{font-weight:500;color:var(--text);max-width:8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 768px){.user-chip{display:inline-flex}}.topnav{display:none}.container,.page-container{width:100%;margin:0;padding:var(--page-pt) var(--page-px) var(--page-pb);animation:fade-in .25s ease;flex:1}.page-title{font-size:20px;font-weight:700;margin:0 0 16px;display:flex;align-items:center;gap:8px;letter-spacing:0}.page-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;margin-bottom:16px}.library-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.section-label{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.library-list-layout{display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:start}@media (min-width: 1024px){.library-list-layout{grid-template-columns:minmax(10.5rem,12.5rem) minmax(0,1fr)}.library-list-layout--with-log{grid-template-columns:minmax(10.5rem,12.5rem) minmax(0,1fr) minmax(200px,280px)}.library-list-layout--log-collapsed{grid-template-columns:minmax(10.5rem,12.5rem) minmax(0,1fr) minmax(9rem,11rem)}}.panel-flat{background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-sm)}.library-categories{position:sticky;top:calc(var(--nav-h) + var(--page-pt));max-height:calc(100vh - var(--nav-h) - 24px);overflow-y:auto;padding:8px;height:fit-content}@media (min-width: 640px){.library-categories{padding:12px}}.library-cat-label{margin:0 0 6px;padding:0 6px}.library-cat-empty{margin:0;padding:8px 12px;font-size:14px}.cat-item-row{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:13px}.cat-item-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.cat-item-count{flex-shrink:0;font-size:11px;color:var(--muted)}.cat-item-stats{margin-top:2px;font-size:11px;line-height:1.4;color:var(--muted);opacity:.85}.library-main{min-width:0}.library-main .table-wrap{width:100%;overflow:auto;max-height:calc(100vh - var(--nav-h) - 200px)}.library-main table{width:100%;min-width:860px;table-layout:fixed}.library-main th,.library-main td{white-space:nowrap}.library-main th{text-transform:none;letter-spacing:normal;position:static;color:var(--muted);font-weight:600}.cell-ellipsis{overflow:hidden;text-overflow:ellipsis}.library-main .th-sort-btn{display:inline-flex;align-items:center;gap:4px;border:0!important;padding:0!important;background:transparent!important;color:inherit!important;cursor:pointer;font:inherit;box-shadow:none!important;border-radius:0!important;font-weight:600}.library-main .th-sort-btn:hover{background:transparent!important;color:var(--text)!important}.library-main .th-sort-btn:active{transform:none!important}.view-switch{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:1px;border-radius:999px;border:1px solid var(--border-strong);background:var(--panel)}.library-log-column{position:sticky;top:calc(var(--nav-h) + var(--page-pt));max-height:calc(100vh - var(--nav-h) - 24px);overflow:hidden}.log-header{width:100%;display:flex;justify-content:space-between;align-items:center;background:transparent;border:0;padding:2px 0 8px;border-bottom:1px solid var(--border)}.library-log-scroll{overflow-y:auto;max-height:calc(100vh - var(--nav-h) - 120px);margin-top:8px}.log-item{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;padding:8px;border:1px solid var(--border);border-radius:10px;margin-bottom:8px;background:var(--panel-2)}.log-title{min-width:0;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-tree-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.library-list-layout--log-collapsed .library-log-column{align-self:start}.library-tree-chart-interactive{min-width:0}.tree-chart-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.tree-chart-toolbar-left{display:flex;flex-wrap:wrap;align-items:center;gap:12px;min-width:0}.tree-chart-summary{display:flex;flex-wrap:wrap;gap:8px}.tree-chart-stat{font-size:12px;padding:2px 10px;border-radius:999px;border:1px solid var(--border);background:var(--panel-2)}.tree-chart-stat-done{color:#3d6b52}.tree-chart-stat-pending{color:var(--muted)}.tree-chart-stat-failed{color:var(--danger)}.tree-chart-action-btn{min-height:30px!important;height:30px!important;font-size:12px!important}.tree-chart-scroll{overflow-x:auto}.tree-chart{min-width:520px}.tree-chart-root{display:flex;justify-content:center;margin-bottom:8px}.tree-chart-node{border:1px solid var(--border);border-radius:12px;background:var(--panel);padding:10px 12px}.tree-chart-node-root{min-width:200px;text-align:center}.tree-chart-root-title{display:block;font-size:17px;font-weight:600;color:var(--text)}.tree-chart-stem{width:2px;height:20px;margin:0 auto 8px;background:var(--border-strong)}.tree-chart-branches-scroll{overflow-x:auto}.tree-chart-branches{display:flex;flex-direction:column;gap:10px}.tree-chart-branch{border:1px solid var(--border);border-radius:12px;background:var(--panel-2);overflow:hidden}.tree-chart-node-cat{width:100%;display:flex;align-items:flex-start;gap:8px;text-align:left;border:0;background:transparent;color:inherit;box-shadow:none;padding:12px;min-height:auto;height:auto}.tree-chart-node-cat:hover{background:var(--panel)}.tree-chart-chevron{flex-shrink:0;margin-top:2px;transition:transform .15s}.tree-chart-chevron-open{transform:rotate(90deg)}.tree-chart-cat-body{min-width:0;flex:1}.tree-chart-cat-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-chart-progress{display:flex;height:6px;border-radius:999px;overflow:hidden;background:var(--border);margin-top:8px}.tree-chart-progress-done{background:#3d6b52}.tree-chart-progress-failed{background:var(--danger)}.tree-chart-progress-pending{background:var(--muted);opacity:.35}.tree-chart-leaves-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s ease}.tree-chart-leaves-wrap-open{grid-template-rows:1fr}.tree-chart-leaves-inner{overflow:hidden;min-height:0}.tree-chart-leaves-panel{position:relative;padding:0 12px 12px 28px}.tree-chart-leaves-rail{position:absolute;left:18px;top:0;bottom:12px;width:2px;background:var(--border)}.tree-chart-leaves{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.tree-chart-leaf{position:relative}.tree-chart-leaf-line{position:absolute;left:-10px;top:50%;width:10px;height:2px;background:var(--border)}.tree-chart-node-song{width:100%;display:flex;align-items:center;gap:10px;text-align:left;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:inherit;box-shadow:none;padding:8px 10px;min-height:auto;height:auto}.tree-chart-node-song:hover{background:var(--accent-weak);border-color:var(--border-strong)}.tree-chart-song-text{min-width:0;flex:1}.tree-chart-song-title{margin:0;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-chart-song-artist{margin:2px 0 0;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-chart-highlight{background:color-mix(in srgb,var(--accent) 25%,transparent);color:inherit;padding:0 1px;border-radius:2px}.tree-chart-more-btn{display:block;width:calc(100% - 40px);margin:8px 12px 12px 28px;border:1px dashed var(--border-strong);background:transparent;color:var(--muted);box-shadow:none;min-height:34px;height:auto;font-size:12px}.tree-chart-more-btn:hover:not(:disabled){background:var(--panel);color:var(--text)}.tree-chart-empty-leaf{margin:0;padding:8px 12px 12px 28px;font-size:12px}.channels-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.channel-card-wrap--dragging{opacity:.6}.channel-card-wrap--draggable{cursor:move}.channel-card{margin-bottom:0;height:100%;display:flex;flex-direction:column}.channel-card--inactive{opacity:.85}.channel-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:12px}.channel-card-title{margin:0;font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-drag-tag,.channel-system-tag{font-size:11px;padding:2px 8px;border-radius:6px;border:1px solid var(--border);color:var(--muted);flex-shrink:0}.channel-system-tag{text-transform:uppercase;letter-spacing:.04em;font-weight:600}.channel-card-meta{margin:0;display:flex;flex-direction:column;gap:6px;font-size:14px;flex:1}.channel-card-meta>div{display:flex;justify-content:space-between;gap:12px}.channel-card-meta dt{color:var(--muted);flex-shrink:0}.channel-card-meta dd{margin:0;text-align:right;min-width:0}.channel-card-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.channel-card-actions button{min-height:32px;height:32px;padding:4px 10px;font-size:13px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm);margin-bottom:16px}.card-title{font-weight:600;margin-bottom:12px;display:flex;align-items:center;gap:8px}.card.flush{padding:0;overflow:hidden}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-auto{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.grid-fill-sm{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}@media (max-width: 1100px){.grid-2,.grid-3{grid-template-columns:1fr}.app-nav-wrap{display:none}.app-nav-mobile{display:flex;flex-wrap:wrap;gap:6px;padding:8px var(--page-px);border-bottom:1px solid var(--border);background:var(--panel)}.app-nav-mobile a{padding:8px 12px;border-radius:10px;font-size:13px;font-weight:600;color:var(--muted);background:var(--panel-2)}.app-nav-mobile a.active{color:var(--text);background:var(--nav-active-bg);box-shadow:var(--nav-active-shadow)}}@media (min-width: 1101px){.app-nav-mobile{display:none}}@media (max-width: 1023px){.library-list-layout--with-log .library-log-column{grid-column:1 / -1}.library-categories,.library-log-column{position:static;max-height:none}.library-categories{max-height:calc(100vh - var(--nav-h) - 200px)}}.stack{display:flex;flex-direction:column;gap:16px}.split{display:flex;gap:16px;align-items:flex-start}@media (max-width: 800px){.split{flex-direction:column}.split>*{width:100%!important}}button{-moz-appearance:none;appearance:none;-webkit-appearance:none;font:inherit;padding:8px 16px;height:38px;min-height:38px;line-height:1.2;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:1px solid var(--accent);background:var(--accent);color:#fff;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,transform .05s,box-shadow .15s;box-shadow:0 1px 2px #3c7cab33}button:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}button:active{transform:translateY(1px)}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}button.outline{background:var(--panel);color:var(--text);border-color:var(--border-strong);box-shadow:none}button.outline:hover{background:var(--panel-2);border-color:var(--muted);color:var(--text)}button.danger{background:transparent;color:var(--danger);border-color:var(--danger);box-shadow:none}button.danger:hover{background:var(--danger);color:#fff}button.ghost{background:transparent;color:var(--muted);border-color:transparent;box-shadow:none;padding:8px;border-radius:999px}button.ghost:hover{background:var(--panel-2);color:var(--text);border-color:transparent}button.sm{padding:5px 10px;font-size:13px}button:disabled{opacity:.45;cursor:not-allowed;transform:none}.library-categories button.cat-item{all:unset;box-sizing:border-box;display:block;width:100%;cursor:pointer;padding:8px;margin-bottom:4px;border-radius:8px;font:inherit;font-size:13px;line-height:1.45;text-align:left;color:var(--text);transition:background .15s ease}.library-categories button.cat-item:hover{background:var(--panel-2)}.library-categories button.cat-item.active{background:var(--panel-2);font-weight:500;color:var(--text)}input,select,textarea{font:inherit;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--panel);color:var(--text);width:100%;transition:border-color .15s,box-shadow .15s}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;min-height:34px;padding-right:36px;cursor:pointer;background-color:var(--panel);background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%),linear-gradient(to bottom,color-mix(in srgb,var(--border-strong) 70%,transparent),color-mix(in srgb,var(--border-strong) 70%,transparent));background-position:calc(100% - 18px) calc(50% + 1px),calc(100% - 13px) calc(50% + 1px),calc(100% - 34px) 50%;background-size:5px 5px,5px 5px,1px 60%;background-repeat:no-repeat}select:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 35%,var(--border-strong));background-color:color-mix(in srgb,var(--panel-2) 28%,var(--panel))}select:disabled{cursor:not-allowed;opacity:1;color:color-mix(in srgb,var(--text) 52%,var(--muted));border-color:var(--border);background-color:color-mix(in srgb,var(--panel-2) 80%,var(--panel))}select option{background:var(--panel);color:var(--text)}select::-ms-expand{display:none}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--focus-ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus-ring) 25%,transparent)}textarea{resize:vertical;min-height:84px}label{display:block;margin-bottom:5px;color:var(--muted);font-size:13px}.field{margin-bottom:14px}.row{display:flex;gap:14px;flex-wrap:wrap}.row>*{flex:1;min-width:180px}.check{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.check input{width:auto}.table-wrap{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;position:sticky;top:0;background:var(--panel)}tbody tr{transition:background .12s}tbody tr:hover td{background:var(--panel-2)}.badge{display:inline-block;padding:2px 9px;border-radius:20px;font-size:12px;font-weight:500;background:var(--accent-weak);color:var(--accent);white-space:nowrap}.badge.done{background:color-mix(in srgb,#3d6b52 15%,transparent);color:#3d6b52}.badge.failed{background:var(--danger-weak);color:var(--danger)}.badge.pending{background:var(--warn-weak);color:var(--warn)}.badge.quality-normal{background:color-mix(in srgb,#3d6b52 15%,transparent);color:#3d6b52}.badge.quality-warning{background:color-mix(in srgb,#9a7b3c 18%,transparent);color:#9a7b3c}.badge.quality-error{background:var(--danger-weak);color:var(--danger)}.library-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.song-row{cursor:pointer}.song-row:hover td{background:var(--panel-2)}.lyric-preview{margin:0;max-height:60vh;overflow:auto;white-space:pre-wrap;word-break:break-word;font-family:inherit;font-size:13px;line-height:1.7;padding:12px;border-radius:10px;background:var(--panel-2);border:1px solid var(--border)}.muted{color:var(--muted)}.error{color:var(--danger)}.right{text-align:right}.flex{display:flex;align-items:center;gap:8px}.table-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.between{display:flex;align-items:center;justify-content:space-between;gap:8px}.wrap{flex-wrap:wrap}.spacer{flex:1}.mt{margin-top:12px}.scroll-y{overflow-y:auto}.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px;background:var(--bg)}.login-card{width:380px;max-width:100%;animation:pop .25s ease}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.toast{position:fixed;top:24px;right:24px;z-index:100;bottom:auto!important;background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--accent);padding:12px 16px;border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);max-width:380px;animation:slide-in .22s ease}.toast.error{border-left-color:var(--danger)}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f121873;display:flex;align-items:center;justify-content:center;z-index:50;padding:20px;animation:fade-in .15s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:22px;width:560px;max-width:96vw;max-height:88vh;overflow:auto;box-shadow:var(--shadow-lg);animation:pop .2s ease}.modal.wide{width:880px}.progress{height:6px;border-radius:6px;background:var(--border);overflow:hidden}.progress>span{display:block;height:100%;background:var(--accent);transition:width .3s ease}.upload-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;height:38px;min-height:38px;line-height:1.2;margin-bottom:0;white-space:nowrap;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-weight:500;cursor:pointer;border:1px solid var(--accent);box-shadow:0 1px 2px #3c7cab33;transition:background .15s}.upload-btn:hover{background:var(--accent-hover)}.view-switch button.sm{min-height:34px;padding:0 12px;border-radius:999px}.sort-head-btn,button.sort-head-btn,.library-main .sort-head-btn{display:inline-flex!important;align-items:center!important;gap:4px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:inherit!important;box-shadow:none!important;font:inherit!important;font-weight:600!important;line-height:1.2!important;cursor:pointer!important}.sort-head-btn:hover,button.sort-head-btn:hover,.library-main .sort-head-btn:hover{background:transparent!important;color:var(--text)!important;border-color:transparent!important}.sort-head-btn:active,button.sort-head-btn:active,.library-main .sort-head-btn:active{transform:none!important}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes pop{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.records-page{display:flex;flex-direction:column;gap:16px}.records-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}.records-toolbar-tabs{display:flex;flex-wrap:wrap;gap:8px}.records-toolbar-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.records-search{flex:1 1 140px;width:auto;min-width:120px;max-width:240px}.records-user-select{flex:0 1 160px;width:auto;min-width:120px;max-width:200px}.records-hint{margin:0;font-size:12px;flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.generations-table-wrap{padding:0;overflow:hidden;margin-bottom:0}.generations-table th,.generations-table td{padding:6px 10px;font-size:12px;vertical-align:top}.generations-table th{padding:8px 10px;font-size:11px}.generations-table .gen-cell-id{width:1%;white-space:nowrap;font-weight:600}.generations-table .gen-cell-user{max-width:88px;white-space:nowrap}.generations-table .gen-cell-params{width:1%;white-space:nowrap}.generations-table .gen-cell-format{max-width:72px;white-space:nowrap}.generations-table .gen-cell-time{width:1%;white-space:nowrap;font-size:11px}.generations-table .gen-cell-req{max-width:160px;white-space:nowrap}.generations-table .gen-cell-results{min-width:180px}.gen-results-inline{display:flex;flex-wrap:wrap;gap:4px;line-height:1.2}.gen-result-chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:1px 4px;border-radius:4px;background:var(--panel-2)}.gen-result-badge{padding:1px 6px;font-size:11px;line-height:1.3}.gen-result-title{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--muted)}.records-empty{padding:16px 0;text-align:center}.record-expand-row td{background:var(--panel-2)}.record-preview{margin:0;max-height:200px;overflow:auto;white-space:pre-wrap;font-size:12px;line-height:1.5}.prefs-page{display:flex;flex-direction:column;gap:20px}.prefs-grid{display:grid;grid-template-columns:1fr;gap:16px}@media (min-width: 960px){.prefs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.prefs-grid:has(.prefs-panel:only-child){grid-template-columns:1fr}}.prefs-panel{display:flex;flex-direction:column;gap:8px}.prefs-title{margin:0;font-size:15px;font-weight:600}.prefs-desc{margin:0;font-size:12px}.prefs-source{margin:0;font-size:12px;color:var(--accent)}.prefs-textarea{min-height:160px;resize:vertical;font-family:ui-monospace,Cascadia Code,monospace;font-size:12px;line-height:1.5}.prefs-actions{display:flex;justify-content:flex-end;margin-top:4px}.prefs-styles-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:16px;align-items:flex-start}.table-wrap{overflow-x:auto}.users-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:12px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}::-webkit-scrollbar-track{background:transparent}
