/* Compact navigation, with a flat rounded programme switch and edge-reveal drawer. */
:root{--sidebar:220px}
.sidebar{padding:17px 13px 16px;background:var(--surface);overscroll-behavior:contain}
.sidebar #nav{flex:0 0 auto}
.sidebar .nav-item{font-size:13px;line-height:1.3;min-height:38px;padding:7px 10px;margin:2px 0;gap:9px;border-radius:11px;transform:none}
.sidebar .nav-child{margin-left:0;width:100%}
.sidebar .nav-label{font-size:9px;line-height:1.4;letter-spacing:.8px;margin:18px 10px 7px}
.sidebar .nav-item.active::before{display:none}
.sidebar .nav-item.active{box-shadow:inset 0 0 0 1px #2867de0a}
.sidebar .nav-item[href="#settings"]{margin-top:12px;padding:9px 10px;border-top:0;border-radius:11px}
.sidebar .nav-symbol{display:grid;place-items:center;width:26px;height:26px;flex:0 0 26px;border-radius:8px;color:#73849c;transition:background .18s,color .18s,transform .18s}
.sidebar .nav-symbol svg{width:21px;height:21px}
.sidebar .nav-item.active .nav-symbol{color:#3274d7;background:#dbeaff}
.sidebar .nav-item:hover .nav-symbol{color:#3274d7;background:#e8f0fc;transform:translateY(-1px)}
.sidebar .nav-count{font-size:10px!important;font-variant-numeric:tabular-nums}
.sidebar .sidebar-bottom{margin-top:auto;padding:22px 10px 0}
.sidebar .school-link{font-size:12px;line-height:1.4}
.sidebar .student-note{font-size:10px;line-height:1.55;margin-top:10px}
.sidebar .cas-credit{font-size:9px;line-height:1.5;margin-top:12px;padding-top:11px}
.sidebar .program-switch{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0 0 13px;padding:4px;flex-shrink:0;border-radius:18px;border:0;background:var(--surface-soft);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;--switch-offset:0%;transition:background .3s,border-color .3s}
.sidebar .program-switch::before{content:"";position:absolute;z-index:-1;inset:4px auto 4px 4px;width:calc((100% - 8px)/2);border-radius:14px;background:var(--surface);border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transform:translateX(var(--switch-offset));transition:transform .4s cubic-bezier(.22,.8,.22,1.15),background .3s,box-shadow .3s}
.sidebar .program-switch:has([data-program="cp"][aria-pressed="true"]){--switch-offset:100%;background:var(--surface-soft);border:0;}
.sidebar .program-switch:active::before{transform:translateX(var(--switch-offset)) scale(.96)}
.sidebar .program-switch button{font-size:12px;font-weight:550;line-height:1.3;letter-spacing:.15px;min-height:36px;padding:9px 7px;border:0;border-radius:14px;background:transparent;color:#78869b;box-shadow:none;transition:color .2s}
.sidebar .program-switch button[aria-pressed="true"]{background:transparent;color:#2763bf;font-weight:650;box-shadow:none}
body[data-program=cp] .sidebar .program-switch button[aria-pressed=true]{color:#237d70}
.sidebar-edge{display:none}
@media(min-width:651px){
 body[data-sidebar-closed=true] .sidebar-edge:not([hidden]){display:block;position:fixed;inset:76px auto 0 0;width:12px;padding:0;border:0;background:transparent;z-index:21;cursor:e-resize}
 .sidebar-edge>span{position:absolute;left:3px;top:42%;width:3px;height:44px;border-radius:9px;background:#95b7e86b;transition:height .2s,background .2s}
 .sidebar-edge:hover>span,.sidebar-edge:focus-visible>span{height:60px;background:#5b91de}
 body[data-sidebar-closed=true][data-sidebar-peek=true] .sidebar{transform:translateX(0);pointer-events:auto;box-shadow:12px 0 36px #1326471c;border-right-color:var(--border)}
 body[data-sidebar-peek=true] .sidebar-edge{width:4px!important}
 body[data-sidebar-peek=true] .sidebar-edge>span{opacity:0}
}
body[data-theme=dark] .sidebar .nav-symbol{color:#9baec7}
body[data-theme=dark] .sidebar .nav-item.active .nav-symbol,body[data-theme=dark] .sidebar .nav-item:hover .nav-symbol{color:#b7d3ff;background:#344c70}
body[data-theme=dark] .sidebar .program-switch{background:var(--surface-soft);border:0;box-shadow:none;}
body[data-theme=dark] .sidebar .program-switch::before{background:var(--surface);border:0;box-shadow:none;}
body[data-theme=dark] .sidebar .program-switch:has([data-program=cp][aria-pressed=true]){background:var(--surface-soft);border:0;}
body[data-theme=dark] .sidebar .program-switch button{color:#98abc7}
body[data-theme=dark] .sidebar .program-switch button[aria-pressed=true]{color:#d2e6ff;background:transparent}
body[data-theme=dark][data-program=cp] .sidebar .program-switch button[aria-pressed=true]{color:#b9ebdb}
@media(min-width:651px) and (max-width:1150px){:root{--sidebar:208px}}
@media(min-width:651px) and (max-width:850px){:root{--sidebar:198px}.sidebar{padding-inline:10px}.sidebar .nav-item{font-size:12px;gap:7px;padding-inline:8px}.sidebar .nav-label{font-size:8px;letter-spacing:.55px;margin-inline:8px}}
@media(max-width:650px){:root{--sidebar:0px}.sidebar{width:232px;padding:16px 14px}.sidebar .nav-item{min-height:43px;font-size:14px;padding-block:8px}.sidebar .nav-label{margin-top:17px;font-size:9px}.sidebar .program-switch button{min-height:39px;font-size:13px}.sidebar-edge{display:none!important}}
@media(prefers-reduced-motion:reduce){.sidebar,.workspace,.sidebar .program-switch,.sidebar .program-switch::before,.sidebar .nav-symbol{transition:none!important}}
body[data-motion=reduced] :is(.sidebar,.workspace,.program-switch,.nav-symbol),body[data-motion=reduced] .program-switch::before{transition:none!important}
