@font-face{font-family:'Course Bricolage';src:url('/fonts/bricolage-grotesque-v1.woff2') format('woff2');font-weight:400 800;font-display:swap}
/* Course path, adapted from the owner's Course path design export. */
html body #app-shell#app-shell [data-course-detail-pane]:not([hidden]) [data-course-detail] {max-width:1320px;margin-inline:auto;min-width:0;}
html body #app-shell#app-shell [data-view=study]:has([data-course-detail-pane]:not([hidden])) > :is(.study-page-header,.study-section-nav,.library-sections) {display:none!important;}
html body #app-shell#app-shell [data-course-detail] .course-back {display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:0 0 2px;padding:0 4px;color:#3346b8;font-size:13px;font-weight:750;}
html body #app-shell#app-shell [data-course-detail] .course-detail-hero {display:flex!important;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:0!important;margin:0 0 16px;background:transparent!important;border:0!important;box-shadow:none!important;color:#0b1a3d!important;}
html body #app-shell#app-shell [data-course-detail] .course-detail-hero__identity {display:flex;align-items:center;min-width:0;gap:10px;}
html body #app-shell#app-shell [data-course-detail] .course-mark--large {display:none;}
html body #app-shell#app-shell [data-course-detail] .course-detail-hero__identity > div {display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0;}
html body #app-shell#app-shell [data-course-detail] #course-path-title {margin:0!important;font:800 clamp(22px,2.6vw,30px)/1.15 'Manrope',sans-serif!important;letter-spacing:-.035em;color:#0b1a3d!important;overflow-wrap:anywhere;}
.course-path-subtitle {flex-basis:100%;margin:0!important;font-size:13px!important;line-height:1.3;color:#4d5c75!important;}
.course-path-mode {padding:4px 9px;border-radius:8px;background:#05145c;color:#c7fce0;font-size:11px;font-weight:800;letter-spacing:.03em;white-space:nowrap;}
html body #app-shell#app-shell [data-course-detail] .course-detail-hero__actions {display:flex;align-items:center;flex-wrap:wrap;gap:8px;}
html body #app-shell#app-shell [data-course-detail] .course-detail-hero__actions .student-course-start {display:none!important;}
html body #app-shell#app-shell [data-course-detail] .course-options>summary {min-height:44px;display:flex;align-items:center;cursor:pointer;color:#33415e;font-size:13px;}
html body #app-shell#app-shell .course-path-v2 {--cp-ink:#0b1a3d;--cp-muted:#4d5c75;--cp-border:rgba(9,64,196,.14);font-family:Manrope,system-ui,sans-serif;color:var(--cp-ink);margin:0 0 20px;}
html body #app-shell#app-shell .course-path-v2 * {box-sizing:border-box;}
html body #app-shell#app-shell .course-path-v2 :is(h2,h3,p,ol,ul) {margin:0;}
html body #app-shell#app-shell .course-path-v2 button {font-family:inherit;touch-action:manipulation;cursor:pointer;}
html body #app-shell#app-shell .course-path-v2 button:focus-visible,html body #app-shell#app-shell .course-path-v2 input:focus-visible {outline:3px solid #4658da;outline-offset:3px;}
html body #app-shell#app-shell .course-path-v2 button:disabled {cursor:default;opacity:.55;}
html body #app-shell#app-shell .course-path-v2 .cp-hero {border-radius:26px;padding:20px 22px 16px;background:linear-gradient(115deg,#0940c4 0%,#05145c 62%,#2a1e78 100%);color:#fff;display:flex;flex-direction:column;gap:12px;box-shadow:0 16px 36px #05145c30,inset 0 1px 0 #ffffff38;}
html body #app-shell#app-shell .course-path-v2 .cp-top {display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;}
html body #app-shell#app-shell .course-path-v2 .cp-when {display:grid;gap:3px;min-width:165px;}
html body #app-shell#app-shell .course-path-v2 .cp-label {font-size:11px;line-height:1.3;font-weight:800;letter-spacing:.08em;color:#c7fce0;}
html body #app-shell#app-shell .course-path-v2 .cp-date {font:700 clamp(30px,3.6vw,44px)/1.05 'Course Bricolage',sans-serif!important;letter-spacing:-.045em;color:#fafcdc!important;margin:0!important;max-width:340px;}
html body #app-shell#app-shell .course-path-v2 .cp-status {padding:7px 13px;border-radius:999px;background:#c7fce0;color:#05145c;font-size:12px;line-height:1.4;font-weight:800;max-width:100%;}
html body #app-shell#app-shell .course-path-v2 .cp-status--warn {background:#ffd48a;color:#4a2b00;}
html body #app-shell#app-shell .course-path-v2 .cp-stats {display:flex;flex-wrap:wrap;gap:10px 20px;margin-left:auto;}
html body #app-shell#app-shell .course-path-v2 .cp-stats>div {display:grid;gap:2px;max-width:155px;}
html body #app-shell#app-shell .course-path-v2 .cp-stats strong {font-size:21px;font-weight:800;line-height:1.15;color:#fff;}
html body #app-shell#app-shell .course-path-v2 .cp-stats span {font-size:11px;font-weight:700;line-height:1.4;color:#dce3ff;}
html body #app-shell#app-shell .course-path-v2 .cp-road {list-style:none;display:flex;gap:0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#c7fce066 transparent;padding:4px 0 9px;margin:0;}
html body #app-shell#app-shell .course-path-v2 .cp-road>li {position:relative;flex:1 0 86px;min-width:0;}
html body #app-shell#app-shell .course-path-v2 .cp-road>li:before {content:'';position:absolute;left:50%;right:-50%;top:22px;height:3px;background:repeating-linear-gradient(90deg,#ffffff6b 0 6px,transparent 6px 12px);}
html body #app-shell#app-shell .course-path-v2 .cp-road>li:last-child:before {display:none;}
html body #app-shell#app-shell .course-path-v2 .cp-road>li.is-done:before {background:#c7fce0;}
html body #app-shell#app-shell .course-path-v2 .cp-stop {position:relative;z-index:1;width:100%;min-height:92px;padding:6px 5px;border:0;border-radius:14px;background:transparent;color:#fff;display:flex;align-items:center;flex-direction:column;gap:5px;}
html body #app-shell#app-shell .course-path-v2 .cp-stop:hover {background:#ffffff14;}
html body #app-shell#app-shell .course-path-v2 .cp-stop:focus-visible {outline-color:#c7fce0;outline-offset:-3px;}
html body #app-shell#app-shell .course-path-v2 .cp-dot {width:32px;height:32px;flex:none;display:grid;place-items:center;border:2px solid #ffffff99;border-radius:50%;background:#0a2377;color:#fff;font-size:13px;font-weight:800;}
html body #app-shell#app-shell .course-path-v2 .is-done .cp-dot {background:#c7fce0;border-color:#c7fce0;color:#05145c;}
html body #app-shell#app-shell .course-path-v2 .is-current .cp-dot {background:#fafcdc;border-color:#fafcdc;color:#05145c;box-shadow:0 0 0 5px #fafcdc40;}
html body #app-shell#app-shell .course-path-v2 .is-exam .cp-dot {background:#f2b661;border-color:#f2b661;color:#4a2b00;}
html body #app-shell#app-shell .course-path-v2 .is-end .cp-dot {background:white;border-color:white;color:#05145c;}
html body #app-shell#app-shell .course-path-v2 .cp-stop-name {font-size:11px;font-weight:800;line-height:1.35;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;max-width:120px;}
html body #app-shell#app-shell .course-path-v2 .cp-stop-date {font-size:11px;color:#dce3ff;line-height:1.3;}
html body #app-shell#app-shell .course-path-v2 .cp-detail {font-size:12px;line-height:1.5;font-weight:700;color:#fafcdc;}
html body #app-shell#app-shell .course-path-v2 .cp-strip {height:11px;border-radius:6px;background:#ffffff26;overflow:hidden;}
html body #app-shell#app-shell .course-path-v2 .cp-strip>span {display:block;height:100%;background:#7af0c4;border-radius:6px;}
html body #app-shell#app-shell .course-path-v2 .cp-keys {display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 14px;font-size:11px;font-weight:700;color:#dce3ff;}
html body #app-shell#app-shell .course-path-v2 .cp-cards {display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:14px;}
html body #app-shell#app-shell .course-path-v2 .cp-card {min-width:0;display:flex;flex-direction:column;gap:12px;padding:18px;border:1px solid #ffffffcc;border-radius:24px;background:linear-gradient(140deg,#f9faffed,#f7fffde0);box-shadow:0 8px 24px #05145c0a;color:var(--cp-ink);}
html body #app-shell#app-shell .course-path-v2 .cp-now {background:linear-gradient(140deg,#efedffed,#e1fff2e6);}
html body #app-shell#app-shell .course-path-v2 .cp-pace {background:linear-gradient(140deg,#f5f8ffed,#d9fff0e6);}
html body #app-shell#app-shell .course-path-v2 .cp-kicker {font-size:10px;font-weight:800;letter-spacing:.065em;line-height:1.4;color:var(--cp-muted);}
html body #app-shell#app-shell .course-path-v2 .cp-between {display:flex;align-items:baseline;justify-content:space-between;gap:6px 10px;min-width:0;}
html body #app-shell#app-shell .course-path-v2 .cp-current-title {font:700 25px/1.15 'Course Bricolage',Manrope,sans-serif;color:var(--cp-ink);letter-spacing:-.03em;overflow-wrap:anywhere;}
html body #app-shell#app-shell .course-path-v2 .cp-due {font-size:10px;line-height:1.4;font-weight:800;padding:4px 8px;border-radius:8px;background:#fff1cf;color:#704300;white-space:nowrap;}
html body #app-shell#app-shell .course-path-v2 .cp-task-progress {display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px;font-size:10px;font-weight:700;color:var(--cp-muted);}
html body #app-shell#app-shell .course-path-v2 progress {display:block;width:100%;min-width:0;height:8px;border:0;border-radius:6px;overflow:hidden;background:#dbe5f4;appearance:none;}
html body #app-shell#app-shell .course-path-v2 progress::-webkit-progress-bar {background:#dbe5f4;border-radius:6px;}
html body #app-shell#app-shell .course-path-v2 progress::-webkit-progress-value {background:#0e7a52;border-radius:6px;}
html body #app-shell#app-shell .course-path-v2 progress::-moz-progress-bar {background:#0e7a52;border-radius:6px;}
html body #app-shell#app-shell .course-path-v2 .cp-button {display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 14px;border:1px solid #bfcde5;border-radius:999px;background:#f6ffff;color:#0b1a3d;font-size:12px;font-weight:800;line-height:1.3;}
html body #app-shell#app-shell .course-path-v2 .cp-primary {width:100%;justify-content:space-between;background:#05145c;border-color:#05145c;color:white;}
html body #app-shell#app-shell .course-path-v2 .cp-save {background:#05145c;border-color:#05145c;color:white;}
html body #app-shell#app-shell .course-path-v2 .cp-text {background:transparent;border:0;color:#3346b8;min-height:44px;padding:4px 0;font-size:12px;font-weight:800;}
html body #app-shell#app-shell .course-path-v2 .cp-study-choices {display:grid;gap:8px;}
html body #app-shell#app-shell .course-path-v2 .cp-study-choice {display:flex;align-items:center;gap:10px;min-height:55px;width:100%;padding:9px 10px;border:1px solid #ffffffcc;border-radius:14px;background:#ffffffad;color:var(--cp-ink);text-align:left;}
html body #app-shell#app-shell .course-path-v2 .cp-study-choice:hover {border-color:#9daee1;background:#fff;}
html body #app-shell#app-shell .course-path-v2 .cp-choice-icon {width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:10px;background:#c7fce0;font-size:18px;font-weight:800;}
html body #app-shell#app-shell .course-path-v2 .cp-study-choice>span:nth-child(2) {min-width:0;flex:1;}
html body #app-shell#app-shell .course-path-v2 .cp-study-choice strong {display:block;font-size:12px;line-height:1.4;}
html body #app-shell#app-shell .course-path-v2 .cp-study-choice small {display:block;font-size:10px;line-height:1.4;color:var(--cp-muted);}
html body #app-shell#app-shell .course-path-v2 .cp-choice-arrow {font-size:22px;color:#3346b8;}
html body #app-shell#app-shell .course-path-v2 .cp-note {font-size:11px;line-height:1.5;color:var(--cp-muted);}
html body #app-shell#app-shell .course-path-v2 .cp-actions {display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:auto;}
html body #app-shell#app-shell .course-path-v2 .cp-pace-form {display:flex;flex-direction:column;gap:10px;}
html body #app-shell#app-shell .course-path-v2 .cp-dates {display:grid;grid-template-columns:1fr 1fr;gap:8px;}
html body #app-shell#app-shell .course-path-v2 .cp-field {display:flex;flex-direction:column;gap:5px;min-width:0;font-size:10px;font-weight:800;color:var(--cp-ink);}
html body #app-shell#app-shell .course-path-v2 input[type=date] {width:100%;min-width:0;max-width:100%;height:44px;padding:7px;border:1px solid #a5b4d2;border-radius:12px;background:#fff;color:#0b1a3d;font-family:inherit;font-size:11px;font-weight:700;color-scheme:light;}
html body #app-shell#app-shell .course-path-v2 .cp-hours {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;font-size:12px;font-weight:800;}
html body #app-shell#app-shell .course-path-v2 .cp-stepper {display:flex;align-items:center;gap:3px;}
html body #app-shell#app-shell .course-path-v2 .cp-stepper label {font-size:0;}
html body #app-shell#app-shell .course-path-v2 .cp-stepper input {width:54px;max-width:54px;min-height:44px;border:0;border-radius:10px;background:transparent;text-align:center;color:#0b1a3d;font-family:inherit;font-size:15px;font-weight:800;appearance:textfield;}
html body #app-shell#app-shell .course-path-v2 .cp-stepper input::-webkit-inner-spin-button {appearance:none;}
html body #app-shell#app-shell .course-path-v2 .cp-mini {width:44px;height:44px;flex:none;padding:0;border:0;border-radius:50%;background:#0940c414;color:#0b1a3d;font-size:20px;font-weight:800;}
html body #app-shell#app-shell .course-path-v2 .cp-this-week {display:grid;gap:8px;font-size:11px;color:#33415e;}
html body #app-shell#app-shell .course-path-v2 .cp-week-row {display:flex;align-items:center;gap:10px;}
html body #app-shell#app-shell .course-path-v2 .cp-week-row .cp-button {font-size:10px;flex:none;padding-inline:10px;}
html body #app-shell#app-shell .course-path-v2 .cp-coda {display:flex;align-items:flex-start;gap:8px;padding:10px;border-radius:16px;background:#0940c40c;}
html body #app-shell#app-shell .course-path-v2 .cp-coda img {width:34px;height:34px;object-fit:contain;flex:none;}
html body #app-shell#app-shell .course-path-v2 .cp-coda .cp-note {font-weight:700;color:#33415e;}
html body #app-shell#app-shell .course-path-v2 .cp-save-status {font-size:11px;line-height:1.4;color:#155b48;}
html body #app-shell#app-shell .course-path-v2 .cp-save-status:empty {display:none;}
html body #app-shell#app-shell .course-path-v2 .cp-evidence-title {font:800 18px/1.3 Manrope,sans-serif;color:var(--cp-ink);}
html body #app-shell#app-shell .course-path-v2 .cp-ready {display:flex;flex-wrap:wrap;align-items:center;gap:12px;}
html body #app-shell#app-shell .course-path-v2 .cp-ring {flex:none;width:84px;height:84px;margin:0;border-radius:50%;display:grid;place-items:center;background:radial-gradient(closest-side,#f8fcff 76%,transparent 79%),conic-gradient(#0e7a52 var(--progress),#dbe5f4 0);font:800 23px/1 Manrope,sans-serif;color:#0b1a3d;}
html body #app-shell#app-shell .course-path-v2 .cp-checks {display:grid;gap:9px;min-width:110px;flex:1;}
html body #app-shell#app-shell .course-path-v2 .cp-check {display:grid;gap:4px;font-size:10px;color:var(--cp-muted);}
html body #app-shell#app-shell .course-path-v2 .cp-check .cp-between {flex-wrap:wrap;gap:2px 6px;}
html body #app-shell#app-shell .course-path-v2 .cp-check strong {color:#0b1a3d;font-weight:800;}
html body #app-shell#app-shell .course-path-v2 .cp-mini-bar {height:6px;border-radius:4px;background:#0940c414;overflow:hidden;}
html body #app-shell#app-shell .course-path-v2 .cp-mini-bar i {display:block;height:100%;background:#3346b8;border-radius:4px;}
html body #app-shell#app-shell .course-path-v2 .cp-later {display:grid;gap:10px;border-top:1px solid #0940c423;padding-top:12px;margin-top:auto;}
html body #app-shell#app-shell .course-path-v2 .cp-later .cp-between {flex-wrap:wrap;}
html body #app-shell#app-shell .course-path-v2 .cp-soon {border-radius:6px;padding:3px 6px;background:#e6e9f7;color:#33415e;font-size:9px;font-weight:800;letter-spacing:.04em;}
html body #app-shell#app-shell .course-path-v2 .cp-later ul {list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;font-size:11px;line-height:1.5;color:var(--cp-muted);}
html body #app-shell#app-shell [data-course-detail] :is(.course-disclosures,.course-progress-details) {margin-top:18px;}
@media(max-width:1100px){html body #app-shell#app-shell .course-path-v2 .cp-cards {grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);}html body #app-shell#app-shell .course-path-v2 .cp-evidence {grid-column:1/-1;}html body #app-shell#app-shell .course-path-v2 .cp-evidence .cp-later {margin-top:8px;}}
@media(max-width:640px){
 html body #app-shell#app-shell .course-path-v2 .cp-hero {padding:18px 16px;border-radius:22px;gap:12px;}
 html body #app-shell#app-shell .course-path-v2 .cp-top {gap:12px;}
 html body #app-shell#app-shell .course-path-v2 .cp-stats {margin-left:0;width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
 html body #app-shell#app-shell .course-path-v2 .cp-stats strong {font-size:18px;}
 html body #app-shell#app-shell .course-path-v2 .cp-stats span {font-size:10px;}
 html body #app-shell#app-shell .course-path-v2 .cp-date {font-size:32px!important;}
 html body #app-shell#app-shell .course-path-v2 .cp-status {font-size:10px;}
 html body #app-shell#app-shell .course-path-v2 .cp-cards {grid-template-columns:minmax(0,1fr);gap:12px;}
 html body #app-shell#app-shell .course-path-v2 .cp-evidence {grid-column:auto;}
 html body #app-shell#app-shell .course-path-v2 .cp-card {padding:18px;border-radius:22px;}
 html body #app-shell#app-shell [data-course-detail] .course-detail-hero__actions {width:100%;justify-content:space-between;}
}
@media(prefers-reduced-motion:reduce){.course-path-v2 * {animation:none!important;transition:none!important;scroll-behavior:auto!important;}}
html[data-reduced-motion=true] .course-path-v2 *,html[data-personalize-motion=true] .course-path-v2 * {animation:none!important;transition:none!important;scroll-behavior:auto!important;}
@media(forced-colors:active){.course-path-v2 .cp-dot,.course-path-v2 .cp-ring,.course-path-v2 .cp-card {border:2px solid CanvasText!important;}.course-path-v2 .cp-strip {border:1px solid CanvasText;}}

/* Keep free tools available below the path instead of above the course heading. */
html body #app-shell#app-shell [data-view=study]:not([hidden]):has([data-course-detail-pane]:not([hidden])) {display:flex!important;flex-direction:column;}
html body #app-shell#app-shell [data-view=study]:has([data-course-detail-pane]:not([hidden])) > [data-course-detail-pane] {order:0;}
html body #app-shell#app-shell [data-view=study]:has([data-course-detail-pane]:not([hidden])) > .free-study-shortcuts {order:2;margin-top:18px;}
html body #app-shell#app-shell [data-view=study]:has([data-course-detail-pane]:not([hidden])) > .study-workspace-tools {order:3;}
html body #app-shell#app-shell .course-path-v2 .cp-pace-actions {display:grid;grid-template-columns:1fr 1fr;gap:8px;}
html body #app-shell#app-shell .course-path-v2 .cp-pace-actions button {padding-inline:9px;font-size:11px;}
