/* ---------- Область визначення функції (domain) ---------- */
.dsheet{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:12px;color:var(--graphite)}
.dcur{background:rgba(224,152,42,.13)}
.dline{padding:6px 12px;border-radius:9px}
.dline .fml,.dsys .fml,.dclone{font-size:24px}
.dfx>.hwg{margin-right:.02em}

/* небезпечні місця: обведення кольором умови + номер; підказка — під підвиразом */
.mk0{--mk:var(--primary)} .mk1{--mk:var(--pink)} .mk2{--mk:var(--amber)} .mk3{--mk:#1596a8} .mkn{--mk:#98a0bd}
.fmark.mnew{animation:markIn .45s ease-out both}
@keyframes markIn{from{outline-color:transparent;outline-offset:9px;background:transparent}}
.dhints{display:flex;flex-direction:column;align-items:flex-start;gap:1px;margin-top:-4px;padding-left:12px}
.dhint{font:13px/20px 'Segoe UI',sans-serif;color:var(--muted);white-space:nowrap}
@keyframes hintAgain{40%{transform:scale(1.08);color:var(--mk)}}
.dhint b,.dtag{color:var(--mk);font-weight:700}
.dtag{font-size:15px;font-family:'Segoe UI',sans-serif}

/* система умов з фігурною дужкою */
.dsys{display:flex;align-items:stretch;gap:8px;padding:6px 12px;border-radius:9px}
.dbrace{position:relative;width:13px;flex:none}
.dbrace svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.dbrace path{fill:none;stroke:var(--graphite);stroke-width:2.2;stroke-linecap:round}
.dsrows{display:flex;flex-direction:column;gap:6px}
.dsrow{display:flex;align-items:center;gap:10px}
.dsrel{gap:4px}
.dclone{position:absolute;pointer-events:none;z-index:6;will-change:transform}

/* розв'язок кожної умови — свій блок; блоки стають поруч */
.dblocks{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:flex-start}
.dblock{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:8px 10px 10px;border:1.5px dashed #d6dcef;border-radius:12px;background:rgba(255,255,255,.55)}
.dbttl{font:600 13px 'Segoe UI',sans-serif;color:var(--muted);margin-bottom:2px}
.dblock .eqsolve{align-items:flex-start}
.drow{display:flex;align-items:center;gap:8px;min-height:var(--cell);padding:3px 8px;border-radius:7px;font-size:20px}
.drow.cur{background:rgba(224,152,42,.18)}
.drow.dres .fml{color:var(--green);font-weight:700}
.dp{display:inline-flex;align-items:center;margin:0 .06em}
.dsemi{margin-right:.45em}
.dcup{margin:0 .3em}
.dxi .dsub{display:inline-flex;font-size:.55em;align-self:flex-end;margin:0 0 -.1em -.08em}
.dword{font:italic 15px 'Segoe UI',sans-serif;color:var(--muted);margin-left:.4em}
.dlinewrap{display:flex;flex-direction:column;gap:2px;padding:6px 6px 2px;border-radius:9px;margin-top:4px}
.dfinal{padding:8px 10px 4px;border-radius:9px}
.dans{padding:6px 12px;border-radius:9px}
.dans .fml{font-size:24px;color:var(--green);font-weight:700}

/* панель умови: кнопки-вставки і живе прев'ю */
.dpal{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.dpal button{background:#eceef5;border-radius:7px;padding:3px 9px;font:600 13px 'JetBrains Mono',monospace;color:var(--ink)}
.dpal button:hover{background:#e2e5ef}
#dprev{min-height:56px;margin:2px 0 10px;padding:8px;display:flex;align-items:center;justify-content:center;overflow-x:auto;
  background:var(--paper);border:1px solid #d3e2f4;border-radius:8px;font-size:19px}
.dprev-err{font:12px/1.35 'Segoe UI',sans-serif;color:var(--muted);text-align:center}
