:root{color-scheme:light;font-family:Inter,Microsoft YaHei,PingFang SC,system-ui,sans-serif;background:#eef2f5;color:#1c2430}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#eef2f5}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.login-screen{min-height:100vh;display:grid;place-items:center;padding:32px;background:linear-gradient(180deg,#2a537114,#eef2f500 45%),#eef2f5}.login-panel{width:min(460px,100%);display:grid;gap:18px;padding:32px;border:1px solid #d9e1e8;border-radius:8px;background:#fff;box-shadow:0 18px 50px #1f2d3d1f}.login-brand,.brand-block{display:flex;align-items:center;gap:14px}.login-brand h1{margin:0;font-size:24px}.login-brand p,.brand-block span,.panel-head p,.list-row span,.task-card p,.crumb{margin:0;color:#647184}.brand-mark{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;background:#31546b;color:#fff;font-weight:800}.login-panel label,.form-grid label,.stacked{display:grid;gap:8px;color:#4b5565;font-size:14px;font-weight:700}input,select,textarea{width:100%;min-height:40px;border:1px solid #d5dde5;border-radius:6px;padding:9px 11px;color:#1c2430;background:#fff;outline:none}textarea{min-height:120px;resize:vertical;line-height:1.6}input:focus,select:focus,textarea:focus{border-color:#31546b;box-shadow:0 0 0 3px #31546b1f}.admin-shell{min-height:100vh;display:grid;grid-template-columns:256px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:28px;padding:22px 16px;border-right:1px solid #d9e1e8;background:#fff}.brand-block strong{display:block;font-size:16px}.brand-block span{display:block;margin-top:3px;font-size:12px}.sidebar nav{display:grid;gap:6px}.sidebar nav button{display:flex;align-items:center;gap:10px;min-height:42px;border:0;border-radius:6px;padding:0 12px;color:#536172;background:transparent;text-align:left}.sidebar nav button:hover,.sidebar nav button.active{color:#20384a;background:#edf4f7}.main{min-width:0;padding:24px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.topbar h1{margin:7px 0 0;font-size:28px}.crumb{display:inline-flex;align-items:center;gap:7px;font-size:13px}.top-actions,.header-actions,.inline-form,.tab-row,.annotation-row{display:flex;align-items:center;gap:10px}.admin-user{min-height:38px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid #d9e1e8;border-radius:6px;background:#fff}.primary-btn,.secondary-btn,.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border-radius:6px;border:1px solid transparent;padding:0 14px;font-weight:800}.primary-btn{color:#fff;background:#31546b}.secondary-btn,.icon-btn{color:#31546b;border-color:#cbd7df;background:#fff}.secondary-btn.active-toggle{color:#fff;border-color:#31546b;background:#31546b}.small{min-height:34px;padding:0 11px;font-size:13px}.tiny{min-height:28px;padding:0 8px;font-size:12px}.icon-btn{width:38px;padding:0}.ghost-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;margin-top:auto;border:1px solid #d9e1e8;border-radius:6px;color:#536172;background:#fff;font-weight:800}.loading-screen{min-height:100vh;display:grid;place-items:center;color:#647184;background:#eef2f5;font-weight:800}.toast{position:fixed;top:18px;right:22px;z-index:60;max-width:min(420px,calc(100vw - 44px));border:1px solid #d9e1e8;border-radius:8px;padding:12px 14px;color:#1c2430;background:#fff;box-shadow:0 16px 42px #1f2d3d29;font-weight:800}.page-stack{display:grid;gap:18px}.page-head{display:flex;align-items:end;justify-content:space-between;gap:18px;border:1px solid #d9e1e8;border-radius:8px;padding:18px;background:#fff}.page-head h1{margin:0 0 5px;font-size:24px}.page-head p{margin:0;color:#647184}.error-text{margin:0;border-radius:6px;padding:10px 12px;color:#9a3412;background:#fff3ed;font-weight:800}.notice{margin-bottom:14px;border-radius:6px;padding:10px 12px;font-weight:700}.notice.error{color:#9a3412;background:#fff3ed}.notice.success{color:#166534;background:#eaf8ef}.page-grid,.two-column{display:grid;gap:18px}.two-column{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.class-list-page,.homework-ops-page{display:grid;gap:18px}.class-tools-grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(420px,1.28fr);gap:16px;align-items:stretch}.class-create-form{align-content:start;align-self:stretch;padding:14px;border:1px solid #e3e9ee;border-radius:8px;background:#f9fbfc}.compact-score-config{margin:0;min-height:100%}.class-directory-panel .list{gap:12px}.homework-main-panel,.homework-ops-page .test-submit-panel{width:100%}.class-panel,.homework-panel,.test-submit-panel,.student-panel{min-height:0}.test-submit-panel,.student-panel{grid-column:1 / -1}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-card,.panel{border:1px solid #d9e1e8;border-radius:8px;background:#fff}.metric-card{display:grid;gap:9px;padding:18px}.metric-card span{color:#647184;font-size:14px}.metric-card strong{font-size:34px}.panel{min-width:0;padding:18px}.wide{grid-column:1 / -1}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.panel-head h2{margin:0 0 5px;font-size:18px}.workflow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.workflow div{display:grid;gap:8px;padding:15px;border:1px solid #e3e9ee;border-radius:8px;background:#f9fbfc}.workflow span{color:#647184}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.homework-form{grid-template-columns:minmax(190px,1fr) minmax(220px,1.1fr) minmax(220px,1.1fr);align-items:end}.test-submit-form{grid-template-columns:minmax(240px,1.2fr) minmax(220px,1fr) minmax(220px,1fr) minmax(240px,1.1fr);align-items:end}.test-submit-meta{align-self:stretch;justify-content:center;min-height:40px}.test-submit-status{display:grid;gap:6px;margin-bottom:0}.homework-form label:nth-child(4),.homework-form label:nth-child(5){grid-column:span 1}.homework-form .span-2{grid-column:span 3}.homework-list-table table{min-width:940px;table-layout:fixed}.homework-list-table th:nth-child(1),.homework-list-table td:nth-child(1){width:24%}.homework-list-table th:nth-child(2),.homework-list-table td:nth-child(2){width:17%}.homework-list-table th:nth-child(3),.homework-list-table td:nth-child(3){width:10%}.homework-list-table th:nth-child(4),.homework-list-table td:nth-child(4){width:22%}.homework-list-table th:nth-child(5),.homework-list-table td:nth-child(5){width:27%}.homework-list-table td{vertical-align:top}.homework-title-cell,.homework-meta-cell,.homework-preprocess-cell,.homework-material-cell{min-width:0;display:grid;gap:7px}.homework-title-cell strong,.homework-meta-cell strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.homework-title-cell span,.homework-meta-cell span,.homework-status-line span,.homework-cell-error{color:#647184;font-size:13px;line-height:1.45}.homework-status-line,.homework-cache-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.homework-status-line .badge,.homework-cache-line .badge{flex:0 0 auto}.homework-status-line button{flex:0 0 auto;margin-left:auto}.homework-status-line span{min-width:0;flex:1 1 130px}.homework-cache-line{padding-top:2px}.homework-cache-line button{margin-left:auto}.homework-cell-error{padding:7px 9px;border-radius:6px;color:#92400e;background:#fff7ed}.section-divider{height:1px;margin:18px 0;background:#e3e9ee}.span-2{grid-column:1 / -1}.inline-form{margin-bottom:14px}.student-toolbar{display:grid;grid-template-columns:minmax(180px,.9fr) minmax(160px,.8fr) minmax(180px,.9fr) minmax(200px,1fr) auto;align-items:end}.students-manager-layout{--workspace-panel-height: calc(100vh - 132px) ;display:grid;grid-template-columns:minmax(260px,.34fr) minmax(0,1fr);gap:18px;align-items:stretch;min-height:min(760px,var(--workspace-panel-height))}.students-manager-main,.student-class-list,.student-candidate-list{display:grid;gap:12px}.student-enroll-panel{order:-1}.student-class-panel{position:sticky;top:18px;height:max(560px,var(--workspace-panel-height));min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.student-directory-panel{height:max(560px,var(--workspace-panel-height));min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden}.student-class-list{min-height:0;overflow:auto;gap:8px;padding-right:2px}.student-directory-panel .table-wrap{min-height:0;overflow:auto}.student-directory-panel>.empty{min-height:0;display:grid;place-items:center}.student-directory-panel th{position:sticky;top:0;z-index:1}.student-class-option{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;border:1px solid #e3e9ee;border-radius:8px;padding:9px 10px 9px 12px;color:#1c2430;background:#f9fbfc;text-align:left;overflow:hidden}.student-class-option.selected{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 10px 24px #ff4f611a}.student-class-option span,.student-class-option small,.student-candidate-row span,.student-candidate-row small{min-width:0;display:grid;gap:3px}.student-class-option strong,.student-class-option small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-class-option strong{font-size:14px;line-height:1.25}.student-class-option .badge{justify-self:end;min-height:22px;padding-inline:8px}.student-class-option small,.student-candidate-row small,.muted-text{color:#647184;font-size:12px}.student-manager-toolbar,.student-add-toolbar{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.3fr);gap:12px;align-items:center;margin-bottom:14px}.student-create-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) auto;gap:10px}.student-candidate-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;border:1px solid #e3e9ee;border-radius:8px;padding:10px 12px;background:#fff;cursor:pointer}.student-candidate-row:hover{border-color:#f0cbd0;background:#fff8f5}.student-candidate-row input{width:18px;min-height:18px}.inline-form.compact{margin-bottom:0}.inline-form input{min-width:180px}.list{display:grid;gap:10px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #e3e9ee;border-radius:8px;background:#f9fbfc}.class-row{align-items:flex-start}.score-config-panel{display:grid;gap:10px;margin:12px 0;padding:12px;border:1px solid #e3e9ee;border-radius:8px;background:#f7fafc}.score-config-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.score-config-head span{color:#647184;font-size:12px}.score-config-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.score-config-item{display:grid;grid-template-columns:auto minmax(64px,1fr) auto;align-items:center;gap:8px}.score-config-item>span{color:#4b5565;font-size:13px;font-weight:800}.score-config-item input{min-height:32px;padding:6px 8px}.class-score-actions{align-items:flex-start;min-width:260px}.compact-select{display:grid;gap:4px;min-width:150px;color:#647184;font-size:12px;font-weight:800}.compact-select select{min-height:30px;padding:4px 8px}.homework-row{align-items:flex-start;padding:14px;background:#fff}.row-main{min-width:0;display:grid;gap:8px}.row-title-line,.meta-line,.status-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.row-title-line strong{font-size:16px}.meta-line{color:#647184;font-size:13px}.meta-line span+span:before{content:"·";margin-right:8px;color:#94a3b8}.list-row strong,.list-row span{display:block}.list-row span{margin-top:4px;font-size:13px}.row-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:148px}.table-actions{display:flex;align-items:center;gap:8px}.table-actions button{min-height:28px;border:1px solid #cbd7df;border-radius:6px;background:#fff;color:#31546b;font-weight:800}.badge{display:inline-flex;align-items:center;white-space:nowrap;min-height:24px;border-radius:999px;padding:0 9px;font-size:12px;font-weight:800}.badge-neutral{color:#475569;background:#eef2f5}.badge-good{color:#166534;background:#dcfce7}.badge-warn{color:#92400e;background:#fef3c7}.badge-info{color:#1d4ed8;background:#dbeafe}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:720px}th,td{padding:12px 10px;border-bottom:1px solid #e3e9ee;text-align:left;vertical-align:middle}th{color:#647184;font-size:13px;background:#f7fafc}.grading-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px}.queue{border:1px solid #d9e1e8;border-radius:8px;padding:14px;background:#fff}.queue h2{margin:0 0 12px;font-size:17px}.queue button{width:100%;display:grid;gap:5px;margin-bottom:8px;border:1px solid #e3e9ee;border-radius:8px;padding:11px;color:#1c2430;background:#fff;text-align:left}.queue button.selected{border-color:#31546b;background:#edf4f7}.queue span{color:#647184;font-size:13px}.audio-strip{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #d9e1e8;border-radius:8px;background:#f9fbfc}.compact-strip{margin:12px 0;padding:10px 12px}.audio-strip span{display:block;margin-top:4px;color:#647184}.score-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}.score-box{padding:14px;border:1px solid #e3e9ee;border-radius:8px;background:#fff}.score-box span{color:#647184}.score-box strong{display:block;margin-top:5px;font-size:26px}.pitch-box{display:grid;gap:10px;margin-bottom:14px}.pitch-line{height:128px;display:flex;align-items:end;gap:8px;padding:14px;border:1px solid #d9e1e8;border-radius:8px;background:repeating-linear-gradient(0deg,#f7fafc 0,#f7fafc 31px,#e3e9ee 32px)}.pitch-line span{width:18px;min-height:18px;border-radius:5px 5px 0 0;background:#31546b}.slider-list{display:grid;gap:16px}.slider{display:grid;gap:9px}.slider span{display:flex;justify-content:space-between;color:#4b5565;font-weight:800}.slider input{padding:0}.tuning-workbench{display:grid;gap:18px}.tuning-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.tuning-summary span{display:grid;gap:4px;padding:14px;border:1px solid #e3e9ee;border-radius:8px;background:#fff}.tuning-summary strong{color:#243142;font-size:18px}.tuning-summary small{color:#647184}.tuning-effects{display:grid;gap:16px}.effect-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.effect-card{position:relative;min-height:188px;display:grid;gap:10px;align-content:start;padding:18px;border:1px solid #d9e1e8;border-radius:8px;color:#243142;background:#fff;text-align:left;cursor:pointer}.effect-card:hover,.effect-card.selected{border-color:#31546b;box-shadow:0 14px 32px #1c394e1f}.effect-card.selected{background:linear-gradient(180deg,#fff,#f3f8fb)}.effect-card span{width:fit-content;padding:5px 9px;border-radius:999px;color:#31546b;background:#edf4f7;font-size:12px;font-weight:800}.effect-card strong{font-size:22px}.effect-card p{margin:0;color:#647184;line-height:1.55}.effect-card em{color:#8a96a6;font-style:normal;font-size:13px}.effect-card b{position:absolute;right:14px;bottom:14px;color:#31546b}.professional-controls{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(280px,1.5fr);gap:16px;padding:18px;border:1px solid #d9e4ea;border-radius:10px;background:#f7fafc}.sound-presets{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sound-presets button{padding:8px 14px;border:1px solid #ccd9e1;border-radius:999px;background:#fff;color:#405568;cursor:pointer}.sound-presets button.selected{border-color:#31546b;background:#31546b;color:#fff}.sound-presets span{color:#647184;font-size:13px}.strength-control{display:grid;gap:8px}.strength-control>span{display:flex;justify-content:space-between;color:#243142}.strength-control b{color:#31546b}.strength-control input{width:100%;accent-color:#31546b}.strength-scale{display:flex;justify-content:space-between;margin-top:-6px;color:#718092;font-size:12px;font-variant-numeric:tabular-nums}.strength-control small{color:#718092;line-height:1.45}.sound-rerender{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:12px;align-items:center;margin-top:14px;padding:14px;border:1px solid #d9e4ea;border-radius:8px;background:#f7fafc}.sound-rerender label{display:grid;gap:6px}.sound-rerender input{width:100%;accent-color:#31546b}.sound-rerender small,.sound-rerender audio{grid-column:1 / -1}@media(max-width:1100px){.professional-controls{grid-template-columns:1fr}}.advanced-preview{padding:14px;border:1px dashed #cbd7df;border-radius:8px;background:#f9fbfc}.advanced-preview summary{cursor:pointer;font-weight:800}.advanced-preview p{color:#647184}.advanced-preview div{display:grid;gap:7px;color:#536172;font-size:13px}.task-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.task-badges{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.profile-chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.profile-chips span{padding:6px 10px;border-radius:999px;color:#31546b;background:#edf4f7;font-size:12px;font-weight:800}.tab-row{flex-wrap:wrap;margin-bottom:18px}.tab-row button{min-height:34px;border:1px solid #cbd7df;border-radius:999px;padding:0 13px;color:#536172;background:#fff}.tab-row button.selected{color:#fff;border-color:#31546b;background:#31546b}.task-card{display:grid;gap:12px;padding:14px;border:1px solid #e3e9ee;border-radius:8px;background:#f9fbfc}.progress{height:9px;overflow:hidden;border-radius:999px;background:#d9e1e8}.progress span{display:block;height:100%;border-radius:inherit;background:#31546b;transition:width .65s ease}.empty{padding:28px;border:1px dashed #cbd7df;border-radius:8px;color:#647184;text-align:center;background:#f9fbfc}.spin{animation:spin 1s linear infinite}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:24px;background:#1c24306b}.modal-panel{width:min(780px,100%);max-height:min(760px,calc(100vh - 48px));overflow:auto;display:grid;gap:18px;border:1px solid var(--line, #d9e1e8);border-radius:8px;padding:18px;background:#fff;box-shadow:0 24px 70px #1f2d3d33}.modal-section{display:grid;gap:12px}.modal-section h3{margin:0;color:var(--ink, #1c2430);font-size:15px}.class-students-modal{width:min(880px,100%)}.class-student-list{display:grid;gap:10px;max-height:280px;overflow:auto}.class-student-list.compact{max-height:220px}.student-modal-row{align-items:flex-start}.search-field{display:flex;align-items:center;gap:10px;min-height:40px;border:1px solid #d5dde5;border-radius:6px;padding:0 11px;color:#647184;background:#fff}.search-field input{min-height:38px;border:0;padding:0;box-shadow:none}.search-field input:focus{box-shadow:none}.class-student-create-form{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;align-items:end}.album-pager,.table-pager,.album-add-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.album-pager,.table-pager{margin-top:12px;color:#647184;font-size:13px}.album-editor-modal{width:min(980px,100%)}.album-work-row{align-items:flex-start}.album-work-row audio{width:min(360px,100%)}.album-work-pool{max-height:320px;overflow:auto}.check-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;cursor:pointer}.check-row input{width:18px;min-height:18px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1100px){.admin-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-grid,.workflow,.two-column,.class-tools-grid,.students-manager-layout,.grading-layout{grid-template-columns:1fr}.class-tools-grid,.students-manager-layout{align-items:start}.students-manager-layout{min-height:0}.student-class-panel{height:auto;min-height:0;overflow:visible;position:static}.student-directory-panel{height:auto;min-height:0;overflow:visible}.student-class-list,.student-directory-panel .table-wrap{overflow:auto}.student-class-option{min-height:52px}.student-panel{grid-column:auto}.homework-form,.test-submit-form,.student-toolbar,.student-manager-toolbar,.student-add-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.score-config-grid{grid-template-columns:1fr}.homework-form .span-2{grid-column:1 / -1}}@media(max-width:680px){.main{padding:16px}.topbar,.panel-head{align-items:stretch;flex-direction:column}.top-actions,.header-actions{justify-content:space-between}.sidebar nav{grid-template-columns:1fr}.metric-grid,.score-grid,.form-grid,.homework-form,.test-submit-form,.student-toolbar,.student-manager-toolbar,.student-add-toolbar,.student-create-row{grid-template-columns:1fr}.span-2{grid-column:auto}.list-row,.homework-row{align-items:stretch;flex-direction:column}.row-actions{justify-content:flex-start}.score-config-head{align-items:flex-start;flex-direction:column}}:root{--brand: #ff4f61;--brand-dark: #dd3448;--brand-soft: #fff0f2;--ink: #202027;--muted: #7b7d86;--line: #ebe3d8;--paper: #fffdf8;--warm: #faf6f0;--shadow: 0 18px 48px rgba(52, 42, 31, .1);background:#f5f2eb;color:var(--ink)}body{background:#f5f2eb;color:var(--ink)}.login-screen{background:linear-gradient(135deg,#fff0f2eb,#fffdf8c7 45%,#f5f2ebf5),#f5f2eb}.login-panel,.metric-card,.panel,.queue,.admin-user,.sidebar{border-color:var(--line);background:#fff;box-shadow:var(--shadow)}.login-panel{position:relative;overflow:hidden;padding:34px}.login-panel:before{content:"";height:7px;position:absolute;inset:0 0 auto;background:linear-gradient(90deg,var(--brand),#ff9aa5,#f6c86f)}.login-brand{align-items:flex-start}.login-brand .brand-mark{width:48px;height:48px}.login-brand h1{color:var(--ink);font-size:25px;letter-spacing:0}.sidebar{background:linear-gradient(180deg,#fffdf8,#fff7f4)}.brand-mark{background:linear-gradient(135deg,#ff7180,#dd3448)}.brand-block{padding:4px 4px 12px;border-bottom:1px solid var(--line)}.brand-block .brand-mark{width:42px;height:42px}.admin-user .brand-mark{width:24px;height:24px}.topbar h1,.page-head h1,.panel-head h2,.queue h2,.metric-card strong,.list-row strong,.score-box strong,.task-card strong{color:var(--ink)}.main{background:linear-gradient(180deg,#fffdf8e6,#f5f2ebfa 280px),#f5f2eb}.metric-card strong{color:var(--brand-dark)}.login-brand p,.brand-block span,.page-head p,.panel-head p,.list-row span,.task-card p,.crumb,.metric-card span,.workflow span,.queue span,.audio-strip span,.score-box span,th,.empty{color:var(--muted)}.topbar{border:1px solid var(--line);border-radius:8px;padding:16px 18px;background:#fffdf8db;box-shadow:var(--shadow)}.topbar h1{font-size:26px}.admin-user{color:var(--ink);font-weight:800}input,select,textarea{border-color:var(--line);color:var(--ink)}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #ff4f611f}.primary-btn{background:var(--brand);box-shadow:0 10px 24px #ff4f6133}.primary-btn:hover{background:var(--brand-dark)}.secondary-btn,.ghost-btn,.icon-btn,.table-actions button{color:var(--brand-dark);border-color:#f0cdd2}.ghost-btn{background:#ffffff9e}.ghost-btn:hover,.secondary-btn:hover,.table-actions button:hover{background:var(--brand-soft)}.sidebar nav button{border-radius:8px;color:#6f6560}.sidebar nav button:hover,.sidebar nav button.active{color:var(--brand-dark);background:var(--brand-soft)}.metric-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.page-stack{gap:18px}.page-head{border-color:var(--line);background:linear-gradient(180deg,#fffdf8,#fff8f5);box-shadow:var(--shadow)}.metric-card,.panel,.list-row,.workflow div,.audio-strip,.score-box,.task-card,.effect-card,.advanced-preview,.page-head,.empty{border-radius:8px}.list-row,.workflow div,.audio-strip,.effect-card,.advanced-preview,.task-card,.empty,th{border-color:var(--line);background:var(--warm)}.metric-card{min-height:112px;position:relative;overflow:hidden}.metric-card:after{content:"";width:54px;height:4px;position:absolute;left:18px;bottom:16px;border-radius:999px;background:var(--brand);opacity:.52}.panel{background:#ffffffeb}.table-wrap{border:1px solid var(--line);border-radius:8px;background:#fff}table{min-width:760px}th{color:#7d706b;background:#fff8f5}td{background:#ffffffb8}td{border-bottom-color:var(--line)}.queue button{border-color:var(--line);color:var(--ink);background:#fff}.queue button.selected{border-color:var(--brand);background:var(--brand-soft)}.badge-neutral{color:#6c625e;background:#f2eee7}.badge-info{color:#a33b48;background:var(--brand-soft)}.toast{border-color:#f0cdd2;color:var(--brand-dark);background:#fffdf8}.loading-screen{color:var(--brand-dark);background:#f5f2eb}.error-text{color:#9a3412;background:#fff3ed}.modal-panel{border-color:var(--line);background:#fffdf8}.modal-panel audio{width:min(420px,100%)}.pitch-line{border-color:var(--line);background:repeating-linear-gradient(0deg,#fffdf8 0,#fffdf8 31px,#efe4da 32px)}.pitch-line span,.progress span,.tab-row button.selected{background:var(--brand)}.tab-row button{border-color:#f0cdd2;color:#7b6f6b}.tab-row button.selected{color:#fff;border-color:var(--brand)}.progress{background:#eadfd4}.effect-card span,.profile-chips span{color:var(--brand);background:var(--brand-soft)}.effect-card:hover,.effect-card.selected{border-color:var(--brand);box-shadow:0 14px 32px #ae414f1f}.effect-card.selected{background:linear-gradient(180deg,#ffffff,var(--brand-soft))}.ops-workspace,.tuning-grid,.tuning-bottom{align-items:start}.grading-layout,.tuning-workbench{display:grid;grid-template-columns:1fr;gap:18px}.submission-strip-panel{display:grid;gap:12px;overflow:hidden}.compact-head{align-items:center;margin-bottom:0}.submission-strip{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:thin}.grading-group-panel{overflow:visible}.grading-filter-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:#fff8f5}.grading-filter-row span{color:var(--muted);font-size:12px;font-weight:800;white-space:nowrap}.grading-tabs{margin-bottom:0}.grading-class-groups,.grading-homework-list,.grading-submission-list{display:grid;gap:10px}.grading-class-group,.grading-homework-group{border:1px solid var(--line);border-radius:8px;background:#fffdf8;overflow:hidden}.grading-class-group.open{border-color:#f0cbd0;box-shadow:0 10px 26px #342a1f0f}.grading-class-head,.grading-homework-head,.grading-submission-row{width:100%;display:grid;align-items:center;gap:12px;border:0;color:var(--ink);background:transparent;text-align:left}.grading-class-head,.grading-homework-head{grid-template-columns:minmax(0,1fr) auto;min-height:58px;padding:12px}.grading-class-head span,.grading-homework-head span,.grading-submission-main{min-width:0;display:grid;gap:4px}.grading-class-head small,.grading-homework-head small,.grading-submission-main small{color:var(--muted);font-size:12px}.grading-homework-list{padding:0 12px 12px}.grading-homework-group{background:#fff}.grading-homework-group.open{border-color:#ecd6cc}.grading-submission-list{padding:0 10px 10px}.grading-submission-row{grid-template-columns:minmax(0,1fr) auto;border:1px solid #f0e2d8;border-radius:8px;padding:10px;background:#fff;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.grading-submission-row:hover{border-color:#ecc7bc;box-shadow:0 8px 20px #342a1f0f}.grading-submission-row.selected{border-color:var(--brand);background:var(--brand-soft)}.grading-submission-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tuning-homework-panel{overflow:visible}.precheck-queue-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px 14px;border:1px solid #cbdde5;border-radius:8px;background:#f3f8fa}.precheck-queue-summary span{min-width:0;display:grid;gap:3px}.precheck-queue-summary strong{color:#294858;font-size:14px}.precheck-queue-summary small{color:var(--muted);font-size:12px}.tuning-status-filters{display:flex;align-items:center;gap:8px;overflow-x:auto;padding-bottom:2px}.tuning-status-filters button{min-width:88px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:0 12px;color:#536172;background:#fff;white-space:nowrap}.tuning-status-filters button b{min-width:20px;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.tuning-status-filters button.selected{border-color:#31546b;color:#fff;background:#31546b}.tuning-status-filters button.selected b{color:#ffffffc7}.tuning-batch-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:8px;padding:12px;background:#fff8f5}.tuning-homework-groups,.tuning-submission-list{display:grid;gap:10px}.tuning-homework-group{border:1px solid var(--line);border-radius:8px;background:#fffdf8;overflow:hidden}.tuning-homework-group.open{border-color:#f0cbd0;box-shadow:0 10px 26px #342a1f0f}.tuning-homework-head{width:100%;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;padding:12px;color:var(--ink);background:transparent;text-align:left}.tuning-homework-head span{display:grid;gap:4px}.tuning-homework-head small,.tuning-submission-main span{color:var(--muted);font-size:12px}.tuning-submission-list{padding:0 12px 12px}.tuning-submission-tools{display:flex;justify-content:flex-end;gap:8px}.tuning-submission-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #f0e2d8;border-radius:8px;padding:10px;background:#fff}.tuning-submission-row.selected{border-color:var(--brand);background:var(--brand-soft)}.tuning-submission-row input{width:18px;min-height:18px}.tuning-submission-main{min-width:0;display:grid;gap:4px;border:0;padding:0;color:inherit;background:transparent;text-align:left}.tuning-submission-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:720px){.precheck-queue-summary{grid-template-columns:1fr}.tuning-homework-head small{line-height:1.55}}.submission-chip-card{width:210px;min-width:210px;min-height:96px;display:grid;gap:5px;border:1px solid var(--line);border-radius:8px;padding:12px;color:var(--ink);background:#fffdf8;text-align:left;transition:border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease}.submission-chip-card:hover{transform:translateY(-1px);box-shadow:0 10px 26px #342a1f14}.submission-chip-card.selected{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 12px 28px #ff4f6121}.submission-chip-card span{color:var(--brand-dark);font-size:12px;font-weight:900}.submission-chip-card strong{color:var(--ink);font-size:15px}.submission-chip-card small,.submission-chip-card em{color:var(--muted);font-size:12px;font-style:normal}.grading-editor,.tuning-console-card{display:grid;gap:16px}.review-hero,.tuning-player,.lyric-admin{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:8px;padding:14px;background:linear-gradient(180deg,#fffdf8,#fff8f5)}.student-avatar{width:44px;height:44px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;color:#fff;background:var(--brand);font-weight:900}.review-hero div,.tuning-player div{display:grid;gap:3px}.review-hero strong,.tuning-player strong{font-size:18px}.review-hero span,.tuning-player span,.lyric-admin span{color:var(--muted);font-size:13px}.review-meta{margin-left:auto;text-align:right}.review-audio,.tuning-console .audio-strip{background:#fff}.review-audio audio,.tuning-console .audio-strip audio,.task-card audio{min-width:260px;width:min(460px,100%)}.grade-rule{display:flex;justify-content:space-between;gap:16px;align-items:center;border:1px solid #eed0d5;border-radius:8px;padding:16px;background:var(--brand-soft)}.grade-rule div{display:grid;gap:4px}.grade-rule span{color:var(--brand-dark);font-size:13px;font-weight:800}.grade-rule strong{color:var(--brand-dark);font-size:24px}.grade-rule p{max-width:520px;margin:0;color:#7b6468;font-size:13px;line-height:1.6}.grading-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.grading-form-grid label{display:grid;gap:8px;color:#4b5565;font-size:14px;font-weight:800}.grading-form-grid .span-2{grid-column:1 / -1}.grading-comment-field{display:grid;gap:8px}.grading-comment-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.grading-comment-head label{color:#4b5565;font-size:14px;font-weight:800}.muted-field textarea,.muted-field input{color:#6f6560;background:#faf6f0}.ai-evaluation-textarea{min-height:360px;white-space:pre-wrap}.editor-actions{display:flex;justify-content:flex-end}.tuning-grid,.tuning-bottom{display:grid;grid-template-columns:1fr;gap:18px}.tuning-bottom{grid-template-columns:minmax(260px,360px) minmax(0,1fr)}.tuning-pitch-panel{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff}.tuning-hidden-audio{display:none}.tuning-pitch-header{display:flex;align-items:center;gap:16px;padding:18px}.tuning-pitch-header h3,.tuning-pitch-header p{margin:0}.tuning-pitch-header h3{font-size:18px}.tuning-pitch-header p{margin-top:6px;color:var(--muted);font-weight:700}.tuning-pitch-score{margin-left:auto;display:grid;justify-items:end;gap:4px;color:var(--muted);font-weight:800}.tuning-pitch-score strong{color:var(--brand);font-size:24px;line-height:1}.tuning-pitch-score em{border-radius:999px;padding:5px 14px;color:#fff;background:var(--brand);font-style:normal}.tuning-pitch-controls{display:flex;align-items:center;gap:14px;padding:14px 18px;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);color:#f4f2ffb8;background:#090916;font-weight:800}.pitch-play-btn{width:38px;height:38px;display:inline-grid;place-items:center;flex:0 0 auto;border:0;border-radius:999px;color:#fff;background:linear-gradient(135deg,#ff77d2,#8c5cff);box-shadow:0 0 18px #ff65cd52}.pitch-progress{height:5px;min-width:180px;flex:1 1 auto;overflow:hidden;border-radius:999px;background:#ffffff1f}.pitch-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff7ed5,#8b6cff);box-shadow:0 0 12px #ff73d373}.pitch-rate-btn{min-height:40px;border:0;border-radius:8px;padding:0 14px;color:#ffffffc7;background:#ffffff1a;font-weight:900}.tuning-pitch-chart{display:grid;grid-template-columns:34px minmax(0,1fr);min-height:260px;padding:18px 18px 16px 0;background:radial-gradient(circle at 48% 0%,rgba(211,83,255,.18),transparent 28%),linear-gradient(180deg,#080815,#070611)}.pitch-axis{position:relative;min-height:260px}.pitch-axis span{position:absolute;right:8px;transform:translateY(-50%);color:#ffffffd1;font-size:14px;font-weight:800}.pitch-plot{position:relative;min-height:260px;overflow:hidden;border:1px solid rgba(255,255,255,.13);border-radius:2px;background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0,rgba(255,255,255,.035) 1px,transparent 1px,transparent 24px),repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0,rgba(255,255,255,.03) 1px,transparent 1px,transparent 76px),linear-gradient(180deg,#121226f5,#0a091af5);box-shadow:inset 0 0 40px #7f4bff1f}.pitch-plot svg{width:100%;height:260px;display:block;position:relative;z-index:1}.pitch-track-labels{position:absolute;z-index:3;left:14px;top:52px;display:grid;gap:60px;pointer-events:none}.pitch-track-labels span{width:fit-content;border-radius:999px;padding:5px 12px;color:#ffffffeb;font-size:13px;font-weight:900;box-shadow:0 0 16px #0003}.pitch-track-labels .track-standard{background:#3278ff6b}.pitch-track-labels .track-live{background:#8d5cff6b}.pitch-chart-legend{position:absolute;z-index:3;top:8px;right:12px;display:flex;align-items:center;gap:14px;color:#ffffffc7;font-size:12px;font-weight:800;pointer-events:none}.pitch-chart-legend span:before{content:"";display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:999px;vertical-align:1px}.legend-standard-dot:before{background:#2f78ff;box-shadow:0 0 8px #2f78ffbf}.legend-live-dot:before{background:#8d5cff;box-shadow:0 0 8px #8d5cffbf}.tuning-pitch-grid-line{stroke:#ffffff14;stroke-width:1}.tuning-pitch-grid-line.vertical{stroke:#ffffff0f}.tuning-pitch-standard-glow{fill:#3278ff47;filter:blur(1.2px)}.tuning-pitch-standard{fill:#2f78ff;stroke:#a5caffb8;stroke-width:.8;filter:drop-shadow(0 0 7px rgba(49,124,255,.62))}.tuning-pitch-live-glow{fill:#a358ff52;filter:blur(1.4px)}.tuning-pitch-live{fill:#8d5cff;stroke:#d9c2ffb3;stroke-width:.8;filter:drop-shadow(0 0 8px rgba(147,86,255,.72))}.tuning-pitch-cursor{position:absolute;top:0;bottom:0;width:2px;transform:translate(-1px);z-index:4;background:#ff99e6;box-shadow:0 0 10px #ff86e2f2,0 0 24px #b156ff99;pointer-events:none}.tuning-pitch-cursor:before{content:"";position:absolute;top:-7px;left:50%;width:12px;height:12px;border-radius:999px;background:#fff;box-shadow:0 0 12px #ff79e1f2,0 0 26px #ff79e1bf;transform:translate(-50%)}.tuning-pitch-cursor:after{content:"";position:absolute;bottom:-9px;left:50%;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:8px solid rgba(255,255,255,.82)}.tuning-pitch-footer{display:grid;gap:10px;padding:14px 18px 18px;border-top:1px solid rgba(255,255,255,.08);background:#080815}.pitch-legend{display:flex;align-items:center;flex-wrap:wrap;gap:12px;color:#ffffffb8;font-weight:800}.pitch-legend .legend-live,.pitch-legend .legend-standard{display:none}.pitch-legend .legend-live:before,.pitch-legend .legend-standard:before{content:"";display:inline-block;width:24px;height:4px;margin-right:7px;border-radius:999px;vertical-align:middle}.legend-live:before{background:var(--brand)}.legend-standard:before{background:#aeb6c2}.pitch-status{color:#ffd37a;font-weight:800}.pitch-estimate-btn{min-height:28px;border-radius:8px;font-weight:900}.pitch-lyrics{display:flex;justify-content:center;gap:48px;color:#e6e1ff94;font-size:15px;font-weight:900}.pitch-lyrics span.active{color:#ff87d8;text-shadow:0 0 12px rgba(255,120,216,.45)}.tuning-console{display:grid;gap:12px;border:1px solid var(--line);border-radius:8px;padding:14px;background:#202027;color:#fff;box-shadow:inset 0 1px #ffffff0f}.tuning-console .tuning-player{border-color:#ffffff1f;background:#ffffff0f}.tuning-console .tuning-player span,.tuning-console .lyric-admin span{color:#ffffff9e}.pitch-admin{position:relative;min-height:224px;display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:16px;background:repeating-linear-gradient(0deg,rgba(255,255,255,.06) 0,rgba(255,255,255,.06) 1px,transparent 1px,transparent 38px),repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0,rgba(255,255,255,.04) 1px,transparent 1px,transparent 52px),#25252f}.pitch-labels{display:grid;align-content:space-between;color:#ffffff8a;font-size:12px;font-weight:800}.pitch-admin svg{width:100%;height:190px}.pitch-admin path{fill:none;stroke-linecap:round}.pitch-guide{stroke:#ffffff6b;stroke-width:2.2;stroke-dasharray:7 8}.pitch-live{stroke:#ff7180;stroke-width:4.5;filter:drop-shadow(0 0 8px rgba(255,113,128,.45))}.pitch-cursor{position:absolute;top:16px;bottom:16px;left:59%;width:2px;background:#ffffff6b}.tuning-console .lyric-admin{justify-content:space-between;border-color:#ffffff1a;background:#ffffff0f}.score-admin,.tune-admin{display:grid;gap:14px}.score-admin-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.score-admin-note{margin:0;color:#7b7d86;font-size:13px;line-height:1.55;white-space:pre-wrap}.score-field-head{display:flex;justify-content:flex-start}.score-total{display:grid;gap:6px;border-radius:8px;padding:18px;color:#fff;background:#202027}.score-total span{color:#ffffffa3;font-size:13px;font-weight:800}.score-total strong{font-size:46px;line-height:1}.score-total em{width:fit-content;border-radius:999px;padding:5px 10px;color:#fff;background:var(--brand);font-style:normal;font-weight:900}.compact-score-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.tune-admin .panel-head{margin-bottom:0}.tune-admin .effect-grid{gap:12px}.tune-admin .effect-card{min-height:168px}.task-card{background:#fffdf8}@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.effect-grid,.tuning-summary,.grading-layout,.tuning-grid,.tuning-bottom{grid-template-columns:1fr}}@media(max-width:680px){.metric-grid,.grading-form-grid,.compact-score-grid{grid-template-columns:1fr}.grade-rule,.review-hero,.tuning-pitch-header,.tuning-player,.lyric-admin,.audio-strip{align-items:stretch;flex-direction:column}.tuning-pitch-score{margin-left:0;justify-items:start}.tuning-pitch-controls,.pitch-lyrics{flex-wrap:wrap;gap:12px}.pitch-lyrics{justify-content:flex-start}.tuning-pitch-chart{padding-right:10px}.review-meta{margin-left:0;text-align:left}}.homework-preprocess-progress{width:min(180px,100%);height:6px;margin-top:6px}
