.curriculum-shell{min-height:100dvh}.navigation-loading{display:flex;height:100%;min-height:0;overflow:hidden;border:1px solid var(--color-line-soft);border-radius:var(--radius-surface);background:var(--color-surface)}.navigation-loading-rail{flex:0 0 4.625rem;display:grid;align-content:start;justify-items:center;gap:1.25rem;padding-top:1.25rem}.navigation-loading-panel{width:14rem;display:grid;align-content:start;gap:1.5rem;padding:1.25rem 1rem}.curriculum-shell-mobile{display:block}.mobile-shell-bar{position:sticky;top:0;z-index:30}.mobile-navigation-layer{position:fixed;inset:0;z-index:50}.mobile-navigation-panel{position:relative;width:min(100vw,20.75rem);height:100%;overflow:hidden;background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-overlay);outline:none;transform:translateX(0);transition:transform .38s var(--ease-feedback)}.mobile-navigation-close{position:absolute;top:max(.5rem,env(safe-area-inset-top));right:.5rem;z-index:1}.mobile-navigation-content{height:100%}.mobile-navigation-content .clear-navigation{border:0;border-radius:0}.mobile-navigation-content .clear-panel-window{width:auto;flex:1 1 auto;overflow:hidden;height:100%}.mobile-navigation-content .clear-panel{width:100%;padding-top:3.5rem}.mobile-navigation-panel[data-ending-style],.mobile-navigation-panel[data-starting-style]{transform:translateX(-100%)}@media (prefers-reduced-motion:reduce){.mobile-navigation-panel{transition:none}}.clear-context{display:flex;flex:1;flex-direction:column;gap:.75rem;min-height:0}.clear-context-title{flex:none;margin:0;color:var(--color-forest-950);font-size:.875rem;font-weight:800;line-height:1.5;letter-spacing:-.01em}.clear-context-scroll{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--color-line-soft) transparent;margin-inline:-.375rem;padding:.25rem .375rem .75rem}.clear-context-list{position:relative;display:grid;align-content:start;gap:.25rem}.clear-item-indicator{position:absolute;inset:0 0 auto;pointer-events:none;border-radius:var(--radius-control);background:var(--color-sage-200);opacity:0;transition:transform .23s var(--ease-feedback),height .23s var(--ease-feedback),opacity .22s ease}.clear-item-indicator[data-ready=true]{opacity:1}.clear-context-link{position:relative;z-index:1;display:flex;align-items:center;min-height:2.75rem;padding:.625rem .75rem;border-radius:var(--radius-control);color:var(--color-ink-secondary);font-size:.8125rem;font-weight:600;line-height:1.5;overflow-wrap:anywhere;transition:background-color .22s ease,color .22s ease}.clear-context-link:hover{background:var(--color-sage-100);color:var(--color-forest-900)}.clear-context-link[aria-current]{color:var(--color-forest-900);font-weight:800}.clear-context-list:not(:has(>.clear-item-indicator[data-ready=true])) .clear-context-link[aria-current=page]{background:var(--color-sage-200)}.clear-context-group{position:relative;min-width:0}.clear-context-group+.clear-context-group{margin-top:.5rem}.clear-group-heading{display:flex;align-items:stretch;min-width:0;gap:.25rem}.clear-group-link,.clear-group-toggle{position:relative;z-index:1;min-width:0;min-height:2.75rem;border-radius:var(--radius-control);color:var(--color-ink-muted);font-size:.75rem;font-weight:700;line-height:1.5;overflow-wrap:anywhere}.clear-group-link{display:flex;flex:1;align-items:center;padding:.5rem .5rem .5rem .75rem}.clear-group-link[aria-current]{color:var(--color-forest-900)}.clear-group-toggle{display:flex;flex:1;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;text-align:left}.clear-group-link+.clear-group-toggle{flex:none;width:2.75rem;justify-content:center;padding:.5rem}.clear-group-link:hover,.clear-group-toggle:hover{background:var(--color-sage-100);color:var(--color-forest-900)}.clear-group-chevron{width:.875rem;height:.875rem;flex:none;transform:rotate(-90deg);transition:transform .23s var(--ease-feedback)}.clear-context-group[data-open=true] .clear-group-chevron{transform:rotate(0)}.clear-group-content{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .24s var(--ease-feedback),opacity .22s ease}.clear-context-group[data-open=true]>.clear-group-content{grid-template-rows:1fr;opacity:1}.clear-group-items{display:grid;min-height:0;overflow:hidden;gap:.25rem}.clear-context-empty{padding:.625rem .75rem;color:var(--color-ink-muted);font-size:.8125rem;line-height:1.6}@media (prefers-reduced-motion:reduce){.clear-context-link,.clear-group-chevron,.clear-group-content,.clear-item-indicator{transition:none}}.clear-context-link[data-tone]{gap:.625rem;min-height:3.5rem}.clear-context-link[data-tone=course]{--area-color:var(--color-forest-800)}.clear-context-link[data-tone=earth]{--area-color:var(--color-concept-earth)}.clear-context-link[data-tone=gold]{--area-color:var(--color-concept-gold)}.clear-context-link[data-tone=blue]{--area-color:var(--color-concept-blue)}.clear-context-link[data-tone=violet]{--area-color:var(--color-concept-violet)}.clear-context-link[data-tone=green]{--area-color:var(--color-concept-green)}.clear-context-link[data-tone=rose]{--area-color:var(--color-concept-rose)}.clear-area-mark{flex:none;width:.3125rem;height:1.25rem;border-radius:.1875rem;background:var(--area-color)}.clear-context-label{flex:1;min-width:0}.clear-context-count{flex:none;color:var(--color-ink-muted);font-weight:600;font-variant-numeric:tabular-nums}.clear-context-list:not(:has(>.clear-item-indicator[data-ready=true])) .clear-context-link[data-tone][aria-current]{background:var(--color-sage-200)}.clear-navigation{display:flex;height:100%;min-height:0;border:1px solid var(--color-line-soft);border-radius:var(--radius-surface);background:var(--color-surface);color:var(--color-forest-900)}.clear-rail{flex:0 0 4.625rem;display:flex;flex-direction:column;gap:1.75rem;width:4.625rem;min-height:0;padding:1rem .4375rem .625rem;overflow:hidden;background:color-mix(in srgb,var(--color-paper-50) 88%,var(--color-sage-100));border-radius:var(--radius-surface) 0 0 var(--radius-surface)}.clear-rail>nav{flex:1;min-height:0;overflow-y:auto;scrollbar-width:none}.clear-rail-brand{flex-shrink:0;display:flex;justify-content:center;min-height:2.75rem;align-items:center}.clear-rail-items{position:relative;display:grid;gap:.5rem}.clear-rail-link,.clear-rail-utility{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;flex-shrink:0;gap:.375rem;min-height:4.125rem;padding:.5rem .125rem;border-radius:var(--radius-control);font-size:.6875rem;font-weight:650;line-height:1.2;text-align:center;color:var(--color-forest-800);transition:color .23s ease,background-color .23s ease}.clear-rail-link:hover,.clear-rail-utility:hover{background:var(--color-sage-100);color:var(--color-forest-900)}.clear-rail-link[aria-current]{background:var(--color-forest-900);color:white}.clear-rail-items:has(>.clear-rail-selection[data-ready]) .clear-rail-link[aria-current]{background:transparent}.clear-rail-selection{position:absolute;top:0;left:0;right:0;pointer-events:none;border-radius:var(--radius-control);background:var(--color-forest-900);transition:transform .38s var(--ease-feedback),height .38s var(--ease-feedback)}.clear-rail-selection:not([data-ready=true]){visibility:hidden}.clear-rail-utilities{flex-shrink:0;display:grid;gap:.375rem;margin-top:auto;padding-top:1rem}.clear-rail-utility{width:100%;min-height:3.25rem;cursor:pointer}.clear-account-loading{font-size:.6875rem;text-align:center}.clear-panel{display:flex;flex-direction:column;gap:1.5rem;width:14rem;height:100%;min-height:0;padding:1rem;border-left:1px solid var(--color-line-soft);background:var(--color-surface);border-radius:0 var(--radius-surface) var(--radius-surface) 0}.clear-panel-heading{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;min-height:2.75rem}.clear-wordmark{display:inline-flex;align-items:center}.clear-wordmark-art{height:1.3rem;width:auto}.clear-icon-button{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:var(--radius-control);color:var(--color-forest-800);cursor:pointer}.clear-icon-button:hover{background:var(--color-sage-100)}.clear-course-trigger{display:flex;align-items:center;gap:.625rem;min-height:3.75rem;flex-shrink:0;width:100%;padding:.625rem;background:var(--color-paper-50);border:1px solid var(--color-line-soft);border-radius:var(--radius-control);text-align:left;cursor:pointer;transition:border-color .23s ease,background-color .23s ease}.clear-course-trigger:hover,.clear-course-trigger[data-popup-open]{border-color:var(--color-sage-500);background:var(--color-sage-100)}.clear-course-trigger>svg{flex-shrink:0}.clear-course-trigger>span{display:grid;gap:.125rem;flex:1;min-width:0}.clear-course-trigger small{color:var(--color-ink-muted);font-size:.6875rem;font-weight:550}.clear-course-trigger strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.8125rem;font-weight:750;line-height:1.35;overflow-wrap:anywhere}.clear-course-positioner{z-index:70}.clear-course-menu{min-width:var(--anchor-width);max-width:min(20rem,var(--available-width));max-height:min(26rem,var(--available-height));overflow-y:auto;padding:.375rem;border:1px solid var(--color-line-soft);border-radius:var(--radius-control);background:var(--color-surface);box-shadow:var(--shadow-overlay);color:var(--color-forest-900);outline:none}.clear-course-option{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:2.75rem;padding:.625rem .75rem;font-size:.8125rem;border-radius:var(--radius-control);cursor:pointer}.clear-course-option>span{overflow-wrap:anywhere}.clear-course-option>svg{flex-shrink:0}.clear-course-option:hover,.clear-course-option[data-highlighted]{background:var(--color-sage-100)}.clear-menu-separator{height:1px;margin:.375rem;background:var(--color-line-soft)}.clear-panel-footer{display:flex;flex-wrap:wrap;gap:.125rem 1rem;flex-shrink:0;margin-top:auto;padding-top:.75rem;border-top:1px solid var(--color-line-soft)}.clear-panel-footer a{display:inline-flex;align-items:center;min-height:2.75rem;color:var(--color-ink-muted);font-size:.6875rem;font-weight:600}.clear-panel-footer a:hover{color:var(--color-forest-900);text-decoration:underline}.clear-empty{color:var(--color-ink-muted);font-size:.8125rem;line-height:1.5}@media (prefers-reduced-motion:reduce){.clear-course-trigger,.clear-rail-link,.clear-rail-selection,.clear-rail-utility{transition:none}}.curriculum-shell-desktop{display:grid;grid-template-columns:20.75rem minmax(0,1fr)}.curriculum-shell-desktop[data-motion-ready=true]{transition:grid-template-columns .38s var(--ease-feedback)}.curriculum-shell-desktop[data-collapsed=true]{grid-template-columns:6.75rem minmax(0,1fr)}.curriculum-sidebar{position:sticky;top:0;height:100dvh;min-width:0;padding:1rem;color:var(--color-ink)}.clear-panel-window{flex:1 1 0;min-width:0;height:100%;overflow:hidden}.curriculum-shell-desktop[data-motion-ready=true] .clear-panel-window{transition:opacity .22s ease}.curriculum-shell-desktop[data-collapsed=true] .clear-panel-window{opacity:0;pointer-events:none}.clear-overlay-backdrop{position:fixed;inset:0;z-index:50;background:rgb(16 43 34/24%);opacity:1;transition:opacity .22s ease}.clear-overlay-panel{position:fixed;top:1rem;bottom:1rem;left:6.75rem;z-index:51;width:14rem;overflow:hidden;border:1px solid var(--color-line-soft);border-radius:var(--radius-surface);background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-overlay);outline:none;opacity:1;transform:translateX(0);transition:opacity .22s ease,transform .38s var(--ease-feedback)}.clear-overlay-close{position:absolute;top:.5rem;right:.5rem;z-index:1}.clear-overlay-panel>.clear-panel{padding-top:3.25rem}.clear-overlay-backdrop[data-ending-style],.clear-overlay-backdrop[data-starting-style]{opacity:0}.clear-overlay-panel[data-ending-style],.clear-overlay-panel[data-starting-style]{opacity:0;transform:translateX(-.75rem)}@media (width < 1024px){.curriculum-shell-desktop{grid-template-columns:6.75rem minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.clear-overlay-backdrop,.clear-overlay-panel,.curriculum-shell-desktop[data-motion-ready],.curriculum-shell-desktop[data-motion-ready] .clear-panel-window{transition:none}}