/* ============================================================
   鑫启明 · 学习平台 设计系统 (高端简约 · 杂志留白)
   全平台共用：官网 / PC 学员端 / H5 手机端
   ============================================================ */
:root{
    /* 中性纸白 + 墨黑灰阶 */
    --paper:#FCFCFB; --paper-2:#F6F5F2; --surface:#FFFFFF;
    --ink:#17181B; --ink-2:#3D4148; --ink-3:#73787F; --ink-4:#A7ABB0;
    --hair:#ECEBE8; --hair-2:#F3F2EF;
    /* 主色：深藏蓝（操作）+ 金铜（点缀/标线） */
    --accent:#1B3A5B; --accent-d:#12293F; --accent-soft:#EEF2F6;
    --gold:#9C7C46; --gold-d:#7e6235; --gold-soft:#F4EFE6;
    /* 状态（低饱和、克制） */
    --ok:#2E7D52; --ok-soft:#EAF3ED; --warn:#9A6B17; --warn-soft:#F6EFDF;
    --danger:#B23A3A; --danger-soft:#F6EAE9; --info:#2C5A86; --info-soft:#EAF1F7;
    /* 圆角 / 阴影 / 字体 */
    --r-xs:5px; --r-sm:8px; --r-md:12px; --r-lg:16px; --r-xl:22px;
    --sh-1:0 1px 2px rgba(23,24,27,.04); --sh-2:0 1px 2px rgba(23,24,27,.04),0 14px 32px -18px rgba(23,24,27,.18);
    --sh-pop:0 24px 60px -24px rgba(23,24,27,.30);
    --sans:-apple-system,"PingFang SC","Helvetica Neue","Microsoft YaHei",system-ui,sans-serif;
    --serif:"Songti SC","Noto Serif SC",Georgia,"Times New Roman","STSong",serif;
    --ease:cubic-bezier(.4,0,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
body{font-family:var(--sans);color:var(--ink-2);background:var(--paper);font-size:15px;line-height:1.65;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
::selection{background:rgba(27,58,91,.12);}

/* ---------- 排版 ---------- */
.eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:600;}
.serif{font-family:var(--serif);}
.display{font-family:var(--serif);font-weight:600;color:var(--ink);line-height:1.18;letter-spacing:.01em;}
.t-h1{font-size:clamp(30px,4vw,46px);}
.t-h2{font-family:var(--serif);font-size:clamp(24px,3vw,34px);font-weight:600;color:var(--ink);line-height:1.25;}
.t-h3{font-size:19px;font-weight:600;color:var(--ink);}
.lead{font-size:17px;color:var(--ink-3);line-height:1.8;}
.muted{color:var(--ink-3);} .muted-2{color:var(--ink-4);}
.tnum{font-variant-numeric:tabular-nums;}
.center{text-align:center;}

/* ---------- 布局 ---------- */
.container{max-width:1200px;margin:0 auto;padding:0 32px;}
.narrow{max-width:760px;margin:0 auto;padding:0 24px;}
.section{padding:88px 0;}
.section-sm{padding:56px 0;}
.hairline{height:1px;background:var(--hair);border:0;}
.stack>*+*{margin-top:16px;}
.grid{display:grid;gap:24px;}
.cols-2{grid-template-columns:repeat(2,1fr);}
.cols-3{grid-template-columns:repeat(3,1fr);}
.cols-4{grid-template-columns:repeat(4,1fr);}
.flex{display:flex;} .between{justify-content:space-between;} .items-center{align-items:center;}
.gap-8{gap:8px;}.gap-12{gap:12px;}.gap-16{gap:16px;}.gap-24{gap:24px;}
.wrap-flex{flex-wrap:wrap;}

/* 区块标题 */
.sec-head{margin-bottom:44px;}
.sec-head.center{text-align:center;}
.sec-head .eyebrow{display:block;margin-bottom:14px;}
.sec-head .rule{width:40px;height:2px;background:var(--gold);margin-top:18px;}
.sec-head.center .rule{margin:18px auto 0;}

/* ---------- 按钮 ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 24px;
    border:1px solid transparent;border-radius:var(--r-sm);background:var(--accent);color:#fff;
    font-family:var(--sans);font-size:15px;font-weight:600;letter-spacing:.02em;cursor:pointer;
    transition:transform .12s var(--ease),background .15s var(--ease),box-shadow .15s var(--ease);white-space:nowrap;}
.btn:hover{background:var(--accent-d);}
.btn:active{transform:translateY(1px);}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--hair);}
.btn--ghost:hover{background:var(--paper-2);border-color:var(--ink-4);}
.btn--gold{background:var(--gold);}.btn--gold:hover{background:var(--gold-d);}
.btn--quiet{background:transparent;color:var(--accent);height:auto;padding:0;}
.btn--block{width:100%;}
.btn--lg{height:54px;padding:0 34px;font-size:16px;}
.btn--sm{height:38px;padding:0 16px;font-size:14px;}
.btn[disabled],.btn.is-disabled{background:var(--hair);color:var(--ink-4);border-color:transparent;pointer-events:none;}
.btn--ghost.is-disabled{background:transparent;color:var(--ink-4);border-color:var(--hair);}
.arrow{transition:transform .15s var(--ease);}
.btn:hover .arrow,.linkmore:hover .arrow{transform:translateX(3px);}
.linkmore{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-weight:600;font-size:14px;}

/* ---------- 卡片 / 面板 ---------- */
.card{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r-lg);box-shadow:var(--sh-1);}
.card--pad{padding:28px;}
.card--hover{transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease);}
.card--hover:hover{transform:translateY(-4px);box-shadow:var(--sh-2);border-color:#E3E1DC;}
.panel{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r-lg);}
.panel__hd{padding:20px 28px;border-bottom:1px solid var(--hair);display:flex;align-items:center;justify-content:space-between;}
.panel__hd h3{font-size:17px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:10px;}
.panel__hd h3::before{content:"";width:3px;height:15px;background:var(--gold);border-radius:2px;}
.panel__bd{padding:24px 28px;}

/* 键值行 */
.kv{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--hair-2);}
.kv:last-child{border-bottom:none;}
.kv__k{font-size:14px;color:var(--ink-3);} .kv__v{font-size:14px;color:var(--ink);font-weight:600;}

/* 标签 */
.tag{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.02em;background:var(--paper-2);color:var(--ink-2);border:1px solid var(--hair);}
.tag--ok{background:var(--ok-soft);color:var(--ok);border-color:transparent;}
.tag--warn{background:var(--warn-soft);color:var(--warn);border-color:transparent;}
.tag--danger{background:var(--danger-soft);color:var(--danger);border-color:transparent;}
.tag--accent{background:var(--accent-soft);color:var(--accent);border-color:transparent;}
.tag--gold{background:var(--gold-soft);color:var(--gold-d);border-color:transparent;}

/* 进度（细线） */
.meter{height:4px;background:var(--hair);border-radius:999px;overflow:hidden;}
.meter>i{display:block;height:100%;background:var(--accent);border-radius:999px;transition:width .4s var(--ease);}
.meter--gold>i{background:var(--gold);}

/* 序号 */
.idx{font-family:var(--serif);font-size:20px;color:var(--ink-4);font-weight:600;line-height:1;}

/* 统计数字 */
.stat__num{font-family:var(--serif);font-size:40px;font-weight:600;color:var(--ink);line-height:1;}
.stat__num em{color:var(--gold);font-style:normal;}
.stat__label{font-size:13px;color:var(--ink-3);margin-top:8px;}

/* ---------- 表单 ---------- */
.field{margin-bottom:18px;}
.field__label{display:block;font-size:13px;color:var(--ink-3);margin-bottom:8px;font-weight:500;}
.input{width:100%;height:50px;padding:0 16px;border:1px solid var(--hair);border-radius:var(--r-sm);
    background:var(--surface);font-size:16px;color:var(--ink);font-family:var(--sans);outline:none;transition:border-color .15s,box-shadow .15s;}
.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(27,58,91,.10);}
.input::placeholder{color:var(--ink-4);}
.inputline{display:flex;align-items:center;border:1px solid var(--hair);border-radius:var(--r-sm);padding:0 16px;background:var(--surface);transition:border-color .15s,box-shadow .15s;}
.inputline:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(27,58,91,.10);}
.inputline input{flex:1;height:50px;border:0;outline:none;font-size:16px;background:transparent;font-family:var(--sans);color:var(--ink);}
.inputline .suffixbtn{border:0;background:transparent;color:var(--accent);font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;font-family:var(--sans);}
.inputline .suffixbtn:disabled{color:var(--ink-4);}

/* 选择项（考试/单选/多选） */
.choice{display:flex;align-items:center;gap:14px;padding:15px 16px;border:1px solid var(--hair);border-radius:var(--r-sm);
    margin-bottom:10px;cursor:pointer;transition:border-color .15s,background .15s;background:var(--surface);}
.choice:hover{border-color:var(--ink-4);}
.choice.is-sel{border-color:var(--accent);background:var(--accent-soft);}
.choice__mk{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--ink-4);flex:0 0 auto;display:flex;align-items:center;justify-content:center;transition:.15s;}
.choice--multi .choice__mk{border-radius:6px;}
.choice.is-sel .choice__mk{background:var(--accent);border-color:var(--accent);color:#fff;}
.choice__tx{flex:1;font-size:15px;color:var(--ink);}
.choice__tx .ltr{color:var(--ink-3);margin-right:8px;font-weight:600;}

/* ---------- 通知条 ---------- */
.flash{padding:13px 18px;border-radius:var(--r-sm);font-size:14px;border:1px solid transparent;}
.flash--ok{background:var(--ok-soft);color:var(--ok);}
.flash--err{background:var(--danger-soft);color:var(--danger);}
.flash--warn{background:var(--warn-soft);color:var(--warn);}

/* ---------- 桌面顶栏 ---------- */
.topnav{position:sticky;top:0;z-index:50;background:rgba(252,252,251,.85);backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid var(--hair);}
.topnav__in{height:72px;display:flex;align-items:center;gap:32px;}
.brand{display:flex;align-items:center;gap:12px;}
.brand__mk{width:40px;height:40px;border-radius:10px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:21px;font-weight:600;}
.brand__nm{font-size:17px;font-weight:700;color:var(--ink);letter-spacing:.01em;}
.brand__nm small{display:block;font-size:10px;letter-spacing:.28em;color:var(--ink-4);font-weight:500;}
.navmenu{display:flex;gap:4px;}
.navmenu a{padding:8px 14px;border-radius:var(--r-xs);font-size:15px;color:var(--ink-3);transition:.15s;}
.navmenu a:hover{color:var(--ink);}
.navmenu a.on{color:var(--accent);font-weight:600;}
.navuser{margin-left:auto;display:flex;align-items:center;gap:14px;}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:15px;}

/* ---------- 动效 ---------- */
@keyframes rise{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
.rise{animation:rise .6s var(--ease) both;}
.rise-2{animation:rise .6s .08s var(--ease) both;}
.rise-3{animation:rise .6s .16s var(--ease) both;}

/* ---------- 响应式 ---------- */
@media(max-width:1024px){.cols-4{grid-template-columns:repeat(2,1fr);}.cols-3{grid-template-columns:repeat(2,1fr);}}
@media(max-width:760px){
    .container{padding:0 20px;} .section{padding:56px 0;}
    .cols-2,.cols-3,.cols-4{grid-template-columns:1fr;}
    .navmenu{display:none;}
}

/* ============================================================
   H5 手机端 组件（复用上方 tokens 与通用组件）
   ============================================================ */
.h5{max-width:480px;margin:0 auto;background:var(--paper);min-height:100vh;position:relative;
    padding-bottom:env(safe-area-inset-bottom);}
@media(min-width:481px){.h5{box-shadow:0 0 1px rgba(0,0,0,.08),0 30px 80px -40px rgba(0,0,0,.25);}}
.h5-bar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:12px;background:rgba(252,252,251,.9);
    backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--hair);
    padding:calc(13px + env(safe-area-inset-top)) 18px 13px;}
.h5-bar .back{width:30px;height:30px;display:flex;align-items:center;justify-content:center;margin-left:-6px;flex:0 0 auto;}
.h5-bar .ttl{font-size:16px;font-weight:600;color:var(--ink);}
.h5-bar .right{margin-left:auto;font-size:13px;color:var(--ink-3);}
.h5-head{padding:calc(26px + env(safe-area-inset-top)) 22px 22px;background:var(--surface);border-bottom:1px solid var(--hair);}
.h5-pad{padding:20px 18px;}
.h5-pad-tab{padding:20px 18px 92px;}

/* 步骤点 */
.dots{display:flex;gap:5px;padding:calc(24px + env(safe-area-inset-top)) 22px 4px;}
.dots i{flex:1;height:3px;border-radius:2px;background:var(--hair);}
.dots i.on{background:var(--accent);}

/* 移动底部操作条 */
.h5-foot{position:sticky;bottom:0;background:var(--surface);border-top:1px solid var(--hair);
    padding:14px 18px calc(16px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:10px;z-index:20;}

/* 底部 Tab */
.h5-tab{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:100%;max-width:480px;z-index:40;
    background:#fff;border-top:1px solid var(--hair);
    display:flex;padding-bottom:env(safe-area-inset-bottom);}
.h5-tab>button,.h5-tab>.on{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 0 7px;border:0;background:#fff!important;color:#A7ABB0;font:inherit;text-decoration:none;cursor:pointer;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;}
.h5-tab>button:hover,.h5-tab>button:focus,.h5-tab>button:active{color:#A7ABB0!important;background:#fff!important;outline:none!important;box-shadow:none!important;}
.h5-tab>.on{color:#163a87!important;background:#fff!important;cursor:default;}
.h5-tab>.on::before{content:"";position:absolute;top:0;left:50%;width:24px;height:3px;border-radius:0 0 3px 3px;background:#163a87;transform:translateX(-50%);}
.h5-tab>button .lb,.h5-tab>.on .lb{font-size:11px;font-weight:600;letter-spacing:.04em;}
.h5-tab i,.h5-tab i::before{color:inherit!important;opacity:1!important;filter:none!important;mix-blend-mode:normal!important;}
/* H5 内 toast */
.h5-flash{position:fixed;top:calc(74px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:200;
    max-width:300px;padding:11px 18px;border-radius:var(--r-sm);background:rgba(23,24,27,.92);color:#fff;font-size:14px;text-align:center;
    box-shadow:var(--sh-pop);animation:h5fade .4s 2.6s forwards;}
.h5-flash.err{background:var(--danger);}
@keyframes h5fade{to{opacity:0;visibility:hidden;}}

/* 移动核心卡（视频/考试/证书） */
.h5-core{display:flex;gap:14px;align-items:flex-start;background:var(--surface);border:1px solid var(--hair);
    border-radius:var(--r-lg);padding:18px;margin-bottom:12px;box-shadow:var(--sh-1);}
.h5-core.lock{background:var(--paper-2);box-shadow:none;opacity:.72;}
.h5-core .ic{width:46px;height:46px;border-radius:12px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.h5-core.lock .ic{background:var(--hair);color:var(--ink-4);}
.h5-core .bd{flex:1;min-width:0;}
.h5-core .nm{font-size:16.5px;font-weight:600;color:var(--ink);}
.h5-core .act{margin-top:13px;font-size:13.5px;color:var(--accent);font-weight:600;}
.h5-core.lock .act{color:var(--ink-4);}

.h5 .btn{width:100%;}
.h5 .btn--row{width:auto;flex:1;}

/* 列表行（章节等） */
.h5-row{display:flex;align-items:center;gap:13px;background:var(--surface);border:1px solid var(--hair);border-radius:var(--r-md);padding:14px;margin-bottom:10px;box-shadow:var(--sh-1);}
.h5-row .no{width:40px;height:40px;border-radius:10px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:600;background:var(--paper-2);color:var(--ink-3);}
.h5-row .no.done{background:var(--ok-soft);color:var(--ok);}

/* 底部抽屉 */
.sheet-mask{position:fixed;inset:0;max-width:480px;margin:0 auto;background:rgba(23,24,27,.45);z-index:200;display:none;align-items:flex-end;}
.sheet{width:100%;background:var(--surface);border-radius:var(--r-xl) var(--r-xl) 0 0;padding:18px 0 26px;max-height:72%;display:flex;flex-direction:column;}
.sheet .grab{width:38px;height:4px;background:var(--hair);border-radius:2px;margin:0 auto 14px;}

/* ---------- 学习人脸核验·悬浮可拖动小窗 ---------- */
.player-stage{position:relative;background:#000;}
.player-stage__fullscreen{position:absolute;top:10px;right:10px;z-index:12;width:36px;height:36px;border:1px solid rgba(255,255,255,.28);border-radius:6px;background:rgba(0,0,0,.58);color:#fff;font-size:21px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(8px);}
.player-stage.is-expanded{position:fixed;inset:0;z-index:80;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#000;}
.player-stage.is-expanded>video,.player-stage:fullscreen>video,.player-stage:-webkit-full-screen>video{width:100%;height:100%;object-fit:contain;}
.player-stage.is-expanded .player-stage__fullscreen,.player-stage:fullscreen .player-stage__fullscreen,.player-stage:-webkit-full-screen .player-stage__fullscreen{top:calc(10px + env(safe-area-inset-top));right:12px;}
.player-stage.is-expanded .facecam,.player-stage:fullscreen .facecam,.player-stage:-webkit-full-screen .facecam{top:calc(14px + env(safe-area-inset-top))!important;right:58px!important;bottom:auto!important;left:auto!important;}
.player-stage video::-webkit-media-controls-fullscreen-button{display:none;}
body.player-stage-expanded{overflow:hidden;}
.facecam{position:fixed;top:84px;right:16px;z-index:95;width:132px;border-radius:12px;overflow:hidden;
    background:#0b0d10;border:1px solid rgba(255,255,255,.16);box-shadow:0 12px 30px rgba(0,0,0,.35);
    user-select:none;touch-action:none;}
.facecam__bar{display:flex;align-items:center;gap:6px;padding:5px 9px;background:rgba(0,0,0,.55);color:#fff;font-size:11px;cursor:move;}
.facecam__bar .lbl{flex:1;}
.facecam__bar .dot{width:7px;height:7px;border-radius:50%;background:#e0b35a;animation:fcpulse 1.4s infinite;}
.facecam__bar .dot.ok{background:#3ec07a;animation:none;}
.facecam__bar .dot.bad{background:#e0584a;animation:none;}
.facecam video{width:132px;height:104px;object-fit:cover;display:block;background:#1a2230;}
.facecam__msg{font-size:10.5px;color:#d9b877;padding:4px 8px;text-align:center;min-height:14px;background:rgba(0,0,0,.55);line-height:1.35;}
.facecam__btn{display:block;width:100%;border:0;background:#fff;color:#17181B;font-size:12px;padding:8px;cursor:pointer;font-family:inherit;}
.facemask__btn:disabled{opacity:.72;cursor:wait;}
@keyframes fcpulse{0%,100%{opacity:1;}50%{opacity:.3;}}
/* 人脸核验/摄像头拦截遮罩（blockOnFail / requireCamera 时显示，默认 display:none 由 JS 控制） */
.facemask{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;background:rgba(11,13,16,.92);padding:24px;}
.facemask__card{max-width:340px;text-align:center;color:#fff;}
.facemask__t{font-size:19px;font-weight:700;margin-bottom:10px;}
.facemask__d{font-size:14px;line-height:1.7;color:rgba(255,255,255,.8);margin-bottom:20px;}
.facemask__btn{position:relative;z-index:2;min-height:46px;pointer-events:auto;touch-action:manipulation;user-select:none;border:0;background:#cBae7e;background:#caa15a;color:#1a1205;font-size:14px;font-weight:600;padding:10px 26px;border-radius:8px;cursor:pointer;font-family:inherit;}

/* ============================================================
   PC 学员端：学员档案条 + 班级切换 + 子页面组件
   ============================================================ */
/* 顶栏分组导航（学习中心 / 课程学习 / 备考练习▾ / 我的▾） */
.navmenu{display:flex;align-items:center;gap:2px;}
.navlink{display:inline-flex;align-items:center;gap:5px;padding:8px 14px;border-radius:var(--r-xs);
    font-size:14.5px;color:var(--ink-3);cursor:pointer;white-space:nowrap;transition:.15s;}
.navlink:hover{color:var(--ink);}
.navlink.on{color:var(--accent);font-weight:600;}
.navlink .chev{opacity:.7;transition:transform .2s var(--ease);}
.navitem{position:relative;}
.navitem:hover .navlink{color:var(--ink);}
.navitem:hover .navlink .chev{transform:rotate(180deg);}
.navdrop{display:none;position:absolute;left:0;top:calc(100% + 8px);min-width:176px;z-index:60;
    background:var(--surface);border:1px solid var(--hair);border-radius:var(--r-md);box-shadow:var(--sh-pop);padding:6px;}
.navdrop::before{content:"";position:absolute;top:-10px;left:0;right:0;height:10px;} /* hover 桥接，避免间隙断触 */
.navitem:hover .navdrop{display:block;animation:rise .18s var(--ease) both;}
.navdrop a{display:block;padding:10px 12px;border-radius:var(--r-sm);font-size:14px;color:var(--ink-2);transition:.12s;}
.navdrop a:hover{background:var(--paper-2);color:var(--ink);}
.navdrop a.on{background:var(--accent-soft);color:var(--accent);font-weight:600;}

/* 学员档案条（深蓝渐变）—— 不裁剪 + 自成层级，使切换下拉浮于下方卡片之上 */
.archive{position:relative;z-index:20;border-radius:var(--r-xl);
    background:linear-gradient(120deg,var(--accent) 0%,var(--accent-d) 72%);color:#fff;margin-bottom:24px;}
.archive__decor{position:absolute;inset:0;overflow:hidden;pointer-events:none;border-radius:inherit;}
.archive__decor::before{content:"";position:absolute;top:-90px;right:-50px;width:300px;height:300px;border-radius:50%;
    background:radial-gradient(circle,rgba(156,124,70,.38),transparent 66%);}
.archive__decor::after{content:"";position:absolute;bottom:-130px;left:22%;width:260px;height:260px;border-radius:50%;
    background:radial-gradient(circle,rgba(255,255,255,.10),transparent 64%);}
.archive__in{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:26px 32px;}
.archive__eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.6);font-weight:600;}
.archive__hi{font-family:var(--serif);font-size:27px;font-weight:600;line-height:1.2;margin:9px 0 15px;color:#fff;}
.archive__meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.archive__pill{font-size:12.5px;color:rgba(255,255,255,.8);background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:5px 13px;}
.archive__days{font-size:12.5px;color:rgba(255,255,255,.72);} .archive__days b{color:var(--gold);font-family:var(--serif);font-size:15px;padding:0 2px;}
.archive__cta{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 24px;border-radius:var(--r-sm);
    background:#fff;color:var(--accent);font-weight:600;font-size:15px;transition:.15s;flex:0 0 auto;}
.archive__cta:hover{background:var(--gold-soft);}

/* 班级切换：胶囊触发 + 浮层菜单（带小三角，不被裁剪） */
.switcher{position:relative;}
.switcher__chip{display:inline-flex;align-items:center;gap:9px;height:38px;padding:0 8px 0 14px;border-radius:999px;
    background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.2);color:#fff;
    font-family:var(--sans);font-size:14px;font-weight:600;}
.switcher__chip--btn{cursor:pointer;transition:.15s;}
.switcher__chip--btn:hover{background:rgba(255,255,255,.22);}
.switcher__dot{width:7px;height:7px;border-radius:50%;background:var(--gold);flex:0 0 auto;box-shadow:0 0 0 3px rgba(156,124,70,.25);}
.switcher__txt{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.switcher__caret{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.16);transition:transform .2s var(--ease);}
.switcher.open .switcher__caret{transform:rotate(180deg);}
.switcher__menu{display:none;position:absolute;left:0;top:calc(100% + 10px);z-index:100;width:300px;
    background:var(--surface);border:1px solid var(--hair);border-radius:var(--r-md);box-shadow:var(--sh-pop);padding:8px;}
.switcher__menu::before{content:"";position:absolute;top:-6px;left:24px;width:12px;height:12px;background:var(--surface);
    border-left:1px solid var(--hair);border-top:1px solid var(--hair);transform:rotate(45deg);}
.switcher.open .switcher__menu{display:block;animation:rise .2s var(--ease) both;}
.switcher__hd{font-size:11px;color:var(--ink-4);font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:8px 10px 7px;}
.switcher__item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;cursor:pointer;
    border:0;background:transparent;border-radius:var(--r-sm);padding:11px 12px;color:var(--ink);font-family:var(--sans);transition:.12s;}
.switcher__item:hover{background:var(--paper-2);}
.switcher__item.on{background:var(--accent-soft);color:var(--accent);}
.switcher__item b{display:block;font-size:14px;font-weight:600;}
.switcher__item small{display:block;font-size:12px;color:var(--ink-3);margin-top:2px;}
.switcher__item.on small{color:var(--accent);}

/* 学习中心首页：快捷功能磁贴 + 当前课程主卡 */
.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.quick__tile{display:flex;align-items:center;gap:14px;padding:18px 20px;border:1px solid var(--hair);border-radius:var(--r-md);
    background:var(--surface);box-shadow:var(--sh-1);transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease);}
.quick__tile:hover{transform:translateY(-3px);box-shadow:var(--sh-2);border-color:#E3E1DC;}
.quick__ic{width:44px;height:44px;border-radius:12px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent);}
.quick__tile--gold .quick__ic{background:var(--gold-soft);color:var(--gold-d);}
.quick__t{display:block;font-size:15px;font-weight:600;color:var(--ink);}
.quick__d{display:block;font-size:12px;color:var(--ink-3);margin-top:2px;}
.nowcard{display:flex;gap:24px;align-items:center;flex-wrap:wrap;}
.nowcard__main{flex:1;min-width:240px;}
@media(max-width:920px){.quick{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){
    .quick{gap:12px;}
    .quick__tile{gap:11px;padding:14px 13px;}
    .quick__ic{width:38px;height:38px;border-radius:10px;}
    .quick__ic svg{width:18px;height:18px;}
    .quick__t{font-size:14px;}
    .quick__d{font-size:11.5px;margin-top:1px;}
}

/* 题库练习 / 模拟 / 通用题目卡 */
.q-card{border:1px solid var(--hair);border-radius:var(--r-md);padding:22px 24px;background:var(--surface);margin-bottom:16px;box-shadow:var(--sh-1);}
.q-card__hd{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;}
.q-no{width:30px;height:30px;border-radius:8px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:600;font-size:14px;background:var(--accent-soft);color:var(--accent);}
.q-stem{flex:1;font-size:16px;color:var(--ink);font-weight:600;line-height:1.6;}
.q-opt{display:flex;align-items:center;gap:12px;padding:12px 15px;border:1px solid var(--hair);border-radius:var(--r-sm);margin-bottom:9px;cursor:pointer;transition:.15s;background:var(--surface);}
.q-opt:hover{border-color:var(--ink-4);}
.q-opt.sel{border-color:var(--accent);background:var(--accent-soft);}
.q-opt.right{border-color:var(--ok);background:var(--ok-soft);}
.q-opt.wrong{border-color:var(--danger);background:var(--danger-soft);}
.q-opt__mk{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--ink-4);flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:var(--ink-3);}
.q-opt.sel .q-opt__mk{background:var(--accent);border-color:var(--accent);color:#fff;}
.q-opt.right .q-opt__mk{background:var(--ok);border-color:var(--ok);color:#fff;}
.q-opt.wrong .q-opt__mk{background:var(--danger);border-color:var(--danger);color:#fff;}
.q-opt--multi .q-opt__mk{border-radius:6px;}
.q-ana{margin-top:14px;padding:14px 16px;background:var(--paper-2);border-radius:var(--r-sm);font-size:14px;color:var(--ink-2);line-height:1.7;display:none;}
.q-ana.show{display:block;}
.q-ana b{color:var(--ok);}
.seg{display:inline-flex;background:var(--paper-2);border:1px solid var(--hair);border-radius:999px;padding:4px;gap:2px;}
.seg a{padding:7px 16px;border-radius:999px;font-size:14px;color:var(--ink-3);font-weight:600;transition:.15s;}
.seg a.on{background:var(--surface);color:var(--accent);box-shadow:var(--sh-1);}

/* 空态 */
.empty{text-align:center;padding:64px 20px;color:var(--ink-3);}
.empty__ic{width:62px;height:62px;border-radius:50%;background:var(--paper-2);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:var(--ink-4);}

@media(max-width:760px){
    .archive__in{padding:24px 20px;}
    .archive__hi{font-size:24px;}
    .switcher__txt{max-width:180px;}
    .navmenu{display:none;}
}
