.snt-exercises { margin: 20px 0; padding: 20px; border: 1px solid #94a3b8; border-radius: 16px; background: var(--bg-card, #fff); color: var(--text-primary, #172554); }
.snt-exercises h2 { font-size: 1.4rem; margin: 0 0 10px; }
.snt-exercises p { margin: 8px 0 14px; line-height: 1.5; }
.snt-exercises button, .snt-exercises select { font: inherit; padding: 10px 14px; border: 1px solid #64748b; border-radius: 8px; background: var(--bg-card, #fff); color: inherit; cursor: pointer; }
.snt-exercises button:disabled { opacity: .65; cursor: not-allowed; }
.snt-exercises button:focus-visible, .snt-exercises select:focus-visible, .snt-exercises summary:focus-visible { outline: 3px solid #0284c7; outline-offset: 3px; }
.snt-exercise-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr)); gap: 14px; margin-top: 16px; }
.snt-exercises details, .snt-exercise-session { border: 1px solid #94a3b8; border-radius: 10px; padding: 12px; }
.snt-exercises summary { cursor: pointer; font-weight: 700; padding: 6px 0; }
.snt-exercises label { display: flex; align-items: flex-start; gap: 9px; margin: 12px 0; line-height: 1.4; }
.snt-exercises input[type=checkbox] { width: 20px; height: 20px; flex-shrink: 0; }
.snt-exercises select { max-width: 100%; min-width: 0; }
.snt-exercises a { color: var(--primary, #075985); text-decoration: underline; }
.snt-exercises .snt-exercise-session { margin-top: 10px; }
.snt-exercise-question { margin-top: 20px; padding: 18px; border: 2px solid #0284c7; border-radius: 12px; }
.snt-exercise-options { display: grid; gap: 10px; margin-top: 16px; }
.snt-exercise-options button { text-align: left; white-space: normal; overflow-wrap: anywhere; }
.snt-exercise-notice { min-height: 1.5em; font-weight: 600; }
.snt-exercises [hidden] { display: none !important; }
