@property --progress{syntax:"<angle>";inherits:false;initial-value:0deg}.progress-pill[data-v-0581f277],.progress-sheet[data-v-0581f277]{--student-primary:#1268d8;--student-ink:#082452;--student-muted:#6a7f9a}.progress-pill[data-v-0581f277]{position:fixed;left:50%;bottom:calc(118px + env(safe-area-inset-bottom));z-index:48;height:44px;width:244px;max-width:calc(100vw - 52px);display:inline-flex;align-items:center;justify-content:flex-start;gap:11px;padding:0 12px 0 8px;border:1px solid rgba(207,223,242,.78);border-radius:999px;color:var(--student-ink);background:#fffffff7;box-shadow:0 8px 20px #0c3e7c1a;transform:translate(-50%);transition:width .26s cubic-bezier(.2,.8,.2,1),box-shadow .26s ease,border-color .26s ease,transform .14s ease;cursor:pointer;animation:progress-entry-0581f277 .32s cubic-bezier(.18,.9,.22,1) .52s both}.progress-pill.is-expanded[data-v-0581f277]{width:min(342px,calc(100vw - 52px));border-color:#b9d5f7;box-shadow:0 12px 28px #0c3e7c21;animation:progress-breathe-0581f277 .42s cubic-bezier(.18,.9,.22,1) both}.progress-sheet.is-complete[data-v-0581f277]{border-color:#10b98147}.progress-pill.is-complete[data-v-0581f277]{border-color:#10b98157;background:#f0fdf8fa;box-shadow:0 10px 24px #10b98124}.progress-pill.completion-pulse[data-v-0581f277]{animation:completion-pop-0581f277 .78s cubic-bezier(.2,1.2,.24,1) both}.progress-pill.has-entered[data-v-0581f277]{opacity:1;transform:translate(-50%);animation:none}.progress-pill.has-entered.is-expanded[data-v-0581f277]{animation:progress-breathe-0581f277 .42s cubic-bezier(.18,.9,.22,1) both}.progress-pill.is-pressing[data-v-0581f277],.progress-pill[data-v-0581f277]:active{transform:translate(-50%) scale(.96)}.pill-action[data-v-0581f277],.pill-body[data-v-0581f277],.pill-copy[data-v-0581f277],.pill-hint[data-v-0581f277]{min-width:0;line-height:1;white-space:nowrap}.pill-ring[data-v-0581f277]{flex:0 0 32px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:conic-gradient(var(--student-primary) var(--progress),#e3eefc 0),#e3eefc;box-shadow:inset 0 0 0 1px #1268d81f;transition:--progress .5s cubic-bezier(.16,1,.3,1)}.progress-pill.is-complete .pill-ring[data-v-0581f277]{background:conic-gradient(#10b981 var(--progress),#dff8ed 0),#dff8ed;box-shadow:inset 0 0 0 1px #10b98129,0 0 0 6px #10b98114}.pill-ring b[data-v-0581f277]{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:var(--student-primary);font-size:10px;font-weight:900;line-height:1;background:#fffffffa}.progress-pill.is-complete .pill-ring b[data-v-0581f277]{color:#0f8a62}.pill-body[data-v-0581f277]{flex:1 1 auto;display:grid;gap:3px}.pill-copy[data-v-0581f277]{color:#24466e;font-size:13px;font-weight:900}.pill-copy[data-v-0581f277],.pill-hint[data-v-0581f277]{overflow:hidden;text-overflow:ellipsis}.pill-hint[data-v-0581f277]{color:#5f7898;font-size:11px;font-style:normal;font-weight:800}.pill-action[data-v-0581f277]{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;color:var(--student-primary);font-size:12px;font-weight:900}.progress-pill.is-complete .pill-action[data-v-0581f277],.progress-pill.is-complete .pill-copy[data-v-0581f277]{color:#0f8a62}.progress-pill.is-complete .pill-hint[data-v-0581f277]{color:#3f7f68}.pill-action[data-v-0581f277] svg{flex:0 0 auto}.sheet-backdrop[data-v-0581f277]{position:fixed;inset:0;z-index:80;background:#0824523d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.progress-sheet[data-v-0581f277]{position:fixed;bottom:0;z-index:81;width:min(560px,100vw);padding:34px 24px 18px;border:1px solid #cfe0f4;border-bottom:0;border-radius:16px 16px 0 0;color:var(--student-ink);background:#fffffffa;box-shadow:0 -14px 42px #0c3e7c29}.progress-sheet[data-v-0581f277],.sheet-handle[data-v-0581f277]{left:50%;transform:translate(-50%)}.sheet-handle[data-v-0581f277]{position:absolute;top:10px;width:50px;height:5px;border-radius:999px;background:#cdd6e3}.sheet-close[data-v-0581f277]{position:absolute;top:44px;right:22px;width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;color:#274a72;background:#f2f6fc;cursor:pointer}.sheet-head[data-v-0581f277]{display:grid;grid-template-columns:60px minmax(0,1fr);gap:13px;align-items:center;padding-right:56px}.sheet-progress[data-v-0581f277]{width:58px;height:58px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:conic-gradient(#2178ff var(--progress),#e8f1ff 0),#e8f1ff;animation:sheet-progress-pop-0581f277 .5s cubic-bezier(.18,1.2,.32,1) both}.progress-pill.is-complete+.sheet-progress[data-v-0581f277],.progress-sheet .sheet-progress[data-v-0581f277],.sheet-progress[data-v-0581f277]{transition:--progress .5s cubic-bezier(.16,1,.3,1)}.sheet-progress em[data-v-0581f277]{width:43px;height:43px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#0d6fe8;font-size:13px;font-style:normal;font-weight:900;background:#fff}.sheet-head span[data-v-0581f277]:last-child{display:grid;gap:3px}.sheet-head small[data-v-0581f277],.sheet-info small[data-v-0581f277]{color:var(--student-primary);font-size:13px;font-weight:900}.sheet-head strong[data-v-0581f277]{overflow:hidden;color:var(--student-ink);font-size:20px;font-weight:900;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.sheet-head em[data-v-0581f277]{color:var(--student-muted);font-size:14px;font-style:normal;font-weight:700}.sheet-info[data-v-0581f277]{display:grid;gap:8px;margin-top:20px;padding:14px;border:1px solid #d2e1f4;border-radius:8px;background:#f7fbff}.sheet-info strong[data-v-0581f277]{color:var(--student-ink);font-size:17px;font-weight:900}.step-bars[data-v-0581f277]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}.step-bars span[data-v-0581f277]{display:grid;gap:9px;min-width:0;text-align:center}.step-bars i[data-v-0581f277]{height:6px;border-radius:999px;background:#e5f0ff}.step-bars span.done i[data-v-0581f277]{background:#12bd91}.progress-sheet.is-complete .sheet-progress[data-v-0581f277]{background:conic-gradient(#10b981 var(--progress),#dff8ed 0),#dff8ed}.progress-sheet.is-complete .sheet-head small[data-v-0581f277],.progress-sheet.is-complete .sheet-info small[data-v-0581f277],.progress-sheet.is-complete .sheet-progress em[data-v-0581f277]{color:#0f8a62}.progress-sheet.is-complete .sheet-primary[data-v-0581f277]{background:#10b981}.step-bars span.active i[data-v-0581f277]{background:#2178ff}.step-bars em[data-v-0581f277]{color:#647895;font-size:12px;font-style:normal;font-weight:900;white-space:nowrap}.sheet-info.next[data-v-0581f277],.sheet-primary[data-v-0581f277]{margin-top:18px}.sheet-primary[data-v-0581f277]{min-height:56px;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;border-radius:999px;color:#fff;text-decoration:none;font-size:17px;font-weight:900;background:#2178ff}.sheet-fade-enter-active[data-v-0581f277],.sheet-fade-leave-active[data-v-0581f277]{transition:opacity .28s ease}.sheet-fade-enter-from[data-v-0581f277],.sheet-fade-leave-to[data-v-0581f277]{opacity:0}.sheet-slide-enter-active[data-v-0581f277],.sheet-slide-leave-active[data-v-0581f277]{transition:transform .39s cubic-bezier(.16,1,.3,1),opacity .32s ease}.sheet-slide-enter-from[data-v-0581f277],.sheet-slide-leave-to[data-v-0581f277]{opacity:0;transform:translate(-50%,100%)}@keyframes progress-entry-0581f277{0%{opacity:0;transform:translate(-50%,16px) scale(.96)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes progress-breathe-0581f277{0%{transform:translate(-50%) scale(1)}48%{transform:translate(-50%) scale(1.02)}to{transform:translate(-50%) scale(1)}}@keyframes sheet-progress-pop-0581f277{0%{transform:scale(.96)}62%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes completion-pop-0581f277{0%{transform:translate(-50%) scale(.96);box-shadow:0 8px 18px #10b9811a}42%{transform:translate(-50%) scale(1.05);box-shadow:0 14px 32px #10b98133,0 0 0 8px #10b9811a}to{transform:translate(-50%) scale(1);box-shadow:0 10px 24px #10b98124}}@media(prefers-reduced-motion:reduce){.pill-hint[data-v-0581f277],.pill-ring[data-v-0581f277],.progress-pill[data-v-0581f277],.progress-pill.completion-pulse[data-v-0581f277],.progress-pill.is-expanded[data-v-0581f277],.sheet-fade-enter-active[data-v-0581f277],.sheet-fade-leave-active[data-v-0581f277],.sheet-progress[data-v-0581f277],.sheet-slide-enter-active[data-v-0581f277],.sheet-slide-leave-active[data-v-0581f277]{animation:none;transition:none}}@media(max-width:600px){.progress-pill[data-v-0581f277]{left:auto;right:16px;bottom:calc(112px + env(safe-area-inset-bottom));width:52px;height:52px;max-width:none;padding:0;justify-content:center;gap:0;border-radius:50%;box-shadow:0 8px 20px #0c3e7c29;transform:none}.progress-pill.is-expanded[data-v-0581f277]{width:52px}.progress-pill.has-entered[data-v-0581f277],.progress-pill.has-entered.is-expanded[data-v-0581f277],.progress-pill.is-pressing[data-v-0581f277],.progress-pill[data-v-0581f277]:active{transform:none}.progress-pill.is-pressing[data-v-0581f277],.progress-pill[data-v-0581f277]:active{transform:scale(.94)}.progress-pill .pill-ring[data-v-0581f277]{flex-basis:36px;width:36px;height:36px}.progress-pill .pill-ring b[data-v-0581f277]{width:27px;height:27px;font-size:10px}.progress-pill .pill-action[data-v-0581f277],.progress-pill .pill-body[data-v-0581f277]{display:none}.progress-sheet[data-v-0581f277]{padding-inline:22px}}.app-layout[data-v-2e9a11ab]{min-height:100dvh;display:flex;flex-direction:column;position:relative;background:#f4f8ff!important}.student-site-header[data-v-2e9a11ab]{position:sticky;top:0;z-index:50;height:72px;min-height:72px!important;display:flex;align-items:center;gap:1rem;padding:0 24px;border-bottom:1px solid #dbe5f0;background:#fffffff5!important;box-shadow:0 8px 24px #0c3e7c0f!important}.school-lockup[data-v-2e9a11ab]{min-width:0;display:inline-flex;align-items:center;gap:12px;flex-shrink:0;color:inherit;text-decoration:none}.school-logo[data-v-2e9a11ab]{width:48px;height:48px;flex:0 0 auto;border-radius:50%;-o-object-fit:cover;object-fit:cover;background:#fff}.school-lockup span[data-v-2e9a11ab]{min-width:0;display:grid;gap:2px}.school-lockup strong[data-v-2e9a11ab]{overflow:hidden;color:#082452;font-size:20px;font-weight:900;line-height:1.18;text-overflow:ellipsis;white-space:nowrap}.school-lockup small[data-v-2e9a11ab]{color:#082452;font-size:14px;font-weight:800;line-height:1.18}.top-nav[data-v-2e9a11ab]{min-width:0;display:flex;align-items:center;justify-content:center;gap:4px;flex:1}.top-nav-link[data-v-2e9a11ab]{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;color:#657894;text-decoration:none;font-size:14px;font-weight:800;transition:color .18s ease,background .18s ease}.top-nav-link.active[data-v-2e9a11ab],.top-nav-link[data-v-2e9a11ab]:hover{color:#1268d8;background:#f1f7ff}.header-actions[data-v-2e9a11ab]{display:flex;align-items:center;gap:8px;flex-shrink:0}.account-avatar[data-v-2e9a11ab],.close-sidebar[data-v-2e9a11ab],.logout-mini[data-v-2e9a11ab],.menu-btn[data-v-2e9a11ab],.sidebar-footer button[data-v-2e9a11ab]{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d4e0ef;border-radius:8px;color:#1268d8;background:#f4f9ff}.account-avatar[data-v-2e9a11ab],.logout-mini[data-v-2e9a11ab]{width:36px;height:36px}.close-sidebar[data-v-2e9a11ab],.logout-mini[data-v-2e9a11ab],.menu-btn[data-v-2e9a11ab],.sidebar-footer button[data-v-2e9a11ab]{cursor:pointer}.menu-btn[data-v-2e9a11ab]{width:44px;height:44px;display:none;border:0;color:#1268d8;background:transparent}.sidebar-content[data-v-2e9a11ab]{position:fixed;top:0;left:0;bottom:0;z-index:100;width:min(304px,84vw);display:flex;flex-direction:column;background:#fffffffa!important;box-shadow:0 18px 50px #0824522e}.sidebar-header[data-v-2e9a11ab]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 16px;border-bottom:1px solid #dbe5f0}.school-lockup.side strong[data-v-2e9a11ab]{font-size:17px}.school-lockup.side small[data-v-2e9a11ab]{font-size:13px}.close-sidebar[data-v-2e9a11ab]{width:38px;height:38px;flex:0 0 auto}.sidebar-nav[data-v-2e9a11ab]{display:grid;gap:8px;padding:16px}.sidebar-link[data-v-2e9a11ab]{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 14px;border-radius:8px;color:#657894;text-decoration:none;font-size:16px;font-weight:900}.sidebar-link.active[data-v-2e9a11ab]{color:#1268d8;background:#edf5ff}.sidebar-footer[data-v-2e9a11ab]{display:grid;gap:8px;margin-top:auto;padding:16px;border-top:1px solid #dbe5f0}.sidebar-footer button[data-v-2e9a11ab]{justify-content:flex-start;gap:10px;min-height:44px;padding:0 12px;font-size:14px;font-weight:800}.overlay[data-v-2e9a11ab]{position:fixed;inset:0;z-index:90;background:#0824524d;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.main-content[data-v-2e9a11ab]{flex:1;min-width:0}.global-deadline-slot[data-v-2e9a11ab]{width:min(1120px,calc(100% - 40px));margin:20px auto 0}.main-content.is-notice-route[data-v-2e9a11ab]{overflow:hidden}.bottom-nav[data-v-2e9a11ab]{--nav-pad-x:8px;--indicator-width:36px;--tab-width:calc((100vw - var(--nav-pad-x)*2)/var(--item-count));position:fixed;left:0;right:0;bottom:0;z-index:50;display:none;align-items:stretch;justify-content:space-around;gap:0;min-height:calc(94px + env(safe-area-inset-bottom));padding:10px var(--nav-pad-x) calc(7px + env(safe-area-inset-bottom));border-top:1px solid #dbe5f0;background:#fffffffa!important;box-shadow:0 -10px 30px #0c3e7c12!important;isolation:isolate}.nav-indicator[data-v-2e9a11ab]{position:absolute;left:calc(var(--nav-pad-x) + var(--tab-width)*var(--active-index) + var(--tab-width)/2);bottom:calc(7px + env(safe-area-inset-bottom));z-index:0;width:var(--indicator-width);height:3px;border-radius:999px;background:#1268d8;transform:translate(-50%);transition:left .42s cubic-bezier(.18,1.35,.32,1),width .26s cubic-bezier(.18,1.35,.32,1)}.bottom-nav.is-shifting .nav-indicator[data-v-2e9a11ab]{width:clamp(52px,14vw,66px)}.nav-tab[data-v-2e9a11ab]{position:relative;z-index:1;min-width:0;flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;padding:3px 2px 10px;border-radius:8px;color:#647895;text-decoration:none;overflow:visible;transition:color .18s ease}.nav-tab[data-v-2e9a11ab]:after{display:none}.tab-icon[data-v-2e9a11ab]{position:relative;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;transition:color .18s ease,transform .32s cubic-bezier(.18,1.35,.32,1)}.tab-icon[data-v-2e9a11ab]:before{content:"";position:absolute;inset:3px;border-radius:8px;background:#1268d81a;opacity:0;transform:scale(.72);transition:opacity .18s ease,transform .32s cubic-bezier(.18,1.35,.32,1)}.tab-icon[data-v-2e9a11ab] svg{position:relative;z-index:1}.tab-label[data-v-2e9a11ab]{overflow:hidden;max-width:100%;font-size:13px;font-weight:800;line-height:1.1;text-overflow:ellipsis;white-space:nowrap;transition:color .18s ease,transform .32s cubic-bezier(.18,1.35,.32,1)}.nav-tab.active[data-v-2e9a11ab]{color:#1268d8!important}.nav-tab.active .tab-icon[data-v-2e9a11ab]{animation:nav-active-pop-2e9a11ab .42s cubic-bezier(.18,1.35,.32,1)}.nav-tab.active .tab-icon[data-v-2e9a11ab]:before{opacity:1;transform:scale(1)}.nav-tab.active .tab-label[data-v-2e9a11ab]{animation:nav-label-settle-2e9a11ab .42s cubic-bezier(.18,1.35,.32,1)}.nav-tab:active .tab-icon[data-v-2e9a11ab]{transform:translateY(1px) scale(.96)}@keyframes nav-active-pop-2e9a11ab{0%{transform:translateY(1px) scale(.96)}58%{transform:translateY(-4px) scale(1.05)}80%{transform:translateY(-2px) scale(.99)}to{transform:translateY(0) scale(1)}}@keyframes nav-label-settle-2e9a11ab{0%{transform:translateY(1px)}62%{transform:translateY(-2px)}to{transform:translateY(0)}}.notification-toast[data-v-2e9a11ab]{position:fixed;top:16px;right:16px;z-index:9999;min-width:280px;max-width:380px;display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid #dbe5f0;border-radius:8px;background:#fffffff5;box-shadow:0 18px 42px #0c3e7c24}.notification-toast.success[data-v-2e9a11ab]{border-left:3px solid #22c55e}.notification-toast.error[data-v-2e9a11ab]{border-left:3px solid #ef4444}.notification-toast.warning[data-v-2e9a11ab]{border-left:3px solid #f59e0b}.notification-toast.info[data-v-2e9a11ab]{border-left:3px solid #3b82f6}.toast-icon[data-v-2e9a11ab]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:6px}.notification-toast.success .toast-icon[data-v-2e9a11ab]{color:#22c55e;background:#22c55e1a}.notification-toast.error .toast-icon[data-v-2e9a11ab]{color:#ef4444;background:#ef44441a}.notification-toast.warning .toast-icon[data-v-2e9a11ab]{color:#f59e0b;background:#f59e0b1a}.notification-toast.info .toast-icon[data-v-2e9a11ab]{color:#3b82f6;background:#3b82f61a}.toast-content[data-v-2e9a11ab]{flex:1;min-width:0}.toast-content h4[data-v-2e9a11ab]{margin:0 0 2px;color:#082452;font-size:14px;font-weight:900}.toast-content p[data-v-2e9a11ab]{margin:0;color:#657894;font-size:13px;line-height:1.4}.toast-close[data-v-2e9a11ab]{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:0;border-radius:6px;color:#657894;background:transparent;cursor:pointer}.slide-enter-active[data-v-2e9a11ab],.slide-leave-active[data-v-2e9a11ab]{transition:transform .24s ease}.slide-enter-from[data-v-2e9a11ab],.slide-leave-to[data-v-2e9a11ab]{transform:translate(-100%)}.fade-enter-active[data-v-2e9a11ab],.fade-leave-active[data-v-2e9a11ab],.toast-enter-active[data-v-2e9a11ab],.toast-leave-active[data-v-2e9a11ab]{transition:opacity .2s ease}.fade-enter-from[data-v-2e9a11ab],.fade-leave-to[data-v-2e9a11ab],.toast-enter-from[data-v-2e9a11ab],.toast-leave-to[data-v-2e9a11ab]{opacity:0}@media(prefers-reduced-motion:reduce){.nav-indicator[data-v-2e9a11ab],.nav-tab.active .tab-icon[data-v-2e9a11ab],.nav-tab.active .tab-label[data-v-2e9a11ab],.tab-icon[data-v-2e9a11ab],.tab-icon[data-v-2e9a11ab]:before,.tab-label[data-v-2e9a11ab]{animation:none;transition:none}}@media(max-width:980px){.top-nav-link[data-v-2e9a11ab]{padding-inline:8px}}@media(max-width:768px){.student-site-header[data-v-2e9a11ab]{height:82px;min-height:82px!important;padding:0 20px}.school-logo[data-v-2e9a11ab]{width:52px;height:52px}.school-lockup[data-v-2e9a11ab]{gap:12px}.school-lockup strong[data-v-2e9a11ab]{max-width:calc(100vw - 136px);font-size:20px}.school-lockup small[data-v-2e9a11ab]{font-size:15px}.desktop-only[data-v-2e9a11ab],.top-nav[data-v-2e9a11ab]{display:none}.header-actions[data-v-2e9a11ab]{margin-left:auto}.menu-btn[data-v-2e9a11ab]{display:inline-flex}.bottom-nav[data-v-2e9a11ab]{display:flex!important}.main-content[data-v-2e9a11ab]{padding-bottom:calc(94px + env(safe-area-inset-bottom))}.global-deadline-slot[data-v-2e9a11ab]{width:calc(100% - 28px);margin-top:14px}.main-content.is-notice-route[data-v-2e9a11ab]{padding-bottom:0}}@media(max-width:380px){.student-site-header[data-v-2e9a11ab]{padding-inline:16px}.school-logo[data-v-2e9a11ab]{width:48px;height:48px}.school-lockup strong[data-v-2e9a11ab]{font-size:18px}.school-lockup small[data-v-2e9a11ab]{font-size:14px}.tab-label[data-v-2e9a11ab]{font-size:13px}}
