:root{color:var(--text-primary);background:var(--background);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--primary-burgundy:#8c1d40;--burgundy-hover:#6f1734;--burgundy-deep:#541027;--burgundy-soft:#f4e8ec;--accent-gold:#d8a917;--gold-soft:#fbf2d9;--background:#faf7f0;--surface:#fffdf8;--surface-muted:#f6f0e5;--text-primary:#2c292b;--text-secondary:#71696a;--text-muted:#91898a;--border:#e9dfd5;--border-strong:#d7c8b8;--on-brand:#fffaf5;--on-brand-muted:#ecdce1;--ink:var(--text-primary);--muted:var(--text-secondary);--line:var(--border);--paper:var(--surface);--canvas:var(--background);--green:var(--primary-burgundy);--green-dark:var(--primary-burgundy);--mint:var(--burgundy-soft);--orange:var(--accent-gold);font-family:DM Sans,Avenir Next,sans-serif;font-weight:400}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}#root{min-height:100vh}::selection{color:var(--on-brand);background:var(--primary-burgundy)}.app-shell{min-height:100vh}.sidebar{z-index:5;color:#e7f2ec;background:var(--green-dark);flex-direction:column;width:248px;padding:30px 18px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:#fff;letter-spacing:0;align-items:center;gap:11px;margin:0 0 53px 7px;font-family:Georgia,serif;font-size:25px;font-weight:700;text-decoration:none;display:flex}.brand-mark{color:#e2f0e7;border:1px solid #7ca994;border-radius:10px 10px 10px 3px;place-items:center;width:31px;height:31px;font-family:Georgia,serif;font-size:19px;font-style:italic;display:grid}.sidebar-label{color:#90b4a1;letter-spacing:.11em;text-transform:uppercase;margin:0 0 13px 12px;font-size:10px;font-weight:700}.main-nav{gap:5px;display:grid}.nav-link{color:#c1d5c9;border-radius:7px;align-items:center;gap:13px;min-height:45px;padding:0 12px;font-size:13px;font-weight:500;text-decoration:none;transition:background .16s,color .16s;display:flex;position:relative}.nav-link svg{flex:none;width:18px;height:18px}.nav-link.is-active:before{content:"";background:#efad81;border-radius:0 3px 3px 0;width:3px;position:absolute;top:10px;bottom:10px;left:-18px}.nav-dot{background:#f2aa78;border-radius:50%;width:6px;height:6px;margin-left:auto}.sidebar-bottom{margin-top:auto}.semester-card{background:#ffffff0d;border:1px solid #d0e7d82b;border-radius:8px;align-items:center;gap:10px;padding:13px 11px;display:flex}.semester-icon{color:#f0b28b;background:#f0b28b1f;border-radius:8px;place-items:center;width:30px;height:30px;font-size:17px;display:grid}.semester-card div,.profile-copy{gap:3px;display:grid}.semester-card strong,.profile-copy strong{color:#eff6f1;font-size:11px;font-weight:600}.semester-card div span,.profile-copy span{color:#9fbeac;font-size:10px}.semester-arrow{color:#9fbeac;margin-left:auto;font-size:14px}.profile-row{border-top:1px solid #d0e7d829;align-items:center;gap:10px;margin-top:18px;padding:17px 4px 0;display:flex}.avatar{color:#674a3a;background:#f1c5a7;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:10px;font-weight:700;display:grid}.profile-menu{color:#9fbeac;letter-spacing:1px;margin-left:auto;font-size:18px}.main-area{min-height:100vh;margin-left:248px}.topbar{z-index:4;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;justify-content:space-between;align-items:center;height:66px;padding:0 42px;display:flex;position:sticky;top:0}.breadcrumb{color:#9aa59f;align-items:center;gap:10px;font-size:11px;display:flex}.breadcrumb strong{color:#36463f;font-weight:600}.topbar-actions{align-items:center;gap:19px;display:flex}.term-pill{color:#66766d;align-items:center;gap:7px;font-size:11px;display:flex}.term-dot{background:#e6a173;border-radius:50%;width:7px;height:7px}.icon-button{color:#6d7c74;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:31px;height:31px;font-size:19px;display:grid;position:relative}.notification-button i{background:#e58d63;border:1px solid #fff;border-radius:50%;width:5px;height:5px;position:absolute;top:5px;right:5px}.top-avatar{width:29px;height:29px;font-size:9px}.page-content{max-width:1360px;min-height:calc(100vh - 66px);margin:0 auto;padding:40px 42px 60px;animation:.26s both enter}@keyframes enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.page-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px;display:flex}.page-heading-actions{align-items:center;gap:16px;display:flex}.eyebrow{color:#819088;letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:10px;font-weight:700}.page-heading h1{color:#273831;letter-spacing:0;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(29px,3vw,38px);font-weight:400;line-height:1.15}.page-heading p{color:#89958f;margin:8px 0 0;font-size:12px}.text-action{color:#3b5d4c;cursor:pointer;background:#fff;border:1px solid #e2e9e4;border-radius:6px;align-items:center;gap:8px;padding:10px 13px;font-size:11px;font-weight:600;text-decoration:none;display:inline-flex}.text-action:hover{background:#f9fcfa;border-color:#bad1c2}.text-action svg{width:14px;height:14px}.dashboard-grid{grid-template-columns:minmax(0,1.7fr) minmax(245px,.9fr);gap:19px;display:grid}.dashboard-primary,.dashboard-aside{align-content:start;gap:18px;display:grid}.card{background:var(--paper);border:1px solid #e9efeb;border-radius:8px}.welcome-card{color:#f3f7f2;background:#1b604d;border:0;justify-content:space-between;align-items:center;min-height:204px;padding:27px 28px;display:flex;position:relative;overflow:hidden}.welcome-card:after{content:"";border:1px solid #e0f2e429;border-radius:50%;width:295px;height:295px;position:absolute;top:-90px;right:-59px;box-shadow:0 0 0 28px #e0f2e40a,0 0 0 57px #e0f2e40a}.welcome-copy{z-index:1;max-width:420px;position:relative}.welcome-copy h2{color:#fff;letter-spacing:0;margin:0;font-family:Georgia,serif;font-size:29px;font-weight:400;line-height:1.18}.welcome-copy p{color:#c6ddd0;margin:10px 0 17px;font-size:11px}.welcome-link{color:#fff;align-items:center;gap:7px;font-size:11px;font-weight:600;text-decoration:none;display:inline-flex}.welcome-link span{color:#f0ad83;font-size:15px}.welcome-art{z-index:1;color:#f4c09d;background:#ffffff12;border:1px solid #eaf6eb3d;border-radius:50%;flex:none;place-items:center;width:108px;height:108px;margin-right:24px;font-family:Georgia,serif;font-size:46px;font-style:italic;display:grid;position:relative}.welcome-art:before,.welcome-art:after{content:"";border:1px solid #eaf6eb59;border-radius:50%;position:absolute}.welcome-art:before{inset:11px}.welcome-art:after{border-color:#eaf6eb1f;inset:-10px}.section-heading{justify-content:space-between;align-items:center;margin:0 0 13px;display:flex}.section-heading h2{color:#33423b;letter-spacing:0;margin:0;font-size:13px;font-weight:700}.section-heading a{color:#63816e;font-size:10px;font-weight:600;text-decoration:none}.stat-grid{grid-template-columns:repeat(3,1fr);gap:11px;display:grid}.stat-card{min-height:111px;padding:15px}.stat-top{color:#87958d;justify-content:space-between;align-items:center;font-size:10px;display:flex}.stat-icon{color:#46755d;background:#edf5ef;border-radius:7px;place-items:center;width:27px;height:27px;font-size:14px;display:grid}.stat-number{color:#34483e;margin-top:12px;font-family:Georgia,serif;font-size:26px;line-height:1;display:block}.stat-note{color:#a0aaa4;margin-top:5px;font-size:9px}.course-list{padding:17px 18px 4px}.course-row{border-top:1px solid #f0f3f0;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px 0;display:grid}.course-row:first-of-type{border-top:0}.course-color{border-radius:8px;width:34px;height:34px}.course-color.mint{background:#dceee2}.course-color.blue{background:#e0e9ed}.course-row strong,.course-row span{display:block}.course-row strong{color:#405048;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:600;overflow:hidden}.course-row span{color:#97a29b;margin-top:4px;font-size:9px}.course-grade{color:#47765d;font-size:10px;font-weight:700}.deadline-card{padding:18px}.deadline-item{border-top:1px solid #f0f3f0;grid-template-columns:39px minmax(0,1fr);gap:11px;padding:13px 0;display:grid}.deadline-date{color:#67816f;text-align:center;background:#f0f5f1;border-radius:6px;place-content:center;width:38px;height:41px;display:grid}.deadline-date strong{font-size:12px;line-height:1}.deadline-date span{text-transform:uppercase;margin-top:3px;font-size:8px}.deadline-copy strong{color:#48584f;font-size:10px;font-weight:600;display:block}.deadline-copy span{color:#9aa59e;margin-top:4px;font-size:9px;display:block}.week-card{padding:17px 18px}.week-progress{color:#87958d;justify-content:space-between;align-items:center;font-size:10px;display:flex}.week-progress strong{color:#4a6554;font-size:11px}.progress-track{background:#edf2ee;border-radius:8px;height:6px;margin:13px 0 9px;overflow:hidden}.progress-track span{border-radius:inherit;background:#639574;width:42%;height:100%;display:block}.week-foot{color:#9aa59e;font-size:9px}.page-section{margin-top:26px}.course-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.course-card{padding:18px}.course-card-top{justify-content:space-between;align-items:flex-start;display:flex}.course-card h2{color:#35453d;letter-spacing:0;margin:15px 0 5px;font-size:15px}.course-card p{color:#929e97;margin:0;font-size:10px}.course-card-meta{color:#87958d;border-top:1px solid #eff3ef;justify-content:space-between;margin-top:19px;padding-top:13px;font-size:10px;display:flex}.course-card-actions,.planner-item-actions,.event-item-actions{flex-wrap:wrap;gap:7px;display:flex}.course-card-actions{border-top:1px solid var(--border);margin-top:13px;padding-top:12px}.event-item-actions{margin-top:8px}.course-card-actions .text-action,.planner-item-actions .text-action,.event-item-actions .text-action{justify-content:center;padding:6px 9px;font-size:10px}.course-remove-action,.planner-remove-action,.event-remove-action{color:var(--text-secondary)}.course-remove-action:hover,.planner-remove-action:hover,.event-remove-action:hover{color:var(--primary-burgundy);background:#f7e9ea;border-color:#bd777b}.course-modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#2c292b7a;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.course-modal{border:1px solid var(--border);background:var(--surface);border-radius:8px;width:min(100%,570px);max-height:min(90vh,760px);padding:25px;overflow-y:auto;box-shadow:0 20px 60px #2c292b33}.course-modal-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.course-modal-heading .eyebrow{margin-bottom:6px}.course-modal-heading h2{color:var(--primary-burgundy);letter-spacing:0;margin:0;font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:500}.course-modal-heading p:last-child{color:var(--text-secondary);margin:6px 0 0;font-size:11px}.course-modal-close{border:1px solid var(--border);width:31px;height:31px;color:var(--primary-burgundy);background:var(--surface);cursor:pointer;border-radius:6px;flex:none;place-items:center;font-size:20px;display:grid}.course-modal-close:hover{border-color:var(--accent-gold);background:var(--gold-soft)}.course-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 13px;display:grid}.course-form label{min-width:0;color:var(--text-primary);gap:7px;font-size:10px;font-weight:600;display:grid}.course-form input,.course-form select{border:1px solid var(--border-strong);width:100%;min-width:0;height:41px;color:var(--text-primary);background:var(--surface);border-radius:5px;outline:none;padding:0 10px;font-size:11px;font-weight:400}.course-form input::placeholder{color:var(--text-muted)}.course-form input:focus,.course-form select:focus{border-color:var(--primary-burgundy);box-shadow:0 0 0 3px #8c1d401f}.course-field-wide{grid-column:1/-1}.schedule-days-field{border:0;min-width:0;margin:0;padding:0}.schedule-days-field legend{color:var(--text-primary);margin-bottom:8px;font-size:10px;font-weight:600}.schedule-days-label{color:var(--text-secondary);margin-bottom:7px;font-size:9px;display:block}.schedule-day-options{flex-wrap:wrap;gap:8px;display:flex}.class-day-toggle{border:1px solid var(--border-strong);min-width:48px;height:36px;color:var(--text-secondary);background:var(--surface);cursor:pointer;border-radius:5px;padding:0 10px;font-size:10px;font-weight:600;transition:border-color .15s,color .15s,background .15s}.class-day-toggle:hover{border-color:var(--primary-burgundy)}.class-day-toggle.is-selected{border-color:var(--primary-burgundy);color:var(--on-brand);background:var(--primary-burgundy)}.course-form-actions{justify-content:flex-end;align-items:center;gap:9px;margin-top:3px;display:flex}.course-form-actions .text-action,.course-form-actions .auth-primary{justify-content:center;min-height:41px}.course-form-actions .auth-primary{min-width:130px}.course-form-actions .auth-primary span{margin-left:4px}.course-modal-backdrop~*{pointer-events:none}.grade-pill{color:#4d795d;background:#edf5ef;border-radius:5px;padding:5px 8px;font-size:10px;font-weight:700}.planner-layout{grid-template-columns:minmax(0,1.5fr) minmax(245px,.8fr);gap:18px;display:grid}.planner-card{padding:20px}.planner-card h2{color:#35453d;letter-spacing:0;margin:0;font-size:14px}.planner-card>p{color:#929e97;margin:7px 0 19px;font-size:10px}.plan-item{border-top:1px solid #eff3ef;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:11px;padding:14px 0;display:grid}.planner-item-actions{grid-column:2/-1}.plan-check{background:#fff;border:1px solid #dce6de;border-radius:5px;width:18px;height:18px}.plan-item strong{color:#48584f;font-size:11px;font-weight:600;display:block}.plan-item span{color:#96a199;margin-top:4px;font-size:9px;display:block}.plan-time{color:#718078;font-size:9px}.schedule-grid{background:#fff;border:1px solid #e9efeb;border-radius:8px;grid-template-columns:48px repeat(5,minmax(0,1fr));gap:0;display:grid;overflow:hidden}.schedule-grid>div{border-top:1px solid #eef2ee;border-right:1px solid #f0f3f0;min-height:66px;padding:9px 6px}.schedule-grid .schedule-head{color:#7f8d84;text-align:center;border-top:0;min-height:38px;font-size:9px;font-weight:700}.schedule-grid .schedule-time{color:#9ba69f;font-size:8px}.schedule-event{color:#527760;background:#eef6f0;border-radius:3px;font-size:8px;line-height:1.4;border:0!important;border-left:2px solid #72a085!important;min-height:47px!important}.schedule-event.peach-event{color:#9b6c50;background:#fbf0e9;border-color:#e39a72!important}.calendar-card{padding:20px}.calendar-toolbar{justify-content:space-between;align-items:center;margin-bottom:17px;display:flex}.calendar-toolbar h2{color:#394940;letter-spacing:0;margin:0;font-family:Georgia,serif;font-size:18px;font-weight:400}.calendar-controls{gap:5px;display:flex}.calendar-controls button{color:#718078;background:#fff;border:1px solid #e6ece7;border-radius:5px;width:26px;height:26px}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-grid>span{color:#526259;border-top:1px solid #f0f3f0;align-content:start;justify-items:center;gap:6px;min-height:61px;padding:8px 3px;font-size:10px;display:grid}.calendar-grid .calendar-day{color:#97a29b;text-transform:uppercase;border-top:0;min-height:30px;font-size:8px;font-weight:700}.calendar-grid .today{color:#fff}.calendar-grid .today b{background:#347257;border-radius:50%;place-items:center;width:23px;height:23px;font-weight:600;display:grid}.calendar-grid i{background:#e7a177;border-radius:50%;width:4px;height:4px}.chat-layout{grid-template-columns:minmax(0,1.6fr) minmax(230px,.7fr);gap:18px;display:grid}.chat-window{flex-direction:column;min-height:405px;padding:19px;display:flex}.chat-header{border-bottom:1px solid #edf1ed;align-items:center;gap:11px;padding-bottom:15px;display:flex}.chat-avatar{color:#47745b;background:#e9f3eb;border-radius:11px;place-items:center;width:36px;height:36px;font-family:Georgia,serif;font-size:18px;display:grid}.chat-header strong{color:#48584f;font-size:11px;display:block}.chat-header span{color:#95a199;margin-top:4px;font-size:9px;display:block}.chat-messages{align-content:start;gap:15px;padding:22px 0;display:grid}.message{color:#68766e;background:#f3f6f3;border-radius:8px;max-width:78%;padding:11px 13px;font-size:10px;line-height:1.6}.message.mine{color:#fff;background:#347257;justify-self:end}.message-time{color:#a4aea8;margin-top:5px;font-size:8px}.chat-compose{border-top:1px solid #edf1ed;gap:8px;margin-top:auto;padding-top:12px;display:flex}.chat-compose input{color:#46564d;background:#fff;border:1px solid #e6ece7;border-radius:6px;outline:none;flex:1;min-width:0;padding:10px 12px;font-size:10px}.chat-compose button{color:#fff;background:#347257;border:0;border-radius:6px;width:36px}.people-card{padding:18px}.people-card h2{color:#43544a;letter-spacing:0;margin:0 0 15px;font-size:12px}.person-row{border-top:1px solid #f0f3f0;align-items:center;gap:9px;padding:10px 0;display:flex}.person-avatar{color:#6b5848;background:#f3dfce;border-radius:50%;place-items:center;width:29px;height:29px;font-size:8px;font-weight:700;display:grid}.person-row strong{color:#526158;font-size:9px;font-weight:600}.person-row span{color:#9ba69e;margin-top:3px;font-size:8px;display:block}.mobile-brand{display:none}.schedule-list-item{border-top:1px solid #f0f3f0;grid-template-columns:36px 8px minmax(0,1fr);align-items:center;gap:9px;padding:12px 0;display:grid}.schedule-list-time{color:#74857a;font-size:9px;font-weight:600}.schedule-list-marker{background:#77a486;border-radius:4px;width:6px;height:29px}.schedule-list-item:nth-of-type(3) .schedule-list-marker{background:#e5a077}.quick-links{gap:8px;display:grid}.quick-links a{color:#60766a;border:1px solid #edf1ed;border-radius:5px;justify-content:space-between;align-items:center;padding:9px 10px;font-size:10px;font-weight:600;text-decoration:none;display:flex}.quick-links a:hover{background:#f8fbf8;border-color:#c7d9cd}.auth-shell{background:#fff;grid-template-columns:minmax(350px,.9fr) minmax(470px,1.1fr);min-height:100vh;display:grid}.auth-story{color:#eef6ef;background:#174b3e;flex-direction:column;min-height:100vh;padding:34px 8%;display:flex;position:relative;overflow:hidden}.auth-brand{z-index:1;color:#fff;align-items:center;gap:11px;width:max-content;font-family:Georgia,serif;font-size:25px;font-weight:700;text-decoration:none;display:inline-flex;position:relative}.auth-story-copy{z-index:1;max-width:410px;margin:auto 0;padding:55px 0 80px;position:relative}.auth-story-copy h2{color:#fff;letter-spacing:0;margin:0 0 18px;font-family:Georgia,serif;font-size:clamp(41px,5vw,65px);font-weight:400;line-height:1.04}.auth-story-copy>p:last-child{color:#bed4c5;max-width:340px;font-size:13px;line-height:1.8}.auth-orbit{color:#e8bd9c;border:1px solid #e8f6eb30;border-radius:50%;place-items:center;width:320px;height:320px;font-family:Georgia,serif;font-size:110px;font-style:italic;display:grid;position:absolute;bottom:9%;right:-95px}.auth-orbit:before,.auth-orbit:after{content:"";border:1px solid #e8f6eb1f;border-radius:50%;position:absolute}.auth-orbit:before{inset:27px}.auth-orbit:after{inset:-28px}.auth-orbit i,.auth-orbit b{background:#e9a77d;border-radius:50%;width:8px;height:8px;position:absolute}.auth-orbit i{top:36px;left:80px}.auth-orbit b{background:#a7c9b2;width:5px;height:5px;bottom:64px;right:58px}.auth-story-note{z-index:1;color:#9fbeaa;margin:0;font-size:10px;position:relative}.auth-main{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:42px 7%;display:flex}.auth-main-inner{width:min(100%,450px)}.auth-form-content>.eyebrow{color:#6d8a76;margin-bottom:8px}.auth-form-content>h1{color:#2b3b32;letter-spacing:0;margin:0;font-family:Georgia,serif;font-size:36px;font-weight:400;line-height:1.16}.auth-description{color:#89968e;margin:9px 0 27px;font-size:12px;line-height:1.6}.welcome-actions{gap:11px;margin-top:33px;display:grid}.auth-primary,.auth-secondary{cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding:0 15px;font-size:11px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,transform .15s;display:flex}.auth-primary span,.auth-secondary span{font-size:15px}.auth-secondary{color:#4d6958;background:#fff;border-color:#e4ebe5}.auth-secondary:hover{background:#f8fbf8;border-color:#b9cfc0}.auth-footnote{color:#a3ada6;margin:27px 0 0;font-size:9px;line-height:1.6}.auth-form{gap:15px;display:grid}.auth-form label,.profile-form label{color:#4f6055;gap:7px;font-size:10px;font-weight:600;display:grid}.auth-form input,.auth-form select,.profile-form input,.profile-form select{color:#405148;background:#fff;border:1px solid #e3eae4;border-radius:5px;outline:none;width:100%;height:42px;padding:0 11px;font-size:11px;font-weight:400}.auth-form input::placeholder{color:#a5afa8}.auth-form>.auth-primary{width:100%;margin-top:4px}.auth-switch{color:#86938b;margin:20px 0 0;font-size:10px}.auth-switch a{color:#386c50;margin-left:4px;font-weight:700;text-decoration:none}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 12px}.form-grid .field-wide{grid-column:1/-1}.form-error{color:#aa4e39;margin:0;font-size:10px}.freshman-field{border:0;gap:15px;margin:0;padding:0;display:flex}.freshman-field legend{color:#4f6055;width:100%;margin-bottom:8px;font-size:10px;font-weight:600}.auth-form .choice-option{color:#64746a;align-items:center;gap:7px;min-width:88px;font-size:10px;font-weight:500;display:inline-flex}.choice-option input{accent-color:#347257;width:14px;height:14px;margin:0}.onboarding-content>h1{font-size:33px}.onboarding-content .auth-description{margin-bottom:21px}.auth-main-footer{color:#b1bab4;margin:34px 0 0;font-size:9px}.profile-settings{max-width:780px;padding:23px}.profile-settings-heading{border-bottom:1px solid #edf1ed;align-items:center;gap:12px;padding-bottom:20px;display:flex}.profile-large{width:44px;height:44px;font-size:12px}.profile-settings-heading strong{color:#405148;font-size:12px;display:block}.profile-settings-heading span{color:#89968e;margin-top:4px;font-size:10px;display:block}.profile-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 14px;padding-top:21px;display:grid}.profile-form-actions{grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;margin-top:3px;display:flex}.profile-form-actions .auth-primary{min-width:148px}.profile-saved{color:#4f795e;font-size:10px}.signout-button{color:#945d49}.top-avatar{text-decoration:none}.profile-menu{place-items:center;width:28px;height:28px;text-decoration:none;display:grid}@media (width<=1050px){.sidebar{width:218px}.main-area{margin-left:218px}.topbar{padding-inline:28px}.page-content{padding:32px 28px 48px}.dashboard-grid{grid-template-columns:minmax(0,1.4fr) minmax(220px,.8fr)}.course-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.auth-shell{grid-template-columns:1fr}.auth-story{min-height:190px;padding:18px 22px}.auth-brand{font-size:21px}.auth-brand .brand-mark{width:28px;height:28px}.auth-story-copy{max-width:75%;margin:auto 0 0;padding:23px 0 4px}.auth-story-copy .eyebrow{margin-bottom:5px;font-size:8px}.auth-story-copy h2{margin-bottom:0;font-size:30px}.auth-story-copy>p:last-child,.auth-story-note{display:none}.auth-orbit{width:260px;height:260px;font-size:83px;bottom:-118px;right:-69px}.auth-main{justify-content:flex-start;min-height:calc(100vh - 190px);padding:34px 22px 27px}.auth-main-footer{margin-top:auto;padding-top:24px}.auth-form-content>h1{font-size:32px}.onboarding-content>h1{font-size:29px}.profile-form{grid-template-columns:1fr}.profile-form-actions{grid-column:1}.sidebar{width:100%;height:66px;padding:5px 9px max(5px, env(safe-area-inset-bottom));border-top:1px solid #ffffff1a;flex-direction:row;align-items:center;inset:auto 0 0}.brand,.sidebar-label,.sidebar-bottom{display:none}.main-nav{justify-content:space-around;gap:2px;width:100%;display:flex}.nav-link{border-radius:6px;flex-direction:column;flex:1;justify-content:center;gap:4px;min-width:0;min-height:50px;padding:5px 2px;font-size:8px}.nav-link svg{width:18px;height:18px}.nav-link.is-active:before{border-radius:2px 2px 0 0;width:auto;height:2px;inset:auto 25% -5px}.nav-dot{width:5px;height:5px;position:absolute;top:5px;right:calc(50% - 15px)}.main-area{margin-left:0;padding-bottom:68px}.topbar{height:56px;padding:0 18px}.breadcrumb{font-size:10px}.topbar-actions{gap:11px}.term-pill{font-size:9px}.top-avatar{display:none}.page-content{min-height:calc(100vh - 124px);padding:27px 17px 38px}.page-heading{align-items:flex-start;margin-bottom:21px}.page-heading h1{font-size:31px}.page-heading p{max-width:280px;line-height:1.5}.text-action{padding:9px;font-size:10px}.dashboard-grid,.planner-layout,.chat-layout{grid-template-columns:1fr}.dashboard-grid{gap:16px}.dashboard-aside{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome-card{min-height:185px;padding:21px}.welcome-copy h2{font-size:25px}.welcome-art{width:76px;height:76px;margin:0 7px 0 0;font-size:34px}.stat-grid{gap:8px}.stat-card{min-height:100px;padding:11px}.stat-number{font-size:23px}.stat-top{font-size:9px}.course-cards{grid-template-columns:1fr}.schedule-grid{grid-template-columns:39px repeat(5,minmax(48px,1fr));overflow-x:auto}.calendar-card,.planner-card{padding:15px}}@media (width<=430px){.course-modal-backdrop{align-items:flex-end;padding:0}.course-modal{width:100%;max-height:92vh;padding:21px 17px max(21px, env(safe-area-inset-bottom));border-radius:10px 10px 0 0}.course-form{grid-template-columns:1fr}.course-field-wide{grid-column:1}.dashboard-aside{grid-template-columns:1fr}.welcome-art{width:61px;height:61px;margin-right:1px;font-size:28px}.welcome-art:before{inset:7px}.welcome-art:after{inset:-6px}.welcome-copy h2{font-size:23px}.welcome-copy p{max-width:220px;line-height:1.5}.stat-card{padding:10px 8px}.stat-icon{width:23px;height:23px}.calendar-grid>span{min-height:50px}}body,.app-shell,.main-area{color:var(--text-primary);background:var(--background)}.sidebar{color:var(--on-brand);background:var(--primary-burgundy)}.brand-mark{color:#ffe08a;border-color:#ffc62799}.brand-dot{color:var(--accent-gold)}.sidebar-label,.semester-card div span,.profile-copy span,.semester-arrow,.profile-menu{color:var(--on-brand-muted)}.nav-link{color:#f1e4e8}.nav-link:hover{color:var(--on-brand);background:#ffffff17}.nav-link.is-active{color:var(--on-brand);background:var(--burgundy-hover)}.nav-link.is-active:before,.nav-dot,.term-dot,.notification-button i{background:var(--accent-gold)}.semester-card{background:#fffaf50d;border-color:#fffaf533}.semester-icon{color:#ffdb73;background:#ffc62724}.semester-card strong,.profile-copy strong{color:var(--on-brand)}.profile-row{border-color:#fffaf52e}.avatar{color:var(--burgundy-deep);background:#f5e6c0}.topbar{border-color:var(--border);background:#fffdf8f2}.breadcrumb{color:var(--text-muted)}.breadcrumb strong,.page-heading h1{color:var(--primary-burgundy)}.breadcrumb-slash{color:var(--border-strong)}.term-pill,.icon-button{color:var(--text-secondary)}.icon-button:hover{background:var(--burgundy-soft)}.eyebrow{color:#9b762d}.page-heading p,.auth-description,.auth-footnote,.auth-main-footer{color:var(--text-secondary)}.text-action{border-color:var(--border-strong);color:var(--primary-burgundy);background:var(--surface)}.text-action:hover{border-color:var(--accent-gold);background:var(--gold-soft)}.card,.schedule-grid{border-color:var(--border);background:var(--surface)}.welcome-card{color:var(--on-brand);background:var(--primary-burgundy)}.welcome-card:after{border-color:#fffaf52e;box-shadow:0 0 0 28px #fffaf50a,0 0 0 57px #fffaf50a}.welcome-copy .eyebrow{color:#f4d77e}.welcome-copy p{color:var(--on-brand-muted)}.welcome-link span,.welcome-art{color:#f5d36a}.welcome-art{background:#fffaf512;border-color:#fffaf542}.welcome-art:before,.welcome-art:after{border-color:#fffaf547}.welcome-art:after{border-color:#fffaf521}.section-heading h2,.course-row strong,.deadline-copy strong,.course-card h2,.planner-card h2,.calendar-toolbar h2,.chat-header strong,.people-card h2,.person-row strong,.profile-settings-heading strong{color:var(--text-primary)}.section-heading a,.course-grade,.week-progress strong,.grade-pill{color:var(--primary-burgundy)}.section-heading a:hover{color:var(--burgundy-hover)}.stat-top,.stat-note,.course-row span,.deadline-copy span,.week-progress,.week-foot,.course-card p,.course-card-meta,.planner-card>p,.plan-item span,.plan-time,.schedule-grid .schedule-head,.schedule-grid .schedule-time,.calendar-grid .calendar-day,.chat-header span,.person-row span,.profile-settings-heading span{color:var(--text-secondary)}.stat-icon{color:var(--primary-burgundy);background:var(--burgundy-soft)}.stat-number{color:var(--text-primary)}.course-row,.deadline-item,.course-card-meta,.plan-item,.schedule-grid>div,.calendar-grid>span,.chat-header,.person-row{border-color:var(--border)}.course-color.mint,.course-color.blue{background:var(--burgundy-soft)}.course-color.peach{background:var(--gold-soft)}.course-grade{color:var(--primary-burgundy)}.deadline-date{color:var(--primary-burgundy);background:var(--burgundy-soft)}.progress-track{background:var(--surface-muted)}.progress-track span{background:var(--primary-burgundy)}.grade-pill{color:var(--primary-burgundy);background:var(--burgundy-soft)}.plan-check{border-color:var(--border-strong);background:var(--surface)}.schedule-grid .schedule-event{color:var(--primary-burgundy);background:var(--burgundy-soft);border-left-color:var(--primary-burgundy)!important}.schedule-grid .schedule-event.peach-event{color:#86651b;background:var(--gold-soft);border-color:var(--accent-gold)!important}.calendar-controls button{border-color:var(--border);color:var(--primary-burgundy);background:var(--surface)}.calendar-controls button:hover{border-color:var(--accent-gold);background:var(--gold-soft)}.calendar-grid .today b{background:var(--primary-burgundy)}.calendar-grid i{background:var(--accent-gold)}.calendar-grid i.green-mark{background:#a75a70}.chat-avatar{color:var(--primary-burgundy);background:var(--burgundy-soft)}.message{color:var(--text-secondary);background:var(--surface-muted)}.message.mine{color:var(--on-brand);background:var(--primary-burgundy)}.message-time{color:var(--text-muted)}.chat-compose{border-color:var(--border)}.chat-compose input{border-color:var(--border);color:var(--text-primary);background:var(--surface)}.chat-compose input:focus{border-color:var(--primary-burgundy)}.chat-compose button{color:var(--on-brand);background:var(--primary-burgundy)}.person-avatar{color:var(--primary-burgundy);background:var(--gold-soft)}.person-avatar.alt{color:var(--primary-burgundy);background:var(--burgundy-soft)}.quick-links a{border-color:var(--border);color:var(--primary-burgundy);background:var(--surface)}.quick-links a:hover{border-color:var(--accent-gold);background:var(--gold-soft)}.quick-links a span{color:#9b762d}.auth-shell,.auth-main{color:var(--text-primary);background:var(--background)}.auth-story{color:var(--on-brand);background:var(--primary-burgundy)}.auth-brand{color:var(--on-brand)}.auth-story-copy .eyebrow{color:#f4d77e}.auth-story-copy h2{color:var(--on-brand)}.auth-story-copy>p:last-child,.auth-story-note{color:var(--on-brand-muted)}.auth-orbit{color:#f2cf69;border-color:#fffaf538}.auth-orbit:before,.auth-orbit:after{border-color:#fffaf526}.auth-orbit i{background:var(--accent-gold)}.auth-orbit b{background:#f5e6c0}.auth-form-content>.eyebrow{color:#9b762d}.auth-form-content>h1{color:var(--primary-burgundy)}.auth-primary{color:var(--on-brand);background:var(--primary-burgundy)}.auth-primary:hover{background:var(--burgundy-hover)}.auth-primary span{color:#f5d36a}.auth-secondary{border-color:var(--border-strong);color:var(--primary-burgundy);background:var(--surface)}.auth-secondary:hover{border-color:var(--accent-gold);background:var(--gold-soft)}.auth-secondary span{color:#9b762d}.auth-switch{color:var(--text-secondary)}.auth-switch a{color:var(--primary-burgundy)}.auth-form label,.profile-form label,.freshman-field legend{color:var(--text-primary)}.auth-form input,.auth-form select,.profile-form input,.profile-form select{border-color:var(--border-strong);color:var(--text-primary);background:var(--surface)}.auth-form input:focus,.auth-form select:focus,.profile-form input:focus,.profile-form select:focus{border-color:var(--primary-burgundy);box-shadow:0 0 0 3px #8c1d401f}.auth-form .choice-option{color:var(--text-secondary)}.choice-option input{accent-color:var(--primary-burgundy)}.profile-settings{border-color:var(--border);background:var(--surface)}.profile-settings-heading,.profile-form-actions{border-color:var(--border)}.profile-saved,.signout-button{color:var(--primary-burgundy)}.form-error{color:#9a3e34}.brand:focus-visible,.auth-brand:focus-visible,.nav-link:focus-visible,.text-action:focus-visible,.auth-primary:focus-visible,.auth-secondary:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--accent-gold);outline-offset:2px}.auth-loading{min-height:100vh;color:var(--text-secondary);background:var(--background);place-items:center;font-size:13px;display:grid}.profile-connect{margin-top:14px}.profile-connect-actions{flex-wrap:wrap;gap:9px;margin-top:12px;display:flex}.plan-cta-stats{gap:22px;margin-top:18px;display:flex}.plan-cta-stats div{gap:3px;display:grid}.plan-cta-stats strong{font-family:Georgia,serif;font-size:20px}.plan-cta-stats span{text-transform:uppercase;letter-spacing:.08em;font-size:9px}.progress-list{gap:14px;padding:17px 18px;display:grid}.progress-row strong{margin-bottom:6px;font-size:10px;font-weight:600;display:block}.progress-row .progress-track{margin:0}.week-grid{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:48px repeat(5,minmax(0,1fr));display:grid;position:relative;overflow:hidden}.week-grid-head{display:contents}.week-grid-head span{min-height:32px;color:var(--text-secondary);text-align:center;text-transform:uppercase;padding:8px 6px;font-size:9px;font-weight:700}.week-grid-body{grid-column:1/-1;grid-template-columns:48px repeat(5,minmax(0,1fr));display:grid;position:relative}.week-grid-hour{border-top:1px solid var(--border);color:var(--text-muted);padding:4px 6px 0;font-size:8px}.week-grid-column{border-top:1px solid var(--border);border-left:1px solid var(--border);position:relative}.week-grid-block{border:0;border-left:2px solid var(--primary-burgundy);color:var(--primary-burgundy);background:var(--burgundy-soft);cursor:pointer;border-radius:4px;margin:0;padding:5px 6px;font-size:9px;line-height:1.35;position:absolute;left:3px;right:3px;overflow:hidden}.week-grid-block.has-conflict{color:#7a1913;background:#fbe4e2;border-left-color:#b3261e}.week-grid-block strong{font-size:9px;display:block}.week-grid-block span{color:inherit;opacity:.8;font-size:8px;display:block}.plan-async-list{gap:10px;margin-top:10px;display:grid}.plan-async-item{border:1px solid var(--border);width:100%;color:var(--text-primary);background:var(--surface);font:inherit;text-align:left;cursor:pointer;border-radius:7px;padding:10px;font-size:10px}.week-grid-block{text-align:left;font:inherit;cursor:pointer}.plan-tabs{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.plan-tab{border:1px solid var(--border-strong);color:var(--text-secondary);background:var(--surface);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:8px 11px;font-size:10px;font-weight:600;display:inline-flex}.plan-tab.is-active{border-color:var(--primary-burgundy);color:var(--primary-burgundy);background:var(--burgundy-soft)}.plan-tab-remove{color:inherit;opacity:.6}.plan-tab-remove:hover{opacity:1}.plan-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.plan-toolbar-meta{color:var(--text-secondary);gap:14px;font-size:10px;display:flex}.plan-toolbar-meta strong{color:var(--text-primary)}.plan-toolbar-meta .has-conflict{color:#b3261e}.plan-layout{grid-template-columns:minmax(210px,.85fr) minmax(0,1.6fr) minmax(240px,.95fr);align-items:start;gap:16px;display:grid}.plan-column{gap:12px;display:grid}.requirement-group-heading{margin-bottom:4px;padding:14px 14px 0}.requirement-item{border-top:1px solid var(--border);padding:12px}.requirement-item:first-child{border-top:0}.requirement-item summary{cursor:pointer;justify-content:space-between;align-items:center;gap:8px;font-size:10px;font-weight:600;list-style:none;display:flex}.requirement-item summary::-webkit-details-marker{display:none}.requirement-item-classes{gap:8px;margin-top:10px;display:grid}.class-result{border:1px solid var(--border);background:var(--surface);border-radius:7px;padding:11px}.class-result-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.class-result-top strong{font-size:10px}.class-result p{color:var(--text-secondary);margin:4px 0 0;font-size:9px}.class-search-card{padding:14px}.class-search-heading{margin:0 0 12px;font-size:13px}.class-result-link{color:var(--primary-burgundy);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.class-search-filters{gap:8px;margin-bottom:12px;display:grid}.class-search-filters input,.class-search-filters select{border:1px solid var(--border-strong);border-radius:5px;height:36px;padding:0 9px;font-size:10px}.class-search-filters .choice-option{justify-content:flex-start}.class-results{gap:8px;max-height:640px;display:grid;overflow-y:auto}.class-drawer-backdrop{z-index:25;background:#2c292b66;justify-content:flex-end;display:flex;position:fixed;inset:0}.class-drawer{background:var(--surface);width:min(100%,420px);height:100%;padding:24px;overflow-y:auto;box-shadow:-12px 0 40px #2c292b26}.class-drawer-title{margin:0 0 6px}.class-drawer-close{float:right;cursor:pointer;background:0 0;border:0;font-size:20px}.session-row{border:0;border-top:1px solid var(--border);text-align:left;cursor:pointer;background:0 0;width:100%;padding:10px;display:block}.session-row:first-child{border-top:0}.session-row.is-active{background:var(--burgundy-soft)}.session-row strong{color:var(--text-primary);font-size:10px;display:block}.session-row span{color:var(--text-muted);margin-top:3px;font-size:9px;display:block}.chat-card{display:flex;overflow:hidden}.ui-card{border:1px solid var(--border);background:var(--surface);border-radius:6px;margin-top:8px;padding:9px 10px;font-size:9px}.ui-card strong{color:var(--primary-burgundy);margin-bottom:4px;display:block}.ui-card-body{gap:6px;display:grid}.ui-card-body p{margin:0}.ui-card-meta{color:var(--text-secondary);flex-wrap:wrap;gap:10px;display:flex}.ui-card-doc{border-top:1px solid var(--border);padding-top:6px}.ui-card-doc:first-child{border-top:0;padding-top:0}.ui-card-error{border-color:var(--primary-burgundy);color:var(--primary-burgundy)}.message p{margin:0 0 8px}.message p:last-child{margin-bottom:0}.message ul,.message ol{margin:0 0 8px 16px;padding:0}.message table{border-collapse:collapse;width:100%;margin-bottom:8px;font-size:8px}.message th,.message td{opacity:.9;text-align:left;border:1px solid;padding:4px 6px}.message code{background:#00000014;border-radius:3px;padding:1px 4px;font-size:9px}.message-typing{align-items:center;padding:13px;display:flex}.typing-dots{gap:4px;display:inline-flex}.typing-dots span{opacity:.4;background:currentColor;border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite typing-bounce}.typing-dots span:nth-child(2){animation-delay:.15s}.typing-dots span:nth-child(3){animation-delay:.3s}@keyframes typing-bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@media (width<=1200px){.plan-layout{grid-template-columns:1fr}}
