@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-ext-wght-normal.cHuGMAiY.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-wght-normal.DwHjdM4S.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-greek-wght-normal.ece1310W.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-vietnamese-wght-normal.D-yuW59g.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-ext-wght-normal.CxNHBx-q.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-wght-normal.D9elroTD.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-ext-wght-italic.BXuSHrjR.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-wght-italic.RLIThRd4.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-greek-wght-italic.F2ziEGcb.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-vietnamese-wght-italic.C3q834ic.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-ext-wght-italic.CpkvI5hy.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-wght-italic.D2yaqPoE.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Libre Franklin Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/libre-franklin-cyrillic-ext-wght-normal.BbRulJFC.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Libre Franklin Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/libre-franklin-cyrillic-wght-normal.se3OnFSl.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Libre Franklin Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/libre-franklin-vietnamese-wght-normal.DTJpi3oK.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Libre Franklin Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/libre-franklin-latin-ext-wght-normal.CeZZaleV.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Libre Franklin Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/libre-franklin-latin-wght-normal.CLTz0ja0.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ring-width: 2px;--ring-offset: 2px;--transition-fast: .12s cubic-bezier(.4, 0, .2, 1);--transition: .2s cubic-bezier(.4, 0, .2, 1);--z-header: 100;--z-toc: 50;--z-pop: 600;--z-modal: 800}[data-skin=wiki]{--font-body: -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif;--font-ui: -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif;--font-display: "Linux Libertine", Georgia, "Times New Roman", Times, "Source Serif 4 Variable", serif;--font-mono: "Menlo", Consolas, "Liberation Mono", "Courier New", ui-monospace, monospace;--text-xs: .8125rem;--text-sm: .875rem;--text-ui: .875rem;--text-base: 1rem;--text-md: 1.125rem;--text-lg: 1.25rem;--text-xl: 1.625rem;--text-2xl: 1.75rem;--text-3xl: 1.9375rem;--leading-body: 1.6;--leading-snug: 1.4;--leading-tight: 1.3;--tracking-display: 0;--tracking-eyebrow: .05em;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--measure: 48rem;--space-card: 1rem;--space-section: 1.5rem;--gap-chrome: .5rem;--radius-sm: 2px;--radius-md: 2px;--radius-lg: 2px;--radius-pill: 9999px;--border-w: 1px;--header-h: 56px;--header-h-compact: 48px;--color-canvas: #f8f9fa;--color-surface: #ffffff;--color-surface-sunken: #eaecf0;--color-surface-raised: #ffffff;--color-ink: #202122;--color-ink-muted: #54595d;--color-ink-subtle: #72777d;--color-border: #c8ccd1;--color-border-strong: #a2a9b1;--color-accent: #3366cc;--color-accent-hover: #3056a9;--color-accent-subtle: #eaf3ff;--color-accent-line: #c8d8f7;--color-on-accent: #ffffff;--color-redlink: #d73333;--color-redlink-hover: #b32424;--color-visited: #6a60b0;--color-focus: #3366cc;--color-add-bg: #dff2eb;--color-add-strong: #099979;--color-add-ink: #177860;--color-remove-bg: #ffe9e5;--color-remove-strong: #f54739;--color-remove-ink: #bf3c2c;--color-selection: #cbe3ff;--color-warn-bg: #fdf2d5;--color-warn-ink: #886425;--color-warn-line: #ab7f2a;--shadow-sm: 0 1px 1px rgba(0, 0, 0, .05);--shadow-md: 0 2px 3px rgba(0, 0, 0, .08);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .12);--shadow-pop: 0 2px 6px rgba(0, 0, 0, .12)}[data-skin=wiki][data-theme=dark]{--color-canvas: #101418;--color-surface: #202122;--color-surface-sunken: #27292d;--color-surface-raised: #2b3036;--color-ink: #eaecf0;--color-ink-muted: #a2a9b1;--color-ink-subtle: #72777d;--color-border: #54595d;--color-border-strong: #72777d;--color-accent: #88a3e8;--color-accent-hover: #a6bbf5;--color-accent-subtle: #1b2236;--color-accent-line: #3a4a73;--color-on-accent: #101418;--color-redlink: #fd7865;--color-redlink-hover: #ff9888;--color-visited: #a799cd;--color-focus: #88a3e8;--color-add-bg: #132821;--color-add-strong: #316c57;--color-add-ink: #2cb491;--color-remove-bg: #3c1a13;--color-remove-strong: #7a3d35;--color-remove-ink: #fd7865;--color-selection: #2a3b5e;--color-warn-bg: #2d2212;--color-warn-ink: #ca982e;--color-warn-line: #735822;--shadow-sm: 0 1px 1px rgba(0, 0, 0, .5);--shadow-md: 0 2px 4px rgba(0, 0, 0, .5);--shadow-lg: 0 4px 14px rgba(0, 0, 0, .6);--shadow-pop: 0 2px 8px rgba(0, 0, 0, .6)}[data-skin=wikigit]{--font-body: "Libre Franklin Variable", "Libre Franklin", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-ui: "Libre Franklin Variable", "Libre Franklin", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-display: "Libre Franklin Variable", "Libre Franklin", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono Variable", "JetBrains Mono", "SF Mono", ui-monospace, Menlo, monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-ui: .8125rem;--text-base: 1rem;--text-md: 1.125rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 1.875rem;--text-3xl: 2.125rem;--leading-body: 1.55;--leading-snug: 1.35;--leading-tight: 1.1;--tracking-display: -.005em;--tracking-eyebrow: .06em;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--measure: 48rem;--space-card: 1rem;--space-section: 1.85rem;--gap-chrome: .375rem;--radius-sm: 2px;--radius-md: 2px;--radius-lg: 3px;--radius-pill: 3px;--border-w: 1px;--header-h: 54px;--header-h-compact: 46px;--color-canvas: #f6f7f9;--color-surface: #ffffff;--color-surface-sunken: #eef0f3;--color-surface-raised: #ffffff;--color-ink: #1b1d20;--color-ink-muted: #54595f;--color-ink-subtle: #828990;--color-border: #e1e4e8;--color-border-strong: #c4cacf;--color-accent: #2a55d4;--color-accent-hover: #1d43b0;--color-accent-subtle: #e9eefb;--color-accent-line: #c2d0f6;--color-on-accent: #ffffff;--color-redlink: #c23628;--color-redlink-hover: #9c2a20;--color-visited: #6a30c0;--color-focus: #2a55d4;--color-add-bg: #d9f0df;--color-add-strong: #a7dcb4;--color-add-ink: #14622d;--color-remove-bg: #fbdedc;--color-remove-strong: #f0b6b1;--color-remove-ink: #97241c;--color-selection: #cfdcf8;--color-warn-bg: #fcf1d6;--color-warn-ink: #7a5200;--color-warn-line: #ecd596;--shadow-sm: 0 1px 0 rgba(20, 25, 30, .05);--shadow-md: 0 2px 6px rgba(20, 25, 30, .1);--shadow-lg: 0 8px 24px rgba(20, 25, 30, .16);--shadow-pop: 0 6px 20px rgba(20, 25, 30, .16)}[data-skin=wikigit][data-theme=dark]{--color-canvas: #0f1318;--color-surface: #181c22;--color-surface-sunken: #0a0d11;--color-surface-raised: #1f242b;--color-ink: #e6e9ec;--color-ink-muted: #a4abb3;--color-ink-subtle: #767d85;--color-border: #2a2f37;--color-border-strong: #3a414a;--color-accent: #6f9bff;--color-accent-hover: #93b4ff;--color-accent-subtle: #18213a;--color-accent-line: #2b3654;--color-on-accent: #0d1730;--color-redlink: #f07065;--color-redlink-hover: #f4948b;--color-visited: #ad8df0;--color-focus: #6f9bff;--color-add-bg: #103021;--color-add-strong: #245c3c;--color-add-ink: #7fd49b;--color-remove-bg: #361715;--color-remove-strong: #642b26;--color-remove-ink: #f0a39c;--color-selection: #213253;--color-warn-bg: #2f2510;--color-warn-ink: #e3ba66;--color-warn-line: #4d3d18;--shadow-sm: 0 1px 0 rgba(0, 0, 0, .5);--shadow-md: 0 2px 8px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .6);--shadow-pop: 0 6px 20px rgba(0, 0, 0, .6)}:root{--color-code-bg: var(--color-surface-sunken)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html.ready{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html.ready{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}body{margin:0;background:var(--color-canvas);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-synthesis:none;transition:background var(--transition),color var(--transition)}::selection{background:var(--color-selection)}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:2px}button{font-family:inherit;cursor:pointer}svg{width:1em;height:1em}:focus-visible{outline:var(--ring-width) solid var(--color-focus);outline-offset:var(--ring-offset);border-radius:var(--radius-sm)}textarea:focus-visible,input:focus-visible{outline-offset:0}hr{border:none;border-top:var(--border-w) solid var(--color-border);margin:var(--space-section) 0}.ui{font-family:var(--font-ui)}.mono{font-family:var(--font-mono)}.eyebrow{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-ink-subtle)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:12px;top:-60px;z-index:999;background:var(--color-accent);color:var(--color-on-accent);font-family:var(--font-ui);font-size:var(--text-ui);font-weight:600;padding:10px 16px;border-radius:var(--radius-md);transition:top var(--transition)}.skip-link:focus{top:12px;text-decoration:none}#root{min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column}.prose{color:var(--color-ink)}.prose h1{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-display);margin:0 0 .6em}.prose p{margin:0 0 1.05em}.prose>*:first-child{margin-top:0}.prose .lead-term{font-weight:var(--weight-bold)}.prose .lead p:first-of-type{font-size:var(--text-md);line-height:1.6}.prose h2,.prose h3,.prose h4{font-family:var(--font-display);color:var(--color-ink);line-height:var(--leading-tight);letter-spacing:var(--tracking-display);scroll-margin-top:calc(var(--header-h) + 18px);position:relative}.prose h2{font-size:var(--text-xl);font-weight:var(--weight-bold);margin:var(--space-section) 0 .6em;padding-bottom:.28em;border-bottom:var(--border-w) solid var(--color-border)}.prose h3{font-size:var(--text-lg);font-weight:var(--weight-semibold);margin:2em 0 .5em}.prose h4{font-size:var(--text-md);font-weight:var(--weight-semibold);margin:1.6em 0 .4em}.heading-affordances{display:inline-flex;align-items:center;gap:.65rem;margin-left:.55rem;vertical-align:middle;white-space:nowrap;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500;opacity:0;transform:translate(-4px);transition:opacity var(--transition-fast),transform var(--transition-fast)}.prose h2:hover .heading-affordances,.prose h3:hover .heading-affordances,.prose h2:focus-within .heading-affordances,.prose h3:focus-within .heading-affordances{opacity:1;transform:none}.anchor-link{color:var(--color-ink-subtle);text-decoration:none;font-weight:600}.anchor-link:hover{color:var(--color-accent);text-decoration:none}.section-edit{color:var(--color-accent);background:none;border:none;padding:0;font-size:var(--text-sm);font-family:var(--font-ui)}.section-edit:hover{text-decoration:underline}.prose :is(h2,h3,h4) .anchor-link,.prose :is(h2,h3) .section-edit{opacity:0;transition:opacity var(--transition-fast)}.prose :is(h2,h3,h4):hover .anchor-link,.prose :is(h2,h3,h4):focus-within .anchor-link,.prose :is(h2,h3):hover .section-edit,.prose :is(h2,h3):focus-within .section-edit{opacity:1}.prose :is(h2,h3) .section-edit{margin-left:.55rem;font-size:var(--text-sm);vertical-align:middle}.section-toggle{appearance:none;background:none;border:0;padding:0;margin-right:.45rem;width:.7em;height:.7em;cursor:pointer;color:var(--color-ink-subtle);vertical-align:middle;display:inline-flex;align-items:center;justify-content:center}.section-toggle:before{content:"";width:.42em;height:.42em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-.12em) rotate(45deg);transition:transform var(--transition-fast)}.prose :is(h2,h3,h4).is-collapsed .section-toggle:before{transform:translateY(0) rotate(-45deg)}.section-toggle:hover{color:var(--color-accent)}.prose ul,.prose ol{margin:0 0 1.05em;padding-left:1.5em}.prose li{margin:.3em 0}.prose li::marker{color:var(--color-ink-subtle)}.prose ul li::marker{content:"–  "}.prose blockquote{margin:1.4em 0;padding:.4em 0 .4em 1.15em;border-left:3px solid var(--color-accent-line);color:var(--color-ink-muted);font-style:italic}.prose code{font-family:var(--font-mono);font-size:.86em;background:var(--color-code-bg);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-sm);padding:.1em .38em}.prose pre{background:var(--color-surface-sunken);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-md);padding:1rem 1.15rem;overflow-x:auto;margin:1.3em 0}.prose pre code{background:none;border:none;padding:0;font-size:.82em}.prose pre.mermaid{text-align:center}.prose pre.mermaid[data-processed]{background:none;border:none;padding:0}.prose pre.mermaid svg{width:100%;height:auto}.figure{margin:1.5em 0}.img-placeholder{position:relative;width:100%;border-radius:var(--radius-md);border:var(--border-w) solid var(--color-border);background-color:var(--color-surface-sunken);background-image:repeating-linear-gradient(-45deg,transparent,transparent 9px,color-mix(in oklab,var(--color-border) 60%,transparent) 9px,color-mix(in oklab,var(--color-border) 60%,transparent) 10px);display:flex;align-items:center;justify-content:center}.img-placeholder span{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-ink-subtle);background:var(--color-surface);padding:4px 9px;border-radius:var(--radius-pill);border:var(--border-w) solid var(--color-border)}.figcaption{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-ink-muted);margin-top:.6em;line-height:var(--leading-snug)}.prose figure.figure{margin:1.4em 0;text-align:center}.prose figure.figure img{max-width:100%;height:auto;border-radius:var(--radius-sm)}.prose figure.figure figcaption{margin-top:.5rem;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-ink-muted)}.prose table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:var(--text-sm);font-family:var(--font-ui)}.prose th,.prose td{text-align:left;padding:.5em .7em;border:var(--border-w) solid var(--color-border)}.prose th{background:var(--color-surface-sunken);font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45em;font-family:var(--font-ui);font-size:var(--text-ui);font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;border-radius:var(--radius-md);border:var(--border-w) solid transparent;padding:.62em .95em;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.btn svg{width:1.05em;height:1.05em}.btn-primary{background:var(--color-accent);color:var(--color-on-accent)}.btn-primary:hover{background:var(--color-accent-hover)}.btn-ghost{background:transparent;color:var(--color-ink-muted);border-color:transparent}.btn-ghost:hover{background:var(--color-surface-sunken);color:var(--color-ink)}.btn-outline{background:var(--color-surface);color:var(--color-ink);border-color:var(--color-border-strong)}.btn-outline:hover{background:var(--color-surface-sunken);border-color:var(--color-ink-subtle)}.btn-sm{padding:.45em .7em;font-size:var(--text-sm)}.btn-icon{padding:.5em;width:2.2em;height:2.2em}.btn[disabled]{opacity:.45;cursor:not-allowed}.chip{display:inline-flex;align-items:center;gap:.4em;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500;padding:.3em .7em;border-radius:var(--radius-pill);background:var(--color-surface-sunken);color:var(--color-ink-muted);border:var(--border-w) solid var(--color-border)}.chip-link:hover{background:var(--color-accent-subtle);color:var(--color-accent);border-color:var(--color-accent-line);text-decoration:none}.header{position:sticky;top:0;z-index:var(--z-header);background:color-mix(in oklab,var(--color-surface) 90%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:var(--border-w) solid var(--color-border);transition:height var(--transition),box-shadow var(--transition)}.header.is-stuck{box-shadow:var(--shadow-sm)}.header-inner{height:var(--header-h);transition:height var(--transition);max-width:1320px;margin:0 auto;padding:0 1.25rem;display:flex;align-items:center;gap:1rem}.header.is-stuck .header-inner{height:var(--header-h-compact)}.wordmark{display:inline-flex;align-items:baseline;gap:.05em;white-space:nowrap;font-family:var(--font-ui);font-weight:800;letter-spacing:-.02em;font-size:1.18rem;color:var(--color-ink);text-decoration:none;flex:none}.wordmark:hover{text-decoration:none}.wordmark .wm-accent{color:var(--color-accent)}.wordmark .wm-dot{width:7px;height:7px;border-radius:50%;background:var(--color-accent);display:inline-block;margin-left:2px;transform:translateY(-1px)}.wordmark-sub{font-family:var(--font-ui);font-weight:500;font-size:var(--text-xs);color:var(--color-ink-subtle);letter-spacing:.02em;border-left:var(--border-w) solid var(--color-border);padding-left:.6rem;margin-left:.1rem}.search{position:relative;flex:0 1 540px;max-width:540px;margin-inline:auto}.search-field{display:flex;align-items:center;gap:.55rem;background:var(--color-surface-sunken);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-pill);padding:0 .85rem;height:2.45rem;transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.search.is-open .search-field,.search-field:focus-within{background:var(--color-surface);border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.search-field svg{width:17px;height:17px;color:var(--color-ink-subtle);flex:none}.search-field input{flex:1;border:none;background:none;outline:none;font-family:var(--font-ui);font-size:var(--text-ui);color:var(--color-ink)}.search-field input::placeholder{color:var(--color-ink-subtle)}.search-kbd{font-family:var(--font-mono);font-size:11px;color:var(--color-ink-subtle);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-sm);padding:2px 6px;flex:none}.search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:var(--z-pop);background:var(--color-surface);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;padding:.4rem}.search-result{display:flex;flex-direction:column;gap:1px;width:100%;text-align:left;padding:.55rem .7rem;border-radius:var(--radius-md);border:none;background:none}.search-result:hover,.search-result.is-active{background:var(--color-accent-subtle)}.search-result .sr-title{font-family:var(--font-ui);font-size:var(--text-ui);font-weight:600;color:var(--color-ink)}.search-result.is-missing .sr-title{color:var(--color-redlink)}.search-result .sr-snippet{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-ink-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result .sr-badge{font-family:var(--font-mono);font-size:10px;color:var(--color-redlink)}.search-foot{display:flex;justify-content:space-between;align-items:center;padding:.45rem .7rem .2rem;font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-ink-subtle);border-top:var(--border-w) solid var(--color-border);margin-top:.3rem}.menu-btn{flex:none;color:var(--color-ink-muted)}.menu-btn:hover{background:var(--color-surface-sunken);color:var(--color-ink)}.menu-overlay{position:fixed;inset:0;z-index:var(--z-modal)}.menu-scrim{position:absolute;inset:0;border:none;cursor:default;background:color-mix(in oklab,var(--color-ink) 40%,transparent);animation:menu-fade .16s ease}@keyframes menu-fade{0%{opacity:0}to{opacity:1}}.menu-drawer{position:fixed;top:0;left:0;height:100dvh;width:min(320px,84vw);background:var(--color-surface);border-right:var(--border-w) solid var(--color-border);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:menu-slide .18s cubic-bezier(.2,.8,.2,1)}@keyframes menu-slide{0%{transform:translate(-100%)}to{transform:none}}.menu-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:.7rem .85rem .7rem 1.1rem;border-bottom:var(--border-w) solid var(--color-border)}.menu-drawer-title{font-family:var(--font-ui);font-weight:700;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-ink-subtle)}.menu-links{list-style:none;margin:0;padding:.5rem;overflow-y:auto}.menu-link{display:flex;flex-direction:column;gap:1px;padding:.6rem .7rem;border-radius:var(--radius-md);text-decoration:none}.menu-link:hover{background:var(--color-accent-subtle)}.menu-link-label{font-family:var(--font-ui);font-weight:600;color:var(--color-ink)}.menu-link-desc{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-ink-muted)}.header-actions{display:flex;align-items:center;gap:var(--gap-chrome);flex:none}.seg{display:inline-flex;background:var(--color-surface-sunken);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-pill);padding:2px}.seg button{border:none;background:none;padding:.4em .6em;border-radius:var(--radius-pill);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;color:var(--color-ink-subtle);display:inline-flex;align-items:center;gap:.35em;transition:all var(--transition-fast)}.seg button svg{width:15px;height:15px}.seg button.is-on{background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-sm)}.signin{display:inline-flex;align-items:center;gap:.45em}.avatar{width:26px;height:26px;border-radius:50%;flex:none;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-ui);font-size:11px;font-weight:700;background:var(--color-accent-subtle);color:var(--color-accent);border:var(--border-w) solid var(--color-accent-line)}.page-head{background:var(--color-surface);border-bottom:var(--border-w) solid var(--color-border)}.page-head-inner{max-width:1320px;margin:0 auto;padding:1.4rem 1.25rem 0}.page-head-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.page-title{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-3xl);line-height:1.05;letter-spacing:var(--tracking-display);margin:0;color:var(--color-ink)}.page-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-ink-muted);margin-top:.6rem}.page-meta a{color:var(--color-ink-muted);text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--color-border-strong)}.page-meta a:hover{color:var(--color-accent);text-decoration-color:var(--color-accent)}.page-meta .dot{color:var(--color-border-strong)}.pseudonym{font-family:var(--font-mono);font-size:.92em;color:var(--color-ink);background:var(--color-surface-sunken);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-sm);padding:1px 6px}.langbar{position:relative;flex:none;font-family:var(--font-ui);font-size:var(--text-ui)}.langbar-toggle{display:inline-flex;align-items:center;gap:.45em;cursor:pointer;list-style:none;font-weight:600;color:var(--color-accent);padding:.4em .6em;border-radius:var(--radius-sm);white-space:nowrap}.langbar-toggle::-webkit-details-marker{display:none}.langbar-toggle:hover{background:var(--color-surface-sunken)}.langbar-toggle svg{width:16px;height:16px}.langbar-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:var(--z-pop);min-width:200px;max-height:60vh;overflow:auto;margin:0;padding:.4rem;list-style:none;background:var(--color-surface);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.langbar-menu a{display:block;padding:.4em .6em;border-radius:var(--radius-sm);color:var(--color-ink);text-decoration:none}.langbar-menu a:hover{background:var(--color-surface-sunken);color:var(--color-accent)}.langbar-menu a[aria-current=page]{font-weight:700;color:var(--color-accent)}.langbar-menu a.is-missing{color:var(--color-ink-subtle);display:flex;align-items:center;justify-content:space-between;gap:.6rem}.langbar-add{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-redlink);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-sm);padding:1px 5px}.langbar-sep{margin-top:.3rem;padding:.4em .6em .2em;border-top:var(--border-w) solid var(--color-border);font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-ink-subtle)}.tabbar{display:flex;align-items:flex-end;justify-content:space-between;gap:.25rem 1rem;margin-top:1.1rem;position:relative}.tab-group{display:flex;align-items:flex-end;gap:.25rem}.tabbar:after{content:"";position:absolute;left:0;right:0;bottom:0;height:var(--border-w);background:var(--color-border)}.tab{position:relative;z-index:1;border:none;background:none;font-family:var(--font-ui);font-size:var(--text-ui);font-weight:600;color:var(--color-ink-muted);padding:.7em .95em;border-radius:var(--radius-sm) var(--radius-sm) 0 0;display:inline-flex;align-items:center;gap:.45em;transition:color var(--transition-fast),background var(--transition-fast)}.tab svg{width:15px;height:15px}.tab:hover{color:var(--color-ink);background:var(--color-surface-sunken)}.tab.is-active{color:var(--color-accent)}.tab.is-active:after{content:"";position:absolute;left:.4em;right:.4em;bottom:-1px;height:2.5px;background:var(--color-accent);border-radius:2px}.tab .tab-count{font-family:var(--font-mono);font-size:10px;color:var(--color-ink-subtle)}.page-tools{position:relative}.tab-tools>summary{list-style:none;cursor:pointer}.tab-tools>summary::-webkit-details-marker{display:none}.tab-tools .chev{transition:transform var(--transition-fast)}.tab-tools[open]>summary .chev{transform:rotate(180deg)}.menu{position:absolute;right:0;top:calc(100% + 6px);z-index:var(--z-pop);min-width:230px;background:var(--color-surface);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:.4rem}.menu-label{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-subtle);padding:.5rem .6rem .3rem}.menu-item{display:flex;align-items:center;gap:.65rem;width:100%;text-align:left;border:none;background:none;padding:.5rem .6rem;border-radius:var(--radius-md);font-family:var(--font-ui);font-size:var(--text-ui);color:var(--color-ink)}.menu-item svg{width:16px;height:16px;color:var(--color-ink-subtle);flex:none}.menu-item:hover{background:var(--color-surface-sunken)}.menu-item:hover svg{color:var(--color-accent)}.menu-item .mi-kbd{margin-left:auto;font-family:var(--font-mono);font-size:10px;color:var(--color-ink-subtle)}.menu-sep{height:var(--border-w);background:var(--color-border);margin:.35rem .3rem}.read-grid{width:100%;max-width:1340px;margin:0 auto;padding:1.6rem 1.25rem 3rem;display:grid;gap:2.2rem;grid-template-columns:230px minmax(0,1fr) 260px;align-items:start}.col-toc,.col-info{align-self:stretch}.col-main{min-width:0}.col-main:after{content:"";display:block;clear:both}.col-main .infobox{float:right;width:20rem;max-width:100%;margin:.2rem 0 1.1rem 1.6rem;position:relative;z-index:1}.article{max-width:none}html[data-width=wide] .read-grid{max-width:1680px}html[data-textsize=small]{--reading-scale: .875}html[data-textsize=large]{--reading-scale: 1.125}.article{font-size:calc(var(--text-base) * var(--reading-scale, 1))}.appearance{position:sticky;top:calc(var(--header-h) + 18px);font-family:var(--font-ui);font-size:var(--text-sm)}.appearance .ap-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:.5rem;margin-bottom:.85rem;border-bottom:var(--border-w) solid var(--color-border)}.appearance.is-collapsed .ap-head{border-bottom:0;margin-bottom:0;padding-bottom:0}.appearance .ap-title{font-weight:700;font-size:var(--text-md);color:var(--color-ink)}.appearance .ap-toggle{border:0;background:none;cursor:pointer;color:var(--color-accent);font-family:var(--font-ui);font-size:var(--text-sm)}.appearance .ap-sec{border:0;margin:0 0 1rem;padding:0}.appearance .ap-sec-title{padding:0;margin-bottom:.4rem;font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-subtle)}.appearance .ap-opt{display:flex;align-items:center;gap:.55rem;padding:.22rem 0;cursor:pointer;color:var(--color-ink)}.appearance .ap-opt input{accent-color:var(--color-accent)}.design .design-grid{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:2.4rem;align-items:start}.design-intro h1{margin:0 0 .4rem;font-family:var(--font-display);font-size:var(--text-3xl)}.design-intro p{max-width:var(--measure);color:var(--color-ink-muted);line-height:var(--leading-body)}.design-sec{margin-top:var(--space-section)}.design-sec h2{font-size:var(--text-xl);border-bottom:var(--border-w) solid var(--color-border-strong);padding-bottom:.3rem;margin-bottom:1rem}.design-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.9rem}.design-swatch{display:flex;align-items:center;gap:.7rem}.design-swatch .ds-chip{flex:none;width:2.6rem;height:2.6rem;border:var(--border-w) solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.design-swatch .ds-meta{display:flex;flex-direction:column;min-width:0}.design-swatch .ds-name{font-size:var(--text-sm);color:var(--color-ink)}.design-swatch .ds-role{font-size:var(--text-xs);color:var(--color-ink-subtle)}.design-type-row{display:flex;align-items:baseline;gap:1rem;padding:.35rem 0;border-bottom:var(--border-w) solid var(--color-border)}.design-type-row .dt-sample{flex:1;min-width:0;color:var(--color-ink);line-height:var(--leading-tight)}.design-type-row .dt-sample.dt-font{font-size:var(--text-md)}.design-type-row .dt-meta{flex:none;font-size:var(--text-xs);color:var(--color-ink-subtle)}.design-table{border-collapse:collapse;font-size:var(--text-sm)}.design-table td{padding:.3rem 1.4rem .3rem 0;border-bottom:var(--border-w) solid var(--color-border);color:var(--color-ink-muted)}.design-note{margin-top:var(--space-section);font-size:var(--text-sm);color:var(--color-ink-subtle)}.design-rail{position:sticky;top:calc(var(--header-h) + 18px)}@media(max-width:900px){.design .design-grid{grid-template-columns:minmax(0,1fr)}.design-rail{position:static;order:-1}}.toc{position:sticky;top:calc(var(--header-h) + 18px);font-family:var(--font-ui)}.toc-head{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-ink-subtle);margin-bottom:.7rem}.toc-progress{height:2px;background:var(--color-border);border-radius:2px;margin-bottom:.8rem;overflow:hidden}.toc-progress span{display:block;height:100%;background:var(--color-accent);width:0;transition:width 90ms linear}.toc-list{list-style:none;margin:0;padding:0;border-left:var(--border-w) solid var(--color-border)}.toc-item>a{display:block;padding:.32em 0 .32em .85rem;margin-left:-1px;border-left:2px solid transparent;color:var(--color-ink-muted);font-size:var(--text-sm);line-height:1.35;text-decoration:none;transition:color var(--transition-fast),border-color var(--transition-fast)}.toc-item.lvl-3>a{padding-left:1.6rem;font-size:var(--text-sm)}.toc-item>a:hover{color:var(--color-ink)}.toc-item.is-active>a{color:var(--color-accent);border-left-color:var(--color-accent);font-weight:600}.toc-tools{margin-top:1.1rem;padding-top:.9rem;border-top:var(--border-w) solid var(--color-border);display:flex;flex-direction:column;gap:.2rem}.infobox{background:var(--color-surface);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;font-family:var(--font-ui);position:sticky;top:calc(var(--header-h) + 18px)}.infobox-cap{background:var(--color-surface-sunken);padding:.85rem 1rem;border-bottom:var(--border-w) solid var(--color-border)}.infobox-cap .ib-kicker{font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-ink-subtle)}.infobox-cap .ib-title{font-family:var(--font-display);font-weight:700;font-size:var(--text-md);color:var(--color-ink);margin-top:2px}.infobox-fig{padding:.9rem 1rem 0}.infobox-fig .img-placeholder{height:130px}.infobox dl{margin:0;padding:.6rem 0}.ib-row{display:grid;grid-template-columns:38% 1fr;gap:.4rem .8rem;padding:.5rem 1rem;border-top:var(--border-w) solid var(--color-border)}.ib-row:first-child{border-top:none}.ib-row dt{font-size:var(--text-sm);color:var(--color-ink-subtle);font-weight:600}.ib-row dd{margin:0;font-size:var(--text-sm);color:var(--color-ink)}.ib-row dd .mono{font-size:.92em}.infobox-foot{padding:.7rem 1rem;border-top:var(--border-w) solid var(--color-border);background:var(--color-surface-sunken);font-size:var(--text-xs);color:var(--color-ink-subtle)}.wikilink{color:var(--color-accent);text-decoration:none;border-bottom:1px solid transparent}.wikilink:hover{text-decoration:underline;text-underline-offset:2px}.wikilink.is-red{color:var(--color-redlink)}.wikilink.is-red:hover{color:var(--color-redlink-hover)}.wikilink.ext:after{content:"↗";font-size:.7em;color:var(--color-ink-subtle);margin-left:1px;vertical-align:super}.wikilink.interwiki:after{content:"W";font-size:.62em;font-weight:700;letter-spacing:.02em;color:var(--color-ink-subtle);margin-left:2px;vertical-align:super}.mention{color:var(--color-accent);text-decoration:none;font-weight:500}.mention:hover{text-decoration:underline;text-underline-offset:2px}.mention-anon{font-family:var(--font-mono);font-size:.92em}.preview-card{position:fixed;z-index:var(--z-pop);width:300px;background:var(--color-surface);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);overflow:hidden;font-family:var(--font-ui);animation:pop-in .13s cubic-bezier(.2,.8,.2,1)}@keyframes pop-in{0%{opacity:0;transform:translateY(5px) scale(.985)}to{opacity:1;transform:none}}.preview-thumb{height:96px}.preview-body{display:block;padding:.8rem .95rem .95rem;color:inherit;text-decoration:none}a.preview-body:hover .pv-foot,a.preview-body:focus-visible .pv-foot{color:var(--color-accent)}.preview-body .pv-title{font-family:var(--font-display);font-weight:700;font-size:var(--text-md);color:var(--color-ink)}.preview-body .pv-title.is-red{color:var(--color-redlink);font-family:var(--font-ui)}.preview-body .pv-snip{font-size:var(--text-sm);color:var(--color-ink-muted);line-height:1.5;margin-top:.3rem}.preview-body .pv-foot{display:flex;align-items:center;gap:.5rem;margin-top:.7rem;font-size:var(--text-xs);color:var(--color-ink-subtle)}.preview-redbox{padding:.85rem .95rem}.preview-redbox .pv-redrow{display:flex;align-items:center;gap:.5rem;color:var(--color-redlink);font-weight:600;font-size:var(--text-ui)}.preview-redbox p{margin:.4rem 0 .8rem;font-size:var(--text-sm);color:var(--color-ink-muted);line-height:1.5}.cite-ref{font-family:var(--font-ui);font-size:.72em;vertical-align:super;line-height:0;color:var(--color-accent);cursor:pointer;padding:0 1px;font-weight:600}.cite-ref:before{content:"["}.cite-ref:after{content:"]"}.cite-ref:hover{text-decoration:underline}.cite-tip{position:fixed;z-index:var(--z-pop);width:290px;background:var(--color-surface);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);padding:.75rem .85rem;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-ink-muted);line-height:1.5;animation:pop-in .12s ease}.cite-tip .ct-num{font-weight:700;color:var(--color-ink)}.cite-tip a{word-break:break-word}.references{margin-top:var(--space-section)}.ref-list{list-style:none;counter-reset:ref;margin:0;padding:0;font-family:var(--font-ui);font-size:var(--text-sm)}.ref-list li{counter-increment:ref;display:grid;grid-template-columns:auto 1fr;gap:.6rem;padding:.5rem 0;border-top:var(--border-w) solid var(--color-border);color:var(--color-ink-muted);line-height:1.5}.ref-list li:before{content:counter(ref) ".";color:var(--color-ink-subtle);font-variant-numeric:tabular-nums}.ref-backlink{color:var(--color-accent);font-weight:700;text-decoration:none}.ref-backlink sup{font-style:italic;font-weight:600;margin-left:1px}.ref-target:target{background:var(--color-accent-subtle);border-radius:var(--radius-sm)}.site-footer{margin-top:auto;background:var(--color-surface);border-top:var(--border-w) solid var(--color-border)}.footer-inner{max-width:1320px;margin:0 auto;padding:1.6rem 1.25rem 2.4rem;font-family:var(--font-ui)}.cat-block{display:flex;flex-direction:column;gap:.5rem;padding-bottom:1.1rem;border-bottom:var(--border-w) solid var(--color-border)}.cat-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.cat-row .cat-label{font-size:var(--text-sm);font-weight:700;color:var(--color-ink-subtle);margin-right:.3rem}.cat-row-maint .cat-label{font-weight:600;color:var(--color-ink-muted)}.cat-row-maint .chip{font-style:italic}.footer-bottom{display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between;align-items:flex-start;margin-top:1.2rem}.footer-bottom .fb-license{font-size:var(--text-sm);color:var(--color-ink-muted);max-width:46ch;line-height:1.6}.provenance{display:inline-flex;align-items:center;gap:.5rem;font-size:var(--text-sm);color:var(--color-ink-muted);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-md);padding:.55rem .8rem;background:var(--color-surface-sunken)}.provenance:hover{border-color:var(--color-ink-subtle);text-decoration:none;color:var(--color-ink)}.provenance svg{width:17px;height:17px}.provenance .mono{color:var(--color-ink)}.notice{display:flex;gap:.7rem;align-items:flex-start;font-family:var(--font-ui);border-radius:var(--radius-md);padding:.85rem 1rem;font-size:var(--text-ui);line-height:1.5;border:var(--border-w) solid;margin-bottom:1.1rem}.notice svg{width:18px;height:18px;flex:none;margin-top:1px}.notice-info{background:var(--color-accent-subtle);border-color:var(--color-accent-line);color:var(--color-ink)}.notice-info svg{color:var(--color-accent)}.notice-warn{background:var(--color-warn-bg);border-color:var(--color-warn-line);color:var(--color-ink)}.notice-warn svg{color:var(--color-warn-ink)}.notice strong{font-weight:700}.toast-wrap{position:fixed;bottom:22px;left:50%;transform:translate(-50%);z-index:var(--z-modal);display:flex;flex-direction:column;gap:.5rem;align-items:center}.toast{display:flex;align-items:center;gap:.7rem;font-family:var(--font-ui);font-size:var(--text-ui);background:var(--color-ink);color:var(--color-canvas);padding:.75rem 1.1rem;border-radius:var(--radius-pill);box-shadow:var(--shadow-lg);animation:toast-in .24s cubic-bezier(.2,.9,.2,1)}.toast svg{width:17px;height:17px;color:var(--color-add-strong)}.toast a{color:var(--color-accent);font-weight:700}@keyframes toast-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.category-list{list-style:none;padding:0;margin:0;columns:2;gap:2rem;font-family:var(--font-ui)}.category-list li{padding:.3rem 0;break-inside:avoid}.category-list .sp-count{color:var(--color-ink-subtle);font-size:var(--text-xs);margin-left:.45rem}.cat-section{margin-top:1.6rem}.cat-section h3{font-family:var(--font-ui);font-size:var(--text-lg);margin:0 0 .6rem}.cat-note{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-ink-muted);margin:0 0 1rem}.cat-parents{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.4rem}.props-panel{border:var(--border-w) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);margin-bottom:1.1rem;font-family:var(--font-ui)}.props-panel>summary{list-style:none;cursor:pointer;padding:.7rem 1rem;display:flex;align-items:baseline;gap:.6rem;font-weight:600}.props-panel>summary::-webkit-details-marker{display:none}.props-hint{font-weight:400;font-size:var(--text-sm);color:var(--color-ink-subtle)}.props-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem 1rem;padding:0 1rem 1rem}.props-grid .field-label{display:flex;flex-direction:column;gap:.3rem}.props-grid .props-wide{grid-column:1 / -1}.tier-badge{color:var(--color-ink-muted);text-transform:uppercase;font-size:.78em;letter-spacing:.04em}@media(max-width:700px){.props-grid{grid-template-columns:1fr}}.footer-tools{font-family:var(--font-ui);font-size:var(--text-sm);margin-bottom:.6rem}.rc-contrib{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.9rem;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-ink-muted)}.rc-clear{color:var(--color-accent)}.contribs{margin-top:2rem;border-top:var(--border-w) solid var(--color-border);padding-top:1.2rem}.contribs-tier{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 .9rem;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-ink-muted)}.rc-filters{display:flex;flex-wrap:wrap;gap:1.1rem;margin-bottom:.9rem}.rc-filter{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-ink-muted);cursor:pointer}.rc-list{list-style:none;padding:0;margin:0;font-family:var(--font-ui);font-size:var(--text-sm)}.rc-row{display:grid;grid-template-columns:4.5rem auto 3rem 1fr auto;gap:.65rem;align-items:baseline;padding:.5rem 0;border-top:var(--border-w) solid var(--color-border)}.rc-row.is-reviewed{opacity:.62}.rc-time{color:var(--color-ink-subtle);white-space:nowrap}.rc-pages{font-weight:600}.rc-delta{font-variant-numeric:tabular-nums;font-family:var(--font-mono);text-align:right}.rc-delta.pos{color:var(--color-add-ink)}.rc-delta.neg{color:var(--color-remove-ink)}.rc-author{color:var(--color-ink-muted)}.rc-author.anon{font-family:var(--font-mono);font-size:.88em}.rc-summary{color:var(--color-ink-muted);grid-column:2 / -1}.rc-badge{font-size:.78em;text-transform:uppercase;letter-spacing:.04em;color:var(--color-warn-ink);white-space:nowrap}.rc-badge.reviewed{color:var(--color-ink-subtle)}.rc-patrol{font-size:.85em;white-space:nowrap}.rc-actions{display:flex;gap:.7rem;align-items:baseline;white-space:nowrap}.rc-rollback{font-size:.85em;color:var(--color-remove-ink)}.rc-tag{display:inline-block;margin-left:.4rem;padding:0 .4rem;border-radius:var(--radius-pill);background:var(--color-warn-bg);color:var(--color-warn-ink);font-size:.78em;font-weight:600}.rc-tag.risk{background:var(--color-remove-bg);color:var(--color-remove-ink)}.footer-tools .sep{margin:0 .5rem;color:var(--color-ink-subtle)}.rv-list{list-style:none;padding:0;margin:0;font-family:var(--font-ui)}.rv-item{border-top:var(--border-w) solid var(--color-border)}.rv-row{display:flex;align-items:baseline;gap:.6rem;padding:.6rem 0;flex-wrap:wrap}.rv-page{font-weight:600;white-space:nowrap}.rv-summary{display:flex;align-items:baseline;gap:.6rem;flex:1;min-width:12rem;background:none;border:none;padding:0;cursor:pointer;font:inherit;text-align:left;color:var(--color-ink-muted)}.rv-caret{width:14px;height:14px;flex:none;color:var(--color-ink-subtle);transition:transform var(--transition-fast);align-self:center}.rv-title{color:var(--color-ink);flex:1}.rv-delta{font-family:var(--font-mono);font-size:var(--text-sm);white-space:nowrap}.rv-delta.pos{color:var(--color-add-ink)}.rv-delta.neg{color:var(--color-remove-ink)}.rv-author{font-family:var(--font-mono);font-size:.85em;white-space:nowrap}.rv-time{color:var(--color-ink-subtle);font-size:var(--text-sm);white-space:nowrap}.rv-actions{display:flex;gap:.4rem}.rv-diff{padding:0 0 1rem}@media(max-width:700px){.rc-row{grid-template-columns:auto 1fr auto}.rc-delta,.rc-author{display:none}}.ban-form{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.1rem}.ban-input{flex:1 1 12rem;padding:.35rem .6rem;border:var(--border-w) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);font:inherit;font-size:var(--text-sm)}.ban-list,.audit-list{list-style:none;padding:0;margin:0;font-family:var(--font-ui);font-size:var(--text-sm)}.ban-row{display:grid;grid-template-columns:auto auto 1fr auto auto;gap:.65rem;align-items:baseline;padding:.5rem 0;border-top:var(--border-w) solid var(--color-border)}.ban-key{font-family:var(--font-mono);font-size:.9em}.ban-scope{color:var(--color-ink-subtle);font-size:.85em;text-transform:uppercase;letter-spacing:.03em}.ban-scope.partial{font-family:var(--font-mono);text-transform:none;letter-spacing:0;color:var(--color-warn-ink)}.ban-reason{color:var(--color-ink-muted)}.ban-meta{color:var(--color-ink-subtle);white-space:nowrap}.ban-unblock{font-size:.85em;white-space:nowrap}.audit-row{display:grid;grid-template-columns:4.5rem auto auto 1fr;gap:.65rem;align-items:baseline;padding:.5rem 0;border-top:var(--border-w) solid var(--color-border)}.audit-time{color:var(--color-ink-subtle);white-space:nowrap}.audit-action{font-size:.78em;text-transform:uppercase;letter-spacing:.04em;font-weight:600;color:var(--color-ink-muted)}.audit-action.act-rollback{color:var(--color-remove-ink)}.audit-action.act-ban{color:var(--color-warn-ink)}.audit-target{font-family:var(--font-mono);font-size:.9em}.audit-by{color:var(--color-ink-muted)}.audit-detail{grid-column:2 / -1;color:var(--color-ink-subtle)}.protect-done{font-family:var(--font-ui);color:var(--color-add-ink)}.protect-note{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-ink-subtle)}.np-list{list-style:none;padding:0;margin:0;font-family:var(--font-ui);font-size:var(--text-sm)}.np-row{display:flex;flex-wrap:wrap;gap:.4rem .65rem;align-items:baseline;padding:.5rem 0;border-top:var(--border-w) solid var(--color-border)}.np-page{font-weight:600}.np-row .curation{margin-left:auto}.np-author{color:var(--color-ink-muted)}.np-author.anon{font-family:var(--font-mono);font-size:.88em}.np-time{color:var(--color-ink-subtle);white-space:nowrap}.curation{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem .7rem;font-family:var(--font-ui);font-size:var(--text-sm)}.cur-bar{margin:0 0 1rem;padding:.45rem .7rem;border:var(--border-w) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-sunken)}.cur-label{font-weight:600;color:var(--color-ink-subtle);text-transform:uppercase;letter-spacing:.04em;font-size:.78em}.cur-action{white-space:nowrap}.cur-tagger{display:inline-flex;align-items:baseline;gap:.5rem}.cur-tagmenu{display:inline-flex;flex-wrap:wrap;gap:.5rem;padding-left:.5rem;border-left:var(--border-w) solid var(--color-border)}.cur-tagopt{font-size:.85em}.cur-approve{font-size:.85em;color:var(--color-add-ink)}.cur-rollback,.cur-delete{font-size:.85em;color:var(--color-remove-ink)}.cur-done{color:var(--color-ink-muted);font-style:italic}.hatnote{font-family:var(--font-ui);font-style:italic;color:var(--color-ink-muted);padding:.1rem 0 .6rem 1.4rem;border-bottom:var(--border-w) solid var(--color-border);margin-bottom:1.1rem}.redirect-note{font-family:var(--font-ui);font-size:var(--text-sm);font-style:italic;color:var(--color-ink-muted);margin-bottom:.9rem}.ref-list li p{margin:0}.cite-tip p{margin:0;display:inline}.page-meta-slot{min-height:2rem}.col-main{min-height:50vh}.skeleton{background:linear-gradient(90deg,var(--color-surface-sunken) 25%,color-mix(in oklab,var(--color-border) 70%,transparent) 37%,var(--color-surface-sunken) 63%);background-size:400% 100%;animation:sk-shimmer 1.4s ease infinite;border-radius:var(--radius-sm)}@keyframes sk-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.sk-article{display:flex;flex-direction:column;gap:.8rem;padding-top:.4rem}.sk-bar{height:1.05rem}.meta-skeleton{display:inline-block;width:17rem;max-width:70%;height:.95rem;vertical-align:middle}.wiki-status{color:var(--color-ink-muted);font-style:italic;font-family:var(--font-ui)}.link-btn{background:none;border:none;padding:0;font:inherit;font-family:var(--font-ui);color:var(--color-accent);cursor:pointer}.link-btn:disabled{color:var(--color-ink-subtle);cursor:default}.editor-ok{color:var(--color-add-ink);font-family:var(--font-ui)}.editor-reverted{color:var(--color-remove-ink)}.editor-err{color:var(--color-remove-ink);font-family:var(--font-ui)}.editor-hint{margin-top:.6rem;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-ink-subtle)}.editor-actions{display:flex;gap:.5rem;margin-top:.7rem}.publish-progress{margin-top:.9rem;font-family:var(--font-ui);font-size:var(--text-sm)}.publish-progress-head{display:flex;justify-content:space-between;color:var(--color-ink-subtle);margin-bottom:.35rem}.publish-progress-track{height:6px;border-radius:var(--radius-pill);background:var(--color-border);overflow:hidden}.publish-progress-fill{height:100%;border-radius:var(--radius-pill);background:var(--color-accent);transition:width .4s ease}.discussion{font-family:var(--font-ui)}.discussion-title{font-family:var(--font-display);font-size:var(--text-lg);margin:0 0 1rem}.comment-list{list-style:none;padding:0;margin:0 0 1.25rem}.comment{padding:.75rem 0;border-bottom:var(--border-w) solid var(--color-border)}.comment-meta{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.comment-avatar{width:20px;height:20px;border-radius:50%}.comment-author{font-weight:600}.comment-author.anon{font-weight:500;color:var(--color-ink-muted);font-family:var(--font-mono);font-size:.85em}.comment-date{color:var(--color-ink-muted);font-size:.85em}.comment-body :first-child{margin-top:0}.comment-body :last-child{margin-bottom:0}.comment-input{width:100%;box-sizing:border-box;font:inherit;padding:.65rem;border:var(--border-w) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink)}.talk{font-family:var(--font-ui)}.talk-guidelines{margin-bottom:1.25rem}.thread-meta{font-size:.8em;color:var(--color-ink-muted);margin-bottom:.6rem}.talk-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.talk-head .discussion-title{margin:0}.topic-list{list-style:none;padding:0;margin:0}.topic{border-top:var(--border-w) solid var(--color-border)}.topic-summary{display:flex;align-items:center;gap:.55rem;width:100%;padding:.85rem 0;background:none;border:none;cursor:pointer;text-align:left;font:inherit;color:var(--color-ink)}.topic-caret{width:16px;height:16px;flex:none;color:var(--color-ink-subtle);transition:transform var(--transition-fast)}.topic-title{font-weight:600;font-size:var(--text-md)}.topic-meta{margin-left:auto;color:var(--color-ink-muted);font-size:.8em;white-space:nowrap}.thread{padding:0 0 1rem 1.7rem;animation:pop-in .13s cubic-bezier(.2,.8,.2,1)}.comment-root{padding-top:0;border-bottom:none}.comment-date{text-decoration:none}.comment-date:hover{text-decoration:underline}.comment-actions{margin:.1rem 0 .4rem}.comment-actions .link-btn{font-size:.85em}.reply-list{list-style:none;margin:0;padding-left:1.4rem;border-left:var(--border-w) solid var(--color-border)}.reply .comment{border-bottom:none;padding:.5rem 0 0}.composer{margin:.4rem 0 1rem;display:flex;flex-direction:column;gap:.55rem}.composer .input{width:100%;box-sizing:border-box}.view-wrap{width:100%;max-width:1320px;margin:0 auto;padding:1.6rem 1.25rem 3rem}.edit-help-hint{margin:0 0 1rem;font-size:var(--text-sm);color:var(--color-ink-muted)}.view-head{margin-bottom:1.3rem}.view-head h2{font-family:var(--font-display);font-weight:700;font-size:var(--text-xl);margin:0 0 .25rem;letter-spacing:var(--tracking-display)}.view-head p{font-family:var(--font-ui);font-size:var(--text-ui);color:var(--color-ink-muted);margin:0;max-width:70ch;line-height:1.55}.field-label{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;color:var(--color-ink);display:block;margin-bottom:.4rem}.field-hint{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-ink-subtle);margin-top:.35rem;line-height:1.45}.editor-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.1rem;align-items:start}.editor-pane,.preview-pane{border:var(--border-w) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden;min-height:460px;display:flex;flex-direction:column}.pane-bar{display:flex;align-items:center;gap:.4rem;padding:.45rem .6rem;border-bottom:var(--border-w) solid var(--color-border);background:var(--color-surface-sunken);font-family:var(--font-ui);font-size:var(--text-sm);flex-wrap:wrap}.pane-bar .pane-name{font-weight:700;color:var(--color-ink-subtle);text-transform:uppercase;letter-spacing:.05em;font-size:var(--text-xs);margin-right:auto;padding-left:.3rem}.md-toolbar{display:flex;align-items:center;gap:2px}.md-btn{border:none;background:none;border-radius:var(--radius-sm);padding:.35rem .5rem;color:var(--color-ink-muted);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;display:inline-flex;align-items:center;justify-content:center;min-width:28px}.md-btn svg{width:15px;height:15px}.md-btn:hover{background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-sm)}.md-sep{width:var(--border-w);height:18px;background:var(--color-border);margin:0 3px}.editor-textarea{flex:1;border:none;outline:none;resize:none;background:var(--color-surface);color:var(--color-ink);font-family:var(--font-mono);font-size:var(--text-ui);line-height:1.7;padding:1rem 1.15rem;tab-size:2}.editor-textarea::selection{background:var(--color-selection)}.preview-pane .preview-scroll{padding:1.15rem 1.35rem;overflow-y:auto;flex:1}.preview-pane .prose h2:first-child{margin-top:0}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--color-add-ink);display:inline-block;margin-right:.4rem;animation:blink 1.8s ease-in-out infinite}@keyframes blink{50%{opacity:.35}}.edit-sidebar{display:flex;flex-direction:column;gap:1.1rem}.panel{border:var(--border-w) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:1.1rem}.panel h3{font-family:var(--font-ui);font-size:var(--text-ui);font-weight:700;margin:0 0 .7rem;display:flex;align-items:center;gap:.5rem}.panel h3 svg{width:16px;height:16px;color:var(--color-ink-subtle)}.input,.textarea{width:100%;font-family:var(--font-ui);font-size:var(--text-ui);color:var(--color-ink);background:var(--color-surface);border:var(--border-w) solid var(--color-border-strong);border-radius:var(--radius-md);padding:.6rem .7rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input:focus,.textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.textarea{resize:vertical;min-height:64px;line-height:1.5}.input-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700}.attribution-row{display:flex;align-items:center;gap:.7rem;padding:.65rem .75rem;background:var(--color-surface-sunken);border-radius:var(--radius-md);border:var(--border-w) solid var(--color-border);font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-ink-muted)}.attribution-row .pseudonym{font-size:.95em}.edit-view{padding-top:1.1rem;padding-bottom:2.2rem}.edit-view .edit-help-hint{margin-bottom:.7rem}.edit-view .view-head{margin-bottom:.9rem}.edit-view .props-panel{margin-bottom:.85rem}.edit-view .editor-pane,.edit-view .preview-pane{min-height:clamp(360px,60vh,680px)}.publish-bar{margin-top:1rem;border:var(--border-w) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:.8rem .9rem;display:flex;flex-direction:column;gap:.7rem}.publish-row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem .7rem}.publish-row .input{flex:1 1 18rem}.publish-row .editor-actions{margin:0}.section-edit-host{margin:.6rem 0 1.4rem}.focused-edit{display:flex;flex-direction:column;gap:.7rem}.focused-edit-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.focused-edit-head h3{margin:0;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-ink-subtle)}.focused-edit-head .fe-heading{text-transform:none;letter-spacing:0;color:var(--color-ink)}.fe-whole{font-family:var(--font-ui);font-size:var(--text-sm);white-space:nowrap}.focused-edit .editor-pane{min-height:0}.focused-edit .editor-textarea{padding:.7rem .85rem;min-height:8.5rem}.fe-preview{font-family:var(--font-ui);font-size:var(--text-sm)}.fe-preview>summary{cursor:pointer;color:var(--color-ink-muted);padding:.25rem 0;user-select:none}.fe-preview .preview-scroll{border:var(--border-w) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:.8rem 1rem;margin-top:.4rem;max-height:22rem;overflow-y:auto}.fe-publish{display:flex;flex-direction:column;gap:.7rem}.history-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;margin-bottom:1rem;padding:.7rem .9rem;background:var(--color-surface);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-lg);font-family:var(--font-ui);font-size:var(--text-sm)}.history-toolbar .ht-info{color:var(--color-ink-muted)}.history-toolbar .ht-info b{color:var(--color-ink)}.rev-list{list-style:none;margin:0;padding:0;border:var(--border-w) solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface)}.rev-compare-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;margin-bottom:.6rem}.rev-compare-bar .rcb-hint{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-ink-subtle)}.rev-row{display:grid;grid-template-columns:58px 50px 1fr;gap:.9rem;align-items:center;padding:.7rem 1rem;border-top:var(--border-w) solid var(--color-border);font-family:var(--font-ui);transition:background var(--transition-fast)}.rev-row:first-child{border-top:none}.rev-row:hover{background:var(--color-surface-sunken)}.rev-row:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.rev-row.is-current{background:var(--color-accent-subtle)}.rev-radios{display:flex;gap:.3rem;align-items:center}.rev-radios input{accent-color:var(--color-accent);width:15px;height:15px}.rev-radios .rr-col{width:22px;display:flex;justify-content:center}.rev-main{min-width:0}.rev-line1{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.rev-time{font-weight:600;color:var(--color-ink);font-size:var(--text-ui)}.rev-time:hover{color:var(--color-accent)}.rev-author{display:inline-flex;align-items:center;gap:.4rem;font-size:var(--text-sm);color:var(--color-ink-muted)}.rev-author .avatar{width:19px;height:19px;font-size:9px}.rev-author.is-anon .mono{color:var(--color-ink-muted)}.rev-tag{font-family:var(--font-ui);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:var(--radius-pill)}.rev-permalink{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-ink-subtle)}.rev-permalink:hover{color:var(--color-accent)}.rev-undo{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-accent)}.rev-tag.tag-current{background:var(--color-add-bg);color:var(--color-add-ink)}.rev-tag.tag-pending{background:var(--color-warn-bg);color:var(--color-warn-ink)}.rev-summary{font-size:var(--text-sm);color:var(--color-ink-muted);margin-top:2px}.rev-summary .rs-minor{font-style:italic}.rev-delta{font-family:var(--font-mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums;text-align:right}.rev-delta .pos{color:var(--color-add-ink)}.rev-delta .neg{color:var(--color-remove-ink)}.rev-actions{display:flex;gap:.3rem}.diff-card{border:var(--border-w) solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface);margin-bottom:1.2rem}.diff-head{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.75rem 1rem;background:var(--color-surface-sunken);border-bottom:var(--border-w) solid var(--color-border);font-family:var(--font-ui);font-size:var(--text-sm)}.diff-head .dh-side{display:flex;flex-direction:column;gap:1px}.diff-head .dh-side .dh-rev{font-weight:700;color:var(--color-ink)}a.dh-rev{text-decoration:none}a.dh-rev:hover{color:var(--color-accent);text-decoration:underline}.diff-head .dh-side .dh-meta{color:var(--color-ink-subtle);font-size:var(--text-xs)}.diff-head .dh-arrow{color:var(--color-ink-subtle)}.diff-legend{margin-left:auto;display:flex;gap:.8rem;font-size:var(--text-xs);color:var(--color-ink-muted)}.diff-legend .lg{display:inline-flex;align-items:center;gap:.35rem}.diff-legend .sw{width:11px;height:11px;border-radius:3px}.diff-legend .sw.add{background:var(--color-add-strong)}.diff-legend .sw.del{background:var(--color-remove-strong)}.diff-body{font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.65}.diff-line{display:grid;grid-template-columns:44px 22px 1fr}.diff-line .dl-num{text-align:right;padding:.05rem .55rem;color:var(--color-ink-subtle);background:var(--color-surface-sunken);border-right:var(--border-w) solid var(--color-border);-webkit-user-select:none;user-select:none;font-size:.85em}.diff-line .dl-sign{text-align:center;color:var(--color-ink-subtle);-webkit-user-select:none;user-select:none}.diff-line .dl-text{padding:.05rem .7rem;white-space:pre-wrap;word-break:break-word}.diff-line.add{background:var(--color-add-bg)}.diff-line.add .dl-sign,.diff-line.add .dl-num{color:var(--color-add-ink)}.diff-line.del{background:var(--color-remove-bg)}.diff-line.del .dl-sign,.diff-line.del .dl-num{color:var(--color-remove-ink)}.diff-line .ins{background:var(--color-add-strong);border-radius:2px;padding:0 1px}.diff-line .del-mark{background:var(--color-remove-strong);border-radius:2px;padding:0 1px;text-decoration:line-through}.diff-stats{display:inline-flex;gap:.5rem;font-family:var(--font-mono);font-size:var(--text-xs)}.diff-stats .ds-add{color:var(--color-add-ink)}.diff-stats .ds-del{color:var(--color-remove-ink)}.diff-modes{display:inline-flex;border:var(--border-w) solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.diff-modes .dm-btn{border:0;background:var(--color-surface);color:var(--color-ink-muted);font-family:var(--font-ui);font-size:var(--text-xs);padding:.25rem .6rem;cursor:pointer}.diff-modes .dm-btn.is-active{background:var(--color-accent-subtle);color:var(--color-ink);font-weight:600}.diff-split{font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.65;overflow-x:auto}.diff-split .ds-hunk{padding:.1rem .7rem;color:var(--color-ink-subtle);background:var(--color-surface-sunken);border-block:var(--border-w) solid var(--color-border);white-space:pre-wrap}.diff-split .ds-row{display:grid;grid-template-columns:44px minmax(0,1fr) 44px minmax(0,1fr)}.diff-split .ds-num{text-align:right;padding:.05rem .5rem;color:var(--color-ink-subtle);background:var(--color-surface-sunken);border-right:var(--border-w) solid var(--color-border);-webkit-user-select:none;user-select:none;font-size:.85em}.diff-split .ds-cell{padding:.05rem .7rem;white-space:pre-wrap;word-break:break-word}.diff-split .ds-cell.ds-left{border-right:var(--border-w) solid var(--color-border)}.diff-split .ds-cell.is-empty{background:var(--color-surface-sunken)}.diff-split .ds-row.change .ds-left,.diff-split .ds-row.del .ds-left{background:var(--color-remove-bg)}.diff-split .ds-row.change .ds-right,.diff-split .ds-row.add .ds-right{background:var(--color-add-bg)}.diff-split .ins{background:var(--color-add-strong);border-radius:2px;padding:0 1px}.diff-split .del-mark{background:var(--color-remove-strong);border-radius:2px;padding:0 1px}.diff-foot{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;padding:.7rem 1rem;border-top:var(--border-w) solid var(--color-border);background:var(--color-surface-sunken);font-family:var(--font-ui);font-size:var(--text-sm)}.permalink-box{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-ink-muted);background:var(--color-surface);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-md);padding:.4rem .6rem}.permalink-box .pl-copy{border:var(--border-w) solid var(--color-border);background:var(--color-surface-sunken);color:var(--color-accent);font-family:var(--font-ui);font-size:var(--text-xs);border-radius:var(--radius-sm);padding:.1rem .4rem;cursor:pointer}.diff-line.dl-expand,.diff-split .ds-expand{border:none;width:100%;text-align:left;font:inherit;cursor:pointer;color:var(--color-accent)}.diff-line.dl-expand:hover .dl-text,.diff-split .ds-expand:hover{text-decoration:underline}.diff-line.dl-expand .dl-text,.diff-split .ds-expand{color:var(--color-accent)}.overlay{position:fixed;inset:0;z-index:var(--z-modal);background:color-mix(in oklab,var(--color-ink) 45%,transparent);display:flex;align-items:flex-start;justify-content:center;padding:4vh 1rem;overflow-y:auto;animation:fade .16s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{width:100%;max-width:760px;background:var(--color-surface);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;animation:pop-in .2s cubic-bezier(.2,.8,.2,1)}.modal-wide{max-width:960px}.modal-body .diff-card{margin-bottom:0}.modal-head{display:flex;align-items:flex-start;gap:1rem;padding:1.1rem 1.3rem;border-bottom:var(--border-w) solid var(--color-border)}.modal-head .mh-title{font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);margin:0}.modal-head .mh-sub{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-ink-muted);margin:.2rem 0 0}.modal-head .mh-close{margin-left:auto}.modal-body{padding:1.1rem 1.3rem;max-height:56vh;overflow-y:auto}.modal-foot{display:flex;align-items:center;gap:.7rem;padding:1rem 1.3rem;border-top:var(--border-w) solid var(--color-border);background:var(--color-surface-sunken)}.modal-foot .mf-spacer{margin-left:auto}.move-form .field-label,.cite-result .field-label,.new-form .field-label{display:flex;flex-direction:column;gap:.3rem}.special-tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.1rem;border-bottom:var(--border-w) solid var(--color-border);padding-bottom:.7rem}.special-tabs.admin-tabs{max-width:1320px;margin:0 auto;padding:1.6rem 1.25rem .7rem}.special-tabs .sp-tab{border:var(--border-w) solid var(--color-border);background:var(--color-surface);color:var(--color-ink-muted);font-family:var(--font-ui);font-size:var(--text-sm);padding:.3rem .7rem;border-radius:var(--radius-md);cursor:pointer}.special-tabs .sp-tab.is-active{background:var(--color-accent-subtle);color:var(--color-ink);border-color:var(--color-accent);font-weight:600}.sp-picker{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem;font-family:var(--font-ui);font-size:var(--text-sm)}.sp-picker .input{max-width:22rem}.special-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.sp-subhead{font-family:var(--font-ui);font-size:var(--text-md);color:var(--color-ink-muted);margin:1.6rem 0 .6rem}.special-list li{display:flex;align-items:baseline;gap:.6rem;font-family:var(--font-ui)}.special-list .sp-count{color:var(--color-ink-subtle);font-size:var(--text-xs)}.special-list .sp-arrow{color:var(--color-ink-subtle)}.special-list .sp-badge{font-size:var(--text-xs)}.special-list .sp-broken{color:var(--color-redlink)}.special-list .sp-double{color:var(--color-remove-ink)}.special-tabs .sp-random{margin-left:auto;color:var(--color-accent)}.sp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.8rem 1.5rem;margin:0;font-family:var(--font-ui)}.sp-stats>div{display:flex;flex-direction:column;gap:.15rem;padding-top:.5rem;border-top:var(--border-w) solid var(--color-border)}.sp-stats dt{font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-subtle)}.sp-stats dd{margin:0;font-size:var(--text-lg);font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-ink)}.sp-info-links{margin-top:1.1rem;font-family:var(--font-ui);font-size:var(--text-sm)}.move-form{display:flex;flex-direction:column;gap:.9rem;max-width:32rem}.cite-tool{max-width:42rem}.cite-form{display:flex;gap:.5rem;margin-bottom:1rem}.cite-form .input{flex:1}.cite-result{display:flex;flex-direction:column;gap:.9rem;padding:1rem 1.1rem;border:var(--border-w) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-sunken)}.cite-result h3{margin:.2rem 0;font-size:var(--text-lg)}.cite-kind{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-muted)}.cite-authors{margin:0;font-weight:600}.cite-source{display:flex;gap:.5rem;margin:.1rem 0 0;color:var(--color-ink-muted);font-size:var(--text-sm)}.cite-source span+span:before{content:"·";margin-right:.5rem}.cite-markdown{display:block;padding:.6rem .7rem;border:var(--border-w) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:400;white-space:pre-wrap;word-break:break-word}.new-form{display:flex;flex-direction:column;gap:.9rem;max-width:34rem}.template-picker{display:flex;flex-direction:column;gap:.5rem;margin:0;padding:0;border:0}.template-option{display:flex;align-items:flex-start;gap:.6rem;padding:.6rem .7rem;border:var(--border-w) solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-weight:400}.template-option.is-active{border-color:var(--color-accent);background:var(--color-surface-sunken)}.template-option input{margin-top:.2rem}.template-text{display:flex;flex-direction:column;gap:.1rem}.template-label{font-family:var(--font-ui);font-weight:600}.template-desc{color:var(--color-ink-muted);font-size:var(--text-sm)}.draft-list{margin-top:1.4rem;max-width:34rem}.draft-list h3{margin:0 0 .5rem;font-size:var(--text-sm);color:var(--color-ink-muted)}.draft-list ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.draft-row{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:.2rem .8rem;padding:.5rem .7rem;border:var(--border-w) solid var(--color-border);border-radius:var(--radius-md)}.draft-name{font-weight:600}.draft-meta{grid-column:1;color:var(--color-ink-muted);font-size:var(--text-sm)}.draft-actions{grid-column:2;grid-row:1 / span 2;align-self:center;display:flex;gap:.7rem;white-space:nowrap}.draft-save-row{display:flex;gap:.5rem;align-items:center}.draft-save-row .input{flex:1}.merge-form,.split-form{display:flex;flex-direction:column;gap:.9rem;max-width:34rem}.toc-mobile{display:none}@media(max-width:1080px){.read-grid{grid-template-columns:200px minmax(0,1fr)}.col-info{grid-column:1 / -1;order:3}.col-info .appearance{position:static}.editor-shell{grid-template-columns:minmax(0,1fr)}}@media(max-width:820px){.read-grid{grid-template-columns:minmax(0,1fr);padding-top:1rem}.col-toc{display:none}.toc-mobile{display:block;margin-bottom:1.4rem;border:var(--border-w) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-family:var(--font-ui)}.toc-mobile summary{list-style:none;cursor:pointer;padding:.75rem 1rem;display:flex;align-items:center;gap:.55rem;font-weight:700;font-size:var(--text-ui);color:var(--color-ink)}.toc-mobile summary::-webkit-details-marker{display:none}.toc-mobile summary .chev{margin-left:auto;transition:transform var(--transition-fast)}.toc-mobile[open] summary .chev{transform:rotate(180deg)}.toc-mobile .toc-list{margin:0 1rem 1rem}.col-main .infobox{float:none;width:auto;max-width:var(--measure);margin:0 0 1.5rem}.search-kbd,.wordmark-sub{display:none}.page-title{font-size:var(--text-2xl)}.signin-label{display:none}.view-wrap,.read-grid{padding-left:1rem;padding-right:1rem}}@media(max-width:620px){.header-inner{gap:.6rem;flex-wrap:wrap;height:auto;padding-top:.6rem;padding-bottom:.6rem}.header.is-stuck .header-inner{height:auto}.search{order:3;flex-basis:100%;max-width:none}.tabbar{flex-wrap:wrap;row-gap:.25rem}.tab span.tab-label{display:inline}.rev-row{grid-template-columns:auto 1fr;row-gap:.4rem}.rev-radios{grid-column:1;grid-row:1}.rev-main{grid-column:2;grid-row:1}.rev-delta{grid-column:2;text-align:left}.rev-actions{grid-column:2;grid-row:2}.diff-line{grid-template-columns:30px 18px 1fr}.footer-bottom{flex-direction:column}.seg .seg-label{display:none}}.setup{max-width:40rem}.setup-steps{display:flex;flex-direction:column;gap:1.1rem}.setup-lede,.setup-done{color:var(--color-ink-muted)}.setup-done{font-weight:600;color:var(--color-ink)}.setup-card{display:flex;flex-direction:column;gap:.7rem;padding:1rem 1.1rem;border:var(--border-w) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.setup-step-title{margin:0;font-family:var(--font-ui);font-size:var(--text-md)}.setup-step-sub{margin:0;color:var(--color-ink-muted);font-size:var(--text-sm)}.setup-field{display:flex;flex-direction:column;gap:.3rem}.setup-field-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.setup-value{display:block;width:100%;padding:.5rem .6rem;border:var(--border-w) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-sunken);font-size:var(--text-sm);word-break:break-all}textarea.setup-value{resize:vertical;white-space:pre;word-break:normal;overflow-x:auto}.setup-check{display:flex;align-items:center;gap:.5rem;font-size:var(--text-sm)}.setup-links{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin:0}body{transition:none}html.ready body{transition:background var(--transition),color var(--transition)}
