/* Course explorer: preserve map positions; unify controls and refine node surfaces. */
body:has(#course-map-view) main .course-explorer-tools{background:#edf3f5;border:1px solid #c7d5dc;border-radius:8px;margin:20px 0 28px;padding:20px}
body:has(#course-map-view) main .course-explorer-tools .academic-view-tools{padding:0 0 16px;margin:0 0 16px;border:0;border-bottom:1px solid #cad7de;background:transparent;gap:12px;align-items:end}
body:has(#course-map-view) main .course-explorer-tools .academic-view-tools label{margin:0;min-width:180px;max-width:280px;flex:1}
body:has(#course-map-view) main .course-explorer-tools .filters{margin:0;gap:16px;grid-template-columns:minmax(200px,1fr) 220px auto}
body:has(#course-map-view) main .course-explorer-tools :is(button,input,select){box-sizing:border-box;min-height:44px;height:44px;margin:0;border-radius:5px;padding-block:10px;font-size:14px;line-height:22px}
body:has(#course-map-view) main .course-explorer-tools label{font-size:13px;line-height:20px;color:#365568}
body:has(#course-map-view) main .course-explorer-tools button{background:#fffdf9;border:1px solid #b6c5cd;color:#244f63;padding-inline:16px;box-shadow:0 1px 2px #244f630a}
body:has(#course-map-view) main .course-explorer-tools button:hover{background:#e2edf1;border-color:#55768a}
body:has(#course-map-view) main .map-plane{border:1px solid #d0dbe0;border-radius:12px;background:#fbfcfd;box-shadow:0 2px 7px #244f6308}
body:has(#course-map-view) #map .node rect{stroke:var(--node-ink,#55768a);stroke-width:1.6;transition:stroke-width .15s,filter .15s;filter:drop-shadow(0 2px 2px #244f6310)}
body:has(#course-map-view) #map .node:hover rect,body:has(#course-map-view) #map .node:focus rect{stroke-width:2.5;filter:drop-shadow(0 4px 3px #244f6325)}
body:has(#course-map-view) #map .node text{fill:#263b47}
body:has(#course-map-view) #map .edge{stroke:#9dafba;stroke-width:1.25}
body:has(#course-map-view) #map .map-hub{stroke:#fff8ee;stroke-width:4;filter:drop-shadow(0 3px 4px #651c2d22)}
body:has(#course-map-view) .map-pager{background:#edf3f5;border-color:#d0dbe0;padding:12px 16px;gap:20px}
body:has(#course-map-view) .map-pager button{min-width:44px;min-height:44px;border-radius:6px;border:1px solid #b6c5cd;background:#fffdf9;color:#244f63;margin:0}
body:has(#course-map-view) .map-pager button:disabled{opacity:.4}
@media(max-width:850px){body:has(#course-map-view) main .course-explorer-tools .filters{grid-template-columns:minmax(0,1fr) 190px}body:has(#course-map-view) main .course-explorer-tools .filters>button{grid-column:1/-1;justify-self:start}}
@media(max-width:540px){body:has(#course-map-view) main .course-explorer-tools{padding:16px}body:has(#course-map-view) main .course-explorer-tools .filters{grid-template-columns:1fr}body:has(#course-map-view) main .course-explorer-tools .academic-view-tools label{min-width:100%;max-width:none}body:has(#course-map-view) main .course-explorer-tools .academic-view-tools button{width:100%;height:auto}body:has(#course-map-view) main .map-plane{margin-inline:0}}
@media(prefers-reduced-motion:reduce){body:has(#course-map-view) #map .node rect{transition:none}}
body:has(#course-map-view) main .course-view-switch{display:flex;flex-wrap:wrap;gap:6px;padding:4px;background:#d8e4e9;border:1px solid #bfced5;border-radius:8px}
body:has(#course-map-view) main .course-view-switch button{border:1px solid transparent;background:transparent;box-shadow:none;min-height:44px;height:auto;padding:8px 14px}
body:has(#course-map-view) main .course-view-switch button[aria-pressed=true]{background:var(--m-700,#800000);color:#fff8ee;border-color:var(--m-700,#800000);box-shadow:none}
body:has(#course-map-view) main #course-overview-view{background:#dce8ee;border:1px solid #aabfcb;border-radius:10px;padding:24px;margin:24px 0}
body:has(#course-map-view) main #course-overview-view>h2{color:#244f63;margin:0 0 10px}
body:has(#course-map-view) main #course-overview-view>p{max-width:none;margin:0 0 20px}
body:has(#course-map-view) main #course-overview-view .hx{margin:0;gap:20px}
body:has(#course-map-view) main #course-overview-view :is(.hx-vis,.hx-panel){border:1px solid #aabfcb;border-radius:8px;box-shadow:0 2px 6px #244f6310;padding:20px}
@media(max-width:540px){body:has(#course-map-view) main .course-explorer-tools .course-view-switch{width:100%}body:has(#course-map-view) main .course-explorer-tools .course-view-switch button{width:auto;flex:1 1 110px}body:has(#course-map-view) main #course-overview-view{padding:16px}body:has(#course-map-view) main #course-overview-view :is(.hx-vis,.hx-panel){padding:12px}}

/* Match the shared action/choice grammar; blue describes the academic section. */
body:has(#course-map-view) main .course-explorer-tools button{color:var(--m-700,#800000)}
body:has(#course-map-view) main .course-explorer-tools select{background-color:#f4f3ef}
body:has(#course-map-view) main .course-explorer-tools .course-view-switch button[aria-pressed=true]{color:#fff8ee}
body:has(#course-map-view) main #course-overview-view .hx-node text{font-size:12px}
body:has(#course-map-view) main #course-overview-view .hx-node .hx-count{font-size:11px}
body:has(#course-map-view) main #course-overview-view .hx-node[aria-pressed=true]{outline:none}
body:has(#course-map-view) main .course-explorer-tools .workbook-options{margin:0;position:relative}
body:has(#course-map-view) main .course-explorer-tools .workbook-options>div{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:12px 0}

.course-decision{padding:20px;margin:20px 0;background:#e8eff3;border:1px solid #afc2cc;border-top:3px solid #355a78;color:#302b29}.course-decision h3{font-size:22px!important;margin:0 0 12px!important}.course-decision p{max-width:none}.course-decision .actions{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.course-decision .actions a{display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;border:1px solid #afc2cc;background:white;text-decoration:none}.course-decision small{display:block;line-height:1.6}.course-decision article{padding:16px 0;border-top:1px solid #afc2cc}

/* Course save handoff shares the existing action grammar. */
#detail .course-save-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:20px 0 12px}#detail .course-save-actions a:not([hidden]){display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;border:1px solid #a8b9c6;background:#e7edf1;border-radius:4px}#detail .course-save-actions [hidden]{display:none}#detail .course-decision button{min-height:44px;padding:10px 16px}
/* Dining-style faceted choices: one filter surface, counted options, removable choices. */
body:has(#course-map-view) main #course-personal-filters{margin-top:18px;border-top:1px solid #c4d1d8;padding-top:16px;scroll-margin-top:110px}
body:has(#course-map-view) main #course-personal-filters .course-choice-group{border:0;padding:0;margin:0;min-width:0}
body:has(#course-map-view) main #course-personal-filters legend{font-size:13px;font-weight:650;line-height:20px;color:#304c5d;padding:0;margin:0 0 8px}
body:has(#course-map-view) main #course-personal-filters .course-filter-choices{display:flex;flex-wrap:wrap;gap:8px}
body:has(#course-map-view) main #course-personal-filters .course-filter-choice{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid #a8bdc8;border-radius:22px;background:#f8fbfc;color:#29495d;margin:0;box-sizing:border-box;cursor:pointer;max-width:100%}
body:has(#course-map-view) main #course-personal-filters .course-filter-choice:has(:checked){background:#355a70;color:#fff;border-color:#355a70}
body:has(#course-map-view) main #course-personal-filters .course-filter-choice:has(:focus-visible){outline:3px solid #800000;outline-offset:2px}
body:has(#course-map-view) main #course-personal-filters input[type=checkbox]{width:18px;height:18px;min-height:18px;flex:0 0 18px;padding:0;accent-color:#355a70}
body:has(#course-map-view) main #course-personal-filters .course-filter-count{font-variant-numeric:tabular-nums;font-size:12px;border-left:1px solid currentColor;padding-left:8px}
body:has(#course-map-view) main #course-personal-filters .is-unavailable{background:#e6ecef;color:#61727c;cursor:default;border-color:#c9d3d9}
body:has(#course-map-view) main #course-personal-filters .course-filter-help{font-size:12px;line-height:1.5;color:#52616b;margin:8px 0 12px;max-width:none}
body:has(#course-map-view) main #course-personal-filters details{padding:0;margin:12px 0;border:0;background:transparent}
body:has(#course-map-view) main #course-personal-filters summary{min-height:44px;box-sizing:border-box;padding:12px 0;font-size:14px;color:#302b29}
body:has(#course-map-view) main #course-personal-filters .course-filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px;padding:16px;background:#fffdf9;border:1px solid #bacbd3;border-radius:8px}
body:has(#course-map-view) main #course-personal-filters .course-filter-grid>label{display:grid;align-content:start;gap:8px;margin:0}
body:has(#course-map-view) main #course-personal-filters .course-filter-check{display:flex;align-items:center;gap:10px;min-height:44px;margin:0;padding:4px 0;color:#302b29}
body:has(#course-map-view) main #course-personal-filters .course-active-filters{display:flex;flex-wrap:wrap;gap:8px;padding-top:8px}
body:has(#course-map-view) main #course-personal-filters .course-active-chip{height:auto;min-height:44px;background:#e5d9c8;border-color:#b19c7d;color:#4f3c20;border-radius:6px;white-space:normal;text-align:left}
body:has(#course-map-view) main #course-personal-filters .course-filter-status{font-size:13px;font-weight:600;line-height:1.5;max-width:none;margin:12px 0 0;color:#29495d}
body:has(#course-map-view) main #course-personal-filters .hidden-course-row{display:flex;gap:16px;align-items:center;justify-content:space-between;border-top:1px solid #c4d1d8;padding:12px 0}
body:has(#course-map-view) main #course-personal-filters .hidden-course-row button{flex-shrink:0}
body:has(#course-map-view) .course-title-link{display:flex;align-items:center;min-height:44px;font-weight:650}
@media(max-width:600px){body:has(#course-map-view) main #course-personal-filters .course-filter-grid{grid-template-columns:minmax(0,1fr);padding:12px}body:has(#course-map-view) main .course-explorer-tools :is(input:not([type=checkbox]),select){font-size:16px}body:has(#course-map-view) main #course-personal-filters .hidden-course-row{flex-wrap:wrap}body:has(#course-map-view) main #course-personal-filters .course-filter-choice{padding-inline:10px}}
body:has(#course-map-view) main .course-explorer-tools .filters{padding:0}
body:has(#course-map-view) main #course-personal-filters .course-filter-footer{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 20px}
body:has(#course-map-view) main #course-personal-filters .course-filter-footer>.course-more-filters{flex:1 1 400px;margin:0}
body:has(#course-map-view) main #course-personal-filters .course-filter-footer>.course-filter-status{margin:0;white-space:nowrap}
body:has(#course-map-view) main #course-personal-filters .course-filter-footer:has(details[open]){display:block}
body:has(#course-map-view) main #course-personal-filters .course-filter-footer:has(details[open])>.course-filter-status{margin-top:12px}
body:has(#course-map-view) main #course-personal-filters .course-active-filters{padding-top:8px}
body:has(#course-map-view) main #course-personal-filters>fieldset{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px}
body:has(#course-map-view) main #course-personal-filters>fieldset>.course-filter-help{flex:1 1 300px;margin:0}
body:has(#course-map-view) main #course-personal-filters legend{margin-bottom:8px}
@media(max-width:600px){body:has(#course-map-view) main #course-personal-filters .course-filter-footer{gap:0}body:has(#course-map-view) main #course-personal-filters .course-filter-footer>.course-more-filters{flex-basis:100%}}
/* Find first; choose the display after narrowing the catalog. */
body:has(#course-map-view) main .course-explorer-tools .academic-view-tools{margin:16px 0 0;padding:16px 0 0;border-bottom:0;border-top:1px solid #cad7de}
@media(max-width:540px){body:has(#course-map-view) main .course-explorer-tools .filters{grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}body:has(#course-map-view) main .course-explorer-tools .filters>div:first-child{grid-column:1/-1}body:has(#course-map-view) main .course-explorer-tools .filters>button{grid-column:2;justify-self:stretch;padding-inline:12px}}
body:has(#course-map-view) main #course-personal-filters>fieldset{margin-bottom:8px}
body:has(#course-map-view) main #course-personal-filters .course-filter-check+.course-filter-check{margin-top:8px}
body:has(#course-map-view) main .course-view-switch{gap:8px}
body:has(#course-map-view) main #course-personal-filters>.course-choice-group{margin-bottom:8px}
body:has(#course-map-view) main #course-personal-filters>.course-campus-group{margin-top:12px}
body:has(#course-map-view) main #course-personal-filters .course-campus-group .course-filter-help{flex-basis:100%;margin-top:4px}
body:has(#course-map-view) main .course-campus-note{display:block;color:#405769;font-size:12px;line-height:1.5;margin-top:6px}
