.inbox-list--previews .inbox-item{align-items:center;gap:13px;padding:14px 8px}.inbox-list--previews .inbox-open{gap:12px;padding:0}.inbox-list--previews .inbox-heading{justify-content:space-between;align-items:baseline;gap:12px;min-width:0;display:flex}.inbox-list--previews .inbox-heading strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.inbox-list--previews .has-unread .inbox-heading strong{font-weight:750}.inbox-list--previews .inbox-time{font-variant-numeric:tabular-nums;color:var(--campus-muted,#75808a);white-space:nowrap;flex:none;font-size:10px}.inbox-list--previews .inbox-person small{color:var(--campus-muted,#75808a);margin-top:4px;font-size:10px;line-height:1.5}.inbox-list--previews .inbox-preview{-webkit-line-clamp:2;overflow-wrap:anywhere;color:var(--campus-muted,#697c8b);-webkit-box-orient:vertical;margin-top:5px;font-size:12px;line-height:1.55;display:-webkit-box;overflow:hidden}.inbox-list--previews .has-unread .inbox-preview{color:var(--campus-ink,#253e54)}.inbox-list--previews .inbox-count{text-align:center;align-self:center;min-width:24px;padding:4px 7px;font-size:10px;line-height:1.4}@media (max-width:480px){.inbox-list--previews .inbox-item{gap:10px;padding:12px 0}.inbox-list--previews .inbox-open{gap:9px}.inbox-list--previews .inbox-heading{gap:7px}.inbox-list--previews .inbox-heading strong{font-size:13px}}
.message-banners{z-index:110;pointer-events:none;width:min(370px,100vw - 32px);height:0;color:var(--campus-ink);background:0 0;border:0;padding:0;font-family:inherit;position:fixed;inset:84px 24px auto auto;overflow:visible}.message-banner-position{background:0 0;border:0;padding:0;transition:transform .4s cubic-bezier(.22,1,.36,1);position:absolute;inset:0 0 auto}.message-banners .message-banner{isolation:isolate;pointer-events:auto;border:1px solid var(--campus-line);background:var(--campus-surface);opacity:1;border-radius:24px;transition:opacity .25s,transform .3s cubic-bezier(.4,0,.2,1);animation:.45s cubic-bezier(.22,1,.36,1) notice-arrive;position:relative;overflow:hidden;transform:translate(0);box-shadow:0 10px 32px #132f5124}.message-banners .message-banner.leaving{opacity:0;pointer-events:none;transform:translate(26px)scale(.97)}.message-banners .message-banner>a{box-sizing:border-box;min-height:100px;color:inherit;align-items:center;gap:13px;padding:18px 38px 18px 17px;text-decoration:none;display:flex}.notice-avatar{aspect-ratio:1;color:#496683;background:linear-gradient(140deg,#e7edf5,#d2dfed);border-radius:50%;flex:0 0 46px;place-items:center;width:46px;min-width:46px;height:46px;font-size:14px;font-weight:600;display:inline-grid;position:relative;overflow:hidden}.notice-avatar img{object-fit:cover;border-radius:inherit;width:100%;height:100%;position:absolute;inset:0}.message-banners .banner-copy{flex:1;min-width:0}.message-banners .banner-copy small{color:var(--campus-muted);letter-spacing:.25px;text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;margin-bottom:5px;font-size:10px;line-height:1.4;display:block;overflow:hidden}.message-banners .banner-copy strong{margin-bottom:5px;font-size:14px;font-weight:650;line-height:1.4;display:block}.message-banners .banner-preview{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.message-banners .banner-dismiss{width:25px;height:25px;color:var(--campus-muted);background:var(--campus-soft);cursor:pointer;border:0;border-radius:50%;place-items:center;padding:4px;transition:background .2s,transform .2s;display:grid;position:absolute;top:10px;right:9px}.message-banners .banner-dismiss:hover{background:var(--campus-line);transform:rotate(90deg)}.message-banners :focus-visible{outline:2px solid var(--campus-accent);outline-offset:-3px}.inbox-item .notice-avatar{flex-basis:48px;width:48px;height:48px}.inbox-item .inbox-person{flex:1;min-width:0}.inbox-person strong{overflow-wrap:anywhere;font-size:15px}.inbox-person small{font-size:12px}.inbox-item .inbox-count{flex-shrink:0}@keyframes notice-arrive{0%{opacity:0;transform:translateY(-12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-width:680px){.message-banners{width:calc(100vw - 32px);top:72px;right:16px}.message-banners .message-banner>a{min-height:94px;padding:14px 34px 14px 14px}.message-banners .banner-preview{font-size:12px}.inbox-item .notice-avatar{flex-basis:40px;width:40px;min-width:40px;height:40px}.inbox-item{gap:12px}.inbox-person strong{font-size:14px}}@media (prefers-reduced-motion:reduce){.message-banner-position,.message-banners .message-banner,.message-banners .banner-dismiss{transition:none;animation:none}}.message-banners .message-banner{align-items:center;gap:13px;padding-left:17px;display:flex}.message-banners .message-banner>a{flex:1;min-width:0;padding-left:0}.inbox-item .inbox-open{min-width:0;color:inherit;flex:1;align-items:center;gap:14px;padding:12px 0;text-decoration:none;display:flex}.inbox-item{gap:14px}.inbox-open:focus-visible{outline:2px solid var(--campus-accent);outline-offset:3px;border-radius:8px}.home-contact{text-align:center;flex-direction:column;align-items:center;gap:9px;min-width:0;display:flex}.home-contact>a{color:inherit;flex-direction:column;align-items:center;gap:4px;width:100%;text-decoration:none;display:flex}.home-contact strong{overflow-wrap:anywhere;max-width:100%;font-size:11px;line-height:1.4}.home-contact small{color:var(--campus-muted);font-size:10px}.home-contact-unread{color:var(--campus-accent);font-size:9px;font-weight:500}.home-contact-list>.home-contact{flex:1;min-width:0}.home-contact-list .home-contact strong{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4;display:-webkit-box;overflow:hidden}
.hub-shell .campus-ribbon.ribbon-v2{--ribbon-tint:#eff3f8;--ribbon-ink:#3c607e;background:var(--ribbon-tint);color:var(--ribbon-ink);border:1px solid color-mix(in srgb,var(--ribbon-ink) 14%,transparent);min-height:52px;transition:background 1s,color .7s;position:relative}.hub-shell .ribbon-v2.tone-urgent{--ribbon-tint:#fbe9df;--ribbon-ink:#aa4a28}.hub-shell .ribbon-v2.tone-attention,.hub-shell .ribbon-v2.tone-published{--ribbon-tint:#fbf1db;--ribbon-ink:#976c29}.hub-shell .ribbon-v2.tone-personal,.hub-shell .ribbon-v2.tone-rank,.hub-shell .ribbon-v2.tone-graded{--ribbon-tint:#eaf4ef;--ribbon-ink:#417660}.hub-shell .ribbon-v2.tone-restful{--ribbon-tint:#eeeaf8;--ribbon-ink:#766395}.hub-shell .ribbon-v2.tone-expired{--ribbon-tint:#f0edf0;--ribbon-ink:#7e6471}.ribbon-v2 .ribbon-window{flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 14px calc(100% - 20px),#0000);mask-image:linear-gradient(90deg,#0000,#000 14px calc(100% - 20px),#0000)}.ribbon-v2 .ribbon-track{gap:0;width:max-content;animation:none;display:flex;transform:translate(0)}.ribbon-v2 .ribbon-track.is-moving{animation-name:ribbon-pass;animation-timing-function:linear;animation-iteration-count:1;animation-fill-mode:forwards}.ribbon-v2 .ribbon-copy{box-sizing:border-box;flex-shrink:0;justify-content:flex-start;align-items:center;gap:0;padding:0 24px;display:flex}.ribbon-v2 .ribbon-message{white-space:nowrap;align-items:center;gap:18px;min-height:50px;padding:0 14px 0 0;font-size:12px;display:flex}.ribbon-v2 .ribbon-kind{letter-spacing:.3px;background:#fff5;border-radius:14px;align-items:center;gap:6px;padding:5px 9px;font-size:10px;display:inline-flex}.ribbon-v2 .ribbon-countdown{background:color-mix(in srgb,var(--ribbon-ink) 12%,transparent);font-variant-numeric:tabular-nums;border-radius:12px;align-items:center;gap:7px;padding:6px 10px;font-size:12px;font-weight:650;display:flex}.ribbon-dial{opacity:.8;border:1px solid;border-radius:50%;width:21px;height:21px;display:inline-block;-webkit-mask-image:radial-gradient(circle,#0000 45%,#000 47%);mask-image:radial-gradient(circle,#0000 45%,#000 47%)}.ribbon-v2 .ribbon-subtitle{opacity:.75}.ribbon-v2 .ribbon-divider{opacity:.4;margin-left:18px}.ribbon-v2 .ribbon-controls{background:var(--ribbon-tint);flex-shrink:0;gap:4px;padding:0 10px;transition:background 1s;position:relative}.ribbon-v2 .ribbon-controls button{color:var(--ribbon-ink);width:30px;height:30px}.ribbon-v2 .ribbon-track.is-resting{animation:none;transform:none}@keyframes ribbon-pass{0%{transform:translate(-50%)}to{transform:translate(0)}}html[data-theme=dark] .hub-shell .ribbon-v2{--ribbon-tint:#233549;--ribbon-ink:#c4d8e8}html[data-theme=dark] .hub-shell .ribbon-v2.tone-personal,html[data-theme=dark] .hub-shell .ribbon-v2.tone-rank,html[data-theme=dark] .hub-shell .ribbon-v2.tone-graded{--ribbon-tint:#24403a;--ribbon-ink:#bddfd0}html[data-theme=dark] .hub-shell .ribbon-v2.tone-restful{--ribbon-tint:#3a3150;--ribbon-ink:#d7c9ef}html[data-theme=dark] .hub-shell .ribbon-v2.tone-attention{--ribbon-tint:#403923;--ribbon-ink:#efdcaf}html[data-theme=dark] .hub-shell .ribbon-v2.tone-urgent{--ribbon-tint:#482c32;--ribbon-ink:#ffd5ce}@media (prefers-reduced-motion:reduce){.ribbon-v2 .ribbon-track.is-moving{animation:none;transform:none}.hub-shell .campus-ribbon.ribbon-v2{transition:none}}@media (max-width:680px){.ribbon-v2 .ribbon-message{gap:12px;font-size:11px}.ribbon-v2 .ribbon-copy{padding:0 15px}.ribbon-v2 .ribbon-countdown{font-size:11px}.ribbon-v2 .ribbon-controls{padding:0 5px}}.hub-shell .ribbon-v2.tone-welcome{--ribbon-tint:#eaf0f6;--ribbon-ink:#345c7d}html[data-theme=dark] .hub-shell .ribbon-v2.tone-welcome{--ribbon-tint:#263c51;--ribbon-ink:#c8dfef}.ribbon-v2 .ribbon-message{min-height:52px}.ribbon-v2.is-still .ribbon-copy{width:100%;padding:10px 18px;min-width:0!important}.ribbon-v2.is-still .ribbon-copy[aria-hidden=true]{display:none}.ribbon-v2.is-still .ribbon-track{width:100%;animation:none;transform:none}.ribbon-v2.is-still .ribbon-message{white-space:normal;flex-wrap:wrap;gap:8px 14px;min-height:32px}.ribbon-v2.is-still .ribbon-divider{display:none}
.notifications-module__LxWOLW__center{color:var(--campus-ink);font-size:14px}.notifications-module__LxWOLW__intro{align-items:center;gap:12px;margin:0 0 24px;display:flex}.notifications-module__LxWOLW__introIcon{background:color-mix(in srgb,var(--campus-accent) 10%,var(--campus-surface));height:44px;color:var(--campus-accent);border:1px solid color-mix(in srgb,var(--campus-accent) 16%,var(--campus-line));border-radius:14px;flex:0 0 44px;place-items:center;display:grid}.notifications-module__LxWOLW__intro strong{font-size:15px;font-weight:650}.notifications-module__LxWOLW__intro p{color:var(--campus-muted);margin:4px 0 0;font-size:12px;line-height:1.5}.notifications-module__LxWOLW__newCount{background:var(--campus-soft);color:var(--campus-accent);white-space:nowrap;border-radius:7px;margin-left:auto;padding:5px 9px;font-size:11px;font-weight:650}.notifications-module__LxWOLW__center .notifications-module__LxWOLW__filters{border:1px solid var(--campus-line);background:var(--campus-soft);border-radius:12px;gap:4px;padding:4px;display:flex}.notifications-module__LxWOLW__center .notifications-module__LxWOLW__filters button{color:var(--campus-muted);font:inherit;background:0 0;border:1px solid #0000;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:8px;padding:10px 12px;font-size:12px;font-weight:600;display:flex}.notifications-module__LxWOLW__center .notifications-module__LxWOLW__filters button[aria-pressed=true]{background:var(--campus-surface);border-color:var(--campus-line);color:var(--campus-ink);box-shadow:0 2px 4px #00000006}.notifications-module__LxWOLW__filters button span{background:var(--campus-soft);font-variant-numeric:tabular-nums;border-radius:5px;padding:1px 5px;font-size:10px}.notifications-module__LxWOLW__preference{border-bottom:1px solid var(--campus-line);justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;padding:18px 2px 22px;display:flex}.notifications-module__LxWOLW__preference strong,.notifications-module__LxWOLW__preference div>span{display:block}.notifications-module__LxWOLW__preference strong{font-size:12px;font-weight:600}.notifications-module__LxWOLW__preference div>span{color:var(--campus-muted);margin-top:4px;font-size:11px;line-height:1.5}.notifications-module__LxWOLW__center .notifications-module__LxWOLW__switch{border:1px solid var(--campus-line);background:color-mix(in srgb,var(--campus-muted) 25%,var(--campus-surface));width:38px;min-width:38px;height:23px;box-shadow:none;border-radius:20px;flex:0 0 38px;padding:2px;transition:background .18s;display:block;position:relative}.notifications-module__LxWOLW__switch>span{background:#fff;border-radius:50%;width:17px;height:17px;transition:transform .18s;display:block;box-shadow:0 1px 3px #0003}.notifications-module__LxWOLW__center .notifications-module__LxWOLW__switch[aria-checked=true]{background:var(--campus-accent);border-color:var(--campus-accent)}.notifications-module__LxWOLW__switch[aria-checked=true]>span{transform:translate(14px)}.notifications-module__LxWOLW__center button:focus-visible{outline:2px solid var(--campus-accent);outline-offset:3px}.notifications-module__LxWOLW__empty{text-align:center;color:var(--campus-muted);flex-direction:column;align-items:center;gap:12px;padding:38px 20px 46px;display:flex}.notifications-module__LxWOLW__emptyArt{border:1px solid var(--campus-line);background:linear-gradient(150deg,var(--campus-surface),var(--campus-soft));width:78px;height:78px;color:var(--campus-accent);border-radius:24px;place-items:center;margin-bottom:8px;display:grid;position:relative;transform:rotate(-7deg);box-shadow:0 8px 20px #00000004}.notifications-module__LxWOLW__emptyArt>svg{transform:rotate(7deg)}.notifications-module__LxWOLW__orbit{border:4px solid var(--campus-surface);background:var(--campus-accent);border-radius:50%;width:17px;height:17px;position:absolute;top:-4px;right:-4px}.notifications-module__LxWOLW__center .notifications-module__LxWOLW__empty h3{letter-spacing:-.025em;color:var(--campus-ink);margin:0;font-size:19px;font-weight:650}.notifications-module__LxWOLW__empty p{text-wrap:pretty;max-width:310px;margin:0;font-size:13px;line-height:1.8}.notifications-module__LxWOLW__list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.notifications-module__LxWOLW__list>li{min-width:0}.notifications-module__LxWOLW__center .notifications-module__LxWOLW__card{--event:var(--campus-accent);border:1px solid var(--campus-line);background:var(--campus-surface);text-align:left;width:100%;color:var(--campus-ink);font:inherit;overflow-wrap:anywhere;border-radius:15px;flex-direction:column;gap:11px;padding:18px;transition:border-color .18s,background .18s;display:flex;box-shadow:0 2px 6px #00000002}.notifications-module__LxWOLW__center .notifications-module__LxWOLW__card[data-unread=true]{background:color-mix(in srgb,var(--event) 4%,var(--campus-surface));border-color:color-mix(in srgb,var(--event) 28%,var(--campus-line))}.notifications-module__LxWOLW__center .notifications-module__LxWOLW__card:hover{border-color:var(--event);background:color-mix(in srgb,var(--event) 7%,var(--campus-surface))}.notifications-module__LxWOLW__center .notifications-module__LxWOLW__card:disabled{opacity:.65;cursor:wait}.notifications-module__LxWOLW__cardTop{flex-wrap:wrap;align-items:center;gap:7px;width:100%;display:flex}.notifications-module__LxWOLW__cardTop time{color:var(--campus-muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:10px}.notifications-module__LxWOLW__category{color:var(--event);align-items:center;gap:6px;font-size:11px;font-weight:650;display:inline-flex}.notifications-module__LxWOLW__unreadDot{background:var(--event);border-radius:50%;flex-shrink:0;width:5px;height:5px}.notifications-module__LxWOLW__title{letter-spacing:-.01em;font-size:15px;font-weight:650;line-height:1.5}.notifications-module__LxWOLW__description{color:var(--campus-muted);font-size:12px;line-height:1.7}.notifications-module__LxWOLW__score{color:var(--event);font-variant-numeric:tabular-nums;margin-bottom:7px;font-size:23px;font-weight:650;line-height:1.3;display:block}.notifications-module__LxWOLW__score small{color:var(--campus-muted);font-size:13px;font-weight:500}.notifications-module__LxWOLW__context{color:var(--campus-muted);align-items:baseline;gap:7px;font-size:11px;line-height:1.5;display:flex}.notifications-module__LxWOLW__context>span{border:1px solid var(--campus-line);border-radius:5px;flex-shrink:0;padding:2px 5px;font-size:10px}.notifications-module__LxWOLW__action{color:var(--event);border-top:1px solid var(--campus-line);justify-content:space-between;align-items:center;margin-top:2px;padding-top:11px;font-size:11px;font-weight:650;display:flex}.notifications-module__LxWOLW__center .notifications-module__LxWOLW__graded{--event:#287955}.notifications-module__LxWOLW__center .notifications-module__LxWOLW__deadline{--event:#9a651c}.notifications-module__LxWOLW__center .notifications-module__LxWOLW__rank{--event:#7861b4}html[data-theme=dark] .notifications-module__LxWOLW__center .notifications-module__LxWOLW__graded{--event:#81c8a5}html[data-theme=dark] .notifications-module__LxWOLW__center .notifications-module__LxWOLW__deadline{--event:#e6b974}html[data-theme=dark] .notifications-module__LxWOLW__center .notifications-module__LxWOLW__rank{--event:#b4a1eb}.notifications-module__LxWOLW__error{background:var(--campus-soft);border:1px solid var(--campus-line);color:var(--campus-ink);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 0 18px;padding:12px 14px;font-size:12px;line-height:1.6;display:flex}.notifications-module__LxWOLW__center .notifications-module__LxWOLW__error button{background:var(--campus-surface);border:1px solid var(--campus-line);color:var(--campus-accent);font:inherit;border-radius:7px;padding:6px 10px}@media (max-width:420px){.notifications-module__LxWOLW__intro{gap:10px}.notifications-module__LxWOLW__newCount{display:none}.notifications-module__LxWOLW__center .notifications-module__LxWOLW__filters button{gap:6px;padding:10px 8px}.notifications-module__LxWOLW__center .notifications-module__LxWOLW__card{padding:15px}.notifications-module__LxWOLW__cardTop time{font-size:9px}.notifications-module__LxWOLW__context{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.notifications-module__LxWOLW__center *{transition:none!important}}.notifications-module__LxWOLW__wrapper .campus-side-panel-heading button{background:var(--campus-surface);color:var(--campus-ink);border-color:var(--campus-line)}.notifications-module__LxWOLW__switch:after{content:"";position:absolute;inset:-11px -3px}
.feedback-reminder-module__f4fRDa__banner{z-index:120;border:1px solid var(--campus-line,#dce2e8);background:var(--campus-card,#fff);width:min(360px,100vw - 32px);color:var(--campus-ink,#193047);border-radius:18px;padding:20px;font-size:14px;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 45px #132b4929}.feedback-reminder-module__f4fRDa__heading{align-items:flex-start;gap:8px;display:flex}.feedback-reminder-module__f4fRDa__heading>span{flex:1;align-items:center;gap:8px;font-weight:650;display:flex}.feedback-reminder-module__f4fRDa__heading button,.feedback-reminder-module__f4fRDa__disable,.feedback-reminder-module__f4fRDa__actions button{color:inherit;cursor:pointer;background:0 0;border:0;padding:4px}.feedback-reminder-module__f4fRDa__banner p{color:var(--campus-muted,#68798a);margin:12px 0;font-size:13px;line-height:1.6}.feedback-reminder-module__f4fRDa__actions{align-items:center;gap:14px;display:flex}.feedback-reminder-module__f4fRDa__actions a{color:#fff;background:#173c58;border-radius:9px;padding:10px 14px;font-weight:600}.feedback-reminder-module__f4fRDa__disable{color:var(--campus-muted,#68798a);margin-top:12px;font-size:11px}@media (max-width:600px){.feedback-reminder-module__f4fRDa__banner{right:16px;bottom:calc(16px + env(safe-area-inset-bottom))}}
.navigation-module__32BRLq__sidebar .hub-nav-group{gap:5px}.navigation-module__32BRLq__sidebar .hub-nav-label{align-items:center;gap:10px;font-weight:650;display:flex;letter-spacing:.16em!important}.navigation-module__32BRLq__sidebar .hub-nav-label:after{content:"";background:#ffffff18;flex:1;height:1px}.hub-shell .navigation-module__32BRLq__sidebar nav .navigation-module__32BRLq__navLink{color:#c4d9ee;border:1px solid #0000;border-radius:13px;gap:12px;min-height:48px;padding:9px 12px;text-decoration:none;transition:background .18s,border-color .18s;position:relative;transform:none}.hub-shell .navigation-module__32BRLq__sidebar nav .navigation-module__32BRLq__navLink>span:last-child{letter-spacing:.005em;font-size:13px;font-weight:550}.hub-shell .navigation-module__32BRLq__sidebar nav .navigation-module__32BRLq__navLink:hover{background:#ffffff0c;border-color:#ffffff12;transform:none}.hub-shell .navigation-module__32BRLq__sidebar nav .navigation-module__32BRLq__navLink:focus-visible{outline-offset:2px;outline:2px solid #f0cc8c}.hub-shell .navigation-module__32BRLq__sidebar nav .navigation-module__32BRLq__navLink[aria-current=page]{color:#f1d29a!important;background:linear-gradient(110deg,#ffffff16,#ffffff09)!important;border-color:#ffffff1c!important;box-shadow:0 4px 14px #07223c15!important}.navigation-module__32BRLq__navLink[aria-current=page]:after{content:"";background:#f0cc8c;border-radius:50%;width:5px;height:5px;position:absolute;top:calc(50% - 3px);right:10px}.hub-shell .navigation-module__32BRLq__sidebar nav .navigation-module__32BRLq__navLink .navigation-module__32BRLq__iconWell{color:#b5d1ed;background:#ffffff07;border:1px solid #ffffff0c;border-radius:9px;flex:0 0 32px;place-items:center;width:32px;height:32px;transition:background .18s,color .18s,border-color .18s;display:grid}.hub-shell .navigation-module__32BRLq__sidebar nav .navigation-module__32BRLq__navLink[aria-current=page] .navigation-module__32BRLq__iconWell{color:#f0cc8c;background:#eac48819;border-color:#eac48830}.hub-shell .navigation-module__32BRLq__sidebar nav .navigation-module__32BRLq__navLink:is(:hover,:focus-visible) .navigation-module__32BRLq__iconWell{color:#ffe0a6;background:#eac48814;border-color:#eac48824}.navigation-module__32BRLq__iconWell svg{width:22px;height:22px;overflow:visible}.navigation-module__32BRLq__iconWell svg *{transform-box:fill-box;transform-origin:50%}.navigation-module__32BRLq__iconWell .navigation-module__32BRLq__calendarPage{transform-origin:top}.navigation-module__32BRLq__iconWell :is(.navigation-module__32BRLq__barOne,.navigation-module__32BRLq__barTwo,.navigation-module__32BRLq__barThree){transform-origin:bottom}.navigation-module__32BRLq__navLink:is(:hover,:focus-visible) .navigation-module__32BRLq__calendarPage{animation:.65s ease-in-out navigation-module__32BRLq__pageTurn}.navigation-module__32BRLq__navLink:is(:hover,:focus-visible) .navigation-module__32BRLq__taskCheck{stroke-dasharray:16;animation:.6s ease-out navigation-module__32BRLq__checkDraw}.navigation-module__32BRLq__navLink:is(:hover,:focus-visible) .navigation-module__32BRLq__bookPage{animation:.6s ease-in-out navigation-module__32BRLq__pageTurn}.navigation-module__32BRLq__navLink:is(:hover,:focus-visible) .navigation-module__32BRLq__barOne{animation:.5s ease-out navigation-module__32BRLq__barGrow}.navigation-module__32BRLq__navLink:is(:hover,:focus-visible) .navigation-module__32BRLq__barTwo{animation:.6s ease-out navigation-module__32BRLq__barGrow}.navigation-module__32BRLq__navLink:is(:hover,:focus-visible) .navigation-module__32BRLq__barThree{animation:.7s ease-out navigation-module__32BRLq__barGrow}.navigation-module__32BRLq__navLink:is(:hover,:focus-visible) :is(.navigation-module__32BRLq__tableRows,.navigation-module__32BRLq__newsLines){stroke-dasharray:25;animation:.65s ease-out navigation-module__32BRLq__rowDraw}.navigation-module__32BRLq__navLink:is(:hover,:focus-visible) .navigation-module__32BRLq__dotOne{animation:.55s ease-in-out navigation-module__32BRLq__dotPulse}.navigation-module__32BRLq__navLink:is(:hover,:focus-visible) .navigation-module__32BRLq__dotTwo{animation:.55s ease-in-out 90ms navigation-module__32BRLq__dotPulse}.navigation-module__32BRLq__navLink:is(:hover,:focus-visible) .navigation-module__32BRLq__dotThree{animation:.55s ease-in-out .18s navigation-module__32BRLq__dotPulse}.navigation-module__32BRLq__navLink:is(:hover,:focus-visible) .navigation-module__32BRLq__homeLight{animation:.6s ease-out navigation-module__32BRLq__lightOn}.hub-header .navigation-module__32BRLq__breadcrumb{align-items:center;gap:9px;min-width:0;display:flex}.hub-header .navigation-module__32BRLq__breadcrumb .navigation-module__32BRLq__campusChip{background:var(--campus-soft);border:1px solid var(--campus-line);color:var(--campus-muted);border-radius:9px;flex-shrink:0;align-items:center;gap:7px;padding:7px 10px;font-size:12px;font-weight:600;text-decoration:none;transition:color .18s,border-color .18s;display:inline-flex}.hub-header .navigation-module__32BRLq__breadcrumb .navigation-module__32BRLq__campusChip:hover{color:var(--campus-accent);border-color:var(--campus-accent)}.navigation-module__32BRLq__campusChip:focus-visible{outline:2px solid var(--campus-accent);outline-offset:3px}.navigation-module__32BRLq__divider{color:var(--campus-muted);opacity:.65;flex-shrink:0}.hub-header .navigation-module__32BRLq__breadcrumb .navigation-module__32BRLq__currentPage{white-space:nowrap;text-overflow:ellipsis;border:1px solid color-mix(in srgb,var(--campus-accent) 18%,var(--campus-line));background:color-mix(in srgb,var(--campus-accent) 7%,var(--campus-surface));min-width:0;max-width:360px;color:var(--campus-ink);border-radius:9px;padding:7px 11px;font-size:13px;font-weight:650;display:block;overflow:hidden}@keyframes navigation-module__32BRLq__pageTurn{0%,to{opacity:1;transform:scaleY(1)}45%{opacity:.4;transform:scaleY(.08)}55%{opacity:.4;transform:scaleY(.08)}}@keyframes navigation-module__32BRLq__checkDraw{0%{stroke-dashoffset:16px;opacity:.3}to{stroke-dashoffset:0;opacity:1}}@keyframes navigation-module__32BRLq__barGrow{0%{transform:scaleY(.25)}to{transform:scaleY(1)}}@keyframes navigation-module__32BRLq__rowDraw{0%{stroke-dashoffset:25px;opacity:.25}to{stroke-dashoffset:0;opacity:1}}@keyframes navigation-module__32BRLq__dotPulse{50%{fill:currentColor;transform:translateY(-2px)}}@keyframes navigation-module__32BRLq__lightOn{0%{opacity:.1}to{opacity:1;stroke:#ffe0a6}}@media (max-width:1100px) and (min-width:801px){.hub-shell .navigation-module__32BRLq__sidebar nav .navigation-module__32BRLq__navLink{gap:8px;padding:8px}.navigation-module__32BRLq__navLink[aria-current=page]:after{right:6px}.hub-header .navigation-module__32BRLq__breadcrumb .navigation-module__32BRLq__campusChip{padding:7px}.hub-header .navigation-module__32BRLq__breadcrumb .navigation-module__32BRLq__currentPage{max-width:185px}}@media (max-width:800px){.hub-header .navigation-module__32BRLq__breadcrumb{display:none}}@media (prefers-reduced-motion:reduce){.navigation-module__32BRLq__navLink *{transition:none!important;animation:none!important}.navigation-module__32BRLq__navLink,.navigation-module__32BRLq__campusChip{transition:none!important}}
.navigation-scene-module__3UGOKq__well{--paper:#f8f3e9;--ink:#153d60;--blue:#123c63;--gold:#efc47e}.navigation-scene-module__3UGOKq__well svg.navigation-scene-module__3UGOKq__scene{stroke-linecap:round;stroke-linejoin:round;width:32px;height:32px;display:block;overflow:visible}.navigation-scene-module__3UGOKq__well svg.navigation-scene-module__3UGOKq__scene *{transform-box:view-box;transform-origin:0 0}.navigation-scene-module__3UGOKq__scene .navigation-scene-module__3UGOKq__outline{stroke:currentColor;stroke-width:3px;fill:none}.navigation-scene-module__3UGOKq__scene .navigation-scene-module__3UGOKq__thin{stroke-width:2px}.navigation-scene-module__3UGOKq__scene .navigation-scene-module__3UGOKq__paper{fill:var(--paper);stroke:none}.navigation-scene-module__3UGOKq__scene .navigation-scene-module__3UGOKq__paper-edge{fill:var(--paper);stroke:#d9d2c5;stroke-width:1.4px}.navigation-scene-module__3UGOKq__scene .navigation-scene-module__3UGOKq__paper-ink{stroke:var(--ink);fill:none;stroke-width:2.7px}.navigation-scene-module__3UGOKq__scene .navigation-scene-module__3UGOKq__soft-ink{stroke:#8a9cac;fill:none;stroke-width:1.7px}.navigation-scene-module__3UGOKq__scene .navigation-scene-module__3UGOKq__gold-fill{fill:var(--gold)}.navigation-scene-module__3UGOKq__scene .navigation-scene-module__3UGOKq__blue-fill{fill:var(--blue)}.navigation-scene-module__3UGOKq__scene text{text-anchor:middle;fill:var(--ink);font-family:Arial,Helvetica,sans-serif;font-weight:600}.navigation-scene-module__3UGOKq__scene .navigation-scene-module__3UGOKq__sketch{fill:none;stroke:currentColor;stroke-width:1.65px}.navigation-scene-module__3UGOKq__scene .navigation-scene-module__3UGOKq__sketch-detail{fill:none;stroke:currentColor;stroke-width:1.1px}.navigation-scene-module__3UGOKq__scene .navigation-scene-module__3UGOKq__news-rule{fill:none;stroke:var(--ink);stroke-width:1.05px;opacity:.56}.navigation-scene-module__3UGOKq__scene[data-navigation-scene=news] .navigation-scene-module__3UGOKq__sketch{stroke-width:2.5px}.navigation-scene-module__3UGOKq__scene[data-navigation-scene=news] .navigation-scene-module__3UGOKq__sketch-detail{stroke-width:1.8px}
.hub-shell{--hub-ink:#172840;--hub-muted:#77808e;--hub-accent:#b17a30;--hub-line:#e9e5de;--hub-paper:#fffefa;min-height:100vh;color:var(--hub-ink);background:#f7f6f2}.hub-shell button,.hub-shell a{transition:background .2s,color .2s,box-shadow .2s,transform .2s}.hub-shell button:disabled{cursor:not-allowed;opacity:.45}.hub-sidebar{color:#e9eef5;z-index:30;background:linear-gradient(160deg,#082442,#061b34);flex-direction:column;width:242px;padding:30px 14px;display:flex;position:fixed;inset:0 auto 0 0}.hub-sidebar .brand{padding:0 7px;font-size:21px}.hub-sidebar .brand-star{font-size:38px}.hub-sidebar .brand-copy small{color:#9aaec4;font-size:8px}.hub-nav-label{letter-spacing:1.7px;color:#7d94ae;padding:35px 15px 13px;font-size:9px}.hub-sidebar nav{gap:8px;display:grid}.hub-sidebar nav a{color:#b9c9da;border-radius:10px;align-items:center;gap:18px;padding:16px 18px;font-size:22px;display:flex}.hub-sidebar nav a span{font-size:13px}.hub-sidebar nav a:hover{background:#17344f;transform:translate(3px)}.hub-sidebar nav a.is-active{color:#fff;background:linear-gradient(105deg,#b3823e,#895c29);box-shadow:inset 0 0 0 1px #dbad68}.hub-sidebar-note{margin-top:auto;padding:40px 17px 12px}.hub-sidebar-note>span{color:#d6a358;margin-bottom:15px;font-size:46px;display:block}.hub-sidebar-note strong{font-size:13px}.hub-sidebar-note p{color:#8ea4bb;font-size:12px;line-height:1.8}.hub-sidebar-note small{letter-spacing:1.5px;color:#6e879f;font-size:8px}.hub-body{margin-left:242px}.hub-header{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-color:var(--hub-line);z-index:20;background:#fffefaeb;height:76px;padding:0 28px;position:sticky;top:0}.hub-crumb{align-items:center;gap:17px;min-width:0;font-size:12px;display:flex}.hub-crumb>a{color:#a3763e;white-space:nowrap}.hub-crumb>span{color:#a1a6ac}.hub-crumb strong{text-overflow:ellipsis;white-space:nowrap;max-width:650px;font-weight:500;overflow:hidden}.hub-profile{white-space:nowrap;margin-left:auto;font-size:12px}.hub-profile span{color:#a3763e;margin-left:10px}.hub-menu{display:none}.hub-main{max-width:1850px;padding:24px 22px 36px}.hub-search{border:1px solid var(--hub-line);background:#fffefa;border-radius:12px;align-items:center;gap:12px;max-width:730px;margin:0 0 22px;padding:9px 15px;display:flex;box-shadow:0 4px 20px #122d4403}.hub-search>span{color:#9ca7b5;font-size:24px}.hub-search input{flex:1;min-width:0;background:0 0!important;border:0!important;outline:none!important;margin:0!important;padding:5px!important;font-size:12px!important}.hub-search kbd{color:#8b929b;white-space:nowrap;font-size:9px}.hub-search button{color:#8b929b;background:0 0;border:0;font-size:21px}.hub-columns{grid-template-columns:minmax(0,1fr) 292px;gap:22px;display:grid}.hub-primary{min-width:0}.hub-course-hero{border:1px solid var(--hub-line);background:var(--hub-paper);border-radius:18px;align-items:center;gap:23px;padding:23px;display:flex;box-shadow:0 5px 25px #1c345008}.hub-course-art{color:#d5aa69;background:radial-gradient(at 60% 80%,#285b73,#061c37 70%);border-radius:13px;place-items:center;width:148px;min-width:148px;height:185px;display:grid;position:relative;overflow:hidden}.hub-course-art:before,.hub-course-art:after{content:"";border:1px solid #d2b27a44;border-radius:50%;width:180px;height:180px;position:absolute;transform:rotate(-35deg)scaleX(.45)}.hub-course-art:after{transform:rotate(35deg)scaleX(.5)}.hub-course-art>span{z-index:1;font-size:64px;font-weight:300}.hub-course-art small{letter-spacing:2px;color:#91a5b4;font-size:7px;position:absolute;bottom:17px}.hub-art-orbit{border:1px dotted #d2b27a66;border-radius:50%;width:200px;height:200px;animation:50s linear infinite hub-orbit;position:absolute}.hub-course-copy{flex:1;min-width:0}.hub-eyebrow{letter-spacing:1.3px;color:#aa803f;margin-bottom:12px;font-size:8px}.hub-course-copy h1{letter-spacing:-.7px;margin:0 0 13px;font-size:clamp(21px,1.85vw,31px);font-weight:650;line-height:1.18}.hub-course-copy>p{color:#75808f;margin:0 0 17px;font-size:12px;line-height:1.7}.hub-teacher{align-items:center;gap:9px;display:flex}.hub-teacher>span{text-align:center;color:#aa8751;background:#f2ede3;border-radius:50%;width:36px;height:36px;font-size:29px}.hub-teacher small,.hub-teacher strong{display:block}.hub-teacher small{color:#8b929a;margin-bottom:3px;font-size:9px}.hub-teacher strong{font-size:11px;font-weight:500}.hub-hero-actions{flex-direction:column;gap:10px;width:160px;min-width:150px;display:flex}.hub-shell button:not(.hub-metric):not(.hub-material-button):not(.hub-task-row){font:inherit}.hub-hero-actions>*{text-align:center;background:0 0;border:1px solid #d7c5a8;border-radius:9px;padding:12px 10px;line-height:1.4;font-size:11px!important}.hub-primary-button{box-shadow:0 6px 16px #0a294522;color:#fff!important;background:linear-gradient(105deg,#143655,#08233e)!important;border-color:#08233e!important}.hub-hero-actions>:hover{transform:translateY(-2px);box-shadow:0 8px 20px #20304410}.hub-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:17px 0;display:grid}.hub-metric{text-align:left;background:var(--hub-paper);border:1px solid var(--hub-line);border-radius:14px;flex-direction:column;min-width:0;padding:20px 18px 16px;display:flex;box-shadow:0 4px 12px #17314b04}.hub-metric:hover{transform:translateY(-3px);box-shadow:0 10px 25px #17314b0c}.hub-metric>small{color:#47586c;min-height:16px;font-size:10px}.hub-metric-body{align-items:center;gap:12px;margin:17px 0;display:flex}.hub-progress-ring{border-radius:50%;place-items:center;width:67px;min-width:67px;height:67px;display:grid;box-shadow:0 0 0 5px #f8f6f1}.hub-progress-ring b{background:var(--hub-paper);border-radius:50%;place-items:center;width:54px;height:54px;font-size:16px;display:grid}.hub-metric-body strong{font-size:20px;font-weight:600}.hub-metric-body small{color:var(--hub-muted);margin-top:5px;font-size:10px;display:block}.hub-metric-date{margin:19px 0 4px;font-size:19px;line-height:1.3}.hub-metric-number{margin-top:15px;font-size:30px;font-weight:500}.hub-metric p{color:var(--hub-muted);margin:7px 0 15px;font-size:10px;line-height:1.6}.hub-metric-link{color:#a37534;margin-top:auto;font-size:10px}.hub-muted{color:var(--hub-muted);font-size:11px;line-height:1.7}.hub-metric>.hub-muted{margin-top:auto;font-size:10px}.hub-panel{border:1px solid var(--hub-line);background:var(--hub-paper);border-radius:14px;margin-bottom:16px;padding:22px;box-shadow:0 4px 16px #17314b04}.hub-section-head{justify-content:space-between;align-items:center;gap:15px;margin-bottom:17px;display:flex}.hub-section-head h2{font-size:14px;font-weight:600}.hub-section-head h3{font-size:13px}.hub-section-head p{margin:5px 0 0}.hub-section-head>button,.hub-row-actions>button,.hub-actions>button,.hub-attendance button{color:#806035;background:#f5f0e6;border:1px solid #e4d9c7;border-radius:7px;padding:8px 11px;font-size:11px!important}.hub-content{scroll-margin-top:95px}.hub-tabs{border:1px solid var(--hub-line);background:var(--hub-paper);scrollbar-width:thin;border-bottom:0;border-radius:14px 14px 0 0;gap:20px;padding:0 22px;display:flex;overflow:auto}.hub-tabs button{white-space:nowrap;color:#758094;background:0 0;border:0;padding:19px 0 16px;position:relative;font-size:11px!important}.hub-tabs button:after{content:"";background:var(--hub-accent);height:2px;transition:left .25s,right .25s;position:absolute;bottom:0;left:50%;right:50%}.hub-tabs button.selected{color:#896128;font-weight:600!important}.hub-tabs button.selected:after{left:0;right:0}.hub-tab-content{animation:.32s both hub-enter}.hub-tab-content>.hub-panel:first-child{border-radius:0 0 14px 14px}.hub-task-row{border-top:1px solid #efebe4;align-items:center;gap:15px;padding:18px 0;display:flex}.hub-task-row:hover{background:#f7f4ed;border-radius:8px;transform:translate(3px)}.hub-task-icon{color:#476685;background:#e9edf4;border-radius:10px;place-items:center;width:41px;min-width:41px;height:43px;font-size:24px;display:grid}.hub-task-icon.graded{color:#36874e;background:#e4f2e6}.hub-task-icon.review{color:#436aca;background:#e5ebfb}.hub-task-icon.overdue{color:#c68a24;background:#fff1dc}.hub-task-copy{flex:1;min-width:0}.hub-task-copy h3{margin:0 0 5px;font-size:12px;font-weight:600}.hub-task-copy p{color:#7c8492;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:500px;margin:0 0 5px;font-size:10px;line-height:1.7;display:-webkit-box;overflow:hidden}.hub-task-copy>small{color:#87909b;font-size:9px}.hub-task-end{text-align:right;min-width:105px}.hub-task-end>small{color:#7d8795;margin-top:9px;font-size:9px;display:block}.hub-task-row>span:last-child{color:#ac9169;font-size:14px}.hub-badge{color:#788191;white-space:nowrap;background:#f0f1f3;border-radius:6px;padding:5px 8px;font-size:9px;display:inline-block}.hub-badge.graded{color:#448951;background:#e7f3e8}.hub-badge.review{color:#4a69b4;background:#e8edfc}.hub-badge.overdue{color:#b77c21;background:#fff2df}.hub-badge.draft{color:#927444;background:#eee9e0}.hub-filter{color:#808a97;min-width:130px;font-size:9px}.hub-shell input,.hub-shell select,.hub-shell textarea{font:inherit;color:#25374c;background:#fffefa;border:1px solid #dfded8;border-radius:8px;max-width:100%;padding:10px 11px;font-size:12px}.hub-shell label:not(.course-check){flex-direction:column;gap:7px;margin-bottom:13px;font-size:11px;display:flex}.hub-shell textarea{resize:vertical}.hub-filter select{padding:8px;font-size:10px}.hub-right{min-width:0}.hub-upcoming{gap:12px;margin:23px 0 0;display:flex}.hub-upcoming>span{color:#657c9b;font-size:21px}.hub-upcoming>span.is-deadline{color:#bc8231}.hub-upcoming small{color:#84909e;margin-bottom:8px;font-size:9px;display:block}.hub-upcoming a,.hub-upcoming button{text-align:left;font-weight:500;line-height:1.6;display:block;font-size:11px!important}.hub-upcoming p{color:#7f8996;margin:7px 0 0;font-size:10px}.hub-text-button{color:#997237;text-align:left;background:0 0!important;border:0!important;padding:0!important;font-size:11px!important}.hub-calendar .hub-section-head h2{text-transform:capitalize;font-size:14px}.hub-calendar-arrows{gap:7px;display:flex}.hub-calendar-arrows button{color:#52627a;background:0 0;border:0;padding:0 5px;font-size:24px!important}.hub-week,.hub-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.hub-week{text-align:center;color:#959ca7;margin-bottom:13px;font-size:9px}.hub-days button{aspect-ratio:1;color:#394d67;background:0 0;border:0;border-radius:50%;min-width:0;padding:0;position:relative;font-size:11px!important}.hub-days button:hover{background:#efe8dc;transform:scale(1.08)}.hub-days button.outside{color:#b9bdc4}.hub-days button.selected{color:#fff;background:#173857;box-shadow:0 0 0 3px #ede4d5}.hub-days button[aria-current=date]:not(.selected){box-shadow:inset 0 0 0 1px #be9860}.hub-event-dots{justify-content:center;gap:3px;display:flex;position:absolute;bottom:3px;left:0;right:0}.hub-event-dots i{background:#7998bf;border-radius:50%;width:3px;height:3px}.hub-event-dots i.deadline{background:#d29e45}.hub-calendar-legend{color:#718ba9;flex-wrap:wrap;gap:10px;margin:18px 0;font-size:8px;display:flex}.hub-calendar-legend>span:nth-child(2){color:#b4833d}.hub-calendar-legend button{color:#8b6a36;background:0 0;border:0;margin-left:auto;padding:0;font-size:9px!important}.hub-day-agenda{border-top:1px solid var(--hub-line);padding-top:14px;font-size:10px}.hub-day-agenda>strong{font-size:10px}.hub-day-agenda>p{color:#949ba4;font-size:10px}.hub-day-agenda>div{margin-top:10px}.hub-day-agenda small{color:#949ba4;margin-top:5px;font-size:9px;display:block}.hub-note{color:#7c776e;padding:24px 18px}.hub-note>span{color:#bb945b;font-size:34px}.hub-note h3{color:#575b60;font-size:13px}.hub-note p{font-size:11px;line-height:1.8}.hub-empty{text-align:center;color:#9298a0;padding:34px 15px;font-size:12px;line-height:1.8}.hub-empty>span{color:#b89b6d;font-size:35px}.hub-empty h3{color:#617084;font-size:14px}.hub-empty a{color:#a27c41}.hub-footnote{color:#93999e;padding:0 8px;font-size:9px;line-height:1.8}.hub-search-results>a,.hub-search-results>button{text-align:left;border:0;border-top:1px solid var(--hub-line);background:0 0;justify-content:space-between;gap:12px;width:100%;padding:12px 0;display:flex;font-size:12px!important}.hub-search-results small{color:#959ba3;font-size:9px}.hub-materials{grid-template-columns:190px minmax(0,1fr);gap:25px;display:grid}.hub-material-button{text-align:left;color:#58697d;background:#f6f3ed;border:0;border-radius:7px;width:100%;margin-bottom:7px;padding:12px;font-size:11px;display:block}.hub-material-button[aria-pressed=true]{color:#89652f;background:#eee4d2}.hub-material-button small{margin-top:5px;display:block}.hub-lesson-form{background:#f8f5ef;border:1px solid #e7ded1;border-radius:12px;margin-bottom:20px;padding:20px}.hub-lesson-form h3{margin-top:0;font-size:14px}.hub-form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.hub-actions{gap:10px;margin-top:15px;display:flex}.hub-lesson-row{border-top:1px solid var(--hub-line);align-items:center;gap:15px;padding:17px 0;display:flex}.hub-date-tile{text-align:center;color:#a3875b;background:#f3ede1;border-radius:9px;width:42px;min-width:42px;padding:9px 3px;font-size:9px}.hub-date-tile strong{color:#866732;font-size:20px;font-weight:500;display:block}.hub-lesson-row>div:nth-child(2){flex:1}.hub-lesson-row h3{margin:5px 0;font-size:12px}.hub-lesson-row small{color:#8390a1;font-size:9px}.hub-lesson-row p{color:#7c8797;margin:5px 0;font-size:10px}.hub-row-actions{flex-direction:column;gap:7px;display:flex}.hub-row-actions button{font-size:9px!important}.hub-lesson-row.is-cancelled{opacity:.5}.hub-attendance{border-top:2px solid #e7dbc6;margin-top:15px;padding-top:20px}.hub-attendance-row{border-bottom:1px solid var(--hub-line);justify-content:space-between;align-items:center;padding:10px;flex-direction:row!important;display:flex!important}.hub-attendance-row select{max-width:200px}.hub-loading{text-align:center;color:#8b8d8f;background:linear-gradient(100deg,#f0ece5,#fffefa,#f0ece5) 0 0/200% 100%;border-radius:16px;padding:80px 25px;animation:1.8s infinite hub-shimmer}.hub-list-search{max-width:500px}.hub-body .admin-shell{background:0 0}.hub-body .admin-header{display:none}.hub-body .admin-main{max-width:none;margin:0;padding:0}.hub-calendar-select{max-width:480px}.hub-main>.hub-calendar{max-width:700px}.hub-main>.hub-calendar .hub-days button{aspect-ratio:auto;height:55px;max-height:55px}.hub-tab-content>.hub-calendar{max-width:600px}.hub-tab-content>.hub-calendar .hub-days button{aspect-ratio:auto;height:45px}@keyframes hub-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes hub-orbit{to{transform:rotate(360deg)}}@keyframes hub-shimmer{to{background-position:-200% 0}}@media (min-width:1600px){.hub-course-art{width:190px;min-width:190px;height:200px}.hub-hero-actions{width:190px}.hub-course-hero{padding:25px}.hub-columns{grid-template-columns:minmax(0,1fr) 320px}.hub-main{padding:25px 28px}.hub-metric{padding:24px}.hub-metric-body{gap:18px}}@media (max-width:1250px){.hub-columns{grid-template-columns:minmax(0,1fr)}.hub-right{grid-template-columns:1fr 1fr;gap:16px;display:grid}.hub-right .hub-note{display:none}.hub-course-art{width:125px;min-width:125px;height:160px}.hub-metrics{gap:10px}.hub-metric{padding:17px 13px}.hub-progress-ring{width:55px;min-width:55px;height:55px}.hub-progress-ring b{width:44px;height:44px;font-size:13px}}@media (max-width:800px){.hub-sidebar{width:210px;transition:transform .25s;transform:translate(-100%)}.hub-sidebar.is-open{top:66px;transform:translate(0);box-shadow:20px 0 70px #071e3444}.hub-body{margin-left:0}.hub-menu{color:#25435e;background:0 0;border:0;display:block;font-size:22px!important}.hub-header{gap:14px;height:66px;padding:0 15px}.hub-profile{font-size:10px}.hub-crumb strong{max-width:240px}.hub-main{padding:18px 15px}.hub-course-copy h1{font-size:24px}.hub-course-art{width:110px;min-width:110px;height:145px}.hub-course-hero{gap:17px;padding:20px}.hub-hero-actions{width:135px;min-width:135px}.hub-search kbd{display:none}.hub-metrics{grid-template-columns:1fr 1fr}.hub-metric{padding:20px}.hub-metric-body{margin:16px 0}.hub-metric p{min-height:25px}.hub-tabs{gap:20px;padding:0 18px}.hub-panel{padding:18px}.hub-materials{grid-template-columns:1fr}.hub-calendar-select{width:100%}}@media (max-width:520px){.hub-crumb strong{max-width:125px}.hub-crumb{gap:9px;font-size:10px}.hub-course-hero{flex-wrap:wrap;padding:18px}.hub-course-art{width:65px;min-width:65px;height:95px}.hub-course-art>span{font-size:35px}.hub-course-art small{display:none}.hub-course-copy{width:calc(100% - 85px)}.hub-course-copy h1{font-size:21px;line-height:1.3}.hub-course-copy>p{font-size:11px}.hub-hero-actions{flex-flow:wrap;width:100%}.hub-hero-actions>*{flex:1;min-width:120px}.hub-eyebrow{font-size:7px}.hub-metric{padding:17px 14px}.hub-metric-date{font-size:18px}.hub-metric-number{font-size:26px}.hub-right{grid-template-columns:1fr}.hub-task-row{flex-wrap:wrap;gap:9px}.hub-task-icon{width:32px;min-width:32px;height:36px;font-size:21px}.hub-task-copy{flex:auto;width:calc(100% - 55px)}.hub-task-end{text-align:left;flex:1;align-items:center;gap:10px;margin-left:41px;display:flex}.hub-task-end>small{margin:0}.hub-section-head{align-items:flex-start}.hub-filter{min-width:110px}.hub-form-grid{grid-template-columns:1fr}.hub-attendance-row{align-items:flex-start!important}.hub-attendance-row select{max-width:160px;font-size:10px}.hub-lesson-row{flex-wrap:wrap}.hub-row-actions{flex-direction:row;margin-left:57px}.hub-search-results>a,.hub-search-results>button{flex-wrap:wrap}.hub-progress-ring{width:49px;min-width:49px;height:49px}.hub-progress-ring b{width:39px;height:39px;font-size:11px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.hub-shell *,.hub-shell :before,.hub-shell :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.hub-course-create{max-width:650px;margin-top:30px}.hub-course-create h2{margin-bottom:20px}.hub-course-create button{border:1px solid #193957;border-radius:8px;padding:12px 18px}.hub-shell .files-panel,.hub-shell .course-create{background:var(--hub-paper);border-color:var(--hub-line)}.hub-sidebar{overflow-y:auto}.hub-sidebar nav,.hub-sidebar-note{flex-shrink:0}.hub-tabs{z-index:12;border:1px solid var(--hub-line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffefaef;border-radius:14px;gap:5px;width:fit-content;max-width:100%;margin-bottom:14px;padding:6px;position:sticky;top:88px;box-shadow:0 6px 26px #21354c0b}.hub-tabs button{border-radius:9px;padding:12px 18px;transition:background-color .22s,color .22s,box-shadow .22s}.hub-tabs button.selected{color:#fff;background:#19354c;box-shadow:0 2px 5px #19354c12}.hub-tabs button:after{display:none}@media (max-width:800px){.hub-tabs{top:76px}.hub-tabs button{padding:11px 13px}}.hub-tabs.sliding-navigation{isolation:isolate}.sliding-navigation-indicator{pointer-events:none;z-index:-1;background:#19354c;border-radius:9px;transition:transform .28s cubic-bezier(.2,.8,.2,1),width .28s cubic-bezier(.2,.8,.2,1);position:absolute;top:6px;bottom:6px;left:0}.hub-tabs.sliding-navigation button.selected{box-shadow:none;background:0 0}@media (prefers-reduced-motion:reduce){.sliding-navigation-indicator{transition:none}}@media (max-width:650px){.hub-header .hub-crumb{display:none}.hub-header{gap:10px}.hub-header .hub-menu{flex-shrink:0}.hub-header .inbox-trigger{margin-left:auto;padding:9px 11px;font-size:12px}.hub-header .notice-wrap,.hub-header .hub-profile{margin-left:0}}
.service-student-module__jsIGQa__notice{border-bottom:1px solid var(--campus-line,#dae3eb);background:var(--campus-surface,#fffdfa);color:var(--campus-muted,#5b6f84);flex-wrap:wrap;align-items:center;gap:6px 14px;padding:12px 24px;font-size:13px;line-height:1.5;display:flex}.service-student-module__jsIGQa__notice strong{color:var(--campus-ink,#19364d)}
.hub-sidebar{background:linear-gradient(155deg,#102940,#071c32 85%);width:218px;padding:22px 12px}.hub-sidebar .brand{gap:10px;font-size:20px}.hub-sidebar .brand-star{font-size:38px}.hub-sidebar .brand-copy small{white-space:nowrap;font-size:8px}.hub-nav-label{padding:29px 14px 12px}.hub-sidebar nav{gap:5px}.hub-sidebar nav a{border-radius:9px;gap:16px;padding:13px 15px}.hub-sidebar nav a.is-active{background:linear-gradient(105deg,#b68943,#936b31);box-shadow:inset 0 0 0 1px #e0b87855}.hub-sidebar-note{padding:28px 12px 8px}.hub-sidebar-note .campus-building{color:#a5bbce;width:100%;height:auto;margin:0 0 13px;display:block}.hub-sidebar-note p{margin:8px 0 14px;font-size:11px;line-height:1.7}.hub-sidebar-note>a{color:#a8b8c7;border-top:1px solid #ffffff20;align-items:center;gap:6px;padding-top:13px;font-size:10px;display:flex}.hub-body{margin-left:218px}.hub-header{align-items:center;gap:18px;height:64px;padding:0 24px;display:flex}.hub-crumb{flex:1;gap:12px;min-width:80px}.hub-crumb strong{max-width:300px}.hub-main{max-width:2000px;margin:auto;padding:22px 24px 32px}.campus-header-actions{align-items:center;gap:17px;min-width:0;display:flex}.campus-search-trigger{color:#71849a;cursor:pointer;text-align:left;background:#fffefa;border:1px solid #dce2e6;border-radius:9px;align-items:center;gap:10px;width:clamp(190px,25vw,340px);padding:10px 12px;display:flex}.campus-search-trigger>span{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.campus-search-trigger>svg{flex:none}.campus-search-trigger>kbd{white-space:nowrap;color:#8b99a6;margin-left:auto;font-size:10px}.campus-header-actions .inbox-trigger{color:#284661;cursor:pointer;background:0 0;border:0;margin:0;padding:8px;position:relative}.inbox-trigger-label{display:none}.header-unread{color:#fff;background:#b98a3b;border-radius:10px;min-width:15px;font-size:9px;line-height:15px;position:absolute;top:0;right:-3px}.campus-header-actions .notice-wrap{margin:0}.campus-header-actions .notice-toggle{width:36px;height:38px;position:relative;background:0 0!important;border:0!important;padding:8px!important}.campus-header-actions .notice-count{min-width:14px;font-size:9px;line-height:14px;top:0;right:0}.campus-identity{color:#20394f;white-space:nowrap;align-items:center;gap:9px;min-height:40px;font-size:12px;display:flex}.campus-avatar{aspect-ratio:1;color:#5b6b7b;background:linear-gradient(145deg,#f2e9da,#d9e4ed);border-radius:50%;flex:none;place-items:center;width:36px;min-width:36px;height:36px;min-height:36px;font-size:12px;font-weight:600;display:grid;position:relative;overflow:hidden;box-shadow:0 0 0 2px #fff,0 0 0 3px #e6e5df}.campus-avatar img{border-radius:inherit;object-fit:cover;width:100%;max-width:none;height:100%;max-height:none;display:block;position:absolute;inset:0}.campus-identity-name{text-overflow:ellipsis;max-width:135px;overflow:hidden}.campus-search-input input{padding:14px!important;font-size:15px!important}.campus-search-results{gap:4px;display:grid}.campus-search-results>a{border-bottom:1px solid #e8e8e3;border-radius:9px;align-items:center;gap:14px;padding:15px 10px;display:flex}.campus-search-results>a:hover{background:#f1f5f8}.campus-search-results>a>span{flex:1;min-width:0}.campus-search-results strong{font-size:14px;font-weight:550;line-height:1.5}.campus-search-results small{color:#7c8d9c;margin-top:5px;font-size:11px;display:block}.campus-ribbon{background:#edf2f6;gap:12px;min-height:54px;padding:5px 22px;font-size:12px;position:relative}.campus-ribbon.graded{color:#2d634a;background:#e8f3ec}.campus-ribbon.rank{color:#755a26;background:#f4ecd9}.campus-ribbon.published{color:#365a81;background:#e9f0f9}.ribbon-track .ribbon-message{gap:13px;padding:8px 20px}.ribbon-track strong{font-size:12px}.ribbon-message>span{font-size:11px}.ribbon-kind{letter-spacing:.06em;align-items:center;gap:6px;padding:4px 7px;display:inline-flex;font-size:9px!important}.ribbon-graded .ribbon-kind{color:#397b55;background:#e1f1e8}.ribbon-rank .ribbon-kind{color:#8c6b30;background:#f3e8ca}.ribbon-published .ribbon-kind{color:#436d9e;background:#e0ebf9}.ribbon-controls{gap:5px}.ribbon-controls button{place-items:center;min-width:30px;min-height:30px;padding:5px;display:grid}.ribbon-divider{margin:0 12px}.campus-ribbon .ribbon-window:focus-within .ribbon-track{animation:none;transform:none}.campus-ribbon .ribbon-window:focus-within{overflow-x:auto;-webkit-mask-image:none;mask-image:none}@media (min-width:1750px){.hub-sidebar{width:242px}.hub-body{margin-left:242px}.hub-sidebar nav a{padding:15px 18px}.hub-main{padding:26px 32px}.hub-header{padding:0 32px}}@media (max-width:1100px) and (min-width:801px){.hub-sidebar{width:184px;padding:20px 8px}.hub-body{margin-left:184px}.hub-sidebar .brand{gap:7px;font-size:17px}.hub-sidebar .brand-star{font-size:30px}.hub-sidebar .brand-copy small{font-size:6.5px}.hub-sidebar nav a{gap:11px;padding:13px 12px}.hub-sidebar nav a span{font-size:12px}.hub-nav-label{letter-spacing:1px;font-size:8px}.campus-header-actions{gap:10px}.campus-search-trigger{width:210px}.campus-search-trigger kbd{display:none}.hub-header{gap:12px;padding:0 18px}.hub-main{padding:20px 18px}}@media (max-width:800px){.hub-sidebar{width:218px;transform:translate(-100%)}.hub-body{margin-left:0}.hub-header{gap:10px;height:64px;padding:0 14px}.hub-sidebar.is-open{top:64px}.campus-header-actions{gap:13px;margin-left:auto}.hub-main{padding:18px 16px}.hub-header .hub-crumb{display:none}.campus-search-trigger{width:220px}.campus-identity-name{max-width:110px}}@media (max-width:550px){.campus-search-trigger{background:0 0;border:0;justify-content:center;width:34px;padding:8px}.campus-search-trigger span,.campus-search-trigger kbd{display:none}.campus-header-actions{gap:12px}.campus-identity-name{max-width:90px;font-size:11px}.campus-avatar{width:32px;min-width:32px;height:32px;min-height:32px}.campus-identity{gap:7px}.campus-identity>svg{display:none}.campus-ribbon{flex-direction:row;align-items:center;min-height:50px;padding:4px 12px}.ribbon-window{flex:1;width:0}.ribbon-controls{align-self:center}.ribbon-controls button{min-width:28px}.ribbon-track .ribbon-message{padding:7px 12px}.hub-main{padding:16px 12px}}@media (prefers-reduced-motion:reduce){.campus-ribbon .ribbon-track{min-width:0;animation:none!important;transform:none!important}.campus-ribbon .ribbon-window{overflow:visible;-webkit-mask-image:none;mask-image:none}.campus-ribbon .ribbon-copy:not([aria-hidden]){max-height:130px;overflow:auto}.campus-ribbon .ribbon-message{white-space:normal;flex-wrap:wrap;gap:8px}.campus-ribbon{align-items:flex-start}}.hub-header .hub-crumb{letter-spacing:-.1px;gap:10px;font-size:13px}.hub-header .hub-crumb>a{color:var(--campus-muted);font-weight:450}.hub-header .hub-crumb>span{color:var(--campus-muted);opacity:.45;font-size:12px}.hub-header .hub-crumb>strong{color:var(--campus-ink);font-size:14px;font-weight:550}.hub-sidebar{overscroll-behavior:contain;overflow-y:auto}.hub-sidebar>nav{gap:12px;margin-top:22px}.hub-nav-group{gap:4px;display:grid}.hub-nav-group .hub-nav-label{letter-spacing:.13em;text-transform:uppercase;color:#99afc4;margin:5px 0 6px;padding:0 15px;font-size:9px;line-height:1.5}.hub-sidebar-note{flex-shrink:0}.hub-nav-group a:focus-visible{outline-offset:2px;outline:2px solid #e0b878}@media (max-height:820px){.hub-sidebar-note .campus-building{max-height:112px}.hub-sidebar-note{padding-top:22px}.hub-sidebar nav a{padding-top:10px;padding-bottom:10px}}
@media (max-width:760px){html .hub-shell .hub-header{color:#fff;box-shadow:none;background:#103e66;border-bottom:1px solid #ffffff1c;gap:10px;padding:0 12px}html .hub-shell .hub-header .campus-brand--mobile{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}html .hub-shell .hub-header .hub-menu,html .hub-shell .hub-header .campus-search-trigger,html .hub-shell .hub-header .inbox-trigger,html .hub-shell .hub-header .campus-header-icon,html .hub-shell .hub-header .notice-toggle{box-shadow:none;border-radius:12px;color:#fff!important;background:#ffffff0d!important;border-color:#0000!important}html .hub-shell .hub-header .campus-identity{color:#fff;background:#ffffff14;border-radius:10px;padding:8px}html .hub-shell .hub-header .campus-identity>svg{width:18px;height:18px;display:block}html .hub-shell .hub-header .campus-identity-name,html .hub-shell .hub-header .hub-crumb{display:none}html .hub-shell .hub-header .identity-dropdown{color:#182d44}html .hub-shell .hub-header .campus-header-actions{gap:8px;margin-left:auto}html .hub-shell .hub-header .identity-wrap{gap:5px}}@media (max-width:420px){html .hub-shell .hub-header{gap:6px;padding:0 8px}html .hub-shell .hub-header .campus-brand--mobile{flex-shrink:1;width:84px;min-width:0}html .hub-shell .hub-header .campus-header-actions{gap:4px}html .hub-shell .hub-header .inbox-trigger,html .hub-shell .hub-header .campus-header-icon,html .hub-shell .hub-header .campus-search-trigger,html .hub-shell .hub-header .notice-toggle,html .hub-shell .hub-header .hub-menu{width:34px;min-width:34px;height:40px;padding:6px}html .hub-shell .hub-header .campus-avatar{width:30px;height:30px}html .hub-shell .hub-header .campus-identity{min-width:24px;padding:7px 3px}}
