*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-base:#f0f0f5;--bg-surface:#fff;--bg-card:#fff;--bg-card-hover:#f7f7fb;--border:#e2e2ec;--border-hover:#c4c4d8;--text-primary:#1a1a18;--text-secondary:#5c5c56;--text-muted:#6b6b64;--accent:#4f46e5;--accent-hover:#4338ca;--accent-subtle:#4f46e512;--accent-border:#4f46e540;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--section-py:clamp(5rem, 10vw, 8rem);--transition:.18s ease;--stats-bg:#eef2ff;--stats-lbl:#4f46e5;--nav-scrolled-bg:#f0f0f5eb;--nav-mobile-bg:#f0f0f5f7}[data-theme=dark]{--bg-base:#0d0d0f;--bg-surface:#141416;--bg-card:#161618;--bg-card-hover:#1e1e22;--border:#272730;--border-hover:#38384a;--text-primary:#ededea;--text-secondary:#9b9b93;--text-muted:#7a7a74;--accent:#6366f1;--accent-hover:#818cf8;--accent-subtle:#6366f11f;--accent-border:#6366f14d;--stats-bg:#1a1a2e;--stats-lbl:#818cf8;--nav-scrolled-bg:#0d0d0feb;--nav-mobile-bg:#141416f7;color-scheme:dark}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);background-color:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:2px}.skip-link{z-index:200;background:var(--accent);color:#fff;border-radius:0 0 6px 6px;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:top .15s;position:absolute;top:-100%;left:1rem}.skip-link:focus{outline-offset:2px;outline:2px solid #fff;top:0}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}:focus:not(:focus-visible){outline:none}::selection{color:var(--text-primary);background:#1a1a181a}[data-theme=dark] ::selection{color:var(--text-primary);background:#6366f140}h1,h2,h3,h4,h5,h6{color:var(--text-primary);letter-spacing:-.02em;font-weight:700;line-height:1.2}a{color:var(--text-primary);transition:color var(--transition);text-decoration:none}a:hover{color:var(--accent)}code,pre{font-family:var(--font-mono)}img{max-width:100%}.container{width:100%;max-width:1080px;margin:0 auto;padding:0 clamp(1.25rem,5vw,2.5rem)}.section{padding:var(--section-py) 0;position:relative}.section-header{margin-bottom:3.5rem}.section-label{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.22em;align-items:center;gap:.75rem;margin-bottom:1rem;font-size:.7rem;font-weight:400;display:flex}.section-label:before{content:"";background:var(--accent);opacity:.5;flex-shrink:0;width:1.75rem;height:1px;display:inline-block}.section-title{color:var(--text-primary);letter-spacing:-.03em;font-size:clamp(1.75rem,4.5vw,2.75rem);font-weight:800;line-height:1.15}.section-subtitle{color:var(--text-secondary);max-width:560px;margin-top:.75rem;font-size:1rem;font-weight:400;line-height:1.75}.card{background:var(--bg-card);border:1px solid var(--border);transition:border-color var(--transition), box-shadow var(--transition);border-radius:8px;padding:1.75rem}.card:hover{border-color:var(--border-hover);box-shadow:0 2px 12px #0000000f}.tag{border:1px solid var(--border);font-family:var(--font-mono);color:var(--text-secondary);white-space:nowrap;letter-spacing:.02em;transition:border-color var(--transition), color var(--transition);background:0 0;border-radius:4px;align-items:center;padding:.2rem .6rem;font-size:.72rem;font-weight:400;display:inline-flex}.tag:hover{border-color:var(--accent-border);color:var(--accent);background:var(--accent-subtle)}.tag.green,.tag.cyan,.tag.purple,.tag.orange{border-color:var(--border);color:var(--text-secondary);background:0 0}.btn{cursor:pointer;transition:all var(--transition);letter-spacing:.01em;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.65rem 1.35rem;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);color:#fff}.btn-outline{color:var(--text-secondary);border:1px solid var(--border);background:0 0}.btn-outline:hover{border-color:var(--accent-border);color:var(--accent);background:var(--accent-subtle)}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.animate-fade-up{animation:.6s both fadeUp}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1!important;transition:none!important;transform:none!important}.cursor{opacity:1!important;animation:none!important}}.reveal{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(18px)}.reveal.visible{opacity:1;transform:translateY(0)}.divider{background:var(--border);width:100%;height:1px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;display:grid}.grid-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;display:grid}@media (prefers-contrast:more){:root{--border:#888;--border-hover:#555;--text-muted:#555;--text-secondary:#333;--accent-border:#4f46e599}[data-theme=dark]{--border:#666;--border-hover:#999;--text-muted:#bbb;--text-secondary:#ddd;--accent-border:#818cf899}}@media (width<=768px){:root{--section-py:4rem}}.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}
