:root {
  color-scheme: dark;
  --resume-red: #fa3948;
  --resume-muted: #a4a0aa;
  font-family: "DM Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

* { box-sizing: border-box; }
body { min-width: 320px; margin: 0; background: radial-gradient(ellipse at 50% 0, #360d10, #150b0c 54%, #0c0b0c); color: #f4f1f0; }
a { color: inherit; text-decoration: none; }
.resume-page { width: min(100% - 40px, 1024px); margin: 38px auto 70px; }
.resume-toolbar { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 16px; margin-bottom: 24px; }
.resume-back { color: #c6b8b8; font-size: 13px; }
.resume-back:hover { color: #fff; }
.resume-mode { display: inline-flex; align-items: center; gap: 10px; color: #e5cdd0; font-size: 12px; font-weight: 600; letter-spacing: .07em; }
.resume-mode > span { width: 9px; height: 9px; border-radius: 50%; background: var(--resume-red); box-shadow: 0 0 14px rgba(250, 57, 72, .6); }
.resume-print { justify-self: end; display: inline-flex; min-height: 42px; align-items: center; gap: 10px; padding: 0 17px; border: 0; border-radius: 9px; background: linear-gradient(110deg, #bc1e2b, #ef3647); color: #fff; font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; box-shadow: 0 9px 24px rgba(184, 20, 33, .2); }
.resume-print:hover { filter: brightness(1.12); }
.resume-card { padding: clamp(26px, 4vw, 40px); border: 1px solid rgba(238, 49, 64, .5); border-radius: 17px; background: radial-gradient(ellipse at 100% 0, rgba(103, 26, 29, .22), transparent 34%), #110e0f; box-shadow: 0 24px 80px rgba(0, 0, 0, .3); }
.resume-header { display: flex; align-items: center; justify-content: space-between; gap: 34px; padding-bottom: 29px; border-bottom: 1px solid rgba(255, 255, 255, .09); }
.resume-identity { min-width: 0; }
.resume-label { display: inline-block; padding: 5px 10px; border: 1px solid rgba(250, 57, 72, .36); border-radius: 999px; background: rgba(165, 28, 37, .13); color: #ff6a74; font-size: 10px; font-weight: 600; letter-spacing: .03em; }
.resume-identity h1 { margin: 12px 0 1px; font-family: "Space Grotesk", sans-serif; font-size: clamp(37px, 6vw, 50px); line-height: 1; letter-spacing: -.065em; }
.resume-identity h1 span { color: #fa6470; }
.resume-identity p { margin: 8px 0 0; color: var(--resume-muted); font-size: 15px; }
.resume-contact { display: flex; min-width: 235px; flex-direction: column; gap: 10px; color: var(--resume-muted); font-size: 12px; font-style: normal; }
.resume-contact a, .resume-contact > span { display: flex; align-items: center; gap: 9px; overflow-wrap: anywhere; }
.resume-contact a:hover { color: #fff; }
.resume-contact [aria-hidden] { width: 14px; flex: 0 0 14px; color: var(--resume-red); font-size: 14px; text-align: center; }
.resume-columns { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(245px, .85fr); gap: 30px; padding-top: 27px; }
.resume-main-column, .resume-side-column { min-width: 0; }
.resume-section + .resume-section { margin-top: 28px; }
.resume-section h2 { display: flex; align-items: center; gap: 11px; margin: 0 0 15px; font-family: "Space Grotesk", sans-serif; font-size: 19px; font-weight: 600; letter-spacing: -.04em; }
.resume-section h2 > span { color: var(--resume-red); font-size: 17px; }
.resume-about { margin: 0; color: var(--resume-muted); font-size: 13px; line-height: 1.7; }
.resume-about strong { color: #f2eeee; }
.resume-projects { display: grid; gap: 13px; }
.resume-project { padding: 14px 15px; border: 1px solid rgba(255, 255, 255, .09); border-radius: 12px; background: rgba(0, 0, 0, .15); }
.project-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.project-heading h3, .education-item h3, .certificate-card h3 { margin: 0; font-size: 13px; font-weight: 700; line-height: 1.4; }
.project-type { padding: 3px 8px; border: 1px solid rgba(250, 57, 72, .3); border-radius: 999px; background: rgba(158, 26, 36, .12); color: #ff737c; font-size: 10px; }
.project-heading time { margin-left: auto; color: #918a91; font-size: 11px; white-space: nowrap; }
.resume-project > p, .education-item p, .certificate-card p { margin: 8px 0 0; color: var(--resume-muted); font-size: 12px; line-height: 1.55; }
.resume-tags { display: flex; flex-wrap: wrap; gap: 5px; }
.resume-project .resume-tags { margin-top: 9px; }
.resume-tags span { display: inline-flex; min-height: 23px; align-items: center; padding: 3px 8px; border: 1px solid rgba(250, 57, 72, .35); border-radius: 6px; background: rgba(120, 25, 32, .13); color: #d7ccd0; font-size: 10px; line-height: 1.25; }
.skill-group + .skill-group { margin-top: 15px; }
.skill-group h3 { margin: 0 0 8px; color: var(--resume-red); font-size: 10px; font-weight: 600; letter-spacing: .08em; }
.education-item { padding-left: 13px; border-left: 2px solid rgba(250, 57, 72, .55); }
.education-item + .education-item { margin-top: 15px; border-color: rgba(255, 255, 255, .15); }
.education-status { display: block; margin-top: 3px; color: #ff6875; font-size: 11px; }
.certificate-card { display: flex; align-items: flex-start; gap: 11px; padding: 13px; border: 1px solid rgba(255, 255, 255, .09); border-radius: 11px; }
.certificate-card > span { color: var(--resume-red); font-size: 17px; }
.resume-footer { display: flex; justify-content: space-between; gap: 16px; margin-top: 29px; padding-top: 15px; border-top: 1px solid rgba(255, 255, 255, .09); color: #88818a; font-size: 10px; }
.resume-footer > span:first-child { color: #c0b9bd; font-weight: 700; letter-spacing: .13em; }

@media (max-width: 760px) {
  .resume-page { width: min(100% - 28px, 620px); margin: 18px auto 40px; }
  .resume-toolbar { grid-template-columns: 1fr auto; gap: 14px 8px; }
  .resume-mode { grid-column: 1; grid-row: 2; font-size: 10px; }
  .resume-print { grid-column: 2; grid-row: 1 / span 2; padding-inline: 12px; font-size: 11px; }
  .resume-back { font-size: 12px; }
  .resume-card { padding: 24px 19px; border-radius: 14px; }
  .resume-header { align-items: flex-start; flex-direction: column; gap: 20px; padding-bottom: 22px; }
  .resume-contact { min-width: 0; gap: 8px; }
  .resume-columns { grid-template-columns: 1fr; gap: 28px; padding-top: 23px; }
}

@media (max-width: 380px) {
  .resume-page { width: min(100% - 20px, 620px); }
  .resume-card { padding: 20px 14px; }
  .resume-identity h1 { font-size: 36px; }
  .project-heading time { width: 100%; margin-left: 0; }
  .resume-footer { flex-direction: column; }
}

@media print {
  @page { size: A4; margin: 11mm; }
  :root { color-scheme: light; }
  body { min-width: 0; background: #fff; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .resume-page { width: 100%; margin: 0; }
  .resume-toolbar { display: none; }
  .resume-card { padding: 22px; border-radius: 0; box-shadow: none; }
  .resume-header { gap: 22px; }
  .resume-identity h1 { font-size: 38px; }
  .resume-columns { grid-template-columns: minmax(0, 1.55fr) minmax(215px, .85fr); gap: 20px; }
  .resume-section + .resume-section { margin-top: 21px; }
  .resume-section h2 { font-size: 16px; }
  .resume-about, .resume-project > p, .education-item p, .certificate-card p { font-size: 10px; }
  .resume-project { padding: 10px 11px; break-inside: avoid; }
  .resume-projects { gap: 9px; }
  .resume-project > p { margin-top: 5px; }
  .resume-tags span { min-height: 20px; font-size: 8px; }
  .skill-group + .skill-group { margin-top: 11px; }
  .project-heading h3, .education-item h3, .certificate-card h3 { font-size: 11px; }
  .project-type, .project-heading time { font-size: 9px; }
  .resume-footer { margin-top: 20px; }
}
