:root{
  --primary:#14b8a6; --primary-d:#0d9488; --teal:#2dd4bf; --teal-l:#5eead4;
  --ring:rgba(20,184,166,.42);
  --bg:#0a0e14; --surface:#111a23; --surface-2:#18222f; --line:#1f2a37; --line-2:#293744;
  --text:#c5cedb; --dim:#828d9c; --head:#eef3f8;
  color-scheme:dark;
}
*{ -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ font-family:"Inter",-apple-system,"PingFang SC","Microsoft YaHei",sans-serif; color:var(--text); background:var(--bg); margin:0; line-height:1.7; }
.num,.font-mono,code,.mono{ font-family:"JetBrains Mono","SFMono-Regular",ui-monospace,monospace; font-feature-settings:"tnum" 1; }
::selection{ background:rgba(45,212,191,.32); color:#fff; }
::-webkit-scrollbar{ width:11px; height:11px; }
::-webkit-scrollbar-thumb{ background:#26323f; border-radius:9999px; border:3px solid transparent; background-clip:content-box; }
::-webkit-scrollbar-thumb:hover{ background:#33424f; background-clip:content-box; }
a{ color:inherit; text-decoration:none; }

/* backdrop */
.bg-layer{ position:fixed; inset:0; z-index:-3; background:var(--bg); }
.bg-glow{ position:fixed; inset:0; z-index:-2; pointer-events:none;
  background:
    radial-gradient(900px 480px at 86% -14%, rgba(20,184,166,.16), transparent 60%),
    radial-gradient(680px 420px at 4% 2%, rgba(45,212,191,.06), transparent 60%); }
.bg-grid{ position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.45;
  background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:radial-gradient(130% 80% at 72% -10%,#000 0%,transparent 72%);
  mask-image:radial-gradient(130% 80% at 72% -10%,#000 0%,transparent 72%); }

/* card */
.card{ position:relative; background:var(--surface); border:1px solid var(--line); border-radius:14px;
  box-shadow:0 1px 0 rgba(255,255,255,.025) inset, 0 18px 40px -28px #000; transition:box-shadow .25s, transform .25s, border-color .25s; }
.card::after{ content:""; position:absolute; inset:0; border-radius:14px; padding:1px; pointer-events:none;
  background:linear-gradient(180deg,rgba(45,212,191,.28),rgba(45,212,191,0) 22%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); mask-composite:exclude; }
.card-hover:hover{ transform:translateY(-3px); border-color:var(--line-2);
  box-shadow:0 1px 0 rgba(255,255,255,.03) inset, 0 26px 52px -26px rgba(20,184,166,.4); }
.card-pad{ padding:1.5rem; }

/* buttons */
.btn{ position:relative; display:inline-flex; align-items:center; gap:.5rem; padding:.66rem 1.2rem; border-radius:.7rem;
  font-size:.95rem; font-weight:600; transition:.16s; cursor:pointer; border:1px solid transparent; white-space:nowrap; }
.btn:active{ transform:translateY(1px); }
.btn-primary{ color:#04231f; background:linear-gradient(135deg,#2dd4bf,#14b8a6);
  box-shadow:0 12px 26px -10px var(--ring); font-weight:700; }
.btn-primary:hover{ filter:brightness(1.07); box-shadow:0 16px 32px -10px var(--ring); }
.btn-soft{ background:rgba(20,184,166,.16); color:var(--teal-l); }
.btn-soft:hover{ background:rgba(20,184,166,.26); }
.btn-ghost{ background:var(--surface-2); color:#c3cbd8; border-color:var(--line-2); }
.btn-ghost:hover{ background:#1f2a37; border-color:#34424f; color:#e6ebf2; }
.btn-lg{ padding:.85rem 1.7rem; font-size:1.02rem; border-radius:.8rem; }

/* badges / chips */
.badge{ display:inline-flex; align-items:center; gap:.34rem; padding:.2rem .6rem; border-radius:9999px;
  font-size:.74rem; font-weight:600; line-height:1.45; }
.badge-green{ background:rgba(16,185,129,.16); color:#34d399; }
.badge-amber{ background:rgba(245,158,11,.16); color:#fbbf24; }
.badge-red{ background:rgba(239,68,68,.16); color:#f87171; }
.badge-teal{ background:rgba(20,184,166,.16); color:var(--teal-l); }
.badge-slate{ background:rgba(148,163,184,.13); color:#9fabbd; }
.badge-dot{ width:.42rem; height:.42rem; border-radius:9999px; background:currentColor; box-shadow:0 0 7px currentColor; }
.chip{ display:inline-flex; align-items:center; gap:.34rem; padding:.34rem .7rem; border-radius:.6rem; font-size:.82rem; font-weight:600;
  background:var(--surface-2); border:1px solid var(--line-2); color:#c3cbd8; }
.link{ color:var(--teal); font-weight:500; } .link:hover{ text-decoration:underline; color:var(--teal-l); }

/* layout */
.wrap{ width:100%; max-width:1120px; margin:0 auto; padding:0 1.25rem; }
.wrap-narrow{ width:100%; max-width:780px; margin:0 auto; padding:0 1.25rem; }
.section{ padding:4.5rem 0; }
.section-sm{ padding:3rem 0; }
.grid{ display:grid; gap:1.25rem; }
.g2{ grid-template-columns:repeat(2,1fr); }
.g3{ grid-template-columns:repeat(3,1fr); }
@media (max-width:880px){ .g2,.g3{ grid-template-columns:1fr; } }

/* type */
.h-eyebrow{ font-size:.8rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--teal); }
h1,h2,h3,h4{ color:var(--head); line-height:1.25; margin:0; font-weight:800; letter-spacing:-.01em; }
.t-grad{ background:linear-gradient(120deg,#5eead4,#2dd4bf 40%,#14b8a6); -webkit-background-clip:text; background-clip:text; color:transparent; }
.lead{ font-size:1.12rem; color:var(--dim); }
.muted{ color:var(--dim); }
.center{ text-align:center; }
.mt1{ margin-top:.5rem; } .mt2{ margin-top:1rem; } .mt3{ margin-top:1.5rem; } .mt4{ margin-top:2rem; } .mt6{ margin-top:3rem; }

/* nav (injected) */
.site-nav{ position:sticky; top:0; z-index:50; height:64px;
  background:rgba(10,14,20,.72); backdrop-filter:saturate(1.4) blur(14px); -webkit-backdrop-filter:saturate(1.4) blur(14px);
  border-bottom:1px solid var(--line); }
.site-nav .inner{ height:64px; display:flex; align-items:center; justify-content:space-between; }
.brand{ display:flex; align-items:center; gap:.6rem; font-weight:800; color:var(--head); font-size:1.05rem; letter-spacing:-.01em; }
.brand .mark{ display:grid; place-items:center; width:34px; height:34px; border-radius:10px; font-weight:800; color:#04231f;
  background:linear-gradient(135deg,#2dd4bf,#0d9488); box-shadow:0 12px 26px -8px var(--ring); }
.nav-links{ display:flex; align-items:center; gap:.3rem; }
.nav-links a{ padding:.5rem .8rem; border-radius:.6rem; font-size:.92rem; font-weight:500; color:#9aa5b3; transition:.15s; }
.nav-links a:hover{ background:rgba(255,255,255,.05); color:#e6ebf2; }
.nav-links a.active{ color:var(--teal-l); background:rgba(45,212,191,.12); font-weight:600; }
.nav-toggle{ display:none; background:var(--surface-2); border:1px solid var(--line-2); color:#c3cbd8; border-radius:.6rem; padding:.45rem .6rem; cursor:pointer; }
.cta-in-menu{ display:none; }
@media (max-width:860px){
  .nav-links{ position:fixed; inset:64px 0 auto 0; flex-direction:column; align-items:stretch; gap:.2rem;
    background:#0b1117; border-bottom:1px solid var(--line); padding:.8rem 1.25rem 1.2rem; display:none; }
  .nav-links.open{ display:flex; }
  .nav-links a{ padding:.7rem .8rem; }
  .nav-cta{ display:none !important; }
  .cta-in-menu{ display:inline-flex; justify-content:center; }
  .nav-toggle{ display:inline-flex; }
}

/* hero */
.hero{ padding:5rem 0 3.5rem; }
.hero h1{ font-size:clamp(2rem,5vw,3.2rem); }

/* feature icon */
.ficon{ display:grid; place-items:center; width:44px; height:44px; border-radius:12px; flex:none;
  background:rgba(20,184,166,.14); color:var(--teal-l); border:1px solid rgba(20,184,166,.28); }
.ficon svg{ width:22px; height:22px; }

/* price */
.price{ font-size:2.4rem; font-weight:800; color:var(--head); letter-spacing:-.02em; }
.price .per{ font-size:1rem; font-weight:500; color:var(--dim); }
.plan-feat{ display:flex; align-items:flex-start; gap:.6rem; padding:.32rem 0; font-size:.93rem; color:#bcc6d3; }
.plan-feat svg{ width:18px; height:18px; flex:none; color:var(--teal); margin-top:.15rem; }
.plan-pop{ border-color:rgba(45,212,191,.5) !important; box-shadow:0 0 0 1px rgba(45,212,191,.25), 0 30px 60px -28px rgba(20,184,166,.55) !important; }

/* table */
.tbl{ width:100%; border-collapse:separate; border-spacing:0; font-size:.92rem; }
.tbl th{ text-align:left; font-weight:600; font-size:.74rem; letter-spacing:.05em; text-transform:uppercase;
  color:#6b7686; padding:.85rem 1rem; background:#0e161e; border-bottom:1px solid var(--line); }
.tbl td{ padding:.8rem 1rem; border-bottom:1px solid #18212d; vertical-align:top; }
.tbl tr:last-child td{ border-bottom:0; }
.tbl tbody tr:hover{ background:rgba(45,212,191,.05); }

/* compare blocks */
.vs{ display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; }
@media (max-width:760px){ .vs{ grid-template-columns:1fr; } }
.vs-bad{ border-color:rgba(239,68,68,.3); }
.vs-good{ border-color:rgba(20,184,166,.4); }
.vs li{ padding:.3rem 0; }

/* article prose */
.prose{ color:var(--text); }
.prose h2{ font-size:1.5rem; margin:2.4rem 0 .9rem; }
.prose h3{ font-size:1.18rem; margin:1.8rem 0 .6rem; color:#dbe3ec; }
.prose p{ margin:.8rem 0; }
.prose ul,.prose ol{ margin:.7rem 0; padding-left:1.3rem; }
.prose li{ margin:.4rem 0; }
.prose code{ background:#0d151e; border:1px solid var(--line-2); border-radius:.4rem; padding:.12rem .4rem; font-size:.86em; color:var(--teal-l); }
.prose pre{ background:#0d151e; border:1px solid var(--line-2); border-radius:.7rem; padding:1rem 1.1rem; overflow:auto; margin:1rem 0; }
.prose pre code{ background:none; border:0; padding:0; color:#bcc6d3; }
.prose a{ color:var(--teal); } .prose a:hover{ text-decoration:underline; }
.prose strong{ color:var(--head); }
.prose blockquote{ margin:1rem 0; padding:.7rem 1.1rem; border-left:3px solid var(--teal); background:rgba(20,184,166,.07); border-radius:0 .6rem .6rem 0; color:#c8d2de; }
.callout{ display:flex; gap:.7rem; padding:1rem 1.1rem; border-radius:.8rem; background:rgba(20,184,166,.08); border:1px solid rgba(20,184,166,.25); margin:1.2rem 0; }
.callout.warn{ background:rgba(245,158,11,.08); border-color:rgba(245,158,11,.3); }
.callout.danger{ background:rgba(239,68,68,.08); border-color:rgba(239,68,68,.3); }
.callout svg{ width:20px; height:20px; flex:none; margin-top:.15rem; }

/* footer */
.site-footer{ border-top:1px solid var(--line); margin-top:4rem; padding:2.6rem 0 2.2rem; color:var(--dim); font-size:.9rem; }
.site-footer .cols{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:2rem; }
@media (max-width:760px){ .site-footer .cols{ grid-template-columns:1fr; gap:1.4rem; } }
.site-footer a{ display:block; padding:.2rem 0; color:#9aa5b3; }
.site-footer a:hover{ color:var(--teal-l); }
.foot-h{ color:#cdd6e1; font-weight:700; font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; margin-bottom:.5rem; }

/* small utilities */
.flex{ display:flex; } .between{ justify-content:space-between; } .items-center{ align-items:center; }
.items-start{ align-items:flex-start; } .wrap-flex{ flex-wrap:wrap; } .col{ flex-direction:column; }
.gap1{ gap:.5rem; } .gap2{ gap:1rem; } .gap3{ gap:1.5rem; } .grow{ flex:1; } .full{ width:100%; }
.maxw{ max-width:60ch; } .nowrap{ white-space:nowrap; } .tright{ text-align:right; }

/* ── 图文并茂组件 ── */
/* figure caption */
.figure{ margin:1.6rem 0; }
.figure .cap{ text-align:center; color:var(--dim); font-size:.84rem; margin-top:.6rem; }
.figwrap{ background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:1.3rem 1.1rem;
  box-shadow:0 18px 40px -28px #000; }

/* terminal window */
.term{ background:#0b1117; border:1px solid var(--line-2); border-radius:11px; overflow:hidden; margin:1.1rem 0;
  box-shadow:0 18px 40px -28px #000; }
.term .bar{ display:flex; align-items:center; gap:.45rem; padding:.6rem .8rem; background:#0e161e; border-bottom:1px solid var(--line); }
.term .bar i{ width:.7rem; height:.7rem; border-radius:9999px; display:inline-block; }
.term .bar .r{ background:#ff5f56; } .term .bar .y{ background:#ffbd2e; } .term .bar .g{ background:#27c93f; }
.term .bar span{ margin-left:.5rem; font-size:.76rem; color:var(--dim); font-family:"JetBrains Mono",monospace; }
.term pre{ margin:0; padding:1rem 1.1rem; overflow:auto; font-family:"JetBrains Mono",monospace; font-size:.86rem; line-height:1.7; color:#cdd6e1; }
.term .cmd{ color:var(--teal-l); } .term .cmt{ color:#5f6b7a; } .term .out{ color:#9aa5b3; }

/* step timeline */
.steps{ display:flex; flex-direction:column; gap:0; margin:1.4rem 0; }
.step{ display:flex; gap:1rem; position:relative; padding-bottom:1.4rem; }
.step:not(:last-child)::before{ content:""; position:absolute; left:17px; top:38px; bottom:0; width:2px; background:linear-gradient(var(--teal),transparent); }
.step .n{ flex:none; width:36px; height:36px; border-radius:10px; display:grid; place-items:center; font-weight:800; font-size:.95rem;
  color:#04231f; background:linear-gradient(135deg,#2dd4bf,#0d9488); box-shadow:0 10px 22px -10px var(--ring); z-index:1; }
.step .body{ flex:1; padding-top:.2rem; }
.step .body h4{ font-size:1.05rem; margin:.2rem 0 .4rem; color:var(--head); }
.step .body p{ margin:.3rem 0; color:var(--text); }

/* horizontal flow (架构图) */
.flow{ display:flex; align-items:stretch; gap:.6rem; flex-wrap:wrap; justify-content:center; }
.flow .node{ flex:1; min-width:130px; background:var(--surface-2); border:1px solid var(--line-2); border-radius:12px;
  padding:.9rem .8rem; text-align:center; }
.flow .node .t{ font-weight:700; color:var(--head); font-size:.95rem; }
.flow .node .d{ color:var(--dim); font-size:.78rem; margin-top:.25rem; }
.flow .node.teal{ border-color:rgba(20,184,166,.45); background:rgba(20,184,166,.1); }
.flow .arrow{ display:grid; place-items:center; color:var(--teal); font-size:1.4rem; flex:none; }
@media (max-width:680px){ .flow{ flex-direction:column; } .flow .arrow{ transform:rotate(90deg); } }

/* link/tool cards grid for hub */
.toolcard{ display:block; background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:1rem 1.1rem; transition:.2s; }
.toolcard:hover{ transform:translateY(-2px); border-color:var(--line-2); box-shadow:0 22px 44px -26px rgba(20,184,166,.4); }
.toolcard .name{ font-weight:700; color:var(--head); display:flex; align-items:center; gap:.4rem; }
.toolcard .url{ font-family:"JetBrains Mono",monospace; font-size:.74rem; color:var(--teal); margin:.2rem 0 .35rem; word-break:break-all; }
.toolcard .desc{ color:var(--dim); font-size:.84rem; }

/* tab switcher */
.tabbar{ display:flex; gap:.5rem; justify-content:center; margin:0 auto 1.5rem; max-width:420px;
  background:var(--surface-2); border:1px solid var(--line-2); border-radius:12px; padding:.35rem; position:sticky; top:74px; z-index:30; }
.tabbar button{ flex:1; padding:.6rem .8rem; border-radius:9px; border:0; cursor:pointer; font-size:.95rem; font-weight:700;
  color:#9aa5b3; background:transparent; transition:.18s; font-family:inherit; }
.tabbar button.on{ color:#04231f; background:linear-gradient(135deg,#2dd4bf,#0d9488); box-shadow:0 10px 22px -10px var(--ring); }
.ai-panel{ display:none; }
.ai-panel.on{ display:block; }

/* misc */
.pill-row{ display:flex; flex-wrap:wrap; gap:.6rem; }
.placeholder{ background:repeating-linear-gradient(45deg,#0d151e,#0d151e 10px,#111a23 10px,#111a23 20px); border:1px dashed var(--line-2);
  border-radius:.7rem; display:grid; place-items:center; color:var(--dim); font-size:.86rem; text-align:center; }
.note-ph{ font-style:normal; color:#fbbf24; }

/* ── 专题 / 知识库(render.js 注入) ── */
/* 专题分组标题 */
h2.hub-h{ font-size:1.35rem; margin:2.2rem 0 1rem; }
h3.hub-h{ font-size:1.12rem; margin:1.7rem 0 .8rem; color:#dbe3ec; }
.sub-h{ font-size:1.55rem; margin:2.8rem 0 .2rem; padding-bottom:.5rem;
  border-bottom:1px solid var(--line); }
.all-topic:first-child .pill-row{ margin-top:.5rem !important; }

/* 专题总览大卡片 */
.topic-card{ display:block; }
.topic-ico{ display:grid; place-items:center; width:54px; height:54px; border-radius:14px; font-size:1.7rem;
  background:rgba(20,184,166,.12); border:1px solid rgba(20,184,166,.28); }

/* 专题 hub 旗舰长文 */
.flagship{ display:block; margin-bottom:2rem; border-color:rgba(45,212,191,.5);
  box-shadow:0 0 0 1px rgba(45,212,191,.2), 0 30px 60px -30px rgba(20,184,166,.5); }

/* 列表式文章(专题 hub) */
.alist{ border:1px solid var(--line); border-radius:14px; overflow:hidden; background:var(--surface); margin:.2rem 0 1rem; }
.arow{ display:flex; align-items:center; gap:1rem; padding:1.05rem 1.3rem; border-top:1px solid var(--line); transition:background .15s; }
.arow:first-child{ border-top:0; }
.arow:hover{ background:var(--surface-2); }
.arow-main{ flex:1; min-width:0; }
.arow-title{ display:block; color:var(--head); font-weight:600; font-size:1.06rem; letter-spacing:-.01em; }
.arow:hover .arow-title{ color:var(--teal-l); }
.is-pick{ color:#fbbf24; }
.arow:hover .arow-title.is-pick{ color:#fcd34d; }
.card-hover:hover h3.is-pick{ color:#fcd34d; }
.arow-desc{ display:block; color:var(--dim); font-size:.86rem; margin-top:.3rem; line-height:1.55; }
.arow-go{ flex:none; color:var(--dim); font-size:1.15rem; opacity:.4; transition:.15s; }
.arow:hover .arow-go{ opacity:1; color:var(--teal); transform:translateX(3px); }
.hub-h-note{ font-size:.72rem; font-weight:600; color:var(--dim); background:var(--surface-2);
  border:1px solid var(--line-2); padding:.12rem .5rem; border-radius:9999px; vertical-align:middle; margin-left:.5rem; }

/* 悬浮返回按钮(文章页,全程可见) */
.back-fab{ position:fixed; left:1.1rem; bottom:1.2rem; z-index:60; display:inline-flex; align-items:center; gap:.35rem;
  padding:.62rem 1.05rem; border-radius:9999px; font-size:.86rem; font-weight:700; color:#04231f;
  background:linear-gradient(135deg,#2dd4bf,#14b8a6); box-shadow:0 16px 32px -12px var(--ring); transition:.15s; }
.back-fab:hover{ filter:brightness(1.07); box-shadow:0 20px 38px -12px var(--ring); transform:translateY(-1px); }
@media (max-width:600px){ .back-fab{ left:.7rem; bottom:.8rem; padding:.55rem .9rem; font-size:.8rem; } }

/* 面包屑 */
.crumb{ display:flex; flex-wrap:wrap; align-items:center; gap:.4rem; font-size:.84rem;
  color:var(--dim); margin-bottom:1rem; }

/* ── 界面示意图组件(可直接渲染,代替真实截图) ── */
/* 浏览器 / 应用窗口 */
.win{ border:1px solid var(--line-2); border-radius:12px; overflow:hidden; background:#0e1620;
  margin:1.3rem 0; box-shadow:0 18px 40px -28px #000; }
.win-bar{ display:flex; align-items:center; gap:.45rem; padding:.55rem .8rem; background:#0b1117; border-bottom:1px solid var(--line); }
.win-bar i{ width:.66rem; height:.66rem; border-radius:50%; flex:none; }
.win-bar .r{ background:#ff5f56; } .win-bar .y{ background:#ffbd2e; } .win-bar .g{ background:#27c93f; }
.win-addr{ margin-left:.55rem; flex:1; background:#10202b; border:1px solid var(--line); border-radius:6px;
  padding:.22rem .6rem; font-family:"JetBrains Mono",monospace; font-size:.74rem; color:var(--dim); overflow:hidden; white-space:nowrap; }
.win-body{ padding:1.4rem 1.3rem; }
.win-title{ color:var(--head); font-weight:700; font-size:1.06rem; margin:0 0 1rem; text-align:center; }
.win-sub{ color:var(--dim); font-size:.82rem; text-align:center; margin:-.6rem 0 1rem; }

/* 模拟输入框 / 按钮 / 提示 */
.ui-field{ margin:.6rem 0; }
.ui-field label{ display:block; font-size:.74rem; color:var(--dim); margin-bottom:.26rem; }
.ui-field .box{ background:#0b1117; border:1px solid var(--line-2); border-radius:7px; padding:.52rem .72rem; color:#8290a0; font-size:.86rem; }
.ui-btn{ display:block; text-align:center; margin-top:.9rem; background:linear-gradient(135deg,#2dd4bf,#14b8a6);
  color:#04231f; font-weight:700; border-radius:7px; padding:.56rem; font-size:.9rem; }
.ui-btn.ghost{ background:var(--surface-2); color:#c3cbd8; border:1px solid var(--line-2); }
.ui-note{ text-align:center; color:var(--dim); font-size:.78rem; margin-top:.65rem; }

/* 模拟设置 / 列表项(如系统设置、检测结果) */
.kv{ border:1px solid var(--line); border-radius:10px; overflow:hidden; margin:1.1rem 0; background:var(--surface); }
.kv .row{ display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:.7rem 1rem; border-top:1px solid var(--line); font-size:.9rem; }
.kv .row:first-child{ border-top:0; }
.kv .k{ color:#c3cbd8; } .kv .v{ color:var(--teal-l); font-weight:600; font-family:"JetBrains Mono",monospace; font-size:.82rem; }
.kv .v.ok{ color:#34d399; } .kv .v.off{ color:var(--dim); }

/* 手机屏示意(移动端设置步骤) */
.phone{ max-width:300px; margin:1.4rem auto; border:9px solid #1b2733; border-radius:32px; background:#0b1117; overflow:hidden; box-shadow:0 26px 60px -30px #000; }
.phone .ph-top{ text-align:center; font-size:.7rem; color:var(--dim); padding:.5rem 0 .2rem; }
.phone .scr{ padding:.6rem .8rem 1.1rem; }

/* 文章正文:更清晰的章节分隔与节奏 */
.prose h2{ font-size:1.38rem; margin:2.6rem 0 1rem; padding-top:1.7rem; border-top:1px solid var(--line); }
.prose h2:first-of-type{ border-top:0; padding-top:0; margin-top:2.2rem; }
.prose .lead{ margin-bottom:.4rem; }
.prose p{ line-height:1.78; }
.crumb a{ color:#9aa5b3; } .crumb a:hover{ color:var(--teal-l); }
.crumb .sep{ color:var(--line-2); } .crumb .cur{ color:var(--head); }

/* 文章内目录 */
.toc{ background:var(--surface-2); border:1px solid var(--line); border-radius:12px;
  padding:1rem 1.1rem; margin:1.4rem 0; font-size:.9rem; }
.toc .toc-h{ color:var(--head); font-weight:700; margin-bottom:.4rem; font-size:.84rem;
  letter-spacing:.05em; text-transform:uppercase; }
.toc a{ display:block; padding:.22rem 0; color:#9aa5b3; }
.toc a:hover{ color:var(--teal-l); }

/* 上一篇 / 下一篇 */
.prevnext{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:2.4rem; }
@media (max-width:680px){ .prevnext{ grid-template-columns:1fr; } }
.pn{ display:block; background:var(--surface); border:1px solid var(--line); border-radius:12px;
  padding:.85rem 1.1rem; transition:.2s; }
.pn:hover{ border-color:var(--line-2); box-shadow:0 22px 44px -28px rgba(20,184,166,.4); }
.pn-l{ display:block; font-size:.78rem; color:var(--teal); font-weight:600; }
.pn-t{ display:block; color:#c3cbd8; font-weight:600; margin-top:.2rem; }
.pn:hover .pn-t{ color:var(--head); }
.pn-next{ text-align:right; }
