body.pupil-mode .admin-only,.pupil-only{display:none!important}body.pupil-mode .pupil-only,body.pupil-mode button.pupil-only{display:inline-block!important}body.pupil-mode #statsLevelRecommendation,body.pupil-mode #practiceLevelRecommendation,body.pupil-mode #mtcLevelRecommendation,body.pupil-mode #statsLastActivity,body.pupil-mode #statsTotalActivity{display:none!important}body.pupil-mode #statsMilestones{display:flex!important;flex-wrap:wrap;gap:.5rem;justify-content:center}.stats-milestones .milestone-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border-radius:1rem;font-size:.85rem;font-weight:600;background:#2ecc7126;border:1px solid rgba(46,204,113,.3);color:#2ecc71}.stats-milestones .milestone-badge.streak{background:#f39c1226;border-color:#f39c124d;color:#f39c12}.stats-milestones .milestone-badge.mastery{background:#0793d126;border-color:#0793d14d;color:#0793d1}.stats-milestones .milestone-badge.speed{background:#9b59b626;border-color:#9b59b64d;color:#9b59b6}.stats-milestones .milestone-badge.dedication{background:#e74c8c26;border-color:#e74c8c4d;color:#e74c8c}.stats-milestones .milestone-badge.growth{background:#1abc9c26;border-color:#1abc9c4d;color:#1abc9c}.stats-milestones .milestone-badge.challenge{background:#f1c40f26;border-color:#f1c40f4d;color:#f1c40f}body.pupil-mode .table-stat-time{display:none!important}body.pupil-mode .stats-legend .legend-item{font-size:0}body.pupil-mode .stats-legend .legend-dot{font-size:initial;margin-right:.5rem}body.pupil-mode #adminSmiley{display:none}body.pupil-mode #normalTeacherControls{display:none!important}body.pupil-mode #addMTCPracticeBtn{display:none}body.pupil-mode #teacherControlsContainer{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important}body.pupil-mode #pupilControlsBar{display:flex;flex-direction:column;align-items:center;gap:8px}body.pupil-mode.test-mode-active #pupilControlsBar,body.pupil-mode.mtc-mode-active #pupilControlsBar,body.mtc-practice-active #pupilControlsBar{display:none!important}body.pupil-mode .raid-boss-container #pupilControlsBar{position:absolute;top:6px;right:12px;z-index:5}body.pupil-mode .raid-boss-container #tryRealMTCBtn{font-size:13px;padding:6px 16px;min-width:auto}#tryRealMTCBtn{display:block}#pupilCountdownTimer{display:none;font-size:var(--font-size-2xl);font-weight:900;color:#1a1a2e;background:gold!important;animation:countdown-pulse 2s ease-in-out infinite;padding:var(--space-sm);line-height:1.2;text-align:center;cursor:default;pointer-events:none}#tryRealMTCLeaderboardInfo{border:1px solid rgba(255,255,255,.1)}body.pupil-mode #authBtn .icon-login{display:none}body.pupil-mode #authBtn .icon-logout{display:inline}.pupil-home-screen.active{display:flex;justify-content:center;align-items:flex-start;padding-top:var(--space-md)}.pupil-home-container{background:var(--container-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:var(--glass-border);box-shadow:var(--glass-shadow);border-radius:2rem;padding:var(--space-lg) var(--space-xl) var(--space-xl);width:min(95vw,75rem);max-width:75rem}.pupil-home-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl)}.pupil-home-left,.pupil-home-right{display:flex;flex-direction:column;gap:var(--space-lg)}.pupil-name-display{font-size:2.5rem;font-weight:900;background:linear-gradient(135deg,gold,#00d9ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;z-index:1}.pupil-start-btn{background:linear-gradient(135deg,#4ecb71,#2ecc71);border:none;border-radius:1.5rem;padding:var(--space-xl);font-family:inherit;font-size:2rem;font-weight:900;color:#fff;cursor:pointer;position:relative;overflow:hidden;transition:all .3s ease;box-shadow:0 8px #27ae60,0 12px 20px #4ecb7166;text-shadow:0 2px 4px rgba(0,0,0,.2)}.pupil-start-btn:hover{transform:translateY(-4px);box-shadow:0 12px #27ae60,0 16px 30px #4ecb7180}.pupil-start-btn:active{transform:translateY(4px);box-shadow:0 4px #27ae60,0 6px 10px #4ecb714d}.pupil-start-btn .btn-icon{display:inline-block;margin-right:.5rem;animation:bounce-icon 1s ease infinite}@keyframes bounce-icon{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.pupil-recent-results{background:#35356266;border:1px solid rgba(255,255,255,.1);border-radius:1.5rem;padding:var(--space-lg)}.recent-results-title{font-size:1.1rem;font-weight:700;margin-bottom:var(--space-md);display:flex;align-items:center;gap:.5rem}.recent-results-icon{font-size:1.25rem}.recent-results-list{display:flex;flex-direction:column;gap:.5rem}.recent-result-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#35356280;border-radius:.75rem;border:1px solid transparent;transition:all .2s ease}.recent-result-item:hover{background:#3f3f6c99}.recent-result-left{display:flex;align-items:center;gap:.75rem}.recent-result-score-badge{min-width:3rem;padding:.25rem .5rem;border-radius:.5rem;font-weight:900;font-size:.9rem;text-align:center}.recent-result-score-badge.score-excellent{background:#4ecb714d;color:#4ecb71}.recent-result-score-badge.score-good{background:#ffc9474d;color:#ffc947}.recent-result-score-badge.score-needs-work{background:#ff6b6b4d;color:#ff6b6b}.recent-result-info{display:flex;flex-direction:column}.recent-result-level{font-weight:700;font-size:.9rem}.recent-result-date{font-size:.75rem;color:var(--text-color-secondary)}.recent-result-right{text-align:right}.recent-result-percentage{font-weight:900;font-size:1.1rem}.no-results-message{text-align:center;color:var(--text-color-secondary);padding:var(--space-lg);font-style:italic}.pupil-milestones{display:flex;flex-wrap:wrap;gap:.5rem}.pupil-milestones:empty{display:none}.milestone-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border-radius:1rem;font-size:.85rem;font-weight:600;background:#2ecc7126;border:1px solid rgba(46,204,113,.3);color:#2ecc71}.milestone-badge.streak{background:#f39c1226;border-color:#f39c124d;color:#f39c12}.milestone-badge.mastery{background:#0793d126;border-color:#0793d14d;color:#0793d1}.milestone-badge.speed{background:#9b59b626;border-color:#9b59b64d;color:#9b59b6}.milestone-badge.dedication{background:#e74c8c26;border-color:#e74c8c4d;color:#e74c8c}.pupil-nearly-there{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:.75rem;background:#3498db1a;border:1px solid rgba(52,152,219,.25);font-size:.95rem;line-height:1.4;color:var(--text-color)}.nearly-there-icon{font-size:1.4rem;flex-shrink:0}.nearly-there-message{flex:1}.milestone-badge.growth{background:#1abc9c26;border-color:#1abc9c4d;color:#1abc9c}.milestone-badge.challenge{background:#f1c40f26;border-color:#f1c40f4d;color:#f1c40f}.milestone-badge .milestone-icon{font-size:1rem}.milestone-tooltip{position:fixed;padding:.5rem .75rem;border-radius:.6rem;background:var(--color-primary-dark, #252542);border:1px solid rgba(255,255,255,.15);box-shadow:0 6px 24px #00000080;color:var(--text-color-primary, #f0f0f7);font-size:.78rem;font-weight:500;line-height:1.35;max-width:16rem;text-align:center;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .15s ease,transform .15s ease;z-index:99999}.milestone-tooltip.visible{opacity:1;transform:translateY(0)}.milestones-wrapper{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.milestone-badge.badge-hidden{display:none!important}.milestones-toggle{display:flex;align-items:center;gap:.35rem;margin:.5rem auto 0;padding:.3rem .7rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:2rem;color:var(--text-color-secondary);font-size:.78rem;font-weight:500;cursor:pointer;transition:all .2s ease}.milestones-toggle .toggle-plus{display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;height:1.2rem;padding:0 .3rem;border-radius:.6rem;background:var(--color-accent-special, #a78bfa);color:#fff;font-size:.72rem;font-weight:700}.milestones-toggle:hover{background:#ffffff1a;border-color:#fff3;color:var(--text-color-primary)}.recent-results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.pupil-results-tabs{display:flex;gap:.25rem;background:#0003;padding:.25rem;border-radius:.5rem}.pupil-results-tab{padding:.35rem .75rem;font-size:.8rem;font-weight:600;border-radius:.35rem;cursor:pointer;color:var(--text-color-secondary);transition:all .2s ease}.pupil-results-tab:hover{color:var(--text-color)}.pupil-results-tab.active{background:var(--primary-color);color:#fff}.pupil-table-performance{background:#35356266;border:1px solid rgba(255,255,255,.1);border-radius:1rem;padding:var(--space-md)}.table-performance-title{font-size:1rem;margin:0 0 var(--space-sm) 0;color:var(--text-color-secondary)}.pupil-table-grid{display:grid;grid-template-columns:repeat(11,1fr);gap:.35rem}.pupil-table-cell{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:.5rem;background:#ffffff0d;border:2px solid transparent;transition:all .2s ease}.pupil-table-cell .table-num{font-size:.75rem;font-weight:700;opacity:.9}.pupil-table-cell .table-pct{font-size:.65rem;font-weight:600;opacity:.7}.pupil-table-cell.strong{background:#2ecc7140;border-color:#2ecc7180}.pupil-table-cell.strong .table-num,.pupil-table-cell.strong .table-pct{color:#2ecc71}.pupil-table-cell.ok{background:#f1c40f40;border-color:#f1c40f80}.pupil-table-cell.ok .table-num,.pupil-table-cell.ok .table-pct{color:#f1c40f}.pupil-table-cell.struggling{background:#e74c3c40;border-color:#e74c3c80}.pupil-table-cell.struggling .table-num,.pupil-table-cell.struggling .table-pct{color:#e74c3c}.pupil-table-cell.no-data{background:#ffffff08;border:1px dashed rgba(255,255,255,.15)}.pupil-table-cell.no-data .table-num{color:var(--text-color-secondary);opacity:.5}.pupil-table-cell.no-data .table-pct{display:none}.pupil-leaderboard-section{background:#35356266;border:1px solid rgba(255,255,255,.1);border-radius:1.5rem;padding:var(--space-lg);height:100%;display:flex;flex-direction:column}body.light-mode .pupil-leaderboard-section{background:var(--container-bg);border:1px solid rgba(148,163,184,.2);box-shadow:0 4px 16px #0f172a0f}body.light-mode .pupil-leaderboard-item{background:#e2e8f099;border:2px solid rgba(148,163,184,.15)}body.light-mode .pupil-leaderboard-item:hover{background:#e2e8f0cc}body.light-mode .pupil-leaderboard-item.rank-1{border-color:#eab308;background:#fde04726}body.light-mode .pupil-leaderboard-item.rank-2{border-color:#94a3b8;background:#94a3b81a}body.light-mode .pupil-leaderboard-item.rank-3{border-color:#d97706;background:#d977061a}.pupil-leaderboard-title{font-size:1.25rem;display:flex;align-items:center;gap:.5rem;margin:0}.pupil-leaderboard-list{list-style:none;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;margin:0;padding:0;max-height:400px}.pupil-leaderboard-item{display:flex;align-items:center;padding:.75rem 1rem;background:#35356280;border-radius:.75rem;border:2px solid transparent;transition:all .2s ease}.pupil-leaderboard-item:hover{background:#3f3f6c99}.pupil-leaderboard-item.rank-1{border-color:gold;background:#ffd7001a}.pupil-leaderboard-item.rank-2{border-color:silver;background:#c0c0c01a}.pupil-leaderboard-item.rank-3{border-color:#cd7f32;background:#cd7f321a}.pupil-leaderboard-item.current-user{box-shadow:0 0 12px #a855f759,0 0 24px #a855f726;animation:leaderboardYouGlow 2.5s ease-in-out infinite;position:relative}.pupil-leaderboard-item.current-user:not(.rank-1):not(.rank-2):not(.rank-3){border-color:#a855f7;border-width:2.5px;background:linear-gradient(135deg,#6366f140,#a855f726)}@keyframes leaderboardYouGlow{0%,to{box-shadow:0 0 12px #a855f759,0 0 24px #a855f726}50%{box-shadow:0 0 18px #a855f780,0 0 36px #a855f733}}.pupil-leaderboard-rank{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:.9rem;border-radius:50%;margin-right:.75rem;background:#ffffff1a}.rank-1 .pupil-leaderboard-rank{background:gold;color:#1a1a2e}.rank-2 .pupil-leaderboard-rank{background:silver;color:#1a1a2e}.rank-3 .pupil-leaderboard-rank{background:#cd7f32;color:#1a1a2e}.pupil-leaderboard-name{flex:1;font-weight:700}.pupil-leaderboard-score{font-weight:900;color:var(--text-color-secondary)}.current-user:not(.rank-1):not(.rank-2):not(.rank-3) .pupil-leaderboard-name{color:#e0d0ff}.current-user .pupil-leaderboard-name{font-weight:800}.current-user:not(.rank-1):not(.rank-2):not(.rank-3) .pupil-leaderboard-rank{background:linear-gradient(135deg,#a855f7,#6366f1);color:#fff}.current-user:not(.rank-1):not(.rank-2):not(.rank-3) .pupil-leaderboard-score{color:#c4b5fd}.you-badge{background:linear-gradient(135deg,#a855f7,#6366f1);color:#fff;font-size:.6rem;font-weight:800;padding:.15rem .5rem;border-radius:1rem;margin-left:.5rem;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 2px 6px #a855f766;position:relative;top:-.1rem}.light-mode .current-user:not(.rank-1):not(.rank-2):not(.rank-3) .pupil-leaderboard-name{color:#6d28d9}.light-mode .pupil-leaderboard-item.current-user{background:linear-gradient(135deg,#6366f126,#a855f71a)}.light-mode .current-user .pupil-leaderboard-score{color:#7c3aed}.leaderboard-loading{text-align:center;color:var(--text-color-secondary);padding:var(--space-lg)}.pupil-name-card{background:#35356266;border:1px solid rgba(255,255,255,.1);border-radius:1.5rem;padding:var(--space-lg);text-align:center}.pupil-name-card .pupil-name-display{font-size:2rem;font-weight:900;background:linear-gradient(135deg,gold,#00d9ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.pupil-test-level{font-size:1.25rem;font-weight:700;color:var(--text-color-secondary);padding:.5rem 1rem;background:#a78bfa33;border:1px solid rgba(167,139,250,.3);border-radius:.75rem;display:inline-block}.pupil-leaderboard-tabs{display:flex;align-items:center;justify-content:center;gap:var(--space-lg);margin-bottom:var(--space-md);padding-bottom:var(--space-sm)}.pupil-tab{cursor:pointer;font-weight:700;font-size:1rem;padding:.25rem .5rem .5rem;border-bottom:3px solid transparent;transition:all .2s ease}.pupil-tab:hover{color:#00d9ff}.pupil-tab.active{border-bottom-color:var(--btn-primary-bg);color:#00d9ff}.pupil-tab#pupilTabCrown,.pupil-tab#pupilTabMedal{font-size:1.5rem}.pupil-tab#pupilTabCrown.active{border-bottom-color:var(--leaderboard-gold)}.pupil-tab#pupilTabMedal.active{border-bottom-color:silver}.pupil-leaderboard-lists{flex:1;overflow:hidden}.pupil-home-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid rgba(255,255,255,.1)}.pupil-class-info{color:var(--text-color-secondary);font-size:.9rem}.pupil-class-name{color:#a78bfa;font-weight:700}.pupil-footer-buttons{display:flex;align-items:center;gap:var(--space-md)}.pupil-settings-dropdown{position:relative}.pupil-settings-btn{background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:.5rem;padding:.5rem 1rem;font-family:inherit;font-size:.85rem;font-weight:600;color:var(--text-color-secondary);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.pupil-settings-btn:hover{border-color:#a78bfa;color:#a78bfa}.pupil-settings-menu{position:absolute;bottom:100%;right:0;margin-bottom:.5rem;background:var(--container-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.15);border-radius:.75rem;padding:.5rem;min-width:180px;box-shadow:0 -4px 20px #0000004d;display:none;z-index:100}.pupil-settings-menu.open{display:block}.pupil-settings-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:transparent;border:none;border-radius:.5rem;font-family:inherit;font-size:.9rem;font-weight:600;color:var(--text-color-primary);cursor:pointer;transition:all .2s ease;text-align:left}.pupil-settings-item:hover{background:#ffffff1a}.settings-item-icon{font-size:1.25rem}.pupil-settings-item .icon-sun,.pupil-settings-item .light-text{display:none}body.light-mode .pupil-settings-item .icon-sun,body.light-mode .pupil-settings-item .light-text{display:inline}body.light-mode .pupil-settings-item .icon-moon,body.light-mode .pupil-settings-item .dark-text,.pupil-settings-item .icon-perf-on,.pupil-settings-item .perf-text-on,body.performance-mode .pupil-settings-item .icon-perf-off,body.performance-mode .pupil-settings-item .perf-text-off{display:none}body.performance-mode .pupil-settings-item .icon-perf-on,body.performance-mode .pupil-settings-item .perf-text-on{display:inline}.pupil-logout-btn{background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:.5rem;padding:.5rem 1rem;font-family:inherit;font-size:.85rem;font-weight:600;color:var(--text-color-secondary);cursor:pointer;transition:all .2s ease}.pupil-logout-btn:hover{border-color:#f00842;color:#f00842}@media(max-width:768px){.pupil-home-layout{grid-template-columns:1fr}.pupil-name-display{font-size:2rem}.pupil-start-btn{font-size:1.5rem;padding:var(--space-lg)}.pupil-leaderboard-section{max-height:none}.pupil-leaderboard-list{max-height:300px}.pupil-table-grid{grid-template-columns:repeat(11,1fr);gap:.25rem}.pupil-table-cell .table-num{font-size:.65rem}.pupil-table-cell .table-pct{font-size:.55rem}.recent-results-header{flex-direction:column;align-items:flex-start;gap:.5rem}}@media(max-width:480px){.pupil-home-footer{flex-direction:column;gap:1rem}}
