.quarter-course-actions{flex-direction:row;flex-shrink:0;justify-content:flex-end;align-items:flex-start;gap:2px;margin:0;display:flex}.quarter-course-action{z-index:0;white-space:nowrap;cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:8px;place-items:center;margin:0;padding:4px;line-height:1;transition:color .14s,background-color .14s,transform .14s;display:grid;position:relative}.quarter-course-action:active{transform:scale(.94)}.quarter-course-info{color:color-mix(in srgb,var(--color-text-muted) 82%,transparent)}.quarter-course-info svg{width:12px;height:12px}.quarter-course-info:focus-visible,.quarter-course-info:hover{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,transparent);outline:none}.quarter-course-info:active{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 16%,transparent)}.quarter-course-delete{color:color-mix(in srgb,var(--color-text-muted) 82%,transparent)}.quarter-course-delete svg{width:12px;height:12px}.quarter-course-delete:focus-visible,.quarter-course-delete:hover{color:var(--color-error-text);background:color-mix(in srgb,var(--color-error-text) 10%,transparent);outline:none}.quarter-course-delete:active{color:var(--color-error-text);background:color-mix(in srgb,var(--color-error-text) 16%,transparent)}.quarter-board{scroll-behavior:auto;scroll-snap-type:none;overscroll-behavior-x:contain;overflow-anchor:none;-webkit-overflow-scrolling:touch;grid-auto-columns:minmax(290px,330px);grid-auto-flow:column;gap:14px;width:100%;min-width:0;max-width:100%;min-height:22rem;padding:2px 2px 14px;display:grid;overflow:auto hidden}.quarter-board.is-dragging{scroll-snap-type:none;-webkit-user-select:none;user-select:none}.calendar-board{grid-auto-columns:minmax(300px,340px)}.quarter-board-toolbar{flex-wrap:nowrap;justify-content:space-between;align-items:end;gap:10px 14px;min-width:0;padding-bottom:2px;display:flex;container:quarter-toolbar/inline-size}.quarter-track-key{color:var(--color-text-muted);flex-wrap:wrap;flex:none;align-items:center;gap:4px 6px;margin:0 0 6px;font-size:.68rem;font-weight:650;line-height:1.2;display:flex}.quarter-track-key-item{color:inherit;font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;margin:0;padding:3px 8px 3px 6px;transition:background-color .14s,border-color .14s,color .14s;display:inline-flex}.quarter-track-key-item:hover{background:color-mix(in srgb,var(--req-track-color,var(--color-track-default)) 12%,var(--color-surface));color:var(--color-text-heading)}.quarter-track-key-item.is-active{border-color:color-mix(in srgb,var(--req-track-color,var(--color-track-default)) 42%,var(--color-border));background:color-mix(in srgb,var(--req-track-color,var(--color-track-default)) 16%,var(--color-surface));color:var(--req-track-color,var(--color-text-heading))}.quarter-track-key-item:focus-visible{outline:2px solid var(--req-track-color,var(--color-primary));outline-offset:2px}.quarter-board-stage.is-filtering-tracks .needs-quarter-chip,.quarter-board-stage.is-filtering-tracks .quarter-course{transition:opacity .16s,filter .16s,background-color .16s}.quarter-board-stage.is-filtering-tracks .needs-quarter-chip.is-track-dimmed,.quarter-board-stage.is-filtering-tracks .quarter-course.is-track-dimmed{opacity:.3;filter:grayscale(.2)}.needs-quarter-chip.completed.is-track-highlighted,.needs-quarter-chip.is-track-highlighted,.quarter-course.calendar-course.completed.is-track-highlighted,.quarter-course.calendar-course.is-track-highlighted{z-index:1;background:color-mix(in srgb,var(--req-track-color,var(--color-track-default)) 16%,var(--color-surface));position:relative}.needs-quarter-chip.is-track-highlighted:after,.quarter-course.is-track-highlighted:after{content:"";pointer-events:none;background:var(--track-highlight,var(--req-track-color,var(--color-track-default)));border-radius:99px;width:3px;position:absolute;top:3px;bottom:3px;left:0}.quarter-column.is-ultra .calendar-course.completed.is-track-highlighted,.quarter-column.is-ultra .quarter-course.is-track-highlighted,.quarter-course.is-ultra.is-track-highlighted{background:color-mix(in srgb,var(--req-track-color,var(--color-track-default)) 16%,var(--color-surface));padding-left:8px}.quarter-column.is-ultra .quarter-course.is-track-highlighted:after,.quarter-course.is-ultra.is-track-highlighted:after{top:2px;bottom:2px}.needs-quarter-chip.is-track-highlighted{padding-left:10px}.needs-quarter-chip.is-track-highlighted:after{top:4px;bottom:4px;left:3px}.quarter-board-toolbar-actions{justify-content:flex-end;margin-left:auto}.quarter-board-toolbar-actions,.quarter-board-toolbar-icons{flex-wrap:nowrap;flex:none;align-items:center;gap:6px;display:flex}.quarter-board-plan-actions{flex:none;align-items:center;gap:6px;display:flex}.quarter-board-plan-actions-inline{flex-wrap:nowrap;align-items:center;gap:6px;display:flex}.quarter-board-more{display:block;position:relative}@container quarter-toolbar (width<=680px){.quarter-board-suggest-btn{justify-content:center;width:32px;min-width:32px;padding:0}.quarter-board-suggest-label{display:none}}.quarter-board-more-item.quarter-board-more-overflow{display:none}.quarter-board-more-label{color:var(--color-text-muted);letter-spacing:.02em;text-transform:uppercase;margin:6px 10px 2px;font-size:.68rem;font-weight:750}.quarter-board-more-check{width:16px;height:16px;color:var(--color-primary);flex:none;place-items:center;display:grid}@media (width<=760px){.quarter-board-plan-actions-inline{display:flex}.quarter-board-more-item.quarter-board-more-overflow{display:none}.quarter-board-suggest-btn{justify-content:center;width:auto;min-width:0;padding:0 12px}.quarter-board-suggest-label{display:inline}}.quarter-board-more-anchor{display:flex}.quarter-board-more-panel{z-index:40;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);width:max-content;min-width:196px;max-width:min(300px,84vw);max-height:min(70vh,520px);box-shadow:0 18px 40px var(--color-shadow-strong);gap:2px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0;overflow:auto}.quarter-board-more-panel.is-export{width:min(300px,84vw);min-width:min(300px,84vw)}.quarter-board-more-pane{gap:2px;display:grid}.quarter-board-more-item{width:100%;color:var(--color-text);font:inherit;border:0;border-radius:8px;gap:8px;padding:8px 10px;font-size:.8rem;font-weight:700}.quarter-board-more-back,.quarter-board-more-item{text-align:left;cursor:pointer;background:0 0;align-items:center;display:flex}.quarter-board-more-back{border:0;border-bottom:1px solid var(--color-border);width:calc(100% + 16px);color:var(--color-text-heading);font:inherit;border-radius:0;gap:6px;margin:-8px -8px 8px;padding:8px 12px 10px;font-size:.82rem;font-weight:700;line-height:1.2}.quarter-board-more-back-icon{width:18px;height:18px;color:var(--color-text-muted);flex:none;place-items:center;margin-left:-2px;display:grid}.quarter-board-more-back-icon svg{display:block}.quarter-board-more-item:focus-visible,.quarter-board-more-item:hover{background:var(--color-surface-muted);outline:none}.quarter-board-more-back:focus-visible,.quarter-board-more-back:hover{color:var(--color-text-heading);background:0 0;outline:none}.quarter-board-more-back:focus-visible .quarter-board-more-back-icon,.quarter-board-more-back:hover .quarter-board-more-back-icon{color:var(--color-text-heading)}.quarter-board-more-item:disabled{opacity:.45;cursor:not-allowed}.quarter-board-more-icon{width:16px;height:16px;color:var(--color-text-muted);flex:none;place-items:center;display:grid}.quarter-board-more-icon svg{display:block}.quarter-board-more-chevron{opacity:.55;border-bottom:1.6px solid;border-right:1.6px solid;width:.42em;height:.42em;margin-left:auto;transform:rotate(-45deg)}.export-schedule-embedded{gap:2px;display:grid}.export-schedule-embedded .export-schedule-pdf{margin-top:6px;padding-top:8px}.quarter-board-toolbar-start{flex-wrap:nowrap;align-items:center;gap:8px;min-width:0;display:flex}.quarter-board-toolbar .planner-board-add{flex:none;position:relative}.quarter-board-import{color:var(--color-text-muted);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;margin:0;padding:0 2px;font-size:.76rem;font-weight:650;line-height:1;text-decoration:none;display:inline-flex}.quarter-board-import:focus-visible,.quarter-board-import:hover{color:var(--color-text-heading);text-underline-offset:3px;outline:none;text-decoration:underline}.planner-board-add-trigger{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-height:32px;color:var(--color-text-heading);font:inherit;cursor:pointer;justify-content:center;align-items:center;margin:0;padding:0 12px;font-size:.78rem;font-weight:700;display:inline-flex}.planner-board-add-trigger:focus-visible,.planner-board-add-trigger:hover{border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border));color:var(--color-primary);outline:none}.planner-board-add-trigger:disabled{opacity:.45;cursor:not-allowed}.planner-board-add-trigger.is-compact-year{min-height:0;color:var(--color-text-muted);background:0 0;border:0;align-self:flex-start;padding:3px 6px;font-size:.72rem}.planner-board-add-trigger.is-compact-year:focus-visible,.planner-board-add-trigger.is-compact-year:hover{background:color-mix(in srgb,var(--color-primary) 10%,transparent)}.planner-board-add-trigger.is-board{background:color-mix(in srgb,var(--color-surface-tint) 70%,transparent);width:100%;height:100%;min-height:12rem;color:var(--color-text-muted);border-style:dashed;flex-direction:column;gap:8px;font-size:.92rem}.planner-board-add-plus{font-size:1.6rem;font-weight:650;line-height:1}.planner-board-add-trigger-wrap,.planner-board-add.is-board{min-width:0;height:100%;display:flex}.planner-board-add-trigger-wrap{width:100%}.planner-board-add-panel{z-index:40;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);width:min(15.5rem,100vw - 24px);box-shadow:0 18px 40px var(--color-shadow-strong);gap:8px;padding:8px;display:grid;position:absolute;top:calc(100% + 6px);left:0}.planner-board-add-panel.is-board{top:18px;left:12px}.planner-board-add-year{border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface-muted) 70%,var(--color-surface));width:100%;color:var(--color-text-heading);font:inherit;text-align:left;cursor:pointer;border-radius:6px;justify-items:start;gap:1px;margin:0;padding:6px 8px;display:grid}.planner-board-add-year-title{color:var(--color-text-heading);letter-spacing:.01em;align-items:center;gap:5px;font-size:.76rem;font-weight:650;line-height:1.2;display:inline-flex}.planner-board-add-year-mark{color:var(--color-text-muted);flex:none;font-size:.92rem;font-weight:550;line-height:1;display:block}.planner-board-add-year-hint{color:var(--color-text-muted);letter-spacing:.01em;padding-left:1.05em;font-size:.64rem;font-weight:550;line-height:1.25}.planner-board-add-year:focus-visible,.planner-board-add-year:hover{border-color:color-mix(in srgb,var(--color-primary) 40%,var(--color-border));background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface));outline:none}.planner-board-add-quarter{border-top:1px solid var(--color-border);gap:6px;padding-top:8px;display:grid}.planner-board-add-quarter>p{color:var(--color-text-muted);letter-spacing:.02em;margin:0;font-size:.64rem;font-weight:650}.planner-board-add-picks{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:6px;display:grid}.planner-board-add-field{gap:3px;min-width:0;display:grid}.planner-board-add-field>span{color:var(--color-text-muted);letter-spacing:.02em;font-size:.64rem;font-weight:600}.planner-board-add-field .themed-select-compact{max-width:none}.planner-board-add-field .themed-select-compact .themed-select-trigger{min-height:28px;padding:0 7px;font-size:.74rem}.planner-board-add-quarter-submit{background:var(--color-primary);width:100%;color:var(--color-button-text);font:inherit;letter-spacing:.01em;cursor:pointer;border:0;border-radius:6px;justify-content:center;align-items:center;margin:1px 0 0;padding:6px 10px;font-size:.74rem;font-weight:650;display:inline-flex}.planner-board-add-quarter-submit:focus-visible,.planner-board-add-quarter-submit:hover{background:var(--color-primary-bright);color:var(--color-button-text);outline:none}.planner-board-add-quarter-submit:disabled,.planner-board-add-year:disabled{opacity:.45;cursor:not-allowed}.quarter-board-toolbar .button{border-radius:var(--radius-md);min-height:32px;box-shadow:none;gap:4px;padding:0 12px;font-size:.78rem;font-weight:700}.quarter-board-toolbar .quarter-board-icon-btn{justify-content:center;width:32px;min-width:32px;padding:0;position:relative}.quarter-board-toolbar .quarter-board-suggest-btn{white-space:nowrap;position:relative}.quarter-board-toolbar .button svg,.quarter-board-toolbar .quarter-board-icon-btn svg{flex-shrink:0;display:block}.quarter-board-toolbar .quarter-board-icon-btn[data-tooltip]:after{content:attr(data-tooltip);z-index:30;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);white-space:nowrap;box-shadow:0 6px 18px var(--color-shadow-float);opacity:0;pointer-events:none;border-radius:8px;padding:5px 8px;font-size:.72rem;font-weight:650;line-height:1.2;transition:opacity .12s,transform .12s;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(-2px)}.quarter-board-toolbar .quarter-board-icon-btn[data-tooltip]:focus-visible:after,.quarter-board-toolbar .quarter-board-icon-btn[data-tooltip]:hover:after{opacity:1;transform:translate(-50%)translateY(0)}.quarter-board-toolbar .quarter-board-icon-btn[data-tooltip].is-tooltip-end:after{left:auto;right:0;transform:translateY(-2px)}.quarter-board-toolbar .quarter-board-icon-btn[data-tooltip].is-tooltip-end:focus-visible:after,.quarter-board-toolbar .quarter-board-icon-btn[data-tooltip].is-tooltip-end:hover:after{transform:translateY(0)}.quarter-board-toolbar .quarter-board-icon-btn[data-tooltip][aria-expanded=true]:after{opacity:0}.quarter-board-req-toggle.is-active{color:var(--color-primary);background:var(--color-primary-soft);border-color:color-mix(in srgb,var(--color-primary) 28%,var(--color-border))}.quarter-board-req-toggle[data-tooltip]:after{left:0;right:auto;transform:translateY(-2px)}.quarter-board-req-toggle[data-tooltip]:focus-visible:after,.quarter-board-req-toggle[data-tooltip]:hover:after,.quarter-board-toolbar .quarter-board-req-toggle[data-tooltip][aria-expanded=true]:focus-visible:after,.quarter-board-toolbar .quarter-board-req-toggle[data-tooltip][aria-expanded=true]:hover:after{opacity:1;transform:translateY(0)}@container quarter-toolbar (width<=680px){.quarter-board-suggest-btn[data-tooltip]:after{content:attr(data-tooltip);z-index:30;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);white-space:nowrap;box-shadow:0 6px 18px var(--color-shadow-float);opacity:0;pointer-events:none;border-radius:8px;padding:5px 8px;font-size:.72rem;font-weight:650;line-height:1.2;transition:opacity .12s,transform .12s;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(-2px)}.quarter-board-suggest-btn[data-tooltip]:focus-visible:after,.quarter-board-suggest-btn[data-tooltip]:hover:after{opacity:1;transform:translate(-50%)translateY(0)}.quarter-board-suggest-btn[data-tooltip][aria-pressed=true]:after{opacity:0}}@media (width<=760px){.quarter-board-suggest-btn[data-tooltip]:after{content:none}}.quarter-board-suggest-icon{place-items:center;display:grid}.quarter-board-suggest-icon svg{display:block}.quarter-board.is-compact{scroll-snap-type:none;flex-direction:column;gap:14px;padding-bottom:8px;display:flex;overflow:visible}.quarter-board.is-compact.calendar-board{grid-auto-columns:unset}.school-year-group{background:0 0;border:0;border-radius:0;gap:10px;min-width:0;padding:0;display:grid}.school-year-group.is-collapsed{gap:0}.school-year-group-header{border-radius:var(--radius-md);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;margin:0;padding:4px 2px;display:flex}.school-year-group-header:focus-visible,.school-year-group-header:hover{background:color-mix(in srgb,var(--color-border-soft) 55%,transparent)}.school-year-group-header:focus-visible{outline:2px solid color-mix(in srgb,var(--color-primary) 55%,transparent);outline-offset:2px}.school-year-group-header-main{align-items:center;gap:6px;min-width:0;display:inline-flex}.school-year-group-header h3{color:var(--color-text-heading);letter-spacing:.01em;margin:0;font-size:.92rem;font-weight:700}.school-year-group-header>span{color:var(--color-text-muted);font-size:.72rem;font-weight:600}.needs-quarter-tray{border:1px dashed color-mix(in srgb,var(--color-border) 88%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-surface-muted) 72%,var(--color-bg));flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0;margin:0 0 8px;padding:5px 10px;display:flex}.needs-quarter-label{flex-wrap:nowrap;flex:none;align-items:baseline;gap:8px;min-width:0;display:inline-flex}.needs-quarter-label h3{color:var(--color-text-heading);letter-spacing:.01em;white-space:nowrap;margin:0;font-size:.82rem;font-weight:700}.needs-quarter-meta{color:var(--color-text-muted);white-space:nowrap;margin:0;font-size:.7rem;font-weight:600}.needs-quarter-toggle{border-radius:var(--radius-md);color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:0;flex:none;margin:0;padding:2px 8px;font-size:.7rem;font-weight:700}.needs-quarter-toggle:focus-visible,.needs-quarter-toggle:hover{background:color-mix(in srgb,var(--color-primary) 10%,transparent);outline:none}.needs-quarter-toggle:focus-visible{outline:2px solid color-mix(in srgb,var(--color-primary) 55%,transparent);outline-offset:2px}.needs-quarter-chips{flex-wrap:wrap;flex:10rem;align-items:center;gap:5px;min-width:0;min-height:0;display:flex}.needs-quarter-chip{border:1px solid color-mix(in srgb,var(--color-border) 80%,transparent);border-radius:var(--radius-pill);background:var(--color-surface);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:manipulation;gap:2px;max-width:100%;min-height:26px;padding:2px 4px 2px 8px}.needs-quarter-chip,.needs-quarter-chip-open{color:inherit;align-items:center;display:inline-flex}.needs-quarter-chip-open{min-width:0;font:inherit;cursor:inherit;text-align:left;background:0 0;border:0;gap:5px;margin:0;padding:0}.needs-quarter-chip-open:focus-visible{outline:none}.needs-quarter-chip-menu{flex-shrink:0;position:relative}.needs-quarter-chip-menu-trigger{min-width:1.15rem;min-height:1.15rem;color:color-mix(in srgb,var(--color-text-muted) 78%,transparent);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}.needs-quarter-chip-menu-trigger:focus-visible,.needs-quarter-chip-menu-trigger:hover,.needs-quarter-chip-menu-trigger[data-headlessui-state~=open]{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,transparent);outline:none}.needs-quarter-chip strong{text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;font-weight:800;overflow:hidden}.needs-quarter-grade{color:var(--color-text-muted);font-size:.62rem;font-weight:700}.needs-quarter-chip.completed{background:var(--color-chip-muted-bg)}.needs-quarter-chip:hover{border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border));outline:none}.needs-quarter-chip:has(.needs-quarter-chip-open:focus-visible){border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border));outline:2px solid color-mix(in srgb,var(--color-primary) 55%,transparent);outline-offset:2px}.needs-quarter-chip.is-collapsed-hidden{display:none}.needs-quarter-drop{border:1px dashed var(--color-drop-target-border);border-radius:var(--radius-pill);background:var(--color-surface);justify-content:center;align-items:center;min-height:26px;padding:2px 8px;display:none}.needs-quarter-drop.is-visible,.needs-quarter-tray.is-dragging .needs-quarter-drop{display:inline-flex}.needs-quarter-drop span{color:var(--color-text-faint);white-space:nowrap;font-size:.62rem;font-weight:800}.needs-quarter-tray.is-compact{gap:4px 8px;margin-bottom:6px;padding:4px 8px}.needs-quarter-tray.is-ultra{gap:4px 8px;margin-bottom:4px;padding:3px 8px}.needs-quarter-tray.is-ultra .needs-quarter-label h3{font-size:.74rem}.needs-quarter-tray.is-ultra .needs-quarter-meta,.needs-quarter-tray.is-ultra .needs-quarter-toggle{font-size:.62rem}.needs-quarter-tray.is-ultra .needs-quarter-chip{min-height:22px;padding:1px 3px 1px 7px}.needs-quarter-tray.is-ultra .needs-quarter-chip strong{font-size:.66rem}.school-year-quarters{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;min-width:0;display:grid}.year-add-quarter{flex-direction:column;align-items:flex-start;gap:1px;min-width:0;display:flex}.year-add-quarter-trigger{color:var(--color-text-muted);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;margin:0;padding:3px 6px;font-size:.68rem;font-weight:700;line-height:1.2;display:inline-flex}.year-add-quarter-trigger:focus-visible,.year-add-quarter-trigger:hover{background:color-mix(in srgb,var(--color-primary) 10%,transparent);color:var(--color-primary);outline:none}.year-add-quarter-trigger:disabled{opacity:.45;cursor:not-allowed}.quarter-column.is-compact{scroll-snap-align:none;background:var(--color-surface);border-radius:12px;gap:8px;padding:10px}.quarter-column.is-compact .quarter-column-header{gap:2px}.quarter-column.is-compact:not(.is-ultra) .quarter-header-row{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.quarter-column.is-compact:not(.is-ultra) .quarter-header-aside{flex:none;padding-top:1px}.quarter-column.is-compact .card-label{letter-spacing:.04em;font-size:.62rem}.quarter-column.is-compact h3{font-size:.82rem;line-height:1.2}.quarter-column.is-compact .quarter-header-title-row{gap:6px}.quarter-column.is-compact:not(.is-ultra) .sync-timetable-btn.is-quarter,.quarter-column:not(.is-compact):not(.is-ultra) .sync-timetable-btn.is-quarter{height:20px;min-height:20px;padding:0 6px;font-size:.64rem}.quarter-column.is-compact .quarter-units-count{margin-top:2px;font-size:.7rem}.quarter-column.is-compact .quarter-course-list{gap:6px;min-height:36px;max-height:none;overflow:visible}.quarter-column.is-compact .quarter-course,.quarter-course.is-compact{border-radius:10px;gap:4px;min-width:0;padding:8px 8px 8px 10px;overflow:hidden}.quarter-column.is-compact .quarter-course.has-req-track,.quarter-course.is-compact.has-req-track{padding-left:8px}.quarter-column.is-compact .calendar-course-header,.quarter-course.is-compact .calendar-course-header{align-items:start;gap:4px}.quarter-column.is-compact .calendar-course-main,.quarter-course.is-compact .calendar-course-main{min-width:0;overflow:hidden}.quarter-column.is-compact .calendar-course-code-row,.quarter-column.is-compact .calendar-course-main strong,.quarter-course.is-compact .calendar-course-code-row,.quarter-course.is-compact .calendar-course-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;display:flex;overflow:hidden}.quarter-column.is-compact .compact-course-title,.quarter-course.is-compact .compact-course-title{text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted);font-size:.66rem;line-height:1.25;display:block;overflow:hidden}.quarter-column.is-compact .calendar-requirement-label,.quarter-course.is-compact .calendar-requirement-label{display:none}.quarter-column.is-compact .compact-course-meta,.quarter-course.is-compact .compact-course-meta{min-width:0;margin-top:0}.quarter-column.is-compact .calendar-units-chip,.quarter-course.is-compact .calendar-units-chip{padding:1px 5px;font-size:.62rem}.quarter-column.is-compact .quarter-course-actions,.quarter-course.is-compact .quarter-course-actions{align-self:start;gap:1px;margin:0}.quarter-column.is-compact .quarter-course-action,.quarter-course.is-compact .quarter-course-action{border-radius:7px;min-width:1.4rem;min-height:1.4rem;padding:.15rem;font-size:.95rem;line-height:1}.quarter-column.is-compact .quarter-course-info svg,.quarter-course.is-compact .quarter-course-info svg{width:12px;height:12px}.quarter-column.is-compact .quarter-course-info:focus-visible,.quarter-column.is-compact .quarter-course-info:hover,.quarter-course.is-compact .quarter-course-info:focus-visible,.quarter-course.is-compact .quarter-course-info:hover{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,transparent)}.quarter-column.is-compact .quarter-course-delete svg,.quarter-course.is-compact .quarter-course-delete svg{width:12px;height:12px}.quarter-column.is-compact .quarter-course-delete:focus-visible,.quarter-column.is-compact .quarter-course-delete:hover,.quarter-course.is-compact .quarter-course-delete:focus-visible,.quarter-course.is-compact .quarter-course-delete:hover{color:var(--color-error-text);background:color-mix(in srgb,var(--color-error-text) 10%,transparent)}.quarter-column.is-compact .quarter-drop-target{border-radius:var(--radius-lg);min-height:28px;box-shadow:none;padding:4px 6px}.quarter-column.is-compact .quarter-drop-target span{font-size:.64rem}.quarter-board.is-ultra{--year-gap:12px;--year-width:max(128px, calc(25% - var(--year-gap)*3/4));gap:var(--year-gap);scroll-snap-type:none;scroll-behavior:auto;-webkit-overflow-scrolling:touch;grid-template-rows:minmax(0,1fr);grid-auto-flow:column;height:100%;min-height:0;padding-bottom:2px;display:grid;overflow:auto hidden}.quarter-board.is-ultra,.quarter-board.is-ultra.calendar-board{grid-auto-columns:var(--year-width)}.quarter-board.is-ultra .school-year-group{flex-direction:column;gap:2px;min-width:0;height:100%;min-height:0;display:flex}.quarter-board.is-ultra .school-year-group-header{border-bottom:1px solid color-mix(in srgb,var(--color-border) 78%,transparent);border-radius:0;flex:none;gap:4px 8px;padding:0 0 4px}.quarter-board.is-ultra .school-year-group-header.is-static{cursor:default}.quarter-board.is-ultra .school-year-group-header.is-static:focus-visible,.quarter-board.is-ultra .school-year-group-header.is-static:hover{background:0 0}.quarter-board.is-ultra .school-year-group-header h3{font-size:.78rem}.quarter-board.is-ultra .school-year-group-header>span{font-size:.62rem}.quarter-board.is-ultra .school-year-quarters{scroll-snap-type:none;scrollbar-width:none;flex-direction:column;flex:auto;gap:0;min-height:0;padding:0;display:flex;overflow:hidden auto}.quarter-board.is-ultra .school-year-quarters::-webkit-scrollbar{width:0;height:0}.quarter-board.is-ultra .year-add-quarter{border-top:1px solid color-mix(in srgb,var(--color-border) 55%,transparent);flex:none;padding:6px 0 2px}.quarter-board.is-ultra .year-add-quarter-trigger{padding:2px 4px;font-size:.62rem}.quarter-column.is-ultra{min-width:0;min-height:0;box-shadow:none;scroll-snap-align:none;background:0 0;border:0;border-radius:0;flex-direction:column;flex:none;gap:1px;padding:5px 0 6px;display:flex;overflow:visible}.quarter-column.is-ultra+.quarter-column.is-ultra{border-top:1px solid color-mix(in srgb,var(--color-border) 55%,transparent);padding-top:6px}.quarter-column.is-ultra .quarter-column-header{flex:none;gap:0}.quarter-header-title-row{align-items:center;gap:4px;min-width:0;display:flex}.quarter-header-tools{flex:none;align-items:center;gap:1px;height:14px;display:inline-flex}.quarter-column.is-ultra .quarter-header-row{align-items:center;gap:4px;display:flex}.quarter-column.is-ultra .quarter-header-main{flex-direction:row;justify-content:flex-start;align-items:center;gap:4px;width:100%;min-width:0;display:flex;position:relative}.quarter-column.is-ultra .quarter-header-title-row{flex-wrap:nowrap;flex:auto;align-items:center;gap:3px;min-width:0}.quarter-column.is-ultra .quarter-header-main>.sync-timetable{z-index:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.quarter-column.is-ultra h3{letter-spacing:.02em;white-space:nowrap;text-transform:uppercase;flex:none;height:auto;margin:0;font-size:.68rem;font-weight:800;line-height:1;display:block}.quarter-column.is-ultra .quarter-units-count{color:var(--color-text-muted);white-space:nowrap;margin:0 0 0 auto;font-size:.58rem;font-weight:700;line-height:1}.quarter-column.is-ultra .quarter-header-main>.quarter-remove-btn{margin-left:2px}.quarter-column.is-ultra .quarter-header-main>.sync-timetable,.quarter-column.is-ultra .quarter-header-main>.sync-timetable .sync-timetable-anchor,.quarter-column.is-ultra .quarter-header-tools .quarter-add-popover,.quarter-column.is-ultra .quarter-header-tools .quarter-add-search{align-items:center;width:auto;height:14px;margin:0;display:inline-flex}.quarter-column.is-ultra .quarter-add-search{flex:none;margin:0}.quarter-remove-btn{width:14px;min-width:14px;height:14px;min-height:14px;color:color-mix(in srgb,var(--color-text-muted) 82%,transparent);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}.quarter-remove-btn:focus-visible,.quarter-remove-btn:hover{color:var(--color-error-text);background:color-mix(in srgb,var(--color-error-text) 10%,transparent);outline:none}.quarter-remove-btn:disabled{opacity:.45;cursor:not-allowed}.sync-timetable.is-quarter{flex:none;position:relative}.sync-timetable-anchor{display:inline-flex}.sync-timetable-btn.is-quarter{width:auto;min-width:14px;height:14px;min-height:14px;color:var(--color-primary);font:inherit;letter-spacing:.01em;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;gap:3px;margin:0;padding:0 4px;font-size:.62rem;font-weight:800;line-height:1;display:inline-flex}.quarter-column.is-ultra .sync-timetable-btn.is-quarter{padding:0 4px}.sync-timetable-btn.is-quarter:focus-visible,.sync-timetable-btn.is-quarter:hover,.sync-timetable-btn.is-quarter[aria-expanded=true]{background:color-mix(in srgb,var(--color-primary) 12%,transparent);outline:none}.sync-timetable-btn.is-quarter:disabled{opacity:.45;cursor:not-allowed}.sync-timetable-btn.is-quarter.is-emphasized{background:color-mix(in srgb,var(--color-primary) 14%,transparent)}.sync-timetable-btn.is-quarter.is-emphasized:focus-visible,.sync-timetable-btn.is-quarter.is-emphasized:hover,.sync-timetable-btn.is-quarter.is-emphasized[aria-expanded=true]{background:color-mix(in srgb,var(--color-primary) 20%,transparent)}.quarter-column.is-ultra .quarter-course-list{flex-direction:column;flex:none;gap:0;min-height:0;max-height:none;display:flex;overflow:visible}.quarter-column.is-ultra .quarter-course,.quarter-course.is-ultra{background:0 0;border:0;border-radius:5px;flex-direction:column;gap:0;min-width:0;padding:1px 2px 1px 0;display:flex}.quarter-column.is-ultra .calendar-course.completed:hover,.quarter-column.is-ultra .quarter-course:hover,.quarter-course.is-ultra.completed:hover,.quarter-course.is-ultra:hover{background:color-mix(in srgb,var(--color-surface-muted) 70%,transparent)}.quarter-column.is-ultra .quarter-course.is-track-highlighted:hover,.quarter-course.is-ultra.is-track-highlighted:hover{background:color-mix(in srgb,var(--req-track-color,var(--color-track-default)) 22%,var(--color-surface))}.quarter-column.is-ultra .calendar-course-header,.quarter-course.is-ultra .calendar-course-header{align-items:center;gap:8px}.quarter-column.is-ultra .calendar-course-main,.quarter-course.is-ultra .calendar-course-main{align-items:baseline;gap:6px;min-width:0;display:flex}.quarter-column.is-ultra .calendar-course-code-row,.quarter-column.is-ultra .calendar-course-main strong,.quarter-course.is-ultra .calendar-course-code-row,.quarter-course.is-ultra .calendar-course-main strong{text-overflow:ellipsis;white-space:nowrap;flex:none;align-items:center;gap:4px;font-size:.68rem;line-height:1.25;display:flex;overflow:hidden}.quarter-column.is-ultra .calendar-track-dot,.quarter-course.is-ultra .calendar-track-dot{width:9px;min-width:9px;height:9px;min-height:9px}.quarter-column.is-ultra .ultra-course-title,.quarter-course.is-ultra .ultra-course-title{white-space:nowrap;overflow-wrap:normal;text-overflow:clip;min-width:0;color:var(--color-text-muted);flex:1 1 0;font-size:.62rem;font-weight:500;line-height:1.25;display:block;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000 0 calc(100% - 12px),#0000);mask-image:linear-gradient(90deg,#000 0 calc(100% - 12px),#0000);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.quarter-column.is-ultra .quarter-course-menu{flex-shrink:0;position:relative}.quarter-column.is-ultra .quarter-course-action,.quarter-course.is-ultra .quarter-course-action{border-radius:4px;min-width:1.05rem;min-height:1.05rem;padding:0}.quarter-column.is-ultra .quarter-course-action svg,.quarter-course.is-ultra .quarter-course-action svg{width:10px;height:10px}.quarter-column.is-ultra .quarter-course-menu-trigger,.quarter-course.is-ultra .quarter-course-menu-trigger{color:color-mix(in srgb,var(--color-text-muted) 78%,transparent)}.quarter-column.is-ultra .quarter-course-menu-trigger:focus-visible,.quarter-column.is-ultra .quarter-course-menu-trigger:hover,.quarter-column.is-ultra .quarter-course-menu-trigger[data-headlessui-state~=open],.quarter-course.is-ultra .quarter-course-menu-trigger:focus-visible,.quarter-course.is-ultra .quarter-course-menu-trigger:hover,.quarter-course.is-ultra .quarter-course-menu-trigger[data-headlessui-state~=open]{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,transparent);outline:none}.quarter-column.is-ultra .calendar-course.completed,.quarter-course.is-ultra.completed{background:0 0}.quarter-column.is-ultra .quarter-drop-target{height:0;min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;overflow:hidden}.quarter-column.is-ultra .quarter-drop-target span{display:none}.quarter-board.is-ultra.is-dragging .quarter-column.is-ultra .quarter-drop-target{border:1px dashed color-mix(in srgb,var(--color-primary) 45%,var(--color-border));background:color-mix(in srgb,var(--color-primary) 6%,transparent);border-radius:5px;height:auto;min-height:16px;margin-top:2px}.quarter-add-search.is-inline{margin:0;display:inline-flex}.quarter-add-search.is-inline .quarter-add-popover{display:inline-flex}.quarter-add-search.is-inline .quarter-add-trigger{background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;width:14px;min-width:14px;height:14px;min-height:14px;padding:0;line-height:0;display:inline-flex}.quarter-add-search.is-inline .quarter-add-plus{flex:none;width:9px;height:9px;display:block}.quarter-add-search.is-inline .quarter-add-trigger:focus-visible,.quarter-add-search.is-inline .quarter-add-trigger:hover,.quarter-add-search.is-inline .quarter-add-trigger[data-headlessui-state~=open]{background:color-mix(in srgb,var(--color-primary) 12%,transparent);outline:none}.quarter-course-menu-panel{border:1px solid var(--color-border-strong);background:var(--color-surface);box-shadow:0 12px 28px var(--color-shadow-strong);border-radius:8px;gap:2px;padding:4px;display:grid}.quarter-course-menu-item{width:100%;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 8px;font-size:.75rem;font-weight:650;display:block}.quarter-course-menu-item:focus-visible,.quarter-course-menu-item:hover{background:var(--color-surface-muted);outline:none}.quarter-course-menu-item.is-danger{color:var(--color-error-text)}.quarter-course-menu-item.is-danger:focus-visible,.quarter-course-menu-item.is-danger:hover{background:color-mix(in srgb,var(--color-error-text) 10%,transparent)}.quarter-add-search{justify-items:stretch;margin-top:2px;display:grid}.quarter-add-popover{display:grid}.quarter-add-trigger{border:1px dashed color-mix(in srgb,var(--color-primary) 45%,var(--color-border));border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-surface) 80%,transparent);width:100%;min-height:28px;color:var(--color-primary);cursor:pointer;place-items:center;padding:2px 6px;font-size:1.05rem;font-weight:700;line-height:1;display:grid}.quarter-add-search:not(.is-compact) .quarter-add-trigger{border-radius:var(--radius-md);letter-spacing:.01em;min-height:40px;padding:8px 12px;font-size:.82rem}.quarter-add-trigger:hover,.quarter-add-trigger[data-headlessui-state~=open]{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));border-style:solid}.quarter-add-trigger:disabled{cursor:not-allowed;opacity:.55}.quarter-add-panel{box-sizing:border-box;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);min-width:0;box-shadow:0 18px 40px var(--color-shadow-strong);gap:8px;padding:10px;display:grid}.quarter-add-term{color:var(--color-text-muted);margin:0;font-size:.72rem;font-weight:700}.quarter-add-controls{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:6px;display:grid}.quarter-add-field{min-width:0;position:relative}.quarter-add-input{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);width:100%;color:var(--color-text);font:inherit;padding:8px 34px 8px 10px;font-size:.86rem}.quarter-add-input:focus{outline:2px solid color-mix(in srgb,var(--color-primary) 45%,transparent);outline-offset:1px}.quarter-add-clear{background:color-mix(in srgb,var(--color-text) 8%,transparent);width:22px;height:22px;color:var(--color-text-muted);cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.quarter-add-clear:focus-visible,.quarter-add-clear:hover{background:color-mix(in srgb,var(--color-text) 14%,transparent);color:var(--color-text);outline:none}.quarter-add-filters-toggle{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;white-space:nowrap;cursor:pointer;flex:none;justify-content:center;align-items:center;padding:0 10px;font-size:.74rem;font-weight:700;display:inline-flex}.quarter-add-filters-toggle:focus-visible,.quarter-add-filters-toggle:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-soft);outline:none}.quarter-add-filters-toggle.is-active{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-soft)}.quarter-add-body{height:260px;min-height:260px;overflow:hidden}.quarter-add-filter-panel{scrollbar-width:thin;align-content:start;gap:8px;height:100%;padding-right:2px;display:grid;overflow:hidden auto}.quarter-add-filter-panel::-webkit-scrollbar{width:6px}.quarter-add-filter-panel::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-text) 22%,transparent);border-radius:999px}.quarter-add-filter-panel .catalog-filter-group{gap:6px}.quarter-add-filter-head{z-index:1;background:var(--color-surface);justify-content:space-between;align-items:center;gap:8px;min-height:1.1em;margin:-2px -2px 0;padding:2px;display:flex;position:sticky;top:0}.quarter-add-filter-head h3{margin:0}.quarter-add-filter-panel .catalog-filter-chip{padding:4px 9px;font-size:.72rem}.quarter-add-filter-panel .catalog-filter-chips.is-single-line .catalog-filter-chip{padding:4px 6px}.quarter-add-clear-filters{color:var(--color-primary);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;flex:none;padding:0;font-size:.72rem;font-weight:750}.quarter-add-clear-filters:focus-visible,.quarter-add-clear-filters:hover{outline:none;text-decoration:underline}.quarter-add-results{scrollbar-width:none;-ms-overflow-style:none;gap:2px;height:100%;margin:0;padding:0;list-style:none;display:grid;overflow:hidden auto}.quarter-add-results::-webkit-scrollbar{width:0;height:0;display:none}.quarter-add-empty{color:var(--color-text-faint);text-align:center;padding:10px 6px;font-size:.78rem}.quarter-add-result{border-radius:var(--radius-md);width:100%;min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:2px;padding:8px;display:grid}.quarter-add-result:focus-visible,.quarter-add-result:hover{background:var(--color-surface-muted);outline:none}.quarter-add-result:disabled{cursor:not-allowed;opacity:.55}.quarter-add-result-top{align-items:center;gap:6px;min-width:0;display:flex}.quarter-add-result-top strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.82rem;overflow:hidden}.quarter-add-result-top em{color:var(--color-text-faint);flex:none;font-size:.7rem;font-style:normal;font-weight:700}.quarter-add-result-grade{flex:none;min-height:1.2rem;margin-left:auto;display:inline-flex}.quarter-add-result-title{overflow-wrap:anywhere;white-space:normal;min-width:0;color:var(--color-text-muted);font-size:.72rem}.quarter-add-fade-enter-active,.quarter-add-fade-leave-active{transition:opacity .12s,transform .12s}.quarter-add-fade-enter-from,.quarter-add-fade-leave-to{opacity:0;transform:translateY(-4px)}.calendar-column{min-height:0}.quarter-column{border:1px solid color-mix(in srgb,var(--color-border) 70%,transparent);background:var(--color-surface);border-radius:12px;align-content:start;gap:12px;min-width:0;padding:14px;display:grid;overflow:visible}.quarter-column header span{color:var(--color-text-muted);line-height:1.45}.quarter-column-header{z-index:3;gap:8px;display:grid;position:relative}.quarter-header-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px 16px;display:grid}.quarter-header-main{min-width:0}.quarter-header-main h3{margin:0;line-height:1.15}.quarter-units-count{color:var(--color-primary);margin:8px 0 0;font-size:.82rem;font-weight:900}.quarter-header-aside{align-content:start;justify-items:end;gap:6px;min-width:0;display:grid}.quarter-header-dates{text-align:right;justify-items:end;gap:4px;max-width:11rem;display:grid}.quarter-header-dates span{color:var(--color-text-faint);font-size:.72rem;font-weight:700;line-height:1.35}.quarter-header-dates span:last-child{color:var(--color-primary)}.quarter-notes{color:var(--color-text-muted);font-size:.78rem;line-height:1.45}.quarter-course-list{--quarter-ticket-card:3.5rem;--quarter-ticket-gap:8px;gap:var(--quarter-ticket-gap);overflow-anchor:none;scrollbar-width:none;flex-direction:column;align-content:start;min-height:72px;max-height:none;display:flex;overflow:visible}.quarter-course-list::-webkit-scrollbar{width:0;height:0}.quarter-course-list.is-scrollable{max-height:calc(var(--quarter-ticket-card)*5 + var(--quarter-ticket-gap)*4);overscroll-behavior:contain;scrollbar-width:thin;overflow:hidden auto}.quarter-course-list.is-scrollable::-webkit-scrollbar{width:6px;height:6px}.quarter-course-list.is-scrollable::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-text) 22%,transparent);border-radius:999px}.quarter-course.is-draggable{cursor:grab;-webkit-user-select:none;user-select:none}.quarter-drop-target{z-index:1;border:1px dashed var(--color-drop-target-border);border-radius:var(--radius-md);background:var(--color-surface);min-height:44px;box-shadow:none;flex:none;place-items:center;margin-top:auto;padding:10px 12px;display:grid;position:static}.quarter-drop-target span{color:var(--color-text-faint);text-align:center;font-size:.76rem;font-weight:800;line-height:1.35}.quarter-course{background:color-mix(in srgb,var(--color-surface-muted) 88%,transparent);border:0;border-radius:10px;gap:5px;padding:8px 10px;display:grid}.quarter-course.has-req-track{padding-left:10px}.quarter-course.is-ticket{border:1px solid var(--color-border);background:var(--color-surface);flex:none;gap:2px;min-height:0;padding:8px 8px 8px 12px;position:relative;overflow:hidden}.quarter-course.is-ticket.has-req-track{padding-left:14px}.quarter-course.calendar-course.completed.is-ticket.is-track-highlighted,.quarter-course.calendar-course.is-ticket.is-track-highlighted,.quarter-course.is-ticket.calendar-course.completed,.quarter-course.is-ticket.completed{background:var(--color-surface)}.calendar-track-rail{background:var(--req-track-color,var(--color-track-default));pointer-events:none;border-radius:9px 0 0 9px;width:4px;position:absolute;top:0;bottom:0;left:0}.quarter-course.is-ticket .calendar-course-header{-moz-column-gap:6px;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:6px;display:grid}.quarter-course.is-ticket .calendar-course-main{gap:2px;min-width:0;display:grid}.quarter-course.is-ticket .calendar-course-code-row{margin-bottom:0}.quarter-course.is-ticket .quarter-course-actions{align-items:center;gap:0;margin:-1px -2px 0 0;display:flex}.quarter-course.is-ticket .calendar-course-units{color:var(--color-text-faint);margin:0;font-size:.68rem;font-weight:700}.calendar-course-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text-muted);font-size:.7rem;font-weight:550;line-height:1.3;display:block;overflow:hidden}.calendar-course-units{color:var(--color-text-faint);letter-spacing:.01em;white-space:nowrap;flex:none;margin:2px 0 0;font-size:.68rem;font-weight:700;line-height:1.2}.quarter-course.is-ticket .quarter-course-action{width:22px;height:22px;color:var(--color-text-faint);background:0 0;border-radius:6px;padding:0}.quarter-course.is-ticket .quarter-course-action svg{width:13px;height:13px}.quarter-course.is-ticket .quarter-course-info:focus-visible,.quarter-course.is-ticket .quarter-course-info:hover{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,transparent)}.quarter-course.is-ticket .quarter-course-delete:focus-visible,.quarter-course.is-ticket .quarter-course-delete:hover{color:var(--color-error-text);background:color-mix(in srgb,var(--color-error-text) 10%,transparent)}.quarter-course.is-ticket.is-track-highlighted:after{display:none}.quarter-course.is-ticket.is-suggest-preview{background:var(--color-surface);overflow:visible}.needs-quarter-chip.has-req-track{padding-left:8px}.quarter-course .calendar-requirement-track{color:var(--color-text-muted);font-weight:700}.quarter-course .calendar-track-dot{width:10px;min-width:10px;height:10px;min-height:10px}.calendar-course{gap:5px;overflow:visible}.quarter-column.is-dragging{z-index:2}.calendar-course.completed{background:var(--color-chip-muted-bg)}.calendar-course-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.calendar-course-main{min-width:0}.quarter-board-stage{width:100%;min-width:0;max-width:100%;min-height:22rem;position:relative}.planner-fade-enter-active,.planner-fade-leave-active,.planner-reveal-enter-active,.planner-reveal-leave-active,.quarter-fade-enter-active,.quarter-fade-leave-active{transition:opacity .28s,transform .28s}.planner-fade-enter-from,.planner-fade-leave-to,.planner-reveal-enter-from,.planner-reveal-leave-to,.quarter-fade-enter-from,.quarter-fade-leave-to{opacity:0}.calendar-course-meta{flex-wrap:wrap;gap:5px;display:flex}.calendar-course-meta span{border-radius:var(--radius-md);background:var(--color-chip-muted-bg);color:var(--color-chip-muted-text);padding:2px 6px;font-size:.62rem;font-weight:800}.quarter-course .calendar-course-code-row,.quarter-course strong{min-width:0;color:var(--color-text-heading);letter-spacing:.01em;align-items:center;gap:6px;margin-bottom:1px;font-size:.78rem;font-weight:800;line-height:1.2;display:flex}.quarter-course span:not(.calendar-requirement-track):not(.calendar-requirement-sep):not(.calendar-track-dot):not(.ultra-course-title):not(.compact-course-title):not(.calendar-course-title):not(.calendar-course-units):not(.calendar-track-rail){color:var(--color-text-muted);overflow-wrap:anywhere;font-size:.68rem;line-height:1.3}.calendar-course .meeting-placeholder{border-radius:var(--radius-md);background:var(--color-surface-tint);color:var(--color-text-subtle);padding:4px 6px;font-size:.64rem;font-weight:700;line-height:1.3}.course-search-shell{gap:16px;display:grid}.course-search-shell.layout-rail,.course-search-shell.layout-rail .search-panel{flex-direction:column;flex:auto;min-height:0;display:flex}.course-search-shell.layout-rail .search-panel{box-shadow:none;background:0 0;border:0;border-radius:0;gap:8px;padding:0}.course-search-shell.layout-rail .search-panel-head{flex-flow:column;flex:none;align-items:stretch;gap:8px;margin-bottom:0}.course-search-shell.layout-rail .search-panel-title-copy{min-width:0}.course-search-shell.layout-rail .search-panel-head h2{font-size:.84rem}.course-search-shell.layout-rail .search-panel-hint{margin-top:.15rem;font-size:.72rem;font-weight:500;line-height:1.3}.course-search-shell.layout-rail .search-field{width:100%}.course-search-shell.layout-rail .search-wide{border-radius:11px;width:100%;min-width:0;padding:8px 34px 8px 12px;font-size:.84rem}.course-search-shell.layout-catalog .course-result-list,.course-search-shell.layout-rail .course-result-list{grid-template-columns:1fr}.course-search-shell.layout-rail .course-result-list{gap:6px}.course-search-shell.layout-rail .course-result-row{box-sizing:border-box;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:flex-start;gap:8px;width:100%;min-height:auto;margin:0;padding:10px 10px 10px 12px;display:flex;overflow:visible}.course-search-shell.layout-rail .course-result-row:last-child{border-bottom:0}.course-search-shell.layout-rail .course-result-row:hover{background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface))}.course-search-shell.layout-rail .course-result-row.is-selected{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));border-color:color-mix(in srgb,var(--color-primary) 22%,var(--color-border))}.course-search-shell.layout-rail .course-result-row.is-selected:hover{background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface))}html[data-theme=midnight] .course-search-shell.layout-rail .course-result-row:hover{background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface-muted))}html[data-theme=midnight] .course-search-shell.layout-rail .course-result-row.is-selected{background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));border-color:color-mix(in srgb,var(--color-primary) 32%,var(--color-border))}.course-search-shell.layout-rail .course-result-row.is-added{opacity:.7}.course-search-shell.layout-rail .course-result-row.is-added.is-selected{opacity:1}.course-search-shell.layout-rail .course-result-body{flex:auto;gap:2px;min-width:0;padding:0;display:grid}.course-search-shell.layout-rail .course-result-top{justify-content:space-between;align-items:center;gap:8px;width:100%;min-width:0;display:flex}.course-search-shell.layout-rail .course-result-top-meta{flex:none;align-items:center;gap:6px;margin-left:auto;display:inline-flex}.course-search-shell.layout-rail .course-grade-chip{min-width:1.35rem;padding:1px 5px;font-size:.66rem}.course-search-shell.layout-rail .course-result-code{min-width:0;color:var(--color-text-heading);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.76rem;font-weight:750;line-height:1.25;overflow:hidden}.course-search-shell.layout-rail .course-result-units{color:var(--color-text-muted);white-space:nowrap;flex:none;font-size:.66rem;font-weight:650;line-height:1.2}.course-search-shell.layout-rail .course-result-title{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:.74rem;font-weight:600;line-height:1.3;overflow:hidden}.course-search-shell.layout-rail .course-result-blurb{color:var(--color-text-muted);-webkit-line-clamp:2;line-clamp:2;margin:3px 0 0;font-size:.68rem;font-weight:500;line-height:1.35;display:-webkit-box}.course-search-shell.layout-rail .course-result-meta{color:var(--color-text-muted);flex-wrap:nowrap;align-items:baseline;gap:0 5px;margin:2px 0 0;font-size:.66rem;font-weight:650;line-height:1.3;display:flex;overflow:hidden}.course-search-shell.layout-rail .course-result-sep{color:var(--color-text-faint);font-weight:600}.course-search-shell.layout-rail .course-result-req{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;font-weight:700;overflow:hidden}.course-search-shell.layout-rail .course-result-presence{flex-wrap:wrap;gap:4px;margin:2px 0 0;display:flex}.course-search-shell.layout-rail .course-result-presence-item{font-size:.72rem;line-height:1.25}.course-search-shell.layout-catalog .search-panel{border-radius:18px}.course-search-shell.layout-catalog .search-panel-head{align-items:center}.course-search-shell.layout-catalog .search-field{width:min(640px,100%)}.course-search-shell.layout-catalog .search-wide{border-radius:14px;width:min(640px,100%)}.course-search-shell.layout-catalog .course-result-row{border-radius:14px}.course-search-shell.layout-catalog .course-result-add{border-radius:0 14px 14px 0}.course-search-shell.layout-rail .search-results-scroll{scrollbar-width:none;flex-direction:column;flex:auto;align-content:start;gap:0;min-height:0;max-height:none;padding:0 0 12px;display:flex;overflow:auto}.course-search-shell.layout-rail .search-results-scroll::-webkit-scrollbar{width:0;height:0;display:none}.course-search-shell.layout-rail .search-panel-title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.rail-browse-modes{border:1px solid color-mix(in srgb,var(--color-border) 80%,transparent);background:color-mix(in srgb,var(--color-surface-muted) 80%,var(--color-surface));border-radius:11px;gap:3px;min-width:0;margin:0;padding:3px;display:flex}.rail-browse-mode{min-width:0;min-height:30px;color:var(--color-text-muted);text-align:center;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1 1 0;justify-content:center;align-items:center;padding:5px 8px;font-size:.7rem;font-weight:750;line-height:1.15;display:inline-flex}.rail-browse-mode:focus-visible,.rail-browse-mode:hover{color:var(--color-text);outline:none}.rail-browse-mode[aria-selected=true]{background:var(--color-surface);color:var(--color-text);box-shadow:0 1px 2px var(--color-shadow-float)}.rail-major-panel,.rail-start-panel{gap:12px;padding:0 0 12px}.rail-major-panel,.rail-start-panel,.start-here-panel{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex;overflow:hidden}.start-here-panel{gap:14px}.start-here-intro{flex-direction:column;gap:6px;min-width:0;display:flex}.start-here-intro .start-here-track{color:var(--color-primary);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:800;line-height:1.2}.start-here-intro h3,.start-here-step h4{color:var(--color-text);letter-spacing:0;margin:0;font-size:.95rem;font-weight:750}.start-here-empty,.start-here-intro p{color:var(--color-text-muted);margin:0;font-size:.78rem;font-weight:550;line-height:1.4}.start-here-intro a{color:var(--color-primary);font-weight:700;text-decoration:none}.start-here-intro a:focus-visible,.start-here-intro a:hover{text-decoration:underline}.start-here-done,.start-here-step{flex-direction:column;gap:8px;min-width:0;display:flex}.start-here-step{flex:auto;gap:12px;min-height:0;overflow:hidden}.start-here-done{align-items:flex-start;gap:8px;padding:8px 2px 4px}.start-here-done-mark{background:color-mix(in srgb,var(--color-primary) 16%,var(--color-surface));width:2.1rem;height:2.1rem;color:var(--color-primary);border-radius:999px;place-items:center;margin:0;font-size:1rem;font-weight:800;display:grid}.start-here-done h3{color:var(--color-text);margin:0;font-size:1.05rem;font-weight:800}.start-here-done p{color:var(--color-text-muted);margin:0;font-size:.8rem;font-weight:550;line-height:1.45}.start-here-pref{border:1px solid color-mix(in srgb,var(--color-border) 80%,transparent);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;border-radius:999px;padding:3px 8px;font-size:.68rem;font-weight:750}.start-here-pref.is-active,.start-here-pref:focus-visible,.start-here-pref:hover{border-color:color-mix(in srgb,var(--color-primary) 40%,var(--color-border));color:var(--color-primary);outline:none}.start-here-req{flex-direction:column;flex:auto;gap:8px;min-width:0;min-height:0;display:flex}.start-here-req-head{flex-direction:column;flex:none;gap:6px;min-width:0;display:flex}.start-here-req-select{width:100%;min-width:0}.start-here-req-tools{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.start-here-req-tools p{color:var(--color-text-muted);margin:0;font-size:.72rem;font-weight:650}.start-here-term{border:1px solid color-mix(in srgb,var(--color-border) 82%,transparent);background:color-mix(in srgb,var(--color-surface-muted) 72%,var(--color-surface));border-radius:12px;flex-direction:column;flex:0 auto;gap:7px;min-width:0;min-height:0;padding:9px 11px 8px;display:flex;overflow:hidden}.start-here-term-dock{flex-direction:column;flex:none;gap:6px;min-width:0;margin-top:auto;padding-top:4px;display:flex}.start-here-term-dock-meta{justify-content:space-between;align-items:center;gap:8px;min-width:0;min-height:1.1rem;display:flex}.start-here-term-dock-meta span{color:var(--color-text-muted);white-space:nowrap;font-size:.68rem;font-weight:700}.start-here-term-nav{align-items:center;gap:4px;min-width:0;display:flex}.start-here-term-select{flex:auto;width:100%;min-width:0}.start-here-term-step{border:1px solid color-mix(in srgb,var(--color-border) 80%,transparent);background:var(--color-surface);width:22px;height:22px;color:var(--color-text-muted);cursor:pointer;border-radius:6px;flex:none;place-items:center;margin:0;padding:0;font-size:.95rem;font-weight:700;line-height:1;display:grid}.start-here-term-step:focus-visible:not(:disabled),.start-here-term-step:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-primary) 40%,var(--color-border));color:var(--color-primary);outline:none}.start-here-term-step:disabled{opacity:.38;cursor:default}.start-here-skip-summer{width:fit-content;color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:0;font-size:.72rem;font-weight:750}.start-here-skip-summer:focus-visible,.start-here-skip-summer:hover{text-underline-offset:2px;outline:none;text-decoration:underline}.start-here-term-dock strong{color:var(--color-text);letter-spacing:0;font-size:.78rem;font-weight:800}.start-here-load-bar{background:color-mix(in srgb,var(--color-border) 70%,transparent);border-radius:999px;height:4px;overflow:hidden}.start-here-load-bar span{border-radius:inherit;background:var(--color-primary);height:100%;display:block}.start-here-term-plan{scrollbar-width:none;flex-direction:column;gap:2px;max-height:7.5rem;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.start-here-term-plan li{min-width:0;color:var(--color-text-muted);justify-content:space-between;align-items:baseline;gap:10px;padding:3px 1px;font-size:.68rem;font-weight:650;display:flex}.start-here-term-plan strong{min-width:0;color:var(--color-text);font-size:.76rem;font-weight:750}.start-here-term-kind{letter-spacing:.02em;text-transform:uppercase;flex:none;font-size:.64rem;font-weight:800}.start-here-term-kind.tone-core{color:var(--color-primary)}.start-here-term-kind.tone-math{color:var(--color-tone-math-text)}.start-here-term-kind.tone-science{color:var(--color-success-text)}.start-here-term-kind.tone-systems{color:var(--color-warning-text)}.start-here-term-kind.tone-theory{color:var(--color-tone-theory-text)}.start-here-term-kind.tone-applications{color:var(--color-tone-applications-text)}.start-here-term-kind.tone-cse{color:var(--color-primary)}.start-here-term-kind.tone-college{color:var(--color-tone-college-text)}.start-here-term-kind.tone-default{color:var(--color-text-subtle)}.start-here-placed{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.start-here-placed li{color:var(--color-text-muted);justify-content:space-between;align-items:baseline;gap:8px;font-size:.72rem;display:flex}.start-here-placed strong{color:var(--color-text);font-size:.76rem;font-weight:700}.start-here-options{scrollbar-width:none;flex-direction:column;flex:auto;gap:6px;min-height:0;margin:0;padding:0 2px 0 0;list-style:none;display:flex;overflow:auto}.start-here-options button{border:1px solid color-mix(in srgb,var(--color-border) 80%,transparent);background:var(--color-surface);width:100%;min-height:40px;color:var(--color-text);text-align:left;cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.start-here-options button.is-selected,.start-here-options button:focus-visible,.start-here-options button:hover{border-color:color-mix(in srgb,var(--color-primary) 40%,var(--color-border));outline:none}.start-here-options button.is-added,.start-here-options button.is-selected{background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface))}.start-here-options button:disabled{cursor:wait;opacity:.64}.start-here-option-main{flex-direction:column;gap:1px;min-width:0;display:flex}.start-here-option-main strong{font-size:.8rem;font-weight:750}.start-here-option-main span{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:550;overflow:hidden}.start-here-option-reason{color:var(--color-text-faint);font-size:.66rem;font-weight:650}.start-here-option-meta{color:var(--color-text-muted);white-space:nowrap;flex:none;align-items:center;gap:6px;font-size:.68rem;font-weight:650;display:inline-flex}.start-here-option-meta .course-grade-chip{min-width:1.35rem;padding:1px 5px;font-size:.66rem}.gradplan-req-panel{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex}.gradplan-req-panel .scheduler-req-stack{scrollbar-width:none;flex:auto;min-height:0;overflow:auto}.gradplan-req-panel .scheduler-req-stack::-webkit-scrollbar{display:none}.gradplan-req-panel .scheduler-req-card-toggle h4{white-space:normal;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.gradplan-req-toolbar{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex;overflow:visible}.gradplan-req-title{color:var(--color-text-heading);margin:0;font-size:.84rem;font-weight:750;line-height:1.2}.gradplan-req-mode{background:color-mix(in srgb,var(--color-surface) 82%,var(--color-text) 18%);border-radius:9px;flex:none;grid-template-columns:auto auto;gap:2px;margin-left:0;padding:2px;display:grid}.gradplan-req-mode-btn{color:var(--color-text-muted);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:4px 9px;font-size:.72rem;font-weight:750}.gradplan-req-mode-btn:focus-visible,.gradplan-req-mode-btn:hover{color:var(--color-text);outline:none}.gradplan-req-mode-btn[aria-selected=true]{background:var(--color-surface);color:var(--color-text-heading);box-shadow:0 1px 2px #0000001f}.gradplan-req-panel .scheduler-req-chip.is-unavailable{cursor:pointer}.rail-requirement-stack{gap:12px;min-width:0;display:grid}.course-search-shell.layout-rail .search-controls-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.course-search-shell:not(.layout-rail) .search-controls-row{display:contents}.rail-filter-panel-status{color:var(--color-text-muted);margin:0;font-size:.8rem;font-weight:600}.rail-clear-filters,.rail-filters-toggle{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;white-space:nowrap;border-radius:10px;flex:none;padding:7px 10px;font-size:.76rem;font-weight:700}.course-search-shell.layout-rail .rail-filters-toggle{min-height:34px;padding:8px 12px;font-size:.8rem}.rail-clear-filters:hover,.rail-filters-toggle.is-active,.rail-filters-toggle:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-soft)}.rail-filter-actions{flex:none;align-items:center;gap:6px;display:inline-flex}.rail-active-filters{justify-content:flex-start;display:flex}.rail-active-filters .rail-clear-filters{color:var(--color-text-subtle);padding:7px 11px;font-size:.76rem}.course-search-shell.layout-rail .rail-clear-filters{color:var(--color-text-subtle);white-space:nowrap;background:0 0;border:0;border-radius:10px;padding:7px 8px;font-size:.72rem;font-weight:700;display:none}.course-search-shell.layout-rail .rail-clear-filters.is-visible{align-items:center;display:inline-flex}.course-search-shell.layout-rail .rail-clear-filters.is-visible:focus-visible,.course-search-shell.layout-rail .rail-clear-filters.is-visible:hover{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary-soft) 70%,transparent);border-color:#0000;outline:none}.rail-filter-panel{flex:auto;align-content:start;gap:16px;min-width:0;min-height:0;padding:4px 2px 12px;display:grid;overflow:auto}.quarters-split{--gradplan-req-width:352px;--gradplan-req-gap:20px;--gradplan-req-ease:cubic-bezier(.22, 1, .36, 1);--gradplan-req-duration:.4s;grid-template-columns:var(--gradplan-req-width) minmax(0,1fr);-moz-column-gap:var(--gradplan-req-gap);column-gap:var(--gradplan-req-gap);transition:grid-template-columns var(--gradplan-req-duration) var(--gradplan-req-ease),column-gap var(--gradplan-req-duration) var(--gradplan-req-ease);transition:grid-template-columns var(--gradplan-req-duration) var(--gradplan-req-ease),column-gap var(--gradplan-req-duration) var(--gradplan-req-ease),-moz-column-gap var(--gradplan-req-duration) var(--gradplan-req-ease);align-items:start;row-gap:20px;display:grid}@media (width<=1100px) and (width>=761px){.quarters-split{--gradplan-req-width:304px;--gradplan-req-gap:16px}}.quarters-split.is-req-collapsed{--gradplan-req-width:0px;--gradplan-req-gap:0px}.quarters-split.is-req-collapsed .gradplan-add-dock-slot,.quarters-split.is-req-collapsed .quarters-search-rail{opacity:0;pointer-events:none;min-width:0;max-width:0;overflow:hidden}.quarters-split.is-req-collapsed .gradplan-add-dock-slot{display:none}.quarters-split.is-req-collapsed .gradplan-add-dock-slot>*,.quarters-split.is-req-collapsed .quarters-search-rail>*{opacity:0;transform:translate(-18px)}.gradplan-add-dock-slot>*,.quarters-search-rail>*{transition:opacity .28s ease,transform var(--gradplan-req-duration,.4s) var(--gradplan-req-ease,cubic-bezier(.22,1,.36,1));transition-delay:70ms,50ms}.quarters-split.is-req-collapsed .gradplan-add-dock-slot>*,.quarters-split.is-req-collapsed .quarters-search-rail>*{transition-duration:.14s,.2s;transition-delay:0s,0s}@media (prefers-reduced-motion:reduce){.gradplan-add-dock-slot>*,.quarters-search-rail>*,.quarters-split{transition:none}.quarters-split.is-req-collapsed .gradplan-add-dock-slot>*,.quarters-split.is-req-collapsed .quarters-search-rail>*{transform:none}}.quarters-pane-tabs{display:none}.quarters-pane-tab{color:var(--color-text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 14px;font-size:.82rem;font-weight:700}.quarters-pane-tab:focus-visible,.quarters-pane-tab:hover{color:var(--color-text);background:color-mix(in srgb,var(--color-surface-soft) 80%,transparent);outline:none}.quarters-pane-tab.is-active,.quarters-pane-tab[aria-selected=true]{background:var(--color-primary-soft);color:var(--color-primary)}.quarters-search-rail{top:var(--planner-sticky-top);max-height:calc(100dvh - var(--planner-sticky-top) - 24px);scrollbar-width:none;flex-direction:column;gap:18px;min-width:0;display:flex;position:sticky;overflow:auto}.quarters-search-rail::-webkit-scrollbar{width:0;height:0;display:none}.gradplan-add-dock-slot:empty{display:none}.planner-shell.is-quarters .gradplan-add-dock-slot:not(:empty){scrollbar-width:none;flex-direction:column;min-height:0;max-height:min(42dvh,380px);display:flex;overflow:hidden}.course-add-dock{border:1px solid color-mix(in srgb,var(--color-border) 88%,transparent);background:var(--color-surface);border-radius:14px;gap:6px;min-width:0;max-width:100%;padding:10px 12px 12px;display:grid;overflow:hidden}.course-add-dock:not(.course-detail-card){overscroll-behavior-x:none;touch-action:pan-y;flex-direction:column;flex:0 auto;min-height:0;max-height:min(42dvh,380px);display:flex;overflow:auto}.course-add-dock:not(.course-detail-card)>:not(.course-add-dock-details){flex:none}.course-detail-card.course-add-dock:has(.course-add-dock-footer){padding-bottom:0}.course-add-dock-head{align-items:flex-start;gap:8px;min-width:0;display:flex}.course-add-dock-titles{flex:auto;gap:3px;min-width:0;display:grid}.course-add-dock-identity{flex-wrap:wrap;align-items:center;gap:6px 8px;min-width:0;display:flex}.course-add-dock-code{color:var(--color-text-heading);margin:0;font-size:.92rem;font-weight:800;line-height:1.25}.course-add-dock-chips{flex-wrap:wrap;align-items:center;gap:5px;min-width:0;display:inline-flex}.course-add-dock-offered{color:var(--color-text-muted);white-space:nowrap;font-size:.72rem;font-weight:750;line-height:1.2}.course-add-dock-offered[data-tone=this-fall]{color:var(--color-primary)}.course-add-dock-offered[data-tone=in-plan],.course-add-dock-title{color:var(--color-text-subtle)}.course-add-dock-title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.76rem;font-weight:650;line-height:1.35;display:-webkit-box;overflow:hidden}.course-add-dock-meta{gap:3px;min-width:0;display:grid}.course-add-dock-units{color:var(--color-text-muted);letter-spacing:0;white-space:nowrap;margin:0;font-size:.78rem;font-weight:700;line-height:1.25}.course-add-dock-fills{gap:4px;min-width:0;display:grid}.course-add-dock-fill-row{background:var(--color-surface-muted);min-width:0;color:var(--color-text-subtle);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:5px 8px;display:grid}.course-add-dock-fill-row.tone-core{background:var(--color-primary-soft);color:var(--color-primary)}.course-add-dock-fill-row.tone-math{background:var(--color-tone-math-bg);color:var(--color-tone-math-text)}.course-add-dock-fill-row.tone-science{background:var(--color-success-bg);color:var(--color-success-text)}.course-add-dock-fill-row.tone-systems{background:var(--color-warning-bg);color:var(--color-warning-text)}.course-add-dock-fill-row.tone-theory{background:var(--color-tone-theory-bg);color:var(--color-tone-theory-text)}.course-add-dock-fill-row.tone-applications{background:var(--color-tone-applications-bg);color:var(--color-tone-applications-text)}.course-add-dock-fill-row.tone-cse{background:var(--color-primary-chip);color:var(--color-primary)}.course-add-dock-fill-row.tone-college{background:var(--color-tone-college-bg);color:var(--color-tone-college-text)}.course-add-dock-fill-row.tone-default{background:var(--color-surface-muted);color:var(--color-text-subtle)}.course-add-dock-fill-row.is-closed{opacity:.72}.course-add-dock-fill-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.7rem;font-weight:750;line-height:1.3;overflow:hidden}.course-add-dock-fill-count{font-variant-numeric:tabular-nums;white-space:nowrap;opacity:.88;flex:none;font-size:.68rem;font-weight:800;line-height:1.2}.course-add-dock-tools{flex:none;align-items:center;gap:4px;margin:-2px -4px 0 0;display:inline-flex}.course-add-dock-tools .course-grade-chip{margin-right:2px}.course-add-dock-close,.course-add-dock-expand{width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:inline-grid}.course-add-dock-expand svg{transition:transform .16s}.course-add-dock-expand.is-open svg{transform:rotate(180deg)}.course-add-dock-close:focus-visible,.course-add-dock-close:hover,.course-add-dock-expand:focus-visible,.course-add-dock-expand:hover{color:var(--color-text);background:color-mix(in srgb,var(--color-surface-muted) 70%,transparent);outline:none}.course-add-dock-details{overscroll-behavior-x:none;touch-action:pan-y;grid-template-columns:1fr 1fr;gap:6px 10px;min-width:0;max-width:100%;max-height:min(18vh,12.5rem);padding:2px 2px 4px 0;display:grid;overflow:auto}.course-add-dock:not(.course-detail-card) .course-add-dock-details{flex:auto;min-height:0;max-height:none}.course-add-dock-detail[data-span=full]{grid-column:1/-1}@media (width<=640px){.course-add-dock-details{grid-template-columns:1fr}}.course-add-dock-detail h3{color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:6px;margin:0 0 2px;font-size:.62rem;font-weight:800;line-height:1.2;display:flex}.course-add-dock-clamp{-webkit-line-clamp:3;line-clamp:3}.course-add-dock-clamp,.course-add-dock-description{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.course-add-dock-description{-webkit-line-clamp:8;line-clamp:8}.course-add-dock-detail{min-width:0;max-width:100%}.course-add-dock-detail p,.course-add-dock-detail-empty{color:var(--color-text-subtle);overflow-wrap:anywhere;word-break:break-word;margin:0;font-size:.72rem;font-weight:550;line-height:1.4}.course-add-dock-detail-empty{color:var(--color-text-faint)}.course-add-dock-restriction-chips{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.course-add-dock-restriction-chip{border:1px solid color-mix(in srgb,var(--color-border) 80%,transparent);background:color-mix(in srgb,var(--color-surface-muted) 70%,var(--color-surface));max-width:100%;color:var(--color-text-muted);overflow-wrap:anywhere;border-radius:999px;align-items:center;padding:1px 7px;font-size:.62rem;font-weight:650;line-height:1.35;display:inline-flex}.course-add-dock-ready{color:var(--color-text-subtle);overflow-wrap:anywhere;margin:0;font-size:.62rem;font-weight:600;line-height:1.35}.course-add-dock-ready.is-missing{color:var(--color-warning-text)}.course-add-dock-ready.is-ready{color:var(--color-success-text)}.course-add-dock-scroll{overscroll-behavior:contain;overscroll-behavior-x:none;touch-action:pan-y;flex:auto;gap:6px;min-height:0;display:grid;overflow:auto}.course-add-dock-scroll,.course-add-dock-scroll>*{min-width:0;max-width:100%}.course-add-dock-presence{color:var(--color-text-subtle);margin:0;font-size:.72rem;font-weight:650;line-height:1.35}.course-add-dock-footer{border-top:1px solid color-mix(in srgb,var(--color-border) 72%,transparent);background:color-mix(in srgb,var(--color-surface-muted) 70%,var(--color-surface));gap:8px;min-width:0;margin:4px -12px 0;padding:10px 12px 12px;display:grid}.course-add-dock:not(.course-detail-card) .course-add-dock-footer{background:0 0;border-top:0;flex:none;gap:4px;margin:0;padding:0}.course-add-dock:not(.course-detail-card) .course-add-dock-actions .button,.course-add-dock:not(.course-detail-card) .course-add-dock-actions .themed-select-trigger{min-height:32px}.course-add-dock-actions{align-items:stretch;min-width:0;display:flex}.course-add-dock-actions .themed-select,.course-add-dock-actions .themed-select-compact,.course-add-dock-actions .themed-select-shell{flex:auto;width:auto;min-width:0;max-width:none}.course-add-dock-actions .themed-select-trigger{border-right:0;border-radius:10px 0 0 10px;min-height:36px}.course-add-dock-actions .themed-select-trigger:focus-visible,.course-add-dock-actions .themed-select-trigger:hover,.course-add-dock-actions .themed-select-trigger[data-headlessui-state~=open]{z-index:1}.course-add-dock-actions .button{border-radius:0 10px 10px 0;flex:none;min-width:4.6rem;min-height:36px;padding:0 14px;font-size:.8rem;font-weight:750}.course-add-dock-actions .button.button-secondary{border-left:0}.course-add-dock-hint{color:var(--color-text-faint);margin:0;font-size:.68rem;font-weight:600;line-height:1.35}.course-detail-layer.is-modal{z-index:80;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.course-detail-layer.is-popover{z-index:80;pointer-events:none;position:fixed;inset:0}.course-detail-layer.is-popover .course-detail-card{pointer-events:auto}.course-detail-backdrop{background:color-mix(in srgb,var(--color-text) 28%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);position:absolute;inset:0}.course-detail-card{z-index:1;width:min(400px,100%);min-width:0;max-width:100%;min-height:0;box-shadow:0 16px 40px var(--color-shadow-float);flex-direction:column;display:flex;position:relative;overflow:hidden}.course-detail-card .course-add-dock-details{max-height:none;padding-right:0;overflow:visible}.course-detail-card .course-add-dock-footer{flex:none}.course-detail-layer.is-modal .course-detail-card{max-height:min(72dvh,520px)}.course-detail-card .course-add-dock-scroll{padding-bottom:2px}.course-detail-scope{flex-wrap:wrap;gap:4px;display:flex}.course-detail-scope .button{min-height:28px;padding:0 8px;font-size:.68rem}.course-detail-scope .button[aria-pressed=true]{background:var(--color-primary-soft);color:var(--color-primary);border-color:#0000}.course-add-dock-actions:not(:has(.button)) .themed-select-trigger{border-right:1px solid var(--color-border);border-radius:10px}.course-detail-error{margin:0}.course-detail-popover-enter-active,.course-detail-popover-leave-active{transition:opacity .14s,transform .14s}.course-detail-popover-enter-from,.course-detail-popover-leave-to{opacity:0;transform:translateY(-6px)}@media (prefers-reduced-motion:reduce){.course-detail-popover-enter-active,.course-detail-popover-leave-active{transition:none}}@media (width<=760px){.course-detail-layer.is-modal{place-items:end center;padding:0}.course-detail-layer.is-modal .course-detail-card,.course-detail-layer.is-popover .course-detail-card{border-bottom:0;border-left:0;border-right:0;border-radius:16px 16px 0 0;width:100%;min-height:34dvh;max-height:min(52dvh,520px)}.course-detail-card .course-add-dock-footer{padding-bottom:max(12px,env(safe-area-inset-bottom))}.course-detail-popover-enter-from,.course-detail-popover-leave-to{transform:translateY(8px)}}.quarters-board-pane{gap:12px;min-width:0;max-width:100%;display:grid;position:relative}@media (width<=980px){.planner-shell.is-quarters .quarters-board-pane,.quarters-board-pane{gap:8px}.quarter-track-key{gap:8px 14px;margin:0}.quarter-board-toolbar{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:6px 8px;min-width:0;padding-bottom:0;display:flex}.quarter-board-toolbar-start{gap:6px}.quarter-board-toolbar .planner-board-add{flex:none;width:auto;min-width:0}.quarter-board-toolbar .themed-select-trigger{border-radius:8px;gap:4px;min-height:32px;padding:0 6px;font-size:.78rem}.quarter-board-toolbar-actions{flex-wrap:nowrap;flex:none;align-items:center;gap:4px;width:auto;margin-left:auto;display:flex}.quarter-board-toolbar .button{min-height:32px;font-size:.74rem}.quarter-board-toolbar .quarter-board-icon-btn{width:32px;min-width:32px;min-height:32px}.quarter-board.is-ultra .school-year-group-header{padding:0 0 2px}.quarter-board.is-ultra .school-year-group-header h3{font-size:.72rem}}@media (width<=760px){.quarters-split,.quarters-split.is-req-collapsed{--gradplan-req-gap:6px;grid-template-columns:1fr;gap:6px}.quarters-split.is-req-collapsed .gradplan-add-dock-slot,.quarters-split.is-req-collapsed .quarters-search-rail{opacity:1;pointer-events:auto;max-width:none;overflow:hidden}.quarters-split.is-req-collapsed .gradplan-add-dock-slot{display:revert}.quarters-split.is-req-collapsed .gradplan-add-dock-slot>*,.quarters-split.is-req-collapsed .quarters-search-rail>*{opacity:1;transform:none}.quarter-board-req-toggle{display:none}.course-add-dock:not(.course-detail-card){border-bottom:0;border-left:0;border-right:0;border-radius:16px 16px 0 0;min-height:34dvh;padding:10px 12px 12px}.quarters-pane-tabs{background:color-mix(in srgb,var(--color-surface-soft) 88%,transparent);border-radius:999px;grid-column:1/-1;align-items:center;gap:2px;width:fit-content;padding:2px;display:inline-flex}.quarters-pane-tab{padding:4px 11px;font-size:.74rem}.quarters-split[data-pane=plan] .quarters-search-rail,.quarters-split[data-pane=requirements] .quarters-board-pane{display:none}.quarters-search-rail{min-height:0;max-height:none;position:static;overflow:hidden}.planner-shell.is-quarters .quarters-search-rail,.quarters-split[data-pane=requirements] .quarters-search-rail{flex:auto;height:auto}.course-search-shell.layout-rail .search-results-scroll{max-height:none}.course-search-shell.layout-rail .search-controls-row{grid-template-columns:minmax(0,1fr) auto;gap:6px}.course-search-shell.layout-rail .search-wide{padding:10px 34px 10px 12px}.course-search-shell.layout-rail .course-result-row{padding:11px 10px 11px 12px}.gradplan-req-toolbar{gap:8px}.gradplan-req-mode{grid-template-columns:auto auto;width:auto;margin-left:0}.gradplan-req-mode-btn{min-height:32px;padding:6px 8px;font-size:.76rem}.course-search-shell.layout-rail .rail-filter-actions{gap:4px}.course-search-shell.layout-rail .rail-filters-toggle{padding:8px 11px;font-size:.78rem}.course-search-shell.layout-rail .rail-clear-filters{min-width:0;padding:7px 8px}}.import-panel,.search-panel{min-width:0}.search-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:10px 16px;margin-bottom:12px;display:flex}.search-panel-head h2{letter-spacing:-.02em;margin:0;font-size:1.05rem;font-weight:800}.search-panel-hint{margin:.2rem 0 0;font-size:.8rem}.search-panel-empty,.search-panel-hint{color:var(--color-text-muted);font-weight:600}.search-panel-empty{margin:.5rem 0 0;font-size:.88rem}.course-result-list{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:6px;display:grid}@media (width<=1100px){.course-result-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.search-results-scroll{scroll-behavior:smooth;scrollbar-width:none;max-height:430px;padding:4px 4px 10px;overflow-y:auto}.search-results-scroll::-webkit-scrollbar{width:0;height:0}.course-result-row{border:1px solid var(--color-border-soft);background:var(--color-surface);content-visibility:auto;contain-intrinsic-size:auto 76px;border-radius:0;align-items:stretch;min-width:0;min-height:0;display:flex;overflow:hidden}.course-result-body{flex:1;align-content:start;gap:2px;min-width:0;padding:8px 10px;display:grid}.course-result-top{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.course-result-top-meta{flex:none;align-items:center;gap:8px;margin-left:auto;display:inline-flex}.course-result-units{color:var(--color-text-muted);white-space:nowrap;flex:none;font-size:.78rem;font-weight:750}.course-result-code{color:var(--color-primary);letter-spacing:.01em;margin:0;font-size:.82rem;font-weight:900;line-height:1.2}.course-result-title{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.84rem;font-weight:700;line-height:1.25;overflow:hidden}.course-result-meta{min-width:0;color:var(--color-text-muted);flex-wrap:nowrap;align-items:baseline;gap:0 4px;margin:2px 0 0;font-size:.72rem;font-weight:700;line-height:1.35;display:flex;overflow:hidden}.course-result-sep{color:var(--color-text-faint);flex:none;font-weight:600}.course-result-req{min-width:0;color:var(--color-text-subtle);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;font-weight:800;overflow:hidden}.course-result-req.tone-core{color:var(--color-primary)}.course-result-req.tone-math{color:var(--color-tone-math-text)}.course-result-req.tone-science{color:var(--color-success-text)}.course-result-req.tone-systems{color:var(--color-warning-text)}.course-result-req.tone-theory{color:var(--color-tone-theory-text)}.course-result-req.tone-applications{color:var(--color-tone-applications-text)}.course-result-req.tone-cse{color:var(--color-primary)}.course-result-req.tone-college{color:var(--color-tone-college-text)}.course-result-desc{color:var(--color-chip-muted-text);-webkit-line-clamp:1;line-clamp:1;font-weight:500}.course-result-blurb,.course-result-desc{-webkit-box-orient:vertical;margin:2px 0 0;font-size:.7rem;line-height:1.35;display:-webkit-box;overflow:hidden}.course-result-blurb{color:var(--color-text-muted);-webkit-line-clamp:2;line-clamp:2;font-weight:550}.course-result-blurb.is-empty{display:none}.course-result-presence{flex-wrap:wrap;gap:4px 8px;margin-top:2px;display:flex}.course-result-presence-item{color:var(--color-text-muted);font-size:.7rem;font-weight:800}.course-result-add{border:0;border-left:1px solid var(--color-border-soft);min-width:52px;color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border-radius:0;flex:none;align-self:stretch;margin:0;padding:0 12px;font-size:.78rem;font-weight:900;line-height:1;transition:background-color .12s,color .12s}.course-result-add:hover:not(:disabled){background:color-mix(in srgb,var(--color-text) 8%,var(--color-surface));color:var(--color-text)}.course-result-add:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px;z-index:1}.course-result-add:disabled{color:var(--color-text-faint);cursor:default}.course-result-row.is-added .course-result-add{background:color-mix(in srgb,var(--color-text) 4%,var(--color-surface))}@media (width<=760px){.needs-quarter-tray{gap:4px 8px;margin-bottom:6px;padding:6px 8px}.needs-quarter-label{gap:6px}.needs-quarter-label h3{font-size:.78rem}.needs-quarter-toggle{min-height:32px;padding:4px 8px}.needs-quarter-chip{min-height:32px;padding:4px 6px 4px 10px}.needs-quarter-chip-menu-trigger{min-width:1.75rem;min-height:1.75rem}.needs-quarter-chip strong{font-size:.74rem}.quarter-board.is-compact{gap:14px}.quarter-board.calendar-board:not(.is-compact):not(.is-ultra),.quarter-board:not(.is-compact):not(.is-ultra){scroll-snap-type:none;scroll-behavior:auto;-webkit-overflow-scrolling:touch;grid-auto-columns:minmax(200px,min(236px,62vw))}.quarter-board.is-compact .school-year-quarters{scroll-snap-type:none;scroll-behavior:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;gap:8px;padding:0 0 6px;display:flex;overflow:auto hidden}.quarter-board.is-compact .school-year-quarters .quarter-column.is-compact{scroll-snap-align:none;flex:0 0 min(64vw,200px);width:min(64vw,200px);max-width:none}.quarter-board.is-ultra{--year-gap:10px;--year-width:clamp(112px, calc(40% - var(--year-gap)*1.5/2.5), 148px);gap:var(--year-gap);scroll-snap-type:none;scroll-behavior:auto;-webkit-overflow-scrolling:touch}.quarter-board.is-ultra.calendar-board{grid-auto-columns:var(--year-width)}}.next-quarter-dialog-body{overscroll-behavior:contain;min-height:0;max-height:min(52vh,420px);margin:0 -4px;padding:0 4px;overflow:hidden auto}.next-quarter-dialog-empty{color:var(--color-text-muted);margin:0;font-size:.88rem;font-weight:600;line-height:1.45}.next-quarter-dialog-empty a{color:var(--color-primary);font-weight:800;text-decoration:none}.next-quarter-dialog-empty a:hover{text-decoration:underline}.next-quarter-dialog-loading{align-content:center;justify-items:center;gap:14px;min-height:min(36vh,280px);padding:28px 12px;display:grid}.next-quarter-dialog-spinner{border:2px solid color-mix(in srgb,var(--color-primary) 25%,var(--color-border));border-top-color:var(--color-primary);border-radius:999px;width:28px;height:28px;animation:.7s linear infinite next-quarter-spin}.next-quarter-dialog-loading p{color:var(--color-text-muted);margin:0;font-size:.86rem;font-weight:650}@keyframes next-quarter-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.next-quarter-dialog-spinner{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border));animation:none}}.next-quarter-dialog-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.next-quarter-dialog-list>li{border-bottom:1px solid color-mix(in srgb,var(--color-border) 55%,transparent);border-left:3px solid #0000;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:10px;padding:10px 0 10px 10px;display:grid;overflow:visible}.next-quarter-dialog-list>li:last-child{border-bottom:0}.next-quarter-dialog-list>li.is-planned{opacity:.72}.next-quarter-dialog-list>li.tone-core,.next-quarter-dialog-list>li.tone-cse{border-left-color:var(--color-primary)}.next-quarter-dialog-list>li.tone-math{border-left-color:var(--color-tone-math-text)}.next-quarter-dialog-list>li.tone-science{border-left-color:var(--color-success-text)}.next-quarter-dialog-list>li.tone-systems{border-left-color:var(--color-warning-text)}.next-quarter-dialog-list>li.tone-theory{border-left-color:var(--color-tone-theory-text)}.next-quarter-dialog-list>li.tone-applications{border-left-color:var(--color-tone-applications-text)}.next-quarter-dialog-list>li.tone-college{border-left-color:var(--color-tone-college-text)}.next-quarter-dialog-list>li.tone-default{border-left-color:var(--color-text-muted)}.next-quarter-dialog-list>li.has-prereq-warn{border-left-color:var(--color-warning-text)}.next-quarter-dialog-course .next-quarter-dialog-prereq-chip,.next-quarter-dialog-prereq-chip{border:1px solid color-mix(in srgb,var(--color-warning-text) 35%,var(--color-border-soft));background:color-mix(in srgb,var(--color-warning-bg,#fff4e5) 80%,var(--color-surface));min-height:18px;color:var(--color-warning-text);letter-spacing:.01em;text-overflow:unset;white-space:nowrap;border-radius:999px;flex:none;align-items:center;padding:0 7px;font-size:.64rem;font-style:normal;font-weight:800;line-height:1;display:inline-flex;position:relative;overflow:visible}.next-quarter-dialog-prereq-chip:focus-visible,.next-quarter-dialog-prereq-chip:hover{z-index:6;outline:none}.next-quarter-dialog-prereq-chip[data-tooltip]:after{content:attr(data-tooltip);z-index:20;border:1px solid var(--color-border);background:var(--color-surface);width:max-content;max-width:min(18rem,70vw);color:var(--color-text);letter-spacing:0;text-align:left;white-space:normal;box-shadow:0 6px 18px var(--color-shadow-float);opacity:0;pointer-events:none;border-radius:8px;padding:5px 8px;font-size:.72rem;font-style:normal;font-weight:650;line-height:1.2;transition:opacity .14s,transform .14s;position:absolute;bottom:calc(100% + 8px);left:0;transform:translateY(3px)}.next-quarter-dialog-prereq-chip[data-tooltip]:focus-visible:after,.next-quarter-dialog-prereq-chip[data-tooltip]:hover:after{opacity:1;transform:translateY(0)}.next-quarter-dialog-course .next-quarter-dialog-unlock-chip,.next-quarter-dialog-unlock-chip,button.next-quarter-dialog-unlock-chip{border:1px solid color-mix(in srgb,var(--color-primary) 28%,var(--color-border-soft));background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));min-height:24px;color:var(--color-primary);letter-spacing:.01em;text-overflow:unset;white-space:nowrap;cursor:pointer;border-radius:999px;flex:none;align-items:center;padding:0 8px;font-size:.68rem;font-style:normal;font-weight:800;line-height:1;display:inline-flex;position:relative;overflow:visible}button.next-quarter-dialog-unlock-chip:focus-visible,button.next-quarter-dialog-unlock-chip:hover,button.next-quarter-dialog-unlock-chip[aria-expanded=true]{background:color-mix(in srgb,var(--color-primary) 16%,var(--color-surface));outline:none}.next-quarter-dialog-unlock-menu{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-surface);width:max-content;max-width:min(288px,100vw - 16px);box-shadow:0 12px 28px var(--color-shadow-float);border-radius:12px;gap:4px;padding:8px 10px;display:grid;overflow:visible}.next-quarter-dialog-unlock-menu .next-quarter-dialog-req-menu-label{white-space:nowrap;margin:0 2px 2px}.next-quarter-dialog-unlock-menu ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.next-quarter-dialog-unlock-code{color:var(--color-text-heading);white-space:nowrap;border-radius:6px;padding:4px 6px;font-size:.8rem;font-weight:800;display:block}.next-quarter-dialog-course{gap:2px;min-width:0;display:grid}.next-quarter-dialog-course-head{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;display:flex}.next-quarter-dialog-course-head strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.next-quarter-dialog-course-head .next-quarter-dialog-units{color:var(--color-text-muted);white-space:nowrap;flex:none;margin:0;font-size:.72rem;font-weight:700;line-height:1.2}.next-quarter-dialog-course strong{color:var(--color-text-heading);font-size:.88rem;font-weight:800}.next-quarter-dialog-course>span{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:600;line-height:1.3;overflow:hidden}.next-quarter-dialog-course em{min-width:0;color:var(--color-text-muted);flex-wrap:nowrap;align-items:center;gap:4px 6px;font-size:.72rem;font-style:normal;font-weight:650;display:flex;overflow:visible}.next-quarter-dialog-course .next-quarter-dialog-units{color:inherit;font-size:inherit;font-weight:inherit;text-overflow:unset;white-space:nowrap;flex:none;overflow:visible}.next-quarter-dialog-req{font-weight:800}button.next-quarter-dialog-req{font:inherit;cursor:pointer;text-align:left;text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);background:0 0;border:0;border-radius:0;margin:0;padding:0;font-weight:800;display:inline}button.next-quarter-dialog-req:focus-visible,button.next-quarter-dialog-req:hover{outline:none;text-decoration-color:currentColor}button.next-quarter-dialog-req[aria-expanded=true]{text-decoration-color:currentColor}.next-quarter-dialog-req-pop{flex:0 auto;min-width:0;display:inline-flex}.next-quarter-dialog-course em>.next-quarter-dialog-req,.next-quarter-dialog-req-pop .next-quarter-dialog-req{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;display:block;overflow:hidden}.next-quarter-dialog-options-pop{display:flex}.next-quarter-dialog-req-menu{box-sizing:border-box;pointer-events:auto;border:1px solid var(--color-border);background:var(--color-surface);min-width:0;max-width:min(288px,100vw - 16px);box-shadow:0 10px 28px var(--color-shadow-float);border-radius:12px;align-content:start;gap:2px;padding:8px;display:grid;overflow:hidden auto}.next-quarter-dialog-req-menu-label{color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;margin:0 4px 4px;font-size:.64rem;font-weight:750}.next-quarter-dialog-req-menu-head{align-items:center;gap:6px;margin:0 0 4px;display:flex}.next-quarter-dialog-req-menu-head p{min-width:0;color:var(--color-text-heading);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.78rem;font-weight:800;line-height:1.25;overflow:hidden}.next-quarter-dialog-req-menu-back{width:24px;height:24px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}.next-quarter-dialog-req-menu-back:focus-visible,.next-quarter-dialog-req-menu-back:hover{color:var(--color-text);background:color-mix(in srgb,var(--color-text) 6%,transparent);outline:none}.next-quarter-dialog-req-menu ul{gap:2px;min-width:0;max-width:100%;margin:0;padding:0;list-style:none;display:grid}.next-quarter-dialog-req-menu li{min-width:0;max-width:100%}.next-quarter-dialog-req-menu-class,.next-quarter-dialog-req-menu-req{box-sizing:border-box;width:100%;min-width:0;max-width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;gap:1px;margin:0;padding:7px 8px;display:grid}.next-quarter-dialog-req-menu-class-top{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.next-quarter-dialog-req-menu-class-id{flex:auto;align-items:baseline;gap:6px;min-width:0;display:inline-flex}.next-quarter-dialog-req-menu-class-id strong,.next-quarter-dialog-req-menu-class-top .next-quarter-dialog-req-menu-class-id strong{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;overflow:hidden}.next-quarter-dialog-req-menu-class-units{color:var(--color-text-muted);white-space:nowrap;flex:none;font-size:.66rem;font-style:normal;font-weight:700}.next-quarter-dialog-req-menu-class-top .course-grade-chip{flex:none;min-width:1.35rem;margin-left:0;padding:1px 5px;font-size:.66rem}.next-quarter-dialog-req-menu-req{align-items:center;gap:6px;min-width:0;max-width:100%;display:flex}.next-quarter-dialog-req-menu-chevron{color:var(--color-text-muted);opacity:.65;flex:none}.next-quarter-dialog-req-menu-class:focus-visible,.next-quarter-dialog-req-menu-class:hover,.next-quarter-dialog-req-menu-req:focus-visible,.next-quarter-dialog-req-menu-req:hover{background:color-mix(in srgb,var(--color-text) 6%,transparent);outline:none}.next-quarter-dialog-req-menu-class strong,.next-quarter-dialog-req-menu-req strong{min-width:0;color:var(--color-text-heading);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:.8rem;font-weight:800;overflow:hidden}.next-quarter-dialog-req-menu-req.tone-applications strong,.next-quarter-dialog-req-menu-req.tone-college strong,.next-quarter-dialog-req-menu-req.tone-core strong,.next-quarter-dialog-req-menu-req.tone-cse strong,.next-quarter-dialog-req-menu-req.tone-default strong,.next-quarter-dialog-req-menu-req.tone-math strong,.next-quarter-dialog-req-menu-req.tone-science strong,.next-quarter-dialog-req-menu-req.tone-systems strong,.next-quarter-dialog-req-menu-req.tone-theory strong{color:var(--color-text-heading)}.next-quarter-dialog-req-menu-class>span:not(.next-quarter-dialog-req-menu-class-top),.next-quarter-dialog-req-menu-req span:not(.next-quarter-dialog-prereq-chip):not(.next-quarter-dialog-req-menu-chevron){color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;font-weight:600;overflow:hidden}.next-quarter-dialog-req-menu-class em,.next-quarter-dialog-req-menu-class-meta{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:.68rem;font-style:normal;font-weight:650;display:flex}.next-quarter-dialog-req-menu-class-meta .next-quarter-dialog-prereq-chip,.next-quarter-dialog-req-menu-req .next-quarter-dialog-prereq-chip{max-width:none;min-height:16px;text-overflow:unset;white-space:nowrap;flex:none;padding:0 6px;font-size:.6rem;overflow:visible}.next-quarter-dialog-req-menu-empty{color:var(--color-text-muted);margin:4px;font-size:.74rem;font-weight:600}.next-quarter-dialog-req.tone-core,.next-quarter-dialog-req.tone-cse{color:var(--color-primary)}.next-quarter-dialog-req.tone-math{color:var(--color-tone-math-text)}.next-quarter-dialog-req.tone-science{color:var(--color-success-text)}.next-quarter-dialog-req.tone-systems{color:var(--color-warning-text)}.next-quarter-dialog-req.tone-theory{color:var(--color-tone-theory-text)}.next-quarter-dialog-req.tone-applications{color:var(--color-tone-applications-text)}.next-quarter-dialog-req.tone-college{color:var(--color-tone-college-text)}.next-quarter-dialog-list li>button{flex:none;align-items:center;gap:10px;margin:2px 0 0;display:inline-flex}.next-quarter-dialog-actions button[type=button]:not(.button),.next-quarter-dialog-list li>button,.next-quarter-dialog-prefs-head button{color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.78rem;font-weight:800}.next-quarter-dialog-actions button[type=button]:not(.button):focus-visible,.next-quarter-dialog-actions button[type=button]:not(.button):hover,.next-quarter-dialog-list li>button:focus-visible,.next-quarter-dialog-list li>button:hover,.next-quarter-dialog-prefs-head button:focus-visible,.next-quarter-dialog-prefs-head button:hover{outline:none;text-decoration:underline}.next-quarter-dialog-list li>button:disabled{color:var(--color-text-faint);cursor:default;text-decoration:none}.next-quarter-dialog-list>li.is-pending{background:color-mix(in srgb,var(--color-primary-soft) 45%,transparent)}.next-quarter-dialog-prefs{z-index:10;flex-wrap:nowrap;flex:none;justify-content:flex-end;gap:8px;margin-left:auto;display:flex;position:relative}.next-quarter-dialog-prefs>button{border:1px solid var(--color-border);background:var(--color-surface);min-height:32px;color:var(--color-text);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 10px 4px 8px;font-size:.72rem;font-weight:800;display:inline-flex}.next-quarter-dialog-prefs-icon{flex:none}.next-quarter-dialog-prefs-count{display:none}.next-quarter-dialog-prefs-chevron{flex:none;transition:transform .16s}.next-quarter-dialog-prefs-chevron.is-open{transform:rotate(180deg)}.next-quarter-dialog-prefs>button.is-active,.next-quarter-dialog-prefs>button:focus-visible,.next-quarter-dialog-prefs>button:hover,.next-quarter-dialog-prefs>button[aria-expanded=true]{color:var(--color-primary);border-color:var(--color-primary);background:var(--color-primary-soft);outline:none}.next-quarter-dialog-prefs-apply{justify-content:flex-end;padding-top:2px;display:flex}.suggest-plan-prefs-sheet{flex-direction:column;flex:auto;align-items:stretch;gap:12px;min-width:0;min-height:0;padding:4px 2px 8px;display:flex;overflow:hidden auto}.suggest-plan-prefs-sheet>*{flex:none;min-height:min-content}.next-quarter-dialog-prefs-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.next-quarter-dialog-prefs-head p{color:var(--color-text-subtle);margin:0;font-size:.78rem;font-weight:650}.suggest-plan-prefs-sheet section{gap:6px;display:grid}.suggest-plan-prefs-sheet h3{color:var(--color-text-muted);margin:0;font-size:.72rem;font-weight:750}.next-quarter-dialog-pref-chips{flex-wrap:wrap;gap:6px;display:flex}.next-quarter-dialog-pref-chips .catalog-filter-chip{padding:5px 9px;font-size:.74rem}.next-quarter-dialog-prefs-hint{color:var(--color-text-muted);margin:0;font-size:.72rem;font-weight:600;line-height:1.35}.next-quarter-dialog-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px 14px;padding-top:4px;display:flex}.next-quarter-dialog-nav{flex-wrap:wrap;align-items:center;gap:10px 12px;margin-right:auto;display:inline-flex}.next-quarter-dialog-nav span{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:700}.next-quarter-dialog-actions .button{min-height:36px;margin-left:auto;padding:0 14px;font-size:.82rem}.next-quarter-dialog-warn{background:color-mix(in srgb,var(--color-primary) 10%,transparent);color:var(--color-text)}.next-quarter-dialog-error,.next-quarter-dialog-warn{border-radius:10px;margin:0;padding:8px 10px;font-size:.8rem;font-weight:650;line-height:1.4}.next-quarter-dialog-error{background:color-mix(in srgb,var(--color-error-text) 12%,transparent);color:var(--color-error-text)}.next-quarter-dialog-chip{border:1px solid var(--color-border-soft);min-height:28px;color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:999px;flex:none;padding:0 11px;font-size:.72rem;font-weight:750}.next-quarter-dialog-chip:focus-visible,.next-quarter-dialog-chip:hover{color:var(--color-text);border-color:color-mix(in srgb,var(--color-text) 22%,var(--color-border-soft));background:color-mix(in srgb,var(--color-text) 5%,transparent);outline:none}.next-quarter-dialog-chip-add{border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border-soft));background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary);font-weight:800}.next-quarter-dialog-chip-add:focus-visible,.next-quarter-dialog-chip-add:hover{border-color:color-mix(in srgb,var(--color-primary) 55%,var(--color-border-soft));background:color-mix(in srgb,var(--color-primary) 20%,transparent);color:var(--color-primary)}.next-quarter-dialog-chip-add[aria-pressed=true]{border-color:color-mix(in srgb,var(--color-primary) 60%,var(--color-border-soft));background:color-mix(in srgb,var(--color-primary) 22%,transparent);color:var(--color-primary)}.next-quarter-dialog-chip:disabled{opacity:.5;cursor:default}.next-quarter-dialog-quarter-empty{border-style:dashed!important}@media (width<=760px){.next-quarter-dialog-prefs{margin-left:auto}.next-quarter-dialog-prefs>button{justify-content:center;gap:0;width:32px;min-width:32px;min-height:32px;padding:0;position:relative}.next-quarter-dialog-prefs-chevron,.next-quarter-dialog-prefs-text{display:none}.next-quarter-dialog-prefs-count{background:var(--color-primary);min-width:16px;height:16px;color:var(--color-surface);border-radius:999px;place-items:center;padding:0 4px;font-size:.58rem;font-weight:800;line-height:1;display:grid;position:absolute;top:-4px;right:-4px}.next-quarter-dialog-list>li{gap:8px;padding:7px 0 7px 8px}.next-quarter-dialog-course{gap:1px}.next-quarter-dialog-course strong{font-size:.8rem}.next-quarter-dialog-course>span{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.74rem;display:-webkit-box}.next-quarter-dialog-course em{font-size:.66rem}.next-quarter-dialog-chip{min-height:26px;padding:0 8px;font-size:.66rem}.next-quarter-dialog-actions{gap:8px 10px;padding-top:2px}.next-quarter-dialog-actions .button{min-height:34px;padding:0 12px;font-size:.78rem}}.quarter-board-toolbar-actions .quarter-board-suggest-btn[aria-expanded=true],.quarter-board-toolbar-actions .quarter-board-suggest-btn[aria-pressed=true]{border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border));background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));color:var(--color-primary)}.quarter-board-sync-toolbar,.quarter-board-toolbar .sync-timetable{display:none}.suggest-plan-rail{height:100%;min-height:0;max-height:calc(100dvh - var(--planner-sticky-top) - 24px);flex-direction:column;gap:12px;padding:2px 2px 8px;display:flex;overflow:hidden}.suggest-plan-rail-head{z-index:20;flex:none;gap:4px;display:grid;position:relative}.suggest-plan-rail-head-row{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.suggest-plan-rail-back{color:var(--color-text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:2px;margin:0;padding:4px 6px 4px 2px;font-size:.72rem;font-weight:750;display:inline-flex}.suggest-plan-rail-back:focus-visible,.suggest-plan-rail-back:hover{color:var(--color-text);background:color-mix(in srgb,var(--color-surface-soft) 80%,transparent);outline:none}.suggest-plan-rail-sub{color:var(--color-text-muted);margin:0;font-size:.72rem;font-weight:600;line-height:1.35}.suggest-plan-focus{flex:none;gap:10px;min-width:0;min-height:min-content;display:grid}.suggest-plan-focus.is-nested{gap:12px}.suggest-plan-setup .suggest-plan-focus{gap:16px}.suggest-plan-focus.is-nested .suggest-plan-focus-row h3,.suggest-plan-setup .suggest-plan-focus-row h3{color:var(--color-text-muted);letter-spacing:0;text-transform:none;font-size:.72rem;font-weight:750}.suggest-plan-focus-row{gap:6px;min-width:0;min-height:min-content;display:grid}.suggest-plan-focus-row h3{color:var(--color-text-muted);letter-spacing:.02em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:750}.suggest-plan-focus-row .next-quarter-dialog-pref-chips{flex-wrap:wrap}.suggest-plan-focus-hint,.suggest-plan-focus-note{color:var(--color-text-muted);margin:0;font-size:.7rem;font-weight:600;line-height:1.35}.suggest-plan-setup{flex-direction:column;flex:auto;gap:14px;min-height:0;display:flex}.suggest-plan-setup-head{flex:none;gap:4px;display:grid}.suggest-plan-setup-progress{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:800}.suggest-plan-setup-head h2{color:var(--color-text-heading);letter-spacing:-.02em;margin:0;font-size:1.05rem;font-weight:750}.suggest-plan-setup-head p:last-child{color:var(--color-text-muted);margin:0;font-size:.78rem;font-weight:600;line-height:1.4}.suggest-plan-setup-body{flex:auto;min-height:0;padding:2px 1px 4px;overflow:hidden auto}.suggest-plan-setup-actions{flex:none;align-items:stretch;gap:8px;display:flex}.suggest-plan-setup-actions .button{border-radius:12px;flex:auto;min-width:0;min-height:40px;margin-left:auto}.suggest-plan-setup-back,.suggest-plan-setup-skip{border:1px solid color-mix(in srgb,var(--color-border) 80%,transparent);min-height:40px;color:var(--color-text-muted);font:inherit;cursor:pointer;background:0 0;border-radius:12px;padding:0 12px;font-size:.78rem;font-weight:700}.suggest-plan-setup-skip{color:var(--color-primary);border-color:color-mix(in srgb,var(--color-primary) 28%,transparent)}.suggest-plan-setup-back:focus-visible,.suggest-plan-setup-back:hover,.suggest-plan-setup-skip:focus-visible,.suggest-plan-setup-skip:hover{color:var(--color-text);background:color-mix(in srgb,var(--color-surface-soft) 80%,transparent);outline:none}.suggest-plan-pin-chips{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.suggest-plan-pin-chip{border:1px solid color-mix(in srgb,var(--color-text) 12%,transparent);color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:4px;margin:0;padding:3px 8px;font-size:.7rem;font-weight:700;display:inline-flex}.suggest-plan-pin-chip.is-pinned{background:color-mix(in srgb,var(--color-text) 8%,var(--color-surface))}.suggest-plan-pin-chip.is-path{color:var(--color-text-muted);border-style:dashed}.suggest-plan-pin-chip:focus-visible,.suggest-plan-pin-chip:hover{border-color:color-mix(in srgb,var(--color-text) 28%,transparent);color:var(--color-text);outline:none}.suggest-plan-pin-chip.is-pinned svg{color:var(--color-text);display:block}.suggest-plan-pin-search{min-width:0;position:relative}.suggest-plan-pin-input{border:1px solid color-mix(in srgb,var(--color-text) 12%,transparent);background:var(--color-surface);width:100%;min-height:32px;color:var(--color-text);font:inherit;border-radius:10px;padding:4px 32px 4px 10px;font-size:.78rem}.suggest-plan-pin-input:focus{border-color:color-mix(in srgb,var(--color-text) 28%,transparent);outline:none}.suggest-plan-pin-clear{right:6px}.suggest-plan-pin-search.is-nested .suggest-plan-pin-results{box-shadow:none;margin-top:4px;position:static}.suggest-plan-pin-results{z-index:4;border:1px solid color-mix(in srgb,var(--color-text) 12%,transparent);background:var(--color-surface);max-height:220px;box-shadow:0 8px 24px color-mix(in srgb,var(--color-text) 12%,transparent);border-radius:10px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto}.suggest-plan-pin-results button{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;gap:1px;margin:0;padding:6px 8px;display:grid}.suggest-plan-pin-results button:focus-visible,.suggest-plan-pin-results button:hover{background:color-mix(in srgb,var(--color-surface-soft) 90%,transparent);outline:none}.suggest-plan-pin-results strong{font-size:.78rem;font-weight:800}.suggest-plan-pin-results span{color:var(--color-text-muted);font-size:.7rem;font-weight:600}.suggest-plan-rail-prefs{flex:none;margin-left:auto}.suggest-plan-rail-prefs>button{gap:4px;min-height:24px;padding:2px 7px 2px 6px;font-size:.66rem;font-weight:750}.suggest-plan-rail-prefs .next-quarter-dialog-prefs-icon{width:12px;height:12px}.suggest-plan-rail-prefs .next-quarter-dialog-prefs-chevron{width:10px;height:10px}.suggest-plan-rail-ends{color:var(--color-text-muted);font-size:inherit;letter-spacing:-.01em;margin:0;font-weight:650}.suggest-plan-rail-ends-sep{color:var(--color-text-muted);opacity:.7}.suggest-plan-finish-field{min-width:0;display:block}.suggest-plan-finish-field .themed-select,.suggest-plan-finish-field .themed-select-shell{width:100%}.suggest-plan-rail-body .next-quarter-dialog-list{gap:8px}.suggest-plan-rail-body .next-quarter-dialog-list>li{border:1px solid color-mix(in srgb,var(--color-border) 70%,transparent);border-bottom:1px solid color-mix(in srgb,var(--color-border) 70%,transparent);background:color-mix(in srgb,var(--color-surface-soft,var(--color-surface-muted)) 55%,var(--color-surface));border-left-width:3px;border-radius:12px;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:10px;padding:12px 12px 12px 14px;display:grid}.suggest-plan-rail-body .next-quarter-dialog-list>li:last-child{border-bottom:1px solid color-mix(in srgb,var(--color-border) 70%,transparent)}.suggest-plan-rail-body .next-quarter-dialog-list>li.is-planned{opacity:.78;background:0 0}.suggest-plan-rail-body .next-quarter-dialog-list>li.is-pending{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border));background:color-mix(in srgb,var(--color-primary-soft) 55%,var(--color-surface))}.suggest-plan-rail-body .next-quarter-dialog-list>li.next-quarter-dialog-quarter-empty{background:0 0;border-style:dashed}.suggest-plan-rail-body .next-quarter-dialog-course{gap:4px}.suggest-plan-rail-body .next-quarter-dialog-course-head{align-items:baseline;gap:6px}.suggest-plan-rail-body .next-quarter-dialog-course-head strong{letter-spacing:-.02em;flex:0 auto;font-size:.92rem}.suggest-plan-rail-body .next-quarter-dialog-course-head .next-quarter-dialog-units{color:var(--color-text-muted);flex:none;margin-right:auto;font-size:.7rem;font-weight:700}.suggest-plan-rail-body .next-quarter-dialog-course-head .course-grade-chip{flex:none;min-width:1.35rem;margin-left:8px;padding:1px 5px;font-size:.66rem}.suggest-plan-more{gap:8px;margin-top:10px;display:grid}.suggest-plan-more-toggle{border:1px dashed color-mix(in srgb,var(--color-primary) 28%,var(--color-border));background:color-mix(in srgb,var(--color-primary-soft) 28%,var(--color-surface));width:100%;min-height:40px;color:var(--color-primary);font:inherit;cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;margin:0;padding:0 12px;font-size:.78rem;font-weight:750;display:flex}.suggest-plan-more-toggle em{color:inherit;font-style:normal;font-weight:800}.suggest-plan-more-toggle:focus-visible,.suggest-plan-more-toggle:hover{background:color-mix(in srgb,var(--color-primary-soft) 48%,var(--color-surface));outline:none}.suggest-plan-more.is-open{border:1px solid color-mix(in srgb,var(--color-border) 68%,transparent);background:color-mix(in srgb,var(--color-surface-soft) 70%,var(--color-surface));border-radius:14px;padding:8px}.suggest-plan-more.is-open .suggest-plan-more-toggle{background:0 0;border:0;min-height:28px;padding:0 4px}.suggest-plan-more.is-open .suggest-plan-more-toggle:focus-visible,.suggest-plan-more.is-open .suggest-plan-more-toggle:hover{color:var(--color-text);background:0 0}.suggest-plan-more-list{gap:6px}.suggest-plan-rail-body .suggest-plan-course-card.is-more{border-style:dashed}.suggest-plan-rail-body .next-quarter-dialog-course-title,.suggest-plan-rail-body .next-quarter-dialog-course>span.next-quarter-dialog-course-title{color:var(--color-text);white-space:normal;text-overflow:unset;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.78rem;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.suggest-plan-rail-body .next-quarter-dialog-course em{flex-wrap:wrap;gap:6px;margin-top:1px}.suggest-plan-rail-body .next-quarter-dialog-course-foot{border-top:1px solid color-mix(in srgb,var(--color-border) 55%,transparent);flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:8px;margin-top:2px;padding-top:8px;display:flex}.suggest-plan-rail-body .next-quarter-dialog-course-foot .next-quarter-dialog-row-options{color:var(--color-text-muted);font:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:0;font-size:.7rem;font-weight:700}.suggest-plan-rail-body .next-quarter-dialog-course-foot .next-quarter-dialog-row-options:focus-visible,.suggest-plan-rail-body .next-quarter-dialog-course-foot .next-quarter-dialog-row-options:hover,.suggest-plan-rail-body .next-quarter-dialog-course-foot .next-quarter-dialog-row-options[aria-expanded=true]{color:var(--color-text);outline:none}.suggest-plan-rail-body .next-quarter-dialog-course-foot-right{flex:none;align-items:center;gap:6px;margin-left:auto;display:inline-flex}.suggest-plan-rail-body .next-quarter-dialog-course-foot .next-quarter-dialog-unlock-chip{min-height:22px;padding:0 8px;font-size:.66rem}.suggest-plan-rail-body .next-quarter-dialog-course em .next-quarter-dialog-req-pop{flex:auto;min-width:0;max-width:none}.suggest-plan-rail-body .next-quarter-dialog-course em>.next-quarter-dialog-req,.suggest-plan-rail-body .next-quarter-dialog-req-pop .next-quarter-dialog-req{max-width:none;font-size:.7rem}.suggest-plan-rail-loading{min-height:160px;padding:20px 8px}.suggest-plan-rail-term-nav{flex:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.suggest-plan-rail-term-label{text-align:center;min-width:0}.suggest-plan-rail-term-label h3{letter-spacing:-.02em;margin:0;font-size:.92rem;font-weight:800}.suggest-plan-rail-term-label p{color:var(--color-text-muted);margin:2px 0 0;font-size:.72rem;font-weight:700}.suggest-plan-rail-term-btn{border:1px solid var(--color-border-soft);background:var(--color-surface);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;margin:0;display:inline-flex}.suggest-plan-rail-term-btn:focus-visible:not(:disabled),.suggest-plan-rail-term-btn:hover:not(:disabled){color:var(--color-text);border-color:color-mix(in srgb,var(--color-text) 22%,var(--color-border-soft));outline:none}.suggest-plan-rail-term-btn:disabled{opacity:.35;cursor:default}.suggest-plan-rail-meta{flex-wrap:wrap;flex:none;align-items:center;gap:8px;min-height:0;display:flex}.suggest-plan-rail-keep{min-width:0;color:var(--color-text-muted);cursor:pointer;align-items:center;gap:7px;font-size:.74rem;font-weight:650;display:inline-flex}.suggest-plan-rail-keep.is-on{color:var(--color-text)}.suggest-plan-rail-keep input{appearance:none;box-sizing:border-box;border:1.5px solid color-mix(in srgb,var(--color-text) 22%,var(--color-border-soft));background:var(--color-surface);cursor:pointer;border-radius:4px;width:14px;height:14px;margin:0}.suggest-plan-rail-keep.is-on input{border-color:var(--color-primary);background-color:var(--color-primary);background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222.4%22%20d%3D%22m3.5%208.5%203%203%206-6%22%2F%3E%3C%2Fsvg%3E);background-position:50%;background-repeat:no-repeat;background-size:10px 10px}.suggest-plan-rail-bottom{flex:none;gap:8px;margin-top:auto;padding-top:4px;display:grid}.suggest-plan-rail-add-term{border:1px solid color-mix(in srgb,var(--color-primary) 40%,var(--color-border));background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));width:100%;min-height:40px;color:var(--color-primary);font:inherit;letter-spacing:-.01em;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;margin:0;padding:0 14px;font-size:.84rem;font-weight:800;display:inline-flex}.suggest-plan-rail-add-term:focus-visible,.suggest-plan-rail-add-term:hover{background:color-mix(in srgb,var(--color-primary) 18%,var(--color-surface));outline:none;text-decoration:none}.suggest-plan-rail-add-term[aria-pressed=true]{border-color:color-mix(in srgb,var(--color-border) 80%,transparent);background:color-mix(in srgb,var(--color-surface-muted) 70%,var(--color-surface));color:var(--color-text-muted);font-weight:750;text-decoration:none}.suggest-plan-rail-add-term:disabled{opacity:.55;cursor:default}.suggest-plan-rail-body{flex:auto;min-height:0;max-height:none;margin:0;padding:2px 1px 4px;overflow:hidden auto}.suggest-plan-rail-actions{flex:none;margin-top:0}.suggest-plan-rail-bottom .suggest-plan-rail-actions{grid-template-columns:auto minmax(0,1fr);align-items:stretch;gap:8px;margin:0;padding-top:0;display:grid}.suggest-plan-rail-bottom .suggest-plan-rail-actions:has(>.button:only-child){grid-template-columns:minmax(0,1fr)}.suggest-plan-rail-bottom .suggest-plan-rail-actions .button{border-radius:12px;width:100%;min-height:40px;margin-left:0}.suggest-plan-rail-bottom .suggest-plan-rail-actions>button[type=button]:not(.button){border:1px solid color-mix(in srgb,var(--color-border) 80%,transparent);background:var(--color-surface);min-height:40px;color:var(--color-text-muted);border-radius:12px;padding:0 12px;font-size:.78rem;font-weight:750;text-decoration:none}.suggest-plan-rail-bottom .suggest-plan-rail-actions>button[type=button]:not(.button):focus-visible,.suggest-plan-rail-bottom .suggest-plan-rail-actions>button[type=button]:not(.button):hover{color:var(--color-text);background:color-mix(in srgb,var(--color-surface-muted) 70%,var(--color-surface));text-decoration:none}.suggest-plan-why{color:var(--color-text-muted);margin:4px 0 0;font-size:.7rem;font-style:normal;font-weight:600;line-height:1.35}.quarter-column.is-suggest-active{cursor:pointer}.quarter-column.is-suggest-focused{border-color:color-mix(in srgb,var(--color-primary) 55%,var(--color-border));box-shadow:0 0 0 1px color-mix(in srgb,var(--color-primary) 35%,transparent)}.quarter-preview-list{gap:8px;margin-top:8px;display:grid}.quarter-column.is-compact .quarter-preview-list,.quarter-column.is-ultra .quarter-preview-list{gap:6px;margin-top:6px}.quarter-course.is-suggest-preview{border-style:dashed;border-color:color-mix(in srgb,var(--color-primary) 40%,var(--color-border));background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface));opacity:.92}.quarter-course.is-suggest-preview .calendar-status-chip{color:var(--color-primary);border-color:color-mix(in srgb,var(--color-primary) 35%,transparent);background:color-mix(in srgb,var(--color-primary) 12%,transparent)}@media (width<=760px){.suggest-plan-rail{flex:auto;height:auto;max-height:none}.suggest-plan-rail-body{max-height:min(52dvh,420px)}}
