.card{background:var(--surface);border:1px solid var(--border);border-radius:.5rem;max-width:28rem;padding:1.25rem 1.5rem}form.stacked{flex-direction:column;gap:.75rem;display:flex}form.stacked label{color:var(--fg-muted);flex-direction:column;gap:.25rem;font-size:.9rem;display:flex}form.stacked input,form.stacked select,form.stacked textarea{background:var(--bg);color:var(--fg);border:1px solid var(--border);border-radius:.25rem;padding:.4rem .5rem;font-family:inherit;font-size:.95rem}form.stacked label.checkbox{flex-direction:row;align-items:center;gap:.5rem}form.stacked button,.button{background:var(--border);color:var(--fg);border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:.35rem;align-self:flex-start;padding:.45rem 1rem;font-family:inherit;font-size:.95rem;text-decoration:none;display:inline-block}form.stacked button:hover,.button:hover{background:var(--fg-muted);color:var(--bg)}.inline-form{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.inline-form input,.inline-form select{background:var(--bg);color:var(--fg);border:1px solid var(--border);border-radius:.25rem;width:6rem;padding:.3rem .5rem;font-family:inherit;font-size:.9rem}.inline-form input[type=time],.inline-form select{width:auto}.button:disabled{cursor:default;opacity:.6}.button:disabled:hover{background:var(--border);color:var(--fg)}.error-message{color:var(--row-fail-fg);min-height:1.2em}.success-message{color:var(--row-pass-fg);min-height:1.2em}table.data-table{border-collapse:collapse;width:100%;font-size:.95rem}table.data-table th,table.data-table td{text-align:left;border-bottom:1px solid var(--border);padding:.5rem .75rem}nav.top-bar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;margin:-2rem -2rem 1.5rem;padding:1rem 2rem;display:flex}@media (width<=40rem){table.data-table{display:block;overflow-x:auto}}nav.top-bar .top-bar-links{align-items:center;gap:1.5rem;display:flex}nav.top-bar a{color:var(--fg);text-decoration:none}nav.top-bar a:hover{text-decoration:underline}nav.top-bar a.brand{color:var(--alt-group-border);font-weight:600}nav.top-bar a.brand:hover{text-decoration:none}nav.top-bar a[aria-current=page]{color:var(--alt-group-border);font-weight:600}.course-sub-nav{border-bottom:1px solid var(--border);color:var(--fg-muted);flex-wrap:wrap;align-items:center;gap:1.25rem;margin-bottom:1.5rem;padding-bottom:.75rem;display:flex}.course-sub-nav a{color:var(--fg);text-decoration:none}.course-sub-nav a:hover{text-decoration:underline}.course-sub-nav a[aria-current=page]{color:var(--alt-group-border);font-weight:600}.muted{color:var(--fg-muted);font-size:.9rem;font-weight:400}table.data-table .sort-button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700}table.data-table .column-filter{box-sizing:border-box;background:var(--bg);width:100%;min-width:4rem;color:var(--fg);border:1px solid var(--border);font:inherit;border-radius:.25rem;padding:.25rem .4rem;font-size:.85rem}.table-status{color:var(--fg-muted);font-size:.85rem}table.data-table .outcome-correct,table.data-table .outcome-correct a{color:var(--row-pass-fg)}table.data-table .outcome-wrong,table.data-table .outcome-wrong a{color:var(--row-fail-fg)}main{max-width:72rem;margin:0 auto}main a{color:var(--link)}main a:focus-visible,main button:focus-visible,main summary:focus-visible,main input:focus-visible{outline:2px solid var(--link);outline-offset:2px}.button.primary,form.stacked button.primary{background:var(--accent-bg);border-color:var(--accent-bg);color:var(--accent-fg)}.button.primary:hover,form.stacked button.primary:hover{background:var(--link);border-color:var(--link);color:var(--bg)}.card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.card-header h2{margin:0}.card-header+*{margin-top:1rem}.eyebrow{color:var(--fg-muted);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .25rem;font-size:.8rem}.badge{background:var(--badge-neutral-bg);color:var(--fg-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;padding:.15rem .6rem;font-size:.8rem;font-weight:600;display:inline-flex}.badge.pass{background:var(--badge-pass-bg);color:var(--row-pass-fg)}.badge.fail{background:var(--badge-fail-bg);color:var(--row-fail-fg)}.badge.warn{background:var(--badge-warn-bg);color:var(--row-warn-fg)}.meta{color:var(--fg-muted);flex-wrap:wrap;align-items:center;gap:.75rem;margin:.5rem 0 0;display:flex}.stack{flex-direction:column;gap:1.5rem;display:flex}.card.lab-card{border-left:3px solid var(--alt-group-border)}.card.lab-card h2 a{color:var(--fg);text-decoration:none}.card.lab-card h2 a:hover{text-decoration:underline}.card.lab-card .lab-actions{margin-top:1rem}.toolbar{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.toolbar .button{padding:.3rem .7rem;font-size:.85rem}.formula{white-space:nowrap;font-size:1rem}.back-link{margin-bottom:.5rem;font-size:.9rem;display:inline-block}.card+.card{margin-top:1.5rem}.stack>.card+.card{margin-top:0}.groups-table tbody+tbody{border-top:2px solid var(--border)}.groups-table th[scope=rowgroup]{text-align:left;vertical-align:top}.groups-table td[rowspan]{vertical-align:top}.table-scroll{overflow-x:auto}
