*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font-sans, system-ui, sans-serif);font-size:16px;line-height:1.6;color:var(--color-text-primary, #171717);background:var(--color-background, #fafafa);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.app{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;align-self:start;height:100vh;overflow-y:auto;border-right:1px solid var(--color-border, #dcdcdc);background:var(--color-surface, #fff);padding:0 0 var(--spacing-600, 2rem)}.brand{display:flex;align-items:center;gap:var(--spacing-250, .625rem);height:56px;padding:0 var(--spacing-400, 1rem);position:sticky;top:0;z-index:1;background:var(--color-surface, #fff);border-bottom:1px solid var(--color-border, #dcdcdc)}.brand .mark{width:26px;height:26px;border-radius:7px;background:var(--color-primary, #1e5386);display:grid;place-items:center;color:#fff;font-weight:700;font-size:12px;letter-spacing:.02em}.brand .brand-mark-slot{display:inline-flex;width:30px;height:30px;flex:none}.brand .brand-mark-slot :global(svg){width:100%;height:100%;display:block}.brand b{font-weight:600;font-size:16px;letter-spacing:-.01em}.brand .ver{font-size:12px;color:var(--color-text-muted, #7c7c7c)}.nav{padding:var(--spacing-400, 1rem) var(--spacing-300, .75rem) 0}.nav-group{margin-bottom:var(--spacing-500, 1.5rem)}.nav-group>h4{margin:0 0 var(--spacing-150, .375rem);padding:0 var(--spacing-300, .75rem);font-size:14px;font-weight:600;color:var(--color-text-secondary, #525252)}.nav-group ul{list-style:none;margin:0;padding:0}.nav-link{display:flex;align-items:center;justify-content:space-between;padding:6px var(--spacing-300, .75rem);margin:1px 0;border-radius:7px;font-size:14.5px;color:var(--color-text-secondary, #525252);transition:background .12s ease,color .12s ease}.nav-link:hover{background:var(--color-surface-sunken, #f3f7fc);color:var(--color-text-primary, #171717)}.nav-link[aria-current=page]{background:color-mix(in srgb,var(--color-primary, #1e5386) 10%,transparent);color:var(--color-primary, #1e5386);font-weight:600}.nav-link .tag{font-size:11px;font-family:var(--font-mono, monospace);color:var(--color-text-muted, #7c7c7c);border:1px solid var(--color-border, #dcdcdc);border-radius:5px;padding:0 5px;line-height:16px}.main{min-width:0}.topbar{position:sticky;top:0;z-index:5;height:56px;display:flex;align-items:center;gap:var(--spacing-400, 1rem);padding:0 var(--spacing-600, 2rem);border-bottom:1px solid var(--color-border, #dcdcdc);background:color-mix(in srgb,var(--color-background, #fafafa) 80%,transparent);backdrop-filter:saturate(1.2) blur(8px)}.search{display:flex;align-items:center;gap:var(--spacing-200, .5rem);width:280px;max-width:40%;padding:7px var(--spacing-300, .75rem);border:1px solid var(--color-border, #dcdcdc);border-radius:9px;color:var(--color-text-muted, #7c7c7c);font-size:14px;cursor:text;background:var(--color-surface, #fff);font-family:inherit;text-align:left}.search:hover{border-color:var(--color-primary-border, #c6dcf1)}.search kbd{margin-left:auto;font-family:var(--font-mono, monospace);font-size:11px;border:1px solid var(--color-border, #dcdcdc);border-radius:5px;padding:1px 5px;color:var(--color-text-muted, #7c7c7c)}.topbar .spacer{flex:1}.topbar-action{display:inline-flex;align-items:center;gap:var(--spacing-150, .375rem);font-size:14px;color:var(--color-text-secondary, #525252);padding:7px var(--spacing-300, .75rem);border:1px solid var(--color-border, #dcdcdc);border-radius:9px;background:var(--color-surface, #fff)}.topbar-action:hover{color:var(--color-primary, #1e5386);border-color:var(--color-primary-border, #c6dcf1)}.scheme-toggle{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--color-border, #dcdcdc);border-radius:9px;background:var(--color-surface, #fff);color:var(--color-text-secondary, #525252);cursor:pointer}.scheme-toggle:hover{color:var(--color-text-primary, #171717)}.content-wrap{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:var(--spacing-700, 3rem);max-width:1100px;margin:0 auto;padding:var(--spacing-700, 3rem) var(--spacing-600, 2rem) var(--spacing-900, 6rem)}.article{min-width:0}.toc{position:sticky;top:80px;align-self:start;height:fit-content}.toc h5{margin:0 0 var(--spacing-250, .625rem);font-size:14px;font-weight:600;color:var(--color-text-secondary, #525252)}.toc ul{list-style:none;margin:0;padding:0}.toc a{display:block;padding:4px 0 4px 12px;margin-left:-2px;font-size:14px;color:var(--color-text-secondary, #525252);border-left:2px solid transparent;transition:color .12s ease,border-color .12s ease}.toc a:hover,.toc a.active{color:var(--color-text-primary, #171717);border-color:var(--color-primary, #1e5386)}@media(max-width:1080px){.content-wrap{grid-template-columns:minmax(0,1fr)}.toc{display:none}}@media(max-width:760px){.app{grid-template-columns:1fr}.sidebar{display:none}}.article h1{font-family:var(--font-display, var(--font-sans));font-size:34px;font-weight:600;letter-spacing:-.02em;margin:0 0 var(--spacing-200, .5rem);line-height:1.2}.article .lede{font-size:18px;color:var(--color-text-secondary, #525252);margin:0 0 var(--spacing-600, 2rem);line-height:1.55}.article h2{font-size:22px;font-weight:600;letter-spacing:-.01em;color:var(--color-primary, #1e5386);margin:var(--spacing-700, 3rem) 0 var(--spacing-300, .75rem);padding-bottom:var(--spacing-200, .5rem);border-bottom:1px solid var(--color-border, #dcdcdc);scroll-margin-top:76px}.article h3{font-size:16px;font-weight:600;margin:var(--spacing-500, 1.5rem) 0 var(--spacing-250, .625rem);color:var(--color-text-primary, #171717)}.article p{color:var(--color-text-secondary, #525252)}.article code{font-family:var(--font-mono, monospace);font-size:.875em;background:var(--color-surface-sunken, #f3f7fc);padding:.12em .4em;border-radius:5px;color:var(--color-text-primary, #171717)}.crumbs{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--color-text-muted, #7c7c7c);margin-bottom:var(--spacing-300, .75rem)}.crumbs a:hover{color:var(--color-text-primary, #171717)}.meta-row{display:flex;align-items:center;gap:var(--spacing-250, .625rem);flex-wrap:wrap;margin-bottom:var(--spacing-600, 2rem)}.pill{font-size:12.5px;font-weight:500;padding:2px 9px;border-radius:999px;border:1px solid var(--color-border, #dcdcdc);color:var(--color-text-secondary, #525252)}.pill--stable{color:var(--color-success-strong, #1a9b54);border-color:var(--color-success-border);background:var(--color-success-subtle)}.imp{font-family:var(--font-mono, monospace);font-size:13px;color:var(--color-text-muted, #7c7c7c);background:var(--color-surface-sunken, #f3f7fc);padding:4px 10px;border-radius:7px}
