@keyframes fade-up{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slide-in-left{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes glow-pulse{0%,to{box-shadow:0 0 20px rgba(0,217,255,.2)}50%{box-shadow:0 0 40px rgba(0,217,255,.4)}}:root{--bg:#0a0f23;--bg-elevated:rgba(12, 17, 43, 0.98);--bg-soft:rgba(13, 19, 48, 0.95);--card:rgba(12, 17, 43, 0.96);--ink:#f0f4f9;--muted:#a8b2c8;--subtle:#7a8499;--border-subtle:rgba(148, 163, 184, 0.22);--brand:#00d9ff;--accent:#0084ff;--accent-hot:#ff006e;--ok:#10b981;--shadow-soft:0 20px 50px rgba(10, 15, 35, 0.9);--shadow-lg:0 24px 60px rgba(10, 15, 35, 0.95);--radius-lg:16px;--radius-pill:999px;--nav-blur:20px;--card-index:0;--tile-bg-start:rgba(12, 17, 43, 0.99);--tile-bg-end:rgba(12, 17, 43, 0.94);--tile-bg-hover-start:rgba(12, 17, 43, 1);--tile-bg-hover-end:rgba(12, 17, 43, 0.96);--badge-bg-start:rgba(12, 17, 43, 0.98);--badge-bg-end:rgba(12, 17, 43, 0.94);--pill-bg:rgba(12, 17, 43, 0.94);--visits-bg:rgba(12, 17, 43, 0.92);--visits-bg-hover:rgba(12, 17, 43, 0.96);--navbar-bg-start:rgba(12, 17, 43, 0.96);--navbar-bg-end:rgba(12, 17, 43, 0.88);--navbar-bg-hover-start:rgba(12, 17, 43, 0.98);--navbar-bg-hover-end:rgba(12, 17, 43, 0.92);--btn-accent-bg:rgba(0, 132, 255, 0.08);--btn-accent-bg-hover:rgba(0, 132, 255, 0.12);--tile-accent-glow:rgba(0, 217, 255, 0.3);--brand-hover:#26f0ff;--modal-overlay-bg:linear-gradient(145deg, rgba(12, 17, 43, 0.7), rgba(12, 17, 43, 0.5));--modal-overlay-bg-hover:linear-gradient(145deg, rgba(12, 17, 43, 0.8), rgba(12, 17, 43, 0.6));--entry-bg:linear-gradient(145deg, rgba(12, 17, 43, 0.7), rgba(12, 17, 43, 0.5));--entry-bg-hover:linear-gradient(145deg, rgba(12, 17, 43, 0.8), rgba(12, 17, 43, 0.6));--code-inline-bg:rgba(0, 217, 255, 0.08);--code-inline-bg-hover:rgba(0, 217, 255, 0.12)}@media (prefers-color-scheme:light){:root{--bg:#f8f9fb;--bg-elevated:rgba(255, 255, 255, 0.98);--bg-soft:rgba(245, 247, 252, 0.95);--card:rgba(255, 255, 255, 0.96);--ink:#1a1f2e;--muted:#475569;--subtle:#64748b;--border-subtle:rgba(203, 213, 225, 0.6);--brand:#0066ff;--accent:#0052cc;--accent-hot:#d41c5c;--ok:#047857;--shadow-soft:0 20px 50px rgba(0, 0, 0, 0.06);--shadow-lg:0 24px 60px rgba(0, 0, 0, 0.1);--tile-bg-start:rgba(240, 247, 252, 0.99);--tile-bg-end:rgba(236, 245, 250, 0.94);--tile-bg-hover-start:rgba(244, 249, 254, 1);--tile-bg-hover-end:rgba(240, 247, 252, 0.96);--badge-bg-start:rgba(236, 252, 248, 0.98);--badge-bg-end:rgba(232, 245, 233, 0.94);--pill-bg:rgba(240, 247, 252, 0.94);--visits-bg:rgba(240, 247, 252, 0.92);--visits-bg-hover:rgba(240, 247, 252, 0.96);--navbar-bg-start:rgba(255, 255, 255, 0.96);--navbar-bg-end:rgba(248, 251, 255, 0.88);--navbar-bg-hover-start:rgba(255, 255, 255, 0.98);--navbar-bg-hover-end:rgba(248, 251, 255, 0.92);--btn-accent-bg:rgba(0, 102, 255, 0.06);--btn-accent-bg-hover:rgba(0, 102, 255, 0.1);--tile-accent-glow:rgba(0, 102, 255, 0.2);--brand-hover:#0080ff;--modal-overlay-bg:linear-gradient(145deg, rgba(240, 247, 252, 0.7), rgba(236, 245, 250, 0.5));--modal-overlay-bg-hover:linear-gradient(145deg, rgba(240, 247, 252, 0.8), rgba(236, 245, 250, 0.6));--entry-bg:linear-gradient(145deg, rgba(240, 247, 252, 0.7), rgba(236, 245, 250, 0.5));--entry-bg-hover:linear-gradient(145deg, rgba(240, 247, 252, 0.8), rgba(236, 245, 250, 0.6));--code-inline-bg:rgba(0, 102, 255, 0.08);--code-inline-bg-hover:rgba(0, 102, 255, 0.12)}body{background:radial-gradient(ellipse 1200px 600px at 50% -10%,rgba(0,102,255,.08),transparent 45%),radial-gradient(ellipse 900px 700px at 10% 100%,rgba(0,132,255,.06),transparent 50%),linear-gradient(180deg,#f8f9fb 0,#fafbfd 50%,#f8f9fb 100%);background-attachment:fixed}}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;font-family:"IBM Plex Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6;color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){body{background:radial-gradient(ellipse 1200px 600px at 50% -10%,rgba(0,217,255,.15),transparent 45%),radial-gradient(ellipse 900px 700px at 10% 100%,rgba(0,132,255,.1),transparent 50%),linear-gradient(180deg,#0a0f23 0,#0c0f1f 50%,#0a0f23 100%);background-attachment:fixed}}a{color:var(--brand);text-decoration:none;transition:color .2s ease,opacity .2s ease}a:hover{text-decoration:underline;color:#26f0ff}.skip-link{position:absolute;top:-100px;left:0;padding:8px 16px;background:var(--brand);color:var(--bg);font-weight:600;z-index:100;border-radius:0 0 8px 0;transition:top .2s ease}.skip-link:focus{top:0;text-decoration:none}.wrap{max-width:1120px;margin:0 auto;padding:24px 20px 40px}.crumbs,.navbar{display:flex;align-items:center}.crumbs{gap:8px;margin:0 0 20px;font-size:14px;color:var(--muted)}.crumbs a{color:var(--muted);transition:color .2s ease}.crumbs a:hover{color:var(--ink);text-decoration:underline}.crumbs .sep{opacity:.6}.navbar{position:sticky;top:16px;z-index:20;justify-content:flex-end;gap:16px;margin-bottom:18px}.navbar-inner{display:flex;gap:8px;padding:6px 10px;border-radius:var(--radius-pill);background:radial-gradient(circle at 0 0,rgba(0,217,255,.12),transparent 60%),linear-gradient(120deg,var(--navbar-bg-start),var(--navbar-bg-end));border:1px solid rgba(0,132,255,.3);backdrop-filter:blur(var(--nav-blur));box-shadow:0 12px 32px rgba(10,15,35,.95);transition:all .3s ease}.navbar-inner:hover{border-color:rgba(0,217,255,.4);background:radial-gradient(circle at 0 0,rgba(0,217,255,.16),transparent 60%),linear-gradient(120deg,var(--navbar-bg-hover-start),var(--navbar-bg-hover-end))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:8px 14px;border-radius:999px;border:1px solid transparent;background:0 0;color:var(--muted);font-size:13px;font-weight:500;letter-spacing:.02em;text-transform:none;white-space:nowrap;cursor:pointer;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .16s ease,color .2s ease}.btn-ghost{border-color:transparent;background:0 0}.btn-ghost:hover,.btn-primary:hover{transform:translateY(-2px);text-decoration:none}.btn-ghost:hover{border-color:rgba(0,217,255,.5);background:var(--btn-accent-bg-hover);color:var(--brand);box-shadow:0 8px 20px rgba(0,132,255,.15)}.btn-primary{background:radial-gradient(circle at 0 0,rgba(0,217,255,.28),transparent 60%),linear-gradient(135deg,#00d9ff,#0084ff);border-color:rgba(0,217,255,.4);color:#0a0f23;font-weight:600;box-shadow:0 20px 45px rgba(0,132,255,.3)}.btn-primary:hover{box-shadow:0 24px 55px rgba(0,132,255,.4);background:radial-gradient(circle at 0 0,rgba(0,217,255,.35),transparent 60%),linear-gradient(135deg,#26f0ff,#09f)}.grid,.hero{display:grid;gap:18px}.hero{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:26px;align-items:stretch;margin-top:10px}.card{position:relative;background:radial-gradient(circle at 0-30%,rgba(0,132,255,.15),transparent 50%),radial-gradient(circle at 120% 140%,rgba(0,217,255,.08),transparent 55%),var(--card);border-radius:var(--radius-lg);padding:22px 20px 20px;border:1px solid var(--border-subtle);border-bottom:2px solid rgba(0,132,255,.25);box-shadow:var(--shadow-soft);overflow:hidden;backdrop-filter:blur(18px);transition:all .4s cubic-bezier(.16,1,.3,1)}.card:hover{border-bottom-color:rgba(0,217,255,.4);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card:nth-child(2n){border-left:3px solid var(--brand);border-bottom:1px solid var(--border-subtle)}.card:nth-child(2n):hover{border-left-color:#26f0ff}.card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20%0,rgba(0,217,255,.08),transparent 55%);opacity:.6;pointer-events:none;mix-blend-mode:soft-light}.card>*{position:relative;z-index:1}.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-pill);border:1px solid rgba(0,217,255,.35);color:var(--brand);background:radial-gradient(circle at 0 50%,rgba(0,217,255,.12),transparent 60%),var(--pill-bg);font-size:12px;letter-spacing:.04em;text-transform:uppercase;font-weight:500;transition:all .2s ease}.pill:hover{border-color:rgba(0,217,255,.5);background:radial-gradient(circle at 0 50%,rgba(0,217,255,.16),transparent 60%),rgba(12,17,43,.96);box-shadow:0 4px 12px rgba(0,217,255,.15)}.pill::before{content:"";width:7px;height:7px;border-radius:999px;background:var(--ok);box-shadow:0 0 0 6px rgba(16,185,129,.25)}.h1{font-size:42px;line-height:1.2;margin:12px 0 6px;font-weight:700;letter-spacing:-.01em}.h2{font-size:17px;color:var(--muted);margin:0 0 16px;font-weight:500}.h3{font-size:13px;color:var(--subtle);margin:0 0 6px;font-weight:600;text-transform:uppercase;letter-spacing:.14em}.badge-availability{margin:8px 0 10px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.card-profile{align-content:flex-start}.section-top-margin{margin-top:26px}.section-heading{font-size:19px;color:var(--ink);font-weight:600;margin-bottom:8px;letter-spacing:-.01em}.section-heading-tight{margin-bottom:4px}.h3-no-margin{margin:0}.footer-stack-label{margin:0;font-size:12px;color:var(--subtle);letter-spacing:.14em;text-transform:uppercase}.list{display:grid;gap:10px}.badge{display:inline-flex;align-items:center;gap:8px;background:radial-gradient(circle at 0 0,rgba(16,185,129,.32),transparent 55%),linear-gradient(135deg,var(--badge-bg-start),var(--badge-bg-end));border:1px solid rgba(16,185,129,.6);padding:6px 11px;border-radius:999px;color:var(--ink);font-size:13px;transition:all .2s ease}.badge:hover{border-color:rgba(16,185,129,.8);box-shadow:0 6px 16px rgba(16,185,129,.2)}.badge span:first-child{font-size:14px}.kpi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:15px}.kpi .tile{position:relative;padding:12px 11px 10px;border-radius:12px;border:1px solid rgba(0,132,255,.2);background:linear-gradient(145deg,var(--tile-bg-start),var(--tile-bg-end));box-shadow:0 8px 20px rgba(10,15,35,.8);font-size:13px;transition:all .3s ease}.kpi .tile:hover{border-color:rgba(0,132,255,.35);background:linear-gradient(145deg,var(--tile-bg-hover-start),var(--tile-bg-hover-end));box-shadow:0 12px 28px rgba(0,132,255,.15);transform:translateY(-1px)}.kpi .tile::after{content:"";position:absolute;right:-18px;top:-18px;width:40px;height:40px;border-radius:999px;background:radial-gradient(circle,var(--tile-accent-glow),transparent);opacity:.4;filter:blur(4px);pointer-events:none}.kpi .tile .h3{margin-bottom:2px;font-size:11px;opacity:.85}.kpi .tile div:last-child{font-size:13px;font-weight:500}.avatar{width:112px;height:112px;border-radius:12px;object-fit:cover;border:2px solid rgba(0,217,255,.3);box-shadow:0 16px 36px rgba(10,15,35,.9);transition:all .3s ease}.avatar:hover,.visits:hover{border-color:rgba(0,217,255,.5)}.avatar:hover{box-shadow:0 20px 48px rgba(0,132,255,.25);transform:scale(1.02)}.profile-layout{display:grid;grid-template-columns:auto minmax(0,1fr);gap:28px;align-items:flex-start}.profile-meta{display:grid;gap:9px;font-size:14px}.visits{display:inline-flex;align-items:center;gap:16px;padding:9px 20px;margin-top:6px;border-radius:999px;border:1px dashed rgba(0,217,255,.3);background:var(--visits-bg);font-size:13px;color:var(--muted);white-space:nowrap;transition:all .2s ease}.visits:hover{background:var(--visits-bg-hover);box-shadow:0 6px 16px rgba(0,132,255,.1)}.visits .h3,.visits .mono{white-space:nowrap;flex:0 0 auto}.mono{font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:13px}#experience .card{padding-top:20px}#experience{--card-index:0}.xp>div{--item-index:0;animation:slide-in-left .6s ease-out forwards;animation-delay:calc(.1s + var(--item-index)*.12s)}.xp>div:nth-child(1){--item-index:0}.xp>div:nth-child(2){--item-index:1}.xp>div:nth-child(3){--item-index:2}.xp>div:nth-child(4){--item-index:3}.xp h4{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--ink)}.xp h4 small{font-weight:400;font-size:13px;display:block;margin-top:2px}.xp ul{margin:8px 0 0 18px;padding:0;font-size:14px}#certs .list>div,.xp li{transition:color .2s ease}.xp li{margin:0 0 6px}#certs .list>div:hover,.xp li:hover,article.card code{color:var(--brand)}#skills .card{min-height:100%}#certs .list>div{position:relative;padding-left:14px}#certs .list>div::before{content:"";position:absolute;left:0;top:.75em;width:6px;height:6px;border-radius:999px;background:var(--brand);box-shadow:0 0 0 4px rgba(0,217,255,.15);transform:translateY(-50%);transition:all .2s ease}#certs .list>div:hover::before{background:var(--brand-hover);box-shadow:0 0 0 6px rgba(0,217,255,.25)}article.card{max-width:900px;margin:0 auto;animation:fade-up .6s cubic-bezier(.16,1,.3,1) forwards}article.card header{margin-bottom:24px}article.card h1{margin:12px 0 8px;font-size:32px}article.card h2{margin:24px 0 12px;font-size:20px;font-weight:600}article.card p{margin:8px 0;color:var(--ink)}article.card p.lede{font-size:16px;color:var(--muted);margin:0 0 12px}article.card ul{margin:12px 0;padding-left:24px}article.card li{margin:6px 0}article.card code{padding:3px 8px;border-radius:8px;background:var(--code-inline-bg);border:1px solid rgba(0,132,255,.25);font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:13px;transition:all .2s ease}article.card code:hover{background:var(--code-inline-bg-hover);border-color:rgba(0,217,255,.4)}article.card footer{margin-top:32px;padding-top:20px;border-top:1px solid rgba(0,132,255,.15);color:var(--subtle);font-size:14px}.xp h4 small,.xp ul,article.card h2,article.card time,article.card ul{color:var(--muted)}.entry{display:flex;align-items:flex-start;gap:14px;padding:16px;border:1px solid rgba(0,132,255,.2);border-left:3px solid var(--brand);border-radius:12px;background:var(--entry-bg);box-shadow:0 8px 20px rgba(10,15,35,.6);transition:all .3s ease}.entry:hover{border-left-color:var(--brand-hover);background:var(--entry-bg-hover);box-shadow:0 12px 28px rgba(0,132,255,.15);transform:translateX(2px)}.entry>div:first-child{font-size:24px;line-height:1;flex-shrink:0}.entry>div:nth-child(2){flex:1}.entry strong{color:var(--ink);font-weight:600}.entry .muted{color:var(--muted);font-size:14px;margin-top:4px}.footer{margin:32px 0 4px;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:13px;padding-top:14px;border-top:1px solid rgba(0,132,255,.15)}.footer img{height:1em;vertical-align:middle;margin:0 4px;opacity:.85;transition:opacity .2s ease}.footer img:hover{opacity:1}.hero>.card:first-child{animation:fade-up .6s cubic-bezier(.16,1,.3,1) forwards}.hero>.card:last-child{animation:fade-up .7s cubic-bezier(.16,1,.3,1) forwards;animation-delay:.08s}#experience .card,#skills .card{animation:fade-up .7s cubic-bezier(.16,1,.3,1) forwards;animation-delay:.12s}@media (max-width:900px){.navbar{justify-content:center;margin-bottom:16px}.hero{grid-template-columns:minmax(0,1fr)}.kpi{grid-template-columns:repeat(3,minmax(0,1fr))}.footer{flex-direction:column;align-items:flex-start;gap:6px}}@media (max-width:640px){:root{--radius-lg:14px}.wrap{padding:18px 14px 30px}.navbar{top:10px}.navbar-inner{width:100%;justify-content:center;flex-wrap:wrap}.hero{margin-top:6px}.h1{font-size:32px}article.card h1{font-size:28px}.kpi,.profile-layout{grid-template-columns:minmax(0,1fr)}.profile-layout{gap:14px}.avatar{width:96px;height:96px}}@media (prefers-color-scheme:light){:root{--bg:#f5f6fa;--bg-elevated:#ffffff;--bg-soft:#f1f3f8;--card:#ffffff;--ink:#0a0f23;--muted:#4a5568;--subtle:#6b7280;--border-subtle:rgba(0, 132, 255, 0.15);--brand:#0084ff;--accent:#00a8e8;--ring:rgba(0, 132, 255, 0.25)}body{background:radial-gradient(ellipse 1200px 600px at 50% -10%,rgba(0,132,255,.08),transparent 45%),radial-gradient(ellipse 900px 700px at 10% 100%,rgba(0,217,255,.05),transparent 50%),#f5f6fa}.card{background:radial-gradient(circle at 0-30%,rgba(0,132,255,.08),transparent 50%),radial-gradient(circle at 120% 140%,rgba(0,217,255,.05),transparent 55%),var(--card);border-color:rgba(0,132,255,.15);box-shadow:0 4px 12px rgba(10,15,35,.08)}.card:hover{box-shadow:0 12px 24px rgba(10,15,35,.12)}.navbar-inner{border-color:rgba(0,132,255,.2);box-shadow:0 8px 20px rgba(10,15,35,.08)}.btn-ghost:hover{border-color:rgba(0,132,255,.3)}.footer{border-top-color:rgba(0,132,255,.15)}article.card code{border-color:rgba(0,132,255,.15)}}
/* PGP key download block */
.pgp-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
}

.pgp-btn {
  font-size: 13px;
}

.pgp-fingerprint {
  font-size: 13px;
  color: var(--muted);
}

/* Venture/startup line */
.venture-line {
  margin: 0 0 12px;
  font-size: 14px;
  color: var(--subtle);
  font-weight: 400;
  letter-spacing: 0.01em;
}

.venture-link {
  color: var(--brand);
  font-weight: 500;
  text-decoration: none;
  padding: 2px 8px;
  margin: 0 2px;
  border-radius: 6px;
  background: rgba(0, 132, 255, 0.08);
  border: 1px solid rgba(0, 132, 255, 0.15);
  transition: all 0.2s ease;
}

.venture-link:hover {
  background: rgba(0, 217, 255, 0.12);
  border-color: rgba(0, 217, 255, 0.35);
  color: var(--brand-hover);
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(0, 132, 255, 0.15);
}

.venture-role {
  color: var(--muted);
  font-size: 13px;
  font-style: italic;
  opacity: 0.85;
}

/* Collapsible block for earlier roles */
.xp-more summary {
  list-style: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.xp-more summary::-webkit-details-marker {
  display: none;
}
