.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}.logo:where(.astro-mfljk7je){display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--t-primary)}.logo:where(.astro-mfljk7je):hover{color:var(--t-primary)}.logo-text:where(.astro-mfljk7je){font-family:var(--f-ui);font-size:.875rem;font-weight:600;letter-spacing:.18em;color:var(--t-primary)}.nav:where(.astro-2d6zlvbr){position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-h);background:#1a1a1ed9;backdrop-filter:blur(12px);border-bottom:1px solid var(--b-subtle)}.nav-inner:where(.astro-2d6zlvbr){display:flex;align-items:center;justify-content:space-between;height:100%}.nav-links:where(.astro-2d6zlvbr){display:flex;align-items:center;gap:4px}.nav-link:where(.astro-2d6zlvbr),.dropdown-trigger:where(.astro-2d6zlvbr){font-family:var(--f-ui);font-size:var(--fs-sm);font-weight:500;color:var(--t-muted);background:none;border:none;cursor:pointer;padding:6px 12px;border-radius:var(--r-sm);display:flex;align-items:center;gap:4px;transition:color var(--dur-micro) var(--ease-out)}.nav-link:where(.astro-2d6zlvbr):hover,.dropdown-trigger:where(.astro-2d6zlvbr):hover{color:var(--t-primary)}.nav-link:where(.astro-2d6zlvbr).active{color:var(--accent)}.chevron:where(.astro-2d6zlvbr){transition:transform var(--dur-sm) var(--ease-out)}.nav-dropdown:where(.astro-2d6zlvbr):hover .chevron:where(.astro-2d6zlvbr),.nav-dropdown:where(.astro-2d6zlvbr).kb-open .chevron:where(.astro-2d6zlvbr){transform:rotate(180deg)}.nav-dropdown:where(.astro-2d6zlvbr){position:relative}.dropdown-panel:where(.astro-2d6zlvbr){position:absolute;z-index:101;top:calc(100% + 8px);left:0;background:var(--s-overlay);border:1px solid var(--b-default);border-radius:var(--r-sm);padding:16px;box-shadow:var(--shadow-lg),0 0 0 1px #ffffff08 inset;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity var(--dur-sm) var(--ease-out),transform var(--dur-sm) var(--ease-out-spring),visibility var(--dur-sm)}.nav-dropdown:where(.astro-2d6zlvbr):hover .dropdown-panel:where(.astro-2d6zlvbr),.nav-dropdown:where(.astro-2d6zlvbr):focus-within .dropdown-panel:where(.astro-2d6zlvbr),.nav-dropdown:where(.astro-2d6zlvbr).kb-open .dropdown-panel:where(.astro-2d6zlvbr){opacity:1;visibility:visible;transform:translateY(0)}.nav-dropdown:where(.astro-2d6zlvbr)[data-dropdown=features]{position:static}.dropdown-panel--features:where(.astro-2d6zlvbr){width:min(var(--max-w),calc(100vw - 2 * var(--gutter)));left:50%;transform:translate(-50%) translateY(-6px);padding:24px}.nav-dropdown:where(.astro-2d6zlvbr):hover .dropdown-panel--features:where(.astro-2d6zlvbr),.nav-dropdown:where(.astro-2d6zlvbr):focus-within .dropdown-panel--features:where(.astro-2d6zlvbr),.nav-dropdown:where(.astro-2d6zlvbr).kb-open .dropdown-panel--features:where(.astro-2d6zlvbr){transform:translate(-50%) translateY(0)}.features-layout:where(.astro-2d6zlvbr){display:grid;grid-template-columns:1fr 260px;gap:24px}.dropdown-grid:where(.astro-2d6zlvbr){display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.dropdown-sidebar:where(.astro-2d6zlvbr){display:flex;flex-direction:column;gap:12px;padding-left:24px;border-left:1px solid var(--b-subtle)}.dropdown-panel--resources:where(.astro-2d6zlvbr){width:360px;display:flex;flex-direction:column;gap:4px;padding:16px}.dropdown-group:where(.astro-2d6zlvbr){display:flex;flex-direction:column;gap:2px}.group-label:where(.astro-2d6zlvbr){font-family:var(--f-ui);font-size:var(--fs-xs);font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;padding:8px 12px 12px;border-bottom:1px solid var(--b-hairline);margin-bottom:4px}.dropdown-item:where(.astro-2d6zlvbr){display:flex;align-items:flex-start;gap:12px;padding:12px;border-radius:var(--r-sm);transition:background var(--dur-micro) var(--ease-out)}.dropdown-item:where(.astro-2d6zlvbr):hover{background:var(--s-hover)}.dropdown-item:where(.astro-2d6zlvbr).active .item-name:where(.astro-2d6zlvbr){color:var(--accent)}.item-icon:where(.astro-2d6zlvbr){flex-shrink:0;margin-top:2px;color:var(--t-dim);transition:color var(--dur-micro) var(--ease-out)}.dropdown-item:where(.astro-2d6zlvbr):hover .item-icon:where(.astro-2d6zlvbr){color:var(--accent)}.item-text:where(.astro-2d6zlvbr){display:flex;flex-direction:column;gap:3px;min-width:0}.item-name:where(.astro-2d6zlvbr){font-family:var(--f-ui);font-size:var(--fs-sm);font-weight:600;color:var(--t-primary);white-space:nowrap;transition:color var(--dur-micro) var(--ease-out)}.dropdown-item:where(.astro-2d6zlvbr):hover .item-name:where(.astro-2d6zlvbr){color:var(--accent-text)}.item-desc:where(.astro-2d6zlvbr){font-family:var(--f-prose);font-size:var(--fs-xs);color:var(--t-muted);line-height:1.5;white-space:normal}.dropdown-item--resource:where(.astro-2d6zlvbr){padding:12px}.dropdown-item--resource:where(.astro-2d6zlvbr) .item-name:where(.astro-2d6zlvbr){font-size:var(--fs-body)}.dropdown-item--resource:where(.astro-2d6zlvbr) .item-desc:where(.astro-2d6zlvbr){font-size:var(--fs-sm)}.featured-card:where(.astro-2d6zlvbr){display:block;padding:16px;border-radius:var(--r-md);background:linear-gradient(135deg,var(--accent-bg) 0%,transparent 60%);border:1px solid var(--accent-border);transition:border-color var(--dur-micro) var(--ease-out),background var(--dur-micro) var(--ease-out)}.featured-card:where(.astro-2d6zlvbr):hover{border-color:var(--accent);background:linear-gradient(135deg,var(--accent-bg-strong) 0%,transparent 60%)}.featured-badge:where(.astro-2d6zlvbr){display:inline-block;font-family:var(--f-mono);font-size:var(--fs-xs);font-weight:600;color:var(--accent);background:var(--accent-bg-strong);padding:1px 6px;border-radius:100px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.featured-title:where(.astro-2d6zlvbr){display:block;font-family:var(--f-ui);font-size:var(--fs-body);font-weight:600;color:var(--t-primary);margin-bottom:6px}.featured-desc:where(.astro-2d6zlvbr){display:block;font-size:var(--fs-sm);color:var(--t-muted);line-height:1.5;margin-bottom:10px;max-width:none}.featured-link:where(.astro-2d6zlvbr){font-family:var(--f-ui);font-size:var(--fs-sm);font-weight:600;color:var(--accent-text)}.featured-card:where(.astro-2d6zlvbr):hover .featured-link:where(.astro-2d6zlvbr){color:var(--accent-hover)}.nav-cta:where(.astro-2d6zlvbr){font-family:var(--f-ui);font-size:var(--fs-sm);font-weight:600;color:var(--s-base);background:var(--accent);padding:8px 20px;border-radius:100px;transition:background var(--dur-micro) var(--ease-out),transform var(--dur-micro) var(--ease-out-spring)}.nav-cta:where(.astro-2d6zlvbr):hover{background:var(--accent-hover);color:var(--s-base);transform:translateY(-1px)}.nav-cta:where(.astro-2d6zlvbr):active{transform:translateY(1px) scale(.98)}.mobile-toggle:where(.astro-2d6zlvbr){display:none;background:none;border:none;color:var(--t-muted);cursor:pointer;padding:4px}.mobile-menu:where(.astro-2d6zlvbr){display:none}@media(max-width:899px){.nav-links:where(.astro-2d6zlvbr){display:none}.nav-cta:where(.astro-2d6zlvbr):not(.mobile-cta){display:none}.mobile-toggle:where(.astro-2d6zlvbr){display:block}.mobile-menu:where(.astro-2d6zlvbr){display:none;position:fixed;z-index:99;top:var(--nav-h);left:0;right:0;background:var(--s-raised);border-bottom:1px solid var(--b-subtle);padding:16px;max-height:calc(100vh - var(--nav-h));overflow-y:auto}.nav:where(.astro-2d6zlvbr).open .mobile-menu:where(.astro-2d6zlvbr){display:block}.mobile-menu-inner:where(.astro-2d6zlvbr){display:flex;flex-direction:column;gap:4px}.mobile-label:where(.astro-2d6zlvbr){font-family:var(--f-ui);font-size:var(--fs-xs);font-weight:600;color:var(--t-dim);text-transform:uppercase;letter-spacing:.08em;padding:12px 12px 4px}.mobile-label:where(.astro-2d6zlvbr):first-child{padding-top:4px}.mobile-link:where(.astro-2d6zlvbr){font-family:var(--f-ui);font-size:var(--fs-sm);color:var(--t-muted);padding:10px 12px;border-radius:var(--r-sm)}.mobile-link:where(.astro-2d6zlvbr):hover{color:var(--t-primary);background:var(--s-hover)}.mobile-link:where(.astro-2d6zlvbr).active{color:var(--accent)}.mobile-divider:where(.astro-2d6zlvbr){height:1px;background:var(--b-subtle);margin:8px 0}.mobile-cta:where(.astro-2d6zlvbr){text-align:center;margin-top:4px}}.newsletter-form:where(.astro-3objjdle){display:flex;flex-direction:column;gap:var(--sp-3);max-width:420px}.nf-headline:where(.astro-3objjdle){font-family:var(--f-ui);font-size:var(--fs-sm);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--t-dim);margin:0}.nf-description:where(.astro-3objjdle){font-family:var(--f-prose);font-size:var(--fs-sm);color:var(--t-muted);line-height:1.5;margin:0;max-width:none}.nf-label:where(.astro-3objjdle){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.nf-row:where(.astro-3objjdle){display:flex;gap:var(--sp-2);align-items:stretch;position:relative}.nf-input:where(.astro-3objjdle){flex:1 1 auto;min-width:0;padding:var(--sp-3) var(--sp-3);background:var(--s-raised);border:1px solid var(--b-subtle);border-radius:var(--r-sm);font-family:var(--f-ui);font-size:var(--fs-sm);color:var(--t-primary);transition:border-color var(--dur-micro) var(--ease-out)}.nf-input:where(.astro-3objjdle):focus{outline:none;border-color:var(--accent-border)}.nf-input:where(.astro-3objjdle)::placeholder{color:var(--t-dim)}.nf-input:where(.astro-3objjdle):disabled{opacity:.6}.nf-submit:where(.astro-3objjdle){flex-shrink:0;padding:var(--sp-3) var(--sp-4);background:var(--accent-bg-strong);border:1px solid var(--accent-border);border-radius:var(--r-sm);font-family:var(--f-ui);font-size:var(--fs-sm);font-weight:600;color:var(--accent-text);cursor:pointer;transition:background var(--dur-micro) var(--ease-out)}.nf-submit:where(.astro-3objjdle):hover{background:var(--accent-bg)}.nf-submit:where(.astro-3objjdle):disabled{cursor:not-allowed}.nf-submit-busy:where(.astro-3objjdle){display:none}.newsletter-form:where(.astro-3objjdle)[data-state=submitting] .nf-submit-label:where(.astro-3objjdle){display:none}.newsletter-form:where(.astro-3objjdle)[data-state=submitting] .nf-submit-busy:where(.astro-3objjdle){display:inline}.newsletter-form:where(.astro-3objjdle)[data-state=success] .nf-submit:where(.astro-3objjdle){display:none}.newsletter-form:where(.astro-3objjdle)[data-state=success] .nf-input:where(.astro-3objjdle){display:none}.nf-honeypot:where(.astro-3objjdle){position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.nf-status:where(.astro-3objjdle){margin:0;min-height:1.4em;font-family:var(--f-prose);font-size:var(--fs-xs);color:var(--t-muted);line-height:1.4}.nf-status:where(.astro-3objjdle)[data-kind=success]{color:var(--color-success, #6aaf7a)}.nf-status:where(.astro-3objjdle)[data-kind=error]{color:var(--color-error, #cc5541)}.footer:where(.astro-tgc5tww7){background:var(--s-sunken);border-top:1px solid var(--b-subtle);padding:var(--sp-section) 0 var(--sp-block)}.footer-inner:where(.astro-tgc5tww7){display:grid;grid-template-columns:1fr 3fr;gap:var(--sp-block)}.footer-brand:where(.astro-tgc5tww7){display:flex;flex-direction:column;gap:var(--sp-3)}.footer-newsletter:where(.astro-tgc5tww7){margin-top:var(--sp-3);max-width:320px}.footer-tagline:where(.astro-tgc5tww7){font-size:var(--fs-sm);color:var(--t-dim);max-width:28ch}.footer-links:where(.astro-tgc5tww7){display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-element)}.footer-col:where(.astro-tgc5tww7){min-width:0}.footer-heading:where(.astro-tgc5tww7){font-family:var(--f-ui);font-size:var(--fs-xs);font-weight:600;color:var(--t-dim);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--sp-3)}.footer-list:where(.astro-tgc5tww7){list-style:none;display:flex;flex-direction:column;gap:var(--sp-2)}.footer-list:where(.astro-tgc5tww7) a:where(.astro-tgc5tww7){font-size:var(--fs-sm);color:var(--t-muted);transition:color var(--dur-micro) var(--ease-out)}.footer-list:where(.astro-tgc5tww7) a:where(.astro-tgc5tww7):hover{color:var(--t-primary)}.footer-bottom:where(.astro-tgc5tww7){margin-top:var(--sp-block);padding-top:var(--sp-element);border-top:1px solid var(--b-hairline)}.footer-meta:where(.astro-tgc5tww7){display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap}.footer-copy:where(.astro-tgc5tww7){font-size:var(--fs-xs);color:var(--t-dim)}.footer-utility-links:where(.astro-tgc5tww7){display:flex;align-items:center;gap:var(--sp-4)}.footer-utility-links:where(.astro-tgc5tww7) a:where(.astro-tgc5tww7){font-size:var(--fs-xs);color:var(--t-dim)}.footer-utility-links:where(.astro-tgc5tww7) a:where(.astro-tgc5tww7):hover{color:var(--t-primary)}@media(max-width:959px){.footer-inner:where(.astro-tgc5tww7){grid-template-columns:1fr}.footer-links:where(.astro-tgc5tww7){grid-template-columns:repeat(2,1fr)}}@media(max-width:639px){.footer-links:where(.astro-tgc5tww7){grid-template-columns:1fr}}@font-face{font-family:Sora;src:url(/fonts/Sora-300.woff2) format("woff2");font-weight:300;font-display:swap}@font-face{font-family:Sora;src:url(/fonts/Sora-400.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Sora;src:url(/fonts/Sora-500.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Sora;src:url(/fonts/Sora-600.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Sora;src:url(/fonts/Sora-700.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-300.woff2) format("woff2");font-weight:300;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-400.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-400i.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-500.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-500i.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-600.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-700.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-400.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-500.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-600.woff2) format("woff2");font-weight:600;font-display:swap}:root{--s-base: #1a1a1e;--s-raised: #201f24;--s-overlay: #28272d;--s-sunken: #141416;--s-hover: #2e2d34;--b-hairline: rgba(255, 255, 255, .04);--b-subtle: rgba(255, 255, 255, .07);--b-default: rgba(255, 255, 255, .11);--b-strong: rgba(255, 255, 255, .18);--t-primary: #ece8e2;--t-bright: #f5f1ec;--t-body: #cac5be;--t-subtle: #b8b3ad;--t-muted: #aaa5a0;--t-dim: #8f8983;--t-ghost: #78736d;--accent: #d4885c;--accent-hover: #de9a72;--accent-text: #e8a47e;--accent-on: #1a1a2e;--accent-bg: rgba(212, 136, 92, .12);--accent-bg-strong: rgba(212, 136, 92, .2);--accent-border: rgba(212, 136, 92, .28);--accent-border-hover: rgba(212, 136, 92, .4);--accent-glow: rgba(212, 136, 92, .15);--accent-glow-strong: rgba(212, 136, 92, .5);--accent-dark: #c07040;--color-success-text: #8ec99e;--color-warning-text: #ddb86a;--color-error-text: #de8e8e;--f-ui: "Sora", system-ui, sans-serif;--f-prose: "Plus Jakarta Sans", system-ui, sans-serif;--f-mono: "IBM Plex Mono", "Cascadia Code", monospace;--fs-display: clamp(2.5rem, 5vw, 5rem);--fs-h1: clamp(1.75rem, 3vw, 3rem);--fs-h2: clamp(1.25rem, 2.2vw, 2.25rem);--fs-h3: clamp(1.125rem, 1.5vw, 1.5rem);--fs-h4: clamp(1rem, 1.2vw, 1.25rem);--fs-lg: clamp(1.125rem, 1.6vw, 1.375rem);--fs-md: clamp(1rem, 1.1vw, 1.0625rem);--fs-body: clamp(1rem, 1.2vw, 1.125rem);--fs-sm: .875rem;--fs-xs: .75rem;--fs-2xs: .625rem;--fs-mono: .875rem;--sp-section: clamp(4rem, 8vw, 8rem);--sp-block: clamp(2rem, 4vw, 4rem);--sp-element: clamp(1rem, 2vw, 2rem);--sp-tight: .5rem;--sp-0-5: .125rem;--sp-1: .25rem;--sp-1-5: .375rem;--sp-2: .5rem;--sp-2-5: .625rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--sp-10: 2.5rem;--sp-12: 3rem;--sp-16: 4rem;--color-success: #6aaf7a;--color-success-bg: rgba(106, 175, 122, .08);--color-success-border: rgba(106, 175, 122, .25);--color-error: #cc6b6b;--color-error-bg: rgba(204, 107, 107, .15);--color-warning: #cca04e;--color-warning-bg: rgba(204, 160, 78, .12);--amber: #cca04e;--amber-bg: rgba(204, 160, 78, .12);--color-overlay: rgba(0, 0, 0, .6);--max-w: 1400px;--max-w-narrow: 1200px;--max-w-wide: 1440px;--max-w-prose: 860px;--nav-h: 64px;--gutter: clamp(1.5rem, 4vw, 4rem);--r-sm: 6px;--r-md: 10px;--r-lg: 16px;--r-xl: 24px;--ease-out-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--dur-micro: .15s;--dur-sm: .2s;--dur-md: .3s;--dur-lg: .4s;--shadow-sm: 0 1px 4px rgba(0, 0, 0, .2);--shadow-md: 0 4px 16px rgba(0, 0, 0, .25);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .35);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .45);--shadow-card: 0 4px 24px rgba(0, 0, 0, .3);--shadow-popup: 0 8px 24px rgba(0, 0, 0, .3);--shadow-modal: 0 20px 60px rgba(0, 0, 0, .5);--shadow-window: 0 25px 50px -12px rgba(0, 0, 0, .6), 0 0 0 1px rgba(255, 255, 255, .05) inset;--shadow-hero: 0 40px 100px -20px rgba(0, 0, 0, .8), 0 0 0 1px rgba(255, 255, 255, .05);--shadow-screenshot: 0 8px 40px rgba(0, 0, 0, .5), 0 2px 8px rgba(0, 0, 0, .2);--shadow-glow: 0 0 60px rgba(212, 136, 92, .15);--z-sticky: 10;--z-dropdown: 20;--z-modal: 30;--z-overlay: 40;--z-grain: 50;--z-progress: 60}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}button,input,select,textarea{font:inherit;color:inherit;line-height:inherit;letter-spacing:inherit}html{color-scheme:dark;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--f-prose);font-size:var(--fs-body);font-weight:400;line-height:1.65;color:var(--t-body);background-color:var(--s-base);background-image:radial-gradient(circle,rgba(255,255,255,.045) 1px,transparent 1px);background-size:32px 32px;background-attachment:fixed;min-height:100dvh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--f-ui);color:var(--t-primary);line-height:1.2;font-weight:600;text-wrap:balance}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}h4{font-size:var(--fs-h4)}p{max-width:65ch;text-wrap:pretty}a{color:var(--accent-text);text-decoration:none;transition:color var(--dur-micro) var(--ease-out)}a:hover{color:var(--accent-hover)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[role=menuitem]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:focus:not(:focus-visible){outline:none}img{display:block;max-width:100%;height:auto}kbd{font-family:var(--f-mono);font-size:.8em;font-weight:500;color:var(--t-primary);background:var(--s-overlay);padding:2px 6px;border-radius:4px;border:1px solid var(--b-default);border-bottom-width:2px}code{font-family:var(--f-mono);font-size:.85em;color:var(--accent-text);background:var(--accent-bg);padding:2px 6px;border-radius:4px}::placeholder{color:var(--t-ghost);opacity:1}::selection{background:var(--accent-bg-strong);color:var(--t-primary)}.skip-to-content{position:fixed;top:8px;left:8px;z-index:calc(var(--z-grain) + 10);background:var(--accent);color:var(--s-base);font-family:var(--f-ui);font-size:var(--fs-sm);font-weight:600;padding:8px 16px;border-radius:var(--r-sm);transform:translateY(-120%);transition:transform var(--dur-sm) var(--ease-out)}.skip-to-content:focus{transform:translateY(0);color:var(--s-base)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--b-default);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--b-strong)}.grain{position:fixed;inset:0;z-index:var(--z-grain);pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.reveal{opacity:0;transform:translateY(24px)}.reveal.visible{animation:slide-up var(--dur-lg) var(--ease-out-spring) forwards}.reveal-left{opacity:0;transform:translate(-24px)}.reveal-left.visible{animation:slide-in-left var(--dur-lg) var(--ease-out-spring) forwards}.reveal-right{opacity:0;transform:translate(24px)}.reveal-right.visible{animation:slide-in-right var(--dur-lg) var(--ease-out-spring) forwards}.reveal-stagger.visible>:nth-child(1){animation-delay:0ms}.reveal-stagger.visible>:nth-child(2){animation-delay:80ms}.reveal-stagger.visible>:nth-child(3){animation-delay:.16s}.reveal-stagger.visible>:nth-child(4){animation-delay:.24s}.reveal-stagger.visible>:nth-child(5){animation-delay:.32s}.reveal-stagger.visible>:nth-child(6){animation-delay:.4s}.reveal-stagger.visible>:nth-child(7){animation-delay:.48s}.reveal-stagger.visible>:nth-child(8){animation-delay:.56s}.reveal-stagger.visible>:nth-child(9){animation-delay:.64s}.reveal-stagger.visible>:nth-child(10){animation-delay:.72s}.hover-lift{transition:transform var(--dur-sm) var(--ease-out-spring),box-shadow var(--dur-sm) var(--ease-out)}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}@keyframes glow-pulse{0%,to{opacity:.6}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.reveal,.reveal-left,.reveal-right{opacity:1!important;transform:none!important;animation:none!important}.reveal-stagger.visible>*{animation-delay:0ms!important}.hover-lift{transition:none!important}.hover-lift:hover{transform:none!important}@keyframes glow-pulse{0%,to{opacity:1}}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.container{max-width:var(--max-w);margin:0 auto;padding:0 var(--gutter)}.container-narrow{max-width:var(--max-w-narrow);margin:0 auto;padding:0 var(--gutter)}.container-wide,.container-xl{max-width:var(--max-w-wide);margin:0 auto;padding:0 var(--gutter)}.section{padding:var(--sp-section) 0}.text-accent{color:var(--accent-text)}.text-muted{color:var(--t-muted)}.text-dim{color:var(--t-dim)}.text-primary{color:var(--t-primary)}.text-bright{color:var(--t-bright)}.text-subtle{color:var(--t-subtle)}.font-ui{font-family:var(--f-ui)}.font-prose{font-family:var(--f-prose)}.font-mono{font-family:var(--f-mono)}.page-header{text-align:center;margin-bottom:var(--sp-section)}.page-title{font-family:var(--f-ui);font-size:var(--fs-display);font-weight:700;color:var(--t-primary);margin:var(--sp-4) 0 var(--sp-3);letter-spacing:-.02em}.page-tagline{font-family:var(--f-prose);font-size:var(--fs-lg);color:var(--t-muted);max-width:540px;margin:0 auto;line-height:1.6}
