:root{--bg: oklch(19% .012 260);--bg-nav: oklch(19% .012 260 / .85);--bg-card: oklch(19% .014 260);--bg-tech: oklch(22% .013 260);--bg-stat: oklch(24% .014 260);--bg-mono: oklch(30% .03 260);--ring: oklch(24% .02 260);--border: oklch(28% .016 260);--border-strong: oklch(30% .016 260);--border-badge: oklch(35% .02 260);--text: oklch(95% .006 260);--text-body: oklch(80% .008 260);--text-nav: oklch(75% .01 260);--text-lead: oklch(72% .012 260);--text-label: oklch(70% .01 260);--text-muted: oklch(68% .012 260);--text-dim: oklch(66% .012 260);--text-faint: oklch(65% .01 260);--text-footer: oklch(60% .01 260);--accent: oklch(70% .15 260);--accent-hover: oklch(78% .14 260);--accent-stat: oklch(78% .13 260);--accent-mono: oklch(85% .1 260);--accent-glow: oklch(50% .14 260 / .25);--selection: oklch(45% .14 260);--font-sans: "Space Grotesk", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--wide: 1120px;--narrow: 860px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);min-height:100vh}a{color:inherit;text-decoration:none}a.link-underline:hover{color:var(--accent-hover)}::selection{background:var(--selection);color:#fff}img{max-width:100%}.nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:18px 40px;background:var(--bg-nav);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-strong)}.nav-brand{font-weight:700;font-size:18px;letter-spacing:.02em}.nav-links{display:flex;align-items:center;gap:28px;font-family:var(--font-mono);font-size:13px;color:var(--text-nav)}.nav-badge{border:1px solid var(--border-badge);border-radius:4px;padding:5px 9px}.nav-badge--icon{display:inline-flex;align-items:center;padding:5px 7px}.nav-badge--icon svg{width:15px;height:15px}.nav-right{display:flex;align-items:center;gap:28px}.nav-lang{display:flex;gap:8px;font-family:var(--font-mono);font-size:13px;color:var(--text-nav)}.nav-badge--on{color:var(--text);border-color:var(--accent)}.section-pad{padding:0 40px 80px;margin:0 auto}.section-pad--wide{max-width:var(--wide)}.section-pad--narrow{max-width:var(--narrow)}.section-pad--mid{padding-bottom:64px}.section-label{margin:0 0 24px;font-family:var(--font-mono);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-label)}.hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:72px 24px 56px}.hero-portrait{width:140px;height:140px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 4px var(--ring),0 0 40px var(--accent-glow)}.hero-title{margin:24px 0 8px;font-size:40px;font-weight:700;letter-spacing:-.01em}.hero-tagline{max-width:560px;margin:0;color:var(--text-lead);font-size:16px;line-height:1.6}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.card{display:block;border-radius:10px;overflow:hidden;background:var(--bg-card);border:1px solid var(--border);transition:border-color .15s}.card:hover{border-color:var(--border-badge)}.card-cover{display:flex;align-items:center;justify-content:center;width:100%;height:140px;object-fit:cover}.card-cover--empty{background:radial-gradient(120% 120% at 30% 20%,#203351,#151b24 70%);font-family:var(--font-mono);font-size:28px;font-weight:600;letter-spacing:.12em;color:var(--accent-mono)}.card-body{padding:18px 20px 22px}.card-title{margin:0 0 6px;font-size:18px;font-weight:600}.card-desc{margin:0;font-size:14px;color:var(--text-muted);line-height:1.5}.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.chip{border:1px solid var(--border-badge);border-radius:999px;padding:6px 14px;font-family:var(--font-mono);font-size:12px;color:var(--text-nav)}.prose{font-size:16px;line-height:1.7;color:var(--text-body)}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose a{color:var(--accent-hover)}.timeline{--rail-w: 2px;--rail-gap: 28px;--dot: 9px;display:flex;flex-direction:column;border-left:var(--rail-w) solid var(--border-strong);padding-left:var(--rail-gap)}.timeline-item{position:relative;padding-bottom:32px}.timeline-item:before,.timeline-employer:before{content:"";position:absolute;left:calc(-1 * (var(--rail-gap) + var(--rail-w)) - var(--dot) / 2 + var(--rail-w) / 2);width:var(--dot);height:var(--dot);border-radius:50%}.timeline-item:before{top:4px;background:var(--accent)}.timeline-period{margin-bottom:4px;font-family:var(--font-mono);font-size:12px;color:var(--text-faint)}.timeline-title{margin:0 0 4px;font-size:17px;font-weight:600}.timeline-desc{margin:0;font-size:14px;color:var(--text-muted);line-height:1.5}.timeline-group{position:relative;padding-bottom:34px}.timeline-group:last-child{padding-bottom:0}.timeline-employer{position:relative;padding-bottom:22px}.timeline-employer:before{--dot: 13px;top:3px;background:var(--accent-mono)}.timeline-employer-name{font-size:18px;font-weight:700;letter-spacing:-.01em}.timeline-employer-meta{margin-top:2px;font-family:var(--font-mono);font-size:12px;color:var(--text-faint)}.timeline-missions{--rail-w: 1px;--rail-gap: 24px;--dot: 8px;position:relative;margin-left:20px;border-left:var(--rail-w) solid var(--border);padding-left:var(--rail-gap)}.timeline-missions:before{content:"";position:absolute;left:-49.5px;width:49.5px;top:-20px;height:20px;border-left:1px solid var(--border);border-bottom:1px solid var(--border);border-bottom-left-radius:12px}.timeline-missions .timeline-item:before{background:var(--bg);border:2px solid var(--accent)}.timeline-missions .timeline-item:last-child{padding-bottom:10px}.education,.certifications{display:flex;flex-direction:column;gap:22px}.education-item,.certification-item{display:flex;gap:24px;align-items:baseline}.education-period,.certification-period{flex:none;width:92px;font-family:var(--font-mono);font-size:12px;color:var(--text-faint)}.education-school,.certification-name{margin:0;font-size:17px;font-weight:600}.education-degree,.certification-issuer{margin:4px 0 0;font-size:14px;color:var(--text-muted);line-height:1.5}.detail-header{padding:56px 40px 0;max-width:var(--narrow);margin:0 auto}.detail-back{font-family:var(--font-mono);font-size:13px;color:var(--text-faint)}.detail-title{margin:20px 0 0;font-size:38px;font-weight:700;letter-spacing:-.01em}.detail-subtitle{margin:14px 0 0;font-family:var(--font-mono);font-size:13px;color:var(--text-label);text-transform:uppercase;letter-spacing:.06em}.detail-summary{padding:32px 40px 64px;max-width:var(--narrow);margin:0 auto}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat{background:var(--bg-stat);border:1px solid var(--border-strong);border-radius:10px;padding:18px 16px}.stat-value{font-family:var(--font-mono);font-size:26px;font-weight:700;color:var(--accent-stat)}.stat-label{margin-top:6px;font-size:13px;color:var(--text-muted);line-height:1.4}.tech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.tech{display:flex;gap:14px;align-items:flex-start;background:var(--bg-tech);border:1px solid oklch(29% .016 260);border-radius:10px;padding:16px}.tech-mono{flex:none;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background:var(--bg-mono);font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--accent-mono)}.tech-name{font-size:15px;font-weight:600}.tech-desc{margin-top:4px;font-size:13px;color:var(--text-dim);line-height:1.4}.footer{border-top:1px solid var(--border);padding:40px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;max-width:var(--wide);margin:0 auto}.footer-copy{font-family:var(--font-mono);font-size:13px;color:var(--text-footer)}.footer-links{display:flex;flex-wrap:wrap;gap:20px;font-family:var(--font-mono);font-size:13px}@media(max-width:720px){.nav{padding:18px 20px}.nav-links{display:none}.hero-title{font-size:32px}.detail-title{font-size:28px}.skills-grid,.tech-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.section-pad,.detail-header,.detail-summary{padding-left:20px;padding-right:20px}.footer{padding:40px 20px}.education-item,.certification-item{flex-direction:column;gap:4px}.education-period,.certification-period{width:auto}.timeline-missions{--rail-gap: 18px;margin-left:12px}.timeline-missions:before{left:-41.5px;width:41.5px}}
