:root{--bg-primary: #080c14;--bg-secondary: #0d1527;--bg-card: #0f1a2e;--bg-card-hover: #13223d;--bg-elevated: #162644;--bg-glass: rgba(13, 21, 39, .75);--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--text-dim: #64748b;--accent-primary: #10b981;--accent-primary-hover: #059669;--accent-glow: rgba(16, 185, 129, .18);--accent-glow-subtle: rgba(16, 185, 129, .08);--accent-cyan: #06b6d4;--accent-purple: #8b5cf6;--accent-amber: #f59e0b;--border-subtle: #1e293b;--border-medium: #334155;--border-highlight: rgba(16, 185, 129, .35);--status-live: #10b981;--status-dev: #06b6d4;--status-concept: #f59e0b;--font-display: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--text-xs: clamp(.75rem, .7rem + .25vw, .8125rem);--text-sm: clamp(.8125rem, .78rem + .3vw, .875rem);--text-base: clamp(.9375rem, .9rem + .35vw, 1.0625rem);--text-lg: clamp(1.125rem, 1.05rem + .5vw, 1.25rem);--text-xl: clamp(1.25rem, 1.15rem + .75vw, 1.5rem);--text-2xl: clamp(1.5rem, 1.35rem + 1vw, 2rem);--text-3xl: clamp(1.875rem, 1.6rem + 1.5vw, 2.75rem);--text-4xl: clamp(2.25rem, 1.9rem + 2vw, 3.75rem);--text-hero: clamp(2.5rem, 2rem + 3vw, 4.5rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .65);--shadow-accent: 0 0 25px rgba(16, 185, 129, .25);--container-max: 1240px;--container-narrow: 920px;--navbar-height: 72px;--transition-fast: .15s cubic-bezier(.16, 1, .3, 1);--transition-normal: .25s cubic-bezier(.16, 1, .3, 1);--transition-smooth: .4s cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;background-color:var(--bg-primary);color:var(--text-primary)}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.65;background-color:var(--bg-primary);color:var(--text-secondary);overflow-x:hidden;position:relative;min-height:100vh}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;background-image:linear-gradient(to right,rgba(30,41,59,.22) 1px,transparent 1px),linear-gradient(to bottom,rgba(30,41,59,.22) 1px,transparent 1px);background-size:64px 64px;background-position:center top;z-index:-1;mask-image:radial-gradient(ellipse 90% 70% at 50% 20%,#000 30%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 20%,#000 30%,transparent 80%)}::selection{background-color:var(--accent-primary);color:#04100c}.skip-link{position:absolute;top:-60px;left:var(--space-4);background:var(--accent-primary);color:#04100c;padding:var(--space-2) var(--space-4);font-weight:700;font-size:var(--text-sm);border-radius:var(--radius-sm);z-index:99999;transition:top var(--transition-fast);text-decoration:none}.skip-link:focus{top:var(--space-4);outline:3px solid #ffffff}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px;border-radius:4px}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--text-primary);font-weight:700;line-height:1.2;letter-spacing:-.02em}p{color:var(--text-secondary)}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}img,svg{display:block;max-width:100%}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}.container{width:100%;max-width:var(--container-max);margin-left:auto;margin-right:auto;padding-left:var(--space-6);padding-right:var(--space-6)}.container-narrow{width:100%;max-width:var(--container-narrow);margin-left:auto;margin-right:auto;padding-left:var(--space-6);padding-right:var(--space-6)}.section{padding-top:var(--space-24);padding-bottom:var(--space-24);position:relative}.section-header{margin-bottom:var(--space-12)}.section-eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;color:var(--accent-primary);text-transform:uppercase;letter-spacing:.12em;margin-bottom:var(--space-3)}.section-title{font-size:var(--text-3xl);font-weight:800;margin-bottom:var(--space-4)}.section-description{font-size:var(--text-lg);color:var(--text-muted);max-width:680px;line-height:1.6}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.75rem 1.5rem;font-size:var(--text-sm);font-weight:600;border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none}.btn-primary{background-color:var(--accent-primary);color:#04140e;box-shadow:0 4px 14px var(--accent-glow)}.btn-primary:hover{background-color:#14f195;box-shadow:0 6px 20px #14f19559;transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background-color:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-medium)}.btn-secondary:hover{background-color:var(--bg-card-hover);border-color:var(--text-muted);transform:translateY(-2px)}.btn-outline{background:transparent;color:var(--text-secondary);border:1px solid var(--border-subtle)}.btn-outline:hover{color:var(--text-primary);border-color:var(--accent-primary);background-color:var(--accent-glow-subtle)}.tag{display:inline-flex;align-items:center;gap:var(--space-1);padding:.25rem .65rem;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;background-color:#1e293b99;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary)}.badge-status{display:inline-flex;align-items:center;gap:.45rem;padding:.25rem .75rem;border-radius:var(--radius-full);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em}.badge-status-dot{width:7px;height:7px;border-radius:50%}.badge-status.live{background:#10b9811f;border:1px solid rgba(16,185,129,.3);color:var(--status-live)}.badge-status.live .badge-status-dot{background-color:var(--status-live);box-shadow:0 0 8px var(--status-live)}.badge-status.dev{background:#06b6d41f;border:1px solid rgba(6,182,212,.3);color:var(--status-dev)}.badge-status.dev .badge-status-dot{background-color:var(--status-dev);box-shadow:0 0 8px var(--status-dev)}.badge-status.concept{background:#f59e0b1f;border:1px solid rgba(245,158,11,.3);color:var(--status-concept)}.badge-status.concept .badge-status-dot{background-color:var(--status-concept);box-shadow:0 0 8px var(--status-concept)}.glass-panel{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}@keyframes pulseGlow{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes floatSlow{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes beaconPing{0%{transform:scale(.9);opacity:.8}70%,to{transform:scale(2.2);opacity:0}}@keyframes lineDash{to{stroke-dashoffset:-40}}@keyframes scanline{0%{transform:translateY(-100%)}to{transform:translateY(1000%)}}.animate-pulse-glow{animation:pulseGlow 4s ease-in-out infinite}.animate-float{animation:floatSlow 6s ease-in-out infinite}.animate-ping{position:absolute;width:100%;height:100%;border-radius:50%;background-color:currentColor;animation:beaconPing 2s cubic-bezier(0,0,.2,1) infinite}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.animate-pulse-glow,.animate-float,.animate-ping{animation:none!important}}@media(max-width:767px){:root{--navbar-height: 64px}.container,.container-narrow{padding-left:var(--space-4);padding-right:var(--space-4)}.section{padding-top:var(--space-16);padding-bottom:var(--space-16)}.section-header{margin-bottom:var(--space-8)}pre,code{white-space:pre-wrap;word-break:break-word}}@media(min-width:768px)and (max-width:1023px){.section{padding-top:var(--space-20);padding-bottom:var(--space-20)}}@media(min-width:1024px){.desktop-only{display:block}}@media print{body{background:#fff!important;color:#000!important}.navbar,.skip-link,.back-to-top,.project-filters,.btn-cv-header{display:none!important}.section{padding:1.5rem 0!important;page-break-inside:avoid}}
