:root{color-scheme:light;--fg: #1f2328;--fg-muted: #59636e;--bg: #ffffff;--bg-soft: #f6f8fa;--surface-raised: #ffffff;--border: #d1d9e0;--accent: #2563eb;--accent-soft: #eff6ff;--focus: #1d4ed8;--diagram-bg: #ffffff;--citation-code-bg: var(--bg-soft);--content-w: 880px}@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--fg: #e6edf3;--fg-muted: #9da7b3;--bg: #0d1117;--bg-soft: #161b22;--surface-raised: #111820;--border: #30363d;--accent: #79c0ff;--accent-soft: #13233a;--focus: #a5d6ff}}:root[data-theme=dark]{color-scheme:dark;--fg: #e6edf3;--fg-muted: #9da7b3;--bg: #0d1117;--bg-soft: #161b22;--surface-raised: #111820;--border: #30363d;--accent: #79c0ff;--accent-soft: #13233a;--focus: #a5d6ff}:root[data-theme=light]{color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}body{margin:0;color:var(--fg);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans CJK SC,sans-serif;line-height:1.75}.site-header{border-bottom:1px solid var(--border);padding:.6rem 1.25rem;display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1.5rem;position:sticky;top:0;background:var(--bg);z-index:10}.site-header .brand{font-weight:700;font-size:1.05rem;color:var(--fg);text-decoration:none}.site-header nav{display:flex;flex-wrap:wrap;gap:.9rem}.site-header nav a{color:var(--fg-muted);text-decoration:none;font-size:.9rem}.site-header nav a:hover{color:var(--accent)}.theme-toggle{min-width:44px;min-height:44px;border:1px solid var(--border);border-radius:999px;color:var(--fg);background:var(--bg-soft);display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.35rem .7rem;cursor:pointer;font:inherit;font-size:.85rem}.theme-toggle[hidden]{display:none}.theme-toggle:hover{border-color:var(--accent)}main{max-width:var(--content-w);margin:0 auto;padding:2rem 1.25rem 4rem}.site-footer{border-top:1px solid var(--border);padding:1.25rem;color:var(--fg-muted);font-size:.85rem;max-width:var(--content-w);margin:0 auto}h1{font-size:1.9rem;line-height:1.3;margin:.4rem 0 1.2rem}h2{font-size:1.35rem;margin:2.4rem 0 .8rem;padding-top:.6rem;border-top:1px solid var(--border)}h3{font-size:1.1rem;margin:1.6rem 0 .5rem}p{margin:.7rem 0}a{color:var(--accent)}code{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.88em;background:var(--bg-soft);border:1px solid var(--border);border-radius:4px;padding:.1em .35em;overflow-wrap:anywhere}pre{background:var(--bg-soft);border:1px solid var(--border);border-radius:8px;padding:.9rem 1rem;overflow-x:auto;line-height:1.55}pre code{background:none;border:none;padding:0;font-size:.85rem;overflow-wrap:normal;word-break:normal}blockquote{margin:.9rem 0;padding:.55rem 1rem;border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 6px 6px 0;color:var(--fg);font-size:.92rem;min-width:0;overflow-wrap:anywhere}blockquote p{margin:.25rem 0}blockquote code{background:var(--citation-code-bg)}table{border-collapse:collapse;width:100%;margin:1rem 0;font-size:.92rem;display:block;overflow-x:auto}th,td{border:1px solid var(--border);padding:.5rem .7rem;text-align:left;vertical-align:top}th{background:var(--bg-soft)}.hero{margin-bottom:2rem}.hero .sub{color:var(--fg-muted);font-size:1.05rem}.map-wrap{margin:1.5rem 0;overflow-x:auto}.map{display:block;min-width:720px}.map a rect{fill:var(--surface-raised);stroke:var(--border);stroke-width:1.5;transition:all .15s}.map a:hover rect{fill:var(--accent-soft);stroke:var(--accent)}.map a text{fill:var(--fg);pointer-events:none}.map .map__label{fill:var(--fg)}.map .map__node{fill:var(--surface-raised);stroke:var(--border)}.map .map__muted,.map .map__marker{fill:var(--fg-muted)}.map .arrow{stroke:var(--fg-muted);stroke-width:1.5;fill:none;marker-end:url(#arrowhead)}.map .arrow-label{fill:var(--fg-muted);font-size:11px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin:1.2rem 0}.card{border:1px solid var(--border);border-radius:8px;padding:1rem 1.1rem;background:var(--surface-raised);text-decoration:none;color:var(--fg);display:block}.card:hover{border-color:var(--accent);background:var(--accent-soft)}.card .num{color:var(--accent);font-weight:700;font-size:.85rem}.card .t{font-weight:650;margin:.15rem 0}.card .d{color:var(--fg-muted);font-size:.88rem}.chapter{min-width:0}.chapter>*{max-width:100%}.kicker{color:var(--accent);font-size:.85rem;font-weight:600;letter-spacing:.04em}h1 .zh{color:var(--fg-muted);font-weight:500;font-size:.75em}.diagram{margin:1.4rem 0;min-width:0}.diagram__image{display:block;width:100%;max-width:100%;height:auto;padding:.75rem;border:1px solid var(--border);border-radius:8px;background:var(--diagram-bg)}.diagram figcaption{margin-top:.45rem;color:var(--fg-muted);font-size:.85rem}.diagram__source{margin-top:.55rem;color:var(--fg-muted);font-size:.85rem}.diagram__source summary{cursor:pointer}.diagram__source pre{max-width:100%}.prevnext{display:flex;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.2rem;border-top:1px solid var(--border);font-size:.92rem}#search{--pagefind-ui-primary: var(--accent);--pagefind-ui-text: var(--fg);--pagefind-ui-background: var(--surface-raised);--pagefind-ui-border: var(--border);--pagefind-ui-tag: var(--bg-soft)}@media(prefers-color-scheme:dark){:root:not([data-theme]) .astro-code,:root:not([data-theme]) .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}}:root[data-theme=dark] .astro-code,:root[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}@media(max-width:720px){.site-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.25rem;padding:.55rem 1rem 0}.site-header .brand{grid-column:1;grid-row:1;line-height:2.25rem}.theme-toggle{grid-column:2;grid-row:1}.site-header nav{display:flex;flex-wrap:nowrap;gap:.85rem;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;grid-column:1 / -1;grid-row:2}.site-header nav a{display:inline-flex;flex:0 0 auto;align-items:center;min-height:44px;white-space:nowrap}main{padding:1.5rem 1rem 3rem}.site-footer{padding-inline:1rem}h1{font-size:1.7rem}.cards{grid-template-columns:1fr}.prevnext{flex-wrap:wrap}.prevnext span{flex:1 1 100%}.prevnext span:last-child{text-align:right}}
