:root{--color-bg-primary:#0E0E10;--color-bg-surface:#1A1A2E;--color-bg-elevated:#252540;--color-border:#2E2E48;--color-text-primary:#F1F5F9;--color-text-secondary:#94A3B8;--color-accent:#22D3EE;--color-accent-alt:#8B5CF6;--color-success:#22C55E;--font-sans:'Inter', system-ui, -apple-system, sans-serif;--font-mono:'JetBrains Mono', 'Fira Code', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--color-bg-primary);color:var(--color-text-primary)}code,pre,.font-mono{font-family:var(--font-mono)}a{color:var(--color-accent);text-underline-offset:3px}a:hover{color:var(--color-accent-alt)}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:6px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}#particles-js{display:none !important}}.hbb-section{padding-top:3rem;padding-bottom:3rem}.hbb-section.blox-animated-hero{padding:0}.container-narrow{max-width:720px;margin:0 auto;padding:0 2rem}.section{padding:0}.section-number{font-family:var(--font-mono);color:var(--color-accent);font-size:.875rem}.section-title{font-size:2rem;font-weight:700;margin:.5rem 0 1.5rem}.mb-12{margin-bottom:1.5rem !important}.card-surface{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.card-surface:hover{transform:translateY(-4px);border-color:rgba(34,211,238,.35);box-shadow:0 10px 30px rgba(34,211,238,.1)}.btn-row{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.btn-primary{background:linear-gradient(135deg,#22D3EE 0%,#8B5CF6 100%);color:#0e0e10;font-weight:650;padding:.75rem 1.5rem;border-radius:10px;text-decoration:none;display:inline-block;transition:transform .18s ease,opacity .18s ease}.btn-primary:hover{opacity:.92;transform:translateY(-1px);color:#0e0e10}.btn-primary[disabled]{opacity:.7;cursor:not-allowed}.btn-primary[disabled]:hover{opacity:.7;transform:none}.btn-primary.is-sending{opacity:.85;transform:none}.btn-primary.is-success{background:linear-gradient(135deg,#22C55E 0%,#16A34A 100%);color:#0e0e10}.btn-primary.is-error{background:linear-gradient(135deg,#EF4444 0%,#B91C1C 100%);color:#0e0e10}.btn-secondary{border:1px solid var(--color-accent);color:var(--color-accent);padding:.75rem 1.5rem;border-radius:10px;text-decoration:none;display:inline-block;transition:background-color .18s ease,transform .18s ease}.btn-secondary:hover{background-color:rgba(34,211,238,.1);transform:translateY(-1px)}.tech-tag{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-family:var(--font-mono);background:rgba(34,211,238,.1);color:var(--color-accent);border:1px solid rgba(34,211,238,.2)}.hero-section{min-height:50vh;display:flex;align-items:center;position:relative;overflow:hidden;padding:4rem 0 3rem}.hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,#0E0E10 0%,#1A1A2E 50%,#0E0E10 100%);z-index:0}#particles-js{position:absolute;inset:0;z-index:1}.hero-content{position:relative;z-index:10;max-width:760px;padding:0 2rem}.hero-whoami{font-family:var(--font-mono);color:var(--color-accent);margin:0 0 1rem}.hero-name{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800;line-height:1.05;margin:0 0 .5rem}.hero-title{color:var(--color-text-secondary);font-size:clamp(1rem,2.5vw,1.25rem);margin:0 0 1.25rem}.hero-typed{font-family:var(--font-mono);color:var(--color-accent);font-size:clamp(1rem,2vw,1.25rem);min-height:2rem;margin:0 0 1.25rem}.hero-description{color:var(--color-text-secondary);max-width:560px;line-height:1.7;margin:0 0 2rem}.timeline{position:relative;padding-left:2rem}.timeline::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--color-accent),var(--color-accent-alt),var(--color-success))}.timeline-era{position:relative;padding-bottom:1.5rem}.timeline-era:last-child{padding-bottom:0}.timeline.js-animated .timeline-era{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}.timeline.js-animated .timeline-era.visible{opacity:1;transform:translateY(0)}.timeline-era::before{content:'';position:absolute;left:-2rem;top:.5rem;width:12px;height:12px;border-radius:50%;background:var(--color-accent);border:2px solid var(--color-bg-primary);transform:translateX(-5px)}.timeline-year{font-family:var(--font-mono);font-size:.875rem;color:var(--color-accent);margin:0 0 .25rem}.timeline-heading{font-size:1.25rem;font-weight:700;margin:0 0 .5rem}.timeline-desc{color:var(--color-text-secondary);line-height:1.6;margin:0}.diff-section{background:linear-gradient(135deg,#0E0E10 0%,#1A1A2E 30%,#252540 70%,#0E0E10 100%);padding:0}.diff-pullquote{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:750;line-height:1.25;margin:.75rem 0 1.5rem}.diff-highlight{color:var(--color-accent)}.contact-form{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:14px;padding:1.5rem}.form-grid{display:grid;gap:1rem}.form-row{display:grid;gap:.5rem}.form-row label{font-size:.9rem;color:var(--color-text-secondary)}.form-row input,.form-row textarea{width:100%;background:rgba(255,255,255,2%);border:1px solid var(--color-border);color:var(--color-text-primary);border-radius:10px;padding:.75rem .9rem}.form-row textarea{min-height:140px;resize:vertical}.form-help{font-size:.85rem;color:var(--color-text-secondary);margin-top:.75rem}.form-status{margin-top:.75rem;font-size:.95rem;color:var(--color-text-secondary)}@media(max-width:768px){.hero-section{padding:2.5rem 0 2rem;min-height:auto}.hero-content{padding:0 1.25rem}}.side-social{position:fixed;left:2rem;bottom:0;display:flex;flex-direction:column;align-items:center;gap:1.25rem;z-index:50}.side-social::after{content:'';display:block;width:1px;height:5rem;background:var(--color-text-secondary);margin-top:.5rem}.side-social a{color:var(--color-text-secondary);transition:color .2s ease,transform .2s ease}.side-social a:hover{color:var(--color-accent);transform:translateY(-3px)}@media(max-width:768px){.side-social{display:none}}