.mirror{background:#24372d;color:#f0f2e6;padding-top:115px;padding-bottom:115px}
.mirror .kicker{color:#d6f36b}.mirror-intro{max-width:875px}
.mirror-intro h2{font-size:clamp(46px,7vw,94px);line-height:1.02}
.mirror-intro h2 em{color:#d6f36b}
.mirror-intro p{max-width:690px;color:#d6ddd1}
.mirror-introline{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid #728174;padding:17px 0 25px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#c8d4c4}
.mirror-shell{background:#f2f1e6;color:#1c2c20;padding:clamp(24px,5vw,65px);box-shadow:20px 22px 0 #16271c}
.mirror-top{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:700}
.mirror-track{background:#c7cfbc;height:6px;margin:14px 0 45px}
.mirror-track span{display:block;background:#547140;height:100%;width:0;transition:width .35s}
.mirror-lens{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;letter-spacing:.15em;text-transform:uppercase;color:#5d7752;font-weight:700}
.mirror-lens span{font-weight:500;font-size:11px;color:#626f61}
.mirror-scenario{font:clamp(24px,3vw,40px)/1.3 'Playfair Display',Georgia,serif;max-width:880px;padding:26px 0 10px}
.mirror-shell h3{font:25px/1.3 'DM Sans',sans-serif;margin:26px 0 20px;font-weight:700}
.mirror-options{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.mirror-option{padding:21px 18px;border:1.5px solid #adbaaa;background:#fffefa;color:#28392c;min-height:125px;text-align:left;display:flex;gap:15px;align-items:flex-start;font-weight:600}
.mirror-option:hover{border-color:#45683d;transform:translateY(-2px)}
.mirror-option.chosen{border:2px solid #45683d;background:#e4efd8}
.option-marker{border:1px solid #6d8a64;border-radius:50%;width:28px;height:28px;flex-shrink:0;display:grid;place-items:center;font-size:12px}
.mirror-option.chosen .option-marker{background:#395c37;color:#fff}
.mirror-hint{color:#717b6b;font-size:13px!important}
.mirror-reveal{border-left:4px solid #7b994a;background:#e2ebd8;padding:23px 28px;margin-top:22px;animation:revealMirror .35s ease}
.mirror-reveal span{font-size:11px;font-weight:700;letter-spacing:.16em;color:#426137}
.mirror-reveal p{font:clamp(20px,2.2vw,27px)/1.34 'Playfair Display',Georgia,serif;margin:12px 0}
.mirror-reveal small{color:#4b6047;line-height:1.45;display:block}
@keyframes revealMirror{from{opacity:.5;transform:translateY(8px)}to{opacity:1;transform:none}}
.mirror-journal{margin-top:36px}.mirror-journal label,.mirror-end label{display:block;font-weight:700;font-size:15px;margin-bottom:12px}
.mirror textarea{font:16px/1.5 'DM Sans',sans-serif;resize:vertical;width:100%;background:#fffefa;border:1px solid #aebaa7;color:#23362a;padding:15px;border-radius:2px}
.mirror textarea:focus-visible,.mirror button:focus-visible{outline:3px solid #a2c34e;outline-offset:3px}
.mirror-nav{margin-top:32px;display:flex;gap:13px;justify-content:space-between;align-items:center}.mirror-nav .secondary{color:#2c412f;border-color:#7e9874}
.mirror-nav button:disabled{opacity:.35;cursor:not-allowed}
.mirror-dots{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
.mirror-dots button{width:10px;height:10px;border-radius:50%;padding:0;border:1px solid #809778;background:transparent}
.mirror-dots button.complete{background:#6f9064}.mirror-dots button.here{background:#243c2a;border-color:#243c2a;outline:2px solid #9fba91;outline-offset:2px}
.mirror-end{margin-top:55px;padding:50px clamp(24px,5vw,60px);background:#111f17;color:#f4f4e9}
.mirror-end h3{font:clamp(34px,4.5vw,58px)/1.13 'Playfair Display',Georgia,serif;margin:18px 0}
.mirror-end p{color:#c9d6c8;max-width:780px}
.mirror-end-actions{margin-top:22px;display:flex;flex-wrap:wrap;gap:12px}
.mirror-end .secondary{border-color:#a9b8a6}
.quiet-button{border:0;background:none;color:#becabd;text-decoration:underline;padding:12px}
.mirror-end .micro{font-size:12px;color:#a8b9a7}
#mirrorPrintReport{display:none}
@media(max-width:800px){.mirror-options{grid-template-columns:1fr}.mirror-option{min-height:auto}.mirror-shell{box-shadow:7px 8px 0 #16271c}.mirror-nav{flex-wrap:wrap}.mirror-dots{order:3;width:100%}.mirror-end{padding:32px 22px}.mirror-introline{font-size:11px}}
@media print{
  @page{size:A4;margin:17mm 16mm}
  body.mirror-print-mode{background:white!important;color:#17221a!important}
  body.mirror-print-mode > :not(#mirrorPrintReport){display:none!important}
  body.mirror-print-mode #mirrorPrintReport{display:block!important;font:10.5pt/1.43 Georgia,serif;color:#17221a}
  #mirrorPrintReport h1{font:26pt/1.15 Georgia,serif;margin:0 0 13pt;color:#213b29}
  #mirrorPrintReport h2{font:16pt/1.25 Georgia,serif;color:#2a5034;margin:0 0 10pt}
  #mirrorPrintReport p{font-size:10.5pt;margin:5pt 0 9pt;overflow-wrap:anywhere;white-space:pre-wrap}
  #mirrorPrintReport .print-entry{border-top:1px solid #afbdaf;padding-top:13pt;margin-top:18pt;break-inside:avoid-page}
  #mirrorPrintReport .print-entry p:last-child{color:#4c5b4d}
}
