.cv-sys-lab { margin:2.5rem 0; padding:clamp(1rem,3vw,2rem); border:2px solid var(--ink); border-radius:17px; background:var(--white); color:var(--ink); min-width:0; scroll-margin-top:7rem; }
.article-body .cv-sys-lab h2 { margin:.35rem 0 1rem; font-size:clamp(1.5rem,4vw,2rem); line-height:1.25; }
.article-body .cv-sys-lab h3 { margin:0 0 .6rem; font-size:1.15rem; line-height:1.4; }
.article-body .cv-sys-lab p { font-size:1rem; line-height:1.65; }
.article-body .cv-sys-lab .cv-sys-kicker { margin:0 0 .4rem; font-size:.8rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-2); }
.cv-sys-lab [hidden] { display:none !important; }
.cv-sys-controls { margin:1.5rem 0; }
.cv-sys-controls fieldset { margin:0; padding:0; border:0; min-width:0; }
.cv-sys-controls legend { font-size:1.05rem; font-weight:800; padding:0 0 .8rem; }
.cv-sys-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.cv-sys-field-group { padding:1rem; border:1px solid #85927c; border-top:4px solid #245747; border-radius:9px; min-width:0; }
.cv-sys-field-group + .cv-sys-field-group { border-top-color:#89600c; }
.cv-sys-fields label { display:block; min-width:0; font-size:1rem; font-weight:700; }
.cv-sys-controls input { box-sizing:border-box; display:block; width:100%; min-width:0; min-height:48px; margin:.5rem 0; padding:.5rem 0; border:0; accent-color:var(--ink); cursor:pointer; }
.cv-sys-presets { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; margin-top:1rem; }
.cv-sys-presets button { min-height:48px; font-size:.9375rem; white-space:normal; padding:.7rem .6rem; }
.cv-sys-lab :disabled { opacity:.5; cursor:not-allowed; }
.cv-sys-lab :focus-visible { outline:3px solid var(--ink); outline-offset:4px; }
.article-body .cv-sys-lab .cv-sys-help { font-size:.9375rem; color:#42594e; margin:.8rem 0; }
.cv-sys-legend { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1.5rem 0 .5rem; }
.cv-sys-legend p { margin:0; min-width:0; }
.cv-sys-legend strong { font-size:.9375rem; }
.cv-sys-legend [data-sys-equation] { display:block; font-weight:800; margin:.5rem 0; }
.cv-sys-line-key { display:inline-block; width:25px; border-top:3px solid #245747; margin-right:.5rem; vertical-align:middle; }
.cv-sys-line-key-two { border-top:3px dashed #89600c; }
.cv-sys-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:1.3rem; align-items:start; }
.cv-sys-grid figure { margin:1rem 0; min-width:0; }
.cv-sys-grid svg { display:block; width:100%; height:auto; }
.cv-sys-grid figcaption { font-size:.9375rem; line-height:1.6; margin:.6rem 0; }
.cv-sys-answer { margin:1rem 0; padding:1rem; border:1px solid #85927c; border-radius:9px; background:#edf2de; min-width:0; }
.article-body .cv-sys-answer .cv-sys-solution { font-size:1.25rem; font-weight:800; overflow-wrap:anywhere; }
.cv-sys-determinant { padding-top:1rem; border-top:1px solid #bac7a9; }
.article-body .cv-sys-determinant p { font-size:.9375rem; margin:.6rem 0 0; }
.cv-sys-lab details { border:1px solid var(--line-strong); border-radius:9px; background:var(--paper); margin-top:1rem; }
.cv-sys-lab summary { min-height:48px; padding:.85rem 1rem; font-weight:750; font-size:1rem; cursor:pointer; }
.cv-sys-lab details p { margin:.4rem 1rem 1rem; overflow-wrap:anywhere; color:#42594e; }
.cv-sys-formula { font-weight:800; }
.cv-sys-error { border:1px solid #9b281d; color:#792116; background:#fff0eb; padding:.8rem; }
.cv-sys-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:760px) { .cv-sys-grid { grid-template-columns:minmax(0,1fr); } }
@media(max-width:620px) { .cv-sys-fields,.cv-sys-legend { grid-template-columns:minmax(0,1fr); } }
