@media(max-width:680px){.course-companions .linked-session-card{display:block}.course-companions .linked-plan-button{margin-top:10px;max-width:100%;white-space:normal}}.course-companions{grid-column:1/-1;text-align:left;white-space:normal;min-width:240px;margin-top:10px}.course-companions summary{cursor:pointer;font-weight:600;padding:8px;background:#e6eff5;color:#18334b}.course-companions small{display:block;font-size:12px;opacity:.8}.course-plan-warning{padding:12px;background:#fff2c8;color:#242424}.course-original-note{font-size:13px}.compact-results-table td .course-companions{max-width:620px}.compact-results-table .course-companions .linked-session-card{display:block}.compact-results-table .course-companions .linked-plan-button{margin-top:10px;max-width:100%;white-space:normal}.course-companions .linked-session-card>div{min-width:0}.course-companion-options{display:grid;gap:14px}.compact-results-table .course-companion-row>td{padding:0 16px 14px}.compact-results-table td .course-companions{width:var(--companion-panel-width,900px);max-width:100%;min-width:0;margin:0}.compact-results-table .course-companion-options{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:stretch}.course-companion-options .linked-session-card{margin:0}.compact-results-table .course-companion-options .linked-session-card{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:12px}.compact-results-table .linked-plan-button{align-self:flex-start}.course-companions summary:focus-visible{outline:3px solid #007844;outline-offset:3px}@media(max-width:680px){.compact-results-table .course-companion-options{grid-template-columns:1fr}.course-companion-options{gap:16px}} 
/* Three readable lines inside the weekly calendar, including term dates. */
.course-block { padding:3px 4px; }
.course-block strong, .course-block-time, .course-block-dates {
 display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
 font-size:11px; line-height:12px;
}
@media print {
 .course-block { padding:2px; }
 .course-block strong, .course-block-time, .course-block-dates {font-size:5.8pt;line-height:1;}
}

/* Preserve original calendar dimensions; align compact text within blocks. */
.course-block { text-align:left; }
.course-block strong, .course-block-time, .course-block-dates {
 margin:0; font-variant-numeric:tabular-nums;
}
/* Larger text without changing calendar or course-block geometry. */
@media screen {
 .course-block { overflow:hidden; }
 .course-block strong, .course-block-time, .course-block-dates {
  font-size:14px; line-height:1.05; white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis;
 }
 .course-block:focus-visible { outline:2px solid var(--ink); outline-offset:2px; }
}