:root{--bg:#f7f6f3;--surface-raised:#fdfcfa;--surface-soft:#f3f1ec;--surface-dim:#ece9e3;--btn-surface:#fdfcfa;--text:#16161a;--text-muted:#4c4b52;--text-subtle:#8a8890;--border:#e3e0da;--border-strong:#cfcac1;--ink:#16161a;--ink-hover:#33333a;--accent:#2b4fd8;--accent-strong:#2346c4;--accent-fg:#fff;--accent-faint:#7396ec;--accent-wash:#2b4fd812;--accent-border:#2b4fd859;--ok:#15803d;--wash-yellow:#fff0bd;--wash-blue:#e3f0ff;--wash-pink:#f3dded;--wash-green:#e4efdc;--frame-bg:#fdfcfa;--frame-border:#e3e0da;--frame-text:#2c2c33;--frame-muted:#6e6d76;--frame-subtle:#9a989f;--frame-line:#e3e0da;--frame-cap:#f7f6f3;--frame-bright:#16161a;--frame-blue:#2b4fd8;--frame-green:#3c8a59;--frame-amber:#ad8226;--frame-cyan:#3793b8;--frame-pink:#c2538c;--astro-code-color-text:#2c2c33;--astro-code-color-background:#fdfcfa;--astro-code-token-constant:#2b4fd8;--astro-code-token-string:#3c7a51;--astro-code-token-comment:#a7a299;--astro-code-token-keyword:#2b4fd8;--astro-code-token-parameter:#2c2c33;--astro-code-token-function:#b0457c;--astro-code-token-string-expression:#3c7a51;--astro-code-token-punctuation:#97939b;--astro-code-token-link:#3c7a51;--font-sans:"General Sans", "Helvetica Neue", Arial, sans-serif;--font-brand:"Instrument Sans", "Helvetica Neue", Arial, sans-serif;--font-mono:"Geist Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--font-serif:"Newsreader", Georgia, "Times New Roman", serif;--frame:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='48' viewBox='0 0 120 48'%3E%3Cpath d='M3,6 L35,5 L73,5 L90,4 L115,4 L116,14 L116,43 L115,44 L96,44 L78,44 L68,45 L18,44 L4,45 L2,5 L30,4 L30,3 L1,3 L1,23 L3,46 L51,46 L68,46 L78,45 L96,46 L116,46 L118,44 L117,14 L117,4 L115,3 L90,2 L73,3 L65,3 L48,3 L35,3 L3,4 Z' fill='%2316161a'/%3E%3Ccircle cx='3' cy='5' r='0.9' fill='%2316161a'/%3E%3Ccircle cx='30' cy='3' r='1.0' fill='%2316161a'/%3E%3Ccircle cx='115' cy='3' r='0.9' fill='%2316161a'/%3E%3Ccircle cx='116' cy='4' r='0.9' fill='%2316161a'/%3E%3Ccircle cx='117' cy='44' r='0.9' fill='%2316161a'/%3E%3Ccircle cx='116' cy='45' r='0.9' fill='%2316161a'/%3E%3Ccircle cx='6' cy='45' r='0.9' fill='%2316161a'/%3E%3Ccircle cx='3' cy='46' r='0.9' fill='%2316161a'/%3E%3Ccircle cx='3' cy='43' r='0.9' fill='%2316161a'/%3E%3Ccircle cx='2' cy='6' r='0.9' fill='%2316161a'/%3E%3Ccircle cx='2' cy='4' r='0.9' fill='%2316161a'/%3E%3Ccircle cx='5' cy='4' r='0.9' fill='%2316161a'/%3E%3C/svg%3E");--frame-solid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='48' viewBox='0 0 120 48'%3E%3Cpath d='M3,5 L35,4 L73,4 L90,3 L110,3 L115,3 L116,4 L117,14 L117,44 L116,45 L96,45 L78,44 L68,45 L51,45 L3,46 L3,31 L2,23 L2,4 Z' fill='%2316161a'/%3E%3Cpath d='M3,6 L35,5 L73,5 L90,4 L115,4 L116,14 L116,43 L115,44 L96,44 L78,44 L68,45 L18,44 L4,45 L2,5 L30,4 L30,3 L1,3 L1,23 L3,46 L51,46 L68,46 L78,45 L96,46 L116,46 L118,44 L117,14 L117,4 L115,3 L90,2 L73,3 L65,3 L48,3 L35,3 L3,4 Z' fill='%2316161a'/%3E%3Ccircle cx='3' cy='5' r='0.9' fill='%2316161a'/%3E%3Ccircle cx='30' cy='3' r='1.0' fill='%2316161a'/%3E%3Ccircle cx='115' cy='3' r='0.9' fill='%2316161a'/%3E%3Ccircle cx='116' cy='4' r='0.9' fill='%2316161a'/%3E%3Ccircle cx='117' cy='44' r='0.9' fill='%2316161a'/%3E%3Ccircle cx='116' cy='45' r='0.9' fill='%2316161a'/%3E%3Ccircle cx='6' cy='45' r='0.9' fill='%2316161a'/%3E%3Ccircle cx='3' cy='46' r='0.9' fill='%2316161a'/%3E%3Ccircle cx='3' cy='43' r='0.9' fill='%2316161a'/%3E%3Ccircle cx='2' cy='6' r='0.9' fill='%2316161a'/%3E%3Ccircle cx='2' cy='4' r='0.9' fill='%2316161a'/%3E%3Ccircle cx='5' cy='4' r='0.9' fill='%2316161a'/%3E%3C/svg%3E");--frame-light:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='48' viewBox='0 0 120 48'%3E%3Cpath d='M3,6 L35,4 L73,5 L90,4 L115,4 L116,14 L116,44 L115,44 L96,45 L78,44 L68,45 L18,44 L4,45 L2,5 L30,4 L30,3 L1,3 L1,23 L3,46 L51,46 L68,46 L78,45 L96,46 L116,46 L117,44 L117,14 L116,4 L115,3 L90,2 L73,3 L65,3 L48,3 L35,3 L3,4 Z' fill='%23cfcac1'/%3E%3Ccircle cx='3' cy='5' r='0.8' fill='%23cfcac1'/%3E%3Ccircle cx='30' cy='3' r='0.8' fill='%23cfcac1'/%3E%3Ccircle cx='115' cy='3' r='0.8' fill='%23cfcac1'/%3E%3Ccircle cx='116' cy='4' r='0.8' fill='%23cfcac1'/%3E%3Ccircle cx='117' cy='44' r='0.8' fill='%23cfcac1'/%3E%3Ccircle cx='116' cy='45' r='0.8' fill='%23cfcac1'/%3E%3Ccircle cx='6' cy='45' r='0.8' fill='%23cfcac1'/%3E%3Ccircle cx='3' cy='46' r='0.8' fill='%23cfcac1'/%3E%3Ccircle cx='3' cy='43' r='0.8' fill='%23cfcac1'/%3E%3Ccircle cx='2' cy='6' r='0.8' fill='%23cfcac1'/%3E%3Ccircle cx='2' cy='4' r='0.8' fill='%23cfcac1'/%3E%3Ccircle cx='5' cy='4' r='0.8' fill='%23cfcac1'/%3E%3C/svg%3E");--frame-hover:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='48' viewBox='0 0 120 48'%3E%3Cpath d='M3,5 L35,4 L73,4 L90,3 L110,3 L115,3 L116,4 L117,14 L117,44 L116,45 L96,45 L78,44 L68,45 L51,45 L3,46 L3,31 L2,23 L2,4 Z' fill='%23ebe8e2'/%3E%3Cpath d='M3,6 L35,5 L73,5 L90,4 L115,4 L116,14 L116,43 L115,44 L96,44 L78,44 L68,45 L18,44 L4,45 L2,5 L30,4 L30,3 L1,3 L1,23 L3,46 L51,46 L68,46 L78,45 L96,46 L116,46 L118,44 L117,14 L117,4 L115,3 L90,2 L73,3 L65,3 L48,3 L35,3 L3,4 Z' fill='%2316161a'/%3E%3Ccircle cx='3' cy='5' r='0.9' fill='%2316161a'/%3E%3Ccircle cx='30' cy='3' r='1.0' fill='%2316161a'/%3E%3Ccircle cx='115' cy='3' r='0.9' fill='%2316161a'/%3E%3Ccircle cx='116' cy='4' r='0.9' fill='%2316161a'/%3E%3Ccircle cx='117' cy='44' r='0.9' fill='%2316161a'/%3E%3Ccircle cx='116' cy='45' r='0.9' fill='%2316161a'/%3E%3Ccircle cx='6' cy='45' r='0.9' fill='%2316161a'/%3E%3Ccircle cx='3' cy='46' r='0.9' fill='%2316161a'/%3E%3Ccircle cx='3' cy='43' r='0.9' fill='%2316161a'/%3E%3Ccircle cx='2' cy='6' r='0.9' fill='%2316161a'/%3E%3Ccircle cx='2' cy='4' r='0.9' fill='%2316161a'/%3E%3Ccircle cx='5' cy='4' r='0.9' fill='%2316161a'/%3E%3C/svg%3E");--hand-card:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='48' viewBox='0 0 120 48'%3E%3Cpath d='M4,45 L3,38 L4,20 L3,5 L5,4 L17,5 L50,4 L87,3 L117,3 L118,46 L116,46 L108,46 L85,46 L78,45 L53,46 L3,45 Z' fill='%23fdfcfa'/%3E%3Cpath d='M4,45 L4,38 L4,20 L4,5 L5,5 L17,6 L50,5 L89,4 L102,4 L117,4 L118,45 L85,46 L78,45 L53,45 L21,44 L16,44 L4,44 L4,18 L3,18 L3,45 L53,47 L78,46 L85,47 L108,46 L116,47 L119,46 L119,43 L118,5 L118,3 L87,2 L49,4 L4,3 L2,5 L3,20 L2,38 L3,45 Z' fill='%23cfcac1'/%3E%3Ccircle cx='4' cy='45' r='0.8' fill='%23cfcac1'/%3E%3Ccircle cx='4' cy='18' r='0.8' fill='%23cfcac1'/%3E%3Ccircle cx='3' cy='8' r='0.8' fill='%23cfcac1'/%3E%3Ccircle cx='3' cy='5' r='0.8' fill='%23cfcac1'/%3E%3Ccircle cx='5' cy='4' r='0.8' fill='%23cfcac1'/%3E%3Ccircle cx='115' cy='3' r='0.8' fill='%23cfcac1'/%3E%3Ccircle cx='117' cy='3' r='0.8' fill='%23cfcac1'/%3E%3Ccircle cx='118' cy='5' r='0.8' fill='%23cfcac1'/%3E%3Ccircle cx='118' cy='43' r='0.8' fill='%23cfcac1'/%3E%3Ccircle cx='118' cy='46' r='0.8' fill='%23cfcac1'/%3E%3Ccircle cx='116' cy='46' r='0.8' fill='%23cfcac1'/%3E%3Ccircle cx='5' cy='45' r='0.8' fill='%23cfcac1'/%3E%3Ccircle cx='3' cy='45' r='0.8' fill='%23cfcac1'/%3E%3Ccircle cx='3' cy='43' r='0.8' fill='%23cfcac1'/%3E%3C/svg%3E");--hand-rule:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='8' viewBox='0 0 600 8' preserveAspectRatio='none'%3E%3Cpath d='M3,6 L50,6 L58,5 L68,6 L98,4 L108,5 L138,5 L170,4 L185,5 L210,4 L218,5 L235,5 L243,4 L273,5 L283,4 L298,4 L308,5 L323,4 L330,5 L338,4 L355,5 L363,4 L378,5 L388,4 L465,6 L505,5 L530,6 L578,6 L599,6 L599,5 L578,4 L563,5 L548,4 L535,5 L505,4 L465,4 L403,3 L385,3 L378,4 L363,3 L353,4 L338,3 L330,4 L323,3 L308,4 L298,3 L283,3 L273,4 L243,3 L220,4 L210,3 L185,3 L170,3 L123,4 L105,4 L98,3 L68,4 L58,4 L50,5 L35,4 L3,5 Z' fill='%23cfcac1'/%3E%3Ccircle cx='3' cy='5' r='0.8' fill='%23cfcac1'/%3E%3Ccircle cx='599' cy='5' r='0.8' fill='%23cfcac1'/%3E%3C/svg%3E");--hand-rule-v:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='200' viewBox='0 0 8 200' preserveAspectRatio='none'%3E%3Cpath d='M3,1 L1,33 L1,71 L2,88 L2,96 L3,111 L5,121 L5,136 L6,143 L4,191 L2,199 L4,199 L5,191 L7,143 L6,136 L6,118 L5,111 L4,96 L4,88 L2,71 L2,26 L4,1 Z' fill='%23cfcac1'/%3E%3Ccircle cx='4' cy='1' r='0.8' fill='%23cfcac1'/%3E%3Ccircle cx='3' cy='199' r='0.8' fill='%23cfcac1'/%3E%3C/svg%3E");--hand-rule-faint:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='8' viewBox='0 0 400 8' preserveAspectRatio='none'%3E%3Cpath d='M1,3 L54,4 L91,2 L109,2 L119,3 L171,3 L181,4 L251,5 L261,7 L279,6 L289,7 L296,6 L324,6 L351,5 L359,6 L399,6 L398,5 L359,5 L351,4 L331,4 L324,5 L296,4 L289,5 L279,5 L261,5 L251,4 L181,3 L171,2 L116,2 L109,1 L89,1 L54,3 L1,2 Z' fill='%23e3e0da'/%3E%3Ccircle cx='1' cy='3' r='0.7' fill='%23e3e0da'/%3E%3Ccircle cx='398' cy='5' r='0.7' fill='%23e3e0da'/%3E%3C/svg%3E");--radius-btn:0;--radius-card:0;--max-w:1100px;--nav-h:56px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{color-scheme:light;scroll-behavior:smooth;scrollbar-gutter:stable;scrollbar-color:#cfcac1 #f7f6f3;background:#f7f6f3}body{background-color:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.9375rem;font-weight:400;line-height:1.5}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::selection{color:var(--ink);background:#cfe4fb}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}pre::-webkit-scrollbar{height:8px}pre::-webkit-scrollbar-thumb{background:var(--border-strong)}pre::-webkit-scrollbar-track{background:0 0}html::-webkit-scrollbar{width:12px}html::-webkit-scrollbar-track{background:#f7f6f3}html::-webkit-scrollbar-thumb{background:#cfcac1;border:3px solid #f7f6f3;border-radius:999px}html::-webkit-scrollbar-thumb:hover{background:#aaa9a6}.headline{font-family:var(--font-sans);letter-spacing:-.018em;color:var(--text);text-wrap:balance;font-weight:500;line-height:1.12}.headline .faint{letter-spacing:-.025em;color:var(--text-muted);font-weight:400}.btn{border-radius:var(--radius-btn);height:40px;font-family:var(--font-sans);letter-spacing:0;cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:.4rem;padding:0 1.1rem;font-size:.875rem;font-weight:500;transition:opacity .12s ease-out;display:inline-flex}.btn-light{color:var(--text);border:1px solid #0000;border-image:var(--frame) 8 / 8px stretch}.btn-light:hover,.btn-light:active{border-image:var(--frame-hover) 8 fill / 8px stretch}.btn-dark{color:#fff;border:1px solid #0000;border-image:var(--frame-solid) 8 fill / 8px stretch}.btn-dark:hover,.btn-dark:active{opacity:.88}@media (forced-colors:active){.btn-light,.btn-light:hover,.btn-light:active,.btn-dark{border-color:buttontext;border-image-source:none!important}}.btn-sm{height:30px;padding:0 .75rem;font-size:.8125rem}.panel{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-card)}.panel-screen{background:var(--frame-bg);border:1px solid var(--frame-border);color:var(--frame-text)}.code-cap{border-bottom:1px solid var(--border);font-family:var(--font-mono);color:var(--text-muted);justify-content:space-between;align-items:center;gap:1rem;padding:.55rem 1.1rem;font-size:.71rem;display:flex}.code-cap>span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.code-cap .cap-meta{color:var(--text-subtle)}.panel-screen .code-cap{background:var(--frame-cap);border-bottom:1px solid var(--frame-line);color:var(--frame-muted)}.panel-screen .code-cap .cap-meta{color:var(--frame-subtle)}.chip{font-family:var(--font-mono);letter-spacing:.02em;color:var(--text-muted);background:var(--surface-dim);border:0;border-radius:0;align-items:center;gap:.3rem;padding:.1rem .45rem;font-size:.6875rem;font-weight:500;display:inline-flex}.chip-warm{color:var(--accent);background:var(--surface-raised)}.site-header{z-index:100;height:var(--nav-h);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px)saturate(1.05);background:#f7f6f3f0;position:sticky;top:0}.site-nav{height:100%;max-width:var(--max-w);justify-content:space-between;align-items:center;margin:0 auto;padding:0 1.5rem;display:flex}.brand{font-family:var(--font-brand);letter-spacing:-.025em;color:var(--text);align-items:center;gap:.35em;font-size:1.3125rem;font-weight:550;display:flex}.site-nav .brand{font-size:1.1875rem}.brand-mark{object-fit:contain;flex:none;width:1.5em;height:auto;transition:opacity .15s ease-out}.brand:hover .brand-mark{opacity:.62}.nav-links{align-items:center;gap:1.75rem;display:flex}.nav-links a{height:36px;font-family:var(--font-sans);color:var(--text);align-items:center;padding:0;font-size:.875rem;font-weight:500;transition:opacity .12s ease-out;display:inline-flex}.nav-links a:hover{opacity:.62}.nav-actions{align-items:center;gap:.625rem;display:flex}@media (width<=640px){.nav-links{display:none}}.site-footer{border-top:1px solid var(--border);background:var(--surface-raised);padding:5rem 0 2.5rem;position:relative}.footer-inner{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem}.footer-pitch{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:3.75rem;padding-bottom:4rem;display:flex}.footer-headline{max-width:22ch;margin-bottom:0;font-size:clamp(2rem,3.2vw,3rem);line-height:1.08}.footer-cta{flex:none;margin-bottom:0}.footer-top{justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:4rem;display:flex}.footer-tagline{font-family:var(--font-sans);color:var(--text-muted);max-width:22rem;margin-top:.85rem;font-size:.875rem;line-height:1.65}.footer-links-group{gap:clamp(4rem,8vw,7rem);display:flex}.footer-col h3{letter-spacing:.02em;text-transform:none;color:var(--text-subtle);font-size:.75rem;font-weight:600;font-family:var(--font-sans);margin-bottom:1.125rem}.footer-col a{font-family:var(--font-sans);color:var(--text);margin-bottom:.75rem;font-size:.875rem;font-weight:500;transition:color .12s ease-out;display:block}.footer-col a:hover{opacity:.62;text-decoration:none}.footer-bottom{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding-top:2rem;display:flex}.footer-copy{font-family:var(--font-sans);color:var(--text-muted);font-size:.75rem}@media (width<=768px){.footer-pitch{flex-direction:column;align-items:flex-start;gap:1.5rem;padding-bottom:3rem}.footer-top{flex-direction:column}.footer-links-group{flex-wrap:wrap;gap:2.5rem}}@media (width<=640px){.site-header .btn-sm{height:40px}}.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}
