/* square-nonnegative explainer; every selector is scoped to .explain-square-nonnegative. */
.explain-square-nonnegative .sn-core { margin:16px 0 12px; font-size:15px; font-weight:600; line-height:1.65; }
.explain-square-nonnegative .sn-problem { display:flex; align-items:baseline; gap:8px; margin:0 0 12px; padding:10px 14px; border:1px solid #f0dcc0; border-radius:12px; background:#fffaf2; color:#5e4520; font-size:14px; line-height:1.7; }
.explain-square-nonnegative .sn-badge { flex:none; padding:1px 7px; border-radius:6px; background:#d98a1f; color:#fff; font-size:11.5px; font-weight:700; letter-spacing:.04em; }
.explain-square-nonnegative .sn-explorer { display:grid; gap:10px; padding:14px; border:1px solid #dbe8e4; border-radius:16px; background:linear-gradient(180deg,#f5fbfa,#fbfdfc); }
.explain-square-nonnegative .sn-ask { margin:0; color:#33504a; font-size:14px; font-weight:600; line-height:1.7; }
.explain-square-nonnegative .sn-graph { display:block; width:100%; max-width:260px; height:auto; margin:0 auto; }
.explain-square-nonnegative .sn-frame { fill:#fff; stroke:#46605a; stroke-width:1.6; }
.explain-square-nonnegative .sn-rect { fill:#dff1ec; stroke:#087f79; stroke-width:1.4; }
.explain-square-nonnegative .sn-rect-label { fill:#0b6b5c; font-size:12px; font-weight:650; font-style:italic; }
.explain-square-nonnegative .sn-hole { fill:#fdeadf; stroke:#c2410c; stroke-width:1.6; }
.explain-square-nonnegative .sn-hole-label { fill:#b2400c; font-size:11.5px; font-weight:700; }
.explain-square-nonnegative .sn-side { fill:#33504a; font-size:12.5px; font-weight:650; font-style:italic; }
.explain-square-nonnegative .sn-slider { width:100%; max-width:440px; margin:0 auto; accent-color:#087f79; }
.explain-square-nonnegative .sn-slider:focus-visible { outline:3px solid #82cfc7; outline-offset:2px; }
.explain-square-nonnegative .sn-readout { margin:0; color:#33504a; font-size:14px; font-weight:650; font-variant-numeric:tabular-nums; text-align:center; }
.explain-square-nonnegative .sn-result { margin:0; padding:9px 12px; border:1px solid #bfe0d6; border-radius:11px; background:#eef8f5; font-size:14px; line-height:1.75; }
.explain-square-nonnegative .sn-table { width:100%; margin:14px 0 0; border-collapse:separate; border-spacing:0; border:1px solid #e0ebe8; border-radius:14px; overflow:hidden; font-size:14px; }
.explain-square-nonnegative .sn-table caption { padding:0 0 6px; color:#33504a; font-weight:700; text-align:left; }
.explain-square-nonnegative .sn-table th, .explain-square-nonnegative .sn-table td { padding:8px 12px; border-bottom:1px solid #e0ebe8; text-align:left; }
.explain-square-nonnegative .sn-table tbody tr:last-child > * { border-bottom:0; }
.explain-square-nonnegative .sn-table thead th { background:#f3f8f7; color:#46605a; font-size:13px; font-weight:600; }
.explain-square-nonnegative .sn-table td:first-child { font-weight:650; }
.explain-square-nonnegative .sn-notes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:16px 0 0; }
.explain-square-nonnegative .sn-note { padding:12px 14px; border:1px solid #e0ebe8; border-radius:14px; background:#fbfdfc; font-size:13.5px; line-height:1.7; }
.explain-square-nonnegative .sn-note h3 { margin:0 0 6px; font-size:14px; font-weight:700; }
.explain-square-nonnegative .sn-note p { margin:0 0 6px; }
.explain-square-nonnegative .sn-note > :last-child { margin-bottom:0; }
.explain-square-nonnegative .sn-link { padding:0; border:0; background:none; color:var(--teal-dark); font:inherit; font-weight:650; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
@media(max-width:760px) {
  .explain-square-nonnegative .sn-notes { grid-template-columns:1fr; }
}
@media(max-width:600px) {
  .explain-square-nonnegative .sn-core { font-size:14px; }
  .explain-square-nonnegative .sn-explorer { padding:10px 8px; }
  .explain-square-nonnegative .sn-readout { font-size:12.5px; }
  .explain-square-nonnegative .sn-table th, .explain-square-nonnegative .sn-table td { padding:7px 9px; font-size:13px; }
}
