@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=DM+Mono:wght@400;500&display=swap";
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f8fb;--bg-soft:#fff;--bg-elevated:#fff;--bg-inset:#f1f2f7;--bg-hover:#ecedf3;--border:#e5e6ec;--border-strong:#dcdfe7;--text:#14213d;--text-dim:#4f596f;--text-faint:#5f6980;--accent:#7657f5;--accent-hover:#6547e9;--accent-soft:#efedff;--accent-border:#d8d1ff;--accent-grad:linear-gradient(135deg, #4d7cff, #7657f5);--success:#2a7a40;--success-soft:#2a7a401a;--warning:#9a6500;--warning-soft:#9a65001a;--danger:#c0303f;--danger-soft:#c0303f1a;--info:#0d7d8c;--info-soft:#0d7d8c1a;--bonus:#8536c4;--bonus-soft:#8536c41a;--absent:#4a3fc0;--absent-soft:#5b4fd11a;--radius-sm:9px;--radius-md:13px;--radius-lg:18px;--radius-full:999px;--shadow-sm:0 1px 3px #11182712;--shadow-md:0 4px 16px #1118271a;--shadow-lg:0 16px 40px #11182724;--shadow-glow:0 12px 30px #644ee738;--font-sans:"Manrope", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"DM Mono", "SF Mono", monospace;--font-display:"Manrope", -apple-system, sans-serif;--sidebar-w:224px;--tap-min:44px}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1326;--bg-soft:#111a35;--bg-elevated:#161f3d;--bg-inset:#1b2445;--bg-hover:#222c52;--border:#232d4f;--border-strong:#2f3a62;--text:#e4e8f5;--text-dim:#a3abca;--text-faint:#8590b0;--accent:#7657f5;--accent-hover:#9b89ff;--accent-soft:#7657f529;--accent-border:#7657f561;--accent-grad:linear-gradient(135deg, #4d7cff, #7657f5);--success:#5cb87a;--success-soft:#5cb87a24;--warning:#e6b566;--warning-soft:#e6b56624;--danger:#e8798a;--danger-soft:#e8798a24;--info:#63c2cf;--info-soft:#63c2cf24;--bonus:#c792ea;--bonus-soft:#c792ea24;--absent:#9b89ff;--absent-soft:#9b89ff29;--shadow-sm:0 1px 2px #0006;--shadow-md:0 6px 20px #00000080;--shadow-lg:0 18px 48px #000000a6;--shadow-glow:0 12px 30px #644ee74d}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}a{color:inherit;text-decoration:none}h1,h2,h3,.gt-heading{font-family:var(--font-display);letter-spacing:-.02em;font-weight:700}code,.mono{font-family:var(--font-mono)}a:focus-visible,button:focus-visible,[role=button]:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent-hover);outline-offset:2px;border-radius:var(--radius-sm)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:10000;border-radius:var(--radius-sm);background:var(--accent);color:#fff;padding:10px 16px;font-size:13px;font-weight:600;transition:top .15s;position:absolute;top:-48px;left:16px}.skip-link:focus{top:12px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}input,select,textarea{background:var(--bg-inset);border:1px solid var(--border-strong);color:var(--text);border-radius:var(--radius-sm);outline:none;padding:9px 13px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:var(--text-faint)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input:disabled,select:disabled,textarea:disabled{opacity:.5;cursor:not-allowed}select option{background:var(--bg-inset)}button{cursor:pointer;border-radius:var(--radius-sm);border:none;font-family:inherit;font-size:13px;font-weight:500;transition:filter .15s,transform .1s cubic-bezier(.34,1.56,.64,1),box-shadow .15s}button:hover{filter:brightness(1.08)}button:active{transform:scale(.96)}button:disabled{opacity:.5;cursor:not-allowed;filter:none;transform:none}.app-shell{height:100dvh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-w);background:var(--bg-soft);border-right:1px solid var(--border);z-index:30;flex-direction:column;flex-shrink:0;height:100%;display:flex;overflow:hidden}.sidebar-brand{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:18px 16px;display:flex}.sidebar-brand-name{font-family:var(--font-display);color:var(--text);letter-spacing:-.025em;font-size:15px;font-weight:700}.sidebar-course{border-bottom:1px solid var(--border);flex-shrink:0;padding:12px 16px}.sidebar-course-back{color:var(--text-faint);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin-bottom:6px;padding:0;font-size:11px;display:flex;filter:none!important;transform:none!important}.sidebar-course-back:hover{color:var(--text-dim)}.sidebar-course-name{color:var(--text);align-items:center;gap:7px;font-size:13px;font-weight:600;display:flex}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:10px 8px;display:flex;overflow:visible auto}.sidebar-section-label{color:var(--text-faint);letter-spacing:.1em;text-transform:uppercase;margin-top:2px;padding:4px 12px;font-size:10.5px;font-weight:600}.sidebar-divider{background:var(--border);height:1px;margin:6px 4px}.sidebar-nav-btn{width:100%;color:var(--text-dim);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;padding:9px 12px;font-size:13.5px;font-weight:400;transition:background .12s,color .12s;display:flex;filter:none!important;transform:none!important}.sidebar-nav-btn:hover{background:var(--bg-hover);color:var(--text)}.sidebar-nav-btn.active{background:var(--accent-soft);color:var(--accent-hover);font-weight:600}.sidebar-nav-btn .nav-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:5px;height:5px;margin-left:auto}.sidebar-user{border-top:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:12px 14px;display:flex}.sidebar-avatar{background:var(--accent-soft);border:1px solid var(--border-strong);width:30px;height:30px;color:var(--accent-hover);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-email{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.sidebar-user-role{color:var(--text-faint);font-size:10.5px}.content-area{background:var(--bg);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.content-topbar{border-bottom:1px solid var(--border);background:var(--bg-soft);-webkit-backdrop-filter:blur(12px);z-index:10;flex-shrink:0;align-items:center;gap:16px;padding:14px 28px;display:flex;position:sticky;top:0}.content-topbar-title{font-family:var(--font-display);color:var(--text);letter-spacing:-.025em;margin:0;font-size:18px;font-weight:700}.content-topbar-sub{color:var(--text-dim);margin:2px 0 0;font-size:12px}.content-main{-webkit-overflow-scrolling:touch;flex:1;padding:44px 32px 40px;overflow-y:auto}.content-main>*{width:100%;max-width:1480px;margin-left:auto;margin-right:auto}.content-topbar{min-height:72px;padding:16px 32px}.content-topbar>div{min-width:0}.nav-top-mode .content-main{padding-top:48px}.view-header{align-items:center;gap:12px;display:flex}.view-header-icon{background:var(--accent-soft);width:36px;height:36px;color:var(--accent-hover);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.view-title{font-family:var(--font-sans);color:var(--text);letter-spacing:-.01em;margin:0;font-size:21px;font-weight:650;line-height:1.25}.view-subtitle{color:var(--text-dim);margin-top:3px;font-size:13px}.inline-icon{vertical-align:-2px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.dashboard-shell{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.dashboard-topbar{border-bottom:1px solid var(--border);background:var(--bg-soft);flex-shrink:0;align-items:center;gap:12px;padding:14px 28px;display:flex}.dashboard-search{background:var(--bg-inset);border:1px solid var(--border-strong);border-radius:var(--radius-md);cursor:text;color:var(--text-faint);align-items:center;gap:8px;min-width:260px;padding:7px 11px;font-size:13px;transition:border-color .15s,box-shadow .15s;display:flex}.dashboard-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.dashboard-search input{min-width:0;box-shadow:none;background:0 0;border:0;flex:1;padding:0}.dashboard-search input:focus{box-shadow:none}.dashboard-search-clear{color:var(--text-faint);background:0 0;justify-content:center;align-items:center;padding:2px;display:flex}.dashboard-kbd{font-family:var(--font-mono);color:var(--text-faint);background:var(--bg-elevated);border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-size:10.5px}.empty-search-state{min-height:150px;color:var(--text-faint);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);grid-column:1/-1;justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}.stat-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.stat-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:18px 20px}.stat-value{font-family:var(--font-display);letter-spacing:-.03em;font-size:28px;font-weight:700;line-height:1}.stat-label{color:var(--text);margin-top:6px;font-size:12.5px;font-weight:600}.stat-sub{color:var(--text-faint);margin-top:3px;font-size:11.5px}.course-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.course-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:left;cursor:pointer;flex-direction:column;gap:14px;padding:20px;transition:transform .18s cubic-bezier(.16,1,.3,1),border-color .18s,box-shadow .18s;animation:.4s both fadeUp;display:flex;filter:none!important}.course-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-3px)}.course-card:active{transform:translateY(-1px)scale(.99)}.course-card-icon{border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;transition:transform .25s cubic-bezier(.34,1.56,.64,1);display:flex}.course-card:hover .course-card-icon{transform:rotate(-5deg)scale(1.1)}.course-card-name{font-family:var(--font-display);color:var(--text);letter-spacing:-.02em;margin-bottom:3px;font-size:15px;font-weight:700}.course-card-meta{color:var(--text-faint);font-size:12px}.course-progress-bar{background:var(--bg-inset);border-radius:var(--radius-full);height:4px;overflow:hidden}.section-tabs{background:var(--bg-inset);border-radius:var(--radius-sm);border:1px solid var(--border-strong);gap:2px;padding:3px;display:flex}.section-tab{color:var(--text-dim);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:5px 12px;font-size:12.5px;font-weight:400;filter:none!important;transform:none!important}.section-tab:hover{color:var(--text)}.section-tab.active{background:var(--bg-elevated);color:var(--text);box-shadow:var(--shadow-sm);font-weight:600}.gb-sticky-col{min-width:200px}.gb-sub{color:var(--text-faint);font-size:11px}.gradebook-cell-tap{min-height:var(--tap-min)}@media (max-width:640px){.gb-sticky-col{min-width:130px!important;padding:8px 10px!important}.gb-avatar{width:24px!important;height:24px!important;font-size:10px!important}.gb-sub{display:none}}.auth-shell{z-index:1;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative}.auth-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-lg);padding:40px 34px;animation:.4s cubic-bezier(.16,1,.3,1) both fadeUp;position:relative;overflow:hidden}.auth-card:before{content:"";background:var(--accent-grad);height:3px;position:absolute;top:0;left:0;right:0}.auth-split{z-index:1;grid-template-columns:1.05fr 1fr;min-height:100vh;display:grid;position:relative}.auth-aside{background:radial-gradient(700px 420px at 82% 8%, #ffffff24, transparent 60%), var(--accent-grad);align-items:center;display:flex;position:relative;overflow:hidden}.auth-aside:after{content:"";pointer-events:none;background-color:#0000;background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:40px 40px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 30% 40%,#000,#0000 75%);mask-image:radial-gradient(circle at 30% 40%,#000,#0000 75%)}.auth-aside-inner{z-index:1;flex-direction:column;gap:48px;width:100%;padding:56px 60px;display:flex;position:relative}.auth-split-form{justify-content:center;align-items:center;padding:40px 24px;display:flex}.auth-split .auth-card{box-shadow:none}@media (max-width:900px){.auth-split{grid-template-columns:1fr}.auth-aside{display:none}}.bottom-nav{display:none}.top-nav{border-bottom:1px solid var(--border);background:var(--bg-soft);flex-shrink:0;order:-1;justify-content:space-between;align-items:center;gap:18px;min-height:68px;padding:10px 32px;display:flex}.top-nav-items{scrollbar-width:none;align-items:center;gap:5px;min-width:0;display:flex;overflow-x:auto}.top-nav-items::-webkit-scrollbar{display:none}.top-nav-brand{border-right:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;margin-right:4px;padding-right:12px;display:flex}.top-nav-back{color:var(--text-dim);border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;gap:6px;padding:4px;display:flex;filter:none!important}.top-nav-back:hover{background:var(--bg-hover);color:var(--text)}.top-nav-back-text{max-width:160px;padding:4px 8px;font-size:12.5px;font-weight:500}.top-nav-back-text span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.top-nav-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.top-nav-item{border-radius:var(--radius-sm);min-height:42px;color:var(--text-dim);white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:9px;padding:0 14px;font-size:13px;font-weight:500;display:inline-flex}.top-nav-item:hover{background:var(--bg-hover);color:var(--text)}.top-nav-item.active{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-hover);font-weight:650}.top-nav-account{border-left:1px solid var(--border);align-items:center;gap:8px;margin-left:4px;padding-left:10px;display:flex}.top-nav-avatar{background:var(--accent-soft);border:1px solid var(--border-strong);width:28px;height:28px;color:var(--accent-hover);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10.5px;font-weight:700;display:flex}.top-nav-email{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:12.5px;overflow:hidden}.top-nav-logout{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--text-faint);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.top-nav-logout:hover{background:var(--bg-hover);color:var(--text)}.nav-top-mode{flex-direction:column}.nav-top-mode .sidebar{display:none}.nav-top-mode .content-area{flex:1;width:100%;min-height:0}.nav-top-mode .settings-trigger{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-inset);min-height:42px}.settings-control{display:flex;position:relative}.settings-trigger{min-height:38px;color:var(--text-dim);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.settings-trigger svg{flex:none}.settings-trigger:hover{background:var(--bg-hover);color:var(--text)}.settings-popover{z-index:200;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-elevated);width:292px;box-shadow:var(--shadow-lg);padding:16px;animation:.15s both scaleIn;position:fixed}.settings-popover-title{min-height:24px;color:var(--text);align-items:center;gap:8px;margin-bottom:12px;font-size:12px;font-weight:700;display:flex}.settings-row{justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.settings-label{color:var(--text);font-size:12px}.settings-help{color:var(--text-faint);margin-top:2px;font-size:10.5px}.settings-divider{background:var(--border);height:1px;margin:8px 0 12px}.nav-layout-options{grid-template-columns:1fr 1fr;gap:6px;margin-top:8px;display:grid}.nav-layout-option{color:var(--text-dim);border:1px solid var(--border);background:var(--bg-inset);text-align:left;flex-direction:column;align-items:flex-start;gap:5px;padding:10px;display:flex}.nav-layout-option span{color:var(--text);font-size:11.5px}.nav-layout-option small{color:var(--text-faint);font-size:9.5px}.nav-layout-option.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-hover)}.settings-saving{margin-top:8px}.grade-legend{color:var(--text-dim);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;font-size:11px;display:flex}.grade-legend-title{color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:600}.grade-legend-item{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.legend-swatch{border-radius:50%;width:7px;height:7px;display:inline-block}.legend-good{background:var(--success)}.legend-watch{background:var(--warning)}.legend-low{background:var(--danger)}.legend-absent{background:var(--absent)}.legend-special{background:var(--text-faint)}@media (max-width:768px){.sidebar{display:none!important}.content-topbar{padding:12px 16px}.content-main{padding:22px 12px 80px}.dashboard-topbar{padding:12px 16px}.dashboard-search{flex:1;min-width:0}.dashboard-topbar{flex-wrap:wrap}.dashboard-topbar>.dashboard-search{flex-basis:100%;order:5}.top-nav{align-items:stretch;gap:8px;min-height:62px;padding:8px 12px}.top-nav-items{flex:1}.top-nav-actions{align-items:center}.top-nav-item{min-height:42px;padding:0 11px}.top-nav-item span{font-size:12px}.top-nav-actions .settings-trigger{width:42px;padding:0}.top-nav-actions .settings-trigger span,.top-nav-email{display:none}.top-nav-account{margin-left:2px;padding-left:6px}.top-nav-back-text{display:none}.top-nav-brand{margin-right:2px;padding-right:8px}.grade-legend{justify-content:flex-start;gap:8px}.settings-popover{width:auto!important;inset:auto 12px 66px!important}.stat-grid,.course-grid{grid-template-columns:1fr}.auth-card{padding:28px 20px!important}.gb-th-name{min-width:140px}.gb-td-name,.gb-th-name{padding-left:16px!important;padding-right:8px!important}.stack-mobile{grid-template-columns:1fr!important}.pod-select-grid{grid-template-columns:repeat(3,1fr)!important}.bottom-nav{border-top:1px solid var(--border);z-index:40;padding-bottom:env(safe-area-inset-bottom,0);-webkit-backdrop-filter:blur(12px);background:#070a15f5;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-item{min-height:54px;color:var(--text-faint);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:10px 0 6px;font-size:9.5px;font-weight:500;transition:color .12s;display:flex;position:relative;filter:none!important;transform:none!important}.bottom-nav-item.active{color:var(--accent-hover)}.bottom-nav-pip{border-radius:var(--radius-full);background:var(--accent);width:24px;height:2.5px;position:absolute;top:6px}}.gt-backdrop{z-index:-1;pointer-events:none;background:var(--bg);position:fixed;inset:0}.gt-backdrop:before{content:"";background-color:#0000;background-image:linear-gradient(#1118270a 1px,#0000 1px),linear-gradient(90deg,#1118270a 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:44px 44px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 30%,#000,#0000 70%);mask-image:radial-gradient(circle at 50% 30%,#000,#0000 70%)}.gt-backdrop:after{content:"";background:radial-gradient(900px 500px at 10% -10%,#7657f514,#0000 55%);position:absolute;inset:0}[data-theme=dark] .gt-backdrop:before{background-color:#0000;background-image:linear-gradient(#7657f50d 1px,#0000 1px),linear-gradient(90deg,#7657f50d 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:44px 44px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box}[data-theme=dark] .gt-backdrop:after{background:radial-gradient(900px 500px at 10% -10%,#8b5cf624,#0000 55%)}.page-container{max-width:1200px;margin:0 auto}.page-fade-in{animation:.3s both fadeIn}.stagger-in{animation:.4s both fadeUp}.text-balance{text-wrap:balance}.skeleton-block{background:linear-gradient(90deg, var(--bg-inset) 0%, var(--bg-hover) 50%, var(--bg-inset) 100%);border-radius:var(--radius-md);background-size:800px 100%;animation:1.4s linear infinite shimmer}.toggle-switch{border-radius:var(--radius-full);background:var(--bg-inset);border:1px solid var(--border-strong);cursor:pointer;flex-shrink:0;width:40px;height:22px;transition:background .2s,border-color .2s;position:relative}.toggle-switch[data-on=true]{background:var(--accent-grad);border-color:#0000}.toggle-switch-knob{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .22s cubic-bezier(.34,1.56,.64,1);position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000004d}.toggle-switch[data-on=true] .toggle-switch-knob{transform:translate(18px)}.gt-success-pop{animation:.35s cubic-bezier(.34,1.56,.64,1) both checkPop}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes checkPop{0%{opacity:0;transform:scale(.5)}60%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.brand-logo{flex-shrink:0;align-items:center;line-height:0;display:inline-flex}@keyframes landingFadeUp{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}.landing-in{opacity:0;animation:.7s cubic-bezier(.16,1,.3,1) forwards landingFadeUp}.landing-reveal{opacity:0;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);transform:translateY(24px)}.landing-reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.landing-in,.landing-reveal{opacity:1;transition:none;animation:none;transform:none}.hero-chip{animation:none}}@media (max-width:880px){.landing-hero-grid{text-align:center;grid-template-columns:1fr!important}.landing-hero-grid>*{align-items:center!important}}@keyframes chipFloat{0%,to{transform:translateY(0) rotate(var(--chip-rot,0deg))}50%{transform:translateY(-14px) rotate(var(--chip-rot,0deg))}}.hero-chip{font-family:var(--font-mono);border-radius:var(--radius-full);white-space:nowrap;animation:5.5s ease-in-out infinite chipFloat;animation-delay:var(--chip-delay,0s);-webkit-backdrop-filter:blur(6px);align-items:center;gap:6px;padding:7px 13px;font-size:12.5px;font-weight:600;display:inline-flex;position:absolute}@media (max-width:880px){.hero-chip{display:none}}.ledger-row{border-bottom:1px solid var(--border);grid-template-columns:56px 34px 1fr;align-items:start;gap:18px;padding:22px 20px;transition:background .15s;display:grid}.ledger-row:first-child{border-top:1px solid var(--border)}.ledger-row:nth-child(2n){background:var(--bg-elevated)}.ledger-row:hover{background:var(--bg-hover)}.ledger-cellref{font-family:var(--font-mono);color:var(--text-faint);letter-spacing:.03em;padding-top:3px;font-size:11px;font-weight:600}@media (max-width:640px){.ledger-row{grid-template-columns:34px 1fr}.ledger-cellref{display:none}}.timeline-rail{position:relative}.timeline-rail:before{content:"";background:var(--border-strong);height:1px;position:absolute;top:23px;left:calc(16.66% + 24px);right:calc(16.66% + 24px)}@media (max-width:880px){.timeline-rail:before{display:none}.timeline-rail{grid-template-columns:1fr!important;gap:40px!important}}@media print{body *{visibility:hidden}.student-profile-print,.student-profile-print *{visibility:visible}.student-profile-print{max-height:none!important;box-shadow:none!important;color:#000!important;background:#fff!important;border:none!important;position:fixed!important;inset:0!important;overflow:visible!important}.student-profile-print *{color:#000!important;background:0 0!important}.no-print{display:none!important}@page{size:letter landscape;margin:12mm}html,body{background:#fff!important}.gt-backdrop{display:none!important}body.printing-gradebook .app-shell,body.printing-gradebook .content-area,body.printing-gradebook .content-main{height:auto!important;padding:0!important;display:block!important;overflow:visible!important}body.printing-gradebook .sidebar,body.printing-gradebook .bottom-nav,body.printing-gradebook .top-nav{display:none!important}body.printing-gradebook .gradebook-print,body.printing-gradebook .gradebook-print *{visibility:visible}body.printing-gradebook .gradebook-print{width:100%;position:absolute;top:0;left:0}body.printing-gradebook .gradebook-print *{color:#000!important;box-shadow:none!important;background:0 0!important}body.printing-gradebook .gradebook-print .gb-scroll{border-color:#999!important;overflow:visible!important}body.printing-gradebook .gradebook-print td,body.printing-gradebook .gradebook-print th{border-color:#bbb!important;position:static!important}body.printing-gradebook .gradebook-print .gb-dot{background:#000!important}body.printing-gradebook .gradebook-print tr{break-inside:avoid}.print-only{display:none}body.printing-gradebook .print-only{display:block!important}}.print-only{display:none}[data-accent=teal]{--accent:#2aa198;--accent-hover:#45c4b9;--accent-soft:#2aa19821;--accent-border:#2aa19852;--accent-grad:linear-gradient(135deg, #1f8f9e, #2fb58a);--shadow-glow:0 0 0 1px var(--accent-border), 0 10px 30px #2aa19838}[data-accent=amber]{--accent:#d98c3a;--accent-hover:#eba65c;--accent-soft:#d98c3a21;--accent-border:#d98c3a52;--accent-grad:linear-gradient(135deg, #c9692e, #dca03c);--shadow-glow:0 0 0 1px var(--accent-border), 0 10px 30px #d98c3a38}[data-theme=light][data-accent=teal]{--accent:#0f766e;--accent-hover:#0b5f58;--accent-soft:#0f766e17;--accent-border:#0f766e47;--accent-grad:linear-gradient(135deg, #0f766e, #15803d)}[data-theme=light][data-accent=amber]{--accent:#a15c07;--accent-hover:#86490a;--accent-soft:#a15c0717;--accent-border:#a15c0747;--accent-grad:linear-gradient(135deg, #b45309, #a16207)}::selection{background:var(--accent-soft);color:var(--text)}.accent-picker{gap:8px;display:flex}.accent-swatch{width:26px;height:26px;box-shadow:0 0 0 1px var(--border-strong);border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.accent-swatch.active{border-color:var(--bg-elevated);box-shadow:0 0 0 2px var(--text)}.gb-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.gb-chip{border-radius:var(--radius-full);border:1px solid var(--border);color:var(--text-dim);white-space:nowrap;background:0 0;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;display:inline-flex;filter:none!important}.gb-chip:hover{color:var(--text);background:var(--bg-hover)}.gb-chip.active{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-hover);font-weight:600}.gb-chip-remove{color:inherit;opacity:.7;border-radius:50%;margin-left:2px;margin-right:-4px;padding:2px;display:inline-flex}.gb-chip-remove:hover{opacity:1;background:var(--bg-hover)}.gb-tool{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-inset);color:var(--text-dim);align-items:center;gap:6px;padding:7px 12px;font-size:12.5px;display:inline-flex;filter:none!important}.gb-tool:hover{color:var(--text);background:var(--bg-hover)}.gb-tool[aria-pressed=true]{color:var(--accent-hover);border-color:var(--accent-border);background:var(--accent-soft)}.gb-segment{background:var(--bg-inset);border:1px solid var(--border-strong);border-radius:var(--radius-sm);gap:2px;padding:3px;display:inline-flex}.gb-segment button{color:var(--text-dim);background:0 0;border-radius:6px;padding:5px 10px;font-size:12px;filter:none!important;transform:none!important}.gb-segment button[aria-pressed=true]{background:var(--bg-elevated);color:var(--text);box-shadow:var(--shadow-sm);font-weight:600}.gb-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.gb-stat{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:flex-end;gap:12px;padding:14px 18px;display:flex}.gb-stat-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);font-size:10.5px;font-weight:600}.gb-stat-value{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text);margin-top:6px;font-size:26px;font-weight:700;line-height:1.1}.gb-stat-sub{color:var(--text-faint);margin-top:2px;font-size:11.5px}.gb-dot{border-radius:2px;flex-shrink:0;width:6px;height:6px;display:inline-block}.gb-scroll{border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);background:var(--bg-elevated);overflow-x:auto}.gb-compact .gradebook-cell-tap{min-height:32px!important;padding:3px 6px!important}.gb-compact td{padding-top:3px!important;padding-bottom:3px!important}.gb-compact .gb-avatar{width:22px!important;height:22px!important;font-size:9.5px!important}.gb-compact .gb-sub{display:none}.sparkline{display:block;overflow:visible}.focus-list{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-sm);flex-direction:column;display:flex;overflow:hidden}.focus-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) 120px 110px;align-items:center;gap:14px;padding:10px 18px;display:grid}.focus-row:last-child{border-bottom:none}.focus-row.active{background:var(--accent-soft)}.focus-row input{text-align:center;width:100%;font-family:var(--font-mono)}.focus-status{color:var(--text-faint);text-align:right;white-space:nowrap;font-size:11.5px}@media (max-width:640px){.gb-stats{grid-template-columns:1fr}.focus-row{grid-template-columns:minmax(0,1fr) 90px}.focus-status{text-align:left;grid-column:1/-1}}.nav-badge{border-radius:var(--radius-full);background:var(--danger);color:#fff;flex-shrink:0;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:auto;padding:0 5px;font-size:10px;font-weight:700;display:inline-flex}.top-nav-item .nav-badge{margin-left:2px}.nav-badge-float{margin:0;position:absolute;top:5px;right:calc(50% - 20px)}.idle-warning{z-index:1000;background:var(--bg-elevated);border:1px solid color-mix(in srgb, var(--warning) 40%, transparent);border-radius:var(--radius-md);width:min(460px,100vw - 24px);box-shadow:var(--shadow-lg);align-items:center;gap:12px;padding:14px 16px;animation:.2s both fadeUp;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@media (max-width:768px){.idle-warning{bottom:76px}}.section-banner{border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;padding:10px 14px;font-size:12.5px;line-height:1.45;display:flex}.section-banner-live{background:var(--success-soft);color:var(--success);border:1px solid color-mix(in srgb, var(--success) 28%, transparent)}.section-banner-warn{background:var(--warning-soft);color:var(--warning);border:1px solid color-mix(in srgb, var(--warning) 32%, transparent)}.section-banner strong{font-weight:650}.live-dot{background:var(--success);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in srgb, var(--success) 25%, transparent);border-radius:50%;flex-shrink:0}.qpool-overlay{z-index:700;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#06070b99;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.qpool-panel{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:100%;max-width:620px;max-height:calc(100vh - 32px);box-shadow:var(--shadow-lg);flex-direction:column;display:flex}.qpool-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 12px;display:flex}.qpool-title{font-family:var(--font-sans);color:var(--text);align-items:center;gap:8px;margin:0;font-size:16px;font-weight:650;display:flex}.qpool-sub{color:var(--text-dim);margin-top:3px;font-size:12px}.qpool-body{flex-direction:column;gap:8px;padding:16px 20px 20px;display:flex;overflow-y:auto}.qpool-body textarea{resize:vertical;width:100%;font-family:inherit;font-size:13px}.qpool-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.qpool-hint{color:var(--text-faint);font-size:11.5px;line-height:1.5}.qpool-hint code{font-family:var(--font-mono);color:var(--text-dim)}.qpool-primary{border-radius:var(--radius-sm);background:var(--accent-grad);color:#fff;justify-content:center;align-self:flex-start;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.qpool-primary:disabled{opacity:.5;cursor:not-allowed}.qpool-gen{border:1px dashed var(--accent-border);border-radius:var(--radius-md);background:var(--accent-soft);margin-top:10px;padding:12px}.qpool-suggest{flex-direction:column;gap:6px;margin-top:10px;display:flex}.qpool-suggest-row{border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border);cursor:pointer;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.qpool-suggest-row input{margin-top:3px}.qpool-list{border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;margin-top:12px;display:flex;overflow:hidden}.qpool-item{border-bottom:1px solid var(--border);align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.qpool-item:last-child{border-bottom:none}.qpool-num{background:var(--bg-inset);width:22px;height:22px;color:var(--text-faint);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.qpool-q{color:var(--text);font-size:13.5px;line-height:1.45;display:block}.qpool-a{color:var(--success);margin-top:3px;font-size:12px;line-height:1.45;display:block}.qpool-icon{border-radius:var(--radius-sm);background:var(--bg-inset);color:var(--text-dim);flex-shrink:0;padding:6px;display:inline-flex}.qpool-icon:hover{color:var(--text);background:var(--bg-hover)}.qpool-icon.danger:hover{color:var(--danger);background:var(--danger-soft)}.qpool-empty{text-align:center;color:var(--text-faint);padding:18px;font-size:13px}.podcheck{max-width:1100px;margin:0 auto}.podcheck-controls{flex-wrap:wrap;gap:8px;display:flex}.podcheck-controls select{min-width:160px}.podcheck-entry{border:1px solid var(--accent-border);background:var(--accent-soft);border-radius:var(--radius-lg);flex-wrap:wrap;align-items:center;gap:10px;padding:14px 16px;display:flex}.podcheck-entry-label{color:var(--accent-hover);text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:650}.podcheck-pod-input{width:130px;font-weight:650;font-family:var(--font-mono);text-align:center;padding:8px 10px!important;font-size:22px!important}.podcheck-entry .qpool-primary{align-self:center;padding:11px 16px}.podcheck-hint{color:var(--text-faint);font-size:11.5px}.podcheck-pods{flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0 4px;display:flex}.podcheck-pod{border-radius:var(--radius-sm);min-width:38px;height:34px;font-family:var(--font-mono);border:1px solid var(--border-strong);background:var(--bg-inset);color:var(--text-dim);padding:0 8px;font-size:13px;font-weight:600}.podcheck-pod:hover{color:var(--text);background:var(--bg-hover)}.podcheck-pod.done{background:var(--success-soft);color:var(--success);border-color:color-mix(in srgb, var(--success) 35%, transparent)}.podcheck-pod.partial{background:var(--warning-soft);color:var(--warning);border-color:color-mix(in srgb, var(--warning) 35%, transparent)}.podcheck-pod.active{outline:2px solid var(--accent);outline-offset:1px}.podcheck-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:14px;margin-top:14px;display:grid}.podcheck-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;padding:16px 18px;display:flex}.podcheck-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.podcheck-card-head h2{font-family:var(--font-sans);color:var(--text);margin:0;font-size:15px;font-weight:650}.podcheck-questions{flex-direction:column;gap:12px;margin:0;padding-left:22px;display:flex}.podcheck-questions li{color:var(--text);font-size:15px;line-height:1.5}.podcheck-questions .qpool-q{font-size:15px}.podcheck-link{color:var(--text-faint);background:0 0;align-self:flex-start;margin-top:14px;padding:0;font-size:11.5px;text-decoration:underline}.podcheck-empty{text-align:center;color:var(--text-faint);flex-direction:column;align-items:center;padding:18px;font-size:13px;display:flex}.podcheck-students{border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;display:flex;overflow:hidden}.podcheck-student{border-bottom:1px solid var(--border);grid-template-columns:46px minmax(0,1fr) 96px;align-items:center;gap:10px;padding:9px 12px;display:grid}.podcheck-student:last-child{border-bottom:none}.podcheck-student input{text-align:center;width:100%;font-family:var(--font-mono);padding:7px 6px;font-size:15px}.podcheck-pc{font-family:var(--font-mono);color:var(--text-faint);font-size:11.5px}.podcheck-name{align-items:center;gap:9px;min-width:0;display:flex}.podcheck-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:600;display:flex}.podcheck-name-main{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:500;display:block;overflow:hidden}.podcheck-name-sub{color:var(--text-faint);font-size:11px;display:block}.podcheck-readonly{color:var(--text-faint);text-align:center;justify-content:center;align-items:center;gap:4px;font-size:11px;display:inline-flex}.podcheck-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}@media (max-width:860px){.podcheck-grid{grid-template-columns:1fr}.podcheck-entry .podcheck-hint{width:100%}}.spin{animation:.9s linear infinite spin}.qm{max-width:1400px;margin:0 auto}.qm-course{align-items:center;gap:6px;min-width:0;display:flex}.qm-course select{min-width:220px;max-width:380px}.qm-layout{grid-template-columns:290px minmax(0,1fr);align-items:start;gap:14px;display:grid}.qm-list{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);flex-direction:column;gap:6px;max-height:calc(100vh - 140px);padding:10px;display:flex;position:sticky;top:12px;overflow-y:auto}.qm-search{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-inset);color:var(--text-faint);align-items:center;gap:6px;padding:0 10px;display:flex}.qm-search input{width:100%;box-shadow:none!important;background:0 0!important;border:none!important;padding:8px 0!important}.qm-search.small{min-width:170px}.qm-search.small input{font-size:12.5px;padding:6px 0!important}.qm-quiz{text-align:left;border-radius:var(--radius-md);color:var(--text);background:0 0;border:1px solid #0000;flex-direction:column;gap:4px;padding:10px 11px;display:flex}.qm-quiz:hover{background:var(--bg-hover)}.qm-quiz.active{background:var(--accent-soft);border-color:var(--accent-border)}.qm-quiz-title{font-size:13.5px;font-weight:600;line-height:1.35}.qm-quiz-meta{color:var(--text-faint);flex-wrap:wrap;align-items:center;gap:6px;font-size:11.5px;display:flex}.qm-tag{border-radius:var(--radius-full);background:var(--bg-inset);color:var(--text-dim);border:1px solid var(--border);padding:1px 7px;font-size:10.5px;font-weight:600}.qm-tag.new{color:var(--accent-hover);border-color:var(--accent-border);background:var(--accent-soft)}.qm-tag.muted{opacity:.8}.qm-main{min-width:0}.qm-muted{color:var(--text-faint);padding:8px 4px;font-size:12.5px}.qm-empty{text-align:center;color:var(--text-faint);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);flex-direction:column;align-items:center;gap:10px;padding:60px 20px;font-size:13.5px;display:flex}.qm-quiz-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.qm-quiz-head h2{font-family:var(--font-sans);color:var(--text);margin:0 0 5px;font-size:18px;font-weight:650}.qm-head-actions{flex-wrap:wrap;gap:6px;display:flex}.qm-head-actions a{text-decoration:none}.qm-tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:12px;display:flex}.qm-tabs button{color:var(--text-dim);background:0 0;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:8px 12px;font-size:13px;font-weight:500;display:inline-flex}.qm-tabs button.active{color:var(--accent-hover);border-bottom-color:var(--accent)}.qm-filters{flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:10px;display:flex}.qm-chips{flex-wrap:wrap;gap:6px;display:flex}.qm-count{font-family:var(--font-mono);opacity:.75;font-size:11px}.qm-filter-right{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.qm-bulk{border-radius:var(--radius-md);background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--text);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;padding:10px 14px;font-size:12.5px;display:flex}.qm-bulk label{color:var(--text-dim);align-items:center;gap:6px;display:inline-flex}.qm-bulk input[type=number]{width:64px;padding:5px 6px}.qm-check{color:var(--text-dim);cursor:pointer;align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.qm-hint{color:var(--text-faint);font-size:11.5px}.qm-table-wrap{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);overflow-x:auto}.qm-table{border-collapse:collapse;width:100%;font-size:13px}.qm-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);border-bottom:1px solid var(--border);white-space:nowrap;background:var(--bg-inset);padding:10px 12px;font-size:11px;font-weight:600}.qm-table td{border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text);padding:9px 12px}.qm-table tr:last-child td{border-bottom:none}.qm-table tr.selected td{background:var(--accent-soft)}.qm-cb{width:34px}.qm-name{color:var(--text);text-align:left;background:0 0;padding:0;font-size:13px;font-weight:550}.qm-name:hover{color:var(--accent-hover);text-decoration:underline}.qm-sub{color:var(--text-faint);font-size:11.5px}.qm-sub-cell{color:var(--text-dim);white-space:nowrap;font-size:12px}.qm-mono{font-family:var(--font-mono);white-space:nowrap;font-size:12.5px}.qm-status{border-radius:var(--radius-full);white-space:nowrap;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.qm-status.success{background:var(--success-soft);color:var(--success)}.qm-status.warning{background:var(--warning-soft);color:var(--warning)}.qm-status.danger{background:var(--danger-soft);color:var(--danger)}.qm-status.info{background:var(--accent-soft);color:var(--accent-hover)}.qm-status.muted{background:var(--bg-inset);color:var(--text-faint)}.qm-details{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;display:grid}.qm-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px}.qm-card h3{font-family:var(--font-sans);color:var(--text);margin:0 0 12px;font-size:14.5px;font-weight:650}.qm-card h4{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);margin:16px 0 8px;font-size:11.5px;font-weight:600}.qm-dl{grid-template-columns:1fr 1fr;gap:10px 16px;margin:0;display:grid}.qm-dl div{min-width:0}.qm-dl dt{color:var(--text-faint);font-size:11px}.qm-dl dd{color:var(--text);align-items:center;gap:6px;margin:2px 0 0;font-size:13px;display:flex}.qm-link{color:var(--text-faint);background:0 0;padding:0;display:inline-flex}.qm-overrides{color:var(--text-dim);flex-direction:column;gap:4px;margin:0;padding-left:18px;font-size:12.5px;display:flex}.qm-html{color:var(--text);overflow-wrap:anywhere;font-size:13.5px;line-height:1.55}.qm-html p{margin:0 0 8px}.qm-html pre,.qm-html code{font-family:var(--font-mono);background:var(--bg-inset);border-radius:4px;font-size:12.5px}.qm-html pre{padding:8px 10px;overflow-x:auto}.qm-html table{border-collapse:collapse}.qm-html td,.qm-html th{border:1px solid var(--border);padding:4px 8px}.qm-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.qm-stat{border-radius:var(--radius-sm);background:var(--bg-inset);flex-direction:column;gap:2px;min-width:0;padding:8px 10px;display:flex}.qm-stat span{color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;font-size:10.5px}.qm-stat strong{color:var(--text);font-size:14px;font-family:var(--font-mono);white-space:nowrap;font-weight:600}.qm-qstats{flex-direction:column;gap:4px;margin:0;padding-left:22px;display:flex}.qm-qstat{text-align:left;width:100%;color:var(--text);background:0 0;grid-template-columns:minmax(0,1fr) 90px 44px;align-items:center;gap:10px;padding:5px 0;font-size:12.5px;display:grid}.qm-qstat-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.qm-bar{background:var(--bg-inset);border-radius:3px;height:6px;overflow:hidden}.qm-bar span{border-radius:3px;height:100%;display:block}.qm-qstat-detail{flex-direction:column;gap:3px;padding:4px 0 8px;display:flex}.qm-ans{color:var(--text-dim);align-items:center;gap:6px;font-size:12.5px;display:flex}.qm-ans.correct{color:var(--success)}.qm-drawer-overlay{z-index:650;background:#06070b8c;justify-content:flex-end;display:flex;position:fixed;inset:0}.qm-drawer{background:var(--bg);border-left:1px solid var(--border-strong);width:min(760px,100vw);height:100%;box-shadow:var(--shadow-lg);outline:none;flex-direction:column;display:flex}.qm-drawer-head{border-bottom:1px solid var(--border);background:var(--bg-elevated);justify-content:space-between;align-items:flex-start;gap:10px;padding:16px 18px;display:flex}.qm-drawer-head h2{font-family:var(--font-sans);color:var(--text);margin:0;font-size:17px;font-weight:650}.qm-drawer-body{flex:1;padding:14px 18px 24px;overflow-y:auto}.qm-drawer-foot{border-top:1px solid var(--border);background:var(--bg-elevated);justify-content:flex-end;align-items:center;gap:8px;padding:12px 18px;display:flex}.qm-drawer-foot>.qm-sub{margin-right:auto}.qm-attempt-bar{flex-wrap:wrap;align-items:stretch;gap:8px;margin-bottom:12px;display:flex}.qm-attempt-bar a{align-self:center;text-decoration:none}.qm-attempt-bar .qm-status{align-self:center}.qm-note{border-radius:var(--radius-sm);background:var(--bg-inset);color:var(--text-dim);margin-bottom:12px;padding:10px 12px;font-size:12.5px;line-height:1.5}.qm-log{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);margin-bottom:12px}.qm-log.warn{border-color:color-mix(in srgb, var(--warning) 40%, transparent)}.qm-log-head{width:100%;color:var(--text);text-align:left;background:0 0;align-items:center;gap:8px;padding:10px 12px;font-size:13px;font-weight:550;display:flex}.qm-log.warn .qm-log-head{color:var(--warning)}.qm-timeline{max-height:240px;color:var(--text-dim);flex-direction:column;gap:3px;margin:0;padding:0 12px 10px;font-size:12px;list-style:none;display:flex;overflow-y:auto}.qm-timeline li{gap:10px;display:flex}.qm-timeline li.warn{color:var(--warning)}.qm-qtools{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:10px;display:flex}.qm-qtools input[type=number]{padding:4px 6px}.qm-question{border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-elevated);margin-bottom:10px;padding:12px 14px}.qm-question.correct{border-left-color:var(--success)}.qm-question.wrong{border-left-color:var(--danger)}.qm-question.partial{border-left-color:var(--warning)}.qm-question header{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.qm-qnum{color:var(--text);font-size:13px;font-weight:700}.qm-qstate{align-items:center;gap:4px;font-size:12px;font-weight:600;display:inline-flex}.qm-question.correct .qm-qstate{color:var(--success)}.qm-question.wrong .qm-qstate{color:var(--danger)}.qm-question.partial .qm-qstate,.qm-question.pending .qm-qstate{color:var(--warning)}.qm-qpoints{font-family:var(--font-mono);color:var(--text-dim);align-items:center;gap:4px;margin-left:auto;font-size:12.5px;display:inline-flex}.qm-qpoints input{text-align:right;width:64px;font-family:var(--font-mono);padding:4px 6px}.qm-answer{border-radius:var(--radius-sm);background:var(--bg-inset);margin-top:8px;padding:8px 10px}.qm-answer ul{color:var(--text);margin:2px 0 0;padding-left:18px;font-size:13px}.qm-answer-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);margin-right:6px;font-size:10.5px;font-weight:600}.qm-essay{max-height:320px;overflow-y:auto}.qm-correct{color:var(--success);margin-top:6px;font-size:12.5px}.qm-comment{color:var(--text-faint);margin-top:8px;font-size:12px}.qm-comment summary{cursor:pointer}.qm-comment textarea{width:100%;margin-top:6px;font-family:inherit;font-size:12.5px}.qm-import-list{border:1px solid var(--border);border-radius:var(--radius-sm);max-height:220px;overflow-y:auto}.qm-import-list>div{border-bottom:1px solid var(--border);color:var(--text);justify-content:space-between;gap:10px;padding:6px 10px;font-size:12.5px;display:flex}.qm-import-list>div:last-child{border-bottom:none}@media (max-width:980px){.qm-layout{grid-template-columns:1fr}.qm-list{max-height:260px;position:static}.qm-details{grid-template-columns:1fr}}@media (max-width:560px){.qm-course select{min-width:0;max-width:calc(100vw - 90px)}.qm-dl{grid-template-columns:1fr}.qm-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.auth-split,.auth-shell,.new-home,.site-page{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f8fb;--bg-soft:#fff;--bg-elevated:#fff;--bg-inset:#f1f2f7;--bg-hover:#ecedf3;--border:#e5e6ec;--border-strong:#dcdfe7;--text:#14213d;--text-dim:#4f596f;--text-faint:#5f6980;--accent:#7657f5;--accent-hover:#6547e9;--accent-soft:#efedff;--accent-border:#d8d1ff;--accent-grad:linear-gradient(135deg, #4d7cff, #7657f5);--success:#2a7a40;--success-soft:#2a7a401a;--warning:#9a6500;--warning-soft:#9a65001a;--danger:#c0303f;--danger-soft:#c0303f1a;--info:#0d7d8c;--info-soft:#0d7d8c1a;--bonus:#8536c4;--bonus-soft:#8536c41a;--absent:#4a3fc0;--absent-soft:#5b4fd11a;--shadow-sm:0 1px 3px #11182712;--shadow-md:0 4px 16px #1118271a;--shadow-lg:0 16px 40px #11182724;--shadow-glow:0 12px 30px #644ee738}body{font-family:var(--font-sans);letter-spacing:-.005em}button,input,select,textarea{font-family:inherit}.auth-split{background:var(--bg);grid-template-columns:minmax(430px,46%) 1fr;min-height:100vh;display:grid!important}.auth-aside{min-height:100vh;position:relative;overflow:hidden;background:radial-gradient(circle at 14% 14%,#5677ff47,#0000 32%),linear-gradient(145deg,#111a35 0%,#1c2144 58%,#32256f 100%)!important}.auth-aside-inner{z-index:1;flex-direction:column;justify-content:space-between;min-height:100vh;padding:42px 56px 44px;display:flex;position:relative}.auth-aside-brand{z-index:2;align-items:center;gap:10px;width:max-content;display:flex;position:relative}.auth-aside-copy{z-index:2;max-width:530px;margin:62px 0;position:relative}.auth-aside-eyebrow{color:#aa9bff;font:500 10px var(--font-mono);letter-spacing:.14em;text-transform:uppercase;margin-bottom:19px}.auth-aside-copy h2{color:#fff;max-width:500px;font:700 clamp(42px, 4.4vw, 62px)/1.04 var(--font-display);letter-spacing:-.055em;margin:0}.auth-aside-copy>p{color:#b9bfd1;max-width:460px;margin:23px 0 0;font-size:14px;line-height:1.8}.auth-aside-copy ul{flex-direction:column;gap:13px;margin:34px 0 0;padding:0;list-style:none;display:flex}.auth-aside-copy li{color:#e6e8f0;align-items:center;gap:11px;font-size:11.5px;display:flex}.auth-aside-copy li>span:first-child{color:#b8abff;background:#9986ff1f;border:1px solid #b8abff38;border-radius:8px;flex:none;place-items:center;width:27px;height:27px;display:grid}.auth-aside-slogan{z-index:2;color:#8c95b0;font:400 9px var(--font-mono);letter-spacing:.06em;margin:0;position:relative}.auth-aside-orbit{pointer-events:none;border:1px solid #ffffff0e;border-radius:50%;position:absolute}.auth-aside-orbit-one{width:550px;height:550px;bottom:-170px;right:-280px}.auth-aside-orbit-two{width:320px;height:320px;bottom:-50px;right:-160px}.auth-split-form{background:var(--bg);min-width:0;padding:50px!important}.auth-card{border:1px solid var(--border)!important;background:var(--bg-elevated)!important;border-radius:18px!important;width:min(440px,100%)!important;max-width:440px!important;padding:38px!important;box-shadow:0 24px 65px #1c223914!important}.auth-card-logo{border-radius:13px!important}.auth-card h1{color:var(--text)!important;letter-spacing:-.045em!important;font-size:30px!important}.auth-card p{color:var(--text-dim)}.auth-card label{color:var(--text-dim)!important;letter-spacing:.06em!important;font-size:10px!important}.auth-card input:not([type=checkbox]){min-height:47px;padding:0 14px;border:1px solid var(--border-strong)!important;background:var(--bg-elevated)!important;color:var(--text)!important;box-shadow:none!important;border-radius:10px!important}.auth-card input:not([type=checkbox])::placeholder{color:var(--text-faint)!important}.auth-card input:not([type=checkbox]):focus{border-color:#9b8bf9!important;box-shadow:0 0 0 3px #7657f51a!important}.auth-card button[type=submit]{min-height:49px;background:var(--accent-grad)!important;box-shadow:var(--shadow-glow)!important;border-radius:10px!important}.auth-card button[type=submit]:hover{transform:translateY(-2px)}.auth-card a{color:var(--accent-hover);font-weight:500}.auth-legal{gap:16px;display:flex}.auth-legal a{color:var(--text-faint);font-size:11.5px}.dashboard-shell{background:var(--bg)!important}.dashboard-topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-color:var(--border)!important;background:var(--bg-soft)!important;min-height:68px!important;padding:0 30px!important}.dashboard-search{border:1px solid var(--border)!important;background:var(--bg-inset)!important;border-radius:10px!important}.stat-grid{gap:12px!important}.stat-card{border:1px solid var(--border)!important;background:var(--bg-elevated)!important;box-shadow:var(--shadow-sm)!important;border-radius:14px!important;padding:22px!important}.stat-value{letter-spacing:-.045em;font-size:29px!important}.course-grid{gap:14px!important}.course-card{border:1px solid var(--border)!important;background:var(--bg-elevated)!important;min-height:175px!important;box-shadow:none!important;border-radius:15px!important;padding:20px!important;transition:transform .2s,box-shadow .2s,border-color .2s!important}.course-card:hover{border-color:var(--accent-border)!important;box-shadow:var(--shadow-lg)!important;transform:translateY(-4px)!important}.course-card-name{letter-spacing:-.025em;font-weight:700!important}.sidebar{color:#fff;background:#111a35!important;border:0!important;width:224px!important;padding:25px 15px 17px!important}.sidebar-brand{padding:0 8px 22px!important}.sidebar-course{background:#ffffff0b!important;border:1px solid #ffffff14!important;border-radius:10px!important;margin:0 3px 16px!important;padding:11px!important}.sidebar-course-back,.sidebar-course-name{color:#9ba3b9!important}.sidebar-section-label{color:#7f89a6!important;font:500 8px var(--font-mono)!important;letter-spacing:.12em!important}.sidebar-nav-btn{margin-bottom:3px;color:#838ca4!important;border-radius:8px!important;padding:10px 11px!important;font-size:11px!important}.sidebar-nav-btn:hover{color:#e5e7ee!important;background:#ffffff0d!important}.sidebar-nav-btn.active{box-shadow:inset 2px 0 #8c76ff;color:#fff!important;background:linear-gradient(100deg,#7657f54d,#7657f514)!important}.sidebar-divider{background:#ffffff13!important}.sidebar-user{border-top-color:#ffffff14!important}.sidebar-avatar{color:#c7beff!important;background:#7657f52e!important}.sidebar-user-email{color:#d8dbe5!important}.sidebar-user-role{color:#8b95ad!important}.content-area{background:var(--bg)!important}.view-header,.gradebook-toolbar{border-color:var(--border)!important;background:var(--bg-soft)!important}.top-nav{color:#fff;box-shadow:0 4px 20px #111a3526;background:#111a35!important;border:0!important}.top-nav-item{color:#8f98af!important}.top-nav-item:hover{color:#fff!important;background:#ffffff0d!important}.top-nav-item.active{color:#fff!important;background:#7657f533!important}.top-nav-email{color:#a3abc0!important}.top-nav-avatar{color:#cabfff!important;background:#7657f533!important}.bottom-nav{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#111a35fa!important;border-top:0!important}.bottom-nav-item{color:#8790a8!important}.bottom-nav-item.active{color:#fff!important}.bottom-nav-pip{background:#9b89ff!important}.portal-page{background:radial-gradient(circle at 90% 0, #7657f51a, transparent 34%), var(--bg);min-height:100vh;padding:28px 20px 48px}.portal-wrap{width:min(760px,100%);margin:0 auto}.portal-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:22px;display:flex}.portal-brand{color:var(--text);align-items:center;gap:9px;display:inline-flex}.portal-head{border:1px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow-sm);border-radius:15px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;padding:20px 22px;display:flex}.portal-head h1{letter-spacing:-.02em;color:var(--text);margin:0;font-size:22px;font-weight:700}.portal-head p{color:var(--text-faint);flex-wrap:wrap;align-items:center;gap:4px;margin:5px 0 0;font-size:12.5px;display:flex}.portal-logout{border:1px solid var(--border-strong);background:var(--bg-inset);min-height:36px;color:var(--text-dim);border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:12.5px;display:inline-flex}.portal-logout:hover{color:var(--text);background:var(--bg-hover)}.portal-average{color:#fff;text-align:center;background:linear-gradient(135deg,#111a35,#31246d);border:0;border-radius:16px;margin-bottom:18px;padding:29px;box-shadow:0 18px 42px #141c3829}.portal-average>div:first-child{font-size:40px;font-family:var(--font-mono);font-weight:700;color:#fff!important}.portal-average>div:nth-child(2){font-size:12px;color:#bbb4e7!important}.portal-grades{flex-direction:column;gap:8px;display:flex}.portal-grade{border:1px solid var(--border);background:var(--bg-elevated);border-radius:13px;padding:17px 19px;transition:transform .2s,box-shadow .2s}.portal-grade:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.portal-empty{text-align:center;color:var(--text-faint);padding:30px;font-size:13px}.portal-load{min-height:100vh;color:var(--text-dim);justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}.site-page{background:var(--bg);min-height:100vh;color:var(--text);flex-direction:column;display:flex}.site-header{z-index:30;background:var(--bg-soft);border-bottom:1px solid var(--border);position:relative}.site-header-inner{justify-content:space-between;align-items:center;gap:24px;width:min(1180px,100% - 48px);min-height:84px;margin:0 auto;display:flex}.site-header nav{align-items:center;gap:32px;display:flex}.site-header nav a{color:var(--text-dim);font-size:13px;font-weight:600;transition:color .15s}.site-header nav a:hover{color:var(--accent-hover)}.site-cta{background:#14213d;border-radius:10px;align-items:center;gap:8px;padding:11px 16px;font-size:13px;font-weight:700;transition:transform .2s,box-shadow .2s;display:inline-flex;color:#fff!important}.site-cta:hover{transform:translateY(-2px);box-shadow:0 12px 30px #14213d2e}.site-main{flex:1;width:min(760px,100% - 48px);margin:0 auto;padding:56px 0 40px}.site-title{letter-spacing:-.03em;margin:0 0 6px;font-size:clamp(30px,3.4vw,40px);font-weight:800}.site-meta{color:var(--text-faint);margin-bottom:36px;font-size:12.5px}.site-section{margin-bottom:30px}.site-section h2{font-family:var(--font-sans);letter-spacing:-.01em;color:var(--text);margin:0 0 10px;font-size:16px;font-weight:700}.site-section>div{color:var(--text-dim);font-size:13.5px;line-height:1.7}.site-section a{color:var(--accent-hover)}.site-section ul{flex-direction:column;gap:8px;margin-top:8px;padding-left:20px;display:flex}.site-nav-brand{color:var(--text);align-items:center;gap:10px;display:inline-flex}.site-footer{border-top:1px solid var(--border);margin-top:40px}.site-footer-inner{grid-template-columns:1fr auto 1fr;align-items:center;gap:18px 24px;width:min(1180px,100% - 48px);min-height:120px;margin:0 auto;padding:26px 0;display:grid}.site-footer-brand{color:var(--text);flex-wrap:wrap;align-items:center;gap:9px;display:flex}.site-footer-brand p{width:100%;color:var(--text-faint);margin:2px 0 0;font-size:11px}.site-footer nav{justify-content:center;gap:24px;display:flex}.site-footer nav a{color:var(--text-dim);font-size:12px;font-weight:600}.site-footer nav a:hover{color:var(--accent-hover)}.site-footer-copyright{color:var(--text-faint);text-align:right;justify-self:end;margin:0;font-size:11.5px}.admin-page{background:var(--bg);min-height:100dvh}.admin-header{z-index:20;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg-soft) 92%, transparent);-webkit-backdrop-filter:blur(16px);position:sticky;top:0}.admin-header-inner{justify-content:space-between;align-items:center;gap:20px;width:min(1280px,100% - 64px);min-height:76px;margin:0 auto;display:flex}.admin-heading{align-items:center;gap:12px;min-width:0;display:flex}.admin-back-button{border:1px solid var(--border);width:40px;height:40px;color:var(--text-dim);background:var(--bg-elevated);border-radius:12px;flex:none;place-items:center;font-size:20px;transition:background .15s,color .15s,border-color .15s;display:grid}.admin-back-button:hover{color:var(--text);border-color:var(--border-strong);background:var(--bg-hover)}.admin-heading-mark{border:1px solid var(--accent-border);width:42px;height:42px;color:var(--accent-hover);background:var(--accent-soft);border-radius:13px;flex:none;place-items:center;display:grid}.admin-heading-copy{min-width:0}.admin-eyebrow{color:var(--text-faint);font:500 9px var(--font-mono);letter-spacing:.11em;text-transform:uppercase;margin-bottom:2px;display:block}.admin-heading-copy h1{color:var(--text);letter-spacing:-.04em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:19px;font-weight:750;overflow:hidden}.admin-header-actions{align-items:center;gap:12px;display:flex}.admin-user-email{max-width:260px;color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.admin-overview{width:min(1280px,100% - 64px);margin:22px auto 0}.admin-access-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-sm);align-items:center;gap:14px;padding:17px 20px;display:flex}.admin-access-icon{width:40px;height:40px;color:var(--accent-hover);background:var(--accent-soft);border-radius:12px;flex:none;place-items:center;display:grid}.admin-access-copy{flex:1;min-width:0}.admin-access-heading{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.admin-access-heading h2{color:var(--text);font-family:var(--font-sans);letter-spacing:-.01em;margin:0;font-size:13.5px;font-weight:700}.admin-access-copy p{color:var(--text-dim);margin:4px 0 0;font-size:12px;line-height:1.5}.admin-access-status{border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-faint);background:var(--bg-inset);white-space:nowrap;align-items:center;gap:6px;padding:3px 8px;font-size:10px;font-weight:650;display:inline-flex}.admin-access-status>span{background:var(--text-faint);border-radius:50%;width:6px;height:6px}.admin-access-status.is-enabled{border-color:color-mix(in srgb, var(--success) 28%, transparent);color:var(--success);background:var(--success-soft)}.admin-access-status.is-enabled>span{background:var(--success)}.admin-access-toggle{width:48px;height:28px}.admin-access-toggle .toggle-switch-knob{width:18px;height:18px;top:4px;left:4px}.admin-access-toggle[data-on=true] .toggle-switch-knob{transform:translate(20px)}.admin-tabs-wrap{border-bottom:1px solid var(--border);width:min(1280px,100% - 64px);margin:26px auto 0}.admin-tabs{scrollbar-width:none;align-items:stretch;gap:5px;display:flex;overflow-x:auto}.admin-tabs::-webkit-scrollbar{display:none}.admin-tab{min-height:48px;color:var(--text-dim);white-space:nowrap;background:0 0;border:0;border-radius:10px 10px 0 0;flex:none;justify-content:center;align-items:center;gap:8px;padding:0 15px;font-size:12px;font-weight:600;transition:color .15s,background .15s;display:inline-flex;position:relative}.admin-tab:hover{color:var(--text);background:var(--bg-hover)}.admin-tab.active{color:var(--accent-hover);background:var(--accent-soft)}.admin-tab.active:after{background:var(--accent);content:"";border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:10px;right:10px}.admin-content{padding:24px 0 0}.page-fade-in{background:var(--bg)}.page-fade-in>div:first-of-type[style*=borderBottom]{background:var(--bg-soft);min-height:68px;padding:0 32px!important}.page-container{max-width:1180px!important}.page-container>div,.page-container section{border-radius:14px}.toggle-switch[data-on=true]{background:var(--accent-grad)!important}@media (max-width:900px){.auth-split{grid-template-columns:1fr}.auth-aside{min-height:390px}.auth-aside-inner{min-height:390px;padding:32px}.auth-aside-copy{margin:45px 0 20px}.auth-aside-copy h2{max-width:620px;font-size:44px}.auth-aside-copy ul{display:none}.auth-split-form{padding:70px 25px!important}.site-header nav{display:none}.site-footer-inner{text-align:center;grid-template-columns:1fr;justify-items:center}.site-footer-brand{justify-content:center}.site-footer-copyright{text-align:center;justify-self:center}}@media (max-width:640px){.admin-header-inner{gap:10px;width:calc(100% - 28px);min-height:66px}.admin-heading{gap:8px}.admin-back-button{width:38px;height:38px}.admin-heading-mark{border-radius:11px;width:36px;height:36px}.admin-eyebrow{font-size:8px}.admin-heading-copy h1{font-size:16px}.admin-header-actions{gap:8px}.admin-user-email{display:none}.admin-overview{width:calc(100% - 28px);margin-top:14px}.admin-access-card{border-radius:14px;gap:10px;padding:13px}.admin-access-icon{width:36px;height:36px}.admin-access-copy p{max-width:34ch;font-size:11px}.admin-access-heading h2{font-size:12px}.admin-access-toggle{width:44px;height:26px}.admin-access-toggle[data-on=true] .toggle-switch-knob{transform:translate(18px)}.admin-tabs-wrap{width:calc(100% - 28px);margin-top:18px}.admin-tab{min-height:48px;padding:0 13px}.admin-content{padding-top:18px;width:calc(100% - 28px)!important}.auth-aside{min-height:185px}.auth-aside-inner{min-height:185px;padding:24px}.auth-aside-copy{margin:auto 0 0}.auth-aside-copy h2{letter-spacing:-.04em;font-size:29px}.auth-aside-copy>p,.auth-aside-eyebrow,.auth-aside-slogan{display:none}.auth-split-form{padding:32px 16px 50px!important}.dashboard-topbar{padding:0 14px!important}.sidebar{width:100%!important}.site-header-inner{min-height:70px}.site-main{padding-top:40px}.auth-split{min-height:100dvh}.auth-split-form{min-height:0;padding:24px 16px calc(28px + env(safe-area-inset-bottom,0px))!important}.auth-card{padding:25px 20px!important}.auth-card input:not([type=checkbox]){min-height:48px;font-size:16px}.auth-card button[type=submit]{min-height:50px}.auth-legal{flex-wrap:wrap;justify-content:center}.dashboard-shell{height:auto;min-height:100dvh}.dashboard-topbar{flex-wrap:wrap;gap:10px!important;min-height:58px!important;padding:9px 14px!important}.dashboard-topbar>.dashboard-search{flex:1 0 100%;order:5;min-height:42px}.dashboard-account-actions{margin-left:auto;gap:6px!important}.dashboard-account-profile{gap:5px!important}.dashboard-account-email{display:none}.dashboard-topbar-action{min-height:40px;padding:7px 10px!important}.dashboard-main{padding:24px 18px calc(32px + env(safe-area-inset-bottom,0px))!important}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.stat-card{min-width:0;padding:16px!important}.stat-label{line-height:1.35}.stat-sub{line-height:1.4}.course-grid{grid-template-columns:minmax(0,1fr)!important}.course-card{min-width:0}}@media (max-width:380px){.stat-grid{grid-template-columns:1fr!important}.dashboard-topbar-action[title="Report a problem"]{display:none!important}.dashboard-main{padding-left:14px!important;padding-right:14px!important}.auth-card{padding-left:17px!important;padding-right:17px!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.new-home{color:#14213d;background:#f8f8fb;min-height:100vh;font-family:Manrope,sans-serif;overflow:hidden}.new-home *,.new-home :before,.new-home :after{box-sizing:border-box}.new-home a{color:inherit;text-decoration:none}.new-home-brand{color:#14213d;align-items:center;gap:10px;display:inline-flex}.new-home-brand img{object-fit:contain}.new-home-brand.small{color:#fff;gap:6px}.new-home-header{z-index:30;justify-content:space-between;align-items:center;width:min(1180px,100% - 48px);height:84px;margin:auto;display:flex;position:relative}.new-home-header>nav{gap:35px;margin-left:80px;display:flex}.new-home-header>nav a,.new-home-actions>a:first-child{color:#4d5870;font-size:13px;font-weight:600}.new-home-header>nav a:hover{color:#7657f5}.new-home-actions{align-items:center;gap:22px;display:flex}.new-home-actions>a:last-child{color:#fff;background:#14213d;border-radius:10px;align-items:center;gap:8px;padding:11px 16px;font-size:13px;font-weight:700;display:flex}.new-menu-button{color:#14213d;background:0 0;border:0;border-radius:10px;min-width:44px;min-height:44px;padding:8px;display:none}.new-mobile-auth-links{display:none}.new-hero{grid-template-columns:46% 54%;align-items:center;width:min(1180px,100% - 48px);min-height:710px;margin:auto;padding:115px 0 75px;display:grid;position:relative}.new-hero-glow{pointer-events:none;background:radial-gradient(circle,#7657f521,#4d7cff08 48%,#0000 70%);border-radius:50%;width:660px;height:660px;position:absolute;top:-170px;right:-260px}.new-hero-copy{z-index:2;padding-bottom:35px;position:relative}.new-eyebrow{color:#6547e9;letter-spacing:1.1px;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:24px;font:500 11px DM Mono,monospace;display:inline-flex}.new-eyebrow i{background:#efedff;border-radius:7px;place-items:center;width:24px;height:24px;display:grid}.new-hero h1{color:#14213d;letter-spacing:-4.6px;margin:0 0 23px;font-size:clamp(46px,5vw,70px);font-weight:700;line-height:1.03}.new-hero h1 em{color:#7657f5;font-style:normal}.new-hero-copy>p{color:#647089;max-width:520px;margin:0 0 31px;font-size:16px;line-height:1.8}.new-hero-actions{justify-content:center;align-items:center;gap:11px;display:flex}.new-hero-copy .new-hero-actions{justify-content:flex-start}.new-hero-actions a{background:#fff;border:1px solid #dfe2e9;border-radius:12px;justify-content:center;align-items:center;gap:9px;padding:15px 22px;font-size:13px;font-weight:700;transition:transform .2s,box-shadow .2s;display:inline-flex}.new-hero-actions a:first-child{color:#fff;background:linear-gradient(135deg,#4d7cff,#7657f5);border:0;box-shadow:0 12px 30px #644ee73b}.new-hero-actions a:hover{transform:translateY(-2px)}.new-trust{color:#67708a;gap:24px;margin-top:22px;font-size:11px;font-weight:600;display:flex}.new-trust span{align-items:center;gap:6px;display:flex}.new-trust svg{color:#7657f5}.new-hero-preview{z-index:1;position:relative;transform:translate(65px)}.new-product-window{background:#fff;border:1px solid #bbc0cfcc;border-radius:19px;overflow:hidden;box-shadow:0 35px 80px #1a1f3629,0 4px 12px #1a1f360f}.new-window-bar{background:#fbfbfd;border-bottom:1px solid #eaebf0;grid-template-columns:1fr 1fr 1fr;align-items:center;height:47px;padding:0 16px;display:grid}.new-window-bar>span{gap:5px;display:flex}.new-window-bar>span i{background:#d7d9e2;border-radius:50%;width:7px;height:7px}.new-window-bar>b{color:#687188;justify-self:center;align-items:center;gap:6px;font-size:8px;display:flex}.new-window-bar>b em{color:#fff;background:#7657f5;border-radius:5px;place-items:center;width:18px;height:18px;font-style:normal;display:grid}.new-window-bar>div{justify-self:end;display:flex}.new-window-bar>div i{color:#415581;background:#dce4ff;border:2px solid #fbfbfd;border-radius:50%;place-items:center;width:21px;height:21px;margin-left:-5px;font-size:6px;font-style:normal;font-weight:700;display:grid}.new-window-bar>div i:nth-child(2){background:#efe0ff}.new-window-bar>div i:nth-child(3){background:#ecedf2}.new-product-shell{grid-template-columns:125px 1fr;min-height:390px;display:grid}.new-product-sidebar{color:#fff;background:#111a35;flex-direction:column;padding:17px 12px 14px;display:flex}.new-product-sidebar>.new-home-brand{margin:2px 5px 25px}.new-product-sidebar nav{flex-direction:column;gap:4px;display:flex}.new-product-sidebar button{color:#8d96ad;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:9px;width:100%;padding:9px;font-size:8px;font-weight:600;display:flex}.new-product-sidebar button.active{color:#fff;background:linear-gradient(100deg,#7657f5d9,#4d7cffbf)}.new-canvas-sync{align-items:center;gap:7px;margin-top:auto;padding:9px 4px 2px;display:flex}.new-canvas-sync>span{color:#78d2a0;background:#ffffff14;border-radius:7px;place-items:center;width:24px;height:24px;display:grid}.new-canvas-sync p{margin:0}.new-canvas-sync b,.new-canvas-sync small{font-size:7px;display:block}.new-canvas-sync b{color:#d7dae4}.new-canvas-sync small{color:#737d96;margin-top:2px}.new-product-main{background:#fdfdfe;padding:26px 25px;overflow:hidden}.new-product-main>header{justify-content:space-between;margin-bottom:23px;display:flex}.new-product-main>header span{color:#7657f5;letter-spacing:.8px;text-transform:uppercase;font:500 7px DM Mono,monospace}.new-product-main>header h3{letter-spacing:-.4px;margin:5px 0 0;font-size:14px}.new-product-main>header p{text-align:right;margin:0}.new-product-main>header strong,.new-product-main>header small{display:block}.new-product-main>header strong{color:#7657f5;font-size:15px}.new-product-main>header small{color:#9ba1b0;margin-top:3px;font-size:6px}.new-preview-table{background:#fff;border:1px solid #ececf1;border-radius:10px;position:relative;overflow:visible}.new-preview-row{color:#687188;border-bottom:1px solid #f0f0f4;grid-template-columns:1.8fr repeat(4,.75fr);align-items:center;gap:5px;min-height:48px;padding:0 13px;font-size:7px;display:grid}.new-preview-row.head{color:#a0a5b2;letter-spacing:.4px;text-transform:uppercase;background:#fafafd;border-radius:10px 10px 0 0;min-height:31px;font:500 6px DM Mono,monospace}.new-preview-student{color:#3a4358;align-items:center;gap:7px;font-weight:700;display:flex}.new-preview-student i{color:#51669c;background:#e8edff;border-radius:6px;place-items:center;width:21px;height:21px;font-size:6px;font-style:normal;display:grid}.new-preview-score{color:#45805c;background:#f0f8f3;border-radius:5px;width:max-content;padding:4px 6px;font-weight:700}.new-preview-row>strong{color:#7657f5}.new-preview-toast{color:#fff;background:#111a35;border-radius:8px;align-items:center;gap:7px;padding:9px 12px;font-size:7px;font-weight:600;display:flex;position:absolute;bottom:-18px;right:12px;box-shadow:0 8px 20px #111a3538}.new-preview-toast i{background:#55b77f;border-radius:50%;place-items:center;width:17px;height:17px;display:grid}.new-absence-list{flex-direction:column;gap:8px;display:flex}.new-absence-list>div{background:#fff;border:1px solid #ececf1;border-radius:9px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px;display:grid}.new-absence-list>div>span{color:#6547e9;background:#efedff;border-radius:8px;place-items:center;width:29px;height:29px;font-size:7px;font-weight:800;display:grid}.new-absence-list p{margin:0}.new-absence-list b,.new-absence-list small{display:block}.new-absence-list b{font-size:8px}.new-absence-list small{color:#959bab;margin-top:3px;font-size:6px}.new-absence-list em{border-radius:5px;padding:5px 7px;font-size:6px;font-style:normal;font-weight:700}.new-absence-list em.ready{color:#3c855b;background:#edf8f1}.new-absence-list em.scheduled{color:#4f6fae;background:#edf3ff}.new-absence-list em.pending{color:#a77533;background:#fff5e7}.new-absence-list aside{color:#7657f5;background:#efedff;border-radius:9px;align-items:center;gap:9px;padding:11px 12px;display:flex}.new-absence-list aside p{margin:0}.new-absence-list aside b,.new-absence-list aside small{display:block}.new-absence-list aside b{font-size:7px}.new-absence-list aside small{color:#81799e;margin-top:2px;font-size:6px}.new-lab-bench{color:#8d94a5;letter-spacing:.5px;text-align:center;background:#edeef2;border-radius:7px;width:70%;margin:0 auto 18px;padding:8px;font:500 6px DM Mono,monospace}.new-seat-map>div:last-child{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.new-seat-map span{color:#6547e9;background:#f4f2ff;border:1px solid #ddd8ff;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:48px;display:flex}.new-seat-map span b{font-size:8px}.new-seat-map span small{color:#9188c0;margin-top:3px;font-size:5px}.new-seat-map span.open{color:#a3a8b4;background:#fff;border-style:dashed}.new-float-tag{z-index:4;color:#67708a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;border:1px solid #e2e3e9;border-radius:10px;font-size:8px;font-weight:600;animation:4s ease-in-out infinite newFloat;position:absolute;box-shadow:0 12px 30px #20274021}.new-float-tag.one{padding:10px 13px;top:-25px;right:45px}.new-float-tag.one strong{color:#7657f5;font-size:14px;display:block}.new-float-tag.two{align-items:center;gap:7px;padding:10px 13px;animation-delay:-1.4s;display:flex;bottom:37px;left:-26px}.new-float-tag.two i{color:#fff;background:#4eb279;border-radius:6px;place-items:center;width:19px;height:19px;display:grid}@keyframes newFloat{50%{transform:translateY(-7px)}}.new-proof{border-block:1px solid #e3e5ec;grid-template-columns:repeat(3,1fr);width:min(1180px,100% - 48px);margin:0 auto;padding:34px 0;display:grid}.new-proof>div{border-right:1px solid #e3e5ec;flex-direction:column;align-items:center;gap:5px;display:flex}.new-proof>div:last-child{border:0}.new-proof strong{font-size:18px}.new-proof span{color:#67708a;font-size:10px}.new-why{width:min(1080px,100% - 48px);margin:auto;padding:130px 0 145px}.new-why>header{grid-template-columns:1fr 1fr;align-items:end;margin-bottom:55px;display:grid}.new-why>header span,.new-workflow>div:first-child>span,.new-closing>span{color:#7657f5;letter-spacing:1.4px;text-transform:uppercase;margin-bottom:16px;font:500 10px DM Mono,monospace;display:block}.new-why h2,.new-workflow h2,.new-closing h2{letter-spacing:-3px;margin:0;font-size:clamp(38px,4.5vw,57px);line-height:1.08}.new-why>header>p{color:#647089;justify-self:end;max-width:405px;margin:0;font-size:14px;line-height:1.8}.new-benefits{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.new-benefits article{background:#fff;border:1px solid #e3e5ec;border-radius:18px;min-height:285px;padding:30px;transition:all .25s}.new-benefits article:hover{transform:translateY(-5px);box-shadow:0 20px 50px #252c4514}.new-benefits article>div{justify-content:space-between;align-items:center;margin-bottom:55px;display:flex}.new-benefits article i{color:#7657f5;background:#efedff;border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.new-benefits article>div>span{color:#67708a;font:500 9px DM Mono,monospace}.new-benefits h3{margin:0 0 13px;font-size:18px}.new-benefits p{color:#647089;margin:0;font-size:12px;line-height:1.75}.new-workflow{color:#fff;background:#111a35;grid-template-columns:42% 58%;align-items:center;padding:110px max(50vw - 540px,24px);display:grid}.new-workflow>div:first-child>span{color:#9c8aff}.new-workflow>div:first-child>p{color:#9ba3b9;max-width:420px;margin:24px 0 28px;font-size:13px;line-height:1.8}.new-workflow>div:first-child>a{color:#b9aefe;align-items:center;gap:8px;font-size:12px;font-weight:700;display:inline-flex}.new-steps{margin-left:70px}.new-steps article{border-bottom:1px solid #ffffff17;grid-template-columns:40px 1fr;gap:18px;padding:23px 0;display:grid}.new-steps article>span{color:#a99bfa;border:1px solid #a99bfa59;border-radius:50%;place-items:center;width:37px;height:37px;font:500 8px DM Mono,monospace;display:grid}.new-steps h3{margin:1px 0 5px;font-size:15px}.new-steps p{color:#8f98b0;margin:0;font-size:10px}.new-closing{text-align:center;width:min(850px,100% - 48px);margin:auto;padding:130px 0;position:relative}.new-closing>img{opacity:.06;position:absolute;top:50px;left:50%;transform:translate(-50%)rotate(72deg)}.new-closing p{color:#647089;max-width:490px;margin:22px auto 29px;font-size:14px;line-height:1.8}.new-home-footer{border-top:1px solid #e3e5ec;grid-template-columns:1fr auto 1fr;align-items:center;width:min(1180px,100% - 48px);min-height:145px;margin:auto;display:grid}.new-home-footer>div p,.new-home-footer>span{color:#67708a;margin:9px 0 0;font-size:9px}.new-home-footer nav{color:#687188;gap:28px;font-size:10px;font-weight:600;display:flex}.new-home-footer>span{justify-self:end;margin:0}@media (max-width:980px){.new-home-header>nav{gap:22px;margin-left:0}.new-hero{text-align:center;grid-template-columns:1fr;padding-top:70px}.new-hero-copy>p{margin-inline:auto}.new-hero-copy .new-hero-actions,.new-trust{justify-content:center}.new-hero-preview{width:100%;max-width:650px;margin:70px auto 0;transform:none}.new-workflow{grid-template-columns:1fr 1fr}.new-steps{margin-left:30px}}@media (max-width:760px){.new-home-header{width:calc(100% - 32px);height:70px}.new-home-actions{display:none}.new-menu-button{display:block}.new-home-header>nav{background:#fff;border:1px solid #e3e5ec;border-radius:14px;flex-direction:column;gap:0;padding:20px;display:none;position:absolute;top:62px;left:0;right:0;box-shadow:0 18px 40px #1c22361f}.new-home-header>nav.open{display:flex}.new-home-header>nav a{padding:12px}.new-mobile-auth-links{border-top:1px solid #e3e5ec;flex-direction:column;gap:8px;margin-top:10px;padding-top:14px;display:flex}.new-mobile-auth-links a{color:#14213d;background:#fff;border:1px solid #dfe2e9;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:46px;font-weight:700;display:flex;padding:12px 16px!important}.new-mobile-auth-links a:last-child{color:#fff;background:linear-gradient(135deg,#4d7cff,#7657f5);border-color:#0000}.new-hero{width:calc(100% - 32px);min-height:auto;padding:75px 0 60px}.new-hero h1{letter-spacing:-3px;font-size:44px}.new-hero-copy>p{font-size:14px}.new-trust{flex-direction:column;align-items:center;gap:8px}.new-hero-preview{margin-top:55px}.new-product-shell{grid-template-columns:78px 1fr;min-height:320px}.new-product-sidebar{padding:13px 8px}.new-product-sidebar .new-home-brand svg,.new-product-sidebar button span,.new-canvas-sync p{display:none}.new-product-sidebar .new-home-brand,.new-product-sidebar button{justify-content:center}.new-product-main{padding:19px 13px}.new-float-tag{display:none}.new-proof{grid-template-columns:1fr;width:calc(100% - 32px);padding:5px 0}.new-proof>div{border-bottom:1px solid #e3e5ec;border-right:0;padding:20px 0}.new-why{width:calc(100% - 32px);padding:90px 0}.new-why>header{grid-template-columns:1fr;gap:24px}.new-why>header>p{justify-self:start}.new-benefits{grid-template-columns:1fr}.new-benefits article{min-height:auto}.new-workflow{grid-template-columns:1fr;padding:80px 24px}.new-steps{margin:50px 0 0}.new-home-footer{text-align:center;grid-template-columns:1fr;gap:25px;width:calc(100% - 32px);padding:35px 0}.new-home-footer>div .new-home-brand,.new-home-footer nav{justify-content:center}.new-home-footer>span{justify-self:center}}@media (max-width:470px){.new-hero h1{font-size:38px}.new-hero-actions{flex-direction:column;align-items:stretch}.new-hero-actions a{width:100%}.new-hero-preview{width:116%;margin-left:-8%}.new-window-bar{height:38px}.new-product-shell{min-height:290px}.new-product-main{padding:16px 10px}.new-preview-row{gap:2px;min-height:42px;padding:0 8px;font-size:6px}.new-preview-student i{display:none}.new-preview-score{padding:3px}}@media (max-width:760px){.new-home-header>nav a,.new-mobile-auth-links a{min-height:44px}}@media (prefers-reduced-motion:reduce){.new-home *{transition-duration:.01ms!important;animation-duration:.01ms!important}}
