  :root{
    --navy:#19223a; --ink:#172033; --muted:#768096; --line:#e7eaf0; --soft-line:#eef1f5;
    --surface:#fff; --canvas:#f4f6fa;
    --edu:#4968ed; --edu-soft:#eef1ff;
    --med:#5b5be8; --med-soft:#eeeaff;
    --law:#7457d5; --law-soft:#f1edff;
    --life:#e8923a; --life-soft:#fff3e6;
    --shadow:0 .12rem .34rem rgba(25,34,58,.08);
    --shadow-soft:0 .06rem .18rem rgba(25,34,58,.05);
    --r-xl:.34rem; --r-lg:.26rem; --r-md:.2rem;
    --font:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  }
  *{box-sizing:border-box; -webkit-tap-highlight-color:transparent;}
  html,body{margin:0; height:100%;}
  body{font-family:var(--font); background:#e9ecf2; color:var(--ink); display:flex; justify-content:center; align-items:center; min-height:100dvh;}
  .phone{position:relative; width:min(430px,100vw); height:min(920px,100dvh); background:var(--canvas); display:flex; flex-direction:column; overflow:hidden; box-shadow:0 .6rem 2rem rgba(25,34,58,.18);}
  @media(min-width:480px){ .phone{ border-radius:2.4rem; border:.5rem solid #11151f; } }
  .screen{flex:1; min-height:0; overflow-y:auto; overflow-x:hidden; scrollbar-width:none; padding:0 0 5.4rem;}
  .screen::-webkit-scrollbar{display:none;}
  .view{display:none;}
  .view.active{display:block;}

  /* headers */
  .topbar{position:sticky; top:0; z-index:9; display:flex; align-items:center; justify-content:space-between; gap:.6rem; padding:.9rem 1.1rem .7rem; background:rgba(244,246,250,.9); backdrop-filter:blur(.4rem);}
  .topbar .t-left{display:flex; align-items:center; gap:.55rem;}
  .topbar .t-left .mark{width:2.1rem; height:2.1rem; border-radius:.7rem; background:linear-gradient(145deg,#4968ed,#6680f2); color:#fff; display:grid; place-items:center; font-size:1.05rem; box-shadow:0 .12rem .3rem rgba(73,104,237,.25);}
  .topbar h1{margin:0; font-size:1.05rem; letter-spacing:-.01em;}
  .topbar p{margin:.06rem 0 0; font-size:.64rem; color:var(--muted);}
  .greet p{margin:0; color:var(--muted); font-size:.72rem; font-weight:600;}
  .greet h1{margin:.12rem 0 0; font-size:1.18rem; letter-spacing:-.02em;}
  /* 首页抬头：与账户卡片统一的简洁深蓝，无多余装饰 */
  .home-topbar{padding:1.1rem 1.1rem 1.2rem; background:transparent; box-shadow:none;}
  .home-topbar .greet p{color:var(--muted);}
  .home-topbar .greet h1{color:var(--navy); font-weight:800;}
  .home-topbar .home-icon{background:#fff; color:#3f4a63; border:1px solid var(--line);}
  .home-topbar .home-icon:active{background:#f1f4fa;}
  .home-topbar #homeAvatar{box-shadow:0 .1rem .25rem rgba(20,30,70,.18);}
  .topbar-right{display:flex; align-items:center; gap:.5rem;}
  .icon-btn{width:2.2rem; height:2.2rem; border:1px solid var(--line); border-radius:.7rem; background:#fff; color:#3f4a63; display:grid; place-items:center; font-size:1rem;}
  .avatar{flex:0 0 auto; width:2.2rem; height:2.2rem; border-radius:.7rem; background:var(--hf); color:#fff; display:grid; place-items:center; font-weight:800; font-size:.92rem; cursor:pointer; border:0;}
  .online{display:inline-flex; align-items:center; gap:.3rem; font-size:.62rem; color:#4b8a71; background:#fff; border:1px solid var(--line); padding:.3rem .55rem; border-radius:.6rem;}
  .online i{width:.42rem; height:.42rem; border-radius:50%; background:#57b889; box-shadow:0 0 0 .12rem #e6f3ec;}

  .page-head{position:sticky; top:0; z-index:8; display:flex; align-items:center; justify-content:space-between; gap:.6rem; padding:.9rem 1.1rem .7rem; background:rgba(244,246,250,.9); backdrop-filter:blur(.4rem);}
  .page-head .ph-left h1{margin:0; font-size:1.1rem; letter-spacing:-.01em;}
  .page-head .ph-left p{margin:.1rem 0 0; font-size:.64rem; color:var(--muted);}
  .btn-primary{display:inline-flex; align-items:center; gap:.3rem; background:var(--hf); color:#fff; border:0; border-radius:.7rem; padding:.5rem .8rem; font-size:.7rem; font-weight:800; cursor:pointer; box-shadow:0 .25rem .6rem rgba(91,91,232,.28);}
  .btn-soft{display:inline-flex; align-items:center; justify-content:center; gap:.3rem; background:#fff; border:1px solid var(--line); color:#3f4a63; border-radius:.8rem; padding:.75rem; font-size:.74rem; font-weight:800; cursor:pointer;}

  .pad{padding:0 1.1rem;}

  /* hero (home / calendar / tasks) */
  .hero{position:relative; isolation:isolate; margin:.2rem 1.1rem 0; padding:1rem 1.1rem .95rem; border-radius:var(--r-xl); color:#fff; overflow:hidden; box-shadow:0 .4rem 1.2rem rgba(91,91,232,.28); background:linear-gradient(135deg,#4a4ac9,#5b5be8 68%,#7676f0);}
  .hero.edu{background:linear-gradient(135deg,#394fbd,#5275f1 78%,#6687f8);}
  .hero.med{background:linear-gradient(135deg,#0f6f66,#159c83 78%,#27b497);}
  .hero.law{background:linear-gradient(135deg,#4d3f9c,#765ad8 78%,#8d72e6);}
  .hero.life{background:linear-gradient(135deg,#d9791f,#eaa531 80%,#f0b85a);}
  /* 首页账户卡片：按成员/性别切换主题色，简洁渐变无装饰 */
  .home-hero{box-shadow:0 .18rem .5rem rgba(31,45,80,.18); transition:background .3s ease, box-shadow .3s ease;}
  .home-hero .hero-kicker{color:rgba(255,255,255,.82);}
  .home-hero .hero-name span{color:rgba(255,255,255,.78);}
  .home-hero .hero-switch{background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.26);}
  .home-hero .hero-foot{border-top-color:rgba(255,255,255,.16); color:rgba(255,255,255,.85);}
  .home-hero .hero-foot .dot{color:rgba(255,255,255,.7);}
  /* 林女士(演示用户)（户主）：宝蓝 */
  .home-hero.theme-lin{background:linear-gradient(135deg,#2f4488,#3a56b0 70%,#4a67c4); box-shadow:0 .18rem .5rem rgba(47,68,136,.28);}
  .home-hero.theme-lin .hero-avatar{color:#3a56b0;}
  /* 妈妈：玫红 */
  .home-hero.theme-mom{background:linear-gradient(135deg,#b23a63,#d4527f 70%,#e87298); box-shadow:0 .18rem .5rem rgba(178,58,99,.28);}
  .home-hero.theme-mom .hero-avatar{color:#c4477a;}
  /* 小宇（男孩）：青蓝 */
  .home-hero.theme-kid{background:linear-gradient(135deg,#1f6fa8,#2b93d1 70%,#46b0e6); box-shadow:0 .18rem .5rem rgba(31,111,168,.28);}
  .home-hero.theme-kid .hero-avatar{color:#2b8ec9;}
  /* 爸爸：钢青 */
  .home-hero.theme-dad{background:linear-gradient(135deg,#2c4a5e,#3f6d88 70%,#5688a3); box-shadow:0 .18rem .5rem rgba(44,74,94,.28);}
  .home-hero.theme-dad .hero-avatar{color:#3f6d88;}
  .hero-kicker{display:flex; align-items:center; gap:.4rem; font-size:.7rem; font-weight:700; color:#bcd0ff;}
  .hero-name{display:flex; align-items:center; justify-content:space-between; gap:.6rem;}
  .hero-id{display:flex; align-items:center; gap:.6rem;}
  .home-hero .hero-avatar{width:2.6rem; height:2.6rem; border-radius:.8rem; display:grid; place-items:center; font-size:1.05rem; font-weight:800; color:#3a56b0; background:rgba(255,255,255,.92); box-shadow:0 .12rem .28rem rgba(20,30,70,.2);}
  .home-hero .hero-name b{font-size:1.25rem;}
  .home-hero .hero-foot{font-size:.62rem;}
  .home-hero .hf-dot{width:.36rem; height:.36rem; border-radius:50%; background:#7ee0a6; box-shadow:0 0 0 .18rem rgba(126,224,166,.22); flex:0 0 auto;}
  .hero-name b{font-size:1.42rem; letter-spacing:.01em;}
  .hero-name span{font-size:.7rem; color:#c7d4f5; margin-left:.4rem; display:block; margin:.12rem 0 0;}
  .hero-switch{display:inline-flex; align-items:center; gap:.3rem; font-size:.66rem; font-weight:700; color:#fff; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.26); padding:.38rem .65rem; border-radius:.7rem; cursor:pointer; flex:0 0 auto;}
  .hero-foot{display:flex; align-items:center; gap:.4rem; margin-top:.85rem; padding-top:.7rem; border-top:1px solid rgba(255,255,255,.16); font-size:.62rem; color:#d3def8;}
  .hero-foot .dot{margin-left:auto; color:#a9c9ff;}
  .hero p{margin:0; font-size:.68rem; color:#bcd0ff;}
  .hero h2{margin:.35rem 0 0; font-size:1.18rem;}
  .hero .h-sub{margin-top:.4rem; font-size:.62rem; color:#d3def8;}
  .hero-top{display:flex; align-items:center; justify-content:space-between; gap:.6rem;}
  .hero-top .h-ico{width:2.6rem; height:2.6rem; border-radius:.85rem; background:rgba(255,255,255,.18); display:grid; place-items:center; font-size:1.3rem;}
  .hero-tag{font-size:.6rem; font-weight:800; padding:.18rem .5rem; border-radius:1rem; background:rgba(255,255,255,.2); border:1px solid rgba(255,255,255,.3);}

  /* section */
  .sec{margin-top:1.2rem;}
  .sec-head{display:flex; align-items:flex-end; justify-content:space-between; gap:.6rem; margin-bottom:.6rem;}
  .sec-head h2{margin:0; font-size:.96rem; display:flex; align-items:center; gap:.4rem;}
  .sec-head h2::before{content:""; width:.24rem; height:.9rem; border-radius:.12rem; background:var(--hf);}
  .sec-head.s-edu h2::before{background:var(--edu);}
  .sec-head.s-med h2::before{background:var(--med);}
  .sec-head.s-law h2::before{background:var(--law);}
  .sec-head p{margin:.12rem 0 0; color:var(--muted); font-size:.68rem; padding-left:.64rem;}
  .link{color:var(--edu); font-size:.68rem; font-weight:700; white-space:nowrap; cursor:pointer; text-decoration:none;}

  /* home: stats */
  .stats{display:grid; grid-template-columns:repeat(3,1fr); gap:.55rem;}
  .stat{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:.7rem .65rem; box-shadow:var(--shadow-soft);}
  .stat .lab{display:flex; align-items:center; gap:.3rem; color:var(--muted); font-size:.6rem; font-weight:600;}
  .stat .val{font-size:1.12rem; font-weight:800; margin-top:.35rem; line-height:1;}
  .stat .sub{font-size:.58rem; color:var(--muted); margin-top:.22rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .stat.good{background:var(--med-soft); border-color:#cdeadd;}
  .stat.good .val{color:var(--med);} .stat.good .lab{color:#2c7a64;}

  /* home: notice */
  .notice{display:block; width:100%; text-align:left; border:1px solid var(--line); background:var(--surface); border-radius:var(--r-lg); padding:.8rem; box-shadow:var(--shadow-soft); margin-bottom:.6rem; cursor:pointer;}
  .notice .row{display:flex; align-items:flex-start; justify-content:space-between; gap:.6rem;}
  .notice .badge{font-size:.56rem; font-weight:800; padding:.16rem .42rem; border-radius:1rem; white-space:nowrap;}
  .notice h3{margin:.55rem 0 0; font-size:.82rem;}
  .notice p{margin:.22rem 0 0; font-size:.62rem; color:var(--muted);}
  .b-warm{background:var(--life-soft); color:#a8662a;} .i-warm{background:#fbe2c4; color:#b87429;}
  .b-blue{background:var(--edu-soft); color:#36509e;} .i-blue{background:#dde4ff; color:#4968ed;}
  .b-purple{background:var(--law-soft); color:#5b3fae;} .i-purple{background:#e4dcfb; color:#7457d5;}

  /* home: agent cards */
  /* home: quick actions */
  .quicks{display:grid; grid-template-columns:repeat(4,1fr); gap:.5rem;}
  .quick{display:flex; flex-direction:column; align-items:center; gap:.4rem; padding:.7rem .3rem; border:1px solid var(--line); background:var(--surface); border-radius:var(--r-md); box-shadow:var(--shadow-soft); font-size:.62rem; font-weight:700; color:#3f4a63; text-align:center; cursor:pointer; text-decoration:none;}
  .quick .q-ico{width:2rem; height:2rem; border-radius:.62rem; display:grid; place-items:center; font-size:.95rem; background:var(--edu-soft); color:var(--edu);}

  /* 首页支付宝风快捷入口 */
  .home-quick{display:grid; grid-template-columns:repeat(4,1fr); gap:.35rem .3rem; padding:.2rem 0;}
  .hq{display:flex; flex-direction:column; align-items:center; gap:.42rem; padding:.65rem .2rem .5rem; border:0; background:transparent; font:inherit; cursor:pointer; text-align:center; border-radius:.7rem; transition:background .15s;}
  .hq:active{background:#f1f4f9;}
  .hq .hq-ico{width:2.55rem; height:2.55rem; border-radius:.85rem; display:grid; place-items:center; font-size:1.2rem;}
  .hq.edu .hq-ico{background:var(--edu-soft); color:var(--edu);}
  .hq.med .hq-ico{background:var(--med-soft); color:var(--med);}
  .hq.law .hq-ico{background:var(--law-soft); color:var(--law);}
  .hq.life .hq-ico{background:var(--life-soft); color:var(--life);}
  .hq.all .hq-ico{background:#eef1f7; color:var(--navy);}
  .hq .lbl{font-size:.66rem; font-weight:700; color:#3f4a63; line-height:1.2;}

  /* 助理：分类 tab（锚点定位，非筛选） */
  .catbar{position:sticky; top:3.5rem; z-index:9; display:flex; align-items:center; gap:.4rem; padding:.6rem 1.1rem; background:rgba(244,246,250,.92); backdrop-filter:blur(.4rem); overflow-x:auto; scrollbar-width:none; border-bottom:1px solid var(--soft-line);}
  .catbar::-webkit-scrollbar{display:none;}
  .cat-tab{flex:0 0 auto; display:inline-flex; align-items:center; gap:.3rem; border:0; background:transparent; border-radius:1rem; padding:.42rem .85rem; font-size:.72rem; font-weight:700; color:#53607a; cursor:pointer; white-space:nowrap; font:inherit; transition:all .18s;}
  .cat-tab iconify-icon{font-size:.92rem;}
  .cat-tab.active{background:#fff; color:var(--navy); box-shadow:0 .2rem .6rem rgba(38,56,110,.12);}
  .cat-tab[data-cat="教育"].active{color:var(--edu);}
  .cat-tab[data-cat="医疗"].active{color:var(--med);}
  .cat-tab[data-cat="法务"].active{color:var(--law);}
  .cat-tab .ct-dot{width:.34rem; height:.34rem; border-radius:50%; background:currentColor; opacity:.85;}

  /* 全部功能页 */
  .af-group{padding:.2rem 1.1rem 0;}
  .af-group h3{font-size:.78rem;color:#22304d;margin:.9rem 0 .5rem;display:flex;align-items:center;gap:.4rem;}
  .af-group h3 iconify-icon{font-size:1rem;}
  .af-group h3 .cnt{margin-left:auto;font-size:.58rem;color:var(--muted);font-weight:500;}
  .af-list{display:flex;flex-direction:column;gap:.5rem;}
  .af-item{display:flex;align-items:center;gap:.6rem;background:#fff;border:1px solid var(--line);border-radius:.9rem;padding:.6rem .7rem;box-shadow:var(--shadow-soft);}
  .af-item .af-ico{width:2.3rem;height:2.3rem;flex:0 0 auto;border-radius:.7rem;display:grid;place-items:center;font-size:1.1rem;color:#fff;}
  .af-item .af-ico.edu{background:linear-gradient(145deg,#5b8def,#3a5fc7);}
  .af-item .af-ico.med{background:linear-gradient(145deg,#7676f0,#4a4ac9);}
  .af-item .af-ico.law{background:linear-gradient(145deg,#f0a04a,#d87a1a);}
  .af-item .af-ico.ai{background:linear-gradient(145deg,#8b7cf0,#6a59d6);}
  .af-item .af-main{flex:1;min-width:0;}
  .af-item .af-main b{font-size:.74rem;color:#22304d;display:block;}
  .af-item .af-main span{font-size:.58rem;color:var(--muted);display:block;margin-top:.1rem;}
  .af-item .af-toggle{flex:0 0 auto;width:2.5rem;height:1.4rem;border-radius:1rem;background:#d9dee8;position:relative;cursor:pointer;border:0;padding:0;transition:background .2s;}
  .af-item .af-toggle::after{content:'';position:absolute;top:.16rem;left:.16rem;width:1.08rem;height:1.08rem;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .2s;}
  .af-item .af-toggle.on{background:var(--med);}
  .af-item .af-toggle.on::after{transform:translateX(1.1rem);}
  .af-item .af-go{flex:0 0 auto;background:var(--med-soft);color:var(--med);border:0;border-radius:.6rem;padding:.35rem .7rem;font-size:.6rem;font-weight:700;cursor:pointer;font:inherit;}
  .af-tip{margin:.8rem 1.1rem 0;font-size:.58rem;color:var(--muted);text-align:center;line-height:1.6;}

  .foot-note{margin:1.4rem 1.1rem .4rem; padding:.8rem; border:1px solid var(--line); border-radius:var(--r-lg); background:#fff; display:flex; gap:.5rem; align-items:flex-start;}
  .foot-note .f-ico{width:1.7rem; height:1.7rem; flex:0 0 auto; border-radius:.55rem; background:var(--med-soft); color:var(--med); display:grid; place-items:center; font-size:.85rem;}
  .foot-note b{font-size:.74rem;} .foot-note p{margin:.18rem 0 0; font-size:.62rem; color:var(--muted); line-height:1.5;}

  /* agent selector */
  .selbar{position:sticky; top:3.7rem; z-index:8; display:flex; gap:.5rem; padding:.55rem 1.1rem; background:rgba(244,246,250,.9); backdrop-filter:blur(.4rem); overflow-x:auto; scrollbar-width:none;}
  .selbar::-webkit-scrollbar{display:none;}
  .chip{flex:0 0 auto; display:inline-flex; align-items:center; gap:.35rem; border:1px solid var(--line); background:#fff; border-radius:1rem; padding:.45rem .8rem; font-size:.72rem; font-weight:700; color:#53607a; cursor:pointer;}
  .chip .c-ico{font-size:.95rem;}
  .chip.active{border-color:transparent; color:#fff;}
  .chip.edu.active{background:var(--edu);} .chip.med.active{background:var(--med);} .chip.law.active{background:var(--law);} .chip.life.active{background:var(--life);}

  /* agent quick entries */
  .quick-grid{display:grid; grid-template-columns:1fr 1fr; gap:.6rem;}
  .qcard{position:relative; text-align:left; border:1px solid var(--line); background:var(--surface); border-radius:var(--r-lg); padding:.85rem .8rem; box-shadow:var(--shadow-soft); display:flex; flex-direction:column; gap:.55rem; min-height:5.4rem; cursor:pointer;}
  .qcard .q-ico{width:2.1rem; height:2.1rem; border-radius:.65rem; display:grid; place-items:center; font-size:1rem;}
  .qcard h4{margin:0; font-size:.8rem;}
  .qcard p{margin:0; font-size:.6rem; color:var(--muted); line-height:1.45;}
  .qcard .arrow{position:absolute; top:.8rem; right:.8rem; color:#c2cad8; font-size:.9rem;}
  .qcard.edu .q-ico{background:var(--edu-soft); color:var(--edu);}
  .qcard.med .q-ico{background:var(--med-soft); color:var(--med);}
  .qcard.law .q-ico{background:var(--law-soft); color:var(--law);}
  .qcard.life .q-ico{background:var(--life-soft); color:var(--life);}

  /* agent recent */
  .recent{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--shadow-soft); overflow:hidden;}
  .ritem{display:flex; align-items:center; gap:.6rem; width:100%; text-align:left; border:0; border-top:1px solid var(--soft-line); background:#fff; padding:.7rem .8rem; cursor:pointer;}
  .ritem:first-child{border-top:0;}
  .ritem .r-ico{width:1.9rem; height:1.9rem; flex:0 0 auto; border-radius:.6rem; display:grid; place-items:center; font-size:.9rem;}
  .ritem .r-main{flex:1; min-width:0;}
  .ritem .r-main b{display:block; font-size:.76rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .ritem .r-main span{display:block; font-size:.6rem; color:var(--muted); margin-top:.1rem;}
  .ritem .r-arrow{color:#b9c2cf; font-size:.95rem;}
  .edu .r-ico{background:var(--edu-soft); color:var(--edu);} .med .r-ico{background:var(--med-soft); color:var(--med);} .law .r-ico{background:var(--law-soft); color:var(--law);} .life .r-ico{background:var(--life-soft); color:var(--life);}

  /* privacy box */
  .privacy{display:flex; gap:.55rem; align-items:flex-start; border:1px solid #f3e6c9; background:var(--life-soft); border-radius:var(--r-lg); padding:.8rem;}
  .privacy .p-ico{width:1.7rem; height:1.7rem; flex:0 0 auto; border-radius:.55rem; background:#fbe2c4; color:#b87429; display:grid; place-items:center; font-size:.85rem;}
  .privacy b{font-size:.74rem; color:#8a5a1f;} .privacy p{margin:.2rem 0 0; font-size:.62rem; color:#9a7a4d; line-height:1.5;}

  /* agent chat */
  .chat-empty{display:flex; flex-direction:column; align-items:center; text-align:center; gap:.5rem; padding:1.1rem .8rem; border:1px dashed var(--line); border-radius:var(--r-lg); color:var(--muted);}
  .chat-empty .ce-ico{width:2.4rem; height:2.4rem; border-radius:.8rem; display:grid; place-items:center; font-size:1.2rem;}
  .chat-empty p{margin:0; font-size:.68rem; line-height:1.6;}
  .bubble{display:flex; gap:.5rem; margin-bottom:.7rem;}
  .bubble .b-ava{width:1.8rem; height:1.8rem; flex:0 0 auto; border-radius:.6rem; background:var(--hf); color:#fff; display:grid; place-items:center; font-size:.9rem;}
  .bubble .b-text{background:#fff; border:1px solid var(--line); border-radius:.9rem; border-top-left-radius:.3rem; padding:.6rem .75rem; font-size:.72rem; line-height:1.6; max-width:80%;}
  .bubble.me{justify-content:flex-end;}
  .bubble.me .b-text{background:var(--hf); color:#fff; border:0; border-radius:.9rem; border-top-right-radius:.3rem;}

  .chatbar{position:absolute; left:0; right:0; bottom:4.4rem; z-index:11; display:flex; gap:.5rem; align-items:center; padding:.55rem .8rem calc(.55rem + env(safe-area-inset-bottom)); background:rgba(255,255,255,.96); border-top:1px solid var(--line); backdrop-filter:blur(.3rem);}
  .chatbar input{flex:1; border:1px solid var(--line); border-radius:1rem; padding:.6rem .9rem; outline:none; font-size:.74rem; background:#f6f8fb;}
  .chatbar input:focus{border-color:var(--edu); background:#fff;}
  .send{width:2.4rem; height:2.4rem; flex:0 0 auto; border:0; border-radius:50%; background:var(--hf); color:#fff; display:grid; place-items:center; font-size:1.05rem; cursor:pointer; box-shadow:0 .2rem .5rem rgba(91,91,232,.3);}

  /* calendar */
  .month-bar{display:flex; align-items:center; justify-content:space-between;}
  .month-bar .nav{width:2rem; height:2rem; border-radius:.6rem; border:1px solid var(--line); background:#fff; color:#53607a; display:grid; place-items:center; font-size:.95rem; cursor:pointer;}
  .month-bar h3{font-size:.95rem; min-width:6.5rem; text-align:center;}
  .cal-add{display:inline-flex; align-items:center; gap:.3rem; padding:.45rem .8rem; font-size:.7rem; border-radius:.7rem;}
  .legend{display:flex; gap:.7rem; font-size:.58rem; color:var(--muted);}
  .legend i{display:inline-block; width:.34rem; height:.34rem; border-radius:50%; margin-right:.2rem; vertical-align:middle;}
  .cal{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:.6rem; box-shadow:var(--shadow-soft);}
  .cal .wd{display:grid; grid-template-columns:repeat(7,1fr); text-align:center; font-size:.58rem; color:#94a2b3; margin-bottom:.3rem;}
  .cal .grid{display:grid; grid-template-columns:repeat(7,1fr); gap:.28rem;}
  .cell{position:relative; min-height:3.3rem; border-radius:.5rem; border:1px solid transparent; background:#fafbfc; padding:.3rem; text-align:left; cursor:pointer;}
  .cell.today{border-color:var(--hf); background:var(--hf-soft);}
  .cell b{font-size:.64rem; color:#53607a; font-weight:700;}
  .cell.today b{color:var(--hf);}
  .cell .mk{display:block; font-size:.52rem; margin-top:.22rem; padding:.1rem .22rem; border-radius:.3rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .today-list .t-item{display:flex; align-items:center; gap:.6rem; width:100%; text-align:left; border:1px solid var(--line); background:#fff; border-radius:var(--r-md); padding:.7rem .75rem; box-shadow:var(--shadow-soft); margin-bottom:.55rem; cursor:pointer;}
  .today-list .t-ico{width:2rem; height:2rem; flex:0 0 auto; border-radius:.6rem; display:grid; place-items:center; font-size:.95rem;}
  .today-list .t-main{flex:1; min-width:0;}
  .today-list .t-main b{display:block; font-size:.76rem;}
  .today-list .t-main span{display:block; font-size:.6rem; color:var(--muted); margin-top:.1rem;}
  .today-list .prio{flex:0 0 auto; font-size:.56rem; font-weight:800; padding:.18rem .42rem; border-radius:.5rem; letter-spacing:.02em;}
  .prio.p-高{background:#fde3da; color:#c0392b;}
  .prio.p-中{background:#fef1d6; color:#b87429;}
  .prio.p-低{background:#e6eef7; color:#3f6da3;}
  .today-list{padding-bottom:4.2rem;}
  .today-list .t-main .prio{display:inline-block; margin-bottom:.2rem;}
  .today-list .done{font-size:.6rem; font-weight:800; color:#4b8a71; border:1px solid #cfe3da; border-radius:.5rem; padding:.25rem .5rem; cursor:pointer;}
  .i-green{background:var(--med-soft); color:var(--med);}
  .alert{background:var(--life-soft); border:1px solid #f3e6c9; border-radius:var(--r-lg); padding:.85rem;}
  .alert .a-head{display:flex; align-items:center; justify-content:space-between;}
  .alert .a-head h2{margin:0; font-size:.9rem; color:#8a5a1f;}
  .alert .a-head .a-ico{color:#b87429; font-size:1.1rem;}
  .alert ul{margin:.6rem 0 0; padding:0; list-style:none; display:grid; gap:.5rem;}
  .alert li{display:flex; gap:.45rem; font-size:.68rem; color:#7a5a30;}
  .alert li i{width:.4rem; height:.4rem; border-radius:50%; margin-top:.22rem; flex:0 0 auto;}
  .filter{background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:.85rem; box-shadow:var(--shadow-soft);}
  .filter .f-row{display:grid; grid-template-columns:1fr 1fr; gap:.5rem; margin-top:.6rem;}
  .filter select{flex:1; border:1px solid var(--line); border-radius:.6rem; padding:.55rem .6rem; font-size:.68rem; color:#53607a; background:#f6f8fb; outline:none;}
  .filter .f-note{font-size:.6rem; color:var(--muted); margin-top:.6rem;}

  /* tasks */
  .filter-bar{display:grid; grid-template-columns:1fr 1fr; gap:.5rem; margin-top:.2rem;}
  .filter-bar select{flex:1; border:1px solid var(--line); border-radius:.6rem; padding:.55rem .6rem; font-size:.68rem; color:#53607a; background:#f6f8fb; outline:none;}
  .board{display:grid; gap:.7rem;}
  .col{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:.7rem; box-shadow:var(--shadow-soft);}
  .col.c-todo{background:#f7f9fc;} .col.c-doing{background:#fff8ec;} .col.c-done{background:#eef8f3;}
  .col-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:.6rem;}
  .col-head h3{margin:0; font-size:.78rem; display:flex; align-items:center; gap:.35rem;}
  .col-head .cnt{font-size:.6rem; background:#fff; color:var(--muted); border-radius:1rem; padding:.1rem .45rem;}
  .col.c-todo .col-head h3 i{background:#e8923a;} .col.c-doing .col-head h3 i{background:#d88d45;} .col.c-done .col-head h3 i{background:#4a9e82;}
  .col-head h3 i{width:.42rem; height:.42rem; border-radius:50%; display:inline-block;}
  .task{display:block; width:100%; text-align:left; border:1px solid var(--line); background:#fff; border-radius:var(--r-md); padding:.7rem; margin-bottom:.5rem; cursor:pointer;}
  .task:last-child{margin-bottom:0;}
  .task .t-top{display:flex; align-items:flex-start; gap:.55rem;}
  .task .t-ico{width:2rem; height:2rem; flex:0 0 auto; border-radius:.6rem; display:grid; place-items:center; font-size:.95rem;}
  .task .t-main{flex:1; min-width:0;}
  .task .t-main b{display:block; font-size:.76rem;}
  .task .t-main.done-b{text-decoration:line-through; color:#94a2b3;}
  .task .t-main span{display:block; font-size:.6rem; color:var(--muted); margin-top:.12rem;}
  .task .t-foot{display:flex; align-items:center; justify-content:space-between; margin-top:.55rem; padding-top:.45rem; border-top:1px solid var(--soft-line);}
  .task .t-who{display:flex; align-items:center; gap:.3rem; font-size:.6rem; color:#53607a;}
  .task .t-who .ava{width:1.2rem; height:1.2rem; border-radius:50%; background:#d9b59c; color:#fff; display:grid; place-items:center; font-weight:800; font-size:.6rem;}
  .task .t-move{font-size:.62rem; font-weight:800; color:var(--navy); cursor:pointer;}
  .i-neutral{background:#eef1f5; color:#53607a;}
  .note{font-size:.6rem; color:var(--muted); margin-top:.6rem;}

  /* 助理：按功能分组的并排小卡片 */
  .agent-cards{display:grid; grid-template-columns:repeat(3,1fr); gap:.5rem;}
  .a-card{position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:.35rem; text-align:left; border:1px solid #eef0f6; background:#fff; border-radius:.75rem; padding:.62rem .58rem .6rem; box-shadow:0 .04rem .12rem rgba(31,45,80,.04); cursor:pointer; font:inherit; color:inherit; overflow:hidden; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;}
  .a-card:active{transform:translateY(.03rem) scale(.99); box-shadow:0 .02rem .06rem rgba(31,45,80,.05);}
  @media(hover:hover){ .a-card:hover{transform:translateY(-.06rem); box-shadow:0 .16rem .36rem rgba(31,45,80,.1); border-color:#dde2ef;} }
  .a-ico{width:1.85rem; height:1.85rem; flex:0 0 auto; border-radius:.55rem; display:grid; place-items:center; font-size:.95rem;}
  .a-card.edu .a-ico{background:var(--edu-soft); color:var(--edu);}
  .a-card.med .a-ico{background:var(--med-soft); color:var(--med);}
  .a-card.law .a-ico{background:var(--law-soft); color:var(--law);}
  .a-card.life .a-ico{background:var(--life-soft); color:var(--life);}
  .a-card.warn .a-ico{background:#fdf0e2; color:#cf7a1c;}
  .a-title{flex:1; min-width:0; width:100%;}
  .a-title b{font-size:.7rem; display:block; line-height:1.25; font-weight:700; color:var(--navy); letter-spacing:-.005em;}
  .a-title span{display:block; font-size:.52rem; color:var(--muted); margin-top:.1rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .a-badge{position:absolute; top:.38rem; right:.38rem; font-size:.46rem; font-weight:700; padding:.1rem .3rem; border-radius:.4rem; white-space:nowrap; z-index:1;}
  .a-badge.count{background:#eef1f8; color:#53607a;}
  .a-badge.risk{background:#fde3da; color:#c0392b;}
  .a-badge.new{background:var(--med); color:#fff;}

  /* 教育功能详情页 */
  .ed-topbar{background:linear-gradient(135deg,#334ab1,#4968ed 74%,#7389f6);}
  .ed-topbar h1{color:#fff;} .ed-topbar p{color:rgba(229,234,255,.9);}
  .ed-topbar .t-left .mark{background:rgba(255,255,255,.18); box-shadow:none; color:#fff;}
  .ed-hero{position:relative; margin:.5rem 1.1rem 0; padding:1rem 1.05rem .95rem; border-radius:1.1rem; color:#fff; overflow:hidden; background:linear-gradient(135deg,#334ab1,#4968ed 74%,#7389f6); box-shadow:0 .18rem .5rem rgba(73,104,237,.28);}
  .ed-hero::after{content:''; position:absolute; right:-2.1rem; top:-2.4rem; width:7.2rem; height:7.2rem; border-radius:50%; background:rgba(255,255,255,.08);}
  .ed-hero .ed-kicker{position:relative; z-index:1; display:inline-flex; align-items:center; gap:.3rem; font-size:.56rem; font-weight:700; background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.14); border-radius:1rem; padding:.2rem .5rem;}
  .ed-hero h2{position:relative; z-index:1; margin:.48rem 0 0; font-size:1.06rem;}
  .ed-hero p{position:relative; z-index:1; margin:.2rem 0 0; font-size:.62rem; line-height:1.5; color:rgba(231,236,255,.9); max-width:90%;}
  .ed-hero-actions{position:relative; z-index:1; display:flex; gap:.5rem; margin-top:.8rem;}
  .ed-hero-actions button{display:inline-flex; align-items:center; justify-content:center; gap:.28rem; border:1px solid rgba(255,255,255,.38); background:rgba(255,255,255,.14); color:#fff; border-radius:.7rem; padding:.48rem .7rem; font:inherit; font-size:.62rem; font-weight:800; cursor:pointer;}
  .ed-hero-actions button.primary{background:#fff; color:var(--edu); border-color:#fff;}
  .ed-hero.erase-quick .ed-hero-actions button.primary{width:100%; padding:.58rem .7rem;}
  .ed-stat-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:.55rem; padding:.85rem 1.1rem 0;}
  .ed-stat{background:#fff; border:1px solid var(--line); border-radius:.9rem; padding:.72rem .55rem; box-shadow:var(--shadow-soft);}
  .ed-stat .es-label{display:flex; align-items:center; gap:.25rem; font-size:.54rem; color:var(--muted); white-space:nowrap;}
  .ed-stat .es-value{margin-top:.3rem; font-size:1.15rem; line-height:1; font-weight:800; color:var(--navy);}
  .ed-stat .es-note{margin-top:.22rem; font-size:.5rem; color:#138c78; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .ed-panel{margin:.8rem 1.1rem 0; background:#fff; border:1px solid var(--line); border-radius:1rem; padding:.85rem .9rem; box-shadow:var(--shadow-soft);}
  .ed-panel-head{display:flex; align-items:center; gap:.35rem; margin-bottom:.65rem;}
  .ed-panel-head h3{margin:0; font-size:.74rem; color:var(--navy);}
  .ed-panel-head iconify-icon{color:var(--edu); font-size:.9rem;}
  .ed-panel-head span{margin-left:auto; font-size:.54rem; color:var(--muted);}
  .ed-chart{height:4.5rem; display:flex; align-items:flex-end; gap:.42rem; padding:.2rem .05rem 0;}
  .ed-chart .ec-col{flex:1; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; gap:.2rem;}
  .ed-chart .ec-col b{font-size:.52rem; color:#3f4a63;}
  .ed-chart .ec-col i{display:block; width:100%; max-width:1.35rem; min-height:.35rem; border-radius:.4rem .4rem .15rem .15rem; background:linear-gradient(180deg,#8094fa,#4968ed);}
  .ed-chart .ec-col:last-child i{background:linear-gradient(180deg,#51c9a1,#138c78);}
  .ed-chart .ec-col span{font-size:.48rem; color:var(--muted); white-space:nowrap;}
  .ed-chart-foot{display:flex; align-items:center; gap:.35rem; margin-top:.55rem; padding-top:.55rem; border-top:1px dashed var(--line); font-size:.55rem; color:#53607a;}
  .ed-chart-foot b{margin-left:auto; color:#138c78;}
  .ed-insights{display:grid; gap:.45rem;}
  .ed-insight{display:flex; align-items:flex-start; gap:.48rem; background:#f8faff; border-radius:.72rem; padding:.55rem .6rem;}
  .ed-insight .ei-ico{width:1.55rem; height:1.55rem; flex:0 0 auto; display:grid; place-items:center; border-radius:.5rem; background:var(--edu-soft); color:var(--edu); font-size:.78rem;}
  .ed-insight b{display:block; font-size:.62rem; color:#22304d;}
  .ed-insight span{display:block; margin-top:.12rem; font-size:.54rem; line-height:1.45; color:var(--muted);}
  .ed-history{padding:.9rem 1.1rem 0;}
  .ed-history-head{display:flex; align-items:flex-end; justify-content:space-between; gap:.5rem; margin-bottom:.55rem;}
  .ed-history-head h3{display:flex; align-items:center; gap:.35rem; margin:0; font-size:.76rem; color:var(--navy);}
  .ed-history-head h3 iconify-icon{color:var(--edu);}
  .ed-history-head h3>span{font:inherit; color:inherit;}
  .ed-history-head-actions{display:flex; align-items:center; gap:.45rem; margin-left:auto;}
  .ed-history-head-actions>span{font-size:.54rem; color:var(--muted);}
  .ed-history-icon{width:1.9rem; height:1.9rem; flex:0 0 auto; place-items:center; border:0; border-radius:.6rem; background:linear-gradient(135deg,#4968ed,#6680f2); color:#fff; font-size:.9rem; cursor:pointer; box-shadow:0 .12rem .32rem rgba(73,104,237,.28);}
  .ed-history-icon iconify-icon{color:#fff!important;}
  .ed-history-icon:active{transform:scale(.96); box-shadow:0 .06rem .18rem rgba(73,104,237,.22);}
  .ed-filter{display:flex; gap:.36rem; margin-bottom:.55rem; overflow-x:auto; scrollbar-width:none;}
  .ed-filter::-webkit-scrollbar{display:none;}
  .ed-filter button{flex:0 0 auto; border:1px solid var(--line); background:#fff; color:#657089; border-radius:1rem; padding:.32rem .62rem; font:inherit; font-size:.56rem; font-weight:700; cursor:pointer;}
  .ed-filter button.active{background:var(--edu); color:#fff; border-color:var(--edu);}
  .ed-file{display:flex; align-items:center; gap:.6rem; width:100%; margin-bottom:.5rem; padding:.68rem .72rem; border:1px solid var(--line); border-radius:.9rem; background:#fff; box-shadow:var(--shadow-soft); text-align:left; font:inherit; cursor:pointer;}
  .ed-file:active{background:#fafbff;}
  .ed-file .ef-ico{width:2.25rem; height:2.25rem; flex:0 0 auto; display:grid; place-items:center; border-radius:.68rem; background:var(--edu-soft); color:var(--edu); font-size:1.05rem;}
  .ed-file .ef-main{flex:1; min-width:0;}
  .ed-file .ef-main b{display:block; font-size:.7rem; color:#22304d; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .ed-file .ef-main span{display:block; margin-top:.15rem; font-size:.54rem; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .ed-file .ef-right{flex:0 0 auto; text-align:right;}
  .ed-file .ef-tag{display:block; font-size:.5rem; font-weight:800; color:var(--edu); background:var(--edu-soft); border-radius:1rem; padding:.12rem .35rem;}
  .ed-file .ef-date{display:block; margin-top:.22rem; font-size:.48rem; color:#9aa5b8;}
  .ed-history.erase-only{padding-top:.8rem;}
  .ed-history.erase-only .ed-history-head{align-items:center; margin-bottom:.65rem;}
  .ed-erase-list{display:flex; flex-direction:column; gap:.65rem;}
  .ed-erase-record{background:#fff; border:1px solid var(--line); border-radius:1rem; padding:.72rem; box-shadow:var(--shadow-soft);}
  .ed-erase-record-head{display:flex; align-items:center; gap:.4rem; margin-bottom:.58rem;}
  .ed-erase-record-head .eer-subject{display:inline-flex; align-items:center; gap:.2rem; padding:.12rem .38rem; border-radius:1rem; background:var(--edu-soft); color:var(--edu); font-size:.52rem; font-weight:800;}
  .ed-erase-record-head b{flex:1; min-width:0; color:#22304d; font-size:.68rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .ed-erase-record-head time{flex:0 0 auto; color:#9aa5b8; font-size:.5rem;}
  .ed-erase-pair{display:grid; grid-template-columns:minmax(0,1fr) 1.15rem minmax(0,1fr); gap:.35rem; align-items:stretch;}
  .ed-erase-file{min-width:0; border:1px solid #e2e6ef; border-radius:.75rem; background:#f8f9fc; padding:.58rem .5rem; font:inherit; text-align:left; cursor:pointer;}
  .ed-erase-file:active{transform:translateY(.03rem);}
  .ed-erase-file.result{border-color:#cfe9de; background:#f0faf6;}
  .ed-erase-file .eef-top{display:flex; align-items:center; gap:.28rem; color:#69758d; font-size:.5rem; font-weight:700;}
  .ed-erase-file.result .eef-top{color:#138c78;}
  .ed-erase-file .eef-top iconify-icon{font-size:.78rem;}
  .ed-erase-file b{display:block; margin-top:.3rem; color:#25314a; font-size:.58rem; line-height:1.35; overflow-wrap:anywhere;}
  .ed-erase-file small{display:block; margin-top:.22rem; color:#8b96aa; font-size:.48rem;}
  .ed-erase-arrow{display:grid; place-items:center; color:var(--edu); font-size:.78rem;}
  .ed-erase-empty{text-align:center; padding:2rem .5rem; color:var(--muted); font-size:.62rem;}
  .ed-erase-empty iconify-icon{display:block; margin:0 auto .4rem; font-size:1.5rem; color:#bcc5d8;}
  .ed-mistake-list{display:flex; flex-direction:column; gap:.58rem;}
  .ed-mistake-card{background:#fff; border:1px solid var(--line); border-radius:.95rem; padding:.7rem .75rem; box-shadow:var(--shadow-soft);}
  .ed-mistake-card-head{display:flex; align-items:center; gap:.35rem;}
  .ed-mistake-no{width:1.45rem; height:1.45rem; flex:0 0 auto; display:grid; place-items:center; border-radius:50%; background:#fde9e4; color:#c64d3a; font-size:.58rem; font-weight:800;}
  .ed-mistake-kp{flex:1; min-width:0; color:#34415a; font-size:.58rem; font-weight:800;}
  .ed-mistake-state{flex:0 0 auto; padding:.12rem .38rem; border-radius:1rem; background:#fff1df; color:#b56a16; font-size:.48rem; font-weight:800;}
  .ed-mistake-q{margin:.5rem 0 .4rem; color:#1f2c44; font-size:.66rem; font-weight:700; line-height:1.55;}
  .ed-mistake-answer{display:flex; gap:.65rem; flex-wrap:wrap; padding:.4rem .48rem; border-radius:.62rem; background:#f8f9fc; color:#69758b; font-size:.53rem;}
  .ed-mistake-answer .wrong b{color:#c64d3a;} .ed-mistake-answer .right b{color:#138c78;}
  .ed-mistake-source{display:flex; align-items:center; gap:.32rem; margin-top:.45rem; padding-top:.42rem; border-top:1px dashed #e1e6ef; color:#7d889d; font-size:.5rem;}
  .ed-mistake-source iconify-icon{color:var(--edu); font-size:.72rem;}
  .ed-mistake-source b{flex:1; min-width:0; color:#536079; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .ed-mistake-source time{flex:0 0 auto;}
  .ed-vol-section-title{display:flex; align-items:center; gap:.3rem; margin:.72rem 0 .48rem; color:#34415a; font-size:.64rem; font-weight:800;}
  .ed-vol-section-title iconify-icon{color:var(--edu); font-size:.82rem;}
  .ed-school-cards{display:flex; gap:.5rem; overflow-x:auto; padding-bottom:.15rem; scrollbar-width:none;}
  .ed-school-cards::-webkit-scrollbar{display:none;}
  .ed-school-card{flex:0 0 10rem; min-width:0; border:1px solid #e1e6ef; border-radius:.9rem; background:#fff; padding:.65rem; box-shadow:var(--shadow-soft);}
  .ed-school-card.recommend{border-top:3px solid #4968ed;} .ed-school-card.reach{border-top:3px solid #e08b3e;} .ed-school-card.safe{border-top:3px solid #18a17a;}
  .ed-school-card-head{display:flex; align-items:center; gap:.3rem;}
  .ed-school-card-head span{flex:1; color:#2c3952; font-size:.62rem; font-weight:800;}
  .ed-school-card-head b{padding:.1rem .32rem; border-radius:1rem; background:#eef1ff; color:#4968ed; font-size:.46rem;}
  .ed-school-card.reach .ed-school-card-head b{background:#fff2e4; color:#bd6a24;} .ed-school-card.safe .ed-school-card-head b{background:#e9f8f3; color:#138c78;}
  .ed-school-list{display:grid; gap:.28rem; margin-top:.48rem;}
  .ed-school-list div{display:flex; align-items:center; gap:.28rem; color:#47546c; font-size:.54rem;}
  .ed-school-list i{width:.28rem; height:.28rem; flex:0 0 auto; border-radius:50%; background:#8497ef;}
  .ed-school-card.reach .ed-school-list i{background:#e08b3e;} .ed-school-card.safe .ed-school-list i{background:#18a17a;}
  .ed-school-card small{display:block; margin-top:.48rem; padding-top:.4rem; border-top:1px dashed #e2e6ef; color:#8993a7; font-size:.48rem; line-height:1.45;}
  .ed-consult-list{display:flex; flex-direction:column; gap:.5rem;}
  .ed-consult-item{display:flex; align-items:flex-start; gap:.52rem; width:100%; border:1px solid var(--line); border-radius:.88rem; background:#fff; padding:.65rem .7rem; box-shadow:var(--shadow-soft); font:inherit; text-align:left; cursor:pointer;}
  .ed-consult-item .eci-ico{width:2rem; height:2rem; flex:0 0 auto; display:grid; place-items:center; border-radius:.62rem; background:var(--edu-soft); color:var(--edu); font-size:.9rem;}
  .ed-consult-item .eci-main{flex:1; min-width:0;}
  .ed-consult-item .eci-main b{display:block; color:#2b3851; font-size:.64rem;}
  .ed-consult-item .eci-main span{display:block; margin-top:.15rem; color:#7b869b; font-size:.52rem; line-height:1.4;}
  .ed-consult-item .eci-right{flex:0 0 auto; text-align:right;}
  .ed-consult-item .eci-right b{display:block; color:#4968ed; font-size:.48rem;}
  .ed-consult-item .eci-right time{display:block; margin-top:.22rem; color:#9aa4b6; font-size:.46rem;}
  #view-volunteer-consult{background:linear-gradient(180deg,#f1f5ff 0,#f7f9fd 14rem,var(--canvas) 28rem);}
  #view-volunteer-consult .topbar p{font-size:12px;}
  .ed-vol-consult-body{padding:.82rem 1rem 0;}
  .ed-vol-consult-summary{padding:.9rem; border:1px solid #dce4fb; border-radius:1rem; background:linear-gradient(145deg,#eef3ff,#fff); box-shadow:0 .14rem .42rem rgba(45,65,120,.07);}
  .evc-meta{display:flex; align-items:center; justify-content:space-between;}
  .evc-meta span{padding:.12rem .42rem; border-radius:1rem; background:#4968ed; color:#fff; font-size:12px; font-weight:800;}
  .evc-meta time{color:#8b96aa; font-size:12px;}
  .ed-vol-consult-summary h2{margin:.58rem 0 .25rem; color:#24314a; font-size:16px; line-height:1.45;}
  .ed-vol-consult-summary>p{margin:0; color:#66738b; font-size:12px; line-height:1.6;}
  .evc-student{display:flex; align-items:center; gap:.3rem; margin-top:.65rem; padding-top:.55rem; border-top:1px dashed #dce3ef; color:#768299; font-size:12px;}
  .evc-student iconify-icon{color:var(--edu); font-size:.8rem;}
  .ed-vol-consult-schools{margin-top:.78rem;}
  .ed-vol-consult-schools .ed-vol-section-title{font-size:14px;}
  .ed-vol-consult-schools .ed-school-cards{display:flex; flex-direction:column; gap:.55rem; overflow:visible;}
  .ed-vol-consult-schools .ed-school-card{width:100%; flex:none; box-sizing:border-box; padding:.75rem;}
  .ed-vol-consult-schools .ed-school-card-head span{font-size:13px;}
  .ed-vol-consult-schools .ed-school-card-head b,
  .ed-vol-consult-schools .ed-school-list div,
  .ed-vol-consult-schools .ed-school-card small{font-size:12px;}
  .evc-note{display:flex; align-items:flex-start; gap:.32rem; margin:.65rem 0 0; padding:.55rem .6rem; border-radius:.68rem; background:#f1f4ff; color:#727e95; font-size:12px; line-height:1.5;}
  .evc-note iconify-icon{flex:0 0 auto; margin-top:.04rem; color:var(--edu);}
  .ed-compose-source{border:1px solid #dce4ff; border-radius:.95rem; background:linear-gradient(135deg,#f4f7ff,#fff); padding:.7rem .72rem; margin-bottom:.7rem;}
  .ed-compose-source-head{display:flex; align-items:center; gap:.35rem; color:#34415a; font-size:.64rem; font-weight:800;}
  .ed-compose-source-head iconify-icon{color:var(--edu); font-size:.85rem;}
  .ed-compose-source-head span{margin-left:auto; color:#138c78; font-size:.48rem; font-weight:700;}
  .ed-compose-source-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:.42rem; margin-top:.58rem;}
  .ed-compose-source-card{display:flex; align-items:center; gap:.4rem; min-width:0; padding:.5rem; border:1px solid #e3e8f2; border-radius:.72rem; background:#fff;}
  .ed-compose-source-card.focus{border-color:#d5defe; background:#f8f9ff;}
  .ed-compose-source-card .ecs-ico{width:1.75rem; height:1.75rem; flex:0 0 auto; display:grid; place-items:center; border-radius:.55rem; background:var(--edu-soft); color:var(--edu); font-size:.82rem;}
  .ed-compose-source-card.library .ecs-ico{background:#eef7f3; color:#138c78;}
  .ed-compose-source-card .ecs-main{flex:1; min-width:0;}
  .ed-compose-source-card .ecs-main span{display:block; color:#69758b; font-size:.48rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .ed-compose-source-card .ecs-main b{display:block; margin-top:.12rem; color:#293750; font-size:.64rem;}
  .ed-compose-source-card .ecs-main small{display:block; margin-top:.1rem; color:#929caf; font-size:.44rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .ed-compose-strategy{display:flex; align-items:flex-start; gap:.32rem; margin-top:.52rem; padding:.45rem .5rem; border-radius:.62rem; background:#eef1ff; color:#52609a; font-size:.5rem; line-height:1.5;}
  .ed-compose-strategy iconify-icon{flex:0 0 auto; margin-top:.02rem; color:var(--edu); font-size:.72rem;}
  .ed-compose-history-title{display:flex; align-items:center; gap:.3rem; margin:.7rem 0 .48rem; color:#34415a; font-size:.64rem; font-weight:800;}
  .ed-compose-history-title iconify-icon{color:var(--edu); font-size:.82rem;}
  .ed-compose-files{display:flex; flex-direction:column; gap:.5rem;}
  .ed-compose-file{display:flex; align-items:center; gap:.55rem; width:100%; border:1px solid var(--line); border-radius:.9rem; background:#fff; padding:.65rem .7rem; box-shadow:var(--shadow-soft); font:inherit; text-align:left; cursor:pointer;}
  .ed-compose-file .ecf-ico{width:2.15rem; height:2.35rem; flex:0 0 auto; display:grid; place-items:center; border:1px solid #dce3fa; border-radius:.52rem; background:var(--edu-soft); color:var(--edu); font-size:1rem;}
  .ed-compose-file .ecf-main{flex:1; min-width:0;}
  .ed-compose-file .ecf-main b{display:block; color:#283650; font-size:.65rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .ed-compose-file .ecf-main span{display:block; margin-top:.16rem; color:#7b879b; font-size:.5rem; line-height:1.35;}
  .ed-compose-file .ecf-tags{display:flex; gap:.28rem; margin-top:.3rem; flex-wrap:wrap;}
  .ed-compose-file .ecf-tags i{font-style:normal; padding:.09rem .3rem; border-radius:1rem; background:#f0f2f8; color:#677289; font-size:.44rem; font-weight:700;}
  .ed-compose-file .ecf-right{flex:0 0 auto; text-align:right;}
  .ed-compose-file .ecf-right b{display:block; color:#138c78; font-size:.5rem;}
  .ed-compose-file .ecf-right time{display:block; margin-top:.22rem; color:#9ba5b7; font-size:.46rem;}
  .ed-empty{padding:1.3rem; text-align:center; color:var(--muted); font-size:.62rem; background:#fff; border:1px dashed var(--line); border-radius:.9rem;}
  .ed-status-list{display:grid; gap:.45rem;}
  .ed-status-row{display:flex; align-items:center; gap:.5rem; padding:.52rem .58rem; background:#f8faff; border-radius:.72rem;}
  .ed-status-row .sr-ico{width:1.75rem; height:1.75rem; flex:0 0 auto; display:grid; place-items:center; border-radius:.55rem; background:var(--edu-soft); color:var(--edu); font-size:.85rem;}
  .ed-status-row .sr-main{flex:1; min-width:0;}
  .ed-status-row .sr-main b{display:block; font-size:.62rem; color:#22304d; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .ed-status-row .sr-main span{display:block; margin-top:.12rem; font-size:.52rem; color:var(--muted);}
  .ed-status-row .sr-tag{flex:0 0 auto; font-size:.5rem; font-weight:800; color:#138c78; background:#eaf8f4; border-radius:1rem; padding:.14rem .38rem;}
  .ed-progress-row{padding:.5rem 0; border-bottom:1px dashed var(--line);}
  .ed-progress-row:last-child{border-bottom:0; padding-bottom:0;}
  .ed-progress-row:first-child{padding-top:0;}
  .ed-progress-top{display:flex; align-items:center; gap:.35rem; font-size:.6rem; color:#3f4a63;}
  .ed-progress-top b{margin-left:auto; color:var(--navy);}
  .ed-progress-bar{height:.34rem; margin-top:.34rem; overflow:hidden; border-radius:1rem; background:#edf0f6;}
  .ed-progress-bar i{display:block; height:100%; border-radius:1rem; background:linear-gradient(90deg,#4968ed,#7a8ef7);}
  .ed-compare{display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:.55rem; padding:.25rem 0 .65rem;}
  .ed-compare-card{background:#f7f9ff; border:1px solid #e7eaff; border-radius:.82rem; padding:.7rem .55rem; text-align:center;}
  .ed-compare-card.good{background:#eef9f5; border-color:#d8eee6;}
  .ed-compare-card span{display:block; font-size:.52rem; color:var(--muted);}
  .ed-compare-card b{display:block; margin-top:.22rem; font-size:1.28rem; color:#53607a;}
  .ed-compare-card.good b{color:#138c78;}
  .ed-compare-arrow{color:var(--edu); font-size:1.05rem;}
  .ed-callout{display:flex; align-items:flex-start; gap:.45rem; margin-top:.45rem; padding:.55rem .6rem; border-radius:.7rem; background:#eef1ff; color:#3e4d90; font-size:.55rem; line-height:1.5;}
  .ed-callout iconify-icon{font-size:.82rem; flex:0 0 auto; margin-top:.02rem;}
  .ed-coverage{display:grid; grid-template-columns:repeat(3,1fr); gap:.45rem; margin-top:.55rem;}
  .ed-cover{padding:.55rem .35rem; text-align:center; border-radius:.72rem; background:#f8faff;}
  .ed-cover b{display:block; font-size:.88rem; color:var(--edu);}
  .ed-cover span{display:block; margin-top:.12rem; font-size:.5rem; color:var(--muted);}
  .ed-cover.steady b{color:#138c78;} .ed-cover.safe b{color:#b87429;}
  .ed-missing{display:flex; align-items:flex-start; gap:.45rem; padding:.5rem .58rem; border-radius:.7rem; background:#fff5e9; color:#8c5b25; font-size:.54rem; line-height:1.45; margin-top:.45rem;}
  .ed-missing iconify-icon{font-size:.8rem; flex:0 0 auto;}

  /* ============ 通用工具页（擦除 / AI出题） ============ */
  .tool-card{margin:.7rem .9rem 0; background:#fff; border-radius:1rem; padding:.85rem .9rem .9rem; box-shadow:var(--shadow-soft); border:1px solid var(--soft-line);}
  .tool-card-head{display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin-bottom:.6rem;}
  .tool-card-head h3{margin:0; font-size:.82rem; display:flex; align-items:center; gap:.4rem; color:var(--ink);}
  .tool-card-head h3 iconify-icon{color:var(--edu); font-size:1rem;}
  .source-tabs{display:grid; grid-template-columns:1fr 1fr; gap:.45rem; margin-bottom:.7rem;}
  .source-tabs button{display:flex; align-items:center; justify-content:center; gap:.35rem; padding:.55rem .4rem; border:1px solid var(--line); background:#f7f9fd; border-radius:.7rem; font-size:.68rem; font-weight:700; color:#525d76; cursor:pointer; font:inherit; transition:all .18s;}
  .source-tabs button iconify-icon{font-size:.95rem; color:var(--muted);}
  .source-tabs button.active{background:var(--edu-soft); border-color:var(--edu); color:var(--edu);}
  .source-tabs button.active iconify-icon{color:var(--edu);}

  /* 擦除：上传区 */
  .er-upload{border:1.5px dashed #c4cdf0; border-radius:.9rem; padding:1.1rem .8rem .9rem; text-align:center; background:linear-gradient(180deg,#f7f9ff,#fff); cursor:pointer; transition:all .18s;}
  .er-upload:active{border-color:var(--edu); background:var(--edu-soft);}
  .er-up-ico{width:2.7rem; height:2.7rem; margin:0 auto .45rem; border-radius:50%; background:var(--edu-soft); color:var(--edu); display:grid; place-items:center; font-size:1.35rem;}
  .er-upload b{display:block; font-size:.74rem; color:var(--ink);}
  .er-upload>span{display:block; font-size:.58rem; color:var(--muted); margin:.15rem 0 .6rem;}
  .er-up-guides{display:flex; flex-direction:column; gap:.28rem; text-align:left; background:#fff; border:1px solid var(--soft-line); border-radius:.6rem; padding:.45rem .55rem;}
  .er-up-guides span{display:flex; align-items:center; gap:.35rem; font-size:.56rem; color:#5d6880;}
  .er-up-guides iconify-icon{color:#16a376; font-size:.8rem;}

  /* 擦除：历史选择 */
  .er-history{display:flex; flex-direction:column; gap:.45rem; max-height:16rem; overflow-y:auto; scrollbar-width:none;}
  .er-history::-webkit-scrollbar{display:none;}
  .er-hist-item{display:flex; align-items:center; gap:.55rem; padding:.5rem .55rem; border:1px solid var(--line); border-radius:.7rem; cursor:pointer; transition:all .15s; background:#fff;}
  .er-hist-item:active{border-color:var(--edu); background:var(--edu-soft);}
  .er-hist-ico{width:2rem; height:2.3rem; border-radius:.35rem; background:var(--edu-soft); color:var(--edu); display:grid; place-items:center; font-size:1rem; flex:0 0 auto; border:1px solid #dde4fb;}
  .er-hist-main{flex:1; min-width:0;}
  .er-hist-main b{display:block; font-size:.68rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .er-hist-main span{display:block; font-size:.54rem; color:var(--muted); margin-top:.1rem;}
  .er-hist-date{font-size:.54rem; color:var(--muted); flex:0 0 auto;}

  /* 处理中 */
  .er-proc{text-align:center; padding:.6rem .3rem .2rem;}
  .er-spinner{width:3.1rem; height:3.1rem; margin:0 auto .6rem; border-radius:50%; background:conic-gradient(from 0deg, var(--edu), #8aa0f5, var(--edu)); display:grid; place-items:center; animation:er-spin 1.1s linear infinite; position:relative;}
  .er-spinner::after{content:''; position:absolute; inset:.32rem; background:#fff; border-radius:50%;}
  .er-spinner iconify-icon{position:relative; z-index:1; font-size:1.3rem; color:var(--edu);}
  @keyframes er-spin{to{transform:rotate(360deg);}}
  .er-proc b{display:block; font-size:.8rem; color:var(--ink);}
  .er-proc>span{display:block; font-size:.6rem; color:var(--muted); margin:.18rem 0 .7rem;}
  .er-progress{height:.42rem; background:#eef1f8; border-radius:99px; overflow:hidden; margin-bottom:.75rem;}
  .er-progress i{display:block; height:100%; width:0; background:linear-gradient(90deg,var(--edu),#6f86f3); border-radius:99px; transition:width .4s ease;}
  .er-steps{display:flex; justify-content:space-between; gap:.2rem;}
  .er-steps span{flex:1; display:flex; flex-direction:column; align-items:center; gap:.25rem; font-size:.5rem; color:#aab2c4; text-align:center; line-height:1.2;}
  .er-steps span iconify-icon{font-size:1.05rem; color:#cdd4e3;}
  .er-steps span.done iconify-icon{color:#16a376;}
  .er-steps span.done{color:#16a376;}
  .er-steps span.active{color:var(--edu);}
  .er-steps span.active iconify-icon{color:var(--edu); animation:er-pulse 1.1s ease-in-out infinite;}
  @keyframes er-pulse{0%,100%{transform:scale(1);}50%{transform:scale(1.12);}}

  /* 错误提示 */
  .tool-error{margin:.7rem .9rem 0; display:flex; align-items:center; gap:.6rem; padding:.75rem .8rem; background:#fef0f0; border:1px solid #fbd0d0; border-radius:.9rem;}
  .tool-error>iconify-icon{font-size:1.5rem; color:#e04a4a; flex:0 0 auto;}
  .tool-error div{flex:1;}
  .tool-error b{display:block; font-size:.74rem; color:#c23030;}
  .tool-error span{display:block; font-size:.58rem; color:#a24b4b; margin-top:.1rem;}
  .tool-error button{flex:0 0 auto; border:0; background:#e04a4a; color:#fff; border-radius:.6rem; padding:.4rem .7rem; font-size:.6rem; font-weight:700; cursor:pointer; font:inherit;}

  /* 擦除：结果 */
  .er-success-tag{display:inline-flex; align-items:center; gap:.25rem; font-size:.54rem; font-weight:700; color:#138c66; background:#e8f8f1; padding:.25rem .5rem; border-radius:99px;}
  .er-success-tag iconify-icon{font-size:.75rem;}
  .er-compare{display:flex; align-items:center; gap:.45rem; margin:.3rem 0 .7rem;}
  .er-compare-col{flex:1; text-align:center;}
  .er-thumb{position:relative; height:7.2rem; border-radius:.6rem; border:1px solid var(--line); background:repeating-linear-gradient(0deg,#fafbfe,#fafbfe .42rem,#f3f6fc .42rem,#f3f6fc .44rem),repeating-linear-gradient(90deg,transparent,transparent 1.1rem,rgba(73,104,237,.05) 1.1rem,rgba(73,104,237,.05) 1.12rem); display:grid; place-items:center; color:#b6c0d6; font-size:1.6rem; overflow:hidden;}
  .er-thumb.erased{background:repeating-linear-gradient(0deg,#fff,#fff .5rem,#f7f9ff .5rem,#f7f9ff .52rem);}
  .er-thumb.erased::before{content:''; position:absolute; inset:.5rem; border:.12rem dashed #c4cdf0; border-radius:.4rem;}
  .er-erase-badge{position:absolute; top:.4rem; right:.4rem; display:inline-flex; align-items:center; gap:.2rem; font-size:.5rem; font-weight:700; color:#fff; background:#16a376; padding:.18rem .4rem; border-radius:99px; z-index:1;}
  .er-erase-badge iconify-icon{font-size:.68rem;}
  .er-compare-col>span{display:block; font-size:.56rem; color:var(--muted); margin-top:.35rem;}
  .er-compare-arrow{color:var(--edu); font-size:1.2rem; flex:0 0 auto;}
  .er-result-info{display:grid; grid-template-columns:repeat(3,1fr); gap:.4rem; margin-bottom:.75rem;}
  .er-result-info div{text-align:center; background:#f7f9fd; border-radius:.6rem; padding:.45rem .2rem;}
  .er-result-info b{display:block; font-size:.92rem; color:var(--edu);}
  .er-result-info span{display:block; font-size:.52rem; color:var(--muted); margin-top:.1rem;}
  .er-actions{display:grid; grid-template-columns:1fr 1fr; gap:.5rem; margin-bottom:.45rem;}
  .er-btn{display:inline-flex; align-items:center; justify-content:center; gap:.35rem; border:1px solid var(--line); background:#fff; color:#3f4a63; border-radius:.75rem; padding:.62rem .5rem; font-size:.68rem; font-weight:700; cursor:pointer; font:inherit; transition:all .15s;}
  .er-btn iconify-icon{font-size:1rem;}
  .er-btn:active{transform:scale(.98);}
  .er-btn.primary{background:linear-gradient(135deg,var(--edu),#6680f2); border-color:transparent; color:#fff; box-shadow:0 .2rem .5rem rgba(73,104,237,.3);}
  .er-btn.ghost{width:100%; background:#f7f9fd; border-style:dashed; color:var(--muted);}
  .er-btn.block{width:100%; margin-top:.75rem; padding:.72rem; font-size:.74rem;}

  /* AI 出题：配置 */
  .qz-group{margin-bottom:.7rem;}
  .qz-label{display:flex; align-items:center; gap:.35rem; font-size:.68rem; font-weight:700; color:var(--ink); margin-bottom:.4rem;}
  .qz-label iconify-icon{color:var(--edu); font-size:.95rem;}
  .qz-hint{font-weight:400; color:var(--muted); font-size:.56rem;}
  .qz-count{margin-left:auto; color:var(--edu); font-size:.7rem;}
  .qz-chips{display:flex; flex-wrap:wrap; gap:.4rem;}
  .qz-chips button{border:1px solid var(--line); background:#f7f9fd; color:#525d76; border-radius:99px; padding:.38rem .7rem; font-size:.64rem; font-weight:600; cursor:pointer; font:inherit; transition:all .15s;}
  .qz-chips button iconify-icon{font-size:.82rem; vertical-align:-.12rem; margin-right:.2rem;}
  .qz-chips button.active{background:var(--edu); border-color:var(--edu); color:#fff; box-shadow:0 .15rem .4rem rgba(73,104,237,.28);}
  .qz-chips.multi button.active{background:var(--edu-soft); border-color:var(--edu); color:var(--edu); box-shadow:none;}
  .qz-difficulty input[type=range],.qz-count-row input[type=range]{-webkit-appearance:none; appearance:none; width:100%; height:.34rem; border-radius:99px; background:#e4e9f5; outline:none;}
  .qz-difficulty input[type=range]::-webkit-slider-thumb,.qz-count-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none; appearance:none; width:1.1rem; height:1.1rem; border-radius:50%; background:var(--edu); border:.18rem solid #fff; box-shadow:0 .1rem .3rem rgba(73,104,237,.4); cursor:pointer;}
  .qz-difficulty input[type=range]::-moz-range-thumb,.qz-count-row input[type=range]::-moz-range-thumb{width:1.1rem; height:1.1rem; border-radius:50%; background:var(--edu); border:.18rem solid #fff; box-shadow:0 .1rem .3rem rgba(73,104,237,.4); cursor:pointer;}
  .qz-diff-labels{display:flex; justify-content:space-between; margin-top:.35rem;}
  .qz-diff-labels span{font-size:.58rem; color:#aab2c4; font-weight:600;}
  .qz-diff-labels span.active{color:var(--edu); font-weight:800;}
  .qz-count-row{display:flex; align-items:center; gap:.5rem;}
  .qz-count-row button{width:1.8rem; height:1.8rem; flex:0 0 auto; border:1px solid var(--line); background:#fff; border-radius:.55rem; font-size:1rem; font-weight:700; color:var(--edu); cursor:pointer; font:inherit;}
  .qz-count-row button:active{background:var(--edu-soft);}

  /* AI 出题：试卷结果 */
  .qz-toggle-answer{display:inline-flex; align-items:center; gap:.3rem; border:1px solid var(--edu); background:var(--edu-soft); color:var(--edu); border-radius:.65rem; padding:.35rem .6rem; font-size:.6rem; font-weight:700; cursor:pointer; font:inherit;}
  .qz-toggle-answer iconify-icon{font-size:.85rem;}
  .qz-paper{border:1px solid var(--soft-line); border-radius:.7rem; padding:.7rem .75rem; background:repeating-linear-gradient(0deg,#fff,#fff 1.6rem,#f7f9ff 1.6rem,#f7f9ff 1.62rem); max-height:24rem; overflow-y:auto; scrollbar-width:thin;}
  .qz-paper::-webkit-scrollbar{width:.3rem;} .qz-paper::-webkit-scrollbar-thumb{background:#d4dbec; border-radius:99px;}
  .qz-meta{display:flex; flex-wrap:wrap; gap:.4rem; margin-bottom:.65rem; padding-bottom:.55rem; border-bottom:1px dashed #dce2f0;}
  .qz-meta span{font-size:.54rem; color:#5d6880; background:#f0f3fb; border-radius:.4rem; padding:.2rem .45rem;}
  .qz-meta span b{color:var(--edu);}
  .qz-q{padding:.45rem 0; border-bottom:1px dashed #e7eaf3;}
  .qz-q:last-child{border-bottom:0;}
  .qz-q-head{display:flex; align-items:flex-start; gap:.4rem; font-size:.66rem; line-height:1.5;}
  .qz-q-no{flex:0 0 auto; min-width:1.2rem; height:1.2rem; border-radius:.35rem; background:var(--edu-soft); color:var(--edu); font-size:.56rem; font-weight:800; display:grid; place-items:center;}
  .qz-q-type{font-size:.5rem; color:#fff; background:#9aa8c8; border-radius:.3rem; padding:.1rem .32rem; margin-left:.25rem; vertical-align:.1rem;}
  .qz-q-body{flex:1;}
  .qz-q-body .q{font-weight:600; color:var(--ink);}
  .qz-options{display:flex; flex-direction:column; gap:.25rem; margin:.4rem 0 .1rem;}
  .qz-opt{display:flex; gap:.4rem; font-size:.62rem; color:#4a5470; line-height:1.45; padding:.28rem .4rem; border-radius:.4rem;}
  .qz-opt .opt-key{flex:0 0 auto; font-weight:700; color:#8290ac;}
  .qz-opt.correct{background:#eafaf2;}
  .qz-opt.correct .opt-key{color:#16a376;}
  .qz-blank{display:inline-block; min-width:3rem; border-bottom:1px solid #b6c0d6; margin:0 .15rem; height:.9rem; vertical-align:middle;}
  .qz-answer{margin-top:.45rem; padding:.5rem .55rem; background:#f4f8ff; border:1px solid #d9e3fb; border-left:.18rem solid var(--edu); border-radius:.45rem; font-size:.58rem; line-height:1.55; display:none;}
  .qz-answer.show{display:block; animation:qz-fade .25s ease;}
  @keyframes qz-fade{from{opacity:0; transform:translateY(-.2rem);}to{opacity:1; transform:none;}}
  .qz-answer b{display:inline-flex; align-items:center; gap:.25rem; color:var(--edu); font-size:.6rem; margin-bottom:.18rem;}
  .qz-answer b iconify-icon{font-size:.8rem;}
  .qz-answer .ans{color:#138c66; font-weight:700;}
  .qz-answer .expl{color:#5d6880; display:block; margin-top:.18rem;}

  /* archives */
  .search{position:relative; margin:.4rem 1.1rem 0;}
  .search input{width:100%; border:1px solid var(--line); border-radius:.8rem; padding:.7rem .9rem .7rem 2.4rem; font-size:.72rem; outline:none; background:#fff;}
  .search input:focus{border-color:var(--edu);}
  .search .s-ico{position:absolute; left:.8rem; top:50%; transform:translateY(-50%); color:#94a2b3; font-size:1rem;}
  .cats{display:flex; gap:.5rem; overflow-x:auto; scrollbar-width:none; padding:.8rem 1.1rem 0;}
  .cats::-webkit-scrollbar{display:none;}
  .cat{flex:0 0 auto; border:1px solid var(--line); background:#fff; border-radius:1rem; padding:.4rem .8rem; font-size:.7rem; font-weight:700; color:#53607a; cursor:pointer;}
  .cat.active{background:var(--hf); color:#fff; border-color:transparent;}
  .files{display:grid; gap:.55rem; padding:0 1.1rem;}
  .file{display:flex; align-items:center; gap:.65rem; border:1px solid var(--line); background:#fff; border-radius:var(--r-lg); padding:.75rem .8rem; box-shadow:var(--shadow-soft); text-align:left; width:100%; cursor:pointer;}
  .file .f-ico{width:2.2rem; height:2.2rem; flex:0 0 auto; border-radius:.65rem; display:grid; place-items:center; font-size:1.05rem;}
  .file .f-main{flex:1; min-width:0;}
  .file .f-main b{display:block; font-size:.78rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .file .f-main span{display:block; font-size:.6rem; color:var(--muted); margin-top:.12rem;}
  .file .f-tag{font-size:.56rem; font-weight:800; padding:.16rem .42rem; border-radius:1rem; white-space:nowrap;}
  .file .f-arrow{color:#b9c2cf; font-size:.95rem;}
  .f-edu{background:var(--edu-soft); color:var(--edu);} .t-edu{background:var(--edu-soft); color:#36509e;}
  .f-med{background:var(--med-soft); color:var(--med);} .t-med{background:var(--med-soft); color:#2c7a64;}
  .f-law{background:var(--law-soft); color:var(--law);} .t-law{background:var(--law-soft); color:#5b3fae;}
  .f-life{background:var(--life-soft); color:var(--life);} .t-life{background:var(--life-soft); color:#a8662a;}
  .empty{display:flex; flex-direction:column; align-items:center; gap:.5rem; padding:2rem 1rem; color:var(--muted);}
  .empty .e-ico{width:3rem; height:3rem; border-radius:1rem; background:var(--edu-soft); color:var(--edu); display:grid; place-items:center; font-size:1.4rem;}
  .empty p{margin:0; font-size:.7rem;}

  /* ============ 法务中心 ============ */
  .lc-topbar{background:linear-gradient(135deg,#4d3f9c,#765ad8 78%,#8d72e6);}
  .lc-topbar .t-left .mark{background:rgba(255,255,255,.18); box-shadow:none;}
  .lc-topbar h1{color:#fff;} .lc-topbar p{color:rgba(232,226,255,.85);}
  .lc-hero{position:relative; margin:.3rem 1.1rem 0; padding:1rem 1.1rem; border-radius:1.1rem; color:#fff; overflow:hidden; background:linear-gradient(135deg,#4d3f9c,#765ad8 78%,#8d72e6); box-shadow:0 .18rem .5rem rgba(90,67,176,.3);}
  .lc-hero .priv{display:inline-flex; align-items:center; gap:.3rem; font-size:.58rem; font-weight:700; background:rgba(255,255,255,.18); padding:.2rem .5rem; border-radius:1rem;}
  .lc-hero h2{margin:.5rem 0 0; font-size:1.05rem;}
  .lc-hero p{margin:.2rem 0 0; font-size:.66rem; color:rgba(232,226,255,.88);}
  .lc-hero .lc-stats{display:flex; gap:.6rem; margin-top:.8rem;}
  .lc-hero .lc-stats div{flex:1; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.18); border-radius:.7rem; padding:.5rem .6rem;}
  .lc-hero .lc-stats b{font-size:1.05rem; display:block;} .lc-hero .lc-stats span{font-size:.56rem; color:rgba(232,226,255,.85);}
  .lc-upload{display:flex; align-items:center; justify-content:center; gap:.4rem; width:calc(100% - 2.2rem); margin:.9rem 1.1rem 0; padding:.8rem; background:#fff; color:var(--law); border:1.5px dashed #b9a6f0; border-radius:.9rem; font-size:.78rem; font-weight:800; cursor:pointer; box-shadow:var(--shadow-soft);}
  .lc-upload:active{background:var(--law-soft);}
  .lc-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:.55rem; padding:.9rem 1.1rem 0;}
  .lc-tile{display:flex; flex-direction:column; align-items:center; gap:.35rem; background:#fff; border:1px solid var(--line); border-radius:.85rem; padding:.65rem .3rem .55rem; cursor:pointer; box-shadow:var(--shadow-soft);}
  .lc-tile:active{transform:scale(.97);}
  .lc-tile .ti{width:2.2rem; height:2.2rem; border-radius:.7rem; display:grid; place-items:center; font-size:1.1rem; color:#fff; background:linear-gradient(145deg,#8363e0,#5b43b0);}
  .lc-tile span{font-size:.58rem; font-weight:700; color:#3f4a63; text-align:center; line-height:1.2;}
  .lc-file{display:flex; align-items:center; gap:.65rem; border:1px solid var(--line); background:#fff; border-radius:.9rem; padding:.75rem .8rem; box-shadow:var(--shadow-soft); text-align:left; width:100%; cursor:pointer;}
  .lc-file .f-ico{width:2.4rem; height:2.4rem; flex:0 0 auto; border-radius:.7rem; display:grid; place-items:center; font-size:1.15rem;}
  .lc-file .f-main{flex:1; min-width:0;}
  .lc-file .f-main b{display:block; font-size:.78rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .lc-file .f-main span{display:block; font-size:.58rem; color:var(--muted); margin-top:.16rem;}
  .lc-file .f-right{display:flex; flex-direction:column; align-items:flex-end; gap:.3rem; flex:0 0 auto;}
  .lc-file .f-act{display:inline-flex; align-items:center; gap:.2rem; font-size:.56rem; font-weight:700; color:var(--law); background:var(--law-soft); border:0; border-radius:.5rem; padding:.24rem .45rem; cursor:pointer;}
  .risk-high{background:#fde3da; color:#c0392b;} .risk-mid{background:#fdeecf; color:#b87429;} .risk-low{background:#dceee5; color:#25735d;}
  .f-origin{background:var(--law-soft); color:var(--law);} .f-revised{background:#eaf8f4; color:#138c78;} .f-img{background:#eef1ff; color:#4968ed;}
  /* 法务子页面通用 */
  .lc-page{display:none;} .lc-page.active{display:block;}
  .lc-sub{padding:.9rem 1.1rem 0;}
  .lc-card{background:#fff; border:1px solid var(--line); border-radius:1rem; padding:.9rem; box-shadow:var(--shadow-soft); margin-top:.7rem;}
  .lc-card h3{margin:0; font-size:.82rem; color:var(--navy); display:flex; align-items:center; gap:.35rem;}
  .lc-card h3 .tag{margin-left:auto; font-size:.54rem; font-weight:700; padding:.14rem .4rem; border-radius:1rem;}
  .lc-card p{margin:.35rem 0 0; font-size:.66rem; color:#53607a; line-height:1.6;}
  .kv{display:flex; gap:.6rem; font-size:.64rem; margin-top:.5rem; color:#53607a; flex-wrap:wrap;}
  .kv span{display:inline-flex; align-items:center; gap:.25rem; color:var(--muted);}
  .kv b{color:#22304d; font-weight:700;}
  .lc-btn{display:inline-flex; align-items:center; justify-content:center; gap:.35rem; border:1px solid var(--law); background:#fff; color:var(--law); border-radius:.7rem; padding:.55rem .8rem; font-size:.7rem; font-weight:800; cursor:pointer;}
  .lc-btn.primary{background:var(--law); color:#fff;}
  .lc-btn.ghost{border-color:var(--line); color:#53607a; background:#fff;}
  .lc-btn:active{transform:translateY(.03rem);}
  .lc-btn-row{display:flex; gap:.5rem; margin-top:.8rem;}
  .lc-btn-row .lc-btn{flex:1;}
  /* 上传流程 */
  .up-tabs{display:flex; gap:.4rem; margin:.8rem 1.1rem 0;}
  .up-tabs button{flex:1; border:1px solid var(--line); background:#fff; border-radius:.7rem; padding:.55rem; font-size:.68rem; font-weight:700; color:#53607a; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:.3rem;}
  .up-tabs button.active{border-color:var(--law); background:var(--law-soft); color:var(--law);}
  .up-zone{margin:.8rem 1.1rem 0; border:2px dashed #c3b3f0; background:#faf8ff; border-radius:1rem; padding:1.6rem 1rem; text-align:center;}
  .up-zone .u-ico{font-size:1.9rem; color:var(--law);}
  .up-zone p{margin:.45rem 0 0; font-size:.74rem; font-weight:700; color:#3f4a63;}
  .up-zone small{display:block; margin-top:.2rem; font-size:.6rem; color:var(--muted);}
  .up-file{display:flex; align-items:center; gap:.6rem; margin:.8rem 1.1rem 0; background:#fff; border:1px solid var(--line); border-radius:.85rem; padding:.7rem .8rem; box-shadow:var(--shadow-soft);}
  .up-file .uf-ico{width:2.2rem; height:2.2rem; border-radius:.65rem; background:var(--law-soft); color:var(--law); display:grid; place-items:center; font-size:1.05rem;}
  .up-file .uf-main{flex:1; min-width:0;}
  .up-file .uf-main b{font-size:.72rem; display:block;} .up-file .uf-main span{font-size:.56rem; color:var(--muted);}
  .up-file .uf-st{font-size:.58rem; font-weight:700; color:#138c78; display:inline-flex; align-items:center; gap:.2rem;}
  .progress{height:.36rem; background:#ece6fb; border-radius:1rem; overflow:hidden; margin:.5rem 1.1rem 0;}
  .progress i{display:block; height:100%; width:0; background:linear-gradient(90deg,#765ad8,#9a7eef); border-radius:1rem; transition:width .3s ease;}
  .up-next{margin:1rem 1.1rem 0; background:#f6f2ff; border:1px solid #e0d6fb; border-radius:.9rem; padding:.8rem; display:flex; gap:.6rem; align-items:center;}
  .up-next .n-ico{width:2rem; height:2rem; border-radius:.65rem; background:var(--law); color:#fff; display:grid; place-items:center; font-size:1rem; flex:0 0 auto;}
  .up-next b{font-size:.72rem; display:block; color:#3a2c72;} .up-next span{font-size:.6rem; color:#6a5aa0;}
  /* 对照/审查/解读 条款块 */
  .clause{border:1px solid var(--line); border-radius:.85rem; overflow:hidden; margin-top:.65rem; background:#fff;}
  .clause .cl-h{display:flex; align-items:center; gap:.4rem; padding:.55rem .7rem; background:#f7f5ff; font-size:.66rem; font-weight:800; color:var(--law);}
  .clause .cl-h .lv{margin-left:auto; font-size:.54rem; padding:.12rem .4rem; border-radius:1rem;}
  .clause .cl-body{padding:.65rem .75rem; font-size:.66rem; color:#3f4a63; line-height:1.65;}
  .clause .cl-old{background:#fdf3f2; color:#9b3b2f; border-top:1px dashed #f3d4cf; padding:.55rem .75rem; font-size:.62rem; line-height:1.6;}
  .clause .cl-old b{color:#c0392b;}
  .clause .cl-new{background:#f1faf6; color:#1f6b54; border-top:1px dashed #cbe9db; padding:.55rem .75rem; font-size:.62rem; line-height:1.6;}
  .clause .cl-new b{color:#138c78;}
  .clause .cl-law{border-top:1px dashed var(--line); padding:.5rem .75rem; font-size:.58rem; color:var(--muted); background:#fafbff;}
  .clause .cl-law iconify-icon{color:var(--law);}
  .plain-tip{display:flex; gap:.5rem; background:#f6f2ff; border-radius:.8rem; padding:.65rem .75rem; font-size:.62rem; color:#5a4a96; line-height:1.55; margin-top:.6rem;}
  .plain-tip iconify-icon{color:var(--law); font-size:.9rem; flex:0 0 auto;}
  /* 对比页 */
  .diff{display:grid; grid-template-columns:1fr 1fr; gap:.5rem;}
  .diff .col{border:1px solid var(--line); border-radius:.85rem; overflow:hidden;}
  .diff .col h4{margin:0; padding:.5rem .65rem; font-size:.64rem; text-align:center;}
  .diff .col.old h4{background:#fdf3f2; color:#c0392b;} .diff .col.new h4{background:#f1faf6; color:#138c78;}
  .diff .line{padding:.5rem .65rem; font-size:.6rem; line-height:1.55; border-top:1px solid var(--soft-line); color:#3f4a63;}
  .diff .line.add{background:#f1faf6; color:#1f6b54;} .diff .line.del{background:#fdf3f2; color:#9b3b2f; text-decoration:line-through;}
  /* 起草 */
  .scene-chips{display:flex; gap:.4rem; flex-wrap:wrap; padding:.8rem 1.1rem 0;}
  .scene-chips .chip{font-size:.64rem; padding:.38rem .65rem;}
  .draft-area{margin:.8rem 1.1rem 0;}
  .draft-area textarea{width:100%; min-height:5.5rem; border:1px solid var(--line); border-radius:.8rem; padding:.7rem; font-size:.68rem; line-height:1.6; color:#3f4a63; background:#f9fbff; outline:none; resize:vertical; font-family:var(--font);}
  .draft-out{margin:.7rem 1.1rem 0; background:#fff; border:1px solid var(--line); border-radius:.9rem; padding:.85rem; font-size:.66rem; line-height:1.7; color:#3f4a63; box-shadow:var(--shadow-soft); white-space:pre-wrap;}
  .draft-out h4{margin:0 0 .4rem; font-size:.74rem; color:var(--navy);}

  /* ===== 法务新增：起草七类合同 ===== */
  .f-draft{background:#fff4e0; color:#a8662a;}
  .dc-types{display:grid; grid-template-columns:repeat(2,1fr); gap:.5rem; padding:0 1.1rem .2rem;}
  .dc-type{display:flex; align-items:center; gap:.4rem; background:#fff; border:1px solid var(--line); border-radius:.8rem; padding:.6rem .65rem; text-align:left; cursor:pointer; font-weight:700; font-size:.66rem; color:#3f4a63; box-shadow:var(--shadow-soft); font:inherit;}
  .dc-type.active{border-color:var(--law); background:var(--law-soft); color:var(--law);}
  .dc-type .di{font-size:1rem; color:var(--law); flex:0 0 auto;}
  .dc-field{margin:.5rem 1.1rem 0; background:#fff; border:1px solid var(--line); border-radius:.8rem; padding:.5rem .7rem; box-shadow:var(--shadow-soft);}
  .dc-field label{display:flex; justify-content:space-between; align-items:center; font-size:.6rem; color:var(--muted); font-weight:700;}
  .dc-field label .dc-req{color:var(--law); font-size:.56rem;}
  .dc-field input{width:100%; border:0; outline:none; font-size:.72rem; color:#22304d; padding-top:.32rem; background:transparent; font-family:var(--font);}
  .dc-field input::placeholder{color:#b7bdc9;}
  /* P1 起草页：类型卡信息结构（标题+说明+条款数） */
  .dc-type .dc-tx{display:flex; flex-direction:column; gap:.12rem; min-width:0;}
  .dc-type .dc-desc{font-style:normal; font-weight:400; font-size:.56rem; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .dc-type .dc-meta{font-style:normal; font-weight:600; font-size:.52rem; color:var(--law); background:var(--law-soft); border-radius:.5rem; padding:.06rem .4rem; align-self:flex-start;}
  .dc-req.opt{color:#8a94a6; background:#f1f3f7; border-radius:.5rem; padding:.06rem .4rem;}
  .dc-sel{width:100%; border:0; outline:none; font-size:.72rem; color:#22304d; padding-top:.32rem; background:transparent; font-family:var(--font); appearance:auto;}
  .dc-field input.dc-alt{display:none;}
  .dc-money-tip{font-size:.56rem; color:#9aa2b1; margin-top:.24rem; min-height:.8rem;}
  .dc-money-tip.ok{color:#0e8a6d; font-weight:600;}
  /* P1 实时摘要卡 */
  .dc-sum{margin:.8rem 1.1rem 0; background:linear-gradient(135deg,#f4efff,#eef7f4); border:1px solid #ddd2f5; border-radius:.8rem; padding:.6rem .7rem; box-shadow:var(--shadow-soft);}
  .dc-sum-t{font-size:.6rem; font-weight:700; color:var(--law); display:flex; align-items:center; gap:.3rem; margin-bottom:.4rem;}
  .dc-sum-body{display:grid; grid-template-columns:1fr 1fr; gap:.4rem;}
  .dc-sum-body .ds{background:#fff; border-radius:.6rem; padding:.4rem .5rem;}
  .dc-sum-body .ds.wide{grid-column:span 2;}
  .dc-sum-body .ds i{display:block; font-style:normal; font-size:.54rem; color:var(--muted);}
  .dc-sum-body .ds b{font-size:.68rem; color:#22304d;}
  /* P1 实时预览（Juro live preview 移动端形态：默认折叠） */
  .dc-live{margin:.8rem 1.1rem 0; background:#fff; border:1px solid var(--line); border-radius:.8rem; box-shadow:var(--shadow-soft); overflow:hidden;}
  .dc-live-h{display:flex; align-items:center; gap:.35rem; padding:.5rem .7rem; background:#faf8ff; border-bottom:1px dashed #e8e2f6; font-size:.6rem; color:var(--law); font-weight:700; cursor:pointer;}
  .dc-live-h b{font-weight:500; color:var(--muted); margin-left:auto; font-size:.54rem;}
  .dc-live-b{padding:.6rem .7rem; font-size:.62rem; line-height:1.7; color:#3f4a63; white-space:pre-wrap; max-height:13rem; overflow:hidden; position:relative;}
  .dc-live-b.open{max-height:none;}
  .dc-live-more{display:block; width:100%; border:0; border-top:1px dashed #eee; background:#fbfaff; color:var(--law); font-size:.58rem; padding:.4rem; cursor:pointer; font-family:var(--font);}
  .hl-blank{background:#fff3c4; color:#8a6d00; border-radius:.25rem; padding:0 .15rem;}
  /* P1 结果页自检面板（e签宝式：逐条 issue + 修复入口） */
  .dc-qc{display:flex; gap:.5rem; background:#fff; border:1px solid var(--line); border-radius:.8rem; padding:.6rem .7rem; box-shadow:var(--shadow-soft); font-size:.6rem; align-items:flex-start;}
  .dc-qc iconify-icon{font-size:1rem; flex:0 0 auto; margin-top:.1rem;}
  .dc-qc.ok{border-color:#cbe9db; background:#f4fbf8;} .dc-qc.ok iconify-icon{color:#138c78;}
  .dc-qc.warn{border-color:#f3d4cf; background:#fdf7f5;} .dc-qc.warn iconify-icon{color:#c0392b;}
  .dc-qc .qc-tx{min-width:0; flex:1;}
  .dc-qc .qc-tx>b{display:block; margin-bottom:.2rem; color:#22304d;}
  .dc-qc .qc-tx>span{color:var(--muted); font-size:.56rem;}
  .dc-qc .qi{display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin-top:.35rem; padding-top:.35rem; border-top:1px dashed #eee; color:#5b3a34;}
  .dc-qc .qi button{flex:0 0 auto; border:0; background:var(--law); color:#fff; font-size:.54rem; border-radius:.5rem; padding:.22rem .55rem; cursor:pointer; font-family:var(--font); font-weight:700;}
  .dc-field.fix-now{border-color:#e05a4e; box-shadow:0 0 0 2px rgba(224,90,78,.18);}

  /* ===== 法务新增：六类历史记录统一列表页 ===== */
  .lr-hero{margin:.5rem 1.1rem 0; padding:1rem 1.05rem .9rem; border-radius:1.1rem; color:#fff; background:linear-gradient(135deg,#4d3f9c,#765ad8 78%,#8d72e6); box-shadow:0 .18rem .5rem rgba(90,67,176,.3); overflow:hidden; position:relative;}
  .lr-hero::after{content:''; position:absolute; right:-2.2rem; top:-2.2rem; width:7rem; height:7rem; border-radius:50%; background:rgba(255,255,255,.08);}
  .lr-hero .lrh-top{display:flex; align-items:flex-start; justify-content:space-between; gap:.6rem; position:relative; z-index:1;}
  .lr-hero .priv{display:inline-flex; align-items:center; gap:.3rem; font-size:.58rem; font-weight:700; background:rgba(255,255,255,.2); padding:.2rem .5rem; border-radius:1rem;}
  .lr-hero h2{margin:.45rem 0 0; font-size:1.02rem;}
  .lr-hero .lrh-sub{margin:.2rem 0 0; font-size:.6rem; color:rgba(232,226,255,.88);}
  .lr-hero .lrh-add{flex:0 0 auto; display:inline-flex; align-items:center; gap:.25rem; background:#fff; color:var(--law); border:0; border-radius:1.4rem; padding:.42rem .7rem; font-size:.62rem; font-weight:800; cursor:pointer; font:inherit; box-shadow:0 .1rem .3rem rgba(50,30,120,.25); white-space:nowrap;}
  .lr-hero .lrh-add:active{transform:translateY(.03rem);}
  .lr-hero .lrh-stats{display:flex; gap:.55rem; margin-top:.8rem; position:relative; z-index:1;}
  .lr-hero .lrh-stats div{flex:1; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.2); border-radius:.7rem; padding:.45rem .5rem; text-align:center;}
  .lr-hero .lrh-stats b{font-size:1rem; display:block;} .lr-hero .lrh-stats span{font-size:.54rem; color:rgba(232,226,255,.88);}
  .lr-filter-card{margin:.8rem 1.1rem 0; padding:.7rem .75rem .35rem; background:var(--surface); border:1px solid var(--line); border-radius:1.05rem; box-shadow:var(--shadow-soft);}
  .lr-search{display:flex; align-items:center; gap:.45rem; background:#f5f6fa; border:1px solid var(--line); border-radius:1.05rem; padding:.52rem .78rem; transition:border-color .18s, box-shadow .18s, background .18s;}
  .lr-search:focus-within{background:#fff; border-color:#b9a6f0; box-shadow:0 0 0 .16rem rgba(116,87,213,.12);}
  .lr-search iconify-icon{color:#9aa0ad; font-size:.9rem; flex:0 0 auto;}
  .lr-search:focus-within iconify-icon{color:var(--law);}
  .lr-search input{flex:1; border:0; outline:0; background:transparent; font-size:.7rem; color:var(--ink); font:inherit; min-width:0;}
  .lr-search input::placeholder{color:#a3a9b6;}
  .lr-search .clr{border:0; background:#c6cad4; color:#fff; width:1.15rem; height:1.15rem; border-radius:50%; font-size:.66rem; line-height:1; cursor:pointer; display:none; flex:0 0 auto; padding:0; font:inherit; align-items:center; justify-content:center;}
  .lr-tabs{display:flex; align-items:center; flex-wrap:wrap; gap:.4rem; padding:.6rem .05rem .55rem;}
  .lr-tab{display:inline-flex; align-items:center; gap:.24rem; flex:0 0 auto; border:1px solid var(--line); background:#f7f8fb; padding:.3rem .72rem; border-radius:1.4rem; font-size:.66rem; font-weight:700; color:#5f6675; cursor:pointer; font:inherit; white-space:nowrap; transition:all .16s;}
  .lr-tab iconify-icon{font-size:.78rem;}
  .lr-tab:active{transform:scale(.96);}
  .lr-tab.active{background:var(--law); border-color:var(--law); color:#fff; font-weight:800; box-shadow:0 .12rem .3rem rgba(116,87,213,.32);}
  .lr-tab.picked:not(.active){background:var(--law-soft); border-color:#d9cff7; color:var(--law); font-weight:800;}
  .lr-tab .dt-x{display:none; width:1rem; height:1rem; line-height:1; border-radius:50%; background:rgba(255,255,255,.32); color:#fff; font-size:.62rem; align-items:center; justify-content:center; margin-left:.06rem; flex:0 0 auto;}
  .lr-tab.picked:not(.active) .dt-x{background:var(--law); color:#fff;}
  .lr-tab.picked .dt-x{display:inline-flex;}
  .lr-calsheet{max-width:19rem; padding:1.05rem 1rem 1.1rem;}
  .lrc-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:.4rem;}
  .lrc-head button{border:0; background:var(--law-soft); color:var(--law); width:1.7rem; height:1.7rem; border-radius:50%; font-size:.75rem; cursor:pointer; display:grid; place-items:center;}
  .lrc-head b{font-size:.78rem; color:var(--navy);}
  .lrc-week{display:grid; grid-template-columns:repeat(7,1fr); text-align:center; font-size:.56rem; color:var(--muted); font-weight:700; padding:.2rem 0;}
  .lrc-grid{display:grid; grid-template-columns:repeat(7,1fr); gap:.12rem 0; text-align:center;}
  .lrc-grid button{border:0; background:transparent; font:inherit; font-size:.68rem; color:#3f4a63; height:1.75rem; border-radius:50%; cursor:pointer; margin:0 auto; width:1.75rem; padding:0;}
  .lrc-grid button:not(:disabled):hover{background:var(--law-soft);}
  .lrc-grid button.future{color:#c6cad4; cursor:not-allowed;}
  .lrc-grid button.today{color:var(--law); font-weight:800;}
  .lrc-grid button.sel{background:var(--law); color:#fff; font-weight:800;}
  .lr-chip{display:inline-flex; align-items:center; gap:.22rem; border:1px solid var(--line); background:#fff; border-radius:1.2rem; padding:.32rem .62rem; font-size:.6rem; font-weight:700; color:#53607a; cursor:pointer; font:inherit;}
  .lr-chip iconify-icon{font-size:.72rem;}
  .lr-chip.active{border-color:var(--law); background:var(--law-soft); color:var(--law);}
  .lr-chip.risk-high.active{border-color:#c0392b; background:#fde3da; color:#c0392b;}
  .lr-chip.risk-mid.active{border-color:#b87429; background:#fdeecf; color:#b87429;}
  .lr-chip.risk-low.active{border-color:#138c78; background:#dceee5; color:#138c78;}
  .lr-list-sec{padding:.9rem 1.1rem 0;}
  .lr-list-sec h3{margin:0 0 .55rem; font-size:.74rem; color:var(--navy); display:flex; align-items:center; gap:.35rem;}
  .lr-list-sec h3 .cnt{margin-left:auto; font-size:.56rem; font-weight:700; color:#fff; background:var(--law); padding:.12rem .5rem; border-radius:1rem;}
  .lr-rec{display:flex; align-items:center; gap:.6rem; border:1px solid var(--line); background:#fff; border-radius:.95rem; padding:.72rem .8rem; box-shadow:var(--shadow-soft); width:100%; text-align:left; cursor:pointer; margin-bottom:.5rem; font:inherit;}
  .lr-rec:active{background:#faf8ff;}
  .lr-rec .r-ico{width:2.4rem; height:2.4rem; flex:0 0 auto; border-radius:.75rem; display:grid; place-items:center; font-size:1.15rem; background:var(--law-soft); color:var(--law);}
  .lr-rec .r-ico.warn{background:#fde3da; color:#c0392b;}
  .lr-rec .r-ico.amber{background:#fdeecf; color:#b87429;}
  .lr-rec .r-ico.green{background:#dceee5; color:#138c78;}
  .lr-rec .r-main{flex:1; min-width:0;}
  .lr-rec .r-main b{display:block; font-size:.72rem; color:#22304d; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .lr-rec .r-meta{display:flex; align-items:center; gap:.4rem; margin-top:.22rem; font-size:.54rem; color:var(--muted); flex-wrap:wrap;}
  .lr-rec .r-meta .tag{display:inline-flex; align-items:center; gap:.18rem; padding:.1rem .38rem; border-radius:1rem; background:#f0edff; color:var(--law); font-weight:700;}
  .lr-rec .r-meta .tag.ok{background:#dceee5; color:#138c78;}
  .lr-rec .r-meta .tag.mid{background:#fdeecf; color:#b87429;}
  .lr-rec .r-meta .tag.low{background:#dceee5; color:#138c78;}
  .lr-rec .r-meta .tag.high{background:#fde3da; color:#c0392b;}
  .lr-rec .r-meta .tag.gray{background:#f0f2f7; color:#6b7793;}
  .lr-rec .r-right{flex:0 0 auto; text-align:right;}
  .lr-rec .r-right b{font-size:.86rem; font-weight:800; color:var(--law); line-height:1; display:block;}
  .lr-rec .r-right b.warn{color:#c0392b;} .lr-rec .r-right b.ok{color:#138c78;} .lr-rec .r-right b.amber{color:#b87429;}
  .lr-rec .r-right span{display:block; font-size:.5rem; color:var(--muted); margin-top:.18rem;}
  .lr-dl{display:inline-flex; align-items:center; gap:.22rem; flex:0 0 auto; margin-left:.15rem; padding:.32rem .5rem; font-size:.56rem; font-weight:700; color:var(--law); background:#f0edff; border:1px solid #ddd5fb; border-radius:.6rem; cursor:pointer; transition:background .15s, transform .12s; font:inherit;}
  .lr-dl iconify-icon{font-size:.78rem;}
  .lr-dl:active{background:#e5defc; transform:scale(.96);}
  .lr-empty{background:#fff; border:1px dashed #d8cdf5; border-radius:1rem; padding:1.5rem 1rem; text-align:center;}
  .lr-empty .e-ico{width:2.8rem; height:2.8rem; border-radius:50%; background:var(--law-soft); color:var(--law); display:grid; place-items:center; font-size:1.3rem; margin:0 auto .5rem;}
  .lr-empty p{margin:0; font-size:.68rem; color:#53607a;}
  .lr-empty small{display:block; margin-top:.2rem; font-size:.58rem; color:var(--muted);}
  .lr-empty button{margin-top:.7rem; display:inline-flex; align-items:center; gap:.3rem; background:var(--law); color:#fff; border:0; border-radius:.7rem; padding:.48rem .9rem; font-size:.64rem; font-weight:800; cursor:pointer; font:inherit;}
  .lr-grp{display:flex; align-items:center; gap:.3rem; margin:.65rem .1rem .4rem; font-size:.62rem; font-weight:800; color:var(--muted);}
  .lr-grp:first-child{margin-top:.1rem;}
  .lr-grp iconify-icon{font-size:.8rem; color:var(--law);}
  .lr-grp b{font-size:.52rem; font-weight:700; color:#9aa3b5; background:#f0f2f7; border-radius:1rem; padding:.08rem .42rem;}
  .lr-chat{display:flex; align-items:flex-start; gap:.6rem; width:100%; text-align:left; cursor:pointer; background:#fff; border:1px solid var(--line); border-radius:.95rem; padding:.68rem .75rem; margin-bottom:.45rem; box-shadow:var(--shadow-soft); font:inherit; color:inherit; transition:background .15s, transform .1s;}
  .lr-chat:active{background:#faf8ff; transform:scale(.99);}
  .lr-chat .lch-ico{width:2.05rem; height:2.05rem; flex:0 0 auto; border-radius:.7rem; display:grid; place-items:center; font-size:1.05rem; background:var(--law-soft); color:var(--law);}
  .lr-chat .lch-main{flex:1; min-width:0; padding-top:.05rem;}
  .lr-chat .lch-top{display:flex; align-items:center; gap:.4rem;}
  .lr-chat .lch-top b{flex:1; min-width:0; font-size:.72rem; font-weight:800; color:#22304d; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .lr-chat .lch-tag{flex:0 0 auto; font-style:normal; font-size:.52rem; font-weight:700; padding:.1rem .38rem; border-radius:1rem; background:var(--law-soft); color:var(--law); white-space:nowrap;}
  .lr-chat .lch-sub{display:flex; align-items:center; gap:.35rem; margin-top:.22rem;}
  .lr-chat .lch-sub p{flex:1; min-width:0; margin:0; font-size:.6rem; color:#9aa3b5; line-height:1.4; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .lr-chat .lch-sub em{flex:0 0 auto; font-style:normal; font-size:.52rem; color:#b9a6f0; font-weight:700; white-space:nowrap;}
  .lr-chat .lch-sub time{flex:0 0 auto; font-size:.54rem; color:#a7aebc; font-weight:600; white-space:nowrap;}

  /* ===== 法务新增：AI 对话气泡紫色主题与附件/法条元素 ===== */
  .b-text .rc.law{border-color:#ddd3f7; background:#faf8ff;}
  .b-text .rc.law .rc-head{background:var(--law-soft); color:var(--law);}
  .b-text .rc.law .rc-head .rc-tag{background:var(--law);}
  .b-text .rc.law .rc-foot{border-top-color:#ece6fb; background:#fff;}
  .b-text .rc.law .rc-foot button{border-color:var(--law); color:var(--law);}
  .b-text .rc.law .rc-foot button.primary{background:var(--law); color:#fff;}
  .b-text .rc.law .rc-row{border-top-color:#ece6fb;}
  .attach-chip.law{background:var(--law-soft); color:var(--law); border-color:#ddd3f7;}
  .att-badge{display:inline-flex; align-items:center; gap:.2rem; background:#fff; border:1px solid #ddd3f7; color:var(--law); border-radius:1rem; padding:.05rem .4rem; font-size:.52rem; font-weight:700; margin-left:.15rem;}
  .risk-line{display:flex; gap:.4rem; padding:.35rem 0; border-bottom:1px dashed var(--soft-line);}
  .risk-line:last-child{border-bottom:0;}
  .risk-line .rl-dot{flex:0 0 auto; width:.32rem; height:.32rem; border-radius:50%; margin-top:.28rem;}
  .risk-line .rl-dot.high{background:#c0392b;} .risk-line .rl-dot.mid{background:#d68910;} .risk-line .rl-dot.low{background:#138c78;}
  .risk-line b{display:block; font-size:.64rem; color:#22304d;}
  .risk-line span{font-size:.58rem; color:#7a8699;}
  .law-cite{font-size:.56rem; color:var(--law); background:var(--law-soft); border-radius:.35rem; padding:.2rem .4rem; margin-top:.25rem; display:block;}
  .law-cite iconify-icon{font-size:.62rem; vertical-align:-.06rem; margin-right:.15rem;}
  .rights-quick{display:grid; grid-template-columns:repeat(3,1fr); gap:.35rem; margin:.15rem 0;}
  .rights-quick button{display:flex; flex-direction:column; align-items:center; gap:.2rem; padding:.45rem .2rem; border:1px solid #ddd3f7; background:#fff; border-radius:.55rem; font-size:.56rem; color:#4a3a8a; cursor:pointer; line-height:1.2; transition:.15s; font:inherit;}
  .rights-quick button iconify-icon{font-size:1.05rem; color:var(--law);}
  .rights-quick button:active{transform:scale(.96); background:var(--law-soft);}

  /* ============ 合同起草流程 ============ */
  .dr-stepbar{display:flex; align-items:center; gap:.35rem; margin:.8rem 1.1rem 0;}
  .dr-step{display:flex; align-items:center; gap:.3rem; font-size:.6rem; font-weight:700; color:var(--muted);}
  .dr-step i{font-style:normal; width:1.2rem; height:1.2rem; border-radius:50%; background:#ece6fb; color:var(--law); display:grid; place-items:center; font-size:.54rem; flex:0 0 auto;}
  .dr-step.on{color:var(--law);} .dr-step.on i{background:var(--law); color:#fff;}
  .dr-step.done{color:#138c78;} .dr-step.done i{background:#dceee5; color:#138c78;}
  .dr-stepbar .dr-line{flex:1; height:1px; background:var(--line);}
  .dr-cats{display:grid; grid-template-columns:repeat(2,1fr); gap:.5rem; padding:.8rem 1.1rem 0;}
  .dr-cat{display:flex; align-items:center; gap:.5rem; border:1px solid var(--line); background:#fff; border-radius:.85rem; padding:.6rem .65rem; cursor:pointer; font:inherit; text-align:left; box-shadow:var(--shadow-soft);}
  .dr-cat:active{background:#faf8ff;}
  .dr-cat.on{border-color:var(--law); background:var(--law-soft); box-shadow:0 .12rem .4rem rgba(118,90,216,.16);}
  .dr-cat .c-ico{width:1.85rem; height:1.85rem; border-radius:.55rem; display:grid; place-items:center; font-size:.95rem; background:var(--law-soft); color:var(--law); flex:0 0 auto;}
  .dr-cat.on .c-ico{background:var(--law); color:#fff;}
  .dr-cat b{font-size:.66rem; color:#3f4a63; display:block;}
  .dr-cat small{font-size:.52rem; color:var(--muted); display:block; margin-top:.08rem;}
  .dr-form{margin:.8rem 1.1rem 0;}
  .dr-label{font-size:.64rem; font-weight:800; color:var(--navy); display:flex; align-items:center; gap:.3rem; margin-bottom:.4rem;}
  .dr-label iconify-icon{color:var(--law);}
  .dr-form textarea{width:100%; box-sizing:border-box; min-height:5.6rem; border:1px solid var(--line); border-radius:.8rem; padding:.7rem; font-size:.68rem; line-height:1.6; color:#3f4a63; background:#f9fbff; outline:none; resize:vertical; font-family:var(--font);}
  .dr-form textarea:focus{border-color:var(--law); background:#fff;}
  .dr-hint{font-size:.56rem; color:var(--muted); margin-top:.35rem; line-height:1.5;}
  .dr-gen{width:100%; display:flex; align-items:center; justify-content:center; gap:.4rem; border:0; background:linear-gradient(135deg,#765ad8,#8d72e6); color:#fff; border-radius:.8rem; padding:.76rem; font-size:.74rem; font-weight:800; cursor:pointer; margin-top:.75rem; box-shadow:0 .3rem .8rem rgba(118,90,216,.3); font:inherit;}
  .dr-gen:active{transform:translateY(.04rem); box-shadow:0 .2rem .5rem rgba(118,90,216,.25);}
  .dr-gen:disabled{opacity:.55; cursor:not-allowed;}
  .dr-out{margin:.85rem 1.1rem 0; background:#fff; border:1px solid var(--line); border-radius:.9rem; padding:.85rem; box-shadow:var(--shadow-soft);}
  .dr-out h4{margin:0 0 .5rem; font-size:.76rem; color:var(--navy); display:flex; align-items:center; gap:.35rem;}
  .dr-out h4 .tag{margin-left:auto; font-size:.52rem; font-weight:700; padding:.14rem .45rem; border-radius:1rem; background:var(--law-soft); color:var(--law);}
  .dr-doc{font-size:.66rem; line-height:1.85; color:#3f4a63; white-space:pre-wrap; word-break:break-word; min-height:6rem; background:#fdfcff; border:1px dashed #e3daf9; border-radius:.7rem; padding:.75rem;}
  .dr-caret{display:inline-block; width:.42rem; height:.9rem; background:var(--law); border-radius:.1rem; animation:drBlink .8s step-end infinite; vertical-align:middle; margin-left:.08rem;}
  @keyframes drBlink{50%{opacity:0;}}
  @keyframes drSpin{to{transform:rotate(360deg);}}
  .dr-edit{width:100%; box-sizing:border-box; min-height:12rem; border:1px solid var(--law); border-radius:.8rem; padding:.7rem; font-size:.66rem; line-height:1.75; color:#3f4a63; background:#fff; outline:none; resize:vertical; font-family:var(--font); white-space:pre-wrap;}
  .dr-pdf{position:relative;}
  .dr-pdf::before{content:'PDF'; position:absolute; right:.3rem; top:.15rem; font-size:.5rem; font-weight:800; color:#d4556e; background:#fdeef2; border-radius:.3rem; padding:.1rem .28rem; letter-spacing:.03em;}
  /* ============ 合同解读流程（拍照 / PDF / 图片） ============ */
  .ci-page{display:none;} .ci-page.active{display:block;}
  .ci-sec-head{margin:.85rem 1.1rem 0;}
  .ci-sec-head h3{display:flex; align-items:center; gap:.35rem; font-size:.72rem; color:var(--navy); margin:0 0 .45rem;}
  .ci-sec-head h3 iconify-icon{color:var(--law);}
  .ci-sec-head h3 .cnt{margin-left:auto; font-size:.54rem; font-weight:700; color:var(--muted);}
  .ci-tip{display:flex; gap:.5rem; background:#f6f2ff; border-radius:.8rem; padding:.65rem .75rem; font-size:.6rem; color:#5a4a96; line-height:1.55; margin:.8rem 1.1rem 0;}
  .ci-tip iconify-icon{color:var(--law); font-size:.9rem; flex:0 0 auto;}
  .ci-zone{cursor:pointer;}
  .ci-zone:active{background:#f3efff;}
  .ci-zone .u-actions{display:flex; gap:.5rem; justify-content:center; margin-top:.8rem;}
  .ci-zone .u-btn{display:inline-flex; align-items:center; gap:.3rem; background:var(--law); color:#fff; border:0; border-radius:.7rem; padding:.5rem .9rem; font-size:.66rem; font-weight:800; cursor:pointer; font:inherit;}
  .ci-zone .u-btn.ghost{background:#fff; color:var(--law); border:1px solid var(--law);}
  .ci-zone .u-btn:active{transform:translateY(.03rem);}
  .ci-prog-card{margin:.9rem 1.1rem 0; background:#fff; border:1px solid var(--line); border-radius:1rem; padding:1rem; box-shadow:var(--shadow-soft);}
  .ci-prog-card .ep-head{display:flex; align-items:center; gap:.5rem;}
  .ci-prog-card .ep-ico{width:2.3rem; height:2.3rem; border-radius:.7rem; background:var(--law-soft); color:var(--law); display:grid; place-items:center; font-size:1.15rem; flex:0 0 auto;}
  .ci-prog-card .ep-head b{font-size:.82rem; color:#22304d; display:block;}
  .ci-prog-card .ep-head span{font-size:.6rem; color:var(--muted);}
  .ci-bar{height:.42rem; background:#ece6fb; border-radius:1rem; overflow:hidden; margin:.8rem 0 .3rem;}
  .ci-bar i{display:block; height:100%; width:0; background:linear-gradient(90deg,#765ad8,#9a7eef); border-radius:1rem; transition:width .25s ease;}
  .ci-bar-pct{font-size:.6rem; color:var(--muted); text-align:right;}
  .ci-file-line{display:flex; align-items:center; gap:.55rem; margin-top:.8rem; padding-top:.8rem; border-top:1px dashed var(--line);}
  .ci-file-line .fl-ico{width:1.9rem; height:1.9rem; border-radius:.55rem; background:var(--law-soft); color:var(--law); display:grid; place-items:center; font-size:.95rem; flex:0 0 auto;}
  .ci-file-line b{font-size:.68rem; color:#22304d; display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .ci-file-line span{font-size:.56rem; color:var(--muted);}
  .ci-file-line .fl-st{margin-left:auto; font-size:.58rem; font-weight:700; color:var(--law); display:inline-flex; align-items:center; gap:.2rem;}
  .ci-stream-card{margin:.8rem 1.1rem 0; background:#fff; border:1px solid var(--line); border-radius:1rem; padding:.9rem; box-shadow:var(--shadow-soft);}
  .ci-stream-head{display:flex; align-items:center; gap:.5rem; padding-bottom:.7rem; border-bottom:1px solid var(--line);}
  .ci-stream-head .esh-ico{width:2.1rem; height:2.1rem; border-radius:.65rem; background:var(--law-soft); color:var(--law); display:grid; place-items:center; font-size:1.05rem; flex:0 0 auto;}
  .ci-stream-head b{font-size:.8rem; color:#22304d; display:block;}
  .ci-stream-head span{font-size:.58rem; color:var(--muted);}
  .ci-stream-head .esh-live{margin-left:auto; display:inline-flex; align-items:center; gap:.25rem; font-size:.56rem; font-weight:700; color:var(--law); background:var(--law-soft); padding:.2rem .5rem; border-radius:1rem;}
  .ci-stream-head .esh-live::before{content:''; width:.36rem; height:.36rem; border-radius:50%; background:var(--law); animation:ciPulse 1.1s infinite;}
  @keyframes ciPulse{0%,100%{opacity:.35;}50%{opacity:1;}}
  .ci-finding{display:flex; gap:.55rem; padding:.65rem 0; border-bottom:1px dashed var(--soft-line);}
  .ci-finding:last-child{border-bottom:0;}
  .ci-finding .cf-no{flex:0 0 auto; width:1.5rem; height:1.5rem; border-radius:50%; background:var(--law-soft); color:var(--law); font-size:.64rem; font-weight:800; display:grid; place-items:center;}
  .ci-finding.high .cf-no{background:#fde3da; color:#c0392b;}
  .ci-finding.mid .cf-no{background:#fdeecf; color:#b87429;}
  .ci-finding.low .cf-no{background:#dceee5; color:#25735d;}
  .ci-finding .cf-body{flex:1; min-width:0;}
  .ci-finding .cf-name{font-size:.66rem; color:#22304d; line-height:1.5; font-weight:700;}
  .ci-finding .cf-tag{display:inline-flex; align-items:center; gap:.22rem; font-size:.54rem; font-weight:700; padding:.14rem .42rem; border-radius:1rem; margin-top:.35rem;}
  .ci-finding.high .cf-tag{background:#fde3da; color:#c0392b;}
  .ci-finding.mid .cf-tag{background:#fdeecf; color:#b87429;}
  .ci-finding.low .cf-tag{background:#dceee5; color:#25735d;}
  .ci-finding .cf-reason{margin-top:.3rem; font-size:.58rem; color:#4a4a7a; line-height:1.55; background:#f6f2ff; border-radius:.5rem; padding:.4rem .5rem;}
  .ci-finding .cf-reason iconify-icon{color:var(--law);}
  .ci-stream-foot{margin:.7rem 1.1rem 0; display:flex; gap:.5rem;}
  .ci-stream-foot button{flex:1; display:inline-flex; align-items:center; justify-content:center; gap:.3rem; border:1px solid var(--law); background:#fff; color:var(--law); border-radius:.7rem; padding:.55rem; font-size:.66rem; font-weight:800; cursor:pointer; font:inherit;}
  .ci-stream-foot button.primary{background:var(--law); color:#fff;}
  .ci-stream-foot button:disabled{opacity:.5; cursor:not-allowed;}
  .ci-caret{display:inline-block; width:.45rem; height:.7rem; border-right:2px solid var(--law); animation:drBlink .9s steps(1) infinite; margin-left:2px; vertical-align:middle;}
  .ci-report{margin:.8rem 1.1rem 0; background:#fff; border:1px solid var(--line); border-radius:1rem; padding:1rem; box-shadow:var(--shadow-soft);}
  .ci-report h3{margin:0; font-size:.82rem; color:var(--navy); display:flex; align-items:center; gap:.35rem;}
  .ci-report h3 .tag{margin-left:auto; font-size:.54rem; font-weight:700; padding:.14rem .45rem; border-radius:1rem;}
  .ci-report p{margin:.35rem 0 0; font-size:.66rem; color:#53607a; line-height:1.6;}
  .ci-sum{display:flex; gap:.5rem; margin-top:.8rem;}
  .ci-sum div{flex:1; background:#f6f2ff; border:1px solid #e6dcfb; border-radius:.7rem; padding:.5rem .5rem; text-align:center;}
  .ci-sum b{font-size:.9rem; display:block; color:#3a2c72;} .ci-sum span{font-size:.52rem; color:#6a5aa0;}
  .ci-recent{margin-top:.6rem;}
  .ci-recent .ci-file{display:flex; align-items:center; gap:.55rem; background:#fff; border:1px solid var(--line); border-radius:.85rem; padding:.62rem .7rem; margin-bottom:.45rem; box-shadow:var(--shadow-soft); cursor:pointer; width:100%; font:inherit; text-align:left;}
  .ci-recent .ci-file:active{background:#faf8ff;}
  .ci-recent .ci-file .f-ico{width:2rem; height:2rem; border-radius:.6rem; background:var(--law-soft); color:var(--law); display:grid; place-items:center; font-size:.95rem; flex:0 0 auto;}
  .ci-recent .ci-file .f-main{flex:1; min-width:0;}
  .ci-recent .ci-file .f-main b{font-size:.66rem; color:#22304d; display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .ci-recent .ci-file .f-main small{font-size:.54rem; color:var(--muted); display:block; margin-top:.1rem;}
  .ci-recent .ci-file .f-go{font-size:.56rem; font-weight:700; color:var(--law); display:inline-flex; align-items:center; gap:.15rem; flex:0 0 auto;}
  /* ============ 法务历史列表（起草 / 解读） ============ */
  .hl-hero{margin:.8rem 1.1rem 0;}
  .hl-hero h3{font-size:.78rem; color:var(--navy); margin:0 0 .2rem; display:flex; align-items:center; gap:.35rem;}
  .hl-hero h3 iconify-icon{color:var(--law);}
  .hl-hero p{margin:0; font-size:.58rem; color:var(--muted); line-height:1.5;}
  .hl-stats{display:grid; grid-template-columns:repeat(2,1fr); gap:.5rem; padding:.75rem 1.1rem 0;}
  .hl-stat{display:flex; align-items:center; gap:.55rem; background:#fff; border:1px solid var(--line); border-radius:.9rem; padding:.6rem .7rem; box-shadow:var(--shadow-soft);}
  .hl-stat .hs-ico{width:2rem; height:2rem; border-radius:.6rem; display:grid; place-items:center; font-size:1rem; flex:0 0 auto;}
  .hl-stat.blue .hs-ico{background:var(--law-soft); color:var(--law);}
  .hl-stat.gray .hs-ico{background:#eef1f5; color:#7a8699;}
  .hl-stat.green .hs-ico{background:#dceee5; color:#25735d;}
  .hl-stat.red .hs-ico{background:#fde3da; color:#c0392b;}
  .hl-stat.orange .hs-ico{background:#fdeecf; color:#b87429;}
  .hl-stat b{font-size:1.2rem; font-weight:800; color:#22304d; line-height:1.05; display:block;}
  .hl-stat span{font-size:.56rem; color:var(--muted); display:block; margin-top:.1rem;}
  .hl-act{margin-top:.7rem;}
  .hl-list{padding:.65rem 1.1rem 0;}
  .hl-list h4{font-size:.66rem; color:var(--muted); font-weight:700; margin:0 0 .4rem; display:flex; align-items:center; gap:.3rem;}
  .hl-list h4 iconify-icon{color:var(--law);}
  .hl-list h4 .cnt{margin-left:auto; font-size:.54rem; font-weight:700;}
  .hl-item{display:flex; gap:.6rem; align-items:center; background:#fff; border:1px solid var(--line); border-radius:.9rem; padding:.68rem .75rem; margin-bottom:.5rem; box-shadow:var(--shadow-soft); cursor:pointer; width:100%; font:inherit; text-align:left;}
  .hl-item:active{background:#faf8ff;}
  .hl-item .f-ico{width:2.2rem; height:2.2rem; border-radius:.65rem; display:grid; place-items:center; font-size:1.05rem; flex:0 0 auto; background:var(--law-soft); color:var(--law);}
  .hl-item .f-main{flex:1; min-width:0;}
  .hl-item .f-main b{font-size:.7rem; color:#22304d; display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .hl-item .f-main span{font-size:.55rem; color:var(--muted); display:block; margin-top:.16rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .hl-item .f-right{flex:0 0 auto; display:flex; flex-direction:column; align-items:flex-end; gap:.28rem;}
  .hl-tag{font-size:.5rem; font-weight:700; padding:.13rem .4rem; border-radius:1rem; letter-spacing:.02em;}
  .hl-tag.expired{background:#eef1f5; color:#7a8699;}
  .hl-tag.active{background:#dceee5; color:#25735d;}
  .hl-tag.high{background:#fde3da; color:#c0392b;}
  .hl-tag.mid{background:#fdeecf; color:#b87429;}
  .hl-tag.low{background:#eeeaff; color:var(--law);}
  .hl-tag.ok{background:#e8e8ff; color:#5b5be8;}
  .hl-tag.warn{background:#fdeecf; color:#b87429;}
  .hl-tag.bad{background:#fde3da; color:#c0392b;}
  .hl-item .f-go{display:inline-flex; align-items:center; gap:.2rem; font-size:.56rem; font-weight:700; color:var(--law);}
  .hl-empty{text-align:center; padding:1.8rem 0; color:var(--muted);}
  .hl-empty iconify-icon{font-size:2rem; color:#cdd5e0; display:block; margin-bottom:.4rem;}
  .hl-empty p{font-size:.64rem; margin:.2rem 0;}

  /* ===== 体检报告页：简洁页头 / 最近报告 / 趋势 / 年度归档 / 下载 ===== */
  .mh-mini-head{display:flex; align-items:center; justify-content:space-between; gap:.6rem; margin:.6rem 1.1rem 0; padding:.7rem .9rem; background:#fff; border:1px solid var(--line); border-radius:1rem; box-shadow:var(--shadow-soft);}
  .mh-mini-head h2{margin:0; font-size:.92rem; color:#1d2942;}
  .mh-mini-head p{margin:.12rem 0 0; font-size:.56rem; color:var(--muted);}
  .mh-mini-add{flex:0 0 auto; display:inline-flex; align-items:center; gap:.25rem; background:var(--med); color:#fff; border:0; border-radius:1.3rem; padding:.42rem .75rem; font-size:.62rem; font-weight:800; cursor:pointer; font:inherit; box-shadow:0 .12rem .3rem rgba(91,91,232,.3);}
  .mh-mini-add:active{transform:translateY(.03rem);}

  #mhReportDash, #mhReportYears{padding:.85rem 1.1rem 0;}
  .rep-sec-t{display:flex; align-items:center; gap:.32rem; font-size:.72rem; font-weight:800; color:#22304d; margin:0 0 .55rem;}
  .rep-sec-t iconify-icon{color:var(--med); font-size:.9rem;}
  .rep-sec-t .cnt{margin-left:auto; font-size:.54rem; font-weight:700; color:var(--muted); background:#f1f3f8; padding:.12rem .5rem; border-radius:1rem;}

  /* 最近一次报告（简洁版） */
  .rep-latest{background:#fff; border:1px solid var(--line); border-radius:1.05rem; padding:.85rem .9rem; box-shadow:var(--shadow-soft); margin-bottom:.75rem;}
  .rl-mini{display:flex; align-items:center; gap:.5rem; flex-wrap:wrap;}
  .rlh-badge{display:inline-flex; align-items:center; gap:.28rem; font-size:.54rem; font-weight:800; color:var(--med); background:var(--med-soft); padding:.18rem .5rem; border-radius:1rem;}
  .rl-name{font-size:.82rem; font-weight:800; color:#1d2942;}
  .rl-date{font-size:.56rem; color:var(--muted);}
  .rlh-score{margin-left:auto; flex:0 0 auto; width:2.6rem; height:2.6rem; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center;}
  .rlh-score b{font-size:.92rem; font-weight:900; line-height:1;}
  .rlh-score span{font-size:.48rem; margin-top:.1rem; font-weight:700;}
  .rlh-score.ok{background:#e2f4ea; color:#1e8a63;} .rlh-score.warn{background:#fdeecf; color:#b87429;} .rlh-score.bad{background:#fde3da; color:#c0392b;}
  .rep-latest-sum{margin:.6rem 0 .55rem; font-size:.62rem; line-height:1.6; color:#4a5670; background:#f7f8fc; border-radius:.6rem; padding:.5rem .6rem;}
  .rep-flags{display:flex; align-items:center; flex-wrap:wrap; gap:.35rem; margin-bottom:.65rem;}
  .rep-flags .rf-lbl{display:inline-flex; align-items:center; gap:.22rem; font-size:.56rem; font-weight:800; color:#c0392b;}
  .rep-flags .rf-lbl iconify-icon{font-size:.72rem;}
  .rf-tag{font-size:.54rem; font-weight:700; color:#b87429; background:#fdf3e2; border:1px solid #f3e0bd; padding:.12rem .5rem; border-radius:1rem;}
  .rep-latest-actions{display:flex; gap:.5rem;}
  .rep-latest-actions button{flex:1; display:inline-flex; align-items:center; justify-content:center; gap:.3rem; border-radius:.7rem; padding:.55rem; font-size:.62rem; font-weight:800; cursor:pointer; font:inherit;}
  .rep-latest-actions button:first-child{background:var(--med); color:#fff; border:1px solid var(--med);}
  .rep-latest-actions button:last-child{background:#fff; color:var(--med); border:1px solid var(--med);}

  /* 个性化建议（简明） */
  .rep-advice-sec{background:#fff; border:1px solid var(--line); border-radius:1.05rem; padding:.85rem .9rem; box-shadow:var(--shadow-soft); margin-bottom:.75rem;}
  .rep-advice{display:flex; gap:.55rem; align-items:flex-start; padding:.5rem 0; border-bottom:1px dashed var(--line);}
  .rep-advice:last-child{border-bottom:0; padding-bottom:.1rem;}
  .rep-advice .ra-ico{flex:0 0 auto; width:1.9rem; height:1.9rem; border-radius:.58rem; background:var(--med-soft); color:var(--med); display:grid; place-items:center; font-size:.95rem;}
  .rep-advice b{font-size:.64rem; color:#2a3550; display:block;}
  .rep-advice p{margin:.14rem 0 0; font-size:.58rem; line-height:1.55; color:#5a6580;}

  /* 年度分组列表 */
  .rep-years-head{display:flex; align-items:center; gap:.32rem; font-size:.72rem; font-weight:800; color:#22304d; margin:0 0 .55rem;}
  .rep-years-head iconify-icon{color:var(--med); font-size:.9rem;}
  .rep-years-head .cnt{margin-left:auto; font-size:.54rem; font-weight:700; color:var(--muted);}
  .rep-year-group{margin-bottom:.55rem; border:1px solid var(--line); border-radius:.95rem; background:#fff; box-shadow:var(--shadow-soft); overflow:hidden;}
  .rep-year-head{width:100%; display:flex; align-items:center; gap:.5rem; background:linear-gradient(135deg,#f4f3ff,#eef0ff); border:0; padding:.68rem .8rem; cursor:pointer; font:inherit; text-align:left;}
  .rep-year-head .ryh-ico{color:var(--med); font-size:1rem;}
  .rep-year-head b{font-size:.74rem; color:#26314c;}
  .rep-year-head .ryh-cnt{font-size:.54rem; font-weight:700; color:var(--med); background:#fff; padding:.12rem .5rem; border-radius:1rem;}
  .rep-year-head .ryh-caret{margin-left:auto; color:var(--med); font-size:.7rem; transition:transform .25s;}
  .rep-year-group.collapsed .ryh-caret{transform:rotate(-90deg);}
  .rep-year-body{display:flex; flex-direction:column; gap:.5rem; padding:.55rem .65rem .65rem;}
  .rep-year-group.collapsed .rep-year-body{display:none;}
  .rep-year-item{display:flex; align-items:stretch; gap:.4rem; width:100%; background:#fafbfd; border:1px solid var(--line); border-radius:.8rem; padding:.55rem .55rem .55rem .62rem;}
  .rep-year-item .ryi-open{flex:1; min-width:0; display:flex; gap:.55rem; align-items:flex-start; background:transparent; border:0; cursor:pointer; font:inherit; text-align:left; padding:0;}
  .rep-year-item .ryi-ico{flex:0 0 auto; width:2rem; height:2rem; border-radius:.6rem; background:var(--med-soft); color:var(--med); display:grid; place-items:center; font-size:.95rem;}
  .rep-year-item .ryi-main{flex:1; min-width:0;}
  .rep-year-item .ryi-main b{font-size:.68rem; color:#22304d; display:block;}
  .rep-year-item .ryi-meta{font-size:.52rem; color:var(--muted); display:block; margin-top:.16rem;}
  .rep-year-item .ryi-conc{font-size:.55rem; color:#5a6580; line-height:1.5; display:block; margin-top:.24rem;}
  .rep-year-item .ryi-right{flex:0 0 auto; display:flex; align-items:flex-start;}
  .ryi-tag{font-size:.5rem; font-weight:800; padding:.14rem .5rem; border-radius:1rem; white-space:nowrap;}
  .ryi-tag.ok{background:#dcf0e6; color:#1e8a63;} .ryi-tag.warn{background:#fbe7c6; color:#b87429;} .ryi-tag.bad{background:#fbdbd5; color:#c0392b;}
  .rep-year-item .ryi-dl{flex:0 0 auto; align-self:center; width:1.9rem; height:1.9rem; border-radius:.55rem; border:1px solid var(--line); background:#fff; color:var(--med); display:grid; place-items:center; font-size:.9rem; cursor:pointer;}
  .rep-year-item .ryi-dl:active{background:var(--med-soft);}

  /* 报告详情弹窗 */
  .rep-detail-sheet{max-height:82vh; display:flex; flex-direction:column;}
  .rep-sheet-head{display:flex; align-items:center; justify-content:space-between; padding:.9rem 1rem .5rem;}
  .rep-sheet-head b{font-size:.86rem; color:#1d2942;}
  .rep-sheet-body{overflow-y:auto; padding:.2rem 1rem 1.2rem;}
  .rep-d-meta{display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; font-size:.58rem; color:var(--muted); margin-bottom:.6rem;}
  .rep-d-meta iconify-icon{margin-right:.2rem; vertical-align:-.12rem; color:var(--med);}
  .rep-d-meta .ryi-tag{margin-left:auto;}
  .rep-d-sum{display:flex; gap:.4rem; font-size:.62rem; line-height:1.6; color:#4a5670; background:#f7f8fc; border-radius:.6rem; padding:.55rem .65rem; margin:.2rem 0 .8rem;}
  .rep-d-sum iconify-icon{color:var(--med); flex:0 0 auto; margin-top:.1rem;}
  .rep-d-metrics{display:flex; flex-direction:column; gap:.4rem; margin-top:.4rem;}
  .rep-d-metric{display:flex; align-items:center; gap:.5rem; border:1px solid var(--line); border-left-width:3px; border-radius:.7rem; padding:.5rem .6rem;}
  .rep-d-metric.ok{border-left-color:#1e9e6a; background:#f4fbf7;} .rep-d-metric.warn{border-left-color:#e8a33d; background:#fffaf1;} .rep-d-metric.bad{border-left-color:#e0524d; background:#fef5f3;}
  .rep-d-metric .rdm-name{flex:1; font-size:.64rem; font-weight:700; color:#34405c;}
  .rep-d-metric .rdm-val{font-size:.78rem; font-weight:900; color:#1d2942;} .rep-d-metric .rdm-val small{font-size:.5rem; color:var(--muted); font-weight:700;}
  .rep-d-metric .rdm-ref{font-size:.5rem; color:var(--muted);}
  .rep-d-metric .rdm-tag{font-size:.5rem; font-weight:800; padding:.1rem .45rem; border-radius:1rem;}
  .rep-d-metric.ok .rdm-tag{background:#dcf0e6; color:#1e8a63;} .rep-d-metric.warn .rdm-tag{background:#fbe7c6; color:#b87429;} .rep-d-metric.bad .rdm-tag{background:#fbdbd5; color:#c0392b;}
  .rep-d-note{display:flex; gap:.4rem; font-size:.54rem; color:var(--muted); line-height:1.6; margin:.8rem 0 .6rem;}
  .rep-d-note iconify-icon{color:#e8a33d; flex:0 0 auto; margin-top:.1rem;}
  .rep-d-download{width:100%; display:inline-flex; align-items:center; justify-content:center; gap:.35rem; background:var(--med); color:#fff; border:0; border-radius:.75rem; padding:.62rem; font-size:.66rem; font-weight:800; cursor:pointer; font:inherit; box-shadow:0 .14rem .35rem rgba(91,91,232,.3);}

  /* 影像场景：最新解读卡 + 记录项 + 原图/报告弹窗 */
  #mhImgDash{padding:.85rem 1.1rem 0;}
  .img-dash-actions{display:flex; gap:.45rem;}
  .img-dash-actions button{flex:1; display:inline-flex; align-items:center; justify-content:center; gap:.28rem; border-radius:.7rem; padding:.52rem; font-size:.6rem; font-weight:800; cursor:pointer; font:inherit; background:#fff; color:var(--med); border:1px solid var(--med);}
  .img-dash-actions button.primary{background:var(--med); color:#fff; border:1px solid var(--med);}

  /* 影像记录项：左侧为可点击主体，右侧三个操作 */
  .hl-item.img-item{flex-wrap:wrap; gap:.5rem; padding:.62rem .65rem;}
  .hl-item.img-item .img-open{flex:1; min-width:0; display:flex; gap:.6rem; align-items:flex-start; background:transparent; border:0; cursor:pointer; font:inherit; text-align:left; padding:0;}
  .hl-item.img-item .img-conc{font-size:.54rem; color:#5a6580; line-height:1.5; display:block; margin-top:.24rem;}
  .hl-item.img-item .f-right{align-self:flex-start;}
  .img-actions{width:100%; display:flex; gap:.45rem; padding-top:.5rem; border-top:1px dashed var(--line);}
  .img-actions button{flex:1; display:inline-flex; align-items:center; justify-content:center; gap:.28rem; background:#f7f8fc; border:1px solid var(--line); color:var(--med); border-radius:.6rem; padding:.42rem; font-size:.56rem; font-weight:800; cursor:pointer; font:inherit;}
  .img-actions button:active{background:var(--med-soft);}
  .img-actions button iconify-icon{font-size:.82rem;}

  /* 逐项所见补充说明 */
  .rdm-note{margin:-.18rem 0 0; font-size:.52rem; line-height:1.5; color:#6b7590; padding-left:.1rem;}

  /* 原图弹窗 */
  .img-orig-meta{display:flex; flex-direction:column; gap:.12rem; margin-bottom:.6rem;}
  .img-orig-meta b{font-size:.74rem; color:#1d2942;}
  .img-orig-meta span{font-size:.56rem; color:var(--muted);}
  .img-orig-canvas{width:100%; border-radius:.8rem; border:1px solid var(--line); display:block; background:#0d1220;}
  .img-orig-tip{display:flex; gap:.4rem; align-items:flex-start; font-size:.54rem; color:var(--muted); line-height:1.6; margin:.6rem 0;}
  .img-orig-tip iconify-icon{color:#e8a33d; flex:0 0 auto; margin-top:.1rem;}
  /* 法务文件详情标签 */
  .seg{display:flex; gap:.3rem; margin:.7rem 1.1rem 0; background:#fff; border:1px solid var(--line); border-radius:.8rem; padding:.25rem;}
  .seg button{flex:1; border:0; background:transparent; border-radius:.6rem; padding:.45rem; font-size:.64rem; font-weight:700; color:#768096; cursor:pointer;}
  .seg button.active{background:var(--law-soft); color:var(--law);}
  .doc-preview{margin:.8rem 1.1rem 0; background:#fff; border:1px solid var(--line); border-radius:.9rem; padding:.9rem; min-height:9rem; box-shadow:var(--shadow-soft); font-size:.66rem; line-height:1.8; color:#3f4a63;}
  .doc-preview h5{margin:0 0 .4rem; font-size:.72rem; color:var(--navy); text-align:center;}
  .doc-preview .ph{color:var(--muted);}

  /* settings */
  .account{display:flex; align-items:center; gap:.7rem; margin:.4rem 1.1rem 0; padding:.85rem; background:#fff; border:1px solid var(--line); border-radius:var(--r-xl); box-shadow:var(--shadow-soft);}
  .account .a-ava{width:3rem; height:3rem; border-radius:1rem; background:var(--hf); color:#fff; display:grid; place-items:center; font-size:1.2rem; font-weight:800; flex:0 0 auto; box-shadow:0 .25rem .6rem rgba(91,91,232,.28);}
  .account b{font-size:.95rem;} .account span{display:block; font-size:.64rem; color:var(--muted); margin-top:.12rem;}
  .account .a-go{margin-left:auto; color:#b9c2cf; font-size:1.1rem;}
  .list{background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; margin:0 1.1rem; box-shadow:var(--shadow-soft);}
  .row{display:flex; align-items:center; gap:.65rem; padding:.8rem .85rem; border-top:1px solid var(--soft-line); cursor:pointer; text-align:left;}
  .row:first-child{border-top:0;}
  button.row{border:0; background:transparent; width:100%; font:inherit;}
  .row .r-ico{width:2.1rem; height:2.1rem; flex:0 0 auto; border-radius:.65rem; display:grid; place-items:center; font-size:1rem;}
  .row .r-main{flex:1; min-width:0;}
  .row .r-main b{display:block; font-size:.78rem;}
  .row .r-main span{display:block; font-size:.6rem; color:var(--muted); margin-top:.1rem;}
  .toggle{width:2.6rem; height:1.5rem; border-radius:1rem; background:var(--hf); position:relative; flex:0 0 auto; transition:background .2s; cursor:pointer;}
  .toggle .knob{position:absolute; top:.16rem; left:.16rem; width:1.18rem; height:1.18rem; border-radius:50%; background:#fff; transition:left .2s; box-shadow:0 .05rem .12rem rgba(0,0,0,.2);}
  .toggle.off{background:#c2cad8;} .toggle.off .knob{left:1.26rem;}
  .row .r-arrow{color:#b9c2cf; font-size:1rem;}
  .i-edu{background:var(--edu-soft); color:var(--edu);} .i-med{background:var(--med-soft); color:var(--med);} .i-law{background:var(--law-soft); color:var(--law);} .i-life{background:var(--life-soft); color:var(--life);}
  .i-nav{background:#eef1f5; color:#53607a;}

  /* bottom menu */
  .tabbar{position:absolute; left:0; right:0; bottom:0; z-index:12; height:4.2rem; padding:.35rem .3rem calc(.35rem + env(safe-area-inset-bottom)); background:#fff; border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(5,1fr);}
  .tab{position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.22rem; text-decoration:none; color:var(--muted); font-size:.6rem; font-weight:700; cursor:pointer;}
  .tab .t-ico{font-size:1.18rem; transition:transform .18s ease;}
  .tab.active{color:var(--hf);}
  .tab.active .t-ico{transform:translateY(-.12rem) scale(1.06);}
  .tab.active::before{content:""; position:absolute; top:.1rem; width:1.9rem; height:.18rem; border-radius:1rem; background:var(--hf);}

  /* 中间 AI tab：凸起圆钮内嵌聊天气泡图标，整体下沉贴近 tabbar 底部（圆底对齐导航栏下缘），无辅助装饰圆 */
  .tabbar .tab[data-view="ai"]{z-index:13;}
  .tabbar .tab[data-view="ai"]::before{display:none;}
  .tabbar .tab[data-view="ai"] .t-ico{
    position:absolute; z-index:2;
    left:50%;
    /* 圆底贴近 tabbar 底缘（下沉进入底部内边距区），圆钮整体沉入导航栏 */
    bottom:-.2rem;
    margin-left:-1.7rem;
    width:3.4rem; height:3.4rem;
    display:flex; align-items:center; justify-content:center;
    font-size:1.5rem; color:#fff; line-height:1;
    background:linear-gradient(145deg,#8a97ff 0%,#5b5be8 55%,#4a4ae0 100%);
    border-radius:50%;
    box-shadow:0 .22rem .55rem rgba(91,91,232,.42);
    animation:aiTabFloat 2.6s ease-in-out infinite;
  }
  @keyframes aiTabFloat{
    0%,100%{transform:translateY(0);}
    50%{transform:translateY(-.12rem);}
  }

  /* toast */
  .toast{position:absolute; left:50%; bottom:5.4rem; transform:translateX(-50%); z-index:30; background:var(--hf); color:#fff; font-size:.72rem; padding:.5rem .8rem; border-radius:.6rem; box-shadow:0 .3rem .8rem rgba(91,91,232,.3); opacity:0; pointer-events:none; transition:opacity .2s; white-space:nowrap;}
  .toast.show{opacity:1;}

  /* modal */
  .mask{position:absolute; inset:0; z-index:25; display:none; align-items:center; justify-content:center; background:rgba(23,31,49,.36); padding:1.1rem;}
  .mask.show{display:flex;}
  .sheet{width:100%; max-width:20rem; background:#fff; border-radius:1.4rem; padding:1.1rem; box-shadow:0 .8rem 2rem rgba(25,34,58,.2);}
  .sheet h2{margin:0; font-size:1.05rem;} .sheet .sub{margin:.25rem 0 .6rem; color:var(--muted); font-size:.7rem;}
  .field{width:100%; border:1px solid var(--line); border-radius:.7rem; padding:.6rem .7rem; font-size:.72rem; margin-top:.5rem; outline:none; background:#f6f8fb;}
  .field:focus{border-color:var(--edu); background:#fff;}
  .row2{display:grid; grid-template-columns:1fr 1fr; gap:.5rem;}
  .sheet-btns{display:flex; gap:.5rem; margin-top:.8rem;}
  .sheet-btns button{flex:1; border-radius:.7rem; padding:.7rem; font-size:.74rem; font-weight:800; border:1px solid var(--line); background:#fff; color:#53607a; cursor:pointer;}
  .sheet-btns .ok{background:var(--hf); color:#fff; border:0;}
  .mask.edu-quick-mask{align-items:flex-end; padding:.65rem;}
  .edu-quick-sheet{max-width:24rem; padding:.85rem .9rem 1rem; border-radius:1.25rem;}
  .edu-quick-handle{width:2.2rem; height:.22rem; margin:0 auto .7rem; border-radius:.2rem; background:#dce2ec;}
  .edu-quick-head{display:flex; align-items:flex-start; gap:.55rem;}
  .edu-quick-head>span{width:2.2rem; height:2.2rem; flex:0 0 auto; display:grid; place-items:center; border-radius:.7rem; background:var(--edu-soft); color:var(--edu); font-size:1.05rem;}
  .edu-quick-head>div{flex:1; min-width:0;}
  .edu-quick-head h2{font-size:.86rem; color:#22304d;}
  .edu-quick-head .sub{margin:.18rem 0 0; font-size:.57rem; line-height:1.45;}
  .edu-quick-close{width:1.8rem; height:1.8rem; flex:0 0 auto; display:grid; place-items:center; border:0; border-radius:50%; background:#f1f3f7; color:#7a8599; font:inherit; cursor:pointer;}
  .edu-quick-options{display:grid; grid-template-columns:1fr 1fr; gap:.55rem; margin-top:.75rem;}
  .edu-quick-option{display:flex; flex-direction:column; align-items:center; justify-content:center; min-width:0; border:1px solid #dfe4ee; border-radius:.9rem; background:#fff; padding:.82rem .5rem .7rem; font:inherit; cursor:pointer;}
  .edu-quick-option:active{background:#f7f9ff; border-color:#bfcaf7;}
  .edu-quick-option .eqo-ico{width:2.45rem; height:2.45rem; display:grid; place-items:center; border-radius:50%; background:var(--edu-soft); color:var(--edu); font-size:1.25rem;}
  .edu-quick-option.upload .eqo-ico{background:#eef8f4; color:#138c78;}
  .edu-quick-option b{margin-top:.45rem; color:#2a3750; font-size:.68rem;}
  .edu-quick-option small{margin-top:.12rem; color:#929caf; font-size:.48rem; text-align:center;}
  .edu-quick-tip{display:flex; align-items:flex-start; gap:.3rem; margin-top:.65rem; padding:.48rem .55rem; border-radius:.65rem; background:#f5f7fb; color:#7a8599; font-size:.5rem; line-height:1.45;}
  .edu-quick-tip iconify-icon{flex:0 0 auto; margin-top:.02rem; color:var(--edu); font-size:.68rem;}

  /* 首页教育入口：独立快捷上传页，不展示助理内的历史记录 */
  .edu-home-quick-topbar .mark{background:var(--edu-soft); color:var(--edu);}
  .edu-home-quick-body{padding:.9rem 1.1rem 1.8rem;}
  .edu-home-quick-hero{padding:1rem; border:1px solid #dce4fb; border-radius:1rem; background:linear-gradient(145deg,#eef3ff,#fff);}
  .edu-home-quick-hero .priv{display:inline-flex; align-items:center; gap:.22rem; padding:.16rem .42rem; border-radius:1rem; background:#fff; color:var(--edu); font-size:.5rem; font-weight:700;}
  .edu-home-quick-hero h2{margin:.55rem 0 .18rem; color:#22304d; font-size:1rem;}
  .edu-home-quick-hero p{margin:0; color:#68758d; font-size:.61rem; line-height:1.55;}
  .edu-home-quick-zone{margin-top:.75rem; padding:1.2rem .85rem .8rem; border:1.5px dashed #b9c8ed; border-radius:1rem; background:#fff; text-align:center; cursor:pointer;}
  .edu-home-quick-zone>.u-ico{width:3rem; height:3rem; display:grid; place-items:center; margin:0 auto; border-radius:50%; background:var(--edu-soft); color:var(--edu); font-size:1.45rem;}
  .edu-home-quick-zone>p{margin:.6rem 0 .12rem; color:#25324b; font-size:.76rem; font-weight:800;}
  .edu-home-quick-zone>small{display:block; color:#929caf; font-size:.52rem;}
  .edu-home-quick-zone .u-actions{display:grid; grid-template-columns:1fr 1fr; gap:.55rem; margin-top:.78rem;}
  .edu-home-quick-zone .u-btn{display:flex; align-items:center; justify-content:center; gap:.28rem; min-height:2.25rem; border:1px solid var(--edu); border-radius:.72rem; background:var(--edu); color:#fff; font:inherit; font-size:.62rem; font-weight:700; cursor:pointer;}
  .edu-home-quick-zone .u-btn.ghost{background:#fff; color:var(--edu);}
  .edu-home-quick-zone.grade-camera-only .u-actions{grid-template-columns:1fr;}
  .edu-home-quick-zone.grade-camera-only .u-btn{width:100%; min-height:2.45rem;}
  .edu-home-quick-zone.grade-camera-only .u-btn.ghost{display:none;}
  .edu-home-quick-zone.hide-guidance-hints .edu-home-quick-hints{display:none;}
  .edu-home-quick-hints{display:grid; grid-template-columns:1fr 1fr; gap:.5rem; margin-top:.65rem; padding-top:.65rem; border-top:1px solid #edf0f6; text-align:left;}
  .edu-home-quick-hints>span{display:grid; grid-template-columns:auto 1fr; column-gap:.25rem; align-items:center; min-width:0; color:var(--edu);}
  .edu-home-quick-hints iconify-icon{grid-row:1 / 3; font-size:.85rem;}
  .edu-home-quick-hints b{color:#47546d; font-size:.55rem;}
  .edu-home-quick-hints small{overflow:hidden; color:#929caf; font-size:.48rem; text-overflow:ellipsis; white-space:nowrap;}
  .edu-home-quick-tip{display:flex; align-items:flex-start; gap:.35rem; margin-top:.65rem; padding:.58rem .62rem; border-radius:.7rem; background:#f5f7fb; color:#6f7b91; font-size:.53rem; line-height:1.55;}
  .edu-home-quick-tip iconify-icon{flex:0 0 auto; margin-top:.04rem; color:var(--edu); font-size:.72rem;}

  /* 首页智能组卷：独立配置页，不展示助理内组卷历史 */
  #view-home-compose{background:linear-gradient(180deg,#f1f5ff 0,#f7f9fd 16rem,var(--canvas) 30rem);}
  .edu-home-compose-topbar .mark{background:var(--edu-soft); color:var(--edu);}
  .home-compose-body{padding:.82rem 1rem 0;}
  .hc-card{margin-bottom:.68rem; padding:.8rem; border:1px solid #dfe6f7; border-radius:1rem; background:#fff; box-shadow:0 .12rem .4rem rgba(45,65,120,.06);}
  .hc-section-head{display:flex; align-items:flex-start; gap:.5rem; margin-bottom:.65rem;}
  .hc-section-head>div{flex:1; min-width:0;}
  .hc-section-head h2{margin:0; color:#24314a; font-size:15px;}
  .hc-section-head p{margin:.15rem 0 0; color:#7c879c; font-size:12px; line-height:1.45;}
  .hc-section-head>iconify-icon{flex:0 0 auto; color:var(--edu); font-size:1rem;}
  .hc-subject-tabs{display:grid; grid-template-columns:repeat(4,1fr); gap:.4rem;}
  .hc-subject-tabs button{min-height:2.15rem; border:1px solid #dfe4ee; border-radius:.68rem; background:#f8f9fc; color:#647089; font:inherit; font-size:12px; font-weight:800; cursor:pointer;}
  .hc-subject-tabs button.active{border-color:transparent; background:linear-gradient(135deg,#4968ed,#6680f2); color:#fff; box-shadow:0 .15rem .4rem rgba(73,104,237,.25);}
  .hc-mode-tabs{display:grid; grid-template-columns:1fr 1fr; gap:.5rem;}
  .hc-mode-tabs button{position:relative; display:flex; align-items:center; gap:.42rem; min-width:0; min-height:3.3rem; padding:.55rem; border:1px solid #dfe4ee; border-radius:.78rem; background:#f9fafc; color:#4f5c73; font:inherit; text-align:left; cursor:pointer;}
  .hc-mode-tabs button.active{border-color:#aebdf8; background:#f1f4ff; box-shadow:inset 0 0 0 1px rgba(73,104,237,.08);}
  .hcm-icon{width:1.85rem; height:1.85rem; flex:0 0 auto; display:grid; place-items:center; border-radius:.58rem; background:#eef1ff; color:var(--edu); font-size:.9rem;}
  .hc-mode-tabs button>span:nth-child(2){min-width:0;}
  .hc-mode-tabs b,.hc-mode-tabs small{display:block;}
  .hc-mode-tabs b{color:#2d3a53; font-size:12px;}
  .hc-mode-tabs small{margin-top:.1rem; overflow:hidden; color:#8a95a9; font-size:12px; text-overflow:ellipsis; white-space:nowrap;}
  .hcm-check{position:absolute; right:.38rem; top:.35rem; display:none; color:var(--edu); font-size:.72rem;}
  .hc-mode-tabs button.active .hcm-check{display:block;}
  .hc-sources{display:grid; grid-template-columns:1fr 1fr; gap:.45rem;}
  .hc-source{position:relative; display:flex; align-items:center; gap:.42rem; min-width:0; min-height:3.55rem; padding:.55rem .5rem; border:1px solid #e1e6ef; border-radius:.78rem; background:#fff; color:inherit; font:inherit; text-align:left; cursor:default;}
  .hc-sources.manual .hc-source{cursor:pointer;}
  .hc-source.selected{border-color:#c7d2fc; background:#f7f9ff;}
  .hcs-icon{width:1.9rem; height:1.9rem; flex:0 0 auto; display:grid; place-items:center; border-radius:.58rem; background:var(--edu-soft); color:var(--edu); font-size:.85rem;}
  .hcs-icon.library{background:#eaf6f2; color:#138c78;}
  .hcs-main{flex:1; min-width:0;}
  .hcs-main span,.hcs-main b,.hcs-main small{display:block;}
  .hcs-main span{color:#5d6981; font-size:12px;}
  .hcs-main b{margin-top:.08rem; color:#26344d; font-size:14px;}
  .hcs-main small{margin-top:.08rem; overflow:hidden; color:#929caf; font-size:12px; text-overflow:ellipsis; white-space:nowrap;}
  .hcs-check{position:absolute; right:.34rem; top:.3rem; color:#b9c2d2; font-size:.72rem;}
  .hc-source.selected .hcs-check{color:var(--edu);}
  .hc-source:nth-child(5){grid-column:1 / 2;}
  .hc-sources.question-mode{display:block;}
  .hc-question-filters{display:flex; gap:.35rem; margin:0 -.1rem .62rem; padding:0 .1rem .12rem; overflow-x:auto; scrollbar-width:none;}
  .hc-question-filters::-webkit-scrollbar{display:none;}
  .hc-question-filters button{flex:0 0 auto; min-height:1.8rem; padding:0 .58rem; border:1px solid #dfe4ee; border-radius:1rem; background:#f8f9fc; color:#68758d; font:inherit; font-size:12px; font-weight:700; cursor:pointer;}
  .hc-question-filters button.active{border-color:var(--edu); background:var(--edu); color:#fff;}
  .hc-question-list{display:flex; flex-direction:column; gap:.45rem;}
  .hc-question{display:flex; align-items:flex-start; gap:.48rem; width:100%; padding:.62rem .58rem; border:1px solid #e0e5ef; border-radius:.8rem; background:#fff; color:inherit; font:inherit; text-align:left; cursor:pointer;}
  .hc-question.selected{border-color:#aebdf8; background:#f3f6ff; box-shadow:inset 0 0 0 1px rgba(73,104,237,.08);}
  .hcq-no{width:1.45rem; height:1.45rem; flex:0 0 auto; display:grid; place-items:center; border-radius:50%; background:#eef1ff; color:var(--edu); font-size:12px; font-weight:800;}
  .hc-question.selected .hcq-no{background:var(--edu); color:#fff;}
  .hcq-main{flex:1; min-width:0;}
  .hcq-meta{display:flex; align-items:center; gap:.25rem; flex-wrap:wrap;}
  .hcq-meta i,.hcq-meta em{padding:.08rem .3rem; border-radius:.45rem; font-size:12px; font-style:normal; line-height:1.35;}
  .hcq-meta i{background:#eef1ff; color:var(--edu); font-weight:800;}
  .hcq-meta em{background:#f2f4f8; color:#7c879b;}
  .hcq-main b{display:block; margin-top:.34rem; color:#2b3851; font-size:13px; line-height:1.55;}
  .hcq-check{flex:0 0 auto; color:#b6c0d1; font-size:.9rem;}
  .hc-question.selected .hcq-check{color:var(--edu);}
  .hc-selection-tip{display:flex; align-items:flex-start; gap:.32rem; margin-top:.6rem; padding:.48rem .55rem; border-radius:.65rem; background:#f1f4ff; color:#65718a; font-size:12px; line-height:1.5;}
  .hc-selection-tip iconify-icon{flex:0 0 auto; margin-top:.04rem; color:var(--edu); font-size:.78rem;}
  .hc-generate{display:flex; align-items:center; justify-content:center; gap:.35rem; width:100%; min-height:2.65rem; border:0; border-radius:.82rem; background:linear-gradient(135deg,#4968ed,#6680f2); color:#fff; font:inherit; font-size:14px; font-weight:800; box-shadow:0 .25rem .65rem rgba(73,104,237,.28); cursor:pointer;}
  .hc-generate:disabled{background:#c6cedd; box-shadow:none; cursor:not-allowed;}
  .hc-footnote{display:flex; align-items:center; justify-content:center; gap:.25rem; margin:.48rem 0 0; color:#8a95a9; font-size:12px;}
  .hc-footnote iconify-icon{color:#138c78;}
  .verify{display:grid; grid-template-columns:repeat(3,1fr); gap:.5rem; margin-top:.9rem;}
  .verify button{border:1px solid var(--line); border-radius:.8rem; background:#fff; padding:.7rem .3rem; text-align:center; font-size:.66rem; color:#3f4a63; font-weight:700; cursor:pointer;}
  .verify button .v-ico{font-size:1.3rem; display:block; margin:0 auto .3rem; color:var(--edu);}
  .divider{display:flex; align-items:center; gap:.5rem; margin:.9rem 0; color:#aab2c2; font-size:.6rem;}
  .divider::before,.divider::after{content:""; flex:1; height:1px; background:var(--line);}
  .pin{display:flex; gap:.5rem;}
  .pin input{flex:1; border:1px solid var(--line); border-radius:.7rem; padding:.7rem .8rem; outline:none; font-size:.78rem;}
  .pin input:focus{border-color:var(--edu);}
  .pin button{background:var(--hf); color:#fff; border:0; border-radius:.7rem; padding:0 1rem; font-weight:800; font-size:.74rem; cursor:pointer;}
  .drop{border:2px dashed #cbe3d6; background:#f6fbf8; border-radius:1rem; padding:1.6rem; text-align:center;}
  .drop .d-ico{font-size:1.8rem; color:var(--med);}
  .drop p{margin:.5rem 0 0; font-size:.72rem; font-weight:700;}   .drop small{display:block; margin-top:.2rem; font-size:.6rem; color:var(--muted);}

  /* 最新消息 + 写消息示例 */
  .msgs{display:flex; flex-direction:column;}
  .msg{display:flex; gap:.7rem; padding:.55rem 0; cursor:pointer; text-align:left; width:100%; background:transparent; border:0; color:inherit; font:inherit;}
  .msg .m-ava{width:2.3rem; height:2.3rem; flex:0 0 auto; border-radius:50%; display:grid; place-items:center; font-size:1.05rem; color:#fff; box-shadow:0 .15rem .4rem rgba(25,34,58,.12);}
  .msg.edu .m-ava{background:var(--edu);} .msg.med .m-ava{background:var(--med);} .msg.law .m-ava{background:var(--law);} .msg.life .m-ava{background:var(--life);} .msg.nav .m-ava{background:#53607a;}
  .msg .m-main{flex:1; min-width:0; display:flex; flex-direction:column; gap:.12rem; padding-top:.05rem;}
  .msg .m-top{display:flex; align-items:baseline; gap:.4rem;}
  .msg .m-top b{font-size:.78rem; color:var(--ink);}
  .msg .m-top span{margin-left:auto; font-size:.56rem; color:var(--muted); flex:0 0 auto;}
  .msg .m-text{font-size:.66rem; color:#5d6b85; line-height:1.45; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .examples-head{font-size:.66rem; font-weight:700; color:var(--muted); margin:.85rem 0 .25rem;}
  .msg-examples{display:flex; gap:.5rem; overflow-x:auto; scrollbar-width:none; padding:.15rem 0 .2rem;}
  .msg-examples::-webkit-scrollbar{display:none;}
  .ex-chip{flex:0 0 auto; border:1px solid var(--line); background:#f6f8fb; border-radius:1rem; padding:.45rem .7rem; font-size:.62rem; font-weight:700; color:#3f4a63; cursor:pointer; white-space:nowrap;}
  .ex-chip:active{background:#eef1f7;}

  /* 志愿规划工具 */
  .vt-field{margin-bottom:.7rem;}
  .vt-label{display:flex; align-items:center; gap:.3rem; font-size:.7rem; font-weight:700; color:#3f4a63; margin-bottom:.38rem;}
  .vt-label iconify-icon{color:var(--edu);}
  .vt-hint{font-size:.56rem; color:var(--muted); margin-top:.3rem; line-height:1.5;}
  .vt-row{display:grid; grid-template-columns:1fr 1fr; gap:.5rem;}
  .vt-input-box{display:flex; flex-direction:column; margin-bottom:.7rem;}
  .vt-input-box input{width:100%; box-sizing:border-box; border:1px solid var(--line); border-radius:.7rem; padding:.55rem .65rem; font-size:.82rem; font-weight:700; color:var(--ink); background:#f8faff; outline:none; font-family:inherit; -moz-appearance:textfield;}
  .vt-input-box input::-webkit-outer-spin-button,.vt-input-box input::-webkit-inner-spin-button{-webkit-appearance:none; margin:0;}
  .vt-input-box input:focus{border-color:var(--edu); background:#fff; box-shadow:0 0 0 3px rgba(73,104,237,.12);}
  .vt-disclaimer{display:flex; align-items:flex-start; gap:.3rem; font-size:.56rem; color:var(--muted); line-height:1.6; margin:.65rem 0 0; padding:.5rem .6rem; background:#f6f8fc; border-radius:.65rem;}
  .vt-disclaimer iconify-icon{color:var(--edu); flex:0 0 auto; margin-top:.05rem;}
  .vt-summary{background:linear-gradient(135deg,#eef1ff,#f5f3ff); border:1px solid #dde4ff; border-radius:.85rem; padding:.7rem .8rem; margin-bottom:.75rem;}
  .vt-sum-line{display:flex; align-items:baseline; gap:.5rem; flex-wrap:wrap;}
  .vt-sum-line b{font-size:1.05rem; font-weight:800; color:var(--ink);}
  .vt-sum-line span{font-size:.6rem; color:var(--muted);}
  .vt-sum-tags{display:flex; flex-wrap:wrap; gap:.3rem; margin-top:.5rem;}
  .vt-sum-tag{font-size:.56rem; font-weight:700; padding:.22rem .5rem; border-radius:1rem; background:#fff; border:1px solid #dde4ff; color:#4968ed;}
  .vt-tier-block{margin-bottom:.7rem;}
  .vt-tier-head{display:flex; align-items:center; gap:.4rem; margin-bottom:.4rem;}
  .vt-tier-dot{width:.55rem; height:.55rem; border-radius:50%;}
  .vt-tier-head b{font-size:.72rem; font-weight:800; color:var(--ink);}
  .vt-tier-head span{font-size:.56rem; color:var(--muted); margin-left:auto;}
  .vt-tier-block.reach .vt-tier-dot{background:#e0603a;} .vt-tier-block.match .vt-tier-dot{background:#2f6fe0;} .vt-tier-block.safe .vt-tier-dot{background:#16a376;}
  .vt-school{display:flex; align-items:center; gap:.55rem; padding:.55rem .6rem; border:1px solid var(--line); border-radius:.75rem; margin-bottom:.35rem; background:#fff;}
  .vt-school:active{background:#f8faff;}
  .vt-school .vs-ico{width:2rem; height:2rem; flex:0 0 auto; border-radius:.6rem; display:grid; place-items:center; font-size:1rem; color:#fff;}
  .vt-tier-block.reach .vs-ico{background:linear-gradient(135deg,#f0835f,#e0603a);}
  .vt-tier-block.match .vs-ico{background:linear-gradient(135deg,#5a8bf0,#2f6fe0);}
  .vt-tier-block.safe .vs-ico{background:linear-gradient(135deg,#36c791,#16a376);}
  .vt-school .vs-main{flex:1; min-width:0;}
  .vt-school .vs-name{font-size:.76rem; font-weight:800; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .vt-school .vs-meta{font-size:.56rem; color:var(--muted); margin-top:.15rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .vt-school .vs-tags{display:flex; gap:.25rem; flex-wrap:wrap; margin-top:.22rem;}
  .vt-school .vs-tag{font-size:.5rem; padding:.08rem .32rem; border-radius:.6rem; background:#f0f3fa; color:#6b7591; font-weight:700;}
  .vt-school .vs-tag.pref{background:#fff3e8; color:#d9782f;}
  .vt-school .vs-right{text-align:right; flex:0 0 auto;}
  .vt-school .vs-score{font-size:.88rem; font-weight:800;}
  .vt-school .vs-gap{font-size:.52rem; color:var(--muted); margin-top:.1rem;}
  .vt-tier-block.reach .vs-score{color:#e0603a;} .vt-tier-block.match .vs-score{color:#2f6fe0;} .vt-tier-block.safe .vs-score{color:#16a376;}
  .vt-toggle-answer{display:inline-flex; align-items:center; gap:.25rem; font-size:.6rem; font-weight:700; color:var(--edu); background:#eef1ff; border:1px solid #dde4ff; border-radius:.6rem; padding:.28rem .5rem; cursor:pointer; font:inherit;}
  .vt-toggle-answer.active{background:var(--edu); color:#fff; border-color:var(--edu);}
  .vt-empty{font-size:.6rem; color:var(--muted); text-align:center; padding:.6rem; background:#f8faff; border-radius:.65rem;}

  /* ===== 志愿规划：教育蓝主题 ===== */
  #view-volunteer{
    --vtv-1:#334ab1; --vtv-2:#4968ed; --vtv-3:#7f95f6;
    --vtv-soft:#eef1ff; --vtv-ink:#1f2b4d; --vtv-muted:#64708a; --vtv-line:#dce4ff;
    min-height:100%;
    background:linear-gradient(180deg,#f3f6ff 0,#f7f9fd 15rem,var(--canvas) 28rem);
  }
  /* 顶部导航与英雄区与教育模块统一，英雄卡保留独立层次 */
  #view-volunteer .ed-topbar{
    background:linear-gradient(135deg,#334ab1 0%,#4968ed 68%,#7389f6 100%);
    box-shadow:0 .2rem .55rem rgba(51,74,177,.24);
  }
  #view-volunteer .topbar .icon-btn{
    width:2.2rem; height:2.2rem; border:1px solid var(--line); border-radius:.7rem;
    background:#fff; color:#3f4a63; display:grid; place-items:center; font-size:1rem;
    box-shadow:0 .1rem .25rem rgba(20,30,70,.12); opacity:1;
  }
  #view-volunteer .topbar .icon-btn:active{background:#f1f4fa; transform:scale(.96);}
  #view-volunteer .ed-topbar .t-left .mark{background:rgba(255,255,255,.18); box-shadow:none; color:#fff;}
  #view-volunteer .ed-hero{
    display:flex; align-items:center; gap:.8rem;
    padding:1.05rem 1.1rem;
    background:linear-gradient(135deg,#3b55c7 0%,#5473ed 62%,#8096f6 100%);
    box-shadow:0 .25rem .7rem rgba(51,74,177,.26);
  }
  #view-volunteer .ed-hero::before{content:''; position:absolute; left:-1.8rem; bottom:-2.6rem; width:6.2rem; height:6.2rem; border-radius:50%; background:rgba(255,255,255,.06);}
  #view-volunteer .ed-hero .ed-hero-ico{position:relative; z-index:1; width:2.9rem; height:2.9rem; flex:0 0 auto; display:grid; place-items:center; border:1px solid rgba(255,255,255,.22); border-radius:.9rem; background:rgba(255,255,255,.16); color:#fff; font-size:1.4rem; box-shadow:inset 0 1px 0 rgba(255,255,255,.16);}
  #view-volunteer .ed-hero .ed-hero-txt{position:relative; z-index:1; min-width:0;}
  #view-volunteer .ed-hero h2{margin:0;}
  #view-volunteer .ed-hero p{max-width:none; color:rgba(239,243,255,.94);}
  /* 更轻的卡片与更明确的输入分区 */
  #view-volunteer .tool-card{
    background:#fff;
    border:1px solid var(--vtv-line);
    box-shadow:0 .18rem .55rem rgba(42,65,145,.08), 0 .04rem .14rem rgba(42,65,145,.05);
    border-radius:1.1rem;
  }
  #view-volunteer .tool-card-head b{color:var(--vtv-ink);}
  #view-volunteer .tool-card-head b iconify-icon{color:var(--vtv-2);}
  #view-volunteer .tool-card-head span{color:var(--vtv-muted); font-size:.6rem; font-weight:700;}
  #view-volunteer .vt-label{color:var(--vtv-ink);}
  #view-volunteer .vt-label iconify-icon{color:var(--vtv-2);}
  #view-volunteer .vt-hint{color:var(--vtv-muted);}
  #view-volunteer .vt-input-box input{
    background:#f8faff; border-color:var(--vtv-line); color:var(--vtv-ink);
  }
  #view-volunteer .er-steps span em{font-style:normal;}
  #view-volunteer .vt-input-box input:focus{
    border-color:var(--vtv-2); background:#fff; box-shadow:0 0 0 3px rgba(73,104,237,.14);
  }
  #view-volunteer .vt-disclaimer{background:#f1f4ff; color:var(--vtv-muted);}
  #view-volunteer .vt-disclaimer iconify-icon{color:var(--vtv-2);}
  /* chips：主选项用教育蓝实心，偏好项用浅蓝描边 */
  #view-volunteer .qz-chips button{
    background:#f5f7ff; border-color:var(--vtv-line); color:#4f5d7e;
  }
  #view-volunteer .qz-chips button.active{
    background:linear-gradient(135deg,var(--vtv-1),var(--vtv-2));
    border-color:transparent; color:#fff;
    box-shadow:0 .18rem .45rem rgba(73,104,237,.28);
  }
  #view-volunteer .qz-chips.multi button.active{
    background:var(--vtv-soft); border-color:#a9b8f8; color:var(--vtv-1); box-shadow:none;
  }
  /* 主按钮与加载态统一使用教育蓝 */
  #view-volunteer .er-btn.primary{
    background:linear-gradient(135deg,var(--vtv-1),var(--vtv-2));
    box-shadow:0 .25rem .65rem rgba(73,104,237,.3);
  }
  #view-volunteer .er-btn.ghost{background:#f8faff; border-color:var(--vtv-line); color:var(--vtv-muted);}
  #view-volunteer .er-spinner{background:conic-gradient(from 0deg, var(--vtv-2), #9eb0fa, var(--vtv-2));}
  #view-volunteer .er-spinner iconify-icon{color:var(--vtv-2);}
  #view-volunteer .er-progress{background:#e6ebff;}
  #view-volunteer .er-progress i{background:linear-gradient(90deg,var(--vtv-2),#8da2f8);}
  #view-volunteer .er-steps span.active{color:var(--vtv-2);}
  #view-volunteer .er-steps span.active iconify-icon{color:var(--vtv-2);}
  /* 结果摘要保持蓝色信息层级，冲稳保继续使用语义色 */
  #view-volunteer .vt-summary{
    background:linear-gradient(135deg,#eef2ff,#e6ecff);
    border-color:#d6e0ff;
  }
  #view-volunteer .vt-summary .vt-sum-line b{color:var(--vtv-ink);}
  #view-volunteer .vt-summary .vt-sum-tag{
    background:#fff; border-color:#d6e0ff; color:var(--vtv-1);
  }
  #view-volunteer .vt-school{
    background:#fff; border-color:var(--vtv-line);
  }
  #view-volunteer .vt-school:active{background:#f7f9ff;}
  #view-volunteer .vt-school .vs-name{color:var(--vtv-ink);}
  #view-volunteer .vt-school .vs-meta{color:var(--vtv-muted);}
  #view-volunteer .vt-school .vs-tag{background:#eef2ff; color:#5b6b99;}
  #view-volunteer .vt-school .vs-tag.pref{background:#fff0e6; color:#c2641f;}
  #view-volunteer .vt-toggle-answer{background:var(--vtv-soft); border-color:#cbd6ff; color:var(--vtv-1);}
  #view-volunteer .vt-toggle-answer.active{
    background:linear-gradient(135deg,var(--vtv-1),var(--vtv-2)); color:#fff; border-color:transparent;
  }
  #view-volunteer .vt-empty{background:#f7f9ff; color:var(--vtv-muted);}
  #view-volunteer .tool-error{
    background:#fff5f5; border-color:#fbd5d5; box-shadow:0 .2rem .6rem rgba(224,74,74,.10);
  }
  @media(min-width:480px){
    #view-volunteer .tool-card{margin:.85rem 1.15rem 0; border-radius:1.2rem;}
    #view-volunteer .tool-error{margin:.85rem 1.15rem 0;}
    #view-volunteer .ed-hero{margin:.7rem 1.2rem 0;}
  }

  /* 浮动 AI 按钮 */
  .fab{position:absolute; right:1.1rem; bottom:5.3rem; z-index:14; width:3.2rem; height:3.2rem; border-radius:50%; background:linear-gradient(135deg,#4968ed,#6680f2); color:#fff; display:grid; place-items:center; font-size:1.4rem; box-shadow:0 .35rem .9rem rgba(73,104,237,.42); border:0; cursor:pointer;}
  .fab:active{transform:scale(.93);}

  /* AI 会话框 */
  .ai-sheet{width:100%; max-width:21rem; height:30rem; max-height:82vh; background:#fff; border-radius:1.4rem; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 .8rem 2rem rgba(25,34,58,.2);}
  .ai-head{display:flex; align-items:center; gap:.55rem; padding:.8rem .9rem; border-bottom:1px solid var(--line);}
  .ai-head .ai-ava{width:2.2rem; height:2.2rem; border-radius:.7rem; background:linear-gradient(135deg,#4968ed,#6680f2); color:#fff; display:grid; place-items:center; font-size:1.05rem;}
  .ai-head b{font-size:.84rem;} .ai-head span{display:block; font-size:.58rem; color:var(--muted); margin-top:.05rem;}
  .ai-head .icon-btn{margin-left:auto; width:1.8rem; height:1.8rem; font-size:.85rem; border:0; color:#94a2b3;}
  .ai-thread{flex:1; overflow-y:auto; scrollbar-width:none; padding:.9rem; background:#f6f8fb;}
  .ai-thread::-webkit-scrollbar{display:none;}
  .ai-bar{display:flex; gap:.5rem; align-items:center; padding:.6rem .7rem; border-top:1px solid var(--line); background:#fff;}
  .ai-bar input{flex:1; border:1px solid var(--line); border-radius:1rem; padding:.6rem .9rem; outline:none; font-size:.74rem; background:#f6f8fb;}
  .ai-bar input:focus{border-color:var(--edu); background:#fff;}

  /* 教育助理：学科/学生上下文条 */
  .edu-ctx{display:flex; align-items:center; gap:.4rem; padding:.45rem .9rem; background:#fff; border-bottom:1px solid var(--soft-line); overflow-x:auto; scrollbar-width:none;}
  .edu-ctx::-webkit-scrollbar{display:none;}
  .edu-ctx .ctx-chip{flex:0 0 auto; display:inline-flex; align-items:center; gap:.3rem; border:1px solid var(--line); background:#f6f8fb; color:#53607a; border-radius:1rem; padding:.32rem .6rem; font-size:.62rem; font-weight:700; cursor:pointer; font:inherit;}
  .edu-ctx .ctx-chip.active{border-color:var(--edu); background:var(--edu-soft); color:var(--edu);}
  .edu-ctx .ctx-chip.switch{background:#fff; border-style:dashed;}
  .edu-ctx .ctx-sep{flex:0 0 auto; width:1px; height:.85rem; background:var(--line); margin:0 .15rem;}

  /* 快捷问题 */
  .quick-q{display:flex; gap:.4rem; padding:.5rem .9rem 0; overflow-x:auto; scrollbar-width:none;}
  .quick-q::-webkit-scrollbar{display:none;}
  .quick-q button{flex:0 0 auto; border:1px solid var(--line); background:#fff; color:#3f4a63; border-radius:1rem; padding:.4rem .7rem; font-size:.64rem; font-weight:600; cursor:pointer; font:inherit; display:inline-flex; align-items:center; gap:.3rem;}
  .quick-q button:active{background:#f0f3fa;}
  .quick-q button iconify-icon{color:var(--accent,var(--edu)); font-size:.85rem;}

  /* 富文本结果卡片（气泡内） */
  .b-text .rc{margin:.45rem 0 0; border:1px solid var(--line); border-radius:.7rem; overflow:hidden; background:#f9fbff;}
  .b-text .rc-head{display:flex; align-items:center; gap:.4rem; padding:.5rem .6rem; background:#eef3ff; color:var(--edu); font-size:.68rem; font-weight:800;}
  .b-text .rc-head iconify-icon{font-size:.9rem;}
  .b-text .rc-head .rc-tag{margin-left:auto; font-size:.54rem; font-weight:700; color:#fff; background:var(--edu); padding:.08rem .36rem; border-radius:1rem;}
  .b-text .rc-body{padding:.55rem .65rem; font-size:.66rem; color:#3f4a63; line-height:1.65;}
  .b-text .rc-body ul{margin:0; padding-left:1rem;} .b-text .rc-body li{margin:.12rem 0;}
  .b-text .rc-row{display:flex; align-items:center; gap:.4rem; padding:.4rem .65rem; border-top:1px dashed var(--line); font-size:.64rem;}
  .b-text .rc-row b{color:#22304d;}
  .b-text .rc-foot{display:flex; gap:.4rem; padding:.5rem .65rem; border-top:1px solid var(--line); background:#fff; flex-wrap:wrap;}
  .b-text .rc-foot button,.b-text .rc-foot .rc-link{border:1px solid var(--edu); background:#fff; color:var(--edu); border-radius:.6rem; padding:.36rem .6rem; font-size:.62rem; font-weight:700; cursor:pointer; font:inherit; display:inline-flex; align-items:center; gap:.25rem;}
  .b-text .rc-foot button.primary{background:var(--edu); color:#fff;}
  .b-text .rc-foot button:active{transform:translateY(.03rem);}

  /* 进度反馈（气泡内） */
  .prog{margin:.5rem 0 0; display:flex; flex-direction:column; gap:.35rem;}
  .prog .p-step{display:flex; align-items:center; gap:.45rem; font-size:.64rem; color:#7a8699;}
  .prog .p-step .p-ico{width:1.1rem; height:1.1rem; flex:0 0 auto; border-radius:50%; background:#eef1f7; color:#9aa6ba; display:grid; place-items:center; font-size:.65rem;}
  .prog .p-step.done .p-ico{background:var(--edu-soft); color:var(--edu);}
  .prog .p-step.done{color:#3f4a63;}
  .prog .p-step.active .p-ico{background:var(--edu); color:#fff; animation:pulse 1.1s infinite;}
  .prog .p-step.active{color:var(--edu); font-weight:700;}
  @keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(99,102,241,.45);} 50%{box-shadow:0 0 0 .25rem rgba(99,102,241,0);}}

  /* 六段式讲解 */
  .teach{margin:.5rem 0 0; border:1px solid var(--line); border-radius:.75rem; overflow:hidden; background:#fff;}
  .teach .t-step{display:flex; gap:.5rem; padding:.5rem .65rem; border-bottom:1px dashed var(--soft-line);}
  .teach .t-step:last-child{border-bottom:0;}
  .teach .t-step .t-no{flex:0 0 auto; width:1.3rem; height:1.3rem; border-radius:50%; background:var(--edu-soft); color:var(--edu); font-size:.62rem; font-weight:800; display:grid; place-items:center;}
  .teach .t-step b{display:block; font-size:.66rem; color:#22304d; margin-bottom:.1rem;}
  .teach .t-step p{margin:0; font-size:.62rem; color:#53607a; line-height:1.6;}

  /* 上传文件胶囊 */
  .attach-chip{display:inline-flex; align-items:center; gap:.35rem; background:#eef3ff; color:var(--edu); border:1px solid #d8e2fb; border-radius:1rem; padding:.28rem .55rem .28rem .35rem; font-size:.62rem; font-weight:700; margin-bottom:.4rem;}
  .attach-row{display:flex; flex-wrap:wrap; gap:.3rem; margin-top:.4rem;}
  .attach-row .attach-chip{margin:0;}
  .attach-chip iconify-icon{font-size:.9rem;}
  .attach-chip .att-ok{margin-left:.15rem; color:#16a34a;}

  /* 选项按钮（多轮追问） */
  .opts{display:flex; flex-wrap:wrap; gap:.4rem; margin:.5rem 0 0;}
  .opts button{border:1px solid var(--edu); background:#fff; color:var(--edu); border-radius:1rem; padding:.36rem .7rem; font-size:.62rem; font-weight:700; cursor:pointer; font:inherit;}
  .opts button.primary{background:var(--edu); color:#fff;}
  .opts button:active{transform:translateY(.03rem);}
  .opts.done{opacity:.55;}
  .opts.done button{cursor:default; background:#f1f4fa; color:#8a96ac; border-color:var(--line);}
  .opts.done button.selected{background:var(--edu-soft); color:var(--edu); border-color:var(--edu); opacity:1;}

  /* 输入框工具按钮 */
  .ai-tools{display:flex; align-items:center; gap:.15rem; padding:.1rem .1rem .1rem .4rem;}
  .ai-tools button{width:2.05rem; height:2.05rem; border:0; background:transparent; color:#7a8699; border-radius:.6rem; display:grid; place-items:center; font-size:1.05rem; cursor:pointer;}
  .ai-tools button:active{background:#eef2fa; color:var(--edu);}
  .ai-tools .tool-send{margin-left:.15rem; background:linear-gradient(135deg,#4968ed,#6680f2); color:#fff; box-shadow:0 .3rem .8rem rgba(73,104,237,.3);}
  .ai-tools .tool-send:active{transform:translateY(.04rem);}
  .ai-tools .recording{color:#e0564b !important; animation:pulseRed 1s infinite;}
  @keyframes pulseRed{0%,100%{background:rgba(224,86,75,.08);} 50%{background:rgba(224,86,75,.2);}}

  /* 学生/学科切换面板 */
  .profile-sheet{position:absolute; left:0; right:0; bottom:0; z-index:25; background:#fff; border-radius:1rem 1rem 0 0; box-shadow:0 -.4rem 1.4rem rgba(25,34,58,.15); transform:translateY(105%); transition:transform .25s ease; padding:.9rem 1rem 1.2rem;}
  .profile-sheet.show{transform:translateY(0);}
  .profile-sheet .ps-head{display:flex; align-items:center; margin-bottom:.6rem;}
  .profile-sheet .ps-head b{font-size:.84rem;} .profile-sheet .ps-head span{font-size:.6rem; color:var(--muted);}
  .profile-sheet .ps-close{margin-left:auto; width:1.8rem; height:1.8rem; border:0; background:#f0f3f9; color:#7a8699; border-radius:.6rem; font-size:.95rem;}
  .profile-sheet .ps-label{font-size:.6rem; font-weight:800; color:var(--muted); margin:.55rem 0 .35rem;}
  .profile-sheet .ps-grid{display:flex; flex-wrap:wrap; gap:.4rem;}
  .profile-sheet .ps-opt{display:inline-flex; align-items:center; gap:.3rem; border:1px solid var(--line); background:#f6f8fb; color:#3f4a63; border-radius:1rem; padding:.4rem .75rem; font-size:.68rem; font-weight:700; cursor:pointer; font:inherit;}
  .profile-sheet .ps-opt.active{border-color:var(--edu); background:var(--edu-soft); color:var(--edu);}
  #view-ai.active{display:flex; flex-direction:column; height:100%; overflow:hidden; padding-bottom:calc(4.2rem + env(safe-area-inset-bottom));}
  /* AI 页为固定列且内部自带底部输入栏：去掉 screen 为滚动页预留的底部内边距，
     改由 #view-ai 的 padding-bottom 预留 tabbar 高度，使输入框紧贴 tabbar 上沿，无空隙 */
  .screen:has(#view-ai.active){padding-bottom:0;}
  .ai-top{display:flex; align-items:center; gap:.55rem; padding:.85rem 1.1rem; background:rgba(244,246,250,.9); backdrop-filter:blur(.4rem); border-bottom:1px solid var(--line);}
  .ai-top b{font-size:.84rem;}
  .ai-top span{display:block; font-size:.58rem; color:var(--muted); margin-top:.05rem;}
  .ai-top .icon-btn{margin-left:0;}
  .ai-top .icon-btn.ai-right{margin-left:auto;}

  /* AI 会话列表抽屉（左侧，主流 IM/AI 助手风格） */
  #view-ai{position:relative;}
  .conv-mask{position:absolute; inset:0; z-index:19; background:rgba(15,23,42,.36); backdrop-filter:blur(.12rem); opacity:0; pointer-events:none; transition:opacity .25s;}
  .conv-mask.show{opacity:1; pointer-events:auto;}
  .conv-drawer{position:absolute; top:0; left:0; bottom:0; z-index:20; width:82%; max-width:19.5rem; background:linear-gradient(180deg,#fbfcfe 0%, #f4f6fb 100%); border-right:1px solid #e6ebf3; box-shadow:.6rem 0 1.8rem rgba(25,34,58,.16); transform:translateX(-102%); transition:transform .28s cubic-bezier(.22,.61,.36,1); display:flex; flex-direction:column;}
  .conv-drawer.show{transform:translateX(0);}

  .conv-head{display:flex; align-items:center; gap:.55rem; padding:.9rem 1rem .8rem;}
  .conv-head .ch-title{display:flex; align-items:center; gap:.45rem; font-size:.92rem; font-weight:800; color:#1c2740;}
  .conv-head .ch-title iconify-icon{color:var(--navy); font-size:1.05rem;}
  .conv-head .ch-count{font-size:.58rem; font-weight:700; color:var(--muted); background:#eef1f7; padding:.12rem .42rem; border-radius:1rem;}
  .conv-head .icon-btn{margin-left:auto; width:1.85rem; height:1.85rem; border-radius:.6rem; font-size:.95rem; color:#7a8699; background:transparent;}
  .conv-head .icon-btn:active{background:#e7ecf4; color:#1c2740;}

  .conv-search{margin:0 .9rem .5rem; display:flex; align-items:center; gap:.4rem; background:#fff; border:1px solid #e6ebf3; border-radius:.75rem; padding:.5rem .65rem; box-shadow:0 .15rem .4rem rgba(30,45,80,.04);}
  .conv-search iconify-icon{color:#9aa6ba; font-size:.95rem; flex:0 0 auto;}
  .conv-search input{flex:1; border:0; outline:none; background:transparent; font-size:.72rem; color:#1c2740; min-width:0;}
  .conv-search input::placeholder{color:#aab4c5;}

  .conv-new{margin:.2rem .9rem .6rem; display:flex; align-items:center; justify-content:center; gap:.4rem; background:linear-gradient(135deg,#4968ed,#6680f2); color:#fff; border:0; border-radius:.8rem; padding:.7rem; font-size:.74rem; font-weight:800; cursor:pointer; box-shadow:0 .35rem .9rem rgba(73,104,237,.32); letter-spacing:.02em;}
  .conv-new iconify-icon{font-size:1rem;}
  .conv-new:active{transform:translateY(.04rem); box-shadow:0 .2rem .6rem rgba(73,104,237,.28);}

  .conv-list{flex:1; overflow-y:auto; padding:.2rem .7rem .6rem; scrollbar-width:thin; scrollbar-color:#d6dce8 transparent;}
  .conv-list::-webkit-scrollbar{width:.25rem;}
  .conv-list::-webkit-scrollbar-thumb{background:#d6dce8; border-radius:.2rem;}
  .conv-group{display:flex; align-items:center; gap:.4rem; font-size:.58rem; font-weight:800; color:#8a96ab; letter-spacing:.04em; padding:.65rem .5rem .35rem; text-transform:uppercase;}
  .conv-group::after{content:""; flex:1; height:1px; background:linear-gradient(90deg,#e2e7f0, transparent);}

  .conv-item{position:relative; display:flex; align-items:flex-start; gap:.6rem; width:100%; text-align:left; border:1px solid transparent; background:transparent; border-radius:.85rem; padding:.62rem .55rem; margin-bottom:.18rem; cursor:pointer; font:inherit; color:inherit; transition:background .15s, border-color .15s, transform .1s;}
  .conv-item:active{transform:scale(.99);}
  .conv-item:hover{background:#f1f4fa;}
  .conv-item.active{background:#fff; border-color:#dce3f5; box-shadow:0 .25rem .7rem rgba(40,60,120,.08);}
  .conv-item.active::before{content:""; position:absolute; right:-.05rem; top:50%; transform:translateY(-50%); width:.18rem; height:1.1rem; border-radius:.12rem; background:var(--hf);}
  .conv-item[data-type="education"].active::before{background:var(--edu);}
  .conv-item[data-type="medical"].active::before{background:var(--med);}
  .conv-item[data-type="legal"].active::before{background:var(--law);}

  .conv-item .cv-ico{width:2.05rem; height:2.05rem; flex:0 0 auto; border-radius:.7rem; display:grid; place-items:center; font-size:1.02rem; background:var(--edu-soft); color:var(--edu); box-shadow:inset 0 0 0 1px rgba(99,102,241,.08);}
  .conv-item[data-type="medical"] .cv-ico{background:var(--med-soft); color:var(--med); box-shadow:inset 0 0 0 1px rgba(20,184,166,.1);}
  .conv-item[data-type="legal"] .cv-ico{background:var(--law-soft); color:var(--law); box-shadow:inset 0 0 0 1px rgba(245,158,11,.1);}
  .conv-item[data-type="general"] .cv-ico{background:#eef1fb; color:var(--navy);}

  .conv-item .cv-main{flex:1; min-width:0; padding-top:.08rem;}
  .conv-item .cv-top{display:flex; align-items:center; gap:.4rem;}
  .conv-item .cv-top b{font-size:.76rem; font-weight:700; color:#22304d; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; flex:1; min-width:0;}
  .conv-item .cv-tag{flex:0 0 auto; font-size:.54rem; font-weight:700; padding:.08rem .36rem; border-radius:1rem; background:var(--edu-soft); color:var(--edu);}
  .conv-item[data-type="medical"] .cv-tag{background:var(--med-soft); color:var(--med);}
  .conv-item[data-type="legal"] .cv-tag{background:var(--law-soft); color:var(--law);}
  .conv-item[data-type="general"] .cv-tag{background:#eef1fb; color:var(--navy);}
  .conv-item .cv-sub{display:flex; align-items:center; gap:.35rem; margin-top:.2rem; font-size:.58rem; color:#8a96ab;}
  .conv-item .cv-sub span{white-space:nowrap; overflow:hidden; text-overflow:ellipsis; flex:1; min-width:0;}
  .conv-item .cv-sub time{flex:0 0 auto; font-size:.56rem; color:#aab4c5;}
  .conv-item .cv-acts{display:flex; gap:.1rem; flex:0 0 auto; opacity:0; transition:opacity .15s; padding-top:.15rem;}
  .conv-item:hover .cv-acts, .conv-item.active .cv-acts{opacity:1;}
  .conv-item .cv-acts button{width:1.7rem; height:1.7rem; border:0; background:transparent; color:#9aa6ba; border-radius:.5rem; display:grid; place-items:center; font-size:.88rem; cursor:pointer; transition:all .12s;}
  .conv-item .cv-acts button:hover{background:#eef2fa; color:#1c2740;}
  .conv-item .cv-acts button.cv-del:hover{background:#fdecec; color:#e0564b;}

  .conv-foot{padding:.6rem .9rem .8rem; border-top:1px solid #e6ebf3; background:rgba(255,255,255,.7); display:flex; align-items:center; gap:.55rem;}
  .conv-foot .cf-ava{width:2rem; height:2rem; flex:0 0 auto; border-radius:.65rem; background:linear-gradient(135deg,#4968ed,#6680f2); color:#fff; display:grid; place-items:center; font-size:.85rem; font-weight:800;}
  .conv-foot .cf-info{flex:1; min-width:0;}
  .conv-foot .cf-info b{display:block; font-size:.72rem; color:#1c2740;}
  .conv-foot .cf-info span{display:block; font-size:.56rem; color:var(--muted); margin-top:.05rem;}
  .conv-foot .cf-set{width:1.9rem; height:1.9rem; border:0; border-radius:.6rem; background:#f0f3f9; color:#7a8699; display:grid; place-items:center; font-size:1rem; cursor:pointer;}
  .conv-foot .cf-set:active{background:#e4e9f3; color:#1c2740;}

  .conv-empty{padding:2.4rem 1rem; text-align:center; color:var(--muted); font-size:.66rem;}
  .conv-empty iconify-icon{font-size:2rem; color:#cdd5e2; display:block; margin:0 auto .5rem;}

  /* 日历选中日 */
  .cell.selected{border-color:var(--edu); background:#eef1ff;}

  /* 我的 */
  .mine-hero{display:flex; align-items:center; gap:.8rem; padding:1rem; margin:.4rem 1.1rem 0; background:#fff; border:1px solid var(--line); border-radius:var(--r-xl); box-shadow:var(--shadow-soft);}
  .mine-hero .mh-ava{width:3.4rem; height:3.4rem; border-radius:1.1rem; background:var(--hf); color:#fff; display:grid; place-items:center; font-size:1.5rem; font-weight:800; flex:0 0 auto; box-shadow:0 .3rem .7rem rgba(91,91,232,.3);}
  .mine-hero b{font-size:1.1rem;} .mine-hero span{display:block; font-size:.66rem; color:var(--muted); margin-top:.15rem;}

  /* 我的：三大入口卡片 */
  .mine-grid{display:flex; flex-direction:column; gap:.7rem; margin:.7rem 1.1rem 0;}
  .mine-tile{display:flex; align-items:center; gap:.75rem; width:100%; text-align:left; background:#fff; border:1px solid var(--line); border-radius:var(--r-xl); padding:.95rem 1rem; box-shadow:var(--shadow-soft); cursor:pointer; position:relative; overflow:hidden;}
  .mine-tile::before{content:""; position:absolute; left:0; top:0; bottom:0; width:.28rem;}
  .pf-tile-files::before{background:var(--edu);} .pf-tile-msg::before{background:var(--hf);} .pf-tile-mem::before{background:var(--life);}
  .mine-tile .mt-ico{width:2.9rem; height:2.9rem; flex:0 0 auto; border-radius:.9rem; display:grid; place-items:center; font-size:1.45rem;}
  .pf-tile-files .mt-ico{background:var(--edu-soft); color:var(--edu);}
  .pf-tile-msg .mt-ico{background:var(--hf-soft,#eef0ff); color:var(--hf);}
  .pf-tile-mem .mt-ico{background:var(--life-soft); color:var(--life);}
  .mine-tile .mt-main{flex:1; min-width:0;}
  .mine-tile .mt-main b{font-size:.86rem; color:var(--ink);}
  .mine-tile .mt-main p{margin:.12rem 0 0; font-size:.62rem; color:var(--muted);}
  .mine-tile .mt-n{min-width:1.4rem; height:1.4rem; padding:0 .35rem; border-radius:1rem; background:var(--hf); color:#fff; font-size:.66rem; font-weight:800; display:grid; place-items:center;}
  .mine-tile .mt-arrow{color:#c2cad8; font-size:1.1rem;}

  /* ============ 我的子页：文件 / 消息 / 记忆 通用 ============ */
  .pf-search{display:flex; align-items:center; gap:.5rem; margin:.75rem 1.1rem 0; padding:.6rem .8rem; background:#fff; border:1px solid var(--line); border-radius:.9rem; box-shadow:var(--shadow-soft); color:#9aa6ba; font-size:.95rem;}
  .pf-search input{flex:1; border:0; outline:none; background:transparent; font-size:.72rem; color:var(--ink); font-family:inherit;}
  .pf-body{padding:.75rem 1.1rem 0; display:flex; flex-direction:column; gap:.8rem;}
  .pf-empty{text-align:center; color:var(--muted); font-size:.7rem; padding:2.4rem 1rem; background:#fff; border:1px dashed var(--line); border-radius:var(--r-lg);}
  .pf-empty iconify-icon{display:block; font-size:2.1rem; margin:0 auto .6rem; color:#c2cad8;}

  /* 分类卡片 */
  .pf-card{background:#fff; border:1px solid var(--line); border-radius:var(--r-xl); box-shadow:var(--shadow-soft); overflow:hidden;}
  .pf-card-head{display:flex; align-items:center; gap:.55rem; padding:.8rem .95rem; border-bottom:1px solid var(--soft-line);}
  .pf-card-head b{font-size:.82rem; color:var(--ink);}
  .pf-cat-ico{width:2rem; height:2rem; flex:0 0 auto; border-radius:.65rem; display:grid; place-items:center; font-size:1.05rem;}
  .pf-cat-n{margin-left:auto; min-width:1.3rem; height:1.3rem; padding:0 .32rem; border-radius:1rem; background:#f0f3f8; color:#768096; font-size:.6rem; font-weight:800; display:grid; place-items:center;}
  .pf-file-list{padding:.2rem .4rem;}
  .pf-file{display:flex; align-items:center; gap:.6rem; padding:.55rem .55rem; border-radius:.7rem;}
  .pf-file + .pf-file{border-top:1px solid var(--soft-line);}
  .pf-file-ico{width:2.1rem; height:2.1rem; flex:0 0 auto; border-radius:.6rem; background:#f0f3f8; color:#5b6478; display:grid; place-items:center; font-size:1.05rem;}
  .pf-file-main{flex:1; min-width:0;}
  .pf-file-main b{display:block; font-size:.74rem; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .pf-file-main span{display:block; font-size:.58rem; color:var(--muted); margin-top:.12rem;}

  /* 消息管理列表 */
  .pf-msg{display:flex; align-items:center; gap:.65rem; width:100%; text-align:left; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--shadow-soft); padding:.8rem .9rem; cursor:pointer;}
  .pf-msg-ico{width:2.6rem; height:2.6rem; flex:0 0 auto; border-radius:.8rem; background:var(--hf-soft,#eef0ff); color:var(--hf); display:grid; place-items:center; font-size:1.25rem;}
  .pf-msg-main{flex:1; min-width:0;}
  .pf-msg-top{display:flex; align-items:center; gap:.45rem;}
  .pf-msg-top b{font-size:.78rem; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .pf-msg-tag{flex:0 0 auto; font-size:.54rem; font-weight:800; color:var(--hf); background:var(--hf-soft,#eef0ff); border-radius:.4rem; padding:.1rem .35rem;}
  .pf-msg-sub{display:flex; align-items:center; justify-content:space-between; gap:.6rem; margin-top:.2rem;}
  .pf-msg-sub span{font-size:.62rem; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .pf-msg-sub time{flex:0 0 auto; font-size:.56rem; color:#a9b2c2;}
  .pf-msg-arrow{color:#c2cad8; font-size:1rem; flex:0 0 auto;}

  /* 会话详情弹层 */
  .pf-detail-sheet{max-height:78vh; display:flex; flex-direction:column;}
  .pf-detail-body{margin-top:.7rem; overflow-y:auto; display:flex; flex-direction:column; gap:.6rem; padding:.2rem;}
  .pf-detail-body .bubble{display:flex; gap:.5rem; align-items:flex-start;}
  .pf-detail-body .bubble.me{flex-direction:row-reverse;}
  .pf-detail-body .b-ava{width:2rem; height:2rem; flex:0 0 auto; border-radius:.6rem; background:var(--hf); color:#fff; display:grid; place-items:center; font-size:1rem;}
  .pf-detail-body .b-text{max-width:78%; background:#f4f6fb; border-radius:.9rem; padding:.55rem .7rem; font-size:.68rem; line-height:1.55; color:#3f4a63;}
  .pf-detail-body .bubble.me .b-text{background:var(--hf); color:#fff;}
  .pf-det-empty{text-align:center; color:var(--muted); font-size:.68rem; padding:1.6rem 0;}

  /* 记忆管理 */
  .pf-mem-switch{display:flex; align-items:center; gap:.7rem; margin:.75rem 1.1rem 0; background:#fff; border:1px solid var(--line); border-radius:var(--r-xl); box-shadow:var(--shadow-soft); padding:.85rem .95rem;}
  .pf-mem-sw-main{flex:1; min-width:0;}
  .pf-mem-sw-main b{font-size:.82rem; color:var(--ink);}
  .pf-mem-sw-main .pf-mem-on{display:block; font-size:.58rem; color:var(--muted); margin-top:.15rem; line-height:1.5;}
  .pf-mem-paused{display:block; font-size:.62rem; font-weight:700; color:#e8853d; margin-top:.12rem;}
  .pf-mem-add{display:grid; grid-template-columns:1fr 1fr; gap:.6rem; margin:.7rem 1.1rem 0;}
  .pf-mem-add button{display:flex; align-items:center; justify-content:center; gap:.4rem; border:1px dashed var(--hf); background:var(--hf-soft,#eef0ff); color:var(--hf); border-radius:.9rem; padding:.65rem; font-size:.68rem; font-weight:700; cursor:pointer; font-family:inherit;}
  .pf-mem-add button iconify-icon{font-size:.95rem;}
  .pf-mem-card .pf-mem-hint{margin-left:auto; font-size:.56rem; color:var(--muted); font-weight:400;}
  .pf-mem-list{padding:.35rem .55rem .55rem; display:flex; flex-direction:column;}
  .pf-mem-item{display:flex; align-items:flex-start; gap:.55rem; padding:.6rem .4rem; border-radius:.6rem;}
  .pf-mem-item + .pf-mem-item{border-top:1px solid var(--soft-line);}
  .pf-mem-text{flex:1; font-size:.68rem; line-height:1.6; color:#3f4a63;}
  .pf-mem-text em{display:block; font-style:normal; font-size:.54rem; font-weight:800; color:var(--hf); margin-bottom:.1rem;}
  .pf-mem-del{flex:0 0 auto; width:1.7rem; height:1.7rem; border:0; background:#fdecec; color:#e5484d; border-radius:.5rem; display:grid; place-items:center; font-size:.85rem; cursor:pointer;}

  /* ============ 批改试卷（独立页） ============ */
  .eg-topbar{background:linear-gradient(135deg,#3a56d4,#4968ed 78%,#6b85f5);}
  .eg-topbar h1{color:#fff;} .eg-topbar p{color:rgba(225,232,255,.9);}
  .eg-topbar .t-left .mark{background:rgba(255,255,255,.18); box-shadow:none; color:#fff;}
  .eg-stage{display:none;} .eg-stage.active{display:block;}

  /* 上传入口 */
  .eg-hero{position:relative; margin:.5rem 1.1rem 0; padding:1rem 1.1rem; border-radius:1.1rem; color:#fff; overflow:hidden; background:linear-gradient(135deg,#3a56d4,#4968ed 78%,#6b85f5); box-shadow:0 .18rem .5rem rgba(73,104,237,.3);}
  .eg-hero .priv{display:inline-flex; align-items:center; gap:.3rem; font-size:.58rem; font-weight:700; background:rgba(255,255,255,.2); padding:.2rem .5rem; border-radius:1rem;}
  .eg-hero h2{margin:.5rem 0 0; font-size:1.05rem;}
  .eg-hero p{margin:.2rem 0 0; font-size:.66rem; color:rgba(225,232,255,.9);}
  .eg-hero .eg-stats{display:flex; gap:.6rem; margin-top:.8rem;}
  .eg-hero .eg-stats div{flex:1; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.2); border-radius:.7rem; padding:.5rem .6rem;}
  .eg-hero .eg-stats b{font-size:1rem; display:block;} .eg-hero .eg-stats span{font-size:.56rem; color:rgba(225,232,255,.88);}

  .eg-up-tabs{display:flex; gap:.4rem; margin:.9rem 1.1rem 0;}
  .eg-up-tabs button{flex:1; border:1px solid var(--line); background:#fff; border-radius:.7rem; padding:.55rem; font-size:.68rem; font-weight:700; color:#53607a; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:.3rem;}
  .eg-up-tabs button.active{border-color:var(--edu); background:var(--edu-soft); color:var(--edu);}

  .eg-up-zone{margin:.8rem 1.1rem 0; border:2px dashed #9db0f5; background:#f3f6ff; border-radius:1rem; padding:1.8rem 1rem; text-align:center; cursor:pointer;}
  .eg-up-zone:active{background:#eaf0ff;}
  .eg-up-zone .u-ico{font-size:2.2rem; color:var(--edu);}
  .eg-up-zone p{margin:.5rem 0 0; font-size:.78rem; font-weight:700; color:#22304d;}
  .eg-up-zone small{display:block; margin-top:.25rem; font-size:.6rem; color:var(--muted);}
  .eg-up-zone .u-actions{display:flex; gap:.5rem; justify-content:center; margin-top:.8rem;}
  .eg-up-zone .u-btn{display:inline-flex; align-items:center; gap:.3rem; background:var(--edu); color:#fff; border:0; border-radius:.7rem; padding:.5rem .9rem; font-size:.66rem; font-weight:800; cursor:pointer; font:inherit;}
  .eg-up-zone .u-btn.ghost{background:#fff; color:var(--edu); border:1px solid var(--edu);}
  .eg-up-zone .u-btn:active{transform:translateY(.03rem);}

  .eg-tip{display:flex; gap:.5rem; background:#eef1ff; border-radius:.8rem; padding:.65rem .75rem; font-size:.6rem; color:#3a4a8a; line-height:1.55; margin:.8rem 1.1rem 0;}
  .eg-tip iconify-icon{color:var(--edu); font-size:.9rem; flex:0 0 auto;}

  .eg-recent{padding:.9rem 1.1rem 0;}
  .eg-recent h3{margin:0 0 .5rem; font-size:.74rem; color:var(--navy); display:flex; align-items:center; gap:.35rem;}
  .eg-recent h3 span{margin-left:auto; font-size:.58rem; color:var(--muted); font-weight:500;}

  /* 文件行（复用 .lc-file 风格，蓝色版） */
  .eg-file{display:flex; align-items:center; gap:.6rem; border:1px solid var(--line); background:#fff; border-radius:.9rem; padding:.7rem .8rem; box-shadow:var(--shadow-soft); text-align:left; width:100%; cursor:pointer; margin-bottom:.5rem;}
  .eg-file .f-ico{width:2.3rem; height:2.3rem; flex:0 0 auto; border-radius:.7rem; display:grid; place-items:center; font-size:1.1rem; background:var(--edu-soft); color:var(--edu);}
  .eg-file .f-main{flex:1; min-width:0;}
  .eg-file .f-main b{display:block; font-size:.74rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:#22304d;}
  .eg-file .f-main span{display:block; font-size:.58rem; color:var(--muted); margin-top:.16rem;}
  .eg-file .f-right{flex:0 0 auto; text-align:right;}
  .eg-file .f-score{font-size:.86rem; font-weight:800; color:var(--edu);}
  .eg-file .f-score.full{color:#138c78;} .eg-file .f-score.low{color:#c0392b;}
  .eg-file .f-meta{font-size:.54rem; color:var(--muted); margin-top:.15rem;}

  /* 进度条页 */
  .eg-prog-card{margin:.9rem 1.1rem 0; background:#fff; border:1px solid var(--line); border-radius:1rem; padding:1rem; box-shadow:var(--shadow-soft);}
  .eg-prog-card .ep-head{display:flex; align-items:center; gap:.5rem;}
  .eg-prog-card .ep-ico{width:2.3rem; height:2.3rem; border-radius:.7rem; background:var(--edu-soft); color:var(--edu); display:grid; place-items:center; font-size:1.15rem; flex:0 0 auto;}
  .eg-prog-card .ep-head b{font-size:.82rem; color:#22304d; display:block;}
  .eg-prog-card .ep-head span{font-size:.6rem; color:var(--muted);}
  .eg-bar{height:.42rem; background:#e4eaff; border-radius:1rem; overflow:hidden; margin:.8rem 0 .3rem;}
  .eg-bar i{display:block; height:100%; width:0; background:linear-gradient(90deg,#4968ed,#7a8ef7); border-radius:1rem; transition:width .25s ease;}
  .eg-bar-pct{font-size:.6rem; color:var(--muted); text-align:right;}
  .eg-file-line{display:flex; align-items:center; gap:.55rem; margin-top:.8rem; padding-top:.8rem; border-top:1px dashed var(--line);}
  .eg-file-line .fl-ico{width:1.9rem; height:1.9rem; border-radius:.55rem; background:var(--edu-soft); color:var(--edu); display:grid; place-items:center; font-size:.95rem; flex:0 0 auto;}
  .eg-file-line b{font-size:.68rem; color:#22304d; display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .eg-file-line span{font-size:.56rem; color:var(--muted);}
  .eg-file-line .fl-st{margin-left:auto; font-size:.58rem; font-weight:700; color:var(--edu); display:inline-flex; align-items:center; gap:.2rem;}
  .eg-steps{margin:.9rem 1.1rem 0;}

  /* 流式批改结果 */
  .eg-stream-card{margin:.8rem 1.1rem 0; background:#fff; border:1px solid var(--line); border-radius:1rem; padding:.9rem; box-shadow:var(--shadow-soft);}
  .eg-stream-head{display:flex; align-items:center; gap:.5rem; padding-bottom:.7rem; border-bottom:1px solid var(--line);}
  .eg-stream-head .esh-ico{width:2.1rem; height:2.1rem; border-radius:.65rem; background:var(--edu-soft); color:var(--edu); display:grid; place-items:center; font-size:1.05rem; flex:0 0 auto;}
  .eg-stream-head b{font-size:.8rem; color:#22304d; display:block;}
  .eg-stream-head span{font-size:.58rem; color:var(--muted);}
  .eg-stream-head .esh-live{margin-left:auto; display:inline-flex; align-items:center; gap:.25rem; font-size:.56rem; font-weight:700; color:var(--edu); background:var(--edu-soft); padding:.2rem .5rem; border-radius:1rem;}
  .eg-stream-head .esh-live::before{content:''; width:.36rem; height:.36rem; border-radius:50%; background:var(--edu); animation:pulse 1.1s infinite;}
  .eg-q-list{margin-top:.3rem;}
  .eg-q{display:flex; gap:.55rem; padding:.65rem 0; border-bottom:1px dashed var(--soft-line);}
  .eg-q:last-child{border-bottom:0;}
  .eg-q .eq-no{flex:0 0 auto; width:1.5rem; height:1.5rem; border-radius:50%; background:var(--edu-soft); color:var(--edu); font-size:.64rem; font-weight:800; display:grid; place-items:center;}
  .eg-q.ok .eq-no{background:#dceee5; color:#138c78;}
  .eg-q.bad .eq-no{background:#fde3da; color:#c0392b;}
  .eg-q.half .eq-no{background:#fdeecf; color:#b87429;}
  .eg-q .eq-body{flex:1; min-width:0;}
  .eg-q .eq-q{font-size:.66rem; color:#22304d; line-height:1.55;}
  .eg-q .eq-ans{display:flex; gap:.6rem; flex-wrap:wrap; margin-top:.3rem; font-size:.6rem;}
  .eg-q .eq-ans span{display:inline-flex; align-items:center; gap:.22rem; color:var(--muted);}
  .eg-q .eq-ans b{font-weight:700;}
  .eg-q .eq-ans .right b{color:#138c78;} .eg-q .eq-ans .wrong b{color:#c0392b;}
  .eg-q .eq-tag{display:inline-flex; align-items:center; gap:.22rem; font-size:.54rem; font-weight:700; padding:.14rem .42rem; border-radius:1rem; margin-top:.35rem;}
  .eg-q.ok .eq-tag{background:#dceee5; color:#138c78;}
  .eg-q.bad .eq-tag{background:#fde3da; color:#c0392b;}
  .eg-q.half .eq-tag{background:#fdeecf; color:#b87429;}
  .eg-q .eq-reason{margin-top:.3rem; font-size:.58rem; color:#53607a; line-height:1.55; background:#fafbff; border-radius:.5rem; padding:.4rem .5rem;}
  .eg-q .eq-reason iconify-icon{color:var(--edu);}
  .eg-stream-foot{margin:.7rem 1.1rem 0; display:flex; gap:.5rem;}
  .eg-stream-foot button{flex:1; display:inline-flex; align-items:center; justify-content:center; gap:.3rem; border:1px solid var(--edu); background:#fff; color:var(--edu); border-radius:.7rem; padding:.55rem; font-size:.66rem; font-weight:800; cursor:pointer; font:inherit;}
  .eg-stream-foot button.primary{background:var(--edu); color:#fff;}
  .eg-stream-foot button:disabled{opacity:.5; cursor:not-allowed;}

  /* 统计结果 */
  .eg-score-card{margin:.7rem 1.1rem 0; background:linear-gradient(135deg,#3a56d4,#4968ed 78%,#6b85f5); border-radius:1.1rem; padding:1.1rem; color:#fff; box-shadow:0 .18rem .5rem rgba(73,104,237,.3); position:relative; overflow:hidden;}
  .eg-score-card::after{content:''; position:absolute; right:-2rem; top:-2rem; width:7rem; height:7rem; border-radius:50%; background:rgba(255,255,255,.08);}
  .eg-score-card .esc-top{display:flex; align-items:center; gap:.9rem; position:relative; z-index:1;}
  .eg-score-ring{width:5.2rem; height:5.2rem; border-radius:50%; background:conic-gradient(#fff 0deg, rgba(255,255,255,.2) 0deg); display:grid; place-items:center; flex:0 0 auto; position:relative;}
  .eg-score-ring::before{content:''; position:absolute; inset:.38rem; border-radius:50%; background:linear-gradient(135deg,#3a56d4,#4968ed);}
  .eg-score-ring b{position:relative; z-index:1; font-size:1.5rem; font-weight:800;}
  .eg-score-ring small{position:relative; z-index:1; font-size:.56rem; color:rgba(225,232,255,.85); display:block; text-align:center; margin-top:-.1rem;}
  .eg-score-info{flex:1;}
  .eg-score-info .esc-label{font-size:.6rem; color:rgba(225,232,255,.85); font-weight:700;}
  .eg-score-info h2{margin:.15rem 0 0; font-size:1.6rem; font-weight:800; line-height:1;}
  .eg-score-info h2 small{font-size:.72rem; font-weight:600; color:rgba(225,232,255,.85);}
  .eg-score-info .esc-sub{margin-top:.3rem; font-size:.6rem; color:rgba(225,232,255,.9);}
  .eg-score-meta{display:flex; gap:.5rem; margin-top:.8rem; position:relative; z-index:1;}
  .eg-score-meta div{flex:1; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.2); border-radius:.65rem; padding:.45rem .5rem; text-align:center;}
  .eg-score-meta b{font-size:.86rem; display:block;} .eg-score-meta span{font-size:.52rem; color:rgba(225,232,255,.85);}

  .eg-stat-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:.55rem; padding:.8rem 1.1rem 0;}
  .eg-stat{background:#fff; border:1px solid var(--line); border-radius:.9rem; padding:.7rem .4rem; text-align:center; box-shadow:var(--shadow-soft);}
  .eg-stat .es-num{font-size:1.3rem; font-weight:800; line-height:1;}
  .eg-stat.ok .es-num{color:#138c78;} .eg-stat.bad .es-num{color:#c0392b;} .eg-stat.rate .es-num{color:var(--edu);}
  .eg-stat .es-lbl{font-size:.56rem; color:var(--muted); margin-top:.3rem;}

  .eg-sec{padding:.8rem 1.1rem 0;}
  .eg-sec h3{margin:0 0 .5rem; font-size:.74rem; color:var(--navy); display:flex; align-items:center; gap:.35rem;}
  .eg-sec h3 .cnt{margin-left:auto; font-size:.56rem; font-weight:700; color:#fff; background:var(--edu); padding:.12rem .45rem; border-radius:1rem;}
  .eg-sec h3.ok .cnt{background:#138c78;} .eg-sec h3.bad .cnt{background:#c0392b;}

  .eg-mini-q{background:#fff; border:1px solid var(--line); border-radius:.85rem; padding:.6rem .7rem; margin-bottom:.45rem; box-shadow:var(--shadow-soft); display:flex; gap:.5rem; align-items:flex-start;}
  .eg-mini-q .mq-no{flex:0 0 auto; width:1.3rem; height:1.3rem; border-radius:50%; font-size:.58rem; font-weight:800; display:grid; place-items:center;}
  .eg-mini-q.ok .mq-no{background:#dceee5; color:#138c78;}
  .eg-mini-q.bad .mq-no{background:#fde3da; color:#c0392b;}
  .eg-mini-q.half .mq-no{background:#fdeecf; color:#b87429;}
  .eg-mini-q .mq-body{flex:1; min-width:0;}
  .eg-mini-q .mq-q{font-size:.62rem; color:#22304d; line-height:1.5;}
  .eg-mini-q .mq-ans{display:flex; gap:.6rem; flex-wrap:wrap; margin-top:.2rem; font-size:.56rem; color:var(--muted);}
  .eg-mini-q .mq-ans b{font-weight:700;}
  .eg-mini-q .mq-ans .right b{color:#138c78;} .eg-mini-q .mq-ans .wrong b{color:#c0392b;}
  .eg-mini-q .mq-pts{margin-left:auto; font-size:.6rem; font-weight:800; white-space:nowrap;}
  .eg-mini-q.ok .mq-pts{color:#138c78;} .eg-mini-q.bad .mq-pts{color:#c0392b;} .eg-mini-q.half .mq-pts{color:#b87429;}


  .eg-actions{display:flex; gap:.5rem; padding:1rem 1.1rem 1.4rem;}
  .eg-actions button{flex:1; display:inline-flex; align-items:center; justify-content:center; gap:.3rem; border:1px solid var(--edu); background:#fff; color:var(--edu); border-radius:.75rem; padding:.6rem; font-size:.66rem; font-weight:800; cursor:pointer; font:inherit;}
  .eg-actions button.primary{background:var(--edu); color:#fff;}
  .eg-actions button:active{transform:translateY(.03rem);}
  .eg-caret{display:inline-block; width:.45rem; height:.7rem; border-right:2px solid var(--edu); animation:blink 0.9s steps(1) infinite; margin-left:2px; vertical-align:middle;}
  @keyframes blink{50%{opacity:0;}}

  /* 批改记录列表页 */
  .eg-subject-wrap{padding:.65rem 1.1rem 0;}
  .eg-subject-head{display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin-bottom:.5rem;}
  .eg-subject-head h3{display:flex; align-items:center; gap:.35rem; margin:0; font-size:.74rem; color:var(--navy);}
  .eg-subject-head h3 iconify-icon{color:var(--edu);}
  .eg-subject-actions{display:flex; align-items:center; gap:.45rem;}
  .eg-subject-actions>span{font-size:.52rem; color:var(--muted);}
  .eg-grade-icon{width:1.9rem; height:1.9rem; flex:0 0 auto; display:grid; place-items:center; border:0; border-radius:.6rem; background:linear-gradient(135deg,#4968ed,#6680f2); color:#fff; font-size:.9rem; cursor:pointer; box-shadow:0 .12rem .32rem rgba(73,104,237,.28);}
  .eg-grade-icon:active{transform:scale(.96); box-shadow:0 .06rem .18rem rgba(73,104,237,.22);}
  .eg-subject-cards{display:grid; grid-template-columns:repeat(2,1fr); gap:.5rem;}
  .eg-sub-card{position:relative; overflow:hidden; display:flex; align-items:center; gap:.5rem; min-width:0; padding:.65rem; border:1px solid var(--line); border-radius:.9rem; background:#fff; box-shadow:var(--shadow-soft); text-align:left; font:inherit; cursor:pointer;}
  .eg-sub-card.active{border-color:var(--edu); background:#f5f7ff; box-shadow:0 .08rem .28rem rgba(73,104,237,.14);}
  .eg-sub-card .sc-ico{width:2rem; height:2rem; flex:0 0 auto; display:grid; place-items:center; border-radius:.62rem; background:var(--edu-soft); color:var(--edu); font-size:.95rem;}
  .eg-sub-card.chinese .sc-ico{background:#fff1e7;color:#cf6b2c;} .eg-sub-card.english .sc-ico{background:#edf8f4;color:#138c78;} .eg-sub-card.science .sc-ico{background:#f3edff;color:#7457d5;}
  .eg-sub-card .sc-main{flex:1; min-width:0;}
  .eg-sub-card .sc-title{display:flex; align-items:center; justify-content:space-between; gap:.3rem; font-size:.62rem; color:#22304d; font-weight:800;}
  .eg-sub-card .sc-title span{font-size:.48rem; color:var(--muted); font-weight:500;}
  .eg-sub-card .sc-score{margin-top:.18rem; font-size:1rem; line-height:1; font-weight:800; color:var(--navy);}
  .eg-sub-card .sc-score small{font-size:.48rem; color:var(--muted); font-weight:500;}
  .eg-sub-card .sc-foot{display:flex; justify-content:space-between; gap:.3rem; margin-top:.2rem; font-size:.48rem; color:var(--muted);}
  .eg-sub-card .sc-foot b{color:#138c78;}
  .eg-subject-tabs{display:flex; gap:.38rem; padding:.65rem 0 .05rem; overflow-x:auto; scrollbar-width:none;}
  .eg-subject-tabs::-webkit-scrollbar{display:none;}
  .eg-subject-tabs button{flex:0 0 auto; border:1px solid var(--line); background:#fff; color:#657089; border-radius:1rem; padding:.34rem .68rem; font:inherit; font-size:.58rem; font-weight:700; cursor:pointer;}
  .eg-subject-tabs button.active{border-color:var(--edu); background:var(--edu); color:#fff;}

  .eg-list-sec{padding:.72rem 1.1rem 0;}
  .eg-list-sec h3{margin:0 0 .5rem; font-size:.74rem; color:var(--navy); display:flex; align-items:center; gap:.35rem;}
  .eg-list-sec h3 #egListCnt{margin-left:auto; font-size:.56rem; color:var(--muted); font-weight:500;}
  .eg-list-sec h3 .eg-record-label{font-size:.74rem; color:var(--navy); font-weight:800;}
  .eg-rec{display:flex; align-items:center; gap:.6rem; border:1px solid var(--line); background:#fff; border-radius:.95rem; padding:.7rem .8rem; box-shadow:var(--shadow-soft); width:100%; text-align:left; cursor:pointer; margin-bottom:.5rem; font:inherit;}
  .eg-rec:active{background:#fafbff;}
  .eg-rec .r-ico{width:2.4rem; height:2.4rem; flex:0 0 auto; border-radius:.75rem; display:grid; place-items:center; font-size:1.15rem; background:var(--edu-soft); color:var(--edu);}
  .eg-rec .r-main{flex:1; min-width:0;}
  .eg-rec .r-main b{display:block; font-size:.72rem; color:#22304d; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .eg-rec .r-meta{display:flex; align-items:center; gap:.4rem; margin-top:.2rem; font-size:.55rem; color:var(--muted); flex-wrap:wrap;}
  .eg-rec .r-meta .tag{display:inline-flex; align-items:center; gap:.18rem; padding:.08rem .35rem; border-radius:1rem; background:#f0f3fa; color:#53607a; font-weight:700;}
  .eg-rec .r-meta .tag.ok{background:#dceee5; color:#138c78;}
  .eg-rec .r-meta .tag.low{background:#fde3da; color:#c0392b;}
  .eg-rec .r-score{flex:0 0 auto; text-align:right;}
  .eg-rec .r-score b{font-size:1rem; font-weight:800; color:var(--edu); line-height:1;}
  .eg-rec .r-score b.full{color:#138c78;} .eg-rec .r-score b.low{color:#c0392b;}
  .eg-rec .r-score span{display:block; font-size:.5rem; color:var(--muted); margin-top:.15rem;}

  .eg-record-group{margin-bottom:.65rem;}
  .eg-record-group-head{display:flex; align-items:center; gap:.35rem; margin:.15rem 0 .4rem; padding:0 .1rem; font-size:.62rem; color:#3f4a63; font-weight:800;}
  .eg-record-group-head iconify-icon{color:var(--edu);}
  .eg-record-group-head span{margin-left:auto; font-size:.5rem; color:var(--muted); font-weight:500;}
  .eg-rec .subject-tag{background:#eef1ff; color:var(--edu);}
  .eg-detect{display:flex; align-items:center; gap:.55rem; margin:.7rem 1.1rem 0; padding:.65rem .72rem; border:1px solid #dce4ff; border-radius:.85rem; background:#f3f6ff;}
  .eg-detect .dt-ico{width:2rem; height:2rem; flex:0 0 auto; display:grid; place-items:center; border-radius:.62rem; background:var(--edu); color:#fff; font-size:.95rem;}
  .eg-detect .dt-main{flex:1; min-width:0;}
  .eg-detect .dt-main b{display:block; font-size:.66rem; color:#22304d;}
  .eg-detect .dt-main span{display:block; margin-top:.12rem; font-size:.52rem; color:var(--muted);}
  .eg-detect .dt-tag{flex:0 0 auto; padding:.14rem .4rem; border-radius:1rem; background:#e5eaff; color:var(--edu); font-size:.5rem; font-weight:800;}
  .eg-detect.done{border-color:#d5ebe2; background:#eef9f5;}
  .eg-detect.done .dt-ico{background:#138c78;} .eg-detect.done .dt-tag{background:#dceee5;color:#138c78;}

  /* ============ 医疗健康中心（独立页，青绿主题） ============ */
  .mh-topbar{background:linear-gradient(135deg,#4a4ac9,#5b5be8 78%,#7676f0);}
  .mh-topbar h1{color:#fff;} .mh-topbar p{color:rgba(230,230,255,.9);}
  .mh-topbar .t-left .mark{background:rgba(255,255,255,.18); box-shadow:none; color:#fff;}
  .mh-stage{display:none;} .mh-stage.active{display:block;}

  /* 健康总览 hero */
  .mh-hero{margin:.5rem 1.1rem 0; padding:1rem 1.05rem .9rem; border-radius:1.1rem; color:#fff; background:linear-gradient(135deg,#4a4ac9,#5b5be8 78%,#7676f0); box-shadow:0 .18rem .5rem rgba(91,91,232,.28); overflow:hidden; position:relative;}
  .mh-hero::after{content:''; position:absolute; right:-2.2rem; top:-2.2rem; width:7rem; height:7rem; border-radius:50%; background:rgba(255,255,255,.08);}
  .mh-hero .mh-top{display:flex; align-items:flex-start; justify-content:space-between; gap:.6rem; position:relative; z-index:1;}
  .mh-hero .priv{display:inline-flex; align-items:center; gap:.3rem; font-size:.58rem; font-weight:700; background:rgba(255,255,255,.2); padding:.2rem .5rem; border-radius:1rem;}
  .mh-hero h2{margin:.45rem 0 0; font-size:1.02rem;}
  .mh-hero .mh-add{flex:0 0 auto; display:inline-flex; align-items:center; gap:.25rem; background:#fff; color:var(--med); border:0; border-radius:1.4rem; padding:.42rem .7rem; font-size:.62rem; font-weight:800; cursor:pointer; font:inherit; box-shadow:0 .1rem .3rem rgba(60,60,180,.25);}
  .mh-hero .mh-add:active{transform:translateY(.03rem);}
  .mh-hero .mh-vitals{display:flex; gap:.55rem; margin-top:.8rem; position:relative; z-index:1;}
  .mh-hero .mh-vitals div{flex:1; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.2); border-radius:.7rem; padding:.45rem .5rem; text-align:center;}
  .mh-hero .mh-vitals b{font-size:.82rem; display:block; line-height:1.2;} .mh-hero .mh-vitals span{font-size:.52rem; color:rgba(230,230,255,.88);}

  /* 健康档案卡片（首页式） */
  .mh-profile{margin:.9rem 1.1rem 0; background:#fff; border:1px solid var(--line); border-radius:1rem; padding:.9rem; box-shadow:var(--shadow-soft);}
  .mh-profile .mp-head{display:flex; align-items:center; gap:.6rem;}
  .mh-profile .mp-avatar{width:2.6rem; height:2.6rem; border-radius:50%; background:linear-gradient(135deg,#7676f0,#4a4ac9); color:#fff; display:grid; place-items:center; font-size:.9rem; font-weight:800; flex:0 0 auto;}
  .mh-profile .mp-avatar.mom{background:linear-gradient(135deg,#f07aa8,#d4556e);}
  .mh-profile .mp-avatar.dad{background:linear-gradient(135deg,#4a7cf7,#2f5fd4);}
  .mh-profile .mp-avatar.kid{background:linear-gradient(135deg,#f5945b,#e0732b);}
  .mh-profile .mp-info{flex:1;}
  .mh-profile .mp-info b{font-size:.8rem; color:#22304d; display:block;}
  .mh-profile .mp-info span{font-size:.58rem; color:var(--muted);}
  .mh-profile .mp-chip{font-size:.54rem; font-weight:700; padding:.18rem .5rem; border-radius:1rem; background:#e8e8ff; color:#5b5be8;}
  .mh-profile .mp-chip.warn{background:#fdecd2; color:#c97a16;}
  .mh-profile .mp-brief{margin-top:.65rem; background:#f0efff; border-radius:.65rem; padding:.55rem .65rem; font-size:.6rem; color:#4a4a8a; line-height:1.55; display:flex; gap:.4rem;}
  .mh-profile .mp-brief iconify-icon{color:var(--med); font-size:.85rem; flex:0 0 auto;}

  /* 分区标题 */
  .mh-sec{padding:.9rem 1.1rem 0;}
  .mh-sec h3{margin:0 0 .5rem; font-size:.74rem; color:var(--navy); display:flex; align-items:center; gap:.35rem;}
  .mh-sec h3 span{margin-left:auto; font-size:.56rem; color:var(--muted); font-weight:500;}

  /* 快捷功能网格 */
  .mh-quick-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:.5rem; margin:.9rem 1.1rem 0;}
  .mq-item{background:#fff; border:1px solid var(--line); border-radius:.9rem; padding:.65rem .4rem; text-align:center; box-shadow:var(--shadow-soft); cursor:pointer; font:inherit;}
  .mq-item:active{background:#f8f7ff;}
  .mq-item .mq-ico{width:2.2rem; height:2.2rem; margin:0 auto .35rem; border-radius:.7rem; display:grid; place-items:center; font-size:1.05rem; color:#fff;}
  .mq-item .mq-ico.teal{background:linear-gradient(145deg,#7676f0,#4a4ac9);}
  .mq-item .mq-ico.blue{background:linear-gradient(145deg,#7676f0,#4a4ac9);}
  .mq-item .mq-ico.orange{background:linear-gradient(145deg,#f5945b,#e0732b);}
  .mq-item .mq-ico.purple{background:linear-gradient(145deg,#8b7cf0,#6a59d6);}
  .mq-item .mq-ico.red{background:linear-gradient(145deg,#f07a7a,#d85050);}
  .mq-item .mq-ico.green{background:linear-gradient(145deg,#8b8bf5,#5b5be8);}
  .mq-item b{display:block; font-size:.62rem; color:#22304d;}
  .mq-item small{display:block; font-size:.5rem; color:var(--muted); margin-top:.12rem;}

  /* 病历/健康记录列表 */
  .mh-rec{display:flex; align-items:center; gap:.6rem; border:1px solid var(--line); background:#fff; border-radius:.95rem; padding:.7rem .8rem; box-shadow:var(--shadow-soft); width:100%; text-align:left; cursor:pointer; margin-bottom:.5rem; font:inherit;}
  .mh-rec:active{background:#f8f7ff;}
  .mh-rec .r-ico{width:2.4rem; height:2.4rem; flex:0 0 auto; border-radius:.75rem; display:grid; place-items:center; font-size:1.15rem; background:var(--med-soft); color:var(--med);}
  .mh-rec .r-ico.report{background:#eeeaff; color:#5b5be8;}
  .mh-rec .r-ico.rx{background:#fff3e6; color:#e0732b;}
  .mh-rec .r-main{flex:1; min-width:0;}
  .mh-rec .r-main b{display:block; font-size:.72rem; color:#22304d; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .mh-rec .r-meta{display:flex; align-items:center; gap:.4rem; margin-top:.2rem; font-size:.55rem; color:var(--muted); flex-wrap:wrap;}
  .mh-rec .r-meta .tag{display:inline-flex; align-items:center; gap:.18rem; padding:.08rem .35rem; border-radius:1rem; background:#f0efff; color:var(--med); font-weight:700;}
  .mh-rec .r-meta .tag.warn{background:#fff3e6; color:#e0732b;}
  .mh-rec .r-meta .tag.info{background:#eeeaff; color:#5b5be8;}
  .mh-rec .r-go{flex:0 0 auto; font-size:.62rem; font-weight:700; color:var(--med);}

  /* 家庭成员横向滚动 */
  .mh-family{display:flex; gap:.55rem; padding:.1rem 1.1rem .2rem; overflow-x:auto; -webkit-overflow-scrolling:touch;}
  .mh-family::-webkit-scrollbar{display:none;}
  .mf-item{flex:0 0 auto; background:#fff; border:1px solid var(--line); border-radius:.9rem; padding:.6rem .7rem; width:7.6rem; box-shadow:var(--shadow-soft); cursor:pointer; text-align:left; font:inherit;}
  .mf-item.active{border-color:var(--med); background:#f5f4ff;}
  .mf-item .mf-top{display:flex; align-items:center; gap:.4rem;}
  .mf-item .mf-av{width:1.8rem; height:1.8rem; border-radius:50%; display:grid; place-items:center; font-size:.66rem; font-weight:800; color:#fff; flex:0 0 auto;}
  .mf-item .mf-av.me{background:linear-gradient(135deg,#7676f0,#4a4ac9);}
  .mf-item .mf-av.mom{background:linear-gradient(135deg,#f07aa8,#d4556e);}
  .mf-item .mf-av.dad{background:linear-gradient(135deg,#4a7cf7,#2f5fd4);}
  .mf-item .mf-av.kid{background:linear-gradient(135deg,#f5945b,#e0732b);}
  .mf-item b{font-size:.64rem; color:#22304d; display:block;}
  .mf-item small{font-size:.5rem; color:var(--muted);}
  .mf-item .mf-stat{margin-top:.45rem; font-size:.52rem; color:var(--muted); display:flex; justify-content:space-between;}
  .mf-item .mf-stat b{color:var(--med); font-size:.6rem;}

  /* 上传入口 hero（报告解读） */
  .mh-up-hero{position:relative; margin:.5rem 1.1rem 0; padding:1rem 1.1rem; border-radius:1.1rem; color:#fff; overflow:hidden; background:linear-gradient(135deg,#4a4ac9,#5b5be8 78%,#7676f0); box-shadow:0 .18rem .5rem rgba(91,91,232,.28);}
  .mh-up-hero .priv{display:inline-flex; align-items:center; gap:.3rem; font-size:.58rem; font-weight:700; background:rgba(255,255,255,.2); padding:.2rem .5rem; border-radius:1rem;}
  .mh-up-hero h2{margin:.5rem 0 0; font-size:1.05rem;}
  .mh-up-hero p{margin:.2rem 0 0; font-size:.66rem; color:rgba(230,230,255,.9);}

  .mh-up-tabs{display:flex; gap:.4rem; margin:.9rem 1.1rem 0;}
  .mh-up-tabs button{flex:1; border:1px solid var(--line); background:#fff; border-radius:.7rem; padding:.55rem; font-size:.68rem; font-weight:700; color:#53607a; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:.3rem; font:inherit;}
  .mh-up-tabs button.active{border-color:var(--med); background:var(--med-soft); color:var(--med);}

  .mh-up-zone{margin:1rem 1.1rem 0; border:2px dashed #b8b5f5; background:#f4f2ff; border-radius:1rem; padding:1.8rem 1rem; text-align:center; cursor:pointer;}
  .mh-up-zone:active{background:#ebeaff;}
  .mh-up-zone .u-ico{font-size:2.2rem; color:var(--med);}
  .mh-up-zone p{margin:.5rem 0 0; font-size:.78rem; font-weight:700; color:#22304d;}
  .mh-up-zone small{display:block; margin-top:.25rem; font-size:.6rem; color:var(--muted);}
  .mh-up-zone .u-actions{display:flex; gap:.5rem; justify-content:center; margin-top:.8rem;}
  .mh-up-zone .u-btn{display:inline-flex; align-items:center; gap:.3rem; background:var(--med); color:#fff; border:0; border-radius:.7rem; padding:.5rem .9rem; font-size:.66rem; font-weight:800; cursor:pointer; font:inherit;}
  .mh-up-zone .u-btn.ghost{background:#fff; color:var(--med); border:1px solid var(--med);}
  .mh-up-zone .u-btn:active{transform:translateY(.03rem);}

  .mh-tip{display:flex; gap:.5rem; background:#f0efff; border-radius:.8rem; padding:.65rem .75rem; font-size:.6rem; color:#4a4a8a; line-height:1.55; margin:.8rem 1.1rem 0;}
  .mh-tip iconify-icon{color:var(--med); font-size:.9rem; flex:0 0 auto;}

  /* 进度卡片 */
  .mh-prog-card{margin:.9rem 1.1rem 0; background:#fff; border:1px solid var(--line); border-radius:1rem; padding:1rem; box-shadow:var(--shadow-soft);}
  .mh-prog-card .ep-head{display:flex; align-items:center; gap:.5rem;}
  .mh-prog-card .ep-ico{width:2.3rem; height:2.3rem; border-radius:.7rem; background:var(--med-soft); color:var(--med); display:grid; place-items:center; font-size:1.15rem; flex:0 0 auto;}
  .mh-prog-card .ep-head b{font-size:.82rem; color:#22304d; display:block;}
  .mh-prog-card .ep-head span{font-size:.6rem; color:var(--muted);}
  .mh-bar{height:.42rem; background:#e0e0ff; border-radius:1rem; overflow:hidden; margin:.8rem 0 .3rem;}
  .mh-bar i{display:block; height:100%; width:0; background:linear-gradient(90deg,#5b5be8,#7676f0); border-radius:1rem; transition:width .25s ease;}
  .mh-bar-pct{font-size:.6rem; color:var(--muted); text-align:right;}
  .mh-file-line{display:flex; align-items:center; gap:.55rem; margin-top:.8rem; padding-top:.8rem; border-top:1px dashed var(--line);}
  .mh-file-line .fl-ico{width:1.9rem; height:1.9rem; border-radius:.55rem; background:var(--med-soft); color:var(--med); display:grid; place-items:center; font-size:.95rem; flex:0 0 auto;}
  .mh-file-line b{font-size:.68rem; color:#22304d; display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .mh-file-line span{font-size:.56rem; color:var(--muted);}
  .mh-file-line .fl-st{margin-left:auto; font-size:.58rem; font-weight:700; color:var(--med); display:inline-flex; align-items:center; gap:.2rem;}
  .mh-steps{margin:.9rem 1.1rem 0;}
  .mh-steps .prog .p-step.done .p-ico{background:var(--med-soft); color:var(--med);}
  .mh-steps .prog .p-step.active .p-ico{background:var(--med); color:#fff;}
  .mh-steps .prog .p-step.active{color:var(--med);}

  /* 流式分析 */
  .mh-stream-card{margin:.8rem 1.1rem 0; background:#fff; border:1px solid var(--line); border-radius:1rem; padding:.9rem; box-shadow:var(--shadow-soft);}
  .mh-stream-head{display:flex; align-items:center; gap:.5rem; padding-bottom:.7rem; border-bottom:1px solid var(--line);}
  .mh-stream-head .esh-ico{width:2.1rem; height:2.1rem; border-radius:.65rem; background:var(--med-soft); color:var(--med); display:grid; place-items:center; font-size:1.05rem; flex:0 0 auto;}
  .mh-stream-head b{font-size:.8rem; color:#22304d; display:block;}
  .mh-stream-head span{font-size:.58rem; color:var(--muted);}
  .mh-stream-head .esh-live{margin-left:auto; display:inline-flex; align-items:center; gap:.25rem; font-size:.56rem; font-weight:700; color:var(--med); background:var(--med-soft); padding:.2rem .5rem; border-radius:1rem;}
  .mh-stream-head .esh-live::before{content:''; width:.36rem; height:.36rem; border-radius:50%; background:var(--med); animation:pulse 1.1s infinite;}
  .mh-finding{display:flex; gap:.55rem; padding:.65rem 0; border-bottom:1px dashed var(--soft-line);}
  .mh-finding:last-child{border-bottom:0;}
  .mh-finding .mf-no{flex:0 0 auto; width:1.5rem; height:1.5rem; border-radius:50%; background:var(--med-soft); color:var(--med); font-size:.64rem; font-weight:800; display:grid; place-items:center;}
  .mh-finding.ok .mf-no{background:#e8e8ff; color:#5b5be8;}
  .mh-finding.warn .mf-no{background:#fff3e6; color:#e0732b;}
  .mh-finding.bad .mf-no{background:#fde3da; color:#c0392b;}
  .mh-finding .mf-body{flex:1; min-width:0;}
  .mh-finding .mf-name{font-size:.66rem; color:#22304d; line-height:1.5; font-weight:700;}
  .mh-finding .mf-vals{display:flex; gap:.6rem; flex-wrap:wrap; margin-top:.25rem; font-size:.58rem;}
  .mh-finding .mf-vals span{display:inline-flex; align-items:center; gap:.22rem; color:var(--muted);}
  .mh-finding .mf-vals b{font-weight:700;}
  .mh-finding .mf-vals .normal b{color:#5b5be8;} .mh-finding .mf-vals .abnormal b{color:#c0392b;}
  .mh-finding .mf-tag{display:inline-flex; align-items:center; gap:.22rem; font-size:.54rem; font-weight:700; padding:.14rem .42rem; border-radius:1rem; margin-top:.35rem;}
  .mh-finding.ok .mf-tag{background:#e8e8ff; color:#5b5be8;}
  .mh-finding.warn .mf-tag{background:#fff3e6; color:#e0732b;}
  .mh-finding.bad .mf-tag{background:#fde3da; color:#c0392b;}
  .mh-finding .mf-reason{margin-top:.3rem; font-size:.58rem; color:#4a4a7a; line-height:1.55; background:#f5f4ff; border-radius:.5rem; padding:.4rem .5rem;}
  .mh-finding .mf-reason iconify-icon{color:var(--med);}
  .mh-stream-foot{margin:.7rem 1.1rem 0; display:flex; gap:.5rem;}
  .mh-stream-foot button{flex:1; display:inline-flex; align-items:center; justify-content:center; gap:.3rem; border:1px solid var(--med); background:#fff; color:var(--med); border-radius:.7rem; padding:.55rem; font-size:.66rem; font-weight:800; cursor:pointer; font:inherit;}
  .mh-stream-foot button.primary{background:var(--med); color:#fff;}
  .mh-stream-foot button:disabled{opacity:.5; cursor:not-allowed;}
  .mh-caret{display:inline-block; width:.45rem; height:.7rem; border-right:2px solid var(--med); animation:blink 0.9s steps(1) infinite; margin-left:2px; vertical-align:middle;}

  /* 解读结果 */
  .mh-score-card{margin:.7rem 1.1rem 0; background:linear-gradient(135deg,#4a4ac9,#5b5be8 78%,#7676f0); border-radius:1.1rem; padding:1.1rem; color:#fff; box-shadow:0 .18rem .5rem rgba(91,91,232,.28); position:relative; overflow:hidden;}
  .mh-score-card::after{content:''; position:absolute; right:-2rem; top:-2rem; width:7rem; height:7rem; border-radius:50%; background:rgba(255,255,255,.08);}
  .mh-score-card .esc-top{display:flex; align-items:center; gap:.9rem; position:relative; z-index:1;}
  .mh-score-ring{width:5.2rem; height:5.2rem; border-radius:50%; background:conic-gradient(#fff 0deg, rgba(255,255,255,.2) 0deg); display:grid; place-items:center; flex:0 0 auto; position:relative;}
  .mh-score-ring::before{content:''; position:absolute; inset:.38rem; border-radius:50%; background:linear-gradient(135deg,#4a4ac9,#5b5be8);}
  .mh-score-ring b{position:relative; z-index:1; font-size:1.5rem; font-weight:800;}
  .mh-score-ring small{position:relative; z-index:1; font-size:.56rem; color:rgba(230,230,255,.85); display:block; text-align:center; margin-top:-.1rem;}
  .mh-score-info{flex:1;}
  .mh-score-info .esc-label{font-size:.6rem; color:rgba(230,230,255,.85); font-weight:700;}
  .mh-score-info h2{margin:.15rem 0 0; font-size:1.6rem; font-weight:800; line-height:1;}
  .mh-score-info h2 small{font-size:.72rem; font-weight:600; color:rgba(230,230,255,.85);}
  .mh-score-info .esc-sub{margin-top:.3rem; font-size:.6rem; color:rgba(230,230,255,.85);}
  .mh-score-meta{display:flex; gap:.5rem; margin-top:.8rem; position:relative; z-index:1;}
  .mh-score-meta div{flex:1; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.2); border-radius:.65rem; padding:.45rem .5rem; text-align:center;}
  .mh-score-meta b{font-size:.86rem; display:block;} .mh-score-meta span{font-size:.52rem; color:rgba(230,230,255,.85);}

  .mh-stat-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:.55rem; padding:.8rem 1.1rem 0;}
  .mh-stat{background:#fff; border:1px solid var(--line); border-radius:.9rem; padding:.7rem .4rem; text-align:center; box-shadow:var(--shadow-soft);}
  .mh-stat .es-num{font-size:1.3rem; font-weight:800; line-height:1;}
  .mh-stat.ok .es-num{color:#5b5be8;} .mh-stat.warn .es-num{color:#e0732b;} .mh-stat.bad .es-num{color:#c0392b;}
  .mh-stat .es-lbl{font-size:.56rem; color:var(--muted); margin-top:.3rem;}

  .mh-result-sec{padding:.8rem 1.1rem 0;}
  .mh-result-sec h3{margin:0 0 .5rem; font-size:.74rem; color:var(--navy); display:flex; align-items:center; gap:.35rem;}
  .mh-result-sec h3 .cnt{margin-left:auto; font-size:.56rem; font-weight:700; color:#fff; background:var(--med); padding:.12rem .45rem; border-radius:1rem;}
  .mh-result-sec h3.ok .cnt{background:#5b5be8;} .mh-result-sec h3.warn .cnt{background:#e0732b;} .mh-result-sec h3.bad .cnt{background:#c0392b;}

  .mh-mini{background:#fff; border:1px solid var(--line); border-radius:.85rem; padding:.6rem .7rem; margin-bottom:.45rem; box-shadow:var(--shadow-soft); display:flex; gap:.5rem; align-items:flex-start;}
  .mh-mini .mq-no{flex:0 0 auto; width:1.3rem; height:1.3rem; border-radius:50%; font-size:.58rem; font-weight:800; display:grid; place-items:center;}
  .mh-mini.ok .mq-no{background:#e8e8ff; color:#5b5be8;}
  .mh-mini.warn .mq-no{background:#fff3e6; color:#e0732b;}
  .mh-mini.bad .mq-no{background:#fde3da; color:#c0392b;}
  .mh-mini .mq-body{flex:1; min-width:0;}
  .mh-mini .mq-name{font-size:.64rem; color:#22304d; line-height:1.5; font-weight:700;}
  .mh-mini .mq-vals{display:flex; gap:.6rem; flex-wrap:wrap; margin-top:.2rem; font-size:.56rem; color:var(--muted);}
  .mh-mini .mq-vals b{font-weight:700;}
  .mh-mini .mq-vals .normal b{color:#5b5be8;} .mh-mini .mq-vals .abnormal b{color:#c0392b;}
  .mh-mini .mq-note{font-size:.56rem; color:#5a6a78; margin-top:.25rem; line-height:1.5;}

  /* 健康建议卡片 */
  .mh-advice{background:#fff; border:1px solid var(--line); border-radius:.9rem; padding:.75rem .85rem; box-shadow:var(--shadow-soft); margin-bottom:.5rem; border-left:3px solid var(--med);}
  .mh-advice.warn{border-left-color:#e0732b;}
  .mh-advice.bad{border-left-color:#c0392b;}
  .mh-advice .adv-top{display:flex; align-items:center; gap:.4rem; font-size:.66rem; color:#22304d; font-weight:700;}
  .mh-advice .adv-top iconify-icon{color:var(--med);}
  .mh-advice.warn .adv-top iconify-icon{color:#e0732b;}
  .mh-advice.bad .adv-top iconify-icon{color:#c0392b;}
  .mh-advice .adv-body{margin-top:.35rem; font-size:.6rem; color:#4a5868; line-height:1.6;}
  .mh-advice .adv-tag{display:inline-block; font-size:.5rem; font-weight:700; padding:.1rem .35rem; border-radius:1rem; background:var(--med-soft); color:var(--med); margin-left:.3rem;}

  .mh-actions{display:flex; gap:.5rem; padding:1rem 1.1rem 1.4rem;}
  .mh-actions button{flex:1; display:inline-flex; align-items:center; justify-content:center; gap:.3rem; border:1px solid var(--med); background:#fff; color:var(--med); border-radius:.75rem; padding:.6rem; font-size:.66rem; font-weight:800; cursor:pointer; font:inherit;}
  .mh-actions button.primary{background:var(--med); color:#fff;}
  .mh-actions button:active{transform:translateY(.03rem);}

  /* 用药提醒小卡 */
  .mh-med-list{display:flex; flex-direction:column; gap:.45rem;}
  .mh-med{background:#fff; border:1px solid var(--line); border-radius:.85rem; padding:.6rem .75rem; box-shadow:var(--shadow-soft); display:flex; align-items:center; gap:.55rem;}
  .mh-med .mm-ico{width:2rem; height:2rem; border-radius:.6rem; background:var(--med-soft); color:var(--med); display:grid; place-items:center; font-size:.95rem; flex:0 0 auto;}
  .mh-med .mm-main{flex:1; min-width:0;}
  .mh-med .mm-main b{font-size:.66rem; color:#22304d; display:block;}
  .mh-med .mm-main span{font-size:.54rem; color:var(--muted);}
  .mh-med .mm-time{font-size:.56rem; font-weight:700; color:var(--med); flex:0 0 auto;}
  .mh-med .mm-time.taken{color:#5b5be8;}

  /* ============ 家庭药箱 ============ */
  .med-hero{margin:.5rem 1.1rem 0; padding:1rem 1.05rem .9rem; border-radius:1.1rem; color:#fff; background:linear-gradient(135deg,#4a4ac9,#5b5be8 78%,#7676f0); box-shadow:0 .18rem .5rem rgba(91,91,232,.28); overflow:hidden; position:relative;}
  .med-hero::after{content:''; position:absolute; right:-2.2rem; top:-2.2rem; width:7rem; height:7rem; border-radius:50%; background:rgba(255,255,255,.08);}
  .med-hero .mh-top{display:flex; align-items:flex-start; justify-content:space-between; gap:.6rem; position:relative; z-index:1;}
  .med-hero .priv{display:inline-flex; align-items:center; gap:.3rem; font-size:.58rem; font-weight:700; background:rgba(255,255,255,.2); padding:.2rem .5rem; border-radius:1rem;}
  .med-hero h2{margin:.45rem 0 0; font-size:1.02rem;}
  .med-stats{display:flex; gap:.55rem; margin-top:.8rem; position:relative; z-index:1;}
  .med-stats div{flex:1; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.2); border-radius:.7rem; padding:.45rem .5rem; text-align:center;}
  .med-stats b{font-size:.82rem; display:block; line-height:1.2; color:#fff;} .med-stats span{font-size:.52rem; color:rgba(230,230,255,.88);}
  .med-cats{display:flex; gap:.4rem; padding:.6rem 1.1rem; overflow-x:auto; scrollbar-width:none;}
  .med-cats::-webkit-scrollbar{display:none;}
  .med-cats button{flex:0 0 auto; border:1px solid var(--line); background:#fff; color:#53607a; border-radius:1rem; padding:.35rem .7rem; font-size:.62rem; font-weight:700; cursor:pointer; font:inherit;}
  .med-cats button.on{background:var(--med); color:#fff; border-color:var(--med);}
  .med-sec{padding:.2rem 1.1rem 0;}
  .med-sec h3{margin:.5rem 0 .4rem; font-size:.66rem; color:var(--muted); font-weight:700; display:flex; align-items:center; gap:.3rem;}
  .med-sec h3 .cnt{margin-left:auto; font-size:.54rem; font-weight:700; color:var(--muted);}
  .med-card{background:#fff; border:1px solid var(--line); border-radius:.85rem; padding:.65rem .75rem; box-shadow:var(--shadow-soft); margin-bottom:.45rem; display:flex; gap:.55rem; align-items:flex-start;}
  .med-card .mc-ico{width:2.1rem; height:2.1rem; border-radius:.6rem; background:var(--med-soft); color:var(--med); display:grid; place-items:center; font-size:1.05rem; flex:0 0 auto;}
  .med-card .mc-main{flex:1; min-width:0;}
  .med-card .mc-top{display:flex; align-items:center; gap:.35rem; flex-wrap:wrap;}
  .med-card .mc-name{font-size:.7rem; color:#22304d; font-weight:800;}
  .med-card .mc-cat{font-size:.5rem; font-weight:700; padding:.1rem .35rem; border-radius:1rem; background:var(--med-soft); color:var(--med);}
  .med-card .mc-usage{font-size:.56rem; color:#5a6a78; margin-top:.25rem; line-height:1.5;}
  .med-card .mc-meta{display:flex; gap:.6rem; flex-wrap:wrap; margin-top:.3rem; font-size:.54rem; color:var(--muted);}
  .med-card .mc-meta b{font-weight:700; color:#22304d;}
  .med-card .mc-right{flex:0 0 auto; display:flex; flex-direction:column; align-items:flex-end; gap:.35rem;}
  .med-card .mc-stock{display:inline-flex; align-items:center; gap:.25rem; font-size:.6rem; font-weight:800; color:var(--med);}
  .med-card .mc-stock.low{color:#d4556e;}
  .med-card .mc-qty{display:inline-flex; align-items:center; border:1px solid var(--line); border-radius:1.2rem; overflow:hidden;}
  .med-card .mc-qty button{width:1.3rem; height:1.3rem; border:0; background:#f4f6fa; color:#53607a; font-size:.7rem; font-weight:800; cursor:pointer; font:inherit; line-height:1;}
  .med-card .mc-qty button:active{background:#e8ecf2;}
  .med-card .mc-qty span{min-width:1.6rem; text-align:center; font-size:.62rem; font-weight:800; color:#22304d;}
  .med-card .mc-exp{font-size:.5rem; font-weight:700; padding:.1rem .35rem; border-radius:1rem;}
  .med-card .mc-exp.ok{background:#e8e8ff; color:#5b5be8;}
  .med-card .mc-exp.soon{background:#fff3e6; color:#e0732b;}
  .med-card .mc-exp.bad{background:#fde3da; color:#c0392b;}
  .med-card .mc-del{background:none; border:0; color:#b6c0cf; font-size:.75rem; cursor:pointer; padding:.1rem; line-height:1;}
  .med-card .mc-del:active{color:#d4556e;}
  .med-empty{text-align:center; padding:2rem 1.1rem; color:var(--muted);}
  .med-empty iconify-icon{font-size:2.2rem; color:#cdd5e0; display:block; margin-bottom:.5rem;}
  .med-empty p{font-size:.64rem; margin:.2rem 0;}
  /* 药箱添加方式选择 */
  .med-pick-sheet{max-width:24rem; padding:1rem 1.1rem 1.2rem;}
  .mp-handle{width:2.2rem; height:.22rem; border-radius:.2rem; background:#dde3ec; margin:0 auto .7rem;}
  .mp-opt{display:flex; align-items:center; gap:.7rem; width:100%; padding:.8rem .85rem; border:1px solid var(--line); border-radius:.9rem; background:#fff; margin-bottom:.55rem; font:inherit; text-align:left; cursor:pointer;}
  .mp-opt:active{background:#f5f8fa;}
  .mp-ico{width:2.5rem; height:2.5rem; border-radius:.75rem; display:flex; align-items:center; justify-content:center; font-size:1.3rem; flex-shrink:0;}
  .mp-ico.cam{background:#f0efff; color:var(--med);}
  .mp-ico.pen{background:#eeeaff; color:#5b5be8;}
  .mp-main{flex:1; display:flex; flex-direction:column;}
  .mp-main b{font-size:.78rem; color:#1d2a3f;}
  .mp-main small{font-size:.6rem; color:var(--muted); margin-top:.15rem;}
  .mp-cancel{width:100%; margin-top:.35rem; padding:.65rem; border:0; background:#f2f5f9; border-radius:.75rem; font:inherit; font-size:.74rem; color:#5b6678; cursor:pointer;}
  /* 拍照识别结果区 */
  .med-scan{margin-bottom:.7rem; padding:.85rem; border-radius:.85rem; background:var(--med-soft); display:flex; flex-direction:column; gap:.4rem;}
  .ms-preview{display:flex; align-items:center; gap:.5rem; font-size:.74rem; color:var(--med); font-weight:700;}
  .ms-preview iconify-icon{font-size:1.1rem; animation:medPulse 1.1s ease-in-out infinite;}
  @keyframes medPulse{0%,100%{opacity:.4;}50%{opacity:1;}}
  .ms-tip{margin:0; font-size:.58rem; color:#6b6bc8; line-height:1.5;}

  /* ============ 我的药箱（紫色主题新原型） ============ */
  #view-medicine{background:var(--hf-grad); min-height:100%; padding-bottom:7.2rem;}
  .mkit-top{display:flex; align-items:center; justify-content:space-between; padding:.65rem .85rem .25rem;}
  .mkit-back{width:2.1rem; height:2.1rem; border:0; background:rgba(255,255,255,.55); border-radius:50%; color:#2a2a55; font-size:1.05rem; display:grid; place-items:center; cursor:pointer;}
  .mkit-who{display:inline-flex; align-items:center; gap:.3rem; border:0; background:rgba(255,255,255,.6); border-radius:2rem; padding:.4rem .8rem; font-size:.72rem; font-weight:700; color:#2a2a55; cursor:pointer; font:inherit;}
  .mkit-who iconify-icon{color:var(--hf); font-size:.9rem;}
  .mkit-hero{display:flex; align-items:flex-start; justify-content:space-between; padding:.4rem 1.1rem .6rem; position:relative; overflow:hidden;}
  .mkit-hero-l h2{margin:0; font-size:1.9rem; font-weight:900; color:#1d1d4a; letter-spacing:.02rem; line-height:1.1;}
  .mkit-badge{display:inline-flex; align-items:center; gap:.32rem; margin-top:.7rem; padding:.32rem .7rem; border-radius:2rem; background:rgba(91,91,232,.12); color:var(--hf); font-size:.66rem; font-weight:700;}
  .mkit-badge iconify-icon{font-size:.85rem;}
  .mkit-case{position:relative; width:6.4rem; height:5rem; flex:0 0 auto;}
  .mkit-case-ico{position:absolute; right:0; bottom:0; font-size:5.6rem; color:var(--hf); filter:drop-shadow(0 .3rem .5rem rgba(91,91,232,.35));}
  .mkit-case-shield{position:absolute; left:.4rem; top:.9rem; z-index:2; width:2.4rem; height:2.4rem; border-radius:50%; background:#fff; display:grid; place-items:center; color:#fff; font-size:1.3rem; box-shadow:0 .15rem .35rem rgba(91,91,232,.25);}
  .mkit-case-shield iconify-icon{color:var(--hf); font-size:1.35rem;}
  .mkit-panel{background:#fff; border-radius:1.5rem 1.5rem 0 0; margin:.2rem .7rem 0; padding:0 .2rem .5rem; min-height:52vh; box-shadow:0 -.1rem .4rem rgba(91,91,232,.08);}
  .mkit-tabs{display:flex; position:relative; padding:.3rem .6rem 0;}
  .mkit-tab{flex:1; border:0; background:transparent; padding:.85rem 0 .7rem; font:inherit; font-size:.88rem; font-weight:800; color:#9aa0b8; cursor:pointer; position:relative; z-index:1;}
  .mkit-tab.on{color:#1d1d4a;}
  .mkit-ind{position:absolute; bottom:0; left:0; width:50%; height:3px; border-radius:3px; background:var(--hf); transition:transform .28s ease;}
  .mkit-pane{display:none;}
  .mkit-pane.on{display:block;}
  #mkitPaneMeds{padding-bottom:.6rem;}
  #mkitPanePlans{padding-bottom:.6rem;}
  #view-medicine .catbar{padding:.55rem .75rem .35rem;}
  #view-medicine .med-cats{padding:.05rem .15rem .15rem; gap:.35rem;}
  #view-medicine .med-cats button{padding:.32rem .62rem; font-size:.62rem;}
  #view-medicine .med-cats button.on{background:var(--hf); border-color:var(--hf);}
  #view-medicine .med-sec{padding:.15rem .65rem 0;}
  #view-medicine .med-sec h3 .cnt{margin-left:auto; padding-right:.15rem;}
  #view-medicine .med-card{margin:.4rem .2rem; box-shadow:none; border-color:#eef0f7;}
  #view-medicine .med-card .mc-ico{background:var(--hf-soft); color:var(--hf);}
  #view-medicine .med-card .mc-cat{background:var(--hf-soft); color:var(--hf);}
  #view-medicine .med-card .mc-stock{color:var(--hf);}
  /* 空状态 */
  .mkit-empty{text-align:center; padding:2rem 1.2rem .6rem;}
  .mkit-empty-icon{position:relative; width:6.2rem; height:5.4rem; margin:0 auto .9rem;}
  .mkit-empty-icon .bubble{position:absolute; border-radius:50%; background:var(--hf-soft);}
  .mkit-empty-icon .b1{width:1.2rem; height:1.2rem; left:.3rem; top:1.1rem;}
  .mkit-empty-icon .b2{width:.7rem; height:.7rem; right:.6rem; top:.5rem;}
  .mkit-empty-icon .b3{width:.5rem; height:.5rem; left:1.1rem; bottom:.4rem; background:#e3e8ff;}
  .mkit-empty-icon iconify-icon.main{position:relative; font-size:4.6rem; color:var(--hf); z-index:2; filter:drop-shadow(0 .25rem .4rem rgba(91,91,232,.3));}
  .mkit-empty-icon.plan .magnifier{position:absolute; right:0; bottom:0; width:2.1rem; height:2.1rem; border-radius:50%; background:linear-gradient(135deg,#8b8bf0,#5b5be8); display:grid; place-items:center; color:#fff; font-size:1.05rem; box-shadow:0 .15rem .3rem rgba(91,91,232,.4); z-index:3;}
  .mkit-empty h3{margin:0; font-size:1.05rem; font-weight:800; color:#1d1d4a;}
  .mkit-empty p{margin:.35rem 0 0; font-size:.68rem; color:#9aa0b8;}
  .mkit-features{margin:1.3rem .6rem 0; background:#f7f8ff; border-radius:1.1rem; padding:.9rem .4rem .8rem;}
  .mkit-features .ft-title{text-align:center; font-size:.66rem; color:#8a90b0; font-weight:700; margin-bottom:.85rem;}
  .mkit-features .ft-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:.3rem;}
  .mkit-feat{display:flex; flex-direction:column; align-items:center; gap:.4rem; cursor:pointer;}
  .mkit-feat .fi{width:3rem; height:3rem; border-radius:50%; display:grid; place-items:center; font-size:1.5rem;}
  .mkit-feat .fi.a{background:#edeeff; color:var(--hf);}
  .mkit-feat .fi.b{background:#ede9ff; color:#7a5be8;}
  .mkit-feat .fi.c{background:#e7ecff; color:#4a6cf7;}
  .mkit-feat .fi.d{background:#eeeaff; color:#6b5be8;}
  .mkit-feat span{font-size:.66rem; color:#3d3d6b; font-weight:700;}
  .mkit-steps{display:flex; align-items:center; justify-content:center; gap:.3rem; margin:1.4rem 0 .2rem; font-size:.68rem; color:#6b6b8a; font-weight:600; flex-wrap:wrap;}
  .mkit-steps .n{width:1.25rem; height:1.25rem; border-radius:50%; border:1.5px solid #c4c9e0; color:#6b6b8a; display:inline-grid; place-items:center; font-size:.62rem; font-weight:800;}
  .mkit-steps .dash{width:1.4rem; height:1px; border-top:1.5px dashed #c4c9e0;}
  /* 底部固定按钮 */
  .mkit-foot{position:absolute; left:0; right:0; bottom:0; padding:.5rem 1.1rem calc(.55rem + env(safe-area-inset-bottom)); background:linear-gradient(to top, var(--hf-grad) 60%, rgba(244,242,255,0)); z-index:20;}
  .mkit-mainbtn{width:100%; border:0; border-radius:2.2rem; padding:.9rem 1rem; background:linear-gradient(135deg,#6b6bf0,#4b4be0); color:#fff; font:inherit; font-size:.88rem; font-weight:800; display:flex; align-items:center; justify-content:center; gap:.45rem; box-shadow:0 .4rem 1rem rgba(91,91,232,.4); cursor:pointer; position:relative;}
  .mkit-mainbtn iconify-icon{font-size:1.2rem;}
  .mkit-mainbtn .corner-tag{position:absolute; right:.5rem; top:-1.1rem; background:#fff; color:var(--hf); font-size:.58rem; font-weight:700; padding:.25rem .5rem; border-radius:.7rem; box-shadow:0 .15rem .4rem rgba(91,91,232,.2); white-space:nowrap;}
  .mkit-foot-tip{text-align:center; margin:.4rem 0 0; font-size:.58rem; color:#9aa0b8;}
  /* 用药计划卡片 */
  .plan-card{margin:.6rem .8rem; background:#fff; border:1px solid #eef0f7; border-radius:1rem; padding:.75rem .85rem; box-shadow:0 .12rem .4rem rgba(80,90,160,.05); display:flex; gap:.6rem; align-items:center;}
  .plan-card .pc-ico{width:2.4rem; height:2.4rem; border-radius:.7rem; background:var(--hf-soft); color:var(--hf); display:grid; place-items:center; font-size:1.15rem; flex:0 0 auto;}
  .plan-card .pc-main{flex:1; min-width:0;}
  .plan-card .pc-main b{font-size:.74rem; color:#1d2a4f; display:block;}
  .plan-card .pc-main small{font-size:.58rem; color:#9aa0b8; display:block; margin-top:.18rem;}
  .plan-card .pc-doses{display:flex; gap:.3rem; margin-top:.4rem; flex-wrap:wrap;}
  .plan-card .pc-dose{font-size:.54rem; font-weight:700; padding:.18rem .45rem; border-radius:1rem; background:#f0f2f8; color:#6b6b8a;}
  .plan-card .pc-dose.on{background:var(--hf-soft); color:var(--hf);}
  .plan-card .pc-sw{width:2.2rem; height:1.2rem; border-radius:1rem; background:var(--hf); position:relative; flex:0 0 auto;}
  .plan-card .pc-sw::after{content:''; position:absolute; right:.12rem; top:.12rem; width:.96rem; height:.96rem; border-radius:50%; background:#fff;}
  .plan-add{margin:.8rem;}

  /* ============ 健康档案（紫色主题） ============ */
  :root{--hf:#5b5be8; --hf-soft:#eeeaff; --hf-grad:linear-gradient(135deg,#dfe3ff 0%,#eef0ff 60%,#f4f2ff 100%);}
  #view-healthfile{background:var(--hf-grad); padding-bottom:5.4rem; min-height:100%;}
  .hf-top{display:flex; align-items:center; justify-content:space-between; padding:.7rem .9rem .4rem;}
  .hf-top h1{font-size:1rem; font-weight:800; color:#1d2a4f; margin:0;}
  .hf-set{color:#3d3d6b;}
  .hf-members{display:flex; gap:.55rem; padding:.3rem .9rem .2rem; overflow-x:auto;}
  .hf-members::-webkit-scrollbar{display:none;}
  .hf-member{display:flex; align-items:center; gap:.4rem; padding:.3rem .85rem .3rem .3rem; border-radius:2rem; background:rgba(255,255,255,.7); border:1.5px solid transparent; flex-shrink:0; cursor:pointer;}
  .hf-member.on{background:var(--hf); border-color:var(--hf); color:#fff; box-shadow:0 .3rem .8rem rgba(91,91,232,.35);}
  .hf-member .hf-mava{width:1.85rem; height:1.85rem; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; color:var(--hf); font-size:.95rem;}
  .hf-member .hf-mava iconify-icon{font-size:1.05rem;}
  .hf-member.on .hf-mava{background:rgba(255,255,255,.25); color:#fff;}
  .hf-member .hf-mname{font-size:.78rem; font-weight:700;}
  .hf-member.add{padding:.3rem .8rem; background:rgba(255,255,255,.55); color:#3d3d6b; font-size:1.15rem;}
  .hf-tip{margin:.15rem .95rem .55rem; font-size:.64rem; color:#5b6080;}

  .hf-panel{padding:0 .9rem;}
  .hf-dash-head{display:flex; align-items:center; justify-content:space-between; padding:.2rem .1rem .55rem;}
  .hf-dash-head b{font-size:.92rem; color:#1d2a4f; font-weight:800;}
  .hf-dash-head a{font-size:.66rem; color:#5b5be8; display:inline-flex; align-items:center; gap:.15rem; cursor:pointer;}
  .hf-card{background:rgba(255,255,255,.9); backdrop-filter:blur(6px); border-radius:1.05rem; padding:.75rem .8rem .7rem; position:relative; overflow:hidden; cursor:pointer; box-shadow:0 .15rem .5rem rgba(80,90,160,.06);}
  .hf-card::before{content:''; position:absolute; right:-.8rem; bottom:-.8rem; width:4rem; height:4rem; border-radius:50%; background:radial-gradient(circle, rgba(91,91,232,.06) 0%, rgba(91,91,232,0) 70%); pointer-events:none;}
  .hf-card-wide{margin-bottom:.6rem;}
  .hf-grid{display:grid; grid-template-columns:1fr 1fr; gap:.6rem;}
  .hf-card-h{display:flex; align-items:center; gap:.35rem; margin-bottom:.45rem; position:relative; z-index:1;}
  .hf-card-h iconify-icon{font-size:.98rem; color:var(--hf);}
  .hf-card-h b{font-size:.78rem; color:#1d2a4f; font-weight:700;}
  .hf-card-h time{margin-left:auto; font-size:.56rem; color:#9aa0b8;}
  .hf-card-sub{margin:0 0 .35rem; font-size:.58rem; color:#9aa0b8; min-height:.85rem; position:relative; z-index:1;}
  .hf-metric{display:flex; align-items:baseline; gap:.2rem; position:relative; z-index:1;}
  .hf-metric b{font-size:1.42rem; font-weight:800; color:#1d2a4f; line-height:1;}
  .hf-metric span{font-size:.58rem; color:#8a90a8; white-space:nowrap;}
  .hf-metric-row{display:flex; gap:.5rem; position:relative; z-index:1;}
  .hf-metric-row>div{flex:1; display:flex; flex-direction:column; gap:.2rem; min-width:0;}
  .hf-metric-row b{font-size:1.3rem; font-weight:800; color:#1d2a4f;}
  .hf-metric-row span{font-size:.58rem; color:#8a90a8; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .hf-metric-row em{font-style:normal; color:#e0732b; font-weight:700;}

  /* 病历夹 */
  .hf-rec-head{display:flex; align-items:center; justify-content:space-between; padding:.2rem .1rem .55rem;}
  .hf-rec-title{display:flex; align-items:center; gap:.3rem; font-size:.92rem; font-weight:800; color:#1d2a4f;}
  .hf-caret{font-size:1rem; color:#1d2a4f;}
  .hf-meds-btn{display:inline-flex; align-items:center; gap:.3rem; border:1.5px solid rgba(91,91,232,.3); background:rgba(255,255,255,.7); color:var(--hf); padding:.32rem .7rem; border-radius:2rem; font-size:.64rem; font-weight:600; cursor:pointer;}
  .hf-filters{display:flex; gap:.4rem; overflow-x:auto; padding-bottom:.55rem;}
  .hf-filters::-webkit-scrollbar{display:none;}
  .hf-filters button{flex-shrink:0; padding:.35rem .85rem; border-radius:2rem; border:1.5px solid rgba(91,91,232,.18); background:rgba(255,255,255,.65); font-size:.68rem; color:#5b6080; font-weight:600; cursor:pointer;}
  .hf-filters button.on{background:var(--hf); color:#fff; border-color:var(--hf);}
  .hf-missing{display:flex; align-items:center; justify-content:space-between; background:rgba(255,255,255,.7); border-left:3px solid #e0732b; border-radius:.6rem; padding:.55rem .7rem; margin-bottom:.6rem; font-size:.66rem; color:#5b6080;}
  .hf-missing span{display:flex; align-items:center; gap:.35rem;}
  .hf-missing i{width:.4rem; height:.4rem; border-radius:50%; background:#e0732b;}
  .hf-missing b{font-weight:800; color:#e0732b;}
  .hf-missing a{color:var(--hf); font-size:.62rem; display:inline-flex; align-items:center; gap:.1rem; cursor:pointer;}
  .hf-rec-list{display:flex; flex-direction:column; gap:.55rem;}
  .hf-rec{display:flex; gap:.6rem; align-items:center; background:rgba(255,255,255,.85); border-radius:.95rem; padding:.7rem .75rem; cursor:pointer; box-shadow:0 .12rem .4rem rgba(80,90,160,.05);}
  .hf-rec-ico{width:2.6rem; height:2.6rem; border-radius:.75rem; display:flex; align-items:center; justify-content:center; font-size:1.25rem; flex-shrink:0;}
  .hf-rec-ico.rx{background:#fdeef2; color:#d4556e;}
  .hf-rec-ico.report{background:var(--hf-soft); color:var(--hf);}
  .hf-rec-main{flex:1; min-width:0;}
  .hf-rec-main b{font-size:.74rem; color:#1d2a4f; display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .hf-rec-main small{font-size:.58rem; color:#9aa0b8; display:block; margin-top:.2rem;}
  .hf-rec-tag{font-size:.54rem; padding:.18rem .45rem; border-radius:1rem; flex-shrink:0; font-weight:600;}
  .hf-rec-tag.ok{background:#e8e8ff; color:#5b5be8;}
  .hf-rec-tag.warn{background:#fff3e6; color:#e0732b;}
  .hf-rec-tag.info{background:#eeeaff; color:#5b5be8;}
  .hf-rec.placeholder .hf-rec-main b{color:#b6bdd0; letter-spacing:.15rem;}
  .hf-rec.placeholder .hf-rec-main small{letter-spacing:.12rem;}
  .hf-nomore{text-align:center; color:#9aa0b8; font-size:.64rem; margin:1rem 0 .6rem;}
  .hf-privacy{text-align:center; color:#aab0c4; font-size:.56rem; display:flex; align-items:center; justify-content:center; gap:.25rem; margin:.2rem 0;}

  /* 底部双 tab */
  .hf-tabbar{position:absolute; left:0; right:0; bottom:0; height:3.7rem; background:rgba(255,255,255,.96); backdrop-filter:blur(10px); border-top:1px solid rgba(91,91,232,.12); display:flex; align-items:center; justify-content:space-around; padding:0 1.5rem calc(env(safe-area-inset-bottom)); z-index:20; box-shadow:0 -.2rem .8rem rgba(80,90,160,.08);}
  .hf-tb{display:flex; flex-direction:column; align-items:center; gap:.15rem; border:0; background:transparent; color:#8a90a8; font-size:.6rem; font-weight:600; cursor:pointer; padding:.3rem .6rem;}
  .hf-tb iconify-icon{font-size:1.35rem;}
  .hf-tb.on{color:var(--hf);}
  .hf-fab{width:3.1rem; height:3.1rem; border-radius:50%; border:0; background:linear-gradient(135deg,#6d6dff,#4a4ae0); color:#fff; font-size:1.7rem; display:flex; align-items:center; justify-content:center; margin-top:-1.3rem; box-shadow:0 .35rem 1rem rgba(91,91,232,.45); cursor:pointer;}

  /* 添加数据弹窗 */
  .hf-add-sheet{max-width:24rem; padding:1.1rem 1.05rem 1.3rem; border-radius:1.3rem 1.3rem 0 0;}
  .hf-add-head{display:flex; align-items:center; justify-content:space-between;}
  .hf-add-head b{font-size:.95rem; font-weight:800; color:#1d2a4f;}
  .hf-add-sub{margin:.5rem 0 .9rem; font-size:.66rem; color:#7a809a; line-height:1.7;}
  .hf-add-grid{display:grid; grid-template-columns:1fr 1fr; gap:.6rem;}
  .hf-add-opt{background:#fff; border:1px solid #eef0f7; border-radius:.95rem; padding:.85rem .6rem; display:flex; flex-direction:column; align-items:center; gap:.35rem; cursor:pointer; font:inherit;}
  .hf-add-opt:active{background:#f7f8ff;}
  .hf-add-ico{width:2.7rem; height:2.7rem; border-radius:.8rem; display:flex; align-items:center; justify-content:center; font-size:1.35rem;}
  .hf-add-ico.blue{background:#eeeaff; color:#5b5be8;}
  .hf-add-ico.purple{background:#f0ebff; color:#7c5cf6;}
  .hf-add-ico.teal{background:#eeeaff; color:#5b5be8;}
  .hf-add-ico.violet{background:#ede9ff; color:#6d5cf6;}
  .hf-add-ico.alipay{background:#e8f1ff; color:#1677ff; font-weight:800; font-size:1.35rem;}
  .hf-add-opt b{font-size:.76rem; color:#1d2a4f; font-weight:700;}
  .hf-add-opt small{font-size:.56rem; color:#9aa0b8;}
  .hf-add-opt .hf-synced{font-size:.54rem; color:#9aa0b8; display:inline-flex; align-items:center; gap:.15rem;}

  /* ============ AI 诊室向导 ============ */
  .ad-sheet{max-width:22rem;}
  .ad-hero{margin:.7rem 0 .3rem; padding:.8rem 1rem; border-radius:1rem; background:linear-gradient(135deg,#4a4ac9,#5b5be8 78%,#7676f0); color:#fff; text-align:center; position:relative; overflow:hidden;}
  .ad-hero::after{content:''; position:absolute; right:-1.8rem; top:-1.8rem; width:5.5rem; height:5.5rem; border-radius:50%; background:rgba(255,255,255,.08);}
  .ad-enter{display:block; font-size:.58rem; font-weight:700; letter-spacing:.05em; opacity:.9; position:relative; z-index:1;}
  .ad-steth{display:inline-grid; place-items:center; width:2.8rem; height:2.8rem; border-radius:50%; background:rgba(255,255,255,.2); margin-top:.45rem; font-size:1.4rem; position:relative; z-index:1;}
  .ad-progress{display:flex; align-items:center; gap:.3rem; margin:.8rem 0 .4rem;}
  .ad-step{flex:1; display:flex; flex-direction:column; align-items:center; gap:.2rem; opacity:.45; transition:opacity .2s;}
  .ad-step.on{opacity:1;}
  .ad-step-num{width:1.5rem; height:1.5rem; border-radius:50%; background:#eef1f6; color:#8a96a8; font-size:.6rem; font-weight:800; display:grid; place-items:center;}
  .ad-step.on .ad-step-num{background:var(--med); color:#fff;}
  .ad-step-t{font-size:.54rem; color:#53607a; font-weight:700;}
  .ad-step-arrow{color:#c4cdd9; font-size:.8rem;}
  .ad-welcome{font-size:.6rem; color:#5a6a78; line-height:1.6; margin:.3rem 0 .6rem; padding:.55rem .65rem; background:#f4f6fa; border-radius:.6rem;}
  .ad-title{font-size:.74rem; font-weight:800; color:#22304d;}
  .ad-sub{font-size:.56rem; color:var(--muted); margin:.2rem 0 .6rem;}
  .ad-members{display:grid; grid-template-columns:repeat(2,1fr); gap:.5rem;}
  .ad-member{display:flex; flex-direction:column; align-items:center; gap:.25rem; padding:.7rem .5rem; border:1.5px solid var(--line); border-radius:.85rem; background:#fff; cursor:pointer; font:inherit; transition:all .15s;}
  .ad-member:active{transform:scale(.97);}
  .ad-member.sel{border-color:var(--med); background:var(--med-soft);}
  .ad-av{width:2.4rem; height:2.4rem; border-radius:50%; background:var(--med-soft); color:var(--med); display:grid; place-items:center; font-size:.9rem; font-weight:800;}
  .ad-av.warm{background:#fdeef2; color:#d4556e;}
  .ad-av.blue{background:#eeeaff; color:#5b5be8;}
  .ad-member b{font-size:.66rem; color:#22304d;}
  .ad-member small{font-size:.52rem; color:var(--muted);}
  .ad-picker{width:100%; display:flex; align-items:center; gap:.5rem; padding:.55rem .65rem; border:1px solid var(--line); border-radius:.7rem; background:#f6f8fb; cursor:pointer; font:inherit; text-align:left;}
  .ad-picker b{font-size:.66rem; color:#22304d;}
  .ad-picker small{font-size:.52rem; color:var(--muted); margin-left:auto;}
  .ad-prompt{font-size:.6rem; color:#5a6a78; margin:.65rem 0 .4rem; line-height:1.5;}
  .ad-textarea{width:100%; margin-top:0;}
  .ad-chips{display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.55rem;}
  .ad-chip{border:1px solid var(--line); background:#fff; color:#53607a; border-radius:1rem; padding:.3rem .7rem; font-size:.6rem; font-weight:700; cursor:pointer; font:inherit;}
  .ad-chip.on{background:var(--med); color:#fff; border-color:var(--med);}
  .ad-nav{margin-top:.8rem;}
  .ad-btn{width:100%; border:0; border-radius:.75rem; padding:.72rem; font-size:.72rem; font-weight:800; background:var(--med); color:#fff; cursor:pointer; font:inherit; box-shadow:0 .15rem .4rem rgba(91,91,232,.28);}
  .ad-btn:active{transform:translateY(.03rem);}
  .ad-loading{text-align:center; padding:1.5rem 0; color:var(--muted);}
  .ad-loading p{font-size:.62rem; margin-top:.5rem;}

  /* 医疗影像选择项 */
  .ip-item{display:flex; align-items:center; gap:.6rem; width:100%; padding:.65rem .7rem; border:1px solid var(--line); border-radius:.85rem; background:#fff; cursor:pointer; font:inherit; text-align:left;}
  .ip-item:active{background:#f6f8fb;}
  .ip-ico{width:2.2rem; height:2.2rem; border-radius:.6rem; background:var(--med-soft); color:var(--med); display:grid; place-items:center; font-size:1.05rem; flex:0 0 auto;}
  .ip-main{flex:1; min-width:0;}
  .ip-main b{display:block; font-size:.68rem; color:#22304d;}
  .ip-main small{font-size:.54rem; color:var(--muted);}

  /* 助理内教育功能页：统一提高阅读字号；首页 edu-home-quick 保持原尺寸 */
  #view-grade .topbar p,
  #view-edu-detail .topbar p,
  #view-erase .topbar p,
  #view-volunteer .topbar p{font-size:.72rem;}

  /* 拍照批改：概览、记录、处理过程与结果 */
  #view-grade .eg-subject-head h3,
  #view-grade .eg-list-sec h3,
  #view-grade .eg-sec h3,
  #view-grade .eg-recent h3{font-size:.84rem;}
  #view-grade .eg-subject-actions>span,
  #view-grade .eg-list-sec h3 #egListCnt,
  #view-grade .eg-sec h3 .cnt,
  #view-grade .eg-recent h3 span{font-size:.64rem;}
  #view-grade .eg-sub-card .sc-title{font-size:.72rem;}
  #view-grade .eg-sub-card .sc-title span,
  #view-grade .eg-sub-card .sc-score small,
  #view-grade .eg-sub-card .sc-foot{font-size:.57rem;}
  #view-grade .eg-subject-tabs button{font-size:.68rem; padding:.38rem .72rem;}
  #view-grade .eg-rec .r-main b{font-size:.82rem;}
  #view-grade .eg-rec .r-meta{font-size:.64rem; line-height:1.45;}
  #view-grade .eg-rec .r-score span{font-size:.58rem;}
  #view-grade .eg-record-group-head{font-size:.72rem;}
  #view-grade .eg-record-group-head span{font-size:.58rem;}
  #view-grade .eg-hero p,
  #view-grade .eg-tip,
  #view-grade .eg-up-zone small{font-size:.68rem;}
  #view-grade .eg-up-tabs button,
  #view-grade .eg-up-zone .u-btn,
  #view-grade .eg-stream-foot button,
  #view-grade .eg-actions button{font-size:.74rem;}
  #view-grade .eg-file .f-main b{font-size:.82rem;}
  #view-grade .eg-file .f-main span,
  #view-grade .eg-file .f-meta{font-size:.64rem;}
  #view-grade .eg-prog-card .ep-head b,
  #view-grade .eg-stream-head b{font-size:.88rem;}
  #view-grade .eg-prog-card .ep-head span,
  #view-grade .eg-bar-pct,
  #view-grade .eg-stream-head span,
  #view-grade .eg-stream-head .esh-live{font-size:.66rem;}
  #view-grade .eg-file-line b,
  #view-grade .eg-detect .dt-main b{font-size:.76rem;}
  #view-grade .eg-file-line span,
  #view-grade .eg-file-line .fl-st,
  #view-grade .eg-detect .dt-main span,
  #view-grade .eg-detect .dt-tag{font-size:.62rem;}
  #view-grade .eg-q .eq-q{font-size:.75rem;}
  #view-grade .eg-q .eq-ans{font-size:.68rem;}
  #view-grade .eg-q .eq-tag,
  #view-grade .eg-q .eq-reason{font-size:.63rem;}
  #view-grade .eg-mini-q .mq-q{font-size:.72rem;}
  #view-grade .eg-mini-q .mq-ans,
  #view-grade .eg-mini-q .mq-pts{font-size:.64rem;}
  #view-grade .eg-stat .es-lbl,
  #view-grade .eg-score-meta span{font-size:.62rem;}

  /* 擦除记录、错题本、智能组卷共用详情页 */
  #view-edu-detail .ed-history-head h3{font-size:.88rem;}
  #view-edu-detail .ed-history-head-actions>span{font-size:.64rem;}
  #view-edu-detail .ed-filter button{font-size:.68rem; padding:.38rem .7rem;}
  #view-edu-detail .ed-file .ef-main b{font-size:.8rem;}
  #view-edu-detail .ed-file .ef-main span{font-size:.63rem;}
  #view-edu-detail .ed-file .ef-tag,
  #view-edu-detail .ed-file .ef-date{font-size:.58rem;}
  #view-edu-detail .ed-erase-record-head .eer-subject{font-size:.62rem;}
  #view-edu-detail .ed-erase-record-head b{font-size:.78rem;}
  #view-edu-detail .ed-erase-record-head time{font-size:.59rem;}
  #view-edu-detail .ed-erase-file .eef-top{font-size:.61rem;}
  #view-edu-detail .ed-erase-file b{font-size:.69rem;}
  #view-edu-detail .ed-erase-file small{font-size:.58rem;}
  #view-edu-detail .ed-mistake-kp{font-size:.68rem;}
  #view-edu-detail .ed-mistake-state{font-size:.58rem;}
  #view-edu-detail .ed-mistake-q{font-size:.76rem;}
  #view-edu-detail .ed-mistake-answer{font-size:.63rem;}
  #view-edu-detail .ed-mistake-source{font-size:.59rem;}
  #view-edu-detail .ed-compose-source-head,
  #view-edu-detail .ed-compose-history-title{font-size:.74rem;}
  #view-edu-detail .ed-compose-source-head span{font-size:.57rem;}
  #view-edu-detail .ed-compose-source-card .ecs-main span{font-size:.58rem;}
  #view-edu-detail .ed-compose-source-card .ecs-main b{font-size:.73rem;}
  #view-edu-detail .ed-compose-source-card .ecs-main small{font-size:.54rem;}
  #view-edu-detail .ed-compose-strategy{font-size:.61rem;}
  #view-edu-detail .ed-compose-file .ecf-main b{font-size:.76rem;}
  #view-edu-detail .ed-compose-file .ecf-main span{font-size:.61rem;}
  #view-edu-detail .ed-compose-file .ecf-tags i{font-size:.54rem;}
  #view-edu-detail .ed-compose-file .ecf-right b,
  #view-edu-detail .ed-compose-file .ecf-right time{font-size:.58rem;}

  /* 擦除处理页 */
  #view-erase .ed-hero .ed-kicker{font-size:.64rem;}
  #view-erase .ed-hero p{font-size:.7rem;}
  #view-erase .tool-card-head h3{font-size:.9rem;}
  #view-erase .source-tabs button{font-size:.75rem;}
  #view-erase .er-upload b{font-size:.84rem;}
  #view-erase .er-upload>span{font-size:.67rem;}
  #view-erase .er-up-guides span{font-size:.64rem;}
  #view-erase .er-hist-main b{font-size:.76rem;}
  #view-erase .er-hist-main span,
  #view-erase .er-hist-date{font-size:.62rem;}
  #view-erase .er-proc b{font-size:.88rem;}
  #view-erase .er-proc>span{font-size:.68rem;}
  #view-erase .er-steps span{font-size:.58rem;}
  #view-erase .er-result-info span,
  #view-erase .er-compare-col>span,
  #view-erase .er-success-tag{font-size:.62rem;}
  #view-erase .er-btn{font-size:.75rem;}

  /* 志愿规划：表单、提示与推荐结果 */
  #view-volunteer .ed-hero p{font-size:.7rem; line-height:1.55;}
  #view-volunteer .tool-card-head b{font-size:.88rem;}
  #view-volunteer .tool-card-head span{font-size:.68rem;}
  #view-volunteer .vt-label{font-size:.78rem;}
  #view-volunteer .vt-hint,
  #view-volunteer .vt-disclaimer{font-size:.66rem;}
  #view-volunteer .qz-chips button{font-size:.7rem; padding:.42rem .74rem;}
  #view-volunteer .vt-input-box input{font-size:.9rem;}
  #view-volunteer .er-btn{font-size:.76rem;}
  #view-volunteer .vt-sum-line span,
  #view-volunteer .vt-sum-tag{font-size:.66rem;}
  #view-volunteer .vt-tier-head b{font-size:.8rem;}
  #view-volunteer .vt-tier-head span{font-size:.64rem;}
  #view-volunteer .vt-school .vs-name{font-size:.84rem;}
  #view-volunteer .vt-school .vs-meta{font-size:.64rem;}
  #view-volunteer .vt-school .vs-tag{font-size:.58rem;}
  #view-volunteer .vt-school .vs-gap,
  #view-volunteer .vt-toggle-answer,
  #view-volunteer .vt-empty{font-size:.62rem;}

  /* 教育助理功能页字号下限：使用绝对 12px，避免预览缩放导致 rem 换算不足 */
  #view-grade :is(p,small,time,em,i,label),
  #view-edu-detail :is(p,small,time,em,i,label),
  #view-erase :is(p,small,time,em,i,label),
  #view-volunteer :is(p,small,time,em,i,label),
  #view-grade button:not(.icon-btn):not(.eg-grade-icon),
  #view-edu-detail button:not(.icon-btn):not(.ed-history-icon),
  #view-erase button:not(.icon-btn),
  #view-volunteer button:not(.icon-btn){font-size:12px;}
  #view-edu-detail :is(.ed-kicker,.ed-panel-head span,.ed-insight span,.ed-history-head-actions>span,.ed-file .ef-main span,.ed-file .ef-tag,.ed-file .ef-date,.ed-erase-record-head .eer-subject,.ed-erase-file .eef-top,.ed-mistake-state,.ed-mistake-answer,.ed-mistake-source,.ed-compose-source-head,.ed-compose-source-head span,.ed-compose-source-card .ecs-main span,.ed-compose-source-card .ecs-main b,.ed-compose-strategy,.ed-compose-history-title,.ed-compose-file .ecf-main span,.ed-compose-file .ecf-right b),
  #view-grade :is(.eg-subject-actions>span,.eg-sub-card .sc-title span,.eg-sub-card .sc-score small,.eg-sub-card .sc-foot,.eg-list-sec h3 #egListCnt,.eg-rec .r-meta,.eg-rec .r-score span,.eg-record-group-head span,.eg-file .f-main span,.eg-file .f-meta,.eg-prog-card .ep-head span,.eg-bar-pct,.eg-file-line span,.eg-file-line .fl-st,.eg-detect .dt-main span,.eg-detect .dt-tag,.eg-stream-head span,.eg-stream-head .esh-live,.eg-q .eq-ans,.eg-q .eq-tag,.eg-q .eq-reason,.eg-mini-q .mq-ans,.eg-mini-q .mq-pts,.eg-stat .es-lbl,.eg-score-meta span),
  #view-erase :is(.er-upload>span,.er-up-guides span,.er-hist-main span,.er-hist-date,.er-proc>span,.er-steps span,.er-result-info span,.er-compare-col>span,.er-success-tag),
  #view-volunteer :is(.tool-card-head span,.vt-hint,.vt-disclaimer,.vt-sum-line span,.vt-sum-tag,.vt-tier-head span,.vt-school .vs-meta,.vt-school .vs-tag,.vt-school .vs-gap,.vt-toggle-answer,.vt-empty,.tool-error span){font-size:12px;}
  #view-grade :is(.eg-sub-card .sc-title,.eg-list-sec h3 .eg-record-label,.eg-record-group-head){font-size:12px;}
  #view-grade .topbar p,
  #view-edu-detail .topbar p,
  #view-erase .topbar p,
  #view-volunteer .topbar p,
  #view-volunteer .ed-hero p{font-size:12px;}
  #view-edu-detail :is(.ed-erase-record-head time,.ed-erase-file b,.ed-erase-file small,.ed-mistake-no,.ed-mistake-kp,.ed-compose-source-card .ecs-main small,.ed-compose-file .ecf-tags i,.ed-compose-file .ecf-right time){font-size:12px;}
