:root{--bg-color:#1b2631;--bg-surface:#151f28;--bg-panel-color:#233240;--bg-card-hover:#2a3d4f;--border-color:#34495e;--border-subtle:#34495e99;--border-glow:#1abc9c66;--action-color:#16a085;--interactive-color:#16a085;--header-color:#0e6655;--accent-glow:#1abc9c;--accent-bright:#2ecc71;--error-color:#e74c3c;--text-color:#fff;--text-soft:#e2ece8;--text-muted:#9eb5ad;--text-dim:#7f9990;--paper:var(--bg-color);--ink:var(--text-color);--ink-soft:var(--text-soft);--muted:var(--text-muted);--hair:var(--border-color);--accent:var(--action-color);--accent-ink:#fff;--band:var(--bg-surface);--band-ink:var(--text-color);--band-soft:var(--text-soft);--band-hair:var(--border-color);--c-viridian:#16a085;--c-teal:#1abc9c;--c-pine:#0e6655;--c-emerald:#2ecc71;--font-display:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace;--measure:1560px;--gutter:clamp(20px, 5vw, 64px);--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--radius-full:9999px;--ambient-glow-1:#16a08529;--ambient-glow-2:#1abc9c1a;--grid-dot-color:#1abc9c12;--accent-tint:#16a0851f;--accent-tint-line:#16a08552;--grad-start:#1abc9c;--grad-mid:#16a085;--grad-end:#2ecc71;color-scheme:dark}:root[data-theme=light]{--bg-color:#f7faf8;--bg-surface:#edf4f0;--bg-panel-color:#fff;--bg-card-hover:#f0f7f3;--border-color:#c8dcd2;--border-subtle:#dbe8e0;--border-glow:#16a08573;--action-color:#16a085;--interactive-color:#16a085;--header-color:#0e6655;--accent-glow:#0e6655;--accent-bright:#0a5745;--error-color:#c0392b;--text-color:#0b1c15;--text-soft:#1e382e;--text-muted:#3d5a4e;--text-dim:#5c786d;--paper:var(--bg-color);--ink:var(--text-color);--ink-soft:var(--text-soft);--muted:var(--text-muted);--hair:var(--border-color);--accent:var(--action-color);--accent-ink:#fff;--band:var(--bg-surface);--band-ink:var(--text-color);--band-soft:var(--text-soft);--band-hair:var(--border-color);--ambient-glow-1:#16a0850f;--ambient-glow-2:#0e665508;--grid-dot-color:#16a08512;--accent-tint:#eaf5f0;--accent-tint-line:#c0d8ce;--grad-start:#0a5745;--grad-mid:#107560;--grad-end:#064032;color-scheme:light}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scrollbar-gutter:stable}body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-display);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;flex-direction:column;min-height:100vh;font-size:16px;line-height:1.6;transition:background-color .15s,color .15s;display:flex;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--action-color)}::selection{background-color:var(--action-color);color:#fff}:focus-visible{outline:2px solid var(--action-color);outline-offset:3px;border-radius:4px}h1,h2,h3,h4,h5,h6{color:var(--text-color);letter-spacing:-.025em;text-wrap:balance;font-weight:700;line-height:1.15}h1{letter-spacing:-.035em;font-size:clamp(2.8rem,5.2vw,4.4rem);font-weight:800}h2{letter-spacing:-.03em;font-size:clamp(2rem,3.8vw,3rem);font-weight:750}h3{font-size:clamp(1.25rem,2.2vw,1.65rem);font-weight:650}p{color:var(--text-soft);text-wrap:pretty}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}.wrap{width:100%;max-width:var(--measure);padding-inline:var(--gutter);margin-inline:auto}.section-container{z-index:1;content-visibility:auto;contain-intrinsic-size:auto 800px;padding-block:clamp(64px,8vw,120px);position:relative}.section-alt{background-color:var(--bg-surface);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.ambient-bg{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden;transform:translate(0,0)}.ambient-gradient-1{background:radial-gradient(circle, var(--ambient-glow-1) 0%, transparent 68%);pointer-events:none;border-radius:50%;width:800px;height:800px;position:absolute;top:-200px;left:20%}.ambient-gradient-2{background:radial-gradient(circle, var(--ambient-glow-2) 0%, transparent 68%);pointer-events:none;border-radius:50%;width:900px;height:900px;position:absolute;top:40%;right:-150px}.dot-grid{background-image:radial-gradient(var(--grid-dot-color) 1.5px, transparent 1.5px);pointer-events:none;z-index:0;background-size:36px 36px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(circle,#000,#0000 85%);mask-image:radial-gradient(circle,#000,#0000 85%)}.section-header{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:880px;margin:0 auto clamp(36px,5vw,64px);display:flex}.section-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--action-color);margin-bottom:6px;font-size:.82rem;font-weight:750;display:inline-block}:root[data-theme=light] .section-eyebrow{color:var(--header-color)}.section-title{color:var(--text-color);font-size:clamp(2.2rem,3.8vw,3rem);font-weight:750;line-height:1.15}.section-subtitle{color:var(--text-muted);font-size:clamp(1.05rem,1.3vw,1.25rem);line-height:1.65}.syntax-chips{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.syntax-chip{color:var(--text-soft);align-items:center;gap:6px;font-size:.82rem;display:inline-flex}.syntax-chip code{font-family:var(--font-mono);color:var(--action-color);background:var(--accent-tint);border:1px solid var(--accent-tint-line);border-radius:4px;padding:2px 7px;font-weight:700}:root[data-theme=light] .syntax-chip code{color:var(--header-color)}.text-gradient{background:linear-gradient(135deg, var(--grad-start) 0%, var(--grad-mid) 50%, var(--grad-end) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.glass-card{background:var(--bg-panel-color);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:clamp(24px,3.5vw,40px);transition:border-color .25s,box-shadow .25s,background-color .25s;position:relative;overflow:hidden;box-shadow:0 4px 20px #00000026}:root[data-theme=light] .glass-card{border:1px solid var(--border-color);background:#fff;box-shadow:0 4px 20px #0b1c150d}.glass-card:hover{border-color:var(--border-glow);box-shadow:0 8px 30px #0003,0 0 20px #16a08526}.btn-primary{text-align:center;white-space:nowrap;border-radius:var(--radius-full);color:#fff;letter-spacing:-.01em;cursor:pointer;background:linear-gradient(135deg,#16a085 0%,#0e6655 100%);border:1px solid #1abc9c66;justify-content:center;align-items:center;gap:10px;min-width:190px;min-height:50px;padding:14px 30px;font-size:1rem;font-weight:650;text-decoration:none;transition:border-color .2s,box-shadow .2s,background .2s;display:inline-flex;box-shadow:0 4px 18px #16a0854d}.btn-primary:hover{color:#fff;border-color:#1abc9cb3;box-shadow:0 6px 26px #16a0857a}.btn-secondary{text-align:center;white-space:nowrap;border-radius:var(--radius-full);background:var(--bg-panel-color);min-width:190px;min-height:50px;color:var(--text-color);border:1px solid var(--border-color);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:14px 28px;font-size:1rem;font-weight:650;text-decoration:none;transition:border-color .2s,background-color .2s,color .2s,box-shadow .2s;display:inline-flex;box-shadow:0 2px 8px #00000014}.btn-secondary:hover{border-color:var(--action-color);background:var(--bg-card-hover);color:var(--action-color);box-shadow:0 0 16px #16a08526}[data-reveal]{opacity:0;transition:opacity .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1);transform:translateY(14px)}[data-reveal].is-in{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1!important;transition:none!important;transform:none!important}}.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}.icon-sprite{display:none}.skip{position:absolute;left:-9999px}.skip:focus{left:var(--gutter);z-index:100;background:var(--bg-panel-color);color:var(--text-color);border:1px solid var(--action-color);border-radius:var(--radius-sm);padding:10px 18px;top:16px;box-shadow:0 4px 16px #0006}
