*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#050505;background:var(--bg-page,#050505);color:#f5f7fb;color:var(--ink,#f5f7fb);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-body,"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);height:100vh;margin:0;min-height:100vh;overflow:hidden}code{font-family:JetBrains Mono,SFMono-Regular,Menlo,Monaco,Consolas,Courier New,monospace;font-family:var(--font-mono,"JetBrains Mono",SFMono-Regular,Menlo,Monaco,Consolas,"Courier New",monospace)}#root{height:100vh;min-height:100vh}:root{--font-body:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono",SFMono-Regular,Menlo,Monaco,Consolas,"Courier New",monospace;--header-height:80px;--footer-height:52px;--sidebar-width:220px;--side-panel-width:360px;--content-gap:1.5rem;--auth-card-padding:2.5rem 2.75rem;--radius-sm:8px;--radius-md:14px;--radius-lg:18px;--radius-xl:24px;--ink:#f5f7fb;--ink-muted:#f5f7fb9e;--ink-strong:#fff;--bg-page:#050505;--bg-header:#080808f2;--bg-sidebar:#0a0a0ae6;--bg-content:#070707eb;--bg-insight-panel:#060606f2;--bg-kanban-col:#0e0e0ef2;--bg-tile:#141414f2;--bg-auth-card:#131313f2;--bg-classroom:#020202;--bg-block:#00000040;--bg-dropdown:#121212fa;--surface-card:#121212f5;--surface-panel:#0c0c0ceb;--surface-subtle:#ffffff0a;--surface-chip:#ffffff1f;--surface-input:#ffffff0a;--surface-input-focus:#ffffff14;--border-subtle:#ffffff0d;--border-soft:#ffffff1f;--border-strong:#ffffff3d;--shadow-soft:0 18px 42px #00000073;--shadow-card:0 20px 35px #00000073;--shadow-sm:0 8px 20px #00000059;--accent-primary:#377aff;--accent-info:#7ab8ff;--accent-positive:#21d07a;--accent-warning:#f2b94c;--accent-critical:#ff5c7a;--btn-primary-bg:#377aff;--btn-primary-fg:#fff;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-body)}[data-theme=light]{--ink:#0d0d0f;--ink-muted:#0d0d0f94;--ink-strong:#000;--bg-page:#f0f2f7;--bg-header:#fffffff0;--bg-sidebar:#e6eaf4;--bg-content:#f0f2f7;--bg-insight-panel:#e6eaf4;--bg-kanban-col:#fffffff5;--bg-tile:#fffffffa;--bg-auth-card:#fffffffa;--bg-classroom:#f5f5f7;--bg-block:#00000008;--bg-dropdown:#fffffffc;--surface-card:#fffffffa;--surface-panel:#fffffff2;--surface-subtle:rgba(0,0,0,.025);--surface-chip:#00000012;--surface-input:#0000000a;--surface-input-focus:#00000012;--border-subtle:#0000000f;--border-soft:#0000001a;--border-strong:#00000038;--shadow-soft:0 8px 28px #00000014;--shadow-card:0 8px 24px #00000012;--shadow-sm:0 4px 14px #00000012}.auth-shell{align-items:center;background-color:#050505;background-color:var(--bg-page);background-image:radial-gradient(circle at 20% 20%,#3e3e3e59,#0000 55%),radial-gradient(circle at 80% 0,#2361ff38,#0000 45%);display:flex;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.backdrop{background:radial-gradient(circle at 50% 20%,#0fb86559,#0000 50%);filter:blur(120px);inset:0;opacity:.65;pointer-events:none;position:absolute}.auth-wrapper{max-width:420px;padding:1.25rem;position:relative;width:100%}.auth-card{background:#131313f2;background:var(--bg-auth-card);border:1px solid #ffffff0d;border:1px solid var(--border-subtle);border-radius:1.5rem;box-shadow:0 18px 42px #00000073,inset 0 1px #ffffff0d;box-shadow:var(--shadow-soft),inset 0 1px var(--border-subtle);display:flex;flex-direction:column;gap:1.5rem;padding:2.5rem 2.75rem;padding:var(--auth-card-padding)}.brand-pill{align-items:center;display:inline-flex;gap:.75rem}.brand-icon{align-items:center;background:linear-gradient(135deg,#377aff,#2464ff);border-radius:12px;display:flex;font-size:1.2rem;font-weight:700;height:42px;justify-content:center;width:42px}.brand-icon-square,.brand-name{letter-spacing:.05em}.brand-name{font-weight:600}h1,h2,h3{margin:0}.subtitle{color:#f5f7fb9e;color:var(--ink-muted);font-size:.95rem;margin:-1rem 0 0}.auth-form{display:flex;flex-direction:column;gap:.9rem}.field-label{color:#f5f7fb9e;color:var(--ink-muted);font-size:.9rem}.auth-form input{background:#ffffff0a;background:var(--surface-input);border:1px solid #ffffff1f;border:1px solid var(--border-soft);border-radius:.9rem;color:#f5f7fb;color:var(--ink);font-size:.95rem;padding:.95rem 1rem;transition:border-color .2s ease,background .2s ease;width:100%}.auth-form input:focus{background:#ffffff14;background:var(--surface-input-focus);border-color:#2172ff99;outline:none}.primary-btn,.secondary-btn{border:none;border-radius:.95rem;cursor:pointer;font-size:1rem;font-weight:600;padding:.95rem;transition:transform .15s ease,box-shadow .15s ease}.auth-form .primary-btn,.auth-form .secondary-btn{width:100%}.primary-btn{background:linear-gradient(135deg,#377aff,#2464ff);box-shadow:0 10px 25px #2464ff59;color:#fff}.primary-btn:hover,.secondary-btn:hover{box-shadow:0 15px 25px #00000059;transform:translateY(-1px)}.secondary-btn{background:#0000;border:1px solid #ffffff1f;border:1px solid var(--border-soft);color:#f5f7fb;color:var(--ink)}.secondary-btn.compact{border-radius:999px;padding:.5rem 1rem;width:auto}.secondary-btn.icon-only{align-items:center;aspect-ratio:1/1;display:inline-flex;justify-content:center;min-width:40px;padding:.45rem}.icon-signout{height:20px;width:20px}.btn{background:#ffffff0a;background:var(--surface-subtle);border:1px solid #0000;border-radius:.75rem;color:#f5f7fb;color:var(--ink);cursor:pointer;font:inherit;line-height:1.1;padding:.35rem .85rem;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:#377aff;background:var(--btn-primary-bg);border-color:#0000;box-shadow:0 12px 26px #377aff59;color:#fff;color:var(--btn-primary-fg)}.btn-secondary{background:#ffffff0a;background:var(--surface-subtle);border-color:#ffffff1f;border-color:var(--border-soft);color:#f5f7fb;color:var(--ink)}.btn-tertiary{background:#0000;border-color:#0000;color:#f5f7fb9e;color:var(--ink-muted)}.btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn:focus-visible,.pill-btn:focus-visible,.primary-btn:focus-visible,.secondary-btn:focus-visible,.sidebar-link:focus-visible,input:focus-visible{outline:2px solid #377affcc;outline-offset:2px}.error-text{color:#ff6b6b;font-size:.85rem;margin:0}.sr-only{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.workspace-shell{background:#050505;background:var(--bg-page);display:flex;flex-direction:column;height:100vh;min-height:100vh;overflow:hidden}.pill-btn,.workspace-shell{color:#f5f7fb;color:var(--ink)}.pill-btn{background:#0000;border:1px solid #ffffff3d;border:1px solid var(--border-strong);border-radius:999px;cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem 1rem;transition:border-color .2s ease,color .2s ease,background .2s ease}.pill-btn.subtle:hover{background:#ffffff1f;background:var(--surface-chip);border-color:#ffffff3d;border-color:var(--border-strong);color:#f5f7fb;color:var(--ink)}.top-bar{grid-gap:1.5rem;align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#080808f2;background:var(--bg-header);border-bottom:1px solid #ffffff0d;border-bottom:1px solid var(--border-subtle);display:grid;gap:1.5rem;grid-template-columns:minmax(160px,1fr) minmax(280px,560px) minmax(160px,1fr);min-height:80px;min-height:var(--header-height);padding:1.2rem 2rem;position:sticky;top:0;z-index:10}.brand-cluster{align-self:stretch;gap:.75rem;justify-self:flex-start;min-height:42px}.brand-cluster,.brand-title{align-items:center;display:inline-flex;height:100%}.brand-title{font-size:1rem;font-weight:600;line-height:1.2;margin:0;white-space:nowrap}.search-bar{align-items:center;display:flex;justify-content:center;justify-self:center;max-width:520px;min-width:260px;position:relative;width:100%}.search-bar input{background:#ffffff0a;background:var(--surface-input);border:1px solid #ffffff0d;border:1px solid var(--border-subtle);border-radius:.8rem;color:#f5f7fb;color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-body);font-size:.95rem;padding:.75rem 1.5rem;transition:background .2s ease,border-color .2s ease;width:100%}.search-bar input::placeholder{color:#f5f7fb9e;color:var(--ink-muted);letter-spacing:.01em}.search-bar input:focus{background:#ffffff14;background:var(--surface-input-focus);border-color:#ffffff1f;border-color:var(--border-soft);outline:none}.top-bar-right{align-items:center;display:flex;gap:1.5rem;justify-content:flex-end;justify-self:flex-end}.search-bar-hidden{opacity:0;pointer-events:none}.user-cluster{align-items:center;display:flex;gap:.75rem}.user-meta{text-align:right}.user-name{font-weight:600;margin:0}.workspace-body{display:flex;flex:1 1;min-height:0;overflow:hidden}.main-layout,.workspace-body.classroom-body{overflow:hidden}.main-layout{display:flex;flex:1 1;min-height:0}.sidebar{background:#0a0a0ae6;background:var(--bg-sidebar);border-right:1px solid #ffffff0d;border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:.4rem;padding:1.5rem 1rem;width:220px;width:var(--sidebar-width)}.sidebar-link{border-radius:.85rem;color:#f5f7fb9e;color:var(--ink-muted);font-size:.925rem;font-weight:500;padding:.75rem 1rem;text-decoration:none;transition:background .2s ease,color .2s ease}.sidebar-link.active,.sidebar-link:hover{background:#377aff26;color:#f5f7fb;color:var(--ink)}.content-area{background-color:#070707eb;background-color:var(--bg-content);flex:1 1;min-width:0;overflow-y:auto;padding:2rem 2.5rem 2rem 2rem;position:relative}.content-area.dashboard-main{display:flex;flex-direction:column;overflow:hidden;padding:1.25rem 2rem}.content-area.dashboard-main .dashboard-content{flex:1 1;min-height:0}.content-area.learn-content{display:flex;flex-direction:column;gap:1.25rem;overflow:hidden;padding:1.5rem 2rem}.insight-panel{background:#060606f2;background:var(--bg-insight-panel);border-left:1px solid #ffffff0d;border-left:1px solid var(--border-subtle);flex-shrink:0;padding:1.25rem 1.25rem 1.5rem;width:360px;width:var(--side-panel-width)}.insight-panel,.insight-panel-inner{display:flex;flex-direction:column;overflow-y:auto}.insight-panel-inner{flex:1 1;gap:1rem;min-height:0}.widget-card{flex-shrink:0}.dashboard-content{display:flex;flex:1 1;flex-direction:column;gap:1rem;min-height:0}.welcome-inline{align-items:center;display:flex;gap:1rem;justify-content:space-between;padding:0 0 .25rem}.main-feed{display:flex;flex:1 1;flex-direction:column;gap:.85rem;min-height:0;overflow-y:auto;padding-right:.25rem;padding-top:.85rem}.side-widgets{display:flex;flex-direction:column;gap:1.25rem}.quick-tiles{grid-gap:1rem;display:grid;flex-shrink:0;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.tile-card{background:#141414f2;background:var(--bg-tile);border:1px solid #ffffff0d;border:1px solid var(--border-subtle);border-radius:1rem;display:flex;flex-direction:column;gap:.4rem;padding:1rem}.tile-head{align-items:center;display:inline-flex;gap:.5rem}.tile-accent{font-size:1.25rem;line-height:1}.tile-title{font-weight:600;margin:0}.tile-tag{color:#f5f7fb9e;color:var(--ink-muted);font-size:.85rem;margin:0}.dual-panels{grid-gap:.75rem;display:grid;flex-shrink:0;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.focus-panels{grid-gap:1rem;align-items:stretch;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.continue-card .info-card-header{gap:.5rem;justify-content:flex-start}.continue-list{display:flex;flex-direction:column;gap:.75rem;list-style:none;margin:0;padding:0}.continue-row{border-bottom:1px solid #ffffff0d;border-bottom:1px solid var(--border-subtle);display:flex;gap:1rem;justify-content:space-between;padding-bottom:.5rem}.continue-row:last-child{border-bottom:none;padding-bottom:0}.continue-meta{color:#f5f7fb9e;color:var(--ink-muted);display:flex;flex-direction:column;font-size:.85rem;gap:.1rem;text-align:right}.continue-progress{color:#f5f7fb;color:var(--ink);font-weight:600}.engagement-card{display:flex;flex-direction:column;flex-shrink:0;gap:1rem}.engagement-header{align-items:center;display:flex;gap:1rem;justify-content:space-between}.engagement-row{display:flex;flex-direction:column;gap:.85rem}.engagement-heatmap{background:#00000040;border:1px solid #ffffff14;border-radius:1rem;display:flex;flex-direction:column;gap:.75rem;height:100%;padding:.85rem 1rem;width:100%}.heatmap-head{align-items:center;display:flex;justify-content:space-between}.heatmap-grid{grid-gap:.2rem;align-items:center;display:grid;gap:.2rem;grid-template-columns:repeat(30,minmax(0,1fr));justify-content:center;width:100%}.heatmap-grid .calendar-cell{aspect-ratio:1/1;border-radius:.25rem;font-size:0;height:auto;margin:0;padding:0;width:100%}.heatmap-cell{background:#ffffff0a;background:var(--surface-subtle)}.heatmap-cell.active{background:linear-gradient(135deg,#2dd67a,#0fb46b);border:1px solid #2fd67a99;box-shadow:0 4px 12px #2fd67a59}.engagement-stat{background:#ffffff0a;background:var(--surface-subtle);border:1px solid #ffffff0d;border:1px solid var(--border-subtle);border-radius:1rem;display:flex;flex-direction:column;gap:.3rem;padding:.75rem 1rem;width:100%}.engagement-progress{margin:.15rem 0;width:100%}.engagement-progress-track{background:#ffffff14;border-radius:999px;height:6px;overflow:hidden;width:100%}.engagement-progress-fill{background:linear-gradient(135deg,#377aff,#21d07a);border-radius:inherit;height:100%}.engagement-label{color:#f5f7fb9e;color:var(--ink-muted);font-size:.8rem;letter-spacing:.08em;margin:0;text-transform:uppercase}.engagement-value{font-size:1.4rem;font-weight:700}.engagement-meta{color:#f5f7fb9e;color:var(--ink-muted);font-size:.85rem}.info-card{background:#121212f5;background:var(--surface-card);border:1px solid #ffffff0d;border:1px solid var(--border-subtle);border-radius:1.25rem;box-shadow:0 20px 35px #00000073;box-shadow:var(--shadow-card);gap:.75rem;min-height:200px;padding:1rem 1.15rem}.info-card,.info-card ul{display:flex;flex-direction:column}.info-card ul{flex:1 1;gap:.65rem;list-style:none;margin:0;min-height:0;overflow-y:auto;padding:0 .25rem 0 0}.info-card li{border-bottom:1px solid #ffffff0d;border-bottom:1px solid var(--border-subtle);padding-bottom:.4rem}.class-row{align-items:center;display:flex;gap:.85rem}.class-row>div:first-child{flex:1 1 auto;min-width:0}.join-btn{background:#377affd9;border:none;border-radius:999px;color:#f5f7fb;cursor:pointer;font-size:.8rem;font-weight:600;padding:.4rem .9rem;transition:transform .2s ease,box-shadow .2s ease}.join-btn:hover{transform:translateY(-1px)}.join-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.45;transform:none}.host-btn{background:#10a37fd9}.host-btn:hover{box-shadow:none}.class-actions{align-items:center;display:flex;flex-shrink:0;gap:.45rem}.info-card li:last-child{border-bottom:none;padding-bottom:0}.announcement-carousel{align-items:stretch;display:flex;flex:1 1;flex-direction:column;gap:.65rem}.flash-card{animation:fadeSwap .5s ease;border-radius:1rem;box-shadow:inset 0 1px 12px #ffffff26;color:#0b0b0b;display:flex;flex-direction:column;gap:.35rem;min-height:140px;padding:1rem 1.1rem}.flash-card h4{font-size:1rem;font-weight:600;margin:0}.flash-card p{color:#0b0b0bcc;font-size:.85rem;margin:0}.flash-tag{align-self:flex-start;background:#ffffffd9;border-radius:999px;color:#0b0b0b;font-size:.7rem;font-weight:600;padding:.15rem .6rem}.flash-card.accent-green{background:linear-gradient(135deg,#8ff2bf,#3ae79c)}.flash-card.accent-purple{background:linear-gradient(135deg,#c7a7ff,#8b5ff3)}.flash-card.accent-blue{background:linear-gradient(135deg,#8ac8ff,#4b9eff)}.classroom-view .top-bar{border-bottom:none}.classroom-body{flex-direction:column}.classroom-layout{flex:1 1;overflow:hidden}.classroom-content{background:#020202;background:var(--bg-classroom);overflow:hidden;padding:1.5rem 2rem}.classroom-content,.classroom-stage{display:flex;flex:1 1;flex-direction:column;min-height:0}.classroom-stage{gap:1.5rem}.classroom-body-row{display:flex;flex:1 1;gap:1.5rem;min-height:0}.zoom-pane{display:flex;flex:1 1 60%;flex-direction:column;min-height:0;min-width:0}.zoom-pane .zoom-embed-wrapper{flex:1 1;min-height:0}.classroom-side-panel{display:flex;flex:0 0 280px;flex-direction:column;gap:1rem;min-height:0;min-width:0;overflow-y:auto}.side-panel-section{background:#0c0c0ceb;background:var(--surface-panel);border:1px solid #ffffff0d;border:1px solid var(--border-subtle);border-radius:18px;border-radius:var(--radius-lg);flex-shrink:0;padding:1.125rem}.side-section-label{margin-bottom:.5rem}.side-modules-section .side-section-label{border-bottom:1px solid #ffffff0d;border-bottom:1px solid var(--border-subtle);margin-bottom:1rem;padding-bottom:.75rem}.side-wellness-tiles{grid-gap:.625rem;display:grid;gap:.625rem;grid-template-columns:1fr 1fr;padding-top:.5rem}.side-wellness-tile{background:#ffffff1f;background:var(--surface-chip);border:1px solid #ffffff0d;border:1px solid var(--border-subtle);border-radius:14px;border-radius:var(--radius-md);color:#f5f7fb;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-body);gap:.2rem;padding:.875rem .75rem;text-align:left;transition:background .15s ease,border-color .15s ease}.side-wellness-tile:hover{background:#141414f2;background:var(--bg-tile);border-color:#ffffff1f;border-color:var(--border-soft)}.side-wellness-tile .tile-accent{font-size:1.2rem;margin-bottom:.125rem}.side-wellness-tile .tile-title{color:#f5f7fb;color:var(--ink);font-size:.875rem;font-weight:600;margin:0}.side-wellness-tile .tile-tag{color:#f5f7fb9e;color:var(--ink-muted);font-size:.75rem;margin:0}.side-modules-section{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.teacher-module-controls{display:flex;flex-direction:column;gap:.6rem}.side-control-row{display:flex;flex-direction:column;gap:.3rem}.side-control-row label{color:#f5f7fb9e;color:var(--ink-muted);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-body);font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.classroom-action-btn{background:#ffffff1f;background:var(--surface-chip);border:1px solid #ffffff1f;border:1px solid var(--border-soft);border-radius:.95rem;box-shadow:0 8px 18px #00000059;color:#f5f7fb;color:var(--ink);cursor:pointer;font-size:.95rem;font-weight:600;padding:.85rem 1rem;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease;width:100%}.classroom-action-btn:hover:not(:disabled){box-shadow:0 12px 24px #0006;transform:translateY(-1px)}.classroom-action-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.classroom-action-btn--inline{min-width:180px;width:auto}.classroom-action-btns{display:flex;gap:.45rem;margin-top:.25rem}.classroom-action-btns .classroom-action-btn{border-radius:.75rem;box-shadow:0 4px 10px #00000040;flex:1 1;font-size:.72rem;font-weight:600;padding:.6rem .25rem;text-align:center;width:auto}.side-select{appearance:none;background:#1f1f2b;background:var(--surface-panel-alt,#1f1f2b);border:1px solid #ffffff0d;border:1px solid var(--border-subtle);border-radius:14px;border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px #ffffff05;color:#f5f7fb;color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-body);font-size:.875rem;outline:none;padding:.45rem .85rem;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.side-select:focus{border-color:#7f8cff;border-color:var(--accent,#7f8cff);box-shadow:0 0 0 2px #7f8cff40}.side-select:disabled{cursor:not-allowed;opacity:.6}.side-module-list{display:flex;flex:1 1;flex-direction:column;gap:.125rem;overflow-y:auto;scrollbar-color:#ffffff1f #0000;scrollbar-color:var(--border-soft) #0000;scrollbar-width:thin}.side-module-item{align-items:center;background:#0000;border:none;border-radius:8px;border-radius:var(--radius-sm);color:#f5f7fb;color:var(--ink);cursor:pointer;display:flex;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-body);gap:.75rem;padding:.5rem .625rem;text-align:left;transition:background .12s ease;width:100%}.side-module-item:hover{background:#ffffff1f;background:var(--surface-chip)}.side-module-info{flex:1 1;min-width:0}.side-module-title{color:#f5f7fb;color:var(--ink);font-size:.8125rem;font-weight:500;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-module-meta{font-size:.6875rem;margin:.125rem 0 0}.side-module-arrow,.side-module-meta{color:#f5f7fb9e;color:var(--ink-muted)}.side-module-arrow{flex-shrink:0;height:14px;opacity:.6;width:14px}.classroom-header{align-items:center;border-bottom:1px solid #ffffff0d;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;padding-bottom:1rem}.classroom-header-right{align-items:center;display:flex;flex-direction:row;gap:.75rem}.classroom-profile-cards{display:flex;gap:.75rem}.profile-card{background:linear-gradient(135deg,#0f0f14f2,#1e1e26f2);border:1px solid #ffffff14;border-radius:1rem;box-shadow:0 12px 24px #00000059;color:#f5f7fb;color:var(--ink);flex:1 1 160px;min-width:0;padding:.75rem 1rem}.profile-label{color:#f5f7fb9e;color:var(--ink-muted);font-size:.65rem;letter-spacing:.08em;margin:0 0 .35rem;text-transform:uppercase}.profile-name{color:#f5f7fb;color:var(--ink);font-size:.95rem}.profile-email{font-size:.78rem;margin:.25rem 0 0;word-break:break-all}.profile-email,.session-status{color:#f5f7fb9e;color:var(--ink-muted)}.session-status{align-items:center;display:inline-flex;font-size:.9rem;gap:.4rem}.status-dot{background:#3fe69a;border-radius:50%;display:inline-flex;height:8px;width:8px}.classroom-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.module-stage,.zoom-embed-wrapper{background:#0c0c0ceb;background:var(--surface-panel);border:1px solid #ffffff0d;border:1px solid var(--border-subtle);border-radius:1.5rem;min-height:280px;padding:1.5rem}.zoom-embed-wrapper{display:flex;flex:1 1;flex-direction:column;gap:1rem;position:relative}.zoom-meeting-embed{border-radius:1rem;flex:1 1;min-height:0;overflow:hidden;position:relative}.session-overlay{align-items:center;background:#0c0c0ceb;background:var(--surface-panel);border-radius:1rem;display:flex;flex-direction:column;gap:1.25rem;inset:0;justify-content:center;padding:2rem;position:absolute;text-align:center;z-index:10}.overlay-label{color:#f5f7fb;color:var(--ink);font-size:1.05rem;font-weight:500}.overlay-sub{font-size:.85rem;margin-top:-.5rem}.overlay-error{margin-top:0}.live-badge{background:#e8f5e9;border-radius:.3rem;color:#1b7a36;display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.04em;margin-left:.5rem;padding:.1rem .45rem;vertical-align:middle}[data-theme=dark] .live-badge{background:#1b3a23;color:#6fcf97}.env-hint{color:#f5f7fb9e;color:var(--ink-muted);font-size:.85rem;margin-top:.5rem}.module-stage header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.module-canvas{border:1px dashed #ffffff1f;border:1px dashed var(--border-soft);border-radius:1rem;display:flex;flex-direction:column;gap:.5rem;min-height:200px;padding:1.5rem}.classroom-controls{display:flex;flex-wrap:wrap;gap:.75rem}.classroom-controls button{background:#ffffff1f;background:var(--surface-chip);border:none;border-radius:999px;color:#f5f7fb;color:var(--ink);cursor:pointer;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-body);padding:.6rem 1.5rem;transition:background .2s ease}.classroom-controls button.accent{background:linear-gradient(135deg,#377aff,#1fd1a1);color:#050505}.carousel-dots{display:flex;gap:.35rem;justify-content:center}.carousel-dots .dot{background:#ffffff3d;background:var(--border-strong);border:none;border-radius:50%;cursor:pointer;height:8px;padding:0;width:8px}.carousel-dots .dot.active{background:#377aff;background:var(--accent-primary)}@keyframes fadeSwap{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.info-title{font-weight:600;margin:0}.info-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.info-card-header-actions{align-items:center;display:flex;gap:.5rem}.pill-btn.compact{font-size:.72rem;padding:.25rem .65rem}.badge{background:#25d69533;border-radius:999px;color:#6df3c7;font-size:.75rem;padding:.2rem .65rem}.badge.neutral{background:#ffffff1f;background:var(--surface-chip);color:#f5f7fb;color:var(--ink)}.placeholder-card,.widget-card{background:#121212f5;background:var(--surface-card);border:1px solid #ffffff0d;border:1px solid var(--border-subtle);border-radius:1.5rem;box-shadow:0 20px 35px #00000073;box-shadow:var(--shadow-card);padding:1.5rem}.widget-card{gap:.75rem;padding:1.2rem 1.25rem}.course-list,.widget-card{display:flex;flex-direction:column}.course-list{flex:1 1;gap:.65rem;min-height:0;overflow-y:auto;padding-right:.25rem}.course-list-compact{max-height:260px;padding-right:0}.course-row{align-items:center;border-bottom:1px solid #ffffff0d;border-bottom:1px solid var(--border-subtle);display:flex;gap:.75rem;justify-content:space-between;padding:.35rem 0}.course-row:last-child{border-bottom:none;padding-bottom:0}.course-title{font-size:.95rem;font-weight:500;margin:0}.course-progress{grid-gap:2px;display:grid;flex-shrink:0;gap:2px;grid-template-columns:repeat(10,8px)}.progress-block{background:#ffffff1f;background:var(--surface-chip);border-radius:3px;height:14px;transition:background .2s ease;width:8px}.progress-block.filled{background:linear-gradient(135deg,#377aff,#1fd1a1)}.progress-ring{align-items:center;background:conic-gradient(#25d695 0 38%,#ffffff1f 0);background:conic-gradient(#25d695 0 38%,var(--surface-chip) 0);border-radius:50%;display:flex;flex-shrink:0;font-size:clamp(1.1rem,2vw,1.5rem);font-weight:700;height:clamp(100px,12vw,140px);justify-content:center;margin:0 auto;width:clamp(100px,12vw,140px)}.progress-meta{display:flex;flex-wrap:wrap;font-size:.9rem;gap:.4rem;justify-content:space-between;list-style:none;margin:0;padding:0}.progress-meta span{color:#f5f7fb9e;color:var(--ink-muted);display:block}.calendar-card{display:flex;flex-direction:column;gap:.65rem;min-height:0}.calendar-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between}.calendar-controls span{align-items:center;background:#ffffff1f;background:var(--surface-chip);border-radius:50%;cursor:pointer;display:inline-flex;height:28px;justify-content:center;margin-left:.35rem;width:28px}.calendar-grid{grid-gap:.25rem;display:grid;flex:1 1;gap:.25rem;grid-auto-rows:minmax(26px,1fr);grid-template-columns:repeat(7,minmax(0,1fr));min-height:0;overflow:visible}.calendar-cell{align-items:center;background:#ffffff0a;background:var(--surface-subtle);border-radius:.65rem;display:flex;font-size:clamp(.65rem,1.5vw,.85rem);justify-content:center;min-height:0;overflow:visible;padding:.3rem .35rem;position:relative;text-align:center}.calendar-cell.selected{background:#2464ff40;border:1px solid #2464ffcc}.calendar-cell--header{color:#f5f7fb9e;color:var(--ink-muted);font-size:clamp(.6rem,1.2vw,.75rem);font-weight:600}.calendar-cell--empty,.calendar-cell--header{background:#0000;cursor:default}.calendar-cell--today{background:radial-gradient(ellipse at center,#22c55e1a 0,#0000 75%);box-shadow:0 0 6px 1px #22c55e2e,0 0 14px 3px #22c55e14;font-weight:700;position:relative}.calendar-cell--today:after{background:#22c55e;border-radius:1px;bottom:3px;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);width:14px}.calendar-cell--meeting{overflow:visible;position:relative}.calendar-meeting-dot{background:#22c55e;border-radius:50%;bottom:3px;flex-shrink:0;height:5px;position:absolute;right:3px;width:5px}.calendar-meeting-tooltip{background:#1e2535;background:var(--surface-overlay,#1e2535);border:1px solid #ffffff0d;border:1px solid var(--border-subtle,#ffffff1a);border-radius:.5rem;bottom:calc(100% + 6px);box-shadow:0 4px 16px #00000040;display:none;left:50%;max-width:200px;min-width:130px;padding:.4rem .6rem;pointer-events:none;position:absolute;transform:translateX(-50%);z-index:50}.calendar-meeting-tooltip__item{color:#e2e8f0;color:var(--ink-base,#e2e8f0);font-size:.72rem;margin:0;overflow:hidden;padding:.15rem 0;text-overflow:ellipsis;white-space:nowrap}.calendar-meeting-tooltip__item+.calendar-meeting-tooltip__item{border-top:1px solid #ffffff0d;border-top:1px solid var(--border-subtle,#ffffff14)}.calendar-cell--meeting:hover .calendar-meeting-tooltip{display:block}.calendar-cell--meeting:hover{background:#ffffff1f;background:var(--surface-chip);z-index:40}.page-placeholder{align-items:center;display:flex;justify-content:center;min-height:60vh}.empty-panel{border:1px dashed #ffffff3d;border:1px dashed var(--border-strong);border-radius:1rem;margin-top:1rem;padding:1.25rem;text-align:center}.empty-panel,.muted-text{color:#f5f7fb9e;color:var(--ink-muted)}.muted-text{margin:0}.eyebrow{color:#f5f7fb9e;font-size:.7rem;letter-spacing:.18em;margin:0}.learn-page{display:flex;flex:1 1;flex-direction:column;gap:1rem;min-height:0}.learn-header{align-items:center;background:#0c0c0ceb;background:var(--surface-panel);border:1px solid #ffffff0d;border:1px solid var(--border-subtle);border-radius:1.25rem;box-shadow:inset 0 1px #ffffff0d;box-shadow:inset 0 1px var(--border-subtle);display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;padding:.45rem .8rem}.course-controls,.subject-controls{display:flex;flex-direction:column;gap:.6rem}.subject-filter{display:flex;flex-wrap:wrap;gap:.5rem}.subject-pill{background:#ffffff0a;background:var(--surface-subtle);border:1px solid #ffffff1f;border:1px solid var(--border-soft);border-radius:999px;color:#f5f7fb9e;color:var(--ink-muted);cursor:pointer;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-body);font-size:.78rem;font-weight:500;padding:.35rem .85rem;transition:background .2s ease,color .2s ease,transform .2s ease}.subject-pill.active{background:linear-gradient(135deg,#377aff,#2645ff);border-color:#0000;box-shadow:0 10px 20px #2960ff59;color:#fff;transform:translateY(-1px)}.learn-search{align-items:stretch;display:flex;flex:0 0 clamp(200px,28%,360px);flex-direction:column;gap:.25rem;margin-left:auto}.learn-search input{background:#ffffff0a;background:var(--surface-input);border:1px solid #ffffff1f;border:1px solid var(--border-soft);border-radius:1rem;color:#f5f7fb;color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-body);font-size:.95rem;padding:.55rem .95rem;transition:border-color .2s ease,background .2s ease;width:100%}.learn-search input::placeholder{color:#f5f7fb9e;color:var(--ink-muted)}.learn-search input:focus{background:#ffffff14;background:var(--surface-input-focus);border-color:#377aff80;outline:none}.course-filter-select{appearance:none;background:#ffffff0a;background:var(--surface-subtle);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='m1 1 5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right .7rem center;background-repeat:no-repeat;border:1px solid #ffffff1f;border:1px solid var(--border-soft);border-radius:999px;color:#f5f7fb9e;color:var(--ink-muted);cursor:pointer;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-body);font-size:.78rem;font-weight:500;max-width:260px;min-width:140px;padding:.35rem 1.9rem .35rem .85rem;transition:border-color .2s ease,background-color .2s ease}.course-filter-select:focus{background-color:#ffffff14;background-color:var(--surface-input-focus);border-color:#377aff80;outline:none}.board-grid{grid-gap:1rem;display:grid;flex:1 1;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));min-height:0}.kanban-column{background:#0e0e0ef2;background:var(--bg-kanban-col);border:1px solid #ffffff0d;border:1px solid var(--border-subtle);border-radius:1.5rem;box-shadow:0 20px 35px #00000073;box-shadow:var(--shadow-card);display:flex;flex-direction:column;min-height:0;overflow:visible;padding:1rem}.column-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.column-title{font-size:1.05rem;font-weight:600;margin:0}.column-subtitle{color:#f5f7fb9e;color:var(--ink-muted);font-size:.8rem;margin:.25rem 0 0}.column-badge{align-items:center;background:#ffffff1f;background:var(--surface-chip);border-radius:50%;display:inline-flex;font-weight:600;height:34px;justify-content:center;width:34px}.kanban-list{display:flex;flex:1 1;flex-direction:column;gap:.75rem;min-height:0;overflow-y:auto;padding-right:.4rem}.insight-panel-inner::-webkit-scrollbar,.kanban-list::-webkit-scrollbar,.main-feed::-webkit-scrollbar{width:4px}.insight-panel-inner::-webkit-scrollbar-track,.kanban-list::-webkit-scrollbar-track,.main-feed::-webkit-scrollbar-track{background:#0000}.insight-panel-inner::-webkit-scrollbar-thumb,.main-feed::-webkit-scrollbar-thumb{background:#ffffff1f;background:var(--surface-chip);border-radius:999px}.kanban-list::-webkit-scrollbar{width:6px}.kanban-list::-webkit-scrollbar-track{background:#0000}.kanban-list::-webkit-scrollbar-thumb{background:#ffffff1f;background:var(--surface-chip);border-radius:999px}.module-card{align-items:center;background:#ffffff0a;background:var(--surface-subtle);border:1px solid #ffffff0d;border:1px solid var(--border-subtle);border-radius:1rem;cursor:pointer;display:flex;gap:.5rem;justify-content:space-between;padding:.95rem 1rem;transition:border-color .2s ease,transform .2s ease,background .2s ease}.module-card:hover{background:#377aff14;border-color:#377aff80;transform:translateY(-2px)}.module-title{font-size:.95rem;font-weight:600;margin:0}.module-tag{background:#ffffff1f;background:var(--surface-chip);border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.05em;padding:.35rem .6rem;text-transform:uppercase}.module-math{background:#67a6ff33;color:#9ec5ff}.module-science{background:#5de9aa33;color:#78f0c7}.module-english{background:#ffc67c33;color:#ffd8a2}.column-empty{border:1px dashed #ffffff1f;border:1px dashed var(--border-soft);border-radius:1rem;color:#f5f7fb9e;color:var(--ink-muted);font-size:.85rem;margin:0;padding:1rem;text-align:center}.rl-page{display:flex;flex-direction:column;gap:1.5rem}.rl-topbar{align-items:center;display:flex;gap:1rem;justify-content:space-between}.rl-title{font-size:1.5rem;font-weight:700;letter-spacing:.06em;margin:0}.rl-title,.rl-upload-btn{color:#f5f7fb;color:var(--ink)}.rl-upload-btn{align-items:center;background:#ffffff1f;background:var(--surface-chip);border:1px solid #ffffff1f;border:1px solid var(--border-soft);border-radius:999px;cursor:pointer;display:inline-flex;font:inherit;font-size:.9rem;font-weight:600;gap:.5rem;padding:.55rem 1.2rem;transition:background .2s ease,border-color .2s ease,transform .2s ease}.rl-upload-btn:hover{background:#ffffff24;border-color:#ffffff38;transform:translateY(-1px)}.rl-controls{display:flex;flex-direction:column;gap:.75rem}.rl-search-wrap{position:relative}.rl-search-input{background:#ffffff0a;background:var(--surface-input);border:1px solid #ffffff1f;border:1px solid var(--border-soft);border-radius:1rem;box-sizing:border-box;color:#f5f7fb;color:var(--ink);font:inherit;font-size:.95rem;padding:.7rem 1rem .7rem 2.6rem;transition:border-color .2s ease,background .2s ease;width:100%}.rl-search-input:focus{background:#ffffff14;background:var(--surface-input-focus);border-color:#7ab8ff;border-color:var(--accent-info);outline:none}.rl-search-icon{color:#f5f7fb9e;color:var(--ink-muted);height:16px;left:.9rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);width:16px}.rl-type-filters{display:flex;flex-wrap:wrap;gap:.5rem}.rl-chip{background:#ffffff0a;background:var(--surface-subtle);border:1px solid #ffffff1f;border:1px solid var(--border-soft);border-radius:999px;color:#f5f7fb;color:var(--ink);cursor:pointer;font:inherit;font-size:.85rem;padding:.4rem 1rem;transition:background .2s ease,color .2s ease,border-color .2s ease}.rl-chip.active{background:#377aff;background:var(--btn-primary-bg);border-color:#0000;box-shadow:0 8px 20px #377aff4d;color:#fff;color:var(--btn-primary-fg)}.rl-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,1fr)}.rl-card{background:#ffffff0a;background:var(--surface-subtle);border:1px solid #ffffff1f;border:1px solid var(--border-soft);border-radius:1.25rem;cursor:pointer;display:flex;flex-direction:column;gap:.6rem;padding:1.1rem;transition:background .2s ease,border-color .2s ease,transform .2s ease}.rl-card:hover{background:#ffffff1f;background:var(--surface-chip);border-color:#ffffff2e;transform:translateY(-2px)}.rl-card-header{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.rl-type-badge{align-items:center;background:#ffffff1f;background:var(--surface-chip);border-radius:999px;color:#f5f7fb9e;color:var(--ink-muted);display:inline-flex;font-size:.72rem;font-weight:600;gap:.3rem;padding:.2rem .65rem}.rl-new-badge{background:#377aff2e;border-radius:999px;color:#93b6ff;font-size:.68rem;font-weight:700;letter-spacing:.05em;padding:.15rem .55rem;text-transform:uppercase}.rl-card-title{color:#f5f7fb;color:var(--ink);font-size:.95rem;font-weight:600;line-height:1.4;margin:0}.rl-card-detail{color:#f5f7fb9e;color:var(--ink-muted);flex:1 1;font-size:.82rem;line-height:1.45;margin:0}.rl-card-footer{align-items:center;display:flex;gap:.5rem;justify-content:space-between;margin-top:.25rem}.rl-card-meta{color:#f5f7fb9e;color:var(--ink-muted);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rl-open-btn{background:#ffffff0a;background:var(--surface-subtle);border:1px solid #ffffff1f;border:1px solid var(--border-soft);border-radius:999px;color:#f5f7fb;color:var(--ink);cursor:pointer;flex-shrink:0;font:inherit;font-size:.78rem;font-weight:600;padding:.3rem .8rem;transition:background .2s ease,color .2s ease}.rl-open-btn:hover{background:#377aff;background:var(--btn-primary-bg);border-color:#0000;color:#fff;color:var(--btn-primary-fg)}.rl-empty{align-items:center;border:1px dashed #ffffff1f;border:1px dashed var(--border-soft);border-radius:1.25rem;color:#f5f7fb9e;color:var(--ink-muted);display:flex;flex-direction:column;gap:1rem;padding:2.5rem;text-align:center}@media (max-width:1100px){.rl-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:780px){.rl-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.rl-grid{grid-template-columns:1fr}}.resources-page{display:flex;flex-direction:column;gap:1.75rem}.resource-hero{background:#0c0c0ceb;background:var(--surface-panel);border:1px solid #ffffff1f;border:1px solid var(--border-soft);border-radius:1.5rem;box-shadow:0 18px 42px #00000073;box-shadow:var(--shadow-soft);display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;padding:1.8rem}.resource-hero-copy{flex:1 1 280px}.resource-hero-copy h2{font-size:clamp(1.8rem,3vw,2.4rem);margin:.25rem 0}.resource-hero-meta{color:#f5f7fb9e;color:var(--ink-muted);display:flex;flex-wrap:wrap;font-size:.95rem;gap:.8rem;margin-top:1rem}.resource-hero-panel{display:flex;flex:1 1 320px;flex-direction:column;gap:.75rem}.resource-subject-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.resource-type-tabs{display:flex;flex-wrap:wrap;gap:.6rem}.resource-type-chip{align-items:center;background:#ffffff0a;background:var(--surface-subtle);border:1px solid #ffffff1f;border:1px solid var(--border-soft);border-radius:999px;color:#f5f7fb;color:var(--ink);cursor:pointer;display:inline-flex;font-size:.85rem;gap:.4rem;padding:.4rem .95rem;transition:background .2s ease,border-color .2s ease}.resource-type-chip.active{background:#377aff;background:var(--btn-primary-bg);border-color:#0000;box-shadow:0 12px 25px #377aff59;color:#fff;color:var(--btn-primary-fg)}.resource-type-chip .type-count{font-size:.75rem;opacity:.7}.resource-highlight{background:#ffffff0a;background:var(--surface-subtle);border:1px solid #ffffff1f;border:1px solid var(--border-soft);border-radius:1.5rem;display:flex;flex-direction:column;gap:1rem;padding:1.4rem}.resource-highlight-head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.resource-highlight-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.resource-highlight-card{background:#0c0c0ceb;background:var(--surface-panel);border:1px solid #ffffff1f;border:1px solid var(--border-soft);border-radius:1.25rem;box-shadow:inset 0 1px #ffffff0d;box-shadow:inset 0 1px var(--border-subtle);display:flex;flex-direction:column;gap:.5rem;padding:1rem}.resource-highlight-card h4{margin:0}.highlight-chip{align-self:flex-start;background:#ffffff1f;background:var(--surface-chip);border-radius:999px;font-size:.75rem;padding:.2rem .7rem}.highlight-meta{color:#f5f7fb9e;color:var(--ink-muted);font-size:.85rem}.resource-shelf{background:#0c0c0ceb;background:var(--surface-panel);border:1px solid #ffffff1f;border:1px solid var(--border-soft);border-radius:1.5rem;box-shadow:0 18px 42px #00000073;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:1rem;padding:1.4rem}.resource-shelf-head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.resource-shelf-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.resource-card-mini{background:#ffffff0a;background:var(--surface-subtle);border:1px solid #ffffff1f;border:1px solid var(--border-soft);border-radius:1.25rem;display:flex;flex-direction:column;gap:.6rem;padding:1rem}.resource-card-mini h4{font-size:1rem;margin:0}.resource-card-meta{font-size:.8rem;gap:.5rem;justify-content:space-between}.resource-card-meta,.resource-empty-state{color:#f5f7fb9e;color:var(--ink-muted);display:flex}.resource-empty-state{align-items:center;border:1px dashed #ffffff1f;border:1px dashed var(--border-soft);border-radius:1.25rem;flex-direction:column;gap:.8rem;padding:2rem;text-align:center}.resources-search-row{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.resources-search-field{flex:1 1 220px;position:relative}.resources-search-field input{background:#ffffff0a;background:var(--surface-input);border:1px solid #ffffff1f;border:1px solid var(--border-soft);border-radius:1rem;color:#f5f7fb;color:var(--ink);font-size:.95rem;padding:.65rem .85rem .65rem 2.5rem;width:100%}.resources-search-field input:focus{background:#ffffff14;background:var(--surface-input-focus);border-color:#7ab8ff;border-color:var(--accent-info);outline:none}.resources-search-icon{color:#f5f7fb9e;color:var(--ink-muted);height:16px;left:.9rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);width:16px}.pill-button{background:#ffffff0a;background:var(--surface-subtle);border:1px solid #ffffff1f;border:1px solid var(--border-soft);border-radius:999px;color:#f5f7fb;color:var(--ink);cursor:pointer;font:inherit;font-size:.85rem;padding:.4rem 1rem;transition:background .2s ease,color .2s ease,transform .2s ease,border-color .2s ease}.pill-button.primary{background:#377aff;background:var(--btn-primary-bg);border-color:#0000;box-shadow:0 12px 26px #377aff59;color:#fff;color:var(--btn-primary-fg)}.pill-button.ghost{background:#ffffff0a;background:var(--surface-subtle)}.pill-button:hover{transform:translateY(-1px)}.resources-section{background:#0c0c0ceb;background:var(--surface-panel);border:1px solid #ffffff1f;border:1px solid var(--border-soft);border-radius:1.5rem;box-shadow:0 18px 42px #00000073;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:1rem;padding:1.25rem}.resources-section-head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.resources-new{background:#ffffff0a;background:var(--surface-subtle)}.resources-new-row{display:flex;gap:.85rem;overflow-x:auto;padding-bottom:.25rem}.resource-new-card{align-items:flex-start;background:#00000040;background:var(--bg-block);border:1px solid #ffffff1f;border:1px solid var(--border-soft);border-radius:1.1rem;display:flex;gap:.75rem;min-width:250px;padding:.85rem}.resource-chip{align-items:center;background:#ffffff1f;background:var(--surface-chip);border-radius:999px;display:inline-flex;font-size:.75rem;font-weight:600;justify-content:center;letter-spacing:.01em;padding:.25rem .7rem}.resource-chip.subtle{border-radius:.8rem;font-size:.7rem;font-weight:500;padding:.15rem .55rem}.resource-new-card .resource-chip{border-radius:.95rem;font-size:1.1rem;height:46px;padding:0;width:46px}.resource-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:.7rem;justify-content:center;letter-spacing:.05em;margin-top:.35rem;padding:.2rem .65rem;text-transform:uppercase}.badge-video{background:#377aff2e;color:#93b6ff}.badge-session{background:#9c82ff33;color:#c9bcff}.badge-worksheet{background:#ffc46f33;color:#ffd8a2}.badge-material{background:#58d2962e;color:#a4f5d3}.resources-card-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.resource-card{background:#ffffff0a;background:var(--surface-subtle);border:1px solid #ffffff1f;border:1px solid var(--border-soft);border-radius:1.25rem;display:flex;flex-direction:column;gap:.85rem;padding:1rem}.resource-thumb{align-items:flex-end;border-radius:1rem;display:flex;justify-content:space-between;min-height:110px;padding:.9rem}.resource-thumb.small{height:60px;width:60px}.resource-thumb.small,.resource-thumb.tall{align-items:center;justify-content:center;padding:0}.resource-thumb.tall{height:64px;width:52px}.resource-duration{background:#0000004d;border-radius:.75rem;font-size:.75rem;padding:.2rem .5rem}.resource-card-body{display:flex;flex-direction:column;gap:.35rem}.resource-title{font-size:1rem;font-weight:600;margin:0}.resource-meta{color:#f5f7fb9e;color:var(--ink-muted);font-size:.85rem;margin:0}.resource-tag-row{display:flex;flex-wrap:wrap;gap:.35rem}.resources-empty{color:#f5f7fb9e;color:var(--ink-muted);margin:0}.resource-session-stack{display:flex;flex-direction:column;gap:.8rem}.resource-session-row{align-items:center;background:#ffffff0a;background:var(--surface-subtle);border:1px solid #ffffff1f;border:1px solid var(--border-soft);border-radius:1rem;display:flex;flex-wrap:wrap;gap:1rem;padding:.9rem 1rem}.session-body{flex:1 1 200px}.session-progress{color:#f5f7fb9e;color:var(--ink-muted);display:flex;flex:0 0 160px;flex-direction:column;font-size:.8rem;gap:.2rem}.progress-track{background:#ffffff1f;height:4px}.progress-fill{background:#7ab8ff}.resource-doc-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.resource-doc-card{background:#ffffff0a;background:var(--surface-subtle);border:1px solid #ffffff1f;border:1px solid var(--border-soft);border-radius:1.25rem;display:flex;gap:1rem;padding:1rem}.doc-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.tone-neutral{background:#ffffff1f;background:var(--surface-chip);color:#f5f7fb;color:var(--ink)}.tone-info{background:#377aff33;color:#9ec5ff}.tone-session{background:#9c82ff33;color:#e0d1ff}.tone-worksheet{background:#ffc46f33;color:#ffd8a2}.tone-material{background:#5de9aa2e;color:#7ceaba}.tone-math{background:#67a6ff29;color:#9ec5ff}.tone-science{background:#5de9aa26;color:#7ceaba}.tone-english{background:#ffc67c29;color:#ffd8a2}.app-footer{align-items:center;background:#080808f2;background:var(--bg-header);border-top:1px solid #ffffff0d;border-top:1px solid var(--border-subtle);color:#f5f7fb9e;color:var(--ink-muted);display:flex;font-size:.85rem;gap:1rem;min-height:52px;min-height:var(--footer-height);padding:.75rem 2rem}@media (max-width:1280px){:root{--side-panel-width:300px}}@media (max-width:1100px){:root{--side-panel-width:100%}.main-layout{flex-direction:column}.insight-panel{border-left:none;border-top:1px solid #ffffff0d;border-top:1px solid var(--border-subtle);overflow-y:visible;padding:1.25rem 1.5rem;width:100%}.insight-panel-inner{flex-direction:row;flex-wrap:wrap;overflow-y:visible}.insight-panel-inner>*{flex:1 1 260px;min-width:0}.insight-panel .widget-card{flex-shrink:1}.workspace-body{flex-direction:column}.sidebar{border-bottom:1px solid #ffffff0d;border-bottom:1px solid var(--border-subtle);border-right:none;flex-direction:row;flex-wrap:wrap;padding:.75rem 1rem;width:100%}.sidebar-link{flex:0 1 auto}}@media (max-width:900px){:root{--header-height:64px}.top-bar{grid-template-columns:1fr auto;grid-template-rows:auto auto;padding:.75rem 1.25rem;row-gap:.6rem}.search-bar{grid-column:1/-1;max-width:100%;min-width:0}.search-bar-hidden{display:none}.top-bar-right{flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.content-area{padding:1.5rem}.board-grid{grid-template-columns:1fr}.classroom-body-row{flex-direction:column}.zoom-pane{flex:none;width:100%}.classroom-side-panel{flex:none;max-height:360px;width:100%}.classroom-profile-cards{flex-wrap:wrap}}@media (max-width:768px){:root{--content-gap:1rem;--auth-card-padding:2rem 1.75rem}.content-area{padding:1.25rem}.dual-panels{grid-template-columns:1fr}.quick-tiles{grid-template-columns:repeat(2,1fr)}.focus-panels{grid-template-columns:1fr}.engagement-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.classroom-content{padding:1rem}.classroom-header{flex-wrap:wrap;gap:.75rem}.app-footer{flex-wrap:wrap;font-size:.78rem;gap:.5rem;padding:.75rem 1.25rem}}@media (max-width:520px){.top-bar-right{align-items:flex-start;flex-direction:column}.user-cluster{justify-content:space-between;width:100%}.quick-tiles{grid-template-columns:1fr}.user-name{display:none}}@media (max-width:480px){:root{--auth-card-padding:1.75rem 1.25rem;--header-height:56px}.content-area{padding:1rem}.sidebar{gap:.25rem;padding:.5rem .75rem}.sidebar-link{font-size:.85rem;padding:.5rem .75rem}}@media (max-width:390px){:root{--auth-card-padding:1.5rem 1rem}}.roster-card{min-height:0;min-height:auto}.roster-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.roster-row{align-items:center;border-bottom:1px solid #ffffff0d;border-bottom:1px solid var(--border-subtle);display:flex;gap:.75rem;padding:.45rem 0}.roster-row:last-child{border-bottom:none}.roster-avatar{align-items:center;background:#7c3aed;background:var(--accent-purple,#7c3aed);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.7rem;font-weight:600;height:2rem;justify-content:center;letter-spacing:.03em;width:2rem}.roster-info{flex:1 1;min-width:0}.roster-info .info-title,.roster-info .muted-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000073;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.modal-card{background:#121212f5;background:var(--surface-card);border:1px solid #ffffff0d;border:1px solid var(--border-subtle);border-radius:1.25rem;box-shadow:0 20px 35px #00000073;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:1.25rem;max-height:90vh;max-width:460px;overflow-y:auto;padding:1.5rem;width:100%}.modal-header{align-items:center;display:flex;gap:1rem;justify-content:space-between}.modal-header h3{font-size:1rem;font-weight:600;margin:0}.modal-close{background:none;border:none;border-radius:.375rem;color:#888;color:var(--text-muted,#888);cursor:pointer;font-size:1rem;line-height:1;padding:.25rem;transition:color .15s}.modal-close:hover{color:#fff;color:var(--text-primary,#fff)}.modal-loading{padding:1rem 0;text-align:center}.modal-form{gap:1rem}.form-field,.modal-form{display:flex;flex-direction:column}.form-field{gap:.35rem}.form-field label{color:#aaa;color:var(--text-muted,#aaa);font-size:.78rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.field-optional{font-weight:400;letter-spacing:0;opacity:.65;text-transform:none}.form-field input,.form-field select,.form-field textarea{background:#ffffff0a;background:var(--surface-input,#ffffff0d);border:1px solid #ffffff0d;border:1px solid var(--border-subtle);border-radius:.6rem;box-sizing:border-box;color:#fff;color:var(--text-primary,#fff);font-family:inherit;font-size:.875rem;outline:none;padding:.55rem .75rem;transition:border-color .15s;width:100%}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#7c3aed;border-color:var(--accent-purple,#7c3aed)}.form-field textarea{min-height:60px;resize:vertical}.form-field select option{background:#1e1e2e;background:var(--surface-overlay,#1e1e2e);color:#fff;color:var(--text-primary,#fff)}.modal-actions{display:flex;gap:.6rem;justify-content:flex-end;padding-top:.25rem}.pill-btn.primary{background:#7c3aed;background:var(--accent-purple,#7c3aed);border:none;color:#fff}.pill-btn.primary:hover:not(:disabled){background:#6d28d9;background:var(--accent-purple-hover,#6d28d9)}.pill-btn.primary:disabled{cursor:not-allowed;opacity:.45}.rational-lab{grid-gap:1rem;background:var(--surface-panel);border:1px solid #e2e8f0;border:1px solid var(--border-subtle,#e2e8f0);border-radius:1rem;border-radius:var(--radius-lg,1rem);display:grid;gap:1rem;grid-template-columns:1fr;padding:1rem}.rational-lab-rail{display:flex;flex-direction:column;gap:.4rem}.rational-lab-mode{background:#f8fafc;background:var(--surface-subtle,#f8fafc);border:1px solid #d5dbe7;border:1px solid var(--border-soft,#d5dbe7);border-radius:.85rem;cursor:pointer;padding:.65rem .8rem;text-align:left;transition:border-color .2s ease,background .2s ease,color .2s ease}.rational-lab-mode .mode-label{display:block;font-size:.95rem;font-weight:600}.rational-lab-mode .mode-desc{color:#6b7280;color:var(--ink-muted,#6b7280);display:block;font-size:.8rem}.rational-lab-mode.is-active{background:#3b82f61a;border-color:#3b82f6;border-color:var(--btn-primary-bg,#3b82f6);color:#3b82f6;color:var(--btn-primary-bg,#3b82f6)}.rational-lab-canvas{background:var(--surface-card);border:1px solid #e2e8f0;border:1px solid var(--border-subtle,#e2e8f0);border-radius:.85rem;border-radius:var(--radius-md,.85rem);padding:1rem}.lab-panel header{margin-bottom:.75rem}.lab-grid{grid-gap:.85rem;display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.lab-card{background:#f8fafc;background:var(--surface-subtle,#f8fafc);border:1px solid #d5dbe7;border:1px solid var(--border-soft,#d5dbe7);border-radius:.85rem;display:flex;flex-direction:column;gap:.5rem;padding:.75rem}.card-label{color:#6b7280;color:var(--ink-muted,#6b7280);font-size:.75rem;letter-spacing:.05em;margin:0;text-transform:uppercase}.fraction-inputs{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}.fraction-stack{display:flex;flex-direction:column;gap:.4rem}.fraction-inputs input,.fraction-stack input,.lab-card input,.lab-card select,.lab-card textarea{background:var(--surface-input);border:1px solid #d5dbe7;border:1px solid var(--border-soft,#d5dbe7);border-radius:.6rem;color:var(--ink);font-size:.95rem;padding:.4rem .5rem;width:100%}.toggle-row{font-size:.9rem}.stat-list{display:flex;flex-direction:column;gap:.2rem;list-style:none;margin:0;padding:0}.muted-text{color:#6b7280;color:var(--ink-muted,#6b7280);font-size:.85rem}.numberline-preview{margin-top:.5rem}.mini-line{background:#e2e8f0;background:var(--border-subtle,#e2e8f0);border-radius:999px;height:8px;margin-top:.35rem;position:relative}.mini-line-track{background:var(--surface-chip);border-radius:inherit;inset:0;position:absolute}.mini-line-pointer{background:#3b82f6;background:var(--btn-primary-bg,#3b82f6);border-radius:50%;height:16px;position:absolute;top:-4px;transform:translateX(-50%);width:16px}.numberline-card .interactive-line{height:60px;margin-bottom:.4rem;position:relative}.line-axis{background:#cbd5f5;background:var(--border-subtle,#cbd5f5);height:2px;left:0;position:absolute;right:0;top:50%}.line-tick{background:#d5dbe7;background:var(--border-soft,#d5dbe7);height:40%;position:absolute;top:20%;width:2px}.line-point{background:#3b82f6;background:var(--btn-primary-bg,#3b82f6);border-radius:50%;height:18px;position:absolute;top:15%;transform:translateX(-50%);width:18px}.compare-controls{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem}.toggle-chip{align-items:center;display:flex;font-size:.9rem;gap:.35rem}.btn-link{align-self:flex-start;background:none;border:none;color:#3b82f6;color:var(--btn-primary-bg,#3b82f6);cursor:pointer;padding:0}.numberline-list ol{margin:0;padding-left:1rem}.result-callout{font-weight:600;margin-top:.65rem}.bar-model{background:var(--surface-chip);border-radius:999px;display:flex;height:12px;overflow:hidden}.bar-model span{background:#3b82f6;background:var(--btn-primary-bg,#3b82f6);display:block}.properties-card{gap:.65rem}.property-row{align-items:center;background:var(--surface-card);border:1px solid #0000;border-radius:.75rem;display:flex;justify-content:space-between;padding:.35rem .5rem}.property-row.ok{border-color:#22c55e66}.property-row.warn{border-color:#facc1580}.property-row.fail{border-color:#f8717199}.property-label{font-weight:600;margin:0}.property-expression{color:#6b7280;color:var(--ink-muted,#6b7280);font-size:.85rem;margin:0}.property-status{font-size:.85rem;font-weight:600}.challenge-question{font-weight:600;margin:.5rem 0}.challenge-actions{display:flex;gap:.5rem}.btn.ghost{background:#0000;border:1px solid #d5dbe7;border:1px solid var(--border-soft,#d5dbe7)}.feedback{color:#111827;color:var(--ink,#111827);font-size:.9rem;margin:0}.rational-lab-insight{background:var(--surface-card);border:1px solid #e2e8f0;border:1px solid var(--border-subtle,#e2e8f0);border-radius:.85rem;border-radius:var(--radius-md,.85rem);display:flex;flex-direction:column;gap:.6rem;padding:1rem}.insight-section{border:1px dashed #d5dbe7;border:1px dashed var(--border-soft,#d5dbe7);border-radius:.75rem;padding:.5rem .75rem}.insight-label{color:#6b7280;color:var(--ink-muted,#6b7280);font-size:.72rem;letter-spacing:.05em;margin:0;text-transform:uppercase}.insight-section ol{margin:.35rem 0 0 1rem}.explore-input-header{align-items:center;display:flex;justify-content:space-between}.dice-btn{align-items:center;background:#3b82f6;background:var(--btn-primary-bg,#3b82f6);border:none;border-radius:.6rem;color:#fff;cursor:pointer;display:inline-flex;font-size:.88rem;font-weight:700;gap:.3rem;padding:.35rem .8rem;transition:transform .15s ease,background .15s ease;-webkit-user-select:none;user-select:none}.dice-btn:hover{background:#2563eb;transform:scale(1.06)}@keyframes diceRoll{0%{transform:rotate(0deg) scale(1)}20%{transform:rotate(-18deg) scale(1.15)}45%{transform:rotate(16deg) scale(.88)}70%{transform:rotate(-10deg) scale(1.08)}to{transform:rotate(0deg) scale(1)}}.dice-btn.dice-rolling{animation:diceRoll .6s cubic-bezier(.34,1.56,.64,1)}.explore-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.explore-badge{border-radius:999px;font-size:.8rem;font-weight:700;letter-spacing:.01em;padding:.22rem .75rem}.explore-badge-positive{background:#22c55e1f;border:1px solid #22c55e66;color:#16a34a}.explore-badge-negative{background:#ef44441a;border:1px solid #ef444459;color:#dc2626}.explore-badge-zero{background:#6b72801a;border:1px solid #6b72804d;color:#6b7280}.explore-badge-ok{background:#22c55e1f;border:1px solid #22c55e66;color:#16a34a}.explore-badge-warn{background:#f59e0b1a;border:1px solid #f59e0b66;color:#b45309}.explore-nl-wrap{background:#f8fafc;background:var(--surface-subtle,#f8fafc);border:1px solid #d5dbe7;border:1px solid var(--border-soft,#d5dbe7);border-radius:.85rem;margin-top:1.25rem;padding:1rem 1.25rem 1.5rem}.explore-nl-stage{height:64px;margin:1.75rem 1.5rem 2rem;position:relative}.explore-nl-axis{background:#cbd5e1;background:var(--border-subtle,#cbd5e1);border-radius:999px;height:3px;left:0;position:absolute;right:0;top:50%;transform:translateY(-50%)}.explore-nl-tick{background:#d5dbe7;background:var(--border-soft,#d5dbe7);height:40%;position:absolute;top:30%;transform:translateX(-50%);width:2px}.explore-nl-tick.explore-nl-tick-zero{background:#94a3b8;background:var(--ink-muted,#94a3b8);height:60%;top:20%}.explore-nl-tick-label{color:#6b7280;color:var(--ink-muted,#6b7280);font-size:.7rem;left:50%;position:absolute;top:calc(100% + 5px);transform:translateX(-50%);white-space:nowrap}.explore-nl-fill{border-radius:3px;height:6px;position:absolute;top:calc(50% - 3px);transition:left .4s cubic-bezier(.34,1.56,.64,1),width .4s cubic-bezier(.34,1.56,.64,1)}.explore-nl-fill-positive{background:#22c55e73}.explore-nl-fill-negative{background:#ef444466}.explore-nl-dot{border-radius:50%;height:22px;position:absolute;top:50%;transform:translate(-50%,-50%);transition:left .4s cubic-bezier(.34,1.56,.64,1),background .3s ease,box-shadow .3s ease;width:22px;z-index:2}.explore-nl-dot-positive{background:#22c55e;box-shadow:0 0 0 5px #22c55e2e}.explore-nl-dot-negative{background:#ef4444;box-shadow:0 0 0 5px #ef44442e}.explore-nl-dot-zero{background:#94a3b8;box-shadow:0 0 0 5px #94a3b833}.explore-nl-dot-label{background:#fff;background:var(--surface-card,#fff);border:1px solid #d5dbe7;border:1px solid var(--border-soft,#d5dbe7);border-radius:.4rem;bottom:calc(100% + 7px);box-shadow:0 2px 8px #00000014;font-size:.82rem;font-weight:700;left:50%;padding:.15rem .45rem;pointer-events:none;position:absolute;transform:translateX(-50%);white-space:nowrap}.py-lab{background:var(--surface-panel);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:0 8px 24px #0000004d;display:flex;flex-direction:column;overflow:hidden}.py-lab-bar{align-items:center;background:#0003;border-bottom:1px solid var(--border-soft);display:flex;flex-shrink:0;gap:.6rem;padding:.6rem .875rem}.py-lab-title{color:var(--ink);flex:1 1;font-size:.82rem;font-weight:700}.py-lab-badge{background:var(--surface-chip);border-radius:20px;color:var(--ink-muted);font-size:.7rem;font-weight:600;padding:.18rem .5rem}.py-run-btn{align-items:center;background:var(--btn-primary-bg);border:none;border-radius:var(--radius-md);color:var(--btn-primary-fg);cursor:pointer;display:flex;font-size:.82rem;font-weight:600;gap:.4rem;padding:.4rem 1rem;transition:opacity .15s}.py-run-btn:disabled{cursor:not-allowed;opacity:.5}.py-run-icon{font-size:.65rem}.py-spinner{animation:py-spin .7s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:10px;width:10px}@keyframes py-spin{to{transform:rotate(1turn)}}.py-lab-body{display:grid;flex:1 1;grid-template-columns:1fr 320px}.py-editor-col,.py-lab-body{min-height:0;overflow:hidden}.py-editor-col{border-right:1px solid var(--border-soft);display:flex;flex-direction:column}.py-editor-wrap{flex:1 1;overflow:auto}.py-editor-wrap .cm-editor{font-family:var(--font-mono);font-size:.84rem;height:100%}.py-editor-wrap .cm-scroller{font-family:var(--font-mono)!important}.py-right-col{min-height:0}.py-panel,.py-right-col{display:flex;flex-direction:column;overflow:hidden}.py-inputs-panel{border-bottom:1px solid var(--border-soft);flex:0 0 auto}.py-output-panel{flex:1 1;min-height:0}.py-output-panel.py-has-error{border-top:1px solid #ff5c7a4d}.py-panel-head{align-items:center;background:#00000026;border-bottom:1px solid var(--border-subtle);display:flex;flex-shrink:0;gap:.5rem;padding:.5rem .75rem}.py-panel-label{color:var(--ink-muted);flex:1 1;font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.py-inputs-body{display:flex;flex-direction:column;gap:.4rem;padding:.625rem .75rem}.py-empty{color:var(--ink-muted);font-size:.8rem;margin:0}.py-input-row{align-items:center;display:flex;gap:.3rem}.py-field{background:var(--surface-input);border:1px solid var(--border-soft);border-radius:var(--radius-sm);color:var(--ink);font-family:var(--font-mono);font-size:.78rem;outline:none;padding:.3rem .5rem;transition:border-color .15s,background .15s}.py-field:focus{background:var(--surface-input-focus);border-color:var(--accent-primary)}.py-name{color:var(--ink-muted);cursor:default;flex-shrink:0;-webkit-user-select:none;user-select:none}.py-val{flex:1 1;min-width:0}.py-eq{flex-shrink:0;font-family:var(--font-mono);font-size:.8rem}.py-add-btn,.py-eq{color:var(--ink-muted)}.py-add-btn{background:var(--surface-chip);border:none;border-radius:20px;cursor:pointer;font-size:.72rem;font-weight:600;padding:.2rem .55rem;transition:background .15s,color .15s}.py-add-btn:hover{background:var(--accent-primary);color:#fff}.py-remove-btn{background:none;border:none;border-radius:var(--radius-sm);color:var(--ink-muted);cursor:pointer;flex-shrink:0;font-size:1rem;line-height:1;padding:.1rem .3rem;transition:color .15s,background .15s}.py-remove-btn:hover{background:#ff5c7a1a;color:var(--accent-critical)}.py-hint{border-top:1px solid var(--border-subtle);color:var(--ink-muted);font-size:.72rem;line-height:1.5;margin:0;padding:.4rem .75rem .6rem}.py-hint code{background:var(--surface-chip);border-radius:3px;font-family:var(--font-mono);padding:.05em .25em}.py-exit-badge{border-radius:20px;font-size:.68rem;font-weight:700;padding:.15rem .45rem}.py-ok{background:#21d07a26;color:var(--accent-positive)}.py-fail{background:#ff5c7a26;color:var(--accent-critical)}.py-clear-btn{background:none;border:none;border-radius:var(--radius-sm);color:var(--ink-muted);cursor:pointer;font-size:.72rem;margin-left:auto;padding:.1rem .35rem;transition:color .15s}.py-clear-btn:hover{color:var(--ink)}.py-console{flex:1 1;overflow:auto;padding:.625rem .75rem}.py-placeholder{color:var(--ink-muted);font-size:.8rem}.py-done{color:var(--accent-positive)}.py-text{font-family:var(--font-mono);font-size:.79rem;line-height:1.6;margin:0;white-space:pre-wrap;word-break:break-word}.py-stdout{color:var(--ink)}.py-stderr{color:var(--accent-critical)}@media (max-width:700px){.py-lab-body{grid-template-columns:1fr;grid-template-rows:auto auto}.py-editor-col{border-bottom:1px solid var(--border-soft);border-right:none}.py-right-col{max-height:320px}}.coord-lab{background:var(--surface-panel);border:1px solid #e2e8f0;border:1px solid var(--border-subtle,#e2e8f0);border-radius:1rem;border-radius:var(--radius-lg,1rem);padding:1.25rem 1rem}.coord-lab--number-line{align-items:center;background:#0000;border:none;display:flex;height:100%;justify-content:center;padding:0;width:100%}.coord-lab--compare{background:var(--surface-panel);border:1px solid var(--border-soft);border-radius:1rem;border-radius:var(--radius-lg,1rem);display:flex;flex-direction:column;gap:.85rem;margin:0 auto;max-width:680px;padding:1rem}.coord-lab-toggle{align-self:center;background:var(--surface-chip);border-radius:6px;display:inline-flex;gap:2px;padding:2px}.coord-toggle-btn{background:#0000;border:none;border-radius:4px;color:var(--ink-muted);cursor:pointer;font-size:.78rem;font-weight:500;line-height:1.6;padding:.2rem .75rem;transition:background .15s ease,color .15s ease}.coord-toggle-btn.is-active{background:var(--accent-info);color:#fff}.coord-lab-view{height:420px;overflow:hidden;width:100%}.coord-lab-caption,.coord-lab-view{align-items:center;display:flex;justify-content:center}.coord-lab-caption{color:#64748b;color:var(--ink-muted,#64748b);font-size:.82rem;gap:.45rem;margin:0}.coord-point-dot{background:#ef4444;border-radius:50%;display:inline-block;flex-shrink:0;height:9px;width:9px}.coord-lab--plane{align-items:center;background:#0000;border:none;display:flex;height:100%;justify-content:center;padding:0;width:100%}.coord-lab-svg{display:block;height:100%;width:100%}.coord-lab-svg--natural{display:block;height:auto;width:100%}.coord-axis{stroke:var(--ink);stroke-width:2;stroke-linecap:round}.coord-arrow{fill:var(--ink)}.coord-grid{stroke:var(--ink-muted);stroke-width:.5;opacity:.3}.coord-tick{stroke:var(--ink-muted);stroke-width:1.5;stroke-linecap:round}.coord-tick--major{stroke:var(--ink-muted);stroke-width:2}.coord-label{fill:var(--ink-muted);font-family:inherit;font-size:13px}.coord-label--zero{fill:var(--ink-muted);font-weight:600}.coord-label--annotation{fill:var(--ink-muted);font-family:inherit;font-size:11px;font-weight:700}.coord-point{fill:#ef4444}.coord-point--hovered{filter:brightness(1.2)}.coord-tooltip-bg{fill:#1e293b;opacity:.88}.coord-tooltip-text{fill:#fff;font-family:inherit;font-size:12px;font-weight:600}.coord-lab--plot{align-items:flex-start;background:var(--surface-panel);border:1px solid var(--border-soft);border-radius:1rem;border-radius:var(--radius-lg,1rem);display:flex;flex-direction:row;gap:1rem;margin:0 auto;max-width:680px;padding:1rem}.coord-plot-canvas-wrap{flex:1 1;min-width:0}.coord-plot-controls{display:flex;flex-direction:column;flex-shrink:0;gap:.65rem;padding-top:.25rem;width:160px}.coord-plot-input-group{background:var(--surface-subtle);border:1px solid var(--border-soft);border-radius:.65rem;display:flex;flex-direction:column;gap:.45rem;padding:.6rem .65rem}.coord-plot-input-label{color:var(--ink-muted);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.coord-plot-fields{display:flex;flex-direction:column;gap:.35rem}.coord-plot-field{align-items:center;display:flex;gap:.4rem}.coord-plot-field-label{flex-shrink:0;font-size:1rem;font-style:italic;font-weight:700;line-height:1;width:1rem}.coord-plot-field-label--x{color:var(--accent-info)}.coord-plot-field-label--y{color:#f97316}.coord-plot-input{background:var(--surface-panel);border:1px solid var(--border-soft);border-radius:.4rem;color:var(--ink);flex:1 1;font-family:inherit;font-size:.88rem;min-width:0;padding:.28rem .4rem;text-align:center;transition:border-color .15s ease}.coord-plot-input:focus{border-color:var(--accent-info);outline:none}.coord-plot-input:disabled{cursor:not-allowed;opacity:.45}.coord-plot-dice-btn{align-items:center;background:#0000;border:1px dashed var(--border-soft);border-radius:.4rem;color:var(--ink-muted);cursor:pointer;display:flex;font-family:inherit;font-size:.75rem;gap:.3rem;justify-content:center;padding:.32rem .5rem;transition:border-color .15s ease,color .15s ease,background .15s ease;width:100%}.coord-plot-dice-btn:hover:not(:disabled){background:var(--surface-chip);border-color:var(--accent-info);color:var(--accent-info)}.coord-plot-dice-btn:disabled{cursor:not-allowed;opacity:.4}.coord-plot-divider{background:var(--border-soft);height:1px;margin:.1rem 0}.coord-plot-steps{display:flex;flex-direction:column;gap:.35rem}.coord-plot-step-btn{align-items:center;background:var(--surface-subtle);border:1px solid var(--border-soft);border-radius:.5rem;color:var(--ink-muted);cursor:pointer;display:flex;font-family:inherit;font-size:.76rem;gap:.45rem;padding:.45rem .55rem;text-align:left;transition:background .15s ease,border-color .15s ease,color .15s ease;width:100%}.coord-plot-step-btn:disabled{cursor:not-allowed;opacity:.5}.coord-plot-step-btn.is-active{background:var(--surface-panel);border-color:var(--accent-info);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-info) 15%,#0000);color:var(--ink)}.coord-plot-step-btn.is-done{background:#0000;border-color:#0000;color:var(--ink-muted)}.coord-plot-step-num{align-items:center;background:var(--surface-chip);border-radius:50%;color:var(--ink-muted);display:inline-flex;flex-shrink:0;font-size:.68rem;font-weight:700;height:1.2rem;justify-content:center;width:1.2rem}.coord-plot-step-btn.is-active .coord-plot-step-num{background:var(--accent-info);color:#fff}.coord-plot-step-btn.is-done .coord-plot-step-num{background:#0000;color:#22c55e}.coord-plot-step-label{line-height:1.3}.coord-plot-reset-btn{align-self:stretch;font-size:.78rem}.coord-guide{stroke-width:2;stroke-linecap:round;stroke-dasharray:6 4}.coord-guide--x{stroke:var(--accent-info)}.coord-guide--y{stroke:#f97316}.coord-guide--axis{stroke-dasharray:var(--line-len);stroke-dashoffset:0;stroke-width:3;animation:drawLine 1.3s cubic-bezier(.4,0,.2,1) forwards}@keyframes drawLine{0%{stroke-dashoffset:var(--line-len)}to{stroke-dashoffset:0}}@keyframes labelFadeIn{0%{opacity:0}to{opacity:1}}.coord-guide--read{stroke-dasharray:var(--line-len);stroke-dashoffset:0;stroke-width:2;stroke-linecap:round;stroke-opacity:.75;animation:drawLine 1.3s cubic-bezier(.4,0,.2,1) forwards}.coord-guide--dashed{stroke-dasharray:6 4;animation:guideFadeIn .35s ease forwards;opacity:0}@keyframes guideFadeIn{0%{opacity:0}to{opacity:1}}.coord-intercept{stroke:none}.coord-intercept--x{fill:var(--accent-info)}.coord-intercept--y{fill:#f97316}.coord-tick--active{stroke:var(--ink-muted);stroke-width:2.5}.coord-label--active{fill:var(--ink);font-weight:700}.coord-plotted-point{fill:#ef4444;animation:pointPop .25s ease forwards}@keyframes pointPop{0%{opacity:0;transform:scale(0);transform-box:fill-box;transform-origin:center}to{opacity:1;transform:scale(1);transform-box:fill-box;transform-origin:center}}.coord-label--point-label{fill:var(--ink);font-family:inherit;font-size:12px;font-weight:700}.coord-lab-unsupported{color:#64748b;color:var(--ink-muted,#64748b);font-size:.9rem}.coord-horiz-point-row{align-items:center;display:flex;gap:.35rem}.coord-horiz-col-headers{padding-bottom:.1rem}.coord-horiz-col-headers .coord-plot-field-label{font-style:normal;text-align:center;width:2.75rem}.coord-horiz-point-heading{color:var(--ink);flex-shrink:0;font-size:.82rem;font-weight:700;text-align:center;width:1rem}.coord-horiz-point-row .coord-plot-input{flex:none;width:2.75rem}.coord-horiz-point-row .coord-plot-input::-webkit-inner-spin-button,.coord-horiz-point-row .coord-plot-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.coord-horiz-point-row .coord-plot-input[type=number]{-moz-appearance:textfield}.coord-horiz-feedback{border-radius:.5rem;font-size:.76rem;font-weight:600;line-height:1.35;padding:.45rem .6rem}.coord-horiz-feedback.is-yes{background:#22c55e1a;border:1px solid #22c55e40;color:#22c55e}.coord-horiz-feedback.is-no{background:#f8717114;border:1px solid #f8717133;color:#f87171}.coord-horiz-line{stroke:#22c55e;stroke-width:2.5;stroke-dasharray:7 4;animation:guideFadeIn .6s ease forwards;opacity:.8}.coord-lab-svg--horiz .coord-plotted-point,.coord-lab-svg--vert .coord-plotted-point{animation:pointPop .5s ease forwards}.coord-vert-line{stroke:#22c55e;stroke-width:2.5;stroke-dasharray:7 4;animation:guideFadeIn .6s ease forwards;opacity:.8}.coord-measure-segment{stroke:#f59e0b;stroke-width:3;stroke-linecap:round;stroke-dasharray:var(--line-len);stroke-dashoffset:var(--line-len);animation:drawLine 1.3s cubic-bezier(.4,0,.2,1) forwards}.coord-measure-annot{animation:guideFadeIn .4s ease forwards}.coord-measure-ext{stroke:#f59e0b;stroke-width:1.5;stroke-dasharray:4 3;opacity:.6}.coord-measure-bracket{stroke:#f59e0b;stroke-width:2;stroke-linecap:round}.coord-measure-text{fill:#f59e0b;font-family:inherit;font-size:13px;font-weight:700}.coord-measure-formula-panel{animation:guideFadeIn .35s ease forwards;background:#f59e0b12;border:1px solid #f59e0b59;border-radius:.65rem;display:flex;flex-direction:column;gap:.2rem;padding:.6rem .65rem}.coord-measure-formula-title{color:#f59e0b;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.coord-measure-formula-step{color:var(--ink);font-family:inherit;font-size:.82rem;font-weight:600}.coord-measure-formula-result{color:#f59e0b;font-size:.95rem;font-weight:700}.coord-lab-svg--measure .coord-plotted-point{animation:pointPop .5s ease forwards}.coord-shape-side{stroke:#6366f1;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:var(--line-len);stroke-dashoffset:var(--line-len);animation:drawLine 1s cubic-bezier(.4,0,.2,1) forwards}.coord-lab-svg--shape .coord-plotted-point{fill:#6366f1;animation:pointPop .3s ease forwards}.coord-lab-svg--shape .coord-label--point-label{fill:var(--ink);font-size:11px;font-weight:700}.coord-graph-point{fill:#0891b2;animation:pointPop .35s ease forwards}.coord-graph-point--high{fill:#22c55e}.coord-graph-point--low{fill:#f87171}.coord-graph-point-label{fill:var(--ink-muted);animation:labelFadeIn .4s ease .15s both;font-family:inherit;font-size:11px;font-weight:600}.coord-graph-point-label--high{fill:#22c55e;font-weight:700}.coord-graph-point-label--low{fill:#f87171;font-weight:700}.coord-graph-scale-note{fill:var(--ink-muted);font-family:inherit;font-size:10px;font-style:italic}.coord-graph-row{align-items:center;display:flex;gap:.35rem}.coord-graph-col-header{padding-bottom:.1rem}.coord-graph-mo-label{color:var(--ink);flex-shrink:0;font-size:.82rem;font-weight:700;text-align:center;width:2rem}.coord-graph-val-header{flex:1 1;font-style:normal;text-align:center}.coord-graph-row .coord-plot-input::-webkit-inner-spin-button,.coord-graph-row .coord-plot-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.coord-graph-row .coord-plot-input[type=number]{-moz-appearance:textfield}.coord-graph-line-segment{animation:drawLine .55s cubic-bezier(.4,0,.2,1) forwards}.coord-graph-line-point{animation:pointPop .3s ease forwards}.coord-graph-legend-text{fill:var(--ink-muted);font-family:inherit;font-size:10px}.scratch-lab{border:1px solid #e2e8f0;border:1px solid var(--border-soft,#e2e8f0);border-radius:8px;display:flex;flex-direction:row;gap:0;height:580px;height:var(--scratch-height,580px);overflow:hidden;width:100%}.scratch-lab__tasks{background:#f8fafc;background:var(--surface-panel,#f8fafc);border-right:1px solid #e2e8f0;border-right:1px solid var(--border-soft,#e2e8f0);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;padding:16px 12px;width:220px}.scratch-lab__tasks-title{color:#64748b;color:var(--ink-muted,#64748b);font-size:.75rem;font-weight:600;letter-spacing:.05em;margin:0 0 12px;text-transform:uppercase}.scratch-lab__task-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.scratch-lab__task-item{align-items:flex-start;border-radius:6px;color:#1e293b;color:var(--ink-body,#1e293b);cursor:pointer;display:flex;font-size:.85rem;gap:8px;line-height:1.4;padding:8px;transition:background .15s}.scratch-lab__task-item:hover{background:#f1f5f9;background:var(--surface-hover,#f1f5f9)}.scratch-lab__task-item--done{color:#64748b;color:var(--ink-muted,#64748b)}.scratch-lab__task-item--done .scratch-lab__task-text{text-decoration:line-through}.scratch-lab__task-check{color:#3b82f6;color:var(--accent-info,#3b82f6);flex-shrink:0;font-size:1rem;line-height:1.4;width:18px}.scratch-lab__task-item--done .scratch-lab__task-check{color:#22c55e;color:var(--accent-success,#22c55e)}.scratch-lab__tasks-complete{background:#dcfce7;background:var(--accent-success-soft,#dcfce7);border-radius:6px;color:#16a34a;color:var(--accent-success,#16a34a);font-size:.8rem;font-weight:600;margin-top:16px;padding:10px;text-align:center}.scratch-lab__editor{flex:1 1;min-width:0;position:relative}.scratch-lab__iframe{border:none;display:block;height:100%;width:100%}.module-viewer-shell{display:flex;flex:1 1;flex-direction:column;font-family:Comic Sans MS,Comic Sans,cursive;gap:1rem;min-height:0;overflow:hidden}.module-viewer-header{align-items:center;background:var(--surface-panel);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;padding:1rem 1.25rem}.module-viewer-title{flex:1 1 280px;min-width:0}.module-viewer-heading{color:var(--ink);font-size:1.5rem;font-weight:600;margin:.35rem 0 0}.module-viewer-actions{align-items:center;display:flex;flex:0 0 auto;justify-content:flex-end}.module-viewer-actions .close-btn{align-items:center;display:inline-flex;gap:.4rem;padding:.35rem .75rem}.module-close-icon{height:18px;width:18px}.close-label{font-size:.9rem;font-weight:600}.module-viewer-body{grid-gap:1rem;display:grid;flex:1 1;gap:1rem;grid-template-columns:minmax(0,.75fr) minmax(260px,.25fr);grid-template-rows:1fr;min-height:0}.module-viewer-content,.module-viewer-rail{background:var(--surface-panel);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);min-height:0;overflow:hidden;padding:1rem}.module-viewer-content{display:flex;flex-direction:column;gap:1rem;overflow:hidden}.content-panel-header{gap:.75rem;justify-content:space-between}.content-panel-header,.presenter-toolbar{align-items:center;display:flex;flex-shrink:0}.presenter-toolbar{gap:.5rem}.block-breadcrumb{align-items:center;display:flex;flex-shrink:0;font-size:.82rem;gap:.4rem}.breadcrumb-module{color:var(--ink-muted);font-weight:500;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumb-sep{color:var(--ink-muted);opacity:.5}.breadcrumb-submodule{color:var(--ink);font-weight:600;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumb-block{color:var(--ink-muted);white-space:nowrap}.submodule-transition{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:.75rem;justify-content:center;padding:2rem;text-align:center}.transition-badge{background:#377aff1f;border:1px solid #377aff40;border-radius:999px;color:var(--accent-info);font-size:.75rem;font-weight:700;letter-spacing:.08em;padding:.25rem .85rem;text-transform:uppercase}.transition-from{color:var(--ink-muted);font-size:1.1rem;font-weight:600;margin:0}.transition-arrow{color:var(--ink-muted);font-size:1.5rem;opacity:.4}.transition-label{color:var(--ink-muted);font-size:.8rem;letter-spacing:.08em;margin:0;opacity:.6;text-transform:uppercase}.transition-to{color:var(--ink);font-size:1.6rem;font-weight:700;margin:0}.segmented-progress{border-radius:999px;display:flex;gap:3px;height:6px;margin-bottom:.35rem;overflow:hidden;width:100%}.progress-segment{background:var(--surface-chip);border-radius:999px;min-width:8px;overflow:hidden;position:relative}.progress-segment.is-complete{background:#377aff59}.progress-segment-fill{border-radius:999px;height:100%;transition:width .3s ease}.progress-segment-fill,.progress-segment.is-active .progress-segment-fill{background:var(--accent-info)}.submodule-meta{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.submodule-heading{color:var(--ink);font-size:1.25rem;font-weight:600;margin:0}.progress-track{background:var(--surface-chip);border-radius:999px;height:6px;margin-top:.4rem;overflow:hidden;width:100%}.progress-fill{background:var(--accent-info);border-radius:999px;display:block;height:100%}.module-blocks{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.module-block{background:var(--bg-block);border:1px solid var(--border-soft);border-radius:var(--radius-md);flex:1 1;min-height:0;overflow-y:auto;padding:1rem}.module-block-title{background:var(--bg-block);font-size:1.1rem;margin:0 0 .4rem;padding-bottom:.5rem;position:sticky;top:0;z-index:1}.module-block-stem{font-weight:500;margin:0 0 .75rem}.module-html table,.table-block table{border-collapse:collapse;font-size:.9rem;margin-top:.5rem;width:100%}.module-html table td,.module-html table th,.table-block table td,.table-block table th{border:1px solid var(--border-soft);padding:.35rem .5rem}.table-block .table-scroll{max-width:100%;overflow-x:auto}.table-block table caption{caption-side:bottom;color:var(--ink-muted);font-size:.85rem;padding-top:.25rem}.table-block .table-scroll{flex:1 1}.table-row-latest{animation:stepFadeIn .35s ease forwards}.table-row-revealed{opacity:.55}.submodule-footer{align-items:center;background:var(--bg-block);border-radius:0 0 var(--radius-md) var(--radius-md);border-top:1px solid var(--border-subtle);display:flex;flex-shrink:0;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding-top:.75rem}.footer-progress{display:flex;flex:1 1;flex-direction:column;gap:.1rem;justify-content:center;min-width:220px}.footer-progress .progress-label{color:var(--ink-muted);font-size:.9rem}.footer-actions{display:flex;flex:0 0 auto;gap:.5rem;justify-content:flex-end}.footer-actions .btn-secondary:last-child{background:var(--btn-primary-bg);border-color:#0000;box-shadow:0 12px 24px #377aff59;color:var(--btn-primary-fg)}.mcq-block .module-block-title{margin-bottom:1rem}.mcq-block .module-block-stem{margin-bottom:1.25rem}.mcq-options{display:flex;flex-direction:column;gap:.5rem}.mcq-option{background:var(--surface-subtle);border:1px solid var(--border-soft);border-radius:.85rem;color:inherit;cursor:pointer;font-family:Comic Sans MS,Comic Sans,cursive;font-size:.95rem;padding:.65rem .85rem;text-align:left;transition:border-color .2s ease,background .2s ease;width:100%}.mcq-option.correct{background:#22c55e26;border-color:#22c55ecc}.mcq-option.incorrect{background:#f871711a;border-color:#f87171cc}.mcq-feedback{color:var(--ink-muted);font-size:.9rem;margin-top:.5rem}.mcq-hint{color:var(--ink);font-size:.85rem;margin:.25rem 0 0}.dragdrop-block{display:flex;flex-direction:column;overflow:hidden}.dragdrop-layout{grid-gap:1rem;align-items:stretch;display:grid;flex:1 1;gap:1rem;grid-template-columns:minmax(200px,240px) 1fr;margin-top:.75rem;min-height:0;overflow:hidden}@media (max-width:768px){.dragdrop-layout{grid-template-columns:1fr}}.dragdrop-column{background:var(--surface-subtle);border:1px dashed var(--border-subtle);border-radius:var(--radius-md);display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden;transition:border-color .2s ease,background .2s ease}.dragdrop-column.is-hovered{background:#377aff14;border-color:var(--ink)}.dragdrop-column-header{align-items:center;display:flex;font-size:.95rem;font-weight:600;justify-content:space-between;padding:.6rem .75rem}.dragdrop-count{color:var(--ink-muted);font-size:.8rem}.dragdrop-column-body{display:flex;flex:1 1;flex-direction:column;gap:.5rem;min-height:0;overflow-y:auto;padding:.6rem .75rem .85rem}.dragdrop-placeholder{color:var(--ink-muted);font-size:.85rem;margin:0}.dragdrop-card{background:var(--bg-block);border:1px solid var(--border-soft);border-radius:.65rem;box-shadow:0 2px 5px #0f172a14;cursor:grab;font-size:.9rem;padding:.45rem .6rem;-webkit-user-select:none;user-select:none}.dragdrop-card.is-dragging{opacity:.6}.dragdrop-source{height:100%}.dragdrop-buckets{display:flex;flex-direction:column;gap:.85rem;overflow:hidden}.dragdrop-actions{align-items:center;display:flex;gap:.75rem;justify-content:flex-end;margin-top:.75rem}.dragdrop-score{color:var(--ink-muted);font-size:.9rem}.rapidfire-block{align-items:stretch;display:flex;flex-direction:column;gap:.75rem}.rapidfire-ready-meta{color:var(--ink-muted);font-size:.9rem;margin:.5rem 0 .75rem;text-align:center}.rapidfire-start-btn{align-self:center;background:#0000;border-color:var(--border-soft);box-shadow:none;color:var(--ink-muted);font-size:.85rem;font-weight:600;letter-spacing:.04em;padding:.35rem 1.25rem;transition:border-color .2s ease,color .2s ease,background .2s ease}.rapidfire-start-btn:hover{background:var(--surface-subtle);border-color:var(--ink-muted);color:var(--ink)}.rapidfire-hud{align-items:center;display:flex;flex-shrink:0;justify-content:space-between}.rapidfire-progress{color:var(--ink-muted);font-size:.85rem;font-weight:600}.rapidfire-timer{font-feature-settings:"tnum";color:var(--ink-muted);font-size:1.1rem;font-variant-numeric:tabular-nums;font-weight:700;min-width:2.5rem;text-align:right;transition:color .3s ease}.rapidfire-timer.is-warning{color:#f59e0b}.rapidfire-timer.is-danger{animation:timerPulse .6s ease-in-out infinite;color:#ef4444}@keyframes timerPulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.rapidfire-stem{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:.25rem;padding:.5rem 0;text-align:center}.rapidfire-stem-text{color:var(--ink);font-size:1rem;font-weight:600;line-height:1.4}.rapidfire-stem-example{color:var(--ink-muted);font-size:.82rem;font-weight:400}.rapidfire-description{color:var(--ink);flex-shrink:0;font-size:1.35rem;font-weight:700;padding:.25rem 0 .5rem;text-align:center}.rapidfire-options{grid-gap:.6rem;align-content:start;display:grid;flex:1 1;gap:.6rem}.rapidfire-options--2{grid-template-columns:1fr 1fr}.rapidfire-options--3{grid-template-columns:1fr 1fr 1fr}.rapidfire-options--4{grid-template-columns:1fr 1fr}.rapidfire-option{background:var(--surface-subtle);border:1.5px solid var(--border-soft);border-radius:.85rem;color:var(--ink);cursor:pointer;font-family:Comic Sans MS,Comic Sans,cursive;font-size:1rem;font-weight:600;min-height:3rem;padding:.75rem .5rem;text-align:center;transition:border-color .15s ease,background .15s ease,transform .1s ease}.rapidfire-option:hover:not(:disabled){background:#377aff14;border-color:var(--accent-info);transform:translateY(-1px)}.rapidfire-option:disabled{cursor:default}.rapidfire-option.is-correct{animation:flashCorrect .5s ease forwards;background:#22c55e2e;border-color:#22c55ee6}.rapidfire-option.is-incorrect{animation:flashShake .4s ease forwards;background:#f8717126;border-color:#f87171e6}@keyframes flashCorrect{0%{transform:scale(1)}40%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes flashShake{0%,to{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}.rapidfire-done{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:.5rem;justify-content:center;padding:2rem 1rem;text-align:center}.rapidfire-done-score{color:var(--ink);font-size:3rem;font-weight:800;line-height:1;margin:0}.rapidfire-done-total{color:var(--ink-muted);font-size:1.5rem;font-weight:600}.rapidfire-done-pct{color:var(--ink-muted);font-size:1rem;margin:0 0 .75rem}.stepthrough-block{display:flex;flex-direction:column;gap:.75rem}.stepthrough-body{display:flex;flex:1 1;gap:.75rem;min-height:0}.stepthrough-steps{display:flex;flex:1 1;flex-direction:column;gap:0;min-height:0;overflow-y:auto}.stepthrough-step{align-items:flex-start;border-bottom:1px solid var(--border-subtle);display:flex;gap:1rem;opacity:.45;padding:.9rem .5rem;transition:opacity .4s ease}.stepthrough-step.is-latest{animation:stepFadeIn .35s ease forwards;opacity:1}.stepthrough-step.is-revealed{opacity:.55}@keyframes stepFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.step-number{align-items:center;background:var(--surface-chip);border-radius:50%;color:var(--ink-muted);display:flex;flex-shrink:0;font-size:.75rem;font-weight:700;height:1.6rem;justify-content:center;width:1.6rem}.stepthrough-step.is-latest .step-number{background:var(--accent-info);color:#fff}.step-body{color:var(--ink);flex:1 1;font-size:1rem;line-height:1.65}.step-canvas-wrap{margin:.75rem 0 0;width:100%}.stepthrough-controls{align-items:center;border-left:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:.5rem;justify-content:space-between;padding:.25rem 0 .25rem .75rem}.stepthrough-pip-col{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:.4rem;justify-content:center}.stepthrough-pip{background:var(--surface-chip);border-radius:50%;height:7px;transition:background .25s ease,transform .2s ease;width:7px}.stepthrough-pip.filled{background:#377aff66}.stepthrough-pip.active{background:var(--accent-info);transform:scale(1.3)}.stepthrough-arrow{align-items:center;background:#0000;border:1px solid var(--border-soft);border-radius:50%;color:var(--ink);cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;height:2rem;justify-content:center;transition:background .15s ease,border-color .15s ease;width:2rem}.stepthrough-arrow:hover:not(:disabled){background:var(--surface-subtle);border-color:var(--ink-muted)}.stepthrough-arrow:disabled{cursor:default;opacity:.25}.stepthrough-done{color:#4ade80;font-size:1rem;height:2rem;width:2rem}.block-nav-arrow,.stepthrough-done{align-items:center;display:flex;justify-content:center}.block-nav-arrow{border-radius:50%;font-size:1.1rem;height:2.4rem;padding:0;width:2.4rem}.summary-list{display:flex;flex-direction:column;gap:.35rem;margin:0;padding-left:1.25rem}.summary-steps{display:flex;flex:1 1;flex-direction:column;gap:0;min-height:0;overflow-y:auto}.summary-bullet-dot{background:none!important;color:var(--accent-info);font-size:1.1rem;min-width:1.75rem}.summary-transition{align-items:center;animation:stepFadeIn .4s ease forwards;border-top:1px solid var(--border-soft);display:flex;flex-direction:column;gap:.5rem;margin-top:1.25rem;padding:1.25rem 1.5rem;text-align:center}.transition-from-name{color:var(--ink);font-size:1rem;font-weight:600;margin:0}.transition-tick{color:#4ade80;margin-left:.25rem}.summary-continue-btn{margin-top:.5rem}.module-viewer-rail{display:flex;flex-direction:column;gap:.85rem}.rail-card{background:var(--bg-block);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:.75rem}.rail-card ul{display:flex;flex-direction:column;gap:.3rem;padding-left:1rem}.rail-card dl,.rail-card ul{margin:.5rem 0 0}.rail-card dl div{border-bottom:1px dashed var(--border-subtle);display:flex;font-size:.9rem;justify-content:space-between;padding:.2rem 0}.support-nav{align-items:stretch;border:1px solid var(--border-soft);border-radius:999px;display:flex;overflow:hidden}.support-nav-btn{background:#0000;border:none;color:var(--ink-muted);cursor:pointer;flex:1 1;font-weight:600;padding:.5rem .75rem;position:relative;transition:color .2s ease,background .2s ease}.support-nav-btn:not(:last-child):after{background:var(--border-soft);content:"";height:50%;position:absolute;right:0;top:25%;width:1px}.support-nav-btn:hover{background:var(--surface-subtle)}.support-nav-btn.active{background:#377aff33;color:var(--ink)}.support-panel{display:flex;flex:1 1;min-height:0;overflow-y:auto}.support-body{display:flex;flex:1 1;flex-direction:column;gap:.75rem;min-height:0;width:100%}.support-body textarea{background:var(--surface-input);border:1px solid var(--border-soft);border-radius:.9rem;color:var(--ink);font-family:var(--font-body);font-size:.95rem;min-height:150px;padding:.75rem;resize:vertical;transition:border-color .2s ease,background .2s ease;width:100%}.mentor-body{flex:1 1}.mentor-body textarea{flex:1 1;height:100%;min-height:0}.notes-body{flex:1 1}.notes-body textarea{flex:1 1;height:100%;min-height:0}.ai-terminal{background:var(--bg-block);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex;flex:1 1;flex-direction:column;font-family:Comic Sans MS,Comic Sans,cursive;gap:.75rem;min-height:0;padding:.75rem}.ai-terminal *{font-family:inherit}.ai-terminal-header{align-items:center;color:var(--ink-muted);display:flex;font-size:.85rem;gap:.35rem;letter-spacing:.08em;text-transform:uppercase}.ai-terminal-header .status-dot{background:#4ade80;border-radius:50%;height:8px;width:8px}.ai-terminal-log{background:var(--bg-block);border:1px solid var(--border-subtle);border-radius:.75rem;flex:1 1;font-family:var(--font-mono);font-size:.85rem;overflow-y:auto;padding:.75rem}.ai-terminal-input{display:flex;flex-direction:column;gap:.5rem}.ai-terminal-input textarea{min-height:72px}.ai-empty-hint{font-size:.85rem;line-height:1.5}.ai-message{display:flex;margin-bottom:.5rem}.ai-message--user{justify-content:flex-end}.ai-message--assistant{justify-content:flex-start}.ai-message-bubble{border-radius:1rem;font-size:.85rem;line-height:1.55;max-width:88%;padding:.5rem .75rem;white-space:pre-wrap;word-break:break-word}.ai-message--user .ai-message-bubble{background:#6366f1;background:var(--accent,#6366f1);border-bottom-right-radius:.25rem;color:#fff}.ai-message--assistant .ai-message-bubble{background:#f3f4f6;background:var(--surface-panel,#f3f4f6);border:1px solid #e2e8f0;border:1px solid var(--border-subtle,#e2e8f0);border-bottom-left-radius:.25rem;color:#1a1a2e;color:var(--ink,#1a1a2e)}.ai-cursor{animation:blink .8s step-end infinite;background:currentColor;display:inline-block;height:.9em;margin-left:2px;vertical-align:text-bottom;width:2px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.status-dot.is-streaming{animation:pulse-green 1s ease-in-out infinite}@keyframes pulse-green{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}@media (max-width:1100px){.module-viewer-body{grid-template-columns:minmax(0,1fr)}.module-viewer-rail{flex-direction:row;flex-wrap:wrap}.module-viewer-rail .rail-card{flex:1 1 220px}}@media (max-width:720px){.module-viewer-header,.submodule-meta{flex-direction:column}.module-viewer-meta{justify-content:flex-start;width:100%}}@media (max-width:480px){.footer-progress{min-width:0;width:100%}.stepthrough-body{flex-direction:column}.stepthrough-controls{border-left:none;border-top:1px solid var(--border-subtle);flex-direction:row;padding-left:0;padding-top:.5rem}.stepthrough-pip-col{flex:1 1;flex-direction:row}}.practice-page{grid-gap:1.5rem;display:grid;gap:1.5rem;padding-bottom:2rem}.practice-page.practice-builder-only,.practice-page.practice-session-view{grid-template-columns:1fr}.practice-panel{background:var(--surface-panel);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:0 10px 30px #00000059;display:flex;flex-direction:column;gap:1.25rem;padding:1.5rem}.practice-panel.full-width{width:100%}.practice-panel-head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between}.practice-title{margin:0}.practice-control-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem}.practice-field{display:flex;flex-direction:column;gap:.45rem}.compact-field{flex:1 1 160px;max-width:280px}.modules-field{flex:1 1 180px;max-width:300px}.length-field{flex:0 0 auto}.practice-control-row .course-filter-select{max-width:100%;min-width:0;width:100%}.custom-select{position:relative;width:100%}.select-trigger{align-items:center;background:var(--surface-subtle);border:1px solid var(--border-soft);border-radius:999px;color:var(--ink-muted);cursor:pointer;display:flex;font-family:var(--font-body);font-size:.78rem;font-weight:500;gap:.5rem;justify-content:space-between;padding:.35rem .85rem;transition:border-color .2s ease,background-color .2s ease;width:100%}.select-trigger:focus,.select-trigger:hover{background-color:var(--surface-input-focus);border-color:#377aff80;outline:none}.select-caret{flex-shrink:0;font-size:.7rem;opacity:.65}.select-menu{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:var(--bg-dropdown);border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:.2rem;left:0;min-width:100%;padding:.35rem;position:absolute;right:0;top:calc(100% + .4rem);z-index:20}.select-option{background:#0000;border:none;border-radius:var(--radius-sm);color:var(--ink);cursor:pointer;font-family:var(--font-body);font-size:.85rem;padding:.5rem .75rem;text-align:left;transition:background .15s ease;width:100%}.select-option:hover{background:var(--surface-chip)}.select-option.selected{background:#377aff2e;color:var(--ink)}.select-option.selectable{align-items:center;display:flex;gap:.5rem}.check-indicator{color:var(--accent-primary);flex-shrink:0;font-size:.8rem;text-align:center;width:16px}.option-meta{color:var(--ink-muted);font-size:.75rem;margin-left:auto}.combo-pill{background:var(--surface-subtle);border:1px solid var(--border-soft);border-radius:999px;display:inline-flex;overflow:hidden}.combo-pill-option{background:#0000;border:none;color:var(--ink-muted);cursor:pointer;font-family:var(--font-body);font-size:.78rem;font-weight:500;padding:.35rem .85rem;transition:background .2s ease,color .2s ease}.combo-pill-option+.combo-pill-option{border-left:1px solid var(--border-soft)}.combo-pill-option.active{background:linear-gradient(135deg,#377aff,#2645ff);color:#fff}.practice-footer-row{align-items:center;border-top:1px solid var(--border-subtle);display:flex;gap:1rem;justify-content:flex-end;padding-top:.75rem}.practice-footer-row .practice-banner{flex:1 1;margin:0}.practice-banner{background:#f2b94c14;border:1px solid #f2b94c66;border-radius:var(--radius-md);color:#f2b94c;color:var(--accent-warning,#f2b94c);font-size:.85rem;padding:.6rem .9rem}.submitted-banner{background:#21d07a14;border-color:#21d07a59;color:#33d07a}.practice-actions{display:flex;flex-wrap:wrap;gap:.75rem}.practice-panel--results{gap:1.25rem}.practice-summary-meta{color:var(--ink-muted);font-size:.85rem}.practice-session-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.practice-summary-cards{grid-gap:.75rem;display:grid;gap:.75rem}@media (min-width:640px){.practice-summary-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}.practice-summary-card{grid-gap:.35rem;background:var(--surface-card);border:1px solid var(--border-soft);border-radius:var(--radius-md);display:grid;gap:.35rem;padding:1rem}.difficulty-list{grid-gap:.15rem;color:var(--ink-muted);display:grid;font-size:.9rem;gap:.15rem;list-style:none;margin:.25rem 0 0;padding:0}.difficulty-list li{display:flex;justify-content:space-between}.practice-question-stack{grid-gap:1rem;display:grid;gap:1rem}.practice-question-stack.single-question{display:flex;flex-direction:column;gap:1rem}.question-progress{align-items:center;color:var(--ink-muted);display:flex;font-size:.9rem;justify-content:space-between}.question-nav{display:flex;gap:.75rem;justify-content:flex-end}.practice-card{background:var(--surface-card);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:0 8px 20px #00000059;padding:1.25rem}.quiz-question-header{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.quiz-question-controls{align-items:center;display:flex;gap:.75rem}.practice-pill{align-items:center;background:var(--surface-chip);border-radius:999px;display:inline-flex;font-size:.75rem;letter-spacing:.05em;padding:.15rem .75rem;text-transform:uppercase}.quiz-question-body{grid-gap:1rem;display:grid;gap:1rem;margin-top:.85rem}.quiz-question-stem{font-size:1rem;line-height:1.4;margin:.25rem 0 0}.quiz-interactions{width:100%}.quiz-option-list{grid-gap:.65rem;display:grid;gap:.65rem;list-style:none;margin:0;padding:0}.quiz-option{border-radius:var(--radius-md)}.quiz-option-static{align-items:flex-start;background:var(--surface-subtle);border:1px solid var(--border-soft);border-radius:var(--radius-md);display:flex;gap:.5rem;padding:.65rem .9rem}.quiz-option-label{color:var(--ink-muted);font-weight:600;min-width:2ch}.quiz-option-text{color:var(--ink-strong)}.quiz-option.is-correct .quiz-option-static{background:#21d07a1f;border-color:#21d07a;border-color:var(--accent-positive,#21d07a)}.quiz-answer-details{grid-gap:.35rem;background:var(--surface-input);border:1px solid var(--border-soft);border-radius:var(--radius-md);display:grid;gap:.35rem;padding:.85rem 1rem}.quiz-answer-key{margin:0}.quiz-feedback{color:var(--ink-muted);font-size:.95rem;margin:0}.quiz-text-fallback{background:var(--surface-input);border:1px solid var(--border-soft);border-radius:var(--radius-md);color:var(--ink-muted);margin:0;padding:.75rem 1rem}.quiz-empty{grid-gap:.5rem;border:1px dashed var(--border-soft);border-radius:var(--radius-lg);color:var(--ink-muted);display:grid;gap:.5rem;padding:2rem;text-align:center}@media (max-width:480px){.compact-field,.length-field,.modules-field{flex:1 1 100%;max-width:100%}.practice-footer-row{align-items:stretch;flex-direction:column}.practice-footer-row .practice-banner{width:100%}}.settings-page{gap:1.5rem}.settings-header,.settings-page{display:flex;flex-direction:column}.settings-header{gap:.25rem}.settings-title{font-size:1.5rem;font-weight:600;margin:0}.settings-subtitle{font-size:.95rem}.settings-grid{align-items:stretch;display:flex;gap:1rem}.settings-card.settings-main{flex:0 1 100%;min-width:320px}.settings-card.settings-profile{flex:0 1 40%;min-width:260px}.settings-card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:1.25rem;padding:1.5rem}.settings-card--about{grid-column:1/-1}.settings-card-title{border-bottom:1px solid var(--border-subtle);font-size:1rem;font-weight:600;margin:0;padding-bottom:.75rem}.settings-subhead{color:var(--ink-muted);font-size:.8rem;letter-spacing:.08em;margin:.5rem 0 .25rem;text-transform:uppercase}.profile-row{gap:1rem}.avatar-circle,.profile-row{align-items:center;display:flex}.avatar-circle{background:linear-gradient(135deg,#377aff,#2464ff);border-radius:50%;color:#fff;flex-shrink:0;font-size:1.25rem;font-weight:700;height:52px;justify-content:center;width:52px}.profile-info{display:flex;flex-direction:column;gap:.15rem}.profile-name{font-size:1rem;font-weight:600;margin:0}.profile-email{font-size:.85rem}.settings-field-grid{grid-gap:.85rem;display:grid;gap:.85rem;grid-template-columns:1fr}.settings-field{display:flex;flex-direction:column;gap:.35rem}.settings-field-label{color:var(--ink-muted);font-size:.82rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.settings-input{background:var(--surface-input);border:1px solid var(--border-soft);border-radius:var(--radius-md);color:var(--ink);font-family:var(--font-body);font-size:.95rem;padding:.65rem .9rem;transition:border-color .2s ease,background .2s ease;width:100%}.settings-input:focus{background:var(--surface-input-focus);border-color:#377aff80;outline:none}.settings-input[readonly]{cursor:default;opacity:.75}.theme-preview-row{display:flex;gap:.5rem}.theme-preview-card{align-items:center;background:#0000;border:2px solid var(--border-soft);border-radius:var(--radius-md);cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-family:var(--font-body);gap:.6rem;max-width:200px;padding:.85rem;transition:border-color .2s ease,transform .15s ease}.theme-preview-card:hover{border-color:var(--border-strong);transform:translateY(-1px)}.theme-preview-card.theme-preview-active{border-color:#377aff;box-shadow:0 0 0 1px #377aff59}.theme-preview-label{color:var(--ink);font-size:.85rem;font-weight:600}.theme-preview-swatch{border-radius:.65rem;display:flex;flex-direction:column;gap:.4rem;height:72px;overflow:hidden;padding:.6rem;width:100%}.dark-swatch{background:#0d0d0d}.light-swatch{background:#f0f2f7}.swatch-bar{border-radius:4px;display:block;height:7px;width:100%}.swatch-bar.short{width:60%}.dark-swatch .swatch-bar{background:#ffffff26}.light-swatch .swatch-bar{background:#0000001f}.swatch-card{border-radius:4px;display:block;flex:1 1;margin-top:.1rem}.dark-swatch .swatch-card{background:#ffffff12}.light-swatch .swatch-card{background:#ffffffd9}.settings-toggles{align-self:flex-start;display:flex;flex-direction:column;gap:.85rem;width:min(50%,320px)}.toggle-row{align-items:center;cursor:pointer;display:flex;gap:1rem;justify-content:space-between}.toggle-label{color:var(--ink);font-size:.95rem}.toggle-switch{border:none;border-radius:999px;cursor:pointer;flex-shrink:0;height:24px;position:relative;transition:background .25s ease;width:44px}.toggle-switch.on{background:#377aff}.toggle-switch.off{background:var(--surface-chip)}.toggle-thumb{background:#fff;border-radius:50%;box-shadow:0 1px 4px #00000040;height:18px;position:absolute;top:3px;transition:left .25s ease,transform .25s ease;width:18px}.toggle-switch.on .toggle-thumb{left:22px}.toggle-switch.off .toggle-thumb{left:3px}.about-list{display:flex;flex-direction:column;gap:.55rem;margin:0}.about-row{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;font-size:.9rem;gap:1rem;justify-content:space-between;padding:.35rem 0}.about-row:last-child{border-bottom:none}.about-row dt{font-size:.85rem}.about-row dd{font-weight:500;margin:0}@media (max-width:820px){.settings-grid{flex-direction:column}.settings-card.settings-main{flex:1 1 auto;width:100%}.settings-card.settings-profile{flex:1 1 auto;margin-left:0;width:100%}}@media (max-width:640px){.settings-card--about{grid-column:1}.theme-preview-row{grid-template-columns:1fr 1fr}}.pp-overlay{align-items:center;animation:pp-fade .18s ease;backdrop-filter:blur(14px) saturate(.7);-webkit-backdrop-filter:blur(14px) saturate(.7);background:#000000ad;display:flex;inset:0;justify-content:center;position:fixed;z-index:900}@keyframes pp-fade{0%{opacity:0}to{opacity:1}}.pp-modal{animation:pp-rise .26s cubic-bezier(.22,1,.36,1);background:#141414;background:var(--bg-tile,#141414);border:1px solid #ffffff17;border-radius:1.5rem;box-shadow:0 32px 80px #000000b3,inset 0 0 0 1px #ffffff0a;display:flex;flex-direction:column;gap:1.1rem;padding:1.5rem;width:min(460px,92vw)}@keyframes pp-rise{0%{opacity:0;transform:translateY(28px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.pp-header{justify-content:space-between}.pp-header,.pp-title-row{align-items:center;display:flex}.pp-title-row{gap:.5rem}.pp-icon{font-size:1.3rem;line-height:1}.pp-title{font-size:1.15rem;font-weight:700;letter-spacing:-.02em;margin:0}.pp-badge{background:#7c5cfc33;border:1px solid #7c5cfc4d;border-radius:2rem;color:#a78bfa;font-size:.65rem;font-weight:600;letter-spacing:.08em;padding:.15rem .45rem;text-transform:uppercase}.pp-close{background:none;border:none;border-radius:.5rem;color:#f5f7fb8c;color:var(--ink-muted,#f5f7fb8c);cursor:pointer;font-size:.9rem;line-height:1;padding:.3rem .5rem;transition:color .15s,background .15s}.pp-close:hover{background:#ffffff12;color:#f5f7fb;color:var(--ink,#f5f7fb)}.pp-stats{align-items:center;display:flex;gap:1.5rem}.pp-stat{display:flex;flex-direction:column;gap:.05rem}.pp-stat-label{color:#f5f7fb80;color:var(--ink-muted,#f5f7fb80);font-size:.65rem;letter-spacing:.09em;text-transform:uppercase}.pp-stat-value{font-size:1.5rem;font-weight:700;letter-spacing:-.03em;line-height:1}.pp-mistakes{display:flex;gap:.45rem;margin-left:auto}.pp-dot{background:#ffffff1f;border:1px solid #ffffff2e;border-radius:50%;display:block;height:10px;transition:background .25s,box-shadow .25s;width:10px}.pp-dot--used{background:#f43f5e;border-color:#fb7185;box-shadow:0 0 10px #f43f5e8c}.pp-arena{display:flex;flex-direction:column;gap:.65rem;position:relative}.pp-hud{color:#f5f7fb94;color:var(--ink-muted,#f5f7fb94);font-size:.82rem;letter-spacing:.01em;min-height:1.3rem;text-align:center}.pp-hud strong{color:#f5f7fb;color:var(--ink,#f5f7fb)}.pp-grid{grid-gap:.45rem;display:grid;gap:.45rem;grid-template-columns:repeat(4,1fr);transition:opacity .3s,filter .3s}.pp-grid--dim{filter:blur(3px);opacity:.2;pointer-events:none}.pp-tile{aspect-ratio:1;background:hsla(0,0%,100%,.045);border:1px solid #ffffff12;border-radius:.7rem;cursor:default;outline:none;transition:background .12s,transform .1s,box-shadow .12s,border-color .12s}.pp-tile--interactive{cursor:pointer}.pp-tile--interactive:hover{background:#ffffff17}.pp-tile--interactive:active{transform:scale(.9)}.pp-tile--flash{background:#7c5cfce0!important;border-color:#a78bfae6!important;box-shadow:0 0 18px #7c5cfca6,0 0 42px #7c5cfc33;transform:scale(.91)}.pp-tile--hit{background:#22c55ed1!important;border-color:#4ade80e6!important;box-shadow:0 0 14px #22c55e80;transform:scale(.91)}.pp-tile--miss{animation:pp-shake .38s ease;background:#f43f5ed1!important;border-color:#fb7185e6!important;box-shadow:0 0 14px #f43f5e80}@keyframes pp-shake{0%,to{transform:translateX(0)}20%{transform:translateX(-5px)}45%{transform:translateX(5px)}65%{transform:translateX(-3px)}85%{transform:translateX(3px)}}.pp-splash{align-items:center;background:#141414;background:var(--bg-tile,#141414);border-radius:.75rem;display:flex;flex-direction:column;gap:1rem;inset:0;justify-content:center;padding:1.5rem;position:absolute;z-index:2}.pp-splash-copy{color:#f5f7fb94;color:var(--ink-muted,#f5f7fb94);font-size:.88rem;line-height:1.6;margin:0;text-align:center}.pp-personal-best{color:#f5f7fb66;color:var(--ink-muted,#f5f7fb66);font-size:.78rem;margin:0}.pp-gameover{align-items:center;background:#141414;background:var(--bg-tile,#141414);border-radius:.75rem;display:flex;flex-direction:column;gap:.4rem;inset:0;justify-content:center;padding:1.5rem;position:absolute;z-index:2}.pp-gameover-emoji{animation:pp-pop .4s cubic-bezier(.22,1,.36,1);font-size:2.6rem;margin-bottom:.2rem}@keyframes pp-pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.pp-gameover-heading{font-size:1.45rem;font-weight:700;letter-spacing:-.02em;margin:0}.pp-gameover-score{color:#f5f7fb;color:var(--ink,#f5f7fb);font-size:1.1rem;font-weight:700;margin:.25rem 0 0}.pp-gameover-sub{color:#f5f7fb80;color:var(--ink-muted,#f5f7fb80);font-size:.82rem;margin:0}.pp-new-best{color:#fbbf24;font-size:.88rem;font-weight:600;margin:.3rem 0 0}.pp-gameover-actions{display:flex;gap:.65rem;margin-top:.85rem}.pp-cta{background:linear-gradient(135deg,#7c5cfc,#a855f7);border:none;border-radius:2rem;box-shadow:0 4px 14px #7c5cfc59;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;letter-spacing:.01em;padding:.6rem 1.4rem;transition:opacity .15s,transform .12s}.pp-cta:hover{opacity:.88;transform:scale(1.03)}.pp-cta:active{transform:scale(.96)}.pp-share{background:#ffffff12;border:1px solid #ffffff1f;border-radius:2rem;color:#f5f7fb;color:var(--ink,#f5f7fb);cursor:pointer;font-size:.9rem;font-weight:600;padding:.6rem 1.4rem;transition:background .15s,transform .12s}.pp-share:hover{background:#ffffff1f;transform:scale(1.03)}.pp-share:active{transform:scale(.96)}.tile-card--interactive{cursor:pointer;transition:background .18s,transform .14s,box-shadow .18s}.tile-card--interactive:hover{background:#1e1e1efa;box-shadow:0 6px 20px #00000059;transform:translateY(-2px)}.tile-card--interactive:active{transform:translateY(0) scale(.97)}.bb-overlay{align-items:center;animation:bb-fade .18s ease;backdrop-filter:blur(14px) saturate(.65);-webkit-backdrop-filter:blur(14px) saturate(.65);background:#000000a6;display:flex;inset:0;justify-content:center;position:fixed;z-index:900}@keyframes bb-fade{0%{opacity:0}to{opacity:1}}.bb-modal{animation:bb-rise .26s cubic-bezier(.22,1,.36,1);background:#141414;background:var(--bg-tile,#141414);border:1px solid #ffffff14;border-radius:1.5rem;box-shadow:0 32px 80px #000000a6,inset 0 0 0 1px #ffffff08;display:flex;flex-direction:column;gap:1.25rem;padding:1.5rem;width:min(440px,92vw)}@keyframes bb-rise{0%{opacity:0;transform:translateY(28px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.bb-header{justify-content:space-between}.bb-header,.bb-title-row{align-items:center;display:flex}.bb-title-row{gap:.5rem}.bb-icon{font-size:1.25rem;line-height:1}.bb-title{font-size:1.15rem;font-weight:700;letter-spacing:-.02em;margin:0}.bb-close{background:none;border:none;border-radius:.5rem;color:#f5f7fb80;color:var(--ink-muted,#f5f7fb80);cursor:pointer;font-size:.9rem;line-height:1;padding:.3rem .5rem;transition:color .15s,background .15s}.bb-close:hover{background:#ffffff12;color:#f5f7fb;color:var(--ink,#f5f7fb)}.bb-setup{gap:1.1rem}.bb-section,.bb-setup{display:flex;flex-direction:column}.bb-section{gap:.55rem}.bb-section-label{color:#f5f7fb80;color:var(--ink-muted,#f5f7fb80);font-size:.68rem;letter-spacing:.09em;margin:0;text-transform:uppercase}.bb-pills{display:flex;flex-wrap:wrap;gap:.4rem}.bb-pill{background:#ffffff0d;border:1px solid #ffffff17;border-radius:2rem;color:#f5f7fb;color:var(--ink,#f5f7fb);cursor:pointer;font-size:.82rem;font-weight:500;padding:.35rem .85rem;transition:background .15s,border-color .15s,color .15s}.bb-pill:hover{background:#ffffff17}.bb-pill--active{background:#34d39926;border-color:#34d39973;color:#34d399}.bb-pattern-grid{grid-gap:.45rem;display:grid;gap:.45rem;grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}.bb-pattern-card{align-items:center;background:#ffffff0a;border:1px solid #ffffff14;border-radius:.75rem;cursor:pointer;display:flex;flex-direction:column;gap:.2rem;padding:.65rem .5rem;transition:background .15s,border-color .15s}.bb-pattern-card:hover{background:#ffffff14}.bb-pattern-card--active{background:#34d3991a;border-color:#34d39966}.bb-pattern-name{color:#f5f7fb;color:var(--ink,#f5f7fb);font-size:.88rem;font-weight:600}.bb-pattern-ratio{font-feature-settings:"tnum";color:#f5f7fb80;color:var(--ink-muted,#f5f7fb80);font-size:.72rem;font-variant-numeric:tabular-nums}.bb-pattern-card--active .bb-pattern-name{color:#34d399}.bb-pattern-tip{color:#f5f7fb85;color:var(--ink-muted,#f5f7fb85);font-size:.8rem;line-height:1.5;margin:0}.bb-summary{color:#f5f7fb80;color:var(--ink-muted,#f5f7fb80);font-size:.82rem;letter-spacing:.01em;margin:0;text-align:center}.bb-active{align-items:center;display:flex;flex-direction:column;gap:1rem}.bb-ring-wrap{height:min(200px,60vw);position:relative;width:min(200px,60vw)}.bb-ring-svg{display:block;height:100%;width:100%}.bb-ring-hold{animation:bb-hold-pulse 2.2s ease-in-out infinite}@keyframes bb-hold-pulse{0%,to{opacity:1}50%{opacity:.6}}.bb-ring-center{align-items:center;display:flex;flex-direction:column;gap:.1rem;inset:0;justify-content:center;pointer-events:none;position:absolute}.bb-phase-name{font-size:.88rem;font-weight:600;letter-spacing:.04em;margin:0;text-transform:uppercase;transition:color .4s ease}.bb-phase-count{font-feature-settings:"tnum";color:#f5f7fb;color:var(--ink,#f5f7fb);font-size:2.6rem;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.04em;line-height:1;margin:0}.bb-session-time{font-feature-settings:"tnum";color:#f5f7fb80;color:var(--ink-muted,#f5f7fb80);font-size:.82rem;font-variant-numeric:tabular-nums;margin:0}.bb-end-early{background:none;border:1px solid #ffffff1a;border-radius:2rem;color:#f5f7fb8c;color:var(--ink-muted,#f5f7fb8c);cursor:pointer;font-size:.82rem;padding:.4rem 1.1rem;transition:border-color .15s,color .15s}.bb-end-early:hover{border-color:#ffffff38;color:#f5f7fb;color:var(--ink,#f5f7fb)}.bb-complete{align-items:center;display:flex;flex-direction:column;gap:.5rem;padding:.5rem 0}.bb-complete-emoji{animation:bb-pop .38s cubic-bezier(.22,1,.36,1);font-size:2.6rem;margin-bottom:.2rem}@keyframes bb-pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.bb-complete-heading{font-size:1.4rem;font-weight:700;letter-spacing:-.02em;margin:0}.bb-closing-msg{color:#f5f7fb94;color:var(--ink-muted,#f5f7fb94);font-size:.88rem;margin:.15rem 0 .5rem;text-align:center}.bb-stats{display:flex;gap:2rem;margin:.5rem 0 .75rem}.bb-stat{align-items:center;display:flex;flex-direction:column;gap:.1rem}.bb-stat-value{font-feature-settings:"tnum";font-size:1.6rem;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.03em;line-height:1}.bb-stat-label{color:#f5f7fb80;color:var(--ink-muted,#f5f7fb80);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.bb-cta{background:linear-gradient(135deg,#10b981,#34d399);border:none;border-radius:2rem;box-shadow:0 4px 14px #10b9814d;color:#fff;cursor:pointer;font-size:.92rem;font-weight:600;letter-spacing:.01em;padding:.65rem 2rem;transition:opacity .15s,transform .12s}.bb-cta:hover{opacity:.88;transform:scale(1.03)}.bb-cta:active{transform:scale(.96)}.wod-overlay{align-items:center;animation:pp-fade .18s ease;backdrop-filter:blur(14px) saturate(.7);-webkit-backdrop-filter:blur(14px) saturate(.7);background:#000000ad;display:flex;inset:0;justify-content:center;padding:1.5rem;position:fixed;z-index:900}.wod-modal{animation:pp-rise .26s cubic-bezier(.22,1,.36,1);background:#141414;background:var(--bg-tile,#141414);border:1px solid #ffffff17;border-radius:1.5rem;box-shadow:0 32px 80px #000000b3,inset 0 0 0 1px #ffffff0a;color:var(--ink);display:flex;flex-direction:column;gap:1.25rem;padding:1.75rem;width:min(520px,94vw)}.wod-header{display:flex;gap:1rem;justify-content:space-between}.wod-eyebrow{color:var(--ink-muted);font-size:.75rem;letter-spacing:.08em;margin-bottom:.4rem;text-transform:uppercase}.wod-word{font-size:clamp(1.8rem,4vw,2.4rem);margin:0}.wod-pos{color:var(--ink-muted);font-size:.9rem;font-weight:500;margin-left:.6rem}.wod-pronunciation{color:var(--ink-muted);font-size:.95rem;margin:.35rem 0 0}.wod-close{background:none;border:none;border-radius:.6rem;color:#f5f7fb8c;color:var(--ink-muted,#f5f7fb8c);cursor:pointer;font-size:.95rem;height:32px;transition:color .15s ease,background .15s ease;width:32px}.wod-close:hover{background:#ffffff14;color:#f5f7fb;color:var(--ink,#f5f7fb)}.wod-body{display:flex;flex-direction:column;gap:.9rem}.wod-meaning{font-size:1.05rem;margin:0}.wod-example{color:var(--ink-muted);margin:0}.wod-label{color:var(--ink-muted);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.wod-meta{grid-gap:.75rem;background:var(--surface-chip);border-radius:12px;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));padding:.8rem}.manage-users-page{color:var(--ink);display:flex;flex-direction:column;gap:1.5rem}.mu-search-card{display:flex;flex-direction:column;gap:.75rem}.mu-search-note{color:var(--ink-muted);font-size:.85rem;line-height:1.5;margin:0}.mu-search-status-row{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:.5rem}.mu-card{background:var(--bg-block);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:1.6rem 2rem}.mu-ghost-btn{align-items:center;background:#ffffff0a;border:1px solid var(--border-subtle);border-radius:999px;color:var(--ink);cursor:pointer;display:inline-flex;font-size:.85rem;justify-content:center;padding:.45rem 1.1rem;transition:background .15s ease,border-color .15s ease}.mu-ghost-btn:hover{background:#ffffff14;border-color:#fff3}.mu-card-head{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.4rem}.mu-card-head-tight{align-items:center;margin-bottom:1rem}.mu-card-icon{color:var(--ink-muted);flex-shrink:0;margin-top:2px;opacity:.6}.mu-two-col{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}@media (max-width:860px){.mu-two-col{grid-template-columns:1fr}}.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.08em;margin:0 0 .3rem;text-transform:uppercase}.eyebrow,.mu-label{color:var(--ink-muted)}.mu-label{font-size:.85rem}.mu-label-sm{font-size:.8rem;font-weight:600;letter-spacing:.06em;margin-bottom:.75rem;text-transform:uppercase}.mu-muted{font-size:.875rem;margin:0}.mu-hint,.mu-muted{color:var(--ink-muted)}.mu-hint{font-size:.8rem;margin:4px 0 0}.mu-required{color:var(--accent-critical)}.mu-search-row{align-items:center;display:flex;gap:.65rem}.mu-search-field{align-items:center;display:flex;flex:1 1 200px;min-width:0;position:relative}.mu-search-icon{flex-shrink:0;left:14px;pointer-events:none}.mu-search-clear,.mu-search-icon{color:var(--ink-muted);position:absolute}.mu-search-clear{background:none;border:none;border-radius:50%;cursor:pointer;display:flex;padding:4px;right:10px;transition:color .15s}.mu-search-clear:hover{color:var(--ink)}.mu-lookup-btn{flex-shrink:0;font-size:.875rem;height:48px;padding:0 1.1rem;white-space:nowrap}.mu-input{background:var(--surface-input);border:1px solid var(--border-soft);border-radius:var(--radius-md);box-sizing:border-box;color:var(--ink);font:inherit;font-size:.9rem;height:48px;outline:none;padding:0 14px;transition:border-color .18s ease,background .18s ease;width:100%}.mu-search-field .mu-input{padding-left:44px;padding-right:36px}.mu-input::placeholder{color:var(--ink-muted);opacity:.7}.mu-input:focus{background:var(--surface-input-focus);border-color:var(--accent-primary)}.mu-input-readonly{cursor:not-allowed;opacity:.55;-webkit-user-select:none;user-select:none}.mu-input-readonly:focus{border-color:var(--border-soft)}.mu-select{appearance:none;background:var(--surface-input);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238c8c8c' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border:1px solid var(--border-soft);border-radius:var(--radius-md);color:var(--ink);cursor:pointer;font:inherit;font-size:.9rem;height:48px;outline:none;padding:0 36px 0 14px;transition:border-color .18s ease,background-color .18s ease;width:100%}.mu-select:focus{background-color:var(--surface-input-focus);border-color:var(--accent-primary)}.mu-select option{background:#121212;background:var(--bg-dropdown,#121212);color:var(--ink)}.mu-textarea{background:var(--surface-input);border:1px solid var(--border-soft);border-radius:var(--radius-md);box-sizing:border-box;color:var(--ink);font:inherit;font-size:.9rem;min-height:72px;outline:none;padding:10px 14px;resize:vertical;transition:border-color .18s ease,background .18s ease;width:100%}.mu-textarea::placeholder{color:var(--ink-muted);opacity:.7}.mu-textarea:focus{background:var(--surface-input-focus);border-color:var(--accent-primary)}.mu-form{gap:1rem}.mu-form,.mu-inline-form{display:flex;flex-direction:column}.mu-inline-form{background:var(--bg-block);border:1px solid var(--border-soft);border-radius:var(--radius-lg);gap:.9rem;margin-bottom:1rem;padding:1.25rem 1.5rem}.mu-field{display:flex;flex-direction:column;gap:.4rem}.mu-field-sm{flex:0 0 140px}.mu-field-row{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr}@media (max-width:480px){.mu-field-row{grid-template-columns:1fr}}.mu-form-foot{display:flex;flex-direction:column;gap:.5rem}.mu-submit-btn{align-items:center;display:flex;font-size:.9rem;gap:.5rem;height:46px;justify-content:center;width:100%}.mu-submit-btn-green{background:linear-gradient(135deg,#18b86a,#15a05c)!important;box-shadow:0 10px 25px #18b86a4d!important}.mu-typeahead{display:flex;flex-direction:column;gap:4px;position:relative}.mu-typeahead-input-wrap{align-items:center;background:var(--surface-input);border:1px solid var(--border-soft);border-radius:var(--radius-md);display:flex;overflow:hidden;transition:border-color .18s ease,background .18s ease}.mu-typeahead-input-wrap.focused{background:var(--surface-input-focus);border-color:var(--accent-primary)}.mu-typeahead-input-wrap.has-value{border-color:var(--border-strong)}.mu-typeahead-input{background:none;border:none;color:var(--ink);flex:1 1;font:inherit;font-size:.9rem;height:48px;outline:none;padding:0 12px}.mu-typeahead-input::placeholder{color:var(--ink-muted);opacity:.7}.mu-typeahead-chevron,.mu-typeahead-clear{flex-shrink:0;margin-right:10px}.mu-typeahead-clear{background:none;border:none;border-radius:50%;color:var(--ink-muted);cursor:pointer;display:flex;padding:4px;transition:color .15s}.mu-typeahead-clear:hover{color:var(--ink)}.mu-typeahead-chevron{color:var(--ink-muted);pointer-events:none}.mu-typeahead-dropdown{background:#121212;background:var(--bg-dropdown,#121212);border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-card);left:0;list-style:none;margin:0;max-height:220px;overflow-y:auto;padding:4px 0;position:absolute;right:0;top:calc(100% + 4px);z-index:100}.mu-typeahead-option{cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:9px 14px;transition:background .12s}.mu-typeahead-option:hover{background:var(--surface-subtle)}.mu-typeahead-name{color:var(--ink);font-size:.875rem;font-weight:500}.mu-typeahead-meta{color:var(--ink-muted);font-size:.78rem}.mu-typeahead-empty{color:var(--ink-muted);font-size:.85rem;padding:10px 14px}.mu-inline-form-grid{gap:.6rem}.mu-inline-row{align-items:center;display:flex;gap:.75rem}.mu-inline-label{color:var(--ink-muted);flex:0 0 120px;font-size:.8rem;text-align:left;white-space:nowrap}.mu-inline-row .mu-input,.mu-inline-row .mu-typeahead{flex:1 1;min-width:0}.mu-dark-btn{align-items:center;background:#ffffff14;border:none;border-radius:var(--radius-md);color:var(--ink);cursor:pointer;display:flex;font:inherit;font-size:.875rem;font-weight:500;gap:.5rem;height:42px;justify-content:center;transition:background .15s ease;width:100%}.mu-dark-btn:hover:not(:disabled){background:#ffffff21}.mu-dark-btn:disabled{cursor:not-allowed;opacity:.4}.mu-cc-note{background:var(--surface-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--ink-muted);font-size:.8rem;margin:0;padding:.5rem .85rem}.mu-profile{gap:1.25rem}.mu-avatar,.mu-profile{align-items:center;display:flex}.mu-avatar{background:linear-gradient(135deg,#2b6fff,#1a55dd);border-radius:50%;box-shadow:0 6px 18px #2b6fff59;color:#fff;flex-shrink:0;font-size:1.2rem;font-weight:700;height:56px;justify-content:center;letter-spacing:.04em;width:56px}.mu-profile-body{flex:1 1;min-width:0}.mu-profile-name{color:var(--ink-strong);font-size:1.1rem;font-weight:700;margin:0 0 2px}.mu-profile-email{color:var(--ink-muted);font-size:.875rem;margin:0 0 .6rem}.mu-profile-chips{display:flex;flex-wrap:wrap;gap:.4rem}.mu-chip{background:var(--surface-chip);border:1px solid var(--border-subtle);border-radius:999px;color:var(--ink-muted);font-weight:500}.mu-badge,.mu-chip{align-items:center;display:inline-flex;font-size:.78rem;padding:3px 10px;text-transform:capitalize}.mu-badge{border-radius:999px;font-weight:600}.mu-enrollment-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:.5rem}@media (max-width:860px){.mu-enrollment-grid{grid-template-columns:1fr}}.mu-enrollment-card{background:var(--bg-block);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:.65rem;padding:1rem 1.1rem}.mu-enrollment-card-head{align-items:center;display:flex;gap:.8rem;justify-content:space-between}.mu-list-title{font-size:.95rem;font-weight:600;margin:0 0 3px}.mu-enrollment-date{color:var(--ink-muted);font-size:.78rem;margin:0}.mu-enrollment-card-head .mu-badge{align-self:center}.mu-enroll-section{border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:.85rem;margin-top:1.25rem;padding-top:1.25rem}.mu-enroll-added{display:flex;flex-direction:column;gap:.4rem}.mu-enroll-chip{align-items:center;background:var(--bg-block);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--ink-muted);display:flex;font-size:.82rem;justify-content:space-between;padding:.4rem .75rem}.mu-enroll-form{gap:.6rem}.mu-found-pill,.mu-notfound-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:.8rem;font-weight:600;gap:6px;padding:5px 14px;width:fit-content}.mu-found-pill{background:#21d07a1a;border:1px solid #21d07a40;color:var(--accent-positive)}.mu-notfound-pill{background:#f2b94c1a;border:1px solid #f2b94c38;color:var(--accent-warning)}.mu-invite-success{align-items:center;display:flex;flex-direction:column;gap:.6rem;padding:1.5rem .5rem;text-align:center}.mu-success-icon{align-items:center;background:#377aff26;border:1px solid #377aff40;border-radius:50%;color:#7ab8ff;display:flex;height:48px;justify-content:center;width:48px}.mu-success-icon-green{background:#21d07a26;border-color:#21d07a40;color:var(--accent-positive)}.mu-success-title{color:var(--ink-strong);font-size:1.05rem;font-weight:700;margin:0}.mu-switch-btn{background:none;border:none;color:var(--ink-muted);cursor:pointer;font:inherit;font-size:.78rem;font-weight:500;padding:0;text-decoration:underline;text-decoration-color:#0000;text-underline-offset:3px;transition:color .15s ease,text-decoration-color .15s ease;white-space:nowrap}.mu-switch-btn:hover{color:var(--ink);text-decoration-color:initial}.mu-demo-scroll{display:flex;flex-direction:column;gap:0}.mu-demo-scroll--multi{-webkit-overflow-scrolling:touch;flex-direction:row;gap:.75rem;overflow-x:auto;padding-bottom:2px;scroll-snap-type:x mandatory;scrollbar-width:none}.mu-demo-scroll--multi::-webkit-scrollbar{display:none}.mu-demo-scroll-indicator{align-items:center;display:flex;gap:6px;justify-content:center;margin-top:.75rem}.mu-scroll-dot{background:var(--border-soft);border-radius:50%;height:6px;transition:background .2s ease,transform .2s ease;width:6px}.mu-scroll-dot--active{background:#377aff;background:var(--accent-primary,#377aff);transform:scale(1.25)}.mu-scroll-count{color:var(--ink-muted);font-size:.72rem;margin-left:4px}.mu-demo-card{background:var(--bg-block);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);margin-bottom:1rem;padding:1.25rem 1.5rem}.mu-demo-card--snap{flex-shrink:0;margin-bottom:0}.mu-demo-scroll--multi .mu-demo-card--snap{min-width:100%;scroll-snap-align:start}.mu-demo-card-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.2rem}.mu-demo-card h3{color:var(--ink-strong);font-size:1.1rem;margin:0}.mu-demo-card-header .mu-badge{align-self:flex-start}.mu-demo-info-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:.75rem}.mu-demo-label{color:var(--ink-muted);font-size:.7rem;letter-spacing:.08em;margin:0 0 .25rem;text-transform:uppercase}.mu-demo-value{color:var(--ink);font-size:.95rem;margin:0}.mu-demo-link{color:var(--accent-primary);font-size:.85rem;text-decoration:underline;word-break:break-word}.mu-demo-notes{color:var(--ink-muted);font-size:.85rem;margin:0 0 .9rem}.mu-demo-card-actions{display:flex;flex-wrap:wrap;gap:.6rem}.tertiary-btn{background:none;border:none;color:var(--accent-primary);cursor:pointer;font-size:.85rem;padding:.25rem .4rem}.tertiary-btn:hover{text-decoration:underline}.mu-cap{text-transform:capitalize}.mu-loading-dots{align-items:center;display:inline-flex;gap:4px}.mu-loading-dots span{animation:mu-dot-pulse 1.2s ease-in-out infinite;background:currentColor;border-radius:50%;height:5px;opacity:.7;width:5px}.mu-loading-dots span:nth-child(2){animation-delay:.2s}.mu-loading-dots span:nth-child(3){animation-delay:.4s}@keyframes mu-dot-pulse{0%,80%,to{opacity:.4;transform:scale(.7)}40%{opacity:1;transform:scale(1)}}.mu-save-confirm{font-size:.85rem;margin:0}.mu-mt-sm{margin-top:.5rem}@media (max-width:640px){.mu-card{padding:1.25rem}.mu-list-meta{align-items:flex-start;text-align:left}.mu-search-row{flex-wrap:wrap}.mu-search-field{flex-basis:100%;width:100%}.mu-search-status-row{width:100%}}@media (max-width:480px){.mu-card{padding:1rem}.mu-inline-row{align-items:stretch;flex-direction:column;gap:.35rem}.mu-inline-label{flex:none;white-space:normal;width:100%}.mu-inline-row .mu-input,.mu-inline-row .mu-typeahead{width:100%}.mu-demo-info-grid,.mu-two-col{grid-template-columns:1fr}.sd-stats-grid{grid-template-columns:1fr 1fr}}.sd-container{display:flex;flex-direction:column;gap:1.5rem}.sd-stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(4,1fr)}.sd-stat-card{display:flex;flex-direction:column;gap:.3rem}.sd-stat-card--clickable{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.sd-stat-card--clickable:hover{border-color:#ffffff2e;box-shadow:0 4px 20px #00000040}.sd-stat-value{color:var(--ink);font-size:2.4rem;font-weight:700;letter-spacing:-.02em;line-height:1;margin:.2rem 0 0}.sd-stat-sub{color:var(--ink-muted);font-size:.8rem;margin:.2rem 0 0}.sd-stat-drill{color:#6366f1;color:var(--accent-primary,#6366f1);font-size:.78rem;margin-top:.6rem}.sd-table-wrap{margin-top:.25rem;overflow-x:auto}.sd-table{border-collapse:collapse;font-size:.875rem;width:100%}.sd-table th{color:var(--ink-muted);font-size:.72rem;font-weight:600;letter-spacing:.07em;padding:0 1rem .75rem 0;text-align:left;text-transform:uppercase;white-space:nowrap}.sd-table td,.sd-table th{border-bottom:1px solid var(--border-subtle)}.sd-table td{padding:.8rem 1rem .8rem 0;vertical-align:middle}.sd-table tbody tr:last-child td{border-bottom:none}.sd-table tbody tr:hover td{background:#ffffff05}.sd-cell-muted{color:var(--ink-muted)}.sd-modal-overlay{align-items:center;background:#0000008c;display:flex;inset:0;justify-content:center;padding:1.5rem;position:fixed;z-index:1000}.sd-modal{background:var(--bg-block);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:0 8px 40px #0006;display:flex;flex-direction:column;max-height:80vh;max-width:560px;overflow:hidden;padding:1.6rem 2rem;width:100%}.sd-modal-head{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:1.2rem}.sd-modal-list{display:flex;flex-direction:column;gap:0;overflow-y:auto}.sd-modal-row{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;gap:1rem;padding:.9rem 0}.sd-modal-row:last-child{border-bottom:none}.sd-modal-row-main{flex:1 1;min-width:0}.sd-modal-name{font-weight:500;margin:0 0 .15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-modal-row-meta{flex-shrink:0;text-align:right}.sd-modal-mentor{color:var(--ink);font-size:.875rem;margin:0 0 .15rem}@media (max-width:860px){.sd-stats-grid{grid-template-columns:1fr 1fr}}@media (max-width:480px){.sd-stats-grid{grid-template-columns:1fr 1fr}.sd-table-wrap{overflow-x:auto}}.manage-mentors-page{color:var(--ink);display:flex;flex-direction:column;gap:1.5rem}.mm-card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:1.6rem 2rem}.mm-card-head{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.4rem}.mm-search-card{display:flex;flex-direction:column;gap:.75rem}.mm-search-note{color:var(--ink-muted);font-size:.85rem;line-height:1.5;margin:0}.mm-search-status-row{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:.5rem}.mm-search-row{align-items:center;display:flex;gap:.65rem}.mm-search-field{align-items:center;display:flex;flex:1 1 360px;min-width:260px;position:relative}.mm-search-field--typeahead .mm-typeahead{width:100%}.mm-search-icon{flex-shrink:0;left:14px;pointer-events:none;top:50%;transform:translateY(-50%)}.mm-search-clear,.mm-search-icon{color:var(--ink-muted);position:absolute}.mm-search-clear{background:none;border:none;border-radius:50%;cursor:pointer;display:flex;padding:4px;right:10px;transition:color .15s}.mm-search-clear:hover{color:var(--ink)}.mm-lookup-btn{flex-shrink:0;font-size:.875rem;height:48px;padding:0 1.1rem;white-space:nowrap}.mm-input{background:var(--surface-input);border:1px solid var(--border-soft);border-radius:var(--radius-md);box-sizing:border-box;color:var(--ink);font:inherit;font-size:.9rem;height:48px;outline:none;padding:0 14px;transition:border-color .18s ease,background .18s ease;width:100%}.mm-search-field .mm-input{padding-left:44px;padding-right:36px}.mm-search-field--typeahead .mm-typeahead-input{height:48px;padding-left:44px}.mm-search-field--typeahead .mm-typeahead-input-wrap{min-height:48px}.mm-input::placeholder{color:var(--ink-muted);opacity:.7}.mm-input:focus{background:var(--surface-input-focus);border-color:var(--accent-primary)}.mm-select{appearance:none;background:var(--surface-input);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238c8c8c' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border:1px solid var(--border-soft);border-radius:var(--radius-md);box-sizing:border-box;color:var(--ink);cursor:pointer;font:inherit;font-size:.9rem;height:48px;outline:none;padding:0 36px 0 14px;transition:border-color .18s ease,background-color .18s ease;width:100%}.mm-select:focus{background-color:var(--surface-input-focus);border-color:var(--accent-primary)}.mm-select option{background:#121212;background:var(--bg-dropdown,#121212);color:var(--ink)}.mm-form{display:flex;flex-direction:column;gap:1rem}.mm-inline-form-grid{gap:.6rem}.mm-inline-row{align-items:center;display:flex;gap:.75rem}.mm-inline-label{color:var(--ink-muted);flex:0 0 120px;font-size:.8rem;text-align:left;white-space:nowrap}.mm-inline-row .mm-input,.mm-inline-row .mm-typeahead{flex:1 1;min-width:0}.mm-form-foot{display:flex;flex-direction:column;gap:.5rem}.mm-required{color:var(--accent-critical)}.mm-muted{color:var(--ink-muted);font-size:.875rem;margin:0}.mm-mt-sm{margin-top:.5rem}.mm-profile{gap:1.25rem}.mm-avatar,.mm-profile{align-items:center;display:flex}.mm-avatar{background:linear-gradient(135deg,#2b6fff,#1a55dd);border-radius:50%;box-shadow:0 6px 18px #2b6fff59;color:#fff;flex-shrink:0;font-size:1.2rem;font-weight:700;height:56px;justify-content:center;letter-spacing:.04em;width:56px}.mm-profile-body{flex:1 1;min-width:0}.mm-profile-name{color:var(--ink-strong);font-size:1.1rem;font-weight:700;margin:0 0 2px}.mm-profile-email{color:var(--ink-muted);font-size:.875rem;margin:0 0 .6rem}.mm-profile-chips{display:flex;flex-wrap:wrap;gap:.4rem}.mm-chip{background:var(--surface-chip);border:1px solid var(--border-subtle);border-radius:999px;color:var(--ink-muted);font-weight:500}.mm-badge,.mm-chip{align-items:center;display:inline-flex;font-size:.78rem;padding:3px 10px;text-transform:capitalize}.mm-badge{border-radius:999px;font-weight:600}.badge-active{background:#21d07a24;border:1px solid #21d07a4d;color:#21d07a}.badge-inactive{background:#8c8c8c1f;border:1px solid var(--border-soft);color:var(--ink-muted)}.badge-warn{background:#f2b94c1f;border:1px solid #f2b94c4d;color:var(--accent-warning)}.badge-info{background:#377aff1f;border:1px solid #377aff40;color:#7ab8ff}.mm-found-pill,.mm-notfound-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:.8rem;font-weight:600;gap:6px;padding:5px 14px;width:fit-content}.mm-found-pill{background:#21d07a1a;border:1px solid #21d07a40;color:var(--accent-positive)}.mm-notfound-pill{background:#f2b94c1a;border:1px solid #f2b94c38;color:var(--accent-warning)}.mm-list{display:flex;flex-direction:column;gap:.6rem;margin-top:.5rem}.mm-list-scroll{max-height:420px;overflow-y:auto;padding-right:.25rem}.mm-list-row{align-items:center;background:var(--bg-block);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);display:flex;gap:1rem;padding:.9rem 1.25rem}.mm-list-main,.mm-list-right{flex:1 1;min-width:0}.mm-list-title{font-size:.9rem;font-weight:600;margin:0 0 3px}.mm-list-course{color:var(--ink);font-size:.875rem;font-weight:500;margin:0 0 3px}.mm-list-meta{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:4px}.mm-unassigned-row{align-items:center;background:var(--bg-block);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);display:flex;gap:1.25rem;padding:.9rem 1.25rem}.mm-unassigned-info{flex:1 1;min-width:0}.mm-unassigned-assign{align-items:center;display:flex;flex-shrink:0;gap:.65rem;min-width:300px}.mm-unassigned-assign .mm-typeahead{flex:1 1;min-width:0}.mm-link-btn{background:none;border:none;color:var(--accent-primary);cursor:pointer;font:inherit;font-size:.8rem;margin-top:.35rem;padding:0;text-decoration:underline}.mm-link-btn:disabled{cursor:not-allowed;opacity:.5;text-decoration:none}.mm-remove-section{border-top:1px solid var(--border-subtle);margin-top:1.25rem;padding-top:1.25rem}.mm-remove-btn{background:none;border:1px solid #dc50504d;border-radius:var(--radius-md);color:#e07070;cursor:pointer;font:inherit;font-size:.82rem;font-weight:500;padding:7px 16px;transition:background .15s,border-color .15s}.mm-remove-btn:hover:not(:disabled){background:#dc505014;border-color:#dc505080}.mm-remove-btn:disabled{cursor:not-allowed;opacity:.4}.mm-remove-confirm{display:flex;flex-direction:column;gap:.85rem}.mm-remove-warn{background:#f2b94c12;border:1px solid #f2b94c33;border-radius:var(--radius-md);color:var(--accent-warning);font-size:.875rem;line-height:1.5;margin:0;padding:.75rem 1rem}.mm-remove-actions{align-items:center;display:flex;gap:.65rem}.mm-danger-btn{background:#dc505026;border:none;border-radius:var(--radius-md);color:#e07070;cursor:pointer;font:inherit;font-size:.875rem;font-weight:600;height:38px;padding:0 1.25rem;transition:background .15s}.mm-danger-btn:hover{background:#dc505040}.mm-dark-btn{align-items:center;background:#ffffff14;border:none;border-radius:var(--radius-md);color:var(--ink);cursor:pointer;display:inline-flex;flex-shrink:0;font:inherit;font-size:.875rem;font-weight:500;gap:.5rem;height:42px;justify-content:center;padding:0 1.25rem;transition:background .15s ease;white-space:nowrap}.mm-dark-btn:hover:not(:disabled){background:#ffffff21}.mm-dark-btn:disabled{cursor:not-allowed;opacity:.4}.mm-refresh-btn{background:#ffffff0f;border:none;border-radius:var(--radius-md);color:var(--ink-muted);cursor:pointer;font:inherit;font-size:.8rem;padding:.4rem .75rem;transition:background .15s,color .15s}.mm-refresh-btn:hover{background:#ffffff1f;color:var(--ink)}.mm-success-banner{align-items:center;background:#21d07a14;border:1px solid #21d07a38;border-radius:var(--radius-lg);color:#21d07a;display:flex;font-size:.9rem;font-weight:500;gap:.85rem;padding:1rem 1.25rem}.mm-success-banner p{flex:1 1;margin:0}.mm-typeahead{display:flex;flex-direction:column;gap:4px;position:relative}.mm-typeahead-input-wrap{align-items:center;background:var(--surface-input);border:1px solid var(--border-soft);border-radius:var(--radius-md);display:flex;overflow:hidden;transition:border-color .18s ease,background .18s ease}.mm-typeahead-input-wrap.focused{background:var(--surface-input-focus);border-color:var(--accent-primary)}.mm-typeahead-input-wrap.has-value{border-color:var(--border-strong)}.mm-typeahead-input{background:none;border:none;color:var(--ink);flex:1 1;font:inherit;font-size:.875rem;height:42px;outline:none;padding:0 12px}.mm-typeahead-input::placeholder{color:var(--ink-muted);opacity:.7}.mm-typeahead-chevron,.mm-typeahead-clear{flex-shrink:0;margin-right:10px}.mm-typeahead-clear{background:none;border:none;border-radius:50%;color:var(--ink-muted);cursor:pointer;display:flex;padding:4px;transition:color .15s}.mm-typeahead-clear:hover{color:var(--ink)}.mm-typeahead-chevron{color:var(--ink-muted);pointer-events:none}.mm-typeahead-dropdown{background:#121212;background:var(--bg-dropdown,#121212);border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-card);left:0;list-style:none;margin:0;max-height:200px;overflow-y:auto;padding:4px 0;position:absolute;right:0;top:calc(100% + 4px);z-index:100}.mm-typeahead-option{cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:9px 14px;transition:background .12s}.mm-typeahead-option:hover{background:var(--surface-subtle)}.mm-typeahead-name{color:var(--ink);font-size:.875rem;font-weight:500}.mm-typeahead-meta{color:var(--ink-muted);font-size:.78rem}.mm-typeahead-empty{color:var(--ink-muted);font-size:.85rem;padding:10px 14px}.mm-loading-dots{align-items:center;display:inline-flex;gap:4px}.mm-loading-dots span{animation:mm-dot-pulse 1.2s ease-in-out infinite;background:currentColor;border-radius:50%;height:5px;opacity:.7;width:5px}.mm-loading-dots span:nth-child(2){animation-delay:.2s}.mm-loading-dots span:nth-child(3){animation-delay:.4s}@keyframes mm-dot-pulse{0%,80%,to{opacity:.4;transform:scale(.7)}40%{opacity:1;transform:scale(1)}}.mm-ops-split{align-items:stretch;display:flex;gap:1.5rem}.mm-ops-split-col{display:flex;flex-direction:column;gap:.75rem;min-width:0}.mm-ops-split-col:first-child,.mm-ops-split-col:last-child{flex-basis:calc(50% - 0.75rem);flex-grow:0;flex-shrink:0}.mm-schedule-card{color:var(--ink);cursor:pointer;font:inherit;text-align:left;transition:background .15s,border-color .15s}.mm-schedule-card:hover{background:#377aff0d;border-color:#377aff4d}.mm-schedule-panel-trigger{align-items:center;display:flex;gap:.85rem;margin-top:auto;padding-top:.75rem}.mm-schedule-panel-icon{align-items:center;background:#377aff1a;border:1px solid #377aff33;border-radius:var(--radius-md);color:#7ab8ff;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.mm-schedule-panel-title{color:var(--ink-strong);flex:1 1;font-size:.875rem;font-weight:600;margin:0}.mm-schedule-panel-arrow{color:var(--ink-muted);flex-shrink:0;transition:color .15s,transform .15s}.mm-schedule-card:hover .mm-schedule-panel-arrow{color:#7ab8ff;transform:translateX(2px)}.mm-panel-grid{align-items:stretch;display:flex;gap:1.5rem}.mm-panel-col{flex:1 1;min-width:0}.mm-panel-col .mm-card{display:flex;flex-direction:column;height:100%}.mm-panel-col .mm-card .mm-list-scroll{flex:1 1}.mm-inline-row--top{align-items:flex-start;padding-top:2px}.mm-inline-row--top .mm-inline-label{padding-top:10px}.mm-inline-row--top .mm-course-multiselect,.mm-inline-row--top .mm-multiselect{flex:1 1;min-width:0}.mm-multiselect{position:relative;width:100%}.mm-multiselect-trigger{align-items:center;background:var(--surface-input);border:1px solid var(--border-soft);border-radius:var(--radius-md);color:var(--ink);cursor:pointer;display:flex;font:inherit;font-size:.9rem;gap:.5rem;justify-content:space-between;min-height:48px;padding:0 12px 0 14px;text-align:left;transition:border-color .18s,background .18s;width:100%}.mm-multiselect-trigger.open,.mm-multiselect-trigger:focus{background:var(--surface-input-focus);border-color:var(--accent-primary);outline:none}.mm-multiselect-placeholder{color:var(--ink-muted);opacity:.7}.mm-multiselect-dropdown{background:#121212;background:var(--bg-dropdown,#121212);border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-card);left:0;list-style:none;margin:0;max-height:220px;overflow-y:auto;padding:4px 0;position:absolute;right:0;top:calc(100% + 4px);z-index:100}.mm-multiselect-option{align-items:center;color:var(--ink);cursor:pointer;display:flex;font-size:.875rem;gap:10px;padding:9px 14px;transition:background .12s}.mm-multiselect-option:hover{background:var(--surface-subtle)}.mm-multiselect-option.checked{background:#377aff0f}.mm-checkbox{align-items:center;background:#0000;border:1.5px solid var(--border-soft);border-radius:4px;display:flex;flex-shrink:0;height:16px;justify-content:center;transition:background .12s,border-color .12s;width:16px}.mm-checkbox.checked{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.mm-course-multiselect{display:flex;flex-direction:column;gap:6px;position:relative;width:100%}.mm-course-chips{display:flex;flex-wrap:wrap;gap:6px}.mm-course-chip{align-items:center;background:#377aff1f;border:1px solid #377aff40;border-radius:999px;color:#7ab8ff;display:inline-flex;font-size:.78rem;font-weight:500;gap:5px;max-width:100%;padding:3px 8px 3px 10px}.mm-course-chip-remove{background:none;border:none;border-radius:50%;color:#7ab8ff;cursor:pointer;display:flex;flex-shrink:0;opacity:.7;padding:1px;transition:opacity .12s}.mm-course-chip-remove:hover{opacity:1}@media (max-width:860px){.mm-unassigned-assign{align-items:stretch;flex-direction:column;min-width:0}.mm-ops-split,.mm-panel-grid{flex-direction:column}.mm-ops-split-col{flex:none;width:100%}}@media (max-width:640px){.mm-card{padding:1.25rem}.mm-search-row{flex-wrap:wrap}.mm-search-field{flex-basis:100%;width:100%}.mm-search-status-row{width:100%}.mm-unassigned-row{align-items:stretch;flex-direction:column}.mm-list-row{flex-direction:column}.mm-list-meta,.mm-list-row{align-items:flex-start}}@media (max-width:480px){.mm-card{padding:1rem}.mm-inline-row{align-items:stretch;flex-direction:column;gap:.35rem}.mm-inline-label{flex:none;white-space:normal;width:100%}.mm-inline-row--top{align-items:stretch}.mm-inline-row--top .mm-inline-label{padding-top:0}.mm-inline-row .mm-input,.mm-inline-row .mm-typeahead{width:100%}}.admin-workspace-page{color:var(--ink);display:flex;flex-direction:column;gap:1.5rem}.aw-panel-grid{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}@media (max-width:860px){.aw-panel-grid{grid-template-columns:1fr}}@media (max-width:640px){.aw-card{padding:1.25rem}.aw-field-row{grid-template-columns:1fr}}@media (max-width:480px){.aw-card{padding:1rem}.aw-role-selector{flex-direction:column}.aw-role-pill{flex:none;width:100%}.aw-staff-row{flex-wrap:wrap;gap:.6rem}.aw-staff-actions,.aw-staff-badges{width:100%}}.aw-panel-col{display:flex;flex-direction:column;gap:1.5rem}.aw-card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:1.6rem 2rem}.aw-card-head{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.2rem}.aw-form{display:flex;flex-direction:column;gap:1rem;margin-top:1.2rem}.aw-field-row{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr}.aw-field{display:flex;flex-direction:column;gap:.35rem}.aw-label{color:var(--ink-muted);font-size:.8rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.aw-required{color:#6366f1;color:var(--accent,#6366f1)}.aw-input{background:var(--bg-block);background:var(--input-bg,var(--bg-block));border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius-md,8px);box-sizing:border-box;color:var(--ink);font-family:inherit;font-size:.9rem;padding:.6rem .85rem;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.aw-input:focus{border-color:#6366f1;border-color:var(--accent,#6366f1);box-shadow:0 0 0 3px #6366f126;outline:none}.aw-role-selector{display:flex;flex-wrap:wrap;gap:.6rem}.aw-role-pill{align-items:flex-start;background:var(--bg-block);border:1.5px solid var(--border-subtle);border-radius:10px;border-radius:var(--radius-lg,10px);cursor:pointer;display:flex;flex:1 1 auto;flex-direction:column;font-family:inherit;gap:.15rem;padding:.65rem 1rem;text-align:left;transition:border-color .15s ease,background .15s ease}.aw-role-pill:hover{background:#6366f10d}.aw-role-pill.active,.aw-role-pill:hover{border-color:#6366f1;border-color:var(--accent,#6366f1)}.aw-role-pill.active{background:#6366f11a}.aw-role-label{color:var(--ink);font-size:.85rem;font-weight:600}.aw-role-pill.active .aw-role-label{color:#6366f1;color:var(--accent,#6366f1)}.aw-role-desc{color:var(--ink-muted);font-size:.72rem}.aw-primary-btn{align-items:center;align-self:flex-start;background:#6366f1;background:var(--accent,#6366f1);border:none;border-radius:8px;border-radius:var(--radius-md,8px);color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.9rem;font-weight:600;gap:.4rem;justify-content:center;padding:.7rem 1.5rem;transition:opacity .15s ease}.aw-primary-btn:hover:not(:disabled){opacity:.88}.aw-primary-btn:disabled{cursor:not-allowed;opacity:.45}.aw-success-banner{align-items:flex-start;background:#22c55e14;border:1px solid #22c55e40;border-radius:10px;border-radius:var(--radius-lg,10px);color:var(--ink);display:flex;gap:.85rem;margin-top:1.2rem;padding:1rem 1.2rem}.aw-success-banner>svg{color:#22c55e;flex-shrink:0;margin-top:2px}.aw-success-body{flex:1 1}.aw-success-title{font-size:.9rem;font-weight:600;margin:0 0 .2rem}.aw-success-sub{color:var(--ink-muted);font-size:.82rem;margin:0}.aw-filter-tabs{border-bottom:1px solid var(--border-subtle);display:flex;gap:.25rem;margin-bottom:1rem;padding-bottom:0}.aw-filter-tab{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:var(--ink-muted);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.82rem;font-weight:500;gap:.35rem;margin-bottom:-1px;padding:.45rem .85rem;transition:color .15s ease,border-color .15s ease}.aw-filter-tab:hover{color:var(--ink)}.aw-filter-tab.active{border-bottom-color:#6366f1;border-bottom-color:var(--accent,#6366f1);color:var(--ink);font-weight:600}.aw-tab-count{background:var(--bg-block);border:1px solid var(--border-subtle);border-radius:999px;color:var(--ink-muted);font-size:.72rem;font-weight:600;min-width:18px;padding:.05rem .4rem;text-align:center}.aw-filter-tab.active .aw-tab-count{background:#6366f11f;border-color:#6366f140;color:#6366f1;color:var(--accent,#6366f1)}.aw-staff-list{display:flex;flex-direction:column;gap:.1rem}.aw-staff-row{align-items:center;border-radius:8px;border-radius:var(--radius-md,8px);display:flex;gap:.85rem;padding:.7rem .5rem;transition:background .12s ease}.aw-staff-row:hover{background:var(--bg-block)}.aw-avatar{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:.75rem;font-weight:700;height:36px;justify-content:center;letter-spacing:.03em;width:36px}.aw-avatar--admin{background:#6366f12e;color:#818cf8}.aw-avatar--sales{background:#f59e0b2e;color:#fbbf24}.aw-avatar--mentor-lead{background:#a855f72e;color:#c084fc}.aw-avatar--teacher{background:#22c55e26;color:#4ade80}.aw-staff-info{flex:1 1;min-width:0}.aw-staff-name{color:var(--ink);font-size:.88rem;font-weight:600}.aw-staff-email,.aw-staff-name{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aw-staff-email{color:var(--ink-muted);font-size:.78rem}.aw-staff-badges{align-items:center;display:flex;flex-shrink:0;gap:.4rem}.aw-role-badge{border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.03em;padding:.18rem .55rem}.aw-role-badge--admin{background:#6366f124;color:#818cf8}.aw-role-badge--sales{background:#f59e0b24;color:#fbbf24}.aw-role-badge--mentor-lead{background:#a855f724;color:#c084fc}.aw-role-badge--teacher{background:#22c55e1f;color:#4ade80}.aw-pending-badge{background:#fb923c26;border-radius:999px;color:#fb923c;font-size:.7rem;font-weight:600;letter-spacing:.02em;padding:.18rem .5rem}.aw-staff-actions{flex-shrink:0}.aw-link-btn{background:none;border:none;color:var(--ink-muted);cursor:pointer;font-family:inherit;font-size:.78rem;font-weight:500;padding:0;text-decoration:underline;text-decoration-color:#0000;text-underline-offset:3px;transition:color .15s ease,text-decoration-color .15s ease;white-space:nowrap}.aw-link-btn:hover:not(:disabled){color:var(--ink);text-decoration-color:initial}.aw-link-btn:disabled{cursor:not-allowed;opacity:.5}.aw-resent-text{color:#22c55e;font-size:.78rem;font-weight:500}.aw-muted{color:var(--ink-muted);font-size:.85rem;margin:.5rem 0}.aw-pending-note{color:#fb923c;font-size:.78rem;margin:.15rem 0 0}.aw-refresh-btn{background:none;border:1px solid var(--border-subtle);border-radius:999px;color:var(--ink-muted);cursor:pointer;font-family:inherit;font-size:.78rem;padding:.3rem .75rem;transition:color .15s ease,border-color .15s ease;white-space:nowrap}.aw-refresh-btn:hover:not(:disabled){border-color:var(--ink-muted);color:var(--ink)}.aw-refresh-btn:disabled{cursor:not-allowed;opacity:.4}.aw-loading-dots{align-items:center;display:inline-flex;gap:3px}.aw-loading-dots span{animation:aw-dot-pulse 1.2s ease-in-out infinite;background:currentColor;border-radius:50%;height:5px;width:5px}.aw-loading-dots span:nth-child(2){animation-delay:.2s}.aw-loading-dots span:nth-child(3){animation-delay:.4s}@keyframes aw-dot-pulse{0%,80%,to{opacity:.25;transform:scale(.85)}40%{opacity:1;transform:scale(1)}}.fc-overlay{align-items:center;animation:pp-fade .18s ease;backdrop-filter:blur(14px) saturate(.7);-webkit-backdrop-filter:blur(14px) saturate(.7);background:#000000ad;display:flex;inset:0;justify-content:center;padding:1.5rem;position:fixed;z-index:900}.fc-modal{animation:pp-rise .26s cubic-bezier(.22,1,.36,1);background:#141414;background:var(--bg-tile,#141414);border:1px solid #ffffff17;border-radius:1.5rem;box-shadow:0 32px 80px #000000b3,inset 0 0 0 1px #ffffff0a;color:var(--ink);display:flex;flex-direction:column;gap:1.25rem;padding:1.75rem;width:min(560px,94vw)}.fc-header{justify-content:space-between}.fc-header,.fc-title-row{align-items:center;display:flex}.fc-title-row{gap:.55rem}.fc-icon{font-size:1.35rem;line-height:1}.fc-title{font-size:1.1rem;font-weight:600;margin:0}.fc-close{background:none;border:none;border-radius:.6rem;color:#f5f7fb8c;color:var(--ink-muted,#f5f7fb8c);cursor:pointer;font-size:.95rem;height:32px;transition:color .15s ease,background .15s ease;width:32px}.fc-close:hover{background:#ffffff14;color:#f5f7fb;color:var(--ink,#f5f7fb)}.fc-progress-row{align-items:center;display:flex;gap:.75rem}.fc-progress-bar{background:#ffffff14;border-radius:2px;flex:1 1;height:4px;overflow:hidden}.fc-progress-fill{background:#818cf8;background:var(--accent,#818cf8);border-radius:2px;height:100%;transition:width .3s ease}.fc-progress-label{color:var(--ink-muted);font-size:.78rem;min-width:2.8rem;text-align:right;white-space:nowrap}.fc-card-wrap{cursor:pointer;height:240px;perspective:1000px}.fc-card{border-radius:1.1rem;height:100%;position:relative;transform-style:preserve-3d;transition:transform .45s cubic-bezier(.22,1,.36,1);width:100%}.fc-card--flipped{transform:rotateY(180deg)}.fc-face{backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1px solid #ffffff17;border-radius:1.1rem;display:flex;flex-direction:column;inset:0;justify-content:center;padding:1.5rem;position:absolute}.fc-face--front{align-items:center;background:#ffffff0a;background:var(--surface-chip,#ffffff0a);gap:.6rem;text-align:center}.fc-subject-badge{border-radius:999px;display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.1em;padding:.2rem .65rem;text-transform:uppercase}.fc-subject-badge--Science{background:#34d39926;color:#34d399}.fc-subject-badge--Math{background:#818cf826;color:#818cf8}.fc-term{font-size:clamp(1.5rem,4vw,2.1rem);font-weight:700;line-height:1.15;margin:0}.fc-flip-hint{color:var(--ink-muted);font-size:.78rem;margin:.2rem 0 0}.fc-face--back{background:#ffffff0a;background:var(--surface-chip,#ffffff0a);gap:.75rem;transform:rotateY(180deg)}.fc-back-badge-row{align-items:center;display:flex;justify-content:space-between}.fc-back-label{color:var(--ink-muted);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.fc-definition{font-size:.97rem;line-height:1.55;margin:0}.fc-fun-fact{border-top:1px solid #ffffff12;color:var(--ink-muted);font-size:.84rem;line-height:1.5;margin:0;padding-top:.6rem}.fc-fun-fact-label{color:#f59e0b;font-weight:600}.fc-nav{gap:.75rem;justify-content:space-between}.fc-nav,.fc-nav-btn{align-items:center;display:flex}.fc-nav-btn{background:#ffffff0f;border:1px solid #ffffff17;border-radius:.65rem;color:#f5f7fb;color:var(--ink,#f5f7fb);cursor:pointer;font-size:.88rem;font-weight:500;gap:.4rem;padding:.5rem 1.1rem;transition:background .15s ease}.fc-nav-btn:hover:not(:disabled){background:#ffffff1c}.fc-nav-btn:disabled{cursor:default;opacity:.3}.fc-flip-btn{background:#818cf8;background:var(--accent,#818cf8);border:none;border-radius:.65rem;color:#fff;cursor:pointer;font-size:.88rem;font-weight:600;padding:.5rem 1.4rem;transition:opacity .15s ease}.fc-flip-btn:hover{opacity:.88}.fc-shuffle-btn{align-items:center;background:none;border:none;border-radius:.5rem;color:var(--ink-muted);cursor:pointer;display:flex;font-size:.8rem;gap:.35rem;padding:.25rem .5rem;transition:color .15s ease,background .15s ease}.fc-shuffle-btn:hover{background:#ffffff0f;color:#f5f7fb;color:var(--ink,#f5f7fb)}.fc-complete{align-items:center;display:flex;flex-direction:column;gap:.9rem;padding:1rem 0;text-align:center}.fc-complete-emoji{font-size:3rem;line-height:1}.fc-complete-heading{font-size:1.35rem;font-weight:700;margin:0}.fc-complete-sub{color:var(--ink-muted);font-size:.95rem;margin:0}.fc-restart-btn{background:#818cf8;background:var(--accent,#818cf8);border:none;border-radius:.65rem;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;margin-top:.5rem;padding:.6rem 2rem;transition:opacity .15s ease}.fc-restart-btn:hover{opacity:.88}
/*# sourceMappingURL=main.3c842bbd.css.map*/