/* =========================================================
   帮学仕 · 动态实验室  ——  样式
   主色：帮学仕橙 #FF6A1A   AI 紫 #7C3AED
   ========================================================= */
:root{
  --bg:#FFF8F1;
  --bg2:#FFFFFF;
  --card:#FFFFFF;
  --line:#F5E6D6;
  --line2:#EFD9C3;
  --ink:#1B2432;
  --ink2:#5B6675;
  --muted:#98A2B3;
  --orange:#FF6A1A;
  --orange2:#FF8A3D;
  --orange-d:#D9480A;
  --orange-l:#FFF1E6;
  --purple:#7C3AED;
  --purple-l:#F4EDFF;
  --blue:#2F80ED;
  --ok:#0E9F6E;
  --hot:#EF4444;
  --side:292px;
  --r:20px;
  --clay:0 4px 0 var(--line2), 0 12px 28px rgba(180,120,60,.08);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:
    radial-gradient(900px 600px at 85% -10%, #FFE9D6 0%, rgba(255,233,214,0) 60%),
    radial-gradient(700px 500px at 0% 100%, #FDEEDF 0%, rgba(253,238,223,0) 55%),
    var(--bg);
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
  -webkit-tap-highlight-color:transparent;
}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3,h4,h5,p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
b,strong{font-weight:800}

.app{display:flex;min-height:100vh}

/* ---------------- 侧边栏 ---------------- */
.sidebar{
  width:var(--side);flex:0 0 var(--side);
  background:linear-gradient(180deg,#FFFFFF,#FFFCF8);
  border-right:1.5px solid var(--line);
  display:flex;flex-direction:column;
  position:sticky;top:0;height:100vh;overflow:hidden;z-index:30;
}
.brand{display:flex;align-items:center;gap:11px;padding:18px 16px 12px}
.brand-logo{
  width:44px;height:44px;flex:none;border-radius:15px;display:grid;place-items:center;
  font-size:22px;font-weight:900;color:#fff;
  background:linear-gradient(160deg,#FFA05C,var(--orange) 55%,#F0520A);
  box-shadow:0 4px 0 #C7400A, 0 10px 22px rgba(255,106,26,.30);
}
.brand-txt h1{font-size:14.5px;font-weight:900;letter-spacing:.2px;line-height:1.2}
.brand-txt p{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.3}
.brand .icon-btn{margin-left:auto}

.campus-chip{
  margin:0 14px 12px;padding:9px 12px;border-radius:12px;
  background:var(--orange-l);border:1.5px dashed #FFCFA8;
  display:flex;align-items:center;gap:7px;font-size:12px;font-weight:800;color:#C2460D;
}
.cc-dot{width:7px;height:7px;border-radius:50%;background:#22C55E;box-shadow:0 0 0 3px rgba(34,197,94,.18);flex:none}
.campus-chip span:nth-child(2){flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cc-tag{font-size:10px;padding:2px 6px;border-radius:6px;background:#fff;color:#D9762F;font-weight:800}

.subject-bar{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 14px 10px}
.subject{
  display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;
  column-gap:8px;align-items:center;padding:10px 11px;border-radius:14px;
  border:1.5px solid var(--line2);background:#fff;text-align:left;
  box-shadow:0 3px 0 #F7E9DA;transition:.18s;
}
.subject .ic{grid-row:1/3;font-size:16px;color:var(--muted)}
.subject .sb-name{font-size:13px;font-weight:800;line-height:1.2}
.subject small{font-size:10.5px;color:var(--muted);line-height:1.2}
.subject.active{
  border-color:var(--orange);background:linear-gradient(140deg,#FFF3E8,#FFE6D3);
  box-shadow:0 3px 0 #F5BE95, 0 8px 18px rgba(255,106,26,.16);
}
.subject.active .ic{color:var(--orange)}

.tree{flex:1;overflow-y:auto;padding:2px 10px 18px;scrollbar-width:thin}
.tree::-webkit-scrollbar{width:6px}
.tree::-webkit-scrollbar-thumb{background:#EEDCC8;border-radius:3px}
.cat{margin:4px 0}
.cat-head{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;text-align:left}
.cat-head:hover{background:#FFF6EE}
.cat-ic{
  width:28px;height:28px;flex:none;border-radius:9px;display:grid;place-items:center;
  font-size:14px;background:#FFF0E2;color:#D9762F;font-weight:800;
}
.cat-name{flex:1;display:flex;flex-direction:column;font-size:13px;font-weight:800;line-height:1.25}
.cat-name small{font-size:10.5px;color:var(--muted);font-weight:600;margin-top:2px}
.chev{color:var(--muted);font-size:16px;transition:transform .2s}
.cat.open .chev{transform:rotate(90deg)}
.models{display:none;margin:2px 0 6px 16px;padding-left:10px;border-left:2px dashed var(--line2)}
.cat.open .models{display:block}
.model{
  width:100%;display:flex;gap:9px;align-items:center;padding:7px 9px;border-radius:10px;
  text-align:left;color:#48546A;transition:.15s;
}
.model b{
  width:19px;height:19px;flex:none;border-radius:6px;display:grid;place-items:center;
  font-size:10.5px;background:#F6EEE5;color:#A08A76;
}
.model span{display:flex;flex-direction:column;font-size:12.5px;font-weight:700;line-height:1.25;min-width:0}
.model small{font-size:10px;color:var(--muted);font-weight:600;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.model:hover{background:#FFF6EE}
.model.active{background:linear-gradient(90deg,#FFEFE1,#FFF8F2);box-shadow:inset 3px 0 0 var(--orange)}
.model.active b{background:var(--orange);color:#fff}
.tree-empty{color:var(--muted);font-size:12px;text-align:center;padding:24px 0}

.side-cta{
  margin:10px 14px 14px;padding:13px;border-radius:18px;
  background:linear-gradient(150deg,#FFF2E6,#FFE9DA);
  border:1.5px solid #FFD9BC;
}
.side-cta-head{display:flex;gap:9px;align-items:flex-start;margin-bottom:10px}
.sc-ic{font-size:18px;line-height:1.2}
.sc-title{font-size:13px;font-weight:900;color:#B8430C}
.sc-desc{font-size:11px;color:#A9704B;margin-top:3px;line-height:1.35}
.sc-note{font-size:10.5px;color:#B58A6C;text-align:center;margin-top:8px}

.scrim{display:none}

/* ---------------- 顶栏 ---------------- */
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{
  position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;
  padding:11px 22px;border-bottom:1.5px solid var(--line);
  background:rgba(255,252,247,.88);backdrop-filter:blur(14px);
}
.crumb{flex:1;min-width:0;display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted);overflow:hidden}
.crumb i{font-style:normal;opacity:.5}
.cb-sub,.cb-cat{white-space:nowrap}
.cb-cur{color:var(--ink);font-weight:800;background:#F7EDE2;padding:4px 9px;border-radius:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-actions{display:flex;gap:8px;align-items:center;flex:none}

/* ---------------- 按钮 ---------------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:10px 16px;border-radius:13px;font-size:13.5px;font-weight:800;
  transition:transform .12s, box-shadow .12s, background .15s;white-space:nowrap;
}
.btn:active{transform:translateY(2px)}
.btn.primary{
  color:#fff;background:linear-gradient(180deg,#FF9147,var(--orange) 55%,#F35A0B);
  box-shadow:0 4px 0 var(--orange-d), 0 10px 22px rgba(255,106,26,.26);
}
.btn.primary:active{box-shadow:0 2px 0 var(--orange-d), 0 6px 14px rgba(255,106,26,.24)}
.btn.ghost{background:#fff;border:1.5px solid var(--line2);color:#4A566B;box-shadow:0 2px 0 #F7E9DA}
.btn.ghost:hover{border-color:#DFC3A6;background:#FFFCF8}
/* 交互音效开关 */
.sfx-btn{transition:opacity .18s, background .18s}
.sfx-btn.muted{opacity:.6;background:#F4F0EA}
.sfx-btn.muted:hover{opacity:.9}
.btn.reset{background:#fff;border:1.5px solid var(--line2);color:#7A6A58;box-shadow:0 2px 0 #F7E9DA}
.btn.sm{padding:8px 13px;font-size:12.5px;border-radius:11px}
.btn.lg{padding:13px 18px;font-size:14.5px}
.btn.block{width:100%}
.badge{
  display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;
  border-radius:9px;background:var(--orange);color:#fff;font-size:10.5px;font-weight:900;
}
.icon-btn{
  width:34px;height:34px;flex:none;border-radius:11px;display:grid;place-items:center;
  border:1.5px solid var(--line2);background:#fff;color:#5E6B80;font-size:17px;
  box-shadow:0 2px 0 #F7E9DA;
}
.icon-btn:hover{background:#FFF7F0}
.only-mobile{display:none}

/* ---------------- 工作区 ---------------- */
.workspace{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(340px,.85fr);
  grid-template-areas:"head head" "figs figs" "stage side";
  gap:12px 20px;padding:16px 22px 44px;align-items:start;
}
.model-head{grid-area:head;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.mh-main h2{font-size:21px;font-weight:900;letter-spacing:.2px;line-height:1.25}
.mh-main p{font-size:13px;color:var(--ink2);margin-top:5px;line-height:1.45}
.model-tags{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}
.tag{
  font-size:11px;font-weight:800;padding:4px 9px;border-radius:8px;
  background:#F7EDE2;color:#8A7259;
}
.tag.grade{background:#FFF1E6;color:#D96518;border:1px solid #FFD8B8}
.pager{display:flex;gap:6px}

.figure-bar{grid-area:figs;display:flex;gap:7px;flex-wrap:wrap;align-items:center;min-height:0}
.figure-bar:empty{display:none}
.fig-lbl{font-size:11.5px;font-weight:800;color:var(--muted);margin-right:2px}
.chip{
  padding:7px 13px;border-radius:999px;font-size:12px;font-weight:800;
  border:1.5px solid var(--line2);background:#fff;color:#6A7688;
  box-shadow:0 2px 0 #F7E9DA;transition:.15s;
}
.chip:hover{border-color:#E3C6A8}
.chip.active{
  border-color:var(--orange);color:#D9550C;background:#FFF0E3;
  box-shadow:0 3px 0 #F6BE92, 0 8px 16px rgba(255,106,26,.14);
}

.stage-col{grid-area:stage;min-width:0;display:flex;flex-direction:column;gap:11px}
.stage{
  background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);
  padding:10px;box-shadow:var(--clay);
}
.canvas-wrap{
  position:relative;width:100%;aspect-ratio:4/3;border-radius:14px;overflow:hidden;
  background:
    radial-gradient(120% 100% at 50% 0%, #FFFDF9 0%, #FFF8F0 100%);
  border:1px solid #F7EBDD;
}
.canvas-wrap canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;display:block}
.canvas-wrap canvas.dragging{cursor:grabbing}
.canvas-hint-mobile{
  display:none;position:absolute;left:0;right:0;bottom:8px;text-align:center;
  font-size:11px;color:#B49B84;font-weight:700;pointer-events:none;
}
.stage-foot{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:9px 3px 2px}
.demos{display:flex;gap:7px;flex-wrap:wrap;flex:1}
.demo-btn{
  padding:7px 12px;border-radius:11px;font-size:12px;font-weight:800;
  background:var(--purple-l);color:#6A34D6;border:1.5px solid #E2D3FF;
  box-shadow:0 2px 0 #E4D8FB;transition:.15s;
}
.demo-btn:hover{background:#EFE4FF}
.demo-btn.playing{background:var(--purple);color:#fff;border-color:var(--purple);box-shadow:0 2px 0 #5B21B6}
.hint{font-size:12px;color:#9A8571;padding:2px 4px 0;font-weight:600}

/* 实时读数 */
.readout{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(152px,1fr));gap:8px;
}
.ro{
  display:flex;align-items:baseline;justify-content:space-between;gap:8px;
  padding:9px 12px;border-radius:12px;background:#fff;border:1.5px solid var(--line);
  box-shadow:0 2px 0 #FAEFE3;
}
.ro.wide{grid-column:1/-1}
.ro-k{font-size:11.5px;color:var(--muted);font-weight:700;white-space:nowrap}
.ro-v{
  font-size:14px;font-weight:900;color:#3B4658;
  font-variant-numeric:tabular-nums;letter-spacing:.2px;text-align:right;
}
.ro-v.ok{color:var(--ok)}
.ro-v.hot{color:var(--hot)}
.ro-v.a{color:var(--orange)}
.ro-v.b{color:var(--blue)}
.ro-v.c{color:var(--purple)}
.ro-v.muted{color:var(--muted)}

/* 滑块 */
.sliders{display:flex;flex-direction:column;gap:8px}
.slider-row{
  display:grid;grid-template-columns:128px 1fr;gap:12px;align-items:center;
  padding:9px 13px;background:#fff;border:1.5px solid var(--line);border-radius:12px;
}
.slider-row label{font-size:12px;color:var(--ink2);font-weight:700}
.slider-row label b{color:var(--orange);font-weight:900;font-variant-numeric:tabular-nums}
input[type=range]{
  -webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;
  background:#F3E3D3;outline:none;
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:20px;height:20px;border-radius:50%;
  background:#fff;border:3px solid var(--orange);cursor:grab;
  box-shadow:0 2px 6px rgba(255,106,26,.35);
}
input[type=range]::-moz-range-thumb{
  width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--orange);cursor:grab;
}

/* ---------------- 右栏 ---------------- */
.side-col{grid-area:side;min-width:0;display:flex;flex-direction:column;gap:12px}
.panel{
  background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);
  padding:6px 16px 14px;box-shadow:var(--clay);
}
.panel-sec{padding:13px 0;border-bottom:1px dashed #F3E3D3}
.panel-sec:last-child{border-bottom:0;padding-bottom:4px}
.panel-sec h4{
  display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:900;
  color:#4B5668;letter-spacing:.3px;margin-bottom:8px;
}
.pi{font-size:13px}
.why{counter-reset:w;display:flex;flex-direction:column;gap:8px}
.why li{
  counter-increment:w;position:relative;padding-left:24px;
  font-size:12.5px;line-height:1.65;color:#4F5B6E;
}
.why li::before{
  content:counter(w);position:absolute;left:0;top:2px;
  width:17px;height:17px;border-radius:50%;display:grid;place-items:center;
  font-size:10px;font-weight:900;color:#fff;background:var(--orange);
}
.kv{display:flex;flex-direction:column;gap:6px}
.kv li{
  font-size:12.5px;color:#4F5B6E;padding:6px 10px;border-radius:9px;
  background:#FBF6F0;line-height:1.5;font-weight:600;
}
.always{display:flex;flex-direction:column;gap:6px}
.always li{
  position:relative;padding-left:20px;font-size:12.5px;line-height:1.55;color:#31604F;font-weight:700;
}
.always li::before{
  content:"✓";position:absolute;left:0;top:0;color:var(--ok);font-weight:900;font-size:12px;
}
.concl{background:linear-gradient(120deg,#FFF6EE,#FFFBF6);margin:0 -16px -14px;padding:14px 16px 16px;border-radius:0 0 var(--r) var(--r);border-bottom:0!important}
.concl p{font-size:12.5px;line-height:1.7;color:#8A5326;font-weight:700}

.cta-card{
  border-radius:var(--r);padding:15px 16px 14px;
  background:linear-gradient(155deg,#FF8A3D 0%,#FF6A1A 46%,#F2500A 100%);
  color:#fff;box-shadow:0 5px 0 #C7420A, 0 16px 34px rgba(255,106,26,.28);
  position:relative;overflow:hidden;
}
.cta-card::after{
  content:"";position:absolute;right:-46px;top:-46px;width:140px;height:140px;
  border-radius:50%;background:rgba(255,255,255,.13);
}
.cta-card.hot{box-shadow:0 5px 0 #C7420A, 0 16px 34px rgba(255,106,26,.42), 0 0 0 3px rgba(255,138,61,.25)}
.cta-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}
.cta-badge{
  font-size:10.5px;font-weight:900;padding:3px 8px;border-radius:7px;
  background:rgba(255,255,255,.22);letter-spacing:.4px;
}
.cta-prog{font-size:11px;opacity:.9;font-weight:700}
.cta-prog b{font-weight:900}
.cta-track{height:5px;border-radius:3px;background:rgba(255,255,255,.25);overflow:hidden;margin-bottom:11px}
.cta-track i{display:block;height:100%;width:0;background:#fff;border-radius:3px;transition:width .4s}
.cta-card h3{font-size:14.5px;font-weight:900;line-height:1.35}
.cta-card p{font-size:12px;line-height:1.6;opacity:.94;margin-top:6px}
.cta-card .btn{margin-top:11px;background:#fff;color:#D9480A;box-shadow:0 3px 0 rgba(150,50,0,.35)}
.cta-note{font-size:10.5px;opacity:.82;text-align:center;margin-top:7px!important}

/* ---------------- 模态框 ---------------- */
body.modal-open{overflow:hidden}
.modal{
  position:fixed;inset:0;z-index:100;display:none;
  align-items:center;justify-content:center;padding:20px;
  background:rgba(40,26,14,.42);backdrop-filter:blur(6px);
}
.modal.open{display:flex;animation:fadeIn .18s ease}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.modal-card{
  position:relative;width:100%;max-width:470px;max-height:90vh;overflow:auto;
  background:#fff;border-radius:22px;padding:24px;
  box-shadow:0 24px 70px rgba(60,30,10,.32);
  animation:pop .22s cubic-bezier(.2,.9,.3,1.2);
}
.modal-card.wide{max-width:620px}
.modal-card.poster{max-width:420px}
@keyframes pop{from{transform:translateY(14px) scale(.97);opacity:0}to{transform:none;opacity:1}}
.modal-x{
  position:absolute;right:14px;top:14px;width:30px;height:30px;border-radius:9px;
  display:grid;place-items:center;color:var(--muted);font-size:14px;background:#FBF5EE;
}
.modal-x:hover{background:#F5E9DC;color:var(--ink)}
.modal-head{margin-bottom:16px;padding-right:26px}
.modal-head.compact{margin-bottom:12px}
.eyebrow{
  display:inline-block;font-size:10.5px;font-weight:900;letter-spacing:.6px;
  color:#D9550C;background:#FFF0E3;padding:3px 8px;border-radius:6px;margin-bottom:8px;
}
.modal-head h3{font-size:19px;font-weight:900;line-height:1.3}
.modal-head p{font-size:12.5px;color:var(--ink2);margin-top:6px;line-height:1.55}

.lead-form{display:flex;flex-direction:column;gap:12px}
.field{display:flex;flex-direction:column;gap:6px}
.field>span{font-size:12px;font-weight:800;color:#55617A}
.field>span i{font-style:normal;color:var(--muted);font-weight:600;font-size:11px}
.field input,.field select{
  width:100%;padding:12px 13px;border-radius:12px;border:1.5px solid var(--line2);
  background:#FFFCF8;font-size:14px;color:var(--ink);outline:none;transition:.15s;
  font-family:inherit;
}
.field input:focus,.field select:focus{border-color:var(--orange);background:#fff;box-shadow:0 0 0 3px rgba(255,106,26,.12)}
.field input.err{border-color:var(--hot);background:#FFF5F5}
.field-err{font-size:11px;color:var(--hot);font-weight:700;font-style:normal}
.form-tip{font-size:11px;color:var(--muted);text-align:center;line-height:1.5;margin-top:-2px}

.succ-ic{
  width:52px;height:52px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;
  background:linear-gradient(160deg,#34D399,#0E9F6E);color:#fff;font-size:26px;font-weight:900;
  box-shadow:0 6px 18px rgba(14,159,110,.32);
}
#leadSuccessView h3{font-size:18px;text-align:center;font-weight:900}
.succ-sub{font-size:12.5px;color:var(--ink2);text-align:center;line-height:1.6;margin-top:8px}
.succ-sub b{color:#D9550C}
.succ-diag{
  background:#FBF7F1;border-radius:14px;padding:13px 15px;margin:14px 0;
  border:1px dashed #EBD8C2;
}
.succ-diag h5{font-size:12px;font-weight:900;color:#7A6A58;margin-bottom:8px}
.succ-diag li{
  font-size:12px;line-height:1.7;color:#55617A;position:relative;padding-left:13px;margin-bottom:6px;
}
.succ-diag li::before{content:"";position:absolute;left:0;top:8px;width:5px;height:5px;border-radius:50%;background:var(--orange)}
.succ-diag li:last-child{margin-bottom:0}
.succ-diag b{color:#D9550C}
.succ-tip{font-size:11.5px;color:var(--muted);line-height:1.6;margin-bottom:14px}

/* 报告 */
.rp-hero{display:flex;gap:16px;align-items:center;padding:4px 0 16px}
.rp-ring{
  width:82px;height:82px;flex:none;border-radius:50%;
  background:conic-gradient(var(--orange) calc(var(--p) * 1%), #F5E8DA 0);
  display:grid;place-items:center;
}
.rp-ring-in{
  width:64px;height:64px;border-radius:50%;background:#fff;display:grid;place-items:center;
  grid-auto-flow:column;font-size:20px;font-weight:900;color:var(--orange);
}
.rp-ring-in span{font-size:11px;color:var(--muted);font-weight:700;margin-left:1px}
.rp-hero-txt h3{font-size:17px;font-weight:900}
.rp-hero-txt p{font-size:12.5px;color:var(--ink2);margin-top:5px;line-height:1.5}
.rp-hero-txt b{color:#D9550C}
.rp-block{margin-bottom:16px}
.rp-block h4{font-size:12px;font-weight:900;color:#7A6A58;margin-bottom:8px;letter-spacing:.3px}
.rp-tags{display:flex;flex-wrap:wrap;gap:6px}
.rp-tag{font-size:11px;font-weight:800;padding:5px 9px;border-radius:8px;background:#FFF1E6;color:#C25A16;border:1px solid #FFDFC4}
.rp-empty{font-size:12px;color:var(--muted)}
.rp-list{display:flex;flex-direction:column;gap:6px}
.rp-item{
  display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:11px;
  background:#FBF7F2;border:1px solid #F5E9DC;
}
.rp-item.on{background:#F4FBF7;border-color:#D6F0E2}
.rp-check{
  width:18px;height:18px;flex:none;border-radius:50%;display:grid;place-items:center;
  background:#EADFD2;color:transparent;font-size:11px;font-weight:900;
}
.rp-item.on .rp-check{background:var(--ok);color:#fff}
.rp-name{flex:1;font-size:12.5px;font-weight:800;color:#4B5668;display:flex;flex-direction:column}
.rp-name small{font-size:10.5px;color:var(--muted);font-weight:600;margin-top:2px}
.rp-go{font-size:10.5px;font-weight:800;color:var(--muted)}
.rp-item.on .rp-go{color:var(--ok)}
.rp-diag li{font-size:12px;line-height:1.75;color:#55617A;position:relative;padding-left:14px;margin-bottom:7px}
.rp-diag li::before{content:"";position:absolute;left:0;top:9px;width:5px;height:5px;border-radius:50%;background:var(--orange)}
.rp-diag b{color:#D9550C}
.rp-actions{display:flex;flex-direction:column;gap:8px;margin-top:4px}

/* 海报 */
.poster-stage{display:grid;place-items:center;min-height:200px;position:relative}
#posterCanvas{width:100%;max-width:300px;height:auto;border-radius:14px;box-shadow:0 12px 30px rgba(120,70,30,.18)}
.poster-loading{font-size:12px;color:var(--muted);position:absolute}
.poster-actions{display:flex;gap:8px;margin-top:14px}
.poster-actions .btn{flex:1}

/* 后台 */
.ad-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
.ad-stat{background:#FBF7F2;border:1px solid #F2E4D4;border-radius:12px;padding:11px;text-align:center}
.ad-stat b{display:block;font-size:20px;font-weight:900;color:var(--orange);font-variant-numeric:tabular-nums}
.ad-stat span{font-size:10.5px;color:var(--muted);font-weight:700}
.ad-tools{display:flex;gap:8px;margin-bottom:10px}
.ad-table{max-height:46vh;overflow:auto;border:1px solid #F2E4D4;border-radius:12px}
.ad-table table{width:100%;border-collapse:collapse;font-size:11.5px}
.ad-table th{
  position:sticky;top:0;background:#FBF7F2;text-align:left;padding:9px 10px;
  font-weight:900;color:#7A6A58;white-space:nowrap;border-bottom:1px solid #F2E4D4;
}
.ad-table td{padding:9px 10px;border-bottom:1px solid #FAF2E8;color:#55617A;white-space:nowrap}
.ad-table tr:last-child td{border-bottom:0}
.ad-table .mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums}
.ad-empty{font-size:12.5px;color:var(--muted);text-align:center;padding:30px 10px}

/* Toast */
.toast{
  position:fixed;left:50%;bottom:34px;transform:translate(-50%,20px);
  background:rgba(30,22,14,.9);color:#fff;font-size:13px;font-weight:700;
  padding:11px 18px;border-radius:12px;opacity:0;pointer-events:none;
  transition:.25s;z-index:200;backdrop-filter:blur(6px);
}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* ---------------- 响应式 ---------------- */
@media (max-width:1180px){
  .workspace{grid-template-columns:1fr;grid-template-areas:"head" "figs" "stage" "side"}
  .side-col{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:12px}
  .panel{flex:1 1 380px}
  .cta-card{flex:1 1 280px}
}
@media (max-width:1024px){
  .only-mobile{display:grid}
  .sidebar{
    position:fixed;left:0;top:0;bottom:0;height:100%;
    transform:translateX(-102%);transition:transform .26s cubic-bezier(.3,.9,.3,1);
    box-shadow:0 0 60px rgba(60,30,10,.18);
  }
  body.drawer-open .sidebar{transform:none}
  body.drawer-open .scrim{
    display:block;position:fixed;inset:0;background:rgba(40,26,14,.35);
    backdrop-filter:blur(2px);z-index:25;
  }
  .topbar{padding:10px 14px}
  .workspace{padding:12px 14px 40px;gap:11px}
  .canvas-hint-mobile{display:block}
  .mh-main h2{font-size:18px}
  .model-tags{margin-left:0;order:3;width:100%}
  .pager{margin-left:auto}
  .readout{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
}
@media (max-width:720px){
  .top-actions .btn:not(.primary):not(.sfx-btn){display:none}
  .sfx-btn .sfx-txt{display:none}
  .sfx-btn{padding:8px 10px;min-width:40px;font-size:14px}
  .crumb{font-size:11.5px}
  .canvas-wrap{aspect-ratio:1/1}
  .stage{padding:8px}
  .ro{padding:8px 10px}
  .ro-v{font-size:13px}
  .side-col{flex-direction:column}
  .panel,.cta-card{flex:1 1 100%}
  .modal{padding:12px;align-items:flex-end}
  .modal-card{max-height:92vh;border-radius:20px}
  .ad-stats{grid-template-columns:repeat(2,1fr)}
  .slider-row{grid-template-columns:100px 1fr;gap:8px;padding:8px 10px}
}

/* =========================================================
   AI 伴学讲解 · 智能教案
   ========================================================= */
.teach-group{display:flex;gap:7px;flex-wrap:wrap;flex:none}
.teach-btn{
  display:inline-flex;align-items:center;gap:5px;
  padding:7px 12px;border-radius:11px;font-size:12px;font-weight:800;
  background:linear-gradient(135deg,#7C3AED,#A855F7);color:#fff;
  box-shadow:0 2px 0 #5B21B6,0 6px 16px rgba(124,58,237,.22);
  transition:.15s;white-space:nowrap;
}
.teach-btn:hover{transform:translateY(-1px);box-shadow:0 3px 0 #5B21B6,0 8px 20px rgba(124,58,237,.3)}
.teach-btn.on{background:linear-gradient(135deg,#5B21B6,#7C3AED)}
.teach-btn.plan{background:linear-gradient(135deg,#FF6A1A,#FF8A3D);box-shadow:0 2px 0 #C2410C,0 6px 16px rgba(255,106,26,.22)}
.teach-btn.plan:hover{box-shadow:0 3px 0 #C2410C,0 8px 20px rgba(255,106,26,.3)}
.teach-btn span{font-size:13px;line-height:1}

/* ---- 讲解字幕条 ---- */
.nar{
  margin-top:9px;border-radius:15px;padding:11px 13px 9px;
  background:linear-gradient(180deg,#FBF7FF 0%,#F6F0FF 100%);
  border:1.5px solid #E6DBFB;
  box-shadow:0 3px 0 #EEE6FB;
  animation:pop .22s cubic-bezier(.2,.9,.3,1.2);
}
.nar-head{display:flex;gap:10px;align-items:flex-start}
.nar-face{
  flex:none;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;
  background:linear-gradient(135deg,#7C3AED,#A855F7);font-size:15px;
  box-shadow:0 2px 6px rgba(124,58,237,.3);
}
.nar-txt{flex:1;min-width:0}
.nar-tag{display:flex;align-items:center;gap:8px;margin-bottom:2px}
.nar-tag b{font-size:11px;color:#6B21A8;background:#EDE4FE;padding:2px 8px;border-radius:7px;font-weight:900}
.nar-tag span{font-size:10.5px;color:#A78BFA;font-weight:800;font-variant-numeric:tabular-nums}
.nar-txt p{
  margin:0;font-size:13.5px;line-height:1.62;color:#2B1C4A;font-weight:600;
  min-height:44px;
}
.nar-bar{height:4px;border-radius:99px;background:#E9DFFB;margin:8px 0 7px;overflow:hidden}
.nar-bar i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,#7C3AED,#C084FC);transition:width .35s linear}
.nar-ctrl{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.nar-btn{
  padding:5px 11px;border-radius:9px;font-size:11.5px;font-weight:800;
  background:#fff;border:1.5px solid #E6DBFB;color:#6B21A8;transition:.14s;
}
.nar-btn:hover{background:#F3ECFF}
.nar-btn.main{background:#7C3AED;color:#fff;border-color:#7C3AED;box-shadow:0 2px 0 #5B21B6}
.nar-btn.main:hover{background:#6D28D9}
.nar-btn.ghost{border-color:transparent;background:transparent;color:#A78BFA;font-size:13px;padding:5px 8px}
.nar-btn.ghost:hover{color:#6B21A8;background:#F3ECFF}
.nar-btn:disabled{opacity:.42;cursor:not-allowed}

/* ---- 教案弹窗 ---- */
.plan-hero{
  display:flex;gap:12px;align-items:center;flex-wrap:wrap;
  background:linear-gradient(135deg,#FFF3E8,#FFF9F2);
  border:1.5px solid #FBE0CA;border-radius:15px;padding:13px 15px;margin-bottom:14px;
}
.plan-hero .ph-ic{font-size:22px}
.plan-hero h4{margin:0;font-size:16px;font-weight:900}
.plan-hero p{margin:3px 0 0;font-size:12px;color:var(--ink2);font-weight:600}
.plan-meta{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}
.plan-meta span{font-size:11px;font-weight:800;color:#B45309;background:#FFEDDC;padding:3px 9px;border-radius:8px}

.plan-block{margin-bottom:15px}
.plan-block h5{
  margin:0 0 8px;font-size:13px;font-weight:900;color:var(--ink);
  display:flex;align-items:center;gap:6px;
}
.plan-block h5::before{content:'';width:3px;height:13px;border-radius:2px;background:var(--orange)}
.plan-block.goal h5::before{background:var(--blue)}
.plan-block.miss h5::before{background:var(--hot)}
.plan-block.ask h5::before{background:var(--purple)}
.plan-block.hw h5::before{background:var(--ok)}

.plan-goals{display:grid;gap:7px}
.plan-goal{display:flex;gap:9px;font-size:12.5px;line-height:1.55;color:var(--ink2)}
.plan-goal b{
  flex:none;font-size:11px;font-weight:900;color:#1D4ED8;background:#E8F0FE;
  padding:2px 7px;border-radius:7px;height:fit-content;margin-top:1px;
}

.plan-flow{display:grid;gap:8px}
.plan-step{
  display:grid;grid-template-columns:56px 1fr;gap:10px;
  background:#FFFCF8;border:1.5px solid #F5E6D6;border-radius:12px;padding:9px 11px;
}
.plan-step .ps-t{
  font-size:11.5px;font-weight:900;color:var(--orange-d);
  display:flex;flex-direction:column;gap:2px;
}
.plan-step .ps-t small{font-size:10px;color:#B08663;font-weight:800}
.plan-step .ps-b{font-size:12px;line-height:1.6;color:var(--ink2)}
.plan-step .ps-b b{color:var(--ink);font-weight:800}
.plan-step .ps-b em{font-style:normal;color:#8B5CF6;font-weight:800}

.plan-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.plan-list li{
  font-size:12.5px;line-height:1.55;color:var(--ink2);
  padding-left:20px;position:relative;
}
.plan-list li::before{
  content:counter(pl);counter-increment:pl;
  position:absolute;left:0;top:1px;width:15px;height:15px;border-radius:5px;
  background:#FFEDDC;color:#C2410C;font-size:9.5px;font-weight:900;
  display:grid;place-items:center;
}
.plan-list{counter-reset:pl}
.plan-list.miss li::before{background:#FEE2E2;color:#B91C1C}
.plan-list.board li::before{background:#E8F0FE;color:#1D4ED8}

.plan-qa{display:grid;gap:9px}
.plan-q{background:#FAF7FF;border:1.5px solid #EDE4FE;border-radius:12px;padding:9px 11px}
.plan-q p{margin:0;font-size:12.5px;line-height:1.55;font-weight:700;color:#3B1E6E}
.plan-q span{display:block;margin-top:4px;font-size:11.5px;line-height:1.5;color:#7C6A9E;font-weight:600}

.plan-hw{display:grid;gap:8px}
.plan-hw-i{border:1.5px solid #E3F2EC;border-radius:12px;padding:9px 11px;background:#F7FDFA}
.plan-hw-i .q{font-size:12.5px;line-height:1.55;font-weight:700;color:#134E3A}
.plan-hw-i .a{margin-top:4px;font-size:11.5px;color:#0E9F6E;font-weight:900}
.plan-hw-i .s{margin-top:2px;font-size:11.5px;color:#5B7C70;font-weight:600;line-height:1.5}

.plan-concl{
  background:linear-gradient(135deg,#FFF7ED,#FFFBF5);border:1.5px dashed #F5C99B;
  border-radius:13px;padding:11px 13px;font-size:12.5px;line-height:1.6;
  color:#8A4B12;font-weight:700;
}
.plan-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.plan-actions .btn{flex:1 1 46%}

@media (max-width:640px){
  .teach-group{flex:1 1 100%}
  .teach-btn{flex:1;justify-content:center}
  .nar-txt p{font-size:12.5px;min-height:52px}
  .plan-step{grid-template-columns:50px 1fr;gap:8px}
}

/* =========================================================
   学习路径条 · 知识地图
   ========================================================= */
.path-strip{
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;
  padding:7px 10px;margin:0 0 8px;border-radius:13px;
  background:linear-gradient(135deg,#FBFAFF,#FFF8F2);
  border:1px solid #EEE7FA;
}
.ps-lbl{
  font-size:10.5px;font-weight:900;color:#7C3AED;background:#F1E9FF;
  padding:2px 8px;border-radius:7px;margin-right:2px;white-space:nowrap;
}
.ps-seg{display:flex;gap:5px;flex-wrap:wrap}
.ps-chip{
  font-size:11px;font-weight:800;color:#6B7280;background:#fff;
  border:1.5px solid #E8E3F2;border-radius:8px;padding:3px 8px;transition:.14s;
}
.ps-chip:hover{border-color:#C4B5FD;color:#6D28D9;background:#FAF7FF}
.ps-chip.next{color:#B45309;border-color:#FCE3C8;background:#FFFAF4}
.ps-chip.next:hover{border-color:#FBBF24;background:#FFF3E4}
.ps-ar{font-size:11px;color:#C4B5FD;font-style:normal;font-weight:900}
.ps-cur{
  font-size:11.5px;font-weight:900;color:#fff;
  background:linear-gradient(135deg,#FF6A1A,#FF8A3D);
  padding:4px 11px;border-radius:8px;box-shadow:0 2px 0 #D9500C;
}
.ps-map{
  margin-left:auto;font-size:11px;font-weight:900;color:#7C3AED;
  background:#F4EDFF;border:1.5px solid #E2D3FF;border-radius:8px;padding:4px 10px;transition:.14s;
}
.ps-map:hover{background:#EAE0FF}

.map-tip{
  margin:0 0 12px;font-size:12px;line-height:1.6;color:var(--ink2);
  background:#FFFAF3;border:1px dashed #F3D9BC;border-radius:11px;padding:9px 11px;font-weight:600;
}
.map-sub{margin-bottom:16px}
.map-sub-h{
  display:flex;align-items:center;gap:7px;font-size:14px;font-weight:900;color:var(--ink);
  padding-bottom:7px;margin-bottom:8px;border-bottom:1.5px solid var(--line);
}
.map-sub-h .ms-ic{
  width:22px;height:22px;border-radius:7px;display:grid;place-items:center;
  background:linear-gradient(135deg,#FFF1E6,#FFE6D2);font-size:12px;
}
.map-sub-h em{margin-left:auto;font-style:normal;font-size:10.5px;font-weight:800;color:var(--muted)}
.map-board{margin-bottom:7px;padding-left:4px}
.map-board-h{display:flex;align-items:center;gap:6px;margin-bottom:5px}
.map-board-h b{font-size:11.5px;font-weight:900;color:var(--ink2)}
.map-board-h i{
  font-style:normal;font-size:9.5px;font-weight:900;color:#B45309;
  background:#FFF1E2;border-radius:6px;padding:1px 6px;
}
.map-chain{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.map-ar{color:#E0D6F5;font-size:12px;font-weight:900;margin:0 1px}
.map-node{
  font-size:11px;font-weight:800;color:#5B6675;background:#FCFAF7;
  border:1.5px solid #EFE6DA;border-radius:8px;padding:3px 8px;transition:.14s;
}
.map-node:hover{border-color:#FFB37A;color:var(--orange-d);background:#FFF7F0}
.map-node.done{background:#EAF7F0;border-color:#B7E8D2;color:#0E9F6E}
.map-node.cur{
  background:linear-gradient(135deg,#FF6A1A,#FF8A3D);border-color:#FF6A1A;color:#fff;
  box-shadow:0 2px 0 #D9500C;
}

/* ============ v1.5 精细化：变与不变浮层 / 错因 / 考法 / 家长自标 ============ */
.inv-badge{
  position:absolute; right:10px; top:10px; z-index:3;
  max-width:min(58%, 260px);
  background:rgba(255,255,255,.93);
  border:1px solid #F0E2D2; border-radius:12px;
  padding:8px 10px 9px; box-shadow:0 4px 14px rgba(120,80,40,.10);
  pointer-events:none; backdrop-filter:blur(3px);
}
.inv-badge[hidden]{display:none}
.inv-t{font-size:11px;font-weight:700;color:#8A6A4B;letter-spacing:.5px;margin-bottom:6px}
.inv-r{display:flex;align-items:flex-start;gap:6px;margin-top:5px;line-height:1.45}
.inv-r b{flex:none;font-size:11px;font-weight:700;color:#5B4636}
.inv-r span{font-size:11.5px;color:#6F5A46}
.inv-d{width:7px;height:7px;border-radius:50%;margin-top:4px;flex:none}
.inv-d.chg{background:#FF6A1A}
.inv-d.fix{background:#2F80ED}
.inv-d.alw{background:#12B886}

.panel-sec.mis{border-color:#FBE3D6}
.mis-list{list-style:none;margin:0;padding:0}
.mis-list li{
  background:#FFF7F3;border:1px solid #FADFCF;border-radius:10px;
  padding:9px 11px;margin-bottom:8px;
}
.mis-list li:last-child{margin-bottom:0}
.mis-w{font-size:13px;font-weight:600;color:#B03A0B;line-height:1.5}
.mis-y,.mis-o{font-size:12px;color:#6B5847;line-height:1.65;margin-top:4px}
.mis-o{color:#0F6E56}
.mis-y b,.mis-o b{font-weight:600}

.pick-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:2px}
.pick-btn{
  font:inherit;font-size:12px;cursor:pointer;
  background:#fff;border:1px solid #EADBC8;color:#6B5847;
  border-radius:99px;padding:6px 12px;transition:.15s;
}
.pick-btn:hover{border-color:#FF6A1A;color:#C2460D}
.pick-btn.alt{border-style:dashed}
.pick-btn.on{
  background:linear-gradient(135deg,#FF6A1A,#FF8F45);
  border-color:#FF6A1A;color:#fff;font-weight:600;
}
.pick-tip{font-size:11.5px;color:#9A8574;margin:7px 0 0;line-height:1.5}
.pick-tip b{color:#C2460D}

.panel-sec.exam .kv li{font-size:12.5px;color:#6B5847}
.panel-sec.exam .kv li b{
  display:inline-block;min-width:60px;margin-right:6px;
  color:#5B4636;font-weight:600;
}
@media(max-width:520px){
  .inv-badge{max-width:64%;padding:6px 8px 7px}
  .inv-r span{font-size:11px}
}

/* ============ v1.6 变式训练 ============ */
.panel-sec.var .var-tab{display:flex;gap:6px;margin-bottom:9px}
.vt{
  font:inherit;font-size:12px;cursor:pointer;padding:5px 14px;border-radius:99px;
  background:#fff;border:1px solid #EADBC8;color:#6B5847;transition:.15s;
}
.vt.on{background:#7C3AED;border-color:#7C3AED;color:#fff;font-weight:600}
.var-q{font-size:13px;color:#3D3128;line-height:1.65;margin-bottom:9px}
.var-o{list-style:none;margin:0;padding:0}
.var-o li{margin-bottom:6px}
.vo{
  width:100%;text-align:left;font:inherit;font-size:12.5px;cursor:pointer;
  background:#fff;border:1px solid #EFE3D5;border-radius:9px;padding:8px 10px;
  color:#4A3C2E;display:flex;gap:8px;align-items:flex-start;transition:.15s;line-height:1.5;
}
.vo i{
  flex:none;width:18px;height:18px;border-radius:50%;background:#F6EEE2;color:#8A6A4B;
  font-style:normal;font-size:11px;display:flex;align-items:center;justify-content:center;margin-top:1px;
}
.vo:hover{border-color:#FF6A1A}
.vo.show{border-style:dashed;justify-content:center;color:#8A6A4B}
.vo.pick{border-color:#FF6A1A;background:#FFF7F1}
.vo.right{border-color:#12B886;background:#EAF7F0}
.vo.right i{background:#12B886;color:#fff}
.vo.wrong{border-color:#E24B4A;background:#FDF1F1}
.vo.wrong i{background:#E24B4A;color:#fff}
.vo[disabled]{cursor:default}
.var-fb{display:none;margin-top:9px;border-radius:10px;padding:9px 11px;font-size:12px;line-height:1.65}
.var-fb.open{display:block;background:#FFFDF8;border:1px solid #F0E2D2}
.var-fb.no{background:#FFF6F5;border-color:#F7D3D2}
.var-fb.ok{background:#F1FAF5;border-color:#C6E9D8}
.fb-t{font-size:12px;font-weight:600;color:#5B4636;margin-bottom:4px}
.var-fb.no .fb-t{color:#A32D2D}
.var-fb.ok .fb-t{color:#0F6E56}
.var-fb p{margin:0;color:#6B5847}
.fb-ok{margin-top:6px;color:#0F6E56;font-size:12px}
.fb-act{margin-top:8px;display:flex;flex-direction:column;gap:5px}
.fb-btn{
  font:inherit;font-size:12px;font-weight:600;cursor:pointer;align-self:flex-start;
  background:linear-gradient(135deg,#7C3AED,#A78BFA);border:0;color:#fff;
  border-radius:99px;padding:7px 14px;
}
.fb-act span{font-size:11.5px;color:#9A8574}
.nar-tag.fix{color:#7C3AED}

/* =========================================================
   激活码 / 一号一机
   ========================================================= */
.ent-chip{display:inline-flex;align-items:center;gap:6px}
.ent-dot{width:7px;height:7px;border-radius:50%;background:var(--muted);box-shadow:0 0 0 3px rgba(152,162,179,.15)}
.ent-chip.on{border-color:#BFE6D4;background:#F2FBF7;color:#0E7A55}
.ent-chip.on .ent-dot{background:var(--ok);box-shadow:0 0 0 3px rgba(14,159,110,.16)}
.ent-chip.warn{border-color:#FFD9A8;background:#FFF8EC;color:#B26B00}
.ent-chip.warn .ent-dot{background:#F59E0B;box-shadow:0 0 0 3px rgba(245,158,11,.16)}

.auth-step{display:flex;flex-direction:column;gap:12px}
.otp-row{display:flex;align-items:flex-end;gap:8px}
.otp-field{flex:1}
.otp-btn{height:42px;white-space:nowrap;padding:0 14px;font-size:12.5px}
.otp-btn:disabled{opacity:.55;cursor:not-allowed}
.ent-who{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--ink2);
  background:#FFF8F1;border:1px solid var(--line);border-radius:10px;padding:8px 12px}
.ent-who b{color:var(--ink);font-weight:800;letter-spacing:.4px}
.link-btn{background:none;border:0;padding:0;font:inherit;font-size:12px;font-weight:800;color:var(--orange);cursor:pointer}
.link-btn:hover{text-decoration:underline}
#authCodeInput{letter-spacing:1.5px;font-weight:900;text-transform:uppercase}
.ent-done{text-align:center;padding:6px 0 2px}
.ent-check{width:46px;height:46px;line-height:46px;border-radius:50%;margin:0 auto 10px;
  background:#E9F9F1;color:var(--ok);font-size:22px;font-weight:900}
.ent-done h4{font-size:16px;font-weight:900;color:var(--ink)}
.ent-done p{font-size:12.5px;color:var(--ink2);margin-top:6px;line-height:1.6}
.auth-msg{font-size:12px;font-weight:700;padding:8px 12px;border-radius:10px;display:none}
.auth-msg.err{display:block;background:#FFF5F5;color:var(--hot);border:1px solid #FFD9D9}
.auth-msg.ok{display:block;background:#F2FBF7;color:#0E7A55;border:1px solid #CFEEDF}

/* 报告里的锁定块 */
.rp-lock{position:relative;border:1px dashed #FFD3AE;border-radius:14px;padding:18px 16px;background:#FFFCF8;text-align:center}
.rp-lock-ic{font-size:20px;line-height:1}
.rp-lock h5{font-size:13px;font-weight:900;color:var(--ink);margin:8px 0 4px}
.rp-lock p{font-size:11.5px;color:var(--ink2);line-height:1.6;margin-bottom:12px}
.rp-lock .btn{max-width:280px;margin:0 auto}
.rp-ent{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11.5px;color:#0E7A55;font-weight:800;
  background:#F2FBF7;border:1px solid #CFEEDF;border-radius:10px;padding:8px 12px;margin-bottom:10px}
.rp-ent span{font-weight:600;color:#3E7A63}
