:root{--bg:#0b0f14;--bg-elev:#111720;--surface:#151c26;--surface-2:#1a2330;--border:#253041;--text:#e6edf3;--text-dim:#8fa1b3;--accent:#4ade80;--accent-2:#22d3ee;--accent-dim:#4ade801f;--danger:#f87171;--font-mono:ui-monospace, "Cascadia Code", "JetBrains Mono", Menlo, Consolas, monospace;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--container:1080px;--radius:10px;--nav-h:64px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(600px 300px at 80% -10%,#4ade801a,#0000 70%),radial-gradient(500px 260px at 10% 110%,#22d3ee0f,#0000 70%);position:fixed;inset:0}body:after{content:"";z-index:-2;pointer-events:none;background-image:linear-gradient(#4ade8009 1px,#0000 1px),linear-gradient(90deg,#4ade8009 1px,#0000 1px);background-size:42px 42px;position:fixed;inset:0}::selection{background:var(--accent-dim)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.container{max-width:var(--container);margin:0 auto;padding:0 1.5rem}.section{padding:4rem 0}.grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem;display:grid}.center{text-align:center;margin-top:2rem}.accent{color:var(--accent)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;transition:border-color .2s,transform .2s}.card:hover{border-color:var(--accent);transform:translateY(-2px)}.card-title{font-family:var(--font-mono);margin:0 0 .5rem;font-size:1.1rem}.card-text{color:var(--text-dim);margin:0 0 1rem}.btn{font-family:var(--font-mono);border-radius:var(--radius);border:1px solid #0000;padding:.6rem 1.25rem;font-size:.9rem;text-decoration:none;transition:background .2s,color .2s,border-color .2s;display:inline-block}.btn-primary{background:var(--accent);color:#06140c;font-weight:700}.btn-primary:hover{background:#86efac}.btn-secondary{border-color:var(--border);color:var(--text)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.nav{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);background:#0b0f14d9;position:sticky;top:0}.nav-inner{height:var(--nav-h);justify-content:space-between;align-items:center;display:flex}.logo{font-family:var(--font-mono);color:var(--accent);font-size:1.05rem;font-weight:700;text-decoration:none}.logo:hover{color:#67e8f9}.nav-links{align-items:center;gap:1.25rem;display:flex}.nav-link{color:var(--text-dim);font-family:var(--font-mono);font-size:.9rem;text-decoration:none;transition:color .15s}.nav-link:hover,.nav-link.active{color:var(--text)}.nav-link.active:before{content:"> ";color:var(--accent)}.nav-mobile{display:none;position:relative}.nav-mobile summary{cursor:pointer;font-family:var(--font-mono);color:var(--text-dim);border:1px solid var(--border);border-radius:var(--radius);padding:.4rem .6rem;list-style:none}.nav-mobile summary::-webkit-details-marker{display:none}.nav-mobile-links{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.25rem;min-width:180px;padding:.5rem;display:flex;position:absolute;top:calc(100% + .5rem);right:0}.nav-mobile-links a{color:var(--text-dim);font-family:var(--font-mono);border-radius:6px;padding:.4rem .6rem;font-size:.9rem;text-decoration:none}.nav-mobile-links a:hover,.nav-mobile-links a.active{background:var(--surface-2);color:var(--text)}.hero{padding:5rem 0 3rem}.hero-eyebrow{font-family:var(--font-mono);color:var(--text-dim);margin:0}.hero-title{font-family:var(--font-mono);margin:.75rem 0;font-size:clamp(2rem,5vw,3.2rem);line-height:1.15}.hero-subtitle{font-family:var(--font-mono);color:var(--accent-2);margin:0 0 1rem;font-size:1.15rem}.hero-tagline{color:var(--text-dim);max-width:60ch;margin:0 0 1.5rem}.hero-actions{flex-wrap:wrap;gap:1rem;margin-bottom:1.75rem;display:flex}.section-heading h2{font-family:var(--font-mono);margin:0 0 .35rem;font-size:1.6rem}.section-heading h2:before{content:"# ";color:var(--accent)}.section-subtitle{color:var(--text-dim);margin:0 0 1.75rem}.tag-list{flex-wrap:wrap;gap:.4rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.tag-list li{font-family:var(--font-mono);color:var(--accent);background:var(--accent-dim);border:1px solid var(--border);border-radius:999px;padding:.2rem .55rem;font-size:.75rem}.card-links{gap:1.25rem;display:flex}.card-links a{color:var(--accent);font-family:var(--font-mono);font-size:.9rem;text-decoration:none}.card-links a:hover{text-decoration:underline}.skill-group{margin-bottom:2rem}.skill-group h3{font-family:var(--font-mono);color:var(--accent-2);margin:0 0 1rem;font-size:1rem}.skill-group .tag-list{margin:0}.cert-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;display:grid}.cert-card{flex-direction:column;display:flex}.cert-card h3{font-family:var(--font-mono);margin:0 0 .25rem;font-size:1rem}.cert-issuer{font-family:var(--font-mono);color:var(--text-dim);margin:0 0 .75rem;font-size:.8rem}.cert-meta{margin-top:auto;margin-bottom:0}.cert-status{font-family:var(--font-mono);color:var(--accent-2);font-size:.78rem}.timeline{border-left:1px dashed var(--border);padding-left:2.25rem;position:relative}.timeline-item{margin-bottom:2rem;position:relative}.timeline-marker{background:var(--accent);width:.85rem;height:.85rem;box-shadow:0 0 0 4px var(--accent-dim);border-radius:50%;position:absolute;top:.6rem;left:-2.75rem}.timeline-head h3{font-family:var(--font-mono);margin:0 0 .25rem;font-size:1.05rem}.timeline-period{font-family:var(--font-mono);color:var(--text-dim);margin:0 0 .75rem;font-size:.82rem}.timeline-summary{color:var(--text-dim);margin:0 0 .75rem}.timeline-highlights{color:var(--text-dim);margin:0 0 1rem;padding-left:1.25rem}.timeline-highlights li{margin-bottom:.3rem}.blog-card a{color:inherit;text-decoration:none;display:block}.blog-card time{font-family:var(--font-mono);color:var(--text-dim);font-size:.8rem}.blog-card h3{font-family:var(--font-mono);color:var(--text);margin:.35rem 0 .5rem;font-size:1.05rem}.blog-card h3:hover{color:var(--accent)}.blog-card p{color:var(--text-dim);margin:0 0 1rem}.prose{max-width:70ch}.prose h1,.prose h2,.prose h3{font-family:var(--font-mono);line-height:1.3}.prose a{color:var(--accent)}.prose code{font-family:var(--font-mono);background:var(--surface-2);border-radius:4px;padding:.15rem .35rem;font-size:.9em}.prose pre{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose blockquote{border-left:3px solid var(--accent);color:var(--text-dim);margin:1.5rem 0;padding:.25rem 1rem}.prose img{border-radius:var(--radius);max-width:100%}.prose hr{border:none;border-top:1px dashed var(--border);margin:2rem 0}.contact-links{flex-direction:column;gap:1rem;max-width:480px;display:flex}.contact-links a{color:var(--text-dim);font-family:var(--font-mono);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:.75rem;padding:.9rem 1.1rem;font-size:.95rem;text-decoration:none;transition:border-color .2s,color .2s;display:flex}.contact-links a:hover{border-color:var(--accent);color:var(--accent)}.contact-links svg{flex-shrink:0;width:20px;height:20px}.social{gap:1.25rem;display:flex}.social a{color:var(--text-dim);font-family:var(--font-mono);align-items:center;gap:.4rem;font-size:.85rem;text-decoration:none;transition:color .15s;display:inline-flex}.social a:hover{color:var(--accent)}.social svg{width:18px;height:18px}.footer{border-top:1px solid var(--border);margin-top:4rem;padding:2rem 0}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.footer p{color:var(--text-dim);font-family:var(--font-mono);margin:0;font-size:.82rem}.notfound{text-align:center;padding:6rem 1.5rem}.notfound-code{font-family:var(--font-mono);color:var(--danger);margin:0;font-size:4rem}.notfound p{color:var(--text-dim)}@media (width<=720px){.nav-links{display:none}.nav-mobile{display:block}.section{padding:3rem 0}.hero{padding:3.5rem 0 2rem}.footer-inner{text-align:center;flex-direction:column}}
