@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/outfit-latin-ext-wght-normal.DdQaqQDo.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/outfit-latin-wght-normal.Bc-8i84L.woff2)format("woff2-variations");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/jetbrains-mono-latin-400-normal.V6pRDFza.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-400-normal.6-qcROiO.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/jetbrains-mono-latin-500-normal.BWZEU5yA.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-500-normal.CJOVTJB7.woff)format("woff")}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/caveat-latin-600-normal.zlTlWIYU.woff2)format("woff2"),url(/_astro/caveat-latin-600-normal.DUjB8dgm.woff)format("woff")}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/caveat-latin-700-normal.D8_1Nw6V.woff2)format("woff2"),url(/_astro/caveat-latin-700-normal.cPyBTTZN.woff)format("woff")}:root{color-scheme:light;--bg:#f5f4fa;--surface:#fff;--surface2:#efedf7;--ink:#272536;--muted:#68657e;--primary:#5b57d9;--primaryHover:#4a46c8;--primarySoft:#e6e4ff;--primaryInk:#4a46c8;--onPrimary:#fff;--ctaPanel:#18155429;--line:#2725361a;--shadow:0 1px 2px #2725360d, 0 14px 34px -16px #3c348c40;--shadowLg:0 2px 6px #2725360d, 0 50px 100px -40px #3c348c66;--focus:#5b57d9;--rec:#c93a55;--ok:#227a5b;--okSoft:#ddf3e9;--warn:#8a5a00;--warnSoft:#fbebc9;--dim:#1c1b297a;--sketch:#e0533d;--show-moon:block;--show-sun:none;--font-sans:"Outfit Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;--font-hand:"Caveat", "Comic Sans MS", cursive}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#1c1b29;--surface:#262538;--surface2:#2f2d44;--ink:#efedf8;--muted:#a7a4bf;--primary:#b4b1ff;--primaryHover:#c9c7ff;--primarySoft:#36345c;--primaryInk:#c4c2ff;--onPrimary:#1c1b29;--ctaPanel:#1c1b291f;--line:#efedf817;--shadow:0 1px 2px #0000004d, 0 18px 40px -18px #000000b3;--shadowLg:0 2px 8px #0000004d, 0 50px 110px -40px #000000d9;--focus:#b4b1ff;--rec:#ff8a9c;--ok:#76d9ae;--okSoft:#1f3b33;--warn:#f5c977;--warnSoft:#3d3222;--dim:#08080e8c;--sketch:#ff8a6b;--show-moon:none;--show-sun:block}}:root[data-theme=dusk]{color-scheme:dark;--bg:#1c1b29;--surface:#262538;--surface2:#2f2d44;--ink:#efedf8;--muted:#a7a4bf;--primary:#b4b1ff;--primaryHover:#c9c7ff;--primarySoft:#36345c;--primaryInk:#c4c2ff;--onPrimary:#1c1b29;--ctaPanel:#1c1b291f;--line:#efedf817;--shadow:0 1px 2px #0000004d, 0 18px 40px -18px #000000b3;--shadowLg:0 2px 8px #0000004d, 0 50px 110px -40px #000000d9;--focus:#b4b1ff;--rec:#ff8a9c;--ok:#76d9ae;--okSoft:#1f3b33;--warn:#f5c977;--warnSoft:#3d3222;--dim:#08080e8c;--sketch:#ff8a6b;--show-moon:none;--show-sun:block}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:88px}body{background:var(--bg);min-height:100vh;color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.55;overflow-x:clip}a{color:var(--primaryInk)}a:hover{color:var(--ink)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}a:not([class]):focus-visible{border-radius:4px}.wrap{max-width:1200px;margin:0 auto;padding:0 32px}.wrap.narrow{max-width:1040px}.sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:50;background:var(--surface);color:var(--ink);box-shadow:var(--shadow), inset 0 0 0 1px var(--line);border-radius:12px;padding:12px 18px;font-weight:600;position:absolute;top:-100px;left:16px}.skip:focus{top:12px}.mono{font-family:var(--font-mono)}.hand{font-family:var(--font-hand)}html:not(.js) .js-only,:root[data-os=windows] .when-mac,:root:not([data-os=windows]) .when-win{display:none!important}.btn{min-height:48px;font:inherit;cursor:pointer;white-space:nowrap;border:0;border-radius:14px;justify-content:center;align-items:center;gap:10px;padding:0 22px;font-size:16px;font-weight:600;text-decoration:none;transition:background .15s,box-shadow .15s,transform .1s;display:inline-flex}.btn:active{transform:translateY(1px)}a.btn-primary,.btn-primary{background:var(--primary);color:var(--onPrimary);box-shadow:0 10px 24px -10px color-mix(in srgb, var(--primary) 80%, transparent)}a.btn-primary:hover,.btn-primary:hover{background:var(--primaryHover);color:var(--onPrimary)}.btn-primary:active{background:var(--primaryHover);box-shadow:none}a.btn-soft,.btn-soft{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line), var(--shadow)}a.btn-soft:hover,.btn-soft:hover{background:var(--surface2);color:var(--ink)}.btn-sm{border-radius:12px;min-height:44px;padding:0 18px;font-size:15px}.icon-btn{background:var(--surface);width:44px;height:44px;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;border:0;border-radius:12px;flex:none;justify-content:center;align-items:center;transition:background .15s;display:inline-flex}.icon-btn:hover{background:var(--surface2)}a.icon-btn{color:var(--ink)}a.icon-btn[aria-current=page]{background:var(--primarySoft);color:var(--primaryInk)}.theme-toggle .ic-moon{display:var(--show-moon)}.theme-toggle .ic-sun{display:var(--show-sun)}.topbar{z-index:20;background:color-mix(in srgb, var(--bg) 86%, transparent);-webkit-backdrop-filter:blur(12px);position:sticky;top:0}.topbar-in{align-items:center;gap:20px;height:76px;display:flex}.brand{letter-spacing:-.01em;border-radius:10px;align-items:center;gap:10px;font-size:20px;font-weight:650;text-decoration:none;display:flex}a.brand,a.brand:hover{color:var(--ink)}.logo rect{fill:var(--primary)}.logo path{stroke:var(--onPrimary)}.nav-links{align-items:center;gap:2px;margin:0;padding:0;list-style:none;display:flex}.nav-links .nav-link{min-height:44px;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:6px;padding:0 14px;font-size:16px;font-weight:500;text-decoration:none;display:inline-flex}.nav-links .nav-link:hover,.nav-links .nav-link[aria-expanded=true]{color:var(--ink);background:var(--surface2)}.nav-links .nav-link[aria-current=page]{color:var(--ink);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}.nav-link svg{transition:transform .2s}.nav-link[aria-expanded=true] svg{transform:rotate(180deg)}html.js .nojs-only{display:none!important}.topbar-in{position:relative}.mega{z-index:2;background:var(--surface);width:min(760px,100%);box-shadow:var(--shadowLg), inset 0 0 0 1px var(--line);border-radius:24px;grid-template-columns:minmax(0,1fr) 230px;gap:12px;padding:12px;animation:.18s ease-out drop;display:grid;position:absolute;top:calc(100% - 6px);left:min(150px,max(0px,100% - 760px))}.mega[hidden]{display:none}@keyframes drop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.mega-list{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:2px;margin:0;padding:0;list-style:none;display:grid}.mega a.mega-link{color:var(--ink);border-radius:16px;grid-template-columns:40px minmax(0,1fr);align-items:start;gap:12px;padding:12px;text-decoration:none;display:grid}.mega a.mega-link:hover,.mega a.side-link:hover{background:var(--surface2);color:var(--ink)}.mega-link .ic,.mob-sub .ic{background:var(--primarySoft);color:var(--primaryInk);border-radius:12px;flex:none;justify-content:center;align-items:center;display:flex}.mega-link .ic{width:40px;height:40px}.mega-link b{font-size:15.5px;font-weight:600;display:block}.mega-link small{color:var(--muted);margin-top:2px;font-size:13.5px;line-height:1.4;display:block}.mega-side{background:var(--bg);border-radius:18px;flex-direction:column;gap:6px;padding:16px;display:flex}.mega-side h3{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 4px;font-size:12.5px;font-weight:600}.mega a.side-link{min-height:44px;color:var(--ink);border-radius:10px;justify-content:space-between;align-items:center;padding:0 10px;font-size:15px;font-weight:500;text-decoration:none;display:flex}.mega a.news{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);color:var(--muted);border-radius:14px;margin-top:auto;padding:12px 14px;font-size:13.5px;text-decoration:none;display:block}.mega a.news:hover{background:var(--surface2);color:var(--muted)}.news b{color:var(--ink);font-size:14.5px;display:block}.vchip{font-family:var(--font-mono);background:var(--primarySoft);color:var(--primaryInk);border-radius:999px;margin-right:6px;padding:2px 8px;font-size:12px}.top-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.menu-btn{display:none}.mob-menu{overscroll-behavior:contain;background:var(--bg);width:100%;max-width:none;height:100dvh;max-height:none;color:var(--ink);border:0;margin:0;padding:0;position:fixed;inset:0;overflow-y:auto}.mob-menu:popover-open{flex-direction:column;display:flex}.mob-top{border-bottom:1px solid var(--line)}.mob-top-in{justify-content:space-between;align-items:center;height:76px;display:flex}.mob-list{flex-direction:column;gap:2px;width:100%;margin:0 auto;padding-top:12px;padding-bottom:12px;list-style:none;display:flex}.mob-row{width:100%;min-height:52px;font:inherit;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:14px;justify-content:space-between;align-items:center;padding:0 14px;font-size:18px;font-weight:600;text-decoration:none;display:flex}a.mob-row:hover,.mob-row:hover{background:var(--surface2);color:var(--ink)}a.mob-row[aria-current=page]{background:var(--primarySoft);color:var(--primaryInk)}.mob-row svg{color:var(--muted);transition:transform .2s}.mob-sub{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px 6px 10px;display:grid}.mob-sub[hidden]{display:none}.mob-sub a{background:var(--surface);min-height:48px;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line);border-radius:12px;align-items:center;gap:10px;padding:0 10px;font-size:15px;font-weight:500;text-decoration:none;display:flex}.mob-sub a:hover{background:var(--surface2);color:var(--ink)}.mob-sub .ic{border-radius:9px;width:28px;height:28px}.mob-foot{border-top:1px solid var(--line);margin-top:auto}.mob-foot-in{flex-direction:column;gap:12px;width:100%;padding-top:16px;padding-bottom:22px;display:flex}.mob-foot .switch button{flex:1;min-height:44px}.mob-top .brand{min-height:44px}.mob-foot p{color:var(--muted);margin:0;font-size:14px}.mob-foot p b{color:var(--ink)}.mob-foot .btn{width:100%}.foot{padding:72px 0 56px}.foot-in{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:32px;display:flex}.foot-links{flex-wrap:wrap;gap:4px 8px;margin:0;padding:0;list-style:none;display:flex}.foot-links a{min-height:44px;color:var(--muted);border-radius:10px;align-items:center;padding:0 10px;font-weight:500;text-decoration:none;display:inline-flex}.foot-links a:hover{color:var(--ink);background:var(--surface2)}.foot small{color:var(--muted);margin-top:10px;font-size:14px;display:block}.vtag{font-family:var(--font-mono);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);color:var(--muted);border-radius:999px;padding:4px 10px;font-size:13px}.keys{flex-wrap:wrap;align-items:center;gap:6px;display:flex}kbd{font-family:var(--font-mono);background:var(--surface);min-width:34px;height:34px;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line), inset 0 -3px 0 var(--line), 0 1px 2px #0000000f;border-radius:9px;justify-content:center;align-items:center;padding:0 9px;font-size:14px;font-weight:500;display:inline-flex}kbd.sym,.sym{font-family:system-ui,-apple-system,Segoe UI Symbol,sans-serif;font-size:16px}.switch{background:var(--surface2);border-radius:14px;gap:4px;padding:4px;display:flex}.switch button{min-height:40px;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:0 16px;font-size:15px;font-weight:600}.switch button:hover{color:var(--ink)}.switch button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}@media (width<=1100px){.nav-links .nav-link{padding:0 10px}}@media (width<=900px){.main-nav{display:none}.menu-btn{display:inline-flex}html:has(.mob-menu:popover-open){overflow:hidden}}@media (width>=901px){.mob-menu:popover-open{display:none}}@media (width<=720px){.wrap{padding:0 20px}body{font-size:16px}.top-dl{display:none!important}kbd{min-width:30px;height:30px;padding:0 7px;font-size:13px}kbd.sym{font-size:15px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
