.cs{color:var(--ink);font-size:var(--text-body)}.cs-label{font-size:20px;font-weight:650}.cs-num{color:var(--gray);font-variant-numeric:tabular-nums}.cs-muted{color:var(--gray);font-size:22px;font-weight:400}.cs-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.cs-row{border:1px solid var(--hair);background:var(--surface);border-radius:12px;grid-template-columns:minmax(0,1fr);gap:24px;margin-bottom:28px;padding:32px;display:grid}.cs-row-label{color:var(--gray);align-items:center;gap:10px;font-size:20px;display:flex}.cs-main{min-width:0}.cs-main>p:last-child{margin-bottom:0}.cs-margin:empty{display:none}.cs-question{letter-spacing:-.8px;overflow-wrap:anywhere;margin:0;font-size:32px;font-weight:600}.cs-lead{letter-spacing:-.6px;margin:0 0 24px;font-size:32px;font-weight:600;line-height:1.5}.cs-para{margin:0 0 24px;font-size:24px;font-weight:400;line-height:1.6}.cs-exchange{scroll-margin-top:24px}.cs-exchange>.cs-row:first-child{background:var(--soft);border-color:#0000;margin-left:48px}.cs-list{margin:24px 0;padding:0;list-style:none}.cs-list li{border-top:1px solid var(--hair);gap:16px;padding:20px 0;font-size:24px;font-weight:400;display:flex}.cs-numeral{color:var(--gray);flex:0 0 26px;font-size:20px}.cs-cited{white-space:nowrap}.cs-cite{margin-left:4px;font-size:18px}.cs-cite a{padding:3px}.cs-sources{border-top:1px solid var(--hair);color:var(--gray);padding-top:24px;font-size:18px;font-weight:400}.cs-sources-head{color:var(--ink);font-weight:650}summary.cs-sources-head{cursor:pointer;align-items:center;gap:8px;min-height:44px;list-style:none;display:flex}summary.cs-sources-head::-webkit-details-marker{display:none}summary.cs-sources-head>svg{transition:transform .15s;transform:rotate(90deg)}.sources-details[open]>summary.cs-sources-head>svg{transform:rotate(-90deg)}.cs-sources ol{flex-direction:column;gap:18px;margin:16px 0 0;padding:0;list-style:none;display:flex}.cs-sources li{gap:10px;display:flex}.cs-sources li:target{background:var(--soft);outline:6px solid var(--soft)}.cs-sources strong{color:var(--ink)}.cs-sources a{-webkit-text-decoration-color:var(--hair);text-decoration-color:var(--hair)}.cs-note{margin:18px 0 0;font-size:18px}.cs-advisor{background:var(--paper);border:1px solid var(--hair);border-radius:8px;margin-top:32px;padding:24px}.cs-advisor-q{margin:18px 0 24px;font-size:24px;font-weight:400}.cs-actions{flex-wrap:wrap;gap:14px;display:flex}.cs-btn{border:1px solid var(--hair);background:var(--surface);min-height:58px;color:var(--ink);border-radius:8px;justify-content:center;align-items:center;gap:12px;padding:14px 22px;font-size:20px;font-weight:600;text-decoration:none;display:inline-flex}.cs-btn:hover:not(:disabled){background:var(--soft)}.cs .cs-btn-solid{background:var(--ink);color:var(--paper);border-color:var(--ink)}.cs .cs-btn-solid:hover:not(:disabled){background:#3c3e38}.cs-form{flex-direction:column;gap:24px;display:flex}.cs-inputs{border:1px solid var(--hair);background:var(--surface);border-radius:10px;align-items:center;gap:12px;padding:10px;display:flex}.cs-inputs:focus-within{border-color:var(--ink)}.cs-inputs input{min-width:0;height:60px;color:var(--ink);background:0 0;border:0;flex:1;padding:0 12px;font-size:24px}.cs-inputs input:focus{outline:none}.cs-inputs .cs-btn{min-height:52px;padding:14px}.cs-inputs .cs-btn>svg{width:26px;height:26px}.cs-inputs input::placeholder{color:var(--gray);font-weight:400}.cs-chips{flex-direction:column;gap:12px;display:flex}.cs-chip{text-align:left;min-height:68px;color:var(--ink);background:var(--paper);border:1px solid var(--hair);border-radius:8px;padding:20px;font-size:22px;font-weight:500;line-height:1.5}.cs-chip:hover:not(:disabled){background:var(--soft);border-color:var(--ink)}.cs-pending{border-bottom:3px solid var(--hair);padding-bottom:16px;animation:2s ease-in-out infinite pulse}.cs-pending .cs-lead{color:var(--gray);margin-bottom:12px;font-size:26px}@media (width<=700px){.cs-row{gap:20px;margin-bottom:20px;padding:24px 20px}.cs-question,.cs-lead{font-size:28px}.cs-para,.cs-list li,.cs-advisor-q{font-size:20px}.cs-exchange>.cs-row:first-child{margin-left:16px}.cs-chip{padding:18px;font-size:20px}.cs-inputs{gap:4px;padding:6px}.cs-inputs input{padding:0 8px;font-size:20px}.cs-inputs .cs-btn{min-height:48px;padding:12px}.cs-inputs .cs-btn>svg{width:22px;height:22px}.cs-advisor{padding:20px}.cs-list li{gap:10px}.cs-muted{font-size:20px}}.topbar{float:right;margin:18px 0 0 24px;display:flex}.ask-open{border:1px solid var(--hair);background:var(--surface);min-height:58px;color:var(--ink);border-radius:8px;align-items:center;gap:12px;padding:14px 22px;font-size:20px;font-weight:600;display:inline-flex}.ask-open:hover,.ask-open[aria-expanded=true]{background:var(--soft);border-color:var(--ink)}.ask-open-compact{display:none}.ask-panel{z-index:20;background:var(--paper);border-left:1px solid var(--hair);flex-direction:column;width:min(600px,100%);display:flex;position:fixed;inset:0 0 0 auto;box-shadow:-12px 0 32px #20211f14}.ask-panel[hidden],.ask-backdrop[hidden],.ask-backdrop{display:none}.ask-panel-head{border-bottom:1px solid var(--hair);justify-content:space-between;align-items:center;gap:16px;padding:24px 28px;display:flex}.ask-panel-head h2{letter-spacing:-.8px;margin:0;font-size:32px;font-weight:700}.ask-panel-head h2:focus{outline:none}.ask-close{border:1px solid var(--hair);background:var(--surface);width:52px;height:52px;color:var(--ink);border-radius:8px;place-items:center;display:grid}.ask-close:hover{background:var(--soft)}.ask-panel-body{overscroll-behavior:contain;flex:1;min-height:0;padding:24px 28px 32px;overflow-y:auto}.ask-panel-body .cs>.masthead{display:none}.ask-panel-body .cs-row{gap:20px;margin-bottom:20px;padding:24px}.ask-panel-body .cs-exchange>.cs-row:first-child{margin-left:24px}.ask-panel-body .cs-question,.ask-panel-body .cs-lead{font-size:28px}.ask-panel-body .cs-para,.ask-panel-body .cs-list li,.ask-panel-body .cs-advisor-q{font-size:22px}.landing{padding-bottom:48px}.landing .masthead{padding-top:56px}.landing .byline{max-width:34ch;line-height:1.45}.landing-start{text-decoration:none}.section input[type=radio]{width:22px;height:22px;min-height:22px;accent-color:var(--ink);flex:none;margin:0}.section fieldset:disabled .field-hint,.section fieldset:disabled>legend{color:var(--gray)}.adt-warning{color:var(--ink);margin:0}.picker-head{flex-wrap:wrap;align-items:baseline;gap:6px 12px;display:flex}.picker-head .label{font-size:22px;font-weight:600}.picker input[role=combobox]:not(:focus)::placeholder{color:var(--gray)}.picker-list{margin-top:-4px}.picker-list>li.active .picker-option{background:var(--soft)}.majors-chips{margin-bottom:2px}@media (width<=1100px){.topbar{display:none}.ask-open-compact{min-height:52px;padding:12px 16px;display:inline-flex}}@media (width<=700px){.picker-head .label{font-size:20px}.ask-open-compact span{display:none}.ask-open-compact{padding:12px}.landing .masthead{padding-top:32px}}@media (width<=600px){.ask-panel{border-left:0;border-top:1px solid var(--hair);border-radius:16px 16px 0 0;width:100%;height:min(88dvh,100%);inset:auto 0 0;box-shadow:0 -12px 32px #20211f1f}.ask-backdrop{z-index:19;background:#20211f52;display:block;position:fixed;inset:0}.ask-panel-head{padding:18px 20px}.ask-panel-head h2{font-size:28px}.ask-panel-body{padding:20px 20px 28px}.ask-panel-body .cs-row{padding:20px 18px}.ask-panel-body .cs-exchange>.cs-row:first-child{margin-left:16px}.ask-panel-body .cs-para,.ask-panel-body .cs-list li,.ask-panel-body .cs-advisor-q{font-size:20px}}.credits-summary{color:var(--gray);flex-wrap:wrap;gap:4px 0;margin:0 0 24px;font-size:22px;font-weight:500;display:flex}.credits-summary>span+span:before{content:"·";color:var(--gray);margin:0 12px}.credits-summary strong{color:var(--ink);font-weight:650}.credits-banner{border-left:4px solid var(--ink);background:var(--soft);border-radius:0 8px 8px 0;margin:0 0 32px;padding:18px 22px;font-size:20px;line-height:1.5}.credits-banner p{margin:0}.credits-banner strong{font-weight:650}.credits-banner .nowrap{white-space:nowrap}.credits-banner a{white-space:nowrap;font-weight:600}.credits-controls{margin-bottom:32px}.credits-cards{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;margin:0;padding:0;list-style:none;display:grid}.credits-card{border:1px solid var(--hair);border-radius:8px;flex-direction:column;gap:8px;min-width:0;padding:20px 22px;display:flex}.credits-title{letter-spacing:-.4px;overflow-wrap:anywhere;margin:0;font-size:22px;font-weight:650;line-height:1.3}.credits-status{font-size:var(--text-small);flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0;font-weight:600;line-height:1.45;display:flex}.credits-status .status{padding:2px 10px;font-size:16px}.credits-what,.credits-what p{font-size:var(--text-small);margin:0;font-weight:400;line-height:1.45}.credits-what strong{font-weight:650}.credits-note{color:var(--gray);margin:0;font-size:16px;line-height:1.45}.credits-foot{font-size:var(--text-small);color:var(--gray);flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin:0;padding-top:4px;display:flex}.credits-foot a{color:var(--ink);white-space:nowrap}.credits-empty{color:var(--gray);margin:0;font-size:20px}.credits-fold{margin-bottom:16px}.credits-fold>.credits-cards{margin-top:16px}.section button.ge-more{white-space:nowrap;min-height:0;font-size:inherit;text-underline-offset:4px;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline;display:inline}.section button.ge-more:hover:not(:disabled){background:0 0}.ge-option-list{max-height:320px;margin:10px 0 0;padding:0;font-size:16px;list-style:none;overflow-y:auto}.ge-option-list li{color:var(--gray);margin-bottom:6px}.ge-option-list strong{color:var(--ink)}.ge-skeleton{height:22px;margin:0 0 16px;display:block}.how-notes{max-width:72ch;color:var(--gray);font-size:var(--text-small);flex-direction:column;gap:18px;font-weight:400;display:flex}.how-notes p{margin:0}.how-notes strong{color:var(--ink);font-weight:600}.how-notes a{-webkit-text-decoration-color:var(--hair);text-decoration-color:var(--hair)}.how-notes .credits-pattern{margin:-6px 0 0}@media (width<=700px){.credits-summary{font-size:20px}.credits-banner{padding:14px 16px;font-size:18px}.credits-cards{grid-template-columns:minmax(0,1fr);gap:12px}.credits-card{padding:16px}.credits-title{font-size:20px}}.plan-terms{flex-direction:column;gap:12px;display:flex}.plan-term.is-open:not(:first-child),.plan-term.is-open+.plan-term{margin-top:16px}.plan-term.is-collapsed .plan-table-scroll,.plan-group:not(.is-open)>.plan-terms{display:none}.plan-term-head{margin:0}.section button.plan-term-toggle{border:1px solid var(--hair);background:var(--surface);width:100%;min-height:60px;color:var(--ink);letter-spacing:-.4px;text-align:left;border-radius:8px;flex-wrap:wrap;justify-content:flex-start;align-items:baseline;gap:0 8px;padding:14px 52px 14px 18px;font-size:24px;font-weight:650;line-height:1.3;display:flex;position:relative}.section button.plan-term-toggle:hover{background:var(--soft)}.plan-term.is-open .plan-term-toggle{margin-bottom:14px}.section .plan-term.is-open button.plan-term-toggle{background:0 0;border-color:#0000;min-height:48px;padding:4px 44px 4px 0;font-size:26px}.plan-term-meta{color:var(--gray);letter-spacing:0;font-size:20px;font-weight:500}.plan-term-sep{display:none}.plan-term-toggle>svg,.plan-group-toggle>svg{transition:transform .15s;position:absolute;top:50%;right:18px;transform:translateY(-50%)rotate(90deg)}.plan-term.is-open .plan-term-toggle>svg{right:8px}.plan-term-toggle[aria-expanded=true]>svg,.plan-group-toggle[aria-expanded=true]>svg{transform:translateY(-50%)rotate(-90deg)}.section button.plan-group-toggle{border:1px solid var(--hair);background:var(--surface);width:100%;min-height:60px;color:var(--gray);text-align:left;border-radius:8px;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;padding:10px 52px 10px 12px;font-size:20px;font-weight:500;display:flex;position:relative}.section button.plan-group-toggle:hover{background:var(--soft)}.plan-group-toggle .phase-kicker{margin-right:0}.plan-group .phase-head{margin-bottom:0}.plan-group.is-open .phase-head{margin-bottom:20px}.plan-settings{border-top:1px solid var(--hair);flex-wrap:wrap;align-items:flex-end;gap:20px 24px;margin-top:24px;padding-top:24px;display:flex}.plan-settings .term-picks{flex:520px}.plan-settings .plan-actions{margin:0}.plan-table-scroll{border:1px solid var(--hair);background:var(--surface);border-radius:8px;max-width:100%;overflow-x:auto}.plan-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:860px;font-size:20px}.plan-table th,.plan-table td{text-align:left;vertical-align:top;padding:12px 16px}.plan-total-unit{color:var(--gray);font-size:var(--text-small);font-weight:500}.plan-table thead th{color:var(--gray);font-size:var(--text-small);background:var(--paper);border-bottom:1px solid var(--hair);white-space:nowrap;font-weight:600}.plan-table tbody td{border-bottom:1px solid var(--hair)}.plan-table .nowrap{white-space:nowrap}.plan-table .num{text-align:right;white-space:nowrap}.plan-table.planned th:first-child{width:40%}.plan-table.planned.with-sections th:first-child,.plan-table.planned.with-sections th:nth-child(2){width:34%}.plan-table.completed th:first-child{width:36%}.plan-table.completed th:nth-child(2){width:32%}.plan-table tfoot th,.plan-table tfoot td{background:var(--paper);font-weight:650}.plan-table tfoot td:last-child{color:var(--gray);font-weight:500;font-size:var(--text-small)}.subject-tag{border-left:4px solid var(--tag-edge);background:var(--tag-fill);max-width:100%;color:var(--ink);-webkit-print-color-adjust:exact;print-color-adjust:exact;border-radius:6px;flex-direction:column;gap:2px;padding:8px 12px 9px;line-height:1.35;display:inline-flex}.subject-tag strong{white-space:nowrap;font-size:20px;font-weight:650}.subject-tag span{font-size:var(--text-small);font-weight:400}.ge-slot{border:1.5px dashed var(--gray);max-width:100%;color:var(--ink);border-radius:6px;flex-direction:column;gap:2px;padding:8px 12px 9px;line-height:1.35;display:inline-flex}.ge-slot strong{font-size:20px;font-weight:600}.ge-slot a{font-size:var(--text-small);color:var(--gray);-webkit-text-decoration-color:var(--hair);text-decoration-color:var(--hair);text-underline-offset:3px;font-weight:400}.ge-slot .nowrap{white-space:nowrap}.ge-slot a:hover{color:var(--ink);text-decoration-color:currentColor}.plan-attention{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:0 0 20px;padding:0;list-style:none;display:grid}.plan-attention li{border:1px solid var(--hair);border-radius:8px;flex-direction:column;gap:6px;padding:18px 20px;display:flex}.plan-attention strong{letter-spacing:-.4px;font-size:22px;font-weight:650}.plan-attention p{font-size:var(--text-small);color:var(--gray);margin:0}.plan-attention .inline-link{font-size:var(--text-small);margin-top:auto;padding-top:6px}.plan-prereqs{color:var(--gray);font-size:var(--text-small);margin-top:8px;font-weight:400;display:block}.plan-counts{margin:0;padding:0;list-style:none}.plan-counts li+li{margin-top:10px}.plan-count-note{color:var(--gray);font-size:var(--text-small);font-weight:400;display:block}.plan-muted{color:var(--gray);font-size:var(--text-small);font-weight:400}.plan-section{font-size:var(--text-small);flex-direction:column;gap:2px;display:flex}.plan-section strong{font-size:20px;font-weight:600}.plan-skeleton{flex-direction:column;gap:18px;margin-top:14px;padding:22px;display:flex}.plan-actions{flex-wrap:wrap;gap:14px;margin:0 0 28px;display:flex}.ed-plan-print-head{display:none}@media (width<=700px){.section button.plan-term-toggle,.section .plan-term.is-open button.plan-term-toggle{flex-direction:column;align-items:flex-start;padding-left:14px;font-size:22px}.section .plan-term.is-open button.plan-term-toggle{padding-left:0}.plan-term-meta{font-size:18px}.plan-term-where{display:none}.section button.plan-group-toggle{font-size:18px}.plan-table{min-width:0;font-size:18px}.plan-table thead{display:none}.plan-table,.plan-table tbody,.plan-table tfoot{display:block}.plan-table tr{border-bottom:1px solid var(--hair);grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;padding:14px;display:grid}.plan-table tfoot tr{background:var(--paper);border-bottom:0}.plan-table th,.plan-table td,.plan-table tbody td{background:0 0;border:0;padding:0}.plan-table tbody td:nth-child(3){grid-area:1/2}.plan-table tbody td:nth-child(2),.plan-table tbody td:nth-child(n+4){grid-column:1/-1}.plan-table td[data-unit]:after{content:" " attr(data-unit);color:var(--gray);font-size:16px;font-weight:400}.plan-table td[data-label]:before{content:attr(data-label) " ";color:var(--gray);font-size:16px}.plan-table tfoot td:not([data-unit]),.plan-total-unit{display:none}.subject-tag strong,.plan-section strong,.ge-slot strong{font-size:18px}.plan-settings .plan-actions,.plan-settings .plan-actions button{width:100%}}@media print{@page{margin:14mm 12mm}body:has(.ed-plan){background:#fff;font-size:11pt}body:has(.ed-plan) .app-shell>:not(.workspace){display:none!important}body:has(.ed-plan) .workspace>:not(main){display:none!important}body:has(.ed-plan) main>:not(#course-plan):not(#plan-how):not(#sources){display:none!important}body:has(.ed-plan) .workspace{background:0 0;margin:0}body:has(.ed-plan) main{max-width:none;padding:0}body:has(.ed-plan) main .section{background:0 0;border:0;margin:0 0 18pt;padding:0}body:has(.ed-plan) .section-head{margin-bottom:10pt}body:has(.ed-plan) .section-head h2{font-size:16pt}#course-plan>.section-head,.plan-actions,.term-picks{display:none!important}body:has(.ed-plan) .section-head>svg{display:none!important}.ed-plan-print-head{border-bottom:1.5pt solid var(--ink);margin-bottom:16pt;padding-bottom:12pt;display:block}.ed-plan-print-head h1{letter-spacing:-.5px;margin:0 0 4pt;font-size:22pt}.ed-plan-print-head p{margin:0;font-size:12pt}.ed-plan-print-head .ed-plan-pathway{font-weight:650}.ed-plan-print-head dl{flex-wrap:wrap;gap:6pt 24pt;margin:10pt 0 0;font-size:10pt;display:flex}.ed-plan-print-head dt{color:var(--gray)}.ed-plan-print-head dd{margin:0;font-weight:600}.ed-plan .plan-term.is-collapsed .plan-table-scroll,.ed-plan .plan-group>.plan-terms{display:block}.ed-plan .plan-term-toggle,.ed-plan .plan-group-toggle{background:0 0!important;border:0!important;min-height:0!important;padding:0!important}.ed-plan .plan-term-toggle>svg,.ed-plan .plan-group-toggle>svg,.plan-settings{display:none!important}.ed-plan .phase{margin-top:14pt;padding-top:10pt}.ed-plan .phase-head{margin-bottom:10pt;font-size:11pt}.ed-plan .phase-kicker{padding:2pt 6pt;font-size:11pt}.ed-plan .phase-note,.ed-plan .plan-caveat,.ed-plan .plan-warning,#course-plan .lede{margin-bottom:8pt;font-size:9.5pt}.ed-plan .plan-terms{gap:12pt}.ed-plan .plan-term{break-inside:avoid}.ed-plan .plan-term-head{break-after:avoid;margin-bottom:4pt}.ed-plan .plan-term-toggle{margin:0!important;font-size:12pt!important}.ed-plan .plan-term-meta{font-size:10pt}.ed-plan .plan-table-scroll{border-radius:0;overflow:visible}.ed-plan .plan-table{min-width:0;font-size:9.5pt}.ed-plan .plan-table th,.ed-plan .plan-table td{padding:4pt 6pt}.ed-plan .plan-table thead th,.ed-plan .plan-table tfoot td:last-child,.ed-plan .plan-muted,.ed-plan .plan-count-note,.ed-plan .plan-prereqs,.ed-plan .subject-tag span,.ed-plan .plan-section{font-size:8.5pt}.ed-plan .ge-slot strong{font-size:9.5pt}.ed-plan .ge-slot a{font-size:8.5pt;text-decoration:none}.ed-plan .ge-slot,.ed-plan .subject-tag{border-left-width:3pt;padding:2pt 5pt}.ed-plan .subject-tag strong,.ed-plan .plan-section strong{font-size:9.5pt}#course-plan sup.ref{font-size:7pt}#course-plan sup.ref a{text-decoration:none}body:has(.ed-plan) .how-notes{gap:4pt;font-size:9pt}body:has(.ed-plan) .notes{margin-top:10pt;padding-top:8pt;font-size:9pt}body:has(.ed-plan) #sources .source-list{gap:4pt;font-size:8.5pt}body:has(.ed-plan) #sources a:after{content:" " attr(href);color:var(--gray)}}.opp-controls{margin:0 0 40px}.opp-controls .credit-filters{margin:0 0 16px}.opp-count{font-size:var(--text-small);color:var(--gray);font-variant-numeric:tabular-nums;font-weight:400}.section .credit-filters button[aria-pressed=true] .opp-count{color:var(--paper)}.opp-subfilters{border-left:2px solid var(--hair);padding-left:18px}.opp-fits{flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:24px;display:flex}.opp-switch{border:1px solid var(--ink);background:var(--paper);border-radius:13px;flex:0 0 44px;width:44px;height:26px;position:relative}.opp-switch:after{content:"";background:var(--ink);border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px}.section .opp-fits-toggle[aria-pressed=true] .opp-switch{background:var(--ink)}.section .opp-fits-toggle[aria-pressed=true] .opp-switch:after{background:var(--paper);transform:translate(18px)}.opp-fits-note,.opp-type{font-size:var(--text-small);color:var(--gray);flex:320px;margin:0}.opp-type{margin-top:16px}.section .opp-type button{min-height:44px;font-size:var(--text-small);background:0 0;border:0;padding:0;text-decoration:underline}.opp-controls .opp-time{margin:0}.opp-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.opp-card{border:1px solid var(--hair);border-radius:8px;flex-direction:column;gap:6px;min-width:0;padding:20px 22px;display:flex}.opp-title{letter-spacing:-.4px;overflow-wrap:anywhere;margin:0;font-size:22px;font-weight:650;line-height:1.3}.opp-title a{text-decoration:none}.opp-title a:hover{text-decoration:underline}.opp-when,.opp-where,.opp-reason,.opp-foot{font-size:var(--text-small);margin:0;line-height:1.45}.opp-when{font-weight:600}.opp-left{color:var(--gray);font-weight:500}.opp-left.urgent{color:var(--ink);font-weight:650}.opp-where,.opp-foot{color:var(--gray)}.opp-reason{color:var(--gray);-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;font-weight:400;display:-webkit-box;overflow:hidden}.opp-foot{overflow-wrap:anywhere;margin-top:auto;padding-top:6px}.opp-foot a{color:var(--ink);white-space:nowrap}.opp-card .entry-fit{align-self:flex-start;margin:2px 0}.opp-card .new-label{font-size:16px}.entry-fit{border:1px solid var(--ink);font-size:var(--text-small);border-radius:4px;margin:0 0 14px;padding:4px 10px;font-weight:600;display:inline-block}.entry-where{color:var(--gray);margin:8px 0 0;font-size:20px}.entry-checked{color:var(--gray)}@media (width<=700px){.opp-controls{margin-bottom:32px}.opp-controls .credit-filters{scroll-snap-type:x proximity;scrollbar-width:none;flex-wrap:nowrap;margin-right:-20px;padding-right:20px;overflow-x:auto}.opp-controls .credit-filters::-webkit-scrollbar{display:none}.section .opp-controls .credit-filters button{white-space:nowrap;scroll-snap-align:start;flex:none}.opp-subfilters{padding-left:12px}.opp-controls .opp-time{margin-right:0;padding-right:0;overflow:visible}.opp-cards{grid-template-columns:minmax(0,1fr);gap:12px}.opp-card{padding:16px}.opp-title{font-size:20px}}@media (prefers-reduced-motion:reduce){.opp-switch:after{transition:none}}.home-grid{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:start;gap:28px;margin-bottom:28px;display:grid}.home-grid>.section{margin:0}.home-grid>#this-week{grid-column:1/-1}.home-next{overflow-wrap:anywhere;margin:0 0 16px;font-size:24px;line-height:1.4}.home-next strong{font-weight:650}#this-week .opp-cards+.plan-note{margin-top:20px}.home-coming{flex-direction:column;gap:14px;margin:0;padding:0;font-size:20px;line-height:1.4;list-style:none;display:flex}.home-coming li{grid-template-columns:8.5em minmax(0,1fr);gap:12px;display:grid}.home-coming-date{font-variant-numeric:tabular-nums;font-weight:600}.home-pending{flex-direction:column;gap:12px;margin-top:20px;display:flex}.home-pending p{color:var(--gray);font-size:var(--text-small);margin:0}.home-path{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 24px;margin:0 0 20px;display:grid}.home-path dt{font-size:var(--text-small);color:var(--gray);line-height:1.4}.home-path dd{letter-spacing:-.8px;margin:6px 0 0;font-size:30px;font-weight:650;line-height:1.2}.home-empty{color:var(--gray);margin:0 0 12px;font-size:22px}.home-day{font-size:var(--text-small);color:var(--gray);margin:0 0 10px;font-weight:600}.home-day+.home-empty{margin-bottom:24px}.home-classes{flex-direction:column;gap:14px;margin:0 0 24px;padding:0;font-size:20px;line-height:1.4;list-style:none;display:flex}.home-classes li{flex-direction:column;gap:2px;display:flex}.home-classes strong{font-weight:650}.home-class-time{font-variant-numeric:tabular-nums;font-weight:600}.home-class-meta{color:var(--gray)}@media (width<=1100px){.home-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=700px){.home-grid{gap:20px;margin-bottom:20px}.home-path{grid-template-columns:repeat(2,minmax(0,1fr))}.home-next{font-size:22px}#this-week .opp-cards>.opp-card:nth-child(n+3){display:none}.home-coming{font-size:18px}.home-coming li{grid-template-columns:minmax(0,1fr);gap:2px}.home-path dd{font-size:26px}}.schedule-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.schedule-gap{margin-top:28px}.schedule-muted{color:var(--gray);font-weight:400}.schedule-source{color:var(--gray);font-size:var(--text-small);margin:28px 0 0;font-weight:400}.schedule-flag-summary{margin:0}table.confirm.schedule-confirm,table.confirm.schedule-confirm tbody,table.confirm.schedule-confirm caption{display:block}table.confirm.schedule-confirm thead{display:none}table.confirm.schedule-confirm tr{border-bottom:1px solid var(--hair);grid-template-columns:repeat(12,minmax(0,1fr)) auto;grid-template-areas:"course course course title title title title title title mode mode mode remove""days days days days days days start start start end end end.""term term units section location location professor professor professor professor crn crn.";gap:16px 14px;padding:24px 0;display:grid}table.paper.confirm.schedule-confirm td{border:0;flex-direction:column;min-width:0;padding:0;display:flex}table.confirm.schedule-confirm td[data-label]:before{content:attr(data-label);color:var(--gray);margin-bottom:7px;font-size:18px}table.confirm.schedule-confirm td:first-child{grid-area:course}table.confirm.schedule-confirm td:nth-child(2){grid-area:title}table.confirm.schedule-confirm td:nth-child(3){grid-area:term}table.confirm.schedule-confirm td:nth-child(4){grid-area:days}table.confirm.schedule-confirm td:nth-child(5){grid-area:start}table.confirm.schedule-confirm td:nth-child(6){grid-area:end}table.confirm.schedule-confirm td:nth-child(7){grid-area:mode;justify-content:flex-start}table.confirm.schedule-confirm td:nth-child(8){grid-area:location}table.confirm.schedule-confirm td:nth-child(9){grid-area:units}table.confirm.schedule-confirm td:nth-child(10){grid-area:section}table.confirm.schedule-confirm td:nth-child(11){grid-area:professor}table.confirm.schedule-confirm td:nth-child(12){grid-area:crn}table.confirm.schedule-confirm td:nth-child(13){grid-area:remove;justify-content:flex-end}table.confirm.schedule-confirm select{width:100%;min-height:50px;padding:8px;font-size:20px}table.confirm.schedule-confirm tr.flagged{border-left:3px solid var(--ink);padding-left:16px}.schedule-flag{font-size:var(--text-small);color:var(--gray);margin-top:8px;font-weight:500;line-height:1.35;display:block}.day-toggles{gap:4px;display:flex}.section .day-toggles button{border:1px solid var(--hair);min-width:44px;min-height:50px;padding:6px 4px;font-size:18px}.section .day-toggles button[aria-pressed=true],.section .day-toggles button[aria-pressed=true]:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.section .day-toggles button:disabled{opacity:.45}.section table.confirm input:disabled{background:var(--soft)}.schedule-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-bottom:28px;display:flex}.schedule-toolbar .credit-filters{margin:0}.section .schedule-term select{min-height:58px;padding:10px 14px;font-size:20px}.sched-week-nav{align-items:center;gap:18px;margin-bottom:24px;display:flex}.sched-week-nav h3{min-width:10ch;margin:0;font-size:26px;font-weight:650}.section .sched-week-nav button{min-width:58px;font-size:22px}.sched-week-grid{border-top:1px solid var(--hair);grid-template-columns:64px repeat(7,minmax(0,1fr));display:grid}.sched-week-hours{margin-top:48px;position:relative}.sched-week-hours span{color:var(--gray-num);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:15px;position:absolute;right:10px;transform:translateY(-50%)}.sched-week-day{border-left:1px solid var(--hair);min-width:0}.sched-week-day-head{height:48px;color:var(--gray);border-bottom:1px solid var(--hair);justify-content:center;align-items:center;gap:6px;font-size:18px;display:flex}.sched-week-day-head strong{color:var(--ink);font-weight:650}.sched-week-day-body{background-image:linear-gradient(var(--hair) 1px, transparent 1px);background-size:100% 64px;position:relative}.sched-week-free{background-color:var(--paper);background-image:radial-gradient(var(--hair) 1px, transparent 1.2px);background-size:10px 10px;border-radius:6px;justify-content:center;align-items:flex-start;display:flex;position:absolute;left:3px;right:3px;overflow:hidden}.sched-week-free span{color:var(--gray);background:var(--paper);border-radius:4px;margin-top:8px;padding:2px 6px;font-size:15px}.sched-week-class{z-index:1;border:1px solid var(--ink);background:var(--surface);border-radius:6px;flex-direction:column;gap:2px;min-width:0;padding:5px 6px;font-size:15px;line-height:1.3;display:flex;position:absolute;overflow:hidden}.sched-week-class strong{font-size:15px;font-weight:650}.sched-week-class span{color:var(--gray);font-size:14px}.sched-week-class.short span+span{display:none}.sched-week-class.online,.sched-week-class.hybrid{border-style:dashed}.sched-week-agenda{margin:0;padding:0;list-style:none;display:none}.sched-week-offgrid{font-size:var(--text-small);color:var(--gray);margin:24px 0 0;font-weight:400}.sched-week-offgrid strong{color:var(--ink);font-weight:600}.sched-terms{flex-direction:column;gap:28px;display:flex}.sched-term{flex-direction:column;gap:16px;display:flex}.sched-term-label{margin:0;font-size:26px;font-weight:650}.sched-term-label span{color:var(--gray);margin-left:14px;font-size:20px;font-weight:500}table.paper.schedule-list td{font-size:20px}table.paper.schedule-list .num{text-align:right;white-space:nowrap}.schedule-title{color:var(--gray);margin:4px 0 10px;font-weight:400;display:block}.schedule-line{display:block}table.paper.schedule-list td .schedule-muted{font-size:var(--text-small)}table.paper.schedule-list tfoot th,table.paper.schedule-list tfoot td{color:var(--ink);border-bottom:0;padding:14px 6px;font-size:20px;font-weight:650}@media (width<=1100px){.sched-week-class span{display:none}}@media (width<=700px){.sched-week-grid{display:none}.sched-week-agenda{flex-direction:column;gap:24px;display:flex}.sched-week-agenda h4{margin:0 0 10px;font-size:22px;font-weight:650}.sched-week-agenda ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.agenda-class{border:1px solid var(--ink);background:var(--surface);border-radius:8px;flex-direction:column;gap:2px;padding:12px 14px;font-size:20px;display:flex}.agenda-class strong{font-weight:650}.agenda-class span{color:var(--gray);font-size:var(--text-small)}.agenda-free{background-color:var(--paper);background-image:radial-gradient(var(--hair) 1px, transparent 1.2px);color:var(--gray);font-size:var(--text-small);background-size:10px 10px;border-radius:8px;padding:8px 14px}table.confirm.schedule-confirm tr{grid-template-columns:1fr 1fr auto;grid-template-areas:"course course remove""title title title""term mode mode""days days days""start end end""location units units""section professor professor""crn crn crn"}table.confirm.schedule-confirm td:nth-child(13){justify-content:flex-start}table.confirm.schedule-confirm tr.flagged{padding-left:12px}.section table.confirm.schedule-confirm input[type=time]{font-size:16px}.sched-week-nav h3{font-size:22px}.day-toggles{justify-content:space-between}.section .day-toggles button{flex:1 1 0;min-width:0;padding:6px 0}table.confirm.schedule-confirm select{font-size:18px}.sched-term-label span{font-size:var(--text-small);margin:4px 0 0;display:block}table.paper.schedule-list,table.paper.schedule-list tbody,table.paper.schedule-list tfoot{display:block}table.paper.schedule-list thead{display:none}table.paper.schedule-list tr{border-bottom:1px solid var(--hair);grid-template-columns:1fr auto;gap:8px 14px;padding:18px 0;display:grid}table.paper.schedule-list td{border:0;padding:0;font-size:20px}table.paper.schedule-list td:first-child{grid-column:1/-1}table.paper.schedule-list td[data-label=Meets],table.paper.schedule-list td[data-label=Location],table.paper.schedule-list td[data-label=Professor]{font-size:var(--text-small);grid-column:1}table.paper.schedule-list td[data-label=Units]{grid-area:2/2}table.paper.schedule-list td[data-label=Units]:after{content:" units";color:var(--gray);font-size:var(--text-small)}table.paper.schedule-list tfoot tr{border-bottom:0}table.paper.schedule-list tfoot th,table.paper.schedule-list tfoot td{padding:0}}.guide-cards{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;margin:0;padding:0;list-style:none;display:grid}.guide-card{border:1px solid var(--hair);border-radius:8px;flex-direction:column;min-width:0;padding:20px 22px;display:flex}.guide-title{letter-spacing:-.4px;margin:0 0 12px;font-size:22px;font-weight:650;line-height:1.3}.guide-items{margin:0;padding:0;list-style:none}.guide-items li{max-width:62ch;padding:14px 0;font-size:19px;font-weight:400;line-height:1.55}.guide-items li:first-child{padding-top:0}.guide-items li:last-child{padding-bottom:0}.guide-items li+li{border-top:1px solid var(--hair)}.guide-card .more-toggle{font-size:var(--text-small);align-self:flex-start;margin-top:8px}.guide-foot{border-top:1px solid var(--hair);font-size:var(--text-small);color:var(--gray);margin:12px 0 0;padding-top:12px}.guide-foot a{color:var(--ink)}@media (width<=700px){.guide-cards{grid-template-columns:minmax(0,1fr);gap:12px}.guide-card{padding:14px 16px}.guide-title{margin-bottom:8px;font-size:20px}.guide-items li{padding:10px 0;font-size:18px;line-height:1.5}.guide-card .more-toggle{margin-top:4px}.guide-foot{margin-top:8px;padding-top:8px}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f7f7f2;--surface:#fefefb;--ink:#20211f;--gray:#686a64;--gray-num:#777971;--hair:#dedfd7;--soft:#eeefe7;--accent:#20211f;--ok:#343a32;--check:#555447;--missing:#393936;--neutral:#5b5e58;--sans:Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;--serif:var(--sans);--text-body:24px;--text-label:20px;--text-small:18px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:500;line-height:1.55;font-size:var(--text-body);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-underline-offset:5px}a:hover{text-decoration-thickness:2px}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}:focus-visible{outline:3px solid var(--ink);outline-offset:5px}::selection{background:#dcded2}svg{flex-shrink:0}[hidden]{display:none!important}.muted{color:var(--gray)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:30;background:var(--ink);color:var(--paper);border-radius:8px;padding:12px 20px;position:fixed;top:12px;left:20px}.skip-link:not(:focus-visible){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;overflow:hidden}.label{font-size:var(--text-label);font-weight:600}.meta{font-size:var(--text-small);color:var(--gray);font-weight:500}.app-shell{min-height:100dvh}.sidebar{border-right:1px solid var(--hair);background:var(--paper);z-index:10;flex-direction:column;width:292px;padding:38px 24px 28px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:14px;text-decoration:none;display:flex}.brand-logo{object-fit:contain;width:58px;height:66px}.brand-text{flex-direction:column;gap:2px;display:flex}.wordmark{letter-spacing:-1.5px;font-size:32px;font-weight:700;line-height:1.15}.brand-tagline{color:var(--gray);font-size:20px;font-weight:500;line-height:1.4}.nav{flex-direction:column;gap:10px;margin-top:68px;display:flex}.nav a{min-height:62px;color:var(--gray);border-radius:8px;align-items:center;gap:14px;padding:14px;font-size:22px;font-weight:600;text-decoration:none;display:flex}.nav a:hover{background:var(--soft);color:var(--ink)}.nav a[aria-current=page]{background:var(--ink);color:var(--paper)}.sidebar-bottom{margin-top:auto;padding-top:40px}.profile-link{border-top:1px solid var(--hair);align-items:center;gap:12px;padding:22px 0 0;text-decoration:none;display:flex}.avatar{background:var(--soft);border:1px solid var(--hair);border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:22px;display:grid}.profile-link>span:nth-child(2){flex:1;min-width:0}.profile-link strong{text-overflow:ellipsis;white-space:nowrap;font-size:20px;font-weight:600;display:block;overflow:hidden}.workspace{background-image:radial-gradient(#d9dbd1 .8px,#0000 .8px);background-size:24px 24px;flex-direction:column;min-height:100dvh;margin-left:292px;display:flex}main{--gutter:40px;width:100%;max-width:calc(1120px + 2 * var(--gutter));padding:0 var(--gutter) 64px;flex:1;min-width:0}main.page-form{max-width:calc(720px + 2 * var(--gutter))}main:focus{outline:none}.status-banner{border-bottom:1px solid var(--hair);background:var(--soft);margin:0;padding:18px 32px;font-size:20px}.masthead{justify-content:space-between;align-items:center;gap:24px;padding:18px 0 14px;display:flex}.masthead-copy{min-width:0}h1{letter-spacing:-1.6px;overflow-wrap:break-word;margin:0;font-size:clamp(36px,3.2vw,44px);font-weight:700;line-height:1.1}h1 em{font-style:normal}.byline{color:var(--gray);margin-top:6px;font-size:20px;line-height:1.45}.study-sketch{flex:none;width:124px;height:96px}.section{background:var(--surface);border:1px solid var(--hair);border-radius:12px;margin-bottom:28px;padding:32px}.section-head{align-items:center;gap:12px;margin-bottom:28px;display:flex}.section-head>svg{width:26px;height:26px}.section-head h2{letter-spacing:-.9px;margin:0;font-size:32px;font-weight:650;line-height:1.25}.section-main{min-width:0}.notes{border-top:1px solid var(--hair);color:var(--gray);font-size:var(--text-small);flex-direction:column;gap:18px;margin-top:28px;padding-top:22px;font-weight:400;display:flex}.notes:empty{display:none}.notes p{margin:0}.notes strong{color:var(--ink);font-weight:600}.notes a{-webkit-text-decoration-color:var(--hair);text-decoration-color:var(--hair)}[id]{scroll-margin-top:28px}.source-list{font-size:var(--text-small);color:var(--gray);overflow-wrap:anywhere;flex-direction:column;gap:18px;font-weight:400;display:flex}.source-list p{margin:0}.section.sources{padding-top:20px;padding-bottom:20px}.sources .section-head{cursor:pointer;min-height:44px;margin:0;list-style:none}.sources .section-head::-webkit-details-marker{display:none}.sources .section-head>svg:last-child{width:20px;height:20px;margin-left:auto;transition:transform .15s;transform:rotate(90deg)}.sources-details[open]>.section-head{margin-bottom:24px}.sources-details[open]>.section-head>svg:last-child{transform:rotate(-90deg)}.source-list [id]:target{background:var(--soft);outline:8px solid var(--soft)}.section button.fold-toggle{border:1px solid var(--hair);background:var(--surface);text-align:left;border-radius:8px;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:6px 14px;width:100%;min-height:64px;padding:14px 52px 14px 18px;font-size:20px;font-weight:600;display:flex;position:relative}.fold-toggle>svg:last-child{transition:transform .15s;position:absolute;top:50%;right:18px;transform:translateY(-50%)rotate(90deg)}.fold-toggle[aria-expanded=true]>svg:last-child{transform:translateY(-50%)rotate(-90deg)}.fold-meta{color:var(--gray);font-size:var(--text-small);font-weight:400}.fold>.credit-list{margin-top:24px}.section button.more-toggle{text-underline-offset:5px;background:0 0;border:0;min-height:44px;margin-top:12px;padding:6px 0;font-size:20px;font-weight:600;text-decoration:underline}.section button.more-toggle:hover:not(:disabled){background:0 0;text-decoration-thickness:2px}.plan-side-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:0 28px;display:grid}.plan-side-grid .progress-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-side-grid .progress-stats dd{font-size:44px}@media (width>=1101px){.section .credit-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.section .credit-list>.fold,.section .credit-list>.lede{grid-column:1/-1}.credit-card .credit-details{grid-template-columns:minmax(0,1fr);gap:14px}}.plan-glance{flex-wrap:wrap;gap:16px 48px;margin:0 0 8px;display:flex}.plan-glance dt{font-size:var(--text-small);color:var(--gray)}.plan-glance dd{letter-spacing:-.8px;margin:4px 0 0;font-size:30px;font-weight:650;line-height:1.2}.lede{letter-spacing:-.5px;margin:0;font-size:28px;line-height:1.5}.lede-sub{color:var(--gray);font-size:var(--text-body);margin:18px 0 0}sup.ref{margin-left:5px;font-size:18px;font-weight:500}sup.ref a{padding:3px}figure{margin:0}figcaption{font-size:var(--text-small);color:var(--gray);margin-top:18px;font-weight:400}.fig{font-style:normal}.inline-link{align-items:center;gap:10px;min-height:44px;font-size:20px;font-weight:600;text-decoration:none;display:inline-flex}.inline-link:hover{text-decoration:underline}.progress-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:0 0 28px;display:grid}.progress-stats dt{color:var(--gray);font-size:var(--text-small);font-weight:500;line-height:1.4}.progress-stats dd{letter-spacing:-2px;margin:8px 0 0;font-size:56px;font-weight:650;line-height:1.2}.progress-track{background:var(--soft);border-radius:8px;height:8px;margin-bottom:16px;overflow:hidden}.progress-track>span{background:var(--ink);border-radius:8px;height:100%;display:block}.progress-caption{color:var(--gray);margin:0;font-size:20px}.milestones{border-top:1px solid var(--hair);grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:28px 0 0;padding-top:24px;display:grid}.milestones dt{font-size:var(--text-small);color:var(--gray)}.milestones dd{letter-spacing:-.8px;margin:7px 0 0;font-size:32px;font-weight:650}.major-comparison{border-top:1px solid var(--hair);color:var(--gray);margin:24px 0 16px;padding-top:16px;font-size:20px;font-weight:400}.major-comparison p{margin:8px 0}.major-comparison strong{color:var(--ink);font-weight:600}.plan-note{font-size:var(--text-small);color:var(--gray);margin:24px 0 12px;font-weight:400}.attention-list{margin:0 0 16px;padding:0;list-style:none}.attention-list li{border-top:1px solid var(--hair);padding:20px 0}.attention-list li:first-child{border-top:0;padding-top:0}.attention-list strong{font-size:26px;font-weight:650}.attention-list p{color:var(--gray);margin:8px 0 12px;font-size:22px;font-weight:400}.status{border:1px solid var(--hair);border-radius:5px;align-items:center;gap:6px;padding:6px 12px;font-size:18px;font-weight:600;line-height:1.4;display:inline-flex}.status>svg{width:18px;height:18px}.status.ok{background:var(--soft);border-color:var(--soft)}.status.check{border-style:dashed}.status.missing{color:var(--gray)}.status.neutral{background:var(--paper)}.credit-filters{flex-wrap:wrap;gap:10px;margin:28px 0;display:flex}.section .credit-filters button[aria-pressed=true],.section .credit-filters button[aria-pressed=true]:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.credit-list{flex-direction:column;gap:24px;display:flex}.credit-card{border:1px solid var(--hair);border-radius:8px;padding:22px 24px}.credit-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.credit-context{font-size:var(--text-small);color:var(--gray);margin:0 0 6px}.credit-heading h3{letter-spacing:-.8px;margin:0;font-size:26px;font-weight:650;line-height:1.2}.credit-title{margin:4px 0 0;font-size:20px;font-weight:500}.credit-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:16px 0;display:grid}.credit-details dt{font-size:var(--text-small);color:var(--gray);margin-bottom:8px}.credit-details dd{margin:0;font-size:20px}.credit-details dd span{margin-top:6px;display:block}.credit-details dd span+span{color:var(--gray);font-size:20px}.credit-options{margin:18px 0;font-size:20px}.credit-options summary{cursor:pointer}.credit-options p{color:var(--gray);font-weight:400}.credit-next{background:var(--paper);border-left:2px solid var(--ink);border-radius:0 6px 6px 0;margin:16px 0;padding:14px 16px;font-size:20px}.credit-next strong{font-weight:650}.credit-actions{border-top:1px solid var(--hair);flex-wrap:wrap;align-items:center;gap:6px 14px;padding-top:14px;font-size:18px;display:flex}.credit-actions>.inline-link{margin-left:auto;font-size:18px}.missed h2{margin:0 0 16px;font-size:28px;font-weight:650}.missed ul{margin:0;padding:0;list-style:none}.missed li{padding:18px 0;font-size:22px;font-weight:400}.missed li+li{border-top:1px solid var(--hair)}.goal{margin:0;font-size:28px;font-weight:600}.goal-levers{color:var(--gray);margin:18px 0 0;padding-left:24px;font-size:20px;font-weight:400}.goal-levers li+li{margin-top:12px}.plan-caveat,.plan-warning{color:var(--gray);font-size:var(--text-small);margin:0 0 28px;font-weight:400}.plan-warning{border-left:2px solid var(--ink);background:var(--paper);margin-top:24px;padding:18px}.term-picks{flex-wrap:wrap;gap:24px;display:flex}.term-pick{flex-direction:column;flex:250px;gap:10px;min-width:0;display:flex}.term-pick label{font-size:20px;font-weight:600}.phase{border-top:1px solid var(--hair);margin-top:32px;padding-top:28px}.phase-head{color:var(--gray);margin:0 0 28px;font-size:20px;font-weight:500}.phase-kicker{background:var(--soft);color:var(--ink);border-radius:4px;margin-right:8px;padding:6px 12px;font-size:20px;font-weight:600;display:inline-block}.phase-note{font-size:var(--text-small);color:var(--gray);margin:24px 0 0;font-weight:400}.section input,.section select,.section textarea{color:var(--ink);background:var(--surface);border:1px solid var(--hair);border-radius:8px;width:100%;min-width:0;padding:0 18px;font-size:22px;font-weight:500}.section input,.section select{min-height:60px}.section textarea{resize:vertical;padding:15px 18px}.section input::placeholder,.section textarea::placeholder{color:var(--gray);font-weight:400}.section input[type=checkbox]{width:22px;height:22px;min-height:22px;accent-color:var(--ink);flex:none;margin:0}.section input[type=file]{background:var(--paper);border-style:dashed;min-height:0;padding:28px;font-size:20px}.section input[type=file]::file-selector-button{font:inherit;border:1px solid var(--hair);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:6px;margin-right:14px;padding:12px}.section button,.button{border:1px solid var(--hair);background:var(--surface);min-height:58px;color:var(--ink);border-radius:8px;justify-content:center;align-items:center;gap:12px;padding:14px 22px;font-size:20px;font-weight:600;line-height:1.4;text-decoration:none;display:inline-flex}.section button:hover:not(:disabled),.button:hover{background:var(--soft)}.section button.primary,.button.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.section button.primary:hover:not(:disabled),.button.primary:hover{background:#3c3e38}.section button.text{text-underline-offset:5px;background:0 0;border:0;min-height:48px;padding:8px 0;font-weight:500;text-decoration:underline}.actions{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.form{flex-direction:column;gap:30px;display:flex}.field{border:0;flex-direction:column;gap:12px;min-width:0;margin:0;padding:0;display:flex}.field>.label,.field>legend{padding:0;font-size:22px;font-weight:600}.field>legend{margin-bottom:12px}.field-hint{font-size:var(--text-small);color:var(--gray);font-weight:400}.choices{flex-direction:column;display:flex}.choices.scroll{border:1px solid var(--hair);border-radius:8px;max-height:260px;padding:6px;overflow-y:auto}.choice{cursor:pointer;border-radius:6px;flex-shrink:0;align-items:center;gap:14px;min-height:56px;padding:12px;font-size:20px;display:flex}.choice:hover{background:var(--soft)}.choice:has(input:checked){background:var(--soft)}.chips{flex-wrap:wrap;gap:10px;display:flex}.section .chip{background:var(--soft);text-align:left;min-height:46px;padding:10px 12px;font-size:18px}.route-pickers{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;display:grid}.picker-current{flex-wrap:wrap;align-items:baseline;gap:6px 16px;font-size:22px;font-weight:500;display:flex}.picker-name{min-width:0}.picker-tag{font-size:var(--text-small);border:1px solid var(--hair);background:var(--soft);white-space:nowrap;border-radius:6px;padding:2px 8px;font-weight:600}.picker-list{margin:0;list-style:none}.section button.picker-option{text-align:left;background:0 0;border:0;border-radius:6px;justify-content:space-between;gap:12px;width:100%;min-height:56px;padding:12px;font-size:20px;font-weight:400;display:flex}.section button.picker-option:hover:not(:disabled),.picker-list>li[aria-selected=true] .picker-option{background:var(--soft)}.picker-list>li[aria-selected=true] .picker-option{font-weight:600}.picker-empty{padding:12px;font-size:20px}.section button.picker-cancel{text-align:left;justify-content:flex-start;align-self:flex-start}.steps{border-bottom:1px solid var(--hair);color:var(--gray);gap:18px;margin:0 0 32px;padding:0 0 28px;font-size:20px;list-style:none;display:flex}.steps li{flex:1;align-items:center;gap:10px;display:flex}.step-number{border:1px solid var(--hair);border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:18px;display:grid}.steps [aria-current=step]{color:var(--ink);font-weight:650}.steps [aria-current=step] .step-number,.steps .done .step-number{background:var(--ink);color:var(--paper);border-color:var(--ink)}.intake .masthead{gap:24px}.intake .study-sketch{width:124px;height:96px}.table-scroll{max-width:100%;overflow-x:auto}table.paper{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:20px}table.paper caption{text-align:left;color:var(--gray);padding-bottom:20px;font-size:20px}table.paper th{text-align:left;color:var(--gray);padding:12px 6px;font-size:18px;font-weight:600}table.paper td{border-bottom:1px solid var(--hair);vertical-align:top;padding:12px 6px}table.confirm input{width:100%;min-height:50px;padding:8px;font-size:20px}table.confirm textarea{resize:vertical;width:100%;min-height:50px;padding:8px;font-size:20px;display:block}table.confirm .w-xs{width:6rem}table.confirm .w-sm{width:9rem}table.confirm button{border:0;min-height:50px;padding:8px}.ask{flex-direction:column;gap:20px;display:flex}.ask label{letter-spacing:-.7px;font-size:32px;font-weight:650}.ask-row{flex-wrap:wrap;gap:14px;display:flex}.ask-row input{flex:320px}.ask p{font-size:var(--text-small);color:var(--gray);margin:0;font-weight:400}.error{border-left:3px solid var(--ink);background:var(--soft);margin:0;padding:18px;font-size:20px}.state{flex-direction:column;gap:20px;padding:20px 0;display:flex}.state h3{letter-spacing:-.8px;margin:0;font-size:32px;font-weight:650}.state p{color:var(--gray);margin:0;font-size:22px;font-weight:400}.loading-head{justify-content:space-between;align-items:baseline;gap:20px;display:flex}.elapsed{font-size:20px}.loading-bar{background:var(--hair);height:3px;overflow:hidden}.loading-bar:after{content:"";background:var(--ink);width:30%;height:3px;animation:1.6s ease-in-out infinite slide;display:block}.skeleton{border-top:1px solid var(--hair);flex-direction:column;gap:18px;padding:28px 0;display:flex}.skeleton-line{background:var(--soft);border-radius:4px;height:18px;animation:1.6s ease-in-out infinite pulse;display:block}.w-30{width:30%}.w-60{width:60%}.w-75{width:75%}.w-90{width:90%}.entries{margin:0;padding:0;list-style:none}.entry{border-top:1px solid var(--hair);flex-wrap:wrap;align-items:flex-start;gap:24px;padding:32px 0;display:flex}.entry:first-child{border-top:0;padding-top:0}.entry:last-child{padding-bottom:0}.entry-lead{text-align:center;flex:0 0 64px;width:64px}.entry-big{background:var(--paper);border:1px solid var(--hair);font-variant-numeric:tabular-nums;border-radius:8px;padding:8px 0;font-size:32px;font-weight:650}.entry-lead .label{margin-top:8px;font-size:18px;display:block}.entry-body{flex:1;min-width:0}.entry h3{letter-spacing:-.8px;overflow-wrap:anywhere;margin:10px 0 14px;font-size:32px;font-weight:650;line-height:1.25}.entry h3 a{text-decoration:none}.entry h3 a:hover{text-decoration:underline}.entry-reason{color:var(--gray);margin:0;font-size:22px;font-weight:400}.entry-when{margin:18px 0 0;font-size:20px}.entry-source{min-height:44px;margin-left:88px;font-size:20px}.new-label{background:var(--ink);color:var(--paper);vertical-align:middle;border-radius:4px;margin-left:10px;padding:2px 8px;font-size:18px;display:inline-flex}.week{margin:0;padding:0;list-style:none}.week li{border-top:1px solid var(--hair);flex-direction:column;gap:10px;padding:24px 0;display:flex}.week li:first-child{border-top:0;padding-top:0}.week-when{color:var(--gray);font-size:20px}.week-body{min-width:0}.week-title{font-size:24px;font-weight:600;text-decoration:none}.week-body .meta{margin-top:10px}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(340%)}}@keyframes pulse{50%{opacity:.45}}@media (width<=1100px){.plan-side-grid{grid-template-columns:minmax(0,1fr)}.sidebar{border-right:0;border-bottom:1px solid var(--hair);flex-flow:wrap;align-items:center;gap:20px;width:100%;padding:24px 28px;position:static}.brand{flex:1}.brand-logo{width:46px;height:54px}.nav{flex-direction:row;order:3;gap:8px;width:100%;margin:12px 0 0}.nav a{text-align:center;flex-direction:column;flex:1;justify-content:center;gap:8px;min-width:0;padding:14px 8px;font-size:20px}.sidebar-bottom{margin:0;padding:0}.profile-link{border:0;padding:0}.profile-link>span:nth-child(2),.profile-link>svg{display:none}.workspace{margin-left:0}main{--gutter:32px}}@media (width<=700px){.route-pickers{grid-template-columns:1fr}.picker-current{font-size:20px}.section button.picker-option{padding:12px 8px;font-size:18px}:root{--text-body:20px}main{--gutter:20px;padding-bottom:40px}.sidebar{gap:16px;padding:22px 20px 16px}.brand{gap:12px}.brand-logo{width:44px;height:50px}.wordmark{letter-spacing:-1.2px;font-size:30px}.brand-tagline{font-size:18px}.avatar{width:40px;height:40px;font-size:20px}.nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:6px;display:grid}.nav a{white-space:nowrap;flex-direction:row;justify-content:flex-start;gap:8px;min-height:54px;padding:12px 6px;font-size:18px}.nav a svg{width:20px;height:20px}.masthead{align-items:center;gap:12px;padding:16px 0 12px}h1{letter-spacing:-1.2px;font-size:clamp(30px,8.5vw,34px)}.byline{margin-top:4px;font-size:18px}.study-sketch,.intake .study-sketch{width:93px;height:72px}.intake .masthead{gap:10px}.section{border-radius:10px;margin-bottom:20px;padding:24px 20px}.section-head{gap:10px;margin-bottom:24px}.section-head h2{letter-spacing:-.8px;font-size:28px}.section-head>svg{width:24px;height:24px}.lede{font-size:24px}.progress-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.progress-stats dd{font-size:48px}.milestones{grid-template-columns:1fr}.milestones dd{font-size:30px}.plan-glance{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;display:grid}.plan-glance dd{font-size:24px}.section button.fold-toggle{padding:12px 44px 12px 14px;font-size:18px}.fold-toggle>svg:last-child{right:14px}.term-pick label{font-size:20px}.phase-kicker{width:fit-content;margin-bottom:8px;font-size:18px;display:block}.phase-head{font-size:18px}.credit-card{padding:20px 16px}.credit-heading{gap:16px}.credit-heading h3{font-size:22px}.credit-details{grid-template-columns:1fr;gap:12px;margin:12px 0}.credit-title,.credit-details dd,.credit-next{font-size:18px}.credit-list{gap:16px}.credit-actions>.inline-link{margin-left:0}.section .credit-filters button{min-height:48px;padding:10px 14px;font-size:18px}.goal{font-size:24px}.goal-levers,.missed li{font-size:20px}.attention-list strong{font-size:24px}.attention-list p{font-size:20px}.steps{gap:10px;font-size:18px}.steps li{flex:0;gap:8px}.steps li[aria-current=step]{flex:1}.steps li:not([aria-current=step]) .step-label{display:none}.step-number{width:32px;height:32px}.field>.label,.field>legend{font-size:20px}.section input,.section select,.section textarea{padding-left:14px;padding-right:14px;font-size:20px}.section input[type=file]{padding:20px 14px;font-size:18px}.section input[type=file]::file-selector-button{margin-bottom:14px;display:block}.choice{padding:12px 8px;font-size:18px}.section button,.button{padding:14px 18px;font-size:20px}.ask label{font-size:28px}.ask-row input{flex-basis:100%}.entry{gap:16px}.entry-lead{flex-basis:48px;width:48px}.entry-big,.entry h3{font-size:28px}.entry-body .meta{font-size:18px}.entry-reason{font-size:20px}.entry-when{font-size:18px}.entry-source{margin-left:64px;font-size:18px}.entry-lead .label{overflow-wrap:anywhere;font-size:18px}.week-title{font-size:24px}.week-when{font-size:18px}table.confirm,table.confirm tbody{display:block}table.confirm caption{font-size:18px;display:block}table.confirm thead{display:none}table.confirm tr{border-bottom:1px solid var(--hair);grid-template-columns:1fr 1fr 1fr auto;grid-template-areas:"prefix number units remove""title title title title""grade term term term";gap:14px 10px;padding:24px 0;display:grid}table.paper.confirm td{border:0;flex-direction:column;min-width:0;padding:0;display:flex}table.confirm td[data-label]:before{content:attr(data-label);color:var(--gray);margin-bottom:7px;font-size:18px}table.confirm td:first-child{grid-area:prefix}table.confirm td:nth-child(2){grid-area:number}table.confirm td:nth-child(3){grid-area:title}table.confirm td:nth-child(4){grid-area:units}table.confirm td:nth-child(5){grid-area:grade}table.confirm td:nth-child(6){grid-area:term}table.confirm td:nth-child(7){grid-area:remove;justify-content:flex-end}.section table.confirm input,.section table.confirm textarea{padding:7px 4px;font-size:18px}}@media (width<=370px){main{--gutter:14px}.sidebar{padding-left:14px;padding-right:14px}.nav a{text-align:center;flex-direction:column;gap:6px;padding:12px 4px}.section{padding-left:16px;padding-right:16px}.intake .study-sketch,.study-sketch{width:78px;height:60px}h1{font-size:30px}.credit-card{padding-left:14px;padding-right:14px}.entry-lead{text-align:left;flex-basis:100%;align-items:center;gap:12px;display:flex}.entry-big{padding:6px 12px}.entry-body{flex-basis:100%}.entry-source{margin-left:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
