@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap";:root{--red:#ce0019;--red-dark:#940014;--red-wash:#fff7f8;--ink:#17191e;--muted:#6c727c;--line:#e6e4e1;--line-strong:#d8d4cf;--surface:#fbfbfa;--surface-warm:#f7f6f4;--white:#fff;--focus:0 0 0 3px #ce00191f}*{box-sizing:border-box}html{background:var(--white);min-width:320px;color:var(--ink);letter-spacing:0;font-family:DM Sans,Arial,sans-serif}body{background:var(--white);-webkit-font-smoothing:antialiased;min-width:320px;margin:0}button,input,textarea{font:inherit}a{color:inherit}button{border:1px solid var(--line);background:var(--white);min-height:38px;color:var(--ink);cursor:pointer;border-radius:6px;transition:border-color .15s,background .15s,color .15s}button:hover:not(:disabled){background:var(--surface);border-color:#c8c4bf}button:disabled{cursor:not-allowed;opacity:.48}input,textarea{border:1px solid var(--line-strong);background:var(--white);width:100%;color:var(--ink);border-radius:6px;outline:none;transition:border-color .15s,box-shadow .15s}input{min-height:44px;padding:0 13px}textarea{resize:vertical;min-height:160px;padding:14px;line-height:1.5}input:focus,textarea:focus,button:focus-visible{border-color:var(--red);box-shadow:var(--focus);outline:none}.app-header{z-index:50;border-bottom:1px solid var(--line);background:#fffffffa;justify-content:space-between;align-items:center;gap:18px;min-height:62px;padding:0 clamp(18px,2.4vw,38px);display:flex;position:relative}.brand-button{min-height:auto;color:var(--red);border:0;border-radius:0;padding:0;font-size:clamp(21px,2vw,28px);font-weight:800;line-height:1}.brand-button:hover:not(:disabled){background:0 0;border-color:#0000}.header-context{color:var(--ink);align-items:center;gap:12px;font-size:.9rem;font-weight:600;display:flex}.header-context button,.tool-nav button,.option-head button,.detail-head>button{min-height:34px;color:var(--red);border-color:#0000;padding:0 11px;font-weight:700}main{width:100%;margin:0}.eyebrow,.step-label{color:var(--red-dark);text-transform:uppercase;margin:0;font-size:.68rem;font-weight:800}.error-strip{border-top:1px solid var(--red);border-bottom:1px solid var(--line);gap:6px;margin:18px clamp(18px,3vw,44px) 0;padding:14px 0;display:grid}.error-strip strong,.error-strip code{color:var(--red-dark)}.access-screen{align-content:center;justify-items:start;gap:22px;width:min(680px,100% - 36px);min-height:calc(100vh - 63px);margin:0 auto;padding:48px 0 72px;animation:.22s both page-in;display:grid}.access-copy{gap:10px;display:grid}.access-screen h1{max-width:620px;margin:0;font-size:clamp(34px,5.2vw,58px);line-height:1.02}.access-screen p:not(.eyebrow){max-width:570px;color:var(--muted);margin:0;font-size:1rem;line-height:1.55}.access-screen>small{color:var(--muted);font-size:.78rem}.google-signin{border:1px solid var(--line-strong);background:var(--white);min-height:48px;color:var(--ink);border-radius:6px;justify-content:center;align-items:center;padding:0 20px;font-weight:700;text-decoration:none;transition:border-color .15s,background .15s,box-shadow .15s;display:inline-flex}.google-signin:hover,.google-signin:focus-visible{border-color:var(--red);background:var(--red-wash)}.google-signin:focus-visible{box-shadow:var(--focus);outline:none}.access-loading{gap:8px}.access-loading h1{font-size:clamp(26px,4vw,42px)}.access-identity{background:var(--surface-warm);border-radius:6px;gap:4px;width:min(440px,100%);padding:14px 16px;display:grid}.access-identity strong{overflow-wrap:anywhere}.access-identity span{color:var(--muted);font-size:.82rem}.access-actions{flex-wrap:wrap;gap:8px;display:flex}.access-actions .primary-action{width:auto}.error-strip span,.error-strip small{color:var(--muted)}.error-strip code{overflow-wrap:anywhere;white-space:pre-wrap;font-family:DM Sans,Arial,sans-serif}.entry-screen{gap:34px;width:min(760px,100% - 36px);margin:0 auto;padding:clamp(40px,7vh,68px) 0 48px;animation:.22s both page-in;display:grid}.entry-copy{gap:10px;display:grid}.entry-copy h1,.section-title h1,.manual-copy h1{color:var(--ink);margin:0;font-size:clamp(30px,4vw,48px);line-height:1.04}.entry-copy p:not(.eyebrow),.manual-copy p:not(.eyebrow),.empty-state p{max-width:580px;color:var(--muted);margin:0;font-size:.98rem;line-height:1.55}.entry-flow,.entry-actions,.choice-panel,.mode-section{gap:14px;display:grid}.choice-panel,.mode-section{padding:0}.mode-section{margin-top:12px}.flow-heading{justify-content:space-between;align-items:center;min-height:20px;display:flex}.flow-heading span{color:var(--muted);font-size:.82rem;font-weight:600}.flow-heading h2{margin:0;font-size:.94rem}.choice-row,.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.career-choice,.mode-row{background:var(--surface-warm);text-align:left;border-color:#0000;min-height:74px;padding:14px 16px}.career-choice{align-content:center;gap:4px;display:grid}.career-choice strong,.mode-row strong{font-size:.98rem}.career-choice span,.mode-row small,.selected-course small,.option-button small{color:var(--muted)}.career-choice.active,.career-choice.active:hover,.pill.active{border-color:var(--red);background:var(--white);color:var(--red)}.mode-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.mode-row span{gap:4px;display:grid}.mode-row b{color:var(--red);font-size:.86rem}.mode-row.primary-mode{background:var(--red-wash)}.status-text{color:var(--muted);margin:0;font-size:.9rem}.tool-screen{min-height:calc(100vh - 62px);animation:.18s both page-in}.tool-nav{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:62px;padding:10px clamp(18px,2.2vw,34px);display:flex}.tool-nav>div:first-child{align-items:baseline;gap:12px;display:flex}.tool-nav h2{margin:0;font-size:1.18rem}.tool-nav p{color:var(--muted);margin:0;font-size:.82rem}.auto-flow{grid-template-columns:320px minmax(0,1fr);min-height:calc(100vh - 62px);display:grid}.planner-panel{z-index:10;border-right:1px solid var(--line);background:var(--white);scrollbar-gutter:stable;align-content:start;gap:18px;min-width:0;max-height:calc(100vh - 62px);padding:22px 20px;display:grid;position:relative;overflow-y:auto}.section-title{gap:5px;display:grid}.section-title h1,.manual-copy h1{font-size:1.4rem;line-height:1.15}.section-title p{color:var(--muted);margin:0;font-size:.78rem}.plain-section,.picker-section{min-width:0}.field-label{color:var(--muted);margin-bottom:7px;font-size:.76rem;font-weight:600;line-height:1.3;display:block}.combo,.custom-select{position:relative}.combo-menu,.select-menu{z-index:70;border:1px solid var(--line-strong);background:var(--white);scrollbar-gutter:stable;border-radius:6px;max-height:min(420px,100vh - 210px);animation:.14s both menu-in;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 28px #14171d1a}.select-menu button{border:0;border-bottom:1px solid var(--line);text-align:left;border-radius:0;width:100%;min-height:50px;padding:9px 12px;display:grid}.select-menu button:last-child{border-bottom:0}.select-menu button:hover{background:var(--surface-warm)}.combo-menu p{color:var(--muted);margin:0;padding:14px}.combo-option{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:9px 10px 9px 12px;display:grid}.combo-option:last-child{border-bottom:0}.combo-option>span:first-child{gap:2px;min-width:0;display:grid}.combo-option strong{overflow-wrap:anywhere;font-size:.78rem;line-height:1.25}.combo-option small{color:var(--muted);font-size:.68rem}.combo-actions{gap:4px;display:flex}.combo-actions button{background:var(--surface-warm);min-height:30px;color:var(--muted);border-color:#0000;padding:0 8px;font-size:.68rem;font-weight:700}.combo-actions button:first-child{background:var(--red-wash);color:var(--red)}.selected-course{gap:2px;min-height:36px;padding-top:8px;font-size:.84rem;display:grid}.action-row,.pill-row{flex-wrap:wrap;gap:7px;display:flex}.action-row button,.pill{min-height:36px;padding:0 11px;font-size:.8rem;font-weight:700}.action-row button:first-child,.primary-action{border-color:var(--red);background:var(--red);color:var(--white)}.action-row button:first-child:hover:not(:disabled),.primary-action:hover:not(:disabled){border-color:var(--red-dark);background:var(--red-dark)}.selection-summary{background:var(--surface-warm);color:var(--muted);border-radius:6px;gap:3px;padding:12px;font-size:.84rem;display:grid}.selection-summary strong{color:var(--ink)}.compact-stack{gap:16px;display:grid}.tag-block{gap:8px;display:grid}.tag-block+.tag-block{padding-top:2px}.tag-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.tag-heading h3{margin:0;font-size:.92rem}.tag-heading span{color:var(--muted);font-size:.74rem}.tag-list{gap:2px;display:grid}.tag-list.empty{border:0}.tag-list.empty p{color:var(--muted);margin:0}.course-row{background:var(--surface);border-radius:5px;grid-template-columns:5px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:48px;padding:8px 9px;display:grid}.course-swatch{background:var(--course-accent);border-radius:3px;align-self:stretch}.course-row strong{overflow-wrap:anywhere;min-width:0;font-size:.78rem;line-height:1.25}.course-row button{min-height:28px;color:var(--red);border:0;padding:0 4px;font-size:.7rem;font-weight:700}.preferences-panel{gap:11px;padding-top:2px;display:grid}.preference-toggle{text-align:left;border:0;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:40px;padding:0;display:flex}.preference-toggle:hover:not(:disabled){background:0 0}.preference-toggle span{gap:2px;display:grid}.preference-toggle strong{font-size:.88rem}.preference-toggle small{color:var(--muted);font-size:.74rem}.preference-toggle b{color:var(--red);font-size:.76rem}.prof-list{gap:8px;display:grid}.prof-item{border-top:1px solid #e6e4e1b3;gap:7px;padding-top:10px;display:grid}.prof-item>strong{font-size:.78rem}.custom-select>button{text-align:left;width:100%;padding:0 10px;font-size:.78rem}.primary-action{width:100%;min-height:44px;padding:0 16px;font-weight:800}.results-stage{background:var(--white);min-width:0;overflow:hidden}.empty-state{align-content:center;gap:9px;min-height:min(560px,100vh - 150px);padding:36px clamp(24px,7vw,90px);display:grid}.empty-state h2,.diagnostic h2{max-width:620px;margin:0;font-size:clamp(28px,3vw,42px);line-height:1.06}.results-layout{grid-template-rows:auto minmax(0,1fr);min-width:0;display:grid}.option-list{border-bottom:1px solid var(--line);gap:10px;padding:14px 20px 12px;display:grid}.option-head{justify-content:space-between;align-items:end;gap:12px;display:flex}.option-head>span{align-items:baseline;gap:9px;display:flex}.option-head strong{font-size:.92rem}.option-head small{color:var(--muted);font-size:.72rem}.option-scroll{border:1px solid var(--line);scrollbar-width:thin;border-radius:6px;gap:0;display:flex;overflow-x:auto}.option-row{border-right:1px solid var(--line);background:var(--white);flex:0 0 190px;position:relative}.option-row:last-child{border-right:0}.option-button{text-align:left;border:0;border-bottom:2px solid #0000;border-radius:0;align-content:center;gap:4px;width:100%;min-height:74px;padding:10px 36px 9px 11px;display:grid}.option-button span{font-size:.84rem;font-weight:700}.option-button small{font-size:.72rem;line-height:1.35}.option-button.active,.option-button.active:hover{border-bottom-color:var(--red);background:var(--red-wash);color:var(--red)}.compare-check{z-index:2;min-height:16px;color:var(--muted);cursor:pointer;align-items:center;padding:0;display:flex;position:absolute;top:10px;right:10px}.compare-check input{width:14px;min-height:14px;accent-color:var(--red);margin:0}.compare-check span{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.schedule-detail{min-width:0;padding:16px 20px 34px}.detail-head{justify-content:space-between;align-items:center;gap:18px;display:flex}.detail-summary{flex-wrap:wrap;align-items:baseline;gap:5px 18px;display:flex}.detail-summary h2{margin:0 15px 0 0;font-size:1.3rem}.detail-summary span{color:var(--muted);padding:0;font-size:.78rem}.ranking-note{color:#297a6d;margin:8px 0 0;font-size:.76rem;font-weight:600}.schedule-suite{gap:0;margin-top:15px;display:grid}.calendar-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:18px;min-height:44px;display:flex}.course-legend{flex-wrap:wrap;gap:8px 14px;padding:9px 0;display:flex}.course-legend span{color:var(--muted);text-transform:uppercase;align-items:center;gap:6px;font-size:.65rem;font-weight:600;display:inline-flex}.course-legend i{background:var(--legend-color);border-radius:2px;width:8px;height:8px}.calendar-switcher{flex:none;align-self:stretch;display:flex}.calendar-switcher button{min-height:42px;color:var(--muted);border:0;border-bottom:2px solid #0000;border-radius:0;padding:0 12px;font-size:.74rem;font-weight:600}.calendar-switcher button.active{border-bottom-color:var(--red);color:var(--red)}.calendar-panel{min-width:0}.schedule-wrap{padding:8px 0 4px;overflow-x:auto}.schedule-grid{border:1px solid var(--line);background:var(--line-strong);gap:1px;display:grid}.corner-cell,.day-head,.time-cell{background:var(--surface)}.day-head{min-height:34px;color:var(--ink);text-transform:capitalize;place-items:center;font-size:.72rem;font-weight:700;display:grid}.time-cell{color:var(--muted);align-items:center;padding:0 8px;font-size:.68rem;font-weight:700;display:flex}.schedule-cell{background:#fdfdfc;min-height:48px}.schedule-block{border:1px solid color-mix(in srgb, var(--course-fg) 32%, transparent);background:var(--course-bg);min-height:48px;color:var(--course-fg);align-content:center;gap:3px;padding:7px 8px;display:grid;overflow:hidden}.schedule-block strong,.schedule-block span{overflow-wrap:anywhere;display:block}.schedule-block strong{font-size:.7rem;line-height:1.14}.schedule-block span{font-size:.63rem;line-height:1.25}.assessment-block{min-height:48px}.calendar-empty{color:var(--muted);margin:14px 0;font-size:.84rem}.detail-section{margin-top:14px;padding-top:10px}.detail-section h3,.notice-block h3{margin:0;font-size:.92rem}.detail-section p,.notice-block p{color:var(--muted);margin:7px 0 0;font-size:.82rem}.nrc-list,.diagnostic-list{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.nrc-list span,.diagnostic-list span{border:1px solid var(--line);border-radius:6px;padding:7px 9px;font-size:.78rem}.detail-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.result-details{margin-top:14px}.details-toggle{background:var(--surface-warm);text-align:left;border-color:#0000;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:48px;padding:8px 12px;display:flex}.details-toggle span{gap:2px;display:grid}.details-toggle strong{font-size:.82rem}.details-toggle small{color:var(--muted);font-size:.7rem}.details-toggle b{color:var(--red);font-size:.72rem}.manual-layout{grid-template-columns:320px minmax(0,1fr);min-height:calc(100vh - 62px);display:grid}.manual-copy{border-right:1px solid var(--line);align-content:start;gap:10px;padding:24px 20px;display:grid}.manual-copy textarea{margin-top:8px}.manual-panel{min-width:0;padding:22px}.manual-panel .manual-result,.manual-panel .manual-empty{margin:0}.manual-panel .empty-state{min-height:min(520px,100vh - 160px)}.manual-result{min-width:0}.notice-block{border-top:1px solid var(--line);padding:12px 0}.notice-block:first-child{margin-top:0}.notice-block.danger{border-top-color:var(--red)}.muted{color:var(--muted)}@keyframes page-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes menu-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@media (width<=1080px){.auto-flow,.manual-layout{grid-template-columns:280px minmax(0,1fr)}.planner-panel{padding-inline:16px}.course-legend{display:none}.calendar-toolbar{justify-content:flex-end}}@media (width<=820px){.auto-flow,.manual-layout{grid-template-columns:1fr}.planner-panel{border-right:0;border-bottom:1px solid var(--line);max-height:none;overflow:visible}.manual-copy{border-right:0;border-bottom:1px solid var(--line)}.course-legend{display:flex}.calendar-toolbar{flex-direction:column;align-items:stretch;gap:0}.calendar-switcher{align-self:auto;overflow-x:auto}.calendar-switcher button{flex:1 0 auto}}@media (width<=620px){.app-header{flex-direction:column;align-items:flex-start;gap:8px;padding-block:13px}.header-context{justify-content:space-between;width:100%}.choice-row,.mode-grid,.detail-columns{grid-template-columns:1fr}.entry-screen{padding-top:32px}.tool-nav,.detail-head{align-items:flex-start}.tool-nav>div:first-child,.detail-head{flex-direction:column}.option-head,.option-head>span{flex-direction:column;align-items:flex-start}.option-list,.schedule-detail,.manual-panel{padding-inline:14px}.detail-summary{gap:5px 0}.detail-summary h2{flex-basis:100%}.detail-summary span:first-of-type{border-left:0;padding-left:0}.course-legend{max-height:56px;overflow-y:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
