@charset "UTF-8";:root,[data-theme=dark]{--bg-base: #080b12;--bg-surface: #0e1420;--bg-card: #111827;--bg-card-hover: #161f30;--accent: #00e5ff;--accent2: #7c3aed;--accent-green: #00ff88;--accent-orange: #ff6b35;--t1: #f0f4ff;--t2: #8899bb;--t3: #4a5a7a;--bd: rgba(0,229,255,.12);--bdh: rgba(0,229,255,.4);--shadow: 0 24px 48px rgba(0,0,0,.5);--glow: 0 0 24px rgba(0,229,255,.18);--glow2: 0 0 48px rgba(0,229,255,.32);--nav-bg: rgba(8,11,18,.94);--code-bg: #111827}[data-theme=light]{--bg-base: #f3f5fb;--bg-surface: #ffffff;--bg-card: #ffffff;--bg-card-hover: #eef1fa;--accent: #0077aa;--accent2: #6d28d9;--accent-green: #059669;--accent-orange: #d4520f;--t1: #0f172a;--t2: #475569;--t3: #94a3b8;--bd: rgba(0,119,170,.14);--bdh: rgba(0,119,170,.45);--shadow: 0 4px 24px rgba(0,0,0,.08);--glow: 0 0 20px rgba(0,119,170,.12);--glow2: 0 0 40px rgba(0,119,170,.2);--nav-bg: rgba(243,245,251,.95);--code-bg: #1e293b}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Sora,sans-serif;background:var(--bg-base);color:var(--t1);line-height:1.6;overflow-x:hidden;transition:background .3s,color .3s}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--accent);border-radius:3px}::selection{background:color-mix(in srgb,var(--accent) 25%,transparent);color:var(--t1)}a{color:var(--accent);text-decoration:none;transition:color .2s}a:hover{color:var(--t1)}.container{max-width:1100px;margin:0 auto;padding:0 2rem}.sec-lbl{font-family:Space Mono,monospace;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem}.sec-ttl{font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:800;line-height:1.1;color:var(--t1);margin-bottom:.75rem}.sec-desc{font-size:.9rem;color:var(--t2);max-width:500px;line-height:1.8}.grid-bg{background-image:linear-gradient(var(--bd) 1px,transparent 1px),linear-gradient(90deg,var(--bd) 1px,transparent 1px);background-size:48px 48px}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.62rem 1.35rem;border-radius:4px;font-family:Space Mono,monospace;font-size:.76rem;font-weight:700;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);border:none;text-decoration:none}.btn-primary{background:var(--accent);color:var(--bg-base)}.btn-primary:hover{filter:brightness(1.1);box-shadow:var(--glow2);transform:translateY(-2px);color:var(--bg-base)}.btn-outline{background:transparent;color:var(--accent);border:1px solid var(--accent)}.btn-outline:hover{background:color-mix(in srgb,var(--accent) 8%,transparent);box-shadow:var(--glow);transform:translateY(-2px);color:var(--accent)}.badge{display:inline-flex;align-items:center;padding:.16rem .52rem;border-radius:2px;font-family:Space Mono,monospace;font-size:.6rem;font-weight:700;letter-spacing:.04em;border:1px solid}.badge-cyan{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 30%,transparent);background:color-mix(in srgb,var(--accent) 7%,transparent)}.badge-purple{color:var(--accent2);border-color:color-mix(in srgb,var(--accent2) 30%,transparent);background:color-mix(in srgb,var(--accent2) 7%,transparent)}.badge-green{color:var(--accent-green);border-color:color-mix(in srgb,var(--accent-green) 30%,transparent);background:color-mix(in srgb,var(--accent-green) 7%,transparent)}.badge-orange{color:var(--accent-orange);border-color:color-mix(in srgb,var(--accent-orange) 30%,transparent);background:color-mix(in srgb,var(--accent-orange) 7%,transparent)}.badge-gray{color:var(--t2);border-color:var(--bd);background:color-mix(in srgb,var(--t2) 6%,transparent)}@keyframes fadeUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pglow{0%,to{box-shadow:0 0 6px #00ff884d}50%{box-shadow:0 0 18px #00ff88b3}}@keyframes spin{to{transform:rotate(360deg)}}.animate-fade-up{animation:fadeUp .65s ease both}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.4s}
