:root{--bg-color:#f0f4f8;--text:#0f172a;--text-muted:#64748b;--glass-bg:#fff6;--glass-border:#fff9;--glass-shadow:0 10px 40px -10px #64748b33;--input-bg:#ffffffb3;--filter-blur:blur(25px);--mesh-gradient:radial-gradient(at 0% 10%, #bfdbfe 0px, transparent 50%), radial-gradient(at 100% 0%, #ede9fe 0px, transparent 50%), radial-gradient(at 100% 100%, #d1fae5 0px, transparent 50%), radial-gradient(at 10% 90%, #fef3c7 0px, transparent 50%);--primary:#4f46e5;--primary-hover:#4338ca;--green:#10b981;--red:#ef4444;--orange:#f97316}body.dark{--bg-color:#0f172a;--text:#f8fafc;--text-muted:#94a3b8;--glass-bg:#1e293b66;--glass-border:#ffffff26;--glass-shadow:0 10px 40px -10px #0009;--input-bg:#0f172a80;--filter-blur:blur(35px);--mesh-gradient:radial-gradient(at 5% 15%, #0d9488 0px, transparent 50%), radial-gradient(at 95% 5%, #4c1d95 0px, transparent 50%), radial-gradient(at 100% 95%, #1e1b4b 0px, transparent 50%), radial-gradient(at 0% 100%, #115e59 0px, transparent 50%);--primary:#818cf8;--primary-hover:#a5b4fc;--orange:#fb923c}html,body{width:100%;height:100%;color:var(--text);margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;overflow-x:hidden}body{background-color:var(--bg-color);transition:background-color .3s,color .3s}.app-main-wrapper{z-index:1;width:100%;min-height:100dvh;position:relative;overflow:hidden}.texture-grain{z-index:2;opacity:.04;pointer-events:none;background-image:url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNDAwIDQwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZmlsdGVyIGlkPSJub2lzZUZpbHRlciI+PGZlVHVyYnVsZW5jZSB0eXBlPSJmcmFjdGFsTm9pc2UiIGJhc2VGcmVxdWVuY3k9IjEuNSIgbnVtT2N0YXZlcz0iMyIgc3RpdGNoVGlsZXM9InN0aXRjaCIvPjwvZmlsdGVyPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbHRlcj0idXJsKCNub2lzZUZpbHRlcikiLz48L3N2Zz4=);width:100%;height:100%;position:fixed;top:0;left:0}.mesh-background{z-index:1;background-image:var(--mesh-gradient);pointer-events:none;background-attachment:fixed;width:100%;height:100%;transition:background-image .4s;position:fixed;top:0;left:0}.app-container{z-index:10;box-sizing:border-box;width:min(100%,920px);max-width:calc(100vw - 24px);margin:0 auto;padding:clamp(14px,3vw,24px);position:relative}h1,h2,h3{margin:0 0 10px;font-weight:700}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px)saturate(180%);border:1px solid var(--glass-border);box-sizing:border-box;border-radius:20px;width:100%;padding:clamp(15px,5vw,25px);box-shadow:0 8px 32px #0003}button{cursor:pointer;font-family:inherit;transition:all .2s}button:hover:not(:disabled){border-color:var(--primary);filter:brightness(1.06);box-shadow:0 0 0 3px #818cf821}button:focus-visible{outline-offset:3px;outline:3px solid #818cf88c}button:disabled{cursor:not-allowed}button:active{transform:translateY(1px)scale(.98)}.btn-primary{background:var(--primary);color:#fff;border:none;border-radius:12px;width:100%;padding:15px;font-size:1.1rem;font-weight:700}.btn-primary:hover{background:var(--primary-hover);box-shadow:0 4px 15px #4f46e533}.btn-group{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.btn-red,.btn-green{color:#fff;border:none;border-radius:12px;flex:1;padding:15px;font-size:1.1rem;font-weight:700}.btn-red{background:var(--red)}.btn-green{background:var(--green)}.btn-small{background:var(--primary);color:#fff;border:none;border-radius:10px;padding:10px 20px;font-weight:700}.theme-toggle-btn{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:30px;margin-right:10px;padding:8px 16px;font-size:.9rem;font-weight:700}.theme-toggle-btn:hover{background:#818cf829}.logout-btn{border:1px solid var(--text-muted);color:var(--text);background:0 0;border-radius:30px;padding:8px 16px;font-size:.9rem}.logout-btn:hover{color:var(--primary-hover);background:#818cf81f}.filter-item:hover,.assignment-student-row:hover,.simulation-restore-tab:hover,.admin-return-badge:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 0 0 3px #818cf81f}.back-link{color:var(--primary);background:0 0;border:none;align-items:center;margin-bottom:25px;padding:0;font-size:1rem;font-weight:700;display:flex}.back-link:hover,.table-link-button:hover{text-underline-offset:4px;text-decoration:underline}.input-field,.password-wrapper input{background:var(--input-bg);border:1px solid var(--glass-border);width:100%;color:var(--text);box-sizing:border-box;border-radius:12px;outline:none;margin-bottom:18px;padding:16px;font-size:1.1rem;transition:border-color .2s}.input-field:focus{border-color:var(--primary)}select.input-field:hover,input.input-field:hover,textarea.input-field:hover,.password-wrapper:hover input{border-color:#818cf880}.password-wrapper{width:100%;margin-bottom:18px;position:relative}.password-wrapper input{margin-bottom:0;padding-right:50px}.toggle-password-btn{color:var(--text-muted);opacity:.7;background:0 0;border:none;padding:0;font-size:1.3rem;position:absolute;top:50%;right:15px;transform:translateY(-50%)}.user-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:30px;padding:18px 25px;display:flex}.user-bar-actions{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.curriculum-version-badge{color:var(--text-muted);background:#0f172a38;border:1px solid #ffffff1f;border-radius:12px;flex-direction:column;align-items:flex-start;gap:3px;max-width:100%;margin-bottom:18px;padding:9px 12px;font-size:.78rem;display:inline-flex}.curriculum-version-badge b{color:var(--text-main);overflow-wrap:anywhere;font-size:.88rem}.user-bar-actions .curriculum-version-badge,.glass-panel>.curriculum-version-badge:last-child{margin-bottom:0}.menu-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:18px;display:grid}.menu-card{text-align:center;cursor:pointer;background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text);font:inherit;border-radius:20px;padding:30px 20px;transition:transform .2s cubic-bezier(.4,0,.2,1),border-color .2s}.menu-card:hover{border-color:#3b82f666;transform:translateY(-4px)}.menu-card:disabled,.menu-card[disabled]{cursor:not-allowed;opacity:.58}.menu-card:disabled:hover,.menu-card[disabled]:hover{border-color:var(--glass-border);transform:none}.menu-card p{color:var(--text-muted);margin:0;font-size:1rem;font-weight:500}.menu-card h2{margin-bottom:8px;font-size:1.4rem}.student-dashboard-shell{gap:18px;margin-bottom:25px;display:grid}.student-dashboard-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.student-dashboard-heading h1{margin-bottom:0}.student-memory-panel{border:1px solid var(--glass-border);background:#0f172a2e;border-radius:16px;gap:12px;padding:16px;display:grid}.student-memory-copy{grid-template-columns:auto auto 1fr;align-items:end;gap:6px 14px;display:grid}.student-memory-copy .label{grid-column:1/-1;margin:0}.student-memory-copy b{color:var(--orange);font-size:clamp(2rem,5vw,3.2rem);line-height:1}.student-memory-copy p{color:var(--text-muted);margin:0 0 4px;font-size:.95rem;font-weight:750}.student-memory-bar{background:#94a3b82e;border:1px solid #94a3b833;border-radius:999px;height:14px;overflow:hidden}.student-memory-bar span{border-radius:inherit;background:linear-gradient(90deg,#22c55e 0%,#f59e0b 55%,#ef4444 100%);height:100%;transition:width .45s;display:block}.student-dashboard-stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr));gap:10px;display:grid}.student-dashboard-stats span{border:1px solid var(--glass-border);background:#0f172a29;border-radius:14px;padding:12px}.student-dashboard-stats b,.student-dashboard-stats small{display:block}.student-dashboard-stats b{font-size:1.3rem}.student-dashboard-stats small{color:var(--text-muted);text-transform:uppercase;margin-top:3px;font-size:.76rem;font-weight:850}.student-explainer-box{border:1px solid var(--glass-border);background:#818cf81a;border-radius:14px;padding:12px 14px}.student-explainer-box summary{cursor:pointer;font-weight:900}.student-explainer-box p{color:var(--text-muted);margin:10px 0 0;line-height:1.45}.student-explainer-box b{color:var(--text-main)}.student-menu-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}.student-menu-grid .menu-card{border-radius:16px;min-height:122px;padding:20px 14px}.student-menu-grid .menu-card h2{font-size:1.15rem}.menu-count-pill{background:var(--red);color:#fff;border-radius:999px;margin-left:5px;padding:3px 8px;font-size:.82rem;display:inline-flex}.student-progress-panel{border:1px solid var(--glass-border);background:#0f172a1f;border-radius:16px;padding:12px}.student-progress-panel summary{cursor:pointer;font-weight:850;list-style-position:inside}.student-progress-panel summary span{vertical-align:middle;flex-direction:column;gap:2px;margin-left:4px;display:inline-flex}.student-progress-panel summary small{color:var(--text-muted);font-size:.78rem}.student-subsection-grid{gap:9px;margin-top:12px;display:grid}.student-subsection-row{grid-template-columns:minmax(0,1.25fr) minmax(110px,1fr) auto;align-items:center;gap:10px;display:grid}.student-subsection-row b,.student-subsection-row small{display:block}.student-subsection-row b{overflow-wrap:anywhere;font-size:.92rem}.student-subsection-row small{color:var(--text-muted);font-size:.72rem;line-height:1.3}.student-subsection-meter{background:#94a3b82e;border:1px solid #94a3b82e;border-radius:999px;height:10px;overflow:hidden}.student-subsection-fill{border-radius:inherit;height:100%;transition:width .35s;display:block}.menu-card.admin-feature{-webkit-backdrop-filter:var(--filter-blur);background:#4f46e526;border:1px solid #818cf866;grid-column:span 2;box-shadow:0 8px 32px #4f46e526}body.dark .menu-card.admin-feature{background:#818cf826}.menu-card.admin-feature h2{color:var(--text)}.menu-card.admin-feature p{color:var(--text-muted)}.flashcard{margin-bottom:20px;padding:35px}.label{color:var(--text-muted);letter-spacing:1px;margin-bottom:15px;font-size:.8rem;font-weight:700}.pre-line{white-space:pre-line;line-height:1.7}.answer-option-grid{gap:12px;margin-top:28px;display:grid}.answer-option{border:1px solid var(--glass-border);color:var(--text);text-align:left;background:#0f172a57;border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:14px;width:100%;padding:16px;transition:all .2s;display:grid}.answer-option:hover:not(:disabled),.answer-option.is-selected{border-color:var(--primary);transform:translateY(-1px);box-shadow:0 0 0 3px #818cf824}.answer-option:disabled{cursor:default}.answer-option.is-correct{background:#10b98129;border-color:#10b981bf}.answer-option.is-wrong{background:#ef444424;border-color:#ef4444bf}.answer-option-letter{border:1px solid var(--glass-border);background:#818cf838;border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;font-weight:800;display:inline-flex}.answer-feedback,.written-mark-panel{border:1px solid var(--glass-border);border-radius:12px;margin-top:18px;padding:16px}.answer-feedback{gap:8px;display:grid}.answer-feedback.is-correct,.written-mark-panel.is-correct{background:#10b98124;border-color:#10b9819e}.answer-feedback.is-wrong,.written-mark-panel.is-wrong{background:#ef44441f;border-color:#ef44448a}.written-mark-panel h2{margin:4px 0 8px}.written-mark-panel p{color:var(--text-muted);margin:0}.mark-point-list{gap:8px;margin-top:16px;display:grid}.mark-point{border:1px solid var(--glass-border);color:var(--text-muted);background:#0f172a47;border-radius:10px;padding:12px 14px}.mark-point.is-matched{color:var(--text);border-color:#10b9818f}.student-row{justify-content:space-between;align-items:center;margin-bottom:15px;padding:20px 25px;display:flex}.student-row:hover{transform:translateY(-3px)scale(1.01)}.filter-list{flex-direction:column;gap:15px;margin-bottom:30px;display:flex}.filter-item{overflow-wrap:anywhere;align-items:center;gap:18px;min-width:0;margin-bottom:0;padding:18px 25px;display:flex}.filter-item input[type=checkbox]{width:26px;height:26px;accent-color:var(--primary);flex:none}.flag-review-list{gap:12px}.flag-review-card{grid-template-columns:minmax(0,1fr) minmax(220px,.34fr);align-items:flex-start;display:grid}.flag-review-copy{min-width:0}.flag-review-header{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.flag-review-comment{white-space:pre-line;margin-top:8px}.flag-review-actions{gap:10px;width:100%;min-width:0;display:grid}.compact-textarea{resize:vertical;min-height:86px}.compact-action-btn{width:100%;min-height:42px;padding:10px 16px}.editor-grid{grid-template-columns:minmax(260px,.95fr) minmax(300px,1.05fr);align-items:start;gap:20px;display:grid}.curriculum-picker{flex-direction:column;gap:14px;margin:18px 0 22px;display:flex}.curriculum-section{flex-direction:column;gap:14px;margin-bottom:15px;display:flex}.chapter-toggle{width:100%;color:var(--text);text-align:left;font:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;gap:18px;padding:0;display:flex}.chapter-toggle>span:first-child{min-width:0}.chapter-toggle b{overflow-wrap:anywhere;display:block}.chapter-toggle span span,.selected-content-card span,.subsection-heading span,.question-picker span,.muted-copy{color:var(--text-muted);font-size:.85rem}.chapter-toggle>span:last-child{color:var(--primary);white-space:nowrap;font-weight:700}.chapter-details{flex-direction:column;gap:12px;margin-top:18px;display:flex}.subsection-block{flex-direction:column;gap:10px;display:flex}.subsection-heading{justify-content:space-between;align-items:baseline;gap:12px;padding:0 4px;display:flex}.long-answer-block{border-top:1px solid var(--glass-border);margin-top:6px;padding-top:16px}.question-list{flex-direction:column;gap:10px;display:flex}.question-picker{border:1px solid var(--glass-border);background:var(--glass-bg);width:100%;color:var(--text);text-align:left;font:inherit;box-sizing:border-box;overflow-wrap:anywhere;border-radius:14px;justify-content:space-between;align-items:flex-start;gap:16px;padding:15px 18px;display:flex}.question-picker b{flex:none;max-width:45%}.question-picker span{text-align:right;min-width:0}.question-picker.is-selected{border-color:var(--primary);box-shadow:0 0 0 2px #818cf838}.selected-content-card{background:#818cf81f;border:1px solid #818cf86b;border-radius:14px;flex-direction:column;gap:4px;margin-top:14px;padding:15px 18px;display:flex}.muted-copy{margin:0}.admin-live-panel{flex-direction:column;gap:18px;display:flex}.admin-session-pill{border:1px solid var(--glass-border);color:var(--text-muted);border-radius:14px;flex-direction:column;align-self:flex-start;gap:3px;max-width:min(100%,380px);padding:9px 12px;font-size:.82rem;font-weight:700;display:inline-flex}.admin-session-pill b{color:var(--text)}.admin-session-pill small{line-height:1.3}.admin-session-pill.enabled{border-color:#10b98161}.admin-session-pill.paused{border-color:#f59e0b66}.admin-session-pill.blocked{border-color:#ef444461}.pilot-code-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.pilot-code-form label,.pilot-subject-picker{flex-direction:column;gap:8px;display:flex}.pilot-code-form label>span,.pilot-subject-picker>span{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:800}.pilot-code-note,.pilot-subject-picker,.pilot-license-tier-field{grid-column:span 3}.pilot-code-form small{color:var(--text-muted);font-size:.82rem;font-weight:700;line-height:1.35}.pilot-code-form .input-field:disabled{cursor:not-allowed;opacity:.72}.subject-chip-row{flex-wrap:wrap;gap:10px;display:flex}.subject-chip{border:1px solid var(--glass-border);color:var(--text);background:#818cf81f;border-radius:999px;padding:10px 14px;font-weight:800}.subject-chip.is-selected{background:var(--primary);border-color:var(--primary-hover);color:#fff}.pilot-code-submit{grid-column:span 3}.form-feedback{color:var(--text-muted);margin:0;font-size:.92rem;font-weight:700}.pilot-code-result{background:#10b9811f;border:1px solid #10b98161;border-radius:16px;justify-content:space-between;align-items:center;gap:14px;padding:16px;display:flex}.pilot-code-result>div{flex-direction:column;gap:5px;min-width:0;display:flex}.pilot-code-result span,.pilot-code-result small{color:var(--text-muted)}.pilot-code-value{color:var(--orange);letter-spacing:.06em;overflow-wrap:anywhere;font-size:clamp(1.2rem,4vw,1.85rem)}.class-snapshot-panel{flex-direction:column;gap:18px;display:flex}.class-snapshot-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:12px;display:grid}.class-stat-card{border:1px solid var(--glass-border);color:var(--text);font:inherit;text-align:left;background:#0f172a2e;border-radius:16px;flex-direction:column;gap:5px;min-height:112px;padding:15px;display:flex}button.class-stat-card{cursor:pointer}.class-stat-card span{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:800}.class-stat-card b{font-size:clamp(1.5rem,4vw,2.1rem);line-height:1.05}.class-stat-card small{color:var(--text-muted);font-size:.82rem;line-height:1.35}.class-stat-card.is-clickable:hover:not(:disabled){border-color:var(--primary);transform:translateY(-2px)}.class-stat-card.is-clickable:disabled{cursor:not-allowed;opacity:.62}.class-stat-card.risk b{color:var(--red)}.class-stat-card.watch b{color:#f59e0b}.class-stat-card.fresh b{color:var(--green)}.activity-bar-panel{border:1px solid var(--glass-border);background:#0f172a1f;border-radius:18px;padding:clamp(14px,3vw,18px);scroll-margin-bottom:180px}.has-simulation-dock .activity-bar-panel{margin-bottom:108px}.activity-bar-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.activity-bar-heading h3{margin-bottom:4px}.activity-bar-heading p{color:var(--text-muted);max-width:760px;margin:0;font-size:.9rem;line-height:1.45}.activity-chart-wrap{gap:12px;display:grid}.activity-chart-summary{grid-template-columns:repeat(auto-fit,minmax(min(100%,120px),1fr));gap:8px;display:grid}.activity-chart-summary span{border:1px solid var(--glass-border);background:#0f172a29;border-radius:13px;min-width:0;padding:10px}.activity-chart-summary b,.activity-chart-summary small{display:block}.activity-chart-summary b{color:var(--text);font-size:1.05rem;line-height:1.1}.activity-chart-summary small{color:var(--text-muted);text-transform:uppercase;margin-top:3px;font-size:.75rem;font-weight:800}.activity-chart-legend{flex-wrap:wrap;align-items:center;gap:9px 14px;display:flex}.activity-chart-key{color:var(--text-muted);align-items:center;gap:7px;font-size:.8rem;font-weight:800;display:inline-flex}.activity-chart-key span{background:linear-gradient(180deg, #bfdbfe 0%, var(--primary) 100%);border-radius:999px;width:10px;height:10px;box-shadow:0 0 0 3px #818cf81f}.activity-chart-key.risk span{background:linear-gradient(180deg, #fecaca 0%, var(--red) 100%)}.activity-chart-key.watch span{background:linear-gradient(#fde68a 0%,#f59e0b 100%)}.activity-chart-key.fresh span{background:linear-gradient(180deg, #bbf7d0 0%, var(--green) 100%)}.activity-chart-surface{background:linear-gradient(#94a3b81a 1px,#0000 1px) 0 32px/100% 44px,linear-gradient(#0f172a1f,#0f172a0a);border:1px solid #94a3b82e;border-radius:16px;padding:18px 14px 14px 50px;position:relative;overflow:hidden}.activity-chart-surface:after{content:"";background:#e2e8f05c;height:1px;position:absolute;bottom:88px;left:50px;right:14px}.activity-chart-axis{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;z-index:1;margin-bottom:8px;font-size:.72rem;font-weight:900;display:block;position:relative}.activity-chart-scale{color:var(--text-muted);pointer-events:none;text-align:right;z-index:1;flex-direction:column;justify-content:space-between;width:28px;font-size:.7rem;font-weight:850;line-height:1;display:flex;position:absolute;top:46px;bottom:88px;left:12px}.activity-bar-grid{z-index:1;grid-template-columns:repeat(auto-fit,minmax(min(100%,92px),1fr));align-items:end;gap:10px;min-height:236px;display:grid;position:relative}.activity-bar-grid.is-dense{grid-template-columns:repeat(auto-fit,minmax(22px,1fr));gap:5px;min-height:190px}.activity-bar-item{color:var(--text);font:inherit;text-align:center;background:0 0;border:1px solid #0000;border-radius:14px;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;min-width:0;min-height:236px;padding:8px 6px;transition:background .2s,box-shadow .2s,border-color .2s,transform .2s;display:flex}.activity-bar-grid.is-dense .activity-bar-item{border-radius:10px;gap:5px;min-height:190px;padding:5px 2px}button.activity-bar-item{cursor:pointer}button.activity-bar-item:hover:not(:disabled){border-color:var(--primary);background:#818cf814;transform:translateY(-2px);box-shadow:0 16px 32px #4f46e524}.activity-bar-value{color:var(--text);font-size:.95rem;font-weight:800}.activity-bar-track{background:#94a3b824;border:1px solid #94a3b82e;border-radius:12px 12px 5px 5px;align-items:end;width:clamp(24px,42%,46px);height:126px;padding:0;display:flex;overflow:hidden}.activity-bar-grid.is-dense .activity-bar-track{border-radius:9px 9px 4px 4px;width:clamp(14px,70%,26px);height:112px}.activity-bar-fill{background:linear-gradient(180deg, #bfdbfe 0%, var(--primary) 100%);border-radius:12px 12px 5px 5px;width:100%;display:block;box-shadow:0 10px 22px #4f46e538}.dashboard-guide-box{border:1px solid var(--glass-border);background:#0f172a24;border-radius:16px;padding:12px 14px}.dashboard-guide-box[open]{background:#0f172a38}.dashboard-guide-box summary{color:var(--text);cursor:pointer;font-weight:850;list-style-position:inside}.dashboard-guide-box summary:hover,.dashboard-guide-box summary:focus-visible{color:var(--primary)}.dashboard-guide-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:10px;margin-top:12px;display:grid}.dashboard-guide-grid span{color:var(--text-muted);background:#0f172a33;border:1px solid #ffffff14;border-radius:13px;padding:11px;font-size:.86rem;line-height:1.45}.dashboard-guide-grid b{color:var(--text);margin-bottom:4px;display:block}.term-hint{display:inline-block;position:relative}.term-hint-label{cursor:help;border-bottom:1px dotted}.term-hint-bubble{color:#f8fafc;opacity:0;pointer-events:none;text-transform:none;visibility:hidden;z-index:40;background:#0f172af5;border:1px solid #ffffff24;border-radius:12px;min-width:210px;max-width:min(260px,82vw);padding:10px 12px;font-size:.78rem;font-weight:750;line-height:1.35;transition:opacity .16s,transform .16s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px);box-shadow:0 18px 36px #0f172a57}.term-hint:hover .term-hint-bubble,.term-hint:focus-visible .term-hint-bubble{opacity:1;visibility:visible;transform:translate(-50%)}.readiness-scale{grid-template-columns:repeat(auto-fit,minmax(min(100%,110px),1fr));gap:8px;margin-top:12px;display:grid}.readiness-scale span{border:1px solid var(--glass-border);color:var(--text-muted);background:#0f172a29;border-radius:12px;padding:9px;font-size:.75rem;font-weight:850}.readiness-scale b{color:var(--text);margin-bottom:2px;font-size:.9rem;display:block}.readiness-scale .track-gold{border-color:#f59e0b70}.readiness-scale .track-green{border-color:#10b9816b}.readiness-scale .track-orange{border-color:#f59e0b52}.readiness-scale .track-red{border-color:#ef444461}.activity-bar-item.risk .activity-bar-fill{background:linear-gradient(180deg, #fecaca 0%, var(--red) 100%)}.activity-bar-item.watch .activity-bar-fill{background:linear-gradient(#fde68a 0%,#f59e0b 100%)}.activity-bar-item.fresh .activity-bar-fill{background:linear-gradient(180deg, #bbf7d0 0%, var(--green) 100%)}.activity-bar-label,.activity-bar-sub,.activity-bar-metric{overflow-wrap:anywhere;max-width:100%}.activity-bar-label{color:var(--text);font-size:.84rem;font-weight:800;line-height:1.2}.activity-bar-grid.is-dense .activity-bar-label{letter-spacing:.03em;font-size:.64rem}.activity-bar-sub,.activity-bar-metric{color:var(--text-muted);font-size:.74rem;line-height:1.25}.activity-bar-metric{color:var(--primary-hover);font-weight:700}.activity-bar-grid.is-dense .activity-bar-sub,.activity-bar-grid.is-dense .activity-bar-metric{display:none}.activity-bar-grid.is-dense .activity-bar-value{font-size:.66rem}.modal-backdrop{z-index:50;background:#0f172ab8;justify-content:center;align-items:flex-start;padding:clamp(12px,3vw,22px);display:flex;position:fixed;inset:0;overflow-y:auto}.insight-modal{width:min(1120px,100%);max-width:min(1120px,100vw - 24px);overflow:visible}.insight-table,.dashboard-insight-table{min-width:0}.filter-explainer{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0;display:grid}.filter-explainer span{border:1px solid var(--glass-border);color:var(--text-muted);background:#818cf81a;border-radius:12px;padding:12px;font-size:.84rem;line-height:1.4}.filter-explainer b{color:var(--text)}.support-detail-button{border:1px solid var(--glass-border);color:var(--text);text-align:left;white-space:normal;background:#818cf81a;border-radius:12px;flex-direction:column;align-items:flex-start;gap:3px;width:100%;max-width:220px;padding:9px 11px;display:flex}.support-detail-button b{font-size:.86rem}.support-detail-button span{color:var(--text-muted);font-size:.76rem;line-height:1.3}.support-detail-button.support{border-color:#ef44446b}.support-detail-button.reward{border-color:#10b9816b}.support-detail-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0;display:grid}.support-detail-summary span{border:1px solid var(--glass-border);color:var(--text-muted);border-radius:12px;padding:12px}.support-detail-summary b{color:var(--text);font-size:1.4rem;display:block}.support-timeline{border:1px solid var(--glass-border);border-radius:14px;height:76px;margin:16px 0;position:relative}.support-timeline:before{background:var(--glass-border);content:"";height:2px;position:absolute;top:38px;left:16px;right:16px}.support-timeline-label{color:var(--text-muted);font-size:.75rem;position:absolute;top:10px;left:14px}.support-timeline-label.is-end{left:auto;right:14px}.support-timeline-empty{color:var(--text-muted);text-align:center;width:min(90%,360px);font-size:.84rem;position:absolute;top:46px;left:50%;transform:translate(-50%)}.support-dot{z-index:1;border:2px solid #ffffffb3;border-radius:999px;width:13px;height:13px;position:absolute;top:32px;transform:translate(-50%)}.support-dot.support{background:var(--red)}.support-dot.watch{background:#f59e0b}.support-dot.reward{background:var(--green)}.pilot-test-panel{flex-direction:column;gap:16px;display:flex}.pilot-test-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;display:grid}.pilot-test-role-strip{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;display:grid}.pilot-test-role-strip>div{border:1px solid var(--glass-border);background:#818cf81a;border-radius:14px;flex-direction:column;gap:5px;padding:12px;display:flex}.pilot-test-role-strip b,.pilot-test-role{color:var(--primary);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:900}.pilot-test-role-strip span{color:var(--text-muted);font-size:.9rem;line-height:1.38}.pilot-test-summary{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:12px;display:grid}.pilot-test-summary>div{border:1px solid var(--glass-border);background:#0f172a29;border-radius:14px;padding:13px}.pilot-test-summary span,.pilot-test-notes label>span{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:5px;font-size:.78rem;font-weight:900;display:block}.pilot-test-summary b{font-size:1.5rem;line-height:1.1;display:block}.pilot-test-summary small{color:var(--text-muted);margin-top:5px;line-height:1.35;display:block}.pilot-test-card{border:1px solid var(--glass-border);background:#0f172a29;border-radius:14px;flex-direction:column;gap:8px;min-width:0;padding:14px;display:flex}.pilot-test-step-number{border:1px solid var(--glass-border);color:var(--primary);background:#818cf82e;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.82rem;font-weight:900;display:inline-flex}.pilot-test-role{display:inline-flex}.pilot-test-card h3{margin:0}.pilot-test-card ul{color:var(--text-muted);flex-direction:column;gap:7px;margin:0;padding-left:0;line-height:1.4;list-style:none;display:flex}.pilot-check-item{border-bottom:1px solid #94a3b826;grid-template-columns:minmax(0,1fr);gap:10px;padding:0 0 10px;display:grid}.pilot-check-item:last-child{border-bottom:0;padding-bottom:0}.pilot-check-item.pass>span{color:var(--green)}.pilot-check-item.fix>span{color:var(--red)}.pilot-check-actions{flex-wrap:wrap;gap:6px;display:flex}.pilot-check-status{border:1px solid var(--glass-border);color:var(--text-muted);cursor:pointer;background:#0f172a42;border-radius:999px;padding:6px 9px;font-size:.75rem;font-weight:800}.pilot-check-status:hover,.pilot-check-status:focus-visible{border-color:var(--primary);color:var(--text-main);outline:none}.pilot-check-status.is-selected{color:var(--primary);background:#818cf838;border-color:#818cf8b8}.pilot-check-item.pass .pilot-check-status.is-selected{color:var(--green);background:#10b9812e;border-color:#10b98180}.pilot-check-item.fix .pilot-check-status.is-selected{color:var(--red);background:#ef444429;border-color:#ef44447a}.pilot-test-notes{border:1px solid var(--glass-border);background:#0f172a21;border-radius:14px;padding:14px}.pilot-test-notes textarea{resize:vertical;min-height:120px}.pilot-test-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.pilot-test-guardrail{color:var(--text-muted);background:#ef44441a;border:1px solid #ef444452;border-radius:12px;padding:12px 14px;line-height:1.4}.pilot-test-guardrail b{color:var(--red)}.simulation-grid,.control-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:14px;margin-bottom:20px;display:grid}.stat-card{text-align:center;flex-direction:column;gap:4px;display:flex}.stat-card b{color:var(--primary);font-size:2rem}.stat-card span{color:var(--text-muted);font-size:.9rem}.responsive-table{-webkit-overflow-scrolling:touch;scrollbar-gutter:stable both-edges;width:100%;overflow:auto hidden}.insight-modal .responsive-table{scrollbar-gutter:auto;overflow:visible}.responsive-table table{border-collapse:collapse;text-align:left;table-layout:auto;width:100%;min-width:620px}.responsive-table th,.responsive-table td{border-bottom:1px solid var(--glass-border);vertical-align:middle;padding:12px 14px}.responsive-table th{color:var(--primary);white-space:nowrap}.insight-modal .responsive-table table{table-layout:fixed;min-width:0}.insight-modal .responsive-table th,.insight-modal .responsive-table td{white-space:normal;word-break:normal;overflow-wrap:anywhere;padding:10px 9px}.insight-modal .student-cell{min-width:0}.simulation-table{min-width:1440px}.roster-table{min-width:980px}.leaderboard-table{min-width:640px}.simulation-table td,.roster-table td,.leaderboard-table td{white-space:nowrap}.leaderboard-table .is-current-user{background:#3b82f61a;font-weight:700}.table-panel{padding:0;overflow:hidden}.table-panel-header{border-bottom:1px solid var(--glass-border);margin-bottom:0;padding:18px clamp(16px,4vw,24px)}.table-panel-header .logout-btn{width:auto;min-width:116px;padding:10px 14px}.table-panel-count{color:var(--text-muted);margin-top:5px;font-size:.84rem;display:block}.table-panel-body{box-sizing:border-box;width:100%;max-width:100%}.compact-panel-body{box-sizing:border-box;max-width:100%;padding:18px clamp(16px,4vw,24px)}.table-panel-note{color:var(--text-muted);margin:0;padding:18px clamp(16px,4vw,24px)}.compact-scroll-list{max-height:min(420px,52dvh);padding-right:4px;overflow-y:auto}.insight-modal .compact-scroll-list{max-height:none;padding-right:0;overflow:visible}.wrap-cell{line-height:1.35;white-space:normal!important}.student-cell{min-width:150px}.email-cell{color:var(--text-muted);overflow-wrap:anywhere;min-width:230px;max-width:290px;font-size:.9rem;white-space:normal!important}.numeric-cell{text-align:center}.xp-cell{color:var(--orange);font-weight:800}.activity-cell,.message-cell{color:var(--text-muted);min-width:190px;max-width:250px}.support-summary-cell{min-width:220px;max-width:280px}.action-cell{min-width:150px}.action-cell .table-actions{flex-wrap:nowrap}.table-empty-cell{color:var(--text-muted);text-align:center;padding:40px}.table-link-button{color:var(--primary);text-align:left;background:0 0;border:none;padding:0;font-weight:700}.table-link-button:hover{color:var(--text)}.last-active-pill{white-space:nowrap;border-radius:999px;padding:5px 10px;font-size:.78rem;font-weight:850;display:inline-flex}.last-active-pill.fresh{color:var(--green);background:#10b98126}.last-active-pill.watch{color:var(--orange);background:#f59e0b2b}.last-active-pill.risk{color:var(--red);background:#ef444429}.last-active-pill.unknown{color:var(--text-muted);background:#94a3b824}.quiet-action-label{color:var(--text-muted);white-space:nowrap;font-size:.82rem}.empty-state-panel{min-height:180px}.empty-state-panel p{color:var(--text-muted);margin-bottom:0}.license-status-banner{border:1px solid var(--glass-border);background:#94a3b81f;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.license-status-banner b,.license-status-banner span{display:block}.license-status-banner div span{color:var(--text-muted);margin-top:4px;font-size:.86rem;line-height:1.4}.license-status-banner>span{border:1px solid var(--glass-border);color:var(--text-muted);border-radius:999px;flex:none;padding:6px 10px;font-size:.8rem;font-weight:850}.license-status-banner.fresh{background:#10b9811f;border-color:#10b98147}.license-status-banner.fresh b{color:var(--green)}.license-status-banner.watch{background:#f59e0b24;border-color:#f59e0b4d}.license-status-banner.watch b{color:var(--orange)}.license-status-banner.risk{background:#ef44441f;border-color:#ef44444d}.license-status-banner.risk b{color:var(--red)}.trial-access-banner{border-color:#818cf83d;justify-content:space-between;align-items:center;gap:16px;margin-bottom:25px;display:flex;position:relative;overflow:hidden}.trial-access-banner:before{content:"";opacity:.55;pointer-events:none;background:linear-gradient(135deg,#818cf83d,#10b9811a);position:absolute;inset:0}.trial-access-banner>*{z-index:1;position:relative}.trial-access-banner h2,.trial-access-banner p{margin-top:0}.trial-access-banner h2{margin-bottom:6px}.trial-access-banner.is-locked{border-color:#f59e0b6b}.trial-answer-meter{color:var(--primary);background:#0f172a59;border:1px solid #ffffff24;border-radius:16px;flex:none;justify-content:center;align-items:center;min-width:112px;padding:16px 18px;font-size:1.25rem;font-weight:900;display:inline-flex}.class-card p{line-height:1.4}.class-management-card{cursor:default;text-align:left;gap:14px;padding:20px;display:grid}.class-management-card:hover{transform:none}.class-card-open{color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;gap:8px;width:100%;padding:0;display:grid}.class-card-open h2,.class-card-open p{margin:0}.student-join-code-card{border:1px solid var(--glass-border);background:#0f172a42;border-radius:12px;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0;padding:12px;display:grid}.join-code-header{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.join-code-pill{color:var(--text-muted);background:#94a3b824;border:1px solid #94a3b840;border-radius:999px;flex:none;padding:5px 8px;font-size:.72rem;font-weight:800}.join-code-pill.active{color:var(--green);background:#10b98129;border-color:#10b98152}.join-code-copy{gap:6px;min-width:0;display:grid}.join-code-value{color:var(--orange);letter-spacing:.1em;overflow-wrap:anywhere;text-align:center;background:#0f172a6b;border:1px solid #ffffff1a;border-radius:10px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:clamp(1.05rem,2vw,1.25rem)}.join-code-meta,.join-code-empty{color:var(--text-muted);font-size:.82rem;line-height:1.35}.join-code-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.join-code-actions .mini-action-btn{width:100%;min-width:0}.student-class-join-panel{gap:14px;display:grid}.student-class-join-panel h2,.student-class-join-panel p{margin-top:0}.student-class-join-panel.needs-class{border-color:#f59e0b73;box-shadow:0 0 0 1px #f59e0b14}.approved-student-panel{overflow:hidden}.approved-student-form{grid-template-columns:minmax(180px,1.1fr) minmax(160px,.9fr) auto;align-items:end;gap:12px;display:grid}.approved-student-tools{flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:12px;display:flex}.approved-student-tools .table-panel-count{margin-top:0}.approved-student-list{gap:10px;margin-top:14px;display:grid}.approved-student-row{border:1px solid var(--glass-border);background:#0f172a29;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:12px 14px;display:flex}.approved-student-row>div:first-child{min-width:0}.approved-student-row b,.approved-student-row span{overflow-wrap:anywhere;display:block}.approved-student-row span{color:var(--text-muted);margin-top:4px;font-size:.84rem;line-height:1.35}.approved-student-actions{flex:none;align-items:center;gap:8px;display:flex}.create-class-panel{gap:14px;display:grid}.assignment-dashboard-panel{gap:12px;display:grid}.assignment-empty-state{border:1px dashed #94a3b859;border-radius:14px;padding:16px}.assignment-empty-state b{margin-bottom:6px;display:block}.assignment-empty-state p{color:var(--text-muted);margin:0;line-height:1.45}.assignment-dashboard-list{gap:10px;display:grid}.assignment-dashboard-row{border:1px solid var(--glass-border);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.assignment-dashboard-row span{color:var(--text-muted);margin-top:4px;font-size:.84rem;line-height:1.35;display:block}.assignment-dashboard-row>div,.assignment-edit-summary>div{min-width:0}.assignment-dashboard-row b,.assignment-edit-summary b{overflow-wrap:anywhere;display:block}.report-filter-body{gap:16px;padding:18px clamp(16px,4vw,24px) 22px;display:grid}.report-filter-body .muted-copy{margin-bottom:0}.report-filter-grid{grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;display:grid}.report-filter-grid label{min-width:0}.report-filter-summary{border:1px solid var(--glass-border);background:#0f172a2e;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.report-filter-summary span{color:var(--text-muted);font-size:.86rem;line-height:1.35}.report-filter-summary b{color:var(--text);font-size:1rem}.report-filter-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-left:auto;display:flex}.report-centre-panel .table-panel-count{overflow-wrap:anywhere}.report-centre-snapshot .section-title-row{align-items:flex-start}.compact-report-actions{flex-wrap:wrap;justify-content:flex-end}.report-centre-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr))}.report-centre-section{overflow:hidden}.report-assignment-grid,.report-student-grid{gap:12px;padding:18px clamp(16px,4vw,24px) 22px;display:grid}.report-assignment-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr))}.report-student-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.report-assignment-card,.report-student-card{border:1px solid var(--glass-border);background:#0f172a2e;border-radius:15px;gap:12px;min-width:0;padding:14px;display:grid}.report-card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.report-card-header>div{min-width:0}.report-card-header b,.report-card-header span{overflow-wrap:anywhere;display:block}.report-card-header>span{flex:none}.report-card-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.report-card-metrics span{border:1px solid var(--glass-border);color:var(--text-muted);background:#0f172a2e;border-radius:12px;gap:2px;min-width:0;padding:9px;display:grid}.report-card-metrics b{color:var(--text);overflow-wrap:anywhere;font-size:1rem;display:block}.report-status-row,.report-card-actions{flex-wrap:wrap;gap:8px;display:flex}.report-card-actions{justify-content:flex-end}.support-message-list{gap:18px;padding:18px clamp(16px,4vw,24px) 22px;display:grid}.support-message-stack{gap:10px;margin-top:8px;display:grid}.support-message-card{border:1px solid var(--glass-border);background:#0f172a2e;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:14px;padding:14px;display:flex}.support-message-card.is-unread{border-color:#818cf88c;box-shadow:0 10px 28px #3b82f61f}.support-message-card h3{margin:10px 0 0;font-size:1rem}.support-message-card p:not(.table-subtext){color:var(--text);margin:10px 0 0;line-height:1.45}.compact-form-row,.class-name-edit-row,.assignment-submit-row{align-items:end;gap:12px;display:grid}.compact-form-row{grid-template-columns:minmax(0,1fr) auto}.class-name-edit-row{grid-template-columns:minmax(0,1fr) auto;margin:12px 0 16px}.assignment-submit-row{grid-template-columns:repeat(2,minmax(180px,1fr)) auto;margin-top:18px}.small-action-btn{width:auto;min-width:112px;padding:10px 14px}.mini-action-btn{width:auto;min-width:86px;padding:8px 10px}.danger-action-btn{color:var(--red);border-color:#ef444473}.danger-action-btn:hover{background:#ef44441f}.class-settings-card{border:1px solid var(--glass-border);background:#ffffff08;border-radius:14px;min-width:0;padding:16px;overflow:hidden}.class-settings-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.seat-pill{color:var(--orange);white-space:nowrap;background:#f59e0b29;border-radius:999px;padding:6px 10px;font-size:.85rem;font-weight:900}.subject-access-list{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.subject-access-button{border:1px solid var(--glass-border);color:var(--text);text-align:left;border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;width:auto;min-width:min(100%,220px);padding:12px 14px;display:flex}.subject-access-button span{color:var(--text-muted);font-size:.82rem}.subject-access-button.is-on{background:#10b98124;border-color:#10b98159}.subject-access-button.is-on b{color:var(--green)}.subject-access-button.is-off{opacity:.82;background:#94a3b81a}.teacher-invite-box{border-top:1px solid var(--glass-border);margin-top:16px;padding-top:16px}.teacher-invite-box .muted-copy{margin-bottom:12px}.assignment-builder-body{padding:18px clamp(16px,4vw,24px) 22px}.submit-assignment-btn{align-self:end;width:auto;min-width:158px;padding-left:16px;padding-right:16px}.assignment-edit-card{margin-bottom:12px;padding:16px}.assignment-edit-summary{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.assignment-meta-pill{color:var(--primary);white-space:nowrap;background:#3b82f624;border-radius:999px;padding:6px 10px;font-size:.82rem;font-weight:850}.assignment-meta-pill.is-overdue{color:var(--red);background:#ef444429}.assignment-summary-stack{flex-direction:column;align-items:flex-end;gap:7px;display:flex}.assignment-completion-line{color:var(--text-muted);text-align:right;font-size:.82rem;font-weight:700}.assignment-group-list{flex-direction:column;gap:16px;margin-top:14px;display:flex}.assignment-group-list .filter-list{margin-top:8px;margin-bottom:0}.assignment-student-row{border:1px solid var(--glass-border);color:var(--text);text-align:left;background:#0f172a38;justify-content:space-between;width:100%}.assignment-status-cell{min-width:160px}.default-support-panel{gap:12px;min-width:0;margin-top:16px;display:grid}.advanced-settings-btn{justify-self:start}.support-policy-box,.parent-snapshot{border-top:1px solid var(--glass-border);min-width:0;margin-top:16px;padding-top:16px}.default-support-panel .support-policy-box{border:1px solid var(--glass-border);background:#0f172a1a;border-radius:14px;margin-top:0;padding:16px}.support-policy-heading,.support-section-title{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.support-policy-heading h3{margin-bottom:0}.support-explainer-grid,.support-policy-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.support-explainer-grid>div{border:1px solid var(--glass-border);border-radius:12px;padding:12px}.support-explainer-grid p{color:var(--text-muted);margin:6px 0 0;font-size:.86rem;line-height:1.4}.support-policy-columns>section{min-width:0}.support-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.support-toggle-button{border:1px solid var(--glass-border);color:var(--text);text-align:left;border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;width:100%;min-width:0;padding:10px 12px;display:flex}.support-section-title>.support-toggle-button{text-align:center;max-width:140px}.support-toggle-button span{color:var(--text-muted);font-size:.78rem;line-height:1.3}.support-toggle-button.is-on{background:#10b98121;border-color:#10b98159}.support-toggle-button.is-off,.support-toggle-button:disabled{opacity:.75;background:#94a3b817}.nudge-policy-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0;display:grid}.inline-number-control{grid-template-columns:minmax(64px,88px) minmax(0,1fr);align-items:center;gap:8px;min-width:0;display:grid}.inline-number-control span{color:var(--text-muted);font-size:.82rem;font-weight:700}.support-number-setting.is-disabled,.inline-number-control.is-disabled{opacity:.5}.support-number-setting.is-disabled .label{color:var(--text-muted)}.inline-number-control input:disabled,.inline-number-control select:disabled{cursor:not-allowed}.support-template-panel{border:1px solid var(--glass-border);border-radius:12px;margin-top:12px;padding:12px}.support-template-grid{gap:12px;margin-top:12px;display:grid}.support-template-field{display:block}.support-template-field.is-disabled{opacity:.5}.support-template-input{resize:vertical;min-height:84px}.support-template-input:disabled{cursor:not-allowed}.parent-snapshot{border:1px solid var(--glass-border);background:#3b82f614;border-radius:10px;padding:12px}.student-detail-header{grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:15px;display:grid}.student-detail-header>div:first-child{min-width:0}.student-detail-header h2,.student-detail-header p{overflow-wrap:anywhere}.student-detail-modal{overscroll-behavior:contain;scroll-behavior:auto;width:100%;max-width:min(780px,100vw - 24px);max-height:calc(100dvh - 32px);overflow-y:auto}.parent-snapshot b,.parent-snapshot span:not(.label){display:block}.parent-snapshot span:not(.label){color:var(--text-muted);margin-top:6px;font-size:.86rem;line-height:1.4}.assignment-edit-controls{grid-template-columns:minmax(220px,1fr) repeat(4,auto);align-items:end;gap:10px;display:grid}.modal-action-group{flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:8px;max-width:300px;margin-top:0;display:flex}.modal-action-group .mini-action-btn{flex:none;width:auto;min-width:88px}.student-modal-status{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.helper-text,.table-subtext{color:var(--text-muted);margin-top:6px;font-size:.8rem;line-height:1.35;display:block}.question-cell{white-space:normal;min-width:240px;max-width:320px}.status-pill{color:var(--text-muted);white-space:nowrap;background:#94a3b829;border-radius:999px;justify-content:center;align-items:center;padding:5px 10px;font-size:.78rem;font-weight:800;display:inline-flex}.status-pill.complete{color:var(--green);background:#10b98129}.status-pill.support{color:var(--red);background:#ef444429}.status-pill.reward,.status-pill.warning{color:var(--orange);background:#f59e0b2e}.status-pill.working{color:var(--primary);background:#3b82f62e}.status-pill.track-gold{color:#fbbf24;background:#f59e0b33}.status-pill.track-green{color:var(--green);background:#10b98129}.status-pill.track-orange{color:#f59e0b;background:#f59e0b2e}.status-pill.track-red{color:var(--red);background:#ef444429}.status-pill.slacking{color:var(--orange);background:#f59e0b2e}.status-pill.idle{color:var(--text-muted);background:#94a3b829}.table-actions{flex-wrap:wrap;gap:8px;display:flex}.table-actions .btn-primary,.table-actions .logout-btn{width:auto;min-width:74px;padding:8px 10px;font-size:.82rem}.active-prep-mini{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;padding:14px 16px;display:flex}.active-prep-mini b{color:var(--primary);display:block}.active-prep-mini span:not(.label){color:var(--text-muted);font-size:.84rem;line-height:1.35;display:block}.active-prep-mini .btn-primary{white-space:nowrap;width:auto}.rank-badge{border:1px solid var(--glass-border);color:var(--text-muted);text-transform:none;vertical-align:middle;background:#94a3b824;border-radius:999px;justify-content:center;align-items:center;margin-left:8px;padding:4px 9px;font-size:.78rem;font-weight:900;line-height:1;display:inline-flex}.rank-badge.gold{color:#fbbf24;background:#f59e0b33;border-color:#f59e0b6b}.rank-badge.silver{color:#e2e8f0;background:#cbd5e133;border-color:#cbd5e180}.rank-badge.bronze{color:#f59e0b;background:#b4530938;border-color:#b4530980}.roster-table .rank-badge{margin-left:0}.track-text{font-weight:900;display:block}.track-text.gold{color:#fbbf24}.track-text.green{color:var(--green)}.track-text.orange{color:#f59e0b}.track-text.red{color:var(--red)}.progress-review-panel{border:1px solid var(--glass-border);background:#0f172a2e;border-radius:14px;margin:16px 0;padding:16px}.progress-review-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.progress-review-header h3{margin-bottom:4px}.progress-review-header p{color:var(--text-muted);margin:0;font-size:.88rem;line-height:1.45}.progress-review-stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,126px),1fr));gap:10px;margin:14px 0;display:grid}.progress-review-stats span{border:1px solid var(--glass-border);border-radius:12px;padding:10px}.progress-review-stats b,.progress-review-stats small{display:block}.progress-review-stats small{color:var(--text-muted);margin-top:3px;font-size:.78rem}.progress-chart-wrap{overflow-x:auto}.progress-review-chart{width:100%;min-width:320px;display:block}.chart-axis,.chart-today-line{stroke:#94a3b873;stroke-width:1px}.chart-today-line{stroke-dasharray:3 5}.chart-expected-line{stroke:#e2e8f0bf;stroke-dasharray:7 7;stroke-linecap:round;stroke-width:3px}.chart-expected-dot{fill:#e2e8f0e6}.chart-actual-dot{filter:drop-shadow(0 0 6px #ffffff3d);opacity:.9;stroke:#0f172abf;stroke-width:1.5px}.chart-label{fill:var(--text-muted);font-size:11px;font-weight:700}.progress-review-caption{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.progress-review-caption span{color:var(--text-muted);font-size:.84rem}.engagement-info-box{border:1px solid var(--glass-border);background:#818cf81a;border-radius:14px;margin-top:12px;padding:12px 14px}.engagement-info-box[open]{background:#0f172a38}.engagement-info-box summary{color:var(--text);cursor:pointer;font-weight:800;list-style-position:inside}.engagement-info-box summary:hover,.engagement-info-box summary:focus-visible{color:var(--primary)}.engagement-info-box p,.engagement-info-box li{color:var(--text-muted);font-size:.86rem;line-height:1.45}.engagement-info-box ul{margin:10px 0 0 18px;padding:0}.engagement-info-box li+li{margin-top:6px}.engagement-info-box.is-compact{margin-top:14px}.engagement-metric-row{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.engagement-teacher-summary{background:#0f172a3d;border:1px solid #ffffff14;border-radius:12px;margin:12px 0 0;padding:10px}.class-view-actions{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.section-title-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px;display:flex}.section-title-row .btn-primary{width:auto}.has-simulation-dock .app-container{padding-bottom:320px}.simulation-control-dock{left:50%;bottom:max(12px, env(safe-area-inset-bottom));z-index:90;border:1px solid var(--glass-border);background:var(--glass-bg);width:min(100vw - 24px,720px);color:var(--text);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(18px);border-radius:16px;align-items:center;gap:8px;padding:8px;display:flex;position:fixed;transform:translate(-50%)}.dock-play-btn,.dock-lab-btn{border:1px solid var(--glass-border);color:#fff;cursor:pointer;border-radius:999px;padding:8px 12px;font-weight:800}.dock-play-btn{background:var(--primary)}.dock-lab-btn{color:var(--text);background:#ffffff14}.dock-clock,.dock-speed-note,.dock-speed-control{flex-direction:column;gap:2px;min-width:0;display:flex}.dock-clock{flex:1}.dock-clock span,.dock-speed-note,.dock-speed-control span{color:var(--text-muted);font-size:.78rem}.dock-speed-note{flex:1}.dock-speed-note span{display:block}.dock-speed-control select{border:1px solid var(--glass-border);background:var(--surface);min-width:112px;color:var(--text);border-radius:10px;padding:7px 10px;font-weight:700}.simulation-restore-tab{z-index:90;border:1px solid var(--glass-border);background:var(--glass-bg);width:auto;color:var(--text);box-shadow:var(--glass-shadow);cursor:pointer;-webkit-backdrop-filter:blur(18px);border-radius:999px;padding:10px 14px;font-weight:800;position:fixed;bottom:18px;right:18px}.data-table-output{resize:vertical;min-height:220px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.85rem}@keyframes timerPulse{0%{opacity:1}50%{opacity:.6}to{opacity:1}}.timer.panic{color:var(--red);animation:.6s ease-in-out infinite timerPulse}.geo-shape{z-index:5;pointer-events:none;opacity:.7;transition:all .5s ease-in-out;position:fixed}.orb-pro-purple,.orb-pro-violet,.orb-pro-neon-blue,.orb-pro-blurred-blue,.orb-pro-blurred-purple{border-radius:50%}@keyframes floatShapes{0%{transform:translate(0)rotate(0)}33%{transform:translate(30px,-20px)rotate(5deg)}66%{transform:translate(-20px,15px)rotate(-3deg)}to{transform:translate(0)rotate(0)}}.tactile-cube-base{transform-style:preserve-3d;border-radius:12px}.tactile-cube-base:after{content:"";filter:brightness(.8);opacity:.4;background-color:inherit;border-radius:12px;width:100%;height:100%;position:absolute;top:0;left:0;transform:translateZ(-20px)rotateY(-15deg)scale(.95)}.cube-pro-blue{width:150px;height:150px;transform-style:preserve-3d;background-image:linear-gradient(135deg,#bfdbfe 0%,#4f46e5 100%);border-radius:12px;animation:12s ease-in-out infinite floatShapes;top:10%;right:10%;box-shadow:inset -10px -10px 20px #fff6,inset 10px 10px 20px #0000001a}.cube-pro-blue:after{content:"";opacity:.4;background-color:#4f46e5;border-radius:12px;width:100%;height:100%;position:absolute;top:0;left:0;transform:translateZ(-20px)rotateY(-15deg)scale(.95)}.cube-pro-violet{width:90px;height:90px;transform-style:preserve-3d;background-image:linear-gradient(135deg,#ede9fe 0%,#818cf8 100%);border-radius:12px;animation:14s ease-in-out infinite reverse floatShapes;bottom:20%;right:5%;box-shadow:inset -5px -5px 15px #fff6,inset 5px 5px 15px #0000001a}.cube-pro-violet:after{content:"";opacity:.4;background-color:#818cf8;border-radius:12px;width:100%;height:100%;position:absolute;top:0;left:0;transform:translateZ(-15px)rotateY(-10deg)scale(.95)}.cube-pro-teal{filter:blur(2px);background-image:linear-gradient(135deg,#d1fae5 0%,#0d9488 100%);border-radius:12px;width:110px;height:110px;animation:13s ease-in-out 1s infinite floatShapes;top:5%;left:5%;box-shadow:inset -8px -8px 18px #ffffff4d}.hex-pro-teal{clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);filter:drop-shadow(0 24px 34px #0f172a33);opacity:.58;background-image:radial-gradient(circle at 28% 24%,#ffffffb3 0 9%,#0000 28%),linear-gradient(135deg,#c4f1ff 0%,#8b9bff 48%,#4f46e5 100%);width:148px;height:128px;animation:17s ease-in-out .5s infinite reverse floatShapes;bottom:8%;right:5%;box-shadow:inset -12px -14px 22px #ffffff6b,inset 14px 16px 24px #0f172a3d}.hex-pro-teal:after{clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);content:"";opacity:.72;background:linear-gradient(135deg,#ffffff38,#4f46e53d);position:absolute;inset:8px}.orb-pro-purple{background-color:#818cf8;background-image:radial-gradient(circle at 30% 30%,#fff9 0%,#0000 60%);width:120px;height:120px;animation:10s ease-in-out 1s infinite reverse floatShapes;top:40%;left:10%;box-shadow:inset -5px -5px 15px #0000001a}.orb-pro-violet{filter:drop-shadow(0 0 10px #a78bfab3);background-color:#ede9fe;width:70px;height:70px;animation:9s ease-in-out 2s infinite reverse floatShapes;top:25%;left:45%}.orb-pro-neon-blue{filter:drop-shadow(0 0 10px #4f46e5cc);background-color:#bfdbfe;width:50px;height:50px;animation:8s ease-in-out 1s infinite floatShapes;bottom:15%;left:10%}.orb-pro-blurred-blue{opacity:.15;filter:blur(15px);background-image:radial-gradient(#bfdbfe 0,#0000 60%);width:200px;height:200px;animation:15s ease-in-out 2s infinite floatShapes;bottom:10%;left:5%}.orb-pro-blurred-purple{opacity:.15;filter:blur(15px);background-image:radial-gradient(#ede9fe 0,#0000 60%);width:180px;height:180px;animation:16s ease-in-out infinite reverse floatShapes;top:-5%;right:5%}.streak-flame{color:var(--text-muted);margin-top:5px;font-size:.9rem;font-weight:700;transition:all .3s;display:inline-block}.streak-flame.active{color:#f97316;text-shadow:0 0 10px #f9731666}.mastery-ring{border-radius:50%;justify-content:center;align-items:center;width:45px;height:45px;display:flex;position:relative;overflow:hidden}.mastery-ring-inner{background-color:var(--glass-bg);width:35px;height:35px;color:var(--text);border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}.confetti-container{pointer-events:none;z-index:100;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.confetti-piece{opacity:0;border-radius:2px;width:10px;height:20px;animation:3s linear forwards fall;position:absolute;top:-20px}@keyframes fall{0%{opacity:1;transform:translateY(0)rotate(0)scale(1)}50%{opacity:1;transform:translateY(50dvh)rotate(180deg)scale(1.2)}to{opacity:0;transform:translateY(100dvh)rotate(360deg)scale(1)}}@keyframes pulse{0%{opacity:.6}50%{opacity:.3}to{opacity:.6}}.skeleton{background:var(--glass-border);border-radius:12px;width:100%;animation:1.5s ease-in-out infinite pulse}.app-container{animation:.35s both pageFadeIn}.login-box{animation:.5s cubic-bezier(.16,1,.3,1) both loginPanelIn}.login-logo-orb{background:radial-gradient(circle at 30% 30%,#fff 0%,#bfdbfe 26%,#818cf8 70%);border:1px solid #ffffff59;border-radius:999px;width:72px;height:72px;margin:0 auto 18px;position:relative;box-shadow:0 18px 45px #4f46e538}.login-logo-orb:after{content:"";background:#ffffff61;border-radius:999px;width:18px;height:18px;position:absolute;top:14px;left:17px}.login-field{margin-bottom:14px;display:block}.login-field>span{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:7px;font-size:.78rem;font-weight:900;display:block}.login-field .input-field,.login-field .password-wrapper{margin-bottom:0}.login-field small{color:var(--text-muted);margin-top:7px;font-size:.78rem;line-height:1.35;display:block}.landing-container{width:min(100%,1160px)}.landing-page{flex-direction:column;gap:26px;padding-bottom:34px;display:flex}.landing-nav{justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.landing-brand{color:var(--text);background:0 0;border:none;align-items:center;gap:10px;padding:4px;font-size:1rem;font-weight:800;display:inline-flex}.landing-brand-mark{background:radial-gradient(circle at 32% 28%,#fff 0%,#bfdbfe 28%,#818cf8 72%);border-radius:999px;width:34px;height:34px;position:relative;box-shadow:0 14px 30px #4f46e538}.landing-brand-mark:after{content:"";background:#ffffff70;border-radius:999px;width:8px;height:8px;position:absolute;top:7px;left:8px}.landing-nav-actions,.landing-cta-row,.landing-tier-heading{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.landing-nav-actions .theme-toggle-btn{margin-right:0}.landing-hero{grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:center;gap:clamp(22px,4vw,44px);min-height:min(72dvh,720px);display:grid}.landing-hero-copy{max-width:620px}.landing-kicker,.landing-tier-label{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;font-size:.78rem;font-weight:800;display:inline-block}.landing-hero h1{overflow-wrap:anywhere;max-width:100%;margin-bottom:18px;font-size:clamp(2.35rem,7vw,4.9rem);line-height:.98}.landing-hero p,.landing-section-heading p,.landing-tier-card p,.landing-flow-card p,.landing-access-note{color:var(--text-muted);line-height:1.55}.landing-hero-copy>p{margin-bottom:22px;font-size:clamp(1.02rem,2vw,1.18rem)}.landing-primary-cta,.landing-secondary-cta{width:auto;min-height:48px}.landing-secondary-cta{padding:12px 18px}.landing-access-note{margin:18px 0 0;font-size:.92rem}.landing-product-panel{padding:clamp(18px,3vw,26px);overflow:hidden}.landing-product-header,.landing-progress-list>div{justify-content:space-between;align-items:center;gap:14px;display:flex}.landing-product-header span{color:var(--text-muted);font-size:.88rem;font-weight:700}.landing-product-header strong{color:var(--orange)}.landing-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0;display:grid}.landing-stat-grid div,.landing-flow-card,.landing-tier-card{border:1px solid var(--glass-border);background:#0f172a29;border-radius:16px}.landing-stat-grid div{padding:14px}.landing-stat-grid b{color:var(--text);font-size:clamp(1.45rem,3vw,2.25rem);line-height:1;display:block}.landing-stat-grid span,.landing-progress-list span{color:var(--text-muted);margin-top:5px;font-size:.82rem;display:block}.landing-mini-chart{grid-template-columns:repeat(6,1fr);align-items:end;gap:10px;height:170px;margin:24px 0;padding:12px;display:grid;position:relative}.landing-mini-chart:before{content:"";background:linear-gradient(0deg,#94a3b838 1px,#0000 1px) 0 0/100% 34px;position:absolute;inset:0}.landing-mini-chart span{background:linear-gradient(180deg, #bfdbfe 0%, var(--primary) 100%);z-index:1;border-radius:999px 999px 10px 10px;min-height:18px;position:relative;box-shadow:0 14px 24px #4f46e52e}.landing-progress-list{gap:10px;display:grid}.landing-progress-list>div{border:1px solid var(--glass-border);background:#0f172a24;border-radius:14px;padding:12px 14px}.green-text{color:var(--green)}.orange-text{color:var(--orange)}.warning-text{color:var(--orange)!important}.landing-section{scroll-margin-top:24px}.landing-section-heading{margin-bottom:18px}.landing-section-heading h2{max-width:760px;font-size:clamp(1.7rem,4vw,2.8rem);line-height:1.05}.landing-flow-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.landing-access-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.landing-flow-card,.landing-access-card{min-height:180px;padding:18px;position:relative}.landing-access-card{border:1px solid var(--glass-border);background:#0f172a29;border-radius:16px;min-height:0}.landing-access-card>span{color:var(--green);background:#10b98124;border:1px solid #10b9813d;border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;margin-bottom:14px;font-weight:850;display:inline-flex}.landing-access-card b{margin-bottom:8px;display:block}.landing-access-card p{color:var(--text-muted);margin:0;font-size:.92rem;line-height:1.45}.landing-flow-index{color:var(--primary-hover);background:#818cf82e;border:1px solid #818cf847;border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;margin-bottom:16px;font-weight:800;display:inline-flex}.landing-flow-card b{margin-bottom:8px;display:block}.landing-flow-card p{margin:0;font-size:.92rem}.landing-tier-heading{justify-content:space-between;margin-bottom:18px}.landing-tier-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.landing-tier-card{flex-direction:column;gap:10px;padding:22px;display:flex}.landing-tier-card h3{margin-bottom:0;font-size:1.5rem}.landing-tier-card>b{color:var(--text)}.landing-tier-card p{margin:0}.landing-tier-card ul{gap:9px;margin:8px 0 0;padding:0;list-style:none;display:grid}.landing-tier-card li{color:var(--text-muted);padding-left:22px;font-size:.92rem;line-height:1.4;position:relative}.landing-tier-card li:before{background:var(--green);content:"";border-radius:999px;width:8px;height:8px;position:absolute;top:.45em;left:0}.landing-footer{justify-content:space-between;align-items:center;gap:16px;padding:18px;display:flex}.landing-footer b,.landing-footer span{display:block}.landing-footer>div:first-child span{color:var(--text-muted);margin-top:4px;font-size:.88rem}.landing-footer-links{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.landing-footer-links span{border:1px solid var(--glass-border);color:var(--text-muted);border-radius:999px;padding:8px 10px;font-size:.82rem;font-weight:750}.login-overview-link{color:var(--text-muted);text-underline-offset:4px;background:0 0;border:none;margin:12px auto 0;padding:4px 8px;font-size:.86rem;text-decoration:underline;display:block}.app-loading-screen{text-align:center;flex-direction:column;align-items:center;gap:16px;max-width:420px;margin:min(18dvh,120px) auto;padding:34px 28px;display:flex}.app-loading-screen h1{margin:0 0 6px;font-size:clamp(1.45rem,4vw,2rem)}.app-loading-screen p{color:var(--text-muted);margin:0}.loading-logo-orb{background:radial-gradient(circle at 35% 30%,#fff 0%,#bfdbfe 26%,#818cf8 70%);border-radius:999px;justify-content:center;align-items:center;width:88px;height:88px;animation:1.2s ease-in-out infinite loadingLogoZoom;display:flex;position:relative;box-shadow:0 0 #818cf83d}.loading-logo-orb span{border:3px solid #ffffff5c;border-top-color:#fff;border-radius:999px;width:62px;height:62px;animation:1s linear infinite loadingRing}.loading-dot-row{justify-content:center;gap:7px;display:flex}.loading-dot-row span{background:var(--primary);opacity:.45;border-radius:999px;width:8px;height:8px;animation:1s ease-in-out infinite loadingDot}.loading-dot-row span:nth-child(2){animation-delay:.14s}.loading-dot-row span:nth-child(3){animation-delay:.28s}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(8px)scale(.995)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes loginPanelIn{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes loadingLogoZoom{0%,to{transform:scale(.96);box-shadow:0 0 #818cf840}50%{transform:scale(1.04);box-shadow:0 0 0 18px #818cf800}}@keyframes loadingRing{to{transform:rotate(360deg)}}@keyframes loadingDot{0%,to{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}@media (width<=900px){.landing-hero{grid-template-columns:1fr;min-height:auto}.landing-flow-grid,.landing-access-grid,.landing-tier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-tier-card:last-child{grid-column:span 2}.insight-modal .optional-cell,.insight-modal th.optional-cell{display:none}.insight-modal .responsive-table th,.insight-modal .responsive-table td{padding:9px 7px}}@media (width<=680px){.modal-backdrop{padding:8px}.insight-modal{border-radius:16px;max-width:calc(100vw - 16px)}.insight-modal .responsive-table table,.insight-modal .responsive-table thead,.insight-modal .responsive-table tbody,.insight-modal .responsive-table tr,.insight-modal .responsive-table th,.insight-modal .responsive-table td{display:block}.insight-modal .responsive-table thead{display:none}.insight-modal .responsive-table tbody{gap:10px;display:grid}.insight-modal .responsive-table tr{border:1px solid var(--glass-border);background:#0f172a33;border-radius:14px;padding:10px}.insight-modal .responsive-table td{text-align:right;border-bottom:0;justify-content:space-between;align-items:center;gap:12px;padding:7px 0;display:flex}.insight-modal .responsive-table td:before{color:var(--text-muted);content:attr(data-label);letter-spacing:.04em;text-align:left;text-transform:uppercase;flex:none;font-size:.76rem;font-weight:800}.insight-modal .responsive-table .student-cell{text-align:left;flex-direction:column;align-items:flex-start;gap:4px}.insight-modal .responsive-table .student-cell:before{content:"";display:none}.insight-modal .responsive-table .student-cell .table-link-button{font-size:1.05rem}}@media (width<=720px){.app-container{max-width:100%;padding:14px}.landing-container{padding:12px}.landing-nav{flex-direction:column;align-items:stretch}.landing-nav-actions{align-items:stretch}.landing-nav-actions>*{width:100%}.landing-hero{grid-template-columns:1fr;min-height:auto;padding-top:10px}.landing-hero-copy{min-width:0;max-width:100%}.landing-hero h1{max-width:15ch;font-size:clamp(1.75rem,9vw,2.18rem);line-height:1.02}.landing-hero-copy>p,.landing-access-note{max-width:36ch}.landing-cta-row{flex-direction:column;align-items:stretch}.landing-primary-cta,.landing-secondary-cta{width:100%}.landing-stat-grid,.landing-tier-grid,.landing-access-grid,.landing-flow-grid{grid-template-columns:1fr}.landing-footer{flex-direction:column;align-items:flex-start}.landing-footer-links{justify-content:flex-start}.activity-bar-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,76px),1fr));min-height:210px}.activity-chart-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-chart-surface{padding-left:42px}.activity-chart-surface:after{left:42px}.activity-chart-scale{width:24px;left:8px}.activity-bar-item{min-height:190px;padding:10px 8px}.activity-bar-track{height:92px}.landing-tier-card:last-child{grid-column:auto}.landing-mini-chart{height:140px}.landing-product-header,.landing-progress-list>div,.landing-tier-heading{flex-direction:column;align-items:flex-start}.landing-flow-card{min-height:0}.hex-pro-teal{opacity:.4;width:88px;height:76px;bottom:13%;right:-22px}.glass-panel{border-radius:16px}.editor-grid,.menu-grid{grid-template-columns:1fr}.btn-group{flex-direction:column}.btn-group>*{width:100%}.active-prep-mini{flex-direction:column;align-items:stretch}.active-prep-mini .btn-primary{width:100%}.user-bar{align-items:flex-start}.user-bar-actions{align-items:stretch;width:100%}.curriculum-version-badge{width:100%}.pilot-code-form{grid-template-columns:1fr}.pilot-code-note,.pilot-subject-picker,.pilot-license-tier-field,.pilot-code-submit{grid-column:1}.theme-toggle-btn{margin-right:0}.chapter-toggle{align-items:flex-start}.question-picker,.subsection-heading{flex-direction:column}.question-picker b{max-width:100%}.question-picker span{text-align:left}.flag-review-card{grid-template-columns:1fr}.flashcard{padding:22px}.geo-shape{opacity:.22;transform:scale(.72)}.simulation-control-dock{grid-template-columns:1fr 1fr;align-items:stretch;display:grid;bottom:10px}.has-simulation-dock .app-container{padding-bottom:340px}.has-simulation-dock .activity-bar-panel{margin-bottom:126px}.dock-clock,.dock-speed-note{grid-column:span 2}.dock-play-btn,.dock-lab-btn,.dock-speed-control select{width:100%}.class-view-actions,.section-title-row{flex-direction:column;align-items:stretch}.section-title-row .btn-primary{width:100%}.pilot-test-actions{flex-direction:column;align-items:stretch}.table-panel-header .logout-btn{width:100%}.simulation-table{min-width:1280px}.roster-table{min-width:920px}.leaderboard-table{min-width:560px}.compact-form-row,.class-name-edit-row,.pilot-code-form,.assignment-submit-row,.report-filter-grid,.assignment-edit-controls{grid-template-columns:1fr}.assignment-dashboard-row,.approved-student-row,.assignment-edit-summary,.pilot-code-result,.support-message-card{flex-direction:column;align-items:stretch}.admin-session-pill,.pilot-code-note,.pilot-subject-picker,.pilot-code-submit{white-space:normal;grid-column:span 1;width:100%}.approved-student-form{grid-template-columns:1fr}.approved-student-actions{flex-wrap:wrap;align-items:flex-start}.join-code-actions{grid-template-columns:1fr}.assignment-meta-pill{white-space:normal}.assignment-summary-stack{align-items:flex-start}.assignment-completion-line{text-align:left}.report-filter-summary{flex-direction:column;align-items:stretch}.report-filter-actions{justify-content:flex-start;margin-left:0}.compact-report-actions,.report-card-actions{justify-content:flex-start;width:100%}.report-card-metrics,.nudge-policy-grid,.support-explainer-grid,.filter-explainer,.support-policy-columns,.support-detail-summary,.support-toggle-grid{grid-template-columns:1fr}.support-policy-heading,.support-section-title,.progress-review-header{flex-direction:column;align-items:stretch}.student-detail-header{grid-template-columns:1fr}.modal-action-group{flex-direction:row;justify-content:flex-start;max-width:none}.progress-review-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.support-section-title>.support-toggle-button,.advanced-settings-btn{width:100%;max-width:none}.assignment-student-row{flex-direction:column;align-items:flex-start}.small-action-btn,.mini-action-btn,.submit-assignment-btn{width:100%}.student-detail-header .mini-action-btn{width:auto}.class-settings-header{flex-direction:column}.seat-pill,.subject-access-button{width:100%}.email-cell{min-width:190px}.activity-cell,.message-cell{min-width:170px}}@media (width<=420px){h1{font-size:1.8rem}h2{font-size:1.25rem}.menu-card{padding:24px 16px}.input-field,.password-wrapper input,.btn-primary,.btn-red,.btn-green{font-size:1rem}.filter-item{padding:15px}.progress-review-stats{grid-template-columns:1fr}.student-detail-header .mini-action-btn{flex:100%;width:100%}}@media print{body{color:#111827!important;background:#fff!important}.app-container>:not([style*="position: fixed"]),.simulation-control-dock,.admin-return-btn,.geo-shape{display:none!important}.glass-panel{box-shadow:none!important;color:#111827!important;background:#fff!important;border:1px solid #d1d5db!important}.student-detail-header .btn-group,.student-detail-header button{display:none!important}.progress-review-panel,.parent-snapshot,.filter-item{break-inside:avoid}}
