.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{font-synthesis:none;text-rendering:optimizelegibility;--shadow-lg:0 24px 70px #1c28242e;font-family:K2D,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}body{min-width:320px}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}.app-shell{height:100dvh}.topbar{background:#fffefbf0;grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:relative}.brand-block,.topbar-actions,.topbar-center,.eyebrow,.canvas-legend,.course-node__topline,.form-actions{align-items:center;display:flex}.brand-mark{place-items:center;display:grid}.brand-name{color:var(--ink);letter-spacing:-.01em;font-family:K2D,sans-serif;font-size:16px;font-weight:800}@media (width<=420px){.brand-name{font-size:12px}.canvas-tip{white-space:nowrap}}.brand-subtitle{text-transform:uppercase;margin-top:2px;font-weight:600}.topbar-center{font-weight:600}.topbar-actions{justify-content:flex-end;gap:8px}.mobile-filter-button{display:none!important}.workspace{height:calc(100dvh - 74px);display:flex;position:relative;overflow:hidden}.sidebar{flex:0 0 400px;position:relative}.sidebar-scroll{scrollbar-width:thin;scrollbar-color:#c8c4bc transparent;height:100%;overflow-y:auto}.sidebar-mobile-head{display:none}.eyebrow{color:#b66f4f;letter-spacing:.15em;gap:6px;font-size:10px;font-weight:800}.search-box{color:#8a928d;background:#f7f5f0;border:1px solid #dedad1;border-radius:11px;align-items:center;gap:9px;height:41px;padding:0 12px;transition:border-color .16s,box-shadow .16s;display:flex}.search-box:focus-within{border-color:#729085;box-shadow:0 0 0 3px #466f621a}.search-box input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:13px}.search-box input::placeholder{color:#a1a6a2}.semester-filter-dot{border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #00000009}.all-dot{background:linear-gradient(135deg,#e8784f 0 25%,#8d6ccf 25% 50%,#378f8a 50% 75%,#4b7ac7 75%)}.status-filters{flex-wrap:wrap;gap:5px;display:flex}.status-filters button{color:#707a75;cursor:pointer;background:0 0;border:1px solid #dedad1;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:700}.status-filters button:hover,.status-filters button.is-active{color:#fff;border-color:var(--green);background:var(--green)}.canvas-area{flex:1;min-width:0;position:relative}.canvas-shell{contain:strict;isolation:isolate;position:absolute;inset:0}.react-flow__node{backface-visibility:visible}.react-flow__background{shape-rendering:optimizespeed}.canvas-shell.is-navigating .course-node,.canvas-shell.is-navigating .semester-node{box-shadow:0 3px 8px #2f3a3512;transition:none!important}.canvas-shell.is-navigating .course-node:hover,.canvas-shell.is-navigating .course-node.is-selected{transform:none}.canvas-shell.is-navigating .semester-node:after,.canvas-shell.is-navigating .journey-edge-halo{display:none}.canvas-shell.is-navigating .journey-edge{stroke-dasharray:none!important}.canvas-shell.is-navigating .canvas-tip{opacity:0;transition:none}.canvas-toolbar{pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute}.canvas-toolbar>div:first-child{flex-direction:column;display:flex}.canvas-toolbar__label{text-transform:uppercase;font-weight:800}.canvas-toolbar strong{margin-top:2px}.canvas-legend{box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.canvas-legend span{align-items:center;gap:5px;display:flex}.legend-dot{border-radius:50%;width:6px;height:6px}.legend-dot--completed{background:#58a271}.legend-dot--in-progress{background:#e6a63d}.legend-dot--planned{background:#9ba29e}.canvas-tip{pointer-events:none;align-items:center;gap:8px;padding:8px 12px;font-size:10px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.mouse-mark{border:1.5px solid #7e8782;border-radius:6px;width:10px;height:14px}.mouse-mark:before{content:"";background:#7e8782;border-radius:1px;width:1.5px;height:3px;margin:2px auto 0;display:block}.react-flow__pane{cursor:grab}.react-flow__pane:active{cursor:grabbing}.react-flow__node-course,.react-flow__node-semester{background:0 0;border:0;width:auto}.semester-node{color:var(--ink);position:relative;box-shadow:0 12px 30px #363e391a}.semester-node:after{content:"";background:color-mix(in srgb, var(--semester-color) 11%, transparent);border-radius:50%;position:absolute}.semester-node h2{letter-spacing:-.04em;margin:6px 0 4px;font-family:K2D,sans-serif;font-size:24px;line-height:1}.semester-node strong{color:#59645f;margin-top:12px;font-size:10px;font-weight:700;display:block}.course-node{color:var(--ink);transition:border-color .16s,box-shadow .16s,transform .16s;position:relative;box-shadow:0 7px 18px #343c3812}.course-node:before{content:"";background:var(--semester-color);width:3px;position:absolute;top:0;bottom:0;left:0}.course-node__topline{justify-content:space-between}.course-node h3{letter-spacing:-.015em;font-family:K2D,sans-serif;display:flex;overflow:hidden}.node-progress,.large-progress{background:#e9e8e3;border-radius:999px;overflow:hidden}.node-progress span,.large-progress span{border-radius:inherit;height:100%;display:block}.node-progress span{background:var(--semester-color)}.react-flow__controls-button{border-bottom-color:#e6e1d8;width:30px;height:30px}.react-flow__minimap{width:118px;height:76px;box-shadow:var(--shadow-sm);background:#fffefbe6;border:1px solid #d9d5cc;border-radius:10px;overflow:hidden}.no-results{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.no-results>span{border-radius:18px;place-items:center;width:54px;height:54px;display:grid}.no-results h2{margin:15px 0 4px;font-family:K2D,sans-serif;font-size:18px}.no-results p{margin:0 0 14px;font-size:12px}@keyframes modal-in{0%{opacity:0;transform:translate(-50%,calc(18px - 50%))scale(.985)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.icon-button{cursor:pointer;background:0 0;border:1px solid #dedad1;border-radius:10px;place-items:center;width:36px;height:36px;padding:0;transition:all .14s;display:inline-grid}.teacher-card{grid-template-columns:190px minmax(0,1fr);display:grid;overflow:hidden}.teacher-portrait{min-height:230px;position:relative;overflow:hidden}.teacher-portrait:after{content:"";pointer-events:none;background:linear-gradient(#0000,#141f1b80);height:40%;position:absolute;inset:auto 0 0}.teacher-portrait img{object-fit:cover;object-position:center 28%;width:100%;height:100%;display:block}.teacher-portrait>span{z-index:1;letter-spacing:.06em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800;position:absolute;bottom:12px;right:12px}.teacher-profile{min-width:0;padding:25px 27px 23px}.teacher-role{color:var(--semester-color);letter-spacing:.13em;text-transform:uppercase;font-size:9px;font-weight:800}.teacher-profile h4{letter-spacing:-.025em;margin:5px 0 19px;font-family:K2D,sans-serif;font-size:23px;line-height:1.15}.teacher-facts{grid-template-columns:minmax(130px,.7fr) minmax(190px,1.3fr);gap:9px;display:grid}.teacher-facts>div,.teacher-email{color:#607069;background:#ffffffc2;border:1px solid #e0ddd4;border-radius:11px;align-items:center;gap:10px;min-width:0;padding:10px 12px;display:flex}.teacher-facts svg,.teacher-email>svg:first-child{color:#557a69;flex:none}.teacher-facts span,.teacher-email span{gap:1px;min-width:0;display:grid}.teacher-facts small,.teacher-email small{letter-spacing:.04em;text-transform:uppercase;font-size:8px;font-weight:700}.teacher-facts strong,.teacher-email strong{color:#435049;text-overflow:ellipsis;font-size:11px;overflow:hidden}.teacher-department{grid-column:1/-1}.teacher-email{border-color:#24483e;margin-top:9px;text-decoration:none;transition:all .15s}.teacher-email small{opacity:.64}.teacher-email>svg:last-child{margin-left:auto}.teacher-email:hover{transform:translateY(-1px)}.overview-pane,.resource-panel,.overview-card{min-width:0;min-height:0;padding:18px}.overview-pane{flex-direction:column;display:flex}.overview-pane .teacher-card,.overview-pane>.resource-empty{flex:1;min-height:0}.overview-side-stack{grid-template-rows:auto minmax(0,1fr);gap:14px;min-height:0;display:grid}.overview-card{padding:18px 20px}.progress-summary{align-items:center;gap:7px;margin-top:13px;font-size:11px;font-weight:700;display:flex}.progress-summary b{margin-left:auto;font-size:10px}.compact-notes{flex-direction:column;display:flex}.compact-notes textarea,.compact-notes>p{flex:1;min-height:0}.compact-notes textarea{resize:none}.resource-panel.is-editable{scrollbar-width:thin;overflow-y:auto}.resource-panel{flex-direction:column;display:flex}.resource-panel .document-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;margin-top:0}.resource-panel>.resource-empty,.resource-notes>.resource-empty{flex:1}.resource-notes textarea{resize:none;flex:1;min-height:0}.progress-number{letter-spacing:-.04em;font-family:K2D,sans-serif;font-size:22px}.large-progress{height:7px}input[type=range]{accent-color:var(--green)}select,.notes-section textarea{border-radius:9px;outline:none;width:100%}select{height:36px;padding:0 9px;font-size:11px}.count-badge{border-radius:8px;place-items:center;min-width:25px;height:25px;font-size:9px;font-weight:800;display:grid}.video-player{padding-top:56.25%;position:relative;overflow:hidden}.video-player iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.resource-empty{border-radius:12px;align-items:center;gap:13px;min-height:83px;padding:15px;display:flex}.resource-empty>span{border-radius:11px;flex:none;place-items:center;width:39px;height:39px;display:grid}.resource-empty strong{font-size:13px}.resource-empty p{margin:3px 0 0;font-size:10px;line-height:1.4}.document-grid{gap:7px;margin-top:10px;display:grid}.video-row{color:#69756f;text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;width:100%;padding:4px;display:flex}.video-select{min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:10px;padding:5px;display:flex}.resource-icon,.document-card__icon{border-radius:9px;flex:none;place-items:center;width:34px;height:34px;display:grid}.resource-copy,.document-card__copy{flex-direction:column;flex:1;min-width:0;display:flex}.resource-copy small,.document-card__copy small{text-transform:uppercase;font-size:8px;font-weight:700}.resource-copy strong,.document-card__copy strong{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;overflow:hidden}.resource-delete{color:#a66b58;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:28px;height:28px;display:grid}.resource-delete:hover{background:#f7e8e2}.document-card{border-radius:11px;align-items:center;gap:10px;min-width:0;padding:10px;display:flex}.document-card a{border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.add-resource-button{cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:7px;width:100%;height:38px;margin-top:11px;font-size:11px;font-weight:700;display:flex}.add-resource-button:hover{color:#fff;background:var(--green);border-style:solid;border-color:var(--green)}.form-error{color:#b24f3c;margin:0;font-size:9px;font-weight:600}.form-actions{justify-content:flex-end;gap:8px}.text-button,.primary-button{cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:0 12px;font-size:10px;font-weight:700;display:inline-flex}.text-button{background:0 0;border:0}.primary-button{color:#fff;background:var(--green);border:1px solid var(--green)}.primary-button:hover{background:#16392f}.notes-section textarea{resize:vertical;min-height:94px;padding:11px;font-size:13px;line-height:1.5}.notes-section p{white-space:pre-wrap;margin:0;font-size:13px;line-height:1.6}.notes-section .muted-copy{color:#969c98}.sidebar-backdrop{display:none}.detail-backdrop{z-index:60;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#121d1985;border:0;animation:.18s both backdrop-in;display:block;position:fixed;inset:0}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.semester-node{border-top:0;box-shadow:0 16px 38px #25302b1f,0 2px 6px #25302b0d}.semester-node:before{content:"";background:linear-gradient(90deg, var(--semester-color), color-mix(in srgb, var(--semester-color) 45%, white));position:absolute;top:0;left:0;right:0}.semester-node:after{border:1px solid color-mix(in srgb, var(--semester-color) 12%, transparent);background:color-mix(in srgb, var(--semester-color) 8%, transparent);width:145px;height:145px;box-shadow:0 0 0 22px color-mix(in srgb, var(--semester-color) 4%, transparent);top:-45px;right:-40px}.semester-node__header{z-index:1;position:relative}.journey-stage{background:color-mix(in srgb, var(--semester-color) 9%, #fff);font-weight:800}.course-node{box-shadow:0 10px 25px #2f3a3517,0 1px 3px #2f3a350a}.course-node:hover,.course-node.is-selected{border-color:color-mix(in srgb, var(--semester-color) 43%, #d5d1c9);box-shadow:0 18px 35px #2f3a3529, 0 4px 10px color-mix(in srgb, var(--semester-color) 8%, transparent);transform:translateY(-3px)}.course-node h3{color:#2c3e38;align-items:flex-start;height:42px;margin:12px 0 8px;font-size:16px;line-height:1.3}.node-progress{background:#ebeae5;height:4px;margin-top:4px}.node-progress span{background:linear-gradient(90deg, var(--semester-color), color-mix(in srgb, var(--semester-color) 55%, white));position:relative}.node-progress span:after{content:"";border:2px solid var(--semester-color);background:#fff;border-radius:50%;width:6px;height:6px;position:absolute;top:50%;right:-2px;transform:translateY(-50%)}.journey-edge{fill:none;shape-rendering:optimizespeed;stroke-linecap:round;stroke-width:2.2px}.journey-edge-halo,.journey-edge{fill:none!important}.journey-edge--timeline{stroke-width:3px}.semester-node{overflow:hidden;box-shadow:0 12px 28px #232f2a1c}.semester-node:after{display:none}.semester-node__header{justify-content:space-between;align-items:center;display:flex}.journey-stage{background:var(--semester-color);letter-spacing:.08em}.semester-year{align-items:center;gap:5px;font-weight:600;display:flex}.semester-year svg{color:var(--semester-color)}.course-node{overflow:hidden;box-shadow:0 8px 20px #28342f17}.course-node:before{display:none}.journey-edge--course,.journey-edge--timeline{stroke-linecap:round}.semester-node{background:#fffefb;border:1px solid #dedad2;box-shadow:0 7px 18px #28342f14}.semester-node__header{min-height:25px}.journey-stage{background:color-mix(in srgb, var(--semester-color) 10%, #fff);border-radius:50%;place-items:center;padding:0;display:grid}.simple-semester-title{justify-content:space-between;align-items:flex-end;display:flex}.simple-semester-title h2{margin:0;line-height:1}.simple-semester-summary{border-top:1px solid #e9e5dd;grid-template-columns:.8fr 1.2fr;display:grid}.simple-semester-summary>div{flex-direction:column;display:flex}.simple-semester-summary>div+div{border-left:1px solid #e9e5dd;padding-left:12px}.simple-semester-summary strong{margin:0;line-height:1.1}.simple-semester-summary span{margin-top:3px}.course-node{background:#fffefb;border:1px solid #dfdbd3;box-shadow:0 6px 15px #28342f12}.course-node__simple-accent{border-radius:0 3px 3px 0;position:absolute;left:0}.course-node__topline{min-height:23px;padding-left:3px}.simple-status{align-items:center;gap:4px;font-weight:600;display:flex}.course-node__badges{align-items:center;display:flex}.video-count{align-items:center;gap:4px;font-weight:700;display:flex}.simple-course-main{padding-left:3px;display:grid}.simple-course-main h3{align-items:center;height:auto;margin:0;display:flex}.simple-credit{background:color-mix(in srgb, var(--semester-color) 8%, #fff);flex-direction:column;justify-content:center;align-items:center;display:flex}.simple-credit strong{line-height:.9}.simple-credit span{margin-top:4px;font-weight:700}.simple-progress{grid-template-columns:1fr auto;align-items:center;gap:8px;padding-left:3px;display:grid}.simple-progress .node-progress{width:100%;margin:0}.simple-progress .node-progress span:after{display:none}.simple-progress>strong{text-align:right;min-width:29px}.course-node:hover,.course-node.is-selected{border-color:color-mix(in srgb, var(--semester-color) 42%, #d5d1c9);transform:translateY(-1px);box-shadow:0 10px 23px #28342f1f}.flow-handle{border-width:1px!important}.sidebar-hero{justify-content:space-between;display:flex}.sidebar-hero>div>span{font-weight:700}.sidebar-hero p{color:#f0f8f4b3;margin:0}.sidebar-hero__mark{background:#edf4ef;flex:none;place-items:center}.sidebar-tabs{grid-template-columns:1fr 1fr;display:grid}.sidebar-tabs button{cursor:pointer;justify-content:center;align-items:center;gap:8px;font-weight:600;display:flex;position:relative}.sidebar-tabs button>span{border-radius:99px;place-items:center;min-width:20px;height:20px;font-size:10px;display:grid}.sidebar-tab-content{animation:.15s both sidebar-content-in;display:grid}@keyframes sidebar-content-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.overview-kpis{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.overview-kpis article{border:1px solid #e3dfd7;grid-template-columns:auto auto;place-content:center start;column-gap:8px;min-width:0;display:grid}.overview-kpis svg{stroke-width:2.3px;align-self:center}.overview-kpis strong{place-self:center start;font-weight:800;line-height:1}.overview-kpis span{grid-column:1/-1;margin-top:7px;font-weight:600}.semester-costs{border:1px solid #e2ded6}.new-section-title{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.new-section-title>span{font-weight:700}.semester-cost-row{border-bottom:1px solid #eeebe4;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;display:grid}.semester-cost-row:last-child{border-bottom:0;padding-bottom:0}.semester-cost-row__color{border-radius:99px}.semester-cost-row>div{flex-direction:column;min-width:0;display:flex}.semester-cost-row strong{color:#4c5c55;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.semester-cost-row small{color:#939995;margin-top:2px;font-size:10px}.semester-cost-row>b{font-weight:600}.new-edit-notice{margin:0}@media (width<=1050px){.canvas-legend{display:none}}@media (width<=780px){.topbar{grid-template-columns:1fr auto}.workspace{height:calc(100dvh - 64px)}.topbar-center,.brand-subtitle{display:none}.mobile-filter-button{display:inline-grid!important}.sidebar{z-index:52;box-shadow:var(--shadow-lg);border-right:0;transition:transform .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%)}.sidebar.is-open{transform:translate(0)}.sidebar-mobile-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:58px;padding:0 18px;font-family:K2D,sans-serif;font-size:13px;display:flex}.sidebar-scroll{padding-top:22px}.sidebar-backdrop{z-index:51;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#18231f57;border:0;display:block;position:fixed;inset:0}.canvas-tip{bottom:15px}.react-flow__minimap{display:none}.detail-backdrop{z-index:60;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#18231f61;border:0;display:block;position:fixed;inset:0}.overview-side-stack{grid-template-rows:auto auto}.resource-panel .document-grid{grid-template-columns:1fr}.teacher-card{grid-template-columns:150px minmax(0,1fr)}.teacher-profile{padding:20px}.teacher-facts{grid-template-columns:1fr}.teacher-department{grid-column:auto}}@media (width<=560px){.teacher-card{grid-template-columns:1fr}.teacher-portrait{min-height:210px;max-height:240px}.teacher-profile h4{font-size:20px}}:root{--cosmic-cyan:#5ee7ff;--cosmic-violet:#8b5cf6;--cosmic-lime:#b6f36b;--panel:#0b1122c7;--panel-strong:#0e152af5;--panel-border:#acbce226;--shadow-lg:0 28px 100px #00000094}.app-shell{isolation:isolate;position:relative;overflow:hidden}.ambient-backdrop{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.ambient-orb{aspect-ratio:1;opacity:.28;filter:blur(95px);will-change:transform;border-radius:50%;width:46vw;position:absolute}.ambient-orb--one{background:#4531d4;animation:18s ease-in-out infinite alternate cosmic-drift-one;top:-30%;left:8%}.ambient-orb--two{background:#087f9c;animation:22s ease-in-out infinite alternate cosmic-drift-two;bottom:-38%;right:-18%}.ambient-orb--three{opacity:.14;background:#8b3fd1;width:28vw;animation:16s ease-in-out infinite alternate cosmic-drift-three;top:30%;left:44%}.ambient-grid{background-image:linear-gradient(#91a1cd21 1px,#0000 1px),linear-gradient(90deg,#91a1cd21 1px,#0000 1px);position:absolute}.ambient-noise{opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E");position:absolute;inset:0}@keyframes cosmic-drift-one{to{transform:translate(18vw,14vh)scale(1.12)}}@keyframes cosmic-drift-two{to{transform:translate(-16vw,-10vh)scale(.94)}}@keyframes cosmic-drift-three{to{transform:translate(-10vw,12vh)scale(1.18)}}.topbar{z-index:50;-webkit-backdrop-filter:blur(24px)saturate(140%);backdrop-filter:blur(24px)saturate(140%);background:#060a18ad;border-color:#97a6cc21}.brand-block{gap:13px}.brand-mark{color:#fff;position:relative}.brand-mark:after{content:"";background:linear-gradient(110deg,#0000 35%,#ffffff5c,#0000 65%);animation:5s ease-in-out infinite logo-shine;position:absolute;inset:-60% -20%;transform:translate(-80%)rotate(12deg)}@keyframes logo-shine{45%,to{transform:translate(80%)rotate(12deg)}}.gradient-brand{-webkit-background-clip:text;background-clip:text;width:max-content}.topbar-center{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);gap:9px;padding:9px 13px}.topbar-center i{border-radius:50%;width:3px;height:3px}.topbar-center b{font-weight:600}.sidebar{z-index:15;border-color:#8f9ec721}.sidebar-hero{align-items:flex-start;position:relative;overflow:hidden}.sidebar-hero:before{content:"";background-image:radial-gradient(#ffffffb3 .8px,#0000 .8px);background-size:18px 18px;position:absolute}.sidebar-hero>div,.sidebar-hero__mark{z-index:1;position:relative}.sidebar-hero p{color:#9ea9c6;line-height:1.55}.sidebar-hero__mark{background:radial-gradient(circle, #10172e 57%, transparent 58%), conic-gradient(#65e7f6 0 var(--journey-progress), #8e9fcc24 var(--journey-progress) 360deg);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex}.sidebar-hero__mark strong{font-size:19px;line-height:1}.sidebar-hero__mark small{letter-spacing:.08em;text-transform:uppercase;margin-top:4px;font-size:7px;font-weight:700}.sidebar-tabs button>span{color:#fff}.sidebar-tab-content{gap:12px}.semester-costs,.overview-kpis article{border-color:#90a1cc21}.overview-kpis article{transition:all .16s}.overview-kpis article:hover{transform:translateY(-2px)}.overview-kpis svg{color:#75dff2}.overview-kpis strong{color:#f4f6ff}.overview-kpis span{color:#737f9b;text-transform:uppercase}.new-section-title>span{color:#dfe5f8;font-size:12px}.new-section-title>small{color:#63708d;font-size:8px}.semester-cost-row__color{height:28px}.semester-cost-row div strong,.semester-cost-row>b{color:#cdd5eb}.semester-cost-row div small{color:#626f8c}.semester-cost-row>b{color:#9eabd0}.new-edit-notice strong,.new-edit-notice svg{color:#b9a8ff}.new-edit-notice button{color:#ff9c85}.canvas-area:before{z-index:1;pointer-events:none;background:linear-gradient(90deg,#05081452,#0000 8% 92%,#05081452);position:absolute;inset:0}.canvas-toolbar{z-index:12}.canvas-toolbar__label{letter-spacing:.16em}.canvas-legend{text-transform:uppercase;gap:15px;padding:9px 12px}.react-flow__controls{overflow:hidden}.react-flow__controls-button svg{fill:currentColor}.canvas-tip{z-index:12;border-color:#8797c21f;border-radius:999px}.semester-node,.course-node{--spotlight-x:50%;--spotlight-y:50%;isolation:isolate;transition:border-color .18s,box-shadow .18s,transform .18s;position:relative;overflow:hidden}.semester-node{padding:16px 17px}.course-node{cursor:pointer}.semester-node:before{z-index:2;background:linear-gradient(90deg, transparent, var(--semester-color) 18% 82%, transparent)}.semester-node:after,.course-node:before{z-index:-1;content:"";background:radial-gradient(circle at 100% 0, color-mix(in srgb, var(--semester-color) 24%, transparent), transparent 43%), linear-gradient(135deg, #ffffff04, transparent 45%);pointer-events:none;position:absolute;inset:0}.semester-node__spotlight,.course-node__spotlight{z-index:-1;width:250px;height:250px;top:var(--spotlight-y);left:var(--spotlight-x);opacity:0;pointer-events:none;background:radial-gradient(circle, color-mix(in srgb, var(--semester-color) 22%, transparent), transparent 68%);transition:opacity .18s;position:absolute;transform:translate(-50%,-50%)}.semester-node:hover .semester-node__spotlight,.course-node:hover .course-node__spotlight{opacity:1}.semester-node:hover,.course-node:hover,.course-node.is-selected{box-shadow:0 24px 60px #00000061, 0 0 32px color-mix(in srgb, var(--semester-color) 11%, transparent), inset 0 1px #ffffff12;transform:translateY(-3px)scale(1.012)}.journey-stage{background:color-mix(in srgb, var(--semester-color) 18%, #0e1528e6);border-color:color-mix(in srgb, var(--semester-color) 45%, transparent);width:28px;height:28px;font-size:8px}.semester-year{letter-spacing:.03em}.simple-semester-title{margin-top:11px}.simple-semester-title h2{letter-spacing:-.05em}.simple-semester-title span{text-transform:uppercase}.simple-semester-summary{gap:10px;margin-top:13px;padding-top:11px}.simple-semester-summary span{letter-spacing:.05em;text-transform:uppercase}.course-node__simple-accent{z-index:2}.course-node__topline,.simple-course-main,.simple-progress{z-index:2;position:relative}.course-code{letter-spacing:.11em}.course-node__badges{gap:5px}.video-count,.simple-status{border-radius:999px;padding:3px 6px;font-size:7px}.simple-course-main{grid-template-columns:minmax(0,1fr) 52px;align-items:center;gap:11px;margin-top:7px}.simple-course-main>div:first-child{min-width:0}.simple-course-main h3{letter-spacing:-.02em}.course-teacher{letter-spacing:.025em;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;min-width:0;margin-top:4px;font-weight:600;display:flex;overflow:hidden}.course-teacher img{object-fit:cover;object-position:center 25%;border-radius:50%;flex:none}.course-teacher.is-empty{padding-left:1px}.simple-credit{background:color-mix(in srgb, var(--semester-color) 9%, #0f162ad9)}.simple-credit span{color:#7a86a0}.simple-progress{margin-top:7px}.simple-progress .node-progress{overflow:hidden}.simple-progress .node-progress span{background:linear-gradient(90deg, var(--semester-color), color-mix(in srgb, var(--semester-color) 55%, #fff))}.simple-progress>strong{color:#73809b}.flow-handle{background:color-mix(in srgb, var(--semester-color) 75%, #fff)!important;border-color:#091022!important}@keyframes journey-flow{to{stroke-dashoffset:-32px}}.no-results{border-color:#8e9fca24}.no-results h2{color:#f0f3ff}.no-results p{color:#737f9a}.overview-pane,.resource-panel,.overview-card{border-color:#8fa0cb21}.teacher-card{border-color:#91a2cd26}.teacher-portrait>span{border-color:#ffffff29}.teacher-profile h4{color:#f3f5ff}.teacher-facts>div{border-color:#8c9dc71f}.teacher-facts strong{color:#c8d0e7}.teacher-facts svg,.teacher-email>svg:first-child{color:color-mix(in srgb, var(--semester-color) 58%, #b9eff8)}.teacher-email{border-color:#9984ff47}.video-row{border-color:#899ac41a}.document-card{border-color:#899ac41c}.document-card a{color:#8794b0}.document-card a:hover{color:#74e0f2}.resource-empty{border-color:#8a9ac324}.resource-empty strong{color:#c4cce1}.resource-empty p,.notes-section .muted-copy{color:#68758f}.notes-section p{color:#9ca8c1}select,.notes-section textarea{border-color:#8d9ec826}.add-resource-button{border-color:#50cbe63d}.add-resource-button:hover,.primary-button{border-color:#0000}@media (width<=1050px){.sidebar-scroll{padding-left:18px;padding-right:18px}.sidebar-hero{padding:20px}.sidebar-hero h1{font-size:29px}.sidebar-hero__mark{width:80px;height:80px}}@media (width<=780px){.workspace{height:calc(100dvh - 68px)}.sidebar-scroll{height:calc(100% - 58px);padding:20px 18px 26px}.sidebar-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#02050ead}.canvas-toolbar strong{font-size:12px}}@media (width<=560px){.overview-kpis article{min-height:76px;padding:10px}.overview-kpis strong{font-size:17px}}@media (prefers-reduced-motion:reduce){.ambient-orb,.brand-mark:after,.journey-edge--course{animation:none!important}}:root{color:#171717;--ink:#171717;--ink-soft:#57534b;--paper:#f1eee5;--white:#fffdf7;--line:#171717;--green:#2456f5;--green-light:#e3eaff;--orange:#ff6542;--editorial-blue:#2456f5;--editorial-orange:#ff6542;--editorial-lime:#c8f45b;--editorial-paper:#fffdf7;--editorial-muted:#e7e2d7;--shadow-sm:4px 4px 0 #171717;--shadow-lg:10px 10px 0 #171717e6;background:#f1eee5}body{color:#171717;background:#f1eee5}.app-shell{background:#f1eee5}.ambient-backdrop{background-color:#0000;background-image:linear-gradient(90deg,#0000 49.8%,#17171709 50%,#0000 50.2%),linear-gradient(#0000 49.8%,#17171709 50%,#0000 50.2%);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:80px 80px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box}.ambient-orb,.ambient-noise{display:none}.ambient-grid{opacity:1;background-color:#0000;background-image:linear-gradient(90deg,#2456f50a 1px,#0000 1px),linear-gradient(#2456f50a 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:40px 40px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;inset:0;-webkit-mask-image:none;mask-image:none}.topbar{color:#171717;height:78px;box-shadow:none;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf7f5;border-bottom:2px solid #171717;padding:0 24px}.brand-mark{width:44px;height:44px;box-shadow:none;background:0 0;border:0;border-radius:0;overflow:visible}.brand-mark img{object-fit:contain;transform-origin:50%;width:100%;height:100%;display:block;transform:scale(1.25)}.brand-mark:after{display:none}.gradient-brand{color:#171717;-webkit-text-fill-color:initial;letter-spacing:-.035em;background:0 0}.brand-subtitle{color:#6f685d;letter-spacing:.12em}.topbar-center{color:#171717;background:#c8f45b;border:2px solid #171717;border-radius:10px;box-shadow:3px 3px #171717}.topbar-center svg{color:#171717}.topbar-center i{background:#171717}.topbar-center b{color:#4b4b37}.workspace{height:calc(100dvh - 78px)}.sidebar{color:#171717;width:400px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#e9e4d9;border-right:2px solid #171717;flex-basis:400px}.sidebar-scroll{scrollbar-color:#171717 transparent;padding:22px 20px 28px}.sidebar-hero{color:#fff;background:#2456f5;border:2px solid #171717;border-radius:14px;min-height:184px;padding:22px;box-shadow:7px 7px #171717}.sidebar-hero:before{opacity:1;background:#ff6542;border:2px solid #171717;border-radius:50%;width:130px;height:130px;inset:auto -18px -20px auto;-webkit-mask-image:none;mask-image:none}.sidebar-hero>div>span{color:#c8f45b;letter-spacing:.16em;font-size:8px}.sidebar-hero h1{color:#fff;letter-spacing:-.055em;margin:9px 0 8px;font-size:34px;line-height:.94}.sidebar-hero p{color:#ffffffc7;max-width:205px;font-size:10px}.sidebar-hero__mark{color:#171717;background:radial-gradient(circle, #fffdf7 55%, transparent 56%), conic-gradient(#c8f45b 0 var(--journey-progress), #171717 var(--journey-progress) 360deg);border:2px solid #171717;width:88px;height:88px;margin-top:18px;box-shadow:4px 4px #171717}.sidebar-hero__mark small{color:#57534b}.sidebar-tabs{background:0 0;border:0;border-radius:0;gap:7px;margin:18px 0 15px;padding:0}.sidebar-tabs button{color:#171717;background:#fffdf7;border:2px solid #171717;border-radius:9px;height:43px;font-size:11px;box-shadow:3px 3px #171717}.sidebar-tabs button:hover{color:#171717;background:#e3eaff}.sidebar-tabs button.is-active{color:#fff;background:#171717;box-shadow:3px 3px #2456f5}.sidebar-tabs button>span{box-shadow:none;background:#ff6542}.semester-costs,.overview-kpis article{color:#171717;background:#fffdf7;border:2px solid #171717;box-shadow:4px 4px #171717}.overview-kpis{gap:8px}.overview-kpis article{background:#fffdf7;border-radius:10px;min-height:82px;padding:11px}.overview-kpis article:nth-child(2){background:#e3eaff}.overview-kpis article:nth-child(3){background:#ffe5dc}.overview-kpis article:hover{border-color:#171717;transform:translate(-1px,-1px);box-shadow:5px 5px #171717}.overview-kpis svg,.overview-kpis strong,.overview-kpis span{color:#171717}.semester-costs{background:#fffdf7;border-radius:12px;padding:18px}.semester-costs .new-section-title>span{color:#171717;line-height:1.2}.semester-costs .new-section-title>small{color:#6f685d;font-size:10px}.new-section-title>span,.semester-cost-row div strong,.semester-cost-row>b{color:#171717}.new-section-title>small,.semester-cost-row div small{color:#6f685d}.semester-cost-row{border-color:#d8d2c5;padding:13px 0}.semester-cost-row div strong{font-size:12px;line-height:1.25}.semester-cost-row div small{margin-top:3px}.semester-cost-row>b{white-space:nowrap;font-size:12px}.semester-cost-row__color{width:7px;box-shadow:none;border:1px solid #171717}.new-edit-notice{background:#ffe5dc;border-color:#171717}.new-edit-notice strong,.new-edit-notice svg,.new-edit-notice button{color:#171717}.canvas-area:before{content:none;display:none}.canvas-toolbar{color:#171717;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fffdf7;border:2px solid #171717;border-radius:12px;min-height:64px;padding:10px 12px 10px 16px;top:18px;left:22px;right:22px;box-shadow:6px 6px #171717}.canvas-toolbar__label{color:#2456f5}.canvas-toolbar strong{color:#171717}.canvas-legend{color:#171717;background:#f1eee5;border:1px solid #171717;border-radius:8px}.canvas-shell{background:0 0}.react-flow__background{opacity:1}.react-flow__controls{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fffdf7;border:2px solid #171717;border-radius:10px;box-shadow:4px 4px #171717}.react-flow__controls-button{color:#171717;background:#fffdf7;border-color:#171717}.react-flow__controls-button:hover{color:#fff;background:#2456f5}.canvas-tip{color:#171717;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fffdf7;border:1px solid #171717;box-shadow:3px 3px #171717}.semester-node,.course-node{color:#171717;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fffdf7;border:2px solid #171717;box-shadow:6px 6px #171717}.semester-node{border-radius:14px}.course-node{border-radius:12px}.semester-node:before{background:var(--semester-color);height:8px;box-shadow:none}.semester-node:after,.course-node:before{opacity:1;background:linear-gradient(135deg, color-mix(in srgb, var(--semester-color) 9%, transparent), transparent 48%)}.semester-node__spotlight,.course-node__spotlight{display:none}.semester-node:hover,.course-node:hover,.course-node.is-selected{box-shadow:8px 8px 0 var(--semester-color), 8px 8px 0 2px #171717;border-color:#171717;transform:translate(-2px,-2px)}.course-node.is-selected{outline-offset:3px;outline:3px solid #171717}.journey-stage{color:#171717;background:var(--editorial-lime);border:2px solid #171717;box-shadow:2px 2px #171717}.semester-year{color:#57534b}.simple-semester-title h2{color:#171717}.simple-semester-title span{color:#6f685d}.simple-semester-summary,.simple-semester-summary>div+div{border-color:#171717}.simple-semester-summary strong{color:#171717}.simple-semester-summary span{color:#6f685d}.course-node__simple-accent{background:var(--semester-color);width:6px;box-shadow:none;border:1px solid #171717;border-left:0;top:12px;bottom:12px}.course-code{color:#171717;font-weight:800}.video-count{color:#171717;background:#dff7ff;border:1px solid #171717}.simple-status{color:#171717;background:#f1eee5;border:1px solid #171717}.simple-status--completed{color:#171717;background:#dff5c9}.simple-status--in-progress{color:#171717;background:#fff0b8}.simple-status--planned{color:#171717;background:#ebe7de}.simple-course-main h3{color:#171717}.course-teacher{color:#57534b}.course-teacher img{border:1px solid #171717}.course-teacher.is-empty{color:#8a8378}.simple-credit{color:#171717;background:color-mix(in srgb, var(--semester-color) 18%, #fffdf7);border:2px solid #171717;border-radius:9px;box-shadow:2px 2px #171717}.simple-credit span,.simple-progress>strong{color:#57534b}.simple-progress .node-progress{background:#ded8cc;border:1px solid #171717;border-radius:0;height:5px}.simple-progress .node-progress span{background:var(--semester-color);box-shadow:none}.journey-edge--course{animation:none}.no-results{color:#171717;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fffdf7;border:2px solid #171717;box-shadow:7px 7px #171717}.no-results>span{color:#171717;background:#c8f45b;border:2px solid #171717}.no-results h2,.no-results p{color:#171717}.detail-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1717176b}.overview-pane,.resource-panel,.overview-card{color:#171717;background:#fffdf7;border:2px solid #171717;border-radius:12px;box-shadow:4px 4px #171717}.progress-number{color:#171717}.teacher-card{box-shadow:none;background:#e3eaff;border:2px solid #171717;border-radius:10px}.teacher-portrait{background:#d7d2c6;border-right:2px solid #171717}.teacher-portrait>span{color:#fff;background:#2456f5;border:1px solid #171717}.teacher-role,.teacher-profile h4{color:#171717}.teacher-facts>div{color:#171717;background:#fffdf7;border:1px solid #171717}.teacher-facts small,.teacher-email small{color:#6f685d}.teacher-facts strong,.teacher-facts svg{color:#171717}.teacher-email{color:#fff;background:#2456f5;border:2px solid #171717;box-shadow:3px 3px #171717}.teacher-email small,.teacher-email strong,.teacher-email>svg:first-child{color:#fff}.teacher-email:hover{background:#ff6542;box-shadow:4px 4px #171717}.large-progress,.node-progress{background:#ded8cc;border:1px solid #171717}.progress-summary{color:#171717}.progress-summary b{color:#57534b}.video-player{background:#171717;border:2px solid #171717;border-radius:10px;box-shadow:4px 4px #171717}.video-row{color:#57534b;background:#f1eee5;border:1px solid #171717;border-radius:8px}.video-row:hover,.video-row.is-active{color:#171717;background:#e3eaff;border-color:#171717}.resource-icon,.document-card__icon{color:#171717;background:#c8f45b;border:1px solid #171717}.resource-copy small,.document-card__copy small{color:#6f685d}.resource-copy strong,.document-card__copy strong{color:#171717}.document-card{color:#171717;background:#fffdf7;border:1px solid #171717}.document-card a,.document-card a:hover{color:#171717}.document-card a:hover{background:#c8f45b}.resource-empty{color:#57534b;background:#f1eee5;border:2px dashed #171717}.resource-empty>span{color:#171717;background:#c8f45b;border:1px solid #171717}.resource-empty strong,.notes-section p,.notes-section .muted-copy{color:#171717}.resource-empty p{color:#6f685d}select,.notes-section textarea{color:#171717;background:#fffdf7;border:2px solid #171717}select:focus,.notes-section textarea:focus{border-color:#171717;box-shadow:3px 3px #2456f5}.add-resource-button{color:#171717;background:#dff7ff;border:2px dashed #171717}.add-resource-button:hover,.primary-button{color:#fff;background:#2456f5;border:2px solid #171717}.text-button{color:#171717}.count-badge{color:#171717;background:#c8f45b;border:1px solid #171717}.icon-button{color:#171717;border-color:#171717}.icon-button:hover{color:#fff;background:#2456f5;border-color:#171717}@media (width<=1050px){.sidebar{flex-basis:350px;width:350px}}@media (width<=780px){.topbar{height:66px;padding:0 12px}.workspace{height:calc(100dvh - 66px)}.brand-mark{width:40px;height:40px;box-shadow:none}.sidebar{background:#e9e4d9;flex-basis:auto;width:min(400px,94vw)}.sidebar-mobile-head{color:#171717;background:#fffdf7;border-color:#171717}.sidebar-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1717176b}.canvas-toolbar{min-height:57px;top:11px;left:11px;right:11px;box-shadow:4px 4px #171717}}@media (width<=560px){.sidebar-hero{min-height:170px}.sidebar-hero h1{font-size:29px}.sidebar-hero__mark{width:74px;height:74px}.teacher-portrait{border-bottom:2px solid #171717;border-right:0}}body{font-size:16px}.gradient-brand{font-size:19px}.brand-subtitle{font-size:10px}.topbar-center{font-size:12px}.topbar-center b{font-size:11px}.sidebar-tabs button{font-size:13px}.overview-kpis strong{font-size:23px}.overview-kpis span{font-size:11px}.semester-costs .new-section-title>span{font-size:17px}.semester-cost-row div strong,.semester-cost-row>b{font-size:13px}.semester-cost-row div small{font-size:11px}.canvas-toolbar__label{font-size:9px}.canvas-toolbar strong{font-size:17px}.canvas-legend{font-size:10px}.semester-node{width:320px;min-height:158px}.semester-year{font-size:11px}.simple-semester-title h2{font-size:27px}.simple-semester-title span{font-size:10px}.simple-semester-summary strong{font-size:17px}.simple-semester-summary span{font-size:9px}.course-node{width:320px;height:160px;min-height:160px;padding:14px 16px 12px}.course-code{font-size:11px}.video-count,.simple-status{font-size:8px}.simple-course-main{grid-template-columns:minmax(0,1fr) 58px}.simple-course-main h3{min-height:38px;font-size:16px;line-height:1.22}.course-teacher{font-size:9px}.course-teacher img{width:19px;height:19px}.simple-credit{min-height:56px}.simple-credit strong{font-size:25px}.simple-credit span{font-size:9px}.simple-progress>strong{font-size:10px}@media (width<=780px){.gradient-brand{font-size:15px}}.canvas-area{background:#f7f4eb}.react-flow__viewport{will-change:auto}.react-flow__pane,.react-flow__node{opacity:1;filter:none}.react-flow__node{-webkit-font-smoothing:auto;text-rendering:geometricprecision}.journey-edge-halo,.journey-edge{filter:none;shape-rendering:geometricprecision;pointer-events:none;opacity:1!important}.journey-edge--course,.journey-edge--timeline{animation:none;stroke-dasharray:none!important}.flow-handle{opacity:1!important;background:var(--semester-color)!important;border:2px solid #f7f4eb!important;width:8px!important;height:8px!important;box-shadow:0 0 0 1px #171717!important}.sound-toggle{color:#6f685d;height:42px;box-shadow:none;cursor:pointer;background:#e7e2d7;border:2px solid #171717;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-family:inherit;font-size:12px;font-weight:800;transition:transform .16s,background-color .16s,box-shadow .16s;display:inline-flex}.sound-toggle:hover,.sound-toggle.is-active{color:#171717;background:#e3eaff;box-shadow:3px 3px #171717}.sound-toggle:hover{transform:translate(-1px,-1px)}.sound-toggle:focus-visible{outline-offset:3px;outline:3px solid #2456f5}@media (width<=780px){.sound-toggle{width:42px;padding:0}.sound-toggle span{display:none}}.theme-toggle{color:#171717;cursor:pointer;background:#fffdf7;border:2px solid #171717;border-radius:10px;justify-content:center;align-items:center;gap:7px;height:42px;padding:0 12px;font-family:inherit;font-size:12px;font-weight:800;transition:transform .16s,color .2s,background-color .2s,box-shadow .2s;display:inline-flex;box-shadow:3px 3px #171717}.theme-toggle:hover{background:#fff0b8;transform:translate(-1px,-1px)}.theme-toggle__icon{border-radius:50%;place-items:center;width:24px;height:24px;transition:transform .36s cubic-bezier(.22,1,.36,1);display:grid}.theme-toggle:hover .theme-toggle__icon{transform:rotate(18deg)scale(1.08)}.theme-toggle:focus-visible{outline-offset:3px;outline:3px solid #2456f5}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2}html[data-magicui-theme-vt=active]::view-transition-new(root){animation:theme-circle-reveal var(--theme-transition-duration) cubic-bezier(.22, 1, .36, 1) both}html[data-magicui-theme-vt=active] *,html[data-magicui-theme-vt=active] :before,html[data-magicui-theme-vt=active] :after{transition-duration:0s!important}@keyframes theme-circle-reveal{0%{clip-path:var(--theme-transition-clip-start)}to{clip-path:var(--theme-transition-clip-end)}}.theme-fallback-reveal{z-index:2147483647;opacity:0;pointer-events:none;clip-path:circle(0 at var(--theme-reveal-x,50vw) var(--theme-reveal-y,40px));will-change:clip-path, opacity;position:fixed;inset:0}.theme-fallback-reveal--dark{background:radial-gradient(circle at var(--theme-reveal-x) var(--theme-reveal-y), #315fd8 0, #17233f 12%, #0d1117 38%)}.theme-fallback-reveal--light{background:radial-gradient(circle at var(--theme-reveal-x) var(--theme-reveal-y), #c8f45b 0, #fff4c8 12%, #f1eee5 38%)}.theme-fallback-reveal.is-covering{opacity:1;animation:theme-fallback-cover var(--theme-reveal-duration) cubic-bezier(.22, 1, .36, 1) both}.theme-fallback-reveal.is-revealing{opacity:1;clip-path:circle(var(--theme-reveal-radius) at var(--theme-reveal-x) var(--theme-reveal-y));animation:.17s ease-out both theme-fallback-fade}@keyframes theme-fallback-cover{0%{clip-path:circle(0 at var(--theme-reveal-x) var(--theme-reveal-y))}to{clip-path:circle(var(--theme-reveal-radius) at var(--theme-reveal-x) var(--theme-reveal-y))}}@keyframes theme-fallback-fade{to{opacity:0}}@media (width<=780px){.theme-toggle{width:42px;padding:0}.theme-toggle>span:last-child{display:none}}.brand-block{color:inherit;text-decoration:none}.brand-block:focus-visible{outline:3px solid var(--ui-focus);outline-offset:4px;border-radius:6px}.focus-toggle{min-height:44px;color:var(--ui-ink);background:var(--ui-panel);border:1px solid var(--ui-line);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 12px;font-size:12px;font-weight:700;display:inline-flex}.focus-toggle:hover,.focus-toggle[aria-pressed=true]{background:var(--ui-blue-soft)}.focus-toggle:focus-visible{outline:3px solid var(--ui-focus);outline-offset:3px}@media (width>=781px){.app-shell.is-focus-mode .sidebar{display:none}}@media (width<=1050px){.focus-toggle>span{display:none}}@media (width<=780px){.focus-toggle{display:none}}:root[data-theme=dark]{color:#f4f7fb;--ink:#f4f7fb;--ink-soft:#b8c4d1;--paper:#0b1016;--white:#17212c;--line:#465a6d;--green:#86a9ff;--green-light:#1b2b45;--orange:#ff9b83;--editorial-blue:#86a9ff;--editorial-orange:#ff9b83;--editorial-lime:#c8f45b;--editorial-paper:#17212c;--editorial-muted:#253442;--dark-bg:#0b1016;--dark-canvas:#0e151d;--dark-sidebar:#111923;--dark-surface:#17212c;--dark-surface-raised:#1e2b38;--dark-surface-soft:#253442;--dark-line:#465a6d;--dark-ink:#f4f7fb;--dark-muted:#b8c4d1;--dark-subtle:#91a2b4;--dark-shadow:#04070a;--dark-blue:#86a9ff;--dark-lime:#c8ef70;--dark-on-lime:#152012;--dark-coral:#ff9b83;--dark-on-coral:#26120d;--shadow-sm:4px 4px 0 #05070a;--shadow-lg:10px 10px 0 #020407eb;background:#0b1016}:root[data-theme=dark] body,:root[data-theme=dark] .app-shell{color:var(--dark-ink);background:var(--dark-bg)}:root[data-theme=dark] .app-shell *{border-color:var(--dark-line)}:root[data-theme=dark] .ambient-backdrop{background:radial-gradient(circle at 80% 12%, #6f96ff17, transparent 28%), linear-gradient(90deg, transparent 49.8%, #afbed209 50%, transparent 50.2%), linear-gradient(transparent 49.8%, #afbed209 50%, transparent 50.2%), var(--dark-bg);background-size:auto,80px 80px,80px 80px,auto}:root[data-theme=dark] .ambient-grid{background-color:#0000;background-image:linear-gradient(90deg,#6f96ff0b 1px,#0000 1px),linear-gradient(#6f96ff0b 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:40px 40px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box}:root[data-theme=dark] :is(.topbar,.sidebar,.canvas-area,.detail-panel,.canvas-library-shell) :is(h1,h2,h3,h4,p,strong,b,small,span,em,label,button,input,select,textarea,dt,dd):not(:where(.resource-page *,.home-page :not(.home-map *))){color:var(--dark-ink)}:root[data-theme=dark] :is(.brand-subtitle,.sidebar-hero p,.new-section-title>small,.semester-cost-row div small,.filter-tab__head span,.large-semester-list small,.canvas-toolbar__label,.semester-year,.simple-semester-title span,.simple-semester-summary span,.course-teacher,.simple-credit span,.simple-progress>strong,.teacher-rail__identity small,.teacher-rail__facts dt,.teacher-facts small,.teacher-email small,.resource-copy small,.document-card__copy small,.resource-empty p,.library-header p,.document-library-links a small,.video-library-course__copy em,.library-empty p,.library-sidebar-summary p,.video-library-detail__head p,.video-library-teacher small){color:var(--dark-muted)!important}:root[data-theme=dark] :is(.course-code,.library-header span,.library-course-title>span,.video-library-course__copy small,.library-sidebar-summary>small,.detail-hero__eyebrow,.teacher-rail__head>span,.video-library-detail__head>div:nth-child(2)>span,.video-library-player__label span,.video-library-playlist__head span){color:var(--dark-blue)!important}:root[data-theme=dark] .topbar{color:var(--dark-ink);border-bottom-color:var(--dark-line);background:#121820f5;box-shadow:0 10px 34px #0000003d}:root[data-theme=dark] .gradient-brand,:root[data-theme=dark] .topbar-center{color:var(--dark-ink)}:root[data-theme=dark] .brand-mark{box-shadow:none;background:0 0;border:0}:root[data-theme=dark] .topbar-center{color:#152012;box-shadow:3px 3px 0 var(--dark-shadow);background:#b6de54;border-color:#d7ff7e}:root[data-theme=dark] .topbar-center :is(span,b,svg){color:#152012!important}:root[data-theme=dark] .topbar-center i{background:#152012}:root[data-theme=dark] :is(.edit-toggle,.sound-toggle,.theme-toggle){color:var(--dark-ink);background:var(--dark-surface-raised);border-color:var(--dark-line);box-shadow:3px 3px 0 var(--dark-shadow)}:root[data-theme=dark] :is(.edit-toggle,.sound-toggle,.theme-toggle):hover{color:#fff;background:#315fd8}:root[data-theme=dark] .sound-toggle.is-active{color:var(--dark-ink);box-shadow:3px 3px 0 var(--dark-shadow);background:#24304c}:root[data-theme=dark] .theme-toggle--dark{color:#fff3be;background:#2a2a21}:root[data-theme=dark] .sidebar{color:var(--dark-ink);background:var(--dark-sidebar);border-right-color:var(--dark-line)}:root[data-theme=dark] .sidebar-scroll{scrollbar-color:#5d6a7b transparent}:root[data-theme=dark] .sidebar-hero{color:#fff;box-shadow:7px 7px 0 var(--dark-shadow);background:#244fc7;border-color:#7a9cff}:root[data-theme=dark] .sidebar-hero :is(h1,p){color:#fff!important}:root[data-theme=dark] .sidebar-hero>div>span{color:#d9ff7f!important}:root[data-theme=dark] .sidebar-hero:before{background:#e76447;border-color:#ff977e}:root[data-theme=dark] .sidebar-hero__mark{color:#101611;background:radial-gradient(circle, #e9edf2 55%, transparent 56%), conic-gradient(#b7e455 0 var(--journey-progress), #29323d var(--journey-progress) 360deg);box-shadow:4px 4px 0 var(--dark-shadow);border-color:#8290a1}:root[data-theme=dark] .sidebar-hero__mark :is(strong,small){color:#101611!important}:root[data-theme=dark] .sidebar-tabs button{color:var(--dark-ink);background:var(--dark-surface);border-color:var(--dark-line);box-shadow:3px 3px 0 var(--dark-shadow)}:root[data-theme=dark] .sidebar-tabs button:hover{color:#fff;background:#263656}:root[data-theme=dark] .sidebar-tabs button.is-active{color:#fff;background:#315fd8;box-shadow:3px 3px #0a0d12}:root[data-theme=dark] :is(.semester-costs,.filter-tab,.large-search-box,.new-filter-group,.overview-kpis article,.local-data-note,.edit-notice,.library-sidebar-summary){color:var(--dark-ink);background:var(--dark-surface);border-color:var(--dark-line);box-shadow:4px 4px 0 var(--dark-shadow)}:root[data-theme=dark] .overview-kpis article:nth-child(2){background:#1b2944}:root[data-theme=dark] .overview-kpis article:nth-child(3),:root[data-theme=dark] .new-edit-notice{background:#39251f}:root[data-theme=dark] .semester-cost-row{border-color:#394555}:root[data-theme=dark] :is(select,input,textarea){color:var(--dark-ink);border-color:var(--dark-line);background:#111721}:root[data-theme=dark] :is(input,textarea)::placeholder{color:#768295}:root[data-theme=dark] .canvas-area,:root[data-theme=dark] .canvas-area.is-library-mode{background:linear-gradient(135deg, #6f96ff0b 25%, transparent 25%) 0 0 / 36px 36px, linear-gradient(315deg, #ff805f09 25%, transparent 25%) 0 0 / 36px 36px, var(--dark-canvas)}:root[data-theme=dark] .react-flow__background-pattern{fill:#3e4958!important}:root[data-theme=dark] :is(.canvas-toolbar,.react-flow__controls,.canvas-tip){color:var(--dark-ink);border-color:var(--dark-line);box-shadow:4px 4px 0 var(--dark-shadow);background:#171d26f5}:root[data-theme=dark] .canvas-legend{color:var(--dark-ink);background:var(--dark-surface-soft);border-color:var(--dark-line)}:root[data-theme=dark] .react-flow__controls-button{color:var(--dark-ink);background:var(--dark-surface-raised);border-color:var(--dark-line);fill:currentColor}:root[data-theme=dark] .react-flow__controls-button:hover{color:#fff;background:#315fd8}:root[data-theme=dark] :is(.semester-node,.course-node){color:var(--dark-ink);background:var(--dark-surface);border-color:var(--dark-line);box-shadow:6px 6px 0 var(--dark-shadow)}:root[data-theme=dark] :is(.semester-node:hover,.course-node:hover,.course-node.is-selected){box-shadow:8px 8px 0 var(--semester-color), 8px 8px 0 2px var(--dark-shadow);border-color:#90a6c7}:root[data-theme=dark] .course-node.is-selected{outline-color:#cbd6e5}:root[data-theme=dark] .semester-node:after,:root[data-theme=dark] .course-node:before{background:linear-gradient(135deg, color-mix(in srgb, var(--semester-color) 16%, transparent), transparent 48%)}:root[data-theme=dark] .journey-stage{box-shadow:2px 2px 0 var(--dark-shadow);background:#b6de54;border-color:#d9ff7f;color:#152012!important}:root[data-theme=dark] :is(.video-count,.simple-status){background:var(--dark-surface-soft);border-color:var(--dark-line);color:var(--dark-ink)!important}:root[data-theme=dark] .simple-status--completed{background:#263d2d;color:#baf2c7!important}:root[data-theme=dark] .simple-status--in-progress{background:#44391f;color:#ffe39a!important}:root[data-theme=dark] .simple-status--planned{background:#272e38;color:#c5ced9!important}:root[data-theme=dark] .simple-credit{color:var(--dark-ink);background:color-mix(in srgb, var(--semester-color) 24%, var(--dark-surface));box-shadow:2px 2px 0 var(--dark-shadow);border-color:#77879c}:root[data-theme=dark] .simple-progress .node-progress,:root[data-theme=dark] :is(.large-progress,.node-progress){background:#29323e;border-color:#536071}:root[data-theme=dark] .flow-handle{border-color:var(--dark-canvas)!important;box-shadow:0 0 0 1px #91a0b3!important}:root[data-theme=dark] .journey-edge-halo{stroke:var(--dark-canvas)!important}:root[data-theme=dark] .no-results,:root[data-theme=dark] .library-empty{color:var(--dark-ink);background:var(--dark-surface);border-color:var(--dark-line);box-shadow:7px 7px 0 var(--dark-shadow)}:root[data-theme=dark] .detail-backdrop{background:#020509b8}:root[data-theme=dark] :is(.teacher-rail,.overview-pane,.resource-panel,.overview-card){color:var(--dark-ink);background:var(--dark-surface);border-color:var(--dark-line);box-shadow:4px 4px 0 var(--dark-shadow)}:root[data-theme=dark] .teacher-card{border-color:var(--dark-line);background:#1b2944}:root[data-theme=dark] .teacher-portrait{border-right-color:var(--dark-line);background:#242d39}:root[data-theme=dark] .teacher-facts>div,:root[data-theme=dark] .document-card{color:var(--dark-ink);background:var(--dark-surface-raised);border-color:var(--dark-line)}:root[data-theme=dark] :is(.teacher-email,.teacher-rail__email,.primary-button){color:#fff;box-shadow:3px 3px 0 var(--dark-shadow);background:#315fd8;border-color:#7598ff}:root[data-theme=dark] :is(.teacher-email,.teacher-rail__email,.primary-button) :is(span,strong,small,svg){color:#fff!important}:root[data-theme=dark] :is(.video-row,.resource-empty){color:var(--dark-muted);border-color:var(--dark-line);background:#111721}:root[data-theme=dark] :is(.video-row:hover,.video-row.is-active){color:#fff;background:#263656}:root[data-theme=dark] :is(.resource-icon,.document-card__icon,.resource-empty>span,.count-badge){background:#b6de54;border-color:#d8ff7c;color:#152012!important}:root[data-theme=dark] .document-card a{color:var(--dark-ink)}:root[data-theme=dark] .document-card a:hover{color:#152012;background:#b6de54}:root[data-theme=dark] .add-resource-button{color:#c7e7ff;background:#172d3b;border-color:#5f849d}:root[data-theme=dark] .icon-button{color:var(--dark-ink);border-color:var(--dark-line)}:root[data-theme=dark] .icon-button:hover{color:#fff;background:#315fd8}:root[data-theme=dark] :is(.library-header,.library-semester,.library-sidebar-summary,.video-library-detail){color:var(--dark-ink);background:var(--dark-surface);border-color:var(--dark-line);box-shadow:4px 4px 0 var(--dark-shadow)}:root[data-theme=dark] .canvas-library-shell .library-header,:root[data-theme=dark] .video-library-detail{box-shadow:6px 6px 0 var(--dark-shadow)}:root[data-theme=dark] .library-header__icon,:root[data-theme=dark] .library-sidebar-summary>span{color:#fff;background:#315fd8;border-color:#7598ff}:root[data-theme=dark] :is(.library-header>b,.library-course-title>small,.library-sidebar-summary>b){background:#b6de54;border-color:#d8ff7c;color:#152012!important}:root[data-theme=dark] .library-semester__head{background:var(--dark-surface-soft);border-bottom-color:var(--dark-line)}:root[data-theme=dark] .document-library-course+.document-library-course,:root[data-theme=dark] .video-library-course+.video-library-course{border-color:#394555}:root[data-theme=dark] :is(.library-course-title:hover,.video-library-course:hover){color:#fff;background:#263656}:root[data-theme=dark] .document-library-links a{color:var(--dark-ink);border-color:var(--dark-line);background:#111721}:root[data-theme=dark] .document-library-links a:hover{color:#fff;background:#315fd8}:root[data-theme=dark] .video-library-course__icon{color:var(--dark-ink);background:color-mix(in srgb, var(--course-color) 32%, var(--dark-surface));border-color:var(--dark-line)}:root[data-theme=dark] .video-library-course.is-empty>b{color:var(--dark-muted);background:var(--dark-surface-soft)}:root[data-theme=dark] .video-library-detail__head{background:color-mix(in srgb, var(--course-color) 22%, var(--dark-surface));border-bottom-color:var(--dark-line)}:root[data-theme=dark] .video-library-detail__head>button,:root[data-theme=dark] :is(.video-library-player,.video-library-playlist){color:var(--dark-ink);background:var(--dark-surface-raised);border-color:var(--dark-line);box-shadow:3px 3px 0 var(--dark-shadow)}:root[data-theme=dark] .video-library-watch{background:var(--dark-bg)}:root[data-theme=dark] .video-library-playlist>div:last-child>button{color:var(--dark-ink)}:root[data-theme=dark] .video-library-playlist>div:last-child>button:hover{background:#263656}:root[data-theme=dark] .video-library-playlist>div:last-child>button.is-active{color:#fff;background:#315fd8}:root[data-theme=dark] .video-library-playlist>div:last-child>button>span{color:var(--dark-ink);border-color:var(--dark-line);background:#111721}@media (width<=780px){:root[data-theme=dark] .sidebar,:root[data-theme=dark] .sidebar-mobile-head{color:var(--dark-ink);background:var(--dark-sidebar)}}:root[data-theme=dark] :is(.canvas-footer-note,.video-library-teacher,.sidebar-mobile-head){color:var(--dark-ink);background:var(--dark-surface-raised);border-color:var(--dark-line)}:root[data-theme=dark] .video-library-teacher{box-shadow:2px 2px 0 var(--dark-shadow)}:root[data-theme=dark] .video-library-teacher strong{color:var(--dark-ink)!important}:root[data-theme=dark] .video-library-teacher small{color:var(--dark-muted)!important}:root[data-theme=dark] :is(.no-results>span,.library-empty>span,.detail-tabs button>span,.course-control-main .detail-tabs button>span,.resource-icon,.document-card__icon,.resource-empty>span,.count-badge,.library-header>b,.library-course-title>small,.library-sidebar-summary>b){background:var(--dark-lime);border-color:#dfff91;color:var(--dark-on-lime)!important}:root[data-theme=dark] .sidebar-tabs button>span{background:var(--dark-coral);border-color:#ffc0b1;color:var(--dark-on-coral)!important}:root[data-theme=dark] .video-library-playlist__head{color:#efffd1;background:#243923;border-bottom-color:#58724d}:root[data-theme=dark] .video-library-playlist__head span{color:#d9f5a3!important}:root[data-theme=dark] .video-library-playlist__head strong{color:#f5ffe8!important}:root[data-theme=dark] .overview-kpis article:first-child svg{color:#86a9ff!important}:root[data-theme=dark] .overview-kpis article:nth-child(2) svg{color:#9edcf7!important}:root[data-theme=dark] .overview-kpis article:nth-child(3) svg,:root[data-theme=dark] .new-edit-notice svg{color:#ffad98!important}:root[data-theme=dark] :is(.large-search-box svg,.teacher-facts svg){color:var(--dark-blue)!important}:root[data-theme=dark] .progress-summary{color:var(--dark-ink)}:root[data-theme=dark] .progress-summary b{color:var(--dark-muted)!important}:root[data-theme=dark] :is(.teacher-role,.teacher-profile h4,.teacher-facts strong){color:var(--dark-ink)!important}:root[data-theme=dark] .document-library-links a:hover small,:root[data-theme=dark] :is(.video-row:hover,.video-row.is-active) .resource-copy small{color:#dbe7ff!important}:root[data-theme=dark] .document-library-links a:hover :is(strong,svg){color:#fff!important}:root[data-theme=dark] .video-library-course.is-empty{opacity:.82}:root[data-theme=dark] .video-library-course__icon{background:color-mix(in srgb, var(--course-color) 15%, var(--dark-surface-raised));color:color-mix(in srgb, var(--course-color) 68%, #fff)!important}:root[data-theme=dark] .simple-credit{background:color-mix(in srgb, var(--semester-color) 15%, var(--dark-surface-raised))}:root[data-theme=dark] .course-code{color:color-mix(in srgb, var(--semester-color) 68%, #fff)!important}:root[data-theme=dark] .video-library-detail__head{background:color-mix(in srgb, var(--course-color) 14%, var(--dark-surface))}:root[data-theme=dark] .form-error{color:#ffad98!important}:root[data-theme=dark] :is(input,textarea,select){caret-color:var(--dark-blue)}:root[data-theme=dark] :-webkit-any(input,textarea):-webkit-autofill{-webkit-text-fill-color:var(--dark-ink);box-shadow:inset 0 0 0 1000px #111721}:root[data-theme=dark] :is(input,textarea):autofill{-webkit-text-fill-color:var(--dark-ink);box-shadow:inset 0 0 0 1000px #111721}:root[data-theme=dark] :-webkit-any(input,textarea):-webkit-autofill:hover{-webkit-text-fill-color:var(--dark-ink);box-shadow:inset 0 0 0 1000px #111721}:root[data-theme=dark] :is(input,textarea):autofill:hover{-webkit-text-fill-color:var(--dark-ink);box-shadow:inset 0 0 0 1000px #111721}:root[data-theme=dark] :-webkit-any(input,textarea):-webkit-autofill:focus{-webkit-text-fill-color:var(--dark-ink);box-shadow:inset 0 0 0 1000px #111721}:root[data-theme=dark] :is(input,textarea):autofill:focus{-webkit-text-fill-color:var(--dark-ink);box-shadow:inset 0 0 0 1000px #111721}:root{--ui-ink:#171717;--ui-muted:#666052;--ui-paper:#f1eee5;--ui-panel:#fffdf7;--ui-raised:#efebe0;--ui-line:#171717;--ui-shadow:#171717;--ui-blue:#2456f5;--ui-blue-soft:#e8edff;--ui-focus:#2456f5;--ui-radius:9px;--ui-control-height:46px;--ui-space:16px}:root[data-theme=dark]{--ui-ink:#f4f7fb;--ui-muted:#b6c2cf;--ui-paper:#0e1721;--ui-panel:#172330;--ui-raised:#223142;--ui-line:#50647a;--ui-shadow:#060b10;--ui-blue:#a0bfff;--ui-blue-soft:#263b63;--ui-focus:#b7d0ff}[hidden]{display:none!important}:is(.home-shell,.canvas-library-shell) h1[tabindex="-1"]:focus{outline:none}.study-button,.study-text-button,.study-icon-button{min-height:44px;font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.study-button{color:#fff;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:#2456f5;padding:11px 15px}.study-button:hover{background:#173fce}.study-button--secondary{color:var(--ui-ink);background:var(--ui-panel)}.study-button--secondary:hover{background:var(--ui-raised)}.study-button:disabled{color:var(--ui-muted);background:var(--ui-raised);cursor:default;opacity:.65}.study-button>svg,.study-text-button>svg{flex:none}.study-text-button{color:var(--ui-blue);text-align:left;background:0 0;border:0;padding:4px 0}.study-text-button:hover{text-decoration:underline}.study-icon-button{width:44px;color:var(--ui-ink);background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:var(--ui-radius);flex:0 0 44px;padding:0}:is(.study-button,.study-text-button,.study-icon-button):focus-visible{outline:3px solid var(--ui-focus);outline-offset:3px}.study-field{min-width:0;color:var(--ui-muted);align-content:start;gap:9px;margin:0;font-size:12px;font-weight:700;display:grid}.study-field>label,.study-field>span{color:var(--ui-muted);margin:0;font-size:12px;font-weight:700}.study-search{min-width:0;height:var(--ui-control-height);color:var(--ui-muted);background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:var(--ui-radius);align-items:center;gap:10px;padding:0 12px;display:flex;position:relative}.study-search>svg{flex:none}:root .study-search input{width:100%;min-width:0;height:100%;color:var(--ui-ink);font:inherit;background:0 0;border:0;outline:none;padding:0 34px 0 0;font-size:13px;font-weight:400}:root .study-search input::placeholder{color:var(--ui-muted);opacity:1}.study-search input::-webkit-search-cancel-button{appearance:none}:root .study-search input:focus-visible{outline:none}.study-search:focus-within{outline:3px solid var(--ui-focus);outline-offset:3px}.study-search>button{width:38px;height:38px;color:var(--ui-ink);background:var(--ui-raised);cursor:pointer;border:0;border-radius:6px;place-items:center;padding:0;display:grid;position:absolute;right:3px}:root .study-field>select{width:100%;min-width:0;height:var(--ui-control-height);color:var(--ui-ink);background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:var(--ui-radius);font:inherit;padding:0 10px;font-size:13px;font-weight:400}.study-field>select:focus-visible,.study-search>button:focus-visible{outline:3px solid var(--ui-focus);outline-offset:3px}.study-filters{gap:12px;min-width:0;display:grid}.study-filter-panel{color:var(--ui-ink);background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:12px;padding:20px}.study-filter-fields{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr);align-items:end;gap:16px;display:grid}.study-filter-chips{flex-wrap:wrap;gap:8px;display:flex}.study-filter-chips>button{max-width:100%;min-height:36px;color:var(--ui-ink);background:var(--ui-blue-soft);border:1px solid var(--ui-line);font:inherit;cursor:pointer;text-align:left;border-radius:7px;align-items:center;gap:8px;padding:6px 10px;font-size:12px;display:inline-flex}.study-filter-chips>button>span{overflow-wrap:anywhere}.study-filter-chips>button>svg{flex:none}.study-filter-chips>button:focus-visible{outline:3px solid var(--ui-focus);outline-offset:3px}.filter-backdrop{z-index:70;cursor:default;background:#090f1b99;border:0;position:fixed;inset:0}.study-filter-panel--mobile{z-index:71;border:2px solid var(--ui-line);max-height:calc(100dvh - 24px);box-shadow:4px 4px 0 var(--ui-shadow);overscroll-behavior:contain;flex-direction:column;gap:22px;padding:20px;display:flex;position:fixed;inset:auto 8px 8px;overflow-y:auto}.study-filter-panel--mobile>header,.study-filter-panel--mobile>footer{justify-content:space-between;align-items:center;gap:16px;display:flex}.study-filter-panel--mobile h2{color:var(--ui-ink);margin:0;font-size:20px}.study-filter-panel--mobile>footer{border-top:1px solid var(--ui-line);padding-top:16px}.study-filter-panel--mobile .study-filter-fields{grid-template-columns:minmax(0,1fr)}.study-filter-toggle{justify-content:flex-start;width:100%}.study-filter-toggle>span{background:var(--ui-blue-soft);border-radius:5px;place-items:center;min-width:24px;height:24px;margin-left:auto;display:grid}.study-share{min-width:0;position:relative}.study-share .study-text-button{font-size:12px}.study-share>[role=status]:not(:empty){max-width:260px;color:var(--ui-muted);font-size:12px;line-height:1.6;display:block}.course-dialog__actions{flex-direction:column;flex:none;align-items:flex-end;gap:2px;display:flex}.course-watch-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 20px;display:flex}.teacher-initials{width:100%;height:100%;min-height:inherit;color:var(--ui-blue);background:var(--ui-blue-soft);place-items:center;font-size:42px;font-weight:800;display:grid}.course-watch-avatar .teacher-initials{font-size:16px}.course-lesson-missing{color:var(--ui-ink);background:var(--ui-panel);justify-items:center;gap:0;padding:8px 16px 24px;display:grid}.course-lesson-missing .course-detail-empty{border:0;min-height:180px}.home-map .canvas-tip{pointer-events:none;font-size:12px;bottom:72px}.home-map .react-flow__panel .study-button{min-height:40px}:root[data-theme=dark] .canvas-area.is-library-mode{background:var(--ui-paper);background-image:none}.study-route-notice{z-index:5;color:var(--ui-ink);background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:var(--ui-radius);box-shadow:3px 3px 0 var(--ui-shadow);justify-content:space-between;align-items:center;gap:15px;padding:12px 18px;font-size:13px;display:flex;position:absolute;inset:16px 20px auto}@container study-content (width<=800px){.study-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.study-filter-fields>.study-field--search{grid-column:1/-1}}@media (width<=780px){:root .study-field>select,:root .study-search input{font-size:16px}.course-dialog__actions .study-share .study-text-button{max-width:96px;min-height:36px;font-size:12px}}@media (prefers-reduced-motion:reduce){.study-filters *,.study-button{scroll-behavior:auto!important;transition:none!important}}.canvas-area.is-library-mode{background:var(--paper)}.canvas-library-shell{scrollbar-width:thin;overscroll-behavior:contain;position:absolute;inset:0;overflow:hidden auto;container:study-content/inline-size}.library-nav-stats{grid-template-columns:1fr 1fr;gap:10px;display:grid}.library-nav-stats>div{background:var(--white);border:1px solid var(--line);border-radius:10px;gap:7px;padding:13px;display:grid}.library-nav-stats strong{font-size:25px}.library-nav-stats span{font-size:12px}.library-channel-link{color:var(--ink);border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;margin-top:18px;padding:16px 0;font-size:12px;text-decoration:none;display:flex}.library-channel-link strong{margin-top:6px;font-size:12px;display:block}.library-channel-link:hover{text-decoration:underline}.resource-page{--lib-ink:var(--ui-ink);--lib-muted:var(--ui-muted);--lib-panel:var(--ui-panel);--lib-raised:var(--ui-raised);--lib-line:var(--ui-line);--lib-shadow:var(--ui-shadow);--lib-blue:var(--ui-blue);--lib-blue-soft:var(--ui-blue-soft);--lib-lime:#cef66d;--lib-focus:var(--ui-focus);width:100%;min-width:0;max-width:1480px;color:var(--lib-ink);gap:28px;margin:0 auto;padding:36px 34px 52px;display:grid}.resource-page *,.resource-page :before,.resource-page :after{box-sizing:border-box}.resource-page :where(button,input,select,a){font-family:inherit}.resource-page :is(button,a){-webkit-tap-highlight-color:transparent}.resource-page :is(button,a,input,select):focus-visible{outline:3px solid var(--lib-focus);outline-offset:4px}.resource-page button{cursor:pointer}.resource-page button:disabled{cursor:default}.resource-page :is(h1,h2,h3,p){overflow-wrap:anywhere}.resource-hero{grid-template-columns:minmax(0,1fr) 190px;align-items:center;gap:36px;padding:8px 0 10px;display:grid}.resource-eyebrow{color:var(--lib-blue);letter-spacing:.11em;align-items:center;gap:8px;font-size:12px;font-weight:800;display:inline-flex}.resource-hero h1{letter-spacing:-.05em;margin:16px 0 12px;font-size:clamp(29px,3.2vw,42px);line-height:1.15}.resource-hero p{max-width:590px;color:var(--lib-muted);margin:0;font-size:14px;line-height:1.75}.resource-hero__caption{align-items:center;gap:8px;margin-top:20px;font-size:12px;font-weight:700;display:inline-flex}.resource-live-dot{background:var(--lib-lime);border:1px solid var(--lib-line);border-radius:50%;width:8px;height:8px}.resource-hero__stat{color:#171717;background:var(--lib-lime);border:2px solid var(--lib-line);min-height:174px;box-shadow:5px 5px 0 var(--lib-shadow);border-radius:14px;flex-direction:column;justify-content:center;align-items:flex-start;padding:20px;display:flex;position:relative;transform:rotate(2deg)}.resource-hero__stat>span:first-child{letter-spacing:.08em;max-width:112px;font-size:12px;font-weight:800;line-height:1.5}.resource-hero__stat>strong{letter-spacing:-.07em;margin:7px 0 2px;font-size:52px;font-weight:900;line-height:1}.resource-hero__stat>span{font-size:12px;font-weight:700}.resource-hero__stat>svg{position:absolute;top:16px;right:12px}.resource-page--videos .resource-hero__stat{color:#fff;background:#2456f5;transform:rotate(-2deg)}.resource-results-head{flex-wrap:wrap;align-items:center;gap:14px;min-height:32px;margin-bottom:20px;display:flex}.resource-results-head h2{letter-spacing:-.025em;flex:1;align-items:center;gap:9px;min-width:140px;margin:0;font-size:17px;display:flex}.resource-results-head>span{color:var(--lib-muted);white-space:nowrap;font-size:12px}.resource-course-code{width:fit-content;color:var(--lib-ink);background:var(--lib-raised);border:1px solid var(--lib-line);letter-spacing:.04em;border-radius:5px;align-items:center;padding:4px 7px;font-size:12px;font-weight:900;display:inline-flex}.document-resource-grid,.video-resource-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.document-resource-card{min-width:0;color:var(--lib-ink);background:var(--lib-panel);border:2px solid var(--lib-line);box-shadow:4px 4px 0 var(--lib-shadow);border-radius:12px;flex-direction:column;padding:22px;transition:transform .16s,box-shadow .16s;display:flex;position:relative}.document-resource-card:hover{box-shadow:5px 7px 0 var(--lib-shadow);transform:translateY(-3px)}.document-resource-card__top{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:25px;display:flex}.document-resource-icon{color:#171717;border:2px solid var(--lib-line);width:54px;height:62px;box-shadow:3px 3px 0 var(--resource-course-color);background:#eef7d8;border-radius:6px 16px 6px 6px;place-items:center;display:grid}.resource-type-badge{color:var(--lib-muted);background:var(--lib-raised);border-radius:5px;padding:5px 7px;font-size:12px;font-weight:700}.document-resource-card h3{letter-spacing:-.02em;margin:13px 0 7px;font-size:17px;line-height:1.4}.document-resource-card__course{min-height:42px;color:var(--lib-muted);flex:1;margin:0 0 18px;font-size:12px;line-height:1.65}.resource-card-meta{color:var(--lib-muted);flex-wrap:wrap;gap:8px 14px;font-size:12px;display:flex}.resource-card-meta>span{align-items:center;gap:5px;display:inline-flex}.document-resource-card__actions{border-top:1px dashed var(--lib-line);gap:10px;margin-top:19px;padding-top:17px;display:flex}.document-resource-card__actions>a{flex:1}.resource-icon-action{min-height:44px;color:var(--lib-ink);background:var(--lib-panel);border:1px solid var(--lib-line);border-radius:8px;flex:0 0 44px;place-items:center;display:grid}.resource-icon-action:hover{background:var(--lib-raised)}.resource-invalid-link{flex:1;align-self:center;font-size:12px}.video-resource-card{min-width:0;color:var(--lib-ink);background:var(--lib-panel);border:2px solid var(--lib-line);box-shadow:4px 4px 0 var(--lib-shadow);text-align:left;border-radius:12px;flex-direction:column;padding:0;transition:transform .16s,box-shadow .16s;display:flex;overflow:hidden}.video-resource-card:not(:disabled):hover{box-shadow:5px 7px 0 var(--lib-shadow);transform:translateY(-3px)}.video-resource-card:disabled{box-shadow:none}.resource-thumbnail{aspect-ratio:16/9;color:#171717;background:color-mix(in srgb, var(--resource-course-color) 25%, #f2eddf);border-bottom:2px solid var(--lib-line);flex:none;width:100%;display:block;position:relative;overflow:hidden}.resource-thumbnail__fallback{background-image:repeating-linear-gradient(-45deg,#0000 0 13px,#1717170b 13px 14px);flex-direction:column;justify-content:center;align-items:center;gap:5px;display:flex;position:absolute;inset:0}.resource-thumbnail__fallback>strong{letter-spacing:-.04em;font-size:26px}.resource-thumbnail__fallback>span{letter-spacing:.08em;font-size:8px}.resource-thumbnail>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.resource-thumbnail__play{color:#fff;background:#171717d9;border:2px solid #fff;border-radius:50%;place-items:center;width:48px;height:48px;padding-left:3px;transition:background .16s;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.video-resource-card:hover .resource-thumbnail__play{background:#2456f5}.resource-thumbnail__count{color:#fff;background:#171717e8;border-radius:5px;align-items:center;gap:5px;padding:5px 7px;font-size:12px;font-weight:800;display:flex;position:absolute;bottom:9px;right:9px}.video-resource-card__body{flex-direction:column;flex:1;width:100%;min-width:0;padding:17px;display:flex}.video-resource-card__meta{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.video-resource-card__meta>span:last-child{color:var(--lib-muted);font-size:12px}.video-resource-card__title{-webkit-line-clamp:2;letter-spacing:-.025em;-webkit-box-orient:vertical;min-height:47px;font-size:16px;line-height:1.45;display:-webkit-box;overflow:hidden}.video-resource-card__teacher{color:var(--lib-muted);align-items:center;gap:6px;margin:13px 0 18px;font-size:12px;line-height:1.5;display:flex}.video-resource-card__teacher>svg{flex:none}.video-resource-card__footer{color:var(--lib-blue);border-top:1px solid var(--lib-line);justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:14px;font-size:12px;font-weight:800;display:flex}.video-resource-card__footer small{color:var(--lib-muted);margin-top:4px;font-size:12px;font-weight:500;display:block}.resource-empty-state{color:var(--lib-ink);background:var(--lib-panel);border:2px dashed var(--lib-line);text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:60px 24px;display:flex}.resource-empty-state>span{background:var(--lib-raised);border-radius:50%;place-items:center;width:70px;height:70px;display:grid}.resource-empty-state h2{margin:8px 0 0;font-size:21px}.resource-empty-state p{max-width:400px;color:var(--lib-muted);margin:0;font-size:13px;line-height:1.7}.course-watch-breadcrumb{color:var(--lib-muted);align-items:center;gap:12px;font-size:12px;display:flex}.course-watch-heading{margin:-8px 0 0}.course-watch-heading h1{letter-spacing:-.04em;outline:none;margin:12px 0 14px;font-size:clamp(25px,2.8vw,36px);line-height:1.25}.course-watch-heading p{color:var(--lib-muted);flex-wrap:wrap;align-items:center;gap:12px;margin:0;font-size:12px;display:flex}.course-watch-info{background:var(--lib-panel);border:1px solid var(--lib-line);border-radius:10px;gap:18px;padding:20px;display:grid}.course-watch-info__teacher{align-items:center;gap:12px;display:flex}.course-watch-avatar{background:var(--lib-raised);border:1px solid var(--lib-line);border-radius:9px;flex:0 0 44px;place-items:center;height:44px;display:grid;overflow:hidden}.course-watch-avatar img{object-fit:cover;width:100%;height:100%}.course-watch-info__teacher small{color:var(--lib-muted);margin-bottom:5px;font-size:12px;display:block}.course-watch-info__teacher strong{font-size:13px}.course-watch-info__links{flex-wrap:wrap;align-items:center;gap:12px 20px;display:flex}.course-watch-info__links .study-button>span{background:var(--lib-raised);border-radius:4px;place-items:center;min-width:20px;min-height:20px;font-size:12px;display:grid}.course-watch-notes{border-top:1px solid var(--lib-line);padding-top:16px}.course-watch-notes h2{margin:0 0 10px;font-size:15px}.course-watch-notes p{color:var(--lib-muted);white-space:pre-wrap;margin:0;font-size:13px;line-height:1.7}@container study-content (width<=1000px){.resource-page{padding:28px 24px 44px}.document-resource-grid,.video-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-watch-info{order:2}}@container study-content (width<=800px){.resource-page{padding:26px 20px 40px}.resource-hero{grid-template-columns:minmax(0,1fr) 148px;gap:22px}.resource-hero__stat{min-height:154px;padding:16px}.resource-hero__stat>strong{font-size:46px}.resource-hero__stat>svg{width:26px}}@container study-content (width<=560px){.resource-page{gap:24px;padding:24px 16px 36px}.resource-hero{grid-template-columns:minmax(0,1fr);gap:18px}.resource-hero h1{margin-top:14px;font-size:32px}.resource-hero p{font-size:13px}.resource-hero__caption{margin-top:16px}.resource-hero__stat{min-height:0;box-shadow:3px 3px 0 var(--lib-shadow);grid-template-columns:auto 1fr;justify-content:start;align-items:center;gap:3px 15px;padding:16px 18px;display:grid;transform:none!important}.resource-hero__stat>strong{grid-area:1/1/3;margin:0;font-size:42px}.resource-hero__stat>span:first-child{grid-area:1/2;max-width:none;padding-right:20px;font-size:8px}.resource-hero__stat>span:last-of-type{grid-area:2/2;font-size:12px}.resource-hero__stat>svg{width:22px;top:12px;right:10px}.resource-results-head{gap:10px;margin-bottom:18px}.resource-results-head h2{font-size:16px}.resource-results-head>span{font-size:12px}.document-resource-grid,.video-resource-grid{grid-template-columns:minmax(0,1fr);gap:20px}.document-resource-card{padding:22px}.resource-card-meta{font-size:12px}.video-resource-card__body{padding:18px}.video-resource-card__title{min-height:0;font-size:18px}.video-resource-card__meta>span:last-child,.video-resource-card__teacher{font-size:12px}.video-resource-card__footer{font-size:13px}.resource-empty-state{padding:38px 18px}.course-watch-heading h1{font-size:27px}.course-watch-heading p{gap:9px;font-size:12px}.course-watch-info{padding:18px}}@media (prefers-reduced-motion:reduce){.resource-page *,.resource-page :before,.resource-page :after{scroll-behavior:auto!important;transition:none!important}}.home-shell{overscroll-behavior:contain;scrollbar-width:thin;background:var(--paper);position:absolute;inset:0;overflow:hidden auto;container:study-content/inline-size}.home-page{--home-ink:var(--ui-ink);--home-muted:var(--ui-muted);--home-panel:var(--ui-panel);--home-raised:var(--ui-raised);--home-line:var(--ui-line);--home-shadow:var(--ui-shadow);--home-blue:var(--ui-blue);--home-soft-blue:var(--ui-blue-soft);--home-focus:var(--ui-focus);width:100%;min-width:0;max-width:1480px;color:var(--home-ink);gap:32px;margin:0 auto;padding:36px 34px 24px;display:grid}.home-page :is(h1,h2,h3,p,strong){overflow-wrap:anywhere}.home-page :where(button,input,select){font-family:inherit}.home-page button{cursor:pointer}.home-page :is(button,input,select):focus-visible{outline:3px solid var(--home-focus);outline-offset:4px}.home-eyebrow{color:var(--home-blue);letter-spacing:.12em;align-items:center;gap:8px;font-size:12px;font-weight:800;display:inline-flex}.home-hero{justify-content:space-between;align-items:center;gap:28px;padding:5px 0 0;display:flex}.home-hero>div:first-child{min-width:0}.home-hero h1{letter-spacing:-.05em;margin:14px 0 10px;font-size:clamp(30px,3vw,42px);line-height:1.15}.home-hero p{max-width:480px;color:var(--home-muted);margin:0;font-size:14px;line-height:1.75}.home-hero__actions{flex:none;gap:8px;display:grid}.home-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.home-metric{min-width:0;color:var(--home-ink);background:var(--home-panel);border:2px solid var(--home-line);box-shadow:4px 4px 0 var(--home-shadow);border-radius:12px;flex-direction:column;align-items:stretch;padding:20px;display:flex}.home-metric>div:first-child{justify-content:space-between;align-items:center;gap:10px;font-size:12px;font-weight:800;display:flex}.home-metric>strong{letter-spacing:-.055em;align-items:baseline;gap:9px;margin-top:14px;font-size:46px;line-height:1.1;display:flex}.home-metric>strong>small{letter-spacing:0;font-size:13px;font-weight:600}.home-metric>p{color:var(--home-muted);margin:14px 0 0;font-size:12px;line-height:1.5}.home-metric--credits{color:#171717;background:#cef66d}.home-metric--credits>p{color:#3b482c}.home-metric__link{color:#29351d;text-align:left;background:0 0;border:0;align-self:flex-start;gap:4px;min-height:44px;margin-top:7px;padding:0;font-size:12px;display:grid}.home-metric__link>span:last-child{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.home-metric__link:hover{text-decoration:underline}.home-metric--progress{color:#fff;background:#2456f5}.home-metric--progress>strong{margin-top:10px}.home-metric--progress>p{color:#eef2ff;margin-top:9px;font-size:12px}.home-progress{background:#ffffff4d;border-radius:10px;height:7px;margin-top:12px;overflow:hidden}.home-progress>span{border-radius:inherit;background:#cef66d;height:100%;display:block}.home-current{background:var(--home-soft-blue);border:1px solid var(--home-line);border-radius:12px;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:22px;padding:22px;display:grid}.home-current h2{margin:10px 0 8px;font-size:23px}.home-current p{color:var(--home-muted);margin:0;font-size:12px;line-height:1.7}.home-current>div:last-child{gap:10px;display:grid}.home-current button{min-width:0;color:var(--home-ink);background:var(--home-panel);border:1px solid var(--home-line);text-align:left;border-radius:8px;align-items:center;gap:12px;padding:14px;display:flex}.home-current button>span{font-size:12px;font-weight:800}.home-current button>strong{flex:1;font-size:13px}.home-current button>svg{flex:none}.home-catalog{min-width:0;scroll-margin-top:22px}.home-section-heading{justify-content:space-between;align-items:end;gap:18px;margin-bottom:20px;display:flex}.home-section-heading h2{letter-spacing:-.035em;margin:8px 0 0;font-size:25px;line-height:1.3}.home-view-switch{background:var(--home-panel);border:1px solid var(--home-line);border-radius:9px;flex:none;gap:4px;padding:4px;display:flex}.home-view-switch>button{min-height:38px;color:var(--home-muted);background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:8px 10px;font-size:12px;font-weight:700;display:inline-flex}.home-view-switch>button[aria-pressed=true]{color:var(--home-ink);background:var(--home-raised);border-color:var(--home-line)}.home-results{min-height:56px;color:var(--home-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 14px;padding:8px 0;font-size:12px;display:flex}.home-semesters{gap:30px;display:grid}.home-semester{min-width:0}.home-semester__head{align-items:center;gap:12px;margin-bottom:16px;display:flex}.home-semester__number{color:#171717;background:var(--home-semester-color,#cef66d);border:1px solid var(--home-line);border-radius:8px;flex:0 0 40px;place-items:center;height:40px;font-size:13px;font-weight:800;display:grid}.home-semester__head h3{letter-spacing:-.02em;margin:0;font-size:17px;line-height:1.5}.home-semester__head h3>span{font-weight:500}.home-semester__head p{color:var(--home-muted);margin:3px 0 0;font-size:12px}.home-course-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:18px;display:grid}.home-course{min-width:0;color:var(--home-ink);background:var(--home-panel);border:2px solid var(--home-line);box-shadow:3px 3px 0 var(--home-shadow);text-align:left;border-radius:11px;flex-direction:column;padding:18px;transition:transform .16s,box-shadow .16s;display:flex}.home-course:hover{box-shadow:4px 6px 0 var(--home-shadow);transform:translateY(-3px)}.home-course__top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.home-course__code{background:var(--home-raised);border:1px solid var(--home-line);border-radius:5px;padding:4px 7px;font-size:12px;font-weight:800}.home-course__status{align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.home-status-dot{border:1px solid var(--home-line,var(--line));background:#b8b3a8;border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.home-status-dot--completed{background:#a9dd64}.home-status-dot--in-progress{background:#ff9d68}.home-course__title{letter-spacing:-.025em;min-height:46px;margin-bottom:14px;font-size:17px;line-height:1.4;display:block}.home-course__teacher{color:var(--home-muted);align-items:center;gap:6px;margin:auto 0 16px;font-size:12px;line-height:1.5;display:flex}.home-course__teacher>svg{flex:none}.home-course__resources{color:var(--home-muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;display:flex}.home-course__resources>span{align-items:center;gap:4px;display:inline-flex}.home-course__footer{color:var(--home-blue);border-top:1px solid var(--home-line);justify-content:space-between;align-items:center;gap:8px;margin-top:17px;padding-top:12px;font-size:12px;font-weight:800;display:flex}.home-map{background:var(--home-panel);border:2px solid var(--home-line);border-radius:12px;min-width:0;height:clamp(520px,75dvh,780px);position:relative;overflow:hidden}.home-map__legend{z-index:4;max-width:calc(100% - 24px);color:var(--home-ink);background:var(--home-panel);border:1px solid var(--home-line);border-radius:7px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 12px;font-size:12px;display:flex;position:absolute;top:12px;left:12px}.home-map__legend>span{align-items:center;gap:6px;display:inline-flex}.home-map__loading{place-items:center;height:100%;font-size:13px;display:grid}.home-map>.home-empty{z-index:5;position:absolute;inset:65px 14px 55px}.home-empty{background:var(--home-panel);border:2px dashed var(--home-line);text-align:center;border-radius:10px;align-content:center;justify-items:center;gap:13px;min-height:270px;padding:32px 20px;display:grid}.home-empty>span{background:var(--home-raised);border-radius:50%;place-items:center;width:58px;height:58px;display:grid}.home-empty h3{margin:4px 0 0;font-size:21px}.home-empty p{max-width:340px;color:var(--home-muted);margin:0;font-size:13px;line-height:1.7}.home-tuition{background:var(--home-panel);border:2px solid var(--home-line);border-radius:12px;grid-template-columns:minmax(240px,1fr) minmax(0,1.35fr);display:grid;overflow:hidden}.home-tuition__summary{color:var(--home-ink);background:var(--home-raised);border-right:1px solid var(--home-line);padding:26px}.home-tuition__summary h2{letter-spacing:-.03em;margin:14px 0;scroll-margin-top:28px;font-size:24px}.home-tuition__summary h2:focus{outline:none}.home-tuition__summary>strong{letter-spacing:-.04em;font-size:clamp(25px,2.4vw,34px);line-height:1.3;display:block}.home-tuition__summary p{color:var(--home-muted);margin:16px 0;font-size:12px;line-height:1.75}.home-tuition__caption{font-size:12px;font-weight:700}.home-tuition__list{align-content:center;gap:0;min-width:0;margin:0;padding:8px 22px;display:grid}.home-tuition__list>div{border-bottom:1px solid var(--home-line);justify-content:space-between;align-items:center;gap:14px;padding:15px 0;display:flex}.home-tuition__list>div:last-child{border:0}.home-tuition__list dt{align-items:center;gap:9px;min-width:0;font-size:12px;display:flex}.home-tuition__list dt strong{font-size:12px;line-height:1.5;display:block}.home-tuition__list dt small{color:var(--home-muted);margin-top:4px;font-size:12px;line-height:1.5;display:block}.home-tuition__dot{border:1px solid var(--home-line);border-radius:3px;flex:0 0 8px;width:8px;height:28px}.home-tuition__list dd{flex:none;margin:0;font-size:12px;font-weight:800}.home-footer{border-top:1px solid var(--home-line);color:var(--home-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:5px;font-size:12px;display:flex}.sidebar-intro{padding:12px 4px 6px}.sidebar-intro>span{color:var(--ink-soft);letter-spacing:.1em;align-items:center;gap:7px;font-size:12px;font-weight:800;display:inline-flex}.sidebar-intro h2{letter-spacing:-.04em;margin:13px 0 10px;font-size:30px;line-height:1.2}.sidebar-intro p{max-width:290px;color:var(--ink-soft);margin:0;font-size:13px;line-height:1.7}.sidebar-overview{gap:24px;display:grid}.sidebar-overview__heading{margin:0 0 13px;font-size:13px}.sidebar-status-list{gap:8px;display:grid}.sidebar-status-list button{width:100%;min-height:48px;color:var(--ink);background:var(--white);border:1px solid var(--line);text-align:left;cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:11px 13px;font-size:12px;display:flex}.sidebar-status-list button strong{margin-left:auto;font-size:16px}.sidebar-status-list button:hover{background:var(--green-light)}.sidebar-overview__tip{color:var(--ink-soft);border:1px dashed var(--line);border-radius:9px;align-items:start;gap:10px;margin:0;padding:16px;font-size:12px;line-height:1.7;display:flex}.sidebar-overview__tip svg{flex:none;margin-top:2px}@container (width<=800px){.home-page{gap:28px;padding:28px 24px 22px}.home-hero{flex-direction:column;align-items:start;gap:18px}.home-hero__actions{flex-wrap:wrap;align-items:center;gap:12px 18px;display:flex}.home-section-heading{flex-wrap:wrap;align-items:start}.home-tuition{grid-template-columns:minmax(0,1fr)}.home-tuition__summary{border-right:0;border-bottom:1px solid var(--home-line)}.home-current{grid-template-columns:minmax(0,1fr)}}@container (width<=560px){.home-page{gap:26px;padding:24px 16px 18px}.home-hero h1{font-size:32px}.home-hero p{font-size:13px}.home-hero__actions{grid-template-columns:minmax(0,1fr);justify-items:stretch;gap:6px;width:100%;display:grid}.home-hero__actions>button{white-space:nowrap;width:100%}.home-hero__actions>.study-button{flex:1}.home-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.home-metric{padding:16px}.home-metric>div:first-child{gap:5px;font-size:12px}.home-metric>div:first-child>svg{width:17px}.home-metric>strong{font-size:37px}.home-metric>strong>small,.home-metric>p{font-size:12px}.home-metric--progress{grid-column:1/-1;grid-template-columns:1fr auto;align-items:center;gap:6px 14px;display:grid}.home-metric--progress>div:first-child>svg{display:none}.home-metric--progress>strong{grid-area:1/2/4;margin:0}.home-metric--progress>p,.home-metric--progress>.home-progress{margin:0}.home-section-heading h2{font-size:23px}.home-view-switch{width:100%}.home-view-switch>button{flex:1;min-height:40px;font-size:12px}.home-semester__head h3{font-size:15px}.home-course{padding:20px}.home-course__title{min-height:0;font-size:18px}.home-course__resources{font-size:12px}.home-tuition__summary{padding:22px}.home-tuition__list{padding:4px 18px}.home-tuition__list>div{flex-wrap:wrap;gap:9px}.home-tuition__list dd{margin-left:17px}}@media (prefers-reduced-motion:reduce){.home-page *{scroll-behavior:auto!important;transition:none!important}}.sidebar-tabs{grid-template-columns:minmax(0,1fr)}.sidebar-tabs>button{justify-content:flex-start;gap:12px;min-height:48px;padding:12px 15px}.sidebar-tabs>button>span{margin-left:auto}.sidebar-status-list>button[aria-pressed=true]{background:var(--ui-blue-soft);outline:1px solid var(--ui-line)}.home-semester-navigation{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 18px;display:flex}.home-semester-navigation>nav{flex-wrap:wrap;gap:8px;display:flex}.home-semester-navigation>nav>button{min-height:40px;color:var(--ui-ink);background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:7px;padding:8px 11px;font-size:12px}.home-semester-navigation>nav>button:hover{background:var(--ui-blue-soft)}.home-semester__head>h3{width:100%;margin:0}.home-semester__toggle{width:100%;color:var(--ui-ink);text-align:left;background:0 0;border:0;align-items:center;gap:14px;padding:6px 0;display:flex}.home-semester__toggle>span:nth-child(2){flex:1;gap:6px;min-width:0;display:grid}.home-semester__toggle strong{font-size:17px;line-height:1.5}.home-semester__toggle strong>span{color:var(--ui-muted);font-weight:500}.home-semester__toggle small{color:var(--ui-muted);font-size:12px;font-weight:500}.home-semester__toggle>svg{flex:none;transition:transform .16s}.home-semester__toggle[aria-expanded=false]>svg{transform:rotate(-90deg)}.home-semester__toggle{scroll-margin-top:20px}@container study-content (width<=560px){.home-semester__toggle{gap:10px}.home-semester__toggle strong{font-size:15px}.home-semester-navigation>nav{width:100%}.home-semester-navigation>nav>button{flex:auto}}.catalog-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;display:flex;position:absolute;inset:0}.catalog-state h2{margin:0;font-size:22px}.catalog-state p{max-width:460px;margin:0;line-height:1.6}.library-loading,.dialog-loading .loading-message{text-align:center;padding:32px}.dialog-loading{place-items:center;display:grid}.feedback-notices{z-index:50;pointer-events:none;gap:10px;width:min(380px,100vw - 32px);max-height:calc(100dvh - 110px);display:grid;position:fixed;bottom:16px;right:16px;overflow-y:auto}.feedback-notices>*{pointer-events:auto}.feedback-notices--dialog{z-index:5;max-height:45%;position:absolute;bottom:76px}.app-notice{color:#171717;background:#fffdf7;border:2px solid #171717;border-radius:10px;gap:8px;padding:14px;font-size:13px;line-height:1.5;display:grid;box-shadow:3px 3px #171717}.app-notice--warning{background:#fff0b8}.app-notice--loading{align-items:center;display:flex}.app-notice>strong{align-items:center;gap:8px;display:flex}.app-notice p{margin:0}.app-notice button{color:#171717;min-height:40px;font:inherit;cursor:pointer;background:#fffdf7;border:2px solid #171717;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:700}.app-notice button:hover{background:#d9f6a2}.app-notice button:disabled{opacity:.65;cursor:wait}.app-notice button:focus-visible{outline-offset:3px;outline:3px solid #2456f5}.react-flow__node-course:focus-visible{outline-offset:5px;border-radius:14px;outline:3px solid #2456f5}:root[data-theme=dark] .app-notice{color:#f4f7fb;background:#1e2b38;border-color:#86a4bf;box-shadow:3px 3px #080e14}:root[data-theme=dark] .app-notice--warning{color:#ffe39a;background:#44391f;border-color:#b99a51}:root[data-theme=dark] :is(.app-notice button){color:#f4f7fb;background:#1e2b38;border-color:#86a4bf}:root[data-theme=dark] :is(.app-notice button):hover{color:#fff;background:#315fd8}.course-dialog{--cd-ink:var(--ui-ink);--cd-muted:var(--ui-muted);--cd-paper:var(--ui-paper);--cd-panel:var(--ui-panel);--cd-raised:var(--ui-raised);--cd-line:var(--ui-line);--cd-shadow:var(--ui-shadow);--cd-blue:var(--ui-blue);--cd-blue-soft:var(--ui-blue-soft);--cd-focus:var(--ui-focus);z-index:61;width:min(1320px,100vw - 40px);min-width:0;height:min(900px,100dvh - 40px);color:var(--cd-ink);background:var(--cd-paper);border:2px solid var(--cd-line);box-shadow:8px 8px 0 var(--cd-shadow);border-radius:16px;flex-direction:column;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.course-dialog :where(button,input,a){font-family:inherit}.course-dialog :is(h2,h3,h4,p,strong,dd){overflow-wrap:anywhere}.course-dialog button{cursor:pointer}.course-dialog button:disabled{cursor:default}.course-dialog :is(button,input,a,[tabindex="0"]):focus-visible{outline:3px solid var(--cd-focus);outline-offset:3px}.course-dialog__header{background:var(--cd-panel);border-bottom:1px solid var(--cd-line);flex:none;justify-content:space-between;align-items:start;gap:24px;padding:24px 28px 22px;display:flex}.course-dialog__heading{min-width:0}.course-dialog__eyebrow{color:var(--cd-muted);flex-wrap:wrap;align-items:center;gap:11px;font-size:12px;display:flex}.course-dialog__code{color:var(--cd-ink);background:var(--cd-raised);border:1px solid var(--cd-line);box-shadow:2px 2px 0 var(--course-accent,#2456f5);letter-spacing:.04em;border-radius:5px;padding:5px 8px;font-size:12px;font-weight:800}.course-dialog__header h2{letter-spacing:-.04em;margin:12px 0 13px;font-size:clamp(25px,2.5vw,35px);line-height:1.2}.course-dialog__status{color:var(--cd-muted);align-items:center;gap:7px;font-size:12px;font-weight:700;display:inline-flex}.course-dialog__status>i{border:1px solid var(--cd-line);background:#b9b4a8;border-radius:50%;width:8px;height:8px}.course-dialog__status--completed>i{background:#a9dd64}.course-dialog__status--in-progress>i{background:#ff9d68}.course-dialog__close{min-width:44px;min-height:44px;color:var(--cd-ink);background:var(--cd-panel);border:1px solid var(--cd-line);border-radius:8px;flex:none;justify-content:center;align-items:center;gap:7px;padding:10px 12px;font-size:12px;font-weight:700;display:inline-flex}.course-dialog__close:hover{background:var(--cd-raised)}.course-dialog__tabs{background:var(--cd-panel);border-bottom:1px solid var(--cd-line);flex:none;align-items:center;gap:8px;padding:12px 28px;display:flex}.course-dialog__tabs>button{min-height:44px;color:var(--cd-muted);background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:12px;font-weight:800;display:inline-flex}.course-dialog__tabs>button:hover{background:var(--cd-raised)}.course-dialog__tabs>button[aria-selected=true]{color:var(--cd-ink);background:var(--cd-blue-soft);border-color:var(--cd-line)}.course-dialog__tabs small,.course-detail-count{min-width:23px;min-height:23px;color:var(--cd-ink);background:var(--cd-raised);border:1px solid var(--cd-line);border-radius:5px;flex:none;place-items:center;padding:2px 5px;font-size:12px;font-weight:800;display:inline-grid}.course-dialog__body{overscroll-behavior:contain;scrollbar-width:thin;flex:1;min-height:0;padding:24px 28px 28px;overflow:auto;container:study-content/inline-size}.course-dialog__feedback{width:auto;max-height:none;margin:0 0 20px;position:static}.course-tab-panel{min-width:0}.course-detail-eyebrow{color:var(--ui-blue);letter-spacing:.09em;align-items:center;gap:7px;font-size:12px;font-weight:800;display:inline-flex}.course-detail-section{min-width:0}.course-detail-section>h3,.course-notes h3{letter-spacing:-.035em;align-items:center;gap:10px;margin:10px 0 20px;font-size:23px;line-height:1.4;display:flex}.course-overview{grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:24px;display:grid}.course-overview__main{gap:18px;min-width:0;display:grid}.course-overview__teacher{color:var(--cd-muted);align-items:center;gap:8px;margin:-6px 0 16px;font-size:13px;line-height:1.6;display:flex}.course-overview__teacher>svg{flex:none}.course-facts{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:18px;margin:0;display:grid}.course-facts>div{background:var(--cd-panel);border:1px solid var(--cd-line);border-radius:11px;min-width:0;padding:22px}.course-facts dt{color:var(--cd-muted);align-items:center;gap:8px;margin-bottom:18px;font-size:12px;display:flex}.course-facts dd{letter-spacing:-.04em;margin:0;font-size:29px;font-weight:800;line-height:1.25}.course-facts dd small{letter-spacing:0;margin-left:8px;font-size:13px;font-weight:500}.course-facts dd .course-facts__unit{color:var(--cd-muted);letter-spacing:0;margin:10px 0 0;font-size:12px;font-weight:400;line-height:1.5;display:block}.course-progress-card{color:#fff;border:1px solid var(--cd-line);box-shadow:3px 3px 0 var(--cd-shadow);background:#2456f5;border-radius:11px;padding:16px}.course-progress-card>div:first-child{justify-content:space-between;align-items:center;gap:15px;display:flex}.course-progress-card>div:first-child>span{letter-spacing:.04em;align-items:center;gap:8px;font-size:12px;font-weight:700;display:inline-flex}.course-progress-card strong{letter-spacing:-.05em;font-size:32px;line-height:1}.course-progress-card strong small{margin-left:4px;font-size:20px}.course-progress-bar{background:#ffffff4d;border-radius:10px;height:7px;margin-top:12px;overflow:hidden}.course-progress-bar>span{border-radius:inherit;background:#cef66d;height:100%;display:block}.course-progress-card p{color:#eef2ff;margin:9px 0 0;font-size:12px}.course-quick-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.course-quick-links>button{min-width:0;min-height:104px;color:var(--cd-ink);background:var(--cd-panel);border:1px solid var(--cd-line);text-align:left;border-radius:11px;align-items:center;gap:12px;padding:18px;display:flex}.course-quick-links>button:hover{background:var(--cd-blue-soft)}.course-quick-links__icon{height:46px;color:var(--cd-blue);background:var(--cd-blue-soft);border-radius:8px;flex:0 0 42px;place-items:center;display:grid}.course-quick-links>button>span:nth-child(2){flex:1;gap:7px;min-width:0;display:grid}.course-quick-links strong{font-size:13px;line-height:1.4}.course-quick-links small{color:var(--cd-muted);font-size:12px;line-height:1.5}.course-quick-links>button>svg{flex:none}.course-teacher-card{background:var(--cd-panel);border:1px solid var(--cd-line);border-radius:12px;gap:18px;min-width:0;padding:22px;display:grid}.course-teacher-card__portrait{width:100%;height:220px;color:var(--cd-muted);background:var(--cd-raised);border:1px solid var(--cd-line);border-radius:9px;grid-template-rows:minmax(0,1fr);place-items:center;display:grid;overflow:hidden}.course-teacher-card__portrait img{object-fit:cover;object-position:center 25%;width:100%;min-width:0;height:100%;min-height:0;display:block}.course-teacher-card h3{letter-spacing:-.03em;margin:0;font-size:22px;line-height:1.3}.course-teacher-card dl{gap:13px;margin:0;display:grid}.course-teacher-card dl>div{border-bottom:1px solid var(--cd-line);gap:5px;padding-bottom:12px;display:grid}.course-teacher-card dt{color:var(--cd-muted);font-size:12px}.course-teacher-card dd{margin:0;font-size:12px;line-height:1.6}.course-email{color:#fff;border:1px solid var(--cd-line);background:#2456f5;border-radius:8px;align-items:center;gap:10px;min-width:0;min-height:54px;padding:11px;text-decoration:none;display:flex}.course-email>svg{flex:none}.course-email>span{flex:1;gap:4px;min-width:0;display:grid}.course-email small{color:#eef2ff;font-size:12px}.course-email strong{overflow-wrap:anywhere;font-size:12px;line-height:1.5}.course-email:hover{background:#173fce}.course-lessons{grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:24px;display:grid}.course-player{background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:12px;min-width:0;scroll-margin-top:0;overflow:hidden}.course-player__screen{aspect-ratio:16/9;background:#090909;width:100%}.course-player__screen.is-unavailable{aspect-ratio:auto;min-height:240px}.course-player__screen iframe{border:0;width:100%;height:100%;display:block}.course-player__screen>.course-detail-empty{border:0;border-radius:0;min-height:240px;padding:20px}.course-player__title{justify-content:space-between;align-items:center;gap:15px;padding:20px 20px 12px;display:flex}.course-player__title h3{letter-spacing:-.03em;margin:8px 0 0;font-size:24px;line-height:1.3}.course-player__title>span{background:var(--ui-raised);border:1px solid var(--ui-line);border-radius:6px;flex:none;padding:7px 9px;font-size:12px;font-weight:800}.course-player__controls{justify-content:space-between;align-items:center;gap:12px;padding:8px 20px 20px;display:flex}.course-player__source{color:var(--ui-muted);background:var(--ui-raised);border-top:1px solid var(--ui-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:13px 20px;font-size:12px;display:flex}.course-player__source a{min-height:30px;color:var(--ui-blue);align-items:center;gap:5px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.course-player__source a:hover{text-decoration:underline}.course-playlist{background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:12px;min-width:0;position:sticky;top:0;overflow:hidden}.course-playlist>header{border-bottom:1px solid var(--ui-line);padding:18px 16px}.course-playlist h3{justify-content:space-between;align-items:center;gap:12px;margin:14px 0 18px;font-size:17px;display:flex}.course-playlist h3>span{background:var(--ui-raised);border:1px solid var(--ui-line);border-radius:5px;place-items:center;min-width:24px;min-height:24px;font-size:12px;display:grid}.course-playlist__list{overscroll-behavior:contain;scrollbar-width:thin;gap:7px;min-height:100px;max-height:min(480px,100dvh - 460px);padding:10px;display:grid;overflow:auto}.course-playlist__list>button{min-width:0;min-height:68px;color:var(--ui-ink);text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;padding:11px 9px;display:flex}.course-playlist__list>button:hover{background:var(--ui-raised)}.course-playlist__list>button.is-active{background:var(--ui-blue-soft);border-color:var(--ui-line)}.course-playlist__number{color:var(--ui-muted);flex:0 0 28px;place-items:center;font-size:12px;font-weight:800;display:grid}.course-playlist__list>button.is-active .course-playlist__number{color:var(--ui-blue)}.course-playlist__list>button>span:nth-child(2){flex:1;gap:6px;min-width:0;display:grid}.course-playlist__list strong{overflow-wrap:anywhere;font-size:13px;line-height:1.5}.course-playlist__list small{color:var(--ui-muted);font-size:12px}.course-playlist__list>button>svg{color:var(--ui-muted);flex:none}.course-playlist>footer{color:var(--ui-muted);background:var(--ui-raised);border-top:1px solid var(--ui-line);padding:13px 16px;font-size:12px;line-height:1.6}.course-playlist__empty{text-align:center;padding:18px 10px;font-size:12px}.course-resources{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.course-document-list{gap:14px;display:grid}.course-document{background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:11px;align-items:start;gap:17px;min-width:0;padding:20px;display:flex}.course-document__icon{color:#171717;border:1px solid var(--ui-line);background:#eef7d8;border-radius:5px 13px 5px 5px;flex:0 0 47px;place-items:center;height:55px;display:grid}.course-document>div{min-width:0}.course-document>div>span{color:var(--ui-muted);font-size:12px}.course-document h4{margin:8px 0 12px;font-size:17px;line-height:1.5}.course-document a{min-height:40px;color:var(--ui-blue);align-items:center;gap:7px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.course-document a:hover{text-decoration:underline}.course-document p{color:var(--ui-muted);margin:0;font-size:12px}.course-notes{background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:11px;min-width:0;padding:22px}.course-notes h3{margin-bottom:17px}.course-notes p{color:var(--ui-ink);white-space:pre-wrap;margin:0;font-size:13px;line-height:1.85}.course-notes p.course-notes__empty{color:var(--ui-muted)}.course-detail-empty{min-height:240px;color:var(--ui-ink);background:var(--ui-panel);border:1px dashed var(--ui-line);text-align:center;border-radius:11px;align-content:center;justify-items:center;gap:13px;padding:30px 22px;display:grid}.course-detail-empty>span{width:60px;height:60px;color:var(--ui-muted);background:var(--ui-raised);border-radius:50%;place-items:center;display:grid}.course-detail-empty h4{margin:2px 0 0;font-size:19px;line-height:1.4}.course-detail-empty p{max-width:360px;color:var(--ui-muted);margin:0;font-size:12px;line-height:1.8}.course-teacher-card>.course-detail-empty{border:0;min-height:220px;padding:20px 8px}.course-dialog--loading{justify-content:center;align-items:center}.course-dialog--loading .course-dialog__close{position:absolute;top:20px;right:20px}.course-dialog--loading p{color:var(--cd-muted);font-size:14px}@container study-content (width<=880px){.course-lessons{grid-template-columns:minmax(0,1fr);gap:22px}.course-playlist{position:static}.course-playlist__list{max-height:400px}}@media (width<=1100px){.course-dialog{width:calc(100vw - 28px);height:calc(100dvh - 28px)}.course-overview{grid-template-columns:minmax(0,1fr) 280px}.course-quick-links{grid-template-columns:minmax(0,1fr);gap:12px}.course-quick-links>button{min-height:85px}}@media (width<=780px){.course-dialog{width:calc(100vw - 16px);height:calc(100dvh - 16px);box-shadow:4px 4px 0 var(--cd-shadow);border-radius:12px}.course-dialog__header{gap:12px;padding:17px 16px 15px}.course-dialog__header h2{margin:9px 0 10px;font-size:24px}.course-dialog__eyebrow{gap:8px;font-size:12px}.course-dialog__close{padding:9px}.course-dialog__close>span{display:none}.course-dialog__tabs{gap:5px;padding:10px}.course-dialog__tabs>button{flex:1;gap:5px;min-width:0;padding:8px 5px;font-size:12px}.course-dialog__tabs>button>svg{flex:none;width:15px}.course-dialog__tabs small{min-width:18px;min-height:20px;font-size:12px}.course-dialog__body{padding:20px 16px;container:study-content/inline-size}.course-overview,.course-resources{grid-template-columns:minmax(0,1fr);gap:22px}.course-teacher-card{padding:20px}.course-teacher-card__portrait{width:min(240px,100%);height:220px}.course-quick-links{grid-template-columns:repeat(2,minmax(0,1fr))}.course-quick-links__icon{display:none}.course-quick-links>button{padding:16px}.course-facts{gap:12px}.course-facts>div{padding:17px}.course-facts dd{font-size:25px}.course-detail-section>h3,.course-notes h3{font-size:22px}.course-player__title,.course-player__controls{padding-left:16px;padding-right:16px}.course-player__source{padding:12px 16px}}@media (width<=420px){.course-dialog__tabs>button>svg{display:none}.course-dialog__tabs>button{font-size:12px}.course-facts{background:var(--cd-panel);border:1px solid var(--cd-line);border-radius:9px;grid-template-columns:minmax(0,1fr);gap:0;padding:0 12px;display:grid}.course-facts>div{background:0 0;border:0;border-radius:0;align-items:center;gap:12px;padding:12px 0;display:flex}.course-facts>div+div{border-top:1px solid var(--cd-line)}.course-facts dt{flex:1;min-width:0}.course-facts dd{text-align:right;flex:1.2;min-width:0}.course-facts dt{margin-bottom:0}.course-facts dd{font-size:22px}.course-progress-card{padding:16px}.course-progress-card>div:first-child{flex-wrap:wrap;gap:12px}.course-progress-card>div:first-child>span{font-size:12px}.course-progress-card strong{font-size:32px}.course-quick-links{grid-template-columns:minmax(0,1fr)}.course-quick-links__icon{display:grid}.course-quick-links>button{min-height:68px;padding:12px}.course-document{gap:12px;padding:16px}}@media (height<=600px){.course-dialog__header{padding-top:12px;padding-bottom:12px}.course-dialog__header h2{margin:8px 0;font-size:22px}.course-dialog__tabs{padding-top:8px;padding-bottom:8px}}@media (prefers-reduced-motion:reduce){.course-dialog *,.course-dialog :before,.course-dialog :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (width<=780px){.sidebar{z-index:52}}
