/* ======================================================================
   SourceMap 还原解析器 · 独立设计（调试器断点面板主题）
   浅色 = 冷灰蓝 IDE + 品红断点；深色 = 深空 IDE
   ====================================================================== */
.sm{
  --ink:#1e2233; --sub:#5f6684; --faint:#9aa0bd;
  --bg:#f2f4f9; --card:#ffffff; --card2:#eaeef6; --line:#d9dfec; --line2:#e5eaf3;
  --pri:#475569; --pri-2:#64748b; --pri-soft:#e6ebf4; --pri-ink:#334155;
  --acc:#db2777; --acc-2:#f472b6; --acc-soft:#fce7f1;
  --red:#dc2626; --red-soft:#fdecec;
  --ok:#0d9488;
  --r:12px;
  --shadow:0 1px 2px rgba(30,34,51,.05),0 10px 26px rgba(30,34,51,.09);
  color:var(--ink);
  font-family:-apple-system,"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",system-ui,sans-serif;
  font-size:15px; line-height:1.75;
  background:
    linear-gradient(180deg, rgba(219,39,119,.05), transparent 220px),
    radial-gradient(760px 380px at 90% -120px, rgba(100,116,139,.12), transparent 60%),
    var(--bg);
  padding:0 16px 56px;
}
:root[data-theme="dark"] .sm{
  --ink:#e3e7f4; --sub:#a2a9c5; --faint:#6d7494;
  --bg:#0f1220; --card:#171b2e; --card2:#1d2238; --line:#2b3150; --line2:#242a45;
  --pri:#94a3b8; --pri-2:#b8c4d9; --pri-soft:rgba(148,163,184,.14); --pri-ink:#cbd5e1;
  --acc:#f472b6; --acc-2:#f9a8d4; --acc-soft:rgba(244,114,182,.12);
  --red:#f87171; --red-soft:rgba(248,113,113,.12);
  --ok:#2dd4bf;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 12px 30px rgba(0,0,0,.42);
}
.sm *{box-sizing:border-box;}
.sm b{font-weight:700;}
.sm-wrap{max-width:1140px;margin:0 auto;}
.sm textarea,.sm input,.sm code,.sm pre,table.sm-tb{font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Consolas,"Courier New",monospace;}

.sm-hero{margin-top:22px;border-radius:16px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden;}
.sm-titlebar{display:flex;align-items:center;gap:10px;padding:9px 16px;background:var(--pri);color:#fff;font-size:12.5px;font-weight:700;letter-spacing:.04em;}
:root[data-theme="dark"] .sm-titlebar{color:#0f1220;}
.sm-titlebar .dot{width:9px;height:9px;border-radius:50%;background:var(--acc-2);}
.sm-hero-body{padding:22px 24px;}
.sm-hero h1{margin:0 0 8px;font-size:clamp(22px,3.2vw,30px);font-weight:900;line-height:1.3;}
.sm-hero h1 span{color:var(--acc);}
.sm-hero p{margin:0;color:var(--sub);font-size:15px;max-width:820px;}
.sm-hero p em{font-style:normal;color:var(--acc);font-weight:700;}

.sm-desk{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px;align-items:start;}
@media (max-width:940px){.sm-desk{grid-template-columns:1fr;}}
.sm-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:16px 18px;}
.sm-card h2{margin:0 0 4px;font-size:15.5px;font-weight:800;display:flex;align-items:center;gap:8px;}
.sm-card h2::before{content:"▸";color:var(--acc);font-size:14px;}
.sm-tip{font-size:12.5px;color:var(--sub);margin:0 0 10px;}
.sm-ta{width:100%;min-height:210px;resize:vertical;padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--card2);color:var(--ink);font-size:12.5px;line-height:1.65;outline:none;}
.sm-ta:focus{border-color:var(--acc-2);box-shadow:0 0 0 3px var(--acc-soft);}
.sm-in{width:100%;padding:9px 12px;border-radius:10px;border:1px solid var(--line);background:var(--card2);color:var(--ink);font-size:14px;outline:none;}
.sm-in:focus{border-color:var(--acc-2);box-shadow:0 0 0 3px var(--acc-soft);}
.sm-lbl{font-size:12.5px;font-weight:700;color:var(--sub);margin:12px 0 5px;}
.sm-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
.sm-btn{border:none;border-radius:10px;padding:9px 18px;font-size:14px;font-weight:800;cursor:pointer;}
.sm-btn-go{background:var(--acc);color:#fff;}
.sm-btn-go:hover{background:var(--acc-2);}
.sm-btn-ghost{background:var(--card2);color:var(--pri-ink);border:1px solid var(--line);}
.sm-btn-ghost:hover{border-color:var(--acc-2);}
.sm-msg{margin-top:10px;font-size:13px;min-height:20px;font-weight:600;}
.sm-msg.err{color:var(--red);}
.sm-msg.ok{color:var(--ok);}

.sm-hit{border:1px solid var(--acc);border-radius:12px;background:var(--acc-soft);padding:14px 16px;margin-bottom:12px;}
.sm-hit .loc{font-size:19px;font-weight:900;color:var(--acc);font-family:ui-monospace,Consolas,monospace;word-break:break-all;}
.sm-hit .meta{font-size:13px;color:var(--sub);margin-top:4px;}
.sm-hit .meta b{color:var(--ink);}
.sm-plain{border:1px dashed var(--line);border-radius:12px;padding:14px 16px;color:var(--faint);font-size:13.5px;margin-bottom:12px;}
table.sm-tb{width:100%;border-collapse:collapse;font-size:12px;}
.sm-tb th,.sm-tb td{border:1px solid var(--line);padding:5px 8px;text-align:left;white-space:nowrap;}
.sm-tb th{background:var(--card2);position:sticky;top:0;}
.sm-tb tr.cur td{background:var(--acc-soft);color:var(--acc);font-weight:700;}
.sm-scroll{max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:10px;}
.sm-srclist{margin:10px 0 0;padding:0;list-style:none;font-size:13px;}
.sm-srclist li{padding:4px 10px;border-left:3px solid var(--pri);background:var(--card2);border-radius:0 8px 8px 0;margin-bottom:6px;word-break:break-all;}
.sm-srclist li b{color:var(--pri-ink);}

.sm-faq{margin-top:34px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px 24px;box-shadow:var(--shadow);}
.sm-faq h2{margin:0 0 12px;font-size:19px;font-weight:900;}
.sm-faq h3{margin:18px 0 6px;font-size:15.5px;font-weight:800;color:var(--acc);}
.sm-faq p{margin:0;color:var(--sub);font-size:14px;}
.sm-faq p b{color:var(--ink);}

/* ---------- 深度面板：批量定位与映射密度图 ---------- */
.sm-deep{margin-top:16px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:16px 18px;min-width:0;}
.sm-deep-head h2{margin:0 0 4px;font-size:15.5px;font-weight:800;color:var(--ink);display:flex;align-items:center;gap:8px;}
.sm-deep-head h2::before{content:"▸";color:var(--acc);font-size:14px;}
.sm-deep-head p{margin:0 0 14px;font-size:12.5px;color:var(--sub);}
.sm-deep-grid{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:16px;align-items:start;}
.sm-deep-panel{min-width:0;}
.sm-deep-panel + .sm-deep-panel{border-left:1px solid var(--line2);padding-left:16px;}
.sm-deep-cap{font-size:12px;font-weight:700;color:var(--sub);margin:0 0 6px;}
.sm-deep-svg{width:100%;height:auto;display:block;background:var(--card2);border:1px solid var(--line);border-radius:10px;}
.sm-deep-svg text{font-family:ui-monospace,Consolas,monospace;}
.sm-deep-tblwrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:10px;min-width:0;}
.sm-deep-tbl{width:100%;border-collapse:collapse;font-size:12px;min-width:420px;}
.sm-deep-tbl th,.sm-deep-tbl td{padding:6px 8px;border-bottom:1px solid var(--line2);text-align:left;white-space:nowrap;color:var(--ink);}
.sm-deep-tbl thead th{background:var(--card2);color:var(--sub);font-size:11.5px;font-weight:700;}
.sm-deep-tbl tr.hit td{background:var(--acc-soft);}
.sm-deep-tbl td.ok{color:var(--ok);font-weight:700;}
.sm-deep-tbl td.no{color:var(--red);}
.sm-deep-tbl td.gen{font-weight:700;color:var(--acc);}
.sm-deep-note{margin:8px 0 0;font-size:11.5px;color:var(--faint);line-height:1.6;}
.sm-deep-empty{color:var(--faint);font-size:13px;padding:10px 0 2px;}
@media (max-width:860px){
  .sm-deep-grid{grid-template-columns:1fr;}
  .sm-deep-panel + .sm-deep-panel{border-left:none;padding-left:0;border-top:1px solid var(--line2);padding-top:14px;}
}
