.sidebar[data-v-af8069a1]{width:var(--sidebar-w);flex-shrink:0;height:100vh;position:sticky;top:0;display:flex;flex-direction:column;background:linear-gradient(180deg,#214538,#2d6b4a);color:#eafff2;padding:22px 16px}.brand[data-v-af8069a1]{display:flex;align-items:center;gap:12px;padding:6px 8px 22px}.brand-mark[data-v-af8069a1]{width:40px;height:40px;border-radius:12px;background:#ffffff29;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:900;color:#fffdf7}.brand-text[data-v-af8069a1]{font-size:20px;font-weight:900;letter-spacing:1px;color:#fffdf7}.nav[data-v-af8069a1]{flex:1;overflow-y:auto}.nav[data-v-af8069a1]::-webkit-scrollbar{width:0}.nav-group[data-v-af8069a1]{margin-bottom:18px}.nav-group-title[data-v-af8069a1]{font-size:11px;font-weight:800;letter-spacing:1px;color:#eafff280;padding:0 10px 8px}.nav-item[data-v-af8069a1]{display:flex;align-items:center;gap:12px;padding:10px 12px;margin-bottom:4px;border-radius:12px;color:#eafff2d1;font-size:15px;font-weight:700;transition:background .15s,color .15s}.nav-item[data-v-af8069a1]:hover{background:#ffffff14;color:#fffdf7}.nav-item.active[data-v-af8069a1]{background:#fffdf7;color:var(--primary)}.nav-icon[data-v-af8069a1]{font-size:17px;width:22px;text-align:center}.nav-label[data-v-af8069a1]{flex:1}.nav-badge[data-v-af8069a1]{background:var(--gold);color:#fff;font-size:11px;font-weight:800;border-radius:999px;padding:1px 8px}.sidebar-foot[data-v-af8069a1]{padding-top:14px;border-top:1px solid rgba(255,255,255,.12)}.foot-user[data-v-af8069a1]{display:flex;align-items:center;gap:10px;padding:4px 6px 12px}.foot-avatar[data-v-af8069a1]{width:38px;height:38px;border-radius:50%;background:#ffffff2e;color:#fffdf7;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:800;flex-shrink:0}.foot-meta[data-v-af8069a1]{min-width:0}.foot-name[data-v-af8069a1]{font-size:14px;font-weight:800;color:#fffdf7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.foot-sub[data-v-af8069a1]{font-size:12px;color:#eafff299}.foot-logout[data-v-af8069a1]{width:100%;background:#ffffff1a;color:#eafff2;font-size:13px;padding:9px}.foot-logout[data-v-af8069a1]:hover{background:#ffffff2e;opacity:1}.foot-login[data-v-af8069a1]{display:block;text-align:center;background:#fffdf7;color:var(--primary);border-radius:12px;padding:11px;font-weight:800;font-size:14px}.foot-icp[data-v-af8069a1]{text-align:center;margin-top:10px}.foot-icp a[data-v-af8069a1]{font-size:11px;color:#eafff266;text-decoration:none}.foot-icp a[data-v-af8069a1]:hover{color:#eafff2b3}.shell[data-v-cf4881e0]{display:flex;min-height:100vh}.desktop-shell[data-v-cf4881e0]{display:block;min-height:100vh}.desktop-shell[data-v-cf4881e0]:before{content:"";position:fixed;top:6px;right:6px;bottom:6px;left:6px;z-index:0;pointer-events:none;border:1px solid rgba(31,59,45,.16);border-radius:10px;background:#ffffff61}.main[data-v-cf4881e0]{position:relative;z-index:1;flex:1;min-width:0}.main.full[data-v-cf4881e0]{width:100%}.desktop-toolbar[data-v-cf4881e0]{position:fixed;top:8px;left:8px;right:8px;z-index:1000;display:flex;align-items:center;gap:8px;height:34px;color:#1f3b2d85;font-size:12px;opacity:.86;transition:opacity .15s;-webkit-app-region:no-drag}.desktop-toolbar[data-v-cf4881e0]:hover{opacity:.9}.desktop-drag[data-v-cf4881e0]{flex:1;height:100%;display:flex;align-items:center;padding-left:8px;border-radius:8px;background:#ffffff2e;-webkit-app-region:drag}.desktop-toolbar label[data-v-cf4881e0]{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.desktop-toolbar input[type=range][data-v-cf4881e0]{width:86px}.desktop-toolbar input[type=color][data-v-cf4881e0]{width:24px;height:24px;padding:0;border:0;background:transparent}.desktop-toolbar button[data-v-cf4881e0]{height:26px;padding:0 8px;border-radius:8px;background:#1f3b2d14;color:#1f3b2d9e;font-size:12px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #2d6b4a;--primary-deep: #214538;--primary-soft: #498866;--primary-light: #e6f5ec;--primary-tint: #f0faf5;--gold: #b5862a;--gold-light: #fff4d7;--gold-text: #9a6c11;--danger: #d92d20;--danger-light: #fff0ee;--danger-text: #c0392b;--blue: #4f6fd8;--blue-light: #e8edff;--blue-text: #3f5fbd;--success: #1a7a4a;--warning: #c08a22;--text: #1f3b2d;--text-body: #24332d;--text-muted: #6f7a72;--text-faint: #8a938e;--border: rgba(217, 228, 220, .65);--bg: #f5f8f6;--card: #fffdf7;--radius: 16px;--shadow: 0 10px 32px rgba(36, 69, 53, .08);--shadow-sm: 0 6px 22px rgba(36, 69, 53, .06);--sidebar-w: 232px;--content-max: 1400px}body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--text-body);font-size:15px;line-height:1.6;min-height:100vh}#app{min-height:100vh}a{color:var(--primary);text-decoration:none}button{cursor:pointer;border:none;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:700;font-family:inherit;transition:opacity .15s,transform .12s}button:hover{opacity:.9}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(90deg,#235f4a,#57956e);color:#fff}.btn-outline{background:#eef5f1;border:none;color:var(--primary)}.btn-gold{background:var(--gold);color:#fff}.btn-danger{background:var(--danger);color:#fff}.card{background:var(--card);border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.card-accent{border-left:6px solid var(--primary)}.card-accent.red{border-left-color:var(--danger)}.card-accent.gold{border-left-color:var(--gold)}.card-accent.green{border-left-color:var(--primary)}.card-accent.blue{border-left-color:var(--blue)}.page{max-width:var(--content-max);margin:0 auto;padding:28px 32px 48px}.page-title{font-size:30px;font-weight:900;color:var(--text);line-height:1.15}.page-sub{margin-top:6px;color:var(--text-muted);font-size:14px}.section-title{font-size:18px;font-weight:900;color:var(--text)}.section-tip{color:var(--text-faint);font-size:13px;font-weight:700}.section-row{display:flex;align-items:center;justify-content:space-between;margin:26px 2px 14px}.tag{display:inline-flex;align-items:center;padding:3px 14px;border-radius:999px;font-size:12px;font-weight:800}.tag-primary{background:var(--primary-light);color:var(--primary)}.tag-gold{background:var(--gold-light);color:var(--gold-text)}.tag-danger{background:var(--danger-light);color:var(--danger-text)}.tag-blue{background:var(--blue-light);color:var(--blue-text)}.tag-success{background:#dcfce7;color:var(--success)}.chip{padding:8px 18px;border-radius:999px;background:#eef5f1;color:var(--primary);font-size:14px;font-weight:800;cursor:pointer;transition:background .15s,color .15s;-webkit-user-select:none;user-select:none}.chip:hover{background:#e2efe8}.chip.active{background:var(--primary);color:#fff}.chip.active.gold{background:var(--gold)}.empty{text-align:center;color:var(--text-faint);padding:60px 0}.loading{text-align:center;color:var(--text-faint);padding:40px 0}select,input[type=text],input[type=number]{font-family:inherit;color:var(--text-body)}select{padding:9px 14px;border:1.5px solid var(--border);border-radius:10px;background:var(--card);font-size:14px;font-weight:600;cursor:pointer}select:focus{outline:none;border-color:var(--primary)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#cfddd4;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#b6ccc0}html.desktop-mode,html.desktop-mode body,html.desktop-mode #app{background:transparent!important}html.desktop-mode body{overflow:hidden}html.desktop-mode .page{max-width:720px;padding:54px 26px 28px}html.desktop-mode .card,html.desktop-mode .question-card,html.desktop-mode .option,html.desktop-mode .fillin-input,html.desktop-mode .fillin-hint,html.desktop-mode .self-report-panel,html.desktop-mode .meaning-box{background:transparent!important;border-color:transparent!important;box-shadow:none!important}html.desktop-mode .question-card{padding:0!important}html.desktop-mode .progress-bar,html.desktop-mode .progress-text,html.desktop-mode .q-meta,html.desktop-mode .timer,html.desktop-mode .skeleton-wrap,html.desktop-mode .empty button,html.desktop-mode .error-box button{opacity:.1}html.desktop-mode .question-stem{margin-bottom:12px;color:var(--desktop-text-color);opacity:var(--desktop-text-alpha);font-size:16px;font-weight:400;line-height:1.9}html.desktop-mode .options{gap:2px}html.desktop-mode .option{padding:3px 0;gap:8px;color:var(--desktop-text-color);opacity:var(--desktop-option-alpha)}html.desktop-mode .opt-label,html.desktop-mode .opt-text,html.desktop-mode .analysis-text,html.desktop-mode .self-report-header,html.desktop-mode .self-report-question,html.desktop-mode .self-report-acceptables,html.desktop-mode .meaning-word,html.desktop-mode .fillin-input{color:var(--desktop-text-color)!important;font-weight:400}html.desktop-mode .option:hover:not(.opt-correct):not(.opt-wrong):not(.opt-dim){background:#1f3b2d0a!important}html.desktop-mode .opt-correct,html.desktop-mode .analysis-result.correct,html.desktop-mode .self-report-answer{color:#1a7a4a7a!important}html.desktop-mode .opt-wrong,html.desktop-mode .analysis-result.wrong,html.desktop-mode .btn-outline.wrong{color:#d92d2061!important}html.desktop-mode .opt-dim{opacity:.2}html.desktop-mode .analysis{margin-top:12px;padding-top:12px;border-top-color:#1f3b2d14}html.desktop-mode .analysis-actions,html.desktop-mode .fillin-submit,html.desktop-mode .self-report-btns{opacity:.14;transition:opacity .15s}html.desktop-mode .analysis-actions:hover,html.desktop-mode .fillin-submit:hover,html.desktop-mode .self-report-btns:hover{opacity:.68}html.desktop-mode button,html.desktop-mode .btn-primary,html.desktop-mode .btn-outline{background:#1f3b2d0f!important;color:#1f3b2d70!important;box-shadow:none!important}
