:root{--font-sans: "Aptos", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--brand: #FFCBCD;--accent: #F1EFDE;--bg: #CFEAFF;--text: #0F172A;--text-muted: #5B6671;--tag: #F7F3D8;--border: #E5E7EB;--hover: #FFFEFA;--hover-halo: rgba(15, 23, 42, .3);--selected: #FFDDDF;--danger: #DC2626;--success: #059669;--chatbot-primary: #FF6FA3;--chatbot-secondary: #FFCBCD;--chatbot-bg: #ffffff;--chatbot-text: #0F172A;--chatbot-border: #E5E7EB;--chatbot-shadow: rgba(15, 23, 42, .1);--chatbot-user-bg: #FFE3EE;--chatbot-bot-bg: #F8FAFC}@font-face{font-family:OpenDyslexic;src:url(/assets/OpenDyslexic-Regular-nUhe5EwG.woff2) format("woff2"),url(/assets/OpenDyslexic-Regular-Cv3YY6GF.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:OpenDyslexic;src:url(/assets/OpenDyslexic-Italic-sb4Uqald.woff2) format("woff2"),url(/assets/OpenDyslexic-Italic-CgRVdIOb.woff) format("woff");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:OpenDyslexic;src:url(/assets/OpenDyslexic-Bold-Bnmt45Ln.woff2) format("woff2"),url(/assets/OpenDyslexic-Bold-wYUJcbXi.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:OpenDyslexic;src:url(/assets/OpenDyslexic-Bold-Italic-DeGJE8Fr.woff2) format("woff2"),url(/assets/OpenDyslexic-Bold-Italic-YI-PfiH4.woff) format("woff");font-weight:700;font-style:italic;font-display:swap}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}::view-transition-old(root),::view-transition-new(root){animation-duration:.32s;animation-timing-function:cubic-bezier(.2,.7,.2,1)}::view-transition-old(root){animation-name:page-fade-out}::view-transition-new(root){animation-name:page-fade-in}.app-route-shell{min-height:100%}.app-route-shell.is-entering{animation:app-route-shell-enter .24s cubic-bezier(.2,.8,.2,1)}@keyframes app-route-shell-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}img{max-width:100%;height:auto;display:block}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}button,.btn{touch-action:manipulation}.container{max-width:1100px;margin:24px auto;padding:0 12px}.card{background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden}.card-header{padding:14px 16px;border-bottom:1px solid var(--border);background:#fff}.card-body{padding:14px 16px}.btn{padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--brand);color:#0f172a;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:box-shadow .15s,background-color .15s,border-color .15s,color .15s}.btn:hover{background:#fff;box-shadow:0 0 0 3px var(--hover-halo);border-color:transparent;color:var(--text)}.btn:disabled{opacity:.55;pointer-events:none}.btn.ghost{background:#fff;color:var(--text);border:1px solid var(--border)}.btn.secondary{background:var(--accent);border-color:var(--accent);color:#0f172a}.history-nav-group{display:inline-flex;align-items:center;gap:6px}.history-nav-btn{min-width:42px;padding-inline:10px;justify-content:center}.history-nav-glyph{display:block;font-size:22px;line-height:1}.history-nav-btn:disabled{opacity:.5;box-shadow:none;cursor:not-allowed}.tag{background:var(--tag);color:#0f172a;border:1px solid rgba(0,0,0,.06);border-radius:999px;padding:6px 10px;font-size:12px}input:focus,textarea:focus,select:focus{outline:none;border-color:#cbd5e1;box-shadow:0 0 0 3px var(--hover-halo)}.site-header{display:flex;align-items:center;justify-content:center;height:64px;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--bg)}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none}.brand-name{font-weight:700;letter-spacing:.02em;color:var(--text)}.page-subtitle{text-align:center;color:var(--text-muted);font-weight:600;padding:8px 0 14px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-top:12px}.empty{padding:20px;text-align:center;color:#64748b}.select,.search{border:1px solid var(--border);border-radius:10px;background:#fff;padding:10px 12px;font-size:14px}.status-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:#fff;color:#334155}.landing-page{--landing-primary: #2a63e8;--landing-primary-dark: #1e4fd4;--landing-text: #1f2937;--landing-muted: #64748b;--landing-chip-bg: rgba(242, 246, 255, .88);--landing-chip-border: #d3dbe8;display:flex;flex-direction:column;gap:14px;font-family:var(--font-sans);width:min(920px,100%);margin:18px auto 56px;padding:0 10px 24px;background:transparent;border:none;box-shadow:none}.landing-topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.landing-top-left,.landing-top-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.landing-students{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:6px 12px;border:1px solid var(--landing-chip-border);border-radius:999px;background:var(--landing-chip-bg);box-shadow:0 6px 14px #0f172a0d}.landing-students-label{font-size:12px;color:#5f6f86;font-weight:700}.avatar-stack{display:inline-flex;align-items:center}.avatar{width:22px;height:22px;border-radius:999px;border:2px solid #fff;margin-left:-6px;background:var(--accent)}.avatar:first-child{margin-left:0}.landing-tools-bar .card-body{padding:10px 12px}.landing-admin-btn,.landing-logout-btn{min-height:34px;padding:7px 14px;border-radius:999px;font-size:12px}.landing-hero{display:grid;grid-template-columns:88px 1fr;gap:16px;padding:18px 22px;align-items:center;background:#e9eef8;border-color:#d4deed;box-shadow:0 10px 24px #0f172a12}.landing-hero-media{display:flex;justify-content:center}.landing-hero-badge{position:relative;width:74px;height:74px;border-radius:16px;background:linear-gradient(145deg,#f5ebba,#d3e3c7);border:1px solid #d7dabf;box-shadow:0 8px 18px #0f172a17}.landing-hero-bug{position:absolute;width:52px;height:52px}.landing-hero-bug-left{left:-9px;top:-7px}.landing-hero-bug-right{right:-8px;bottom:-8px}.landing-hero-copy h1{margin:0;color:var(--landing-text);font-size:clamp(28px,4vw,40px);line-height:1.08;letter-spacing:-.02em}.landing-hero-copy .page-subtitle{text-align:left;margin:8px 0 0;padding:0;color:#5f6f86;font-size:18px;font-weight:500}.landing-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.landing-page .card{border-radius:24px;border:1px solid #d4deed;background:#edf1f8;box-shadow:0 10px 24px #0f172a0f}.landing-page .card-header{border-bottom:none;background:transparent;text-align:center;padding:18px 20px 8px;color:#334155}.landing-lesson-body{display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;padding:6px 22px 24px}.landing-lesson{background:linear-gradient(180deg,#ece3eb,#e7edf7);border-color:#d8dbe8}.landing-progress-preview{position:relative;display:block;width:min(460px,100%);aspect-ratio:16 / 9;border-radius:12px;border:3px solid rgba(255,255,255,.72);background:linear-gradient(180deg,#082f4942,#00000073),url(https://lh3.googleusercontent.com/aida-public/AB6AXuA86JCg4012ZYcOCFJNSjZm2jCBW4uEEcmm2HlGiP9rscwEAN51tySMQgSAxT_Yw3VaiSF-1MsBI2srC5nyLxJ5lrcsAaVSzbDmOb09KuuxIluPXgZxeeiaaNUQJTypBM86Rsu4K90ZGMbIo37unt8zp1ZrjO0VerltXoHlPcWZZlhU-j62ooDgC_fj7wjK5-wqfwtLZ_0-FrHTo2lphPqxnUskjAKeKdM_XSAsr2Ub6QkPKYtGF8Yrv2bc5DL3O7K09bTxIglz) center / cover no-repeat;box-shadow:0 14px 26px #0f172a24;text-decoration:none;overflow:hidden}.landing-progress-preview-paths{position:absolute;inset:0;width:100%;height:100%}.landing-progress-preview-paths path{fill:none;stroke:#bfdbfecc;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.landing-progress-node{position:absolute;display:grid;place-items:center;color:#e2e8f0;font-weight:700}.landing-progress-node-main{left:50%;top:50%;transform:translate(-50%,-44%);gap:6px}.landing-progress-node-main strong{font-size:11px;text-align:center;width:min(260px,90%);text-shadow:0 2px 8px rgba(2,6,23,.75)}.landing-progress-ring{--progress: 0%;width:94px;height:94px;border-radius:999px;display:grid;place-items:center;background:radial-gradient(closest-side,rgba(15,23,42,.65) 72%,transparent 74% 100%),conic-gradient(#60a5fa var(--progress),rgba(226,232,240,.32) 0);box-shadow:0 8px 18px #0f172a5c}.landing-progress-ring span{color:#eff6ff;font-size:21px}.landing-progress-node-quiz,.landing-progress-node-vocab{width:46px;height:46px;border-radius:999px;border:2px solid #dbeafe;background:#eff6ffe6;color:#1d4ed8;font-size:11px;box-shadow:0 8px 18px #0f172a38}.landing-progress-node-quiz{left:24px;top:18px}.landing-progress-node-vocab{right:24px;top:18px}.landing-lesson-copy{max-width:620px}.landing-lesson-copy .status-badge{background:#ffffffb8;border-color:#d5ddea;color:#64748b;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.landing-lesson-copy h2{margin:8px 0 6px;font-size:clamp(30px,3.8vw,40px);line-height:1.1;letter-spacing:-.02em;color:#1e293b}.landing-lesson-copy p{margin:0 0 8px;color:#64748b;font-size:13px}.landing-lesson-copy .btn{margin:4px 4px 0}.landing-modules .page-subtitle{text-align:left;padding:0 0 12px;color:#6b7280;font-size:13px}.landing-modules .card-header{text-align:left;padding:20px 20px 4px}.landing-modules{background:#f7f8fa;border-color:#dde4ef}.landing-modules .card-body{padding:0 20px 20px}.landing-module{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #e3e8f1;border-radius:14px;background:#fff;margin-bottom:10px;box-shadow:0 6px 14px #0f172a0a}.landing-module h3{margin:0 0 4px;font-size:16px}.landing-module h4{margin:0 0 4px;font-size:16px;color:#334155}.landing-module p{margin:0;color:#8b95a7;font-size:12px}.landing-package h3{margin:0;font-size:25px;letter-spacing:-.01em}.landing-module-actions{display:inline-flex;align-items:center;gap:8px}.landing-module-status{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:4px 10px;border-radius:999px;border:1px solid #d1d5db;font-size:11px;font-weight:700;white-space:nowrap}.landing-module-status.is-active{color:#1d4ed8;border-color:#bfdbfe;background:#dbeafe}.landing-module-status.is-complete{color:#047857;border-color:#bbf7d0;background:#dcfce7}.landing-module-status.is-available{color:#15803d;border-color:#bbf7d0;background:#dcfce7}.landing-module-open{min-height:30px;padding:6px 12px;border-radius:999px;font-size:12px}.landing-module.disabled{opacity:.7}.landing-shortcuts-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.landing-shortcut-link{min-height:34px;padding:7px 12px;border-radius:999px;font-size:12px}.landing-footer-body{display:grid;justify-items:center;gap:10px;text-align:center;padding:4px 0 0}.landing-footer-body p{margin:0;color:#6b7280;font-size:13px}.landing-footer{border:none;box-shadow:none;background:transparent}.landing-footer .card-body{padding:2px 0 0}.landing-page .btn{background:linear-gradient(180deg,var(--landing-primary) 0%,var(--landing-primary-dark) 100%);color:#fff;border-color:transparent;border-radius:999px;min-height:38px;padding:8px 16px;font-size:13px;box-shadow:0 10px 18px #2563eb47}.landing-page .btn:hover{background:linear-gradient(180deg,#1f58de,#1b4ac4);box-shadow:0 12px 20px #1d4ed84d;border-color:transparent;color:#fff}.landing-page .btn.secondary{background:var(--landing-chip-bg);color:#475569;border-color:var(--landing-chip-border);box-shadow:0 4px 10px #0f172a0a}.landing-page .btn.ghost{background:#f8fafc;border-color:#d7dfea;color:#4b5563;box-shadow:none}.landing-page .tag{min-height:34px;display:inline-flex;align-items:center;background:var(--landing-chip-bg);border-color:var(--landing-chip-border);color:#5f6f86;font-size:12px;font-weight:700}.landing-tools-bar{background:#f8faffcc;border-color:#d6ddeb}.landing-tools-bar .btn.secondary{background:#f8faff}.landing-tools-bar .btn.secondary:hover{background:#eef4ff;color:#334155}@media(min-width:768px)and (max-width:1024px){.container{max-width:960px;margin:20px auto;padding:0 20px}.landing-hero{grid-template-columns:94px 1fr}.landing-lesson-body{padding-inline:28px}.dashboard-layout{grid-template-columns:minmax(280px,320px) 1fr}.dashboard-nav{top:12px}}@media(pointer:coarse){button,.btn,.dashboard-nav-item,.dashboard-next{min-height:44px}}@media(max-width:720px){.landing-page{padding:0 6px 20px;margin-top:12px}.landing-topbar{justify-content:flex-start}.landing-hero{grid-template-columns:1fr;text-align:center;justify-items:center}.landing-hero-copy .page-subtitle{text-align:center;font-size:15px}.landing-hero-copy h1{font-size:29px}.landing-module{flex-direction:column;align-items:flex-start}.landing-module-actions{width:100%;justify-content:space-between}}.progress-map-shell{position:relative;height:calc(100vh - 20px);padding:18px 18px 18px 98px;background:radial-gradient(circle at top left,rgba(34,197,94,.09),transparent 42%),radial-gradient(circle at 86% 12%,rgba(251,191,36,.1),transparent 40%),linear-gradient(180deg,#fff1ea,#f8e8de);overflow:hidden}.progress-map-page{position:relative;height:calc(100vh - 36px);border:1px solid #d3e6df;border-radius:28px;background:#f7e6da;box-shadow:0 22px 50px #0f172a14;overflow:hidden}.progress-map-rail{position:absolute;left:18px;top:50%;transform:translateY(-50%);width:68px;border-radius:999px;border:1px solid rgba(16,185,129,.24);background:#055639eb;padding:16px 8px;display:flex;flex-direction:column;gap:10px;z-index:4}.progress-map-rail-item{text-decoration:none;color:#d1fae5;font-size:11px;text-align:center;border-radius:999px;padding:10px 6px}.progress-map-rail-item.is-active{color:#052e16;background:#22c55e;font-weight:700}.progress-map-header{position:absolute;z-index:3;left:16px;right:16px;top:16px;border-radius:22px;border:1px solid rgba(16,185,129,.28);background:#f0fdfaf2;padding:12px 16px;display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,280px) auto;gap:16px;align-items:center}.progress-map-user{display:inline-flex;align-items:center;gap:12px}.progress-map-avatar{width:44px;height:44px;border-radius:999px;background:linear-gradient(180deg,#34d399,#22c55e);color:#064e3b;border:2px solid #fff;font-weight:700;display:grid;place-items:center}.progress-map-user-copy h1{margin:0;color:#0f172a;font-size:27px;line-height:1}.progress-map-user-copy p{margin:4px 0 0;color:#047857;font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:700}.progress-map-stat-label{display:block;font-size:11px;color:#475569;text-transform:uppercase;letter-spacing:.1em}.progress-map-stat strong{display:block;font-size:28px;line-height:1;color:#0f172a}.progress-map-overall-track{margin-top:6px;width:100%;height:8px;border-radius:999px;background:#d1d5db;overflow:hidden}.progress-map-overall-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#16a34a,#22c55e)}.progress-map-back-btn.btn.secondary{background:#fff;border-color:#b7dfd3;color:#14532d}.progress-map-stage{position:relative;height:calc(100vh - 36px);padding-top:90px;cursor:grab;overflow:hidden;touch-action:none}.progress-map-stage.is-panning{cursor:grabbing}.progress-map-canvas{position:absolute;left:50%;top:0;width:1200px;height:1700px;margin-left:-600px}.progress-map-paths{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.map-path{fill:none;stroke:#16a34a80;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.map-path.is-main{stroke-dasharray:none}.map-path.is-locked{stroke:#94a3b873}.map-node{position:absolute;transform:translate(-50%);width:290px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;overflow:visible}.map-node h2{margin:0;font-size:24px;color:#0f172a}.map-node p{margin:0;color:#166534;font-size:12px}.map-node.is-locked h2{color:#475569}.map-node.is-locked p{color:#64748b}.map-node-core{width:120px;height:120px;border-radius:999px;border:none;background:#ecfdf5;position:relative;display:grid;place-items:center;z-index:5;overflow:visible}button.map-node-core{cursor:pointer}.map-node-core.is-module{box-shadow:0 10px 24px #16a34a33}.map-node-core.is-intro{border:4px solid #22c55e}.map-node-core.is-locked{border:4px solid #94a3b8;border-color:#94a3b8;background:#f1f5f9;box-shadow:none}.tree-progress-ring{--progress: 0%;width:100%;height:100%;border-radius:999px;background:radial-gradient(closest-side,#ecfdf5 82%,transparent 84% 100%),conic-gradient(#16a34a var(--progress),#d1fae5 0)}.map-node-core .tree-progress-ring{position:absolute;inset:0}.map-node-core.is-locked .tree-progress-ring{background:radial-gradient(closest-side,#f1f5f9 82%,transparent 84% 100%),conic-gradient(#cbd5e1 100%,#e2e8f0 0)}.map-node-core-label{position:absolute;font-size:17px;font-weight:700;color:#166534}.map-node-lock{font-size:12px;color:#475569;font-weight:700}.map-node-requirement{margin-top:2px;font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#64748b}.map-node-branches{margin-top:0;width:520px;height:240px;display:block;position:absolute;left:50%;top:-170px;transform:translate(-50%);padding-top:0;pointer-events:none;z-index:1}.map-node-branch-paths{position:relative;width:100%;height:100%;overflow:visible;pointer-events:none}.map-node-branch-paths path{fill:none;stroke:#16a34a94;stroke-width:2;stroke-dasharray:6 6;stroke-linecap:round;stroke-linejoin:round;opacity:.92}.map-node-branches.is-locked .map-node-branch-paths path{stroke:#94a3b899}.branch-node{position:absolute;display:inline-flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none;width:120px;font-size:10px;color:#14532d;z-index:2;pointer-events:auto}.branch-node-ring{--progress: 0%;width:60px;height:60px;border-radius:999px;background:radial-gradient(closest-side,#ecfdf5 68%,transparent 72% 100%),conic-gradient(#16a34a var(--progress),#d1fae5 0);border:1px solid #86efac}.branch-node-label{font-size:12px;color:#14532d;font-weight:600}.branch-node-value{font-size:12px;color:#166534}.branch-node.is-disabled .branch-node-ring{background:radial-gradient(closest-side,#f1f5f9 68%,transparent 72% 100%),conic-gradient(#94a3b8 100%,#e2e8f0 0);border-color:#cbd5e1}.branch-node.is-disabled .branch-node-label,.branch-node.is-disabled .branch-node-value{color:#64748b}.module-modal-overlay{position:fixed;inset:0;z-index:50;background:#0f172a61;display:grid;place-items:center;padding:24px}.confirm-modal-overlay{position:fixed;inset:0;z-index:55;background:#0f172a66;display:grid;place-items:center;padding:24px}.confirm-modal{width:min(520px,100%);border-radius:20px;border:1px solid #d1e7de;background:linear-gradient(180deg,#f9fdfc,#eef8f5);box-shadow:0 22px 48px #0f172a38;padding:22px;animation:module-modal-in .26s cubic-bezier(.2,.8,.2,1)}.confirm-modal header h2{margin:0 0 6px;font-size:26px}.confirm-modal header p{margin:0;color:#166534}.confirm-modal-actions{margin-top:20px;display:flex;justify-content:flex-end;gap:12px}.module-modal{width:min(1100px,100%);max-height:min(90vh,920px);overflow:auto;border-radius:24px;border:1px solid #d1e7de;background:linear-gradient(180deg,#f9fdfc,#eef8f5);box-shadow:0 26px 60px #0f172a40;padding:24px;animation:module-modal-in .32s cubic-bezier(.2,.8,.2,1)}@keyframes module-modal-in{0%{opacity:0;transform:translateY(28px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.module-modal-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.module-modal-header h2{margin:0;font-size:30px}.module-modal-header p{margin:4px 0 0;color:#166534}.module-modal-close{border:1px solid #b7dfd3;background:#fff;border-radius:10px;padding:8px 12px}.module-modal-summary,.module-modal-days{margin-top:14px;border:1px solid #d1e7de;border-radius:14px;background:#fff;padding:14px}.module-modal-hero{margin-top:14px;border:1px solid #b7dfd3;border-radius:18px;background:linear-gradient(135deg,#dcfce7,#f0fdf4);display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;align-items:center;padding:16px}.module-modal-hero-ring{width:110px;height:110px;border-radius:999px;border:6px solid #16a34a;display:grid;place-items:center;color:#166534;font-size:28px;font-weight:700;background:#ecfdf5}.module-modal-hero-copy h3{margin:0 0 6px;font-size:26px}.module-modal-hero-copy p{margin:0;color:#334155}.module-modal-highlights{margin-top:14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.module-modal-highlights article{border:1px solid #cfe9df;border-radius:12px;background:#fff;padding:12px}.module-modal-highlights span{display:block;font-size:11px;color:#64748b;text-transform:uppercase;letter-spacing:.08em}.module-modal-highlights strong{display:block;margin-top:4px;font-size:26px;color:#14532d}.module-modal-summary h3,.module-modal-days h3{margin:0 0 8px}.module-modal-summary p{margin:0;color:#334155}.module-modal-days ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}.module-modal-days li{display:grid;grid-template-columns:60px 1fr auto auto;gap:10px;align-items:center}.module-modal-day-track{width:100%;height:8px;border-radius:999px;background:#d1d5db;overflow:hidden}.module-modal-day-fill{height:100%;background:linear-gradient(90deg,#16a34a,#22c55e)}.module-modal-days em{color:#64748b;font-style:normal;font-size:12px}.module-modal-footer{margin-top:14px;display:flex;justify-content:flex-end}@media(max-width:860px){.module-modal{width:min(100%,98vw);padding:16px}.module-modal-hero{grid-template-columns:1fr;justify-items:center;text-align:center}.module-modal-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1180px){.progress-map-shell{padding-left:18px}.progress-map-rail{display:none}}@media(max-width:960px){.progress-map-page{height:auto}.progress-map-header{position:static;margin:12px;grid-template-columns:1fr;border-radius:18px}.progress-map-stage{height:auto;padding:16px;overflow:auto;cursor:default;touch-action:auto}.progress-map-stage.is-panning{cursor:default}.progress-map-canvas{position:static;left:auto;top:auto;transform:none!important;margin:0;width:100%;height:auto;display:flex;flex-direction:column;gap:14px}.progress-map-paths{display:none}.map-node{position:static;transform:none;width:100%;border:1px solid #d1e7de;border-radius:16px;padding:14px 10px;background:#ffffffdb}.map-node-branches{position:relative;left:auto;top:auto;transform:none;margin-top:10px;pointer-events:auto}}.library-page{min-height:100%;width:min(1280px,100%);margin:24px auto 72px;padding:24px;display:flex;flex-direction:column;gap:24px;font-family:var(--font-sans);background:radial-gradient(circle at top left,rgba(59,130,246,.16),transparent 45%),radial-gradient(circle at 80% 10%,rgba(16,185,129,.2),transparent 40%),linear-gradient(180deg,#f6f7fb,#eef2ff);border:1px solid rgba(148,163,184,.25);border-radius:28px;box-shadow:0 30px 60px #0f172a1f,0 2px #ffffffb3 inset}.library-header{display:grid;grid-template-columns:auto minmax(240px,1fr) auto;gap:16px;align-items:center;padding:16px 20px;border-radius:18px;background:#ffffffe0;border:1px solid rgba(148,163,184,.25);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.library-brand{display:inline-flex;align-items:center;gap:12px}.library-brand strong{display:block;font-size:18px;letter-spacing:.01em}.library-brand-subtitle{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:var(--text-muted)}.library-brand-icon{width:42px;height:42px;border-radius:14px;background:#dbeafe;color:#1d4ed8;font-weight:700;display:grid;place-items:center;letter-spacing:.1em}.library-search{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:14px;background:#f1f5f9;border:1px solid rgba(148,163,184,.25);box-shadow:inset 0 1px 4px #0f172a14}.library-search input{border:none;background:transparent;width:100%;font-size:14px;color:var(--text)}.library-search input:focus{outline:none;box-shadow:none}.library-search-icon{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.library-status{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-end}.library-toggle{display:inline-flex;padding:4px;border-radius:999px;background:#f1f5f9;border:1px solid rgba(148,163,184,.35)}.library-toggle button{border-radius:999px;padding:6px 12px;font-size:11px;font-weight:700;color:var(--text-muted);transition:background .2s ease,color .2s ease}.library-toggle button.is-active{background:#fff;color:#1d4ed8;box-shadow:0 6px 16px #0f172a1f}.library-students{display:flex;align-items:center;gap:10px}.library-student{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;color:#1f2937}.library-student img{width:36px;height:36px;border-radius:999px;border:2px solid #1d4ed8;object-fit:cover}.library-student.is-muted{opacity:.6}.library-student.is-muted img{border-color:#cbd5f5;filter:grayscale(1)}.library-filters{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px}.library-filters button{white-space:nowrap;padding:8px 14px;border-radius:999px;border:1px solid rgba(148,163,184,.35);background:#fff;font-weight:600;color:#0f172a;transition:transform .2s ease,box-shadow .2s ease}.library-filters button.is-selected{background:#0f172a;color:#fff;border-color:transparent;box-shadow:0 10px 24px #0f172a33}.library-filters button:hover{transform:translateY(-1px)}.library-hero{position:relative;padding:32px;border-radius:24px;overflow:hidden;background:linear-gradient(90deg,#0f172aeb,#0f172abf 55%,#0f172a66),url(https://lh3.googleusercontent.com/aida-public/AB6AXuBZd0lQ-320yglYAzi9bjaONBiOcCHPEiI5S0bsB-1HVs1S2bJbKCo9OjHXI7AzC7pKy_bOzeqrp_bhKMsLCs_8c21fwweHQ_yAU5dS-4vkj45mnhwETgqMb5q8ZMaAHdRBineo7vjqmItcZKX7M8AVViFm_2aDQikvjku2V6dvPPtdzuqlk7iHpVImqDE_j0Z6ZzyDbrfLAZBCTbB0RdyrPs4-E0wcIQMNESMjAAVgy3R2gP7Dp5N_RJoEW5YZQxD8y1nkIIqO) center/cover no-repeat;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,35%);gap:16px;color:#fff;min-height:300px;box-shadow:0 24px 50px #0f172a4d}.library-hero-content{max-width:520px;display:flex;flex-direction:column;gap:12px;z-index:1}.library-pill{align-self:flex-start;padding:6px 12px;border-radius:999px;background:#3b82f64d;border:1px solid rgba(147,197,253,.6);font-size:11px;text-transform:uppercase;letter-spacing:.2em;font-weight:700}.library-hero h1{margin:0;font-size:34px;line-height:1.1}.library-hero h1 span{display:block;color:#93c5fd;font-weight:800}.library-hero p{margin:0;color:#e2e8f0e6}.library-hero-actions{display:flex;gap:12px;flex-wrap:wrap}.library-primary,.library-secondary{border-radius:14px;padding:10px 16px;font-weight:700;border:none;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:transform .2s ease,box-shadow .2s ease}.library-primary{background:#2563eb;color:#fff;box-shadow:0 16px 24px #2563eb59}.library-secondary{background:#ffffff29;color:#fff;border:1px solid rgba(255,255,255,.3)}.library-primary:hover,.library-secondary:hover{transform:translateY(-1px)}.library-hero-media{align-self:stretch;border-radius:18px;background:linear-gradient(120deg,#94a3b833,#94a3b80d),url(https://lh3.googleusercontent.com/aida-public/AB6AXuC8kkz4wR5F3OeKTLkJuxauBr5RBf4YLP5STYtP4a8Nx-aqThMM3XzdJv3yo9KpKpP5KCGP3i1YcYp5nLJ7mFOL2bOl8H6wAPkw2wM1xJ9oBmB4e9KxltPdiORxI1CBt6xZGBbUWyOdQ5rW27qYBaqaeJ7a0y6In57J02sAu3BfB4fF) center/cover no-repeat;box-shadow:inset 0 0 0 1px #ffffff26}.library-section{display:flex;flex-direction:column;gap:16px}.library-section-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.library-section-header h2{margin:0;font-size:22px}.library-section-header span{color:var(--text-muted);font-size:13px;font-weight:500}.library-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}.library-category{padding:18px;border-radius:20px;background:#fff;border:1px solid rgba(148,163,184,.2);box-shadow:0 12px 24px #0f172a14;display:grid;gap:12px;animation:library-rise .38s ease both}.library-category h3{margin:0;font-size:16px}.library-category p{margin:0;color:var(--text-muted);font-size:13px}.library-category button,.library-track-link{align-self:flex-start;border:none;background:#f1f5f9;color:#0f172a;font-weight:700;padding:8px 12px;border-radius:999px;text-decoration:none;display:inline-flex;align-items:center}.library-track-link:hover{background:#e2e8f0}.library-category-icon{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;font-weight:800;color:#0f172a}.library-category-icon.is-video{background:#fee2e2;color:#b91c1c}.library-category-icon.is-vocab{background:#dbeafe;color:#1d4ed8}.library-category-icon.is-articles{background:#dcfce7;color:#15803d}.library-category-icon.is-assets{background:#ede9fe;color:#5b21b6}.library-category-icon.is-activity{background:#fef9c3;color:#a16207}.library-covered{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.library-covered-card{background:#fff;border-radius:20px;overflow:hidden;border:1px solid rgba(148,163,184,.2);box-shadow:0 16px 30px #0f172a14;display:grid;animation:library-rise .38s ease both}.library-covered-media{position:relative;height:160px;overflow:hidden}.library-covered-media img{width:100%;height:100%;object-fit:cover}.library-covered-tag{position:absolute;bottom:12px;left:12px;background:#0f172ab3;color:#fff;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700}.library-covered-body{padding:16px;display:grid;gap:8px}.library-covered-body h3{margin:0;font-size:16px}.library-covered-body p{margin:0;color:var(--text-muted);font-size:12px}.library-progress{display:grid;gap:6px}.library-progress-track{height:6px;border-radius:999px;background:#e2e8f0;overflow:hidden}.library-progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#22c55e);border-radius:999px}.library-progress span{font-size:11px;color:var(--text-muted);font-weight:600}.library-vocab{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.library-vocab-card{padding:16px;border-radius:18px;background:#fff;border:1px solid rgba(148,163,184,.2);box-shadow:0 12px 24px #0f172a0f;display:grid;gap:8px;animation:library-rise .38s ease both}.library-vocab-card h3{margin:0;font-size:16px}.library-vocab-card p{margin:0;color:var(--text-muted);font-size:12px}.library-vocab-chip{align-self:flex-start;padding:4px 10px;border-radius:999px;background:#e2e8f0;font-size:11px;font-weight:700;color:#1f2937}.library-vocab-chip.is-active{background:#dbeafe;color:#1d4ed8}.library-articles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.library-articles article{padding:16px;border-radius:18px;background:linear-gradient(135deg,#fff,#eef2ff);border:1px solid rgba(148,163,184,.2);box-shadow:0 12px 24px #0f172a0f;display:grid;gap:8px;animation:library-rise .38s ease both}.library-articles h3{margin:0;font-size:16px}.library-articles p{margin:0;color:var(--text-muted);font-size:12px}.library-article-meta{display:flex;justify-content:space-between;font-size:11px;color:var(--text-muted);font-weight:600}.library-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-radius:20px;background:#0f172a;color:#fff}.library-footer h3{margin:0 0 6px;font-size:18px}.library-footer p{margin:0;color:#e2e8f0cc}.library-footer-actions{display:flex;gap:12px;flex-wrap:wrap}@keyframes library-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.library-header{grid-template-columns:1fr;align-items:stretch}.library-status{justify-content:flex-start}.library-hero{grid-template-columns:1fr}.library-hero-media{display:none}}@media(max-width:720px){.library-page{padding:18px}.library-footer{flex-direction:column;align-items:flex-start}}@media(min-width:768px)and (max-width:1024px)and (orientation:portrait){.library-page{width:min(860px,100%);margin:12px auto 28px;padding:18px;border-radius:24px}.library-header{grid-template-columns:1fr}.library-status{justify-content:flex-start}.library-hero{grid-template-columns:1fr;min-height:240px}.library-hero-media{display:none}}@media(prefers-reduced-motion:reduce){.library-category,.library-covered-card,.library-vocab-card,.library-articles article{animation:none}}.dashboard-page{min-height:100%;font-family:var(--font-sans)}.dashboard{display:flex;flex-direction:column;gap:20px;width:min(1240px,100%);margin:20px auto 48px;padding:20px;background:linear-gradient(180deg,#f5f9ff,#edf3ff);border:1px solid #dbe7ff;border-radius:28px;box-shadow:0 20px 50px #0f172a1f,0 2px #fffc inset}.dashboard-layout{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:20px;align-items:start;transition:grid-template-columns .75s cubic-bezier(.2,.7,.2,1)}.dashboard-nav{position:sticky;top:16px;max-height:calc(100vh - 120px);overflow:hidden;transition:width .75s cubic-bezier(.2,.7,.2,1),box-shadow .75s cubic-bezier(.2,.7,.2,1)}.dashboard-page .card{border-radius:22px;border:1px solid rgba(148,163,184,.35);box-shadow:0 16px 30px #0f172a14}.dashboard-nav-header{display:flex;align-items:center;justify-content:space-between;gap:8px;position:relative}.dashboard-nav-toggle{width:36px;height:36px;border-radius:999px;border:none;background:#3b82f6;color:#fff;font-weight:700;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 18px #2563eb59;transition:box-shadow .35s ease,transform .35s ease,background-color .35s ease}.dashboard-nav-toggle:hover{transform:translateY(-2px) scale(1.03);background:#2563eb;box-shadow:0 12px 22px #2563eb73}.dashboard-nav-body{display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 180px);overflow-y:auto;overflow-x:hidden;padding-right:16px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;transition:padding .75s cubic-bezier(.2,.7,.2,1),align-items .55s cubic-bezier(.2,.7,.2,1)}.dashboard-nav-item{text-align:left;padding:10px 12px;border-radius:12px;border:1px solid #eef2f6;background:transparent;color:var(--text);font-weight:600;font-size:13px;position:relative;transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s cubic-bezier(.2,.7,.2,1),background-color .45s cubic-bezier(.2,.7,.2,1),border-color .45s cubic-bezier(.2,.7,.2,1),color .45s cubic-bezier(.2,.7,.2,1),width .55s cubic-bezier(.2,.7,.2,1);display:grid;grid-template-columns:24px 1fr;align-items:center;gap:8px}.dashboard-nav-item.is-subitem{padding:8px 10px;margin-left:14px;grid-template-columns:1fr;gap:6px;background:#fff}.dashboard-day-icon{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.dashboard-day-icon-text{font-size:10px;font-weight:700;letter-spacing:.08em}.dashboard-nav-subgroup{display:flex;flex-direction:column;gap:8px;margin:10px 0 0 12px;animation:dashboard-fade .36s cubic-bezier(.2,.7,.2,1);will-change:transform,opacity}.dashboard-nav-subgroup.is-nested{margin-left:24px;padding-left:12px;border-left:1px solid rgba(0,0,0,.08)}.dashboard-nav-item:hover{background:#f8fafc;transform:translate(3px);box-shadow:0 10px 18px #0f172a0f}.dashboard-nav-item.is-active{background:#eaf2ff;border-color:#dbeafe;box-shadow:0 12px 22px #0f172a1f}.dashboard-nav-item.is-complete{color:var(--text-muted);background:#f8fafc}.dashboard-nav-item.is-locked{opacity:.55;cursor:not-allowed;box-shadow:none}.dashboard-nav-item.is-locked:hover{background:transparent;transform:none;box-shadow:none}.dashboard-nav-label{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;transition:opacity .45s cubic-bezier(.2,.7,.2,1),transform .45s cubic-bezier(.2,.7,.2,1)}.dashboard-nav-text{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-nav-icon{font-size:18px;line-height:1}.dashboard-nav-time{font-size:11px;color:var(--text-muted);font-weight:600}.dashboard-nav-progress{height:6px;border-radius:999px;background:#eef2f6;overflow:hidden;transition:opacity .45s cubic-bezier(.2,.7,.2,1),transform .45s cubic-bezier(.2,.7,.2,1)}.dashboard-nav-progress-bar{height:100%;border-radius:999px;background:#38bdf8;transition:width .55s cubic-bezier(.2,.7,.2,1)}.dashboard-nav-percent{font-size:11px;color:var(--text-muted);transition:opacity .45s cubic-bezier(.2,.7,.2,1),transform .45s cubic-bezier(.2,.7,.2,1)}.dashboard-layout.is-collapsed{grid-template-columns:116px 1fr}.dashboard-nav.is-collapsed .dashboard-nav-item{grid-template-columns:1fr;justify-items:center;padding:12px 0;width:64px;margin:0 auto}.dashboard-nav.is-collapsed .dashboard-nav-label,.dashboard-nav.is-collapsed .dashboard-nav-progress,.dashboard-nav.is-collapsed .dashboard-nav-percent{opacity:0;transform:translate(-6px);pointer-events:none;height:0;overflow:hidden}.dashboard-nav.is-collapsed .dashboard-nav-icon{font-size:18px;line-height:1}.dashboard-nav.is-collapsed .dashboard-nav-item.is-subitem{margin-left:0}.dashboard-nav.is-collapsed .dashboard-nav-progress,.dashboard-nav.is-collapsed .dashboard-nav-percent{opacity:1;transform:none;pointer-events:auto;height:auto;overflow:visible}.dashboard-nav.is-collapsed .dashboard-nav-progress{width:28px;margin:0 auto}.dashboard-nav.is-collapsed .dashboard-nav-percent{font-size:10px;text-align:center}.dashboard-nav.is-collapsed .dashboard-nav-body{padding-right:14px;padding-left:14px;align-items:center}.dashboard-nav.is-collapsed .dashboard-muted{display:none}.dashboard-content .card-body{display:flex;flex-direction:column;gap:18px}.dashboard-content-body{animation:dashboard-fade .52s cubic-bezier(.2,.7,.2,1);will-change:transform,opacity;line-height:1.7;display:flex;flex-direction:column;gap:18px}.dashboard-transition{width:100%}.dashboard-transition.is-active{animation:dashboard-fade .42s cubic-bezier(.2,.7,.2,1);will-change:transform,opacity}.dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;flex-wrap:wrap;background:#eaf3ff;border-color:#dbe7ff;box-shadow:0 16px 30px #0f172a14}.dashboard-hero-copy h1{margin:8px 0 6px;font-size:28px}.dashboard-hero .page-subtitle{text-align:left;padding:0 0 10px}.dashboard-meta{display:flex;flex-wrap:wrap;gap:8px}.dashboard-text{margin:0;color:var(--text-muted);line-height:1.6}.dashboard-list{display:flex;flex-direction:column;gap:12px}.dashboard-next{align-self:center;padding:8px 12px;border-radius:10px;border:1px solid var(--border);background:#fff;color:var(--text);font-weight:600;margin-top:6px;margin-bottom:6px;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.dashboard-next-row{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.dashboard-next.secondary{background:#f8fafc}.dashboard-header{border-bottom:none;background:transparent;padding:18px 20px 0;height:auto}.dashboard-header-inner{max-width:min(1080px,100%);margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.dashboard-brand{display:inline-flex;align-items:center;gap:10px;font-weight:700;color:var(--text)}.dashboard-brand-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;background:var(--brand);color:var(--text);font-size:12px;letter-spacing:.08em}.dashboard-brand-title{text-transform:uppercase;letter-spacing:.08em;font-size:12px}.dashboard-back{background:#fff;border-color:#dbe7ff;color:var(--text)}.dashboard-page .btn{background:linear-gradient(180deg,#3b82f6,#2563eb);color:#fff;border-color:transparent;box-shadow:0 12px 20px #2563eb4d}.dashboard-page .btn:hover{background:linear-gradient(180deg,#2563eb,#1d4ed8);box-shadow:0 14px 24px #1d4ed859}.dashboard-page .btn.ghost{background:#fff;border-color:#dbe7ff;color:var(--text);box-shadow:0 10px 18px #0f172a14}.dashboard-next:hover{transform:translateY(-1px);box-shadow:0 10px 18px #0f172a14;border-color:transparent}.dashboard-next:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.dashboard-stack{display:flex;flex-direction:column;gap:16px}.dashboard-controls{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.dashboard-list-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--border);border-radius:12px;background:#fff}.dashboard-list-item h3{margin:0 0 6px;font-size:16px}.dashboard-outline{padding:12px;border:1px solid var(--border);border-radius:12px;background:#fff}.dashboard-outline h3{margin:0 0 8px;font-size:16px}.dashboard-outline ul{margin:0;padding-left:18px;color:var(--text-muted)}.dashboard-muted{margin:0 0 6px;color:var(--text-muted);font-size:13px}.dashboard-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.dashboard-tile{padding:12px;border:1px solid var(--border);border-radius:12px;background:#fff}.dashboard-tile h3{margin:0 0 8px;font-size:16px}.dashboard-question{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--border);border-radius:12px;background:#fff}.dashboard-question p{margin:0}.dashboard-markdown{color:var(--text)}.dashboard-markdown h1,.dashboard-markdown h2,.dashboard-markdown h3,.dashboard-markdown h4{margin:18px 0 10px}.dashboard-markdown p{margin:0 0 14px}.dashboard-markdown ul,.dashboard-markdown ol{margin:0 0 14px;padding-left:20px;color:var(--text-muted)}.dashboard-markdown li+li{margin-top:6px}.dashboard-markdown blockquote{margin:0 0 14px;padding:10px 14px;border-left:3px solid var(--border);background:var(--hover);color:var(--text-muted)}.dashboard-markdown strong{color:var(--text)}.dashboard-reveal{animation:dashboard-reveal .32s cubic-bezier(.2,.7,.2,1);will-change:transform,opacity}.dashboard-bullets{margin:12px 0;padding-left:18px;color:var(--text-muted)}.dashboard-core{padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--hover)}.dashboard-core p{margin:6px 0 0;color:var(--text-muted)}.dashboard-tags{display:flex;flex-wrap:wrap;gap:8px}.dashboard-activity-placeholder{margin-top:12px;padding:16px;border:1px dashed var(--border);border-radius:12px;background:var(--hover)}.dashboard-activity-body{display:flex;flex-direction:column;gap:20px;margin-top:16px}.dashboard-activity-instructions{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.dashboard-activity-grid{display:grid;gap:16px;grid-template-columns:minmax(180px,220px) 1fr;align-items:start}.dashboard-draggables{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--border);border-radius:12px;background:#fff}.dashboard-drag-chip{align-self:flex-start;padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:var(--accent);font-weight:600;cursor:grab;transition:transform .2s ease,box-shadow .2s ease}.dashboard-drag-chip:active{cursor:grabbing;transform:scale(.98)}.dashboard-drag-chip.is-dragging{box-shadow:0 10px 18px #0f172a14}.dashboard-dropzones{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.dashboard-dropzone{padding:14px;border:1px dashed var(--border);border-radius:14px;background:#fff;min-height:120px;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.dashboard-dropzone.is-connected{border-color:var(--success);box-shadow:0 10px 18px #0f172a14;transform:translateY(-2px)}.dashboard-dropzone-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.dashboard-meter{margin-top:10px;display:grid;gap:6px}.dashboard-meter-track{height:10px;border-radius:999px;background:#eef2f6;overflow:hidden}.dashboard-meter-fill{height:100%;border-radius:999px;transition:width .35s ease,background-color .35s ease;width:10%;background:#f59e0b}.dashboard-meter-fill.level-0{width:8%;background:#e2e8f0}.dashboard-meter-fill.level-1{width:35%;background:#f59e0b}.dashboard-meter-fill.level-3{width:90%;background:#10b981}.dashboard-web{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center;padding:14px;border-radius:14px;border:1px solid var(--border);background:#fff}.dashboard-web-node{display:grid;gap:6px;justify-items:center;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:var(--hover);min-width:160px}.dashboard-web-node.is-source{background:var(--accent)}.dashboard-web-line{width:56px;height:2px;background:var(--border)}.dashboard-activity-summary{padding:12px;border-radius:12px;background:var(--hover);border:1px solid var(--border)}.dashboard-chat{margin:20px 0;border-radius:18px;border:1px solid var(--border);background:#fff;overflow:hidden;box-shadow:0 12px 24px #0f172a14}.dashboard-chat-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:linear-gradient(135deg,var(--chatbot-primary) 0%,var(--chatbot-secondary) 100%);color:#fff}.dashboard-chat-header strong{display:block;font-size:15px}.dashboard-chat-header .dashboard-muted{display:block;color:#ffffffd9}.dashboard-chat-clear{background:#ffffff2e;color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer}.dashboard-chat-clear:hover{background:#ffffff47}.dashboard-chat-delete{background:#ffffff2e;color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer}.dashboard-chat-delete:hover{background:#ffffff47}.dashboard-chat-confirm{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border);background:#fff3f3;color:#7f1d1d;font-size:12px}.dashboard-chat-confirm button{border:1px solid #fecaca;background:#fff;color:#b91c1c;border-radius:999px;padding:4px 10px;font-size:12px;cursor:pointer}.dashboard-chat-confirm button:first-child{color:var(--text);border-color:var(--border)}.dashboard-chat-tabs-row{display:flex;align-items:center;justify-content:space-between;padding:8px 16px 0;background:#fff;font-size:12px;color:var(--text-muted);font-weight:600}.dashboard-chat-toggle{border:1px solid var(--border);background:#fff;border-radius:999px;padding:4px 10px;font-size:11px;cursor:pointer}.dashboard-chat-tabs{display:flex;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border);background:#fff;overflow-x:auto;max-height:120px;opacity:1;transition:max-height .35s ease,opacity .35s ease,padding .35s ease}.dashboard-chat-tab{border:1px solid var(--border);background:#f8fafc;border-radius:999px;padding:6px 10px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;font-size:12px;cursor:pointer}.dashboard-chat-tab.is-active{background:#eaf2ff;border-color:#dbeafe}.dashboard-chat-tab span{font-weight:600;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-chat-tab small{font-size:10px;color:var(--text-muted)}.dashboard-chat-tabs.is-hidden{max-height:0;opacity:0;padding-top:0;padding-bottom:0;overflow:hidden;border-bottom:none}.dashboard-chat-messages{max-height:320px;overflow-y:auto;padding:16px;background:#fff}.dashboard-reading-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.dashboard-reading-body{display:flex;flex-direction:column;gap:12px}.dashboard-reading-heading,.dashboard-reading-paragraph{display:inline}.dashboard-reading-paragraph{margin:0}.dashboard-reading-list{margin:0;padding-left:20px}.dashboard-tts-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--text);cursor:pointer;flex-shrink:0;margin-left:6px;vertical-align:middle}.dashboard-tts-btn svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.8;fill:none}.dashboard-tts-btn.is-active{border-color:var(--chatbot-primary);color:var(--chatbot-primary);box-shadow:0 0 0 3px #ff6fa31f}.dashboard-reflection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:16px auto;max-width:540px;justify-content:center}.dashboard-reflection-card{border-radius:16px;border:1px solid #e2e8f0;background:linear-gradient(135deg,#fff,#f7f8ff);padding:16px;display:grid;gap:12px;box-shadow:0 14px 28px #0f172a1a}.dashboard-reflection-card.is-a{border-color:#f472b659;background:linear-gradient(135deg,#fff,#fff2f8)}.dashboard-reflection-card.is-b{border-color:#60a5fa59;background:linear-gradient(135deg,#fff,#eef5ff)}.dashboard-reflection-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.dashboard-reflection-name{font-weight:700;font-size:14px}.dashboard-reflection-body{display:grid;justify-items:center;gap:8px;padding:10px 0}.dashboard-reflection-wave{display:grid;grid-auto-flow:column;gap:6px;align-items:end;height:42px}.dashboard-reflection-wave span{display:block;width:6px;border-radius:999px;background:#bcd0f4;height:14px;animation:dashboard-wave 1.2s ease-in-out infinite}.dashboard-reflection-card.is-a .dashboard-reflection-wave span{background:#f7a6d4}.dashboard-reflection-card.is-b .dashboard-reflection-wave span{background:#9db8ff}.dashboard-reflection-wave span:nth-child(2){height:28px;animation-delay:.15s}.dashboard-reflection-wave span:nth-child(3){height:40px;animation-delay:.3s}.dashboard-reflection-wave span:nth-child(4){height:26px;animation-delay:.45s}.dashboard-reflection-wave span:nth-child(5){height:18px;animation-delay:.6s}.dashboard-reflection-time{font-weight:700;color:#94a3b8}.dashboard-reflection-audio{width:100%}.dashboard-reflection-actions{display:flex;gap:10px}.dashboard-reflection-btn,.dashboard-reflection-upload{flex:1;padding:8px 12px;border-radius:999px;border:1px solid #e2e8f0;background:#f8fafc;font-weight:600;font-size:12px;text-align:center;cursor:pointer}.dashboard-reflection-btn{background:#fef2f2;border-color:#f8717159;color:#b91c1c}.dashboard-reflection-btn.is-recording{background:#fee2e2;border-color:#f8717199}.dashboard-reflection-card.is-b .dashboard-reflection-btn{background:#eff6ff;border-color:#60a5fa66;color:#1d4ed8}.dashboard-reflection-upload{background:#f1f5f9;border-color:#94a3b866;color:#475569}.dashboard-reflection-upload input{display:none}.status-badge.is-warning{background:#fef3c7;color:#92400e;border:1px solid #f59e0b}.reflection-page{padding-bottom:max(16px,env(safe-area-inset-bottom))}.reflection-shell{width:min(1280px,100%);gap:10px}.reflection-header{margin-top:0}.reflection-page .experiment-workbench-card{gap:10px}.reflection-page .experiment-workbench-card-head{padding-bottom:2px}.reflection-tabs-row{display:flex;gap:10px;flex-wrap:wrap}.reflection-tab{border:1px solid #cfd9ea;background:#fff;color:#0f172a;border-radius:999px;padding:8px 14px;font-weight:600;cursor:pointer}.reflection-tab.is-active{border-color:#9333ea;background:linear-gradient(135deg,#f5ecff,#eef2ff);color:#6b21a8}.reflection-composer-body{display:grid;gap:10px}.reflection-input-label{font-size:12px;font-weight:700;color:#334155}.reflection-title-input{border:1px solid #d7dfea;border-radius:12px;background:#fff;padding:10px 12px;font:inherit}.reflection-list-body{display:grid;gap:12px}.reflection-entry{border:1px solid #e2e8f4;border-radius:12px;background:#ffffffe0;padding:12px;display:grid;gap:8px}.reflection-entry-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.reflection-entry h3{margin:0}.reflection-entry a{color:#1d4ed8;font-weight:600}.reflection-page .dashboard-reflection-card{border-radius:16px;border:1px solid rgba(199,210,254,.82);background:linear-gradient(150deg,#f5ecffb8,#edf2ffcc);box-shadow:0 14px 28px #0f172a14}.reflection-page .dashboard-reflection-name{color:#1f2937}.reflection-page .dashboard-reflection-btn{border:1px solid rgba(147,51,234,.35);background:linear-gradient(135deg,#f4e8ff,#eaf1ff);color:#6b21a8}.reflection-page .dashboard-reflection-btn.is-recording{border-color:#f87171a6;background:#fff1f2;color:#b91c1c}.reflection-page .dashboard-reflection-upload{border:1px solid #d8deeb;background:#fff;color:#0f172a}.progress-tracker-shell{--tracker-bg: #f5f6fa;--tracker-surface: #f6f7fa;--tracker-surface-elev: rgba(255, 255, 255, .92);--tracker-panel: #fbfcff;--tracker-border: #e1e6ef;--tracker-border-strong: #d7dfe9;--tracker-text: #0f172a;--tracker-muted: #64748b;--tracker-shadow: 0 18px 38px rgba(15, 23, 42, .08);--tracker-chip-bg: #f8fbff;--tracker-chip-active: #eef4ff;--tracker-chip-active-border: #c8d8f3;--tracker-chip-hover-border: #b7c7e6;padding:22px;min-height:100vh;font-family:"Inter",var(--font-sans);background:radial-gradient(circle at 56% 40%,rgba(19,91,236,.09),transparent 33%),radial-gradient(circle at 24% 80%,rgba(100,116,139,.08),transparent 35%),var(--tracker-bg);max-width:820px;margin:0 auto;border:1px solid var(--tracker-border);border-radius:32px;box-shadow:var(--tracker-shadow)}.progress-tracker-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.progress-tracker-header h1{margin:0;font-size:34px;color:#0b1633;letter-spacing:-.015em}.progress-tracker-header p{margin:8px 0 0;color:#4f627d;font-weight:500}.progress-tracker-actions{display:flex;gap:10px;flex-wrap:nowrap;align-items:center}.progress-tracker-layout{display:block}.progress-tracker-calendar-card,.progress-tracker-detail-card{border-radius:26px;border:1px solid var(--tracker-border);background:var(--tracker-surface-elev);box-shadow:0 14px 28px #0f172a0f}.progress-tracker-shell .card-header{background:transparent;border-bottom:1px solid #e8edf4}.progress-tracker-shell .card-body{background:transparent}.progress-tracker-shell .btn.secondary{border-color:var(--tracker-border-strong);background:#fff;color:#334155;box-shadow:0 6px 12px #0f172a0d;border-radius:999px;min-height:36px;padding:8px 13px;font-size:12px;white-space:nowrap}.progress-tracker-shell .btn.secondary:hover{background:#f8fafc;color:#0f172a;box-shadow:0 8px 16px #0f172a14}.progress-tracker-shell .status-badge{border-color:var(--tracker-border-strong);background:#fff;color:var(--tracker-muted);font-weight:700}.progress-tracker-month-header{display:flex;justify-content:space-between;align-items:center}.progress-tracker-month-header strong{color:var(--tracker-text)}.progress-tracker-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;font-size:12px;color:var(--tracker-muted);margin-bottom:8px}.progress-tracker-weekdays span{text-align:center;font-weight:700}.progress-tracker-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.progress-tracker-day{border:1px solid var(--tracker-border-strong);border-radius:12px;background:#fff;min-height:62px;padding:6px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;cursor:pointer}.progress-tracker-day span{font-weight:700;color:var(--tracker-text)}.progress-tracker-day em{font-style:normal;font-size:11px;color:#475569}.progress-tracker-modal-overlay{position:fixed;inset:0;z-index:50;background:#0f172a73;display:grid;place-items:center;padding:16px}.progress-tracker-modal{width:min(760px,100%);max-height:calc(100vh - 32px);overflow:auto}.progress-tracker-modal-actions{display:inline-flex;align-items:center;gap:10px}.progress-tracker-day.is-outside{opacity:.45}.progress-tracker-day.is-none{background:#fff}.progress-tracker-day.is-low{background:#eef4ff}.progress-tracker-day.is-mid{background:#dfe9ff}.progress-tracker-day.is-high{background:#cfdfff}.progress-tracker-day.is-selected{border-color:var(--tracker-chip-active-border);box-shadow:0 0 0 2px #135bec24}.progress-tracker-day.is-today{outline:2px dashed #135bec;outline-offset:2px}.progress-tracker-detail-body{display:grid;gap:14px}.progress-tracker-streaks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.progress-tracker-streaks div{border:1px solid var(--tracker-border-strong);background:var(--tracker-chip-bg);border-radius:12px;padding:10px 12px}.progress-tracker-streaks span{display:block;font-size:12px;color:var(--tracker-muted)}.progress-tracker-streaks strong{color:var(--tracker-text)}.progress-tracker-wheel-wrap{display:grid;grid-template-columns:180px 1fr;align-items:start;gap:12px}.progress-tracker-wheel-panel{display:grid;justify-items:center;gap:6px}.progress-tracker-wheel{position:relative;width:170px;height:170px;border-radius:999px;margin:0 auto;display:grid;place-items:center;background:radial-gradient(closest-side,#fff 64%,#edf3ff)}.progress-tracker-wheel-chart{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.progress-tracker-wheel-track{fill:none;stroke:#dfe6ef}.progress-tracker-wheel-segment{cursor:pointer;opacity:.95;transition:opacity .16s ease,filter .16s ease,stroke-width .16s ease}.progress-tracker-wheel-segment:hover,.progress-tracker-wheel-segment:focus-visible{opacity:1;filter:brightness(1.08);outline:none}.progress-tracker-wheel-segment.is-active{stroke-width:38}.progress-tracker-wheel span{position:relative;z-index:1;font-weight:700;color:var(--tracker-text)}.progress-tracker-wheel-total-label{margin:0;color:var(--tracker-muted);font-size:12px}.progress-tracker-wheel-legend{display:grid;gap:8px}.progress-tracker-wheel-legend-item{margin:0;width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--tracker-border-strong);border-radius:10px;padding:8px 10px;background:#fff;color:var(--tracker-text);font-size:13px;text-align:left;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.progress-tracker-wheel-legend-item:hover,.progress-tracker-wheel-legend-item:focus-visible{border-color:var(--tracker-chip-hover-border);background:var(--tracker-chip-bg);box-shadow:0 0 0 2px #135bec1a;outline:none}.progress-tracker-wheel-legend-item.is-active{border-color:var(--tracker-chip-active-border);background:var(--tracker-chip-active)}.progress-tracker-wheel-legend-item strong{font-size:13px}.progress-tracker-wheel-legend-label{display:inline-flex;align-items:center;gap:8px;font-size:13px}.progress-tracker-wheel-marker{--marker-color: #0ea5e9;width:10px;height:10px;border-radius:999px;background:var(--marker-color);box-shadow:0 0 0 2px #94a3b840;flex:0 0 auto}.progress-tracker-wheel-detail{margin:0;border:1px solid var(--tracker-border-strong);border-radius:12px;padding:10px 12px;background:var(--tracker-chip-bg);display:grid;gap:8px}.progress-tracker-wheel-detail-head{display:inline-flex;align-items:center;gap:8px}.progress-tracker-wheel-detail p{margin:0;color:#475569;font-size:12px;line-height:1.4}.progress-tracker-wheel-detail-stats{display:grid;gap:6px}.progress-tracker-wheel-detail-stats p{display:flex;justify-content:space-between;align-items:center;gap:8px}.progress-tracker-wheel-detail-stats strong{color:var(--tracker-text)}.progress-tracker-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.progress-tracker-stats-grid article{border:1px solid var(--tracker-border-strong);border-radius:10px;padding:8px 10px;background:#fff}.progress-tracker-stats-grid span{display:block;font-size:12px;color:var(--tracker-muted)}.progress-tracker-stats-grid strong{color:var(--tracker-text)}.progress-tracker-cumulative{border-top:1px solid #e8edf4;padding-top:10px}.progress-tracker-cumulative h3{margin:0 0 8px;color:var(--tracker-text)}.progress-tracker-cumulative-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.progress-tracker-cumulative-grid p{margin:0;border:1px solid var(--tracker-border-strong);border-radius:10px;padding:8px 10px;background:#fff;display:flex;justify-content:space-between}@media(max-width:980px){.progress-tracker-wheel-wrap{grid-template-columns:1fr}}@media(max-width:820px){.progress-tracker-shell{max-width:none;padding:14px;border-radius:24px}.progress-tracker-header{flex-direction:column}.progress-tracker-header h1{font-size:28px}}.dashboard-layout-sections{grid-template-columns:minmax(280px,340px) 1fr}.dashboard-layout-sections>.dashboard-sidebar-stack{grid-column:1;align-self:start;position:sticky;top:16px;display:grid;gap:20px}.dashboard-layout-sections>.dashboard-sidebar-stack .dashboard-nav{position:static;top:auto;max-height:none}.dashboard-layout-sections>.dashboard-content{grid-column:2;grid-row:1}.dashboard-nav-sections .dashboard-nav-body{display:grid;gap:8px}.dashboard-nav-sections .dashboard-nav-item{grid-template-columns:minmax(0,1fr);gap:0}.dashboard-nav-sections .dashboard-nav-label{justify-content:flex-start}.dashboard-nav-sections.is-collapsed .dashboard-nav-item{justify-content:center;text-align:center;padding-left:10px;padding-right:10px}.dashboard-nav-collapsed-number{font-weight:700;letter-spacing:.01em}.dashboard-content-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.dashboard-content-header .status-badge:empty{display:none}.dashboard-nav-collapsed-number:empty:before{content:"•"}.dashboard-section-markdown{color:var(--text);line-height:1.5}.dashboard-section-markdown h1,.dashboard-section-markdown h2,.dashboard-section-markdown h3,.dashboard-section-markdown h4{margin:0 0 1.25rem;line-height:1.3}.dashboard-section-markdown p,.dashboard-section-markdown ul,.dashboard-section-markdown ol,.dashboard-section-markdown blockquote{margin:0 0 2em}.dashboard-section-markdown li{margin-bottom:.65em}.dashboard-section-markdown li:last-child{margin-bottom:0}.dashboard-markdown img,.dashboard-section-markdown img{margin-left:auto;margin-right:auto}.dashboard-section-markdown .herbarium-labeling-table-wrap{width:100%;max-width:100%;overflow-x:auto;margin:0 0 2em}.dashboard-section-markdown .herbarium-labeling-table{width:100%;min-width:980px;border-collapse:collapse;border:1px solid #d7dee9;background:#fff}.dashboard-section-markdown .herbarium-labeling-table th,.dashboard-section-markdown .herbarium-labeling-table td{border:1px solid #d7dee9;padding:.7rem .8rem;text-align:left;vertical-align:top}.dashboard-section-markdown .herbarium-labeling-table th{background:#f3f6fa;font-weight:700}@media(max-width:720px){.dashboard-section-markdown .herbarium-labeling-table{min-width:920px}}.dashboard-glossary-term{border:none;background:transparent;color:#3b82f6;padding:0;margin:0;font-weight:700;line-height:inherit;cursor:pointer;transition:color .2s ease,text-decoration-color .2s ease;text-decoration:underline;text-decoration-color:#3b82f666;text-underline-offset:2px;text-decoration-thickness:1px}.dashboard-glossary-term:hover{color:#2563eb;text-decoration-color:#2563ebbf}.dashboard-glossary-term:focus-visible{outline:2px solid rgba(37,99,235,.45);outline-offset:1px}.dashboard-glossary-popover{position:fixed;width:min(320px,calc(100vw - 24px));border-radius:14px;border:1px solid #93c5fd;background:#fff;box-shadow:0 18px 32px #0f172a33;padding:12px;z-index:25;display:grid;gap:8px}.dashboard-glossary-popover-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.dashboard-glossary-popover-head strong{font-size:16px;color:#0f172a}.dashboard-glossary-popover-head button{border-radius:10px;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:700;padding:6px 10px}.dashboard-glossary-phonetic{margin:0;font-size:13px;color:#475569;font-family:inherit}.dashboard-glossary-definition{margin:0;color:#1f2937;line-height:1.45;font-size:14px}.dashboard-glossary-mic{justify-self:start;width:34px;height:34px;border-radius:999px;border:1px solid #a7f3d0;background:#ecfdf5;color:#047857;display:inline-flex;align-items:center;justify-content:center;font-size:16px;padding:0}.dashboard-glossary-mic:hover{background:#d1fae5}.dashboard-inline-video-block{margin-top:18px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;padding:14px;display:grid;gap:10px}.dashboard-inline-video-title{margin:0;color:#0f172a}.dashboard-inline-video-block .video-library-player-wrap,.dashboard-inline-video-block .video-library-detail-card{margin-top:0}.dashboard-inline-video-popover{z-index:35}.dashboard-sidebar-videos{overflow:hidden}.dashboard-sidebar-videos-body{display:grid;gap:8px;max-height:320px;overflow:auto}.dashboard-sidebar-video-item{text-align:left;border:1px solid #dbe4f5;background:#fff;border-radius:10px;padding:9px 10px;color:#1e293b;font-size:13px;font-weight:600;line-height:1.35;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.dashboard-sidebar-video-item:hover{background:#f8fbff;border-color:#c9dafd;box-shadow:0 8px 14px #0f172a14}.dashboard-sidebar-video-item:focus-visible{outline:2px solid rgba(19,91,236,.4);outline-offset:1px}.dashboard-sidebar-video-modal-overlay{position:fixed;inset:0;z-index:60;background:#0f172a73;display:grid;place-items:center;padding:16px}.dashboard-sidebar-video-modal{width:min(920px,100%);max-height:calc(100vh - 32px);overflow:auto;border-radius:16px;padding:14px}.dashboard-sidebar-video-modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}.dashboard-sidebar-video-modal-header h2{margin:0;color:#0f172a;font-size:20px}.dashboard-sidebar-video-modal-header p{margin:4px 0 0;color:#64748b;font-size:13px;font-weight:600}.dashboard-sidebar-video-modal-player-wrap{width:100%;border-radius:12px;overflow:hidden;background:#0f172a}.dashboard-sidebar-video-modal-player-wrap .video-library-player{aspect-ratio:16 / 9}.dashboard-sidebar-video-modal-player{width:100%;aspect-ratio:16 / 9;border:0}.dashboard-knowledge-check{margin-top:18px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;padding:14px;display:grid;gap:10px}.dashboard-knowledge-check h3{margin:0}.dashboard-knowledge-check-instructions{margin:0;color:#334155;font-size:.95rem}.dashboard-knowledge-check label{font-weight:600;color:#1e293b}.dashboard-knowledge-check textarea{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;resize:vertical;min-height:96px;background:#fff}.dashboard-form-error{margin:0;color:#b91c1c;font-weight:600}.dashboard-form-success{margin:0;color:#047857;font-weight:600}.dashboard-section-actions{margin-top:16px;display:flex;gap:10px;align-items:center;justify-content:space-between}.dashboard-page{--dashboard-theme-bg: #f5f6fa;--dashboard-theme-shell: #f6f7fa;--dashboard-theme-surface: #fbfcff;--dashboard-theme-surface-soft: rgba(255, 255, 255, .9);--dashboard-theme-border: #e1e6ef;--dashboard-theme-border-strong: #d7dfe9;--dashboard-theme-text: #0f172a;--dashboard-theme-muted: #64748b;--dashboard-theme-blue: #135bec;--dashboard-theme-blue-soft: #e8efff;--dashboard-theme-blue-border: #bfd3fb;--dashboard-theme-green-soft: #def7ee;--dashboard-theme-green-border: #b8e9d6;--dashboard-theme-green-text: #166534;--dashboard-theme-shadow-shell: 0 18px 38px rgba(15, 23, 42, .08);--dashboard-theme-shadow-card: 0 10px 22px rgba(15, 23, 42, .07);min-height:100%;font-family:"Inter",var(--font-sans);background:var(--dashboard-theme-bg);color:var(--dashboard-theme-text)}.dashboard-page .dashboard-header{border-bottom:none;background:transparent;padding:16px 20px 0;height:auto}.dashboard-page .dashboard-header-inner{max-width:min(1240px,100%);margin:0 auto;padding:0 24px}.dashboard-page .dashboard-brand{color:var(--dashboard-theme-text)}.dashboard-page .dashboard-brand-icon{width:44px;height:44px;border-radius:14px;background:url(/images/chatbot-icon.svg) center / 30px 30px no-repeat,#e8eefc;color:transparent;font-size:0;box-shadow:none}.dashboard-page .dashboard-brand-title{text-transform:none;letter-spacing:0;font-size:clamp(16px,1.8vw,22px);line-height:1.1;color:var(--dashboard-theme-text)}.dashboard-page .dashboard-back{border-radius:999px;min-height:36px;padding:8px 13px;border:1px solid var(--dashboard-theme-border-strong);background:#fff;color:#334155;box-shadow:0 6px 12px #0f172a0d}.dashboard-page .dashboard{display:flex;flex-direction:column;gap:18px;width:min(1240px,100%);margin:14px auto 42px;padding:clamp(16px,2vw,24px);border-radius:32px;border:1px solid var(--dashboard-theme-border);background:radial-gradient(circle at 56% 40%,rgba(19,91,236,.08),transparent 33%),radial-gradient(circle at 24% 80%,rgba(100,116,139,.07),transparent 35%),var(--dashboard-theme-shell);box-shadow:var(--dashboard-theme-shadow-shell)}.dashboard-page .card{border-radius:24px;border:1px solid var(--dashboard-theme-border);background:var(--dashboard-theme-surface);box-shadow:var(--dashboard-theme-shadow-card)}.dashboard-page .card-header{border-bottom:none;background:transparent}.dashboard-page .status-badge{border:1px solid var(--dashboard-theme-border-strong);background:#f8faffe6;color:#475569;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}.dashboard-page .dashboard-hero{border-color:var(--dashboard-theme-border);background:linear-gradient(135deg,#f7f9ff,#edf3ff);box-shadow:0 14px 28px #0f172a12}.dashboard-page .dashboard-hero-copy h1{margin:4px 0 6px;font-size:clamp(30px,4vw,42px);line-height:1.08;letter-spacing:-.02em;color:#0b1633}.dashboard-page .dashboard-layout{gap:16px}.dashboard-page .dashboard-nav{border:1px solid var(--dashboard-theme-border);background:var(--dashboard-theme-surface)}.dashboard-page .dashboard-nav-toggle{border:1px solid var(--dashboard-theme-blue-border);background:var(--dashboard-theme-blue);box-shadow:0 10px 18px #135bec3d}.dashboard-page .dashboard-nav-toggle:hover{background:#1e4fd4;box-shadow:0 12px 22px #135bec52}.dashboard-page .dashboard-nav-item{border:1px solid var(--dashboard-theme-border);background:var(--dashboard-theme-surface-soft);color:#1e293b}.dashboard-page .dashboard-nav-item:hover{background:#f8fafc;border-color:#d2dbe8;box-shadow:0 8px 14px #0f172a14}.dashboard-page .dashboard-nav-item.is-active{background:var(--dashboard-theme-blue-soft);border-color:var(--dashboard-theme-blue-border);color:var(--dashboard-theme-blue);box-shadow:0 10px 18px #135bec29}.dashboard-page .dashboard-nav-item.is-complete{background:var(--dashboard-theme-green-soft);border-color:var(--dashboard-theme-green-border);color:var(--dashboard-theme-green-text)}.dashboard-page .dashboard-nav-item.is-locked{background:#f8fafc;border-color:#e2e8f0;color:#94a3b8;opacity:.62}.dashboard-page .dashboard-nav-item.is-locked:hover{background:#f8fafc;border-color:#e2e8f0}.dashboard-page .dashboard-nav-text,.dashboard-page .dashboard-nav-time,.dashboard-page .dashboard-nav-percent,.dashboard-page .dashboard-muted{color:var(--dashboard-theme-muted)}.dashboard-page .dashboard-nav-collapsed-number{color:#334155}.dashboard-page .dashboard-content-header strong{color:var(--dashboard-theme-text);font-size:18px;letter-spacing:-.01em}.dashboard-page .dashboard-section-markdown{color:#1f2937}.dashboard-page .dashboard-knowledge-check{border:1px solid var(--dashboard-theme-border);border-radius:18px;background:#fff;box-shadow:0 8px 18px #0f172a0f}.dashboard-page .dashboard-knowledge-check h3{color:var(--dashboard-theme-text)}.dashboard-page .dashboard-knowledge-check-instructions{color:#475569}.dashboard-page .dashboard-knowledge-check label{color:#1e293b}.dashboard-page .dashboard-knowledge-check textarea{border:1px solid #d1d9e6;border-radius:12px;background:#fcfdff}.dashboard-page .dashboard-knowledge-check textarea:focus{border-color:#bfd3fb;box-shadow:0 0 0 3px #135bec29}.dashboard-page .dashboard-form-error{color:#b91c1c}.dashboard-page .dashboard-form-success{color:#047857}.dashboard-page .dashboard-glossary-term{color:var(--dashboard-theme-blue);text-decoration-color:#135bec57}.dashboard-page .dashboard-glossary-term:hover{color:#1e4fd4;text-decoration-color:#1e4fd4b3}.dashboard-page .dashboard-glossary-popover{border:1px solid var(--dashboard-theme-border);border-radius:16px;box-shadow:0 18px 30px #0f172a2e}.dashboard-page .dashboard-glossary-popover-head button{border-radius:999px;border:1px solid var(--dashboard-theme-border-strong);background:#fff;color:#334155}.dashboard-page .dashboard-glossary-mic{border:1px solid var(--dashboard-theme-green-border);background:#ecfdf5;color:#047857}.dashboard-page .dashboard-glossary-mic:hover{background:#d1fae5}.dashboard-page .btn{background:linear-gradient(180deg,#2a63e8,#1e4fd4);border-color:transparent;color:#fff;border-radius:999px;min-height:38px;padding:8px 16px;font-size:13px;box-shadow:0 10px 18px #2563eb47}.dashboard-page .btn:hover{background:linear-gradient(180deg,#1f58de,#1b4ac4);box-shadow:0 12px 20px #1d4ed84d}.dashboard-page .btn.secondary{background:#fff;border-color:var(--dashboard-theme-border-strong);color:#334155;box-shadow:0 6px 12px #0f172a0d}.dashboard-page .btn.secondary:hover{background:#f8fafc;color:var(--dashboard-theme-text);box-shadow:0 8px 16px #0f172a14}.dashboard-page .btn.ghost{background:#f8fafc;border-color:var(--dashboard-theme-border-strong);color:#334155;box-shadow:0 4px 10px #0f172a0a}.dashboard-page .dashboard-next{border-radius:999px;border:1px solid #c8d8f3;background:#f8fbff;color:#1e3a8a;font-weight:700;min-height:40px;padding:8px 16px;box-shadow:0 8px 14px #0f172a0f}.dashboard-page .dashboard-next:hover{background:#eef4ff;border-color:#bfd3fb;box-shadow:0 10px 18px #0f172a14}.dashboard-page .dashboard-next:disabled{background:#f8fafc;border-color:#e2e8f0;color:#94a3b8}@media(max-width:720px){.dashboard-page .dashboard-header-inner{padding:0 14px}.dashboard-page .dashboard-brand-title{font-size:14px}.dashboard-page .dashboard{margin:12px auto 32px;padding:14px;border-radius:24px}}@keyframes dashboard-wave{0%,to{transform:scaleY(.7)}50%{transform:scaleY(1.1)}}@media(max-width:720px){.dashboard-activity-grid{grid-template-columns:1fr}}@keyframes dashboard-fade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes dashboard-reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes page-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes page-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@media(prefers-reduced-motion:reduce){.dashboard-nav-item,.dashboard-content-body,.dashboard-reveal,.dashboard-transition.is-active{transition:none;animation:none}.app-route-shell.is-entering{animation:none}::view-transition-old(root),::view-transition-new(root){animation:none}}@media(max-width:720px){.dashboard-layout,.dashboard-layout.is-collapsed{grid-template-columns:1fr}.dashboard-nav{position:static;max-height:none}.dashboard-nav-body{max-height:none;overflow:visible}.dashboard-layout-sections>.dashboard-sidebar-stack,.dashboard-layout-sections>.dashboard-content{grid-column:auto;grid-row:auto}.dashboard-layout-sections>.dashboard-sidebar-stack{position:static;top:auto}.dashboard-sidebar-videos-body{max-height:none}.dashboard-hero-copy h1{font-size:24px}.dashboard-list-item{flex-direction:column;align-items:flex-start}}.pair-auth-page{min-height:100%;padding:28px 16px 48px;background:radial-gradient(circle at 12% 10%,rgba(255,255,255,.65),transparent 40%),radial-gradient(circle at 88% 24%,rgba(255,255,255,.5),transparent 45%),linear-gradient(145deg,#e7dfee,#c8dced 48%,#cfe2f1);display:grid;place-items:center}.pair-auth-shell{width:min(1120px,100%);display:grid;gap:30px}.pair-auth-title-wrap{text-align:center}.pair-auth-title-wrap h1{margin:0;font-size:clamp(34px,5vw,68px);line-height:1.05;letter-spacing:-.03em;color:#0f2340}.pair-auth-title-wrap p{margin:10px 0 0;color:#5a6f89;font-size:18px;font-weight:500}.pair-auth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.pair-auth-grid.is-independent{grid-template-columns:minmax(0,540px);justify-content:center}.pair-auth-second-slot{min-width:0;opacity:1;transform:translate(0);max-height:900px;overflow:hidden;transition:opacity .32s ease,transform .32s ease,max-height .32s ease}.pair-auth-second-slot.is-hidden{opacity:0;transform:translate(18px);max-height:0;pointer-events:none}.pair-auth-card{border-radius:38px;border:1px solid rgba(221,229,240,.9);background:#fffc;box-shadow:0 16px 34px #0f172a14;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:24px;display:grid;gap:18px}.pair-auth-card-header{display:flex;align-items:center;justify-content:space-between;color:#0f172a;font-size:34px;border-bottom:1px solid #e9eef4;padding-bottom:14px}.pair-auth-card-header strong{font-size:34px;letter-spacing:-.02em}.pair-auth-card-face{min-width:38px;height:38px;border-radius:999px;background:#e5edf8;color:#607894;display:grid;place-items:center;font-size:15px;font-weight:700;opacity:.55}.pair-auth-avatar-shell{display:grid;place-items:center;position:relative;padding-top:8px}.pair-auth-avatar-ring{width:138px;height:138px;border-radius:999px;border:3px dashed #92bff0;background:linear-gradient(180deg,#f8fbff,#edf4fb);display:grid;place-items:center;overflow:hidden}.pair-auth-avatar-image{width:100%;height:100%;object-fit:cover}.pair-auth-avatar-placeholder{width:100%;height:100%;display:grid;place-items:center;font-size:34px;letter-spacing:.03em;color:#426387;font-weight:800;text-transform:uppercase}.pair-auth-avatar-add{position:absolute;right:calc(50% - 72px);bottom:2px;width:36px;height:36px;border-radius:999px;background:#288cf0;color:#fff;display:grid;place-items:center;font-size:24px;box-shadow:0 8px 16px #2563eb59}.pair-auth-form{display:grid;gap:12px}.pair-auth-field{display:grid;gap:6px}.pair-auth-field span{color:#4f6076;font-size:14px;font-weight:600}.pair-auth-input{width:100%;min-height:46px;border-radius:12px;border:1px solid #c3d4e9;background:#fff;color:#0f172a;font-size:16px;font-weight:500;padding:10px 12px;transition:border-color .2s ease,box-shadow .2s ease}.pair-auth-input::placeholder{color:#8ba2bc}.pair-auth-input:focus{outline:none;border-color:#4294ec;box-shadow:0 0 0 3px #4294ec2e}.pair-auth-input:disabled{background:#f4f7fb;color:#6d839e}.pair-auth-primary-btn{width:100%;border-radius:12px;border:1px solid transparent;background:linear-gradient(180deg,#2f95ff,#1d77e5);color:#fff;min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:18px;font-weight:700;letter-spacing:.01em;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;box-shadow:0 10px 18px #2563eb3d}.pair-auth-primary-btn:hover{transform:translateY(-1px);box-shadow:0 14px 24px #3b82f647}.pair-auth-primary-btn:disabled{cursor:not-allowed;opacity:.75;box-shadow:none}.pair-auth-secondary-btn{width:100%;border-radius:999px;border:1px solid #bed3ea;background:#ffffffeb;color:#4f6f92;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:16px;font-weight:600;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.pair-auth-secondary-btn:hover{transform:translateY(-1px);border-color:#8cb4de;box-shadow:0 10px 18px #3b82f624}.pair-auth-secondary-btn:disabled{cursor:wait;opacity:.78;box-shadow:none}.pair-auth-google-icon{width:18px;height:18px;color:currentColor}.pair-auth-profile-meta{display:grid;gap:8px;justify-items:center}.pair-auth-profile-meta p{margin:0;color:#4f6076;font-size:15px;text-align:center}.pair-auth-profile-helper{color:#607792;font-size:13px}.pair-auth-profile-editor{display:grid;gap:12px}.pair-auth-avatar-picker{display:grid;gap:8px}.pair-auth-avatar-picker-label{margin:0;color:#4f6076;font-size:14px;font-weight:600}.pair-auth-avatar-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pair-auth-avatar-option{border:1px solid #cad8e8;border-radius:12px;background:#fff;padding:8px 6px;display:grid;gap:6px;justify-items:center;text-align:center;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.pair-auth-avatar-option:hover{border-color:#7cb1e5;transform:translateY(-1px)}.pair-auth-avatar-option:focus-visible{outline:none;border-color:#4294ec;box-shadow:0 0 0 3px #4294ec33}.pair-auth-avatar-option.is-selected{border-color:#2f8ff8;box-shadow:0 0 0 3px #2f8ff82e}.pair-auth-avatar-option:disabled{cursor:wait;opacity:.75;transform:none}.pair-auth-avatar-option-thumb{width:56px;height:56px;border-radius:999px;overflow:hidden;display:grid;place-items:center;background:#eef5fc;border:1px solid #d1deee}.pair-auth-avatar-option-thumb img{width:100%;height:100%;object-fit:cover}.pair-auth-avatar-option-initials{width:100%;height:100%;border-radius:999px;background:linear-gradient(180deg,#2f95ff,#1d77e5);color:#fff;display:grid;place-items:center;font-size:20px;font-weight:700}.pair-auth-avatar-option-label{color:#516782;font-size:12px;font-weight:600}.pair-auth-editor-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.pair-auth-cancel-btn{border-radius:12px;min-height:50px}.pair-auth-profile-actions{display:flex;gap:14px;justify-content:center}.pair-auth-link-btn{color:#2563eb;text-decoration:underline;font-size:14px}.pair-auth-error{margin:0;padding:10px 12px;border-radius:12px;border:1px solid rgba(220,38,38,.22);background:#fee2e2bf;color:#b91c1c;font-size:14px}.pair-auth-actions{margin-top:20px;display:grid;justify-items:center;gap:20px}.pair-auth-start-btn{width:min(560px,100%);min-height:70px;border-radius:999px;border:1px solid #c6d3e2;background:#d7dde6;color:#7f93ab;font-size:40px;font-weight:800;letter-spacing:-.02em;transition:transform .2s ease,background-color .2s ease,color .2s ease}.pair-auth-start-btn:disabled{cursor:not-allowed}.pair-auth-start-btn:not(:disabled){background:linear-gradient(180deg,#2f95ff,#1d77e5);border-color:transparent;color:#fff;box-shadow:0 16px 30px #2563eb59}.pair-auth-start-btn:not(:disabled):hover{transform:translateY(-2px)}.pair-auth-independent-link{border:none;background:transparent;cursor:pointer;text-decoration:none;color:#5a6f89;font-size:28px}.pair-auth-independent-link strong{color:#344860}@media(max-width:1024px){.pair-auth-grid,.pair-auth-grid.is-independent{grid-template-columns:1fr}}@media(max-width:720px){.pair-auth-title-wrap p{font-size:16px}.pair-auth-card-header{font-size:24px}.pair-auth-card-header strong{font-size:30px}.pair-auth-primary-btn{font-size:18px}.pair-auth-secondary-btn{font-size:14px}.pair-auth-avatar-options{grid-template-columns:repeat(2,minmax(0,1fr))}.pair-auth-profile-actions{flex-direction:column;align-items:center}.pair-auth-start-btn{font-size:28px;min-height:60px}.pair-auth-independent-link{font-size:18px;text-align:center}}.video-library-page{width:min(920px,100%);margin:22px auto 42px;padding:20px;border-radius:30px;border:1px solid #d5e2f4;background:radial-gradient(circle at 100% 0%,rgba(59,130,246,.12),transparent 28%),radial-gradient(circle at 0% 100%,rgba(16,185,129,.1),transparent 32%),#f8fbff;box-shadow:0 24px 52px #0f172a1f}.video-library-header{margin-bottom:16px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.video-library-header-copy{min-width:0}.video-library-header-actions{margin-left:auto;display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.video-library-page .video-library-header-actions .btn.secondary{min-height:36px;border-radius:999px;font-size:12px;padding:8px 13px;border-color:#d7dfe9;background:#fff;color:#334155;box-shadow:0 6px 12px #0f172a0d}.video-library-page .video-library-header-actions .btn.secondary:hover{background:#f8fafc;color:#0f172a;box-shadow:0 8px 16px #0f172a14}.video-library-eyebrow{margin:0 0 4px;text-transform:uppercase;letter-spacing:.1em;color:#2563eb;font-size:12px;font-weight:700}.video-library-header h1{margin:0;font-size:clamp(24px,4.4vw,34px);letter-spacing:-.02em}.video-library-header p{margin:8px 0 0;color:#475569}.video-library-track-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.video-library-track-card{padding:14px;border-radius:18px;border:1px solid #dbeafe;background:#fff;display:grid;gap:8px;box-shadow:0 10px 18px #0f172a0f}.video-library-track-card.is-active{border-color:#60a5fa;box-shadow:0 14px 24px #3b82f62e}.video-library-track-card h2{margin:0;font-size:16px}.video-library-track-card p{margin:0;color:#475569;font-size:13px;min-height:36px}.video-library-track-card button{border-radius:12px;border:1px solid #bfdbfe;background:#eff6ff;padding:10px 12px;font-weight:700;color:#1d4ed8;transition:transform .2s ease,box-shadow .2s ease}.video-library-card-link{border-radius:12px;border:1px solid #bfdbfe;background:#eff6ff;padding:10px 12px;font-weight:700;color:#1d4ed8;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:transform .2s ease,box-shadow .2s ease}.video-library-track-card button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 16px #3b82f62e}.video-library-card-link:hover{transform:translateY(-1px);box-shadow:0 10px 16px #3b82f62e}.video-library-track-card.is-disabled{opacity:.72}.video-library-track-card.is-disabled button{background:#f1f5f9;color:#64748b;border-color:#e2e8f0}.video-library-workspace{border:1px solid #dbeafe;border-radius:24px;background:#fff;box-shadow:0 18px 28px #0f172a14;overflow:hidden}.video-library-tab-row{display:flex;gap:8px;padding:14px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.video-library-tab-row button{padding:10px 14px;border-radius:999px;border:1px solid #dbeafe;background:#fff;color:#475569;font-weight:700}.video-library-tab-row button.is-active{border-color:#3b82f6;background:#eff6ff;color:#1d4ed8}.video-library-shell{display:grid;grid-template-columns:minmax(250px,300px) 1fr;height:clamp(620px,calc(100vh - 220px),760px);min-height:640px}.video-library-sidebar{border-right:1px solid #e2e8f0;padding:16px;background:#f8fbff;display:flex;flex-direction:column;gap:12px;overflow:hidden;min-height:0}.video-library-search{display:grid;gap:8px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#475569;font-weight:700}.video-library-search input{width:100%;border-radius:12px;border:1px solid #cbd5e1;background:#fff;padding:11px 12px}.video-library-count,.video-library-package-label{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:700}.video-library-source-status{margin:6px 0 0;font-size:11px;color:#b45309}.video-library-module-list{display:grid;gap:8px}.video-library-module-groups{gap:10px}.video-library-module-group{border:1px solid #dbeafe;border-radius:16px;padding:10px;background:#fff;display:grid;gap:10px}.video-library-module-header{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start}.video-library-module-header strong{display:block;font-size:13px}.video-library-module-header span{color:#64748b;font-size:11px}.video-library-module-videos{display:grid;gap:8px}.video-library-module-dot{width:9px;height:9px;border-radius:999px;margin-top:6px;background:#cbd5e1}.video-library-module-dot.is-ready{background:#22c55e}.video-library-scroll-list{display:grid;flex:1 1 auto;gap:8px;align-content:start;overflow:auto;min-height:0;padding-right:4px}.video-library-item{text-align:left;padding:10px;border-radius:14px;border:1px solid #e2e8f0;background:#fff;display:grid;gap:4px;min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:break-word;align-content:start}.video-library-item.is-active{border-color:#60a5fa;background:#eff6ff}.video-library-item strong{display:block;font-size:13px;line-height:1.3;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}.video-library-item span{display:block;font-size:11px;color:#64748b;line-height:1.35;min-width:0;max-width:100%;white-space:normal;word-break:break-word;overflow-wrap:anywhere}.video-library-empty{margin:8px 0 0;color:#64748b;font-size:13px}.video-library-main{padding:16px;display:grid;grid-template-rows:auto auto;gap:12px;align-content:start;min-height:0;overflow:auto}.video-library-player-wrap{border-radius:20px;overflow:hidden;background:#0f172a;box-shadow:0 18px 32px #0f172a3d}.video-playback-surface{display:grid;gap:10px}.video-library-player{width:100%;aspect-ratio:16 / 10;display:block;background:#0f172a}.video-library-player-placeholder{aspect-ratio:16 / 10;display:grid;place-items:center;color:#cbd5e1;padding:16px;text-align:center}.video-playback-placeholder-copy{display:grid;gap:8px;max-width:420px}.video-playback-placeholder-copy p{margin:0}.video-library-detail-card{border-radius:16px;border:1px solid #dbeafe;padding:12px 14px;background:linear-gradient(135deg,#fff,#f8fbff)}.video-library-detail-card h2{margin:0;font-size:clamp(16px,3.2vw,24px);line-height:1.25}.video-library-detail-card p{margin:6px 0 0;color:#475569;font-weight:600}.video-library-player-frame{border:0}.video-library-player-file{border:0;object-fit:contain}.video-playback-actions{display:grid;gap:8px}.video-playback-status{display:inline-flex;align-items:center;justify-content:center;width:fit-content;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:700;letter-spacing:.02em}.video-playback-status.is-ready{background:#dcfce7;color:#166534}.video-playback-status.is-pending{background:#eff6ff;color:#1d4ed8}.video-playback-status.is-warning{background:#fff7ed;color:#c2410c}.video-playback-button-row{display:flex;flex-wrap:wrap;gap:8px}.video-playback-message{margin:0;font-size:12px;color:#475569}.video-playback-message.is-error{color:#b91c1c}.video-library-detail-meta{margin-top:8px;display:grid;gap:8px}.video-library-detail-meta p{margin:0;font-weight:500}.video-library-vocab-chips{display:flex;flex-wrap:wrap;gap:6px}.video-library-vocab-chip{font-family:inherit;line-height:1.2;border-radius:999px;border:1px solid #c7d2fe;background:#eef2ff;color:#3730a3;font-size:11px;font-weight:700;padding:5px 10px;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.video-library-vocab-chip:hover{background:#e0e7ff;border-color:#a5b4fc}.video-library-vocab-chip:focus-visible{outline:2px solid rgba(59,130,246,.45);outline-offset:2px}.video-library-transcript{border:1px solid #dbeafe;border-radius:12px;background:#fff;padding:8px 10px}.video-library-transcript summary{cursor:pointer;color:#1d4ed8;font-size:12px;font-weight:700}.video-library-transcript p{margin:8px 0 0;color:#334155;font-size:12px;line-height:1.45;font-weight:400}.video-library-transcript-body{white-space:pre-wrap}.video-library-glossary-term{border:0;background:transparent;color:#1d4ed8;font-family:inherit;font-size:inherit;line-height:inherit;padding:0;margin:0;font-weight:700;cursor:pointer;text-decoration:underline;text-decoration-color:#1d4ed866;text-underline-offset:2px;text-decoration-thickness:1px;transition:color .2s ease,text-decoration-color .2s ease}.video-library-glossary-term:hover{color:#1e40af;text-decoration-color:#1e40afbf}.video-library-glossary-term:focus-visible{outline:2px solid rgba(37,99,235,.45);outline-offset:1px}.video-library-vocab-defs{margin-top:8px;max-height:220px;overflow:auto;display:grid;gap:6px;padding-right:4px}.video-library-vocab-defs p{margin:0}.video-library-glossary-popover{position:fixed;width:min(320px,calc(100vw - 24px));border-radius:14px;border:1px solid #93c5fd;background:#fff;box-shadow:0 18px 32px #0f172a33;padding:12px;z-index:30;display:grid;gap:8px}.video-library-glossary-popover-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.video-library-glossary-popover-head strong{font-size:16px;color:#0f172a}.video-library-glossary-popover-head button{border-radius:10px;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:700;padding:6px 10px}.video-library-glossary-spelling{margin:0;font-size:12px;color:#1f2937}.video-library-glossary-phonetic{margin:0;font-size:13px;color:#475569}.video-library-glossary-definition{margin:0;color:#1f2937;line-height:1.45;font-size:14px}.video-library-glossary-mic{justify-self:start;border-radius:10px;border:1px solid #a7f3d0;background:#ecfdf5;color:#047857;font-size:12px;font-weight:700;padding:6px 12px}.video-library-glossary-mic:hover{background:#d1fae5}.video-library-action-link,.video-library-youtube-link{font-family:inherit;display:inline-flex;align-items:center;justify-content:center;width:fit-content;text-decoration:none;border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:700;padding:8px 10px;line-height:1.2;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.video-library-action-link:hover,.video-library-youtube-link:hover{background:#dbeafe;border-color:#93c5fd}.video-library-action-link:focus-visible,.video-library-youtube-link:focus-visible{outline:2px solid rgba(59,130,246,.35);outline-offset:2px}.video-library-action-link:disabled{opacity:.55;cursor:default}.video-library-action-link.is-remove{border-color:#fed7aa;background:#fff7ed;color:#c2410c}.video-library-action-link.is-remove:hover{background:#ffedd5;border-color:#fdba74}.video-library-footer{margin-top:14px;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}@media(max-width:980px){.video-library-track-grid{grid-template-columns:1fr}.video-library-shell{grid-template-columns:1fr;height:auto;min-height:0}.video-library-sidebar{border-right:none;border-bottom:1px solid #e2e8f0;max-height:320px}.video-library-main{padding-top:12px}}@media(max-width:700px){.video-library-header-actions{width:100%;margin-left:0;justify-content:flex-start}}@media(min-width:768px)and (max-width:1024px)and (orientation:portrait){.video-library-page{width:min(860px,100%);min-height:calc(100vh - 42px);margin-top:12px;margin-bottom:20px;border-radius:24px}.video-library-shell{min-height:700px;grid-template-columns:minmax(230px,270px) 1fr}.video-library-page:not(.assets-library-page):not(.vocab-dictionary-page) .video-library-shell{min-height:700px;grid-template-columns:minmax(240px,285px) 1fr}.video-library-page:not(.assets-library-page):not(.vocab-dictionary-page) .video-library-sidebar{max-height:clamp(440px,52dvh,560px);min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;align-self:start}.video-library-page:not(.assets-library-page):not(.vocab-dictionary-page) .video-library-scroll-list{overflow-y:auto;overflow-x:hidden;min-height:0;padding-right:4px;padding-bottom:8px}.video-library-main{padding:14px}.video-library-player{aspect-ratio:16 / 11}}.vocab-dictionary-page{background:radial-gradient(circle at 100% 0%,rgba(16,185,129,.14),transparent 28%),radial-gradient(circle at 0% 100%,rgba(14,165,233,.1),transparent 32%),#f8fbff}.vocab-dictionary-page .video-library-eyebrow{color:#0f766e}.vocab-dictionary-page .video-library-track-card.is-active{border-color:#6ee7b7;box-shadow:0 14px 24px #10b98133}.vocab-dictionary-shell{grid-template-columns:minmax(280px,340px) 1fr}.vocab-dictionary-shell .video-library-sidebar{overflow:hidden;overscroll-behavior:contain}.vocab-dictionary-shell .video-library-scroll-list{flex:1}.vocab-dictionary-unit-list{display:grid;gap:8px;align-content:start;overflow:auto;min-height:0;flex:1;padding-right:4px}.vocab-dictionary-unit-group{border:1px solid #dbeafe;border-radius:16px;background:#fff;overflow:hidden}.vocab-dictionary-unit-group.is-expanded{border-color:#6ee7b7}.vocab-dictionary-unit-button{width:100%;text-align:left;padding:10px;border-radius:0;border:none;background:#fff;display:grid;gap:4px;min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:break-word;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.vocab-dictionary-unit-button strong{display:block;font-size:13px;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}.vocab-dictionary-unit-button span{display:block;font-size:11px;color:#64748b;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}.vocab-dictionary-unit-meta{display:flex;align-items:flex-start;justify-content:flex-start;flex-wrap:wrap;gap:8px}.vocab-dictionary-unit-button:hover{background:#f8fafc}.vocab-dictionary-unit-button.is-active{background:#ecfdf5}.vocab-dictionary-unit-chapters{display:grid;gap:8px;padding:0 10px 10px}.vocab-dictionary-unit-chapter-button span{font-size:11px;color:#64748b}.vocab-dictionary-main-term-picker{display:grid;gap:10px}.vocab-dictionary-main-term-list{display:grid;gap:8px;align-content:start;max-height:min(52vh,560px);overflow:auto;padding-right:4px}.vocab-dictionary-term-button span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.vocab-dictionary-definition-card{border-radius:18px;border:1px solid #bbf7d0;background:linear-gradient(135deg,#fff,#f0fdf4);padding:16px;box-shadow:0 14px 24px #0f172a14;display:grid;align-content:start;gap:8px}.vocab-dictionary-definition-card h2{margin:6px 0 2px;font-size:clamp(20px,3.4vw,30px);line-height:1.2}.vocab-dictionary-definition-card p{margin:0;color:#1f2937;line-height:1.6}.vocab-dictionary-spelling{font-size:13px;font-weight:600;color:#334155}.vocab-dictionary-phonetic{font-size:13px;color:#475569;font-family:inherit}.vocab-dictionary-mic{justify-self:start;width:34px;height:34px;border-radius:999px;border:1px solid #a7f3d0;background:#ecfdf5;color:#047857;display:inline-flex;align-items:center;justify-content:center;padding:0}.vocab-dictionary-mic svg{width:16px;height:16px;fill:currentColor}.vocab-dictionary-mic:hover{background:#d1fae5}.vocab-dictionary-definition{margin-top:2px}.vocab-dictionary-page .video-library-main.is-chapter-view .vocab-dictionary-definition-card{grid-template-rows:auto auto auto auto auto minmax(0,1fr);min-height:clamp(220px,34dvh,320px);max-height:clamp(220px,34dvh,320px);overflow:hidden}.vocab-dictionary-page .video-library-main.is-chapter-view .vocab-dictionary-definition{overflow-y:auto;min-height:0;padding-right:4px}.vocab-dictionary-tag-list{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}.vocab-dictionary-tag{border-radius:999px;border:1px solid #a7f3d0;background:#d1fae5;color:#047857;font-size:11px;font-weight:700;padding:6px 10px}@media(min-width:981px){.vocab-dictionary-page{display:flex;flex-direction:column;height:calc(100vh - 44px);min-height:calc(100vh - 44px)}.vocab-dictionary-page .video-library-workspace{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.vocab-dictionary-shell{height:100%;min-height:0;flex:1 1 auto}.vocab-dictionary-shell .video-library-sidebar{min-height:0;overflow:hidden}.vocab-dictionary-unit-list{flex:1 1 auto;min-height:0;overflow-y:auto;padding-bottom:8px}.vocab-dictionary-shell .video-library-main.is-chapter-view{grid-template-rows:auto minmax(0,1fr);min-height:0;overflow:hidden}.vocab-dictionary-main-term-picker{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0}.vocab-dictionary-main-term-list{max-height:none;min-height:0;overflow-y:auto}}@media(max-width:980px){.vocab-dictionary-shell{grid-template-columns:1fr}.vocab-dictionary-shell .video-library-sidebar{max-height:56vh}}@media(min-width:768px)and (max-width:1024px){.vocab-dictionary-page .vocab-dictionary-shell .video-library-sidebar{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y}.vocab-dictionary-page .vocab-dictionary-unit-list,.vocab-dictionary-page .vocab-dictionary-shell .video-library-scroll-list{overflow:visible;flex:0 0 auto;min-height:auto;padding-right:0}}@media(min-width:768px)and (max-width:1024px)and (orientation:portrait){.vocab-dictionary-page .vocab-dictionary-shell .video-library-sidebar{max-height:clamp(460px,68dvh,700px);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y}.vocab-dictionary-page .vocab-dictionary-unit-list{overflow:visible;flex:0 0 auto;min-height:auto;padding-bottom:12px}.vocab-dictionary-page .vocab-dictionary-unit-chapters{padding-bottom:12px}.vocab-dictionary-page .video-library-main.is-chapter-view .vocab-dictionary-main-term-list{gap:10px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;padding-right:4px;padding-bottom:8px}.vocab-dictionary-page .video-library-main.is-chapter-view .vocab-dictionary-term-button{padding:12px;min-height:76px}.vocab-dictionary-page .video-library-main.is-chapter-view .vocab-dictionary-term-button span{-webkit-line-clamp:3;line-height:1.35}}@media(orientation:landscape)and (min-width:1024px)and (max-width:1400px)and (any-pointer:coarse){.video-library-page:not(.assets-library-page):not(.vocab-dictionary-page) .video-library-shell{grid-template-columns:minmax(320px,360px) 1fr;height:clamp(640px,calc(100vh - 200px),760px)}.video-library-page:not(.assets-library-page):not(.vocab-dictionary-page) .video-library-item{padding:12px;gap:6px}.video-library-page:not(.assets-library-page):not(.vocab-dictionary-page) .video-library-sidebar{padding:18px;min-height:0}.video-library-page:not(.assets-library-page):not(.vocab-dictionary-page) .video-library-scroll-list{gap:10px;padding-right:6px;padding-bottom:8px}.articles-library-page .assets-library-shell{grid-template-columns:minmax(340px,380px) 1fr;height:clamp(640px,calc(100vh - 200px),760px)}.articles-library-page .video-library-item{padding:12px;gap:6px}.articles-library-page .video-library-sidebar{padding:18px;min-height:0}.articles-library-page .video-library-scroll-list{gap:10px;padding-right:6px;padding-bottom:8px}.vocab-dictionary-page .vocab-dictionary-shell .video-library-sidebar{height:100%;max-height:none;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y}.vocab-dictionary-page .vocab-dictionary-unit-list{overflow:visible;flex:0 0 auto;min-height:auto;padding-bottom:12px}.vocab-dictionary-page .vocab-dictionary-unit-chapters{padding-bottom:12px}.vocab-dictionary-page .vocab-dictionary-shell .video-library-scroll-list{overflow-y:auto;overflow-x:hidden;flex:1 1 auto;min-height:0;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;padding-right:4px;padding-bottom:8px}.vocab-dictionary-page .video-library-main.is-chapter-view .vocab-dictionary-main-term-list{gap:10px}.vocab-dictionary-page .video-library-main.is-chapter-view .vocab-dictionary-term-button{padding:12px;min-height:76px}.vocab-dictionary-page .video-library-main.is-chapter-view .vocab-dictionary-term-button span{-webkit-line-clamp:3;line-height:1.35}.vocab-dictionary-page .video-library-main.is-chapter-view .vocab-dictionary-definition-card{min-height:clamp(220px,36dvh,300px);max-height:clamp(220px,36dvh,300px)}.vocab-dictionary-page .video-library-main.is-chapter-view .vocab-dictionary-definition{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;min-height:0}}.assets-library-page{background:radial-gradient(circle at 100% 0%,rgba(139,92,246,.14),transparent 28%),radial-gradient(circle at 0% 100%,rgba(34,197,94,.1),transparent 32%),#f8fbff}.assets-library-page .video-library-eyebrow{color:#6d28d9}.assets-library-page .video-library-track-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.assets-library-page .video-library-track-card.is-active{border-color:#c4b5fd;box-shadow:0 14px 24px #8b5cf633}.articles-library-page .video-library-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:12px}.articles-library-page .video-library-header-actions{margin-left:0;justify-self:end}.assets-library-shell{grid-template-columns:minmax(280px,340px) 1fr}.assets-library-main{gap:10px}.assets-library-tags{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}.assets-library-tag{border-radius:999px;border:1px solid #ddd6fe;background:#f5f3ff;color:#6d28d9;font-size:11px;font-weight:700;padding:5px 9px}.assets-library-preview-card{border-radius:16px;border:1px solid #dbeafe;background:#fff;padding:12px;box-shadow:0 10px 20px #0f172a14}.assets-library-preview-image{width:100%;max-height:360px;object-fit:contain;border-radius:12px;background:#f8fafc}.assets-library-preview-audio{width:100%}.assets-library-preview-document{border:1px dashed #cbd5e1;border-radius:12px;padding:14px;background:#f8fafc}.assets-library-preview-document strong{display:block;font-size:14px;color:#1e293b}.assets-library-preview-document p{margin:6px 0 0;color:#475569}.assets-library-preview-pdf,.assets-library-preview-office{width:100%;min-height:520px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.assets-library-preview-note{margin-top:8px;font-size:12px;color:#64748b}.assets-library-actions{display:flex;flex-wrap:wrap;gap:8px}.assets-library-action-button{border-radius:12px;border:1px solid #bfdbfe;background:#eff6ff;padding:10px 12px;font-weight:700;color:#1d4ed8;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:transform .2s ease,box-shadow .2s ease}.assets-library-action-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 16px #3b82f62e}.assets-library-action-button:disabled{opacity:.55;cursor:not-allowed}.assets-library-snippets{border-radius:16px;border:1px solid #e2e8f0;background:#fff;padding:12px;display:grid;gap:8px}.assets-library-snippets pre{margin:0;border:1px solid #dbeafe;border-radius:12px;background:#f8fbff;padding:10px;white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.4}.assets-library-status{margin:0;color:#047857;font-weight:600}.articles-reader-modal-overlay{position:fixed;inset:0;z-index:60;background:#0f172a8a;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.articles-reader-modal{width:min(1240px,100%);height:min(94vh,1040px);border-radius:22px;border:1px solid #dbe5f4;background:#fff;box-shadow:0 24px 52px #0f172a4d;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.articles-reader-modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px 12px;border-bottom:1px solid #e2e8f0;background:linear-gradient(140deg,#eff6ffe0,#f5f3ffe0)}.articles-reader-modal-header h2{margin:0;font-size:clamp(20px,2.5vw,30px);line-height:1.2}.articles-reader-modal-header p{margin:5px 0 0;color:#475569}.articles-reader-modal-actions{display:flex;flex-wrap:wrap;gap:8px}.articles-reader-modal-body{min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;padding:14px;background:#f8fbff}.articles-reader-modal-footer{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid #e2e8f0;background:#fff;padding:10px max(16px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.articles-reader-modal-frame{width:100%;min-height:max(66vh,620px);border:1px solid #d4deee;border-radius:12px;background:#fff}@media(max-width:980px){.assets-library-page .video-library-track-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assets-library-shell{grid-template-columns:1fr}.assets-library-preview-pdf,.assets-library-preview-office{min-height:420px}.articles-reader-modal{height:min(95vh,980px)}.articles-reader-modal-header{flex-direction:column;align-items:stretch}}@media(max-width:700px){.assets-library-page .video-library-track-grid,.articles-library-page .video-library-header{grid-template-columns:1fr}.articles-library-page .video-library-header-actions{justify-self:start;width:100%}.articles-reader-modal{width:100%;height:100%;border-radius:14px}.articles-reader-modal-body{padding:10px}.articles-reader-modal-frame{min-height:max(58vh,480px)}}@media(min-width:768px)and (max-width:1024px)and (orientation:portrait){.articles-library-page .video-library-sidebar,.assets-library-page .video-library-sidebar{max-height:clamp(420px,48dvh,560px);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y}.articles-library-page .video-library-scroll-list,.assets-library-page .video-library-scroll-list{overflow-y:auto;overflow-x:hidden;min-height:0;padding-right:4px;padding-bottom:8px}}.hub-landing-page{min-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:12px 14px 108px;display:flex;justify-content:center;font-family:"Inter",var(--font-sans);background:#f5f6fa}.hub-landing-shell{width:min(980px,100%);min-height:100%;border-radius:36px;border:1px solid #e1e6ef;background:radial-gradient(circle at 56% 40%,rgba(19,91,236,.09),transparent 33%),radial-gradient(circle at 24% 80%,rgba(100,116,139,.08),transparent 35%),#f6f7fa;box-shadow:0 18px 38px #0f172a14;padding:clamp(18px,2.8vw,26px);display:grid;grid-template-rows:auto auto 1fr;gap:clamp(10px,1.5vh,18px)}.hub-landing-shell.has-bottom-cta{grid-template-rows:auto auto auto auto}.hub-landing-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.hub-landing-brand{display:inline-flex;align-items:center;gap:12px}.hub-landing-brand-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:url(/images/chatbot-icon.svg) center / 30px 30px no-repeat,#e8eefc;color:#135bec}.hub-landing-brand-icon svg{display:none}.hub-landing-brand strong{display:block;font-size:clamp(22px,2.4vw,28px);line-height:1;letter-spacing:-.01em;color:#0f172a}.hub-landing-brand span{display:block;margin-top:2px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#64748b;font-weight:700}.hub-landing-topbar-actions{display:inline-flex;align-items:center;gap:8px}.hub-landing-logout-btn{min-height:36px;border-radius:999px;font-size:12px;padding:8px 13px}.hub-landing-session{text-decoration:none;color:inherit;border:1px solid #d9e0ea;border-radius:999px;background:#ffffffeb;display:inline-flex;align-items:center;gap:12px;min-height:52px;padding:7px 12px;transition:border-color .2s ease,box-shadow .2s ease}.hub-landing-session:hover{border-color:#b7c7e6;box-shadow:0 8px 18px #0f172a17}.hub-landing-avatar-stack{display:inline-flex;align-items:center}.hub-landing-avatar{width:36px;height:36px;border-radius:999px;border:2px solid #fff;margin-left:-9px;overflow:hidden;background:#e2e8f0;color:#334155;display:grid;place-items:center;font-size:12px;font-weight:700}.hub-landing-avatar:first-child{margin-left:0}.hub-landing-avatar-image{width:100%;height:100%;object-fit:cover}.hub-landing-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%}.hub-landing-session-copy{display:grid;gap:1px}.hub-landing-session-copy strong{font-size:13px;color:#0f172a}.hub-landing-session-copy span{font-size:12px;color:#64748b}.hub-landing-hero{text-align:center;padding-top:8px}.hub-landing-hero h1{margin:0;font-size:clamp(48px,6.1vw,74px);line-height:1.03;letter-spacing:-.025em;color:#0b1633;font-weight:700}.hub-landing-hero p{margin:10px 0 0;color:#4f627d;font-size:clamp(17px,2vw,23px);font-weight:500}.hub-landing-portals{border:1px solid #e3e8f0;border-radius:30px;background:#ffffffd1;box-shadow:0 14px 28px #0f172a0f;padding:clamp(10px,1.4vw,14px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.4vw,14px)}.hub-landing-portal-card{border:1px solid #e2e8f0;border-radius:22px;background:#fbfcff;padding:clamp(16px,2.1vw,24px);display:flex;flex-direction:column;align-items:flex-start;gap:11px;height:100%}.hub-landing-portal-card.is-learning .hub-landing-portal-icon{color:#135bec;background:#e8efff}.hub-landing-portal-card.is-experiment .hub-landing-portal-icon{color:#10b981;background:#def7ee}.hub-landing-portal-card.is-library .hub-landing-portal-icon{color:#64748b;background:#ebeff5}.hub-landing-portal-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center}.hub-landing-portal-icon svg{width:30px;height:30px;fill:currentColor}.hub-landing-portal-card h2{margin:0;color:#111827;font-size:clamp(24px,2.5vw,30px);line-height:1.1;letter-spacing:-.015em}.hub-landing-portal-card p{margin:0;color:#54657c;font-size:clamp(14px,1.45vw,17px);line-height:1.4}.hub-landing-portal-link{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:999px;border:1px solid #c8d8f3;background:#f8fbff;color:#1e3a8a;text-decoration:none;font-weight:700;font-size:15px;padding:8px 14px}.hub-landing-portal-card.is-learning .hub-landing-portal-link{border-color:#bfd3fb;color:#135bec}.hub-landing-portal-card.is-experiment .hub-landing-portal-link{border-color:#b8e9d6;color:#10b981}.hub-landing-portal-card.is-library .hub-landing-portal-link{border-color:#d7dee8;color:#64748b}.hub-landing-portal-link.is-disabled{border-color:#d4dbe5;background:#f7f8fb;color:#93a2b7;cursor:not-allowed;opacity:1}.hub-landing-bottom-cta{border:1px solid #e3e8f0;border-radius:28px;background:#ffffffd6;box-shadow:0 12px 24px #0f172a0d;padding:clamp(18px,2.2vw,24px);display:grid;place-items:center;text-align:center;gap:14px}.hub-landing-bottom-cta h2{margin:0;color:#0f172a;font-size:clamp(24px,2.8vw,32px);line-height:1.1;letter-spacing:-.02em}.hub-landing-media-video{width:100%;max-width:720px;border-radius:16px;background:#000}.hub-landing-media-audio{width:100%;max-width:520px}.hub-landing-page .btn.secondary,.learning-portal-page .btn.secondary{border-color:#d7dfe9;background:#fff;color:#334155;box-shadow:0 6px 12px #0f172a0d}.hub-landing-page .btn.secondary:hover,.learning-portal-page .btn.secondary:hover{background:#f8fafc;color:#0f172a;box-shadow:0 8px 16px #0f172a14}.library-hub-page{padding-bottom:60px}.library-hub-shell{width:min(1200px,100%);grid-template-rows:auto auto 1fr}.library-hub-hero{padding-top:4px}.library-hub-hero h1{font-size:clamp(44px,5.4vw,66px)}.library-hub-hero p{margin-top:10px}.library-hub-portals{grid-template-columns:repeat(4,minmax(0,1fr))}.library-hub-card .hub-landing-portal-link{min-height:42px}.library-hub-card-actions{margin-top:auto;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.library-hub-card-actions .hub-landing-portal-link{margin-top:0}.library-hub-card .hub-landing-portal-link.is-disabled,.library-hub-card .hub-landing-portal-link.is-disabled:hover{border-color:#d4dbe5;background:#f7f8fb;color:#93a2b7;box-shadow:none;cursor:not-allowed}.library-hub-icon-svg{width:30px;height:30px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.library-hub-icon-svg .library-hub-icon-solid{fill:currentColor;stroke:none}.library-hub-card.is-video .hub-landing-portal-icon{color:#be123c;background:#ffe4e6}.library-hub-card.is-vocab .hub-landing-portal-icon{color:#1d4ed8;background:#dbeafe}.library-hub-card.is-articles .hub-landing-portal-icon{color:#15803d;background:#dcfce7}.library-hub-card.is-assets .hub-landing-portal-icon{color:#6d28d9;background:#ede9fe}.library-hub-card.is-video .hub-landing-portal-link{border-color:#fbcdd3;color:#9f1239}.library-hub-card.is-vocab .hub-landing-portal-link{border-color:#bfdbfe;color:#1d4ed8}.library-hub-card.is-articles .hub-landing-portal-link{border-color:#bbf7d0;color:#15803d}.library-hub-card.is-assets .hub-landing-portal-link{border-color:#ddd6fe;color:#6d28d9}.whiteboard-upload-actions{width:100%;display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.whiteboard-upload-picker{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border-radius:999px;border:1px solid #d4ddeb;background:#fff;color:#0f172a;font-weight:700;font-size:14px;padding:12px 18px;cursor:pointer;box-shadow:0 8px 16px #0f172a0a}.whiteboard-upload-picker input{display:none}.whiteboard-upload-file-summary{min-height:24px}.whiteboard-upload-file-summary p{margin:0;color:#54657c;font-size:14px;line-height:1.45}.group-recording-participants{width:min(100%,560px);border:1px solid #d4ddeb;border-radius:16px;background:#fff;padding:12px 14px;margin:0}.group-recording-participants legend{padding:0 6px;font-size:13px;font-weight:700;color:#475569}.group-recording-participants-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}.group-recording-participant-option{display:inline-flex;align-items:center;gap:8px;color:#0f172a;font-size:14px;line-height:1.4}.group-recording-participant-option input{width:16px;height:16px}.whiteboard-upload-submit{min-height:48px;border:1px solid #bfd3fb;border-radius:999px;background:#f8fbff;color:#135bec;font-weight:700;font-size:15px;padding:10px 18px;cursor:pointer;box-shadow:0 10px 18px #135bec14}.whiteboard-upload-submit:disabled{cursor:wait;opacity:.7}.whiteboard-upload-submit.is-recording{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.whiteboard-upload-status{margin:0;width:min(100%,560px);border-radius:18px;padding:12px 14px;font-size:14px;line-height:1.45;border:1px solid #d7dfe9;background:#f8fafc;color:#475569}.whiteboard-upload-status.is-success{border-color:#a7f3d0;background:#ecfdf5;color:#047857}.whiteboard-upload-status.is-warning{border-color:#fde68a;background:#fffbeb;color:#b45309}.whiteboard-upload-status.is-error{border-color:#fecaca;background:#fef2f2;color:#b91c1c}@media(min-width:768px)and (max-width:1024px)and (orientation:portrait){.hub-landing-page{height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:hidden;padding-top:max(12px,env(safe-area-inset-top))}.hub-landing-shell{height:100%;max-height:100%;grid-template-rows:auto auto 1fr;gap:clamp(8px,1.2vh,14px)}.admin-hub-page{height:auto;min-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-y}.admin-hub-page .admin-hub-shell{height:auto;max-height:none;min-height:100%}.login-hub-page .login-hub-shell{grid-template-rows:auto auto minmax(0,1fr)}.login-hub-page .login-hub-workspace{min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding-right:4px}.hub-landing-hero h1{font-size:clamp(38px,4.6vw,54px);white-space:nowrap}.hub-landing-portal-card{min-height:235px}.library-hub-page:not(.login-hub-page){height:auto;min-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.library-hub-page:not(.login-hub-page) .hub-landing-shell{height:auto;max-height:none;min-height:100%}}@media(max-width:860px){.hub-landing-page{padding-bottom:110px}.hub-landing-topbar{flex-wrap:wrap}.hub-landing-portals{grid-template-columns:1fr}.whiteboard-upload-actions{flex-direction:column;align-items:center}.whiteboard-upload-picker,.whiteboard-upload-submit{width:min(100%,320px);justify-content:center;text-align:center}.group-recording-participants-list{grid-template-columns:1fr}}@media(min-width:861px)and (max-width:1180px){.library-hub-portals{grid-template-columns:repeat(2,minmax(0,1fr))}}.experiment-start-page{position:relative;min-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:hidden;background:radial-gradient(circle at 18% 10%,rgba(196,181,253,.26),transparent 42%),radial-gradient(circle at 84% 16%,rgba(147,197,253,.26),transparent 40%),radial-gradient(circle at 50% 88%,rgba(244,114,182,.14),transparent 46%),#f6f7fb;font-family:"Inter",var(--font-sans);padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.experiment-start-tap-ripple{position:absolute;width:16px;height:16px;border-radius:999px;pointer-events:none;z-index:2;opacity:.46;border:1px solid rgba(168,85,247,.46);background:radial-gradient(circle,rgba(196,181,253,.52) 0%,rgba(168,85,247,.2) 52%,transparent 74%);transform:translate(-50%,-50%) scale(1);animation:experiment-start-tap-ripple .32s ease-out forwards}.experiment-start-shell{position:relative;z-index:1;width:min(980px,100%);min-height:100%;margin:0 auto;display:grid;grid-template-rows:auto 1fr}.experiment-start-header{display:flex;justify-content:flex-end;align-items:center}.experiment-start-back-btn{min-height:36px;border-radius:999px;border:1px solid rgba(255,255,255,.78);background:#ffffffb8;color:#334155;box-shadow:0 10px 24px #0f172a14;padding:7px 14px;font-size:13px}.experiment-start-back-btn:hover{border-color:#e9d5ffe6;background:#ffffffe6}.experiment-start-content{width:min(600px,100%);justify-self:center;align-self:center;text-align:center;display:grid;justify-items:center;gap:8px;padding-top:clamp(8px,1.6vh,16px);padding-bottom:clamp(4px,1.2vh,14px);transform:translateY(clamp(14px,2vh,28px))}.experiment-start-content h1{margin:0;font-size:clamp(38px,5.2vw,60px);line-height:1.08;letter-spacing:-.025em;color:#111827;font-weight:400}.experiment-start-content h1 span{font-weight:700;background:linear-gradient(118deg,#8b5cf6,#d946ef 55%,#ec4899);-webkit-background-clip:text;background-clip:text;color:transparent}.experiment-start-content p{margin:0;font-size:clamp(17px,2vw,28px);line-height:1.25;color:#64748b;font-weight:400}.experiment-start-orb-wrap{position:relative;width:clamp(200px,28vw,310px);aspect-ratio:1 / 1;margin:clamp(12px,2.2vh,22px) 0 clamp(10px,1.8vh,16px);display:grid;place-items:center;animation:experiment-start-float 6s ease-in-out infinite}.experiment-start-orb-glow{position:absolute;inset:-22%;border-radius:50%;background:radial-gradient(circle at 42% 38%,rgba(236,72,153,.34),transparent 46%),radial-gradient(circle at 56% 66%,rgba(167,139,250,.36),transparent 52%),radial-gradient(circle at 56% 44%,rgba(96,165,250,.26),transparent 55%);filter:blur(22px);opacity:.84;animation:experiment-start-pulse 5.6s ease-in-out infinite}.experiment-start-orb-ring{position:absolute;inset:3%;border-radius:50%;background:conic-gradient(from 180deg,#f472b6ad,#a5b4fcb8,#fbcfe8a6,#f472b6ad);filter:blur(24px);opacity:.52;animation:experiment-start-spin 22s linear infinite}.experiment-start-orb-core{position:relative;z-index:2;width:82%;aspect-ratio:1 / 1;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.42);background:radial-gradient(circle at 38% 28%,#ffffff8c,#fff3 46%,#ffffff1f),#ffffff1f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:inset 0 0 34px #ffffff38,0 16px 46px #956bd13b}.experiment-start-orb-sheen{position:absolute;z-index:3;top:19%;left:21%;width:24%;height:12%;border-radius:999px;background:#ffffff57;filter:blur(5px);transform:rotate(-28deg)}.experiment-start-symbol{width:48%;max-width:120px;opacity:.96;filter:hue-rotate(308deg) saturate(.9) brightness(1.06) contrast(.95) drop-shadow(0 0 16px rgba(216,98,222,.32))}.experiment-start-cta{min-height:clamp(50px,6vh,62px);border-radius:18px;border:1px solid rgba(255,255,255,.78);background:#ffffff9e;color:#111827;text-decoration:none;box-shadow:0 16px 30px #0f172a1a;padding:0 clamp(18px,3.2vw,34px);display:inline-flex;align-items:center;justify-content:center;gap:11px;font-size:clamp(19px,2.3vw,26px);font-weight:500;letter-spacing:.01em;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}.experiment-start-cta:hover{transform:translateY(-1px);background:#ffffffc9;box-shadow:0 20px 34px #0f172a24}.experiment-start-cta svg{width:clamp(20px,2.3vw,24px);height:clamp(20px,2.3vw,24px);stroke:#9333ea;stroke-width:2.2;fill:none}.experiment-start-aurora{position:absolute;border-radius:999px;pointer-events:none;filter:blur(86px);opacity:.54;z-index:0}.experiment-start-aurora-one{width:500px;height:470px;top:-150px;left:-150px;background:#c084fcb3;animation:experiment-start-drift-one 14s ease-in-out infinite}.experiment-start-aurora-two{width:480px;height:460px;top:-120px;right:-150px;background:#7dd3fca8;animation:experiment-start-drift-two 16s ease-in-out infinite}.experiment-start-aurora-three{width:560px;height:500px;bottom:-230px;left:50%;transform:translate(-50%);background:#f472b65c;animation:experiment-start-drift-three 18s ease-in-out infinite}@keyframes experiment-start-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes experiment-start-pulse{0%,to{opacity:.72;transform:scale(.97)}50%{opacity:.96;transform:scale(1.05)}}@keyframes experiment-start-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes experiment-start-tap-ripple{0%{opacity:.46;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(17)}}@keyframes experiment-start-drift-one{0%,to{transform:translateZ(0)}50%{transform:translate3d(22px,18px,0)}}@keyframes experiment-start-drift-two{0%,to{transform:translateZ(0)}50%{transform:translate3d(-22px,24px,0)}}@keyframes experiment-start-drift-three{0%,to{transform:translate3d(-50%,0,0)}50%{transform:translate3d(-50%,-24px,0)}}@media(min-width:768px)and (max-width:1024px)and (orientation:portrait){.experiment-start-page{height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding-top:max(18px,env(safe-area-inset-top));padding-bottom:max(18px,env(safe-area-inset-bottom))}.experiment-start-content{width:min(560px,100%);gap:7px;padding-top:clamp(10px,2vh,18px);padding-bottom:clamp(2px,.8vh,8px);transform:translateY(clamp(24px,3.2vh,36px))}.experiment-start-content h1{font-size:clamp(36px,4.4vw,52px)}.experiment-start-orb-wrap{margin-top:clamp(10px,1.8vh,18px);margin-bottom:clamp(8px,1.2vh,14px)}}@media(max-width:760px){.experiment-start-content{width:min(440px,100%);gap:8px;padding-top:clamp(6px,1.2vh,10px);padding-bottom:clamp(4px,1.5vh,10px);transform:translateY(clamp(8px,2vh,16px))}.experiment-start-content h1{font-size:clamp(30px,9vw,42px)}.experiment-start-content p{font-size:clamp(16px,4.8vw,21px)}.experiment-start-orb-wrap{width:clamp(180px,56vw,240px);margin-top:10px;margin-bottom:10px}.experiment-start-cta{width:min(320px,100%);min-height:48px;font-size:clamp(17px,5.2vw,21px)}}@media(prefers-reduced-motion:reduce){.experiment-start-orb-wrap,.experiment-start-orb-glow,.experiment-start-orb-ring,.experiment-start-aurora,.experiment-start-tap-ripple{animation:none!important}.experiment-start-cta{transition:none}}.experiment-workbench-page{position:relative;min-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));overflow:hidden;background:radial-gradient(circle at 18% 11%,rgba(249,168,212,.2),transparent 36%),radial-gradient(circle at 82% 12%,rgba(147,197,253,.22),transparent 38%),radial-gradient(circle at 52% 90%,rgba(216,180,254,.18),transparent 46%),#f6f7fb;font-family:"Inter",var(--font-sans)}.experiment-workbench-aurora{position:absolute;border-radius:999px;pointer-events:none;filter:blur(100px);opacity:.4}.experiment-workbench-aurora-one{width:460px;height:420px;top:-170px;left:-160px;background:#c084fccc}.experiment-workbench-aurora-two{width:500px;height:440px;right:-180px;top:-120px;background:#7dd3fcc2}.experiment-workbench-shell{position:relative;z-index:1;width:min(1420px,100%);margin:0 auto;display:grid;gap:12px}.experiment-workbench-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:8px 8px 0}.experiment-workbench-header h1{margin:0;font-size:clamp(30px,3vw,38px);line-height:1.08;letter-spacing:-.02em;color:#0f172a}.experiment-workbench-eyebrow{margin:0 0 4px;font-size:11px;text-transform:uppercase;letter-spacing:.11em;color:#7c3aed;font-weight:700}.experiment-workbench-subtitle{margin:6px 0 0;color:#475569;font-size:14px}.experiment-workbench-home-btn{border-radius:999px;min-height:38px;padding:8px 14px;border:1px solid rgba(255,255,255,.82);background:#ffffffbf;box-shadow:0 12px 24px #0f172a17;white-space:nowrap}.experiment-workbench-header-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.experiment-workbench-grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:12px;align-items:start}.experiment-workbench-left{display:grid;gap:10px}.experiment-workbench-right{min-height:100%;display:grid;align-content:start;gap:10px}.experiment-workbench-card,.experiment-workbench-notebook-card{border-radius:22px;border:1px solid rgba(222,228,237,.9);background:linear-gradient(150deg,#ffffffed,#f8faffe0);box-shadow:0 20px 40px #0f172a14}.experiment-workbench-card{padding:14px;display:grid;gap:12px}.experiment-workbench-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.experiment-workbench-card-head h2{margin:0;font-size:clamp(20px,2.1vw,26px);letter-spacing:-.01em}.experiment-workbench-card-head p{margin:3px 0 0;font-size:12px;color:#64748b}.experiment-workbench-student-tabs{display:flex;flex-wrap:wrap;gap:8px}.experiment-workbench-tab{border:1px solid #cfd9ea;border-radius:999px;background:#fff;color:#0f172a;padding:8px 14px;font-weight:600}.experiment-workbench-tab.is-active{border-color:#9333ea;background:linear-gradient(135deg,#f5ecff,#eef2ff);color:#6b21a8}.experiment-workbench-agenda-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}.experiment-workbench-agenda-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center}.experiment-workbench-agenda-item.is-seeded{border:1px solid #e3e8f4;border-radius:10px;background:#f8fbff;padding:6px 8px}.experiment-workbench-check{inline-size:20px;block-size:20px;min-inline-size:20px;min-block-size:20px;max-inline-size:20px;max-block-size:20px;flex:0 0 20px;padding:0;line-height:1;appearance:none;-webkit-appearance:none;border:1px solid #d0d8e8;border-radius:999px;background:#fff;display:grid;place-items:center}.experiment-workbench-check span{width:8px;height:8px;border-radius:999px;background:transparent}.experiment-workbench-check.is-done{border-color:#8b5cf6;background:#ede9fed9}.experiment-workbench-check.is-done span{background:#8b5cf6}.experiment-workbench-agenda-item input{border:1px solid #d7dfea;border-radius:10px;background:#ffffffdb;padding:8px 10px;font:inherit}.experiment-workbench-agenda-seeded-text{color:#334155;font-size:13px}.experiment-workbench-seeded-badge{font-size:11px;color:#1d4ed8;border:1px solid #bfdbfe;background:#eff6ff;border-radius:999px;padding:2px 8px}.experiment-workbench-agenda-item.is-done input,.experiment-workbench-agenda-item.is-done .experiment-workbench-agenda-seeded-text{text-decoration:line-through;color:#64748b;opacity:.9}.experiment-workbench-progress-note{margin:0;font-size:12px;color:#334155}.experiment-workbench-remove-btn{font-size:12px;color:#64748b;text-decoration:underline}.experiment-workbench-agenda-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.experiment-workbench-agenda-add input{border:1px solid #d7dfea;border-radius:10px;background:#ffffffe6;padding:9px 10px;font:inherit}.experiment-workbench-agenda-add button{border:1px solid #d8dff0;border-radius:10px;background:#fff;color:#111827;font-weight:600;padding:9px 12px;min-height:38px}.experiment-workbench-agenda-actions{display:flex;gap:8px;justify-content:flex-end}.experiment-workbench-agenda-clear-btn{border-color:#fecaca;background:#fff1f2;color:#b91c1c}.experiment-workbench-agenda-clear-btn:disabled{opacity:.55;cursor:not-allowed}.experiment-workbench-experiment-list{display:grid;gap:8px}.experiment-workbench-experiment-selector{border:1px solid #dde4ef;border-radius:16px;background:#ffffffdb;width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;text-align:left;padding:10px;position:relative}.experiment-workbench-experiment-selector.is-active{border-color:#9333ea94;box-shadow:0 14px 26px #8b5cf61f}.experiment-workbench-experiment-selector:disabled{cursor:not-allowed}.experiment-workbench-experiment-selector.is-disabled{border-color:#e2e8f0;background:#f8fafc;box-shadow:none}.experiment-workbench-experiment-selector.is-disabled .experiment-workbench-icon{background:linear-gradient(150deg,#94a3b833,#cbd5e142);color:#94a3b8}.experiment-workbench-experiment-selector.is-disabled .experiment-workbench-title-wrap strong,.experiment-workbench-experiment-selector.is-disabled .experiment-workbench-title-wrap small,.experiment-workbench-experiment-selector.is-disabled .experiment-workbench-cadence-badge,.experiment-workbench-experiment-selector.is-disabled .experiment-workbench-entry-count{color:#94a3b8}.experiment-workbench-experiment-selector.is-disabled .experiment-workbench-cadence-badge,.experiment-workbench-experiment-selector.is-disabled .experiment-workbench-entry-count{border-color:#dbe2ea;background:#f1f5f9}.experiment-workbench-disabled-tag{position:absolute;right:8px;bottom:8px;font-size:10px;font-weight:700;color:#475569;background:#e2e8f0;border:1px solid #cbd5e1;border-radius:999px;padding:2px 8px}.experiment-workbench-due-tag{position:absolute;right:8px;bottom:8px;font-size:10px;font-weight:700;color:#065f46;background:#d1fae5;border:1px solid #6ee7b7;border-radius:999px;padding:2px 8px}.experiment-workbench-experiment-card{border:1px solid #dde4ef;border-radius:16px;overflow:hidden;background:#ffffffdb;transition:border-color .2s ease,box-shadow .2s ease}.experiment-workbench-experiment-card.is-active{border-color:#9333ea94;box-shadow:0 14px 26px #8b5cf61f}.experiment-workbench-experiment-toggle{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;text-align:left;padding:10px}.experiment-workbench-icon{width:34px;height:34px;border-radius:10px;background:linear-gradient(150deg,#ec489929,#60a5fa29);display:grid;place-items:center;color:#7c3aed}.experiment-workbench-icon svg{width:18px;height:18px;fill:currentColor}.experiment-workbench-title-wrap{display:grid;gap:2px}.experiment-workbench-title-wrap strong{font-size:15px;color:#111827}.experiment-workbench-title-wrap small{font-size:12px;color:#64748b}.experiment-workbench-cadence-badge{justify-self:start;font-size:11px;font-weight:600;color:#6b21a8;border-radius:999px;border:1px solid #ddd6fe;background:#f5f3ff;padding:3px 8px;margin-top:2px}.experiment-workbench-entry-count{font-size:11px;color:#6b7280;border-radius:999px;border:1px solid #d8dfef;padding:4px 9px;white-space:nowrap}.experiment-workbench-chevron{width:18px;height:18px;color:#64748b;transition:transform .2s ease}.experiment-workbench-chevron svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2}.experiment-workbench-experiment-card.is-active .experiment-workbench-chevron{transform:rotate(180deg)}.experiment-workbench-experiment-body{border-top:1px solid #e4e9f3;padding:10px;display:grid;gap:10px}.experiment-workbench-experiment-body label{font-size:12px;font-weight:700;color:#334155}.experiment-workbench-experiment-body textarea,.experiment-workbench-experiment-body input,.experiment-workbench-reflection-panel input{border:1px solid #d7dfea;border-radius:12px;background:#fff;padding:10px 12px;font:inherit;resize:vertical}.experiment-workbench-uploader-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}.experiment-workbench-upload-actions{display:flex;flex-wrap:wrap;gap:8px}.experiment-workbench-upload-btn{border:1px solid #d8deeb;border-radius:999px;background:#fff;color:#0f172a;font-weight:600;padding:8px 12px;display:inline-flex;align-items:center;gap:8px}.experiment-workbench-upload-btn.is-disabled{opacity:.55;cursor:not-allowed}.experiment-workbench-upload-btn input{display:none}.experiment-workbench-uploader-row span{font-size:12px;color:#6b7280}.experiment-workbench-upload-hint{margin:0;font-size:12px;color:#92400e}.experiment-workbench-upload-guide{margin:0;font-size:12px;color:#334155}.experiment-workbench-draft-files{margin:0;padding-left:18px;display:grid;gap:4px;color:#334155;font-size:12px}.experiment-workbench-draft-files li{display:flex;justify-content:space-between;gap:8px}.experiment-workbench-save-btn{border:1px solid rgba(147,51,234,.35);border-radius:12px;background:linear-gradient(135deg,#f4e8ff,#eaf1ff);color:#6b21a8;font-weight:700;padding:10px 12px}.experiment-workbench-save-btn:disabled{opacity:.6;cursor:not-allowed}.experiment-workbench-reflection-reminder{margin:0;font-size:12px;color:#334155}.experiment-workbench-reflections-cta{justify-self:start;text-decoration:none}.experiment-workbench-error{margin:0;color:#b91c1c;font-size:13px;font-weight:600}.experiment-workbench-notice{margin:0;color:#0f766e;font-size:13px;font-weight:600}.experiment-workbench-entry-history h3{margin:0;font-size:14px}.experiment-workbench-entry-history-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.experiment-workbench-report-toggle{font-size:12px;color:#6b21a8;font-weight:600;text-decoration:underline}.experiment-workbench-entry-history ul{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:8px}.experiment-workbench-entry-history li{border:1px solid #e2e8f4;border-radius:12px;background:#ffffffdb;padding:9px;display:grid;gap:6px}.experiment-workbench-entry-history li p{margin:0;font-size:13px;color:#334155}.experiment-workbench-entry-title{margin:0;font-size:15px;color:#0f172a}.experiment-workbench-entry-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.experiment-workbench-entry-top strong{font-size:12px;color:#1f2937}.experiment-workbench-entry-actions{display:flex;justify-content:flex-end}.experiment-workbench-report-detail-btn{font-size:12px;font-weight:600;color:#4338ca;text-decoration:underline}.experiment-workbench-evidence-chips{display:flex;flex-wrap:wrap;gap:6px}.experiment-workbench-evidence-chip{font-size:11px;border-radius:999px;border:1px solid #cfd8ea;padding:4px 8px;background:#f8fafc;color:#334155}.experiment-workbench-evidence-chip.is-uploaded{border-color:#86efac;background:#f0fdf4;color:#166534}.experiment-workbench-evidence-chip.is-pending{border-color:#fde68a;background:#fffbeb;color:#92400e}.experiment-workbench-evidence-chip.is-failed{border-color:#fecaca;background:#fef2f2;color:#991b1b}.experiment-workbench-evidence-list{margin:0;padding:0;list-style:none;display:grid;gap:6px}.experiment-workbench-evidence-list li{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;font-size:12px}.experiment-workbench-evidence-meta{display:grid;justify-items:end;gap:2px;text-align:right}.experiment-workbench-inline-link{border:0;padding:0;margin:0;background:transparent;color:#1d4ed8;font-weight:600;text-decoration:underline;cursor:pointer;font:inherit}.experiment-workbench-upload-error{color:#991b1b;font-size:11px;max-width:280px}.experiment-workbench-recording-summary{border:1px solid #e2e8f4;border-radius:10px;background:#ffffffe0;padding:8px;display:grid;gap:4px}.experiment-workbench-recording-summary h5{margin:0;font-size:12px;color:#334155}.experiment-workbench-recording-meta{display:grid;gap:4px;font-size:12px}.experiment-workbench-edit-panel{border:1px dashed #c7d2fe;border-radius:12px;background:#f8faffe6;padding:10px;display:grid;gap:8px}.experiment-workbench-edit-panel label{font-size:12px;font-weight:700;color:#334155}.experiment-workbench-edit-panel input,.experiment-workbench-edit-panel textarea{border:1px solid #d7dfea;border-radius:10px;background:#fff;padding:8px 10px;font:inherit}.experiment-workbench-edit-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.experiment-workbench-reflection-panel{border-top:1px solid #e4e9f4;padding-top:10px;display:grid;gap:8px}.experiment-workbench-reflection-panel header{display:grid;gap:4px}.experiment-workbench-reflection-panel header h3{margin:0;font-size:15px}.experiment-workbench-reflection-panel header p{margin:0;font-size:12px;color:#64748b}.experiment-workbench-reflection-card{margin-top:2px}.experiment-workbench-record-lock{margin:0;font-size:12px;font-weight:600;color:#92400e}.experiment-workbench-notebook-card{padding:14px;display:grid;gap:12px;min-height:100%}.experiment-workbench-guide-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.experiment-workbench-guide-toggle{border:1px solid #d8deeb;border-radius:999px;background:#fff;color:#0f172a;font-size:12px;font-weight:700;padding:6px 12px;white-space:nowrap}.experiment-workbench-guide-body{display:grid;gap:10px}.experiment-workbench-page.is-ipad-safari .experiment-workbench-right{min-height:0}.experiment-workbench-page.is-ipad-safari .experiment-workbench-notebook-card{min-height:0;height:auto;align-self:start}.experiment-workbench-page.is-ipad-safari .experiment-workbench-notebook-card.is-collapsed{overflow:hidden}.experiment-workbench-guide-reference{border:1px solid #e2e8f4;border-radius:12px;background:#ffffffe6;padding:10px;display:grid;gap:8px}.experiment-workbench-guide-reference h3,.experiment-workbench-guide-section h3{margin:0;font-size:14px;color:#0f172a}.experiment-workbench-guide-section ul{margin:6px 0 0;padding-left:18px;display:grid;gap:3px;color:#334155;font-size:13px}.experiment-workbench-submission-card,.experiment-workbench-cumulative-reflection-card{scroll-margin-top:72px}.experiment-workbench-submission-card label,.experiment-workbench-cumulative-reflection-card label{font-size:12px;font-weight:700;color:#334155}.experiment-workbench-submission-card input,.experiment-workbench-submission-card textarea,.experiment-workbench-cumulative-reflection-card input{border:1px solid #d7dfea;border-radius:12px;background:#fff;padding:10px 12px;font:inherit;resize:vertical}.experiment-workbench-moth-form{display:grid;gap:12px;padding:12px;border:1px solid #d9e2f2;border-radius:14px;background:linear-gradient(165deg,#f8fbff,#f4f7ff)}.experiment-workbench-moth-lead{margin:0;font-size:12px;color:#334155}.experiment-workbench-moth-section{border:1px solid #d7dfef;border-radius:12px;background:#fff;padding:10px;display:grid;gap:8px}.experiment-workbench-moth-section h3{margin:0;font-size:14px;color:#0f172a}.experiment-workbench-moth-section-note{margin:0;font-size:12px;color:#334155}.experiment-workbench-soil-protocol{border:1px solid #d7dfef;border-radius:12px;background:#fff;padding:10px;display:grid;gap:10px}.experiment-workbench-soil-protocol h3{margin:0;font-size:14px;color:#0f172a}.experiment-workbench-soil-section{border:1px solid #e2e8f0;border-radius:10px;padding:8px;background:#f8fbff;display:grid;gap:6px}.experiment-workbench-soil-section h4{margin:0;font-size:13px;color:#0f172a}.experiment-workbench-soil-section ul{margin:0;padding-left:18px;display:grid;gap:4px;font-size:12px;color:#334155}.experiment-workbench-soil-note{margin:0;font-size:12px;color:#334155}.experiment-workbench-structured-form{border:1px solid #d7dfef;border-radius:12px;background:#fff;padding:10px;display:grid;gap:10px}.experiment-workbench-structured-form h3{margin:0;font-size:14px;color:#0f172a}.experiment-workbench-structured-form-note{margin:0;font-size:12px;color:#334155}.experiment-workbench-structured-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.experiment-workbench-structured-grid label{display:grid;gap:4px}.experiment-workbench-structured-grid .is-span-full{grid-column:1 / -1}.experiment-workbench-moth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.experiment-workbench-moth-grid.is-one-column{grid-template-columns:1fr}.experiment-workbench-moth-grid label{display:grid;gap:4px}.experiment-workbench-moth-grid .is-span-full{grid-column:1 / -1}.experiment-workbench-moth-variation-stack{display:grid;gap:10px}.experiment-workbench-moth-flow-title{margin:0;font-size:12px;color:#1f2937}.experiment-workbench-moth-order-card{border:1px solid #dbe4f3;border-radius:10px;background:#f8fbff;padding:10px;display:grid;gap:8px}.experiment-workbench-moth-order-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.experiment-workbench-moth-order-head h4{margin:0;font-size:13px;color:#0f172a}.experiment-workbench-moth-count-grid{display:grid;grid-template-columns:1fr;gap:8px}.experiment-workbench-moth-decision-block{margin:0;border:1px solid #dbe4f3;border-radius:10px;padding:8px;display:grid;gap:6px;background:#fff}.experiment-workbench-moth-decision-block legend{padding:0 4px;font-size:12px;color:#334155}.experiment-workbench-moth-choice{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#0f172a}.experiment-workbench-moth-count-grid label,.experiment-workbench-moth-family-row label{display:grid;gap:4px}.experiment-workbench-moth-family-group{border-top:1px dashed #cfdaee;padding-top:8px;display:grid;gap:8px}.experiment-workbench-moth-family-row{border:1px solid #e2e8f0;border-radius:10px;background:#fff;padding:8px;display:grid;gap:6px}.experiment-workbench-moth-order-head .experiment-workbench-remove-btn,.experiment-workbench-moth-family-row .experiment-workbench-remove-btn,.experiment-workbench-moth-photo-list .experiment-workbench-remove-btn{grid-column:auto;justify-self:start}.experiment-workbench-moth-photo-btn{border:1px solid #d8deeb;border-radius:999px;background:#fff;color:#0f172a;font-weight:600;padding:8px 12px;display:inline-flex;align-items:center;justify-self:start;gap:8px}.experiment-workbench-moth-photo-btn input{display:none}.experiment-workbench-moth-photo-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.experiment-workbench-moth-photo-history-select{display:grid;gap:4px;font-size:12px;color:#334155}.experiment-workbench-moth-photo-history-select select{min-width:220px;padding:6px 8px;border:1px solid #d8deeb;border-radius:8px;background:#fff}.experiment-workbench-moth-photo-list{margin:0;padding-left:16px;display:grid;gap:4px}.experiment-workbench-moth-photo-list li{display:flex;align-items:center;justify-content:space-between;gap:8px}.experiment-workbench-moth-guidance{border-top:1px solid #dbe4f3;padding-top:8px;display:grid;gap:4px}.experiment-workbench-moth-guidance p{margin:0;font-size:12px;color:#334155}.experiment-workbench-moth-history{border:1px solid #dbe4f3;border-radius:12px;background:#f8fbff;padding:10px;display:grid;gap:8px}.experiment-workbench-moth-history h5{margin:0;font-size:13px;color:#0f172a}.experiment-workbench-moth-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}.experiment-workbench-moth-history-grid p{margin:0;font-size:12px;color:#334155}.experiment-workbench-moth-history-grid .is-span-full{grid-column:1 / -1}.experiment-workbench-structured-history{border:1px solid #d7dfef;border-radius:12px;background:#fff;padding:10px;display:grid;gap:8px}.experiment-workbench-structured-history h5{margin:0;font-size:14px;color:#0f172a}.experiment-workbench-structured-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}.experiment-workbench-structured-history-grid p{margin:0;font-size:12px;color:#334155}.experiment-workbench-structured-history-grid .is-span-full{grid-column:1 / -1}.experiment-workbench-moth-history-orders{margin:0;padding-left:16px;display:grid;gap:2px;font-size:12px;color:#334155}.experiment-workbench-notebook-card header{display:grid;gap:4px}.experiment-workbench-notebook-card h2{margin:0;font-size:clamp(20px,2.2vw,26px);letter-spacing:-.015em}.experiment-workbench-notebook-card p{margin:0;color:#64748b;font-size:13px}.experiment-workbench-notebook-card img{width:100%;height:auto;border-radius:14px;border:1px solid #d9dfeb;box-shadow:0 16px 30px #0f172a14;background:#fff}.experiment-workbench-clear-modal{width:min(500px,100%)}.experiment-workbench-media-modal-overlay{position:fixed;inset:0;z-index:50;background:#0f172a8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.experiment-workbench-media-modal{width:min(1040px,100%);max-height:min(92vh,980px);border-radius:22px;border:1px solid rgba(199,210,254,.95);background:linear-gradient(160deg,#fffffffa,#f8fafff2);box-shadow:0 24px 50px #0f172a40;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.experiment-workbench-media-modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-bottom:1px solid #e2e8f0;padding:14px 16px 12px}.experiment-workbench-media-modal-header h2{margin:0;font-size:clamp(19px,2.2vw,26px);line-height:1.15}.experiment-workbench-media-modal-file{margin:6px 0 0;font-size:12px;color:#64748b}.experiment-workbench-media-modal-close{border:1px solid #d4dcf0;border-radius:999px;min-height:36px;padding:8px 14px;background:#fff;color:#0f172a;font-weight:700;white-space:nowrap}.experiment-workbench-media-modal-body{min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:14px;display:grid;align-content:start;gap:10px}.experiment-workbench-media-player,.experiment-workbench-media-document,.experiment-workbench-media-image{width:100%;border-radius:14px;border:1px solid #dde5f2;background:#fff;box-shadow:0 10px 24px #0f172a14}.experiment-workbench-media-player{max-height:min(72vh,700px)}.experiment-workbench-media-document{min-height:min(76vh,820px)}.experiment-workbench-media-image{max-height:min(76vh,820px);object-fit:contain}.experiment-workbench-media-fallback{border:1px solid #dbe5f4;border-radius:12px;background:#f8fbff;padding:12px;display:grid;gap:10px}.experiment-workbench-media-fallback p{margin:0;color:#334155}@media(min-width:768px)and (max-width:1110px){.experiment-workbench-check{inline-size:20px;block-size:20px;min-inline-size:20px;min-block-size:20px;max-inline-size:20px;max-block-size:20px;flex:0 0 20px}.experiment-workbench-grid{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}.experiment-workbench-card{padding:12px}.experiment-workbench-header{padding:4px 4px 0}}@media(max-width:900px){.experiment-workbench-grid{grid-template-columns:1fr}.experiment-workbench-right{order:0}}@media(max-width:720px){.experiment-workbench-page{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}.experiment-workbench-header{flex-direction:column;align-items:stretch}.experiment-workbench-home-btn{align-self:flex-start}.experiment-workbench-card-head{flex-direction:column;gap:4px}.experiment-workbench-experiment-toggle,.experiment-workbench-experiment-selector{grid-template-columns:auto minmax(0,1fr) auto}.experiment-workbench-entry-count{display:none}.experiment-workbench-agenda-item,.experiment-workbench-agenda-item.is-seeded{grid-template-columns:auto minmax(0,1fr)}.experiment-workbench-agenda-add{grid-template-columns:1fr}.experiment-workbench-agenda-actions{justify-content:flex-start}.experiment-workbench-upload-actions{width:100%}.experiment-workbench-moth-grid,.experiment-workbench-moth-history-grid,.experiment-workbench-moth-count-grid,.experiment-workbench-structured-grid,.experiment-workbench-structured-history-grid{grid-template-columns:1fr}.experiment-workbench-remove-btn{grid-column:2;justify-self:start;padding:0}.experiment-workbench-moth-order-head .experiment-workbench-remove-btn,.experiment-workbench-moth-family-row .experiment-workbench-remove-btn,.experiment-workbench-moth-photo-list .experiment-workbench-remove-btn{grid-column:auto;padding:0}.experiment-workbench-seeded-badge{grid-column:2;justify-self:start}.experiment-workbench-media-modal{border-radius:18px}.experiment-workbench-media-modal-header{flex-direction:column;align-items:stretch}.experiment-workbench-media-modal-close{align-self:flex-start}.experiment-workbench-media-modal-body{padding:12px}}@media(prefers-reduced-motion:reduce){.experiment-workbench-experiment-card,.experiment-workbench-chevron{transition:none}}.learning-portal-page{width:min(1040px,100%);margin:16px auto 36px;padding:16px 16px 120px;display:grid;gap:12px;font-family:"Inter",var(--font-sans);background:#f5f6fa}.learning-portal-header{border:1px solid #dfe5ef;border-radius:30px;background:#f8f9fc;box-shadow:0 16px 28px #0f172a14;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.learning-portal-eyebrow{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#2563eb;font-weight:700}.learning-portal-header h1{margin:4px 0 0;font-size:clamp(25px,3.4vw,34px);line-height:1.08;letter-spacing:-.02em}.learning-portal-subtitle{margin:6px 0 0;color:#475569}.learning-portal-header-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.learning-portal-search{border:1px solid #dfe6ef;border-radius:22px;background:#fbfdff;padding:14px 16px;display:grid;gap:8px}.learning-portal-search label{font-size:13px;font-weight:700;color:#334155}.learning-portal-search input{width:100%;min-height:42px;border-radius:12px;border:1px solid #cbd5e1;padding:0 12px;font-size:14px;color:#0f172a;background:#fff}.learning-portal-search input:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 3px #3b82f624}.learning-portal-search-help{margin:0;color:#64748b;font-size:13px}.learning-portal-resume{border:1px solid #d6e1f4;border-radius:26px;background:linear-gradient(120deg,#f4f7fe,#f9fafc);padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.learning-portal-resume h2{margin:4px 0;font-size:clamp(20px,2.7vw,28px);letter-spacing:-.01em}.learning-portal-resume p{margin:0;color:#475569}.learning-portal-units{display:grid;gap:12px}.learning-portal-unit-card{border:1px solid #dfe6ef;border-radius:24px;background:#fcfdff;box-shadow:0 14px 24px #0f172a0f;padding:16px;display:grid;gap:10px}.learning-portal-unit-header{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.learning-portal-unit-header h2{margin:0;font-size:clamp(21px,2.5vw,28px);letter-spacing:-.02em}.learning-portal-unit-header p{margin:0;color:#64748b;font-size:12px;font-weight:600}.learning-portal-chapter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.learning-portal-chapter-card{border:1px solid #e2e8f2;border-radius:20px;background:#fff;padding:14px;display:grid;gap:10px}.learning-portal-chapter-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.learning-portal-chapter-label{margin:0;color:#64748b;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.learning-portal-chapter-card h3{margin:4px 0 0;font-size:17px;line-height:1.25}.learning-portal-status{border-radius:999px;border:1px solid #d1d5db;padding:4px 8px;font-size:11px;font-weight:700;white-space:nowrap}.learning-portal-status.is-complete{border-color:#86efac;background:#dcfce7;color:#166534}.learning-portal-status.is-progress{border-color:#bfdbfe;background:#dbeafe;color:#1d4ed8}.learning-portal-status.is-not-started{border-color:#d1d5db;background:#f1f5f9;color:#475569}.learning-portal-progress{display:flex;align-items:center;gap:10px}.learning-portal-progress-track{flex:1;height:8px;border-radius:999px;background:#e2e8f0;overflow:hidden}.learning-portal-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#22c55e)}.learning-portal-progress strong{font-size:12px;color:#1e293b;min-width:44px;text-align:right}.learning-portal-location{margin:0;color:#64748b;font-size:13px}.learning-portal-location strong{color:#334155}.learning-portal-open-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:14px;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;font-size:13px;font-weight:700;min-height:36px;padding:6px 10px}.learning-portal-search-results{border:1px solid #dfe6ef;border-radius:24px;background:#fcfdff;box-shadow:0 14px 24px #0f172a0f;padding:16px;display:grid;gap:12px}.learning-portal-search-results-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.learning-portal-search-results-head h2{margin:0;font-size:clamp(20px,2.3vw,26px);letter-spacing:-.01em}.learning-portal-chapter-grid.learning-portal-chapter-grid-search{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-portal-match-sections{display:grid;gap:6px}.learning-portal-match-sections p{margin:0;font-size:12px;font-weight:700;color:#334155}.learning-portal-match-chips{display:flex;flex-wrap:wrap;gap:6px}.learning-portal-match-chip{border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;border-radius:999px;font-size:11px;font-weight:700;padding:4px 8px}.learning-portal-search-empty{margin:0;border:1px dashed #cbd5e1;border-radius:16px;background:#f8fafc;color:#475569;padding:14px;font-size:14px}@media(max-width:980px){.learning-portal-chapter-grid,.learning-portal-chapter-grid.learning-portal-chapter-grid-search{grid-template-columns:1fr}}.hub-landing-admin-btn{min-height:36px;border-radius:999px;font-size:12px;padding:8px 14px}.admin-hub-page{padding-bottom:36px}.admin-hub-shell{display:flex;flex-direction:column;gap:18px;min-height:auto}.admin-hub-topbar{align-items:flex-start}.admin-hub-topbar-actions{gap:10px;flex-wrap:wrap;justify-content:flex-end}.admin-hub-build-stamp{font-size:11px;letter-spacing:.03em;color:#64748b}.admin-hub-runtime-meta{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:8px;padding:10px 14px;border:1px dashed #cfdcec;border-radius:14px;background:#ffffffad;font-size:12px;color:#475569}.admin-hub-runtime-meta-footer{margin-top:14px}.admin-hub-topbar-actions .history-nav-group{display:inline-flex;gap:8px}.admin-hub-nav-btn{min-height:38px;border-radius:999px;font-size:12px;padding:8px 14px}.admin-hub-hero{display:grid;gap:16px}.admin-hub-hero-copy{display:grid;gap:10px;text-align:left}.admin-hub-eyebrow{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:#64748b}.admin-hub-hero h1{margin:0;font-size:clamp(42px,5vw,64px);line-height:.95;letter-spacing:-.03em;color:#0f172a}.admin-hub-hero p:last-child{margin:0;max-width:760px;font-size:15px;line-height:1.6;color:#475569}.admin-hub-status-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-hub-status-card{border:1px solid #dbe4f0;border-radius:24px;background:#ffffffeb;padding:16px 18px;display:grid;gap:4px;box-shadow:0 10px 24px #0f172a0d}.admin-hub-status-card span,.admin-hub-assignment-preview span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#64748b}.admin-hub-status-card strong{font-size:24px;line-height:1.1;color:#0f172a}.admin-hub-status-card small{font-size:12px;color:#64748b}.admin-hub-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.admin-hub-overview-card{width:100%;text-align:left;border:1px solid #dce4f2;cursor:pointer;appearance:none}.admin-hub-overview-card:hover{border-color:#c2d2ea;box-shadow:0 14px 28px #0f172a1a}.admin-hub-overview-card.is-live{background:radial-gradient(circle at 85% 20%,rgba(22,163,74,.12),transparent 32%),#fffffff0}.admin-hub-overview-card.is-planned{background:radial-gradient(circle at 85% 20%,rgba(19,91,236,.08),transparent 32%),#ffffffeb}.admin-hub-overview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.admin-hub-overview-head h2{margin:0;font-size:20px}.admin-hub-status-chip{display:inline-flex;align-items:center;min-height:24px;padding:4px 9px;border-radius:999px;border:1px solid #d9e3f2;background:#f8fafc;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#64748b;white-space:nowrap}.admin-hub-status-chip.is-live{border-color:#bbf7d0;background:#ecfdf5;color:#166534}.admin-hub-overview-link{width:fit-content;min-height:40px;margin-top:auto;pointer-events:none}.admin-hub-workspace{display:grid;gap:16px}.admin-hub-anchor-shell{border:1px solid #dbe4f0;border-radius:28px;background:#ffffffeb;padding:18px;box-shadow:0 14px 30px #0f172a0f;scroll-margin-top:24px}.admin-hub-anchor-shell-live{background:radial-gradient(circle at 100% 0,rgba(22,163,74,.07),transparent 28%),#fffffff0}.admin-hub-anchor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.admin-hub-anchor-header h2,.admin-hub-section-head h2{margin:0;font-size:clamp(28px,3.2vw,36px);line-height:1;letter-spacing:-.02em;color:#0f172a}.admin-hub-anchor-copy,.admin-hub-section-head p,.admin-hub-section-note,.admin-hub-section-message{margin:0;color:#475569;line-height:1.6}.admin-hub-support-shell{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:14px;margin-top:14px}.admin-hub-support-list,.admin-hub-support-thread,.admin-hub-team-card{border:1px solid #e2e8f0;border-radius:22px;background:#f8fafc;padding:16px}.admin-hub-support-list,.admin-hub-support-thread{display:grid;gap:12px}.admin-hub-support-shell-live .admin-hub-support-list,.admin-hub-support-shell-live .admin-hub-support-thread{min-height:420px;align-content:start}.admin-hub-submissions-shell{margin-top:14px;display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:14px}.admin-hub-submissions-list,.admin-hub-submissions-detail{border:1px solid #e2e8f0;border-radius:22px;background:#f8fafc;padding:16px}.admin-hub-submissions-students{border:1px solid #e2e8f0;border-radius:22px;background:#f8fafc;padding:16px;display:grid;gap:10px;align-content:start;max-height:760px;overflow-y:auto}.admin-hub-submissions-students h3{margin:0;color:#0f172a;font-size:16px}.admin-hub-submission-student-row{width:100%;border:1px solid #d8e1ed;border-radius:16px;background:#fff;padding:12px;display:grid;gap:6px;text-align:left;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}.admin-hub-submission-student-row:hover,.admin-hub-submission-student-row:focus-visible,.admin-hub-submission-student-row.is-active{border-color:#f43f5e;background:#fff1f2cc;transform:translateY(-1px)}.admin-hub-submissions-list{display:grid;gap:10px;align-content:start;max-height:760px;overflow-y:auto}.admin-hub-submissions-filters{display:grid;gap:10px;margin-bottom:4px}.admin-hub-submissions-filters label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#334155}.admin-hub-submissions-filters input,.admin-hub-submissions-filters select{width:100%;border-radius:14px;border:1px solid #d8e1ed;background:#fff;color:#0f172a;padding:10px 12px;font:inherit}.admin-hub-submission-row{width:100%;border:1px solid #d8e1ed;border-radius:16px;background:#fff;padding:12px;display:grid;gap:6px;text-align:left;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}.admin-hub-submission-row:hover,.admin-hub-submission-row:focus-visible,.admin-hub-submission-row.is-active{border-color:#f43f5e;background:#fff1f2cc;transform:translateY(-1px)}.admin-hub-submission-row-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.admin-hub-submission-row strong{color:#0f172a;font-size:13px}.admin-hub-submission-row span{color:#64748b;font-size:12px}.admin-hub-submission-row small{color:#475569;font-size:11px;line-height:1.5}.admin-hub-submission-total{min-width:26px;height:24px;border-radius:999px;border:1px solid #d8e1ed;background:#fff;color:#0f172a;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;padding:0 8px}.admin-hub-submissions-detail{display:grid;gap:14px;align-content:start;min-height:420px}.admin-hub-submission-type-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.admin-hub-submission-type-card{border:1px solid #d8e1ed;border-radius:16px;background:#fff;padding:12px;display:grid;gap:8px;justify-items:start;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}.admin-hub-submission-type-card:hover,.admin-hub-submission-type-card:focus-visible,.admin-hub-submission-type-card.is-active{border-color:#f43f5e;background:#fff1f2cc;transform:translateY(-1px)}.admin-hub-submission-type-card strong{color:#0f172a;font-size:13px}.admin-hub-submission-type-card span{color:#475569;font-size:12px;font-weight:700}.admin-hub-submissions-items{display:grid;gap:8px}.admin-hub-submissions-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.admin-hub-submissions-detail-head-actions{display:grid;justify-items:end;gap:8px}.admin-hub-submissions-download-message{margin:0;font-size:12px;line-height:1.6}.admin-hub-submissions-download-message.is-error{color:#b91c1c}.admin-hub-submissions-download-message.is-success{color:#166534}.admin-hub-submissions-detail-head h3{margin:0;font-size:20px;color:#0f172a}.admin-hub-submissions-detail-head p{margin:6px 0 0;color:#475569;font-size:13px}.admin-hub-submission-status{display:inline-flex;align-items:center;justify-content:center;min-height:22px;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border:1px solid #d1d5db;background:#f8fafc;color:#334155}.admin-hub-submission-status.is-uploaded{border-color:#22c55e52;background:#dcfce7e6;color:#166534}.admin-hub-submission-status.is-pending{border-color:#f59e0b61;background:#fef9c3e6;color:#92400e}.admin-hub-submission-status.is-failed{border-color:#ef444457;background:#fee2e2f2;color:#991b1b}.admin-hub-submissions-meta{margin:0;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-hub-submissions-meta div{border:1px solid #e2e8f0;border-radius:14px;background:#fff;padding:10px 12px}.admin-hub-submissions-meta dt{color:#64748b;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.admin-hub-submissions-meta dd{margin:6px 0 0;color:#0f172a;font-size:13px}.admin-hub-submissions-note{border:1px solid #d8e1ed;border-radius:16px;background:#fff;padding:12px}.admin-hub-submissions-note strong{color:#0f172a;font-size:12px}.admin-hub-submissions-note p{margin:8px 0 0;color:#334155;font-size:13px;line-height:1.6}.admin-hub-submissions-storage{margin:0;color:#475569;font-size:13px}.admin-hub-submissions-storage code{font-family:var(--font-sans);background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:2px 6px}.admin-hub-submissions-evidence{display:grid;gap:10px}.admin-hub-submissions-evidence h4{margin:0;color:#0f172a;font-size:16px}.admin-hub-submissions-evidence-list{display:grid;gap:8px}.admin-hub-submissions-evidence-item{border:1px solid #d8e1ed;border-radius:14px;background:#fff;padding:10px 12px;display:grid;gap:6px}.admin-hub-submissions-evidence-item strong{color:#0f172a;font-size:13px}.admin-hub-submissions-evidence-item small{color:#64748b;font-size:11px}.admin-hub-submissions-evidence-item a{font-size:12px;font-weight:700;color:#be185d;text-decoration:none}.admin-hub-submissions-evidence-item a:hover{text-decoration:underline}.admin-hub-moth-form-details{gap:12px}.admin-hub-experiment-form-details{gap:10px}.admin-hub-moth-sections{display:grid;gap:12px}.admin-hub-moth-block{gap:10px}.admin-hub-moth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.admin-hub-moth-grid p{margin:0;display:grid;gap:2px}.admin-hub-moth-grid p span{font-size:11px;color:#64748b;text-transform:uppercase;letter-spacing:.06em}.admin-hub-moth-grid p b{font-size:13px;color:#0f172a;font-weight:600;line-height:1.45}.admin-hub-moth-grid .is-span-2{grid-column:1 / -1}.admin-hub-experiment-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.admin-hub-experiment-form-grid p{margin:0;display:grid;gap:2px}.admin-hub-experiment-form-grid p span{font-size:11px;color:#64748b;text-transform:uppercase;letter-spacing:.06em}.admin-hub-experiment-form-grid p b{font-size:13px;color:#0f172a;font-weight:600;line-height:1.45}.admin-hub-experiment-form-grid .is-span-2{grid-column:1 / -1}.admin-hub-moth-order-list{display:grid;gap:10px}.admin-hub-moth-order-row{border:1px solid #e2e8f0;border-radius:12px;background:#f8fbff;padding:10px;display:grid;gap:8px}.admin-hub-moth-family-chips{display:grid;gap:8px}.admin-hub-moth-family-chip{border:1px solid #d8e1ed;border-radius:10px;background:#fff;padding:8px 10px;display:grid;gap:3px}.admin-hub-moth-family-chip strong{font-size:12px}.admin-hub-moth-family-chip span{font-size:12px;color:#475569}.admin-hub-moth-family-chip small{font-size:11px;color:#64748b}.admin-hub-submissions-empty{margin:0;color:#64748b;font-size:13px;line-height:1.6}.admin-hub-section-time-report{display:grid;gap:10px}.admin-hub-section-time-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.admin-hub-section-time-summary p{margin:0;border:1px solid #dbe4f0;border-radius:10px;padding:8px 10px;display:grid;gap:4px;background:#f8fafc}.admin-hub-section-time-summary p span{font-size:11px;color:#64748b}.admin-hub-section-time-summary p strong{color:#0f172a;font-size:13px}.admin-hub-section-time-table-wrap{overflow-x:auto;border:1px solid #dbe4f0;border-radius:12px}.admin-hub-section-time-table{width:100%;border-collapse:collapse;min-width:680px}.admin-hub-section-time-table th,.admin-hub-section-time-table td{text-align:left;padding:8px 10px;border-bottom:1px solid #e2e8f0;font-size:12px;color:#334155;vertical-align:top}.admin-hub-section-time-table th{font-weight:700;color:#0f172a;background:#f8fafc}.admin-hub-uncategorized-meta{margin:0;padding:10px;border-radius:10px;background:#0f172a;color:#e2e8f0;font-size:11px;line-height:1.45;overflow-x:auto;white-space:pre}@media(max-width:720px){.admin-hub-moth-grid{grid-template-columns:1fr}.admin-hub-moth-grid .is-span-2{grid-column:auto}.admin-hub-experiment-form-grid{grid-template-columns:1fr}.admin-hub-experiment-form-grid .is-span-2{grid-column:auto}}.admin-hub-support-thread-row{width:100%;border:1px solid #d8e1ed;border-radius:16px;background:#fff;padding:12px;display:grid;gap:6px;text-align:left;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}.admin-hub-support-thread-row:hover,.admin-hub-support-thread-row:focus-visible,.admin-hub-support-thread-row.is-active{border-color:#f43f5e;background:#fff1f2cc;transform:translateY(-1px)}.admin-hub-support-thread-row-head,.admin-hub-support-thread-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.admin-hub-support-thread-row-head strong,.admin-hub-support-thread-head strong{color:#0f172a;font-size:14px}.admin-hub-support-thread-row span,.admin-hub-support-thread-head span{color:#64748b;font-size:12px}.admin-hub-support-thread-row small,.admin-hub-support-thread-head small{color:#475569;font-size:11px;line-height:1.5}.admin-hub-support-unread-badge{min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:#0f172a;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.admin-hub-support-message-list{min-height:220px;max-height:460px;overflow-y:auto;display:grid;gap:10px;padding-right:4px}.admin-hub-support-message{max-width:78%;border-radius:18px;padding:12px 14px;display:grid;gap:8px}.admin-hub-support-message.is-user{background:#fff;border:1px solid #d8e1ed;border-bottom-left-radius:6px;justify-self:flex-start}.admin-hub-support-message.is-admin{background:#ffcbcd80;border:1px solid rgba(244,63,94,.25);border-bottom-right-radius:6px;justify-self:flex-end}.admin-hub-support-message-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:11px;color:#64748b}.admin-hub-support-message-meta strong{color:#0f172a}.admin-hub-support-message p,.admin-hub-support-empty{margin:0;color:#334155;font-size:13px;line-height:1.6}.admin-hub-support-empty{padding:4px 0}.admin-hub-support-reply-form{display:grid;gap:12px}.admin-hub-support-reply-form textarea{width:100%;border-radius:16px;border:1px solid #d8e1ed;background:#fff;color:#0f172a;padding:12px 14px;min-height:104px;resize:vertical;font:inherit}.admin-hub-placeholder-line,.admin-hub-placeholder-card,.admin-hub-placeholder-bubble{border-radius:14px;background:linear-gradient(90deg,#e2e8f0cc,#f1f5f9f2,#e2e8f0cc)}.admin-hub-placeholder-line{height:14px;width:100%}.admin-hub-placeholder-line.is-short{width:58%}.admin-hub-placeholder-card{height:72px}.admin-hub-placeholder-bubble{height:58px;width:72%}.admin-hub-placeholder-bubble.is-right{margin-left:auto;width:64%}.admin-hub-support-composer{display:flex;gap:10px;align-items:center;margin-top:8px}.admin-hub-support-composer input{flex:1}.admin-hub-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.admin-hub-form label,.admin-hub-team-card label{display:grid;gap:8px;font-size:12px;font-weight:700;color:#334155}.admin-hub-form input,.admin-hub-form textarea,.admin-hub-form select,.admin-hub-team-card input,.admin-hub-support-composer input{width:100%;border-radius:16px;border:1px solid #d8e1ed;background:#fff;color:#64748b;padding:12px 14px;font:inherit}.admin-hub-form textarea{min-height:148px;resize:none}.admin-hub-form-wide{grid-column:1 / -1}.admin-hub-form-actions{grid-column:1 / -1;display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:#64748b;font-size:12px}.admin-hub-recipient-picker{display:grid;gap:10px}.admin-hub-recipient-count{margin:0;font-size:11px;font-weight:700;color:#64748b}.admin-hub-recipient-actions{display:flex;align-items:center;justify-content:flex-start;gap:8px}.admin-hub-recipient-actions .btn{min-height:34px;padding:7px 12px;border-radius:999px;font-size:12px}.admin-hub-recipient-chip-list{display:flex;flex-wrap:wrap;gap:8px}.admin-hub-recipient-chip{border:1px solid #d8e1ed;border-radius:16px;background:#f8fafc;color:#0f172a;padding:8px 10px;display:grid;gap:2px;text-align:left;cursor:pointer}.admin-hub-recipient-chip span{font-size:12px;font-weight:700}.admin-hub-recipient-chip small{font-size:11px;color:#64748b}.admin-hub-recipient-results{max-height:220px;overflow-y:auto;border:1px solid #dbe4f0;border-radius:18px;background:#fff;padding:6px;display:grid;gap:6px}.admin-hub-recipient-option{width:100%;border:1px solid transparent;border-radius:14px;background:#fff;padding:10px 12px;text-align:left;cursor:pointer;display:grid;gap:4px}.admin-hub-recipient-option:hover,.admin-hub-recipient-option:focus-visible{border-color:#f9a8d4;background:#fff1f7;outline:none}.admin-hub-recipient-option strong{font-size:13px;color:#0f172a}.admin-hub-recipient-option span{font-size:11px;color:#64748b}.admin-hub-recipient-empty{margin:0;font-size:12px;color:#64748b;line-height:1.5}.admin-hub-bugs-list{margin-top:14px;display:grid;gap:10px}.admin-hub-bugs-item{border:1px solid #e2e8f0;border-radius:18px;background:#f8fafc;padding:14px;display:grid;gap:10px}.admin-hub-bugs-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.admin-hub-bugs-item-head h3{margin:0;color:#0f172a;font-size:16px}.admin-hub-bugs-item-head p{margin:6px 0 0;color:#334155;font-size:13px;line-height:1.6}.admin-hub-bugs-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.admin-hub-bugs-badge{min-height:22px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#334155;display:inline-flex;align-items:center;justify-content:center;padding:2px 9px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.admin-hub-bugs-badge.is-bug{border-color:#ef444457;background:#fee2e2f2;color:#991b1b}.admin-hub-bugs-badge.is-todo{border-color:#2563eb52;background:#dbeafee6;color:#1e3a8a}.admin-hub-bugs-badge.is-chapter_review{border-color:#4f46e54d;background:#e0e7ffe6;color:#3730a3}.admin-hub-bugs-badge.is-general{border-color:#94a3b857;background:#f1f5f9f2;color:#334155}.admin-hub-bugs-badge.is-status-open{border-color:#f59e0b61;background:#fef9c3e6;color:#92400e}.admin-hub-bugs-badge.is-status-done{border-color:#22c55e52;background:#dcfce7e6;color:#166534}.admin-hub-bugs-meta{display:flex;flex-wrap:wrap;gap:10px;color:#64748b;font-size:12px}.admin-hub-bugs-notes-label{display:grid;gap:8px;font-size:12px;font-weight:700;color:#334155}.admin-hub-bugs-notes-label textarea{width:100%;border-radius:14px;border:1px solid #d8e1ed;background:#fff;color:#0f172a;padding:10px 12px;min-height:92px;resize:vertical;font:inherit}.admin-hub-bugs-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-hub-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.admin-hub-team-card{display:grid;gap:14px}.admin-hub-team-card h3{margin:0;font-size:18px;color:#0f172a}.admin-hub-team-card.is-preview{background:#f8fafcd1}.admin-hub-assignment-preview{display:grid;gap:14px}.admin-hub-assignment-preview strong{display:block;margin-top:4px;font-size:16px;color:#0f172a}.admin-hub-section{display:grid;gap:14px;border:1px solid #dce4f2;border-radius:22px;background:#f8fafceb;padding:18px}.admin-hub-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.admin-hub-section-head.is-compact{justify-content:flex-end}.admin-hub-section-head-spacer{flex:1}.admin-hub-section-head p{max-width:680px}.admin-hub-section-eyebrow{margin-bottom:6px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#166534}.admin-hub-section-note{font-size:13px}.admin-hub-section-message{color:#14532d;font-size:13px}.admin-hub-table-shell{overflow-x:auto;border:1px solid #dbe4f0;border-radius:20px;background:#fff}.admin-hub-table{width:100%;min-width:1080px;border-collapse:collapse}.admin-hub-table th,.admin-hub-table td{padding:14px 16px;text-align:left;border-bottom:1px solid #edf2f7;vertical-align:top;font-size:13px}.admin-hub-table th{position:sticky;top:0;z-index:1;background:#f8fafc;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.admin-hub-table tbody tr:nth-child(2n){background:#f8fafca6}.admin-hub-table tbody tr:last-child td{border-bottom:none}.admin-hub-table-actions{display:flex;flex-wrap:wrap;gap:8px;min-width:260px}.admin-hub-inline-refresh{white-space:nowrap}.admin-hub-modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:#0f172a47;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.admin-hub-modal-card{width:min(100%,560px);display:grid;gap:16px;border:1px solid #dbe4f0;border-radius:24px;background:radial-gradient(circle at 100% 0,rgba(37,99,235,.08),transparent 26%),#fffffffa;box-shadow:0 24px 48px #0f172a2e;padding:20px}.admin-hub-modal-head h3{margin:0;font-size:clamp(24px,3vw,30px);line-height:1.05;letter-spacing:-.02em;color:#0f172a}.admin-hub-modal-copy{margin:8px 0 0;color:#475569;line-height:1.5}.admin-hub-modal-form{display:grid;gap:14px}.admin-hub-modal-form label{display:grid;gap:8px;font-size:12px;font-weight:700;color:#334155}.admin-hub-modal-form select{width:100%;border-radius:16px;border:1px solid #d8e1ed;background:#fff;color:#0f172a;padding:12px 14px;font:inherit}.admin-hub-chapter-override-list{display:grid;gap:8px;max-height:320px;overflow-y:auto;border:1px solid #d8e1ed;border-radius:16px;background:#fff;padding:10px 12px}.admin-hub-chapter-override-item{display:flex;align-items:center;gap:10px;font-size:13px;color:#0f172a}.admin-hub-chapter-override-item input{width:16px;height:16px}.admin-hub-modal-error{margin:0;color:#b91c1c;font-size:13px;line-height:1.5}.admin-hub-modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px}.admin-hub-usage-modal-card{width:min(100%,760px)}.admin-hub-usage-route-list{display:grid;gap:12px;max-height:60vh;overflow-y:auto;padding-right:4px}.admin-hub-usage-route-item{display:grid;gap:8px;border:1px solid #d8e1ed;border-radius:14px;background:#fff;padding:12px}.admin-hub-usage-route-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px}.admin-hub-usage-route-head strong{font-size:13px;color:#0f172a}.admin-hub-usage-route-head span{font-size:12px;font-weight:700;color:#0b5ed7}.admin-hub-usage-section-list{display:grid;gap:6px;margin-top:2px}.admin-hub-usage-section-list p{margin:0;display:flex;justify-content:space-between;gap:8px;font-size:12px;color:#475569}.admin-hub-usage-section-list p b{color:#0f172a}@media(max-width:1100px){.admin-hub-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-hub-status-row,.admin-hub-team-grid{grid-template-columns:1fr}}@media(max-width:820px){.admin-hub-support-shell,.admin-hub-form,.admin-hub-submissions-shell,.admin-hub-submission-type-grid{grid-template-columns:1fr}.admin-hub-form-wide,.admin-hub-form-actions{grid-column:auto}}@media(max-width:680px){.admin-hub-topbar,.admin-hub-anchor-header,.admin-hub-section-head{flex-direction:column;align-items:stretch}.admin-hub-overview{grid-template-columns:1fr}.admin-hub-topbar-actions{justify-content:flex-start}.admin-hub-support-composer{flex-direction:column;align-items:stretch}.admin-hub-modal-actions{justify-content:stretch}.admin-hub-modal-actions .btn{width:100%}}
