.prose h1,.prose h2,.prose h3{font-weight:600;margin:1em 0 .4em}
.prose ul{list-style:disc;margin-left:1.25rem}
.prose ol{list-style:decimal;margin-left:1.25rem}
.prose p{margin:.5em 0}
.prose a{color:#4338ca;text-decoration:underline}
.cv-review {overflow-wrap:anywhere}
.cv-review textarea {resize:vertical}
.cv-review table {break-inside:avoid}
.cv-questionnaire{border:1px solid #cbd5e1;border-left:4px solid #4f46e5;background:#fff;padding:1rem}
.cv-questionnaire-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:.8rem;border-bottom:1px solid #e2e8f0}
.cv-question-progress{flex:none;color:#4338ca;background:#eef2ff;padding:.25rem .55rem;font-size:.72rem;font-weight:600}
.cv-question-list{list-style:none;margin:0;padding:0}
.cv-question{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.8rem;padding:1rem 0;border-bottom:1px solid #e2e8f0}
.cv-question-number{display:grid;place-items:center;width:1.7rem;height:1.7rem;background:#eef2ff;color:#4338ca;font-size:.75rem;font-weight:700}
.cv-question-label{display:block;color:#1e293b;font-size:.9rem;font-weight:600;line-height:1.4}
.cv-question-why{margin:.2rem 0 .55rem;color:#64748b;font-size:.75rem;line-height:1.4}
.cv-question-answer{display:block;width:100%;border:1px solid #cbd5e1;background:#fff;padding:.65rem .75rem;color:#1f2937;font-size:.85rem}
.cv-question-answer:focus{outline:3px solid rgba(79,70,229,.2);outline-offset:1px;border-color:#4f46e5}
.cv-question.is-applied .cv-question-number{background:#dcfce7;color:#166534}
.cv-question-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.9rem}
.cv-question-demo{margin-top:.65rem;color:#92400e;font-size:.72rem;line-height:1.4}
.cv-editor{background:#eef2ff;border:1px solid #c7d2fe;padding:1rem}
.cv-editor-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.85rem}
.cv-editor-badge{flex:none;border:1px solid #a5b4fc;background:#fff;color:#4338ca;padding:.25rem .55rem;font-size:.7rem;line-height:1.25rem}
.cv-editor form{max-width:52rem;margin:0 auto}
.cv-editor textarea{display:block;width:100%;min-height:42rem;padding:2.5rem 3rem;border:1px solid #cbd5e1;border-radius:0;background:#fff;color:#1f2937;box-shadow:0 12px 28px rgba(49,46,129,.12);font-family:Arial,"Helvetica Neue",sans-serif;font-size:.875rem;line-height:1.55;tab-size:2}
.cv-editor textarea:focus{outline:3px solid rgba(79,70,229,.22);outline-offset:2px;border-color:#4f46e5}
.cv-editor-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.85rem}
.cv-editor-note{max-width:52rem;margin:.65rem auto 0;font-size:.72rem;line-height:1.4;color:#475569}
.cv-editor button:focus-visible{outline:3px solid rgba(79,70,229,.3);outline-offset:2px}
@media (max-width:640px){
  .cv-questionnaire-header,.cv-question-actions{align-items:stretch;flex-direction:column}
  .cv-question-progress{align-self:flex-start}
  .cv-question{grid-template-columns:1.75rem minmax(0,1fr);gap:.55rem}
  .cv-editor{padding:.8rem}
  .cv-editor-bar,.cv-editor-footer{align-items:stretch;flex-direction:column}
  .cv-editor-badge{align-self:flex-start}
  .cv-editor textarea{min-height:34rem;padding:1.5rem 1.1rem;font-size:.82rem}
}
.zols-start {max-width:900px;margin:auto;color:#14393d}
.zols-start-intro {background:#ceebdf;color:#14393d;padding:clamp(24px,5vw,48px);border-radius:24px 24px 6px 6px}
.zols-start-intro h1 {font-size:clamp(28px,4vw,42px);line-height:1.15;font-weight:700;max-width:22ch;margin:12px 0 18px}
.zols-start-intro h2 {font-size:24px;font-weight:700}
.zols-start-intro p {max-width:65ch;line-height:1.65;margin-bottom:18px}
.zols-start-intro a {text-decoration:underline;text-underline-offset:4px}
.zols-start-form {background:white;padding:clamp(20px,4vw,40px)}
.zols-start-form fieldset {border:0;border-bottom:1px solid #b9ceca;margin-bottom:30px;padding-bottom:28px;min-width:0}
.zols-start-form legend,.zols-start-form h2 {font-size:22px;font-weight:700;margin-bottom:20px}
.zols-start-form label {display:block;font-weight:600;margin-top:18px}
.zols-start-form label span {font-weight:400}
.zols-start-form input,.zols-start-form textarea,.zols-start-form select {display:block;box-sizing:border-box;width:100%;border:1px solid #6a8585;border-radius:8px;padding:12px;margin-top:8px;background:#fff;color:#14393d;font:inherit;font-weight:400}
.zols-start-form p {font-size:14px;line-height:1.65;max-width:72ch;margin:10px 0 16px;color:#496364}
.zols-start-form button,.zols-start-link {display:inline-block;background:#14393d;color:white;padding:12px 22px;border-radius:24px;font-weight:600}
.zols-start-intro .zols-start-link {text-decoration:none}
.zols-start :focus-visible,.zols-start-intro a:focus-visible {outline:3px solid #986124;outline-offset:4px}
.zols-start-columns {display:grid;grid-template-columns:1fr 1fr;gap:20px}
.cv-wait,.cv-feedback {scroll-margin-top:110px;background:#ceebdf;color:#14393d;border-radius:16px;padding:clamp(24px,5vw,48px);margin:24px 0;line-height:1.6}
.cv-wait h2,.cv-feedback h2 {font-size:clamp(24px,3vw,32px);line-height:1.2;font-weight:700;margin:16px 0}
.cv-wait p,.cv-feedback p {max-width:65ch;margin:12px 0}
.cv-wait-note {font-size:14px}
.cv-feedback a {display:inline-block;padding:12px 0;text-decoration:underline;text-underline-offset:4px;font-weight:600}
.cv-wait:focus-visible,.cv-feedback:focus-visible {outline:3px solid #986124;outline-offset:4px}
.cv-review.is-reviewing > :not(header):not(#cv-progress) {display:none}
.cv-wait-spinner {display:block;width:32px;height:32px;border:3px solid #83aba2;border-top-color:#14393d;border-radius:50%;animation:cv-wait-turn 1s linear infinite}
@keyframes cv-wait-turn {to {transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce) {.cv-wait-spinner {animation:none}}
@media print {.cv-wait,.cv-feedback {display:none}}
.zols-start-details {margin-top:20px}
.zols-start-details summary {cursor:pointer;padding:12px 0;font-weight:600;text-decoration:underline;text-underline-offset:4px}
.zols-profile-preview dd {overflow-wrap:anywhere;white-space:pre-wrap}
@media (max-width:600px) {.zols-start-columns {grid-template-columns:1fr;gap:0}}
@media print {
  body:has(.cv-review) nav, .cv-input, .cv-print, .cv-filter, .cv-questionnaire, .cv-editor {display:none}
  .cv-review > div {display:block}
  .cv-review li, .cv-review table {break-inside:avoid}
}
