/* ============================================
   Lesson widgets — interactive teaching components (pilot).
   Site language: warm ground, soft card, real buttons. No accent stripe.
   ============================================ */
.sv-widget{background:#fff;border:1px solid #e8e3db;border-radius:16px;
  box-shadow:0 1px 2px rgba(45,42,38,.04),0 14px 34px -24px rgba(45,42,38,.25);
  margin:2rem 0;padding:1.35rem 1.35rem 1.2rem;overflow:hidden}
.sv-widget .svw-kicker{font-size:.68rem;font-weight:700;letter-spacing:.11em;
  text-transform:uppercase;color:var(--accent,#8a6a4f);margin-bottom:.2rem}
.sv-widget .svw-title{font-family:'Source Serif 4',Georgia,serif;font-size:1.22rem;
  font-weight:600;color:#2d2a26;margin:0 0 1rem}
.sv-widget .svw-controls{display:flex;flex-wrap:wrap;gap:.9rem 1.4rem;align-items:flex-end;
  margin-bottom:1rem}
.sv-widget .svw-field{display:flex;flex-direction:column;gap:.3rem;min-width:150px;flex:1 1 150px;max-width:230px}
.sv-widget .svw-field--fixed{flex:0 0 auto;min-width:0;max-width:none}
.sv-widget .svw-field label{font-size:.78rem;font-weight:600;color:#5b564e}
.sv-widget .svw-field .svw-ends{display:flex;justify-content:space-between;font-size:.66rem;color:#8d8880}
.sv-widget input[type=range]{width:100%;accent-color:var(--accent,#8a6a4f);height:22px;margin:0}
.sv-widget .svw-seg{display:inline-flex;border:1px solid #ddd7cd;border-radius:10px;overflow:hidden}
.sv-widget .svw-seg button{font:inherit;font-size:.82rem;font-weight:600;padding:.5rem .9rem;
  background:#faf8f5;color:#5b564e;border:none;cursor:pointer}
.sv-widget .svw-seg button + button{border-left:1px solid #ddd7cd}
.sv-widget .svw-seg button.on{background:#2d2a26;color:#fff}
.sv-widget .svw-btn{font:inherit;font-size:.82rem;font-weight:600;padding:.5rem .95rem;
  background:#faf8f5;color:#2d2a26;border:1px solid #ddd7cd;border-radius:10px;cursor:pointer}
.sv-widget .svw-btn:hover{border-color:#b9b0a2}
.sv-widget .svw-btn:active{transform:scale(.98)}
.sv-widget .svw-btn.primary{background:#2d2a26;color:#fff;border-color:#2d2a26}
.sv-widget .svw-canvaswrap{background:#faf8f5;border:1px solid #efe9e0;border-radius:12px;padding:.4rem}
.sv-widget canvas{display:block;width:100%;height:auto}
.sv-widget .svw-stats{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.9rem}
.sv-widget .svw-stat{background:var(--accent-badge,#f4f0ea);border-radius:9px;padding:.42rem .7rem;font-size:.8rem;color:#5b564e}
.sv-widget .svw-stat b{color:#2d2a26;font-variant-numeric:tabular-nums}
.sv-widget .svw-caption{font-size:.88rem;line-height:1.5;color:#5b564e;margin-top:.8rem;min-height:1.4em}
.sv-widget .svw-caption b{color:#2d2a26}
/* screen-reader mirror of canvas-only state */
.sv-widget .svw-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media (max-width:560px){
  .sv-widget{padding:1rem 1rem .9rem}
  .sv-widget .svw-field{max-width:none}
}
