/* ═══ Werkzeuge: Energie-Tagebuch, Mythos-Quiz, Brief Nachteilsausgleich ═══ */
.ue-wrap { max-width: 860px; padding-bottom: 40px; }
.ue section { margin-bottom: 32px; }
.ue section > h2, .et-entry-head h2, .et-review-head h2 { font-size: 26px; display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.ue-card { padding: 24px 26px; }
.ue-intro h2, .ue-care h2 { font-size: 21px; margin-bottom: 8px; }
.ue-care p + p { margin-top: 8px; }
.ue .row-actions { flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.ue textarea.form-control { resize: vertical; }

/* ── Energie-Tagebuch ── */
.et-entry { border: 1.5px solid var(--ink); box-shadow: 6px 6px 0 color-mix(in srgb, var(--fill) 60%, transparent); }
.et-entry-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.et-daynav { display: flex; align-items: center; gap: 6px; }
.et-daynav .btn { min-width: 40px; font-size: 20px; line-height: 1; }
.et-date { width: auto; min-width: 0; }
.et-spoons, .et-tags { border: none; padding: 0; margin: 18px 0 0; }
.et-spoons legend, .et-tags legend { font-size: 17px; font-weight: 600; margin-bottom: 8px; }
.et-part { display: inline-block; padding: 1px 10px; margin-right: 6px; border-radius: 999px; background: var(--ink); color: var(--paper); font-size: 13.5px; font-weight: 700; letter-spacing: .04em; }
.et-spoon-row { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.et-spoon-opt { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border: 1.5px solid var(--line-strong); border-radius: var(--radius); background: var(--paper); cursor: pointer; color: var(--ink); transition: border-color .15s, background .15s; }
.et-spoon-opt:hover { border-color: var(--ink); }
.et-spoon-opt:focus-within { outline: 3px solid var(--thread); outline-offset: 2px; }
.et-spoon { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.et-spoon-opt.is-filled { background: color-mix(in srgb, var(--fill) 30%, var(--card)); border-color: var(--ink); }
.et-spoon-opt.is-filled .et-spoon ellipse { fill: var(--ink); }
.et-spoon-val { min-width: 4.5em; margin-left: 6px; font-weight: 700; font-size: 15px; color: var(--ink-2); }
.et-clear { margin-left: auto; }
.et-tag-row { display: flex; flex-wrap: wrap; gap: 8px; }
.et-tag { position: relative; display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border: 1.5px solid var(--line-strong); border-radius: 999px; background: var(--paper); cursor: pointer; font-size: 15.5px; font-weight: 600; }
.et-tag input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.et-tag::before { content: ''; width: 14px; height: 14px; border-radius: 50%; border: 1.5px solid var(--ink-3); flex-shrink: 0; }
.et-tag.is-on { border-color: var(--ink); background: color-mix(in srgb, var(--fill) 30%, var(--card)); }
.et-tag.is-on::before { background: var(--ink); border-color: var(--ink); box-shadow: inset 0 0 0 2.5px var(--card); }
.et-tag:focus-within { outline: 3px solid var(--thread); outline-offset: 2px; }
.et-note { margin: 18px 0 0; }
.et-saved { min-height: 1.4em; margin: 8px 0 0; font-size: 14.5px; }

.et-review-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.et-range { display: flex; gap: 8px; }
.et-legend { display: flex; gap: 18px; flex-wrap: wrap; margin: 8px 0 4px; font-size: 15px; font-weight: 600; color: var(--ink-2); }
.et-key { display: inline-flex; align-items: center; gap: 6px; }
.et-key svg line { stroke-width: 2; }
.et-key--m svg line, .et-key--m svg circle { stroke: #B5652A; } .et-key--m svg circle { fill: #B5652A; }
.et-key--a svg line { stroke: #1F72A8; stroke-dasharray: 4 3; } .et-key--a svg rect { fill: #1F72A8; }
.et-chart-wrap { margin: 0; }
.et-chart { width: 100%; overflow: hidden; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 8px 4px 0; }
.et-svg { display: block; max-width: 100%; height: auto; }
.et-grid { stroke: var(--line); stroke-width: 1; }
.et-axis { fill: var(--ink-3); font-size: 12px; font-family: var(--font-text); }
.et-line { fill: none; stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.et-line--m { stroke: #B5652A; }
.et-line--a { stroke: #1F72A8; stroke-dasharray: 5 4; }
.et-pt circle { fill: #B5652A; stroke: var(--card); stroke-width: 2; }
.et-pt--a rect:not(.et-hit) { fill: #1F72A8; stroke: var(--card); stroke-width: 2; }
.et-hit { fill: transparent; stroke: none; }
.et-pt:hover circle, .et-pt:hover rect:not(.et-hit) { stroke: var(--ink); }
.et-chart-wrap figcaption { margin-top: 8px; font-size: 15px; line-height: 1.55; }
.et-table-details { margin-top: 10px; }
.et-table-details summary { cursor: pointer; font-weight: 700; }
.et-table { width: 100%; border-collapse: collapse; margin-top: 8px; font-size: 15px; }
.et-table th, .et-table td { text-align: left; padding: 6px 8px; border-bottom: 1px solid var(--line); vertical-align: top; }
.et-table td:last-child { word-break: break-word; }
.et-patterns { margin-top: 18px; }
.et-patterns h3 { font-size: 19px; margin-bottom: 6px; }
.et-patterns ul { padding-left: 1.2em; display: grid; gap: 6px; line-height: 1.6; }
.et-patterns-note { font-size: 14.5px; margin-top: 8px; }
.et-import-label { cursor: pointer; }
#etImport:focus-visible + .et-import-label, .et-import-label:focus-within { outline: 3px solid var(--thread); outline-offset: 2px; }
.et-data-status { min-height: 1.4em; font-weight: 600; margin-top: 8px; }

/* ── Mythos-Quiz ── */
.mq-topics { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.mq-n { color: var(--ink-3); font-weight: 400; }
.mq-pool { margin-bottom: 14px; }
.mq-progress-row { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; }
.mq-progress { font-weight: 700; margin: 0; white-space: nowrap; }
.mq-cards { list-style: none; padding: 0; margin: 0; }
.mq-card { padding: 24px 26px; border: 1.5px solid var(--ink); box-shadow: 6px 6px 0 color-mix(in srgb, var(--fill, var(--s-allgemeines)) 60%, transparent); }
.mq-card[hidden] { display: none; }
.mq-topic { text-transform: none; letter-spacing: 0; font-weight: 600; }
.mq-claim { font-family: var(--font-display); font-size: 24px; line-height: 1.35; margin: 4px 0 18px; }
.mq-claim:focus, .mq-verdict:focus, .mq-result h2:focus { outline: none; }
.mq-choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; }
.mq-choices .dw-opt:disabled:not(.is-chosen) { opacity: .5; }
.mq-answer { margin-top: 18px; padding-top: 16px; border-top: 1.5px dashed var(--line-strong); }
.mq-verdict { font-weight: 700; font-size: 18px; margin-bottom: 6px; }
.mq-verdict.is-ok::before { content: '✓ '; }
.mq-fact { font-size: 17px; line-height: 1.65; }
.mq-more { margin-top: 8px; }
.mq-share { margin: 16px 0 4px; }
.mq-share textarea { margin-bottom: 8px; background: var(--paper); }

/* ── Brief Nachteilsausgleich ── */
.nb-legal { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 24px; }
.nb-legal .ico { flex-shrink: 0; margin-top: 3px; }
.nb-radio { border: none; padding: 0; }
.nb-radio .form-check { margin-right: 18px; display: inline-flex; }
.nb-hint { margin-top: 16px; }
.nb-hint h3 { font-size: 19px; margin-bottom: 6px; }
.nb-hint ul { padding-left: 1.2em; display: grid; gap: 6px; line-height: 1.6; margin-bottom: 8px; }
.nb-measures { display: grid; gap: 8px; margin: 12px 0 18px; }
.nb-measure { border: 1.5px solid var(--line); border-radius: var(--radius); padding: 10px 14px; background: var(--paper); }
.nb-measure:has(input[data-m]:checked) { border-color: var(--ink); background: color-mix(in srgb, var(--fill) 18%, var(--card)); }
.nb-why { margin-top: 8px; }
.nb-eigene-why { margin-top: 8px; }
.nb-remember { margin: 16px 0 10px; }
.nb-paper { background: var(--paper-2); border-radius: var(--radius-l); padding: 18px; margin: 12px 0; overflow: hidden; }
.nb-letter { background: #fff; color: #111; max-width: 720px; margin: 0 auto; padding: 36px 40px 40px 48px; box-shadow: 0 2px 10px rgba(20, 26, 24, .12);
  font-family: var(--font-text); font-size: 15.5px; line-height: 1.55; overflow-wrap: anywhere; }
.nb-letter p, .nb-letter ul { margin: 0 0 12px; }
.nb-letter ul { padding-left: 1.3em; }
.nb-l-sender { font-size: 14px; color: #333; text-align: right; margin-bottom: 28px !important; }
.nb-l-address { min-height: 7.5em; margin-bottom: 20px !important; }
.nb-l-date { text-align: right; margin-bottom: 26px !important; }
.nb-l-subject { font-weight: 700; margin-bottom: 20px !important; }
.nb-l-closing { margin-top: 20px !important; }
.nb-l-signature { margin-top: 44px !important; padding-top: 4px; border-top: 1px solid #999; display: inline-block; min-width: 220px; }
.nb-l-anl-h { font-weight: 700; margin: 18px 0 2px !important; }
.nb-missing { margin-top: 10px; }

/* Ruhemodus und weniger Bewegung */
html.calm .et-spoon-opt, html.calm .et-tag { transition: none; }
@media (prefers-reduced-motion: reduce) { .et-spoon-opt, .et-tag { transition: none; } }

/* Mobil ab 375 px */
@media (max-width: 640px) {
  .ue-card, .mq-card { padding: 18px 16px; }
  .ue section > h2, .et-entry-head h2, .et-review-head h2 { font-size: 22px; }
  .et-spoon-opt { width: 44px; height: 44px; }
  .et-clear { margin-left: 0; }
  .mq-claim { font-size: 21px; }
  .nb-paper { padding: 8px; }
  .nb-letter { padding: 20px 16px; font-size: 14.5px; }
  .nb-l-sender { text-align: left; }
}

/* ── Druck ── */
@media print {
  body.print-et .navbar, body.print-et footer, body.print-et .spectrum-band, body.print-et .skip-link,
  body.print-et .ue-intro, body.print-et .et-entry, body.print-et .et-data, body.print-et .ue-care, body.print-et .et-range,
  body.print-et .row-actions, body.print-et .breadcrumb, body.print-et .lede, body.print-et .et-table-details summary { display: none !important; }
  body.print-et .et-chart { border: 1px solid #999; }
  body.print-et .et-table th, body.print-et .et-table td { border-bottom: 1px solid #999; }

  body.print-nb .navbar, body.print-nb footer, body.print-nb .spectrum-band, body.print-nb .skip-link, body.print-nb .page-head,
  body.print-nb .nb-legal, body.print-nb .nb-form, body.print-nb .ue-care, body.print-nb .wissen-sources,
  body.print-nb .nb-out > :not(.nb-paper) { display: none !important; }
  body.print-nb .ue-wrap, body.print-nb .nb-out, body.print-nb .nb-paper { margin: 0 !important; padding: 0 !important; max-width: none; background: none; }
  body.print-nb .nb-letter { max-width: none; margin: 0; padding: 0; box-shadow: none; font-size: 11pt; line-height: 1.45; }
  body.print-nb .nb-l-sender { font-size: 9pt; }
  body.print-nb .nb-l-address { min-height: 40mm; }
  body.print-nb .src-pop { display: none !important; }
}
@page { size: A4; margin: 20mm 20mm 20mm 25mm; }

/* ═══ Mythos-Quiz: Ergebnis-Liste und Gruppen-Druck ═══ */
.mq-review-list { margin: 6px 0 16px 20px; line-height: 1.8; }
#mqReview h3 { font-size: 19px; margin: 18px 0 4px; }
@media screen { .mq-print { display: none !important; } }
@page mq { size: A4 portrait; margin: 0; }
@media print {
  body.print-mq > *:not(.mq-print) { display: none !important; }
  body.print-mq { margin: 0 !important; padding: 0 !important; background: #fff !important; }
  body.print-mq::before, body.print-mq::after { display: none !important; }
  .mq-print { display: block !important; page: mq; color: #1F2B2A; font-family: var(--font-text); }
  .mq-print-page { box-sizing: border-box; width: 210mm; padding: 16mm 18mm; }
  .mq-print-solution { break-before: page; }
  .mq-print h1 { font-family: var(--font-display); font-size: 24pt; margin: 0 0 3mm; }
  .mq-print h2 { font-family: var(--font-display); font-size: 18pt; margin: 0 0 4mm; }
  .mq-print-intro { font-size: 11pt; margin: 0 0 6mm; }
  .mq-print-list { margin: 0; padding-left: 7mm; font-size: 11pt; line-height: 1.45; }
  .mq-print-list li { margin-bottom: 3.5mm; break-inside: avoid; }
  .mq-print-claim { display: block; }
  .mq-print-boxes { display: block; margin-top: 1mm; font-size: 10.5pt; color: #46534F; white-space: pre; }
  .mq-print-src { color: #46534F; font-size: 9.5pt; }
  .mq-print-foot { margin-top: 6mm; font-size: 9pt; color: #46534F; }
}
