.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}:root{--bg:#f2f2f7;--card:#fff;--text:#000;--muted:#3c3c4399;--faint:#3c3c434d;--line:#e5e5ea;--fill:#7676801f;--bar:#f2f2f7b8;--blue:#007aff;--blue-t:#0040dd;--green:#34c759;--orange:#ff9500;--purple:#af52de;--teal:#30b0c7;--margin:20px;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI Variable Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI Variable Display", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--ease-out:cubic-bezier(.16, 1, .3, 1);--shadow:0 1px 2px #0000000a, 0 8px 24px #0000000f;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#000;--card:#1c1c1e;--text:#fff;--muted:#ebebf599;--faint:#ebebf54d;--line:#38383a;--fill:#7676803d;--bar:#000000a8;--blue:#0a84ff;--blue-t:#409cff;--green:#30d158;--orange:#ff9f0a;--purple:#bf5af2;--teal:#40c8e0;--shadow:none;color-scheme:dark}}:root[data-theme=dark]{--bg:#000;--card:#1c1c1e;--text:#fff;--muted:#ebebf599;--faint:#ebebf54d;--line:#38383a;--fill:#7676803d;--bar:#000000a8;--blue:#0a84ff;--blue-t:#409cff;--green:#30d158;--orange:#ff9f0a;--purple:#bf5af2;--teal:#40c8e0;--shadow:none;color-scheme:dark}@media (width<=420px){:root{--margin:16px}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:17px/1.55 var(--font);-webkit-font-smoothing:antialiased;padding:0 calc(env(safe-area-inset-right,0px) + var(--margin)) calc(env(safe-area-inset-bottom,0px) + 40px) calc(env(safe-area-inset-left,0px) + var(--margin));margin:0;overflow-x:clip}a{color:var(--blue);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}:focus-visible{outline:3px solid color-mix(in srgb, var(--blue) 60%, transparent);outline-offset:3px;border-radius:6px}.wrap{max-width:1040px;margin:0 auto}.section-header{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 4px 10px;font-size:13px;font-weight:500}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.topbar{z-index:50;margin:0 calc(-1 * (env(safe-area-inset-left,0px) + var(--margin)));padding:calc(env(safe-area-inset-top,0px) + 10px) calc(env(safe-area-inset-right,0px) + var(--margin)) 10px calc(env(safe-area-inset-left,0px) + var(--margin));background:var(--bar);backdrop-filter:saturate(180%)blur(20px);border-bottom:.5px solid var(--line);position:sticky;top:0}.topbar .wrap{align-items:center;gap:20px;display:flex}.topbar .home{color:var(--text);margin-right:auto;font-weight:600}.topbar nav{gap:20px;font-size:15px;display:flex}.topbar nav a{color:var(--text);opacity:.8}.topbar nav a:hover{opacity:1;text-decoration:none}.progress{background:var(--blue);transform-origin:0;height:2px;position:absolute;bottom:-.5px;left:0;right:0;transform:scaleX(0)}.theme-toggle{appearance:none;background:var(--fill);width:34px;height:34px;color:var(--text);cursor:pointer;border:0;border-radius:999px;place-items:center;display:grid}.theme-toggle svg{width:18px;height:18px}.theme-toggle .moon,:root[data-theme=dark] .theme-toggle .sun{display:none}:root[data-theme=dark] .theme-toggle .moon{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-toggle .sun{display:none}:root:not([data-theme=light]) .theme-toggle .moon{display:block}}.card{background:var(--card);box-shadow:var(--shadow);border-radius:22px}.js:not(.ready) [data-split]{visibility:hidden}::view-transition-group(*){animation-duration:.6s;animation-timing-function:var(--ease-out)}::view-transition-old(*),::view-transition-new(*){height:100%}:root.theme-vt::view-transition-old(root),:root.theme-vt::view-transition-new(root){mix-blend-mode:normal;animation:none}:root.theme-vt *{view-transition-name:none!important}@media (prefers-reduced-motion:reduce){.js:not(.ready) [data-split]{visibility:visible}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}*,:before,:after{transition-duration:0s!important;animation-duration:0s!important}}
