:root{--ink:#17211d;--muted:#65716b;--line:#dfe6e2;--soft:#f4f7f5;--accent:#087a57;--accent-dark:#075d45;--accent-soft:#e9f5f0;--warm:#f5f2e8}*{box-sizing:border-box}html{scroll-behavior:smooth;font-size:14px}body{color:var(--ink);background:#fff;margin:0;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-size:1rem}a{color:inherit;text-decoration:none}button,input{font:inherit}.site-shell{min-height:100vh}.topbar{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff2;grid-template-columns:260px 1fr auto;align-items:center;min-height:68px;padding:0 32px;display:grid;position:sticky;top:0}.brand,.brand>span:last-child,.topbar nav{align-items:center;display:flex}.brand{gap:11px}.brand>span:last-child{flex-direction:column;align-items:flex-start;gap:2px}.brand strong{font-size:1.143rem}.brand small{color:var(--muted);font-size:.857rem}.brand-line{background:var(--accent);border-radius:99px;flex:none;width:3px;height:32px}.primary-nav{justify-content:center;gap:6px}.primary-nav a{color:var(--muted);border-radius:8px;padding:8px 11px;font-size:.929rem;font-weight:700}.primary-nav a.active{background:var(--accent-soft);color:var(--accent)}.page-actions{gap:10px}.official-header-link{color:var(--muted);font-size:.857rem;font-weight:700}.language-switch{border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:.929rem;font-weight:700}.docs-layout{grid-template-columns:260px minmax(0,780px) 180px;justify-content:center;gap:44px;padding:36px 34px 100px;display:grid}.docs-layout.without-toc{grid-template-columns:260px minmax(0,940px)}.sidebar,.toc{align-self:start;position:sticky;top:96px}.sidebar{border-right:1px solid var(--line);scrollbar-width:thin;max-height:calc(100vh - 116px);padding-right:18px;overflow-y:auto}.sidebar-heading{justify-content:space-between;align-items:center;margin-bottom:14px;padding:0 6px;display:flex}.sidebar-heading span{font-size:.929rem;font-weight:800}.sidebar-heading strong{background:var(--soft);color:var(--muted);border-radius:99px;padding:3px 7px;font-size:.786rem}.sidebar-groups details{border-top:1px solid #edf0ee}.sidebar-group-link{color:#4e5b55;border-top:1px solid #edf0ee;justify-content:space-between;align-items:center;padding:11px 6px 11px 21px;font-size:.857rem;font-weight:800;display:flex}.sidebar-group-link small{color:#9aa39e;font-size:.786rem}.sidebar-group-link:hover{color:var(--accent)}.sidebar-groups summary{cursor:pointer;color:#4e5b55;justify-content:space-between;align-items:center;padding:11px 6px;font-size:.857rem;font-weight:800;list-style:none;display:flex}.sidebar-groups summary::-webkit-details-marker{display:none}.sidebar-groups summary:before{content:"+";color:#9aa39e;width:15px;font-size:1rem}.sidebar-groups details[open] summary:before{content:"−"}.sidebar-groups summary span{flex:1}.sidebar-groups summary small{color:#9aa39e;font-size:.786rem}.sidebar-links{flex-direction:column;gap:2px;padding:0 0 9px 13px;display:flex}.sidebar-links a{color:#68746e;border-radius:7px;align-items:center;gap:7px;min-width:0;padding:7px 8px;font-size:.857rem;line-height:1.45;display:flex}.sidebar-links a span{text-overflow:ellipsis;overflow:hidden}.sidebar-links a i{background:var(--accent);border-radius:50%;flex:none;width:5px;height:5px}.sidebar-links a:hover{background:var(--soft);color:var(--ink)}.sidebar-links a.active{background:var(--accent-soft);color:var(--accent-dark);font-weight:700}.sidebar-note{background:var(--soft);border-radius:10px;flex-direction:column;gap:5px;margin:20px 4px 0;padding:12px;display:flex}.sidebar-note strong{color:var(--accent);font-size:.857rem}.sidebar-note span{color:var(--muted);font-size:.786rem;line-height:1.6}.document,.section-index,.missing-page{min-width:0}.breadcrumbs{color:#89938e;align-items:center;gap:8px;margin-bottom:26px;font-size:.857rem;display:flex}.breadcrumbs a:hover{color:var(--accent)}.document-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 9px;font-size:.857rem;font-weight:800}h1{letter-spacing:-.045em;margin:0;font-size:clamp(2.429rem,5vw,3.714rem);line-height:1.08}.lead{color:#53605a;max-width:680px;margin:18px 0 0;font-size:1.143rem;line-height:1.8}.reviewed-badge{background:var(--accent-soft);color:var(--accent);border-radius:99px;flex:none;padding:6px 9px;font-size:.786rem;font-weight:700}.reviewed-badge.machine{background:var(--warm);color:#79692e}.reviewed-badge.source{color:#52627c;background:#eef1f7}.source-notice{border-left:3px solid var(--accent);background:var(--soft);color:var(--muted);justify-content:space-between;align-items:center;gap:20px;margin:30px 0 40px;padding:12px 16px;font-size:.857rem;line-height:1.6;display:flex}.source-notice a{color:var(--accent-dark);flex:none;font-weight:800}.toc{border-left:1px solid var(--line);flex-direction:column;gap:10px;max-height:calc(100vh - 120px);padding-left:18px;display:flex;overflow-y:auto}.toc p{color:#87918c;letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:.786rem;font-weight:800}.toc a{color:#7a8580;font-size:.786rem;line-height:1.45}.toc a:hover{color:var(--accent)}.toc a.nested{padding-left:10px}.markdown-body{color:#34413b}.markdown-body>:first-child{margin-top:0}.markdown-body h2,.markdown-body h3{scroll-margin-top:92px}.markdown-body h2{border-top:1px solid var(--line);letter-spacing:-.025em;margin:50px 0 14px;padding-top:34px;font-size:1.714rem}.markdown-body h3{margin:32px 0 10px;font-size:1.286rem}.markdown-body h4{margin:26px 0 8px;font-size:1.071rem}.markdown-body p,.markdown-body li{font-size:1.071rem;line-height:1.85}.markdown-body ul,.markdown-body ol{padding-left:22px}.markdown-body li+li{margin-top:5px}.markdown-body a{color:var(--accent);text-underline-offset:3px;-webkit-text-decoration:underline #9fd3bf;text-decoration:underline #9fd3bf}.external-mark{margin-left:3px;font-size:.786rem;text-decoration:none}.markdown-body blockquote{color:var(--muted);border-left:3px solid #9fcbb9;margin:24px 0;padding:2px 0 2px 16px}.markdown-body blockquote p{color:inherit}.markdown-body code{color:#245640;background:#edf2ef;border-radius:5px;padding:2px 5px;font-family:SFMono-Regular,Consolas,monospace;font-size:.929rem}.markdown-body pre{color:#dff5e9;background:#17221d;border:1px solid #26362e;border-radius:12px;margin:22px 0;padding:20px;line-height:1.7;overflow-x:auto}.markdown-body pre code{color:inherit;background:0 0;padding:0;font-size:.929rem}.markdown-body table{border-collapse:collapse;width:100%;margin:24px 0;font-size:.929rem;display:block;overflow-x:auto}.markdown-body th,.markdown-body td{border:1px solid var(--line);text-align:left;vertical-align:top;min-width:130px;padding:10px 12px}.markdown-body th{background:var(--soft);color:var(--ink)}.markdown-body hr{background:var(--line);border:0;height:1px;margin:40px 0}.markdown-body img{border:1px solid var(--line);border-radius:12px;max-width:100%;height:auto;margin:26px auto;display:block}.document-neighbors{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:12px;margin-top:60px;padding-top:22px;display:grid}.document-neighbors a{border:1px solid var(--line);border-radius:11px;flex-direction:column;gap:5px;min-width:0;padding:14px;display:flex}.document-neighbors a:last-child{text-align:right;align-items:flex-end}.document-neighbors small{color:#909a95;text-transform:uppercase;font-size:.786rem}.document-neighbors strong{color:var(--accent-dark);text-overflow:ellipsis;white-space:nowrap;font-size:.857rem;overflow:hidden}.section-index{padding:16px 0 30px}.section-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:baseline;gap:8px;margin:34px 0 46px;padding:18px 0;display:flex}.section-summary strong{margin-left:20px;font-size:1.571rem}.section-summary strong:first-child{margin-left:0}.section-summary span{color:var(--muted);font-size:.786rem}.section-groups{flex-direction:column;gap:44px;display:flex}.section-groups>section>header{border-bottom:1px solid var(--line);align-items:baseline;gap:10px;padding-bottom:12px;display:flex}.section-groups h2{letter-spacing:-.025em;margin:0;font-size:1.571rem}.section-groups header small{color:#929c97;font-size:.786rem}.section-groups header span{color:#929c97;margin-left:auto;font-size:.786rem}.section-entry-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;display:grid}.section-entry-list a{color:#4f5d56;border-bottom:1px solid #edf0ee;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:11px 2px;font-size:.857rem;display:flex}.section-entry-list a:hover span{color:var(--accent)}.section-entry-list a>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.section-entry-list small{color:#949e99;flex:none;font-size:.786rem}.missing-page{padding:64px 10px}.missing-page h1{max-width:720px}.missing-page>p:not(.eyebrow){max-width:650px;color:var(--muted);margin-top:22px;font-size:1rem;line-height:1.8}.missing-actions{gap:10px;margin-top:30px;display:flex}.missing-actions a{border:1px solid var(--line);color:#51605a;border-radius:9px;padding:10px 13px;font-size:.857rem;font-weight:700}.missing-actions a:first-child{border-color:var(--ink);background:var(--ink);color:#fff}.large-source-page .large-page-note{border-top:1px solid var(--line);padding-top:18px;margin-top:36px!important;font-size:.857rem!important}.home-shell{background:linear-gradient(#f2f8f5 0,#fff 570px);min-height:100vh}.home-header{border-bottom:1px solid #e1e7e3cc;justify-content:space-between;align-items:center;min-height:72px;padding:0 max(24px,50vw - 580px);display:flex}.home-header nav{align-items:center;gap:8px;display:flex}.repository-link,.official-nav-link{border:1px solid var(--line);color:#52605a;background:#fff;border-radius:9px;padding:8px 11px;font-size:.929rem;font-weight:700}.official-nav-link{color:var(--accent-dark);border-color:#aed2c1}.hero{text-align:center;max-width:1000px;margin:0 auto;padding:92px 30px 66px}.hero h1{letter-spacing:-.055em;max-width:900px;margin:0 auto;font-size:clamp(3.143rem,7vw,5.429rem);line-height:1.06}.hero>p:not(.eyebrow){max-width:700px;color:var(--muted);margin:25px auto 0;font-size:1.143rem;line-height:1.8}.hero-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:34px;display:flex}.hero-actions a{border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:10px;padding:12px 18px;font-size:1rem;font-weight:800}.hero-actions a.secondary{color:var(--ink);background:#fff}.hero-actions span{color:#7e8983;margin-left:8px;font-size:.857rem}.update-panel{background:#ffffffb8;border:1px solid #d9e4df;border-radius:14px;width:min(680px,100%);margin:28px auto 0;padding:16px 18px 11px;box-shadow:0 12px 32px #18372a0d}.update-panel>p{color:#929d97;border-top:1px solid #82978d2e;margin:12px 0 0;padding-top:9px;font-size:.786rem}.update-status{text-align:left;grid-template-columns:repeat(3,1fr);display:grid}.update-status>div{border-left:1px solid #82978d3d;flex-direction:column;gap:5px;min-width:0;padding:0 16px;display:flex}.update-status>div:first-child{border-left:0}.update-status span{color:var(--accent);font-size:.857rem;font-weight:700}.update-status time,.update-status strong{color:#34433c;font-size:.929rem;font-weight:800}.official-source{background:#f3faf7;border:1px solid #b8d8ca;border-radius:14px;justify-content:space-between;align-items:center;gap:24px;width:min(1100px,100% - 64px);margin:0 auto 92px;padding:15px 18px;display:flex;box-shadow:0 12px 32px #12523a0d}.official-source>p{color:#53645c;margin:0;font-size:1rem;line-height:1.65}.official-source>a{background:var(--accent-dark);color:#fff;border-radius:10px;flex:none;padding:12px 16px;font-size:.929rem;font-weight:800}.structure-section,.translated-section{max-width:1160px;margin:0 auto;padding:0 30px 92px}.collection-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:24px;padding-bottom:20px;display:flex}.collection-heading h2{letter-spacing:-.035em;max-width:700px;margin:0;font-size:2rem}.collection-heading>span{color:var(--muted);font-size:.857rem}.structure-grid{grid-template-columns:repeat(2,1fr);gap:16px;margin-top:20px;display:grid}.structure-grid>a{border:1px solid var(--line);background:#fff;border-radius:16px;padding:26px;transition:transform .16s,box-shadow .16s,border-color .16s}.structure-grid>a:hover{border-color:#9ecab7;transform:translateY(-2px);box-shadow:0 18px 38px #18372a14}.structure-card-heading{justify-content:space-between;align-items:center;display:flex}.structure-card-heading>span{color:var(--accent);letter-spacing:.1em;font-family:monospace;font-size:.857rem;font-weight:800}.structure-card-heading strong{color:#8a948f;font-size:.786rem}.structure-grid h3{letter-spacing:-.035em;margin:36px 0 8px;font-size:1.786rem}.structure-grid p{color:var(--muted);font-size:1rem;line-height:1.7}.group-preview{flex-wrap:wrap;align-content:flex-start;gap:6px;min-height:60px;margin-top:24px;display:flex}.group-preview span{background:var(--soft);color:#68746e;border-radius:99px;padding:5px 8px;font-size:.786rem}.structure-grid footer{border-top:1px solid var(--line);color:var(--muted);align-items:baseline;gap:5px;margin-top:24px;padding-top:16px;font-size:.857rem;display:flex}.structure-grid footer strong{color:var(--ink);font-size:1.286rem}.structure-grid footer span{color:var(--accent);margin-left:auto;font-weight:800}.translation-list{flex-direction:column;margin-top:14px;display:flex}.translation-list a{border-bottom:1px solid var(--line);grid-template-columns:110px 1fr auto;align-items:center;gap:20px;padding:16px 4px;display:grid}.translation-list a>span{color:var(--accent);font-size:.857rem;font-weight:700}.translation-list strong{font-size:1rem}.translation-list small{color:var(--muted);font-size:.857rem}.home-footer{border-top:1px solid var(--line);color:#89938e;justify-content:space-between;align-items:center;min-height:72px;padding:0 max(24px,50vw - 550px);font-size:.857rem;display:flex}button:focus-visible,a:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #087a5738}@media (max-width:1080px){.docs-layout{grid-template-columns:230px minmax(0,1fr);gap:32px}.docs-layout.without-toc{grid-template-columns:230px minmax(0,1fr)}.toc{display:none}}@media (max-width:760px){.topbar{grid-template-columns:1fr auto;padding:0 18px}.primary-nav,.official-header-link{display:none!important}.docs-layout,.docs-layout.without-toc{padding:24px 20px 70px;display:block}.sidebar{border-right:0;border-bottom:1px solid var(--line);max-height:none;margin-bottom:32px;padding:0 0 18px;position:static;overflow-y:visible}.sidebar-heading,.sidebar-note{display:none}.sidebar-groups{gap:6px;display:flex;overflow-x:auto}.sidebar-groups details{border:0;flex:none}.sidebar-group-link{border:1px solid var(--line);border-radius:8px;flex:none;padding:8px 10px}.sidebar-groups summary{border:1px solid var(--line);border-radius:8px;padding:8px 10px}.sidebar-groups summary:before,.sidebar-groups summary small,.sidebar-links{display:none}.document-heading{display:block}.reviewed-badge{margin-top:16px;display:inline-block}.source-notice{flex-direction:column;align-items:flex-start}.section-entry-list{grid-template-columns:1fr}.home-header{padding:0 18px}.official-nav-link{display:none}.hero{padding-top:72px}.hero-actions{flex-direction:row}.hero-actions a{padding-left:14px;padding-right:14px}.hero-actions span{width:100%;margin:5px 0 0}.update-panel{padding-left:10px;padding-right:10px}.update-status{text-align:center;grid-template-columns:repeat(3,minmax(0,1fr))}.update-status>div{padding:0 8px}.update-status time,.update-status strong{font-size:.857rem;line-height:1.45}.official-source{gap:14px;width:calc(100% - 40px);margin:0 auto 72px;padding:14px 16px}.official-source>p{font-size:.929rem}.official-source>a{padding:10px 12px;font-size:.857rem}.collection-heading{flex-direction:column;align-items:flex-start}.structure-grid{grid-template-columns:1fr}.translation-list a{grid-template-columns:1fr;gap:7px}.home-footer{flex-direction:column;align-items:flex-start;gap:8px;padding-top:24px;padding-bottom:24px}}@media (max-width:360px){.hero-actions a{width:100%}.update-status{text-align:center;grid-template-columns:1fr}.update-status>div{border-top:1px solid #82978d33;border-left:0;padding:9px 0}.update-status>div:first-child{border-top:0}.official-source{flex-direction:column;align-items:flex-start}}
