.cv-root{width:100%;max-width:1120px;margin:0 auto;padding:var(--space-4);display:grid;gap:var(--space-3);font-family:var(--font-mono);color:var(--color-text);position:relative;z-index:1}.cv-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.cv-card:hover{border-color:#53b8ff40}.cv-card-title{color:var(--color-cmd);font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-3)}.cv-hero{background:linear-gradient(135deg,#53b8ff0a,#41d98c08);border-color:#53b8ff2e;padding:var(--space-6)}.cv-hero-name{color:var(--color-link);font-size:clamp(1.6rem,4vw,2.4rem);font-weight:700;letter-spacing:-.01em;text-shadow:var(--glow-accent);line-height:1.15;margin-bottom:var(--space-2)}.cv-hero-role{color:var(--color-text);font-size:clamp(1rem,2vw,1.2rem);font-weight:500;margin-bottom:var(--space-2)}.cv-hero-role .at{color:var(--color-tag)}.cv-hero-meta{color:var(--color-text-dim);font-size:var(--text-md);margin-bottom:var(--space-4)}.cv-hero-meta .dot{margin:0 var(--space-2);opacity:.5}.cv-hero-pitch{color:var(--color-text);font-size:var(--text-md);line-height:var(--leading-relaxed);padding-left:var(--space-3);border-left:2px solid var(--color-prompt);margin-bottom:var(--space-5);max-width:720px}.cv-cta-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.cv-cta{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 var(--space-4);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-link);font-family:var(--font-mono);font-size:var(--text-md);font-weight:500;text-decoration:none;transition:border-color var(--transition-base),transform var(--transition-fast),box-shadow var(--transition-base)}.cv-cta:hover,.cv-cta:focus-visible{border-color:var(--color-link);box-shadow:0 0 0 3px #53b8ff14;transform:translateY(-1px)}.cv-cta-primary{background:#41d98c14;border-color:#41d98c59;color:var(--color-prompt)}.cv-cta-primary:hover,.cv-cta-primary:focus-visible{border-color:var(--color-prompt);box-shadow:0 0 0 3px #41d98c1a}.cv-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.cv-metric{text-align:center;padding:var(--space-4)}.cv-metric-value{color:var(--color-prompt);font-size:clamp(2rem,5vw,2.8rem);font-weight:700;line-height:1;margin-bottom:var(--space-2);text-shadow:0 0 20px rgba(65,217,140,.2)}.cv-metric-label{color:var(--color-text-dim);font-size:var(--text-sm);text-transform:lowercase;letter-spacing:.04em}.cv-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.cv-about-text{color:var(--color-text);font-size:var(--text-md);line-height:var(--leading-relaxed)}.cv-skill-group+.cv-skill-group{margin-top:var(--space-3)}.cv-skill-label{color:var(--color-cmd);font-size:var(--text-sm);font-weight:600;margin-bottom:6px}.cv-skill-chips{display:flex;flex-wrap:wrap;gap:6px}.cv-chip{background:#53b8ff12;border:1px solid rgba(83,184,255,.18);color:var(--color-link);padding:3px 10px;border-radius:var(--radius-sm);font-size:var(--text-sm)}.cv-chip-emph{background:#41d98c14;border-color:#41d98c40;color:var(--color-prompt)}.cv-spoken{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--color-border)}.cv-spoken-row{display:flex;gap:var(--space-2);font-size:var(--text-sm)}.cv-spoken-name{color:var(--color-text);font-weight:500}.cv-spoken-level{color:var(--color-text-dim)}.cv-exp-list{display:flex;flex-direction:column;gap:var(--space-4)}.cv-exp{position:relative;padding-left:var(--space-4);border-left:2px solid var(--color-border)}.cv-exp:before{content:"";position:absolute;left:-7px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--color-surface);border:2px solid var(--color-link)}.cv-exp.cv-exp-active:before{background:var(--color-prompt);border-color:var(--color-prompt);box-shadow:0 0 8px #41d98c66}.cv-exp-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;margin-bottom:4px}.cv-exp-pill{font-size:var(--text-xs);padding:1px 7px;border-radius:var(--radius-sm);font-weight:600}.cv-exp-pill-active{color:var(--color-prompt);background:#41d98c1a;border:1px solid rgba(65,217,140,.3)}.cv-exp-pill-pt{color:var(--color-cmd);background:#e2b93d14;border:1px solid rgba(226,185,61,.3)}.cv-exp-date{color:var(--color-cmd);font-size:var(--text-sm)}.cv-exp-title{color:var(--color-text);font-size:var(--text-md);font-weight:600;margin-bottom:2px}.cv-exp-company{color:var(--color-tag)}.cv-exp-location{color:var(--color-text-dim);font-size:var(--text-sm);margin-bottom:var(--space-2)}.cv-exp-bullets{list-style:none;margin:0;padding:0}.cv-exp-bullets li{position:relative;padding-left:18px;color:var(--color-text);font-size:var(--text-sm);line-height:1.55;margin-bottom:4px}.cv-exp-bullets li:before{content:"▸";position:absolute;left:0;color:var(--color-prompt)}.cv-edu-list{display:flex;flex-direction:column;gap:var(--space-3)}.cv-edu-degree{color:var(--color-text);font-size:var(--text-md);font-weight:600}.cv-edu-school{color:var(--color-tag);font-size:var(--text-sm);margin:2px 0}.cv-edu-date{color:var(--color-cmd);font-size:var(--text-sm)}.cv-projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-3)}.cv-project{padding:var(--space-4);background:#53b8ff08;border:1px solid var(--color-border);border-radius:var(--radius-md);transition:var(--transition-base);display:flex;flex-direction:column;gap:var(--space-2)}.cv-project:hover{border-color:#53b8ff40;background:#53b8ff0d;transform:translateY(-2px);box-shadow:0 6px 20px #0003}.cv-project-head{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap}.cv-project-name{color:var(--color-link);font-size:var(--text-md);font-weight:600;text-decoration:none;flex:1;min-width:0}.cv-project-name:hover{text-decoration:underline}.cv-project-pill{font-size:var(--text-xs);padding:1px 7px;border-radius:var(--radius-sm);font-weight:500}.cv-project-pill-personal{color:var(--color-prompt);background:#41d98c14;border:1px solid rgba(65,217,140,.25)}.cv-project-pill-team{color:var(--color-cmd);background:#e2b93d14;border:1px solid rgba(226,185,61,.3)}.cv-project-tags{display:flex;flex-wrap:wrap;gap:4px}.cv-project-tag{font-size:var(--text-xs);background:#c778dd14;border:1px solid rgba(199,120,221,.18);color:var(--color-tag);padding:2px 6px;border-radius:3px}.cv-project-summary{color:var(--color-text-dim);font-size:var(--text-sm);line-height:1.5;flex:1}.cv-project-note{color:var(--color-text-dim);font-size:var(--text-xs);font-style:italic}.cv-certs{display:flex;flex-wrap:wrap;gap:var(--space-3)}.cv-cert{padding:var(--space-3) var(--space-4);background:#41d98c0d;border:1px solid rgba(65,217,140,.25);border-radius:var(--radius-md);display:flex;gap:var(--space-3);align-items:center;min-width:280px}.cv-cert-badge{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#41d98c1a;border:1px solid rgba(65,217,140,.4);font-size:1.4rem}.cv-cert-name{color:var(--color-prompt);font-weight:600;font-size:var(--text-md)}.cv-cert-full{color:var(--color-text);font-size:var(--text-sm)}.cv-cert-issuer{color:var(--color-tag);font-size:var(--text-xs);margin-top:2px}.cv-contact{text-align:center;background:linear-gradient(135deg,#41d98c0a,#53b8ff0a);border-color:#41d98c2e}.cv-contact-title{color:var(--color-text);font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-2)}.cv-contact-row{display:inline-flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;margin-top:var(--space-3)}.cv-force-terminal{display:none;text-align:center;font-size:var(--text-sm);color:var(--color-text-dim);margin-top:var(--space-4)}.cv-force-terminal a{color:var(--color-link);border-bottom:1px dashed currentColor;padding-bottom:1px}@media(max-width:767px){.cv-force-terminal{display:block}}.cv-footer{text-align:center;font-size:var(--text-xs);color:var(--color-text-dim);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}@media(max-width:767px){.cv-root{padding:var(--space-2);gap:var(--space-2)}.cv-card{padding:var(--space-4)}.cv-hero{padding:var(--space-5)}.cv-metrics,.cv-row{grid-template-columns:1fr}}body.cv-body{align-items:flex-start;padding-top:80px;padding-bottom:var(--space-6)}@media(max-width:640px){body.cv-body{padding-top:120px}}
