.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: #0a0a0a;--surface: #111;--hero-c1: #0a0a0a;--hero-c2: #0c1828;--hero-c3: #14082e;--hero-c4: #080f1c;--surface-hover: #151515;--border: #222;--border-hover: #333;--fg: #f0f0f2;--muted: #888;--accent: #4da6ff;--accent-dim: rgba(77, 166, 255, .12);--tag-bg: #1a1a1a;--tag-color: #aaa;--header-bg: rgba(10, 10, 10, .85);--footer-color: #444;--code-bg: #1a1a1a;--code-color: #e8e8ea;--pre-bg: #111;--prose-color: #d8d8da}[data-theme=light]{--bg: #fafafa;--hero-c1: #fafafa;--hero-c2: #edf4ff;--hero-c3: #f2edff;--hero-c4: #edf8ff;--surface: #ffffff;--surface-hover: #f0f0f1;--border: #e4e4e7;--border-hover: #d1d5db;--fg: #18181b;--muted: #71717a;--accent: #2563eb;--accent-dim: rgba(37, 99, 235, .1);--tag-bg: #f4f4f5;--tag-color: #52525b;--header-bg: rgba(250, 250, 250, .85);--footer-color: #a1a1aa;--code-bg: #f4f4f5;--code-color: #1f2937;--pre-bg: #f8f8f8;--prose-color: #374151}html:not([lang=es]) [data-lang=es]{display:none}html[lang=es] [data-lang=en]{display:none}.lang-toggle{display:flex;align-items:center;justify-content:center;padding:.25rem .5rem;border-radius:8px;background:none;border:none;cursor:pointer;color:var(--muted);font-size:.78rem;font-weight:600;letter-spacing:.06em;font-family:inherit;transition:color .15s,background .15s}.lang-toggle:hover{color:var(--fg);background:var(--surface-hover)}.lang-toggle .show-when-en{display:block}.lang-toggle .show-when-es,html[lang=es] .lang-toggle .show-when-en{display:none}html[lang=es] .lang-toggle .show-when-es{display:block}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.65;padding-top:56px;transition:background-color .2s,color .2s}header{position:fixed;top:0;left:0;right:0;height:56px;background:var(--header-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;z-index:100;transition:background-color .2s,border-color .2s}.logo{font-weight:600;font-size:1rem;letter-spacing:-.01em;color:var(--fg);text-decoration:none}nav{display:flex;align-items:center;gap:.25rem}nav a{display:flex;align-items:center;justify-content:center;border-radius:8px;color:var(--muted);text-decoration:none;transition:color .15s,background .15s}nav a.nav-icon{width:36px;height:36px}nav a.nav-text{padding:.25rem .65rem;font-size:.875rem}nav a:hover{color:var(--fg);background:var(--surface-hover)}nav a.active{color:var(--fg)}nav a svg{display:block}.theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:none;border:none;cursor:pointer;color:var(--muted);transition:color .15s,background .15s;flex-shrink:0}.theme-toggle:hover{color:var(--fg);background:var(--surface-hover)}.theme-toggle svg{display:block}.theme-toggle .icon-sun{display:block}.theme-toggle .icon-moon,[data-theme=light] .theme-toggle .icon-sun{display:none}[data-theme=light] .theme-toggle .icon-moon{display:block}.mobile-controls{display:none;align-items:center;gap:.25rem}.hamburger{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:none;border:none;cursor:pointer;color:var(--muted);transition:color .15s,background .15s}.hamburger:hover{color:var(--fg);background:var(--surface-hover)}.hamburger .close-icon,.hamburger.open .ham-icon{display:none}.hamburger.open .close-icon{display:block}.mobile-menu{display:none;position:fixed;top:56px;left:0;right:0;background:var(--header-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:.75rem 1.5rem 1rem;z-index:99;flex-direction:column;gap:.25rem;animation:menu-in .18s ease}.mobile-menu.open{display:flex}@keyframes menu-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.mobile-nav-link{display:block;padding:.6rem .5rem;font-size:1rem;font-weight:500;color:var(--muted);text-decoration:none;border-radius:8px;transition:color .15s,background .15s}.mobile-nav-link:hover,.mobile-nav-link.active{color:var(--fg);background:var(--surface-hover)}.mobile-nav-divider{height:1px;background:var(--border);margin:.5rem 0}.mobile-nav-icons{display:flex;gap:.5rem;padding:.25rem 0}.mobile-nav-icon{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:8px;font-size:.875rem;color:var(--muted);text-decoration:none;transition:color .15s,background .15s}.mobile-nav-icon:hover{color:var(--fg);background:var(--surface-hover)}@media(max-width:600px){#desktop-nav{display:none}.mobile-controls{display:flex}}main{max-width:860px;margin:0 auto;padding:0 1.5rem 6rem}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;cursor:pointer}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{opacity:.85}.btn-ghost{background:var(--surface);color:var(--fg);border:1px solid var(--border)}.btn-ghost:hover{background:var(--surface-hover)}.tag{font-size:.75rem;padding:.2rem .55rem;border-radius:4px;background:var(--tag-bg);color:var(--tag-color);border:1px solid var(--border)}footer{text-align:center;padding:2rem 1.5rem;font-size:.8rem;color:var(--footer-color);border-top:1px solid var(--border)}footer a{color:inherit;text-decoration:none}footer a:hover{color:var(--muted)}@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}}
