/* ZALYT 阶梯图版式：左侧深靛竖栏（品牌 / 级别目录 / 第 0 阶码卡）+ 右主栏（标题 / 阶梯图 / 时间轴 / 阶梯之外）。窄屏 900 以下竖栏收成页顶一条，640 以下码卡变底部固定条。 */
:root{
 --ink:#1b1945;--ink2:#34365f;--mute:#62658a;--line:#dfe0ef;--line2:#ebecf6;
 --paper:#f5f5fb;--card:#fff;--side:#1b1945;--side2:#2c2a73;--acc:#5b5fd6;--acc2:#4b4fc4;--amber:#f3b04a;
 --sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",system-ui,sans-serif;
 --mono:ui-monospace,"Cascadia Mono","SF Mono",Consolas,Menlo,monospace;
}
.is-t0{--bg:#e4e7fb;--tt:#1b1945;--ts:#3a3d6b;--ia:#3b3f8f;--ik:#e4e7fb}
.is-t1{--bg:#b9c0f6;--tt:#17154a;--ts:#2b2d63;--ia:#2f2c86;--ik:#b9c0f6}
.is-t2{--bg:#8b93ef;--tt:#12103d;--ts:#1d1c52;--ia:#1f1d63;--ik:#8b93ef}
.is-t3{--bg:#5b5fd6;--tt:#fff;--ts:#e6e7ff;--ia:#fff;--ik:#5b5fd6}
.is-t4{--bg:#2f2c86;--tt:#fff;--ts:#dcdeff;--ia:#e9eaff;--ik:#2f2c86}
.is-mid{--bg:#c9cbe6;--tt:#1b1945;--ts:#3a3d6b;--ia:#3b3f8f;--ik:#c9cbe6}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 var(--sans)}
a{color:var(--acc2)}
a:hover{color:var(--ink)}
img{max-width:100%;height:auto}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.zl-skip{position:absolute;left:-999px;top:8px;z-index:99;background:#fff;color:var(--ink);padding:10px 14px;border-radius:8px}
.zl-skip:focus{left:12px}

/* 骨架 */
.zl-wrap{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh;background:linear-gradient(90deg,#17153f 0,#17153f 280px,transparent 280px)}
.zl-main{padding:24px 48px 64px;min-width:0}
.zl-main>*{max-width:1040px}

/* 侧栏 */
.zl-side{position:sticky;top:0;height:100vh;align-self:start;overflow-y:auto;display:flex;flex-direction:column;padding:22px 20px 20px;color:#fff;background:radial-gradient(130% 55% at 0% 0%,#2b2872 0%,rgba(43,40,114,0) 62%),linear-gradient(180deg,#1d1b4b,#17153f)}
.zl-logo{display:flex;align-items:center;gap:11px;min-height:44px;color:#fff;text-decoration:none}
.zl-logo:hover{color:#fff}
.zl-mark{flex:none;display:block}
.zl-logo-n{font-weight:900;font-size:18px;letter-spacing:.22em}
.zl-side-sub{margin:4px 0 22px;font-size:12px;line-height:1.5;color:#aeb3f5}
.zl-toc-k{margin:0 0 6px;font:700 10px/1.4 var(--mono);letter-spacing:.22em;color:#8b91ee}
.zl-toc ol{list-style:none;margin:0 0 18px;padding:0}
.zl-toc li a{display:grid;grid-template-columns:66px minmax(0,1fr);align-items:center;gap:6px;min-height:42px;padding:7px 0;border-top:1px solid rgba(255,255,255,.09);color:#d8dbfd;text-decoration:none;font-size:13.5px;line-height:1.45}
.zl-toc li a:hover{color:#fff}
.zl-toc li a:hover .zl-toc-nm{text-decoration:underline;text-underline-offset:3px}
.zl-toc-tag{font:700 11px/1.3 var(--mono);color:#959bf3;white-space:nowrap;border-left:3px solid var(--bg);padding-left:7px}
.zl-toc-nm{min-width:0}

/* 第 0 阶码卡 */
.zl-kit{margin-top:auto;padding:14px 14px 13px;border-radius:16px;background:linear-gradient(160deg,#322f82,#24216a);border:1px solid rgba(255,255,255,.1);box-shadow:0 16px 30px -16px rgba(0,0,0,.55)}
.zl-kit-lab{margin:0 0 9px;font:700 10px/1.45 var(--mono);letter-spacing:.14em;color:#b3b8f7}
.zl-kit-row{margin:0;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.zl-kit-row code{font:900 25px/1.1 var(--mono);letter-spacing:.08em;color:#fff}
.zl-copy{min-height:34px;padding:5px 13px;border-radius:999px;border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.06);color:#fff;font:600 12px/1 var(--sans);cursor:pointer}
.zl-copy:hover{background:rgba(255,255,255,.16)}
.zl-copy.is-done{background:var(--amber);border-color:var(--amber);color:var(--ink)}
.zl-kit-gain{margin:10px 0 10px;font-size:12.5px;line-height:1.55;color:#e1e3ff}
.zl-go{display:flex;align-items:center;justify-content:center;min-height:46px;padding:0 10px;border-radius:11px;background:linear-gradient(180deg,#6a6fe6,#5157cf);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 8px 18px -10px rgba(0,0,0,.6);color:#fff;font-weight:800;font-size:14px;text-decoration:none;text-align:center;line-height:1.3}
.zl-go:hover{color:#fff;background:linear-gradient(180deg,#777cf0,#5b60da)}
.zl-kit-mini{display:none;margin:0}
.zl-kit-note,.zl-kit-hint{margin:9px 0 0;font-size:11.5px;line-height:1.55;color:#bdc1f5}
.zl-kit-hint{color:#a9aeef}
.zl-kit-to{display:inline-block;margin-top:8px;padding:4px 0;font-size:12px;color:#fff}
.zl-kit.is-bare .zl-kit-gain{margin-bottom:0}

/* 侧栏底部其它卡 */
.zl-sidecard,.zl-origin{margin-top:auto;padding:14px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.zl-sidecard-k{margin:0 0 6px;font:700 10px/1.4 var(--mono);letter-spacing:.18em;color:#a9aef5}
.zl-sidecard-t{margin:0 0 10px;font-size:13.5px;line-height:1.55;font-weight:700;color:#fff}
.zl-sidecard-go{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:10px;background:#fff;color:var(--ink);font-weight:800;font-size:13.5px;text-decoration:none}
.zl-sidecard-go:hover{color:var(--ink);background:#e9eaff}
.zl-origin-a{margin:0 0 10px;font-size:12.5px;line-height:1.6;color:#d9dcfd}
.zl-origin-a b{display:block;font:700 10px/1.6 var(--mono);letter-spacing:.16em;color:var(--amber)}
.zl-origin-u{margin:0 0 10px;font:11px/1.4 var(--mono);color:#9ca1ee}

/* 主栏顶 */
.zl-nav{display:flex;flex-wrap:wrap;gap:2px 20px;margin:0 0 14px;font-size:13.5px}
.zl-nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--mute);text-decoration:none}
.zl-nav a:hover,.zl-nav a[aria-current]{color:var(--ink)}
.zl-nav a[aria-current]{font-weight:700;box-shadow:inset 0 -2px 0 var(--acc)}
.zl-crumbs{list-style:none;display:flex;flex-wrap:wrap;gap:4px 0;margin:0 0 12px;padding:0;font-size:12.5px;color:var(--mute)}
.zl-crumbs li+li::before{content:"/";margin:0 8px;color:#b7b9d4}
.zl-crumbs a{color:var(--mute)}
.zl-kick{margin:0 0 10px;font:700 11px/1.6 var(--mono);letter-spacing:.22em;color:var(--acc);display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline}
.zl-kick span{font:12px/1.6 var(--sans);letter-spacing:0;color:var(--mute)}
.zl-kick span a{color:var(--mute)}
.zl-hero h1{text-wrap:balance;margin:0 0 10px;font-size:clamp(26px,2.75vw,38px);line-height:1.22;font-weight:900;letter-spacing:.01em}
.zl-dek{margin:0 0 20px;max-width:760px;font-size:15px;line-height:1.7;color:var(--mute)}
.zl-intro{max-width:760px;color:var(--ink2);font-size:15px}
.zl-intro p{margin:0 0 10px}

/* 阶梯图 */
.zl-fig{margin:0;padding:14px 14px 8px;border-radius:18px;background:var(--card);border:1px solid var(--line);box-shadow:0 22px 44px -32px rgba(27,25,69,.45)}
.zl-fig svg{display:block;width:100%;height:auto}
.zl-fig-t{display:none!important}
.zl-fig text,.zl-flight text,.zl-lost text{font-family:var(--sans)}
.zl-st{cursor:pointer}
.zl-st-b{fill:var(--bg);transition:filter .15s}
.zl-st:hover .zl-st-b,.zl-st:focus .zl-st-b{filter:brightness(1.07) saturate(1.05)}
.zl-st:focus{outline:none}
.zl-st:focus-visible .zl-st-b{stroke:var(--amber);stroke-width:4}
.zl-st-tread{fill:#fff;opacity:.55}
.zl-st-riser{fill:#14123a;opacity:.12}
.zl-st-t{fill:var(--tt)}
.zl-st-s{fill:var(--ts)}
.zl-ic-a{fill:var(--ia)}
.zl-ic-b{fill:var(--amber)}
.zl-ic-k{stroke:var(--ik)}
.zl-ic-k2{fill:var(--ik)}
.zl-pin-c{fill:var(--amber);stroke:var(--ink);stroke-width:2}
.zl-pin-l{stroke:var(--ink);stroke-width:4;stroke-linecap:round}
.zl-pin-t{fill:var(--ink)}
.zl-fig-h{fill:var(--ink)}
.zl-fig-s{fill:var(--mute)}
.zl-cap{margin:8px 4px 2px;font-size:12.5px;line-height:1.6;color:var(--mute)}
.zl-fig.is-small{padding:8px;border-radius:12px}

/* 导语与正文排版 */
.zl-lead{margin:30px 0 0;max-width:760px;font-size:16px}
.zl-kick.is-lead{margin-bottom:6px}
.zl-body>*:first-child{margin-top:0}
.zl-body p{margin:0 0 14px}
.zl-body h3{margin:24px 0 8px;font-size:17.5px;line-height:1.45;font-weight:800;padding-left:12px;border-left:3px solid var(--bg,var(--acc))}
.zl-body h4{margin:18px 0 6px;font-size:15.5px}
.zl-body ul,.zl-body ol{margin:0 0 14px;padding-left:1.4em}
.zl-body li{margin:0 0 6px}
.zl-body strong{color:var(--ink)}
.zl-body code{font:600 .92em var(--mono);background:#eceefd;padding:1px 5px;border-radius:5px}
.zl-body blockquote{margin:0 0 14px;padding:10px 16px;border-left:3px solid var(--line);color:var(--ink2);background:#fafaff}

/* 时间轴 */
.zl-tl{list-style:none;margin:30px 0 0;padding:0 0 0 38px;position:relative}
.zl-tl::before{content:"";position:absolute;left:10px;top:10px;bottom:24px;width:3px;border-radius:2px;background:linear-gradient(180deg,#d4d7f8,#8b93ef 55%,#2f2c86)}
.zl-tl-i{position:relative;padding:0 0 36px;scroll-margin-top:18px}
.zl-tl-i::before{content:"";position:absolute;left:-37px;top:3px;width:20px;height:20px;border-radius:6px;background:var(--bg);border:3px solid var(--paper);box-shadow:0 0 0 1px rgba(27,25,69,.18),0 6px 12px -6px rgba(27,25,69,.5)}
.zl-tl-i.is-between::before{border-radius:50%;background:var(--paper);box-shadow:0 0 0 2px #8b93ef}
.zl-tl-tag{margin:0;display:flex;align-items:center;gap:14px;font:700 11px/1.6 var(--mono);letter-spacing:.2em;color:var(--acc)}
.zl-tl-up{display:inline-flex;align-items:center;min-height:44px;margin:-12px 0;padding:0 4px;font:12px/1 var(--sans);letter-spacing:0;color:var(--mute);text-decoration:none}
.zl-tl-up:hover{color:var(--ink)}
.zl-tl h2.zl-h{margin:2px 0 10px;font-size:23px;line-height:1.38;font-weight:900}
.zl-tl.is-plain h2.zl-h{font-size:21px}
.zl-chips{margin:0 0 14px;display:flex;flex-wrap:wrap;gap:8px}
.zl-chips span{display:inline-block;padding:4px 11px;border-radius:999px;font-size:13px;line-height:1.5;border:1px solid var(--line);background:#fff;color:var(--ink2)}
.zl-chips .is-give{background:#ebedfd;border-color:#d3d7fa}
.zl-chips .is-get{background:#fff6e6;border-color:#f6dfb2}
.zl-chips .is-wait{background:#eef7f2;border-color:#cfe8da}
.zl-tl-i>.zl-body{max-width:740px}

/* 提示块 / 分流块 / 依据块 */
.zl-note{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;margin:6px 0 18px;padding:13px 16px;border-radius:14px;background:#fff;border:1px solid var(--line)}
.zl-note-k{align-self:start;padding:3px 9px;border-radius:7px;font:700 11.5px/1.5 var(--mono);white-space:nowrap}
.zl-note-t{display:block;margin:0 0 4px;font-size:15px}
.zl-note .zl-body p:last-child{margin-bottom:0}
.zl-note.is-tip .zl-note-k{background:#ebedfd;color:#3b3f8f}
.zl-note.is-warn{background:#fffaf0;border-color:#f3dfb4}.zl-note.is-warn .zl-note-k{background:#fbe5b8;color:#6d4a07}
.zl-note.is-stop{background:#fff4f4;border-color:#f2cccc}.zl-note.is-stop .zl-note-k{background:#f6d2d2;color:#7d1d1d}
.zl-note.is-ok{background:#f2faf5;border-color:#cfe7d8}.zl-note.is-ok .zl-note-k{background:#d3eedd;color:#1c5b35}
.zl-state{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);margin:6px 0 18px;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#fff}
.zl-state-say{position:relative;padding:14px 26px 14px 16px;background:linear-gradient(160deg,#2f2c86,#1f1d63);color:#fff}
.zl-state-say::after{content:"";position:absolute;right:-12px;top:50%;width:24px;height:24px;margin-top:-12px;transform:rotate(45deg);background:#25236f;z-index:1}
.zl-state-say p{margin:6px 0 8px;font-weight:700;font-size:15px;line-height:1.55}
.zl-state-k{display:inline-block;font:700 10.5px/1.5 var(--mono);letter-spacing:.14em;color:#b3b8f7}
.zl-state-do .zl-state-k{color:var(--acc)}
.zl-state-cost{display:inline-block;padding:2px 9px;border-radius:999px;background:var(--amber);color:var(--ink);font-size:12px;font-weight:700}
.zl-state-do{padding:14px 16px 14px 26px}
.zl-state-do .zl-body p:last-child{margin-bottom:0}
.zl-basis{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;margin:8px 0 6px;padding:12px 16px;border-radius:12px;border:1px dashed #b9bde3;background:#fafaff;font-size:13.5px;color:var(--ink2)}
.zl-basis-k{padding:2px 8px;border-radius:6px;background:var(--ink);color:#fff;font:700 11px/1.6 var(--mono);height:max-content}
.zl-basis .zl-body p:last-child{margin-bottom:0}

/* 表格（三列及以上在窄屏变卡片） */
.zl-tbl{overflow-x:auto;margin:6px 0 18px;border:1px solid var(--line);border-radius:12px;background:#fff}
.zl-tbl table{border-collapse:collapse;width:100%;font-size:14.5px;line-height:1.6}
.zl-tbl th{background:#eceefd;text-align:left;font-size:13px;color:var(--ink);padding:10px 12px;white-space:nowrap}
.zl-tbl td{padding:10px 12px;border-top:1px solid var(--line2);vertical-align:top}
.zl-tbl tbody tr:nth-child(even) td{background:#fafaff}

/* 图：截图框 / 本站图 / 两图并排 / 界面示意 / 封面 */
.zl-shot,.zl-figure,.zl-cover{margin:10px 0 20px}
.zl-shot-box{border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:0 16px 30px -24px rgba(27,25,69,.5)}
.zl-shot-bar{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#eceefd}
.zl-shot-bar i{width:9px;height:9px;border-radius:50%;background:#c4c7ea}
.zl-shot-bar em{margin-left:8px;font:12px/1 var(--mono);font-style:normal;color:var(--mute)}
.zl-shot img,.zl-figure img,.zl-cover img{display:block;width:100%;height:auto}
.zl-shot.is-phone .zl-shot-box{max-width:320px;margin:0 auto;border-radius:26px;padding:8px;background:#1b1945}
.zl-shot.is-phone img{border-radius:20px}
.zl-figure img,.zl-cover img{border-radius:12px;border:1px solid var(--line)}
.zl-shot figcaption,.zl-figure figcaption,.zl-cover figcaption,.zl-ping figcaption{margin-top:8px;font-size:13px;line-height:1.6;color:var(--mute)}
.zl-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;margin:6px 0 18px}
.zl-pair>*{margin:0}
.zl-ping{margin:10px 0 20px;display:flex;flex-direction:column;align-items:center}
.zl-ping-dev{width:min(300px,100%);padding:10px;border-radius:30px;background:linear-gradient(160deg,#2c2a73,#14123a);box-shadow:0 26px 40px -26px rgba(20,18,58,.7),inset 0 0 0 1px rgba(255,255,255,.1)}
.zl-ping.is-web .zl-ping-dev{width:min(460px,100%);padding:0;border-radius:14px;background:#d9dbf0}
.zl-ping-in{border-radius:22px;padding:8px 12px 16px;background:linear-gradient(180deg,#fbfbff,#eff0fb);overflow:hidden}
.zl-ping.is-web .zl-ping-in{border-radius:0 0 14px 14px;padding:12px 16px 18px}
.zl-ping-notch{margin:0;display:flex;justify-content:center}
.zl-ping-notch i{width:76px;height:18px;border-radius:0 0 12px 12px;background:#14123a}
.zl-ping-bar{margin:0;display:flex;align-items:center;gap:6px;padding:9px 12px;border-radius:14px 14px 0 0;background:#e4e6f7}
.zl-ping-bar i{width:10px;height:10px;border-radius:50%;background:#c3c6e6}
.zl-ping-bar em{flex:1;margin-left:10px;padding:5px 10px;border-radius:6px;background:#fff;font:12px/1 var(--mono);font-style:normal;color:var(--mute)}
.zl-ping-top{margin:10px 0 4px;display:flex;align-items:center;gap:8px}
.zl-ping-top b{font-size:15px}
.zl-ping-back{width:9px;height:9px;margin-left:4px;border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg)}
.zl-ping-path{margin:0 0 6px;font:11px/1.4 var(--mono);color:var(--mute)}
.zl-ping-rows{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:5px}
.zl-ping-rows li{display:flex;align-items:center;gap:9px;padding:10px 11px;border-radius:10px;background:#fff;border:1px solid var(--line2);font-size:13.5px;color:var(--ink2)}
.zl-ping-rows li i{flex:none;width:18px;height:18px;border-radius:5px;background:#e4e7fb}
.zl-ping-rows li span{flex:1}
.zl-ping-rows li em{font-style:normal;color:#a5a8c8}
.zl-ping-rows li.is-hi{background:linear-gradient(160deg,#fff,#eef0fe);border-color:var(--bg);box-shadow:0 8px 16px -12px var(--bg);color:var(--ink);font-weight:700}
.zl-ping-rows li.is-hi i{background:var(--bg)}
.zl-ping-rows li s{text-decoration:none;padding:4px 7px;border-radius:5px;background:var(--ink);color:#fff;font:700 10.5px/1 var(--mono)}

/* 上楼清单 */
.zl-qd{margin:18px 0 0;padding:24px 24px 18px;border-radius:18px;background:var(--card);border:1px solid var(--line)}
.zl-qd h2,.zl-qa h2,.zl-latest h2,.zl-related h2{margin:0 0 8px;font-size:22px;line-height:1.4;font-weight:900}
.zl-qd-lead{margin:0 0 14px;color:var(--mute);font-size:14.5px}
.zl-qd-steps{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.zl-qd-steps li{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:start;margin-left:calc(var(--k) * 26px);padding:12px 14px;border-radius:12px;background:#f7f7fe;border:1px solid var(--line2)}
.zl-qd-n{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:var(--ink);color:#fff;font:900 15px/1 var(--mono)}
.zl-qd-c b{display:block;font-size:15.5px;line-height:1.5}
.zl-qd-c p{margin:2px 0 0;font-size:14px;line-height:1.65;color:var(--ink2)}
.zl-qd-go{align-self:center;display:inline-flex;align-items:center;min-height:44px;padding:0 6px;font-size:12.5px;color:var(--mute);text-decoration:none;white-space:nowrap}
.zl-qd-go:hover{color:var(--ink)}

/* 阶梯之外 */
.zl-qa{margin:30px 0 0}
.zl-qas{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.zl-q1{position:relative;padding:16px 18px 14px;border-radius:14px;background:var(--card);border:1px solid var(--line)}
.zl-qn{display:block;margin:0 0 4px;font:700 11px/1.4 var(--mono);letter-spacing:.16em;color:var(--acc)}
.zl-q{margin:0 0 6px;font-size:16px;line-height:1.5;font-weight:800}
.zl-a{margin:0;font-size:14.5px;line-height:1.7;color:var(--ink2)}

/* 作者框 */
.zl-author{margin:30px 0 0;padding:18px 20px;border-radius:14px;background:var(--card);border:1px solid var(--line);border-left:5px solid var(--acc)}
.zl-author p{margin:0 0 8px;font-size:14px;line-height:1.7;color:var(--ink2)}
.zl-author-n{display:flex;gap:12px;align-items:baseline}
.zl-author-n b{font-size:16px;color:var(--ink)}
.zl-author-n span{font-size:12.5px;color:var(--mute)}
.zl-author-l{display:flex;flex-wrap:wrap;gap:4px 18px;margin:0!important}
.zl-author-l a{display:inline-flex;align-items:center;min-height:44px;font-size:13px}

/* 文章底部 */
.zl-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:26px 0 0;padding:14px 0 0;border-top:1px solid var(--line)}
.zl-tags-h{font:700 11px/1.5 var(--mono);letter-spacing:.16em;color:var(--mute);margin-right:4px}
.zl-tags a,.zl-tag-plain{display:inline-flex;align-items:center;min-height:40px;padding:0 13px;border-radius:999px;font-size:13px;text-decoration:none;border:1px solid var(--line)}
.zl-tags a{background:#ebedfd;color:var(--ink);border-color:#d3d7fa}
.zl-tags a:hover{background:#dfe2fd}
.zl-tag-plain{background:#fff;color:var(--mute)}
.zl-latest,.zl-related{margin:30px 0 0}
.zl-all{margin:10px 0 0}
.zl-all a{display:inline-flex;align-items:center;min-height:44px;font-weight:700}

/* 文章条目（栏目 / 标签 / 首页最新 / 相关） */
.zl-index{margin:20px 0 0}
.zl-entries{list-style:none;margin:6px 0 0;padding:0}
.zl-entry{display:grid;grid-template-columns:104px minmax(0,1fr);gap:20px;padding:18px 0;border-top:1px solid var(--line);scroll-margin-top:18px}
.zl-entry:last-child{border-bottom:1px solid var(--line)}
.zl-entry-l{display:flex;flex-direction:column;gap:2px}
.zl-entry-l b{font:700 12px/1.5 var(--mono);color:var(--acc);letter-spacing:.06em}
.zl-entry-l time{font:11.5px/1.5 var(--mono);color:var(--mute)}
.zl-mini{display:block;width:80px;height:60px}
.zl-mini-g{fill:#c9cbe0}
.zl-mini-s{fill:#b9c0f6}
.zl-mini-s.is-top{fill:var(--acc)}
.zl-entry-t{margin:0 0 6px;font-size:19px;line-height:1.45;font-weight:800}
.zl-entry-t a{color:var(--ink);text-decoration:none}
.zl-entry-t a:hover{text-decoration:underline;text-underline-offset:4px}
.zl-entry-c p{margin:0 0 10px;font-size:14.5px;line-height:1.7;color:var(--ink2)}
.zl-entry-st{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.zl-entry-st li{display:inline-flex;align-items:center;gap:6px;padding:2px 10px 2px 3px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:12.5px;color:var(--ink2)}
.zl-entry-st li i{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--bg);color:var(--tt);font:700 11px/1 var(--mono);font-style:normal}
.zl-entries.is-rel .zl-entry-t{font-size:17px}
.zl-flight{margin:4px 0 0;padding:12px 14px 8px;border-radius:16px;background:var(--card);border:1px solid var(--line)}
.zl-flight svg{display:block;width:100%;height:auto}
.zl-flight-g{fill:#c9cbe0}
.zl-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:18px 0 0}
.zl-pg{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:96px;padding:0 16px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:700;text-decoration:none}
.zl-pg.is-off{color:#b7b9d4;background:transparent}
.zl-pg-at{font:12.5px/1.4 var(--mono);color:var(--mute)}

/* 标签页牌子 / 标签总页 */
.zl-plate{display:inline-flex;align-items:stretch;margin:0 0 14px;border-radius:10px;overflow:hidden;box-shadow:0 10px 22px -16px rgba(27,25,69,.6)}
.zl-plate>*{display:flex;align-items:center;padding:7px 12px}
.zl-plate-k{background:var(--ink);color:#b3b8f7;font:700 10.5px/1 var(--mono);letter-spacing:.16em}
.zl-plate b{background:var(--acc);color:#fff;font-size:15px}
.zl-plate-n{background:#fff;color:var(--ink);font:700 12px/1 var(--mono)}
.zl-plates{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.zl-plate-i{display:grid;grid-template-columns:80px minmax(0,1fr);gap:16px;padding:16px;border-radius:14px;background:#fff;border:1px solid var(--line)}
.zl-plate-t{margin:0;font-size:18px;line-height:1.45}
.zl-plate-t a{color:var(--ink);text-decoration:none}
.zl-plate-t a:hover{text-decoration:underline}
.zl-plate-cnt{margin:0 0 4px;font:700 12px/1.5 var(--mono);color:var(--acc)}
.zl-plate-c p:last-child{margin:0;font-size:14px;line-height:1.65;color:var(--ink2)}

/* 404 */
.zl-lost{margin:6px 0 0;padding:14px;border-radius:18px;background:#fff;border:1px solid var(--line)}
.zl-lost svg{display:block;width:100%;height:auto}
.zl-404-go{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;margin:18px 0 0}
.zl-404-home{display:flex;flex-direction:column;justify-content:center;gap:6px;min-height:120px;padding:20px;border-radius:16px;background:linear-gradient(160deg,#2f2c86,#1b1945);color:#fff;text-decoration:none}
.zl-404-home:hover{color:#fff}
.zl-404-home b{font-size:20px}
.zl-404-home span{font-size:13.5px;color:#cfd2fb;line-height:1.6}
.zl-404-pages{padding:16px 18px;border-radius:16px;background:#fff;border:1px solid var(--line)}
.zl-404-pages ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 16px}
.zl-404-pages a{display:inline-flex;align-items:center;min-height:44px}

/* 页脚 */
.zl-foot{grid-column:1/-1;background:#fff;border-top:1px solid var(--line)}
.zl-foot-in{max-width:1320px;padding:28px 48px 34px;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px 48px}
.zl-foot-n{display:flex;align-items:center;gap:10px;margin:0 0 10px}
.zl-foot-n b{letter-spacing:.2em}
.zl-foot-n span{font-size:12.5px;color:var(--mute)}
.zl-foot-id p{font-size:13.5px;line-height:1.75;color:var(--ink2);margin:0 0 10px}
.zl-foot-risk{color:var(--mute)!important}
.zl-foot-links{display:flex;flex-wrap:wrap;align-content:start;gap:0 18px}
.zl-foot-links a{display:inline-flex;align-items:center;min-height:44px;font-size:13.5px;color:var(--ink2)}
.zl-foot-c{grid-column:1/-1;margin:0;font:12px/1.6 var(--mono);color:var(--mute)}

/* 1100 以下：栏窄一点 */
@media (max-width:1100px){
 .zl-wrap{grid-template-columns:250px minmax(0,1fr);background:linear-gradient(90deg,#17153f 0,#17153f 250px,transparent 250px)}
 .zl-main{padding:22px 32px 56px}
 .zl-foot-in{padding:26px 32px 30px}
 .zl-qd-steps li{margin-left:calc(var(--k) * 16px)}
}

/* 900 以下：竖栏收成页顶一条 */
@media (max-width:900px){
 .zl-wrap{grid-template-columns:minmax(0,1fr);background:none}
 .zl-copy{min-height:44px}
 .zl-fig-w{display:none!important}
 .zl-fig-t{display:block!important;max-width:440px;margin:0 auto}
 .zl-side{position:relative;height:auto;overflow:visible;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:10px 20px}
 .zl-side-sub,.zl-toc,.zl-sidecard{display:none}
 .zl-kit{margin:0 0 0 auto;padding:8px 10px;display:grid;grid-template-columns:auto auto;align-items:center;gap:6px 12px;background:rgba(255,255,255,.06);box-shadow:none}
 .zl-kit-lab,.zl-kit-gain,.zl-kit-note,.zl-kit-hint,.zl-kit-to{display:none}
 .zl-kit-row code{font-size:20px}
 .zl-go{min-height:44px;padding:0 14px;font-size:13px}
 .zl-kit-mini{display:block;grid-column:1/-1;font-size:11px;line-height:1.4;color:#b7bcf7}
 .zl-origin{flex-basis:100%;margin:0 0 4px;padding:10px 12px}
 .zl-origin .zl-sidecard-go,.zl-origin-u{display:none}
 .zl-main{padding:20px 24px 52px}
 .zl-foot-in{grid-template-columns:1fr;padding:24px}
 .zl-404-go{grid-template-columns:1fr}
}

/* 640 以下：码卡变底部固定条，首屏留给竖版阶梯图 */
@media (max-width:640px){
 body{font-size:15.5px}
 .zl-main{padding:14px 16px 40px}
 .zl-side{padding:8px 16px}
 .zl-logo-n{font-size:16px}
 .zl-is-home .zl-nav,.zl-is-home .zl-dek,.zl-is-art .zl-nav{display:none}
 .zl-nav{gap:0 16px;margin-bottom:8px}
 .zl-hero h1{font-size:20px;line-height:1.36}
 .zl-kick{margin-bottom:6px}
 .zl-fig{padding:6px;border-radius:14px}
 .zl-fig-w{display:none!important}
 .zl-fig-t{display:block!important}
 .zl-cap{font-size:12px}
 .zl-kit{position:fixed;left:0;right:0;bottom:0;z-index:50;margin:0;display:grid;grid-template-columns:1fr;gap:6px;padding:8px 12px calc(9px + env(safe-area-inset-bottom));border:0;border-radius:16px 16px 0 0;background:linear-gradient(180deg,#26236c,#1b1945);box-shadow:0 -14px 30px -12px rgba(0,0,0,.5)}
 .zl-kit-row{gap:10px}
 .zl-kit-row code{font-size:21px}
 .zl-copy{min-height:44px;padding:5px 16px}
 .zl-go{min-height:44px;font-size:14px}
 .zl-kit-mini{font-size:10.5px;color:#b7bcf7}
 .zl-is-home .zl-foot,.zl-has-kit .zl-foot{padding-bottom:142px}
 .zl-tl{padding-left:28px;margin-top:24px}
 .zl-tl::before{left:6px}
 .zl-tl-i::before{left:-29px;width:17px;height:17px}
 .zl-tl h2.zl-h{font-size:19.5px}
 .zl-state{grid-template-columns:1fr}
 .zl-state-say{padding:14px 16px 18px}
 .zl-state-say::after{right:auto;left:26px;top:auto;bottom:-12px;margin:0}
 .zl-state-do{padding:20px 16px 14px}
 .zl-note{grid-template-columns:1fr;gap:6px}
 .zl-note-k{justify-self:start}
 .zl-basis{grid-template-columns:1fr;gap:6px}
 .zl-basis-k{justify-self:start}
 .zl-pair{grid-template-columns:1fr}
 .zl-qd{padding:18px 14px 12px}
 .zl-qd-steps li{margin-left:0;grid-template-columns:30px minmax(0,1fr)}
 .zl-qd-n{width:30px;height:30px;font-size:14px}
 .zl-qd-go{grid-column:2;justify-self:start;min-height:44px;margin:-8px 0 -10px;padding:0}
 .zl-qas,.zl-plates{grid-template-columns:1fr}
 .zl-entry{grid-template-columns:72px minmax(0,1fr);gap:14px}
 .zl-mini{width:64px;height:48px}
 .zl-entry-t{font-size:17px}
 .zl-tbl[data-cols="3"],.zl-tbl[data-cols="4"],.zl-tbl[data-cols="5"],.zl-tbl[data-cols="6"]{border:0;background:transparent}
 .zl-tbl[data-cols="3"] table,.zl-tbl[data-cols="4"] table,.zl-tbl[data-cols="5"] table,.zl-tbl[data-cols="6"] table,.zl-tbl[data-cols="3"] tbody,.zl-tbl[data-cols="4"] tbody,.zl-tbl[data-cols="5"] tbody,.zl-tbl[data-cols="6"] tbody,.zl-tbl[data-cols="3"] tr,.zl-tbl[data-cols="4"] tr,.zl-tbl[data-cols="5"] tr,.zl-tbl[data-cols="6"] tr{display:block;width:100%}
 .zl-tbl[data-cols="3"] thead,.zl-tbl[data-cols="4"] thead,.zl-tbl[data-cols="5"] thead,.zl-tbl[data-cols="6"] thead{display:none}
 .zl-tbl[data-cols="3"] tr,.zl-tbl[data-cols="4"] tr,.zl-tbl[data-cols="5"] tr,.zl-tbl[data-cols="6"] tr{margin:0 0 8px;padding:6px 0;border:1px solid var(--line);border-radius:12px;background:#fff}
 .zl-tbl[data-cols="3"] td,.zl-tbl[data-cols="4"] td,.zl-tbl[data-cols="5"] td,.zl-tbl[data-cols="6"] td{display:block;width:100%;border:0;padding:4px 12px;background:transparent!important}
 .zl-tbl[data-cols="3"] td::before,.zl-tbl[data-cols="4"] td::before,.zl-tbl[data-cols="5"] td::before,.zl-tbl[data-cols="6"] td::before{content:attr(data-th);display:block;font:700 11px/1.5 var(--mono);color:var(--mute)}
 .zl-foot-in{padding:22px 16px 26px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.zl-st-b{transition:none}}
