.stack[data-v-f3d8e8ff]{display:grid;gap:calc(var(--card-gap) + 2px)}.stack[data-v-f3d8e8ff] .el-row{row-gap:var(--card-gap)}.panel-card[data-v-f3d8e8ff]{width:100%;border-radius:calc(var(--app-radius) + 2px);background:var(--page-panel-bg);border:1px solid var(--page-panel-border);box-shadow:var(--page-shadow);color:var(--page-text-primary);overflow:hidden}.panel-card[data-v-f3d8e8ff] .el-card__header{padding:17px 20px;border-bottom-color:var(--page-panel-border);font-weight:700}.panel-card[data-v-f3d8e8ff] .el-card__body{padding:20px}.settings-actions[data-v-f3d8e8ff]{margin-top:12px;display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap}.settings-actions[data-v-f3d8e8ff] .el-button+.el-button{margin-left:0}.preview-shell[data-v-f3d8e8ff]{border:1px solid var(--page-panel-border);border-radius:calc(var(--app-radius) + 2px);overflow:hidden}.preview-navbar[data-v-f3d8e8ff]{min-height:48px;display:flex;align-items:center;padding:0 16px;border-bottom:1px solid var(--surface-border);background:var(--surface-bg);color:var(--surface-text-primary)}.preview-body[data-v-f3d8e8ff]{display:grid;grid-template-columns:120px 1fr;min-height:140px}.preview-sidebar[data-v-f3d8e8ff]{padding:16px;border-right:1px solid var(--surface-border);background:var(--surface-bg);color:var(--surface-text-primary)}.preview-content[data-v-f3d8e8ff]{padding:16px;display:grid;align-content:start;gap:12px;background:var(--page-panel-bg)}@media(max-width:768px){.preview-body[data-v-f3d8e8ff]{grid-template-columns:1fr}.settings-actions[data-v-f3d8e8ff]{display:grid;grid-template-columns:1fr}.settings-actions[data-v-f3d8e8ff] .el-button{width:100%}}.auth-overlay[data-v-5ea911c9]{--auth-panel-bg: color-mix(in srgb, var(--el-bg-color-overlay) 78%, transparent);--auth-panel-border: color-mix(in srgb, var(--el-border-color) 78%, transparent);--auth-panel-shadow: 0 24px 58px rgba(0, 0, 0, .34);--auth-tab-bg: color-mix(in srgb, var(--el-fill-color-light) 36%, transparent);--auth-input-bg: color-mix(in srgb, var(--el-fill-color) 58%, transparent);--auth-input-focus-bg: color-mix(in srgb, var(--el-fill-color-light) 64%, transparent);--auth-text-primary: var(--el-text-color-primary);--auth-text-secondary: var(--el-text-color-secondary);--auth-close-bg: color-mix(in srgb, var(--el-fill-color-light) 46%, transparent);--auth-close-color: color-mix(in srgb, var(--el-text-color-secondary) 92%, transparent);position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;padding:24px;background:radial-gradient(circle at 14% 20%,color-mix(in srgb,var(--el-color-primary) 24%,transparent),transparent 40%),radial-gradient(circle at 84% 10%,color-mix(in srgb,var(--el-color-success) 20%,transparent),transparent 42%),color-mix(in srgb,#0a0f18 72%,transparent);-webkit-backdrop-filter:blur(12px) saturate(115%);backdrop-filter:blur(12px) saturate(115%);display:grid;place-items:center}.auth-overlay.auth-theme-light[data-v-5ea911c9]{--auth-panel-bg: color-mix(in srgb, #ffffff 17%, transparent);--auth-panel-border: color-mix(in srgb, #94a3b8 42%, transparent);--auth-panel-shadow: 0 24px 58px rgba(15, 23, 42, .2);--auth-tab-bg: color-mix(in srgb, #ffffff 13%, transparent);--auth-input-bg: color-mix(in srgb, #ffffff 14%, transparent);--auth-input-focus-bg: color-mix(in srgb, #ffffff 20%, transparent);--auth-text-primary: #1f2937;--auth-text-secondary: #1f2937;--auth-close-bg: color-mix(in srgb, #ffffff 15%, transparent);--auth-close-color: #1f2937}.auth-overlay.auth-theme-dark[data-v-5ea911c9]{--auth-panel-bg: color-mix(in srgb, #0f1622 32%, transparent);--auth-panel-border: color-mix(in srgb, #334155 56%, transparent);--auth-panel-shadow: 0 24px 58px rgba(0, 0, 0, .42);--auth-tab-bg: color-mix(in srgb, #1f2937 23%, transparent);--auth-input-bg: color-mix(in srgb, #111827 26%, transparent);--auth-input-focus-bg: color-mix(in srgb, #1f2937 31%, transparent);--auth-text-primary: #e5e7eb;--auth-text-secondary: #94a3b8;--auth-close-bg: color-mix(in srgb, #1f2937 26%, transparent);--auth-close-color: #cbd5e1}.auth-modal[data-v-5ea911c9]{width:auto;position:relative;border:0;overflow:visible;box-shadow:none;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.auth-close[data-v-5ea911c9]{width:32px;height:32px;border-radius:50%;border:1px solid color-mix(in srgb,var(--el-border-color) 76%,transparent);background:var(--auth-close-bg);color:var(--auth-close-color);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .16s ease}.auth-close[data-v-5ea911c9]:hover{color:var(--auth-text-primary);border-color:color-mix(in srgb,var(--el-color-primary) 48%,var(--el-border-color));background:color-mix(in srgb,var(--auth-close-bg) 78%,var(--el-color-primary))}.auth-shell[data-v-5ea911c9]{position:relative;z-index:1}.auth-panel[data-v-5ea911c9]{width:min(500px,calc(100vw - 40px));max-width:100%;box-sizing:border-box;background:linear-gradient(180deg,color-mix(in srgb,var(--el-bg-color-page) 10%,transparent),color-mix(in srgb,var(--el-bg-color-overlay) 78%,transparent));border-radius:22px;border:1px solid var(--auth-panel-border);-webkit-backdrop-filter:blur(22px) saturate(135%);backdrop-filter:blur(22px) saturate(135%);box-shadow:var(--auth-panel-shadow);background-color:var(--auth-panel-bg);padding:26px;display:grid;align-content:start;gap:14px;color:var(--auth-text-primary)}.auth-panel-header[data-v-5ea911c9]{display:flex;align-items:center;justify-content:space-between}.auth-tab-group[data-v-5ea911c9]{display:inline-flex;gap:8px;padding:3px;border-radius:999px;border:1px solid color-mix(in srgb,var(--el-border-color) 72%,transparent);background:var(--auth-tab-bg)}.auth-tab-btn[data-v-5ea911c9]{border:0;background:transparent;color:var(--auth-text-secondary);padding:7px 16px;border-radius:999px;font-size:14px;font-weight:600;cursor:pointer}.auth-tab-btn.active[data-v-5ea911c9]{color:#fff;background:linear-gradient(135deg,color-mix(in srgb,var(--el-color-success) 86%,#fff),color-mix(in srgb,var(--el-color-primary) 80%,#fff));box-shadow:0 8px 20px color-mix(in srgb,var(--el-color-success) 30%,transparent)}.auth-form-zone[data-v-5ea911c9]{display:grid;gap:8px}.auth-form-title[data-v-5ea911c9]{margin:0;font-size:46px;line-height:1.2;color:var(--auth-text-primary);letter-spacing:-.02em}.auth-form-tip[data-v-5ea911c9]{margin:0;font-size:13px;color:var(--auth-text-secondary)}.auth-form[data-v-5ea911c9] .el-form-item__label{color:var(--auth-text-secondary)}.auth-form[data-v-5ea911c9] .el-input__wrapper{background:var(--auth-input-bg);border:1px solid color-mix(in srgb,var(--el-border-color) 76%,transparent);border-radius:10px;box-shadow:none;transition:border-color .16s ease,background-color .16s ease}.auth-form[data-v-5ea911c9] .el-input__wrapper.is-focus{border-color:color-mix(in srgb,var(--el-color-primary) 56%,var(--el-border-color));background:var(--auth-input-focus-bg)}.auth-form[data-v-5ea911c9] .el-input__inner{color:var(--auth-text-primary)}.auth-overlay.auth-theme-light .auth-form[data-v-5ea911c9] .el-input__inner::placeholder{color:color-mix(in srgb,var(--auth-text-primary) 70%,transparent)}.auth-submit-btn[data-v-5ea911c9]{width:100%;height:44px;margin-top:2px;font-weight:700;font-size:15px;border-radius:10px}.auth-switch-tip[data-v-5ea911c9]{margin-top:4px;font-size:13px;color:var(--auth-text-secondary)}.auth-switch-btn[data-v-5ea911c9]{margin-left:6px;padding:0;border:0;background:transparent;color:var(--el-color-primary);cursor:pointer;font-weight:600}.auth-switch-btn[data-v-5ea911c9]:hover{text-decoration:underline}.register-challenge-card[data-v-5ea911c9]{margin-top:6px;border-radius:10px;border:1px solid color-mix(in srgb,var(--el-color-success) 34%,transparent);background:color-mix(in srgb,var(--el-color-success) 10%,transparent);padding:12px 14px}.register-challenge-header[data-v-5ea911c9]{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;font-size:13px;font-weight:600;color:var(--auth-text-primary)}.register-challenge-row[data-v-5ea911c9]{font-size:13px;color:var(--auth-text-secondary);line-height:1.6}.register-challenge-message[data-v-5ea911c9]{margin-top:6px;font-size:12px;color:var(--el-color-danger)}.auth-tab-fade-enter-active[data-v-5ea911c9],.auth-tab-fade-leave-active[data-v-5ea911c9]{transition:all .19s ease}.auth-tab-fade-enter-from[data-v-5ea911c9]{opacity:0;transform:translate(12px)}.auth-tab-fade-leave-to[data-v-5ea911c9]{opacity:0;transform:translate(-12px)}@media(max-width:900px){.auth-overlay[data-v-5ea911c9]{padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));display:grid;place-items:center;overflow:hidden}.auth-modal[data-v-5ea911c9]{width:100%;margin:0 auto}.auth-panel[data-v-5ea911c9]{width:100%;padding:18px;border-radius:16px;min-height:auto;max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto;-webkit-overflow-scrolling:touch}.auth-close[data-v-5ea911c9]{width:36px;height:36px}.auth-form-title[data-v-5ea911c9]{font-size:34px}}:root{--el-color-primary: #2f9e44;--el-color-primary-light-3: #5db66d;--el-color-primary-light-5: #82c98f;--el-color-primary-light-7: #abdcb4;--el-color-primary-light-8: #c0e5c7;--el-color-primary-light-9: #d5efda;--el-color-primary-dark-2: #27863a;font-family:SF Pro Text,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;color:var(--el-text-color-primary);background:var(--el-bg-color-page);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--app-radius: 12px;--card-gap: 16px;--topbar-height: 70px;--topbar-item-height: 40px;--sidebar-item-height: 52px;--sidebar-brand-height: 40px;--sidebar-logo-offset-x: 24px;--sidebar-logo-offset-y: -3px;--app-font-size: 16px;--mobile-row-height: 56px;--mobile-row-gap: 10px;--mobile-action-size: 40px;--motion-duration-fast: .16s;--motion-duration-normal: .26s;--motion-duration-slow: .42s;--motion-ease-standard: cubic-bezier(.22, 1, .36, 1);--motion-ease-soft: cubic-bezier(.25, .9, .34, 1);--motion-ease-emphasized: cubic-bezier(.2, .85, .2, 1)}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%}body{background:radial-gradient(circle at 10% 0%,rgba(15,23,42,.06),transparent 30%),radial-gradient(circle at 92% 12%,rgba(17,24,39,.05),transparent 28%),linear-gradient(180deg,#ffffffe6,#f6f6f7d6),var(--el-bg-color-page);color:var(--el-text-color-primary)}html.dark body{background:radial-gradient(1100px 520px at -8% -14%,rgba(255,255,255,.04),transparent 62%),radial-gradient(900px 430px at 108% -10%,rgba(255,255,255,.03),transparent 60%),radial-gradient(860px 420px at 50% 118%,rgba(0,0,0,.24),transparent 72%),linear-gradient(180deg,#141414fa,#121212fc 44%,#101010),var(--el-bg-color-page)}html.dark{--el-color-primary: #53c36f;--el-color-primary-light-3: #72cf88;--el-color-primary-light-5: #94dca4;--el-color-primary-light-7: #b7e8c1;--el-color-primary-light-8: #caeed0;--el-color-primary-light-9: #dcf3df;--el-color-primary-dark-2: #3faa5a}button,input,textarea{font:inherit}.page-grid{display:grid;gap:var(--card-gap)}.page-grid>.el-row{row-gap:var(--card-gap)}.page-grid>.el-row>.el-col{display:grid;gap:var(--card-gap)}.panel-card,.hero-card,.metric-card,.auth-card{border-radius:calc(var(--app-radius) + 2px);border:1px solid var(--page-panel-border);box-shadow:var(--page-shadow);background:var(--page-panel-bg);transition:transform var(--motion-duration-normal) var(--motion-ease-standard),box-shadow var(--motion-duration-normal) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-soft),background-color var(--motion-duration-fast) var(--motion-ease-soft)}.hero-card{padding:12px}.hero-copy{padding:20px;border-radius:calc(var(--app-radius) + 4px);background:radial-gradient(circle at top left,color-mix(in srgb,var(--el-color-primary) 12%,transparent),transparent 40%),linear-gradient(135deg,color-mix(in srgb,var(--page-panel-bg) 96%,transparent) 0%,var(--page-panel-bg) 100%)}.hero-badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:color-mix(in srgb,var(--el-color-primary) 12%,transparent);color:var(--el-color-primary);font-weight:700;margin-bottom:12px}.list-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.song-card,.stack-item,.metric-card{padding:14px 16px;border-radius:calc(var(--app-radius) + 2px);border:1px solid var(--page-panel-border);background:color-mix(in srgb,var(--page-panel-bg) 95%,transparent);transition:transform var(--motion-duration-normal) var(--motion-ease-standard),box-shadow var(--motion-duration-normal) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-soft),background-color var(--motion-duration-fast) var(--motion-ease-soft)}button,.el-button,.el-input__wrapper,.el-select__wrapper,.el-textarea__inner{transition:transform var(--motion-duration-fast) var(--motion-ease-soft),box-shadow var(--motion-duration-fast) var(--motion-ease-soft),border-color var(--motion-duration-fast) var(--motion-ease-soft),background-color var(--motion-duration-fast) var(--motion-ease-soft),color var(--motion-duration-fast) var(--motion-ease-soft)}@media(prefers-reduced-motion:reduce){:root{--motion-duration-fast: 1ms;--motion-duration-normal: 1ms;--motion-duration-slow: 1ms}*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}.panel-card .el-card__header,.hero-card .el-card__header{border-bottom-color:var(--page-panel-border)}.song-title,.metric-value{font-size:18px;font-weight:700}.song-meta,.stack-item span,.metric-label{color:var(--page-text-secondary);margin-top:4px}.stack-list{display:grid;gap:10px}.auth-shell{min-height:100vh;display:grid;place-items:center;gap:16px;padding:24px}.auth-card{width:min(460px,100%)}.full-width{width:100%}.action-row,.filter-row{display:flex;gap:12px;flex-wrap:wrap}.admin-module-card .el-card__header{padding:16px 20px}.module-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.module-title{font-size:20px;font-weight:700;line-height:1.2}.module-subtitle{margin-top:6px;color:var(--page-text-secondary);font-size:13px}.settings-center{gap:14px}.settings-overview-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.settings-metric{min-height:110px}.settings-content-card .el-card__body{padding-top:8px}.settings-tabs .el-tabs__header{margin-bottom:10px}.settings-tab-content{min-height:320px}.module-actions,.module-action-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.section-actions{margin-bottom:12px}.module-search-row{margin-bottom:12px;display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:8px}.module-pagination-wrap{display:flex;justify-content:flex-end;margin-top:12px}.module-empty-fill{margin-top:10px;min-height:var(--module-empty-min-height, 320px);border:1px dashed color-mix(in srgb,var(--page-panel-border) 86%,transparent);border-radius:12px;background:color-mix(in srgb,var(--page-panel-bg) 98%,transparent);display:grid;place-items:center}.module-empty-fill>.el-empty{padding:0}.panel-card .el-card__body>.el-empty{margin-top:10px;min-height:var(--card-empty-min-height, 220px);border:1px dashed color-mix(in srgb,var(--page-panel-border) 86%,transparent);border-radius:12px;background:color-mix(in srgb,var(--page-panel-bg) 98%,transparent)}.el-table .el-table__empty-block{min-height:var(--table-empty-min-height, 180px)}.el-table .el-table__empty-text{width:calc(100% - 24px);max-width:520px;margin:12px auto;min-height:88px;border:1px dashed color-mix(in srgb,var(--page-panel-border) 86%,transparent);border-radius:10px;background:color-mix(in srgb,var(--page-panel-bg) 98%,transparent);display:grid;place-items:center;padding:10px 12px;line-height:1.4}.detail-hero{border:1px solid var(--page-panel-border);border-radius:calc(var(--app-radius) + 4px);padding:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--page-panel-bg) 92%,var(--el-color-primary)) 0%,var(--page-panel-bg) 80%)}.detail-hero-top{display:flex;gap:16px;justify-content:space-between;align-items:flex-start}.detail-hero-title{font-size:24px;line-height:1.2;font-weight:760;letter-spacing:-.01em;color:var(--page-text-primary)}.detail-hero-subtitle{margin-top:8px;color:var(--page-text-secondary);font-size:14px}.action-cluster{display:flex;flex-wrap:wrap;gap:8px}.detail-meta-grid{margin-top:16px;display:grid;gap:12px;grid-template-columns:220px minmax(0,1fr)}.detail-cover-card,.detail-meta-card{border:1px solid var(--page-panel-border);border-radius:calc(var(--app-radius) + 2px);background:color-mix(in srgb,var(--page-panel-bg) 95%,transparent)}.detail-cover-card{padding:12px}.detail-meta-card{padding:14px;display:grid;gap:12px}.detail-stats{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.stat-chip{border:1px solid color-mix(in srgb,var(--page-panel-border) 86%,transparent);border-radius:12px;padding:10px 12px;min-height:76px;background:color-mix(in srgb,var(--page-panel-bg) 97%,transparent)}.stat-chip-label{color:var(--page-text-secondary);font-size:12px}.stat-chip-value{margin-top:6px;font-size:18px;font-weight:700;line-height:1.2;color:var(--page-text-primary)}.file-ref-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.file-ref-item{border:1px dashed color-mix(in srgb,var(--page-panel-border) 84%,transparent);border-radius:10px;padding:10px}.file-ref-label{font-size:12px;color:var(--page-text-secondary)}.file-ref-value{margin-top:4px;color:var(--page-text-primary);font-size:13px;line-height:1.45;word-break:break-word}.table-toolbar{margin-top:16px;margin-bottom:10px;border:1px solid var(--page-panel-border);border-radius:12px;background:color-mix(in srgb,var(--page-panel-bg) 96%,transparent);padding:10px 12px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.table-toolbar-title{font-size:14px;font-weight:700;color:var(--page-text-primary)}.table-toolbar-meta{margin-top:2px;font-size:12px;color:var(--page-text-secondary)}.table-toolbar-actions{display:flex;flex-wrap:wrap;gap:8px}.table-surface{border:1px solid var(--page-panel-border);border-radius:12px;overflow:hidden;background:var(--page-panel-bg)}.table-surface .el-table{--el-table-header-bg-color: color-mix(in srgb, var(--page-panel-bg) 92%, transparent);--el-table-row-hover-bg-color: color-mix(in srgb, var(--el-color-primary) 10%, transparent);--el-table-border-color: color-mix(in srgb, var(--page-panel-border) 82%, transparent)}.dialog-section{border:1px solid var(--page-panel-border);border-radius:12px;padding:12px;background:color-mix(in srgb,var(--page-panel-bg) 96%,transparent)}.dialog-section+.dialog-section{margin-top:12px}.dialog-section-title{font-size:13px;font-weight:700;color:var(--page-text-primary);margin-bottom:10px}.el-overlay-dialog{display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box}.el-overlay-dialog .el-dialog{margin:0!important;max-height:calc(100vh - 32px);display:flex;flex-direction:column}.el-overlay-dialog .el-dialog.is-fullscreen{max-height:100vh}.el-overlay-dialog .el-dialog__body{min-height:0;overflow:auto}.responsive-dialog .el-dialog__body{max-height:calc(92vh - 112px);overflow:auto}.song-group-wrap{display:grid;gap:12px}.song-collapse{border:0}.song-collapse-item{border:1px solid var(--page-panel-border);border-radius:calc(var(--app-radius) + 2px);margin-bottom:12px;overflow:hidden;background:color-mix(in srgb,var(--page-panel-bg) 92%,transparent)}.song-collapse-item .el-collapse-item__header{padding:0 16px;min-height:72px}.song-collapse-item .el-collapse-item__wrap{border-top:1px solid var(--page-panel-border)}.song-collapse-item .el-collapse-item__content{padding:14px 16px 16px}.song-collapse-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px}.song-collapse-main{min-width:0}.song-collapse-title{font-size:16px;font-weight:700}.song-collapse-meta{margin-top:4px;color:var(--page-text-secondary);font-size:13px}.song-collapse-stats{display:flex;align-items:center;gap:8px}.song-card{border:1px solid var(--page-panel-border);background:color-mix(in srgb,var(--page-panel-bg) 90%,transparent);border-radius:var(--app-radius);padding:12px;display:grid;gap:12px}.song-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.song-file-lines{min-width:0;display:grid;gap:6px}.song-file-line{font-size:13px;color:var(--page-text-secondary)}.song-card-actions{display:flex;gap:8px;flex-wrap:wrap}.chart-table{width:100%}.import-summary{margin-bottom:12px;color:var(--page-text-secondary)}.inline-tag{margin-right:8px;margin-bottom:8px}.permission-cloud{margin-top:16px}.code-block{margin:0;white-space:pre-wrap;font-size:13px}@media(max-width:960px){.settings-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-row{display:grid;grid-template-columns:1fr}.action-row,.module-actions,.module-action-row,.table-toolbar-actions,.song-card-actions,.song-collapse-stats,.action-cluster{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;width:100%}.card-header-row,.user-filter-row{display:flex;flex-direction:column;align-items:stretch;gap:8px;width:100%}.module-header,.song-card-head,.detail-hero-top{flex-direction:column;align-items:stretch}.module-actions,.module-action-row,.table-toolbar-actions,.song-card-actions,.song-collapse-stats,.action-cluster{width:100%}.action-row .el-button+.el-button,.module-actions .el-button+.el-button,.module-action-row .el-button+.el-button,.table-toolbar-actions .el-button+.el-button,.bind-actions .el-button+.el-button,.song-card-actions .el-button+.el-button,.action-cluster .el-button+.el-button{margin-left:0!important}.action-row .el-button,.module-actions .el-button,.module-action-row .el-button,.table-toolbar-actions .el-button,.song-card-actions .el-button,.song-collapse-stats .el-button,.action-cluster .el-button{width:100%;min-width:0}.action-cluster .action-tip-wrap,.action-cluster .action-tip-wrap .el-button{width:100%}.card-header-row>.el-button,.user-filter-row>.el-button,.user-filter-row>.el-select{width:100%;min-width:0}.mobile-primary-action.el-button,.mobile-primary-action{width:100%;margin-left:0!important}.bind-actions{display:grid;grid-template-columns:1fr;gap:8px}.module-search-row .el-button{width:100%}.module-search-row,.detail-meta-grid{grid-template-columns:1fr}.module-pagination-wrap{justify-content:center}.responsive-dialog.el-dialog,.responsive-dialog .el-dialog{width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;margin:0!important}.responsive-dialog .el-dialog__footer{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.responsive-dialog .el-dialog__footer .el-button{margin-left:0!important}.dialog-section .el-row{display:grid;grid-template-columns:1fr}.dialog-section .el-col{max-width:100%;flex:0 0 100%}.song-collapse-item .el-collapse-item__header{padding:12px 14px}.song-collapse-head{align-items:flex-start;flex-direction:column}}@media(max-width:720px){.settings-overview-grid{grid-template-columns:1fr}.settings-tabs .el-tabs__nav-wrap{overflow-x:auto}}.shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr;--page-panel-bg: color-mix(in srgb, var(--el-bg-color-overlay) 94%, #ffffff);--page-panel-border: color-mix(in srgb, var(--el-border-color-light) 70%, #ffffff);--page-panel-soft-bg: color-mix(in srgb, var(--page-panel-bg) 94%, transparent);--page-accent-soft-bg: color-mix(in srgb, var(--el-color-primary) 10%, transparent);--page-shadow: 0 14px 36px rgba(15, 23, 42, .08);--page-text-primary: var(--el-text-color-primary);--page-text-secondary: var(--el-text-color-secondary);font-size:var(--app-font-size);color:var(--page-text-primary)}.shell.theme-dark{--page-panel-bg: color-mix(in srgb, var(--el-bg-color-overlay) 88%, #141414);--page-panel-border: rgba(255, 255, 255, .08);--page-panel-soft-bg: color-mix(in srgb, var(--page-panel-bg) 92%, transparent);--page-accent-soft-bg: color-mix(in srgb, var(--el-color-primary) 13%, transparent);--page-shadow: 0 18px 44px rgba(0, 0, 0, .34)}.sidebar,.topbar{--surface-bg: var(--el-bg-color-overlay);--surface-border: rgba(15, 23, 42, .08);--surface-text-primary: #111827;--surface-text-secondary: #6b7280;--surface-control-bg: color-mix(in srgb, var(--surface-bg) 88%, transparent);--surface-control-border: color-mix(in srgb, var(--surface-border) 76%, transparent);--surface-hover-bg: color-mix(in srgb, var(--surface-bg) 82%, transparent);--surface-active-bg-start: color-mix(in srgb, var(--el-color-primary) 13%, var(--surface-bg));--surface-active-bg-end: color-mix(in srgb, var(--el-color-primary) 8%, var(--surface-bg));--surface-active-border: color-mix(in srgb, var(--el-color-primary) 30%, var(--surface-border));--surface-active-text: color-mix(in srgb, var(--surface-text-primary) 54%, var(--el-color-primary));--surface-active-icon-bg: color-mix(in srgb, var(--el-color-primary) 11%, var(--surface-bg));--surface-brand-bg: linear-gradient(135deg, color-mix(in srgb, var(--el-color-primary) 86%, #ffffff), color-mix(in srgb, var(--el-color-primary) 68%, #111827));--surface-brand-text: #ffffff;--surface-brand-shadow: color-mix(in srgb, var(--el-color-primary) 20%, transparent);--surface-soft-highlight: color-mix(in srgb, var(--el-color-primary) 4%, transparent)}.surface-dark,.el-drawer.surface-dark{--surface-bg: #141414;--surface-border: rgba(255, 255, 255, .09);--surface-text-primary: #e5e7eb;--surface-text-secondary: #9ca3af}.surface-light,.el-drawer.surface-light{--surface-bg: #ffffff;--surface-border: rgba(15, 23, 42, .08);--surface-text-primary: #111827;--surface-text-secondary: #6b7280}.el-drawer{--surface-bg: var(--el-bg-color-overlay);--surface-border: rgba(15, 23, 42, .08);--surface-text-primary: #111827;--surface-text-secondary: #6b7280;--page-panel-bg: color-mix(in srgb, var(--el-bg-color-overlay) 94%, var(--el-bg-color-page));--page-panel-border: color-mix(in srgb, var(--el-border-color-light) 70%, transparent);--page-shadow: 0 14px 36px rgba(15, 23, 42, .08);--page-text-primary: var(--el-text-color-primary);--page-text-secondary: var(--el-text-color-secondary);color:var(--surface-text-primary);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-bg) 95%,var(--el-bg-color-page)) 0%,var(--surface-bg) 56%,var(--surface-bg) 100%)}.app-nav-drawer.el-drawer{background:linear-gradient(180deg,color-mix(in srgb,var(--surface-bg) 95%,var(--el-bg-color-page)) 0%,var(--surface-bg) 56%,var(--surface-bg) 100%)}.app-nav-drawer .el-drawer__body{padding:0}.mobile-drawer-panel{min-height:100%;display:flex;flex-direction:column;position:relative}.mobile-drawer-close{position:absolute;top:18px;right:18px;width:40px;height:40px;border:1px solid var(--surface-control-border);border-radius:var(--app-radius);background:var(--surface-control-bg);color:var(--surface-text-secondary);display:inline-flex;align-items:center;justify-content:center;font-size:18px;z-index:2;cursor:pointer;transition:border-color var(--motion-duration-fast) var(--motion-ease-soft),background-color var(--motion-duration-fast) var(--motion-ease-soft),color var(--motion-duration-fast) var(--motion-ease-soft)}.mobile-drawer-close:hover{border-color:color-mix(in srgb,var(--el-color-primary) 34%,var(--surface-border));background:var(--surface-hover-bg);color:var(--surface-text-primary)}html.dark .el-drawer{--surface-bg: color-mix(in srgb, var(--el-bg-color-overlay) 88%, #141414);--surface-border: rgba(255, 255, 255, .08);--surface-text-primary: #d8dee9;--surface-text-secondary: #8893a5;--page-panel-bg: color-mix(in srgb, var(--el-bg-color-overlay) 88%, #141414);--page-panel-border: rgba(255, 255, 255, .08);--page-shadow: 0 18px 44px rgba(0, 0, 0, .34);--page-text-primary: #d8dee9;--page-text-secondary: #8893a5;--el-menu-text-color: #d8dee9;--el-text-color-primary: #d8dee9;--el-text-color-regular: #c8d0de;color:#d8dee9}.surface-dark,html.dark .el-drawer,.el-drawer.surface-dark{--surface-control-bg: color-mix(in srgb, var(--surface-bg) 86%, transparent);--surface-control-border: color-mix(in srgb, var(--surface-border) 88%, transparent);--surface-hover-bg: color-mix(in srgb, var(--el-color-primary) 8%, var(--surface-bg));--surface-active-bg-start: color-mix(in srgb, var(--el-color-primary) 16%, var(--surface-bg));--surface-active-bg-end: color-mix(in srgb, var(--el-color-primary) 9%, var(--surface-bg));--surface-active-border: color-mix(in srgb, var(--el-color-primary) 28%, var(--surface-border));--surface-active-text: color-mix(in srgb, var(--el-color-primary) 70%, var(--surface-text-primary));--surface-active-icon-bg: color-mix(in srgb, var(--el-color-primary) 13%, var(--surface-bg));--surface-brand-bg: linear-gradient(135deg, color-mix(in srgb, var(--el-color-primary) 76%, #ffffff), color-mix(in srgb, var(--el-color-primary) 55%, #000000));--surface-brand-text: #08130c;--surface-brand-shadow: color-mix(in srgb, var(--el-color-primary) 26%, transparent);--surface-soft-highlight: color-mix(in srgb, var(--el-color-primary) 8%, transparent)}.surface-light,.el-drawer.surface-light{--surface-control-bg: color-mix(in srgb, var(--surface-bg) 88%, transparent);--surface-control-border: color-mix(in srgb, var(--surface-border) 76%, transparent);--surface-hover-bg: color-mix(in srgb, var(--el-color-primary) 7%, var(--surface-bg));--surface-active-bg-start: color-mix(in srgb, var(--el-color-primary) 13%, var(--surface-bg));--surface-active-bg-end: color-mix(in srgb, var(--el-color-primary) 8%, var(--surface-bg));--surface-active-border: color-mix(in srgb, var(--el-color-primary) 26%, var(--surface-border));--surface-active-text: color-mix(in srgb, var(--surface-text-primary) 58%, var(--el-color-primary));--surface-active-icon-bg: color-mix(in srgb, var(--el-color-primary) 10%, var(--surface-bg));--surface-brand-bg: linear-gradient(135deg, color-mix(in srgb, var(--el-color-primary) 88%, #ffffff), color-mix(in srgb, var(--el-color-primary) 70%, #111827));--surface-brand-text: #ffffff;--surface-brand-shadow: color-mix(in srgb, var(--el-color-primary) 20%, transparent)}.sidebar{border-right:1px solid var(--surface-border);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-bg) 95%,var(--el-bg-color-page)) 0%,var(--surface-bg) 56%,var(--surface-bg) 100%);color:var(--surface-text-primary);padding:18px 0 14px;position:sticky;top:0;height:100vh;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);transition:background var(--motion-duration-normal) var(--motion-ease-soft),border-color var(--motion-duration-fast) var(--motion-ease-soft)}.sidebar .el-menu{background:transparent;border-right:0;--el-menu-bg-color: transparent;--el-menu-text-color: var(--surface-text-primary);--el-menu-hover-bg-color: var(--surface-hover-bg);--el-menu-active-color: var(--el-color-primary)}.sidebar-menu{padding:0 14px}.sidebar .el-menu-item,.el-drawer .el-menu-item{height:var(--sidebar-item-height);line-height:var(--sidebar-item-height);font-size:15px;font-weight:600;margin-bottom:6px;border-radius:calc(var(--app-radius) - 4px);border:1px solid transparent;padding:0 12px;transition:transform var(--motion-duration-fast) var(--motion-ease-soft),background-color .22s var(--motion-ease-soft),border-color var(--motion-duration-fast) var(--motion-ease-soft),color var(--motion-duration-fast) var(--motion-ease-soft),box-shadow .22s var(--motion-ease-soft)}.sidebar-extra-item{margin-top:4px}.sidebar .el-menu-item.is-active,.el-drawer .el-menu-item.is-active{background:linear-gradient(90deg,var(--surface-active-bg-start) 0%,var(--surface-active-bg-end) 100%);border-color:var(--surface-active-border);color:var(--surface-active-text)}.sidebar .el-menu-item:hover,.el-drawer .el-menu-item:hover{background-color:var(--surface-hover-bg);border-color:var(--surface-control-border)}.sidebar .el-menu-item.is-active .menu-item-icon,.el-drawer .el-menu-item.is-active .menu-item-icon{background:var(--surface-active-icon-bg);border-color:var(--surface-active-border)}.menu-item-icon{width:30px;height:30px;aspect-ratio:1 / 1;min-width:30px;min-height:30px;flex:0 0 30px;margin-right:10px;border-radius:9px;border:1px solid var(--surface-control-border);background:var(--surface-control-bg);transition:transform var(--motion-duration-fast) var(--motion-ease-soft),background-color var(--motion-duration-fast) var(--motion-ease-soft),border-color var(--motion-duration-fast) var(--motion-ease-soft)}.brand{width:100%;min-height:var(--sidebar-brand-height);margin:0 0 14px;padding:0 18px;display:flex;align-items:center;gap:12px;border:0;background:transparent;color:var(--surface-text-primary);text-align:left;cursor:pointer;transform:translate(var(--sidebar-logo-offset-x),var(--sidebar-logo-offset-y));transition:transform var(--motion-duration-fast) var(--motion-ease-soft)}.brand-mark{width:var(--sidebar-logo-size);height:var(--sidebar-logo-size);border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-brand-bg);color:var(--surface-brand-text);font-weight:800;font-size:calc(var(--sidebar-logo-size) * .44);line-height:1;overflow:hidden;transition:transform var(--motion-duration-fast) var(--motion-ease-soft),box-shadow var(--motion-duration-fast) var(--motion-ease-soft)}.brand-mark-svg{width:calc(var(--sidebar-logo-size) * .72);height:calc(var(--sidebar-logo-size) * .72);display:inline-flex}.brand-mark-svg svg{width:100%;height:100%;fill:currentColor}.brand-copy{min-width:0;display:grid;gap:2px}.brand-title{font-size:18px;font-weight:700;color:var(--surface-text-primary)}.brand-subtitle{font-size:11px;color:var(--surface-text-secondary);letter-spacing:.5px;text-transform:uppercase}.sidebar-foot{padding:16px 20px 12px}.sidebar-tip{color:var(--surface-text-secondary);font-size:12px;line-height:1.55;padding:10px 12px;border:1px dashed color-mix(in srgb,var(--surface-border) 75%,transparent);border-radius:calc(var(--app-radius) - 6px);background:color-mix(in srgb,var(--surface-bg) 92%,var(--el-fill-color-light))}.main{min-width:0}.topbar{min-height:var(--topbar-height);padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--surface-border);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-bg) 96%,var(--el-bg-color-page)) 0%,var(--surface-bg) 72%);color:var(--surface-text-primary);position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:background var(--motion-duration-normal) var(--motion-ease-soft),border-color var(--motion-duration-fast) var(--motion-ease-soft)}.topbar-left{display:flex;gap:20px;align-items:center;min-width:0;flex:1 1 auto}.topbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;flex:0 0 auto;min-height:var(--topbar-item-height)}.topbar-context{display:grid;gap:1px;min-width:0}.topbar-context-title{font-size:16px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-context-subtitle{font-size:12px;color:var(--surface-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.95}.topbar-icon-btn{width:var(--topbar-item-height);height:var(--topbar-item-height);min-width:var(--topbar-item-height);padding:0;border-radius:var(--app-radius);border:1px solid var(--surface-control-border);background:var(--surface-control-bg);color:var(--surface-text-secondary);display:inline-flex;align-items:center;justify-content:center;line-height:1;transition:transform var(--motion-duration-fast) var(--motion-ease-soft),box-shadow var(--motion-duration-fast) var(--motion-ease-soft),border-color var(--motion-duration-fast) var(--motion-ease-soft),background-color .22s var(--motion-ease-soft),color .22s var(--motion-ease-soft)}.topbar-icon-btn .el-icon{display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;margin:0;line-height:1}.topbar-action-btn.el-button{height:var(--topbar-item-height);min-height:var(--topbar-item-height);padding:0 18px;border-radius:var(--app-radius);display:inline-flex;align-items:center;justify-content:center;line-height:1;font-weight:700}.topbar-action-btn.el-button:not(.el-button--primary){--el-button-bg-color: var(--surface-control-bg);--el-button-border-color: var(--surface-control-border);--el-button-text-color: var(--surface-text-primary);--el-button-hover-bg-color: var(--surface-hover-bg);--el-button-hover-border-color: color-mix(in srgb, var(--el-color-primary) 34%, var(--surface-border));--el-button-hover-text-color: var(--surface-active-text);--el-button-active-bg-color: var(--surface-active-bg-end);--el-button-active-border-color: var(--surface-active-border);--el-button-active-text-color: var(--surface-active-text)}.topbar-action-btn.el-button--primary.is-plain{--el-button-bg-color: color-mix(in srgb, var(--el-color-primary) 10%, var(--surface-bg));--el-button-border-color: color-mix(in srgb, var(--el-color-primary) 38%, var(--surface-border));--el-button-text-color: var(--surface-active-text);--el-button-hover-bg-color: var(--el-color-primary);--el-button-hover-border-color: var(--el-color-primary);--el-button-hover-text-color: #ffffff;--el-button-active-bg-color: color-mix(in srgb, var(--el-color-primary) 86%, #000000);--el-button-active-border-color: color-mix(in srgb, var(--el-color-primary) 86%, #000000);--el-button-active-text-color: #ffffff}.topbar-actions .el-button+.el-button{margin-left:0}.topbar-auth-btn{height:var(--topbar-item-height);min-height:var(--topbar-item-height);width:var(--topbar-item-height);min-width:var(--topbar-item-height);padding:0;border-radius:var(--app-radius);border:1px solid var(--surface-control-border);background:color-mix(in srgb,var(--surface-control-bg) 92%,var(--surface-bg));color:var(--surface-text-primary);display:inline-flex;align-items:center;justify-content:center;line-height:1;transition:transform var(--motion-duration-fast) var(--motion-ease-soft),box-shadow var(--motion-duration-fast) var(--motion-ease-soft),border-color var(--motion-duration-fast) var(--motion-ease-soft),background-color .22s var(--motion-ease-soft),color .22s var(--motion-ease-soft)}.topbar-auth-btn .auth-btn-icon{width:16px;height:16px;display:block;flex:0 0 16px}.content{padding:24px}.mobile-menu{display:none;border:1px solid var(--surface-control-border);background:var(--surface-control-bg);color:var(--surface-text-primary)}.topbar.is-mobile-like,.topbar.is-mobile-like .topbar-left{gap:12px}.topbar.is-mobile-like .topbar-context-title{font-size:16px}.topbar.is-mobile-like .topbar-context-subtitle{font-size:12px}.topbar.is-mobile-like .topbar-action-btn.el-button{padding:0 14px}@media(hover:hover)and (pointer:fine){.sidebar .el-menu-item:hover,.el-drawer .el-menu-item:hover,.sidebar .el-menu-item:hover .menu-item-icon,.el-drawer .el-menu-item:hover .menu-item-icon{transform:none}.brand:hover{transform:translate(calc(var(--sidebar-logo-offset-x) + 1px),var(--sidebar-logo-offset-y))}.brand:hover .brand-mark{transform:scale(1.04);box-shadow:0 10px 22px var(--surface-brand-shadow)}.topbar-icon-btn:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--el-color-primary) 34%,var(--surface-border));box-shadow:0 10px 20px color-mix(in srgb,var(--el-color-primary) 16%,transparent);color:var(--surface-text-primary);background:color-mix(in srgb,var(--el-color-primary-light-9) 65%,var(--surface-bg))}.topbar-auth-btn:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--el-color-primary) 38%,var(--surface-border));color:var(--surface-active-text);background:color-mix(in srgb,var(--el-color-primary-light-9) 62%,var(--surface-bg));box-shadow:0 10px 20px color-mix(in srgb,var(--el-color-primary) 16%,transparent)}}.sidebar .el-menu-item:active,.el-drawer .el-menu-item:active,.topbar-icon-btn:active,.topbar-auth-btn:active{transform:scale(.98)}.shell.theme-dark .sidebar.surface-dark,.shell.theme-dark .app-nav-drawer.surface-dark{background:radial-gradient(84% 46% at 10% -8%,rgba(255,255,255,.03),transparent 58%),radial-gradient(72% 40% at 105% -2%,rgba(255,255,255,.02),transparent 62%),linear-gradient(180deg,#171717fa,#141414f7 58%,#121212f7)}.shell.theme-dark .topbar.surface-dark{background:radial-gradient(120% 220% at 0% -110%,rgba(255,255,255,.03),transparent 56%),radial-gradient(120% 220% at 100% -130%,rgba(255,255,255,.02),transparent 58%),linear-gradient(180deg,#181818fa,#151515f7 66%,#121212f7)}.shell.theme-dark .sidebar .el-menu-item:hover,.shell.theme-dark .el-drawer .el-menu-item:hover{background:#94a3b814;border-color:#94a3b833}.shell.theme-dark .sidebar .menu-item-icon,.shell.theme-dark .el-drawer .menu-item-icon{background:linear-gradient(180deg,#1e293bbd,#111827a8);border-color:#94a3b83d;color:#cbd5e1}.shell.theme-dark .el-drawer .menu-item-icon{background:color-mix(in srgb,var(--surface-bg) 88%,#2d2d2d);border-color:color-mix(in srgb,var(--surface-border) 86%,transparent);box-shadow:none}.shell.theme-dark .sidebar .el-menu-item.is-active,.shell.theme-dark .el-drawer .el-menu-item.is-active{background:linear-gradient(90deg,color-mix(in srgb,var(--el-color-primary) 18%,#212121),color-mix(in srgb,var(--el-color-primary) 11%,#181818));border-color:color-mix(in srgb,var(--el-color-primary) 36%,rgba(148,163,184,.3));color:#eef2f7}.shell.theme-dark .sidebar .el-menu-item.is-active .menu-item-icon,.shell.theme-dark .el-drawer .el-menu-item.is-active .menu-item-icon{background:color-mix(in srgb,var(--el-color-primary) 20%,#1a1a1a);border-color:color-mix(in srgb,var(--el-color-primary-light-3) 38%,rgba(148,163,184,.3));color:color-mix(in srgb,var(--el-color-primary-light-3) 72%,#f8fafc)}@media(min-width:961px){.sidebar,.topbar{background:linear-gradient(180deg,color-mix(in srgb,var(--page-panel-bg) 98%,transparent) 0%,var(--page-panel-bg) 100%)}.sidebar{border-right-color:color-mix(in srgb,var(--page-panel-border) 82%,transparent)}.topbar{border-bottom-color:color-mix(in srgb,var(--page-panel-border) 82%,transparent)}.sidebar .el-menu-item{color:var(--surface-text-primary)}.sidebar .menu-item-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--surface-text-secondary);width:32px;height:32px;min-width:32px;min-height:32px;flex:0 0 32px;aspect-ratio:1 / 1;font-size:16px;box-shadow:none}.sidebar .menu-item-icon .el-icon,.sidebar .menu-item-icon svg{width:16px;height:16px;aspect-ratio:1 / 1;display:block}.sidebar .el-menu-item:hover .menu-item-icon{color:var(--surface-text-primary)}.sidebar .el-menu-item.is-active .menu-item-icon{color:inherit}.shell.theme-dark .sidebar.surface-dark,.shell.theme-dark .topbar.surface-dark{--surface-bg: #181818;--surface-border: rgba(255, 255, 255, .08);--surface-text-primary: #d8dee9;--surface-text-secondary: #8893a5;--surface-control-bg: color-mix(in srgb, var(--surface-bg) 87%, transparent);--surface-control-border: color-mix(in srgb, var(--surface-border) 84%, transparent);--surface-hover-bg: color-mix(in srgb, #1f2937 68%, transparent);--surface-active-bg-start: color-mix(in srgb, var(--el-color-primary) 16%, var(--surface-bg));--surface-active-bg-end: color-mix(in srgb, var(--el-color-primary) 9%, var(--surface-bg));--surface-active-border: color-mix(in srgb, var(--el-color-primary) 22%, rgba(255, 255, 255, .1));--surface-active-text: color-mix(in srgb, var(--surface-text-primary) 74%, var(--el-color-primary));--surface-active-icon-bg: color-mix(in srgb, var(--el-color-primary) 14%, var(--surface-bg))}.shell.theme-dark .sidebar.surface-dark{background:radial-gradient(100% 56% at 8% -12%,rgba(255,255,255,.04),transparent 58%),radial-gradient(84% 42% at 108% -8%,rgba(255,255,255,.03),transparent 60%),linear-gradient(180deg,color-mix(in srgb,var(--page-panel-bg) 98%,#202020),color-mix(in srgb,var(--page-panel-bg) 94%,#1d1d1d))}.shell.theme-dark .topbar.surface-dark{background:radial-gradient(120% 220% at 0% -110%,rgba(255,255,255,.03),transparent 56%),radial-gradient(120% 220% at 100% -130%,rgba(255,255,255,.02),transparent 58%),linear-gradient(180deg,color-mix(in srgb,var(--page-panel-bg) 98%,#222222),color-mix(in srgb,var(--page-panel-bg) 94%,#1f1f1f))}.shell.theme-dark .sidebar .el-menu-item:hover{background:color-mix(in srgb,#1f2937 68%,transparent);border-color:#ffffff0f}.shell.theme-dark .sidebar .menu-item-icon{background:color-mix(in srgb,var(--surface-bg) 88%,#2d2d2d);border-color:color-mix(in srgb,var(--surface-border) 86%,transparent);color:var(--surface-text-secondary);box-shadow:none}.shell.theme-dark .sidebar .el-menu-item.is-active{background:linear-gradient(90deg,color-mix(in srgb,var(--el-color-primary) 16%,var(--surface-bg)),color-mix(in srgb,var(--el-color-primary) 9%,var(--surface-bg)));border-color:color-mix(in srgb,var(--el-color-primary) 28%,rgba(255,255,255,.1));color:color-mix(in srgb,var(--el-color-primary-light-3) 72%,#f8fafc)}.shell.theme-dark .sidebar .el-menu-item.is-active .menu-item-icon{background:color-mix(in srgb,var(--el-color-primary) 13%,var(--surface-bg));border-color:color-mix(in srgb,var(--el-color-primary-light-3) 38%,rgba(255,255,255,.12));color:color-mix(in srgb,var(--el-color-primary-light-3) 72%,#f8fafc)}.topbar-icon-btn{color:var(--surface-text-primary);background:color-mix(in srgb,var(--surface-control-bg) 92%,var(--surface-bg))}.topbar-icon-btn:hover{border-color:color-mix(in srgb,var(--el-color-primary) 30%,var(--surface-border));color:var(--surface-active-text);background:color-mix(in srgb,var(--surface-hover-bg) 72%,var(--surface-bg));box-shadow:0 10px 20px color-mix(in srgb,var(--el-color-primary) 16%,transparent)}.topbar-auth-btn:hover{border-color:color-mix(in srgb,var(--el-color-primary) 36%,var(--surface-border));color:var(--surface-active-text);background:color-mix(in srgb,var(--surface-hover-bg) 78%,var(--surface-bg));box-shadow:0 10px 20px color-mix(in srgb,var(--el-color-primary) 16%,transparent)}}@media(max-width:960px){.shell{grid-template-columns:1fr}.content{padding:16px}.mobile-menu{display:inline-flex}.topbar{padding:0 16px;min-height:var(--topbar-height)}.topbar.is-mobile-like .topbar-context{gap:2px;max-width:min(64vw,420px)}.topbar.is-mobile-like .topbar-context-subtitle{display:none}.topbar.is-mobile-like .topbar-actions{margin-left:auto}.app-nav-drawer-mobile .brand{margin:0;min-height:var(--sidebar-brand-height);padding:66px 18px 14px;transform:none}.app-nav-drawer-mobile .brand:hover{transform:none}.app-nav-drawer-mobile .brand-copy{gap:2px}.app-nav-drawer-mobile .brand-title{font-size:18px}.app-nav-drawer-mobile .brand-subtitle{font-size:11px;letter-spacing:.5px}.app-nav-drawer-mobile .sidebar-menu{padding:0 14px}.app-nav-drawer-mobile .el-menu-item{height:var(--sidebar-item-height);line-height:var(--sidebar-item-height);min-height:var(--sidebar-item-height);margin-bottom:6px;padding:0 12px;border-radius:calc(var(--app-radius) - 4px);background:transparent;border-color:transparent}.app-nav-drawer-mobile .el-menu-item:hover{transform:none;background:color-mix(in srgb,var(--surface-bg) 90%,var(--el-fill-color-light));border-color:transparent}.app-nav-drawer-mobile .el-menu-item.is-active{background:linear-gradient(90deg,var(--surface-active-bg-start) 0%,var(--surface-active-bg-end) 100%);border-color:var(--surface-active-border);box-shadow:none}.app-nav-drawer-mobile .menu-item-icon{width:32px;height:32px;min-width:32px;min-height:32px;flex:0 0 32px;margin-right:10px;border-radius:9px;font-size:16px;background:var(--surface-control-bg);border-color:var(--surface-control-border);color:var(--surface-text-secondary)}.app-nav-drawer-mobile .menu-item-icon .el-icon,.app-nav-drawer-mobile .menu-item-icon svg{width:16px;height:16px;aspect-ratio:1 / 1;display:block}.app-nav-drawer-mobile .menu-item-title{font-size:15px;font-weight:600}.app-nav-drawer-mobile .sidebar-extra-item{margin-top:4px}}@media(max-width:768px){.content{padding:10px 8px 16px}.topbar.is-phone{padding:0 12px;gap:12px}.topbar.is-phone .topbar-left{gap:10px}.topbar.is-phone .topbar-context-title{font-size:15px}.topbar.is-phone .topbar-actions{gap:8px}.topbar.is-phone .topbar-icon-btn,.topbar.is-phone .mobile-menu.el-button,.topbar.is-phone .topbar-auth-btn{width:36px;min-width:36px;height:36px;min-height:36px;padding:0;border-radius:calc(var(--app-radius) - 1px)}.topbar.is-phone .mobile-menu.el-button .el-icon,.topbar.is-phone .topbar-icon-btn .el-icon{font-size:16px}.topbar.is-phone .topbar-auth-btn .auth-btn-icon{width:16px;height:16px;flex-basis:16px}.topbar.is-phone .topbar-context{overflow:hidden;max-width:calc(100vw - 210px)}.app-nav-drawer-phone.el-drawer{max-width:min(90vw,360px);border-top-right-radius:22px;border-bottom-right-radius:22px}.app-nav-drawer-phone .brand{padding:64px 18px 14px}.app-nav-drawer-phone .sidebar-menu{padding:0 14px}.app-nav-drawer-phone .el-menu-item{height:var(--sidebar-item-height);line-height:var(--sidebar-item-height);min-height:var(--sidebar-item-height);margin-bottom:6px;border-radius:calc(var(--app-radius) - 4px)}.app-nav-drawer-phone .menu-item-icon{width:32px;height:32px;min-width:32px;min-height:32px;flex:0 0 32px;margin-right:10px;border-radius:9px;font-size:16px}.app-nav-drawer-phone .menu-item-title{font-size:15px}}
