:root{--canvas:#f3f0ee;--lifted:#fcfbfa;--white:#fff;--ink:#141413;--text:#141413;--text-soft:#3b3936;--text-muted:#5e5955;--line:#ddd6cf;--line-strong:#a9a098;--accent:#c8102e;--danger:#9f2316;--danger-wash:#fbebe8;--focus:var(--accent);--r-chip:6px;--r-control:20px;--r-pill:999px;--shadow-lift:0 24px 48px #00000014;--font:"Sofia Sans",Arial,sans-serif;--gutter:max(20px,calc(50% - 600px));color-scheme:light}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;background:#f3f0ee;background:var(--canvas);color:#141413;color:var(--text);font-family:Sofia Sans,Arial,sans-serif;font-family:var(--font);font-size:17px;font-weight:450;line-height:1.5;margin:0}h1,h2,h3,h4{font-weight:650;letter-spacing:-.02em;line-height:1.1;margin:0}p{margin:0}a{color:inherit;text-underline-offset:3px}button,input,select{color:inherit;font:inherit}button{cursor:pointer}ol,ul{margin:0;padding:0}:focus-visible{outline:3px solid #c8102e;outline:3px solid var(--focus);outline-offset:2px}[hidden]{display:none!important}.sr-only{clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.wordmark{align-items:center;display:inline-flex;font-size:20px;gap:10px;letter-spacing:-.03em;white-space:nowrap}.wordmark b{font-weight:800}.wordmark-mark{border:2.5px solid;border-radius:50%;height:20px;position:relative;width:20px}.wordmark-mark:after{background:#c8102e;background:var(--accent);border-radius:50%;content:"";height:9px;position:absolute;right:-5px;top:-5px;width:9px}.btn{align-items:center;background:#fff;background:var(--white);border:1.5px solid #141413;border:1.5px solid var(--ink);border-radius:20px;border-radius:var(--r-control);color:#141413;color:var(--ink);display:inline-flex;font-weight:600;gap:8px;justify-content:center;letter-spacing:-.01em;min-height:44px;padding:0 22px;text-decoration:none;transition:background-color .15s,color .15s,transform .1s;white-space:nowrap}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{cursor:not-allowed;opacity:.45}.btn-ink{background:#141413;background:var(--ink);color:#f3f0ee;color:var(--canvas)}.btn-ink:hover:not(:disabled){background:#33322f}.btn-outline{background:#0000}.btn-outline:hover:not(:disabled){background:#fff;background:var(--white)}.btn-quiet{background:#0000;border-color:#a9a098;border-color:var(--line-strong)}.btn-quiet:hover:not(:disabled){background:#fff;background:var(--white)}.btn-sm{font-size:15px;padding:0 14px}.link-button{background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:3px}.field-label{display:block;font-size:15px;font-weight:700;margin-bottom:6px}.hint{color:#5e5955;color:var(--text-muted);font-size:14.5px;margin-top:6px}.input{background:#fff;background:var(--white);border:1.5px solid #a9a098;border:1.5px solid var(--line-strong);border-radius:999px;border-radius:var(--r-pill);font-size:16px;min-height:46px;padding:10px 18px;width:100%}.input:focus-visible{border-color:#141413;border-color:var(--ink);outline-offset:1px}.input[aria-invalid=true]{border-color:#9f2316;border-color:var(--danger)}select.input{appearance:auto}.chip{background:#fff;background:var(--white);border:1px solid #a9a098;border:1px solid var(--line-strong);border-radius:999px;border-radius:var(--r-pill);font-size:15px;min-height:44px;padding:0 16px}.chip:hover{border-color:#141413;border-color:var(--ink)}.notice-error{color:#9f2316;color:var(--danger)}.req-group{background:#fcfbfa;background:var(--lifted);border:1px solid #ddd6cf;border-left:3px solid #141413;border:1px solid var(--line);border-left:3px solid var(--ink);border-radius:0 6px 6px 0;border-radius:0 var(--r-chip) var(--r-chip) 0;padding:10px 12px 12px}.req-or{border-left:3px dashed #c8102e;border-left:3px dashed var(--accent)}.req-group .req-group{background:#fff;background:var(--white)}.req-label{color:#3b3936;color:var(--text-soft);font-size:13px;font-weight:700;letter-spacing:.04em;margin-bottom:8px;text-transform:uppercase}.req-group ul{align-items:center;display:flex;flex-wrap:wrap;gap:6px;list-style:none}.req-group li:has(>.req-group){flex-basis:100%}.req-course{background:#fff;background:var(--white);border:1px solid #a9a098;border:1px solid var(--line-strong);border-radius:6px;border-radius:var(--r-chip);font-weight:700;padding:2px 9px;white-space:nowrap}.req-course,.req-note{display:inline-block;font-size:15px}.req-note{color:#3b3936;color:var(--text-soft);font-style:italic;padding:2px 0}.landing{min-height:100vh;min-height:100dvh;overflow-x:clip}.hero,.landing{display:flex;flex-direction:column}.hero{justify-content:center;min-height:min(760px,88vh);padding:72px max(20px,calc(50% - 600px)) 56px;padding:72px var(--gutter) 56px;position:relative}.orbit{height:38%;inset:6% 0 auto;overflow:visible;pointer-events:none;position:absolute;width:100%}.orbit path{fill:none;stroke:#c8102e;stroke:var(--accent);stroke-width:1.5;vector-effect:non-scaling-stroke}.hero h1{font-size:clamp(64px,13vw,200px);font-weight:650;letter-spacing:-.05em;line-height:.92;position:relative}.hero-tagline{color:#3b3936;color:var(--text-soft);font-size:clamp(28px,3.6vw,48px);font-weight:550;letter-spacing:-.03em;line-height:1.05;margin-top:20px;max-width:18ch;position:relative}.hero-start{align-items:center;display:flex;flex-wrap:wrap;gap:14px 24px;margin-top:48px;position:relative}.hero-start .btn{border-radius:32px;font-size:20px;font-weight:650;gap:14px;min-height:64px;padding:0 30px 0 36px}.hero-start .arrow{font-size:22px;transition:transform .2s}.hero-start .btn:focus-visible .arrow,.hero-start .btn:hover .arrow{transform:translateX(5px)}.hero-start p{color:#5e5955;color:var(--text-muted);font-size:16px}.about{border-top:1px solid #ddd6cf;border-top:1px solid var(--line);flex:1 1;padding:56px max(20px,calc(50% - 600px)) 80px;padding:56px var(--gutter) 80px}.about h2{font-size:clamp(26px,2.6vw,34px);letter-spacing:-.03em}.about dl{margin:28px 0 0;max-width:980px}.about dl div{grid-gap:6px 40px;border-bottom:1px solid #ddd6cf;border-bottom:1px solid var(--line);display:grid;gap:6px 40px;grid-template-columns:minmax(0,2fr) minmax(0,3fr);padding:20px 0}.about dl div:first-child{border-top:1px solid #ddd6cf;border-top:1px solid var(--line)}.about dt{font-size:19px;font-weight:650;letter-spacing:-.015em}.about dd{color:#3b3936;color:var(--text-soft);margin:0;max-width:56ch}.footer{align-items:center;background:#141413;background:var(--ink);color:#f3f0ee;color:var(--canvas);display:flex;flex-wrap:wrap;gap:12px 32px;padding:28px max(20px,calc(50% - 600px));padding:28px var(--gutter)}.footer p{color:#d8d2cb;flex:1 1;font-size:15px;max-width:60em;min-width:260px}.footer :focus-visible{outline-color:#f3f0ee;outline-color:var(--canvas)}@media (max-width:640px){.hero{min-height:0;padding-block:48px 40px}.orbit{height:20%;top:4%}.hero-start{margin-top:36px}.hero-start .btn{width:100%}.about{padding-block:40px 56px}.about dl div{grid-template-columns:1fr;padding:16px 0}}.workspace{display:grid;grid-template-rows:auto minmax(0,1fr);height:100vh;height:100dvh;overflow:hidden}.ws-header{align-items:center;border-bottom:1px solid #ddd6cf;border-bottom:1px solid var(--line);display:flex;gap:16px;justify-content:space-between;padding:8px 20px;position:relative}.wordmark-button{align-items:center;background:none;border:0;display:inline-flex;min-height:44px;padding:0 4px}.settings{grid-gap:16px;background:#fff;background:var(--white);border:1px solid #ddd6cf;border:1px solid var(--line);border-radius:24px;box-shadow:0 24px 48px #00000014;box-shadow:var(--shadow-lift);display:grid;font-size:15.5px;gap:16px;max-height:calc(100dvh - 96px);overflow:auto;padding:24px;position:absolute;right:16px;top:calc(100% + 8px);width:min(460px,calc(100vw - 32px));z-index:20}.settings h2{font-size:22px}.settings .hint{margin-top:0}.radios{border:0;display:flex;flex-wrap:wrap;gap:4px 20px;margin:0;padding:0}.radios label{align-items:center;display:inline-flex;gap:8px;min-height:44px}.radios input{accent-color:#141413;accent-color:var(--ink);height:18px;width:18px}.label-row{display:flex;gap:12px;justify-content:space-between}.label-row a{color:#c8102e;color:var(--accent);font-size:14.5px}.settings .input+.input{margin-top:8px}.settings [role=status]:empty{display:none}.settings-actions{display:flex;flex-wrap:wrap;gap:8px}.ws-body{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);grid-template-rows:minmax(0,1fr)}.pane{border-right:1px solid #ddd6cf;border-right:1px solid var(--line);display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0}.program-context{overflow:visible}.major-picker{padding:12px clamp(20px,3vw,40px) 10px}.concentration-picker,.major-picker{border-bottom:1px solid #ddd6cf;border-bottom:1px solid var(--line)}.concentration-picker{padding:10px clamp(20px,3vw,40px) 12px}.concentration-group{border:0;margin:0;min-width:0;padding:0;position:relative}.concentration-group legend{padding:0}.concentration-policy{margin:0 0 10px;white-space:pre-line}.concentration-slot{margin:0}.concentration-slot+.concentration-slot{margin-top:10px}.concentration-group+.concentration-group{margin-top:12px}.concentration-slot .input{width:100%}.requirement-instruction{color:#3b3936;color:var(--text-soft)}.major-row{display:flex;gap:8px}.major-row .input{flex:1 1;min-width:0}.scope{margin-bottom:8px}.scope legend{margin-bottom:0;padding:0}.scope-hint{margin:0 0 16px;max-width:66ch}.course-requirement-section{margin-top:32px}.course-requirement-section h2{font-size:22px;line-height:1.25;margin-bottom:14px}.requirement-owner{color:#5e5955;color:var(--text-muted);font-size:14px;margin-bottom:4px}.requirement-subheading{font-size:17px;font-weight:700;line-height:1.35;margin:24px 0 8px}.requirement-instruction{margin:10px 0}.requirement-group{border:1px solid #a9a098;border:1px solid var(--line-strong);border-radius:10px;margin:12px 0;overflow:hidden}.requirement-group .requirement-group{margin:12px}.requirement-connector{align-items:center;color:#5e5955;color:var(--text-muted);display:flex;font-size:14px;font-weight:650;gap:12px;margin:0 14px}.requirement-connector:after,.requirement-connector:before{background:#ddd6cf;background:var(--line);content:"";flex:1 1;height:1px}.requirement-group .result{border-bottom:0}.requirement-missing{padding:12px 14px}.requirement-missing .hint{display:block}.more{margin-top:16px}.breakdowns,.course,.rail{overflow-y:auto;padding:28px clamp(20px,3vw,40px) 40px;position:relative}.pane>.course,.rail{overflow-y:scroll;scrollbar-gutter:stable}.pane>.course::-webkit-scrollbar,.rail::-webkit-scrollbar{width:12px}.pane>.course::-webkit-scrollbar-track,.rail::-webkit-scrollbar-track{background:#f3f0ee;background:var(--canvas)}.pane>.course::-webkit-scrollbar-thumb,.rail::-webkit-scrollbar-thumb{background:#5e5955;background:var(--text-muted);border:3px solid #f3f0ee;border:3px solid var(--canvas);border-radius:8px}.pane>.course::-webkit-scrollbar-thumb:hover,.rail::-webkit-scrollbar-thumb:hover{background:#3b3936;background:var(--text-soft)}@supports not selector(::-webkit-scrollbar){.pane>.course,.rail{scrollbar-color:#5e5955 #f3f0ee;scrollbar-color:var(--text-muted) var(--canvas);scrollbar-width:auto}}.examples{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.examples .hint{margin:0 4px 0 0}.rail-status{color:#5e5955;color:var(--text-muted);font-size:14.5px;margin:18px 0 8px;min-height:1.5em}.results{border-top:1px solid #ddd6cf;border-top:1px solid var(--line);list-style:none}.result{grid-gap:2px 12px;background:none;border:0;border-bottom:1px solid #ddd6cf;border-bottom:1px solid var(--line);display:grid;gap:2px 12px;grid-template-columns:1fr auto;padding:12px 12px 12px 14px;text-align:left;width:100%}.result:hover,.result[aria-current=true]{background:#fcfbfa;background:var(--lifted)}.result[aria-current=true]{box-shadow:inset 4px 0 0 #c8102e;box-shadow:inset 4px 0 0 var(--accent)}.result-code{font-weight:750}.result-credits{color:#5e5955;color:var(--text-muted);font-size:14px;grid-area:1/2;text-align:right}.result-title{color:#3b3936;color:var(--text-soft);grid-column:1/-1}.back{align-items:center;background:none;border:0;display:inline-flex;font-weight:650;margin:-10px 0 16px;min-height:44px;padding:0;text-decoration:underline;text-underline-offset:3px}.course-code{color:#3b3936;color:var(--text-soft);font-size:15px;font-weight:700;letter-spacing:.02em}.course-empty h2{font-size:clamp(28px,3vw,36px);letter-spacing:-.03em;margin:10px 0 12px}.course-empty p:not(.course-code){color:#3b3936;color:var(--text-soft)}.course-empty .btn{margin-top:20px}.course-head h2{font-size:clamp(30px,3vw,42px);letter-spacing:-.035em;line-height:1.02;margin:8px 0 20px}.course-section{margin-top:28px}.course-section h3{font-size:18px;letter-spacing:-.015em;margin-bottom:10px}.course-section>.hint{margin:-4px 0 10px}.measure{max-width:66ch}.facts{grid-gap:16px 24px;border-block:1px solid #ddd6cf;border-block:1px solid var(--line);display:grid;gap:16px 24px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:28px 0 0;padding:18px 0}.facts dt{color:#5e5955;color:var(--text-muted);font-size:14px}.facts dd{font-weight:650;margin:2px 0 0}.plan-list{list-style:none}.plan-list li{border-bottom:1px solid #ddd6cf;border-bottom:1px solid var(--line);padding:8px 0}.disclosure{margin-top:12px}.chevron{border-bottom:2px solid;border-right:2px solid;height:8px;transform:translateY(-2px) rotate(45deg);width:8px}.disclosure[aria-expanded=true] .chevron{transform:translateY(2px) rotate(-135deg)}@media (prefers-reduced-motion:no-preference){.chevron{transition:transform .15s}}.breakdowns{background:#fcfbfa;background:var(--lifted)}.breakdowns-head h2{font-size:28px;letter-spacing:-.03em}.breakdowns-head .hint{max-width:44em}.source{color:#3b3936;color:var(--text-soft);font-weight:600}.code-form{margin:20px 0 24px}.code-row{display:flex;gap:8px}.code-row .input{flex:1 1;min-width:0}.breakdown-list{grid-gap:16px;display:grid;gap:16px;margin-bottom:20px}.breakdown{background:#fff;background:var(--white);border:1px solid #ddd6cf;border:1px solid var(--line);border-radius:20px;border-radius:var(--r-control);padding:22px 28px 20px}.breakdown-head{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px}.breakdown-head h3{font-size:22px;letter-spacing:-.025em}.breakdown-major{color:#5e5955;color:var(--text-muted);font-size:14.5px;margin-top:4px}.breakdown .notice-error{background:#fbebe8;background:var(--danger-wash);border-left:3px solid #9f2316;border-left:3px solid var(--danger);border-radius:0 6px 6px 0;border-radius:0 var(--r-chip) var(--r-chip) 0;padding:12px 14px}.pending{align-items:center;color:#3b3936;color:var(--text-soft);display:flex;gap:12px}.pending:before{animation:spin .9s linear infinite;border:2.5px solid #ddd6cf;border-top-color:#141413;border:2.5px solid var(--line);border-radius:50%;border-top-color:var(--ink);content:"";flex:none;height:18px;width:18px}@keyframes spin{to{transform:rotate(1turn)}}.prose{max-width:66ch}.prose ol,.prose p,.prose ul{margin:0 0 .8em}.prose>:last-child{margin-bottom:0}.prose h4{font-size:17px;letter-spacing:-.01em;margin:1.3em 0 .4em}.prose h4:first-child{margin-top:0}.prose ol,.prose ul{padding-left:1.3em}.prose li{margin:.3em 0}.prose li::marker{color:#c8102e;color:var(--accent)}.prose strong{font-weight:700}.prose code{background:#f3f0ee;background:var(--canvas);border-radius:6px;border-radius:var(--r-chip);font-size:.92em;padding:1px 6px}.attribution{border-top:1px solid #ddd6cf;border-top:1px solid var(--line);color:#5e5955;color:var(--text-muted);font-size:14px;margin-top:18px;padding-top:10px}.empty{color:#3b3936;color:var(--text-soft)}@media (max-width:767px){.workspace{display:block;height:auto;overflow:visible}.ws-header{background:#f3f0ee;background:var(--canvas);padding:6px 16px;position:sticky;top:0;z-index:10}.pane,.ws-body{display:block}.pane{border-right:0}.breakdowns,.pane>.course,.rail{overflow:visible;padding:20px 16px 32px;scrollbar-gutter:auto}.major-picker{padding:14px 16px}.concentration-picker{padding:12px 16px}.breakdowns{border-top:1px solid #ddd6cf;border-top:1px solid var(--line);scroll-margin-top:60px}.code-row{flex-wrap:wrap}.code-row .btn{flex:1 1}.breakdown{padding:18px 18px 16px}}.builder-entry{border-bottom:1px solid #ddd6cf;border-bottom:1px solid var(--line);padding:12px clamp(20px,3vw,40px) 16px}.builder{min-height:0;overflow-y:auto;padding:24px clamp(20px,3vw,40px) 56px}.builder>.back{margin:0 0 8px}.builder-head h1{font-size:clamp(34px,4vw,52px);letter-spacing:-.04em;margin:4px 0 6px}.builder-program{color:#3b3936;color:var(--text-soft)}.save-state{color:#5e5955;color:var(--text-muted);font-size:14.5px;margin-top:4px}.save-state.unsaved{color:#9f2316;color:var(--danger)}.save-state .link-button{min-height:44px}.notice{background:#fcfbfa;background:var(--lifted);border-left:3px solid #141413;border-left:3px solid var(--ink);border-radius:0 6px 6px 0;border-radius:0 var(--r-chip) var(--r-chip) 0;margin:12px 0;padding:12px 14px}.notice .button-row{margin-top:8px}.button-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.block{display:block}.textarea{border-radius:16px;min-height:64px;resize:vertical}.input-sm{border-radius:12px;font-size:15px;min-height:44px;padding:6px 12px}.year-input{max-width:120px}.builder-setup{grid-gap:22px;display:grid;gap:22px;margin-top:24px;max-width:640px}.builder-setup h2{font-size:26px;letter-spacing:-.03em}.builder-setup>.btn{justify-self:start}.term-picker{border:0;margin:0;min-width:0;padding:0}.term-picker legend{padding:0}.builder-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.toolbar-gap{flex:1 1}.toolbar-hint{max-width:80ch}.proposal{background:#fff;background:var(--white);border:1.5px solid #141413;border:1.5px solid var(--ink);border-radius:20px;border-radius:var(--r-control);margin:16px 0;padding:18px 22px}.proposal h2{font-size:22px;letter-spacing:-.02em;margin-bottom:6px}.proposal>*+*{margin-top:8px}.proposal details summary{align-content:center;cursor:pointer;display:list-item;min-height:44px}.proposal.notice-block{background:#fbebe8;background:var(--danger-wash);border-color:#9f2316;border-color:var(--danger)}.plan-settings{border-block:1px solid #ddd6cf;border-block:1px solid var(--line);margin:16px 0 0}.plan-settings summary{align-content:center;cursor:pointer;display:list-item;font-weight:650;min-height:44px}.settings-grid{grid-gap:20px 32px;display:grid;gap:20px 32px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));padding:8px 0 20px}.builder-body{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:minmax(0,7fr) minmax(320px,4fr);margin-top:8px}.builder-aside{background:#fcfbfa;background:var(--lifted);border:1px solid #ddd6cf;border:1px solid var(--line);border-radius:20px;border-radius:var(--r-control);max-height:calc(100dvh - 100px);overflow-y:auto;padding:20px;position:sticky;top:0}.builder-aside .course{overflow:visible;padding:0}.year-row{border-bottom:1px solid #ddd6cf;border-bottom:1px solid var(--line);padding:14px 0}.year-head{align-items:center;display:flex;flex-wrap:wrap;gap:8px 12px;justify-content:space-between;margin-bottom:10px}.year-head h3{font-size:18px}.pre-enrollment .year-head{margin-bottom:0}.term-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.term-card{background:#fff;background:var(--white);border:1px solid #ddd6cf;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;gap:6px;min-height:150px;min-width:0;padding:12px}.term-card h4{font-size:15.5px;line-height:1.25}.term-meta{color:#5e5955;color:var(--text-muted);font-size:13.5px}.term-meta:empty{display:none}.term-past{background:#fcfbfa;background:var(--lifted)}.term-current{box-shadow:inset 0 3px 0 #c8102e;box-shadow:inset 0 3px 0 var(--accent)}.term-coop,.term-off{background:#0000;border-color:#a9a098;border-color:var(--line-strong);border-style:dashed}.term-credits{font-size:14px;font-weight:650}.term-courses{display:grid;font-size:14.5px;list-style:none}.term-courses li{align-items:center;display:flex;flex-wrap:wrap;gap:0 6px}.course-link{font-weight:700;min-height:44px}.course-credits{font-size:13px}.course-credits,.course-tags{color:#5e5955;color:var(--text-muted)}.course-tags{flex-basis:100%;font-size:12.5px;margin-top:-10px;padding-bottom:4px}.placeholder-name{color:#3b3936;color:var(--text-soft);font-style:italic}.term-problem{color:#9f2316;color:var(--danger);font-size:13.5px}.term-card .btn{align-self:flex-start;margin-top:auto}.term-editor{grid-gap:14px;display:grid;gap:14px}.editor-head{align-items:center;display:flex;gap:12px;justify-content:space-between}.editor-head h2{font-size:24px;letter-spacing:-.02em}.editor-subhead{font-size:17px}.coop-controls p{margin-bottom:4px}.attempt-list{grid-gap:12px;display:grid;gap:12px;list-style:none}.attempt-edit{background:#fff;background:var(--white);border:1px solid #ddd6cf;border:1px solid var(--line);border-radius:12px;padding:12px}.attempt-edit-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:0 8px}.attempt-code{font-weight:750;min-height:44px}.attempt-fields{grid-gap:8px 12px;display:grid;font-size:14px;font-weight:650;gap:8px 12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-top:8px}.attempt-fields label{grid-gap:4px;display:grid;gap:4px}.attempt-fields .wide{grid-column:1/-1}.attempt-fields .input{min-width:0;width:100%}.exam-credit{border-bottom:1px solid #ddd6cf;border-bottom:1px solid var(--line);padding-bottom:18px}.exam-credit,.exam-credit form{grid-gap:12px;display:grid;gap:12px}.exam-credit form>.btn{justify-self:start}.exam-record{border-bottom:1px solid #ddd6cf;border-bottom:1px solid var(--line);padding-block:12px}.exam-equivalents{grid-gap:8px;display:grid;font-size:14px;gap:8px;list-style:none;margin-block:12px}.exam-preview{border:1px solid #a9a098;border:1px solid var(--line-strong);border-radius:12px;padding:14px}.exam-preview .button-row,.exam-record .button-row{flex-wrap:wrap}.attempt-actions{align-items:center;display:flex;flex-wrap:wrap;gap:0 16px;margin-top:4px}.attempt-actions .link-button,.check{align-items:center;display:inline-flex;min-height:44px}.check input{accent-color:#141413;accent-color:var(--ink);height:18px;margin:0 6px 0 0;width:18px}.attempt-problem{color:#9f2316;color:var(--danger);font-size:14px;margin-top:4px}.add-courses{grid-gap:14px;border-top:1px solid #ddd6cf;border-top:1px solid var(--line);display:grid;gap:14px;padding-top:14px}.add-courses .btn{margin-top:8px}.title-search .btn{margin-top:0}.code-preview ul,.search-adds{grid-gap:6px;display:grid;font-size:14.5px;gap:6px;list-style:none}.search-adds li{align-items:center;display:flex;gap:8px;justify-content:space-between}.plan-report{grid-gap:10px;display:grid;gap:10px}.plan-report h2{font-size:24px;letter-spacing:-.02em}.plan-report h3{font-size:16px;margin-top:10px}.report-headline{font-size:19px;font-weight:650}.report-list{grid-gap:6px;display:grid;font-size:14.5px;gap:6px;list-style:none}.report-list.problems li{color:#9f2316;color:var(--danger)}.requirement-status li{grid-gap:8px;display:grid;gap:8px;grid-template-columns:7.5em minmax(0,1fr)}.req-state{font-size:13px;font-weight:700}.req-unsatisfied .req-state{color:#9f2316;color:var(--danger)}.req-review .req-state{color:#3b3936;color:var(--text-soft);font-style:italic}.report-list .link-button{min-height:32px}.plan-report>section{border-bottom:1px solid #ddd6cf;border-bottom:1px solid var(--line);padding-bottom:14px}.plan-report>section>h3{font-size:19px;margin:8px 0}.course-choices,.remaining-list{list-style:none}.remaining-list>li{border-bottom:1px solid #ddd6cf;border-bottom:1px solid var(--line);padding:14px 0}.remaining-list>li:last-child{border-bottom:0;padding-bottom:0}.remaining-heading{align-items:baseline;display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:space-between}.remaining-heading .req-state{color:#9f2316;color:var(--danger)}.remaining-requirement>p{margin:4px 0 10px}.course-choice{padding:10px 0}.course-choice+.course-choice{border-top:1px solid #ddd6cf;border-top:1px solid var(--line)}.course-bundle{grid-gap:2px;display:grid;gap:2px}.course-choice-title{display:block;font-size:16px;font-weight:550;line-height:1.35}.choice-connector{color:#5e5955;color:var(--text-muted);display:block;font-size:14px;font-weight:650;padding:4px 0}.course-choices .link-button,.scheduled-courses .link-button{font-weight:700;min-height:44px}.scheduled-term{color:#3b3936;color:var(--text-soft);font-size:14px;margin:6px 0}.scheduled-courses .hint{line-height:1.45}.report-disclosure{border-top:1px solid #ddd6cf;border-top:1px solid var(--line);padding-block:4px}.report-disclosure>summary{align-content:center;cursor:pointer;font-weight:650;min-height:44px}.report-disclosure>.hint,.report-disclosure>.report-list{margin-block:8px}.requirement-details>li{border-bottom:1px solid #ddd6cf;border-bottom:1px solid var(--line);padding-block:10px}@media (max-width:1100px){.builder-body{grid-template-columns:1fr}.builder-aside{max-height:none;position:static}}@media (max-width:900px){.term-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.builder{padding:20px 16px 40px}.term-grid{grid-template-columns:1fr}.term-card{min-height:0}.builder-toolbar .btn{flex:1 1 100%}.toolbar-gap{display:none}.requirement-status li{gap:0;grid-template-columns:1fr}}@media (max-width:767px){.workspace-builder .builder{overflow:visible}}@media print{.back,.builder-aside,.builder-toolbar,.plan-settings,.proposal .button-row,.save-state,.term-card .btn,.toolbar-hint,.ws-header,.year-head .btn{display:none!important}.builder,.workspace{display:block;height:auto;overflow:visible}body{background:#fff}.term-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.term-card{break-inside:avoid;min-height:0;page-break-inside:avoid}}.term-courses li:has(.placeholder-name) .course-tags{margin-top:-6px}.placeholder-name{padding:6px 0 4px}
/*# sourceMappingURL=main.ddd1d002.css.map*/