:root{--bg:#edf3f1;--bg-2:#f4f8f7;--card:#fff;--card-2:#f8fbfa;--ink:#232b2a;--ink-2:#525d5b;--ink-3:#8a9693;--line:#dfe9e6;--line-2:#cddbd6;--cinnabar:#b03d2e;--cinnabar-deep:#963023;--cinnabar-soft:#f6eae7;--green:#3f7d6e;--green-deep:#306357;--green-light:#6fae9d;--green-soft:#e5f0ec;--dai:#3d5a6c;--dai-soft:#e8eef1;--gold:#c98a3a;--gold-soft:#f4eedd;--shadow:0 1px 2px #1e3c340a, 0 10px 28px #1e3c3412;color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Noto Sans SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg);min-width:1080px;font-size:14px;line-height:1.6}.serif{font-family:Noto Serif SC,Songti SC,SimSun,serif}button{cursor:pointer;color:inherit;background:0 0;border:0;font-family:inherit}button:focus-visible{outline:2px solid var(--green-light);outline-offset:2px}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#c4d2cd;border-radius:4px}::-webkit-scrollbar-track{background:0 0}.back-bar{align-items:center;gap:14px;margin-bottom:16px;display:flex}.back-arrow{background:var(--card);border:1px solid var(--line);width:38px;height:38px;color:var(--ink-2);cursor:pointer;border-radius:10px;flex:none;place-items:center;transition:background .18s,color .18s,border-color .18s,transform .18s;display:grid}.back-arrow svg{width:20px;height:20px}.back-arrow:hover{background:var(--green);border-color:var(--green);color:#fff;transform:translate(-2px)}.back-bar-text{flex-direction:column;gap:1px;min-width:0;display:flex}.back-bar-text b{color:var(--ink);font-family:Noto Serif SC,Songti SC,serif;font-size:17px}.back-bar-text small{color:var(--ink-3);font-size:12.5px}.ai-page{flex-direction:column;gap:16px;display:flex}.ai-hero{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;align-items:center;gap:18px;padding:22px 24px;display:flex}.ai-hero-seal{background:var(--green);color:#fff;letter-spacing:1px;border-radius:12px;flex:none;place-items:center;width:56px;height:56px;font-size:22px;display:grid}.ai-hero-text .rt-kicker{color:var(--green-deep);letter-spacing:2px;margin-bottom:4px;font-size:12px;display:inline-block}.ai-hero-text h3{color:var(--ink);margin:0 0 6px;font-size:23px}.ai-hero-text p{color:var(--ink-2);max-width:760px;margin:0;font-size:13.5px}.ai-accordion{flex-direction:column;gap:12px;display:flex}.ai-item{background:var(--card);border:1px solid var(--line);border-radius:12px;transition:border-color .2s,box-shadow .2s;overflow:hidden}.ai-item.open{border-color:var(--green-light);box-shadow:var(--shadow)}.ai-item-head{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:16px;width:100%;padding:16px 20px;display:flex}.ai-item-head:hover{background:var(--card-2)}.ai-num{background:var(--green-soft);width:40px;height:40px;color:var(--green-deep);border-radius:10px;flex:none;place-items:center;font-size:18px;transition:background .2s,color .2s;display:grid}.ai-item.open .ai-num{background:var(--green);color:#fff}.ai-head-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ai-head-text b{color:var(--ink);font-family:Noto Serif SC,Songti SC,serif;font-size:16px}.ai-head-text small{color:var(--ink-3);font-size:12.5px}.ai-chevron{color:var(--ink-3);border:1px solid var(--line);border-radius:999px;flex:none;padding:4px 10px;font-size:12.5px;font-style:normal}.ai-item.open .ai-chevron{color:var(--green-deep);border-color:var(--green-light)}.ai-item-body{border-top:1px dashed var(--line);padding:4px 22px 22px 76px;animation:.25s aiFade}@keyframes aiFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.ai-loading{color:var(--ink-2);align-items:center;gap:12px;padding:24px 0;display:flex}.ai-spinner{border:2.5px solid var(--green-soft);border-top-color:var(--green);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite aiSpin}@keyframes aiSpin{to{transform:rotate(360deg)}}.ai-error{justify-content:space-between;align-items:center;gap:16px;padding:18px 0;display:flex}.ai-error p{color:var(--cinnabar);margin:0;font-size:13.5px}.ai-md{color:var(--ink);font-size:14px;line-height:1.75}.ai-md h3{color:var(--ink);border-left:3px solid var(--green);margin:22px 0 10px;padding-left:11px;font-family:Noto Serif SC,Songti SC,serif;font-size:16.5px}.ai-md h3:first-child{margin-top:14px}.ai-md p{margin:12px 0;padding-bottom:2px}.ai-md strong{color:var(--green-deep);font-weight:600}.ai-md ul,.ai-md ol{margin:8px 0;padding-left:22px}.ai-md li{margin:10px 0;padding-left:3px}.ai-md li+li{margin-top:14px}.ai-md h3+p,.ai-md h3+ul,.ai-md h3+ol{margin-top:13px}.ai-md li::marker{color:var(--green)}.ai-md code{background:var(--green-soft);color:var(--green-deep);border-radius:5px;padding:1px 6px;font-size:12.5px}.ai-md table{border-collapse:collapse;border:1px solid var(--line);border-radius:8px;width:100%;margin:12px 0;font-size:13px;overflow:hidden}.ai-md th{background:var(--green-soft);color:var(--green-deep);text-align:left;border-bottom:1px solid var(--line-2);padding:9px 12px;font-weight:600}.ai-md td{border-bottom:1px solid var(--line);vertical-align:top;padding:9px 12px}.ai-md tr:last-child td{border-bottom:0}.ai-md tr:nth-child(2n) td{background:var(--card-2)}.ai-md blockquote{border-left:3px solid var(--gold);background:var(--gold-soft);color:var(--ink-2);border-radius:0 8px 8px 0;margin:10px 0;padding:8px 14px}.ai-foot{justify-content:flex-end;gap:12px;display:flex}.rg-page{flex-direction:column;gap:16px;display:flex}.rg-hero{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;align-items:center;gap:18px;padding:22px 24px;display:flex}.rg-hero-seal{background:var(--dai);color:#fff;border-radius:12px;flex:none;place-items:center;width:56px;height:56px;font-size:24px;display:grid}.rg-hero-text .rt-kicker{color:var(--dai);letter-spacing:2px;margin-bottom:4px;font-size:12px;display:inline-block}.rg-hero-text h3{color:var(--ink);margin:0 0 6px;font-size:23px}.rg-hero-text p{color:var(--ink-2);max-width:800px;margin:0;font-size:13.5px}.rg-accordion{flex-direction:column;gap:12px;display:flex}.rg-item{background:var(--card);border:1px solid var(--line);border-radius:12px;transition:border-color .2s,box-shadow .2s;overflow:hidden}.rg-item.open{border-color:var(--green-light);box-shadow:var(--shadow)}.rg-head{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:16px;width:100%;padding:16px 20px;display:flex}.rg-head:hover{background:var(--card-2)}.rg-num{background:var(--dai-soft);width:40px;height:40px;color:var(--dai);border-radius:10px;flex:none;place-items:center;font-size:18px;transition:background .2s,color .2s;display:grid}.rg-item.open .rg-num{background:var(--dai);color:#fff}.rg-head-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.rg-head-text b{color:var(--ink);font-family:Noto Serif SC,Songti SC,serif;font-size:16px}.rg-head-text small{color:var(--ink-3);font-size:12.5px}.rg-chevron{color:var(--ink-3);border:1px solid var(--line);border-radius:999px;flex:none;padding:4px 10px;font-size:12.5px;font-style:normal}.rg-item.open .rg-chevron{color:var(--dai);border-color:var(--line-2)}.rg-body{border-top:1px dashed var(--line);padding:6px 22px 22px 76px;animation:.25s rgFade}@keyframes rgFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.rg-body{color:var(--ink);font-size:14px;line-height:1.75}.rg-body h4{color:var(--ink);border-left:3px solid var(--dai);margin:18px 0 8px;padding-left:10px;font-family:Noto Serif SC,Songti SC,serif;font-size:15.5px}.rg-body h4:first-child{margin-top:12px}.rg-body p{margin:8px 0}.rg-body ul,.rg-body ol{margin:8px 0;padding-left:22px}.rg-body li{margin:4px 0}.rg-body li::marker{color:var(--dai)}.rg-body strong{color:var(--green-deep);font-weight:600}.rg-body code{background:var(--dai-soft);color:var(--dai);border-radius:5px;padding:1px 6px;font-size:12.5px}.rg-motto{color:var(--dai);background:var(--dai-soft);border-radius:8px;padding:8px 14px;font-family:Noto Serif SC,Songti SC,serif}.rg-key{border-left:3px solid var(--green);background:var(--green-soft);border-radius:0 8px 8px 0;padding:8px 14px}.rg-task{color:var(--ink-2);font-size:13px}.rg-wrong{color:var(--cinnabar)}.rg-body table{border-collapse:collapse;border:1px solid var(--line);border-radius:8px;width:100%;margin:12px 0;font-size:13px;overflow:hidden}.rg-body th{background:var(--dai-soft);color:var(--dai);text-align:left;border-bottom:1px solid var(--line-2);padding:9px 12px;font-weight:600}.rg-body td{border-bottom:1px solid var(--line);vertical-align:top;padding:9px 12px}.rg-body tr:last-child td{border-bottom:0}.rg-body tr:nth-child(2n) td{background:var(--card-2)}.rg-body blockquote{border-left:3px solid var(--gold);background:var(--gold-soft);color:var(--ink-2);border-radius:0 8px 8px 0;margin:12px 0;padding:8px 14px}.rg-body blockquote p{margin:3px 0}.rg-check li{margin:8px 0}.vg-page{flex-direction:column;gap:16px;display:flex}.vg-hero{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;align-items:center;gap:18px;padding:22px 24px;display:flex}.vg-hero-seal{background:var(--cinnabar);color:#fff;border-radius:12px;flex:none;place-items:center;width:56px;height:56px;font-size:24px;display:grid}.vg-hero-text .vt-kicker{color:var(--cinnabar);letter-spacing:2px;margin-bottom:4px;font-size:12px;display:inline-block}.vg-hero-text h3{color:var(--ink);margin:0 0 6px;font-size:23px}.vg-hero-text p{color:var(--ink-2);max-width:800px;margin:0;font-size:13.5px}.vg-hero-text strong{color:var(--cinnabar-deep)}.vg-accordion{flex-direction:column;gap:12px;display:flex}.vg-item{background:var(--card);border:1px solid var(--line);border-radius:12px;transition:border-color .2s,box-shadow .2s;overflow:hidden}.vg-item.open{border-color:var(--cinnabar);box-shadow:var(--shadow)}.vg-head{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:16px;width:100%;padding:16px 20px;display:flex}.vg-head:hover{background:var(--card-2)}.vg-num{background:var(--cinnabar-soft);width:40px;height:40px;color:var(--cinnabar);border-radius:10px;flex:none;place-items:center;font-size:18px;transition:background .2s,color .2s;display:grid}.vg-item.open .vg-num{background:var(--cinnabar);color:#fff}.vg-head-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.vg-head-text b{color:var(--ink);font-family:Noto Serif SC,Songti SC,serif;font-size:16px}.vg-head-text small{color:var(--ink-3);font-size:12.5px}.vg-chevron{color:var(--ink-3);border:1px solid var(--line);border-radius:999px;flex:none;padding:4px 10px;font-size:12.5px;font-style:normal}.vg-item.open .vg-chevron{color:var(--cinnabar);border-color:var(--line-2)}.vg-body{border-top:1px dashed var(--line);padding:6px 22px 22px 76px;animation:.25s vgFade}@keyframes vgFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.vg-body{color:var(--ink);font-size:14px;line-height:1.75}.vg-body h4{color:var(--ink);border-left:3px solid var(--cinnabar);margin:18px 0 8px;padding-left:10px;font-family:Noto Serif SC,Songti SC,serif;font-size:15.5px}.vg-body h4:first-child{margin-top:12px}.vg-body p{margin:8px 0}.vg-body ul,.vg-body ol{margin:8px 0;padding-left:22px}.vg-body li{margin:4px 0}.vg-body li::marker{color:var(--cinnabar)}.vg-body strong{color:var(--cinnabar-deep);font-weight:600}.vg-wrong{color:var(--cinnabar);font-size:13.5px}.vg-key{border-left:3px solid var(--cinnabar);background:var(--cinnabar-soft);border-radius:0 8px 8px 0;padding:8px 14px}.vg-body table{border-collapse:collapse;border:1px solid var(--line);border-radius:8px;width:100%;margin:12px 0;font-size:13px;overflow:hidden}.vg-body th{background:var(--cinnabar-soft);color:var(--cinnabar);text-align:left;border-bottom:1px solid var(--line-2);padding:9px 12px;font-weight:600}.vg-body td{border-bottom:1px solid var(--line);vertical-align:top;padding:9px 12px}.vg-body tr:last-child td{border-bottom:0}.vg-body tr:nth-child(2n) td{background:var(--card-2)}.vg-check li{margin:8px 0}.live-wave{width:100%;height:54px;margin:2px 0 4px;position:relative;overflow:hidden}.live-wave canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.live-wave span{color:var(--ink-3);letter-spacing:.02em;pointer-events:none;font-size:10px;position:absolute;bottom:0;right:2px}@media (width<=640px){.live-wave{height:46px;margin:2px 0 6px}}.audio-compare-page{min-height:calc(100vh - 112px);color:var(--ink);background:var(--bg);margin:-26px -30px -40px;padding:30px}.audio-compare-page h2{border-bottom:1px solid var(--line);color:var(--ink);margin:0;padding:0 0 17px;font-size:23px;font-weight:700}.audio-compare-toolbar{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:end;gap:14px;margin:26px 0 27px;padding:17px 20px;display:flex}.audio-compare-control{align-items:center;gap:9px;display:flex}.audio-compare-control label{color:var(--ink-2);white-space:nowrap;font-size:13px;font-weight:600}.audio-compare-control select{border:1px solid var(--line-2);min-width:190px;max-width:275px;color:var(--ink);background:var(--card-2);font:inherit;border-radius:8px;padding:9px 12px;font-size:13px}.audio-compare-action{color:#fff;background:var(--green);white-space:nowrap;border:0;border-radius:8px;padding:10px 16px;font-size:13px;font-weight:600;transition:background .16s,transform .16s}.audio-compare-action:hover:not(:disabled){background:var(--green-deep);transform:translateY(-1px)}.audio-compare-action:disabled{cursor:wait;opacity:.68}.audio-compare-action.secondary{border:1px solid var(--line-2);color:var(--green-deep);background:var(--green-soft)}.audio-compare-action.secondary:hover{background:#d9eae4}.audio-compare-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.wave-compare-panel{border:1px solid var(--line);background:var(--card);min-width:0;box-shadow:var(--shadow);border-radius:12px;padding:18px}.wave-compare-heading{justify-content:space-between;align-items:baseline;gap:12px;min-height:37px;padding:0 2px 10px;display:flex}.wave-compare-heading strong{color:var(--ink);font-size:14px}.wave-compare-heading span{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.wave-compare-canvas{background:#f8fbfa;border:1px solid #edf2f0;border-radius:9px;place-items:center;height:min(43vh,340px);min-height:220px;display:grid;overflow:hidden}.wave-compare-canvas canvas{cursor:pointer;touch-action:none;width:100%;height:100%;display:block}.wave-compare-empty{max-width:300px;color:var(--ink-3);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:22px;font-size:12px;display:flex}.wave-compare-empty:before{content:"〰";color:var(--green-light);font-size:30px;line-height:1}.wave-compare-axis{color:var(--ink-3);justify-content:space-between;padding:8px 3px 0;font-size:10px;display:flex}.audio-compare-error{width:fit-content;max-width:100%;color:var(--cinnabar-deep);background:var(--cinnabar-soft);border:1px solid #efd4ce;border-radius:8px;margin:-13px auto 18px;padding:9px 13px;font-size:12px}@media (width<=900px){.audio-compare-page{margin:-26px -30px -40px;padding:22px 18px}.audio-compare-grid{grid-template-columns:1fr;gap:14px}.wave-compare-canvas{height:250px}}@media (width<=760px){.app-shell:has(.audio-compare-page){width:100%;min-width:0;display:block;overflow-x:clip}:is(.app-shell:has(.audio-compare-page) .main-content,.app-shell:has(.audio-compare-page) .page-body){box-sizing:border-box;width:100vw;min-width:0}.app-shell:has(.audio-compare-page) .main-content{width:100vw;min-width:0;overflow-x:clip}.app-shell:has(.audio-compare-page) .sidebar{box-sizing:border-box;width:100vw;max-width:100vw;height:auto;padding:10px 0;position:static;overflow:hidden}.app-shell:has(.audio-compare-page) .sidebar .brand{padding-bottom:10px}.app-shell:has(.audio-compare-page) .sidebar .nav-group{display:none}.app-shell:has(.audio-compare-page) .sidebar-foot{display:none}.app-shell:has(.audio-compare-page) .sidebar nav{flex-direction:row;overflow-x:auto}.app-shell:has(.audio-compare-page) .nav-item{flex:none}.app-shell:has(.audio-compare-page) .topbar{position:static}.audio-compare-page{box-sizing:border-box;width:100%;margin:-20px -16px -30px}.audio-compare-toolbar,.audio-compare-control{flex-direction:column;align-items:stretch;width:100%;min-width:0}.audio-compare-grid{width:100%}}@media (width<=620px){.audio-compare-control select{width:100%;max-width:none}.audio-compare-action{width:100%}.wave-compare-panel{padding:13px}.wave-compare-canvas{height:220px;min-height:190px}.wave-compare-heading{flex-direction:column;align-items:start;gap:4px}}.wave-compare-play{border:1px solid var(--line-2);width:100%;color:var(--green-deep);background:var(--green-soft);font:inherit;border-radius:8px;justify-content:center;align-items:center;gap:7px;margin-top:13px;padding:9px 12px;font-size:12px;font-weight:600;transition:background .16s,border-color .16s;display:inline-flex}.wave-compare-play:hover:not(:disabled){border-color:var(--green-light);background:#d9eae4}.wave-compare-play:disabled{cursor:not-allowed;opacity:.5}.wave-compare-play span{font-size:11px}.audio-compare-run{justify-content:center;align-items:center;gap:14px;margin:-10px 0 22px;display:flex}.audio-compare-run span{color:var(--ink-3);font-size:12px}.compare-result-panel{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);border-radius:12px;margin:0 0 22px;padding:22px 24px}.compare-result-total{border-bottom:1px solid var(--line);align-items:baseline;gap:14px;padding-bottom:16px;display:flex}.compare-result-total strong{color:var(--green-deep);font-size:42px;font-weight:800;line-height:1}.compare-result-total span{color:var(--ink-2);font-size:15px;font-weight:600}.compare-result-body{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:28px;padding-top:18px;display:grid}.compare-dim-list{flex-direction:column;gap:13px;display:flex}.compare-dim-row{grid-template-columns:132px minmax(0,1fr) 62px;align-items:center;gap:10px;display:grid}.compare-dim-row label{color:var(--ink-2);white-space:nowrap;font-size:12px}.compare-dim-row span{color:var(--ink);text-align:right;font-size:12px;font-weight:600}.compare-dim-bar{background:var(--green-soft);border-radius:6px;height:9px;overflow:hidden}.compare-dim-fill{background:var(--green);border-radius:6px;height:100%}.compare-stats-table{border-collapse:collapse;width:100%;font-size:12px}.compare-stats-table th,.compare-stats-table td{border-bottom:1px solid var(--line);text-align:right;padding:8px 10px}.compare-stats-table th:first-child,.compare-stats-table td:first-child{text-align:left;color:var(--ink-2)}.compare-stats-table thead th{color:var(--ink-2);background:var(--card-2);font-weight:600}@media (width<=900px){.compare-result-body{grid-template-columns:1fr;gap:20px}.audio-compare-run{flex-direction:column;gap:8px}}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--card);border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;width:212px;height:100vh;padding:20px 0 16px;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid var(--line);align-items:center;gap:11px;padding:0 20px 18px;display:flex}.brand-seal{background:var(--cinnabar);color:#f6f2ea;border-radius:7px;place-items:center;width:40px;height:40px;font-size:21px;font-weight:700;display:grid}.brand-text b{color:var(--ink);letter-spacing:.04em;font-size:17px;font-weight:700;display:block}.brand-text small{letter-spacing:.18em;color:var(--ink-3);font-size:9.5px}.nav-group{color:var(--ink-3);letter-spacing:.12em;padding:18px 22px 7px;font-size:11px}.sidebar nav{flex-direction:column;gap:3px;padding:0 12px;display:flex}.nav-item{color:var(--ink-2);text-align:left;border-radius:8px;align-items:center;gap:11px;padding:10px 12px;font-size:14px;display:flex}.nav-item:hover{background:var(--bg-2);color:var(--ink)}.nav-item.active{background:var(--green-soft);color:var(--green-deep);font-weight:600}.nav-icon{text-align:center;width:18px;font-size:15px}.nav-badge{background:var(--cinnabar);color:#fff;border-radius:10px;margin-left:auto;padding:1px 7px;font-size:10.5px;font-style:normal}.nav-item.active .nav-badge{background:var(--green)}.sidebar-foot{border-top:1px solid var(--line);color:var(--ink-3);gap:18px;margin-top:auto;padding:14px 22px 0;font-size:12.5px;display:flex}.main-content{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);z-index:20;background:#ffffffb8;flex-shrink:0;justify-content:space-between;align-items:center;height:60px;padding:0 28px;display:flex;position:sticky;top:0}.crumbs{color:var(--ink-3);font-size:13px}.crumbs b{color:var(--ink);font-weight:600}.top-right{align-items:center;gap:16px;display:flex}.top-search{color:var(--ink-3);background:var(--bg-2);border:1px solid var(--line);border-radius:8px;width:230px;padding:7px 14px;font-size:12.5px}.top-user{align-items:center;gap:9px;font-size:13.5px;display:flex}.top-user i{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;font-size:14px;font-style:normal;display:grid}.page-body{flex:1;padding:26px 30px 40px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:16px;padding:19px 21px}.card-head{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.card-head h3{font-size:16px;font-weight:700}.link{color:var(--green-deep);font-size:13px}.btn-cinnabar{background:var(--cinnabar);color:#f7f3ec;border-radius:9px;padding:10px 20px;font-size:14px;font-weight:600}.btn-cinnabar:hover{background:var(--cinnabar-deep)}.btn-green{background:var(--green);color:#f3f8f6;border-radius:9px;padding:9px 18px;font-size:13.5px;font-weight:600}.btn-green:hover{background:var(--green-deep)}.btn-ghost{background:var(--card);border:1px solid var(--line-2);color:var(--ink-2);border-radius:9px;padding:9px 18px;font-size:13.5px}.btn-ghost:hover{border-color:var(--green-light);color:var(--green-deep)}.tag{background:var(--bg-2);color:var(--ink-2);border:1px solid var(--line);border-radius:6px;padding:3px 10px;font-size:11.5px}.tag.red{background:var(--cinnabar-soft);color:var(--cinnabar-deep);border-color:#ecd2cc}.tabs{gap:6px;margin-bottom:16px;display:flex}.tabs button{color:var(--ink-2);border-radius:8px;padding:7px 16px;font-size:13px}.tabs button.active{background:var(--green-soft);color:var(--green-deep);font-weight:600}.hero{border:1px solid var(--line);background:linear-gradient(120deg,#f6faf9,#eef4f2);border-radius:16px;margin-bottom:20px;padding:34px 38px;position:relative;overflow:hidden}.hero-date{color:var(--green-deep);letter-spacing:.08em;font-size:12.5px}.hero h2{letter-spacing:.02em;margin:12px 0;font-size:30px;font-weight:700}.hero-text{z-index:2;max-width:560px;position:relative}.hero-text p{color:var(--ink-2);font-size:14px}.hero-actions{gap:12px;margin-top:22px;display:flex}.hero-mountains{width:460px;height:180px;position:absolute;bottom:-2px;right:-20px}.hero-mountains:before{content:"";background-image:radial-gradient(120px 90px at 70% 100%,#3f7d6e29,#0000 70%),radial-gradient(180px 120px at 45% 100%,#3d5a6c21,#0000 70%),radial-gradient(150px 100px at 22% 100%,#3f7d6e1f,#0000 70%);position:absolute;inset:0}.stat-row{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;display:grid}.stat-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 19px}.stat-k{color:var(--ink-3);font-size:12.5px}.stat-v{margin:5px 0 3px;font-size:28px;font-weight:700;line-height:1.2}.stat-v small{color:var(--ink-3);margin-left:3px;font-size:13px;font-weight:400}.stat-s{color:var(--ink-3);font-size:11.5px}.home-cols{grid-template-columns:1.55fr 1fr;align-items:start;gap:16px;display:grid}.home-stack{flex-direction:column;display:flex}.task{gap:16px;display:flex}.task-book{border-radius:9px;flex-direction:column;flex-shrink:0;justify-content:space-between;align-items:center;width:74px;padding:14px 0;display:flex}.vtitle{writing-mode:vertical-rl;letter-spacing:.14em;color:#f1f6f3;font-size:17px;font-weight:600}.vauthor{color:#ffffffbf;font-size:10.5px}.task-body{flex:1;min-width:0}.meta{flex-wrap:wrap;gap:7px;margin-bottom:10px;display:flex}.task-body h4{font-size:16px;font-weight:700}.sub{color:var(--ink-3);margin:5px 0 13px;font-size:12.5px}.task-progress .r1{justify-content:space-between;margin-bottom:6px;font-size:12.5px;display:flex}.bar{background:var(--bg-2);border-radius:5px;height:7px;overflow:hidden}.bar i{background:linear-gradient(90deg, var(--green-light), var(--green));border-radius:5px;height:100%;display:block}.task-stats{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:15px;display:grid}.task-stats div{background:var(--bg-2);border-radius:8px;padding:9px 12px}.task-stats small{color:var(--ink-3);font-size:11px;display:block}.task-stats b{font-size:18px;font-weight:700}.task-stats b small{font-size:11px;display:inline}.flow{align-items:flex-start;display:flex}.flow-step{text-align:center;flex:1;position:relative}.flow-step .num{background:var(--bg-2);width:42px;height:42px;color:var(--ink-3);border:1.5px solid var(--line);border-radius:50%;place-items:center;margin:0 auto 9px;font-size:17px;display:grid}.flow-step b{font-size:13.5px;display:block}.flow-step small{color:var(--ink-3);font-size:11.5px}.flow-step.done .num{background:var(--green-soft);color:var(--green-deep);border-color:var(--green-light)}.flow-step.current .num{background:var(--cinnabar);color:#fff;border-color:var(--cinnabar)}.flow-line{background:var(--line-2);width:calc(100% - 56px);height:2px;position:absolute;top:21px;left:calc(50% + 28px)}.flow-step.done .flow-line{background:var(--green-light)}.week{grid-template-columns:repeat(5,1fr);gap:9px;display:grid}.week-day{border:1px solid var(--line);text-align:center;border-radius:9px;padding:12px 6px}.week-day .d{color:var(--ink-3);font-size:11.5px}.week-day .p{margin-top:5px;font-size:14px;font-weight:600}.week-day.empty{background:var(--bg-2)}.week-day.today{border-color:var(--green);background:var(--green-soft)}.week-day.today .d{color:var(--green-deep);font-weight:700}.feed-item{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:9px 0;display:flex}.feed-item:last-child{border-bottom:0}.feed-avatar{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:14px;display:grid}.feed-item .c{flex:1;min-width:0}.feed-item .c p{margin:0;font-size:13px}.feed-item .t{color:var(--ink-3);font-size:11px}.chip{border-radius:7px;padding:3px 9px;font-size:12.5px;font-weight:700}.chip.good{background:var(--green-soft);color:var(--green-deep)}.chip.mid{background:var(--gold-soft);color:#9a6a22}.chip.low{background:var(--cinnabar-soft);color:var(--cinnabar-deep)}.watch-item{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 0;display:flex}.watch-item:last-child{border-bottom:0}.watch-item .c{flex:1;min-width:0}.watch-item .c b{font-size:13.5px}.watch-item .c small{color:var(--ink-3);font-size:11.5px;display:block}.watch-item .go{border:1px solid var(--line-2);color:var(--ink-2);border-radius:7px;padding:5px 13px;font-size:12.5px}.breadcrumb{color:var(--ink-3);align-items:center;gap:7px;margin-bottom:16px;font-size:13px;display:flex}.breadcrumb button{color:var(--ink-2)}.breadcrumb button:hover{color:var(--green-deep)}.task-row{background:var(--card);border:1px solid var(--line);border-radius:12px;align-items:center;gap:16px;margin-bottom:12px;padding:14px 18px;display:flex}.task-row .bk{border-radius:8px;flex-shrink:0;place-items:center;width:52px;height:72px;display:grid}.task-row .vtitle{font-size:13px}.task-row .tr{flex:1;min-width:0}.task-row .tr b{font-size:15px;font-weight:700;display:block}.task-row .tr small{color:var(--ink-3);font-size:12px}.task-row .prog{flex-shrink:0;width:180px}.task-row .pp{justify-content:space-between;margin-bottom:5px;font-size:11.5px;display:flex}.status-dot{border-radius:7px;flex-shrink:0;padding:4px 11px;font-size:12.5px}.status-dot.ing{background:var(--green-soft);color:var(--green-deep)}.status-dot.done{background:var(--bg-2);color:var(--ink-2)}.status-dot.over{background:var(--cinnabar-soft);color:var(--cinnabar-deep)}.reading-panel{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:22px 24px}.reading-top{justify-content:space-between;align-items:flex-start;margin-bottom:18px;display:flex}.rt-kicker{color:var(--green-deep);letter-spacing:.08em;font-size:11.5px}.reading-top h3{margin:7px 0 4px;font-size:20px;font-weight:700}.reading-timer{text-align:right}.reading-timer b{font-size:24px;font-weight:700}.reading-timer small{color:var(--ink-3);font-size:11.5px;display:block}.reading-lines{flex-direction:column;gap:7px;margin-bottom:20px;display:flex}.sentence-line{border:1px solid var(--line);text-align:left;border-radius:9px;align-items:center;gap:11px;padding:11px 15px;font-size:14.5px;display:flex}.sentence-line .sp{color:var(--green-light);width:16px;font-size:12px}.sentence-line{cursor:default}.sentence-line.reading-active{border-color:var(--cinnabar);background:var(--cinnabar-soft)}.sentence-line.reading-active .sp{color:var(--cinnabar)}.record-area{border-top:1px solid var(--line);flex-direction:column;align-items:center;gap:6px;padding-top:18px;display:flex}.record-button{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:64px;height:64px;font-size:22px;display:grid}.record-button.recording{background:var(--cinnabar)}.record-area strong{font-size:15px}.record-area small{color:var(--ink-3);font-size:12px}.record-error{color:var(--cinnabar-deep);font-size:12.5px}.list-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.list-head h3{font-size:18px;font-weight:700}.profile-card{border-bottom:1px solid var(--line);align-items:center;gap:16px;padding-bottom:18px;display:flex}.student-avatar{background:var(--green);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:56px;height:56px;font-size:24px;display:grid}.profile-card>div:not(.student-avatar){flex:1}.profile-card h3{font-size:18px;font-weight:700}.profile-card p{color:var(--ink-3);font-size:12.5px}.profile-card strong{font-size:32px;font-weight:700}.profile-card strong span{color:var(--ink-3);font-size:14px;font-weight:400}.section-title{margin:20px 0 14px;font-size:16px;font-weight:700}.profile-graph{flex-direction:column;align-items:center;display:flex}.profile-graph svg{width:420px;max-width:100%}.graph-label{fill:var(--ink-2);font-size:13px}.graph-legend{flex-wrap:wrap;gap:16px;margin-top:12px;display:flex}.graph-legend span{align-items:center;gap:6px;font-size:13px;display:flex}.graph-legend i{border-radius:3px;width:12px;height:12px}.report-page{flex-direction:column;gap:16px;display:flex}.report-hero{border:1px solid var(--line);background:linear-gradient(120deg,#f6faf9,#ecf3f1);border-radius:14px;padding:22px 26px}.report-back{color:var(--ink-3);margin-bottom:14px;font-size:13px}.report-back span{color:var(--ink-2)}.report-hero-content{justify-content:space-between;align-items:center;display:flex}.report-kicker{color:var(--green-deep);font-size:12px}.report-hero h3{margin:6px 0 3px;font-size:22px;font-weight:700}.report-hero p{color:var(--ink-3);font-size:12px}.hero-score{align-items:baseline;gap:5px;display:flex}.hero-score span{color:var(--ink-3);font-size:13px}.hero-score strong{color:var(--green-deep);font-size:46px;font-weight:700;line-height:1}.hero-score em{color:var(--ink-3);font-size:14px;font-style:normal}.report-status{color:var(--green-deep);margin-top:14px;font-size:13px}.report-overview{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.report-overview>div{background:var(--card);border:1px solid var(--line);border-radius:12px;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.report-overview span{color:var(--ink-2);font-size:13px}.report-overview strong{font-size:26px;font-weight:700}.report-overview small{color:var(--ink-3);font-size:12px;font-weight:400}.report-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px 23px}.report-card h3{font-size:16px;font-weight:700}.card-heading{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.card-heading>div{align-items:center;gap:12px;display:flex}.card-icon{color:#fff;border-radius:9px;place-items:center;width:38px;height:38px;font-size:15px;font-weight:700;display:grid}.card-icon.green{background:var(--green)}.card-icon.dai{background:var(--dai)}.card-icon.cinnabar{background:var(--cinnabar)}.card-heading p{color:var(--ink-3);font-size:12px}.card-heading b{color:var(--green-deep);font-size:13px}.next-focus-card{background:linear-gradient(#fffdfb,#fff);border-color:#ead8cd}.text-stats{grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:14px;display:grid}.text-stats div{background:var(--bg-2);text-align:center;border-radius:8px;padding:10px}.text-stats small{color:var(--ink-3);font-size:11px;display:block}.text-stats strong{font-size:18px;font-weight:700}.text-stats .error strong{color:var(--cinnabar-deep)}.text-legend{color:var(--ink-2);flex-wrap:wrap;gap:16px;margin:2px 0 12px;font-size:12px;display:flex}.text-legend span{align-items:center;gap:5px;display:inline-flex}.legend-dot{border-radius:50%;width:9px;height:9px;display:inline-block}.legend-dot.correct{background:#2f8f72}.legend-dot.wrong{background:#d45151}.legend-dot.missed{background:#8b96a4}.legend-dot.added{background:#c98a3a}.text-compare{border:1px solid var(--line);background:#fbfcfb;border-radius:10px;padding:12px 14px}.compare-label{color:var(--ink-3);margin-bottom:5px;font-size:12px}.compare-line{letter-spacing:.03em;flex-wrap:wrap;gap:2px 1px;font-size:18px;line-height:1.8;display:flex}.compare-char{border-bottom:2px solid #0000;padding:0 2px}.compare-char.correct{color:#2f8f72}.compare-char.wrong{color:#d45151;border-color:#d45151}.compare-char.missed{color:#8b96a4;text-decoration:line-through}.compare-char.added{color:#c98a3a}.reference-line{overflow-wrap:anywhere;white-space:pre-wrap;padding-top:10px;line-height:2.9;display:block}.reference-line .compare-char{vertical-align:baseline;display:inline-block}.reference-line ruby.compare-char{ruby-position:over;display:ruby}.reference-line rt{letter-spacing:0;text-align:center;font-family:inherit;font-size:11px;font-weight:500;line-height:1}.compare-char.punctuation,.compare-char.unmarked{color:var(--ink-2)}.report-text{color:var(--ink-2);font-size:14px;line-height:1.9}.voice-summary{grid-template-columns:1fr 1.3fr;align-items:center;gap:20px;display:grid}.mini-scores{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.mini-scores div{background:var(--bg-2);text-align:center;border-bottom:3px solid var(--score-color);border-radius:10px;padding:16px}.mini-scores strong{color:var(--score-color);font-size:26px;font-weight:700}.mini-scores span{color:var(--ink-2);font-size:12.5px;display:block}.radar-wrap svg{width:100%;height:auto}.radar-label{fill:var(--ink-2);font-size:12px}.voice-card .radar-wrap{max-width:340px;margin:0 auto}.acoustic-analysis-card .voice-summary{align-items:start}.dimension-list h3{margin:4px 0 8px;font-size:16px}.dimension-list .dimension-row{min-height:48px}.dimension-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:11px 0;display:flex}.dimension-row:last-child{border-bottom:0}.dimension-row i{border-radius:50%;flex-shrink:0;width:9px;height:9px}.dimension-row strong{width:44px;font-size:14px}.dimension-row span{color:var(--ink-2);flex:1;font-size:13px}.dimension-row b{font-size:15px;font-weight:700}.playback-card audio{width:100%}.suggestion-list{flex-direction:column;gap:12px;display:flex}.suggestion-list div{align-items:flex-start;gap:12px;display:flex}.suggestion-list b{background:var(--green-soft);width:24px;height:24px;color:var(--green-deep);border-radius:50%;flex-shrink:0;place-items:center;font-size:13px;display:grid}.suggestion-list p{color:var(--ink-2);font-size:13.5px}.report-actions{justify-content:center;gap:12px;display:flex}.report-actions button{padding:11px 30px}@media (width<=760px){.acoustic-analysis-card .voice-summary{grid-template-columns:1fr}.acoustic-analysis-card .radar-wrap{max-width:300px}}.top-user{cursor:pointer;background:0 0;border:0}.top-user:hover{color:var(--green-deep)}.teacher-dialog-backdrop{z-index:100;background:#18272357;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.teacher-dialog{width:min(420px,100%);margin:0;box-shadow:0 18px 60px #18302933}.teacher-dialog h3{margin-bottom:6px;font-size:20px}.teacher-dialog p{color:var(--ink-3);margin-bottom:18px;font-size:13px}.teacher-dialog label{color:var(--ink-2);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.teacher-dialog input{border:1px solid var(--line-2);width:100%;color:var(--ink);background:var(--card-2);font:inherit;border-radius:8px;padding:10px 12px}.teacher-dialog-actions{justify-content:flex-end;gap:9px;margin-top:20px;display:flex}.global-search{width:230px;position:relative}.global-search .top-search{width:100%;font:inherit;display:block}.global-search-results{z-index:40;border:1px solid var(--line);background:var(--card);width:320px;max-width:min(320px,80vw);box-shadow:var(--shadow);border-radius:10px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.global-search-results button{text-align:left;flex-direction:column;gap:2px;width:100%;padding:10px 13px;display:flex}.global-search-results button:hover{background:var(--green-soft)}.global-search-results b{color:var(--ink);font-size:13px;font-weight:600}.global-search-results small{color:var(--ink-3);font-size:11px}.global-search-empty{color:var(--ink-3);padding:14px;font-size:12px}.filter-row{align-items:center;gap:8px;display:flex}.filter{color:var(--ink-2);background:var(--card);border:1px solid var(--line);border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;display:flex}.filter em{color:var(--ink-3);font-size:11px;font-style:normal}.filter:hover{border-color:var(--green-light)}.filter.active{background:var(--green-soft);border-color:var(--green-light);color:var(--green-deep);font-weight:600}.filter.active em{color:var(--green-deep)}.article-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.article-card{background:var(--card);border:1px solid var(--line);text-align:left;border-radius:12px;align-items:center;gap:15px;padding:15px 17px;display:flex}.article-card:hover{border-color:var(--green-light);box-shadow:var(--shadow)}.article-card .bk{border-radius:8px;flex-direction:column;flex-shrink:0;justify-content:space-between;align-items:center;width:54px;height:78px;padding:11px 0;display:flex}.article-card .bk b{writing-mode:vertical-rl;letter-spacing:.1em;color:#f2f7f5;font-size:14px;font-weight:600}.article-card .bk small{color:#ffffffb8;font-size:9.5px}.article-card .info{flex:1;min-width:0}.article-card .info b{font-size:15px;font-weight:700;display:block}.article-card .info small{color:var(--ink-3);margin:4px 0;font-size:12px;display:block}.article-card .st{color:var(--ink-3);font-size:12px}.article-card .st .ok{color:var(--green-deep)}.article-card.add{border:1.5px dashed var(--line-2);color:var(--ink-3);flex-direction:column;justify-content:center;gap:8px;font-size:13.5px}.article-card.add .plus{font-size:30px;line-height:1}.detail-panel{background:var(--card);border:1px solid var(--line);border-radius:14px;gap:28px;padding:30px 32px;display:flex}.detail-num{background:var(--green-soft);width:60px;height:60px;color:var(--green-deep);border-radius:50%;flex-shrink:0;place-items:center;font-size:22px;font-weight:700;display:grid}.detail-main{flex:1;min-width:0}.detail-main h3{font-size:24px;font-weight:700}.detail-lead{color:var(--ink-2);margin:12px 0 22px;font-size:14.5px}.detail-points{flex-direction:column;gap:14px;margin-bottom:24px;display:flex}.detail-points>div{align-items:flex-start;gap:13px;display:flex}.detail-points .pn{background:var(--green-soft);width:25px;height:25px;color:var(--green-deep);border-radius:50%;flex-shrink:0;place-items:center;font-size:12.5px;font-weight:700;display:grid}.detail-points p{margin-top:2px;font-size:14px}.detail-actions{gap:12px;display:flex}.video-layout{grid-template-columns:1.55fr .9fr;align-items:start;gap:18px;display:grid}.video-panel{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 20px 20px}.video-player{aspect-ratio:16/9;background:#111;border-radius:10px;width:100%;margin-bottom:16px;display:block}.video-unavailable{color:#fff;text-align:center;place-items:center;padding:24px;line-height:1.8;display:grid}.v-tabs{border-bottom:1px solid var(--line);gap:6px;margin-bottom:15px;display:flex}.v-tabs button{color:var(--ink-2);border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 16px;font-size:13.5px}.v-tabs button:hover{color:var(--green-deep)}.v-tabs button.active{color:var(--green-deep);border-bottom-color:var(--green);font-weight:600}.v-tab-body{color:var(--ink-2);font-size:14px;line-height:2}.v-tab-body p{margin:0}.lesson-panel{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 22px}.lesson-panel h3{font-size:16px;font-weight:700}.lesson-note{color:var(--ink-3);margin:8px 0 14px;font-size:12.5px;line-height:1.7}.lesson-item{text-align:left;border-top:1px solid var(--line);grid-template-columns:34px 1fr auto;align-items:center;gap:11px;width:100%;padding:13px 0;display:grid}.lesson-item span{color:var(--green-deep);font-size:14px;font-weight:700}.lesson-item strong{font-size:14px;font-weight:600}.lesson-item em{color:var(--ink-3);font-size:12px;font-style:normal}.lesson-item:hover strong{color:var(--green-deep)}.lesson-start{border-top:1px solid var(--line);flex-direction:column;align-items:stretch;gap:11px;margin-top:16px;padding-top:16px;display:flex}.lesson-start small{color:var(--ink-3);text-align:center;font-size:12px}.lesson-start button{width:100%}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:7px;padding:34px 20px;display:flex}.empty-icon{background:var(--green-soft);width:58px;height:58px;color:var(--green-deep);border-radius:50%;place-items:center;margin-bottom:6px;font-size:24px;display:grid}.empty-state b{font-size:15.5px}.empty-state p{color:var(--ink-3);max-width:380px;font-size:13px}.empty-state .btn-green{margin-top:12px}.quick-links{flex-direction:column;gap:9px;display:flex}.quick-links button{border:1px solid var(--line);text-align:left;border-radius:10px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.quick-links button:hover{border-color:var(--green-light);background:var(--bg-2)}.quick-links b{font-size:14px}.quick-links small{color:var(--ink-3);font-size:11.5px}.picker-head{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.picker-head .rt-kicker{font-size:12px}.picker-head h3{margin-top:6px;font-size:22px;font-weight:700}.record-filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.rf-search{border:1px solid var(--line);background:var(--card);border-radius:9px;flex:1;min-width:200px;padding:9px 14px;font-size:13.5px}.rf-search:focus{border-color:var(--green-light);outline:none}.record-filters select{border:1px solid var(--line);background:var(--card);color:var(--ink-2);border-radius:9px;padding:9px 12px;font-size:13px}.seat-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:11px;display:grid}.seat-chip{border:1px solid var(--line);background:var(--card);border-radius:11px;flex-direction:column;align-items:center;gap:3px;padding:14px 8px;display:flex}.seat-chip:hover{border-color:var(--green);box-shadow:var(--shadow);transform:translateY(-1px)}.seat-chip .seat-no{color:var(--green-deep);background:var(--green-soft);border-radius:6px;margin-bottom:5px;padding:1px 9px;font-size:11px}.seat-chip b{font-size:15px;font-weight:600}.seat-chip small{color:var(--ink-3);font-size:10.5px}.record-table{flex-direction:column;display:flex}.record-table-head,.record-row{grid-template-columns:44px 1.3fr 1.3fr 70px 64px 70px;align-items:center;gap:12px;display:grid}.record-table-head{color:var(--ink-3);border-bottom:1px solid var(--line);padding:0 16px 9px;font-size:12px}.record-row{border-bottom:1px solid var(--line);text-align:left;width:100%;padding:12px 16px}.record-row:hover{background:var(--card-2)}.rr-avatar{color:#fff;border-radius:50%;place-items:center;width:36px;height:36px;font-size:14px;display:grid}.rr-who b,.rr-poem b{font-size:13.5px;font-weight:600;display:block}.rr-who small,.rr-poem small{color:var(--ink-3);font-size:11px}.rr-dur{color:var(--ink-2);font-size:13px}.rr-arrow{color:var(--ink-3);text-align:right;font-size:12.5px}.roster-page{flex-direction:column;display:flex}.import-hint{background:var(--card-2)}.import-hint b{margin-bottom:5px;font-size:14px;display:block}.import-hint p{color:var(--ink-2);font-size:12.5px}.import-msg{color:var(--green-deep);margin-top:9px;font-size:13px;display:block}.add-form{flex-wrap:wrap;gap:10px;display:flex}.add-form input{border:1px solid var(--line);border-radius:9px;flex:1;min-width:130px;padding:9px 13px;font-size:13.5px}.add-form input:focus{border-color:var(--green-light);outline:none}.student-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;display:grid}.student-tile{border:1px solid var(--line);background:var(--card);border-radius:12px;align-items:center;display:flex;overflow:hidden}.st-main{text-align:left;flex:1;align-items:center;gap:12px;min-width:0;padding:13px 15px;display:flex}.st-main:hover{background:var(--card-2)}.st-avatar{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:42px;height:42px;font-size:17px;display:grid}.st-info{min-width:0}.st-info b{font-size:14.5px;display:block}.st-info small{color:var(--ink-3);font-size:11.5px;display:block}.st-info .st-stat{color:var(--green-deep);margin-top:2px}.st-del{width:34px;color:var(--ink-3);border-left:1px solid var(--line);flex-shrink:0;align-self:stretch;font-size:18px}.st-del:hover{color:var(--cinnabar-deep);background:var(--cinnabar-soft)}.student-detail-page{flex-direction:column;display:flex}.trend-svg{width:100%;height:auto}.trend-label{fill:var(--ink-2);font-size:12px}.history-list{flex-direction:column;display:flex}.history-row{border-bottom:1px solid var(--line);grid-template-columns:40px 1fr 64px;align-items:center;gap:12px;padding:11px 4px;display:grid}.h-no{background:var(--bg-2);width:28px;height:28px;color:var(--ink-2);border-radius:50%;place-items:center;font-size:12.5px;display:grid}.history-row b{font-size:14px;display:block}.history-row small{color:var(--ink-3);font-size:11.5px}.report-cols{grid-template-columns:1.3fr 1fr;align-items:stretch;gap:14px;display:grid}.qr-card{text-align:center;flex-direction:column;align-items:center;display:flex}.qr-card img{width:190px;height:190px;margin:6px 0}.qr-note{color:var(--ink-3);font-size:11.5px;line-height:1.6}.muted-p{color:var(--ink-3);padding:10px 0;font-size:13px}.playback-card audio{width:100%;margin-top:8px}.mobile-report{background:var(--bg);max-width:480px;min-height:100vh;margin:0 auto;padding:18px 18px 30px}.mr-head{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.mr-brand{color:var(--ink);font-size:17px;font-weight:700}.mr-tag{background:var(--green-soft);color:var(--green-deep);border-radius:6px;padding:3px 10px;font-size:11px}.mr-title h2{font-size:24px;font-weight:700}.mr-title p{color:var(--ink-2);margin-top:4px;font-size:14px}.mr-title small{color:var(--ink-3);font-size:11.5px}.mr-score{background:var(--card);border:1px solid var(--line);border-radius:14px;align-items:baseline;gap:10px;margin:22px 0;padding:18px 22px;display:flex}.mr-score strong{color:var(--green-deep);font-size:44px;font-weight:700;line-height:1}.mr-score span{color:var(--ink-3);font-size:13px}.mr-grid{grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:14px;display:grid}.mr-cell{background:var(--card);border:1px solid var(--line);text-align:center;border-radius:11px;padding:13px 4px}.mr-cell strong{font-size:20px;font-weight:700;display:block}.mr-cell span{color:var(--ink-2);font-size:11.5px}.mr-overview{grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:14px;display:grid}.mr-overview div{background:var(--card);border:1px solid var(--line);text-align:center;border-radius:11px;padding:12px}.mr-overview small{color:var(--ink-3);font-size:11px;display:block}.mr-overview b{font-size:14px;font-weight:600}.mr-text{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:12px;padding:15px 17px}.mr-text b{margin-bottom:6px;font-size:14px;display:block}.mr-text p{color:var(--ink-2);font-size:13px;line-height:1.7}.mr-foot{color:var(--ink-3);text-align:center;margin-top:18px;font-size:12px}.assign-bar{background:var(--gold-soft);border:1px solid #e8d5ae;border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;padding:14px 18px;display:flex}.assign-bar b{font-size:14px}.assign-bar select{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 12px;font-size:13px}.assign-bar .assign-note{color:var(--ink-3);margin-left:auto;font-size:12px}
