@media (width>=1401px){.jess-nav-mobile,.jess-nav-backdrop{display:none}.jess-navigation--sidebar{--sidebar-width:248px;--sidebar-inset:max(12px, env(safe-area-inset-left))}.jess-navigation--sidebar.is-sidebar-collapsed{--sidebar-width:72px}.jess-navigation--sidebar .jess-nav-bar{max-width:none}.jess-nav-sidebar{z-index:2;top:calc(98px + env(safe-area-inset-top));bottom:max(12px, env(safe-area-inset-bottom));left:var(--sidebar-inset);width:var(--sidebar-width);color:var(--text,#f4f7fc);background:var(--glass-bg,#002454b3);border:1px solid var(--glass-border,#ffffff38);box-shadow:var(--glass-shadow), var(--glass-highlight);-webkit-backdrop-filter:var(--blur,blur(22px) saturate(170%));border-radius:12px;flex-direction:column;padding:12px;display:flex;position:fixed}.jess-nav-sidebar-heading{flex:none;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.jess-nav-sidebar-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding-left:12px;font-size:.8rem;font-weight:700}.jess-nav-sidebar-links{flex-direction:column;gap:6px;min-height:0;margin:0;padding:2px;list-style:none;display:flex;overflow-y:auto}.jess-nav-sidebar-links>li{min-width:0}.jess-nav-sidebar-links .nav-link{white-space:normal;overflow-wrap:anywhere;border-radius:6px;align-items:center;gap:12px;width:100%;height:auto;min-height:46px;padding:12px;display:flex}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.jess-nav-bar,.jess-nav-mobile,.jess-nav-dropdown,.jess-nav-info,.jess-navigation .dropdown,.jess-nav-sidebar{background:var(--brand-deep,#111827)}}.jess-nav-sidebar-links .nav-link>svg{flex:none}.jess-nav-sidebar-links [aria-disabled=true]{color:var(--text-faint);cursor:not-allowed}.is-sidebar-collapsed .jess-nav-sidebar-title,.is-sidebar-collapsed .jess-nav-sidebar .jess-nav-link-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.is-sidebar-collapsed .jess-nav-sidebar-heading,.is-sidebar-collapsed .jess-nav-sidebar-links .nav-link{justify-content:center}.is-sidebar-collapsed .jess-nav-sidebar .jess-nav-group-chevron{display:none}.is-sidebar-collapsed .jess-nav-sidebar .jess-nav-group-items{border-left:0;margin-left:0;padding-left:0}.jess-navigation--sidebar~.portal-content{margin-left:calc(248px + max(12px, env(safe-area-inset-left)) + 12px);min-width:0}.jess-navigation--sidebar.is-sidebar-collapsed~.portal-content{margin-left:calc(72px + max(12px, env(safe-area-inset-left)) + 12px)}}@media (width<=1400px){.jess-nav-links,.jess-nav-actions>*,.jess-nav-account{display:none}.jess-nav-toggle{display:inline-grid}.jess-nav-bar{gap:4px;min-height:60px;padding:6px 8px}.jess-nav-controls{gap:0}}@media (width<=600px){.jess-nav-brand{flex:1;gap:8px}.jess-nav-brand>:first-child{flex-shrink:0;max-width:80px}.jess-nav-brand>span:last-child{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;min-width:0;font-size:.9rem;line-height:1.3;overflow:visible}.jess-nav-actions{display:none}.jess-nav-icon,.jess-nav-avatar-link{width:40px;height:44px}}.portal-support-trigger{border-radius:14px;width:44px;height:44px}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(6px);background:#00051480;place-items:center;padding:16px;animation:.2s ease-out portal-modal-fade;display:grid;position:fixed;inset:0}.modal{width:min(720px,100%);max-height:calc(100dvh - 32px);padding:clamp(20px,4vw,32px);animation:.2s ease-out portal-modal-pop;overflow-y:auto}.modal.glass{background:var(--glass-bg-strong)}.modal-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.modal-header h2{margin:0}.portal-support-dialog{color:var(--text);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow), var(--glass-highlight);-webkit-backdrop-filter:var(--blur);border-radius:16px;font-family:Segoe UI Variable,Segoe UI,system-ui,-apple-system,Helvetica Neue,Arial,sans-serif;font-size:1rem;line-height:1.5}.portal-support-dialog h2{letter-spacing:-.025em;font-size:1.5rem;font-weight:600;line-height:1.25}.portal-support-dialog p{margin:0 0 16px;line-height:1.5}.portal-support-dialog .field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.portal-support-dialog label{color:var(--text-muted);margin:0;font-size:.875rem;font-weight:600;display:block}.portal-support-dialog .support-details{border:1px solid var(--border-strong);background:var(--surface-canvas);width:100%;min-height:46px;color:var(--text);overflow-wrap:anywhere;resize:vertical;box-shadow:none;border-radius:8px;padding:11px 14px;font-family:monospace;font-size:.85rem;line-height:1.5}.portal-support-dialog .support-details:focus{border-color:var(--brand-accent);background:#000a2366}.portal-support-copy{background:var(--brand);min-height:44px;color:var(--brand-foreground);font:inherit;cursor:pointer;white-space:nowrap;box-shadow:var(--glass-highlight);-webkit-backdrop-filter:blur(10px);border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:10px;padding:0 20px;font-weight:600;display:inline-flex}.portal-support-copy:hover{background:color-mix(in srgb, var(--brand), var(--brand-foreground) 8%)}.portal-support-dialog .modal-header button{width:44px;height:44px;min-height:44px;color:inherit;box-shadow:none;background:0 0;border:1px solid #0000;border-radius:14px;flex:none;place-items:center;padding:0;display:inline-grid}.portal-support-dialog .modal-header button:hover{background:var(--surface-hover);transform:none}.portal-support-alert{border-radius:8px;align-items:flex-start;gap:10px;margin-bottom:16px;padding:14px;display:flex}.portal-support-alert>svg{flex:none}.portal-support-alert.error{color:#ff8a8a;background:#ff5c5c1f}.portal-support-alert.success{color:#7ff0bf;background:#40dc961f}.portal-support-dialog :focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@keyframes portal-modal-fade{0%{opacity:0;transform:translateY(6px)}}@keyframes portal-modal-pop{0%{opacity:0;transform:translateY(-6px)scale(.98)}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.modal.glass{background:var(--brand-deep)}}@media (width<=600px){.modal-backdrop{place-items:end stretch;padding:0}.modal{width:100%;max-height:92dvh;padding-bottom:calc(20px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0}}.jess-navigation{--nav-scroll-tint:color-mix(in srgb, var(--app-bg-color,var(--brand,#002454)), black 18%);z-index:50;padding:calc(10px + env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 10px max(12px, env(safe-area-inset-left));font-family:Segoe UI Variable,Segoe UI,system-ui,-apple-system,Helvetica Neue,Arial,sans-serif;font-size:1rem;line-height:1.5;position:sticky;top:0}.jess-navigation:before{content:"";z-index:0;pointer-events:none;background:linear-gradient(to bottom, color-mix(in srgb, var(--nav-scroll-tint), transparent 28%) 0%, color-mix(in srgb, var(--nav-scroll-tint), transparent 36%) 70%, transparent 100%);-webkit-backdrop-filter:blur(16px);opacity:0;transition:opacity .2s;position:absolute;inset:0 0 -16px;-webkit-mask-image:linear-gradient(#000 70%,#0000 100%);mask-image:linear-gradient(#000 70%,#0000 100%)}.jess-navigation.is-scrolled:before{opacity:1}.jess-navigation.is-scrolled .jess-nav-bar{background:var(--glass-bg,linear-gradient(135deg, #ffffff29, #ffffff0d)) color-mix(in srgb, var(--nav-scroll-tint), transparent 48%);-webkit-backdrop-filter:blur(32px)saturate(140%)}.jess-nav-bar,.jess-nav-mobile,.jess-nav-dropdown,.jess-nav-info{color:var(--text,#f4f7fc);background:var(--glass-bg,#002454b3);border:1px solid var(--glass-border,#ffffff38);box-shadow:var(--glass-shadow), var(--glass-highlight);-webkit-backdrop-filter:var(--blur,blur(22px) saturate(170%))}.jess-nav-mobile,.jess-nav-dropdown,.jess-nav-info{background:var(--glass-bg-strong,#002454e6)}.jess-nav-bar{z-index:2;border-radius:12px;align-items:center;gap:12px;max-width:1280px;min-height:64px;margin:auto;padding:8px 12px 8px 18px;display:flex;position:relative}.jess-nav-brand{min-width:0;color:inherit;align-items:center;gap:10px;font-weight:700;text-decoration:none;display:flex}.jess-nav-brand>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.jess-nav-brand img{object-fit:contain;width:auto;max-width:120px;height:38px}.jess-nav-links{align-items:center;gap:4px;margin:0;padding:0;list-style:none;display:flex}.jess-nav-links a,.jess-nav-mobile>a{color:var(--text-muted);white-space:nowrap;border-radius:6px;align-items:center;gap:8px;padding:10px 12px;font-weight:600;text-decoration:none;display:flex}.jess-nav-links a:hover,.jess-nav-links a.active,.jess-nav-mobile a:hover,.jess-nav-mobile a.active{color:var(--text);background:var(--surface-hover)}.jess-navigation .dropdown{background:var(--glass-bg-strong,#002454e6);-webkit-backdrop-filter:var(--blur,blur(22px))}.jess-navigation.is-scrolled .jess-nav-mobile,.jess-navigation.is-scrolled .jess-nav-dropdown,.jess-navigation.is-scrolled .dropdown{background:var(--glass-bg,linear-gradient(135deg, #ffffff29, #ffffff0d)) color-mix(in srgb, var(--nav-scroll-tint), transparent 12%)}.jess-nav-mobile .nav-link{height:auto;min-height:48px;display:flex}.jess-nav-mobile .mobile-group-items .nav-link{min-height:44px}.jess-nav-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.jess-nav-controls,.jess-nav-account{flex:none;align-items:center;gap:4px;display:flex}.jess-nav-account{position:relative}.jess-nav-icon,.jess-nav-avatar-link{width:40px;height:40px;color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex:none;place-items:center;padding:3px;text-decoration:none;display:inline-grid}.jess-nav-icon:hover,.jess-nav-avatar-link:hover,.jess-nav-icon[aria-expanded=true]{background:var(--surface-hover)}.jess-navigation :focus-visible{outline:2px solid var(--focus-ring,#fff);outline-offset:2px}.jess-nav-avatar{background:var(--brand-deep,#111827);border-radius:50%;place-items:center;width:32px;height:32px;font-size:.8rem;font-weight:700;display:grid}.jess-nav-dropdown{border-radius:12px;width:min(280px,100vw - 32px);max-height:calc(100dvh - 110px);padding:8px;position:absolute;top:calc(100% + 10px);right:0;overflow-y:auto}.jess-nav-account-heading{border-bottom:1px solid var(--glass-border);margin-bottom:6px;padding:10px 12px}.jess-nav-account-heading strong,.jess-nav-account-heading span{overflow-wrap:anywhere;display:block}.jess-nav-account-heading strong{font-weight:700}.jess-nav-account-heading span{color:var(--text-muted);margin-top:4px;font-size:.85rem}.jess-nav-dropdown [role=menuitem],.jess-nav-mobile-account [role=menuitem]{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;min-height:44px;padding:12px;text-decoration:none;display:flex}.jess-nav-dropdown [role=menuitem]:hover,.jess-nav-dropdown [role=menuitem]:focus,.jess-nav-mobile-account [role=menuitem]:hover,.jess-nav-mobile-account [role=menuitem]:focus{background:var(--surface-hover)}.jess-nav-dropdown [role=menuitem]>svg,.jess-nav-mobile-account [role=menuitem]>svg{flex:none}.jess-nav-dropdown [role=menuitem]:disabled,.jess-nav-mobile-account [role=menuitem]:disabled{opacity:.55;cursor:not-allowed}.jess-nav-dropdown p,.jess-nav-mobile-account p{overflow-wrap:anywhere;margin:8px 12px;font-size:.85rem}.jess-nav-dropdown [role=alert],.jess-nav-mobile-account [role=alert]{color:var(--danger,#ff8a8a)}.jess-nav-toggle{display:none}.jess-nav-mobile{z-index:2;max-width:1280px;max-height:calc(100dvh - 110px - env(safe-area-inset-top));border-radius:12px;margin:10px auto 0;padding:10px;position:relative;overflow-y:auto}.jess-nav-mobile>a{min-height:48px}.jess-nav-mobile-user{border-bottom:1px solid var(--glass-border);align-items:center;gap:12px;margin-bottom:6px;padding:10px 12px 16px;display:flex}.jess-nav-mobile-user>div{min-width:0}.jess-nav-mobile-user strong,.jess-nav-mobile-user>div>span{overflow-wrap:anywhere;display:block}.jess-nav-mobile-user>div>span{color:var(--text-muted);margin-top:4px;font-size:.9rem}.jess-nav-mobile-user>.avatar,.jess-nav-mobile-user>.jess-nav-avatar{flex:none;width:44px!important;height:44px!important}.jess-nav-mobile-account{border-top:1px solid var(--glass-border);margin-top:8px;padding-top:8px}.jess-nav-mobile-account [role=menuitem]{min-height:48px;color:var(--text-muted);font-weight:600}.jess-nav-backdrop{z-index:1;background:#00081e66;border:0;position:fixed;inset:0}.jess-nav-info{overflow-wrap:anywhere;border-radius:12px;max-width:min(540px,100vw - 24px);padding:24px}.jess-nav-info::backdrop{background:#00081e99}.jess-nav-info>button{float:right}.jess-nav-sidebar{display:none}.jess-nav-portal-links,.jess-nav-group-items{margin:0;padding:0;list-style:none}.jess-nav-group-toggle{width:100%;color:var(--text-muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:12px;padding:12px;font-weight:600;display:flex}.jess-nav-group-toggle:hover{background:var(--surface-hover);color:var(--text)}.jess-nav-group-chevron{flex:none;margin-left:auto;transition:transform .15s}.jess-nav-group-toggle[aria-expanded=true] .jess-nav-group-chevron{transform:rotate(180deg)}.jess-nav-group-items{border-left:1px solid var(--glass-border);margin:4px 0 4px 14px;padding-left:8px}.jess-nav-portal-links .nav-link{min-height:46px;color:var(--text-muted);border-radius:6px;align-items:center;gap:12px;padding:12px;font-weight:600;text-decoration:none;display:flex}.jess-nav-group-items[hidden]{display:none}.jess-nav-avatar img{border-radius:inherit;object-fit:cover;width:100%;height:100%}.jess-nav-sidebar-links .nav-link{color:var(--text-muted);text-decoration:none}.jess-nav-sidebar-links .nav-link:hover,.jess-nav-sidebar-links .nav-link.active{background:var(--surface-hover);color:var(--text)}@media (width>=1401px){.jess-nav-mobile,.jess-nav-backdrop{display:none}.jess-navigation--sidebar{--sidebar-width:248px;--sidebar-inset:max(12px, env(safe-area-inset-left))}.jess-navigation--sidebar.is-sidebar-collapsed{--sidebar-width:72px}.jess-navigation--sidebar .jess-nav-bar{max-width:none}.jess-nav-sidebar{z-index:2;top:calc(98px + env(safe-area-inset-top));bottom:max(12px, env(safe-area-inset-bottom));left:var(--sidebar-inset);width:var(--sidebar-width);color:var(--text,#f4f7fc);background:var(--glass-bg,#002454b3);border:1px solid var(--glass-border,#ffffff38);box-shadow:var(--glass-shadow), var(--glass-highlight);-webkit-backdrop-filter:var(--blur,blur(22px) saturate(170%));border-radius:12px;flex-direction:column;padding:12px;display:flex;position:fixed}.jess-nav-sidebar-heading{flex:none;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.jess-nav-sidebar-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding-left:12px;font-size:.8rem;font-weight:700}.jess-nav-sidebar-links{flex-direction:column;gap:6px;min-height:0;margin:0;padding:2px;list-style:none;display:flex;overflow-y:auto}.jess-nav-sidebar-links>li{min-width:0}.jess-nav-sidebar-links .nav-link{white-space:normal;overflow-wrap:anywhere;border-radius:6px;align-items:center;gap:12px;width:100%;height:auto;min-height:46px;padding:12px;display:flex}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.jess-nav-bar,.jess-nav-mobile,.jess-nav-dropdown,.jess-nav-info,.jess-navigation .dropdown,.jess-nav-sidebar{background:var(--brand-deep,#111827)}}.jess-nav-sidebar-links .nav-link>svg{flex:none}.jess-nav-sidebar-links [aria-disabled=true]{color:var(--text-faint);cursor:not-allowed}.is-sidebar-collapsed .jess-nav-sidebar-title,.is-sidebar-collapsed .jess-nav-sidebar .jess-nav-link-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.is-sidebar-collapsed .jess-nav-sidebar-heading,.is-sidebar-collapsed .jess-nav-sidebar-links .nav-link{justify-content:center}.is-sidebar-collapsed .jess-nav-sidebar .jess-nav-group-chevron{display:none}.is-sidebar-collapsed .jess-nav-sidebar .jess-nav-group-items{border-left:0;margin-left:0;padding-left:0}.jess-navigation--sidebar~.portal-content{margin-left:calc(248px + max(12px, env(safe-area-inset-left)) + 12px);min-width:0}.jess-navigation--sidebar.is-sidebar-collapsed~.portal-content{margin-left:calc(72px + max(12px, env(safe-area-inset-left)) + 12px)}}@media (width<=1400px){.jess-nav-links,.jess-nav-actions>*,.jess-nav-account{display:none}.jess-nav-toggle{display:inline-grid}.jess-nav-bar{gap:4px;min-height:60px;padding:6px 8px}.jess-nav-controls{gap:0}}@media (width<=600px){.jess-nav-brand{flex:1;gap:8px}.jess-nav-brand>:first-child{flex-shrink:0;max-width:80px}.jess-nav-brand>span:last-child{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;min-width:0;font-size:.9rem;line-height:1.3;overflow:visible}.jess-nav-actions{display:none}.jess-nav-icon,.jess-nav-avatar-link{width:40px;height:44px}}:root{--brand-deep:color-mix(in srgb, var(--brand), #111827 82%);--surface-canvas:#000a2347;--surface-1:#ffffff0f;--surface-2:#ffffff1f;--surface-hover:#fff3;--border-subtle:#d6e2f229;--border-strong:#d6e2f247;--shadow-card:0 2px 8px #00000038, 0 12px 28px #00000024;--focus-ring:#fff;--focus-halo:#111827;--app-bg-color:var(--brand);--app-bg-deep:color-mix(in oklab, var(--app-bg-color), black 35%);--app-bg-soft:color-mix(in oklab, var(--app-bg-color), white 22%);--app-bg-glow:color-mix(in oklab, var(--app-bg-color), #4cc3ff 55%);--text:var(--branding-text,#f3f5f7);--text-muted:var(--branding-text,#c3ccd8);--text-faint:var(--branding-text,#a8b5c5);--glass-bg:linear-gradient(135deg, #ffffff29, #ffffff0d);--glass-bg-strong:linear-gradient(135deg, color-mix(in srgb, var(--brand-deep), transparent 12%), color-mix(in srgb, var(--brand-deep), transparent 22%));--glass-border:#ffffff38;--glass-highlight:inset 0 1px 0 #ffffff47, inset 0 -1px 0 #ffffff0d;--glass-shadow:0 10px 40px #00081e59;--blur:blur(22px) saturate(170%)}.fluid-bg{z-index:-1;background:radial-gradient(120% 90% at 10% 0%, var(--app-bg-soft) 0%, transparent 55%), radial-gradient(100% 80% at 100% 100%, color-mix(in oklab, var(--app-bg-color), #3a7bd5 35%) 0%, transparent 60%), linear-gradient(160deg, var(--app-bg-color) 0%, var(--app-bg-deep) 100%);position:fixed;inset:0;overflow:hidden}.fluid-bg:after{content:"";background-image:var(--app-bg-image);opacity:.35;mix-blend-mode:soft-light;background-position:50%;background-size:cover;position:absolute;inset:0}.fluid-bg .orb{filter:blur(70px);opacity:.55;will-change:transform;border-radius:50%;position:absolute}.fluid-bg .orb-1{background:var(--app-bg-glow);width:46vmax;height:46vmax;animation:26s ease-in-out infinite alternate drift-1;top:-10vmax;left:-12vmax}.fluid-bg .orb-2{background:color-mix(in oklab, var(--app-bg-color), #7b5cff 55%);width:38vmax;height:38vmax;animation:32s ease-in-out infinite alternate drift-2;top:20vh;right:-10vmax}.fluid-bg .orb-3{background:color-mix(in oklab, var(--app-bg-color), #00d1c1 45%);width:34vmax;height:34vmax;animation:28s ease-in-out infinite alternate drift-3;bottom:-16vmax;left:25vw}@keyframes drift-1{to{transform:translate(18vw,14vh)scale(1.15)}}@keyframes drift-2{to{transform:translate(-16vw,-10vh)scale(.9)}}@keyframes drift-3{to{transform:translate(-10vw,-18vh)scale(1.2)}}@media (prefers-reduced-motion:reduce){.fluid-bg .orb{animation:none}}:root{color:var(--text);background:var(--app-bg-deep);--brand:#002454;--brand-foreground:#fff;--brand-accent:#8fd8ff;--page-background:var(--brand);--border:var(--border-subtle);--radius:16px;--surface:var(--surface-canvas);--danger:#ffc0b7;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Segoe UI Variable,Segoe UI,system-ui,-apple-system,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:var(--brand-accent);text-underline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--brand-accent);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.04em;margin-bottom:12px;font-size:clamp(2rem,3vw,2.8rem);font-weight:600;line-height:1.16}h2{letter-spacing:-.025em;margin-bottom:8px;font-size:1.3rem;font-weight:600}h3{margin-bottom:8px;font-size:1.05rem;font-weight:600}p{line-height:1.65}.muted,.teacher{color:var(--text-muted)}.small{font-size:.82rem}.eyebrow{color:var(--brand-accent);letter-spacing:.16em;margin-bottom:12px;font-size:.69rem;font-weight:700}.btn{border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:11px 17px;font-size:.88rem;font-weight:600;text-decoration:none;transition:background .15s,transform .15s;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-1px)}.primary{background:var(--brand);color:var(--brand-foreground);border-color:var(--brand-accent)}.primary:hover:not(:disabled){filter:brightness(1.12)}.secondary{border-color:var(--border);color:inherit;background:#ffffff08}.secondary:hover:not(:disabled){background:#ffffff12}.wide{width:100%}.text-button{color:var(--brand-accent);text-underline-offset:4px;background:0 0;border:0;align-items:center;gap:5px;padding:6px 0;font-size:.85rem;text-decoration:underline;display:inline-flex}.icon-button{border:1px solid var(--border);min-height:42px;color:inherit;background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:10px;display:inline-flex}.danger{color:var(--danger)}.panel{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--glass-shadow), var(--glass-highlight);-webkit-backdrop-filter:var(--blur);padding:26px}.alert{border:1px solid var(--border);background:var(--surface-hover);overflow-wrap:anywhere;border-radius:9px;margin:16px 0;padding:13px 16px;font-size:.88rem;line-height:1.6}.alert.error{color:#ffd1c9;background:#c9635114;border-color:#fbb0a34d}.alert.success{color:#caeddb}label{flex-direction:column;gap:7px;min-width:0;margin-bottom:18px;font-size:.82rem;font-weight:500;display:flex}input,textarea,select{border:1px solid var(--border);background:var(--surface);width:100%;min-height:44px;color:inherit;outline-offset:2px;border-radius:8px;padding:11px 12px}input::placeholder,textarea::placeholder{color:var(--text-muted)}select option{background:var(--brand-deep);color:var(--text)}textarea{resize:vertical}fieldset{border:1px solid var(--border);border-radius:10px;min-width:0;margin:22px 0;padding:20px}legend{padding:0 8px;font-size:.9rem}.app-main{max-width:1340px;margin:auto;padding:42px 38px 16px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px;display:flex}.page-heading p:last-child{max-width:670px;margin-bottom:0;font-size:.94rem}.heading-icon{border:1px solid var(--border);background:var(--surface-hover);width:60px;height:60px;color:var(--brand-accent);border-radius:18px;place-items:center;display:grid}.heading-icon svg{width:27px;height:27px}.pill{color:var(--text-muted);background:var(--surface-hover);border:1px solid var(--border);white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:.72rem;display:inline-flex}.week-heading,.section-heading,.class-overview{justify-content:space-between;align-items:center;gap:16px;margin-bottom:23px;display:flex}.week-heading p{margin-bottom:0;font-size:.83rem}.timetable-area{min-width:0;container-type:inline-size}.day-tabs{background:var(--glass-bg);border:1px solid var(--border);border-radius:13px;gap:8px;margin-bottom:28px;padding:8px;display:flex;overflow-x:auto}.day-tabs button{min-width:max-content;color:var(--text-muted);background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;flex:1 0 auto;align-items:center;gap:6px;padding:12px 8px;font-size:.88rem;display:flex}.day-tabs button small{opacity:.8;white-space:nowrap;font-size:.65rem}.day-tab-heading{white-space:nowrap;font-weight:700}@container (width<=600px){.day-tab-heading{flex-direction:column;gap:4px;display:flex}.day-tab-separator{display:none}}.day-tabs button.active{background:var(--brand);border-color:var(--brand-accent);color:var(--brand-foreground);font-weight:650;box-shadow:0 4px 16px #0002}.day-tabs button:hover:not(.active){color:#fff;background:#ffffff09}.day-summary{justify-content:space-between;align-items:baseline;margin-bottom:22px;display:flex}.day-summary h2{font-size:1.1rem}.day-summary>span{font-size:.8rem}.timeline{overscroll-behavior-y:contain;max-height:65vh;padding:8px;position:relative;overflow-y:auto}.timeline:has(.current-period):after{content:"";height:calc(65vh - 38px);display:block}.timeline-row{grid-template-columns:72px 1fr;gap:18px;margin-bottom:22px;display:grid}.timeline-row.current-period{outline-offset:6px;border-radius:6px;outline:2px solid #ff8200}.current-period .period-label{flex-wrap:wrap}.current-period-label{color:#002454;background:#ff8200;border-radius:5px;padding:3px 7px;font-size:.7rem;font-weight:700}.current-period .period-content:before{background:#ff8200}.time{flex-direction:column;gap:5px;padding-top:28px;font-size:.9rem;display:flex}.time span{color:var(--text-muted);font-size:.76rem}.period-content{border-left:1px solid var(--border);padding-left:22px;position:relative}.period-content:before{content:"";background:var(--brand-accent);width:7px;height:7px;box-shadow:0 0 0 5px var(--page-background);border-radius:50%;position:absolute;top:33px;left:-4px}.period-label{color:var(--text-muted);align-items:center;gap:10px;margin-bottom:10px;font-size:.75rem;display:flex}.period-label .pill{padding:3px 7px;font-size:.63rem}.lesson-card{border:1px solid var(--glass-border);background:var(--glass-bg);box-shadow:var(--glass-shadow), var(--glass-highlight);-webkit-backdrop-filter:var(--blur);border-radius:11px;margin-bottom:10px;display:flex;overflow:hidden}.lesson-accent{background:var(--brand-accent);flex-shrink:0;width:4px}.lesson-card-body{flex:1;min-width:0;padding:20px 24px}.lesson-card .eyebrow{color:var(--brand-accent);margin-bottom:9px;font-size:.62rem}.lesson-card h3{margin-bottom:7px;font-size:1.12rem}.teacher{margin-bottom:9px;font-size:.8rem}.description{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.88rem}.free-period,.break-card{border:1px dashed var(--border);color:var(--text-muted);background:var(--glass-bg);border-radius:10px;padding:19px 22px;font-size:.84rem}.break-card{border-style:solid;align-items:center;gap:13px;display:flex}.lesson-resources{margin-top:12px}.resource-list{flex-wrap:wrap;gap:8px;margin:12px 0 0;display:flex}.resource-list[hidden]{display:none}.resource{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:7px;align-items:center;gap:10px;padding:11px 12px;font-size:.8rem;text-decoration:none;display:flex}.resource span{overflow-wrap:anywhere;flex:1;min-width:0}.resource small{color:var(--text-muted);white-space:nowrap;font-size:.65rem}.resource.teams{background:#8482cd16;border-color:#a9a9f045}.resource:hover{background:#ffffff0f}.resource.btn{text-align:left;flex:0 auto;justify-content:flex-start;max-width:100%}.resource>svg,.teams-logo{flex-shrink:0}.teams-logo{filter:invert();width:22px;height:22px}.lesson-link-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.lesson-link-list .resource{min-height:44px}.lesson-image-carousel figure{margin:0}.lesson-image-carousel img{object-fit:contain;width:100%;height:min(50dvh,480px);display:block}.lesson-image-carousel figcaption{overflow-wrap:anywhere;margin-top:12px}.lesson-image-controls{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:16px;display:flex}.lesson-image-controls .btn{min-height:44px}.lesson-type-badge{border-radius:999px;align-items:center;gap:5px;max-width:100%;margin-bottom:8px;padding:4px 10px;font-size:.75rem;font-weight:700;line-height:1.4;display:inline-flex}.lesson-type-badge svg{flex-shrink:0}.lesson-type-badge span{overflow-wrap:anywhere;min-width:0}.lesson-type-list{gap:12px;padding:0;list-style:none;display:grid}.lesson-type-list li{border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;padding:12px;display:flex}.lesson-type-list .form-actions{margin:0 0 0 auto}.lesson-type-list small{flex-basis:100%}.family-layout{grid-template-columns:290px minmax(0,1fr);align-items:start;gap:32px;display:grid}.family-layout>*,.timetable-area{min-width:0}.children-panel{padding:24px 18px;position:sticky;top:104px}.children-panel h2{font-size:1.17rem}.children-panel>p{font-size:.8rem}.children-list{gap:9px;margin:24px -6px 28px;display:grid}.child-button{text-align:left;width:100%;color:inherit;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:12px;padding:13px 10px;display:flex}.child-button.active{background:var(--surface-hover);border-color:var(--brand-accent)}.child-button>span:nth-child(2){flex:1;min-width:0}.child-button strong{overflow-wrap:anywhere;font-size:.82rem;font-weight:550;display:block}.child-button small{color:var(--text-muted);margin-top:5px;font-size:.7rem;display:block}.initials{background:var(--surface-hover);width:38px;height:38px;color:var(--brand-accent);border-radius:10px;flex-shrink:0;place-items:center;font-size:.82rem;font-weight:600;display:grid}.child-heading{align-items:center;gap:12px;margin-bottom:28px;display:flex}.child-heading .muted{font-size:.8rem}.children-panel .small{border-top:1px solid var(--border);align-items:flex-start;gap:8px;padding-top:16px;display:flex}.segmented{background:var(--glass-bg);border:1px solid var(--border);border-radius:10px;gap:6px;margin-bottom:25px;padding:5px;display:inline-flex}.segmented button{color:var(--text-muted);background:0 0;border:0;border-radius:6px;padding:10px 15px;font-size:.84rem}.segmented button.selected{background:var(--surface-hover);color:var(--text)}.class-selector{align-items:center;gap:20px;margin-bottom:20px;display:flex}.class-selector label{flex:1;max-width:550px;margin-bottom:0}.class-overview p{margin-bottom:0}.class-overview h2{margin:8px 0}.editor{margin-bottom:32px}.slot-options{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:20px;display:grid}.slot-options strong{color:var(--text-muted);margin-bottom:12px;font-size:.82rem;display:block}.checkbox{flex-direction:row;align-items:flex-start;gap:8px;font-size:.78rem;display:flex}.checkbox input{width:16px;height:16px;min-height:auto;accent-color:var(--brand);margin:0}.checkbox small{color:var(--text-muted);margin-top:4px;font-weight:400;display:block}.link-editor{grid-template-columns:145px 1fr 1.5fr 44px;align-items:end;gap:12px;margin-bottom:16px;display:grid}.link-editor label{margin-bottom:0}.file-editor{border-top:1px solid var(--border);margin-top:24px;padding-top:24px}.upload-field{border:1px dashed var(--border);background:var(--surface-hover);border-radius:10px;margin:20px 0;padding:20px}.upload-field input{background:0 0;border:0;padding:8px 0 0;font-size:.8rem}.file-row{border-bottom:1px solid var(--border);overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:15px;padding:10px;font-size:.82rem;display:flex}.lesson-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:20px;margin-bottom:28px;display:grid}.managed-lesson{flex-direction:column;display:flex}.managed-lesson .description{color:var(--text-muted)}.managed-lesson .lesson-resources{margin-bottom:20px}.lesson-icon{color:var(--brand-accent);margin-bottom:18px;display:inline-flex}.schedule-pills{flex-wrap:wrap;gap:6px;margin-top:auto;margin-bottom:12px;display:flex}.card-actions{border-top:1px solid var(--border);align-items:center;gap:20px;margin-top:20px;padding-top:18px;display:flex}.roster{margin-top:24px}summary{cursor:pointer;font-weight:600}.roster[open] summary{margin-bottom:20px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:.83rem}th{color:var(--text-muted);letter-spacing:.03em;border-bottom:1px solid var(--border);padding:14px 12px;font-size:.7rem;font-weight:550}td{border-bottom:1px solid var(--border);overflow-wrap:anywhere;padding:14px 12px}.structure-row{grid-template-columns:2fr 1.2fr 1fr 1fr 44px;align-items:end;gap:14px;margin-bottom:18px;display:grid}.calendar-range{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:18px;display:flex}.calendar-range label{flex:150px;max-width:100%;margin-bottom:0}.calendar-range input,.calendar-range select{min-width:0;max-width:100%}.segmented{flex-wrap:wrap;max-width:100%}.date-navigation{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:18px;display:flex}.date-navigation label{margin-bottom:0}.date-navigation>.btn,.date-navigation input{height:44px}.structure-row label{margin-bottom:0}.structure-row input,.structure-row select{min-width:0;max-width:100%}.class-details{grid-template-columns:2fr 1fr 1fr;gap:12px;display:grid}.class-person-row{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) 44px;align-items:end;gap:12px;margin-bottom:18px;display:grid}.class-person-row label{margin-bottom:0}.current-classes{min-width:600px}.current-classes th{white-space:nowrap}.current-classes td{vertical-align:top;overflow-wrap:normal}.class-actions{gap:16px;display:flex}.class-actions .text-button{white-space:nowrap;flex-shrink:0;min-width:44px;min-height:44px}.period-types{flex-wrap:wrap;gap:12px;padding:0;list-style:none;display:flex}.period-types li{background:var(--surface);border:1px solid var(--border);border-radius:8px;align-items:center;gap:10px;max-width:100%;padding:10px 12px;display:flex}.period-types li>div{overflow-wrap:anywhere;min-width:0}.period-types .icon-button{flex-shrink:0}.period-types small{color:var(--text-muted);font-size:.75rem;display:block}.period-add-row{grid-template-columns:minmax(150px,1.6fr) minmax(110px,1fr) minmax(100px,.8fr) minmax(100px,.8fr) minmax(150px,1.2fr) 44px}.period-days-field{min-width:0;font-size:.82rem;font-weight:500}.period-days-field>span{margin-bottom:7px;display:block}.period-days{position:relative}.period-days summary{cursor:pointer;border:1px solid var(--border);background:var(--surface);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:11px 12px;list-style:none;display:flex}.period-days summary::-webkit-details-marker{display:none}.period-days summary span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.period-days summary svg{flex:none}.period-days-options{z-index:20;border:1px solid var(--glass-border);background:var(--brand-deep);width:250px;max-width:calc(100vw - 80px);max-height:280px;box-shadow:var(--glass-shadow);border-radius:8px;padding:14px;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto}.period-days-options .checkbox{align-items:center;margin:0;padding:8px 0;font-size:.82rem}input:disabled,select:disabled{opacity:.7;cursor:not-allowed}.form-actions{flex-wrap:wrap;align-items:center;gap:12px;margin:24px 0;display:flex}.lesson-resource-dialog label{margin-bottom:16px}.lesson-resource-dialog .checkbox,.lesson-resource-dialog .upload-field{align-items:center;display:flex}.lesson-resource-dialog .file-row{overflow-wrap:anywhere;flex-wrap:wrap}.lesson-resource-dialog .file-row a{flex:180px;min-width:0}.lesson-details-fields{border:0;min-width:0;margin:0;padding:0}.calendar-entry+.calendar-entry{margin-top:24px}.teaching-week-days{flex-wrap:wrap;gap:12px 20px;margin:16px 0;display:flex}.teaching-week-days .checkbox{margin:0}.teaching-week-settings>label{max-width:260px}.admin-note{align-items:center;gap:15px;margin-bottom:24px;padding:16px 20px;display:flex}.admin-note svg{flex-shrink:0}.admin-note p{color:var(--text-muted);margin:0;font-size:.83rem}.import-preview{padding:22px 0}.import-preview ul{max-height:300px;overflow:auto}.empty{text-align:center;padding:48px 28px}.empty svg{opacity:.8;margin-bottom:16px}.empty p{max-width:520px;margin:12px auto;font-size:.9rem}.loading-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:70vh;padding:35px;display:flex}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.panel,.lesson-card,.day-tabs{background:var(--brand-deep)}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width>=1100px){.timetable-area{max-width:950px}}@media (width<=900px){.family-layout{grid-template-columns:230px minmax(0,1fr);gap:24px}.week-heading{flex-direction:column;align-items:flex-start;gap:10px}.structure-row{grid-template-columns:repeat(2,minmax(0,1fr))}.period-add-row>.period-days-field{grid-column:1/-1}.period-days-options{max-width:100%}.structure-row>.icon-button{grid-column:1/-1;justify-self:end;min-height:44px}.link-editor{border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;padding-bottom:20px}}@media (width<=680px){.period-types{grid-template-columns:minmax(0,1fr);grid-auto-rows:1fr;display:grid}.period-types li{grid-template-columns:minmax(0,1fr) 44px 44px;gap:8px;width:100%;display:grid}.period-types .icon-button{width:44px;height:44px}.class-details{grid-template-columns:1fr}.class-person-row{grid-template-columns:minmax(0,1fr) 44px}.class-person-row label:first-child{grid-column:1/-1}.app-main{padding:28px 18px 12px}.page-heading{gap:12px;margin-bottom:25px}.heading-icon{border-radius:12px;flex-shrink:0;width:45px;height:45px}.heading-icon svg{width:22px}.page-heading p:last-child{font-size:.85rem}.family-layout{grid-template-columns:minmax(0,1fr);gap:28px}.children-panel{padding:20px;position:static}.children-list{margin:15px -4px}.children-panel .small{margin-bottom:0}.timeline-row{grid-template-columns:47px 1fr;gap:12px}.period-content{padding-left:14px}.lesson-card-body{padding:18px 16px}.day-tabs{gap:3px;padding:5px}.day-tabs button{min-width:49px;padding:10px 5px;font-size:.78rem}.day-tabs small{font-size:.6rem!important}.panel{padding:20px}.class-overview{flex-direction:column;align-items:flex-start}.section-heading{align-items:flex-start}.structure-row{border-bottom:1px solid var(--border);padding-bottom:20px}.structure-row>label:first-child{grid-column:1/-1}.structure-row .icon-button{width:44px}.resource{flex-wrap:wrap}.resource span{min-width:75%}}@media (width<=480px){.structure-row>label,.structure-row>.period-days-field{grid-column:1/-1}}
