:root{--bg: #0a0e14;--bg-alt: #0d1320;--surface: #121926;--surface-hover: #16202f;--border: #232f42;--border-light: #2c3a52;--text: #e6ebf2;--text-dim: #8b98ac;--text-faint: #5a6981;--accent: #2dd4bf;--accent-dim: #1a9c8c;--accent-glow: rgba(45, 212, 191, .18);--mono: "SF Mono", "JetBrains Mono", "Cascadia Code", ui-monospace, Menlo, Consolas, monospace;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--sidebar-width: 280px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}a{color:var(--accent);text-decoration:none}.layout{display:grid;grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--border);background-image:radial-gradient(circle at 30% 0%,var(--accent-glow),transparent 60%);overflow-y:auto}.sidebar-inner{display:flex;flex-direction:column;justify-content:space-between;height:100%;padding:2.5rem 1.75rem}.identity .eyebrow{font-family:var(--mono);color:var(--accent);font-size:.78rem;letter-spacing:.04em;margin-bottom:.9rem}.identity .eyebrow:before{content:"// ";color:var(--text-faint)}.identity .eyebrow:after{content:"_";animation:blink 1.1s step-end infinite;margin-left:.15rem}.identity h1{font-size:1.65rem;font-weight:700;color:var(--text);letter-spacing:-.01em;line-height:1.25;margin-bottom:.4rem}.identity .role{font-family:var(--mono);font-size:.92rem;color:var(--accent);font-weight:600}.nav-vertical{display:flex;flex-direction:column;gap:.35rem;margin:2.5rem 0}.nav-vertical a{display:flex;align-items:center;gap:.65rem;font-family:var(--mono);color:var(--text-dim);font-size:.88rem;padding:.5rem .6rem;border-radius:.3rem;transition:color .15s ease,background .15s ease}.nav-vertical a:hover{color:var(--accent);background:var(--surface)}.nav-index{font-size:.7rem;color:var(--text-faint)}.sidebar-footer{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-family:var(--mono);font-size:.82rem}.sidebar-footer a{color:var(--text-dim)}.sidebar-footer a:hover{color:var(--accent)}.main{min-width:0;padding:2.5rem 3rem 4rem;display:flex;flex-direction:column;gap:1.5rem}.panel{background:var(--surface);border:1px solid var(--border);border-radius:.6rem;padding:2rem}.panel h2{display:inline-flex;align-items:baseline;gap:.75rem;font-size:1.35rem;font-weight:700;color:var(--text);margin-bottom:1.5rem}.panel h2:before{font-family:var(--mono);font-size:.8rem;font-weight:600;color:var(--accent);border:1px solid var(--border-light);border-radius:.25rem;padding:.1rem .45rem}#about h2:before{content:"01"}#skills h2:before{content:"02"}#certifications h2:before{content:"03"}#projects h2:before{content:"04"}#writing h2:before{content:"05"}#contact h2:before{content:"06"}.lede{font-size:1.05rem;color:var(--text);border-left:2px solid var(--accent);padding-left:1rem;margin-bottom:1.5rem}.about-text{display:flex;flex-direction:column;gap:1.1rem;color:var(--text-dim);max-width:68ch}.bento-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-flow:dense;gap:1rem}.skill-card{background:var(--bg-alt);border:1px solid var(--border);border-left:2px solid var(--accent-dim);border-radius:.4rem;padding:1.25rem;grid-column:span 1;transition:border-color .15s ease,background .15s ease}.skill-card.span-wide{grid-column:span 2}.skill-card.span-wide-tall{grid-column:span 2;grid-row:span 2}.skill-card:hover{border-left-color:var(--accent);background:var(--surface-hover)}.skill-card h3{font-family:var(--mono);color:var(--accent);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.9rem}.skill-card ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}.skill-card li{color:var(--text-dim);font-size:.9rem;padding-left:1rem;position:relative}.skill-card li:before{content:"›";position:absolute;left:0;color:var(--text-faint);font-family:var(--mono)}.cert-chips{display:flex;flex-wrap:wrap;gap:.6rem}.cert-chip{font-size:.88rem;font-weight:500;color:var(--text);background:var(--bg-alt);border:1px solid var(--border);border-radius:999px;padding:.5rem 1rem}.cert-chip:before{content:"✓ ";color:var(--accent);font-family:var(--mono);font-weight:600}.widget{background:var(--bg-alt);border:1px solid var(--border);border-radius:.4rem;padding:1.75rem;display:flex;flex-direction:column;gap:1.25rem;align-items:flex-start;max-width:560px}.widget p{color:var(--text-dim)}.widget-actions{display:flex;gap:1rem;flex-wrap:wrap}.btn{display:inline-block;padding:.7rem 1.4rem;border-radius:.3rem;font-weight:600;font-size:.9rem;border:1px solid transparent;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.btn-primary{background:var(--accent);color:#04231f}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 0 0 1px var(--accent),0 8px 20px var(--accent-glow)}.btn-secondary{background:transparent;color:var(--text);border-color:var(--border-light)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.site-footer{padding:2rem 0;text-align:center;color:var(--text-faint);font-family:var(--mono);font-size:.8rem;border-top:1px solid var(--border)}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@media (max-width: 900px){.layout{grid-template-columns:1fr}.sidebar{position:relative;height:auto;border-right:none;border-bottom:1px solid var(--border)}.sidebar-inner{padding:2rem 1.5rem}.nav-vertical{flex-direction:row;flex-wrap:wrap;margin:1.5rem 0}.main{padding:1.5rem 1.25rem 3rem}.panel{padding:1.5rem}.bento-grid{grid-template-columns:repeat(2,1fr)}.skill-card.span-wide,.skill-card.span-wide-tall{grid-column:span 2;grid-row:auto}}@media (max-width: 560px){.bento-grid{grid-template-columns:1fr}.skill-card.span-wide,.skill-card.span-wide-tall{grid-column:span 1}.identity h1{font-size:1.4rem}}
