:root{--primary-color: #6366f1;--primary-hover: #4f46e5;--secondary-color: #0ea5e9;--accent-color: #f97316;--bg-color: #0f172a;--card-bg: rgba(15, 23, 42, .65);--text-main: #f8fafc;--text-muted: #cbd5f5;--border-color: rgba(255, 255, 255, .125);--danger-color: #f87171;--success-color: #34d399;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--touch-target: 44px;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: 1rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,sans-serif;background:radial-gradient(circle at 10% 20%,rgba(99,102,241,.45),transparent 50%),radial-gradient(circle at 90% 10%,rgba(14,165,233,.35),transparent 55%),radial-gradient(circle at 20% 80%,rgba(249,115,22,.25),transparent 45%),var(--bg-color);color:var(--text-main);line-height:1.5;min-height:100vh;overflow-x:hidden}.glass-panel{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 25px 50px -12px #0f172a73;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.landing-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:var(--spacing-lg);text-align:center;max-width:1100px;margin:0 auto}.app-container{max-width:1200px;margin:0 auto;padding:var(--spacing-lg)}.app-container>main{background:#0f172a52;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.04);padding:var(--spacing-lg);box-shadow:none}.app-container>main .card{background:#0f172a7a}.app-container>main,.landing-container,.card{position:relative}.app-container:before,.landing-container:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-lg);background:#ffffff0d;pointer-events:none;filter:blur(35px);opacity:.18}.landing-header h1{font-size:3.25rem;color:#fff;margin-bottom:var(--spacing-sm);text-shadow:0 10px 30px rgba(0,0,0,.35)}.app-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid rgba(255,255,255,.08)}.header-left h1{font-size:1.5rem;font-weight:600}.back-link{text-decoration:none;color:var(--text-muted);font-size:.875rem;margin-bottom:var(--spacing-xs);display:block}.back-link:hover{color:var(--primary-color)}.teacher-app-header{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.teacher-app-header .header-actions{justify-self:end;min-width:max-content}.teacher-auth-controls{display:flex;align-items:center;gap:.5rem}.student-app-header{display:grid;grid-template-columns:minmax(180px,max-content) minmax(0,1fr) max-content;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.student-app-header .header-left{min-width:0}.student-app-header .header-left h1{font-size:1.35rem;line-height:1.15}.student-app-header .header-actions{justify-self:end;min-width:max-content}.student-tab-shell{justify-self:center}.student-mobile-profile-btn{display:none}.app-container>.teacher-main{padding:var(--spacing-md)}.card{background:var(--card-bg);border-radius:var(--radius-lg);padding:var(--spacing-lg);border:1px solid var(--border-color);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;box-shadow:0 14px 30px -22px #0f172ab3}.option-card{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--text-main);width:min(100%,320px);min-height:220px;cursor:pointer}.option-card:hover{transform:translateY(-6px) scale(1.01);border-color:#fff6;box-shadow:0 20px 45px -20px #0f172abf}.activity-card{position:relative}.progress-badge{position:absolute;top:.5rem;right:.5rem;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;padding:.25rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;box-shadow:0 2px 8px #6366f166}.progress-badge.complete{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 8px #10b98166}.coverage-badge,.plays-badge{position:absolute;bottom:.5rem;font-size:.7rem;color:var(--text-muted);background:#0000004d;padding:.2rem .4rem;border-radius:4px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.coverage-badge{left:.5rem}.plays-badge{right:.5rem}#activity-menu-view .activities-grid{display:block}#activity-menu-view .section-header{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"back export" "title export";align-items:start;max-width:1000px;margin:0 auto 1.25rem;gap:.35rem 1.25rem}#activity-menu-view #back-to-vocab{grid-area:back;justify-self:start;min-height:2.25rem;padding-left:0;padding-right:0}#activity-menu-view .activity-menu-title-block{grid-area:title;min-width:0}#activity-menu-view .student-export-menu{grid-area:export;justify-self:end}#activity-menu-view .section-header h2{max-width:760px;margin-top:.15rem;line-height:1.15}#activity-menu-view .required-activities-status{max-width:1000px;margin:0 auto 1rem}#activity-menu-view .activity-menu-summary{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:.75rem}#activity-menu-view .activity-menu-summary-card{display:grid;align-content:start;min-height:86px;gap:.2rem;padding:.8rem .9rem;border:1px solid rgba(148,163,184,.18);border-radius:var(--radius-md);background:#0f172a6b}#activity-menu-view .activity-menu-summary-card.is-next{border-color:#60a5fa73;background:#3b82f61f}#activity-menu-view .activity-menu-summary-label{color:var(--text-muted);font-size:.72rem;font-weight:900;line-height:1.1;text-transform:uppercase}#activity-menu-view .activity-menu-summary-card strong{color:#fff;font-size:1.05rem;line-height:1.2;overflow-wrap:anywhere}#activity-menu-view .activity-menu-summary-card small{color:var(--text-muted);font-size:.78rem;font-weight:700;line-height:1.25}#activity-menu-view .activity-menu-summary-meter{width:100%;height:6px;margin-top:.25rem;overflow:hidden;border-radius:999px;background:#94a3b833}#activity-menu-view .activity-menu-summary-meter div{height:100%;border-radius:inherit;background:var(--primary-color, #6366f1);transition:width .3s ease}#activity-menu-view .activity-flow-section{max-width:1000px;margin:0 auto 1rem}#activity-menu-view .activity-flow-section h3{margin:0 0 .65rem;color:var(--text-main);font-size:1rem}#activity-menu-view .activity-flow-section .activities-grid-inner{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}#activity-menu-view .activity-card{min-height:132px;padding:.95rem;gap:.45rem}#activity-menu-view .activity-card .icon{font-size:2rem}#activity-menu-view .activity-card h3{font-size:1rem}#activity-menu-view .activity-card p{margin:0;color:var(--text-muted);font-size:.88rem;line-height:1.35}#activity-menu-view .activity-secondary-grid .activity-card p{display:none}#activity-menu-view .progress-badge{position:static;align-self:flex-start;margin-top:auto;background:#6366f12e;color:#c7d2fe;box-shadow:none}#activity-menu-view .progress-badge.complete{background:#10b9812e;color:#86efac;box-shadow:none}#activity-menu-view .next-activity-card{border-color:#60a5fab8;background:#3b82f61f;box-shadow:0 16px 34px -28px #60a5fae6}#activity-menu-view .next-activity-label{display:inline-flex;align-items:center;align-self:flex-start;min-height:1.55rem;padding:.15rem .5rem;border-radius:999px;background:#60a5fa2e;color:#bfdbfe;font-size:.72rem;font-weight:900;text-transform:uppercase}#activity-menu-view .activity-lock-label,#activity-menu-view .activity-unavailable-label{display:inline-flex;align-items:center;align-self:flex-start;min-height:1.55rem;padding:.15rem .5rem;border-radius:999px;font-size:.72rem;font-weight:900;text-transform:uppercase}#activity-menu-view .activity-lock-label{background:#94a3b824;color:#cbd5e1}#activity-menu-view .activity-unavailable-label{background:#64748b29;color:#94a3b8}#activity-menu-view .activity-locked-card,#activity-menu-view .activity-unavailable-card{border-color:#64748b38;background:#0f172a7a;box-shadow:none}#activity-menu-view .activity-locked-card .icon,#activity-menu-view .activity-unavailable-card .icon,#activity-menu-view .activity-locked-card h3,#activity-menu-view .activity-unavailable-card h3,#activity-menu-view .activity-locked-card p,#activity-menu-view .activity-unavailable-card p{opacity:.62}#activity-menu-view .activity-unavailable-card{cursor:not-allowed}#activity-menu-view .activity-unavailable-card:hover{border-color:#64748b38;transform:none;box-shadow:none}#activity-menu-view .activity-secondary-disclosure{border-top:1px solid rgba(148,163,184,.18);padding-top:.35rem}#activity-menu-view .activity-secondary-disclosure summary{display:inline-flex;align-items:center;min-height:var(--touch-target);border-radius:var(--radius-sm);color:var(--text-main);font-weight:900;cursor:pointer}#activity-menu-view .activity-secondary-disclosure:not([open]){margin-bottom:.25rem}#activity-menu-view .activity-secondary-disclosure:not([open]) summary{color:var(--text-muted)}#activity-menu-view .activity-secondary-disclosure summary:hover{color:#bfdbfe}#activity-menu-view .activity-secondary-disclosure summary:focus-visible{outline:3px solid rgba(14,165,233,.8);outline-offset:3px}#activity-menu-view .activity-disclosure-note{margin:0 0 .75rem;color:var(--text-muted);font-size:.88rem;line-height:1.4}#activity-menu-view .activity-detail-list{display:grid;gap:0}#activity-menu-view .activity-detail-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;padding:.65rem 0;border-top:1px solid rgba(148,163,184,.14)}#activity-menu-view .activity-detail-copy strong,#activity-menu-view .activity-detail-copy span{display:block;min-width:0;overflow-wrap:anywhere}#activity-menu-view .activity-detail-copy span{margin-top:.15rem;color:var(--text-muted);font-size:.86rem}#activity-menu-view .activity-detail-meta{display:flex;align-items:flex-end;flex-direction:column;gap:.25rem;color:var(--text-muted);font-size:.78rem;font-weight:800;text-align:right}.completion-screen{text-align:center;padding:2rem}.completion-screen h2{font-size:1.75rem;margin-bottom:1rem}.completion-screen p{color:var(--text-muted);margin-bottom:.5rem}.completion-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.completion-overlay .completion-screen{background:var(--card-bg);padding:2rem;border-radius:1rem;border:1px solid var(--border-color);box-shadow:0 25px 50px -12px #00000080;animation:scaleIn .3s ease}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.overall-coverage{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-muted)}.option-card .icon{font-size:3.25rem;margin-bottom:var(--spacing-sm);filter:drop-shadow(0 10px 25px rgba(15,23,42,.55))}.landing-options{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--spacing-md);width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem 1.25rem;min-height:var(--touch-target);min-width:var(--touch-target);border-radius:999px;font-weight:600;cursor:pointer;border:none;transition:transform .2s ease,box-shadow .2s ease;font-size:1rem;line-height:1.2;touch-action:manipulation}.runtime-pill{display:inline-flex;align-items:center;min-height:1.5rem;padding:.15rem .5rem;border:1px solid var(--border-color);border-radius:999px;color:var(--text-muted);font-size:.75rem;line-height:1;white-space:nowrap}.runtime-pill[data-state=online]{border-color:#22c55e59;color:var(--success-color)}.runtime-pill[data-state=offline]{border-color:#fbbf2473;color:#fbbf24}.status-dot{display:inline-flex;align-items:center;justify-content:center;width:.85rem;height:.85rem;border-radius:999px;background:var(--text-muted);box-shadow:0 0 0 4px #94a3b824}.status-dot[data-state=synced]{background:var(--success-color);box-shadow:0 0 0 4px #10b98129}.status-dot[data-state=pending]{background:#fbbf24;box-shadow:0 0 0 4px #fbbf2429}.status-dot[data-state=offline],.status-dot[data-state=error]{background:var(--danger-color);box-shadow:0 0 0 4px #f8717129}.btn:disabled{cursor:not-allowed;opacity:.55;transform:none;box-shadow:none}.btn:disabled:hover{transform:none;box-shadow:none}.primary-btn{background:linear-gradient(120deg,var(--primary-color),var(--secondary-color));color:#fff;box-shadow:0 10px 25px -10px #6366f1cc}.primary-btn:hover{transform:translateY(-2px);box-shadow:0 15px 35px -12px #6366f1e6}.secondary-btn{background-color:transparent;border:1px solid rgba(255,255,255,.35);color:var(--text-main)}.secondary-btn:hover{transform:translateY(-2px);border-color:#ffffffa6}.accent-btn{background:linear-gradient(120deg,var(--accent-color),#fb923c);color:#fff;box-shadow:0 10px 25px -10px #f97316cc}.student-export-menu{position:relative;z-index:5}.student-export-menu summary{list-style:none}.student-export-menu summary::-webkit-details-marker{display:none}.student-export-menu[open] summary{transform:translateY(-2px);box-shadow:0 15px 35px -12px #f97316e6}.student-export-menu-panel{position:absolute;top:calc(100% + .5rem);right:0;display:grid;width:max-content;min-width:220px;gap:.25rem;padding:.4rem;border:1px solid rgba(148,163,184,.28);border-radius:var(--radius-md);background:#0f172af5;box-shadow:0 24px 48px -24px #0f172af2}.student-export-menu-item{display:flex;align-items:center;gap:.55rem;min-height:var(--touch-target);width:100%;padding:.65rem .8rem;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-main);font:inherit;font-weight:800;text-align:left;cursor:pointer}.student-export-menu-item:hover,.student-export-menu-item:focus-visible{background:#ffffff14;outline:none}.student-export-menu-item svg{width:1rem;height:1rem;flex:0 0 auto;color:#fed7aa}.danger-btn{background:#ef444429;border:1px solid rgba(248,113,113,.55);color:#fecaca}.text-btn{background:none;color:var(--text-muted);padding:.35rem .5rem}.text-btn:hover{color:var(--primary-color)}.icon-btn{width:var(--touch-target);padding:0}.form-group{margin-bottom:var(--spacing-md)}.form-row{display:flex;gap:var(--spacing-md)}.form-row .form-group{flex:1}label{display:block;font-weight:600;margin-bottom:var(--spacing-xs);font-size:.85rem;letter-spacing:.02em}input,textarea,select{width:100%;padding:.6rem .85rem;min-height:var(--touch-target);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);font-family:inherit;font-size:1rem;background:#0f172a73;color:var(--text-main)}input::placeholder,textarea::placeholder{color:#ffffff8c}input:focus,textarea:focus,select:focus{outline:none;border-color:#6366f1cc;box-shadow:0 0 0 3px #6366f140}.password-field{position:relative}.password-field input{padding-right:3rem}.password-toggle{position:absolute;top:50%;right:.45rem;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transform:translateY(-50%)}.password-toggle:hover,.password-toggle[aria-pressed=true]{color:var(--text-main);background:#ffffff14}.password-toggle:focus-visible{outline:3px solid rgba(14,165,233,.8);outline-offset:2px}.password-toggle svg{width:1.05rem;height:1.05rem;pointer-events:none}.btn:focus-visible,.card[tabindex]:focus-visible,.option-card:focus-visible,.activity-card:focus-visible,.menu-card:focus-visible,.teacher-action-card:focus-visible,.teacher-library-choice-card:focus-visible,.teacher-vocab-card:focus-visible,.teacher-vocab-pick-card:focus-visible,.delete-activity-btn:focus-visible,.close-modal:focus-visible{outline:3px solid rgba(14,165,233,.8);outline-offset:3px}.words-grid,.vocab-grid,.activities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-md)}.vocab-groups{display:flex;flex-direction:column;gap:var(--spacing-lg);margin-top:var(--spacing-md)}.teacher-library-groups{margin-top:var(--spacing-lg)}.teacher-library-browser{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-md)}.teacher-library-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;min-height:34px;color:var(--text-muted);font-size:.9rem;font-weight:700}.teacher-library-crumb-btn{min-height:var(--touch-target);min-width:var(--touch-target);border:0;background:transparent;color:var(--secondary-color);font:inherit;font-weight:800;padding:.35rem .5rem;cursor:pointer}.teacher-library-crumb-btn:hover{color:var(--text-main)}.teacher-library-crumb-btn:focus-visible{outline:3px solid rgba(14,165,233,.8);outline-offset:3px;border-radius:var(--radius-sm)}.teacher-library-breadcrumb-separator{color:#cbd5f58c}.teacher-library-breadcrumb-current{color:var(--text-main)}.teacher-library-choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--spacing-md)}.teacher-library-choice-card{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);min-height:112px;padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);background:#0f172a8c;color:var(--text-main);font:inherit;text-align:left;cursor:pointer;transition:transform .2s ease,border-color .2s ease,background .2s ease}.teacher-library-choice-card:hover{border-color:#ffffff57;background:#1e293ba3;transform:translateY(-2px)}.teacher-library-choice-text{display:grid;gap:.25rem;min-width:0}.teacher-library-choice-text strong,.teacher-library-choice-text small{overflow-wrap:anywhere}.teacher-library-choice-text strong{font-size:1.1rem}.teacher-library-choice-count{color:var(--text-muted);font-size:.9rem;font-weight:700}.teacher-library-choice-text small{color:var(--text-muted);font-size:.8rem}.teacher-library-choice-card svg{width:1.2rem;height:1.2rem;flex:0 0 auto;color:var(--secondary-color)}.teacher-grade-group{display:flex;flex-direction:column;gap:var(--spacing-md)}.teacher-grade-heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--spacing-md);padding:0 0 var(--spacing-sm);border-bottom:1px solid rgba(255,255,255,.18)}.teacher-grade-heading h3{color:var(--text-main);font-size:1.25rem;font-weight:800}.teacher-grade-heading span{color:var(--text-muted);font-size:.85rem;white-space:nowrap}.teacher-trimester-groups{display:flex;flex-direction:column;gap:var(--spacing-md)}.vocab-trimester-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.vocab-trimester-heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--spacing-md);border-bottom:1px solid rgba(255,255,255,.14);padding-bottom:var(--spacing-xs)}.vocab-trimester-heading h3,.vocab-trimester-heading h4{font-size:1.15rem;font-weight:700}.vocab-trimester-heading span{color:var(--text-muted);font-size:.85rem}.trimester-vocab-grid{margin-top:0}.student-vocab-month-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.student-vocab-month-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.student-vocab-month-heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--spacing-md);padding-bottom:.35rem;border-bottom:1px solid rgba(255,255,255,.1)}.student-vocab-month-heading h4{color:var(--text-main);font-size:1rem;font-weight:800}.student-vocab-month-heading span{color:var(--text-muted);font-size:.82rem}.vocab-meta-section{margin-bottom:var(--spacing-lg)}.teacher-tab-shell{justify-self:center;max-width:100%;width:auto;margin-bottom:0;overflow-x:visible;padding-bottom:0;-webkit-overflow-scrolling:touch}.teacher-mobile-menu-toggle{display:none;align-items:center;justify-content:flex-start;gap:.55rem;width:100%;min-height:var(--touch-target);min-width:var(--touch-target);padding:.55rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#0f172a8c;color:var(--text-main);font:inherit;font-weight:800;cursor:pointer;touch-action:manipulation}.teacher-mobile-menu-toggle span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-mobile-menu-toggle:focus-visible{outline:3px solid rgba(14,165,233,.8);outline-offset:2px}.teacher-tabs{display:flex;flex-wrap:wrap;justify-content:center;min-width:0;gap:.25rem;padding:.25rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:#0f172a73}.teacher-tab{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:var(--touch-target);min-width:var(--touch-target);padding:.55rem .75rem;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font:inherit;font-weight:700;cursor:pointer;white-space:nowrap;text-align:center}.teacher-tab.active{background:#6366f133;color:var(--text-main);box-shadow:inset 0 0 0 1px #6366f173}.teacher-tab:focus-visible{outline:3px solid rgba(14,165,233,.8);outline-offset:2px}.teacher-tab svg,.teacher-mobile-menu-toggle svg,.btn svg,.data-tab-btn svg,.teacher-action-card svg,.teacher-vocab-pick-card svg{width:1rem;height:1rem;flex:0 0 auto}.teacher-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.teacher-page-heading h2{font-size:1.45rem;line-height:1.1}.teacher-eyebrow{color:var(--text-muted);font-size:.78rem;font-weight:800;letter-spacing:.08em;margin-bottom:.15rem;text-transform:uppercase}.teacher-toolbar{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.65rem}.teacher-toolbar-select{display:inline-flex;align-items:center;gap:.5rem;min-height:var(--touch-target);margin:0;color:var(--text-muted);font-size:.82rem;font-weight:800}.teacher-toolbar-select select{width:auto;min-width:210px}.teacher-toolbar .btn,.teacher-panel-header .btn{border-radius:var(--radius-md)}.teacher-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0;margin-bottom:var(--spacing-lg)}.teacher-stat-grid .mini-stat{padding:.75rem 0;border:0;border-top:1px solid rgba(255,255,255,.08);border-radius:0;background:transparent;box-shadow:none}.teacher-overview-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:var(--spacing-md)}.teacher-panel{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#0f172a7a;padding:var(--spacing-lg)}.teacher-panel-header{display:flex;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.teacher-panel-header h3{margin:0;font-size:1.1rem}.teacher-panel-header p,.teacher-settings-grid small,.teacher-empty-state{color:var(--text-muted);font-size:.88rem}.teacher-action-grid{display:grid;grid-template-columns:1fr;gap:0}.teacher-action-card{display:flex;align-items:center;justify-content:flex-start;gap:.75rem;min-height:54px;padding:.75rem;border:0;border-bottom:1px solid rgba(255,255,255,.08);border-radius:0;background:transparent;color:var(--text-main);font:inherit;font-weight:700;text-align:left;cursor:pointer}.teacher-action-card:last-child{border-bottom:0}.teacher-vocab-pick-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:.75rem;min-height:112px;padding:1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:#ffffff0a;color:var(--text-main);font:inherit;font-weight:700;text-align:left;cursor:pointer}.teacher-action-card:hover{background:#ffffff0a}.teacher-vocab-pick-card:hover,.teacher-vocab-card:hover{border-color:#ffffff61;transform:translateY(-2px)}.teacher-action-card svg{width:1.3rem;height:1.3rem;color:var(--secondary-color)}.teacher-activity-list{display:grid;gap:.65rem}.teacher-activity-item{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.08)}.teacher-activity-item:last-child{border-bottom:0}.teacher-activity-item div{display:grid;gap:.1rem}.teacher-activity-item span,.teacher-activity-item time{color:var(--text-muted);font-size:.82rem}.teacher-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--spacing-md)}.teacher-settings-grid .form-group{margin:0}.subjects-manager-list{display:grid;gap:.65rem;margin-top:var(--spacing-md)}.subject-manager-row{display:grid;grid-template-columns:auto minmax(180px,1fr) 56px 84px auto auto;align-items:center;gap:.65rem;min-width:0;padding:.75rem;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);background:#ffffff0a}.subject-manager-row input[type=text],.subject-manager-row input[type=number]{min-width:0}.subject-manager-row input[type=color]{width:48px;min-width:48px;height:40px;padding:.2rem}.subject-manager-row code{color:var(--text-muted);font-size:.78rem;overflow-wrap:anywhere}.subject-active-toggle{display:inline-flex;align-items:center;gap:.4rem;min-height:40px;color:var(--text-muted);font-size:.86rem;font-weight:700;white-space:nowrap}.subject-active-toggle input{width:18px;height:18px;accent-color:var(--success-color)}.subject-color-dot{display:inline-block;width:.72rem;height:.72rem;flex:0 0 .72rem;border-radius:999px;background:var(--subject-color, var(--secondary-color));box-shadow:0 0 0 3px #ffffff14}.teacher-inline-status{color:var(--text-muted);font-size:.85rem;min-height:1.4rem;margin-top:var(--spacing-sm)}.calendar-range-preview{align-self:end;min-height:40px;padding:.58rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--card-bg);color:var(--text-muted);font-size:.82rem;font-weight:700;line-height:1.25}.teacher-back-btn{gap:.35rem;min-height:var(--touch-target);padding-left:0}.teacher-vocab-card{min-height:145px;display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;cursor:pointer;border-radius:var(--radius-md)}.teacher-vocab-card .badge,.teacher-source-badge{color:#fff;padding:.2rem .45rem;border-radius:var(--radius-sm);font-size:.7rem;font-weight:800;line-height:1}.teacher-source-badge{background:#6366f1d9}.subject-badge{display:inline-flex;align-items:center;gap:.38rem;max-width:100%;min-height:26px;padding:.22rem .55rem;border:1px solid color-mix(in srgb,var(--subject-color, var(--secondary-color)) 58%,transparent);border-radius:999px;background:color-mix(in srgb,var(--subject-color, var(--secondary-color)) 18%,transparent);color:#f8fafc;font-size:.74rem;font-weight:800;line-height:1.15;overflow-wrap:anywhere}.subject-badge:before{content:"";width:.5rem;height:.5rem;flex:0 0 .5rem;border-radius:999px;background:var(--subject-color, var(--secondary-color))}.student-vocab-card{align-items:stretch;justify-content:flex-start;gap:.85rem;width:100%;min-height:250px;padding:1.05rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--radius-md);background:linear-gradient(180deg,#0f172ab8,#0f172a85);color:var(--text-main);font:inherit;text-align:left}.student-vocab-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--subject-color, var(--secondary-color)) 48%,rgba(255,255,255,.3))}.student-vocab-card h3,.student-vocab-card p,.student-vocab-card span{max-width:100%;overflow-wrap:anywhere}.student-vocab-topline,.student-vocab-action{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem}.student-vocab-topline{min-height:1.8rem}.student-vocab-purpose,.student-vocab-schedule{display:inline-flex;align-items:center;min-height:1.65rem;border-radius:999px;font-size:.75rem;font-weight:900;line-height:1.1}.student-vocab-purpose{padding:.24rem .58rem;background:color-mix(in srgb,var(--subject-color, var(--secondary-color)) 22%,rgba(255,255,255,.08));color:#fff}.student-vocab-purpose.is-summative{background:#f9731633;color:#fed7aa}.student-vocab-schedule{padding:.22rem .5rem;border:1px solid rgba(148,163,184,.18);color:#dbeafe}.student-vocab-card-main{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.75rem}.student-vocab-icon{display:inline-flex;align-items:center;justify-content:center;width:2.65rem;height:2.65rem;border-radius:var(--radius-md);background:color-mix(in srgb,var(--subject-color, var(--secondary-color)) 18%,rgba(255,255,255,.06));color:#bfdbfe}.student-vocab-icon svg{width:1.35rem;height:1.35rem}.student-vocab-copy{display:grid;gap:.42rem;min-width:0}.student-vocab-card h3{margin:0;color:#fff;font-size:1.22rem;line-height:1.22}.student-vocab-card p{color:#e0e7ff;font-size:.94rem;line-height:1.35}.student-vocab-action{justify-content:space-between;min-height:var(--touch-target);margin-top:auto;padding-top:.65rem;border-top:1px solid rgba(148,163,184,.16);color:#bfdbfe;font-size:.9rem;font-weight:900}.student-vocab-action svg{width:1.05rem;height:1.05rem}.teacher-vocab-card h3{margin-top:auto;font-size:1.05rem}.teacher-vocab-card h3,.teacher-vocab-card small,.teacher-vocab-pick-card strong,.teacher-vocab-pick-card small{max-width:100%;overflow-wrap:anywhere}.teacher-activity-card{min-height:0;padding-right:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.teacher-activity-card h3{margin-top:0}.teacher-activity-card .teacher-card-badge-row{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem}.teacher-activity-card .teacher-card-primary-meta,.teacher-activity-card .teacher-card-type-meta{display:block;color:var(--text-muted);line-height:1.35}.teacher-activity-card .teacher-card-cue-row{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;margin-top:.1rem}.teacher-activity-card .teacher-card-cue{display:inline-flex;align-items:center;min-height:1.45rem;padding:.1rem .45rem;border:1px solid rgba(148,163,184,.18);border-radius:999px;font-size:.72rem;font-weight:900;line-height:1}.teacher-activity-card .teacher-card-cue-scheduled{border-color:#818cf847;background:#6366f124;color:#c7d2fe}.teacher-activity-card .teacher-card-cue-warning{border-color:#fbbf2447;background:#fbbf241f;color:#fde68a}.teacher-activity-card .teacher-card-cue-danger{border-color:#f8717147;background:#f871711f;color:#fecaca}.teacher-activity-card .teacher-card-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;margin-top:auto}.teacher-activity-card .teacher-card-actions .teacher-pick-action{margin-top:0}.teacher-activity-card .teacher-card-actions .assign-activity-btn{position:static;min-height:2.35rem;padding:0 .75rem}.teacher-activity-card .teacher-card-details{width:100%;margin-top:.35rem;padding-top:.35rem;border-top:1px solid rgba(148,163,184,.16);color:var(--text-muted);cursor:default}.teacher-activity-card .teacher-card-details summary{display:inline-flex;align-items:center;min-height:2rem;border-radius:var(--radius-sm);color:var(--text-muted);font-size:.82rem;font-weight:800;cursor:pointer}.teacher-activity-card .teacher-card-details summary:hover{color:var(--text-main)}.teacher-activity-card .teacher-card-details summary:focus-visible{outline:3px solid rgba(14,165,233,.8);outline-offset:3px}.teacher-activity-card .teacher-card-detail-list{display:grid;gap:.35rem;padding-top:.35rem;font-size:.82rem;line-height:1.35}.teacher-activity-card .teacher-card-warning{color:#c7d2fe;font-weight:900}.teacher-activity-card .teacher-card-details .delete-activity-btn,.teacher-activity-card .teacher-card-details .delete-activity-assignment-btn{position:static;justify-self:start;width:auto;height:auto;min-height:2.25rem;padding:0 .65rem;gap:.35rem;font-size:.82rem}.teacher-activity-card .teacher-card-danger-action span{font-weight:900}.assign-activity-btn{position:absolute;left:.75rem;bottom:.75rem;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:var(--touch-target);padding:0 .85rem;border:1px solid rgba(96,165,250,.45);border-radius:var(--radius-sm);background:#3b82f61f;color:#bfdbfe;font-weight:900;cursor:pointer}.assign-activity-btn svg{width:1rem;height:1rem}.activity-workflow-tabs{margin-bottom:var(--spacing-md)}.activity-workflow-tab svg{width:1.05rem;height:1.05rem}.activity-workflow-panel{min-width:0}.activity-assignment-panel{margin-top:0}.activity-editor-layout{display:grid;gap:var(--spacing-md);align-items:stretch}.activity-editor-status{margin:.35rem 0 0;color:var(--text-muted);font-size:.92rem;font-weight:800}.activity-editor-tabs{margin-bottom:0}.activity-editor-tab-panel{min-width:0}.activity-editor-form{max-height:none;overflow:visible}.activity-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-sm)}.activity-meta-grid .form-group{margin-bottom:0}.activity-canvas-panel{min-width:0}.activity-excalidraw-root{width:100%;height:clamp(620px,calc(100svh - 220px),920px);min-height:620px;overflow:hidden;border:1px solid var(--border-color);border-radius:var(--radius-md);background:#fff}#teacher-activity-editor-view.canvas-focus .activity-editor-tabs,#teacher-activity-editor-view.canvas-focus [data-activity-editor-panel]:not([data-activity-editor-panel=build]){display:none!important}#teacher-activity-editor-view.canvas-focus [data-activity-editor-panel=build]{display:block!important}#teacher-activity-editor-view.canvas-focus .activity-excalidraw-root{height:clamp(700px,calc(100svh - 180px),1040px);min-height:700px}.activity-excalidraw-root .excalidraw{--color-primary: var(--primary-color);--color-primary-darker: var(--primary-hover);--color-primary-darkest: #3730a3;font-family:Inter,sans-serif}.activity-structured-root,.activity-card-sort-root,.activity-spreadsheet-root,.activity-image-hotspot-root,.activity-flowchart-root{min-height:clamp(620px,calc(100svh - 220px),920px)}.activity-preview-root{min-width:0}.activity-preview-shell{display:grid;gap:var(--spacing-md)}.activity-preview-hero,.activity-preview-section{min-width:0;border:0;border-top:1px solid rgba(255,255,255,.09);border-radius:0;background:transparent;padding:var(--spacing-md) 0 0}.activity-preview-shell>.activity-preview-hero:first-child,.activity-preview-shell>.activity-preview-section:first-child{border-top:0;padding-top:0}.activity-preview-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:var(--spacing-md);align-items:start}.activity-preview-hero span,.activity-preview-detail span{color:var(--text-muted);font-size:.78rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.activity-preview-hero h3,.activity-preview-section h4{margin:0;color:var(--text-main)}.activity-preview-hero h3{margin-top:.25rem}.activity-preview-hero p,.activity-preview-section p{margin:.5rem 0 0;color:var(--text-muted);line-height:1.5;white-space:pre-wrap}.activity-preview-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.activity-preview-detail{display:grid;gap:.25rem;padding:.55rem 0;border:0;border-top:1px solid rgba(255,255,255,.08);border-radius:0;background:transparent}.activity-preview-detail strong{min-width:0;color:var(--text-main);overflow-wrap:anywhere}.activity-preview-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-sm)}.activity-preview-structured{margin-top:.75rem;padding:0;border:0;background:transparent}.activity-preview-map-note{border-color:#38bdf847;background:#0ea5e914}.structured-builder-shell{display:grid;gap:var(--spacing-sm)}.structured-mode-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:0 0 .85rem;border:0;border-bottom:1px solid rgba(255,255,255,.09);border-radius:0;background:transparent}.structured-mode-header h4,.structured-mode-header p{margin:0}.structured-mode-header p{color:var(--text-muted);font-size:.84rem;font-weight:800}.structured-mode-tabs{display:inline-flex;flex:0 0 auto;gap:.35rem;padding:.25rem;border:1px solid rgba(148,163,184,.2);border-radius:var(--radius-md);background:#0f172a73}.structured-mode-tab{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-target);gap:.45rem;padding:.45rem .8rem;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font:inherit;font-weight:900;cursor:pointer}.structured-mode-tab.active{color:#fff;background:#6366f13d;box-shadow:inset 0 0 0 1px #818cf873}.structured-mode-tab svg{width:1rem;height:1rem}.structured-builder-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem}.structured-builder-toolbar .teacher-toolbar-select{flex:1 1 220px}.structured-builder-build,.structured-builder-list,.structured-preview,.structured-submission-review,.student-structured-response-form{display:grid;gap:var(--spacing-sm)}.structured-builder-block,.structured-preview,.structured-response-block{min-width:0;border:1px solid rgba(148,163,184,.22);border-radius:var(--radius-md);background:#0f172a61}.structured-builder-block{display:grid;gap:.85rem;padding:.9rem}.structured-builder-block-header,.structured-builder-items-heading,.structured-preview-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.structured-builder-actions{display:inline-flex;flex-wrap:wrap;gap:.35rem}.structured-builder-actions .icon-btn,.structured-builder-item .icon-btn{min-width:var(--touch-target);min-height:var(--touch-target)}.danger-icon-btn{color:var(--danger-color)}.structured-builder-fields{display:grid;gap:.75rem}.structured-builder-fields label,.structured-required-toggle{display:grid;gap:.35rem;color:var(--text-main);font-weight:800}.structured-required-toggle{grid-template-columns:auto minmax(0,1fr);align-items:center}.structured-required-toggle input{width:1.1rem;height:1.1rem}.structured-builder-items{display:grid;gap:.55rem;padding-top:.5rem;border-top:1px solid var(--border-color)}.structured-builder-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:center}.structured-builder-match-item{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end}.structured-builder-scale,.structured-builder-grid-config{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding-top:.5rem;border-top:1px solid var(--border-color)}.structured-preview{padding:.9rem}.structured-preview-header h4,.structured-response-block h4{margin:0;color:var(--text-main)}.structured-preview-header small{color:var(--text-muted);font-weight:800}.structured-response-block{display:grid;gap:.55rem;padding:.9rem}.structured-response-block.instructions-block{border-color:#38bdf84d;background:#0ea5e91a}.structured-response-block p{margin:0;color:var(--text-muted);line-height:1.45}.structured-response-block input[type=text],.structured-response-block input[type=number],.structured-response-block input[type=date],.structured-response-block select,.structured-response-block textarea,.structured-builder-block input[type=text],.structured-builder-block input[type=number],.structured-builder-block select,.structured-builder-block textarea,.structured-builder-toolbar select{width:100%}.structured-response-checklist{display:grid;gap:0;overflow:hidden;border:1px solid rgba(148,163,184,.22);border-radius:var(--radius-md);background:#0f172a3d}.structured-response-checklist label,.structured-response-checklist.readonly>div{display:flex;align-items:center;gap:.75rem;min-height:var(--touch-target);margin:0;padding:.72rem .85rem;border:0;border-bottom:1px solid rgba(148,163,184,.16);border-radius:0;background:transparent;color:var(--text-main);font-size:.94rem;font-weight:800;letter-spacing:0}.structured-response-checklist label:last-child,.structured-response-checklist.readonly>div:last-child{border-bottom:0}.structured-response-checklist label:hover{background:#6366f114}.structured-response-checklist span{min-width:0;line-height:1.35;overflow-wrap:anywhere}.structured-response-checklist input{flex:0 0 1.2rem;width:1.2rem;height:1.2rem;margin:0}.structured-response-checklist input:checked+span{color:#dbeafe}.structured-response-checklist svg{flex:0 0 1.2rem;width:1.2rem;height:1.2rem;margin-top:.05rem;color:var(--text-muted)}.structured-response-checklist .is-checked svg{color:var(--success-color)}.structured-response-rating{display:flex;flex-wrap:wrap;gap:.5rem}.structured-response-rating label{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-width:3.1rem;min-height:var(--touch-target);padding:.5rem .7rem;border:1px solid rgba(148,163,184,.22);border-radius:var(--radius-sm);background:#0f172a3d;color:var(--text-main);font-weight:900}.structured-response-matching,.structured-response-ranking{display:grid;gap:.55rem}.structured-response-matching-row,.structured-response-ranking label,.structured-response-ranking.readonly>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(10rem,.75fr);gap:.75rem;align-items:center;min-height:var(--touch-target);padding:.7rem;border:1px solid rgba(148,163,184,.18);border-radius:var(--radius-sm);background:#0f172a38;color:var(--text-main);font-weight:800}.structured-response-ranking label,.structured-response-ranking.readonly>div{grid-template-columns:5rem minmax(0,1fr)}.structured-response-ranking input{width:100%}.structured-response-table-wrapper{overflow-x:auto}.structured-response-table{width:100%;min-width:34rem;border-collapse:collapse;border:1px solid rgba(148,163,184,.22);border-radius:var(--radius-md);overflow:hidden}.structured-response-table th,.structured-response-table td{padding:.65rem;border:1px solid rgba(148,163,184,.16);background:#0f172a2e;color:var(--text-main);text-align:left;vertical-align:top}.structured-response-table th{color:var(--text-muted);font-weight:900}.structured-response-table input{width:100%}.structured-answer-readonly{min-height:3rem;padding:.75rem;border:1px solid rgba(148,163,184,.18);border-radius:var(--radius-sm);background:#0f172a47;color:var(--text-main);line-height:1.5;white-space:pre-wrap}.card-sort-builder-shell,.card-sort-builder-section,.card-sort-builder-list,.student-card-sort-shell,.card-sort-review{display:grid;gap:var(--spacing-sm)}.card-sort-builder-section{padding:var(--spacing-md) 0 0;border:0;border-top:1px solid rgba(255,255,255,.09);border-radius:0;background:transparent}.card-sort-builder-section h4,.card-sort-builder-section p{margin:0}.card-sort-builder-section p{color:var(--text-muted);font-size:.86rem;font-weight:800}.card-sort-builder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.card-sort-builder-grid label,.card-sort-card-fields label{display:grid;gap:.35rem;color:var(--text-main);font-weight:800}.card-sort-builder-grid textarea,.card-sort-builder-grid select,.card-sort-builder-grid input,.card-sort-card-fields textarea,.card-sort-card-fields select,.card-sort-card-fields input{width:100%}.card-sort-builder-options{align-items:end}.card-sort-card-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.card-sort-card-fields label:nth-child(1),.card-sort-card-fields label:nth-child(2){grid-column:span 2}.card-sort-board{display:grid;gap:var(--spacing-sm)}.card-sort-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-sm)}.card-sort-lane{display:grid;gap:.65rem;align-content:start;min-width:0;min-height:150px;padding:.85rem;border:1px solid rgba(148,163,184,.22);border-radius:var(--radius-md);background:#0f172a52}.card-sort-tray{border-color:#38bdf847;background:#0ea5e914}.card-sort-lane-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.card-sort-lane-header h4,.card-sort-card strong{margin:0;color:var(--text-main)}.card-sort-lane-header span{display:inline-flex;min-width:1.8rem;min-height:1.8rem;align-items:center;justify-content:center;border-radius:999px;background:#6366f12e;color:#c7d2fe;font-size:.78rem;font-weight:900}.card-sort-lane>p,.card-sort-card p,.card-sort-empty{margin:0;color:var(--text-muted);line-height:1.4}.card-sort-card-list{display:grid;gap:.55rem}.card-sort-card-list.is-empty{min-height:var(--touch-target);align-items:center;padding:.65rem;border:1px dashed rgba(148,163,184,.24);border-radius:var(--radius-sm);color:var(--text-muted);font-weight:800}.card-sort-card{display:grid;gap:.55rem;padding:.75rem;border:1px solid rgba(148,163,184,.22);border-radius:var(--radius-sm);background:#0f172a75;color:var(--text-main)}.card-sort-card[draggable=true]{cursor:grab}.card-sort-card[draggable=true]:active{cursor:grabbing}.card-sort-card.is-correct{border-color:#22c55e6b}.card-sort-card.is-misplaced{border-color:#f871716b}.card-sort-card.is-unplaced{border-color:#fbbf2461}.card-sort-card-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:end}.card-sort-card-actions label{display:grid;gap:.25rem;color:var(--text-muted);font-size:.78rem;font-weight:900}.card-sort-card-actions select{width:100%}.card-sort-card-actions>div{display:inline-flex;gap:.25rem}.card-sort-review-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;border-top:1px solid rgba(255,255,255,.08)}.card-sort-review-summary div{display:grid;gap:.25rem;padding:.7rem 0;border:0;border-bottom:1px solid rgba(255,255,255,.08);border-radius:0;background:transparent}.card-sort-review-summary span{color:var(--text-muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.card-sort-review-summary strong{color:var(--text-main)}.card-sort-review-signals{display:flex;flex-wrap:wrap;gap:.35rem}.card-sort-signal{display:inline-flex;align-items:center;min-height:1.65rem;padding:.18rem .5rem;border-radius:999px;font-size:.74rem;font-weight:900}.card-sort-signal.is-correct{background:#22c55e29;color:#86efac}.card-sort-signal.is-misplaced{background:#ef444429;color:#fecaca}.card-sort-signal.is-unplaced{background:#fbbf2429;color:#fde68a}.spreadsheet-builder-shell,.image-hotspot-builder-shell,.external-artifact-builder-shell,.flowchart-builder-shell,.spreadsheet-builder-section,.image-hotspot-builder-section,.external-artifact-builder-section,.flowchart-builder-section,.spreadsheet-builder-column-list,.spreadsheet-builder-prompt-list,.image-hotspot-builder-label-list,.image-hotspot-builder-prompt-list,.external-artifact-builder-list,.flowchart-builder-list,.spreadsheet-preview,.image-hotspot-preview,.external-artifact-preview,.flowchart-preview,.spreadsheet-submission-review,.image-hotspot-submission-review,.external-artifact-submission-review,.flowchart-submission-review,.spreadsheet-activity-shell,.image-hotspot-activity-shell,.external-artifact-activity-shell,.flowchart-activity-shell,.spreadsheet-reflection-panel,.spreadsheet-reflection-review{display:grid;gap:var(--spacing-sm)}.spreadsheet-builder-section,.image-hotspot-builder-section,.external-artifact-builder-section,.flowchart-builder-section,.spreadsheet-chart-panel,.spreadsheet-review-section,.external-artifact-review-section,.flowchart-review-section{min-width:0;padding:var(--spacing-md) 0 0;border:0;border-top:1px solid rgba(255,255,255,.09);border-radius:0;background:transparent}.spreadsheet-builder-section h4,.spreadsheet-builder-section p,.image-hotspot-builder-section h4,.image-hotspot-builder-section p,.external-artifact-builder-section h4,.external-artifact-builder-section p,.flowchart-builder-section h4,.flowchart-builder-section p,.spreadsheet-review-section h4,.spreadsheet-review-section p,.external-artifact-review-section h4,.external-artifact-review-section p,.flowchart-review-section h4,.flowchart-review-section p{margin:0}.spreadsheet-builder-section p,.image-hotspot-builder-section p,.external-artifact-builder-section p,.flowchart-builder-section p,.spreadsheet-review-section p,.external-artifact-review-section p,.flowchart-review-section p{color:var(--text-muted);line-height:1.45}.spreadsheet-column-fields{grid-template-columns:minmax(0,1fr) minmax(8rem,.5fr) minmax(6rem,.4fr)}.spreadsheet-row-settings,.spreadsheet-chart-settings{align-items:end}.spreadsheet-builder-table-wrap{min-width:0;overflow-x:auto}.spreadsheet-builder-table{min-width:42rem}.spreadsheet-builder-table th:last-child,.spreadsheet-builder-table td:last-child{width:5rem;text-align:center}.spreadsheet-review-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:0;border-top:1px solid rgba(255,255,255,.08)}.spreadsheet-review-summary div{display:grid;gap:.25rem;padding:.7rem 0;border:0;border-bottom:1px solid rgba(255,255,255,.08);border-radius:0;background:transparent}.spreadsheet-review-summary span,.spreadsheet-review-heading span{color:var(--text-muted);font-size:.76rem;font-weight:900;text-transform:uppercase}.spreadsheet-review-summary strong,.spreadsheet-review-heading h4,.spreadsheet-reflection-review strong{color:var(--text-main)}.spreadsheet-review-heading{display:flex;justify-content:space-between;gap:.75rem;align-items:center;margin-bottom:.75rem}.spreadsheet-validation-section ul{margin:.5rem 0 0;padding-left:1.2rem;color:var(--text-muted);font-weight:800}.spreadsheet-reflection-review article{display:grid;gap:.35rem;padding:.75rem 0;border:0;border-top:1px solid rgba(255,255,255,.08);border-radius:0;background:transparent}.spreadsheet-reflection-review p{margin:0;color:var(--text-muted);white-space:pre-wrap}.spreadsheet-table-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;align-items:center;padding:.85rem;border:1px solid rgba(148,163,184,.18);border-radius:var(--radius-md);background:#0f172a4d}.spreadsheet-table-toolbar>div:first-child{display:grid;gap:.2rem}.spreadsheet-table-toolbar strong{color:var(--text-main)}.spreadsheet-table-toolbar span,.spreadsheet-chart-header span{color:var(--text-muted);font-size:.84rem;font-weight:800}.spreadsheet-table-actions{display:flex;flex-wrap:wrap;gap:.5rem}.external-artifact-evidence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));gap:var(--spacing-sm);min-width:0}.external-artifact-link-field,.external-artifact-upload-panel,.external-artifact-upload-preview{min-width:0;display:grid;gap:.55rem;padding:.9rem;border:1px solid rgba(148,163,184,.18);border-radius:var(--radius-md);background:#0f172a3d}.external-artifact-file-card{display:grid;grid-template-columns:4.25rem minmax(0,1fr) auto;align-items:center;gap:.75rem;min-width:0;padding:.75rem;border:1px solid rgba(148,163,184,.18);border-radius:var(--radius-md);background:#0f172a47}.external-artifact-file-card.is-empty{grid-template-columns:2.5rem minmax(0,1fr)}.external-artifact-file-card img{width:4.25rem;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-sm);border:1px solid rgba(148,163,184,.25);background:#fff}.external-artifact-file-card>i,.external-artifact-upload-preview>i{color:var(--secondary-color)}.external-artifact-file-card strong,.external-artifact-file-card p{overflow-wrap:anywhere}.external-artifact-file-card p,.external-artifact-upload-preview span{margin:0;color:var(--text-muted);font-size:.84rem}.external-artifact-file-card a,.external-artifact-review-section a{color:var(--secondary-color);font-weight:800;overflow-wrap:anywhere}.flowchart-mode-header{background:#05966924;color:#bbf7d0}.flowchart-node-type-grid,.flowchart-node-chip-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.6rem}.flowchart-node-type-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.6rem;align-items:center;min-width:0;padding:.7rem;border:1px solid rgba(148,163,184,.18);border-radius:var(--radius-sm);background:#0f172a3d;color:var(--text-main);font-weight:850}.flowchart-node-type-toggle span{display:inline-flex;align-items:center;gap:.35rem;min-width:0}.flowchart-node-chip{display:inline-flex;align-items:center;justify-content:center;min-height:2.35rem;padding:.45rem .7rem;border:1px solid rgba(148,163,184,.22);border-radius:var(--radius-sm);background:#0f172a47;color:var(--text-main);font-size:.84rem;font-weight:900}.flowchart-editor-shell{display:grid;gap:var(--spacing-sm);min-width:0}.flowchart-editor-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;align-items:center;padding:.8rem;border:1px solid rgba(148,163,184,.18);border-radius:var(--radius-md);background:#0f172a4d}.flowchart-editor-toolbar>div:first-child{display:grid;gap:.15rem}.flowchart-editor-toolbar strong{color:var(--text-main)}.flowchart-editor-toolbar span{color:var(--text-muted);font-size:.84rem;font-weight:800}.flowchart-node-button-row{display:flex;flex-wrap:wrap;gap:.45rem}.flowchart-node-button-row .btn{min-height:2.2rem;padding:.45rem .65rem}.flowchart-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(17rem,.32fr);gap:var(--spacing-sm);align-items:stretch;min-width:0}.flowchart-editor-shell.is-readonly .flowchart-editor-grid{grid-template-columns:minmax(0,1fr)}.flowchart-editor-canvas,.flowchart-student-editor{min-width:0}.flowchart-editor-canvas{height:clamp(520px,62svh,780px);overflow:hidden;border:1px solid rgba(148,163,184,.24);border-radius:var(--radius-md);background:#f8fafc}.flowchart-student-editor .flowchart-editor-canvas{height:clamp(560px,68svh,840px)}.flowchart-editor-panel{display:grid;gap:var(--spacing-sm);align-content:start;min-width:0}.flowchart-editor-panel section{display:grid;gap:.7rem;padding:.85rem;border:1px solid rgba(148,163,184,.18);border-radius:var(--radius-md);background:#0f172a47}.flowchart-editor-panel h4,.flowchart-editor-panel p{margin:0}.flowchart-editor-panel p{color:var(--text-muted);font-size:.84rem;font-weight:800;line-height:1.45}.flowchart-editor-panel label{display:grid;gap:.35rem;color:var(--text-main);font-weight:850}.flowchart-editor-panel input,.flowchart-editor-panel select,.flowchart-editor-panel textarea{width:100%}.flowchart-node-card{width:156px;min-height:74px;display:grid;gap:.2rem;align-content:center;padding:.7rem .8rem;border:2px solid var(--flowchart-node-color, #2563eb);border-radius:var(--radius-md);background:#fff;color:#111827;box-shadow:0 .45rem 1.25rem #0f172a1f}.flowchart-node-card .react-flow__handle{width:.65rem;height:.65rem;border:2px solid #ffffff;background:var(--flowchart-node-color, #2563eb)}.flowchart-node-type{color:var(--flowchart-node-color, #2563eb);font-size:.68rem;font-weight:950;text-transform:uppercase}.flowchart-node-card strong,.flowchart-node-card small{min-width:0;overflow-wrap:anywhere}.flowchart-node-card strong{font-size:.92rem}.flowchart-node-card small{color:#475569;line-height:1.35}.flowchart-static-canvas{position:relative;max-width:100%;overflow:auto;border:1px solid rgba(148,163,184,.22);border-radius:var(--radius-md);background:#f8fafc}.flowchart-static-inner{position:relative}.flowchart-static-inner svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.flowchart-static-inner path{fill:none;stroke:#64748b;stroke-width:2}.flowchart-static-node{position:absolute;display:grid;gap:.2rem;align-content:center;width:156px;min-height:74px;padding:.6rem .7rem;border:2px solid var(--flowchart-node-color, #2563eb);border-radius:var(--radius-md);background:#fff;color:#111827;box-shadow:0 .35rem 1rem #0f172a1f}.flowchart-static-node span{color:var(--flowchart-node-color, #2563eb);font-size:.66rem;font-weight:950;text-transform:uppercase}.flowchart-static-node strong,.flowchart-static-node small{overflow-wrap:anywhere}.flowchart-static-node strong{font-size:.9rem}.flowchart-static-node small{color:#475569}.flowchart-static-edge-label{position:absolute;padding:.1rem .45rem;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#334155;font-size:.72rem;font-weight:900;transform:translate(-50%,-50%)}.spreadsheet-grid-wrap{min-width:0;overflow:auto;border:1px solid rgba(148,163,184,.22);border-radius:var(--radius-md);background:#fff}.spreadsheet-native-table-scroll{width:100%;max-height:420px;overflow:auto}.spreadsheet-native-table{width:max-content;min-width:100%;border-collapse:collapse;color:#111827;font-family:Inter,sans-serif;font-size:.9rem}.spreadsheet-native-table th,.spreadsheet-native-table td{border:1px solid #dbeafe;padding:0}.spreadsheet-native-table thead th{position:sticky;top:0;z-index:2}.spreadsheet-grid-wrap .spreadsheet-column-coordinate-header{height:2.35rem;padding:.35rem .45rem;background:#e0f2fe;color:#0f172a;border-color:#bfdbfe;vertical-align:middle}.spreadsheet-column-label{display:flex;min-width:0;align-items:center;justify-content:center;line-height:1.15}.spreadsheet-coordinate-letter{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;min-height:1.25rem;padding:0;border:0;border-radius:0;background:transparent;color:#1d4ed8;font-size:.95rem;font-weight:900;letter-spacing:0}.spreadsheet-column-title{max-width:100%;color:#111827;font-weight:850;overflow-wrap:anywhere}.spreadsheet-grid-wrap .spreadsheet-corner-coordinate,.spreadsheet-grid-wrap .spreadsheet-row-coordinate-header{width:3.2rem;min-width:3.2rem;padding:.45rem .35rem;background:#f0f9ff;color:#1d4ed8;border-color:#bfdbfe;font-weight:900;text-align:center}.spreadsheet-grid-wrap .spreadsheet-corner-coordinate{z-index:3;font-size:.68rem;letter-spacing:.04em;text-transform:uppercase}.spreadsheet-grid-wrap .spreadsheet-field-title-cell{background:#eef2ff;color:#111827;font-weight:900}.spreadsheet-cell-input{width:100%;min-width:7rem;height:2.45rem;border:0;border-radius:0;background:#fff;color:#111827;font:inherit;font-weight:700}.spreadsheet-cell-input:focus{position:relative;z-index:1;outline:2px solid #2563eb;outline-offset:-2px}.spreadsheet-cell-input[readonly]{background:transparent;color:#0f172a;cursor:default}.spreadsheet-chart-panel{background:#0ea5e914;border-color:#38bdf847}.spreadsheet-chart-header{display:flex;justify-content:space-between;gap:.75rem;align-items:center;margin-bottom:.75rem}.spreadsheet-chart-header strong{display:block;color:var(--text-main)}.spreadsheet-chart-panel canvas{width:100%;min-height:220px;max-height:320px}.spreadsheet-reflection-panel{padding:.9rem;border:1px solid rgba(148,163,184,.18);border-radius:var(--radius-md);background:#0f172a42}.spreadsheet-reflection-prompt{display:grid;gap:.4rem;color:var(--text-main);font-weight:800}.spreadsheet-reflection-prompt textarea{width:100%}.spreadsheet-chart-preview{display:grid;gap:.55rem}.spreadsheet-chart-preview-row{display:grid;grid-template-columns:minmax(80px,.35fr) minmax(0,1fr) minmax(48px,auto);gap:.65rem;align-items:center;color:var(--text-main);font-size:.88rem;font-weight:800}.spreadsheet-chart-preview-row span{min-width:0;overflow-wrap:anywhere}.spreadsheet-chart-preview-row div{height:.8rem;overflow:hidden;border-radius:999px;background:#94a3b838}.spreadsheet-chart-preview-row i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#059669)}.spreadsheet-review-empty{padding:.75rem;border:1px dashed rgba(148,163,184,.24);border-radius:var(--radius-sm);color:var(--text-muted);font-weight:800}.image-hotspot-mode-header{background:#0ea5e924;color:#bae6fd}.image-hotspot-upload-btn{position:relative;overflow:hidden}.image-hotspot-upload-btn input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none}.image-hotspot-builder-image-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,.45fr);gap:var(--spacing-sm);align-items:start}.image-hotspot-label-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(5rem,.25fr) minmax(8rem,.35fr)}.image-hotspot-pin-settings{align-items:end}.image-hotspot-image-frame{position:relative;min-width:0;overflow:hidden;border:1px solid rgba(148,163,184,.22);border-radius:var(--radius-md);background:#0f172a52}.image-hotspot-image-frame img{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none}.image-hotspot-image-frame.is-preview{min-height:16rem}.image-hotspot-image-frame.is-student,.image-hotspot-image-frame.is-review{background:#020617}.image-hotspot-image-placeholder{display:flex;min-height:16rem;align-items:center;justify-content:center;padding:1rem;color:var(--text-muted);font-weight:900;text-align:center}.image-hotspot-pin-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.image-hotspot-pin{position:absolute;left:var(--pin-x);top:var(--pin-y);z-index:2;display:inline-flex;width:2rem;height:2rem;align-items:center;justify-content:center;border:3px solid #ffffff;border-radius:999px;background:var(--pin-color, #2563eb);color:#fff;font:inherit;font-size:.86rem;font-weight:950;line-height:1;transform:translate(-50%,-100%);box-shadow:0 .65rem 1.35rem #02061759;cursor:grab;pointer-events:auto;touch-action:none}.image-hotspot-pin:after{content:"";position:absolute;left:50%;top:calc(100% - .25rem);width:.7rem;height:.7rem;background:var(--pin-color, #2563eb);border-right:3px solid #ffffff;border-bottom:3px solid #ffffff;transform:translate(-50%) rotate(45deg);transform-origin:center}.image-hotspot-pin span{position:relative;z-index:1}.image-hotspot-pin.is-static{cursor:default}.image-hotspot-student-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.36fr);gap:var(--spacing-sm);align-items:start}.image-hotspot-label-panel,.image-hotspot-reflection-panel{display:grid;gap:var(--spacing-sm)}.image-hotspot-label-panel section{display:grid;gap:.75rem;min-width:0;padding:.9rem;border:1px solid rgba(148,163,184,.18);border-radius:var(--radius-md);background:#0f172a42}.image-hotspot-label-panel h4{margin:0;color:var(--text-main)}.image-hotspot-label-picker,.image-hotspot-pin-list,.image-hotspot-review-label-list{display:grid;gap:.6rem}.image-hotspot-label-picker button{display:flex;width:100%;min-width:0;align-items:center;gap:.55rem;padding:.7rem;border:1px solid rgba(148,163,184,.22);border-radius:var(--radius-sm);background:#0f172a4d;color:var(--text-main);font:inherit;text-align:left;cursor:pointer}.image-hotspot-label-picker button span,.image-hotspot-label-dot{display:inline-flex;width:.85rem;height:.85rem;flex:0 0 auto;border-radius:999px;background:var(--label-color, #2563eb)}.image-hotspot-label-picker button.is-selected{border-color:#60a5fab8;background:#2563eb2e}.image-hotspot-label-picker strong{display:grid;gap:.2rem;min-width:0}.image-hotspot-label-picker small{color:var(--text-muted);font-size:.78rem;font-weight:750}.image-hotspot-label-picker button.is-placed strong:after{content:" placed";color:var(--success-color);font-size:.75rem;font-weight:900}.image-hotspot-pin-list article,.image-hotspot-review-label-list article,.image-hotspot-review-label-list>div{display:grid;gap:.45rem;min-width:0;padding:.75rem;border:1px solid rgba(148,163,184,.18);border-radius:var(--radius-sm);background:#0f172a3d}.image-hotspot-pin-list article>div,.image-hotspot-review-label-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.55rem;align-items:center}.image-hotspot-review-label-list article{grid-template-columns:auto minmax(0,1fr)}.image-hotspot-pin-number{display:inline-flex;width:1.7rem;height:1.7rem;align-items:center;justify-content:center;border-radius:999px;background:var(--label-color, #2563eb);color:#fff;font-size:.78rem;font-weight:950}.image-hotspot-pin-list textarea{width:100%}.image-hotspot-review-label-list p{margin:.25rem 0 0;color:var(--text-muted);white-space:pre-wrap}.activity-editor-error{display:flex;min-height:100%;align-items:center;justify-content:center;flex-direction:column;gap:.75rem;padding:var(--spacing-md);color:#111827;text-align:center}.activity-editor-error h3{margin:0;color:#111827}.activity-editor-error p{max-width:30rem;margin:0;color:#4b5563}.activity-editor-error-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.activity-review-layout{display:grid;gap:var(--spacing-md)}.activity-review-brief{display:grid;gap:.85rem}.activity-review-workspace{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:var(--spacing-md);align-items:start}.activity-review-student-panel{position:sticky;top:1rem;max-height:calc(100svh - 170px);overflow-y:auto}.activity-review-canvas-panel{min-width:0}.activity-review-nav-controls{display:inline-flex;align-items:center;gap:.5rem;min-width:0}.activity-review-nav-controls .icon-btn{width:var(--touch-target);height:var(--touch-target)}#activity-review-student-nav-label{min-width:7rem;color:var(--text-muted);font-size:.82rem;font-weight:900;text-align:center;white-space:nowrap}.activity-review-excalidraw-root{height:clamp(620px,calc(100svh - 300px),920px);min-height:560px}.activity-review-excalidraw-root.structured-review-root,.activity-review-excalidraw-root.card-sort-review-root,.activity-review-excalidraw-root.spreadsheet-review-root,.activity-review-excalidraw-root.image-hotspot-review-root,.activity-review-excalidraw-root.external-artifact-review-root,.activity-review-excalidraw-root.flowchart-review-root{height:auto;min-height:420px;padding:var(--spacing-sm);overflow-y:auto;background:#0f172a5c}.activity-review-empty-canvas{display:flex;min-height:100%;align-items:center;justify-content:center;flex-direction:column;gap:.35rem;padding:var(--spacing-md);color:#111827;text-align:center}.activity-review-empty-canvas strong{color:#111827;font-size:1.05rem}.activity-review-empty-canvas span{color:#4b5563;font-weight:800}.activity-assignment-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:0;border-top:1px solid rgba(255,255,255,.08)}.activity-assignment-stats>div{min-width:0;padding:.65rem 0;border:0;border-bottom:1px solid rgba(255,255,255,.08);border-radius:0;background:transparent}.activity-assignment-stats strong{display:block;font-size:1.08rem}.activity-assignment-stats span{color:var(--text-muted);font-size:.72rem;font-weight:800}.activity-submission-roster{display:grid;gap:.55rem}.activity-submission-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.55rem;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#0f172a59;cursor:pointer}.activity-submission-row:hover,.activity-submission-row:focus-visible,.activity-submission-row.is-selected{border-color:#60a5fa9e;background:#3b82f61a}.activity-submission-row.is-selected{box-shadow:inset 3px 0 0 var(--secondary-color)}.activity-submission-row-main{min-width:0}.activity-submission-row-statuses{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.4rem}.activity-submission-row-actions{display:inline-flex;gap:.35rem}.activity-submission-row-actions .icon-btn{width:2.15rem;min-width:2.15rem;height:2.15rem;min-height:2.15rem;padding:0}.activity-submission-row strong,.activity-submission-row small{display:block;min-width:0;overflow-wrap:anywhere}.activity-submission-row small{color:var(--text-muted)}.activity-submission-status{padding:.25rem .55rem;border-radius:999px;background:#94a3b829;color:var(--text-muted);font-size:.78rem;font-weight:900;text-transform:capitalize}.activity-submission-row.status-submitted .activity-submission-status{background:#22c55e24;color:#86efac}.activity-submission-row.status-draft .activity-submission-status{background:#fbbf2424;color:#fde68a}.activity-submission-row.is-late{border-color:#f8717180;background:#7f1d1d2e}.activity-submission-row.is-excused{border-color:#2dd4bf80;background:#14b8a61a}.activity-late-status{display:inline-flex;align-items:center;justify-content:center;min-height:1.8rem;padding:.25rem .55rem;border-radius:999px;background:#94a3b824;color:var(--text-muted);font-size:.76rem;font-weight:900;white-space:nowrap}.activity-late-status.is-late{background:#ef444429;color:#fecaca}.activity-late-status.is-excused{background:#14b8a629;color:#99f6e4}.activity-excuse-btn{font-size:.8rem}.activity-excuse-btn svg{width:.95rem;height:.95rem}.activity-assignment-card.is-scheduled{border-color:#818cf873}.student-classroom-folder-card{min-height:78px;padding:.85rem}.student-classroom-folder-card:hover{transform:none}.student-classroom-folder-card .teacher-library-choice-count{font-size:.84rem}.student-classroom-folder-meta{max-width:100%;overflow:hidden;color:#cbd5e1b8;font-size:.74rem;text-overflow:ellipsis;white-space:nowrap}.student-classroom-activity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:.75rem}.student-classroom-activity-card{position:relative;display:grid;min-height:0;gap:.7rem;padding:.95rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#0f172ad1;border-color:#94a3b83d;color:var(--text-main);font:inherit;text-align:left;cursor:pointer}.student-classroom-activity-card:hover,.student-classroom-activity-card:focus-within{border-color:#818cf8b3;box-shadow:0 14px 28px -24px #0f172ae6,0 0 0 1px #818cf82e}.student-classroom-activity-card h3,.student-classroom-activity-card p,.student-classroom-activity-card small,.student-classroom-activity-card span{max-width:100%;overflow-wrap:anywhere}.student-classroom-card-main{display:grid;gap:.55rem;min-width:0}.student-activity-card-topline{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}.student-classroom-activity-card h3{margin:0;color:#fff;font-size:1.12rem;line-height:1.2}.student-classroom-activity-card .student-activity-context{color:#e0e7ff;font-size:.82rem;font-weight:800}.student-activity-status{display:inline-flex;align-items:center;min-height:1.8rem;padding:.25rem .6rem;border-radius:999px;background:#6366f133;color:#c7d2fe;font-size:.78rem;font-weight:900;text-transform:capitalize}.student-activity-due-chip{display:inline-flex;align-items:center;min-height:1.8rem;padding:.25rem .6rem;border-radius:999px;background:#94a3b824;color:#e0e7ff;font-size:.78rem;font-weight:900}.student-classroom-activity-card.status-submitted .student-activity-status{background:#22c55e29;color:#86efac}.student-classroom-activity-card.status-draft .student-activity-status{background:#fbbf2429;color:#fde68a}.student-classroom-activity-card.is-late{border-color:#f871718f;background:#1e293beb}.student-classroom-activity-card.is-excused{border-color:#2dd4bf8c}.student-activity-late-label{display:inline-flex;width:fit-content;min-height:1.7rem;align-items:center;padding:.2rem .52rem;border-radius:999px;background:#ef444429;color:#fecaca;font-size:.76rem;font-weight:900}.student-activity-late-label.is-excused{background:#14b8a629;color:#99f6e4}.student-classroom-card-open{justify-self:start;min-height:2.35rem;padding:0 .8rem;border:1px solid rgba(96,165,250,.45);border-radius:var(--radius-sm);background:#3b82f624;color:#dbeafe;font:inherit;font-size:.88rem;font-weight:900;cursor:pointer}.student-classroom-card-open:hover{border-color:#60a5fab3;background:#3b82f638;color:#fff}.student-classroom-card-open:focus-visible{outline:3px solid rgba(14,165,233,.8);outline-offset:3px}.student-classroom-card-details{width:100%;padding-top:.35rem;border-top:1px solid rgba(148,163,184,.16);color:var(--text-muted);cursor:default}.student-classroom-card-details summary{display:inline-flex;align-items:center;min-height:2rem;border-radius:var(--radius-sm);color:var(--text-muted);font-size:.82rem;font-weight:900;cursor:pointer}.student-classroom-card-details summary:hover{color:#dbeafe}.student-classroom-card-details summary:focus-visible{outline:3px solid rgba(14,165,233,.8);outline-offset:3px}.student-classroom-card-detail-copy{display:grid;gap:.5rem;padding-top:.35rem;font-size:.84rem;line-height:1.4}.student-classroom-card-detail-copy span{display:grid;gap:.15rem}.student-classroom-card-detail-copy strong{color:var(--text-main);font-size:.78rem;text-transform:uppercase}.student-classroom-late-banner{padding:.7rem .85rem;border:1px solid rgba(248,113,113,.5);border-radius:var(--radius-sm);background:#7f1d1d2e;color:#fecaca;font-weight:800}.student-classroom-late-banner.is-excused{border-color:#2dd4bf80;background:#14b8a61a;color:#99f6e4}.student-empty-state{color:var(--text-muted);font-weight:700}.student-classroom-activity-shell{display:grid;gap:var(--spacing-md)}.student-classroom-activity-layout{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:var(--spacing-md);align-items:start}.student-classroom-activity-layout.instructions-collapsed{grid-template-columns:minmax(0,1fr)}.student-classroom-instructions{max-height:calc(100svh - 170px);overflow-y:auto}.student-classroom-instructions .teacher-panel-header{align-items:flex-start;gap:.75rem}.student-instructions-close{flex:0 0 var(--touch-target);display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-target);border:1px solid rgba(148,163,184,.24);border-radius:var(--radius-md);color:#dbeafe}.student-instructions-close:hover{color:#fff;border-color:#f871718c;background:#ef44441f}.student-instructions-close svg{width:1.1rem;height:1.1rem}.student-classroom-instructions-heading{min-width:0}.student-classroom-instructions-body{display:grid;gap:.7rem}.student-instructions-toggle{white-space:nowrap}.student-instructions-toggle[aria-expanded=true]{color:#fff;border-color:#818cf8a6;background:#818cf824}.student-instructions-toggle svg{width:1.1rem;height:1.1rem}.student-classroom-activity-layout.instructions-collapsed .student-classroom-instructions{display:none}.student-classroom-task-summary{margin:0;padding-left:.8rem;border-left:3px solid rgba(96,165,250,.55);color:#dbeafe;font-weight:800;line-height:1.45}.student-classroom-description{color:var(--text-muted);line-height:1.55}.student-classroom-details-disclosure{border-top:1px solid rgba(148,163,184,.16);padding-top:.35rem}.student-classroom-details-disclosure summary{display:inline-flex;align-items:center;min-height:var(--touch-target);border-radius:var(--radius-sm);color:var(--text-main);font-weight:900;cursor:pointer}.student-classroom-details-disclosure summary:hover{color:#bfdbfe}.student-classroom-details-disclosure summary:focus-visible{outline:3px solid rgba(14,165,233,.8);outline-offset:3px}.student-classroom-detail-block{padding:.7rem 0;border-top:1px solid rgba(148,163,184,.14)}.student-classroom-details-disclosure .student-classroom-detail-block:first-of-type{margin-top:.35rem}.student-classroom-detail-block h4{margin:0 0 .35rem;color:var(--text-main);font-size:.92rem}.student-classroom-detail-block p{margin:0;color:var(--text-muted);line-height:1.5}.student-classroom-canvas-panel{min-width:0;padding:var(--spacing-sm)}.student-classroom-excalidraw-root{height:clamp(640px,calc(100svh - 210px),980px);min-height:600px}.student-classroom-excalidraw-root.structured-response-root,.student-classroom-excalidraw-root.card-sort-response-root,.student-classroom-excalidraw-root.spreadsheet-table-response-root,.student-classroom-excalidraw-root.image-hotspot-response-root,.student-classroom-excalidraw-root.external-artifact-response-root,.student-classroom-excalidraw-root.flowchart-response-root{height:auto;min-height:0;padding:0;overflow:visible;border:0;border-radius:0;background:transparent}.teacher-pick-action{display:inline-flex;align-items:center;gap:.4rem;margin-top:auto;color:var(--secondary-color);font-size:.86rem;font-weight:900}.teacher-pick-action svg{width:1rem;height:1rem}.delete-vocab-btn,.delete-activity-btn,.delete-activity-assignment-btn{position:absolute;right:.75rem;bottom:.75rem;display:inline-flex;align-items:center;justify-content:center;width:var(--touch-target);height:var(--touch-target);border:1px solid rgba(248,113,113,.45);border-radius:var(--radius-sm);background:#ef444414;color:var(--danger-color);cursor:pointer}.compact-vocab-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.teacher-stat-icon{width:1.6rem;height:1.6rem;color:var(--secondary-color);margin-bottom:.5rem}.teacher-file-icon{width:3rem;height:3rem;color:var(--secondary-color);margin-bottom:1rem}.teacher-login-card{width:min(100%,520px);margin:0 auto;padding:var(--spacing-lg)}.teacher-login-card h2{margin-bottom:var(--spacing-md);text-align:center}.teacher-auth-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-bottom:var(--spacing-md)}.teacher-auth-toggle{border-radius:var(--radius-md);width:100%}.teacher-auth-toggle:not(.active){background:transparent;box-shadow:none}.teacher-auth-panel{display:block}.student-dashboard-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.student-dashboard-heading h2{font-size:1.45rem;line-height:1.15}.student-dashboard-heading .btn{border-radius:var(--radius-md)}.student-dashboard-actions{--student-header-control-height: 3.25rem;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.65rem}.student-dashboard-actions .btn,.student-class-picker{height:var(--student-header-control-height, 3.25rem);min-height:var(--student-header-control-height, 3.25rem);box-sizing:border-box}.student-dashboard-actions .btn{padding-top:0;padding-bottom:0}.student-subject-picker{display:flex;align-items:stretch;flex-wrap:wrap;gap:.5rem;margin:0}.student-subject-picker:empty{display:none}.student-class-picker{display:inline-flex;align-items:center;gap:.5rem;width:auto;min-height:var(--student-header-control-height, var(--touch-target));padding:0 .8rem;border:1px solid color-mix(in srgb,var(--subject-color, var(--secondary-color)) 62%,rgba(255,255,255,.16));border-radius:var(--radius-md);background:color-mix(in srgb,var(--subject-color, var(--secondary-color)) 18%,rgba(255,255,255,.05))}.student-class-picker-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.student-class-picker .subject-color-dot{flex:0 0 .72rem}.student-subject-select{min-width:0;width:190px;height:100%;min-height:0;padding:0 1.7rem 0 .25rem;border:0;border-radius:0;background:transparent;color:var(--text-main);font:inherit;font-weight:800;line-height:1.2}.student-subject-btn{display:inline-grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;align-items:center;column-gap:.55rem;row-gap:.05rem;min-height:54px;min-width:150px;max-width:100%;padding:.55rem .75rem;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);background:#ffffff0d;color:var(--text-main);font:inherit;font-weight:800;text-align:left;cursor:pointer;transition:transform .2s ease,border-color .2s ease,background .2s ease}.student-subject-btn:hover,.student-subject-btn.active{border-color:color-mix(in srgb,var(--subject-color, var(--secondary-color)) 72%,white 12%);background:color-mix(in srgb,var(--subject-color, var(--secondary-color)) 22%,rgba(255,255,255,.05))}.student-subject-btn:hover{transform:translateY(-1px)}.student-subject-btn .subject-color-dot{grid-row:1 / 3}.student-subject-btn span:not(.subject-color-dot),.student-subject-btn small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-subject-btn small{color:var(--text-muted);font-size:.75rem;font-weight:700}.spark-library{display:grid;gap:var(--spacing-md)}.spark-command-strip{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:var(--spacing-sm);align-items:stretch;padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--radius-md);background:#0f172a80}.spark-command-main{display:grid;align-content:center;gap:.25rem;min-width:0}.spark-command-main strong{overflow-wrap:anywhere;font-size:1.05rem}.spark-command-main span:last-child{color:var(--text-muted);font-size:.88rem}.spark-command-kicker{color:#fbbf24;font-size:.74rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.spark-command-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.spark-command-stat{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.15rem .45rem;align-items:center;min-width:0;padding:.65rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#ffffff0a}.spark-command-stat svg{grid-row:span 2;width:1rem;height:1rem;color:#7dd3fc}.spark-command-stat span{min-width:0;overflow:hidden;color:var(--text-muted);font-size:.72rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.spark-command-stat strong{font-size:1rem;line-height:1}.spark-view-tabs{margin-bottom:0}.spark-view-tab{gap:.45rem}.spark-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .35rem;border-radius:var(--radius-sm);background:#ffffff14;color:var(--text-muted);font-size:.72rem;font-weight:900}.spark-library-body,.spark-view-panel{display:grid;gap:var(--spacing-md)}.spark-month-toolbar,.spark-type-tabs,.spark-spotlight-actions{display:flex;align-items:center}.spark-month-toolbar{gap:.5rem;justify-content:flex-start}.spark-month-select-label{display:flex;align-items:center;gap:.5rem}.spark-month-select-label span{color:var(--text-muted);font-size:.82rem;font-weight:900}.spark-month-select-label select{min-height:var(--touch-target)}.spark-type-tabs{flex-wrap:wrap;gap:.5rem}.spark-type-tab{display:inline-flex;align-items:center;gap:.4rem;min-height:var(--touch-target);padding:.45rem .65rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#ffffff09;color:var(--text-muted);font:inherit;font-size:.82rem;font-weight:800;cursor:pointer}.spark-type-tab.active{border-color:#0ea5e98c;background:#0ea5e929;color:var(--text-main)}.spark-type-tab svg{width:1rem;height:1rem}.spark-type-tab span:last-child{display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;height:1.4rem;padding:0 .3rem;border-radius:var(--radius-sm);background:#ffffff14;color:var(--text-muted);font-size:.72rem;font-weight:900}.spark-spotlight{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--spacing-sm);align-items:start;padding:var(--spacing-sm);border:1px solid rgba(249,191,36,.36);border-radius:var(--radius-md);background:linear-gradient(135deg,#f9731624,#0ea5e91a),#0f172a85}.spark-spotlight.is-current{border-color:#34d3998f}.spark-spotlight-copy{display:grid;gap:.65rem;min-width:0}.spark-spotlight-copy h3,.spark-spotlight-copy p{margin:0;overflow-wrap:anywhere}.spark-spotlight-copy h3{font-size:1.2rem;line-height:1.2}.spark-spotlight-copy p{color:var(--text-main)}.spark-spotlight-actions{flex-wrap:wrap;justify-content:flex-end;gap:.35rem}.spark-section{display:grid;gap:var(--spacing-sm);padding-block:.25rem}.spark-section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.spark-section-header h3{margin:0;font-size:1rem}.spark-section-header p{margin:.1rem 0 0;color:var(--text-muted);font-size:.86rem}.spark-section-count{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);font-size:.8rem;font-weight:900}.spark-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--spacing-sm)}.spark-card{display:grid;gap:.8rem;min-width:0;padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--radius-md);background:#ffffff09}.spark-card.is-current{border-color:#34d3998f;background:#14532d38}.spark-card-topline,.spark-card-footer,.spark-card-actions,.spark-type-pill,.spark-status-pill,.student-spark-heading,.student-spark-badge{display:flex;align-items:center}.spark-card-topline,.spark-card-footer{justify-content:space-between;gap:.75rem}.spark-type-pill,.spark-status-pill,.student-spark-badge{gap:.35rem;min-height:28px;padding:.2rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:900}.spark-type-pill,.student-spark-badge{background:#0ea5e929;color:#bae6fd}.spark-status-pill{background:#ffffff14;color:var(--text-muted)}.spark-card h4,.student-spark-card h3{margin:0;overflow-wrap:anywhere}.spark-card p,.spark-detail span,.spark-question span,.student-spark-card p,.student-spark-detail span,.student-spark-question span{overflow-wrap:anywhere}.spark-card p,.student-spark-card p{margin:0;color:var(--text-main)}.spark-detail,.student-spark-detail{display:grid;gap:.2rem}.spark-detail strong,.student-spark-detail strong{color:var(--text-muted);font-size:.78rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.spark-detail span,.spark-card-meta,.student-spark-detail span{color:var(--text-muted);font-size:.86rem}.spark-question,.student-spark-question{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.5rem;align-items:start;padding:.75rem;border-radius:var(--radius-sm);background:#f973161f}.spark-question svg,.student-spark-question svg,.spark-type-pill svg,.student-spark-badge svg{width:1rem;height:1rem}.spark-card-meta{display:grid;gap:.25rem;min-width:0}.spark-card-meta a,.student-spark-source a{display:inline-flex;align-items:center;min-height:var(--touch-target);color:#7dd3fc;overflow-wrap:anywhere}.spark-card-actions{flex-wrap:wrap;justify-content:flex-end;gap:.25rem}.spark-card-action{min-height:var(--touch-target)}.spark-empty-panel{grid-column:1 / -1;margin:0}.spark-modal-content{max-width:780px}.spark-grade-question-grid{display:grid;gap:var(--spacing-md);grid-template-columns:repeat(2,minmax(0,1fr))}.spark-target-grade-grid{display:grid;gap:var(--spacing-sm);grid-template-columns:repeat(4,minmax(0,1fr))}.spark-target-grade-option{display:flex;align-items:center;gap:.45rem;min-height:var(--touch-target);padding:.55rem .7rem;border:1px solid rgba(148,163,184,.28);border-radius:var(--radius-sm);background:#0f172a6b;color:var(--text-primary);font-weight:800;cursor:pointer}.spark-target-grade-option input{flex:0 0 auto}.spark-grade-question-grid .form-group{margin-bottom:0}.student-spark-host:empty{display:none}.student-spark-card{display:grid;gap:.55rem;padding:.85rem;border:1px solid rgba(14,165,233,.34);border-radius:var(--radius-sm);background:linear-gradient(135deg,#0ea5e91a,#f973160f),#0f172a80}.student-spark-heading{justify-content:space-between;gap:.5rem;color:var(--text-muted);font-size:.78rem;font-weight:900}.student-spark-card h3{font-size:1rem;line-height:1.2}.student-spark-card p{color:var(--text-muted);font-size:.88rem;line-height:1.35}.student-spark-detail{display:none}.student-spark-question{gap:.4rem;padding:.6rem}.student-spark-question span{font-size:.86rem;line-height:1.35}.student-spark-source{font-size:.78rem}.student-spark-source a{min-height:0}.student-home-dashboard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-md)}.student-home-tabs{display:none}.student-home-panel{min-width:0;border:0;border-radius:0;background:transparent;padding:0}.student-home-list{display:grid;gap:0}.student-home-unit{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;width:100%;min-height:68px;padding:.75rem 0;border:0;border-top:1px solid rgba(255,255,255,.08);border-radius:0;background:transparent;color:var(--text-main);font:inherit;text-align:left;cursor:pointer;transition:transform .2s ease,border-color .2s ease,background .2s ease}.student-home-unit:hover{background:#ffffff0a;transform:none}.student-home-list .student-home-unit:first-child{border-top:0}.student-home-unit:focus-visible{outline:3px solid rgba(14,165,233,.8);outline-offset:2px}.student-home-unit-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-md);background:#6366f129;color:var(--secondary-color)}.student-home-unit-icon svg,.student-home-unit-status svg{width:1rem;height:1rem}.student-home-unit-copy{display:grid;gap:.15rem;min-width:0}.student-home-unit-copy strong,.student-home-unit-copy span,.student-home-unit-status span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-home-unit-copy strong{display:-webkit-box;font-size:.92rem;line-height:1.2;white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical}.student-home-unit-copy span,.student-home-unit-status span{color:var(--text-muted);font-size:.78rem;font-weight:700}.student-home-unit-status{display:inline-flex;align-items:center;gap:.35rem;min-width:0;color:var(--text-muted)}.unit-subject-label{display:inline-flex;align-items:center;gap:.38rem;min-height:24px;margin-bottom:.2rem;color:color-mix(in srgb,var(--subject-color, var(--secondary-color)) 40%,#f8fafc);font-size:.8rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.unit-subject-label:empty{display:none}.unit-subject-label:before{content:"";width:.52rem;height:.52rem;flex:0 0 .52rem;border-radius:999px;background:var(--subject-color, var(--secondary-color))}.data-tab-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:var(--touch-target);min-width:var(--touch-target);padding:.75rem 1rem;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-muted);font:inherit;font-weight:700;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.data-tab-btn.active{border-bottom-color:var(--primary-color);color:var(--text-main)}.data-tab-btn:focus-visible{outline:3px solid rgba(14,165,233,.8);outline-offset:2px}.data-tab-list{display:flex;flex-wrap:wrap;gap:.5rem;align-items:stretch;border-bottom:2px solid var(--border-color);margin-bottom:2rem}.data-tab-content{min-width:0}.data-settings-panel{margin:0}.data-dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.data-grade-filter-card{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:0}.data-summary-grid,.data-chart-grid{display:grid;gap:1rem;margin-bottom:2rem}.data-summary-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:0}.data-chart-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:1.5rem}.data-chart-card,.data-recent-card{padding:1.25rem 0 0;border-top:1px solid rgba(255,255,255,.09);border-radius:0;background:transparent;box-shadow:none}.data-summary-stat{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:.75rem;row-gap:.15rem;min-width:0;padding:.85rem 0;border-top:1px solid rgba(255,255,255,.08);text-align:left!important}.data-summary-stat .teacher-stat-icon{grid-row:1 / span 2;margin-bottom:0!important}.data-chart-frame{position:relative;height:300px;min-width:0}.table-scroll-wrapper{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}.data-table-region{max-height:400px}.data-table-region table{min-width:640px}.student-filter-card{margin-bottom:1.5rem}.student-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:1rem;align-items:end}.student-filter-grid .form-group{margin-bottom:0}.student-progress-card{display:grid;gap:1rem}.student-progress-table-wrap{max-height:60vh}.student-progress-cards,.student-mobile-select-row{display:none}.student-mobile-select-toggle{display:inline-flex;align-items:center;gap:.65rem;min-height:var(--touch-target);font-weight:700;color:var(--text-main)}.student-mobile-select-toggle input,.student-card-select input,.student-checkbox,#select-all-students{width:22px;height:22px;accent-color:var(--primary-color)}.student-progress-cards{gap:0}.student-progress-mobile-card{display:grid;gap:.8rem;padding:.9rem 0;border:0;border-top:1px solid rgba(255,255,255,.08);border-radius:0;background:transparent;min-width:0}.student-progress-mobile-card:first-child{border-top:0}.student-progress-mobile-card.selected{padding-inline:.75rem;border-radius:var(--radius-sm);background:#6366f11f;box-shadow:inset 3px 0 #818cf8b3}.student-card-header{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;align-items:flex-start}.student-card-select{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-target);min-width:var(--touch-target)}.student-card-name{font-weight:800;line-height:1.25;overflow-wrap:anywhere}.student-card-email{color:var(--text-muted);font-size:.86rem;overflow-wrap:anywhere}.student-card-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.student-card-meta span{display:grid;gap:.1rem;min-width:0;color:var(--text-muted);font-size:.78rem;font-weight:700}.student-card-meta strong{color:var(--text-main);font-size:.95rem;overflow-wrap:anywhere}.student-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.student-card-actions .btn{width:100%;min-height:var(--touch-target)}.word-card{background:#0f172a8c;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);padding:var(--spacing-md);position:relative}.word-card h3{margin-bottom:var(--spacing-xs)}.word-card .pos-tag{display:inline-block;background:#6366f126;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;color:var(--text-muted);margin-bottom:var(--spacing-sm)}.word-card.word-hunt-selected{border-color:#10b98180;box-shadow:0 0 0 1px #10b98126}.word-hunt-selection-summary{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:48px;padding:.75rem 1rem;border:1px solid rgba(16,185,129,.3);border-radius:var(--radius-md);background:#10b98114;color:var(--text-main)}.word-hunt-selection-summary span{color:var(--text-muted);font-size:.9rem}.word-hunt-badge{display:inline-flex;align-items:center;min-height:28px;margin:.5rem 0;padding:.25rem .6rem;border:1px solid rgba(16,185,129,.42);border-radius:999px;background:#10b9811f;color:#86efac;font-size:.78rem;font-weight:700}.word-hunt-card-toggle,.word-hunt-modal-toggle{display:inline-flex;align-items:center;gap:.55rem;min-height:44px;margin-top:.75rem;color:var(--text-main);font-weight:600}.word-hunt-card-toggle input,.word-hunt-modal-toggle input{width:20px;height:20px;accent-color:#10b981}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:var(--spacing-md)}.modal.hidden{display:none}.modal-content{width:min(92vw,600px);max-width:600px;max-height:min(88vh,900px);overflow-y:auto;padding:var(--spacing-lg);border-radius:var(--radius-lg);background:#0f172acc;border:1px solid rgba(255,255,255,.15);box-shadow:0 25px 50px -20px #000c}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.close-modal{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-muted);min-width:var(--touch-target);min-height:var(--touch-target)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-lg)}#student-detail-modal .modal-content{padding:var(--spacing-lg)}#student-detail-modal .modal-body{padding-top:var(--spacing-sm)}.student-detail-section{display:grid;gap:.65rem;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid rgba(255,255,255,.09)}.student-detail-section h3{margin:0}.student-detail-activity-row{padding:.85rem 0;border-top:1px solid rgba(255,255,255,.08)}.student-detail-activity-row:first-child{border-top:0}.quiz-preview{background:#e9edf7;color:#111;padding:1.5rem;border-radius:22px;box-shadow:0 22px 60px -28px #00000059;font-family:Arial,sans-serif;font-size:12pt;border:1px solid #e0e6f0}.quiz-sheet{width:8.5in;max-width:100%;background:#fff;padding:.6in;border:1px solid #e5e7eb;border-radius:22px;box-shadow:0 18px 40px -24px #0003}.quiz-preview h1,.quiz-preview h2,.quiz-preview h3{color:#111;margin:0}.quiz-band{display:grid;grid-template-columns:88px 1fr 110px;gap:14px;align-items:center;padding:14px 18px;border-radius:18px;border:1px solid rgba(15,23,42,.08);background:linear-gradient(135deg,#f8fafc,#eef2ff)}.quiz-logo{width:82px;height:82px;border-radius:18px;background:#fff;border:1px dashed #cbd5e1;display:flex;align-items:center;justify-content:center;overflow:hidden}.quiz-logo img{width:100%;height:100%;object-fit:contain}.quiz-band-title h2,.quiz-band-title h3{margin:0;text-align:center}.quiz-total-box{text-align:right;font-weight:700;border:1px solid #e5e7eb;border-radius:12px;padding:.5rem .65rem;background:#f8fafc}.quiz-topline{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.55rem;margin:.75rem 0}.quiz-topline .fill{display:block;padding:.65rem .75rem;border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc;min-height:40px}.quiz-topline label{font-size:.85rem;color:#475569}.quiz-instructions{border:1px solid #e5e7eb;border-radius:14px;padding:.75rem .9rem;background:#fafafa;margin-bottom:.75rem;line-height:1.4}.quiz-criteria{margin:.9rem 0 1.2rem}.quiz-criteria table{width:100%;border-collapse:collapse;font-size:.95rem}.quiz-criteria th,.quiz-criteria td{border:1px solid rgba(15,23,42,.08);padding:.45rem .6rem;text-align:left;font-size:.92rem}.quiz-section{margin-top:1rem;padding:.95rem 1rem 1.05rem;border:1px solid rgba(15,23,42,.08);border-radius:14px;background:#f8fafc}.quiz-section h3{margin-bottom:.45rem;text-transform:uppercase;letter-spacing:.02em}.quiz-question{margin:.4rem 0;line-height:1.35}.quiz-options{margin-left:1.2rem}.print-hidden{display:none}@media print{body *:not(.quiz-print-area):not(.quiz-print-area *){visibility:hidden}.quiz-print-area,.quiz-print-area *{visibility:visible}.quiz-print-area{position:absolute;left:0;top:0;width:100%}}.mini-stat{background:#ffffff08;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.85rem 1rem;box-shadow:var(--shadow-sm)}.mini-stat-label{font-size:.8rem;color:var(--text-muted);margin-bottom:.25rem}.mini-stat-value{font-weight:700;font-size:1.3rem}.detail-summary-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:1rem}.detail-summary-grid .mini-stat{padding:.65rem 0;border:0;border-top:1px solid rgba(255,255,255,.08);border-radius:0;background:transparent;box-shadow:none}.hidden{display:none!important}.image-preview-box{margin-top:var(--spacing-xs);height:100px;background:#0f172a8c;border:1px dashed rgba(255,255,255,.2);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.875rem;overflow:hidden}.image-preview-box img{max-height:100%;max-width:100%;object-fit:contain}.bulk-action-toolbar{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(135deg,#6366f1f2,#0ea5e9f2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid rgba(255,255,255,.2);box-shadow:0 -10px 40px -10px #00000080;padding:1rem 2rem;z-index:50;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.bulk-action-toolbar:not(.hidden){transform:translateY(0)}.bulk-toolbar-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.bulk-count{font-weight:600;font-size:1rem;color:#fff}.bulk-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.bulk-actions input[type=number]{background:#fffffff2;border:1px solid rgba(255,255,255,.3);color:#0f172a}.bulk-actions .btn{white-space:nowrap}tr.selected{background:#6366f126;border-left:3px solid var(--primary-color)}input[type=checkbox]{width:auto;cursor:pointer;accent-color:var(--primary-color)}#activity-view.flashcards-active{display:block}#activity-view.flashcards-active #activity-container{display:block;min-height:0}.flashcards-activity-container{width:100%}.flashcard-wrapper{width:min(100%,880px);margin:0 auto;padding:0}.flashcard-stage{display:grid;grid-template-columns:minmax(260px,340px) minmax(260px,320px);gap:var(--spacing-md);align-items:start;justify-content:center}.card-scene{width:min(100%,340px);height:clamp(300px,43svh,380px);perspective:1000px;justify-self:center}.flashcard{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;padding:0;background:transparent;color:inherit;font:inherit;width:100%;height:100%;position:relative;transition:transform .6s;transform-style:preserve-3d;cursor:pointer}.flashcard.is-flipped{transform:rotateY(180deg)}.flashcard:focus-visible{outline:3px solid rgba(14,165,233,.8);outline-offset:5px;border-radius:var(--radius-lg)}.card-face{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;backface-visibility:hidden;border-radius:var(--radius-lg);box-shadow:0 25px 45px -20px #0f172ad9;background:#0f172ad9;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);text-align:center;border:1px solid rgba(255,255,255,.12)}.card-front{background:linear-gradient(135deg,#6366f14d,#0ea5e940)}.card-back{transform:rotateY(180deg);background:#0f172ad9}.card-content h2{font-size:2rem;color:var(--primary-color);margin-bottom:var(--spacing-sm)}.card-content .hint{margin-top:var(--spacing-lg);font-size:.875rem;color:var(--text-muted)}.card-content .pos-tag{display:inline-block;background:var(--primary-color);color:#fff;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.875rem;margin-bottom:var(--spacing-md)}.card-content .definition{font-size:1.125rem;margin-bottom:var(--spacing-md)}.card-content .example{font-style:italic;color:var(--text-muted)}.flashcard-panel{width:100%;display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-sm);border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.12);background:#0f172a7a;align-self:start}.flashcard-study-status{width:100%;display:flex;flex-direction:column;gap:.4rem;color:var(--text-muted);font-size:.9rem;text-align:left}.flashcard-study-meter{width:100%;height:8px;border-radius:999px;overflow:hidden;background:#ffffff1f}.flashcard-study-fill{width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));transition:width .25s ease}.flashcard-controls{flex-wrap:wrap;justify-content:space-between;gap:.75rem}.flashcard-controls .progress{flex:1 1 100%;order:-1;text-align:center}@media(max-width:820px){.flashcard-stage{grid-template-columns:1fr}.flashcard-panel{max-width:420px;justify-self:center}.word-hunt-grid{grid-template-columns:1fr}.word-hunt-nav,.word-hunt-actions{width:100%}}.controls{display:flex;align-items:center;gap:var(--spacing-md)}.progress{font-weight:600;color:var(--text-muted)}.word-hunt-wrapper{width:min(100%,1040px);margin:0 auto;display:flex;flex-direction:column;gap:var(--spacing-sm)}.word-hunt-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);flex-wrap:wrap}.word-hunt-title{min-width:0;flex:1 1 420px}.word-hunt-title span{display:block;color:var(--text-muted);font-size:.78rem;margin-bottom:.1rem}.word-hunt-title h2{margin:0;font-size:1.25rem;line-height:1.15}.word-hunt-title-row{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;margin-top:.15rem}.word-hunt-title strong{display:inline-flex;align-items:center;color:var(--primary-color);font-size:clamp(1.25rem,2.5vw,1.8rem);line-height:1.05;overflow-wrap:anywhere}.word-hunt-nav,.word-hunt-actions{display:flex;align-items:center;gap:var(--spacing-xs);flex-wrap:wrap}.word-hunt-search-link{text-decoration:none;min-height:38px;padding:.45rem .85rem}.word-hunt-grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(280px,.9fr);gap:var(--spacing-sm);align-items:stretch}.word-hunt-field,.word-hunt-image-panel{min-width:0;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);background:#0f172a7a;padding:.85rem}.word-hunt-field textarea{min-height:88px;resize:vertical}.word-hunt-field-helper{margin:.35rem 0 0;color:var(--text-muted);font-size:.76rem;line-height:1.25}.word-hunt-image-label{display:block;font-weight:600;margin-bottom:var(--spacing-xs);font-size:.85rem}.word-hunt-upload-area{position:relative;min-height:72px;border:2px dashed rgba(255,255,255,.24);border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;padding:.75rem;color:var(--text-muted);text-align:center;background:#0f172a80;overflow:hidden;cursor:text}.word-hunt-upload-area p{margin:0}.word-hunt-upload-action{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:.5rem .9rem;border-radius:999px;border:1px solid rgba(59,130,246,.55);background:linear-gradient(135deg,#6366f1e6,#0ea5e9e6);color:#fff;font-weight:700;box-shadow:0 14px 28px #2563eb33;cursor:pointer}.word-hunt-upload-area:focus,.word-hunt-upload-area:focus-within{border-color:#6366f1cc;box-shadow:0 0 0 3px #6366f140;outline:none}.word-hunt-upload-area input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.word-hunt-preview-frame{position:relative;margin-top:.65rem;min-height:128px;border-radius:var(--radius-md);background:#0f172a8c;border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;overflow:hidden}.word-hunt-remove-image{position:absolute;top:.55rem;right:.55rem;width:32px;height:32px;border:1px solid rgba(248,113,113,.55);border-radius:999px;background:#0f172adb;color:#fecaca;font-size:1.1rem;font-weight:900;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 18px #0f172a59}.word-hunt-remove-image:hover,.word-hunt-remove-image:focus-visible{border-color:#f87171d9;background:#7f1d1de0;color:#fff;outline:none}.word-hunt-preview-frame img{width:100%;max-height:170px;object-fit:contain}.word-hunt-footer{position:sticky;bottom:.75rem;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:.65rem;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);background:#0f172ae6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 14px 34px #0f172a47}.word-hunt-bottom-nav{display:flex;justify-content:flex-end;flex:0 0 auto}.word-hunt-status{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);flex-wrap:wrap;flex:1 1 auto}.word-hunt-requirements{display:flex;align-items:center;gap:var(--spacing-xs);flex-wrap:wrap}.word-hunt-requirement{min-height:32px;display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:.25rem .65rem;color:var(--text-muted);background:#0f172a8c;font-size:.82rem}.word-hunt-requirement.complete{color:#d1fae5;border-color:#34d399b3;background:#10b9812e}.word-hunt-completion{max-width:620px;margin:0 auto;text-align:center;padding:var(--spacing-lg);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);background:#0f172a8c}.matching-shell{display:flex;flex-direction:column;gap:var(--spacing-md)}.matching-hud{display:grid;grid-template-columns:1fr;gap:.5rem;align-items:stretch;padding:.75rem .85rem;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);background:#0f172a94}.matching-hud-copy{display:flex;align-items:baseline;justify-content:space-between;gap:var(--spacing-sm);flex-wrap:wrap}.matching-hud-copy h2{margin:0;font-size:1.15rem}.matching-hud-copy p{color:var(--text-muted);margin:0;font-size:.88rem}.matching-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--spacing-xs);width:100%;min-width:0}.matching-stat{min-width:0;padding:.38rem .5rem;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.12);background:#0f172a75;display:flex;align-items:baseline;justify-content:space-between;gap:.35rem}.matching-stat span{display:block;color:var(--text-muted);font-size:.68rem;margin:0}.matching-stat strong{display:block;font-size:.9rem;white-space:nowrap}.matching-progress{grid-column:1 / -1}.matching-progress-row{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm);margin-bottom:.22rem;color:var(--text-muted);font-size:.76rem}.matching-progress-track{height:6px;border-radius:999px;overflow:hidden;background:#ffffff1f}.matching-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));transition:width .25s ease}.matching-board{display:grid;grid-template-columns:minmax(180px,.82fr) minmax(260px,1.18fr);gap:var(--spacing-md);align-items:start}.matching-column{display:flex;flex-direction:column;gap:.75rem;min-width:0}.matching-column-heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--spacing-sm);color:var(--text-muted)}.matching-column-heading h3{color:var(--text-main);font-size:1rem}.matching-column-heading span{font-size:.8rem}.matching-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;min-height:64px;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-md);background:#0f172a8f;color:var(--text-main);cursor:pointer;display:flex;align-items:center;gap:var(--spacing-sm);font:inherit;line-height:1.35;padding:.95rem 1rem;text-align:inherit;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;-webkit-user-select:none;user-select:none}.matching-card:hover:not(:disabled){border-color:#0ea5e9bf;box-shadow:0 16px 32px -24px #0ea5e9e6;transform:translateY(-2px)}.matching-card:focus-visible{outline:3px solid rgba(14,165,233,.8);outline-offset:3px}.matching-card:disabled{cursor:default}.matching-card-label{display:block;min-width:0;overflow-wrap:anywhere}.matching-card.term-card{justify-content:center;text-align:center;font-weight:750;font-size:1.05rem;background:#6366f121}.matching-card.definition-card{justify-content:flex-start;text-align:left;font-size:.96rem;background:#0f172aa3}.matching-card.definition-card img{display:block;max-width:100%;max-height:120px;object-fit:contain;margin:0 auto;border-radius:var(--radius-sm)}.matching-card.selected{background:#6366f152;border-color:#818cf8f2;box-shadow:0 0 0 3px #6366f138}.matching-card.correct{background:#10b98133;border-color:#22c55e;color:#d1fae5;box-shadow:0 0 0 3px #22c55e2e}.matching-card.wrong{background:#f871713d;border-color:#ef4444;color:#fecaca;animation:shake .5s}.matching-empty-state{text-align:center;padding:var(--spacing-lg)}.matching-completion{max-width:620px;margin:0 auto}.matching-completion-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--spacing-sm);margin:var(--spacing-md) 0}.matching-completion-grid div{padding:.85rem;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.12);background:#0f172a80}.matching-completion-grid span{display:block;color:var(--text-muted);font-size:.78rem;margin-bottom:.25rem}.matching-completion-grid strong{display:block;color:var(--text-main);font-size:1.1rem}.matching-completion-meta{color:var(--text-muted)}.matching-completion-actions{display:flex;justify-content:center;gap:var(--spacing-sm);flex-wrap:wrap;margin-top:var(--spacing-md)}@media(max-width:820px){.matching-board{grid-template-columns:1fr;gap:var(--spacing-md)}.matching-hud{grid-template-columns:1fr}}@keyframes shake{0%{transform:translate(0)}25%{transform:translate(-5px)}50%{transform:translate(5px)}75%{transform:translate(-5px)}to{transform:translate(0)}}.status-bar{text-align:center;font-size:1.1rem;font-weight:600;color:var(--text-main);padding:var(--spacing-md);background:#0f172abf;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.15)}@media(max-width:768px){.app-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.landing-options{flex-direction:column;align-items:stretch}.option-card{width:100%}.form-row{flex-direction:column}.app-container{padding:var(--spacing-md)}}.crossword-wrapper{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:1120px;margin:0 auto}.crossword-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.crossword-header h2{margin:0 0 .35rem;color:#f8fafc;font-size:1.75rem;line-height:1.1}.crossword-header p{margin:0;color:#cbd5e1;font-size:.95rem}.cw-progress-wrap{min-width:min(100%,220px)}.cw-progress-text{margin-bottom:.45rem;color:#cbd5e1;font-weight:700;text-align:right}.cw-progress-track{height:.5rem;background:#94a3b838;border-radius:999px;overflow:hidden}.cw-progress-fill{width:0;height:100%;background:linear-gradient(90deg,#22c55e,#14b8a6);transition:width .25s ease}.crossword-game-area{display:flex;gap:1.5rem;justify-content:center;align-items:flex-start;flex-wrap:wrap}.cw-board-panel{min-width:0;overflow:auto;-webkit-overflow-scrolling:touch}.cw-grid{display:grid;gap:2px;background:#94a3b82e;padding:2px;border-radius:8px;width:max-content}.cw-grid-cell{width:30px;height:30px;background:#0f172a;position:relative}.cw-grid-cell:not(.empty){background:#f8fafc;border-radius:2px}.cw-grid-cell.active:not(.empty){background:#fde68a}.cw-grid-cell.start:not(.empty){box-shadow:inset 0 0 0 2px #f59e0b}.cw-cell{width:100%;height:100%;border:none;text-align:center;font-weight:700;font-size:1.2rem;text-transform:uppercase;background:transparent;color:#0f172a;padding:0}.cw-cell:focus{background:#facc15;outline:none}.cw-cell.correct{background:#bbf7d0}.cw-cell.incorrect{background:#fecaca}.cw-number{position:absolute;top:1px;left:2px;font-size:.6rem;color:#666;pointer-events:none}.cw-clues{max-width:360px;background:#0f172ae0;border:1px solid rgba(148,163,184,.22);padding:1rem;border-radius:12px;max-height:640px;overflow-y:auto;box-shadow:0 18px 45px #0000003d}.cw-active-clue{padding:.85rem;margin-bottom:.75rem;border-radius:10px;background:#1e293bd1;border:1px solid rgba(148,163,184,.16)}.cw-active-label{color:#86efac;font-size:.78rem;font-weight:800;text-transform:uppercase;margin-bottom:.35rem}.cw-active-text{color:#f8fafc;font-weight:700;line-height:1.35}.cw-active-meta,.cw-clue-length{color:#94a3b8;font-size:.8rem}.cw-active-meta{margin-top:.35rem}.cw-controls{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.9rem}.cw-clues-list h4{margin:.85rem 0 .45rem;color:#f8fafc}.cw-clue-item{margin-bottom:.45rem;padding:.55rem .65rem;border-radius:8px;font-size:.9rem;cursor:pointer;color:#cbd5e1;background:#1e293b85;border:1px solid transparent}.cw-clue-item:hover{color:#f8fafc;border-color:#94a3b840}.cw-clue-item.active{color:#f8fafc;background:#14b8a62e;border-color:#2dd4bf59}.hangman-wrapper{display:flex;flex-direction:column;align-items:center;gap:2rem}.hangman-drawing svg{max-width:100%;height:auto}.hangman-word{display:flex;gap:.5rem;font-size:2rem;font-family:monospace;flex-wrap:wrap;justify-content:center}.letter-slot{border-bottom:2px solid white;min-width:30px;text-align:center}.hangman-keyboard{display:flex;flex-direction:column;gap:.5rem;align-items:center}.keyboard-row{display:flex;gap:.5rem}.key-btn{width:40px;height:40px;border-radius:4px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:#fff;font-weight:700;cursor:pointer}.key-btn:hover:not(:disabled){background:#fff3}.key-btn:disabled{opacity:.5;cursor:not-allowed}.key-btn.correct{background:var(--primary-color);border-color:var(--primary-color)}.key-btn.wrong{background:var(--danger-color);border-color:var(--danger-color)}.scramble-wrapper{display:flex;flex-direction:column;align-items:center;gap:1.25rem;width:min(760px,100%);margin:0 auto}.scramble-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;width:100%}.scramble-header h2{margin:.25rem 0 0;font-size:clamp(1.5rem,3vw,2.25rem)}.scramble-kicker{color:var(--text-muted);font-size:.9rem;font-weight:700;text-transform:uppercase}.scramble-stats{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.scramble-stats span{border:1px solid var(--border-color);border-radius:999px;color:var(--text-muted);font-weight:700;padding:.35rem .75rem;white-space:nowrap}.scramble-progress{background:#ffffff14;border-radius:999px;height:10px;overflow:hidden;width:100%}.scramble-progress-fill{background:linear-gradient(90deg,var(--accent-color),var(--primary-color));height:100%;transition:width .25s ease}.scramble-clue,.scramble-hint{background:#0f172a80;padding:1rem;border-radius:8px;width:100%;min-height:76px}.scramble-clue ul{margin:0;padding-left:1.25rem}.scramble-clue li+li{margin-top:.35rem}.scramble-clue-empty{color:var(--text-muted);text-align:center}.scramble-answer-area{display:flex;gap:.5rem;min-height:60px;flex-wrap:wrap;justify-content:center;max-width:100%}.scramble-slot{width:50px;height:50px;border-bottom:2px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;flex:0 0 auto}.scramble-pool-area{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;max-width:100%;min-height:52px}.scramble-tile{width:45px;height:45px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:1.2rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 6px #0003;text-transform:uppercase;transition:transform .1s,background-color .2s,border-color .2s}.scramble-tile.in-answer{background:var(--accent-color)}.scramble-tile:active{transform:scale(.95)}.scramble-feedback{min-height:1.4rem;text-align:center;font-weight:700}.scramble-feedback.success{color:var(--accent-color)}.scramble-feedback.error{color:var(--danger-color)}.scramble-feedback.hint{color:#facc15}.scramble-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.scramble-summary{max-width:760px;margin:0 auto}.scramble-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1.25rem 0}.scramble-summary-grid div{background:#0f172a80;border:1px solid var(--border-color);border-radius:8px;padding:1rem}.scramble-summary-grid strong,.scramble-summary-grid span{display:block}.scramble-summary-grid strong{font-size:1.6rem}.scramble-summary-grid span{color:var(--text-muted);margin-top:.25rem}.scramble-review{margin:1.25rem 0;text-align:left}.scramble-review h3{margin-bottom:.75rem}.scramble-review-item{border-top:1px solid var(--border-color);display:grid;gap:.25rem;padding:.75rem 0}.scramble-review-item span,.scramble-review-empty{color:var(--text-muted)}.scramble-answer-area.is-shaking{animation:scramble-shake .28s ease}@keyframes scramble-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.wordle-wrapper{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%}.wordle-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:min(100%,620px)}.wordle-header h2{margin:0}.wordle-header p{margin:.25rem 0 0;color:var(--text-muted)}.wordle-hint,.wordle-message{width:min(100%,620px);padding:.85rem 1rem;background:#0f172ab8;border:1px solid rgba(255,255,255,.12);border-radius:8px;text-align:center;overflow-wrap:anywhere}.wordle-message{color:var(--text-muted);min-height:48px}.wordle-board{display:grid;grid-template-columns:repeat(var(--wordle-length),minmax(0,1fr));gap:.4rem;width:min(92vw,calc(var(--wordle-length) * 58px))}.wordle-tile{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.22);border-radius:6px;background:#0f172adb;color:#f8fafc;font-size:clamp(1.05rem,5vw,1.65rem);font-weight:900;text-transform:uppercase}.wordle-tile.correct,.wordle-key.correct{background:#16a34a;border-color:#16a34a;color:#fff}.wordle-tile.present,.wordle-key.present{background:#ca8a04;border-color:#ca8a04;color:#fff}.wordle-tile.absent,.wordle-key.absent{background:#475569;border-color:#475569;color:#e2e8f0}.wordle-keyboard{width:min(100%,680px);display:flex;flex-direction:column;gap:.45rem}.wordle-key-row{display:flex;justify-content:center;gap:.35rem}.wordle-key{min-width:0;width:clamp(30px,8vw,46px);height:48px;border:none;border-radius:6px;background:#94a3b859;color:#f8fafc;font-weight:800;cursor:pointer}.wordle-key.wide{width:clamp(54px,14vw,78px);font-size:.8rem}.wordle-completion{max-width:620px;margin:0 auto;text-align:center;padding:var(--spacing-lg);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);background:#0f172a8c}.speed-match-intro{text-align:center;padding:2rem}.speed-match-wrapper{width:100%;height:500px;position:relative;overflow:hidden;background:#0f172acc;border-radius:12px;border:1px solid rgba(255,255,255,.1)}.speed-match-hud{position:absolute;top:10px;left:10px;right:10px;display:flex;justify-content:space-between;font-weight:700;z-index:10}.speed-match-definition{position:absolute;top:40px;width:100%;text-align:center;padding:.5rem;background:#00000080;color:#fbbf24;z-index:5}.speed-match-area{width:100%;height:100%;position:relative}.falling-word{position:absolute;background:#fff;color:#0f172a;padding:.5rem 1rem;border-radius:20px;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:0 4px 10px #0000004d}.falling-word:hover{background:#e0e7ff;transform:scale(1.05)}.sm-feedback{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:2rem;font-weight:700;animation:fadeUp 1s forwards;pointer-events:none}.sm-feedback.success{color:#4ade80}.sm-feedback.danger{color:#f87171}@keyframes fadeUp{0%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(-50%,-100%)}}.fib-wrapper{display:flex;flex-direction:column;align-items:center;gap:2rem;padding:2rem}.fib-sentence{font-size:1.5rem;line-height:2;text-align:center;max-width:800px}.fib-input{border:none;border-bottom:2px solid var(--primary-color);background:transparent;font-size:1.5rem;color:#fff;width:150px;text-align:center;padding:0 .5rem;margin:0 .5rem}.fib-input:focus{outline:none;border-bottom-width:4px}.fib-input.correct{border-color:var(--success-color);color:var(--success-color)}.fib-input.wrong{border-color:var(--danger-color);color:var(--danger-color);animation:shake .5s}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.app-container:has(#quiz-maker-view:not(.hidden)){max-width:min(96vw,1800px)}.app-container:has(#quiz-maker-view:not(.hidden))>.teacher-main{padding:1rem}.app-container:has(#teacher-activity-editor-view:not(.hidden)){max-width:min(96vw,1800px)}.app-container:has(#teacher-activity-editor-view:not(.hidden))>.teacher-main{padding:1rem}.quiz-maker-container{color:var(--text-main);gap:1.25rem!important}.quiz-sidebar{width:clamp(380px,26vw,500px)!important;flex:0 0 clamp(380px,26vw,500px);background:#0f172a2e;border-right:1px solid rgba(255,255,255,.08);box-shadow:none}.quiz-maker-header{display:flex;align-items:center;justify-content:space-between;gap:.65rem;margin-bottom:.85rem}.quiz-maker-header .btn{min-height:2.75rem;border-radius:var(--radius-md);font-weight:800;white-space:nowrap}.quiz-maker-header .text-btn{justify-content:flex-start;padding:.35rem .55rem}.quiz-maker-header .primary-btn{justify-content:center;padding:.35rem .9rem;min-width:0}.quiz-canvas{flex:1 1 auto;min-width:0;padding:clamp(1rem,2vw,2.25rem)!important;background:#0f172a4d!important;border:0;box-shadow:none}.quiz-section-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:.5rem;align-items:center}.quiz-section-toolbar select{grid-column:1 / -1;min-width:0;width:100%}.quiz-section-toolbar .btn{width:100%;white-space:nowrap}.quiz-section-list{display:flex;flex-direction:column;gap:0;margin-top:.75rem}.quiz-section-card{min-width:0;overflow:hidden;border:0;border-top:1px solid rgba(255,255,255,.08);border-radius:0;background:transparent;padding:.85rem 0}.quiz-section-card:first-child{border-top:0}.quiz-section-card-header{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;margin-bottom:.7rem}.quiz-section-card-header>div:first-child{min-width:0}.quiz-section-card-header strong{display:block;overflow-wrap:anywhere;line-height:1.15}.quiz-section-kicker{display:block;color:var(--text-muted);font-size:.72rem;font-weight:700;line-height:1.1;text-transform:uppercase}.quiz-section-actions{display:flex;gap:.2rem;flex:0 0 auto}.quiz-section-actions .btn{min-width:28px;padding:.15rem .3rem}.quiz-section-actions .btn:disabled{opacity:.35;cursor:default}.quiz-section-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;min-width:0}.quiz-section-fields label{display:flex;flex-direction:column;gap:.25rem;color:var(--text-muted);font-size:.72rem;font-weight:700}.quiz-section-fields input{width:100%;min-width:0;padding:.45rem .5rem;text-align:center}.quiz-tool-note{color:var(--text-muted);font-size:.75rem;font-style:italic;line-height:1.4;margin-top:.55rem}.quiz-tool-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.25rem;margin-bottom:1rem;padding:.25rem;border:1px solid var(--border-color);border-radius:8px;background:#0f172a73}.quiz-tool-tab{min-width:0;min-height:34px;padding:.35rem .25rem;border:0;border-radius:6px;background:transparent;color:var(--text-muted);font:inherit;font-size:.72rem;font-weight:800;cursor:pointer}.quiz-tool-tab.active{background:#6366f13d;color:var(--text-main);box-shadow:inset 0 0 0 1px #6366f166}.quiz-tool-panel{display:none}.quiz-tool-panel.active{display:block}.rubric-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#0f172a9e}.rubric-modal-panel{width:min(92vw,620px);max-height:min(84vh,760px);display:flex;flex-direction:column;overflow:hidden;border-radius:8px;background:#fff;color:#111827;box-shadow:0 24px 70px -28px #0000008c}.rubric-modal-header{padding:1.25rem 1.35rem .85rem;border-bottom:1px solid #e5e7eb}.rubric-modal-eyebrow{margin:0 0 .2rem;color:#64748b;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.rubric-modal-header h3{margin:0;color:#111827;font-size:1.2rem}.rubric-modal-rows{display:flex;flex-direction:column;gap:.9rem;overflow-y:auto;padding:1.1rem 1.35rem}.rubric-row-edit{display:flex;flex-direction:column;gap:.65rem;padding:.85rem;border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc}.rubric-row-top{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:.75rem}.rubric-row-edit label{margin:0;color:#475569;font-size:.78rem;font-weight:800}.rubric-row-edit input,.rubric-row-edit textarea{width:100%;margin-top:.25rem;border:1px solid #cbd5e1;background:#fff;color:#111827}.rubric-row-edit textarea{min-height:72px;resize:vertical}.rubric-points-field input{text-align:center}.rubric-modal-footer{display:flex;justify-content:flex-end;gap:.65rem;padding:.9rem 1.35rem 1.1rem;border-top:1px solid #e5e7eb;background:#fff}.rubric-modal-footer .text-btn{color:#475569}.question-card{background:#fff;color:#1f2937;border-radius:var(--radius-md);padding:1rem;margin-bottom:1rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb;cursor:grab;transition:transform .2s,box-shadow .2s}.question-card:active{cursor:grabbing}.question-card.dragging{opacity:.5;transform:scale(.98);box-shadow:0 10px 15px -3px #0000001a}.q-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;border-bottom:1px solid #f3f4f6;padding-bottom:.5rem}.q-type{font-size:.75rem;font-weight:700;text-transform:uppercase;color:#6b7280;background:#f3f4f6;padding:2px 6px;border-radius:4px}.q-points{width:50px;padding:2px 4px;border:1px solid #d1d5db;border-radius:4px;font-size:.85rem;text-align:center;margin-right:.5rem;background:#fff;color:#111}.btn-icon{background:none;border:none;cursor:pointer;font-size:1.1rem;opacity:.6;transition:opacity .2s}.btn-icon:hover{opacity:1}.q-prompt{width:100%;border:1px solid #e5e7eb;border-radius:6px;padding:.5rem;font-family:inherit;font-size:.95rem;margin-bottom:.75rem;resize:vertical;min-height:60px;background:#fff;color:#111}.q-prompt:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #6366f11a}.q-options{display:flex;flex-direction:column;gap:.5rem}.option-row{display:flex;align-items:center;gap:.5rem}.option-input{flex:1;padding:.4rem .6rem;border:1px solid #e5e7eb;border-radius:4px;font-size:.9rem;background:#fff;color:#111}.q-answer-row{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#4b5563}.q-answer{flex:1;padding:.4rem .6rem;border:1px solid #e5e7eb;border-radius:4px;background:#f9fafb;color:#111}.document-page{background:#fff;width:8.5in;min-height:11in;margin:0 auto;padding:.45in;border:1px solid #111827;box-sizing:border-box;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;color:#000;font-family:Arial,sans-serif;font-size:12pt;line-height:1.3;position:relative;transform-origin:top center;transform:none;zoom:var(--preview-scale, 1);margin-bottom:2rem}.document-page.no-page-border{border-color:transparent}@media print{.document-page{width:100%;height:auto;min-height:auto;box-shadow:none;margin:0;padding:0;transform:none!important;zoom:1!important}}.doc-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;border-bottom:2px solid #e5e7eb;padding-bottom:1rem}.doc-logo{width:80px;height:80px;border:1px dashed #ccc;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:#999;background:#f9fafb}.doc-title-section{text-align:center;flex:1;padding:0 1rem}.doc-school-name{font-weight:700;font-size:1.1rem;text-transform:uppercase;margin-bottom:.25rem}.doc-quiz-title{font-size:1.25rem;font-weight:600;margin-bottom:.25rem}.doc-meta-info{font-size:.9rem;color:#4b5563}.doc-score-box{width:80px;height:80px;border:2px solid #000;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.5rem;color:#d1d5db}.doc-instructions{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.75rem;margin-bottom:1.5rem;font-size:12pt}.doc-instructions h4{font-size:12pt;font-weight:700;margin-bottom:.25rem;text-transform:uppercase;color:#475569}.doc-info-row{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.doc-info-pill{border:1px dashed #cbd5e1;border-radius:20px;padding:.5rem 1rem;font-size:12pt;flex:1;min-width:150px;display:flex;align-items:center;background:#fff}.doc-info-label{font-weight:600;margin-right:.5rem;color:#64748b}.doc-rubric{margin-bottom:2rem;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.doc-rubric-header{background:#f1f5f9;padding:.5rem 1rem;font-weight:600;font-size:.9rem;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between}.doc-rubric-table{width:100%;border-collapse:collapse;font-size:.85rem}.doc-rubric-table th,.doc-rubric-table td{padding:.5rem 1rem;border-bottom:1px solid #e2e8f0;text-align:left}.doc-rubric-table th{background:#f8fafc;font-weight:600;color:#475569}.doc-questions-container{min-height:200px;border:2px dashed transparent;transition:border-color .2s}.doc-questions-container.drag-over{border-color:var(--primary-color);background:#6366f10d}.document-page .question-card{border:none;box-shadow:none;border-bottom:1px solid #e5e7eb;border-radius:0;padding:1rem 0;margin-bottom:0;background:transparent}.document-page .question-card:last-child{border-bottom:none}.document-page .q-header{border-bottom:none;margin-bottom:.25rem;background:transparent;padding-bottom:0}.document-page .q-type{display:none}.document-page .q-prompt{border:1px solid transparent;background:transparent;padding:0;margin-bottom:.5rem;resize:none;min-height:auto;font-weight:500}.document-page .q-prompt:hover,.document-page .q-prompt:focus{border-color:#e5e7eb;background:#fff;padding:.5rem}.document-page .q-options{margin-left:1.5rem}.document-page .section-header{display:block;break-inside:avoid;page-break-inside:avoid}.document-page .doc-q-card{margin-bottom:1rem;break-inside:avoid;page-break-inside:avoid}.document-page .q-option{line-height:1.35}.document-page .tf-question-line{display:flex;align-items:baseline;gap:.75rem}.document-page .tf-answer-line{display:inline-block;width:48px;min-width:48px;border-bottom:1px solid #000;transform:translateY(-.15rem)}.document-page .matching-definition{display:grid;grid-template-columns:42px minmax(0,1fr);gap:.5rem;align-items:baseline;margin-bottom:.5rem}.document-page .matching-answer-line{display:inline-block;width:36px;border-bottom:1px solid #000;transform:translateY(-.15rem)}.document-page .option-input{border:1px solid transparent;background:transparent;padding:0;width:100%;color:#000}.document-page .option-input:hover,.document-page .option-input:focus{border-color:#e5e7eb;background:#fff;padding:.2rem .5rem}.doc-rubric-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;margin-bottom:1rem}.doc-rubric-item{padding:.5rem .75rem;border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb}.doc-rubric-item:nth-child(2n){border-right:none}.rubric-title{font-weight:700;font-size:12pt;margin-bottom:.1rem;color:#111}.rubric-desc{font-size:12pt;color:#4b5563;line-height:1.3}.rubric-pts{font-weight:700;color:#000}.doc-rubric-total{grid-column:1 / -1;text-align:right;padding:.5rem 1rem;font-weight:700;font-size:12pt;background:#fff;border-top:1px solid #e5e7eb}.band{display:grid;grid-template-columns:80px 1fr 80px;gap:10px;align-items:center;padding:10px 14px;border-radius:16px;border:1px solid rgba(15,23,42,.08);background:linear-gradient(135deg,#f8fafc,#eef2ff);margin-bottom:1rem}.band .logo{width:64px;height:64px;border-radius:16px;border:none;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;letter-spacing:.08em;overflow:hidden;background:transparent;position:relative}.band .logo img{width:100%;height:100%;object-fit:contain;display:block}.band .grade-note{width:64px;height:64px;border-radius:16px;border:1.5px solid rgba(15,23,42,.65);display:flex;align-items:center;justify-content:center;background:#fff;color:#0f172a;min-width:64px;min-height:64px;box-sizing:border-box}.band h3{margin:0;font-size:12pt;text-align:center;font-weight:700;color:#111827;line-height:1.3}.band h3:not(:first-child){margin-top:1px}.band .meta{text-align:center;font-weight:700;font-size:12pt;margin-top:2px;color:#475569}.question-card.view-mode{cursor:pointer;transition:all .2s ease}.question-card.view-mode:hover{background:#f8fafc;box-shadow:0 2px 8px #00000014}.question-card.view-mode .q-item{padding:.5rem}.question-card.edit-mode{background:#fff;border:2px solid #3b82f6;box-shadow:0 4px 12px #3b82f633}.question-card.view-mode .q-prompt{font-weight:500;margin-bottom:.5rem;color:#111}.question-card.view-mode .q-option{color:#374151}.header-actions,#user-info,#guest-status,#teacher-auth-controls{min-width:0;flex-wrap:wrap}.section-header,.activity-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);flex-wrap:wrap;margin-bottom:var(--spacing-md)}.section-header h2,.activity-header h2,#current-unit-title,.menu-card,.activity-card,.word-card{min-width:0;overflow-wrap:anywhere}.menu-card,.activity-card{min-height:180px}.activity-card{cursor:pointer;display:flex;flex-direction:column;gap:.45rem;padding-bottom:2.25rem;width:100%;color:var(--text-main);font:inherit;text-align:left}button.activity-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border-color)}.activity-card .icon,.menu-card .icon{font-size:2.75rem;line-height:1}.activity-card h3,.menu-card h3{line-height:1.2}.activity-card p,.menu-card p,.option-card p,.word-card p{overflow-wrap:anywhere}.modal-body{max-height:calc(88vh - 9rem);overflow-y:auto;padding-right:.15rem}.modal-footer{flex-wrap:wrap}.completion-overlay{padding:var(--spacing-md)}.completion-overlay .completion-screen{width:min(92vw,520px);max-height:86vh;overflow-y:auto}.word-search-wrapper{width:100%!important;max-width:1040px!important;align-items:flex-start!important}.word-search-header{width:100%}.word-list-container{flex:0 0 260px!important;max-width:100%;overflow-wrap:anywhere}.word-search-grid-container{min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.word-search-grid{width:min(100%,620px);margin:0 auto;touch-action:none}.word-search-cell{min-width:0}.crossword-wrapper{width:100%}.cw-grid{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}.cw-grid-cell{width:var(--cw-cell-size, var(--touch-target));height:var(--cw-cell-size, var(--touch-target))}.cw-clues{flex:1 1 260px;max-width:min(100%,420px)}.arcade-container,#game-stage{width:100%}.game-header{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);flex-wrap:wrap;margin-bottom:var(--spacing-md)}#game-canvas{display:block;width:min(100%,800px);max-height:min(70vh,600px);margin:0 auto;object-fit:contain}.teacher-main,#teacher-data-management-view{max-width:100%!important}#teacher-progress-view table{min-width:760px}#teacher-progress-view .card,#teacher-dashboard-view .card,#teacher-editor-view .card,#teacher-data-management-view .card{min-width:0}#teacher-progress-view .card>div[style*=overflow-x],#preview-tables,#viewer-tables-content{overflow-x:auto;-webkit-overflow-scrolling:touch}#student-detail-modal .modal-content{width:min(92vw,800px)!important;max-height:88vh!important;overflow-x:hidden}#student-detail-modal .modal-header h2,#detail-activity-list,#detail-activity-list .student-detail-activity-row,#temporary-password-output,.mini-stat-value{min-width:0;overflow-wrap:anywhere}#detail-activity-list .student-detail-activity-row>div,#detail-activity-list .student-detail-activity-row div[style*="display: flex"]{min-width:0;flex-wrap:wrap;gap:.35rem}@media(min-width:900px){#student-detail-modal{align-items:stretch;justify-content:flex-end;padding:0}#student-detail-modal .modal-content{width:min(460px,100vw)!important;max-height:100vh!important;height:100vh;border-radius:var(--radius-md) 0 0 var(--radius-md);overflow-y:auto}}#quiz-modal .modal-content{width:min(95vw,900px)!important;max-height:90vh!important}@media(hover:none){.option-card:hover,.primary-btn:hover,.secondary-btn:hover,.matching-card:hover,.question-card.view-mode:hover{transform:none}}@media(max-width:1024px){:root{--cw-cell-size: 44px}.app-container{padding:var(--spacing-md)}.app-container>main{padding:var(--spacing-md)}.app-header{flex-wrap:wrap;gap:var(--spacing-sm)}.header-actions{justify-content:flex-end}.landing-container{justify-content:flex-start;min-height:100svh;padding:var(--spacing-xl) var(--spacing-md) var(--spacing-lg)}.landing-header h1{font-size:3rem}.words-grid,.vocab-grid,.activities-grid,.trimester-vocab-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:var(--spacing-md)!important}.menu-card{padding:var(--spacing-lg) var(--spacing-md)!important}#game-selection>div:first-child{gap:var(--spacing-sm)!important;margin-bottom:var(--spacing-md)!important}.quiz-maker-container{flex-direction:column!important;height:auto!important;min-height:0}.quiz-sidebar{width:100%!important;max-height:none!important}.quiz-canvas{width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}.teacher-overview-grid,.student-home-dashboard{grid-template-columns:1fr}.student-dashboard-heading{align-items:flex-start;flex-direction:column}.student-dashboard-actions{justify-content:flex-start;width:100%}.subject-manager-row{grid-template-columns:auto minmax(0,1fr) 56px}.subject-manager-row .subject-order-input,.subject-manager-row .subject-active-toggle,.subject-manager-row code{grid-column:2 / -1}}@media(max-width:850px){.app-header{align-items:flex-start}.teacher-app-header{grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:.55rem}.student-app-header.student-mobile-compact,.student-app-header:has(#student-tab-shell:not(.hidden)){grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:.55rem}.teacher-app-header .teacher-tab-shell{justify-self:stretch;position:relative;z-index:30;width:auto;min-width:0}.teacher-mobile-menu-toggle{display:inline-flex}.teacher-app-header .teacher-tabs{position:absolute;top:calc(100% + .4rem);left:0;display:none;grid-template-columns:1fr;width:min(19rem,calc(100vw - 2rem));max-height:min(70vh,24rem);overflow-y:auto;justify-content:stretch;padding:.35rem;border-radius:var(--radius-md);background:#0f172afa;box-shadow:0 24px 50px -24px #000c}.teacher-tab-shell.mobile-menu-open .teacher-tabs{display:grid}.teacher-app-header .teacher-tab{justify-content:flex-start;width:100%;min-width:0;white-space:normal}.student-app-header.student-mobile-compact .header-left,.student-app-header:has(#student-tab-shell:not(.hidden)) .header-left{display:none}.student-app-header.student-mobile-compact .student-tab-shell,.student-app-header:has(#student-tab-shell:not(.hidden)) .student-tab-shell{justify-self:stretch;position:relative;z-index:30;width:auto;min-width:0}.student-app-header.student-mobile-compact .student-mobile-menu-toggle,.student-app-header:has(#student-tab-shell:not(.hidden)) .student-mobile-menu-toggle{display:inline-flex}.student-app-header.student-mobile-compact .student-tabs,.student-app-header:has(#student-tab-shell:not(.hidden)) .student-tabs{position:absolute;top:calc(100% + .4rem);left:0;display:none;grid-template-columns:1fr;width:min(17rem,calc(100vw - 2rem));max-height:min(70vh,18rem);overflow-y:auto;justify-content:stretch;padding:.35rem;border-radius:var(--radius-md);background:#0f172afa;box-shadow:0 24px 50px -24px #000c}.student-tab-shell.mobile-menu-open .student-tabs,.student-app-header.student-mobile-compact .student-tab-shell.mobile-menu-open .student-tabs,.student-app-header:has(#student-tab-shell:not(.hidden)) .student-tab-shell.mobile-menu-open .student-tabs{display:grid}.student-app-header.student-mobile-compact .student-tab,.student-app-header:has(#student-tab-shell:not(.hidden)) .student-tab{justify-content:flex-start;width:100%;min-width:0;white-space:normal}.teacher-app-header .header-actions{justify-self:end;min-width:0;width:auto}.student-app-header.student-mobile-compact .header-actions,.student-app-header:has(#student-tab-shell:not(.hidden)) .header-actions{justify-self:end;min-width:0;width:auto}.header-actions,#user-info,#guest-status,#teacher-auth-controls{width:100%;justify-content:flex-start}.teacher-app-header .header-actions,.teacher-app-header #teacher-auth-controls{width:auto;justify-content:flex-end;flex-wrap:nowrap}.student-app-header.student-mobile-compact .header-actions,.student-app-header.student-mobile-compact #user-info,.student-app-header:has(#student-tab-shell:not(.hidden)) .header-actions,.student-app-header:has(#student-tab-shell:not(.hidden)) #user-info{width:auto;justify-content:flex-end;flex-wrap:nowrap}.student-app-header.student-mobile-compact .student-mobile-profile-btn,.student-app-header:has(#student-tab-shell:not(.hidden)) .student-mobile-profile-btn{display:inline-flex}#user-info{gap:.65rem!important}.vocab-trimester-heading,.student-vocab-month-heading{align-items:flex-start;flex-direction:column;gap:.25rem}.activity-card{min-height:170px}.crossword-wrapper{gap:var(--spacing-md);justify-content:flex-start}.cw-clues{flex-basis:100%;max-height:320px}.word-search-wrapper{gap:var(--spacing-md)!important}.word-hunt-grid{grid-template-columns:1fr}.word-hunt-nav,.word-hunt-actions{width:100%}}@media(max-width:700px){:root{--cw-cell-size: 44px}.landing-container,.app-container{padding:var(--spacing-sm)}.landing-header h1{font-size:2.5rem}.landing-options{align-items:stretch}.option-card{width:100%;min-height:0}.app-container>main{padding:var(--spacing-sm);border-radius:var(--radius-md)}.student-dashboard-heading{margin-bottom:.75rem}.student-dashboard-heading>div:first-child{display:none}.student-dashboard-actions{--student-header-control-height: var(--touch-target);display:grid;grid-template-columns:minmax(0,1fr) var(--touch-target);align-items:stretch;gap:.5rem;width:100%}.student-dashboard-actions .student-subject-picker,.student-dashboard-actions .student-class-picker{width:100%;min-width:0}.student-dashboard-actions .student-subject-select{height:var(--touch-target);min-height:var(--touch-target)}.student-dashboard-actions .btn{width:var(--touch-target);min-width:var(--touch-target);padding:0}.student-dashboard-actions .btn-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}#activity-menu-view .section-header,#activity-menu-view .activity-menu-summary{grid-template-columns:1fr}#activity-menu-view .section-header{grid-template-areas:"back" "title" "export";gap:.45rem}#activity-menu-view .section-header h2{max-width:none}#activity-menu-view .student-export-menu{justify-self:stretch}.student-home-dashboard{display:block}.student-home-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;margin-bottom:.65rem;padding:.25rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:#0f172a73}.student-home-tab{display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:var(--touch-target);padding:.45rem .35rem;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font:inherit;font-size:.85rem;font-weight:800;cursor:pointer;touch-action:manipulation}.student-home-tab span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-home-tab.active{background:#6366f138;color:var(--text-main);box-shadow:inset 0 0 0 1px #6366f194}.student-home-tab:focus-visible{outline:3px solid rgba(14,165,233,.8);outline-offset:2px}.student-home-panel{display:none;padding:0}.student-home-panel.active{display:block}.student-home-panel .teacher-panel-header{display:none}.student-home-list{gap:0}.student-home-unit{min-height:64px;padding:.75rem 0;gap:.55rem}.student-home-unit-icon{width:34px;height:34px;border-radius:var(--radius-sm)}.student-home-unit-copy strong{font-size:.86rem;line-height:1.15}.student-home-unit-copy span,.student-home-unit-status span{font-size:.74rem}.header-left h1{font-size:1.25rem}.section-header,.activity-header,.modal-header{align-items:flex-start}.section-header h2,#current-unit-title{flex-basis:100%}.student-export-menu,.student-export-menu summary,.student-export-menu-panel{width:100%}.student-export-menu-panel{position:static;margin-top:.5rem}.teacher-page-heading{align-items:flex-start;flex-direction:column}.teacher-panel-header,.structured-mode-header{align-items:stretch;flex-direction:column}.structured-mode-tabs{width:100%}.structured-mode-tab{flex:1 1 0}.teacher-toolbar{justify-content:flex-start;width:100%}.teacher-toolbar .btn,.teacher-toolbar label.btn{flex:1 1 170px}.teacher-toolbar-select{align-items:flex-start;flex:1 1 100%;flex-direction:column}.teacher-toolbar-select select{min-width:0;width:100%}.activity-editor-layout,.activity-review-layout,.activity-review-workspace,.student-classroom-activity-layout{grid-template-columns:1fr}.activity-review-student-panel{position:static;max-height:none;overflow:visible}.student-classroom-activity-layout.instructions-collapsed{grid-template-columns:1fr}.activity-editor-form,.student-classroom-instructions{max-height:none;overflow:visible}.activity-meta-grid,.activity-preview-hero,.activity-preview-two-column,.activity-preview-detail-grid{grid-template-columns:1fr}.structured-builder-match-item,.structured-builder-scale,.structured-builder-grid-config,.card-sort-builder-grid,.card-sort-card-fields,.card-sort-card-actions,.spreadsheet-column-fields,.image-hotspot-builder-image-row,.image-hotspot-label-fields,.image-hotspot-student-grid,.flowchart-editor-grid,.flowchart-node-type-toggle,.spreadsheet-chart-preview-row,.structured-response-matching-row,.structured-response-ranking label,.structured-response-ranking.readonly>div{grid-template-columns:1fr}.card-sort-card-fields label:nth-child(1),.card-sort-card-fields label:nth-child(2){grid-column:auto}.activity-assignment-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-submission-row{grid-template-columns:1fr;align-items:stretch}.activity-excalidraw-root{height:70svh;min-height:440px}.student-classroom-excalidraw-root{height:72svh;min-height:500px}#teacher-activity-editor-view.canvas-focus .activity-excalidraw-root{height:76svh;min-height:500px}.teacher-panel{padding:var(--spacing-sm)}.spark-command-strip,.spark-spotlight{grid-template-columns:minmax(0,1fr)}.spark-command-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.spark-view-tabs{flex-wrap:wrap;overflow-x:visible;scroll-snap-type:none}.spark-view-tab{flex:1 1 145px;justify-content:center}.spark-month-toolbar{flex-wrap:wrap}.spark-month-select-label{flex:1 1 220px}.spark-month-select-label select{width:100%}.spark-spotlight-actions{justify-content:flex-start;width:100%}.spark-card-footer{align-items:flex-start;flex-direction:column}.spark-card-actions{justify-content:flex-start;width:100%}.spark-grade-question-grid,.spark-target-grade-grid{grid-template-columns:minmax(0,1fr)}.student-spark-host{margin-bottom:.75rem}.data-tab-list{display:flex;flex-wrap:nowrap;overflow-x:auto;padding-bottom:.35rem;border-bottom:0;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.data-tab-btn{flex:0 0 auto;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#ffffff09;scroll-snap-align:start;white-space:nowrap}.data-tab-btn.active{border-color:#6366f1bf;background:#6366f12e}.data-tab-list.spark-view-tabs{flex-wrap:wrap;overflow-x:visible;scroll-snap-type:none}.data-tab-list.spark-view-tabs .spark-view-tab{flex:1 1 145px;justify-content:center}.data-dashboard-header,.data-grade-filter-card{align-items:stretch;width:100%}.data-grade-filter-card{display:grid;grid-template-columns:1fr}.data-chart-card,.data-recent-card{padding:var(--spacing-sm) 0 0}.data-chart-frame{height:260px}.teacher-activity-item{align-items:flex-start;flex-direction:column;gap:.25rem}.words-grid,.vocab-grid,.activities-grid,.trimester-vocab-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-sm)}.menu-grid{grid-template-columns:1fr!important}.student-subject-picker,.student-class-picker,.student-subject-select{width:100%}.student-subject-btn{flex:1 1 180px}.activity-card,.word-card,.mini-stat{padding:var(--spacing-sm)}.activity-card{min-height:150px;padding-bottom:2rem}.student-progress-table-wrap{display:none}.student-mobile-select-row{display:flex;align-items:center}.student-progress-cards{display:grid}.student-card-meta,.student-card-actions{grid-template-columns:1fr}.student-home-unit{grid-template-columns:auto minmax(0,1fr);align-items:flex-start}.student-home-unit-status{grid-column:2 / -1;justify-content:space-between;width:100%}.form-row{flex-direction:column;gap:0}.login-container{min-height:auto!important}#student-register-panel form>div[style*=grid-template-columns],#teacher-login-view form+form,#teacher-login-view .card>div[style*=grid-template-columns]{grid-template-columns:1fr!important}.modal{align-items:flex-start;padding:var(--spacing-sm)}.modal-content{width:100%!important;max-height:calc(100svh - 2rem)!important}.modal-body{max-height:calc(100svh - 11rem)}.modal-footer{justify-content:stretch}.modal-footer .btn{flex:1 1 180px}.word-search-wrapper{flex-direction:column!important}.word-list-container{flex:1 1 auto!important;width:100%}.word-search-grid{width:min(100%,520px)}.word-search-cell{font-size:.8rem!important}.cw-cell{font-size:1rem}.cw-number{font-size:.5rem}.card-scene{width:min(100%,300px);height:min(360px,58svh)}.matching-hud{grid-template-columns:1fr;gap:var(--spacing-sm);padding:.75rem}.matching-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.matching-stat{display:block}.matching-stat span{margin-bottom:.15rem}.matching-board{grid-template-columns:1fr;gap:var(--spacing-md)}.matching-card{min-height:64px;padding:var(--spacing-sm);font-size:1rem}.word-hunt-header,.word-hunt-footer,.word-hunt-status{align-items:stretch}.word-hunt-footer{flex-direction:column;bottom:.5rem}.word-hunt-nav .btn,.word-hunt-actions .btn{flex:1 1 150px}.word-hunt-field,.word-hunt-image-panel,.word-hunt-completion,.fib-wrapper,.speed-match-intro{padding:var(--spacing-sm)}.fib-sentence,.fib-input{font-size:1.15rem}.keyboard-row{flex-wrap:wrap;justify-content:center}#game-selection>div:first-child{flex-wrap:wrap}#current-game-card{order:-1;flex-basis:100%!important}.bulk-toolbar-content,.bulk-actions{align-items:stretch;width:100%}.bulk-actions .btn{flex:1 1 180px}}@media(max-width:480px){:root{--cw-cell-size: 36px}.landing-header h1{font-size:2rem}.words-grid,.vocab-grid,.activities-grid,.trimester-vocab-grid{grid-template-columns:1fr}.subject-manager-row{grid-template-columns:auto minmax(0,1fr)}.subject-manager-row input[type=color],.subject-manager-row .subject-order-input,.subject-manager-row .subject-active-toggle,.subject-manager-row code{grid-column:2 / -1}.student-class-picker .subject-color-dot{display:none}.student-subject-btn{width:100%}.teacher-app-header .teacher-tabs{grid-template-columns:1fr;width:min(18rem,calc(100vw - 1rem))}.teacher-tab,.student-tab,.data-tab-btn{gap:.35rem;padding-inline:.5rem;font-size:.86rem}.student-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.matching-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cw-grid{width:max-content}.word-search-grid{width:100%}.scramble-slot,.scramble-tile{width:40px;height:40px}.scramble-header{align-items:flex-start;flex-direction:column}.scramble-stats{justify-content:flex-start}.scramble-summary-grid{grid-template-columns:1fr}.wordle-header{align-items:flex-start;flex-direction:column}.wordle-board{gap:.25rem}.wordle-key{height:42px;font-size:.82rem}}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(./inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(./inter-latin-500-normal-BL9OpVg8.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(./inter-latin-600-normal-CiBQ2DWP.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(./inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(./inter-latin-700-normal-BLAVimhd.woff) format("woff")}
