@charset "UTF-8";
:root { color-scheme: dark; --bg:#080910; --text:#f2f4ff; --muted:#a6adc3; --quiet:#7f879e; --cyan:#87ecff; --violet:#ac9cff; --pink:#ff9bd7; --line:rgba(199,210,255,.13); --font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
* { box-sizing:border-box; }
html { background:var(--bg); }
body { margin:0; padding:34px 18px 50px; color:var(--text); background:radial-gradient(ellipse at 87% 0%,rgba(116,92,210,.13),transparent 39%),var(--bg); font-family:var(--font); font-size:12px; line-height:1.58; }
a { color:var(--cyan); text-decoration:none; }
a:hover { color:white; }
.cv-page { width:min(100%,980px); margin:0 auto; }
.cv-actions { display:flex; justify-content:space-between; align-items:center; margin:0 0 18px; }
.cv-actions button { border:1px solid rgba(135,236,255,.35); border-radius:9px; padding:9px 13px; color:#071019; background:linear-gradient(100deg,#a8f2ff,#d4b6ff); font:700 10px var(--font); cursor:pointer; }
.cv-actions button span { margin-left:9px; }
.back-link { color:var(--muted); font-size:10px; }
.cv-header { display:grid; grid-template-columns:136px 1fr; gap:25px; align-items:center; padding:30px 33px; border:1px solid var(--line); border-radius:18px; background:linear-gradient(120deg,rgba(25,29,46,.93),rgba(13,15,25,.94)); box-shadow:0 20px 70px rgba(0,0,0,.22); }
.cv-avatar { width:136px; height:136px; padding:4px; border:1px solid rgba(135,236,255,.42); border-radius:50%; background:linear-gradient(145deg,rgba(135,236,255,.2),rgba(172,156,255,.11)); box-shadow:0 0 36px rgba(135,236,255,.12); }
.cv-avatar img { width:100%; height:100%; border-radius:50%; object-fit:cover; }
.cv-eyebrow { margin:0 0 8px; color:var(--cyan); font-size:8px; font-weight:800; letter-spacing:.17em; }
.cv-intro h1 { margin:0; color:#f3f5ff; font-size:34px; letter-spacing:-.065em; line-height:1.1; }
.cv-intro h1 span { margin-left:8px; color:var(--violet); font-size:13px; font-weight:500; letter-spacing:.02em; }
.cv-intro h2 { margin:6px 0 9px; color:#cbd0e2; font-size:15px; font-weight:570; }
.cv-summary { max-width:680px; margin:0; color:var(--muted); font-size:10px; }
.cv-contact { display:flex; flex-wrap:wrap; gap:7px 15px; margin-top:13px; color:#aab2c8; font-size:8px; }
.cv-contact a { color:var(--cyan); }
.cv-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(245px,.8fr); gap:15px; margin-top:15px; align-items:start; }
.cv-main,.cv-side { display:grid; gap:12px; }
.cv-section { padding:17px 19px; border:1px solid var(--line); border-radius:14px; background:linear-gradient(145deg,rgba(19,22,35,.89),rgba(12,14,22,.94)); }
.cv-section-title { display:flex; align-items:center; gap:8px; margin-bottom:10px; padding-bottom:8px; border-bottom:1px solid rgba(199,210,255,.09); }
.cv-section-title > span { color:var(--cyan); font:700 8px ui-monospace,monospace; }
.cv-section-title h3 { margin:0; color:#e7eaf6; font-size:8px; font-weight:800; letter-spacing:.15em; }
.cv-section > p { margin:0 0 7px; color:#aeb5ca; font-size:9px; line-height:1.72; }
.cv-section > p:last-child { margin-bottom:0; }
.cv-focus-list { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.cv-focus-list article { padding:9px 10px; border:1px solid rgba(199,210,255,.07); border-radius:8px; background:rgba(255,255,255,.018); }
.cv-focus-list b { color:#dce0ef; font-size:9px; }
.cv-focus-list p { margin:3px 0 0; color:#9ca4bb; font-size:8px; line-height:1.6; }
.cv-projects { display:grid; gap:9px; }
.cv-projects article { padding:0 0 8px; border-bottom:1px solid rgba(199,210,255,.07); }
.cv-projects article:last-child { padding-bottom:0; border-bottom:0; }
.cv-projects article > div { display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.cv-projects b { color:#e4e7f2; font-size:9px; }
.cv-projects small { color:#8c95ad; font-size:7px; text-align:right; }
.cv-projects p { margin:3px 0 0; color:#a7aec3; font-size:8px; line-height:1.6; }
.cv-projects a,.cv-side a { color:var(--cyan); }
.cv-timeline-item { display:grid; grid-template-columns:95px 1fr; gap:10px; margin-bottom:9px; }
.cv-timeline-item:last-child { margin-bottom:0; }
.cv-timeline-item time { color:var(--cyan); font:700 8px ui-monospace,monospace; }
.cv-timeline-item b { color:#dde1ef; font-size:8px; }
.cv-timeline-item p { margin:2px 0 0; color:#9da5bb; font-size:8px; }
.cv-skills { display:grid; gap:8px; margin:0; }
.cv-skills > div { display:grid; gap:2px; }
.cv-skills dt { color:#cdd2e4; font-size:8px; font-weight:750; }
.cv-skills dd { margin:0; color:#9fa7bd; font-size:8px; line-height:1.6; }
.cv-socials { display:grid; gap:4px; }
.cv-socials .cv-section-title { margin-bottom:5px; }
.cv-socials > a { color:#a8b1c9; font-size:8px; }
.cv-availability { display:flex; align-items:center; gap:9px; padding:12px 14px; border:1px solid rgba(141,240,197,.2); border-radius:12px; background:rgba(141,240,197,.035); }
.cv-availability > span { width:7px; height:7px; border-radius:50%; background:#8df0c5; box-shadow:0 0 11px #8df0c5; }
.cv-availability p { display:grid; gap:2px; margin:0; }
.cv-availability b { color:#b9f3dc; font-size:8px; letter-spacing:.12em; }
.cv-availability small { color:#8e9b9e; font-size:7px; }
.cv-footer { display:flex; justify-content:space-between; gap:12px; margin-top:13px; padding-top:11px; border-top:1px solid var(--line); color:#727a91; font-size:7px; font-weight:650; letter-spacing:.11em; }

@media (max-width:720px) {
  body { padding:16px 10px 32px; }
  .cv-header { grid-template-columns:72px 1fr; gap:14px; padding:18px 15px; }
  .cv-avatar { width:72px; height:72px; }
  .cv-intro h1 { font-size:22px; }
  .cv-intro h1 span { display:block; margin:4px 0 0; font-size:10px; }
  .cv-intro h2 { font-size:12px; }
  .cv-contact { gap:6px 9px; }
  .cv-grid { grid-template-columns:1fr; }
}
@media print {
  @page { size:A4; margin:10mm 10mm 9mm; }
  :root { color-scheme:light; }
  html,body { background:#fff !important; color:#152033 !important; }
  body { padding:0; font-size:8.2pt; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .cv-page { width:100%; max-width:none; }
  .screen-only { display:none !important; }
  .cv-header { grid-template-columns:25mm 1fr; gap:5mm; padding:5mm 6mm; border:1px solid #cad5e4; border-radius:3mm; background:#f4f8fc !important; box-shadow:none; }
  .cv-avatar { width:25mm; height:25mm; border-color:#78bfd3; box-shadow:none; }
  .cv-eyebrow { color:#216c8b; font-size:6.8pt; }
  .cv-intro h1 { color:#132038; font-size:23pt; }
  .cv-intro h1 span { color:#6551a9; font-size:9pt; }
  .cv-intro h2 { margin:1mm 0 1.5mm; color:#31415c; font-size:10pt; }
  .cv-summary { color:#3b4960; font-size:7.4pt; }
  .cv-contact { gap:1mm 3mm; margin-top:2mm; color:#34445b; font-size:6.7pt; }
  .cv-contact a { color:#126c8b; }
  .cv-grid { grid-template-columns:minmax(0,1.55fr) minmax(55mm,.8fr); gap:3mm; margin-top:3mm; }
  .cv-main,.cv-side { gap:2.5mm; }
  .cv-section { break-inside:avoid; padding:3mm 3.5mm; border:1px solid #d9e1eb; border-radius:2.5mm; background:#fff !important; }
  .cv-section-title { margin-bottom:2mm; padding-bottom:1.5mm; border-color:#e3e8ef; }
  .cv-section-title > span { color:#137b9e; font-size:6.3pt; }
  .cv-section-title h3 { color:#192943; font-size:6.8pt; }
  .cv-section > p { margin-bottom:1mm; color:#394861; font-size:7pt; line-height:1.5; }
  .cv-focus-list { gap:1.4mm; }
  .cv-focus-list article { padding:1.7mm; border-color:#e1e8ef; background:#f8fafc !important; }
  .cv-focus-list b,.cv-projects b,.cv-timeline-item b { color:#1a2b43; font-size:7pt; }
  .cv-focus-list p,.cv-projects p,.cv-timeline-item p,.cv-skills dd { color:#46556b; font-size:6.4pt; line-height:1.45; }
  .cv-projects { gap:1.6mm; }
  .cv-projects article { padding-bottom:1.4mm; border-color:#e5eaf0; }
  .cv-projects small { color:#65738a; font-size:5.8pt; }
  .cv-projects p { margin-top:.5mm; }
  .cv-projects a,.cv-side a { color:#126c8b; }
  .cv-timeline-item { grid-template-columns:23mm 1fr; gap:2mm; margin-bottom:1.5mm; }
  .cv-timeline-item time { color:#146d8a; font-size:6.2pt; }
  .cv-skills { gap:1.5mm; }
  .cv-skills dt { color:#263a54; font-size:6.5pt; }
  .cv-skills dd { font-size:6.2pt; }
  .cv-socials { gap:.6mm; }
  .cv-socials > a { color:#27526b; font-size:6.2pt; }
  .cv-availability { padding:2mm 2.5mm; border-color:#b7dece; background:#f3fbf7 !important; }
  .cv-availability b { color:#256248; font-size:6.5pt; }
  .cv-availability small { color:#527569; font-size:5.7pt; }
  .cv-footer { margin-top:2mm; padding-top:1.5mm; border-color:#d9e1eb; color:#69778b; font-size:5.7pt; }
  a { text-decoration:none; }
}
