:root{--navy:#1e2b3c;--navy-light:#c05a2e;--navy-dark:#2b2118;--gold:#a8842c;--gold-light:#d9bc72;--bg:#f6f1e6;--card:#fffdf7;--text:#1e2b3c;--text-muted:#8a8171;--border:#e3d8c3;--red:#c0392b;--green:#1e8449;--shadow:0 4px 20px #5a3c1417;--radius:14px;--sans:"PingFang SC", "Microsoft YaHei", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}button{font-family:var(--sans);cursor:pointer}input{font-family:var(--sans)}.loading{text-align:center;color:var(--text-muted);padding:80px;font-size:16px}.login-page{background:radial-gradient(1100px 480px at 85% -12%,#c8974029,#0000 62%),radial-gradient(900px 460px at -8% 108%,#c0653f1a,#0000 60%),linear-gradient(140deg,#fbf7ee 0%,#f4ecdc 50%,#efe2cb 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-shell{justify-content:center;align-items:center;gap:64px;width:100%;max-width:960px;display:flex}.login-brand{text-align:left;flex:420px;max-width:440px}.brand-mark{background:linear-gradient(135deg,#e0ae4e,#b07a22);border-radius:20px;justify-content:center;align-items:center;width:66px;height:66px;margin-bottom:22px;font-size:34px;display:flex;box-shadow:0 10px 26px #a0782852}.brand-name{color:#1e2b3c;letter-spacing:3px;font-size:40px;line-height:1.2}.brand-en{color:#a8842c;letter-spacing:6px;margin:8px 0 20px;font-size:14px;font-weight:700}.brand-desc{color:#5d5342;margin-bottom:26px;font-size:15.5px;line-height:1.9}.brand-points{flex-direction:column;gap:14px;margin:44px 0 0;padding:0;list-style:none;display:flex}.brand-points li{color:#3d3226;align-items:center;gap:12px;font-size:15px;display:flex}.bp-icon{background:#fffdf7;border:1px solid #a8842c40;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:17px;display:flex;box-shadow:0 2px 6px #5a462814}.brand-wave{align-items:center;gap:5px;height:32px;margin-top:32px;display:flex}.brand-wave span{background:linear-gradient(#c05a2e,#e0b05c);border-radius:3px;width:5px;height:12px;animation:1.1s ease-in-out infinite wave}@keyframes wave{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}.login-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf8f7;border:1px solid #a8842c33;border-radius:24px;flex-shrink:0;width:100%;max-width:400px;padding:36px 34px 30px;animation:.5s cubic-bezier(.2,.8,.3,1.1) rise;box-shadow:0 30px 70px #5a462829,inset 0 2px #ffffffb3}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.login-card-title{color:#1e2b3c;letter-spacing:2px;text-align:center;font-size:22px}.login-card-sub{color:#8a8171;text-align:center;margin:6px 0 22px;font-size:13px}.login-tabs{background:#f0ead9;border-radius:10px;gap:8px;margin-bottom:20px;padding:4px;display:flex}.login-tabs .tab{color:var(--text-muted);background:0 0;border:none;border-radius:8px;flex:1;padding:9px 0;font-size:15px;transition:all .2s}.login-tabs .tab.active{background:var(--card);color:var(--navy);font-weight:600;box-shadow:0 2px 8px #00000014}.login-input{border:1.5px solid var(--border);background:#fff;border-radius:10px;outline:none;width:100%;margin-bottom:12px;padding:12px 14px;font-size:15px;transition:border .2s}.login-input:focus{border-color:#a14f22}.login-err{color:var(--red);text-align:left;margin-bottom:10px;font-size:13px}.login-btn{color:#fff;letter-spacing:4px;background:linear-gradient(135deg,#c9653f,#a14f22);border:none;border-radius:10px;width:100%;margin-top:6px;padding:13px 0;font-size:16px;font-weight:600;transition:transform .15s,box-shadow .15s}.login-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px #8c5a2859}.login-hint{color:#a89c88;text-align:center;margin-top:16px;font-size:12px}.mode-page{max-width:1000px;min-height:100vh;margin:0 auto;padding:40px 24px}.mode-header{text-align:center;margin-bottom:40px;padding-top:12px;position:relative}.mode-back{color:#7a4a21;background:#fffdf7;border:1.5px solid #a8842c59;border-radius:10px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:600;transition:all .15s;display:flex;position:absolute;top:0;left:0;box-shadow:0 2px 8px #5a462814}.mode-back:hover{color:#fff;background:linear-gradient(135deg,#c9653f,#a14f22);border-color:#0000}.mode-header h1{color:var(--navy);font-size:30px}.mode-header p{color:var(--text-muted);margin-top:6px}.mode-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.mode-card{background:var(--card);border:2px solid var(--border);text-align:left;border-radius:20px;flex-direction:column;padding:36px 28px;transition:all .2s;display:flex}.mode-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #16324f1f}.mode-card.random{border-top:4px solid var(--navy-light)}.mode-card.custom{border-top:4px solid var(--gold)}.mode-icon{font-size:40px}.mode-card h2{color:var(--navy);margin:12px 0 4px;font-size:22px}.mode-card p{color:var(--text-muted);font-size:14px}.mode-card ul{color:#374151;margin:16px 0 20px;padding-left:18px;font-size:14px;line-height:2}.mode-cta{color:#a14f22;margin-top:auto;font-size:15px;font-weight:600}.customize-page{max-width:1000px;min-height:100vh;margin:0 auto;padding:32px 24px 100px}.custom-section{margin-bottom:36px}.custom-section-title{color:var(--navy);align-items:center;gap:8px;margin-bottom:14px;font-size:18px;display:flex}.badge{background:var(--navy-light);color:#fff;letter-spacing:1px;border-radius:20px;padding:3px 10px;font-size:12px}.badge.p2{background:var(--gold);color:#3d2f00}.topic-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.topic-card{background:var(--card);border:1.5px solid var(--border);border-radius:12px;padding:0;transition:all .15s;overflow:hidden}.topic-card.selected{border-color:#a14f22;box-shadow:0 0 0 2px #1e446826}.topic-card.disabled{opacity:.45}.topic-card-head{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:13px 16px;display:flex}.topic-check{color:#0000;border:2px solid #d8cdba;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;display:flex}.topic-card.selected .topic-check{background:var(--navy-light);color:#fff;border-color:#a14f22}.topic-name{flex:1;font-weight:600}.topic-expand{color:var(--text-muted);background:0 0;border:none;font-size:13px}.topic-questions{color:#374151;padding:0 16px 14px 48px;font-size:14px;line-height:2;list-style:none}.topic-detail{padding:0 16px 16px}.p2-question{color:var(--navy);font-size:15px;font-weight:600;line-height:1.6}.p2-prompts{color:#374151;margin:8px 0;padding-left:18px;font-size:14px;line-height:1.9}.p2-p3-title{color:var(--gold);margin-top:10px;font-size:13px;font-weight:600}.custom-footer{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff2;justify-content:center;padding:16px 24px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0f223a0f}.confirm-btn{color:#fff;background:linear-gradient(135deg,#c9653f,#a14f22);border:none;border-radius:12px;padding:14px 48px;font-size:16px;font-weight:600;transition:all .2s}.confirm-btn:hover:not(.disabled){transform:translateY(-2px);box-shadow:0 8px 20px #16324f4d}.confirm-btn.disabled{color:#9ca3af;cursor:not-allowed;background:#d1d5db}.exam-page{background:linear-gradient(#faf6ec 0%,#f4ede0 100%);flex-direction:column;min-height:100vh;display:flex}.examiner-area{background:var(--navy-dark);color:#fff;align-items:center;gap:14px;padding:18px 32px;display:flex}.examiner-avatar{background:linear-gradient(135deg,#fde68a,#f59e0b);border:3px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:28px;display:flex}.examiner-name{letter-spacing:1px;font-size:15px;font-weight:600}.exam-stage{flex:1;justify-content:center;align-items:center;padding:32px;display:flex}.stage-center{text-align:center;width:100%;max-width:720px}.examiner-say{color:var(--text-muted);font-size:17px;animation:.4s fadeIn}.q-tag{background:var(--navy-light);color:#fff;border-radius:20px;margin-bottom:16px;padding:4px 14px;font-size:13px;display:inline-block}.q-card,.p2-card,.end-card{background:var(--card);box-shadow:var(--shadow);border:1px solid var(--border);border-radius:20px;padding:40px}.q-body{flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:180px;display:flex}.countdown-num{color:#a14f22;font-size:96px;font-weight:800;animation:1s infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.75;transform:scale(1.12)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.rec-wave{color:var(--red);align-items:center;gap:8px;font-size:16px;font-weight:600;animation:1.2s infinite blink;display:inline-flex}@keyframes blink{50%{opacity:.4}}.big-timer{color:var(--navy);font-variant-numeric:tabular-nums;font-size:64px;font-weight:800}.primary-btn{color:#fff;background:linear-gradient(135deg,#c9653f,#a14f22);border:none;border-radius:12px;padding:12px 36px;font-size:16px;font-weight:600;transition:all .2s}.primary-btn:hover{transform:translateY(-2px);box-shadow:0 6px 18px #16324f4d}.primary-btn.big{padding:15px 52px;font-size:17px}.primary-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.p2-card h3{color:var(--navy);margin-bottom:14px;font-size:20px;line-height:1.6}.p2-card .p2-prompts{text-align:left;max-width:460px;margin:0 auto 20px;font-size:15px}.speaker-icon .speaker-svg{margin-bottom:10px;font-size:56px;display:block}.end-emoji{font-size:56px}.end-card h3{color:var(--navy);margin:12px 0 6px;font-size:22px}.end-sub{color:var(--text-muted);margin-bottom:24px}.exam-progress{background:var(--card);border-top:1px solid var(--border);color:var(--text-muted);align-items:center;gap:16px;padding:14px 32px;font-size:14px;display:flex}.progress-track{background:#e3d8c3;border-radius:3px;flex:1;height:6px;overflow:hidden}.progress-bar{background:linear-gradient(90deg, var(--navy-light), var(--gold));height:100%;transition:width .5s}.result-page{min-height:100vh;display:flex}.result-nav{background:var(--navy-dark);color:#fff;flex-shrink:0;width:260px;max-height:100vh;padding:20px 12px;position:sticky;top:0;overflow-y:auto}.result-nav-title{cursor:pointer;color:#d8cdba;padding:6px 12px 16px;font-size:15px}.result-nav-title:hover{color:#fff}.result-group{margin-bottom:18px}.result-group-label{color:var(--gold);letter-spacing:2px;padding:0 12px 8px;font-size:12px;font-weight:700}.result-nav-item{text-align:left;color:#d8cdba;background:0 0;border:none;border-radius:10px;align-items:center;gap:8px;width:100%;padding:10px 12px;font-size:14px;transition:all .15s;display:flex}.result-nav-item:hover{background:#ffffff14}.result-nav-item.active{color:#fff;background:#ffffff24;font-weight:600}.status-dot{background:#64748b;border-radius:50%;width:8px;height:8px;margin-left:auto}.status-dot.ok{background:var(--green)}.status-dot.busy{background:var(--gold);animation:1s infinite blink}.result-main{flex:1;width:100%;max-width:900px;margin:0 auto;padding:28px}.result-card{background:var(--card);box-shadow:var(--shadow);border:1px solid var(--border);border-radius:18px;padding:32px}.result-card-head{margin-bottom:24px}.result-card-head h3{color:var(--navy);margin-top:10px;font-size:18px;line-height:1.6}.result-block{margin-bottom:26px}.block-title{color:var(--navy);margin-bottom:10px;font-size:15px;font-weight:700}.audio-player{width:100%;height:40px}.stt-box{border:1px solid var(--border);background:#faf6ec;border-radius:12px;padding:18px;font-size:15.5px;line-height:2}.issue-mark{cursor:help;border-radius:3px;padding:1px 2px}.hint-text{color:var(--text-muted);font-size:14px}.error-text{color:var(--red)}.link-btn{color:#a14f22;background:0 0;border:none;font-size:14px;text-decoration:underline}.issue-list{flex-direction:column;gap:14px;display:flex}.issue-item{border:1px solid var(--border);border-left:4px solid var(--navy-light);background:#fdfaf3;border-radius:10px;padding:14px 16px}.issue-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.issue-type{border-radius:20px;padding:2px 10px;font-size:12px;font-weight:700}.issue-original{color:#374151;font-size:14px;font-weight:600}.issue-desc{color:#4b5563;margin-bottom:8px;font-size:14px;line-height:1.7}.issue-fix{color:#374151;background:#f0fdf4;border-radius:8px;padding:10px 12px;font-size:14px;line-height:1.8}.fix-label{color:var(--green);font-weight:700}.pronounce-fix{margin-top:6px;font-size:14px}.grade-summary{color:#78350f;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.8}.band9-box{background:linear-gradient(135deg,#fffdf5,#fef9e7);border:1px solid #f3e6b8;border-radius:12px;padding:20px}.band9-en{color:#1f2937;white-space:pre-line;font-size:15.5px;line-height:1.9}.band9-zh{color:#6b7280;border-top:1px dashed #e5d9a8;margin-top:12px;padding-top:12px;font-size:14px;line-height:1.9}.result-empty{flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100vh;display:flex}.fb-panel{background:#fdf8ec;border:1px solid #e7d7b8;border-radius:16px;flex-direction:column;gap:12px;padding:14px 14px 16px;display:flex;box-shadow:0 6px 18px #785f2d14}.fb-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.fb-done-badge{color:#fff;background:linear-gradient(135deg,#2e9e5b,#1e8449);border-radius:20px;padding:4px 12px;font-size:12px;font-weight:700}.fb-summary{background:#fff3df;border:1px solid #efd9ad;border-left:4px solid #c9653f;border-radius:10px;padding:10px 12px}.fb-summary-title{color:#a14f22;margin-bottom:5px;font-size:12.5px;font-weight:800}.fb-summary-text{color:#5d4a30;margin:0;font-size:13px;line-height:1.75}.fb-student-title{color:#7a4a21;margin:0;font-size:12px;font-weight:700}.fb-student{color:#4a4233;background:#fffdf7;border:1px solid #eee1c6;border-radius:10px;padding:10px 12px;font-size:13.5px;line-height:1.8}.fb-dim-title{color:#7a4a21;margin:0;font-size:12px;font-weight:700}.fb-dims{flex-direction:column;gap:10px;display:flex}.fb-dim{background:#fffdf8;border:1px solid #eadfc6;border-radius:12px;padding:10px 12px}.fb-dim-head{align-items:center;gap:8px;margin-bottom:6px;display:flex}.fb-dim-tag{border-radius:6px;padding:2px 10px;font-size:12px;font-weight:800}.fb-dim-count{color:#a89c88;font-size:11.5px}.fb-dim-item{border-top:1px dashed #ece0c6;padding:7px 0}.fb-dim-item:first-child{border-top:none;padding-top:0}.fb-ori{color:#8a4a2a;margin:0 0 2px;font-size:13px;font-weight:600}.fb-issue{color:#6b6255;margin:0;font-size:12.5px;line-height:1.65}.fb-fix{color:#3d5c33;background:#f2f8ee;border-radius:6px;margin:4px 0 0;padding:4px 8px;font-size:12.5px;line-height:1.6}.fb-empty{text-align:center;color:#8a8171;flex-direction:column;align-items:center;gap:10px;padding:24px 8px;font-size:13.5px;display:flex}.fb-empty .busy-spinner{width:18px;height:18px}.tc-wrap{width:100%;margin-top:18px}.tc-card{background:linear-gradient(#fdf9ef,#fbf3e0);border:1px solid #e8d9b8;border-left:4px solid #a8842c;border-radius:14px;padding:12px 16px}.tc-card.pending{color:#8a8171;align-items:center;gap:10px;font-size:13px;display:flex}.tc-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.tc-badge{color:#fff;background:linear-gradient(135deg,#d9a441,#a8842c);border-radius:20px;padding:4px 14px;font-size:12.5px;font-weight:800}.tc-actions{gap:6px;display:inline-flex}.tc-text{color:#4a4233;white-space:pre-line;margin:0;font-size:14px;line-height:1.85}.tc-empty{color:#a89c88;margin:0;font-size:13px}.tc-card .fb-edit-summary{margin-top:4px}.fb-edit-btn{color:#7a4a21;cursor:pointer;background:#fffdf7;border:1px solid #a8842c80;border-radius:8px;padding:5px 12px;font-size:12px;font-weight:700;transition:all .15s}.fb-edit-btn:hover{background:#f3e7d5}.fb-edit-btn.ghost{color:#8a8171;background:0 0;border-color:#ddd3bd}.fb-edit-actions{gap:6px;display:inline-flex}.fb-edit-input,.fb-edit-area{box-sizing:border-box;color:#3d3226;background:#fff;border:1.5px solid #e6d8bd;border-radius:8px;outline:none;width:100%;margin:3px 0;padding:6px 8px;font-family:inherit;font-size:12.5px}.fb-edit-input:focus,.fb-edit-area:focus{border-color:#c9653f;box-shadow:0 0 0 3px #c9653f1f}.fb-edit-area{resize:vertical;line-height:1.6}.fb-edit-area.zh{color:#6b6255}.fb-edit-summary{box-sizing:border-box;color:#4a4233;resize:vertical;background:#fffdf7;border:1.5px solid #e6d8bd;border-left:4px solid #c9653f;border-radius:8px;outline:none;width:100%;margin-bottom:4px;padding:8px 10px;font-family:inherit;font-size:13px;line-height:1.7}.fb-edit-summary:focus{border-color:#c9653f}.student-upgrade{flex-direction:column;align-items:flex-start;gap:12px;width:100%;max-width:560px;display:flex}.up-btn{align-self:flex-start}.student-upgrade.busy{color:#8a8171;flex-direction:row;align-items:center;padding:18px 0;font-size:14px}.busy-spinner{border:3px solid #e3d8c3;border-top-color:#a8842c;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.up-score-row{background:#fffdf7;border:1px solid #a8842c4d;border-radius:16px;align-items:center;gap:16px;width:100%;padding:14px 18px;display:flex}.up-score{color:#fff;background:linear-gradient(135deg,#e0ae4e,#b07a22);border-radius:16px;flex-direction:column;flex-shrink:0;align-items:center;padding:8px 18px;display:flex}.up-score-num{font-size:34px;font-weight:800;line-height:1.1}.up-score-label{letter-spacing:2px;opacity:.9;font-size:11px}.up-score-note{color:#5d5342;font-size:14px;line-height:1.7}.up-block{background:#fffdf7;border:1px solid #eee3cc;border-radius:14px;width:100%;padding:14px 16px}.up-block-title{color:#7a4a21;margin-bottom:8px;font-size:13px;font-weight:700}.up-transcript{color:#3d3226;background:#faf6ec;border-radius:8px;padding:10px 12px;font-size:14px;line-height:1.9}.up-tiers{flex-direction:column;gap:12px;width:100%;display:flex}.up-tier-note{color:#8a8171;margin-bottom:6px;font-size:12.5px}.p1p-ref{flex-direction:column;gap:10px;width:100%;max-width:560px;display:flex}.ref-toggle{align-self:flex-start}.ref-module{flex-direction:column;gap:14px;display:flex}.ref-tier{background:#fffdf7;border-radius:14px;padding:16px 18px}.ref-tier.b9{background:linear-gradient(160deg,#fffdf5,#fdf6e0);border:1px solid #e3cd7a}.ref-tier.b6{background:linear-gradient(160deg,#fbfefc,#eef7f1);border:1px solid #cfe0d5}.ref-tier-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.ref-tier-badge{border-radius:20px;padding:3px 12px;font-size:12px;font-weight:800}.ref-tier.b9 .ref-tier-badge{color:#fff;background:#a8842c}.ref-tier.b6 .ref-tier-badge{color:#fff;background:#1e8449}.ref-tier-route{color:#8a8171;font-size:12px}.ref-tier .ref-en{font-size:14.5px;line-height:1.9}.ref-tier .ref-zh{color:#6b6255;border-top:1px dashed #e8dcc0;margin-top:10px;padding-top:10px;font-size:13px}.practice-content.p1-wide{max-width:none}.p1-detail-head{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:4px;display:flex}.p1-detail-head .p1-detail-title{margin:0}.ref-top-btn{color:#fff;cursor:pointer;white-space:nowrap;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff1a;border:1.5px solid #ffffff73;border-radius:24px;padding:8px 20px;font-size:13.5px;font-weight:700;transition:all .18s}.practice-pane.center{max-width:720px;margin:0 auto;padding:0 12px}.practice-pane.stack{padding:0 12px}.practice-pane.stack .pane-main{width:100%}.pane-head{flex-wrap:wrap;align-items:center;gap:14px;margin:10px 0 16px;display:flex}.pane-head .p1-detail-title{margin:0}.pane-body{align-items:flex-start;width:100%;display:flex}.pane-main{min-width:0}.p1-divider{cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;flex:0 0 16px;justify-content:center;align-self:stretch;align-items:center;width:16px;display:flex}.p1-divider-grip{background:#d8ccb2;border-radius:3px;width:4px;height:56px;transition:all .18s}.p1-divider-grip:before,.p1-divider-grip:after{content:"";background:#b8a888;width:1px;height:4px;margin:6px auto;display:block}.p1-divider:hover .p1-divider-grip{background:#c9653f;width:6px}.pane-fb{border-right:1px dashed #e3d8c3;min-width:0;max-height:calc(100vh - 40px);padding-right:22px;animation:.3s fbSlide;position:sticky;top:14px;overflow-y:auto}@keyframes fbSlide{0%{opacity:0;transform:translate(-28px)}to{opacity:1;transform:none}}.pane-ans{border-left:1px dashed #e3d8c3;min-width:0;max-height:calc(100vh - 40px);padding-left:22px;animation:.3s refSlide;position:sticky;top:14px;overflow-y:auto}@keyframes refSlide{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:none}}body.resizing,body.resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.p1-side-title{color:#7a4a21;margin-bottom:12px;font-size:13px;font-weight:700}.p1-side .ref-module{flex-direction:column;gap:12px;display:flex}.ref-q{flex-direction:column;gap:10px;display:flex}.ref-q-title{color:#1e2b3c;border-bottom:1px dashed #e8dcc0;padding-bottom:6px;font-size:13.5px;font-weight:700;line-height:1.5}.p1-mode-tabs{background:#f0ead9;border-radius:12px;gap:8px;width:-moz-fit-content;width:fit-content;margin:4px 0 18px;padding:4px;display:flex}.p1-mode-tab{color:#8a8171;background:0 0;border:none;border-radius:9px;padding:8px 20px;font-size:14px;font-weight:600;transition:all .15s}.p1-mode-tab.active{color:#a14f22;background:#fffdf7;box-shadow:0 2px 6px #5a46281a}.p1-practice{flex-direction:column;align-items:center;gap:18px;padding:8px 0 10px;display:flex}.p1p-progress{color:#8a8171;align-items:center;gap:12px;width:100%;font-size:13px;display:flex}.p1p-progress .progress-track{flex:1}.p1p-card{text-align:center;background:#fffdf7;border:1.5px solid #a8842c4d;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;max-width:560px;min-height:200px;padding:28px 26px;display:flex}.p1p-speaker{cursor:pointer;background:linear-gradient(135deg,#f3e3bd,#d9a441);border:none;border-radius:50%;justify-content:center;align-items:center;width:84px;height:84px;font-size:42px;transition:all .2s;display:flex;box-shadow:0 8px 22px #aa82324d,inset 0 1px 3px #fff9}.p1p-speaker:hover{transform:scale(1.06);box-shadow:0 10px 26px #aa823266}.p1p-speaker.playing{animation:1s infinite pulse}.p1p-card-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px;display:flex}.p1p-tip{color:#8a8171;font-size:13.5px}.p1p-question{color:#1e2b3c;font-size:21px;font-weight:700;line-height:1.7}.p1p-record{flex-direction:column;align-items:center;gap:10px;width:100%;max-width:560px;display:flex}.hold-btn{color:#fff;letter-spacing:2px;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;background:linear-gradient(135deg,#c9653f,#a14f22);border:none;border-radius:40px;width:220px;padding:16px 0;font-size:17px;font-weight:700;transition:all .15s;box-shadow:0 6px 18px #a050234d}.hold-btn:hover{transform:translateY(-1px)}.hold-btn.recording{background:linear-gradient(135deg,#b03a2e,#8e2418);animation:1s infinite pulse;box-shadow:0 0 0 6px #c0392b26,0 6px 18px #a0281e59}.p1p-record-meta{color:#8a8171;font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-size:13px;display:flex}.rec-dot{background:#d0c8b4;border-radius:50%;width:10px;height:10px}.rec-dot.on{background:#c0392b;animation:1s infinite blink}.p1p-kbd-hint{color:#a89c88;font-size:12.5px}.p1p-kbd-hint b{color:#7a4a21;background:#f3e7d5;border:1px solid #e0d2b4;border-radius:6px;padding:1px 8px}.p1p-review{background:#faf6ec;border:1px solid #eee3cc;border-radius:14px;flex-direction:column;gap:10px;width:100%;padding:14px 16px;display:flex}.p1p-review-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ghost-btn{color:#7a4a21;cursor:pointer;background:#fffdf7;border:1px solid #a8842c66;border-radius:9px;padding:7px 16px;font-size:13px;font-weight:600;transition:all .15s}.ghost-btn:hover{background:#f3e7d5}.ghost-btn:disabled{opacity:.4;cursor:not-allowed}.p1p-limit-tip{color:#c0392b;font-size:12.5px}.p1p-answer{border-top:1px dashed #e0d2b4;padding-top:10px}.p1p-nav{justify-content:space-between;width:100%;max-width:560px;display:flex}.p1-done{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:40px 0;display:flex}.done-emoji{font-size:52px}.group-sections{flex-direction:column;gap:30px;display:flex}.group-head{margin-bottom:12px}.group-head.inline{flex-wrap:wrap;align-items:baseline;gap:10px;margin:18px 0 10px;display:flex}.group-title{color:var(--navy);align-items:center;gap:8px;margin:0;font-size:17px;font-weight:700;display:flex}.group-note{color:var(--text-muted);margin-top:4px;font-size:12.5px}.group-badge{vertical-align:middle;border-radius:20px;padding:2px 10px;font-size:11px;font-weight:700;display:inline-block}.group-badge.must{color:#fff;background:#c05a2e}.group-badge.old{color:#7a6a4a;background:#e8e0d0;border:1px solid #d8ccb2}.group-badge.new{color:#fff;background:#1e8449}.topic-num{color:#c05a2e;text-align:center;font-variant-numeric:tabular-nums;flex-shrink:0;min-width:20px;font-size:13.5px;font-weight:700}.topic-card.pending{opacity:.75;cursor:default;background:#faf6ec}.topic-card.pending .topic-name{color:var(--text-muted)}.pending-tag{color:#a89c88;font-size:12px}.group-empty{padding:8px 2px}.back-btn.light{color:#7a4a21;background:#fffdf7;border-color:#a8842c66}.back-btn.light:hover{background:#f3e7d5}.history-entry{justify-content:center;margin-top:28px;display:flex}.history-btn{border:1.5px solid var(--navy-light);color:#a14f22;background:#fff;border-radius:12px;padding:13px 36px;font-size:15px;font-weight:600;transition:all .2s}.history-btn:hover{background:var(--navy-light);color:#fff}.history-page{max-width:860px;min-height:100vh;margin:0 auto;padding:40px 24px 80px}.history-empty{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:60px 0;display:flex}.history-list{flex-direction:column;gap:14px;display:flex}.history-card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;align-items:center;gap:12px;padding:18px 20px;transition:all .15s;display:flex}.history-card:hover{border-color:#a14f22;transform:translateY(-1px)}.history-main{text-align:left;background:0 0;border:none;flex:1;padding:0}.history-time{color:var(--text-muted);margin-bottom:6px;font-size:13px}.history-meta{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.mode-badge{border-radius:20px;padding:3px 12px;font-size:12px;font-weight:700}.mode-badge.random{color:#a14f22;background:#f3e7d5}.mode-badge.custom{color:#8a6d1a;background:#fdf6e3}.history-info{color:#374151;font-size:14px}.history-progress{align-items:center;gap:12px;display:flex}.history-progress .progress-track{flex:1;max-width:300px}.history-pct{color:var(--text-muted);white-space:nowrap;font-size:12px}.history-delete{opacity:.4;background:0 0;border:none;padding:6px;font-size:18px;transition:all .15s}.history-delete:hover{opacity:1;transform:scale(1.1)}.home-page{background-color:#f6f1e6;background-image:radial-gradient(#785a320d 1px,#0000 1px);background-size:24px 24px;min-height:100vh}.home-topbar{color:var(--navy);border-bottom:1px solid #e5d9c2;justify-content:space-between;align-items:center;padding:14px 28px;display:flex}.home-brand{letter-spacing:1px;font-size:18px;font-weight:700}.home-user{align-items:center;gap:14px;display:flex}.profile-wrap{position:relative}.profile-btn{cursor:pointer;background:#fffdf7;border:1px solid #a8842c47;border-radius:24px;align-items:center;gap:8px;padding:4px 12px 4px 4px;transition:all .18s;display:flex;box-shadow:0 1px 4px #5a46280f}.profile-btn:hover{border-color:#a8842c8c;transform:translateY(-1px);box-shadow:0 4px 12px #5a462824}.profile-avatar{background:linear-gradient(135deg,#d9a441,#a14f22);border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:17px;display:flex;box-shadow:inset 0 1px 2px #ffffff59}.profile-name{color:#3d3226;text-overflow:ellipsis;white-space:nowrap;max-width:110px;font-size:13.5px;font-weight:600;overflow:hidden}.profile-chevron{color:#a89c88;font-size:10px;transition:transform .2s}.profile-chevron.up{transform:rotate(180deg)}.profile-mask{z-index:90;position:fixed;top:0;bottom:0;left:0;right:0}.profile-menu{z-index:100;background:#fffdf7;border:1px solid #a8842c38;border-radius:18px;width:300px;padding:18px;animation:.18s menuIn;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 24px 60px #3c2d1438,0 4px 16px #3c2d1414}@keyframes menuIn{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:none}}.pm-head{align-items:center;gap:12px;display:flex}.pm-avatar{background:linear-gradient(135deg,#d9a441,#a14f22);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:24px;display:flex;box-shadow:inset 0 1px 3px #ffffff59}.pm-id{min-width:0}.pm-name{color:#1e2b3c;font-size:16px;font-weight:700}.pm-email{color:#a89c88;text-overflow:ellipsis;margin-top:2px;font-size:12px;overflow:hidden}.pm-divider{background:#efe7d6;height:1px;margin:16px 0}.pm-row{justify-content:space-between;align-items:center;display:flex}.pm-label{color:#8a8171;font-size:13px;font-weight:600}.pm-edit-btn{cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:4px 0;display:flex}.pm-value{color:#3d3226;text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-size:14px;font-weight:600;overflow:hidden}.pm-edit-icon{color:#a14f22;background:#f9ecdd;border-radius:20px;padding:3px 10px;font-size:12px;transition:all .15s}.pm-edit-btn:hover .pm-edit-icon{color:#fff;background:#c9653f}.pm-edit-field .pm-label{margin-bottom:8px;display:block}.pm-input-row{gap:6px;display:flex}.pm-input{color:#3d3226;background:#fff;border:1.5px solid #a8842c66;border-radius:10px;outline:none;flex:1;min-width:0;padding:9px 12px;font-size:14px;transition:border .15s}.pm-input:focus{border-color:#a14f22;box-shadow:0 0 0 3px #c0653f1f}.pm-save,.pm-cancel{cursor:pointer;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:15px;transition:all .15s;display:inline-flex}.pm-save{color:#fff;background:linear-gradient(135deg,#2e9e5b,#1e8449)}.pm-save:hover{transform:translateY(-1px);box-shadow:0 3px 8px #1e84494d}.pm-cancel{color:#8a8171;background:#f0ead9}.pm-cancel:hover{background:#e6ddc6}.pm-tip{margin-top:8px;font-size:12.5px}.pm-tip.ok{color:#1e8449}.pm-logout{color:#c0392b;cursor:pointer;background:#fdf6f4;border:1px solid #f0d9d4;border-radius:10px;width:100%;padding:10px 0;font-size:14px;font-weight:600;transition:all .15s}.pm-logout:hover{color:#fff;background:#c0392b;border-color:#c0392b}.home-history{color:#5d5342;cursor:pointer;background:#fffdf7;border:1px solid #a8842c47;border-radius:24px;align-items:center;gap:8px;padding:4px 16px 4px 4px;font-size:13.5px;font-weight:600;transition:all .18s;display:inline-flex;box-shadow:0 1px 4px #5a46280f}.home-history:hover{background:#fffaf0;border-color:#a8842c8c;transform:translateY(-1px);box-shadow:0 4px 12px #5a462824}.hh-icon{background:linear-gradient(135deg,#f3e3bd,#dbb768);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:flex;box-shadow:inset 0 1px 2px #ffffff80}.home-history:hover .hh-icon{background:linear-gradient(135deg,#e8cd8f,#cf9f4a)}.home-logout{color:#7a756a;cursor:pointer;background:0 0;border:1px solid #8c785a40;border-radius:24px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .18s}.home-logout:hover{color:#c0392b;background:#fdf0ee;border-color:#c0392b80}.home-hero{text-align:center;color:var(--navy);padding:34px 20px 4px}.home-hero h1{letter-spacing:6px;font-size:40px}.home-hero p{color:#8a8171;letter-spacing:3px;margin-top:8px}.home-grid{grid-template-columns:repeat(auto-fit,minmax(288px,1fr));gap:26px;max-width:1200px;margin:40px auto 0;padding:0 24px 60px;display:grid}.home-card{background:var(--card);border:2px solid var(--border);text-align:left;border-radius:22px;flex-direction:column;padding:40px 32px;transition:all .22s;display:flex;box-shadow:0 8px 30px #0000001f}.home-card:hover{transform:translateY(-6px);box-shadow:0 18px 44px #0000002e}.home-card.practice{border-top:5px solid #c05a2e}.home-card.mock{border-top:5px solid var(--gold)}.home-card-icon{font-size:52px}.home-card h2{color:var(--navy);margin:14px 0 4px;font-size:26px}.home-card-sub{color:var(--text-muted);font-size:15px}.home-card-list{color:#374151;margin:18px 0 24px;padding-left:18px;font-size:14.5px;line-height:2.1}.home-card-cta{margin-top:auto;font-size:16px;font-weight:700}.home-card.practice .home-card-cta{color:#a14f22}.home-card.mock .home-card-cta{color:#8a6d1a}.home-card{position:relative}.home-card.graded{border-top:5px solid #2e8b57}.home-card.graded .home-card-cta{color:#1e8449}.home-card-badge{color:#fff;background:#e11d48;border-radius:13px;justify-content:center;align-items:center;min-width:26px;height:26px;padding:0 8px;font-size:14px;font-weight:800;line-height:1;display:flex;position:absolute;top:14px;right:16px;box-shadow:0 2px 10px #e11d4873}.practice-page{background:var(--bg);min-height:100vh;padding:0 0 80px}.practice-topbar{background:var(--navy-dark);color:#fff;flex-wrap:wrap;align-items:center;gap:18px;padding:12px 26px;display:flex}.practice-title{font-size:17px;font-weight:700}.practice-note{color:var(--gold-light);font-size:12px}.back-btn{color:#fff;background:0 0;border:1px solid #ffffff4d;border-radius:8px;padding:6px 14px;font-size:13px;transition:all .15s}.back-btn:hover{background:#ffffff26}.back-btn.abs{position:absolute;top:24px;left:24px}.practice-tabs{justify-content:center;gap:10px;margin:20px 0 18px;padding-right:0;display:flex;position:relative}.ptabs-center{gap:10px;display:flex}.ref-top-wrap{position:absolute;top:50%;right:22px;transform:translateY(-50%)}.fb-top-wrap{position:absolute;top:50%;left:22px;transform:translateY(-50%)}.ref-top-btn{color:#7a4a21;cursor:pointer;white-space:nowrap;background:#fffdf7;border:1.5px solid #a8842c80;border-radius:12px;align-items:center;gap:6px;padding:9px 18px;font-size:13.5px;font-weight:700;transition:all .18s;display:inline-flex;box-shadow:0 2px 8px #5a462814}.ref-top-btn:hover{background:#f3e7d5;border-color:#a8842cbf}.ref-top-btn.active{color:#fff;background:linear-gradient(135deg,#c9653f,#a14f22);border-color:#0000;box-shadow:0 4px 12px #a050234d}.p-tab{border:1.5px solid var(--border);background:var(--card);color:#374151;border-radius:12px;align-items:center;gap:8px;padding:10px 24px;font-size:15px;font-weight:600;transition:all .15s;display:flex}.p-tab.active{background:var(--navy-light);color:#fff;border-color:#a14f22}.p-count{opacity:.8;font-size:12px;font-weight:400}.practice-content{max-width:780px;margin:0 auto;padding:0 20px}.topic-card.list{cursor:pointer}.topic-card.list:hover{border-color:#a14f22}.q-count{color:var(--text-muted);background:#f0ead9;border-radius:20px;padding:2px 10px;font-size:12px}.p1-detail-title{color:var(--navy);margin:14px 0 16px;font-size:22px}.q-list{flex-direction:column;gap:10px;display:flex}.q-item{background:var(--card);border:1px solid var(--border);border-radius:12px;transition:all .15s;overflow:hidden}.q-item.open{box-shadow:var(--shadow);border-color:#a14f22}.q-item-head{text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:14px 16px;display:flex}.q-num{color:#a14f22;background:#f3e7d5;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;font-weight:700;display:flex}.q-item.p3 .q-num{color:#8a6d1a;background:#fdf6e3}.q-text{color:var(--text);flex:1;font-size:15px;line-height:1.6}.q-arrow{color:var(--text-muted);font-size:12px}.q-item-body{border-top:1px dashed var(--border);padding:4px 16px 18px 58px}.ref-label{color:var(--gold);margin:12px 0 8px;font-size:13px;font-weight:700}.ref-en{color:#1f2937;white-space:pre-wrap;word-break:break-word;font-size:14.5px;line-height:1.9}.ref-zh{color:#6b7280;white-space:pre-wrap;word-break:break-word;margin-top:8px;font-size:13.5px;line-height:1.9}.p2-detail-topic{color:var(--navy);margin:14px 0 6px;font-size:22px}.p2-detail .p2-question{color:var(--navy);font-size:16px;font-weight:600;line-height:1.6}.p2-detail .p2-prompts{background:var(--card);border:1px solid var(--border);border-radius:12px;margin:14px 0 20px;padding:16px 20px 16px 40px}@media (max-width:1180px){.practice-pane.split .pane-body,.practice-pane.stack .pane-body{flex-direction:column;align-items:stretch}.pane-body .pane-main{order:0;flex:none!important;width:100%!important;max-width:none!important;margin:0!important}.pane-fb{border-right:none;order:1;max-height:none;padding-right:0;position:static;overflow:visible;flex:none!important;width:100%!important}.pane-ans{border-left:none;order:2;max-height:none;padding-left:0;position:static;overflow:visible;flex:none!important;width:100%!important}.p1-divider{display:none}}@media (max-width:900px){.login-shell{flex-direction:column;gap:30px}.login-brand{display:none}.ref-top-wrap,.fb-top-wrap{margin:0;position:static;transform:none}.practice-tabs{flex-wrap:wrap;justify-content:center}}@media (max-width:720px){.home-grid,.mode-grid{grid-template-columns:1fr}.result-page{flex-direction:column}.result-nav{flex-wrap:wrap;gap:4px;width:100%;max-height:none;display:flex;position:static}.result-group{margin-bottom:4px}}.group-tip{color:var(--text-muted);margin:-10px 0 4px;font-size:13px}.p2-top{flex-wrap:wrap;align-items:center;gap:12px;margin:6px 0 8px;display:flex}.p2-top .p2-detail-topic{margin:0}.p2-top .group-badge{font-size:11px}.p2-block-title{color:var(--gold);letter-spacing:.5px;align-items:center;gap:8px;margin:18px 0 8px;font-size:13px;font-weight:700;display:flex}.p2-block-title:after{content:"";background:linear-gradient(90deg,#a8842c59,#0000);flex:1;height:1px}.p2-detail .p2-question{margin-top:2px}.p2-empty-ans{color:#a89c88;padding:4px 2px;font-size:13.5px;line-height:1.7}.p2-batch{background:linear-gradient(#fffdf7,#faf4e4);border:1px dashed #d8ccb2;border-radius:14px;padding:14px 18px}.p2-batch .group-title{letter-spacing:.3px;font-size:19px}.p2-batch .group-badge{font-size:12px}.p2-batch .group-note{margin-top:6px;font-size:13px}.p2-region-badge{color:#45617b;vertical-align:2px;letter-spacing:.5px;white-space:nowrap;background:#e8eff5;border:1px solid #c8d7e4;border-radius:20px;margin-left:8px;padding:1px 10px;font-size:11px;font-weight:600;display:inline-block}.p2-top-part{color:var(--text-muted);border:1px solid var(--border);white-space:nowrap;background:#fffdf7;border-radius:20px;padding:2px 10px;font-size:12.5px}.group-badge.noncn{color:#45617b;background:#e8eff5;border:1px solid #c8d7e4}.home-history.teacher{color:#a14f22;background:#fbf0e4;border:1px solid #e3b890;box-shadow:0 1px 6px #a0501e12}.home-history.teacher:hover{background:#f7e3cf;border-color:#d09a68;transform:translateY(-1px);box-shadow:0 4px 14px #a0501e21}.home-history.teacher .hh-icon{color:#fff;background:linear-gradient(135deg,#d98d5f,#b25728)}.profile-avatar.avatar-letter,.pm-avatar.avatar-letter{color:#fff;text-transform:uppercase;letter-spacing:0;font-weight:700;line-height:1}.profile-avatar.avatar-letter{font-size:15px}.pm-avatar.avatar-letter{font-size:20px}.p1p-mic-err{color:#c0392b;text-align:left;background:#fdf1ef;border:1px solid #efc8c2;border-radius:10px;max-width:560px;margin-top:10px;padding:8px 12px;font-size:13px;line-height:1.7}.history-subtitle{color:var(--navy);border-top:1px dashed var(--border);margin:34px 0 12px;padding-top:18px;font-size:16px}.cloud-section{margin-bottom:8px}.cloud-card{display:block}.cloud-student{color:#a14f22;font-size:13.5px;font-weight:600}.cloud-detail{border-top:1px dashed var(--border);flex-direction:column;gap:16px;margin-top:4px;padding:6px 16px 18px;display:flex}.cloud-answer{flex-direction:column;gap:8px;display:flex}.cloud-answer-head{align-items:baseline;gap:10px;display:flex}.cloud-seq{color:#8a6d1a;background:#fdf6e3;border-radius:20px;flex-shrink:0;padding:2px 10px;font-size:12px;font-weight:700}.cloud-q{color:var(--text);font-size:14px;line-height:1.6}.cloud-transcript{color:#4a4437;border:1px solid var(--border);background:#fffdf7;border-radius:10px;padding:8px 12px;font-size:13.5px;line-height:1.8}.p1p-submit{flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;display:flex}.p1p-submit-meta{color:var(--text-muted);font-size:12.5px}.p1p-submit-msg{font-size:13px;line-height:1.6}.p1p-submit-msg.ok{color:#1e8449}.p1p-submit-msg.err{color:#c0392b}.topic-card{position:relative}.topic-done{z-index:2;color:#fff;background:linear-gradient(135deg,#34a853,#1e8449);border:2px solid #fffdf7;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:13px;font-weight:700;line-height:1;display:flex;position:absolute;top:-7px;right:-7px;box-shadow:0 2px 8px #1e844959}.p1p-last-tip{color:var(--text-muted);font-size:13px}.history-page .mode-header .back-btn{color:#7a4a21;background:#fffdf7;border:1.5px solid #a8842c73;border-radius:10px;margin-bottom:14px;padding:8px 18px;font-size:13.5px;font-weight:600;box-shadow:0 2px 8px #5a46281a}.history-page .mode-header .back-btn:hover{color:#6b3f1c;background:#f7e9d8;border-color:#a8842ccc;transform:translateY(-1px)}.exam-sync-bar{border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:10px 16px;font-size:13.5px;line-height:1.7;display:flex}.exam-sync-bar.syncing{color:#8a6d1a;background:#fdf6e3;border:1px solid #e8dcb8}.exam-sync-bar.ok{color:#1e8449;background:#eef7f0;border:1px solid #bfe0c8}.exam-sync-bar.error{color:#c0392b;background:#fdf1ef;border:1px solid #efc8c2}.exam-sync-bar .ghost-btn{padding:4px 12px;font-size:13px}.cloud-audio-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.cloud-del-audio{color:#b03a2e;white-space:nowrap;background:#fdf1ef;border:1px solid #e6c4bd;border-radius:10px;padding:6px 14px;font-size:13px;font-weight:600;transition:all .15s}.cloud-del-audio:hover{color:#98291f;background:#f9e2de;border-color:#d99f95}.grade-toolbar{border:1px solid var(--border);background:#fffdf7;border-radius:12px;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:14px;padding:12px 16px;display:flex}.gt-pick-all{color:#4a4437;cursor:pointer;align-items:center;gap:7px;font-size:13.5px;display:inline-flex}.gt-count{color:var(--text-muted);font-size:13px}.gt-btn{padding:8px 16px!important;font-size:13.5px!important}.grade-msg{white-space:pre-wrap;color:#1e8449;font-size:12.5px;line-height:1.8;font-family:var(--sans);background:#eef7f0;border:1px solid #bfe0c8;border-radius:10px;margin-bottom:14px;padding:10px 14px}.grade-badge{color:#8a8171;background:#f0ead9;border-radius:20px;padding:2px 10px;font-size:11.5px;font-weight:700}.grade-badge.queued{color:#8a6d1a;background:#fdf6e3;border:1px solid #e8dcb8}.grade-badge.grading{color:#45617b;background:#e8eff5;border:1px solid #c8d7e4}.grade-badge.done{color:#1e8449;background:#eef7f0;border:1px solid #bfe0c8}.cloud-pick{z-index:3;position:absolute;top:12px;left:10px}.cloud-card{position:relative}.cloud-card .history-main{padding-left:38px}.cloud-grading{border:1px solid var(--border);background:#fffdf7;border-radius:12px;margin-top:12px;padding:14px 16px}.cg-head{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.cg-score-note{color:var(--text-muted);font-size:12.5px;line-height:1.7}.cg-issues{flex-direction:column;gap:10px;margin:6px 0 4px;list-style:none;display:flex}.cg-issues li{border-bottom:1px dashed var(--border);flex-direction:column;gap:3px;padding-bottom:8px;display:flex}.cg-type{border:1px solid;border-radius:20px;align-self:flex-start;margin-bottom:2px;padding:1px 9px;font-size:11px;font-weight:700}.cg-orig{color:#b03a2e;font-size:13.5px;font-weight:600}.cg-issue{color:#4a4437;font-size:13px;line-height:1.7}.cg-sug{color:#1e8449;font-size:13px;line-height:1.7}.cg-word{color:#45617b;font-size:12.5px}.cg-version{border-top:1px dashed var(--border);margin-top:12px;padding-top:10px}.cg-v-title{color:var(--gold);margin-bottom:6px;font-size:12.5px;font-weight:700}.cg-en{color:var(--navy);font-size:14px;line-height:1.75}.cg-zh{color:#6b6355;margin-top:4px;font-size:13px;line-height:1.7}.cg-v-note{color:var(--text-muted);margin-top:5px;font-size:12.5px;font-style:italic}.cloud-grading.invalid{background:#fdf6e3;border-color:#e8dcb8}.cg-invalid{color:#8a6d1a;font-size:13.5px;line-height:1.8}.srv-dot{color:var(--text-muted);font-size:12px}.srv-dot.on{color:#1e8449}.srv-dot.off{color:#c0392b}.grade-progress{border:1px solid var(--border);background:#fffdf7;border-radius:12px;margin-bottom:14px;padding:12px 16px}.gp-head{color:var(--navy);flex-wrap:wrap;align-items:baseline;gap:12px;font-size:13.5px;font-weight:600;display:flex}.gp-sum{color:var(--text-muted);font-size:12.5px;font-weight:400}.gp-err{color:#c0392b;margin-top:6px;font-size:13px}.gp-logs{color:#e8dcc6;white-space:pre-wrap;background:#2b2118;border-radius:10px;max-height:220px;margin-top:10px;padding:10px 12px;font-family:ui-monospace,Menlo,monospace;font-size:12px;line-height:1.7;overflow-y:auto}.gt-hint{color:var(--text-muted);font-size:12.5px}.cloud-comment{border:1px solid var(--border);background:#fffdf7;border-radius:12px;margin:10px 16px 4px;padding:12px 14px}.cc-head{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.cc-title{color:var(--navy);font-size:13.5px;font-weight:700}.cc-status{color:var(--text-muted);font-size:12px}.cc-status.ok{color:#1e8449;font-weight:600}.cc-input{border:1px solid var(--border);width:100%;font-family:var(--sans);color:var(--text);resize:vertical;background:#fffdf7;border-radius:10px;padding:10px 12px;font-size:13.5px;line-height:1.8}.cc-input:focus{border-color:#c9a86a;outline:none;box-shadow:0 0 0 2px #a8842c1f}.cc-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;display:flex}.cc-msg{color:#1e8449;font-size:12.5px}.topic-graded{color:#1e8449;vertical-align:2px;white-space:nowrap;background:#eef7f0;border:1px solid #bfe0c8;border-radius:20px;margin-left:8px;padding:1px 10px;font-size:11px;font-weight:700;display:inline-block}.answer-toggle{color:#7a4a21;white-space:nowrap;background:#fffdf7;border:1px solid #a8842c73;border-radius:10px;align-self:flex-start;margin-top:4px;padding:6px 14px;font-size:13px;font-weight:600;transition:all .15s}.answer-toggle:hover{background:#f7e9d8;border-color:#a8842ccc}.answer-toggle.open{background:#f3ecdd;border-color:#a8842c99}.answer-detail{flex-direction:column;gap:8px;margin-top:6px;display:flex}.cloud-audio-actions{justify-content:space-between;align-items:center;gap:12px;width:100%;margin-top:6px;display:flex}.cloud-audio-actions .answer-toggle{margin-top:0}.cloud-audio-actions .cloud-del-audio{margin-left:auto}.gt-regrade{color:#8a6d1a;cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.cc-input{min-height:110px;line-height:1.85;overflow-y:hidden}.cg-edit{border:1px solid var(--border);width:100%;font-family:var(--sans);color:var(--navy);resize:vertical;background:#fffdf7;border-radius:10px;min-height:70px;padding:10px 12px;font-size:14px;line-height:1.8;overflow-y:hidden}.cg-edit:focus{border-color:#c9a86a;outline:none;box-shadow:0 0 0 2px #a8842c1f}.cloud-comment .cc-input{min-height:120px}.cloud-detail{overscroll-behavior:contain;max-height:66vh;padding-right:10px;overflow-y:auto}.cloud-comment .cc-input{max-height:50vh;overflow-y:auto}.cloud-detail::-webkit-scrollbar{width:8px}.cloud-comment .cc-input::-webkit-scrollbar{width:8px}.cloud-detail::-webkit-scrollbar-thumb{background:#d8ccb2;border-radius:8px}.cloud-comment .cc-input::-webkit-scrollbar-thumb{background:#d8ccb2;border-radius:8px}.cloud-detail::-webkit-scrollbar-thumb:hover{background:#c0b090}.cloud-comment .cc-input::-webkit-scrollbar-thumb:hover{background:#c0b090}.cloud-detail::-webkit-scrollbar-track{background:0 0}.cloud-comment .cc-input::-webkit-scrollbar-track{background:0 0}.cg-issue-edit{border:1px solid var(--border);background:#fff;border-radius:10px;flex-direction:column;gap:6px;margin:8px 0;padding:10px 12px;display:flex}.cg-issue-edit .cg-edit{background:#fffefa;min-height:44px;font-size:13.5px}.cg-edit-sm{color:#b03a2e;background:#fffefa;min-height:34px;font-weight:600}.transcript-edit{color:#4a4437;font-size:13.5px}.transcript-inline{border:1px solid var(--border);background:#fbfaf6;border-radius:12px;margin-top:10px;padding:10px 12px}.ti-head{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:6px;display:flex}.ti-title{color:var(--gold);font-size:12.5px;font-weight:700}.ti-state{color:var(--text-muted);font-size:12px}.ti-state.ok{color:#1e8449}.bottom-save{z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid var(--border);background:#fffdf7f5;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;padding:10px 12px;display:flex;position:sticky;bottom:0;box-shadow:0 -6px 14px #503c140d}.bs-label{color:var(--text-muted);font-size:12.5px}.cloud-comment .cc-input{min-height:96px;max-height:none;overflow-y:hidden}.transcript-inline{background:0 0;border:0;border-radius:0;margin-top:8px;padding:0}.ti-line{color:#1e8449;margin-bottom:2px;font-size:12.5px;font-weight:600}.cg-edit-flat{width:100%;font-family:var(--sans);color:var(--navy);resize:vertical;background:0 0;border:1px solid #0000;border-radius:8px;min-height:30px;margin:0 -6px;padding:4px 6px;font-size:13.5px;line-height:1.8;transition:background .12s,border-color .12s;overflow-y:hidden}.cg-edit-flat:hover{background:#fffdf7;border-color:#a8842c47}.cg-edit-flat:focus{background:#fff;border-color:#c9a86a;outline:none;box-shadow:0 0 0 2px #a8842c1a}.cg-edit-flat::placeholder{color:#bdb4a3}.cg-orig-input{color:#b03a2e;font-weight:600}.cg-sug-input{color:#1e8449}.cg-en-input{color:var(--navy);font-size:14px;line-height:1.8}.cg-issue-flat{flex-direction:column;gap:1px;padding:4px 0 8px;display:flex}.cg-issue-flat+.cg-issue-flat{border-top:1px dashed var(--border)}.cg-type-flat{letter-spacing:.4px;margin-bottom:1px;font-size:11.5px;font-weight:700}.cg-head{margin-bottom:6px}.cg-score{color:var(--navy);background:0 0;border-radius:0;padding:0;font-size:13.5px;font-weight:700}.cloud-grading{padding:12px 14px}.cg-v-title{margin-top:4px}.cg-version.adv{background:0 0}.cg-issue-flat+.cg-issue-flat,.cg-version{border-top-color:#e3d8c3b3}.cloud-comment{border:0;border-bottom:1px dashed var(--border);background:0 0;border-radius:0;margin:10px 0 4px;padding:0 0 12px}.cloud-comment .cc-input{border:1px solid var(--border);background:#fffdf7}.cg-v-note{color:#6b6355;background:#f5f0e2;border-left:3px solid #c9a86a;border-radius:0 8px 8px 0;align-items:flex-start;gap:8px;margin-top:8px;padding:7px 10px;font-size:12.5px;font-style:italic;line-height:1.75;display:flex}.cg-note-tag{color:#8a6d1a;background:#ece2c8;border-radius:4px;flex:none;margin-top:1px;padding:0 6px;font-size:11px;font-style:normal;font-weight:700;line-height:1.6}.cloud-split{grid-template-columns:minmax(0,1fr) 0;align-items:start;gap:0;transition:grid-template-columns .34s cubic-bezier(.4,0,.2,1),gap .34s cubic-bezier(.4,0,.2,1);display:grid}.cloud-list-col{min-width:0}.cloud-side{border:1px solid var(--border);opacity:0;visibility:hidden;background:#fff;border-radius:16px;transition:opacity .26s,transform .34s cubic-bezier(.4,0,.2,1),visibility 0s linear .34s;position:sticky;top:14px;transform:translate(26px)}.cloud-split.has-detail .cloud-side{opacity:1;visibility:visible;transition:opacity .26s,transform .34s cubic-bezier(.4,0,.2,1),visibility;transform:none}.side-inner{overscroll-behavior:contain;max-height:calc(100vh - 34px);padding:14px 16px 12px;overflow-y:auto}.side-head{z-index:2;border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:flex-start;gap:12px;margin:-14px -16px 6px;padding:14px 16px 10px;display:flex;position:sticky;top:-14px}.side-title{flex-direction:column;gap:2px;min-width:0;display:flex}.side-name{color:var(--navy);font-size:15px;font-weight:700}.side-sub{color:var(--text-muted);font-size:12px}.side-close{cursor:pointer;border:1px solid var(--border);color:#6b6355;font-size:12.5px;font-family:var(--sans);background:#fffdf7;border-radius:9px;flex:none;padding:5px 10px}.side-close:hover{background:#f3ecdd;border-color:#a8842c99}.cloud-side .cloud-detail{max-height:none;padding-right:0;overflow:visible}.cloud-side .cloud-comment{margin:6px 0 10px}.cloud-side .bottom-save{border-radius:10px}@media (max-width:1080px){.cloud-split.has-detail{grid-template-columns:minmax(0,1fr) 0;gap:0}.cloud-side{z-index:60;border-radius:16px 0 0 16px;width:min(560px,94vw);position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.cloud-split.has-detail .cloud-side{opacity:1;visibility:visible;transform:none}.side-inner{max-height:100vh;padding-bottom:20px}.side-head{top:-14px}}.history-card.active{background:#fffdf7;border-color:#a8842c8c;box-shadow:0 2px 12px #a8842c1a}.history-card.active:before{content:"";background:var(--gold);border-radius:3px;width:3px;position:absolute;top:10px;bottom:10px;left:0}.history-page{max-width:none;margin:0;padding:22px 14px 80px 10px}.history-page>.history-subtitle,.history-page>.history-list,.history-page>.history-empty{max-width:860px}.cloud-split.has-detail{grid-template-columns:clamp(280px,19%,340px) minmax(0,1fr);gap:16px}.cloud-list-col .history-card{gap:8px;padding:14px 14px 14px 16px}.cloud-list-col .cloud-card .history-main{padding-left:26px}.cloud-list-col .history-pick,.cloud-list-col .cloud-pick{top:10px;left:6px}.cloud-list-col .history-time{margin-bottom:5px;font-size:12.5px}.cloud-list-col .history-meta{gap:5px 6px;margin-bottom:6px}.cloud-list-col .mode-badge{padding:2px 9px;font-size:11px}.cloud-list-col .grade-badge{font-size:11px}.cloud-list-col .history-info{font-size:12.5px;line-height:1.5}.cloud-list-col .history-delete{padding:4px;font-size:16px}.cloud-list-col .history-progress .progress-track{max-width:none}.cloud-side .side-inner{padding:16px 18px 14px}.cloud-side .cloud-answer{padding:14px 16px}.cloud-comment .cc-input{height:auto;min-height:47px}.cc-input,.cg-edit-flat{field-sizing:content;resize:none;overflow-y:hidden}.history-page{max-width:860px;margin:0 auto;padding:40px 24px 80px;transition:padding .34s cubic-bezier(.4,0,.2,1)}.history-page.has-detail{max-width:100%;margin:0;padding:22px 14px 80px 10px}.cloud-split.has-detail .cloud-list-col{animation:.36s cubic-bezier(.4,0,.2,1) listShiftLeft}@keyframes listShiftLeft{0%{opacity:.6;transform:translate(90px)}to{opacity:1;transform:none}}.history-page>.history-subtitle,.history-page>.history-list,.history-page>.history-empty{max-width:860px;margin-left:auto;margin-right:auto}.history-empty.auth-lost{background:#fdf6f3;border:1px dashed #b03a2e73;border-radius:14px;padding:32px 24px}.history-empty.auth-lost p{max-width:560px}.exam-quit{z-index:40;color:#b03a2e;font-size:13px;font-weight:600;font-family:var(--sans);cursor:pointer;background:#fffdf7;border:1px solid #b03a2e59;border-radius:10px;padding:7px 14px;position:fixed;top:14px;right:16px;box-shadow:0 2px 8px #503c1414}.exam-quit:hover{background:#fdf1ec;border-color:#b03a2ea6}.big-timer{font-variant-numeric:tabular-nums}.rec-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:4px;display:flex}.replay-btn{color:#7a4a21;border-color:#a8842c73}.replay-btn:hover{background:#f7e9d8;border-color:#a8842ccc}.upload-box{border:1px solid var(--border);text-align:center;background:#fbf9f3;border-radius:14px;width:100%;max-width:460px;margin:4px auto 16px;padding:14px 16px}.upload-box.ok{background:#f2f9f3;border-color:#bfe0c8}.upload-box.err{background:#fdf6f3;border-color:#b03a2e59}.upload-title{color:var(--navy);margin-bottom:8px;font-size:14.5px;font-weight:700}.up-bar{background:#eee6d5;border-radius:999px;height:8px;margin:6px 0 8px;overflow:hidden}.up-fill{background:linear-gradient(90deg,#c9a86a,#a8842c);border-radius:999px;height:100%;transition:width .25s}.up-text{color:#6b6355;font-variant-numeric:tabular-nums;font-size:13px}.upload-box .hint-text{margin-top:6px}.upload-err-code{color:#8a3b2e;word-break:break-all;text-align:left;background:#fff;border:1px dashed #b03a2e59;border-radius:8px;margin-top:6px;padding:6px 10px;font-family:ui-monospace,Menlo,monospace;font-size:11.5px;display:inline-block}.sync-badge{color:#8a6d1a;background:#fdf6e3;border:1px solid #e8dcb8;border-radius:20px;margin-left:8px;padding:1px 9px;font-size:11px;font-weight:700;display:inline-block}.cleanup-note{color:#1e8449;margin:6px 0 2px}.topic-card.list.open{cursor:default;grid-column:1/-1}.topic-card-head.as-btn{box-sizing:border-box;width:100%;font-family:inherit;font-size:inherit;text-align:left;background:0 0;border:none}.topic-card.list:hover .topic-card-head.as-btn{background:#fffdf7}.topic-card.open .topic-card-head.as-btn{border-bottom:1px dashed var(--border);background:#fffdf7}.p2-expand{padding:4px 18px 20px}.p2-expand .p2-block-title:first-child{margin-top:14px}.p2-card-box{border:1px solid var(--border);background:#fffdf7;border-radius:12px;margin-top:2px;padding:16px 20px}.p2-card-q{color:var(--navy);margin:0 0 10px;font-size:17px;font-weight:700;line-height:1.65}.p2-card-prompts{color:#374151;margin:0;padding-left:20px;font-size:14.5px;line-height:2;list-style:outside}.p2-card-prompts li::marker{color:#a89c88;font-size:.8em}.p2rec{flex-direction:column;align-items:center;gap:10px;width:100%;margin-top:16px;display:flex}.p2rec-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;display:flex}.p2rec-meta{font-variant-numeric:tabular-nums;align-items:baseline;gap:7px;display:flex}.p2rec-time{color:var(--navy);font-size:21px;font-weight:800}.p2rec-limit{color:#a89c88;font-size:12.5px}.p2rec-ok{color:#1e8449;font-size:12.5px;font-weight:700}.p2rec-short{color:#c0392b;font-size:12.5px;font-weight:700}.p2rec-track{background:#efe6d2;border-radius:5px;width:100%;max-width:560px;height:8px;margin:2px 0 16px;position:relative}.p2rec-fill{background:linear-gradient(90deg,#d9a441,#a8842c);border-radius:5px;height:100%;transition:width .2s linear}.p2rec-fill.ok{background:linear-gradient(90deg,#67b98a,#1e8449)}.p2rec-mark{opacity:.5;background:#c0392b;border-radius:1px;width:2px;height:16px;position:absolute;top:-4px}.p2rec-mark-label{color:#b1553f;font-size:10.5px;position:absolute;top:11px;transform:translate(-50%)}.p2rec-submit{flex-direction:column;align-items:center;gap:8px;width:100%;max-width:560px;margin-top:2px;display:flex}.p2rec-hint{color:var(--text-muted);font-size:12.5px}.p2rec-done{color:#1e8449;background:#eaf7f0;border:1.5px solid #b7e2c9;border-radius:30px;align-items:center;gap:6px;padding:11px 34px;font-size:15.5px;font-weight:800;display:inline-flex}.p2rec-bar{background:#e9dfc8;border-radius:6px;width:100%;max-width:320px;height:10px;overflow:hidden}.p2rec-bar-fill{background:linear-gradient(90deg,#1e8449,#52b788);height:100%;transition:width .35s}.p2rec-bar-label{color:#1e8449;font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:700}.p2rec .p1p-review{max-width:560px}.graded-page{background:var(--bg);min-height:100vh;padding-bottom:70px}.graded-topbar{background:var(--navy-dark);color:#fff;flex-wrap:wrap;align-items:center;gap:18px;padding:12px 26px;display:flex}.graded-title{font-size:17px;font-weight:700}.graded-sum{color:#cbd5e1;margin-left:auto;font-size:13px}.graded-body{max-width:900px;margin:0 auto;padding:22px 20px 0}.graded-empty{text-align:center;color:var(--text-muted);padding:56px 20px}.ge-emoji{margin-bottom:8px;font-size:48px}.graded-empty h3{color:var(--navy);margin:6px 0 8px;font-size:19px}.graded-sec{margin-bottom:26px}.graded-sec-head{align-items:center;gap:10px;margin-bottom:10px;display:flex}.graded-sec-title{color:var(--navy);margin:0;font-size:17px}.graded-sec-count{color:var(--text-muted);margin-left:auto;font-size:12.5px}.gr-badge{white-space:nowrap;border-radius:20px;padding:2px 10px;font-size:11.5px;font-weight:800}.gr-badge.part1{color:#a8501c;background:#fdeee1;border:1px solid #f0d3b8}.gr-badge.part2{color:#245b8c;background:#e8f0fb;border:1px solid #bcd3ea}.gr-badge.part3{color:#2c6e49;background:#eef7f0;border:1px solid #bfdcc7}.gr-badge.part0{color:#6b41b0;background:#f4edfc;border:1px solid #d8c6f0}.gr-item{background:var(--card);border:1px solid var(--border);border-radius:14px;margin-bottom:10px;overflow:hidden}.gr-item.open{box-shadow:var(--shadow);border-color:#a14f22}.gr-item-head{text-align:left;cursor:pointer;background:0 0;border:none;flex-wrap:wrap;align-items:center;gap:12px;width:100%;padding:13px 16px;font-family:inherit;display:flex}.gr-item-title{color:var(--navy);font-size:15.5px;font-weight:700}.gr-item-meta{color:var(--text-muted);font-size:12.5px}.gr-status{white-space:nowrap;border-radius:20px;padding:1px 9px;font-size:11.5px;font-weight:800}.gr-status.unread{color:#c2185b;background:#fff0f2;border:1px solid #f6c9d4}.gr-status.read{color:#7b8794;background:#f1f3f4;border:1px solid #e1e5e8}.gr-arrow{color:var(--text-muted);margin-left:auto;font-size:12px}.gr-item-body{border-top:1px dashed var(--border);padding:4px 16px 18px}.gr-answer{border-top:1px dashed var(--border);margin-top:12px;padding-top:12px}.gr-answer .audio-player{margin-bottom:8px}.gr-q{align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.gr-q-tag{color:#a14f22;white-space:nowrap;background:#f3e7d5;border-radius:6px;padding:1px 8px;font-size:11.5px;font-weight:800}.gr-q-text{color:#1f2937;font-size:14.5px;line-height:1.6}.gr-invalid{color:#a8501c;background:#fdf6ec;border:1px solid #f0e0c8;border-radius:10px;margin-top:10px;padding:10px 12px;font-size:13.5px}@media (max-width:720px){.graded-body{padding:16px 14px 0}.gr-item-head{gap:8px}}.gr-loading{color:var(--text-muted);align-items:center;gap:10px;padding:14px 2px;font-size:13.5px;display:flex}.p2-label-badge{vertical-align:2px;letter-spacing:.5px;white-space:nowrap;border-radius:20px;margin-left:0;padding:1px 9px;font-size:11px;font-weight:800;display:inline-block}.p2-label-badge.new{color:#c0392b;background:#fdeceb;border:1px solid #f3c2be}.p2-label-badge.old{color:#245b8c;background:#e8f0fb;border:1px solid #bcd3ea}.p2-label-badge.must{color:#8a6d1a;background:#fdf4e3;border:1px solid #ecdcb6}.practice-content.p2-wide{max-width:none}.p2-split{grid-template-columns:minmax(0, 1fr) 10px var(--p2-ref-w,440px);align-items:start;gap:22px;margin-top:6px;display:grid}@media (max-width:1120px){.p2-split{grid-template-columns:1fr}}.p2-main{min-width:0;max-width:760px}.p2-ref{background:var(--card);border:1px solid var(--border);max-height:calc(100vh - 40px);box-shadow:var(--shadow);border-radius:16px;padding:16px 18px 20px;position:sticky;top:16px;overflow-y:auto}.p2-ref-head{border-bottom:1px dashed var(--border);flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:12px;padding-bottom:10px;display:flex}.p2-ref-title-main{color:var(--navy);font-size:16px;font-weight:800}.p2-ref-sub{color:var(--text-muted);font-size:12px}.p2-ref-block{margin-bottom:18px}.p2-ref-title{color:var(--gold);letter-spacing:.3px;margin:6px 0 8px;font-size:13px;font-weight:800}.p2-ref-q{border-top:1px dashed var(--border);margin-top:10px;padding-top:10px}.p2-ref-qq{color:#1f2937;margin-bottom:6px;font-size:13.5px;font-weight:700;line-height:1.6}.p2-ref-empty{color:#a89c88;font-size:13px;line-height:1.7}.p2-single .p2-main{margin:0 auto}.p2-sec{display:block}.p2-divider{border:none;border-top:2px solid #e6dcc6;height:0;margin:26px 0 20px;position:relative;box-shadow:inset 0 1px #fff}.p2-divider:after{content:"Part 2 ↑　↓ Part 3";background:var(--bg,#faf7f0);letter-spacing:.5px;color:#a89c88;white-space:nowrap;padding:0 10px;font-size:11.5px;font-weight:700;position:absolute;top:-9px;left:50%;transform:translate(-50%)}.pick-panel{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;margin-bottom:14px;padding:14px 16px}.pick-head{color:var(--navy);flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.pick-title{font-size:14px;font-weight:800}.pick-cnt{color:var(--text-muted);font-size:12.5px}.pick-cnt b{color:#1e8449;font-size:14px}.pick-btns{gap:6px;display:flex}.pick-btns button{border:1.5px solid var(--border);color:#8a5a1e;cursor:pointer;background:#fffdf7;border-radius:8px;padding:4px 12px;font-size:12px;font-weight:700}.pick-btns button:hover{border-color:var(--gold);background:#f9f3e4}.pick-search{border:1.5px solid var(--border);background:#fffdf7;border-radius:20px;outline:none;min-width:220px;margin-left:auto;padding:5px 14px;font-size:12.5px}.pick-search:focus{border-color:var(--gold)}.pick-hint{color:#b8b0a0;margin:8px 0 0;font-size:11.5px}.pick-list{flex-wrap:wrap;gap:6px;max-height:150px;margin-top:10px;display:flex;overflow-y:auto}.pick-item{color:#3a3428;border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;background:#faf7f0;border-radius:99px;align-items:center;gap:6px;padding:4px 11px;font-size:12.5px;display:flex}.pick-item:hover{border-color:var(--gold)}.pick-item.on{color:#1c3a5e;background:#eaf3fc;border-color:#7fb3dd;font-weight:700}.pick-item input{accent-color:#4190c8;cursor:pointer}.pick-disabled{color:#b0a89a;margin-left:2px;font-size:10.5px;font-style:normal}.pick-loading{color:var(--text-muted);font-size:12.5px}.graded-student{border-top:1px dashed var(--border);margin-top:18px;padding-top:14px}.gs-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.gs-name{color:var(--navy);font-size:15px;font-weight:800}.gs-email{color:var(--text-muted);font-size:12px}.gs-count{color:#1e8449;font-size:12px;font-weight:700}.gs-unpick{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;margin-left:auto;padding:3px 10px;font-size:11.5px}.gs-unpick:hover{border-color:var(--red);color:var(--red)}.gs-empty{color:var(--text-muted);padding:6px 2px;font-size:13px}.pick-search{border-radius:99px;width:190px;min-width:190px;margin-left:0}.pick-find{color:#b5651d;white-space:nowrap;font-size:11.5px;font-weight:700}.pick-groups{border-top:1px dashed var(--border);flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding-top:9px;display:flex}.pick-groups-lab{color:var(--navy);font-size:12.5px;font-weight:700}.pick-groups-empty{color:#b0a89a;font-size:12px}.pick-gchip{border:1.5px solid var(--border);color:#1c3a5e;cursor:pointer;-webkit-user-select:none;user-select:none;background:#f6f9fd;border-radius:999px;align-items:center;gap:5px;padding:3px 6px 3px 11px;font-size:12.5px;display:inline-flex}.pick-gchip b{font-weight:700}.pick-gchip i{color:#7d8794;font-size:11px;font-style:normal}.pick-gchip:hover{border-color:var(--gold);background:#f9f3e4}.pick-gchip.sel{background:#e3eefb;border-color:#4f8ac9;box-shadow:0 0 0 2px #4f8ac91f}.pick-gchip button{color:#7d8794;cursor:pointer;background:0 0;border:none;padding:0 1px;font-size:11.5px;line-height:1}.pick-gchip button:hover{color:var(--navy-light)}.pick-gadd{border:1.5px dashed var(--border);color:#8a5a1e;cursor:pointer;background:#fffdf7;border-radius:999px;padding:3px 12px;font-size:12.5px;font-weight:700}.pick-gadd:hover{border-color:var(--gold);background:#f9f3e4}.pick-groups-hint{color:#b8b0a0;font-size:11.5px}.pick-gchip-wrap{display:inline-flex;position:relative}.pick-gchip.open{border-color:var(--gold);background:#f9f3e4}.pick-caret{color:#8a8171;margin-left:1px;font-size:9px}.pick-dropdown{z-index:60;background:var(--card);border:1px solid var(--border);min-width:260px;max-height:320px;box-shadow:var(--shadow);border-radius:12px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto}.pick-dd-head{color:var(--text-muted);border-bottom:1px dashed var(--border);margin-bottom:4px;padding:4px 8px 6px;font-size:11px;line-height:1.5}.pick-dd-item{cursor:pointer;border-radius:8px;align-items:baseline;gap:8px;padding:6px 8px;font-size:13px;display:flex}.pick-dd-item:hover{background:#f6f1e6}.pick-dd-item.on{background:#eaf3fc;font-weight:700}.pick-dd-name{color:var(--navy);white-space:nowrap}.pick-dd-mail{color:#a89c88;text-overflow:ellipsis;font-size:11px;overflow:hidden}.pick-dd-empty{color:var(--text-muted);padding:8px;font-size:12px}.pick-ungrouped{border-top:1px dashed var(--border);flex-wrap:wrap;align-items:center;gap:8px;margin-top:9px;padding-top:9px;display:flex}.pick-stu-chip{color:#3a3428;border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;background:#faf7f0;border-radius:99px;padding:3px 11px;font-size:12.5px}.pick-stu-chip:hover{border-color:var(--gold)}.pick-stu-chip.on{color:#1c3a5e;background:#eaf3fc;border-color:#7fb3dd;font-weight:700}.pick-scope-note{color:#8a8171;border:1px dashed var(--border);background:#fbf7ec;border-radius:8px;margin:6px 0 0;padding:6px 10px;font-size:11.5px}.pick-gcopy{border:1.5px solid var(--border);color:#6b6253;cursor:pointer;background:#fffdf7;border-radius:999px;padding:3px 12px;font-size:12.5px}.pick-gcopy:hover{border-color:var(--gold);background:#f9f3e4}.pick-gicon{opacity:.85;font-size:10.5px}.pick-gchip.scratch{background:#fbf3e6;border-color:#e7d3ae}.pick-gchip.scratch b{color:#8a5a1e}.ref-edit-btn{border:1px solid var(--border);cursor:pointer;opacity:.75;background:#fffdf7;border-radius:7px;margin-left:auto;padding:1px 6px;font-size:11.5px}.ref-edit-btn:hover{opacity:1;border-color:var(--gold);background:#f9f3e4}.ref-edit-line{border:1px dashed var(--border);color:#8a7c5f;cursor:pointer;background:0 0;border-radius:7px;margin-top:6px;padding:2px 9px;font-size:11.5px}.ref-edit-line:hover{border-color:var(--gold);color:var(--navy-light);background:#fbf7ec}.ref-cloud-note{color:#8a6d1a;background:#fdf4e3;border:1px dashed #ecdcb6;border-radius:8px;max-width:1200px;margin:8px auto;padding:6px 12px;font-size:12px}.ref-tier-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.refed-mask{z-index:200;background:#1e2b3c73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.refed-modal{background:var(--card);border-radius:16px;width:min(820px,96vw);max-height:88vh;padding:18px 20px 16px;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.refed-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.refed-title{color:var(--navy);margin:0;font-size:16px}.refed-sub{color:var(--text-muted);margin:3px 0 0;font-size:12px}.refed-x{color:#a89c88;cursor:pointer;background:0 0;border:none;font-size:18px}.refed-x:hover{color:var(--red)}.refed-lab{color:#8a7c5f;margin:10px 0 5px;font-size:12px;font-weight:700;display:block}.refed-ta{box-sizing:border-box;border:1.5px solid var(--border);width:100%;font-size:14px;line-height:1.65;font-family:var(--sans);resize:vertical;background:#fffdf7;border-radius:10px;padding:10px 12px}.refed-ta.en{font-size:14.5px}.refed-ta:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #a8842c1f}.refed-err{color:#b3261e;margin:8px 0 0;font-size:12.5px}.refed-foot{border-top:1px dashed var(--border);align-items:center;gap:8px;margin-top:14px;padding-top:12px;display:flex}.refed-count{color:var(--text-muted);margin-right:auto;font-size:11.5px}.refed-btn{border:1.5px solid var(--border);color:#6b6253;cursor:pointer;background:#fffdf7;border-radius:9px;padding:6px 14px;font-size:13px;font-weight:700}.refed-btn:hover{border-color:var(--gold);background:#f9f3e4}.refed-btn.primary{background:var(--navy-light);border-color:var(--navy-light);color:#fff}.refed-btn.primary:hover{filter:brightness(1.05)}.refed-btn.danger{color:#b3261e;border-color:#e8c4c0}.refed-btn.danger:hover{background:#fdf1f0}.refed-btn:disabled{opacity:.55;cursor:not-allowed}.refed-btn.ai{color:#2c6e49;background:#eef7f0;border-color:#bfdcc7}.refed-btn.ai:hover{background:#e3f2e7}.refed-band{color:#8a7c5f;align-items:center;gap:4px;margin-left:auto;font-size:12px;font-weight:700;display:inline-flex}.refed-band select{border:1.5px solid var(--border);color:var(--navy);background:#fffdf7;border-radius:8px;padding:3px 6px;font-size:12.5px}.ref-saved-badge{color:#1e8449;white-space:nowrap;background:#eef7f0;border:1px solid #bfdcc7;border-radius:99px;margin-left:6px;padding:0 7px;font-size:10.5px;font-weight:700}.ref-progress{color:#8a6d1a;white-space:nowrap;background:#fdf4e3;border:1px solid #ecdcb6;border-radius:99px;margin-left:8px;padding:1px 9px;font-size:11.5px;font-weight:700}.refed-split-row{align-items:center;gap:8px;margin-top:8px;display:flex}.refed-btn.small{padding:3px 10px;font-size:12px}.refed-split-hint{color:var(--text-muted);font-size:11.5px}.ref-add-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.ref-add-btn{border:1.5px dashed var(--border);color:#8a5a1e;cursor:pointer;background:#fffdf7;border-radius:9px;padding:6px 14px;font-size:12.5px;font-weight:700}.ref-add-btn:hover{border-color:var(--gold);background:#f9f3e4}.ref-add-btn.small{margin-left:auto;padding:2px 10px;font-size:11.5px}.ref-tier.empty{opacity:.85}.p2-vdivider{cursor:col-resize;background:linear-gradient(#0000,#e6dcc6 18% 82%,#0000);border-radius:6px;align-self:stretch;width:10px;margin:0 6px;position:relative}.p2-vdivider:hover,.p2-vdivider.dragging{background:linear-gradient(#0000,#d9c49a 18% 82%,#0000)}.p2-vdivider:after{content:"";opacity:.75;background:#c9b998;border-radius:3px;width:3px;height:34px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (max-width:1120px){.p2-vdivider{display:none}}.refed-mask{justify-content:flex-start;align-items:flex-start}.refed-modal{box-sizing:border-box;flex-direction:column;display:flex;position:fixed;overflow:hidden}.refed-modal .refed-head{flex:none}.refed-body{flex-direction:column;flex:auto;min-height:0;display:flex}.refed-body .refed-ta.en{flex:auto;min-height:110px}.refed-body .refed-ta.zh{flex:0 0 26%;min-height:70px}.refed-modal .refed-foot,.refed-modal .refed-err{flex:none}.refed-grip{z-index:5;width:16px;height:16px;position:absolute}.refed-grip.nw{cursor:nwse-resize;top:0;left:0}.refed-grip.se{cursor:nwse-resize;bottom:0;right:0}.refed-grip.ne{cursor:nesw-resize;top:0;right:0}.refed-grip.sw{cursor:nesw-resize;bottom:0;left:0}.refed-grip:hover{background:#c05a2e24;border-radius:4px}.refed-mask{z-index:2147483002!important}.refed-grip:after{content:"";opacity:.45;width:9px;height:9px;transition:opacity .15s;position:absolute}.refed-grip.se:after{border-bottom:2px solid #a8884a;border-right:2px solid #a8884a;border-bottom-right-radius:3px;bottom:3px;right:3px}.refed-grip.sw:after{border-bottom:2px solid #a8884a;border-left:2px solid #a8884a;border-bottom-left-radius:3px;bottom:3px;left:3px}.refed-grip.ne:after{border-top:2px solid #a8884a;border-right:2px solid #a8884a;border-top-right-radius:3px;top:3px;right:3px}.refed-grip.nw:after{border-top:2px solid #a8884a;border-left:2px solid #a8884a;border-top-left-radius:3px;top:3px;left:3px}.refed-modal:hover .refed-grip:after{opacity:.95}.refed-grip:hover{background:#c05a2e1f}.refed-resize-hint{color:#a89c88;white-space:nowrap;margin-right:6px;font-size:11px}
