.site{--bg:#fbfbfc;--side:#f4f4f6;--panel:#fff;--hover:#f0f1f4;--fg:#1b1d23;--fg-2:#5d6170;--fg-3:#8a8e9b;--line:#e9eaee;--line-2:#dcdee4;--accent:#3e5bdb;--accent-fg:#fff;--accent-soft:#eef1fd;--note:#fdf3c4;--note-fg:#5b4a06;--green:#1f9d55;--amber:#c27c0e;--band:#15161b;--band-2:#0f1013;--band-fg:#d9dbe2;--band-fg-2:#8e92a0;--shadow:0 1px 2px #14161e0a, 0 2px 8px #14161e0a;--font:var(--font-geist), "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:var(--font-geist-mono), "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .site{--bg:#0f1013;--side:#131418;--panel:#17181c;--hover:#1e2026;--fg:#ebecf0;--fg-2:#a1a4ae;--fg-3:#6f7380;--line:#23252b;--line-2:#2e3038;--accent:#7088ff;--accent-fg:#0f1013;--accent-soft:#1d2340;--note:#3a3311;--note-fg:#f3df8a;--green:#3fc382;--amber:#e2a23c;--band:#0a0b0d;--band-2:#060708;--shadow:0 0 0 1px #ffffff05;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark] .site{--bg:#0f1013;--side:#131418;--panel:#17181c;--hover:#1e2026;--fg:#ebecf0;--fg-2:#a1a4ae;--fg-3:#6f7380;--line:#23252b;--line-2:#2e3038;--accent:#7088ff;--accent-fg:#0f1013;--accent-soft:#1d2340;--note:#3a3311;--note-fg:#f3df8a;--green:#3fc382;--amber:#e2a23c;--band:#0a0b0d;--band-2:#060708;--shadow:0 0 0 1px #ffffff05;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body:has(.site){background:#fbfbfc}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) body:has(.site){background:#0f1013}}:root[data-theme=dark] body:has(.site){background:#0f1013}:root[data-theme=light] body:has(.site){background:#fbfbfc}.site{--ease:cubic-bezier(.22, 1, .36, 1);--out:cubic-bezier(.2, .8, .2, 1);background:var(--bg);min-height:100dvh;color:var(--fg);font:400 16px/1.5 var(--font);-webkit-font-smoothing:antialiased;caret-color:var(--accent)}.site *,.site :before,.site :after{box-sizing:border-box}.site ::selection{background:var(--note);color:var(--note-fg)}.site a{color:var(--accent);text-underline-offset:3px;text-decoration:none}.site :focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.site h1,.site h2,.site h3{text-wrap:balance;letter-spacing:-.03em;margin:0;font-weight:600}.site p{text-wrap:pretty;margin:0}.site .wrap{max-width:1184px;padding-left:max(24px, env(safe-area-inset-left,0px));padding-right:max(24px, env(safe-area-inset-right,0px));margin:0 auto}.site .note{background:var(--note);color:var(--note-fg);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:4px;padding:1px 6px}.site code{font:.875em var(--mono);color:var(--fg);background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:1px 6px}.site .skip{z-index:50;background:var(--fg);color:var(--bg);border-radius:8px;padding:8px 12px;font-size:14px;position:absolute;top:-48px;left:16px}.site .skip:focus{top:12px}.site .btn{border:1px solid var(--line-2);background:var(--panel);height:44px;color:var(--fg);font:600 16px/24px var(--font);box-shadow:var(--shadow);white-space:nowrap;cursor:pointer;transition:background-color .2s var(--out), border-color .2s var(--out), transform .16s var(--out), filter .2s var(--out);border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 20px;text-decoration:none;display:inline-flex}.site .btn:hover{background:var(--hover);transform:translateY(-1px)}.site .btn:active{transform:scale(.97)}.site .btn.primary{background:var(--accent);color:var(--accent-fg);border-color:#0000}.site .btn.primary:hover{filter:brightness(1.08)}.site .btn.ghost{box-shadow:none;color:var(--fg-2);background:0 0;border-color:#0000}.site .btn.ghost:hover{background:var(--hover);color:var(--fg);transform:none}.site .btn.sm{border-radius:8px;height:32px;padding:0 12px;font-size:14px;line-height:20px}.site .btn svg{flex:none;width:16px;height:16px}.site .hd{z-index:20;padding:max(12px, env(safe-area-inset-top,0px)) 16px 0;pointer-events:none;position:sticky;top:0}.site .hd .bar{pointer-events:auto;isolation:isolate;align-items:center;gap:24px;max-width:1184px;height:52px;margin:0 auto;padding:0 8px 0 16px;display:flex;position:relative}.site .hd .bar:before{content:"";z-index:-1;border:1px solid color-mix(in srgb, var(--line-2) 70%, transparent);background:color-mix(in srgb, var(--panel) 72%, transparent);-webkit-backdrop-filter:blur(16px)saturate(1.4);border-radius:14px;position:absolute;inset:0;box-shadow:0 1px 2px #14161e0a,0 8px 24px #14161e0f}.site .hd .brand,.site .hd nav,.site .hd .acts>:not(.sheet){z-index:1;position:relative}.site .brand{color:var(--fg);letter-spacing:-.01em;align-items:center;gap:8px;font-weight:600;text-decoration:none;display:inline-flex}.site .mark{background:var(--fg);width:24px;height:24px;color:var(--bg);border-radius:6px;flex:none;place-items:center;display:grid}.site .mark svg{width:14px;height:14px}.site .hd nav{gap:4px;margin-left:auto;font-size:14px;display:flex}.site .hd nav a{color:var(--fg-2);transition:color .2s var(--out), background-color .2s var(--out);border-radius:8px;padding:6px 12px}.site .hd nav a:hover{color:var(--fg);background:var(--hover)}.site .hd .acts{align-items:center;gap:8px;display:flex}.site .menu-btn{width:36px;height:36px;color:var(--fg);cursor:pointer;background:0 0;border:0;border-radius:8px;display:none;position:relative}.site .menu-btn i{height:1.5px;transition:transform .3s var(--ease);background:currentColor;border-radius:2px;position:absolute;left:10px;right:10px}.site .menu-btn i:first-child{transform:translateY(-4px)}.site .menu-btn i:last-child{transform:translateY(4px)}.site .menu-btn[aria-expanded=true] i:first-child{transform:rotate(45deg)}.site .menu-btn[aria-expanded=true] i:last-child{transform:rotate(-45deg)}.site .sheet{z-index:0;background:var(--bg);opacity:0;visibility:hidden;transition:opacity .3s var(--ease), visibility 0s .3s;align-content:start;gap:4px;padding:96px 24px 32px;display:grid;position:fixed;inset:0}.site .sheet.open{opacity:1;visibility:visible;transition:opacity .3s var(--ease)}.site .sheet a{letter-spacing:-.03em;color:var(--fg);border-bottom:1px solid var(--line);opacity:0;transition:opacity .4s var(--ease), transform .4s var(--ease);padding:12px 0;font-size:30px;font-weight:600;line-height:36px;transform:translateY(24px)}.site .sheet.open a{opacity:1;transition-delay:calc(var(--i) * 60ms);transform:none}.site .sheet .btn{letter-spacing:0;border:1px solid #0000;margin-top:24px;padding:0 20px;font-size:16px;line-height:24px}.site .ft{border-top:1px solid var(--line);color:var(--fg-2);padding-block:32px 40px;font-size:14px}.site .ft .wrap{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.site .ft .links{gap:24px;margin-left:auto;display:flex}.site .ft a:not(.brand){color:var(--fg-2);transition:color .2s var(--out)}.site .ft a:not(.brand):hover{color:var(--fg)}.site .prose{max-width:720px;color:var(--fg);margin:0 auto;padding:64px 24px 96px;line-height:1.7}.site .prose h1{letter-spacing:-.035em;margin-bottom:8px;font-size:36px;line-height:40px}.site .prose h1+p{color:var(--fg-3);font-size:14px}.site .prose h2{letter-spacing:-.02em;margin:40px 0 12px;font-size:20px;line-height:28px}.site .prose p{color:var(--fg-2);margin:0 0 16px}.site .prose ul,.site .prose ol{color:var(--fg-2);margin:0 0 16px;padding-left:24px}.site .prose li{margin:4px 0}.site .prose b,.site .prose strong{color:var(--fg);font-weight:500}.site .prose a:hover{text-decoration:underline}.site .solo{text-align:center;place-items:center;min-height:calc(100vh - 160px);padding:48px 24px;display:grid}.site .solo h1{letter-spacing:-.03em;font-size:30px;line-height:36px}.site .solo p{color:var(--fg-2);margin:8px 0 24px}.site .solo .cta{justify-content:center;gap:12px;display:flex}@media (max-width:860px){.site .hd nav,.site .hd .acts>.ghost,.site .hd .acts>.primary{display:none}.site .hd .acts{margin-left:auto}.site .menu-btn{display:block}}@media (min-width:861px){.site .sheet{display:none}}@media (max-width:600px){.site .ft .links{margin-left:0}}@media (prefers-reduced-motion:reduce){.site *,.site :before,.site :after{transition-duration:.01ms!important;animation:none!important}}
