:root{--paper: #f2efe5;--paper-raised: #faf8f1;--paper-deep: #e7e2d4;--ink: #15251e;--ink-muted: #5d675f;--forest: #234c36;--forest-deep: #173727;--sage: #8ea38c;--sage-pale: #d9e0d2;--amber: #b98431;--amber-pale: #eadfc5;--clay: #985d45;--rule: rgba(35, 76, 54, .2);--shadow: 0 18px 50px rgba(37, 47, 39, .09);--radius: 14px;--font-display: "Lora", Georgia, serif;--font-body: "DM Sans", sans-serif;--bg: #0c1422;--surface: #121d2f;--surface-raised: #17263d;--surface-soft: #1e2d46;--text: #edf3ff;--text-muted: #aab7d1;--primary: #7c6cff;--primary-bright: #9d8dff;--accent: #45d7ff;--success: #49d9a5;--warning: #efbf67;--danger: #ff7e93;--border: rgba(161, 180, 220, .2);--border-strong: rgba(124, 108, 255, .52);--shadow-soft: 0 20px 52px rgba(7, 12, 22, .34)}*{box-sizing:border-box}html{min-width:320px;background:var(--paper);scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 12% 8%,rgba(255,255,255,.52),transparent 24rem),var(--paper);font-family:var(--font-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid rgba(185,132,49,.55);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.55}::selection{color:var(--paper-raised);background:var(--forest)}*{scrollbar-color:var(--sage) var(--paper-deep);scrollbar-width:thin}.skip-link{position:fixed;z-index:100;top:10px;left:10px;transform:translateY(-160%);padding:10px 14px;border-radius:8px;color:#fff;background:var(--forest)}.skip-link:focus{transform:none}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:10;width:232px;display:flex;flex-direction:column;padding:32px 22px 24px;background:#faf8f1e0;border-right:1px solid var(--rule);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:12px;margin:0 8px 54px}.brand-name{font-family:var(--font-display);font-size:20px;font-weight:600;letter-spacing:-.025em}.brand-name span{color:var(--amber)}.brand-mark{position:relative;width:26px;height:32px;display:inline-block}.brand-mark:after{content:"";position:absolute;left:12px;bottom:0;width:1px;height:27px;background:var(--forest);transform:rotate(-4deg)}.brand-mark span{position:absolute;display:block;width:11px;height:17px;background:var(--forest);border-radius:100% 0}.brand-mark span:nth-child(1){left:1px;top:6px;transform:rotate(-20deg)}.brand-mark span:nth-child(2){right:0;top:0;transform:scaleX(-1) rotate(-24deg)}.brand-mark span:nth-child(3){right:1px;top:15px;width:9px;height:13px;transform:scaleX(-1) rotate(-3deg);background:var(--sage)}.sidebar nav{display:grid;gap:7px}.nav-item{width:100%;min-height:46px;display:flex;align-items:center;gap:13px;border:0;border-radius:10px;padding:0 13px;color:var(--ink-muted);background:transparent;cursor:pointer;text-align:left}.nav-item:hover{color:var(--ink);background:#234c360f}.nav-item.active{color:var(--forest-deep);background:var(--sage-pale);font-weight:600}.nav-item.active:after{content:"";width:5px;height:5px;margin-left:auto;border-radius:50%;background:var(--forest)}.sidebar-note{margin:auto 5px 24px;padding:16px 14px;color:var(--forest);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.sidebar-note p{margin:8px 0 0;font-family:var(--font-display);font-size:13px;line-height:1.55;font-style:italic}.student-chip{display:flex;align-items:center;gap:11px;margin:0 5px}.avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:var(--paper-raised);background:var(--forest);font-family:var(--font-display)}.student-profile-button img.avatar{object-fit:cover}.student-chip strong,.student-chip small{display:block}.student-chip strong{font-size:13px}.student-chip small{color:var(--ink-muted);font-size:11px}.student-chip>span:nth-child(2){min-width:0;flex:1}.logout-button{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:8px;color:var(--ink-muted);background:transparent;cursor:pointer}.logout-button:hover{color:var(--clay);background:#985d451a}.main-content{min-height:100vh;margin-left:232px;padding:31px clamp(28px,4vw,68px) 56px}.topbar{max-width:1240px;margin:0 auto 31px;display:flex;align-items:flex-end;justify-content:space-between;gap:32px}.today{margin:0 0 6px;color:var(--ink-muted);text-transform:capitalize;font-size:13px}.topbar h1{margin:0;font-family:var(--font-display);font-size:clamp(31px,3.1vw,48px);line-height:1.08;letter-spacing:-.035em;font-weight:600}.day-pulse{display:flex;align-items:center;gap:12px;flex:0 0 auto;padding:8px 0 7px 20px;border-left:1px solid var(--rule)}.day-pulse strong,.day-pulse small{display:block}.day-pulse strong{font-family:var(--font-display)}.day-pulse small{color:var(--ink-muted);font-size:11px}.pulse-leaf{width:30px;height:30px;border:1px solid var(--forest);border-radius:70% 0;transform:rotate(-10deg);background:var(--sage-pale)}.view-stack,.page-view{max-width:1240px;margin:0 auto}.study-spread{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(310px,.82fr);gap:17px}.focus-specimen,.week-chart,.task-ledger,.page-view{background:#faf8f1bf}.focus-specimen,.week-chart{min-height:410px;border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow)}.focus-specimen{position:relative;overflow:hidden;padding:27px 29px 29px}.focus-specimen:after{content:"";position:absolute;width:180px;height:180px;right:-72px;bottom:-78px;border:1px solid var(--rule);border-radius:50%;box-shadow:0 0 0 23px #8ea38c0f,0 0 0 48px #8ea38c0a}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.section-heading h2{margin:0;font-family:var(--font-display);font-size:21px;line-height:1.2;letter-spacing:-.025em}.section-heading p{margin:4px 0 0;color:var(--ink-muted);font-size:12px}.course-code,.folio{color:var(--forest);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.specimen-body{display:grid;grid-template-columns:1fr minmax(245px,.82fr);align-items:center;gap:28px;min-height:318px;padding-top:20px}.subject-mark{display:block;width:46px;height:1px;margin-bottom:21px;background:var(--forest)}.course-copy h3{max-width:370px;margin:0;font-family:var(--font-display);font-size:clamp(31px,3vw,46px);line-height:1.05;letter-spacing:-.035em}.lesson{margin:10px 0 0;color:var(--forest);font-weight:600}.objective{max-width:48ch;margin:24px 0;color:var(--ink-muted);font-family:var(--font-display);font-size:14px;font-style:italic}.course-meta{display:flex;flex-wrap:wrap;gap:16px;color:var(--ink-muted);font-size:12px}.course-meta span{display:flex;align-items:center;gap:7px}.mini-timer{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center}.timer-leaf{width:19px;height:28px;margin-bottom:3px;border-radius:90% 0;background:var(--sage);transform:rotate(35deg);transform-origin:bottom;transition:transform .6s cubic-bezier(.16,1,.3,1)}.mini-timer.running .timer-leaf{transform:rotate(50deg) scale(1.12);background:var(--forest)}.timer-value{font-family:var(--font-display);font-size:clamp(47px,5vw,67px);line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.timer-label{margin-top:7px;color:var(--ink-muted);font-size:11px}.timer-actions{display:flex;gap:8px;margin-top:24px}.primary-action,.secondary-action,.icon-button,.text-button{border:0;cursor:pointer}.primary-action{min-height:45px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 19px;border-radius:9px;color:#fff;background:var(--forest);box-shadow:0 8px 20px #234c3633;font-size:13px;font-weight:600}.primary-action:hover{background:var(--forest-deep)}.icon-button{display:grid;place-items:center;width:45px;height:45px;border:1px solid var(--rule);border-radius:9px;color:var(--forest);background:var(--paper-raised)}.week-chart{display:flex;flex-direction:column;padding:27px 25px 22px;overflow:hidden}.trend{padding:5px 8px;color:var(--forest);background:var(--sage-pale);border-radius:99px;font-size:10px;font-weight:600}.bars{flex:1;min-height:240px;display:flex;align-items:flex-end;gap:clamp(9px,1.35vw,19px);padding:47px 3px 0;border-bottom:1px solid var(--rule)}.bar-item{height:100%;flex:1;min-width:21px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.bar-value{margin-bottom:5px;color:var(--ink-muted);font-size:9px;opacity:0;transition:opacity .2s ease}.bar-item:hover .bar-value{opacity:1}.bar-stem{position:relative;width:min(26px,80%);min-height:18px;background:var(--sage);border-radius:8px 8px 2px 2px;transition:filter .2s ease}.bar-stem:before{content:"";position:absolute;width:1px;height:17px;left:50%;top:-15px;background:var(--forest);transform:rotate(-7deg);transform-origin:bottom}.bar-stem span:before,.bar-stem span:after{content:"";position:absolute;top:-14px;width:9px;height:6px;border-radius:90% 0;background:var(--forest)}.bar-stem span:before{left:calc(50% - 8px);transform:rotate(19deg)}.bar-stem span:after{left:50%;top:-19px;transform:scaleX(-1) rotate(7deg)}.bar-item:hover .bar-stem{filter:saturate(1.3) brightness(.9)}.bar-day{margin:8px 0 -22px;font-size:10px;font-weight:600}.chart-note{margin:36px 0 0;padding-top:13px;border-top:1px dashed var(--rule);color:var(--ink-muted);font-family:var(--font-display);font-size:11px;font-style:italic}.task-ledger{margin-top:17px;padding:27px 29px 8px;border:1px solid var(--rule);border-radius:var(--radius)}.ledger-heading{align-items:center;margin-bottom:7px}.text-button{display:inline-flex;align-items:center;gap:4px;padding:8px;color:var(--forest);background:transparent;font-size:12px;font-weight:600}.task-row{display:grid;grid-template-columns:38px 44px minmax(0,1fr) auto;align-items:center;gap:15px;min-height:83px;border-top:1px solid var(--rule);transition:opacity .25s ease,background .25s ease}.task-row:hover{background:#d9e0d240}.task-row.completed{opacity:.58}.task-row.completed h3{text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:var(--forest)}.task-index{display:grid;place-items:center;align-self:stretch;color:var(--paper-raised);font-family:var(--font-display);font-size:12px;font-variant-numeric:tabular-nums}.task-index.green{background:var(--forest)}.task-index.amber{background:var(--amber)}.task-index.clay{background:var(--clay)}.check-button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--sage);border-radius:6px;color:#fff;background:transparent;cursor:pointer}.check-button[aria-pressed=true]{border-color:var(--forest);background:var(--forest)}.task-copy{min-width:0}.task-copy p{margin:0 0 3px;color:var(--forest);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.07em}.task-copy h3{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);font-size:15px;font-weight:500}.task-time{text-align:right}.task-time span{display:flex;align-items:center;justify-content:flex-end;gap:5px;font-size:11px}.task-time small{color:var(--ink-muted);font-size:10px}.page-view{min-height:650px;padding:clamp(32px,5vw,68px);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow)}.page-intro{max-width:680px;margin-bottom:55px}.page-intro h2{margin:9px 0 12px;font-family:var(--font-display);font-size:clamp(35px,5vw,62px);line-height:1.05;letter-spacing:-.04em}.page-intro p{max-width:58ch;margin:0;color:var(--ink-muted)}.timeline{position:relative}.timeline:before{content:"";position:absolute;left:98px;inset-block:0;width:1px;background:var(--rule)}.timeline-entry{display:grid;grid-template-columns:100px minmax(0,1fr)}.timeline-time{padding-top:23px}.timeline-time strong,.timeline-time span{display:block}.timeline-time strong{font-family:var(--font-display);font-size:16px}.timeline-time span{color:var(--ink-muted);font-size:10px}.timeline-entry .task-row{padding-left:28px}.focus-page{text-align:center}.focus-page .page-intro{margin-inline:auto}.focus-clock{width:min(440px,100%);aspect-ratio:1;margin:-15px auto 40px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--forest);border-radius:50%;box-shadow:0 0 0 15px var(--paper-raised),0 0 0 16px var(--rule),0 20px 70px #234c361f}.focus-clock time{margin-top:17px;font-family:var(--font-display);font-size:clamp(66px,9vw,104px);line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.focus-clock>p{margin:10px 0 25px;color:var(--ink-muted)}.focus-sprout{position:relative;width:36px;height:38px;display:block}.focus-sprout:before{content:"";position:absolute;left:50%;bottom:0;width:1px;height:31px;background:var(--forest)}.focus-sprout i{position:absolute;display:block;width:17px;height:11px;border-radius:90% 0;background:var(--sage);transition:transform .8s cubic-bezier(.16,1,.3,1)}.focus-sprout i:nth-child(1){left:1px;top:15px;transform:rotate(20deg)}.focus-sprout i:nth-child(2){right:0;top:5px;transform:scaleX(-1) rotate(10deg)}.focus-sprout i:nth-child(3){left:3px;top:-5px;transform:rotate(37deg) scale(.7)}.focus-clock.active .focus-sprout i{background:var(--forest);transform-origin:bottom}.focus-clock.active .focus-sprout i:nth-child(1){transform:rotate(30deg) scale(1.1)}.focus-clock.active .focus-sprout i:nth-child(2){transform:scaleX(-1) rotate(20deg) scale(1.1)}.focus-controls{display:flex;justify-content:center;gap:9px}.secondary-action{min-height:45px;display:inline-flex;align-items:center;gap:8px;padding:0 17px;border:1px solid var(--rule);border-radius:9px;color:var(--forest);background:var(--paper-raised);font-size:13px;font-weight:600}.focus-footnotes{max-width:700px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.focus-footnotes span{padding:18px;color:var(--ink-muted);font-size:11px}.focus-footnotes span+span{border-left:1px solid var(--rule)}.focus-footnotes strong{display:block;color:var(--ink);font-family:var(--font-display);font-size:16px}.progress-spread{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px;align-items:end}.big-number{display:block;font-family:var(--font-display);font-size:clamp(70px,10vw,128px);line-height:.9;letter-spacing:-.04em;color:var(--forest)}.progress-summary h3{margin:19px 0 7px;font-family:var(--font-display);font-size:20px}.progress-summary p{max-width:35ch;margin:0;color:var(--ink-muted);font-size:12px}.course-progress{display:grid;gap:28px}.progress-line>div{display:flex;justify-content:space-between;margin-bottom:9px;font-size:12px}.progress-line strong{font-variant-numeric:tabular-nums}.progress-track{display:block;height:6px;background:var(--paper-deep);border-radius:99px;overflow:hidden}.progress-track i{display:block;height:100%;background:var(--forest);border-radius:inherit}.insight-note{max-width:760px;margin:70px auto 0;display:flex;gap:17px;padding:23px 25px;border-top:1px solid var(--amber);border-bottom:1px solid var(--amber);color:var(--forest-deep);background:#eadfc552}.insight-note h3{margin:0 0 4px;font-family:var(--font-display);font-size:16px}.insight-note p{margin:0;color:var(--ink-muted);font-size:12px}@media(max-width:1080px){.sidebar{width:88px;padding-inline:16px}.brand{margin-inline:auto}.brand-name,.nav-item span,.sidebar-note,.student-chip>span:not(.avatar){display:none}.nav-item{justify-content:center;padding:0}.nav-item.active:after{display:none}.student-chip{justify-content:center}.main-content{margin-left:88px}.study-spread{grid-template-columns:1fr}.week-chart{min-height:360px}}@media(max-width:720px){body{font-size:14px}.sidebar{display:none}.main-content{margin-left:0;padding:22px 16px 102px}.topbar{align-items:flex-start;margin-bottom:24px}.topbar h1{font-size:29px}.day-pulse{display:none}.day-pulse span:last-child{display:none}.pulse-leaf{width:26px;height:26px}.study-spread{display:block}.focus-specimen{min-height:0;padding:22px 20px}.specimen-body{grid-template-columns:1fr;gap:29px;padding-top:33px}.course-copy h3{font-size:35px}.objective{margin:17px 0}.mini-timer{padding-top:27px;border-top:1px solid var(--rule)}.timer-value{font-size:58px}.week-chart{min-height:365px;margin-top:14px;padding-inline:20px}.bars{gap:8px}.task-ledger{margin-top:14px;padding:21px 18px 4px}.text-button{width:36px;overflow:hidden;white-space:nowrap;color:transparent;gap:0}.text-button svg{color:var(--forest);flex:0 0 auto}.task-row{grid-template-columns:29px 44px minmax(0,1fr);gap:10px;min-height:92px}.task-time{grid-column:3;display:flex;gap:10px;text-align:left;margin-top:-16px}.task-time span{justify-content:flex-start}.page-view{min-height:calc(100vh - 148px);padding:28px 21px 40px}.page-intro{margin-bottom:38px}.page-intro h2{font-size:38px}.timeline:before{left:0}.timeline-entry{grid-template-columns:1fr;padding-left:15px}.timeline-time{padding:14px 0 5px 14px}.timeline-time strong,.timeline-time span{display:inline;margin-right:8px}.timeline-entry .task-row{padding-left:0}.focus-clock{margin-top:20px;box-shadow:0 0 0 8px var(--paper-raised),0 0 0 9px var(--rule)}.focus-clock time{font-size:69px}.focus-footnotes{grid-template-columns:1fr}.focus-footnotes span+span{border-left:0;border-top:1px solid var(--rule)}.progress-spread{grid-template-columns:1fr;gap:42px}.insight-note{margin-top:50px}.mobile-nav{position:fixed;inset:auto 12px 12px;z-index:20;display:flex;overflow-x:auto;scrollbar-width:none;padding:7px;border:1px solid rgba(35,76,54,.2);border-radius:16px;background:#faf8f1f0;box-shadow:0 14px 45px #1c292133;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.mobile-nav::-webkit-scrollbar{display:none}.mobile-nav button{position:relative;flex:0 0 68px;min-height:51px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;border-radius:11px;color:var(--ink-muted);background:transparent;cursor:pointer}.mobile-nav button span{font-size:9px}.mobile-nav .nav-unread-dot{position:absolute;top:5px;right:12px;margin:0}.mobile-nav button.active{color:var(--forest-deep);background:var(--sage-pale)}}@media(max-width:390px){.course-meta{display:grid;gap:7px}.focus-controls{flex-direction:column;width:72%}.focus-controls>button{justify-content:center}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(360px,.88fr) minmax(560px,1.12fr);background:var(--paper-raised)}.auth-story{position:sticky;top:0;min-height:100vh;overflow:hidden;display:flex;flex-direction:column;padding:clamp(28px,4vw,64px);color:#f7f4e9;background:var(--forest-deep)}.auth-story:before{content:"";position:absolute;width:min(48vw,650px);aspect-ratio:1;right:-40%;bottom:-18%;border:1px solid rgba(255,255,255,.18);border-radius:50%;box-shadow:0 0 0 48px #ffffff08,0 0 0 96px #ffffff06}.auth-story:after{content:"";position:absolute;width:190px;height:310px;right:7%;top:14%;opacity:.17;border-left:2px solid #d9e0d2;border-radius:70% 0;transform:rotate(18deg)}.auth-brand{position:relative;z-index:1;display:flex;align-items:center;gap:12px}.auth-brand .brand-mark:after{background:#f7f4e9}.auth-brand .brand-mark span{background:#f7f4e9}.auth-brand .brand-mark span:nth-child(3){background:var(--amber-pale)}.auth-brand .brand-name span{color:#dfb86e}.auth-story-copy{position:relative;z-index:1;max-width:610px;margin:auto 0}.auth-story-copy .folio{color:#cad7c8}.auth-story h1{margin:16px 0 23px;font-family:var(--font-display);font-size:clamp(48px,5vw,82px);line-height:.98;letter-spacing:-.05em;font-weight:500}.auth-story-copy>p:not(.folio){max-width:48ch;color:#f7f4e9b8;font-size:16px}.auth-proof{display:flex;align-items:center;gap:13px;width:fit-content;margin-top:36px;padding:14px 18px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:#ffffff0e}.auth-proof span,.auth-proof strong,.auth-proof small{display:block}.auth-proof strong{font-size:13px}.auth-proof small{margin-top:2px;color:#f7f4e994;font-size:11px}.auth-quote{position:relative;z-index:1;display:flex;align-items:flex-start;gap:11px;padding-top:24px;border-top:1px solid rgba(255,255,255,.16);color:#f7f4e9a8}.auth-quote p{max-width:47ch;margin:0;font:italic 13px/1.6 var(--font-display)}.auth-panel{min-height:100vh;display:grid;place-items:center;padding:44px clamp(24px,6vw,94px)}.auth-card{width:min(100%,550px)}.auth-tabs{width:fit-content;display:flex;gap:5px;padding:4px;margin-bottom:45px;border:1px solid var(--rule);border-radius:11px;background:var(--paper)}.auth-tabs button{min-height:44px;padding:0 17px;border:0;border-radius:8px;color:var(--ink-muted);background:transparent;cursor:pointer;font-size:13px;font-weight:600}.auth-tabs button[aria-selected=true]{color:var(--paper-raised);background:var(--forest);box-shadow:0 5px 14px #234c362e}.auth-card header{margin-bottom:29px}.auth-card header h2{margin:8px 0 7px;font:500 clamp(31px,3.2vw,43px)/1.08 var(--font-display);letter-spacing:-.035em}.auth-card header>p:last-child{margin:0;color:var(--ink-muted);font-size:13px}.auth-card form{display:grid;gap:17px}.auth-card label,.university-field>label{display:grid;gap:7px;color:var(--ink);font-size:12px;font-weight:700}.auth-input,.university-combobox{min-height:48px;display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid var(--rule);border-radius:10px;color:var(--ink-muted);background:#fff;transition:border-color .18s,box-shadow .18s}.auth-input:focus-within,.university-combobox:focus-within{border-color:var(--forest);box-shadow:0 0 0 3px #234c361a}.auth-input input,.university-combobox input{min-width:0;width:100%;border:0;outline:0;color:var(--ink);background:transparent;font:inherit}.auth-input button{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:0;color:var(--ink-muted);background:transparent;cursor:pointer}.auth-row{display:grid;grid-template-columns:1.5fr .7fr;gap:13px}.auth-card select{min-height:48px;width:100%;padding:0 11px;border:1px solid var(--rule);border-radius:10px;color:var(--ink);background:#fff}.university-field{position:relative}.university-combobox.is-open{border-color:var(--forest);border-radius:10px 10px 0 0}.university-results{position:absolute;z-index:30;top:calc(100% + 1px);left:0;right:0;max-height:300px;overflow-y:auto;border:1px solid var(--forest);border-top:0;border-radius:0 0 11px 11px;background:#fff;box-shadow:0 18px 42px #15251e29}.result-summary{position:sticky;top:0;z-index:1;padding:9px 13px;color:var(--ink-muted);background:var(--paper-raised);border-bottom:1px solid var(--rule);font-size:10px;text-transform:uppercase;letter-spacing:.1em}.university-results>button{width:100%;min-height:61px;display:flex;align-items:center;gap:11px;padding:8px 12px;border:0;border-bottom:1px solid rgba(35,76,54,.09);color:var(--ink);background:#fff;cursor:pointer;text-align:left}.university-results>button:hover,.university-results>button.is-active,.university-results>button[aria-selected=true]{background:var(--sage-pale)}.university-results>button>span:nth-child(2),.selected-university>span:nth-child(2){min-width:0;flex:1}.university-results strong,.university-results small,.selected-university strong,.selected-university small{display:block}.university-results strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.university-results small,.selected-university small{margin-top:2px;color:var(--ink-muted);font-size:10px}.university-results>p{margin:0;padding:18px;color:var(--ink-muted);font-size:12px}.university-logo,.university-seal{flex:0 0 38px;width:38px;height:38px;border-radius:9px}.university-logo{object-fit:contain;padding:3px;background:#fff;border:1px solid var(--rule)}.university-seal{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;color:var(--forest);background:var(--sage-pale);border:1px solid var(--rule)}.university-seal small{max-width:34px;overflow:hidden;font-size:7px;font-weight:800;line-height:1;text-overflow:ellipsis}.selected-university{min-height:58px;display:flex;align-items:center;gap:11px;margin-top:8px;padding:8px 11px;border-radius:10px;background:var(--sage-pale)}.selected-university strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-error,.field-error{margin:0;color:#8c3d30;font-size:12px}.auth-submit{min-height:50px;display:flex;align-items:center;justify-content:center;gap:9px;margin-top:3px;border:0;border-radius:10px;color:#fff;background:var(--forest);box-shadow:0 10px 22px #234c3633;cursor:pointer;font-weight:700}.auth-submit:hover{background:var(--forest-deep)}.auth-switch{margin:24px 0 0;color:var(--ink-muted);text-align:center;font-size:12px}.auth-switch button{padding:0;border:0;color:var(--forest);background:transparent;cursor:pointer;font-weight:700;text-decoration:underline;text-underline-offset:3px}@media(max-width:920px){.auth-page{grid-template-columns:1fr}.auth-story{position:relative;min-height:auto;padding:26px 24px 31px}.auth-story-copy{margin:52px 0 16px}.auth-story h1{font-size:clamp(39px,10vw,60px)}.auth-story-copy>p:not(.folio),.auth-quote{display:none}.auth-proof{margin-top:25px}.auth-panel{min-height:auto;padding:38px 20px 60px}.auth-tabs{margin-bottom:34px}}@media(max-width:520px){.auth-story{padding-inline:18px}.auth-panel{padding-inline:16px}.auth-row{grid-template-columns:1fr}.auth-card header h2{font-size:31px}.auth-tabs{width:100%}.auth-tabs button{flex:1;padding-inline:8px}}.major-field{position:relative;min-width:0}.major-field>label{display:grid;gap:7px;margin-bottom:7px;color:var(--ink);font-size:12px;font-weight:700}.major-combobox{min-height:48px;display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid var(--rule);border-radius:10px;color:var(--ink-muted);background:#fff;transition:border-color .18s,box-shadow .18s}.major-combobox:focus-within{border-color:var(--forest);box-shadow:0 0 0 3px #234c361a}.major-combobox.is-open{border-color:var(--forest);border-radius:10px 10px 0 0}.major-combobox input{min-width:0;width:100%;border:0;outline:0;color:var(--ink);background:transparent;font:inherit}.major-combobox input:disabled{cursor:not-allowed;opacity:.62}.major-results{position:absolute;z-index:29;top:calc(100% + 1px);left:0;right:0;max-height:300px;overflow-y:auto;border:1px solid var(--forest);border-top:0;border-radius:0 0 11px 11px;background:#fff;box-shadow:0 18px 42px #15251e29}.major-results>button{width:100%;min-height:54px;display:grid;grid-template-columns:minmax(62px,auto) minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 12px;border:0;border-bottom:1px solid rgba(35,76,54,.09);color:var(--ink);background:#fff;cursor:pointer;text-align:left}.major-results>button:hover,.major-results>button.is-active,.major-results>button[aria-selected=true]{background:var(--sage-pale)}.major-results>button>span:nth-child(2){overflow:hidden;font-size:12px;text-overflow:ellipsis}.major-code{color:var(--forest);font-size:10px;font-weight:800}.major-results>p,.field-hint{margin:0;padding:13px;color:var(--ink-muted);font-size:11px;line-height:1.5}.field-hint{padding:7px 2px 0}.selected-major{min-height:58px;display:flex;align-items:center;gap:10px;margin-top:8px;padding:8px 11px;border-radius:10px;color:var(--forest);background:var(--sage-pale)}.selected-major>span{min-width:0;flex:1}.selected-major strong,.selected-major small{display:block}.selected-major strong{overflow:hidden;color:var(--ink);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.selected-major small{margin-top:2px;color:var(--ink-muted);font-size:10px}.workspace-page{max-width:1240px;margin:0 auto}.workspace-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}.workspace-heading>div>p{margin:0 0 7px;color:var(--forest);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.workspace-heading h2{margin:0;font:600 clamp(29px,3.5vw,44px)/1.08 var(--font-display);letter-spacing:-.03em}.workspace-heading>div>span{display:block;max-width:62ch;margin-top:9px;color:var(--ink-muted);font-size:13px}.course-form{display:grid;grid-template-columns:minmax(200px,1.5fr) minmax(120px,.7fr) minmax(120px,.7fr) 80px auto;align-items:end;gap:12px;margin-bottom:25px;padding:19px;border:1px solid var(--rule);border-radius:14px;background:var(--paper-raised);box-shadow:var(--shadow)}.course-form label,.upload-strip label,.course-select{display:grid;gap:6px;color:var(--ink-muted);font-size:11px;font-weight:700}.course-form input,.upload-strip input,.upload-strip select,.course-select select{min-width:0;width:100%;min-height:45px;padding:0 11px;border:1px solid var(--rule);border-radius:9px;color:var(--ink);background:#fff;font:inherit}.course-form input[type=color]{padding:5px}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.course-tile{position:relative;min-height:220px;display:flex;flex-direction:column;overflow:hidden;padding:25px;border:1px solid var(--rule);border-radius:14px;background:#faf8f1d4;transition:transform .2s ease,box-shadow .2s ease}.course-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.course-swatch{position:absolute;inset:0 0 auto;height:5px;background:var(--course-color)}.course-tile small{color:var(--course-color);font-size:10px;font-weight:800;letter-spacing:.13em}.course-tile h3{margin:20px 0 9px;font:600 23px/1.15 var(--font-display)}.course-tile p{margin:0;color:var(--ink-muted);font-size:13px}.course-tile footer{display:flex;justify-content:space-between;margin-top:auto;padding-top:28px;color:var(--ink-muted);font-size:11px}.upload-strip{display:grid;grid-template-columns:auto minmax(170px,.75fr) minmax(240px,1.25fr) auto;align-items:end;gap:16px;padding:20px;border:1px solid var(--rule);border-radius:14px;background:var(--paper-raised)}.upload-strip>svg{align-self:center;color:var(--forest)}.inline-error{grid-column:1 / -1;margin:10px 0;color:#8c3d30;font-size:12px}.document-list{display:grid;margin-top:22px;border:1px solid var(--rule);border-radius:14px;background:#faf8f1d1}.document-list article{min-height:72px;display:grid;grid-template-columns:42px minmax(0,1fr) auto 44px;align-items:center;gap:13px;padding:12px 16px;border-bottom:1px solid var(--rule)}.document-list article:last-child{border-bottom:0}.file-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;color:var(--forest);background:var(--sage-pale)}.document-list h3{overflow:hidden;margin:0;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.document-list p{margin:3px 0 0;color:var(--ink-muted);font-size:11px}.status-chip{padding:5px 9px;border-radius:99px;color:var(--ink-muted);background:var(--paper-deep);font-size:10px;font-weight:700}.status-chip.ready{color:var(--forest);background:var(--sage-pale)}.status-chip.failed{color:#8c3d30;background:#eed9d1}.workspace-state{min-height:280px;display:grid;place-items:center;align-content:center;gap:12px;color:var(--ink-muted);text-align:center}.workspace-state h3,.workspace-state p{margin:0}.empty-state>span{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;color:var(--forest);background:var(--sage-pale)}.empty-state h3{color:var(--ink);font:600 21px var(--font-display)}.empty-state p{max-width:42ch;font-size:13px}.tutor-page{height:calc(100vh - 135px);min-height:610px;display:flex;flex-direction:column}.course-select{min-width:230px}.chat-shell{min-height:0;flex:1;display:flex;flex-direction:column;border:1px solid var(--rule);border-radius:14px;background:#faf8f1db;overflow:hidden}.chat-thread{flex:1;overflow-y:auto;display:grid;align-content:start;gap:18px;padding:25px}.chat-message{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;max-width:82%}.chat-message>span{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;color:var(--paper-raised);background:var(--forest);font-size:10px;font-weight:800}.chat-message>div{padding:14px 16px;border-radius:3px 13px 13px;background:var(--sage-pale)}.chat-message.student{justify-self:end;grid-template-columns:minmax(0,1fr) 38px}.chat-message.student>span{grid-column:2;grid-row:1;color:var(--forest);background:var(--amber-pale)}.chat-message.student>div{grid-column:1;grid-row:1;border-radius:13px 3px 13px 13px;background:var(--paper-deep)}.chat-message p{margin:0;white-space:pre-wrap;font-size:13px;line-height:1.65}.citations{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.citations span{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:7px;color:var(--forest);background:#ffffff8c;font-size:10px}.chat-composer{display:grid;grid-template-columns:1fr 48px;gap:10px;padding:15px;border-top:1px solid var(--rule);background:var(--paper-raised)}.chat-composer textarea{resize:none;width:100%;padding:12px 14px;border:1px solid var(--rule);border-radius:10px;color:var(--ink);background:#fff;font:inherit;line-height:1.45}.chat-composer .primary-action{min-width:48px;padding:0}.typing{display:flex;align-items:center;gap:5px;color:var(--ink-muted);font-size:11px}.typing i{width:5px;height:5px;border-radius:50%;background:var(--sage);animation:typing 1s infinite alternate}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}.typing span{margin-left:5px}@keyframes typing{to{transform:translateY(-4px);background:var(--forest)}}@media(max-width:1080px){.course-grid,.course-form{grid-template-columns:repeat(2,minmax(0,1fr))}.course-form .primary-action{grid-column:2}.upload-strip{grid-template-columns:1fr 1fr}.upload-strip>svg{display:none}}@media(max-width:720px){.workspace-heading{align-items:flex-start;flex-direction:column}.workspace-heading .primary-action{width:100%}.course-grid,.course-form,.upload-strip{grid-template-columns:1fr}.course-form .primary-action{grid-column:auto}.document-list article{grid-template-columns:40px minmax(0,1fr) 44px}.status-chip{grid-column:2;width:fit-content}.document-list .icon-button{grid-column:3;grid-row:1 / 3}.tutor-page{height:auto;min-height:calc(100vh - 160px)}.course-select{width:100%}.chat-shell{min-height:570px}.chat-message{max-width:96%}.chat-thread{padding:17px 13px}}@media(prefers-reduced-motion:reduce){.typing i{animation:none}}.course-delete-confirm,.delete-confirm{display:inline-flex;align-items:center;gap:7px}.course-delete-confirm button,.delete-confirm button{min-height:34px;border:0;border-radius:8px;color:var(--danger);background:var(--surface-soft);font:700 11px var(--font-body);cursor:pointer}.course-delete-confirm button:last-child,.delete-confirm button:last-child{color:var(--ink-muted);background:var(--paper-deep)}.schedule-heading,.community-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.schedule-heading h2,.community-heading h2,.profile-identity h2{margin:0;font:600 clamp(30px,4vw,48px)/1.08 var(--font-display);letter-spacing:-.03em}.schedule-heading p,.community-heading p{max-width:62ch;margin:9px 0 0;color:var(--ink-muted);font-size:13px}.date-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding:14px 16px;border-block:1px solid var(--rule)}.date-toolbar label{color:var(--ink-muted);font-size:11px;font-weight:700}.date-toolbar input,.schedule-form input,.schedule-form select,.people-search input,.direct-chat input{min-height:44px;padding:0 12px;border:1px solid var(--rule);border-radius:9px;color:var(--ink);background:var(--surface-raised);font:inherit}.date-toolbar strong{margin-left:auto;text-transform:capitalize;font:600 16px var(--font-display)}.schedule-form{display:grid;grid-template-columns:1fr 1.4fr repeat(3,minmax(120px,.7fr)) auto;align-items:end;gap:11px;margin-bottom:22px;padding:18px;border-radius:14px;background:var(--paper-raised);box-shadow:var(--shadow)}.schedule-form label{display:grid;gap:6px;color:var(--ink-muted);font-size:11px;font-weight:700}.schedule-course-notice,.schedule-empty{display:flex;align-items:center;gap:14px;padding:20px;border:1px solid var(--rule);border-radius:14px;color:var(--ink-muted);background:color-mix(in srgb,var(--surface) 88%,transparent)}.schedule-course-notice div{flex:1}.schedule-course-notice p,.schedule-empty p{margin:3px 0 0;font-size:12px}.schedule-empty{min-height:250px;flex-direction:column;justify-content:center;text-align:center}.schedule-empty h3{margin:3px 0 0;color:var(--ink);font:600 22px var(--font-display)}.schedule-entry{display:grid;grid-template-columns:90px 42px minmax(0,1fr) auto;align-items:center;gap:15px;min-height:100px;padding:16px 18px;border-bottom:1px solid var(--rule)}.schedule-entry.completed{opacity:.58}.schedule-entry.completed h3{text-decoration:line-through}.schedule-time strong,.schedule-time span{display:block}.schedule-time strong{font:600 18px var(--font-display)}.schedule-time span{color:var(--ink-muted);font-size:10px}.schedule-entry-copy small{color:var(--forest);font-weight:700}.schedule-entry-copy h3{margin:4px 0;font-size:15px}.schedule-entry-copy p{display:flex;align-items:center;gap:5px;margin:0;color:var(--ink-muted);font-size:11px}.schedule-tone{display:none}.profile-page,.community-page{max-width:1240px;margin:0 auto}.profile-identity{display:flex;align-items:center;gap:20px;margin-bottom:30px}.profile-identity p,.profile-identity span{margin:5px 0 0;color:var(--ink-muted)}.profile-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr);gap:20px}.profile-details{margin:0;border-block:1px solid var(--rule)}.profile-details div{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:16px 4px;border-bottom:1px solid var(--rule)}.profile-details div:last-child{border:0}.profile-details dt{color:var(--ink-muted);font-size:11px;font-weight:700}.profile-details dd{margin:0;overflow-wrap:anywhere}.profile-stats{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:10px}.profile-stats div{display:grid;gap:5px;padding:20px;border-radius:13px;background:var(--paper-deep)}.profile-stats strong{font:600 27px var(--font-display)}.profile-stats span{color:var(--ink-muted);font-size:11px}.social-avatar{width:46px;height:46px;flex:0 0 auto;object-fit:cover;border-radius:50%}.social-avatar.fallback{display:grid;place-items:center;color:var(--paper-raised);background:var(--forest);font-size:12px;font-weight:800}.profile-identity .social-avatar{width:82px;height:82px;font-size:19px}.people-search{display:flex;align-items:center;min-width:min(100%,390px);border-bottom:1px solid var(--ink)}.people-search input{flex:1;border:0;background:transparent}.people-search button{min-height:44px;border:0;color:var(--forest);background:transparent;font-weight:800;cursor:pointer}.community-layout{display:grid;grid-template-columns:330px minmax(0,1fr);min-height:590px;border:1px solid var(--rule);border-radius:14px;overflow:hidden;background:color-mix(in srgb,var(--surface) 90%,transparent)}.people-panel{overflow-y:auto;padding:16px;border-right:1px solid var(--rule)}.people-section h3{margin:13px 6px 8px;color:var(--ink-muted);font-size:10px;letter-spacing:.11em;text-transform:uppercase}.person-row{width:100%;align-items:center;gap:10px;padding:10px 7px;border:0;border-radius:10px;color:var(--ink);background:transparent;text-align:left;cursor:pointer}.person-row:hover,.person-row:focus-within{background:var(--sage-pale)}.person-select strong,.person-select small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-select small{margin-top:3px;color:var(--ink-muted);font-size:10px}.person-row i{display:flex;gap:4px;font-style:normal}.person-row i button{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:9px;color:var(--forest);background:var(--paper-deep);cursor:pointer}.social-detail{min-width:0;display:flex;flex-direction:column}.social-empty{flex:1;display:grid;place-items:center;align-content:center;gap:8px;color:var(--ink-muted);text-align:center}.social-empty h3,.social-empty p{margin:0}.public-profile{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:14px;padding:22px;border-bottom:1px solid var(--rule)}.public-profile h3,.public-profile p{margin:0}.public-profile p,.public-profile span{color:var(--ink-muted);font-size:11px}.relationship-label{display:inline-flex;align-items:center;gap:5px;color:var(--forest);font-size:11px;font-weight:700}.direct-chat{min-height:0;flex:1;display:flex;flex-direction:column}.message-thread{min-height:340px;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:9px;padding:20px}.direct-message{max-width:72%;align-self:flex-start;padding:10px 12px;border-radius:4px 12px 12px;background:var(--sage-pale)}.direct-message.mine{align-self:flex-end;border-radius:12px 4px 12px 12px;background:var(--paper-deep)}.direct-message p{margin:0;white-space:pre-wrap}.message-attachment{margin-top:10px}.message-attachment a{display:inline-block;max-width:240px;overflow:hidden;border-radius:10px;border:1px solid var(--border);background:var(--surface-raised)}.message-attachment img{display:block;width:100%;max-height:220px;object-fit:cover;border-radius:10px}.message-attachment span{display:block;padding:9px 10px;color:var(--forest);font-size:12px;font-weight:700;text-decoration:none}.direct-message time{display:block;margin-top:4px;color:var(--ink-muted);font-size:9px;text-align:right}.chat-empty{margin:auto;color:var(--ink-muted)}.direct-chat form{display:flex;align-items:center;gap:9px;padding:14px;border-top:1px solid var(--rule)}.direct-chat form input{flex:1;min-width:0}.upload-attachment{position:relative;width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--rule);border-radius:10px;color:var(--forest);background:var(--paper-raised);cursor:pointer;transition:transform .2s ease,border-color .2s ease}.upload-attachment:hover{transform:translateY(-1px);border-color:var(--border-strong)}.upload-attachment input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.pending-attachment{display:inline-flex;max-width:130px;padding:8px 10px;border-radius:9px;background:var(--sage-pale);color:var(--forest);font-size:11px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.direct-chat form .primary-action{width:48px;min-width:48px;padding:0}.presence{display:inline-flex!important;align-items:center;gap:5px;margin-top:5px;color:var(--ink-muted);font-size:10px;font-style:normal}.presence>i{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:var(--text-muted);box-shadow:0 0 0 2px transparent}.presence.online{color:var(--success)}.presence.online>i{background:var(--success);box-shadow:0 0 0 3px transparent}.pending-attachment{align-items:center;gap:6px;max-width:190px}.pending-attachment>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.pending-attachment button{width:24px;height:24px;flex:0 0 auto;display:grid;place-items:center;padding:0;border:0;border-radius:6px;color:currentColor;background:transparent;cursor:pointer}.pending-attachment button:hover,.pending-attachment button:focus-visible{background:var(--surface-soft)}.student-profile-button{min-width:0;flex:1;display:flex;align-items:center;gap:10px;padding:3px;border:0;color:inherit;background:transparent;text-align:left;cursor:pointer}.student-profile-button>span:nth-child(2){min-width:0;flex:1}.chart-empty,.ledger-empty{display:grid;place-items:center;align-content:center;gap:8px;min-height:230px;color:var(--ink-muted);text-align:center}.chart-empty strong{color:var(--ink)}.chart-empty p,.ledger-empty p{margin:0;font-size:12px}.ledger-empty{min-height:110px}.avatar-editor{position:relative;flex:0 0 auto}.avatar-upload{position:absolute;right:-8px;bottom:-7px;display:flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid var(--rule);border-radius:99px;color:var(--forest);background:var(--paper-raised);box-shadow:var(--shadow);font-size:10px;font-weight:800;cursor:pointer}.avatar-upload input{position:absolute;width:1px;height:1px;opacity:0}.profile-edit-button{margin-left:auto}.profile-form{display:grid;grid-template-columns:1fr 220px;gap:18px;max-width:800px;padding:22px;border:1px solid var(--rule);border-radius:14px;background:var(--paper-raised);box-shadow:var(--shadow)}.profile-form label{display:grid;gap:7px;color:var(--ink-muted);font-size:11px;font-weight:700}.profile-form input,.profile-form select,.profile-form textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--rule);border-radius:9px;color:var(--ink);background:var(--surface-raised);font:inherit;resize:vertical}.profile-form-wide,.profile-form-note{grid-column:1 / -1}.profile-form-note{margin:-4px 0 0;color:var(--ink-muted);font-size:11px}.inline-success{padding:11px 13px;border-radius:9px;color:var(--forest);background:var(--sage-pale);font-size:12px}.person-row{display:grid;grid-template-columns:minmax(0,1fr) auto}.person-select{min-width:0;display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:10px;padding:0;border:0;color:inherit;background:transparent;text-align:left;cursor:pointer}.person-select:focus-visible{outline:2px solid var(--forest);outline-offset:3px;border-radius:8px}@media(max-width:1080px){.schedule-form{grid-template-columns:repeat(2,minmax(0,1fr))}.community-layout{grid-template-columns:290px minmax(0,1fr)}}@media(max-width:720px){.profile-identity{align-items:flex-start;flex-wrap:wrap}.profile-edit-button{margin-left:0}.profile-form{grid-template-columns:1fr}.profile-form-wide,.profile-form-note{grid-column:auto}.schedule-heading,.community-heading{align-items:flex-start;flex-direction:column}.schedule-heading .primary-action,.people-search{width:100%}.schedule-form,.profile-layout,.community-layout{grid-template-columns:1fr}.date-toolbar{flex-wrap:wrap}.date-toolbar strong{width:100%;margin:0}.schedule-entry{grid-template-columns:64px 36px minmax(0,1fr) 40px;padding-inline:4px}.schedule-entry .delete-confirm{grid-column:3 / -1}.people-panel{max-height:340px;border-right:0;border-bottom:1px solid var(--rule)}.community-layout{min-height:0}.social-detail{min-height:480px}.public-profile{grid-template-columns:48px 1fr}.public-profile>:last-child{grid-column:1 / -1}.profile-details div{grid-template-columns:100px 1fr}.direct-message{max-width:88%}}.social-network{max-width:1320px;margin:0 auto}.social-network-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}.social-network-heading h2{margin:0;color:var(--text);font:700 2rem/1.08 var(--font-body);letter-spacing:-.03em}.social-network-heading p{max-width:68ch;margin:8px 0 0;color:var(--text-muted);line-height:1.55}.social-network-grid{display:grid;grid-template-columns:minmax(210px,.72fr) minmax(420px,1.8fr) minmax(230px,.8fr);align-items:start;gap:18px}.social-discovery,.social-profile-panel,.social-composer,.social-post{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:var(--shadow-soft)}.social-discovery,.social-profile-panel{position:sticky;top:22px;overflow:hidden}.social-self{width:100%;display:flex;align-items:center;gap:11px;padding:16px;border:0;color:var(--text);background:transparent;text-align:left;cursor:pointer}.social-self:hover{background:var(--surface-soft)}.social-self span,.social-search-results button span{min-width:0}.social-self strong,.social-self small,.social-search-results strong,.social-search-results small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.social-self small,.social-search-results small{margin-top:3px;color:var(--text-muted);font-size:.72rem}.social-user-search{display:grid;grid-template-columns:20px minmax(0,1fr) 38px;align-items:center;gap:6px;margin:0 12px 12px;padding-left:11px;border:1px solid var(--border);border-radius:12px;background:var(--bg)}.social-user-search input{min-width:0;height:42px;border:0;outline:0;color:var(--text);background:transparent;font:inherit}.social-user-search button{width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:10px;color:var(--accent);background:transparent;cursor:pointer}.social-search-results{padding:4px 8px 12px;border-top:1px solid var(--border)}.social-search-results h3{margin:12px 8px 8px;color:var(--text-muted);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.social-search-results>p{padding:8px;color:var(--text-muted);font-size:.78rem}.social-search-results button{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:9px;padding:9px 8px;border:0;border-radius:10px;color:var(--text);background:transparent;text-align:left;cursor:pointer}.social-search-results button:hover{background:var(--surface-soft)}.social-search-results .social-avatar{width:38px;height:38px}.social-feed-column,.social-feed{min-width:0;display:grid;gap:16px}.social-composer{overflow:hidden}.social-composer-top{display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;padding:17px}.social-composer textarea{width:100%;min-height:84px;resize:vertical;padding:11px 13px;border:0;border-radius:12px;outline:0;color:var(--text);background:var(--surface-raised);font:inherit;line-height:1.55}.social-composer textarea::placeholder,.social-comment-form input::placeholder,.social-user-search input::placeholder{color:color-mix(in srgb,var(--text-muted) 82%,transparent)}.social-image-preview{position:relative;margin:0 17px 14px 75px;overflow:hidden;border-radius:14px;background:var(--bg)}.social-image-preview img{display:block;width:100%;max-height:440px;object-fit:contain}.social-image-preview button{position:absolute;top:10px;right:10px;width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:50%;color:var(--text);background:var(--bg);cursor:pointer}.social-composer-actions{display:flex;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--border)}.social-image-picker{position:relative;display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 10px;border-radius:10px;color:var(--accent);font-weight:700;cursor:pointer}.social-image-picker:hover{background:var(--surface-soft)}.social-image-picker input{position:absolute;width:1px;height:1px;opacity:0}.social-visibility{display:flex;align-items:center;gap:7px;color:var(--text-muted);font-size:.75rem}.social-visibility select{min-height:38px;padding:0 30px 0 10px;border:1px solid var(--border);border-radius:10px;color:var(--text);background:var(--surface-raised)}.social-character-count{margin-left:auto;color:var(--text-muted);font-size:.7rem;font-variant-numeric:tabular-nums}.social-post{overflow:hidden}.social-post>header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:16px 17px 12px}.social-post-author{min-width:0;display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:10px;padding:0;border:0;color:var(--text);background:transparent;text-align:left;cursor:pointer}.social-post-author strong,.social-post-author small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.social-post-author small{margin-top:3px;color:var(--text-muted);font-size:.72rem}.social-post-meta{display:flex;align-items:end;flex-direction:column;gap:4px;color:var(--text-muted);font-size:.68rem}.social-post-meta>span:last-child{display:inline-flex;align-items:center;gap:4px}.social-post-delete{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:9px;color:var(--text-muted);background:transparent;cursor:pointer}.social-post-delete:hover{color:var(--danger);background:var(--surface-soft)}.social-post-content{margin:0;padding:4px 18px 15px;color:var(--text);line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.social-post-image{display:block;background:var(--bg)}.social-post-image img{display:block;width:100%;max-height:680px;object-fit:contain}.social-repost-preview{margin:0 16px 14px;overflow:hidden;border:1px solid var(--border);border-radius:13px;background:var(--surface-raised)}.social-repost-preview button{display:flex;align-items:center;gap:9px;padding:12px;border:0;color:var(--text);background:transparent;cursor:pointer}.social-repost-preview .social-avatar{width:34px;height:34px}.social-repost-preview p{margin:0;padding:0 12px 12px;color:var(--text);line-height:1.55}.social-repost-preview>img{display:block;width:100%;max-height:360px;object-fit:cover}.social-post-counts{display:flex;justify-content:flex-end;gap:14px;padding:10px 16px;color:var(--text-muted);font-size:.7rem;border-bottom:1px solid var(--border)}.social-post-actions{display:grid;grid-template-columns:repeat(3,1fr);padding:5px 9px;border-bottom:1px solid var(--border)}.social-post-actions button,.social-post-actions label{min-height:42px;display:flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:9px;color:var(--text-muted);background:transparent;font:700 .78rem var(--font-body);cursor:pointer}.social-post-actions button:hover,.social-post-actions label:hover{color:var(--text);background:var(--surface-soft)}.social-post-actions button.active{color:var(--danger)}.social-comments{display:grid;gap:10px;padding:13px 16px 2px}.social-comments>div{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:start}.social-comments .social-avatar{width:34px;height:34px}.social-comments p{margin:0;padding:9px 11px;border-radius:4px 12px 12px;color:var(--text);background:var(--surface-raised);line-height:1.45;overflow-wrap:anywhere}.social-comments strong{display:block;margin-bottom:3px;font-size:.75rem}.social-comments time{display:block;margin-top:4px;color:var(--text-muted);font-size:.65rem}.social-comment-form{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:8px;padding:12px 16px 15px}.social-comment-form input{min-width:0;height:40px;padding:0 12px;border:1px solid var(--border);border-radius:11px;color:var(--text);background:var(--bg);font:inherit}.social-comment-form button{width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:10px;color:var(--text);background:var(--primary);cursor:pointer}.social-comment-form button:disabled{opacity:.45;cursor:not-allowed}.social-profile-cover{height:92px;overflow:hidden;background:var(--surface-raised)}.social-profile-cover span{width:130px;height:130px;display:block;margin:-68px auto 0;border:1px solid var(--border-strong);border-radius:50%;box-shadow:20px 18px 50px color-mix(in srgb,var(--primary) 30%,transparent)}.social-profile-body{padding:0 16px 18px}.social-profile-body>.social-avatar{width:68px;height:68px;margin-top:-34px;border:3px solid var(--surface)}.social-profile-body h3{margin:10px 0 4px;color:var(--text);font-size:1.05rem}.social-profile-body>p{margin:0 0 14px;color:var(--text-muted);font-size:.78rem;line-height:1.5}.social-profile-body dl{margin:0;border-top:1px solid var(--border)}.social-profile-body dl div{padding:10px 0;border-bottom:1px solid var(--border)}.social-profile-body dt{color:var(--text-muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.07em}.social-profile-body dd{margin:4px 0 0;color:var(--text);font-size:.76rem;line-height:1.4;overflow-wrap:anywhere}.social-profile-body>.secondary-action,.social-profile-body>.relationship-label{width:100%;justify-content:center;margin-top:14px}.social-profile-placeholder,.social-feed-empty{min-height:220px;display:grid;place-items:center;align-content:center;gap:8px;padding:24px;color:var(--text-muted);text-align:center}.social-feed-empty{min-height:320px;border:1px dashed var(--border);border-radius:var(--radius)}.social-feed-empty h3,.social-feed-empty p,.social-profile-placeholder p{margin:0}.social-feed-empty h3{color:var(--text)}.social-feed-loading{display:grid;gap:12px}.social-feed-loading span{height:150px;border-radius:var(--radius);background:var(--surface)}@media(max-width:1120px){.social-network-grid{grid-template-columns:220px minmax(0,1fr)}.social-feed-column{grid-column:2;grid-row:1 / 3}.social-profile-panel{grid-column:1;grid-row:2;position:static}}@media(max-width:760px){.social-network-heading{align-items:flex-start;flex-direction:column}.social-network-heading .secondary-action{width:100%}.social-network-grid{grid-template-columns:minmax(0,1fr)}.social-feed-column{grid-column:1;grid-row:1}.social-discovery{grid-row:2;position:static}.social-profile-panel{grid-column:1;grid-row:3}.social-composer-top{grid-template-columns:38px minmax(0,1fr);padding:14px}.social-composer-top .social-avatar{width:38px;height:38px}.social-image-preview{margin-inline:14px}.social-composer-actions{align-items:stretch;flex-wrap:wrap}.social-visibility{order:3;width:100%;justify-content:space-between}.social-character-count{margin-left:auto}.social-post>header{grid-template-columns:minmax(0,1fr) auto}.social-post-meta{display:none}.social-post-actions button,.social-post-actions label{font-size:.7rem}.social-post-counts{justify-content:space-between;gap:8px}}:root{color-scheme:dark;--bg: #070b14;--surface: #0d1422;--surface-raised: #121c2d;--surface-soft: #172238;--text: #f5f7ff;--text-muted: #9aa7bd;--primary: #7c6cff;--primary-bright: #9b7cff;--accent: #36d8ff;--success: #4cdda5;--warning: #f1b55f;--danger: #ff7189;--border: rgba(156, 173, 218, .16);--border-strong: rgba(135, 119, 255, .38);--radius-sm: 10px;--radius-md: 16px;--radius-lg: 24px;--shadow: 0 24px 70px rgba(0, 0, 0, .34);--paper: var(--bg);--paper-raised: var(--surface);--paper-deep: #080e1a;--ink: var(--text);--ink-muted: var(--text-muted);--forest: var(--primary);--forest-deep: #6858e8;--sage: var(--accent);--sage-pale: rgba(54, 216, 255, .11);--amber: var(--warning);--amber-pale: rgba(241, 181, 95, .12);--clay: var(--danger);--rule: var(--border);--radius: var(--radius-md);--font-display: "Space Grotesk", "Manrope", sans-serif;--font-body: "Manrope", sans-serif}html{background:var(--bg)}body{background:radial-gradient(circle at 65% -10%,rgba(86,62,210,.17),transparent 34rem),radial-gradient(circle at 105% 55%,rgba(31,174,229,.08),transparent 32rem),var(--bg);color:var(--text);font-family:var(--font-body)}button,input,select,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent)!important;outline-offset:3px}.skip-link{background:var(--accent);color:#03111a;border-radius:0 0 10px}.app-shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh;max-width:none;margin:0}.sidebar{position:fixed;inset:0 auto 0 0;z-index:20;width:236px;min-height:100vh;padding:26px 18px 20px;background:#080d18f0;border-right:1px solid var(--border);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;min-height:38px}.brand-logo{display:grid;place-items:center;width:38px;height:38px;filter:drop-shadow(0 7px 15px rgba(103,84,255,.38))}.brand-logo svg{width:100%;height:100%}.brand-name{color:var(--text);font:700 19px/1 var(--font-display);letter-spacing:-.5px}.brand-name span{color:var(--accent)}.sidebar>nav{margin-top:45px;display:grid;gap:6px}.sidebar>nav:before{content:"KHÔNG GIAN HỌC TẬP";color:#68758c;font-size:10px;font-weight:700;letter-spacing:.14em;margin:0 10px 9px}.nav-item{position:relative;width:100%;min-height:44px;padding:0 12px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--text-muted);display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;transition:.2s ease}.nav-item:hover{color:var(--text);background:#ffffff0b;transform:translate(2px)}.nav-item.active{color:#fff;background:linear-gradient(100deg,#7c6cff3d,#36d8ff12);border-color:#7c6cff33}.nav-item.active:before{content:"";position:absolute;left:-19px;width:3px;height:22px;border-radius:3px;background:linear-gradient(var(--accent),var(--primary));box-shadow:0 0 16px var(--primary)}.nav-unread-dot{position:absolute;right:11px;width:7px;height:7px;border-radius:50%;background:var(--danger);box-shadow:0 0 0 3px #ff718921,0 0 12px var(--danger)}.sidebar-note{display:none}.student-chip{margin-top:auto;padding:12px 0 0;border-top:1px solid var(--border);display:grid;grid-template-columns:1fr 36px 36px;gap:6px}.student-profile-button{min-width:0;padding:6px;border:0;background:transparent;display:flex;align-items:center;gap:9px;color:var(--text);border-radius:10px;text-align:left;cursor:pointer}.student-profile-button:hover{background:#ffffff0d}.student-profile-button>span:not(.avatar){min-width:0;display:grid;gap:2px}.student-profile-button strong,.student-profile-button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-profile-button strong{font-size:12px}.student-profile-button small{color:var(--text-muted);font-size:10px}.avatar{width:32px;height:32px;border-radius:10px;object-fit:cover;background:linear-gradient(135deg,var(--primary),var(--accent));display:grid;place-items:center;color:#fff;font-weight:800;font-size:11px}.settings-button,.logout-button{width:36px;height:36px;border:0;border-radius:10px;background:transparent;color:var(--text-muted);display:grid;place-items:center;cursor:pointer}.settings-button:hover{background:#7c6cff1a;color:var(--accent)}.logout-button:hover{background:#ff71891a;color:var(--danger)}.main-content{grid-column:2;width:100%;min-width:0;max-width:1450px;margin:0 auto;padding:0 30px 64px}.topbar{min-height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.topbar .today{margin:0 0 5px;color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.topbar h1{margin:0;font:600 18px/1.2 var(--font-display)}.day-pulse{background:#ffffff08;border:1px solid var(--border);border-radius:12px;color:var(--text-muted)}.pulse-leaf{background:var(--primary);box-shadow:0 0 16px var(--primary)}.mobile-brand{display:none}.view-transition{animation:view-in .38s cubic-bezier(.2,.8,.2,1) both}@keyframes view-in{0%{opacity:0;transform:translateY(8px)}}.view-stack{gap:24px;padding-top:28px}.hero{position:relative;min-height:408px;padding:clamp(34px,5vw,64px);overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(125deg,#131c30f5,#090f1bdb);box-shadow:var(--shadow);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:center;isolation:isolate}.hero:before{content:"";position:absolute;inset:auto -8% -55% 35%;z-index:-1;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(124,108,255,.16),transparent 68%)}.hero-kicker,.section-kicker,.folio{margin:0 0 16px;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.hero h2{max-width:650px;margin:0;font:700 clamp(38px,4.2vw,67px)/.98 var(--font-display);letter-spacing:-.055em}.hero-lead{max-width:580px;margin:24px 0 0;color:var(--text-muted);font-size:16px;line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.primary-action,.secondary-action,.auth-submit{min-height:46px;padding:0 20px;border-radius:12px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;cursor:pointer;transition:.2s ease}.primary-action,.auth-submit{background:linear-gradient(110deg,var(--primary),#9763fa);color:#fff;box-shadow:0 10px 28px #6754ff42}.primary-action:hover,.auth-submit:hover{transform:translateY(-2px);box-shadow:0 14px 34px #6754ff5c}.secondary-action{background:#ffffff09;border-color:var(--border);color:var(--text)}.secondary-action:hover{border-color:var(--border-strong);background:#7c6cff17}.orbit-scene{position:relative;width:min(100%,410px);aspect-ratio:1;margin:auto;perspective:850px;transform-style:preserve-3d}.orbit-scene:before{content:"";position:absolute;top:20%;right:20%;bottom:20%;left:20%;border-radius:50%;background:radial-gradient(circle at 35% 28%,#b9b0ff,#5b46d9 33%,#12192d 68%);box-shadow:0 0 80px #6d58ff6e,inset -22px -30px 40px #030712b8}.orbit-core{position:absolute;top:36%;right:36%;bottom:36%;left:36%;z-index:4;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:24px;background:#070b14b3;box-shadow:0 12px 40px #00000080;transform:rotate(-8deg) translateZ(50px)}.orbit-core svg{width:68%}.orbit-halo{position:absolute;top:12%;right:12%;bottom:12%;left:12%;border:1px solid rgba(92,211,255,.33);border-radius:50%;transform:rotateX(69deg) rotate(15deg);box-shadow:0 0 30px #36d8ff14;animation:orbit-turn 15s linear infinite}.orbit-halo-two{top:4%;right:17%;bottom:4%;left:17%;border-color:#9d6dff59;transform:rotateY(62deg) rotate(-22deg);animation-duration:20s;animation-direction:reverse}.orbit-plane{position:absolute;top:7%;right:3%;bottom:30%;left:3%;border-radius:50%;background:linear-gradient(120deg,transparent,rgba(124,108,255,.07),transparent);transform:rotate(-13deg)}.orbit-node{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 18px var(--accent)}.node-one{left:13%;top:39%}.node-two{right:13%;top:25%;background:var(--primary-bright)}.node-three{right:21%;bottom:20%;width:6px;height:6px}.orbit-data{position:absolute;padding:7px 10px;border:1px solid var(--border-strong);border-radius:8px;background:#0a101dbf;color:var(--text-muted);font:700 10px var(--font-display);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.data-one{top:13%;left:22%}.data-two{right:5%;bottom:31%}@keyframes orbit-turn{to{transform:rotateX(69deg) rotate(375deg)}}.legacy-study-spread{display:grid;grid-template-columns:1fr}.legacy-study-spread .focus-specimen,.week-chart{display:none}.task-ledger,.next-session,.page-view,.workspace-panel,.schedule-board,.profile-card,.community-panel{background:#0d1422c2!important;border-color:var(--border)!important;box-shadow:none!important}.task-ledger{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.section-heading{padding:24px 26px;border-bottom:1px solid var(--border)}.section-heading h2{color:var(--text);font:600 22px var(--font-display)}.section-heading p{color:var(--text-muted)}.text-button{color:var(--accent)}.task-row{min-height:78px;padding:14px 24px;border-color:var(--border);background:transparent}.task-row:hover{background:#ffffff06}.task-index{color:#68758d;font:600 11px var(--font-display)}.check-button{border-color:#7c6cff7a;background:#7c6cff12}.check-button:hover,.task-row.completed .check-button{background:var(--primary);color:#fff}.task-copy p,.task-time small{color:var(--text-muted)}.task-copy h3{color:var(--text)}.task-row.completed{opacity:.55}.ledger-empty{min-height:170px;color:var(--text-muted);display:grid;place-items:center;align-content:center;gap:10px}.mini-timer,.focus-page{display:none!important}.page-view{margin-top:28px;padding:clamp(22px,4vw,42px);border:1px solid var(--border);border-radius:var(--radius-lg)}.page-intro h2{color:var(--text);font:700 clamp(28px,4vw,46px)/1.05 var(--font-display);letter-spacing:-.04em}.page-intro p{color:var(--text-muted)}.progress-spread{background:transparent;border:1px solid var(--border);border-radius:var(--radius-md)}.progress-summary{background:linear-gradient(145deg,#7c6cff2e,#36d8ff0a);border-color:var(--border)}.big-number{color:var(--accent);font-family:var(--font-display)}.progress-track{background:#ffffff12}.progress-track i{background:linear-gradient(90deg,var(--primary),var(--accent))}.course-card,.document-card,.chat-shell,.schedule-card,.profile-shell,.person-card,.friend-request-card,.conversation-card,.modal-card,.form-card{background:var(--surface-raised)!important;border-color:var(--border)!important;color:var(--text)!important;box-shadow:none!important}.workspace-page h1,.workspace-page h2,.workspace-page h3,.schedule-page h1,.schedule-page h2,.social-page h1,.social-page h2{color:var(--text)}.workspace-page p,.schedule-page p,.social-page p,.helper,.muted{color:var(--text-muted)}input,select,textarea{background:#0a1120!important;color:var(--text)!important;border:1px solid var(--border)!important;border-radius:10px!important}input::placeholder,textarea::placeholder{color:#68758d}option{background:#0b1321;color:var(--text)}.empty-state{color:var(--text-muted);border-color:var(--border);background:#ffffff05}.modal-backdrop{background:#02050cc7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mobile-nav{display:none}@media(max-width:1020px){.app-shell{grid-template-columns:88px minmax(0,1fr)}.sidebar{width:88px;padding-inline:14px;align-items:center}.sidebar .brand-name,.sidebar .nav-item>span:not(.nav-unread-dot),.student-profile-button>span:not(.avatar),.student-profile-button>svg,.sidebar>nav:before{display:none}.sidebar>nav{width:100%}.nav-item{justify-content:center;padding:0}.nav-item.active:before{left:-15px}.student-chip{grid-template-columns:1fr}.student-profile-button{justify-content:center}.settings-button,.logout-button{margin:auto}.main-content{grid-column:2}.hero{grid-template-columns:1.15fr .85fr;padding:38px}.hero h2{font-size:clamp(38px,5vw,55px)}}@media(max-width:760px){.app-shell{display:block;min-height:100dvh}.sidebar{display:none}.main-content{width:100%;padding:0 16px 104px}.topbar{min-height:76px;gap:12px}.topbar>div:not(.mobile-brand){margin-left:auto;text-align:right}.topbar h1{font-size:14px}.topbar .today{font-size:9px}.mobile-brand{display:block}.mobile-brand .brand-name{display:none}.mobile-brand .brand-logo{width:34px;height:34px}.day-pulse{display:none}.view-stack{padding-top:16px}.hero{min-height:0;padding:30px 24px 18px;grid-template-columns:1fr}.hero h2{font-size:clamp(35px,11vw,49px)}.hero-lead{margin-top:18px;font-size:14px;line-height:1.6}.hero-actions{margin-top:24px}.hero-actions>button{flex:1 1 150px}.orbit-scene{width:min(88vw,330px);margin-top:8px}.legacy-study-spread{display:none}.section-heading{padding:20px}.task-row{grid-template-columns:24px 30px 1fr;padding:14px 18px}.task-time{grid-column:3;justify-self:start;flex-direction:row;gap:8px}.page-view{margin-top:16px;padding:20px;border-radius:18px}.mobile-nav{position:fixed;z-index:30;left:10px;right:10px;bottom:max(9px,env(safe-area-inset-bottom));height:70px;padding:7px 5px;display:grid;grid-template-columns:repeat(5,1fr);background:#0a101df0;border:1px solid var(--border);border-radius:20px;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);box-shadow:0 14px 42px #0000007a}.mobile-nav button{position:relative;min-width:0;border:0;border-radius:13px;background:transparent;color:#78869d;display:grid;place-items:center;align-content:center;gap:4px;font-size:9px;cursor:pointer}.mobile-nav button.active{color:#fff;background:linear-gradient(145deg,#7c6cff3d,#36d8ff14)}.mobile-nav button.active svg{color:var(--accent);filter:drop-shadow(0 0 6px rgba(54,216,255,.5))}.mobile-nav .nav-unread-dot{top:5px;right:calc(50% - 17px)}.progress-spread{grid-template-columns:1fr}}@media(max-width:390px){.main-content{padding-inline:12px}.hero{padding-inline:20px}.hero h2{font-size:35px}.primary-action,.secondary-action{min-height:44px;padding-inline:14px;font-size:13px}.mobile-nav{left:6px;right:6px}.mobile-nav button{font-size:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.auth-page{position:relative;z-index:0;min-height:100dvh;display:grid;grid-template-columns:minmax(380px,1.1fr) minmax(460px,.9fr);background:transparent;color:var(--text);isolation:isolate}.auth-story{position:relative;z-index:1;overflow:hidden;padding:42px clamp(40px,6vw,88px);background:linear-gradient(145deg,#121c2ab3,#0d1523e6 32%,#101926cc);border-right:1px solid var(--border)}.auth-story:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 18% 15%,rgba(69,215,255,.08),transparent 24rem)}.auth-brand,.auth-story-copy,.auth-quote,.auth-orbit{position:relative;z-index:1}.auth-brand{display:flex;align-items:center;gap:10px}.auth-brand .brand-logo{width:42px;height:42px}.auth-story-copy{max-width:590px;margin-top:clamp(70px,11vh,125px)}.auth-story-copy h1{max-width:570px;margin:0;color:var(--text);font:700 clamp(44px,5vw,72px)/.98 var(--font-display);letter-spacing:-.055em}.auth-story-copy>p:not(.folio){max-width:520px;margin:24px 0 0;color:var(--text-muted);font-size:16px;line-height:1.7}.auth-proof{width:fit-content;margin-top:32px;padding:13px 16px;border:1px solid var(--border);border-radius:14px;background:#ffffff09;color:var(--accent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.auth-proof span{display:grid;gap:3px}.auth-proof strong{color:var(--text);font-size:13px}.auth-proof small{color:var(--text-muted);font-size:11px}.auth-orbit{position:absolute;width:380px;right:-80px;bottom:-65px;opacity:.48;pointer-events:none}.auth-quote{position:absolute;left:clamp(40px,6vw,88px);bottom:36px;max-width:390px;color:var(--text-muted);border-color:var(--border)}.auth-panel{position:relative;z-index:1;padding:40px clamp(28px,5vw,72px);display:grid;place-items:center;background:linear-gradient(180deg,#0a101d1f,#070b142e)}.auth-card{width:min(100%,510px);padding:clamp(24px,4vw,42px);border:1px solid var(--border);border-radius:24px;background:#0f172794;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.auth-tabs{background:#ffffff09;border:1px solid var(--border);border-radius:12px;padding:4px}.auth-tabs button{min-height:40px;border-radius:9px;color:var(--text-muted)}.auth-tabs button[aria-selected=true]{background:var(--surface-soft);color:#fff;box-shadow:none}.auth-card header h2{color:var(--text);font:700 29px/1.1 var(--font-display);letter-spacing:-.035em}.auth-card header>p:last-child{color:var(--text-muted)}.auth-card form>label,.auth-row>label{color:#cbd3e2;font-size:12px}.auth-input{min-height:46px;background:#0a1120;border:1px solid var(--border);border-radius:11px;color:var(--text-muted)}.auth-input:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #7c6cff21}.auth-input input{border:0!important;background:transparent!important}.auth-input button{color:var(--text-muted)}.auth-submit{width:100%}.auth-error{color:#ff9aaa;background:#ff718917;border-color:#ff718938}.auth-switch{color:var(--text-muted)}.university-trigger,.major-trigger{background:#0a1120!important;color:var(--text)!important;border-color:var(--border)!important}.university-popover,.major-popover{background:var(--surface-raised)!important;border-color:var(--border)!important;box-shadow:var(--shadow)!important}.university-option,.major-option{color:var(--text)!important}.university-option:hover,.major-option:hover{background:#7c6cff1f!important}@media(max-width:900px){.auth-page{grid-template-columns:1fr}.auth-story{min-height:310px;padding:28px 24px;border-right:0;border-bottom:1px solid var(--border)}.auth-story-copy{margin-top:50px}.auth-story-copy h1{max-width:520px;font-size:clamp(39px,8vw,60px)}.auth-story-copy>p:not(.folio),.auth-proof,.auth-quote{display:none}.auth-orbit{width:270px;right:-75px;bottom:-90px}.auth-panel{padding:24px 18px 48px}.auth-card{margin-top:-48px;position:relative;z-index:2}}@media(max-width:480px){.auth-story{min-height:250px}.auth-story-copy{margin-top:35px}.auth-story-copy h1{font-size:37px}.auth-panel{padding:0 12px 30px}.auth-card{padding:22px 18px;border-radius:20px}.auth-row{grid-template-columns:1fr}}@media(min-width:1281px){.app-shell{grid-template-columns:236px minmax(0,1fr) 286px}.main-content{grid-column:2}}.right-rail{grid-column:3;position:sticky;top:0;height:100vh;padding:30px 22px;overflow:auto;background:#080d18c7;border-left:1px solid var(--border);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.rail-heading p{margin:0 0 6px;color:#68758d;font-size:9px;font-weight:800;letter-spacing:.15em}.rail-heading h2{margin:0;font:600 25px var(--font-display)}.rail-progress{margin:27px 0;padding:17px;display:flex;align-items:center;gap:14px;border:1px solid var(--border);border-radius:16px;background:#ffffff06}.progress-ring{width:58px;height:58px;flex:0 0 auto;padding:5px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--progress) * 3.6deg),rgba(255,255,255,.07) 0)}.progress-ring:before{content:"";grid-area:1/1;width:100%;height:100%;border-radius:50%;background:var(--surface)}.progress-ring span{z-index:1;grid-area:1/1;font:700 12px var(--font-display)}.rail-progress strong{font-size:13px}.rail-progress p{margin:4px 0 0;color:var(--text-muted);font-size:10px}.rail-card{position:relative;margin-top:15px;padding:20px;overflow:hidden;border:1px solid var(--border);border-radius:18px;background:linear-gradient(145deg,#7c6cff21,#36d8ff06)}.rail-card>p{margin:0 0 14px;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.rail-card h3{margin:0;font:600 17px/1.35 var(--font-display)}.rail-card>span:not(.rail-icon){color:var(--text-muted);font-size:11px}.rail-card button{width:100%;margin-top:18px;padding:10px 0 0;border:0;border-top:1px solid var(--border);background:transparent;color:#cfcaff;display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:700;cursor:pointer}.rail-icon{width:34px;height:34px;margin-bottom:20px;display:grid;place-items:center;border-radius:11px;background:#7c6cff33;color:var(--accent)}.rail-upcoming{background:#ffffff05}.rail-upcoming h3{margin-bottom:6px}@media(max-width:1280px){.right-rail{display:none}}@media(max-width:760px){.app-shell:after,.auth-page:after{content:"Nexamin";position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:radial-gradient(circle at 50% 42%,rgba(124,108,255,.24),transparent 16rem),#070b14;color:#f5f7ff;font:700 25px var(--font-display);letter-spacing:-.04em;pointer-events:none;animation:splash-away 1.15s cubic-bezier(.7,0,.3,1) both}@keyframes splash-away{0%,58%{opacity:1;clip-path:inset(0)}to{opacity:0;clip-path:inset(0 0 100% 0);visibility:hidden}}}@media(prefers-reduced-motion:reduce){.app-shell:after,.auth-page:after{display:none}}.mobile-splash{display:none}@media(max-width:760px){.app-shell:after,.auth-page:after{display:none!important}.mobile-splash{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;align-content:center;gap:13px;background:radial-gradient(circle at 50% 42%,rgba(124,108,255,.26),transparent 16rem),#070b14;pointer-events:none;animation:splash-away 1.3s cubic-bezier(.7,0,.3,1) both}.splash-logo{width:82px;height:82px;display:grid;place-items:center;filter:drop-shadow(0 18px 35px rgba(124,108,255,.45));animation:splash-logo 1.1s cubic-bezier(.2,.8,.2,1) both}.splash-logo svg{width:100%;height:100%}.mobile-splash strong{font:700 26px var(--font-display);letter-spacing:-.04em}.mobile-splash small{color:var(--accent);font-size:9px;font-weight:800;letter-spacing:.18em}@keyframes splash-logo{0%{opacity:0;transform:translateY(12px) rotate(-8deg) scale(.84)}55%,to{opacity:1;transform:none}}}@media(prefers-reduced-motion:reduce){.mobile-splash{display:none}}.mobile-more{display:none;position:relative}.mobile-more summary{list-style:none;width:40px;height:40px;border:1px solid var(--border);border-radius:11px;background:#ffffff09;display:grid;place-items:center;cursor:pointer}.mobile-more summary::-webkit-details-marker{display:none}.mobile-more .menu-close,.mobile-more[open] .menu-open{display:none}.mobile-more[open] .menu-close{display:block}.mobile-more>div{position:absolute;z-index:40;right:0;top:49px;width:190px;padding:7px;border:1px solid var(--border);border-radius:14px;background:#0d1422fa;box-shadow:var(--shadow)}.mobile-more button{width:100%;min-height:42px;padding:0 11px;border:0;border-radius:9px;background:transparent;color:var(--text-muted);display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer}.mobile-more button:hover{color:var(--text);background:#7c6cff1f}.header-signal{width:42px;height:20px;display:flex;align-items:center;justify-content:center;gap:4px}.header-signal span{width:4px;border-radius:4px;background:linear-gradient(var(--accent),var(--primary))}.header-signal span:first-child{height:9px}.header-signal span:last-child{height:17px}@media(max-width:760px){.mobile-more{display:block}.header-signal{display:none}.topbar-copy{margin-left:auto}.mobile-brand{flex:0 0 auto}}.university-field>label,.major-field>label{margin-bottom:7px;color:#cbd3e2;font-size:12px;font-weight:700}.university-combobox,.major-combobox{min-height:48px;padding:0 13px;border:1px solid var(--border)!important;border-radius:11px;background:#0a1120!important;color:var(--text-muted);box-shadow:inset 0 1px #ffffff06;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.university-combobox:hover,.major-combobox:hover{border-color:#9cadda4d!important}.university-combobox:focus-within,.major-combobox:focus-within,.university-combobox.is-open,.major-combobox.is-open{border-color:var(--primary)!important;box-shadow:0 0 0 3px #7c6cff21,inset 0 1px #ffffff09}.university-combobox.is-open,.major-combobox.is-open{border-radius:11px 11px 0 0}.university-combobox input,.major-combobox input{min-height:46px;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--text)!important;box-shadow:none!important}.university-combobox input::placeholder,.major-combobox input::placeholder{color:#69778f;opacity:1}.major-combobox:has(input:disabled){opacity:.58;background:#0a1120a8!important}.major-combobox input:disabled{opacity:1}.university-results,.major-results{z-index:50;max-height:min(310px,42vh);border:1px solid var(--primary)!important;border-top:0!important;border-radius:0 0 12px 12px;background:#0d1627!important;box-shadow:0 24px 55px #00000080,0 0 0 1px #7c6cff14!important;scrollbar-color:#485674 #0d1627;scrollbar-width:thin}.result-summary{padding:10px 13px;border-bottom:1px solid var(--border);background:#111c2f!important;color:var(--text-muted);font-size:9px;font-weight:800;letter-spacing:.12em}.university-results>button,.major-results>button{border-bottom:1px solid var(--border)!important;background:transparent!important;color:var(--text)!important;transition:background-color .15s ease,color .15s ease}.university-results>button:last-of-type,.major-results>button:last-of-type{border-bottom:0!important}.university-results>button:hover,.university-results>button.is-active,.major-results>button:hover,.major-results>button.is-active{background:#7c6cff21!important}.university-results>button[aria-selected=true],.major-results>button[aria-selected=true]{background:linear-gradient(90deg,#7c6cff33,#36d8ff0e)!important;color:#fff!important}.university-results>button[aria-selected=true]>svg,.major-results>button[aria-selected=true]>svg{color:var(--accent)}.university-results strong,.selected-university strong,.selected-major strong{color:var(--text);font-weight:700}.university-results small,.selected-university small,.selected-major small{color:var(--text-muted)}.university-logo{padding:4px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#f3f6fb;box-shadow:0 5px 13px #0003}.university-seal{border-color:#7c6cff4d;background:#7c6cff1f;color:var(--accent)}.major-code{color:var(--accent);font-family:var(--font-display);letter-spacing:.04em}.selected-university,.selected-major{min-height:58px;border:1px solid rgba(124,108,255,.25);border-radius:11px;background:linear-gradient(100deg,#7c6cff24,#36d8ff0b);color:var(--accent);box-shadow:inset 0 1px #ffffff06}.selected-university>svg,.selected-major>svg:last-child{color:var(--success)}.selected-major>svg:first-child{color:var(--accent)}.university-results>p,.major-results>p,.field-hint{color:var(--text-muted);background:transparent}.field-error{color:#ff9aaa}.university-combobox .spin,.major-combobox .spin{color:var(--accent)}@media(max-width:520px){.university-results,.major-results{max-height:min(280px,45vh)}.university-results>button{min-height:60px}.major-results>button{min-height:56px;grid-template-columns:66px minmax(0,1fr) auto}}.main-content{perspective:1600px;perspective-origin:50% 18%}.view-stage{position:relative;min-width:0;transform-style:preserve-3d;view-transition-name:workspace;animation:workspace-fallback-in .48s cubic-bezier(.16,1,.3,1) both}.view-stage-glint{position:absolute;z-index:8;top:12px;bottom:5%;left:-12%;width:18%;min-width:90px;pointer-events:none;opacity:0;transform:skew(-10deg) translate3d(-160%,0,70px);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 10%,transparent),color-mix(in srgb,var(--primary-bright) 13%,transparent),transparent);filter:blur(7px);animation:workspace-glint .62s cubic-bezier(.16,1,.3,1) both}@keyframes workspace-fallback-in{0%{opacity:.3;transform:translate3d(0,16px,-54px) rotateX(2.8deg) rotateY(-1.4deg);filter:blur(7px)}to{opacity:1;transform:translateZ(0) rotateX(0) rotateY(0);filter:blur(0)}}@keyframes workspace-glint{0%,18%{opacity:0;transform:skew(-10deg) translate3d(-160%,0,70px)}38%{opacity:.9}to{opacity:0;transform:skew(-10deg) translate3d(720%,0,70px)}}@keyframes workspace-old{to{opacity:0;transform:translate3d(-22px,-7px,-90px) rotateY(2.2deg);filter:blur(8px)}}@keyframes workspace-new{0%{opacity:0;transform:translate3d(24px,12px,-100px) rotateY(-2.6deg);filter:blur(9px);clip-path:inset(0 7% 0 0 round 20px)}to{opacity:1;transform:translateZ(0) rotateY(0);filter:blur(0);clip-path:inset(0 round 0)}}@supports (view-transition-name: workspace){.view-stage{animation:none}::view-transition-group(workspace){animation-duration:.52s;animation-timing-function:cubic-bezier(.16,1,.3,1);perspective:1500px}::view-transition-old(workspace){animation:workspace-old .28s cubic-bezier(.4,0,1,1) both;transform-origin:0 40%}::view-transition-new(workspace){animation:workspace-new .52s cubic-bezier(.16,1,.3,1) both;transform-origin:100% 35%}::view-transition-old(root),::view-transition-new(root){animation:none}}@media(hover:hover)and (min-width:761px){.course-tile,.document-list article,.schedule-entry,.profile-stats>div,.person-row,.rail-card{transform:translateZ(0);transform-style:preserve-3d;transition:transform .22s cubic-bezier(.16,1,.3,1),background-color .2s ease,box-shadow .22s ease}.course-tile:hover,.document-list article:hover,.schedule-entry:hover,.profile-stats>div:hover,.person-row:hover,.rail-card:hover{transform:translate3d(0,-3px,14px) rotateX(.7deg);box-shadow:0 17px 38px #01050e47!important}.nav-item svg,.mobile-nav svg{transition:transform .25s cubic-bezier(.16,1,.3,1),filter .25s ease}.nav-item:hover svg{transform:translateZ(18px) rotate(-4deg) scale(1.06)}}@media(max-width:760px){.view-stage{animation-duration:.34s}.view-stage-glint{display:none}::view-transition-old(workspace),::view-transition-new(workspace){animation-duration:.34s}}@media(prefers-reduced-motion:reduce){.view-stage{animation:none}.view-stage-glint{display:none}::view-transition-old(workspace),::view-transition-new(workspace){animation:none}.course-tile,.document-list article,.schedule-entry,.profile-stats>div,.person-row,.rail-card{transform:none!important}}.course-form,.upload-strip,.document-list,.chat-shell,.chat-composer,.schedule-form,.schedule-course-notice,.schedule-empty,.community-layout,.profile-form{color:var(--text);background:#0d1422d1;border-color:var(--border);box-shadow:none}.course-form,.upload-strip,.schedule-form,.profile-form{background:linear-gradient(125deg,color-mix(in srgb,var(--surface-soft) 94%,transparent),#0a101de6)}.document-list,.community-layout,.chat-shell{background:radial-gradient(circle at 72% 0,color-mix(in srgb,var(--primary) 9%,transparent),transparent 28rem),#0a101dd1}.schedule-course-notice,.schedule-empty{background:radial-gradient(circle at 50% 25%,rgba(124,108,255,.1),transparent 17rem),#0a101dbd}.schedule-course-notice h3,.schedule-empty h3,.schedule-entry-copy h3,.social-empty h3,.workspace-state h3{color:var(--text)}.schedule-course-notice p,.schedule-empty p,.social-empty p{color:var(--text-muted)}.document-list article,.schedule-entry,.people-panel,.public-profile,.direct-chat form,.chat-composer{border-color:var(--border)}.file-icon,.empty-state>span{color:var(--accent);background:#36d8ff14;box-shadow:inset 0 0 0 1px #36d8ff1f}.status-chip{color:var(--text-muted);background:#ffffff0d}.status-chip.ready{color:var(--success);background:color-mix(in srgb,var(--success) 9%,transparent)}.status-chip.failed{color:color-mix(in srgb,var(--danger) 72%,white);background:color-mix(in srgb,var(--danger) 11%,transparent)}.inline-error{color:color-mix(in srgb,var(--danger) 72%,white);background:color-mix(in srgb,var(--danger) 8%,transparent);border:1px solid color-mix(in srgb,var(--danger) 18%,transparent)}.inline-success{color:var(--success);background:color-mix(in srgb,var(--success) 8%,transparent);border:1px solid color-mix(in srgb,var(--success) 16%,transparent)}.course-delete-confirm button,.delete-confirm button{color:color-mix(in srgb,var(--danger) 58%,white);background:color-mix(in srgb,var(--danger) 12%,transparent)}.course-delete-confirm button:last-child,.delete-confirm button:last-child{color:var(--text-muted);background:#ffffff0d}.chat-message>div{background:#36d8ff13}.chat-message.student>div{background:#7c6cff21}.citations span{color:color-mix(in srgb,var(--accent) 62%,white);background:#36d8ff13}::selection{color:#fff;background:#7c6cffb8}*{scrollbar-color:rgba(124,108,255,.55) rgba(255,255,255,.035)}.workspace-heading>div>p{color:var(--accent)}.workspace-heading h2{color:var(--text)}.workspace-heading>div>span{color:var(--text-muted)}.course-form label{color:#cbd3e2}.course-form input{color:var(--text);background:#050a15c7;border-color:var(--border)}.course-form input::placeholder{color:#738099}.course-form input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #7c6cff24;outline:none}.course-form input[type=color]{padding:5px;background:#050a15c7;cursor:pointer}.course-tile{color:var(--text);border-color:color-mix(in srgb,var(--course-color) 28%,var(--border));background:radial-gradient(circle at 88% 0,color-mix(in srgb,var(--course-color) 15%,transparent),transparent 15rem),linear-gradient(145deg,#10192be8,#080e1be0);box-shadow:inset 0 1px #ffffff0a}.course-tile:after{content:"";position:absolute;width:120px;height:120px;right:-58px;bottom:-65px;border:1px solid color-mix(in srgb,var(--course-color) 28%,transparent);border-radius:50%;pointer-events:none}.course-swatch{height:3px;box-shadow:0 0 16px color-mix(in srgb,var(--course-color) 65%,transparent)}.course-tile small{color:color-mix(in srgb,var(--course-color) 64%,white)}.course-tile h3{color:var(--text)}.course-tile p,.course-tile footer{color:var(--text-muted)}.course-tile:hover{border-color:color-mix(in srgb,var(--course-color) 50%,var(--border));box-shadow:0 20px 48px #00000047,0 0 28px color-mix(in srgb,var(--course-color) 9%,transparent)}.course-tile .icon-button{color:var(--text-muted);background:#ffffff0b;border:1px solid var(--border)}.course-tile .icon-button:hover{color:#ff9aaa;border-color:#ff71894d;background:#ff718914}.academic-summary{display:grid;grid-template-columns:repeat(3,minmax(130px,.65fr)) minmax(250px,1.35fr);gap:12px;margin:-6px 0 24px}.academic-stat,.grading-policy{min-height:94px;display:flex;align-items:center;gap:13px;padding:17px;border:1px solid var(--border);border-radius:15px;color:var(--text);background:linear-gradient(140deg,#121c30e0,#080e1bd1)}.academic-stat>svg{color:var(--accent)}.academic-stat span,.grading-policy>span{display:grid;gap:5px}.academic-stat small,.grading-policy small{color:var(--text-muted);font-size:10px;text-transform:uppercase;letter-spacing:.09em}.academic-stat strong{font:700 24px var(--font-display)}.grading-policy{position:relative;align-items:flex-start;flex-wrap:wrap}.grading-policy>span{flex:1}.grading-policy strong{font-size:13px}.grading-policy a{display:inline-flex;align-items:center;gap:4px;color:var(--accent);font-size:11px}.grading-policy em{width:100%;color:var(--text-muted);font-size:10px;font-style:normal}.academic-courses .course-form{grid-template-columns:minmax(190px,1.4fr) repeat(3,minmax(90px,.65fr)) 82px auto}.course-tile-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.course-tile-heading h3{margin-top:15px}.completed-chip{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;padding:5px 8px;border-radius:99px;color:var(--success);background:color-mix(in srgb,var(--success) 10%,transparent);font-size:9px;font-weight:700}.course-grade-row{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:18px}.course-grade-row>span{display:grid;gap:3px;padding:9px 7px;border:1px solid rgba(255,255,255,.055);border-radius:9px;background:#ffffff06}.course-grade-row small{color:var(--text-muted);font-size:9px;letter-spacing:0}.course-grade-row strong{color:var(--text);font-size:13px}.course-actions{display:flex;align-items:center;gap:7px}.grade-edit{display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid var(--border);border-radius:8px;color:var(--text-muted);background:#ffffff0a;cursor:pointer;font-size:10px}.grade-edit:hover{color:var(--accent);border-color:#36d8ff40}.grade-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px;padding:13px;border:1px solid var(--border);border-radius:11px;background:#0409139e}.grade-form label{display:grid;gap:5px;color:var(--text-muted);font-size:10px}.grade-form input[type=number]{width:100%;min-height:38px;padding:0 9px;border:1px solid var(--border);border-radius:8px;color:var(--text);background:#ffffff0a}.grade-form .completion-check{grid-column:1/-1;display:flex;align-items:center;gap:8px}.grade-form .completion-check input{accent-color:var(--primary)}.grade-form>div{grid-column:1/-1;display:flex;align-items:center;gap:10px}.grade-form .primary-action{min-height:36px;padding:0 13px;font-size:11px}.settings-view{max-width:980px;margin:0 auto}.settings-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:18px}.settings-card,.settings-note{padding:25px;border:1px solid var(--border);border-radius:17px;background:linear-gradient(145deg,#10192be6,#080e1bdb)}.settings-card{display:grid;gap:16px}.settings-card header{display:flex;align-items:center;gap:12px}.settings-card header>span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:var(--accent);background:#36d8ff14}.settings-card h3,.settings-note h3{margin:0;color:var(--text)}.settings-card header p,.settings-note p{margin:5px 0 0;color:var(--text-muted);font-size:12px;line-height:1.6}.settings-card label{display:grid;gap:6px;color:#cbd3e2;font-size:11px;font-weight:700}.settings-card input{min-height:44px;padding:0 12px;border:1px solid var(--border);border-radius:9px;color:var(--text);background:#040913a8}.settings-card input:focus{border-color:var(--primary);outline:3px solid rgba(124,108,255,.13)}.settings-success{display:flex;align-items:center;gap:9px;padding:11px;border:1px solid rgba(75,211,150,.2);border-radius:10px;color:var(--success);background:#4bd39612}.settings-success span{display:grid}.settings-success small{color:var(--text-muted)}.settings-note>svg{color:var(--primary-bright)}.settings-note .secondary-action{margin-top:18px}@media(max-width:1080px){.academic-summary{grid-template-columns:repeat(2,1fr)}.academic-courses .course-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.academic-summary,.settings-grid,.academic-courses .course-form{grid-template-columns:1fr}.course-grade-row{grid-template-columns:repeat(4,minmax(0,1fr))}.settings-card,.settings-note{padding:19px}}.app-shell{position:relative;isolation:isolate;background:transparent}.cosmic-backdrop{contain:strict;position:fixed;z-index:0;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;background:transparent}.cosmic-earth{position:absolute;top:-7%;right:-7%;bottom:-7%;left:-7%;background-image:url(/earth-observatory.webp);background-size:cover;background-position:64% 42%;background-repeat:no-repeat;opacity:.78;transform:scale(1.08) translate3d(-1.2%,0,0);filter:saturate(.9) contrast(1.06);animation:earth-drift 24s ease-in-out infinite alternate;will-change:transform}.cosmic-vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,color-mix(in srgb,var(--bg) 92%,transparent) 0,color-mix(in srgb,var(--bg) 54%,transparent) 31%,color-mix(in srgb,var(--bg) 10%,transparent) 72%,color-mix(in srgb,var(--bg) 55%,transparent)),linear-gradient(0deg,color-mix(in srgb,var(--bg) 88%,transparent),transparent 48%,color-mix(in srgb,var(--bg) 35%,transparent))}.cosmic-orbit{position:absolute;right:-13vw;top:10vh;width:min(75vw,1080px);aspect-ratio:1.9;border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);border-radius:50%;transform:rotate(-15deg) rotateX(64deg);box-shadow:0 0 34px color-mix(in srgb,var(--accent) 7%,transparent);animation:background-orbit 28s linear infinite}.cosmic-orbit-two{right:-20vw;top:34vh;width:min(68vw,920px);border-color:color-mix(in srgb,var(--primary) 21%,transparent);animation-direction:reverse;animation-duration:34s}.main-content,.right-rail{position:relative;z-index:1}.brand{width:100%;margin:0;padding:0;border:0;color:inherit;background:transparent;text-align:left;cursor:pointer}.brand-logo{width:44px;height:44px;flex:0 0 44px;transition:transform .32s cubic-bezier(.16,1,.3,1),filter .32s ease}.brand:hover .brand-logo,.brand:focus-visible .brand-logo{transform:translateZ(18px) rotateY(-12deg) scale(1.08);filter:drop-shadow(0 9px 20px color-mix(in srgb,var(--primary) 48%,transparent))}.hero{background:linear-gradient(90deg,color-mix(in srgb,var(--surface) 98%,transparent) 0,color-mix(in srgb,var(--surface) 98%,transparent) 42%,color-mix(in srgb,var(--surface) 62%,transparent) 60%,color-mix(in srgb,var(--surface) 8%,transparent)),url(/earth-observatory.webp) 67% 45% / cover}.hero:before{opacity:.24}.hero-earth-window{position:relative;align-self:stretch;min-height:330px;transform-style:preserve-3d}.hero-earth-window:before,.hero-earth-window:after{content:"";position:absolute;left:7%;top:31%;width:86%;aspect-ratio:2.25;border:1px solid color-mix(in srgb,var(--accent) 38%,transparent);border-radius:50%;transform:rotate(-15deg) rotateX(68deg) translateZ(26px);box-shadow:0 0 24px color-mix(in srgb,var(--accent) 10%,transparent);animation:hero-earth-orbit 13s linear infinite}.hero-earth-window:after{left:18%;top:37%;width:68%;border-color:color-mix(in srgb,var(--primary-bright) 38%,transparent);animation-direction:reverse;animation-duration:17s}.hero-earth-window span{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 16px var(--accent)}.hero-earth-window span:first-child{top:26%;right:17%}.hero-earth-window span:last-child{bottom:22%;left:13%;background:var(--primary-bright);box-shadow:0 0 16px var(--primary)}@keyframes earth-drift{to{transform:scale(1.12) translate3d(2.2%,-1.3%,0)}}@keyframes background-orbit{to{transform:rotate(345deg) rotateX(64deg)}}@keyframes hero-earth-orbit{to{transform:rotate(345deg) rotateX(68deg) translateZ(26px)}}@media(max-width:760px){.cosmic-earth{top:-4%;right:-38%;bottom:-4%;left:-38%;background-position:67% 15%;opacity:.43;animation-duration:30s}.cosmic-vignette{background:linear-gradient(0deg,color-mix(in srgb,var(--bg) 94%,transparent),color-mix(in srgb,var(--bg) 48%,transparent) 62%,color-mix(in srgb,var(--bg) 72%,transparent))}.cosmic-orbit{display:none}.mobile-brand .brand{width:40px}.mobile-brand .brand-logo{width:40px;height:40px}.hero{background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 98%,transparent) 0,color-mix(in srgb,var(--surface) 98%,transparent) 43%,color-mix(in srgb,var(--surface) 28%,transparent) 67%,color-mix(in srgb,var(--surface) 12%,transparent)),url(/earth-observatory.webp) 63% bottom / auto 64% no-repeat}.hero-earth-window{min-height:310px}.hero-earth-window:before,.hero-earth-window:after{top:42%}}@media(prefers-reduced-motion:reduce){.cosmic-earth,.cosmic-orbit,.hero-earth-window:before,.hero-earth-window:after{animation:none;will-change:auto}.brand-logo{transition:none}}:root,:root[data-theme=dark]{color-scheme:dark;--app-bg: #050914;--glass: rgba(9, 17, 33, .7);--glass-strong: rgba(10, 19, 37, .88);--glass-soft: rgba(255, 255, 255, .045);--panel-line: rgba(153, 184, 255, .18);--panel-line-strong: rgba(93, 219, 255, .36);--app-text: #f3f7ff;--app-muted: #9fabc2;--app-shadow: 0 24px 72px rgba(0, 0, 0, .32);--field-bg: rgba(4, 10, 22, .76)}:root[data-theme=light]{color-scheme:light;--bg: #dceefa;--surface: #f7fbff;--surface-raised: #fff;--surface-soft: #e9f5fb;--text: #10243a;--text-muted: #526a7e;--border: rgba(32, 84, 112, .16);--border-strong: rgba(37, 129, 168, .34);--primary: #5265e8;--primary-bright: #6c78ef;--accent: #087f9c;--success: #147a5b;--warning: #a66314;--danger: #c83e5a;--paper: #e7f3f9;--paper-raised: #fff;--paper-deep: #d3e7f1;--ink: #10243a;--ink-muted: #526a7e;--forest: #5265e8;--forest-deep: #3f50c5;--sage: #087f9c;--sage-pale: rgba(8, 127, 156, .1);--amber: #a66314;--amber-pale: rgba(166, 99, 20, .1);--clay: #c83e5a;--rule: rgba(32, 84, 112, .16);--app-bg: #cbe7f4;--glass: rgba(248, 253, 255, .67);--glass-strong: rgba(250, 254, 255, .86);--glass-soft: rgba(255, 255, 255, .5);--panel-line: rgba(27, 85, 112, .18);--panel-line-strong: rgba(34, 126, 158, .34);--app-text: #10243a;--app-muted: #526a7e;--app-shadow: 0 24px 60px rgba(47, 91, 110, .16);--field-bg: rgba(255, 255, 255, .72)}html,body{background:var(--app-bg);color:var(--app-text);transition:background-color .45s ease,color .35s ease}body{overflow-x:hidden}.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}.app-shell{grid-template-columns:236px minmax(0,1fr)!important;min-height:100dvh}.main-content{grid-column:2!important;max-width:1540px;padding:0 clamp(22px,3vw,46px) 60px}.right-rail{display:none!important}.view-stage{min-width:0}.view-stage-glint{display:none}.cosmic-backdrop{--parallax-x: 0;--parallax-y: 0;background:var(--app-bg);transition:background .55s ease}.cosmic-earth{top:-4%;right:-4%;bottom:-4%;left:-4%;opacity:0;transform:scale(1.07) translate3d(calc(var(--parallax-x) * -8px),calc(var(--parallax-y) * -6px),0);transition:opacity .7s ease,filter .7s ease;animation:earth-breathe 22s ease-in-out infinite alternate}.cosmic-earth-night{background:url(/earth-observatory.webp) 62% 45% / cover no-repeat;filter:saturate(.98) contrast(1.05);opacity:.86}.cosmic-earth-day{background:url(/earth-daylight.webp) center 48% / cover no-repeat;filter:saturate(.93) contrast(.96)}:root[data-theme=light] .cosmic-earth-night{opacity:0}:root[data-theme=light] .cosmic-earth-day{opacity:1}.cosmic-stars{position:absolute;top:-4%;right:-4%;bottom:-4%;left:-4%;opacity:.54;transform:translate3d(calc(var(--parallax-x) * 11px),calc(var(--parallax-y) * 8px),0);background-image:radial-gradient(circle at 12% 17%,#fff 0 1px,transparent 1.6px),radial-gradient(circle at 72% 24%,#bfeeff 0 1px,transparent 1.7px),radial-gradient(circle at 40% 78%,#fff 0 .8px,transparent 1.5px),radial-gradient(circle at 89% 69%,#a7b7ff 0 1px,transparent 1.8px);background-size:210px 190px,280px 240px,170px 230px,310px 260px;transition:opacity .55s ease}:root[data-theme=light] .cosmic-stars{opacity:0}.cosmic-clouds{position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;opacity:0;transform:translate3d(calc(var(--parallax-x) * 12px),calc(var(--parallax-y) * 7px),0);background:radial-gradient(ellipse at 14% 13%,rgba(255,255,255,.42),transparent 22%),radial-gradient(ellipse at 80% 21%,rgba(255,255,255,.38),transparent 24%);filter:blur(20px);transition:opacity .6s ease;animation:cloud-drift 26s ease-in-out infinite alternate}:root[data-theme=light] .cosmic-clouds{opacity:.84}.cosmic-vignette{background:linear-gradient(90deg,#040914e6 0,#04091480 19%,#04091424 58%,#04091459),linear-gradient(0deg,rgba(4,9,20,.76),transparent 58%);transition:background .55s ease}:root[data-theme=light] .cosmic-vignette{background:linear-gradient(90deg,rgba(205,232,244,.78) 0,rgba(219,240,248,.22) 28%,transparent 70%,rgba(213,235,243,.14)),linear-gradient(0deg,rgba(188,218,230,.4),transparent 55%)}:root[data-theme=light] .cosmic-orbit{border-color:#ffffff75;box-shadow:0 0 40px #ffffff2e;opacity:.48}@keyframes earth-breathe{to{transform:scale(1.11) translate3d(calc(var(--parallax-x) * -8px + 10px),calc(var(--parallax-y) * -6px - 5px),0)}}@keyframes cloud-drift{to{translate:22px -5px}}.sidebar{width:236px;padding:22px 16px 18px;background:color-mix(in srgb,var(--glass-strong) 94%,transparent);border-color:var(--panel-line);box-shadow:18px 0 50px #0000000f}.sidebar>nav{margin-top:34px;gap:4px}.sidebar>nav:before{content:"NEXAMIN · WORKSPACE";color:var(--app-muted);opacity:.72}.nav-item{min-height:44px;border-radius:13px;color:var(--app-muted)}.nav-item:hover{color:var(--app-text);background:var(--glass-soft)}.nav-item.active{color:var(--app-text);background:linear-gradient(100deg,color-mix(in srgb,var(--primary) 22%,transparent),color-mix(in srgb,var(--accent) 8%,transparent));border-color:var(--panel-line);box-shadow:inset 0 1px #ffffff12}.nav-item.active:before{left:-17px}.student-chip{border-color:var(--panel-line)}.student-profile-button strong{color:var(--app-text)}.student-profile-button small,.settings-button,.logout-button{color:var(--app-muted)}.topbar{min-height:88px;gap:22px;border-color:var(--panel-line)}.topbar-copy{min-width:245px}.topbar .today{color:var(--app-muted)}.topbar h1{color:var(--app-text);font-size:clamp(15px,1.4vw,19px)}.command-search{flex:1;max-width:580px;min-height:44px;display:flex;align-items:center;gap:10px;padding:0 12px;border:1px solid var(--panel-line);border-radius:14px;color:var(--app-muted);background:var(--glass);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);box-shadow:inset 0 1px #ffffff0f}.command-search:focus-within{border-color:var(--panel-line-strong);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.command-search input{min-width:0;flex:1;height:40px;padding:0!important;border:0!important;outline:0!important;color:var(--app-text)!important;background:transparent!important;box-shadow:none!important}.command-search input::placeholder{color:var(--app-muted);opacity:.82}.command-search kbd{padding:3px 7px;border:1px solid var(--panel-line);border-radius:7px;color:var(--app-muted);background:var(--glass-soft);font:600 9px var(--font-body)}.topbar-actions{display:flex;align-items:center;gap:8px}.topbar-icon-button,.header-avatar{position:relative;width:40px;height:40px;border:1px solid var(--panel-line);border-radius:13px;display:grid;place-items:center;color:var(--app-muted);background:var(--glass);cursor:pointer;transition:transform .2s ease,border-color .2s ease,color .2s ease}.topbar-icon-button:hover,.header-avatar:hover{color:var(--app-text);border-color:var(--panel-line-strong);transform:translateY(-2px)}.header-avatar{overflow:hidden;border-radius:50%;color:var(--app-text)}.header-avatar img{width:100%;height:100%;object-fit:cover}.notification-count{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;padding:0 4px;border:2px solid var(--app-bg);border-radius:9px;display:grid;place-items:center;color:#fff;background:var(--danger);font-size:8px;font-weight:800}.dashboard-overview{display:grid;gap:16px;padding-top:22px}.glass-panel{border:1px solid var(--panel-line);background:linear-gradient(145deg,var(--glass-strong),var(--glass));-webkit-backdrop-filter:blur(22px) saturate(1.16);backdrop-filter:blur(22px) saturate(1.16);box-shadow:var(--app-shadow),inset 0 1px #ffffff12}.dashboard-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-card{min-height:106px;padding:18px;border-radius:20px;display:flex;align-items:center;gap:14px;transition:transform .22s ease,border-color .22s ease}.metric-card:hover{transform:translateY(-3px);border-color:var(--panel-line-strong)}.metric-icon{width:40px;height:40px;flex:0 0 40px;border-radius:13px;display:grid;place-items:center;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.metric-card div{min-width:0;display:grid;grid-template-columns:1fr auto;align-items:baseline;column-gap:8px}.metric-card p{grid-column:1/-1;margin:0;color:var(--app-muted);font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.metric-card strong{color:var(--app-text);font:700 27px var(--font-display)}.metric-card small{color:var(--app-muted);font-size:10px;text-align:right}.dashboard-grid{display:grid;gap:16px}.dashboard-grid-primary{grid-template-columns:minmax(0,1.28fr) minmax(300px,.72fr)}.dashboard-grid-secondary{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}.dashboard-card{min-width:0;border-radius:22px;overflow:hidden}.dashboard-card-heading{min-height:74px;padding:18px 20px;border-bottom:1px solid var(--panel-line);display:flex;align-items:center;justify-content:space-between;gap:14px}.dashboard-card-heading span,.ai-copy>span{color:var(--accent);font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.dashboard-card-heading h2,.ai-copy h2{margin:3px 0 0;color:var(--app-text);font:650 19px/1.2 var(--font-display)}.card-link{min-height:36px;padding:0 9px;border:0;border-radius:9px;display:inline-flex;align-items:center;gap:5px;color:var(--accent);background:transparent;font-size:11px;font-weight:700;cursor:pointer}.card-link:hover{background:color-mix(in srgb,var(--accent) 9%,transparent)}.schedule-timeline{min-height:260px;padding:8px 20px 16px}.timeline-item{min-height:61px;display:grid;grid-template-columns:48px 3px minmax(0,1fr) 32px;align-items:center;gap:12px;border-bottom:1px solid var(--panel-line)}.timeline-item:last-child{border-bottom:0}.timeline-item time{color:var(--app-muted);font:650 11px var(--font-display)}.timeline-tone{width:3px;height:34px;border-radius:4px;background:var(--accent);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 48%,transparent)}.timeline-tone.orange,.goal-marker.orange{background:var(--warning)}.timeline-tone.pink,.goal-marker.pink{background:#e36bbc}.timeline-item div{min-width:0;display:grid;gap:3px}.timeline-item strong{overflow:hidden;color:var(--app-text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.timeline-item span{overflow:hidden;color:var(--app-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.timeline-item.is-complete{opacity:.6}.timeline-item.is-complete strong{text-decoration:line-through}.timeline-check{width:28px;height:28px;border:1px solid var(--panel-line);border-radius:9px;display:grid;place-items:center;color:#fff;background:transparent;cursor:pointer}.timeline-check[aria-pressed=true]{border-color:transparent;background:var(--success)}.ai-companion{position:relative;min-height:352px;padding:22px;display:flex;flex-direction:column;isolation:isolate}.ai-companion:before{content:"";position:absolute;z-index:-1;width:240px;height:240px;right:-70px;top:-90px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--primary) 27%,transparent),transparent 68%)}.ai-orb{width:52px;height:52px;margin-bottom:20px;border:1px solid var(--panel-line-strong);border-radius:17px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--primary),var(--accent));box-shadow:0 14px 35px color-mix(in srgb,var(--primary) 25%,transparent);transform:rotate(-4deg)}.ai-copy p{margin:10px 0 17px;color:var(--app-muted);font-size:11px;line-height:1.65}.ai-quick-actions{display:grid;gap:6px}.ai-quick-actions button{min-height:36px;padding:0 10px;border:1px solid var(--panel-line);border-radius:10px;display:flex;align-items:center;justify-content:space-between;color:var(--app-text);background:var(--glass-soft);font-size:10px;text-align:left;cursor:pointer}.ai-quick-actions button:hover{border-color:var(--panel-line-strong);transform:translate(2px)}.ai-main-action{width:100%;margin-top:auto}.progress-card-body{min-height:210px;padding:22px;display:grid;grid-template-columns:132px minmax(0,1fr);align-items:center;gap:24px}.dashboard-progress-ring{width:126px;height:126px;padding:10px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--accent) calc(var(--progress) * 3.6deg),color-mix(in srgb,var(--app-muted) 14%,transparent) 0);box-shadow:0 0 38px color-mix(in srgb,var(--accent) 11%,transparent)}.dashboard-progress-ring:before{content:"";grid-area:1/1;width:100%;height:100%;border-radius:50%;background:var(--glass-strong)}.dashboard-progress-ring span{z-index:1;grid-area:1/1;display:grid;text-align:center}.dashboard-progress-ring strong{color:var(--app-text);font:700 24px var(--font-display)}.dashboard-progress-ring small{color:var(--app-muted);font-size:9px}.progress-facts{display:grid;gap:11px}.progress-facts>div{display:flex;align-items:center;gap:10px;color:var(--accent)}.progress-facts span{display:grid}.progress-facts strong{color:var(--app-text);font-size:14px}.progress-facts small{color:var(--app-muted);font-size:9px}.progress-facts p{margin:4px 0 0;padding-top:12px;border-top:1px solid var(--panel-line);color:var(--app-muted);font-size:9px;line-height:1.55}.goal-list{min-height:210px;padding:8px 18px 16px}.goal-row{width:100%;min-height:52px;padding:7px 4px;border:0;border-bottom:1px solid var(--panel-line);display:grid;grid-template-columns:4px minmax(0,1fr) 18px;align-items:center;gap:12px;color:var(--app-muted);background:transparent;text-align:left;cursor:pointer}.goal-row:hover{color:var(--accent)}.goal-row:last-child{border-bottom:0}.goal-marker{width:4px;height:30px;border-radius:4px;background:var(--accent)}.goal-row>span:nth-child(2){min-width:0;display:grid;gap:3px}.goal-row strong{overflow:hidden;color:var(--app-text);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.goal-row small{color:var(--app-muted);font-size:9px}.dashboard-empty{min-height:220px;display:grid;place-items:center;align-content:center;gap:8px;color:var(--app-muted);text-align:center}.dashboard-empty p{margin:0;font-size:11px}.dashboard-empty button{min-height:36px;padding:0 12px;border:1px solid var(--panel-line);border-radius:9px;color:var(--accent);background:var(--glass-soft);cursor:pointer}.dashboard-empty.compact{min-height:185px}.task-ledger,.next-session,.page-view,.workspace-panel,.schedule-board,.profile-card,.community-panel,.course-form,.upload-strip,.document-list,.chat-shell,.chat-composer,.schedule-form,.schedule-course-notice,.schedule-empty,.community-layout,.profile-form,.course-card,.document-card,.schedule-card,.profile-shell,.person-card,.friend-request-card,.conversation-card,.modal-card,.form-card,.settings-card,.settings-note,.course-tile,.academic-stat,.grading-policy{color:var(--app-text)!important;border-color:var(--panel-line)!important;background:linear-gradient(145deg,var(--glass-strong),var(--glass))!important;box-shadow:var(--app-shadow)!important;-webkit-backdrop-filter:blur(22px) saturate(1.12);backdrop-filter:blur(22px) saturate(1.12)}.workspace-page h1,.workspace-page h2,.workspace-page h3,.schedule-page h1,.schedule-page h2,.social-page h1,.social-page h2,.settings-card h3,.settings-note h3{color:var(--app-text)!important}.workspace-page p,.schedule-page p,.social-page p,.helper,.muted,.settings-card p,.settings-note p{color:var(--app-muted)!important}input,select,textarea{color:var(--app-text)!important;border-color:var(--panel-line)!important;background:var(--field-bg)!important}option{color:var(--app-text);background:var(--surface)}:root[data-theme=light] .primary-action,:root[data-theme=light] .auth-submit{color:#fff}:root[data-theme=light] .mobile-nav{background:#fafeffe0}@media(max-width:1120px){.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid-primary{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr)}.command-search{max-width:380px}}@media(max-width:900px){.app-shell{grid-template-columns:88px minmax(0,1fr)!important}.sidebar{width:88px}.main-content{grid-column:2!important;padding-inline:22px}.topbar-copy{min-width:190px}.command-search kbd{display:none}.dashboard-grid-primary,.dashboard-grid-secondary{grid-template-columns:1fr}.ai-companion{min-height:320px}}@media(max-width:760px){.app-shell{display:block!important}.main-content{width:100%;padding:0 14px 104px}.topbar{min-height:76px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px}.topbar-copy{min-width:0;margin:0!important;text-align:left!important}.topbar-copy h1{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.topbar .today{font-size:8px}.command-search{grid-column:1/-1;grid-row:2;max-width:none;width:100%;margin-bottom:10px}.topbar-actions{grid-column:3;grid-row:1}.topbar-actions .topbar-icon-button:first-child,.header-avatar{display:none}.mobile-more{display:block}.dashboard-overview{padding-top:62px;gap:12px}.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric-card{min-height:96px;padding:13px;border-radius:16px;gap:10px}.metric-icon{width:34px;height:34px;flex-basis:34px}.metric-card strong{font-size:22px}.metric-card small{display:none}.dashboard-card{border-radius:18px}.dashboard-card-heading{padding:16px}.schedule-timeline{padding-inline:16px}.timeline-item{grid-template-columns:43px 3px minmax(0,1fr) 32px;gap:9px}.progress-card-body{grid-template-columns:112px minmax(0,1fr);gap:16px;padding:18px}.dashboard-progress-ring{width:108px;height:108px}.cosmic-earth{top:-3%;right:-36%;bottom:-3%;left:-36%;animation-duration:30s}.cosmic-earth-night{background-position:66% 18%}.cosmic-earth-day{background-position:54% 35%}.cosmic-orbit{display:none}.cosmic-vignette{background:linear-gradient(0deg,#040914c7,#04091433 72%,#0409146b)}:root[data-theme=light] .cosmic-vignette{background:linear-gradient(0deg,rgba(204,230,239,.56),transparent 70%)}}@media(max-width:390px){.main-content{padding-inline:10px}.dashboard-stats{gap:8px}.metric-card{padding:11px}.metric-icon{display:none}.progress-card-body{grid-template-columns:1fr;justify-items:center}.progress-facts{width:100%}.ai-companion{padding:18px}}@media(prefers-reduced-motion:reduce){.cosmic-earth,.cosmic-clouds,.cosmic-orbit{animation:none!important;transform:none!important}.metric-card:hover,.topbar-icon-button:hover,.header-avatar:hover{transform:none}}@media(min-width:1021px){.student-chip{grid-template-columns:1fr 36px}}.settings-session{margin-top:22px;padding-top:18px;border-top:1px solid var(--panel-line);display:grid;gap:14px}.settings-session>span{display:grid;gap:3px}.settings-session strong{color:var(--app-text);font-size:12px}.settings-session small{color:var(--app-muted);font-size:10px}.settings-logout{min-height:44px;width:100%;padding:0 16px;border:1px solid color-mix(in srgb,var(--danger) 35%,var(--panel-line));border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,transparent);font-weight:700;cursor:pointer}.settings-logout:hover{background:color-mix(in srgb,var(--danger) 14%,transparent);border-color:color-mix(in srgb,var(--danger) 55%,var(--panel-line))}@media(max-width:760px){.settings-logout{min-height:50px;font-size:14px}}.auth-page{color:var(--app-text);background:transparent!important}.auth-story{color:var(--app-text);border-color:var(--panel-line);background:linear-gradient(145deg,color-mix(in srgb,var(--glass-strong) 96%,transparent),color-mix(in srgb,var(--glass) 88%,transparent))!important;-webkit-backdrop-filter:blur(14px) saturate(1.12);backdrop-filter:blur(14px) saturate(1.12)}.auth-story:before{background:radial-gradient(circle at 18% 15%,color-mix(in srgb,var(--accent) 11%,transparent),transparent 24rem)}.auth-story-copy h1,.auth-proof strong{color:var(--app-text)}.auth-story-copy>p:not(.folio),.auth-proof small,.auth-quote{color:var(--app-muted)}.auth-proof{color:var(--accent);border-color:var(--panel-line);background:var(--glass-soft)}.auth-panel{background:linear-gradient(180deg,color-mix(in srgb,var(--app-bg) 6%,transparent),color-mix(in srgb,var(--app-bg) 22%,transparent))}.auth-card{color:var(--app-text);border:1px solid var(--panel-line);background:var(--glass-strong);box-shadow:var(--app-shadow);-webkit-backdrop-filter:blur(24px) saturate(1.15);backdrop-filter:blur(24px) saturate(1.15)}.auth-tabs{border-color:var(--panel-line);background:var(--glass-soft)}.auth-tabs button{color:var(--app-muted)}.auth-tabs button[aria-selected=true]{color:var(--app-text);background:color-mix(in srgb,var(--primary) 18%,var(--glass-soft));box-shadow:inset 0 1px #ffffff1f}.auth-card header h2{color:var(--app-text)}.auth-card header>p:last-child{color:var(--app-muted)}.auth-card form>label,.auth-row>label,.auth-card label,.university-field>label,.major-field>label{color:var(--app-text)!important}.auth-input,.university-combobox,.university-trigger,.major-trigger,.auth-card select{color:var(--app-text)!important;border-color:var(--panel-line)!important;background:var(--field-bg)!important}.auth-input:focus-within,.university-combobox:focus-within,.university-trigger:focus-visible,.major-trigger:focus-visible{border-color:var(--panel-line-strong)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent)!important}.auth-input button,.auth-switch{color:var(--app-muted)}.auth-switch button{color:var(--accent)}.university-results,.major-results,.university-popover,.major-popover{color:var(--app-text)!important;border-color:var(--panel-line)!important;background:var(--glass-strong)!important;box-shadow:var(--app-shadow)!important;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.university-results>button,.major-results>button,.university-option,.major-option{color:var(--app-text)!important;border-color:var(--panel-line)!important;background:transparent!important}.university-results>button:hover,.university-results>button.is-active,.university-results>button[aria-selected=true],.major-option:hover,.major-option[aria-selected=true]{background:color-mix(in srgb,var(--primary) 12%,transparent)!important}.result-summary{color:var(--app-muted);border-color:var(--panel-line);background:var(--glass-strong)}.selected-university,.selected-major{color:var(--app-text);background:color-mix(in srgb,var(--accent) 9%,transparent)}.auth-theme-toggle{position:fixed;z-index:50;top:22px;right:22px;width:44px;height:44px;border:1px solid var(--panel-line);border-radius:14px;display:grid;place-items:center;color:var(--app-text);background:var(--glass-strong);box-shadow:var(--app-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);cursor:pointer;transition:transform .2s ease,border-color .2s ease}.auth-theme-toggle:hover{transform:translateY(-2px);border-color:var(--panel-line-strong)}:root[data-theme=light] .auth-story:after{border-color:#10405433}:root[data-theme=light] .auth-brand .brand-name span{color:var(--primary)}:root[data-theme=light] .auth-submit{color:#fff}@media(max-width:520px){.auth-theme-toggle{top:16px;right:16px;width:42px;height:42px}}.auth-story-copy .folio{color:var(--accent)!important}@media(max-width:520px){.auth-orbit{display:none}}.university-combobox,.major-combobox{color:var(--app-muted)!important;border-color:var(--panel-line)!important;background:var(--field-bg)!important;box-shadow:inset 0 1px #ffffff14!important}.university-combobox:hover,.major-combobox:hover{border-color:var(--panel-line-strong)!important}.university-combobox input,.major-combobox input{color:var(--app-text)!important;background:transparent!important}.university-combobox input::placeholder,.major-combobox input::placeholder{color:var(--app-muted)!important;opacity:.82}.major-combobox:has(input:disabled){opacity:1;color:color-mix(in srgb,var(--app-muted) 70%,transparent)!important;background:color-mix(in srgb,var(--field-bg) 76%,var(--app-bg))!important}.major-combobox input:disabled{color:var(--app-muted)!important;opacity:.72;-webkit-text-fill-color:var(--app-muted)}.university-results,.major-results{border-color:var(--panel-line-strong)!important;background:var(--glass-strong)!important;box-shadow:var(--app-shadow)!important;scrollbar-color:color-mix(in srgb,var(--primary) 55%,transparent) transparent}.result-summary{color:var(--app-muted)!important;border-color:var(--panel-line)!important;background:color-mix(in srgb,var(--glass-strong) 94%,var(--surface))!important}.university-results>button,.major-results>button{color:var(--app-text)!important;border-color:var(--panel-line)!important;background:transparent!important}.university-results>button[aria-selected=true],.major-results>button[aria-selected=true]{color:var(--app-text)!important;background:linear-gradient(90deg,color-mix(in srgb,var(--primary) 16%,transparent),color-mix(in srgb,var(--accent) 7%,transparent))!important}.university-results strong,.selected-university strong,.selected-major strong{color:var(--app-text)!important}.university-results small,.selected-university small,.selected-major small,.field-hint{color:var(--app-muted)!important}.selected-university,.selected-major{color:var(--accent)!important;border-color:var(--panel-line-strong)!important;background:linear-gradient(100deg,color-mix(in srgb,var(--primary) 12%,var(--glass-soft)),color-mix(in srgb,var(--accent) 6%,var(--glass-soft)))!important}:root[data-theme=light] .university-logo{border-color:#14465f24;box-shadow:0 5px 14px #29596b1f}.nexamin-mark{display:block;width:100%;height:100%;object-fit:contain;filter:brightness(0) invert(1)}:root[data-theme=light] .nexamin-mark{filter:none}.sidebar .brand-logo{width:38px;height:38px;flex:0 0 38px}.brand-logo .nexamin-mark,.splash-logo .nexamin-mark{width:100%;height:100%}.orbit-core .nexamin-mark{width:68%;height:68%;filter:brightness(0) invert(1)}.mobile-splash .nexamin-mark{filter:brightness(0) invert(1)}@media(max-width:760px){.mobile-brand .brand-logo{width:40px;height:40px;flex:0 0 40px}}.grade-form{color:var(--app-text);border-color:var(--panel-line);background:var(--glass-soft)}.grade-form label{color:var(--app-muted)}.grade-form input[type=number]{color:var(--app-text)!important;border-color:var(--panel-line)!important;background:var(--field-bg)!important}.grade-form input[type=number]::placeholder{color:var(--app-muted);opacity:1}.grade-form .completion-check{color:var(--app-text)}.grade-form .completion-check input{width:18px;height:18px;accent-color:var(--primary)}.course-grade-row>span{border-color:var(--panel-line);background:var(--glass-soft)}.grade-edit{color:var(--app-muted);border-color:var(--panel-line);background:var(--glass-soft)}.grade-edit:hover,.grade-edit:focus-visible{color:var(--accent);border-color:var(--panel-line-strong)}.mobile-more summary,.mobile-more>div{color:var(--app-text);border-color:var(--panel-line);background:var(--glass-strong);-webkit-backdrop-filter:blur(22px) saturate(1.12);backdrop-filter:blur(22px) saturate(1.12)}.mobile-more>div{box-shadow:var(--app-shadow)}.mobile-more button{color:var(--app-muted)}.mobile-more button:hover,.mobile-more button:focus-visible{color:var(--app-text);background:var(--glass-soft)}:root[data-theme=light] .mobile-nav{border-color:var(--panel-line);background:var(--glass-strong);box-shadow:var(--app-shadow)}:root[data-theme=light] .mobile-nav button{color:var(--app-muted)}:root[data-theme=light] .mobile-nav button.active{color:var(--app-text);background:color-mix(in srgb,var(--primary) 13%,var(--glass-soft))}:root[data-theme=light] .mobile-nav button.active svg{color:var(--accent);filter:none}@media(max-width:760px){.topbar{grid-template-columns:40px minmax(0,1fr) 88px}.topbar-actions{grid-column:3;grid-row:1;justify-self:start;margin:0!important}.mobile-more{grid-column:3;grid-row:1;justify-self:end;z-index:40}}
