:root{--paper:#fff;--paper-2:#f4f4f1;--ink:#141414;--ink-2:#2b2b2b;--muted:#6e6e6b;--faint:#a3a39f;--line:#e2e2de;--line-2:#c9c9c4;--rule:#141414;--ok:#1f8f4e;--ok-soft:#eef6f1;--bad:#d4361b;--bad-soft:#fcefec;--rec:#ff3b1f;--sans:"IBM Plex Sans", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif;--mono:"IBM Plex Mono", "Noto Sans TC", "PingFang TC", ui-monospace, monospace;--gutter:clamp(16px, 4vw, 48px);--ease:cubic-bezier(.2, .7, .1, 1);color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#111;--paper-2:#1a1a19;--ink:#ededea;--ink-2:#d6d6d2;--muted:#9a9a95;--faint:#6b6b67;--line:#2a2a28;--line-2:#3d3d3a;--rule:#ededea;--ok:#4cc584;--ok-soft:#15251c;--bad:#ff6a4d;--bad-soft:#2b1814;color-scheme:dark}}:root[data-theme=dark]{--paper:#111;--paper-2:#1a1a19;--ink:#ededea;--ink-2:#d6d6d2;--muted:#9a9a95;--faint:#6b6b67;--line:#2a2a28;--line-2:#3d3d3a;--rule:#ededea;--ok:#4cc584;--ok-soft:#15251c;--bad:#ff6a4d;--bad-soft:#2b1814;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-synthesis:none;font-feature-settings:"palt" 1;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-break:strict;padding-bottom:env(safe-area-inset-bottom);margin:0;font-size:16.5px;line-height:1.85;overflow-x:clip}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}ul,ol{padding:0;list-style:none}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.wrap{width:100%;max-width:calc(1040px + var(--gutter) * 2);padding-inline:var(--gutter);margin-inline:auto}.muted{color:var(--muted)}.num{font-variant-numeric:tabular-nums}.display{letter-spacing:.005em;font-size:clamp(34px,7.4vw,64px);font-weight:300;line-height:1.18}.h1{font-size:clamp(30px,5.2vw,48px);font-weight:300;line-height:1.22}.h2{font-size:clamp(24px,3.4vw,34px);font-weight:300;line-height:1.3}.h3{font-size:19px;font-weight:500;line-height:1.5}.lead{color:var(--ink-2);font-size:clamp(16.5px,1.4vw,18.5px);line-height:1.85}.label{font-family:var(--mono);letter-spacing:.08em;color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:0 12px;font-size:12px;line-height:1.6;display:inline-flex}.label em{color:var(--muted);text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-style:normal}.rec{background:var(--rec);vertical-align:middle;border-radius:50%;width:8px;height:8px;display:inline-block}.link{border-bottom:1px solid var(--ink);background:0 0;border-top:0;border-left:0;border-right:0;align-items:center;gap:10px;padding-bottom:2px;font-size:15.5px;font-weight:500;display:inline-flex}.link .arr,.btn .arr{transition:transform .35s var(--ease);display:inline-block}.link:hover .arr,.btn:hover .arr{transform:translate(4px)}.btn{border:1px solid var(--ink);letter-spacing:.02em;white-space:nowrap;border-radius:2px;justify-content:center;align-items:center;gap:12px;min-height:52px;padding:0 24px;font-size:15.5px;font-weight:500;transition:background .25s,color .25s,border-color .25s;display:inline-flex}.btn-dark,.btn-primary{background:var(--ink);color:var(--paper)}.btn-dark:hover,.btn-primary:hover{background:var(--ink-2)}.btn-line,.btn-plain,.btn-ghost{color:var(--ink);background:0 0}.btn-line:hover,.btn-plain:hover,.btn-ghost:hover{background:var(--paper-2)}.btn-small{min-height:40px;padding:0 16px;font-size:14.5px}.btn-block{width:100%}.btn:disabled{opacity:.35;cursor:not-allowed}.actions{flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:36px;display:flex}.site-header{z-index:30;background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0}.header-inner{align-items:center;gap:32px;min-height:64px;display:flex}.brand{white-space:nowrap;align-items:center;gap:10px;display:inline-flex}.brand svg{flex:none;width:26px;height:26px}.brand-name{color:var(--ink-2);align-items:baseline;gap:6px;font-size:15px;display:inline-flex}.brand-name b{letter-spacing:-.01em;color:var(--ink);font-size:18px;font-weight:600}.site-nav{scrollbar-width:none;gap:26px;margin-left:auto;font-size:14.5px;display:flex;overflow-x:auto}.site-nav::-webkit-scrollbar{display:none}.site-nav a{opacity:.68;white-space:nowrap;padding:4px 0;transition:opacity .2s}.site-nav a:hover,.site-nav a[aria-current=page]{opacity:1}.site-nav a[aria-current=page]{border-bottom:1px solid var(--ink)}@media (width<=720px){.header-inner{flex-wrap:wrap;gap:0;padding-top:12px}.site-nav{gap:22px;width:100%;margin:6px 0 0;padding-bottom:10px}}.site-footer{border-top:1px solid var(--rule);color:var(--muted);margin-top:clamp(64px,9vw,120px);padding:26px 0 56px;font-size:14px}.footer-inner{gap:18px;display:grid}.footer-brand{color:var(--ink);align-items:center;gap:10px;display:inline-flex}.footer-brand svg{width:22px;height:22px}.site-footer nav{flex-wrap:wrap;gap:6px 24px;display:flex}.site-footer nav a:hover{color:var(--ink)}.intro{padding-top:clamp(40px,7vw,96px);padding-bottom:clamp(40px,6vw,80px)}.intro-top{border-bottom:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;gap:20px;padding-bottom:18px;display:flex}.intro h1{max-width:15em;margin-top:clamp(32px,5vw,64px)}.intro .lead{max-width:36em;margin-top:24px}.section{padding-top:clamp(56px,8vw,112px)}.sec-head{border-top:1px solid var(--rule);gap:14px;margin-bottom:clamp(28px,4vw,48px);padding-top:20px;display:grid}.sec-head>p{color:var(--muted);max-width:36em;font-size:15.5px}.ledger{gap:0 var(--gutter);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.ledger.four{grid-template-columns:repeat(4,minmax(0,1fr))}.ledger>div{border-top:1px solid var(--rule);padding:20px 0 26px}.ledger dt,.ledger b{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:clamp(34px,5vw,56px);font-weight:300;line-height:1.05;display:block}.ledger dt small,.ledger b small{letter-spacing:0;margin-left:6px;font-size:.36em}.ledger dd,.ledger span{color:var(--muted);margin-top:12px;font-size:14px;line-height:1.7;display:block}@media (width<=720px){.ledger.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=480px){.ledger{gap:0 14px}.ledger dt,.ledger b{font-size:28px}}.ledger[hidden]{display:none}.ledger-note{font-family:var(--mono);letter-spacing:.04em;color:var(--muted);margin-top:4px;font-size:11.5px}.steps{gap:0 var(--gutter);counter-reset:step;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.step{border-top:1px solid var(--rule);padding:20px 0 8px}.step:before{counter-increment:step;content:"0" counter(step);font-family:var(--mono);letter-spacing:.1em;color:var(--muted);font-size:12px;display:block}.step h3{margin-top:28px;font-size:19px;font-weight:500}.step p{color:var(--muted);margin-top:8px;font-size:15px}@media (width<=860px){.steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}}@media (width<=480px){.steps{grid-template-columns:1fr}}.index{border-top:1px solid var(--rule)}.index-row{border-bottom:1px solid var(--line);transition:padding .4s var(--ease);grid-template-columns:48px minmax(0,1fr) auto 24px;align-items:center;gap:4px 18px;padding:18px 0;display:grid}.index-row:hover{padding-left:8px}.ix-no{font-family:var(--mono);color:var(--muted);font-size:12.5px}.ix-name{font-size:17.5px;line-height:1.5}.ix-name small{color:var(--muted);font-size:14px;display:block}.ix-meta{font-family:var(--mono);color:var(--muted);white-space:nowrap;font-size:12.5px}.ix-arr{text-align:right;transition:transform .35s var(--ease)}.index-row:hover .ix-arr{transform:translate(4px)}@media (width<=520px){.index-row{grid-template-columns:34px minmax(0,1fr) 20px}.ix-meta{grid-area:2/2}}.spec{border-top:1px solid var(--rule)}.spec>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:6px 32px;padding:20px 0;display:grid}.spec dt{font-family:var(--mono);letter-spacing:.08em;color:var(--muted);padding-top:4px;font-size:12px}.spec dd{font-size:16.5px;line-height:1.8}@media (width<=600px){.spec>div{grid-template-columns:1fr}}.faq{border-top:1px solid var(--rule)}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;justify-content:space-between;gap:16px;padding:20px 0;font-size:17px;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-family:var(--mono);color:var(--muted)}.faq details[open] summary:after{content:"−"}.faq details p{max-width:40em;color:var(--ink-2);padding:0 0 22px}.sample{border-bottom:1px solid var(--line);padding:22px 0}.sample:first-child{border-top:1px solid var(--rule)}.sample .q{font-size:17px}.sample ol{gap:2px;margin:10px 0 0;padding-left:0;display:grid}.sample ol li{color:var(--ink-2);grid-template-columns:28px 1fr;display:grid}.sample ol li:before{content:attr(data-l);font-family:var(--mono);color:var(--muted);padding-top:2px;font-size:13px}.sample .answer{color:var(--ok);margin-top:10px;font-weight:500}.source-note{color:var(--muted);font-size:14px}.source-note a{border-bottom:1px solid var(--line-2)}.table{border-collapse:collapse;border-top:1px solid var(--rule);width:100%}.table td,.table th{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:14px 8px 14px 0}.table th{font-family:var(--mono);letter-spacing:.08em;color:var(--muted);font-size:12px;font-weight:400}.table a{border-bottom:1px solid var(--line-2)}.notice{border-left:2px solid var(--ink);color:var(--ink-2);padding:10px 14px;font-size:15px}.form-line{gap:8px;display:grid}.form-line label{font-family:var(--mono);letter-spacing:.1em;color:var(--muted);font-size:12px}.form-line input{border:0;border-bottom:1px solid var(--line-2);background:0 0;border-radius:0;width:100%;min-height:46px;padding:8px 0;font-size:16.5px}.form-line input:focus{border-bottom-color:var(--ink);outline:none}.split{gap:40px var(--gutter);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}@media (width<=720px){.split{grid-template-columns:1fr}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}body.focus .site-header,body.focus .site-footer{display:none}
