@import "https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--carbon-50:#f4f5f6;--carbon-100:#e7e9ee;--carbon-200:#cfd3da;--carbon-300:#9aa0a8;--carbon-400:#767b87;--carbon-500:#565a62;--carbon-600:#33343c;--carbon-700:#24252b;--carbon-800:#1c1c1e;--carbon-850:#16171b;--carbon-900:#0e0f12;--carbon-950:#0b0b0b;--ember-50:#fff3e9;--ember-100:#ffe1c6;--ember-200:#ffc593;--ember-300:#ffa455;--ember-400:#ff8a24;--ember-500:#ff7a00;--ember-600:#e96e00;--ember-700:#c05b00;--ember-800:#7c3c02;--ember-900:#40230a;--ember-ink:#1a0e04;--emerald-500:#1fa35c;--emerald-300:#4fce8b;--emerald-200:#8fd9b2;--emerald-700:#126b3d;--scarlet-500:#eb4a4f;--scarlet-300:#f2777b;--scarlet-200:#f29a9d;--scarlet-700:#a5262a;--amber-500:#ffb020;--amber-300:#ffc457;--amber-200:#ffd37a;--amber-700:#b37200;--cobalt-500:#3e63dd;--cobalt-300:#6b8aff;--cobalt-200:#9db0f3;--cobalt-700:#273f92;--element-1:#ff7a00;--element-2:#5b8cff;--element-3:#3fc98a;--element-4:#ffc457;--element-5:#a78bfa;--element-6:#34d3c0;--element-7:#f2777b;--element-8:#ef8fd0;--element-9:#a9d96b;--element-10:#9aa0a8;--surface:var(--carbon-950);--surface-raised:var(--carbon-900);--surface-sunken:#101114;--surface-overlay:#141519;--surface-chip:var(--carbon-800);--text:var(--carbon-50);--text-secondary:var(--carbon-300);--text-muted:var(--carbon-400);--text-faint:var(--carbon-500);--border:#1e1e1e;--border-strong:var(--carbon-600);--border-subtle:#17181c;--border-focus:var(--ember-500);--accent:var(--ember-500);--accent-hover:var(--ember-600);--accent-surface:#20160b;--accent-border:#5c3410;--on-accent:var(--ember-ink);--success-solid:var(--emerald-500);--success-icon:var(--emerald-300);--success-text:var(--emerald-200);--success-surface:#0f1a14;--success-border:#1c5a3a;--danger-solid:var(--scarlet-500);--danger-icon:var(--scarlet-300);--danger-text:var(--scarlet-200);--danger-surface:#1c1113;--danger-border:#6a2a2c;--warning-solid:var(--amber-500);--warning-icon:var(--amber-300);--warning-text:var(--amber-200);--warning-surface:#1c1710;--warning-border:#6a5220;--info-solid:var(--cobalt-500);--info-icon:var(--cobalt-300);--info-text:var(--cobalt-200);--info-surface:#111420;--info-border:#2c3a6a;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--radius-0:0;--radius-2:2px;--radius-6:6px;--radius-8:8px;--radius-10:10px;--radius-12:12px;--radius-16:16px;--radius-full:999px;--shadow-1:0 1px 2px #00000059;--shadow-2:0 8px 24px #0000006b;--shadow-3:0 16px 40px #00000080;--shadow-focus:0 0 0 3px #ff7a0024;--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--container-max:1320px;--bp-tablet:768px;--bp-web:1024px}[data-theme=daylight]{--surface:#fff;--surface-raised:#f7f8fa;--surface-sunken:#f0f2f5;--surface-overlay:#fff;--surface-chip:#eef0f3;--text:#16171b;--text-secondary:#565a62;--text-muted:#767b87;--text-faint:#9aa0a8;--border:#e7e9ee;--border-strong:#cfd3da;--border-subtle:#f0f2f5;--accent-surface:#fff3e9;--accent-border:#ffd0a3;--success-text:#126b3d;--success-surface:#eaf7f0;--success-border:#b7e3c9;--danger-text:#a5262a;--danger-surface:#fdecec;--danger-border:#f5c2c4;--warning-text:#8a5a00;--warning-surface:#fff6e5;--warning-border:#ffe0a3;--info-text:#273f92;--info-surface:#edf1fd;--info-border:#c3d0f7;--shadow-1:0 1px 2px #10182814;--shadow-2:0 8px 24px #1018281f;--shadow-3:0 16px 40px #10182829}[data-theme=harbor]{--accent:var(--cobalt-500);--accent-hover:var(--cobalt-700);--on-accent:#fff;--border-focus:var(--cobalt-500);--shadow-focus:0 0 0 3px #3e63dd2e}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}body{background:var(--surface);min-height:100vh;color:var(--text);overflow-x:hidden}.app-container{width:100%;max-width:var(--container-max);padding:0 var(--space-12);margin:0 auto}.mono-tag{font-family:var(--font-mono);color:var(--text-secondary);align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);background:var(--surface-chip);border:1px solid var(--border);font-size:.85rem;font-weight:500;display:inline-flex}.section-number{color:var(--accent);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.9rem;font-weight:600}.section-heading{color:var(--text);margin-top:var(--space-8);letter-spacing:-.03em;font-size:2.55rem;font-weight:800}.bento-grid{gap:var(--space-6);margin-top:var(--space-8);margin-bottom:var(--space-20);grid-template-columns:repeat(12,1fr);display:grid}.bento-card{border:1px solid var(--border);border-radius:var(--radius-16);padding:var(--space-8);transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .2s;position:relative;overflow:hidden}.bento-card:hover{border-color:var(--border-strong);transform:translateY(-4px)}.bento-stat-value{color:var(--text);font-size:3.25rem;font-weight:800;font-family:var(--font-sans);letter-spacing:-.03em;line-height:1.1}.bento-stat-label{color:var(--text-muted);margin-top:var(--space-2);font-size:.95rem;font-weight:500}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-8);cursor:pointer;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn-primary{background:var(--carbon-100);color:var(--on-accent);border:1px solid #0000}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-2px)}.btn-outline{color:var(--text);border:1px solid var(--border);background:0 0}.btn-outline:hover{border-color:var(--accent);color:var(--accent)}.navbar{z-index:1000;background:var(--surface-overlay);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:100%;position:sticky;top:0}.navbar-inner{max-width:var(--container-max);padding:var(--space-4) var(--space-4) var(--space-4) var(--space-1);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.brand-logo{align-items:center;gap:var(--space-2);font-family:var(--font-mono);color:var(--text);font-size:1.1rem;font-weight:700;text-decoration:none;display:inline-flex}.brand-dot{color:var(--accent)}.nav-links{gap:var(--space-2);align-items:center;display:flex}.nav-btn{align-items:center;gap:var(--space-2);color:var(--text-muted);padding:var(--space-2) var(--space-4);border-radius:var(--radius-8);border:1px solid #0000;font-size:.9rem;font-weight:500;text-decoration:none;transition:transform .2s,color .2s,border-color .2s,box-shadow .2s;display:inline-flex}.nav-btn:hover{color:var(--text);border-color:var(--border);box-shadow:var(--shadow-1);transform:translateY(-3px)}.nav-btn.is-active{color:var(--text);border-color:var(--border);background:var(--surface-chip);font-weight:700}.nav-btn-cta{background:var(--accent);color:#fff;font-weight:600}.nav-btn-cta:hover{background:var(--accent-hover);border-color:#0000}.footer-container{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#05080cf2;border-top:1px solid #ffffff14;width:100vw;margin-top:4rem;padding:2.5rem 3.5rem}.footer-inner{flex-wrap:wrap;justify-content:space-evenly;align-items:center;gap:1.5rem;width:100%;max-width:100%;display:flex}@media (width<=1200px){.app-container{padding:0 2rem}.navbar-inner,.footer-container{padding:1rem 2rem}}@media (width<=900px){.bento-main-bio,.bento-avatar-card{grid-column:span 12}.bento-stat-card{grid-column:span 6}.cert-grid{grid-template-columns:1fr}}@media (width<=600px){.app-container{padding:0 1.25rem}.navbar-inner,.footer-container{padding:.9rem 1.25rem}.bento-stat-card{grid-column:span 12}.journey-metrics-row{grid-template-columns:1fr}.nav-links{display:none}.section-heading{font-size:2rem}}.hero-layout{gap:var(--space-8);margin-top:var(--space-8);margin-bottom:var(--space-20);grid-template-columns:minmax(280px,380px) 1fr;align-items:start;display:grid}.hero-portrait-col{align-items:center;gap:var(--space-6);top:calc(64px + var(--space-8));flex-direction:column;display:flex;position:sticky}.hero-quote{font-family:var(--font-mono);color:var(--text-secondary);text-align:center;border-left:2px solid var(--border);padding:var(--space-1) var(--space-4);margin:0;font-size:.95rem;line-height:1.7}.bento-grid{margin-top:0;margin-bottom:0}@media (width<=900px){.hero-layout{grid-template-columns:1fr}.hero-portrait-col{margin-bottom:var(--space-6);position:static}}.bento-grid{gap:var(--space-4);grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(120px,auto);display:grid}.bento-main{grid-area:span 2/span 7}.bento-stat-a,.bento-stat-b{grid-area:span 1/span 5}.bento-avatar,.bento-stat-c,.bento-stat-d{grid-area:span 1/span 4}@media (width<=900px){.bento-main,.bento-stat-a,.bento-stat-b,.bento-avatar,.bento-stat-c,.bento-stat-d{grid-area:span 1/span 12}}.hero-layout{grid-template-columns:340px 1fr}.hero-section{min-height:100vh;padding-bottom:var(--space-20);align-items:center;display:flex;position:relative}.hero-layout{gap:var(--space-8);grid-template-columns:1fr auto 1fr;align-items:center;width:100%;display:grid}.hero-quote-col{justify-content:flex-end;display:flex}.hero-quote-big{max-width:320px;color:var(--text-secondary);text-align:right;margin:0;font-size:1.4rem;font-weight:500;line-height:1.55}.hero-portrait-center{align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.hero-portrait-caption{font-size:.8rem}.hero-intro-col{gap:var(--space-2);flex-direction:column;display:flex}@keyframes caret-blink{50%{opacity:0}}.hero-contact-overlay{bottom:var(--space-8);gap:var(--space-3);padding:var(--space-3) var(--space-5);background:var(--surface-overlay);border:1px solid var(--border);border-radius:var(--radius-full);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;position:absolute;left:50%;transform:translate(-50%)}.hero-contact-overlay a{width:40px;height:40px;color:var(--text-secondary);border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.hero-contact-overlay a:hover{color:var(--accent);border-color:var(--accent)}@media (width<=1100px){.hero-layout{text-align:center;grid-template-columns:1fr}.hero-quote-col{justify-content:center}.hero-quote-big{text-align:center;margin:0 auto}.hero-eyebrow,.typewriter-role{text-align:center}}.contact-dock{bottom:var(--space-6);right:var(--space-6);z-index:500;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface-overlay);border:1px solid var(--border);border-radius:var(--radius-full);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;position:fixed}.contact-dock a{width:40px;height:40px;color:var(--text-secondary);border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.contact-dock a:hover{color:var(--accent);border-color:var(--accent)}.hero-section{height:100%;position:relative;overflow:hidden}.deck-table{justify-content:center;align-items:center;height:600px;display:flex;position:relative}.deck-pile-center{top:50%;left:50%;transform:translate(-50%,-50%)}.deck-pile-bottom{bottom:0}.deck-card-back{border:1px solid var(--border);border-radius:var(--radius-16);background:repeating-linear-gradient(45deg, var(--surface-chip) 0 2px, transparent 2px 8px), var(--surface-raised);transform:translate(calc(var(--stack-i) * 3px), calc(var(--stack-i) * -3px));position:absolute;inset:0}.hand-fan{width:220px;height:300px;position:absolute;top:30px;left:50%;transform:translate(-50%)}.hand-card{transform-origin:bottom;width:220px;height:300px;position:absolute;top:0;left:0}.projects-layout{gap:var(--space-10);grid-template-columns:1fr 2fr;align-items:center;min-height:460px;display:grid}.deck-pile{width:220px;height:300px;position:relative}.deck-count{margin-top:var(--space-4);font-family:var(--font-mono);color:var(--text-muted);font-size:.8rem}.project-card-v3{border:1px solid var(--border);background:var(--surface-raised);border-radius:var(--radius-16);flex-direction:column;display:flex;overflow:hidden}.project-card-v3-image{aspect-ratio:16/9;object-fit:cover;background:var(--surface-chip);width:100%;display:block}.project-card-v3-image--placeholder{background:var(--surface-chip)}.project-card-v3-body{padding:var(--space-5);gap:var(--space-2);flex-direction:column;display:flex}@media (width<=900px){.projects-layout,.projects-hand-col{grid-template-columns:1fr}}.projects-section{height:100vh;padding:var(--space-8) 0;flex-direction:column;display:flex;overflow:hidden}.projects-inner{flex-direction:column;height:100%;min-height:0;display:flex}.projects-header{margin-bottom:var(--space-6);flex-shrink:0;justify-content:space-between;align-items:flex-end;display:flex}.projects-layout{gap:var(--space-8);flex:1;grid-template-columns:340px 1fr;align-items:stretch;min-height:0;display:grid;position:relative}.shuffle-overlay{z-index:50;width:200px;height:260px;transition:left .5s cubic-bezier(.16,1,.3,1);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.shuffle-overlay--docked{left:170px}.project-tag-pill{margin:3px;font-size:10px;font-weight:lighter}.projects-deck-col{justify-content:center;align-items:center;gap:var(--space-6);flex-direction:column;min-width:0;display:flex}.deck-pile-static{opacity:.6;width:180px;height:240px;position:relative}.hand-fan-mini{width:160px;height:70px;position:relative}.hand-mini-card{transform-origin:bottom;width:90px;padding:var(--space-2) var(--space-3);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-8);margin-left:-45px;position:absolute;top:0;left:50%}.hand-mini-title{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;font-weight:600;display:block;overflow:hidden}.projects-hand-col{gap:var(--space-5);grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(2,1fr);min-width:0;display:grid}.project-card-v3{border:1px solid var(--border);background:var(--surface-raised);border-radius:var(--radius-16);flex-direction:column;min-height:0;display:flex;overflow:hidden}.project-card-v3-image{object-fit:cover;background:var(--surface-chip);flex-shrink:0;width:100%;height:160px}.project-card-v3-body{padding:var(--space-4);gap:var(--space-1);flex-direction:column;min-height:0;display:flex;overflow:hidden}.project-card-v3-top{justify-content:space-between;align-items:center;display:flex}.project-card-v3-links{gap:var(--space-2);display:flex}.project-card-v3-links a{border:1px solid var(--border);width:26px;height:26px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.project-card-v3-links a:hover{color:var(--accent);border-color:var(--accent)}.project-card-v3-title{color:var(--text);margin:0;font-size:.95rem;font-weight:700}.project-card-v3-description{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.75rem;line-height:1.4;display:-webkit-box;overflow:hidden}@media (width<=900px){.projects-layout,.projects-hand-col{grid-template-columns:1fr}.shuffle-overlay--docked{left:50%}}.nav-btn,.nav-btn-cta,.brand-logo{font:inherit;cursor:pointer;appearance:none;background:0 0;border:none}.deck-pile-static{opacity:1;width:160px;height:220px;position:absolute;bottom:6%;left:3%}.hand-fan-left{width:200px;height:260px;position:absolute;top:2%}.fan-card-left{width:180px;min-height:200px;padding:var(--space-4);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-16);transform-origin:bottom;gap:var(--space-2);flex-direction:column;margin-left:-90px;display:flex;position:absolute;top:10%;left:30%}.fan-card-title{color:var(--text);margin:0;font-size:1rem;font-weight:700}.stack-wrapper{position:relative}:root{--navbar-height:84px}.stack-section{height:100vh;padding-top:var(--space-4);position:sticky;top:0;overflow:hidden}.toolstack-section{height:100%;padding:0 var(--space-8) var(--space-8);overflow-y:auto}.toolstack-layout{gap:var(--space-12);grid-template-columns:2fr 1fr;align-items:center;display:grid}.toolstack-left,.toolstack-right{min-width:0}.toolstack-subtitle{color:var(--text-secondary);max-width:560px;margin:var(--space-16) 0 var(--space-1);font-size:1rem}.toolstack-clusters{gap:var(--space-5);margin-bottom:var(--space-8);flex-wrap:wrap;display:flex}.toolstack-cluster{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-12);border:1px dashed #0000;grid-template-columns:repeat(3,84px);transition:opacity .3s,border-color .3s;display:grid}.toolstack-cluster.is-dimmed{opacity:.25}.toolstack-cluster.is-highlighted{border-color:var(--border-strong)}.toolstack-key{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-10);justify-content:center;align-items:center;gap:var(--space-1);flex-direction:column;width:84px;height:84px;transition:transform .15s,border-color .15s;display:flex;position:relative;overflow:hidden}.toolstack-key:hover{border-color:var(--border-strong);transform:translateY(-3px)}.toolstack-key-index{font-family:var(--font-mono);color:var(--text-faint);z-index:2;font-size:.65rem;position:absolute;top:6px;left:8px}.toolstack-key-label{font-size:1.3rem;font-weight:700}.toolstack-key-name{color:var(--text-muted);font-size:.68rem}.toolstack-key-overlay{background:var(--surface-overlay);opacity:0;z-index:3;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;inset:0}.toolstack-key:hover .toolstack-key-overlay{opacity:1}.toolstack-key-overlay img{width:36px;height:36px}.toolstack-filters{gap:var(--space-6);flex-wrap:wrap;display:flex}.toolstack-filter-btn{align-items:center;gap:var(--space-2);font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:.9rem;display:inline-flex}.toolstack-filter-dot{border:1px solid var(--border-strong);border-radius:50%;width:14px;height:14px;transition:all .2s;display:inline-block}.toolstack-filter-btn.is-active{color:var(--text)}.toolstack-filter-btn.is-active .toolstack-filter-dot{background:var(--text);border-color:var(--text)}.toolstack-right{gap:var(--space-8);padding-top:var(--space-16);grid-template-columns:repeat(2,1fr);justify-items:center;display:grid}.circular-progress-cell{align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.circular-progress{position:relative}.circular-progress-center{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.circular-progress-value{font-family:var(--font-mono);color:var(--text);font-size:1.3rem;font-weight:700}.circular-progress-label{font-family:var(--font-mono);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;text-align:center;font-size:.8rem}@media (width<=1100px){.toolstack-right{padding-top:var(--space-8)}}.hero-section{align-items:center;height:100%;display:flex;overflow-y:auto}.hero-layout-v2{gap:var(--space-10);grid-template-columns:3fr 3fr;align-items:center;width:100%;max-width:1600px;margin:0 auto;display:grid}.hero-left-col{justify-content:center;align-items:center;gap:var(--space-6);text-align:center;flex-direction:column;min-width:0;display:flex}.hero-quote-big{max-width:none;color:var(--text-secondary);margin:0;font-size:1.3rem;font-weight:500;line-height:1.55}.hero-portrait-block{flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.hero-identity-block{gap:var(--space-1);flex-direction:column;display:flex}.hero-eyebrow{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.85rem}.hero-name-big{letter-spacing:-.03em;color:var(--text);margin:0;font-size:2.6rem;font-weight:800;line-height:1.05}.typewriter-role{font-family:var(--font-mono);color:var(--accent);min-height:1.6em;font-size:1.2rem;font-weight:600}.typewriter-cursor{color:var(--accent);margin-left:2px;animation:1s step-end infinite caret-blink;display:inline-block}.bio-wrapper{margin-bottom:var(--space-4);position:relative}.bio-text{color:var(--text-muted);-webkit-line-clamp:3;cursor:default;-webkit-box-orient:vertical;margin:0;font-size:.95rem;line-height:1.6;display:-webkit-box;overflow:hidden}.bio-expanded{z-index:20;background:var(--surface-overlay);border:1px solid var(--border);border-radius:var(--radius-12);width:min(420px,100%);padding:var(--space-4);box-shadow:var(--shadow-3);animation:.15s bio-fade-in;position:absolute;top:0;left:0}.bio-expanded p{color:var(--text);margin:0;font-size:.95rem;line-height:1.6}@keyframes bio-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.terminal-boot{z-index:2000;background:var(--surface);justify-content:center;align-items:center;transition:opacity .4s;display:flex;position:fixed;inset:0}.terminal-boot.is-exiting{opacity:0;pointer-events:none}.terminal-boot-window{border:1px solid var(--border);border-radius:var(--radius-12);background:var(--surface-raised);width:min(480px,90vw);box-shadow:var(--shadow-3);overflow:hidden}.terminal-boot-titlebar{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);background:var(--surface-chip);display:flex}.terminal-dot{border-radius:50%;width:11px;height:11px}.terminal-dot-red{background:var(--danger-solid)}.terminal-dot-yellow{background:var(--warning-solid)}.terminal-dot-green{background:var(--success-solid)}.terminal-boot-body{padding:var(--space-6);font-family:var(--font-mono);min-height:70px;font-size:1rem}.terminal-line{color:var(--text);margin-bottom:var(--space-2)}.terminal-prompt{color:var(--accent)}.terminal-output{color:var(--text-secondary)}.terminal-cursor{margin-left:2px;animation:2s step-end infinite caret-blink;display:inline-block}.bento-featured{text-align:left;justify-content:flex-start;align-items:flex-start;gap:var(--space-1)}.featured-label{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-1);font-size:.68rem}.featured-thumb{object-fit:cover;border-radius:var(--radius-8);background:var(--surface-chip);width:100%;height:60px;margin-bottom:var(--space-2)}.bento-github{justify-content:flex-start;align-items:stretch}.bento-focus{justify-content:center;align-items:flex-start;gap:var(--space-2)}.bento-techstack{flex-direction:row;justify-content:space-around;align-items:center}.tech-stack-icon{justify-content:center;align-items:center;width:30px;height:30px;display:flex}.hero-bento-grid{gap:var(--space-4);grid-template-rows:auto auto 150px;grid-template-columns:repeat(3,1fr);grid-template-areas:"about about featured""focus trail edu""github github github";min-width:0;display:grid}.bento-cell{border:1px solid var(--border);background:var(--surface-raised);border-radius:var(--radius-16);padding:var(--space-4);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.bento-about{justify-content:space-between;gap:var(--space-4);grid-area:about}.hero-actions{gap:var(--space-2);flex-flow:wrap;display:flex}.bento-featured{justify-content:flex-start;gap:var(--space-1);grid-area:featured}.bento-edu{text-align:center;justify-content:center;align-items:center;gap:var(--space-3);grid-area:edu}.bento-focus{justify-content:center;gap:var(--space-2);grid-area:focus}.bento-trail{grid-area:trail;justify-content:center;position:relative;overflow:hidden}.bento-github{grid-area:github;justify-content:flex-start}.skills-trail-track{gap:var(--space-6);width:max-content;animation:14s linear infinite skills-trail-scroll;display:flex}@keyframes skills-trail-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.skills-trail-track{animation:none}}.tech-stack-icon{flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.tech-stack-icon img{width:32px;height:30px}.featured-label{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.68rem}.featured-thumb{object-fit:cover;border-radius:var(--radius-8);background:var(--surface-chip);width:100%;height:60px}.featured-thumb--placeholder{background:var(--surface-chip)}.featured-title{color:var(--text);font-size:.9rem;font-weight:700}.featured-tags{font-family:var(--font-mono);color:var(--accent);font-size:.68rem}.bento-edu-icon{border-radius:var(--radius-16);background:var(--surface-overlay);border:1px solid var(--border);width:56px;height:56px;color:var(--text-secondary);justify-content:center;align-items:center;display:flex}.bento-edu-university{color:var(--text);margin-bottom:.2rem;font-size:.95rem;font-weight:700}.bento-edu-degree{font-family:var(--font-mono);color:var(--accent);font-size:.75rem}.bento-github-label{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-2);font-size:.68rem}.github-activity-graph{width:100%;height:auto}.focus-icons{gap:var(--space-2);color:var(--accent);display:flex}.focus-text{color:var(--text-secondary);font-size:.82rem;line-height:1.4}.leftover-preview-popup{z-index:200;width:250px;box-shadow:var(--shadow-3);position:absolute;top:-10%}.certificates-section{height:100%;padding:calc(var(--navbar-height) + var(--space-6)) var(--space-8) var(--space-8);overflow-y:auto}.certificates-layout{gap:var(--space-10);grid-template-columns:1fr 4fr;align-items:start;height:100%;display:grid}.cert-main-col{gap:var(--space-8);flex-direction:column;min-width:0;display:flex}.cert-sidebar{gap:var(--space-1);flex-direction:column;min-width:0;display:flex;position:sticky;top:0}.cert-sidebar-btn{align-items:center;gap:var(--space-2);font:inherit;color:var(--text-muted);text-align:left;padding:var(--space-2) var(--space-3);border-radius:var(--radius-8);cursor:pointer;background:0 0;border:none;font-size:.88rem;transition:all .2s;display:flex}.cert-sidebar-btn:hover{color:var(--text)}.cert-sidebar-btn.is-active{color:var(--text);background:var(--surface-chip);font-weight:700}.cert-sidebar-dot{background:var(--border-strong);border-radius:50%;flex-shrink:0;width:8px;height:8px}.cert-sidebar-btn.is-active .cert-sidebar-dot{background:var(--accent)}.certs-grid-v2{gap:var(--space-6);grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(2,1fr);align-content:start;min-width:0;display:grid}.cert-card-v2{border:1px solid var(--border);background:var(--surface-raised);border-radius:var(--radius-16);flex-direction:column;transition:transform .2s,border-color .2s;display:flex;overflow:hidden}.cert-card-v2:hover{border-color:var(--border-strong)}.cert-card-v2-image-wrap{background:var(--surface-chip);width:100%;height:150px;color:var(--text-secondary);justify-content:center;align-items:center;display:flex;position:relative}.cert-card-v2-image{object-fit:cover;width:100%;height:100%}.cert-badge-pill{top:var(--space-3);right:var(--space-3);background:var(--surface-overlay);border:1px solid var(--border);color:var(--text);font-family:var(--font-mono);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em;font-size:.65rem;position:absolute}.cert-card-v2-body{padding:var(--space-5);gap:var(--space-2);flex-direction:column;flex:1;display:flex}.cert-card-v2-title{color:var(--text);text-transform:uppercase;letter-spacing:-.01em;margin:0;font-size:1rem;font-weight:700}.cert-card-v2-issuer{font-family:var(--font-mono);color:var(--accent);margin:0;font-size:.78rem}.cert-card-v2-description{color:var(--text-secondary);margin:0;font-size:.82rem;line-height:1.5}.cert-card-v2-footer{padding-top:var(--space-3);border-top:1px solid var(--border);font-family:var(--font-mono);color:var(--text-secondary);justify-content:center;align-items:center;margin-top:auto;font-size:.8rem;display:flex}.cert-card-v2-footer a{color:inherit;align-items:center;text-decoration:none;transition:color .2s;display:flex}.cert-card-v2-footer a:hover{color:var(--accent)}.cert-link-btn{cursor:pointer;color:inherit;font-family:var(--font-mono);background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:.8rem;transition:color .2s;display:flex}.cert-link-btn:hover{color:var(--accent)}@media (width<=900px){.certificates-layout{grid-template-columns:1fr}.cert-sidebar{flex-flow:wrap;position:static}}.cert-pagination{justify-content:center;align-items:center;gap:var(--space-2);display:flex}.cert-page-arrow,.cert-page-number{border:1px solid var(--border);border-radius:var(--radius-8);width:34px;height:34px;color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;justify-content:center;align-items:center;font-size:.85rem;transition:all .2s;display:flex}.cert-page-arrow:hover:not(:disabled),.cert-page-number:hover{border-color:var(--border-strong);color:var(--text)}.cert-page-arrow:disabled{opacity:.35;cursor:default}.cert-page-number.is-active{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:700}.journey-section{height:100%;padding:calc(var(--navbar-height) + var(--space-6)) var(--space-8) var(--space-8);flex-direction:column;display:flex;overflow:hidden}.journey-section .app-container{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.journey-route-wrap{flex:1;width:100%;min-height:0;position:relative}.journey-route-svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.journey-axis-line{stroke:var(--border-strong);stroke-width:2px;fill:none}.journey-axis-title{font-family:var(--font-mono);fill:var(--text-faint);letter-spacing:.05em;font-size:13px}.journey-tick-line{stroke:var(--border-strong);stroke-width:2px}.journey-tick-label{font-family:var(--font-mono);fill:var(--text-muted);font-size:13px}.journey-curve-line{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round}.journey-milestone{position:absolute;transform:translate(-50%,-50%)}.journey-milestone-dot{background:var(--surface-raised);border:2px solid var(--accent);width:14px;height:14px;box-shadow:0 0 0 4px var(--accent-surface);border-radius:50%;margin:0 auto;transform:translateY(-5px)}.journey-milestone-label{width:150px;position:absolute;bottom:calc(100% + 12px)}.journey-milestone-label--upper-left{text-align:right;right:calc(100% + 14px)}.journey-milestone-label--upper-right{text-align:left;left:calc(100% + 14px)}.journey-milestone-year{font-family:var(--font-mono);color:var(--accent);margin-bottom:var(--space-1);font-size:.6rem;font-weight:700}.journey-milestone-title{color:var(--text);margin-bottom:var(--space-1);font-size:.9rem;font-weight:700}.journey-milestone-desc{color:var(--text-secondary);margin:0;font-size:.7rem;line-height:1.5}.contact-section{height:100%;padding:calc(var(--navbar-height) + var(--space-6)) var(--space-8) var(--space-8) 0;flex-direction:column;display:flex;overflow:hidden}.nav-hamburger{border:1px solid var(--border);border-radius:var(--radius-8);color:var(--text);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:40px;height:40px;display:none}@media (width<=900px){.navbar-inner{position:relative}.nav-hamburger{display:flex}.nav-links{top:100%;right:var(--space-4);align-items:stretch;gap:var(--space-1);background:var(--surface-overlay);border:1px solid var(--border);border-radius:var(--radius-12);padding:var(--space-3);box-shadow:var(--shadow-3);opacity:0;pointer-events:none;flex-direction:column;min-width:200px;transition:opacity .2s,transform .2s;position:absolute;transform:translateY(-8px)}.nav-links.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.hero-layout-v2{scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;height:100%;display:block;overflow-y:auto}.hero-left-col{scroll-snap-align:start;scroll-snap-stop:always;text-align:center;justify-content:center;align-items:center;gap:var(--space-6);min-height:100%;padding:var(--space-6) var(--space-4);flex-direction:column;display:flex}.hero-bento-grid{scroll-snap-align:start;scroll-snap-stop:always;min-height:100%;padding:var(--space-6) var(--space-4);grid-template-columns:1fr 1fr;grid-template-areas:"about about""about about""featured edu""focus trail""github github"}.btn{padding:var(--space-2) var(--space-4)}.projects-deck-col{display:none}.toolstack-section{overflow:hidden}.toolstack-layout{scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;height:100%;display:block;overflow-y:auto}.toolstack-cluster{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-12);border:1px dashed #0000;grid-template-columns:repeat(3,84px);transition:opacity .3s,border-color .3s;display:grid}.toolstack-left,.toolstack-right{scroll-snap-align:start;scroll-snap-stop:always;min-height:100%;padding:var(--space-6) var(--space-4)}.toolstack-right{grid-template-columns:repeat(2,1fr);place-content:center}.certificates-layout{grid-template-columns:1fr}.cert-sidebar{gap:var(--space-2);flex-flow:wrap;position:static}.journey-milestone-label,.journey-milestone-label--upper-left,.journey-milestone-label--upper-right{text-align:center;width:160px;inset:calc(100% + 10px) auto auto 50%;transform:translate(-50%)}.journey-axis-title{font-size:10px}.journey-tick-label{font-size:11px}.journey-milestone-title{font-size:.85rem}.journey-milestone-desc{font-size:.72rem}}.contact-section{height:100%;padding:calc(var(--navbar-height) + var(--space-6)) var(--space-8) var(--space-8);align-items:center;display:flex;overflow-y:auto}.contact-card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-16);padding:var(--space-12);width:100%;max-width:750px;margin:0 auto}.contact-success{text-align:center;padding:var(--space-8) 0}.contact-success svg{margin:0 auto var(--space-4)}.contact-success h3{color:var(--text);margin-bottom:var(--space-2);font-size:1.6rem;font-weight:700}.contact-success p{color:var(--text-muted);font-size:1.05rem}.contact-form{gap:var(--space-5);flex-direction:column;display:flex}.contact-error{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-10);background:var(--danger-surface);border:1px solid var(--danger-border);color:var(--danger-text);font-size:.95rem;display:flex}.contact-submit{width:100%;padding:var(--space-4);margin-top:var(--space-2);font-size:1.05rem}.contact-submit:disabled{opacity:.7;cursor:wait}.o-input{width:100%;height:38px;padding:0 var(--space-3);background:var(--surface-raised);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-6);font-family:var(--font-sans);font-size:.9rem;line-height:1;transition:border-color .15s,box-shadow .15s}.o-input::placeholder{color:var(--text-faint)}.o-input:hover{border-color:var(--text-muted)}.o-input:focus-visible{border-color:var(--border-focus);box-shadow:var(--shadow-focus);outline:0}.o-input:disabled{opacity:.5;pointer-events:none}.o-input--sm{height:32px;font-size:.82rem}.o-input--lg{height:44px;padding:0 var(--space-4);font-size:.95rem}.o-input--error{border-color:var(--danger-solid)}.o-input--error:focus-visible{border-color:var(--danger-solid);box-shadow:0 0 0 3px #eb4a4f29}.o-field{gap:var(--space-2);flex-direction:column;display:flex}.o-field__label{color:var(--text-secondary);font-size:.82rem;font-weight:500}.o-field__hint{color:var(--text-muted);font-size:.76rem}.o-field__error{color:var(--danger-text);font-size:.76rem}.o-textarea{width:100%;min-height:84px;padding:var(--space-2) var(--space-3);background:var(--surface-raised);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-6);font-family:var(--font-sans);resize:vertical;font-size:.9rem;line-height:1.5;transition:border-color .15s,box-shadow .15s}.o-textarea::placeholder{color:var(--text-faint)}.o-textarea:hover{border-color:var(--text-muted)}.o-textarea:focus-visible{border-color:var(--border-focus);box-shadow:var(--shadow-focus);outline:0}.o-textarea:disabled{opacity:.5;pointer-events:none}.o-textarea--error{border-color:var(--danger-solid)}.o-textarea--error:focus-visible{box-shadow:0 0 0 3px #eb4a4f29}
