.selection-ripple-pulse-host[data-v-4f5f8d54]{display:none}.user-menu[data-v-4689f7fe]{position:relative;flex-shrink:0}.user-menu-trigger[data-v-4689f7fe]{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border-radius:50%;border:1px solid var(--glass-border, var(--border));background:#ffffff24;color:inherit;cursor:pointer;overflow:visible;transform:none!important}.user-menu-trigger--avatar[data-v-4689f7fe]{background:linear-gradient(135deg,var(--water-mid, var(--primary)),var(--aquatic-accent, var(--primary-dark)));border:2px solid rgba(255,255,255,.5);color:#fff;font-weight:700;font-size:.8rem}.user-menu--classic .user-menu-trigger[data-v-4689f7fe]{background:var(--bg);border:2px solid var(--border);color:var(--text)}.user-menu--classic .user-menu-trigger--avatar[data-v-4689f7fe]{background:linear-gradient(135deg,var(--primary),var(--primary-dark));border-color:transparent;color:#fff}.user-menu-icon[data-v-4689f7fe]{display:inline-flex;align-items:center;justify-content:center;font-size:1rem;line-height:1}.user-menu-initials[data-v-4689f7fe]{line-height:1}.user-menu-panel[data-v-4689f7fe]{min-width:13.5rem;padding:.35rem 0;color:var(--text-on-light, var(--text))}.user-menu--classic .user-menu-panel[data-v-4689f7fe]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:none;backdrop-filter:none}.user-menu-header[data-v-4689f7fe]{padding:.65rem 1rem .5rem}.user-menu-header--guest .user-menu-role[data-v-4689f7fe]{text-transform:none;letter-spacing:normal;font-weight:400;font-size:.78rem}.user-menu-name[data-v-4689f7fe]{display:block;font-weight:600;font-size:.92rem;line-height:1.3}.user-menu-role[data-v-4689f7fe]{display:block;margin-top:.15rem;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-light)}.user-menu-divider[data-v-4689f7fe]{height:1px;margin:.25rem 0;background:#00000014}.user-menu-item[data-v-4689f7fe]{display:block;width:100%;padding:.55rem 1rem;border:none;background:transparent;color:inherit;font:inherit;font-size:.88rem;font-weight:500;text-align:left;text-decoration:none;cursor:pointer;transition:background .15s ease}.user-menu-item[data-v-4689f7fe]:hover,.user-menu-item[data-v-4689f7fe]:focus-visible{background:#0077b614;outline:none}.user-menu-item--primary[data-v-4689f7fe]{color:var(--primary);font-weight:600}.user-menu-item--action[data-v-4689f7fe]{font-weight:700}.user-menu-item--danger[data-v-4689f7fe]{color:#c1121f}.user-menu-item--danger[data-v-4689f7fe]:hover,.user-menu-item--danger[data-v-4689f7fe]:focus-visible{background:#c1121f14}.user-menu-fade-enter-active[data-v-4689f7fe],.user-menu-fade-leave-active[data-v-4689f7fe]{transition:opacity .15s ease,transform .15s ease}.user-menu-fade-enter-from[data-v-4689f7fe],.user-menu-fade-leave-to[data-v-4689f7fe]{opacity:0;transform:translateY(-4px)}.site-logo[data-v-71790a6d]{display:block;width:auto;object-fit:contain;shape-rendering:geometricPrecision}.site-logo--header[data-v-71790a6d]{height:4.25rem;max-height:68px}.site-logo--navbar[data-v-71790a6d]{height:3rem;max-height:48px}.site-logo--auth[data-v-71790a6d]{height:8rem;max-height:128px;margin:0 auto 1.25rem}.site-logo--hero[data-v-71790a6d]{height:6.5rem;max-height:104px;margin:0 auto 1.5rem}.app-back-btn[data-v-86461eec]{display:inline-flex;align-items:center;gap:.35rem;border:none;background:transparent;cursor:pointer;font-weight:600;line-height:1.2;padding:.35rem .5rem;border-radius:999px;transition:background .2s ease,color .2s ease}.app-back-btn__glyph[data-v-86461eec]{font-size:1.05rem;line-height:1}.app-back-btn--classic[data-v-86461eec]{color:var(--text, #212529);font-size:.9rem}.app-back-btn--classic[data-v-86461eec]:hover{background:#0077b614;color:var(--primary, #0077b6)}.app-back-btn--aquatic[data-v-86461eec]{color:var(--aquatic-text, #1d3557);font-size:.82rem;background:#ffffff24;border:1px solid var(--glass-border, rgba(255, 255, 255, .35));padding:.4rem .65rem}.app-back-btn--aquatic[data-v-86461eec]:hover{background:#ffffff3d}@media(max-width:640px){.app-back-btn__label[data-v-86461eec]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-back-btn[data-v-86461eec]{min-width:38px;min-height:38px;justify-content:center;padding:.35rem}}.aquatic-header[data-v-5be67a1e]{position:relative;display:flex;align-items:flex-start;justify-content:space-between;min-height:var(--aquatic-header-height);padding:.45rem 1rem .25rem;margin:0;flex-shrink:0;overflow:visible;color:var(--aquatic-text);background:transparent}.header-start[data-v-5be67a1e]{display:flex;align-items:center;gap:.55rem;flex-shrink:0}.brand[data-v-5be67a1e]{display:flex;align-items:center;padding-top:0;text-decoration:none;color:var(--aquatic-text);flex-shrink:0;line-height:0}.header-actions-wrap[data-v-5be67a1e]{position:relative;z-index:3;overflow:visible;padding:.2rem .35rem;margin:-.2rem -.35rem 0 0;flex-shrink:0}.header-actions[data-v-5be67a1e]{display:flex;align-items:center;gap:.55rem;overflow:visible;flex-shrink:0}.header-btn[data-v-5be67a1e]{position:relative;width:38px;height:38px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffff24;border:1px solid var(--glass-border);color:var(--aquatic-text);text-decoration:none;cursor:pointer;overflow:visible;transform:none!important;padding:0;vertical-align:middle}.header-btn-glyph[data-v-5be67a1e]{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;font-size:1rem;line-height:1;transform:none;pointer-events:none;overflow:visible;position:relative;z-index:2;padding-top:.06rem}.header-btn-glyph--symbol[data-v-5be67a1e]{font-size:.95rem;font-weight:700}.header-btn[data-v-5be67a1e]:disabled{opacity:.5;cursor:default}.header-btn .badge[data-v-5be67a1e]{position:absolute;top:-3px;right:-3px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#e63946;color:#fff;font-size:.6rem;font-weight:700;line-height:17px;text-align:center;z-index:2}.aquatic-footer[data-v-e9495041]{position:fixed;bottom:max(.5rem,env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);z-index:200;width:min(92vw,48rem);pointer-events:none;overflow:visible}.dock[data-v-e9495041]{pointer-events:auto;display:flex;align-items:flex-end;justify-content:center;gap:.05rem;width:100%;min-height:2.35rem;padding:.2rem .85rem .28rem;overflow:visible}.dock-item[data-v-e9495041]{position:relative;overflow:visible;flex:1 1 0;max-width:4.75rem;min-width:2.75rem;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.18rem;padding:.1rem .12rem 0;border:none;background:transparent;color:#ffffffeb;cursor:default;transform-origin:50% 100%;will-change:transform}.dock-icon-wrap[data-v-e9495041]{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;width:2.15rem;height:2.15rem;min-height:2.15rem;padding:.1rem 0 .05rem;border-radius:50%;border:1.5px solid rgba(255,255,255,.55);background:#fff3;box-shadow:inset 0 1px #ffffff73,0 2px 8px #78140a33;transform-origin:50% 100%;transition:box-shadow .16s ease,border-color .16s ease;overflow:visible;will-change:transform;z-index:1}.dock-item.dock-splash-active .dock-icon-wrap[data-v-e9495041]{transition:none;z-index:3}.dock-item.hovered .dock-icon-wrap[data-v-e9495041],.dock-item.active .dock-icon-wrap[data-v-e9495041]{border-color:#fffffff2;background:#ffffff52;box-shadow:0 0 0 2px #ffdcb48c,0 0 14px #ffb47873,inset 0 1px #ffffff8c}.dock-icon[data-v-e9495041]{font-size:1rem;line-height:1;position:relative;z-index:2}.dock-label[data-v-e9495041]{font-family:var(--font-apple);font-size:.55rem;font-weight:500;letter-spacing:-.02em;line-height:1.1;text-align:center;max-width:4.75rem;color:#ffffffd1;transition:color .12s ease}.dock-item.hovered .dock-label[data-v-e9495041],.dock-item.active .dock-label[data-v-e9495041]{color:#fff;font-weight:600}.dock-badge[data-v-e9495041]{position:absolute;top:0;right:.05rem;min-width:14px;height:14px;padding:0 3px;border-radius:7px;background:#ff3b30;color:#fff;font-family:var(--font-apple);font-size:.5625rem;font-weight:600;line-height:14px;z-index:4}@media(max-width:640px){.aquatic-footer[data-v-e9495041]{width:96vw}.dock[data-v-e9495041]{padding:.18rem .5rem .22rem}.dock-item[data-v-e9495041]{min-width:2.35rem;max-width:3.75rem}.dock-label[data-v-e9495041]{font-size:.5rem}.dock-icon-wrap[data-v-e9495041]{width:1.9rem;height:1.9rem}}@media(prefers-reduced-motion:reduce){.dock-item[data-v-e9495041]{transform:none!important}}.aquatic-carousel--incoming[data-v-d5ff41e9]{opacity:.92;box-shadow:0 8px 28px #1d355726,0 0 0 2px #caf0f859}.aquatic-carousel[data-v-d5ff41e9]{position:fixed;top:calc(var(--aquatic-header-height) + .35rem);right:max(.5rem,env(safe-area-inset-right,0px));left:auto;display:block;padding:.35rem .9rem .4rem 1rem;width:auto;min-width:min(100%,20rem);max-width:min(calc(100vw - 6.5rem),40rem);color:var(--text-on-light);overflow:visible}.carousel-inner[data-v-d5ff41e9]{display:flex;align-items:center;gap:.5rem;min-width:0;max-width:100%;overflow:visible}.carousel-track[data-v-d5ff41e9]{display:flex;align-items:center;gap:.75rem;overflow-x:auto;overflow-y:visible;scrollbar-width:none;flex:1 1 auto;min-width:0;max-width:none;padding:.25rem .4rem}.carousel-track[data-v-d5ff41e9]::-webkit-scrollbar{display:none}.carousel-orb[data-v-d5ff41e9]{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.12rem 0 0;border:none;background:transparent;cursor:pointer;color:var(--text-on-light);min-width:3.5rem;max-width:4.5rem;transform-origin:50% 50%;will-change:transform;overflow:visible}.orb-bubble[data-v-d5ff41e9]{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;min-width:2rem;min-height:2rem;padding:.12rem;border-radius:50%;border:1px solid rgba(255,255,255,.65);background:#ffffffeb;box-shadow:0 2px 6px #1d35571a;overflow:visible;transition:width .25s ease,height .25s ease,box-shadow .25s,transform .25s,background .25s}.carousel-orb:hover .orb-bubble[data-v-d5ff41e9]{box-shadow:0 0 20px #90e0ef66}.carousel-orb.is-active .orb-bubble[data-v-d5ff41e9]{border-color:#ffffff8c;background:#ffffff59;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.carousel-orb.is-landed .orb-bubble[data-v-d5ff41e9],.carousel-orb.is-active.is-landed .orb-bubble[data-v-d5ff41e9]{width:2.15rem;height:2.15rem;min-width:2.15rem;min-height:2.15rem;border-width:2px;border-color:var(--water-shimmer);background:#ffffff59;box-shadow:var(--aquatic-glow),inset 0 0 14px #ffffff59;transform:none}.orb-icon[data-v-d5ff41e9]{font-size:1rem;line-height:1}.carousel-orb.is-landed .orb-icon[data-v-d5ff41e9]{font-size:1.05rem}.orb-label[data-v-d5ff41e9]{font-family:var(--font-apple);font-size:.56rem;font-weight:500;letter-spacing:-.02em;line-height:1.1;color:var(--text-on-light);white-space:nowrap;max-width:4.25rem;overflow:hidden;text-overflow:ellipsis;position:relative;z-index:2}.carousel-orb:hover .orb-label[data-v-d5ff41e9],.carousel-orb.is-active .orb-label[data-v-d5ff41e9]{color:var(--text-on-light);font-weight:600}.carousel-scroll-hint[data-v-d5ff41e9]{flex:0 0 1.65rem;width:1.65rem;height:1.65rem;margin:0;border:1px solid rgba(29,53,87,.2);border-radius:50%;background:#ffffff8c;color:var(--text-on-light);font-size:1rem;line-height:1;cursor:pointer;transition:background .2s,transform .2s;position:relative;z-index:2}.carousel-scroll-hint[data-v-d5ff41e9]:hover{background:#ffffff47;transform:translate(2px)}.carousel-expand-enter-active[data-v-d5ff41e9]{transition:opacity .32s ease,transform .38s cubic-bezier(.34,1.4,.64,1)}.carousel-expand-leave-active[data-v-d5ff41e9]{transition:opacity .22s ease,transform .22s ease}.carousel-expand-enter-from[data-v-d5ff41e9],.carousel-expand-leave-to[data-v-d5ff41e9]{opacity:0;transform:translateY(-16px) scale(.92)}.carousel-instant-enter-active[data-v-d5ff41e9],.carousel-instant-leave-active[data-v-d5ff41e9]{transition:none}.carousel-instant-enter-from[data-v-d5ff41e9],.carousel-instant-leave-to[data-v-d5ff41e9]{opacity:1;transform:none}.assignment-filters--rail[data-v-9ea7fe73]{margin-top:auto;padding:.75rem .85rem .35rem;border-top:1px solid rgba(29,53,87,.1);display:flex;flex-direction:column;gap:.65rem}.assignment-filters--inline[data-v-9ea7fe73]{display:flex;flex-wrap:wrap;gap:.75rem 1rem;padding:.85rem 1rem;border:1px solid rgba(29,53,87,.1);border-radius:12px;background:#ffffffe6}.assignment-filters--inline .filter-field[data-v-9ea7fe73]{flex:1 1 12rem;min-width:min(100%,12rem)}.filter-field[data-v-9ea7fe73]{display:flex;flex-direction:column;gap:.3rem}.filter-label[data-v-9ea7fe73]{font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.filter-select[data-v-9ea7fe73]{width:100%;min-height:40px;padding:.45rem 1.75rem .45rem .6rem;border:1px solid rgba(29,53,87,.16);border-radius:8px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2364748b' d='M1.41 0 6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E") no-repeat right .55rem center;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:.8rem;color:#1d3557;cursor:pointer;font-family:var(--font-apple)}.filter-select[data-v-9ea7fe73]:focus{outline:2px solid rgba(72,202,228,.65);outline-offset:1px}.aquatic-rail[data-v-d4ec1314]{width:var(--aquatic-rail-width);flex-shrink:0;margin:0 0 0 1rem;padding:.85rem 0;display:flex;flex-direction:column;align-self:stretch;min-height:0;max-height:100%;overflow-x:visible;overflow-y:auto}.rail-search[data-v-d4ec1314]{position:relative;padding:0 .85rem .65rem}.search-icon[data-v-d4ec1314]{position:absolute;left:1.15rem;top:50%;transform:translateY(-50%);font-size:.8rem;opacity:.55;pointer-events:none}.rail-input[data-v-d4ec1314]{width:100%;padding:.5rem .7rem .5rem 2rem;border-radius:10px;border:1px solid var(--glass-border-light);background:#ffffffa6;color:var(--text-on-light);font-family:var(--font-apple);font-size:.85rem}.rail-input[data-v-d4ec1314]::placeholder{color:var(--text-on-light-muted)}.rail-list[data-v-d4ec1314]{list-style:none;flex:1 1 auto;min-height:14rem;max-height:24rem;overflow-y:auto;padding:0;margin:0}.rail-link[data-v-d4ec1314]{display:flex;align-items:center;gap:.55rem;width:100%;text-align:left;padding:.48rem .85rem;border:none;border-left:3px solid transparent;background:transparent;color:var(--text-on-light);font-family:var(--font-apple);font-size:.86rem;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.rail-icon[data-v-d4ec1314]{flex-shrink:0;width:1.35rem;min-height:1.35rem;display:inline-flex;align-items:center;justify-content:center;text-align:center;font-size:.9rem;line-height:1;position:relative;z-index:2;overflow:visible}.rail-label[data-v-d4ec1314]{flex:1;min-width:0}.rail-link[data-v-d4ec1314]:hover,.rail-link.active[data-v-d4ec1314]{color:var(--text-on-light);background:#1d35570f;border-left-color:var(--mac-blue-mid)}.sr-only[data-v-d4ec1314]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.rail-slide-enter-active[data-v-d4ec1314],.rail-slide-leave-active[data-v-d4ec1314]{transition:opacity .28s ease,transform .32s ease}.rail-slide-enter-from[data-v-d4ec1314],.rail-slide-leave-to[data-v-d4ec1314]{opacity:0;transform:translate(-20px)}@media(max-width:900px){.aquatic-shell:not(.aquatic-shell--forest){display:none}}.aquatic-stage[data-v-7a9f1e8f]{position:relative;z-index:10;flex:1 1 auto;min-width:0;min-height:0;height:100%;margin:0 1rem 0 0;padding:1rem 1.25rem;overflow:auto;color:var(--mac-blue-deep);font-family:var(--font-apple);background:#ffffff8c;border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(14px) saturate(1.15);-webkit-backdrop-filter:blur(14px) saturate(1.15);border-radius:var(--aquatic-radius);box-shadow:0 8px 28px #0230471f;transition:background .6s ease,opacity .5s ease,box-shadow .5s ease}.aquatic-stage--forest[data-v-7a9f1e8f]{margin:0;padding:.5rem 0 1rem;min-height:0;background:transparent!important;border:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;pointer-events:auto}.aquatic-stage--forest[data-v-7a9f1e8f] .student-dashboard,.aquatic-stage--forest[data-v-7a9f1e8f] .courses-page,.aquatic-stage--forest[data-v-7a9f1e8f] .aquatic-overview{visibility:visible!important;height:auto!important;overflow:visible!important}.aquatic-stage--hero[data-v-7a9f1e8f]{background:transparent;border-color:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:none}.aquatic-stage--hero[data-v-7a9f1e8f] .student-dashboard,.aquatic-stage--hero[data-v-7a9f1e8f] .aquatic-overview{visibility:hidden;height:0;overflow:hidden;margin:0;padding:0}.aquatic-stage--submerged[data-v-7a9f1e8f]{background:#ffffff9e;border-color:#ffffff73;box-shadow:0 8px 32px #1d35571a;backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);pointer-events:auto}.aquatic-stage--submerged[data-v-7a9f1e8f] .student-dashboard,.aquatic-stage--submerged[data-v-7a9f1e8f] .aquatic-overview{visibility:visible;height:auto}.aquatic-stage[data-v-7a9f1e8f] .student-dashboard{background:transparent!important;box-shadow:none}.aquatic-stage[data-v-7a9f1e8f] .aquatic-welcome,.aquatic-stage[data-v-7a9f1e8f] .tab-title,.aquatic-stage[data-v-7a9f1e8f] h1,.aquatic-stage[data-v-7a9f1e8f] h2,.aquatic-stage[data-v-7a9f1e8f] h3,.aquatic-stage[data-v-7a9f1e8f] .panel-header h2{color:var(--text-on-light)}.aquatic-stage[data-v-7a9f1e8f] .aquatic-hint,.aquatic-stage[data-v-7a9f1e8f] .tab-desc,.aquatic-stage[data-v-7a9f1e8f] .welcome,.aquatic-stage[data-v-7a9f1e8f] .stat-label,.aquatic-stage[data-v-7a9f1e8f] .empty-state,.aquatic-stage[data-v-7a9f1e8f] p{color:var(--text-on-light-muted)}.aquatic-stage[data-v-7a9f1e8f] .panel,.aquatic-stage[data-v-7a9f1e8f] .stat-card,.aquatic-stage[data-v-7a9f1e8f] .course-card{background:#ffffffe0;border:1px solid rgba(255,255,255,.5)}.aquatic-stage--forest[data-v-7a9f1e8f] .panel,.aquatic-stage--forest[data-v-7a9f1e8f] .stat-card,.aquatic-stage--forest[data-v-7a9f1e8f] .course-card{background:#ffffffd1}.aquatic-stage[data-v-7a9f1e8f] .aquatic-overview .stats-grid,.aquatic-stage[data-v-7a9f1e8f] .aquatic-overview .side-panels{display:none}.aquatic-stage[data-v-7a9f1e8f] .aquatic-overview .dashboard-grid{grid-template-columns:1fr}@media(max-width:900px){.aquatic-stage[data-v-7a9f1e8f]:not(.aquatic-stage--forest){margin:0 1rem}.aquatic-stage--forest[data-v-7a9f1e8f]{padding-left:.75rem}}.aquatic-caustics[data-v-1520fa7d]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;overflow:hidden;mix-blend-mode:soft-light;opacity:.48}.caustic-sheet[data-v-1520fa7d]{position:absolute;top:-60%;right:-60%;bottom:-60%;left:-60%;will-change:transform;transform:scale(1.65);transform-origin:50% 72%}.caustic-sheet--a[data-v-1520fa7d]{background:radial-gradient(ellipse 90% 55% at 28% 78%,rgba(255,255,255,.42) 0%,transparent 62%),radial-gradient(ellipse 80% 50% at 62% 82%,rgba(202,240,248,.32) 0%,transparent 58%),radial-gradient(ellipse 70% 45% at 48% 68%,rgba(144,224,239,.22) 0%,transparent 55%);animation:caustic-flow-a-1520fa7d 22s ease-in-out infinite alternate}.caustic-sheet--b[data-v-1520fa7d]{background:radial-gradient(ellipse 85% 48% at 72% 74%,rgba(168,218,220,.28) 0%,transparent 60%),radial-gradient(ellipse 75% 42% at 18% 62%,rgba(255,255,255,.22) 0%,transparent 56%);animation:caustic-flow-b-1520fa7d 28s ease-in-out infinite alternate-reverse;opacity:.85}.caustic-ripples[data-v-1520fa7d]{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='320' viewBox='0 0 320 320'%3E%3Cellipse cx='160' cy='160' rx='118' ry='86' fill='none' stroke='%23ffffff' stroke-opacity='0.12' stroke-width='0.75'/%3E%3Cellipse cx='160' cy='160' rx='86' ry='62' fill='none' stroke='%23caf0f8' stroke-opacity='0.1' stroke-width='0.5'/%3E%3Cellipse cx='160' cy='160' rx='54' ry='38' fill='none' stroke='%23ffffff' stroke-opacity='0.08' stroke-width='0.5'/%3E%3C/svg%3E");background-size:640px 640px;-webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.08) 30%,rgba(0,0,0,.55) 60%,rgba(0,0,0,.35) 100%);mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.08) 30%,rgba(0,0,0,.55) 60%,rgba(0,0,0,.35) 100%);animation:caustic-ripple-drift-1520fa7d 48s linear infinite;opacity:.7}@keyframes caustic-flow-a-1520fa7d{0%{transform:scale(1.65) translate(0)}to{transform:scale(1.68) translate(2%,-1.5%)}}@keyframes caustic-flow-b-1520fa7d{0%{transform:scale(1.65) translate(0)}to{transform:scale(1.62) translate(-2%,1.5%)}}@keyframes caustic-ripple-drift-1520fa7d{0%{transform:translate(0)}to{transform:translate(-180px,90px)}}@media(prefers-reduced-motion:reduce){.caustic-sheet[data-v-1520fa7d],.caustic-ripples[data-v-1520fa7d]{animation:none}}.aquatic-water-host[data-v-38135b77]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;overflow:hidden}.aquatic-water-host[data-v-38135b77] canvas{display:block;width:100%!important;height:100%!important}.aquatic-canvas[data-v-26568a0f]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none}.aquatic-pebble[data-v-fcf0a71e]{position:fixed;z-index:9999;width:5.25rem;height:5.25rem;margin-left:-2.625rem;margin-top:-2.625rem;display:flex;align-items:center;justify-content:center;pointer-events:none;will-change:transform,left,top}.pebble-glass[data-v-fcf0a71e]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:radial-gradient(circle at 32% 28%,#ffffff8c,#ffffff2e 42%,#a8dadc1f);border:2px solid rgba(255,255,255,.72);box-shadow:var(--aquatic-glow),0 8px 32px #1d355740,inset 0 -8px 20px #457b9d26,inset 0 4px 12px #fff6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.pebble-icon[data-v-fcf0a71e]{position:relative;z-index:1;font-size:2rem;line-height:1;filter:drop-shadow(0 1px 2px rgba(29,53,87,.2))}.underwater-veil[data-v-f1bd601e]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;pointer-events:none;overflow:hidden}.veil-surface[data-v-f1bd601e]{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#90e0ef1f,#457b9d38 40%,#2d5a7552);animation:veil-rise-f1bd601e .8s ease forwards}.bubble[data-v-f1bd601e]{position:absolute;bottom:-20px;border-radius:50%;background:#ffffff40;animation:bubble-rise-f1bd601e linear forwards}@keyframes veil-rise-f1bd601e{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes bubble-rise-f1bd601e{to{transform:translateY(-110vh);opacity:0}}.veil-enter-active[data-v-f1bd601e],.veil-leave-active[data-v-f1bd601e]{transition:opacity .5s ease}.veil-enter-from[data-v-f1bd601e],.veil-leave-to[data-v-f1bd601e]{opacity:0}@media(prefers-reduced-motion:reduce){.veil-surface[data-v-f1bd601e]{animation:none;opacity:1}.bubble[data-v-f1bd601e]{display:none}}.nav-bridge[data-v-f31691a2]{position:fixed;right:6%;bottom:calc(var(--aquatic-dock-height) - 1.25rem);width:48%;height:32vh;z-index:44;pointer-events:auto}.threejs-bg-stack[data-v-23436767]{position:fixed;top:0;left:0;right:0;width:100%;height:var(--aquatic-viewport-height, 100dvh);min-height:var(--aquatic-viewport-height, 100dvh);z-index:1;overflow:hidden;opacity:0;transition:opacity .5s ease;background:var(--aquatic-page-gradient)}.threejs-bg-gradient[data-v-23436767]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:var(--aquatic-page-gradient);pointer-events:none}.threejs-bg-stack--ready[data-v-23436767]{opacity:1}.threejs-bg-canvas-host[data-v-23436767]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;min-width:100vw;min-height:100vh;min-height:100dvh;pointer-events:none}.threejs-bg-canvas-host[data-v-23436767] canvas{display:block;width:100%!important;height:100%!important;max-width:none;max-height:none}.threejs-orbit-surface[data-v-23436767]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:auto;touch-action:none;cursor:grab}body.threejs-bg-dragging .threejs-orbit-surface[data-v-23436767]{cursor:grabbing}.aquatic-shell--forest.aquatic-shell,.aquatic-shell--forest .aquatic-body,.aquatic-shell--forest .aquatic-stage{pointer-events:none}.aquatic-shell--forest .threejs-bg-stack,.aquatic-shell--forest .threejs-orbit-surface,.app--aquatic .aquatic-footer,.aquatic-shell--forest .aquatic-header,.aquatic-shell--forest .aquatic-footer,.aquatic-shell--forest .aquatic-side-rail,.aquatic-shell--forest .aquatic-top-carousel,.aquatic-shell--forest .nav-bridge,.aquatic-shell--forest a,.aquatic-shell--forest button,.aquatic-shell--forest input,.aquatic-shell--forest select,.aquatic-shell--forest textarea,.aquatic-shell--forest label,.aquatic-shell--forest [role=button],.aquatic-shell--forest [role=tab],.aquatic-shell--forest .orb-bubble,.aquatic-shell--forest .dock-orb{pointer-events:auto}.app--threejs-bg:not(.app--aquatic) .navbar,.app--threejs-bg:not(.app--aquatic) .footer,.app--threejs-bg:not(.app--aquatic) .auth-card,.app--threejs-bg:not(.app--aquatic) a,.app--threejs-bg:not(.app--aquatic) button,.app--threejs-bg:not(.app--aquatic) input{pointer-events:auto}.app--threejs-bg:not(.app--aquatic) .main-content{pointer-events:none}.app--threejs-bg .navbar,.app--threejs-bg .main-content,.app--threejs-bg .footer,.app--threejs-bg .auth-card,.app--aquatic .aquatic-shell>*:not(.threejs-bg-stack):not(.aquatic-bg):not(.aquatic-planes){position:relative;z-index:2}.aquatic-shell[data-v-cef7dc41]{position:relative;width:100%;height:100%;min-height:0;max-height:100%;display:flex;flex-direction:column;overflow:hidden;z-index:1;padding-top:max(.35rem,env(safe-area-inset-top,0px));transition:filter .8s ease}.aquatic-shell--nav-flight[data-v-cef7dc41]{overflow:visible}.aquatic-shell--underwater[data-v-cef7dc41]{filter:blur(.5px) brightness(.97) saturate(1.08)}.aquatic-shell--submerged[data-v-cef7dc41]{filter:blur(0) brightness(1) saturate(1.1)}.aquatic-body[data-v-cef7dc41]{display:flex;flex:1 1 auto;width:100%;min-height:0;padding-top:.5rem;padding-bottom:calc(var(--aquatic-dock-height) + env(safe-area-inset-bottom,0px) + 1.25rem);overflow:visible;transition:transform .8s ease}.aquatic-shell--underwater .aquatic-body[data-v-cef7dc41]{transform:translateY(12px)}.aquatic-shell--submerged .aquatic-body[data-v-cef7dc41]{transform:translateY(20px)}@media(prefers-reduced-motion:reduce){.aquatic-shell[data-v-cef7dc41],.aquatic-body[data-v-cef7dc41]{transition:none}.aquatic-shell--underwater[data-v-cef7dc41],.aquatic-shell--submerged[data-v-cef7dc41]{filter:none}}:root{--mac-blue-light: #a8dadc;--mac-blue-mid: #457b9d;--mac-blue-deep: #1d3557;--mac-blue-glow: #90e0ef;--water-deep: var(--mac-blue-deep);--water-mid: var(--mac-blue-mid);--water-surface: var(--mac-blue-light);--water-shimmer: #caf0f8;--text-on-light: #1d3557;--text-on-light-muted: rgba(29, 53, 87, .62);--text-on-dark: #ffffff;--text-on-dark-muted: rgba(255, 255, 255, .82);--glass-bg: rgba(255, 255, 255, .22);--glass-bg-strong: rgba(255, 255, 255, .32);--glass-bg-light: rgba(255, 255, 255, .72);--glass-border: rgba(255, 255, 255, .48);--glass-border-light: rgba(29, 53, 87, .12);--glass-blur: 22px;--caustic-highlight: rgba(255, 255, 255, .82);--aquatic-text: var(--text-on-light);--aquatic-text-muted: var(--text-on-light-muted);--aquatic-accent: var(--mac-blue-light);--aquatic-glow: 0 0 28px rgba(168, 218, 220, .5);--aquatic-radius: 20px;--aquatic-dock-height: 62px;--aquatic-header-height: 72px;--aquatic-rail-width: 220px;--aquatic-chrome-top: calc( max(.35rem, env(safe-area-inset-top, 0px)) + var(--aquatic-header-height) );--aquatic-rail-padding-top: .7rem;--aquatic-coverflow-top: calc(var(--aquatic-chrome-top) + var(--aquatic-rail-padding-top));--aquatic-coverflow-dock-height: 15.5rem;--aquatic-assignment-spacer-height: calc(var(--aquatic-coverflow-dock-height) + 1rem);--aquatic-body-gutter-left: max(.85rem, env(safe-area-inset-left, 0px));--aquatic-body-gutter-right: max(.75rem, env(safe-area-inset-right, 0px));--aquatic-viewport-height: 100dvh;--aquatic-viewport-height-fallback: 100vh;--aquatic-page-gradient: linear-gradient( 180deg, #ffffff 0%, #f4fcff 14%, #e3f7fb 32%, #caf0f8 52%, #90e0ef 74%, #48cae4 90%, #0096c7 100% );--font-apple: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Helvetica, Arial, sans-serif}html,body{width:100%;height:100%;margin:0}.aquatic-shell,.aquatic-shell *{font-family:var(--font-apple)}.aquatic-shell .orb-label,.aquatic-shell .dock-label,.aquatic-shell .rail-label,.aquatic-shell .rail-link{color:var(--text-on-light)}#app.app--aquatic{width:100%;max-width:none;height:var(--aquatic-viewport-height, var(--aquatic-viewport-height-fallback));min-height:var(--aquatic-viewport-height, var(--aquatic-viewport-height-fallback));max-height:var(--aquatic-viewport-height, var(--aquatic-viewport-height-fallback));overflow:hidden}#app.app--aquatic.app--threejs-bg{background:var(--aquatic-page-gradient)}html:has(#app.app--aquatic),body:has(#app.app--aquatic){height:var(--aquatic-viewport-height, var(--aquatic-viewport-height-fallback));min-height:var(--aquatic-viewport-height, var(--aquatic-viewport-height-fallback));max-height:var(--aquatic-viewport-height, var(--aquatic-viewport-height-fallback));overflow:hidden;background:var(--aquatic-page-gradient)}body:has(#app.app--aquatic:not(.app--threejs-bg)){background:var(--aquatic-page-gradient)}#app.app--aquatic .aquatic-shell{width:100%;height:100%;min-height:100%;max-height:100%;overflow:hidden}:root:fullscreen,:root:-webkit-full-screen{width:100%;height:var(--aquatic-viewport-height, var(--aquatic-viewport-height-fallback))}:root:fullscreen #app.app--aquatic,:root:-webkit-full-screen #app.app--aquatic{height:var(--aquatic-viewport-height, var(--aquatic-viewport-height-fallback));max-height:var(--aquatic-viewport-height, var(--aquatic-viewport-height-fallback))}.glass-panel{background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(var(--glass-blur)) saturate(1.35);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.35);border-radius:var(--aquatic-radius);box-shadow:0 8px 32px #1d355724}.glass-panel-light{background:var(--glass-bg-light);border:1px solid var(--glass-border-light);backdrop-filter:blur(24px) saturate(1.2);-webkit-backdrop-filter:blur(24px) saturate(1.2);border-radius:var(--aquatic-radius);box-shadow:0 10px 36px #1d35571f;color:var(--text-on-light)}.glass-dock{background:#ffffff42;border:1px solid rgba(255,255,255,.5);backdrop-filter:blur(28px) saturate(1.5);-webkit-backdrop-filter:blur(28px) saturate(1.5);border-radius:18px;box-shadow:0 8px 28px #1d355729,inset 0 1px #ffffffa6;color:var(--text-on-light);overflow:visible}.glass-pill{background:#ffffff47;border:1px solid rgba(255,255,255,.52);backdrop-filter:blur(22px) saturate(1.45);-webkit-backdrop-filter:blur(22px) saturate(1.45);border-radius:999px;box-shadow:0 4px 16px #1d35571f;color:var(--text-on-light);overflow:visible}.aquatic-carousel.glass-pill{background:#ffffff52;padding-block:.28rem}.aquatic-shell{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;letter-spacing:-.011em}.aquatic-shell button,.aquatic-shell .header-btn,.aquatic-shell .carousel-orb{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}.aquatic-shell .header-btn:not(:disabled):hover,.aquatic-shell .avatar:hover{background:#ffffff38!important;box-shadow:0 0 0 1px #ffffff73,0 4px 14px #48cae459;transform:none!important;transition:background .15s cubic-bezier(.25,.46,.45,.94),box-shadow .15s cubic-bezier(.25,.46,.45,.94)}.aquatic-shell .carousel-orb{transition:transform .14s cubic-bezier(.25,.46,.45,.94)}@media(prefers-reduced-motion:reduce){.aquatic-shell .carousel-orb{transform:none}}@keyframes selection-ring-pulse{0%{transform:scale(1);opacity:.72}75%{transform:scale(1.62);opacity:.12}to{transform:scale(1.7);opacity:0}}.has-selection-ripple{position:relative;z-index:1}.has-selection-ripple:before,.has-selection-ripple:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50%;border:1.5px solid rgba(202,240,248,.8);box-shadow:0 0 12px #90e0ef59;pointer-events:none;z-index:-1}.has-selection-ripple:before{animation:selection-ring-pulse 3.8s ease-out infinite}.has-selection-ripple:after{animation:selection-ring-pulse 3.8s ease-out infinite;animation-delay:1.9s}@media(prefers-reduced-motion:reduce){.has-selection-ripple:before,.has-selection-ripple:after{animation:none;opacity:.35;transform:scale(1.12)}}.aquatic-shell:not(.aquatic-shell--forest) .aquatic-rail{width:280px;max-width:280px;margin:0 0 0 1rem;background:#ffffffa6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:0 24px 24px 0;padding:24px 0;box-shadow:0 8px 32px #1f26870d;border:1px solid rgba(255,255,255,.4);border-left:none}.aquatic-footer .dock.footer-nav,.aquatic-footer .dock{background:linear-gradient(135deg,#ff9f43,#ff6b35 32%,#f4511e 58%,#e53935 82%,#c62828);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);padding:12px 30px;border-radius:40px;border:1px solid rgba(255,220,190,.45);box-shadow:0 10px 32px #c6282852,inset 0 1px #ffffff47}.aquatic-shell{background:var(--aquatic-page-gradient)}.aquatic-bg{position:fixed;top:0;left:0;right:0;width:100%;height:var(--aquatic-viewport-height, 100dvh);min-height:var(--aquatic-viewport-height, 100dvh);z-index:0;background:radial-gradient(ellipse 120% 70% at 50% 0%,rgba(255,255,255,.72) 0%,transparent 55%),radial-gradient(ellipse 90% 50% at 50% 100%,rgba(72,202,228,.35) 0%,transparent 62%),var(--aquatic-page-gradient);overflow:hidden}.aquatic-bg:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='120' viewBox='0 0 240 120'%3E%3Cpath fill='%23ffffff' fill-opacity='0.12' d='M0 58 Q60 44 120 58 T240 58 V120 H0Z'/%3E%3Cpath fill='%2390e0ef' fill-opacity='0.1' d='M0 72 Q60 64 120 72 T240 72 V120 H0Z'/%3E%3C/svg%3E");background-size:480px 240px;animation:aquatic-drift 36s linear infinite;pointer-events:none;opacity:.85}.aquatic-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 95% 55% at 50% 88%,rgba(72,202,228,.28) 0%,transparent 58%),radial-gradient(ellipse 70% 40% at 20% 70%,rgba(255,255,255,.22) 0%,transparent 52%);mix-blend-mode:soft-light;opacity:.5;animation:aquatic-caustic-pulse 20s ease-in-out infinite alternate;pointer-events:none}.aquatic-planes{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden;clip-path:inset(0 72% 0 0)}.aquatic-planes .plane{position:absolute;border-radius:8px;transform:rotate(-11deg);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 8px 28px #1d35571a,inset 0 1px #ffffff59;animation:aquatic-plane-float 14s ease-in-out infinite}.aquatic-planes .plane-1{width:120px;height:44px;left:4%;top:52%;background:linear-gradient(135deg,#90e0ef6b,#48cae447);border:1px solid rgba(255,255,255,.28);animation-delay:0s}.aquatic-planes .plane-2{width:96px;height:36px;left:8%;top:62%;background:linear-gradient(135deg,#48cae461,#a8dadc38);border:1px solid rgba(255,255,255,.24);animation-delay:-3s}.aquatic-planes .plane-3{width:84px;height:30px;left:2%;top:72%;opacity:.55;background:linear-gradient(135deg,#48cae459,#0096c733);border:1px solid rgba(255,255,255,.2);animation-delay:-6s}.aquatic-planes .plane-4,.aquatic-planes .plane-5{display:none}@keyframes aquatic-plane-float{0%,to{transform:rotate(-11deg) translateY(0)}50%{transform:rotate(-11deg) translateY(-6px)}}@keyframes aquatic-caustic-pulse{0%{opacity:.38;transform:scale(1)}to{opacity:.52;transform:scale(1.02) translate(.4%,-.4%)}}@keyframes aquatic-drift{0%{transform:translate(0)}to{transform:translate(-120px,-18px)}}.aquatic-shell--forest{background:transparent}@media(prefers-reduced-motion:reduce){.aquatic-bg:before,.aquatic-bg:after,.aquatic-planes .plane{animation:none}}.aquatic-shell .aquatic-body{position:relative;z-index:20;isolation:isolate}.aquatic-shell .aquatic-header{position:relative;z-index:250}.aquatic-shell .aquatic-carousel{z-index:45}.aquatic-shell .aquatic-footer{z-index:50}.aquatic-shell .aquatic-rail,.aquatic-shell .aquatic-stage{position:relative;z-index:1}.aquatic-shell .orb-icon,.aquatic-shell .dock-icon,.aquatic-shell .rail-icon,.aquatic-shell .header-btn-glyph{display:inline-flex;align-items:center;justify-content:center;line-height:1;overflow:visible;position:relative;z-index:2}.aquatic-shell .orb-bubble,.aquatic-shell .dock-icon-wrap,.aquatic-shell .header-btn,.aquatic-shell .user-menu-trigger{overflow:visible;isolation:isolate}.aquatic-shell .carousel-orb,.aquatic-shell .dock-item,.aquatic-shell .rail-link{overflow:visible}.aquatic-shell--carousel-open .aquatic-stage:not(.aquatic-stage--hero):not(.aquatic-stage--forest){padding-top:2.75rem;padding-right:max(.75rem,env(safe-area-inset-right,0px))}@media(max-width:900px){.aquatic-shell--carousel-open .aquatic-stage:not(.aquatic-stage--hero){padding-right:.5rem}}.aquatic-shell--forest.aquatic-shell{background:transparent}.aquatic-shell--forest .aquatic-top-carousel,.aquatic-shell--forest .aquatic-carousel,.aquatic-shell--forest .nav-bridge{display:none!important}.aquatic-shell--forest .aquatic-body{pointer-events:none}.aquatic-shell--forest .aquatic-side-rail,.aquatic-shell--forest .aquatic-rail,.aquatic-shell--forest .aquatic-stage{pointer-events:auto}.aquatic-shell--forest .aquatic-body{display:grid;grid-template-columns:var(--aquatic-rail-width) minmax(0,1fr);column-gap:.65rem;align-items:start;position:relative;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 var(--aquatic-body-gutter-right) calc(var(--aquatic-dock-height) + 1.75rem) var(--aquatic-body-gutter-left)}.aquatic-shell--forest.aquatic-shell--submerged .aquatic-body,.aquatic-shell--forest.aquatic-shell--underwater .aquatic-body{transform:none}.aquatic-shell--forest.aquatic-shell--submerged,.aquatic-shell--forest.aquatic-shell--underwater{filter:none}.aquatic-shell--forest .aquatic-rail{position:sticky;top:var(--aquatic-chrome-top);left:auto;grid-column:1;grid-row:1;z-index:35;width:100%;max-width:none;max-height:min(32rem,calc(var(--aquatic-viewport-height, 100dvh) - var(--aquatic-dock-height) - var(--aquatic-header-height) - 2.5rem));margin:0;padding:var(--aquatic-rail-padding-top) 0 .45rem;align-self:start;border-radius:16px;border:1px solid rgba(255,255,255,.72);background:#ffffffd1;box-shadow:0 10px 36px #1d35571a}.aquatic-shell--forest .coverflow-section--docked,#app.app--aquatic .coverflow-section--docked{position:fixed;top:var(--aquatic-coverflow-top);left:calc(var(--aquatic-body-gutter-left) + var(--aquatic-rail-width) + .65rem);right:var(--aquatic-body-gutter-right);z-index:200;width:auto;min-height:10rem;margin:0;padding:.35rem .5rem .2rem;pointer-events:auto;border:1px solid rgba(72,202,228,.22);border-radius:16px;background:linear-gradient(165deg,#0a1628,#1d3557 48%,#0f2744);box-shadow:0 12px 32px #050f2373,inset 0 1px #ffffff0f;display:flex;flex-direction:column;align-items:center;overflow:visible}.aquatic-shell--forest .coverflow-section--docked .assignment-swiper,#app.app--aquatic .coverflow-section--docked .assignment-swiper{width:100%;margin:0 auto}.aquatic-shell--forest .coverflow-section--docked .coverflow-hint,#app.app--aquatic .coverflow-section--docked .coverflow-hint{color:#e0f2fed1}.aquatic-shell--forest .assignments-shell--docked .coverflow-dock-spacer,#app.app--aquatic .assignments-shell--docked .coverflow-dock-spacer{display:block;height:var(--aquatic-assignment-spacer-height);flex-shrink:0;pointer-events:none}.aquatic-shell--forest .assignments-shell--docked .assignment-page-section{position:relative;z-index:1}.aquatic-shell--forest .aquatic-stage{grid-column:2;grid-row:1;min-width:0;margin:0;padding:.5rem 0 1rem;min-height:0;background:transparent!important;border:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;pointer-events:auto}.aquatic-shell--forest .aquatic-stage:has(.assignments-tab){padding-top:var(--aquatic-rail-padding-top)}.aquatic-shell--forest .aquatic-stage--hero,.aquatic-shell--forest .aquatic-stage--submerged{background:transparent!important;border:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.aquatic-shell--forest .aquatic-stage--hero :deep(.student-dashboard),.aquatic-shell--forest .aquatic-stage--hero :deep(.courses-page),.aquatic-shell--forest .aquatic-stage--submerged :deep(.student-dashboard),.aquatic-shell--forest .aquatic-stage--submerged :deep(.courses-page){visibility:visible;height:auto;overflow:visible}.aquatic-shell--forest .aquatic-stage :deep(.dashboard),.aquatic-shell--forest .aquatic-stage :deep(.courses-page),.aquatic-shell--forest .aquatic-stage :deep(.payment-page),.aquatic-shell--forest .aquatic-stage :deep(.account-page),.aquatic-shell--forest .aquatic-stage :deep(.tab-panel),.aquatic-shell--forest .aquatic-stage :deep(.panel),.aquatic-shell--forest .aquatic-stage :deep(.comms-hub),.aquatic-shell--forest .aquatic-stage :deep(.assignment-coverflow){max-width:none;width:100%}.aquatic-shell--forest .aquatic-footer{bottom:max(.85rem,env(safe-area-inset-bottom,0px));width:min(94vw,44rem);z-index:55}.aquatic-shell--forest .aquatic-footer .dock.footer-nav,.aquatic-shell--forest .aquatic-footer .dock{border-radius:999px;padding:.55rem 1.85rem .65rem;gap:.25rem;background:linear-gradient(135deg,#ff9f43,#ff6b35 32%,#f4511e 58%,#e53935 82%,#c62828);border:1px solid rgba(255,220,190,.5);box-shadow:0 12px 40px #c6282857,inset 0 1px #ffffff4d}.aquatic-shell--forest .dock-item{flex:1 1 0;min-width:3rem;max-width:5.25rem}.aquatic-shell--forest .aquatic-stage :deep(.courses-page h1),.aquatic-shell--forest .aquatic-stage :deep(.tab-title),.aquatic-shell--forest .aquatic-stage :deep(h1){color:var(--text-on-light);font-weight:700;letter-spacing:-.02em}.aquatic-shell--forest .aquatic-stage :deep(.page-subtitle),.aquatic-shell--forest .aquatic-stage :deep(.aquatic-hint),.aquatic-shell--forest .aquatic-stage :deep(.empty),.aquatic-shell--forest .aquatic-stage :deep(.empty-state){color:var(--text-on-light-muted)}@media(max-width:900px){.aquatic-shell--forest .aquatic-body{grid-template-columns:min(14rem,72vw) minmax(0,1fr)}.aquatic-shell--forest .coverflow-section--docked,#app.app--aquatic .coverflow-section--docked{left:calc(var(--aquatic-body-gutter-left) + min(14rem,72vw) + .65rem)}}@media(max-width:768px){.aquatic-shell--forest .aquatic-body{display:block;padding-left:max(.5rem,env(safe-area-inset-left,0px));padding-right:max(.75rem,env(safe-area-inset-right,0px))}.aquatic-shell--forest .aquatic-rail{position:static;width:100%;max-width:none;max-height:none;margin:0 0 .65rem}.aquatic-shell--forest .coverflow-section--docked,#app.app--aquatic .coverflow-section--docked{left:max(.5rem,env(safe-area-inset-left,0px));right:max(.75rem,env(safe-area-inset-right,0px))}.aquatic-shell--forest .aquatic-stage{padding:.5rem 0 1rem}}@media(max-width:640px){.aquatic-shell--forest .aquatic-body{padding:0 max(.5rem,env(safe-area-inset-right,0px)) calc(var(--aquatic-dock-height) + 1rem) max(.5rem,env(safe-area-inset-left,0px))}.aquatic-shell--forest .aquatic-rail{border-radius:12px;padding:.55rem 0 .35rem}.aquatic-shell--forest .aquatic-footer{width:min(98vw,calc(100vw - 1rem))}.aquatic-shell--forest .aquatic-footer .dock{padding:.45rem .85rem .55rem;gap:.15rem}.aquatic-shell--forest .dock-item{min-width:2.75rem;max-width:4.5rem}.aquatic-shell--forest .dock-label{font-size:.62rem}}:root{--bp-sm: 640px;--bp-md: 768px;--bp-lg: 1024px;--content-max: none;--touch-target-min: 44px;--page-gutter: clamp(1rem, 3vw, 2rem);--page-gutter-sm: max(.75rem, env(safe-area-inset-left, 0px))}html{overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%}img,video,canvas,iframe,svg:not(:root){max-width:100%;height:auto}input,select,textarea{font-size:max(16px,1em)}@media(max-width:640px){button,.btn,.nav-link,.dock-item,.rail-link,.header-btn,.dash-tabs button{min-height:var(--touch-target-min)}}#app:not(.app--aquatic) .main-content{max-width:none;margin:0;width:100%}@media(max-width:1024px){#app:not(.app--aquatic) .main-content{padding:var(--page-gutter)}}@media(max-width:768px){#app:not(.app--aquatic) .navbar{flex-wrap:wrap;gap:.75rem;padding:.75rem var(--page-gutter)}#app:not(.app--aquatic) .navbar-menu{flex-wrap:wrap;gap:.5rem .75rem}#app:not(.app--aquatic) .logo{font-size:1.25rem}}@media(max-width:640px){#app:not(.app--aquatic) .navbar{flex-direction:column;align-items:stretch;padding:.75rem var(--page-gutter-sm);padding-right:max(.75rem,env(safe-area-inset-right,0px))}#app:not(.app--aquatic) .navbar-menu{justify-content:flex-start;width:100%}#app:not(.app--aquatic) .nav-link{display:inline-flex;align-items:center;padding:.35rem .5rem}#app:not(.app--aquatic) .main-content{padding:1rem var(--page-gutter-sm);padding-right:max(1rem,env(safe-area-inset-right,0px))}#app:not(.app--aquatic) .footer{padding:1rem var(--page-gutter-sm);font-size:.875rem}}.auth-page{padding-left:max(1rem,env(safe-area-inset-left,0px));padding-right:max(1rem,env(safe-area-inset-right,0px))}@media(max-width:640px){.auth-page{align-items:stretch;min-height:calc(100dvh - 6rem);padding-top:1rem;padding-bottom:1rem}.auth-card{padding:1.5rem 1.25rem;border-radius:calc(var(--radius, 8px) + 4px)}}:global(.assignments-tab.tab-panel){padding-top:0;background:transparent;box-shadow:none}@media(max-width:768px){:global(.assignments-tab.tab-panel){padding-left:0;padding-right:0}}@media(max-width:768px){.dashboard-header{flex-direction:column;align-items:flex-start;gap:.75rem}.panel-header{flex-direction:column;align-items:flex-start;gap:.5rem}.panel,.tab-panel,.student-dashboard{padding:1rem}}@media(max-width:640px){.dash-tabs{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;gap:.4rem;margin-bottom:1rem;padding-bottom:.35rem;scrollbar-width:thin}.dash-tabs button{flex:0 0 auto;scroll-snap-align:start;white-space:nowrap;min-height:var(--touch-target-min)}.stats-grid{grid-template-columns:1fr;gap:1rem;margin-bottom:1.25rem}.stat-card{padding:1rem}.stat-number{font-size:1.65rem}.achievements-grid{grid-template-columns:1fr}.courses-page,.courses-grid{padding-left:0;padding-right:0}}.tab-panel,.panel{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table,.reg-table,.sheet,.grid,.sd-table,.mini-table{width:100%;min-width:min(100%,32rem)}@media(max-width:640px){.data-table,.reg-table,.sheet,.grid{min-width:36rem}.data-table th,.data-table td,.reg-table th,.reg-table td{padding:.5rem .65rem;font-size:.85rem}}#app.app--aquatic .aquatic-stage :deep(.dashboard),#app.app--aquatic .aquatic-stage :deep(.courses-page),#app.app--aquatic .aquatic-stage :deep(.payment-page),#app.app--aquatic .aquatic-stage :deep(.account-page),#app.app--aquatic .aquatic-stage :deep(.tab-panel),#app.app--aquatic .aquatic-stage :deep(.panel),#app.app--aquatic .aquatic-stage :deep(.comms-hub),#app.app--aquatic .aquatic-stage :deep(.assignment-coverflow){max-width:none;width:100%}@media(max-width:900px){.aquatic-shell:not(.aquatic-shell--forest) .aquatic-body{display:block}.aquatic-shell:not(.aquatic-shell--forest) .aquatic-stage{margin:0 max(.5rem,env(safe-area-inset-left,0px));padding-left:.75rem;padding-right:max(.75rem,env(safe-area-inset-right,0px))}}@media(max-width:640px){.aquatic-header{padding-left:max(.65rem,env(safe-area-inset-left,0px));padding-right:max(.65rem,env(safe-area-inset-right,0px))}.aquatic-shell:not(.aquatic-shell--forest) .aquatic-stage{margin:0;padding:.5rem max(.65rem,env(safe-area-inset-right,0px)) 1rem max(.65rem,env(safe-area-inset-left,0px))}.aquatic-footer{padding-left:max(.35rem,env(safe-area-inset-left,0px));padding-right:max(.35rem,env(safe-area-inset-right,0px))}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--primary: #0077b6;--primary-dark: #023e8a;--secondary: #f4a261;--accent: #e76f51;--bg: #f8f9fa;--surface: #ffffff;--text: #212529;--text-light: #6c757d;--border: #dee2e6;--radius: 8px;--shadow: 0 2px 8px rgba(0, 0, 0, .08)}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}#app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}#app:not(.app--aquatic){min-height:100vh;min-height:100dvh}.app--aquatic{background:var(--aquatic-page-gradient);min-height:var(--aquatic-viewport-height, 100dvh)}.app--aquatic.app--threejs-bg{background:var(--aquatic-page-gradient)}.app--threejs-bg:not(.app--aquatic){background:transparent}.app--threejs-bg:not(.app--aquatic) .navbar,.app--threejs-bg:not(.app--aquatic) .footer{background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.app--threejs-bg:not(.app--aquatic) .main-content{background:transparent}.navbar{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:var(--surface);box-shadow:var(--shadow);position:sticky;top:0;z-index:100}.navbar-brand{display:flex;align-items:center;gap:.75rem}.logo{display:inline-flex;align-items:center;text-decoration:none;line-height:0}.navbar-menu{display:flex;align-items:center;gap:1rem}.nav-link{color:var(--text);text-decoration:none;font-weight:500;transition:color .2s}.nav-link:hover{color:var(--primary)}.btn{padding:.5rem 1.25rem;border-radius:var(--radius);font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s;border:none;font-size:.9rem}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-outline{background:transparent;border:2px solid var(--primary);color:var(--primary)}.btn-outline:hover{background:var(--primary);color:#fff}.main-content{flex:1 1 auto;min-height:0;padding:2rem var(--page-gutter, clamp(1rem, 3vw, 2rem));max-width:none;margin:0;width:100%}.footer{flex-shrink:0;margin-top:auto;text-align:center;padding:2rem;background:var(--surface);color:var(--text-light);border-top:1px solid var(--border)}.app--threejs-bg:not(.app--aquatic){min-height:100dvh;display:flex;flex-direction:column}.app--threejs-bg:not(.app--aquatic) .footer{position:sticky;bottom:0;z-index:10}
