/* Compact chair workspace: drawing, experiments, results and controls together. */
.freischwinger { display: grid; gap: var(--spacing-lg); margin-block: var(--spacing-lg); }
.freischwinger [hidden] { display: none; }
.freischwinger__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, 19rem); gap: var(--spacing-lg); align-items: start; }
.freischwinger__visual { display: grid; gap: var(--spacing-sm); min-width: 0; }
.freischwinger__stage { margin: 0; padding: var(--spacing-sm); border: var(--border-thin) solid var(--surface-border-light); border-radius: var(--radius-lg); background: var(--surface-bg); }
.freischwinger__stage > svg { display: block; width: 100%; height: clamp(14rem, 28vh, 19rem); }
.freischwinger__legend { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--spacing-xs); font-size: var(--text-xs); }
.freischwinger__dash { display: inline-block; width: 2rem; border-top: var(--border-base) dashed var(--textcolor-50contrast); margin-right: var(--spacing-xs); }
.freischwinger__scale { display: grid; gap: var(--spacing-xs); }
.freischwinger__bar { display: block; height: var(--spacing-sm); border-radius: var(--radius-sm); background: linear-gradient(90deg, var(--success-600), var(--warning-500), var(--error-500)); }
.freischwinger__results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--spacing-sm); }
.freischwinger__tile { display: flex; flex-direction: column; gap: var(--spacing-xs); min-width: 0; padding: var(--spacing-sm); border: var(--border-thin) solid var(--surface-border-light); border-radius: var(--radius-md); background: var(--surface-bg); font-size: var(--text-xs); }
.freischwinger__tile > output { font-size: var(--text-lg); font-weight: 700; font-variant-numeric: tabular-nums; }
.freischwinger__tile small, .freischwinger__controls small, .freischwinger__legend { color: var(--textcolor-50contrast); }
.freischwinger__status { font-size: var(--text-sm); font-weight: 600; }
.freischwinger .freischwinger__status--ok { color: var(--success-800); }
.freischwinger .freischwinger__status--warn { color: var(--warning-800); }
.freischwinger .freischwinger__status--bad { color: var(--error-800); }
.freischwinger__controls { display: flex; flex-direction: column; gap: var(--spacing-sm); padding: var(--spacing-sm); border: var(--border-thin) solid var(--surface-border-light); border-radius: var(--radius-lg); background: var(--surface-bg); }
.freischwinger__controls fieldset { min-width: 0; padding: 0; margin: 0; border: 0; }
.freischwinger__controls legend { font-size: var(--text-sm); font-weight: 700; margin-bottom: var(--spacing-xs); }
.freischwinger__controls label { display: flex; align-items: center; flex-wrap: wrap; gap: var(--spacing-xs); margin-top: var(--spacing-xs); font-size: var(--text-xs); line-height: 1.4; }
.freischwinger__controls output { margin-left: auto; font-variant-numeric: tabular-nums; font-weight: 600; }
.freischwinger__controls small { display: block; font-size: var(--text-xs); line-height: 1.4; }
.freischwinger__materials { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--spacing-xs); }
.freischwinger__materials label { padding: var(--spacing-xs); border: var(--border-thin) solid var(--surface-border-light); border-radius: var(--radius-md); cursor: pointer; margin: 0; }
.freischwinger__materials label:has(input:checked) { border-color: var(--primary-color); background: var(--surface-hover); }
.freischwinger__cross-section { display: block; width: 2.5rem; height: 2.5rem; margin: 0; flex: 0 0 auto; }
.freischwinger__check input { flex: 0 0 auto; }
.freischwinger__buttons { display: flex; flex-wrap: wrap; gap: var(--spacing-xs); }
.freischwinger__experiments { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--spacing-xs); }
.freischwinger__experiments button { display: grid; gap: var(--spacing-xs); margin: 0; text-align: left; height: 100%; padding: var(--spacing-xs) var(--spacing-sm); font-size: var(--text-xs); line-height: 1.35; }
.freischwinger__experiments button[aria-pressed="true"] { border-color: var(--primary-color); background: var(--surface-hover); }
.freischwinger__experiments small { font-weight: 400; font-size: var(--text-xs); }
.freischwinger .freischwinger__note { margin-block: var(--spacing-md) 0; }
.freischwinger__numbers { font-variant-numeric: tabular-nums; }
.freischwinger__visual > .elearn-card { padding: var(--spacing-sm); margin: 0; }
.freischwinger__visual > .elearn-card h4 { font-size: var(--text-base); margin: 0 0 var(--spacing-sm); }
.freischwinger__field-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--spacing-sm); }
.freischwinger__field-row > div { min-width: 0; display: flex; flex-direction: column; }
.freischwinger__field-row label { flex: 1; align-content: start; align-items: start; }
.freischwinger__section-hint { display: flex; align-items: center; gap: var(--spacing-sm); }
.freischwinger__section-hint small { flex: 1; }
.freischwinger__buttons button { padding: var(--spacing-xs) var(--spacing-sm); font-size: var(--text-xs); }
.freischwinger .freischwinger__note:empty { display: none; }
@media (max-width: 900px) {
    .freischwinger__grid { grid-template-columns: minmax(0, 1fr); }
    .freischwinger__experiments { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .freischwinger__stage > svg { height: clamp(16rem, 35vh, 22rem); }
}
