.catalogue-page{max-width:1400px}.catalogue-provenance .notice{margin:16px 0;max-width:none;padding:16px 20px;border-radius:6px}.catalogue-provenance .notice h2{font-size:1rem;margin-bottom:4px}.catalogue-provenance .notice p{font-size:.875rem}.snapshot-age{font-size:.875rem;color:var(--color-muted)}.stale{border-left:4px solid var(--color-orange);padding-left:12px}.catalogue-search{margin-top:28px}.search-bar{display:flex;align-items:end;gap:12px}.search-bar label{flex:1}.catalogue-search label{display:grid;gap:8px;font-size:.875rem;min-width:0}.catalogue-search input,.catalogue-search select{width:100%;min-width:44px;border:1px solid #858f96;padding:10px;border-radius:0;background:#fff}.catalogue-search .button{gap:8px}.filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0}.catalogue-search fieldset{margin:24px 0 0;padding:20px;border:1px solid var(--color-line);min-width:0}.catalogue-search fieldset p{font-size:.875rem;max-width:80ch}.catalogue-search fieldset .filter-grid{margin-bottom:0}.filter-chips{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.filter-chips .button{padding:8px 12px;font-size:.8125rem;text-align:left;gap:12px;overflow-wrap:anywhere}.result-count{font-size:.875rem;color:var(--color-muted)}.course-results{list-style:none;padding:0;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.course-results>li{border:1px solid var(--color-line);padding:16px 24px 24px;background:#fff;border-radius:6px}.course-results h2{margin-bottom:8px;font-size:1.25rem}.course-results h2 a{min-height:44px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;width:fit-content;max-width:100%;overflow-wrap:anywhere;text-decoration:none}.course-results h2 a:hover{text-decoration:underline}.course-code{font-size:.75rem;font-weight:400;color:var(--color-muted)}.course-summary{font-size:.875rem}.course-summary p{margin:4px 0}.meeting-status{display:inline-block;margin-top:12px;padding:4px 8px;border:1px solid var(--color-line);color:var(--color-blue);font-size:.75rem}.meeting-status.unresolved{border-left:4px solid var(--color-orange);font-weight:700}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0;font-size:.875rem}.button:disabled{cursor:default;opacity:.6}.course-detail{background:#fff;border:1px solid var(--color-line);padding:28px;margin-top:20px;overflow-wrap:anywhere}.course-detail .actions{align-items:center}.course-metadata{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0}.course-metadata dt{font-size:.75rem;color:var(--color-muted);margin-bottom:8px}.course-metadata dd{margin:0;line-height:1.5}.schedule-heading{margin-top:36px}.meeting-list{list-style:none;padding:0;margin:24px 0}.meeting-list li{border-top:1px solid var(--color-line);padding:16px 0;line-height:1.6;font-size:.9375rem}.meeting-list p{margin-bottom:0}.meeting-location{display:block;color:var(--color-muted)}.source-exceptions{font-size:.875rem;overflow-wrap:anywhere}.source-exceptions dt{font-weight:700}.source-exceptions dd{margin:4px 0 16px}.source-exceptions ul{padding-left:20px}.source-exceptions li{border:0;padding:2px 0}.timezone{font-size:.75rem;color:var(--color-muted)}.schedule-dialog{border:1px solid var(--color-blue);color:var(--color-ink);padding:24px;width:min(780px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain}.schedule-dialog::backdrop{background:#0a38598c}.dialog-heading{display:flex;gap:20px;justify-content:space-between;align-items:start}.dialog-heading h2{font-size:1.25rem}.dialog-heading .button{flex-shrink:0}@media(max-width:680px){.course-results{grid-template-columns:1fr}.search-bar{flex-wrap:wrap}.search-bar label{flex-basis:100%}.filter-grid,.course-metadata{grid-template-columns:1fr;gap:16px}.course-results>li,.course-detail{padding:16px}.pagination{gap:8px}.pagination .button{padding:12px}.dialog-heading{flex-direction:column-reverse}.dialog-heading .button{align-self:end}}.planner-page{max-width:1800px}.setup-page{max-width:980px}.setup-intro{max-width:65ch;color:var(--color-muted)}.setup-form{background:#fff;border:1px solid var(--color-line);border-radius:8px;padding:28px;margin:24px 0 12px}.setup-form .planner-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.setup-submit{grid-column:1 / -1;justify-self:start;margin-top:8px}.planner-page label,.import-plan label{display:grid;gap:8px;font-size:.875rem}.planner-page input,.planner-page select,.planner-page textarea{width:100%;min-width:0;border:1px solid #bdc5ca;background:#fff;color:var(--color-ink);padding:10px}.planner-page textarea{font:inherit;resize:vertical}.planner-page fieldset{min-width:0;border:0;margin:0;padding:0}.planner-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;align-items:end}.planner-controls{display:flex;flex-wrap:wrap;gap:20px;align-items:end;margin:28px 0!important}.planner-controls form{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.planner-controls label{min-width:180px}.save-status,.planner-help{color:var(--color-muted);font-size:.875rem}.planner-error,.schedule-warning{background:#fff3e6;border-left:3px solid var(--color-orange);color:#733408;padding:14px}.plan-title{margin-top:32px}.plan-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:20px;border-block:1px solid var(--color-line);padding:24px;background:#fff;border:1px solid var(--color-line);border-radius:6px}.plan-summary dt{font-size:.8125rem;color:var(--color-muted);margin-bottom:10px}.plan-summary dd{margin:0;font-size:1.5rem;font-variant-numeric:tabular-nums;color:var(--color-blue)}.semester-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px;margin:32px 0}.semester-column{background:#fff;border:1px solid var(--color-line);border-top:3px solid var(--color-blue);padding:20px;min-width:0;border-radius:6px}.semester-heading h2{margin-bottom:0}.semester-heading .text-link{font-size:.875rem}.semester-column>p{font-size:.875rem;color:var(--color-muted)}.plan-course{border-top:1px solid var(--color-line);padding-top:20px;margin-top:20px;overflow-wrap:anywhere}.plan-course p{font-size:.8125rem}.course-controls{display:grid;gap:12px}.course-controls .button[aria-pressed=true]{background:var(--color-blue);color:#fff}.fixture-label{background:#edf1f4;padding:8px}.completed-entry,.import-plan,.scenario-comparison,.unavailable-entry{border-top:1px solid var(--color-line);margin-top:36px;padding-top:28px}.import-plan{max-width:850px}.import-plan label{margin-bottom:20px}.import-preview{margin-top:20px;padding:24px;border:1px solid var(--color-blue);background:#fff}.table-scroll{overflow-x:auto}.scenario-comparison table{width:100%;border-collapse:collapse;background:#fff;text-align:left}.scenario-comparison th,.scenario-comparison td{padding:14px;border-bottom:1px solid var(--color-line);white-space:nowrap}.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-day{border:1px solid var(--color-line);background:#fff;min-height:140px;padding:10px;overflow-wrap:anywhere}.calendar-day h3{font-size:.875rem}.calendar-event{border-left:3px solid var(--color-blue);padding:10px;background:#edf1f4;margin:10px 0;font-size:.8125rem}.calendar-event p{margin:0}.calendar-event strong{display:block}.calendar-agenda{padding:0;list-style:none}.calendar-agenda li{margin-bottom:16px}.calendar-check{padding:24px;background:#fff;border:1px solid var(--color-line);margin:24px 0}.calendar-check li{margin:12px 0;line-height:1.6}.unavailable-list{padding:0;list-style:none}.unavailable-list li{display:flex;gap:20px;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-line);padding:12px 0}.print-only{display:none}@media(max-width:1000px){.calendar-week{grid-template-columns:1fr}.calendar-day{min-height:80px}}@media(max-width:680px){.setup-form{padding:20px}.setup-form .planner-fields{grid-template-columns:1fr;gap:20px}.setup-submit{width:100%}.planner-controls,.planner-controls form{display:grid;width:100%}.planner-fields{grid-template-columns:1fr}.planner-page .segmented{flex-wrap:wrap}.unavailable-list li{display:grid}}@media print{.header,.navigation,footer,.skip-link,.no-print,.save-status,.planner-error{display:none!important}.layout,.canvas{display:block!important;background:#fff;min-height:0!important;padding:0!important}.page{padding:0!important}.print-only,.semester-board{display:block}.semester-column,.plan-course,.calendar-event{break-inside:avoid}.semester-column{margin:16px 0}.plan-summary{grid-template-columns:repeat(3,1fr)}.calendar-week,.screen-calendar{display:none}h1{font-size:24pt}.table-scroll{overflow:visible}}.requirement-tree,.requirement-tree ul{list-style:none;padding-inline-start:1rem}.requirement-tree{padding-inline-start:0}.requirement-node{border-inline-start:2px solid var(--border, #d2d7dc);padding:.6rem 0 .6rem 1rem;margin-block:.8rem;overflow-wrap:anywhere}.requirement-title{display:list-item;line-height:1.8}.requirement-status{font-size:.8rem;border:1px solid currentColor;border-radius:.3rem;padding:.2rem .4rem}.requirement-status.complete{color:#17603c}.requirement-status.needs_clarification{color:#835007}.requirement-progress{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;font-size:.85rem}.requirement-progress dt{font-weight:500}.requirement-progress dd{margin:.2rem 0 0;font-weight:700}.requirement-node summary{cursor:pointer;padding-block:.6rem}.requirement-duty{display:flex;gap:.6rem;align-items:center;margin-block:1rem}.requirement-duty input{width:auto}.requirement-scenario{display:block;margin-block:1rem}.requirements-page select{max-width:100%;min-width:0}@media(max-width:600px){.requirement-node{padding-inline-start:.5rem}.requirement-tree ul{padding-inline-start:.4rem}}.suggestions-page{max-width:1100px}.suggestions-page .actions{margin-block:1.5rem;flex-wrap:wrap}.suggestion-list{list-style:none;padding:0;margin-block:1.5rem}.suggestion-list>li{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border-bottom:1px solid var(--color-line);padding-block:1.3rem}.suggestion-list h3{margin-block:.35rem}.suggestion-list p{margin-block:.5rem}.suggestion-list .button{flex-shrink:0}.suggestion-comparison{border:2px solid var(--color-blue);padding:1.5rem;margin-block:2rem;scroll-margin-top:1rem}.suggestion-comparison-heading{display:flex;align-items:start;justify-content:space-between;gap:1rem}.suggestion-comparison h2{margin-top:0}.suggestion-change{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.suggestion-selection{background:var(--color-canvas);border:1px solid var(--color-line);padding:1rem;min-width:0;overflow-wrap:anywhere}.suggestion-selection dl{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1rem}.suggestion-selection dd{margin:0}.suggestion-conflicts{display:flex;flex-wrap:wrap;gap:1rem 2rem}.suggestion-conflicts dd{margin:.3rem 0 0;font-weight:600}.suggestion-warnings{border-left:3px solid var(--color-blue);padding-left:1.5rem}.suggestion-warnings li,.suggestion-scores li{margin-block:.5rem}.suggestion-confirm{display:flex;align-items:start;gap:.75rem;margin-block:1.5rem;cursor:pointer}.suggestion-confirm input,.suggestion-options input{width:1.25rem;height:1.25rem;flex-shrink:0}.suggestion-preferences summary,.suggestion-rejections summary{cursor:pointer;padding-block:1rem;min-height:44px}.suggestion-preferences fieldset{border:1px solid var(--color-line);margin-block:1rem}.suggestion-options{display:flex;flex-wrap:wrap;gap:.5rem 1rem}.suggestion-options label{display:flex;align-items:center;gap:.5rem;min-height:44px}.suggestion-feedback{border-left:3px solid var(--color-blue);padding:1rem}.suggestion-rejections li{margin-block:.6rem;overflow-wrap:anywhere}@media(max-width:650px){.suggestion-change{grid-template-columns:1fr}.suggestion-list>li,.suggestion-comparison-heading{align-items:stretch;flex-direction:column;gap:.6rem}.suggestion-comparison{padding:1rem}}.account-page{max-width:64rem}.account-page form{display:grid;gap:1rem;max-width:36rem;margin-block:1.5rem}.account-page label{display:grid;gap:.4rem}.account-page input{width:100%;min-width:0;min-height:44px;padding:.65rem;font:inherit}.account-page .account-recovery{display:block}.account-recovery code{display:block;overflow-wrap:anywhere;margin-block:1rem}.account-plans{list-style:none;padding:0;display:grid;gap:1rem}.account-plans li{border:1px solid var(--line, #c8cdd0);padding:1rem}.account-page .actions{flex-wrap:wrap}.account-page .button{white-space:normal}:root{font-family:Arial,sans-serif;color:#000;background:#fff;font-synthesis:none;--color-ink: #000000;--color-blue: #0a3859;--color-orange: #d06516;--color-white: #ffffff;--color-muted: #545b61;--color-line: #dce0e3;--color-canvas: #f6f7f8;line-height:1.5;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}a{color:var(--color-blue);text-underline-offset:4px}button,select,input,.button{min-height:44px}button{cursor:pointer}:focus-visible{outline:3px solid var(--color-orange);outline-offset:3px;box-shadow:0 0 0 2px var(--color-white)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2rem,4vw,3.5rem);font-weight:500;line-height:1.12;letter-spacing:-.03em;color:var(--color-blue);margin-bottom:24px}h2{font-size:1.5rem;line-height:1.3;font-weight:500}h3{font-size:1.125rem;line-height:1.4}p{line-height:1.65}.skip-link{position:fixed;top:8px;left:8px;transform:translateY(-200%);z-index:10;padding:14px;background:#fff}.skip-link:focus{transform:none}.header{min-height:112px;padding:24px 36px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--color-line)}.brand{display:flex;align-items:center;min-height:44px;flex-shrink:0}.brand img{width:300px;height:auto;display:block}.header-tools{display:flex;align-items:center;gap:28px}.plan-switcher{display:grid;gap:4px;font-size:.75rem;color:var(--color-muted)}.plan-switcher select{color:var(--color-muted);border:1px solid var(--color-line);background:#fff;min-width:140px;padding:0 12px;opacity:1}.guest-status{font-size:.8125rem;white-space:nowrap}.languages{display:flex}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:12px 20px;border:1px solid var(--color-blue);background:#fff;color:var(--color-blue);text-decoration:none;font-weight:600;border-radius:5px;transition:background-color .12s ease,border-color .12s ease}.button:hover{background:#edf1f4}.languages .button{min-width:44px;padding:10px;border:0;font-size:.8125rem;background:#fff}.languages .button[aria-pressed=true]{box-shadow:inset 0 -3px var(--color-orange)}.layout{display:grid;grid-template-columns:208px minmax(0,1fr);min-height:calc(100dvh - 112px)}.navigation{display:flex;flex-direction:column;padding:28px 12px;gap:6px;align-self:start;position:sticky;top:0}.navigation a{min-height:52px;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;text-align:left;font-size:.8125rem;padding:12px 10px;line-height:1.3;text-decoration:none;overflow-wrap:anywhere;border-left:3px solid transparent;border-radius:4px}.navigation a.active{background:#edf1f4;border-left-color:var(--color-orange);font-weight:700}.navigation a:hover{background:var(--color-canvas)}.nav-icon{font-size:24px;line-height:1;display:flex;flex-shrink:0}.canvas{min-width:0;display:flex;flex-direction:column;background:var(--color-canvas);border-left:1px solid var(--color-line)}main{flex:1}.hero{padding:80px clamp(28px,5vw,80px) 64px;background:#fff;border-bottom:1px solid var(--color-line)}.hero h1{max-width:16ch;font-size:clamp(2.5rem,5vw,4.5rem);font-weight:600;margin-bottom:28px;text-wrap:balance}.hero .eyebrow:before{content:"";display:inline-block;width:28px;height:3px;background:var(--color-orange);vertical-align:middle;margin-right:12px}.eyebrow{font-size:.75rem;letter-spacing:.12em;font-weight:700;color:var(--color-muted);margin-bottom:24px}.intro{font-size:1.1875rem;max-width:630px;color:var(--color-muted);margin-bottom:32px}.actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.primary{background:var(--color-blue);color:#fff}.primary:hover{background:#062940}.text-link{display:inline-flex;align-items:center;min-height:44px;font-weight:600}.guest-note{color:var(--color-muted);font-size:.8125rem;margin:16px 0 0}.steps{padding:40px clamp(28px,5vw,80px)}.steps ol{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.steps li{border-top:1px solid #bdc5ca;padding-top:20px}.step-number{color:var(--color-blue);font-size:1.5rem;font-variant-numeric:tabular-nums;display:block;margin-bottom:16px}.steps p{font-size:.9375rem;color:var(--color-muted);max-width:28ch}footer{display:flex;align-items:baseline;gap:24px;padding:24px clamp(28px,6vw,96px);border-top:1px solid var(--color-line);font-size:.75rem;color:var(--color-muted)}footer span{font-weight:700;flex-shrink:0}footer p{margin:0;max-width:85ch}.page{padding:40px clamp(24px,4vw,64px)}.page>.eyebrow{margin-bottom:12px}.page>h1{margin-bottom:20px}input,select,textarea{border-radius:4px}input::placeholder{color:#68747d;opacity:1}.page h1{font-size:clamp(2rem,3vw,2.5rem)}.notice{display:flex;gap:16px;border:1px solid var(--color-line);background:#fff;padding:24px;margin:32px 0;max-width:760px}.notice-symbol{border:1px solid var(--color-blue);color:var(--color-blue);border-radius:50%;height:24px;width:24px;text-align:center;flex-shrink:0;font-weight:700}.notice h2{font-size:1.125rem}.notice p{color:var(--color-muted);margin:0}.view-controls{display:flex;gap:24px;align-items:end;flex-wrap:wrap;margin:28px 0}.segmented{display:flex}.segmented .button[aria-pressed=true]{background:var(--color-blue);color:#fff}.date-label{display:grid;gap:6px;font-size:.875rem}input{border:1px solid var(--color-line);padding:8px 12px;background:#fff}.agenda-empty{border:1px solid var(--color-line);background:#fff;text-align:center;padding:64px 24px}.agenda-empty h2{font-size:1.25rem}.agenda-empty p{color:var(--color-muted);max-width:55ch;margin:0 auto 24px}.calendar-icon{display:block;font-size:40px;color:var(--color-blue);margin-bottom:24px}@media(max-width:1000px){.layout{grid-template-columns:112px minmax(0,1fr)}.navigation a{flex-direction:column;justify-content:center;text-align:center;gap:8px;padding:12px 2px;font-size:.75rem}.header{padding:20px 24px}.brand img{width:250px}.header-tools{gap:16px}.guest-status{display:none}}@media(max-width:680px){.header{min-height:108px;padding:16px 20px 8px;flex-wrap:wrap;gap:4px}.brand img{width:min(280px,calc(100vw - 40px))}.header-tools{width:100%;justify-content:space-between;flex-wrap:wrap;gap:8px}.plan-switcher{display:grid;flex:1 1 140px;min-width:0;max-width:calc(100% - 144px)}.plan-switcher span{display:none}.plan-switcher select{width:100%;min-width:0;text-overflow:ellipsis}.guest-status{display:none}.languages{margin-left:auto}.layout{display:block;min-height:calc(100dvh - 108px)}.navigation{position:fixed;inset:auto 0 0;z-index:5;flex-direction:row;gap:0;border:0;border-top:1px solid var(--color-line);background:#fff;padding:0 4px env(safe-area-inset-bottom)}.navigation a{flex:1;min-width:0;min-height:76px;border-left:0;border-top:3px solid transparent;font-size:.625rem;padding:8px 2px}.navigation a.active{border-top-color:var(--color-orange)}.nav-icon{font-size:22px}.canvas{border-left:0;min-height:calc(100dvh - 108px);padding-bottom:calc(84px + env(safe-area-inset-bottom))}.hero,.page{padding:32px 20px}.hero h1{font-size:clamp(2.25rem,10vw,3.5rem)}.hero .button{width:100%;justify-content:space-between}.hero .actions{align-items:stretch}.intro{font-size:1.0625rem}.actions{gap:8px 20px;align-items:flex-start;flex-direction:column}.steps{padding:32px 24px}.steps ol{grid-template-columns:1fr;gap:24px}.steps p{max-width:45ch;margin-bottom:0}.step-number{margin-bottom:8px}footer{display:block;padding:24px}footer p{margin-top:12px}.notice{padding:20px}.agenda-empty{padding:40px 20px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
