:root{color-scheme:light;--ink:#111;--muted:#555;--line:#cfcfcf;--soft:#f5f5f5;--paper:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 system-ui,-apple-system,"Noto Sans TC",sans-serif}
a{color:inherit;text-underline-offset:4px}
a:hover{text-decoration-thickness:2px}
a:focus-visible,button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.container{max-width:1180px;margin:auto;padding:0 32px}
.site-header{border-bottom:1px solid var(--ink);background:var(--paper)}
.header-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.wordmark{font:700 22px/1.1 Georgia,"Noto Serif TC",serif;text-decoration:none;letter-spacing:-.03em}
.site-header nav,.footer-inner>div{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.site-header nav a,.site-footer a{font-size:14px;text-decoration:none}
.site-header nav a:hover,.site-footer a:hover{text-decoration:underline}
.github-link{display:inline-flex;align-items:center;gap:7px}.github-link img{width:17px;height:17px}
.docs-home{padding-top:78px;padding-bottom:100px}.docs-home h1{font-size:68px;margin-bottom:16px}.docs-lead{font-size:20px;max-width:680px}
.doc-links{display:grid;grid-template-columns:1fr 1fr;gap:0 42px;border-top:2px solid #111;margin-top:52px}.doc-links a{display:grid;grid-template-columns:40px 1fr;gap:0 20px;text-decoration:none;border-bottom:1px solid var(--line);padding:24px 0}.doc-links a:hover strong{text-decoration:underline}.doc-links span{font:14px ui-monospace,monospace;color:var(--muted);grid-row:span 2}.doc-links strong{font:500 26px Georgia,serif}.doc-links small{font-size:14px;color:var(--muted)}.docs-aside{margin-top:42px;color:var(--muted)}
.doc-page{padding:65px 0 100px}.doc-page h1{font-size:clamp(42px,5vw,64px);margin-bottom:18px}.doc-page .lead{font-size:19px;max-width:770px}.doc-page .docs-layout{padding-top:22px}.doc-page .docs-main section{padding-top:0}.doc-page .docs-nav a[aria-current=page]{color:#111;font-weight:700}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:Georgia,"Noto Serif TC",serif;letter-spacing:-.04em;line-height:1.12}
h1{font-size:clamp(46px,7.2vw,100px);font-weight:500;margin-bottom:32px}
h2{font-size:clamp(32px,4.1vw,54px);font-weight:500;margin-bottom:26px}
h3{font-size:22px;line-height:1.25;margin-bottom:8px}
p{margin-bottom:18px}
.hero{padding:110px 0 112px}
.hero h1{max-width:1000px}
.hero-copy{font-size:clamp(19px,2vw,24px);line-height:1.6;max-width:800px}
.actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin-top:38px}
.button-primary{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;padding:14px 19px;background:var(--ink);color:#fff;text-decoration:none;font-weight:650;min-width:180px}
.button-primary:hover{background:#333}
.plain-link{font-weight:600;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:3px}
.section{border-top:1px solid var(--ink);padding:88px 0 94px}
.section-tinted{background:var(--soft)}
.split-section{display:grid;grid-template-columns:minmax(280px,.92fr) minmax(0,1fr);gap:80px}
.split-section h2{max-width:500px}
.section-copy{font-size:19px;line-height:1.72;max-width:650px}
.section-copy p:last-child{margin-bottom:0}
.action-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;padding:0;margin:42px 0 20px;border-top:1px solid var(--ink)}
.action-list li{display:grid;grid-template-columns:92px minmax(0,1fr);gap:20px;min-height:190px;padding:30px 32px 30px 0;border-bottom:1px solid var(--line)}
.action-list li:nth-child(even){padding-left:32px;padding-right:0;border-left:1px solid var(--line)}
.action-list h3{font:500 clamp(26px,2.5vw,34px)/1.1 Georgia,"Noto Serif TC",serif;letter-spacing:-.03em;margin:4px 0 16px}
.action-list p{max-width:310px;margin:0;color:var(--muted)}
.step-number{font:500 60px/.9 Georgia,"Noto Serif TC",serif;letter-spacing:-.08em;color:var(--muted)}
.section-note{font-size:14px;color:var(--muted);margin-top:26px}
.output-row{border-top:1px solid var(--line);padding:19px 0 22px}
.output-row:last-child{border-bottom:1px solid var(--line)}
.output-row h3{font-size:20px}
.output-row h3 a{text-decoration:none;border-bottom:1px solid var(--ink)}
.output-row h3 a:hover{border-bottom-width:2px}
.output-row p{font-size:17px;color:var(--muted);margin:0}
.closing{border-top:1px solid var(--ink);padding:86px 0 98px;background:var(--ink);color:#fff}
.closing h2{margin-bottom:18px}
.closing p{font-size:19px;max-width:700px;color:#ddd}
.closing .button-primary{background:#fff;color:var(--ink)}
.closing .button-primary:hover{background:#ddd}
.closing .plain-link{border-color:#fff}
.site-footer{border-top:1px solid var(--line);padding:30px 0 44px;font-size:14px}
.footer-inner{display:flex;justify-content:space-between;gap:24px}
.footer-inner>div{gap:24px}
/* Documentation layout */
.docs-intro{padding:62px 0 48px;border-bottom:1px solid var(--ink)}
.docs-intro h1{font-size:clamp(42px,5.2vw,70px);margin-bottom:20px}
.docs-intro p{font-size:19px;max-width:760px;margin:0}
.docs-layout{display:grid;grid-template-columns:215px minmax(0,760px);gap:74px;align-items:start;padding-top:42px;padding-bottom:100px}
.docs-nav{position:sticky;top:30px;border-top:1px solid var(--ink);padding-top:14px}
.docs-nav a{display:block;padding:6px 0;font-size:14px;text-decoration:none;color:var(--muted)}
.docs-nav a:hover{color:var(--ink);text-decoration:underline}
.docs-main section{padding:8px 0 60px;margin-bottom:55px;border-bottom:1px solid var(--line);scroll-margin-top:30px}
.docs-main section:last-child{border-bottom:0;margin-bottom:0}
.docs-main h2{font-size:clamp(29px,3vw,40px);margin-bottom:22px}
.docs-main h3{font-size:21px;margin:34px 0 12px}
.docs-main p,.docs-main li{max-width:760px}
.docs-main ul,.docs-main ol{padding-left:22px;margin:0 0 20px}
.docs-main li{padding-left:4px;margin-bottom:9px}
.docs-main pre{overflow:auto;background:var(--soft);border-left:3px solid var(--ink);padding:18px 20px;margin:18px 0 25px;font:13px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre}
.docs-main code{font:0.91em ui-monospace,SFMono-Regular,Consolas,monospace}
.docs-main p code,.docs-main li code,.docs-main td code{background:var(--soft);padding:1px 4px}
.docs-main pre code{background:transparent;padding:0}
.docs-main table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.55;margin:20px 0 30px}
.docs-main th,.docs-main td{text-align:left;vertical-align:top;padding:12px 10px;border-bottom:1px solid var(--line)}
.docs-main th{border-top:2px solid var(--ink);font-weight:700}
.docs-main td:first-child{width:38%;overflow-wrap:anywhere}
.docs-main blockquote{margin:18px 0 24px;padding:16px 20px;border-left:3px solid var(--ink);background:var(--soft)}
.docs-main blockquote p:last-child{margin-bottom:0}
.docs-main .note{font-size:14px;color:var(--muted)}
.docs-main .mini-heading{font:700 14px/1.5 system-ui,-apple-system,sans-serif;letter-spacing:0;margin:22px 0 8px}
.docs-main .step-guide{border-top:1px solid var(--line);padding:22px 0 0}
.docs-main .step-guide h3{margin:0 0 7px}
.docs-main .step-guide p{margin-bottom:12px}
.docs-main .section-index{font-size:14px;line-height:2;border-bottom:1px solid var(--line);padding:0 0 24px;margin:0 0 34px}
@media(max-width:820px){.split-section{grid-template-columns:1fr;gap:18px}.docs-layout{grid-template-columns:1fr;gap:28px}.docs-nav{position:static;display:flex;gap:18px;overflow-x:auto;white-space:nowrap}.docs-nav a{flex:none}.action-list li{grid-template-columns:64px minmax(0,1fr);gap:16px}.action-list li:nth-child(even){padding-left:22px}.step-number{font-size:48px}.doc-links{grid-template-columns:1fr}}
@media(max-width:600px){.container{padding:0 20px}.header-inner{align-items:flex-start;flex-direction:column;padding-top:18px;padding-bottom:16px}.site-header nav{gap:12px 20px}.hero{padding:70px 0 78px}.section{padding:65px 0}.action-list{grid-template-columns:1fr}.action-list li{min-height:0;padding:26px 0}.action-list li:nth-child(even){padding:26px 0;border-left:0}.action-list h3{margin-bottom:10px}.closing{padding:65px 0}.footer-inner{flex-direction:column}.docs-intro{padding:46px 0 36px}.docs-layout{padding-bottom:55px}.docs-main section{margin-bottom:38px;padding-bottom:44px}.docs-main table{display:block;overflow-x:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
