:root{--surface-page: #0b0c10;--surface-panel: #16171f;--surface-recessed: #1a1d29;--surface-raised: #2d3142;--text-primary: #ffffff;--text-secondary: #bfc0c0;--text-placeholder: #8b8d93;--border-default: #4f5d75;--accent-primary: #ea580c;--text-on-accent: #ffffff;--status-success-deep: #3f6212;--status-success-bright: #a3e635;--status-attention-border: #c2410c;--status-attention-text: #fb923c;--status-danger: #991b1b;--color-ore-canvas: var(--surface-page);--color-charcoal: var(--surface-panel);--color-inset: var(--surface-recessed);--color-slag: var(--surface-raised);--color-industrial-gray: var(--border-default);--color-limestone: var(--text-secondary);--color-pure-white: var(--text-primary);--color-oxide-rust: var(--accent-primary);--color-crimson-core: var(--status-danger);--color-raw-sienna: var(--status-attention-border);--color-sienna-bright: var(--status-attention-text);--color-moss-deep: var(--status-success-deep);--color-moss-bright: var(--status-success-bright);--font-ibm-plex-sans: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica Neue, Arial, sans-serif;--font-sf-mono: "SF Mono", ui-monospace, SFMono-Regular, Consolas, monospace;--text-data: 12px;--text-body-sm: 14px;--text-body: 16px;--text-subhead: 20px;--text-heading-sm: 24px;--text-heading: 48px;--radius-none: 0px;--border-structural: 1px solid var(--color-industrial-gray);--page-max-width: 1200px}[data-theme=light]{--surface-page: #f2f0ec;--surface-panel: #ffffff;--surface-recessed: #e8e5df;--surface-raised: #dcd8d0;--text-primary: #17140f;--text-secondary: #4b463e;--text-placeholder: #6e6961;--border-default: #756d60;--accent-primary: #9c390a;--status-success-deep: #3f6212;--status-success-bright: #345210;--status-attention-border: #c2410c;--status-attention-text: #8a3d0a;--status-danger: #991b1b}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--color-ore-canvas);color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body);line-height:1.6}.site-header{max-width:var(--page-max-width);margin:0 auto;padding:48px 32px 24px;background:var(--surface-page);border-bottom:var(--border-structural);display:flex;align-items:center;gap:32px;flex-wrap:wrap}.site-header-actions{margin-left:auto;display:flex;align-items:center;gap:32px;flex-wrap:wrap}.site-brand{display:flex;align-items:center;gap:12px}.site-brand-link{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.site-brand-link:hover .site-title{color:var(--color-oxide-rust)}.site-logo{display:block}.site-title{font-size:var(--text-heading-sm);font-weight:600;letter-spacing:-.5px;color:var(--color-pure-white);margin:0}.search-input{flex:1 1 320px;min-width:0;max-width:480px;height:36px;padding:0 12px;background:var(--color-charcoal);border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-pure-white);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm)}.search-input::placeholder{color:var(--text-placeholder)}.search-input:focus{outline:none;border-color:var(--color-oxide-rust)}.tab-bar{max-width:var(--page-max-width);margin:0 auto;padding:16px 32px 0;display:flex;flex-wrap:wrap;gap:8px}.tab-button{height:36px;padding:0 18px;background:transparent;border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);font-weight:600;cursor:pointer}.tab-button:hover:not(.active){color:var(--color-oxide-rust);border-color:var(--color-oxide-rust)}.tab-button.active{background:var(--color-oxide-rust);border-color:var(--color-oxide-rust);color:var(--text-on-accent);cursor:default}.tab-group{position:relative;display:flex}.tab-group-trigger{display:inline-flex;align-items:center;gap:8px}.tab-group-trigger[aria-expanded=true]{background:transparent;color:var(--color-oxide-rust);border-color:var(--color-oxide-rust)}.tab-group-caret{display:inline-block;font-size:10px;transform:translateY(1px);transition:transform .15s ease}.tab-group-trigger[aria-expanded=true] .tab-group-caret{transform:rotate(180deg) translateY(-1px)}.tab-group-menu{position:absolute;top:100%;left:0;z-index:20;margin-top:6px;min-width:200px;background:var(--color-charcoal);border:var(--border-structural);border-radius:var(--radius-none);padding:6px;display:flex;flex-direction:column;box-shadow:0 8px 24px #00000080}.tab-group-menu[hidden]{display:none}.tab-group-menu-item{height:36px;padding:0 10px;background:transparent;border:none;border-radius:var(--radius-none);color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);font-weight:600;text-align:left;cursor:pointer}.tab-group-menu-item:hover:not(.active){background:var(--color-inset);color:var(--color-oxide-rust)}.tab-group-menu-item.active{background:var(--color-oxide-rust);color:var(--text-on-accent);cursor:default}.tab-panel[hidden]{display:none}.content{max-width:var(--page-max-width);margin:0 auto;padding:32px}.filters{margin-bottom:16px}.checkbox-field{display:inline-flex;align-items:center;gap:8px;font-size:var(--text-body-sm);color:var(--color-limestone);cursor:pointer}.checkbox-field input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-oxide-rust);cursor:pointer}.course-table{width:100%;border-collapse:collapse;border:var(--border-structural)}.course-table thead th{text-align:left;font-size:var(--text-data);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-limestone);background:var(--color-charcoal);padding:10px 16px;border-bottom:var(--border-structural)}.course-table tbody td{padding:10px 16px;border-bottom:1px solid var(--color-slag);vertical-align:top;font-size:var(--text-body-sm)}.course-table tbody tr:last-child td{border-bottom:none}.col-code{width:120px}.col-title{width:46%}.col-terms{width:190px}.col-units{width:80px}.course-code{font-family:var(--font-sf-mono);font-size:var(--text-body-sm);color:var(--color-pure-white);white-space:nowrap}.course-title{color:var(--color-pure-white);font-weight:600;margin:0 0 4px}.course-row-desc{margin-top:4px}.course-description{color:var(--color-limestone);font-size:var(--text-body-sm);line-height:1.5;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.course-row-desc .course-description{-webkit-line-clamp:2;line-clamp:2}.course-description.is-toggleable{cursor:pointer}.course-description.expanded{display:block;-webkit-line-clamp:unset;line-clamp:unset;overflow:visible}.course-description-toggle{display:block;margin-top:0;padding:6px 0;min-height:24px;box-sizing:border-box;border:none;background:none;color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);text-align:left;cursor:pointer;text-decoration:underline}.course-description-pending{display:block;height:8px;margin-top:6px;max-width:60%;border-radius:2px;background:linear-gradient(90deg,var(--color-slag) 25%,var(--color-charcoal) 50%,var(--color-slag) 75%);background-size:400% 100%;animation:course-description-shimmer 1.4s linear infinite}@keyframes course-description-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion: reduce){.course-description-pending{animation:none}}.course-terms{font-family:var(--font-ibm-plex-sans);color:var(--color-limestone);white-space:nowrap}.course-terms.is-active{color:var(--color-oxide-rust)}.course-units{font-family:var(--font-sf-mono);color:var(--color-limestone);white-space:nowrap}.type-filter{display:flex;flex-wrap:wrap;gap:8px}.col-type{width:120px}.major-type,.major-degree{font-family:var(--font-sf-mono);color:var(--color-limestone);white-space:nowrap}.course-browse-header{display:flex;gap:12px;margin-bottom:16px;align-items:center}.course-browse-header .search-input{flex:1;max-width:none}.course-filter-anchor{position:relative;flex:none}.course-filter-toggle{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;background:var(--color-inset);border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-pure-white);font-family:var(--font-ibm-plex-sans);font-size:15px;font-weight:600;cursor:pointer;white-space:nowrap}.course-filter-toggle:hover{border-color:var(--color-oxide-rust);color:var(--color-oxide-rust)}.course-filter-panel{position:absolute;top:100%;left:0;z-index:20;width:320px;max-height:70vh;overflow-y:auto;background:var(--color-charcoal);border:var(--border-structural);border-radius:var(--radius-none);padding:12px;box-shadow:0 8px 24px #00000080}.course-filter-panel[hidden]{display:none}.course-filter-caret{display:inline-flex;transition:transform .15s ease}.course-filter-caret[data-open]{transform:rotate(180deg)}.course-filter-group{display:block;margin-bottom:12px}.course-filter-label{display:block;margin-bottom:4px;font-size:var(--text-data);font-weight:600;color:var(--color-limestone)}.course-filter-select{width:100%;height:30px;padding:0 6px;background:var(--color-inset);border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-pure-white);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);cursor:pointer}.course-filter-select:focus-visible{outline:none;border-color:var(--color-oxide-rust)}.course-filter-units-row{display:flex;gap:8px}.course-filter-units-input{flex:1;height:30px;padding:0 6px;background:var(--color-inset);border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-pure-white);font-family:var(--font-sf-mono);font-size:var(--text-data)}.course-filter-checkbox{display:flex;align-items:center;gap:8px;min-height:30px;margin-bottom:12px;font-size:var(--text-data);color:var(--color-limestone);cursor:pointer}.course-filter-checkbox:last-of-type{margin-bottom:0}.course-filter-checkbox input[type=checkbox]{flex:none;width:14px;height:14px;margin:0;accent-color:var(--color-oxide-rust);cursor:pointer}.course-filter-footer{display:flex;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--color-slag)}.course-filter-btn-clear,.course-filter-btn-done{flex:1;height:32px;border-radius:var(--radius-none);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);font-weight:600;cursor:pointer}.course-filter-btn-clear{background:transparent;border:1px solid var(--color-slag);color:var(--color-limestone)}.course-filter-btn-clear:hover{background:var(--color-slag)}.course-filter-btn-done{background:var(--color-oxide-rust);border:1px solid var(--color-oxide-rust);color:var(--text-on-accent)}.course-filter-btn-done:hover{background:var(--color-raw-sienna);border-color:var(--color-raw-sienna)}.course-filter-pills{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:16px}.course-filter-pill{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 8px;background:var(--color-inset);border:1px solid var(--color-slag);border-radius:var(--radius-none);color:var(--color-limestone);font-size:var(--text-data)}.course-filter-pill-close{background:none;border:none;padding:0;color:var(--color-limestone);font-size:var(--text-body-sm);font-weight:700;line-height:1;cursor:pointer}.course-filter-pill-close:hover{color:var(--color-oxide-rust)}.course-filter-pill-clear{background:none;border:none;padding:0;color:var(--color-oxide-rust);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);text-decoration:underline;cursor:pointer}.col-reqs{width:160px}.course-req-chips{display:flex;flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none}.course-req-chip{display:inline-block;padding:2px 5px;background:var(--color-inset);border:1px solid var(--color-slag);border-radius:var(--radius-none);color:var(--color-limestone);font-family:var(--font-sf-mono);font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;font-variant-ligatures:none}.course-req-chip.is-highlight{color:var(--color-sienna-bright);border-color:var(--color-raw-sienna)}.course-req-empty{color:var(--color-limestone)}@media (max-width: 700px){.content{padding:16px}.course-table{table-layout:fixed}.course-table thead th,.course-table tbody td{padding:6px 8px;font-size:11px}.col-terms,.course-terms,.col-type,.major-type,.col-reqs,.course-req-chips{display:none}.col-code{width:22%}.col-title{width:66%}.col-units{width:12%}.course-title,.course-description{overflow-wrap:break-word;word-break:break-word}.course-description{font-size:11px}.course-description-toggle{font-size:10px}}.empty-state{text-align:center;color:var(--color-limestone);padding:48px 16px;font-size:var(--text-body-sm)}.pagination{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}.pagination-text{color:var(--color-limestone);font-size:var(--text-body-sm);white-space:nowrap}.pagination-buttons{display:flex;flex-wrap:wrap;gap:4px;align-items:center}#pagination-top,#major-pagination-top{margin-bottom:24px}#pagination-bottom,#major-pagination-bottom{margin-top:24px}.page-button{height:32px;min-width:32px;padding:0 10px;background:transparent;border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);font-weight:600;cursor:pointer}.page-button:hover:not(:disabled){color:var(--color-oxide-rust);border-color:var(--color-oxide-rust)}.page-button:disabled{color:var(--color-slag);border-color:var(--color-slag);cursor:default}.page-button.active{background:var(--color-oxide-rust);border-color:var(--color-oxide-rust);color:var(--text-on-accent);cursor:default}.page-ellipsis{padding:0 6px;color:var(--color-limestone);font-size:var(--text-body-sm)}.credit-group{margin-bottom:20px}.credit-group-heading{font-size:var(--text-body-sm);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-pure-white);border-bottom:var(--border-structural);padding-bottom:6px;margin:0 0 4px}.credit-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2px 12px;padding:5px 0;border-bottom:1px solid var(--color-slag)}.credit-row:last-child{border-bottom:none}.credit-subject-label{flex:1 1 auto}.credit-score-field-label{font-size:var(--text-body-sm);color:var(--color-limestone);flex:0 0 auto}.credit-score-buttons{display:inline-flex;gap:4px;flex:0 0 auto}.credit-score-button{width:24px;height:24px;padding:0;background:transparent;border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-limestone);font-family:var(--font-sf-mono);font-size:var(--text-data);font-weight:600;cursor:pointer}.credit-score-button:hover:not(:disabled):not(.selected){color:var(--color-oxide-rust);border-color:var(--color-oxide-rust)}.credit-score-button.selected{background:var(--color-oxide-rust);border-color:var(--color-oxide-rust);color:var(--text-on-accent);cursor:default}.credit-score-button:disabled{color:var(--color-slag);border-color:var(--color-slag);cursor:default}.credit-note{color:var(--color-limestone);font-size:var(--text-data);margin:0 0 12px}.credit-orphan-note{color:var(--color-limestone);font-size:var(--text-data);margin:4px 0 8px}.credit-row-orphan{justify-content:flex-start;gap:4px 12px}.credit-orphan-label{flex:1 1 auto;color:var(--color-limestone);font-size:var(--text-body-sm)}.credit-orphan-grade{color:var(--color-limestone);font-family:var(--font-sf-mono);font-size:var(--text-data)}.credit-orphan-remove{background:transparent;border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-limestone);font-size:var(--text-data);padding:3px 8px;cursor:pointer}.credit-orphan-remove:hover{color:var(--color-oxide-rust);border-color:var(--color-oxide-rust)}.credit-row .credit-note{flex:1 1 100%;margin:0}.credit-joint-cell{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.credit-joint-badge{display:inline-block;padding:1px 8px;border:1px solid var(--color-slag);background:var(--color-charcoal);color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data)}.credit-joint-badge-carrier{border-color:var(--color-slag)}.credit-joint-badge-linked{border-color:var(--color-sienna-bright);color:var(--color-sienna-bright)}.credit-note-credit{color:var(--color-pure-white)}.credit-note-none,.planner-credit-row-none .course-code{color:var(--color-limestone)}.planner-credit-table .course-code{white-space:normal;overflow-wrap:break-word;word-break:break-word}.col-plan{width:92px}.col-plan-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.plan-add-button{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;line-height:1;height:28px;padding:0 10px;background:transparent;border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);font-weight:600;white-space:nowrap;cursor:pointer}.plan-add-button:hover,.plan-add-button:focus-visible{color:var(--color-oxide-rust);border-color:var(--color-oxide-rust)}.plan-add-button.is-added{background:var(--color-oxide-rust);border-color:var(--color-oxide-rust);color:var(--text-on-accent)}.plan-add-button.is-scheduled,.plan-add-button.is-staged{color:var(--text-secondary);border-color:var(--color-slag)}.plan-add-button.is-scheduled:hover,.plan-add-button.is-scheduled:focus-visible,.plan-add-button.is-staged:hover,.plan-add-button.is-staged:focus-visible{color:var(--color-oxide-rust);border-color:var(--color-oxide-rust)}.planner-year{margin-bottom:32px}.planner-years-stack>.planner-year:last-child{margin-bottom:0}.planner-year-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:var(--text-subhead);font-weight:600;color:var(--color-pure-white);margin:0 0 12px;border-bottom:var(--border-structural);padding-bottom:6px}.planner-year-total{font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);font-weight:400;color:var(--color-limestone);white-space:nowrap}.planner-year-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;align-items:start}@media (max-width: 700px){.planner-year-grid{grid-template-columns:1fr}}.planner-year-grid.density-expanded{grid-template-columns:repeat(2,1fr)}@media (max-width: 700px){.planner-year-grid.density-expanded{grid-template-columns:1fr}}.planner-quarter-col{background:var(--color-charcoal);border:1px solid var(--color-slag);padding:8px;min-width:0}.planner-quarter-col-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}.planner-quarter-col-name{font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);font-weight:600;color:var(--color-pure-white)}.planner-quarter-col-units{font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);color:var(--color-limestone);white-space:nowrap}.planner-quarter-col-units.is-under,.planner-quarter-col-units.is-over{color:var(--color-oxide-rust)}.planner-quarter-col-units.is-normal{color:var(--color-moss-bright)}.planner-quarter-col-heading-side{display:flex;align-items:center;gap:6px;flex:none}.planner-quarter-col-add{flex-shrink:0;width:24px;height:24px;padding:0;background:none;border:1px solid var(--color-slag);border-radius:var(--radius-none);color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);line-height:1;cursor:pointer}.planner-quarter-col-add:hover,.planner-quarter-col-add:focus-visible{outline:none;color:var(--color-pure-white);border-color:var(--color-oxide-rust)}.planner-quarter-col-empty{font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);color:var(--color-limestone);font-style:italic;min-height:30px;display:flex;align-items:center;margin:0;gap:8px}.planner-quarter-add-button{flex-shrink:0;height:22px;padding:0 8px;background:none;border:1px solid var(--color-slag);border-radius:var(--radius-none);color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);font-style:normal;line-height:1;cursor:pointer}.planner-quarter-add-button:hover,.planner-quarter-add-button:focus-visible{outline:none;color:var(--color-pure-white);border-color:var(--color-oxide-rust)}.planner-quarter-col-chips{display:flex;flex-direction:column;gap:3px;max-height:198px;overflow:hidden}.planner-quarter-col-chips.is-expanded{max-height:none}.planner-quarter-col-more{margin-top:6px;background:transparent;border:1px solid var(--color-slag);color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);padding:2px 8px;cursor:pointer}.planner-quarter-col-more:hover,.planner-quarter-col-more:focus-visible{border-color:var(--color-oxide-rust);color:var(--color-oxide-rust);outline:none}.planner-chip-wrap{min-width:0}.planner-chip{display:flex;flex-direction:column;justify-content:center;width:100%;min-width:0;min-height:30px;box-sizing:border-box;padding:2px 8px;background:var(--color-inset);border:1px solid var(--color-slag);border-radius:var(--radius-none);color:var(--color-pure-white);font-family:var(--font-ibm-plex-sans);font-size:13px;cursor:pointer;text-align:left}.planner-chip:hover,.planner-chip:focus-visible{border-color:var(--color-oxide-rust);outline:none}.planner-chip.has-title{gap:2px;min-height:42px}.planner-chip-title{display:block;min-width:0;font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);font-weight:400;color:var(--color-pure-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.planner-chip-main-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}.planner-chip-code{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-chip-side{display:flex;align-items:center;gap:8px;flex:0 0 auto}.planner-chip-units{font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);color:var(--color-limestone);white-space:nowrap}.planner-chip.is-counted{border-color:var(--color-moss-deep)}.planner-chip.is-counted .planner-chip-code{color:var(--color-moss-bright)}.planner-chip.is-past{border-style:dashed;border-color:var(--color-industrial-gray)}.planner-chip-duplicate{font-family:var(--font-sf-mono);font-size:var(--text-data);color:var(--color-limestone);margin-right:6px}.planner-chip-detail{width:100%;margin-top:6px;padding:8px;background:var(--color-inset);border:var(--border-structural);display:flex;flex-direction:column;gap:6px}.planner-chip-detail-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.planner-chip-detail-title{font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);color:var(--color-pure-white);margin:0}.planner-chip-detail-field{display:flex;align-items:center;gap:8px}.planner-chip-detail-close{flex:0 0 auto;background:transparent;border:none;color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);cursor:pointer;padding:2px 4px}.planner-chip-detail-close:hover,.planner-chip-detail-close:focus-visible{color:var(--color-oxide-rust);outline:none}.planner-legend-swatch{display:inline-block;width:14px;height:14px;flex:0 0 auto;vertical-align:-2px;margin-right:6px;background:var(--color-inset);border:1px solid var(--color-slag)}.planner-legend-swatch.is-counted{border-color:var(--color-moss-deep)}.planner-legend-swatch.is-past{border-style:dashed;border-color:var(--color-industrial-gray)}.planner-units-input{width:56px;height:28px;padding:0 6px;background:var(--color-inset);border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-pure-white);font-family:var(--font-sf-mono);font-size:var(--text-body-sm)}.planner-units-input:focus-visible{outline:none;border-color:var(--color-oxide-rust)}.planner-units-input:disabled{color:var(--color-limestone);border-color:var(--color-slag);background:transparent}.planner-units-range{margin-left:6px;font-family:var(--font-sf-mono);font-size:var(--text-data);color:var(--color-limestone)}.planner-quarter-button{width:100%;max-width:140px;height:28px;padding:0 6px;background:var(--color-inset);border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-pure-white);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);text-align:left;cursor:pointer}.planner-quarter-button:hover{border-color:var(--color-oxide-rust)}.planner-quarter-button:focus-visible{outline:none;border-color:var(--color-oxide-rust)}.planner-remove-button{display:inline-flex;align-items:center;gap:6px;width:auto;height:32px;padding:0 10px;background:var(--color-oxide-rust);border:1px solid var(--color-oxide-rust);border-radius:var(--radius-none);color:var(--text-on-accent);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);line-height:1;cursor:pointer}.planner-remove-button:hover,.planner-remove-button:focus-visible{background:var(--color-crimson-core);border-color:var(--color-crimson-core);outline:none}.planner-remove-button svg{flex:0 0 auto}@media (max-width: 700px){.col-plan{width:18%}.planner-year-heading{font-size:var(--text-body)}.planner-quarter-button{max-width:100%}.planner-units-input{width:44px}.planner-units-range{display:none}}.view-login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px}.view-login[hidden]{display:none}.login-card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:16px}.login-card .site-brand{justify-content:center;margin-bottom:8px}.login-status{text-align:center;color:var(--color-limestone);font-size:var(--text-body-sm);margin:0}.login-error{text-align:center;color:var(--color-oxide-rust);font-size:var(--text-body-sm);margin:0}.login-field{display:flex;flex-direction:column;gap:6px;font-size:var(--text-body-sm);color:var(--color-limestone)}.login-field input{height:36px;padding:0 12px;background:var(--color-charcoal);border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-pure-white);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm)}.login-field input:focus{outline:none;border-color:var(--color-oxide-rust)}.login-actions{display:flex;gap:8px}.login-button{flex:1 1 0;height:36px;padding:0 18px;background:transparent;border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);font-weight:600;cursor:pointer}.login-button:hover:not(:disabled){color:var(--color-oxide-rust);border-color:var(--color-oxide-rust)}.login-button:disabled{color:var(--color-slag);border-color:var(--color-slag);cursor:default}.login-button-primary{background:var(--color-oxide-rust);border-color:var(--color-oxide-rust);color:var(--text-on-accent)}.login-button-primary:hover:not(:disabled){color:var(--color-pure-white);border-color:var(--color-raw-sienna);background:var(--color-raw-sienna)}.login-button-guest{flex:0 0 auto;width:100%;height:36px}.account-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 10px;background:transparent;border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-limestone);cursor:pointer}.account-button:hover{color:var(--color-oxide-rust);border-color:var(--color-oxide-rust)}.account-button.is-signed-in{color:var(--color-moss-bright);border-color:var(--color-moss-deep)}.account-button.is-signed-in:hover{color:var(--color-oxide-rust);border-color:var(--color-oxide-rust)}.auth-notice{max-width:var(--page-max-width);margin:0 auto;padding:12px 32px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;background:var(--color-charcoal);border-bottom:var(--border-structural);border-left:3px solid var(--color-oxide-rust)}.auth-notice-text{margin:0;color:var(--color-limestone);font-size:var(--text-body-sm)}.auth-notice-dismiss{flex:0 0 auto;background:transparent;border:none;padding:0 4px;color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-subhead);line-height:1;cursor:pointer}.auth-notice-dismiss:hover{color:var(--color-oxide-rust)}@media (max-width: 700px){.planner-credit-table{table-layout:fixed}.planner-credit-table .col-credit-exam{width:40%}.planner-credit-table .col-credit-score{width:15%}.planner-credit-table .col-credit-credit{width:45%}}.major-row{cursor:pointer}.major-row:hover .course-title{color:var(--color-oxide-rust)}.major-browse[hidden],.major-detail[hidden]{display:none}.major-detail-back{margin-bottom:24px}.major-detail-heading{font-size:var(--text-heading-sm);color:var(--color-pure-white);margin:0 0 8px}.major-detail-description{color:var(--color-limestone);font-size:var(--text-body-sm);line-height:1.6;margin:0 0 16px}.major-detail-description[hidden]{display:none}.course-row{cursor:pointer}.course-row:hover .course-title{color:var(--color-oxide-rust)}.course-crosslist{margin-left:6px;font-family:var(--font-sf-mono);font-size:var(--text-data);font-weight:400;color:var(--color-limestone)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.course-browse .course-table tbody td{vertical-align:middle}.course-browse .course-table.with-descriptions .course-row[data-has-desc]>td{border-bottom:none;padding-bottom:2px}.course-browse .course-table.with-descriptions .course-desc-row>td{padding-top:0;vertical-align:top}.course-desc-row{cursor:auto}.course-browse .course-title{margin:0}.course-browse .col-units,.course-browse .course-units{text-align:center}.course-browse[hidden],.course-detail[hidden]{display:none}.course-detail-back{margin-bottom:24px}.course-detail-header{margin-bottom:20px}.course-detail-headline{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.course-detail-code{margin:0;font-family:var(--font-sf-mono);font-size:var(--text-heading-sm);color:var(--color-pure-white);line-height:1.2}.course-detail-name{margin:6px 0 0;font-size:var(--text-subhead);font-weight:600;color:var(--color-pure-white);line-height:1.3}.course-stat-row{list-style:none;display:flex;flex-wrap:wrap;align-items:stretch;gap:10px;padding:0;margin:0 0 20px}.course-stat{min-width:92px;max-width:280px;padding:8px 14px;background:var(--color-charcoal);border:1px solid var(--color-slag)}.course-stat-value{display:block;font-family:var(--font-ibm-plex-sans);font-size:var(--text-body);color:var(--color-pure-white);line-height:1.35}.course-stat-value.is-accent{color:var(--color-oxide-rust)}.course-stat-label{display:block;margin-top:2px;font-size:var(--text-data);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-limestone)}.course-detail-tags,.course-detail-facts{display:grid;grid-template-columns:max-content 1fr;gap:8px 16px;align-items:baseline;margin:0}.course-detail-tags dt,.course-detail-facts dt{font-size:var(--text-data);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-limestone)}.course-detail-tags dd{display:flex;flex-wrap:wrap;gap:6px;margin:0}.course-detail-facts dd{margin:0;font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);color:var(--color-limestone)}.course-ger-chip{display:inline-block;font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);color:var(--color-limestone);background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-none);padding:2px 8px}.course-detail-section{margin:24px 0 0;padding-top:20px;border-top:1px solid var(--color-slag)}.course-detail-section h3{margin:0 0 10px;font-size:var(--text-data);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-limestone)}.course-detail-description{margin:0;font-size:var(--text-body);line-height:1.7;color:var(--color-limestone);max-width:72ch;white-space:pre-line}.course-instructor-list{list-style:none;display:flex;flex-wrap:wrap;gap:8px 20px;margin:0;padding:0;color:var(--color-pure-white);font-size:var(--text-body-sm)}.course-objective-list{margin:0;padding-left:20px;color:var(--color-limestone);font-size:var(--text-body-sm);line-height:1.6}.course-objective-list li+li{margin-top:6px}.course-instructor-role{margin-left:6px;padding:0 6px;font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);color:var(--color-limestone);border:1px solid var(--color-slag);white-space:nowrap}@media (max-width: 700px){.course-detail-tags,.course-detail-facts{grid-template-columns:1fr;gap:2px 0}.course-detail-tags dt:not(:first-child),.course-detail-facts dt:not(:first-child){margin-top:10px}.course-detail-code{font-size:var(--text-subhead)}.course-detail-name{font-size:var(--text-body)}.course-detail-description{font-size:var(--text-body-sm)}}.requirement-group{border-bottom:1px solid var(--color-slag)}.requirement-group:first-of-type{border-top:1px solid var(--color-slag)}.requirement-group-heading{display:flex;align-items:center;gap:12px;font-size:var(--text-subhead);font-weight:600;letter-spacing:-.2px;color:var(--color-pure-white);padding:16px 0;cursor:pointer;list-style:none}.requirement-group-heading::-webkit-details-marker{display:none}.requirement-group-heading:before{content:"";flex:0 0 auto;width:0;height:0;border-left:6px solid var(--color-industrial-gray);border-top:5px solid transparent;border-bottom:5px solid transparent;transition:transform .15s ease}.requirement-group[open]>.requirement-group-heading:before{transform:rotate(90deg)}.requirement-group[open]>.requirement-group-heading{border-bottom:1px solid var(--color-slag)}.requirement-group-heading:hover{color:var(--color-oxide-rust)}.requirement-group-heading:hover:before{border-left-color:var(--color-oxide-rust)}.requirement-group-title{flex:1 1 auto}.requirement-group-body{padding:16px 0 24px}.requirement-subject{border-top:1px solid var(--color-slag);border-left:2px solid transparent;padding-left:14px}.requirement-subject:first-child{border-top:none}.requirement-subject[open]{border-left-color:var(--color-slag)}.requirement-subject-summary{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;padding:12px 0;cursor:pointer;list-style:none}.requirement-subject-summary::-webkit-details-marker{display:none}.requirement-subject-summary:before{content:"";align-self:center;flex:0 0 auto;width:0;height:0;border-left:5px solid var(--color-industrial-gray);border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform .15s ease}.requirement-subject[open]>.requirement-subject-summary:before{transform:rotate(90deg)}.requirement-subject-title{flex:1 1 auto;font-size:var(--text-body);font-weight:600;color:var(--color-pure-white)}.requirement-subject-summary:hover .requirement-subject-title{color:var(--color-oxide-rust)}.requirement-subject-summary:hover:before{border-left-color:var(--color-oxide-rust)}.requirement-subject-body{padding:0 0 16px}.requirement-rule{margin:0 0 16px}.requirement-rule:last-child{margin-bottom:0}.requirement-subrule{margin:12px 0 0}.requirement-rule-name{color:var(--color-pure-white);font-weight:600;margin:0 0 8px}.requirement-subrule .requirement-rule-name{font-size:var(--text-body-sm)}.requirement-badges{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}.requirement-rule>.requirement-badges{margin:0 0 10px}.requirement-badge{display:inline-block;font-family:var(--font-sf-mono);font-size:var(--text-data);color:var(--color-limestone);background:var(--color-charcoal);border:1px solid var(--color-slag);padding:1px 8px;white-space:nowrap}.requirement-badge.is-size{color:var(--color-limestone)}.requirement-badge.is-take{color:var(--color-pure-white);border-color:var(--color-industrial-gray)}.requirement-badge.is-optional{color:var(--color-limestone);border-color:var(--color-industrial-gray);text-transform:uppercase;letter-spacing:.5px}.requirement-badge.is-reference{color:var(--color-limestone);border-style:dashed;text-transform:uppercase;letter-spacing:.5px}.requirement-description{color:var(--color-limestone);font-size:var(--text-body-sm);margin:0 0 10px}.requirement-description p{margin:0 0 8px}.requirement-description p:last-child{margin-bottom:0}.requirement-description ul,.requirement-description ol{margin:4px 0;padding-left:20px}.requirement-note{display:flex;gap:10px;color:var(--color-limestone);font-size:var(--text-body-sm);background:var(--color-charcoal);border-left:2px solid var(--color-industrial-gray);padding:8px 12px;margin:10px 0 0}.requirement-note:first-child{margin-top:0}.major-detail-body>.requirement-note{margin:0 0 16px}.requirement-note-label{flex:0 0 auto;font-family:var(--font-sf-mono);font-size:var(--text-data);text-transform:uppercase;letter-spacing:.5px;color:var(--color-limestone);padding-top:2px}.requirement-note-body{flex:1 1 auto;min-width:0}.requirement-note-body p{margin:0 0 6px}.requirement-note-body p:last-child,.requirement-note-body li:last-child{margin-bottom:0}.requirement-note-body ul,.requirement-note-body ol{list-style:none;margin:0;padding:0}.requirement-note-body li{margin:0 0 6px}.course-chip{display:inline-block;font-family:var(--font-sf-mono);font-size:var(--text-data);line-height:1.5;color:var(--color-pure-white);background:var(--color-slag);border:1px solid var(--color-industrial-gray);padding:0 6px;white-space:nowrap}.course-entry{display:inline-flex;align-items:stretch;max-width:100%;vertical-align:top;margin:1px 0;border:1px solid var(--color-slag);background:var(--color-charcoal)}.course-entry-code{display:flex;align-items:center;flex:0 0 auto;font-family:var(--font-sf-mono);font-size:var(--text-data);color:var(--color-pure-white);background:var(--color-slag);padding:3px 8px;white-space:nowrap}.course-entry-name{min-width:0;padding:3px 10px;color:var(--color-pure-white);font-size:var(--text-body-sm);line-height:1.4}.requirement-course-list{list-style:none;margin:0 0 4px;padding:0}.requirement-course-item{margin:5px 0;color:var(--color-limestone);font-size:var(--text-body-sm)}.requirement-course-joiner{color:var(--color-limestone);padding:0 3px}.requirement-course-list.is-multicol{column-width:320px;column-gap:28px}.requirement-course-list.is-multicol .requirement-course-item{break-inside:avoid}.sync-explain{position:fixed;bottom:24px;left:32px;z-index:50;width:300px;max-width:calc(100vw - 64px);background:var(--color-charcoal);border:var(--border-structural);border-radius:var(--radius-none);padding:12px;box-shadow:0 8px 24px #00000080}.sync-explain[hidden]{display:none}.sync-explain p{margin:0;color:var(--color-limestone);font-size:var(--text-body-sm);line-height:1.5}.sync-save-cloud{width:100%;height:36px;margin-top:12px;padding:0 18px;background:var(--color-oxide-rust);border:1px solid var(--color-oxide-rust);border-radius:var(--radius-none);color:var(--text-on-accent);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);font-weight:600;cursor:pointer}.sync-save-cloud:hover:not(:disabled){background:var(--color-raw-sienna);border-color:var(--color-raw-sienna)}.sync-save-cloud[hidden]{display:none}.sync-reconcile-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:32px;background:#000000b8}.sync-reconcile-overlay[hidden]{display:none}.sync-reconcile-dialog{width:100%;max-width:440px;background:var(--color-charcoal);border:var(--border-structural);border-radius:var(--radius-none);padding:24px}.sync-reconcile-dialog h2{font-size:var(--text-subhead);font-weight:600;color:var(--color-pure-white);margin:0 0 12px}.sync-reconcile-dialog p,.sync-reconcile-dialog .sync-reconcile-message{color:var(--color-limestone);font-size:var(--text-body-sm);line-height:1.5;margin:0 0 20px}.sync-reconcile-actions{display:flex;flex-wrap:wrap;gap:8px}.sync-reconcile-dialog h2.sync-reconcile-warning{color:var(--color-sienna-bright)}.sync-reconcile-choice{display:flex;flex:1 1 0;align-items:center;gap:8px}.sync-reconcile-choice>button{flex:1 1 auto;min-height:36px;padding:8px 18px;background:transparent;border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);font-weight:600;white-space:nowrap;cursor:pointer}.sync-reconcile-choice .info-tooltip{flex:0 0 auto}.sync-reconcile-choice>button:hover{color:var(--color-oxide-rust);border-color:var(--color-oxide-rust)}.col-select{width:92px}.major-select-button{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;line-height:1;height:28px;padding:0 10px;background:transparent;border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);font-weight:600;white-space:nowrap;cursor:pointer}.major-select-button:hover,.major-select-button:focus-visible{color:var(--color-oxide-rust);border-color:var(--color-oxide-rust)}.major-select-button.is-selected{background:var(--color-oxide-rust);border-color:var(--color-oxide-rust);color:var(--text-on-accent)}.major-detail-select{height:34px;padding:0 16px;margin:0 0 16px;background:transparent;border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);font-weight:600;cursor:pointer}.major-detail-select:hover,.major-detail-select:focus-visible{color:var(--color-oxide-rust);border-color:var(--color-oxide-rust)}.major-detail-select.is-selected{background:var(--color-oxide-rust);border-color:var(--color-oxide-rust);color:var(--text-on-accent)}#planner-progress{margin-bottom:32px}#planner-progress:empty{display:none}.progress-empty{padding:24px 16px}.progress-card{border:var(--border-structural);background:var(--color-charcoal);padding:16px;margin-bottom:16px}.progress-degree{border-left:3px solid var(--color-oxide-rust)}.progress-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.progress-card-title{font-size:var(--text-subhead);font-weight:600;color:var(--color-pure-white);margin:0}.progress-stat{font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);color:var(--color-limestone);white-space:nowrap}.progress-card-body{display:block}.progress-bar{display:flex;align-items:center;gap:10px}.progress-bar-track{flex:1 1 auto;height:10px;background:var(--color-inset);border:1px solid var(--color-slag)}.progress-bar-fill{height:100%;min-width:0;background:var(--color-oxide-rust);transition:width .2s ease}.progress-bar-label{flex:0 0 auto;font-family:var(--font-sf-mono);font-size:var(--text-data);color:var(--color-limestone);white-space:nowrap}.progress-subtext{color:var(--color-limestone);font-size:var(--text-body-sm);margin:10px 0 0}.progress-flags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.progress-flag{font-family:var(--font-sf-mono);font-size:var(--text-data);padding:1px 8px;border:1px solid var(--color-slag);background:var(--color-inset);color:var(--color-limestone);white-space:nowrap}.progress-flag.is-under{border-color:var(--color-industrial-gray);color:var(--color-limestone)}.progress-flag.is-over{border-color:var(--color-oxide-rust);color:var(--color-oxide-rust)}.progress-caveats,.progress-verify{margin-top:14px;border-top:1px solid var(--color-slag)}.progress-caveats-summary,.progress-verify-summary{display:flex;align-items:center;gap:8px;padding:10px 0;font-family:var(--font-sf-mono);font-size:var(--text-data);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-limestone);cursor:pointer;list-style:none}.progress-caveats-summary::-webkit-details-marker,.progress-verify-summary::-webkit-details-marker{display:none}.progress-caveats-summary:before,.progress-verify-summary:before{content:"";flex:0 0 auto;width:0;height:0;border-left:5px solid var(--color-industrial-gray);border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform .15s ease}.progress-caveats[open]>.progress-caveats-summary:before,.progress-verify[open]>.progress-verify-summary:before{transform:rotate(90deg)}.progress-caveats-summary:hover,.progress-verify-summary:hover{color:var(--color-oxide-rust)}.progress-caveats-summary:hover:before,.progress-verify-summary:hover:before{border-left-color:var(--color-oxide-rust)}.progress-caveats-list{margin:0 0 12px;padding-left:20px;color:var(--color-limestone);font-size:var(--text-body-sm)}.progress-caveats-list li{margin:0 0 6px}.progress-caveats-list li:last-child{margin-bottom:0}.progress-assigned{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0 0 20px}.progress-course-chip{display:inline-block;font-family:var(--font-sf-mono);font-size:var(--text-data);line-height:1.5;color:var(--color-pure-white);background:var(--color-slag);border:1px solid var(--color-industrial-gray);padding:0 6px;white-space:nowrap}@media (max-width: 700px){.col-select{width:20%}.progress-card-title{font-size:var(--text-body)}.progress-card-head{flex-wrap:wrap;gap:4px}}.changelog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:32px;background:#000000b8}.changelog-overlay[hidden]{display:none}.changelog-dialog{width:100%;max-width:560px;max-height:calc(100vh - 64px);display:flex;flex-direction:column;background:var(--color-charcoal);border:var(--border-structural);border-radius:var(--radius-none);padding:24px}.changelog-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.changelog-header h2{font-size:var(--text-subhead);font-weight:600;color:var(--color-pure-white);margin:0}.changelog-close{flex:0 0 auto;width:32px;height:32px;background:transparent;border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-limestone);font-size:18px;line-height:1;cursor:pointer}.changelog-close:hover{color:var(--color-oxide-rust);border-color:var(--color-oxide-rust)}.changelog-intro{color:var(--color-limestone);font-size:var(--text-body-sm);line-height:1.5;margin:8px 0 16px}.changelog-body{flex:1 1 auto;overflow-y:auto;padding-right:4px}.changelog-release{border-top:var(--border-structural)}.changelog-release:first-child{border-top:none}.changelog-release-summary{display:flex;align-items:baseline;gap:12px;padding:14px 0;cursor:pointer;list-style:none}.changelog-release-summary::-webkit-details-marker{display:none}.changelog-release-summary:before{content:"";flex:0 0 auto;align-self:center;width:0;height:0;border-left:6px solid var(--color-industrial-gray);border-top:5px solid transparent;border-bottom:5px solid transparent;transition:transform .15s ease}.changelog-release[open]>.changelog-release-summary:before{transform:rotate(90deg)}.changelog-release-summary:hover:before{border-left-color:var(--color-oxide-rust)}.changelog-version{flex:0 0 auto;color:var(--color-oxide-rust);font-family:var(--font-sf-mono);font-size:var(--text-body-sm);font-weight:600}.changelog-tagline{flex:1 1 auto;min-width:0;color:var(--color-pure-white);font-size:var(--text-body-sm);font-weight:600}.changelog-release-summary:hover .changelog-tagline{color:var(--color-oxide-rust)}.changelog-when{margin-left:auto;flex:0 0 auto;color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);white-space:nowrap}.changelog-release-body{padding:0 0 16px 18px}.changelog-summary{color:var(--color-limestone);font-size:var(--text-body-sm);line-height:1.5;margin:0 0 12px}.changelog-section-title{color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px}.changelog-changes{margin:0;padding-left:18px;color:var(--color-limestone);font-size:var(--text-body-sm);line-height:1.5}.changelog-change{margin-bottom:8px}.changelog-change:last-child{margin-bottom:0}.changelog-change-tagline{color:var(--color-pure-white);font-weight:600}.changelog-change-sep{color:var(--color-limestone)}.changelog-fixes{margin-top:14px}.changelog-fixes-summary{display:flex;align-items:center;gap:8px;padding:4px 0;cursor:pointer;list-style:none;color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.changelog-fixes-summary::-webkit-details-marker{display:none}.changelog-fixes-summary:before{content:"";flex:0 0 auto;width:0;height:0;border-left:5px solid var(--color-industrial-gray);border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform .15s ease}.changelog-fixes[open]>.changelog-fixes-summary:before{transform:rotate(90deg)}.changelog-fixes-summary:hover{color:var(--color-oxide-rust)}.changelog-fixes-summary:hover:before{border-left-color:var(--color-oxide-rust)}.changelog-fixes .changelog-changes{margin-top:8px}.changelog-actions{margin-top:16px;display:flex;justify-content:flex-end}.changelog-done{height:36px;padding:0 18px;background:var(--color-oxide-rust);border:1px solid var(--color-oxide-rust);border-radius:var(--radius-none);color:var(--text-on-accent);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);font-weight:600;cursor:pointer}.changelog-done:hover{background:var(--color-raw-sienna);border-color:var(--color-raw-sienna)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.progress-controls{display:flex;flex-direction:column;gap:10px}.program-overlap{margin-top:8px}.program-overlap-toggle{margin:0;font-size:var(--text-body-sm)}.program-overlap-warning{margin:6px 0 0;font-size:var(--text-data);line-height:1.4;padding:6px 10px;border-left:3px solid var(--color-oxide-rust);background:var(--color-inset);color:var(--color-limestone)}.progress-overlap-caveat{margin:0;font-size:var(--text-data);line-height:1.5;color:var(--color-limestone)}.progress-warnings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.progress-warning{font-size:var(--text-body-sm);line-height:1.4;padding:8px 12px;border-left:3px solid var(--color-oxide-rust);background:var(--color-inset);color:var(--color-limestone)}.progress-card-classify{display:flex;align-items:center;gap:8px;margin-bottom:12px}.program-class-badge{display:inline-flex;align-items:center;height:24px;font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);padding:0 8px;border:1px solid var(--color-slag);background:var(--color-charcoal);color:var(--color-limestone)}.program-class-select select,.program-subplan-select select{background:var(--color-charcoal);border:1px solid var(--color-industrial-gray);border-radius:var(--radius-none);color:var(--color-pure-white);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);padding:3px 8px}.program-class-select select{height:24px;padding:0 8px;font-size:var(--text-data)}.program-subplan-select{display:flex;align-items:center;gap:8px;margin:12px 0}.program-subplan-label{font-size:var(--text-body-sm);color:var(--color-limestone)}.program-subplan-bestmatch{font-size:var(--text-data);color:var(--color-limestone);font-style:italic}.progress-req-tree{margin-top:8px}.requirement-status{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-sf-mono);font-size:var(--text-data);padding:1px 8px;border:1px solid var(--color-slag);margin-left:8px;white-space:nowrap}.requirement-status.is-met{border-color:var(--color-moss-deep);color:var(--color-moss-bright)}.requirement-status.is-unmet{border-color:var(--color-industrial-gray);color:var(--color-limestone)}.requirement-status.is-partial{border-color:var(--color-oxide-rust);color:var(--color-oxide-rust)}.course-entry.is-counted{border-color:var(--color-moss-deep)}.course-entry-flag{display:flex;align-items:center;padding:0 8px;font-size:var(--text-data);color:var(--color-moss-bright)}.course-entry-flag.is-planned{color:var(--color-limestone);font-family:var(--font-sf-mono)}.course-entry-add{flex:0 0 auto;padding:0 10px;border:none;border-left:1px solid var(--color-slag);background:var(--color-inset);color:var(--color-oxide-rust);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);font-weight:600;cursor:pointer}.course-entry-add:hover{background:var(--color-oxide-rust);color:var(--text-on-accent)}.req-group{border-bottom:1px solid var(--color-slag)}.req-group:first-of-type{border-top:1px solid var(--color-slag)}.req-group-summary{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;padding:16px 0;cursor:pointer;list-style:none}.req-group-summary::-webkit-details-marker{display:none}.req-group-summary:before{content:"";align-self:flex-start;margin-top:.5em;flex:0 0 auto;width:0;height:0;border-left:6px solid var(--color-industrial-gray);border-top:5px solid transparent;border-bottom:5px solid transparent;transition:transform .15s ease}.req-group[open]>.req-group-summary:before{transform:rotate(90deg)}.req-group[open]>.req-group-summary{border-bottom:1px solid var(--color-slag)}.req-group-summary:hover .req-heading-title{color:var(--color-oxide-rust)}.req-group-summary:hover:before{border-left-color:var(--color-oxide-rust)}.req-group-heading{flex:1 1 260px;min-width:0}.req-group-heading .req-heading-title{font-size:var(--text-subhead);font-weight:600;letter-spacing:-.2px;color:var(--color-pure-white)}.req-group-kind{display:block;font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);text-transform:uppercase;letter-spacing:.06em;color:var(--color-limestone);margin:0 0 3px}.req-group.is-subplan .req-group-kind{color:var(--color-limestone)}.req-group.is-subplan[open] .req-group-kind,.req-group.is-subplan .req-group-kind:only-child{color:var(--color-limestone)}.req-group-body{padding:12px 0 24px}.req-rule{border-top:1px solid var(--color-slag);border-left:2px solid transparent;padding-left:14px}.req-rule:first-child{border-top:none}.req-rule[open]{border-left-color:var(--color-slag)}.req-rule-summary{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;padding:12px 0;cursor:pointer;list-style:none}.req-rule-summary::-webkit-details-marker{display:none}.req-rule-summary:before{content:"";align-self:flex-start;margin-top:.45em;flex:0 0 auto;width:0;height:0;border-left:5px solid var(--color-industrial-gray);border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform .15s ease}.req-rule[open]>.req-rule-summary:before{transform:rotate(90deg)}.req-rule-summary:hover .req-heading-title{color:var(--color-oxide-rust)}.req-rule-summary:hover:before{border-left-color:var(--color-oxide-rust)}.req-rule-body{padding:0 0 16px}.req-inline{margin:12px 0 16px}.req-inline:last-child{margin-bottom:0}.req-inline-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;margin:0 0 8px}.req-heading-text{flex:1 1 240px;min-width:0}.req-heading-title{font-size:var(--text-body);font-weight:600;color:var(--color-pure-white)}.req-heading-text.is-sentence .req-heading-title{font-weight:400;font-size:var(--text-body-sm);color:var(--color-limestone)}.req-heading-sub{display:block;font-size:var(--text-body-sm);font-weight:400;color:var(--color-limestone);margin:3px 0 0}.req-chips{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}.req-chip{display:inline-block;font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);color:var(--color-limestone);background:var(--color-charcoal);border:1px solid var(--color-slag);padding:1px 8px;white-space:nowrap}.req-chip.is-demand{color:var(--color-pure-white);border-color:var(--color-industrial-gray)}.req-chip.is-size{color:var(--color-limestone)}.req-chip.is-flag{color:var(--color-limestone);border-color:var(--color-industrial-gray);text-transform:lowercase}.req-chip.is-eligible{color:var(--color-limestone);border-style:dashed;text-transform:uppercase;letter-spacing:.5px}.req-divider{position:relative;display:flex;align-items:center;justify-content:center;height:20px;margin:10px 0}.req-divider:before{content:"";position:absolute;left:0;top:50%;width:100%;height:1px;background:var(--color-slag);transform:translateY(-50%)}.req-divider-text{position:relative;z-index:1;padding:0 12px;background:var(--color-ore-canvas);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);font-weight:600;letter-spacing:.08em;color:var(--color-limestone)}.req-divider+.req-rule,.req-divider+.req-inline{border-top:none}.req-desc{color:var(--color-limestone);font-size:var(--text-body-sm);margin:0 0 10px}.req-desc p{margin:0 0 8px}.req-desc p:last-child{margin-bottom:0}.req-desc ul,.req-desc ol{margin:4px 0;padding-left:20px}.req-sentence{color:var(--color-limestone);font-size:var(--text-body-sm);margin:0 0 10px}.req-narrative{color:var(--color-limestone);font-size:var(--text-body-sm);margin:0 0 20px}.req-narrative p{margin:0 0 8px}.req-note{display:flex;gap:10px;color:var(--color-limestone);font-size:var(--text-body-sm);background:var(--color-charcoal);border-left:2px solid var(--color-industrial-gray);padding:8px 12px;margin:10px 0 0}.req-note-label{flex:0 0 auto;font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);text-transform:uppercase;letter-spacing:.5px;color:var(--color-limestone);padding-top:2px}.req-note-body{flex:1 1 auto;min-width:0}.req-note-body p{margin:0 0 6px}.req-note-body p:last-child,.req-note-body li:last-child{margin-bottom:0}.req-note-body ul,.req-note-body ol{list-style:none;margin:0;padding:0}.req-note-body li{margin:0 0 6px}.req-unresolved,.req-empty{color:var(--color-limestone);font-size:var(--text-body-sm);margin:8px 0 0}.req-course-list{list-style:none;margin:0 0 4px;padding:0}.req-course-item{margin:5px 0;color:var(--color-limestone);font-size:var(--text-body-sm)}.req-course-joiner{color:var(--color-limestone);padding:0 3px}.req-course-list.is-multicol{column-width:320px;column-gap:28px}.req-course-list.is-multicol .req-course-item{break-inside:avoid}.req-course{display:inline-flex;align-items:stretch;max-width:100%;vertical-align:top;margin:1px 0;border:1px solid var(--color-slag);background:var(--color-charcoal)}.req-course.is-clickable{padding:0;font:inherit;text-align:left;cursor:pointer}.req-course.is-clickable:hover,.req-course.is-clickable:focus-visible{border-color:var(--color-oxide-rust);outline:none}.req-override{margin:10px 0 0}.req-override-btn{padding:5px 12px;border:1px solid var(--color-slag);background:transparent;color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);cursor:pointer}.req-override-btn:hover,.req-override-btn:focus-visible{border-color:var(--color-oxide-rust);color:var(--color-oxide-rust);outline:none}.req-override-picker{margin:8px 0 0;padding:10px 14px;border-left:2px solid var(--color-oxide-rust);background:var(--color-charcoal)}.req-override-picker-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 8px}.req-override-picker-title{margin:0;font-size:var(--text-body-sm);color:var(--color-pure-white)}.req-override-picker-close{flex:0 0 auto;background:transparent;border:none;color:var(--color-limestone);font-size:var(--text-body);line-height:1;cursor:pointer}.req-override-picker-close:hover,.req-override-picker-close:focus-visible{color:var(--color-oxide-rust);outline:none}.req-override-picker-list{list-style:none;margin:0;padding:0;max-height:260px;overflow-y:auto}.req-override-picker-option{display:flex;align-items:center;gap:10px;width:100%;padding:6px 4px;border:none;border-top:1px solid var(--color-slag);background:transparent;color:var(--color-pure-white);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);text-align:left;cursor:pointer}.req-override-picker-option:first-child{border-top:none}.req-override-picker-option:hover,.req-override-picker-option:focus-visible{background:var(--color-slag);outline:none}.req-override-picker-empty{margin:0;font-size:var(--text-body-sm);color:var(--color-limestone)}.req-course-code{display:flex;align-items:center;flex:0 0 auto;font-family:var(--font-sf-mono);font-size:var(--text-data);color:var(--color-pure-white);background:var(--color-slag);padding:3px 8px;white-space:nowrap}.req-course-code.is-unresolved{font-family:inherit;font-style:italic;font-size:var(--text-body-sm);color:var(--color-limestone);background:none;padding:3px 0;white-space:normal}.req-course-name{min-width:0;padding:3px 10px;color:var(--color-pure-white);font-size:var(--text-body-sm);line-height:1.4}.req-course.is-counted{border-color:var(--color-moss-deep)}.req-course-flag{display:flex;align-items:center;padding:3px 8px;font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);color:var(--color-moss-bright)}.req-course-flag.is-planned{color:var(--color-limestone)}.req-course-add{flex:0 0 auto;border:none;border-left:1px solid var(--color-slag);background:transparent;color:var(--color-oxide-rust);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);padding:0 8px;cursor:pointer}.req-course-add:hover{background:var(--color-slag)}.req-status{display:inline-flex;align-items:baseline;gap:4px;font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);text-transform:uppercase;letter-spacing:.5px;color:var(--color-limestone)}.req-status.is-met{color:var(--color-moss-bright)}.req-status.is-partial{color:var(--color-sienna-bright)}.req-status.is-met.is-by-you{letter-spacing:.2px}.req-complete-toggle{flex:none;margin-left:auto;background:transparent;border:1px solid var(--color-slag);color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);letter-spacing:.3px;padding:2px 8px;cursor:pointer}.req-complete-toggle:hover{border-color:var(--color-raw-sienna);color:var(--color-pure-white)}.req-complete-toggle.is-marked{border-color:var(--color-raw-sienna);color:var(--color-sienna-bright)}.req-subplan-prompt{color:var(--color-limestone);font-size:var(--text-body-sm);background:var(--color-charcoal);border-left:2px solid var(--color-oxide-rust);padding:10px 14px;margin:18px 0 0}.req-subplan-prompt strong{color:var(--color-pure-white)}.req-subplan-others{border-bottom:1px solid var(--color-slag)}.req-subplan-others-summary{display:flex;align-items:baseline;gap:10px;padding:14px 0;cursor:pointer;list-style:none}.req-subplan-others-summary::-webkit-details-marker{display:none}.req-subplan-others-summary:before{content:"";align-self:center;flex:0 0 auto;width:0;height:0;border-left:5px solid var(--color-industrial-gray);border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform .15s ease}.req-subplan-others[open]>.req-subplan-others-summary:before{transform:rotate(90deg)}.req-subplan-others-summary:hover .req-subplan-others-title{color:var(--color-oxide-rust)}.req-subplan-others-title{font-size:var(--text-body);font-weight:600;color:var(--color-pure-white)}.req-subplan-others-count{font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);color:var(--color-limestone)}.req-subplan-others-body{padding:0 0 8px 14px;border-left:2px solid var(--color-slag)}.req-subplan-btn{flex:0 0 auto;margin-left:auto;font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);border-radius:var(--radius-none);padding:3px 10px;min-height:24px;cursor:pointer}.req-subplan-btn.is-choose{color:var(--text-on-accent);background:var(--color-oxide-rust);border:1px solid var(--color-oxide-rust)}.req-subplan-btn.is-choose:hover{background:var(--color-raw-sienna);border-color:var(--color-raw-sienna)}.req-subplan-btn.is-clear{color:var(--color-limestone);background:transparent;border:1px solid var(--color-slag)}.req-subplan-btn.is-clear:hover{color:var(--color-oxide-rust);border-color:var(--color-oxide-rust)}.req-area-lead{color:var(--color-limestone);font-size:var(--text-body-sm);margin:0 0 12px}.req-area{border-top:1px solid var(--color-slag);border-left:2px solid transparent;padding-left:14px}.req-area:first-of-type{border-top:none}.req-area.is-chosen{border-left-color:var(--color-oxide-rust)}.req-area-summary{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;padding:12px 0;cursor:pointer;list-style:none}.req-area-summary::-webkit-details-marker{display:none}.req-area-heading{flex:1 1 240px;min-width:0}.req-area-heading .req-heading-title{font-size:var(--text-body);font-weight:600;color:var(--color-pure-white)}.req-area-summary:hover .req-heading-title{color:var(--color-oxide-rust)}.req-area-body{padding:0 0 16px}.req-sets{margin:4px 0 8px}.req-set{border:1px solid var(--color-slag);background:var(--color-charcoal);margin:6px 0}.req-set-summary{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;padding:8px 12px;cursor:pointer;list-style:none}.req-set-summary::-webkit-details-marker{display:none}.req-set-summary:before{content:"";align-self:center;flex:0 0 auto;width:0;height:0;border-left:5px solid var(--color-industrial-gray);border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform .15s ease}.req-set[open]>.req-set-summary:before{transform:rotate(90deg)}.req-set-summary:hover .req-set-name{color:var(--color-oxide-rust)}.req-set-name{font-weight:600;font-size:var(--text-body-sm);color:var(--color-pure-white)}.req-set-count{font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);color:var(--color-limestone)}.req-set-query{flex:1 1 100%;font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);color:var(--color-limestone)}.req-set-body{padding:0 12px 10px}.req-own{border-left:2px solid var(--color-industrial-gray);background:var(--color-charcoal);padding:10px 14px;margin:8px 0}.req-own-lead{color:var(--color-limestone);font-size:var(--text-body-sm);margin:0 0 10px}.req-own-list{margin:0 0 10px}.req-course.is-own{border-color:var(--color-industrial-gray)}.req-own-remove{flex:0 0 auto;border:none;border-left:1px solid var(--color-slag);background:transparent;color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);padding:0 8px;cursor:pointer}.req-own-remove:hover{color:var(--color-oxide-rust);background:var(--color-slag)}.req-own-add{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.req-own-input{flex:0 1 220px;font-family:var(--font-sf-mono);font-size:var(--text-data);color:var(--color-pure-white);background:var(--color-ore-canvas);border:1px solid var(--color-slag);border-radius:var(--radius-none);padding:5px 8px}.req-own-input:focus{outline:none;border-color:var(--color-oxide-rust)}.req-own-submit{font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);color:var(--color-limestone);background:transparent;border:1px solid var(--color-slag);border-radius:var(--radius-none);padding:5px 12px;cursor:pointer}.req-own-submit:hover{color:var(--color-oxide-rust);border-color:var(--color-oxide-rust)}.req-own-tally{font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);color:var(--color-limestone)}.req-own-error{color:var(--color-sienna-bright);font-size:var(--text-body-sm);margin:8px 0 0}.req-toolbar{display:flex;justify-content:flex-end;gap:8px;margin:0 0 8px}.req-toolbar button{font-family:var(--font-sf-mono);font-size:var(--text-data);color:var(--color-limestone);background:transparent;border:1px solid var(--color-slag);border-radius:var(--radius-none);padding:4px 10px;cursor:pointer}.req-toolbar button:hover{color:var(--color-oxide-rust);border-color:var(--color-oxide-rust)}.req-note.is-override{border-left-color:var(--color-oxide-rust)}.req-note.is-override .req-note-label{color:var(--color-sienna-bright)}.req-empty-rule{color:var(--color-limestone);font-size:var(--text-body-sm);font-style:italic;margin:8px 0 0}.req-changes{margin:28px 0 0;border:1px solid var(--color-slag);border-radius:var(--radius-none);background:var(--color-charcoal)}.req-changes-summary{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding:12px 14px;cursor:pointer;list-style:none}.req-changes-summary::-webkit-details-marker{display:none}.req-changes-summary:before{content:"▸";color:var(--color-limestone);font-size:var(--text-data)}.req-changes[open] .req-changes-summary:before{content:"▾"}.req-changes-title{font-size:var(--text-body-sm);font-weight:600;color:var(--color-limestone)}.req-changes-count{margin-left:auto;font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);color:var(--color-limestone)}.req-changes-body{padding:0 14px 14px}.req-changes-lead{margin:0 0 14px;font-size:var(--text-body-sm);color:var(--color-limestone);line-height:1.5}.req-changes-lead strong{color:var(--color-pure-white)}.req-changes-list{list-style:none;margin:0;padding:0}.req-change+.req-change{margin-top:14px;padding-top:14px;border-top:1px solid var(--color-slag)}.req-change-head{display:flex;align-items:baseline;gap:10px}.req-change-sev{flex:0 0 auto;min-width:58px;text-align:center;font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);text-transform:uppercase;letter-spacing:.06em;padding:2px 6px;border-radius:var(--radius-none);border:1px solid currentColor}.req-change-sev.is-high{color:var(--color-oxide-rust)}.req-change-sev.is-medium,.req-change-sev.is-low{color:var(--color-limestone)}.req-change-title{font-size:var(--text-body-sm);font-weight:600;color:var(--color-pure-white)}.req-change-detail{margin:6px 0 0 68px;font-size:var(--text-body-sm);color:var(--color-limestone);line-height:1.5}.req-change-source{margin:6px 0 0 68px;font-size:var(--text-body-sm);color:var(--color-limestone);font-style:italic;line-height:1.5}.req-change-source-label{font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);font-style:normal;text-transform:uppercase;letter-spacing:.06em}@media (max-width: 640px){.req-change-detail,.req-change-source{margin-left:0}}.req-tree.is-compact{font-size:var(--text-body-sm)}.req-tree.is-compact .req-group-summary{gap:8px;padding:10px 0}.req-tree.is-compact .req-group-body{padding:6px 0 14px}.req-tree.is-compact .req-group-heading .req-heading-title{font-size:var(--text-body)}.req-tree.is-compact .req-rule-summary{gap:8px;padding:7px 0}.req-tree.is-compact .req-rule-body{padding:0 0 10px}.req-tree.is-compact .req-heading-title{font-size:var(--text-body-sm)}.req-tree.is-compact .req-inline{margin:6px 0 8px}.req-tree.is-compact .req-inline-head{gap:8px;margin:0 0 5px}.req-tree.is-compact .req-desc,.req-tree.is-compact .req-sentence{margin:0 0 6px}.req-tree.is-compact .req-note{gap:8px;padding:6px 10px;margin:6px 0 0}.req-tree.is-compact .req-empty-rule,.req-tree.is-compact .req-unresolved{margin:5px 0 0}.req-tree.is-compact .req-divider{height:14px;margin:6px 0}.req-tree.is-compact .req-course-list{margin:0 0 3px}.req-tree.is-compact .req-course-item{margin:3px 0}.req-course-cap{display:flex;align-items:baseline;gap:10px;margin:4px 0 10px}.req-course-cap-text{font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);color:var(--color-limestone)}.req-course-cap-btn{flex:0 0 auto;border:1px solid var(--color-industrial-gray);background:transparent;color:var(--color-sienna-bright);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);padding:2px 10px;cursor:pointer}.req-course-cap-btn:hover{border-color:var(--color-oxide-rust);color:var(--color-pure-white)}.req-tree.is-compact .req-set-summary{padding:6px 10px}.req-tree.is-compact .req-set-body{padding:0 10px 8px}.req-tree.is-compact .req-sets{margin:3px 0 6px}.req-tree.is-compact .req-area-summary{gap:8px;padding:8px 0}.req-tree.is-compact .req-area-body{padding:0 0 10px}.req-tree.is-compact .req-area-heading .req-heading-title{font-size:var(--text-body-sm)}.req-tree.is-compact .req-subplan-others-summary{gap:8px;padding:10px 0}.req-tree.is-compact .req-subplan-others-body{padding:0 0 6px 12px}.req-tree.is-compact .req-own{padding:8px 10px;margin:6px 0}.filters{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.filters .search-input{flex:1;max-width:none}.filters .select-field{display:inline-flex;align-items:center;gap:8px;font-size:var(--text-body-sm);color:var(--color-limestone);cursor:pointer}.filters .select-field select{height:28px;padding:0 6px;background:var(--color-inset);border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-pure-white);font-family:var(--font-sf-mono);font-size:var(--text-data);cursor:pointer}.filters .select-field select:focus-visible{outline:none;border-color:var(--color-oxide-rust)}.course-terms-year{color:var(--color-limestone);font-size:11px;margin-left:8px}.quarter-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:24px;background:#000000b8}.quarter-picker{width:100%;max-width:560px;max-height:90vh;overflow-y:auto;background:var(--color-charcoal);border:var(--border-structural);border-radius:var(--radius-none);padding:24px}.quarter-picker:focus-visible{outline:none}.quarter-picker-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:20px}.quarter-picker-title{margin:0;font-size:var(--text-subhead);font-weight:600;color:var(--color-limestone)}.quarter-picker-course{font-family:var(--font-sf-mono);color:var(--color-pure-white)}.quarter-picker-close{flex:none;width:28px;height:28px;background:none;border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-limestone);font-size:var(--text-body);line-height:1;cursor:pointer}.quarter-picker-close:hover{border-color:var(--color-oxide-rust);color:var(--color-pure-white)}.quarter-picker-section{margin-bottom:20px}.quarter-picker-label{display:block;margin-bottom:8px;font-size:var(--text-data);letter-spacing:.08em;text-transform:uppercase;color:var(--color-limestone)}.quarter-picker-years{display:flex;flex-wrap:wrap;gap:6px}.qp-year{position:relative;padding:6px 10px;background:var(--color-inset);border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-limestone);font-family:var(--font-sf-mono);font-size:var(--text-data);cursor:pointer}.qp-year:hover{border-color:var(--color-oxide-rust);color:var(--color-pure-white)}.qp-year.is-selected{background:var(--color-oxide-rust);border-color:var(--color-oxide-rust);color:var(--text-on-accent)}.qp-year.is-unpublished{color:var(--color-limestone);border-style:dashed}.qp-year.is-unpublished.is-selected{color:var(--color-pure-white)}.qp-year-more{border-style:dashed;color:var(--color-limestone)}.qp-now-dot{position:absolute;top:3px;right:3px;width:4px;height:4px;background:var(--color-moss-bright)}.quarter-picker-quarters{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.qp-quarter{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 10px;background:var(--color-inset);border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-limestone);text-align:left;cursor:pointer}.qp-quarter:hover{border-color:var(--color-oxide-rust)}.qp-quarter-season{font-size:var(--text-body-sm);font-weight:600;color:var(--color-pure-white)}.qp-quarter-year{font-family:var(--font-sf-mono);font-size:var(--text-data);color:var(--color-limestone)}.qp-quarter-mark{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-moss-bright)}.qp-quarter-mark.is-muted{color:var(--color-limestone)}.qp-quarter.is-offered{border-color:var(--color-moss-deep)}.qp-quarter.is-not-offered{opacity:.62}.qp-quarter.is-already-planned{opacity:.62;cursor:default;border-style:dashed}.qp-quarter.is-selected{border-color:var(--color-oxide-rust);background:var(--color-slag)}.qp-quarter.is-past .qp-quarter-year{font-style:italic}.qp-quarter-now{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-oxide-rust)}.quarter-picker-note{margin:0;font-size:var(--text-data);line-height:1.5;color:var(--color-limestone)}.course-offering-history{margin:24px 0 0;padding-top:20px;border-top:var(--border-structural)}.course-offering-history h3{margin:0 0 12px;font-size:var(--text-data);letter-spacing:.08em;text-transform:uppercase;color:var(--color-limestone)}.offering-year-list{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.offering-year{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:var(--border-structural);border-radius:var(--radius-none);background:var(--color-inset)}.offering-year-label{font-family:var(--font-sf-mono);font-size:var(--text-data);color:var(--color-pure-white)}.offering-year-value{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-limestone)}.offering-year.is-offered{border-color:var(--color-moss-deep)}.offering-year.is-offered .offering-year-value{color:var(--color-moss-bright)}.offering-year.is-absent{opacity:.55}@media (max-width: 640px){.quarter-picker-quarters{grid-template-columns:repeat(2,1fr)}}.planner-move-notice{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 0 16px;padding:10px 14px;background:var(--color-charcoal);border-left:3px solid var(--color-oxide-rust);color:var(--color-limestone);font-size:var(--text-body-sm)}.planner-move-notice-dismiss{flex:0 0 auto;background:transparent;border:none;padding:0 4px;color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-subhead);line-height:1;cursor:pointer}.planner-move-notice-dismiss:hover{color:var(--color-oxide-rust)}.mobile-toolbar{position:relative;max-width:var(--page-max-width);margin:0 auto;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.mobile-toolbar .plan-switcher-toggle{font-size:var(--text-data)}.site-footer{max-width:var(--page-max-width);margin:0 auto;padding:24px 32px 48px;border-top:var(--border-structural);display:flex;flex-direction:column;gap:12px}.site-footer-disclaimer{margin:0;color:var(--color-limestone);font-size:var(--text-data);line-height:1.6;max-width:80ch}.site-footer-external,.bulletin-link,.legal-card a{color:var(--color-oxide-rust);text-decoration:underline}.site-footer-links{display:flex;align-items:center;gap:10px}.site-footer-link,.legal-link,.login-legal-link{padding:0;min-height:24px;background:transparent;border:none;border-radius:var(--radius-none);color:var(--color-oxide-rust);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);font-weight:600;text-decoration:underline;cursor:pointer}.legal-link{font-size:var(--text-body-sm)}.login-legal-link{font-size:inherit;font-weight:600}.site-footer-link:hover,.legal-link:hover,.login-legal-link:hover,.site-footer-external:hover,.bulletin-link:hover{color:var(--color-sienna-bright)}.site-footer-sep{color:var(--color-limestone);font-size:var(--text-data)}.footer-sync-status{margin:0;color:var(--color-limestone);font-size:var(--text-data);line-height:1.6}.footer-sync-status-text{padding:0;background:transparent;border:none;color:inherit;font:inherit;cursor:pointer}.footer-sync-status-text:hover,.footer-sync-status-text:focus-visible{color:var(--color-oxide-rust);text-decoration:underline}.footer-sync-action{padding:0;background:transparent;border:none;color:var(--color-oxide-rust);font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}.footer-sync-action:hover{color:var(--color-sienna-bright)}.view-legal{max-width:var(--page-max-width);margin:0 auto;padding:32px}.legal-bar{padding-bottom:24px;border-bottom:var(--border-structural)}.legal-back{height:36px;padding:0 18px;background:transparent;border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);font-weight:600;cursor:pointer}.legal-back:hover{border-color:var(--color-oxide-rust);color:var(--color-oxide-rust)}.legal-card{max-width:72ch;padding-top:32px}.legal-title{margin:0 0 4px;color:var(--color-pure-white);font-size:var(--text-heading-sm);font-weight:600}.legal-updated{margin:0 0 24px;color:var(--color-limestone);font-size:var(--text-data);text-transform:uppercase;letter-spacing:.08em}.legal-lead{margin:0 0 32px;padding:16px;background:var(--color-charcoal);border-left:3px solid var(--color-oxide-rust);color:var(--color-limestone);font-size:var(--text-body);line-height:1.6}.legal-section{margin-bottom:28px}.legal-section h3{margin:0 0 8px;color:var(--color-pure-white);font-size:var(--text-subhead);font-weight:600}.legal-section p{margin:0 0 12px;color:var(--color-limestone);font-size:var(--text-body-sm);line-height:1.7}.legal-list{margin:0 0 12px;padding-left:22px;color:var(--color-limestone);font-size:var(--text-body-sm);line-height:1.7}.legal-list li{margin-bottom:8px}.legal-section code{padding:1px 5px;background:var(--color-inset);color:var(--color-limestone);font-family:var(--font-sf-mono);font-size:var(--text-data)}.legal-crosslink{padding-top:16px;border-top:var(--border-structural)}.legal-danger-panel{display:flex;flex-direction:column;gap:12px;max-width:320px;padding:16px;background:var(--color-charcoal);border:var(--border-structural)}.legal-danger-actions{display:flex;flex-wrap:wrap;gap:8px}.legal-danger-button{height:36px;padding:0 18px;background:var(--color-crimson-core);border:1px solid var(--color-crimson-core);border-radius:var(--radius-none);color:var(--color-pure-white);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);font-weight:600;cursor:pointer}.legal-danger-button:disabled{opacity:.6;cursor:default}.legal-cancel-button{height:36px;padding:0 18px;background:transparent;border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);font-weight:600;cursor:pointer}.legal-error{margin:0;color:var(--color-oxide-rust);font-size:var(--text-data);font-weight:600}.login-ack{display:flex;align-items:flex-start;gap:10px;color:var(--color-limestone);font-size:var(--text-data);line-height:1.6;cursor:pointer}.login-ack input{flex:0 0 auto;width:16px;height:16px;margin:2px 0 0;accent-color:var(--color-oxide-rust);cursor:pointer}.login-ack-note{margin:-8px 0 0;color:var(--color-limestone);font-size:var(--text-data);font-style:italic}.bulletin-link-row{display:flex;flex-direction:column;gap:4px;margin:24px 0 0}.bulletin-link{font-size:var(--text-body-sm);font-weight:600}.bulletin-link-note{color:var(--color-limestone);font-size:var(--text-data)}.progress-university{border-left:3px solid var(--color-moss-deep)}.univ-family{margin-top:14px}.univ-family-title{font-size:var(--text-data);font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--color-limestone);margin:0 0 6px;padding-bottom:4px;border-bottom:1px solid var(--color-slag)}.univ-slots{display:flex;flex-direction:column}.univ-slot:not(.is-foldable),.univ-slot-summary{display:grid;grid-template-columns:minmax(0,7em) minmax(0,1fr) auto;align-items:baseline;gap:10px;padding:5px 0}.univ-slot.is-foldable{display:block}.univ-slot+.univ-slot{border-top:1px solid var(--color-inset)}.univ-slot.is-foldable>.univ-slot-summary{cursor:pointer;list-style:none}.univ-slot.is-foldable>.univ-slot-summary::-webkit-details-marker{display:none}.univ-slot.is-foldable>.univ-slot-summary:hover .univ-slot-label{color:var(--color-pure-white)}.univ-slot-code{font-family:var(--font-sf-mono);font-size:var(--text-data);color:var(--color-limestone);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.univ-slot-label{font-size:var(--text-body-sm);color:var(--color-limestone)}.univ-slot-body{padding:2px 0 8px calc(7em + 10px)}.univ-assigned{list-style:none;margin:0;padding:0}.univ-assigned li{display:flex;gap:10px;align-items:baseline;padding:2px 0}.univ-assigned-code{font-family:var(--font-sf-mono);font-size:var(--text-data);color:var(--color-pure-white)}.univ-assigned-units{font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);color:var(--color-limestone)}.univ-slot-note{color:var(--color-limestone);font-size:var(--text-data);margin:4px 0 0}.univ-advisories{margin-top:10px}.univ-advisory{margin:6px 0 0;padding-left:10px;border-left:2px solid var(--color-slag);color:var(--color-limestone);font-size:var(--text-body-sm)}.univ-advisory.is-caution{border-left-color:var(--color-raw-sienna)}.progress-chips{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;gap:10px;background:var(--color-ore-canvas);border-bottom:var(--border-structural);padding:12px 0;margin-bottom:16px}.progress-chip{background:var(--color-inset);border:var(--border-structural);border-radius:var(--radius-none);padding:8px 14px;cursor:pointer;font-family:var(--font-ibm-plex-sans);color:var(--color-pure-white);text-align:left}.progress-chip:hover{border-color:var(--color-industrial-gray)}.progress-chip:focus-visible{outline:2px solid var(--color-oxide-rust);outline-offset:2px}.progress-chip-title{display:block;font-size:var(--text-data);color:var(--color-limestone);margin-bottom:4px}.progress-chip-figure{display:block;font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);font-weight:600;color:var(--color-pure-white)}.progress-card-head.is-toggle{width:100%;background:none;border:none;padding:0;color:inherit;font:inherit;cursor:pointer;text-align:left}.progress-card-head.is-toggle:hover .progress-card-title{color:var(--color-oxide-rust)}.progress-toggle-caret{flex:0 0 auto;width:0;height:0;border-left:5px solid var(--color-industrial-gray);border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform .15s ease}.progress-card-head.is-toggle[aria-expanded=true] .progress-toggle-caret{transform:rotate(90deg)}.progress-card-head.is-toggle:hover .progress-toggle-caret{border-left-color:var(--color-oxide-rust)}.univ-req-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;row-gap:4px;padding:5px 0;border-bottom:1px solid var(--color-inset);font-size:var(--text-body-sm);color:var(--color-limestone)}.univ-req-row:last-child{border-bottom:none}.univ-req-row.is-nested .univ-req-label{padding-left:20px}.univ-req-label{flex:1 1 auto;min-width:0;color:var(--color-pure-white)}.univ-req-row.is-met .univ-req-label{color:var(--color-limestone)}.univ-req-find{flex:none;background:transparent;border:1px solid var(--color-slag);border-radius:var(--radius-none);color:var(--color-oxide-rust);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);padding:1px 8px;cursor:pointer}.univ-req-find:hover{background:var(--color-slag)}.progress-note{margin:12px 0 0;font-size:var(--text-body-sm);color:var(--color-limestone)}.progress-note.is-unverified{color:var(--color-sienna-bright)}.progress-empty-picker{margin-top:8px}.progress-empty-toggle{background:var(--color-oxide-rust);border:1px solid var(--color-oxide-rust);border-radius:var(--radius-none);color:var(--text-on-accent);padding:8px 16px;cursor:pointer;font-size:var(--text-body-sm);font-family:var(--font-ibm-plex-sans);margin-top:8px}.progress-empty-toggle:hover{background:var(--color-crimson-core);border-color:var(--color-crimson-core)}.progress-program-list{list-style:none;margin:12px 0 0;padding:0;max-height:240px;overflow-y:auto;background:var(--color-inset);border:1px solid var(--color-slag)}.progress-program-item button{display:block;width:100%;text-align:left;padding:10px 12px;background:none;border:none;border-bottom:1px solid var(--color-slag);color:var(--color-limestone);font-size:var(--text-body-sm);font-family:var(--font-ibm-plex-sans);cursor:pointer}.progress-program-item:last-child button{border-bottom:none}.progress-program-item button:hover{background:var(--color-slag);color:var(--color-pure-white)}.req-status.is-unverified{color:var(--color-sienna-bright);text-transform:none;letter-spacing:.2px}.req-earned{flex:none;font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);color:var(--color-moss-bright);white-space:nowrap}.filters .units-filter{align-items:center}.units-filter-inputs{display:inline-flex;align-items:center;gap:4px}.units-filter-input{width:62px;background:var(--color-inset);border:1px solid var(--color-slag);color:var(--color-pure-white);font-family:var(--font-sf-mono);font-size:var(--text-data);padding:3px 6px}.units-filter-dash{color:var(--color-limestone)}.filters-clear{background:transparent;border:1px solid var(--color-slag);color:var(--color-oxide-rust);font-family:var(--font-sf-mono);font-size:var(--text-data);padding:3px 10px;cursor:pointer}.filters-clear:hover{background:var(--color-slag)}.credit-policy-note{color:var(--color-limestone);font-size:var(--text-body-sm);line-height:1.5;margin:0 0 12px;padding-bottom:12px;border-bottom:var(--border-structural)}.credit-policy-note strong{color:var(--color-pure-white)}.credit-group-note{color:var(--color-limestone);font-size:var(--text-body-sm);line-height:1.5;margin:4px 0 12px}.credit-transfer-admit{margin-bottom:12px}.credit-board-switcher{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.credit-board-chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;background:transparent;border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);font-weight:600;cursor:pointer}.credit-board-chip:hover:not(.selected){color:var(--color-oxide-rust);border-color:var(--color-oxide-rust)}.credit-board-chip.selected{background:var(--color-oxide-rust);border-color:var(--color-oxide-rust);color:var(--text-on-accent)}.credit-board-count{min-width:18px;text-align:center;line-height:1.4;font-family:var(--font-sf-mono);font-size:var(--text-data);font-weight:600;padding:0 4px;border:1px solid currentColor}.credit-grade-select{background:var(--color-inset);border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-limestone);font-family:var(--font-sf-mono);font-size:var(--text-data);padding:3px 6px;flex:0 0 auto}.credit-transfer-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;margin-bottom:16px}.credit-field{display:flex;flex-direction:column;gap:3px;flex:1 1 180px}.credit-field-narrow{flex:0 0 130px}.credit-field span{color:var(--color-limestone);font-size:var(--text-body-sm)}.credit-field input{background:var(--color-inset);border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-pure-white);font-size:var(--text-body-sm);padding:5px 7px;width:100%}.credit-transfer-add{padding:6px 14px;background:var(--color-oxide-rust);border:1px solid var(--color-oxide-rust);border-radius:var(--radius-none);color:var(--text-on-accent);font-size:var(--text-body-sm);font-weight:600;cursor:pointer}.credit-transfer-add:disabled{background:transparent;border-color:var(--color-slag);color:var(--color-limestone);cursor:default}.credit-transfer-table{width:100%;border-collapse:collapse;font-size:var(--text-body-sm)}.credit-transfer-table th{text-align:left;color:var(--color-limestone);font-weight:600;border-bottom:var(--border-structural);padding:4px 8px 4px 0}.credit-transfer-table td{color:var(--color-pure-white);border-bottom:1px solid var(--color-slag);padding:5px 8px 5px 0;vertical-align:middle}.credit-equivalent-input{background:var(--color-inset);border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-pure-white);font-family:var(--font-sf-mono);font-size:var(--text-data);padding:3px 6px;width:110px}.credit-transfer-remove{background:transparent;border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-limestone);font-size:var(--text-data);padding:3px 8px;cursor:pointer}.credit-transfer-remove:hover{color:var(--color-oxide-rust);border-color:var(--color-oxide-rust)}.undo-redo-controls{display:flex;gap:8px}.history-button,.command-palette-trigger{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-limestone);cursor:pointer}.history-button svg{flex:none}.history-button:hover:not(:disabled),.history-button:focus-visible:not(:disabled),.command-palette-trigger:hover,.command-palette-trigger:focus-visible{color:var(--color-oxide-rust);border-color:var(--color-oxide-rust)}.history-button:disabled{color:var(--color-slag);border-color:var(--color-slag);cursor:default}.history-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);background:var(--color-charcoal);border:var(--border-structural);color:var(--color-limestone);padding:10px 18px;font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);pointer-events:none;z-index:50}.history-toast[hidden]{display:none}.tour-panel{position:fixed;top:140px;right:32px;width:320px;background:var(--color-charcoal);border:var(--border-structural);border-radius:var(--radius-none);padding:20px;z-index:50;box-shadow:0 8px 24px #00000080}.tour-panel[hidden]{display:none}.tour-step-count{font-size:var(--text-data);color:var(--color-limestone);text-transform:uppercase;letter-spacing:.04em;margin:0}.tour-title{font-size:var(--text-subhead);font-weight:600;color:var(--color-pure-white);margin:8px 0}.tour-body{font-size:var(--text-body-sm);color:var(--color-limestone);line-height:1.5;margin:0 0 16px}.tour-actions{display:flex;justify-content:space-between;align-items:center;gap:8px}.tour-skip{background:none;border:none;color:var(--color-limestone);font-size:var(--text-data);cursor:pointer;text-decoration:underline;padding:0}.tour-skip:hover{color:var(--color-oxide-rust)}.tour-nav{display:flex;gap:8px}.tour-nav button{height:32px;padding:0 14px;background:transparent;border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-pure-white);font-size:var(--text-body-sm);font-family:var(--font-ibm-plex-sans);cursor:pointer}.tour-nav button:disabled{color:var(--color-slag);border-color:var(--color-slag);cursor:default}.tour-nav button.tour-next{background:var(--color-oxide-rust);border-color:var(--color-oxide-rust)}.tour-nav button.tour-next:hover{background:var(--color-raw-sienna);border-color:var(--color-raw-sienna)}[data-tour-highlight]{outline:3px solid var(--color-sienna-bright);outline-offset:2px}.changelog-tour-link{background:none;border:none;color:var(--color-sienna-bright);text-decoration:underline;font-size:var(--text-body-sm);cursor:pointer;padding:0}.changelog-tour-link:hover{color:var(--color-oxide-rust)}.req-advisory{margin:6px 0 0;padding-left:10px;border-left:2px solid var(--color-slag);color:var(--color-limestone);font-size:var(--text-body-sm)}.req-advisory.is-caution{border-left-color:var(--color-raw-sienna)}.req-tree.is-compact .req-advisory{margin:5px 0 0}.planner-chip.is-prereq-warning{border-color:var(--color-raw-sienna)}button.req-course-code{cursor:pointer;border:none}button.req-course-code:hover,button.req-course-code:focus-visible{background:var(--color-oxide-rust);outline:none}.univ-advisory.is-met{border-left-color:var(--color-moss-deep)}.planner-legend-swatch.is-prereq-warning{border-color:var(--color-raw-sienna)}.planner-prereq-heading{margin:0 0 4px;font-weight:600}.qp-quarter.is-suggested{border-style:dashed;border-color:var(--color-sienna-bright)}.settings-page{display:flex;flex-direction:column;gap:32px}#panel-settings>h2{margin:0 0 24px;font-size:var(--text-subhead);font-weight:600;color:var(--color-pure-white);border-bottom:var(--border-structural);padding-bottom:8px}.settings-section{border:var(--border-structural);background:var(--color-charcoal);padding:20px}.settings-account-actions .legal-section{margin:0}.settings-account-actions .legal-section h3{margin:16px 0 4px;font-size:var(--text-subhead)}.settings-account-actions .legal-section p{margin:0 0 12px;font-size:var(--text-body-sm);line-height:1.6;color:var(--color-limestone)}.settings-section h2{margin:0 0 4px;font-size:var(--text-subhead);font-weight:600;color:var(--color-pure-white)}.settings-section .settings-section-hint{margin:0 0 16px;font-size:var(--text-body-sm);line-height:1.6;color:var(--color-limestone)}.settings-section.is-locked{background:var(--color-inset)}.settings-section.is-locked h2{color:var(--color-limestone)}.settings-section .settings-lock-note{display:block;margin-top:8px;font-size:var(--text-data);color:var(--color-sienna-bright)}.settings-section button:disabled,.settings-section input:disabled{border-color:var(--color-industrial-gray);cursor:default}.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--color-slag)}.settings-toggle-row:first-of-type{border-top:none}.settings-toggle-label{font-size:var(--text-body-sm);color:var(--color-limestone)}.settings-field-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.settings-field-row label{min-width:180px;font-size:var(--text-body-sm);color:var(--color-limestone)}.settings-field-row input[type=number]{width:120px;padding:6px 8px;background:var(--color-inset);border:var(--border-structural);color:var(--color-pure-white);font-family:var(--font-sf-mono);font-size:var(--text-body-sm)}.settings-field-error{display:block;margin-top:4px;font-size:var(--text-data);color:var(--color-sienna-bright)}.settings-checkbox-row{display:flex;align-items:center;gap:8px;padding:10px 0;border-top:1px solid var(--color-slag);font-size:var(--text-body-sm);color:var(--color-limestone)}.settings-section-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-section-header-row h2{margin:0}.settings-filter-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--color-slag)}.settings-filter-row:first-of-type{border-top:none}.settings-filter-label{font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);color:var(--color-limestone)}button.settings-filter-remove{padding:4px 10px;font-size:var(--text-data)}.settings-filters-empty{font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);color:var(--color-limestone)}.settings-account-actions{display:flex;flex-direction:column;gap:16px}.settings-signout-button{align-self:flex-start}.settings-account-actions .legal-section{margin-bottom:0}.destructive-confirm{display:flex;flex-direction:column;gap:10px;margin-top:8px;padding:14px 16px;border:1px solid var(--color-raw-sienna);background:var(--color-inset)}.destructive-confirm-message{margin:0;font-size:var(--text-body-sm);line-height:1.5;color:var(--color-limestone)}.destructive-confirm-message strong{color:var(--color-sienna-bright)}.destructive-confirm-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.destructive-confirm button{padding:6px 14px;border:var(--border-structural);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);cursor:pointer}.destructive-confirm-confirm{background:var(--color-crimson-core);border-color:var(--color-crimson-core);color:var(--color-pure-white)}.destructive-confirm-cancel{background:transparent;color:var(--color-limestone)}.destructive-confirm-cancel:hover{border-color:var(--color-limestone);color:var(--color-pure-white)}.destructive-confirm-mute{display:flex;align-items:center;gap:6px;margin-left:auto;font-size:var(--text-data);color:var(--color-limestone)}.destructive-confirm-mute input{margin:0}.classification-badge{display:inline-block;padding:1px 8px;border:1px solid var(--color-slag);background:var(--color-charcoal);color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);white-space:nowrap;vertical-align:middle}.classification-badge.is-primary,.classification-badge.is-double,.classification-badge.is-dual{border-color:var(--color-oxide-rust);color:var(--color-oxide-rust)}.col-select-stack{display:flex;flex-direction:column;align-items:center;gap:6px}.col-select-actions{display:flex;flex-direction:row;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px}.col-select-stack .classification-badge{max-width:100%;white-space:normal;text-align:center;line-height:1.3}.program-overlap-note{margin:6px 0 0;font-size:var(--text-data);line-height:1.4;color:var(--color-limestone)}.program-overlap-note.is-shared{color:var(--color-pure-white)}.program-membership-list{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}.program-membership-badge{font-size:var(--text-data);line-height:1.3}.program-membership-badge.is-counted{color:var(--color-moss-bright)}.program-membership-badge.is-blocked{color:var(--color-sienna-bright)}.program-membership-badge.is-unclaimed{color:var(--color-limestone);font-style:italic}.program-membership-empty{font-size:var(--text-data);color:var(--color-limestone)}.program-membership-override{margin-top:10px}.program-membership-override label{display:block;margin-bottom:4px;font-size:var(--text-data);text-transform:uppercase;letter-spacing:.04em;color:var(--color-limestone)}.program-membership-override select{width:100%;max-width:340px;padding:6px 10px;background:var(--color-inset);border:1px solid var(--color-slag);color:var(--color-pure-white);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm)}.program-double-count-toggle{display:flex;align-items:baseline;gap:6px;margin-top:10px;font-size:var(--text-body-sm);color:var(--color-pure-white)}.program-double-count-note{margin:4px 0 0;font-size:var(--text-data);line-height:1.4;color:var(--color-limestone)}.settings-account-actions .legal-section a{color:var(--color-oxide-rust);text-decoration:underline}.settings-section.is-locked .legal-section h3{color:var(--color-limestone)}.col-select .destructive-confirm{min-width:260px}@media (max-width: 700px){.col-select .destructive-confirm{min-width:0}}.major-filter-anchor{position:relative;flex:none}.major-filter-toggle{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;background:var(--color-inset);border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-pure-white);font-family:var(--font-ibm-plex-sans);font-size:15px;font-weight:600;cursor:pointer;white-space:nowrap}.major-filter-toggle:hover{border-color:var(--color-oxide-rust);color:var(--color-oxide-rust)}.major-filter-caret{display:inline-flex;transition:transform .15s ease}.major-filter-caret[data-open]{transform:rotate(180deg)}.major-filter-panel{position:absolute;top:100%;left:0;z-index:20;width:260px;max-height:70vh;overflow-y:auto;background:var(--color-charcoal);border:var(--border-structural);border-radius:var(--radius-none);padding:12px;box-shadow:0 8px 24px #00000080}.major-filter-panel[hidden]{display:none}.major-filter-panel.flip-up{top:auto;bottom:100%}.major-filter-option{display:flex;align-items:center;gap:8px;min-height:30px;margin-bottom:12px;font-size:var(--text-data);color:var(--color-limestone);cursor:pointer}.major-filter-option:last-of-type{margin-bottom:0}.major-filter-option input[type=radio]{flex:none;width:14px;height:14px;margin:0;accent-color:var(--color-oxide-rust);cursor:pointer}.major-filter-footer{display:flex;margin-top:14px;padding-top:12px;border-top:1px solid var(--color-slag)}.major-filter-btn-done{flex:1;height:32px;background:var(--color-oxide-rust);border:1px solid var(--color-oxide-rust);border-radius:var(--radius-none);color:var(--text-on-accent);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);font-weight:600;cursor:pointer}.major-filter-btn-done:hover{background:var(--color-raw-sienna);border-color:var(--color-raw-sienna)}.major-filter-select{height:30px;padding:0 6px;background:var(--color-inset);border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-pure-white);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);cursor:pointer}.major-filter-select:focus-visible{outline:none;border-color:var(--color-oxide-rust)}.account-menu-anchor{position:relative;flex:none}.account-menu-panel{position:absolute;top:100%;right:0;z-index:20;margin-top:6px;width:220px;background:var(--color-charcoal);border:var(--border-structural);border-radius:var(--radius-none);padding:6px;display:flex;flex-direction:column;box-shadow:0 8px 24px #00000080}.account-menu-panel[hidden]{display:none}.account-menu-identity{display:flex;align-items:center;gap:10px;padding:8px 6px}.account-menu-avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:26px;height:26px;border:var(--border-structural);border-color:var(--color-moss-deep);border-radius:var(--radius-none);color:var(--color-moss-bright);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);font-weight:600;line-height:1}.account-menu-identity-text{display:flex;flex-direction:column;gap:2px;min-width:0}.account-menu-identity-label{color:var(--color-limestone);font-size:var(--text-data)}.account-menu-avatar.is-guest{border-color:var(--color-slag);color:var(--color-limestone)}.account-menu-status{color:var(--color-pure-white);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);font-weight:600}.account-menu-username{color:var(--color-pure-white);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);font-weight:600;overflow-wrap:break-word}.account-menu-divider{border-top:var(--border-structural);margin:4px -6px}.account-menu-item{display:flex;align-items:center;gap:10px;padding:9px 6px;background:transparent;border:none;border-radius:var(--radius-none);color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);text-align:left;cursor:pointer}.account-menu-item:hover{background:var(--color-inset);color:var(--color-oxide-rust)}.account-menu-caret{display:inline-flex;transition:transform .15s ease}.account-menu-caret[data-open]{transform:rotate(180deg)}.login-field{position:relative}.login-field-hint{display:none;position:absolute;top:100%;left:0;z-index:5;margin-top:4px;width:260px;max-width:calc(100vw - 64px);padding:8px 10px;background:var(--color-charcoal);border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-limestone);font-size:var(--text-data);line-height:1.5;pointer-events:none}.login-field:focus-within .login-field-hint{display:block}.info-tooltip{position:relative;display:inline-flex;flex:none;vertical-align:middle}.info-tooltip-trigger{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:transparent;border:none;border-radius:var(--radius-none);color:var(--color-limestone);cursor:pointer}.info-tooltip-trigger:hover,.info-tooltip-trigger:focus-visible{color:var(--color-pure-white)}.info-tooltip-trigger:focus-visible{outline:2px solid var(--color-pure-white);outline-offset:2px}.info-tooltip-trigger.is-warning{color:var(--color-sienna-bright)}.info-tooltip-trigger.is-warning:hover,.info-tooltip-trigger.is-warning:focus-visible{color:var(--color-sienna-bright);outline-color:var(--color-sienna-bright)}.info-tooltip-bubble{position:absolute;z-index:30;width:260px;max-width:calc(100vw - 48px)}.info-tooltip-bubble[hidden]{display:none}.info-tooltip-bubble.is-bottom-start{top:100%;left:0;padding-top:6px}.info-tooltip-bubble.is-bottom-end{top:100%;right:0;padding-top:6px}.info-tooltip-bubble.is-top-start{bottom:100%;left:0;padding-bottom:6px}.info-tooltip-bubble.is-top-end{bottom:100%;right:0;padding-bottom:6px}.info-tooltip-bubble-inner{white-space:normal;background:var(--color-charcoal);border:var(--border-structural);border-radius:var(--radius-none);padding:10px 12px;box-shadow:0 8px 24px #00000080;color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);font-weight:400;line-height:1.5}.info-tooltip-bubble-inner a{color:var(--color-pure-white);text-decoration:underline}.info-tooltip-bubble-inner p{margin:0 0 8px}.info-tooltip-bubble-inner p:last-child{margin-bottom:0}.info-tooltip-bubble-inner ul{margin:0;padding-left:18px}.info-tooltip-bubble-inner li{margin-bottom:6px}.info-tooltip-bubble-inner li:last-child{margin-bottom:0}.bulletin-icon-link{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:var(--color-limestone);text-decoration:none}.bulletin-icon-link:hover,.bulletin-icon-link:focus-visible{color:var(--color-pure-white)}.bulletin-icon-link:focus-visible{outline:2px solid var(--color-pure-white);outline-offset:2px}.major-detail-heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.major-detail-heading-row>.major-detail-heading{margin-bottom:0}.credit-group-heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.credit-group-heading-actions{display:flex;align-items:center;gap:4px}.planner-density-toggle{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 6px;border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);cursor:pointer;white-space:nowrap}.planner-density-toggle:hover{border-color:var(--color-oxide-rust);color:var(--color-oxide-rust)}.planner-density-toggle input[type=checkbox]{margin:0;cursor:pointer}@media (max-width: 700px){.planner-density-toggle{display:none}}.credit-add-button{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:transparent;border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-limestone);cursor:pointer}.credit-add-button:hover,.credit-add-button:focus-visible{border-color:var(--color-oxide-rust);color:var(--color-oxide-rust)}.credit-add-button:focus-visible{outline:2px solid var(--color-oxide-rust);outline-offset:2px}.settings-section-heading-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.settings-section-heading-row h2{margin:0}.planner-body{display:flex;flex-direction:column;gap:10px}.planner-years-stack{min-width:0}.staging-area{background:var(--color-charcoal);border:1px solid var(--color-slag);border-radius:var(--radius-none);padding:14px;min-width:0}.staging-area.is-drag-over{border-color:var(--color-sienna-bright)}.staging-area-heading{display:flex;align-items:center;gap:6px;font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);font-weight:600;color:var(--color-pure-white);margin:0 0 6px}.staging-info-icon{background:none;border:none;padding:0;color:var(--color-limestone);cursor:help;display:inline-flex;align-items:center}.staging-chip-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(0,calc(25% - 9px)));gap:12px;align-items:start}.staging-chip-list.density-expanded{grid-template-columns:repeat(auto-fill,minmax(0,calc(50% - 6px)))}@media (max-width: 700px){.staging-chip-list,.staging-chip-list.density-expanded{grid-template-columns:1fr}}.staging-empty{font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);color:var(--color-limestone);font-style:italic;min-height:32px;display:flex;align-items:center;margin:0}.staging-chip{display:flex;flex-direction:column;justify-content:center;width:100%;min-height:32px;box-sizing:border-box;padding:3px 8px;background:var(--color-inset);border:1px solid var(--color-slag);border-radius:var(--radius-none);color:var(--color-pure-white);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);cursor:grab;text-align:left}.staging-chip:active{cursor:grabbing}.staging-chip.has-title{gap:2px;min-height:46px}.staging-chip-title{display:block;min-width:0;font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);font-weight:400;color:var(--color-pure-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.staging-chip-main-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}.staging-chip-code{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staging-chip-units{font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);color:var(--color-limestone);white-space:nowrap}.staging-chip-wrap.is-dragging,.planner-chip-wrap.is-dragging{opacity:.5}.staging-chip-detail{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--color-slag);border-top:none;border-radius:0 0 4px 4px}.staging-chip-detail-title{margin:0;font-size:.85rem;color:var(--color-pure-white)}.staging-chip-detail-field{display:flex;align-items:center;gap:6px}.staging-schedule-button,.planner-stage-button{height:28px;padding:0 8px;background:none;border:1px solid var(--color-slag);border-radius:var(--radius-none);color:var(--color-pure-white);cursor:pointer;font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);line-height:1}.quarter-picker-stage-section{margin-bottom:0}.qp-stage{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:12px 10px;background:var(--color-inset);border:var(--border-structural);border-radius:var(--radius-none);text-align:left;cursor:pointer}.qp-stage:hover{border-color:var(--color-oxide-rust)}.qp-stage-title{font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);font-weight:600;color:var(--color-pure-white)}.qp-stage-hint{font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);color:var(--color-limestone);line-height:1.4}.planner-quarter-col.is-target-offered{border-color:var(--color-moss-deep)}.planner-quarter-col.is-target-not-offered{border-color:var(--color-crimson-core)}.planner-quarter-col.is-drag-over{border-color:var(--color-sienna-bright);box-shadow:inset 0 0 0 1px var(--color-sienna-bright)}.planner-quarter-col.is-target-offered.is-drag-over{border-color:var(--color-moss-bright);box-shadow:inset 0 0 0 1px var(--color-moss-bright)}.planner-quarter-col.is-target-not-offered.is-drag-over{border-color:var(--color-crimson-core);box-shadow:inset 0 0 0 2px var(--color-crimson-core)}.planner-drag-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.credit-group-heading-row:not(:first-child){margin-top:32px}.planner-quarter-col-heading{margin-top:4px}.command-palette-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:130;display:flex;align-items:flex-start;justify-content:center;padding:96px 24px 24px;background:#000000b8}.command-palette{width:100%;max-width:560px;background:var(--color-charcoal);border:var(--border-structural);border-radius:var(--radius-none);padding:16px}.command-palette:focus-visible{outline:none}.command-palette-form{display:flex}.command-palette-input{flex:1;height:44px;padding:0 12px;background:var(--color-inset);border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-pure-white);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body)}.command-palette-input::placeholder{color:var(--text-placeholder)}.command-palette-input:focus{outline:none;border-color:var(--color-oxide-rust)}.command-palette-hint,.command-palette-message{margin:12px 0 0;font-size:var(--text-data);font-family:var(--font-ibm-plex-sans)}.command-palette-hint{color:var(--color-limestone)}.command-palette-message{color:var(--color-sienna-bright)}.recover-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.recover-item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.recover-item-text{display:flex;flex-direction:column}.recover-item-what{color:var(--color-pure-white);font-size:var(--text-body-sm)}.recover-item-when{color:var(--color-limestone);font-size:var(--text-data)}.recover-item-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--color-sienna-bright);font-size:var(--text-body-sm)}.recover-done{margin:12px 0 0;color:var(--color-limestone);font-size:var(--text-body-sm)}.plan-switcher-anchor{position:relative;flex:none}.plan-switcher-toggle{display:inline-flex;align-items:center;gap:8px;height:36px;max-width:220px;padding:0 12px;background:var(--color-inset);border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-pure-white);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);font-weight:600;cursor:pointer}.plan-switcher-toggle:hover{border-color:var(--color-oxide-rust);color:var(--color-oxide-rust)}.plan-switcher-toggle-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-switcher-caret{display:inline-flex;flex:none;transition:transform .15s ease}.plan-switcher-caret[data-open]{transform:rotate(180deg)}.mobile-toolbar .plan-switcher-panel{top:auto;bottom:100%;margin-top:0;margin-bottom:6px}.plan-switcher-panel{position:absolute;top:100%;left:0;z-index:20;margin-top:6px;width:260px;max-height:70vh;overflow-y:auto;background:var(--color-charcoal);border:var(--border-structural);border-radius:var(--radius-none);padding:6px;display:flex;flex-direction:column;box-shadow:0 8px 24px #00000080}.plan-switcher-panel[hidden]{display:none}.plan-switcher-list{display:flex;flex-direction:column;max-height:45vh;overflow-y:auto}.plan-switcher-row{display:flex;align-items:center;gap:4px;padding:2px 0}.plan-switcher-row-select{flex:1;display:flex;align-items:center;gap:8px;min-width:0;padding:8px 6px;background:transparent;border:none;border-radius:var(--radius-none);color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);text-align:left;cursor:pointer}.plan-switcher-row-select:hover{background:var(--color-inset);color:var(--color-oxide-rust)}.plan-switcher-row-select[aria-current=true]{color:var(--color-pure-white);font-weight:600}.plan-switcher-row-dot{flex:none;width:10px;color:var(--color-oxide-rust)}.plan-switcher-row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-switcher-row-actions{display:flex;flex:none;gap:2px}.plan-switcher-row-rename,.plan-switcher-row-delete{height:26px;padding:0 8px;background:transparent;border:1px solid var(--color-slag);border-radius:var(--radius-none);color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);cursor:pointer}.plan-switcher-row-rename:hover{border-color:var(--color-oxide-rust);color:var(--color-oxide-rust)}.plan-switcher-row-delete:hover{border-color:var(--color-crimson-core);color:var(--color-crimson-core)}.plan-switcher-row-delete:disabled{color:var(--color-limestone);border-color:var(--color-industrial-gray);cursor:not-allowed}.plan-switcher-rename-input{flex:1;min-width:0;height:30px;padding:0 8px;background:var(--color-inset);border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-pure-white);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm)}.plan-switcher-rename-input:focus-visible{outline:none;border-color:var(--color-oxide-rust)}.plan-switcher-divider{border-top:1px solid var(--color-slag);margin:6px -6px}.plan-switcher-limit{margin:0 0 8px;padding:0 2px;color:var(--color-sienna-bright);font-size:var(--text-data)}.plan-switcher-footer{display:flex;gap:8px}.plan-switcher-new,.plan-switcher-duplicate{flex:1;height:32px;background:transparent;border:1px solid var(--color-slag);border-radius:var(--radius-none);color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);font-weight:600;cursor:pointer}.plan-switcher-new:hover,.plan-switcher-duplicate:hover{border-color:var(--color-oxide-rust);color:var(--color-oxide-rust)}.plan-switcher-new:disabled,.plan-switcher-duplicate:disabled{color:var(--color-limestone);border-color:var(--color-industrial-gray);cursor:not-allowed}.cmeta-fields{flex-direction:column;align-items:stretch;gap:8px}.cmeta-field{display:flex;align-items:center;gap:8px}.cmeta-field-notes{align-items:flex-start;flex-wrap:wrap}.cmeta-label{flex:0 0 72px;font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);color:var(--color-limestone)}.cmeta-select{flex:1 1 auto;height:28px;padding:0 6px;background:var(--color-inset);border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-pure-white);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);cursor:pointer}.cmeta-select:focus-visible{outline:none;border-color:var(--color-oxide-rust)}.cmeta-notes{flex:1 1 100%;min-height:32px;padding:5px 6px;background:var(--color-inset);border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-pure-white);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);resize:vertical}.cmeta-notes:focus-visible{outline:none;border-color:var(--color-oxide-rust)}.cmeta-counter{width:100%;text-align:right;font-family:var(--font-sf-mono);font-size:var(--text-data);color:var(--color-limestone)}.planner-override-button{height:28px;padding:0 8px;background:none;border:1px solid var(--color-slag);border-radius:var(--radius-none);color:var(--color-pure-white);cursor:pointer;font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);line-height:1}.planner-override-button:hover,.planner-override-button:focus-visible{border-color:var(--color-oxide-rust);outline:none}.cdetail-headline-actions{display:inline-flex;align-items:center;gap:8px}.cdetail-meta-fields{display:flex;flex-direction:column;align-items:stretch;gap:8px;max-width:420px}.plan-stage-button{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;line-height:1;height:28px;width:28px;padding:0;background:transparent;border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-limestone);font-size:var(--text-data);cursor:pointer}.plan-stage-button:hover,.plan-stage-button:focus-visible{color:var(--color-oxide-rust);border-color:var(--color-oxide-rust)}.plan-stage-button.is-staged{background:var(--color-oxide-rust);border-color:var(--color-oxide-rust);color:var(--text-on-accent)}.rule-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:122;display:flex;align-items:center;justify-content:center;padding:24px;background:#000000b8}.rule-picker{width:100%;max-width:560px;max-height:90vh;overflow-y:auto;background:var(--color-charcoal);border:var(--border-structural);border-radius:var(--radius-none);padding:24px}.rule-picker:focus-visible{outline:none}.rule-picker-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:20px}.rule-picker-title{margin:0;font-size:var(--text-subhead);font-weight:600;color:var(--color-limestone)}.rule-picker-course{font-family:var(--font-sf-mono);color:var(--color-pure-white)}.rule-picker-close{flex:none;width:28px;height:28px;background:none;border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-limestone);font-size:var(--text-body);line-height:1;cursor:pointer}.rule-picker-close:hover{border-color:var(--color-oxide-rust);color:var(--color-pure-white)}.rule-picker-empty{color:var(--color-limestone);font-size:var(--text-body-sm);padding:16px 0 4px;margin:0}.rule-picker-programs{display:flex;flex-direction:column;gap:20px}.rule-picker-program-name{margin:0 0 8px;font-size:var(--text-data);letter-spacing:.08em;text-transform:uppercase;color:var(--color-limestone)}.rule-picker-rule-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.rule-picker-rule-toggle{width:100%;display:flex;align-items:center;gap:10px;background:var(--color-inset);border:var(--border-structural);border-radius:var(--radius-none);padding:10px 12px;color:var(--color-limestone);font-size:var(--text-body-sm);text-align:left;cursor:pointer}.rule-picker-rule-toggle:hover,.rule-picker-rule-toggle[aria-pressed=true]{border-color:var(--color-oxide-rust);color:var(--color-pure-white)}.rule-picker-rule-check{flex:none;width:16px;text-align:center;color:var(--color-oxide-rust);font-weight:600}.rule-picker-rule-name{flex:1}.chip-menu{position:fixed;z-index:90;width:460px;max-width:calc(100vw - 16px);background:var(--color-charcoal);border:var(--border-structural);border-radius:var(--radius-none);box-shadow:0 12px 32px #0000008c,0 2px 8px #0006}.chip-menu:focus-visible{outline:none}.chip-menu-caret{position:absolute;top:-8px;width:15px;height:15px;background:var(--color-charcoal);border-left:var(--border-structural);border-top:var(--border-structural);transform:rotate(45deg)}.chip-menu.flip-up .chip-menu-caret{top:auto;bottom:-8px;transform:rotate(225deg)}.chip-menu-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--color-slag)}.chip-menu-titles{min-width:0}.chip-menu-code{display:block;font-family:var(--font-sf-mono);font-size:var(--text-data);color:var(--color-limestone)}.chip-menu-title{margin:2px 0 0;font-size:var(--text-body-sm);font-weight:600;color:var(--color-pure-white)}.chip-menu-close{flex:0 0 auto;background:transparent;border:none;color:var(--color-limestone);font-size:18px;line-height:1;cursor:pointer;padding:2px 4px}.chip-menu-close:hover,.chip-menu-close:focus-visible{color:var(--color-oxide-rust);outline:none}.chip-menu-body{padding:10px 12px;display:flex;flex-direction:column;gap:10px}.chip-menu-section-label{margin:0;font-size:var(--text-data);color:var(--color-limestone);text-transform:uppercase;letter-spacing:.04em}.chip-menu-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.chip-menu-units-input{width:56px;height:28px;background:var(--color-inset);border:1px solid var(--color-slag);border-radius:var(--radius-none);color:var(--color-pure-white);font-family:var(--font-sf-mono);font-size:var(--text-body-sm);padding:0 6px}.chip-menu-units-input:disabled{color:var(--color-limestone)}.chip-menu-units-range{font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);color:var(--color-limestone)}.chip-menu-divider{height:1px;background:var(--color-slag)}.chip-menu-counts{display:flex;flex-direction:column;gap:3px}.chip-menu-counts .cmeta-label{flex:0 0 auto}.chip-menu-counts-value{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;background:var(--color-inset);border:1px solid var(--color-slag);padding:5px 8px}.chip-menu-counts.is-counted .chip-menu-counts-value{border-color:var(--color-moss-deep)}.chip-menu-counts-prog{min-width:0;font-size:var(--text-data);line-height:1.35}.chip-menu-counts-program{display:block;font-size:var(--text-body-sm);font-weight:600;line-height:1.25}.chip-menu-counts-req{display:block;font-size:var(--text-data);line-height:1.3}.chip-menu-counts-change{align-self:flex-start}.chip-menu-counts.is-counted .chip-menu-counts-prog{color:var(--color-moss-bright)}.chip-menu-counts.is-elective .chip-menu-counts-prog{color:var(--color-limestone);font-style:italic}.chip-menu-counts-change{flex:0 0 auto;background:none;border:none;color:var(--color-oxide-rust);cursor:pointer;font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);padding:0}.chip-menu-counts-change:hover,.chip-menu-counts-change:focus-visible{color:var(--color-sienna-bright);outline:none}.chip-menu-description{padding:0 0 10px;border-bottom:1px solid var(--color-slag);font-size:var(--text-body-sm);line-height:1.5;color:var(--color-limestone)}.chip-menu-description-scroll{max-height:11em;overflow-y:auto}.chip-menu-description p{margin:0}.chip-menu-section-filter{display:block;width:100%;box-sizing:border-box;margin:0 0 6px;padding:5px 8px;border:1px solid var(--color-slag);background:var(--color-charcoal);color:var(--color-pure-white);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data)}.chip-menu-section-filter::placeholder{color:var(--text-placeholder)}.chip-menu-section-filter:focus-visible{outline:1px solid var(--color-sienna-bright);outline-offset:-1px}.chip-menu-section-empty{display:block;width:100%;padding:6px 8px;background:none;border:none;color:var(--color-oxide-rust);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);text-align:left;cursor:pointer}.chip-menu-section-empty:hover,.chip-menu-section-empty:focus-visible{color:var(--color-sienna-bright);outline:none}.rule-picker-subplan-prompt{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid var(--color-slag)}.rule-picker-subplan-prompt p{margin:0;font-size:var(--text-body-sm);color:var(--color-limestone)}.rule-picker-subplan-prompt select{padding:4px 6px;border:1px solid var(--color-slag);background:var(--color-charcoal);color:var(--color-pure-white);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data)}.rule-picker-subplan-change{padding:0;background:none;border:none;color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);text-decoration:underline;cursor:pointer}.rule-picker-subplan-change:hover,.rule-picker-subplan-change:focus-visible{color:var(--color-oxide-rust)}.chip-menu-actions{display:flex;flex-direction:column;gap:6px}.chip-menu-actions-row{display:flex;gap:6px}.chip-menu-actionbtn{display:flex;align-items:center;justify-content:center;gap:6px;height:30px;padding:0 10px;background:none;border:1px solid var(--color-slag);border-radius:var(--radius-none);color:var(--color-pure-white);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);cursor:pointer}.chip-menu-actions-row .chip-menu-actionbtn{flex:1 1 0}.chip-menu-actionbtn:hover,.chip-menu-actionbtn:focus-visible{border-color:var(--color-oxide-rust);outline:none}.chip-menu-remove{color:var(--color-sienna-bright)}.chip-menu-remove:hover,.chip-menu-remove:focus-visible{border-color:var(--color-crimson-core)}.rule-picker-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.rule-picker-tab{height:30px;padding:0 12px;background:var(--color-inset);border:1px solid var(--color-slag);border-radius:var(--radius-none);color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);cursor:pointer}.rule-picker-tab[aria-selected=true]{border-color:var(--color-oxide-rust);color:var(--color-pure-white)}.rule-picker-tab-dot{color:var(--color-moss-bright)}.rule-picker-rule-toggle.is-eligible{border-color:var(--color-moss-deep);color:var(--color-pure-white)}.rule-picker-rule-toggle.is-eligible:hover,.rule-picker-rule-toggle.is-assigned{border-color:var(--color-moss-bright)}.rule-picker-radio{flex:none;width:16px;height:16px;border:1px solid var(--color-slag);border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.rule-picker-rule-toggle.is-assigned .rule-picker-radio{border-color:var(--color-moss-bright)}.rule-picker-radio-dot{width:8px;height:8px;border-radius:50%;background:var(--color-moss-bright)}.rule-picker-rule-tag{flex:none;font-size:var(--text-data);color:var(--color-limestone);font-style:italic}.rule-picker-multi{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:var(--text-body-sm);color:var(--color-pure-white);cursor:pointer}.rule-picker-multi input{width:15px;height:15px;accent-color:var(--color-oxide-rust)}.rule-picker-warning{margin-top:10px;border:1px solid var(--color-raw-sienna);padding:8px 10px;font-size:var(--text-data)}.rule-picker-warning-title{margin:0 0 3px;font-weight:600;color:var(--color-sienna-bright)}.rule-picker-warning-body{margin:0;color:var(--color-limestone)}.extsource-links{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 12px}.extsource-link{display:inline-flex;align-items:center;font-size:13px;padding:3px 10px;border:1px solid var(--color-industrial-gray);border-radius:999px;color:var(--color-limestone);text-decoration:none}.extsource-link:hover,.extsource-link:focus-visible{color:var(--color-pure-white);border-color:var(--color-pure-white)}.extsource-link:focus-visible{outline:2px solid var(--color-pure-white);outline-offset:2px}.extsource-other{display:block;align-self:flex-start}.extsource-other-summary{display:inline-flex;align-items:center;gap:5px;list-style:none;font-size:13px;padding:3px 10px;border:1px solid var(--color-industrial-gray);border-radius:999px;color:var(--color-limestone);cursor:pointer}.extsource-other-summary::-webkit-details-marker{display:none}.extsource-other-summary:hover,.extsource-other-summary:focus-visible{color:var(--color-pure-white);border-color:var(--color-pure-white)}.extsource-other-summary:focus-visible{outline:2px solid var(--color-pure-white);outline-offset:2px}.extsource-other-caret{display:inline-flex;transition:transform .15s ease}.extsource-other[open] .extsource-other-caret{transform:rotate(180deg)}.extsource-other-body{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.progress-subtext.is-warning{color:var(--color-sienna-bright)}.planner-conflict-list{list-style:none;margin:10px 0 0;padding:0}.week-grid{font-family:var(--font-ibm-plex-sans);color:var(--color-limestone);background:var(--color-ore-canvas);border:var(--border-structural);border-radius:var(--radius-none);padding:16px}.week-grid-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 12px}.week-grid-title{font-size:var(--text-subhead);color:var(--color-pure-white);font-weight:600;margin:0}.week-grid-legend{display:flex;gap:16px;font-size:var(--text-data);color:var(--color-limestone)}.week-grid-legend-item{display:inline-flex;align-items:center;gap:6px}.week-grid-legend-swatch{width:12px;height:12px;display:inline-block;background:var(--color-slag);border:var(--border-structural)}.week-grid-legend-swatch.is-conflict{border-color:var(--color-raw-sienna);background:color-mix(in srgb,var(--color-raw-sienna) 22%,var(--color-slag))}.week-grid-legend-label.is-conflict{color:var(--color-sienna-bright);font-weight:600}.week-grid-body{display:grid;column-gap:1px;background:var(--color-industrial-gray);border:var(--border-structural)}.week-grid-corner,.week-grid-day-header{background:var(--color-charcoal);padding:8px 4px;text-align:center;font-size:var(--text-data);font-weight:600;color:var(--color-limestone)}.week-grid-time-col{position:relative;background:var(--color-charcoal)}.week-grid-time-label{position:absolute;left:0;right:4px;transform:translateY(-50%);text-align:right;padding-right:4px;font-size:var(--text-data);font-family:var(--font-sf-mono);color:var(--color-limestone);white-space:nowrap}.week-grid-day-col{position:relative;background:var(--color-inset)}.week-grid-hour-line{position:absolute;left:0;right:0;border-top:1px solid var(--color-industrial-gray);opacity:.35}.week-grid-block{position:absolute;box-sizing:border-box;background:var(--color-slag);border:var(--border-structural);border-radius:var(--radius-none);padding:3px 5px;cursor:grab;text-align:left;font-family:inherit;color:var(--color-limestone);-webkit-user-select:none;user-select:none}.week-grid-block:hover,.week-grid-block:focus-visible{border-color:var(--color-pure-white);outline:none}.week-grid-block:focus-visible{outline:2px solid var(--color-pure-white);outline-offset:2px}.week-grid-block.is-conflict{border-color:var(--color-raw-sienna);border-width:2px;background:color-mix(in srgb,var(--color-raw-sienna) 16%,var(--color-slag))}.week-grid-block-conflict-icon{position:absolute;top:4px;right:4px;width:14px;height:14px;color:var(--color-sienna-bright)}.week-grid-block.is-schedule-drag-source,.week-grid-pending-pick.is-schedule-drag-source{opacity:.25}.wg-drag-pending-preview{border-style:dashed;opacity:.85;cursor:default}.wg-drag-target{position:absolute;left:2px;right:2px;box-sizing:border-box;border:2px solid var(--color-moss-deep);background:color-mix(in srgb,var(--color-moss-deep) 22%,transparent);z-index:2}.wg-drag-target.is-armed{border-color:var(--color-moss-bright);background:color-mix(in srgb,var(--color-moss-bright) 38%,transparent);box-shadow:inset 0 0 0 1px var(--color-moss-bright)}.wg-drag-target.is-conflict{border-color:var(--color-raw-sienna);background:color-mix(in srgb,var(--color-raw-sienna) 16%,transparent)}.wg-drag-target.is-conflict.is-armed{border-color:var(--color-sienna-bright);background:color-mix(in srgb,var(--color-sienna-bright) 32%,transparent);box-shadow:inset 0 0 0 1px var(--color-sienna-bright)}.wg-drag-ghost{position:fixed;z-index:300;pointer-events:none;background:var(--color-slag);border:1px solid var(--color-pure-white);padding:3px 5px;font-size:var(--text-data);color:var(--color-pure-white);font-family:var(--font-ibm-plex-sans);white-space:nowrap;opacity:.92;box-shadow:0 4px 12px #00000080}.week-grid-drag-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.week-grid-block-header{display:flex;align-items:baseline;gap:2px;flex-wrap:nowrap;min-width:0;padding-right:14px;line-height:1.15}.week-grid-block-code{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-size:11px;color:var(--color-pure-white)}.week-grid-block-component{flex:none;white-space:nowrap;font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-limestone)}.week-grid-block-title{font-size:11px;line-height:1.15;color:var(--color-limestone);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-grid-block-time{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;line-height:1.15;font-family:var(--font-sf-mono);color:var(--color-limestone)}.wg-tooltip[hidden]{display:none}.wg-tooltip{position:absolute;top:100%;left:0;z-index:30;padding-top:6px;width:220px;max-width:calc(100vw - 48px)}.wg-tooltip-bubble-inner{background:var(--color-charcoal);border:var(--border-structural);border-radius:var(--radius-none);padding:10px 12px;box-shadow:0 8px 24px #00000080;color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);font-weight:400;line-height:1.5}.wg-tooltip-bubble-inner p{margin:0 0 6px}.wg-tooltip-bubble-inner p:last-child{margin-bottom:0}.wg-tooltip-heading{font-weight:600;color:var(--color-pure-white)}.wg-tooltip-conflict{color:var(--color-sienna-bright);font-weight:600}.rule-picker-warning-source,.univ-advisory-source{color:var(--color-limestone);font-style:italic}.classification-badge.is-graduate{border-color:var(--color-raw-sienna)}.rule-picker-tab.is-graduate{border-bottom-color:var(--color-raw-sienna)}.settings-field-row.is-quarter{display:flex;align-items:center;gap:.5rem}.coterm-timeline-card{margin:16px 0 0;padding:14px 16px;border:1px solid var(--color-industrial-gray);background:var(--color-charcoal)}.coterm-timeline-heading{margin:0 0 8px;font-size:var(--text-data);letter-spacing:.08em;text-transform:uppercase;color:var(--color-limestone)}.coterm-progress-list,.coterm-fact-list{list-style:none;margin:0;padding:0}.coterm-fact-list{margin-top:10px}.coterm-fact{margin-top:10px;padding-left:10px;border-left:2px solid var(--color-industrial-gray)}.coterm-fact.is-caution{border-left-color:var(--color-raw-sienna)}.coterm-fact-title{margin:0;font-size:13px;color:var(--color-pure-white)}.coterm-fact.is-caution .coterm-fact-title{color:var(--color-sienna-bright)}.coterm-fact-body{margin:2px 0 0;font-size:13px;color:var(--color-limestone)}.coterm-fact-source-link{display:inline-flex;align-items:center;gap:3px;color:var(--color-limestone);text-decoration:underline}.coterm-fact-source-link:hover,.coterm-fact-source-link:focus-visible{color:var(--color-white)}.coterm-fact-source-link svg{flex:0 0 auto}.rule-picker,.quarter-picker{-webkit-user-select:text;user-select:text}.home-header{margin-bottom:32px}.home-greeting{font-size:var(--text-heading);line-height:1.15;letter-spacing:-1px;font-weight:600;color:var(--color-pure-white);margin:0 0 8px}.home-context-line{color:var(--color-limestone);font-size:var(--text-body);margin:0}.home-card{border:var(--border-structural);border-radius:var(--radius-none);padding:20px 24px;margin-bottom:20px}.home-card h2{font-size:var(--text-subhead);font-weight:600;color:var(--color-pure-white);margin:0 0 12px}.home-empty-state,.home-loading-state{color:var(--color-limestone);font-size:var(--text-body-sm);margin:0}.home-checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.home-checklist-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--color-slag)}.home-checklist-item:last-child{border-bottom:none;padding-bottom:0}.home-checklist-label{color:var(--color-pure-white);font-size:var(--text-body-sm)}.home-checklist-item.is-done .home-checklist-label{color:var(--color-limestone)}.home-checklist-status{color:var(--color-moss-bright);font-size:var(--text-data);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.home-link-button{background:none;border:none;color:var(--color-oxide-rust);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);font-weight:600;cursor:pointer;padding:0}.home-link-button:hover,.home-link-button:focus-visible{color:var(--color-oxide-rust);text-decoration:underline}.home-quarter-card .home-link-button{display:block;margin-top:12px}.home-program-chips{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-wrap:wrap;gap:8px}.home-program-chip .home-program-chip-link{display:flex;align-items:center;gap:8px;width:auto;min-width:0;min-height:32px;padding:0 14px;border:var(--border-structural);border-radius:var(--radius-none)}.home-program-chip-link:hover .home-program-chip-name,.home-program-chip-link:focus-visible .home-program-chip-name{color:var(--color-oxide-rust)}.home-program-chip-link:focus-visible{outline:2px solid var(--color-oxide-rust);outline-offset:2px}.home-program-chip{display:inline-flex;align-items:stretch;gap:0;font-size:var(--text-body-sm)}.home-program-chip-name{color:var(--color-pure-white)}.home-program-chip-type{color:var(--color-limestone);font-size:var(--text-data);text-transform:uppercase;letter-spacing:.04em}@media (max-width: 700px){.home-card{padding:16px}.home-checklist-item{flex-direction:column;align-items:flex-start;gap:8px}.home-program-chips{flex-direction:column;align-items:stretch}}.home-checklist-hint{color:var(--color-limestone);font-size:var(--text-data)}.home-checklist-action{display:flex;align-items:center;gap:12px}.home-checklist-progress{color:var(--color-limestone);font-size:var(--text-data);font-variant-numeric:tabular-nums}@media (max-width: 700px){.home-checklist-action{flex-direction:column;align-items:flex-start;gap:6px}}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--tap-target-min: 44px;--tap-target-comfortable: 48px}@media (max-width: 768px){.search-input,.tab-button,.course-browse .course-filter-toggle,.login-field input,.login-button,.login-button-guest,.account-button,.sync-save-cloud,.changelog-done,.legal-back,.legal-danger-button,.legal-cancel-button,.history-button,.command-palette-trigger,.major-filter-toggle,.plan-switcher-toggle,.credit-score-button,.chip-menu-counts-change,.planner-quarter-add-button,.major-select-button,.planner-quarter-button,.chip-menu-actionbtn{min-height:var(--tap-target-min)}.tab-button,.course-browse .course-filter-toggle,.login-button-guest,.account-button,.history-button,.command-palette-trigger,.major-filter-toggle,.plan-switcher-toggle,.credit-score-button{min-width:var(--tap-target-min)}.tour-panel{top:auto;bottom:12px;left:8px;right:8px;width:auto;padding:16px}.credit-score-buttons{flex-wrap:wrap;flex-shrink:1;justify-content:flex-end}.site-header{position:sticky;top:0;z-index:30;flex-wrap:nowrap;row-gap:var(--space-2);gap:var(--space-3);padding:var(--space-3) var(--space-4)}.site-header .site-title{display:none}.site-header-actions{flex-wrap:nowrap;gap:var(--space-2)}.course-browse .col-plan-actions{gap:var(--space-1)}.course-browse .course-table td.col-plan,.course-browse .plan-add-button{padding-right:var(--space-2);padding-left:var(--space-2)}.course-browse .plan-stage-button{min-width:24px}.schedule-quarter-select{width:108px}.credit-group-heading-row{gap:var(--space-1)}.week-grid-pending-pick{min-height:24px}.site-footer{padding:var(--space-4) var(--space-4) var(--space-5)}.mobile-toolbar{padding:var(--space-3) var(--space-4)}.view-legal{padding:var(--space-4)}.tab-bar{padding:var(--space-2) var(--space-4) 0;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 28px),transparent 100%);mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 28px),transparent 100%)}.tab-bar::-webkit-scrollbar{display:none}.tab-bar:focus-within{-webkit-mask-image:none;mask-image:none}.tab-button{flex-shrink:0;white-space:nowrap}.course-browse .course-table .col-code{width:18%}.course-browse .course-table .col-title{width:52%}.course-browse .course-table .col-units{width:10%}.course-browse .course-table .col-plan{width:20%}}@media (max-width: 480px){.week-grid-block-component{display:none}.week-grid-block-header{padding-right:0}.week-grid-block{padding-right:1px;padding-left:1px}.week-grid-block-code{flex:1 1 auto}.tab-group-menu{right:0;left:auto}.major-browse .course-table{display:block}.major-browse .course-table thead{display:none}.major-browse .course-table tbody{display:flex;flex-direction:column;gap:var(--space-3)}.major-browse .major-row{display:block;border:var(--border-structural);cursor:pointer}.major-browse .major-row td{display:block;padding:var(--space-2) var(--space-3);border:0}.major-browse .major-row .course-code{padding:var(--space-3) var(--space-3) 0;font-size:var(--text-body-sm);font-weight:600}.major-browse .major-row .course-main{padding:var(--space-1) var(--space-3) 0}.major-browse .major-row .course-title{margin:0 0 var(--space-3);font-size:var(--text-body);line-height:1.6}.major-browse .major-row .course-description{margin:0;font-size:13px;line-height:1.5}.major-browse .major-row .major-type,.major-browse .major-row .major-degree{display:inline-block;padding:var(--space-3) 0 0;font-size:var(--text-data)}.major-browse .major-row .major-type{padding-left:var(--space-3)}.major-browse .major-row .major-degree{padding-left:var(--space-4)}.major-browse .major-row .major-type:before{content:"Type: "}.major-browse .major-row .major-degree:before{content:"Degree: "}.major-browse .major-row .col-select{width:auto;padding:var(--space-3)}.major-browse .major-row .col-select-stack{align-items:stretch;gap:var(--space-2)}.major-browse .major-row .col-select-stack .classification-badge{max-width:none;white-space:nowrap;align-self:flex-start}.major-browse .major-row .col-select-actions{flex-wrap:nowrap;justify-content:stretch}.major-browse .major-row .major-select-button{flex:1;width:auto;height:auto;min-height:var(--tap-target-min)}.course-browse .course-filter-select{max-width:100%}.program-subplan-select{flex-wrap:wrap}.program-subplan-bestmatch{flex-basis:100%}.course-browse .course-card-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.course-browse .course-card{border:var(--border-structural);padding:var(--space-3);cursor:pointer}.course-browse .course-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-1)}.course-browse .course-card-code{font-weight:600;color:var(--color-pure-white)}.course-browse .course-card-units{font-size:var(--text-data);color:var(--color-limestone);white-space:nowrap}.course-browse .course-card-title{margin:0 0 var(--space-3);font-size:var(--text-body-sm)}.course-browse .course-card .course-row-desc{margin-top:0;margin-bottom:var(--space-3)}.course-browse .course-card-actions{display:flex;gap:var(--space-2)}.course-browse .course-card-actions .plan-add-button,.course-browse .course-card-actions .plan-stage-button{display:flex;align-items:center;justify-content:center;text-align:center;white-space:normal;flex:1;height:auto;min-height:var(--tap-target-min);width:auto;margin:0}}.course-browse .course-filter-panel.flip-up{top:auto;bottom:100%}@media (max-width: 768px){.landing-quickstart-field input,.landing-quickstart-change,.home-link-button,.home-checklist-action{min-height:var(--tap-target-min)}}.gers-title{font-size:var(--text-subhead);font-weight:600;color:var(--color-pure-white);margin:0 0 12px}.rule-picker-gened{margin-top:14px;padding-top:14px;border-top:1px solid var(--color-slag);display:flex;flex-direction:column;gap:12px}.rule-picker-gened-family{display:flex;flex-direction:column;gap:6px}.rule-picker-gened-title{font-size:var(--text-data);font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--color-limestone);margin:0}.rule-picker-gened-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.rule-picker-gened-hidden{margin:0;font-size:var(--text-data);color:var(--color-limestone);line-height:1.4}.rule-picker-gened-loading{margin:0;font-size:var(--text-body-sm);color:var(--color-limestone)}.univ-assigned-title{flex:1 1 auto;min-width:0;font-size:var(--text-data);color:var(--color-limestone);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.univ-assigned-open{display:flex;align-items:baseline;gap:10px;width:100%;background:transparent;border:none;padding:2px 4px;margin:-2px -4px;font:inherit;text-align:left;cursor:pointer}.univ-assigned-open:hover,.univ-assigned-open:focus-visible{background:var(--color-slag)}.univ-assigned-open:focus-visible{outline:1px solid var(--color-oxide-rust);outline-offset:2px}.print-trigger-button{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:transparent;border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-limestone);cursor:pointer}.print-trigger-button:hover,.print-trigger-button:focus-visible{border-color:var(--color-oxide-rust);color:var(--color-oxide-rust)}.print-trigger-button:focus-visible{outline:2px solid var(--color-oxide-rust);outline-offset:2px}.progress-heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.credit-tab-heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.print-options-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:32px;background:#000000b8}.print-options-overlay[hidden]{display:none}.print-options-dialog{width:100%;max-width:560px;max-height:calc(100vh - 64px);overflow-y:auto;display:flex;flex-direction:column;background:var(--color-charcoal);border:var(--border-structural);border-radius:var(--radius-none);padding:24px}.print-options-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.print-options-header h2{font-size:var(--text-subhead);font-weight:600;color:var(--color-pure-white);margin:0}.print-options-close{flex:0 0 auto;width:32px;height:32px;background:transparent;border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-limestone);font-size:18px;line-height:1;cursor:pointer}.print-options-close:hover{color:var(--color-oxide-rust);border-color:var(--color-oxide-rust)}.print-options-intro{color:var(--color-limestone);font-size:var(--text-body-sm);line-height:1.5;margin:8px 0 16px}.print-options-body{display:flex;flex-direction:column;gap:12px}.print-options-group{border:var(--border-structural);border-radius:var(--radius-none);padding:10px 12px;margin:0}.print-options-group-title{font-size:var(--text-data);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-limestone);padding:0 4px}.print-options-master{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--color-pure-white);margin:6px 0}.print-options-group-entries{display:flex;flex-direction:column;gap:4px;padding-left:22px}.print-options-entry{display:flex;align-items:center;gap:8px;color:var(--color-limestone);font-size:var(--text-body-sm)}.print-options-flag{padding-left:0}.print-options-actions{position:sticky;bottom:0;margin-top:16px;padding-top:12px;background:var(--color-charcoal);border-top:var(--border-structural);display:flex;justify-content:flex-end;gap:8px}.print-options-cancel{height:36px;padding:0 18px;background:transparent;border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);font-weight:600;cursor:pointer}.print-options-confirm{height:36px;padding:0 18px;background:var(--color-oxide-rust);border:1px solid var(--color-oxide-rust);border-radius:var(--radius-none);color:var(--text-on-accent);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);font-weight:600;cursor:pointer}.print-options-confirm:hover{background:var(--color-raw-sienna);border-color:var(--color-raw-sienna)}.printable-plan{display:none}@media print{:root{--print-surface: #ffffff;--print-text: #1a1a1a;--print-border: #999999;--print-accent: #333333;--print-muted: #555555;--print-good: var(--color-moss-deep);--print-bad: var(--color-crimson-core);--print-size-title: 22pt;--print-size-heading: 15pt;--print-size-subheading: 12pt;--print-size-body: 10pt;--print-size-caption: 8.5pt}#app-view>.site-header,#app-view>.auth-notice,.sync-explain,.tab-bar,.content>.tab-panel,.site-footer,.sync-reconcile-overlay,.changelog-overlay,.history-toast,.command-palette-overlay,.command-palette,.print-options-overlay,.print-options-dialog,.popwin,.popwin-taskbar,.mobile-toolbar{display:none!important}.printable-plan{display:block;background:var(--print-surface);color:var(--print-text);font-size:var(--print-size-body)}@page{size:auto;margin:1.5cm}.printable-plan-header{border-bottom:1px solid var(--print-border);margin-bottom:.4cm}.printable-plan-header h1{font-size:var(--print-size-title);color:var(--print-accent);margin:0 0 .1cm}.printable-plan-plan-name{font-size:var(--print-size-body);font-weight:700;margin:0 0 .1cm}.printable-plan-meta{font-size:var(--print-size-caption);color:var(--print-muted);margin:0 0 .3cm}.printable-plan-empty,.printable-plan-note{font-size:var(--print-size-body);color:var(--print-muted);font-style:italic}.printable-plan-toc{border:1px solid var(--print-border);padding:.35cm .5cm;margin-bottom:.6cm;break-inside:avoid}.printable-plan-toc-title{font-size:var(--print-size-subheading);font-weight:700;color:var(--print-accent);margin:0 0 .15cm}.printable-plan-toc ol{margin:0;padding-left:1.2em;columns:2;column-gap:.6cm}.printable-plan-toc li{font-size:var(--print-size-body);margin-bottom:.1cm}.printable-plan-toc a{color:var(--print-accent);text-decoration:none}.printable-plan-section{break-inside:auto;margin-bottom:.7cm}.printable-plan-section>h2{font-size:var(--print-size-heading);color:var(--print-accent);border-bottom:1px solid var(--print-border);padding-bottom:.1cm;margin:0 0 .35cm}.print-req-group{border:1px solid var(--print-border);padding:.3cm .4cm;margin-bottom:.35cm;break-inside:avoid}.print-req-group-title{font-size:var(--print-size-subheading);font-weight:700;color:var(--print-text);margin:0 0 .2cm}.print-req-list{list-style:none;margin:0;padding:0}.print-req-row{display:flex;align-items:baseline;gap:.25cm;font-size:var(--print-size-body);padding:.1cm 0;border-bottom:1px dotted var(--print-border)}.print-req-row:last-child{border-bottom:none}.print-req-icon{flex:0 0 auto;font-weight:700}.print-req-row.is-met .print-req-icon{color:var(--print-good)}.print-req-row.is-unmet .print-req-icon{color:var(--print-bad)}.print-req-label{flex:1 1 auto}.print-req-demand{flex:0 0 auto;color:var(--print-muted);font-size:var(--print-size-caption)}.print-quarter-card{border:1px solid var(--print-border);padding:.3cm .4cm;margin-bottom:.35cm;break-inside:avoid}.print-quarter-card-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--print-border);padding-bottom:.15cm;margin-bottom:.2cm}.print-quarter-card-head h3{font-size:var(--print-size-subheading);color:var(--print-text);margin:0}.print-quarter-card-units{font-size:var(--print-size-caption);color:var(--print-muted)}.print-course-row{padding:.12cm 0;border-bottom:1px dotted var(--print-border)}.print-course-row:last-child{border-bottom:none}.print-course-row-main{display:flex;align-items:baseline;gap:.25cm;font-size:var(--print-size-body)}.print-course-code{flex:0 0 auto;font-family:var(--font-sf-mono);font-weight:700;color:var(--print-text)}.print-course-title{flex:1 1 auto;color:var(--print-text)}.print-course-units{flex:0 0 auto;color:var(--print-muted)}.print-course-tags{display:flex;flex-wrap:wrap;gap:.2cm;margin-top:.08cm;padding-left:0}.print-course-tag{font-size:var(--print-size-caption);color:var(--print-muted)}.print-course-tag.is-note{font-style:italic}.print-flat-list{list-style:none;margin:0;padding:0}.print-flat-row{display:flex;align-items:baseline;gap:.25cm;font-size:var(--print-size-body);padding:.12cm 0;border-bottom:1px dotted var(--print-border)}.print-flat-row:last-child{border-bottom:none}.print-schedule-quarter{break-inside:avoid;margin-bottom:.5cm}.print-week-grid-title{font-size:var(--print-size-subheading);color:var(--print-text);margin:0 0 .15cm}.print-week-grid-body{display:grid;border:1px solid var(--print-border);background:var(--print-surface)}.print-week-grid-corner,.print-week-grid-day-header{border-bottom:1px solid var(--print-border);border-left:1px solid var(--print-border);font-size:var(--print-size-caption);font-weight:700;text-align:center;padding:.08cm 0}.print-week-grid-day-header:first-of-type{border-left:none}.print-week-grid-hour-label{font-size:var(--print-size-caption);color:var(--print-muted);text-align:right;padding-right:.1cm;border-top:1px solid var(--print-border)}.print-week-grid-block{border:1px solid var(--print-accent);background:var(--print-surface);padding:.05cm .1cm;overflow:hidden;display:flex;flex-direction:column;font-size:var(--print-size-caption)}.print-week-grid-block.is-conflict{border-color:var(--print-bad)}.print-week-grid-block-code{font-weight:700}.print-week-grid-conflict-caption{font-size:var(--print-size-caption);color:var(--print-bad);margin-top:.1cm}.print-week-grid-pending{font-size:var(--print-size-caption);color:var(--print-muted);margin-top:.1cm}}@media (max-width: 768px){.print-trigger-button,.credit-add-button,.info-tooltip-trigger{min-height:var(--tap-target-min);min-width:var(--tap-target-min)}}@media (max-width: 768px){.credit-board-chip,.schedule-quarter-select,.univ-req-selfreport,.univ-req-detail-toggle{min-height:var(--tap-target-min)}}.univ-req-detail-toggle{flex:none;background:transparent;border:1px solid var(--color-slag);border-radius:var(--radius-none);color:var(--color-oxide-rust);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);padding:1px 8px;cursor:pointer}.univ-req-detail-toggle:hover{background:var(--color-slag)}.univ-req-demand{flex:none;font-family:var(--font-sf-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums;color:var(--color-limestone)}.univ-req-selfreport{flex:none;display:inline-flex;align-items:center;gap:6px;font-size:var(--text-data);color:var(--color-limestone);cursor:pointer;white-space:nowrap}.univ-req-selfreport input[type=checkbox]{width:13px;height:13px;margin:0;accent-color:var(--color-oxide-rust);cursor:pointer}.univ-req-selfreport:hover{color:var(--color-oxide-rust)}.univ-req-row .info-tooltip{flex:none}.progress-card-head>.progress-card-title{flex:1 1 auto;min-width:0}.progress-card-head>.progress-stat{flex:0 0 auto}.home-dashboard{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:20px;margin-bottom:20px}.home-dashboard>.home-card{margin-bottom:0}.home-quarter-term{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--color-slag)}.home-quarter-term-name{font-size:var(--text-body);font-weight:600;color:var(--color-pure-white)}.home-quarter-term-units{font-family:var(--font-sf-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums;color:var(--color-limestone)}.home-quarter-courses{list-style:none;margin:0 0 12px;padding:0}.home-quarter-course{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:4px 0;font-size:var(--text-body-sm)}.home-quarter-course-code{flex:none;white-space:nowrap;color:var(--color-pure-white)}.home-quarter-course-units{font-family:var(--font-sf-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums;color:var(--color-limestone);min-width:34px;text-align:right}.home-quarter-course-open,.home-recommended-course{display:flex;align-items:baseline;gap:10px;min-width:0;min-height:24px;flex:1;padding:0;border:0;background:none;font:inherit;text-align:left;color:inherit;cursor:pointer}.home-quarter-course-open:hover .home-quarter-course-code,.home-quarter-course-open:focus-visible .home-quarter-course-code,.home-recommended-course:hover .home-quarter-course-code,.home-recommended-course:focus-visible .home-quarter-course-code{text-decoration:underline}.home-recommended-course:focus-visible{outline:2px solid var(--color-palo-alto-light, currentColor);outline-offset:2px;border-radius:2px}.home-recommended-course-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-limestone)}.home-quarter-staged{color:var(--color-sienna-bright);font-size:var(--text-data);margin:0 0 12px}.home-meter,.home-meter-button .home-meter{margin-bottom:14px}.home-meter-button:hover .home-meter-label,.home-meter-button:focus-visible .home-meter-label{color:var(--color-oxide-rust)}.home-meter-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:5px}.home-meter-label{font-size:var(--text-body-sm);color:var(--color-limestone)}.home-meter-value{font-family:var(--font-sf-mono);font-size:var(--text-data);font-variant-numeric:tabular-nums;color:var(--color-pure-white)}.home-meter-track{height:6px;background:var(--color-inset);border:1px solid var(--color-slag)}.home-meter-fill{height:100%;background:var(--color-oxide-rust)}.home-outstanding-list{list-style:none;margin:0 0 12px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 20px}.home-outstanding-item{font-size:var(--text-body-sm);color:var(--color-pure-white);padding-left:14px;position:relative}.home-outstanding-item:before{content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;border:1px solid var(--color-sienna-bright);border-radius:50%}.home-outstanding-button:hover,.home-outstanding-button:focus-visible{color:var(--color-oxide-rust)}.home-outstanding-more{color:var(--color-limestone);font-size:var(--text-data);margin:0 0 12px}@media (max-width: 700px){.home-dashboard{grid-template-columns:1fr}.home-dashboard>.home-card{margin-bottom:0}.home-greeting{font-size:var(--text-heading-sm);letter-spacing:-.5px}}.chip-menu-scroll{overflow-y:auto;overscroll-behavior:contain}.chip-menu-scroll,.chip-menu-description-scroll{scrollbar-width:thin;scrollbar-color:var(--color-slag) transparent}.chip-menu-scroll::-webkit-scrollbar,.chip-menu-description-scroll::-webkit-scrollbar{width:8px}.chip-menu-scroll::-webkit-scrollbar-track,.chip-menu-description-scroll::-webkit-scrollbar-track{background:transparent}.chip-menu-scroll::-webkit-scrollbar-thumb,.chip-menu-description-scroll::-webkit-scrollbar-thumb{background:var(--color-slag);border-radius:var(--radius-none)}.chip-menu-scroll::-webkit-scrollbar-thumb:hover,.chip-menu-description-scroll::-webkit-scrollbar-thumb:hover{background:var(--color-industrial-gray)}.schedule-quarter-select{height:30px;padding:0 6px;background:var(--color-inset);border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-pure-white);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);cursor:pointer}.schedule-quarter-select:focus-visible{outline:none;border-color:var(--color-oxide-rust)}.week-grid-block{display:flex;flex-direction:column;min-width:0}.week-grid-block>.week-grid-block-header{flex:0 0 auto;min-height:0;overflow:hidden}.week-grid-block>.week-grid-block-title,.week-grid-block>.week-grid-block-time{flex:1 1 auto;min-height:0;overflow:hidden}.chip-menu-details{padding:8px 12px;border-bottom:1px solid var(--color-slag);font-size:var(--text-data);color:var(--color-limestone)}.chip-menu-details p{margin:0 0 3px}.chip-menu-details p:last-child{margin-bottom:0}.planner-col-conflicts{list-style:none;margin:0 0 6px;padding:0}.planner-col-conflict{padding:4px 6px;border-left:3px solid var(--color-raw-sienna);background:var(--color-inset);font-size:var(--text-data);line-height:1.35;color:var(--color-sienna-bright)}.planner-col-conflict+.planner-col-conflict{margin-top:4px}.program-membership-rulepick{margin:10px 0 0}.program-membership-badge.is-elective{color:var(--color-limestone)}.progress-empty-toggle{display:inline-flex;align-items:center;gap:6px}.progress-empty-toggle svg{flex:none}.progress-program-search{margin-top:12px}.progress-program-search-input{width:100%;height:36px;padding:0 12px;background:var(--color-charcoal);border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-pure-white);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm)}.progress-program-search-input::placeholder{color:var(--text-placeholder)}.progress-program-search-input:focus{outline:none;border-color:var(--color-oxide-rust)}.progress-program-count{margin:6px 0 0;font-size:var(--text-data);color:var(--color-limestone)}.gers-bulletin-link-wrap{margin:0 0 10px}.gers-title-row{display:flex;align-items:center;gap:8px;margin-bottom:12px}.gers-title-row .gers-title{margin:0}.univ-req-selfreport{align-self:center}.univ-req-row .univ-req-label-group{display:inline-flex;align-items:center;gap:6px;flex:1 1 auto;min-width:0}.univ-req-label-group .univ-req-label{flex:0 1 auto;min-width:0}.chip-menu-sections{display:flex;flex-direction:column;gap:6px}.chip-menu-section-row{display:flex;flex-direction:column;gap:4px}.chip-menu-section-head{display:flex;align-items:baseline;gap:8px;background:var(--color-inset);border:1px solid var(--color-slag);padding:5px 8px}.chip-menu-section-value{flex:1 1 auto;min-width:0;font-size:var(--text-data);line-height:1.35;color:var(--color-pure-white);overflow-wrap:break-word}.chip-menu-section-prompt{color:var(--color-sienna-bright);font-style:italic}.chip-menu-section-row.is-needs-pick .chip-menu-section-head{border-color:var(--color-raw-sienna)}.chip-menu-section-change{flex:0 0 auto;align-self:flex-start;background:none;border:none;color:var(--color-oxide-rust);cursor:pointer;font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);padding:0}.chip-menu-section-change:hover,.chip-menu-section-change:focus-visible{color:var(--color-sienna-bright);outline:none}.chip-menu-section-options{display:flex;flex-direction:column;max-height:220px;overflow-y:auto;border:1px solid var(--color-slag);background:var(--color-charcoal)}.chip-menu-section-option{display:block;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--color-inset);color:var(--color-limestone);cursor:pointer;font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);line-height:1.35;padding:6px 8px}.chip-menu-section-option:last-child{border-bottom:none}.chip-menu-section-tied-num{color:var(--color-pure-white);font-weight:600}.chip-menu-section-option:hover,.chip-menu-section-option:focus-visible{background:var(--color-inset);color:var(--color-pure-white);outline:none}.chip-menu-section-option.is-selected{border-left:2px solid var(--color-moss-bright);color:var(--color-moss-bright)}.chip-menu-section-reveal{display:block;width:100%;text-align:left;background:none;border:none;border-top:1px solid var(--color-slag);color:var(--color-oxide-rust);cursor:pointer;font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);padding:6px 8px}.chip-menu-section-reveal:hover,.chip-menu-section-reveal:focus-visible{color:var(--color-sienna-bright);outline:none}.week-grid-pending{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0 0 10px;border:1px solid var(--color-raw-sienna);padding:6px 8px;font-family:var(--font-ibm-plex-sans);font-size:var(--text-data)}.week-grid-pending-label{color:var(--color-sienna-bright);font-weight:600}.week-grid-pending-item{border:1px solid var(--color-slag);background:var(--color-inset);color:var(--color-limestone);padding:1px 6px;white-space:nowrap}.week-grid-pending-pick{font-family:inherit;font-size:inherit;cursor:grab;-webkit-user-select:none;user-select:none}.week-grid-pending-pick:hover,.week-grid-pending-pick:focus-visible{border-color:var(--color-oxide-rust);color:var(--color-pure-white);outline:none}.req-course-flag.is-external-credit{border:1px solid var(--color-slag);background:var(--color-inset);color:var(--color-limestone);padding:1px 6px;white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}.req-course.is-not-offered{opacity:.62}.req-course-flag.is-not-offered{color:var(--color-sienna-bright);white-space:nowrap}.req-offered-notice{display:flex;align-items:baseline;gap:10px;margin:4px 0 10px}.req-offered-notice-btn{flex:0 0 auto;border:1px solid var(--color-industrial-gray);background:transparent;color:var(--color-sienna-bright);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);padding:2px 10px;cursor:pointer}.req-offered-notice-btn:hover,.req-offered-notice-btn:focus-visible{border-color:var(--color-oxide-rust);color:var(--color-pure-white);outline:none}.rule-picker-multi-hint{margin:4px 0 0 23px;font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);line-height:1.4;color:var(--color-limestone)}.command-palette-results{margin-top:12px;max-height:min(60vh,420px);overflow-y:auto}.command-palette-group+.command-palette-group{margin-top:16px}.command-palette-group-label{margin:0 0 4px;padding:0 4px;font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);color:var(--color-limestone);text-transform:uppercase;letter-spacing:.04em}.command-palette-group-list{list-style:none;margin:0;padding:0}.command-palette-result{display:flex;align-items:baseline;gap:8px;width:100%;padding:8px 10px;background:transparent;border:none;border-radius:var(--radius-none);color:var(--color-pure-white);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body);text-align:left;cursor:pointer}.command-palette-result[aria-selected=true],.command-palette-result:hover{background:var(--color-inset)}.command-palette-result:focus-visible{outline:none}.command-palette-result-label{font-weight:600;white-space:nowrap}.command-palette-result-sublabel{color:var(--color-limestone);font-size:var(--text-data);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-palette-group-more{margin:2px 0 0;padding:0 10px;font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);color:var(--color-limestone)}@media (max-width: 768px){.progress-program-search-input,.chip-menu-section-change,.chip-menu-section-option,.chip-menu-section-reveal,.req-offered-notice-btn,.command-palette-result{min-height:var(--tap-target-min)}.univ-req-selfreport{min-width:var(--tap-target-min)}}@media (max-width: 480px){.univ-req-selfreport{flex-basis:100%}}.row-title-button{display:block;width:100%;margin:0;padding:0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.row-title-button:focus-visible{outline:2px solid var(--color-oxide-rust);outline-offset:2px}.week-grid-body{overflow-x:auto}.week-grid-corner,.week-grid-time-col{position:sticky;left:0;z-index:2;background:var(--color-charcoal)}.account-button:disabled{color:var(--color-slag);border-color:var(--color-slag);cursor:default}.account-menu-panel{max-width:calc(100vw - 16px);transform:translate(var(--account-menu-shift, 0))}.course-browse .course-filter-panel,.major-filter-panel{max-width:calc(100vw - 16px);transform:translate(var(--course-filter-shift, 0))}.login-field-hint{position:static;display:block;visibility:hidden;z-index:auto;width:auto;max-width:100%;pointer-events:none}.login-field:focus-within .login-field-hint{display:block;visibility:visible}.progress-card .credit-orphan-remove{margin-top:10px}.rule-picker-show-ineligible{display:block;width:100%;margin:8px 0 0;padding:8px 0 0;background:none;border:none;border-top:1px solid var(--color-slag);color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);text-align:left;text-decoration:underline;cursor:pointer}.rule-picker-show-ineligible:hover,.rule-picker-show-ineligible:focus-visible{color:var(--color-oxide-rust)}.rule-picker-rule-toggle:disabled{color:var(--text-placeholder);cursor:default}.view-landing{min-height:100vh;background:var(--surface-page);color:var(--text-primary);font-family:var(--font-ibm-plex-sans)}.landing-nav{border-bottom:1px solid var(--surface-raised)}.landing-nav-in{max-width:960px;margin:0 auto;padding:0 32px;height:68px;display:flex;align-items:center;justify-content:space-between;gap:24px}.landing-brand{display:flex;align-items:center;gap:11px;font-size:var(--text-subhead);font-weight:700;letter-spacing:-.5px}.landing-nav-links{display:flex;align-items:center;gap:26px}.landing-nav-link{font-family:inherit;font-size:var(--text-body-sm);font-weight:600;min-height:var(--tap-target-min);padding:0;border:none;background:none;color:var(--text-secondary);cursor:pointer}.landing-nav-link:hover,.landing-nav-link:focus-visible{color:var(--accent-primary)}.landing-nav-cta{font-family:inherit;font-size:var(--text-body-sm);font-weight:700;min-height:var(--tap-target-min);padding:0 16px;border:none;border-radius:var(--radius-none);background:var(--accent-primary);color:var(--text-on-accent);cursor:pointer}.landing-nav-cta:hover,.landing-nav-cta:focus-visible{background:var(--status-attention-border)}.landing-wrap{max-width:960px;margin:0 auto;padding:0 32px}.landing-hero{padding-top:92px}.landing-title{font-size:52px;font-weight:700;line-height:1.08;letter-spacing:-1.7px;max-width:15em;margin:0}.landing-acts{display:flex;flex-wrap:wrap;gap:18px;margin-top:36px;align-items:center}.landing-cta{font-family:inherit;font-size:15px;font-weight:700;min-height:var(--tap-target-min);padding:0 24px;border:none;border-radius:var(--radius-none);background:var(--accent-primary);color:var(--text-on-accent);cursor:pointer}.landing-cta:hover,.landing-cta:focus-visible{background:var(--status-attention-border)}.landing-alt{font-family:inherit;font-size:15px;font-weight:600;min-height:var(--tap-target-min);padding:0;border:none;background:none;color:var(--text-secondary);cursor:pointer}.landing-alt:hover,.landing-alt:focus-visible{color:var(--accent-primary)}.landing-section{padding-top:88px}.view-landing h2{font-size:27px;font-weight:700;letter-spacing:-.6px;line-height:1.2;margin:0}.landing-body{font-size:var(--text-body);line-height:1.6;color:var(--text-secondary);margin:14px 0 0;max-width:46em}.landing-feat{margin:30px 0 0;padding:0;max-width:46em}.landing-feat li{list-style:none;display:flex;align-items:baseline;gap:18px;padding:16px 0;border-bottom:1px solid var(--surface-raised)}.landing-feat li:first-child{border-top:1px solid var(--surface-raised)}.landing-feat-n{flex:none;width:26px;font-family:var(--font-sf-mono);font-size:var(--text-body-sm);color:var(--accent-primary)}.landing-feat b{color:var(--text-primary);font-weight:600;font-size:var(--text-subhead)}.landing-quickstart{margin-top:36px;max-width:46em}.landing-quickstart-fields{display:flex;flex-direction:column;gap:16px;margin-top:18px}.landing-quickstart-field{display:flex;flex-direction:column;gap:6px;font-size:var(--text-body-sm);color:var(--text-secondary)}.landing-quickstart-field input{height:36px;padding:0 12px;background:var(--color-charcoal);border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-pure-white);font-family:var(--font-ibm-plex-sans);font-size:var(--text-body-sm);max-width:200px}.landing-quickstart-field input:focus{outline:none;border-color:var(--color-oxide-rust)}.landing-quickstart-field .progress-empty-picker,.landing-quickstart-field .progress-empty-toggle{margin-top:0}.landing-quickstart-error{color:var(--color-oxide-rust);font-size:var(--text-data)}.landing-quickstart-chip{display:inline-flex;align-items:center;gap:12px;height:36px;padding:0 14px;border:var(--border-structural);border-radius:var(--radius-none);width:fit-content}.landing-quickstart-chip-name{color:var(--color-pure-white);font-size:var(--text-body-sm)}.landing-quickstart-change{background:none;border:none;color:var(--text-secondary);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);text-decoration:underline;cursor:pointer;padding:0}.landing-quickstart-change:hover,.landing-quickstart-change:focus-visible{color:var(--color-oxide-rust)}.landing-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:22px;border-top:var(--border-structural);border-bottom:var(--border-structural)}.landing-fact{padding:18px 0}.landing-fact b{display:block;font-family:var(--font-sf-mono);font-size:30px;font-weight:400;color:var(--text-primary);line-height:1}.landing-fact span{display:block;font-size:var(--text-body-sm);color:var(--text-secondary);margin-top:8px;line-height:1.4}.landing-foot{margin-top:112px;border-top:var(--border-structural);padding:44px 0 56px}.landing-foot-cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}.view-landing .landing-foot h3{font-family:var(--font-sf-mono);font-size:var(--text-data);font-weight:400;color:var(--text-placeholder);letter-spacing:.06em;text-transform:uppercase;margin:0 0 14px}.landing-foot ul{list-style:none;margin:0;padding:0}.landing-foot li{margin-bottom:9px}.landing-foot a,.landing-foot li button{font-family:inherit;font-size:var(--text-body-sm);font-weight:400;color:var(--text-secondary);text-decoration:none;border:none;background:none;padding:0;cursor:pointer;text-align:left}.landing-foot a:hover,.landing-foot a:focus-visible,.landing-foot li button:hover,.landing-foot li button:focus-visible{color:var(--accent-primary)}.landing-disc{font-size:var(--text-body-sm);line-height:1.55;color:var(--text-secondary);margin:0;max-width:30em}.landing-foot-base{margin-top:40px;padding-top:20px;border-top:1px solid var(--surface-raised);display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;font-family:var(--font-sf-mono);font-size:13px;color:var(--text-placeholder)}@media (max-width: 768px){.landing-nav-in{padding:0 20px;height:60px}.landing-nav-link{display:none}.landing-wrap{padding:0 20px}.landing-hero{padding-top:56px}.landing-section{padding-top:60px}.landing-title{font-size:33px;letter-spacing:-1px;max-width:none}.view-landing h2{font-size:22px}.landing-facts{grid-template-columns:1fr;gap:0}.landing-fact{padding:16px 0;border-bottom:1px solid var(--surface-raised)}.landing-fact:last-child{border-bottom:none}.landing-foot{margin-top:72px}.landing-foot-cols{grid-template-columns:1fr 1fr}.landing-foot a,.landing-foot li button{min-height:var(--tap-target-min);display:inline-flex;align-items:center}.landing-foot li{margin-bottom:0}}@media (max-width: 480px){.landing-acts{flex-direction:column;align-items:stretch;gap:12px}.landing-foot-cols{grid-template-columns:1fr}}.account-menu-avatar-image{width:100%;height:100%;object-fit:cover;display:block}.account-menu-identity-email{color:var(--color-limestone);font-size:var(--text-body-xs, 12px);line-height:1.4;overflow-wrap:anywhere}.signin-gate-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:32px;background:#000000b8}.signin-gate-overlay[hidden]{display:none}.signin-gate-dialog{width:100%;max-width:480px;max-height:calc(100vh - 64px);overflow-y:auto;display:flex;flex-direction:column;background:var(--color-charcoal);border:var(--border-structural);border-radius:var(--radius-none);padding:24px}.signin-gate-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.signin-gate-header h2{font-size:var(--text-subhead);font-weight:600;color:var(--color-pure-white);margin:0}.signin-gate-close{flex:0 0 auto;width:32px;height:32px;background:transparent;border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-limestone);font-size:18px;line-height:1;cursor:pointer}.signin-gate-close:hover{color:var(--color-oxide-rust);border-color:var(--color-oxide-rust)}.signin-gate-intro,.signin-gate-ack,.signin-gate-scopes{color:var(--color-limestone);font-size:var(--text-body-sm);line-height:1.5;margin:12px 0 0}.signin-gate-ack strong{color:var(--color-pure-white)}.signin-gate-legal-link{background:none;border:none;padding:0;font:inherit;color:var(--color-oxide-rust);text-decoration:underline;cursor:pointer}.signin-gate-error{color:var(--color-oxide-rust);font-size:var(--text-body-sm);line-height:1.5;margin:12px 0 0}.signin-gate-error[hidden]{display:none}.signin-gate-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.signin-gate-button{min-height:44px;padding:0 16px;background:transparent;border:var(--border-structural);border-radius:var(--radius-none);color:var(--color-pure-white);font-size:var(--text-body-sm);cursor:pointer}.signin-gate-button:hover{border-color:var(--color-oxide-rust)}.signin-gate-button-primary{flex:1 1 auto;background:var(--accent-primary);border-color:var(--accent-primary)}.tab-group-menu-separator{border-top:var(--border-structural);margin:4px -6px}.rule-picker-rule-list[hidden],.rule-picker-gened-list[hidden]{display:none}.chip-menu-units-static{margin:0;font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);color:var(--color-limestone)}.chip-menu-gers{display:flex;flex-direction:column;gap:3px}.chip-menu-gers p{margin:0;font-size:var(--text-data);line-height:1.35;color:var(--color-pure-white)}.req-course.is-clickable:not(.is-planned){border-style:solid;border-color:var(--color-slag)}.req-course-slot{display:inline-flex;align-items:stretch;max-width:100%;vertical-align:top;margin:1px 0}.req-course-slot>.req-course{margin:0}.req-course-slot>.req-course-add{flex:0 0 auto;border:1px solid var(--color-slag);border-left:none;background:transparent;color:var(--accent-primary);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);padding:0 9px;cursor:pointer}.req-course-slot>.req-course-add:hover,.req-course-slot>.req-course-add:focus-visible{background:var(--surface-raised);border-color:var(--accent-primary);outline:none}.req-course.is-clickable:not(.is-planned) .req-course-code{background:transparent;color:var(--text-secondary);border-right:1px solid var(--color-slag)}.req-course.is-clickable:not(.is-planned):hover .req-course-code,.req-course.is-clickable:not(.is-planned):focus-visible .req-course-code{background:var(--surface-raised);color:var(--text-primary);border-right-color:var(--accent-primary)}.rule-picker-show-ineligible{display:flex;align-items:center;gap:8px;box-sizing:border-box;width:100%;min-height:var(--tap-target-min);margin:12px 0 0;padding:10px 12px;border:1px solid var(--border-default);background:var(--surface-recessed);color:var(--color-limestone);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data);text-align:left;text-decoration:none;cursor:pointer}.rule-picker-show-ineligible:before{content:"▸";flex:none;font-size:10px;line-height:1;color:var(--text-placeholder);transition:transform .12s ease}.rule-picker-show-ineligible[aria-expanded=true]:before{transform:rotate(90deg)}.rule-picker-show-ineligible:hover,.rule-picker-show-ineligible:focus-visible{border-color:var(--color-oxide-rust);color:var(--color-pure-white);outline:none}.rule-picker-show-ineligible:hover:before,.rule-picker-show-ineligible:focus-visible:before{color:var(--color-oxide-rust)}.rule-picker-ineligible{margin-top:6px;padding:8px 8px 8px 10px;border:1px solid var(--border-default);border-top:none;background:var(--surface-page)}.rule-picker-ineligible .rule-picker-rule-toggle{background:transparent;border-style:dashed;border-color:var(--text-placeholder)}.rule-picker-ineligible .rule-picker-rule-toggle:hover,.rule-picker-ineligible .rule-picker-rule-toggle:focus-visible{border-style:solid;border-color:var(--color-oxide-rust);color:var(--color-pure-white);outline:none}.rule-picker-gened{gap:16px}.rule-picker-gened-family{gap:8px;padding:10px 12px;border:1px solid var(--border-default);background:var(--surface-recessed)}.rule-picker-gened-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid var(--border-default)}.rule-picker-gened-chosen{font-weight:400;text-transform:none;letter-spacing:0;font-style:italic;color:var(--color-moss-bright)}.rule-picker-gened-chosen.is-none{color:var(--text-placeholder)}.rule-picker-gened-family .rule-picker-rule-toggle{background:var(--color-charcoal)}.program-control-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid var(--border-default)}.program-control{display:flex;align-items:center;gap:6px;font-size:var(--text-data);color:var(--text-secondary);white-space:nowrap}.program-control.is-fact strong{color:var(--text-primary);font-weight:600}.program-control-bar .info-tooltip,.program-control-bar .bulletin-icon-link{margin-left:-8px}.program-control select,.program-class-select select{box-sizing:border-box;height:32px;min-height:0;max-width:190px;text-overflow:ellipsis;padding:0 8px;border:1px solid var(--color-slag);background:var(--color-charcoal);color:var(--color-pure-white);font-family:var(--font-ibm-plex-sans);font-size:var(--text-data)}.program-control-disclosure{margin:-4px 0 12px;font-size:var(--text-data);color:var(--text-secondary);line-height:1.5}.program-control-disclosure.is-missing{border-left:2px solid var(--accent-primary);padding-left:10px}@media (max-width: 480px){.program-control-bar{gap:8px 0}.program-control{width:100%;justify-content:space-between}.program-control select{flex:1 1 auto;min-width:0;max-width:none}.program-control.is-fact{width:auto}.program-control-bar .bulletin-icon-link{margin-left:8px}}.req-complete-confirm{flex:0 0 100%;cursor:default}.popout-button{width:28px;height:28px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:0;background:transparent;color:var(--text-secondary);border:var(--border-structural);cursor:pointer;align-self:center}.popout-button:hover,.popout-button:focus-visible{color:var(--accent-primary);border-color:var(--accent-primary)}.popout-button.is-open{color:var(--accent-primary);border-color:var(--accent-primary)}.popout-button.is-small{width:24px;height:24px}.popout-drag-ghost{position:fixed;top:-1000px;left:-1000px;padding:6px var(--space-2);background:var(--surface-raised);border:1px solid var(--accent-primary);color:var(--text-primary);font-family:var(--font-sf-mono);font-size:var(--text-data);white-space:nowrap;pointer-events:none}[data-popout-drag][draggable=true]{cursor:grab}[data-popout-drag].is-drag-source{opacity:.5}.popwin{position:fixed;display:flex;flex-direction:column;min-width:340px;min-height:220px;background:var(--surface-panel);border:1px solid var(--border-default);box-shadow:0 18px 50px #0000008c}.popwin.is-dragging,.popwin.is-resizing{-webkit-user-select:none;user-select:none}.popwin.is-top{border-color:var(--accent-primary)}.popwin:not(.is-top) .popwin-chrome{background:var(--surface-recessed)}.popwin.is-drag-source{height:auto!important;min-height:0;box-shadow:0 10px 30px #00000080}.popwin.is-drag-source .popwin-body,.popwin.is-drag-source .popwin-rz{display:none}.popwin.is-drop-target{outline:2px solid var(--status-success-bright);outline-offset:-2px}.popwin-chrome{display:flex;align-items:stretch;height:34px;flex:0 0 auto;background:var(--surface-raised);border-bottom:var(--border-structural)}.popwin-grip{width:24px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;color:var(--text-placeholder);cursor:grab;touch-action:none;font-size:13px}.popwin.is-dragging .popwin-grip{cursor:grabbing}.popwin-tabs{display:flex;align-items:stretch;flex:1 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.popwin-tab{display:flex;align-items:center;gap:6px;flex:0 0 auto;max-width:190px;padding:0 var(--space-2);background:transparent;border:none;border-right:1px solid var(--border-default);border-bottom:2px solid transparent;color:var(--text-secondary);font-size:var(--text-data);cursor:grab}.popwin-tab:hover{background:var(--surface-panel);color:var(--text-primary)}.popwin-tab.is-active{background:var(--surface-panel);color:var(--text-primary);border-bottom-color:var(--accent-primary)}.popwin-tab.is-tab-dragging{opacity:.45}.popwin-tab.is-drop-before{box-shadow:inset 2px 0 0 var(--accent-primary)}.popwin-tab.is-drop-after{box-shadow:inset -2px 0 0 var(--accent-primary)}.popwin-tab svg{width:12px;height:12px;flex:0 0 auto;color:var(--text-placeholder)}.popwin-tab.is-active svg{color:var(--accent-primary)}.popwin-tab-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-sf-mono)}.popwin-tab-close,.popwin-pill-close{width:16px;height:16px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border:none;background:none;color:var(--text-placeholder);cursor:pointer;font-size:13px;line-height:1;padding:0}.popwin-tab-close:hover,.popwin-pill-close:hover{color:var(--text-primary);background:var(--surface-raised)}.popwin-winbtns{display:flex;align-items:stretch;flex:0 0 auto}.popwin-winbtn{width:28px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:13px;display:inline-flex;align-items:center;justify-content:center}.popwin-winbtn:hover{background:var(--surface-recessed);color:var(--text-primary)}.popwin-winbtn.is-close:hover{background:var(--status-danger);color:var(--color-pure-white)}.popwin-body{flex:1 1 auto;overflow:auto;padding:var(--space-4)}.popwin-empty{color:var(--text-placeholder);padding:var(--space-5);text-align:center}.popwin-rz{position:absolute;touch-action:none}.popwin-rz.n{top:-3px;left:8px;right:8px;height:6px;cursor:ns-resize}.popwin-rz.s{bottom:-3px;left:8px;right:8px;height:6px;cursor:ns-resize}.popwin-rz.w{left:-3px;top:8px;bottom:8px;width:6px;cursor:ew-resize}.popwin-rz.e{right:-3px;top:8px;bottom:8px;width:6px;cursor:ew-resize}.popwin-rz.nw{top:-4px;left:-4px;width:12px;height:12px;cursor:nwse-resize}.popwin-rz.ne{top:-4px;right:-4px;width:12px;height:12px;cursor:nesw-resize}.popwin-rz.sw{bottom:-4px;left:-4px;width:12px;height:12px;cursor:nesw-resize}.popwin-rz.se{bottom:-4px;right:-4px;width:12px;height:12px;cursor:nwse-resize}.popwin-rz.se:after{content:"";position:absolute;right:2px;bottom:2px;width:6px;height:6px;border-right:2px solid var(--border-default);border-bottom:2px solid var(--border-default)}.popwin-taskbar{position:fixed;right:var(--space-4);bottom:var(--space-4);z-index:200;display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end;max-width:74vw}.popwin-group{display:flex;align-items:stretch;border:1px solid var(--border-default);background:var(--surface-raised);box-shadow:0 6px 18px #00000073}.popwin-group:hover{border-color:var(--accent-primary)}.popwin-group-restore{width:22px;flex:0 0 auto;border:none;border-right:1px solid var(--border-default);background:var(--surface-recessed);color:var(--text-placeholder);cursor:pointer;font-size:11px;display:inline-flex;align-items:center;justify-content:center}.popwin-group-restore:hover{color:var(--text-primary)}.popwin-pill{display:flex;align-items:center;gap:6px;height:34px;padding:0 6px 0 var(--space-2);cursor:pointer;background:transparent;border:none;color:var(--text-primary);font-family:var(--font-sf-mono);font-size:var(--text-data)}.popwin-group .popwin-pill+.popwin-pill{border-left:1px solid var(--border-default)}.popwin-pill:hover{background:var(--surface-recessed)}.popwin-pill:focus-visible{outline:2px solid var(--accent-primary);outline-offset:-2px}.popwin-pill svg{width:12px;height:12px;color:var(--accent-primary)}.popwin-pill-label{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-menu-head-actions,.rule-picker-head-actions{display:flex;align-items:center;gap:4px;flex:0 0 auto}.command-palette-row{display:flex;align-items:center;gap:4px}.command-palette-row>.command-palette-result{flex:1 1 auto;min-width:0}.home-quarter-course-end{display:flex;align-items:center;gap:6px;flex:0 0 auto}.home-quarter-course-end>.plan-add-button{margin-left:4px}.planner-chip-wrap,.staging-chip-wrap{display:flex;align-items:center;gap:4px}.planner-chip-wrap>.planner-chip,.staging-chip-wrap>.staging-chip{flex:1 1 auto;min-width:0}.plan-add-button.is-small{height:24px;padding:0 7px;box-sizing:border-box;font-size:var(--text-data)}.home-card-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:10px}.course-browse .course-code,.course-browse .course-title{font-size:15px}.course-browse .course-row-desc .course-description{font-size:13px}.course-browse .course-table tbody td{padding-top:12px;padding-bottom:12px}.course-browse .course-row-desc{margin-top:6px}.course-detail .course-detail-links-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:14px;margin:0 0 18px}.course-detail .course-detail-links-title{margin:0;flex:none;font-size:var(--text-data);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-limestone)}.course-detail .course-detail-links-row .extsource-links{margin:0;min-width:0}.course-detail .course-stat-gers .course-stat-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;line-height:1.35}.course-detail .course-detail-facts-section{border-top:none;padding-top:0;margin-top:0}.program-membership-badge.is-editable{display:inline-flex;align-items:center;min-height:24px;box-sizing:border-box;padding:3px 9px;background:transparent;border:1px solid var(--color-slag);border-radius:var(--radius-none);font-family:var(--font-ibm-plex-sans);font-weight:600;text-align:left;cursor:pointer}.program-membership-badge.is-editable:hover,.program-membership-badge.is-editable:focus-visible{border-color:var(--color-oxide-rust);color:var(--color-oxide-rust)}.course-detail .course-detail-section .course-offering-history{margin:14px 0 0;padding-top:0;border-top:none}.course-detail .course-offering-history-title{margin:0 0 8px;font-size:var(--text-data);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-limestone)}.req-course-slot>.popout-button{align-self:stretch;height:auto;min-height:24px;min-width:24px;border:1px solid var(--color-slag);border-left:none;border-radius:var(--radius-none);color:var(--accent-primary)}.req-course-slot>.popout-button:hover,.req-course-slot>.popout-button:focus-visible{border-color:var(--accent-primary);color:var(--accent-primary)}.program-control select,.program-class-select select{height:28px}.program-control-bar .info-tooltip,.program-control-bar .bulletin-icon-link{margin-left:-2px}.req-group-body{padding:14px 0 26px 16px}.req-rule-body{padding:2px 0 18px 16px}.req-area-body{padding:2px 0 18px 14px}.req-group-summary{padding:18px 0}.req-rule-summary,.req-area-summary{padding:14px 0}.req-tree.is-compact .req-group-body{padding:8px 0 16px 11px}.req-tree.is-compact .req-rule-body{padding:2px 0 12px 11px}.req-tree.is-compact .req-area-body{padding:2px 0 12px 10px}.req-tree.is-compact .req-group-summary{padding:12px 0}.req-tree.is-compact .req-rule-summary{padding:9px 0}.req-tree.is-compact .req-area-summary{padding:10px 0}.planner-year{margin-bottom:24px}.planner-year-heading{font-size:var(--text-subhead);margin:18px 0 10px;padding-bottom:5px}.planner-year-grid{gap:10px}.planner-quarter-col{padding:8px}.planner-quarter-col-heading{margin-bottom:6px}.planner-chip,.planner-quarter-col-empty{min-height:28px}.planner-quarter-col-chips{gap:5px;max-height:198px}.planner-quarter-col-chips.density-expanded{gap:4px;max-height:276px}.planner-chip-wrap,.staging-chip-wrap{gap:0}.home-program-chip>.popout-button{align-self:stretch;height:auto;min-height:24px;min-width:24px;border:var(--border-structural);border-left:none;border-radius:var(--radius-none)}.planner-chip-wrap>.popout-button,.staging-chip-wrap>.popout-button{align-self:stretch;height:auto;min-height:24px;border-left:none;border-color:var(--color-slag)}.week-grid-block-header{gap:6px}.week-grid-block>.week-grid-block-title,.week-grid-block>.week-grid-block-time{flex:0 1 auto}.week-grid-block{row-gap:1px}.wg-tooltip[data-side=below]{padding:6px 0 0}.wg-tooltip[data-side=above]{padding:0 0 6px}.wg-tooltip[data-side=right]{padding:0 0 0 6px}.wg-tooltip[data-side=left]{padding:0 6px 0 0}
