.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-primary: #0d1117;--bg-secondary: #161b22;--bg-card: #1c2128;--bg-hover: #21262d;--accent-green: #8CD49C;--accent-cyan: #56d4dd;--accent-blue: #79c0ff;--accent-purple: #d2a8ff;--accent-yellow: #ffa657;--accent-red: #ff7b72;--text-primary: #e6edf3;--text-secondary: #8b949e;--text-muted: #6e7681;--text-link: var(--accent-cyan);--text-link-hover: var(--accent-blue);--border-default: #30363d;--border-muted: #21262d;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 20px rgba(0, 0, 0, .5);--max-width: 1200px;--content-width: 800px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:1rem;line-height:1.6;color:var(--text-primary);background-color:var(--bg-primary);min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-mono);font-weight:600;line-height:1.3;color:var(--text-primary)}h1{font-size:2.5rem;margin-bottom:var(--space-lg)}h2{font-size:1.75rem;margin-bottom:var(--space-md)}h3{font-size:1.25rem;margin-bottom:var(--space-sm)}p{margin-bottom:var(--space-md);color:var(--text-secondary)}a{color:var(--text-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--text-link-hover)}code,pre{font-family:var(--font-mono)}code{background:var(--bg-secondary);padding:.2em .4em;border-radius:var(--radius-sm);font-size:.9em}pre{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-md);overflow-x:auto}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-lg)}.section{padding:var(--space-3xl) 0}.card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-lg);transition:border-color var(--transition-normal),box-shadow var(--transition-normal)}.card:hover{border-color:var(--border-muted);box-shadow:var(--shadow-md)}.btn{display:inline-flex;align-items:center;gap:var(--space-sm);font-family:var(--font-mono);font-size:.875rem;font-weight:500;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:all var(--transition-fast)}.btn-primary{background:var(--accent-green);color:var(--bg-primary)}.btn-primary:hover{background:#9fe0ad}.btn-secondary{background:transparent;border-color:var(--border-default);color:var(--text-primary)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--text-secondary)}@media(max-width:768px){:root{--space-lg: 1rem;--space-xl: 1.5rem;--space-2xl: 2rem;--space-3xl: 2.5rem}h1{font-size:2rem}h2{font-size:1.5rem}.container{padding:0 var(--space-md)}}@media(max-width:480px){h1{font-size:1.75rem}h2{font-size:1.25rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.fade-in{animation:fadeIn .5s ease forwards}.slide-in{animation:slideIn .5s ease forwards}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}::view-transition-old(sidebar),::view-transition-new(sidebar){animation-duration:.3s;animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-old(logo),::view-transition-new(logo){animation-duration:.3s;animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-old(content),::view-transition-new(content){animation-duration:.3s;animation-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes sidebar-collapse{0%{width:50%}to{width:80px}}@keyframes sidebar-expand{0%{width:80px}to{width:50%}}
