@font-face{font-family:"DM Sans";src:url("/fonts/dm-sans-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"DM Sans";src:url("/fonts/dm-sans-latin-700-normal.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
:root{
  --canvas:#e5efef;--paper:#f6fbfa;--ink:#233e40;--accent:#24686b;--muted:#4d6567;--line:#b6cecb;
  --deep:#17302f;--wash:color-mix(in oklab,var(--accent) 9%,var(--paper));--warm:#8a4b2a;--warm-wash:color-mix(in oklab,#c9875e 14%,var(--paper));
  --control:#718c89;--line-soft:color-mix(in oklab,var(--line) 55%,var(--paper));--paper-soft:color-mix(in oklab,var(--paper) 55%,var(--canvas));
  --shadow-paper:0 2px 3px -2px color-mix(in oklab,var(--ink) 10%,transparent);
  --shadow-phone:0 12px 0 -5px var(--line),0 20px 36px -26px color-mix(in oklab,var(--ink) 28%,transparent);
  --r-s:8px;--r-m:20px;--r-l:26px;--r-xl:40px;
  --cjk:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Source Han Sans SC",sans-serif;
  --latin:"DM Sans",var(--cjk);
  --ease:cubic-bezier(.32,.72,0,1)
}
*,*:before,*:after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:24px}
body{margin:0;background:var(--canvas);color:var(--ink);font:16px/1.75 var(--latin);font-feature-settings:"tnum" 0;overflow-wrap:break-word}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:5px}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}
button,input,select,summary{font:inherit;color:inherit}
button,summary{cursor:pointer}
a,button,summary{touch-action:manipulation}
::selection{background:var(--accent);color:var(--paper)}
.latin,.code-v,.mark-svg,.lost-code{font-family:var(--latin)}
.skip{position:absolute;inset-inline-start:12px;top:-60px;background:var(--ink);color:var(--paper);padding:10px 14px;border-radius:var(--r-s);z-index:20}
.skip:focus{top:12px}

/* 顶栏 */
.bar{min-height:80px;display:flex;align-items:center;gap:56px;padding:0 46px;border-bottom:1px solid var(--line);background:var(--canvas)}
.mark{display:flex;align-items:center;flex:none;min-height:44px}
.mark-svg{width:102px;height:42px;fill:var(--ink);font-weight:700;font-size:39px}
.mark-sm .mark-svg{width:72px;height:32px;font-size:30px;fill:var(--muted)}
.bar-nav{display:flex;align-items:center;gap:28px;flex:1;min-width:0}
.bar-nav a{min-height:44px;min-width:44px;display:flex;align-items:center;font-size:15px;color:var(--muted);white-space:nowrap;border-bottom:2px solid transparent}
.bar-nav a[aria-current]{color:var(--ink);font-weight:700;border-bottom-color:var(--accent)}
.bar-nav .bar-about{margin-left:auto}
.bar-find{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 14px;border:1px solid var(--control);border-radius:var(--r-s);color:var(--muted);font-size:14px;flex:none}
.bar-find:hover{background:var(--paper);text-decoration:none}
.lens{width:14px;height:14px;border:1.6px solid currentColor;border-radius:50%;position:relative;margin-right:3px}
.lens:after{content:"";position:absolute;width:6px;height:1.6px;right:-5px;bottom:-2px;transform:rotate(45deg);background:currentColor}

/* 版框 */
.frame{max-width:1440px;margin:0 auto;display:grid;column-gap:44px;padding:28px 46px 0;align-items:start}
.frame-home{grid-template-columns:214px minmax(0,640px) minmax(265px,1fr)}
.frame-doc,.frame-plain{grid-template-columns:214px minmax(0,646px)}
.frame-list{grid-template-columns:214px minmax(0,720px)}
.frame-toc{grid-template-columns:214px minmax(0,646px) minmax(200px,250px)}
.frame-solo{grid-template-columns:minmax(0,760px);justify-content:center}
.rail{position:sticky;top:24px;max-height:calc(100vh - 48px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent;align-self:start;padding:6px 22px 24px 4px;margin-left:-4px;border-right:1px solid var(--line)}
.rail-h{font-size:13px;color:var(--muted);font-weight:700;margin:0 0 10px}
.rail-h a{display:flex;align-items:center;min-height:44px;color:inherit}
.rail-h2{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
.rail-list{list-style:none;margin:0;padding:0}
.rail-list a{display:flex;align-items:center;min-height:44px;padding:7px 10px;border-radius:var(--r-s);font-size:14.5px;line-height:1.55}
.rail-list a[aria-current]{background:var(--paper);color:var(--accent);font-weight:700;box-shadow:inset 3px 0 var(--accent);border-radius:0 var(--r-s) var(--r-s) 0}
.rail-list a:hover{background:var(--paper);text-decoration:none}
.rail-group+.rail-group{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.rail-steps{list-style:none;margin:0;padding:0}
.rail-steps li{position:relative;padding-left:22px}
.rail-steps li:before{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--line);left:1px;top:21px}
.rail-steps li:not(:last-child):after{content:"";position:absolute;left:4px;top:29px;bottom:-21px;width:1px;background:var(--line)}
.rail-steps a{display:flex;align-items:center;min-height:46px;padding:7px 10px;margin-left:-10px;border-radius:var(--r-s);font-size:15px;line-height:1.6}
.rail-steps a:hover{background:var(--paper);text-decoration:none}
.rail-note{font-size:13px;color:var(--muted);margin-top:34px;line-height:1.8}
.doc{min-width:0;padding-bottom:56px}
.crumbs{font-size:13px;color:var(--muted);margin:0 0 10px;display:flex;align-items:center;flex-wrap:wrap;gap:0 10px;min-height:32px}
.crumbs span{margin:0}
.crumbs a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
.crumbs-home{min-height:0;display:block}
.crumbs a:hover{color:var(--ink)}
h1{font-size:47px;line-height:1.3;letter-spacing:-.02em;margin:0 0 16px;font-weight:700;text-wrap:balance}
.k-doc h1,.k-plain h1,.k-list h1,.k-tool h1{font-size:37px;line-height:1.36;letter-spacing:-.015em}
h1 span{display:block}
.lede{font-size:17px;color:var(--muted);line-height:1.75;margin:0 0 18px;max-width:38em}
.lede-home span{display:block;text-wrap:pretty}
.sign{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--muted);padding:0 0 20px;margin:0 0 28px;border-bottom:1px solid var(--line)}

/* 首页码条与推荐卡 */
.codebar{border:1px solid var(--line);background:var(--paper);border-radius:var(--r-m);padding:20px 24px;margin-bottom:20px;box-shadow:var(--shadow-paper)}
.code-top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.code-k{font-size:13px;color:var(--muted);margin:0 0 2px}
.code-v{font-size:33px;line-height:1.2;letter-spacing:1px;display:block;font-weight:700;user-select:all}
.copy{border:0;border-radius:var(--r-s);background:var(--accent);color:var(--paper);font-size:15px;font-weight:700;padding:12px 18px;min-height:48px;min-width:128px;transition:background .3s var(--ease)}
.copy:hover{background:var(--deep)}
.copy-sm{min-width:84px;min-height:44px;padding:8px 14px;font-size:14px}
.perk{font-size:16px;margin:12px 0 3px}
.perk strong{white-space:nowrap}
.perk-note{font-size:13px;color:var(--muted);margin:0}
.code-go{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:16px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.go{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--accent);border-radius:var(--r-s);min-height:46px;padding:10px 16px;text-align:center;line-height:1.65;font-size:15px;color:var(--accent);font-weight:700;background:transparent}
.go:hover{background:var(--wash);text-decoration:none}
.go-wide{width:100%;margin:12px 0 0}
.go-note{font-size:13px;line-height:1.7;color:var(--muted);margin:0}
.copy-state{font-size:13px;margin:0;color:var(--accent)}
.copy-state:not(:empty){margin-top:10px}
.pick{border:1px solid var(--line);border-radius:var(--r-l);padding:22px 26px 16px;background:var(--paper)}
.pick-meta{display:flex;gap:13px;align-items:center;margin:0 0 8px}
.pick-k{font-size:13px;color:var(--accent);font-weight:700}
.pick-type{font-size:13px;color:var(--muted);border-left:1px solid var(--line);padding-left:13px}
.pick h2{font-size:23px;line-height:1.5;letter-spacing:-.01em;margin:0 0 8px;text-wrap:balance}
.pick p{color:var(--muted);margin:0 0 4px}
.pick-go{display:inline-flex;min-height:44px;align-items:center;font-weight:700;color:var(--accent);text-decoration:underline;text-underline-offset:5px}
.routes{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.routes h2,.hub h2{font-size:21px;margin:0 0 6px}
.route-list{margin:0}
.route{padding:18px 0 16px;border-bottom:1px solid var(--line)}
.route:last-child{border-bottom:0}
.route dt{font-weight:700}
.route dd{color:var(--muted);margin:2px 0 0}
.route a{display:inline-flex;align-items:center;min-height:44px;color:var(--accent);text-decoration:underline;text-underline-offset:5px}
.hub{margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}
.hub-sec{display:grid;grid-template-columns:136px minmax(0,1fr);grid-template-rows:44px 1fr;column-gap:24px;align-items:start;padding:24px 0;border-bottom:1px solid var(--line)}
.hub-sec:last-child{border-bottom:0}
.hub-sec h3{font-size:17px;margin:0;grid-column:1}
.hub-sec h3 a{display:flex;align-items:center;min-height:44px;color:var(--accent)}
.hub-say{font-size:13px;color:var(--muted);margin:0;grid-column:1;line-height:1.8}
.hub-links{list-style:none;margin:0;padding:0;grid-column:2;grid-row:1 / span 2}
.hub-links li{break-inside:avoid}
.hub-links a{display:flex;align-items:center;min-height:44px;padding:10px 0;font-size:15px;line-height:1.7;border-bottom:1px solid var(--line-soft)}
.hub-links li:last-child a{border-bottom:0}
.hub-links a:hover{color:var(--accent);background:var(--paper-soft)}
.hub-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0;grid-column:2;grid-row:1 / span 2}
.hub-tags a{display:inline-flex;align-items:center;min-height:44px;padding:6px 14px;border:1px solid var(--line);border-radius:999px;font-size:14px;background:var(--paper)}
.look{align-self:start;position:sticky;top:24px;margin:0;padding:22px 0 0}
.look summary{list-style:none;min-height:44px;font-size:14px;font-weight:700;color:var(--accent)}
.look summary::-webkit-details-marker{display:none}
.look-h{font-size:13px;color:var(--muted);margin:0 0 18px;text-align:center}
.phone{width:270px;max-width:100%;height:519px;border:6px solid var(--ink);border-radius:var(--r-xl);background:var(--paper);margin:0 auto;box-shadow:var(--shadow-phone);position:relative;padding:17px 20px;overflow:hidden}
.phone:before{content:"";position:absolute;width:55px;height:6px;background:var(--ink);border-radius:8px;top:13px;left:50%;transform:translateX(-50%)}
.phone:after{content:"";position:absolute;bottom:11px;width:76px;height:4px;left:50%;transform:translateX(-50%);background:var(--line);border-radius:8px}
.phone-top{font-size:13px;display:flex;align-items:center;justify-content:space-between;margin:0 0 34px}
.phone-bat{width:17px;height:8px;border:1px solid var(--ink);border-radius:3px;position:relative}
.phone-bat:after{content:"";position:absolute;inset:2px;background:var(--ink)}
.phone-h{font-size:20px;font-weight:700;line-height:1.4;margin:0 0 7px}
.phone-p{font-size:13px;line-height:1.65;color:var(--muted);margin:0 0 21px}
.phone-k{font-size:13px;margin:0 0 6px;color:var(--muted)}
.phone-f{height:46px;border:1px solid var(--line);border-radius:var(--r-s);padding:9px 10px;font-size:15px;color:var(--muted);margin-bottom:18px}
.phone-code{border:2px solid var(--accent);color:var(--ink);background:var(--canvas);font-size:19px;line-height:1.3;font-weight:700}
.phone-code:after{content:"";width:1px;height:21px;background:var(--accent);display:inline-block;vertical-align:-4px;margin-left:3px;animation:blink 1.1s steps(2) 3}
.phone-tip{font-size:13px;color:var(--accent);margin:0 0 20px}
.phone-btn{height:44px;background:var(--ink);border-radius:var(--r-s);color:var(--paper);display:flex;align-items:center;justify-content:center;font-size:14px}
.phone-x{margin:15px 0 0;font-size:13px;text-align:center;color:var(--muted)}
.look-note{font-size:13px;color:var(--muted);line-height:1.6;margin:22px auto 0;max-width:267px;text-align:center}
@keyframes blink{50%{opacity:0}}

/* 正文 */
.prose{font-size:17px;line-height:1.9;max-width:38em;overflow-wrap:anywhere}
.prose>*:first-child{margin-top:0}
.prose p{margin:0 0 1.15em}
.prose h2{font-size:25px;line-height:1.5;letter-spacing:-.01em;margin:2.25em 0 .75em;padding-top:24px;border-top:1px solid var(--line);scroll-margin-top:24px;text-wrap:balance}
.prose h3{font-size:20px;line-height:1.55;margin:1.8em 0 .6em;scroll-margin-top:24px;text-wrap:balance}
.prose>h2:first-child{border-top:0;padding-top:0}
.prose a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.prose a:hover{text-decoration-thickness:2px}
.prose ul,.prose ol{margin:0 0 1.2em;padding-left:1.4em}
.prose li{margin:.55em 0}
.prose li::marker{color:var(--accent)}
.prose strong{font-weight:700;color:var(--deep)}
.prose code{font-family:var(--latin);font-size:.92em;background:var(--wash);padding:.1em .35em;border-radius:5px}
.prose blockquote{margin:1.4em 0;padding:.2em 0 .2em 1.1em;border-left:3px solid var(--line);color:var(--muted)}
.prose hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}
.prose .tip,.prose .warn,.prose .math,.prose .key{border-radius:var(--r-s);padding:18px 20px;margin:1.6em 0}
.prose .tip{background:var(--wash);border:1px solid color-mix(in oklab,var(--accent) 25%,var(--line))}
.prose .warn{background:var(--warm-wash);border-left:4px solid var(--warm);color:#4a2c1c}
.prose .math{background:var(--paper-soft);border-block:1px solid var(--control);border-radius:0;font-size:16px;font-variant-numeric:tabular-nums}
.prose .key{font-size:18px;font-weight:700;color:var(--deep);padding:4px 0 4px 16px;border-left:4px solid var(--accent);border-radius:0}
.prose ol.bu{list-style:none;padding:0;counter-reset:bu}
.prose ol.bu>li{counter-increment:bu;position:relative;padding:0 0 1.3em 46px;margin:0}
.prose ol.bu>li:before{content:counter(bu);position:absolute;left:0;top:.2em;width:30px;height:30px;border-radius:50%;background:var(--paper);border:1.5px solid var(--accent);color:var(--accent);font:700 14px/27px var(--latin);text-align:center}
.prose ol.bu>li:not(:last-child):after{content:"";position:absolute;left:15px;top:2.3em;bottom:.2em;width:1px;background:var(--line)}
.grid-wrap{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-color:var(--control) var(--paper);margin:1.7em 0;border:1px solid var(--line);border-radius:var(--r-s);background:var(--paper);max-width:100%}
.grid-wrap table{border-collapse:collapse;width:100%;font-size:16px;line-height:1.75;min-width:520px}
.grid-wrap th,.grid-wrap td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.grid-wrap th{background:var(--wash);font-weight:700;color:var(--deep);white-space:nowrap}
.grid-wrap tr:last-child td{border-bottom:0}
.grid-wrap tbody tr:nth-child(even){background:var(--paper-soft)}
.screen,.chart{margin:1.7em 0}
.screen img{border:1px solid var(--line);border-radius:var(--r-s);background:var(--paper)}
.screen-narrow img{max-width:min(390px,100%);margin-inline:auto}
.chart img{border-radius:var(--r-s);background:var(--paper)}
.screen figcaption,.chart figcaption{font-size:14px;color:var(--muted);line-height:1.75;margin-top:12px}
.screen-when{display:inline-block;font-size:13px;color:var(--accent);border:1px solid var(--line);border-radius:4px;padding:2px 8px;margin:0 8px 4px 0;background:var(--paper)}
.prose .basis{font-size:14px;color:var(--muted);border-left:2px solid var(--control);padding:8px 0 8px 16px;margin:1.8em 0;line-height:1.8}
.basis a{color:var(--accent)}
.article-cover{margin:0 0 28px}
.article-cover img{border-radius:var(--r-m);width:100%}
.article-cover figcaption{font-size:13px;color:var(--muted);margin-top:6px}
.toc-m{display:none;border:1px solid var(--line);border-radius:var(--r-s);background:var(--paper);margin:0 0 22px}
.toc-m summary{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;font-weight:700;font-size:15px;list-style:none}
.toc-m summary::-webkit-details-marker,.guide>summary::-webkit-details-marker{display:none}
.toc-m summary:after,.guide>summary:after{content:"+";font:400 22px/1 var(--latin);color:var(--accent);flex:none}
.toc-m[open] summary:after,.guide[open]>summary:after{content:"−"}
.toc-m[open] summary{border-bottom:1px solid var(--line);margin-bottom:8px}
.toc-m ul,.outline ul{list-style:none;margin:0;padding:0}
.toc-m ul{padding:0 16px 10px}
.toc-m a,.outline a{display:flex;align-items:center;min-height:44px;padding:10px 12px;font-size:14px;line-height:1.65;color:var(--muted);border-left:2px solid transparent}
.outline{position:sticky;top:24px;align-self:start;max-height:calc(100vh - 48px);overflow:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent;padding:8px 4px 20px 16px;border-left:1px solid var(--line)}
.outline-h{font-size:13px;font-weight:700;color:var(--muted);margin:0 0 12px;padding-left:14px}
.outline a[aria-current],.toc-m a[aria-current]{color:var(--accent);font-weight:700;background:var(--paper);border-left-color:var(--accent);border-radius:0 var(--r-s) var(--r-s) 0}
.outline a:hover,.toc-m a:hover{color:var(--accent);background:var(--paper-soft);text-decoration:none}
.toc-m .toc-end{margin:0 16px 12px}
.outline .toc-end{margin-top:8px}
.asks{margin-top:2.6em;padding-top:1.4em;border-top:1px solid var(--line)}
.asks h2{border-top:0;padding-top:0;margin-top:0;margin-bottom:12px}
.ask{padding:20px 0 16px;border-bottom:1px solid var(--line)}
.ask:last-child{border-bottom:0}
.ask h3{margin:0 0 10px;font-size:18px}
.ask p{margin:0 0 8px;color:var(--ink)}
.opencard{border:1px solid var(--accent);background:var(--paper);border-radius:var(--r-m);padding:22px 24px;margin:1.8em 0;font-size:16px;line-height:1.75}
.opencard .go{text-decoration:none}
.opencard-bind{border-style:dashed}
.opencard-t{font-weight:700;font-size:17px;margin:0 0 10px;color:var(--deep)}
.opencard-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px}
.opencard .code-v{font-size:27px}
.opencard .go-note{margin-top:10px}
.after{margin-top:42px}
.tagline{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 22px}
.tagline-k{font-size:13px;color:var(--muted);margin-right:4px}
.tagline a,.tagline span:not(.tagline-k){display:inline-flex;align-items:center;min-height:44px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);font-size:14px;background:var(--paper)}
.tagline span:not(.tagline-k){color:var(--muted);background:transparent}
.who{border-block:1px solid var(--line);padding:22px 0;font-size:14px;color:var(--muted);line-height:1.85}
.who-n{font-weight:700;color:var(--ink);margin:0 0 4px;font-size:15.5px}
.who p{margin:0}
.who a{color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.flip{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}
.flip-a{display:block;padding:12px 16px;border:1px solid var(--line);border-radius:var(--r-s);font-size:15px;line-height:1.55;min-height:44px}
.flip-a span{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}
.flip-b{grid-column:2;text-align:right}
.flip-a:hover{background:var(--paper);text-decoration:none}
.also{margin-top:8px}
.also-h{font-weight:700;margin:0 0 4px}
.also ul{list-style:none;margin:0;padding:0}
.also a{display:flex;align-items:center;min-height:44px;padding:12px 0;border-bottom:1px solid var(--line);color:var(--accent)}

/* 列表 */
.list-intro{margin-bottom:12px}
.entry-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.entry{padding:14px 0 22px;border-bottom:1px solid var(--line);position:relative}
.entry-t{font-size:20px;font-weight:700;line-height:1.6;display:flex;align-items:center;min-height:44px;padding:6px 0}
.entry-t:hover{color:var(--accent)}
.entry-d{margin:4px 0 0;color:var(--muted);font-size:16px;line-height:1.8;max-width:38em}
.entry-s{display:inline-block;margin-top:10px;font-size:13px;color:var(--accent);border-left:2px solid var(--control);padding-left:8px}
.group{margin-top:40px;scroll-margin-top:24px}
.group h2{font-size:21px;margin:0 0 8px}
.group h2 a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;color:var(--deep)}
.kit-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.kit{border:1px solid var(--line);border-left:3px solid var(--control);border-radius:0 var(--r-s) var(--r-s) 0;background:var(--paper);padding:16px 22px 22px}
.kit-t{display:flex;align-items:center;min-height:44px;font-size:20px;font-weight:700;color:var(--accent)}
.kit-k{display:block;font-size:13px;color:var(--muted);margin:2px 0 6px}
.kit p{margin:0;color:var(--muted);font-size:16px}
.topic-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.topic{padding:16px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;column-gap:16px}
.topic-t{display:flex;align-items:center;min-height:44px;font-size:20px;font-weight:700}
.topic-n{font-size:13px;color:var(--muted);align-self:center}
.topic p{grid-column:1/-1;margin:4px 0 0;color:var(--muted);font-size:16px}
.turn{display:flex;align-items:center;gap:18px;margin-top:24px;font-size:15px}
.turn a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:var(--r-s);background:var(--paper)}
.find label{display:block;font-size:14px;color:var(--muted);margin-bottom:8px}
.find-row{display:flex;gap:10px}
.find input{flex:1;min-width:0;width:100%;min-height:52px;border:1px solid var(--control);border-radius:var(--r-s);padding:0 14px;background:var(--paper);font-size:16px}
.find input::placeholder{color:var(--muted);opacity:1}
.find button{min-height:50px;min-width:88px;border:0;border-radius:var(--r-s);background:var(--accent);color:var(--paper);font-weight:700}
.find-state{color:var(--muted);font-size:14px;margin:24px 0 16px}
.find{margin-top:28px}
#find-out:empty{border:0}
#find-out+.list-intro{margin-top:32px}

/* 工具 */
.kitbox{border:1px solid var(--line);border-radius:var(--r-l);background:var(--paper);padding:26px;margin:4px 0 28px}
.kitbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px;align-items:start}
.field{display:flex;flex-direction:column;gap:8px;min-width:0}
.field label,.field .field-k{font-size:14px;font-weight:700;color:var(--deep)}
.field small{font-size:13px;color:var(--muted);line-height:1.55}
.field input,.field select{min-width:0;width:100%;min-height:50px;border:1px solid var(--control);border-radius:var(--r-s);padding:0 12px;background:var(--paper);font-size:17px;font-family:var(--latin);font-variant-numeric:tabular-nums}
.field input:disabled{background:var(--canvas);color:var(--muted);border-style:dashed;opacity:1;cursor:not-allowed}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg label{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 14px;border:1px solid var(--control);border-radius:var(--r-s);background:var(--paper);font-size:14px;font-weight:400;cursor:pointer}
.seg input{accent-color:var(--accent);width:18px;height:18px;min-height:0;padding:0;margin:0;flex:none}
.seg label:has(input:checked){border-color:var(--accent);background:var(--wash);color:var(--deep);font-weight:700}
.result{margin-top:24px;border-radius:var(--r-m);background:var(--deep);color:var(--paper);padding:24px;overflow-wrap:anywhere}
.result ::selection{background:var(--paper);color:var(--deep)}
.result-main{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px}
.result-big{font:700 39px/1.2 var(--latin);color:var(--paper);letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.result-k{font-size:14px;color:#b9d6d2}
.result-rows{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:16px 20px;margin-top:22px;padding-top:20px;border-top:1px solid rgba(233,244,242,.22)}
.result-rows div{font-size:13.5px;color:#b9d6d2}
.result-rows b{display:block;font:700 19px/1.4 var(--latin);color:#fff}
.result-note{font-size:13.5px;color:#cfe3e0;margin:14px 0 0;line-height:1.7}
.guide{margin-top:28px;border:1px solid var(--line);border-radius:var(--r-m);background:var(--paper)}
.guide>summary{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;font-weight:700;list-style:none}
.guide .prose{padding:8px 22px 22px;max-width:38em}

/* 页脚与 404 */
.base{border-top:1px solid var(--line);margin-top:40px;background:color-mix(in oklab,var(--canvas) 70%,var(--paper))}
.base-in{max-width:1440px;margin:0 auto;padding:30px 46px 26px}
.base-who{display:flex;gap:18px;align-items:flex-start;max-width:900px}
.base-who p{margin:4px 0 0;font-size:13.5px;color:var(--muted);line-height:1.8}
.base-who a{text-decoration:underline;text-underline-offset:4px}
.base-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:26px 0 18px}
.base-h{font-size:13px;font-weight:700;color:var(--ink);margin:0 0 4px}
.base-cols a{display:flex;align-items:center;min-height:44px;font-size:14px;color:var(--muted)}
.base-end{font-size:13px;color:var(--muted);margin:0;padding-top:14px;border-top:1px solid var(--line)}
.lost{padding:60px 0 80px}
.k-lost h1{font-size:37px;margin-top:24px}
.lost-code{font-size:64px;font-weight:700;color:var(--accent);margin:0;line-height:1}
.lost-go{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.lost-go a{display:inline-flex;align-items:center;min-height:46px;padding:0 18px;border:1px solid var(--line);border-radius:var(--r-s);background:var(--paper)}

@media (min-width:1051px){.look summary{display:none}.lede-home span+span{text-wrap:balance}}
@media (max-width:1200px) and (min-width:1051px){
  .frame{column-gap:28px;padding-left:28px;padding-right:28px}
  .frame-home{grid-template-columns:176px minmax(0,1fr) 262px}
  .frame-toc{grid-template-columns:186px minmax(0,1fr) 210px}
  .phone{width:252px;padding-left:15px;padding-right:15px}
  .bar{padding:0 28px;gap:32px}.bar-nav{gap:20px}
}
@media (max-width:1050px){
  .bar{padding:0 24px;gap:22px;min-height:72px}.bar-nav{gap:16px}.bar-nav a{font-size:14px}
  .frame{padding:24px 24px 0;column-gap:28px}
  .frame-home,.frame-doc,.frame-plain,.frame-list,.frame-toc{grid-template-columns:184px minmax(0,1fr)}
  .outline{display:none}.toc-m{display:block}
  .look{grid-column:2;position:static;padding:0;margin:20px 0 0;border:1px solid var(--line);border-radius:var(--r-m);background:var(--paper)}
  .look summary{display:flex;align-items:center;justify-content:space-between;padding:0 18px}
  .look summary:after{content:"+"}.look[open] summary:after{content:"−"}
  .look-in{padding:0 0 18px}
  .code-go{grid-template-columns:1fr}.go{justify-self:start}
  .base-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:820px){
  .bar{flex-wrap:wrap;gap:0 12px;padding:6px 20px 0;justify-content:space-between}
  .bar-nav{order:3;flex-basis:calc(100% + 40px);overflow-x:auto;scrollbar-width:none;gap:22px;margin:4px -20px 0;padding:0 20px;scroll-padding-inline:20px}
  .bar-nav a{flex:none}
  .bar-nav::-webkit-scrollbar{display:none}
  .bar-nav .bar-about{margin-left:0}
}
@media (max-width:680px){
  .mark-svg{width:84px;height:38px;font-size:34px}
  .bar-find{min-width:78px;font-size:13px}
  .frame{display:block;padding:18px 20px 0}
  .rail{display:none}
  h1{font-size:29px;line-height:1.4;letter-spacing:-.01em;margin-bottom:12px}
  .k-doc h1,.k-plain h1,.k-list h1,.k-tool h1{font-size:27px;line-height:1.42}
  .lede{font-size:16px;line-height:1.7}
  .codebar{padding:15px 16px 16px}
  .code-top{gap:10px}.code-v{font-size:29px;letter-spacing:.4px}
  .copy{font-size:14px;padding:10px 12px;min-width:116px;min-height:46px}
  .go{justify-self:stretch;width:100%}
  .pick{padding:18px 18px 12px}.pick h2{font-size:19.5px;line-height:1.55}
  .hub-sec{display:block;padding:20px 0}
  .hub-say{font-size:14px;margin-bottom:12px}
  .hub-links a{font-size:16px;padding:12px 0}
  .hub-tags{margin-top:8px}
  .look{margin-top:22px}
  .prose{font-size:16.5px;line-height:1.9}
  .prose h2{font-size:22px}.prose h3{font-size:18px}
  .prose ol.bu>li{padding-left:40px}
  .prose .tip,.prose .warn,.prose .math{padding:16px}
  .opencard{padding:18px 16px}
  .opencard .copy-sm{min-width:76px;margin-left:auto}
  .opencard .go{padding:10px 12px}
  .toc-m ul{padding-inline:8px}
  .entry-t,.kit-t,.topic-t{font-size:18px}
  .entry{padding:14px 0 20px}
  .flip{grid-template-columns:1fr}.flip-b{grid-column:auto;text-align:left}
  .kitbox{padding:18px 16px}.kitbox-grid{grid-template-columns:1fr;gap:22px}
  .result{padding:22px 18px}
  .result-big{font-size:32px}
  .find-row{flex-direction:column}
  .base-in{padding:26px 20px 22px}.base-who{flex-direction:column;gap:8px}
  .k-lost h1{font-size:27px}
}
@media (max-width:380px){.frame{padding-inline:18px}.k-home h1{font-size:27px}.code-top .copy{min-width:108px;padding-inline:10px}.code-v{font-size:28px}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media (min-width:1201px){
  .k-tool .frame-list{grid-template-columns:214px minmax(0,980px)}
  .kitbox{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}
  .kitbox .result{margin-top:0;position:sticky;top:20px}
}
.phone-ok{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;line-height:1.45;margin:0 0 10px;color:var(--ink)}
.phone-tick{flex:none;width:18px;height:18px;border-radius:50%;background:#2e8b57;position:relative;display:inline-block}
.phone-tick:after{content:"";position:absolute;left:6px;top:3px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.phone-bound{display:flex;align-items:center;justify-content:space-between}
.phone-bound:after{display:none}
.phone-tag{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:700;color:#2e6b49;font-family:var(--cjk)}
.phone-tag .phone-tick{width:15px;height:15px}
.phone-tag .phone-tick:after{left:5px;top:2px;width:4px;height:8px}
/* 币安官方 logo 与金色转化块（按站主的官方 logo 用法补充指令） */
:root{--bn-gold:#F0B90B;--bn-ink:#1e2329;--bn-ink-2:#3b2f00}
.bn-logo{display:block;flex:none;border-radius:9px}
.codebar-bn{background:var(--bn-gold);border-color:#d9a508;color:var(--bn-ink);box-shadow:0 14px 30px -24px rgba(60,45,0,.55)}
.codebar-bn .bn-head{display:flex;align-items:center;gap:14px;margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid rgba(30,35,41,.22)}
.codebar-bn .bn-logo{width:52px;height:52px;border-radius:11px}
.codebar-bn .bn-say{margin:0;font-size:13.5px;line-height:1.6;color:var(--bn-ink-2)}
.codebar-bn .code-k,.codebar-bn .perk-note,.codebar-bn .go-note{color:var(--bn-ink-2)}
.codebar-bn .code-v{color:var(--bn-ink)}
.codebar-bn .copy{background:var(--bn-ink);color:#fff}
.codebar-bn .copy:hover{background:#000}
.codebar-bn .code-go{border-top-color:rgba(30,35,41,.22)}
.codebar-bn .go{border-color:var(--bn-ink);color:var(--bn-ink);background:rgba(255,255,255,.18)}
.codebar-bn .go:hover{background:rgba(255,255,255,.4)}
.codebar-bn .copy-state{color:var(--bn-ink)}
.codebar-bn a:focus-visible,.codebar-bn button:focus-visible{outline-color:var(--bn-ink)}
.opencard-t{display:flex;align-items:center;gap:12px}
.bn-card{width:40px;height:40px}
.bnstrip{display:flex;gap:16px;align-items:flex-start;margin:28px 0 8px;padding:18px 20px;border-radius:var(--r-m);background:var(--bn-ink);color:#eef1f4}
.bnstrip .bn-logo{width:44px;height:44px}
.bnstrip-k{margin:0 0 4px;font-size:14px;color:#c9cdd3}
.bnstrip-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.bnstrip .code-v{color:var(--bn-gold);font-size:27px}
.bnstrip .copy{background:var(--bn-gold);color:var(--bn-ink)}
.bnstrip .copy:hover{background:#ffd23a}
.bnstrip-n{margin:8px 0 0;font-size:13.5px;line-height:1.7;color:#c9cdd3}
.bnstrip .copy-state{color:var(--bn-gold)}
.pinpai{display:flex;gap:14px;align-items:flex-start;margin:1.6em 0;font-size:15px;line-height:1.7}
.pinpai-t{margin:0 0 4px;font-weight:700;color:var(--deep)}
.pinpai-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.pinpai .code-v{font-size:24px}
.pinpai-n{margin:6px 0 0;font-size:13.5px;color:var(--muted)}
.pinpai-1{padding:14px 18px 14px 16px;border-left:5px solid var(--bn-gold);background:var(--paper);border-radius:0 var(--r-s) var(--r-s) 0}
.pinpai-1 .bn-logo{width:40px;height:40px}
.pinpai-2{padding:14px 18px;background:var(--bn-gold);color:var(--bn-ink);border-radius:var(--r-l) var(--r-s) var(--r-l) var(--r-s);align-items:flex-start}
.pinpai-2 .bn-logo{width:34px;height:34px;border-radius:8px}
.pinpai-2 .pinpai-n,.pinpai-2 .pinpai-t{color:var(--bn-ink-2)}
.pinpai-2 .copy{background:var(--bn-ink);color:#fff}
.pinpai-2 .copy-state{color:var(--bn-ink)}
.pinpai-3{padding:16px 18px;background:var(--bn-ink);color:#eef1f4;border-radius:var(--r-l)}
.pinpai-3 .bn-logo{width:40px;height:40px}
.pinpai-3 .code-v{color:var(--bn-gold)}
.pinpai-3 .pinpai-t{color:#fff}
.pinpai-3 .pinpai-n{color:#c9cdd3}
.pinpai-3 .copy{background:var(--bn-gold);color:var(--bn-ink)}
.pinpai-3 .copy-state{color:var(--bn-gold)}
.phone-bn{display:block;width:34px;height:34px;border-radius:8px;margin:-14px 0 14px}
@media (max-width:680px){
  .codebar-bn .bn-logo{width:40px;height:40px;border-radius:9px}
  .codebar-bn .bn-head{gap:10px;margin-bottom:10px;padding-bottom:10px}
  .pinpai-2{border-radius:var(--r-m)}
  .bnstrip{padding:16px}
}
@media (max-width:420px){
  .codebar-bn{padding:13px 14px 14px}
  .codebar-bn .bn-head{margin-bottom:8px;padding-bottom:8px}
  .codebar-bn .bn-logo{width:36px;height:36px}
  .codebar-bn .bn-say{font-size:13px;line-height:1.5}
  .codebar-bn .perk{margin-top:8px}
  .codebar-bn .code-go{margin-top:10px;padding-top:10px;gap:8px}
  .codebar-bn .go{min-height:44px;padding:8px 12px}
}
/* 手机上表格改成每行一块：每格前面带列名，不用左右滑 */
@media (max-width:600px){
  .grid-wrap{overflow:visible;border:0;background:transparent}
  .grid-wrap table{min-width:0;display:block}
  .grid-wrap thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .grid-wrap tbody,.grid-wrap tr{display:block}
  .grid-wrap tr{border:1px solid var(--line);border-radius:var(--r-s);background:var(--paper);padding:6px 12px;margin:0 0 10px}
  .grid-wrap td{display:block;border:0;padding:6px 0;border-bottom:1px dashed var(--line);text-align:left!important}
  .grid-wrap td:last-child{border-bottom:0}
  .grid-wrap td[data-k]:before{content:attr(data-k);display:block;font-size:12.5px;font-weight:700;color:var(--accent);margin-bottom:2px}
  .grid-wrap td:first-child{font-weight:700;color:var(--deep)}
}
.opencard-rate{margin:10px 0 0;font-weight:700;color:var(--deep);font-size:15.5px}
.opencard-fit{margin:12px 0 0;padding-left:1.2em;font-size:15px;line-height:1.7}
.opencard-fit li{margin:3px 0}
.bnstrip{align-items:center}
.bnstrip .bnstrip-n{margin:0;font-size:15px;color:#e3e6ea}
.bnstrip a{color:var(--bn-gold);margin-left:6px;text-decoration:underline;text-underline-offset:4px}
.opencard{scroll-margin-top:20px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:680px){.k-doc .article-cover{display:none}}
