/* dropcrux — 工坊台账 · 深靛蓝满铺 */
@font-face{font-family:'Bricolage';font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/bricolage-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'MartianMono';font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/martianmono-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --field:#131D33; --field-2:#1A2743; --field-3:#0D1526;
  --ink:#E8E2D6; --ink-2:#A5AEC2; --ink-3:#78829a;
  --rule:rgba(232,226,214,.14); --rule-2:rgba(232,226,214,.30);
  --copper:#D3813F; --copper-lt:#EFA96C; --copper-dim:rgba(211,129,63,.16);
  --flag:#CF5F52; --flag-dim:rgba(207,95,82,.14);
  --ok:#7FB398; --ok-dim:rgba(127,179,152,.14);
  --disp:'Bricolage','PingFang SC','Microsoft YaHei','Noto Sans SC',sans-serif;
  --sans:'PingFang SC','HarmonyOS Sans SC','Microsoft YaHei','Noto Sans SC',sans-serif;
  --mono:'MartianMono',ui-monospace,'Cascadia Mono',Consolas,monospace;
  --w:1180px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--field);color:var(--ink);font-family:var(--sans);
  font-size:16.5px;line-height:1.85;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;height:auto}
a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule-2)}
a:hover{color:var(--copper-lt);border-bottom-color:var(--copper)}
h1,h2,h3,h4{font-family:var(--disp);font-weight:700;line-height:1.28;letter-spacing:-.01em;margin:0;overflow-wrap:anywhere}
.wrap{max-width:var(--w);margin:0 auto;padding:0 22px}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;background:var(--copper);color:#16110B;padding:8px 14px;z-index:99;border:0}

/* ---- 栏目条 ---- */
.bar{border-bottom:1px solid var(--rule);background:var(--field)}
.bar-in{display:flex;align-items:baseline;gap:26px;flex-wrap:wrap;padding:15px 22px;max-width:var(--w);margin:0 auto}
.mark{font-family:var(--disp);font-weight:800;font-size:19px;letter-spacing:.10em;border:0;color:var(--ink)}
.mark:hover{color:var(--copper-lt)}
.mark i{font-style:normal;color:var(--copper)}
.bar-nav{display:flex;gap:20px;flex-wrap:wrap;margin-left:auto;font-size:14.5px}
.bar-nav a{border:0;color:var(--ink-2);padding-bottom:2px;border-bottom:1px solid transparent}
.bar-nav a:hover,.bar-nav a[aria-current]{color:var(--ink);border-bottom-color:var(--copper)}

/* ---- 台账抬头（首屏） ---- */
.head{border-bottom:1px solid var(--rule)}
.head-in{display:grid;grid-template-columns:minmax(0,1fr) 336px;gap:38px;padding:34px 22px 30px;max-width:var(--w);margin:0 auto}
.kick{font-family:var(--mono);font-size:11.5px;letter-spacing:.20em;color:var(--copper);text-transform:uppercase;margin-bottom:14px}
.head h1{font-size:clamp(26px,4.1vw,40px);max-width:19ch}
.head p{color:var(--ink-2);margin:14px 0 0;max-width:46ch;font-size:15.5px}
.jump{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.btn{display:inline-block;font-family:var(--disp);font-weight:600;font-size:14.5px;
  padding:9px 17px;border:1px solid var(--rule-2);color:var(--ink);background:transparent;cursor:pointer}
.btn:hover{border-color:var(--copper);color:var(--copper-lt)}
.btn-hi{background:var(--copper);border-color:var(--copper);color:#16110B}
.btn-hi:hover{background:var(--copper-lt);border-color:var(--copper-lt);color:#16110B}

/* 工位牌 */
.plate{border:1px solid var(--rule-2);background:var(--field-2);padding:16px 17px 15px;align-self:start}
.plate-cap{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;color:var(--ink-3);text-transform:uppercase}
.plate-row{display:flex;align-items:center;gap:10px;margin:9px 0 0;flex-wrap:wrap;min-width:0}
.plate-code{font-family:var(--mono);font-size:27px;font-weight:700;color:var(--copper-lt);letter-spacing:.05em}
.copy{font-family:var(--mono);font-size:11.5px;padding:8px 12px;border:1px solid var(--rule-2);
  background:transparent;color:var(--ink-2);cursor:pointer;margin-left:auto;min-height:36px}
.copy:hover{border-color:var(--copper);color:var(--copper-lt)}
.copy[data-done="1"]{border-color:var(--ok);color:var(--ok)}
.plate-gain{font-size:13.5px;color:var(--ink);margin:11px 0 0;line-height:1.6}
.plate-note{font-size:11.5px;color:var(--ink-3);margin:7px 0 0;line-height:1.55}

/* ---- 条目流 ---- */
.sec-cap{display:flex;align-items:baseline;gap:14px;padding:26px 0 12px;border-bottom:1px solid var(--rule)}
.sec-cap h2{font-size:15px;letter-spacing:.03em}
.sec-cap em{font-family:var(--mono);font-style:normal;font-size:11px;color:var(--ink-3);margin-left:auto}
.rows{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 40px}
.row{display:block;border:0;border-bottom:1px solid var(--rule);padding:15px 0 14px}
.row:hover{border-bottom-color:var(--copper)}
.row-t{display:flex;align-items:baseline;gap:9px;min-width:0}
.tag{font-family:var(--mono);font-size:10px;letter-spacing:.10em;padding:2px 6px;border:1px solid var(--rule-2);color:var(--ink-3);white-space:nowrap}
.tag-cost{color:var(--copper);border-color:var(--copper-dim);background:var(--copper-dim)}
.tag-scam{color:var(--flag);border-color:var(--flag-dim);background:var(--flag-dim)}
.tag-tool{color:var(--ok);border-color:var(--ok-dim);background:var(--ok-dim)}
.row h3{font-size:17.5px;font-weight:600;flex:1;min-width:0;overflow-wrap:anywhere}
.row:hover h3{color:var(--copper-lt)}
.row p{margin:5px 0 0;font-size:14px;color:var(--ink-2);line-height:1.65}
.row-meta{font-family:var(--mono);font-size:10.5px;color:var(--ink-3);margin-top:6px}
.anchors{margin:7px 0 0;font-size:12.5px;color:var(--ink-3);line-height:1.9}
.anchors a{border:0;color:var(--ink-3);margin-right:12px}
.anchors a:hover{color:var(--copper-lt)}

/* 术语条 */
.terms{border-top:1px solid var(--rule);padding:20px 0 26px;line-height:2.3}
.terms a{font-family:var(--mono);font-size:12px;border:0;color:var(--ink-2);padding:4px 9px;background:var(--field-2);margin:0 5px 5px 0;display:inline-block}
.terms a:hover{background:var(--copper);color:#16110B}

/* ---- 正文 ---- */
.doc{max-width:730px;margin:0 auto;padding:0 22px 10px}
.doc-head{padding:30px 0 4px}
.crumb{font-family:var(--mono);font-size:11px;color:var(--ink-3);margin-bottom:14px}
.crumb a{border:0;color:var(--ink-3)}
.crumb a:hover{color:var(--copper-lt)}
.doc h1{font-size:clamp(25px,3.6vw,35px);margin-bottom:14px}
.byline{font-family:var(--mono);font-size:11.5px;color:var(--ink-3);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:9px 0;display:flex;gap:16px;flex-wrap:wrap}
.lede{font-size:18px;color:var(--ink);margin:22px 0 0;line-height:1.8}
.article-cover{margin:24px 0 4px}
.article-cover svg{display:block;width:100%;height:auto;border:1px solid var(--rule)}
.article-cover figcaption{font-family:var(--mono);font-size:10.5px;color:var(--ink-3);margin-top:7px}
.toc{border:1px solid var(--rule);padding:15px 18px;margin:26px 0 6px;background:var(--field-2)}
.toc strong{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;color:var(--ink-3);text-transform:uppercase;font-weight:400}
.toc ol{margin:9px 0 0;padding-left:20px;font-size:14.5px;line-height:1.95}
.toc a{border:0;color:var(--ink-2)}
.toc a:hover{color:var(--copper-lt)}
.doc h2{font-size:22px;margin:44px 0 0;padding-top:16px;border-top:1px solid var(--rule)}
.doc h3{font-size:17.5px;margin:30px 0 0;color:var(--ink)}
.doc p{margin:14px 0 0}
.doc ul,.doc ol{margin:14px 0 0;padding-left:22px}
.doc li{margin:7px 0}
.doc ol.steps,.doc ul.steps{padding-left:24px}
.doc ol.steps>li,.doc ul.steps>li{margin:12px 0}
.doc ol.steps>li strong{display:inline}
.doc strong{color:#F6F1E7}
.lead-answer{border-left:2px solid var(--copper);padding:2px 0 2px 15px;margin:16px 0 0;color:#F3EDE1}
.note{border:1px solid var(--rule);background:var(--field-2);padding:14px 16px;margin:22px 0 0;font-size:14.5px;line-height:1.75}
.note-flag{border-color:var(--flag-dim);background:var(--flag-dim)}
.note-cap{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--ink-3);text-transform:uppercase;display:block;margin-bottom:6px}
table{width:100%;border-collapse:collapse;margin:22px 0 0;font-size:14px}
th,td{text-align:left;padding:9px 11px;border-bottom:1px solid var(--rule);vertical-align:top}
th{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--ink-3);text-transform:uppercase;font-weight:400;border-bottom-color:var(--rule-2)}
td.n{font-family:var(--mono);color:var(--copper);white-space:nowrap;font-variant-numeric:tabular-nums}
.tbl-src{font-family:var(--mono);font-size:10.5px;color:var(--ink-3);margin-top:8px}
.faq{margin-top:44px;padding-top:16px;border-top:1px solid var(--rule)}
.faq h2{border:0;margin:0;padding:0}
.faq h3{font-size:16.5px;margin:24px 0 0}
.doc-end{border-top:1px solid var(--rule);margin-top:44px;padding:18px 0 0;font-size:13.5px;color:var(--ink-3)}
.next{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 30px;margin-top:14px}
.next a{display:block;border:0;border-top:1px solid var(--rule);padding:11px 0;font-size:14.5px;color:var(--ink-2)}
.next a:hover{color:var(--copper-lt);border-top-color:var(--copper)}
.next em{display:block;font-style:normal;font-family:var(--mono);font-size:10px;color:var(--ink-3);letter-spacing:.12em;margin-bottom:3px}

/* ---- 工具 ---- */
.tool{max-width:960px;margin:0 auto;padding:0 22px}
.tool-head{padding:30px 0 20px;border-bottom:1px solid var(--rule)}
.tool-head h1{font-size:clamp(24px,3.4vw,33px)}
.tool-head p{color:var(--ink-2);margin:12px 0 0;max-width:62ch}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 0}
.chip{font-family:var(--mono);font-size:11.5px;padding:9px 13px;border:1px solid var(--rule-2);background:transparent;color:var(--ink-2);cursor:pointer;min-height:38px}
.chip:hover{border-color:var(--copper);color:var(--copper-lt)}
.chip[aria-pressed="true"]{background:var(--copper);border-color:var(--copper);color:#16110B}
.tool-tbl{overflow-x:auto;margin-top:18px}
.tool-tbl table{min-width:640px}
tr[hidden]{display:none}
.check{list-style:none;padding:0;margin:20px 0 0}
.check li{border-bottom:1px solid var(--rule);padding:0;margin:0}
.check label{display:flex;gap:12px;align-items:flex-start;padding:13px 4px;cursor:pointer;min-height:44px}
.check input{margin:5px 0 0;width:18px;height:18px;accent-color:var(--copper);flex:none}
.check b{display:block;font-weight:600;font-size:15.5px;font-family:var(--disp)}
.check em{display:block;font-style:normal;font-size:13.5px;color:var(--ink-2);margin-top:3px;line-height:1.65}
.verdict{border:1px solid var(--rule-2);background:var(--field-2);padding:16px 18px;margin-top:20px}
.verdict-t{font-family:var(--disp);font-weight:700;font-size:18px}
.verdict[data-state="stop"]{border-color:var(--flag);background:var(--flag-dim)}
.verdict[data-state="stop"] .verdict-t{color:var(--flag)}
.verdict[data-state="ok"]{border-color:var(--ok);background:var(--ok-dim)}
.verdict[data-state="ok"] .verdict-t{color:var(--ok)}
.reset{font-family:var(--mono);font-size:11.5px;background:none;border:1px solid var(--rule-2);color:var(--ink-3);padding:9px 13px;cursor:pointer;margin-top:14px;min-height:38px}
.reset:hover{border-color:var(--copper);color:var(--copper-lt)}
.sigwrap{margin:22px 0 0;border:1px solid var(--rule);background:var(--field-2);padding:18px}
.sigwrap svg{display:block;width:100%;height:auto}
.sigfield{cursor:pointer}
.sigfield rect{transition:fill .12s}
.sigfield:hover rect,.sigfield[aria-pressed="true"] rect{fill:rgba(211,129,63,.22)}
.sigout{border:1px solid var(--rule-2);padding:14px 16px;margin-top:14px;min-height:92px;font-size:14.5px;line-height:1.7}
.sigout b{display:block;font-family:var(--disp);font-size:16px;margin-bottom:5px;color:var(--copper-lt)}
.gterm{border-bottom:1px solid var(--rule);padding:14px 0}
.gterm h3{font-size:16.5px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;min-width:0}
.gterm h3 em{font-family:var(--mono);font-style:normal;font-size:11.5px;color:var(--ink-3)}
.gterm p{margin:5px 0 0;font-size:14.5px;color:var(--ink-2)}
.gterm a{font-size:13px}

/* ---- 页脚 ---- */
.foot{border-top:1px solid var(--rule);background:var(--field-3);margin-top:60px;padding:30px 0 34px}
.foot-in{max-width:var(--w);margin:0 auto;padding:0 22px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);gap:26px}
.foot h2{font-size:11px;font-family:var(--mono);letter-spacing:.16em;color:var(--ink-3);text-transform:uppercase;font-weight:400;margin-bottom:10px}
.foot ul{list-style:none;padding:0;margin:0;font-size:14px;line-height:2}
.foot a{border:0;color:var(--ink-2)}
.foot a:hover{color:var(--copper-lt)}
.foot-say{font-size:13px;color:var(--ink-3);line-height:1.75;max-width:52ch}
.foot-end{max-width:var(--w);margin:26px auto 0;padding:16px 22px 0;border-top:1px solid var(--rule);
  font-family:var(--mono);font-size:11px;color:var(--ink-3);display:flex;gap:18px;flex-wrap:wrap}

/* ---- 404 / 列表 ---- */
.list-head{padding:32px 0 6px;border-bottom:1px solid var(--rule)}
.list-head h1{font-size:clamp(25px,3.6vw,34px)}
.list-head p{color:var(--ink-2);margin:12px 0 20px;max-width:58ch}
.mid{max-width:820px;margin:0 auto;padding:44px 22px}
.mid h1{font-size:30px}
.mid p{color:var(--ink-2)}

@media(max-width:900px){
  .head-in{grid-template-columns:minmax(0,1fr);gap:24px;padding:24px 22px 26px}
  .rows,.next,.foot-in{grid-template-columns:minmax(0,1fr)}
  .next a:last-child{border-bottom:1px solid var(--rule)}
}
@media(max-width:560px){
  .copy,.chip,.reset{min-height:44px;padding-top:12px;padding-bottom:12px}
  .btn{min-height:44px;padding-top:12px;padding-bottom:12px}
  .bar-nav a{padding:6px 0;display:inline-block}
  .terms a{padding:9px 11px}
  body{font-size:16px}
  .bar-in{padding:11px 18px;gap:12px}
  .mark{font-size:16px}
  .bar-nav{gap:14px;font-size:13px;margin-left:0;width:100%}
  .head-in{padding:16px 18px 20px;gap:16px}
  .kick{margin-bottom:9px;font-size:10.5px}
  .head h1{font-size:21.5px;line-height:1.32}
  .head p{font-size:14px;margin-top:9px}
  .jump{margin-top:13px}
  .btn{padding:11px 15px;font-size:14px}
  .plate{padding:13px 14px}
  .plate-code{font-size:23px}
  .plate-gain{font-size:12.5px;margin-top:9px}
  .wrap,.doc,.tool{padding-left:18px;padding-right:18px}
  .doc h2{font-size:20px;margin-top:34px}
  .lede{font-size:16.5px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
