.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}:root{--bg: #fafaf9;--surface: #ffffff;--surface-soft: #f4f4f5;--surface-muted: #ececed;--text: #18181b;--text-soft: #3f3f46;--muted: #71717a;--muted-soft: #a1a1aa;--border: #e4e4e7;--border-soft: #ececed;--accent: #6d28d9;--accent-hover: #5b21b6;--accent-strong: #4c1d95;--accent-soft: #f5f3ff;--accent-grad-a: #7c3aed;--accent-grad-b: #4f46e5;--warm: #ea580c;--warm-soft: #ffedd5;--radius-sm: 8px;--radius: 12px;--radius-lg: 18px;--radius-xl: 24px;--shadow-xs: 0 1px 2px rgba(28, 25, 23, .04);--shadow-sm: 0 2px 6px rgba(28, 25, 23, .05), 0 1px 2px rgba(28, 25, 23, .04);--shadow-md: 0 8px 20px rgba(76, 29, 149, .08), 0 2px 4px rgba(28, 25, 23, .05);--shadow-lg: 0 18px 40px rgba(76, 29, 149, .1), 0 6px 12px rgba(28, 25, 23, .06);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: "Fraunces", "Iowan Old Style", Georgia, serif;--max-w: 64rem;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html,body{height:100%}body{margin:0;font-family:var(--font-sans);font-size:16px;line-height:1.6;color:var(--text);background:var(--bg);background-image:radial-gradient(900px 500px at 100% -200px,rgba(124,58,237,.05),transparent 60%);background-attachment:fixed;font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shell{min-height:100%;display:flex;flex-direction:column}main{flex:1;width:100%;max-width:var(--max-w);margin:0 auto;padding:2.5rem clamp(1.25rem,4vw,2.5rem) 5rem}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;line-height:1.1;margin:0 0 .5rem;color:var(--text)}h1{font-size:clamp(2.2rem,1.6rem + 3vw,3.6rem)}h2{font-size:1.4rem;font-weight:600}h3{font-size:1.15rem}p{margin:0 0 1rem}a{color:var(--accent);text-decoration:none;transition:color .12s ease}a:hover{color:var(--accent-hover)}small,.muted{color:var(--muted);font-size:.875rem}hr{border:0;border-top:1px solid var(--border);margin:2rem 0}img{max-width:100%;display:block}.site-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem clamp(1.25rem,4vw,2.5rem);max-width:var(--max-w);margin:0 auto;width:100%}.brand{display:inline-flex;align-items:center;gap:.65rem;color:var(--text);font-family:var(--font-display);font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.brand:hover{color:var(--text)}.brand-mark{width:2rem;height:2rem;border-radius:50%;background:radial-gradient(circle at 30% 30%,#c4b5fd,transparent 50%),conic-gradient(from 210deg,var(--accent-grad-a),var(--accent-grad-b),var(--warm),var(--accent-grad-a));box-shadow:0 4px 12px #4c1d9540,inset 0 0 0 2px #fff6}.brand-dot{color:var(--warm)}.nav-link{display:inline-flex;align-items:center;gap:.45rem;font-size:.9rem;font-weight:500;color:var(--text-soft);padding:.5rem .95rem;border-radius:999px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-xs);transition:border-color .12s ease,color .12s ease,transform .12s ease}.nav-link:hover{color:var(--accent);border-color:#d6cdb8;transform:translateY(-1px)}.nav-link-icon{font-size:.9em;color:var(--muted)}.site-header nav{display:flex;gap:.5rem;align-items:center}footer{padding:3rem clamp(1.25rem,4vw,2.5rem) 2.5rem;max-width:var(--max-w);margin:0 auto;width:100%;border-top:1px solid var(--border)}.footer-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:var(--muted);font-size:.875rem}.footer-mark{display:inline-block;width:.7rem;height:.7rem;border-radius:50%;background:conic-gradient(from 210deg,var(--accent-grad-a),var(--accent-grad-b),var(--warm),var(--accent-grad-a));margin-right:.45rem;vertical-align:middle}.footer-brand{font-family:var(--font-display);color:var(--text-soft);font-weight:600}.footer-links{display:flex;align-items:center;gap:.5rem}.footer-links a{color:var(--muted);text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:3px}.footer-links a:hover{color:var(--accent);text-decoration-color:var(--accent)}.sep{color:var(--muted-soft)}.card-surface{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.card-surface:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:#d6cdb8}::view-transition-old(root),::view-transition-new(root){animation-duration:.22s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation-duration:.001ms!important}}@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(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
