@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";:root{color:var(--text);background:var(--app-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--text:#1d2433;--app-bg:#f4f6fb;--navy:#19223b;--blue:#667eea;--deep-blue:#4057b7;--cyan:#0aa7e8;--green:#16a86b;--orange:#ed8b18;--purple:#7a4db5;--pink:#d74f87;--red:#df4054;--surface:#fff;--line:#e5e8f1;--muted:#748096;--shadow:0 12px 32px #25325814;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Manrope,system-ui,sans-serif}:root[data-theme=dark]{--text:#eef3ff;--app-bg:#070b15;--navy:#f5f7ff;--blue:#8196ff;--deep-blue:#6f83f1;--cyan:#24c8f4;--green:#35d184;--orange:#ffae44;--purple:#b58cff;--pink:#f47baa;--red:#ff6f7e;--surface:#111827;--line:#e2e8ff1f;--muted:#9ca8c0;--shadow:0 18px 42px #00000061;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--app-bg);min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #667eea4d}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}#root{min-height:100vh}.app-loading,.fatal-state{text-align:center;place-content:center;justify-items:center;gap:14px;min-height:100vh;padding:28px;display:grid}.app-loading img{width:74px;height:74px;box-shadow:var(--shadow);border-radius:18px}.app-loading svg{color:var(--blue)}.app-loading span,.muted{color:var(--muted)}.fatal-state svg{width:48px;height:48px;color:var(--orange)}.fatal-state div{gap:10px;display:flex}.global-error{z-index:100;color:#a91d35;box-shadow:var(--shadow);background:#fff1f2;border:1px solid #fecdd3;border-radius:8px;align-items:center;gap:8px;padding:10px 14px;display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%)}.primary-button,.secondary-button{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 16px;font-weight:700;transition:all .18s;display:inline-flex}.primary-button{color:#fff;background:var(--deep-blue);box-shadow:0 8px 18px #4057b733}.secondary-button{color:var(--deep-blue);background:#f0f2ff;border-color:#dfe3fb}.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.icon-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:50%;flex:0 0 42px;place-items:center;width:42px;height:42px;display:inline-grid}.icon-button:hover{background:#f4f6fb}.mobile-logout-button{display:none}.panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px}.eyebrow{color:var(--deep-blue);text-transform:uppercase;letter-spacing:0;margin-bottom:5px;font-size:11px;font-weight:800;display:block}.eyebrow.light{color:#ffffffbf}.count-badge,.classroom-pill,.subject-chip{color:var(--deep-blue);background:#eef1ff;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:12px;font-weight:700;display:inline-flex}.feature-icon{width:42px;height:42px;color:var(--purple);background:#f0eafa;border-radius:10px;place-items:center;display:inline-grid}.feature-icon.blue{color:var(--cyan);background:#e8f6fd}.feature-icon.orange{color:var(--orange);background:#fff2e2}.feature-icon.purple{color:#fff;background:linear-gradient(135deg,#8c42c2,#3988d4)}.section-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.section-heading h2{margin:0;font-size:26px;line-height:1.15}.section-heading p{color:var(--muted);margin:7px 0 0}.section-heading.compact{align-items:center;margin-bottom:16px}.section-heading.compact h2{font-size:20px}.page-section{max-width:1080px;margin:0 auto}.empty-state{text-align:center;min-height:260px;color:var(--muted);place-content:center;justify-items:center;padding:30px;display:grid}.empty-state svg{color:#aab2c5;width:42px;height:42px;margin-bottom:12px}.empty-state h2,.empty-state h3{color:var(--navy);margin-bottom:4px}.login-page{background:#15203a url(/studytrack-icon.png) 50%/550px no-repeat fixed;place-items:center;min-height:100vh;padding:32px;display:grid;position:relative;overflow:hidden}.login-page:before{content:"";background:#131c33ed;position:absolute;inset:0}.login-shell{background:#fff;border-radius:20px;grid-template-columns:1.05fr .95fr;width:min(940px,100%);min-height:570px;display:grid;position:relative;overflow:hidden;box-shadow:0 35px 80px #03091857}.login-brand{color:#fff;background:linear-gradient(145deg,#536bce,#48366f 68%,#147f89);flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:64px;display:flex}.brand-mark{border-radius:22px;width:88px;height:88px;margin-bottom:auto;box-shadow:0 16px 30px #0003}.brand-overline{opacity:.7;margin:0 0 8px;font-size:11px;font-weight:800}.login-brand h1{margin:0 0 12px;font-size:48px}.login-brand>p:last-child{color:#ffffffc7;max-width:360px;line-height:1.65}.login-panel{flex-direction:column;justify-content:center;gap:22px;padding:72px 54px;display:flex}.login-panel h2{color:var(--navy);margin:0;font-size:29px}.invite-panel{justify-content:flex-start;max-height:570px;overflow:auto}.invite-panel>div p{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.55}.back-link{width:max-content;color:var(--deep-blue);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:12px;font-weight:800;display:inline-flex}.invite-code-input{text-transform:uppercase;letter-spacing:.18em;font-weight:900}.invite-info-card{border:1px solid var(--line);background:#f8f9ff;border-radius:8px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;padding:13px;display:grid}.invite-info-card>div{gap:2px;min-width:0;display:grid}.invite-info-card small{color:var(--muted);font-size:9px}.invite-info-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.student-account-option{border:1px solid var(--line);background:#f8f9fc;border-radius:8px;gap:12px;padding:12px;display:grid}.consent-row{color:#4a556d;align-items:flex-start;gap:9px;font-size:12px;font-weight:700;line-height:1.45;display:flex}.consent-row input{width:17px;height:17px;accent-color:var(--deep-blue);margin-top:1px}.field-control input:disabled{color:#8c96aa}.field{color:#4a556d;gap:8px;font-size:13px;font-weight:700;display:grid}.field-control{color:#8993a7;background:#fbfcff;border:1px solid #dfe3ec;border-radius:8px;align-items:center;gap:10px;min-height:50px;padding:0 12px;display:flex}.field-control:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #667eea1f}.field-control input{min-width:0;color:var(--navy);background:0 0;border:0;outline:0;flex:1}.field-action{background:0 0;border:0;flex-basis:34px;width:34px;height:34px}.form-error{color:#b42e45;background:#fff0f2;border-radius:8px;margin:-8px 0 0;padding:10px 12px;font-size:13px}.login-button{width:100%;margin-top:4px}.app-shell{background:#f4f6fb;grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#d8def0;background:#18213a;flex-direction:column;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0}.sidebar-brand{border-bottom:1px solid #ffffff17;align-items:center;gap:12px;padding:0 8px 26px;display:flex}.sidebar-brand img{border-radius:11px;width:42px;height:42px}.sidebar-brand span,.sidebar-profile>span:nth-child(2){min-width:0;display:grid}.sidebar-brand strong{color:#fff;font-size:17px}.sidebar-brand small{color:#b7c2de;font-size:13px;font-weight:500;line-height:1.25}.sidebar nav{gap:5px;padding-top:24px;display:grid}.sidebar nav button{color:#aeb8d0;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;width:100%;min-height:46px;padding:0 13px;font-size:13px;font-weight:650;display:flex}.sidebar nav button svg{width:19px}.sidebar nav button:hover{color:#fff;background:#ffffff0f}.sidebar nav button.active{color:#fff;background:#4057b7}.sidebar-profile{border-top:1px solid #ffffff17;grid-template-columns:38px minmax(0,1fr) 34px;align-items:center;gap:9px;margin-top:auto;padding:14px 8px 0;display:grid}.sidebar-profile strong,.sidebar-profile small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-profile strong{color:#fff;font-size:11px}.sidebar-profile small{color:#8e9ab8;font-size:9px}.sidebar-profile .icon-button{color:#d8def0;background:#ffffff12;border-color:#ffffff14;flex-basis:34px;width:34px;height:34px}.avatar{width:38px;height:38px;color:var(--deep-blue);background:#e8ecff;border-radius:50%;flex:0 0 38px;place-items:center;font-weight:800;display:inline-grid}.avatar.large{background:#fffffff0;flex-basis:68px;width:68px;height:68px;font-size:24px}.main-area{min-width:0}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe0;justify-content:space-between;align-items:center;gap:18px;min-height:88px;padding:18px clamp(24px,4vw,54px);display:flex}.topbar h1{margin:0;font-size:22px}.topbar-actions{align-items:center;gap:9px;display:flex}.content-area{padding:30px clamp(24px,4vw,54px) 52px}.mobile-nav{display:none}.dashboard-grid{grid-template-columns:minmax(0,1fr) 310px;gap:24px;max-width:1250px;margin:0 auto;display:grid}.dashboard-main{gap:24px;min-width:0;display:grid}.dashboard-rail{align-content:start;gap:18px;display:grid}.stories{gap:14px;padding:2px 2px 8px;display:flex;overflow-x:auto}.stories button{cursor:pointer;background:0 0;border:0;justify-items:center;gap:5px;min-width:60px;display:grid}.stories small{text-overflow:ellipsis;white-space:nowrap;max-width:68px;color:var(--muted);font-size:10px;overflow:hidden}.story-ring{background:linear-gradient(135deg,var(--cyan),var(--purple),var(--pink));border-radius:50%;place-items:center;width:55px;height:55px;padding:3px;display:grid}.story-ring.seen{background:#c9cfdb}.story-ring span{width:100%;height:100%;color:var(--deep-blue);background:#fff;border:2px solid #fff;border-radius:50%;place-items:center;font-size:11px;font-weight:800;display:grid}.welcome-card{color:#fff;background:linear-gradient(135deg,#5269c8,#513975 64%,#1d7280);border-radius:16px;justify-content:space-between;gap:24px;min-height:185px;padding:30px;display:flex;box-shadow:0 18px 34px #483e7e33}.welcome-card h2{margin:0 0 9px;font-size:27px}.welcome-card p{color:#ffffffbf;max-width:570px;margin:0;font-size:13px;line-height:1.6}.hero-score{border-left:1px solid #ffffff2e;place-content:center;align-self:stretch;justify-items:center;min-width:120px;padding-left:28px;display:grid}.hero-score strong{font-size:31px}.hero-score span{color:#ffffffb3;font-size:10px}.score-grid{grid-template-columns:repeat(3,1fr);padding:20px;display:grid}.score-dial{border-right:1px solid var(--line);align-items:center;gap:13px;padding:4px 18px;display:flex}.score-dial:last-child{border:0}.score-dial>div:last-child{gap:3px;display:grid}.score-dial>div:last-child strong{font-size:13px}.score-dial>div:last-child small{color:var(--muted);font-size:9px}.dial{--dial:0deg;--dial-color:var(--blue);background:conic-gradient(var(--dial-color) var(--dial),#e9ecf3 0);border-radius:50%;flex:0 0 74px;place-items:center;width:74px;height:74px;display:grid;position:relative}.dial:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:6px}.dial span{z-index:1;color:var(--dial-color);justify-items:center;display:grid}.dial svg{width:15px;height:15px}.dial strong{font-size:13px}.summary-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.summary-card{align-items:center;gap:15px;padding:19px;display:flex}.summary-card>div{gap:2px;display:grid}.summary-card>div span{font-size:12px;font-weight:700}.summary-card>div strong{color:var(--purple);font-size:24px}.summary-card>div small{color:var(--muted);font-size:9px}.tone-orange>div strong{color:var(--orange)}.tone-cyan{--tone:var(--cyan)}.tone-green{--tone:var(--green)}.tone-purple{--tone:var(--purple)}.tone-indigo{--tone:var(--deep-blue)}.tone-orange{--tone:var(--orange)}.tone-red{--tone:var(--red)}.achievements-panel,.ranking-panel{padding:20px}.achievement-list{grid-template-columns:1fr 1fr;gap:10px;display:grid}.achievement{opacity:.62;background:#f6f7fa;border-radius:8px;align-items:center;gap:10px;min-width:0;padding:11px;display:flex}.achievement.unlocked{opacity:1;background:#f8f9ff}.achievement>span{background:#fff;border-radius:50%;flex:0 0 38px;place-items:center;width:38px;height:38px;font-size:18px;display:grid}.achievement>div{gap:2px;min-width:0;display:grid}.achievement strong{font-size:11px}.achievement small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.achievement i{background:#e2e5ec;border-radius:3px;height:3px;margin-top:4px;overflow:hidden}.achievement i b{background:var(--green);height:100%;display:block}.dual-ranking{grid-template-columns:1fr 1fr;gap:18px;display:grid}.ranking-list h3,.snapshot h3{align-items:center;gap:7px;font-size:12px;display:flex}.ranking-list h3 svg{width:16px;color:var(--orange)}.ranking-row{border-bottom:1px solid #eef0f5;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:38px;padding:4px 7px;font-size:10px;display:grid}.ranking-row.current{color:var(--deep-blue);background:#eef1ff;border-radius:6px;font-weight:700}.rank-number{background:#f0f2f6;border-radius:50%;place-items:center;width:23px;height:23px;font-weight:800;display:grid}.timeline{gap:9px;display:grid}.timeline-row,.attempt-row{align-items:center;gap:12px;padding:13px;display:flex}.timeline-icon{width:38px;height:38px;color:var(--cyan);background:#eaf7fd;border-radius:8px;flex:0 0 38px;place-items:center;display:grid}.timeline-icon.purple{color:var(--purple);background:#f2ecfa}.timeline-icon svg{width:18px}.timeline-row>div,.attempt-row>span{flex:1;gap:2px;min-width:0;display:grid}.timeline-row strong,.attempt-row strong{font-size:11px}.timeline-row small,.attempt-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.record-scores{gap:5px;display:flex}.record-scores b{min-width:40px;color:var(--deep-blue);text-align:center;background:#eef1ff;border-radius:5px;padding:5px;font-size:9px}.schedule-card,.rail-homework{padding:18px}.lesson-row{border-bottom:1px solid var(--line);grid-template-columns:45px 1fr;gap:11px;padding:11px 0;display:grid}.lesson-row:last-child{border:0}.lesson-time{color:var(--deep-blue);font-size:11px;font-weight:800}.lesson-row div{gap:2px;display:grid}.lesson-row strong{font-size:11px}.lesson-row small{color:var(--muted);font-size:9px}.rail-homework .feature-icon{margin-bottom:14px}.rail-homework h3{margin:5px 0 8px;font-size:15px}.rail-homework p{color:#4f5b70;font-size:11px;line-height:1.55}.rail-homework>small{color:var(--muted);font-size:8px}.week-row{border-bottom:1px solid var(--line);grid-template-columns:32px 1fr auto;gap:8px;padding:8px 0;font-size:9px;display:grid}.week-row span{color:var(--deep-blue);font-weight:800}.week-row small{color:var(--muted)}.homework-editor{grid-template-columns:52px 1fr;gap:16px;max-width:780px;padding:26px;display:grid}.homework-editor>div h2{margin:8px 0 5px}.homework-editor>div small{color:var(--muted)}.homework-editor label{color:var(--navy);grid-column:1/-1;gap:8px;font-size:12px;font-weight:800;display:grid}.homework-editor textarea,.career-question textarea{resize:vertical;width:100%;color:var(--navy);background:#fbfcff;border:1px solid #dfe3ec;border-radius:8px;outline:0;padding:14px;line-height:1.55}.homework-editor textarea:focus,.career-question textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #667eea1f}.homework-editor>button{grid-column:2;justify-self:end}.notes-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.note-chapter{padding:18px}.note-chapter header{align-items:center;gap:11px;margin-bottom:13px;display:flex}.note-chapter h3{margin:0 0 2px;font-size:15px}.note-chapter small{color:var(--muted);font-size:9px}.note-chapter a{border-top:1px solid var(--line);grid-template-columns:20px 1fr 16px;align-items:center;gap:9px;min-height:44px;padding:10px 5px;font-size:11px;display:grid}.note-chapter a:hover{color:var(--deep-blue)}.note-chapter a svg{width:16px;color:var(--cyan)}.quiz-stat-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px;display:grid}.metric-tile{border:1px solid var(--line);min-height:95px;box-shadow:var(--shadow);background:#fff;border-radius:8px;align-content:center;gap:4px;padding:16px;display:grid}.metric-tile span{color:var(--muted);font-size:10px}.metric-tile strong{color:var(--deep-blue);font-size:21px}.quiz-feature{border:1px solid var(--line);cursor:pointer;text-align:left;grid-template-columns:48px 1fr 24px;align-items:center;gap:14px;width:100%;padding:16px;display:grid}.quiz-feature>span:nth-child(2),.quiz-row>span{gap:3px;display:grid}.quiz-feature small,.quiz-row small{color:var(--muted);font-size:9px}.chapter-block{margin-top:24px}.chapter-block h3,.history-block h3{align-items:center;gap:8px;font-size:14px;display:flex}.quiz-list{grid-template-columns:1fr 1fr;gap:10px;display:grid}.quiz-row{border:1px solid var(--line);cursor:pointer;text-align:left;grid-template-columns:1fr 20px;align-items:center;min-height:68px;padding:14px;display:grid}.quiz-row:hover{background:#fafbff;border-color:#cbd2f7}.history-block{margin-top:28px}.attempt-row{margin-bottom:8px}.quiz-player{max-width:850px;margin:0 auto}.quiz-player-header{grid-template-columns:44px 1fr auto;align-items:center;gap:12px;margin-bottom:14px;display:grid}.quiz-player-header>div{display:grid}.quiz-player-header span{color:var(--muted);font-size:9px}.quiz-player-header strong{font-size:13px}.timer{background:#eef1ff;border-radius:8px;align-items:center;gap:5px;padding:8px 10px;font-weight:800;display:flex;color:var(--deep-blue)!important}.timer.warning{background:#fff0f2;color:var(--red)!important}.quiz-progress{background:#e6e9f0;border-radius:5px;height:5px;margin-bottom:18px;overflow:hidden}.quiz-progress span{background:var(--blue);height:100%;transition:width .25s;display:block}.question-card{padding:28px}.question-card>img,.question-card>video{object-fit:contain;background:#111;border-radius:8px;width:100%;max-height:340px;margin-bottom:18px}.question-points{color:var(--deep-blue);background:#eef1ff;border-radius:5px;padding:5px 8px;font-size:9px;font-weight:800;display:inline-flex}.question-card h2{margin:14px 0 22px;font-size:21px;line-height:1.4}.answer-list,.career-options{gap:9px;display:grid}.answer{cursor:pointer;text-align:left;background:#fff;border:1px solid #dfe3ec;border-radius:8px;align-items:center;gap:12px;min-height:48px;padding:10px 13px;display:flex}.answer:hover{border-color:#aeb9ef}.answer.selected{border-color:var(--blue);color:var(--deep-blue);background:#eef1ff}.answer>span{background:#f0f2f6;border-radius:50%;flex:0 0 27px;place-items:center;width:27px;height:27px;font-size:10px;font-weight:800;display:grid}.answer.selected>span{color:#fff;background:var(--blue)}.question-actions{justify-content:space-between;gap:10px;margin-top:24px;display:flex}.quiz-result{text-align:center;place-content:center;justify-items:center;min-height:480px;padding:30px;display:grid}.result-ring{--score-color:var(--green);border:9px solid color-mix(in srgb,var(--score-color),white 75%);border-top-color:var(--score-color);width:150px;height:150px;color:var(--score-color);border-radius:50%;place-content:center;justify-items:center;margin-bottom:18px;display:grid}.result-ring strong{font-size:28px}.career-complete{color:var(--green);align-items:center;gap:16px;margin-bottom:14px;padding:20px;display:flex}.career-complete h3{color:var(--navy);margin:0 0 3px}.career-complete p{color:var(--muted);margin:0;font-size:11px}.career-report{grid-template-columns:48px 1fr 22px;align-items:center;gap:13px;margin-bottom:14px;padding:16px;display:grid}.career-report>span:nth-child(2){gap:3px;display:grid}.career-report small{color:var(--muted);font-size:9px}.report-data{padding:24px}.report-data>h2{color:var(--deep-blue);font-size:28px}.report-data>p,.report-data li,.recommended-field p{color:#59657a;font-size:12px;line-height:1.6}.recommended-field{border-top:1px solid var(--line);padding:12px 0}.recommended-field p{margin:4px 0 0}.info-banner{color:#246488;background:#eef8ff;border:1px solid #cfe8fa;border-radius:8px;padding:13px}.career-form{max-width:850px}.career-question{margin-bottom:12px;padding:22px}.career-question h3{margin:12px 0 17px;font-size:16px;line-height:1.5}.career-options{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.career-options .answer{text-align:center;justify-content:center}.career-submit{width:100%;margin-top:8px}.modal-backdrop{z-index:90;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050a18d1;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.story-viewer{aspect-ratio:9/16;background:#222a3d;border-radius:16px;width:min(390px,100%);position:relative;overflow:hidden;box-shadow:0 26px 70px #000}.story-viewer>img,.story-placeholder{object-fit:cover;width:100%;height:100%}.story-placeholder{background:linear-gradient(145deg,#5269c8,#503570,#126f7a)}.story-viewer header{z-index:2;color:#fff;background:linear-gradient(#0009,#0000);align-items:center;gap:9px;padding:14px;display:flex;position:absolute;top:0;left:0;right:0}.story-viewer header>div{flex:1;display:grid}.story-viewer header small{opacity:.7;font-size:9px}.light-button{color:#fff;background:#00000038;border-color:#ffffff40}.story-viewer>p{color:#fff;text-align:center;text-shadow:0 2px 5px #000;max-width:80%;padding:8px;font-weight:800;position:absolute;transform:translate(-50%,-50%)}.story-viewer footer{justify-content:center;gap:8px;display:flex;position:absolute;bottom:18px;left:0;right:0}.story-viewer footer button{color:#fff;cursor:pointer;background:#00000061;border:1px solid #ffffff40;border-radius:22px;min-width:45px;min-height:42px}.story-viewer footer button.reacted{background:#667eeabf}.story-viewer footer small{margin-left:3px}.settings-backdrop{background:#090f2285}.settings-modal{width:min(500px,100%);color:var(--navy);padding:22px}.settings-modal>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding-bottom:14px;display:flex}.settings-modal h2{margin:0}.settings-user{align-items:center;gap:11px;padding:18px 0;display:flex}.settings-user>div{gap:2px;display:grid}.settings-user small{color:var(--muted);font-size:9px}.setting-toggle{border-top:1px solid var(--line);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:12px 0;display:flex}.setting-toggle>span{gap:3px;display:grid}.setting-toggle strong{font-size:12px}.setting-toggle small{color:var(--muted);font-size:9px}.setting-toggle input{width:42px;height:23px;accent-color:var(--deep-blue)}.settings-modal>footer{justify-content:space-between;gap:10px;padding-top:18px;display:flex}.danger-button{color:var(--red);background:#fff1f2;border-color:#ffd6dc}.alumni-page{color:#fff;background:linear-gradient(140deg,#286ac6,#7040b8 50%,#15939a);min-height:100vh;padding:36px 24px 70px}.content-width{width:min(1080px,100%);margin-left:auto;margin-right:auto}.alumni-header{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.profile-cluster{align-items:center;gap:15px;display:flex}.profile-cluster h1{margin:0 0 5px;font-size:25px}.profile-cluster p{color:#ffffffbf;align-items:center;gap:6px;margin:0;font-size:12px;display:flex}.alumni-content{color:var(--navy);gap:18px;display:grid}.archive-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.archive-metric{min-height:150px;color:var(--tone);align-content:start;gap:7px;padding:18px;display:grid}.archive-metric svg{width:20px}.archive-metric>strong{color:var(--navy);margin-top:6px;font-size:24px}.archive-metric>span{color:var(--navy);font-size:12px;font-weight:750}.archive-metric small{color:var(--muted);font-size:9px}.archive-section{padding:22px}.archive-section>.primary-button{margin-top:13px}.archive-date{color:#ffffffb3;text-align:center;font-size:10px}.alumni-empty{color:var(--muted)}.career-summary{background:#f4f6fb;border-radius:8px;margin-top:12px;padding:14px}.career-summary p{color:var(--muted);margin:6px 0 0;font-size:11px}@media (width<=1120px){.dashboard-grid{grid-template-columns:1fr}.dashboard-rail{grid-template-columns:repeat(2,1fr)}.rail-homework{grid-row:span 2}}@media (width<=820px){.login-page{padding:18px}.login-shell{grid-template-columns:1fr}.login-brand{min-height:235px;padding:28px}.brand-mark{border-radius:16px;width:62px;height:62px}.login-brand h1{font-size:34px}.login-panel{padding:34px 28px}.app-shell{padding-bottom:74px;display:block}.sidebar{display:none}.topbar{min-height:76px;padding:14px 18px}.topbar h1{text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:17px;overflow:hidden}.classroom-pill{display:none}.mobile-logout-button{color:var(--red);background:#fff4f5;border-color:#ffdfe3;display:inline-grid}.content-area{padding:20px 16px 36px}.mobile-nav{z-index:30;padding:7px 8px calc(7px + env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{color:#8a94a8;cursor:pointer;background:0 0;border:0;justify-items:center;gap:3px;min-width:0;padding:4px 1px;font-size:8px;display:grid}.mobile-nav button svg{width:19px;height:19px}.mobile-nav button.active{color:var(--deep-blue)}.dashboard-rail{grid-template-columns:1fr}.rail-homework{grid-row:auto}.score-grid{grid-template-columns:1fr}.score-dial{border-right:0;border-bottom:1px solid var(--line);padding:12px 4px}.score-dial:last-child{border-bottom:0}.achievement-list,.dual-ranking,.notes-grid,.quiz-list{grid-template-columns:1fr}.archive-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=520px){.topbar-actions .settings-button{display:none}.welcome-card{min-height:210px;padding:22px;display:grid}.welcome-card h2{font-size:22px}.hero-score{border-top:1px solid #ffffff2e;border-left:0;grid-template-columns:auto auto;justify-content:start;place-items:baseline start;gap:8px;padding:14px 0 0}.summary-grid{grid-template-columns:1fr}.quiz-stat-grid{grid-template-columns:1fr 1fr}.question-card{padding:18px}.question-card h2{font-size:17px}.question-actions{grid-template-columns:1fr 1fr;display:grid}.question-actions button{padding:8px;font-size:11px}.homework-editor{grid-template-columns:1fr;padding:19px}.homework-editor>button,.homework-editor label{grid-column:1}.homework-editor>button{justify-self:stretch}.archive-grid{grid-template-columns:1fr 1fr;gap:9px}.archive-metric{min-height:134px;padding:14px}.profile-cluster h1{max-width:180px;font-size:19px}.alumni-page{padding:24px 14px 50px}}.teacher-shell{background:#f3f5fa;grid-template-columns:245px minmax(0,1fr);min-height:100vh;display:grid}.teacher-sidebar{color:#dce2f2;background:#18213a;flex-direction:column;height:100vh;padding:22px 14px;display:flex;position:sticky;top:0}.teacher-sidebar nav{gap:4px;padding:20px 0;display:grid;overflow-y:auto}.teacher-sidebar nav button{color:#adb8d0;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;grid-template-columns:22px 1fr auto;align-items:center;gap:10px;min-height:43px;padding:0 12px;font-size:12px;font-weight:650;display:grid}.teacher-sidebar nav button svg{width:18px}.teacher-sidebar nav button.active,.teacher-sidebar nav button:hover{color:#fff;background:#4057b7}.teacher-sidebar nav button b{background:var(--red);border-radius:10px;place-items:center;min-width:19px;height:19px;font-size:9px;display:grid}.teacher-main{min-width:0}.teacher-topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;justify-content:space-between;align-items:center;gap:20px;min-height:86px;padding:16px clamp(22px,3.5vw,48px);display:flex}.teacher-topbar h1{margin:0;font-size:22px}.teacher-toolbar{align-items:center;gap:9px;display:flex}.teacher-search{border:1px solid var(--line);background:#f8f9fc;border-radius:8px;align-items:center;gap:8px;min-width:230px;padding:0 11px;display:flex}.teacher-search input{background:0 0;border:0;outline:0;min-width:0;height:40px}.teacher-toolbar select{border:1px solid var(--line);background:#fff;border-radius:8px;max-width:250px;height:42px;padding:0 10px}.teacher-content{padding:28px clamp(22px,3.5vw,48px) 52px}.teacher-overview{gap:20px;max-width:1250px;margin:auto;display:grid}.teacher-welcome{color:#fff;background:linear-gradient(135deg,#4057b7,#654391 60%,#167f86);border-radius:16px;justify-content:space-between;align-items:center;min-height:145px;padding:26px 30px;display:flex;box-shadow:0 18px 36px #35417d2e}.teacher-welcome h2{margin:0 0 7px;font-size:25px}.teacher-welcome p{color:#ffffffb8;margin:0}.teacher-welcome>svg{opacity:.2;width:70px;height:70px}.teacher-stat-grid{grid-template-columns:repeat(6,1fr);gap:12px;display:grid}.teacher-stat{border:1px solid var(--line);cursor:pointer;text-align:left;grid-template-columns:38px 1fr 15px;align-items:center;gap:8px;min-height:105px;padding:15px;display:grid}.teacher-stat>svg:first-child{width:24px;color:var(--blue)}.teacher-stat.green>svg:first-child{color:var(--green)}.teacher-stat.purple>svg:first-child{color:var(--purple)}.teacher-stat.orange>svg:first-child{color:var(--orange)}.teacher-stat.red>svg:first-child{color:var(--red)}.teacher-stat.cyan>svg:first-child{color:var(--cyan)}.teacher-stat span{display:grid}.teacher-stat small{color:var(--muted);font-size:9px}.teacher-stat strong{font-size:22px}.teacher-overview-columns{grid-template-columns:1.3fr .7fr;gap:16px;display:grid}.teacher-panel{padding:20px}.teacher-panel>header{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.teacher-panel>header h2{margin:0;font-size:18px}.teacher-panel>header>svg{color:var(--orange)}.teacher-average-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.teacher-average-grid>div,.student-summary-grid>div{background:#f7f8fc;border-radius:8px;gap:6px;padding:13px;display:grid}.teacher-average-grid span,.student-summary-grid span{color:var(--muted);font-size:9px}.teacher-average-grid strong,.student-summary-grid strong{color:var(--deep-blue);font-size:18px}.teacher-average-grid i,.student-summary-grid i{background:#e3e6ef;border-radius:3px;height:4px;overflow:hidden}.teacher-average-grid i b,.student-summary-grid i b{background:var(--green);height:100%;display:block}.notification-row{border-top:1px solid var(--line);align-items:center;gap:10px;padding:9px 0;display:flex}.notification-row>div{display:grid}.notification-row strong{font-size:10px}.notification-row small{color:var(--muted);font-size:8px}.teacher-table-row{border-top:1px solid var(--line);grid-template-columns:32px 1fr 55px 55px;align-items:center;gap:10px;min-height:50px;display:grid}.avatar.small{flex-basis:30px;width:30px;height:30px;font-size:10px}.teacher-table-row>span:nth-child(2){display:grid}.teacher-table-row strong{font-size:10px}.teacher-table-row small{color:var(--muted);font-size:8px}.teacher-table-row>b{color:var(--deep-blue);text-align:center;font-size:10px}.teacher-section-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;display:flex}.teacher-section-heading h2{margin:0;font-size:25px}.student-admin-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.student-admin-card{border:1px solid var(--line);cursor:pointer;text-align:left;grid-template-columns:42px 1fr auto;align-items:center;gap:11px;min-height:75px;padding:14px;display:grid}.student-admin-card>span:nth-child(2){min-width:0;display:grid}.student-admin-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.student-admin-card small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.student-admin-card>svg{color:#a0a9bb;width:16px}.student-admin-detail{gap:16px;display:grid}.student-detail-header{grid-template-columns:70px 1fr auto;align-items:center;gap:16px;padding:22px;display:grid}.student-detail-header h2{margin:0 0 5px}.student-detail-header p{color:var(--muted);margin:0;font-size:10px}.student-actions{gap:8px;display:flex}.student-summary-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.admin-data-row{border:0;border-top:1px solid var(--line);text-align:left;background:0 0;grid-template-columns:minmax(0,1fr) 65px 65px 36px 36px;align-items:center;gap:8px;width:100%;min-height:48px;padding:7px 6px;display:grid}.admin-data-row>span{display:grid}.admin-data-row strong{font-size:10px}.admin-data-row small{color:var(--muted);font-size:8px}.admin-data-row>b{color:var(--deep-blue);text-align:center;font-size:10px}.admin-data-row>svg{width:15px}.teacher-data-list{padding-top:8px}.danger-icon{color:var(--red);background:#fff4f5;border-color:#ffdfe3}.schedule-admin-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.schedule-day{min-height:170px;padding:15px}.schedule-day h3{font-size:13px}.schedule-day article{border-top:1px solid var(--line);grid-template-columns:45px 1fr 30px 30px;align-items:center;gap:8px;padding:9px 0;display:grid}.schedule-day article>span,.schedule-day article>div{display:grid}.schedule-day article strong{font-size:9px}.schedule-day article small{color:var(--muted);font-size:7px}.schedule-day .icon-button{flex-basis:29px;width:29px;height:29px}.admin-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.admin-card{min-height:210px;padding:18px}.admin-card header{justify-content:space-between;align-items:center;display:flex}.admin-card h3{margin:16px 0 6px;font-size:15px}.admin-card p{color:#586477;font-size:10px}.admin-card>small{color:var(--muted);font-size:8px}.admin-card footer{border-top:1px solid var(--line);align-items:center;gap:8px;margin-top:18px;padding-top:12px;display:flex}.status{color:var(--muted);background:#f0f2f5;border-radius:5px;padding:5px 7px;font-size:8px;font-weight:800}.status.active{color:var(--green);background:#eaf8f2}.teacher-mobile-nav{display:none}.teacher-modal-backdrop{z-index:110}.teacher-editor{width:min(760px,100%);max-height:90vh;color:var(--navy);overflow:auto}.teacher-editor>header{z-index:2;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:flex-start;padding:18px 20px;display:flex;position:sticky;top:0}.teacher-editor h2{margin:0;font-size:20px}.teacher-editor-form{gap:16px;padding:20px;display:grid}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.admin-field{gap:6px;display:grid}.admin-field>span,.classroom-checks legend{color:#4d586b;font-size:10px;font-weight:800}.admin-field input,.admin-field select,.admin-field textarea{background:#fbfcff;border:1px solid #dfe3ec;border-radius:8px;outline:0;width:100%;min-height:43px;padding:9px 11px}.admin-field textarea{resize:vertical}.admin-field input:focus,.admin-field select:focus,.admin-field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #667eea1a}.check-field{align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex}.classroom-checks{border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;gap:8px 14px;padding:13px;display:flex}.classroom-checks label{align-items:center;gap:5px;font-size:9px;display:flex}.editor-save{justify-self:end}.question-admin-list{gap:12px;display:grid}.question-admin-list article{border:1px solid var(--line);background:#f8f9fc;border-radius:8px;padding:13px}.option-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.option-grid label{grid-template-columns:20px 1fr;align-items:center;display:grid}.option-grid input[type=text],.option-grid input:not([type]){border:1px solid var(--line);border-radius:6px;min-height:38px;padding:7px}.bulk-toolbar{grid-template-columns:1fr 1fr 110px auto;align-items:end;gap:10px;display:grid}.bulk-record-table{min-width:620px;display:grid}.bulk-record-table>header,.bulk-record-table>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(170px,1fr) 80px 80px 80px 55px;align-items:center;gap:8px;min-height:46px;padding:5px 8px;display:grid}.bulk-record-table>header{color:var(--muted);background:#f5f7fb;font-size:9px;font-weight:800}.bulk-record-table strong{font-size:10px}.bulk-record-table input[type=number]{border:1px solid var(--line);border-radius:6px;width:75px;min-height:34px;padding:5px}.bulk-record-table input[type=checkbox]{width:18px;height:18px}.student-practice-section,.student-practice-list{gap:12px;display:grid}.student-practice-type-section{gap:10px;display:grid}.student-practice-type-section>header{color:var(--muted);text-transform:uppercase;justify-content:space-between;align-items:center;gap:10px;font-size:10px;font-weight:900;display:flex}.student-practice-type-section>header span{align-items:center;gap:7px;display:flex}.student-practice-type-section>header svg{width:15px;height:15px;color:var(--deep-blue)}.student-practice-type-section>header b{color:var(--deep-blue);background:#eef1ff;border-radius:999px;padding:5px 8px;font-size:10px}.student-practice-pack{border:1px solid var(--line);background:#f8f9fc;border-radius:8px;gap:10px;padding:14px;display:grid}.student-practice-pack>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.student-practice-pack>header>div{gap:3px;min-width:0;display:grid}.student-practice-pack>header strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.student-practice-pack>header small{color:var(--muted);font-size:9px}.student-practice-metrics{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.student-practice-metrics>div{background:#fff;border-radius:8px;gap:3px;padding:9px;display:grid}.student-practice-metrics span{color:var(--muted);font-size:8px;font-weight:800}.student-practice-metrics strong{color:var(--deep-blue);font-size:17px}.student-practice-exercises{gap:6px;padding-top:4px;display:grid}.student-practice-exercises>div{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) repeat(4,86px);align-items:center;gap:7px;min-height:40px;padding:7px 0;display:grid}.student-practice-exercises>div>span:first-child{gap:2px;min-width:0;display:grid}.student-practice-exercises b{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.student-practice-exercises small{color:var(--muted);font-size:8px}.practice-flag{border:1px solid var(--line);color:#9aa4b8;background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:4px;height:28px;font-size:8px;font-weight:800;display:flex}.practice-flag svg{width:12px;height:12px}.practice-flag.active{color:#fff;background:var(--deep-blue);border-color:var(--deep-blue)}@media (width<=1180px){.teacher-stat-grid{grid-template-columns:repeat(3,1fr)}.student-admin-grid,.admin-card-grid,.schedule-admin-grid{grid-template-columns:repeat(2,1fr)}.teacher-search{display:none}}@media (width<=820px){.teacher-shell{padding-bottom:72px;display:block}.teacher-sidebar{display:none}.teacher-topbar{padding:13px 15px}.teacher-toolbar select{max-width:150px}.teacher-content{padding:18px 14px 35px}.teacher-mobile-nav{z-index:40;padding:7px 6px calc(7px + env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fffffff5;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.teacher-mobile-nav button{color:#8b94a6;background:0 0;border:0;justify-items:center;gap:2px;font-size:7px;display:grid}.teacher-mobile-nav button svg{width:18px}.teacher-mobile-nav button.active{color:var(--deep-blue)}.teacher-overview-columns{grid-template-columns:1fr}.student-detail-header{grid-template-columns:55px 1fr}.student-actions{grid-column:1/-1;overflow-x:auto}.student-summary-grid{grid-template-columns:1fr 1fr}.student-practice-exercises>div{grid-template-columns:minmax(0,1fr) repeat(4,34px)}.practice-flag small{display:none}}@media (width<=560px){.teacher-toolbar select{display:none}.teacher-stat-grid{grid-template-columns:1fr 1fr}.teacher-stat{grid-template-columns:30px 1fr 12px}.teacher-average-grid,.student-practice-metrics{grid-template-columns:1fr 1fr}.student-admin-grid,.admin-card-grid,.schedule-admin-grid,.form-grid,.option-grid{grid-template-columns:1fr}.admin-data-row{grid-template-columns:minmax(0,1fr) 45px 30px 30px}.admin-data-row>b:nth-of-type(2){display:none}.teacher-section-heading{align-items:flex-start}.teacher-section-heading>div:last-child{gap:6px;display:grid}}.theme-toggle svg{width:19px;height:19px}.login-theme-toggle{z-index:3;color:#fff;background:#ffffff24;border-color:#fff3;position:absolute;top:22px;right:22px}.login-theme-toggle:hover{background:#fff3}.alumni-actions{gap:8px;display:flex}:root[data-theme=dark] .app-loading,:root[data-theme=dark] .fatal-state,:root[data-theme=dark] .app-shell,:root[data-theme=dark] .teacher-shell{color:var(--text);background:radial-gradient(circle at top right,#6f83f124,transparent 34%),var(--app-bg)}:root[data-theme=dark] .login-page{background-color:#070b15}:root[data-theme=dark] .login-page:before{background:#050812eb}:root[data-theme=dark] .login-shell,:root[data-theme=dark] .login-panel{background:var(--surface);color:var(--text)}:root[data-theme=dark] .login-brand{background:linear-gradient(145deg,#4d63c8,#352558 68%,#0f6e78)}:root[data-theme=dark] .panel,:root[data-theme=dark] .metric-tile,:root[data-theme=dark] .answer,:root[data-theme=dark] .quiz-row,:root[data-theme=dark] .teacher-stat,:root[data-theme=dark] .student-admin-card,:root[data-theme=dark] .admin-card,:root[data-theme=dark] .schedule-day,:root[data-theme=dark] .teacher-editor{background:var(--surface);color:var(--text);border-color:var(--line)}:root[data-theme=dark] .topbar,:root[data-theme=dark] .teacher-topbar{border-color:var(--line);color:var(--text);background:#0c1220e0}:root[data-theme=dark] .mobile-nav,:root[data-theme=dark] .teacher-mobile-nav{border-color:var(--line);background:#0c1220f5}:root[data-theme=dark] .sidebar,:root[data-theme=dark] .teacher-sidebar{color:#dce4f8;background:#0d1424}:root[data-theme=dark] .sidebar nav button,:root[data-theme=dark] .teacher-sidebar nav button{color:#95a3c2}:root[data-theme=dark] .sidebar nav button.active,:root[data-theme=dark] .sidebar nav button:hover,:root[data-theme=dark] .teacher-sidebar nav button.active,:root[data-theme=dark] .teacher-sidebar nav button:hover{color:#fff;background:#3348a5}:root[data-theme=dark] .icon-button{border-color:var(--line);color:var(--text);background:#151d2d}:root[data-theme=dark] .icon-button:hover{background:#1c2638}:root[data-theme=dark] .mobile-logout-button{color:#ff9aa5;background:#ff6f7e21;border-color:#ff6f7e42}:root[data-theme=dark] .secondary-button{color:#dce4ff;background:#6f83f129;border-color:#8196ff47}:root[data-theme=dark] .danger-button{color:#ff9aa5;background:#ff6f7e21;border-color:#ff6f7e42}:root[data-theme=dark] .count-badge,:root[data-theme=dark] .classroom-pill,:root[data-theme=dark] .subject-chip,:root[data-theme=dark] .question-points,:root[data-theme=dark] .timer,:root[data-theme=dark] .record-scores b{color:#dce4ff;background:#6f83f129}:root[data-theme=dark] .avatar{color:#dce4ff;background:#8196ff33}:root[data-theme=dark] .avatar.large{color:#fff;background:#ffffff1f}:root[data-theme=dark] .field,:root[data-theme=dark] .consent-row{color:#c4cbe0}:root[data-theme=dark] .field-control,:root[data-theme=dark] .invite-info-card,:root[data-theme=dark] .student-account-option,:root[data-theme=dark] .homework-editor textarea,:root[data-theme=dark] .career-question textarea,:root[data-theme=dark] .admin-field input,:root[data-theme=dark] .admin-field select,:root[data-theme=dark] .admin-field textarea,:root[data-theme=dark] .option-grid input[type=text],:root[data-theme=dark] .option-grid input:not([type]),:root[data-theme=dark] .teacher-search,:root[data-theme=dark] .teacher-toolbar select,:root[data-theme=dark] .bulk-record-table input[type=number]{color:var(--text);border-color:var(--line);background:#0b1220}:root[data-theme=dark] .field-control input,:root[data-theme=dark] .teacher-search input{color:var(--text)}:root[data-theme=dark] .field-control input::placeholder,:root[data-theme=dark] .teacher-search input::placeholder,:root[data-theme=dark] .admin-field input::placeholder{color:#73809b}:root[data-theme=dark] .form-error,:root[data-theme=dark] .global-error{color:#ffb3bc;background:#ff6f7e24;border-color:#ff6f7e47}:root[data-theme=dark] .feature-icon{color:var(--purple);background:#b58cff26}:root[data-theme=dark] .feature-icon.blue{color:var(--cyan);background:#24c8f421}:root[data-theme=dark] .feature-icon.orange{color:var(--orange);background:#ffae4424}:root[data-theme=dark] .feature-icon.purple{color:#fff;background:linear-gradient(135deg,#8b5cf6,#2aa7df)}:root[data-theme=dark] .welcome-card,:root[data-theme=dark] .teacher-welcome{background:linear-gradient(135deg,#3449a8,#513071 62%,#0f6871);box-shadow:0 18px 36px #00000047}:root[data-theme=dark] .dial{background:conic-gradient(var(--dial-color) var(--dial),#ffffff1f 0)}:root[data-theme=dark] .dial:after{background:var(--surface)}:root[data-theme=dark] .achievement{background:#0d1422}:root[data-theme=dark] .achievement.unlocked{background:#121d31}:root[data-theme=dark] .achievement>span{background:#1a2334}:root[data-theme=dark] .achievement i,:root[data-theme=dark] .teacher-average-grid i,:root[data-theme=dark] .student-summary-grid i,:root[data-theme=dark] .quiz-progress{background:#ffffff1a}:root[data-theme=dark] .ranking-row{border-bottom-color:var(--line)}:root[data-theme=dark] .ranking-row.current{color:#dce4ff;background:#6f83f12e}:root[data-theme=dark] .rank-number{background:#1a2334}:root[data-theme=dark] .timeline-icon{color:var(--cyan);background:#24c8f421}:root[data-theme=dark] .timeline-icon.purple{color:var(--purple);background:#b58cff24}:root[data-theme=dark] .lesson-time,:root[data-theme=dark] .week-row span,:root[data-theme=dark] .teacher-table-row>b,:root[data-theme=dark] .admin-data-row>b,:root[data-theme=dark] .metric-tile strong,:root[data-theme=dark] .teacher-average-grid strong,:root[data-theme=dark] .student-summary-grid strong,:root[data-theme=dark] .report-data>h2{color:#aebdff}:root[data-theme=dark] .rail-homework p,:root[data-theme=dark] .report-data>p,:root[data-theme=dark] .report-data li,:root[data-theme=dark] .recommended-field p,:root[data-theme=dark] .admin-card p,:root[data-theme=dark] .admin-field>span,:root[data-theme=dark] .classroom-checks legend{color:#b2bdd3}:root[data-theme=dark] .student-practice-pack,:root[data-theme=dark] .student-practice-metrics>div,:root[data-theme=dark] .practice-flag{border-color:var(--line);background:#0b1220}:root[data-theme=dark] .student-practice-type-section>header b{color:#dce4ff;background:#6f83f129}:root[data-theme=dark] .student-practice-type-section>header svg,:root[data-theme=dark] .student-practice-metrics strong{color:#aebdff}:root[data-theme=dark] .practice-flag{color:#8f9cb5}:root[data-theme=dark] .practice-flag.active{color:#fff;background:#4057b7;border-color:#4057b7}.student-practice-metrics{grid-template-columns:repeat(5,1fr)}.student-practice-exercises>div{grid-template-columns:minmax(0,1fr) repeat(5,86px)}.practice-flag.help.active,:root[data-theme=dark] .practice-flag.help.active{background:var(--red);border-color:var(--red)}:root[data-theme=dark] .quiz-row:hover{background:#141e31;border-color:#8196ff61}:root[data-theme=dark] .answer:hover{border-color:#8196ff6b}:root[data-theme=dark] .answer.selected{color:#dce4ff;border-color:var(--blue);background:#6f83f12e}:root[data-theme=dark] .answer>span{background:#1a2334}:root[data-theme=dark] .result-ring{border-color:color-mix(in srgb,var(--score-color),#111827 78%);border-top-color:var(--score-color)}:root[data-theme=dark] .career-complete h3,:root[data-theme=dark] .empty-state h2,:root[data-theme=dark] .empty-state h3,:root[data-theme=dark] .archive-metric>strong,:root[data-theme=dark] .archive-metric>span{color:var(--navy)}:root[data-theme=dark] .info-banner{color:#bdeaff;background:#24c8f41f;border-color:#24c8f440}:root[data-theme=dark] .career-summary,:root[data-theme=dark] .teacher-average-grid>div,:root[data-theme=dark] .student-summary-grid>div,:root[data-theme=dark] .bulk-record-table>header,:root[data-theme=dark] .question-admin-list article{background:#0b1220}:root[data-theme=dark] .settings-modal>header,:root[data-theme=dark] .teacher-editor>header{background:var(--surface);border-color:var(--line)}:root[data-theme=dark] .settings-backdrop{background:#040812b8}:root[data-theme=dark] .classroom-checks{border-color:var(--line)}:root[data-theme=dark] .student-admin-card>svg{color:#7f8ba3}:root[data-theme=dark] .status{color:#aeb7ca;background:#182132}:root[data-theme=dark] .status.active{color:#74e5a7;background:#35d18421}:root[data-theme=dark] .alumni-page{background:radial-gradient(circle at 100% 0,#24c8f42e,#0000 34%),linear-gradient(140deg,#111c3f,#34225d 50%,#0b545d)}:root[data-theme=dark] .alumni-content{color:var(--text)}:root[data-theme=dark] .archive-date{color:#ffffffa6}.practice-layout{grid-template-columns:310px minmax(0,1fr);gap:20px;max-width:1250px;margin:0 auto;display:grid}.practice-sidebar{align-content:start;gap:14px;display:grid}.practice-filters{padding:18px}.practice-filters label{color:var(--navy);gap:6px;margin-top:10px;font-size:10px;font-weight:800;display:grid}.practice-filters select{border:1px solid var(--line);min-height:40px;color:var(--navy);background:#fff;border-radius:8px;padding:0 10px}.practice-pack-list{gap:12px;display:grid}.student-practice-content-tabs{overflow:hidden}.practice-pack-section,.practice-admin-section{gap:10px;display:grid}.practice-pack-section>header,.practice-admin-section>header{color:var(--muted);text-transform:uppercase;justify-content:space-between;align-items:center;padding:0 2px;font-size:10px;font-weight:900;display:flex}.practice-pack-section>header b,.practice-admin-section>header b{min-width:22px;height:22px;color:var(--deep-blue);background:#eef1ff;border-radius:999px;place-items:center;padding:0 7px;font-size:10px;display:grid}.practice-pack-card{border:1px solid var(--line);cursor:pointer;text-align:left;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:76px;padding:13px;display:grid}.practice-pack-card.active{background:#f7f8ff;border-color:#667eea80}.practice-pack-card span:nth-child(2){gap:2px;min-width:0;display:grid}.practice-pack-title-row{align-items:center;gap:6px;min-width:0;display:flex!important}.practice-pack-title-row strong{min-width:0}.practice-pack-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.practice-pack-card small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.practice-pack-card b{color:var(--deep-blue);font-size:12px}.new-pack-badge{color:#0c7c4c;letter-spacing:0;text-transform:uppercase;background:#ecfdf5;border-radius:999px;flex:none;padding:3px 5px;font-size:8px;font-style:normal;font-weight:950}.deadline-mini{align-items:center;gap:4px;width:max-content;min-width:0;max-width:100%;margin-top:3px;font-weight:900;color:var(--orange)!important;font-size:9px!important;display:inline-flex!important}.deadline-mini.expired{color:var(--red)!important}.practice-detail{gap:14px;display:grid}.practice-hero{grid-template-columns:minmax(0,1fr) 110px;align-items:center;gap:18px;min-height:150px;padding:24px;display:grid}.practice-hero h2{margin:0 0 8px;font-size:24px}.practice-hero p{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.practice-hero-actions{align-items:start;gap:10px;margin-top:14px;display:grid}.practice-hero-action-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.practice-hero-learning-row{padding-top:2px}.deadline-badge{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;align-items:center;gap:8px;width:max-content;max-width:100%;padding:8px 10px;display:inline-flex}.deadline-badge.expired{color:var(--red);background:#fff4f5;border-color:#ffdfe3}.deadline-badge span{gap:1px;display:grid}.deadline-badge b{font-size:11px}.deadline-badge small{color:inherit;opacity:.75;font-size:8px}.deadline-text{align-items:center;gap:5px;font-weight:800;display:flex;color:var(--orange)!important;margin:5px 0 0!important;font-size:10px!important}.deadline-text.expired{color:var(--red)!important}.print-pack-button{width:max-content}.practice-progress-ring{color:#fff;background:linear-gradient(135deg,var(--deep-blue),var(--cyan));width:100px;height:100px;box-shadow:var(--shadow);border-radius:50%;place-content:center;justify-items:center;display:grid}.practice-progress-ring svg{width:20px}.practice-progress-ring strong{font-size:18px}.practice-progress-ring span{opacity:.78;font-size:10px}.practice-exercise-list{gap:10px;display:grid}.practice-exercise{overflow:hidden}.practice-exercise.completed{border-color:#16a86b59}.practice-exercise-head{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:34px minmax(0,1fr) 22px 22px;align-items:center;gap:12px;width:100%;min-height:112px;padding:16px 18px;display:grid}.practice-exercise-head>span:nth-child(2){gap:6px;min-width:0;display:grid}.practice-exercise-head strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.practice-exercise-head small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.exercise-statement-preview{border:1px solid var(--line);background:#f7f8fc;border-radius:8px;gap:6px;padding:13px 15px;display:grid}.exercise-statement-preview b{color:var(--deep-blue);text-transform:uppercase;font-size:11px;font-style:normal;font-weight:900}.exercise-statement-preview em{-webkit-line-clamp:3;color:#4f5b70;white-space:pre-wrap;-webkit-box-orient:vertical;font-size:16px;font-style:normal;line-height:1.55;display:-webkit-box;overflow:hidden}.exercise-index{width:30px;height:30px;color:var(--deep-blue);background:#eef1ff;border-radius:50%;place-items:center;font-size:11px;font-weight:800;display:grid}.complete-mark{color:var(--green)}.practice-exercise-body{gap:13px;padding:0 18px 18px;display:grid}.practice-exercise-body p{color:#4f5b70;white-space:pre-wrap;margin:0;font-size:16px;line-height:1.65}.practice-actions{flex-wrap:wrap;gap:8px;display:flex}.practice-actions .active{color:var(--deep-blue);background:#eef1ff;border-color:#667eea73}.reveal-box{border:1px solid var(--line);background:#f7f8fc;border-radius:8px;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:13px;display:grid}.reveal-box>svg{color:var(--orange)}.reveal-box strong{font-size:12px}.self-rating{flex-wrap:wrap;align-items:center;gap:7px;padding-top:4px;display:flex}.self-rating span{color:var(--muted);font-size:10px;font-weight:800}.self-rating button{border:1px solid var(--line);min-height:30px;color:var(--muted);cursor:pointer;background:#fff;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800}.self-rating button.active{color:#fff;background:var(--deep-blue);border-color:var(--deep-blue)}.teacher-practice-grid{grid-template-columns:minmax(330px,.85fr) minmax(0,1.15fr);gap:16px;display:grid}.practice-admin-list{align-content:start;gap:12px;display:grid}.practice-content-tabs{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:0;padding:4px 4px 7px;display:grid;position:relative}.practice-content-tabs:after{content:"";background:var(--deep-blue);border-radius:999px;width:calc(50% - 4px);height:3px;transition:transform .2s;position:absolute;bottom:-1px;left:4px}.practice-content-tabs[data-active=exercise]:after{transform:translate(100%)}.practice-content-tabs button{min-width:0;min-height:42px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:8px 10px;font-weight:900;display:flex}.practice-content-tabs button.active{color:var(--deep-blue);background:#eef1ff}.practice-content-tabs button:disabled{opacity:.45;cursor:not-allowed}.practice-content-tabs button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.practice-content-tabs b{background:#667eea1f;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 6px;font-size:10px;display:grid}.practice-admin-card{gap:10px;padding:14px;display:grid}.practice-admin-card.active{border-color:#667eea80}.practice-admin-card>button{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:10px;display:grid}.practice-admin-card>button span:nth-child(2){min-width:0;display:grid}.practice-admin-card>button strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.practice-admin-card>button small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.practice-admin-meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.practice-admin-meta b{color:var(--deep-blue);font-size:10px}.practice-admin-card footer{border-top:1px solid var(--line);align-items:center;gap:8px;padding-top:8px;display:flex}.practice-progress-panel{min-width:0}.practice-stat-strip{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px;display:grid}.practice-stat-strip>div{background:#f7f8fc;border-radius:8px;gap:4px;padding:12px;display:grid}.practice-stat-strip span{color:var(--muted);font-size:9px}.practice-stat-strip strong{color:var(--deep-blue);font-size:20px}.practice-exercise-stats{gap:6px;margin-bottom:12px;display:grid}.practice-exercise-stats>div{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) 54px 54px 54px;align-items:center;gap:8px;min-height:36px;padding:6px 0;font-size:10px;display:grid}.practice-exercise-stats span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.practice-exercise-stats b{color:var(--deep-blue);align-items:center;gap:4px;display:flex}.practice-editor{width:min(980px,100%)}.student-checks{max-height:145px;overflow:auto}.practice-editor-exercises{gap:12px;display:grid}.practice-question-editor{border:1px solid var(--line);background:#f8f9fc;border-radius:8px;padding:13px;position:relative}.practice-question-editor>.danger-icon{flex-basis:32px;width:32px;height:32px;position:absolute;top:10px;right:10px}.practice-admin-header-actions{align-items:center;gap:8px;display:flex}.bulk-check{color:var(--muted);text-transform:none;cursor:pointer;align-items:center;gap:5px;font-size:10px;font-weight:900;display:inline-flex}.bulk-check input,.practice-card-check input{width:16px;height:16px;accent-color:var(--deep-blue);cursor:pointer}.practice-bulk-bar{color:var(--deep-blue);background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.practice-bulk-bar>span{font-size:10px;font-weight:900}.practice-bulk-actions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.practice-bulk-actions .secondary-button{min-height:34px;padding:7px 10px;font-size:10px}.practice-admin-card.selectable{grid-template-columns:26px minmax(0,1fr);align-items:start}.practice-admin-card.selectable>button,.practice-admin-card.selectable>.practice-admin-meta,.practice-admin-card.selectable>footer{grid-column:2}.practice-card-check{grid-area:1/1/span 3;place-items:start center;padding-top:12px;display:grid}.practice-heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.pdf-preview-backdrop{z-index:130;padding:18px}.pdf-preview-modal{width:min(1050px,100%);height:min(88vh,860px);color:var(--navy);grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.pdf-preview-modal>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.pdf-preview-modal>header h2{text-overflow:ellipsis;white-space:nowrap;max-width:520px;margin:0;font-size:18px;overflow:hidden}.pdf-preview-modal>header>div:last-child{align-items:center;gap:8px;display:flex}.pdf-preview-modal iframe{background:#eef1f7;border:0;width:100%;height:100%}.csv-preview-modal{flex-direction:column;width:min(940px,100%);max-height:90vh;display:flex}.csv-preview-modal>header p,.csv-paste-modal>header p{color:var(--muted);margin:5px 0 0;font-size:11px}.csv-paste-modal{width:min(920px,100%)}.csv-paste-modal form{gap:12px;display:grid}.csv-paste-modal textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:360px;color:var(--navy);background:#fff;border-radius:8px;outline:0;padding:13px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.55}.csv-paste-modal textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #667eea1f}.csv-preview-alert{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;gap:5px;margin:14px 0;padding:12px;display:grid}.csv-preview-alert p{margin:0;font-size:11px}.csv-preview-note{color:var(--deep-blue);background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;gap:3px;margin:-3px 0 14px;padding:11px 12px;display:grid}.csv-preview-note strong{font-size:11px}.csv-preview-note span{font-size:10px;line-height:1.45}.csv-preview-summary{grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0;display:grid}.csv-preview-summary>div{background:#f7f8fc;border-radius:8px;gap:4px;padding:11px;display:grid}.csv-preview-summary span{color:var(--muted);font-size:9px}.csv-preview-summary strong{color:var(--deep-blue);font-size:18px}.csv-preview-list{gap:10px;min-height:0;padding-right:3px;display:grid;overflow:auto}.csv-preview-card{border:1px solid var(--line);background:#f8f9fc;border-radius:8px;gap:8px;padding:13px;display:grid}.csv-preview-card header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.csv-preview-card header>div{gap:3px;min-width:0;display:grid}.csv-preview-card strong{font-size:12px}.csv-preview-card small,.csv-preview-card p,.csv-preview-meta span{color:var(--muted);font-size:9px}.csv-preview-card p{margin:0}.csv-preview-meta{flex-wrap:wrap;gap:8px;display:flex}.csv-preview-meta span{color:var(--deep-blue);background:#eef1ff;border-radius:999px;padding:5px 7px;font-weight:800}.csv-preview-card ul{border-top:1px solid var(--line);gap:5px;margin:0;padding:8px 0 0;list-style:none;display:grid}.csv-preview-card li{gap:2px;display:grid}.csv-preview-card li b{font-size:10px}.csv-preview-actions{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:8px;margin-top:14px;padding-top:12px;display:flex}.practice-formatted-text{color:#4f5b70;gap:4px;margin:0;font-size:16px;line-height:1.6;display:grid}.practice-formatted-text span{overflow-wrap:anywhere;min-width:0;display:block}.practice-formatted-text.code{gap:2px;font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;line-height:1.55}.learn-pack-button{width:max-content}.learning-player-backdrop{z-index:145;padding:18px}.learning-player{width:min(1160px,100%);height:min(90vh,820px);color:var(--navy);background:var(--surface);grid-template-columns:245px minmax(0,1fr);display:grid;overflow:hidden}.learning-player-empty{grid-template-columns:1fr}.learning-rail{border-right:1px solid var(--line);background:linear-gradient(#4057b714,#0000);grid-template-rows:auto auto auto auto minmax(0,1fr);gap:14px;min-height:0;padding:24px 18px;display:grid}.learning-rail h2{margin:0;font-size:20px}.learning-rail-progress{background:#667eea14;border:1px solid #667eea38;border-radius:10px;gap:7px;padding:12px;display:grid}.learning-rail-progress span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:900}.learning-rail-progress strong{color:var(--deep-blue);font-size:24px;line-height:1}.learning-rail-progress div{background:#e5e8f1;border-radius:999px;height:7px;overflow:hidden}.learning-rail-progress i{background:linear-gradient(90deg,var(--deep-blue),var(--cyan));border-radius:999px;height:100%;transition:width .22s;display:block}.learning-rail-progress small{color:var(--muted);font-size:10px;font-weight:800}.learning-start-chip{width:100%;min-height:40px;font-size:11px}.learning-step-list{gap:10px;min-height:0;padding:4px 2px 8px;display:grid;overflow:auto}.learning-step{min-height:36px;color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;display:grid}.learning-step span{border:1px solid var(--line);background:var(--surface);border-radius:50%;place-items:center;width:34px;height:34px;font-size:11px;font-weight:900;display:grid}.learning-step small{text-overflow:ellipsis;white-space:nowrap;background:#667eea1a;border-radius:7px;min-width:0;padding:6px 8px;font-size:9px;font-weight:900;overflow:hidden}.learning-step.active span{color:#fff;background:linear-gradient(135deg,var(--deep-blue),var(--cyan));border-color:#0000;box-shadow:0 8px 18px #24c8f429}.learning-step.active small{color:var(--deep-blue);background:#24c8f429}.learning-step.completed span{color:#fff;background:var(--green);border-color:#16a86b59}.learning-step.completed small{color:#0c7c4c;background:#ecfdf5}.learning-step.repeat span{color:var(--red);background:#fff4f5;border-color:#ff6f7e73}.learning-step.repeat small{color:var(--red);background:#fff4f5}.learning-stage-empty{grid-template-rows:auto minmax(0,1fr);padding-bottom:24px}.learning-stage-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.learning-stage-header h2{margin:0;font-size:24px;line-height:1.2}.learning-mode-note{width:max-content;max-width:100%;color:var(--red);background:#fff4f5;border-radius:999px;margin-top:7px;padding:6px 9px;font-size:10px;font-weight:900;display:inline-flex}.learning-card{border:1px solid var(--line);background:#fbfcff;border-radius:12px;gap:14px;padding:24px;display:grid}.learning-card p{color:#4f5b70;white-space:pre-wrap;margin:0;font-size:20px;line-height:1.65}.learning-card .practice-formatted-text{font-size:20px;line-height:1.65}.learning-card .practice-formatted-text.code{font-size:15px}.learning-pill{width:max-content;max-width:100%;color:var(--deep-blue);text-transform:uppercase;background:#eef1ff;border-radius:7px;align-items:center;gap:7px;padding:7px 10px;font-size:11px;font-weight:900;display:inline-flex}.learning-card-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:8px;display:flex}.learning-card-actions .active{color:var(--deep-blue);background:#eef1ff;border-color:#667eea73}.learning-reveal-grid{grid-template-columns:1fr;gap:12px;display:grid}.learning-reveal-card{padding:18px}.learning-reveal-card.hint .learning-pill{color:var(--orange);background:#fff7ed}.learning-reveal-card.answer .learning-pill{color:var(--green);background:#ecfdf5}.learning-self-check{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.learning-self-check>span{color:var(--muted);font-size:11px;font-weight:900}.learning-self-check button{border:1px solid var(--line);background:var(--surface);min-height:38px;color:var(--muted);cursor:pointer;border-radius:999px;padding:8px 14px;font-size:11px;font-weight:900}.learning-self-check button.active.easy{color:#0c7c4c;background:#ecfdf5;border-color:#16a86b59}.learning-self-check button.active.medium{color:#9a5b00;background:#fff7ed;border-color:#ed8b1852}.learning-self-check button.active.hard{color:var(--red);background:#fff4f5;border-color:#ffdfe3}.learning-footer{border-top:1px solid var(--line);background:linear-gradient(180deg,#ffffffc7,var(--surface) 42%);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 0 18px;display:grid;position:sticky;bottom:0}.learning-footer-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.learning-summary{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.learning-summary span{color:var(--muted);background:#f4f6fb;border-radius:999px;align-items:center;gap:5px;padding:7px 9px;font-size:10px;font-weight:800;display:inline-flex}.learning-summary b{color:var(--deep-blue)}.learning-helper-section{gap:10px}.learning-helper-section .learning-reveal-card{gap:0;padding:0;overflow:hidden}.learning-reveal-card.revealed{border-color:#667eea57}.learning-reveal-toggle{width:100%;min-height:58px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;display:flex}.learning-reveal-toggle>svg{color:#8f99ac;flex:none}.learning-reveal-scroll{max-height:210px;padding:0 18px 18px;overflow:auto}.learning-reveal-scroll .practice-formatted-text,.learning-reveal-scroll p{font-size:16px}.learning-reveal-scroll .practice-formatted-text.code{font-size:14px}.learning-self-check button.needs-help{justify-content:center;align-items:center;gap:6px;display:inline-flex}.learning-footer-actions .learning-discuss-button{white-space:nowrap}.practice-actions .danger,.learning-self-check button.active.needs-help,.learning-footer-actions .learning-discuss-button.active.danger{color:var(--red);background:#fff4f5;border-color:#ffdfe3}.learning-rail-attention{border:1px solid var(--line);color:var(--muted);background:#667eea14;border-radius:10px;align-items:center;gap:8px;padding:10px 12px;font-size:11px;font-weight:900;display:flex}.learning-rail-attention svg{color:var(--deep-blue)}.learning-rail-attention b{color:var(--deep-blue);font-size:16px}.learning-rail-attention.active{color:var(--red);background:#fff4f5;border-color:#ffdfe3}.learning-rail-attention.active svg,.learning-rail-attention.active b{color:var(--red)}.learning-stage{flex-direction:column;gap:14px;padding:24px;display:flex;overflow:auto}.learning-stage-scroll{align-content:start;gap:14px;min-height:0;padding:0;display:grid;overflow:visible}.learning-question-card{align-content:start;min-height:0}.learning-question-scroll{min-height:0;max-height:none;padding-right:0;overflow:visible}.learning-question-scroll .practice-formatted-text,.learning-question-scroll p{font-size:19px;line-height:1.55}.learning-reveal-scroll{max-height:none;overflow:visible}.learning-footer{grid-template-columns:auto minmax(0,1fr);padding-bottom:0;position:static}:root[data-theme=dark] .practice-formatted-text{color:#b8c3d8}:root[data-theme=dark] .new-pack-badge{color:#9af0bd;background:#35d18421}:root[data-theme=dark] .learning-rail-attention{color:#dce4ff;background:#6f83f121;border-color:#8196ff3d}:root[data-theme=dark] .learning-rail-attention svg,:root[data-theme=dark] .learning-rail-attention b{color:#aebdff}:root[data-theme=dark] .learning-rail-attention.active{color:#ffb3bc;background:#ff6f7e21;border-color:#ff6f7e42}:root[data-theme=dark] .learning-rail-attention.active svg,:root[data-theme=dark] .learning-rail-attention.active b{color:#ffb3bc}:root[data-theme=dark] .learning-rail{background:linear-gradient(#6f83f11f,#0000)}:root[data-theme=dark] .learning-rail-progress{background:#6f83f11f;border-color:#8196ff3d}:root[data-theme=dark] .learning-rail-progress strong{color:#dce4ff}:root[data-theme=dark] .learning-rail-progress div{background:#ffffff1a}:root[data-theme=dark] .learning-step span{border-color:var(--line);background:#0b1220}:root[data-theme=dark] .learning-step small{color:#dce4ff;background:#6f83f12e}:root[data-theme=dark] .learning-step.completed small{color:#9af0bd;background:#35d18421}:root[data-theme=dark] .learning-step.repeat span{color:#ffb3bc;background:#ff6f7e21;border-color:#ff6f7e42}:root[data-theme=dark] .learning-step.repeat small,:root[data-theme=dark] .learning-mode-note{color:#ffb3bc;background:#ff6f7e21}:root[data-theme=dark] .learning-card{border-color:var(--line);background:#0b1220}:root[data-theme=dark] .learning-card p{color:#b8c3d8}:root[data-theme=dark] .learning-pill{color:#dce4ff;background:#6f83f12e}:root[data-theme=dark] .learning-reveal-card.hint .learning-pill{color:#fed7aa;background:#fb923c1f}:root[data-theme=dark] .learning-reveal-card.answer .learning-pill{color:#9af0bd;background:#35d18421}:root[data-theme=dark] .learning-card-actions .active{color:#dce4ff;background:#6f83f12e;border-color:#8196ff5c}:root[data-theme=dark] .learning-self-check button{border-color:var(--line);background:#0b1220}:root[data-theme=dark] .learning-self-check button.active.easy{color:#9af0bd;background:#35d18421;border-color:#35d18447}:root[data-theme=dark] .learning-self-check button.active.medium{color:#fed7aa;background:#fb923c1f;border-color:#fb923c47}:root[data-theme=dark] .learning-self-check button.active.hard{color:#ffb3bc;background:#ff6f7e21;border-color:#ff6f7e42}:root[data-theme=dark] .learning-footer{background:linear-gradient(180deg,#111827c7,var(--surface) 42%)}:root[data-theme=dark] .learning-summary span{color:#dce4ff;background:#6f83f129}:root[data-theme=dark] .learning-reveal-card.revealed{border-color:#8196ff57}:root[data-theme=dark] .learning-reveal-toggle>svg{color:#dce4ff}:root[data-theme=dark] .practice-actions .danger,:root[data-theme=dark] .learning-self-check button.active.needs-help,:root[data-theme=dark] .learning-footer-actions .learning-discuss-button.active.danger{color:#ffb3bc;background:#ff6f7e21;border-color:#ff6f7e42}.practice-exercise-progress-section{border:1px solid var(--line);background:#fbfcff;border-radius:8px;gap:10px;margin-bottom:12px;padding:12px;display:grid}.practice-exercise-progress-section>header{justify-content:space-between;align-items:center;gap:10px;display:flex}.practice-exercise-progress-section>header>div{gap:2px;display:grid}.practice-exercise-progress-section>header strong{font-size:12px}.practice-exercise-toggle{min-height:36px;padding:7px 10px;font-size:10px}:root[data-theme=dark] .practice-exercise-progress-section{border-color:var(--line);background:#0b1220}.practice-editor-exercise-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.practice-question-editor.collapsed{padding:10px 13px}.practice-question-editor-head{grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:10px;display:grid}.practice-question-toggle{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:34px minmax(0,1fr) 18px;align-items:center;gap:10px;display:grid}.practice-question-toggle>span:nth-child(2){gap:2px;min-width:0;display:grid}.practice-question-toggle strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.practice-question-toggle small{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:9px;overflow:hidden}.practice-question-toggle>svg{color:#8f99ac}.practice-question-delete{flex-basis:32px;width:32px;height:32px}.practice-question-editor-body{border-top:1px solid var(--line);gap:12px;margin-top:12px;padding-top:12px;display:grid}:root[data-theme=dark] .practice-filters select,:root[data-theme=dark] .self-rating button,:root[data-theme=dark] .csv-paste-modal textarea{color:var(--text);border-color:var(--line);background:#0b1220}:root[data-theme=dark] .practice-content-tabs{border-color:var(--line)}:root[data-theme=dark] .practice-content-tabs:after{background:#aebdff}:root[data-theme=dark] .practice-content-tabs button{color:#8f9cb5}:root[data-theme=dark] .practice-content-tabs button.active{color:#dce4ff;background:#6f83f12e}:root[data-theme=dark] .practice-pack-section>header b,:root[data-theme=dark] .practice-admin-section>header b{color:#dce4ff;background:#6f83f129}:root[data-theme=dark] .practice-pack-card.active,:root[data-theme=dark] .practice-admin-card.active{background:#141e31;border-color:#8196ff73}:root[data-theme=dark] .exercise-index{color:#dce4ff;background:#6f83f129}:root[data-theme=dark] .practice-exercise-body p,:root[data-theme=dark] .exercise-statement-preview em{color:#b8c3d8}:root[data-theme=dark] .exercise-statement-preview b{color:#aebdff}:root[data-theme=dark] .practice-actions .active{color:#dce4ff;background:#6f83f12e;border-color:#8196ff5c}:root[data-theme=dark] .reveal-box,:root[data-theme=dark] .exercise-statement-preview,:root[data-theme=dark] .practice-stat-strip>div,:root[data-theme=dark] .practice-question-editor,:root[data-theme=dark] .csv-preview-summary>div,:root[data-theme=dark] .csv-preview-card{border-color:var(--line);background:#0b1220}:root[data-theme=dark] .pdf-preview-modal>header{border-color:var(--line)}:root[data-theme=dark] .pdf-preview-modal iframe{background:#0b1220}:root[data-theme=dark] .deadline-badge{color:#fed7aa;background:#fb923c1f;border-color:#fb923c47}:root[data-theme=dark] .deadline-badge.expired{color:#ffb3bc;background:#ff6f7e21;border-color:#ff6f7e42}:root[data-theme=dark] .practice-admin-meta b,:root[data-theme=dark] .practice-pack-card b,:root[data-theme=dark] .practice-stat-strip strong,:root[data-theme=dark] .practice-exercise-stats b,:root[data-theme=dark] .csv-preview-summary strong{color:#aebdff}:root[data-theme=dark] .csv-preview-alert{color:#fed7aa;background:#fb923c1f;border-color:#fb923c47}:root[data-theme=dark] .csv-preview-note{color:#dce4ff;background:#6f83f129;border-color:#8196ff52}:root[data-theme=dark] .csv-preview-meta span{color:#dce4ff;background:#6f83f129}.practice-stat-strip{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.practice-student-progress{grid-template-columns:minmax(0,1fr) 55px 70px 65px 78px}:root[data-theme=dark] .practice-actions .danger,:root[data-theme=dark] .practice-actions .danger.active,:root[data-theme=dark] .learning-self-check button.active.needs-help,:root[data-theme=dark] .learning-footer-actions .learning-discuss-button.active.danger{color:#ffb3bc;background:#ff6f7e21;border-color:#ff6f7e42}:root[data-theme=dark] .practice-bulk-bar{color:#dce4ff;background:#6f83f129;border-color:#8196ff52}@media (width<=1020px){.practice-layout,.teacher-practice-grid,.practice-sidebar{grid-template-columns:1fr}.practice-pack-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.mobile-nav{grid-template-columns:repeat(6,1fr)}.practice-hero{grid-template-columns:1fr}.practice-progress-ring{width:88px;height:88px}.practice-pack-list{grid-template-columns:1fr}.practice-stat-strip,.csv-preview-summary{grid-template-columns:1fr 1fr}.practice-editor{max-height:92vh}.student-checks{max-height:120px}.learning-player-backdrop{padding:8px}.learning-player{grid-template-columns:1fr;height:94vh}.learning-rail{border-right:0;border-bottom:1px solid var(--line);grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:14px}.learning-rail>div:first-child{display:none}.learning-rail-progress{min-width:0;padding:10px}.learning-start-chip{align-self:stretch;width:max-content}.learning-step-list{grid-column:1/-1;padding:2px;display:flex;overflow-x:auto}.learning-step{grid-template-columns:34px;gap:0;min-width:38px}.learning-step small{display:none}.learning-stage{grid-template-rows:auto minmax(0,auto) auto auto auto;gap:12px;padding:16px 16px 0}.learning-stage-header h2{font-size:19px}.learning-card{padding:18px}.learning-question-card{min-height:170px}.learning-footer{grid-template-columns:1fr;padding:12px 0 16px;position:static}.learning-footer-actions{grid-template-columns:1fr;gap:8px;display:grid}.learning-footer button{width:100%}.learning-summary{order:-1}.student-practice-exercises>div{grid-template-columns:minmax(0,1fr) repeat(5,34px)}.practice-exercise-stats>div{grid-template-columns:minmax(0,1fr) repeat(4,42px)}}@media (width<=520px){.practice-heading-actions,.csv-preview-actions{justify-content:stretch;width:100%}.practice-heading-actions button,.csv-preview-actions button,.print-pack-button{flex:1;width:100%}.practice-actions{grid-template-columns:1fr 1fr;display:grid}.practice-actions button{padding:8px;font-size:10px}.practice-hero{padding:18px}.practice-hero h2{font-size:20px}.practice-exercise-head{grid-template-columns:30px minmax(0,1fr) 18px 18px;padding:12px 10px}.exercise-statement-preview{padding:10px}.exercise-statement-preview em{-webkit-line-clamp:4;font-size:14px}.practice-exercise-body{padding:0 10px 12px}.practice-exercise-body p{font-size:14px}.pdf-preview-backdrop{padding:8px}.pdf-preview-modal{height:94vh}.pdf-preview-modal>header{align-items:flex-start;display:grid}.pdf-preview-modal>header>div:last-child{grid-template-columns:1fr 1fr 42px;width:100%;display:grid}.pdf-preview-modal>header h2{white-space:normal;max-width:100%}.practice-exercise-progress-section>header{display:grid}.practice-exercise-toggle{width:100%}.practice-editor-exercise-actions{grid-template-columns:1fr;width:100%;display:grid}.practice-question-toggle{grid-template-columns:30px minmax(0,1fr) 16px}.practice-question-editor-head{grid-template-columns:minmax(0,1fr) 32px}.practice-bulk-bar{display:grid}.practice-bulk-actions{grid-template-columns:1fr 1fr;display:grid}.practice-admin-card.selectable{grid-template-columns:24px minmax(0,1fr)}.learning-stage-header{align-items:flex-start}.learning-stage-header h2{font-size:17px}.learning-card p,.learning-card .practice-formatted-text{font-size:16px}.learning-card .practice-formatted-text.code{font-size:13px}.learning-card-actions{grid-template-columns:1fr;display:grid}.learning-card-actions button{width:100%}.learning-self-check{grid-template-columns:1fr;display:grid}.learning-self-check button{width:100%}.learning-summary{grid-template-columns:1fr;display:grid}.learning-progress-row{font-size:10px}.practice-student-progress{grid-template-columns:minmax(0,1fr) 45px 52px 52px}.practice-student-progress b:last-child{display:block}.practice-stat-strip{grid-template-columns:1fr 1fr}.practice-hero-actions{width:100%;display:grid}.practice-hero-action-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.practice-hero-actions .deadline-badge{grid-column:1/-1;width:100%}.practice-hero-actions .print-pack-button{width:auto;min-width:0;padding-inline:10px}.practice-hero-actions .learn-pack-button{grid-column:1/-1;width:100%}}.parent-page{gap:18px;max-width:1250px;margin:0 auto;display:grid}.parent-child-selector{gap:10px;padding:2px 2px 8px;display:flex;overflow-x:auto}.parent-child-chip{border:1px solid var(--line);background:var(--surface);min-width:220px;box-shadow:var(--shadow);cursor:pointer;text-align:left;border-radius:8px;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;padding:11px;display:grid}.parent-child-chip.active{background:#f7f8ff;border-color:#667eea80}.parent-child-chip>span:last-child{gap:2px;min-width:0;display:grid}.parent-child-chip strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.parent-child-chip small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.parent-dashboard-grid{grid-template-columns:minmax(0,1fr) 340px;gap:18px;display:grid}.parent-main-column,.parent-side-column,.parent-archive-view{align-content:start;gap:16px;display:grid}.parent-hero{min-height:155px}.parent-metric-grid{grid-template-columns:repeat(6,1fr);gap:10px;display:grid}.parent-metric{--tone:var(--deep-blue);align-content:center;gap:8px;min-height:92px;padding:14px;display:grid}.parent-metric.blue{--tone:var(--cyan)}.parent-metric.green{--tone:var(--green)}.parent-metric.purple{--tone:var(--purple)}.parent-metric.orange{--tone:var(--orange)}.parent-metric.cyan{--tone:var(--deep-blue)}.parent-metric.red{--tone:var(--red)}.parent-metric>svg{width:21px;color:var(--tone)}.parent-metric span{gap:2px;display:grid}.parent-metric small{color:var(--muted);font-size:9px}.parent-metric strong{color:var(--tone);font-size:20px}.parent-practice-section{gap:14px;padding:20px;display:grid}.parent-practice-section>header,.parent-side-card>header,.parent-practice-pack>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.parent-practice-section h2,.parent-side-card h2{margin:0;font-size:18px}.parent-practice-overview{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.parent-practice-overview>div,.parent-quiz-summary>div{background:#f7f8fc;border-radius:8px;gap:3px;padding:11px;display:grid}.parent-practice-overview span,.parent-quiz-summary span{color:var(--muted);font-size:9px;font-weight:800}.parent-practice-overview strong,.parent-quiz-summary strong{color:var(--deep-blue);font-size:19px}.parent-practice-list{gap:12px;display:grid}.parent-practice-type-section{gap:10px;display:grid}.parent-practice-type-section>header{color:var(--muted);text-transform:uppercase;justify-content:space-between;align-items:center;gap:10px;font-size:10px;font-weight:900;display:flex}.parent-practice-type-section>header span{align-items:center;gap:7px;display:flex}.parent-practice-type-section>header svg{color:var(--deep-blue)}.parent-practice-type-section>header b{color:var(--deep-blue);background:#eef1ff;border-radius:999px;padding:5px 8px;font-size:10px}.parent-practice-type-overview{grid-template-columns:repeat(3,1fr)}.parent-practice-pack{border:1px solid var(--line);background:#f8f9fc;border-radius:8px;gap:9px;padding:14px;display:grid}.parent-practice-pack header>div{gap:2px;min-width:0;display:grid}.parent-practice-pack header strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.parent-practice-pack header small{color:var(--muted);font-size:9px}.parent-practice-pack header b{color:var(--deep-blue);font-size:13px}.parent-progress-bar{background:#e5e8f1;border-radius:999px;height:6px;overflow:hidden}.parent-progress-bar span{background:linear-gradient(90deg,var(--deep-blue),var(--green));border-radius:999px;height:100%;display:block}.parent-practice-mini{flex-wrap:wrap;gap:7px;display:flex}.parent-practice-mini span{color:var(--deep-blue);background:#eef1ff;border-radius:999px;align-items:center;gap:5px;padding:6px 8px;font-size:9px;font-weight:800;display:inline-flex}.parent-exercise-status-list{gap:6px;padding-top:4px;display:grid}.parent-exercise-status-list>div{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) repeat(4,30px);align-items:center;gap:6px;padding:7px 0;display:grid}.parent-exercise-status-list>div>span:first-child{gap:2px;min-width:0;display:grid}.parent-exercise-status-list b{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10px;line-height:1.35;display:-webkit-box;overflow:hidden}.parent-exercise-status-list small{color:var(--muted);font-size:8px}.parent-practice-dot{border:1px solid var(--line);color:#9aa4b8;background:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:9px;font-weight:900;display:grid}.parent-practice-dot.active{color:#fff;background:var(--deep-blue);border-color:var(--deep-blue)}.parent-side-card{gap:10px;padding:18px;display:grid}.parent-side-card>header>svg{color:var(--orange)}.parent-activity-row{border-top:1px solid var(--line);grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 0;display:grid}.parent-activity-row>span:nth-child(2){gap:2px;min-width:0;display:grid}.parent-activity-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.parent-activity-row small{color:var(--muted);font-size:8px}.parent-activity-row>b{color:var(--deep-blue);font-size:11px}.parent-quiz-summary{grid-template-columns:1fr 1fr;gap:8px;display:grid}.parent-shell .topbar h1{text-overflow:ellipsis;white-space:nowrap;max-width:360px;overflow:hidden}:root[data-theme=dark] .parent-child-chip.active{background:#141e31;border-color:#8196ff73}:root[data-theme=dark] .parent-practice-overview>div,:root[data-theme=dark] .parent-quiz-summary>div,:root[data-theme=dark] .parent-practice-pack{border-color:var(--line);background:#0b1220}:root[data-theme=dark] .parent-practice-type-section>header b{color:#dce4ff;background:#6f83f129}:root[data-theme=dark] .parent-practice-type-section>header svg,:root[data-theme=dark] .parent-practice-overview strong,:root[data-theme=dark] .parent-quiz-summary strong,:root[data-theme=dark] .parent-practice-pack header b,:root[data-theme=dark] .parent-activity-row>b{color:#aebdff}:root[data-theme=dark] .parent-progress-bar{background:#ffffff1a}:root[data-theme=dark] .parent-practice-mini span{color:#dce4ff;background:#6f83f129}:root[data-theme=dark] .parent-practice-dot{color:#8f9cb5;border-color:var(--line);background:#0b1220}:root[data-theme=dark] .parent-practice-dot.active{color:#fff;background:#4057b7;border-color:#4057b7}.parent-metric{border:1px solid var(--line);text-align:left;cursor:pointer;font-family:inherit}.parent-metric:not(:disabled):hover,.parent-metric.active{border-color:#667eea7a;transform:translateY(-1px);box-shadow:0 16px 30px #2b3a821f}.parent-metric:disabled{cursor:default}.parent-metric em{color:var(--muted);font-size:8px;font-style:normal;font-weight:800}.parent-detail-panel{gap:12px;padding:18px;display:grid}.parent-detail-panel>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.parent-detail-panel h2{margin:0;font-size:18px}.parent-detail-list{gap:6px;display:grid}.parent-detail-row{border-top:1px solid var(--line);grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 0;display:grid}.parent-detail-row>span:nth-child(2){gap:2px;min-width:0;display:grid}.parent-detail-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.parent-detail-row small{color:var(--muted);font-size:9px}.parent-detail-row em{-webkit-line-clamp:2;color:#6b7487;-webkit-box-orient:vertical;font-size:9px;font-style:normal;line-height:1.35;display:-webkit-box;overflow:hidden}.parent-detail-row>b{font-size:13px}.parent-practice-mini span.expired{color:var(--red);background:#fff4f5}.parent-practice-overview,.parent-practice-type-overview{grid-template-columns:repeat(4,1fr)}.parent-practice-mini span.attention{color:var(--red);background:#fff4f5}:root[data-theme=dark] .parent-detail-row em{color:#9aa8c0}:root[data-theme=dark] .parent-practice-mini span.expired,:root[data-theme=dark] .parent-practice-mini span.attention{color:#ffb3bc;background:#ff6f7e21}@media (width<=1180px){.parent-dashboard-grid{grid-template-columns:1fr}.parent-side-column{grid-template-columns:1fr 1fr}.parent-metric-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=820px){.parent-side-column{grid-template-columns:1fr}.parent-child-chip{min-width:190px}.parent-metric-grid,.parent-practice-overview{grid-template-columns:1fr 1fr}.parent-shell .topbar h1{max-width:180px}}@media (width<=520px){.parent-metric-grid{grid-template-columns:1fr 1fr}.parent-practice-section{padding:15px}.parent-exercise-status-list>div{grid-template-columns:minmax(0,1fr) repeat(4,24px)}.parent-practice-dot{width:24px;height:24px;font-size:8px}.parent-practice-dot svg{width:12px;height:12px}.parent-practice-mini span{font-size:8px}.parent-child-chip{min-width:165px}.parent-detail-panel>header{align-items:flex-start;display:grid}.parent-detail-panel>header .secondary-button{width:100%}.parent-detail-row{grid-template-columns:32px minmax(0,1fr) auto}.parent-detail-row small{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}@media (width<=820px){.learning-rail{grid-template-rows:auto auto auto minmax(0,1fr);grid-template-columns:1fr}.learning-stage{display:flex;overflow:auto}.learning-stage-scroll{gap:12px}.learning-question-card{min-height:0}.learning-question-scroll,.learning-reveal-scroll{max-height:none;overflow:visible}.learning-rail-attention{grid-column:1/-1}.learning-start-chip{width:100%}.learning-footer-actions{justify-self:stretch}}@media (width<=520px){.learning-question-scroll .practice-formatted-text,.learning-question-scroll p{font-size:16px;line-height:1.5}.learning-reveal-scroll{max-height:none}}@media (width<=640px){.learning-player-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#070b15;padding:0;display:block;overflow:auto}.learning-player{width:100%;height:auto;min-height:100dvh;box-shadow:none;border:0;border-radius:0;display:block;overflow:visible}.learning-rail{border-right:0;border-bottom:1px solid var(--line);grid-template-rows:auto auto auto;grid-template-columns:1fr;gap:12px;padding:16px;display:grid}.learning-rail>div:first-child{display:none}.learning-rail-progress{padding:14px}.learning-rail-progress strong{font-size:26px}.learning-rail-progress small{font-size:11px}.learning-rail-attention{min-height:40px;padding:8px 10px}.learning-start-chip{align-self:auto;width:100%;min-height:42px}.learning-step-list{scroll-snap-type:x proximity;gap:10px;padding:2px 0 4px;display:flex;overflow-x:auto}.learning-step{scroll-snap-align:start;grid-template-columns:1fr;justify-items:center;gap:0;min-width:46px;display:grid}.learning-step span{width:40px;height:40px}.learning-step small{display:none}.learning-stage{min-height:auto;padding:18px 16px calc(250px + env(safe-area-inset-bottom));display:block;overflow:visible}.learning-stage-header{align-items:flex-start;margin-bottom:14px}.learning-stage-header h2{font-size:22px;line-height:1.18}.learning-stage-header .icon-button{flex-basis:48px;width:48px;height:48px}.learning-stage-scroll{gap:14px;display:grid;overflow:visible}.learning-card{border-radius:12px;gap:12px;padding:16px}.learning-question-card{min-height:auto}.learning-pill{font-size:11px;position:static}.learning-question-scroll,.learning-reveal-scroll{max-height:none;padding-right:0;overflow:visible}.learning-question-scroll .practice-formatted-text,.learning-question-scroll p{font-size:18px;line-height:1.55}.learning-helper-section .learning-reveal-card,.learning-helper-section .learning-reveal-card.open{max-height:none;overflow:visible}.learning-reveal-toggle{min-height:52px;padding:12px 14px}.learning-reveal-scroll{padding:0 14px 14px}.learning-reveal-scroll .practice-formatted-text,.learning-reveal-scroll p{font-size:17px;line-height:1.55}.learning-reveal-scroll .practice-formatted-text.code{font-size:15px;line-height:1.6}.learning-footer{z-index:160;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;border-radius:16px;grid-template-columns:1fr;gap:8px;padding:10px;display:grid;position:fixed;box-shadow:0 18px 45px #03091838}.learning-footer>button{width:100%;min-height:46px}.learning-footer-actions{grid-template-columns:1fr 1fr;justify-self:stretch;gap:8px;display:grid}.learning-footer-actions .learning-discuss-button{white-space:normal;grid-column:1/-1}.learning-footer-actions .primary-button,.learning-footer-actions .secondary-button{width:100%;min-height:46px;padding:10px 8px}.learning-footer-actions .primary-button svg,.learning-footer-actions .secondary-button svg{flex:none}:root[data-theme=dark] .learning-footer{background:#111827f5;border-color:#8196ff38;box-shadow:0 18px 45px #00000061}}.learning-player{height:min(90dvh,820px);overflow:hidden}.learning-stage{grid-template-rows:auto minmax(0,1fr) auto;gap:14px;min-height:0;padding:24px;display:grid;overflow:hidden}.learning-stage-scroll{overscroll-behavior:contain;align-content:start;gap:14px;min-height:0;padding-right:8px;display:grid;overflow:auto}.learning-question-card,.learning-reveal-card{min-height:0}.learning-question-scroll,.learning-reveal-scroll{max-height:none;padding-right:0;overflow:visible}.learning-helper-section .learning-reveal-card.open{max-height:none}.learning-footer{background:0 0;grid-template-columns:auto minmax(0,1fr);padding:14px 0 0;position:static}@media (width<=820px){.learning-player{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;height:94dvh}.learning-rail{grid-template-rows:auto auto auto minmax(0,1fr);grid-template-columns:1fr;max-height:35dvh;overflow:hidden}.learning-stage{grid-template-rows:auto minmax(0,1fr) auto;padding:16px;display:grid;overflow:hidden}.learning-stage-scroll{padding-right:4px;overflow:auto}.learning-footer{grid-template-columns:1fr;padding:12px 0 0}.learning-footer-actions{justify-self:stretch}}@media (width<=640px){.learning-player-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#070b15;place-items:stretch stretch;padding:0;display:grid;overflow:hidden}.learning-player{width:100%;height:100dvh;min-height:100dvh;box-shadow:none;border:0;border-radius:0;grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;display:grid;overflow:hidden}.learning-rail{gap:10px;max-height:31dvh;padding:12px}.learning-rail-progress{padding:12px}.learning-start-chip{min-height:40px}.learning-step-list{gap:9px;padding:2px 0 4px;display:flex;overflow-x:auto}.learning-step{grid-template-columns:1fr;justify-items:center;min-width:42px}.learning-step span{width:38px;height:38px}.learning-step small{display:none}.learning-stage{min-height:0;padding:14px 14px calc(10px + env(safe-area-inset-bottom));gap:12px}.learning-stage-header{margin:0}.learning-stage-header h2{font-size:21px}.learning-stage-header .icon-button{flex-basis:44px;width:44px;height:44px}.learning-stage-scroll{gap:12px;padding:0 2px 2px 0}.learning-card{padding:15px}.learning-question-scroll .practice-formatted-text,.learning-question-scroll p{font-size:17px;line-height:1.52}.learning-reveal-scroll{padding:0 14px 14px}.learning-reveal-scroll .practice-formatted-text,.learning-reveal-scroll p{font-size:16px;line-height:1.55}.learning-footer{border-top:1px solid var(--line);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-radius:0;gap:8px;padding:10px 0 0;display:grid;position:static}.learning-footer>button{width:100%;min-height:44px}.learning-footer-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.learning-footer-actions .learning-discuss-button{white-space:normal;grid-column:1/-1}.learning-footer-actions .primary-button,.learning-footer-actions .secondary-button{width:100%;min-height:44px;padding:9px 8px}}.learning-step:disabled{cursor:not-allowed;opacity:.42}.learning-step:disabled span,.learning-step:disabled small{filter:saturate(.45)}.learning-player{height:min(90dvh,820px);max-height:90dvh;overflow:hidden}.learning-player>.learning-stage{flex-direction:column;gap:14px;height:100%;min-height:0;padding:24px;display:flex;overflow:hidden}.learning-stage-header,.learning-footer{flex:none}.learning-stage-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-gutter:stable;flex-direction:column;flex:auto;gap:14px;min-height:0;max-height:100%;padding:0 8px 0 0;display:flex;overflow:hidden auto}.learning-stage-scroll>*{flex:none}.learning-question-card,.learning-reveal-card{min-height:0;overflow:visible}.learning-question-card{align-content:start}.learning-question-scroll,.learning-reveal-scroll{max-height:none;padding-right:0;display:block;overflow:visible}.learning-footer{border-top:1px solid var(--line);box-shadow:none;background:0 0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:14px 0 0;display:grid;position:static}.learning-footer-actions{justify-self:end}@media (width<=820px){.learning-player{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;height:94dvh;max-height:94dvh}.learning-rail{max-height:35dvh;overflow:hidden}.learning-player>.learning-stage{height:100%;padding:16px}.learning-stage-scroll{padding-right:4px}.learning-footer{grid-template-columns:1fr}.learning-footer-actions{justify-self:stretch}}@media (width<=640px){.learning-player-backdrop{place-items:stretch stretch;padding:0;display:grid;overflow:hidden}.learning-player{width:100%;height:100dvh;min-height:100dvh;max-height:100dvh;box-shadow:none;border:0;border-radius:0;grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;display:grid;overflow:hidden}.learning-rail{gap:10px;max-height:31dvh;padding:12px;overflow:hidden}.learning-player>.learning-stage{height:100%;min-height:0;padding:14px 14px calc(10px + env(safe-area-inset-bottom));gap:12px;overflow:hidden}.learning-stage-scroll{gap:12px;padding-right:2px}.learning-footer{border-top:1px solid var(--line);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-radius:0;gap:8px;padding:10px 0 0;display:grid;position:static}.learning-footer>button{width:100%;min-height:44px}.learning-footer-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.learning-footer-actions .learning-discuss-button{white-space:normal;grid-column:1/-1}.learning-footer-actions .primary-button,.learning-footer-actions .secondary-button{width:100%;min-height:44px;padding:9px 8px}}.learning-reveal-card.answer>.learning-pill,.learning-reveal-card.hint>.learning-pill{align-items:center;place-items:unset;text-transform:uppercase;border-radius:7px;flex:none;gap:7px;width:max-content;height:auto;padding:7px 10px;font-size:11px;font-weight:900;line-height:1.15;display:inline-flex}.learning-reveal-card.answer>.learning-pill{color:var(--green);background:#ecfdf5}.learning-reveal-card.hint>.learning-pill{color:var(--orange);background:#fff7ed}.learning-reveal-card.answer>.learning-pill svg,.learning-reveal-card.hint>.learning-pill svg{flex:0 0 15px;width:15px;height:15px}.reveal-box{grid-template-columns:38px minmax(0,1fr);align-items:start;gap:12px;padding:16px}.reveal-box>svg{box-sizing:border-box;border-radius:12px;align-self:start;width:38px;height:38px;padding:9px}.reveal-box.hint>svg{color:var(--orange);background:#fff7ed}.reveal-box.answer>svg{color:var(--green);background:#ecfdf5}.reveal-box>div{gap:6px;min-width:0;display:grid}.reveal-box strong{color:var(--navy);text-transform:none;font-size:12px;line-height:1.2;display:block}.reveal-box .practice-formatted-text,.reveal-box p{margin:0}.practice-hero-learning-row .learn-pack-button{white-space:normal;text-align:left;max-width:100%}:root[data-theme=dark] .learning-reveal-card.answer>.learning-pill{color:#9af0bd;background:#35d18421}:root[data-theme=dark] .learning-reveal-card.hint>.learning-pill,:root[data-theme=dark] .reveal-box.hint>svg{color:#fed7aa;background:#fb923c1f}:root[data-theme=dark] .reveal-box.answer>svg{color:#9af0bd;background:#35d18421}:root[data-theme=dark] .reveal-box strong{color:#dce4ff}.practice-student-progress-list{gap:0;display:grid}.practice-student-progress-card{border-top:1px solid var(--line)}.practice-student-progress-card>.admin-data-row{border-top:0}.practice-student-progress.is-clickable{cursor:pointer}.practice-student-progress.is-clickable:hover,.practice-student-progress-card.open>.practice-student-progress{background:#667eea14}.practice-help-count{justify-content:center;align-items:center;gap:4px;display:inline-flex}.practice-help-count svg{flex:0 0 14px;width:14px;height:14px}.practice-help-count.active{color:var(--red)}.practice-help-detail-list{gap:8px;padding:0 8px 12px 18px;display:grid}.practice-help-detail{background:#fff7f8;border:1px solid #ffdfe3;border-radius:8px;grid-template-columns:28px minmax(0,1fr);gap:10px;padding:11px;display:grid}.practice-help-detail>span{width:28px;height:28px;color:var(--red);background:#fff;border-radius:50%;place-items:center;font-size:10px;font-weight:900;display:grid}.practice-help-detail>div{gap:5px;min-width:0;display:grid}.practice-help-detail strong{font-size:11px}.practice-help-detail small{color:var(--muted);font-size:9px}.practice-help-detail p{color:#4f5b70;white-space:pre-wrap;gap:4px;margin:2px 0 0;font-size:11px;line-height:1.45;display:grid}.practice-help-detail p b{color:var(--deep-blue);text-transform:uppercase;font-size:9px}.practice-help-detail footer{flex-wrap:wrap;gap:6px;margin-top:3px;display:flex}.practice-help-detail footer em{color:var(--deep-blue);background:#eef1ff;border-radius:999px;padding:5px 7px;font-size:8px;font-style:normal;font-weight:900}:root[data-theme=dark] .practice-student-progress.is-clickable:hover,:root[data-theme=dark] .practice-student-progress-card.open>.practice-student-progress{background:#6f83f11f}:root[data-theme=dark] .practice-help-detail{background:#ff6f7e17;border-color:#ff6f7e3d}:root[data-theme=dark] .practice-help-detail>span{color:#ffb3bc;background:#0b1220}:root[data-theme=dark] .practice-help-detail p{color:#b8c3d8}:root[data-theme=dark] .practice-help-detail p b{color:#aebdff}:root[data-theme=dark] .practice-help-detail footer em{color:#dce4ff;background:#6f83f129}@media (width<=640px){.practice-help-detail-list{padding-left:6px}.practice-help-detail{grid-template-columns:24px minmax(0,1fr);padding:10px}.practice-help-detail>span{width:24px;height:24px}.practice-help-detail p{font-size:10px}}.student-password-panel{background:#f6f8ff;border-color:#b8c5ff;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;display:flex}.student-password-panel>div{gap:4px;display:grid}.student-password-panel strong{color:var(--deep-blue);letter-spacing:.14em;font-size:24px}.student-password-panel small{color:var(--muted);font-size:10px}:root[data-theme=dark] .student-password-panel{background:#101a2c;border-color:#4057b7}:root[data-theme=dark] .student-password-panel strong{color:#aebdff}@media (width<=820px){.student-password-panel{flex-direction:column;align-items:stretch}.student-password-panel .secondary-button{width:100%}}
