@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap");
/* CV document (cv-doc.js): an A4-like page, used in the AI CV builder and on /cv/{token}/. Prints as a clean CV. */
.aj-cv-doc { --cv-ink: #0b0b12; --cv-mute: #5b5b68; --cv-line: #e6e6ec; --cv-accent: #2a6bff;
  box-sizing: border-box; width: 100%; max-width: 794px; margin: 0 auto; padding: 48px 56px; background: #fff; color: var(--cv-ink);
  font-family: "Mona Sans", ui-sans-serif, system-ui, sans-serif; font-size: 13.5px; line-height: 1.5; border: 1px solid var(--cv-line); border-radius: 16px; }
.aj-cv-doc * { box-sizing: border-box; }
.aj-cv-doc p, .aj-cv-doc h1, .aj-cv-doc h2, .aj-cv-doc ul { margin: 0; }
.aj-cv-head { padding-bottom: 18px; border-bottom: 2px solid var(--cv-ink); margin-bottom: 20px; }
.aj-cv-name { font-family: "BR Sonoma", "Mona Sans", ui-sans-serif, sans-serif; font-size: 30px; line-height: 1.1; font-weight: 500; letter-spacing: -0.02em; }
.aj-cv-headline { margin-top: 6px !important; font-size: 16px; color: var(--cv-accent); font-weight: 500; }
.aj-cv-contact { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 10px !important; color: var(--cv-mute); font-size: 12.5px; }
.aj-cv-contact a, .aj-cv-doc a { color: inherit; text-decoration: none; border-bottom: 1px solid var(--cv-line); }
.aj-cv-sec { margin-top: 18px; }
.aj-cv-h2 { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--cv-mute); padding-bottom: 6px; margin-bottom: 10px !important; border-bottom: 1px solid var(--cv-line); }
.aj-cv-summary { font-size: 14px; }
.aj-cv-item { break-inside: avoid; }
.aj-cv-item + .aj-cv-item { margin-top: 14px; }
.aj-cv-item-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 2px 12px; }
.aj-cv-item-title { font-size: 14px; }
.aj-cv-item-title strong { font-weight: 600; }
.aj-cv-item-meta { color: var(--cv-mute); font-size: 12.5px; font-variant-numeric: tabular-nums; }
.aj-cv-bullets { margin-top: 6px !important; padding-left: 18px; display: grid; gap: 3px; }
.aj-cv-bullets li::marker { color: var(--cv-mute); }
.aj-cv-desc { margin-top: 3px !important; }
.aj-cv-skills { display: grid; gap: 6px; }
.aj-cv-skill-row { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 12px; }
.aj-cv-skill-group { font-weight: 600; }
.aj-cv-doc [contenteditable="true"] { outline: none; border-radius: 4px; transition: background .15s ease; }
.aj-cv-doc [contenteditable="true"]:hover { background: rgba(42,107,255,.06); }
.aj-cv-doc [contenteditable="true"]:focus { background: rgba(42,107,255,.1); box-shadow: 0 0 0 2px rgba(42,107,255,.25); }
/* Template "minimal" (default): titles in a right-aligned left column, content on the right; company in black,
   role and dates in light grey; skills as columns */
.aj-cv-doc.t-minimal { --cv-mute: #a7a7b1; font-family: "Inter", "Mona Sans", ui-sans-serif, system-ui, sans-serif; }
.t-minimal .aj-cv-head { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 0 36px; padding-bottom: 0; margin-bottom: 36px; border-bottom: 0; }
/* The site styles h1/h2 with its headline font; the CV keeps its own */
.aj-cv-doc .aj-cv-h2, .aj-cv-doc.t-minimal .aj-cv-name { font-family: inherit; }
.t-minimal .aj-cv-name { font-size: 20px; font-weight: 600; letter-spacing: -0.01em; line-height: 1.3; text-align: right; }
.t-minimal .aj-cv-headline { margin-top: 0 !important; font-size: 15px; font-weight: 500; color: var(--cv-ink); }
.t-minimal .aj-cv-contact { flex-direction: column; gap: 2px; margin-top: 6px !important; font-size: 13px; color: #3f3f46; }
.t-minimal .aj-cv-contact a { border-bottom: 0; }
.t-minimal .aj-cv-sec { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 0 36px; margin-top: 34px; }
.t-minimal .aj-cv-h2 { margin: 0 !important; padding: 0; border: 0; font-size: 17px; font-weight: 600; letter-spacing: -0.01em; line-height: 1.35; text-transform: none; text-align: right; color: var(--cv-ink); }
.t-minimal.has-icons .aj-cv-h2 { justify-content: flex-end; }
.t-minimal .aj-cv-item + .aj-cv-item { margin-top: 22px; }
.t-minimal .aj-cv-item-title { font-size: 17px; line-height: 1.35; }
.t-minimal .aj-cv-item-title strong { font-weight: 600; }
.t-minimal .aj-cv-role { font-weight: 500; color: var(--cv-mute); }
.t-minimal .aj-cv-item-title a { border-bottom: 0; }
.t-minimal .aj-cv-bullets { gap: 2px; margin-top: 6px !important; padding-left: 0; list-style: none; }
.t-minimal .aj-cv-desc { margin-top: 6px !important; }
.t-minimal .aj-cv-item-meta { margin-top: 8px !important; font-size: 12.5px; color: var(--cv-mute); }
/* Skills: groups stacked, each group's items flowing inline under its title (nothing squeezes or overlaps) */
.t-minimal .aj-cv-skills { display: flex; flex-direction: column; gap: 16px; }
.t-minimal .aj-cv-skill-row { display: flex; flex-direction: column; gap: 6px; }
.t-minimal .aj-cv-skill-group { font-size: 15px; font-weight: 500; line-height: 1.35; color: var(--cv-mute); }
.t-minimal .aj-cv-skill-items { display: flex; flex-wrap: wrap; gap: 2px 16px; }
.t-minimal .aj-cv-lang + .aj-cv-lang { margin-top: 2px; }
@media (max-width: 640px) {
  .t-minimal .aj-cv-head, .t-minimal .aj-cv-sec { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .t-minimal .aj-cv-name, .t-minimal .aj-cv-h2 { text-align: left; }
  .t-minimal.has-icons .aj-cv-h2 { justify-content: flex-start; }
}

/* Formatted texts (summary, descriptions, custom sections) */
.aj-cv-summary p + p, .aj-cv-desc p + p { margin-top: 6px; }
.aj-cv-summary ul, .aj-cv-summary ol, .aj-cv-desc ul, .aj-cv-desc ol { display: grid; gap: 3px; margin-top: 4px; padding-left: 18px; }
.aj-cv-doc a { color: inherit; }

/* Template "portfolio": soft grey cards on white, lots of air, light large titles, a photo card */
.aj-cv-doc.t-portfolio { --cv-mute: #8e8e99; --cv-card: #f4f4f5; display: flex; flex-direction: column; gap: 14px; padding: 14px; border-radius: 24px; font-family: "Inter", "Mona Sans", ui-sans-serif, system-ui, sans-serif; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.t-portfolio .aj-cv-hero { margin: 0; padding: 48px 52px; border: 0; border-radius: 20px; background: var(--cv-card); }
.t-portfolio .aj-cv-id { display: flex; align-items: center; gap: 18px; }
.aj-cv-avatar { display: grid; flex-shrink: 0; place-items: center; width: 72px; height: 72px; overflow: hidden; border-radius: 50%; background: #e4e4e7; font-size: 22px; font-weight: 600; color: #52525b; }
.aj-cv-avatar img { display: block; width: 100%; height: 100%; object-fit: cover; }
.aj-cv-doc.t-portfolio .aj-cv-name { font-family: inherit; font-size: 18px; font-weight: 500; line-height: 1.3; text-align: left; }
.t-portfolio .aj-cv-headline { margin-top: 2px !important; font-size: 14px; font-weight: 400; color: var(--cv-mute); }
.aj-cv-doc .aj-cv-hello { margin-top: 56px !important; font-family: inherit; font-size: 36px; font-weight: 400; line-height: 1.18; letter-spacing: -0.02em; color: var(--cv-ink); text-wrap: balance; }
.t-portfolio .aj-cv-lead { margin-top: 18px; font-size: 15.5px; line-height: 1.7; color: var(--cv-mute); }
.t-portfolio .aj-cv-contact { gap: 4px 18px; margin-top: 22px !important; font-size: 13px; }
.t-portfolio .aj-cv-contact a { border: 0; }
.aj-cv-photo { position: relative; max-height: 460px; margin: 0; overflow: hidden; border-radius: 20px; background: var(--cv-card); aspect-ratio: 4 / 3; }
.aj-cv-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.aj-cv-photo figcaption { position: absolute; right: 0; bottom: 0; padding: 10px 18px; border-radius: 18px 0 0 0; background: #fff; font-size: 14px; color: var(--cv-ink); }
.t-portfolio .aj-cv-sec { margin: 0; padding: 44px 52px; border-radius: 20px; background: var(--cv-card); }
.aj-cv-doc.t-portfolio .aj-cv-h2 { margin: 0 0 28px !important; padding: 0; border: 0; font-family: inherit; font-size: 30px; font-weight: 400; line-height: 1.2; letter-spacing: -0.02em; text-transform: none; color: var(--cv-ink); }
.t-portfolio .aj-cv-item + .aj-cv-item { margin-top: 26px; }
.t-portfolio .aj-cv-item-title { font-size: 17px; }
.t-portfolio .aj-cv-item-title strong { font-weight: 600; }
.t-portfolio .aj-cv-role { font-weight: 400; color: var(--cv-mute); }
.t-portfolio .aj-cv-bullets { gap: 4px; margin-top: 8px !important; padding-left: 0; list-style: none; color: #52525b; }
.t-portfolio .aj-cv-item-meta { margin-top: 10px !important; font-size: 12.5px; color: var(--cv-mute); }
.t-portfolio .aj-cv-desc, .t-portfolio .aj-cv-summary { color: #52525b; line-height: 1.7; }
.t-portfolio .aj-cv-skills { display: flex; flex-direction: column; gap: 18px; }
.t-portfolio .aj-cv-skill-row { display: flex; flex-direction: column; gap: 8px; }
.t-portfolio .aj-cv-skill-group { font-size: 14px; font-weight: 500; color: var(--cv-mute); }
.t-portfolio .aj-cv-skill-items { display: flex; flex-wrap: wrap; gap: 4px 16px; }
.t-portfolio .aj-cv-chip { border-color: transparent; background: #fff; }
.t-portfolio .aj-cv-lang + .aj-cv-lang { margin-top: 4px; }
@media (max-width: 640px) {
  .t-portfolio .aj-cv-hero, .t-portfolio .aj-cv-sec { padding: 28px 22px; }
  .aj-cv-doc .aj-cv-hello { margin-top: 36px !important; font-size: 28px; }
  .aj-cv-doc.t-portfolio .aj-cv-h2 { font-size: 24px; }
}

/* Optional chips (doc.chips): skills and project technologies, with the skill's logo when there is one */
.aj-cv-chip-logo { flex-shrink: 0; width: 14px; height: 14px; margin-right: 6px; object-fit: contain; }
.aj-cv-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.aj-cv-chip { display: inline-flex; align-items: center; height: 24px; padding: 0 9px; border: 1px solid var(--cv-line); border-radius: 999px; background: #f6f6f9; font-size: 12.5px; line-height: 1; color: var(--cv-ink); white-space: nowrap; }
.aj-cv-tech { margin-top: 8px; }
.t-minimal .aj-cv-skill-items.aj-cv-chips { flex-direction: row; gap: 6px; }
.has-chips .aj-cv-skill-row { align-items: start; }

/* Optional icons (doc.icons) */
.aj-cv-ico { flex-shrink: 0; width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.has-icons .aj-cv-h2 { display: flex; align-items: center; gap: 7px; }
.has-icons .aj-cv-h2 .aj-cv-ico { color: var(--cv-accent); }
.has-icons .aj-cv-contact > * { display: inline-flex; align-items: center; gap: 5px; }
.has-icons .aj-cv-contact .aj-cv-ico { width: 12px; height: 12px; }
@media (max-width: 640px) {
  .aj-cv-doc { padding: 24px 20px; font-size: 13px; border-radius: 14px; }
  .aj-cv-name { font-size: 24px; }
  .aj-cv-skill-row { grid-template-columns: minmax(0, 1fr); gap: 0; }
}

/* Shared page (/cv/{token}/) */
.aj-cv-page { margin: 0; background: #f2f2f5; padding: 16px 16px 48px; font-family: "Mona Sans", ui-sans-serif, system-ui, sans-serif; }
.aj-cv-bar { max-width: 794px; margin: 0 auto 14px; display: flex; justify-content: space-between; align-items: center; }
.aj-cv-bar a { font-weight: 600; color: #0b0b12; text-decoration: none; }
.aj-cv-bar button { height: 38px; padding: 0 16px; border: 0; border-radius: 10px; background: #0b0b12; color: #fff; font: inherit; font-size: 14px; font-weight: 600; }

#aj-cv-print { display: none; }
@page { size: A4; margin: 0; }   /* no printer margins: the CV draws its own (print block at the end), so dark and tinted pages bleed to the edge */
@media print {
  .aj-cv-page { background: #fff; padding: 0; }
  .aj-cv-bar { display: none; }
  .aj-cv-doc { border: 0; border-radius: 0; padding: 0; max-width: none; }
  .aj-cv-doc a { border: 0; }
  /* Builder: bd-cvbuild.js puts a copy of the CV into #aj-cv-print (a direct child of <body>) and prints only that */
  body.aj-cv-printing > *:not(#aj-cv-print) { display: none !important; }
  body.aj-cv-printing { margin: 0 !important; padding: 0 !important; background: var(--cv-page, #fff) !important; }
  body.aj-cv-printing #aj-cv-print { display: block; }
  .aj-cv-doc.t-portfolio { gap: 10px; padding: 0; }
  .t-portfolio .aj-cv-hero, .t-portfolio .aj-cv-sec { padding: 28px 32px; break-inside: avoid-page; }
  .aj-cv-photo { max-height: 300px; break-inside: avoid-page; }
}

/* Skills: one spacing rule – 8px between items in both directions, 8px under a group title, 16px between groups */
.aj-cv-chips { gap: 8px; }
.t-minimal .aj-cv-skills, .t-portfolio .aj-cv-skills { gap: 16px; }
.t-minimal .aj-cv-skill-row, .t-portfolio .aj-cv-skill-row { gap: 8px; }
.t-minimal .aj-cv-skill-items, .t-portfolio .aj-cv-skill-items, .t-minimal .aj-cv-skill-items.aj-cv-chips { gap: 8px; }

/* Image sections (added in the builder): a full-width photo card with an optional caption tag */
.aj-cv-sec.is-image { display: block; }
.t-portfolio .aj-cv-sec.is-image { padding: 0; background: none; }
.aj-cv-doc:not(.t-portfolio) .aj-cv-photo { max-height: 420px; border-radius: 14px; }
.aj-cv-photo figcaption:empty { display: none; }
.aj-cv-photo figcaption.is-empty { color: #a1a1aa; }
/* Image cards always span the section's width */
.aj-cv-photo { width: 100%; max-height: none; aspect-ratio: 16 / 10; }
@media print { .aj-cv-photo { aspect-ratio: 16 / 9; } }

/* Portfolio: editable greeting + title (two lines), Phosphor duotone icons – large, monochrome */
.aj-cv-hello-greet, .aj-cv-hello-title { display: block; }
.aj-cv-hello-title:empty::before { content: "Tavo pareigos"; color: var(--cv-mute); }
.aj-cv-avatar.is-initials { background: var(--cv-ink, #18181b); color: #fff; font-size: 24px; font-weight: 500; letter-spacing: .02em; }
.aj-cv-ico.is-ph { fill: currentColor; stroke: none; }
.t-portfolio.has-icons .aj-cv-h2 { gap: 12px; }
.t-portfolio.has-icons .aj-cv-h2 .aj-cv-ico { width: 32px; height: 32px; color: var(--cv-ink, #18181b); }
.t-portfolio.has-icons .aj-cv-contact > * { gap: 7px; }
.t-portfolio.has-icons .aj-cv-contact .aj-cv-ico { width: 18px; height: 18px; color: var(--cv-ink, #18181b); }

/* Template "swiss": Helvetica-like, black on white, thin rules. Contacts spread on a ruled line at the top; the name
   (large, light) with the title in grey and a portrait on the right; each section opens with a rule and a small grey
   label; items show "dates ··· place" in grey over "Role ··· Company"; education and skills sit side by side when
   they follow each other (.is-half), everything else is one full-width column */
.aj-cv-doc.t-swiss { --cv-mute: #8a8a93; --cv-ink: #111114; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 32px; align-content: start; font-family: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 13.5px; line-height: 1.45; }
.t-swiss > * { grid-column: 1 / -1; }
.t-swiss > .aj-cv-sec.is-half { grid-column: auto; }
.t-swiss > .aj-cv-add { grid-column: 1 / -1; }
.t-swiss .aj-cv-topline { padding-bottom: 8px; border-bottom: 1px solid var(--cv-ink); }
.t-swiss .aj-cv-topline .aj-cv-contact { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 16px; margin: 0 !important; color: var(--cv-ink); font-size: 12.5px; }
.t-swiss .aj-cv-contact a { border-bottom: 0; }
.t-swiss .aj-cv-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin: 0; padding: 28px 0 20px; border-bottom: 1px solid var(--cv-ink); }
.aj-cv-doc.t-swiss .aj-cv-name { font-family: inherit; font-size: 32px; font-weight: 400; letter-spacing: -0.02em; line-height: 1.1; }
.t-swiss .aj-cv-headline { margin-top: 6px !important; font-size: 16px; font-weight: 400; color: var(--cv-mute); }
.t-swiss .aj-cv-portrait { flex: none; width: 112px; aspect-ratio: 4 / 5; margin: 0; overflow: hidden; background: #ececef; }
.t-swiss .aj-cv-portrait img { display: block; width: 100%; height: 100%; object-fit: cover; }
.t-swiss .aj-cv-portrait.is-initials { display: grid; place-items: center; color: var(--cv-mute); font-size: 30px; font-weight: 300; }
.t-swiss .aj-cv-sec { margin-top: 26px; padding-top: 8px; border-top: 1px solid var(--cv-ink); }
.t-swiss .aj-cv-head + .aj-cv-sec, .t-swiss .aj-cv-head + .aj-cv-add + .aj-cv-sec { margin-top: 0; border-top: 0; }
.t-swiss .aj-cv-h2 { margin: 0 0 14px !important; padding: 0; border: 0; font-size: 12.5px; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--cv-mute); }
.t-swiss.has-icons .aj-cv-h2 { display: flex; align-items: center; gap: 6px; }
.t-swiss .aj-cv-sec-body { display: flex; flex-direction: column; gap: 18px; }
.t-swiss .aj-cv-item + .aj-cv-item { margin-top: 0; }
.t-swiss .aj-cv-sw-meta { display: flex; justify-content: space-between; gap: 12px; color: var(--cv-mute); font-size: 12.5px; font-variant-numeric: tabular-nums; }
.t-swiss .aj-cv-sw-meta span:empty { display: none; }
.t-swiss .aj-cv-sw-title { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin-top: 2px; }
.t-swiss .aj-cv-sw-role { font-size: 16px; line-height: 1.3; }
.t-swiss .aj-cv-sw-org { flex: none; max-width: 45%; font-size: 13.5px; text-align: right; }
.t-swiss .aj-cv-sw-org a { border-bottom: 0; }
.t-swiss .aj-cv-bullets { margin-top: 6px !important; padding-left: 16px; gap: 3px; }
.t-swiss .aj-cv-bullets li::marker { color: var(--cv-mute); }
.t-swiss .aj-cv-summary { font-size: 14px; line-height: 1.55; }
.t-swiss .aj-cv-item-title { font-size: 16px; font-weight: 400; }
.t-swiss .aj-cv-item-title strong { font-weight: 400; }
.t-swiss .aj-cv-role { color: var(--cv-mute); }
.t-swiss .aj-cv-desc { margin-top: 4px !important; }
.t-swiss .aj-cv-item-meta { margin-top: 6px !important; color: var(--cv-mute); font-size: 12.5px; }
/* Skills: groups stacked – the group's name, then its items flowing inline (plain or as auto-width chips) */
.t-swiss .aj-cv-skills { display: flex; flex-direction: column; gap: 14px; }
.t-swiss .aj-cv-skill-row { display: flex; flex-direction: column; gap: 8px; }
.t-swiss .aj-cv-skill-group { font-size: 14px; font-weight: 400; color: var(--cv-mute); }
.t-swiss .aj-cv-skill-items { display: flex; flex-wrap: wrap; gap: 4px 14px; }
.t-swiss .aj-cv-skill-items.aj-cv-chips { gap: 8px; }
.t-swiss .aj-cv-lang + .aj-cv-lang { margin-top: 2px; }
@media (max-width: 640px) {
  .aj-cv-doc.t-swiss { grid-template-columns: minmax(0, 1fr); }
  .t-swiss > .aj-cv-sec.is-half { grid-column: 1 / -1; }
  .t-swiss .aj-cv-topline .aj-cv-contact { justify-content: flex-start; }
  .t-swiss .aj-cv-portrait { width: 84px; }
  .aj-cv-doc.t-swiss .aj-cv-name { font-size: 26px; }
  .t-swiss .aj-cv-sw-title { flex-direction: column; gap: 0; }
  .t-swiss .aj-cv-sw-org { max-width: none; text-align: left; }
}

/* Optional monochrome logos (doc.logosMono): tool and skill logos in the chips turn grey */
.aj-cv-doc.is-mono-logos .aj-cv-chip-logo { filter: grayscale(1) contrast(1.15); opacity: .8; }

/* Every text block runs the full width of its section (no reading-width caps), in every template and in the builder's
   inline editor */
.aj-cv-doc .aj-cv-summary, .aj-cv-doc .aj-cv-lead, .aj-cv-doc .aj-cv-desc, .aj-cv-doc .aj-cv-bullets, .aj-cv-doc .aj-cv-bullets-edit,
.aj-cv-doc .aj-cv-sec-body, .aj-cv-doc .aj-rte-inline, .aj-cv-doc .aj-rte-field { width: 100%; max-width: none; min-width: 0; align-self: stretch; }
.t-swiss [data-sec="languages"] .aj-cv-sec-body { gap: 4px; }

/* Template "editorial" (from the "James Okafor" reference): Helvetica-like, black on white; a red monospace kicker
   (title | city), a very large tight name, a grey-scale portrait top right with the contacts under it, a hairline under
   the head, "Apie mane" as a small bold label beside the text, then two columns split by a hairline: experience and
   projects on the left, education, skills and languages on the right. Big light section titles; items are
   "Company / dates" in a narrow left column and "Role + bullets" beside it. */
.aj-cv-doc.t-editorial { --cv-ink: #111; --cv-mute: #8b8b8b; --cv-red: #e1261c; padding: 44px 48px 52px; font-family: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.45; letter-spacing: -0.005em; color: var(--cv-ink); }
.t-editorial .aj-cv-head { display: grid; grid-template-columns: minmax(0, 1fr) 210px; align-items: end; gap: 0 28px; margin: 0; padding: 0 0 22px; border-bottom: 1px solid var(--cv-ink); }
.t-editorial .aj-cv-kicker { margin-bottom: 14px !important; color: var(--cv-red); font: 500 10px/1.2 ui-monospace, "SF Mono", Menlo, Consolas, monospace; letter-spacing: .14em; text-transform: uppercase; white-space: pre; }
.aj-cv-doc.t-editorial .aj-cv-name { font-family: inherit; font-size: 60px; font-weight: 500; letter-spacing: -0.055em; line-height: .92; }
.t-editorial .aj-cv-head-side { align-self: end; }
.t-editorial .aj-cv-headline { display: none; }
.t-editorial .aj-cv-ed-aside { display: flex; flex-direction: column; gap: 10px; }
.t-editorial .aj-cv-portrait { width: 100%; aspect-ratio: 5 / 6; margin: 0; overflow: hidden; background: #d9d9d9; }
.t-editorial .aj-cv-portrait img { display: block; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.05); }
.t-editorial .aj-cv-portrait.is-initials { display: grid; place-items: center; color: #9a9a9a; font-size: 44px; font-weight: 300; }
.t-editorial .aj-cv-contact { display: flex; flex-direction: column; gap: 1px; margin: 0 !important; color: var(--cv-ink); font-size: 11px; line-height: 1.35; }
.t-editorial .aj-cv-contact a { border-bottom: 0; }
.t-editorial .aj-cv-ed-about { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 0 18px; padding: 16px 0 26px; }
.t-editorial .aj-cv-ed-label { font-size: 11px; font-weight: 700; }
.t-editorial .aj-cv-ed-about .aj-cv-summary { font-size: 12px; line-height: 1.45; }
.t-editorial .aj-cv-ed-body { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); border-top: 1px solid var(--cv-ink); }
.t-editorial .aj-cv-ed-body.is-single { grid-template-columns: minmax(0, 1fr); }
.t-editorial .aj-cv-ed-main { padding: 18px 28px 0 0; }
.t-editorial .aj-cv-ed-side { padding: 18px 0 0 24px; border-left: 1px solid var(--cv-ink); }
.t-editorial .aj-cv-sec { margin: 0 0 30px; padding: 0; border: 0; }
.t-editorial .aj-cv-h2 { margin: 0 0 18px !important; padding: 0; border: 0; font-size: 34px; font-weight: 400; letter-spacing: -0.045em; line-height: 1; text-transform: none; color: var(--cv-ink); }
.t-editorial.has-icons .aj-cv-h2 { display: flex; align-items: center; gap: 8px; }
.t-editorial .aj-cv-sec-body { display: flex; flex-direction: column; gap: 18px; }
.t-editorial .aj-cv-item + .aj-cv-item { margin-top: 0; }
.t-editorial .aj-cv-ed { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 0 18px; }
.t-editorial .aj-cv-ed-side .aj-cv-ed { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 12px; }
.t-editorial .aj-cv-ed-org { font-size: 11px; font-weight: 700; line-height: 1.25; }
.t-editorial .aj-cv-ed-org a { border-bottom: 0; }
.t-editorial .aj-cv-ed-when { margin-top: 2px !important; color: var(--cv-mute); font-size: 9.5px; letter-spacing: .02em; text-transform: uppercase; }
.t-editorial .aj-cv-ed-role { font-size: 11.5px; font-weight: 700; line-height: 1.3; }
.t-editorial .aj-cv-ed-side .aj-cv-ed-role { font-weight: 400; }
.t-editorial .aj-cv-bullets { margin-top: 6px !important; padding-left: 14px; gap: 2px; list-style: disc; }
.t-editorial .aj-cv-bullets li::marker { color: var(--cv-ink); }
.t-editorial .aj-cv-item-title { font-size: 12px; }
.t-editorial .aj-cv-item-title strong { font-weight: 700; }
.t-editorial .aj-cv-role { color: var(--cv-mute); font-weight: 400; }
.t-editorial .aj-cv-desc { margin-top: 3px !important; }
.t-editorial .aj-cv-item-meta { margin-top: 4px !important; color: var(--cv-mute); font-size: 10.5px; }
.t-editorial .aj-cv-skills { display: flex; flex-direction: column; gap: 12px; }
.t-editorial .aj-cv-skill-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 12px; }
.t-editorial .aj-cv-skill-group { font-size: 11px; font-weight: 700; }
.t-editorial .aj-cv-skill-items { display: flex; flex-direction: column; gap: 1px; font-size: 11px; }
.t-editorial .aj-cv-skill-items.aj-cv-chips { flex-direction: row; flex-wrap: wrap; gap: 6px; }
.t-editorial .aj-cv-lang { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 12px; font-size: 11px; font-weight: 700; }
.t-editorial .aj-cv-lang .aj-cv-role { font-weight: 400; color: var(--cv-ink); }
.t-editorial .aj-cv-lang + .aj-cv-lang { margin-top: 4px; }
.t-editorial [data-sec="languages"] .aj-cv-sec-body { gap: 0; }
@media (max-width: 640px) {
  .aj-cv-doc.t-editorial { padding: 24px 20px 32px; }
  .t-editorial .aj-cv-head { grid-template-columns: minmax(0, 1fr) 96px; }
  .aj-cv-doc.t-editorial .aj-cv-name { font-size: 40px; }
  .t-editorial .aj-cv-ed-about, .t-editorial .aj-cv-ed { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .t-editorial .aj-cv-ed-body { grid-template-columns: minmax(0, 1fr); }
  .t-editorial .aj-cv-ed-main { padding-right: 0; }
  .t-editorial .aj-cv-ed-side { padding: 18px 0 0; border-left: 0; border-top: 1px solid var(--cv-ink); }
}
/* Chips never run out of their column: long ones wrap inside the pill */
.aj-cv-chip { max-width: 100%; }
.t-editorial.has-chips .aj-cv-skill-row { grid-template-columns: minmax(0, 1fr); gap: 6px; }
.t-editorial .aj-cv-chip { height: auto; min-height: 22px; padding: 3px 9px; font-size: 11px; line-height: 1.25; white-space: normal; }
@media (max-width: 640px) {
  .t-editorial .aj-cv-head { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .t-editorial .aj-cv-ed-aside { order: -1; flex-direction: row; align-items: flex-end; gap: 14px; }
  .t-editorial .aj-cv-ed-aside .aj-cv-portrait { width: 110px; flex: none; }
  .t-editorial .aj-cv-kicker { white-space: normal; }
  .aj-cv-doc.t-editorial .aj-cv-name { font-size: 38px; overflow-wrap: anywhere; }
  .aj-cv-doc.t-editorial .aj-cv-h2 { font-size: 28px; }
}

/* Editorial: items break into rows when their column is too narrow for two sub-columns (container queries on each
   section body) – experience/education: "Company / dates" on top, the role and bullets under it; skills: the group
   name on top, its badges under it */
.t-editorial .aj-cv-sec-body { container-type: inline-size; }
@container (max-width: 480px) {
  .t-editorial .aj-cv-ed, .t-editorial .aj-cv-ed-side .aj-cv-ed { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .t-editorial .aj-cv-ed-r { padding-left: 0; }
}
@container (max-width: 380px) {
  .t-editorial .aj-cv-skill-row { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .t-editorial .aj-cv-skill-items:not(.aj-cv-chips) { flex-direction: row; flex-wrap: wrap; gap: 2px 12px; }
}
@container (max-width: 240px) {
  .t-editorial .aj-cv-lang { grid-template-columns: minmax(0, 1fr); gap: 0; }
}

/* Chips: borderless, a touch larger – in every template */
.aj-cv-doc .aj-cv-chip { height: 28px; padding: 0 12px; border: 0 !important; border-radius: 999px; font-size: 13px; }
.aj-cv-doc .aj-cv-chip-logo { width: 15px; height: 15px; margin-right: 7px; }
.aj-cv-doc.t-editorial .aj-cv-chip { height: auto; min-height: 26px; padding: 4px 11px; font-size: 11.5px; }

/* Builder: editable skills – × on hover, "+ Pridėti" at the end of each group, "+ Nauja grupė" under the list */
.aj-cv-chip.is-edit, .aj-cv-skill-item.is-edit { position: relative; gap: 2px; }
.aj-cv-skill-item.is-edit { display: inline-flex; align-items: center; }
.aj-cv-sk-x { display: inline-grid; place-items: center; width: 16px; height: 16px; margin: 0 -4px 0 4px; padding: 0; border: 0; border-radius: 999px; background: transparent; color: #8b8b95; font: 500 14px/1 var(--aj-font-body, Inter, sans-serif); cursor: default; opacity: 0; transition: opacity .15s ease; }
.is-edit:hover > .aj-cv-sk-x, .aj-cv-skill-grouprow:hover > .aj-cv-sk-x, .aj-cv-sk-x:focus-visible { opacity: 1; }
.aj-cv-sk-x:hover { background: rgba(0,0,0,.08); color: #0b0b12; }
.aj-cv-skill-grouprow { display: inline-flex; align-items: center; gap: 2px; }
.aj-cv-sk-add { display: inline-flex; align-items: center; gap: 4px; height: 28px; padding: 0 11px; border: 1px dashed #c9c9d3; border-radius: 999px; background: transparent; color: #6b6b78; font: 500 12.5px/1 var(--aj-font-body, Inter, sans-serif); cursor: default; }
.aj-cv-sk-add:hover { border-color: #8b8b95; color: #0b0b12; }
.aj-cv-sk-add .aplikuok-fi { width: 13px; height: 13px; }
.aj-cv-sk-add.is-group { margin-top: 12px; }
@media print { .aj-cv-sk-x, .aj-cv-sk-add { display: none !important; } }

/* Editor: fields that are empty show a hint (data-ph), dates/locations/tech are their own editable pieces */
.aj-cv-doc [contenteditable="true"][data-ph]:empty::before { content: attr(data-ph); color: #b3b3c0; font-style: italic; }
.aj-cv-doc .aj-cv-item-meta.is-edit [contenteditable="true"] { display: inline-block; min-width: 2ch; }
.aj-cv-doc .aj-cv-tech-edit { margin-top: 4px; }
.aj-cv-doc .aj-cv-tech-lbl { color: #9a9aab; }
.aj-cv-doc .aj-cv-lang [contenteditable="true"] { min-width: 2ch; display: inline-block; }

/* Minimal / classic: optional picture or initials by the name (doc.avatarMin) */
.aj-cv-headav { display: grid; place-items: center; flex: none; overflow: hidden; background: #f1f1f4; color: var(--cv-ink); font-weight: 600; letter-spacing: .02em; }
.aj-cv-headav img { width: 100%; height: 100%; object-fit: cover; display: block; }
.t-minimal .aj-cv-namecol { display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.t-minimal .aj-cv-headav { width: 72px; height: 72px; border-radius: 50%; font-size: 22px; }
.t-classic .aj-cv-head.has-av { display: grid; grid-template-columns: 76px minmax(0, 1fr); column-gap: 20px; align-items: center; }
.t-classic .aj-cv-head.has-av .aj-cv-headav { grid-row: span 2; width: 76px; height: 76px; border-radius: 14px; font-size: 24px; }
@media (max-width: 640px) {
  .t-minimal .aj-cv-namecol { align-items: flex-start; }
  .t-classic .aj-cv-head.has-av { grid-template-columns: 60px minmax(0, 1fr); column-gap: 14px; }
  .t-classic .aj-cv-head.has-av .aj-cv-headav { width: 60px; height: 60px; font-size: 19px; }
}
@media print { .aj-cv-headav { -webkit-print-color-adjust: exact; print-color-adjust: exact; } }

/* Template "persona": a light grey page of white cards – "■ label" + a large statement, a portrait card with a dark
   glass name plate beside the competencies (icon cards), every section as cards, languages as level bars */
.aj-cv-doc.t-persona { --cv-bg: #f3f4f7; --cv-card: #fff; --cv-mute: #6b6f7b; --cv-accent: #3a5bd9; --ps-r: 18px;
  display: flex; flex-direction: column; gap: 28px; padding: 48px 40px; border: 0; border-radius: 24px; background: var(--cv-bg);
  font-family: "Inter", "Mona Sans", ui-sans-serif, system-ui, sans-serif; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.t-persona .aj-cv-ps-label, .aj-cv-doc.t-persona .aj-cv-h2 { display: flex; align-items: center; gap: 8px; margin: 0 !important; padding: 0; border: 0;
  font-family: inherit; font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--cv-ink); }
.t-persona .aj-cv-ps-label::before, .aj-cv-doc.t-persona .aj-cv-h2::before { content: ""; width: 7px; height: 7px; border-radius: 2px; background: var(--cv-accent); flex: none; }
.t-persona.has-icons .aj-cv-h2 .aj-cv-ico { display: none; }
/* Intro: the label on the left, the statement on the right */
.t-persona .aj-cv-head { display: block; margin: 0; padding: 0; border: 0; }
.t-persona .aj-cv-ps-label { padding-top: 10px; }
.t-persona .aj-cv-head-side { display: flex; flex-direction: column; gap: 14px; }
.aj-cv-doc.t-persona .aj-cv-head-side > .aj-cv-name { font-family: inherit; font-size: 15px; font-weight: 600; }
.aj-cv-doc.t-persona .aj-cv-headline { margin: 0 !important; font-size: 30px; font-weight: 400; line-height: 1.2; letter-spacing: -0.02em; color: var(--cv-ink); text-wrap: balance; padding: 0 !important; }
.t-persona .aj-cv-ps-accent { display: inline; color: var(--cv-accent); }
.t-persona .aj-cv-head .aj-cv-summary { font-size: 14px; line-height: 1.65; color: var(--cv-mute); max-width: 62ch; }
.t-persona .aj-cv-contact { gap: 6px 16px; margin: 0 !important; font-size: 12.5px; }
/* The portrait card and the competencies beside it */
/* One grid: the portrait spans the first three rows, the competency cards flow beside it and then under it in two
   columns (the side column, its section and body are display: contents so the cards are the grid items) */
.t-persona .aj-cv-ps-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; align-items: stretch; }
.t-persona .aj-cv-ps-hero > .aj-cv-ps-photo { grid-row: span 3; }
.t-persona .aj-cv-ps-side, .t-persona .aj-cv-ps-side > .aj-cv-sec, .t-persona .aj-cv-ps-side .aj-cv-sec-body { display: contents; }
.t-persona .aj-cv-ps-side .aj-cv-add { grid-column: 1 / -1; }
.t-persona .aj-cv-ps-hero.is-solo { grid-template-columns: minmax(0, 340px); }
.t-persona .aj-cv-ps-photo { position: relative; margin: 0; min-height: 440px; border-radius: var(--ps-r); overflow: hidden; background: linear-gradient(160deg, #e9eaee, #c9ccd4); }
.t-persona .aj-cv-ps-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.05); }
.t-persona .aj-cv-ps-photo.is-initials { background: linear-gradient(160deg, #2b2f3a, #0d0f14); }
.t-persona .aj-cv-ps-ini { position: absolute; inset: 0 0 90px; display: grid; place-items: center; font-size: 96px; font-weight: 300; letter-spacing: -0.04em; color: rgba(255,255,255,.9); }
.t-persona .aj-cv-ps-plate { position: absolute; left: 16px; right: 16px; bottom: 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; border-radius: 14px;
  background: rgba(24,26,32,.72); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); color: #fff; }
.t-persona .aj-cv-ps-plate-t { display: grid; gap: 2px; min-width: 0; }
.aj-cv-doc.t-persona .aj-cv-ps-plate .aj-cv-name { font-family: inherit; font-size: 19px; font-weight: 500; letter-spacing: -0.01em; color: #fff; }
.t-persona .aj-cv-ps-sub { font-size: 12.5px; color: rgba(255,255,255,.72); }
.t-persona .aj-cv-ps-px { display: grid; grid-template-columns: repeat(3, 8px); gap: 0; flex: none; }
.t-persona .aj-cv-ps-px i { width: 8px; height: 8px; }
.t-persona .aj-cv-ps-px i.on { background: #fff; }
.t-persona .aj-cv-ps-side .aj-cv-h2 { display: none; }
/* Sections: the label, then cards */
.t-persona .aj-cv-sec { display: flex; flex-direction: column; gap: 16px; margin: 0; }
.t-persona .aj-cv-sec-body { display: grid; gap: 12px; }
.t-persona .aj-cv-item, .t-persona .aj-cv-skill-row, .t-persona .aj-cv-ps-lang, .t-persona .aj-cv-lang,
.t-persona .aj-cv-sec[data-sec^="c:"] .aj-cv-summary, .t-persona .aj-cv-sec[data-sec="summary"] .aj-cv-summary { padding: 20px 22px; border-radius: var(--ps-r); background: var(--cv-card); }
.t-persona .aj-cv-item + .aj-cv-item { margin-top: 0; }
.t-persona .aj-cv-item-title { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 10px; font-size: 15px; }
.t-persona .aj-cv-item-title strong { font-weight: 500; }
.t-persona .aj-cv-role { color: var(--cv-mute); }
.t-persona .aj-cv-ps-ico { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #eef1fb; color: var(--cv-accent); flex: none; margin-right: 4px; }
.t-persona .aj-cv-ps-ico .aj-cv-ico { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 1.8; }
.t-persona .aj-cv-desc, .t-persona .aj-cv-bullets { margin-top: 12px !important; font-size: 13px; line-height: 1.6; color: #3f424c; }
.t-persona .aj-cv-bullets { padding-left: 16px; gap: 4px; }
.t-persona .aj-cv-item-meta { margin-top: 10px !important; font-size: 12px; color: var(--cv-mute); }
.t-persona .aj-cv-sec[data-sec="projects"] .aj-cv-sec-body, .t-persona .aj-cv-sec[data-sec="education"] .aj-cv-sec-body { grid-template-columns: repeat(2, minmax(0, 1fr)); }
/* Skills: one card per group */
.t-persona .aj-cv-skills { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 12px; }
.t-persona .aj-cv-skill-row { display: flex; flex-direction: column; gap: 12px; }
.t-persona .aj-cv-skill-group { font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--cv-ink); }
.t-persona .aj-cv-skill-items { display: flex; flex-wrap: wrap; gap: 6px 12px; font-size: 13px; color: #3f424c; }
.t-persona .aj-cv-chip { max-width: 100%; height: auto !important; min-height: 26px; padding-block: 4px !important; line-height: 1.3; white-space: normal; border-color: transparent; background: var(--cv-bg); }
/* Languages: name, a bar of ticks for the level, the level */
.t-persona .aj-cv-sec[data-sec="languages"] .aj-cv-sec-body { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.t-persona .aj-cv-ps-lang { display: flex; flex-direction: column; gap: 14px; }
.t-persona .aj-cv-ps-langname { font-size: 26px; font-weight: 400; letter-spacing: -0.02em; line-height: 1.1; }
.t-persona .aj-cv-ps-bar { display: flex; gap: 3px; height: 30px; }
.t-persona .aj-cv-ps-bar i { flex: 1; border-radius: 2px; background: var(--ps-c); opacity: .18; }
.t-persona .aj-cv-ps-bar i.on { opacity: 1; }
.t-persona .aj-cv-ps-lang.c0 { --ps-c: #3a5bd9; } .t-persona .aj-cv-ps-lang.c1 { --ps-c: #a3e635; } .t-persona .aj-cv-ps-lang.c2 { --ps-c: #7c9cf0; }
.t-persona .aj-cv-ps-level { font-size: 13px; color: var(--cv-mute); }
.t-persona .aj-cv-sec.is-image { gap: 0; }
@media (max-width: 720px) {
  .aj-cv-doc.t-persona { padding: 24px 16px; gap: 28px; }
  .t-persona .aj-cv-head, .t-persona .aj-cv-ps-hero { grid-template-columns: minmax(0, 1fr); }
  .aj-cv-doc.t-persona .aj-cv-headline { font-size: 22px; }
  .t-persona .aj-cv-ps-photo { min-height: 360px; }
  .t-persona .aj-cv-skills, .t-persona .aj-cv-sec[data-sec] .aj-cv-sec-body { grid-template-columns: minmax(0, 1fr) !important; }
}
@media print {
  .aj-cv-doc.t-persona { padding: 0; gap: 24px; background: var(--cv-bg); }
  .t-persona .aj-cv-ps-hero, .t-persona .aj-cv-item, .t-persona .aj-cv-skill-row, .t-persona .aj-cv-ps-lang { break-inside: avoid-page; }
  .t-persona .aj-cv-ps-photo { min-height: 340px; }
}

/* Monospace templates (receipt, terminal): JetBrains Mono, dark by design (kept when printing) */
.aj-cv-doc.t-receipt, .aj-cv-doc.t-terminal { --mn-font: "JetBrains Mono", "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-family: var(--mn-font); font-size: 13px; line-height: 1.6; border: 0; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.t-receipt .aj-cv-name, .t-terminal .aj-cv-name, .t-receipt .aj-cv-h2, .t-terminal .aj-cv-h2 { font-family: var(--mn-font) !important; }
.t-receipt .aj-cv-headav, .t-terminal .aj-cv-headav { display: none; }
.t-receipt .aj-cv-chip, .t-terminal .aj-cv-chip { border-radius: 0; font-family: var(--mn-font); }

/* Template "receipt": a till slip */
.aj-cv-doc.t-receipt { --cv-ink: #f2f2f0; --cv-mute: #9a9a96; --cv-line: #3a3a38; --rc-bg: #131313; background: var(--rc-bg); color: var(--cv-ink); padding: 72px 64px; border-radius: 8px; }
.t-receipt .aj-cv-head { margin: 0 0 28px; padding: 0; border: 0; }
.t-receipt .aj-cv-name { display: flex; align-items: center; gap: 1ch; font-size: 16px; font-weight: 400; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; overflow: hidden; }
.t-receipt .aj-cv-name::before, .t-receipt .aj-cv-name::after { content: "****************************************************************"; flex: 1 1 0; min-width: 3ch; overflow: hidden; letter-spacing: .12em; }
.t-receipt .aj-cv-name::before { text-align: right; direction: rtl; }
.t-receipt .aj-cv-head-side { margin-top: 28px; display: grid; gap: 2px; }
.aj-cv-doc.t-receipt .aj-cv-headline { margin: 0 0 14px !important; font-size: 14px; font-weight: 400; color: var(--cv-ink); text-transform: uppercase; }
.t-receipt .aj-cv-rc-date, .t-receipt .aj-cv-contact > * { display: block; color: var(--cv-ink); }
.t-receipt .aj-cv-contact { display: grid; gap: 2px; margin: 0 !important; font-size: 13px; }
.t-receipt .aj-cv-contact > [data-l]::before { content: attr(data-l) ": "; }
.t-receipt .aj-cv-contact a { border: 0; }
.t-receipt .aj-cv-contact .aj-cv-ico { display: none; }
.t-receipt .aj-cv-sec { margin-top: 30px; }
.aj-cv-doc.t-receipt .aj-cv-h2 { position: relative; margin: 0 0 18px !important; padding: 0 0 26px; border: 0; font-size: 13px; font-weight: 400; letter-spacing: .04em; text-transform: none; color: var(--cv-ink); overflow: hidden; white-space: nowrap; }
.aj-cv-doc.t-receipt .aj-cv-h2::after { content: "********************************************************************************************"; position: absolute; left: 0; right: 0; bottom: 0; overflow: hidden; letter-spacing: .12em; }
.t-receipt .aj-cv-h2 .aj-cv-ico { display: none; }
.t-receipt .aj-cv-item + .aj-cv-item { margin-top: 14px; }
/* "Company · Role ........ 2023 – present": the title, a dotted leader, the dates */
.t-receipt .aj-cv-item-top { display: flex; flex-wrap: nowrap; align-items: baseline; gap: 1ch; }
.t-receipt .aj-cv-item-top::before { content: ""; order: 2; flex: 1 1 2ch; min-width: 2ch; border-bottom: 2px dotted var(--cv-mute); transform: translateY(-4px); }
.t-receipt .aj-cv-item-title { order: 1; min-width: 0; font-size: 13px; text-transform: uppercase; }
.t-receipt .aj-cv-item-title strong { font-weight: 400; }
.t-receipt .aj-cv-item-top > .aj-cv-item-meta { order: 3; flex: none; margin: 0; color: var(--cv-ink); font-size: 13px; white-space: nowrap; }
.t-receipt .aj-cv-item-meta { color: var(--cv-mute); font-size: 12px; }
.t-receipt .aj-cv-bullets { margin-top: 4px !important; padding-left: 3ch; list-style: none; color: var(--cv-mute); }
.t-receipt .aj-cv-bullets li::before { content: "- "; margin-left: -2ch; }
.t-receipt .aj-cv-desc, .t-receipt .aj-cv-summary { color: var(--cv-mute); font-size: 13px; }
.t-receipt .aj-cv-sec[data-sec="summary"] .aj-cv-summary { color: var(--cv-ink); }
/* Skills and languages: "GROUP ....... items" / "LITHUANIAN ....... NATIVE" */
.t-receipt .aj-cv-skill-row { grid-template-columns: minmax(0, 1fr); gap: 2px; }
.t-receipt .aj-cv-skill-row + .aj-cv-skill-row { margin-top: 10px; }
.t-receipt .aj-cv-skill-group { font-weight: 400; text-transform: uppercase; }
.t-receipt .aj-cv-skill-group::before { content: counter(rc-sk) " "; counter-increment: rc-sk; }
.t-receipt .aj-cv-skills { counter-reset: rc-sk; }
.t-receipt .aj-cv-skill-items { color: var(--cv-mute); }
.t-receipt .aj-cv-lang { display: flex; align-items: baseline; gap: 1ch; text-transform: uppercase; }
.t-receipt .aj-cv-lang > .aj-cv-role, .t-receipt .aj-cv-lang > span:last-child { order: 3; }
.t-receipt .aj-cv-lang::after { content: ""; order: 2; flex: 1; border-bottom: 2px dotted var(--cv-mute); transform: translateY(-4px); }
.t-receipt .aj-cv-lang .aj-cv-role { color: var(--cv-ink); }
.t-receipt .aj-cv-mn-foot { margin-top: 34px; }
.t-receipt .aj-cv-rc-total { display: flex; justify-content: space-between; gap: 2ch; padding-top: 10px; border-top: 2px solid var(--cv-ink); font-size: 14px; }
.t-receipt .aj-cv-rc-thanks { margin-top: 30px !important; text-align: center; letter-spacing: .3em; color: var(--cv-mute); }
.t-receipt .aj-cv-chip { background: transparent; border-color: var(--cv-line); color: var(--cv-ink); }

/* Template "terminal": a framed console */
.aj-cv-doc.t-terminal { --cv-ink: #f4f4f4; --cv-mute: #8d8d8d; --cv-line: #444; --tm-green: #4ea784; background: #000; color: var(--cv-ink); padding: 40px; border-radius: 8px; }
.t-terminal .aj-cv-head, .t-terminal .aj-cv-sec, .t-terminal .aj-cv-mn-foot, .t-terminal .aj-cv-add { margin-left: 0; }
.aj-cv-doc.t-terminal { box-shadow: inset 0 0 0 1px var(--cv-line); }
.t-terminal .aj-cv-head { margin: 0 0 30px; padding: 0; border: 0; }
.t-terminal .aj-cv-tm-path { color: var(--cv-mute); margin-bottom: 18px !important; }
.t-terminal .aj-cv-name { font-size: 22px; font-weight: 700; letter-spacing: 0; }
.aj-cv-doc.t-terminal .aj-cv-headline { margin: 4px 0 0 !important; font-size: 15px; font-weight: 400; color: var(--cv-ink); }
.t-terminal .aj-cv-contact { margin-top: 14px !important; gap: 0 2ch; color: var(--cv-mute); font-size: 13px; }
.t-terminal .aj-cv-contact > * + *::before { content: "· "; margin-right: .5ch; }
.t-terminal .aj-cv-contact a { border: 0; }
.t-terminal .aj-cv-sec { margin-top: 30px; }
.t-terminal .aj-cv-sec[data-sec="summary"] { padding: 16px 18px; box-shadow: inset 0 0 0 1px var(--cv-mute); }
.t-terminal .aj-cv-sec[data-sec="summary"] .aj-cv-h2 { display: none; }
.aj-cv-doc.t-terminal .aj-cv-h2 { display: flex; align-items: center; gap: 1.2ch; margin: 0 0 14px !important; padding: 0; border: 0; font-size: 15px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--cv-ink); }
.aj-cv-doc.t-terminal .aj-cv-h2::before { content: ""; width: 15px; height: 17px; flex: none; background: #9a9a9a; clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); }
.aj-cv-doc.t-terminal .aj-cv-sec:first-of-type .aj-cv-h2::before, .t-terminal .aj-cv-sec[data-sec="experience"] .aj-cv-h2::before { background: var(--tm-green); }
.t-terminal .aj-cv-h2 .aj-cv-ico { display: none; }
.t-terminal .aj-cv-sec-body { padding-left: calc(15px + 1.2ch); }
.t-terminal .aj-cv-item + .aj-cv-item { margin-top: 16px; }
.t-terminal .aj-cv-item-top { gap: 0 2ch; }
.t-terminal .aj-cv-item-title { font-size: 13.5px; }
.t-terminal .aj-cv-item-title strong { font-weight: 700; }
.t-terminal .aj-cv-item-meta { color: var(--cv-mute); font-size: 12.5px; }
.t-terminal .aj-cv-bullets { margin-top: 6px !important; padding-left: 0; list-style: none; gap: 4px; color: #cfcfcf; }
.t-terminal .aj-cv-bullets li { display: grid; grid-template-columns: 2.5ch minmax(0, 1fr); }
.t-terminal .aj-cv-bullets li::before { content: ""; width: 12px; height: 12px; margin-top: .4em; box-shadow: inset 0 0 0 1.5px var(--cv-mute); }
.t-terminal .aj-cv-bullets li:first-child::before { box-shadow: inset 0 0 0 1.5px var(--cv-ink), inset 0 0 0 4px #000, inset 0 0 0 8px var(--cv-ink); }
.t-terminal .aj-cv-desc, .t-terminal .aj-cv-summary { color: #cfcfcf; }
.t-terminal .aj-cv-skill-row { grid-template-columns: minmax(0, 1fr); gap: 2px; }
.t-terminal .aj-cv-skill-row + .aj-cv-skill-row { margin-top: 10px; }
.t-terminal .aj-cv-skill-group { font-weight: 400; color: var(--cv-mute); }
.t-terminal .aj-cv-skill-group::before { content: "~/"; }
.t-terminal .aj-cv-skill-items { color: var(--cv-ink); }
.t-terminal .aj-cv-lang .aj-cv-role { color: var(--tm-green); }
.t-terminal .aj-cv-chip { background: transparent; border-color: var(--cv-line); color: var(--cv-ink); }
.t-terminal .aj-cv-mn-foot { margin-top: 34px; }
.t-terminal .aj-cv-tm-box { display: flex; align-items: center; gap: 1.5ch; padding: 14px 18px; box-shadow: inset 0 0 0 1.5px #bdbdbd; color: var(--cv-mute); }
.t-terminal .aj-cv-tm-cursor { background: #d9d9d9; color: #000; }
.t-terminal .aj-cv-tm-arrow { color: var(--cv-mute); }
.t-terminal .aj-cv-tm-status { margin-top: 18px !important; color: var(--cv-mute); }
@media (max-width: 720px) {
  .aj-cv-doc.t-receipt { padding: 40px 20px; }
  .aj-cv-doc.t-terminal { padding: 24px 18px; }
  .t-receipt .aj-cv-item-top { flex-wrap: wrap; }
  .t-receipt .aj-cv-item-top::before { display: none; }
}
@media print {
  .aj-cv-doc.t-receipt { padding: 36px 40px; }
  .aj-cv-doc.t-terminal { padding: 28px; }
}
/* the long star rules must never widen the page; the builder's dark name colour is overridden on the dark templates */
.aj-cv-doc.t-receipt, .aj-cv-doc.t-terminal { max-width: 794px; min-width: 0; overflow: hidden; }
.aj-cv-doc.t-receipt .aj-cv-name, .aj-cv-doc.t-receipt .aj-cv-h2 { contain: inline-size; }
.aj-cv-doc.t-receipt .aj-cv-name, .aj-cv-doc.t-terminal .aj-cv-name { color: var(--cv-ink) !important; }
/* the builder's bullet editor (a list inside the rich-text field) takes the same markers */
.t-receipt .aj-cv-bullets-edit ul { list-style: none; padding-left: 3ch; color: var(--cv-mute); }
.t-receipt .aj-cv-bullets-edit li::before { content: "- "; margin-left: -2ch; }
.t-terminal .aj-cv-bullets-edit ul { list-style: none; padding-left: 0; color: #cfcfcf; }
.t-terminal .aj-cv-bullets-edit li { display: grid; grid-template-columns: 2.5ch minmax(0, 1fr); }
.t-terminal .aj-cv-bullets-edit li::before { content: ""; width: 12px; height: 12px; margin-top: .4em; box-shadow: inset 0 0 0 1.5px var(--cv-mute); }
.t-terminal .aj-cv-bullets-edit li:first-child::before { box-shadow: inset 0 0 0 1.5px var(--cv-ink), inset 0 0 0 4px #000, inset 0 0 0 8px var(--cv-ink); }
.t-receipt .aj-cv-bullets-edit li::marker, .t-terminal .aj-cv-bullets-edit li::marker { content: none; }
/* Dark monospace templates: no skill / tool logos (full-colour and filled-square logos turn into blobs on the dark
   page) – the chips are plain outlined text tags; line icons follow the text colour */
.t-receipt .aj-cv-chip-logo, .t-terminal .aj-cv-chip-logo { display: none; }
.t-receipt .aj-cv-chip, .t-terminal .aj-cv-chip { background: transparent !important; border: 1px solid var(--cv-line) !important; color: var(--cv-ink) !important; }
.t-receipt .aj-cv-ico, .t-terminal .aj-cv-ico { color: var(--cv-mute); stroke: currentColor; }
/* Receipt, light: thermal paper – off-white slip, near-black ink, a hairline edge */
.aj-cv-doc.t-receipt.is-light { --cv-ink: #1b1b19; --cv-mute: #6f6e69; --cv-line: #d9d7d0; --rc-bg: #fbfaf6; box-shadow: 0 0 0 1px #e6e4dd; }
.t-receipt.is-light .aj-cv-rc-total { border-top-color: var(--cv-ink); }

/* Terminal, CLI details: a welcome box, "⏺ Section" tool-call titles with a "⎿" result line, [ bracketed ] tags,
   a "✻ Compiling…" spinner, a "> " prompt box and a split status line */
.t-terminal .aj-cv-tm-welcome { display: grid; gap: 4px; margin-bottom: 26px; padding: 14px 18px; box-shadow: inset 0 0 0 1px var(--tm-accent, #d97757); border-radius: 8px; }
.t-terminal .aj-cv-tm-wt { color: var(--cv-ink); font-weight: 700; }
.t-terminal .aj-cv-tm-wt::before { content: "✻ "; color: var(--tm-accent, #d97757); }
.t-terminal .aj-cv-tm-cwd { color: var(--cv-mute); font-size: 12.5px; }
.t-terminal .aj-cv-tm-path { display: none; }
.aj-cv-doc.t-terminal .aj-cv-h2::before { content: "⏺"; width: auto; height: auto; clip-path: none; background: none !important; color: #9a9a9a; font-size: 13px; }
.aj-cv-doc.t-terminal .aj-cv-sec:first-of-type .aj-cv-h2::before, .t-terminal .aj-cv-sec[data-sec="experience"] .aj-cv-h2::before, .t-terminal .aj-cv-sec[data-sec="competencies"] .aj-cv-h2::before { color: var(--tm-green); }
.aj-cv-doc.t-terminal .aj-cv-h2::after { content: "(" attr(data-cmd) ")"; color: var(--cv-mute); font-weight: 400; }
.aj-cv-doc.t-terminal .aj-cv-h2:not([data-cmd])::after { content: none; }
.t-terminal .aj-cv-sec-body { position: relative; }
.t-terminal .aj-cv-sec-body::before { content: "⎿"; position: absolute; left: calc(1.2ch - 2px); top: -2px; color: var(--cv-mute); }
.t-terminal .aj-cv-sec[data-sec="summary"] .aj-cv-sec-body::before { content: ">"; left: 0; top: 0; color: var(--cv-mute); }
.t-terminal .aj-cv-sec[data-sec="summary"] .aj-cv-sec-body { padding-left: 2.5ch; }
/* tags: [ TypeScript ] – no pills, no logos */
.t-terminal .aj-cv-skill-items { display: flex; flex-wrap: wrap; gap: 4px 1.5ch; }
.t-terminal .aj-cv-skill-items > span, .t-terminal .aj-cv-chip { display: inline-flex; align-items: center; height: auto !important; padding: 0 !important; border: 0 !important; border-radius: 0; background: none !important; font-size: 13px; color: var(--cv-ink); }
.t-terminal .aj-cv-skill-items > span::before, .t-terminal .aj-cv-chip::before { content: "[ "; white-space: pre; color: var(--cv-mute); }
.t-terminal .aj-cv-skill-items > span::after, .t-terminal .aj-cv-chip::after { content: " ]"; white-space: pre; color: var(--cv-mute); }
.t-terminal .aj-cv-skill-items > .aj-cv-sk-add::before, .t-terminal .aj-cv-skill-items > .aj-cv-sk-add::after { content: none; }
.t-terminal .aj-cv-tech { display: flex; flex-wrap: wrap; gap: 2px 1.2ch; margin-top: 8px !important; }
.t-terminal .aj-cv-tech .aj-cv-chip { font-size: 12px; color: #cfcfcf; }
.t-terminal .aj-cv-tm-spin { margin-bottom: 16px !important; color: var(--tm-accent, #d97757); }
.t-terminal .aj-cv-tm-spin::before { content: "✻ "; }
.t-terminal .aj-cv-tm-arrow { color: var(--cv-ink); }
.t-terminal .aj-cv-tm-status { display: flex; justify-content: space-between; gap: 2ch; flex-wrap: wrap; }
.t-terminal .aj-cv-tm-send { color: var(--tm-green); }
/* editor: the × of a tag floats over its corner so the brackets stay tight */
.t-terminal .aj-cv-skill-items > span { position: relative; }
.t-terminal .aj-cv-skill-items > span > .aj-cv-sk-x { position: absolute; top: -9px; right: -9px; margin: 0; }

/* Printing: the page has no margins (@page), so the CV pads itself – 14 × 12 mm, repeated on every printed page
   (box-decoration-break: clone) – and the page behind it takes the template's own background, edge to edge */
@media print {
  html, body { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .aj-cv-doc { --print-pad: 14mm 12mm; padding: var(--print-pad) !important; max-width: none !important; border-radius: 0 !important; box-shadow: none !important;
    -webkit-box-decoration-break: clone; box-decoration-break: clone; }
  .aj-cv-doc.t-terminal { --print-pad: 12mm 12mm; box-shadow: inset 0 0 0 1px var(--cv-line) !important; }
  html:has(.aj-cv-doc.t-terminal), html:has(.aj-cv-doc.t-terminal) body { --cv-page: #000; background: #000 !important; }
  html:has(.aj-cv-doc.t-receipt), html:has(.aj-cv-doc.t-receipt) body { --cv-page: #131313; background: #131313 !important; }
  html:has(.aj-cv-doc.t-receipt.is-light), html:has(.aj-cv-doc.t-receipt.is-light) body { --cv-page: #fbfaf6; background: #fbfaf6 !important; }
  html:has(.aj-cv-doc.t-persona), html:has(.aj-cv-doc.t-persona) body { --cv-page: #f3f4f7; background: #f3f4f7 !important; }
}

/* Printing: page breaks. A section title never ends a page on its own – it stays with the first entry under it;
   entries, skill groups, language rows, contact heads and closing blocks are not cut in half; long entries (taller than
   a page) still split, but keep at least 3 lines of a paragraph / 2 bullets together */
@media print {
  .aj-cv-h2, .aj-cv-ps-label { break-after: avoid; page-break-after: avoid; }
  .aj-cv-sec-body > :first-child, .aj-cv-h2 + * { break-before: avoid; page-break-before: avoid; }
  .aj-cv-head, .aj-cv-item, .aj-cv-skill-row, .aj-cv-lang, .aj-cv-ps-lang, .aj-cv-item-top, .aj-cv-bullets li,
  .aj-cv-mn-foot, .aj-cv-tm-welcome, .aj-cv-rc-total, .aj-cv-ed-about, .aj-cv-topline { break-inside: avoid; page-break-inside: avoid; }
  .aj-cv-sec[data-sec="summary"], .aj-cv-sec[data-sec="languages"], .aj-cv-sec[data-sec="education"] { break-inside: avoid; }
  .aj-cv-doc p, .aj-cv-doc li { orphans: 3; widows: 3; }
  .aj-cv-add, .aj-cv-sk-add, .aj-cv-sk-x { display: none !important; }
  /* flex / grid columns fragment poorly: the persona page flows as plain blocks when printed */
  .aj-cv-doc.t-persona { display: block; }
  .aj-cv-doc.t-persona > * + * { margin-top: 22px; }
  .t-persona .aj-cv-sec { display: block; }
  .t-persona .aj-cv-sec > .aj-cv-h2 { margin-bottom: 14px !important; }
  .aj-cv-doc.t-portfolio .aj-cv-sec { break-inside: auto; }
  .aj-cv-doc.t-portfolio .aj-cv-item { break-inside: avoid; }
}
@media print {
  /* grid containers leave holes when a row moves to the next page – skill groups flow as blocks when printed */
  .aj-cv-doc:not(.t-persona) .aj-cv-skills { display: block; }
  .aj-cv-doc:not(.t-persona) .aj-cv-skills > .aj-cv-skill-row + .aj-cv-skill-row { margin-top: 10px; }
  /* persona: the portrait takes one grid cell (a spanning cell cannot be split across pages) */
  .t-persona .aj-cv-ps-hero > .aj-cv-ps-photo { grid-row: auto; min-height: 330px; break-inside: avoid; }
  .t-persona .aj-cv-ps-hero > .aj-cv-ps-photo .aj-cv-ps-ini { font-size: 72px; }
}
