:root{--ink-rgb: 26 26 26;--ink: rgb(var(--ink-rgb));--paper: #ECECEC;--surface: #F7F7F7;--line: #D6D6D6;--rail-bg-rgb: 20 20 20;--rail-bg: rgb(var(--rail-bg-rgb));--rail-text-rgb: 235 235 235;--rail-text: rgb(var(--rail-text-rgb));--rail-muted: #9E9E9E;--rail-line: rgb(var(--rail-text-rgb) / .12);--rail-hover: rgb(var(--rail-text-rgb) / .06);--rail-active: rgb(var(--rail-text-rgb) / .1);--rail-monogram-border: rgb(var(--rail-text-rgb) / .18);--readiness-dot-bg: rgb(var(--rail-text-rgb) / .15);--readiness-dot-border: rgb(var(--rail-text-rgb) / .2);--rail-indicator: rgb(var(--rail-text-rgb) / .5);--rail-focus: rgb(var(--rail-text-rgb) / .7);--accent-rgb: 36 36 36;--accent: rgb(var(--accent-rgb));--accent-text-rgb: 36 36 36;--accent-text: rgb(var(--accent-text-rgb));--accent-hover-rgb: 50 50 50;--accent-hover: rgb(var(--accent-hover-rgb));--accent-tint: rgb(var(--accent-rgb) / .07);--accent-ghost-border: rgb(var(--accent-rgb) / .3);--muted: #5E5E5E;--ready-rgb: 51 113 82;--ready: rgb(var(--ready-rgb));--ready-tint: rgb(var(--ready-rgb) / .09);--ready-border: rgb(var(--ready-rgb) / .2);--pending-rgb: 150 150 150;--pending: rgb(var(--pending-rgb));--pending-tint: rgb(var(--pending-rgb) / .12);--error-rgb: 185 63 49;--error: rgb(var(--error-rgb));--error-tint: rgb(var(--error-rgb) / .07);--error-tint-border: rgb(var(--error-rgb) / .18);--error-ghost-border: rgb(var(--error-rgb) / .3);--on-accent-rgb: 255 255 255;--on-accent: rgb(var(--on-accent-rgb));--on-accent-border: rgb(var(--on-accent-rgb) / .3);--institution-accent-rgb: var(--accent-rgb);--institution-accent: rgb(var(--institution-accent-rgb));--neutral-rail-bg: #141414;--neutral-surface: #F7F7F7;--neutral-line: #D6D6D6;--neutral-accent: #242424;--neutral-on-accent: #FFFFFF;--scrim-top: rgb(var(--ink-rgb) / .12);--scrim-bottom: rgb(var(--ink-rgb) / .42);--shadow-ink: rgb(var(--ink-rgb) / .22);--overlay-backdrop: rgb(var(--ink-rgb) / .45);--font-display: "Newsreader", Georgia, serif;--font-ui: "Inter", system-ui, -apple-system, sans-serif;--font-data: "IBM Plex Mono", "Fira Code", "SF Mono", monospace;--text-xs: .6875rem;--text-sm: .75rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 2rem;--text-3xl: 2.5rem;--rail-w: 260px;--stage-max: 960px;--stage-pad: 40px;--topbar-h: 52px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--radius: 6px;--radius-sm: 4px;--btn-scale: 1.15;--gold-text: #82640F;--gold: #D9A62B;--gold-tint: rgb(217 166 43 / .13);--gold-tint-strong: rgb(217 166 43 / .16);--gold-line: rgb(217 166 43 / .35);--gold-fill-border: rgb(217 166 43 / .3);--tick-length: 28px;--surface-elevated: #FFFFFF;--shadow-card: 0 1px 2px rgb(var(--ink-rgb) / .05), 0 6px 20px rgb(var(--ink-rgb) / .07);--radius-card: 8px;--radius-chip: 6px}.transcript-shell{min-height:100vh;background:var(--paper);padding:clamp(24px,5vw,64px) max(20px,calc((100vw - 1080px)/2));color:var(--ink)}.transcript-paper{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--accent);padding:clamp(20px,4vw,36px);box-shadow:0 12px 30px rgb(var(--ink-rgb) / .06)}.transcript-kicker{color:var(--accent-text);font:600 var(--text-xs)/1.2 var(--font-data);letter-spacing:.12em;text-transform:uppercase}.transcript-shell h1,.transcript-shell h2{font-family:var(--font-display);font-weight:500}.transcript-shell h1{font-size:clamp(2rem,5vw,3.4rem);margin-top:8px}.transcript-lede{max-width:60ch;margin-top:14px;color:var(--muted)}.transcript-upload-shell,.transcript-state{display:grid;place-items:center}.transcript-upload-card,.transcript-state .transcript-paper{width:min(100%,680px)}.transcript-upload-form{display:grid;gap:14px;margin-top:30px}.transcript-upload-form label,.transcript-edit-form label{display:grid;gap:6px;font-weight:600}.transcript-upload-form input,.transcript-edit-form input,.transcript-edit-form select{width:100%;padding:10px 12px;border:1px solid var(--line);background:#fff;color:var(--ink);font:inherit}.transcript-help,.transcript-footnote{color:var(--muted);font-size:var(--text-sm)}.transcript-footnote{margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}.transcript-error{padding:12px;border:1px solid var(--error-tint-border);background:var(--error-tint);color:var(--ink)}.transcript-review-header{display:flex;justify-content:space-between;align-items:end;gap:32px;padding-bottom:28px;border-bottom:1px solid var(--line)}.transcript-review-header>div>p:last-child{color:var(--muted);margin-top:8px}.transcript-totals{display:flex;gap:28px;flex-shrink:0}.transcript-totals div{min-width:90px}.transcript-totals dt,.transcript-course-meta dt{color:var(--muted);font:600 var(--text-xs)/1.3 var(--font-data);text-transform:uppercase;letter-spacing:.06em}.transcript-totals dd{font:500 var(--text-xl)/1.2 var(--font-data);margin-top:5px}.transcript-notice{margin:24px 0;padding:15px 18px;border-left:3px solid var(--accent);background:var(--accent-tint)}.transcript-term{margin-top:22px}.transcript-term>header{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:18px}.transcript-term h2,.transcript-repeat-summary h2{font-size:var(--text-xl);margin-top:5px}.transcript-course-list{border-top:1px solid var(--line)}.transcript-course{padding:20px 0;border-bottom:1px solid var(--line)}.transcript-course:last-child{border-bottom:0;padding-bottom:0}.transcript-course.needs-review{border-left:3px solid var(--accent);padding-left:16px}.transcript-course-main{display:flex;justify-content:space-between;gap:20px}.transcript-course-main h3{font-size:var(--text-md);margin-top:3px}.transcript-code{color:var(--accent-text);font:600 var(--text-sm)/1.2 var(--font-data)}.transcript-edit-button{border:0;background:transparent;color:var(--accent-text);text-decoration:underline;font:600 var(--text-sm)/1 var(--font-ui);cursor:pointer}.transcript-course-meta{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:16px;margin-top:16px}.transcript-course-meta dd{margin-top:4px;text-transform:capitalize}.transcript-flags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.transcript-flags span{padding:5px 8px;border:1px solid var(--accent-ghost-border);background:var(--accent-tint);font-size:var(--text-sm)}.transcript-edit-form{display:grid;grid-template-columns:1fr 2fr .7fr .7fr 1fr;gap:14px;align-items:end}.transcript-edit-form h3,.transcript-edit-form .transcript-error,.transcript-edit-form .transcript-actions{grid-column:1 / -1}.transcript-actions{display:flex;gap:10px}.transcript-repeat-summary{margin-top:22px}.transcript-repeat-summary>p:last-child{margin-top:14px}.transcript-commit{position:sticky;bottom:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:24px;padding:18px 22px;border:1px solid var(--line);border-top:3px solid var(--accent);background:var(--surface);box-shadow:0 -8px 30px rgb(var(--ink-rgb) / .1)}.transcript-commit p{color:var(--muted);font-size:var(--text-sm)}.transcript-commit .transcript-error{color:var(--ink);margin-top:8px}@media(max-width:720px){.transcript-shell{padding:20px 14px 110px}.transcript-review-header{display:block}.transcript-totals{margin-top:22px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.transcript-totals div{min-width:0}.transcript-course-meta{grid-template-columns:repeat(2,1fr)}.transcript-edit-form{grid-template-columns:1fr 1fr}.transcript-edit-form label:nth-of-type(2){grid-column:1 / -1}.transcript-commit{position:fixed;left:0;right:0;margin:0;padding:12px 14px}.transcript-commit p{display:none}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;height:100%}body{font-family:var(--font-ui);color:var(--ink);background:var(--paper);line-height:1.5;height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%}h1,h2,h3,h4,h5,h6{line-height:1.2;font-weight:600}a{color:var(--accent);text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}.spinner,.spinner-small{animation:skeleton-pulse var(--t-pulse) ease-in-out infinite!important}}.shell{display:flex;height:100vh;overflow:hidden}.rail{width:var(--rail-w);flex-shrink:0;background:var(--rail-bg);color:var(--rail-text);display:flex;flex-direction:column;height:100vh;overflow-y:auto;overflow-x:hidden;position:relative;z-index:20;scrollbar-width:none}.rail::-webkit-scrollbar{display:none}.rail :focus-visible{outline-color:var(--rail-focus)}.rail-overlay{display:none}.rail-identity{padding:var(--sp-6) var(--sp-5) var(--sp-5);border-bottom:1px solid var(--rail-line)}.rail-monogram{width:44px;height:44px;border-radius:50%;background:var(--rail-active);border:1px solid var(--rail-monogram-border);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:var(--text-lg);font-weight:300;color:var(--rail-text);letter-spacing:.02em;margin-bottom:var(--sp-3);flex-shrink:0}.rail-name{font-family:var(--font-display);font-size:var(--text-md);font-weight:300;color:var(--rail-text);line-height:1.25;margin-bottom:var(--sp-1);letter-spacing:.01em}.rail-meta{display:flex;align-items:center;gap:var(--sp-2);font-family:var(--font-ui);font-size:var(--text-xs);color:var(--rail-muted);text-transform:uppercase;letter-spacing:.08em}.rail-dot{opacity:.4}.rail-gpa{font-family:var(--font-data);font-size:var(--text-sm);font-weight:500;color:var(--rail-text);opacity:.85;letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums}.rail-nav{padding:var(--sp-3) 0;border-bottom:1px solid var(--rail-line)}.rail-item{display:flex;align-items:center;width:100%;padding:var(--sp-2) var(--sp-5);background:none;border:none;border-left:2px solid transparent;color:var(--rail-muted);font-family:var(--font-ui);font-size:var(--text-base);font-weight:500;cursor:pointer;text-align:left;transition:background .12s ease,color .12s ease,border-color .12s ease;min-height:40px;letter-spacing:.01em}.rail-item:hover{background:var(--rail-hover);color:var(--rail-text)}.rail-item--active{border-left-color:var(--rail-indicator);color:var(--rail-text);background:var(--rail-active)}.rail-subnav{display:flex;flex-direction:column;padding:var(--sp-1) 0 var(--sp-2)}.rail-subitem{display:flex;align-items:center;width:100%;padding:var(--sp-2) var(--sp-5) var(--sp-2) calc(var(--sp-5) + var(--sp-4));background:none;border:none;border-left:2px solid transparent;color:var(--rail-muted);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500;cursor:pointer;text-align:left;transition:background .12s ease,color .12s ease,border-color .12s ease;min-height:36px;letter-spacing:.01em}.rail-subitem:hover{background:var(--rail-hover);color:var(--rail-text)}.rail-subitem--active{border-left-color:var(--rail-indicator);color:var(--rail-text);background:var(--rail-active)}.readiness-rail{padding:var(--sp-5);border-bottom:1px solid var(--rail-line);flex:1}.readiness-heading{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--rail-muted);margin-bottom:var(--sp-4)}.readiness-overall{display:flex;align-items:baseline;gap:var(--sp-2);margin-bottom:var(--sp-5)}.readiness-pct{font-family:var(--font-data);font-size:var(--text-2xl);font-weight:400;color:var(--rail-text);line-height:1;letter-spacing:-.02em}.readiness-pct-label{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--rail-muted);text-transform:uppercase;letter-spacing:.08em}.readiness-marks{position:relative;padding-left:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-4);margin-bottom:var(--sp-5)}.readiness-marks:before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:1px;background:var(--rail-line)}.readiness-mark{display:flex;align-items:center;gap:var(--sp-3);position:relative}.readiness-mark:before{content:"";position:absolute;left:calc(var(--sp-5) * -1 + 3px);width:7px;height:7px;border-radius:50%;background:var(--readiness-dot-bg);border:1px solid var(--readiness-dot-border);flex-shrink:0;z-index:1}.readiness-mark--ready:before{background:var(--ready);border-color:var(--ready)}.readiness-mark-name{font-family:var(--font-data);font-size:var(--text-sm);font-weight:500;color:var(--rail-muted);min-width:40px;letter-spacing:.05em}.readiness-mark--ready .readiness-mark-name{color:var(--rail-text)}.readiness-mark-label{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--rail-muted);opacity:.65;flex:1}.readiness-mark--ready .readiness-mark-label{opacity:.9}.readiness-mark-status{margin-left:auto;font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--pending)}.readiness-mark--ready .readiness-mark-status{color:var(--ready)}.readiness-bars{display:flex;flex-direction:column;gap:var(--sp-3)}.readiness-bar-row{display:flex;flex-direction:column;gap:4px}.readiness-bar-header{display:flex;justify-content:space-between;align-items:center}.readiness-bar-label{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--rail-muted);text-transform:uppercase;letter-spacing:.08em}.readiness-bar-pct{font-family:var(--font-data);font-size:var(--text-xs);color:var(--rail-muted)}.readiness-bar-track{height:2px;background:var(--rail-line);border-radius:1px;overflow:hidden}.readiness-bar-fill{height:100%;width:100%;transform-origin:left;background:var(--rail-indicator);border-radius:1px;transition:transform var(--t-fill) var(--ease-out)}.rail-footer{padding:var(--sp-4) var(--sp-5);padding-bottom:calc(var(--sp-4) + env(safe-area-inset-bottom,0px));margin-top:auto;border-top:1px solid var(--rail-line)}.rail-logout{background:none;border:1px solid var(--rail-line);color:var(--rail-muted);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500;padding:var(--sp-2) var(--sp-3);border-radius:var(--radius);cursor:pointer;width:100%;text-align:center;transition:background .12s ease,color .12s ease;letter-spacing:.01em}.rail-logout:hover{background:var(--rail-hover);color:var(--rail-text)}.stage{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--paper);min-width:0}.topbar{height:var(--topbar-h);background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 var(--stage-pad);gap:var(--sp-4);flex-shrink:0}.topbar-menu{display:none;background:none;border:none;cursor:pointer;color:var(--muted);padding:var(--sp-1);line-height:1;align-items:center;justify-content:center;border-radius:var(--radius)}.topbar-menu:hover{color:var(--ink);background:var(--paper)}.topbar-menu-icon{display:block;width:18px;height:14px;position:relative}.topbar-menu-icon:before,.topbar-menu-icon:after,.topbar-menu-icon span{content:"";display:block;position:absolute;width:100%;height:1.5px;background:currentColor;border-radius:1px}.topbar-menu-icon:before{top:0}.topbar-menu-icon span{top:50%;transform:translateY(-50%)}.topbar-menu-icon:after{bottom:0}.topbar-title{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.stage-main{flex:1;overflow-y:auto;padding:var(--stage-pad)}.stage-inner{max-width:var(--stage-max);margin:0 auto}@keyframes stage-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.stage-section{animation:stage-enter .22s ease forwards}.overview-header{margin-bottom:var(--sp-10);padding-bottom:var(--sp-6);border-bottom:1px solid var(--line)}.overview-name{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:300;color:var(--ink);line-height:1.1;margin-bottom:var(--sp-3);letter-spacing:-.01em}.overview-vitals{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);font-family:var(--font-ui);font-size:var(--text-base);color:var(--muted)}.overview-vitals-sep{color:var(--line);font-size:var(--text-lg);font-weight:300;line-height:1}.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-8);margin-bottom:var(--sp-10)}.overview-block-title{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:var(--sp-4);padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.overview-stats{display:flex;gap:var(--sp-8);margin-bottom:var(--sp-10)}.overview-stat{display:flex;flex-direction:column;gap:var(--sp-1)}.overview-stat-value{font-family:var(--font-data);font-size:var(--text-2xl);font-weight:400;color:var(--ink);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.overview-stat-label{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:500;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.overview-feature-list{display:flex;flex-direction:column;gap:var(--sp-3)}.overview-feature-row{display:flex;align-items:center;gap:var(--sp-3)}.overview-stat--ring{gap:var(--sp-2)}.degree-progress-ring-track{stroke:var(--line)}.degree-progress-ring-fill{stroke:var(--accent);transition:stroke-dashoffset var(--t-fill) var(--ease-out)}.degree-progress-ring-pct{font-family:var(--font-data);font-size:13px;fill:var(--ink)}.overview-stat-detail{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--muted)}.career-readiness-cards,.academic-readiness-cards{display:flex;flex-direction:column;gap:var(--sp-3);margin-top:var(--sp-4)}.overview-schedule-link{display:inline-block;margin-top:var(--sp-3);border:0;background:none;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}.overview-schedule-link:hover,.overview-schedule-link:focus-visible{text-decoration:none}.career-readiness-card-label{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin-bottom:var(--sp-2)}.gap-priority-badge{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.07em;padding:2px 8px;border-radius:var(--radius-sm);white-space:nowrap}.gap-priority-badge--must{color:var(--error);background:var(--error-tint)}.gap-priority-badge--nice{color:var(--pending);background:var(--pending-tint)}.overview-feature-name{font-family:var(--font-data);font-size:var(--text-base);font-weight:500;color:var(--ink);min-width:52px;letter-spacing:.04em}.overview-feature-desc{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--muted);flex:1}.overview-feature-badge{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.07em;padding:2px 8px;border-radius:var(--radius-sm)}.overview-feature-badge--ready{color:var(--ready);background:var(--ready-tint)}.overview-feature-badge--pending{color:var(--pending);background:var(--line)}.overview-progress{display:flex;flex-direction:column;gap:var(--sp-4)}.overview-progress-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--sp-1)}.overview-progress-label{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--muted);font-weight:500}.overview-progress-pct{font-family:var(--font-data);font-size:var(--text-sm);color:var(--ink)}.overview-progress-track{height:3px;background:var(--line);border-radius:2px;overflow:hidden}.overview-progress-fill{height:100%;width:100%;transform-origin:left;background:var(--accent);border-radius:2px;transition:transform var(--t-fill) var(--ease-out)}.overview-demo{margin-top:var(--sp-10);padding-top:var(--sp-6);border-top:1px solid var(--line)}.overview-demo-title{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:var(--sp-3)}.overview-demo-note{font-size:var(--text-sm);color:var(--muted);margin-bottom:var(--sp-4);line-height:1.5}.academic-section-heading{font-family:var(--font-display);font-size:var(--text-xl);font-weight:300;color:var(--ink);letter-spacing:-.01em;margin-bottom:var(--sp-5);padding-bottom:var(--sp-4);border-bottom:1px solid var(--line)}.academic-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin-bottom:var(--sp-6)}.academic-tab{background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;padding:var(--sp-2) var(--sp-4);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500;color:var(--muted);cursor:pointer;transition:color var(--t-quick) var(--ease-out),border-color var(--t-quick) var(--ease-out);white-space:nowrap;letter-spacing:.01em}.academic-tab:first-child{padding-left:0}.academic-tab:hover{color:var(--ink)}.academic-tab--active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.career-section-heading{font-family:var(--font-display);font-size:var(--text-xl);font-weight:300;color:var(--ink);letter-spacing:-.01em;margin-bottom:var(--sp-5);padding-bottom:var(--sp-4);border-bottom:1px solid var(--line)}.career-overview-target{display:flex;flex-direction:column;gap:var(--sp-1);margin:var(--sp-6) 0}.career-overview-target span,.career-intelligence-role{color:var(--muted);font-size:var(--text-sm)}.career-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}.career-overview-summary{padding:var(--sp-5) var(--sp-5) var(--sp-5) 0;border-bottom:1px solid var(--line)}.career-overview-summary+.career-overview-summary{padding-left:var(--sp-5);border-left:1px solid var(--line)}.career-overview-summary h3{margin-bottom:var(--sp-2)}.career-overview-summary p{color:var(--muted)}.career-intelligence-role{margin:calc(-1 * var(--sp-3)) 0 var(--sp-6)}.career-intelligence-section+.career-intelligence-section{margin-top:var(--sp-6)}.career-subtab-panel .career-intelligence-section>.analysis-panel{box-shadow:none;border:1px solid var(--line)}.job-search-shell{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--sp-4);margin-bottom:var(--sp-6)}.job-search-shell label{display:flex;flex-direction:column;gap:var(--sp-2);color:var(--muted);font-size:var(--text-sm)}.job-search-shell select,.job-search-shell input{min-height:42px;padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--radius-chip);background-color:var(--surface);color:var(--ink);font:inherit}.job-search-controls{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--sp-4);margin-bottom:var(--sp-5)}.job-search-controls label{display:flex;flex-direction:column;gap:var(--sp-2);color:var(--muted);font-size:var(--text-sm)}.job-search-controls select{min-height:42px;padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--radius-chip);background-color:var(--surface);color:var(--ink);font:inherit}.job-search-families{display:flex;flex-wrap:wrap;gap:var(--sp-2);border:none;padding:0;margin:0;flex:1 1 100%}.job-search-families legend{width:100%;color:var(--muted);font-size:var(--text-sm);margin-bottom:var(--sp-2)}.chip{display:inline-flex;align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-3);border:1px solid var(--line);border-radius:var(--radius-chip);background:var(--surface);color:var(--ink);font-size:var(--text-sm);cursor:pointer}.chip--on{background:var(--accent-soft, var(--line));border-color:var(--ink);font-weight:600}.chip-count{color:var(--muted);font-size:var(--text-xs, .75rem)}.chip--tag{cursor:default;margin-left:var(--sp-2)}.chip--count{cursor:default;margin-left:var(--sp-2);color:var(--muted);font-size:var(--text-xs, .75rem)}.job-search-feed .btn-ghost{margin-top:var(--sp-4)}@media(max-width:760px){.career-overview-grid,.job-search-shell{grid-template-columns:1fr}.career-overview-summary+.career-overview-summary{padding-left:0;border-left:0}}.career-snapshot{display:flex;flex-direction:column}.snapshot-headline{display:flex;flex-wrap:wrap;gap:var(--sp-6);margin-bottom:var(--sp-6)}.snapshot-headline-fact{display:flex;flex-direction:column;gap:var(--sp-1)}.snapshot-headline-label{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.snapshot-headline-value{font-family:var(--font-data);font-size:var(--text-base);color:var(--ink)}.snapshot-card-body{display:flex;flex-direction:column;gap:var(--sp-2)}.snapshot-score{font-family:var(--font-data);font-size:var(--text-lg);font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums}.career-profile-block{margin-top:var(--sp-10)}.career-subtab-panel .card{background:var(--surface-elevated);border:none;border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.career-subtab-panel .cp-cert,.career-subtab-panel .cp-project,.career-subtab-panel .theme-card{border:none;border-radius:var(--radius-card);background:var(--surface-elevated);box-shadow:var(--shadow-card)}.career-subtab-panel .analysis-panel .editable-section-actions>.btn-ghost{background:var(--institution-accent);border:1px solid var(--institution-accent);color:var(--on-accent)}.career-subtab-panel .analysis-panel .editable-section-actions>.btn-ghost:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.career-subtab-panel .analysis-panel .editable-section-actions>.btn-ghost:disabled{opacity:.7}.career-subtab-panel .analysis-refreshing .spinner-small{border-color:rgb(var(--ink-rgb) / .15);border-top-color:var(--gold-text)}.career-subtab-panel .cp-section-title,.career-subtab-panel .editable-section-title{position:relative;display:inline-block;padding-bottom:var(--sp-1)}.career-subtab-panel .cp-section-title:after,.career-subtab-panel .editable-section-title:after{content:"";position:absolute;left:0;bottom:0;width:var(--tick-length);height:2px;background:var(--gold)}.career-subtab-panel .cp-metrics{gap:var(--sp-4)}.career-subtab-panel .cp-metric{padding:var(--sp-3) var(--sp-4);background:var(--gold-tint);border:1px solid var(--gold-fill-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.career-profile-block .cp-chip{border:1px solid var(--gold-fill-border);border-radius:var(--radius-chip);background:var(--gold-tint);color:var(--ink)}.career-profile-block .cp-chip--quiet{border-color:var(--gold-fill-border);background:var(--gold-tint)}.career-subtab-panel .cp-tl-item{border-left:2px solid var(--line)}.career-subtab-panel .cp-tl-marker{left:-5px;top:4px;width:11px;height:11px;background:var(--accent-text);box-shadow:0 0 0 3px var(--paper)}.career-subtab-panel .cp-detail .editable-section-actions .btn-ghost:only-child,.career-subtab-panel .cp-field .editable-section-actions .btn-ghost:only-child{position:relative;width:26px;height:26px;padding:0;min-width:0;border-radius:50%;font-size:0;line-height:0;color:transparent;background:none}.career-subtab-panel .cp-detail .editable-section-actions .btn-ghost:only-child:hover:not(:disabled),.career-subtab-panel .cp-field .editable-section-actions .btn-ghost:only-child:hover:not(:disabled){background:var(--gold-tint-strong)}.career-subtab-panel .cp-detail .editable-section-actions .btn-ghost:only-child:before,.career-subtab-panel .cp-field .editable-section-actions .btn-ghost:only-child:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:13px;height:13px;background-color:var(--gold-text);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4Z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4Z'/%3E%3C/svg%3E") center / contain no-repeat}.pc-dock{position:sticky;top:calc(-1 * var(--stage-pad));z-index:4;display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-3) var(--sp-5);margin-bottom:var(--sp-6);padding:var(--sp-4) 0;border-bottom:1px solid var(--line);background:var(--paper)}.pc-dock-lead{display:flex;align-items:baseline;gap:var(--sp-2)}.pc-dock-count{font-family:var(--font-data);font-size:var(--text-lg);line-height:1;color:var(--ink)}.pc-dock-label{font-family:var(--font-ui);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.pc-dock-items{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin:0;padding:0;list-style:none}.pc-dock-item{padding:var(--sp-1) var(--sp-3);border:1px solid var(--accent-ghost-border);border-radius:999px;background:none;color:var(--accent-text);font:inherit;font-size:var(--text-sm);cursor:pointer}.pc-dock-item:hover{border-color:var(--accent-text)}.pc-dock--complete .pc-dock-count{color:var(--ready)}.cp-field-flag{border-radius:var(--radius-sm);box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .16);transition:box-shadow var(--t-quick) var(--ease-out)}@media(prefers-reduced-motion:reduce){.cp-field-flag{transition:none}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-5) var(--sp-6)}.card-heading{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;color:var(--muted);margin-bottom:var(--sp-4);text-transform:uppercase;letter-spacing:.09em}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.grade-table{width:100%;border-collapse:collapse;font-size:var(--text-base)}.grade-table th{text-align:left;padding:var(--sp-2) var(--sp-3);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--line);white-space:nowrap}.grade-table td{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--line);vertical-align:middle;transition:background-color var(--t-quick) var(--ease-out)}.grade-table tr:last-child td{border-bottom:none}.grade-table tr:hover td{background:var(--paper)}.course-code{font-family:var(--font-data);font-size:var(--text-sm);font-weight:400;color:var(--muted);background:none;padding:0}.grade-pill{font-family:var(--font-data);font-size:var(--text-base);font-weight:500;letter-spacing:.02em;display:inline;background:none;border:none;padding:0;border-radius:0}.grade-a{color:var(--ready)}.grade-b{color:var(--ink)}.grade-c{color:var(--muted)}.grade-df{color:var(--error)}.grade-table td:last-child{font-family:var(--font-data);font-size:var(--text-sm);color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}.grade-table th:last-child{text-align:right}.degree-schedule-course-row span:last-child,.grade-weight-row .form-input,.grade-cutoff-row .form-input{font-variant-numeric:tabular-nums}.gpa-pill{font-family:var(--font-data);font-size:var(--text-sm);font-weight:500;display:inline;background:none;border:none;padding:0;border-radius:0}.gpa-green{color:var(--ready)}.gpa-blue{color:var(--ink)}.gpa-amber{color:var(--muted)}.gpa-red{color:var(--error)}.classification-badge{display:inline;font-size:inherit;font-weight:inherit;padding:0;background:none;border:none;border-radius:0;color:inherit}.comment-list{display:flex;flex-direction:column;gap:var(--sp-6)}.comment-course-name{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin-bottom:var(--sp-3)}.comment-items{list-style:none;display:flex;flex-direction:column;gap:var(--sp-3)}.comment-item{font-size:var(--text-base);line-height:1.6;padding:var(--sp-3) var(--sp-4);background:var(--paper);border-radius:var(--radius);border-left:2px solid var(--accent)}.comment-author{font-weight:600;color:var(--ink)}.comment-text{color:var(--ink)}.exam-breakdown{display:flex;flex-direction:column;gap:var(--sp-6)}.exam-assignment-name{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;color:var(--ink);margin-bottom:var(--sp-3);letter-spacing:.01em}.topic-bars{display:flex;flex-direction:column;gap:var(--sp-3)}.topic-bar-row{display:flex;align-items:center;gap:var(--sp-3)}.topic-label{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink);min-width:180px;flex-shrink:0}.topic-bar{flex:1;height:4px;background:var(--line);border-radius:2px;overflow:hidden}.topic-bar-fill{height:100%;width:100%;transform-origin:left;background:var(--accent);border-radius:2px;transition:transform var(--t-fill) var(--ease-out)}.topic-score{font-family:var(--font-data);font-size:var(--text-xs);color:var(--muted);min-width:44px;text-align:right}.analysis-panel{display:flex;flex-direction:column;gap:var(--sp-3);margin-bottom:var(--sp-6)}.analysis-empty{font-size:var(--text-base);color:var(--muted);line-height:1.6;padding:var(--sp-2) 0}.analysis-loading{display:flex;flex-direction:column;align-items:stretch;gap:var(--sp-3);padding:var(--sp-4) 0;color:var(--muted);font-size:var(--text-sm)}.analysis-skipped{padding:var(--sp-3) var(--sp-4);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}.analysis-skipped p{font-size:var(--text-sm);color:var(--muted);margin-bottom:var(--sp-2)}.analysis-failed{padding:var(--sp-3) var(--sp-4);background:var(--error-tint);border:1px solid var(--error-tint-border);border-radius:var(--radius)}.analysis-failed p{font-size:var(--text-sm);color:var(--error)}.analysis-failed-retry{margin-top:var(--sp-2);opacity:.8}.analysis-refreshing{display:inline-flex;align-items:center;gap:var(--sp-2);margin-left:var(--sp-3);font-weight:500;text-transform:none;letter-spacing:normal;color:var(--muted)}.analysis-refresh-error{margin-top:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--error-tint);border:1px solid var(--error-tint-border);border-radius:var(--radius)}.analysis-refresh-error p{font-size:var(--text-xs);color:var(--error)}.analysis-blocked-note{margin-top:var(--sp-2);font-size:var(--text-xs);color:var(--muted);font-style:italic}.gap-score-row{display:flex;align-items:baseline;gap:var(--sp-2);margin-bottom:var(--sp-2)}.gap-score-value{font-family:var(--font-data);font-size:var(--text-2xl);font-weight:400;color:var(--ink);line-height:1;letter-spacing:-.02em}.gap-score-max{font-family:var(--font-data);font-size:var(--text-lg);color:var(--muted)}.gap-score-label{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.gap-summary{font-size:var(--text-base);color:var(--ink);line-height:1.6;margin-bottom:var(--sp-5)}.gap-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-6);margin-bottom:var(--sp-5)}.gap-section{margin-bottom:var(--sp-5)}.gap-column-title{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin-bottom:var(--sp-3)}.gap-list{list-style:none;display:flex;flex-direction:column;gap:var(--sp-2)}.gap-list-item{font-size:var(--text-base);line-height:1.5;padding-left:var(--sp-3);border-left:2px solid var(--line)}.gap-list-item--must{border-left-color:var(--error)}.gap-list-item--nice{border-left-color:var(--pending)}.gap-list-item--strength{border-left-color:var(--ready)}.gap-item-title{font-weight:600;color:var(--ink);margin-bottom:3px}.gap-item-why{font-size:var(--text-sm);color:var(--muted);line-height:1.5;margin-bottom:var(--sp-1)}.gap-item-action{font-size:var(--text-sm);color:var(--ink);line-height:1.5}.gap-steps{display:flex;flex-direction:column;gap:var(--sp-2);padding-left:var(--sp-5)}.gap-steps li{font-size:var(--text-base);line-height:1.5;color:var(--ink)}.theme-list{display:flex;flex-direction:column;gap:var(--sp-5)}.theme-card{padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.theme-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-2)}.theme-name{font-size:var(--text-base);font-weight:600;color:var(--ink)}.theme-badge{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.07em;padding:2px 8px;border-radius:var(--radius-sm);white-space:nowrap}.theme-badge--strength,.theme-badge--praise{color:var(--ready);background:var(--ready-tint)}.theme-badge--concern,.theme-badge--flag{color:var(--error);background:var(--error-tint)}.theme-summary{font-size:var(--text-base);color:var(--ink);line-height:1.55;margin-bottom:var(--sp-3)}.fit-badge{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.07em;padding:2px 8px;border-radius:var(--radius-sm);white-space:nowrap}.fit-badge--high{color:var(--ready);background:var(--ready-tint)}.fit-badge--medium{color:var(--pending);background:var(--pending-tint)}.fit-badge--low{color:var(--error);background:var(--error-tint)}.hiring-signal{font-size:var(--text-sm);color:var(--muted);margin:0 0 var(--sp-3)}.hiring-signal--empty{font-style:italic}.theme-refs{list-style:none;display:flex;flex-direction:column;gap:var(--sp-2)}.theme-ref{font-size:var(--text-sm);color:var(--muted);line-height:1.5;padding-left:var(--sp-3);border-left:2px solid var(--line)}.theme-ref-course{font-family:var(--font-data);font-weight:500;color:var(--ink)}.course-discovery-role-select{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--text-sm)}.course-discovery-role-select label{color:var(--muted);white-space:nowrap}.course-discovery-role-select select{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:3px var(--sp-2);max-width:45vw}.course-discovery-section+.course-discovery-section{margin-top:var(--sp-6)}.course-discovery-section-title{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin-bottom:var(--sp-3)}.course-discovery-status-badge{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.07em;padding:2px 8px;border-radius:var(--radius-sm);white-space:nowrap}.course-discovery-status-badge--ready{color:var(--ready);background:var(--ready-tint)}.course-discovery-status-badge--blocked{color:var(--pending);background:var(--pending-tint)}.course-discovery-status-badge--verify{color:var(--muted);background:var(--surface);border:1px solid var(--line)}.course-discovery-status-badge--satisfied{color:var(--ready);background:var(--ready-tint)}.course-discovery-status-badge--in-progress{color:var(--gold-text);background:var(--gold-tint)}.course-discovery-status-badge--not-started{color:var(--muted);background:var(--surface);border:1px solid var(--line)}.course-discovery-status-badge--manual-review{color:var(--muted);background:var(--surface);border:1px dashed var(--line)}.requirement-tree,.requirement-group-children{list-style:none;margin:0;padding:0}.requirement-tree{margin-top:var(--sp-3)}.requirement-group{padding:var(--sp-2) 0;border-top:1px solid var(--line)}.requirement-tree>.requirement-group:first-child{border-top:none}.requirement-group-children{margin-top:var(--sp-2);margin-left:var(--sp-4);padding-left:var(--sp-3);border-left:1px solid var(--line)}.requirement-group-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.requirement-group-toggle{display:flex;align-items:center;gap:var(--sp-1);background:none;border:none;padding:0;font:inherit;font-weight:600;color:var(--ink);cursor:pointer;text-align:left}.requirement-group-toggle-icon{color:var(--muted);font-size:var(--text-xs)}.requirement-group-name{font-weight:600;color:var(--ink)}.requirement-group-detail,.requirement-group-matched,.requirement-group-adviser-note,.requirement-satisfaction-subtitle{font-size:var(--text-sm);color:var(--muted);margin:var(--sp-1) 0 0}.requirement-satisfaction-panel{display:grid;gap:var(--sp-4)}.requirement-group-adviser-note{max-width:62ch}.technical-elective-options{margin-top:var(--sp-2);max-width:72ch}.technical-elective-options-toggle{padding-left:0}.technical-elective-options-body{display:grid;gap:var(--sp-2);margin-top:var(--sp-2);padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}.technical-elective-disclaimer,.technical-elective-cross-department,.technical-elective-course p{margin:0;color:var(--muted);font-size:var(--text-sm)}.technical-elective-list{display:grid;gap:var(--sp-2);margin:0;padding:0;list-style:none}.technical-elective-course{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sp-1) var(--sp-2);padding-top:var(--sp-2);border-top:1px solid var(--line);font-size:var(--text-sm)}.technical-elective-course:first-child{padding-top:0;border-top:none}.technical-elective-course p{grid-column:1 / -1}.technical-elective-credits{display:block;color:var(--muted);font-size:var(--text-xs)}.technical-elective-state{align-self:start;padding:2px var(--sp-2);border-radius:999px;background:var(--gold-tint);color:var(--ink);font-size:var(--text-xs);white-space:nowrap}.technical-elective-state--prerequisites_missing{background:var(--surface-raised);color:var(--muted)}.technical-elective-local-error{margin:0}.degree-planner-flow{display:grid;gap:var(--sp-4)}.degree-planner-summary{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,1fr);gap:var(--sp-5);align-items:end;border-top:3px solid var(--accent)}.degree-planner-summary h2,.degree-planner-summary p,.degree-planner-summary dl,.degree-planner-summary dd{margin:0}.degree-planner-eyebrow{display:block;margin-bottom:var(--sp-1);color:var(--muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase}.degree-planner-summary h2{font-size:var(--text-xl)}.degree-planner-institution,.degree-planner-status{margin-top:var(--sp-1)!important;color:var(--muted)}.degree-planner-status{color:var(--ready);font-weight:600}.degree-planner-summary-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}.degree-planner-summary-facts>div{min-width:0;padding-left:var(--sp-3);border-left:1px solid var(--line)}.degree-planner-summary-facts dt{color:var(--muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.degree-planner-summary-facts dd{margin-top:var(--sp-1);font-weight:600}.degree-schedule-panel{display:grid;gap:var(--sp-4)}.degree-schedule-subtitle,.degree-schedule-partial-note{margin:var(--sp-1) 0 0;color:var(--muted);font-size:var(--text-sm)}.degree-schedule-partial-note{padding:var(--sp-3) var(--sp-4);border-left:3px solid rgb(var(--accent-rgb) / .45);background:var(--accent-tint)}.degree-schedule-terms{display:grid;gap:var(--sp-3)}.degree-schedule-term{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.degree-schedule-term-header,.degree-schedule-course-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3)}.degree-schedule-term-header{padding:var(--sp-3) var(--sp-4);background:var(--neutral-surface);border-bottom:1px solid var(--line)}.degree-schedule-term-header h4,.degree-schedule-deferred h4{margin:0;font-size:var(--text-md)}.degree-schedule-term-header span,.degree-schedule-course-row span{color:var(--muted);font-size:var(--text-sm)}.degree-schedule-term-header span,.degree-schedule-course-row span:last-child{white-space:nowrap}.degree-schedule-course-row span:first-child{min-width:0;overflow-wrap:break-word}.degree-schedule-courses,.degree-schedule-limitations,.degree-schedule-deferred>ul{list-style:none;margin:0;padding:0}.degree-schedule-courses>li{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--line)}.degree-schedule-courses>li:first-child{border-top:0}.degree-schedule-limitations{display:grid;gap:var(--sp-1);margin-top:var(--sp-2);color:var(--muted);font-size:var(--text-sm)}.degree-schedule-limitations li:before{content:"Note: ";font-weight:600}.degree-schedule-deferred{display:grid;gap:var(--sp-3);padding-top:var(--sp-4);border-top:1px solid var(--line)}.degree-schedule-deferred>ul{display:grid;gap:var(--sp-2)}.degree-schedule-deferred>ul>li{padding:var(--sp-3) var(--sp-4);border:1px solid var(--line);border-radius:var(--radius-sm)}.degree-schedule-deferred>ul>li>div{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.degree-schedule-deferred p{margin:var(--sp-1) 0 0;color:var(--muted);font-size:var(--text-sm)}.degree-schedule-reason{flex:none;padding:3px var(--sp-2);border-radius:999px;font-size:var(--text-xs);font-weight:700;letter-spacing:.03em}.degree-schedule-reason--selection-deferred{color:var(--gold-text);background:var(--gold-tint)}.degree-schedule-reason--freeform-manual-review{color:var(--muted);background:var(--surface);border:1px dashed var(--line)}.degree-schedule-infeasible strong{display:block;margin-bottom:var(--sp-1)}.degree-schedule-decisions{display:grid;gap:var(--sp-3);padding-top:var(--sp-4);border-top:1px solid var(--line)}.degree-schedule-decisions h4,.degree-schedule-decision-card h5{margin:0;text-wrap:balance}.degree-schedule-decisions h4{font-size:var(--text-md)}.degree-schedule-decision-list,.degree-schedule-candidate-list,.degree-schedule-candidate-courses{list-style:none;margin:0;padding:0}.degree-schedule-decision-list,.degree-schedule-candidate-list{display:grid;gap:var(--sp-3)}.degree-schedule-decision-card{padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius-sm)}.degree-schedule-decision-heading,.degree-schedule-candidate-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3)}.degree-schedule-decision-heading>div{display:grid;justify-items:end;gap:var(--sp-1)}.degree-schedule-decision-heading span,.degree-schedule-candidate-header span{color:var(--muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;white-space:nowrap}.degree-schedule-decision-card>p{margin:var(--sp-2) 0 0;color:var(--muted);font-size:var(--text-sm);text-wrap:pretty}.degree-schedule-candidate-list{margin-top:var(--sp-3)}.degree-schedule-candidate-path{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--neutral-surface)}.degree-schedule-candidate-path.is-selected{border-color:var(--accent)}.degree-schedule-selected-label{color:var(--text)!important;font-weight:700}.degree-schedule-candidate-action{display:flex;justify-content:flex-end;padding:var(--sp-3);border-top:1px solid var(--line);background:var(--surface)}.degree-schedule-choice-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-3)}.degree-schedule-selected-choices{display:grid;gap:var(--sp-3)}.degree-schedule-decision-card.is-locked{border-color:var(--accent)}.degree-schedule-choice-message,.degree-schedule-reselection{padding:var(--sp-3);border:1px solid var(--gold-border);border-radius:var(--radius-sm);background:var(--gold-tint);overflow-wrap:anywhere}.degree-schedule-reselection p{margin:var(--sp-1) 0 0}.degree-schedule-candidate-header{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--line)}.degree-schedule-candidate-courses{background:var(--surface)}.degree-schedule-candidate-courses>li{display:block;padding:var(--sp-3);border-top:1px solid var(--line)}.degree-schedule-candidate-courses>li:first-child{border-top:0}.degree-schedule-candidate-courses>li .degree-schedule-course-row small{display:block;color:var(--muted);font-size:var(--text-sm)}.degree-schedule-decision-card>.degree-schedule-candidate-courses,.degree-schedule-locked-decision>.degree-schedule-candidate-courses{background:none}.degree-schedule-decision-card>.degree-schedule-candidate-courses{margin-top:var(--sp-3)}.degree-schedule-text-action{padding:0;border:0;background:none;color:var(--accent);font-size:var(--text-sm);font-weight:600;cursor:pointer}.degree-schedule-text-action:hover:not(:disabled){text-decoration:underline}.degree-schedule-text-action:disabled{color:var(--muted);cursor:default}.degree-schedule-years{margin:var(--sp-5) 0}.degree-schedule-year-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}@media(max-width:640px){.degree-schedule-year-columns{grid-template-columns:1fr}}.degree-schedule-semester{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.degree-schedule-semester-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--neutral-surface);border-bottom:1px solid var(--line)}.degree-schedule-semester-header h5{margin:0;font-size:var(--text-md)}.degree-schedule-semester-header span{color:var(--muted);font-size:var(--text-sm);white-space:nowrap}.degree-schedule-semester .empty-state{padding:var(--sp-3) var(--sp-4)}.degree-schedule-semester-courses{list-style:none;margin:0;padding:0}.degree-schedule-semester-course{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--line)}.degree-schedule-semester-course:first-child{border-top:0}.degree-schedule-semester-course .degree-schedule-course-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3)}.degree-schedule-semester-course .degree-schedule-course-row span:last-child{color:var(--muted);font-size:var(--text-sm);white-space:nowrap}.degree-schedule-semester-course small{display:block;color:var(--muted);font-size:var(--text-sm)}.degree-schedule-badge{display:inline-block;margin-top:var(--sp-1);padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;letter-spacing:.03em}.degree-schedule-badge--grade{color:var(--ready);background:var(--ready-tint);font-family:var(--font-data)}.degree-schedule-badge--in-progress{color:var(--gold-text);background:var(--gold-tint);text-transform:uppercase}.degree-schedule-badge--added{color:var(--pending);background:var(--pending-tint);text-transform:uppercase}.degree-schedule-candidate-courses .degree-schedule-badge--decision{color:var(--accent);background:var(--accent-tint);font-size:var(--text-xs);text-transform:uppercase}.degree-schedule-suggested{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--line)}.degree-schedule-suggested h6{margin:0 0 var(--sp-2);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.degree-schedule-suggested .degree-schedule-semester-course{padding:var(--sp-2) 0}.degree-schedule-suggested--elective .degree-schedule-semester-course,.degree-schedule-suggested--elective .degree-schedule-semester-course strong{color:var(--muted)}.degree-schedule-term-decisions{list-style:none;margin:0;display:grid;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--line)}.degree-schedule-term-decision{padding:var(--sp-3)}.degree-schedule-term-decisions:has(>.degree-schedule-locked-decision:first-child){padding-top:0;border-top:0}.degree-schedule-locked-decision.degree-schedule-term-decision{padding-top:0}.degree-schedule-decision-card h6{margin:0;font-size:var(--text-sm);font-weight:700;text-wrap:balance}.degree-schedule-term-decision .degree-schedule-decision-heading>div{display:grid;justify-items:end;gap:2px}.degree-schedule-term-decision-codes{margin:var(--sp-2) 0 0;font-family:var(--font-data);font-size:var(--text-sm);overflow-wrap:anywhere}.degree-schedule-edit-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:var(--sp-4);background:var(--overlay-backdrop)}.degree-schedule-edit-dialog{width:min(32rem,100%);max-height:85vh;overflow-y:auto;overscroll-behavior:contain;padding:var(--sp-5);background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:var(--radius);box-shadow:0 18px 48px var(--shadow-ink);outline:none}.degree-schedule-edit-title{margin:0 0 var(--sp-3);font-size:var(--text-md)}.degree-schedule-edit-footer{display:flex;justify-content:flex-end;margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:1px solid var(--line)}.career-optimization{display:grid;gap:var(--sp-4)}.career-optimization-header,.career-preview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4)}.career-optimization h3,.career-optimization h4,.career-optimization h5,.career-optimization p{margin:0}.career-optimization-header h3,.career-optimization-comparison h4{font-size:var(--text-md)}.career-optimization-header p,.career-preview-header p,.career-optimization-message p,.career-optimization-comparison>p,.career-change-explanation p,.career-change-movement,.career-change-no-provenance,.career-optimization-unchanged{margin-top:var(--sp-1);color:var(--muted);font-size:var(--text-sm)}.career-optimization-loading{display:flex;flex-direction:column;align-items:stretch;gap:var(--sp-2);min-height:44px;color:var(--muted)}.career-optimization-message{padding:var(--sp-3) var(--sp-4);border:1px solid var(--line);border-radius:var(--radius-sm);overflow-wrap:anywhere}.career-optimization-message--success{border-color:rgb(var(--accent-rgb) / .45);background:var(--accent-tint)}.career-optimization-message--warning{background:var(--gold-tint)}.career-optimization-message--neutral{background:var(--neutral-surface)}.career-optimization-message>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--sp-2)}.career-optimization-message small{display:block;margin-top:var(--sp-2);color:var(--muted)}.career-optimization-role{color:var(--muted);font-size:var(--text-sm)}.career-optimization-target{display:flex;align-items:baseline;gap:var(--sp-2);margin:var(--sp-2) 0!important}.career-optimization-target span{color:var(--muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.career-timing-impact{padding:var(--sp-3) var(--sp-4);color:var(--ink)!important;background:var(--ready-tint);border-left:3px solid var(--ready);font-weight:600}.career-optimization-comparison,.career-preview{display:grid;gap:var(--sp-3)}.career-change-list{display:grid;gap:var(--sp-3);margin:0;padding:0;list-style:none}.career-change-list>li{min-width:0;padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius-sm)}.career-change-list h5{font-size:var(--text-sm)}.career-change-delta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-3);margin-top:var(--sp-3)}.career-change-delta-group{display:grid;gap:var(--sp-1);min-width:0;padding:var(--sp-3);background:var(--neutral-surface);border-radius:var(--radius-sm);overflow-wrap:anywhere}.career-change-delta-group>span:first-child{color:var(--muted);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.career-change-delta-group--removed{border-left:3px solid var(--gold)}.career-change-delta-group--added{border-left:3px solid var(--ready)}.career-change-movement{margin-top:var(--sp-3);padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--radius-sm)}.career-change-movement p{margin-top:var(--sp-1)}.career-change-explanation{margin-top:var(--sp-3);overflow-wrap:anywhere}.career-change-no-provenance{font-style:italic}.career-preview{padding-top:var(--sp-4);border-top:1px solid var(--line)}.career-preview-disclosure{justify-self:start}.career-preview-toggle{display:inline-flex;flex:none;max-width:100%;padding:3px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--neutral-surface)}.career-preview-toggle button{min-width:0;padding:var(--sp-2) var(--sp-3);border:0;border-radius:calc(var(--radius-sm) - 2px);color:var(--muted);background:transparent;font:inherit;font-size:var(--text-sm);cursor:pointer}.career-preview-toggle button.is-active{color:var(--ink);background:var(--surface);box-shadow:var(--shadow-sm)}.career-preview-toggle button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.career-optimization-refresh{justify-self:start}@media(max-width:640px){.degree-planner-summary,.degree-planner-summary-facts{grid-template-columns:1fr}.degree-planner-summary-facts>div{padding:var(--sp-2) 0 0;border-top:1px solid var(--line);border-left:0}.requirement-group-children{margin-left:var(--sp-2);padding-left:var(--sp-2)}.requirement-group-header{align-items:flex-start}.course-discovery-status-badge--manual-review{max-width:118px;white-space:normal;text-align:center}.degree-schedule-deferred>ul>li>div{align-items:flex-start;flex-direction:column;gap:var(--sp-2)}.degree-schedule-decision-heading{align-items:flex-start;flex-direction:column}.degree-schedule-decision-heading>div{justify-items:start}.degree-schedule-candidate-action .btn,.degree-schedule-choice-actions .btn{width:100%}.career-optimization-header,.career-preview-header{align-items:stretch;flex-direction:column}.career-optimization-header .btn,.career-preview-toggle,.career-optimization-refresh{width:100%}.career-preview-toggle button{flex:1 1 50%;white-space:normal}.career-change-delta{grid-template-columns:1fr}}.course-discovery-meta{font-size:var(--text-sm);color:var(--muted);margin-top:var(--sp-3)}.course-discovery-meta a{color:inherit}.course-discovery-prereqs{list-style:none;display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-2)}.course-discovery-prereq{display:inline-flex;align-items:baseline;gap:6px;font-size:var(--text-sm);padding:3px var(--sp-2);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.course-discovery-prereq-code{font-family:var(--font-data);font-weight:500;color:var(--ink)}.course-discovery-prereq-status{font-size:var(--text-xs);color:var(--muted)}@media(max-width:640px){.course-discovery-role-select select{max-width:none}}.action-plan-section{margin-top:var(--sp-6)}.action-plan-divider{border:none;border-top:1px solid var(--line);margin-bottom:var(--sp-6)}.action-plan-cta{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-3)}.action-plan-ordered-list{list-style:decimal;padding-left:1.25em;display:flex;flex-direction:column;gap:var(--sp-3)}.action-plan-ordered-item{font-size:var(--text-base);color:var(--ink)}.action-plan-item-label{font-family:var(--font-data)}.action-plan-item-requires{display:block;font-size:var(--text-sm);color:var(--muted);margin-top:2px}.action-plan-unconstrained-list{list-style:none;display:flex;flex-direction:column;gap:var(--sp-2);font-family:var(--font-data);font-size:var(--text-base);color:var(--ink)}.action-plan-banner{margin-top:var(--sp-6);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius);border:1px solid var(--line)}.action-plan-banner--complete{background:var(--ready-tint);border-color:var(--ready-border)}.action-plan-banner--provisional{background:var(--pending-tint);border-color:var(--line)}.action-plan-banner-status{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600}.action-plan-banner--complete .action-plan-banner-status{color:var(--ready)}.action-plan-banner--provisional .action-plan-banner-status{color:var(--pending)}.action-plan-banner-detail{font-size:var(--text-sm);color:var(--muted);margin-top:2px}.action-plan-limitation-list{list-style:disc;padding-left:1.25em;margin-top:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-2);font-size:var(--text-sm);color:var(--ink)}.editable-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-4);gap:var(--sp-3)}.editable-section-title{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.editable-section-actions{display:flex;align-items:center;gap:var(--sp-2);flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.section-errors{list-style:none;display:flex;flex-direction:column;gap:var(--sp-1);margin-bottom:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--error-tint);border:1px solid var(--error-tint-border);border-radius:var(--radius)}.section-error-item{font-size:var(--text-sm);color:var(--error)}.missing-field-label{margin-right:var(--sp-2)}.missing-field-link{color:inherit;text-decoration:underline}.missing-field-link:hover,.missing-field-link:focus-visible{text-decoration:none}.career-panel{display:flex;flex-direction:column;gap:var(--sp-3)}.summary-row-view{display:flex;flex-direction:column;gap:var(--sp-4)}.summary-field{display:flex;flex-direction:column;gap:3px}.summary-label{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.summary-value{font-size:var(--text-base);color:var(--ink);line-height:1.55}.summary-row-edit{display:flex;flex-direction:column;gap:var(--sp-3)}.tag-input-field{display:flex;flex-direction:column;gap:var(--sp-2)}.tag-input-container{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center;padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-height:40px;cursor:text;transition:border-color .12s ease}.tag-input-container:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-tint)}.tag-input-disabled{background:var(--paper);cursor:default}.tag-chip,.tag-chip-view{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-data);font-size:var(--text-xs);font-weight:400;padding:2px 8px;border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);border:1px solid var(--line);white-space:nowrap;letter-spacing:.01em}.tag-remove{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:none;border:none;cursor:pointer;font-size:.95rem;color:var(--muted);line-height:1;padding:0;transition:color .1s ease}.tag-remove:hover{color:var(--error)}.tag-text-input{border:none;outline:none;font-family:var(--font-data);font-size:var(--text-sm);color:var(--ink);background:transparent;flex:1;min-width:100px;padding:2px 4px}.tag-chips-view{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.target-role-chip-group{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.target-role-add-row{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.target-role-add-row .form-select{flex:1;min-width:200px}.target-role-add-note{font-size:var(--text-xs);color:var(--muted);margin-top:var(--sp-1)}.skills-view{display:flex;flex-direction:column;gap:var(--sp-4)}.skills-group{display:flex;flex-direction:column;gap:var(--sp-2)}.skills-group-label{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.skills-edit,.experience-list,.projects-list,.cert-list{display:flex;flex-direction:column;gap:var(--sp-3)}.experience-card,.project-card,.cert-card{padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.exp-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2);margin-bottom:3px}.exp-employer,.proj-name{font-size:var(--text-base);font-weight:600;color:var(--ink)}.cert-name{font-size:var(--text-base);font-weight:500;color:var(--ink)}.exp-role{font-size:var(--text-sm);color:var(--muted)}.exp-meta{font-family:var(--font-data);font-size:var(--text-xs);color:var(--muted);margin-bottom:var(--sp-2)}.exp-description,.proj-description{font-size:var(--text-base);color:var(--ink);line-height:1.55;margin-bottom:var(--sp-2)}.exp-skills,.proj-tools{margin-top:var(--sp-2)}.proj-header{display:flex;align-items:baseline;gap:var(--sp-3);margin-bottom:var(--sp-2);flex-wrap:wrap}.proj-timeframe{font-family:var(--font-data);font-size:var(--text-xs);color:var(--muted)}.cert-card{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:baseline}.cert-issuer,.cert-status,.cert-date{font-family:var(--font-data);font-size:var(--text-sm);color:var(--muted)}.cert-issuer:before{content:"·";margin-right:var(--sp-2)}.cert-status:before{content:"·";margin-right:var(--sp-2)}.cert-date:before{content:"·";margin-right:var(--sp-2)}.experience-edit,.projects-edit,.cert-edit{display:flex;flex-direction:column;gap:var(--sp-4)}.exp-edit-card,.proj-edit-card,.cert-edit-card{padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);display:flex;flex-direction:column;gap:var(--sp-3)}.exp-edit-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:3px}.exp-edit-index{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:calc(6px * var(--btn-scale));font-family:var(--font-ui);font-size:calc(var(--text-sm) * var(--btn-scale));font-weight:500;border-radius:var(--radius);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease;text-decoration:none;white-space:nowrap;border:1px solid transparent;padding:calc(var(--sp-2) * var(--btn-scale)) calc(var(--sp-4) * var(--btn-scale));line-height:1;letter-spacing:.01em}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost{background:transparent;color:var(--accent);border-color:var(--accent-ghost-border)}.btn-ghost:hover:not(:disabled){background:var(--accent-tint)}.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--line)}.btn-secondary:hover:not(:disabled){border-color:rgb(var(--ink-rgb) / .35)}.btn-danger-ghost{background:transparent;color:var(--error);border-color:var(--error-ghost-border)}.btn-danger-ghost:hover:not(:disabled){background:var(--error-tint)}.btn-sm{padding:calc(4px * var(--btn-scale)) calc(var(--sp-3) * var(--btn-scale));font-size:calc(var(--text-xs) * var(--btn-scale))}.btn-full{width:100%}.btn-loading{display:inline-flex;align-items:center;gap:6px}.btn-add{margin-top:var(--sp-3);border-style:dashed;color:var(--muted);border-color:var(--line)}.btn-add:hover:not(:disabled){color:var(--ink);background:var(--paper);border-style:dashed}.form-group{display:flex;flex-direction:column;gap:var(--sp-1);flex:1}.form-label{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.form-input,.form-select,.form-textarea{width:100%;padding:var(--sp-2) var(--sp-3);font-family:var(--font-ui);font-size:var(--text-base);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);transition:border-color var(--t-quick) var(--ease-out),box-shadow var(--t-quick) var(--ease-out);line-height:1.4;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236E6862' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-tint)}.form-textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}.dp-panel{width:100%;display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-align:left}.dp-file{margin:0;font-family:var(--font-data);font-size:var(--text-sm);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dp-stage{display:flex;flex-direction:column;gap:var(--sp-1);min-height:4.25rem}.dp-stage-label{display:flex;align-items:baseline;gap:var(--sp-2);margin:0;font-family:var(--font-ui);font-size:var(--text-base);line-height:1.45;color:var(--ink);animation:dp-stage-in var(--t-move) var(--ease-out) both}.dp-stage-detail{margin:0;font-family:var(--font-ui);font-size:var(--text-sm);line-height:1.55;color:var(--muted)}@keyframes dp-stage-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.dp-marker{flex:none;width:6px;height:6px;border-radius:50%;background:var(--accent-text);animation:dp-pulse var(--t-pulse) ease-in-out infinite}@keyframes dp-pulse{0%,to{opacity:1}50%{opacity:.35}}.dp-rail{position:relative;height:2px;border-radius:1px;background:var(--line);overflow:hidden}.dp-rail-run{position:absolute;top:0;left:0;height:100%;width:38%;border-radius:inherit;background:var(--accent-text);animation:dp-rail-travel 1.65s linear infinite}@keyframes dp-rail-travel{0%{transform:translate(-100%)}to{transform:translate(363%)}}.dp-note{margin:0;font-family:var(--font-ui);font-size:var(--text-sm);line-height:1.55;color:var(--muted)}@media(prefers-reduced-motion:reduce){.dp-rail{height:1px}.dp-rail-run{display:none}.dp-marker{animation:none;opacity:1}.dp-stage-label{animation:none}}@media(max-width:40rem){.dp-panel{padding:var(--sp-3)}.dp-stage{min-height:4.75rem}}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:28px;height:28px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin var(--t-spin) linear infinite}@keyframes skeleton-pulse{0%,to{opacity:.55}50%{opacity:.9}}.analysis-loading>.spinner,.career-optimization-loading>.spinner{--skeleton-bar: rgb(var(--ink-rgb) / .08);width:100%;max-width:560px;height:64px;border:0;border-radius:0;background:linear-gradient(var(--skeleton-bar) 0 0) 0 0 / 38% 12px,linear-gradient(var(--skeleton-bar) 0 0) 0 24px / 100% 9px,linear-gradient(var(--skeleton-bar) 0 0) 0 40px / 92% 9px,linear-gradient(var(--skeleton-bar) 0 0) 0 56px / 64% 8px;background-repeat:no-repeat;animation:skeleton-pulse var(--t-pulse) ease-in-out infinite}.grade-card--skeleton{aspect-ratio:1;justify-content:center;animation:skeleton-pulse var(--t-pulse) ease-in-out infinite}.grade-card--skeleton:before{content:"";align-self:center;width:56%;aspect-ratio:1;border:10px solid rgb(var(--ink-rgb) / .07);border-radius:50%}.grade-card-loading>p{margin-top:var(--sp-3);color:var(--muted);font-size:var(--text-sm)}.spinner-small{display:inline-block;width:12px;height:12px;border:1.5px solid var(--on-accent-border);border-top-color:var(--on-accent);border-radius:50%;animation:spin var(--t-spin) linear infinite;vertical-align:middle;margin-right:4px}.loading-screen{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--paper)}.login-bg{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--neutral-rail-bg);padding:var(--sp-6)}.login-card{background:var(--neutral-surface);border-radius:var(--radius);width:100%;max-width:360px;overflow:hidden}.login-header{padding:var(--sp-8) var(--sp-8) var(--sp-6);border-bottom:1px solid var(--neutral-line)}.login-logo{font-family:var(--font-display);font-size:var(--text-xl);font-weight:300;color:var(--ink);line-height:1;margin-bottom:var(--sp-1);letter-spacing:-.01em}.login-subtitle{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.login-form{padding:var(--sp-6) var(--sp-8);display:flex;flex-direction:column;gap:var(--sp-4)}.login-form .btn-primary{background:var(--neutral-accent);border-color:var(--neutral-accent);color:var(--neutral-on-accent)}.login-error{color:var(--error);font-size:var(--text-sm);padding:var(--sp-2) var(--sp-3);background:var(--error-tint);border:1px solid var(--error-tint-border);border-radius:var(--radius)}.login-note{text-align:center;font-size:var(--text-xs);color:var(--muted);padding:0 var(--sp-8) var(--sp-5);letter-spacing:.02em}.profile-header{display:none}.feature-badge{padding:var(--sp-3) var(--sp-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.feature-ready{background:var(--ready-tint);border-color:var(--ready-border)}.feature-not-ready{background:var(--paper)}.feature-label{font-family:var(--font-data);font-weight:500}.feature-subtitle{font-size:var(--text-xs);color:var(--muted)}.feature-status{font-size:var(--text-xs);font-weight:600;padding:2px 6px;border-radius:var(--radius-sm)}.status-ready{background:var(--ready);color:var(--on-accent)}.status-pending{background:var(--line);color:var(--muted)}.progress-row{display:flex;align-items:center;gap:var(--sp-3)}.progress-label{font-size:var(--text-xs);font-weight:600;color:var(--muted);min-width:72px;text-transform:uppercase;letter-spacing:.07em}.progress-bar{flex:1;height:4px;background:var(--line);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .3s ease}.progress-pct{font-family:var(--font-data);font-size:var(--text-xs);color:var(--muted);min-width:36px;text-align:right}.text-muted{color:var(--muted)}.empty-state{font-size:var(--text-sm);color:var(--muted);padding:var(--sp-3) 0}.readiness-state{text-transform:capitalize}.dash-notice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-6);padding:var(--sp-3) var(--sp-4);border:1px solid var(--ready-border);border-left:3px solid var(--ready);border-radius:var(--radius);background:var(--ready-tint)}.dash-notice-mark{font-family:var(--font-data);font-size:var(--text-base);font-weight:600;color:var(--ready)}.dash-notice-text{margin:0;font-size:var(--text-base);color:var(--ink)}.dash-notice-dismiss{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:none;font-size:var(--text-md);line-height:1;color:var(--muted);cursor:pointer}.dash-notice-dismiss:hover{border-color:var(--ready-border);color:var(--ink)}.real-empty{padding:var(--sp-5);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.real-empty h3{margin-top:0}.real-course-table{display:grid;grid-template-columns:minmax(0,1fr) auto auto;column-gap:var(--sp-4)}.real-course-row small,.real-note{color:var(--muted)}.real-course-row{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-columns:subgrid;align-items:center;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);transition:background-color var(--t-quick) var(--ease-out)}.real-course-row:hover{background:rgb(var(--ink-rgb) / .025)}.real-course-row span:first-child{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.real-course-row>span:first-child>small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.real-course-row>span:nth-child(2){justify-self:end;white-space:nowrap;font-variant-numeric:tabular-nums}.real-course-row>span:nth-child(3){justify-self:end}@media(max-width:640px){.real-course-table{grid-template-columns:minmax(0,1fr)}.real-course-row>span:nth-child(n+2){justify-self:start}}.cp{display:flex;flex-direction:column;gap:var(--sp-10)}.cp-summary{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--sp-6);padding-bottom:var(--sp-5);border-bottom:1px solid var(--line)}.cp-summary-roles{margin:0;max-width:46ch;font-family:var(--font-display);font-size:var(--text-xl);line-height:1.25;color:var(--ink)}.cp-summary-roles--absent{font-family:var(--font-ui);font-size:var(--text-md);color:var(--muted)}.cp-metrics{display:flex;flex-wrap:wrap;gap:var(--sp-8);margin:0}.cp-metric{display:flex;flex-direction:column-reverse;gap:var(--sp-1)}.cp-metric-value{margin:0;font-family:var(--font-data);font-size:var(--text-2xl);line-height:1;color:var(--ink)}.cp-metric-label{font-family:var(--font-ui);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.cp-section{min-width:0}.cp-section-head{display:flex;align-items:baseline;gap:var(--sp-3);margin-bottom:var(--sp-4);padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.cp-section-title{margin:0;font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}.cp-section-count{font-family:var(--font-data);font-size:var(--text-xs);color:var(--muted)}.cp-subhead{margin:0 0 var(--sp-2);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.cp-details{display:grid;grid-template-columns:repeat(4,minmax(min(12rem,100%),1fr));gap:var(--sp-5) var(--sp-8);margin:0;align-items:start}@media(max-width:60rem){.cp-details{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:40rem){.cp-details{grid-template-columns:minmax(0,1fr)}}.cp-detail{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.cp-detail-label{font-family:var(--font-ui);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.cp-detail-value-group{display:flex;flex-direction:column;gap:var(--sp-1);margin:0;min-width:0}.cp-detail-value{font-size:var(--text-base);line-height:1.4;color:var(--ink);overflow-wrap:anywhere}.cp-detail-value--absent{color:var(--muted)}.cp-detail .editable-section,.cp-field .editable-section{background:none;border:0;border-radius:0;box-shadow:none;padding:0}.cp-detail .editable-section-header,.cp-field .editable-section-header{margin-bottom:var(--sp-1);gap:var(--sp-2);align-items:baseline}.cp-detail .editable-section-header:has(.btn-primary),.cp-field .editable-section-header:has(.btn-primary){align-items:flex-start}.cp-detail .editable-section-header:has(.btn-primary) .editable-section-title,.cp-field .editable-section-header:has(.btn-primary) .editable-section-title{min-height:2.6em;line-height:1.3}.cp-direction-grid .cp-field{padding-inline:var(--sp-1)}.cp-detail .editable-section-title{letter-spacing:.08em}.cp-detail .editable-section-actions .btn-ghost,.cp-field .editable-section-actions .btn-ghost{opacity:.55;transition:opacity .12s ease}.cp-detail:hover .editable-section-actions .btn-ghost,.cp-field:hover .editable-section-actions .btn-ghost,.cp-detail .editable-section-actions .btn-ghost:focus-visible,.cp-field .editable-section-actions .btn-ghost:focus-visible,.cp-detail .editable-section-actions .btn-primary,.cp-field .editable-section-actions .btn-primary{opacity:1}@media(prefers-reduced-motion:reduce){.cp-detail .editable-section-actions .btn-ghost,.cp-field .editable-section-actions .btn-ghost{transition:none}}.cp-field-edit{display:flex;flex-direction:column;gap:var(--sp-2);min-width:0}.career-subtab-panel .cp-field-edit input:not([type=radio]):not([type=checkbox]),.career-subtab-panel .cp-field-edit select{border-radius:var(--radius-chip);transition:border-color .12s ease}.career-subtab-panel .cp-field-edit input:not([type=radio]):not([type=checkbox]):focus-visible,.career-subtab-panel .cp-field-edit select:focus-visible{border-color:rgb(var(--accent-rgb))}.career-subtab-panel .cp-field-edit input[type=radio],.career-subtab-panel .cp-field-edit input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:none;width:16px;height:16px;margin:0;border:1.5px solid var(--line);background:var(--surface);display:inline-grid;place-content:center;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.career-subtab-panel .cp-field-edit input[type=radio]{border-radius:50%}.career-subtab-panel .cp-field-edit input[type=checkbox]{border-radius:var(--radius-sm)}.career-subtab-panel .cp-field-edit input[type=radio]:checked,.career-subtab-panel .cp-field-edit input[type=checkbox]:checked{border-color:rgb(var(--accent-rgb))}.career-subtab-panel .cp-field-edit input[type=radio]:checked:after{content:"";width:8px;height:8px;border-radius:50%;background:rgb(var(--accent-rgb))}.career-subtab-panel .cp-field-edit input[type=checkbox]:checked{background:rgb(var(--accent-rgb))}.career-subtab-panel .cp-field-edit input[type=checkbox]:checked:after{content:"";width:4px;height:8px;border:solid var(--on-accent);border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}.career-subtab-panel .cp-field-edit input[type=radio]:disabled,.career-subtab-panel .cp-field-edit input[type=checkbox]:disabled{cursor:not-allowed;opacity:.6}.cp-field-edit .tag-input-field>.form-label,.cp-field-edit .profile-form-field>.field-label-text{display:none}.cp-detail .profile-ai-group{min-width:0}.cp-detail .profile-ai-group legend{margin-bottom:var(--sp-2);font-size:var(--text-sm);font-weight:400;line-height:1.4;color:var(--muted)}.cp-detail .profile-ai-options{gap:var(--sp-1)}.cp-detail .profile-ai-options label{padding:var(--sp-1) var(--sp-3);font-size:var(--text-sm)}.cp-detail .profile-ai-group small{display:block;margin-top:var(--sp-2);color:var(--muted)}.cp-field-status{margin:0;font-size:var(--text-sm);color:var(--muted)}.cp-direction{display:flex;flex-direction:column;gap:var(--sp-5)}.cp-field{min-width:0}.cp-direction-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-5) var(--sp-8)}@media(max-width:40rem){.cp-direction-grid{grid-template-columns:minmax(0,1fr)}}.cp-roles{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-1)}.cp-roles li{font-family:var(--font-display);font-size:var(--text-lg);line-height:1.3;color:var(--ink)}.cp-role-coverage-badge{font-family:var(--font-ui);margin-left:var(--sp-2);vertical-align:middle}.cp-inline-list,.cp-prose{margin:0;font-size:var(--text-base);line-height:1.6;color:var(--ink);max-width:60ch}.cp-inline-list{color:var(--muted)}.cp-absent{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-2)}.cp-absent-line{margin:0;font-size:var(--text-base);color:var(--ink)}.cp-absent-help{margin:0;max-width:56ch;font-size:var(--text-sm);line-height:1.6;color:var(--muted)}.cp-absent-link{display:inline-flex;align-items:center;min-height:24px;font-size:var(--text-sm);color:var(--accent-text);border-bottom:1px solid var(--accent-ghost-border);padding-bottom:1px;text-decoration:none}.cp-absent-link:hover{border-bottom-color:var(--accent-text)}.cp-skills{display:flex;flex-direction:column;gap:var(--sp-5);align-items:flex-start}.cp-skill-group{width:100%;min-width:0}.cp-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-2)}.cp-chips--tight{gap:var(--sp-1);margin-top:var(--sp-2)}.cp-chip{padding:4px 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);font-family:var(--font-ui);font-size:var(--text-sm);line-height:1.4;color:var(--ink)}.cp-chip--quiet{background:none;color:var(--muted);font-family:var(--font-data);font-size:var(--text-xs)}.cp-more{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:24px;padding:4px 0;border:none;border-bottom:1px solid var(--accent-ghost-border);background:none;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--accent-text);cursor:pointer}.cp-more:hover{border-bottom-color:var(--accent-text)}.cp-project .cp-more:after{content:"";width:10px;height:10px;flex-shrink:0;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;transition:transform var(--t-quick) var(--ease-out)}.cp-project .cp-more[aria-expanded=true]:after{transform:rotate(90deg)}.cp-project .cp-more:hover:after{transform:translate(2px)}.cp-project .cp-more[aria-expanded=true]:hover:after{transform:rotate(90deg)}@media(prefers-reduced-motion:reduce){.cp-project .cp-more:after{transition:none}}.cp-timeline{list-style:none;margin:0;padding:0}.cp-tl-item{position:relative;padding:0 0 var(--sp-6) var(--sp-6);border-left:1px solid var(--line)}.cp-tl-item:last-child{padding-bottom:0;border-left-color:transparent}.cp-tl-marker{position:absolute;left:-4px;top:5px;width:7px;height:7px;border-radius:50%;background:var(--accent-text)}.cp-tl-body{min-width:0}.cp-tl-org{margin:0;font-family:var(--font-display);font-size:var(--text-lg);line-height:1.25;color:var(--ink)}.cp-tl-role{margin:var(--sp-1) 0 0;font-size:var(--text-base);color:var(--ink)}.cp-tl-meta,.cp-cert-meta,.cp-project-when{font-family:var(--font-data);font-size:var(--text-xs);color:var(--muted)}.cp-tl-meta{margin:var(--sp-1) 0 0}.cp-tl-desc{margin:var(--sp-2) 0 0;max-width:62ch;font-size:var(--text-sm);line-height:1.6;color:var(--muted)}.cp-certs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(15rem,100%),1fr));align-items:start;gap:var(--sp-4)}.cp-cert{min-width:0;padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.cp-cert-name{margin:0;font-size:var(--text-base);font-weight:600;line-height:1.35;color:var(--ink)}.cp-cert-meta{margin:var(--sp-1) 0 0;display:block}.cp-cert-status{display:inline-block;margin-top:var(--sp-2);padding:1px 6px;border:1px solid var(--pending-tint);border-radius:var(--radius-sm);background:var(--pending-tint);font-family:var(--font-ui);font-size:var(--text-xs);color:var(--muted)}.cp-cert-status--done{border-color:var(--ready-border);background:var(--ready-tint);color:var(--ready)}.cp-projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));align-items:start;gap:var(--sp-6)}.cp-project{min-width:0;padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-2)}.cp-project-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--sp-2);width:100%}.cp-project-name{margin:0;font-family:var(--font-display);font-size:var(--text-md);line-height:1.3;color:var(--ink)}.cp-project-body{margin:0;font-size:var(--text-sm);line-height:1.65;color:var(--muted)}@media(max-width:60rem){.cp{gap:var(--sp-8)}}@media(max-width:40rem){.cp-summary{align-items:flex-start;gap:var(--sp-5)}.cp-metric-value{font-size:var(--text-xl)}.cp-projects{grid-template-columns:minmax(0,1fr)}.cp-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-5) var(--sp-4);width:100%}}@media(max-width:768px){:root{--stage-pad: 20px}.rail{position:fixed;left:0;top:0;height:100vh;transform:translate(-100%);transition:transform var(--t-move) var(--ease-out);z-index:50}.rail--open{transform:translate(0)}.rail-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-backdrop);z-index:40}.stage{width:100%}.topbar-menu{display:flex}.topbar{padding:0 var(--sp-4)}.overview-grid{grid-template-columns:1fr;gap:var(--sp-6)}.overview-name{font-size:var(--text-xl)}.overview-stats{flex-wrap:wrap;gap:var(--sp-5)}.topic-label{min-width:120px}.form-row{grid-template-columns:1fr}}@media(max-width:480px){.academic-tabs{overflow-x:auto;scrollbar-width:none}.academic-tabs::-webkit-scrollbar{display:none}.login-header{padding:var(--sp-6)}.login-form{padding:var(--sp-5) var(--sp-6)}.login-note{padding:0 var(--sp-6) var(--sp-4)}.card{padding:var(--sp-4)}}.resume-card{max-width:440px}.resume-intro{color:var(--muted);font-size:var(--text-sm);line-height:1.55;margin:0 0 var(--sp-2)}.resume-file-input{padding:var(--sp-2);cursor:pointer}.resume-file-note,.resume-error-hint,.resume-error-detail{font-size:var(--text-xs);color:var(--muted);margin:var(--sp-1) 0 0}.resume-error-hint{color:inherit;opacity:.85}.resume-error-detail{font-family:var(--font-data);word-break:break-word;opacity:.75}.resume-review-bg{min-height:100vh;background:var(--paper);padding:var(--sp-8) var(--sp-4)}.resume-review{max-width:720px;margin:0 auto}.resume-review-header{margin-bottom:var(--sp-6)}.resume-review-title{font-family:var(--font-display);font-size:var(--text-xl);margin:var(--sp-2) 0}.resume-section{margin-bottom:var(--sp-6)}.resume-section-title{display:flex;align-items:center;gap:var(--sp-2);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 var(--sp-3)}.resume-section-count{font-size:var(--text-xs);color:var(--muted);border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 var(--sp-2)}.resume-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-4) var(--sp-5);margin-bottom:var(--sp-3)}.resume-row-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-3)}.resume-row-title{font-family:var(--font-display);font-size:var(--text-base);margin:0}.resume-row-locked{font-size:var(--text-xs);color:var(--muted);white-space:nowrap}.resume-row-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 var(--sp-4)}.resume-row-error,.resume-row-saved{font-size:var(--text-sm);margin:var(--sp-2) 0 0}.resume-row-error{color:var(--error)}.resume-row-saved{color:var(--muted)}.resume-review-footer{position:sticky;bottom:0;background:var(--paper);border-top:1px solid var(--line);padding:var(--sp-4) 0 var(--sp-6)}@media(max-width:640px){.resume-review-bg{padding:var(--sp-5) var(--sp-3)}.resume-row-fields{grid-template-columns:1fr}}.rv-bg{--rv-gut: 2rem;min-height:100vh;background:var(--paper);color:var(--ink);padding:0 0 7rem}.rv-page{max-width:56rem;margin:0 auto;padding:3.25rem var(--rv-gut) 0}.rv-masthead{border-bottom:1px solid var(--line);padding-bottom:1.75rem}.rv-masthead-top{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}.rv-wordmark{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-data);font-size:.75rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--ink)}.rv-wordmark:before{content:"";width:7px;height:7px;flex:none;background:var(--accent-text);transform:rotate(45deg)}.rv-provenance{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:flex-end;font-family:var(--font-data);font-size:.7rem;color:var(--muted)}.rv-provenance-file{max-width:22ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rv-headline{font-family:var(--font-display);font-weight:500;font-size:clamp(2.6rem,6vw,4.15rem);line-height:1.06;letter-spacing:-.022em;max-width:15ch;margin:1.5rem 0 .75rem}.rv-standfirst{font-family:var(--font-ui);font-size:1.0625rem;line-height:1.62;color:var(--muted);max-width:58ch;margin:0}.rv-inline-glyph{font-family:var(--font-data);color:var(--ink)}.rv-ledger{display:grid;grid-template-columns:1fr auto;gap:1rem 2rem;align-items:end;padding:1.5rem 0 1.75rem}.rv-ledger-counts{display:flex;gap:2.5rem;flex-wrap:wrap}.rv-counter{display:flex;flex-direction:column;gap:.15rem}.rv-counter-value{font-family:var(--font-data);font-variant-numeric:tabular-nums;font-size:2.15rem;font-weight:500;letter-spacing:.01em;line-height:1;color:var(--ink);display:inline-block}.rv-counter-value-gap{color:var(--accent-text)}.rv-counter-label{font-family:var(--font-data);font-size:.65625rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}@keyframes rv-bump{0%{transform:translateY(0)}40%{transform:translateY(-.28em)}to{transform:translateY(0)}}.rv-counter-bump{animation:rv-bump .32s ease-out}.rv-ledger-actions{display:flex;justify-content:flex-end}.rv-jump{font-family:var(--font-data);font-size:.71875rem;letter-spacing:.06em;padding:.5rem .85rem;border:1px solid var(--accent-ghost-border);background:transparent;color:var(--accent-text);cursor:pointer;white-space:nowrap}.rv-jump:hover:not(:disabled){background:var(--accent-tint)}.rv-jump:disabled{color:var(--muted);border-color:var(--line);cursor:default}.rv-progress{grid-column:1 / -1;height:2px;background:var(--line);overflow:hidden}.rv-progress-fill{height:100%;width:100%;transform-origin:left;background:var(--accent);transition:transform var(--t-fill) var(--ease-out)}.rv-section{margin-top:0;padding-top:3.25rem;border-top:1px solid var(--line)}.rv-section-head{display:flex;align-items:center;gap:.875rem;font-family:var(--font-data);font-size:.6875rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 1.25rem}.rv-section-count{font-variant-numeric:tabular-nums;color:var(--ink)}.rv-section-head:after{content:"";width:28px;height:1px;flex:none;background:var(--line)}.rv-card{background:var(--surface);border:1px solid var(--line);padding:1.25rem 1.4rem;margin-bottom:.9rem}.rv-card-enter{opacity:0;transform:translateY(8px);animation:rv-card-in var(--t-move) var(--ease-out) forwards}@keyframes rv-card-in{to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.rv-card-enter{animation:none;opacity:1;transform:none}}.rv-card-head{margin-bottom:.9rem}.rv-card-title{font-family:var(--font-display);font-weight:400;font-size:1.35rem;line-height:1.15;letter-spacing:-.02em;margin:0}.rv-card-sub{font-family:var(--font-data);font-size:.72rem;color:var(--muted);margin:.3rem 0 0}.rv-card-locked{display:inline-block;margin-top:.5rem;font-family:var(--font-data);font-size:.65625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.rv-card-fields{display:flex;flex-direction:column}.rv-field{display:grid;grid-template-columns:1.25rem 9.5rem 1fr;gap:0 .75rem;align-items:baseline;padding:.3rem 0}.rv-glyph{font-family:var(--font-data);font-size:.85rem;color:var(--muted);text-align:center;-webkit-user-select:none;user-select:none}.rv-glyph-edited{color:var(--accent-text)}.rv-field-label{font-family:var(--font-data);font-size:.68rem;letter-spacing:.06em;color:var(--muted)}.rv-field-value{font-family:var(--font-ui);font-size:.9375rem;line-height:1.65;color:var(--ink);min-width:0}.rv-field-button{text-align:left;background:transparent;border:1px solid transparent;padding:.1rem .3rem;margin:-.1rem -.3rem;cursor:text;font:inherit;color:inherit;width:100%}.rv-field-button:hover{background:var(--accent-tint)}.rv-field-button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.rv-field-locked .rv-field-value{color:var(--muted)}.rv-longtext{display:block;white-space:pre-wrap}.rv-empty{color:var(--pending)}@keyframes rv-flash{0%{background:var(--accent-tint)}to{background:transparent}}.rv-field-flash{animation:rv-flash .9s ease-out}.rv-input{width:100%;font-family:var(--font-ui);font-size:.9375rem;line-height:1.5;color:var(--ink);background:var(--paper);border:1px solid var(--accent);padding:.15rem .35rem}.rv-input:focus{outline:2px solid var(--accent);outline-offset:1px}.rv-input-area{resize:vertical}.rv-chips{display:inline-flex;flex-wrap:wrap;gap:.3rem;align-items:center}.rv-chip{font-family:var(--font-data);font-size:.71875rem;line-height:1.3;letter-spacing:.04em;padding:.2rem .55rem;border:1px solid var(--line);background:var(--paper)}.rv-chip-count{font-family:var(--font-data);font-variant-numeric:tabular-nums;font-size:.65rem;color:var(--muted);padding-left:.15rem}.rv-gaps{display:grid;grid-template-columns:1.25rem 9.5rem 1fr;gap:0 .75rem;align-items:baseline;margin-top:.6rem;padding-top:.7rem;border-top:1px dashed var(--line)}.rv-gaps:before{content:""}.rv-gaps-label{font-family:var(--font-data);font-size:.68rem;letter-spacing:.06em;color:var(--muted)}.rv-gaps-list{display:flex;flex-wrap:wrap;gap:.35rem}.rv-gap-pill{font-family:var(--font-data);font-size:.71875rem;letter-spacing:.04em;padding:.2rem .55rem;border:1px dashed var(--accent-ghost-border);background:transparent;color:var(--accent-text);cursor:pointer}.rv-gap-pill:hover{background:var(--accent-tint)}.rv-gap-pill:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.rv-gap-pill-flag{background:var(--accent-tint);border-style:solid;border-color:var(--accent)}.rv-card-error,.rv-card-saved{font-family:var(--font-ui);font-size:.8rem;margin:.7rem 0 0}.rv-card-error{color:var(--error)}.rv-card-saved{color:var(--ready)}.rv-commit{position:fixed;left:0;right:0;bottom:0;z-index:40;background:rgb(var(--ink-rgb) / .04);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line)}.rv-commit-inner{max-width:56rem;margin:0 auto;padding:.85rem var(--rv-gut);display:flex;align-items:center;justify-content:space-between;gap:1rem}.rv-commit-status{font-family:var(--font-ui);font-size:.82rem;color:var(--accent-text);margin:0;min-width:0}.rv-commit-error{color:var(--error)}.rv-commit-button{font-family:var(--font-ui);font-size:calc(.9375rem * var(--btn-scale));font-weight:500;padding:calc(.8125rem * var(--btn-scale)) calc(1.625rem * var(--btn-scale));border:1px solid var(--accent);background:var(--accent);color:var(--on-accent, #fff);cursor:pointer;white-space:nowrap}.rv-commit-button:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.rv-commit-button:disabled{opacity:.75;cursor:default}.rv-commit-button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.confirm-anim-label{transition:opacity .15s var(--ease-out)}.confirm-anim.is-loading:disabled,.confirm-anim.is-success:disabled{opacity:1;cursor:default}.confirm-anim.is-loading .confirm-anim-label,.confirm-anim.is-success .confirm-anim-label,.confirm-anim.is-error .confirm-anim-label{opacity:0}.confirm-anim-spinner{position:absolute;top:50%;left:50%;width:16px;height:16px;opacity:0;transform:translate(-50%,-50%) scale(.4);transition:opacity .15s var(--ease-out),transform .25s var(--ease-spring)}.confirm-anim-spinner:before{content:"";display:block;width:100%;height:100%;border-radius:50%;border:2px solid rgb(var(--on-accent-rgb) / .35);border-top-color:var(--on-accent);animation:confirm-anim-spin var(--t-spin) linear infinite}.confirm-anim.is-loading .confirm-anim-spinner{opacity:1;transform:translate(-50%,-50%) scale(1)}@keyframes confirm-anim-spin{to{transform:rotate(360deg)}}.confirm-anim-icon{position:absolute;top:50%;left:50%;width:16px;height:16px;fill:none;stroke:var(--on-accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:0}.confirm-anim-check{stroke-dasharray:20;stroke-dashoffset:20;transform:translate(-50%,-50%) scale(.4)}.confirm-anim.is-success .confirm-anim-check{opacity:1;animation:confirm-anim-check-draw .3s var(--ease-out) forwards,confirm-anim-icon-pop .45s var(--ease-spring) forwards}@keyframes confirm-anim-check-draw{to{stroke-dashoffset:0}}@keyframes confirm-anim-icon-pop{0%{transform:translate(-50%,-50%) scale(.4)}55%{transform:translate(-50%,-50%) scale(1.3)}to{transform:translate(-50%,-50%) scale(1)}}.confirm-anim-cross{transform:translate(-50%,-50%) scale(.4)}.confirm-anim.is-error .confirm-anim-cross{opacity:1;animation:confirm-anim-icon-pop .3s var(--ease-spring) forwards}.confirm-anim.is-success{animation:confirm-anim-slam .5s var(--ease-out)}@keyframes confirm-anim-slam{0%{transform:scale(1)}35%{transform:scale(1.1)}62%{transform:scale(.94)}to{transform:scale(1)}}.confirm-anim-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;border:2px solid var(--on-accent);opacity:0;pointer-events:none}.confirm-anim.is-success .confirm-anim-ring{animation:confirm-anim-ring .6s var(--ease-out)}@keyframes confirm-anim-ring{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.4)}}.confirm-anim.is-error,.confirm-anim.is-error:hover:not(:disabled){--press-fill: var(--error);animation:confirm-anim-shake .4s var(--ease-out);background:var(--error);border-color:var(--error)}@keyframes confirm-anim-shake{20%{transform:translate(-5px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}to{transform:translate(0)}}@media(prefers-reduced-motion:reduce){.confirm-anim.is-success,.confirm-anim.is-error,.confirm-anim-ring,.confirm-anim-spinner:before{animation:none!important}.confirm-anim-check,.confirm-anim-cross{animation:none!important;transform:translate(-50%,-50%) scale(1)!important;stroke-dashoffset:0!important}}.rv-confirming{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;display:flex;align-items:center;justify-content:center;padding:var(--sp-4);background:var(--overlay-backdrop);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.rv-confirming-panel{display:flex;flex-direction:column;align-items:center;gap:.75rem;max-width:22rem;padding:1.75rem 2rem;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 30px rgb(var(--ink-rgb) / .18)}.rv-confirming-title{margin:0;font-weight:600;color:var(--ink)}.rv-confirming-note{margin:0;font-size:.875rem;line-height:1.45;color:var(--muted)}@media(max-width:640px){.rv-bg{--rv-gut: 1.375rem}.rv-page{padding:2rem var(--rv-gut) 0}.rv-section{padding-top:2.25rem}.rv-ledger{grid-template-columns:1fr;align-items:start}.rv-ledger-counts{gap:1.5rem}.rv-counter-value{font-size:1.75rem}.rv-ledger-actions{justify-content:flex-start}.rv-field,.rv-gaps{grid-template-columns:1.25rem 1fr}.rv-field-value,.rv-gaps-list{grid-column:2}.rv-commit-inner{flex-direction:column;align-items:stretch;gap:.6rem}.rv-commit-button{width:100%}.rv-commit-status{text-align:center}}@media(prefers-reduced-motion:reduce){.rv-counter-bump{animation:none}.rv-field-flash{animation:none;background:var(--accent-tint)}.rv-progress-fill{transition:none}}.rv-term-meta{font-family:var(--font-data);font-size:.6875rem;letter-spacing:.08em;color:var(--muted);margin:-.75rem 0 1.1rem;font-variant-numeric:tabular-nums}.rv-card-flags{list-style:none;margin:0 0 .9rem;padding:0;display:flex;flex-wrap:wrap;gap:.4rem .75rem}.rv-card-flag{font-family:var(--font-data);font-size:.65625rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);border-left:2px solid var(--line);padding-left:.5rem}.rv-repeats-lede{font-family:var(--font-ui);font-size:.9375rem;line-height:1.62;color:var(--muted);margin:0 0 1.1rem;max-width:58ch}.rv-repeats-emphasis{color:var(--ink);font-weight:500}.rv-repeats-list{list-style:none;margin:0;padding:0}.rv-repeat{display:grid;grid-template-columns:7rem 3rem 1fr;gap:0 1rem;align-items:baseline;padding:.7rem 0;border-top:1px solid var(--line)}.rv-repeat-code{font-family:var(--font-data);font-size:.8125rem;color:var(--ink)}.rv-repeat-grade{font-family:var(--font-data);font-size:.8125rem;color:var(--muted);font-variant-numeric:tabular-nums}.rv-repeat-note{font-family:var(--font-ui);font-size:.875rem;color:var(--muted)}.rv-repeats-foot{font-family:var(--font-ui);font-size:.8125rem;color:var(--muted);margin:1rem 0 0;max-width:58ch}.rv-crosscheck{border-left:2px solid var(--ink);padding:.25rem 0 .25rem 1.1rem;margin:2.5rem 0 0}.rv-crosscheck-head{font-family:var(--font-display);font-weight:400;font-size:1.15rem;letter-spacing:-.01em;margin:0 0 .5rem;color:var(--ink)}.rv-crosscheck-lede{font-family:var(--font-ui);font-size:.875rem;line-height:1.6;color:var(--muted);margin:0 0 .9rem;max-width:58ch}.rv-crosscheck-list{list-style:none;margin:0;padding:0}.rv-crosscheck-row{display:grid;grid-template-columns:9rem 7rem 1fr;gap:0 1rem;align-items:baseline;padding:.5rem 0;border-top:1px solid var(--line);font-family:var(--font-data);font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums}.rv-crosscheck-term{color:var(--ink)}.rv-crosscheck-values strong{color:var(--ink);font-weight:500}.rv-commit-blocked{color:var(--muted)}.rv-page-narrow{max-width:46rem}.rv-upload{display:flex;flex-direction:column;gap:.75rem;align-items:flex-start;padding-top:2.5rem;border-top:1px solid var(--line)}.rv-upload-label{font-family:var(--font-data);font-size:.6875rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.rv-upload-help,.rv-upload-footnote{font-family:var(--font-ui);font-size:.8125rem;line-height:1.6;color:var(--muted);margin:0;max-width:58ch}.rv-upload-footnote{margin-top:2rem}.rv-upload-error{border-left:2px solid var(--error);padding:.1rem 0 .1rem 1rem;margin:.5rem 0;max-width:58ch}.rv-upload-error-title{display:block;font-family:var(--font-display);font-weight:400;font-size:1.05rem;color:var(--ink);margin-bottom:.35rem}.rv-upload-error-action{font-family:var(--font-ui);font-size:.875rem;line-height:1.6;color:var(--ink);margin:0 0 .4rem}.rv-upload-error-detail{font-family:var(--font-data);font-size:.75rem;line-height:1.55;color:var(--muted);margin:0}.rv-upload-reset{font-family:var(--font-ui);font-size:.875rem;background:none;border:none;border-bottom:1px solid var(--line);color:var(--muted);padding:0 0 .15rem;cursor:pointer}.rv-upload-reset:hover{color:var(--ink)}@media(max-width:40rem){.rv-repeat,.rv-crosscheck-row{grid-template-columns:1fr;gap:.15rem}}.term-planner{display:grid;gap:var(--sp-6)}.term-planner-loading,.term-search-hint{color:var(--muted);font-size:.875rem;margin:var(--sp-2) 0 0}.term-planner-error{color:var(--ink);font-size:.875rem;padding:var(--sp-3) var(--sp-4);border:1px solid var(--line);border-left-width:3px;background:var(--surface);margin:0}.term-planner-header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3);padding-bottom:var(--sp-4);border-bottom:1px solid var(--line)}.term-season-tabs{position:relative;display:inline-flex;gap:2px;padding:3px;background:var(--paper);border-radius:999px}.term-season-tab{position:relative;z-index:1;background:none;border:none;border-radius:999px;padding:var(--sp-2) var(--sp-4);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500;color:var(--muted);cursor:pointer;transition:color var(--t-quick) var(--ease-out)}.term-season-tab--active{color:var(--on-accent)}.term-season-tabs[data-tab-indicator]:after{content:"";position:absolute;z-index:0;top:3px;left:0;height:calc(100% - 6px);width:var(--tab-w, 0px);border-radius:999px;background:var(--accent);transform:translate(var(--tab-x, 0px));transition:transform var(--t-move) var(--ease-out),width var(--t-move) var(--ease-out)}.term-meta{display:flex;align-items:center;gap:var(--sp-3);margin-left:auto}.term-badge{font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;padding:.15rem var(--sp-2);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--muted)}.term-badge--upcoming{border-color:var(--ink);color:var(--ink)}.term-dates{font-size:.875rem;color:var(--muted)}.term-dates--unknown{font-style:italic}.term-courses-heading{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 var(--sp-3);display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-3)}.term-courses-note{text-transform:none;letter-spacing:0;font-size:.75rem}.real-course-row--planned{border-left:2px dashed var(--line);padding-left:var(--sp-3)}.planned-badge{display:inline-block;width:fit-content;font-size:.625rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius-sm);padding:.05rem var(--sp-2);margin-bottom:var(--sp-1)}.term-search-label{display:block;font-size:.875rem;color:var(--muted);margin-bottom:var(--sp-2)}.term-search-input{font-family:var(--font-ui);font-size:1rem;width:100%;max-width:26rem;padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink)}.term-search-results{list-style:none;margin:var(--sp-4) 0 0;padding:0;border-top:1px solid var(--line)}.term-search-result{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px solid var(--line)}.term-search-result-main{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.term-search-result-main small,.term-search-result-credits{color:var(--muted);font-size:.875rem}.term-search-result-note{font-style:italic}@media(max-width:640px){.term-planner-header{align-items:flex-start}.term-meta{margin-left:0}.term-search-result{grid-template-columns:minmax(0,1fr) auto}}.course-status-badge{display:inline-block;width:fit-content;font-size:.625rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.05rem var(--sp-2);margin-bottom:var(--sp-1)}.course-status-badge--in-progress{border-color:var(--ink);color:var(--ink)}.real-course-row--in-progress{border-left:2px solid var(--ink);padding-left:var(--sp-3)}.real-course-row--dropped{border-left:2px solid var(--line);padding-left:var(--sp-3);opacity:.6}.demo-lifecycle-preview{margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--line)}.demo-lifecycle-heading{margin:0 0 var(--sp-1)}.demo-lifecycle-note{margin:0 0 var(--sp-3);color:var(--muted);font-size:.875rem;font-style:italic}.demo-lifecycle-rows{display:flex;flex-direction:column}.demo-lifecycle-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px solid var(--line)}.demo-lifecycle-row small{display:block;color:var(--muted)}.demo-lifecycle-badge--in_progress{border-color:var(--ink);color:var(--ink)}.demo-lifecycle-badge--completed{border-color:var(--muted);color:var(--ink)}.demo-lifecycle-badge--planned{border-style:dashed}.demo-lifecycle-badge--dropped{opacity:.6}@media(max-width:640px){.demo-lifecycle-row{grid-template-columns:minmax(0,1fr) auto}}.current-grade-cell{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.current-grade-label{font-size:.6875rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.current-grade-select{font-family:var(--font-ui);font-size:.875rem;padding:.2rem var(--sp-2);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink)}.term-search-hint--activation{color:var(--ink);border:1px solid var(--line);border-left-width:3px;padding:var(--sp-2) var(--sp-3);margin:var(--sp-3) 0}.gpa-projection-note{color:var(--muted);font-size:.8125rem;margin:calc(-1 * var(--sp-4)) 0 0}.grade-request-banner{border:1px solid var(--line);border-left-width:3px;border-left-color:var(--ink);padding:var(--sp-4) var(--sp-5);display:grid;gap:var(--sp-3)}.academic-overview-current{margin-top:var(--sp-8)}.academic-overview-term-label{font-size:.8125rem;color:var(--muted);margin:0 0 var(--sp-2)}.academic-overview-status{color:var(--muted);font-size:.8125rem;margin:var(--sp-6) 0 0}.academic-overview-course-discovery,.academic-overview-grade-calculator{margin-top:var(--sp-8)}.academic-overview-cd-role{font-size:.8125rem;color:var(--ink);margin:0 0 var(--sp-1)}.academic-overview-cd-count{font-size:.8125rem;color:var(--muted);margin:0 0 var(--sp-2)}.academic-overview-cd-list{list-style:none;margin:0 0 var(--sp-3);padding:0;display:grid;gap:var(--sp-1);font-size:.8125rem}.grade-request-heading{margin:0;font-size:1rem}.grade-request-copy{margin:0;color:var(--muted);font-size:.875rem}.grade-request-list{display:grid;gap:var(--sp-3)}.grade-request-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--sp-3)}.grade-request-row strong{display:block}.grade-request-row small{color:var(--muted)}@media(max-width:640px){.grade-request-row{grid-template-columns:minmax(0,1fr) auto}}.profile-page{min-height:100vh;padding:var(--sp-8) var(--sp-4);background:var(--neutral-surface)}.profile-card,.profile-modal{background:var(--surface);color:var(--ink);border-radius:var(--radius);box-shadow:0 18px 60px var(--shadow-ink)}.profile-card{max-width:48rem;margin:0 auto;padding:var(--sp-7)}.profile-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:var(--sp-5);background:var(--overlay-backdrop)}.profile-modal{width:min(48rem,100%);max-height:84vh;overflow-y:auto;overscroll-behavior:contain;outline:none}.profile-modal-header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sp-5);padding:var(--sp-6) var(--sp-7) var(--sp-5);border-bottom:1px solid var(--line);background:var(--surface)}.profile-card>.profile-modal-header{position:static;padding:0 0 var(--sp-5)}.profile-modal-header h1,.profile-modal-header h2{margin:0 0 var(--sp-2);font-size:var(--text-xl)}.profile-modal-header p{margin:0;color:var(--muted)}.profile-modal-close{border:0;background:transparent;color:var(--muted);font-size:1.75rem;line-height:1;cursor:pointer}.profile-completion-form{display:grid;gap:var(--sp-6);padding:var(--sp-5) var(--sp-7) 0}.profile-card .profile-completion-form{padding-inline:0}.profile-context{margin:0;padding:var(--sp-3) var(--sp-4);border-radius:var(--radius);background:rgb(var(--accent-rgb) / .09);color:rgb(var(--accent-rgb))}.profile-form-section{display:grid;gap:var(--sp-4)}.profile-form-section h3{margin:0;color:var(--ink)}.profile-form-section+.profile-form-section{padding-top:var(--sp-5);border-top:1px solid var(--line)}.profile-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4)}.profile-completion-form label,.profile-form-field,.profile-graduation label{display:grid;gap:var(--sp-2);min-width:0;font-weight:600}.profile-completion-form input:not([type=radio]),.profile-completion-form select,.cp-field-edit input:not([type=radio]),.cp-field-edit select{width:100%;padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:inherit}.profile-completion-form small,.cp-field-edit small{display:block;margin-top:var(--sp-2);color:var(--muted);font-weight:400}.profile-form-field--needed{padding:var(--sp-3);border-left:3px solid rgb(var(--accent-rgb));border-radius:var(--radius-sm);background:rgb(var(--accent-rgb) / .06)}label.profile-form-check{display:flex;flex-direction:row;align-items:center;gap:var(--sp-2);font-weight:500;cursor:pointer}.profile-completion-form :is(input[type=checkbox],input[type=radio]),.cp-field-edit :is(input[type=checkbox],input[type=radio]){width:auto;accent-color:rgb(var(--accent-rgb));cursor:pointer}.profile-form-field--gated{margin-bottom:var(--sp-3)}.profile-completion-form input:disabled,.cp-field-edit input:disabled{background:var(--neutral-surface);color:var(--muted);cursor:not-allowed}.profile-form-note{display:flex;align-items:flex-start;gap:var(--sp-2);margin:0;color:var(--muted);font-size:var(--text-sm)}.profile-form-note-icon{flex:none;line-height:1.4}.profile-graduation{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}.profile-ai-group{margin:0;padding:0;border:0}.profile-ai-group legend{margin-bottom:var(--sp-3);font-weight:600}.profile-ai-options{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.profile-ai-options label{display:flex;grid-template-columns:none;flex-direction:row;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:999px;cursor:pointer}.profile-form-error{margin:0;color:var(--error)}.profile-form-actions{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:var(--sp-3);margin-inline:calc(-1 * var(--sp-7));padding:var(--sp-4) var(--sp-7);border-top:1px solid var(--line);background:var(--surface)}.profile-save-notice{position:fixed;right:var(--sp-5);bottom:var(--sp-5);z-index:90;display:flex;align-items:center;gap:var(--sp-4);max-width:min(24rem,calc(100vw - 2rem));padding:var(--sp-3) var(--sp-4);border:1px solid var(--ready-border);border-radius:var(--radius);background:var(--surface);box-shadow:0 8px 30px var(--shadow-ink);color:var(--ready)}.profile-save-notice button{border:0;background:none;color:inherit;font-size:1.25rem;cursor:pointer}.missing-field-link:is(button){border:0;background:none;font:inherit;cursor:pointer}@media(max-width:640px){.profile-modal-overlay{align-items:end;padding:0}.profile-modal{width:100%;max-height:96dvh;border-radius:var(--radius) var(--radius) 0 0}.profile-modal-header,.profile-completion-form{padding-inline:var(--sp-4)}.profile-form-grid,.profile-graduation{grid-template-columns:minmax(0,1fr)}.profile-form-actions{margin-inline:calc(-1 * var(--sp-4));padding-inline:var(--sp-4)}.profile-card{padding:var(--sp-4)}}.grade-calculator-panel{display:flex;flex-direction:column;gap:var(--sp-4)}:root{--grade-a: #2F7D3E;--grade-b: #6E8B1F;--grade-c: #B07D12;--grade-d: #C0522A;--grade-f: #AE3A31}.grade-card-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-4)}.grade-card-grid>li{display:flex}@media(max-width:900px){.grade-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.grade-card-wrap{position:relative;flex:1 1 auto;display:flex}.grade-card{flex:1 1 auto;display:flex;flex-direction:column;align-items:stretch;gap:var(--sp-3);width:100%;padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-elevated);font:inherit;color:inherit;text-align:left;cursor:pointer}.grade-card:hover{border-color:var(--accent-ghost-border)}.grade-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.grade-card[data-kind=setup]{border-style:dashed;background:var(--surface)}.grade-card-face{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1 / 1;width:100%}.grade-card-ring{width:90%;height:90%;display:block;overflow:visible}.grade-card-track{fill:none;stroke:var(--line);stroke-width:8;stroke-linecap:butt}.grade-card-fill{fill:none;stroke:var(--grade-color, var(--muted));stroke-width:8;stroke-linecap:butt}.grade-card[data-kind=categoryless] .grade-card-track,.grade-card[data-kind=categoryless] .grade-card-fill{stroke-linecap:round}.grade-card-track--shortfall{stroke:var(--muted);stroke-width:6;stroke-linecap:butt;stroke-dasharray:1.5 2.5;opacity:.65}.grade-card[data-grade=a]{--grade-color: var(--grade-a)}.grade-card[data-grade=b]{--grade-color: var(--grade-b)}.grade-card[data-grade=c]{--grade-color: var(--grade-c)}.grade-card[data-grade=d]{--grade-color: var(--grade-d)}.grade-card[data-grade=f]{--grade-color: var(--grade-f)}.grade-card-hit{fill:none;stroke:transparent;stroke-width:15;pointer-events:stroke;cursor:pointer}.grade-card-seg{transition:opacity .12s ease}.grade-card-seg[data-dim]{opacity:.22}.grade-card-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;pointer-events:none}.grade-card-center-primary{font:600 var(--text-xl) / 1 var(--font-data);color:var(--grade-color, var(--ink))}.grade-card[data-grade] .grade-card-center-primary{font-size:var(--text-2xl)}.grade-card-center-secondary{font:500 var(--text-sm) / 1.2 var(--font-ui);color:var(--muted);text-align:center;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grade-card-face--setup,.grade-card-face--flat{flex-direction:column;gap:var(--sp-2)}.grade-card-setup-mark{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px dashed var(--accent-ghost-border);border-radius:50%;font:400 var(--text-xl) / 1 var(--font-ui);color:var(--muted)}.grade-card-setup-text{font-size:var(--text-sm);color:var(--muted)}.grade-card-title{display:flex;flex-direction:column;gap:1px;min-width:0}.grade-card-title strong{font:600 var(--text-base) / 1.2 var(--font-data);color:var(--accent-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grade-card-title small{font-size:var(--text-xs);color:var(--muted)}.grade-card-title-name{display:block;line-height:1.35;height:1.35em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grade-card-remove{position:absolute;top:var(--sp-2);right:var(--sp-2);background:var(--surface-elevated)}@media(prefers-reduced-motion:reduce){.grade-card-seg{transition:none}}.grade-review-card{display:flex;flex-direction:column;gap:var(--sp-4)}.grade-cutoff-table{display:flex;flex-direction:column;gap:var(--sp-3)}.grade-cutoff-banner{padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.grade-cutoff-banner--manual{border-style:dashed;margin:0}.grade-cutoff-banner-hint{margin:var(--sp-2) 0 0;color:var(--muted);font-size:var(--text-sm)}.grade-cutoff-question-text{margin:0 0 var(--sp-2)}.grade-cutoff-question-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.grade-cutoff-resolved{margin:0;color:var(--muted);font-size:var(--text-sm)}.grade-cutoff-table-rows{display:flex;flex-direction:column;gap:var(--sp-2)}.grade-cutoff-row{display:grid;grid-template-columns:2.5rem minmax(0,5rem) minmax(0,5rem) minmax(0,1fr);align-items:center;gap:var(--sp-2)}.grade-cutoff-row>span{min-width:0;overflow-wrap:anywhere}.grade-cutoff-row--head{color:var(--muted);font-size:var(--text-sm)}.grade-cutoff-row-letter{font-weight:600}.grade-cutoff-row .form-input{width:100%;min-width:0}.grade-cutoff-row-status{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);font-size:var(--text-sm)}.grade-cutoff-row-affirm{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}.grade-cutoff-row-note{color:var(--muted)}.grade-entry-row{display:grid;grid-template-columns:minmax(0,1fr) 8rem 8rem;align-items:center;gap:var(--sp-3);padding-block:var(--sp-2);border-bottom:1px solid var(--line)}.grade-entry-hypothetical{border-style:dashed}.grade-entry-actions{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-3)}.grade-rules-list{display:flex;flex-direction:column;gap:var(--sp-3)}.grade-rule-card{padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.grade-rule-title{margin:0 0 var(--sp-2);font-weight:600}.grade-rule-explanation{color:var(--muted);font-size:var(--text-sm)}.grade-breakdown-row{display:flex;flex-direction:column}.grade-weight-table{display:flex;flex-direction:column;gap:var(--sp-3)}.grade-weight-table-rows{display:flex;flex-direction:column;gap:var(--sp-2)}.grade-weight-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,5rem) minmax(0,5rem) minmax(0,1fr);align-items:center;gap:var(--sp-2)}.grade-weight-row>span{min-width:0;overflow-wrap:anywhere}.grade-weight-row--head{color:var(--muted);font-size:var(--text-sm)}.grade-weight-row-name{font-weight:600}.grade-weight-row .form-input{width:100%;min-width:0}.grade-weight-row-status{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);font-size:var(--text-sm)}.grade-weight-total{margin:0}.grade-weight-total-gap{color:var(--muted);font-weight:400}.professors-rules{display:flex;flex-direction:column;gap:var(--sp-3)}.professors-rule{display:flex;flex-direction:column;gap:.15rem;padding-bottom:var(--sp-3);border-bottom:1px solid var(--line)}.professors-rule:last-child{padding-bottom:0;border-bottom:0}.professors-rule-type{margin:0;font-weight:600;font-size:var(--text-sm)}.professors-rule-text{margin:0;color:var(--muted);font-size:var(--text-sm)}.grade-calculator-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,320px);gap:var(--sp-5);align-items:start}.grade-calculator-layout:not(:has(.professors-rules)){grid-template-columns:minmax(0,1fr)}.grade-calculator-main{min-width:0;display:flex;flex-direction:column;gap:var(--sp-4)}.grade-calculator-aside{position:sticky;top:var(--sp-4);max-height:calc(100vh - var(--topbar-h) - var(--sp-6));overflow-y:auto}@media(max-width:880px){.grade-calculator-layout{grid-template-columns:minmax(0,1fr)}.grade-calculator-aside{position:static;max-height:none;overflow-y:visible}}.grade-inline-findings{display:flex;flex-direction:column;gap:.15rem;margin:.2rem 0 .4rem}.grade-inline-findings--general{margin-bottom:var(--sp-3)}.grade-inline-finding{display:grid;grid-template-columns:1rem 1fr auto;align-items:baseline;gap:.4rem;margin:0;padding:.15rem 0;font-size:var(--text-xs);color:var(--muted)}.grade-inline-finding-glyph{font-family:var(--font-data);text-align:center;-webkit-user-select:none;user-select:none}.grade-inline-finding--error .grade-inline-finding-glyph{color:var(--error)}.grade-inline-finding-text{line-height:1.4}.grade-inline-finding--error .grade-inline-finding-text{color:var(--ink)}.grade-inline-finding-dismiss{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:none;font-size:var(--text-sm);line-height:1;color:var(--muted);cursor:pointer}.grade-inline-finding-dismiss:hover{border-color:var(--line);color:var(--ink)}.grade-inline-finding-dismiss:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.grade-evidence-note{color:var(--muted);font-size:var(--text-xs)}@media(max-width:640px){.grade-entry-row{grid-template-columns:minmax(0,1fr);gap:var(--sp-1)}.grade-card-grid{grid-template-columns:minmax(0,1fr)}}.academic-overview-canvas-calendar{margin-top:var(--sp-8)}.canvas-calendar-intro,.canvas-calendar-note{color:var(--muted);font-size:var(--text-sm);margin:0 0 var(--sp-3)}.canvas-calendar-note{margin-top:var(--sp-3)}.canvas-calendar-steps{margin:0 0 var(--sp-3);padding-left:1.25rem;font-size:var(--text-base);display:grid;gap:var(--sp-1)}.canvas-calendar-steps a{color:var(--accent-text);font-weight:600}.canvas-calendar-form{display:flex;gap:var(--sp-2);align-items:center}.canvas-calendar-form .form-input{flex:1;min-width:0}.canvas-calendar-warning{font-size:var(--text-sm);color:var(--ink);border-left:3px solid var(--accent-ghost-border);background:var(--accent-tint);padding:var(--sp-2) var(--sp-3);margin:0 0 var(--sp-3)}.canvas-calendar-days{display:grid;gap:var(--sp-4)}.canvas-calendar-day h4{font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 var(--sp-2)}.canvas-calendar-day ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.canvas-calendar-item{display:grid;grid-template-columns:5.5rem 1fr auto;gap:var(--sp-3);align-items:baseline;padding:var(--sp-2) 0;border-bottom:1px solid var(--line);font-size:var(--text-base)}.canvas-calendar-item.is-exam{border-left:3px solid var(--ink);padding-left:var(--sp-2)}.canvas-calendar-time{color:var(--muted);font-size:var(--text-sm)}.canvas-calendar-title{min-width:0;overflow-wrap:anywhere}.canvas-calendar-title a{color:inherit}.canvas-calendar-title small{display:block;color:var(--muted);font-size:var(--text-sm)}.canvas-calendar-badge{font-size:var(--text-xs);font-weight:600;border:1px solid var(--accent-ghost-border);background:var(--accent-tint);padding:2px 6px;white-space:nowrap}.canvas-calendar-footer{display:flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-3);color:var(--muted);font-size:var(--text-sm)}.canvas-calendar-footer span{margin-right:auto}@media(max-width:560px){.canvas-calendar-form{flex-direction:column;align-items:stretch}.canvas-calendar-item{grid-template-columns:1fr auto}.canvas-calendar-time{grid-column:1 / -1}}.rv-upload-source{display:grid;gap:.5rem;padding:1.5rem 0;border-top:1px solid var(--line)}.rv-upload-source-steps{margin:0;padding-left:1.25rem;font-family:var(--font-ui);font-size:.875rem;line-height:1.7;color:var(--ink)}.rv-upload-source-link{font-family:var(--font-ui);font-size:.875rem;font-weight:600;color:var(--accent-text);justify-self:start}.rv-upload-drop{display:flex;flex-direction:column;gap:.75rem;align-items:flex-start;align-self:stretch;padding:1rem;border:1px dashed var(--line)}.rv-upload-drop.is-dragging{border-color:var(--accent);background:var(--accent-tint)}.rv-upload-drop-error{font-family:var(--font-ui);font-size:.8125rem;color:var(--error);margin:0}.card,.real-empty,.overview-block,.academic-overview-current,.academic-overview-canvas-calendar,.academic-overview-course-discovery,.academic-overview-grade-calculator{background:var(--surface-elevated);border:none;border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:var(--sp-5) var(--sp-6)}:is(.overview-block,.academic-overview-current,.card) .theme-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-chip);box-shadow:none}.academic-overview-current,.academic-overview-canvas-calendar,.academic-overview-course-discovery,.academic-overview-grade-calculator{margin-top:var(--sp-5)}.overview-grid{gap:var(--sp-5)}.overview-block-title,.term-courses-heading{position:relative;border-bottom:none;padding-bottom:var(--sp-2);margin-bottom:var(--sp-4)}.overview-block-title:after,.term-courses-heading:after{content:"";position:absolute;left:0;bottom:0;width:var(--tick-length);height:2px;background:var(--gold)}.overview-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:var(--sp-4)}.overview-stat{background:var(--surface-elevated);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:var(--sp-4) var(--sp-5);justify-content:space-between;min-height:5.5rem}.academic-section-heading,.career-section-heading{font-size:var(--text-2xl);font-weight:400;line-height:1.15;border-bottom:none;padding-bottom:0;margin-bottom:var(--sp-6)}.overview-header{border-bottom:none;padding-bottom:0;margin-bottom:var(--sp-8)}.rv-commit-button{border-radius:var(--radius)}.job-search-controls .form-select{width:auto;min-width:9rem;padding-right:32px}@media(max-width:640px){.card,.real-empty,.overview-block,.academic-overview-current,.academic-overview-canvas-calendar,.academic-overview-course-discovery,.academic-overview-grade-calculator{padding:var(--sp-4) var(--sp-5)}.overview-stat{padding:var(--sp-3) var(--sp-4);min-height:0}}.overview-page .overview-header,.overview-page .overview-stats{margin-bottom:var(--sp-6)}.overview-stat{position:relative;justify-content:flex-start;gap:var(--sp-2)}.overview-stat--ring .degree-progress-ring{position:absolute;top:var(--sp-4);right:var(--sp-5)}.degree-progress-ring-fill{animation:ring-draw var(--t-data) var(--ease-out) backwards}@keyframes ring-draw{0%{stroke-dashoffset:var(--ring-empty)}}.overview-stat-status{align-self:flex-start;min-height:var(--text-2xl);display:inline-flex;align-items:center;gap:var(--sp-2);padding:3px var(--sp-3) 3px 10px;border:1px solid var(--line);border-radius:var(--radius-chip);background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:var(--text-base);font-weight:500;line-height:1.4}.overview-stat-status-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.overview-stat-status--ready{color:var(--ready);background:var(--ready-tint);border-color:var(--ready-border)}.overview-stat-status--partial{color:var(--gold-text);background:var(--gold-tint);border-color:var(--gold-line)}.overview-stat-status--minimal{color:var(--muted)}.empty-block{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:var(--sp-3);row-gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);background:var(--paper);border-radius:var(--radius-chip)}.empty-block .empty-state{padding:0;color:var(--ink)}.empty-block>:not(.empty-block-icon,.empty-state){grid-column:2;justify-self:start}.empty-block-icon{grid-row:span 2;align-self:start;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--surface-elevated);color:var(--accent);box-shadow:0 1px 2px rgb(var(--ink-rgb) / .08)}.empty-block:not(:has(>:nth-child(3))) .empty-block-icon{grid-row:auto;align-self:center}.overview-page>:not(.overview-stats,.overview-grid),.overview-page .overview-stat,.overview-page .overview-block{animation:overview-rise calc(var(--t-move) * 2) var(--ease-out) backwards;animation-delay:.42s}.overview-page>.overview-header{animation-delay:0ms}.overview-page>.chat-panel{animation-delay:60ms}.overview-page .overview-stat:nth-child(1){animation-delay:.12s}.overview-page .overview-stat:nth-child(2){animation-delay:.17s}.overview-page .overview-stat:nth-child(3){animation-delay:.22s}.overview-page .overview-stat:nth-child(4){animation-delay:.27s}.overview-page .overview-block:nth-child(1){animation-delay:.33s}.overview-page .overview-block:nth-child(2){animation-delay:.39s}@keyframes overview-rise{0%{opacity:0;transform:translateY(10px)}}@media(max-width:640px){.overview-stat--ring .degree-progress-ring{top:var(--sp-3);right:var(--sp-4);width:36px;height:36px}.chat-composer{padding-left:var(--sp-3)}}.skeleton-block{--skeleton-bar: rgb(var(--ink-rgb) / .08)}.skeleton-list{display:grid;gap:var(--sp-4);margin:0;padding:0;list-style:none}.skeleton-item{height:30px;background:linear-gradient(var(--skeleton-bar) 0 0) 0 0 / 32% 11px,linear-gradient(var(--skeleton-bar) 0 0) 0 21px / 74% 9px;background-repeat:no-repeat;animation:skeleton-pulse var(--t-pulse) ease-in-out infinite}.skeleton-item:nth-child(2){animation-delay:.12s}.skeleton-item:nth-child(3){animation-delay:.24s}.skeleton-item:nth-child(4){animation-delay:.36s}.skeleton-block--cards .skeleton-list{gap:var(--sp-3)}.skeleton-block--cards .skeleton-item{height:auto;padding:var(--sp-5) var(--sp-6);border-radius:var(--radius-card);box-shadow:var(--shadow-card);background:var(--surface-elevated);animation:none}.skeleton-block--cards .skeleton-item:before{content:"";display:block;height:58px;background:radial-gradient(circle closest-side,var(--skeleton-bar) 98%,transparent) 0 0 / 40px 40px,linear-gradient(var(--skeleton-bar) 0 0) 56px 2px / 36% 12px,linear-gradient(var(--skeleton-bar) 0 0) 56px 24px / 58% 9px,linear-gradient(var(--skeleton-bar) 0 0) 56px 44px / 18% 14px;background-repeat:no-repeat;animation:skeleton-pulse var(--t-pulse) ease-in-out infinite}.skeleton-block--cards .skeleton-item:nth-child(2):before{animation-delay:.12s}.skeleton-block--cards .skeleton-item:nth-child(3):before{animation-delay:.24s}.real-empty{display:grid;justify-items:center;gap:var(--sp-2);padding:var(--sp-8) var(--sp-6);text-align:center}.real-empty:before{content:"";width:48px;height:48px;margin-bottom:var(--sp-2);background:var(--accent);--sparkle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l1.9 5.1L19 10l-5.1 1.9L12 17l-1.9-5.1L5 10l5.1-1.9z'/%3E%3C/svg%3E");-webkit-mask:var(--sparkle) center / 22px 22px no-repeat,radial-gradient(circle closest-side,rgb(0 0 0 / .09) 98%,transparent);mask:var(--sparkle) center / 22px 22px no-repeat,radial-gradient(circle closest-side,rgb(0 0 0 / .09) 98%,transparent)}.real-empty h3{margin:0;font-size:var(--text-lg)}.real-empty p{max-width:46ch;margin:0;color:var(--muted)}.real-empty>:is(a,button){margin-top:var(--sp-3)}.academic-overview-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-5);margin-top:var(--sp-5)}.academic-overview-shortcuts>section{display:flex;flex-direction:column;align-items:flex-start;margin-top:0}.academic-overview-shortcuts>section>.btn:last-child{margin-top:auto}.academic-overview-shortcut-copy{margin:0 0 var(--sp-3);color:var(--muted);font-size:var(--text-base)}.real-course-row>span:nth-child(3) .degree-schedule-badge{margin-top:0}.real-course-row>span:nth-child(2){color:var(--muted)}.term-planner{padding:var(--sp-5) var(--sp-6);background:var(--surface-elevated);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.job-search-controls{align-items:flex-end;padding:var(--sp-4) var(--sp-5);background:var(--surface-elevated);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.job-search-families legend{font-size:var(--text-xs);font-weight:600;letter-spacing:.07em;text-transform:uppercase}.job-search-controls .chip{border-radius:999px;transition:background-color var(--t-quick) var(--ease-out),border-color var(--t-quick) var(--ease-out),color var(--t-quick) var(--ease-out)}.job-search-controls .chip:hover{border-color:rgb(var(--accent-rgb) / .45)}.job-search-controls .chip--on{background:var(--accent-tint);border-color:var(--accent);color:var(--accent)}.job-search-controls .chip--on .chip-count{color:inherit}.job-search-feed .theme-list{gap:var(--sp-3)}.job-search-feed .job-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);background:var(--surface-elevated);border:none;border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.job-card-mark{display:grid;place-items:center;width:40px;height:40px;align-self:start;border-radius:var(--radius-chip);background:var(--accent-tint);color:var(--accent);font-size:var(--text-sm);font-weight:600;letter-spacing:.02em}.job-card .theme-header{justify-content:flex-start;margin-bottom:var(--sp-1)}.job-card .theme-summary{margin:0;color:var(--muted);font-size:var(--text-base)}.job-card .chip{margin:var(--sp-2) 0 0}.job-card .chip--count{margin:0;border-radius:999px;white-space:nowrap}.job-search-feed .job-card-link{margin-top:0;white-space:nowrap}@media(max-width:640px){.academic-overview-shortcuts{grid-template-columns:minmax(0,1fr)}.term-planner{padding:var(--sp-4) var(--sp-5)}.real-empty{padding:var(--sp-6) var(--sp-5)}.job-search-feed .job-card{grid-template-columns:auto minmax(0,1fr);row-gap:var(--sp-3)}.job-search-feed .job-card-link{grid-column:2;justify-self:start}.skeleton-block--cards .skeleton-item{padding:var(--sp-4) var(--sp-5)}}.login-bg{background:radial-gradient(ellipse 70% 55% at 15% 0%,rgb(255 255 255 / .07),transparent 70%),radial-gradient(ellipse 60% 50% at 100% 100%,rgb(255 255 255 / .04),transparent 70%),var(--neutral-rail-bg)}.login-card{max-width:380px;background:var(--surface-elevated);border-radius:var(--radius-card);box-shadow:0 1px 2px #0003,0 24px 64px #00000061;animation:login-rise calc(var(--t-move) * 2) var(--ease-out) backwards}.login-card.resume-card{max-width:440px}@keyframes login-rise{0%{opacity:0;transform:translateY(12px)}}.login-header{display:grid;grid-template-columns:auto 1fr;column-gap:var(--sp-3);align-items:center;border-bottom:none;padding-bottom:var(--sp-2)}.login-header:before{content:"";grid-row:span 2;width:40px;height:40px;border-radius:var(--radius-chip);background-color:var(--neutral-accent);--sparkle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l1.9 5.1L19 10l-5.1 1.9L12 17l-1.9-5.1L5 10l5.1-1.9z'/%3E%3C/svg%3E");-webkit-mask:var(--sparkle) center / 20px 20px no-repeat exclude,linear-gradient(#000 0 0);mask:var(--sparkle) center / 20px 20px no-repeat exclude,linear-gradient(#000 0 0);-webkit-mask-composite:xor}.login-logo{margin:0;font-size:var(--text-xl)}.login-subtitle{margin:2px 0 0;font-size:var(--text-sm);font-weight:400;letter-spacing:0;text-transform:none}.login-demo{margin-top:var(--sp-2);padding:var(--sp-5) 0 var(--sp-2);background:var(--paper);border-top:1px solid var(--line)}.login-demo-heading{margin:0;padding:0 var(--sp-8);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.login-demo-copy{margin:var(--sp-1) 0 0;padding:0 var(--sp-8);font-size:var(--text-sm);color:var(--muted)}.login-demo-form{padding-top:var(--sp-4)}.login-demo .form-select,.login-demo .btn-ghost{background-color:var(--surface-elevated)}.login-form>.login-note{margin-top:calc(var(--sp-2) * -1);padding:0;text-align:right}.login-bg--split{gap:clamp(var(--sp-8),8vw,120px)}.login-pitch{display:none;max-width:400px;color:#ffffffeb;animation:login-rise calc(var(--t-move) * 2) var(--ease-out) 80ms backwards}.login-pitch-eyebrow{margin:0 0 var(--sp-4);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#ffffff8c}.login-pitch-title{margin:0 0 var(--sp-6);font-family:var(--font-display);font-size:var(--text-3xl);font-weight:300;line-height:1.12;letter-spacing:-.015em}.login-pitch-points{display:grid;gap:var(--sp-3);margin:0;padding:0;list-style:none;font-size:var(--text-md);color:#ffffffb3}.login-pitch-points li{display:grid;grid-template-columns:auto 1fr;column-gap:var(--sp-3);align-items:baseline}.login-pitch-points li:before{content:"";width:6px;height:6px;border-radius:50%;background:#ffffff8c;transform:translateY(-2px)}@media(min-width:900px){.login-pitch{display:block}}@media(max-width:640px){.login-bg{align-items:flex-start;padding:var(--sp-8) var(--sp-4)}.login-demo-heading,.login-demo-copy{padding:0 var(--sp-6)}}.career-overview-grid{gap:var(--sp-4);border-top:none}.career-overview-summary,.career-overview-summary+.career-overview-summary{padding:var(--sp-5) var(--sp-6);background:var(--surface-elevated);border:none;border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.career-overview-summary h3{margin:0 0 var(--sp-3);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.career-overview-summary p{margin:0;color:var(--ink);line-height:1.55}.career-subtab-panel>.career-profile-block{margin-top:var(--sp-6)}.gpa-projection-note{margin-bottom:var(--sp-4)}@media(max-width:640px){.editable-section-header{flex-wrap:wrap;align-items:flex-start}.editable-section-header>:first-child{flex:1 1 auto;min-width:0}.editable-section-header>.btn,.editable-section-actions{flex-shrink:0}.overview-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}.overview-stats>.overview-stat:last-child:nth-child(odd){grid-column:1 / -1}}:root{--t-press: 90ms;--t-quick: .16s;--t-move: .22s;--t-settle: .32s;--t-fill: .52s;--t-data: .6s;--t-pulse: 1.6s;--t-spin: .7s;--ease-out: cubic-bezier(.2, .6, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}:where(.btn,.rv-commit-button,.chat-chip){--press-scale: .96;--press-fill: transparent;--press-ripple: transparent;position:relative;isolation:isolate;overflow:hidden}.btn,.rv-commit-button,.chat-chip{transition:background-color var(--t-quick) var(--ease-out),border-color var(--t-quick) var(--ease-out),color var(--t-quick) var(--ease-out),transform var(--t-settle) var(--ease-spring)}.btn-full{--press-scale: .985}.rv-commit-button{--press-scale: .97}.chat-chip{--press-scale: .97;--press-fill: rgb(var(--accent-rgb) / .12);--press-ripple: rgb(var(--accent-rgb) / .22)}.btn:active:not(:disabled):not([aria-disabled=true]),.rv-commit-button:active:not(:disabled),.chat-chip:active:not(:disabled){transform:scale(var(--press-scale));transition:background-color var(--t-quick) var(--ease-out),border-color var(--t-quick) var(--ease-out),color var(--t-quick) var(--ease-out),transform var(--t-press) var(--ease-out)}.btn-primary,.rv-commit-button{--press-fill: rgb(var(--accent-hover-rgb));--press-ripple: rgb(var(--on-accent-rgb) / .28)}.btn-secondary{--press-fill: rgb(var(--ink-rgb) / .06);--press-ripple: rgb(var(--ink-rgb) / .1)}.btn-ghost:not(:where(.career-subtab-panel :is(.cp-detail,.cp-field) .editable-section-actions .btn-ghost:only-child)){--press-fill: rgb(var(--accent-rgb));--press-ripple: rgb(var(--accent-rgb) / .14)}.btn-danger-ghost{--press-fill: rgb(var(--error-rgb));--press-ripple: rgb(var(--error-rgb) / .14)}.career-subtab-panel .analysis-panel>.editable-section-header .editable-section-actions>.btn-ghost{--press-fill: rgb(var(--accent-hover-rgb));--press-ripple: rgb(var(--on-accent-rgb) / .28)}.login-form .btn-primary{--press-fill: color-mix(in srgb, var(--neutral-accent), var(--neutral-on-accent) 10%);--press-ripple: color-mix(in srgb, var(--neutral-on-accent) 28%, transparent)}button.tour-skip{--press-fill: var(--paper);--press-ripple: rgb(var(--ink-rgb) / .1)}.btn-primary:hover:not(:disabled),.rv-commit-button:hover:not(:disabled){background:var(--accent)}.btn-ghost:hover:not(:disabled),.btn-danger-ghost:hover:not(:disabled){background:transparent}.career-subtab-panel .analysis-panel>.editable-section-header .editable-section-actions>.btn-ghost:hover:not(:disabled){background:var(--institution-accent)}.login-form .btn-primary:hover:not(:disabled){background:var(--neutral-accent);border-color:var(--press-fill)}button.tour-skip:hover:not(:disabled){background:transparent;border-color:transparent}.btn-primary:before,.btn-secondary:before,.btn-danger-ghost:before,.rv-commit-button:before,.chat-chip:before,.btn-ghost:not(:where(.career-subtab-panel :is(.cp-detail,.cp-field) .editable-section-actions .btn-ghost:only-child)):before{content:"";position:absolute;z-index:-1;left:var(--press-x, 50%);top:var(--press-y, 50%);width:calc(var(--press-reach, 100px) * 2 / .7);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle closest-side,var(--press-fill) 70%,transparent);transform:translate(-50%,-50%) scale(0);transition:transform var(--t-fill) var(--ease-out);pointer-events:none}@media(hover:hover)and (pointer:fine){.btn-primary:hover:not(:disabled):before,.btn-secondary:hover:not(:disabled):before,.btn-danger-ghost:hover:not(:disabled):before,.rv-commit-button:hover:not(:disabled):before,.chat-chip:hover:not(:disabled):before,.btn-ghost:not(:where(.career-subtab-panel :is(.cp-detail,.cp-field) .editable-section-actions .btn-ghost:only-child)):hover:not(:disabled):before{transform:translate(-50%,-50%) scale(1)}.btn-ghost:not(:where(.career-subtab-panel :is(.cp-detail,.cp-field) .editable-section-actions .btn-ghost:only-child)):hover:not(:disabled){--press-ripple: rgb(var(--on-accent-rgb) / .28);color:rgb(var(--on-accent-rgb));border-color:rgb(var(--accent-rgb))}.btn-danger-ghost:hover:not(:disabled){--press-ripple: color-mix(in srgb, var(--neutral-on-accent) 28%, transparent);color:var(--neutral-on-accent);border-color:rgb(var(--error-rgb))}button.tour-skip:hover:not(:disabled){--press-ripple: rgb(var(--ink-rgb) / .1);color:var(--ink)}}.btn:after,.rv-commit-button:after,.chat-chip:after{content:"";position:absolute;z-index:-1;left:var(--ripple-x, 50%);top:var(--ripple-y, 50%);width:calc(var(--ripple-reach, 100px) * 2);aspect-ratio:1;border-radius:50%;background:var(--press-ripple);opacity:0;transform:translate(-50%,-50%) scale(0);pointer-events:none}.btn[data-rippling]:after,.rv-commit-button[data-rippling]:after,.chat-chip[data-rippling]:after{animation:press-ripple var(--t-fill) var(--ease-out)}@keyframes press-ripple{0%{opacity:1;transform:translate(-50%,-50%) scale(0)}to{opacity:0;transform:translate(-50%,-50%) scale(1)}}button.chat-chip{--press-scale: .96}button.topbar-help{--press-scale: .9}button.chat-chip,button.topbar-help{transition:background-color var(--t-quick) var(--ease-out),border-color var(--t-quick) var(--ease-out),color var(--t-quick) var(--ease-out),transform var(--t-settle) var(--ease-spring)}button.chat-chip:active:not(:disabled),button.topbar-help:active{transform:scale(var(--press-scale));transition:background-color var(--t-quick) var(--ease-out),border-color var(--t-quick) var(--ease-out),color var(--t-quick) var(--ease-out),transform var(--t-press) var(--ease-out)}.cp-detail .editable-section-actions .btn-ghost,.cp-field .editable-section-actions .btn-ghost{transition:opacity var(--t-quick) var(--ease-out),background-color var(--t-quick) var(--ease-out),border-color var(--t-quick) var(--ease-out),color var(--t-quick) var(--ease-out),transform var(--t-settle) var(--ease-spring)}.stage-section{animation-duration:var(--t-move);animation-timing-function:var(--ease-out)}.rail-subnav{animation:subnav-in var(--t-move) var(--ease-out)}@keyframes subnav-in{0%{opacity:0;clip-path:inset(0 0 100% 0)}to{opacity:1;clip-path:inset(0)}}:where(.academic-tabs[role=tablist]){position:relative}.academic-tabs[data-tab-indicator]:after{content:"";position:absolute;left:0;top:calc(var(--tab-bottom, 0px) - 2px);width:var(--tab-w, 0px);height:2px;background:var(--accent);transform:translate(var(--tab-x, 0px));transition:transform var(--t-move) var(--ease-out),width var(--t-move) var(--ease-out);pointer-events:none}.academic-tabs[data-tab-indicator] .academic-tab--active{border-bottom-color:transparent}.academic-tab{transition:color var(--t-quick) var(--ease-out)}[role=tabpanel][data-tab-entering]{animation:tab-panel-in var(--t-move) var(--ease-out)}@keyframes tab-panel-in{0%{opacity:0;transform:translate(calc(var(--tab-from, 0) * 8px))}}:where(.reveal){display:grid;grid-template-rows:0fr}:where(.reveal[data-open]){grid-template-rows:1fr}:where(.reveal>.reveal-inner){min-height:0;overflow:hidden}:where(.reveal[data-settled]>.reveal-inner){overflow:visible}.reveal{transition:grid-template-rows var(--t-move) var(--ease-out)}.reveal>.reveal-inner{opacity:0;transition:opacity var(--t-quick) var(--ease-out)}.reveal[data-open]>.reveal-inner{opacity:1;transition-delay:calc(var(--t-move) - var(--t-quick))}:where(.career-preview>.reveal){margin-top:calc(-1 * var(--sp-3))}:where(.career-preview>.reveal>.reveal-inner){display:grid;gap:var(--sp-3)}:where(.career-preview>.reveal>.reveal-inner>:first-child){margin-top:var(--sp-3)}:where(.requirement-group-toggle-icon){display:inline-block}.requirement-group-toggle-icon{transition:transform var(--t-move) var(--ease-out)}.requirement-group-toggle[aria-expanded=true] .requirement-group-toggle-icon{transform:rotate(90deg)}:where(.figure-count){position:relative;font-variant-numeric:tabular-nums}.figure-count[data-count]{-webkit-text-fill-color:transparent}.figure-count[data-count]:before{content:attr(data-count);position:absolute;inset:0 0 auto 0;white-space:nowrap;-webkit-text-fill-color:currentColor}.figure-count[data-delta]:after{content:attr(data-delta);display:inline-block;margin-left:var(--sp-2);padding:1px 6px;border:1px solid;border-radius:var(--radius-sm);font-family:var(--font-data);font-size:var(--text-xs);font-weight:500;line-height:1.4;vertical-align:middle;-webkit-text-fill-color:currentColor;animation:figure-delta-in var(--t-move) var(--ease-out)}.figure-count[data-delta-sign=up]:after{color:var(--ready);background:var(--ready-tint);border-color:var(--ready-border)}.figure-count[data-delta-sign=down]:after{color:var(--error);background:var(--error-tint);border-color:var(--error-tint-border)}@keyframes figure-delta-in{0%{opacity:0;transform:translateY(3px)}}@media(prefers-reduced-motion:reduce){.btn:active:not(:disabled):not([aria-disabled=true]),.rv-commit-button:active:not(:disabled),button.chat-chip:active:not(:disabled),button.topbar-help:active{transform:none}.btn-primary:before,.btn-secondary:before,.btn-danger-ghost:before,.rv-commit-button:before,.btn-ghost:not(:where(.career-subtab-panel :is(.cp-detail,.cp-field) .editable-section-actions .btn-ghost:only-child)):before{transition:none}.btn:after,.rv-commit-button:after{display:none}.cp-detail .editable-section-actions .btn-ghost,.cp-field .editable-section-actions .btn-ghost{transition:none}}.chat-panel{display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-5) var(--sp-6);margin-bottom:var(--sp-6);background:var(--surface-elevated);border:none;border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.chat-header{display:flex;align-items:center;gap:var(--sp-3);padding-bottom:var(--sp-3);border-bottom:1px solid var(--line)}.chat-heading{display:flex;flex-direction:column;gap:2px;min-width:0}.chat-mark{flex-shrink:0;display:grid;place-items:center;width:36px;height:36px;border-radius:var(--radius-chip);background:var(--accent-tint);color:var(--accent)}.chat-title{font-family:var(--font-display);font-size:1.25rem;color:var(--ink)}.chat-sub{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--pending)}.chat-messages{display:flex;flex-direction:column;gap:var(--sp-3);max-height:360px;overflow-y:auto;padding-right:var(--sp-2)}.chat-empty-lead{margin:0 0 var(--sp-3);font-family:var(--font-ui);font-size:var(--text-base);color:var(--ink)}.chat-suggestions{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.chat-chip{display:inline-flex;align-items:center;gap:var(--sp-2);font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink);background:var(--surface-elevated);border:1px solid var(--line);border-radius:var(--radius-chip);padding:var(--sp-2) var(--sp-3);cursor:pointer;text-align:left}.chat-chip:hover:not(:disabled){border-color:var(--accent)}.chat-chip-arrow{flex-shrink:0;color:var(--accent);transition:transform var(--t-quick) var(--ease-out)}.chat-chip:hover:not(:disabled) .chat-chip-arrow{transform:translate(2px)}.chat-chip:disabled{opacity:.5;cursor:default}.chat-msg{display:flex;flex-direction:column;gap:3px;max-width:88%}.chat-msg--user{align-self:flex-end;align-items:flex-end}.chat-msg--assistant{align-self:flex-start}.chat-msg-role{font-family:var(--font-ui);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--pending)}.chat-msg-body{font-family:var(--font-ui);font-size:var(--text-base);line-height:1.5;color:var(--ink);white-space:pre-wrap;word-break:break-word;padding:var(--sp-3) var(--sp-4);border:1px solid var(--line);border-radius:var(--radius)}.chat-msg--assistant .chat-msg-body{background:var(--paper)}.chat-msg--user .chat-msg-body{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.chat-input-row{display:flex;gap:var(--sp-2)}.chat-composer{align-items:center;padding:5px 5px 5px var(--sp-4);background:var(--surface-elevated);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:0 1px 2px rgb(var(--ink-rgb) / .06);transition:border-color var(--t-quick) var(--ease-out),box-shadow var(--t-quick) var(--ease-out)}.chat-composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.chat-input{flex:1;min-width:0;font-family:var(--font-ui);font-size:var(--text-base);color:var(--ink);background:transparent;border:none;padding:var(--sp-2) 0}.chat-input:focus-visible{outline:none}.chat-send{flex-shrink:0;display:inline-flex;align-items:center;gap:6px}.chat-send:disabled{opacity:1;background:var(--paper);border-color:var(--line);color:var(--muted)}.chat-send-arrow{transition:transform var(--t-quick) var(--ease-out)}.chat-send:not(:disabled):hover .chat-send-arrow{transform:translateY(-1px)}.chat-error{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--error)}.chat-typing{display:inline-flex;gap:4px;align-items:center}.chat-typing span{width:6px;height:6px;border-radius:50%;background:var(--pending);animation:chat-blink var(--t-pulse) infinite ease-in-out}.chat-typing span:nth-child(2){animation-delay:.2s}.chat-typing span:nth-child(3){animation-delay:.4s}@keyframes chat-blink{0%,80%,to{opacity:.25}40%{opacity:1}}.tour-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--sp-6);overscroll-behavior:contain;background:linear-gradient(to bottom,var(--scrim-top) 0%,var(--scrim-bottom) 100%);animation:tour-fade var(--t-move) var(--ease-out) forwards}@keyframes tour-fade{0%{opacity:0}to{opacity:1}}.tour-card{position:relative;width:100%;max-width:460px;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:var(--radius);box-shadow:0 18px 48px var(--shadow-ink);padding:var(--sp-6);outline:none;animation:tour-rise var(--t-move) var(--ease-out) forwards}@keyframes tour-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.tour-eyebrow{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin-bottom:var(--sp-3)}.tour-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:300;color:var(--ink);line-height:1.15;letter-spacing:-.01em;margin-bottom:var(--sp-3)}.tour-body{font-family:var(--font-ui);font-size:var(--text-base);color:var(--muted);line-height:1.6;margin-bottom:var(--sp-5)}.tour-body strong{color:var(--ink);font-weight:600}.tour-cta-actions{display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-5)}.tour-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap}.tour-dots{display:flex;align-items:center;gap:var(--sp-2)}.tour-dot{width:6px;height:6px;border-radius:50%;background:var(--line);transition:background var(--t-quick) var(--ease-out),transform var(--t-quick) var(--ease-out)}.tour-dot--active{background:var(--accent);transform:scale(1.25)}.tour-actions{display:flex;align-items:center;gap:var(--sp-2);margin-left:auto}.tour-skip{border-color:transparent;color:var(--muted)}.tour-skip:hover:not(:disabled){background:var(--paper);color:var(--ink)}.tour-step-count{margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:1px solid var(--line);font-family:var(--font-data);font-size:var(--text-xs);color:var(--muted);letter-spacing:.02em}.topbar-help{margin-left:auto;width:28px;height:28px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:none;border:1px solid var(--line);border-radius:50%;color:var(--muted);font-family:var(--font-display);font-size:var(--text-base);line-height:1;cursor:pointer;transition:color var(--t-quick) var(--ease-out),border-color var(--t-quick) var(--ease-out),background var(--t-quick) var(--ease-out)}.topbar-help:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-tint)}@media(max-width:480px){.tour-overlay{align-items:flex-end;padding:var(--sp-4)}.tour-card{padding:var(--sp-5);padding-bottom:calc(var(--sp-5) + env(safe-area-inset-bottom,0px))}.tour-footer{flex-direction:column;align-items:stretch}.tour-actions{margin-left:0;justify-content:flex-end}}
