@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.c949a514.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.a3ed597e.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.319fa961.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.323431dc.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.p.0f2c7ba8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.af4fcd24.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.c949a514.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.a3ed597e.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.319fa961.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.323431dc.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.p.0f2c7ba8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.af4fcd24.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.c949a514.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.a3ed597e.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.319fa961.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.323431dc.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.p.0f2c7ba8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.af4fcd24.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.c949a514.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.a3ed597e.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.319fa961.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.323431dc.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.p.0f2c7ba8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.af4fcd24.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.ibm_plex_sans_e2530fcc-module__v7j0yW__className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.ibm_plex_sans_e2530fcc-module__v7j0yW__variable{--font-plex-sans:"IBM Plex Sans","IBM Plex Sans Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.a82ecf4e.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.afa48be3.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.764b43eb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.p.cb53f04b.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.64b9304e.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.6b5ea6af.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.1dcddae6.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.8da66e7f.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.p.e6cd1753.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.19510058.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ff74e33ebd7bca3-s.140490a3.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a69062cfe6f77f8-s.b36ae37c.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9a4838fcda0d1bca-s.bf5f8a12.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2e95a7d252b9825a-s.p.10086973.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/23b7a97ae3b5c134-s.p.2902b61f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/f53f4557ddd9f7a6-s.cc1c4de3.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5256dd17dd2ccf14-s.dad649ff.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fe48c93add1d142c-s.5dae4d58.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5689d89b20a4bd5b-s.p.4a78f533.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a7e15459c1805da0-s.p.ec654d65.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_3af67809-module__Kv8iwa__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_3af67809-module__Kv8iwa__variable{--font-plex-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}
:root{--bg:#0e1016;--surface:#13161d;--panel:#191c24;--panel-2:#21252e;--border:#272b34;--border-strong:#3c414e;--fg:#edeae3;--fg-dim:#969cab;--fg-faint:#6d7483;--accent:#fa862e;--accent-ink:#fca55a;--accent-soft:#fa862e24;--accent-line:#fa862e52;--accent-fg:#0a0e19;--ok:#3fcf87;--dgr:#eb6f74;--dgr-soft:#e74b511f;--t-lin:#49d48f;--t-lin-bg:#45d38c24;--t-lin-bd:#45d38c52;--t-win:#6aadf0;--t-win-bg:#58a3ee26;--t-win-bd:#58a3ee52;--t-net:#ba91f3;--t-net-bg:#a977ee29;--t-net-bd:#a977ee57;--hero-bg:#0a0c12;--hero-fg:#efece6;--hero-dim:#8d94a5;--hero-line:#20242c;--hero-accent:#fa9242;--code-bg:#0e1018;--code-fg:#ebe7e0;--code-dim:#757e95;--code-accent:#fb9a51;--code-ok:#66d69e;--code-border:#1e232f;--font-sans:var(--font-plex-sans),system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-mono:var(--font-plex-mono),ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--bar:58px;--maxw:1180px;--radius:13px;--radius-sm:9px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f7f6f2;--surface:#fdfdfc;--panel:#f2f0eb;--panel-2:#e8e5de;--border:#dedbd3;--border-strong:#c7c2b8;--fg:#161b27;--fg-dim:#575d6b;--fg-faint:#7e8391;--accent:#ed6307;--accent-ink:#bf5108;--accent-soft:#ed63071a;--accent-line:#ed630747;--accent-fg:#fff;--ok:#288657;--dgr:#c31d23;--dgr-soft:#cc1e2414;--t-lin:#1e764a;--t-lin-bg:#2ba1661f;--t-lin-bd:#2ba16652;--t-win:#1666b6;--t-win-bg:#2180de1f;--t-win-bd:#2180de52;--t-net:#6e31c4;--t-net-bg:#844ed021;--t-net-bd:#844ed052;--hero-bg:#10141e;--hero-fg:#f1efe9;--hero-dim:#9ea4b3;--hero-line:#2d323e;--hero-accent:#fa9242;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;letter-spacing:.004em;margin:0;padding:0;font-size:14px;line-height:1.6}[hidden]{display:none!important}img{max-width:100%}a{color:var(--accent-ink);text-decoration:none}a:hover{text-underline-offset:2px;text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::selection{background:var(--accent-soft);color:var(--fg)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong)transparent}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--fg-faint)}.topbar{z-index:40;background:color-mix(in srgb,var(--surface)86%,transparent);-webkit-backdrop-filter:blur(12px)saturate(140%);border-bottom:1px solid var(--border);position:sticky;top:0}.topbar-inner{max-width:var(--maxw);height:var(--bar);padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px));align-items:center;gap:14px;margin:0 auto;display:flex}.brand{color:var(--fg);font-family:var(--font-mono);letter-spacing:-.01em;flex:none;align-items:center;gap:10px;font-size:15px;font-weight:600;display:flex}.brand:hover{text-decoration:none}.mark{background:var(--code-bg);border:1px solid var(--code-border);width:28px;height:28px;color:var(--code-accent);font-family:var(--font-mono);letter-spacing:-1px;border-radius:8px;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.brand .b{color:var(--accent)}.hamb{border:1px solid var(--border);background:var(--panel);width:38px;height:38px;color:var(--fg);border-radius:var(--radius-sm);cursor:pointer;flex:none;justify-content:center;align-items:center;padding:0;display:none}.hamb:hover{border-color:var(--border-strong)}.hamb svg{width:18px;height:18px}.search{flex:auto;align-items:center;min-width:0;max-width:560px;display:flex;position:relative}.search svg{width:15px;height:15px;color:var(--fg-faint);pointer-events:none;position:absolute;left:12px}#q{border:1px solid var(--border);background:var(--panel);width:100%;min-width:0;height:38px;color:var(--fg);font:inherit;font-family:var(--font-mono);border-radius:10px;padding:0 66px 0 35px;font-size:13px}#q::placeholder{color:var(--fg-faint)}#q:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-soft)}#q::-webkit-search-cancel-button{-webkit-appearance:none}.kbd{font-family:var(--font-mono);color:var(--fg-faint);border:1px solid var(--border-strong);background:var(--surface);pointer-events:none;border-radius:6px;padding:1px 7px;font-size:11px;position:absolute;right:10px}.qdrop{background:var(--surface);border:1px solid var(--border-strong);z-index:5;border-radius:12px;max-height:380px;padding:6px;display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto;box-shadow:0 16px 40px -12px #00000059}.qdrop.show{display:block}.qdrop a{color:var(--fg);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;line-height:1.35;display:flex}.qdrop a:hover{background:var(--panel);text-decoration:none}.qdrop a .qt{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.qdrop a .qt .qhit{background:var(--accent-soft);color:var(--accent-ink);border-radius:3px;padding:0 2px}.qdrop a .qs{font-family:var(--font-mono);color:var(--fg-faint);background:var(--panel);white-space:nowrap;border-radius:20px;flex:none;padding:2px 8px;font-size:10px}.qempty{color:var(--fg-faint);text-align:center;padding:16px 10px;font-size:12.5px}.tgl{border:1px solid var(--border);background:var(--panel);width:38px;height:38px;color:var(--fg);border-radius:var(--radius-sm);cursor:pointer;flex:none;place-items:center;padding:0;display:grid}.tgl:hover{border-color:var(--border-strong);color:var(--accent-ink)}.tgl svg{width:17px;height:17px}.tgl .sun{display:block}.tgl .moon{display:none}:root[data-theme=light] .tgl .moon{display:block}:root[data-theme=light] .tgl .sun{display:none}.hero{background:var(--hero-bg);color:var(--hero-fg);border-bottom:1px solid var(--hero-line);position:relative;overflow:hidden}.hero-grid{opacity:.45;background-image:linear-gradient(var(--hero-line)1px,transparent 1px),linear-gradient(90deg,var(--hero-line)1px,transparent 1px);background-size:40px 40px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(85% 75% at 80% -10%,#000 18%,#0000 72%);mask-image:radial-gradient(85% 75% at 80% -10%,#000 18%,#0000 72%)}.hero-inner{max-width:var(--maxw);padding:56px max(18px,env(safe-area-inset-left,0px))48px;padding-right:max(18px,env(safe-area-inset-right,0px));margin:0 auto;position:relative}.hero-eyebrow{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--hero-accent);align-items:center;gap:10px;margin-bottom:18px;font-size:11.5px;display:flex}.hero-eyebrow:before{content:"";background:var(--hero-accent);opacity:.65;width:22px;height:1px}.hero h1{letter-spacing:-.035em;text-wrap:balance;max-width:17ch;margin:0 0 18px;font-size:clamp(32px,5.4vw,52px);font-weight:700;line-height:1.02}.hero h1 em{color:var(--hero-accent);font-style:normal}.hero .lede{color:var(--hero-dim);max-width:64ch;margin:0 0 30px;font-size:16.5px;line-height:1.65}.hero-pills{flex-wrap:wrap;gap:8px;display:flex}.hpill{font-family:var(--font-mono);color:var(--hero-fg);background:color-mix(in srgb,var(--hero-fg)6%,transparent);border:1px solid var(--hero-line);border-radius:9px;align-items:center;gap:8px;padding:7px 13px;font-size:12px;font-weight:500;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.hpill:hover{border-color:var(--hero-accent);color:#fff;background:color-mix(in srgb,var(--hero-accent)15%,transparent);text-decoration:none}.hpill .hn{color:var(--hero-accent);font-weight:700}.layout{max-width:var(--maxw);padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px));grid-template-columns:236px minmax(0,1fr);gap:44px;margin:0 auto;display:grid}.backdrop{display:none}.sidebar{top:calc(var(--bar) + 24px);max-height:calc(100vh - var(--bar) - 48px);scrollbar-width:thin;align-self:start;padding:26px 0 40px;position:sticky;overflow-y:auto}.nav-eye{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--fg-faint);margin-bottom:12px;padding:0 12px;font-size:10.5px}.nav{flex-direction:column;gap:1px;display:flex}.nav-group{flex-direction:column;display:flex}.nav-top{all:unset;box-sizing:border-box;cursor:pointer;width:100%;color:var(--fg-dim);border-radius:9px;align-items:baseline;gap:10px;padding:8px 12px;font-size:13.5px;font-weight:500;line-height:1.3;display:flex;position:relative}.nav-top:hover{background:var(--panel);color:var(--fg)}.nav-top.active{background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.nav-top.active:before{content:"";background:var(--accent);border-radius:2px;width:2.5px;position:absolute;top:7px;bottom:7px;left:1px}.nav-top .n{font-family:var(--font-mono);color:var(--fg-faint);flex:none;font-size:11px}.nav-top.active .n{color:var(--accent-ink)}.nav-top .ct{font-family:var(--font-mono);color:var(--fg-faint);background:var(--panel);border-radius:20px;margin-left:auto;padding:0 8px;font-size:10.5px;line-height:18px}.nav-top:hover .ct{background:var(--panel-2)}.nav-top.active .ct{background:color-mix(in srgb,var(--accent)16%,transparent);color:var(--accent-ink)}.chev{width:13px;height:13px;color:var(--fg-faint);flex:none;align-self:center;transition:transform .2s}.nav-top:hover .chev{color:var(--fg-dim)}.nav-top.active .chev{color:var(--accent-ink)}.nav-group.open .chev{transform:rotate(90deg)}.nav-sub{grid-template-rows:0fr;transition:grid-template-rows .2s;display:grid}.nav-group.open .nav-sub{grid-template-rows:1fr}.nav-sub-inner{flex-direction:column;gap:1px;min-height:0;padding:2px 0 8px 6px;display:flex;overflow:hidden}.nav-sub a{color:var(--fg-faint);border-radius:7px;padding:6px 10px 6px 24px;font-size:12.5px;line-height:1.4;display:block;position:relative}.nav-sub a:hover{background:var(--panel);color:var(--fg);text-decoration:none}.nav-sub a:before{content:"";background:var(--border-strong);border-radius:50%;width:4px;height:4px;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.nav-sub a:hover:before{background:var(--accent)}.side-foot{border-top:1px solid var(--border);color:var(--fg-faint);margin-top:20px;padding:16px 12px 0;font-size:11.5px;line-height:1.7}.side-foot b{color:var(--fg-dim);font-family:var(--font-mono);background:var(--panel);border:1px solid var(--border);border-radius:5px;padding:0 5px;font-size:11px;font-weight:600}main{min-width:0;padding:34px 0 100px}section.sec{scroll-margin-top:calc(var(--bar) + 20px);margin-top:60px}section.sec:first-of-type{margin-top:8px}.sec-head{border-bottom:1px solid var(--border);align-items:baseline;gap:14px;margin-bottom:8px;padding-bottom:14px;display:flex}.sec-head .num{font-family:var(--font-mono);color:var(--accent-ink);flex:none;font-size:13px;font-weight:600}.sec-head .num:before{content:"["}.sec-head .num:after{content:"]"}.sec-head h2{letter-spacing:-.025em;margin:0;font-size:23px;font-weight:700}.sec-intro{color:var(--fg-dim);max-width:72ch;margin:14px 0 26px;font-size:14.5px;line-height:1.6}.tech{margin:26px 0 30px}.tech h3{letter-spacing:-.01em;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 4px;font-size:16px;font-weight:600;display:flex}.tag{font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;border:1px solid #0000;border-radius:6px;padding:2px 8px;font-size:10px;font-weight:600}.tag.lin{color:var(--t-lin);background:var(--t-lin-bg);border-color:var(--t-lin-bd)}.tag.win{color:var(--t-win);background:var(--t-win-bg);border-color:var(--t-win-bd)}.tag.web{color:var(--accent-ink);background:var(--accent-soft);border-color:var(--accent-line)}.tag.net{color:var(--t-net);background:var(--t-net-bg);border-color:var(--t-net-bd)}.tech .note{color:var(--fg-dim);max-width:74ch;margin:0 0 12px;font-size:13.5px;line-height:1.6}.tech :not(pre)>code,.tech .note code{font-family:var(--font-mono);background:var(--panel);border:1px solid var(--border);color:var(--fg);border-radius:5px;padding:1px 5px;font-size:.88em}.tech{scroll-margin-top:calc(var(--bar) + 20px)}.tech.flash{border-radius:12px;animation:1.3s flashhit}@keyframes flashhit{0%{box-shadow:0 0 0 3px var(--accent-soft),inset 0 0 0 1000px var(--accent-soft)}to{box-shadow:0 0 #0000,inset 0 0 0 1000px #0000}}.tech .tb{color:var(--fg-dim);max-width:74ch;margin:0 0 12px;font-size:13.5px;line-height:1.65}.tech .tb b{color:var(--fg);font-weight:600}.tech ul.bl{max-width:74ch;margin:0 0 14px;padding:0;list-style:none}.tech ul.bl li{color:var(--fg-dim);margin:0 0 8px;padding-left:20px;font-size:13.5px;line-height:1.6;position:relative}.tech ul.bl li:before{content:"";background:var(--accent);opacity:.6;border-radius:50%;width:4px;height:4px;position:absolute;top:8px;left:5px}.tech ul.bl li b{color:var(--fg);font-weight:600}.co{border-radius:var(--radius-sm);border:1px solid var(--border);border-left:3px solid var(--border-strong);background:var(--panel);max-width:74ch;margin:14px 0 16px;padding:12px 16px 13px}.co .co-t{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px;font-size:10.5px;font-weight:600}.co .co-t:before{content:"// ";opacity:.7}.co p{color:var(--fg-dim);margin:0;font-size:13.5px;line-height:1.6}.co.info{border-left-color:var(--t-win);background:var(--t-win-bg)}.co.info .co-t{color:var(--t-win)}.co.tip{border-left-color:var(--ok);background:var(--t-lin-bg)}.co.tip .co-t{color:var(--ok)}.co.warn{border-left-color:var(--accent);background:var(--accent-soft)}.co.warn .co-t{color:var(--accent-ink)}.co.danger{border-left-color:var(--dgr);background:var(--dgr-soft)}.co.danger .co-t{color:var(--dgr)}.steps{counter-reset:step;flex-direction:column;gap:16px;max-width:74ch;margin:14px 0 18px;display:flex}.steps .step{padding-left:44px;position:relative}.steps .sn{background:var(--panel);border:1px solid var(--border);width:30px;height:30px;font-family:var(--font-mono);color:var(--accent-ink);border-radius:8px;place-items:center;font-size:11.5px;font-weight:600;display:grid;position:absolute;top:0;left:0}.steps .step:not(:last-child):after{content:"";background:var(--border);width:1px;position:absolute;top:36px;bottom:-10px;left:15px}.steps .st{color:var(--fg);letter-spacing:-.005em;margin:4px 0 3px;font-size:14px;font-weight:600}.steps .sd{color:var(--fg-dim);margin:0;font-size:13.5px;line-height:1.6}.cmd{background:var(--code-bg);border:1px solid var(--code-border);border-radius:var(--radius);margin:0 0 14px;position:relative;overflow:hidden}.cmd pre{scrollbar-width:thin;margin:0;padding:16px;overflow-x:auto}.cmd code{font-family:var(--font-mono);color:var(--code-fg);white-space:pre;tab-size:2;font-size:12.5px;line-height:1.8;display:block}.cmd code .c{color:var(--code-dim)}.cmd code .p{color:var(--code-ok);-webkit-user-select:none;user-select:none;font-weight:600}.copy{font-family:var(--font-mono);color:var(--code-dim);background:color-mix(in srgb,var(--code-bg)70%,#fff 6%);border:1px solid var(--code-border);cursor:pointer;opacity:0;z-index:2;border-radius:8px;padding:4px 11px;font-size:11px;font-weight:500;transition:opacity .14s,color .14s,border-color .14s;position:absolute;top:9px;right:9px}.cmd:hover .copy,.copy:focus-visible{opacity:1}.copy:hover{color:var(--code-accent);border-color:var(--code-accent)}.copy.ok{color:var(--code-ok);border-color:var(--code-ok);opacity:1}@media (hover:none){.copy{opacity:1}}.scroll-x{border:1px solid var(--border);border-radius:var(--radius);margin:6px 0 24px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:360px;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--border);padding:10px 15px}th{font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--fg-dim);background:var(--panel);font-size:11px;font-weight:600}tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--panel)}td code,td .m{font-family:var(--font-mono);color:var(--accent-ink);font-weight:600}td:first-child{font-variant-numeric:tabular-nums}.reslist{grid-template-columns:repeat(auto-fill,minmax(236px,1fr));gap:12px;margin:8px 0 20px;display:grid}.res{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);color:var(--fg);padding:14px 16px;transition:border-color .15s,background .15s,transform .15s;display:block}.res:hover{border-color:var(--accent);background:var(--surface);text-decoration:none;transform:translateY(-2px)}.res .rn{align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.res .rn svg{width:14px;height:14px;color:var(--fg-faint);flex:none}.res:hover .rn svg{color:var(--accent)}.res .rd{color:var(--fg-dim);margin-top:4px;font-size:12.5px;line-height:1.5}.res .ru{font-family:var(--font-mono);color:var(--fg-faint);word-break:break-all;margin-top:8px;font-size:11px}.nores{text-align:center;color:var(--fg-dim);padding:70px 20px;font-size:14.5px;display:none}.nores code{font-family:var(--font-mono);color:var(--accent-ink)}.disc{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);color:var(--fg-dim);max-width:76ch;margin-top:70px;padding:18px 20px;font-size:12.5px;line-height:1.65}.disc b{color:var(--fg)}footer{border-top:1px solid var(--border);margin-top:24px}.foot-inner{max-width:var(--maxw);padding:24px max(18px,env(safe-area-inset-left,0px))calc(32px + env(safe-area-inset-bottom,0px));padding-right:max(18px,env(safe-area-inset-right,0px));color:var(--fg-faint);font-size:12.5px;font-family:var(--font-mono);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 22px;margin:0 auto;display:flex}.cursor-blink{animation:1.1s step-end infinite curblink}@keyframes curblink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.cursor-blink{animation:none}}@media (max-width:900px){.hamb{display:flex}.layout{grid-template-columns:1fr;gap:0}.search{max-width:none}.sidebar{z-index:70;background:var(--surface);border-right:1px solid var(--border);width:min(82vw,300px);max-height:none;padding:calc(var(--bar) + 20px)max(18px,env(safe-area-inset-left,0px))40px;padding-top:24px;transition:transform .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:none;box-shadow:0 0 50px #00000073}.backdrop{z-index:65;opacity:0;pointer-events:none;background:#00000080;transition:opacity .22s;display:block;position:fixed;inset:0}.backdrop.show{opacity:1;pointer-events:auto}.kbd{display:none}.hero-inner{padding-top:40px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sidebar,.backdrop,.copy,.res,.hpill,.nav-sub,.chev{transition:none}.tech.flash{animation:none}}@media print{:root{--bg:#fff;--surface:#fff;--fg:#111;--fg-dim:#333;--panel:#f5f5f5;--border:#bbb}.topbar,.hamb,.tgl,.search,.kbd,.sidebar,.backdrop,.hero-grid,.hero-scan,.copy,.hero-pills{display:none!important}body{color:#111;background:#fff}.hero{color:#111;background:#fff;border-bottom:1px solid #999}.hero-eyebrow,.hero h1 em{color:#111}.layout{max-width:none;display:block}main{padding:0}.cmd{background:#f5f5f5;border:1px solid #bbb}.cmd code{color:#111}.cmd code .c{color:#555}a{color:#111}section.sec{break-inside:avoid;margin-top:26px}.tech{break-inside:avoid}}
