.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}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}.dither[data-astro-cid-4phxnpr3]{height:140px;transition:height .5s cubic-bezier(.2,.8,.2,1);overflow:hidden;mask:linear-gradient(#000 45%,#0000)}body[data-hero] .dither[data-astro-cid-4phxnpr3]{height:380px}canvas[data-astro-cid-4phxnpr3]{image-rendering:pixelated;transform-origin:0 0;display:block;scale:6;mask-image:linear-gradient(90deg,#000 66%,#0000 0),linear-gradient(#000 66%,#0000 0);mask-position:0 0,0 0;mask-size:1px 1px,1px 1px;mask-repeat:repeat,repeat;mask-clip:border-box,border-box;mask-origin:border-box,border-box;mask-composite:intersect;mask-mode:match-source,match-source}:root{--bg:#fff;--fg:#111;--muted:#6b6b6b;--line:#e8e8e8;--card:#fff;--accent:#3b82f6;--heat0:#eef0f3}[data-theme=dark]{--bg:#0c0c0d;--fg:#eee;--muted:#8a8a8a;--line:#242427;--card:#151517;--accent:#4f8ff7;--heat0:#1c1d20}*{box-sizing:border-box}html{background:var(--bg);color:var(--fg);transition:background .3s,color .3s}body{-webkit-font-smoothing:antialiased;margin:0;font:16px/1.7 Inter,ui-sans-serif,system-ui,sans-serif;overflow-x:hidden}main{max-width:42rem;margin:0 auto;padding:0 1.25rem 4rem;position:relative}body[data-hero] main{max-width:58rem}a{color:inherit;text-underline-offset:3px;text-decoration-color:var(--line)}a:hover{text-decoration-color:var(--accent)}h1{letter-spacing:-.03em;margin:1.5rem 0 .75rem;font-size:2.6rem;line-height:1.15}h2{letter-spacing:-.02em;margin:3.5rem 0 1rem;font-size:1.5rem}time,.muted{color:var(--muted);font-size:.9em}.eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:600}footer{text-align:center;color:var(--muted);border-top:1px solid var(--line);padding:2rem;font-size:.85rem}.bar{z-index:10;background:color-mix(in srgb, var(--card) 75%, transparent);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:999px;align-items:center;gap:.25rem;padding:.3rem;font-size:.85rem;display:flex;position:fixed;top:1rem;left:50%;translate:-50%;box-shadow:0 4px 20px #00000014}.bar a{border-radius:999px;padding:.3rem .8rem;text-decoration:none;transition:background .2s,color .2s}.bar a:hover{background:var(--line)}.bar a.on{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.bar button{all:unset;cursor:pointer;padding:0 .6rem;font-size:1.1rem;line-height:1;transition:transform .4s}.bar button:hover{transform:rotate(180deg)}.card{border:1px solid var(--line);background:var(--card);border-radius:14px;transition:transform .25s,box-shadow .25s,border-color .25s;position:relative;overflow:hidden}.card:before{content:"";pointer-events:none;opacity:0;background:radial-gradient(300px circle at var(--x) var(--y), color-mix(in srgb, var(--accent) 16%, transparent), transparent 70%);transition:opacity .3s;position:absolute;inset:0}.card:hover:before{opacity:1}.card:hover{border-color:color-mix(in srgb, var(--accent) 50%, var(--line))}.rise{animation:.7s cubic-bezier(.2,.8,.2,1) both rise}@keyframes rise{0%{opacity:0;filter:blur(4px);transform:translateY(14px)}}@supports (animation-timeline:view()){.reveal{animation:linear both rise view();animation-range:entry entry 70%}}article{max-width:42rem}article img{border-radius:10px;max-width:100%}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
