@import "https://fonts.googleapis.com/css2?family=Lato:wght@700;900&family=Open+Sans:wght@400;600;700&display=swap";:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}*{box-sizing:border-box}body{color:#1f2a24;background:#f4f7f2;margin:0;font-family:Arial,sans-serif}.app{align-content:center;place-items:center;gap:32px;min-height:100vh;padding:24px;display:grid}.hero{text-align:center;width:100%;max-width:720px}.eyebrow{color:#5f7f4f;margin:0 0 12px;font-size:16px;font-weight:700}h1{color:#263f2d;margin:0;font-size:56px}.description{max-width:560px;margin:20px auto 0;font-size:20px;line-height:1.5}.mainMenu{flex-wrap:wrap;justify-content:center;gap:12px;width:100%;max-width:900px;display:flex}.mainMenu button{color:#263f2d;cursor:pointer;background:#fff;border:1px solid #c8d8c0;border-radius:8px;min-width:150px;padding:14px 18px;font-size:16px;font-weight:700}.mainMenu button:hover{color:#fff;background:#2f6f4e;border-color:#2f6f4e}.page{gap:24px;width:100%;max-width:760px;display:grid}.backButton{color:#2f6f4e;cursor:pointer;background:#e6efe1;border:0;border-radius:8px;width:fit-content;padding:10px 14px;font-size:15px;font-weight:700}.backButton:hover{background:#d8e8d0}.studentForm{background:#fff;border:1px solid #d8e4d1;border-radius:8px;gap:18px;width:100%;padding:24px;display:grid}.studentForm label{color:#263f2d;gap:8px;font-size:15px;font-weight:700;display:grid}.studentForm input,.studentForm select,.studentForm textarea{color:#1f2a24;background:#fff;border:1px solid #c8d8c0;border-radius:8px;width:100%;padding:12px 14px;font-size:16px}.studentForm textarea{resize:vertical;min-height:96px}.teacherLevelEditor{background:#f6f6ffb8;border:1px solid #7479b83d;border-radius:8px;gap:16px;padding:18px;display:grid}.teacherLevelEditor span{color:var(--tem-pink);text-transform:uppercase;font-size:12px;font-weight:900}.teacherLevelEditor h2{color:var(--tem-lavender);margin:4px 0 6px;font-family:Lato,Arial,sans-serif;font-size:22px}.teacherLevelEditor p{color:var(--tem-text);margin:0;line-height:1.45}.formNote{color:var(--tem-text);background:#f48d2d1a;border:1px solid #f48d2d3d;border-radius:8px;margin:0;padding:12px;font-weight:800;line-height:1.45}.teacherLevelGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.primaryButton{color:#fff;cursor:pointer;background:#2f6f4e;border:0;border-radius:8px;padding:14px 22px;font-size:16px;font-weight:700}.studentList{gap:14px;display:grid}.studentList h2{color:#263f2d;margin:0;font-size:24px}.emptyMessage{color:#5f705e;background:#fbfdf9;border:1px dashed #b8cbb0;border-radius:8px;margin:0;padding:18px}.studentList ul{gap:12px;margin:0;padding:0;list-style:none;display:grid}.studentList li{background:#fff;border:1px solid #d8e4d1;border-radius:8px;justify-content:space-between;gap:16px;padding:16px;display:flex}.studentList span{color:#5f705e}.studentList .statusText{border-radius:999px;width:fit-content;padding:4px 10px;font-size:12px;font-weight:800}.studentList .statusText.success{color:#165b38;background:#dff4e7}.studentList .statusText.warning{color:#8a1f45;background:#ffe3ec}.secondaryButton{color:#2f6f4e;cursor:pointer;background:#fff;border:1px solid #c8d8c0;border-radius:8px;padding:10px 14px;font-size:14px;font-weight:700}.secondaryButton:hover{color:#fff;background:#2f6f4e}.studentList li div{gap:4px;display:grid}.profileGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.profileGrid article{background:#fff;border:1px solid #d8e4d1;border-radius:8px;gap:8px;padding:20px;display:grid}.profileGrid h2{color:#263f2d;margin:0;font-size:20px}.profileGrid p{color:#5f705e;margin:0;line-height:1.5}@media (width<=640px){.profileGrid{grid-template-columns:1fr}.studentList li{flex-direction:column;align-items:flex-start}}.actionRow{flex-wrap:wrap;gap:12px;display:flex}.studentForm textarea{color:#1f2a24;resize:vertical;background:#fff;border:1px solid #c8d8c0;border-radius:8px;width:100%;padding:12px 14px;font-family:Arial,sans-serif;font-size:16px}.studentForm textarea:focus{border-color:#2f6f4e;outline:3px solid #cfe3c5}.dangerButton:hover{color:#fff;background:#9f2f24;border-color:#9f2f24}.optionGroup{gap:10px;display:grid}.optionGroup button{text-align:left;width:100%}.questionBlock{background:#fbfdf9;border:1px solid #d8e4d1;border-radius:8px;gap:12px;padding:16px;display:grid}.questionBlock strong{color:#263f2d;line-height:1.4}:root{--tem-ink:#18241f;--tem-green:#245c45;--tem-green-dark:#173f31;--tem-sage:#dbe8d4;--tem-paper:#fffdf7;--tem-soft:#f5f1e6;--tem-gold:#c79a3b;--tem-wine:#7f2d3a;--tem-border:#d8d2c2;--tem-muted:#66756d}body:before{content:"";pointer-events:none;background-image:linear-gradient(#245c450d 1px,#0000 1px),linear-gradient(90deg,#245c450d 1px,#0000 1px);background-size:32px 32px;position:fixed;inset:0}.app{align-content:start;place-items:stretch stretch;width:100%;max-width:1180px;margin:0 auto;padding:32px 20px 56px}.hero{border-bottom:3px solid var(--tem-green);max-width:980px;margin:0 auto;padding:42px 24px 24px}.brandMark{border:3px solid var(--tem-green);width:88px;height:88px;color:var(--tem-paper);background:var(--tem-green-dark);border-radius:50%;place-items:center;margin:0 auto 18px;font-size:22px;font-weight:900;display:grid}.eyebrow{color:var(--tem-wine);text-transform:uppercase;letter-spacing:0;font-size:13px}h1{color:var(--tem-green-dark);font-size:52px;line-height:1.05}.description{color:var(--tem-muted)}.heroMeta{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px;display:flex}.heroMeta span{border:1px solid var(--tem-border);color:var(--tem-green-dark);background:var(--tem-paper);border-radius:8px;padding:8px 12px;font-size:14px;font-weight:700}.mainMenu{border:1px solid var(--tem-border);background:var(--tem-paper);border-radius:8px;max-width:980px;margin:0 auto;padding:18px}.page{border:1px solid var(--tem-border);background:var(--tem-paper);border-radius:8px;max-width:980px;margin:0 auto;padding:24px}.page>div:first-of-type{border-bottom:1px solid var(--tem-border);padding-bottom:18px}.page h1{font-size:38px}.studentForm,.profileGrid article,.studentList li,.questionBlock,.emptyMessage{border-color:var(--tem-border);background:#fff}.studentForm{box-shadow:0 10px 24px #18241f0f}.studentForm h2,.studentList h2,.profileGrid h2{color:var(--tem-green-dark)}.studentList strong{color:var(--tem-green-dark)}.studentList span,.profileGrid p{color:var(--tem-muted)}.optionGroup button{border-left:4px solid var(--tem-gold)}@media (width<=640px){.app{padding:18px 12px 40px}.hero{padding:28px 12px 18px}h1{font-size:40px}.page{padding:18px}.mainMenu{padding:14px}}.heroMeta span{border:0;border-left:4px solid var(--tem-gold);color:var(--tem-muted);background:0 0;border-radius:0;padding:4px 10px;font-size:13px}.heroLogo{border-radius:8px;width:min(360px,82vw);height:auto;margin:0 auto 24px;display:block;box-shadow:0 18px 42px #18241f1f}.appHeader{justify-content:center;width:100%;max-width:980px;margin:0 auto -8px;display:flex}.logoButton{cursor:pointer;background:0 0;border:0;padding:0}.logoButton img{border-radius:8px;width:min(240px,70vw);height:auto;display:block;box-shadow:0 12px 28px #18241f1a}.accessApp{place-items:center;min-height:100vh;padding:28px 16px}.accessCard{background:linear-gradient(180deg, #fffffffa, #fffffff0), var(--tem-paper);text-align:center;border:1px solid #7479b838;border-radius:8px;gap:16px;width:min(620px,100%);padding:clamp(24px,4vw,38px);display:grid;box-shadow:0 22px 60px #2c244829}.accessCard .heroLogo{width:min(300px,82vw);margin:0 auto 6px}.accessCard h1{color:var(--tem-lavender);font-size:clamp(40px,7vw,58px);line-height:1}.accessForm{text-align:left;gap:14px;margin-top:4px;display:grid}.accessRoleGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.accessRole{border:1px solid var(--tem-border);color:var(--tem-lavender);cursor:pointer;background:#fff;border-radius:8px;padding:13px;font-family:Lato,Arial,sans-serif;font-size:16px;font-weight:900}.accessRole.active{border-color:var(--tem-pink);color:var(--tem-pink);background:#ec2f5b14;box-shadow:inset 0 0 0 1px #ec2f5b33}.studentAccessModes{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.studentAccessModes button{border:1px solid var(--tem-border);color:var(--tem-lavender);cursor:pointer;background:#fff;border-radius:8px;min-height:46px;padding:10px;font-family:Lato,Arial,sans-serif;font-size:14px;font-weight:900}.studentAccessModes button.active{border-color:var(--tem-pink);color:var(--tem-pink);background:#ec2f5b14}.studentProfileFields{gap:12px;display:grid}.formDivider{color:var(--tem-lavender);border-top:1px solid #7479b838;gap:4px;margin-top:4px;padding-top:14px;display:grid}.formDivider strong{color:var(--tem-pink);text-transform:uppercase;font-family:Poppins,Arial,sans-serif;font-size:14px;font-weight:900}.formDivider span{color:#5f6686;font-size:13px;font-weight:700}.accessForm label{color:var(--tem-lavender);gap:8px;font-family:Lato,Arial,sans-serif;font-weight:900;display:grid}.accessForm input,.accessForm select{color:#27304f;-webkit-text-fill-color:#27304f;background:#fff;border:2px solid #7479b847;border-radius:8px;padding:13px 14px;font-size:18px;font-weight:800}.passwordField{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.passwordField input{min-width:0}.passwordField button{color:var(--tem-pink);cursor:pointer;background:#fff;border:2px solid #7479b847;border-radius:8px;padding:0 16px;font-family:Lato,Arial,sans-serif;font-size:15px;font-weight:900}.passwordField button:hover{border-color:var(--tem-pink);background:#ec2f5b14}.temporaryPasswordActions{gap:7px;margin-top:10px;display:grid}.temporaryPasswordActions .secondaryButton{justify-self:start}.temporaryPasswordActions small{color:var(--tem-muted);line-height:1.35}.accessForm input:focus{border-color:var(--tem-pink);outline:3px solid #ec2f5b2e}.accessForm input::placeholder{color:#5d6680ad;opacity:1}.accessHint{color:var(--tem-text);margin:0;font-size:14px;font-weight:700;line-height:1.45}.accessForm input:-webkit-autofill{caret-color:#27304f;-webkit-text-fill-color:#27304f;box-shadow:inset 0 0 0 1000px #fff}.accessForm input:-webkit-autofill:hover{caret-color:#27304f;-webkit-text-fill-color:#27304f;box-shadow:inset 0 0 0 1000px #fff}.accessForm input:-webkit-autofill:focus{caret-color:#27304f;-webkit-text-fill-color:#27304f;box-shadow:inset 0 0 0 1000px #fff}.accessError{color:var(--tem-pink);background:#ec2f5b14;border:1px solid #ec2f5b47;border-radius:8px;margin:0;padding:12px;font-weight:800}.accessSuccess{color:#1f6f48;background:#2e875b1a;border:1px solid #2e875b47;border-radius:8px;margin:0;padding:12px;font-weight:800}.sessionBadge{justify-content:center;align-items:center;gap:10px;margin-top:10px;display:flex}.sessionBadge span{border:1px solid var(--tem-border);color:var(--tem-lavender);text-transform:uppercase;background:#fff;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}.sessionBadge button,.sessionExitButton{border:1px solid var(--tem-border);color:var(--tem-pink);cursor:pointer;background:#fff;border-radius:8px;padding:8px 12px;font-family:Lato,Arial,sans-serif;font-weight:900}.sessionExitButton{margin-top:18px}.brandMark{display:none}@media (width<=640px){.heroLogo{width:min(300px,88vw)}.logoButton img{width:min(210px,76vw)}}:root{--tem-pink:#ec2f5b;--tem-lavender:#7479b8;--tem-lavender-soft:#d5d9ee;--tem-orange:#f2a20f;--tem-mint:#a9d8bd;--tem-ink:#27304f;--tem-text:#5d6680;--tem-paper:#fff;--tem-soft:#f7f8ff;--tem-border:#dfe2f2}body{background:var(--tem-lavender-soft);color:var(--tem-ink);font-family:Open Sans,Arial,sans-serif}body:before{background-image:linear-gradient(#7479b814 1px,#0000 1px),linear-gradient(90deg,#7479b814 1px,#0000 1px)}h1,.studentForm h2,.studentList h2,.profileGrid h2,.questionBlock strong,.mainMenu button,.primaryButton,.secondaryButton,.backButton{font-family:Lato,Arial,sans-serif}h1,.page h1{color:var(--tem-lavender);font-weight:900}.eyebrow{color:var(--tem-pink)}.description,.studentList span,.profileGrid p{color:var(--tem-text)}.hero{border-bottom-color:var(--tem-pink)}.heroLogo{box-shadow:none;background:0 0}.logoButton img{box-shadow:none}.logoButton:hover img{transform:none}.heroMeta span{border-left-color:var(--tem-orange);color:var(--tem-lavender)}.mainMenu,.page,.studentForm,.profileGrid article,.studentList li,.questionBlock,.emptyMessage{border-color:var(--tem-border);background:#ffffffeb}.mainMenu button,.secondaryButton{border-color:var(--tem-border);color:var(--tem-lavender);background:#fff}.mainMenu button:hover,.secondaryButton:hover{border-color:var(--tem-pink);background:var(--tem-pink);color:#fff}.primaryButton{background:var(--tem-pink)}.primaryButton:hover{background:#c91f47}.secondaryButton:disabled,.primaryButton:disabled{cursor:not-allowed;opacity:.55}.secondaryButton:disabled:hover,.primaryButton:disabled:hover{border-color:var(--tem-border);color:var(--tem-lavender);background:#fff}.lockMessage{color:var(--tem-ink-soft);margin-top:.5rem;font-size:.9rem;display:block}.backButton{color:var(--tem-lavender);background:#eef0fb}.studentForm label,.studentList strong,.profileGrid h2,.studentForm h2,.studentList h2,.questionBlock strong{color:var(--tem-lavender)}.studentForm input,.studentForm select,.studentForm textarea{border-color:var(--tem-border);background:#fff}.studentForm input:focus,.studentForm select:focus,.studentForm textarea:focus{border-color:var(--tem-pink);outline:3px solid #ec2f5b2e}.optionGroup button{border-left-color:var(--tem-orange)}.dangerButton{color:var(--tem-pink);border-color:#ec2f5b59}.dangerButton:hover{border-color:var(--tem-pink);background:var(--tem-pink)}.page>div:first-of-type{border-bottom-color:var(--tem-border)}.dashboardGrid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;display:grid}.dashboardMetric,.dashboardPanel{border:1px solid var(--tem-border);background:#fffffff0;border-radius:8px;box-shadow:0 10px 24px #18241f0f}.dashboardMetric{align-content:center;gap:8px;min-height:118px;padding:20px;display:grid}.dashboardMetric span{color:var(--tem-text);font-size:14px;font-weight:700}.dashboardMetric strong{color:var(--tem-pink);font-family:Lato,Arial,sans-serif;font-size:38px;line-height:1}.alertMetric strong{color:var(--tem-orange)}.dashboardColumns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}.dashboardPanel{gap:14px;padding:22px;display:grid}.dashboardPanel h2{color:var(--tem-lavender);margin:0;font-family:Lato,Arial,sans-serif;font-size:22px}.attendancePanel{border-color:#ed2b5a47}.attendanceHeader{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.attendanceHeader p{margin:6px 0 0}.attendanceSummary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.attendanceSummary article{background:#6d73b314;border:1px solid #6d73b32e;border-radius:8px;gap:4px;padding:14px;display:grid}.attendanceSummary span{color:var(--tem-text);font-weight:900}.attendanceSummary strong{color:var(--tem-lavender);font-family:Lato,Arial,sans-serif;font-size:32px}.attendanceSummary .attendancePending{background:#ed2b5a14;border-color:#ed2b5a3d}.attendanceSummary .attendancePending strong{color:var(--tem-pink)}.attendanceColumns{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.attendanceColumns>article{border:1px solid var(--tem-border);border-radius:8px;padding:16px}.attendanceColumns h3{color:var(--tem-ink);margin:0 0 12px;font-family:Lato,Arial,sans-serif}.studentSnapshot{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.studentSnapshot article{border:1px solid var(--tem-border);background:#fffffff0;border-radius:8px;gap:8px;padding:18px;display:grid;box-shadow:0 10px 24px #18241f0f}.studentSnapshot span{color:var(--tem-text);text-transform:uppercase;font-size:13px;font-weight:800}.studentSnapshot strong{color:var(--tem-lavender);font-family:Lato,Arial,sans-serif;font-size:18px}.studentSnapshot p{color:var(--tem-text);margin:0;line-height:1.45}.advancePanel{border:1px solid #24583e3d;border-left:6px solid var(--tem-green);background:#fffffff5;border-radius:8px;justify-content:space-between;align-items:center;gap:18px;padding:18px;display:flex;box-shadow:0 12px 28px #24583e14}.advancePanel h2{color:var(--tem-lavender);margin:4px 0 8px}.advancePanel p{color:var(--tem-text);margin:0;line-height:1.45}.sectionTitleRow{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.sectionTitleRow h2{margin:4px 0 0}.sectionTitleRow>span{border:1px solid var(--tem-border);color:var(--tem-lavender);background:#fff;border-radius:999px;padding:7px 11px;font-size:13px;font-weight:800}.historyTimeline{gap:14px;margin:0;padding:0;list-style:none;display:grid}.historyCard{border:1px solid var(--tem-border);border-left:6px solid var(--tem-lavender);background:#fffffff5;border-radius:8px;gap:9px;padding:16px;display:grid;box-shadow:0 10px 24px #2c24480f}.historyCardDiagnostic{border-left-color:var(--tem-pink)}.historyCardSession{border-left-color:var(--tem-lavender)}.historyCardSupport{border-left-color:var(--tem-orange)}.historyCardAdvance{border-left-color:var(--tem-green)}.historyCardHeader{justify-content:space-between;align-items:center;gap:12px;display:flex}.historyCardHeader span{color:var(--tem-lavender);background:#6d73b31f;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.historyCardHeader time{color:var(--tem-text);font-size:13px;font-weight:700}.historyCard strong{color:var(--tem-lavender);font-family:Lato,Arial,sans-serif;font-size:18px}.historyCard p{color:var(--tem-text);margin:0;line-height:1.45}.historyDetails{border-top:1px solid var(--tem-border);gap:6px;padding-top:10px;display:grid}.historyDetails span{color:var(--tem-text);font-size:14px;line-height:1.4}.levelBoard,.routeBoard{border:1px solid var(--tem-border);background:#fffffff0;border-radius:8px;max-width:1180px;margin:22px auto 0;padding:20px;box-shadow:0 14px 30px #2c244814}.routeTitleAccent{background:#fff1f5;border-left:5px solid #ec2f5b;border-radius:6px;padding:6px 10px;font-weight:900;display:inline-block;color:#c9163f!important}h2.routeTitleAccent{font-size:clamp(24px,3vw,34px);line-height:1.15}.routeColumns{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.routeColumns article{border:1px solid var(--tem-border);background:#fff;border-radius:8px;gap:12px;padding:16px;display:grid}.routeColumns h3{color:var(--tem-lavender);margin:0;font-family:Lato,Arial,sans-serif;font-size:22px}.routeList{gap:8px;max-height:430px;padding-right:4px;display:grid;overflow:auto}.routeItem{border:1px solid var(--tem-border);background:#fbf9ffb8;border-radius:8px;grid-template-columns:58px minmax(0,1fr);align-items:start;gap:10px;padding:10px;display:grid}.routeItem strong{color:var(--tem-pink);text-align:center;background:#ec2f5b1f;border-radius:999px;padding:5px 8px;font-weight:900}.routeItem span{color:var(--tem-text);font-size:14px;line-height:1.4}.studentMarkers{flex-wrap:wrap;gap:6px;margin-top:9px;display:flex}.studentMarker{background:var(--tem-pink);color:#fff;cursor:pointer;border:2px solid #ec2f5b38;border-radius:999px;width:34px;height:34px;font-family:Lato,Arial,sans-serif;font-size:15px;font-weight:900;box-shadow:0 8px 16px #ec2f5b2e}.studentMarker.math{background:var(--tem-green);border-color:#24583e3d;box-shadow:0 8px 16px #24583e29}.studentMarker:hover{transform:translateY(-1px)}.levelTableWrap{overflow-x:auto}.levelTable{border-collapse:collapse;width:100%;min-width:760px}.levelTable th,.levelTable td{border-bottom:1px solid var(--tem-border);text-align:left;vertical-align:middle;padding:14px 12px}.levelTable th{color:var(--tem-lavender);text-transform:uppercase;font-size:13px;font-weight:900}.levelTable td{color:var(--tem-text)}.levelTable td strong{color:var(--tem-lavender)}.levelCell{gap:6px;min-width:150px;display:grid}.levelCell span{color:var(--tem-pink);font-weight:900}.levelCell small{color:var(--tem-text);font-weight:700}.levelProgress{background:#6d73b324;border-radius:999px;height:10px;overflow:hidden}.levelProgress div{border-radius:inherit;background:var(--tem-pink);height:100%}.levelProgress.math div{background:var(--tem-green)}.challengeBoard{border:1px solid var(--tem-border);background:#fffffff5;border-radius:8px;max-width:1180px;margin:22px auto 0;padding:20px;box-shadow:0 14px 30px #2c244814}.challengeGrid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;display:grid}.challengeCard{border:1px solid var(--tem-border);background:linear-gradient(#fff 0%,#fbf9ff 100%);border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px 12px;padding:14px;display:grid}.challengeAvatar{background:var(--tem-pink);color:#fff;border-radius:999px;place-items:center;width:46px;height:46px;font-family:Lato,Arial,sans-serif;font-size:20px;font-weight:900;display:grid;box-shadow:0 10px 18px #ec2f5b2e}.challengeCard strong{color:var(--tem-lavender);font-family:Lato,Arial,sans-serif;font-size:17px;line-height:1.2;display:block}.challengeCard span,.challengeCard small{color:var(--tem-text);line-height:1.35}.challengeStats{flex-wrap:wrap;grid-column:1/-1;gap:8px;display:flex}.challengeStats span{color:var(--tem-pink);background:#ec2f5b1a;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}.challengeCard small{border-top:1px solid var(--tem-border);grid-column:1/-1;padding-top:9px;font-weight:800;display:block}.compactList{gap:10px;margin:0;padding:0;list-style:none;display:grid}.compactList li{border-bottom:1px solid var(--tem-border);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.compactList li:last-child{border-bottom:0}.compactList div{gap:3px;display:grid}.compactList strong{color:var(--tem-lavender)}.compactList span{color:var(--tem-text);font-size:14px}@media (width<=860px){.dashboardGrid,.dashboardColumns,.attendanceColumns,.studentSnapshot{grid-template-columns:1fr}.attendanceHeader{flex-direction:column}.routeColumns{grid-template-columns:1fr}.advancePanel{flex-direction:column;align-items:flex-start}}.filterControl{width:min(100%,320px);color:var(--tem-lavender);gap:8px;margin-top:16px;font-weight:700;display:grid}.filterControl select{border:1px solid var(--tem-border);width:100%;color:var(--tem-text);background:#fff;border-radius:8px;padding:10px 12px;font-size:15px}.filterControl select:focus{border-color:var(--tem-pink);outline:3px solid #ec2f5b2e}.quickActions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.quickActions .secondaryButton{min-width:92px;padding:9px 12px}@media (width<=720px){.quickActions{justify-content:flex-start;width:100%}}.actionBoard{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.actionGroup{border:1px solid var(--tem-border);background:#fffffff5;border-radius:8px;align-content:start;gap:14px;padding:20px;display:grid;box-shadow:0 14px 30px #2c244814}.actionGroup>div:first-child{border-bottom:1px solid var(--tem-border);gap:4px;padding-bottom:12px;display:grid}.actionGroup h2{color:var(--tem-lavender);margin:0;font-family:Lato,Arial,sans-serif;font-size:20px}.actionGroup>div:first-child span{color:var(--tem-text);font-weight:700}.actionGroupAlert{border-top:5px solid var(--tem-pink)}.actionGroupNotice{border-top:5px solid var(--tem-orange)}.actionGroupFocus{border-top:5px solid var(--tem-lavender)}.actionGroup .compactList li{align-items:flex-start}@media (width<=980px){.actionBoard{grid-template-columns:1fr}}.decisionBadge{letter-spacing:0;border-radius:999px;align-items:center;width:fit-content;padding:5px 10px;font-size:12px;font-weight:800;display:inline-flex}.decisionBadgeAdvance{color:#24583e;background:#24583e1f;border:1px solid #24583e3d}.decisionBadgeSupport{color:var(--tem-lavender);background:#6d73b324;border:1px solid #6d73b342}.decisionBadgePriority{color:var(--tem-pink);background:#ef335b1f;border:1px solid #ef335b42}.alertFilters{border:1px solid var(--tem-border);background:#ffffffe6;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:14px;display:flex}.alertFilter{border:1px solid var(--tem-border);min-height:46px;color:var(--tem-lavender);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;font-family:Lato,Arial,sans-serif;font-weight:800;display:inline-flex}.alertFilter strong{color:#fff;background:var(--tem-pink);text-align:center;border-radius:999px;min-width:28px;padding:4px 8px}.alertFilter.active{border-color:var(--tem-pink);color:#fff;background:var(--tem-pink)}.alertFilter.active strong{color:var(--tem-pink);background:#fff}@media (width<=720px){.alertFilter{justify-content:space-between;width:100%}}.actionGroupAdvance{border-top:5px solid var(--tem-green)}.workbookPanel{gap:22px}.workbookHeader{border:1px solid var(--tem-border);background:#fff;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:18px;padding:18px;display:flex}.workbookHeader h2{color:var(--tem-lavender);margin:4px 0 8px}.workbookHeader p{margin:4px 0}.workbookProgress{background:var(--tem-pink);color:#fff;text-align:center;border-radius:8px;min-width:128px;padding:14px}.workbookProgress strong{font-size:28px;line-height:1;display:block}.workbookProgress span{font-size:13px;font-weight:800}.lessonIntroCard{border:1px solid #7a7fb847;border-left:6px solid var(--tem-pink);background:linear-gradient(135deg,#fff 0%,#7a7fb814 100%);border-radius:8px;gap:16px;padding:18px;display:grid;box-shadow:0 12px 28px #2c244814}.lessonIntroText h3{color:var(--tem-green);margin:4px 0 8px;font-size:24px}.lessonIntroText p{color:var(--tem-text);margin:0;line-height:1.55}.lessonSteps{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.lessonStep{border:1px solid var(--tem-border);background:#fff;border-radius:8px;grid-template-columns:auto 1fr;align-items:start;gap:10px;min-height:84px;padding:12px;display:grid}.lessonStep strong{background:var(--tem-pink);color:#fff;border-radius:999px;place-items:center;width:28px;height:28px;font-size:14px;display:grid}.lessonStep span{color:var(--tem-text);font-weight:800;line-height:1.35}.lessonExample{color:var(--tem-green);background:#2f6f4e1a;border-radius:8px;gap:4px;padding:12px 14px;display:grid}.lessonExample strong{color:var(--tem-pink);text-transform:uppercase;letter-spacing:.04em;font-size:13px}.lessonExample span{color:var(--tem-text);font-weight:800}@media (width<=760px){.lessonSteps{grid-template-columns:1fr}}.workbookGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.workbookCard{border:1px solid var(--tem-border);background:#fff;border-radius:8px;gap:14px;padding:16px;display:grid;box-shadow:0 12px 24px #2c244812}.workbookCardTop{justify-content:space-between;align-items:center;gap:12px;display:flex}.workbookCardTop span{color:var(--tem-lavender);font-size:13px;font-weight:800}.workbookCardTop strong{border-radius:999px;padding:5px 10px;font-size:12px}.workbookCard p{color:var(--tem-text);white-space:pre-line;margin:0;font-weight:800;line-height:1.45}.workbookCard input{min-height:46px;font-size:18px;font-weight:800}.touchSelection{grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:10px;display:grid}.touchTile{border:2px solid var(--tem-border);min-height:68px;color:var(--tem-lavender);cursor:pointer;touch-action:manipulation;background:#fff;border-radius:8px;font-family:Lato,Arial,sans-serif;font-size:34px;font-weight:900}.touchTile:hover{border-color:var(--tem-pink)}.touchTile.selected{border-color:var(--tem-pink);color:var(--tem-pink);background:#ec2f5b1f;box-shadow:inset 0 0 0 3px #ec2f5b1f}.matchBoard{grid-template-columns:minmax(72px,1fr) minmax(72px,1fr);gap:82px;padding:6px 0;display:grid;position:relative}.matchLines{pointer-events:none;z-index:0;width:100%;height:calc(100% - 12px);position:absolute;inset:6px 0}.matchLines line{stroke:var(--tem-pink);stroke-width:2.4px;stroke-linecap:round}.matchColumn{z-index:1;gap:10px;display:grid;position:relative}.matchTile{border:2px solid var(--tem-border);min-height:58px;color:var(--tem-lavender);cursor:pointer;touch-action:manipulation;background:#fff;border-radius:8px;font-family:Lato,Arial,sans-serif;font-size:30px;font-weight:900}.matchTile:hover,.matchTile.active{border-color:var(--tem-pink);color:var(--tem-pink);background:#ec2f5b1a}.matchTile.selected{border-color:var(--tem-lavender);color:var(--tem-lavender);background:#7479b81f}.drawingPad{gap:12px;display:grid}.drawingSurface{position:relative}.drawingPad canvas{z-index:1;cursor:crosshair;touch-action:none;background-color:#fff;background-image:linear-gradient(#7479b814 1px,#0000 1px),linear-gradient(90deg,#7479b814 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:2px dashed #7479b861;border-radius:8px;width:100%;min-height:210px;position:relative}.drawingGuide{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.drawingGuide line,.drawingGuide path,.drawingGuide .guideCircle{fill:none;stroke:#7479b8b8;stroke-width:8px;stroke-linecap:round;stroke-dasharray:18 18}.drawingGuide .guideStart{fill:var(--tem-pink);stroke:#fff;stroke-width:5px}.drawingGuide .guideEnd{fill:#fff;stroke:var(--tem-lavender);stroke-width:5px}.drawingActions{flex-wrap:wrap;gap:10px;display:flex}.traceMessage{border-radius:8px;margin:0;padding:10px 12px;font-weight:800}.traceMessage.success{color:#24583e;background:#24583e1a;border:1px solid #24583e3d}.traceMessage.review{color:var(--tem-orange);background:#f48d2d1f;border:1px solid #f48d2d47}.procedurePad{gap:12px;display:grid}.procedureSurface{background:#fff;border:2px solid #7479b861;border-radius:8px;position:relative;overflow:hidden}.procedureSurface canvas{z-index:3;cursor:crosshair;touch-action:none;width:100%;min-height:360px;display:block;position:relative}.procedureLines{z-index:1;pointer-events:none;background:linear-gradient(#7479b829 1px,#0000 1px) 0 0/100% 42px,linear-gradient(90deg,#7479b80f 1px,#0000 1px) 0 0/42px 100%;position:absolute;inset:0}.copyTraceGuide{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.copyTraceGuide text{fill:#ec2f5b0e;stroke:#ec2f5b7a;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:8 12;font-family:Lato,Arial,sans-serif;font-size:250px;font-weight:900}.savedProcedureNote{color:#24583e;background:#24583e1a;border:1px solid #24583e3d;border-radius:8px;margin:0;padding:10px 12px;font-weight:800}.copyModelPad{gap:14px;display:grid}.copyModelPreview{background:#ec2f5b12;border:2px solid #ec2f5b33;border-radius:8px;justify-items:center;gap:6px;padding:18px;display:grid}.copyModelPreview span{color:var(--tem-pink);text-transform:uppercase;font-size:12px;font-weight:900}.copyModelPreview strong{color:var(--tem-lavender);text-align:center;font-family:Lato,Arial,sans-serif;font-size:clamp(38px,8vw,74px);line-height:1}.copyModelPad .procedureSurface{border-color:#ec2f5b40}.copyModelPad .procedureSurface canvas{min-height:420px}.copyModelPad .procedureLines{background:linear-gradient(#ec2f5b29 2px,#0000 2px) 0 0/96px 96px,linear-gradient(90deg,#ec2f5b29 2px,#0000 2px) 0 0/96px 96px,linear-gradient(#7479b814 1px,#0000 1px) 0 0/24px 24px,linear-gradient(90deg,#7479b814 1px,#0000 1px) 0 0/24px 24px}@media (width<=520px){.matchBoard{gap:54px}.drawingPad canvas{min-height:180px}.procedureSurface canvas{min-height:300px}.copyModelPad .procedureSurface canvas{min-height:360px}}.answerOk{color:#24583e;background:#24583e1f;border:1px solid #24583e3d}.answerReview{color:var(--tem-pink);background:#ef335b1f;border:1px solid #ef335b42}.workbookCriteria{border:1px solid var(--tem-border);border-left:5px solid var(--tem-orange);background:#fff;border-radius:8px;padding:16px}.workbookCriteria strong{color:var(--tem-lavender)}.workbookCriteria p{margin:6px 0 0}.readingCard{border:1px solid #7479b83d;border-left:5px solid var(--tem-lavender);background:#fff;border-radius:8px;gap:8px;padding:14px;display:grid}.readingCard span{color:var(--tem-pink);text-transform:uppercase;font-size:12px;font-weight:900}.readingCard p{color:var(--tem-ink);margin:0;font-size:18px;line-height:1.55}.sceneCard{border:1px solid #7479b83d;border-left:5px solid var(--tem-pink);background:linear-gradient(135deg,#7479b81f,#ec2f5b14);border-radius:8px;gap:8px;padding:14px;display:grid}.sceneCard span{color:var(--tem-lavender);text-transform:uppercase;font-size:12px;font-weight:900}.sceneCard p{color:var(--tem-ink);margin:0;font-size:17px;line-height:1.55}.sceneImage{aspect-ratio:16/9;object-fit:cover;border:1px solid #7479b82e;border-radius:8px;width:100%;display:block}.workbookPrompt{color:var(--tem-lavender);font-family:Lato,Arial,sans-serif;font-size:18px;font-weight:900}.openAnswerBox{color:var(--tem-lavender);background:#fffffff5;border:1px solid #7479b83d;border-radius:8px;gap:8px;padding:14px;font-family:Lato,Arial,sans-serif;font-size:14px;font-weight:900;display:grid}.openAnswerBox textarea{border:1px solid var(--tem-border);color:var(--tem-ink);resize:vertical;border-radius:8px;min-height:110px;padding:12px;font-family:Open Sans,Arial,sans-serif;font-size:16px;line-height:1.5}.openAnswerBox textarea:focus{border-color:var(--tem-pink);outline:3px solid #ec2f5b29}.openAnswerBox span{color:var(--tem-text);font-family:Open Sans,Arial,sans-serif;font-size:13px;font-weight:700}@media (width<=860px){.workbookHeader,.workbookGrid{grid-template-columns:1fr}.workbookHeader{display:grid}.workbookProgress{width:100%}}.interactivePage{max-width:860px}.interactiveLevels{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.interactiveLevelCard{border:1px solid var(--tem-border);background:#fffffff5;border-radius:8px;gap:14px;padding:20px;display:grid;box-shadow:0 14px 30px #2c244814}.interactiveLevelCard.available{border-top:5px solid var(--tem-pink)}.interactiveLevelCard.locked{border-top:5px solid var(--tem-border);opacity:.84}.interactiveLevelHeader{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.interactiveLevelHeader span{color:var(--tem-pink);text-transform:uppercase;font-size:12px;font-weight:900}.interactiveLevelHeader h2{color:var(--tem-lavender);margin:5px 0 0}.interactiveLevelHeader strong{color:var(--tem-lavender);background:#6d73b31f;border-radius:999px;padding:7px 11px}.interactiveLevelCard p{color:var(--tem-text);margin:0;line-height:1.45}.interactiveActivityList{flex-wrap:wrap;gap:8px;display:flex}.interactiveActivityList span{border:1px solid var(--tem-border);color:var(--tem-lavender);background:#fff;border-radius:999px;padding:7px 10px;font-size:13px;font-weight:800}.interactiveStudentPicker{border-top:1px solid var(--tem-border);gap:10px;padding-top:12px;display:grid}.interactiveStudentPicker>strong{color:var(--tem-lavender)}.soonMessage{border-top:1px solid var(--tem-border);padding-top:12px;font-weight:700}.interactiveCard{border:1px solid var(--tem-border);background:#fffffff5;border-radius:8px;gap:20px;padding:22px;display:grid;box-shadow:0 14px 30px #2c244814}.interactiveHeader{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.interactiveHeader span,.interactiveHeader strong{color:var(--tem-lavender);font-weight:800}.interactiveHeader h2{color:var(--tem-pink);margin:5px 0 0;font-size:30px}.letterGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.optionGrid{grid-template-columns:1fr;gap:10px;display:grid}.optionCard{color:var(--tem-text);cursor:pointer;background:#fff;border:1px solid #7479b83d;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:12px 14px;display:grid}.optionCard input{accent-color:var(--tem-pink)}.optionCard span{font-weight:800;line-height:1.35}.ecoemsWeekPanel{gap:18px}.ecoemsSessionGrid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.ecoemsSessionCard{background:#fff;border:1px solid #7479b833;border-radius:8px;gap:10px;padding:16px;display:grid}.ecoemsSessionCard span{color:var(--tem-pink);text-transform:uppercase;font-size:13px;font-weight:900}.ecoemsSessionCard h3{color:var(--tem-lavender);margin:0;font-size:20px;line-height:1.15}.ecoemsSessionCard p{color:var(--tem-text);margin:0}.ecoemsScoreboard,.ecoemsDetailPanel{gap:18px}.ecoemsRankingList{gap:10px;display:grid}.ecoemsRankingCard{background:#fff;border:1px solid #7479b838;border-radius:8px;grid-template-columns:34px 46px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.ecoemsRankingCard>strong{background:var(--tem-pink);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;font-size:15px;display:inline-flex}.ecoemsRankingCard h3{color:var(--tem-lavender);margin:0 0 2px;font-size:17px}.ecoemsRankingCard span,.ecoemsSessionResults span,.ecoemsSessionResults small,.ecoemsSummaryGrid span{color:var(--tem-muted);font-size:13px}.ecoemsRankingCard b{color:var(--tem-pink);font-size:24px}.ecoemsSummaryGrid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.ecoemsSummaryGrid article{background:#6d73b314;border:1px solid #7479b829;border-radius:8px;gap:4px;padding:14px;display:grid}.ecoemsSummaryGrid strong{color:var(--tem-pink);font-size:30px}.ecoemsSessionResults{gap:10px;display:grid}.ecoemsSessionResults article{background:#fff;border:1px solid #7479b833;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px;display:grid}.ecoemsSessionResults article small{grid-column:1/-1}.ecoemsSessionResults b{color:var(--tem-lavender);text-align:right;font-size:20px;display:block}.interactiveTextCase{color:var(--tem-text);background:#6d73b314;border:1px solid #6d73b333;border-radius:8px;gap:8px;padding:16px;line-height:1.55;display:grid}.interactiveTextCase strong{color:var(--tem-pink);text-transform:uppercase;font-size:13px;font-weight:900}.interactiveTextCase p{margin:0}.interactiveTemReason{border-left:5px solid var(--tem-orange);color:var(--tem-text);background:#f48d2d1f;border-radius:8px;gap:6px;padding:14px 16px;display:grid}.interactiveTemReason strong{color:var(--tem-pink);text-transform:uppercase;font-size:13px;font-weight:900}.interactiveTemReason p{margin:0;line-height:1.45}.letterTile{aspect-ratio:1;border:2px solid var(--tem-border);color:var(--tem-lavender);cursor:pointer;background:#fff;border-radius:8px;font-family:Lato,Arial,sans-serif;font-size:clamp(42px,8vw,74px);font-weight:900;transition:transform .16s,border-color .16s,background .16s}.letterTile.optionTile{aspect-ratio:auto;text-align:left;min-height:72px;padding:16px 18px;font-size:18px;line-height:1.35}.letterTile:hover{border-color:var(--tem-pink);transform:translateY(-2px)}.letterTile.selected{border-color:var(--tem-pink);color:var(--tem-pink);background:#ec2f5b1a}.letterTile.correct{border-color:var(--tem-green);color:var(--tem-green);background:#24583e1f}.letterTile.wrong{border-color:var(--tem-orange);color:var(--tem-orange);background:#f48d2d24}.tangramBoard{touch-action:none;-webkit-user-select:none;user-select:none;background-color:#ffffffeb;background-image:linear-gradient(#6d73b314 1px,#0000 1px),linear-gradient(90deg,#6d73b314 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:2px solid #6d73b338;border-radius:8px;width:min(100%,560px);height:380px;position:relative;overflow:hidden}.tangramPieceShape{transform-origin:50%;border:0;border-radius:6px;position:absolute}.tangramPieceShape.triangle{clip-path:polygon(50% 0,0 100%,100% 100%)}.tangramPieceShape.square,.tangramPieceShape.rectangle{clip-path:inset(0)}.tangramPieceShape.diamond{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.tangramTarget{pointer-events:none;background:#24583e1f;outline:2px dashed #24583e6b}.tangramPiece{color:#fff;cursor:grab;letter-spacing:0;place-items:center;padding:0;font-family:Lato,Arial,sans-serif;font-size:11px;font-weight:900;display:grid;box-shadow:0 10px 24px #2c24482e}.tangramPiece:active{cursor:grabbing}.tangramPiece span{pointer-events:none;text-align:center;text-shadow:0 1px 2px #0003;max-width:72px}.puzzleBoard{touch-action:none;-webkit-user-select:none;user-select:none;background-color:#ffffffeb;background-image:linear-gradient(#6d73b314 1px,#0000 1px),linear-gradient(90deg,#6d73b314 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:2px solid #6d73b338;border-radius:8px;width:min(100%,560px);height:380px;position:relative;overflow:hidden}.puzzleSilhouette{pointer-events:none;position:absolute;inset:0}.puzzleTarget{pointer-events:none;background:#24583e1f;outline:2px dashed #24583e6b}.puzzlePiece{color:#fff;cursor:grab;letter-spacing:0;touch-action:none;z-index:2;border:0;place-items:center;padding:0;font-family:Lato,Arial,sans-serif;font-size:11px;font-weight:900;display:grid;position:absolute;box-shadow:0 10px 24px #2c24482e}.puzzlePiece:active{cursor:grabbing}.puzzlePiece span{pointer-events:none;text-align:center;text-shadow:0 1px 2px #0003;max-width:72px}.puzzleShape.circle{border-radius:999px}.puzzleShape.oval{border-radius:50%}.puzzleShape.square,.puzzleShape.rectangle{border-radius:8px}.puzzleShape.triangle{clip-path:polygon(50% 0,0 100%,100% 100%)}.robotGame{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:18px;display:grid}.robotBoard{background:#ffffffe6;border:2px solid #6d73b338;border-radius:8px;gap:8px;min-height:360px;padding:12px;display:grid}.robotCell{color:var(--tem-text);background:#fff;border:2px solid #6d73b329;border-radius:8px;place-items:center;min-height:64px;font-size:13px;font-weight:900;display:grid}.robotCell.path{background:#6d73b31f}.robotCell.start{color:var(--tem-green);border-color:#24583e59}.robotCell.goal{color:var(--tem-pink);background:#ec2f5b1a;border-color:#ec2f5b73}.robotCell.blocked{color:var(--tem-muted);background:#2c24481f;border-color:#2c24482e}.robotCell.current{border-color:var(--tem-pink);background:var(--tem-pink);color:#fff;box-shadow:0 10px 22px #ec2f5b38}.robotPanel{border:1px solid var(--tem-border);background:#fffffff5;border-radius:8px;gap:14px;padding:16px;display:grid}.robotPanel strong{color:var(--tem-lavender)}.robotCommandList{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.robotCommandList span{border:1px solid var(--tem-border);color:var(--tem-lavender);background:#6d73b314;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:900}.robotControls{gap:8px;display:grid}.regionGame{gap:18px;display:grid}.regionBoard{background-color:#fffffff0;background-image:linear-gradient(#6d73b314 1px,#0000 1px),linear-gradient(90deg,#6d73b314 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:2px solid #6d73b338;border-radius:8px;min-height:300px;position:relative;overflow:hidden}.regionCircle{width:230px;height:210px;color:var(--tem-lavender);text-align:center;border:4px solid #6d73b380;border-radius:50%;align-content:center;place-items:center;gap:8px;display:grid;position:absolute;top:42px}.regionCircle.left{background:#ec2f5b1a;border-color:#ec2f5b70;left:calc(50% - 250px)}.regionCircle.right{background:#24583e1a;border-color:#24583e70;right:calc(50% - 250px)}.regionCircle strong,.regionIntersection strong{text-transform:uppercase;font-size:14px;font-weight:900}.regionCircle span,.regionIntersection span{font-size:13px;font-weight:800}.regionCircle b{color:var(--tem-pink);font-size:42px;line-height:1}.regionIntersection{width:130px;min-height:100px;color:var(--tem-orange);text-align:center;background:#f48d2d2e;border-radius:8px;align-content:center;place-items:center;gap:5px;padding:12px;display:grid;position:absolute;top:96px;left:50%;transform:translate(-50%)}.regionTokens{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.regionTokens article{border:1px solid var(--tem-border);text-align:center;background:#fff;border-radius:8px;gap:8px;padding:12px;display:grid}.regionTokens article>strong{color:var(--tem-pink);font-size:32px;line-height:1}.regionTokens article>span{color:var(--tem-lavender);text-transform:uppercase;font-size:12px;font-weight:900}.regionTokens article div{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.regionTokens button{border:1px solid var(--tem-border);color:var(--tem-lavender);cursor:pointer;background:#6d73b314;border-radius:8px;padding:7px;font-weight:900}.regionTokens button:hover{border-color:var(--tem-pink);color:var(--tem-pink)}.multiplierGame{gap:18px;display:grid}.multiplierScene{text-align:center;background:linear-gradient(135deg,#ec2f5b1f,#6d73b31f),#fff;border:2px solid #ec2f5b2e;border-radius:8px;place-items:center;gap:10px;min-height:180px;padding:22px;display:grid}.multiplierBadge{background:var(--tem-pink);color:#fff;text-transform:uppercase;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:900}.multiplierTopLine{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.multiplierTimer{color:var(--tem-lavender);background:#fff;border:2px solid #6d73b338;border-radius:999px;min-width:72px;padding:7px 14px;font-size:18px;font-weight:900}.multiplierTimer.urgent{border-color:var(--tem-pink);color:var(--tem-pink);background:#ec2f5b1f;animation:.7s ease-in-out infinite alternate timerPulse}@keyframes timerPulse{0%{transform:scale(1)}to{transform:scale(1.08)}}.multiplierScene strong{color:var(--tem-lavender);font-size:clamp(46px,9vw,82px);line-height:1}.multiplierScene p{color:var(--tem-text);margin:0;font-weight:800}.multiplierOptions{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.multiplierOption{border:2px solid var(--tem-border);color:var(--tem-lavender);cursor:pointer;text-align:center;background:#fff;border-radius:8px;gap:8px;min-height:130px;padding:18px;transition:transform .16s,border-color .16s,background .16s;display:grid}.multiplierOption:hover{border-color:var(--tem-pink);transform:translateY(-2px)}.multiplierOption span{text-transform:uppercase;font-size:13px;font-weight:900}.multiplierOption strong{font-size:52px;line-height:1}.multiplierOption.selected{border-color:var(--tem-pink);color:var(--tem-pink);background:#ec2f5b1a}.multiplierOption.correct{border-color:var(--tem-green);color:var(--tem-green);background:#24583e1f}.multiplierOption.wrong{border-color:var(--tem-orange);color:var(--tem-orange);background:#f48d2d24}@media (width<=760px){.robotGame{grid-template-columns:1fr}.robotBoard{min-height:300px}.robotCell{min-height:54px;font-size:11px}.regionBoard{min-height:260px}.regionCircle{width:190px;height:180px}.regionCircle.left{left:calc(50% - 205px)}.regionCircle.right{right:calc(50% - 205px)}.regionTokens,.multiplierOptions{grid-template-columns:1fr}}.interactiveResult{border-radius:8px;gap:5px;padding:14px;display:grid}.interactiveResult.success{color:var(--tem-green);background:#24583e1a;border:1px solid #24583e3d}.interactiveResult.review{color:var(--tem-orange);background:#f48d2d1f;border:1px solid #f48d2d47}.historyCardInteractive{border-left-color:var(--tem-pink)}.bankPage{max-width:1060px}.labPage{max-width:1120px}.labGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.labCard{border:1px solid var(--tem-border);background:#fffffff5;border-radius:8px;gap:14px;padding:18px;display:grid;box-shadow:0 12px 26px #2c244812}.labCardWide{grid-column:1/-1}.labCardHeader{justify-content:space-between;align-items:center;gap:12px;display:flex}.labCardHeader span{color:var(--tem-pink);text-transform:uppercase;font-size:12px;font-weight:900}.labCardHeader strong{color:var(--tem-lavender);background:#7479b81f;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}.labCard h2{color:var(--tem-lavender);margin:0;font-family:Lato,Arial,sans-serif}.labCard p{color:var(--tem-text);margin:0;line-height:1.45}.labFeedback{border:1px solid var(--tem-border);background:#fff;border-radius:8px;padding:12px;font-weight:900}.labFeedback.success{color:#24583e;background:#24583e1a;border-color:#24583e52}.labFeedback.warning{color:var(--tem-pink);background:#ec2f5b14;border-color:#ec2f5b42}.checklistGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.checkItem{border:1px solid var(--tem-border);min-height:58px;color:var(--tem-text);background:#fff;border-radius:8px;align-items:center;gap:10px;padding:12px;font-weight:800;display:flex}.checkItem input{width:20px;height:20px;accent-color:var(--tem-pink);flex:none}.checkItem.checked{color:#24583e;background:#24583e14;border-color:#24583e3d}.bankLabPanel{margin-bottom:18px}.labControlGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.labControlGrid label{color:var(--tem-text);text-transform:uppercase;gap:7px;font-size:13px;font-weight:900;display:grid}.labControlGrid select{border:1px solid var(--tem-border);min-height:46px;color:var(--tem-text);background:#fff;border-radius:8px;padding:0 12px;font-family:Lato,Arial,sans-serif;font-size:15px;font-weight:800}.bankLabExercise{background:#f6f6ffb8;border:1px solid #7479b838;border-radius:8px;gap:14px;padding:16px;display:grid}.labExerciseMeta{flex-wrap:wrap;gap:8px;display:flex}.labExerciseMeta span{border:1px solid var(--tem-border);color:var(--tem-lavender);background:#fff;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}.bankLabExercise h3{color:var(--tem-text);margin:0;font-family:Lato,Arial,sans-serif;font-size:22px;line-height:1.3}.bankLabExercise input{border:1px solid var(--tem-border);border-radius:8px;min-height:48px;padding:0 12px;font-size:18px;font-weight:800}.labModelPreview{background:#fff;border:1px dashed #7479b873;border-radius:8px;gap:6px;padding:14px;display:grid}.labModelPreview span{color:var(--tem-pink);text-transform:uppercase;font-size:12px;font-weight:900}.labModelPreview strong{color:var(--tem-lavender);letter-spacing:0;font-family:Lato,Arial,sans-serif;font-size:30px}.labInlineActions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.labActions{justify-content:flex-end;display:flex}.bankSummaryGrid,.bankCatalogGrid,.bankWorkbookMeta{gap:14px;display:grid}.bankSummaryGrid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.bankCatalogGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.bankSummaryGrid article,.bankCatalogGrid article,.bankWorkbook,.bankWorkbookMeta article,.bankCompetencies,.bankExerciseList article,.bankTypesPanel,.bankTypeGrid article{border:1px solid var(--tem-border);background:#fffffff5;border-radius:8px;box-shadow:0 12px 26px #2c244812}.bankSummaryGrid article,.bankCatalogGrid article,.bankWorkbookMeta article,.bankCompetencies,.bankExerciseList article,.bankTypesPanel,.bankTypeGrid article{padding:16px}.bankSummaryGrid span,.bankWorkbookMeta span,.bankCardHeader span,.bankExerciseTop span{color:var(--tem-text);text-transform:uppercase;font-size:12px;font-weight:900}.bankSummaryGrid strong{color:var(--tem-pink);font-family:Lato,Arial,sans-serif;font-size:34px;line-height:1}.bankSummaryGrid p,.bankCardHeader p,.bankExerciseList p,.bankExerciseList small{color:var(--tem-text);margin:0;line-height:1.45}.bankCardHeader,.bankExerciseTop{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.bankCardHeader h2,.bankExerciseList h3{color:var(--tem-lavender);margin:4px 0 0;font-family:Lato,Arial,sans-serif}.bankCardHeader>strong,.bankExerciseTop strong{color:var(--tem-pink);white-space:nowrap;background:#ec2f5b1a;border-radius:999px;padding:7px 11px;font-size:13px;font-weight:900}.bankLevelChips,.bankCompetencies div{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.bankLevelChips span,.bankCompetencies span{border:1px solid var(--tem-border);color:var(--tem-lavender);background:#fff;border-radius:999px;padding:7px 10px;font-size:13px;font-weight:900}.bankWorkbook{gap:16px;padding:20px;display:grid}.bankWorkbookMeta{grid-template-columns:repeat(3,minmax(0,1fr))}.bankWorkbookMeta strong,.bankCompetencies>strong{color:var(--tem-lavender);font-family:Lato,Arial,sans-serif}.bankExerciseList{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.bankExerciseList article{gap:10px;display:grid}.bankExerciseList h3{font-size:18px}.bankTypesPanel{gap:16px;display:grid}.bankTypeGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.bankTypeGrid article{gap:8px;display:grid}.bankTypeGrid span{color:var(--tem-pink);text-transform:uppercase;font-size:12px;font-weight:900}.bankTypeGrid h3{color:var(--tem-lavender);margin:0;font-family:Lato,Arial,sans-serif}.bankTypeGrid p,.bankTypeGrid small{color:var(--tem-text);margin:0;line-height:1.45}.bankTypeGrid small{border-top:1px solid var(--tem-border);padding-top:8px;font-weight:800}.bankControlGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.bankControlCard,.bankTablePanel{border:1px solid var(--tem-border);background:#fffffff5;border-radius:8px;box-shadow:0 12px 26px #2c244812}.bankControlCard{gap:14px;padding:18px;display:grid}.bankControlCard p{color:var(--tem-text);margin:0;line-height:1.45}.bankProgressTrack{background:#7479b81f;border-radius:999px;height:10px;overflow:hidden}.bankProgressTrack span{border-radius:inherit;background:linear-gradient(90deg, var(--tem-pink), var(--tem-lavender));height:100%;display:block}.bankControlStats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.bankControlStats article{border:1px solid var(--tem-border);background:#fff;border-radius:8px;padding:10px}.bankControlStats span,.bankNextStep span,.bankTableHead span{color:var(--tem-text);text-transform:uppercase;font-size:11px;font-weight:900}.bankControlStats strong{color:var(--tem-lavender);margin-top:4px;font-size:18px;line-height:1.2;display:block}.bankNextStep{border-left:4px solid var(--tem-pink);background:#ec2f5b12;border-radius:8px;padding:12px}.bankNextStep p{margin-top:4px;font-weight:800}.bankTablePanel{gap:16px;padding:18px;display:grid}.bankTable{border:1px solid var(--tem-border);border-radius:8px;overflow:hidden}.bankTableHead,.bankTableRow{grid-template-columns:1fr .7fr 1.3fr .7fr 1.5fr;align-items:center;gap:10px;padding:12px 14px;display:grid}.bankTableHead{background:#24583e14}.bankTableRow{border-top:1px solid var(--tem-border);color:var(--tem-text);background:#fff}.bankTableRow strong{color:var(--tem-pink)}.bankExerciseList small{border-top:1px solid var(--tem-border);padding-top:8px;font-weight:700}@media (width<=860px){.labGrid,.checklistGrid,.teacherLevelGrid,.labControlGrid{grid-template-columns:1fr}.labInlineActions{justify-content:stretch}.labInlineActions .secondaryButton{flex:160px}.bankSummaryGrid,.bankCatalogGrid,.bankControlGrid,.bankControlStats,.bankWorkbookMeta,.bankExerciseList,.bankTypeGrid{grid-template-columns:1fr}.bankCardHeader,.bankExerciseTop{flex-direction:column}.bankTable{border:0;gap:10px;display:grid}.bankTableHead{display:none}.bankTableRow{border:1px solid var(--tem-border);border-radius:8px;grid-template-columns:1fr}}.parentView{max-width:1040px}.parentHero{border:1px solid var(--tem-border);background:#fff;border-radius:8px;align-items:center;gap:18px;padding:22px;display:flex}.parentAvatar{background:var(--tem-pink);color:#fff;border-radius:999px;place-items:center;width:86px;height:86px;font-family:Lato,Arial,sans-serif;font-size:42px;font-weight:900;display:grid;box-shadow:0 12px 24px #ec2f5b33}.parentHero h1{margin:4px 0}.parentHero p{color:var(--tem-text);margin:0}.parentSummary,.parentProgressGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.parentProgressGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.parentSummary article,.parentProgressGrid article,.parentNote{border:1px solid var(--tem-border);background:#fffffff5;border-radius:8px;gap:9px;padding:18px;display:grid;box-shadow:0 12px 26px #2c244812}.parentSummary span,.parentProgressGrid span{color:var(--tem-text);text-transform:uppercase;font-size:13px;font-weight:900}.parentSummary strong,.parentProgressGrid strong{color:var(--tem-pink);font-family:Lato,Arial,sans-serif;font-size:22px}.parentSummary p,.parentProgressGrid p,.parentNote p{color:var(--tem-text);margin:0;line-height:1.5}.parentProgressGrid h2,.parentNote h2{color:var(--tem-lavender);margin:0}.achievementsPanel{border:1px solid var(--tem-border);background:#fffffff5;border-radius:8px;padding:18px;box-shadow:0 12px 26px #2c244812}.achievementGrid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.achievementBadge{border:1px solid var(--tem-border);background:#fff;border-radius:8px;justify-items:start;gap:8px;padding:16px;display:grid}.achievementBadge div{background:var(--tem-pink);color:#fff;border-radius:999px;place-items:center;width:48px;height:48px;font-family:Lato,Arial,sans-serif;font-size:22px;font-weight:900;display:grid;box-shadow:0 10px 18px #ec2f5b2e}.achievementBadge.advance div,.achievementBadge.mastery div{background:var(--tem-green);box-shadow:0 10px 18px #24583e29}.achievementBadge.consistency div,.achievementBadge.interactive div{background:var(--tem-orange);box-shadow:0 10px 18px #f48d2d2e}.achievementBadge strong{color:var(--tem-lavender);font-family:Lato,Arial,sans-serif}.achievementBadge p{color:var(--tem-text);margin:0;line-height:1.4}.achievementBadge span{color:var(--tem-lavender);background:#6d73b31f;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900}.achievementBadge .secondaryButton{min-height:36px;padding:7px 12px}.parentAchievements{background:#fffffffa}@media (width<=620px){.interactiveLevels{grid-template-columns:1fr}.interactiveHeader{flex-direction:column}.letterGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.parentHero{flex-direction:column;align-items:flex-start}.parentSummary,.parentProgressGrid{grid-template-columns:1fr}}.teacherReviewPanel{border:1px solid var(--tem-border);background:#fffffff5;border-radius:8px;padding:20px}.teacherReviewList{gap:14px;display:grid}.teacherReviewCard{background:#fffefb;border:1px solid #ec2f5b38;border-radius:8px;gap:10px;padding:16px;display:grid}.teacherReviewCard>strong{color:var(--tem-green-dark);font-family:Lato,Arial,sans-serif;font-size:18px}.teacherReviewCard p{color:var(--tem-text);margin:0;line-height:1.5}.teacherReviewCard div:last-child{border-left:4px solid var(--tem-pink);background:#ec2f5b12;border-radius:8px;gap:6px;padding:12px;display:grid}.teacherReviewCard div:last-child span,.ideasList>span{color:var(--tem-lavender);text-transform:uppercase;font-family:Lato,Arial,sans-serif;font-size:12px;font-weight:900}.ideasList{background:#fffefb;border:1px solid #7479b83d;border-radius:8px;gap:10px;padding:14px;display:grid}.ideaItem{grid-template-columns:34px 1fr;align-items:start;gap:10px;display:grid}.ideaItem strong{color:var(--tem-lavender);background:#6d73b324;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;font-family:Lato,Arial,sans-serif;display:inline-flex}.ideaItem p{color:var(--tem-text);font-weight:700}.openAnswerBox textarea,.workbookCard input{color:var(--tem-ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;caret-color:var(--tem-pink);background:#fffefb}.openAnswerBox textarea::placeholder,.workbookCard input::placeholder{color:#26353d8c}.mentalWarmup{background:linear-gradient(135deg,#eb2f5b14,#7677b81a);border:1px solid #eb2f5b38}.warmupGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.warmupGrid>div{background:#ffffffd1;border:1px solid #0c2f2b1f;padding:16px}.warmupEvidenceCard{gap:12px;display:grid}.warmupEvidenceCard .helperText{margin:0}.warmupEvidenceCard .procedureSurface canvas{min-height:230px}.warmupEvidenceCard .drawingActions{flex-wrap:wrap;gap:10px;display:flex}.warmupTextArea{color:#263f2d;width:100%;min-height:150px;font:inherit;resize:vertical;background:#fff;border:1px solid #d8e4d1;border-radius:8px;padding:14px;line-height:1.5}.warmupTextArea:focus{border-color:#ef2b5f;outline:none;box-shadow:0 0 0 3px #ef2b5f24}.warmupGrid ul{margin:12px 0 0;padding-left:20px}.warmupGrid li{margin:6px 0;font-weight:700}@media (width<=720px){.warmupGrid{grid-template-columns:1fr}}.diagnosticForm{grid-template-columns:repeat(2,minmax(0,1fr))}.diagnosticHero{border:1px solid var(--tem-border);border-left:6px solid var(--tem-pink);background:#fff;border-radius:8px;grid-column:1/-1;gap:12px;padding:22px;display:grid}.diagnosticHero h2{color:var(--tem-lavender);margin:0;font-family:Lato,Arial,sans-serif;font-size:clamp(32px,5vw,54px)}.principleBox{color:var(--tem-text);background:#ec2f5b0f;border:1px solid #ec2f5b3d;border-radius:8px;gap:6px;padding:14px;display:grid}.principleBox strong{color:var(--tem-pink)}.formGridTwo{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.diagnosticTable{gap:10px;display:grid}.diagnosticRow{border:1px solid var(--tem-border);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1.4fr) minmax(220px,.9fr);align-items:center;gap:12px;padding:12px;display:grid}.diagnosticRow span{color:var(--tem-text);font-weight:800}.compactOptions{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.diagnosticEvidencePad{background:#fffefb;border:1px solid #7479b83d;border-radius:8px;gap:14px;padding:16px;display:grid}.diagnosticEvidencePad>div:first-child{gap:6px;display:grid}.diagnosticEvidencePad strong{color:var(--tem-lavender);font-family:Lato,Arial,sans-serif;font-size:18px}.diagnosticEvidencePad p{color:var(--tem-text);margin:0;line-height:1.5}.diagnosticEvidencePad .procedurePad:before{content:"Touchpad del alumno";color:var(--tem-pink);text-transform:uppercase;font-family:Lato,Arial,sans-serif;font-size:13px;font-weight:900}.diagnosticEvidencePad .procedureSurface{border:3px solid #ec2f5b5c;min-height:320px;box-shadow:inset 0 0 0 2px #ffffffd1}.diagnosticEvidencePad .procedureSurface:after{content:"Escribe aqui";z-index:2;color:#7479b857;pointer-events:none;font-family:Lato,Arial,sans-serif;font-size:22px;font-weight:900;position:absolute;bottom:14px;right:16px}.diagnosticEvidencePad .procedureSurface canvas{min-height:320px}@media (width<=760px){.diagnosticForm,.formGridTwo,.diagnosticRow{grid-template-columns:1fr}}html,body,#root{width:100%;max-width:100%;overflow-x:hidden}img,svg,canvas{max-width:100%}@media (width<=760px){body{min-width:0}.app{gap:18px;width:100%;max-width:100%;padding:14px 10px 34px}.accessApp{place-items:center;min-height:100svh;padding:12px}.accessCard{width:100%;max-width:100%;padding:22px 16px}.accessCard .heroLogo,.heroLogo{width:min(230px,82vw)}.hero{width:100%;max-width:100%;padding:24px 10px 18px}.brandMark{width:72px;height:72px;font-size:18px}h1,.hero h1{font-size:clamp(34px,12vw,44px);line-height:1.08}.page h1,.accessCard h1{font-size:clamp(28px,9vw,36px);line-height:1.1}.description{max-width:100%;font-size:16px;line-height:1.45}.heroMeta{justify-content:stretch}.heroMeta span{text-align:center;width:100%}.mainMenu{grid-template-columns:1fr;gap:10px;width:100%;max-width:100%;padding:12px;display:grid}.mainMenu button,.primaryButton,.secondaryButton,.dangerButton,.backButton{text-align:center;white-space:normal;justify-content:center;width:100%;min-width:0}.page{gap:18px;width:100%;max-width:100%;padding:16px 12px}.page>div:first-of-type{padding-bottom:14px}.studentForm,.teacherLevelEditor,.questionBlock,.teacherReviewPanel,.workbookPanel,.interactiveCard,.labCard,.routeBoard{width:100%;min-width:0;padding:14px}.studentForm input,.studentForm select,.studentForm textarea,.accessForm input,.accessForm select,.accessForm textarea,.workbookCard input,.openAnswerBox textarea{min-width:0;font-size:16px}.studentList li,.workbookHeader,.interactiveHeader,.labCardHeader,.sectionTitleRow,.parentHero{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.actionRow,.quickActions,.labActions,.labInlineActions,.drawingActions{grid-template-columns:1fr;width:100%;display:grid}.profileGrid,.teacherLevelGrid,.routeColumns,.workbookGrid,.interactiveLevels,.labGrid,.labControlGrid,.warmupGrid,.formGridTwo,.diagnosticForm,.parentSummary,.parentProgressGrid,.sessionBlockGrid,.progressCards,.dashboardGrid,.achievementGrid{grid-template-columns:1fr}.routeItem{grid-template-columns:42px minmax(0,1fr)}.routeItem span,.workbookCard p,.teacherReviewCard p,.labCard p,.studentList span{overflow-wrap:anywhere}.levelTableWrap{-webkit-overflow-scrolling:touch;width:100%;max-width:100%;overflow-x:auto}.levelTable{min-width:620px}.touchSelection{grid-template-columns:repeat(2,minmax(0,1fr))}.matchBoard{grid-template-columns:1fr}.matchLines{display:none}.compactOptions{grid-template-columns:1fr}.drawingSurface,.procedureSurface,.copyModelPad .procedureSurface{width:100%;max-width:100%}.drawingPad canvas,.procedureSurface canvas,.copyModelPad .procedureSurface canvas{width:100%;height:auto;max-height:58vh}.labModelPreview{text-align:center;grid-template-columns:1fr}}@media (width<=420px){.app{padding-left:8px;padding-right:8px}.page,.accessCard{padding-left:10px;padding-right:10px}.touchSelection,.compactOptions,.quickStats,.activityResultGrid{grid-template-columns:1fr}.levelTable{min-width:560px}}@media (width<=820px){*,:before,:after{max-width:100%}html,body{inline-size:100%;max-inline-size:100%;overflow-x:clip}#root{inline-size:100%;max-inline-size:100vw;overflow-x:clip}.app,.appHeader,.hero,.mainMenu,.page,.routeBoard,.studentForm,.studentList,.levelTableWrap,.workbookPanel,.interactivePage,.interactiveCard,.labPage,.labCard,.accessCard{overflow-wrap:anywhere;inline-size:100%!important;min-inline-size:0!important;max-inline-size:calc(100vw - 20px)!important;margin-inline:auto!important}.app{overflow-x:clip}.hero,.appHeader,.page,.routeBoard,.mainMenu,.accessCard{overflow:hidden}.heroLogo,.accessCard .heroLogo{display:block;inline-size:min(220px,78vw)!important;max-inline-size:78vw!important;margin-inline:auto!important}.hero h1,.page h1,.accessCard h1,h1{overflow-wrap:anywhere;text-align:center;inline-size:100%;max-inline-size:100%}.description,.heroMeta,.routeColumns,.studentList ul,.studentList li,.actionRow,.quickActions{inline-size:100%;min-inline-size:0;max-inline-size:100%}.heroMeta{grid-template-columns:1fr;display:grid}.heroMeta span{border-left-width:1px;inline-size:100%;max-inline-size:100%}.mainMenu{grid-template-columns:1fr!important;display:grid!important}.mainMenu button{inline-size:100%!important;min-inline-size:0!important;max-inline-size:100%!important}.levelTableWrap{overflow:auto hidden}.levelTable{max-inline-size:none}}.interactiveChoiceGrid{gap:10px;display:grid}.interactiveChoiceButton{color:var(--tem-ink);cursor:pointer;text-align:left;background:#fff;border:1px solid #6d73b347;border-radius:8px;gap:5px;padding:13px 14px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.interactiveChoiceButton strong{color:var(--tem-lavender);font-size:17px}.teacherPreviewNotice{color:var(--tem-ink);background:#f48d2d24;border:2px solid #f48d2d52;border-radius:8px;margin:12px 0 0;padding:12px 14px;font-weight:900}.colorSortGame{gap:18px;display:grid}.colorSortBins{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.colorSortTokens{background:#ffffff8f;border:2px dashed #6d73b32e;border-radius:8px;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:18px;min-height:300px;padding:22px 18px 30px;display:flex}.colorSortBin{border:3px dashed color-mix(in srgb, var(--sort-color), #fff 24%);background:color-mix(in srgb, var(--sort-color), #fff 82%);color:var(--tem-ink);cursor:pointer;text-align:center;border-radius:8px;gap:6px;min-height:118px;padding:14px;display:grid}.colorSortBin span{color:var(--sort-color);text-transform:uppercase;font-weight:900}.colorSortBin strong{color:var(--sort-color);font-size:36px}.colorSortBin small{color:var(--tem-text);font-weight:800}.colorSortToken{--token-rotate:0deg;--token-y:0px;color:var(--tem-ink);cursor:pointer;text-align:center;min-height:122px;transform:translateY(var(--token-y)) rotate(var(--token-rotate));background:#fff;border:2px solid #6d73b338;border-radius:8px;gap:6px;width:min(176px,30%);padding:14px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.colorSortToken:nth-child(2n){--token-y:26px;--token-rotate:2deg}.colorSortToken:nth-child(3n){--token-y:8px;--token-rotate:-2deg}.colorSortToken:nth-child(4n){--token-y:38px;--token-rotate:3deg}.colorSortToken:nth-child(5n){--token-y:18px;--token-rotate:-3deg}.colorSortToken:hover,.colorSortToken.active{border-color:var(--sort-color);box-shadow:0 10px 22px color-mix(in srgb, var(--sort-color), transparent 78%);transform:translateY(calc(var(--token-y) - 4px)) rotate(var(--token-rotate))}.colorSortToken>strong{color:var(--sort-color);font-size:44px;line-height:1}.colorSortToken>span{color:var(--tem-lavender);font-weight:900}.colorSortToken small{color:var(--tem-text);font-weight:800}.colorSortToken.correct{border-color:var(--tem-green);background:#24583e1a}.colorSortToken.wrong{border-color:var(--tem-orange);background:#f48d2d24}.memoryGame{gap:16px;display:grid}.memoryStatus{background:#ffffffdb;border:2px solid #6d73b333;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.memoryStatus strong{color:var(--tem-pink);font-size:18px}.memoryStatus span,.memoryHint{color:var(--tem-lavender);font-weight:900}.memoryGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.memoryCard{aspect-ratio:1;background:linear-gradient(145deg, var(--tem-lavender), #fff);color:var(--tem-ink);cursor:pointer;text-align:center;border:2px solid #6d73b347;border-radius:8px;place-items:center;gap:6px;padding:12px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.memoryCard:hover{border-color:var(--tem-pink);transform:translateY(-1px);box-shadow:0 10px 22px #ed2b5a29}.memoryCard strong{color:#fff;font-size:42px;line-height:1}.memoryCard span{color:#fff;font-weight:900}.memoryCard.open,.memoryCard.matched{border-color:var(--tem-pink);background:#fff}.memoryCard.open strong,.memoryCard.open span,.memoryCard.matched strong,.memoryCard.matched span{color:var(--tem-ink)}.memoryCard.matched{border-color:var(--tem-green);background:#24583e1a}@media (width<=760px){.colorSortBins{grid-template-columns:1fr}.colorSortTokens{gap:12px;min-height:0;padding:14px 12px 20px}.colorSortToken{width:calc(50% - 8px);min-height:112px}.colorSortToken:nth-child(n){--token-y:0px}.memoryStatus{flex-direction:column;align-items:flex-start}.memoryGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}.sessionSaveBar{z-index:20;background:#fffffff5;border:1px solid #ec2f5b38;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex;position:sticky;top:12px;box-shadow:0 14px 30px #2f336f24}.sessionSaveBar div{gap:4px;display:grid}.sessionSaveBar strong{color:var(--tem-ink);font-size:.98rem}.sessionSaveBar span{color:var(--tem-muted);font-size:.9rem}.sessionSaveBar .primaryButton{width:auto;min-width:170px;margin:0}@media (width<=720px){.sessionSaveBar{flex-direction:column;align-items:stretch;top:8px}.sessionSaveBar .primaryButton{width:100%}}.diplomaPage{align-items:center}.diplomaPreview{border:10px solid var(--diploma-color,var(--tem-pink));width:min(100%,980px);color:var(--tem-text);text-align:center;background:#fff;border-radius:18px;justify-items:center;gap:12px;margin:0 auto;padding:clamp(24px,5vw,54px);display:grid;box-shadow:0 22px 50px #2f2f3a24}.diplomaPreview img{max-width:min(320px,80%);height:auto}.diplomaPreview h1{color:var(--diploma-color,var(--tem-pink));margin:6px 0;font-size:clamp(34px,6vw,64px)}.diplomaPreview h2{color:var(--tem-lavender);margin:4px 0;font-size:clamp(22px,4vw,36px)}.diplomaPreview p{max-width:720px;margin:0}.diplomaStudentName{color:var(--tem-green);font-family:Lato,Arial,sans-serif;font-size:clamp(28px,5vw,52px)}.diplomaPreview span{background:var(--diploma-color,var(--tem-pink));color:#fff;border-radius:999px;padding:10px 18px;font-weight:800;display:inline-flex}.diplomaQuote{color:var(--tem-muted);font-style:italic}.diplomaSignatureRow{grid-template-columns:repeat(2,minmax(180px,1fr));gap:14px;width:min(100%,620px);margin-top:22px;display:grid}.diplomaSignatureRow span{border-top:1px solid var(--tem-border);color:var(--tem-muted);background:0 0;border-radius:0;padding-top:10px}@media (width<=640px){.diplomaPreview{border-width:6px;padding:22px 16px}.diplomaSignatureRow{grid-template-columns:1fr}}.attendancePanelPro{gap:18px;display:grid}.attendanceSummaryPro{grid-template-columns:repeat(4,minmax(0,1fr))}.attendanceSummaryPro small{color:var(--tem-muted);font-size:12px;line-height:1.35}.attendanceSummary .attendanceAdvance{background:#228b5914;border-color:#228b593d}.attendanceSummary .attendanceAdvance strong{color:#1f8a5b}.teacherDailyTable{border:1px solid var(--tem-border);border-radius:8px;display:grid;overflow:hidden}.teacherDailyRow{border-bottom:1px solid #6d73b329;grid-template-columns:minmax(170px,1.2fr) minmax(150px,1fr) minmax(160px,1fr) minmax(210px,1.4fr) minmax(160px,auto);align-items:start;gap:12px;padding:14px;display:grid}.teacherDailyRow:last-child{border-bottom:0}.teacherDailyHead{color:var(--tem-ink);background:#6d73b31a;padding:12px 14px;font-weight:900}.teacherDailyRow div{gap:5px;display:grid}.teacherDailyRow strong{color:var(--tem-lavender)}.teacherDailyRow small{color:var(--tem-text);font-size:13px;line-height:1.35}.attendanceStatus{border-radius:999px;justify-self:start;padding:7px 10px;font-size:12px;font-weight:900;line-height:1;display:inline-flex}.attendanceStatusDone{color:#1f8a5b;background:#228b591f}.attendanceStatusPending{color:var(--tem-pink);background:#ed2b5a1f}.attendanceStatusSupport{color:#8a6200;background:#ffb80029}.teacherDailyActions{flex-wrap:wrap;justify-content:flex-end;align-items:stretch;gap:8px;display:flex!important}.teacherDailyActions button{min-width:92px}@media (width<=1080px){.attendanceSummaryPro{grid-template-columns:repeat(2,minmax(0,1fr))}.teacherDailyRow{grid-template-columns:1fr}.teacherDailyHead{display:none}.teacherDailyActions{justify-content:flex-start}}@media (width<=640px){.attendanceSummaryPro{grid-template-columns:1fr}}.parentHeroPro{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:stretch;display:grid}.parentHeroIdentity{align-items:center;gap:18px;display:flex}.familyScoreCard{background:#ffffffc7;border:1px solid #ed2b5a38;border-radius:8px;gap:8px;padding:16px;display:grid}.familyScoreCard span,.familyRouteSteps span,.studentProgressHero span{color:var(--tem-text);text-transform:uppercase;font-size:12px;font-weight:900}.familyScoreCard strong{color:var(--tem-pink);font-family:Lato,Arial,sans-serif;font-size:42px;line-height:1}.familyScoreCard p{color:var(--tem-text);margin:0}.familyProgress div{background:var(--tem-pink)}.familyRoutePanel,.studentProgressHero{border:1px solid var(--tem-border);background:#fffffff5;border-radius:8px;gap:16px;padding:18px;display:grid;box-shadow:0 12px 26px #2c244812}.familyRoutePanel h2,.studentProgressHero h2{color:var(--tem-lavender);margin:0}.familyRoutePanel p,.studentProgressHero p{color:var(--tem-text);margin:0}.familyRouteSteps{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.familyRouteSteps article{background:#6d73b30f;border:1px solid #6d73b32e;border-radius:8px;gap:6px;padding:14px;display:grid}.familyRouteSteps strong{color:var(--tem-pink);font-family:Lato,Arial,sans-serif;font-size:22px}.studentProgressHero{grid-template-columns:minmax(0,1fr) minmax(280px,.9fr)}.studentProgressBars{gap:12px;display:grid}.studentProgressBars article{gap:8px;display:grid}@media (width<=780px){.parentHeroPro,.studentProgressHero,.familyRouteSteps{grid-template-columns:1fr}.parentHeroIdentity{align-items:flex-start}}.interactiveLabHero{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.interactiveLabHero article,.interactiveFocusGrid article{border:1px solid var(--tem-border);background:#fffffff5;border-radius:8px;gap:8px;padding:16px;display:grid;box-shadow:0 12px 26px #2c244812}.interactiveLabHero span,.interactiveMetaRow span{color:var(--tem-text);text-transform:uppercase;font-size:12px;font-weight:900}.interactiveLabHero strong{color:var(--tem-pink);font-family:Lato,Arial,sans-serif;font-size:34px;line-height:1}.interactiveLabHero p,.interactiveFocusGrid span{color:var(--tem-text);margin:0}.interactiveFocusGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.interactiveFocusGrid article{border-top:4px solid var(--tem-pink);box-shadow:none}.interactiveFocusGrid article:nth-child(2){border-top-color:var(--tem-lavender)}.interactiveFocusGrid article:nth-child(3){border-top-color:var(--tem-green)}.interactiveFocusGrid article:nth-child(4){border-top-color:var(--tem-orange)}.interactiveFocusGrid strong{color:var(--tem-lavender);font-family:Lato,Arial,sans-serif;font-size:18px}.interactiveGameLibrary{max-width:none}.interactiveGameLibrary .interactiveLevelCard{position:relative;overflow:hidden}.interactiveGameLibrary .interactiveLevelCard:before{content:"";background:linear-gradient(90deg, var(--tem-pink), var(--tem-lavender), var(--tem-orange));height:5px;position:absolute;inset:0 0 auto}.interactiveMetaRow{flex-wrap:wrap;gap:8px;display:flex}.interactiveMetaRow span{color:var(--tem-lavender);background:#6d73b314;border:1px solid #6d73b333;border-radius:999px;padding:6px 10px}.interactiveGameLibrary .interactiveActivityList span{background:#ed2b5a0f;border-color:#ed2b5a33}.interactiveChoiceGrid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;display:grid}.interactiveChoiceButton{cursor:pointer;text-align:left;background:#fff;border:1px solid #6d73b33d;border-radius:8px;align-items:start;gap:7px;min-height:122px;padding:14px;transition:transform .15s,box-shadow .15s,border-color .15s;display:grid}.interactiveChoiceButton:hover{border-color:var(--tem-pink);transform:translateY(-2px);box-shadow:0 12px 24px #ed2b5a1f}.interactiveChoiceButton span{color:var(--tem-pink);text-transform:uppercase;font-size:12px;font-weight:900}.interactiveChoiceButton strong{color:var(--tem-lavender);font-family:Lato,Arial,sans-serif;font-size:17px}.interactiveChoiceButton small{color:var(--tem-text);line-height:1.35}@media (width<=900px){.interactiveLabHero,.interactiveFocusGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.interactiveLabHero,.interactiveFocusGrid{grid-template-columns:1fr}.ecoemsRankingCard{grid-template-columns:30px 42px minmax(0,1fr)}.ecoemsRankingCard b{grid-column:3;font-size:20px}.ecoemsSessionResults article{grid-template-columns:1fr}.ecoemsSessionResults b{text-align:left}}
