.course-details-scope .course-level-100{--level-accent:#0f766e;--level-text:#115e59;--level-bg:#ddf7f0;--level-soft:#eefbf7;--level-border:#8bd8c8}.course-details-scope .course-level-200{--level-accent:#2563eb;--level-text:#1d4ed8;--level-bg:#dbeafe;--level-soft:#eff6ff;--level-border:#93c5fd}.course-details-scope .course-level-300{--level-accent:#b45309;--level-text:#92400e;--level-bg:#fef3c7;--level-soft:#fffbeb;--level-border:#fcd34d}.course-details-scope .course-level-400{--level-accent:#be123c;--level-text:#9f1239;--level-bg:#ffe4e6;--level-soft:#fff1f2;--level-border:#fda4af}.course-details-scope .course-level-other{--level-accent:#475569;--level-text:#334155;--level-bg:#f1f5f9;--level-soft:#f8fafc;--level-border:#cbd5e1}.course-details-scope .modal{border:1px solid var(--strong-line);background:var(--surface);width:min(1120px,100% - 28px);max-height:calc(100vh - 28px);color:var(--text);border-radius:8px;padding:0;box-shadow:0 25px 70px #0526413d}.course-details-scope .modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#061e337a}.course-details-scope .modal-header{z-index:2;border-bottom:1px solid var(--line);background:#fffffffa;justify-content:space-between;align-items:start;gap:16px;padding:18px;display:flex;position:sticky;top:0}.course-details-scope .course-modal-title-block{flex:1;align-items:flex-start;gap:12px;min-width:0;display:flex}.course-details-scope .course-modal-title-block h2{overflow-wrap:anywhere;min-width:0;margin:0;font-size:1.45rem;line-height:1.08}.course-details-scope .course-modal-back,.course-details-scope .course-modal-close-all{min-height:38px;color:var(--blue);white-space:nowrap;background:#fff;border:1px solid #cfe0ef;border-radius:7px;flex:none;justify-content:center;align-items:center;padding:0 12px;font-size:.86rem;font-weight:900;display:inline-flex}.course-details-scope .course-modal-back:before{content:"<";margin-right:7px}.course-details-scope .course-modal-close-all{color:var(--text);gap:9px}.course-details-scope .course-modal-close-all span:last-child{background:#edf5fc;border-radius:5px;place-items:center;width:22px;height:22px;display:inline-grid}.course-details-scope .modal-body{color:var(--muted);gap:14px;padding:18px;line-height:1.55;display:grid}.course-details-scope .modal-body p{margin:0}.course-details-scope .course-modal-layout{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:start;gap:16px;display:grid}.course-details-scope .course-modal-layout.is-tree-expanded{grid-template-columns:minmax(0,1fr)}.course-details-scope .course-modal-layout.is-tree-expanded .course-detail-main,.course-details-scope .course-modal-layout.is-tree-expanded .course-rating-panel{display:none}.course-details-scope .course-modal-layout.is-tree-expanded .course-prereq-panel{grid-column:1/-1;position:static}.course-details-scope .course-detail-main{gap:14px;min-width:0;display:grid}.course-details-scope .course-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.course-details-scope .course-detail-grid div{background:var(--blue-pale);border-radius:5px;gap:4px;min-height:72px;padding:10px;display:grid}.course-details-scope .detail-label{color:var(--muted);font-size:.76rem;font-weight:800}.course-details-scope .detail-section{border-top:1px solid var(--line);gap:8px;padding-top:10px;display:grid}.course-details-scope .detail-section h3{color:var(--text);margin:0;font-size:.95rem}.course-details-scope .detail-section ul{color:var(--muted);gap:8px;margin:0;padding-left:18px;line-height:1.45;display:grid}.course-details-scope .prereq-source-toolbar{background:var(--blue-pale);border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px;display:flex}.course-details-scope .prereq-source-toolbar>span{color:var(--muted);font-size:.76rem;font-weight:800}.course-details-scope .prereq-source-options{flex-wrap:wrap;gap:5px;display:flex}.course-details-scope .prereq-source-options button{border:1px solid var(--line);background:var(--surface);min-height:30px;color:var(--muted);border-radius:5px;padding:3px 9px;font-size:.76rem;font-weight:800}.course-details-scope .prereq-source-options button.is-active{border-color:var(--blue);background:var(--blue);color:#fff}.course-details-scope .prereq-source-originals{gap:8px;display:grid}.course-details-scope .prereq-source-original{border:1px solid var(--line);background:var(--surface);border-radius:6px;gap:6px;padding:9px;display:grid}.course-details-scope .prereq-source-original>div{flex-wrap:wrap;align-items:baseline;gap:8px;font-size:.8rem;display:flex}.course-details-scope .prereq-source-original strong{color:var(--text)}.course-details-scope .prereq-source-original>div span{color:var(--muted)}.course-details-scope .prereq-source-original ul{padding-left:18px}.course-details-scope .prereq-source-original li{min-width:0}.course-details-scope .prereq-logic-routes{gap:7px;margin-top:10px;display:grid}.course-details-scope .prereq-logic-heading{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:850}.course-details-scope .prereq-logic-routes>div{gap:7px;display:grid}.course-details-scope .prereq-logic-route{border:1px solid var(--line);background:var(--blue-pale);border-radius:6px;align-items:center;gap:8px;min-width:0;padding:8px;display:flex}.course-details-scope .prereq-logic-route-number{background:var(--surface);min-width:27px;min-height:24px;color:var(--blue-strong);border-radius:4px;flex:none;place-items:center;font-size:.7rem;font-weight:900;display:inline-grid}.course-details-scope .prereq-logic-group{flex-wrap:wrap;align-items:center;gap:5px;min-width:0;display:inline-flex}.course-details-scope .prereq-logic-group.is-or{background:#fff9ec;border:1px solid #f0cf8b;border-radius:5px;padding:4px 6px}.course-details-scope .prereq-logic-separator{color:var(--muted);margin-right:5px;font-size:.67rem;font-weight:900}.course-details-scope .prereq-logic-group.is-or .prereq-logic-separator{color:#9b6500}.course-details-scope .prereq-logic-code{background:var(--surface);color:var(--blue-strong);border:0;border-radius:4px;padding:3px 6px;font-size:.78rem;font-weight:900}.course-details-scope .inline-course{background:var(--blue-pale);color:var(--blue-strong);font-size:inherit;border:0;border-radius:3px;padding:0 3px;font-weight:800}.course-details-scope .source-link{color:var(--blue-strong);font-weight:800}.course-details-scope .course-prereq-panel{gap:12px;min-width:0;display:grid;position:sticky;top:0}.course-details-scope .course-tree-panel{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;padding:10px}.course-details-scope .course-tree-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 10px;margin-bottom:8px;display:flex}.course-details-scope .course-tree-panel-head h3{color:var(--text);margin:0;font-size:1rem}.course-details-scope .course-tree-actions{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.course-details-scope .course-tree-actions button,.course-details-scope .course-tree-zoom-label{border:1px solid var(--line);background:var(--surface);min-width:30px;min-height:28px;color:var(--blue-strong);border-radius:4px;place-items:center;padding:2px 6px;font-size:.72rem;font-weight:800;display:inline-grid}.course-details-scope .course-tree-actions button:disabled{cursor:not-allowed;opacity:.5}.course-details-scope .course-tree-actions button[aria-pressed=true]{border-color:var(--blue);background:var(--blue-soft)}.course-details-scope .course-tree-zoom-label{color:var(--muted)}.course-details-scope .course-tree-toolbar{flex-wrap:wrap;gap:7px;margin:4px 0 8px;display:flex}.course-details-scope .course-tree-toolbar .text-button{border:1px solid var(--blue);background:var(--surface);min-height:32px;color:var(--blue);border-radius:5px;padding:4px 10px;font-size:.78rem;font-weight:850}.course-details-scope .course-tree-toolbar .text-button.is-active,.course-details-scope .course-tree-toolbar .course-add-route{background:var(--blue);color:#fff}.course-details-scope .course-tree-toolbar .text-button:disabled{cursor:not-allowed;opacity:.5}.course-details-scope .course-route-status{color:var(--muted);margin:0 0 8px;font-size:.76rem;font-weight:750}.course-details-scope .course-route-status[data-tone=error]{color:#b4232a}.course-details-scope .course-route-status[data-tone=warning]{color:#8a5700}.course-details-scope .course-tree-flow{background:var(--blue-pale);border-radius:6px;height:min(480px,52vh);min-height:300px}.course-details-scope .course-tree-panel.is-expanded .course-tree-flow{height:min(720px,72vh);min-height:420px}.course-details-scope .course-tree-panel>.muted{padding:10px}.course-details-scope .course-rating-panel{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:10px;padding:12px;display:grid}.course-details-scope .course-rating-panel h3{color:var(--text);margin:0;font-size:1rem}.course-details-scope .course-rating-panel p{color:var(--muted);margin:0;font-size:.82rem;line-height:1.5}@media (max-width:1180px){.course-details-scope .course-modal-layout{grid-template-columns:1fr}.course-details-scope .course-prereq-panel{position:static}}@media (max-width:860px){.course-details-scope .course-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.course-details-scope .modal-header,.course-details-scope .course-modal-title-block{flex-direction:column;gap:10px}.course-details-scope .course-modal-close-all{justify-content:space-between;width:100%}.course-details-scope .course-detail-grid{grid-template-columns:1fr}}
