
:root{--paper:#f5f0e6;--paper-strong:#fffaf1;--paper-soft:#ebe3d4;--ink:#1b1814;--ink-soft:#3d362e;--muted:#7a6e5f;--line:rgba(27,24,20,.14);--line-strong:rgba(27,24,20,.24);--terracotta:#bf5a3a;--olive:#687555;--gold:#ad8147;--card:#fffaf1;--shadow:0 18px 50px rgba(53,36,20,.1);--font-display:"Noto Serif SC","Songti SC","STSong","SimSun",Georgia,serif;--font-body:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;--font-mono:"SFMono-Regular","JetBrains Mono",Consolas,monospace}
[data-theme="dark"]{--paper:#141210;--paper-strong:#1d1915;--paper-soft:#241f19;--ink:#f5f0e6;--ink-soft:#d8d0c2;--muted:#a89d8d;--line:rgba(245,240,230,.13);--line-strong:rgba(245,240,230,.24);--terracotta:#e07a55;--olive:#9aaa82;--gold:#d0a565;--card:#1d1915;--shadow:0 18px 50px rgba(0,0,0,.35)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.75;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}::selection{background:var(--terracotta);color:#fffaf1}:focus-visible{outline:2px solid var(--terracotta);outline-offset:3px}
.doc-topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:24px;min-height:68px;padding:10px max(20px,calc((100vw - 1180px)/2));border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 86%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.doc-brand{display:inline-flex;align-items:center;gap:10px}.doc-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--ink);color:var(--paper);font-family:var(--font-display);font-size:18px}.doc-brand span:last-child{display:grid;line-height:1.15}.doc-brand strong{font-family:var(--font-display);font-size:15px}.doc-brand small{color:var(--muted);font-size:10px;letter-spacing:.06em}
.doc-nav{display:flex;gap:4px;margin-left:auto}.doc-nav a{padding:7px 11px;border-radius:999px;color:var(--muted);font-size:12px;font-weight:600}.doc-nav a:hover{background:var(--paper-soft);color:var(--ink)}
.doc-actions{display:flex;gap:7px}.doc-theme,.doc-copy{height:34px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font-size:11px;cursor:pointer}.doc-theme{width:34px;padding:0;font-size:15px}.doc-theme:hover,.doc-copy:hover{border-color:var(--line-strong);color:var(--ink)}
.doc-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:48px;width:min(1180px,calc(100% - 40px));margin:0 auto;padding:40px 0 70px}
.doc-sidebar{position:sticky;top:92px;align-self:start;max-height:calc(100vh - 120px);overflow:auto;padding-right:12px;scrollbar-width:thin}
.side-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;color:var(--muted);font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.side-head span{padding:2px 7px;border-radius:999px;background:var(--paper-soft);color:var(--muted)}
.side-group{margin-bottom:18px}.side-group h2{margin:0 0 6px;padding:0 8px;color:var(--terracotta);font-size:10px;font-weight:700;letter-spacing:.08em}.side-link{display:block;padding:6px 8px;border-radius:7px;color:var(--muted);font-size:11.5px;line-height:1.45}.side-link:hover{background:var(--paper-soft);color:var(--ink)}.side-link.is-current{background:var(--ink);color:var(--paper)}
.doc-main{min-width:0}.doc-breadcrumb{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:26px;color:var(--muted);font-size:11px}.doc-breadcrumb a:hover{color:var(--terracotta)}.doc-breadcrumb em{font-style:normal;color:var(--ink-soft)}
.doc-kicker{display:inline-block;color:var(--terracotta);font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.doc-article h1{margin:10px 0 12px;font-family:var(--font-display);font-size:clamp(32px,4.2vw,52px);font-weight:650;line-height:1.15;letter-spacing:-.02em}
.doc-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:11px}
.toc{margin:28px 0 30px;padding:14px 18px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--paper-soft) 34%,transparent)}.toc summary{cursor:pointer;color:var(--ink-soft);font-size:12px;font-weight:650}.toc ol{margin:9px 0 0;padding-left:20px;columns:2;column-gap:28px}.toc li{margin:3px 0;font-size:11px}.toc a{color:var(--muted)}.toc a:hover{color:var(--terracotta)}
.doc-content{padding-top:10px;border-top:1px solid var(--line)}.doc-content h1,.doc-content h2,.doc-content h3,.doc-content h4{font-family:var(--font-display);font-weight:650;line-height:1.3;letter-spacing:-.01em}.doc-content h1{font-size:30px;margin:34px 0 12px}.doc-content h2{font-size:24px;margin:36px 0 12px;padding-top:8px}.doc-content h3{font-size:19px;margin:28px 0 10px}.doc-content h4{font-size:16px;margin:22px 0 8px}.doc-content p{margin:12px 0;color:var(--ink-soft)}.doc-content strong{color:var(--ink)}.doc-content a{color:var(--terracotta);text-decoration:underline;text-underline-offset:3px}.doc-content ul,.doc-content ol{margin:12px 0;padding-left:24px}.doc-content li{margin:5px 0;color:var(--ink-soft)}.doc-content blockquote{margin:18px 0;padding:12px 16px;border-left:3px solid var(--terracotta);border-radius:0 9px 9px 0;background:color-mix(in srgb,var(--terracotta) 7%,transparent);color:var(--ink-soft)}.doc-content code{padding:2px 5px;border-radius:5px;background:var(--paper-soft);font-family:var(--font-mono);font-size:.88em}.doc-content pre{margin:18px 0;padding:16px;border-radius:12px;background:#17130f;color:#f5f0e6;overflow:auto;font-size:12px;line-height:1.6}.doc-content pre code{padding:0;background:transparent;color:inherit;font-size:inherit}.doc-content table{width:100%;margin:18px 0;border-collapse:collapse;font-size:12px;display:block;overflow-x:auto}.doc-content th,.doc-content td{padding:8px 10px;border:1px solid var(--line);text-align:left;vertical-align:top}.doc-content th{background:var(--paper-soft);color:var(--ink);font-weight:650;white-space:nowrap}.doc-content tr:nth-child(even) td{background:color-mix(in srgb,var(--paper-soft) 26%,transparent)}.doc-content hr{margin:30px 0;border:0;border-top:1px solid var(--line)}.doc-content img{max-width:100%;height:auto;border-radius:10px}
.doc-pager{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:48px;padding-top:24px;border-top:1px solid var(--line)}.pager-link{display:grid;gap:3px;padding:15px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--card) 55%,transparent)}.pager-link:hover{border-color:var(--line-strong);background:var(--card)}.pager-link span{color:var(--muted);font-size:10px}.pager-link strong{font-size:12px;line-height:1.45}.pager-link.next{text-align:right}
.doc-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;width:min(1180px,calc(100% - 40px));margin:0 auto;padding:24px 0 36px;border-top:1px solid var(--line);color:var(--muted);font-size:10.5px}.doc-footer a:hover{color:var(--terracotta)}
.docs-hub .doc-topbar{position:sticky}.hub-main{width:min(1180px,calc(100% - 40px));margin:0 auto}.hub-hero{padding:80px 0 44px;border-bottom:1px solid var(--line)}.hub-hero h1{margin:10px 0 16px;font-family:var(--font-display);font-size:clamp(46px,7vw,84px);font-weight:650;line-height:.98;letter-spacing:-.04em}.hub-hero h1 em{font-style:normal;color:var(--terracotta)}.hub-hero p{max-width:620px;color:var(--muted);font-size:15px;line-height:1.85}.hub-meta{display:flex;flex-wrap:wrap;gap:18px;margin-top:20px;color:var(--muted);font-size:11px}.hub-meta span::before{content:"";display:inline-block;width:5px;height:5px;margin-right:7px;border-radius:50%;background:var(--terracotta);vertical-align:1px}
.hub-tools{display:grid;grid-template-columns:minmax(260px,1fr) 1.6fr;gap:18px;align-items:center;padding:28px 0}.hub-search{display:flex;align-items:center;gap:9px;padding:11px 15px;border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:var(--shadow)}.hub-search span{color:var(--muted);font-size:18px}.hub-search input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:12px}.hub-search input::placeholder{color:var(--muted)}.hub-chips{display:flex;flex-wrap:wrap;gap:7px}.chip{padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font-size:10.5px;font-weight:600;cursor:pointer;transition:all .16s}.chip span{margin-left:4px;opacity:.65}.chip:hover,.chip.is-active{border-color:var(--ink);background:var(--ink);color:var(--paper)}
.hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-bottom:50px}.plan-card{display:flex;flex-direction:column;min-height:255px;padding:20px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--card) 74%,transparent);transition:transform .22s,box-shadow .22s,border-color .22s}.plan-card:hover{transform:translateY(-4px);border-color:var(--line-strong);box-shadow:var(--shadow)}.plan-card.is-hidden{display:none}.plan-card.live-card{border-color:color-mix(in srgb,var(--terracotta) 38%,var(--line));background:linear-gradient(160deg,color-mix(in srgb,var(--terracotta) 8%,var(--card)),var(--card))}.live-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:var(--terracotta);color:#fffaf1;font-family:var(--font-mono);font-size:8px;font-weight:700;letter-spacing:.08em}.plan-card.live-card h3{color:var(--terracotta)}.plan-card.live-card .plan-arrow{border-color:color-mix(in srgb,var(--terracotta) 40%,var(--line));color:var(--terracotta)}.plan-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.plan-cat{color:var(--terracotta);font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.plan-arrow{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);border-radius:50%;color:var(--muted);font-size:12px}.plan-card:hover .plan-arrow{transform:rotate(45deg);color:var(--ink)}.plan-card h3{margin:16px 0 8px;font-family:var(--font-display);font-size:19px;font-weight:650;line-height:1.35}.plan-card p{color:var(--muted);font-size:11.5px;line-height:1.7}.plan-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:16px;color:var(--muted);font-size:10px}.plan-card-foot span:last-child{color:var(--ink);font-weight:650}
.hub-empty{padding:30px 0;color:var(--muted);font-size:13px;text-align:center}.hub-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:10px 0 70px;padding:34px;border-radius:20px;background:linear-gradient(140deg,#241f19,#141210);color:#f5f0e6}.hub-cta .doc-kicker{color:#e9a184}.hub-cta h2{margin:8px 0 0;font-family:var(--font-display);font-size:clamp(26px,3.5vw,40px);font-weight:650}.hub-cta>div:last-child{display:flex;gap:9px;flex-wrap:wrap}.doc-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border:1px solid rgba(245,240,230,.22);border-radius:999px;color:#f5f0e6;font-size:11.5px;font-weight:650}.doc-btn:hover{background:rgba(245,240,230,.1)}.doc-btn.primary{background:#f5f0e6;color:#1b1814;border-color:#f5f0e6}
.js .reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}.js .reveal.is-visible{opacity:1;transform:none}
@media(max-width:980px){.doc-layout{grid-template-columns:1fr;gap:0;padding-top:24px}.doc-sidebar{display:none}.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-tools{grid-template-columns:1fr}.hub-cta{align-items:flex-start;flex-direction:column}.doc-topbar{gap:12px}.doc-nav{margin-left:auto}.doc-brand small{display:none}}
@media(max-width:620px){.doc-topbar{padding-inline:14px;flex-wrap:wrap}.doc-nav{order:3;width:100%;margin-left:0}.doc-nav a{padding:6px 8px}.doc-actions{margin-left:auto}.doc-layout,.hub-main,.doc-footer{width:calc(100% - 28px)}.hub-hero{padding-top:50px}.hub-grid{grid-template-columns:1fr}.plan-card{min-height:0}.toc ol{columns:1}.doc-pager{grid-template-columns:1fr}.doc-content h1{font-size:26px}.doc-content h2{font-size:21px}.doc-content table{font-size:11px}.hub-cta{padding:24px}.doc-footer{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}.js .reveal{opacity:1;transform:none}}
