/* DLQI: анкета из 10 вопросов. Общее для калькуляторов — в calc.css. */
.calc { --idx: var(--dlqi); }

/* Влияние на жизнь: пять степеней от зелёного к красному */
.band-none { --b: #c9dfc4; --bt: #24461f; }
.band-small { --b: #e0e2a8; --bt: #44450c; }
.band-moderate { --b: #ecc98c; --bt: #5b3505; }
.band-large { --b: #e8ab92; --bt: #6a2a10; }
.band-extreme { --b: #df97a3; --bt: #6b1022; }
.scorebar .sev[class*='band-'] { background: var(--b); color: var(--bt); }
.big-score em[class*='band-'] { color: var(--bt); }

.part-head.plain { grid-template-columns: minmax(0, 1fr) auto; }
.big-switch { display: flex; gap: 0.5rem; align-items: center; cursor: pointer; font-weight: 600; font-size: var(--fs-0); white-space: nowrap; }
.big-switch input { width: 1.15rem; height: 1.15rem; accent-color: var(--idx); }
.week { font-family: var(--display); font-weight: 700; font-size: 1.5rem; color: var(--ink-3); margin-bottom: 0.25rem; }

/* Вопросы — пронумерованная последовательность */
.qs { list-style: none; margin: 0; padding: 0; counter-reset: none; }
.qi { display: grid; grid-template-columns: 3.2rem minmax(0, 1fr); gap: 1rem; padding: 1.1rem 0; border-bottom: 1px solid var(--rule); }
.qn { font-family: var(--display); font-weight: 900; font-size: 2.6rem; line-height: 0.9; color: var(--rule-strong); text-align: right; transition: color 0.3s var(--ease-out); }
.qi.done .qn { color: var(--idx); }
.qt { font-size: var(--fs-2); font-weight: 600; max-width: 62ch; margin-bottom: 0.65rem; }
.opts { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.opt {
  font: inherit; cursor: pointer; color: var(--ink); background: var(--sheet);
  border: 1px solid var(--rule-strong); border-radius: 2rem; min-height: 2.6rem; padding: 0.3rem 0.5rem 0.3rem 0.95rem;
  display: inline-flex; align-items: center; gap: 0.55rem;
}
.opt span { font-size: var(--fs-1); }
.opt b { font-family: var(--display); font-weight: 800; font-size: 1.05rem; min-width: 1.5rem; height: 1.5rem; border-radius: 1rem; display: grid; place-items: center; background: var(--paper); color: var(--ink-2); }
.opt:not(:has(b)) { padding-right: 0.95rem; }
.opt:hover { border-color: var(--ink); }
.opt.on { background: var(--ink); border-color: var(--ink); color: var(--paper-2); }
.opt.on b { background: var(--idx); color: #fff; }
.opt.nr { border-style: dashed; color: var(--ink-2); }
.opt.nr.on { color: var(--paper-2); border-style: solid; }
.follow { margin-top: 0.7rem; padding: 0.7rem 0.9rem 0.8rem; background: var(--paper-2); border-radius: 0.9rem; }
.follow p { font-size: var(--fs-1); color: var(--ink-2); margin-bottom: 0.5rem; }

/* Крупный шрифт — анкету заполняет сам пациент */
body.large .qt { font-size: 1.5rem; line-height: 1.35; }
body.large .opt { min-height: 3.4rem; padding-left: 1.2rem; }
body.large .opt span { font-size: 1.15rem; }
body.large .qn { font-size: 3.4rem; }
body.large .qi { grid-template-columns: 4rem minmax(0, 1fr); }

/* Итог: шкала и разделы */
.result .scale { margin: 0.5rem 1rem 2.2rem 0; max-width: 46rem; }
.scale .band { background: var(--b); }
.scale .band-none { border-radius: 1rem 0 0 1rem; }
.scale .band-extreme { border-radius: 0 1rem 1rem 0; }
.domains { list-style: none; margin: 0 0 0.5rem; padding: 0; display: grid; gap: 0.45rem; max-width: 46rem; }
.domains li { display: grid; grid-template-columns: 12rem minmax(0, 1fr) 3.5rem; gap: 1rem; align-items: center; }
.dbar { height: 0.55rem; background: var(--paper-2); border-radius: 1rem; overflow: hidden; }
.dbar i { display: block; height: 100%; width: 100%; background: var(--idx); transform-origin: left; transform: scaleX(var(--f, 0)); transition: transform 0.4s var(--ease-out); }
.domains b { text-align: right; font-family: var(--display); font-size: 1.3rem; }
.domains b small { color: var(--ink-3); font-size: 0.9rem; }
.result .hint { color: var(--ink-3); font-size: var(--fs-0); }

@media (max-width: 640px) {
  .qi, body.large .qi { grid-template-columns: 2.2rem minmax(0, 1fr); gap: 0.6rem; }
  .qn, body.large .qn { font-size: 2rem; }
  body.large .qt { font-size: 1.3rem; }
  .domains li { grid-template-columns: minmax(0, 1fr) 3rem; }
  .domains .dbar { grid-column: 1 / -1; grid-row: 2; }
  .part-head.plain { grid-template-columns: 1fr; }
}

@media print {
  .ps-total b small { font-size: 12pt; color: var(--ink-3); }
  .ps-q { margin-top: 3mm; }
  .ps-q th { white-space: normal; padding-right: 4mm !important; }
  .ps-q td { white-space: nowrap; }
  .ps-cols2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8mm; margin-top: 4mm; align-items: start; }
  .ps-cols2 .scale { margin: 2mm 3mm 6mm 0; }
}
