@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_assets/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2)format("woff2"),url(/_assets/ibm-plex-sans-latin-400-normal.CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_assets/ibm-plex-sans-latin-500-normal.6ng42L7E.woff2)format("woff2"),url(/_assets/ibm-plex-sans-latin-500-normal.BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_assets/ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2)format("woff2"),url(/_assets/ibm-plex-sans-latin-600-normal.Cu4Hd6ag.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_assets/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_assets/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_assets/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_assets/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff")}:root{--paper:#f4f6f8;--surface:#fff;--ink:#0f1b2d;--ink-soft:#46556a;--line:#d9e0e7;--line-soft:#e8edf2;--keep:#13715e;--keep-deep:#0b5546;--keep-wash:#e3f1ed;--brass:#a87a1f;--brass-wash:#f6edd9;--code-bg:#0f1b2d;--code-ink:#dbe5ef;--code-dim:#8798ad;--t-kw:#f2c46d;--t-str:#8fd8c3;--t-prop:#a9c4ff;--t-num:#f2c46d;--t-fn:#fff;--sans:"IBM Plex Sans", "PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC", "Microsoft YaHei", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--radius-s:6px;--radius-m:10px;--wrap:1160px;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--paper:#0c141e;--surface:#121d2a;--ink:#e5ecf3;--ink-soft:#9fb0c3;--line:#243345;--line-soft:#1a2736;--keep:#46b89c;--keep-deep:#7fd3be;--keep-wash:#12322c;--brass:#d9ae58;--brass-wash:#2f2614;--code-bg:#08101a}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:1.0625rem;line-height:1.6;overflow-x:hidden}body[data-lang=zh]{line-height:1.75}a{color:inherit}img,svg{display:block}code,pre{font-family:var(--mono)}:focus-visible{outline:2px solid var(--keep);outline-offset:3px;border-radius:3px}.skip{background:var(--ink);color:var(--paper);border-radius:var(--radius-s);z-index:10;padding:8px 14px;position:absolute;top:-60px;left:16px}.skip:focus{top:12px}.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 24px}h1,h2,h3{letter-spacing:-.015em;margin:0;font-weight:600}body[data-lang=zh] h1,body[data-lang=zh] h2,body[data-lang=zh] h3{letter-spacing:0}p{margin:0}.mark-body{fill:var(--keep)}.mark-stroke{fill:none;stroke:#fff;stroke-width:3.2px;stroke-linecap:round}.mark-coin{fill:#e3b54f}@media (prefers-color-scheme:dark){.mark-body{fill:#1f8a72}}.topbar{z-index:5;background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:saturate(140%)blur(10px);border-bottom:1px solid var(--line-soft);position:sticky;top:0}.topbar-inner{align-items:center;gap:32px;height:64px;display:flex}.brand{align-items:center;gap:10px;text-decoration:none;display:inline-flex}.wordmark{letter-spacing:-.03em;font-size:1.2rem;font-weight:600}.nav{gap:24px;font-size:.95rem;display:flex}.nav a,.lang-switch{color:var(--ink-soft);text-decoration:none}.nav a:hover,.lang-switch:hover,.nav a[aria-current=page]{color:var(--ink)}.nav a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--keep);text-underline-offset:8px;text-decoration-thickness:2px}.topbar-actions{align-items:center;gap:20px;margin-left:auto;font-size:.95rem;display:flex}.btn{border-radius:var(--radius-s);background:var(--keep);color:#fff;border:1px solid var(--keep);justify-content:center;align-items:center;min-height:44px;padding:0 20px;font-weight:500;text-decoration:none;transition:background-color .12s;display:inline-flex}.btn:hover{background:var(--keep-deep);border-color:var(--keep-deep)}@media (prefers-color-scheme:dark){.btn{color:#06231d}}.btn-small{min-height:36px;padding:0 14px;font-size:.9rem}.btn-quiet{color:var(--ink);border-color:var(--line);background:0 0}.btn-quiet:hover{background:var(--surface);border-color:var(--ink-soft)}.link{color:var(--keep);text-underline-offset:3px;font-weight:500;text-decoration:underline 1px}.lead{color:var(--ink-soft);max-width:40em;font-size:1.2rem}body[data-lang=zh] .lead{max-width:34em}.cta-row{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.hero{background-image:repeating-linear-gradient(to bottom, transparent 0 39px, var(--line-soft) 39px 40px);border-bottom:1px solid var(--line);padding:88px 0 96px;position:relative}.hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:64px;display:grid}.hero h1{letter-spacing:-.035em;text-wrap:balance;max-width:11em;font-size:clamp(2.5rem,5.2vw,4.25rem);line-height:1.04}body[data-lang=zh] .hero h1{letter-spacing:.01em;word-break:keep-all;max-width:9em;line-height:1.18}.hero .lead{margin-top:28px}.receipt{margin:0}.receipt-paper{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m) var(--radius-m) 0 0;box-shadow:0 1px 0 var(--line-soft), 0 24px 48px -28px #0f1b2d59;border-bottom:0;padding:20px 22px 34px;position:relative;transform:rotate(1.2deg)}.receipt-paper:after{content:"";background:radial-gradient(circle at 8px 12px, transparent 6px, var(--surface) 6.5px) repeat-x;background-size:16px 12px;height:12px;position:absolute;bottom:-11px;left:-1px;right:-1px}.receipt pre{color:var(--ink);margin:0;font-size:.8rem;line-height:1.7;overflow-x:auto}.receipt-head{border-bottom:1px dashed var(--line);padding-bottom:14px;margin-bottom:14px!important}.receipt .t-kw{color:var(--keep);font-weight:500}.receipt .t-prop{color:var(--ink-soft)}.receipt .t-str{color:var(--keep-deep)}.receipt .t-num{color:var(--brass)}.receipt-stamp{border:1.5px solid var(--brass);color:var(--brass);font-family:var(--mono);background:var(--brass-wash);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;display:inline-flex;position:absolute;bottom:22px;right:22px;transform:rotate(-5deg)}.receipt-stamp path{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.receipt figcaption{color:var(--ink-soft);max-width:34em;margin-top:34px;font-size:.92rem}.channels{border-bottom:1px solid var(--line);background:var(--surface)}.channels-inner{align-items:baseline;gap:32px;padding-top:22px;padding-bottom:22px;display:flex}.channels h2{color:var(--ink-soft);white-space:nowrap;letter-spacing:0;font-size:.9rem;font-weight:500}.channels ul{flex-wrap:wrap;gap:8px 28px;margin:0;padding:0;font-weight:500;list-style:none;display:flex}.section{padding:96px 0}.section-alt{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-head{max-width:44em;margin-bottom:48px}.section-head h2,.split h2{font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.15}.section-head p{color:var(--ink-soft);margin-top:16px;font-size:1.1rem}.flow{grid-template-rows:auto 72px auto;grid-template-columns:1fr 120px 1.15fr 120px 1fr;align-items:stretch;display:grid}.flow-node{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-m);flex-direction:column;gap:6px;padding:20px;display:flex}.flow-node strong{font-size:1.05rem}.flow-node span{color:var(--ink-soft);font-size:.92rem}.flow-core{border:2px solid var(--keep);background:var(--keep-wash)}.flow-edge{justify-content:center;align-items:center;display:flex;position:relative}.flow-edge:before{content:"";border-top:1.5px solid var(--ink-soft);position:absolute;top:50%;left:8px;right:8px}.flow-edge:after{content:"";border:5px solid #0000;border-left:8px solid var(--ink-soft);border-right:0;position:absolute;top:calc(50% - 5px);right:8px}.flow-edge span,.flow-up span{background:var(--paper);font-family:var(--mono);color:var(--ink-soft);padding:2px 6px;font-size:.72rem;position:relative;transform:translateY(-14px)}.flow-up{grid-area:2/3;justify-content:center;align-items:center;display:flex;position:relative}.flow-up:before{content:"";border-left:1.5px solid var(--ink-soft);position:absolute;top:8px;bottom:8px;left:50%}.flow-up:after{content:"";border:5px solid #0000;border-bottom:8px solid var(--ink-soft);border-top:0;position:absolute;top:8px;left:calc(50% - 4.25px)}.flow-up span{transform:translate(calc(50% + 14px))}.flow-stores{grid-area:3/3}.caps{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 40px;display:grid}.cap{border-top:2px solid var(--ink);padding-top:18px}.cap h3{font-size:1.12rem}.cap p{color:var(--ink-soft);margin-top:10px;font-size:.98rem}.more{margin-top:48px}.more a{color:var(--keep);text-underline-offset:3px;font-weight:500}.steps{counter-reset:step;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px;margin:0;padding:0;list-style:none;display:grid}.steps li{counter-increment:step;padding-top:52px;position:relative}.steps li:before{content:counter(step);border:1.5px solid var(--brass);width:34px;height:34px;color:var(--brass);background:var(--paper);font-family:var(--mono);z-index:1;border-radius:50%;place-items:center;font-size:.9rem;font-weight:500;display:grid;position:absolute;top:0;left:0}.steps li:after{content:"";border-top:1.5px dashed var(--line);position:absolute;top:17px;left:34px;right:-28px}.steps li:last-child:after{display:none}.steps h3{font-size:1.05rem}.steps p{color:var(--ink-soft);margin-top:8px;font-size:.95rem}.code-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;display:grid}.code{background:var(--code-bg);border-radius:var(--radius-m);min-width:0;margin:0;overflow:hidden}.code figcaption{color:var(--code-dim);border-bottom:1px solid #ffffff14;padding:12px 18px;font-size:.85rem}.code pre{color:var(--code-ink);margin:0;padding:18px;font-size:.82rem;line-height:1.7;overflow-x:auto}.code .t-kw{color:var(--t-kw)}.code .t-str{color:var(--t-str)}.code .t-prop{color:var(--t-prop)}.code .t-num{color:var(--t-num)}.code .t-fn{color:var(--t-fn)}.code .t-com{color:var(--code-dim)}.split{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:64px;display:grid}.split p{color:var(--ink-soft);max-width:36em;font-size:1.1rem}.split p+p{margin-top:18px}.section-docs{border-top:1px solid var(--line)}.doc-links{border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.doc-links li+li{border-left:1px solid var(--line)}.doc-links a{flex-direction:column;gap:8px;height:100%;padding:22px 22px 26px;text-decoration:none;display:flex}.doc-links a:hover{background:var(--surface)}.doc-links a:hover strong{color:var(--keep)}.doc-links strong{font-size:1.05rem}.doc-links span{color:var(--ink-soft);font-size:.95rem}.contact{border-top:1px solid var(--line);margin-top:64px;padding-top:32px}.contact h2{font-size:1.3rem}.contact p{color:var(--ink-soft);margin-top:10px}.page-head{border-bottom:1px solid var(--line);background-image:repeating-linear-gradient(to bottom, transparent 0 39px, var(--line-soft) 39px 40px);padding:80px 0 56px}.page-head h1{letter-spacing:-.03em;font-size:clamp(2.2rem,4.5vw,3.4rem);line-height:1.08}.page-head .lead{margin-top:18px}.feature-layout{grid-template-columns:220px minmax(0,1fr);gap:64px;padding-top:56px;padding-bottom:96px;display:grid}.toc{align-self:start;position:sticky;top:96px}.toc ul{border-left:1px solid var(--line);margin:0;padding:0;list-style:none}.toc a{color:var(--ink-soft);border-left:2px solid #0000;margin-left:-1px;padding:6px 0 6px 16px;font-size:.95rem;text-decoration:none;display:block}.toc a:hover{color:var(--ink);border-left-color:var(--keep)}.feature{border-bottom:1px solid var(--line);margin-bottom:48px;padding:0 0 48px;scroll-margin-top:88px}.feature h2{font-size:1.6rem}.feature>p{color:var(--ink-soft);max-width:42em;margin-top:14px}.table-wrap{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);margin-top:24px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:560px;font-size:.95rem}th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line-soft);padding:14px 16px}thead th{color:var(--ink-soft);border-bottom:1px solid var(--line);font-size:.88rem;font-weight:500}tbody tr:last-child th,tbody tr:last-child td{border-bottom:0}tbody th{white-space:nowrap;font-weight:600}td{color:var(--ink-soft)}.tokens{flex-wrap:wrap;gap:8px;margin:24px 0 0;padding:0;list-style:none;display:flex}.tokens code{border:1px solid var(--line);border-radius:var(--radius-s);background:var(--surface);padding:5px 10px;font-size:.84rem;display:inline-block}.points{max-width:46em;margin:20px 0 0;padding:0;list-style:none}.points li{border-bottom:1px solid var(--line-soft);color:var(--ink-soft);padding:10px 0 10px 22px;position:relative}.points li:last-child{border-bottom:0}.points li:before{content:"";border:1.5px solid var(--keep);border-radius:50%;width:8px;height:8px;position:absolute;top:1.15em;left:2px}.roadmap{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;padding-top:56px;padding-bottom:96px;display:grid}.roadmap h2{margin-bottom:28px;font-size:1.5rem}.timeline{margin:0 0 28px;padding:0;list-style:none}.timeline li{grid-template-columns:64px minmax(0,1fr);gap:16px;padding-bottom:28px;display:grid;position:relative}.timeline li:before{content:"";border-left:1.5px solid var(--line);position:absolute;top:34px;bottom:4px;left:23px}.timeline li:last-child:before{display:none}.ver{font-family:var(--mono);color:var(--keep);border:1.5px solid var(--keep);border-radius:var(--radius-s);background:var(--paper);place-items:center;width:48px;height:30px;font-size:.85rem;font-weight:500;display:grid}.timeline h3,.planned h3{font-size:1.08rem}.timeline p,.planned p{color:var(--ink-soft);margin-top:6px;font-size:.97rem}.planned{margin:0;padding:0;list-style:none}.planned li{border-bottom:1px dashed var(--line);margin-bottom:22px;padding:0 0 22px}.planned li:last-child{border-bottom:0}.tag{vertical-align:2px;border:1px solid var(--brass);color:var(--brass);background:var(--brass-wash);letter-spacing:0;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:.75rem;font-weight:500;display:inline-block}.not-found{border-bottom:0;min-height:60vh}.not-found .lead+.cta-row+.lead{margin-top:40px}.footer{border-top:1px solid var(--line);background:var(--surface);font-size:.95rem}.footer-inner{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:48px;padding-top:56px;padding-bottom:40px;display:grid}.footer-brand p{color:var(--ink-soft);max-width:28em;margin-top:16px}.footer-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;display:grid}.footer h2{color:var(--ink-soft);letter-spacing:0;font-size:.9rem;font-weight:500}.footer ul{gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.footer ul a{text-decoration:none}.footer ul a:hover{color:var(--keep)}.footer-base{border-top:1px solid var(--line-soft);color:var(--ink-soft);justify-content:space-between;gap:16px;padding-top:20px;padding-bottom:28px;font-size:.88rem;display:flex}.footer-base a{color:var(--ink-soft)}@media (width<=1020px){.hero-grid{grid-template-columns:minmax(0,1fr);gap:56px}.receipt{max-width:560px}.caps{grid-template-columns:repeat(2,minmax(0,1fr))}.steps{grid-template-columns:minmax(0,1fr);gap:0}.steps li{padding:0 0 28px 56px}.steps li:after{border-top:0;border-left:1.5px dashed var(--line);inset:34px auto 0 17px}.code-pair{grid-template-columns:minmax(0,1fr)}.doc-links{grid-template-columns:repeat(2,minmax(0,1fr))}.doc-links li:nth-child(3){border-left:0}.doc-links li:nth-child(n+3){border-top:1px solid var(--line)}.roadmap{grid-template-columns:minmax(0,1fr);gap:40px}}@media (width<=820px){.flow{grid-template-rows:none;grid-template-columns:minmax(0,1fr)}.flow-edge,.flow-up{grid-area:auto;height:56px}.flow-edge:before{border-top:0;border-left:1.5px solid var(--ink-soft);inset:6px auto 6px 50%}.flow-edge:after{border:5px solid #0000;border-top:8px solid var(--ink-soft);border-bottom:0;inset:auto auto 6px calc(50% - 4.25px)}.flow-edge span,.flow-up span{transform:translate(calc(50% + 14px))}.flow-stores{order:-1;grid-area:auto}.flow-up{order:-1}.flow-up:after{border:5px solid #0000;border-top:8px solid var(--ink-soft);border-bottom:0;top:auto;bottom:8px}.feature-layout{grid-template-columns:minmax(0,1fr);gap:32px}.toc{position:static}.toc ul{border-left:0;flex-wrap:wrap;gap:8px;display:flex}.toc a{border:1px solid var(--line);border-radius:999px;margin:0;padding:4px 12px;font-size:.88rem}.split{grid-template-columns:minmax(0,1fr);gap:20px}.footer-inner{grid-template-columns:minmax(0,1fr)}}@media (width<=720px){.wrap{padding:0 16px}.topbar-inner{flex-wrap:wrap;gap:0 16px;height:auto;padding-top:12px;padding-bottom:0}.nav{order:3;gap:22px;width:100%;padding:10px 0 12px}.nav a[aria-current=page]{text-underline-offset:6px}.topbar-actions{gap:14px}.hero{padding:56px 0 72px}.lead{font-size:1.08rem}.receipt-paper{padding:16px 16px 48px;transform:none}.receipt-stamp{bottom:16px;right:16px}.channels-inner{flex-direction:column;gap:10px}.section{padding:64px 0}.section-head{margin-bottom:32px}.caps{grid-template-columns:minmax(0,1fr);gap:32px}.doc-links{grid-template-columns:minmax(0,1fr)}.doc-links li+li{border-left:0;border-top:1px solid var(--line)}.doc-links a{padding:18px 0}.page-head{padding:48px 0 40px}.footer-base{flex-direction:column}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
