/* Scoped module; shared CourseWiki styles own the page card and print shell. */
[data-interactive="cad-state-history"] { min-width: 0; }
.csh-live > .csh-static { display: none; }
.csh-lab { display: grid; gap: .8rem; font-family: var(--f-display); line-height: 1.5; min-width: 0; }
.csh-intro, .csh-panel, .csh-feedback { border: 1px solid var(--rule); border-radius: var(--radius-xs); padding: .75rem; background: var(--surface); }
.csh-panel { min-width: 0; }
.csh-intro p, .csh-lab p { margin-block: .35rem; }
.csh-controls { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
.csh-controls fieldset { min-width: 0; margin: 0; border: 1px solid var(--rule); }
.csh-feature-choice { display: grid; gap: .25rem; margin-bottom: .6rem; }
.csh-feature-choice label { display: flex; align-items: center; gap: .45rem; min-height: 44px; }
.csh-feature-choice input { width: 20px; height: 20px; accent-color: var(--accent); }
.csh-lab label { display: block; font-weight: 700; }
.csh-lab :is(button,select,input[type="number"]) { box-sizing: border-box; min-height: 44px; max-width: 100%; border: 1px solid var(--rule); border-radius: var(--radius-xs); padding: .45rem .6rem; color: var(--ink); background: var(--paper); font: inherit; }
.csh-lab :is(button,select,input) { width: 100%; }
.csh-lab button { cursor: pointer; font-weight: 700; margin-top: .5rem; }
.csh-lab button:disabled { cursor: not-allowed; opacity: .55; }
.csh-lab :is(button,select,input):focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.csh-range { display: block; font-size: .88rem; margin-top: .2rem; }
.csh-milestones { display: flex; flex-direction: column; }
.csh-navigation { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .6rem; align-items: end; }
.csh-panels { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
.csh-panel h3 { margin-block: 0 .55rem; font-size: 1rem; }
.csh-feature-list, .csh-history-list { margin: 0; padding-left: 1.65rem; }
.csh-feature { padding: .35rem; }
.csh-feature span { display: block; font-size: .9rem; }
.csh-history-event { display: grid; grid-template-columns: 2rem minmax(0,1fr); gap: .35rem; align-items: start; margin-block: .35rem; }
.csh-sequence { display: grid; place-items: center; min-height: 2rem; border-radius: 50%; background: var(--accent); color: var(--paper); font-weight: 800; }
.csh-table-wrap { min-width: 0; max-width: 100%; overflow-x: auto; }
.csh-comparison { width: 100%; border-collapse: collapse; min-width: 36rem; }
.csh-comparison :is(th,td) { border: 1px solid var(--rule); padding: .45rem; text-align: left; }
.csh-comparison thead { background: var(--paper); }
.csh-feedback { border-left: 5px solid var(--accent); font-weight: 700; }
.csh-limits { font-size: .9rem; }
.csh-static-table { width: 100%; border-collapse: collapse; }
.csh-static-table :is(th,td) { border: 1px solid var(--rule); padding: .4rem; text-align: left; }
@media (max-width: 42rem) {
  .csh-controls, .csh-panels, .csh-navigation { grid-template-columns: minmax(0,1fr); }
  .csh-navigation { grid-column: auto; }
}
@media print {
  .csh-live > .csh-static { display: block !important; }
  .csh-lab { display: none !important; }
  .csh-static { break-inside: avoid; }
}
