:root {
  color-scheme: dark;
  --bg: #080d19;
  --bg-soft: #0d1426;
  --panel: #111b31;
  --panel-2: #16223d;
  --panel-3: #1b2948;
  --line: rgba(163, 181, 225, .14);
  --line-strong: rgba(163, 181, 225, .24);
  --text: #f7f9ff;
  --muted: #9da9c7;
  --muted-2: #7180a5;
  --purple: #8068ff;
  --purple-2: #aa8cff;
  --cyan: #55dff0;
  --green: #52dda8;
  --yellow: #ffd36b;
  --red: #ff7188;
  --shadow: 0 24px 80px rgba(0, 0, 0, .28);
  --radius: 22px;
  --radius-sm: 14px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--bg); color: var(--text); }
body { min-height: 100vh; overflow: hidden; }
button, input, textarea { font: inherit; }
button { color: inherit; }
button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid rgba(85, 223, 240, .42); outline-offset: 2px; }

.app-shell { display: grid; grid-template-columns: 248px minmax(0, 1fr); min-height: 100vh; }
.sidebar {
  position: relative; z-index: 20; height: 100vh; padding: 22px 16px; background: linear-gradient(180deg, #0d1529 0%, #0b1121 100%);
  border-right: 1px solid var(--line); display: flex; flex-direction: column; gap: 24px;
}
.brand { border: 0; background: transparent; display: flex; align-items: center; gap: 12px; text-align: left; padding: 4px; cursor: pointer; }
.brand-mark {
  width: 44px; height: 44px; flex: 0 0 auto; border-radius: 14px; display: grid; place-items: center; font-weight: 1000; font-size: 23px;
  background: linear-gradient(135deg, var(--purple), #5edff1); box-shadow: 0 10px 30px rgba(128, 104, 255, .3);
}
.brand-mark.small { width: 34px; height: 34px; border-radius: 10px; font-size: 18px; }
.brand-copy { display: flex; flex-direction: column; gap: 2px; }
.brand-copy strong { font-size: 20px; letter-spacing: -.4px; }
.brand-copy small { font-size: 8px; letter-spacing: 1px; color: var(--muted-2); font-weight: 800; }
.nav-list { display: flex; flex-direction: column; gap: 7px; }
.nav-item {
  width: 100%; border: 1px solid transparent; background: transparent; color: var(--muted); border-radius: 13px; padding: 12px 13px;
  display: flex; align-items: center; gap: 13px; text-align: left; cursor: pointer; transition: .18s ease;
}
.nav-item span { width: 22px; font-size: 19px; text-align: center; }
.nav-item b { font-size: 14px; }
.nav-item:hover { background: rgba(255,255,255,.035); color: #fff; }
.nav-item.active { background: linear-gradient(90deg, rgba(128,104,255,.2), rgba(85,223,240,.06)); color: #fff; border-color: rgba(128,104,255,.24); }
.nav-item.active span { color: var(--cyan); }
.sidebar-bottom { margin-top: auto; }
.mini-player { display: flex; gap: 10px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.025); }
.avatar { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; font-weight: 900; background: linear-gradient(135deg, #4dd4ac, #8068ff); }
.mini-player div:last-child { display: flex; flex-direction: column; min-width: 0; }
.mini-player strong { font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mini-player small { color: var(--muted); font-size: 11px; margin-top: 2px; }

.main-shell { min-width: 0; height: 100vh; overflow: hidden; background:
  radial-gradient(circle at 82% -10%, rgba(128,104,255,.12), transparent 32%),
  radial-gradient(circle at 15% 90%, rgba(85,223,240,.055), transparent 30%), var(--bg); }
.topbar { height: 72px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: flex-end; padding: 0 26px; background: rgba(8,13,25,.72); backdrop-filter: blur(18px); }
.mobile-brand { display: none; align-items: center; gap: 9px; margin-right: auto; }
.top-stats { display: flex; gap: 9px; align-items: center; }
.stat-pill { height: 38px; min-width: 72px; padding: 0 12px; border: 1px solid var(--line); background: rgba(255,255,255,.035); border-radius: 12px; display: flex; gap: 7px; align-items: center; justify-content: center; }
.stat-pill span { color: var(--muted); font-size: 11px; font-weight: 900; }
.stat-pill strong { font-size: 13px; }
.coin-pill span { color: var(--yellow); }
.streak-pill span { color: #ff9b55; font-size: 15px; }
.xp-pill span { color: var(--purple-2); }

#app-view { height: calc(100vh - 72px); overflow: auto; scroll-behavior: smooth; }
.page { width: min(1280px, 100%); margin: 0 auto; padding: 30px 32px 70px; animation: pageIn .28s ease both; }
.page-head { display: flex; justify-content: space-between; gap: 20px; align-items: flex-end; margin-bottom: 24px; }
.page-head h1, .page-head h2 { margin: 0; letter-spacing: -.8px; }
.page-head h1 { font-size: clamp(28px, 3vw, 40px); }
.page-head p { margin: 7px 0 0; color: var(--muted); max-width: 700px; line-height: 1.55; }
.eyebrow { display: inline-flex; align-items: center; gap: 7px; color: var(--cyan); font-size: 11px; font-weight: 900; letter-spacing: 1.15px; text-transform: uppercase; margin-bottom: 8px; }

.grid { display: grid; gap: 18px; }
.grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.card { border: 1px solid var(--line); background: linear-gradient(180deg, rgba(24,36,64,.92), rgba(15,24,44,.94)); border-radius: var(--radius); box-shadow: 0 10px 32px rgba(0,0,0,.12); }
.card-pad { padding: 21px; }
.section-title { display: flex; align-items: center; justify-content: space-between; margin: 30px 0 14px; }
.section-title h2 { font-size: 18px; margin: 0; }
.section-title span { color: var(--muted); font-size: 12px; }

.hero-card { min-height: 300px; padding: 32px; border-radius: 28px; border: 1px solid rgba(139, 122, 255, .28); position: relative; overflow: hidden; background:
  radial-gradient(circle at 84% 45%, rgba(85,223,240,.22), transparent 26%),
  radial-gradient(circle at 74% 15%, rgba(161,124,255,.3), transparent 28%),
  linear-gradient(135deg, #182450 0%, #171f3d 48%, #102a3d 100%); box-shadow: var(--shadow); }
.hero-card::after { content: "x + y = ∞"; position: absolute; right: 4%; top: 26%; font: 900 clamp(32px, 5vw, 70px)/1 ui-monospace, monospace; color: rgba(255,255,255,.055); transform: rotate(-8deg); }
.hero-copy { width: min(620px, 66%); position: relative; z-index: 2; }
.hero-copy h1 { font-size: clamp(34px, 5vw, 60px); line-height: .98; margin: 8px 0 14px; letter-spacing: -2.2px; }
.hero-copy h1 span { background: linear-gradient(90deg, #fff, #88e9f5); -webkit-background-clip: text; color: transparent; }
.hero-copy p { color: #b8c4e1; line-height: 1.55; max-width: 560px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.hero-orb { position: absolute; right: 9%; bottom: 45px; width: 150px; height: 150px; border-radius: 50%; border: 1px solid rgba(255,255,255,.15); background: radial-gradient(circle at 34% 28%, #94f5ff, #6f5dff 32%, #1b2454 67%, #0a0f24 100%); box-shadow: 0 0 80px rgba(100,88,255,.42); }
.hero-orb::before, .hero-orb::after { content: ""; position: absolute; inset: -18px; border: 1px solid rgba(137,213,255,.25); border-radius: 50%; transform: rotateX(68deg); }
.hero-orb::after { inset: -37px; transform: rotateY(68deg); }

.btn { border: 1px solid transparent; min-height: 42px; border-radius: 13px; padding: 10px 16px; font-weight: 850; font-size: 13px; cursor: pointer; transition: transform .16s ease, filter .16s ease, background .16s ease; display: inline-flex; align-items: center; justify-content: center; gap: 8px; text-decoration: none; }
.btn:hover:not(:disabled) { transform: translateY(-1px); filter: brightness(1.08); }
.btn:disabled { opacity: .45; cursor: not-allowed; }
.btn.primary { background: linear-gradient(135deg, var(--purple), #6253d7); color: white; box-shadow: 0 10px 28px rgba(128,104,255,.22); }
.btn.secondary { background: rgba(255,255,255,.06); border-color: var(--line-strong); color: #fff; }
.btn.cyan { background: linear-gradient(135deg, #42cbdc, #3a98d3); color: #04141c; }
.btn.success { background: linear-gradient(135deg, #4cdaa5, #39b889); color: #071812; }
.btn.danger { background: rgba(255,113,136,.12); color: #ff9aaa; border-color: rgba(255,113,136,.22); }
.btn.ghost { background: transparent; color: var(--muted); border-color: var(--line); }
.btn.small { min-height: 34px; padding: 7px 11px; border-radius: 10px; font-size: 12px; }

.stat-card { padding: 19px; min-height: 128px; position: relative; overflow: hidden; }
.stat-card .icon { width: 37px; height: 37px; border-radius: 11px; display: grid; place-items: center; background: rgba(128,104,255,.13); color: var(--purple-2); margin-bottom: 18px; }
.stat-card strong { display: block; font-size: 25px; letter-spacing: -.5px; }
.stat-card small { color: var(--muted); font-weight: 650; }

.progress-track { height: 8px; background: rgba(255,255,255,.07); border-radius: 999px; overflow: hidden; }
.progress-fill { height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--purple), var(--cyan)); transition: width .4s ease; }
.progress-fill.green { background: linear-gradient(90deg, #3dbd8c, #66e2b0); }
.progress-fill.yellow { background: linear-gradient(90deg, #eeb44e, #ffe183); }
.progress-meta { display: flex; justify-content: space-between; align-items: center; font-size: 11px; color: var(--muted); margin: 8px 0 7px; }

.quest-list { display: grid; gap: 10px; }
.quest-row { padding: 14px; border: 1px solid var(--line); border-radius: 15px; background: rgba(255,255,255,.02); display: grid; grid-template-columns: 40px 1fr auto; gap: 11px; align-items: center; }
.quest-icon { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: rgba(255,211,107,.1); color: var(--yellow); }
.quest-row strong { font-size: 13px; display: block; }
.quest-row small { color: var(--muted); font-size: 11px; }
.quest-count { font-size: 12px; color: var(--muted); }
.quest-row.complete { border-color: rgba(82,221,168,.28); background: rgba(82,221,168,.04); }

.lesson-card { padding: 19px; position: relative; overflow: hidden; }
.lesson-number { width: 36px; height: 36px; border-radius: 12px; display: grid; place-items: center; font-weight: 950; background: rgba(128,104,255,.13); color: #b8adff; }
.lesson-card h3 { margin: 16px 0 7px; font-size: 16px; }
.lesson-card p { margin: 0 0 15px; color: var(--muted); line-height: 1.45; font-size: 13px; min-height: 38px; }
.lesson-card .lesson-actions { display: flex; justify-content: space-between; align-items: center; margin-top: 14px; }
.mastery-chip { color: var(--cyan); font-size: 12px; font-weight: 850; }
.coming-card { opacity: .66; }

.lesson-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 18px; align-items: start; }
.lesson-panel { padding: 26px; }
.lesson-panel h2 { margin-top: 0; }
.example-box { border: 1px solid rgba(85,223,240,.18); background: rgba(85,223,240,.055); padding: 17px; border-radius: 16px; margin: 18px 0; }
.example-box small { color: var(--cyan); font-weight: 900; text-transform: uppercase; letter-spacing: .8px; }
.example-box div { margin-top: 8px; font: 800 18px ui-monospace, SFMono-Regular, Menlo, monospace; }
.question-card { padding: 26px; }
.question-kicker { display: flex; align-items: center; justify-content: space-between; color: var(--muted); font-size: 12px; font-weight: 700; }
.difficulty { display: flex; gap: 4px; }
.difficulty i { width: 6px; height: 16px; border-radius: 3px; background: rgba(255,255,255,.09); align-self: flex-end; }
.difficulty i:nth-child(2) { height: 21px; }
.difficulty i:nth-child(3) { height: 27px; }
.difficulty i.on { background: var(--purple-2); }
.math-prompt { font: 800 clamp(23px, 3vw, 34px)/1.3 ui-monospace, SFMono-Regular, Menlo, monospace; margin: 24px 0; letter-spacing: -.8px; }
.answer-input, .working-input { width: 100%; color: #fff; border: 1px solid var(--line-strong); background: #0c1528; border-radius: 14px; padding: 14px 15px; transition: border .15s; }
.answer-input { min-height: 52px; font: 700 18px ui-monospace, monospace; }
.working-input { resize: vertical; min-height: 82px; margin-top: 10px; line-height: 1.5; }
.answer-input:focus, .working-input:focus { border-color: rgba(85,223,240,.6); }
.choice-grid { display: grid; gap: 9px; margin: 18px 0; }
.choice { text-align: left; border: 1px solid var(--line); background: rgba(255,255,255,.025); border-radius: 14px; padding: 14px; cursor: pointer; transition: .15s; }
.choice:hover { border-color: rgba(128,104,255,.45); background: rgba(128,104,255,.06); }
.choice.selected { border-color: var(--purple); background: rgba(128,104,255,.14); }
.question-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 16px; }
.feedback { margin-top: 16px; border-radius: 15px; padding: 15px; border: 1px solid var(--line); }
.feedback.correct { border-color: rgba(82,221,168,.28); background: rgba(82,221,168,.07); }
.feedback.wrong { border-color: rgba(255,113,136,.25); background: rgba(255,113,136,.06); }
.feedback strong { display: block; margin-bottom: 4px; }
.feedback p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.hint-box { margin-top: 12px; padding: 13px; border-radius: 13px; background: rgba(255,211,107,.06); border: 1px solid rgba(255,211,107,.17); color: #f2d794; font-size: 13px; }
.solution-box { margin-top: 12px; padding: 14px; border-radius: 13px; background: rgba(85,223,240,.05); border: 1px solid rgba(85,223,240,.17); color: #c8f7fb; line-height: 1.5; font-size: 13px; }

.shop-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.shop-card { padding: 17px; display: grid; grid-template-columns: 52px 1fr; gap: 13px; align-items: center; }
.item-icon { width: 52px; height: 52px; display: grid; place-items: center; font-size: 26px; border-radius: 15px; background: linear-gradient(135deg, rgba(128,104,255,.17), rgba(85,223,240,.09)); border: 1px solid var(--line); }
.shop-card h3 { margin: 0 0 4px; font-size: 14px; }
.shop-card p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.4; }
.shop-card .price-row { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; margin-top: 5px; }
.price { color: var(--yellow); font-weight: 900; font-size: 13px; }

.locker-layout { display: grid; grid-template-columns: 340px 1fr; gap: 18px; }
.character-stage { min-height: 430px; display: grid; place-items: center; position: relative; overflow: hidden; background: radial-gradient(circle at 50% 42%, rgba(128,104,255,.19), transparent 35%), linear-gradient(180deg,#151f3a,#0d1528); }
.character-stage::before { content: ""; position: absolute; width: 250px; height: 250px; border-radius: 50%; border: 1px solid rgba(85,223,240,.12); box-shadow: inset 0 0 80px rgba(85,223,240,.06); }
.character-body { position: relative; z-index: 2; text-align: center; }
.character-head { width: 82px; height: 82px; border-radius: 50%; background: #f1bd8c; margin: 0 auto -8px; border: 5px solid #0f172b; }
.character-torso { width: 130px; height: 160px; border-radius: 42px 42px 26px 26px; margin: 0 auto; background: linear-gradient(160deg, #4dd4ac, #3864bf); border: 5px solid #0f172b; display: grid; place-items: center; font-weight: 1000; font-size: 33px; }
.character-stage .equipped-name { position: absolute; bottom: 24px; font-weight: 900; }

.badge-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.badge-card { padding: 18px; display: grid; grid-template-columns: 54px 1fr; gap: 13px; align-items: center; }
.badge-icon { width: 54px; height: 54px; border-radius: 16px; display: grid; place-items: center; font-size: 26px; background: rgba(255,211,107,.08); border: 1px solid rgba(255,211,107,.15); }
.badge-card.locked { opacity: .45; filter: grayscale(.7); }
.badge-card h3 { margin: 0 0 5px; font-size: 14px; }
.badge-card p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.4; }

.profile-grid { display: grid; grid-template-columns: 340px 1fr; gap: 18px; }
.profile-hero { padding: 24px; text-align: center; }
.profile-avatar { width: 88px; height: 88px; margin: 5px auto 14px; border-radius: 50%; display: grid; place-items: center; font-size: 34px; font-weight: 1000; background: linear-gradient(135deg, var(--green), var(--purple)); box-shadow: 0 14px 40px rgba(128,104,255,.22); }
.profile-hero h2 { margin: 0; }
.profile-hero p { color: var(--muted); }

.game-page { width: 100%; padding: 18px 22px 42px; }
.game-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 16px; }
.game-frame { border: 1px solid var(--line-strong); border-radius: 22px; overflow: hidden; background: #0c1324; min-height: 620px; box-shadow: var(--shadow); }
.game-side { padding: 18px; height: fit-content; }
.game-side h3 { margin-top: 0; }
.game-tip { display: flex; gap: 10px; align-items: flex-start; padding: 11px 0; border-bottom: 1px solid var(--line); }
.game-tip:last-child { border-bottom: 0; }
.game-tip span { color: var(--cyan); }
.game-tip p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.heart { color: var(--red); font-size: 16px; }
.heart.empty { opacity: .18; }
.vs { text-align: center; font: 1000 24px ui-monospace, monospace; color: var(--muted-2); }

.modal-backdrop { position: fixed; inset: 0; z-index: 120; display: grid; place-items: center; padding: 20px; background: rgba(2,6,14,.8); backdrop-filter: blur(15px); }
.modal { width: min(650px, 100%); border: 1px solid var(--line-strong); background: linear-gradient(180deg, #18233f, #10182c); border-radius: 26px; padding: 27px; box-shadow: var(--shadow); }
.modal h2 { margin-top: 0; }
.onboarding-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 20px 0; }
.onboarding-step { padding: 14px; border: 1px solid var(--line); border-radius: 15px; background: rgba(255,255,255,.025); }
.onboarding-step span { font-size: 25px; }
.onboarding-step strong { display: block; margin: 9px 0 5px; font-size: 13px; }
.onboarding-step p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.4; }

.toast-root { position: fixed; right: 22px; bottom: 22px; z-index: 150; display: grid; gap: 10px; pointer-events: none; }
.toast { min-width: 250px; max-width: 360px; padding: 13px 15px; border: 1px solid var(--line-strong); border-radius: 14px; background: #17213a; box-shadow: 0 18px 60px rgba(0,0,0,.35); animation: toastIn .22s ease both; }
.toast strong { display: block; font-size: 13px; }
.toast span { color: var(--muted); font-size: 11px; }
.toast.success { border-color: rgba(82,221,168,.3); }
.toast.reward { border-color: rgba(255,211,107,.3); }

.empty-state { text-align: center; padding: 48px 24px; }
.empty-state .big { font-size: 45px; }
.empty-state h2 { margin-bottom: 8px; }
.empty-state p { color: var(--muted); }
.lock-note { color: var(--muted); font-size: 12px; line-height: 1.5; }
.tag { display: inline-flex; gap: 6px; align-items: center; border-radius: 999px; padding: 6px 9px; border: 1px solid var(--line); color: var(--muted); font-size: 10px; font-weight: 800; }
.tag.green { color: #8cf3c9; border-color: rgba(82,221,168,.22); background: rgba(82,221,168,.05); }
.tag.purple { color: #c8bcff; border-color: rgba(128,104,255,.24); background: rgba(128,104,255,.06); }

@keyframes pageIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes toastIn { from { opacity: 0; transform: translateY(10px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes pop { 0% { transform: scale(.9); } 65% { transform: scale(1.04); } 100% { transform: scale(1); } }
.pop { animation: pop .35s ease both; }

@media (max-width: 1100px) {
  .app-shell { grid-template-columns: 86px minmax(0, 1fr); }
  .sidebar { padding: 18px 12px; }
  .brand-copy, .nav-item b, .mini-player div:last-child { display: none; }
  .brand, .nav-item { justify-content: center; }
  .nav-item { padding: 12px; }
  .mini-player { justify-content: center; padding: 10px; }
  .grid.four { grid-template-columns: repeat(2, 1fr); }
  .shop-grid, .badge-grid { grid-template-columns: repeat(2, 1fr); }
  .hero-copy { width: 72%; }
}

@media (max-width: 820px) {
  body { overflow: auto; }
  .app-shell { display: block; min-height: 100vh; }
  .sidebar { position: fixed; z-index: 50; inset: auto 0 0 0; width: 100%; height: 68px; padding: 8px; border-right: 0; border-top: 1px solid var(--line); flex-direction: row; background: rgba(9,14,27,.95); backdrop-filter: blur(18px); }
  .sidebar .brand, .sidebar-bottom { display: none; }
  .nav-list { width: 100%; flex-direction: row; justify-content: space-around; gap: 2px; }
  .nav-item { width: auto; flex: 1; min-width: 0; padding: 8px 5px; flex-direction: column; gap: 2px; border-radius: 10px; }
  .nav-item span { font-size: 16px; }
  .nav-item b { display: block; font-size: 9px; }
  .main-shell { height: auto; min-height: 100vh; overflow: visible; }
  #app-view { height: auto; min-height: calc(100vh - 62px); overflow: visible; padding-bottom: 66px; }
  .topbar { height: 62px; padding: 0 14px; }
  .mobile-brand { display: flex; }
  .xp-pill { display: none; }
  .stat-pill { min-width: 52px; padding: 0 9px; }
  .page { padding: 22px 15px 90px; }
  .grid.two, .grid.three, .grid.four, .lesson-layout, .locker-layout, .profile-grid, .game-layout { grid-template-columns: 1fr; }
  .hero-card { min-height: 350px; padding: 24px; }
  .hero-copy { width: 100%; }
  .hero-copy h1 { font-size: 41px; max-width: 440px; }
  .hero-copy p { max-width: 75%; }
  .hero-orb { width: 105px; height: 105px; right: 8%; bottom: 40px; opacity: .8; }
  .shop-grid, .badge-grid { grid-template-columns: 1fr; }
  .game-page { padding: 12px 10px 86px; }
  .game-frame { min-height: 520px; }
  .onboarding-steps { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .top-stats { gap: 5px; }
  .stat-pill { min-width: 45px; height: 34px; }
  .level-pill span { display: none; }
  .page-head { align-items: flex-start; flex-direction: column; }
  .hero-copy p { max-width: 100%; }
  .hero-orb { display: none; }
  .hero-card { min-height: auto; }
  .grid.four { grid-template-columns: 1fr; }
  .question-card, .lesson-panel { padding: 19px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}

.profile-name-row { margin-top: 18px; display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.profile-name-row .answer-input { min-height: 40px; padding: 8px 10px; font-size: 13px; text-align: center; }
.onboarding-start { width: 100%; margin-top: 12px; }
.equipped-name.name-glow { color: #d7fbff; text-shadow: 0 0 8px #55dff0, 0 0 22px rgba(85,223,240,.65); }
.equipped-name.name-prism { background: linear-gradient(90deg,#ff8ea1,#ffd36b,#52dda8,#55dff0,#aa8cff,#ff8ea1); background-size: 240% 100%; -webkit-background-clip: text; color: transparent; animation: prismShift 3s linear infinite; }
@keyframes prismShift { to { background-position: 240% 0; } }

/* Friendly MathRift account + owner upgrade */
.card { background: #111b31; box-shadow: 0 5px 0 rgba(3,8,18,.32); }
.hero-card { background: #17324b; border: 2px solid #2d5874; box-shadow: 0 8px 0 #060d18; }
.hero-card::after { content: "✏  x + 7 = 18"; color: rgba(255,255,255,.09); transform: rotate(-5deg); }
.hero-copy h1 span { color: #82e7f2; background: none; }
.hero-orb { background: #8068ff; border: 5px solid #a99aff; box-shadow: 8px 8px 0 rgba(4,9,18,.32); }
.btn.primary { background: #735ee8; box-shadow: 0 4px 0 #403391; }
.btn.cyan { background: #55dff0; box-shadow: 0 4px 0 #267985; }

.account-chip { margin-right: 10px; min-width: 160px; height: 44px; padding: 5px 12px; border-radius: 14px; border: 1px solid var(--line-strong); background: #111b31; display: grid; grid-template-columns: 10px 1fr; grid-template-rows: 1fr 1fr; column-gap: 8px; align-items: center; text-align: left; cursor: pointer; }
.account-chip .account-dot { grid-row: 1 / 3; width: 9px; height: 9px; border-radius: 50%; background: #ff7188; }
.account-chip.signed-in .account-dot { background: #52dda8; }
.account-chip.owner { border-color: rgba(255,211,107,.42); }
.account-chip.owner .account-dot { background: #ffd36b; box-shadow: 0 0 0 4px rgba(255,211,107,.08); }
.account-chip span:not(.account-dot) { font-size: 12px; font-weight: 900; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.account-chip small { font-size: 8px; color: var(--muted); font-weight: 900; letter-spacing: .8px; }
.owner-entry { width: 100%; margin-top: 8px; border: 1px solid rgba(255,211,107,.25); background: rgba(255,211,107,.07); color: #ffe39a; border-radius: 12px; padding: 10px; font-weight: 900; cursor: pointer; }

.play-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 18px; }
.play-card { min-height: 104px; padding: 15px 16px; border: 2px solid #263755; border-radius: 18px; background: #111b31; color: #fff; display: grid; grid-template-columns: 48px 1fr auto; gap: 12px; align-items: center; text-align: left; cursor: pointer; box-shadow: 0 5px 0 #060c17; transition: transform .14s ease, border-color .14s ease; }
.play-card:hover { transform: translateY(-2px); border-color: #55dff0; }
.play-card .play-card-icon { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; font-size: 25px; background: #1c2945; }
.play-card strong { display: block; font-size: 14px; margin-bottom: 5px; }
.play-card small { display: block; color: var(--muted); font-size: 11px; line-height: 1.35; }
.play-card b { font-size: 22px; color: #82e7f2; }
.play-card.learn .play-card-icon { background: #44378e; }
.play-card.locker .play-card-icon { background: #79552a; }

.auth-backdrop { position: fixed; inset: 0; z-index: 500; display: grid; place-items: center; padding: 24px; background: #08101eea; backdrop-filter: blur(10px); }
.auth-card { width: min(920px, 100%); min-height: 520px; overflow: hidden; display: grid; grid-template-columns: .9fr 1.1fr; border-radius: 26px; border: 2px solid #2b405f; background: #101a2e; box-shadow: 0 18px 0 #030711, 0 35px 100px rgba(0,0,0,.42); }
.auth-art { position: relative; padding: 42px 36px; background: #17324b; border-right: 2px solid #2d5874; overflow: hidden; }
.auth-art::after { content: "x²   +   5x   =   ?"; position: absolute; left: 25px; bottom: 18px; font: 900 28px ui-monospace, monospace; color: rgba(255,255,255,.09); transform: rotate(-4deg); }
.auth-logo { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 17px; background: #735ee8; box-shadow: 5px 5px 0 #0b1525; font-size: 29px; font-weight: 1000; }
.auth-mascot { position: absolute; right: 32px; top: 38px; width: 72px; height: 72px; display: grid; place-items: center; border-radius: 50% 45% 48% 40%; background: #55dff0; color: #09212b; font-size: 38px; transform: rotate(9deg); border: 4px solid #a6f4fa; box-shadow: 6px 6px 0 #0b1525; }
.auth-art h1 { margin: 54px 0 12px; font-size: 38px; line-height: 1; letter-spacing: -1.4px; }
.auth-art p { color: #c1cce3; line-height: 1.55; max-width: 320px; }
.auth-feature { margin-top: 12px; color: #e9eefb; font-weight: 750; font-size: 13px; }
.auth-feature span { display: inline-grid; place-items: center; width: 22px; height: 22px; margin-right: 8px; border-radius: 50%; background: #52dda8; color: #071a12; }
.auth-forms { padding: 34px; display: flex; flex-direction: column; justify-content: center; }
.auth-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; padding: 5px; border-radius: 14px; background: #0a1222; margin-bottom: 22px; }
.auth-tabs button { border: 0; border-radius: 10px; background: transparent; color: var(--muted); padding: 10px; font-weight: 900; cursor: pointer; }
.auth-tabs button.active { background: #1a2945; color: #fff; }
.auth-form { display: grid; gap: 13px; }
.auth-form[hidden] { display: none !important; }
.auth-form h2 { margin: 0; font-size: 27px; }
.auth-form > p { margin: -7px 0 5px; color: var(--muted); font-size: 12px; }
.auth-form label { display: grid; gap: 6px; color: #c8d2e7; font-size: 11px; font-weight: 850; }
.auth-form input { width: 100%; border: 2px solid #283b5a; border-radius: 13px; background: #091220; color: #fff; padding: 12px 13px; }
.auth-submit { width: 100%; margin-top: 4px; }
.auth-link { justify-self: start; border: 0; background: transparent; color: #82e7f2; padding: 3px 0; cursor: pointer; font-weight: 800; }
.auth-message { min-height: 20px; margin: 14px 0 0; color: #ffd36b; font-size: 12px; line-height: 1.4; }

.owner-backdrop { position: fixed; inset: 0; z-index: 520; overflow: auto; padding: 22px; background: rgba(4,8,16,.88); backdrop-filter: blur(11px); }
.owner-console { width: min(1080px, 100%); margin: 0 auto; border: 2px solid #5a4c21; border-radius: 24px; background: #11192b; box-shadow: 0 12px 0 #05080f, 0 30px 90px rgba(0,0,0,.55); overflow: hidden; }
.owner-console > header { display: flex; gap: 20px; justify-content: space-between; align-items: flex-start; padding: 24px 26px; background: #2c2818; border-bottom: 1px solid #5a4c21; }
.owner-console h2 { margin: 1px 0 5px; font-size: 28px; }
.owner-console header p { margin: 0; color: #c7bfa2; }
.owner-close { width: 42px; height: 42px; border: 1px solid #6d6240; border-radius: 12px; background: #18170f; color: #fff; font-size: 24px; cursor: pointer; }
.owner-status { display: flex; gap: 10px; flex-wrap: wrap; padding: 12px 26px; background: #0b1220; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 11px; }
.owner-status span { padding: 6px 8px; border: 1px solid var(--line); border-radius: 9px; }
.owner-status .owner-badge { background: #ffd36b; color: #302507; border-color: #ffd36b; font-weight: 1000; }
.owner-sections { padding: 20px 26px 26px; display: grid; gap: 22px; }
.owner-sections section { border-bottom: 1px solid var(--line); padding-bottom: 20px; }
.owner-sections section:last-child { border-bottom: 0; padding-bottom: 0; }
.owner-sections h3 { margin: 0 0 10px; font-size: 13px; color: #e9d891; text-transform: uppercase; letter-spacing: .7px; }
.owner-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.owner-tool { min-height: 94px; border: 1px solid #35435e; background: #101a2d; color: #fff; border-radius: 14px; padding: 12px; display: grid; grid-template-columns: 34px 1fr; gap: 9px; text-align: left; cursor: pointer; }
.owner-tool:hover { border-color: #ffd36b; background: #172139; }
.owner-tool > span { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: #242e44; font-weight: 1000; }
.owner-tool strong { display: block; font-size: 12px; margin: 2px 0 4px; }
.owner-tool small { color: var(--muted); font-size: 10px; line-height: 1.35; }
.owner-tool.danger { border-color: rgba(255,113,136,.28); }
.owner-console > footer { display: flex; justify-content: flex-end; gap: 9px; padding: 16px 26px 20px; border-top: 1px solid var(--line); }
.profile-account { display: grid; gap: 4px; margin: 14px 0 0; padding: 10px; border: 1px solid var(--line); border-radius: 12px; background: #0b1324; }
.profile-account strong { font-size: 10px; color: var(--muted); overflow-wrap: anywhere; }
.profile-account span { color: #ffd36b; font-size: 10px; font-weight: 1000; }

@media (max-width: 900px) {
  .play-grid { grid-template-columns: 1fr; }
  .auth-card { grid-template-columns: 1fr; }
  .auth-art { display: none; }
  .owner-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .account-chip { min-width: 44px; width: 44px; padding: 8px; grid-template-columns: 1fr; }
  .account-chip .account-dot { grid-row: auto; justify-self: center; }
  .account-chip span:not(.account-dot), .account-chip small { display: none; }
}
@media (max-width: 560px) {
  .auth-backdrop { padding: 10px; }
  .auth-card { min-height: auto; border-radius: 20px; }
  .auth-forms { padding: 22px 18px; }
  .owner-backdrop { padding: 8px; }
  .owner-grid { grid-template-columns: 1fr; }
  .owner-console > header, .owner-sections, .owner-console > footer { padding-left: 16px; padding-right: 16px; }
}

/* MathRift School Edition */
.school-page { max-width: 1380px; }
.school-hero { min-height: 190px; display:flex; justify-content:space-between; align-items:center; gap:28px; padding:32px 34px; margin-bottom:18px; border:1px solid rgba(130,231,242,.25); border-radius:26px; background:linear-gradient(125deg,#153d4e 0%,#18315a 55%,#312a68 100%); box-shadow:0 10px 0 rgba(3,8,18,.28); overflow:hidden; position:relative; }
.school-hero::after { content:'x + 12 = 31   •   y = ?'; position:absolute; right:24px; bottom:-6px; font:900 28px ui-monospace,monospace; color:rgba(255,255,255,.055); transform:rotate(-3deg); pointer-events:none; }
.school-hero h1 { margin:0 0 8px; font-size:clamp(30px,4vw,48px); letter-spacing:-1.5px; }
.school-hero p { margin:0; color:#c9d8e9; max-width:650px; }
.school-hero-score { min-width:150px; padding:18px 20px; border-radius:18px; background:rgba(6,14,26,.48); border:1px solid rgba(255,255,255,.12); display:grid; text-align:center; }
.school-hero-score span,.school-hero-score small { color:#aebbd1; font-size:10px; font-weight:900; letter-spacing:.8px; }
.school-hero-score strong { font-size:38px; margin:3px 0; }
.teacher-hero { background:linear-gradient(125deg,#2a285f,#473176 55%,#15545b); }
.school-quick-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:18px 0; }
.school-quick { display:flex; gap:12px; align-items:center; min-height:90px; padding:16px; border:1px solid var(--line); border-radius:18px; background:#111b31; box-shadow:0 4px 0 #060c17; }
.school-quick>span { width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#1a2945;font-size:21px; }
.school-quick div { min-width:0; display:grid; }
.school-quick small,.school-quick em { color:var(--muted); font-size:10px; font-style:normal; }
.school-quick strong { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;margin:2px 0; }
.school-tabs,.teacher-command-bar { display:flex; gap:7px; flex-wrap:wrap; padding:6px; border:1px solid var(--line); border-radius:15px; background:#0c1425; margin:16px 0 18px; position:sticky; top:8px; z-index:5; }
.school-tabs button,.teacher-command-bar button { border:0; background:transparent; color:var(--muted); padding:10px 14px; border-radius:10px; font-weight:850; cursor:pointer; }
.school-tabs button.active,.teacher-command-bar button.active { background:#26355a; color:#fff; }
.school-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:18px; align-items:start; }
.school-main-panel,.school-side-panel { display:grid; gap:18px; }
.school-section,.join-class-card,.school-side-card,.create-panel { border:1px solid var(--line); background:#101a2f; border-radius:22px; padding:22px; box-shadow:0 5px 0 rgba(3,8,18,.3); }
.school-side-card.accent { background:#17384a; border-color:#275a69; }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:14px; margin-bottom:16px; }
.section-heading h2 { margin:0; font-size:22px; }
.section-heading>span { color:var(--muted);font-size:11px; }
.recommend-list,.assignment-list,.activity-feed,.planner-list { display:grid; gap:9px; }
.recommend-card { width:100%; display:grid; grid-template-columns:42px 1fr auto; align-items:center; gap:12px; text-align:left; border:1px solid #2b3b5b; border-radius:15px; padding:12px; background:#0c1629; cursor:pointer; }
.recommend-card:hover { border-color:#55dff0; transform:translateY(-1px); }
.recommend-card .recommend-icon { width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#3d3384;color:#dcd5ff; }
.recommend-card strong,.recommend-card small { display:block; }
.recommend-card small { color:var(--muted);margin-top:3px; }
.assignment-card { display:grid; grid-template-columns:100px minmax(0,1fr) 120px; gap:14px; align-items:center; padding:14px; border:1px solid #293856; border-radius:16px; background:#0b1426; }
.assignment-type { padding:7px 9px; border-radius:9px; background:#26345c; color:#cbd2ff; text-transform:uppercase; font-size:9px; font-weight:1000; letter-spacing:.7px; text-align:center; }
.assignment-copy { min-width:0; }
.assignment-copy strong,.assignment-copy small { display:block; }
.assignment-copy small { color:var(--muted);margin:4px 0 8px; }
.assignment-progress { display:grid; justify-items:end; gap:4px; }
.assignment-progress>strong { font-size:20px; }
.assignment-progress>small { color:var(--muted);font-size:9px; }
.school-status,.due-chip { display:inline-flex; align-items:center; padding:5px 8px; border-radius:999px; font-size:9px; font-weight:900; text-transform:uppercase; background:#1b2941; color:#b8c4dc; }
.school-status.completed { background:#123b30;color:#72e3b4; }.school-status.overdue{background:#4b2029;color:#ff9bac}.school-status.in-progress{background:#25375f;color:#9cb8ff}.school-status.scheduled{background:#463b1f;color:#ffd36b}
.history-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px; }
.history-card { display:grid;gap:7px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#0b1426; }
.history-card small { color:var(--muted); }
.skill-map { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.skill-node { display:grid;grid-template-columns:76px 1fr;gap:14px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:16px;background:#0b1426; }
.skill-node h3,.skill-node p { margin:0; }.skill-node p{color:var(--muted);font-size:11px;margin:4px 0 9px;}
.skill-ring { width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#55dff0 calc(var(--skill)*1%),#24314c 0);position:relative; }
.skill-ring::after { content:'';position:absolute;inset:8px;border-radius:50%;background:#0b1426; }.skill-ring strong{z-index:1;font-size:13px;}
.school-search { display:grid; gap:7px; color:#cbd5ea; font-size:11px; font-weight:850; margin-bottom:14px; }
.school-search input,.school-form input,.school-form select,.join-class-card input { width:100%;border:1px solid #344766;border-radius:12px;background:#081321;color:#fff;padding:11px 12px; }
.textbook-list { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px; }
.textbook-card,.template-grid article,.classroom-mode-grid article { padding:16px;border:1px solid var(--line);border-radius:16px;background:#0b1426; }
.textbook-card>span { color:#55dff0;font-size:9px;font-weight:1000;text-transform:uppercase; }.textbook-card h3{margin:8px 0 5px}.textbook-card p{color:var(--muted);font-size:11px;min-height:32px}.textbook-card>div{display:flex;justify-content:space-between;margin:12px 0;color:#cbd5e8;font-size:10px;}
.activity-summary { display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px; }.activity-summary div{padding:15px;border-radius:14px;background:#0b1426;text-align:center}.activity-summary strong{display:block;font-size:26px}.activity-summary span{color:var(--muted);font-size:10px}
.activity-feed>div { display:grid;grid-template-columns:10px 1fr auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line); }.activity-dot{width:8px;height:8px;border-radius:50%;background:#52dda8}.activity-feed strong,.activity-feed small{display:block}.activity-feed small,.activity-feed time{color:var(--muted);font-size:10px}
.school-form { display:grid; gap:12px; }.school-form label{display:grid;gap:6px;color:#c7d2e7;font-size:10px;font-weight:850}.school-form .check-row{display:flex;align-items:center;gap:8px}.school-form .check-row input{width:auto}.school-form.compact{padding:16px;border:1px solid var(--line);border-radius:15px;background:#0b1426}.school-form h3{margin:0}.settings-split{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:15px 0}.guardian-list{padding:16px;border:1px solid var(--line);border-radius:15px;background:#0b1426}.guardian-list h3{margin-top:0}.guardian-list>div{display:grid;padding:8px 0;border-bottom:1px solid var(--line)}.guardian-list small{color:var(--muted)}
.join-class-card h3,.school-side-card h3 { margin:0 0 7px; }.join-class-card p,.school-side-card p { color:var(--muted);font-size:11px;line-height:1.5}.join-class-card form{display:grid;gap:8px}.join-class-card input{text-transform:uppercase;letter-spacing:2px;font-weight:1000;text-align:center}.class-mini{display:flex;gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.class-mini>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#1a2945}.class-mini strong,.class-mini small{display:block}.class-mini small{color:var(--muted);font-size:9px}
.teacher-two-col { display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px; }.teacher-class-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.teacher-class-card{min-height:150px;padding:18px;border:1px solid #344766;border-radius:18px;background:linear-gradient(145deg,#14233b,#192b4c);text-align:left;cursor:pointer;box-shadow:0 5px 0 #070c17}.teacher-class-card:hover{border-color:#55dff0;transform:translateY(-2px)}.teacher-class-card h3{font-size:20px;margin:12px 0 8px}.teacher-class-card p{color:var(--muted)}.class-year{color:#8cebf5;font-size:9px;font-weight:1000;letter-spacing:1px}.create-panel{position:sticky;top:78px}.task-builder{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.task-builder .btn{align-self:end}.planner-board,.report-launch-grid{display:grid;gap:10px}.planner-board article,.report-launch-grid button{display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:14px;background:#0b1426;text-align:left}.planner-board small,.report-launch-grid small{display:block;color:var(--muted);margin-top:3px}.classroom-mode-grid,.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mode-icon{font-size:28px}.classroom-mode-grid h3{margin:10px 0 5px}.classroom-mode-grid p{color:var(--muted);font-size:11px;min-height:34px}
.class-detail-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:26px 28px;border-radius:22px;background:linear-gradient(120deg,#2d2b67,#1a5163);border:1px solid #5369a0;margin-bottom:16px}.class-detail-hero h1{margin:0;font-size:34px}.class-detail-hero p{margin:7px 0 0;color:#cbd5e8}.teacher-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin:14px 0}.teacher-metrics article{padding:16px;border:1px solid var(--line);border-radius:16px;background:#101a2f;display:grid}.teacher-metrics span,.teacher-metrics small{color:var(--muted);font-size:9px}.teacher-metrics strong{font-size:28px;margin:4px 0}.class-report-tabs{display:flex;gap:9px;margin:18px 0 12px;border-bottom:1px solid var(--line)}.class-report-tabs span{padding:9px 12px;color:var(--muted);font-weight:850;font-size:11px}.class-report-tabs span.active{color:#fff;border-bottom:2px solid #55dff0}.teacher-report-grid{display:grid;grid-template-columns:2fr 1fr;gap:14px}.student-table{display:grid}.student-row{display:grid;grid-template-columns:1.5fr .7fr 1fr .7fr;gap:10px;align-items:center;padding:10px;border-bottom:1px solid var(--line);font-size:11px}.student-row.head{color:var(--muted);font-size:9px;text-transform:uppercase;font-weight:1000}.student-row b,.student-row small{display:block}.student-row small{color:var(--muted);margin-top:2px}.mini-progress{height:6px;border-radius:99px;background:#26334e;overflow:hidden;margin-bottom:4px}.mini-progress i{display:block;height:100%;background:#52dda8}.live-state{display:inline-flex;justify-content:center;padding:5px 7px;border-radius:99px;font-size:9px;font-weight:900}.live-state.working{background:#123b30;color:#72e3b4}.live-state.offline{background:#242d3c;color:#8f9bb2}.planner-list>div{display:flex;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.planner-list strong,.planner-list small{display:block}.planner-list small{color:var(--muted)}.task-type-dot{width:10px;height:10px;border-radius:3px;background:#8068ff}.task-type-dot.adaptive{background:#55dff0}.task-type-dot.lesson{background:#52dda8}.task-type-dot.test{background:#ff7188}.mastery-table{overflow:auto}.mastery-row{min-width:720px;display:grid;grid-template-columns:180px repeat(4,1fr);gap:5px;align-items:center;margin-bottom:5px}.mastery-row.head{color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase}.mastery-cell{padding:10px 6px;text-align:center;border-radius:9px;background:#222c42;font-weight:900;font-size:10px}.mastery-cell.m1{background:#4a2e36;color:#ffb0bd}.mastery-cell.m2{background:#4a402a;color:#ffe3a0}.mastery-cell.m3{background:#23453f;color:#8ce5c9}.mastery-cell.m4,.mastery-cell.m5{background:#174d3d;color:#77ecc0}.school-loading,.school-error,.school-empty{min-height:150px;display:grid;place-items:center;text-align:center;padding:24px;color:var(--muted);border:1px dashed #31405c;border-radius:18px;background:#0c1425}.school-error strong{color:#fff;font-size:20px}.spinner{width:26px;height:26px;border:3px solid #34415b;border-top-color:#55dff0;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.back-link{border:0;background:transparent;color:#8cebf5;padding:0 0 12px;cursor:pointer;font-weight:850}

@media(max-width:1100px){.school-quick-grid,.teacher-metrics{grid-template-columns:repeat(2,1fr)}.school-layout,.teacher-two-col,.teacher-report-grid{grid-template-columns:1fr}.school-side-panel{grid-template-columns:repeat(2,1fr)}.textbook-list,.classroom-mode-grid,.template-grid{grid-template-columns:repeat(2,1fr)}.task-builder{grid-template-columns:repeat(2,1fr)}.create-panel{position:static}}
@media(max-width:720px){.school-hero,.class-detail-hero{align-items:flex-start;flex-direction:column}.school-quick-grid,.school-side-panel,.skill-map,.teacher-class-grid,.textbook-list,.classroom-mode-grid,.template-grid,.activity-summary,.settings-split,.teacher-metrics{grid-template-columns:1fr}.assignment-card{grid-template-columns:1fr}.assignment-progress{justify-items:start}.task-builder{grid-template-columns:1fr}.school-tabs,.teacher-command-bar{overflow:auto;flex-wrap:nowrap;position:static}.student-row{grid-template-columns:1.4fr .7fr .8fr}.student-row>span:nth-child(4){display:none}.mastery-row{grid-template-columns:140px repeat(4,110px)}.school-hero-score{width:100%}}

.teacher-dashboard { position: relative; }


/* =========================================================
   MathRift Cream Edition — simple, warm, school-friendly UI
   ========================================================= */
:root {
  color-scheme: light;
  --cream-bg: #f7f1e6;
  --cream-card: #fffaf1;
  --cream-card-strong: #fffdf8;
  --cream-line: #ded2c1;
  --cream-line-strong: #c9b9a3;
  --cream-ink: #2d2924;
  --cream-muted: #736b61;
  --cream-accent: #6f7f54;
  --cream-accent-2: #a06f4d;
  --bg: var(--cream-bg);
  --bg-soft: #f0e8dc;
  --panel: var(--cream-card);
  --panel-2: #f5ecdf;
  --panel-3: #eadfce;
  --line: var(--cream-line);
  --line-strong: var(--cream-line-strong);
  --text: var(--cream-ink);
  --muted: var(--cream-muted);
  --muted-2: #968a7a;
  --purple: #738158;
  --purple-2: #88976b;
  --cyan: #4f7d75;
  --green: #678657;
  --yellow: #bc8d48;
  --red: #b65f5f;
  --shadow: 0 16px 42px rgba(88, 69, 47, .10);
}

html, body { background: var(--cream-bg); color: var(--cream-ink); }
body { background-image: radial-gradient(circle at 20% 10%, rgba(255,255,255,.75), transparent 34%); }
.main-shell { background: linear-gradient(180deg, #fbf7ef, var(--cream-bg)); }
.sidebar { background: #efe5d7; border-right-color: var(--cream-line); }
.brand-mark { background: #738158; box-shadow: none; color: #fffdf8; }
.brand-copy strong, .nav-item b, .mini-player strong { color: var(--cream-ink); }
.nav-item { color: #655e55; }
.nav-item:hover { background: #e7dccd; color: #302b26; }
.nav-item.active { background: #fff9ef; color: #302b26; border-color: #d8cab7; box-shadow: 0 5px 14px rgba(89,71,48,.06); }
.nav-item.active span { color: #64774d; }
.mini-player, .stat-pill, .account-chip { background: #fff8ed !important; border-color: #d8cab7 !important; color: var(--cream-ink) !important; }
.avatar { background: #7c8961; color: white; }
.topbar { background: rgba(255,250,241,.93); border-color: #dfd3c4; backdrop-filter: blur(12px); }
#app-view { background: transparent; }
.page { max-width: 1220px; }
.card, .school-section, .school-side-card, .join-class-card, .create-panel, .task-preview-modal, .quick-assign-modal {
  background: var(--cream-card); border-color: var(--cream-line); box-shadow: var(--shadow); color: var(--cream-ink);
}
.eyebrow { color: #6f7f54; }
.page-head p, .lock-note, .school-section p, .school-side-card p { color: var(--cream-muted); }
.btn { border-radius: 11px; box-shadow: none !important; }
.btn.primary { background: #738158; color: #fff; }
.btn.primary:hover:not(:disabled) { background: #647249; }
.btn.secondary { background: #f0e6d8; border-color: #d2c2ae; color: #3a342e; }
.btn.ghost { background: transparent; border-color: #d7cab8; color: #655e55; }
.btn.success { background: #6d8a5c; color: white; }
.btn.danger { background: #f7e2df; border-color: #e5bdb7; color: #934d4d; }
.progress-track, .mini-progress { background: #e8ded0; }
.progress-fill { background: linear-gradient(90deg, #738158, #99a77d); }
.tag, .school-status, .due-chip { border-color: #d8cab7 !important; background: #f4ebdf !important; color: #5d564d !important; }
.answer-input, .working-input, .school-form input, .school-form select, .task-filter-bar input, .task-filter-bar select, .quick-assign-form input, .quick-assign-form select, .simple-custom-form input, .simple-custom-form select {
  background: #fffdf8 !important; color: var(--cream-ink) !important; border: 1px solid #d2c4b2 !important; box-shadow: none; }
.answer-input:focus, .working-input:focus, input:focus, select:focus { border-color: #7b8962 !important; outline-color: rgba(115,129,88,.22) !important; }
.school-form label, .quick-assign-form label, .simple-custom-form label { color: #5e564d !important; }
.teacher-command-bar, .school-tabs { background: #eee4d6; border-color: #d8cab7; }
.teacher-command-bar button, .school-tabs button { color: #696056; }
.teacher-command-bar button.active, .school-tabs button.active { background: #fffaf2; color: #2d2924; box-shadow: 0 3px 9px rgba(90,70,45,.07); }
.teacher-class-card { background: #fff9ef; border-color: #d8cab7; box-shadow: none; color: #2d2924; }
.teacher-class-card:hover { border-color: #8d9874; transform: translateY(-1px); }
.class-year { color: #6f7f54; }
.school-empty, .school-loading, .school-error { background: #fffaf2; border-color: #d8cab7; color: #746b60; }
.school-error strong { color: #2d2924; }
.spinner { border-color: #ddd0bf; border-top-color: #738158; }
.assignment-card, .history-card, .textbook-card, .skill-node, .school-quick, .planner-board article, .report-launch-grid button, .classroom-mode-grid article, .template-grid article {
  background: #fffaf2 !important; border-color: #dfd3c4 !important; color: #2d2924 !important; box-shadow: none !important;
}
.assignment-type { background: #eee5d8 !important; color: #6b6258 !important; }

.simple-teacher-head { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:18px; padding:22px 24px; border:1px solid #ded2c1; border-radius:18px; background:#fffaf1; }
.simple-teacher-head h1 { margin:0; font-size:clamp(28px,4vw,42px); letter-spacing:-1px; }
.simple-teacher-head p { margin:7px 0 0; color:#736b61; }
.simple-tabs { position:static; top:auto; margin-bottom:18px; padding:5px; display:inline-flex; width:auto; }
.simple-tabs button { min-width:112px; }
.simple-actions { display:flex; gap:8px; flex-wrap:wrap; }

.task-library-section { box-shadow:none; }
.task-filter-bar { display:grid; grid-template-columns:minmax(220px,1.8fr) repeat(4,minmax(120px,.7fr)) auto; gap:8px; margin:14px 0 12px; padding:12px; background:#f1e7da; border:1px solid #ded1bf; border-radius:14px; }
.task-filter-bar input, .task-filter-bar select { min-height:40px; border-radius:9px; padding:8px 10px; }
.library-result-line { display:flex; gap:6px; align-items:center; color:#6f665d; font-size:12px; margin:11px 0; }
.library-result-line strong { color:#2f2a25; }
.library-result-line span { margin-left:auto; }
.task-library-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
.task-library-card { display:flex; flex-direction:column; min-height:245px; padding:16px; border:1px solid #ded2c1; border-radius:15px; background:#fffdf8; box-shadow:0 6px 16px rgba(78,59,37,.045); }
.task-library-card h3 { margin:12px 0 7px; font-size:15px; line-height:1.35; }
.task-library-card p { margin:0; color:#756b60; font-size:11px; line-height:1.5; }
.task-card-top { display:flex; justify-content:space-between; gap:8px; }
.task-type-badge, .task-difficulty { display:inline-flex; padding:5px 8px; border-radius:999px; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.5px; background:#eee5d8; color:#665d52; }
.task-difficulty.hard { background:#f3ded8; color:#8a5047; }.task-difficulty.easy { background:#e4eddb; color:#557047; }.task-difficulty.adaptive { background:#e3ece8; color:#456960; }
.task-card-meta { display:flex; flex-wrap:wrap; gap:6px; margin:14px 0; }
.task-card-meta span { border:1px solid #e0d6c8; border-radius:8px; background:#f7efe4; padding:5px 7px; font-size:9px; color:#6f665d; }
.task-card-actions { display:flex; gap:7px; margin-top:auto; }
.task-card-actions .btn { flex:1; }

.task-preview-modal, .quick-assign-modal { width:min(720px,calc(100vw - 28px)); max-height:88vh; overflow:auto; padding:24px; }
.simple-modal-head { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; }
.simple-modal-head h2 { margin:0; color:#2d2924; }
.modal-x { width:34px; height:34px; border-radius:10px; border:1px solid #dacdbc; background:#f3e9dc; color:#5c554d; cursor:pointer; font-size:20px; }
.preview-summary { display:grid; grid-template-columns:2fr repeat(3,1fr); gap:8px; margin:18px 0; }
.preview-summary>div { padding:12px; border:1px solid #e0d5c7; background:#f9f2e8; border-radius:11px; }
.preview-summary small, .preview-summary strong { display:block; }.preview-summary small { color:#807568; font-size:9px; margin-bottom:4px; }
.preview-question-list { display:grid; gap:8px; }
.preview-question-list>div { display:grid; grid-template-columns:30px 1fr; gap:9px; align-items:center; padding:11px; border:1px solid #e0d5c7; border-radius:11px; background:#fffdf8; }
.preview-question-list span { width:28px; height:28px; display:grid; place-items:center; border-radius:8px; background:#e7ecdd; color:#5e7048; font-weight:900; }
.preview-question-list p { margin:0; color:#3d3731; }
.simple-modal-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:18px; }
.quick-assign-form { display:grid; gap:10px; margin-top:16px; }
.assign-step { display:grid; grid-template-columns:38px 1fr; gap:11px; align-items:center; padding:13px; border:1px solid #dfd3c4; border-radius:12px; background:#fffdf8; }
.assign-step>span { width:34px; height:34px; border-radius:50%; display:grid; place-items:center; background:#75825c; color:white; font-weight:900; }
.assign-step small,.assign-step strong,.assign-step p { display:block; }.assign-step p { margin:3px 0 0; color:#766c61; font-size:10px; }.assign-step label { display:grid; gap:5px; font-size:10px; font-weight:850; }
.assign-step.final { background:#f0f3e9; border-color:#ccd6b9; }
.simple-custom-form { display:grid; gap:12px; margin-top:15px; }.simple-custom-form label { display:grid; gap:5px; font-size:10px; font-weight:850; }.form-two { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.simple-assignment-card { box-shadow:none !important; }

.hero-card { background: linear-gradient(135deg, #f4eadc, #fffaf2 55%, #e5ead8); border-color:#d7cab7; box-shadow:var(--shadow); }
.hero-copy h1 { color:#2d2924; }.hero-copy h1 span { background:none; -webkit-background-clip:initial; color:#6f7f54; }.hero-copy p { color:#6f665d; }
.hero-card::after { color:rgba(91,106,69,.10); }.hero-orb { background:radial-gradient(circle at 34% 28%,#fffdf4,#b6c195 45%,#78865c 100%); box-shadow:0 0 50px rgba(120,134,92,.18); }

@media(max-width:1050px){.task-filter-bar{grid-template-columns:1fr 1fr 1fr}.task-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.preview-summary{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.simple-teacher-head{align-items:flex-start;flex-direction:column}.simple-tabs{width:100%;overflow:auto}.simple-tabs button{min-width:100px}.task-filter-bar{grid-template-columns:1fr}.task-library-grid{grid-template-columns:1fr}.preview-summary,.form-two{grid-template-columns:1fr}.simple-modal-actions{flex-direction:column-reverse}.simple-modal-actions .btn{width:100%}}

/* Cream overrides for auth, owner tools, school reports and play cards */
.play-card { background:#fffaf2; color:#2d2924; border-color:#d8cab7; box-shadow:none; }
.play-card:hover { border-color:#8a9870; }.play-card b{color:#6f7f54}.play-card .play-card-icon{background:#eee4d7}.play-card.learn .play-card-icon,.play-card.world .play-card-icon,.play-card.locker .play-card-icon{background:#e7e1d3;color:#536344}
.auth-backdrop { background:rgba(91,75,56,.28); }
.auth-card { border-color:#d1c2af; background:#fffaf1; box-shadow:0 24px 70px rgba(80,61,40,.15); color:#2d2924; }
.auth-art { background:#e9dfcf; border-right-color:#d4c5b2; }.auth-logo{background:#74825a;box-shadow:none;color:white}.auth-mascot{background:#c9d3b1;color:#465139;border-color:#e9efd9;box-shadow:none}.auth-art h1{color:#2d2924}.auth-art p{color:#6f665d}.auth-feature{color:#4d463f}.auth-feature span{background:#7f9366;color:white}.auth-tabs{background:#eee3d5}.auth-tabs button.active{background:#fffaf1;color:#2d2924}.auth-form label{color:#5f574f}.auth-form input{background:#fffdf8;color:#2d2924;border-color:#d4c6b5}.auth-link{color:#61764f}.auth-message{color:#8a6038}
.owner-backdrop { background:rgba(91,75,56,.32); }.owner-console{background:#fffaf1;border-color:#cdbd98;box-shadow:0 24px 70px rgba(80,61,40,.18);color:#2d2924}.owner-console>header{background:#eee4d1;border-bottom-color:#d2c29f}.owner-console header p{color:#71685d}.owner-close{background:#fff8ec;color:#4f473f;border-color:#d3c5af}.owner-status{background:#f6eee2}.owner-status .owner-badge{background:#d6b965;color:#403518;border-color:#d6b965}.owner-sections h3{color:#7c6b45}.owner-tool{background:#fffdf8;color:#2d2924;border-color:#dbcfbf}.owner-tool:hover{background:#f5eee2;border-color:#9c8c65}.owner-tool>span{background:#eee4d6}.profile-account{background:#f5ecdf}.profile-account span{color:#7b6741}
.modal { background:#fffaf1; color:#2d2924; border-color:#d3c5b3; }
.school-hero,.class-detail-hero { background:linear-gradient(125deg,#f3e8d8,#fffaf1 58%,#e6ead9); border-color:#d8cab7; box-shadow:var(--shadow); color:#2d2924; }.school-hero h1,.class-detail-hero h1{color:#2d2924}.school-hero p,.class-detail-hero p{color:#6f665d}.school-hero::after{color:rgba(98,112,75,.09)}.school-hero-score{background:#fffaf0;border-color:#d9ccb9;color:#2d2924}.school-hero-score span,.school-hero-score small{color:#746a5f}
.school-form.compact,.guardian-list,.activity-summary div,.recommend-card,.class-mini>span { background:#fffaf2 !important; border-color:#ded2c2 !important; color:#2d2924 !important; }.recommend-card{border-color:#ded2c2}.recommend-card:hover{border-color:#91a078}.skill-ring::after{background:#fffaf2}.class-detail-hero .tag{background:#f1eadc!important}.teacher-metrics article{background:#fffaf2;border-color:#ded2c2}.class-report-tabs span.active{color:#2d2924;border-bottom-color:#74825a}.mastery-cell{background:#eee5d8;color:#443d36}.mastery-cell.m1{background:#f3deda;color:#864f48}.mastery-cell.m2{background:#f2e6c9;color:#7d6336}.mastery-cell.m3{background:#dfe9d7;color:#526b49}.mastery-cell.m4,.mastery-cell.m5{background:#cfdfc3;color:#3f5f38}.live-state.working{background:#dcebd5;color:#496942}.live-state.offline{background:#ece6dd;color:#81786e}.back-link{color:#61764f}

/* =========================================================
   Relaxed dashboard pass — fewer visible choices, more space
   ========================================================= */
.relaxed-shell { display:block; min-height:100vh; background:var(--cream-bg,#f7f1e7); }
.relaxed-topnav {
  position:sticky; top:0; z-index:40; height:64px; display:grid;
  grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:22px;
  padding:8px 22px; border-bottom:1px solid #ded3c4; background:rgba(255,252,246,.96);
  backdrop-filter:blur(12px);
}
.relaxed-brand { width:auto; min-height:44px; padding:4px 6px; background:transparent; border:0; color:#2d2924; }
.relaxed-brand .brand-copy small { display:none; }
.relaxed-primary-nav { display:flex; flex-direction:row; align-items:center; gap:4px; justify-self:start; min-width:0; }
.relaxed-primary-nav .nav-item {
  width:auto; min-width:86px; height:44px; padding:0 12px; display:flex; flex-direction:row; gap:7px;
  align-items:center; justify-content:center; border-radius:10px; border:0; background:transparent; color:#686057;
}
.relaxed-primary-nav .nav-item span { font-size:14px; }
.relaxed-primary-nav .nav-item b { font-size:12px; }
.relaxed-primary-nav .nav-item.active { background:#eee6da; color:#554b42; }
.relaxed-top-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; min-width:0; }
.compact-top-stats { gap:5px; }
.compact-top-stats .stat-pill { min-width:52px; height:36px; padding:0 9px; border-radius:10px; box-shadow:none; }
.compact-account-chip { max-width:150px; height:40px; border-radius:12px; padding:0 10px; }
.compact-account-chip small { display:none; }
.more-menu-wrap,.teacher-more-wrap { position:relative; }
.nav-more-button,.teacher-more-button {
  min-height:40px; display:inline-flex; align-items:center; gap:7px; padding:0 12px; border:1px solid #d8cdbd;
  border-radius:11px; background:#fffaf2; color:#514a43; font-weight:850; cursor:pointer;
}
.more-nav-menu,.teacher-more-menu {
  position:absolute; right:0; top:calc(100% + 8px); width:260px; padding:10px; border:1px solid #d8cdbd;
  border-radius:15px; background:#fffdf8; box-shadow:0 18px 46px rgba(73,56,37,.14); z-index:80;
}
.more-nav-menu[hidden],.teacher-more-menu[hidden] { display:none !important; }
.more-menu-section { display:grid; gap:3px; padding:7px 0; border-bottom:1px solid #eee4d8; }
.more-menu-section:last-of-type { border-bottom:0; }
.more-menu-section>small { padding:4px 9px; color:#8a8075; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.7px; }
.more-nav-menu button,.teacher-more-menu button {
  width:100%; min-height:40px; display:flex; gap:9px; align-items:center; padding:8px 10px; border:0; border-radius:9px;
  background:transparent; color:#39342f; text-align:left; font-weight:750; cursor:pointer;
}
.more-nav-menu button:hover,.teacher-more-menu button:hover { background:#f2eadf; }
.menu-player { display:flex; gap:9px; align-items:center; margin-top:8px; padding:10px; border-radius:10px; background:#f5eee3; }
.menu-player .avatar { width:32px; height:32px; display:grid; place-items:center; border-radius:10px; background:#7a895e; color:#fff; font-weight:900; }
.menu-player strong,.menu-player small { display:block; }.menu-player small { color:#776d63; font-size:9px; }
.relaxed-main-shell { min-height:calc(100vh - 64px); height:auto; overflow:visible; background:#f7f1e7; }
.relaxed-main-shell #app-view { min-height:calc(100vh - 64px); }

.relaxed-home { max-width:1180px; padding-top:28px; }
.calm-progress-banner {
  display:grid; grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr); gap:28px; align-items:center;
  padding:28px 30px; margin-bottom:18px; border:1px solid #d9cebf; border-radius:22px;
  background:linear-gradient(135deg,#efe7da,#fffaf2 62%,#e6eadc); box-shadow:0 8px 24px rgba(83,62,39,.06);
}
.calm-progress-banner h1 { margin:5px 0 7px; font-size:clamp(28px,4vw,42px); letter-spacing:-1.2px; color:#2d2924; }
.calm-progress-banner p { margin:0; max-width:650px; color:#72695f; line-height:1.65; }
.calm-progress-meter { display:grid; gap:8px; padding:16px; border:1px solid #ded2c2; border-radius:14px; background:#fffdf8; }
.calm-progress-meter>div:first-child { display:flex; justify-content:space-between; gap:12px; align-items:center; color:#5b544c; font-size:11px; }
.calm-progress-meter small { color:#83796e; font-size:10px; }
.relaxed-home-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:18px; align-items:start; }
.home-main-column,.home-side-column { display:grid; gap:18px; min-width:0; }
.calm-card,.calm-section,.calm-side-card {
  border:1px solid #ddd2c3; border-radius:18px; background:#fffdf8; box-shadow:0 5px 16px rgba(76,56,34,.045);
}
.calm-card { display:flex; justify-content:space-between; gap:24px; align-items:center; padding:24px; }
.calm-card-copy { min-width:0; }
.calm-card h2,.calm-section h2,.calm-side-card h3 { margin:4px 0 6px; color:#2f2a25; }
.calm-card p,.calm-side-card p { margin:0; color:#746b61; line-height:1.55; }
.calm-card-actions { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; flex:0 0 auto; }
.calm-meta { display:flex; gap:8px; flex-wrap:wrap; margin-top:13px; }
.calm-meta span { padding:5px 8px; border-radius:999px; background:#f1e8dd; color:#6d645a; font-size:9px; font-weight:800; }
.calm-section { padding:22px; }
.calm-section-head { display:flex; justify-content:space-between; align-items:flex-end; gap:14px; margin-bottom:14px; }
.calm-section-head.compact { margin-bottom:10px; }
.calm-section-head h2,.calm-section-head h3 { margin:3px 0 0; }
.text-link { border:0; background:transparent; color:#667750; font-weight:850; cursor:pointer; padding:7px 4px; }
.relaxed-recommend-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.relaxed-practice-card {
  min-height:112px; display:grid; grid-template-columns:46px minmax(0,1fr) auto; gap:11px; align-items:center;
  padding:14px; border:1px solid #dfd4c6; border-radius:14px; background:#fffaf2; color:#332e29; text-align:left; cursor:pointer;
}
.relaxed-practice-card:hover { border-color:#9aa883; transform:translateY(-1px); }
.relaxed-practice-card .practice-art { width:44px; height:44px; display:grid; place-items:center; border-radius:12px; background:#e6eadc; color:#5c6c48; font-size:18px; font-weight:900; }
.relaxed-practice-card strong,.relaxed-practice-card small { display:block; }
.relaxed-practice-card small { margin-top:4px; color:#81766a; font-size:9px; line-height:1.35; }
.relaxed-practice-card>span { color:#75845d; font-weight:900; }
.calm-side-card { padding:17px; }
.weekly-mini-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }
.weekly-mini-stats>div { min-width:0; padding:11px 8px; border-radius:11px; background:#f4ecdf; text-align:center; }
.weekly-mini-stats strong,.weekly-mini-stats small { display:block; }
.weekly-mini-stats strong { font-size:18px; color:#3e3832; }.weekly-mini-stats small { margin-top:2px; color:#7f756a; font-size:8px; }
.reward-summary { display:flex; gap:10px; align-items:center; margin:8px 0 13px; }
.reward-coin { width:38px; height:38px; display:grid; place-items:center; border-radius:12px; background:#ede2bd; color:#836c2e; }
.reward-summary strong,.reward-summary small { display:block; }.reward-summary small { color:#81766b; font-size:9px; }
.side-actions { display:flex; gap:7px; flex-wrap:wrap; }
.world-shortcut { background:#eef1e6; border-color:#d3dac4; }
.world-shortcut p { font-size:10px; margin-bottom:12px; }

.teacher-tab-row { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-bottom:18px; }
.teacher-tab-row .simple-tabs { margin:0; }
.teacher-more-menu { width:220px; }
.classroom-game-menu { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:14px; }
.relaxed-tool-modal { width:min(560px,calc(100vw - 28px)); }

@media(max-width:960px){
  .relaxed-topnav { grid-template-columns:auto minmax(0,1fr) auto; gap:8px; padding-inline:12px; }
  .relaxed-primary-nav { min-width:0; gap:2px; overflow:hidden; }
  .relaxed-primary-nav .nav-item { min-width:0; padding:0 8px; }
  .relaxed-primary-nav .nav-item span { display:none; }
  .compact-top-stats .level-pill { display:none; }
  .compact-account-chip { max-width:110px; }
  .relaxed-home-layout { grid-template-columns:1fr; }
  .home-side-column { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .calm-progress-banner { grid-template-columns:1fr; }
}
@media(max-width:720px){
  .relaxed-topnav { padding:7px 10px; }
  .relaxed-brand .brand-copy { display:none; }
  .compact-top-stats .level-pill { display:none; }
  .compact-account-chip { max-width:92px; }
  .relaxed-primary-nav .nav-item { min-width:72px; padding:0 9px; }
  .relaxed-primary-nav .nav-item span { display:none; }
  .relaxed-home { padding:18px 12px 90px; }
  .calm-progress-banner { padding:20px; border-radius:17px; }
  .relaxed-home-layout,.home-side-column,.relaxed-recommend-grid { grid-template-columns:1fr; }
  .calm-card { align-items:flex-start; flex-direction:column; }
  .calm-card-actions { justify-content:flex-start; width:100%; }
  .calm-card-actions .btn { flex:1; }
  .weekly-mini-stats { grid-template-columns:repeat(3,1fr); }
  .more-nav-menu { position:fixed; top:58px; right:10px; left:10px; width:auto; max-height:calc(100vh - 76px); overflow:auto; }
  .teacher-tab-row { align-items:flex-start; flex-direction:column; }
  .teacher-more-wrap { align-self:stretch; }
  .teacher-more-button { width:100%; justify-content:center; }
  .teacher-more-menu { left:0; right:auto; width:100%; }
  .classroom-game-menu { grid-template-columns:1fr; }
}

/* K–12 curriculum and generated-task polish */
.curriculum-learn-page { max-width:1180px; }
.curriculum-head { align-items:center; padding:22px 24px; border:1px solid #ded2c2; border-radius:19px; background:#fffdf8; box-shadow:0 5px 16px rgba(76,56,34,.045); }
.curriculum-head h1 { color:#2f2a25; }
.curriculum-count { min-width:122px; padding:13px 16px; border:1px solid #ddd1c1; border-radius:13px; background:#f3ebdf; text-align:center; }
.curriculum-count strong,.curriculum-count span { display:block; }
.curriculum-count strong { color:#536442; font-size:22px; }
.curriculum-count span { margin-top:2px; color:#7c7166; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.5px; }
.year-switcher { display:flex; gap:6px; flex-wrap:wrap; margin:16px 0 24px; padding:6px; width:max-content; max-width:100%; border:1px solid #ddd1c1; border-radius:13px; background:#eee5d8; }
.year-switcher button { min-width:74px; min-height:38px; padding:7px 12px; border:0; border-radius:9px; background:transparent; color:#6d645a; font-weight:850; cursor:pointer; }
.year-switcher button.active { background:#fffdf8; color:#536442; box-shadow:0 2px 8px rgba(77,58,36,.06); }
.curriculum-strand { margin:22px 0 28px; }
.curriculum-strand .section-heading { margin-bottom:11px; }
.curriculum-skill-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.curriculum-skill-card { display:flex; min-height:175px; flex-direction:column; padding:16px; border:1px solid #ded3c5; border-radius:15px; background:#fffdf8; box-shadow:0 4px 14px rgba(76,56,34,.035); }
.curriculum-skill-card h3 { margin:10px 0 5px; color:#342f2a; font-size:15px; line-height:1.35; }
.curriculum-skill-card p { margin:0 0 14px; color:#7a7065; font-size:10px; line-height:1.45; }
.curriculum-skill-card .btn { margin-top:auto; align-self:flex-start; }
.skill-card-meta { display:flex; gap:5px; flex-wrap:wrap; }
.skill-card-meta span { padding:4px 7px; border-radius:999px; background:#f0e8dc; color:#6c6359; font-size:8px; font-weight:850; text-transform:uppercase; letter-spacing:.35px; }
.legacy-algebra { padding-top:8px; border-top:1px solid #e5dbce; }
.curriculum-task-filters { grid-template-columns:minmax(210px,1.5fr) repeat(3,minmax(120px,.72fr)) !important; }
.curriculum-task-filters select,.curriculum-task-filters input { min-width:0; }
.generated-task-page { max-width:1080px; }
.generated-task-page .page-head { padding:18px 20px; border:1px solid #ded2c2; border-radius:16px; background:#fffdf8; }
.generated-progress { height:7px; margin:-8px 0 18px; background:#e8ded0; }
.generated-task-page .question-card { padding:26px; background:#fffdf8; }
.generated-task-info { background:#f8f0e5; box-shadow:none; }
.generated-task-info h2 { margin:4px 0 6px; color:#342f2a; }
.generated-task-info>p { margin:0 0 14px; color:#796f64; }
.task-detail-list { display:grid; gap:7px; margin-top:14px; }
.task-detail-list>div { display:flex; justify-content:space-between; gap:12px; padding:9px 10px; border:1px solid #dfd4c6; border-radius:9px; background:#fffaf2; }
.task-detail-list span { color:#83786d; font-size:9px; }
.task-detail-list strong { color:#494139; font-size:10px; text-align:right; }
.task-finish-stats { display:flex; justify-content:center; gap:8px; flex-wrap:wrap; margin:16px 0; }
.task-finish-stats span { min-width:92px; padding:10px 13px; border:1px solid #ded3c5; border-radius:11px; background:#f5ede2; color:#746a60; font-size:9px; }
.task-finish-stats b { display:block; color:#415037; font-size:16px; }
@media(max-width:920px){.curriculum-skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.curriculum-task-filters{grid-template-columns:1fr 1fr !important}}
@media(max-width:640px){.curriculum-head{align-items:flex-start;flex-direction:column}.curriculum-count{width:100%}.year-switcher{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.year-switcher button{min-width:0}.curriculum-skill-grid{grid-template-columns:1fr}.curriculum-task-filters{grid-template-columns:1fr !important}.generated-task-page .lesson-layout{grid-template-columns:1fr}.generated-task-info{order:-1}}

/* School-first hierarchy -------------------------------------------------- */
.school-setup-page{max-width:980px;margin:0 auto;padding-top:34px}
.school-setup-card{background:var(--cream-card,#fffdf8);border:1px solid var(--cream-border,#e6dccb);border-radius:28px;padding:34px;box-shadow:0 12px 34px rgba(73,57,37,.06)}
.school-setup-card h1{font-size:clamp(34px,5vw,58px);margin:8px 0 10px;letter-spacing:-.04em}
.school-setup-card>p{max-width:720px;color:var(--muted,#746b60);font-size:17px;line-height:1.65}
.school-setup-form{display:grid;gap:18px;margin-top:28px;max-width:760px}
.school-setup-form label,.school-form label{display:grid;gap:7px;font-weight:700;color:var(--text,#332c25)}
.school-setup-form input,.school-setup-form select,.school-form input,.school-form select,.school-switcher select,.staff-role-form select{min-height:46px;border:1px solid #d9cdbb;border-radius:14px;background:#fffdf9;color:#332c25;padding:0 14px;font:inherit}
.year-level-picker{display:flex;gap:14px;flex-wrap:wrap;border:1px solid #e5dac9;border-radius:16px;padding:14px 16px;background:#faf5eb}
.year-level-picker legend{font-weight:800;padding:0 8px}.year-level-picker label{display:flex;align-items:center;gap:7px;font-weight:600}
.school-hierarchy-preview{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px;padding-top:22px;border-top:1px solid #eee4d5}.school-hierarchy-preview strong{width:100%;margin-bottom:4px}.school-hierarchy-preview span,.role-ladder span,.staff-role-pill{background:#f3eadb;border:1px solid #e4d6c2;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800;color:#655b4d}
.school-hub-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:18px}.school-hub-head h1{font-size:clamp(30px,4vw,46px);margin:5px 0 6px;letter-spacing:-.035em}.school-hub-head p{margin:0;color:#756b5f}
.school-switcher{display:flex;gap:10px;align-items:center}.school-switcher select{min-width:220px}
.school-section-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:6px;background:#efe7da;border:1px solid #e3d7c5;border-radius:18px;margin-bottom:14px}
.school-section-tabs button{border:0;background:transparent;border-radius:12px;padding:10px 13px;font-weight:800;color:#6f665a;cursor:pointer}.school-section-tabs button.active{background:#fffdf8;color:#332c25;box-shadow:0 2px 8px rgba(70,50,30,.08)}
.school-maths-tools{margin-bottom:22px}.school-overview-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:18px}.school-overview-main,.school-role-card,.school-settings-card,.school-curriculum-panel{background:#fffdf8;border:1px solid #e5d9c7;border-radius:24px;padding:26px}.school-overview-main h2{font-size:32px;margin:5px 0 8px}.school-overview-main p,.school-role-card p{color:#756b5f;line-height:1.55}.school-count-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:24px}.school-count-grid button{border:1px solid #e6dac8;background:#f8f1e6;border-radius:18px;padding:20px 12px;text-align:left;cursor:pointer}.school-count-grid strong{display:block;font-size:28px;color:#393128}.school-count-grid span{color:#756b5f;font-size:13px}.role-ladder{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.school-staff-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr);gap:18px}.school-staff-list{display:grid;gap:10px}.school-person-card{display:flex;align-items:center;gap:14px;background:#fffdf8;border:1px solid #e5d9c7;border-radius:18px;padding:14px}.person-avatar{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#7c8c5d;color:#fff;font-weight:900}.person-copy{display:grid;gap:2px;min-width:0;flex:1}.person-copy small{color:#8a8074;overflow:hidden;text-overflow:ellipsis}.staff-role-pill{width:max-content;padding:5px 8px;margin-top:3px}.staff-role-form{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.staff-role-form select{min-height:38px;padding:0 10px}
.school-student-table{background:#fffdf8;border:1px solid #e5d9c7;border-radius:20px;overflow:hidden}.school-table-head,.school-table-row{display:grid;grid-template-columns:1.2fr .35fr 1.2fr;gap:12px;align-items:center;padding:13px 18px}.school-table-head{background:#f5eddf;color:#786f62;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.school-table-row{border-top:1px solid #eee4d7}.school-table-row small{color:#7e7468}
.school-settings-card{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.school-settings-card>div{background:#f8f1e6;border-radius:14px;padding:14px}.school-settings-card small{display:block;color:#857a6c;margin-bottom:5px}.school-settings-card p{grid-column:1/-1;color:#756b5f}
@media(max-width:980px){.school-overview-grid,.school-staff-layout{grid-template-columns:1fr}.school-count-grid{grid-template-columns:repeat(2,1fr)}.school-hub-head{flex-direction:column}.school-switcher{width:100%;flex-wrap:wrap}.school-switcher select{flex:1;min-width:180px}.school-settings-card{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.school-setup-card{padding:22px}.school-section-tabs{overflow:auto;flex-wrap:nowrap}.school-section-tabs button{white-space:nowrap}.school-table-head,.school-table-row{grid-template-columns:1fr .35fr}.school-table-head span:last-child,.school-table-row small{display:none}.school-person-card{align-items:flex-start;flex-wrap:wrap}.staff-role-form{width:100%}.school-settings-card{grid-template-columns:1fr}.school-count-grid{grid-template-columns:1fr 1fr}}

/* MathsExpress game-time, arcade and challenge layer */
.game-time-pill{min-width:76px}.game-time-pill span{font-size:13px}.game-time-bank{padding:14px 18px;border:1px solid var(--cream-border,#e3d9c8);border-radius:18px;background:#fffaf1;text-align:right}.game-time-bank small{display:block;font-size:10px;font-weight:800;letter-spacing:.12em;color:#817969}.game-time-bank strong{font-size:26px;color:#28372c}.game-time-icon{font-size:28px}.games-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;margin:20px 0}.game-feature-card{background:#fffaf1;border:1px solid #e5dccb;border-radius:24px;padding:24px;min-width:0}.game-feature-card h2{font-size:28px;margin:8px 0}.game-feature-card p{color:#716a5d;line-height:1.55}.game-art-road{height:160px;border-radius:20px;background:linear-gradient(#a8d4e6 0 35%,#9fc681 35% 48%,#45494e 48%);position:relative;overflow:hidden;margin-bottom:20px}.game-art-road:after{content:"";position:absolute;left:16%;right:16%;top:48%;bottom:0;background:repeating-linear-gradient(90deg,transparent 0 24%,rgba(255,255,255,.9) 24% 25%,transparent 25% 49%)}.game-art-road span{position:absolute;z-index:2;left:46%;bottom:15px;font-size:42px}.lucky-box-art{height:160px;border-radius:20px;background:linear-gradient(145deg,#f4e9ca,#fff9e8);display:grid;place-items:center;font-size:72px;margin-bottom:20px}.lucky-picks{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.lucky-picks button{height:86px;border:1px solid #dacdaf;border-radius:18px;background:#fff5d5;font-size:34px;font-weight:900;cursor:pointer}.game-time-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.game-time-steps div{display:flex;gap:12px;align-items:center;padding:14px;border-radius:16px;background:#fffaf1;border:1px solid #e5dccb}.game-time-steps b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#273b2d;color:#fff}.driving-stage{background:#17222a;border-radius:26px;padding:18px;color:white;overflow:hidden}.drive-hud{display:flex;justify-content:space-between;gap:10px;margin-bottom:14px}.drive-hud span{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:8px 13px}.drive-question{text-align:center;font-size:clamp(22px,4vw,38px);font-weight:900;padding:12px 8px 18px}.drive-road{display:grid;grid-template-columns:repeat(4,1fr);min-height:390px;background:linear-gradient(#41484d,#292e32);border-radius:20px;overflow:hidden;position:relative;border:6px solid #6d756f}.drive-lane{position:relative;border:0;border-right:2px dashed rgba(255,255,255,.38);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(0,0,0,.08));color:white;cursor:pointer;min-width:0}.drive-lane:last-child{border-right:0}.drive-lane.selected{background:linear-gradient(180deg,rgba(238,214,111,.12),rgba(238,214,111,.05))}.answer-gate{position:absolute;top:30px;left:10%;right:10%;padding:14px 5px;border-radius:12px;background:#fff7df;color:#242720;font-size:clamp(18px,3vw,30px);font-weight:900;box-shadow:0 7px 0 #d9cda9}.drive-car{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);font-size:54px;filter:drop-shadow(0 7px 7px rgba(0,0,0,.4));animation:carBob .55s infinite alternate}.lane-lines{position:absolute;inset:120px 48% 0;border-left:4px dashed rgba(255,255,255,.45);animation:roadFlow .75s linear infinite}.drive-controls{display:flex;justify-content:center;gap:10px;margin-top:16px}.drive-controls .primary{min-width:220px}@keyframes roadFlow{to{transform:translateY(28px)}}@keyframes carBob{to{transform:translate(-50%,-3px)}}
.challenge-layout{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(360px,1.4fr);gap:20px;margin-top:20px}.week-chip,.challenge-live-time{padding:10px 14px;border-radius:999px;background:#eef1e7;color:#314034;font-weight:800}.challenge-board{display:grid;gap:7px}.challenge-row{display:grid;grid-template-columns:42px 1fr 100px 90px;align-items:center;gap:8px;padding:11px 12px;background:#fffaf1;border:1px solid #e7dece;border-radius:13px}.challenge-row>b{font-size:19px}.challenge-row strong{text-align:right}.challenge-row small{text-align:right;color:#6d7565}.challenge-result{display:flex;align-items:center;gap:18px;padding:18px 22px;background:#273b2d;color:white;border-radius:20px}.challenge-result strong{font-size:30px}.challenge-result small{opacity:.75}.challenge-question{max-width:780px;margin:20px auto;padding:30px}.challenge-question h2{font-size:clamp(24px,4vw,38px);margin:16px 0 22px}
.classroom-game-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.classroom-game-menu button{text-align:left;min-height:58px}
@media(max-width:900px){.games-grid,.challenge-layout{grid-template-columns:1fr}.drive-road{min-height:320px}.relaxed-primary-nav .nav-item b{display:none}.game-time-steps{grid-template-columns:1fr}.challenge-row{grid-template-columns:38px 1fr 90px}.challenge-row small{display:none}}
@media(max-width:620px){.drive-road{min-height:270px}.answer-gate{font-size:17px}.drive-car{font-size:38px}.drive-controls{flex-wrap:wrap}.drive-controls .primary{order:-1;width:100%}.classroom-game-menu{grid-template-columns:1fr}.game-time-pill{display:none}}
@media(prefers-reduced-motion:reduce){.drive-car,.lane-lines{animation:none}}

/* Live class games */
.class-games-home{margin-top:20px}.active-class-game{width:100%;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;text-align:left;padding:14px 16px;border:1px solid #e3d9c8;border-radius:16px;background:#fffaf1;cursor:pointer;margin-top:9px}.active-class-game>span{font-size:24px}.active-class-game strong,.active-class-game small{display:block}.active-class-game small{color:#746d61;margin-top:3px}.class-game-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.65fr);gap:20px}.class-game-arena{min-height:260px;border-radius:24px;background:linear-gradient(160deg,#263d35,#172a25);color:white;display:grid;place-items:center;padding:24px;overflow:hidden}.class-game-question{margin-top:18px;padding:24px}.class-game-question h2{font-size:clamp(24px,4vw,36px);margin:12px 0 20px}.class-game-board{display:grid;gap:7px;margin-top:14px}.class-game-board>div:not(.school-empty){display:grid;grid-template-columns:28px 1fr 50px;align-items:center;gap:8px;padding:10px;border-radius:12px;background:#fffaf1;border:1px solid #e4dac9}.class-game-board small{font-size:10px;color:#857c6d}.capture-zone-visual{width:min(680px,100%);text-align:center}.zone-track{height:48px;border-radius:999px;background:linear-gradient(90deg,#798a7c 0 25%,#4f8064 25% 50%,#b29455 50% 75%,#80614f 75%);position:relative;border:3px solid rgba(255,255,255,.35)}.zone-track i{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:rgba(255,255,255,.18)}.player-dot{position:absolute;top:50%;transform:translate(-50%,-50%);font-size:30px;color:#fff;text-shadow:0 2px 8px #000}.zone-labels{display:flex;justify-content:space-between;margin:8px 0 16px;font-size:12px}.race-visual{width:min(680px,100%);text-align:center}.race-visual>div{height:46px;background:#42484b;border-radius:999px;position:relative;margin:18px 0}.race-visual i{display:block;height:100%;border-radius:999px;background:#bd9a4f}.race-visual b{position:absolute;top:50%;transform:translate(-50%,-50%);font-size:28px}.tower-visual{text-align:center}.tower-stack{display:flex;flex-direction:column-reverse;gap:4px;width:180px}.tower-stack span{padding:6px;background:#46594f;border:1px solid rgba(255,255,255,.2)}.tower-stack span.won{background:#b29455}.hill-visual{width:420px;max-width:100%;height:180px;position:relative;text-align:center}.hill-visual .hill{font-size:190px;line-height:150px;color:#657a69}.hill-visual>span{position:absolute;bottom:40px;font-size:28px}.hill-visual strong{position:absolute;bottom:0;left:0;right:0}.lives-visual{text-align:center}.lives-visual strong{display:block;font-size:54px;color:#ef7d75;letter-spacing:8px}.generic-game-visual{text-align:center}.generic-game-visual strong{display:block;font-size:72px}.generic-game-visual span{font-weight:800;opacity:.8}@media(max-width:850px){.class-game-layout{grid-template-columns:1fr}}

/* MathsExpress OwnerPlus: cleaner weekly challenge */
.challenge-page{max-width:1180px;margin:0 auto}.challenge-page-head{align-items:flex-end}.challenge-start-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;padding:24px 26px;margin-top:20px}.challenge-year-badge{width:74px;height:74px;border-radius:20px;background:#eef1e7;display:grid;place-items:center;align-content:center;color:#314034}.challenge-year-badge small{font-size:10px;font-weight:900;letter-spacing:1px}.challenge-year-badge strong{font-size:30px;line-height:1}.challenge-start-copy{min-width:0}.challenge-start-copy h2{margin:4px 0 7px;font-size:27px}.challenge-start-copy p{margin:0;color:#756b60}.challenge-start-button{min-width:160px;min-height:52px}.challenge-prizes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 18px}.challenge-prize{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid #e3d8c6;background:#fffaf2;border-radius:16px}.challenge-prize>span{font-size:25px}.challenge-prize strong,.challenge-prize small{display:block}.challenge-prize small{margin-top:2px;color:#7a7064}.challenge-prize.first{background:#fbf4d8}.challenge-leaderboard-card{padding:24px 26px}.challenge-leaderboard-card .calm-section-head{align-items:center}.challenge-leaderboard-card .calm-section-head p{margin:5px 0 0;color:#786f64}.challenge-result{justify-content:space-between;margin-top:16px}.challenge-result>div{display:flex;align-items:baseline;gap:18px}.challenge-board{margin-top:16px}.challenge-row{grid-template-columns:48px minmax(0,1fr) 130px 100px;padding:13px 15px}.challenge-row span{font-weight:750}.challenge-row strong{font-variant-numeric:tabular-nums}

/* Feedback form */
.feedback-modal{width:min(650px,calc(100% - 28px));max-height:calc(100vh - 42px);overflow:auto;background:#fffaf1;border:1px solid #d8cab6;border-radius:22px;box-shadow:0 24px 70px rgba(80,61,40,.22);padding:0}.feedback-modal-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:22px 24px 16px;border-bottom:1px solid #e8dece}.feedback-modal-head h2{margin:3px 0 5px}.feedback-modal-head p{margin:0;color:#746a60}.feedback-form{display:grid;gap:15px;padding:20px 24px 24px}.feedback-form label{display:grid;gap:7px;font-weight:800}.feedback-form label>span{font-weight:500;color:#8b8176}.feedback-form input,.feedback-form select,.feedback-form textarea{width:100%;border:1px solid #d7c9b6;border-radius:12px;background:#fffdf8;color:#2d2924;padding:12px 13px;font:inherit;resize:vertical}.feedback-form input:focus,.feedback-form select:focus,.feedback-form textarea:focus{outline:3px solid rgba(122,137,94,.18);border-color:#7a895e}.feedback-context{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;background:#f4ecdf;color:#776d63}.feedback-context strong{color:#3b352f}.form-message{min-height:20px;color:#765b3e;font-weight:700}.modal-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}

/* Expanded Owner Console + feedback inbox */
.owner-console{max-height:calc(100vh - 32px);display:flex;flex-direction:column}.owner-sections{overflow:auto;padding-bottom:26px}.owner-section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.owner-section-heading h3{margin:2px 0 0}.owner-feedback-section{border-top:1px solid #e2d7c6;padding-top:20px}.owner-feedback-list{display:grid;gap:10px;margin-top:12px}.owner-feedback-empty{padding:20px;border:1px dashed #d5c7b2;border-radius:14px;color:#7b7166;text-align:center;background:#fffdf8}.owner-feedback-item{padding:15px;border:1px solid #ddd0bf;border-radius:15px;background:#fffdf9}.owner-feedback-item.resolved{opacity:.72;background:#f3f3ed}.owner-feedback-top,.owner-feedback-meta,.owner-feedback-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.owner-feedback-top{justify-content:space-between}.feedback-kind,.feedback-status{padding:4px 8px;border-radius:999px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.4px}.feedback-kind.bug{background:#f7dfd7;color:#7b3829}.feedback-kind.suggestion{background:#e3edda;color:#3d5a32}.feedback-status{background:#eee7dc;color:#6e6255}.owner-feedback-item h4{margin:10px 0 5px;font-size:16px}.owner-feedback-item p{margin:0 0 8px;color:#514a43;white-space:pre-wrap}.feedback-note{display:block;margin:8px 0;padding:8px 10px;border-radius:10px;background:#f6efe4;color:#665d54}.owner-feedback-meta{font-size:10px;color:#897e72;margin-top:10px}.owner-feedback-actions{justify-content:flex-end;margin-top:12px}

@media(max-width:760px){.challenge-start-card{grid-template-columns:auto 1fr}.challenge-start-button{grid-column:1/-1;width:100%}.challenge-prizes{grid-template-columns:1fr}.challenge-row{grid-template-columns:40px minmax(0,1fr) 90px}.challenge-row small{display:none}.challenge-result,.challenge-result>div{align-items:flex-start;flex-direction:column;gap:5px}.owner-status{overflow:auto}.feedback-modal{width:calc(100% - 18px)}}

/* MathsExpress Ultimate feature suite ------------------------------------ */
.ultimate-page{max-width:1320px;margin:0 auto;padding:34px 28px 70px}.ultimate-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px}.ultimate-tabs button{border:1px solid var(--cream-border,#ded3c2);background:var(--cream-card,#fffaf1);padding:11px 16px;border-radius:14px;font-weight:800;color:inherit}.ultimate-tabs button.active{background:#708154;color:white;border-color:#708154}.ultimate-section{display:grid;gap:24px}.ultimate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ultimate-card{background:var(--cream-card,#fffaf1);border:1px solid var(--cream-border,#ded3c2);border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:10px;min-width:0}.ultimate-card>span:first-child{font-size:24px}.ultimate-card h3{margin:0;font-size:19px}.ultimate-card p{margin:0;color:#776e62;line-height:1.55}.ultimate-card .btn{margin-top:auto;align-self:flex-start}.ultimate-card.feature-hero{grid-column:span 2;display:grid;grid-template-columns:auto 1fr auto;align-items:center}.mastery-map-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.mastery-map-card{background:#fffaf1;border:1px solid #ded3c2;border-radius:16px;padding:15px;display:grid;gap:8px}.mastery-map-card>span{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#718154}.mastery-map-card small{color:#776e62}.accessibility-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.access-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fffaf1;border:1px solid #ded3c2;border-radius:16px;padding:16px}.access-toggle span{display:grid;gap:3px}.access-toggle small{color:#7b7266}.access-toggle input{width:22px;height:22px}.ultimate-modal{width:min(920px,calc(100% - 28px));max-height:90vh;overflow:auto;background:#fffaf1;border:1px solid #ded3c2;border-radius:24px;padding:22px;box-shadow:0 20px 60px rgba(55,45,35,.18)}.ultimate-modal header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:16px}.ultimate-modal h2{margin:.2rem 0 0}.ultimate-modal-body{display:grid;gap:16px}.ultimate-modal footer{display:flex;justify-content:flex-end;padding-top:18px}.helper-prompt,.helper-response,.assessment-result{background:#f4ecdf;border-radius:16px;padding:16px}.helper-actions{display:flex;flex-wrap:wrap;gap:8px}.workspace-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:18px}.workspace-grid textarea{width:100%;resize:vertical}.equation-keyboard{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.equation-keyboard button{min-width:44px;height:40px;border-radius:10px;border:1px solid #d8cbbb;background:white;font-weight:800}.graph-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}#workspace-graph{width:100%;height:auto;border:1px solid #d8cbbb;border-radius:14px;background:#fff}.goal-list,.mistake-list,.timeline-list,.intervention-list,.suggestion-vote-list,.bug-status-list{display:grid;gap:10px}.goal-list article,.mistake-list article,.timeline-list article,.intervention-list article,.suggestion-vote-list article,.bug-status-list article{display:flex;align-items:center;gap:12px;background:#f8f1e7;border:1px solid #e0d5c5;padding:12px;border-radius:14px}.goal-list article>div,.mistake-list article>div,.timeline-list article>div,.intervention-list article>div,.suggestion-vote-list article>div,.bug-status-list article>div{flex:1;min-width:0}.goal-list article small,.timeline-list article small,.intervention-list article small{display:block;color:#756c61}.goal-list progress{width:140px}.differentiation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.differentiation-grid article{background:#f8f1e7;border:1px solid #e0d5c5;padding:16px;border-radius:16px}.calendar-layout,.parent-summary-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:18px}.calendar-row,.notice-row{display:flex;align-items:flex-start;gap:14px;padding:13px 0;border-bottom:1px solid #ece2d4}.calendar-row time{font-weight:900;color:#6f8152;min-width:100px}.notice-row{display:grid;gap:4px}.notice-row p{margin:0;color:#786f63}.parent-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.parent-stat-grid div{background:#f5ede0;border-radius:14px;text-align:center;padding:16px}.parent-stat-grid b{font-size:24px;display:block}.parent-stat-grid small{color:#776e62}.live-preview{max-width:700px}.poll-option{width:100%;display:flex;justify-content:space-between;border:1px solid #ded3c2;background:#fff;border-radius:12px;padding:12px 14px;margin-top:8px;text-align:left}.certificate-preview{text-align:center;padding:40px;border:4px double #b69b66;border-radius:18px;background:#fffdf8}.certificate-preview>span{font-size:42px;color:#b69b66}.certificate-preview h1{font-size:38px}.heatmap{display:grid;gap:4px;overflow:auto}.heatmap-row{display:grid;grid-template-columns:160px repeat(5,minmax(84px,1fr));gap:4px;align-items:center}.heatmap-row>*{padding:10px;border-radius:8px;text-align:center}.heatmap-row>strong,.heatmap-row>b:first-child{text-align:left}.heat{font-weight:800}.heat.high{background:#dcebd7}.heat.mid{background:#f4ebc6}.heat.low{background:#f2d6cf}.leaderboard-demo{display:grid;gap:8px}.leaderboard-demo>div{display:grid;grid-template-columns:40px 1fr auto;gap:10px;padding:12px;border-radius:12px;background:#f6efe4}.owner-analytics-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.owner-analytics-strip.large{grid-template-columns:repeat(3,minmax(0,1fr))}.owner-analytics-strip div{background:#f6efe4;border:1px solid #e1d5c3;border-radius:14px;padding:14px;text-align:center}.owner-analytics-strip b{display:block;font-size:24px}.owner-analytics-strip small{color:#766d62;text-transform:capitalize}.vote-button{border:0;border-radius:12px;background:#eef1e7;padding:10px;min-width:55px}.maintenance-banner{display:flex;align-items:center;gap:12px;background:#fff1c7;border:1px solid #e6c56b;color:#5e4b15;padding:12px 16px;border-radius:14px;margin-bottom:16px}.drive-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.drive-options label{display:grid;gap:5px;font-size:12px;font-weight:800}.drive-options select{border:1px solid #d9cdbc;border-radius:10px;background:#fffaf1;padding:9px}.track-shop-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.track-shop-grid article{display:grid;gap:6px;padding:12px;background:#f7efe4;border-radius:13px}.track-shop-grid small{color:#776e62}.game-time-shop .calm-section-head>strong{font-size:22px}.calendar-list{display:grid;gap:4px}.muted{color:#7a7166}.suggestion-vote-list .vote-button{align-self:flex-start}
.mx-dark{color-scheme:dark}.mx-dark body,.mx-dark .app-shell{background:#1e1d1a;color:#eee8dd}.mx-dark .relaxed-topnav,.mx-dark .ultimate-card,.mx-dark .calm-card,.mx-dark .mastery-map-card,.mx-dark .access-toggle,.mx-dark .ultimate-modal,.mx-dark .game-feature-card{background:#2a2823!important;color:#eee8dd!important;border-color:#49443a!important}.mx-dark .ultimate-card p,.mx-dark .muted,.mx-dark .access-toggle small,.mx-dark .notice-row p{color:#c6bfb4!important}.mx-dark .ultimate-tabs button{background:#2a2823;color:#eee8dd;border-color:#49443a}.mx-dark input,.mx-dark textarea,.mx-dark select,.mx-dark .poll-option{background:#22201c;color:#eee8dd;border-color:#565045}.mx-high-contrast{filter:contrast(1.12)}.mx-large-text{font-size:112%}.mx-reduced-motion *{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}.mx-dyslexia body{font-family:Verdana,Arial,sans-serif!important;letter-spacing:.02em;line-height:1.65}
@media(max-width:980px){.ultimate-grid{grid-template-columns:1fr 1fr}.ultimate-card.feature-hero{grid-column:1/-1}.mastery-map-grid{grid-template-columns:1fr 1fr}.calendar-layout,.parent-summary-grid,.workspace-grid{grid-template-columns:1fr}.track-shop-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.ultimate-page{padding:20px 14px 50px}.ultimate-grid,.mastery-map-grid,.accessibility-panel,.differentiation-grid{grid-template-columns:1fr}.ultimate-card.feature-hero{display:flex}.parent-stat-grid,.track-shop-grid{grid-template-columns:1fr 1fr}.owner-analytics-strip,.owner-analytics-strip.large{grid-template-columns:1fr 1fr}.heatmap-row{grid-template-columns:130px repeat(5,80px)}}
@media print{.relaxed-topnav,.btn,.ultimate-tabs,.more-menu-wrap{display:none!important}.ultimate-page{max-width:none;padding:0}.calm-card,.certificate-preview{break-inside:avoid}}


/* MathsExpress Ultimate Power Tools */
.ultimate-page{max-width:1180px;margin:0 auto;padding-bottom:90px}.ultimate-page .page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.ultimate-page .page-head h1{margin:5px 0 8px;letter-spacing:-.6px}.ultimate-page .page-head p{margin:0;color:#756c62;max-width:720px;line-height:1.6}.ultimate-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0 18px;padding:6px;border:1px solid #ddd1c0;border-radius:15px;background:#fffaf2;width:max-content;max-width:100%}.ultimate-tabs button{border:0;background:transparent;color:#70675d;border-radius:10px;padding:10px 14px;font-weight:850;cursor:pointer}.ultimate-tabs button.active{background:#e9eddf;color:#405034}.ultimate-section{display:grid;gap:22px}.ultimate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.ultimate-card{min-width:0;padding:18px;border:1px solid #ded2c2;border-radius:17px;background:#fffdf8;box-shadow:0 5px 16px rgba(76,56,34,.04);display:flex;flex-direction:column;align-items:flex-start;gap:8px}.ultimate-card>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#eef1e6;color:#596a49;font-weight:950}.ultimate-card h3{margin:2px 0 0;color:#302b26}.ultimate-card p{margin:0;color:#786f65;line-height:1.5;flex:1}.ultimate-card .btn{margin-top:6px}.ultimate-card.feature-hero{grid-column:span 2;display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:15px;background:linear-gradient(135deg,#fffdf8,#edf1e5)}.ultimate-card.feature-hero>span{width:46px;height:46px;font-size:20px}.ultimate-card.feature-hero p{max-width:650px}.ultimate-card.feature-hero .btn{margin:0;white-space:nowrap}.mastery-map-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.mastery-map-card{padding:14px;border:1px solid #ded2c2;border-radius:14px;background:#fffaf2}.mastery-map-card>span,.mastery-map-card>strong,.mastery-map-card>small{display:block}.mastery-map-card>span{font-size:9px;font-weight:900;letter-spacing:.5px;text-transform:uppercase;color:#8a8075}.mastery-map-card>strong{margin:5px 0 10px;color:#35302a}.mastery-map-card>small{margin-top:7px;color:#756c62}.accessibility-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.access-toggle{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 16px;border:1px solid #ddd1c0;border-radius:14px;background:#fffdf8}.access-toggle strong,.access-toggle small{display:block}.access-toggle small{margin-top:3px;color:#857a6e;font-size:10px}.access-toggle input{width:20px;height:20px;accent-color:#73845d}.ultimate-modal{width:min(760px,calc(100% - 28px));max-height:calc(100vh - 42px);overflow:auto;background:#fffaf1;border:1px solid #d8cab6;border-radius:22px;box-shadow:0 24px 70px rgba(80,61,40,.22)}.ultimate-modal>header{display:flex;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid #e8dece}.ultimate-modal>header h2{margin:3px 0 0}.ultimate-modal-body{padding:20px 22px}.ultimate-modal>footer{padding:14px 22px 20px;display:flex;justify-content:flex-end;gap:8px}.helper-prompt,.helper-response,.assessment-result{padding:14px;border:1px solid #e2d7c8;border-radius:13px;background:#fffdf8}.helper-prompt p,.helper-response p{margin-bottom:0}.helper-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.workspace-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:18px}.workspace-grid textarea{width:100%;border:1px solid #d7c9b6;border-radius:12px;background:#fffdf8;padding:12px;font:inherit}.equation-keyboard{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.equation-keyboard button{min-width:42px;height:38px;border:1px solid #d7c9b6;border-radius:9px;background:#f7f0e5;font-weight:850}.graph-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.workspace-grid canvas{display:block;width:100%;height:auto;border:1px solid #ded2c2;border-radius:13px;background:#fff}.mistake-list,.goal-list,.timeline-list,.intervention-list,.calendar-list{display:grid;gap:9px}.mistake-list article,.goal-list article,.timeline-list article,.intervention-list article{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid #e2d7c8;border-radius:12px;background:#fffdf8}.mistake-list article>span,.intervention-list article>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#f4e8db;font-weight:900}.mistake-list strong,.mistake-list p,.goal-list strong,.goal-list small,.timeline-list strong,.timeline-list small,.intervention-list strong,.intervention-list small{display:block}.mistake-list p,.goal-list small,.timeline-list small,.intervention-list small{margin:3px 0 0;color:#7d7368;font-size:10px}.goal-list article>div{flex:1}.goal-list progress{width:130px}.differentiation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.differentiation-grid article{padding:14px;border:1px solid #e0d4c4;border-radius:13px;background:#fffdf8}.poll-option{width:100%;display:flex;justify-content:space-between;align-items:center;padding:12px 14px;margin-top:7px;border:1px solid #ded2c2;border-radius:11px;background:#fffdf8;cursor:pointer}.live-preview{display:block}.certificate-preview{text-align:center;padding:28px;border:2px solid #cdbb8b;border-radius:18px;background:#fffdf6}.certificate-preview>span{font-size:36px}.certificate-preview h1{font-size:34px}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.7fr);gap:18px;margin-top:18px}.calendar-layout>.calm-card{display:block}.calendar-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid #eee5da}.calendar-row:last-child{border-bottom:0}.calendar-row time{font-weight:850;color:#60704e}.calendar-row strong,.calendar-row small{display:block}.calendar-row small{margin-top:2px;color:#857a70}.notice-row{padding:11px 0;border-bottom:1px solid #eee5da}.notice-row:last-child{border-bottom:0}.notice-row p{margin:4px 0 0;color:#7b7166}.notice-row.read{opacity:.65}.parent-summary-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin-top:20px}.parent-summary-grid>.calm-card{display:block}.parent-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px}.parent-stat-grid>div{padding:14px;border-radius:13px;background:#f5eee3}.parent-stat-grid b,.parent-stat-grid small{display:block}.parent-stat-grid b{font-size:24px}.parent-stat-grid small{color:#7e7468}.heatmap{overflow:auto}.heatmap-row{display:grid;grid-template-columns:160px repeat(5,minmax(90px,1fr));gap:6px;min-width:680px;padding:5px 0}.heatmap-row>*{padding:9px;border-radius:9px}.heatmap-row.head>*{background:#f0e8dc}.heat{font-weight:850;text-align:center}.heat.high{background:#e2eddc;color:#315234}.heat.mid{background:#f4e8c8;color:#705d25}.heat.low{background:#f5dddd;color:#773f3b}.leaderboard-demo{display:grid;gap:8px}.leaderboard-demo>div{display:grid;grid-template-columns:35px 1fr auto;gap:8px;padding:12px;border:1px solid #e0d5c5;border-radius:12px;background:#fffdf8}.intervention-list article>div{flex:1}.timeline-list article time{width:90px;font-weight:850;color:#60704e}.mx-dark body,.mx-dark .relaxed-shell,.mx-dark .relaxed-main-shell{background:#1f211e;color:#ece8df}.mx-dark .calm-card,.mx-dark .calm-section,.mx-dark .calm-side-card,.mx-dark .ultimate-card,.mx-dark .ultimate-tabs,.mx-dark .ultimate-modal,.mx-dark .access-toggle,.mx-dark .mastery-map-card,.mx-dark .parent-stat-grid>div{background:#292c28;color:#f0ebe2;border-color:#464941}.mx-dark .relaxed-topnav{background:rgba(35,37,33,.97);border-color:#464941}.mx-dark .relaxed-primary-nav .nav-item,.mx-dark .ultimate-page .page-head p,.mx-dark .ultimate-card p,.mx-dark .mastery-map-card>small{color:#bdb7ad}.mx-high-contrast{filter:contrast(1.12)}.mx-large-text{font-size:112%}.mx-reduced-motion *{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.mx-dyslexia body{font-family:Arial,Verdana,sans-serif;letter-spacing:.02em;word-spacing:.06em}
@media(max-width:900px){.ultimate-grid,.mastery-map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ultimate-card.feature-hero{grid-column:1/-1}.calendar-layout,.parent-summary-grid,.workspace-grid{grid-template-columns:1fr}.accessibility-panel{grid-template-columns:1fr}}
@media(max-width:620px){.ultimate-page .page-head{flex-direction:column}.ultimate-tabs{width:100%;overflow:auto;flex-wrap:nowrap}.ultimate-tabs button{white-space:nowrap}.ultimate-grid,.mastery-map-grid,.differentiation-grid{grid-template-columns:1fr}.ultimate-card.feature-hero{display:flex;flex-direction:column;align-items:flex-start}.ultimate-card.feature-hero .btn{width:100%}.parent-stat-grid{grid-template-columns:1fr 1fr}.calendar-row{grid-template-columns:1fr}.goal-list article{align-items:flex-start;flex-direction:column}.goal-list progress{width:100%}}
@media print{.relaxed-topnav,.ultimate-tabs,.btn,.toast-root,#modal-root{display:none!important}.ultimate-page,.certificate-preview,.parent-summary-grid{max-width:none;padding:0;margin:0;box-shadow:none}.certificate-preview{border:3px solid #000;min-height:600px;display:grid;place-content:center}}

.live-content-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.live-content-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;border:1px solid #dfd4c4;border-radius:13px;background:#fffaf2;text-align:left;color:#3b352f;cursor:pointer}.live-content-item>span{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#e9eddf}.live-content-item strong,.live-content-item small{display:block}.live-content-item small{margin-top:3px;color:#7b7166}.live-content-item>b{color:#71805e}.studio-poll-options{display:grid;gap:8px;margin-top:14px}.announcement-view p{font-size:16px;line-height:1.65;white-space:pre-wrap}.announcement-view small{color:#82776b}@media(max-width:700px){.live-content-list{grid-template-columns:1fr}}

/* Ultimate completion polish */
.graph-function-row{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:10px 0 12px}.graph-function-row label{flex:1;min-width:220px}.graph-function-row input{width:100%}
.maintenance-lock{display:grid;place-items:center;padding:72px 20px}.maintenance-lock-card{max-width:620px;text-align:center;background:var(--cream-card,#fffaf1);border:1px solid var(--cream-border,#ded2bf);border-radius:24px;padding:38px}.maintenance-lock-card .maintenance-icon{display:block;font-size:44px;margin-bottom:12px}.maintenance-lock-card h1{margin:8px 0 10px}.maintenance-lock-card p{font-size:1.08rem}.maintenance-lock-card .btn{margin-top:24px}
.leadership-summary{display:grid;gap:14px}.leadership-year-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.leadership-year-grid div{display:flex;justify-content:space-between;gap:8px;padding:10px 12px;border:1px solid var(--cream-border,#ded2bf);border-radius:12px}.live-results-table{display:grid;gap:8px}.live-results-table article{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--cream-border,#ded2bf);border-radius:12px}.live-results-table small{display:block;max-width:520px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.success-text{color:#496436}.danger-text{color:#9b3d32}
body.mx-accent-navy{--cream-accent:#445a6e}body.mx-accent-purple{--cream-accent:#6b5679}body.mx-accent-blue{--cream-accent:#416b80}body.mx-accent-olive{--cream-accent:#6f8152}
@media(max-width:680px){.leadership-year-grid{grid-template-columns:1fr}.live-results-table article{grid-template-columns:28px 1fr}.live-results-table article>span{grid-column:2}}

/* =========================================================
   Textbook Edition — compact account header + full book reader
   ========================================================= */
.compact-account-chip {
  min-width: 0 !important;
  width: auto !important;
  max-width: 132px !important;
  height: 36px !important;
  margin: 0 !important;
  padding: 0 11px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  border-radius: 11px !important;
  box-shadow: none !important;
}
.compact-account-chip .account-dot {
  flex: 0 0 auto;
  width: 20px !important;
  height: 20px !important;
  display: grid;
  place-items: center;
  border-radius: 50% !important;
  box-shadow: inset 0 0 0 6px rgba(255,255,255,.56) !important;
}
.compact-account-chip span:not(.account-dot) {
  min-width: 0;
  font-size: 11px !important;
  line-height: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.compact-account-chip small { display: none !important; }
.nav-more-button {
  min-height: 36px !important;
  height: 36px !important;
  padding: 0 11px !important;
  border-radius: 11px !important;
  font-size: 11px;
}
.relaxed-top-actions { gap: 7px !important; }

.textbook-page,
.textbook-reader-page { max-width: 1240px; margin: 0 auto; padding-bottom: 80px; }
.textbook-hero {
  display: grid; grid-template-columns:minmax(0,1.3fr) minmax(360px,.8fr); gap:24px; align-items:center;
  margin: 24px 0 16px; padding: 28px; border:1px solid #ddd1c1; border-radius:22px;
  background:linear-gradient(135deg,#efe5d5,#fffaf2 60%,#e6eadc); box-shadow:0 8px 28px rgba(75,56,36,.06);
}
.textbook-hero h1 { margin:5px 0 8px; color:#2c2824; font-size:clamp(30px,4vw,46px); letter-spacing:-1.3px; }
.textbook-hero p { max-width:720px; margin:0; color:#73695f; line-height:1.65; }
.textbook-hero-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.textbook-hero-stats>div { padding:15px; border:1px solid #ddd1c1; border-radius:13px; background:#fffdf8; }
.textbook-hero-stats strong,.textbook-hero-stats span { display:block; }
.textbook-hero-stats strong { color:#536442; font-size:22px; }
.textbook-hero-stats span { margin-top:2px; color:#81766b; font-size:9px; text-transform:uppercase; font-weight:850; letter-spacing:.45px; }

.textbook-toolbar { display:flex; justify-content:space-between; align-items:center; gap:14px; margin:14px 0; }
.textbook-year-switcher { display:flex; gap:5px; flex-wrap:wrap; padding:5px; border:1px solid #ddd1c1; border-radius:13px; background:#eee6da; }
.textbook-year-switcher button,.textbook-pathways button {
  min-height:36px; padding:7px 12px; border:0; border-radius:9px; background:transparent; color:#6d645a; font-weight:850; cursor:pointer;
}
.textbook-year-switcher button.active,.textbook-pathways button.active { background:#fffdf8; color:#536442; box-shadow:0 2px 8px rgba(77,58,36,.06); }
.textbook-search-form { display:flex; gap:7px; align-items:center; min-width:min(440px,100%); }
.textbook-search-form input { width:100%; min-height:40px; padding:9px 12px; border:1px solid #d8ccbc; border-radius:10px; background:#fffdf8; color:#2f2a25; }
.textbook-pathways { display:flex; gap:6px; align-items:center; flex-wrap:wrap; margin:10px 0; }
.textbook-pathways>span { color:#7b7167; font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.5px; }
.textbook-pathways button { border:1px solid #ddd1c1; background:#fffaf2; }
.textbook-alignment-note { display:flex; gap:10px; align-items:flex-start; margin:12px 0 22px; padding:12px 14px; border-radius:12px; background:#f1eadf; color:#675e55; font-size:10px; line-height:1.5; }
.textbook-alignment-note strong { color:#526345; white-space:nowrap; }

.textbook-book { margin:24px 0 34px; }
.textbook-book-head { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-bottom:12px; }
.textbook-book-head h2 { margin:3px 0 4px; color:#2f2a25; font-size:24px; }
.textbook-book-head p { margin:0; color:#7b7065; }
.book-progress { min-width:104px; padding:11px 13px; border:1px solid #ddd1c1; border-radius:12px; background:#fffdf8; text-align:center; }
.book-progress strong,.book-progress span { display:block; }.book-progress strong{color:#536442;font-size:20px}.book-progress span{font-size:8px;color:#80756a;text-transform:uppercase;font-weight:800}
.textbook-chapter-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.textbook-chapter-card { border:1px solid #ddd2c3; border-radius:17px; background:#fffdf8; overflow:hidden; box-shadow:0 4px 14px rgba(76,56,34,.035); }
.textbook-chapter-card>header { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:16px 17px 13px; border-bottom:1px solid #eee5d9; }
.textbook-chapter-card>header span { color:#7b8c61; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.5px; }
.textbook-chapter-card>header h3 { margin:3px 0 2px; color:#302b26; font-size:17px; }
.textbook-chapter-card>header small { color:#81766b; font-size:9px; }
.chapter-donut { width:44px; height:44px; display:grid; place-items:center; flex:0 0 auto; border-radius:50%; background:#eef1e6; color:#5d6e4a; font-size:10px; font-weight:900; }
.textbook-section-list { display:grid; }
.textbook-section-row { width:100%; min-height:54px; display:grid; grid-template-columns:44px minmax(0,1fr) 24px; gap:8px; align-items:center; padding:8px 13px; border:0; border-bottom:1px solid #f0e8dd; background:transparent; color:#39332e; text-align:left; cursor:pointer; }
.textbook-section-row:hover { background:#f7f0e6; }.textbook-section-row.complete{background:#f2f5ec}.textbook-section-row:last-child{border-bottom:0}
.textbook-section-row>span { color:#8a7e72; font-size:9px; font-weight:850; }.textbook-section-row strong,.textbook-section-row small{display:block}.textbook-section-row strong{font-size:11px}.textbook-section-row small{margin-top:2px;color:#887d72;font-size:8px}.textbook-section-row b,.textbook-section-row i{color:#73815b;font-style:normal;text-align:center}
.textbook-chapter-card>footer { display:flex; gap:7px; padding:12px 14px; border-top:1px solid #eee5d9; background:#fbf7f0; }
.textbook-footer-summary { display:flex; gap:8px; flex-wrap:wrap; justify-content:center; margin:28px 0; }.textbook-footer-summary span{padding:7px 10px;border-radius:999px;background:#efe7db;color:#72685e;font-size:9px;font-weight:800}

.textbook-result-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.textbook-result-card { min-height:72px; display:grid; grid-template-columns:52px minmax(0,1fr) 24px; gap:10px; align-items:center; padding:12px; border:1px solid #ddd2c3; border-radius:13px; background:#fffdf8; color:#332e29; text-align:left; cursor:pointer; }
.textbook-result-card>span{font-size:9px;color:#7a895e;font-weight:900}.textbook-result-card strong,.textbook-result-card small{display:block}.textbook-result-card small{margin-top:3px;color:#81766b;font-size:8px}.textbook-result-card b{color:#70805a}

.textbook-reader-top { display:flex; justify-content:space-between; gap:14px; align-items:center; margin:20px 0 12px; }.reader-top-actions{display:flex;gap:7px;flex-wrap:wrap}.reader-top-actions .active{background:#eef1e6;border-color:#bdc9a7}
.textbook-reader-layout { display:grid; grid-template-columns:260px minmax(0,1fr); gap:18px; align-items:start; }
.textbook-reader-toc { position:sticky; top:80px; max-height:calc(100vh - 100px); overflow:auto; padding:16px; border:1px solid #ddd2c3; border-radius:16px; background:#fffdf8; }
.textbook-reader-toc h3{margin:4px 0 12px;color:#332e29;font-size:14px;line-height:1.35}.reader-toc-list{display:grid;gap:4px}.reader-toc-list button{display:grid;grid-template-columns:34px minmax(0,1fr);gap:6px;align-items:center;width:100%;padding:8px;border:0;border-radius:9px;background:transparent;color:#504941;text-align:left;cursor:pointer}.reader-toc-list button:hover,.reader-toc-list button.active{background:#f0e8dc}.reader-toc-list button.complete{box-shadow:inset 3px 0 #83936a}.reader-toc-list span{font-size:8px;color:#887d72}.reader-toc-list strong,.reader-toc-list small{display:block}.reader-toc-list strong{font-size:9px}.reader-toc-list small{font-size:7px;color:#8a8075;margin-top:2px}
.textbook-reader-main { min-width:0; display:grid; gap:13px; }
.textbook-lesson-head,.textbook-content-block { border:1px solid #ddd2c3; border-radius:17px; background:#fffdf8; box-shadow:0 4px 14px rgba(76,56,34,.035); }
.textbook-lesson-head { padding:24px; }.textbook-lesson-head h1{margin:5px 0 8px;color:#2d2924;font-size:clamp(28px,4vw,42px);letter-spacing:-.8px}.textbook-lesson-head p{margin:0;color:#746a60;line-height:1.55}.lesson-progress-line{height:6px;margin-top:16px;border-radius:999px;background:#ece4d8;overflow:hidden}.lesson-progress-line i{display:block;height:100%;background:#83936a;border-radius:inherit}
.textbook-content-block { padding:22px; }.textbook-content-block h2{margin:4px 0 12px;color:#302b26;font-size:20px}.textbook-content-block>p{color:#6f665d;line-height:1.72}.textbook-content-block ul{margin:0;padding-left:20px;color:#625a52;line-height:1.65}.block-kicker{color:#77865f;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.6px}
.prerequisite-strip { display:flex; gap:9px; align-items:flex-start; margin-top:14px; padding:11px 12px; border-radius:10px; background:#f2eadf; color:#6f655b; font-size:9px; line-height:1.45 }.prerequisite-strip strong{color:#4f5f42;white-space:nowrap}
.textbook-vocab { display:flex; flex-wrap:wrap; gap:7px; }.textbook-vocab span{padding:7px 9px;border:1px solid #ddd2c3;border-radius:999px;background:#fbf7f0;color:#625a52;font-size:9px;font-weight:800}
.key-rule { margin-top:15px; padding:14px 16px; border-left:4px solid #7a895e; border-radius:10px; background:#eef1e6; }.key-rule strong{color:#536345}.key-rule p{margin:4px 0 0;color:#5e6556;line-height:1.55}
.worked-example-stack { display:grid; gap:10px; }.worked-example{padding:15px;border:1px solid #e0d6c8;border-radius:13px;background:#fffaf2}.worked-example header{display:flex;gap:9px;align-items:center}.worked-example header>span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#e6eadc;color:#536442;font-weight:900}.worked-example header strong,.worked-example header small{display:block}.worked-example header small{margin-top:2px;color:#8a8075;font-size:8px;text-transform:uppercase}.example-question{margin:12px 0 8px;color:#39332d;font-weight:750;line-height:1.5}.worked-example details{padding:10px 12px;border-radius:9px;background:#f4ede2}.worked-example summary{cursor:pointer;color:#62724f;font-weight:850}.worked-example details p{color:#5e564f;line-height:1.55}.worked-example details small{color:#81766b}
.common-mistakes>div{display:grid;gap:7px}.common-mistakes>div p{display:flex;gap:9px;align-items:flex-start;margin:0;padding:10px 12px;border-radius:10px;background:#f6ece7;color:#6d5d57}.common-mistakes p b{width:20px;height:20px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:#e7c9bd;color:#7a4f45}
.exercise-band-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:14px; }.exercise-band{padding:15px;border:1px solid #ddd2c3;border-radius:13px;background:#fffaf2}.exercise-band.extension{grid-column:1/-1}.exercise-band-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.exercise-band-head span{color:#35302b;font-weight:900}.exercise-band-head b{padding:4px 7px;border-radius:999px;background:#eee6da;color:#746a60;font-size:8px}.exercise-band>p{margin:5px 0 10px;color:#80756a;font-size:9px}.exercise-band ol{margin:0 0 12px;padding-left:20px;color:#5c544d;font-size:9px;line-height:1.45}.exercise-actions{display:flex;gap:7px;flex-wrap:wrap}
.checkpoint-block{display:flex;justify-content:space-between;gap:18px;align-items:center;background:linear-gradient(135deg,#fffaf2,#eef1e6)}.checkpoint-block p{margin:0}.checkpoint-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.notes-block textarea{width:100%;padding:12px;border:1px solid #d9cdbd;border-radius:10px;background:#fffaf2;color:#332e29;resize:vertical;line-height:1.55}.notes-block form{display:grid;gap:9px}.notes-block button{justify-self:start}
.textbook-reader-nav{display:flex;justify-content:space-between;gap:10px;margin:4px 0 20px}.textbook-reader-nav .btn{max-width:48%;white-space:normal;text-align:center}
.textbook-hub-preview .textbook-preview-copy{color:#71675d;line-height:1.55}.textbook-preview-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:14px 0}.textbook-preview-stats>div{padding:12px;border-radius:11px;background:#f2eadf;text-align:center}.textbook-preview-stats strong,.textbook-preview-stats span{display:block}.textbook-preview-stats strong{font-size:20px;color:#526345}.textbook-preview-stats span{font-size:8px;color:#81766a;text-transform:uppercase}.textbook-continue-card{display:grid;grid-template-columns:42px minmax(0,1fr) 24px;gap:10px;align-items:center;width:100%;padding:13px;border:1px solid #ddd2c3;border-radius:12px;background:#fffaf2;color:#39332e;text-align:left;cursor:pointer}.textbook-continue-card>span{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:#e6eadc;color:#566748}.textbook-continue-card strong,.textbook-continue-card small{display:block}.textbook-continue-card small{margin-top:3px;color:#82776c;font-size:9px}.textbook-continue-card b{color:#73815c}

@media(max-width:980px){
  .textbook-hero{grid-template-columns:1fr}.textbook-chapter-list{grid-template-columns:1fr}.textbook-reader-layout{grid-template-columns:1fr}.textbook-reader-toc{position:static;max-height:none}.reader-toc-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .textbook-toolbar{align-items:stretch;flex-direction:column}.textbook-search-form{min-width:0}.checkpoint-block{align-items:flex-start;flex-direction:column}.checkpoint-actions{justify-content:flex-start}
}
@media(max-width:720px){
  .compact-account-chip{max-width:96px!important;padding:0 8px!important}.compact-account-chip .account-dot{width:18px!important;height:18px!important}.nav-more-button{padding:0 9px!important}
  .textbook-page,.textbook-reader-page{padding:0 11px 80px}.textbook-hero{padding:20px;border-radius:17px}.textbook-hero-stats,.textbook-preview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.textbook-result-grid,.exercise-band-grid{grid-template-columns:1fr}.exercise-band.extension{grid-column:auto}.reader-toc-list{grid-template-columns:1fr}.textbook-reader-top{align-items:flex-start;flex-direction:column}.reader-top-actions{width:100%}.reader-top-actions .btn{flex:1}.textbook-content-block,.textbook-lesson-head{padding:17px}.textbook-reader-nav{flex-direction:column}.textbook-reader-nav .btn{max-width:none;width:100%}
}

/* MathsExpress Complete Suite */
.complete-suite{display:grid;gap:24px}.complete-suite-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px}.complete-suite-intro h2{margin:.2rem 0 .45rem}.complete-count{white-space:nowrap;border:1px solid var(--cream-border,#ded2bd);border-radius:999px;padding:10px 14px;background:#fffaf2;font-weight:800}.complete-group{display:grid;gap:12px}.complete-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.complete-card{min-width:0;border:1px solid var(--cream-border,#ded2bd);border-radius:18px;background:#fffdf8;padding:18px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.complete-card h3,.complete-card p{margin:0}.complete-card p{color:var(--cream-muted,#746b5e);line-height:1.45;flex:1}.complete-card .btn{margin-top:auto}.simple-list{display:grid;gap:8px;padding:0;margin:12px 0;list-style:none}.simple-list>div,.simple-list>li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 12px;border:1px solid #e7ddca;border-radius:12px;background:#fffaf2}.simple-list span,.simple-list small{color:#746b5e;text-align:right}.version-grid,.mode-cards,.flashcard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mode-cards article,.flashcard-grid article{border:1px solid #e7ddca;border-radius:14px;padding:14px;background:#fffaf2}.attendance-list{display:grid;gap:8px}.attendance-list label{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid #e7ddca;border-radius:12px;background:#fffaf2}.seating-grid{display:grid;grid-template-columns:repeat(var(--seat-cols,4),minmax(0,1fr));gap:10px}.seat{min-height:72px;border:1px solid #d9ccb5;border-radius:14px;background:#fffaf2;padding:10px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.term-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.term-plan-grid article{display:flex;justify-content:space-between;gap:12px;border:1px solid #e7ddca;border-radius:12px;padding:10px 12px;background:#fffaf2}.bracket-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px;overflow:auto}.bracket-match{display:grid;gap:4px;padding:9px;border:1px solid #e7ddca;border-radius:10px;background:#fffaf2;margin-bottom:8px}.duel-card,.converter-row{display:flex;align-items:center;justify-content:center;gap:18px;padding:22px;border:1px solid #e7ddca;border-radius:16px;background:#fffaf2}.challenge-code{text-align:center;padding:24px;border:1px dashed #b8a983;border-radius:16px;background:#fffaf2}.challenge-code b{display:block;font-size:2rem;letter-spacing:.12em}.formula-sheet{white-space:pre-wrap;background:#fffaf2;border:1px solid #e7ddca;border-radius:14px;padding:16px}.countdown-big{text-align:center;padding:20px;border:1px solid #e7ddca;border-radius:16px;background:#fffaf2}.countdown-big b{font-size:2.4rem;display:block}.calculator-demo{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.calculator-demo output{grid-column:1/-1;padding:14px;border-radius:12px;background:#fffaf2;border:1px solid #e7ddca;font-size:1.4rem;font-weight:800}.geometry-tool-demo{display:grid;gap:12px}.geometry-grid{min-height:220px;border:1px solid #d9ccb5;border-radius:16px;background-image:linear-gradient(#e9dfcf 1px,transparent 1px),linear-gradient(90deg,#e9dfcf 1px,transparent 1px);background-size:24px 24px;background-color:#fffdf8}.geometry-toolbar{display:flex;flex-wrap:wrap;gap:8px}.integration-status-card{display:flex;gap:14px;align-items:flex-start}.status-dot{width:14px;height:14px;border-radius:50%;background:#d3a84e;margin-top:6px;flex:0 0 auto}.status-dot.waiting{background:#d3a84e}.status-banner.warning{background:#fff4d7;border-color:#e1c476}.mx-focus-mode [data-route="games"],.mx-focus-mode [data-route="challenges"],.mx-focus-mode #top-coins,.mx-focus-mode #top-game-time{display:none!important}
@media(max-width:980px){.complete-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bracket-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}
@media(max-width:640px){.complete-grid,.version-grid,.mode-cards,.flashcard-grid,.term-plan-grid{grid-template-columns:1fr}.complete-suite-intro{align-items:flex-start;flex-direction:column}.seating-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.duel-card,.converter-row{flex-direction:column}.calculator-demo{grid-template-columns:1fr}.bracket-grid{grid-template-columns:1fr}}

/* MathsExpress Owner Activity Center */
.owner-activity-page{max-width:1500px;margin:0 auto}.owner-activity-page .page-head{align-items:flex-start}.owner-activity-tabs{display:flex;gap:8px;margin:18px 0 12px}.owner-activity-tabs button{border:1px solid var(--cream-border,#ded5c5);background:var(--cream-card,#fffaf1);color:var(--cream-text,#352f28);border-radius:12px;padding:10px 16px;font-weight:750;cursor:pointer}.owner-activity-tabs button.active{background:var(--cream-primary,#58634a);color:#fff;border-color:transparent}.owner-activity-filters{display:grid;grid-template-columns:minmax(220px,2fr) repeat(4,minmax(140px,1fr)) auto;gap:10px;align-items:center;margin-bottom:16px}.owner-activity-filters input,.owner-activity-filters select{min-height:44px;border:1px solid var(--cream-border,#ded5c5);border-radius:12px;background:#fffdf8;padding:0 12px;color:inherit}.owner-activity-panel{padding:18px}.owner-activity-feed{display:flex;flex-direction:column;gap:9px}.owner-activity-feed.compact{max-height:560px;overflow:auto}.owner-activity-event{display:grid;grid-template-columns:28px 1fr;gap:10px;border:1px solid var(--cream-border,#e1d9cb);background:#fffdf8;border-radius:14px;padding:12px 14px}.owner-activity-event.account{border-left:4px solid #68765a}.owner-activity-event.learning{border-left:4px solid #6a6fa0}.owner-activity-event.assignment{border-left:4px solid #8b6f47}.owner-activity-event.class,.owner-activity-event.school{border-left:4px solid #4f7b78}.owner-activity-event.game,.owner-activity-event.challenge{border-left:4px solid #8b5e77}.owner-activity-event.admin{border-left:4px solid #7c5d48}.owner-activity-icon{font-size:14px;line-height:1.5;color:#6b675f}.owner-activity-main{min-width:0}.owner-activity-line{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.owner-activity-line strong{font-size:14px}.owner-activity-line span{font-size:14px}.owner-activity-meta{display:flex;gap:9px;flex-wrap:wrap;margin-top:3px;color:var(--cream-muted,#746f68);font-size:12px}.owner-activity-details{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.owner-activity-details span{background:#f3ede3;border-radius:999px;padding:4px 8px;font-size:11px;max-width:100%;overflow:hidden;text-overflow:ellipsis}.owner-activity-details b{font-weight:700;margin-right:3px}.owner-user-table{display:flex;flex-direction:column;overflow-x:auto}.owner-user-row{display:grid;grid-template-columns:minmax(210px,2fr) 120px 110px minmax(160px,1.4fr) 120px 70px 70px;gap:12px;align-items:center;min-width:920px;padding:11px 10px;border-bottom:1px solid var(--cream-border,#e1d9cb);font-size:13px}.owner-user-row>span{min-width:0}.owner-user-row>span:first-child strong,.owner-user-row>span:first-child small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.owner-user-row small{display:block;color:var(--cream-muted,#746f68);margin-top:2px}.owner-user-head{font-weight:800;background:#f5efe5;border-radius:10px}.owner-role-chip{display:inline-flex;padding:3px 7px;border-radius:999px;background:#ece7dc;text-transform:uppercase;font-size:10px;letter-spacing:.05em}.owner-user-detail{display:flex;flex-direction:column;gap:14px}.owner-user-detail-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.owner-user-detail-head h2{margin:4px 0}.owner-user-detail-head p{margin:0;color:var(--cream-muted,#746f68)}.owner-user-big-stat{text-align:right}.owner-user-big-stat b{display:block;font-size:28px}.owner-user-big-stat span{font-size:12px;color:var(--cream-muted,#746f68)}
@media(max-width:1050px){.owner-activity-filters{grid-template-columns:1fr 1fr 1fr}.owner-activity-filters input{grid-column:1/-1}.owner-activity-filters .btn{width:100%}}@media(max-width:680px){.owner-activity-filters{grid-template-columns:1fr}.owner-activity-filters>*{grid-column:auto!important}.owner-activity-event{grid-template-columns:1fr}.owner-activity-icon{display:none}.owner-user-detail-head{flex-direction:column}.owner-user-big-stat{text-align:left}.owner-analytics-strip.large{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* MathsExpress AI Helper */
.ai-helper-top-button{height:40px;border:1px solid #d8cbb9;border-radius:12px;background:#eef2e6;color:#425237;padding:0 13px;display:flex;align-items:center;gap:7px;font:inherit;font-weight:900;cursor:pointer;white-space:nowrap}.ai-helper-top-button span{font-size:16px}.ai-helper-shell{display:grid;gap:14px}.ai-context-strip{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid #ddd2c2;border-radius:14px;background:#f4f0e7}.ai-context-strip>span{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#74845d;color:white;font-size:18px}.ai-context-strip>div{flex:1;min-width:0}.ai-context-strip strong,.ai-context-strip small{display:block}.ai-context-strip small{color:#786f64;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-ready-pill,.ai-lock-pill{padding:7px 10px;border-radius:999px;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.ai-ready-pill{background:#e4eddd;color:#3e5b36}.ai-lock-pill{background:#f3dfd7;color:#7c473c}.ai-chat-log{min-height:260px;max-height:430px;overflow:auto;display:grid;gap:12px;padding:6px 4px}.ai-chat-message{display:flex;gap:9px;align-items:flex-start}.ai-chat-message.user{flex-direction:row-reverse}.ai-chat-avatar{width:32px;height:32px;flex:0 0 32px;border-radius:10px;background:#74845d;color:white;display:grid;place-items:center;font-size:11px;font-weight:900}.ai-chat-message.user .ai-chat-avatar{background:#ddd2c2;color:#5e554b}.ai-chat-bubble{max-width:min(78%,620px);padding:11px 13px;border:1px solid #dfd4c4;border-radius:14px;background:#fffdf8}.ai-chat-message.user .ai-chat-bubble{background:#edf1e6}.ai-chat-bubble small{display:block;font-weight:900;color:#6b6258;margin-bottom:4px}.ai-chat-bubble p{margin:0;line-height:1.55;white-space:pre-wrap}.ai-suggestion-row{display:flex;gap:7px;flex-wrap:wrap}.ai-suggestion{border:1px solid #d7cbb9;border-radius:999px;background:#fffaf1;padding:8px 11px;font:inherit;font-size:11px;font-weight:800;color:#5d554b;cursor:pointer}.ai-chat-compose{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:end}.ai-chat-compose textarea{width:100%;resize:vertical;min-height:52px;max-height:140px;border:1px solid #d7cbb9;border-radius:13px;background:#fffdf8;padding:11px 12px;font:inherit}.ai-helper-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;color:#80766b}.ai-helper-footer small{max-width:75%}@media(max-width:1080px){.ai-helper-top-button b{display:none}.ai-helper-top-button{width:40px;padding:0;justify-content:center}}@media(max-width:720px){.ai-helper-top-button{display:none}.ai-chat-bubble{max-width:88%}.ai-context-strip{align-items:flex-start;flex-wrap:wrap}.ai-chat-compose{grid-template-columns:1fr}.ai-helper-footer{align-items:flex-start;flex-direction:column}.ai-helper-footer small{max-width:100%}}

/* =========================================================
   MathsExpress v4 — readability + Smart AI fixes
   ========================================================= */
.student-hub .school-side-card.accent {
  background: #fffaf2 !important;
  border-color: #d8cab7 !important;
  color: #2d2924 !important;
}
.student-hub .school-side-card.accent h3 { color:#2d2924 !important; }
.student-hub .school-side-card.accent p { color:#675f56 !important; }
.student-hub .school-side-card.accent .btn.secondary {
  background:#738158 !important;
  border-color:#738158 !important;
  color:#fff !important;
}
.student-hub .school-side-card.accent .btn.secondary:hover { background:#647249 !important; }
.activity-feed > .school-empty {
  display:flex !important;
  grid-template-columns:none !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:150px !important;
  padding:24px !important;
  line-height:1.55 !important;
  text-align:center !important;
  color:#675f56 !important;
}
.activity-feed > div:not(.school-empty) { color:#2d2924; }
.activity-feed > div:not(.school-empty) strong { color:#2d2924; }
.activity-feed > div:not(.school-empty) small,
.activity-feed > div:not(.school-empty) time { color:#766d62 !important; }
.notice-row strong { color:#2d2924 !important; }
.notice-row p { color:#675f56 !important; line-height:1.55; }
.notice-row.read { opacity:.78 !important; }
.toast { background:#fffdf8 !important; border-color:#cfc0ad !important; color:#2d2924 !important; box-shadow:0 18px 55px rgba(76,57,35,.18) !important; }
.toast strong { color:#2d2924 !important; }
.toast span { color:#675f56 !important; }
.toast.success { border-left:4px solid #6d8a5c !important; }
.toast.reward { border-left:4px solid #bc8d48 !important; }
.school-status, .due-chip, .tag { color:#514a42 !important; }
.school-quick small, .school-quick em, .class-mini small { color:#6f675d !important; }

.ai-chat-bubble { color:#2d2924; box-shadow:0 4px 14px rgba(75,55,35,.035); }
.ai-chat-bubble p { color:#2d2924; font-size:14px; }
.ai-chat-bubble small { color:#655d54; }
.ai-chat-message.user .ai-chat-bubble { background:#edf1e6; border-color:#d3ddc8; }
.ai-chat-compose textarea:disabled { opacity:.7; cursor:wait; }
.ai-thinking { display:flex; align-items:center; gap:5px; min-height:23px; color:#71695f; }
.ai-thinking span { width:7px; height:7px; border-radius:50%; background:#74845d; animation:mxAiPulse 1s infinite ease-in-out; }
.ai-thinking span:nth-child(2){animation-delay:.14s}.ai-thinking span:nth-child(3){animation-delay:.28s}
.ai-thinking b { margin-left:6px; font-size:11px; font-weight:700; }
@keyframes mxAiPulse { 0%,80%,100%{transform:scale(.65);opacity:.42}40%{transform:scale(1);opacity:1} }
@media (prefers-reduced-motion: reduce){.ai-thinking span{animation:none}}

/* MathsExpress v5 platform expansion */
.math-prompt sup,
.choice sup,
.challenge-question sup,
.class-game-question sup,
.example-question sup,
.worked-example sup,
.exercise-band sup,
.preview-question-list sup {
  font-size: .62em;
  line-height: 0;
  vertical-align: super;
  font-weight: 750;
}

.home-notifications {
  margin-bottom: 18px;
}
.home-notice-list {
  display: grid;
  gap: 10px;
}
.home-notice {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(77, 72, 61, .13);
  background: #fffdf8;
  box-shadow: 0 8px 22px rgba(72, 59, 39, .06);
  color: #27251f;
}
.home-notice.broadcast { border-left: 4px solid #5b61d6; }
.home-notice.announcement { border-left: 4px solid #1f8a70; }
.home-notice.update { border-left: 4px solid #d28724; }
.home-notice strong { color: #1f1d19; display:block; margin-bottom:4px; }
.home-notice p { margin:0; color:#5d584f; line-height:1.45; }
.notice-dismiss {
  width: 32px;
  height: 32px;
  flex: 0 0 auto;
  border-radius: 10px;
  border: 1px solid rgba(77,72,61,.15);
  background:#fff;
  color:#2f6f5e;
  font-weight:800;
  cursor:pointer;
}

.field-help { display:block; margin-top:6px; color:#6d685f; font-size:.78rem; line-height:1.35; }

.focus-disclosure {
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:12px 14px;
  margin:10px 0 16px;
  border:1px solid #d9d5c9;
  border-radius:14px;
  background:#fffdf7;
  color:#312e28;
}
.focus-disclosure > span { font-size:1.2rem; }
.focus-disclosure strong { display:block; margin-bottom:3px; }
.focus-disclosure small { color:#6c665d; line-height:1.4; }
.live-state.away { background:#fff0c9; color:#76500c; border-color:#ebcf86; }
.focus-monitor-list { display:grid; gap:10px; margin-top:12px; }
.focus-monitor-list article {
  display:grid;
  grid-template-columns: 14px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border:1px solid #e0dcd2;
  border-radius:14px;
  background:#fff;
}
.focus-monitor-list strong,.focus-monitor-list small{display:block}.focus-monitor-list small{color:#6b665e;margin-top:3px}.focus-monitor-list time{color:#777166;font-size:.8rem}
.focus-dot{width:10px;height:10px;border-radius:50%;background:#a9a49b}.focus-dot.active{background:#38a169;box-shadow:0 0 0 4px rgba(56,161,105,.13)}.focus-dot.away,.focus-dot.hidden{background:#d99b2b}.focus-dot.offline{background:#a9a49b}

.owner-role-editor { display:flex; gap:10px; align-items:end; flex-wrap:wrap; }
.owner-role-editor label { flex:1; min-width:220px; }
.owner-role-editor select { width:100%; margin-top:6px; }
.owner-account-controls .muted { margin-top:10px; }
.education-domain-list { display:grid; gap:10px; margin-top:16px; }
.education-domain-list article { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:12px 14px; border:1px solid #e1ddd2; border-radius:14px; background:#fff; }
.education-domain-list strong,.education-domain-list small{display:block}.education-domain-list small{color:#777166;margin-top:3px}
.health-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.health-grid article{padding:16px;border:1px solid #e1ddd2;border-radius:15px;background:#fff}.health-grid span,.health-grid small{display:block;color:#746f66}.health-grid strong{display:block;font-size:1.2rem;margin:4px 0;color:#24221d}

.name-fire { color:#d4492f; text-shadow:0 0 10px rgba(255,104,56,.5); }
.name-ice { color:#2785b8; text-shadow:0 0 10px rgba(80,195,255,.45); }
.name-gold { color:#a66d05; text-shadow:0 0 8px rgba(231,178,49,.35); }
.name-shadow { color:#332f3e; text-shadow:2px 2px 0 rgba(74,63,101,.22); }
.name-electric { color:#3150d4; text-shadow:0 0 9px rgba(78,112,255,.45); }
.name-galaxy { background:linear-gradient(90deg,#6a4cff,#d553c9,#367bd8); -webkit-background-clip:text; background-clip:text; color:transparent; font-weight:850; }
.name-diamond { color:#147e9d; text-shadow:0 0 8px rgba(81,215,242,.45); font-weight:850; }

@media (max-width: 720px) {
  .health-grid { grid-template-columns:1fr; }
  .focus-monitor-list article { grid-template-columns:12px minmax(0,1fr); }
  .focus-monitor-list time { grid-column:2; }
}

/* ===== MathsExpress v6 platform expansion ===== */
.home-learning-path{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 26px;border:1px solid var(--border,#d9d0c2);border-radius:22px;background:linear-gradient(135deg,rgba(111,129,82,.12),rgba(76,94,179,.08));box-shadow:0 12px 34px rgba(55,47,38,.06)}
.home-learning-path h2{margin:5px 0 6px;font-size:clamp(1.35rem,2vw,2rem)}
.home-learning-path p{margin:0 0 14px;color:var(--muted,#6f675f)}
.home-learning-path .progress-track{max-width:460px;margin-bottom:7px}.home-learning-path small{color:var(--muted,#6f675f)}
.learn-mode-bar,.path-practice-modes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 30px}
.learn-mode-bar button,.path-practice-modes button{display:flex;align-items:center;gap:12px;text-align:left;border:1px solid var(--border,#d9d0c2);background:var(--card,#fffdf8);padding:16px;border-radius:16px;cursor:pointer;color:inherit}
.learn-mode-bar button:hover,.path-practice-modes button:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(55,47,38,.08)}
.learn-mode-bar button>span,.path-practice-modes button>span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:rgba(111,129,82,.12);font-size:1.25rem}
.learn-mode-bar strong,.path-practice-modes strong{display:block}.learn-mode-bar small,.path-practice-modes small{display:block;margin-top:3px;color:var(--muted,#6f675f)}
.learning-path-page{padding-bottom:70px}.learning-path-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:30px;border-radius:26px;background:linear-gradient(135deg,#f5f0e5,#eef2e8);border:1px solid #d9d0c2;margin-bottom:18px}.learning-path-hero h1{font-size:clamp(2rem,4vw,3.7rem);margin:6px 0 10px}.learning-path-hero p{max-width:760px;color:#6f675f}.path-hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;min-width:330px}.path-hero-stats div{background:rgba(255,255,255,.72);border:1px solid #ded6ca;border-radius:16px;padding:15px;text-align:center}.path-hero-stats b{display:block;font-size:1.6rem}.path-hero-stats small{display:block;color:#746d64}
.path-recommend-card{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px 24px;border-radius:20px;background:#28334e;color:white;margin:14px 0 18px}.path-recommend-card .eyebrow{color:#c9d5ff}.path-recommend-card h2{margin:4px 0}.path-recommend-card p{margin:0;color:#dbe2f4}.path-recommend-card .btn.secondary{background:#fff;color:#27304a;border-color:#fff}
.learning-path-strands{display:grid;gap:28px}.path-strand{padding:22px;border:1px solid var(--border,#ddd4c7);background:var(--card,#fffdf8);border-radius:22px}.path-node-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.path-node{display:grid;grid-template-columns:66px 1fr;gap:14px;align-items:start;padding:15px;border-radius:16px;border:1px solid #ddd5c9;background:#fff}.path-node.locked{opacity:.62;background:#f4f1eb}.path-node.mastered{border-color:#9fbd88;background:#f3f8ef}.path-node h3{margin:3px 0 5px;font-size:1rem}.path-node p{margin:0 0 9px;color:#736b62;font-size:.9rem}.path-node small{text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:#6e7d52}.path-node.locked small{color:#8a8177}.path-prereq{display:block;font-size:.78rem;color:#8b8175}.path-node-ring{--path:0;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#718655 calc(var(--path)*1%),#e5dfd5 0);position:relative}.path-node-ring:after{content:"";position:absolute;inset:6px;background:#fff;border-radius:50%}.path-node-ring strong{position:relative;z-index:1;font-size:.86rem}.review-due-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.review-due-grid button{display:flex;align-items:center;gap:12px;border:1px solid #ddd4c7;background:white;padding:13px 14px;border-radius:14px;text-align:left}.review-due-grid button>span{font-size:1.4rem}.review-due-grid button div{flex:1}.review-due-grid small{display:block;color:#756d63;margin-top:2px}
.arcade-library{margin-top:18px}.arcade-mode-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.arcade-mode-grid article{display:grid;grid-template-columns:50px 1fr auto;gap:12px;align-items:center;padding:14px;border:1px solid #ddd4c7;border-radius:15px;background:#fff}.arcade-mode-grid article>span{font-size:1.8rem;width:46px;height:46px;display:grid;place-items:center;background:#f3efe7;border-radius:12px}.arcade-mode-grid strong{display:block}.arcade-mode-grid small{display:block;color:#756d63;margin-top:3px}.arcade-mode-grid em{display:block;font-size:.75rem;margin-top:4px;color:#60714b;font-style:normal}.v6-arcade{display:grid;gap:18px}.arcade-hud{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}.arcade-hud>div{padding:12px 14px;border-radius:12px;background:#f5f1e9;border:1px solid #ddd4c7}.arcade-hud small{display:block;font-size:.68rem;letter-spacing:.08em;color:#7b7267}.arcade-hud strong{display:block;margin-top:3px}.arcade-question{text-align:center}.arcade-question h3{font-size:1.65rem;margin:14px 0}.arcade-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.arcade-choice-grid button{font:inherit;font-weight:800;padding:18px;border-radius:14px;border:1px solid #cfc5b8;background:#fff;cursor:pointer}.arcade-choice-grid button:hover{background:#f0f5e8;border-color:#94a675}.arcade-finish{text-align:center;padding:24px}.arcade-finish>span{font-size:3rem}.arcade-finish h3{font-size:1.6rem;margin:8px 0}
.shop-category-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px}.shop-category-tabs button{border:1px solid #d8cfc2;background:#fffdf8;border-radius:999px;padding:8px 13px;cursor:pointer;text-transform:capitalize}.shop-category-tabs button.active{background:#2e3b55;color:white;border-color:#2e3b55}.shop-summary{margin:0 0 14px;color:#736b62}.shop-summary strong{color:#2e342d}.achievement-summary{margin:-4px 0 16px;color:#736b62}.achievement-summary strong{font-size:1.3rem;color:#2e342d;margin-right:6px}.badge-card.secret{border-style:dashed}.badge-card.secret.locked .badge-icon{background:#2f3340;color:white}
.planner-dashboard{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.calendar-row.done{opacity:.58}.calendar-row.done strong{text-decoration:line-through}.planner-check{border:0;background:#edf2e7;color:#60714b;width:34px;height:34px;border-radius:10px;cursor:pointer;font-weight:800}.notice-row .btn{margin-top:6px}.parent-pref-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.parent-pref-list span{font-size:.8rem;padding:7px 9px;border-radius:999px;background:#f0f4ea;color:#52613f}.parent-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.tag.amber{background:#fff1cf;color:#7a5b18}.assignment-card .assignment-progress{gap:6px}.assignment-card .assignment-progress .btn{width:100%}
@media print{header,.topbar,.relaxed-topbar,.primary-nav,.more-menu-wrap,.btn,.hero-actions,.toast-root,#modal-root{display:none!important}.page{padding:0!important}.teacher-dashboard,.parent-view{background:white!important}.school-section,.calm-card{box-shadow:none!important;break-inside:avoid}}
@media(max-width:900px){.home-learning-path,.learning-path-hero,.path-recommend-card{flex-direction:column;align-items:stretch}.path-hero-stats{min-width:0}.learn-mode-bar,.path-practice-modes{grid-template-columns:1fr 1fr}.planner-dashboard,.parent-detail-grid{grid-template-columns:1fr}.arcade-hud{grid-template-columns:1fr}.arcade-choice-grid{grid-template-columns:1fr}}
@media(max-width:560px){.learn-mode-bar,.path-practice-modes,.path-hero-stats{grid-template-columns:1fr}.path-node-grid{grid-template-columns:1fr}.arcade-mode-grid article{grid-template-columns:46px 1fr}.arcade-mode-grid article .btn{grid-column:1/-1}}

/* v6 school/parent live systems */
.student-table-actions .student-row{grid-template-columns:minmax(200px,1.45fr) .7fr 1fr 1fr minmax(160px,.95fr)}
.student-row-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.student-row-actions .btn{padding:6px 9px}
.live-state.away{background:#493b1f;color:#ffe09a}
.parent-messages-card{margin-top:18px}
.message-thread{display:grid;gap:10px;margin-top:12px}
.message-thread article{padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--card-soft,#111b30)}
.message-thread article b,.message-thread article small{display:block}
.message-thread article small{margin-top:4px;color:var(--muted)}
.house-live-layout,.tournament-live-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:16px}
.house-admin-grid{display:grid;gap:12px}
.house-standing,.tournament-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--card-soft,#111b30)}
.house-standing small,.tournament-row small{color:var(--muted)}
@media(max-width:720px){.student-table-actions .student-row{grid-template-columns:1.4fr .8fr 1fr}.student-table-actions .student-row>span:nth-child(4){display:flex}.student-table-actions .student-row>span:nth-child(2){display:none}.student-row-actions{grid-column:1/-1}.house-live-layout,.tournament-live-layout{grid-template-columns:1fr}}

/* v6 interactive question formats */
.coordinate-answer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.coordinate-answer label,.multi-part-answer label,.table-answer-label{display:grid;gap:6px;font-weight:900}.coordinate-answer input,.multi-part-answer input{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:var(--input,#0c1528);color:var(--text,#fff)}
.number-line-answer{margin:22px 0;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--card-soft,#111b30)}.number-line-answer input[type=range]{width:100%}.number-line-labels{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:10px;color:var(--muted)}.number-line-labels span:last-child{text-align:right}.number-line-labels strong{font-size:22px;color:var(--text,#fff)}
.table-question-wrap{display:grid;gap:14px;margin:16px 0}.math-data-table{width:100%;border-collapse:collapse;overflow:hidden;border-radius:12px}.math-data-table th,.math-data-table td{padding:10px 12px;border:1px solid var(--line);text-align:center}.math-data-table th{background:var(--card-soft,#111b30);color:var(--muted)}
.multi-part-answer{display:grid;gap:12px;margin:18px 0}.multi-part-answer label{padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--card-soft,#111b30)}
.matching-answer{display:grid;gap:10px;margin:18px 0}.matching-answer label{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--card-soft,#111b30)}.matching-answer select{width:100%;padding:10px;border-radius:10px;border:1px solid var(--line);background:var(--input,#0c1528);color:var(--text,#fff)}
.written-answer{min-height:150px;resize:vertical}.feedback.review{border-color:#8068ff;background:rgba(128,104,255,.1)}
@media(max-width:620px){.coordinate-answer{grid-template-columns:1fr}.matching-answer label{grid-template-columns:1fr}.matching-answer label>span{display:none}}

/* v6 working maths lab */
.calculator-key-hints{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 12px}.calculator-key-hints span,.geometry-toolbar span{padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:var(--card-soft,#111b30);font-size:11px;color:var(--muted)}
.tool-result{display:block;margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--card-soft,#111b30);font-size:16px;font-weight:850}
.probability-results{margin-top:14px}.probability-bars{display:grid;gap:8px}.probability-bars>div{display:grid;grid-template-columns:70px 1fr 120px;gap:10px;align-items:center}.probability-bars i{height:10px;border-radius:99px;background:linear-gradient(90deg,#55dff0,#8068ff);min-width:2px}.probability-bars b{text-align:right;font-size:11px}
.statistics-output{margin-top:14px}.geometry-calc .geometry-tool-demo{margin-top:18px}
@media(max-width:620px){.probability-bars>div{grid-template-columns:54px 1fr}.probability-bars b{grid-column:2;text-align:left}}

/* v6 guardian + teacher feedback */
.parent-account-admin{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:16px}.guardian-child-switcher{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.message-thread article.from-parent{margin-left:28px;border-color:rgba(128,104,255,.45)}.message-thread article.from-school{margin-right:28px}.teacher-feedback-strip{margin:12px 0;display:grid;gap:8px;padding:12px;border:1px solid rgba(85,223,240,.3);border-radius:14px;background:rgba(85,223,240,.06)}.teacher-feedback-strip>strong{font-size:12px}.teacher-feedback-strip article{padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--card-soft,#111b30)}.teacher-feedback-strip article p{margin:0 0 5px}.teacher-feedback-strip article small{color:var(--muted)}
@media(max-width:720px){.parent-account-admin{grid-template-columns:1fr}.guardian-child-switcher{justify-content:flex-start}.message-thread article.from-parent,.message-thread article.from-school{margin-left:0;margin-right:0}}

/* v6 drag/drop questions */
.drag-drop-answer{display:grid;gap:12px;margin:18px 0}.drag-tile-bank,.drag-drop-zone{display:flex;flex-wrap:wrap;gap:8px;min-height:58px;padding:12px;border:1px dashed var(--line);border-radius:14px;background:var(--card-soft,#111b30)}.drag-drop-zone{border-style:solid;background:rgba(85,223,240,.05)}.generated-drag-tile{border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:var(--input,#0c1528);color:var(--text,#fff);font-weight:850;cursor:grab}.generated-drag-tile:active{cursor:grabbing}.drop-placeholder{display:flex;align-items:center;color:var(--muted);font-size:12px}

/* MathsExpress v6.4 — Owner user detail modal layout fix */
#modal-root .modal-backdrop {
  overflow: hidden;
}
#modal-root .ultimate-modal {
  width: min(980px, calc(100vw - 40px));
  max-width: 980px;
  max-height: calc(100vh - 40px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 0;
}
#modal-root .ultimate-modal > header {
  flex: 0 0 auto;
  padding: 20px 24px;
  background: #fffaf1;
  position: relative;
  z-index: 2;
}
#modal-root .ultimate-modal-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 20px 24px 26px;
}
#modal-root .ultimate-modal > footer {
  flex: 0 0 auto;
  padding: 14px 24px 20px;
  background: #fffaf1;
}
#modal-root .owner-user-detail {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  display: grid;
  gap: 14px;
}
#modal-root .owner-user-detail > * {
  min-width: 0;
  box-sizing: border-box;
}
#modal-root .owner-user-detail > .calm-card,
#modal-root .owner-account-controls {
  width: 100%;
  display: block;
  align-items: initial;
  justify-content: initial;
  gap: 0;
  padding: 18px;
}
#modal-root .owner-user-detail > .calm-card > .eyebrow,
#modal-root .owner-account-controls > .eyebrow {
  display: block;
  margin-bottom: 12px;
}
#modal-root .owner-account-controls .owner-role-editor {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto;
  gap: 12px;
  align-items: end;
  width: 100%;
}
#modal-root .owner-account-controls .owner-role-editor label {
  min-width: 0;
  width: 100%;
  display: grid;
  gap: 6px;
}
#modal-root .owner-account-controls .owner-role-editor select {
  width: 100%;
  min-height: 42px;
  margin: 0;
}
#modal-root .owner-account-controls .simple-modal-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 8px;
  margin: 14px 0 0;
}
#modal-root .owner-account-controls .muted {
  margin: 12px 0 0;
  max-width: 760px;
  line-height: 1.5;
}
#modal-root .owner-user-detail .owner-analytics-strip {
  width: 100%;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
#modal-root .owner-user-detail .owner-analytics-strip > div {
  min-width: 0;
}
#modal-root .owner-user-detail .owner-analytics-strip small {
  white-space: normal;
  line-height: 1.25;
}
#modal-root .owner-user-detail .calm-card p {
  width: 100%;
  margin: 8px 0 0;
  overflow-wrap: anywhere;
}
#modal-root .owner-user-detail .owner-activity-feed,
#modal-root .owner-user-detail .owner-activity-feed.compact {
  width: 100%;
  max-width: 100%;
  max-height: none;
  overflow: visible;
}
#modal-root .owner-user-detail .owner-activity-event {
  display: block;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: 14px 16px;
}
#modal-root .owner-user-detail .owner-activity-main {
  width: 100%;
  min-width: 0;
}
#modal-root .owner-user-detail .owner-activity-line,
#modal-root .owner-user-detail .owner-activity-meta,
#modal-root .owner-user-detail .owner-activity-details {
  width: 100%;
  min-width: 0;
  overflow-wrap: normal;
  word-break: normal;
}
#modal-root .owner-user-detail .owner-activity-line strong,
#modal-root .owner-user-detail .owner-activity-line span,
#modal-root .owner-user-detail .owner-activity-meta span,
#modal-root .owner-user-detail .owner-activity-meta time {
  white-space: normal;
  word-break: normal;
}
#modal-root .owner-user-detail-head {
  width: 100%;
  min-width: 0;
}
#modal-root .owner-user-detail-head > div:first-child {
  min-width: 0;
}
#modal-root .owner-user-detail-head h2,
#modal-root .owner-user-detail-head p {
  overflow-wrap: anywhere;
}

@media (max-width: 760px) {
  #modal-root .ultimate-modal {
    width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);
  }
  #modal-root .ultimate-modal > header,
  #modal-root .ultimate-modal-body,
  #modal-root .ultimate-modal > footer {
    padding-left: 16px;
    padding-right: 16px;
  }
  #modal-root .owner-account-controls .owner-role-editor {
    grid-template-columns: 1fr;
  }
  #modal-root .owner-account-controls .owner-role-editor .btn,
  #modal-root .owner-account-controls .simple-modal-actions .btn {
    width: 100%;
  }
  #modal-root .owner-user-detail .owner-analytics-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* MathsExpress v7 platform expansion */
.v7-page{padding-bottom:110px}
.v7-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:24px;padding:28px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(135deg,rgba(128,104,255,.16),rgba(85,223,240,.07));box-shadow:var(--shadow);margin-bottom:20px}
.v7-hero h1{font-size:clamp(34px,5vw,58px);line-height:1;margin:8px 0 12px;letter-spacing:-2px}.v7-hero p{color:var(--muted);max-width:800px;line-height:1.65}.v7-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.v7-hero-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-content:center}.v7-hero-metrics>div{border:1px solid var(--line);border-radius:18px;padding:17px;background:rgba(8,13,25,.38);display:flex;flex-direction:column;gap:4px}.v7-hero-metrics b{font-size:26px}.v7-hero-metrics small{color:var(--muted)}
.v7-progress-strip{display:grid;gap:10px;margin-bottom:30px}.v7-progress-strip>div:first-child{padding:14px 18px;border:1px solid var(--line);border-radius:18px;display:flex;gap:12px;align-items:center;justify-content:space-between;background:rgba(255,255,255,.025)}.v7-progress-strip span{color:var(--muted);text-align:right}
.v7-group{margin:32px 0}.v7-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.v7-card{min-height:185px;border:1px solid var(--line);border-radius:20px;padding:18px;background:linear-gradient(180deg,rgba(255,255,255,.038),rgba(255,255,255,.018));display:flex;flex-direction:column;justify-content:space-between;gap:18px;transition:.18s ease}.v7-card:hover{transform:translateY(-2px);border-color:var(--line-strong);background:rgba(255,255,255,.05)}.v7-card h3{margin:0 0 8px;font-size:18px}.v7-card p{margin:0;color:var(--muted);line-height:1.55;font-size:13px}.v7-card .btn{align-self:flex-start}
.v7-diagnostic-form{display:grid;gap:14px}.v7-diagnostic-form label{display:grid;gap:7px}.v7-diagnostic-form label span{font-weight:800}.v7-diagnostic-form input,.v7-big-text,.v7-sketch-wrap textarea{width:100%;border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:12px;padding:12px}
.v7-prereq-list{display:grid;gap:9px}.v7-prereq-list article{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:12px}.v7-prereq-list article>span{width:28px;height:28px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.05)}.v7-prereq-list article div{display:flex;flex-direction:column;gap:3px}.v7-prereq-list small{color:var(--muted)}.v7-prereq-list .locked{opacity:.65}.v7-prereq-list .ready{border-color:rgba(82,221,168,.28)}
.v7-result-box{margin-top:14px;min-height:20px}.v7-sketch-wrap{display:grid;gap:14px}.v7-sketch-wrap canvas{width:100%;height:min(46vh,420px);background:#fffdf7;border:1px solid rgba(30,35,45,.2);border-radius:16px;touch-action:none;cursor:crosshair}
.v7-outcome-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.v7-outcome-grid article{border:1px solid var(--line);padding:13px;border-radius:14px;display:grid;gap:4px}.v7-outcome-grid strong{color:var(--cyan)}.v7-outcome-grid small{color:var(--muted)}
.v7-analytics-table{display:grid;gap:0;border:1px solid var(--line);border-radius:16px;overflow:hidden}.v7-analytics-table>div{display:grid;grid-template-columns:minmax(180px,2fr) minmax(90px,.6fr) minmax(90px,.6fr) minmax(90px,.6fr) minmax(120px,.8fr);gap:12px;padding:11px 13px;border-bottom:1px solid var(--line);align-items:center}.v7-analytics-table>div:last-child{border-bottom:0}.v7-analytics-table .head{background:rgba(255,255,255,.045)}.v7-analytics-table span{min-width:0;overflow-wrap:anywhere}
.v7-group-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.v7-group-columns section{border:1px solid var(--line);border-radius:16px;padding:12px}.v7-group-columns section h3{text-transform:capitalize;margin-top:0}.v7-group-columns section>div{display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding:9px 0}.v7-group-columns span{color:var(--muted)}
.v7-worlds{display:grid;gap:10px}.v7-worlds article{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:16px;padding:14px}.v7-worlds article>span{width:40px;height:40px;border-radius:14px;background:rgba(128,104,255,.18);display:grid;place-items:center;font-weight:900}.v7-worlds article div{display:grid;gap:4px}.v7-worlds small,.v7-worlds p{color:var(--muted);margin:0}
.v7-message-chips{display:flex;flex-wrap:wrap;gap:8px}.v7-scoreboard{display:grid;gap:8px}.v7-scoreboard>div{display:grid;grid-template-columns:42px 1fr 80px;align-items:center;gap:10px;padding:13px;border:1px solid var(--line);border-radius:14px}.v7-scoreboard b{width:32px;height:32px;display:grid;place-items:center;background:rgba(255,255,255,.05);border-radius:10px}.v7-scoreboard strong{text-align:right;font-size:22px}
.v7-permission-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.v7-permission-form section{border:1px solid var(--line);border-radius:16px;padding:14px;display:grid;gap:8px}.v7-permission-form h3{margin:0 0 6px}.v7-permission-form label{display:flex;gap:8px;align-items:center;color:var(--muted)}.v7-permission-form>.btn{grid-column:1/-1;justify-self:start}
.v7-timeline{display:grid;gap:0}.v7-timeline article{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.v7-timeline time{color:var(--muted);font-size:12px}.v7-timeline strong{display:block}.v7-timeline p{color:var(--muted);margin:4px 0 0;line-height:1.45}
@media(max-width:1050px){.v7-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v7-group-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.v7-hero{grid-template-columns:1fr}.v7-permission-form{grid-template-columns:1fr}}
@media(max-width:680px){.v7-grid{grid-template-columns:1fr}.v7-hero{padding:20px}.v7-hero-metrics{grid-template-columns:1fr 1fr}.v7-outcome-grid{grid-template-columns:1fr}.v7-group-columns{grid-template-columns:1fr}.v7-progress-strip>div:first-child{align-items:flex-start;flex-direction:column}.v7-progress-strip span{text-align:left}.v7-analytics-table{overflow-x:auto}.v7-analytics-table>div{min-width:700px}.v7-timeline article{grid-template-columns:1fr}.v7-permission-form{grid-template-columns:1fr}}

/* =========================================================
   MathsExpress v7.1 — Focused assignment workspace
   Inspired by modern step-by-step maths workspaces while
   remaining distinctly MathsExpress branded.
   ========================================================= */
body.assignment-focus-mode,
body.assignment-focus-mode .app-shell,
body.assignment-focus-mode .relaxed-shell,
body.assignment-focus-mode .relaxed-main-shell {
  background:#fff;
}
body.assignment-focus-mode .relaxed-topnav { display:none !important; }
body.assignment-focus-mode .relaxed-main-shell,
body.assignment-focus-mode .relaxed-main-shell #app-view {
  min-height:100vh;
  height:auto;
  background:#fff;
}
body.assignment-focus-mode #app-view { overflow:visible; }

.assignment-workspace {
  --aw-purple:#6e35d7;
  --aw-purple-soft:#eee7ff;
  --aw-purple-mid:#bfa9f4;
  --aw-green:#05a870;
  --aw-green-soft:#dff7ed;
  --aw-red:#cf334d;
  --aw-red-soft:#ffe5e9;
  --aw-ink:#30323a;
  --aw-muted:#707681;
  --aw-line:#e1e3e8;
  min-height:100vh;
  background:#fff;
  color:var(--aw-ink);
  padding-bottom:92px;
}
.assignment-workspace-topbar {
  position:sticky;
  top:0;
  z-index:70;
  min-height:68px;
  display:grid;
  grid-template-columns:minmax(240px,1fr) auto minmax(180px,1fr);
  align-items:center;
  gap:18px;
  padding:10px 22px;
  border-bottom:1px solid var(--aw-line);
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(12px);
}
.assignment-title-group { display:flex; align-items:center; gap:11px; min-width:0; }
.assignment-title-group>div { min-width:0; }
.assignment-title-group strong,.assignment-title-group small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.assignment-title-group strong { font-size:14px; font-weight:900; color:#2f3138; }
.assignment-title-group small { margin-top:3px; color:#7a8089; font-size:10px; font-weight:700; }
.assignment-back {
  width:36px;height:36px;border:0;border-radius:50%;background:#f1edff;color:#5e2cc6;
  font-size:20px;font-weight:900;cursor:pointer;display:grid;place-items:center;flex:none;
}
.assignment-back:hover { background:#e8ddff; }
.assignment-workspace-brand { justify-self:end; display:flex; align-items:center; gap:8px; color:#56664a; }
.assignment-workspace-brand span { width:30px;height:30px;border-radius:9px;background:#667855;color:#fff;display:grid;place-items:center;font-weight:950; }
.assignment-workspace-brand b { font-size:12px; letter-spacing:.02em; }
.assignment-progress-wrap { display:flex; align-items:center; gap:12px; }
.assignment-progress-wrap>strong { min-width:38px; font-size:11px; color:#6d6480; text-align:right; }
.assignment-progress-dots { display:flex; align-items:center; gap:6px; padding:5px 8px; border-radius:999px; background:#f7f4ff; }
.assignment-progress-dot {
  width:28px;height:28px;border-radius:50%;display:grid;place-items:center;
  font-size:10px;font-weight:950;border:2px solid transparent;transition:.15s ease;
}
.assignment-progress-dot.future { background:#d8caf8;color:#4f357e; }
.assignment-progress-dot.current { background:var(--aw-purple);color:#fff;box-shadow:0 0 0 3px rgba(110,53,215,.12);transform:scale(1.05); }
.assignment-progress-dot.done { background:#13ae78;color:#fff; }

.assignment-workspace-main {
  width:min(1180px,calc(100% - 150px));
  margin:0 auto;
  padding:28px 34px 150px 20px;
}
.assignment-problem-area { max-width:1050px; }
.assignment-question-row { display:grid;grid-template-columns:38px minmax(0,1fr);gap:18px;align-items:start; }
.assignment-question-badge {
  width:34px;height:34px;border-radius:50%;background:#3f4248;color:#fff;display:grid;place-items:center;
  font-weight:900;font-size:12px;margin-top:1px;
}
.assignment-question-copy { min-width:0; }
.assignment-question-meta { display:flex;align-items:center;gap:12px;min-height:26px;margin-bottom:7px;color:#777c85;font-size:10px;font-weight:800; }
.assignment-question-meta .difficulty { margin-left:0; }
.assignment-question-prompt {
  max-width:980px;
  color:#363940;
  font-size:17px;
  line-height:1.65;
  font-weight:700;
  letter-spacing:-.01em;
}
.assignment-question-prompt sup { font-size:.68em; vertical-align:super; line-height:0; }
.assignment-question-prompt .math-frac { font-size:1em; }

.assignment-step-history { margin:24px 0 0 56px;display:grid;gap:18px;max-width:950px; }
.assignment-step-record { border-left:2px solid #dedfe4;padding-left:17px; }
.assignment-step-answer { display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;align-items:start; }
.assignment-step-answer>span { color:#8a8d94;font-size:18px;padding-top:2px; }
.assignment-step-answer>div { font-size:17px;font-weight:700;line-height:1.5;min-height:28px; }
.assignment-step-status { display:flex;align-items:center;gap:8px;margin:8px 0 0 26px; }
.step-status-chip { display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:7px;font-size:11px;font-weight:900; }
.step-status-chip.correct { background:#00a86b;color:white; }
.step-status-chip.wrong { background:var(--aw-red-soft);color:#a91f39; }
.step-status-chip.review { background:#e8efff;color:#3657a2; }
.step-explain-btn { border:1.5px solid #8051e6;background:white;color:#6932d1;border-radius:999px;padding:5px 12px;font-weight:850;font-size:10px;cursor:pointer; }
.step-explain-btn:hover { background:#f6f1ff; }

.assignment-current-step {
  margin:26px 0 0 56px;
  display:grid;
  grid-template-columns:18px minmax(0,500px);
  gap:8px;
  align-items:start;
  max-width:760px;
}
.assignment-current-step.choice-step { grid-template-columns:minmax(0,720px); }
.assignment-equals { color:#8a8d94;font-size:20px;padding-top:11px; }
.assignment-answer-control { min-width:0; }
.assignment-workspace .answer-input,
.assignment-workspace .working-input,
.assignment-workspace .coordinate-answer input,
.assignment-workspace .generated-part-answer,
.assignment-workspace select {
  background:#fff !important;
  color:#2f3238 !important;
  border:1.5px solid #9ebfe7 !important;
  border-radius:4px !important;
  box-shadow:none !important;
}
.assignment-workspace .answer-input { min-height:42px;padding:8px 10px;font:700 15px ui-monospace,SFMono-Regular,Menlo,monospace; }
.assignment-workspace .answer-input:focus,
.assignment-workspace input:focus,
.assignment-workspace textarea:focus,
.assignment-workspace select:focus { outline:2px solid rgba(110,53,215,.14)!important;border-color:#7a54dc!important; }
.assignment-workspace .choice-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:4px 0; }
.assignment-workspace .choice { background:#fff;color:#373943;border:1px solid #d9dbe2;border-radius:10px;padding:14px 16px;text-align:left;font-weight:800; }
.assignment-workspace .choice:hover,.assignment-workspace .choice.selected { border-color:#7a4ed9;background:#f5f0ff;color:#4f259f; }
.assignment-workspace .coordinate-answer { display:grid;grid-template-columns:1fr 1fr;gap:10px; }
.assignment-workspace .coordinate-answer label { font-size:11px;font-weight:850;color:#686d76; }
.assignment-workspace .coordinate-answer input { width:100%;margin-top:5px;padding:10px; }
.assignment-workspace .multi-part-answer { display:grid;gap:10px; }
.assignment-workspace .multi-part-answer label { display:grid;grid-template-columns:minmax(120px,auto) minmax(160px,1fr);gap:10px;align-items:center;font-size:12px;font-weight:800; }
.assignment-workspace .matching-answer { display:grid;gap:8px; }
.assignment-workspace .matching-answer label { display:grid;grid-template-columns:minmax(120px,1fr) 28px minmax(150px,1fr);gap:8px;align-items:center; }
.assignment-workspace .drag-drop-answer { border:1px solid #e1e3e8;border-radius:12px;padding:14px;background:#fafafe; }
.assignment-workspace .drag-tile-bank,.assignment-workspace .drag-drop-zone { min-height:54px;border-radius:9px; }
.assignment-workspace .number-line-answer { padding:12px 0; }
.assignment-workspace .math-data-table { background:#fff;border:1px solid #e0e3e8;box-shadow:0 8px 22px rgba(58,62,73,.06); }
.assignment-workspace .table-question-wrap { max-width:620px; }
.assignment-working-block { margin:22px 0 0 56px;max-width:720px; }
.assignment-working-block label { display:block;margin-bottom:7px;font-size:10px;font-weight:900;color:#717680;text-transform:uppercase;letter-spacing:.06em; }
.assignment-working-block .working-input { width:100%;min-height:90px;padding:10px; }

.assignment-math-keyboard { display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:10px 0 0 82px; }
.assignment-math-keyboard button {
  min-width:36px;height:36px;padding:0 9px;border:0;border-radius:50%;background:#ece5ff;color:#5e2cc6;
  font-size:13px;font-weight:900;cursor:pointer;
}
.assignment-math-keyboard button:hover { background:#ded1ff; }
.assignment-inline-hint,.assignment-inline-solution,.assignment-inline-review {
  margin:22px 0 0 56px;max-width:760px;padding:12px 14px;border-radius:10px;display:flex;gap:10px;align-items:flex-start;
}
.assignment-inline-hint { background:#f3efff;border:1px solid #dfd4ff;color:#523390; }
.assignment-inline-hint>span { font-size:18px; }
.assignment-inline-hint strong,.assignment-inline-hint p,
.assignment-inline-solution strong,.assignment-inline-solution p,.assignment-inline-review strong,.assignment-inline-review p { display:block;margin:0; }
.assignment-inline-hint p,.assignment-inline-solution p,.assignment-inline-review p { margin-top:3px;font-size:12px;line-height:1.5; }
.assignment-inline-solution { display:block;background:#eef7e9;border:1px solid #cfdfc6;color:#45603a; }
.assignment-inline-review { display:block;background:#eef3ff;border:1px solid #d6dff5;color:#405a91; }

.assignment-side-rail {
  position:fixed;z-index:65;right:15px;top:50%;transform:translateY(-50%);
  width:58px;display:flex;flex-direction:column;gap:8px;
}
.assignment-side-rail button {
  min-height:54px;border:1px solid #e0e1e6;background:#fff;color:#6a42c3;border-radius:11px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;box-shadow:0 5px 15px rgba(55,49,70,.05);
}
.assignment-side-rail button:hover { background:#f6f1ff;border-color:#cbb9f1; }
.assignment-side-rail span { font-size:17px;font-weight:900;line-height:1; }
.assignment-side-rail small { font-size:8px;font-weight:850;color:#665f72; }

.assignment-bottom-bar {
  position:fixed;z-index:75;left:0;right:0;bottom:0;height:72px;padding:11px 20px;
  display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid #ececf0;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);
}
.assignment-bottom-left,.assignment-bottom-right { display:flex;align-items:center;gap:9px; }
.assignment-submit,.assignment-next-step,.assignment-next-primary {
  min-height:42px;border-radius:21px;padding:0 18px;font-weight:900;font-size:11px;cursor:pointer;
}
.assignment-submit { border:0;background:#6d36d4;color:#fff;box-shadow:0 4px 12px rgba(109,54,212,.18); }
.assignment-submit:hover { background:#5f2cc1; }
.assignment-submit.muted,.assignment-submit:disabled { background:#e7e8eb;color:#9a9da4;box-shadow:none;cursor:default; }
.assignment-next-step { border:1px solid #ddd8e8;background:#fff;color:#6d2ed1; }
.assignment-next-step:hover { background:#f7f2ff; }
.assignment-next-primary { border:0;background:#0aa66f;color:#fff; }
.assignment-next-primary:hover { background:#078b5e; }

@media(max-width:980px){
  .assignment-workspace-topbar { grid-template-columns:minmax(180px,1fr) auto; }
  .assignment-workspace-brand { display:none; }
  .assignment-workspace-main { width:calc(100% - 86px);margin-left:0;padding-left:18px;padding-right:20px; }
  .assignment-progress-dot { width:26px;height:26px; }
  .assignment-progress-dots { gap:4px; }
}
@media(max-width:720px){
  .assignment-workspace { padding-bottom:126px; }
  .assignment-workspace-topbar { position:sticky;display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:8px 12px; }
  .assignment-title-group strong { font-size:12px; }
  .assignment-progress-wrap { justify-content:space-between; }
  .assignment-progress-dots { overflow:hidden; }
  .assignment-workspace-main { width:100%;padding:22px 14px 150px; }
  .assignment-question-row { grid-template-columns:30px minmax(0,1fr);gap:10px; }
  .assignment-question-badge { width:29px;height:29px;font-size:10px; }
  .assignment-question-prompt { font-size:15px;line-height:1.55; }
  .assignment-step-history,.assignment-current-step,.assignment-working-block,.assignment-inline-hint,.assignment-inline-solution,.assignment-inline-review { margin-left:40px; }
  .assignment-current-step { grid-template-columns:15px minmax(0,1fr); }
  .assignment-math-keyboard { margin-left:63px; }
  .assignment-workspace .choice-grid { grid-template-columns:1fr; }
  .assignment-side-rail { position:fixed;left:8px;right:8px;top:auto;bottom:76px;transform:none;width:auto;flex-direction:row;justify-content:center;background:#fff;padding:5px;border-top:1px solid #eee; }
  .assignment-side-rail button { width:54px;min-height:44px;box-shadow:none;border:0; }
  .assignment-side-rail span { font-size:15px; }
  .assignment-bottom-bar { height:68px;padding:9px 11px; }
  .assignment-submit,.assignment-next-step,.assignment-next-primary { padding:0 13px;min-height:40px; }
}
@media(max-width:460px){
  .assignment-progress-dots .assignment-progress-dot:nth-child(n+6){display:none;}
  .assignment-bottom-bar { gap:6px; }
  .assignment-bottom-right { margin-left:auto; }
  .assignment-next-step { max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
  .assignment-math-keyboard button { min-width:32px;height:32px;padding:0 7px; }
}

.mx-dark.assignment-focus-mode .assignment-workspace,
.mx-dark.assignment-focus-mode .assignment-workspace-topbar,
.mx-dark.assignment-focus-mode .assignment-bottom-bar,
.mx-dark.assignment-focus-mode .assignment-side-rail { background:#20211f;color:#f0ede7; }
.mx-dark.assignment-focus-mode .assignment-workspace-topbar,
.mx-dark.assignment-focus-mode .assignment-bottom-bar { border-color:#42433f; }
.mx-dark.assignment-focus-mode .assignment-question-prompt,
.mx-dark.assignment-focus-mode .assignment-title-group strong { color:#f0ede7; }
.mx-dark.assignment-focus-mode .assignment-workspace .answer-input,
.mx-dark.assignment-focus-mode .assignment-workspace input,
.mx-dark.assignment-focus-mode .assignment-workspace textarea,
.mx-dark.assignment-focus-mode .assignment-workspace select,
.mx-dark.assignment-focus-mode .assignment-side-rail button { background:#292b28!important;color:#f0ede7!important;border-color:#4b4e48!important; }
.assignment-side-rail button.locked{opacity:.45;filter:grayscale(.3)}

/* =========================================================
   MathsExpress v7.2 — True assignment route shell
   Assigned work opens as its own focused section.
   ========================================================= */
body.assignment-focus-mode { overflow:hidden; }
body.assignment-focus-mode .relaxed-topnav,
body.assignment-focus-mode .relaxed-main-shell > *:not(#app-view) { display:none !important; }
body.assignment-focus-mode .relaxed-main-shell,
body.assignment-focus-mode #app-view { width:100%; max-width:none; margin:0; padding:0; background:#fff; }

.assignment-workspace {
  position:fixed;
  inset:0;
  z-index:110;
  overflow-y:auto;
  overflow-x:hidden;
  min-height:100dvh;
  background:#fff;
}
.assignment-workspace-topbar {
  grid-template-columns:minmax(0,1fr) auto;
  min-height:58px;
  padding:8px 18px;
  gap:16px;
  background:#fff;
  box-shadow:none;
}
.assignment-title-group strong { font-size:13px; }
.assignment-title-group small { font-size:9px; }
.assignment-back {
  width:34px;
  height:34px;
  background:#efe9ff;
  color:#5b2cc4;
}
.assignment-progress-wrap {
  justify-self:end;
  padding:3px 7px 3px 9px;
  border-radius:999px;
  background:#5f2ac7;
  color:#fff;
}
.assignment-progress-wrap>strong { color:#fff; min-width:auto; padding-left:2px; }
.assignment-progress-dots { background:transparent; padding:0; }
.assignment-progress-dot.future { background:#c9b7f5; color:#493176; }
.assignment-progress-dot.current { background:#fff; color:#5f2ac7; box-shadow:0 0 0 2px rgba(255,255,255,.25); }
.assignment-progress-dot.done { background:#14b67b; color:#fff; }
.assignment-workspace-main {
  width:min(1240px,calc(100% - 110px));
  min-height:calc(100dvh - 130px);
  margin:0 auto;
  padding:28px 44px 150px 8px;
}
.assignment-problem-area { max-width:none; }
.assignment-side-rail { z-index:118; }
.assignment-bottom-bar { z-index:119; }
#modal-root .modal-backdrop { z-index:200; }

@media(max-width:980px){
  .assignment-workspace-main { width:calc(100% - 78px); padding-left:16px; padding-right:16px; }
}
@media(max-width:720px){
  body.assignment-focus-mode { overflow:auto; }
  .assignment-workspace { position:fixed; }
  .assignment-workspace-topbar { display:grid; grid-template-columns:1fr; padding:8px 10px; }
  .assignment-progress-wrap { justify-self:stretch; justify-content:space-between; overflow:hidden; }
  .assignment-workspace-main { width:100%; padding:20px 12px 150px; }
}


/* === MathsExpress v7.4: educational games + ELO === */
.two-game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:24px 0}.edu-mode-card{background:#fff;border:1px solid #e4dccd;border-radius:24px;padding:28px;min-height:320px;display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 18px 44px rgba(58,48,31,.08)}.edu-mode-card .mode-icon{font-size:42px;margin-bottom:18px}.edu-mode-card h2{font-size:32px;margin:8px 0 10px}.edu-mode-card p{line-height:1.65;max-width:55ch;flex:1}.edu-mode-card.quick{background:linear-gradient(145deg,#fffdf7,#f3f8e9)}.edu-mode-card.quest{background:linear-gradient(145deg,#fffdf8,#eef6f8)}.game-time-bank span{font-size:12px;color:#7d7568;margin-left:4px}.game-rules{margin-top:18px}.game-rules .game-time-steps{grid-template-columns:repeat(4,minmax(0,1fr))}.games-elo-summary{position:fixed;right:22px;bottom:22px;z-index:20;background:#2e312a;color:#fff;border-radius:18px;padding:14px 16px;display:grid;gap:2px;min-width:180px;box-shadow:0 16px 40px rgba(0,0,0,.2)}.games-elo-summary strong{font-size:24px}.games-elo-summary small{color:#d7d8d2}.games-elo-summary .btn{margin-top:8px;color:#fff;border-color:#61685a}.edu-game-screen{min-height:calc(100vh - 82px);background:#f7f7f7;padding:24px 32px 100px;position:relative}.edu-game-top{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;border-bottom:1px solid #dedede;padding-bottom:18px}.edu-game-top h1{font-size:24px;margin:3px 0}.elo-live{background:#fff;border:1px solid #ddd;border-radius:14px;padding:9px 14px;display:grid;text-align:right}.edu-game-main{max-width:980px;margin:38px auto}.edu-score-row{display:flex;gap:12px;margin-bottom:20px}.edu-score-row span{background:#fff;border:1px solid #ddd;border-radius:999px;padding:8px 13px}.edu-question-card{background:#fff;border:1px solid #ddd;border-radius:20px;padding:32px}.edu-question-card h2{font-size:32px;line-height:1.35;margin:10px 0 26px}.edu-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.edu-choice-grid button{background:#fff;border:2px solid #d9d9d9;border-radius:15px;padding:20px;font-size:21px;font-weight:800;cursor:pointer}.edu-choice-grid button:hover{border-color:#7c8e5c;background:#f7faef}.edu-feedback{border-radius:14px;padding:12px 16px;margin:0 0 18px;font-weight:750}.edu-feedback.correct{background:#ddf5e7;color:#116b42}.edu-feedback.wrong{background:#fde7e6;color:#9b342f}.edu-game-timer{position:fixed;right:28px;bottom:24px;z-index:30;background:#1e1f1c;color:#fff;border-radius:18px;padding:12px 18px;display:grid;min-width:150px;box-shadow:0 16px 42px rgba(0,0,0,.25)}.edu-game-timer small,.edu-game-timer span{color:#cfd1ca;font-size:11px}.edu-game-timer strong{font-size:28px;letter-spacing:.04em}.elo-result{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;align-items:baseline;margin:16px 0 22px}.elo-result strong{font-size:26px}.elo-result .positive{color:#13844c}.elo-result .negative{color:#b9433c}.elo-page .page-head{align-items:flex-end}.elo-hero{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:16px;margin-bottom:20px}.elo-hero>div{background:#fff;border:1px solid #e4dccd;border-radius:20px;padding:22px}.elo-hero h1{font-size:42px;margin:4px 0}.champion-card{display:flex;flex-direction:column;justify-content:center}.champion-card small{font-weight:800;letter-spacing:.12em;color:#73835b}.champion-card strong{font-size:23px;margin-top:8px}.champion-card.school{background:#2f332a!important;color:#fff}.champion-card.school small{color:#d7dfc8}.elo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.elo-board{display:grid;gap:8px;margin-top:14px}.elo-row{display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid #ece5d9;border-radius:14px}.elo-row.me{background:#f3f7ea;border-color:#a8b78e}.elo-row>span{display:grid}.elo-row small{color:#81796d}.elo-row>strong{font-size:20px}.home-elo-champion{display:grid;gap:12px}.home-champion{display:flex;gap:12px;align-items:center}.home-champion>span{font-size:30px}.home-champion div{display:grid}.home-champion strong{font-size:18px}.home-champion small{color:#7e7669}
/* Assignment mode stays isolated from the normal shell and closer to a worksheet UI. */
body.assignment-focus-mode .relaxed-topnav{display:none!important}body.assignment-focus-mode .app-shell{padding-top:0!important}.assignment-workspace{position:fixed;inset:0;z-index:90;background:#f7f7f7;overflow:auto}.assignment-workspace-topbar{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid #ddd;box-shadow:none}.assignment-workspace-main{max-width:none!important;margin:0!important;padding:28px 64px 120px!important;background:#f7f7f7!important}.assignment-problem-area{background:transparent!important;border:0!important;box-shadow:none!important;max-width:1100px}.assignment-side-tools{position:fixed!important;right:18px!important;top:50%!important;transform:translateY(-50%);z-index:12}.assignment-bottom-bar{position:fixed!important;left:0!important;right:0!important;bottom:0!important;background:rgba(255,255,255,.96)!important;border-top:1px solid #ddd!important;z-index:15!important}
@media(max-width:900px){.two-game-grid,.elo-grid,.elo-hero{grid-template-columns:1fr}.game-rules .game-time-steps{grid-template-columns:1fr 1fr}.edu-game-screen{padding:16px 14px 90px}.edu-game-top{grid-template-columns:auto 1fr}.elo-live{grid-column:1/-1;text-align:left}.edu-choice-grid{grid-template-columns:1fr}.assignment-workspace-main{padding:20px 20px 120px!important}.assignment-side-tools{display:none!important}}

/* v7.4 assignment browser fullscreen guard */
.assignment-fullscreen-guard{
  position:fixed; inset:0; z-index:9999; display:grid; place-items:center;
  padding:24px; background:rgba(247,247,247,.98); color:#292b27;
}
.assignment-fullscreen-guard section{
  width:min(560px,100%); border:1px solid #dad5ca; border-radius:22px;
  background:#fffdf8; padding:30px; box-shadow:0 24px 80px rgba(30,30,25,.12);
  text-align:center;
}
.assignment-fullscreen-guard h2{margin:8px 0 10px;font-size:30px;line-height:1.08}
.assignment-fullscreen-guard p{margin:0 auto 22px;max-width:460px;color:#68655e;line-height:1.55}
.assignment-fullscreen-guard section>div{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
body.assignment-browser-fullscreen .assignment-workspace{inset:0!important}

/* =========================================================
   MathsExpress v7.6 — clean navigation, calculator and task support
   ========================================================= */
.relaxed-topnav{
  min-height:66px!important;
  height:auto!important;
  display:grid!important;
  grid-template-columns:auto minmax(420px,1fr) auto!important;
  align-items:center!important;
  gap:22px!important;
  padding:8px 24px!important;
  background:#fff!important;
  border-bottom:1px solid #e7e3dc!important;
  box-shadow:none!important;
}
.relaxed-brand{
  min-width:0!important;
  padding:0!important;
  gap:10px!important;
  background:transparent!important;
  border:0!important;
  color:#252525!important;
}
.relaxed-brand .brand-mark{
  width:40px!important;height:40px!important;border-radius:12px!important;
  background:#78865f!important;color:#fff!important;font-size:22px!important;
  box-shadow:none!important;
}
.relaxed-brand .brand-copy strong{font-size:19px!important;letter-spacing:-.3px!important;color:#242424!important}
.relaxed-primary-nav{
  min-width:0!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;
  gap:2px!important;overflow-x:auto!important;scrollbar-width:none!important;padding:0!important;
}
.relaxed-primary-nav::-webkit-scrollbar{display:none}
.relaxed-primary-nav .nav-item{
  min-height:38px!important;height:38px!important;padding:0 13px!important;margin:0!important;
  border:0!important;border-radius:9px!important;background:transparent!important;color:#56524c!important;
  font-size:12px!important;font-weight:750!important;white-space:nowrap!important;box-shadow:none!important;
}
.relaxed-primary-nav .nav-item:hover{background:#f5f2ec!important;color:#242424!important}
.relaxed-primary-nav .nav-item.active{background:#eee9df!important;color:#242424!important}
.relaxed-top-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;min-width:0!important}
.compact-top-stats{display:flex!important;align-items:center!important;gap:0!important;border:1px solid #e3ded5!important;border-radius:10px!important;background:#fff!important;overflow:hidden!important}
.compact-top-stats .stat-pill{
  min-width:auto!important;height:38px!important;padding:5px 10px!important;border:0!important;border-radius:0!important;
  background:transparent!important;display:flex!important;align-items:baseline!important;gap:5px!important;box-shadow:none!important;
}
.compact-top-stats .stat-pill+ .stat-pill{border-left:1px solid #ece7df!important}
.compact-top-stats .stat-pill span{font-size:8px!important;text-transform:uppercase!important;letter-spacing:.45px!important;color:#8a8278!important;font-weight:800!important}
.compact-top-stats .stat-pill strong{font-size:12px!important;color:#302d29!important;font-weight:850!important;white-space:nowrap!important}
.ai-helper-top-button{
  height:40px!important;padding:0 12px!important;border-radius:10px!important;border:1px solid #cfd6c4!important;
  background:#f2f5ed!important;color:#435239!important;box-shadow:none!important;font-size:11px!important;
}
.compact-account-chip{
  height:40px!important;min-width:92px!important;max-width:135px!important;padding:0 10px!important;border-radius:10px!important;
  border:1px solid #e3ded5!important;background:#fff!important;box-shadow:none!important;
}
.compact-account-chip .account-dot{width:24px!important;height:24px!important;background:#eee6d2!important;color:#3d3933!important;box-shadow:none!important;font-size:10px!important;font-weight:900!important}
.nav-more-button{height:40px!important;min-height:40px!important;padding:0 12px!important;border-radius:10px!important;border:1px solid #e3ded5!important;background:#fff!important;color:#3d3933!important;box-shadow:none!important}
.more-nav-menu{border:1px solid #e4ddd3!important;border-radius:14px!important;background:#fff!important;box-shadow:0 18px 40px rgba(40,34,25,.12)!important}
.more-menu-section button{grid-template-columns:1fr!important;gap:0!important;padding:9px 10px!important;font-size:11px!important}
.more-menu-section button>span{display:none!important}

/* Professional scientific calculator */
.scientific-calculator{display:grid;gap:12px;max-width:520px;margin:0 auto}
.calculator-display-wrap{padding:16px;border-radius:16px;background:#272a2f;color:#fff;border:1px solid #1d2025}
.calculator-mode-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px;color:#cbd0d6;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.45px}
.calculator-mode-toggle{min-width:48px;height:28px;border:1px solid #535a64;border-radius:7px;background:#363b42;color:#fff;font:inherit;font-weight:850;cursor:pointer}
.calculator-expression{width:100%;border:0!important;background:transparent!important;color:#fff!important;padding:0!important;outline:none!important;font:600 18px ui-monospace,SFMono-Regular,Menlo,monospace!important;text-align:right}
.calculator-expression::placeholder{color:#777f89}
.calculator-result{display:block;min-height:46px;margin-top:8px;color:#fff;font:800 34px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;text-align:right;overflow-wrap:anywhere}
.calculator-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.calc-key{min-height:48px;border:1px solid #dfd8cd;border-radius:10px;background:#fffdf9;color:#302d29;font:800 13px/1 inherit;cursor:pointer;box-shadow:none}
.calc-key:hover{background:#f4f0e8}.calc-key.operator{background:#eef1e8;color:#415238}.calc-key.function{background:#f3efe7;color:#575048}.calc-key.utility{background:#ebe7df;color:#5f5851}.calc-key.equals{background:#72805a;color:#fff;border-color:#72805a;font-size:18px}
.calculator-note{margin:0;color:#766e64;font-size:10px;line-height:1.5}

/* Assignment lesson support and task textbook */
.lesson-support-pro{display:grid;gap:14px}.lesson-support-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.lesson-support-head h3{margin:4px 0 6px;font-size:23px;color:#2e2a26}.lesson-support-head p{margin:0;color:#6f675e;line-height:1.55}.lesson-support-year{flex:0 0 auto;padding:7px 10px;border:1px solid #ddd4c7;border-radius:999px;background:#f8f4ed;color:#655d54;font-size:10px;font-weight:850}
.support-kicker{display:block;color:#71805b;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.7px}
.support-current-question,.support-method,.support-worked-example,.support-hint,.support-mistakes,.task-textbook-panel{padding:15px 16px;border:1px solid #e2dacd;border-radius:14px;background:#fffdf9}
.support-current-question strong,.support-method strong,.support-hint strong,.support-mistakes strong{color:#312d28}.support-current-question p{margin:7px 0 0;font:700 15px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;color:#34302b}
.support-method ol{margin:10px 0 0;padding-left:22px;color:#5f5850;line-height:1.65}.support-method li+li{margin-top:6px}
.support-worked-example{background:#f1f4eb;border-color:#d6dfc9}.support-worked-example>span{display:block;color:#61714d;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.6px}.support-worked-example>strong{display:block;margin:8px 0 7px;color:#292724;font:800 14px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.support-worked-example>div{color:#555d4d;line-height:1.6}
.support-hint{background:#fbf7ed}.support-hint p{margin:6px 0 0;color:#685f53;line-height:1.55}.support-mistakes ul{margin:8px 0 0;padding-left:20px;color:#655d55;line-height:1.55}.lesson-support-actions{display:flex;gap:8px;flex-wrap:wrap}
.task-textbook-panel{display:grid;gap:12px}.task-textbook-panel h3{margin:0;color:#2f2b26;font-size:24px}.task-textbook-panel>p{margin:0;color:#676057;line-height:1.7}.task-textbook-goal{font-weight:700;color:#4e5d41!important}.task-textbook-meta{display:flex;gap:6px;flex-wrap:wrap}.task-textbook-meta span{padding:5px 8px;border-radius:999px;background:#eee9df;color:#6c645b;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.4px}.support-rule{padding:13px 14px;border-left:4px solid #7a895f;border-radius:10px;background:#eff2e8}.support-rule strong{color:#4c5b3e}.support-rule p{margin:4px 0 0;color:#586051;line-height:1.55}.task-textbook-panel.compact{gap:8px}.assignment-tool-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0 14px}.assignment-tool-list .btn{width:100%}
.assignment-side-rail button>span{font-size:8px!important;font-weight:950!important;letter-spacing:.25px!important;min-width:34px!important}
.assignment-side-rail button small{font-size:8px!important}

@media(max-width:1280px){
  .relaxed-topnav{grid-template-columns:auto minmax(360px,1fr) auto!important;gap:12px!important;padding:8px 14px!important}
  .compact-top-stats .level-pill{display:none!important}.relaxed-primary-nav .nav-item{padding:0 10px!important}
}
@media(max-width:980px){
  .relaxed-topnav{grid-template-columns:auto 1fr auto!important}.compact-top-stats{display:none!important}.ai-helper-top-button{display:none!important}.relaxed-primary-nav{justify-content:flex-start!important}.relaxed-primary-nav .nav-item{font-size:12px!important;padding:0 8px!important}
}
@media(max-width:720px){
  .relaxed-topnav{grid-template-columns:auto 1fr!important}.relaxed-top-actions{grid-column:1/-1;justify-content:space-between!important}.relaxed-primary-nav{grid-column:2}.assignment-tool-list{grid-template-columns:1fr}.scientific-calculator{max-width:none}
}

/* v7.7 AI connection feedback */
.ai-chat-message.ai-chat-error .ai-chat-avatar{background:#8b5d55;color:#fff}
.ai-chat-message.ai-chat-error .ai-chat-bubble{background:#fff3ef;border-color:#e8c3b9}
.ai-chat-message.ai-chat-error .ai-chat-bubble small{color:#7a433a}


/* v7.8 Purple + Blue visual system and polished AI response renderer */
:root{
  --mx-purple:#6d4aff;
  --mx-purple-deep:#5634d8;
  --mx-purple-soft:#f1edff;
  --mx-blue:#3b82f6;
  --mx-blue-deep:#2463cc;
  --mx-blue-soft:#eaf3ff;
  --mx-indigo:#5b5de6;
  --cream-accent:#6d4aff;
}
body,body.mx-accent-olive,body.mx-accent-navy,body.mx-accent-purple,body.mx-accent-blue{--cream-accent:#6d4aff!important}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:rgba(109,74,255,.28)!important}
.relaxed-main-shell{background:linear-gradient(180deg,#faf9ff 0%,#f8f6ff 44%,#f7f9ff 100%)!important}
.relaxed-topnav{border-bottom-color:#e2def8!important;background:rgba(255,255,255,.96)!important}
.relaxed-brand .brand-mark,.menu-player .avatar,.person-avatar,.account-avatar,.profile-avatar{background:linear-gradient(135deg,var(--mx-purple),var(--mx-blue))!important;color:#fff!important;box-shadow:none!important}
.relaxed-primary-nav .nav-item:hover{background:#f5f2ff!important;color:#372a73!important}
.relaxed-primary-nav .nav-item.active{background:linear-gradient(135deg,#eee9ff,#eaf3ff)!important;color:#4d36c7!important}
.compact-top-stats{border-color:#e0dcf3!important;background:#fff!important}
.compact-top-stats .stat-pill+ .stat-pill{border-left-color:#e9e6f5!important}
.compact-top-stats .stat-pill span{color:#77728f!important}
.compact-top-stats .stat-pill strong{color:#302850!important}
.ai-helper-top-button{border-color:#d9d1ff!important;background:linear-gradient(135deg,#f1edff,#ebf4ff)!important;color:#543ccf!important}
.compact-account-chip,.nav-more-button{border-color:#e0dcf3!important}
.more-nav-menu{border-color:#ded8f1!important}
.btn.primary,.assignment-submit-btn,.primary-action{background:linear-gradient(135deg,var(--mx-purple),var(--mx-blue))!important;border-color:transparent!important;color:#fff!important;box-shadow:0 8px 20px rgba(92,71,215,.16)!important}
.btn.primary:hover:not(:disabled),.assignment-submit-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--mx-purple-deep),var(--mx-blue-deep))!important}
.eyebrow,.support-kicker,.champion-card small,.home-elo-champion small{color:#6551d6!important}
.progress-fill,.progress-fill.green,.mini-progress i{background:linear-gradient(90deg,var(--mx-purple),var(--mx-blue))!important}
.tag.green,.live-state.working{background:#ece9ff!important;color:#553cc8!important;border-color:#d8d0ff!important}
.recommend-card:hover,.path-node.mastered{border-color:#9e8cff!important;background:#f8f6ff!important}
.path-node-ring{background:conic-gradient(var(--mx-purple) calc(var(--path)*1%),#e7e3f2 0)!important}
.school-hero,.class-detail-hero{background:linear-gradient(125deg,#f1edff,#fff 55%,#e9f3ff)!important;border-color:#d9d1f5!important}
.school-hero::after{color:rgba(109,74,255,.08)!important}
.class-report-tabs span.active{border-bottom-color:var(--mx-purple)!important;color:#4736a9!important}
.back-link,.auth-link{color:#5d46cf!important}
.skill-ring,.assign-step>span{background:linear-gradient(135deg,var(--mx-purple),var(--mx-blue))!important}
.calm-progress-banner,.home-champion-card,.home-elo-champion,.school-side-card.accent{border-color:#ded7fb!important;background:linear-gradient(135deg,#faf8ff,#edf5ff)!important}

/* Learning support / textbook accents */
.support-kicker{color:#6750d5!important}.support-worked-example{background:#f4f1ff!important;border-color:#ddd5ff!important}.support-worked-example>span{color:#644bd2!important}.support-worked-example>div{color:#534b73!important}
.task-textbook-goal{color:#5040b8!important}.support-rule{border-left-color:var(--mx-purple)!important;background:#f2efff!important}.support-rule strong{color:#5038bd!important}.support-rule p{color:#5c5675!important}

/* Scientific calculator accents */
.calculator-display-wrap{background:linear-gradient(145deg,#22213a,#252d4f)!important;border-color:#37365d!important}
.calculator-mode-toggle{background:#3e3b68!important;border-color:#5b568c!important}.calc-key.operator{background:#efedff!important;color:#5038bd!important;border-color:#ddd6ff!important}.calc-key.function{background:#edf4ff!important;color:#315fae!important;border-color:#d7e6ff!important}.calc-key.equals{background:linear-gradient(135deg,var(--mx-purple),var(--mx-blue))!important;border-color:transparent!important}.calc-key:hover{background:#f6f3ff!important}

/* Games / ELO accents */
.edu-mode-card.quick{background:linear-gradient(145deg,#fff,#f3efff)!important}.edu-mode-card.quest{background:linear-gradient(145deg,#fff,#edf5ff)!important}.edu-choice-grid button:hover{border-color:#7d66f0!important;background:#f5f2ff!important}.games-elo-summary,.champion-card.school{background:linear-gradient(145deg,#3f2d92,#245fae)!important}.elo-row.me{background:#f1edff!important;border-color:#a895ff!important}.champion-card small{color:#6a55d2!important}

/* Assignment tools */
.assignment-side-rail button{border-color:#ded7ff!important;color:#563bc7!important}.assignment-side-rail button:hover{background:#f2efff!important;border-color:#a795ff!important}.assignment-question-number,.assignment-progress-dot.active,.assignment-progress-dot.correct{background:linear-gradient(135deg,var(--mx-purple),var(--mx-blue))!important}.assignment-workspace-brand span{background:linear-gradient(135deg,var(--mx-purple),var(--mx-blue))!important}

/* AI Helper purple/blue chrome */
.ai-context-strip{background:linear-gradient(135deg,#f5f2ff,#edf5ff)!important;border-color:#ddd6fb!important}.ai-context-strip>span,.ai-chat-message.assistant .ai-chat-avatar{background:linear-gradient(135deg,var(--mx-purple),var(--mx-blue))!important}.ai-ready-pill{background:#e9efff!important;color:#3d55b8!important}.ai-chat-message.user .ai-chat-avatar{background:#e7e2ff!important;color:#523bc2!important}.ai-chat-message.user .ai-chat-bubble{background:#f2efff!important;border-color:#ded6ff!important}.ai-suggestion{border-color:#ded7f4!important;background:#fff!important;color:#4d4381!important}.ai-suggestion:hover{border-color:#9c8cff!important;background:#f5f2ff!important}.ai-chat-compose textarea{border-color:#dcd5f2!important;background:#fff!important}.ai-chat-compose textarea:focus{border-color:#8d78ff!important;box-shadow:0 0 0 3px rgba(109,74,255,.10)!important}
.ai-chat-log{gap:16px!important;padding:8px 3px 12px!important}.ai-chat-message.assistant{width:100%!important}.ai-chat-message.assistant .ai-chat-bubble{width:min(88%,780px)!important;max-width:min(88%,780px)!important;padding:15px 17px!important;border-color:#e0daf3!important;background:#fff!important}.ai-chat-message.user .ai-chat-bubble{max-width:min(72%,620px)!important}.ai-chat-bubble>small{margin-bottom:10px!important;color:#6e628e!important}.ai-response-body{display:grid;gap:8px;color:#29243a;font-size:14px;line-height:1.65}.ai-response-heading{margin:6px 0 2px;color:#28223b;letter-spacing:-.02em}.ai-response-body h3{font-size:17px}.ai-response-body h4{font-size:15px}.ai-response-paragraph{margin:0!important;white-space:normal!important}.ai-response-list{margin:0;padding-left:22px;display:grid;gap:7px}.ai-response-list li{padding-left:2px}.ai-response-body strong{color:#352789}.ai-response-body code{padding:2px 6px;border-radius:6px;background:#f1eff8;color:#493d70;font:700 12px ui-monospace,SFMono-Regular,Menlo,monospace}.ai-math-display{margin:5px 0;padding:12px 14px;border:1px solid #ddd6fb;border-radius:12px;background:linear-gradient(135deg,#faf8ff,#f1f6ff);overflow-x:auto;text-align:center}.ai-math-equation{display:inline-block;font:650 16px/1.8 ui-serif,Georgia,"Times New Roman",serif;color:#241d45;white-space:nowrap}.ai-math-inline{display:inline;font-family:ui-serif,Georgia,"Times New Roman",serif;color:#2f245d}.mx-frac{display:inline-grid;grid-template-rows:auto auto;vertical-align:middle;text-align:center;line-height:1.05;margin:0 .14em}.mx-frac-num{padding:0 .18em .09em;border-bottom:1.4px solid currentColor}.mx-frac-den{padding:.09em .18em 0}.mx-sqrt{display:inline-flex;align-items:flex-start}.mx-radical{font-size:1.18em;line-height:1}.mx-radicand{border-top:1.3px solid currentColor;padding:0 .12em}.mx-boxed{display:inline-block;padding:3px 8px;border:1.5px solid #6d4aff;border-radius:7px;background:#f3efff;color:#3d2da2;font-weight:800}.ai-final-answer{margin-top:4px!important;padding:10px 12px;border-left:4px solid var(--mx-purple);border-radius:8px;background:#f2efff;color:#2e2460;font-weight:700}

@media(max-width:720px){.ai-chat-message.assistant .ai-chat-bubble{width:calc(100% - 41px)!important;max-width:calc(100% - 41px)!important}.ai-chat-message.user .ai-chat-bubble{max-width:84%!important}}

/* v7.8 additional legacy olive-to-purple/blue cleanup */
.hero-copy h1 span{color:#5b43d3!important}.hero-orb{background:radial-gradient(circle at 34% 28%,#fff,#cfc6ff 45%,#6296f6 100%)!important;box-shadow:0 0 50px rgba(91,67,211,.14)!important}.hero-card::after{color:rgba(91,67,211,.08)!important}
.play-card:hover,.relaxed-practice-card:hover,.teacher-class-card:hover{border-color:#9d8cff!important}.play-card b,.relaxed-practice-card>span,.class-year,.text-link{color:#5b43d3!important}.play-card .play-card-icon,.play-card.learn .play-card-icon,.play-card.world .play-card-icon,.play-card.locker .play-card-icon{background:linear-gradient(135deg,#f1edff,#e9f3ff)!important;color:#5038bd!important}
.answer-input:focus,.working-input:focus,input:focus,select:focus{border-color:#8973f7!important;outline-color:rgba(109,74,255,.20)!important}.spinner{border-top-color:#6d4aff!important}.task-difficulty.easy{background:#eef3ff!important;color:#375ea9!important}.task-difficulty.adaptive{background:#f1edff!important;color:#5942c8!important}
.auth-logo,.auth-feature span{background:linear-gradient(135deg,#6d4aff,#3b82f6)!important}.auth-mascot{background:#e9e5ff!important;color:#4f39bb!important;border-color:#f5f2ff!important}.auth-link{color:#5d46cf!important}
.calm-progress-banner,.calm-card,.calm-side-card{border-color:#e0daf5!important}.calm-meta span{background:#f1edff!important;color:#5b43c2!important}.school-side-card.accent h3,.school-side-card.accent strong{color:#4430a9!important}
.reward-coin{background:#eee9ff!important;color:#5b43c2!important}.owner-console>header{background:linear-gradient(135deg,#f2efff,#edf5ff)!important}.owner-status .owner-badge{background:#6d4aff!important;color:#fff!important;border-color:#6d4aff!important}.owner-sections h3{color:#5b43c2!important}.owner-tool:hover{background:#f5f2ff!important;border-color:#a795ff!important}

/* MathsExpress v8 stability + accessibility fixes */
body.answer-flash-correct::after,
body.answer-flash-wrong::after{
  content:"";position:fixed;inset:0;z-index:99999;pointer-events:none;border:10px solid transparent;box-shadow:inset 0 0 55px rgba(0,0,0,.05);animation:mxResultFlash 1.2s ease both
}
body.answer-flash-correct::after{border-color:#20b46a;box-shadow:inset 0 0 70px rgba(32,180,106,.28)}
body.answer-flash-wrong::after{border-color:#ef4f5f;box-shadow:inset 0 0 70px rgba(239,79,95,.25)}
@keyframes mxResultFlash{0%{opacity:0}12%{opacity:1}70%{opacity:1}100%{opacity:0}}

.study-timer-live{display:grid;gap:18px}.study-timer-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.study-timer-live .countdown-big{padding:30px}.study-timer-live .countdown-big b{font-size:clamp(48px,8vw,76px);line-height:1}.study-timer-live .countdown-big span{display:block;margin-top:8px;font-weight:800;color:#6f6a7d}

.compact-top-stats{min-height:42px!important}.compact-top-stats .stat-pill{min-width:96px!important;padding:0 14px!important;gap:8px!important}.compact-top-stats .stat-pill span{font-size:9px!important}.compact-top-stats .stat-pill strong{font-size:15px!important}
.v74-games .page-head,.challenge-page .page-head{align-items:flex-start!important}.game-time-bank{min-width:150px;text-align:center}.game-rules{overflow:hidden}.game-rules .game-time-steps>div{min-width:0}.challenge-page{max-width:1220px;margin:0 auto}.challenge-question{width:min(820px,100%);margin:24px auto!important;padding:28px!important}.challenge-question .answer-input{max-width:100%}
.ultimate-page{max-width:1160px!important}.ultimate-page .page-head{align-items:center!important}.ultimate-tabs{width:100%!important;overflow:auto;flex-wrap:nowrap!important}.ultimate-tabs button{white-space:nowrap}.accessibility-panel{align-items:stretch}.access-toggle{min-height:76px}.access-toggle input{flex:0 0 auto}.complete-suite-intro{overflow:hidden}

/* True dark mode instead of partial colour inversion. */
html.mx-dark{color-scheme:dark;background:#11131b!important}
html.mx-dark body,
html.mx-dark .app-shell,
html.mx-dark .relaxed-shell,
html.mx-dark .relaxed-main-shell,
html.mx-dark #app-view,
html.mx-dark .page,
html.mx-dark .ultimate-page,
html.mx-dark .challenge-page,
html.mx-dark .games-page{background:#11131b!important;color:#f5f6ff!important}
html.mx-dark .relaxed-topnav{background:#171a25!important;border-color:#34384c!important;color:#f7f7ff!important}
html.mx-dark .relaxed-brand,
html.mx-dark .relaxed-primary-nav .nav-item,
html.mx-dark .nav-more-button,
html.mx-dark .account-chip{color:#f7f7ff!important}
html.mx-dark .compact-top-stats,
html.mx-dark .stat-pill,
html.mx-dark .ai-helper-top-button,
html.mx-dark .account-chip,
html.mx-dark .nav-more-button{background:#1c2030!important;border-color:#3b4057!important;color:#f7f7ff!important}
html.mx-dark .compact-top-stats .stat-pill strong,
html.mx-dark .compact-top-stats .stat-pill span{color:#f3f4ff!important}
html.mx-dark .calm-card,
html.mx-dark .card,
html.mx-dark .ultimate-card,
html.mx-dark .mastery-map-card,
html.mx-dark .access-toggle,
html.mx-dark .ultimate-modal,
html.mx-dark .teacher-dashboard,
html.mx-dark .school-section,
html.mx-dark .school-overview-main,
html.mx-dark .school-role-card,
html.mx-dark .teacher-class-card,
html.mx-dark .assignment-card,
html.mx-dark .challenge-question,
html.mx-dark .edu-mode-card,
html.mx-dark .game-rules,
html.mx-dark .complete-card,
html.mx-dark .complete-suite-intro,
html.mx-dark .parent-stat-grid>div{background:#1b1f2d!important;color:#f6f7ff!important;border-color:#373c52!important;box-shadow:none!important}
html.mx-dark h1,html.mx-dark h2,html.mx-dark h3,html.mx-dark strong,html.mx-dark b{color:#f9f9ff!important}
html.mx-dark p,html.mx-dark small,html.mx-dark .muted,html.mx-dark .lock-note,html.mx-dark .access-toggle small,html.mx-dark .notice-row p,html.mx-dark .ultimate-card p{color:#c8ccdc!important}
html.mx-dark input,html.mx-dark textarea,html.mx-dark select,html.mx-dark .answer-input,html.mx-dark .poll-option{background:#10131d!important;color:#fff!important;border-color:#4b516b!important}
html.mx-dark .ultimate-tabs{background:#151824!important;border-color:#34384c!important}
html.mx-dark .ultimate-tabs button{background:transparent!important;color:#dfe2ef!important;border-color:transparent!important}
html.mx-dark .ultimate-tabs button.active{background:#6857d9!important;color:#fff!important}
html.mx-dark .btn.secondary,html.mx-dark .btn.ghost{background:#222638!important;color:#f7f7ff!important;border-color:#454b65!important}
html.mx-dark .countdown-big,html.mx-dark .calculator-demo output{background:#12151f!important;border-color:#3b4057!important;color:#fff!important}
html.mx-dark .progress-track{background:#2a2e3e!important}

/* High contrast is an explicit high contrast palette, not just a filter. */
html.mx-high-contrast{filter:none!important}
html.mx-high-contrast body,
html.mx-high-contrast .app-shell,
html.mx-high-contrast .relaxed-main-shell,
html.mx-high-contrast #app-view,
html.mx-high-contrast .page{background:#000!important;color:#fff!important}
html.mx-high-contrast .relaxed-topnav,
html.mx-high-contrast .card,
html.mx-high-contrast .calm-card,
html.mx-high-contrast .ultimate-card,
html.mx-high-contrast .mastery-map-card,
html.mx-high-contrast .access-toggle,
html.mx-high-contrast .ultimate-modal,
html.mx-high-contrast .teacher-class-card,
html.mx-high-contrast .challenge-question,
html.mx-high-contrast .edu-mode-card{background:#000!important;color:#fff!important;border:2px solid #fff!important;box-shadow:none!important}
html.mx-high-contrast h1,html.mx-high-contrast h2,html.mx-high-contrast h3,html.mx-high-contrast p,html.mx-high-contrast small,html.mx-high-contrast span,html.mx-high-contrast strong,html.mx-high-contrast label{color:#fff!important}
html.mx-high-contrast input,html.mx-high-contrast textarea,html.mx-high-contrast select{background:#000!important;color:#fff!important;border:2px solid #fff!important}
html.mx-high-contrast .btn,html.mx-high-contrast button{outline-offset:2px}
html.mx-high-contrast .btn.primary,html.mx-high-contrast .ultimate-tabs button.active{background:#ffe600!important;color:#000!important;border:2px solid #ffe600!important}
html.mx-high-contrast a,html.mx-high-contrast .eyebrow{color:#65d7ff!important}
html.mx-high-contrast input[type="checkbox"]{accent-color:#ffe600!important;outline:2px solid #fff}
html.mx-high-contrast .progress-fill{background:#ffe600!important}

@media(max-width:900px){.compact-top-stats .stat-pill{min-width:78px!important}.challenge-question{padding:20px!important}.ultimate-page{padding-inline:16px!important}}

/* MathsExpress v8.1 — locked student identity */
.identity-locked-note {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border: 1px solid var(--border, #dfe3f4);
  border-radius: 12px;
  background: var(--panel-soft, #f7f8ff);
  text-align: left;
  margin-top: 14px;
}
.identity-locked-note strong { font-size: .92rem; }
.identity-locked-note span { font-size: .8rem; color: var(--muted, #68708a); line-height: 1.4; }

/* MathsExpress v8.2 — assessment, step marking and textbook tools */
.assignment-step-marker{margin:22px 0;padding:18px;border:1px solid rgba(103,80,230,.18);border-radius:18px;background:rgba(103,80,230,.035)}
.assignment-step-marker-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px}.assignment-step-marker-head>div{display:grid;gap:4px}.assignment-step-marker-head small{color:var(--muted,#6d6874)}.assignment-step-marker-head>span{font-weight:800;color:#5844c9;white-space:nowrap}
.assignment-marked-steps{display:grid;gap:9px;margin:12px 0}.assignment-marked-steps article{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #dedaf4;border-radius:14px;background:#fff}.assignment-marked-steps article.correct,.assignment-marked-steps article.final-correct{border-color:#9ed6b1;background:#f2fbf5}.assignment-marked-steps article.incorrect{border-color:#f0b6b6;background:#fff5f5}.assignment-marked-steps article.valid-progress{border-color:#b7c9ff;background:#f5f8ff}.assignment-marked-steps article>b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#ece9ff;color:#5140c8}.assignment-marked-steps article>div{min-width:0;display:grid;gap:4px}.assignment-marked-steps article>span{font-weight:800}
.assignment-step-entry{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:9px;margin-top:12px}.assignment-step-entry input{min-width:0;padding:13px 14px;border:1px solid #c9c5dd;border-radius:12px;font:inherit}.assignment-next-step-card{margin:12px 0;padding:14px 16px;border-radius:14px;background:#f1efff;border:1px solid #d9d4ff}.assignment-next-step-card p{margin:7px 0}.worked-example-actions{margin-top:12px}.textbook-interactive{background:linear-gradient(135deg,#f8f6ff,#f4f8ff)}
.generated-graph-grid{position:relative;width:min(520px,100%);aspect-ratio:1/1;border:1px solid #c9c5dd;border-radius:16px;background-color:#fff;background-image:linear-gradient(to right,rgba(94,74,211,.12) 1px,transparent 1px),linear-gradient(to bottom,rgba(94,74,211,.12) 1px,transparent 1px);background-size:5% 5%;cursor:crosshair;overflow:hidden}.generated-graph-grid .graph-axis{position:absolute;background:#292633}.generated-graph-grid .graph-axis.x{height:2px;left:0;right:0;top:50%}.generated-graph-grid .graph-axis.y{width:2px;top:0;bottom:0;left:50%}.generated-graph-grid .graph-marker{position:absolute;width:16px;height:16px;border-radius:50%;background:#6351df;border:3px solid white;box-shadow:0 0 0 2px #6351df;transform:translate(-50%,-50%)}.graph-answer-readout{margin-top:10px;font-weight:700}
.coordinate-answer{display:grid;grid-template-columns:repeat(2,minmax(0,160px));gap:12px}.coordinate-answer label,.multi-part-answer label{display:grid;gap:6px;font-weight:700}.coordinate-answer input,.multi-part-answer input,.table-answer-label input{padding:13px 14px;border-radius:12px;border:1px solid #c9c5dd;font:inherit}.multi-part-answer{display:grid;gap:12px}.matching-answer{display:grid;gap:10px}.matching-answer label{display:grid;grid-template-columns:minmax(100px,1fr) auto minmax(160px,1fr);align-items:center;gap:12px;padding:10px 12px;border:1px solid #ddd9ee;border-radius:12px}.matching-answer select{padding:10px;border-radius:10px;border:1px solid #c9c5dd}.drag-tile-bank,.drag-drop-zone{display:flex;flex-wrap:wrap;gap:8px;padding:12px;border-radius:14px;border:1px dashed #b9b3dc;min-height:62px}.generated-drag-tile{border:1px solid #c7c0f2;border-radius:10px;background:#f3f0ff;padding:10px 13px;font:inherit;font-weight:700;cursor:grab}.drag-drop-zone{margin:10px 0;background:#fbfaff}.drop-placeholder{color:#8c879b}.number-line-answer input[type=range]{width:100%}.number-line-labels{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.math-data-table{border-collapse:collapse;width:min(500px,100%)}.math-data-table td,.math-data-table th{padding:10px 12px;border:1px solid #ddd9ee;text-align:center}
.v82-scorecard{display:grid;gap:4px;overflow-x:auto}.v82-scorecard>div{display:grid;grid-template-columns:minmax(160px,1.5fr) 80px 100px 70px 80px minmax(180px,1fr);gap:10px;align-items:center;padding:10px 8px;border-bottom:1px solid #ece9f5}.v82-scorecard-head{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:#6c667b}.scorecard-actions{display:flex;flex-wrap:wrap;gap:6px}.v82-review-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.v82-review-summary span{display:grid;padding:12px;border:1px solid #e1ddeb;border-radius:12px}.v82-review-summary b{font-size:1.3rem}.v82-review-list{display:grid;gap:12px}.v82-review-list article{padding:14px;border:1px solid #ddd8ee;border-radius:14px;background:#fff}.v82-review-list header{display:flex;justify-content:space-between;gap:14px}.v82-review-list ol{padding-left:22px}.v82-integrity-list{display:grid;gap:7px}.v82-integrity-list>div{display:grid;grid-template-columns:140px 170px minmax(0,1fr);gap:10px;padding:9px 0;border-bottom:1px solid #ece8f2;font-size:.88rem}.v82-video-list,.v82-resource-list,.v82-template-folders{display:grid;gap:10px}.v82-video-list article,.v82-resource-list article,.v82-template-folders article{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border:1px solid #e1ddec;border-radius:12px}.v82-video-list article>div{display:grid;gap:3px}.v82-resource-list article{display:grid;justify-content:initial}.v82-resource-list article>span{font-size:.72rem;text-transform:uppercase;color:#6351df;font-weight:800}.v82-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.v82-check-grid label{padding:9px 10px;border:1px solid #e2def0;border-radius:10px}.v82-expedition{display:grid;gap:12px}.recognition-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.recognition-grid article{display:grid;gap:7px;padding:14px;border:1px solid #e0dcef;border-radius:14px;background:linear-gradient(145deg,#fff,#faf8ff)}.recognition-sticker{font-size:.72rem;text-transform:uppercase;font-weight:900;color:#5e4bd2}.history-card .btn{margin-top:8px}
@media(max-width:760px){.assignment-step-marker-head{display:grid}.assignment-step-entry{grid-template-columns:1fr 1fr}.assignment-step-entry input{grid-column:1/-1}.v82-review-summary{grid-template-columns:1fr 1fr}.v82-scorecard>div{grid-template-columns:150px 70px 85px 55px 65px 160px}.v82-integrity-list>div{grid-template-columns:1fr}.v82-check-grid{grid-template-columns:1fr}.matching-answer label{grid-template-columns:1fr}}

/* v8.2 assessment polish */
.assignment-streak-chip{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:8px;align-items:center;padding:8px 12px;border:1px solid rgba(103,80,230,.22);border-radius:14px;background:rgba(103,80,230,.06);min-width:88px}
.assignment-streak-chip small{grid-column:1/-1;font-size:.62rem;font-weight:800;letter-spacing:.08em;color:var(--muted,#6d6874)}
.assignment-streak-chip strong{font-size:1rem}.assignment-streak-chip b{justify-self:end;color:#6750e6;font-size:.9rem}
.elo-live{display:grid;gap:1px;text-align:right}.elo-live span{font-size:.72rem;color:var(--muted,#6d6874);font-weight:700}
.worked-example-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
@media(max-width:720px){.assignment-streak-chip{display:none}}
.challenge-summary-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.challenge-personal-best{display:grid;gap:4px;padding:18px;border:1px solid rgba(103,80,230,.18);border-radius:18px;background:linear-gradient(145deg,#fff,#faf8ff)}.challenge-personal-best strong{font-size:1.7rem;color:#5c48d5}.challenge-personal-best small{color:var(--muted,#6d6874)}
@media(max-width:680px){.challenge-summary-row{grid-template-columns:1fr}}

/* v8.3.1 — Home Games card formatting fix */
.game-time-home{
  display:grid;
  gap:13px;
  padding:19px!important;
  overflow:hidden;
}
.game-time-home-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
}
.game-time-home-top .eyebrow{margin:0;line-height:1.2}
.game-time-home .game-time-icon{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:30px;
  padding:6px 10px;
  border:1px solid #ddd5ff;
  border-radius:999px;
  background:linear-gradient(135deg,#f1edff,#eaf3ff);
  color:#563bc7;
  font-size:10px!important;
  line-height:1!important;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
.game-time-home .game-play-glyph{
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--mx-purple,#6d4aff),var(--mx-blue,#3b82f6));
  color:#fff;
  font-size:8px;
  line-height:1;
  padding-left:1px;
}
.game-time-balance{
  display:flex;
  align-items:baseline;
  gap:8px;
  flex-wrap:wrap;
  min-width:0;
}
.game-time-balance strong{
  color:#2f2a4a;
  font-size:clamp(29px,3vw,36px);
  line-height:1;
  letter-spacing:-1px;
  font-variant-numeric:tabular-nums;
}
.game-time-balance span{
  color:#706987;
  font-size:12px;
  line-height:1.25;
  font-weight:800;
  white-space:nowrap;
}
.game-time-home .lock-note{
  margin:0!important;
  max-width:34ch;
  color:#746d7f;
  font-size:11.5px;
  line-height:1.5;
}
.game-time-home .side-actions{margin-top:1px}
.game-time-home .side-actions .btn{
  min-height:38px;
  padding-inline:15px;
}
@media(max-width:560px){
  .game-time-home{padding:18px!important;gap:12px}
  .game-time-balance strong{font-size:30px}
  .game-time-balance span{font-size:11px}
  .game-time-home .lock-note{max-width:none}
}

/* MathsExpress v8.4 — task groups, worksheet builder, evidence & reporting */
.path-node-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.path-node-actions .btn{margin:0}
button.mastery-cell{font:inherit;border:0;cursor:pointer;appearance:none;width:100%;transition:transform .14s ease,box-shadow .14s ease}button.mastery-cell:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(47,42,74,.14)}button.mastery-cell:focus-visible{outline:3px solid rgba(109,74,255,.28);outline-offset:2px}
.v84-builder{display:grid;gap:18px;min-width:min(900px,88vw)}.v84-builder-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.v84-builder-head h3{margin:4px 0}.v84-builder-head p{margin:0;max-width:60ch;color:var(--muted)}.v84-builder-head label{display:grid;gap:5px;font-weight:800}.v84-bank-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:280px;overflow:auto;padding-right:3px}.v84-bank-card{display:grid;gap:7px;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--panel,#fffaf2)}.v84-bank-card small,.v84-bank-card span,.v84-question-copy small{color:var(--muted)}.v84-bank-card .btn{justify-self:start}.v84-selected-questions{display:grid;gap:8px}.v84-question-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--panel,#fffaf2)}.v84-question-number{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(109,74,255,.1);font-weight:900}.v84-question-copy{display:grid;gap:5px;min-width:0}.v84-order-actions,.v84-part-actions{display:flex;gap:6px;flex-wrap:wrap}.v84-part-actions{margin-top:6px;align-items:center}.v84-part-actions>span{font-size:11px;color:var(--muted);font-weight:800}.v84-builder-form{border-top:1px solid var(--line);padding-top:14px}
.v84-task-groups{display:grid;gap:14px;min-width:min(760px,86vw)}.v84-task-groups fieldset{border:1px solid var(--line);border-radius:15px;padding:14px;display:grid;gap:10px}.v84-task-groups legend{font-weight:900;padding:0 7px}.v84-student-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:180px;overflow:auto;padding:4px}.v84-student-picker label{display:flex;align-items:center;gap:7px;padding:7px 8px;border:1px solid var(--line);border-radius:10px;font-size:12px}.v84-student-picker input{width:auto}
.v84-evidence-list{display:grid;gap:10px;max-height:60vh;overflow:auto}.v84-evidence-list article{padding:13px;border:1px solid var(--line);border-radius:14px;display:grid;gap:7px}.v84-evidence-list article>div{display:flex;justify-content:space-between;gap:12px}.v84-evidence-list p{margin:0}.v84-report-table{display:grid;border:1px solid var(--line);border-radius:14px;overflow:hidden}.v84-report-row{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:10px;padding:11px 12px;border-bottom:1px solid var(--line);align-items:center}.v84-report-row:last-child{border-bottom:0}.v84-report-row.head{font-size:10px;text-transform:uppercase;font-weight:900;color:var(--muted);background:rgba(109,74,255,.05)}.v84-group-report{display:grid;gap:15px}.v84-group-report section{padding:14px;border:1px solid var(--line);border-radius:14px}.v84-group-line{display:grid;grid-template-columns:1.5fr .8fr 1fr 1fr;gap:9px;padding:8px 0;border-top:1px solid var(--line);align-items:center}.v84-group-line small{color:var(--muted)}.v84-yoy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.v84-yoy-grid article{padding:15px;border:1px solid var(--line);border-radius:14px;display:grid;gap:4px}.v84-yoy-grid strong{font-size:28px}.v84-yoy-grid small,.v84-yoy-grid span,.v84-yoy-grid em{color:var(--muted)}
.v84-integration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.v84-integration-grid article{padding:15px;border:1px solid var(--line);border-radius:15px;display:grid;gap:10px;align-content:start}.v84-integration-grid h3{margin:5px 0 0}.v84-integration-grid p{margin:4px 0;color:var(--muted)}.v84-integration-note{margin-top:13px;padding:12px;border-radius:12px;background:rgba(109,74,255,.07)}.v84-integration-note p{margin:4px 0 0;color:var(--muted)}.v84-district-schools{display:grid;gap:8px;margin-top:12px}.v84-district-schools article{padding:12px;border:1px solid var(--line);border-radius:13px;display:grid;grid-template-columns:1.3fr 1fr 1.2fr;gap:9px;align-items:center}.v84-district-schools small{color:var(--muted)}
@media(max-width:760px){.v84-builder{min-width:0}.v84-builder-head{display:grid}.v84-bank-grid,.v84-student-picker,.v84-integration-grid{grid-template-columns:1fr}.v84-question-row{grid-template-columns:34px minmax(0,1fr)}.v84-order-actions{grid-column:2}.v84-report-row{grid-template-columns:1.3fr .8fr .8fr}.v84-report-row>*:last-child{grid-column:2/4}.v84-group-line,.v84-district-schools article{grid-template-columns:1fr 1fr}.v84-group-line small{grid-column:1/3}}
.v84-builder-filters{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:8px;min-width:300px}.v84-builder-filters label{display:grid;gap:5px}.v84-bank-meta{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:12px}.v84-bank-meta strong{color:var(--text,#2f2a4a);font-size:18px}.v84-bank-card em{font-style:normal;font-size:10px;font-weight:850;color:#5f4bd2}.v84-group-report-toolbar{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:12px;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:rgba(109,74,255,.045)}.v84-group-report-toolbar label{display:grid;gap:5px;font-size:11px;font-weight:850}.v84-group-report-toolbar span{color:var(--muted);font-size:11px}.v84-subheading{margin:18px 0 8px}.v84-month-table{display:grid;border:1px solid var(--line);border-radius:14px;overflow:hidden}.v84-month-row{display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:10px;padding:10px 12px;border-bottom:1px solid var(--line);align-items:center}.v84-month-row:last-child{border-bottom:0}.v84-month-row span{color:var(--muted);font-size:12px}
@media(max-width:760px){.v84-builder-filters{grid-template-columns:1fr;min-width:0}.v84-group-report-toolbar{display:grid;align-items:stretch}.v84-month-row{grid-template-columns:1fr 1fr}.v84-month-row strong{grid-column:1/-1}}

/* =========================================================
   MathsExpress v8.5 — K–12 polish, faster help and UI cleanup
   ========================================================= */
:root{
  --mx-v85-line:#dedaf0;
  --mx-v85-soft:#f7f5ff;
  --mx-v85-ink:#302d3c;
  --mx-v85-muted:#716c7c;
}

/* Top navigation: tighter, balanced and consistent at desktop widths. */
.relaxed-topnav{
  min-height:64px!important;
  padding:8px 16px!important;
  gap:14px!important;
  box-shadow:0 1px 0 rgba(75,61,120,.04)!important;
}
.relaxed-top-actions{gap:8px!important}
.compact-top-stats{
  min-height:44px!important;
  border-radius:14px!important;
  box-shadow:0 4px 14px rgba(69,54,122,.04)!important;
}
.compact-top-stats .stat-pill{
  min-width:112px!important;
  height:44px!important;
  padding:0 16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  border-radius:0!important;
}
.compact-top-stats .stat-pill span{font-size:9px!important;letter-spacing:.08em!important}
.compact-top-stats .stat-pill strong{font-size:17px!important;line-height:1!important;font-variant-numeric:tabular-nums}
.ai-helper-top-button,.compact-account-chip,.nav-more-button{height:44px!important;border-radius:14px!important}
.compact-account-chip{min-width:182px!important;max-width:210px!important;padding:0 13px!important;display:flex!important;gap:10px!important}
.compact-account-chip .account-dot{width:32px!important;height:32px!important;flex:0 0 32px!important;font-size:12px!important}
.compact-account-chip span:not(.account-dot){font-size:13px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-more-button{padding-inline:17px!important}

/* Home game-time card: prevent oversized PLAY labels and keep the card compact. */
.game-time-home{gap:12px!important;padding:20px!important}
.game-time-home-top{min-height:32px}
.game-time-home .game-time-icon{font-size:10px!important;padding:6px 10px!important;min-width:auto!important}
.game-time-balance{gap:7px!important}
.game-time-balance strong{font-size:34px!important;letter-spacing:-.03em!important}
.game-time-balance span{font-size:12px!important;white-space:normal!important}
.game-time-home .lock-note{font-size:12px!important;line-height:1.55!important;max-width:38ch!important}
.game-time-home .side-actions .btn{min-height:40px!important;border-radius:12px!important}

/* Assignment workspace: centred content, less dead space, consistent controls. */
.assignment-workspace{background:#fafafa!important;color:var(--mx-v85-ink)!important}
.assignment-workspace-topbar{
  min-height:62px!important;
  padding:9px 20px!important;
  border-bottom:1px solid #e4e2ea!important;
  box-shadow:0 2px 10px rgba(49,43,70,.035)!important;
}
.assignment-workspace-main{
  width:min(1320px,calc(100% - 96px))!important;
  max-width:1320px!important;
  margin:0 auto!important;
  padding:30px 34px 130px!important;
  background:#fafafa!important;
}
.assignment-problem-area{max-width:1180px!important;margin:0 auto!important}
.assignment-question-row{grid-template-columns:42px minmax(0,1fr)!important;gap:20px!important}
.assignment-question-badge{width:38px!important;height:38px!important;font-size:13px!important}
.assignment-question-meta{font-size:11px!important;margin-bottom:8px!important;min-height:24px!important}
.assignment-question-prompt{font-size:20px!important;line-height:1.55!important;font-weight:760!important;max-width:1000px!important}
.assignment-step-marker{
  margin:26px 0 0 62px!important;
  padding:20px 22px!important;
  max-width:1050px!important;
  border-radius:20px!important;
  background:linear-gradient(145deg,#fbfaff,#f7f6ff)!important;
  box-shadow:0 8px 24px rgba(82,65,160,.035)!important;
}
.assignment-step-marker-head{margin-bottom:14px!important;align-items:center!important}
.assignment-step-marker-head strong{font-size:16px!important}
.assignment-step-marker-head small{font-size:12px!important;line-height:1.45!important}
.assignment-step-marker-head>span{font-size:13px!important;padding:7px 10px;border-radius:999px;background:#eeeaff!important}
.assignment-step-entry{grid-template-columns:minmax(0,1fr) auto auto!important;gap:10px!important;margin-top:14px!important}
.assignment-step-entry input{height:46px!important;padding:0 15px!important;border-radius:13px!important;background:#fff!important}
.assignment-step-entry .btn{min-height:46px!important;border-radius:13px!important;padding-inline:16px!important}
.assignment-current-step{
  margin:30px 0 0 62px!important;
  grid-template-columns:22px minmax(0,760px)!important;
  gap:12px!important;
  max-width:900px!important;
}
.assignment-equals{font-size:24px!important;padding-top:9px!important}
.assignment-workspace .answer-input{min-height:54px!important;padding:12px 16px!important;border-radius:10px!important;font-size:18px!important;background:#fff!important}
.assignment-math-keyboard{margin:12px 0 0 96px!important;gap:8px!important}
.assignment-math-keyboard button{min-width:42px!important;height:42px!important;border-radius:14px!important;font-size:14px!important;box-shadow:inset 0 0 0 1px rgba(105,78,220,.04)}
.assignment-step-history,.assignment-working-block,.assignment-inline-hint,.assignment-inline-solution,.assignment-inline-review{margin-left:62px!important}
.assignment-side-rail{right:20px!important;width:64px!important;gap:9px!important}
.assignment-side-rail button{min-height:58px!important;border-radius:14px!important;box-shadow:0 6px 18px rgba(55,49,70,.05)!important}
.assignment-side-rail button.locked{opacity:.46!important;cursor:not-allowed!important}
.assignment-side-rail small{font-size:8.5px!important}
.assignment-bottom-bar{
  height:76px!important;
  padding:10px 20px!important;
  background:rgba(255,255,255,.985)!important;
  border-top:1px solid #e5e2ec!important;
  box-shadow:0 -6px 22px rgba(51,43,76,.045)!important;
}
.assignment-bottom-inner{
  width:min(1180px,calc(100% - 86px));
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.assignment-bottom-left,.assignment-bottom-right{gap:10px!important}
.assignment-submit,.assignment-next-step,.assignment-next-primary{min-height:46px!important;border-radius:14px!important;padding:0 20px!important;font-size:12px!important}
.assignment-next-step{border:1px solid #d9d2ee!important;background:#faf8ff!important}

/* Immediate-help feedback looks intentional while remote marking refines it. */
.assignment-next-step-card{border-radius:15px!important;padding:14px 16px!important;box-shadow:0 6px 18px rgba(86,68,168,.045)}

/* AI helper: clearly hint-first. */
.ai-helper-shell{gap:13px!important}
.ai-context-strip{background:linear-gradient(145deg,#f7f4ff,#f1f6ff)!important;border-color:#ddd7f8!important}
.ai-suggestion{background:#fff!important;border-color:#ddd7ef!important;color:#55458b!important}
.ai-helper-footer{padding-top:3px;border-top:1px solid #eeeaf8}

/* Onboarding tour. */
.onboarding-backdrop{backdrop-filter:blur(8px)}
.onboarding-tour{width:min(560px,calc(100vw - 28px))!important;padding:28px!important;border-radius:24px!important}
.onboarding-tour-progress{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#6e6780;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.onboarding-tour-progress strong{color:#4f3dbc}
.onboarding-tour-meter{height:6px;background:#ece9f5;border-radius:999px;overflow:hidden;margin:12px 0 24px}
.onboarding-tour-meter i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#6d4aff,#4285f4)}
.onboarding-tour-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#eee9ff,#eaf4ff);color:#563bc7;font-size:22px;font-weight:950;margin-bottom:16px}
.onboarding-tour h2{margin:0 0 10px;font-size:28px;letter-spacing:-.025em}
.onboarding-tour>p{margin:0;color:#6e6877;line-height:1.65;font-size:14px}
.onboarding-callout{margin-top:18px;padding:13px 15px;border:1px solid #e2dcf6;border-radius:14px;background:#faf8ff;color:#51486a;font-size:12px;font-weight:750;line-height:1.5}
.onboarding-tour-actions{display:flex;justify-content:space-between;gap:10px;margin-top:24px}
.onboarding-tour-actions .btn{min-width:120px}



/* Learn page strand toggles: prevent text collisions and keep skill counts readable. */
.learn-strand-list{display:grid;gap:16px}
.curriculum-strand.learn-collapsible{margin:0}
.learn-strand-toggle{
  width:100%;
  display:grid;
  grid-template-columns:40px minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  padding:14px 18px;
  border:1px solid #ddd2c3;
  border-radius:16px;
  background:#fffdf8;
  color:#302b26;
  text-align:left;
  box-shadow:0 4px 14px rgba(76,56,34,.035);
}
.learn-strand-toggle:hover{background:#faf8ff}
.learn-strand-toggle>span:nth-child(2){display:grid;gap:3px;min-width:0}
.learn-strand-toggle small{display:block;color:#7d7368;font-size:11px;font-weight:850;line-height:1.15}
.learn-strand-toggle strong{display:block;color:#2f2a25;font-size:18px;line-height:1.2;word-break:break-word}
.learn-strand-toggle b{justify-self:end;white-space:nowrap;padding:7px 10px;border-radius:999px;background:#eef1e6;color:#5c6d49;font-size:11px;font-weight:900}
.learn-collapsible.collapsed .curriculum-skill-grid[hidden]{display:none!important}
.learn-collapsible.expanded .learn-strand-toggle{border-bottom-left-radius:0;border-bottom-right-radius:0}
.learn-collapsible.expanded .curriculum-skill-grid{margin-top:0;padding:14px;border:1px solid #ddd2c3;border-top:0;border-radius:0 0 16px 16px;background:#fffdf8;box-shadow:0 4px 14px rgba(76,56,34,.035)}

/* Textbook chapter cards should size to their own content, not stretch to match neighbouring expanded cards. */
.textbook-chapter-list{align-items:start}
.textbook-chapter-card{align-self:start}
.textbook-chapter-card.collapsed{height:auto}
.textbook-chapter-card.collapsed>header{min-height:auto!important}
.textbook-book-head{flex-wrap:wrap}

@media(max-width:760px){
  .learn-strand-toggle{grid-template-columns:40px minmax(0,1fr);grid-template-areas:"icon title" "count count";padding:14px 16px}
  .learn-strand-toggle>.chapter-chevron{grid-area:icon}
  .learn-strand-toggle>span:nth-child(2){grid-area:title}
  .learn-strand-toggle>b{grid-area:count;justify-self:start}
}

/* Textbook: K–12 switcher and collapsible chapter groups. */
.textbook-year-switcher{flex-wrap:nowrap!important;overflow-x:auto!important;max-width:min(100%,860px);scrollbar-width:thin}
.textbook-year-switcher button{flex:0 0 auto!important;min-width:max-content!important}
.textbook-chapter-card>header{padding:0!important;min-height:72px!important}
.textbook-chapter-toggle{flex:1;min-width:0;display:flex;align-items:center;gap:12px;text-align:left;border:0;background:transparent;padding:15px 16px;cursor:pointer;color:inherit}
.textbook-chapter-toggle:hover{background:#faf8ff}
.textbook-chapter-toggle>div{min-width:0}
.textbook-chapter-toggle h3{margin:3px 0 2px!important}
.chapter-chevron{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#f0ecff;color:#5d44ca;font-size:20px!important;line-height:1;flex:0 0 30px}
.textbook-chapter-card .chapter-donut{margin-right:16px!important;flex:0 0 auto}
.textbook-chapter-card.collapsed>footer{display:none!important}
.textbook-chapter-card.collapsed>header{border-bottom:0!important}
.textbook-section-list[hidden]{display:none!important}

/* Games ELO summary belongs in the page flow, never over the rules. */
.games-elo-summary{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  margin:18px 0 0!important;
  min-width:0!important;
  max-width:300px!important;
  z-index:auto!important;
  box-shadow:0 12px 30px rgba(52,43,95,.14)!important;
}
.game-rules{position:relative!important;z-index:1!important;padding-bottom:20px!important}

/* General form polish. */
input,textarea,select,button{font-feature-settings:"kern" 1}
.answer-input,.working-input,.school-form input,.school-form textarea,.school-form select{transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}
.answer-input:focus,.working-input:focus,.school-form input:focus,.school-form textarea:focus,.school-form select:focus{box-shadow:0 0 0 4px rgba(109,74,255,.09)!important}
.identity-locked-note{padding:12px 13px!important;border-radius:13px!important;background:#f7f4ff!important;border-color:#ded7f8!important}

@media(max-width:1180px){
  .compact-top-stats .stat-pill{min-width:92px!important;padding-inline:12px!important}
  .compact-account-chip{min-width:150px!important;max-width:165px!important}
}
@media(max-width:900px){
  .assignment-workspace-main{width:100%!important;padding:22px 20px 138px!important}
  .assignment-step-marker,.assignment-current-step,.assignment-step-history,.assignment-working-block,.assignment-inline-hint,.assignment-inline-solution,.assignment-inline-review{margin-left:46px!important}
  .assignment-math-keyboard{margin-left:70px!important}
  .assignment-bottom-inner{width:100%}
  .games-elo-summary{max-width:none!important}
}
@media(max-width:720px){
  .relaxed-topnav{min-height:auto!important}
  .assignment-question-prompt{font-size:17px!important}
  .assignment-step-marker{margin-left:40px!important;padding:16px!important}
  .assignment-step-entry{grid-template-columns:1fr 1fr!important}
  .assignment-step-entry input{grid-column:1/-1}
  .assignment-current-step{margin-left:40px!important}
  .assignment-math-keyboard{margin-left:54px!important}
  .assignment-bottom-inner{gap:8px}
  .assignment-submit,.assignment-next-step,.assignment-next-primary{padding-inline:14px!important;min-height:42px!important}
  .onboarding-tour{padding:22px!important}
  .onboarding-tour h2{font-size:24px}
}

/* =========================================================
   MathsExpress v8.5.2 — contrast and readability pass
   Fixes low-contrast controls found during student practice,
   especially matching questions in the light assignment view.
   ========================================================= */
:root{
  --mx-v852-text:#2f3139;
  --mx-v852-muted:#5f6270;
  --mx-v852-subtle:#6a6d78;
  --mx-v852-border:#d2cde3;
  --mx-v852-soft:#f7f5ff;
}

/* Light assignment mode: never allow legacy dark-card backgrounds to leak in. */
html:not(.mx-dark) .assignment-workspace .matching-answer label{
  background:#ffffff!important;
  color:var(--mx-v852-text)!important;
  border:1.5px solid var(--mx-v852-border)!important;
  border-radius:14px!important;
  padding:14px 16px!important;
  box-shadow:0 2px 8px rgba(52,43,84,.035)!important;
}
html:not(.mx-dark) .assignment-workspace .matching-answer label strong{
  color:#343640!important;
  font-weight:850!important;
}
html:not(.mx-dark) .assignment-workspace .matching-answer label>span{
  color:#686b76!important;
  font-weight:800!important;
}
html:not(.mx-dark) .assignment-workspace .matching-answer select{
  background:#fff!important;
  color:#282b33!important;
  border:1.5px solid #aebbd2!important;
  border-radius:10px!important;
  min-height:50px!important;
}
html:not(.mx-dark) .assignment-workspace .matching-answer select:hover{
  border-color:#8170d9!important;
}
html:not(.mx-dark) .assignment-workspace .matching-answer select:focus{
  border-color:#6d4aff!important;
  outline:3px solid rgba(109,74,255,.16)!important;
  outline-offset:1px!important;
}

/* Practice typography: darken small/supporting copy so it stays readable. */
html:not(.mx-dark) .assignment-question-meta,
html:not(.mx-dark) .assignment-working-block label,
html:not(.mx-dark) .assignment-side-rail small{
  color:var(--mx-v852-muted)!important;
}
html:not(.mx-dark) .assignment-equals,
html:not(.mx-dark) .assignment-step-answer>span{
  color:#666a75!important;
}
html:not(.mx-dark) .assignment-step-marker-head small,
html:not(.mx-dark) .assignment-inline-hint p,
html:not(.mx-dark) .assignment-inline-solution p,
html:not(.mx-dark) .assignment-inline-review p{
  color:#5d6070!important;
}
html:not(.mx-dark) .assignment-workspace input::placeholder,
html:not(.mx-dark) .assignment-workspace textarea::placeholder{
  color:#717581!important;
  opacity:1!important;
}

/* Other generated response controls receive the same clear light treatment. */
html:not(.mx-dark) .assignment-workspace .multi-part-answer label,
html:not(.mx-dark) .assignment-workspace .coordinate-answer label,
html:not(.mx-dark) .assignment-workspace .table-answer-label{
  color:#4e525e!important;
}
html:not(.mx-dark) .assignment-workspace .drag-drop-answer,
html:not(.mx-dark) .assignment-workspace .drag-tile-bank,
html:not(.mx-dark) .assignment-workspace .drag-drop-zone{
  background:#fff!important;
  color:#343640!important;
  border-color:#c9c3dd!important;
}
html:not(.mx-dark) .assignment-workspace .generated-drag-tile{
  background:#f2efff!important;
  color:#3f318f!important;
  border-color:#c8bff0!important;
}
html:not(.mx-dark) .assignment-workspace .drop-placeholder{
  color:#666a75!important;
}
html:not(.mx-dark) .assignment-workspace .math-data-table,
html:not(.mx-dark) .assignment-workspace .math-data-table td,
html:not(.mx-dark) .assignment-workspace .math-data-table th{
  color:#30333b!important;
}

/* General light UI: improve tiny labels and secondary copy without making it heavy. */
html:not(.mx-dark) .compact-top-stats .stat-pill span{color:#615c72!important}
html:not(.mx-dark) .relaxed-main-shell .muted,
html:not(.mx-dark) .relaxed-main-shell small,
html:not(.mx-dark) .page .muted{
  color:#625e6d;
}
html:not(.mx-dark) .game-rules p,
html:not(.mx-dark) .game-rules li,
html:not(.mx-dark) .game-rules small{
  color:#5a5665!important;
}
html:not(.mx-dark) .textbook-chapter-card p,
html:not(.mx-dark) .textbook-section-list small{
  color:#605b6b!important;
}
html:not(.mx-dark) .chapter-chevron{
  background:#ebe6ff!important;
  color:#4c34b5!important;
}

/* Dark mode keeps the same strong contrast for matching/generated controls. */
html.mx-dark .assignment-workspace .matching-answer label{
  background:#252833!important;
  color:#f5f6ff!important;
  border-color:#50566d!important;
}
html.mx-dark .assignment-workspace .matching-answer label strong{color:#f7f8ff!important}
html.mx-dark .assignment-workspace .matching-answer label>span{color:#c1c5d4!important}
html.mx-dark .assignment-workspace .matching-answer select{
  background:#151821!important;
  color:#fff!important;
  border-color:#666e8c!important;
}
html.mx-dark .assignment-workspace .matching-answer select:focus{
  border-color:#9e8cff!important;
  outline:3px solid rgba(158,140,255,.24)!important;
}
html.mx-dark .assignment-question-meta,
html.mx-dark .assignment-working-block label,
html.mx-dark .assignment-side-rail small{color:#c4c8d7!important}
html.mx-dark .assignment-equals{color:#c8ccd9!important}
html.mx-dark .assignment-workspace input::placeholder,
html.mx-dark .assignment-workspace textarea::placeholder{color:#aeb3c5!important;opacity:1!important}


/* MathsExpress v8.6 — assignment choice layout fix.
   A later !important rule previously collapsed choice-only questions into the
   22px '=' column because the equals sign is intentionally omitted. */
.assignment-current-step.choice-step{
  grid-template-columns:minmax(0,900px)!important;
  max-width:1000px!important;
  width:min(100%,1000px)!important;
}
.assignment-current-step.choice-step .assignment-answer-control{width:100%!important;min-width:0!important}
.assignment-current-step.choice-step .choice-grid{width:100%!important;grid-template-columns:repeat(2,minmax(240px,1fr))!important;gap:14px!important}
.assignment-current-step.choice-step .choice{min-width:0!important;min-height:62px!important;padding:16px 18px!important;font-size:17px!important;line-height:1.35!important;white-space:normal!important;overflow-wrap:anywhere!important;display:flex!important;align-items:center!important}
.assignment-mark-value{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:#f0ecff;color:#593fc9;font-weight:900;letter-spacing:0}
@media(max-width:760px){.assignment-current-step.choice-step .choice-grid{grid-template-columns:1fr!important}.assignment-current-step.choice-step{width:100%!important}}

/* MathsExpress v8.6 — school workflow, planner, handwriting and iPad polish */
.handwriting-recognized{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid #d8d1f5;border-radius:14px;background:#faf9ff}.handwriting-recognized strong{font-size:22px}.handwriting-recognized small{color:#5f5a70}.handwriting-suggestions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.schedule-check{align-self:end;min-height:48px;padding:10px 12px;border:1px solid #ded8f2;border-radius:12px;background:#faf9ff}
.planner-calendar-wrap{min-width:min(900px,90vw)}.planner-calendar-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.planner-calendar-head h2{margin:0 auto 0 0}.planner-weekdays,.class-planner-grid{display:grid;grid-template-columns:repeat(7,minmax(90px,1fr));gap:6px}.planner-weekdays span{text-align:center;font-size:12px;font-weight:800;color:#615b73;padding:5px}.class-planner-day{min-height:112px;border:1px solid #ddd6f7;border-radius:12px;background:#fff;padding:8px;display:flex;flex-direction:column;gap:6px}.class-planner-day.outside{background:#f7f6fa;opacity:.68}.class-planner-day>b{font-size:12px;color:#5d5870}.class-planner-day:has(.class-planner-event){background:#fcfbff}.class-planner-event{appearance:none;border:1px solid #cfc4ff;background:#eee9ff;color:#4933ad;border-radius:8px;padding:6px 7px;text-align:left;font-weight:750;font-size:11px;line-height:1.25;cursor:grab}.class-planner-event:active{cursor:grabbing}
.textbook-global-search{display:flex;gap:10px;align-items:end}.textbook-global-search label{flex:1}.textbook-global-results{display:grid;gap:10px;margin-top:14px;max-height:58vh;overflow:auto}.textbook-global-results article{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #e1dcf2;border-radius:14px;padding:13px 15px;background:#fff}.textbook-global-results article>div:first-child{display:grid;gap:4px}.textbook-global-results strong{font-size:15px}.textbook-global-results small{color:#5f5a6c}
.textbook-engage-block{border:1px solid #d9cdfd!important;background:linear-gradient(135deg,#fbf9ff,#f4f8ff)!important}.engage-prompts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.engage-prompts>div{padding:13px;border-radius:12px;background:#fff;border:1px solid #e3ddf5;display:grid;gap:5px}.engage-prompts strong{color:#573cc8}.facilitation-pack{display:grid;gap:12px}.facilitation-pack h3,.facilitation-pack h4{margin:0}.facilitation-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.facilitation-flow article{border:1px solid #e0daf1;border-radius:12px;padding:12px;background:#faf9ff}.facilitation-flow p{margin:6px 0 0;color:#4e4a59}
.nested-template-folders{display:grid;gap:10px}.template-folder-node{margin-left:calc(var(--folder-depth,0) * 18px);border-left:3px solid #d9d0ff;padding-left:12px}.template-folder-node h3{display:flex;gap:7px;align-items:center;margin-bottom:2px}.folder-path{display:block;color:#716b7e;margin-bottom:8px}

/* Larger touch targets and safe-area spacing for iPad/PWA use. */
@supports(padding:max(0px)){
  .relaxed-topnav{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));padding-top:max(8px,env(safe-area-inset-top))}
  .assignment-bottom-bar{padding-bottom:max(10px,env(safe-area-inset-bottom))}
}
@media (pointer:coarse){button,.btn,select,input[type="checkbox"]{min-height:44px}.choice,.assignment-submit,.assignment-next-step,.assignment-next-primary{min-height:50px}.reader-toc-list button{min-height:52px}}
@media(max-width:900px){.planner-weekdays,.class-planner-grid{grid-template-columns:repeat(7,minmax(72px,1fr));overflow-x:auto}.class-planner-day{min-height:92px}.textbook-global-results article{align-items:flex-start;flex-direction:column}.engage-prompts,.facilitation-flow{grid-template-columns:1fr}}
@media(max-width:640px){.planner-weekdays,.class-planner-grid{min-width:650px}.planner-calendar-wrap{overflow-x:auto}.textbook-global-search{flex-direction:column;align-items:stretch}}
html.mx-dark .class-planner-day,html.mx-dark .textbook-global-results article,html.mx-dark .handwriting-recognized,html.mx-dark .engage-prompts>div,html.mx-dark .facilitation-flow article{background:#1e2028;color:#f5f5fa;border-color:#44495b}.mx-dark .class-planner-day.outside{background:#171920}.mx-dark .class-planner-event{background:#32295e;color:#f4f0ff;border-color:#6152a7}.mx-dark .textbook-engage-block{background:#202331!important;border-color:#4d456e!important}


/* =========================================================
   MathsExpress v8.6.3 — top bar responsive fit improvements
   ========================================================= */
.relaxed-topnav{grid-template-columns:auto minmax(0,1fr) auto!important}
.relaxed-primary-nav{min-width:0!important;max-width:100%!important}
.relaxed-top-actions{min-width:0!important;flex-wrap:nowrap!important}
.compact-top-stats{flex:0 1 auto!important;min-width:0!important}
.compact-top-stats .stat-pill{min-width:84px!important}
.ai-helper-top-button{white-space:nowrap!important}
.compact-account-chip{flex:0 1 auto!important}
.nav-more-button{flex:0 0 auto!important}
.more-nav-menu{max-width:min(320px,calc(100vw - 20px))!important}

@media(max-width:1440px){
  .relaxed-topnav{padding:8px 12px!important;gap:10px!important}
  .relaxed-brand .brand-mark{width:36px!important;height:36px!important;font-size:20px!important}
  .relaxed-brand .brand-copy strong{font-size:17px!important}
  .relaxed-primary-nav .nav-item{padding:0 10px!important;font-size:11px!important}
  .compact-top-stats .stat-pill{min-width:78px!important;padding:0 10px!important;gap:7px!important}
  .compact-top-stats .stat-pill span{font-size:8px!important}
  .compact-top-stats .stat-pill strong{font-size:14px!important}
  .ai-helper-top-button,.compact-account-chip,.nav-more-button{height:40px!important;border-radius:12px!important}
  .ai-helper-top-button{padding:0 10px!important;font-size:11px!important}
  .compact-account-chip{min-width:136px!important;max-width:150px!important;padding:0 10px!important}
  .compact-account-chip .account-dot{width:28px!important;height:28px!important;flex-basis:28px!important}
  .compact-account-chip span:not(.account-dot){font-size:12px!important}
  .nav-more-button{padding-inline:12px!important}
}

@media(max-width:1280px){
  .compact-top-stats .level-pill{display:none!important}
  .relaxed-primary-nav .nav-item{padding:0 8px!important}
  .compact-top-stats .stat-pill{min-width:72px!important;padding:0 8px!important}
  .compact-account-chip{min-width:120px!important;max-width:132px!important}
}

@media(max-width:1160px){
  .compact-top-stats{display:none!important}
  .ai-helper-top-button{display:none!important}
  .relaxed-topnav{grid-template-columns:auto minmax(0,1fr) auto!important}
  .relaxed-primary-nav{justify-content:flex-start!important}
  .compact-account-chip{min-width:112px!important;max-width:126px!important}
}

@media(max-width:980px){
  .relaxed-topnav{grid-template-columns:auto 1fr auto!important;row-gap:8px!important}
  .relaxed-primary-nav{overflow-x:auto!important}
}

/* =========================================================
   MathsExpress v8.6.4 — compact menu, owner shortcut, live study timer
   ========================================================= */
.more-nav-menu{
  max-height:calc(100vh - 86px)!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  scrollbar-width:thin;
}
.more-menu-section{padding-block:7px!important}
.more-menu-section button{min-height:34px!important;padding:7px 10px!important}
.more-menu-section>small{margin-bottom:4px!important}
.menu-player{margin-top:6px!important;padding-top:9px!important}
.owner-menu-primary{background:linear-gradient(135deg,#eee9ff,#eaf3ff)!important;color:#4d36c7!important;font-weight:900!important}

.study-timer-top,
.owner-console-top-button{
  height:40px;
  min-height:40px;
  border:1px solid #dfdaf3;
  border-radius:12px;
  background:#fff;
  color:#352d5b;
  cursor:pointer;
  box-shadow:none;
}
.study-timer-top{
  min-width:92px;
  padding:5px 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  white-space:nowrap;
}
.study-timer-top[hidden],.owner-console-top-button[hidden]{display:none!important}
.study-timer-top small{font-size:8px;font-weight:900;letter-spacing:.08em;color:#756f8d}
.study-timer-top strong{font-size:14px;font-weight:950;font-variant-numeric:tabular-nums;color:#4d36c7}
.study-timer-top.is-break{background:#f2f7ee;border-color:#d7e3cd}
.study-timer-top.is-break strong{color:#536f45}
.owner-console-top-button{padding:0 13px;font-size:11px;font-weight:900;background:#f3efff;color:#4d36c7}
.study-timer-top:hover,.owner-console-top-button:hover{box-shadow:0 4px 12px rgba(75,58,153,.08)}

@media(max-width:1280px){
  .study-timer-top{min-width:82px;padding-inline:9px}
  .owner-console-top-button{padding-inline:10px}
}
@media(max-width:1060px){
  .compact-account-chip{min-width:44px!important;width:44px!important;max-width:44px!important;padding:6px!important;justify-content:center!important}
  .compact-account-chip span:not(.account-dot),.compact-account-chip small{display:none!important}
  .study-timer-top{min-width:78px}
}
@media(max-width:760px){
  .owner-console-top-button{font-size:0;width:40px;padding:0!important}
  .owner-console-top-button::after{content:'O';font-size:12px;font-weight:950}
}

/* =========================================================
   MathsExpress v8.6.6 — check-ins, reports, templates & bank
   ========================================================= */
.skill-checkin-home{border-color:#dcd6f5!important;background:linear-gradient(145deg,#fffdf8,#f6f3ff)!important}
.skill-checkin-home .lock-note{margin:7px 0 12px;line-height:1.5}
.template-toolbar{align-items:center;flex-wrap:wrap;margin-bottom:12px}
.template-lifecycle-card{display:flex!important;align-items:center;justify-content:space-between;gap:12px;padding:12px 0!important;border-bottom:1px solid #ece5da}
.template-lifecycle-card:last-child{border-bottom:0}
.template-lifecycle-card.archived{opacity:.64}
.template-lifecycle-card>div:first-child{min-width:0;display:grid;gap:3px}
.template-lifecycle-card strong{overflow-wrap:anywhere}
.template-lifecycle-card small{color:#746e7d}
.template-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;flex:0 0 auto}
.template-author-warning{margin-top:5px;padding:6px 8px;border-radius:9px;background:#fff4d9;color:#735d21;font-size:10px;font-weight:750;line-height:1.35}
.task-report-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px}
.task-report-action-grid .btn{justify-content:center;min-height:42px;white-space:normal}
.task-report-metrics{margin-bottom:0}
.curated-bank-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.curated-bank-head h2{margin:4px 0 7px}
.curated-bank-head p{margin:0;max-width:650px;color:#6f6978;line-height:1.55}
.curated-bank-stat{min-width:150px;padding:12px 14px;border:1px solid #ded8f1;border-radius:13px;background:#f8f6ff;text-align:center}
.curated-bank-stat strong,.curated-bank-stat small{display:block}.curated-bank-stat strong{font-size:24px}.curated-bank-stat small{margin-top:3px;color:#6f6978}
.curated-year-switcher{display:flex;gap:6px;overflow-x:auto;padding:3px 0 10px;scrollbar-width:thin}
.curated-year-switcher .btn{flex:0 0 auto}
.curated-bank-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:52vh;overflow:auto;padding-right:4px}
.curated-bank-grid article{display:grid;gap:7px;padding:13px;border:1px solid #e2dced;border-radius:13px;background:#fff}
.curated-bank-grid article>strong{font-size:13px}.curated-bank-grid article>small{color:#756f80;line-height:1.4}.curated-bank-grid .simple-actions{margin-top:2px}
@media(max-width:760px){.template-lifecycle-card{align-items:flex-start;flex-direction:column}.template-actions{justify-content:flex-start}.task-report-action-grid,.curated-bank-grid{grid-template-columns:1fr}.curated-bank-head{display:grid}.curated-bank-stat{justify-self:start}}

/* =========================================================
   MathsExpress v8.7 — navigation, home assignments and teacher tools
   ========================================================= */

/* Custom loading screen. */
.mx-loading-screen{
  position:fixed;inset:0;z-index:9999;display:grid;place-items:center;
  background:linear-gradient(145deg,#f8f6ff 0%,#eef4ff 55%,#fff9ef 100%);
  opacity:1;visibility:visible;transition:opacity .28s ease,visibility .28s ease;
}
.mx-loading-screen.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.mx-loading-card{width:min(520px,calc(100vw - 34px));padding:34px;border:1px solid #ddd8f2;border-radius:28px;background:rgba(255,255,255,.92);box-shadow:0 24px 70px rgba(65,51,115,.16);text-align:center}
.mx-loading-brand{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:26px;color:#292638;font-size:22px}
.mx-loading-brand .brand-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(135deg,#704cff,#3d86f7);color:#fff;font-size:26px;font-weight:950}
.mx-train-track{position:relative;height:94px;margin:8px 0 24px;border-radius:999px;background:linear-gradient(180deg,#f4f0ff,#fbfaff);overflow:hidden;border:1px solid #e3def7}
.mx-train-track::before,.mx-train-track::after{content:"";position:absolute;left:0;right:0;height:4px;background:repeating-linear-gradient(90deg,#7868c9 0 24px,transparent 24px 38px);opacity:.35}
.mx-train-track::before{top:26px}.mx-train-track::after{bottom:26px}
.mx-train{position:absolute;top:50%;left:-260px;transform:translateY(-50%);display:flex;align-items:flex-end;gap:6px;animation:mxTrainLoop 2.8s linear infinite}
.mx-train>span{width:52px;height:48px;display:grid;place-items:center;border-radius:11px 11px 8px 8px;background:#fff;border:2px solid #6651d6;color:#503abf;font-weight:950;font-size:20px;box-shadow:0 8px 15px rgba(74,56,153,.12)}
.mx-train .mx-engine{width:62px;height:55px;background:linear-gradient(135deg,#6f4dff,#4288f8);color:#fff;border-color:transparent;border-radius:16px 14px 8px 8px}
.mx-train>span::after{content:"";position:absolute}
@keyframes mxTrainLoop{from{left:-270px}to{left:calc(100% + 25px)}}
.mx-loading-title{display:block;color:#302c40;font-size:20px;margin-bottom:5px}.mx-loading-card small{color:#756f84}
@media(prefers-reduced-motion:reduce){.mx-train{animation-duration:8s}}

/* Navigation: keep important destinations obvious. */
.school-top-button,.owner-console-top-button{height:40px!important;padding:0 12px!important;border-radius:12px!important;border:1px solid #ded8f1!important;background:#f7f5ff!important;color:#4f38c5!important;font-weight:850!important;white-space:nowrap!important}
.compact-account-chip{width:max-content!important;min-width:0!important;max-width:none!important;flex:0 0 auto!important}
.compact-account-chip span:not(.account-dot){max-width:118px!important}
@media(max-width:1260px){.school-top-button{display:none!important}.relaxed-primary-nav .nav-item{padding-inline:7px!important}}
@media(max-width:1120px){.relaxed-primary-nav [data-route="textbook"]{display:none!important}}

/* Home: Mathspace-style assigned task strip. */
.home-assigned-tasks{padding:22px!important}
.home-assigned-task-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.home-assigned-task-card{position:relative;min-width:0;display:flex;flex-direction:column;gap:12px;padding:18px;border:1px solid #e0d6c8;border-radius:18px;background:#fffdf8;box-shadow:0 6px 18px rgba(72,56,37,.05);text-align:left;color:#342f2a}
.home-assigned-task-card.test{background:linear-gradient(145deg,#343541,#3e3f50);border-color:#47495b;color:#fff}
.home-assigned-task-card .task-type-badge{align-self:flex-start;padding:6px 9px;border-radius:9px;background:#ebe6ff;color:#533bc8;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.home-assigned-task-card.test .task-type-badge{background:#dcd6ff;color:#372681}
.home-assigned-task-card h3{margin:0;font-size:18px;line-height:1.25;color:inherit}
.home-assigned-task-card p{margin:0;color:#736b62;font-size:11px;line-height:1.5}.home-assigned-task-card.test p{color:#d9d9e3}
.home-assigned-task-card .task-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto}
.home-assigned-task-card .task-meta span{padding:6px 8px;border-radius:9px;background:#f0e9de;color:#655d54;font-size:10px;font-weight:800}.home-assigned-task-card.test .task-meta span{background:rgba(255,255,255,.12);color:#fff}
.home-assigned-task-card .task-reward{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid #eee4d7;font-weight:850}.home-assigned-task-card.test .task-reward{border-top-color:rgba(255,255,255,.15)}
.home-assigned-task-card .task-reward b{color:#9a6300}.home-assigned-task-card.test .task-reward b{color:#ffd36d}
.home-assigned-task-card .btn{width:100%}
@media(max-width:920px){.home-assigned-task-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.home-assigned-task-grid{grid-template-columns:1fr}}

/* Student settings: compact, managed identity. */
.student-managed-settings{max-width:760px!important}
.student-identity-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}
.student-identity-summary>div{padding:14px 16px;border:1px solid #e1d7ca;border-radius:14px;background:#fffdf8}
.student-identity-summary small,.student-identity-summary strong{display:block}.student-identity-summary small{color:#7c736b;font-size:10px;text-transform:uppercase;font-weight:850;letter-spacing:.05em}.student-identity-summary strong{margin-top:4px;color:#322d29;font-size:15px;overflow-wrap:anywhere}
.student-username-request{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 14px;border-radius:13px;background:#f5f1ff;border:1px solid #dfd7fa;color:#5a4f79}
@media(max-width:620px){.student-identity-summary{grid-template-columns:1fr}}

/* Class cards and management controls. */
.teacher-class-card-wrap{display:grid;gap:8px;padding:14px;border:1px solid #ded3c5;border-radius:16px;background:#fffdf8;box-shadow:0 4px 14px rgba(76,56,34,.035)}
.teacher-class-card-main{width:100%;display:grid;gap:5px;text-align:left;border:0;background:transparent;color:#322d29;cursor:pointer;padding:0}
.teacher-class-card-main h3{margin:0;font-size:18px}.teacher-class-card-main p{margin:0;color:#746b61}.teacher-class-card-main small{color:#6b625a}
.teacher-class-card-actions{display:flex;gap:6px;flex-wrap:wrap;padding-top:9px;border-top:1px solid #eee5da}
.teacher-class-card-actions .btn{min-height:34px!important;padding:6px 10px!important}
.class-room-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:#eef1e6;color:#58694a;font-size:10px;font-weight:850;width:max-content}
.class-archive-pill{display:inline-flex;padding:5px 8px;border-radius:999px;background:#f2e7cf;color:#765d23;font-size:10px;font-weight:850;width:max-content}
.class-detail-hero .class-detail-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.class-detail-hero .hero-actions{display:flex!important;flex-wrap:wrap!important;gap:7px!important;align-items:center!important}
.class-management-actions{display:flex;gap:7px;flex-wrap:wrap}

/* Assignment report buttons should not create a giant vertical tower. */
.assignment-card{align-items:center!important}
.assignment-progress{min-width:0!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important}
.assignment-progress>strong,.assignment-progress>small{flex:0 0 auto}
.assignment-progress .btn{width:auto!important;min-width:0!important;margin:0!important;white-space:nowrap}
.assignment-action-row{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end;align-items:center}
.assignment-action-row .btn{width:auto!important;min-width:0!important}
@media(max-width:820px){.assignment-card{grid-template-columns:1fr!important}.assignment-progress,.assignment-action-row{justify-content:flex-start!important}}

/* Editable school settings. */
.school-settings-editor{display:grid;gap:16px}
.school-settings-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.school-settings-summary>div{padding:14px;border-radius:14px;background:#f6efe5;border:1px solid #eadfce}
.school-settings-summary small,.school-settings-summary strong{display:block}.school-settings-summary small{color:#766d64}.school-settings-summary strong{margin-top:4px;color:#302b27}
.school-settings-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.school-settings-form-grid label{display:grid;gap:6px;font-weight:800;color:#5f574f}.school-settings-form-grid input,.school-settings-form-grid select{width:100%;min-height:44px;padding:9px 11px;border:1px solid #d9cdbd;border-radius:11px;background:#fffdf8;color:#332f2a}
@media(max-width:720px){.school-settings-summary,.school-settings-form-grid{grid-template-columns:1fr}}

.ai-maker-preview{display:grid;gap:9px;margin-top:12px}
.ai-maker-question{padding:12px 14px;border:1px solid #e1d8ca;border-radius:13px;background:#fffdf8}
.ai-maker-question strong,.ai-maker-question small{display:block}.ai-maker-question small{margin-top:5px;color:#776e65}
.ai-maker-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:end}.ai-maker-toolbar label{display:grid;gap:5px;min-width:130px}

/* Longer textbook lesson blocks. */
.textbook-deep-dive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.textbook-deep-dive-grid article{padding:15px;border:1px solid #e1d6c8;border-radius:13px;background:#fffaf2}.textbook-deep-dive-grid h3{margin:0 0 8px;color:#342f2a}.textbook-deep-dive-grid p,.textbook-deep-dive-grid li{color:#665e56;line-height:1.6;font-size:11px}.textbook-deep-dive-grid ul{margin:0;padding-left:18px}
.textbook-practice-plan{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.textbook-practice-plan>div{padding:13px;border-radius:12px;background:#f2eadf}.textbook-practice-plan strong,.textbook-practice-plan small{display:block}.textbook-practice-plan small{margin-top:4px;color:#7c7268}
@media(max-width:760px){.textbook-deep-dive-grid,.textbook-practice-plan{grid-template-columns:1fr}}

/* Better visible keyboard focus without the oversized double halo seen in screenshots. */
button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none!important;box-shadow:none!important}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(109,74,255,.28)!important;outline-offset:2px!important}

/* v8.7 textbook depth + AI maker finishing styles */
.ai-maker-intro h3{margin:4px 0 7px;font-size:20px}.ai-maker-intro p{margin:0;color:#706878;line-height:1.55}.ai-maker-note{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid #ded8f1;border-radius:13px;background:#faf8ff;color:#5e576c;font-size:11px;line-height:1.5}.ai-maker-note strong{color:#4937b4;white-space:nowrap}.school-loading.compact{min-height:54px;padding:10px 0}
.textbook-content-block.textbook-practice-plan{display:block}
.textbook-practice-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.textbook-practice-plan-grid>div{position:relative;padding:16px 15px 15px 48px;border:1px solid #e1d6c8;border-radius:13px;background:#fffaf2;min-height:118px}
.textbook-practice-plan-grid>div>span{position:absolute;left:14px;top:15px;width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:#ebe6ff;color:#5038bd;font-weight:900}
.textbook-practice-plan-grid strong{display:block;color:#332e29;margin-bottom:5px}.textbook-practice-plan-grid p{margin:0;color:#665e56;line-height:1.55;font-size:11px}
.textbook-exam-tip{margin-top:12px;padding:14px 16px;border-left:4px solid #6d4aff;border-radius:12px;background:#f6f3ff}.textbook-exam-tip strong{color:#4937b4}.textbook-exam-tip p{margin:4px 0 0;color:#5f5868;line-height:1.6}
.textbook-deep-dive-grid article>strong{display:block;margin-bottom:6px;color:#342f2a}.textbook-deep-dive-grid article>p{margin:0}
@media(max-width:900px){.textbook-practice-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.textbook-practice-plan-grid{grid-template-columns:1fr}}

/* Keep teacher task actions horizontal on wide screens. */
@media(min-width:1100px){
  .teacher-dashboard .assignment-list .assignment-card{grid-template-columns:100px minmax(230px,1fr) minmax(480px,1.45fr)!important;gap:16px!important}
  .teacher-dashboard .assignment-list .assignment-progress{width:100%!important;justify-content:flex-end!important}
  .teacher-dashboard .assignment-list .assignment-action-row{width:100%!important;justify-content:flex-end!important}
}

/* =========================================================
   MathsExpress v8.7.2 — Math Chess
   ========================================================= */
.three-game-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.edu-mode-card.chess{background:linear-gradient(145deg,#fffdf8,#f1edff)!important}
.math-chess-starts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;margin-top:12px}
.math-chess-starts .btn{min-width:0;padding-inline:10px}
.math-chess-page{max-width:1280px;margin:0 auto;padding-bottom:80px}
.math-chess-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;margin:18px 0 22px}
.math-chess-top h1{margin:3px 0 0;font-size:clamp(24px,3vw,36px);letter-spacing:-.03em}
.math-chess-layout{display:grid;grid-template-columns:minmax(520px,760px) minmax(300px,1fr);gap:24px;align-items:start}
.math-chess-board{width:min(100%,720px);aspect-ratio:1;display:grid;grid-template-columns:repeat(8,1fr);border:10px solid #29263b;border-radius:22px;overflow:hidden;box-shadow:0 22px 50px rgba(47,39,88,.18);background:#29263b}
.math-chess-square{position:relative;display:grid;place-items:center;border:0;border-radius:0!important;padding:0!important;min-width:0!important;min-height:0!important;cursor:pointer;font-family:"Arial Unicode MS","Noto Sans Symbols 2",serif;transition:filter .12s ease,box-shadow .12s ease,transform .08s ease}
.math-chess-square.light{background:#f3efe8}
.math-chess-square.dark{background:#7f70b7}
.math-chess-square:hover{filter:brightness(1.06);z-index:1}
.math-chess-square>span{font-size:clamp(30px,5.2vw,62px);line-height:1;text-shadow:0 2px 2px rgba(0,0,0,.12);pointer-events:none}
.math-chess-square.selected{box-shadow:inset 0 0 0 5px #ffca47;z-index:2}
.math-chess-square.target:after{content:"";width:24%;height:24%;border-radius:50%;background:rgba(39,185,116,.78);position:absolute}
.math-chess-square.target:has(>span:not(:empty)):after{width:76%;height:76%;background:transparent;border:5px solid rgba(39,185,116,.82)}
.math-chess-square.pending{box-shadow:inset 0 0 0 4px #6d4aff}
.math-chess-square .file-label,.math-chess-square .rank-label{position:absolute;font-family:inherit;font-size:9px;font-weight:900;opacity:.62;pointer-events:none}
.math-chess-square .file-label{right:5px;bottom:3px}.math-chess-square .rank-label{left:5px;top:3px}
.math-chess-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:13px 16px;border:1px solid #ddd7ef;border-radius:14px;background:#fff;color:#373244}
.math-chess-status span{padding:5px 9px;border-radius:999px;background:#ffe2df;color:#a3302b;font-size:11px;font-weight:950;letter-spacing:.08em}
.math-chess-side{display:grid;gap:14px;position:sticky;top:86px}
.math-chess-difficulty,.math-chess-question,.math-chess-how,.math-chess-finish{border:1px solid #ddd7ef;border-radius:18px;background:#fff;padding:18px;box-shadow:0 8px 24px rgba(60,49,107,.06)}
.math-chess-difficulty{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:center}
.math-chess-difficulty small{grid-column:1;color:#716a82;font-size:9px;font-weight:900;letter-spacing:.12em}
.math-chess-difficulty strong{grid-column:1;font-size:20px;color:#4e38c6}
.math-chess-difficulty span{grid-column:2;grid-row:1/3;color:#6f6878;font-size:12px;line-height:1.45}
.math-chess-question h3{font-size:22px;line-height:1.35;margin:8px 0 16px}
.math-chess-answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.math-chess-answer-grid button{min-height:50px;border:1px solid #dcd6ec;border-radius:12px;background:#faf9ff;color:#302c3d;font-size:16px;font-weight:800;cursor:pointer}
.math-chess-answer-grid button:hover{border-color:#7d66f0;background:#f1edff}
.math-chess-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.math-chess-input-row input{min-width:0;min-height:46px;border:1px solid #d8d2e8;border-radius:12px;padding:10px 12px;font:inherit;background:#fff;color:#2f2b39}
.math-chess-feedback{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:#fff1ef;color:#8b3c35;font-size:12px;font-weight:750;line-height:1.45}
.math-chess-how h3,.math-chess-finish h2{margin:0 0 10px}.math-chess-how p{margin:5px 0;color:#655f6e;font-size:12px}.math-chess-how small{display:block;margin-top:10px;color:#847d8d;line-height:1.45}
.math-chess-finish{display:grid;gap:8px}.math-chess-finish p{margin:0 0 8px;color:#6d6677}.math-chess-finish .btn{width:100%}

html.mx-dark .math-chess-difficulty,html.mx-dark .math-chess-question,html.mx-dark .math-chess-how,html.mx-dark .math-chess-finish,html.mx-dark .math-chess-status{background:#252833!important;color:#f5f6ff!important;border-color:#4c5167!important}
html.mx-dark .math-chess-input-row input,html.mx-dark .math-chess-answer-grid button{background:#1d202b!important;color:#f5f6ff!important;border-color:#4b5064!important}

@media(max-width:1100px){.three-game-grid{grid-template-columns:1fr 1fr!important}.edu-mode-card.chess{grid-column:1/-1}.math-chess-layout{grid-template-columns:minmax(0,1fr) 320px}.math-chess-board{border-width:8px}}
@media(max-width:860px){.three-game-grid{grid-template-columns:1fr!important}.edu-mode-card.chess{grid-column:auto}.math-chess-layout{grid-template-columns:1fr}.math-chess-side{position:static}.math-chess-top{grid-template-columns:auto 1fr}.math-chess-top .game-time-bank{grid-column:1/-1}.math-chess-board{width:100%;margin:0 auto}}
@media(max-width:560px){.math-chess-page{padding-inline:10px}.math-chess-board{border-width:5px;border-radius:14px}.math-chess-square>span{font-size:clamp(26px,10vw,44px)}.math-chess-answer-grid,.math-chess-starts{grid-template-columns:1fr}.math-chess-input-row{grid-template-columns:1fr}.math-chess-top{gap:10px}.math-chess-top h1{font-size:22px}}

/* =========================================================
   MathsExpress v8.7.3 — Math Chess board + full rules polish
   ========================================================= */
.math-chess-layout{grid-template-columns:minmax(460px,680px) minmax(300px,1fr)!important;gap:28px!important}
.math-chess-board{
  width:min(100%,660px)!important;
  aspect-ratio:1/1!important;
  display:grid!important;
  grid-template-columns:repeat(8,minmax(0,1fr))!important;
  grid-template-rows:repeat(8,minmax(0,1fr))!important;
  border:8px solid #29263b!important;
  border-radius:18px!important;
  overflow:hidden!important;
  margin:0 auto!important;
  background:#29263b!important;
}
.math-chess-square{
  aspect-ratio:1/1!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  isolation:isolate!important;
  font-family:Georgia,"Times New Roman",serif!important;
}
.math-chess-square.light{background:#f3efe7!important}
.math-chess-square.dark{background:#8273b8!important}
.math-chess-piece{
  position:relative!important;
  z-index:3!important;
  display:block!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(34px,4.4vw,58px)!important;
  line-height:1!important;
  transform:translateY(-1px)!important;
  text-shadow:none!important;
  pointer-events:none!important;
}
.math-chess-piece.white-piece{
  color:#faf8f1!important;
  -webkit-text-stroke:1.35px #282630;
  paint-order:stroke fill;
  text-shadow:0 2px 1px rgba(0,0,0,.18)!important;
}
.math-chess-piece.black-piece{
  color:#27242d!important;
  -webkit-text-stroke:.35px #111018;
  paint-order:stroke fill;
  text-shadow:0 1px 1px rgba(255,255,255,.12)!important;
}
.math-chess-square.selected{box-shadow:inset 0 0 0 5px #ffc53d!important;z-index:2}
.math-chess-square.last-move:not(.selected){box-shadow:inset 0 0 0 4px rgba(255,211,84,.58)!important}
.math-chess-square.target:after{
  content:""!important;
  position:absolute!important;
  z-index:1!important;
  width:24%!important;
  height:24%!important;
  border-radius:50%!important;
  background:rgba(35,178,111,.76)!important;
  pointer-events:none!important;
}
.math-chess-square.target:has(.math-chess-piece:not(:empty)):after{
  width:78%!important;
  height:78%!important;
  background:transparent!important;
  border:5px solid rgba(35,178,111,.78)!important;
  box-sizing:border-box!important;
}
.math-chess-square .file-label,.math-chess-square .rank-label{z-index:4!important;font-size:9px!important;font-family:Arial,sans-serif!important;font-weight:900!important;opacity:.8!important}
.math-chess-square.light .file-label,.math-chess-square.light .rank-label{color:#625b52!important}
.math-chess-square.dark .file-label,.math-chess-square.dark .rank-label{color:#f4efff!important}
.math-chess-promotion h3{margin-bottom:12px!important}
.math-chess-promotion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.math-chess-promotion-grid button{min-height:68px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #dcd6ec;border-radius:12px;background:#faf9ff;color:#302c3d;font-weight:850;cursor:pointer}
.math-chess-promotion-grid button:hover{border-color:#765ee8;background:#f0ecff}
.math-chess-promotion-grid button span{font-family:Georgia,"Times New Roman",serif;font-size:30px;color:#292632}
.math-chess-how p{line-height:1.45!important}

@media(max-width:1100px){.math-chess-layout{grid-template-columns:minmax(0,1fr) 310px!important}.math-chess-board{width:min(100%,620px)!important}}
@media(max-width:860px){.math-chess-layout{grid-template-columns:1fr!important}.math-chess-board{width:min(100%,620px)!important}.math-chess-side{position:static!important}}
@media(max-width:560px){.math-chess-board{border-width:5px!important;border-radius:12px!important}.math-chess-piece{font-size:clamp(28px,10vw,46px)!important}.math-chess-promotion-grid{grid-template-columns:1fr 1fr}}


/* v8.7.5 — unlimited assignment retries */
.home-task-actions,.history-card-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.history-card-actions{margin-top:8px}
.unlimited-attempts-note{display:grid;gap:3px;padding:10px 12px;border:1px solid #ded8f1;border-radius:12px;background:#faf8ff;align-content:center}
.unlimited-attempts-note small{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#77728f;font-weight:850}
.unlimited-attempts-note strong{font-size:15px;color:#4d36c7}
.unlimited-attempts-note span{font-size:10px;color:#625e6d;line-height:1.4}


/* =========================================================
   MathsExpress v8.7.6 — remove repeated full-page flashing
   ========================================================= */
/* Pages are re-rendered for many small interactions (chess square selection,
   answer state changes, filters, etc.). Replaying the pageIn opacity animation
   on every render caused a bright white flash. Keep route interactions stable. */
.page{animation:none!important}

/* Correct/wrong feedback is already shown next to the question. Avoid a
   full-viewport overlay flash that can feel distracting during rapid practice. */
body.answer-flash-correct::after,
body.answer-flash-wrong::after{display:none!important;animation:none!important}

/* Keep component feedback smooth without fading the whole application. */
.math-chess-square,.choice,.btn,.answer-input,.working-input{transition-duration:.12s!important}

/* MathsExpress v8.7.7 — strict test mode + stable AI assignment status */
.assignment-test-mode-banner{
  position:sticky;
  top:62px;
  z-index:9;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:8px 14px;
  border-bottom:1px solid #e0d7b8;
  background:#fff7d9;
  color:#5a4a1f;
  font-size:11px;
  line-height:1.35;
}
.assignment-test-mode-banner strong{font-size:10px;letter-spacing:.08em}
.assignment-side-rail.test-locked button.locked{opacity:.62;cursor:not-allowed}
.school-error.compact{padding:14px 16px;border:1px solid #efc9c9;border-radius:13px;background:#fff4f4;color:#6b3434}
.school-error.compact strong,.school-error.compact p{display:block;margin:0}
.school-error.compact p{margin-top:5px;font-size:11px;line-height:1.45}
.assignment-step-marker.test-rough-work .assignment-step-entry.test-only{grid-template-columns:1fr!important}
.assignment-step-marker.test-rough-work input{min-height:48px}


/* =========================================================
   MathsExpress v8.7.8 — curriculum coverage + assignment creator polish
   ========================================================= */
.assignment-builder-modal{width:min(920px,calc(100vw - 28px))!important;max-height:calc(100vh - 34px)!important;overflow:auto!important}
.assignment-builder-form{display:grid!important;gap:14px!important;padding-top:4px}
.assignment-builder-form>label,.assignment-builder-grid>label{display:grid;gap:6px;font-weight:850;color:#413c48}
.assignment-builder-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.assignment-builder-form select,.assignment-builder-form input{width:100%;min-height:46px;padding:10px 12px;border:1px solid #d8d1e8;border-radius:12px;background:#fff;color:#302d3c;font:inherit}
.assignment-builder-form .field-help{font-size:10px;font-weight:650;color:#706a7a;line-height:1.45}
.assignment-type-reference{padding:13px 14px;border:1px solid #e0daf3;border-radius:14px;background:#faf8ff;display:grid;gap:9px}
.assignment-type-reference>strong{font-size:12px;color:#4939a8}
.assignment-type-reference>div{display:flex;flex-wrap:wrap;gap:6px}
.assignment-type-reference span{padding:6px 9px;border:1px solid #e1dcf2;border-radius:999px;background:#fff;color:#554d66;font-size:9px;font-weight:800;line-height:1.2}
.curriculum-task-filters{align-items:end!important}
.curriculum-task-filters select,.curriculum-task-filters input{min-width:0!important}
.task-library-card{height:auto!important;min-height:210px}
.task-card-actions{display:flex!important;gap:7px!important;flex-wrap:wrap!important}
.task-card-actions .btn{flex:1 1 110px!important}
@media(max-width:760px){.assignment-builder-grid,.assignment-builder-form .form-two{grid-template-columns:1fr!important}.assignment-builder-modal{width:calc(100vw - 16px)!important}}

/* =========================================================
   MathsExpress v8.7.8 — compact professional Home + answer controls
   ========================================================= */
.home-overview-bar{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,320px);gap:22px;align-items:center;
  margin:18px 0 16px;padding:20px 22px;border:1px solid #ddd8ef;border-radius:18px;
  background:#fff;box-shadow:0 6px 20px rgba(57,47,99,.045)
}
.home-overview-bar h1{margin:4px 0 5px;font-size:clamp(25px,3vw,34px);letter-spacing:-.035em;color:#2d2932}
.home-overview-bar p{margin:0;max-width:680px;color:#6d6875;line-height:1.5;font-size:13px}
.home-overview-progress{display:grid;gap:7px;padding:12px 13px;border:1px solid #e5e0f1;border-radius:13px;background:#faf9ff}
.home-overview-progress>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;color:#696274}
.home-overview-progress>div:first-child strong{font-size:13px;color:#373044}
.home-overview-progress small{color:#787181;font-size:9px}
.relaxed-home{padding-top:8px!important}
.relaxed-home-layout{gap:14px!important}
.home-main-column,.home-side-column{gap:14px!important}
.home-learning-path{padding:20px 22px!important;border-radius:17px!important;box-shadow:0 5px 16px rgba(65,54,108,.04)!important}
.calm-section,.calm-side-card{border-radius:16px!important;box-shadow:0 4px 14px rgba(65,54,108,.035)!important}
.home-assigned-tasks{padding:18px!important}

/* Keep ordinary answer entry compact. Large formats such as choices, matching,
   graphs and written reasoning retain their own dedicated layouts. */
.assignment-current-step:not(.choice-step){grid-template-columns:18px minmax(0,460px)!important;max-width:520px!important;margin-top:22px!important}
.assignment-answer-control>input#lesson-answer.answer-input{width:min(380px,100%)!important;min-height:44px!important;height:44px!important;padding:8px 12px!important;font-size:16px!important;border-radius:9px!important}
.assignment-answer-control .coordinate-answer{max-width:390px!important}
.assignment-answer-control .table-question-wrap{max-width:520px!important}
.assignment-answer-control .multi-part-answer,.assignment-answer-control .matching-answer,.assignment-answer-control .drag-drop-answer,.assignment-answer-control .graph-answer-wrap{width:min(720px,calc(100vw - 180px))!important;max-width:720px!important}
.assignment-answer-control textarea#lesson-answer.written-answer{width:min(720px,calc(100vw - 180px))!important;max-width:720px!important;min-height:150px!important}

/* Number line: custom browser-independent track instead of the stretched dark
   native range control that appeared on some Chrome/macOS combinations. */
.assignment-workspace .number-line-answer{width:min(560px,100%)!important;margin:4px 0!important;padding:14px 16px!important;border:1px solid #ddd8ea!important;border-radius:14px!important;background:#fff!important}
.number-line-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;color:#686271;font-size:11px;font-weight:750}
.number-line-top strong{min-width:44px;padding:5px 9px;border-radius:9px;background:#eeeaff;color:#4d35bd;text-align:center;font-size:16px}
.number-line-control{display:grid;grid-template-columns:36px minmax(180px,1fr) 36px;gap:10px;align-items:center}
.number-line-step{width:36px;height:36px;border:1px solid #d9d2e9;border-radius:10px;background:#faf9ff;color:#4d39b7;font-size:20px;font-weight:850;cursor:pointer}
.number-line-step:hover{background:#f0edff;border-color:#9e8ced}
.number-line-track-wrap{min-width:0}
.assignment-workspace .number-line-answer input[type=range]{
  -webkit-appearance:none!important;appearance:none!important;width:100%!important;height:8px!important;margin:8px 0!important;padding:0!important;
  border:0!important;border-radius:999px!important;background:linear-gradient(90deg,#6950e9,#3f88ee)!important;box-shadow:inset 0 0 0 1px rgba(62,49,128,.10)!important;outline:none!important
}
.assignment-workspace .number-line-answer input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none!important;appearance:none!important;width:22px!important;height:22px!important;border:3px solid #fff!important;border-radius:50%!important;background:#5b43dc!important;box-shadow:0 2px 8px rgba(47,35,116,.3)!important;cursor:grab!important
}
.assignment-workspace .number-line-answer input[type=range]::-moz-range-thumb{width:18px!important;height:18px!important;border:3px solid #fff!important;border-radius:50%!important;background:#5b43dc!important;box-shadow:0 2px 8px rgba(47,35,116,.3)!important;cursor:grab!important}
.number-line-labels{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;margin-top:3px!important;color:#77717e!important;font-size:9px!important;font-weight:750!important}
.number-line-labels span:nth-child(2){text-align:center}.number-line-labels span:last-child{text-align:right!important}

@media(max-width:760px){
  .home-overview-bar{grid-template-columns:1fr;padding:17px}
  .assignment-current-step:not(.choice-step){grid-template-columns:14px minmax(0,1fr)!important;max-width:none!important;margin-left:38px!important}
  .assignment-answer-control>input#lesson-answer.answer-input{width:100%!important}
  .assignment-answer-control .multi-part-answer,.assignment-answer-control .matching-answer,.assignment-answer-control .drag-drop-answer,.assignment-answer-control .graph-answer-wrap,.assignment-answer-control textarea#lesson-answer.written-answer{width:100%!important}
  .number-line-control{grid-template-columns:32px minmax(0,1fr) 32px;gap:7px}.number-line-step{width:32px;height:32px}
}

/* =========================================================
   MathsExpress v8.7.9 — minimalist home dashboard
   ========================================================= */
.minimal-home{max-width:1180px;margin:0 auto;padding:28px 22px 80px!important}
.minimal-home-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:6px 0 24px;padding:0 2px}
.minimal-home-header h1{margin:4px 0 4px;font-size:clamp(30px,4vw,44px);letter-spacing:-.035em;color:#2d2933}
.minimal-home-header p{margin:0;color:#726d78;font-size:14px}
.minimal-header-stats{display:flex;align-items:center;gap:8px}
.minimal-header-stats>div{min-width:92px;padding:11px 13px;border:1px solid #e3dfec;border-radius:14px;background:#fff;text-align:center}
.minimal-header-stats strong,.minimal-header-stats span{display:block}.minimal-header-stats strong{font-size:19px;color:#312b43}.minimal-header-stats span{margin-top:2px;font-size:9px;color:#7d7788;text-transform:uppercase;font-weight:850;letter-spacing:.04em}
.minimal-home-section{margin:0 0 16px;padding:20px;border:1px solid #e1dde9;border-radius:18px;background:#fff;box-shadow:0 5px 18px rgba(61,46,110,.035)}
.minimal-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.minimal-section-heading h2{margin:3px 0 0;font-size:22px;letter-spacing:-.02em;color:#312d37}
.minimal-home-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:16px}
.minimal-home-grid>.minimal-home-section{margin-bottom:16px}
.minimal-continue-card>p,.minimal-game-card>p{margin:0 0 14px;color:#746f7b;line-height:1.5}
.minimal-progress-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin:14px 0}
.minimal-progress-row small{color:#766f80;font-size:10px;font-weight:750;white-space:nowrap}
.minimal-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.minimal-actions .btn{min-height:38px;padding:0 14px;border-radius:11px}
.minimal-school-link{display:flex;justify-content:flex-end;padding:3px 4px}

.home-assigned-task-grid{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
.minimal-task-card{display:grid!important;grid-template-columns:42px minmax(0,1fr) auto auto!important;align-items:center!important;gap:14px!important;min-height:84px!important;margin:0!important;padding:13px 14px!important;border:1px solid #e5e1ea!important;border-radius:15px!important;background:#fff!important;box-shadow:none!important}
.minimal-task-card.test{background:#fbfaff!important;border-color:#ddd5ff!important}
.minimal-task-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#f0edff;color:#6047d8;font-weight:950;font-size:15px}
.minimal-task-copy{min-width:0}.minimal-task-copy h3{margin:5px 0 2px;font-size:15px;color:#302c35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.minimal-task-copy p{margin:0;color:#7a7480;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.minimal-task-title-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.minimal-task-title-row .task-type-badge{padding:3px 7px;border-radius:999px;background:#f2effa;color:#64587e;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.minimal-task-due{font-size:9px;font-weight:800;color:#716b77}.minimal-task-due.overdue{color:#a44343}
.minimal-task-reward{min-width:72px;padding:7px 10px;border-radius:11px;background:#fbf7ec;text-align:center}.minimal-task-reward small,.minimal-task-reward strong{display:block}.minimal-task-reward small{font-size:8px;color:#8a7f69;text-transform:uppercase;font-weight:850}.minimal-task-reward strong{margin-top:2px;font-size:12px;color:#805f10}
.minimal-task-action>.btn,.minimal-task-actions .btn{min-height:34px;padding:0 11px;border-radius:10px;font-size:10px}.minimal-task-actions{display:flex;gap:6px}

.minimal-skill-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.minimal-skill-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 26px;align-items:center;gap:10px;padding:14px 15px;border:1px solid #e4e0e8;border-radius:14px;background:#fff;color:#332f38;text-align:left;cursor:pointer}.minimal-skill-row:hover{border-color:#cbc0f3;background:#fcfbff}.minimal-skill-row strong,.minimal-skill-row small{display:block}.minimal-skill-row strong{font-size:13px}.minimal-skill-row small{margin-top:4px;color:#817b86;font-size:9px}.minimal-skill-row>span{color:#684ce1;font-size:18px;font-weight:900;text-align:right}

@media(max-width:900px){.minimal-home-header{align-items:flex-start;flex-direction:column}.minimal-header-stats{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.minimal-header-stats>div{min-width:0}.minimal-home-grid{grid-template-columns:1fr}.minimal-task-card{grid-template-columns:40px minmax(0,1fr) auto!important}.minimal-task-reward{display:none}.minimal-task-action{grid-column:2/-1}.minimal-task-action>.btn,.minimal-task-actions{width:max-content}}
@media(max-width:620px){.minimal-home{padding:20px 14px 70px!important}.minimal-home-section{padding:16px}.minimal-header-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.minimal-header-stats>div{padding:9px 7px}.minimal-skill-list{grid-template-columns:1fr}.minimal-task-card{grid-template-columns:38px minmax(0,1fr)!important}.minimal-task-action{grid-column:1/-1}.minimal-task-action>.btn,.minimal-task-actions{width:100%}.minimal-task-actions .btn{flex:1}.minimal-task-copy h3{white-space:normal}}

html.mx-dark .minimal-home-section,html.mx-dark .minimal-header-stats>div,html.mx-dark .minimal-task-card,html.mx-dark .minimal-skill-row{background:#232631!important;border-color:#3c4050!important;color:#f4f4fb!important}html.mx-dark .minimal-home-header h1,html.mx-dark .minimal-section-heading h2,html.mx-dark .minimal-task-copy h3,html.mx-dark .minimal-skill-row strong{color:#f5f5fb!important}html.mx-dark .minimal-home-header p,html.mx-dark .minimal-task-copy p,html.mx-dark .minimal-skill-row small{color:#bfc2cf!important}


/* v8.7.10 startup fail-safe: the decorative loader must never trap the app forever. */
.mx-loading-screen{animation:mxLoaderFailsafe .25s ease 7s forwards}
.mx-loading-screen.is-hidden{animation:none!important}
@keyframes mxLoaderFailsafe{to{opacity:0;visibility:hidden;pointer-events:none}}

/* v9.0 public compliance footer */
.mx-public-footer{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding:16px 24px 22px;font-size:12px;color:var(--muted,#6b7280)}
.mx-public-footer a{color:inherit;text-decoration:none;font-weight:700}.mx-public-footer a:hover,.mx-public-footer a:focus{text-decoration:underline}
.mx-public-footer span{opacity:.8}

/* MathsExpress v9.3 — minimal class-first experience */
:root{--mx-card-radius:20px;--mx-soft-border:rgba(62,53,44,.13);--mx-soft-shadow:0 10px 30px rgba(39,31,24,.05)}
.relaxed-main-shell{max-width:1280px;margin:0 auto;width:100%}
#app-view,.school-page,.student-hub-page,.learn-page{min-width:0}
.card,.school-section,.class-hub-card,.learn-recommend-card,.assignment-card{box-shadow:var(--mx-soft-shadow);border-radius:var(--mx-card-radius)}
.teacher-tab-row,.school-tabs,.teacher-command-bar,.simple-tabs{max-width:100%;overflow-x:auto;scrollbar-width:none;white-space:nowrap}
.teacher-tab-row::-webkit-scrollbar,.school-tabs::-webkit-scrollbar,.teacher-command-bar::-webkit-scrollbar{display:none}
.school-tab-overview .school-maths-tools,.school-tab-staff .school-maths-tools,.school-tab-students .school-maths-tools,.school-tab-curriculum .school-maths-tools,.school-tab-settings .school-maths-tools{display:none!important}
.school-section h1,.school-section h2,.school-section h3,.class-hub-card h2,.class-hub-card h3,.learn-recommend-card h2,.learn-recommend-card h3{overflow-wrap:anywhere}
.assignment-copy,.assignment-card>*{min-width:0}.assignment-copy strong{display:block;overflow-wrap:anywhere}
.points-pill{background:linear-gradient(135deg,#fff8db,#fffdf5);border-color:#ead89a}.points-pill strong{font-variant-numeric:tabular-nums}
.teacher-create-anywhere{position:fixed;right:24px;bottom:24px;z-index:90;border:0;border-radius:999px;padding:13px 18px;font-weight:800;color:white;background:linear-gradient(135deg,#6547ff,#3885f7);box-shadow:0 12px 30px rgba(74,75,220,.28);cursor:pointer}
.teacher-create-anywhere:hover{transform:translateY(-1px)}
.class-hub-page{display:grid;gap:18px}.class-hub-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:24px;background:var(--panel,#fff);border:1px solid var(--mx-soft-border);border-radius:var(--mx-card-radius)}
.class-hub-hero h1{margin:.25rem 0}.class-hub-points{text-align:right;min-width:140px}.class-hub-points strong{font-size:2rem;display:block}.class-hub-points small{display:block;opacity:.7}
.class-hub-tabs{display:flex;gap:8px;overflow:auto}.class-hub-tabs button{border:0;background:transparent;padding:10px 15px;border-radius:999px;font-weight:800;cursor:pointer}.class-hub-tabs button.active{background:var(--panel,#fff);box-shadow:0 2px 12px rgba(0,0,0,.06)}
.class-hub-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);gap:18px}.class-hub-main,.class-hub-side{display:grid;gap:16px;align-content:start}.class-hub-card{background:var(--panel,#fff);border:1px solid var(--mx-soft-border);padding:20px;min-width:0}.class-hub-card-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.class-hub-card-header h2,.class-hub-card-header h3{margin:0}
.class-game-card,.class-announcement,.class-task-row{border:1px solid var(--mx-soft-border);border-radius:16px;padding:14px;background:rgba(255,255,255,.55);margin-top:10px}.class-game-card{display:flex;justify-content:space-between;gap:12px;align-items:center}.class-announcement>div{display:flex;justify-content:space-between;gap:10px}.class-announcement span{font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.class-announcement h3{margin:.45rem 0}.class-announcement p{margin:0;white-space:pre-wrap}.class-empty{padding:14px;border:1px dashed var(--mx-soft-border);border-radius:14px;opacity:.75}
.expedition-progress{height:10px;background:rgba(0,0,0,.08);border-radius:999px;overflow:hidden;margin:12px 0}.expedition-progress>i{display:block;height:100%;background:linear-gradient(90deg,#6547ff,#3f8df9);border-radius:inherit}.class-meta-list{display:grid;gap:9px}.class-meta-list>div{display:flex;justify-content:space-between;gap:12px}.class-switch{max-width:260px}
.learn-page{display:grid;gap:18px}.learn-recommend-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.75fr);gap:18px}.learn-recommend-card{background:var(--panel,#fff);border:1px solid var(--mx-soft-border);padding:22px}.learn-recommend-card.primary{background:linear-gradient(145deg,rgba(101,71,255,.08),rgba(56,133,247,.06)),var(--panel,#fff)}.learn-mode-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.learn-mode-grid button,.learn-skill-card{background:var(--panel,#fff);border:1px solid var(--mx-soft-border);border-radius:16px;padding:15px;text-align:left}.learn-mode-grid button{cursor:pointer}.learn-mode-grid strong{display:block}.learn-mode-grid small{opacity:.7}.learn-skill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.learn-skill-card{display:flex;justify-content:space-between;gap:12px;align-items:center}.learn-master{font-weight:900;white-space:nowrap}
.task-report-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.task-report-tabs button{border:1px solid var(--mx-soft-border);background:transparent;border-radius:999px;padding:9px 14px;font-weight:800;cursor:pointer}.task-report-tabs button.active{background:#191713;color:white}.task-question-list{display:grid;gap:10px}.task-question-row{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(64px,.35fr)) auto;gap:10px;align-items:center;border:1px solid var(--mx-soft-border);border-radius:14px;padding:12px}.task-question-row>span{text-align:center}.task-question-status{display:flex;height:7px;border-radius:999px;overflow:hidden;background:#eee;margin-top:7px}.task-question-status i{height:100%}.task-question-status .correct{background:#2e9d67}.task-question-status .partial{background:#d5a72d}.task-question-status .incorrect{background:#cf5b5b}.task-grid-scroll{overflow:auto;max-width:100%}.task-grid-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}.task-grid-table th,.task-grid-table td{border-right:1px solid var(--mx-soft-border);border-bottom:1px solid var(--mx-soft-border);padding:9px;text-align:center;min-width:58px}.task-grid-table th:first-child,.task-grid-table td:first-child{position:sticky;left:0;background:var(--panel,#fff);z-index:1;text-align:left;min-width:160px}.report-status-correct{color:#19794e}.report-status-partial{color:#9d7411}.report-status-incorrect{color:#b43d3d}
.engagement-compass-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.engagement-compass-grid article{padding:18px;border:1px solid var(--mx-soft-border);border-radius:18px;text-align:center}.engagement-compass-grid strong{display:block;font-size:1.8rem}.standards-list{display:grid;gap:9px;max-height:54vh;overflow:auto}.standards-row{display:grid;grid-template-columns:minmax(0,1.4fr) 90px 100px 100px 100px;gap:8px;align-items:center;padding:10px;border-bottom:1px solid var(--mx-soft-border)}
@media(max-width:900px){.class-hub-grid,.learn-recommend-hero{grid-template-columns:1fr}.learn-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.class-hub-hero{flex-direction:column}.class-hub-points{text-align:left}.teacher-create-anywhere{right:14px;bottom:14px}.task-question-row{grid-template-columns:1fr 1fr}.task-question-row>span{text-align:left}.engagement-compass-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.learn-mode-grid,.learn-skill-grid{grid-template-columns:1fr}.compact-top-stats .stat-pill.level-pill{display:none}.class-hub-hero{padding:18px}.class-hub-card{padding:16px}.standards-row{grid-template-columns:1fr 1fr}.teacher-create-anywhere{padding:11px 14px}}
/* v9.3 Class Hub component names */
.minimal-class-hub{display:grid;gap:16px}.class-hub-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px;background:var(--panel,#fff);border:1px solid var(--mx-soft-border);border-radius:var(--mx-card-radius);box-shadow:var(--mx-soft-shadow)}.class-title-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.class-title-line h1{margin:.2rem 0;overflow-wrap:anywhere}.class-hub-select{border:1px solid var(--mx-soft-border);background:var(--panel,#fff);border-radius:12px;padding:8px 10px;font:inherit;max-width:260px}.class-points-card{min-width:160px;border:1px solid #ead89a;background:#fff9df;border-radius:16px;padding:14px 16px;text-align:right}.class-points-card small,.class-points-card span{display:block}.class-points-card strong{display:block;font-size:2rem;line-height:1.1;margin:4px 0}.class-points-card span{font-size:.78rem;opacity:.72}.minimal-class-hub .class-hub-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:16px}.minimal-class-hub .class-hub-grid>main,.minimal-class-hub .class-hub-grid>aside{display:grid;gap:16px;align-content:start;min-width:0}.class-hub-section,.class-side-card{background:var(--panel,#fff);border:1px solid var(--mx-soft-border);border-radius:var(--mx-card-radius);padding:18px;box-shadow:var(--mx-soft-shadow);min-width:0}.class-section-head,.class-expedition-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.class-section-head h2,.class-expedition-head h3{margin:.2rem 0}.class-live-game-card{display:flex;width:100%;align-items:center;gap:12px;text-align:left;border:1px solid rgba(83,80,181,.16);background:linear-gradient(135deg,rgba(101,71,255,.08),rgba(56,133,247,.05));padding:14px;border-radius:15px;cursor:pointer;margin-top:10px}.class-live-game-card>div{flex:1;min-width:0}.class-live-game-card strong,.class-live-game-card small{display:block}.live-dot{width:10px;height:10px;border-radius:50%;background:#34a36f;box-shadow:0 0 0 5px rgba(52,163,111,.12);flex:none}.class-hub-empty{padding:13px;border:1px dashed var(--mx-soft-border);border-radius:14px;opacity:.72}.class-details-list{display:grid;gap:8px;margin:12px 0 0}.class-details-list>div{display:flex;justify-content:space-between;gap:12px}.class-details-list dt{opacity:.68}.class-details-list dd{margin:0;font-weight:800;text-align:right}.class-side-card>article{padding:10px 0;border-top:1px solid var(--mx-soft-border)}.class-activity-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 18px}.class-activity-summary article{border:1px solid var(--mx-soft-border);border-radius:14px;padding:14px}.class-activity-summary strong,.class-activity-summary span{display:block}.class-activity-summary strong{font-size:1.45rem}.class-history-block{margin-top:22px}.class-empty-large{padding:34px;text-align:center}.progress-track{overflow:hidden}
@media(max-width:900px){.minimal-class-hub .class-hub-grid{grid-template-columns:1fr}.class-hub-header{flex-direction:column}.class-points-card{text-align:left}.class-activity-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.class-activity-summary{grid-template-columns:1fr 1fr}.class-hub-header,.class-hub-section,.class-side-card{padding:15px}}

/* v9.3 minimal school/student polish */
:root{--mx-content-max:1480px;--mx-card-radius:18px;--mx-soft-shadow:0 5px 18px rgba(42,35,26,.045)}
.relaxed-main-shell{max-width:var(--mx-content-max);margin-inline:auto;width:100%}
.page{min-width:0}.school-page,.class-hub-page,.curriculum-learn-page{gap:16px!important}
.school-hub-head,.school-section,.class-hub-header,.class-hub-section,.class-side-card,.learn-recommended-panel{box-shadow:var(--mx-soft-shadow)!important}
.school-hub-head{padding:18px 22px!important}.school-hub-head h1{margin:.2rem 0!important}
.school-section-tabs{margin:0!important;padding:5px!important;gap:4px!important;flex-wrap:nowrap!important;overflow-x:auto!important;scrollbar-width:none}
.school-section-tabs::-webkit-scrollbar{display:none}.school-section-tabs button{white-space:nowrap;padding:9px 13px!important}
.minimal-teacher-tools{display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:8px!important;margin:0!important;background:transparent!important;border:0!important;padding:0!important}
.minimal-teacher-tools .teacher-command-bar{display:flex!important;background:transparent!important;padding:0!important;border:0!important;box-shadow:none!important}.minimal-teacher-tools .teacher-command-bar button{border:1px solid var(--mx-soft-border)!important;background:var(--panel,#fff)!important;border-radius:12px!important;padding:10px 14px!important}
.teacher-more-button{border-radius:12px!important}.teacher-more-menu{max-height:min(70vh,520px);overflow:auto}
.learn-recommended-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.learn-recommended-grid button{min-height:86px!important;text-align:left!important;padding:14px!important}
.learn-recommended-panel{padding:20px!important}.curriculum-head{margin-bottom:0!important}
.class-announcement{background:var(--panel,#fff)!important}.class-live-game-card{transition:transform .12s ease,box-shadow .12s ease}.class-live-game-card:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(74,75,220,.08)}
.assignment-card{min-width:0}.assignment-copy{min-width:0}.assignment-copy strong,.assignment-copy small{overflow-wrap:anywhere}
.task-library-grid,.curriculum-skill-grid,.report-launch-grid{align-items:stretch}.task-library-grid>*{min-width:0}
@media(max-width:1100px){.learn-recommended-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.school-hub-head{flex-direction:column!important;align-items:flex-start!important}.school-switcher{width:100%;justify-content:flex-start!important}}
@media(max-width:640px){.learn-recommended-grid{grid-template-columns:1fr!important}.school-section-tabs{margin-inline:-4px!important}.school-hub-head,.school-section,.class-hub-header,.class-hub-section,.class-side-card,.learn-recommended-panel{padding:15px!important}.teacher-create-anywhere{right:12px!important;bottom:12px!important}}

/* v9.3 final minimal teacher layout */
.school-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.school-head-actions>select{min-height:42px;border:1px solid var(--mx-soft-border);border-radius:12px;background:var(--panel,#fff);padding:8px 10px;font:inherit}
.compact-teacher-tools{position:relative}.compact-teacher-tools .teacher-more-menu{right:0;left:auto;min-width:210px}
.school-page .school-section{overflow:hidden}.school-student-table,.assignment-list,.teacher-class-grid{min-width:0}
.school-table-row>*{min-width:0;overflow-wrap:anywhere}.school-table-row small{word-break:break-word}
@media(max-width:760px){.school-head-actions{width:100%;justify-content:flex-start}.school-head-actions>.btn,.compact-teacher-tools{flex:1 1 auto}.compact-teacher-tools>.btn{width:100%}}

/* v9.3.5 classroom games: shared-state, two-team, compact live layout */
.class-game-page{max-width:1440px;margin:0 auto;padding:24px 28px 48px}
.class-game-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}
.class-game-head h1{margin:5px 0 4px;font-size:clamp(30px,4vw,48px);line-height:1.02}
.class-game-head p{margin:0;max-width:820px;color:var(--muted,#746d61);font-size:15px}
.class-game-shell{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(320px,.75fr);gap:18px;align-items:start}
.class-game-main{min-width:0}
.class-game-arena{min-height:330px;border-radius:24px;background:#f8f8fb;color:#24242a;display:block;padding:18px;border:1px solid #e4e4ec;overflow:hidden;box-shadow:0 8px 28px rgba(34,34,70,.06)}
.class-game-sidebar{position:sticky;top:92px;display:grid;gap:12px;min-width:0}
.class-game-question{margin-top:16px;padding:20px;border:1px solid #e7e1d7;border-radius:22px;background:#fffdf9;box-shadow:0 7px 24px rgba(58,48,38,.05)}
.class-game-question-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px}
.class-game-question-head h2{font-size:20px;margin:4px 0 0}
.class-game-event{max-width:420px;text-align:right;font-size:12px;font-weight:700;color:#746d61;background:#f5f1ea;border-radius:999px;padding:8px 12px}
.class-game-maths h3{font-size:clamp(25px,3vw,36px);margin:14px 0 18px}
.class-game-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.class-game-choice{min-height:56px;padding:12px 16px;text-align:left;border:1px solid #ddd5c8;border-radius:14px;background:#fff;cursor:pointer;font:inherit;font-weight:750;color:#292621;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}
.class-game-choice:hover:not(:disabled){transform:translateY(-1px);border-color:#6b64f4;box-shadow:0 6px 18px rgba(88,80,220,.12)}
.class-game-choice:disabled{opacity:.58;cursor:default}
.class-game-finished{padding:22px;border-radius:16px;background:#f4f2ff;text-align:center}
.class-game-finished strong{display:block;font-size:22px;margin-bottom:5px}
.class-game-winner{display:flex;justify-content:center;align-items:center;gap:10px;margin-bottom:12px;padding:10px 14px;border-radius:14px;background:#24242a;color:white}
.class-game-winner strong{font-size:18px}.class-game-winner span{font-size:12px;opacity:.75}
.game-instruction{text-align:center;margin-top:14px;font-size:12px;font-weight:700;color:#6e6c74}
.team-match-score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-bottom:14px}
.team-score,.team-name{display:flex;align-items:center;gap:10px;font-weight:850;letter-spacing:.04em}
.team-score strong{font-size:34px;line-height:1}.team-score.red{justify-content:flex-end}.team-name.red{text-align:right;justify-content:flex-end}
.team-score.blue,.team-name.blue{color:#356dea}.team-score.red,.team-name.red{color:#d84d59}
.match-target{font-size:10px;font-weight:850;letter-spacing:.11em;color:#85818d;text-align:center}
.football-game-visual,.tug-game-visual,.zone-game-visual,.team-race-visual,.hill-game-visual,.lives-team-visual,.score-battle-visual,.basketball-team-visual,.boss-game-visual,.defence-game-visual{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center}
.football-pitch{height:220px;border-radius:18px;background:#2d8150;position:relative;overflow:hidden;border:5px solid #f1fff4;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.football-pitch:before{content:"";position:absolute;inset:12px;border:2px solid rgba(255,255,255,.75);border-radius:7px}
.football-half{position:absolute;top:12px;bottom:12px;left:50%;width:2px;background:rgba(255,255,255,.78)}
.football-circle{position:absolute;width:72px;height:72px;border:2px solid rgba(255,255,255,.78);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.football-goal{position:absolute;top:50%;width:21px;height:86px;border:3px solid white;transform:translateY(-50%);z-index:2}.football-goal.left{left:1px;border-left:0}.football-goal.right{right:1px;border-right:0}
.football-ball{position:absolute;top:50%;width:28px;height:28px;border-radius:50%;background:#fff;border:5px solid #202020;box-shadow:0 3px 9px rgba(0,0,0,.28);transform:translate(-50%,-50%);transition:left .35s ease;z-index:4}
.football-ball:after{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:#202020;left:6px;top:6px}
.football-attack{position:absolute;bottom:20px;font-size:10px;font-weight:900;letter-spacing:.08em;background:rgba(255,255,255,.88);padding:5px 8px;border-radius:999px}.football-attack.blue{left:26px;color:#245ed1}.football-attack.red{right:26px;color:#bf3543}
.tug-rope{height:96px;position:relative;margin:20px 6px}.tug-rope:before{content:"";position:absolute;left:4%;right:4%;top:44px;height:8px;background:#c89d69;border-radius:999px}.tug-rope i{position:absolute;top:24px;width:6px;height:48px;background:#28272c;border-radius:99px;transform:translateX(-50%);transition:left .3s ease}.tug-end{position:absolute;top:28px;width:34px;height:34px;border-radius:50%}.tug-end.blue{left:1%;background:#3974f2}.tug-end.red{right:1%;background:#df5260}
.zone-battle{height:100px;border-radius:18px;overflow:hidden;position:relative;display:grid;grid-template-columns:1fr .4fr 1fr;margin:25px 0}.zone-blue{background:#dbe7ff}.zone-neutral{background:#eeeef4}.zone-red{background:#ffe0e3}.zone-battle i{position:absolute;top:10px;bottom:10px;width:8px;border-radius:999px;background:#232329;transform:translateX(-50%);transition:left .3s ease}
.race-title-row{display:flex;justify-content:space-between;margin:0 78px 8px 74px;font-size:10px;font-weight:850;color:#817c88;letter-spacing:.08em}.team-race-lane{display:grid;grid-template-columns:60px minmax(0,1fr) 50px;align-items:center;gap:10px;margin:14px 0}.team-race-lane>b{font-size:12px}.team-race-lane.blue>b,.team-race-lane.blue>strong{color:#356dea}.team-race-lane.red>b,.team-race-lane.red>strong{color:#d84d59}.team-race-lane>div{height:42px;border-radius:999px;background:#ececf2;position:relative;overflow:hidden}.team-race-lane i{position:absolute;inset:0 auto 0 0;border-radius:999px}.team-race-lane.blue i{background:#c8d9ff}.team-race-lane.red i{background:#ffc9ce}.team-race-lane span{position:absolute;top:50%;width:26px;height:26px;border-radius:8px;transform:translate(-50%,-50%);transition:left .3s ease}.team-race-lane.blue span{background:#356dea}.team-race-lane.red span{background:#d84d59}.team-race-lane>strong{text-align:right}
.hill-control{height:190px;position:relative;margin:4px 0}.hill-shape{position:absolute;left:12%;right:12%;bottom:26px;height:110px;background:#dcdce5;clip-path:polygon(0 100%,20% 68%,38% 48%,50% 10%,62% 48%,80% 68%,100% 100%)}.hill-control i{position:absolute;bottom:85px;width:26px;height:26px;border-radius:50%;background:#26262c;border:4px solid white;box-shadow:0 4px 14px rgba(0,0,0,.18);transform:translateX(-50%);transition:left .3s ease}
.lives-team-visual{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;text-align:center}.life-team{padding:20px;border-radius:18px;background:#f5f5f9}.life-team.blue{border:1px solid #cbdcff}.life-team.red{border:1px solid #ffd0d4}.life-team>span{font-size:12px;font-weight:900}.life-team.blue>span{color:#356dea}.life-team.red>span{color:#d84d59}.life-team>strong{display:block;font-size:58px;line-height:1;margin:6px}.life-team>small{display:block;color:#7c7882}.life-team>div{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin-top:12px}.life-team i{width:12px;height:12px;border-radius:3px;background:#dddde3}.life-team.blue i.alive{background:#356dea}.life-team.red i.alive{background:#d84d59}.versus-mark{font-weight:900;color:#96919d}
.score-battle-visual{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;text-align:center}.score-battle-number{padding:18px;border-radius:18px;background:#f6f6fa}.score-battle-number>span{display:block;font-size:12px;font-weight:900}.score-battle-number>strong{display:block;font-size:54px;line-height:1.05;margin:8px}.score-battle-number>div{height:9px;border-radius:999px;background:#e5e5eb;overflow:hidden}.score-battle-number i{display:block;height:100%;border-radius:999px}.score-battle-number.blue>span{color:#356dea}.score-battle-number.blue i{background:#356dea}.score-battle-number.red>span{color:#d84d59}.score-battle-number.red i{background:#d84d59}.score-battle-target strong{display:block;font-size:28px}.score-battle-target span{font-size:9px;font-weight:900;color:#88838d;letter-spacing:.08em}
.basketball-team-visual{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;text-align:center}.basket-team{padding:18px;border-radius:18px;background:#f7f7fa}.basket-team>span{font-size:12px;font-weight:900}.basket-team.blue>span{color:#356dea}.basket-team.red>span{color:#d84d59}.basket-team>strong{display:block;font-size:56px}.basket-centre b{display:block;font-size:30px}.basket-centre span{font-size:9px;font-weight:900;color:#88838d}.basket-hoop{width:72px;height:32px;border:5px solid #e18b37;border-top:0;border-radius:0 0 50% 50%;margin:12px auto 0}
.boss-game-visual{text-align:center;align-items:center}.boss-icon{width:110px;height:110px;border-radius:28px;background:#34323a;color:#fff;display:grid;place-items:center;font-size:18px;font-weight:900;letter-spacing:.1em;margin-bottom:14px}.boss-game-visual>strong{font-size:28px}.boss-health{width:min(700px,90%);height:22px;border-radius:999px;background:#e5e5eb;overflow:hidden;margin:12px auto}.boss-health i{display:block;height:100%;background:#d84d59;transition:width .3s ease}.boss-damage{font-size:13px;color:#726e79}
.defence-game-visual{display:grid;grid-template-columns:.7fr 1.3fr;gap:20px;align-items:center}.defence-base,.defence-wave{padding:22px;border-radius:18px;background:#f5f5f9;text-align:center}.defence-base span,.defence-wave span{display:block;font-size:10px;font-weight:900;color:#87828e}.defence-base strong,.defence-wave strong{display:block;font-size:42px}.defence-wave>div{height:12px;border-radius:999px;background:#dddde5;overflow:hidden;margin:12px 0}.defence-wave i{display:block;height:100%;background:#6b64f4}.defence-wave small{color:#77727e}
.class-team-boards{display:grid;gap:12px}.class-team-board{border:1px solid #e4e4eb;border-radius:18px;background:#fff;overflow:hidden}.class-team-board header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#f7f7fa}.class-team-board header span{display:block;font-size:11px;font-weight:900;letter-spacing:.06em}.class-team-board header strong{display:block;font-size:11px;color:#85818b;margin-top:2px}.class-team-board header>b{font-size:18px}.class-team-board.blue header span,.class-team-board.blue header>b{color:#356dea}.class-team-board.red header span,.class-team-board.red header>b{color:#d84d59}.class-team-board article{display:grid;grid-template-columns:24px minmax(0,1fr) 44px;gap:8px;align-items:center;padding:9px 12px;border-top:1px solid #efeff3}.class-team-board article>b{font-size:11px;color:#8d8992}.class-team-board article>span{font-size:12px;font-weight:750;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-team-board article small{display:block;font-size:9px;color:#8a858f;margin-top:1px}.class-team-board article>strong{text-align:right;font-size:12px}.class-game-empty{padding:14px;font-size:11px;color:#88838d;text-align:center}
@media(max-width:1050px){.class-game-shell{grid-template-columns:1fr}.class-game-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.class-game-arena{min-height:300px}}
@media(max-width:700px){.class-game-page{padding:16px 12px 36px}.class-game-head{align-items:flex-start}.class-game-head h1{font-size:30px}.class-game-question-head{display:block}.class-game-event{max-width:none;text-align:left;margin-top:10px;border-radius:12px}.class-game-choices{grid-template-columns:1fr}.class-game-sidebar{grid-template-columns:1fr}.class-game-arena{min-height:270px;padding:12px;border-radius:18px}.football-pitch{height:180px}.team-match-score{gap:6px}.team-score strong{font-size:28px}.lives-team-visual,.score-battle-visual,.basketball-team-visual{grid-template-columns:1fr}.versus-mark,.score-battle-target,.basket-centre{padding:4px}.defence-game-visual{grid-template-columns:1fr}.team-race-lane{grid-template-columns:48px 1fr 42px}.race-title-row{margin-inline:58px 50px}}

/* v9.3.5 classroom game boards */
.mastery-duel-visual,.maths-race-visual,.tower-climb-visual,.relay-visual,.quiz-show-visual,.checkpoint-visual,.dungeon-visual,.quiz-battle-visual,.raid-game-visual{width:100%;min-height:290px;display:flex;flex-direction:column;justify-content:center}
.mastery-core-row{display:grid;grid-template-columns:1fr auto 1fr;gap:22px;align-items:end;max-width:760px;margin:18px auto 0;width:100%}.mastery-core{text-align:center}.mastery-core>div{height:160px;width:116px;border-radius:28px;background:#ececf2;margin:auto;position:relative;overflow:hidden;border:1px solid #dddde5}.mastery-core i{position:absolute;left:0;right:0;bottom:0;transition:height .35s ease}.mastery-core.blue i{background:linear-gradient(#7aa4ff,#356dea)}.mastery-core.red i{background:linear-gradient(#ff9099,#d84d59)}.mastery-core b{position:absolute;inset:0;display:grid;place-items:center;font-size:27px;z-index:2}.mastery-core>span{display:block;margin-top:8px;font-size:11px;font-weight:900}.mastery-core.blue>span{color:#356dea}.mastery-core.red>span{color:#d84d59}.mastery-versus{align-self:center;font-size:10px;font-weight:900;color:#77727e;letter-spacing:.08em;text-align:center}
.tug-players{display:flex;justify-content:space-between;font-size:18px;font-weight:900;padding:0 5%;margin-top:10px}.tug-players .blue{color:#356dea}.tug-players .red{color:#d84d59}
.zone-battle>div{display:grid;place-items:center;font-size:10px;font-weight:900;letter-spacing:.06em}.zone-blue span{color:#356dea}.zone-red span{color:#d84d59}.zone-neutral span{color:#88838d}
.race-header{display:flex;justify-content:space-between;padding:0 62px 6px 65px;font-size:10px;font-weight:900;color:#77727e}.race-car-lane{display:grid;grid-template-columns:55px minmax(0,1fr) 60px;gap:10px;align-items:center;margin:18px 0}.race-car-lane>b{font-size:11px}.race-car-lane>strong{text-align:right;font-size:12px}.race-car-lane.blue>b,.race-car-lane.blue>strong{color:#356dea}.race-car-lane.red>b,.race-car-lane.red>strong{color:#d84d59}.race-asphalt{height:64px;border-radius:15px;background:#3b3b43;position:relative;overflow:hidden;border:4px solid #efeff3}.race-asphalt:before{content:"";position:absolute;left:0;right:0;top:50%;border-top:3px dashed #fff7;transform:translateY(-50%)}.race-asphalt i{position:absolute;top:50%;width:38px;height:24px;border-radius:9px 12px 7px 7px;transform:translate(-50%,-50%);transition:left .35s ease;z-index:2}.race-car-lane.blue .race-asphalt i{background:#4c80f4}.race-car-lane.red .race-asphalt i{background:#e05d69}.race-asphalt i:before,.race-asphalt i:after{content:"";position:absolute;bottom:-5px;width:9px;height:9px;background:#17171a;border-radius:50%}.race-asphalt i:before{left:5px}.race-asphalt i:after{right:5px}.race-checkers{position:absolute;right:5px;top:0;bottom:0;width:18px;background:repeating-conic-gradient(#fff 0 25%,#222 0 50%) 0 0/10px 10px;opacity:.75}
.tower-roof{text-align:center;font-size:11px;font-weight:900;letter-spacing:.1em;color:#6f6a74;margin-bottom:8px}.tower-duel{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:end;max-width:660px;margin:auto;width:100%}.climb-team{text-align:center}.climb-team>strong{display:block;font-size:12px;margin-bottom:7px}.climb-team.blue>strong{color:#356dea}.climb-team.red>strong{color:#d84d59}.climb-tower{display:flex;flex-direction:column;gap:3px;border-bottom:10px solid #44434a;padding:0 9px}.climb-tower span{height:15px;border:1px solid #dddde6;background:#f1f1f5;position:relative;transition:background .25s}.climb-tower span b{position:absolute;left:4px;font-size:7px;color:#98949d}.climb-team.blue .climb-tower span.cleared{background:#9bb8ff;border-color:#6f99f7}.climb-team.red .climb-tower span.cleared{background:#ffaab2;border-color:#eb7480}.climb-team small{display:block;margin-top:7px;color:#77727e}.tower-gap{font-size:11px;font-weight:900;color:#9b97a0;padding-bottom:80px}
.hill-shape span{position:absolute;left:0;right:0;top:48%;text-align:center;font-size:12px;font-weight:900;color:#77727e}
.relay-title,.checkpoint-title,.dungeon-title{text-align:center;font-size:11px;font-weight:900;letter-spacing:.08em;color:#77727e;margin-bottom:10px}.relay-lane{display:grid;grid-template-columns:55px minmax(0,1fr) 52px;gap:10px;align-items:center;position:relative;margin:20px 0}.relay-lane>b,.relay-lane>strong{font-size:11px}.relay-lane>strong{text-align:right}.relay-lane.blue>b,.relay-lane.blue>strong{color:#356dea}.relay-lane.red>b,.relay-lane.red>strong{color:#d84d59}.relay-lane>div{display:grid;grid-template-columns:repeat(16,1fr);gap:2px;height:32px;align-items:center}.relay-lane>div i{height:6px;background:#e4e4ea;border-radius:99px}.relay-lane.blue>div i.active{background:#7ba2f7}.relay-lane.red>div i.active{background:#ec8791}.relay-baton{position:absolute;top:50%;margin-left:60px;width:27px;height:8px;border-radius:99px;background:#2b2b31;transform:translate(-50%,-50%) rotate(-12deg);transition:left .3s ease}
.quiz-show-visual{max-width:760px;margin:auto}.quiz-stage-title{text-align:center;padding:11px;border-radius:14px;background:#292831;color:white;font-weight:900;letter-spacing:.1em;font-size:11px;margin-bottom:15px}.quiz-show-team{display:grid;grid-template-columns:55px 60px 1fr;gap:10px;align-items:center;padding:13px 15px;border-radius:16px;margin:8px 0;background:#f5f5f9}.quiz-show-team>b{font-size:11px}.quiz-show-team>strong{font-size:18px}.quiz-show-team>div{display:flex;gap:3px;flex-wrap:wrap}.quiz-show-team i{font-style:normal;color:#d9d8de;font-size:20px}.quiz-show-team.blue i.won,.quiz-show-team.blue>b{color:#356dea}.quiz-show-team.red i.won,.quiz-show-team.red>b{color:#d84d59}
.basket-court{height:54px;position:relative;margin-top:5px}.basket-court i{position:absolute;left:15%;right:15%;bottom:4px;height:2px;background:#d9d5ce}.basket-court .basket-hoop{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);margin:0}
.checkpoint-team{margin:15px 0}.checkpoint-team header{display:flex;justify-content:space-between;font-size:11px;margin-bottom:7px}.checkpoint-team.blue header b{color:#356dea}.checkpoint-team.red header b{color:#d84d59}.checkpoint-line{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}.checkpoint-line i{height:40px;border-radius:10px;background:#eeeeF3;border:1px solid #dfdfe6;display:grid;place-items:center;font-style:normal;font-size:10px;font-weight:900;color:#9c98a2}.checkpoint-team.blue .checkpoint-line i.cleared{background:#d7e4ff;color:#356dea;border-color:#a9c2fb}.checkpoint-team.red .checkpoint-line i.cleared{background:#ffdade;color:#d84d59;border-color:#f2abb2}.checkpoint-line i.current{outline:3px solid #8884ff;outline-offset:1px}.checkpoint-charge{height:7px;border-radius:99px;background:#e7e7ed;margin-top:7px;overflow:hidden}.checkpoint-charge i{display:block;height:100%;background:#6b64f4}
.defence-game-visual{grid-template-columns:1.3fr .7fr}.defence-battlefield{min-height:180px;border-radius:18px;background:linear-gradient(180deg,#e8edf2,#dfe5db);position:relative;overflow:hidden;padding:15px}.defence-battlefield .defence-base{position:absolute;left:14px;bottom:14px;width:130px;background:#fff;border:1px solid #dddde4;padding:12px}.base-health{height:7px;border-radius:99px;background:#e7e7ed;overflow:hidden;margin-top:7px}.base-health i{display:block;height:100%;background:#54a86f}.enemy-lane{position:absolute;left:165px;right:10px;top:20px;bottom:20px;border-bottom:5px solid #aaa9b0}.enemy-lane i{position:absolute;bottom:5px;width:24px;height:30px;border-radius:8px 8px 3px 3px;background:#d85b62}.enemy-lane i:before{content:"";position:absolute;width:12px;height:7px;left:6px;top:-6px;background:#b84a51;border-radius:5px 5px 0 0}.enemy-lane b{position:absolute;right:7px;top:4px;font-size:11px;color:#68646e}
.dungeon-team{margin:15px 0;padding:12px;border-radius:16px;background:#f5f4f1}.dungeon-team header{display:flex;justify-content:space-between;font-size:11px;margin-bottom:8px}.dungeon-team.blue header b{color:#356dea}.dungeon-team.red header b{color:#d84d59}.dungeon-rooms{display:grid;grid-template-columns:repeat(8,1fr);gap:5px}.dungeon-rooms i{height:46px;border-radius:8px;background:#45444b;color:#aaa7b0;display:grid;place-items:center;font-style:normal;border:2px solid #35343a}.dungeon-rooms i.open{background:#e7e7eb;color:#3d3b43;border-color:#d2d2d8}.dungeon-team.blue .dungeon-rooms i.current{outline:3px solid #356dea}.dungeon-team.red .dungeon-rooms i.current{outline:3px solid #d84d59}.dungeon-team small{display:block;text-align:right;margin-top:7px;color:#77727e}
.quiz-battle-visual{display:grid;grid-template-columns:1fr auto 1fr;gap:22px;align-items:center}.battle-fighter{padding:22px;border-radius:20px;background:#f4f4f8;text-align:center}.battle-fighter>b{font-size:12px}.battle-fighter>strong{font-size:28px;display:block;margin:7px}.battle-fighter>div{height:15px;border-radius:99px;background:#dedee5;overflow:hidden}.battle-fighter i{display:block;height:100%}.battle-fighter.blue>b,.battle-fighter.blue>span{color:#356dea}.battle-fighter.blue i{background:#356dea}.battle-fighter.red>b,.battle-fighter.red>span{color:#d84d59}.battle-fighter.red i{background:#d84d59}.battle-fighter>span{display:block;font-size:10px;font-weight:900;margin-top:8px}.battle-versus{font-size:18px;font-weight:900;color:#99959e}
.raid-game-visual{gap:14px}.raid-boss{display:grid;grid-template-columns:110px 1fr;gap:18px;align-items:center;padding:18px;border-radius:18px;background:#34323a;color:#fff}.raid-face{height:90px;border-radius:20px;background:#211f25;display:grid;place-items:center;text-align:center;font-size:14px;font-weight:900;letter-spacing:.07em}.raid-boss span{font-size:10px;font-weight:900;opacity:.7}.raid-boss strong{display:block;font-size:25px;margin:4px 0}.raid-status{display:grid;grid-template-columns:1fr 1fr .7fr;gap:10px}.raid-status>div{padding:13px;border-radius:14px;background:#f3f3f7}.raid-status span{display:block;font-size:9px;font-weight:900;color:#85818b}.raid-status strong{display:block;font-size:22px;margin:3px 0}.raid-status i{display:inline-block;width:9px;height:9px;border-radius:3px;background:#dedde4;margin:2px}.raid-status i.active{background:#6b64f4}.rage-bar{height:7px;border-radius:99px;background:#dfdfe5;overflow:hidden}.rage-bar i{display:block;height:100%;width:0;margin:0;border-radius:99px;background:#d84d59}
.game-instruction{margin-top:13px;text-align:center;font-size:11px;color:#77727e;font-weight:700;line-height:1.45}
.team-match-score{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin-bottom:13px}.team-score{display:flex;align-items:center;gap:9px;padding:8px 12px;border-radius:14px;background:#f4f4f8}.team-score.red{justify-content:flex-end}.team-score span{font-size:10px;font-weight:900}.team-score strong{font-size:30px}.team-score.blue span,.team-score.blue strong{color:#356dea}.team-score.red span,.team-score.red strong{color:#d84d59}.match-target{text-align:center;font-size:9px;font-weight:900;letter-spacing:.06em;color:#89858f}
@media(max-width:700px){.mastery-core-row,.tower-duel,.quiz-battle-visual{grid-template-columns:1fr}.mastery-versus,.tower-gap,.battle-versus{padding:4px}.mastery-core>div{height:100px}.relay-lane,.race-car-lane{grid-template-columns:45px 1fr 45px}.checkpoint-line,.dungeon-rooms{grid-template-columns:repeat(4,1fr)}.raid-status{grid-template-columns:1fr}.raid-boss{grid-template-columns:80px 1fr}.defence-game-visual{grid-template-columns:1fr}.defence-battlefield{min-height:160px}}
.life-team i.active{background:#356dea}.life-team.red i.active{background:#d84d59}
.classroom-games-modal{width:min(940px,calc(100vw - 28px));max-height:min(88vh,900px);overflow:auto}.classroom-game-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:16px}.classroom-game-pick{border:1px solid #e2ddd4;border-radius:15px;background:#fff;padding:13px 14px;text-align:left;cursor:pointer;color:#292621;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.classroom-game-pick:hover{transform:translateY(-1px);border-color:#726bf4;box-shadow:0 7px 18px rgba(82,75,200,.1)}.classroom-game-pick strong{display:block;font-size:13px}.classroom-game-pick span{display:block;font-size:10px;line-height:1.35;color:#777168;margin-top:4px}@media(max-width:650px){.classroom-game-menu{grid-template-columns:1fr}}

/* v9.3.6 spacing, live-game layout and answer cooldown */
.school-page{max-width:1420px!important;margin-inline:auto!important;padding:30px clamp(20px,3vw,44px) 64px!important}
.school-hub-head{padding:26px 28px!important;margin-bottom:22px!important;border-radius:22px!important;gap:30px!important}
.school-hub-head h1{font-size:clamp(36px,4vw,54px)!important;line-height:1!important;margin:8px 0!important}
.school-section-tabs{margin:0 0 24px!important;padding:7px!important;gap:7px!important;border-radius:18px!important}
.school-section-tabs button{padding:11px 16px!important;font-size:14px!important}
.school-overview-grid{grid-template-columns:minmax(0,1.9fr) minmax(320px,.75fr)!important;gap:24px!important}
.school-overview-main,.school-role-card,.school-settings-card,.school-curriculum-panel{padding:30px!important;border-radius:22px!important}
.school-overview-main h2{font-size:clamp(30px,3vw,40px)!important;margin:10px 0 12px!important}
.school-overview-main p,.school-role-card p{font-size:16px!important;line-height:1.65!important}
.school-count-grid{gap:14px!important;margin-top:28px!important}
.school-count-grid button{padding:24px 16px!important;min-height:112px!important;border-radius:18px!important}
.school-count-grid strong{font-size:32px!important;margin-bottom:4px!important}
.school-role-card h3{font-size:24px!important;margin:12px 0 16px!important}
.role-ladder{gap:10px!important;margin-top:22px!important}.role-ladder span{padding:8px 12px!important}

.class-game-page{max-width:1360px!important;margin:0 auto!important;padding:32px 34px 60px!important}
.class-game-head{margin-bottom:26px!important;align-items:flex-end!important}
.class-game-head h1{font-size:clamp(38px,4.6vw,58px)!important;margin:7px 0 7px!important}
.class-game-head p{font-size:16px!important;line-height:1.5!important;max-width:880px!important}
.class-game-shell{grid-template-columns:minmax(0,1fr) 290px!important;gap:24px!important;align-items:start!important}
.class-game-main{display:grid!important;gap:20px!important}
.class-game-arena{min-height:430px!important;padding:28px!important;border-radius:26px!important;overflow:visible!important}
.class-game-arena>div{width:100%!important;max-width:none!important}
.class-game-question{margin-top:0!important;padding:28px!important;border-radius:24px!important}
.class-game-question-head{margin-bottom:20px!important;align-items:center!important}
.class-game-question-head h2{font-size:24px!important;line-height:1.25!important}
.class-game-event{max-width:360px!important;white-space:normal!important;line-height:1.35!important}
.class-game-maths h3{font-size:clamp(30px,3.2vw,42px)!important;margin:18px 0 22px!important;line-height:1.15!important}
.class-game-choices{gap:14px!important}
.class-game-choice{min-height:68px!important;padding:16px 20px!important;border-radius:16px!important;font-size:18px!important}
.class-game-sidebar{top:104px!important;gap:16px!important}
.class-team-boards{gap:16px!important}
.class-team-board{border-radius:20px!important;box-shadow:0 7px 22px rgba(50,47,60,.06)!important}
.class-team-board header{padding:15px 16px!important}.class-team-board header span{font-size:12px!important}.class-team-board header strong{font-size:12px!important}
.class-team-board article{grid-template-columns:26px minmax(0,1fr) 48px!important;padding:12px 14px!important}.class-team-board article>span{font-size:13px!important}.class-team-board article small{font-size:10px!important}.class-team-board article>strong{font-size:13px!important}

.class-game-cooldown{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;padding:13px 16px;border-radius:15px;background:#fff1ee;border:1px solid #f2b8ad;color:#8f382e}
.class-game-cooldown[hidden]{display:none!important}.class-game-cooldown strong{font-size:14px}.class-game-cooldown span{font-size:13px;font-weight:800;font-variant-numeric:tabular-nums}
.class-game-choice:disabled{opacity:.48!important;filter:saturate(.7);transform:none!important}

/* King of the Hill: capture, defend and steal */
.hill-game-visual{display:grid;gap:18px;width:100%}
.hill-owner-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border-radius:16px;border:1px solid #dedee7;background:#f7f7fa}
.hill-owner-banner span{font-size:13px;font-weight:950;letter-spacing:.055em}.hill-owner-banner small{font-size:11px;font-weight:750;color:#77727e;text-align:right}
.hill-owner-banner.blue{background:#edf3ff;border-color:#b7cdfd}.hill-owner-banner.blue span{color:#356dea}.hill-owner-banner.red{background:#fff0f2;border-color:#f1b7bd}.hill-owner-banner.red span{color:#d84d59}
.hill-control-meter{height:58px;border-radius:18px;position:relative;display:grid;grid-template-columns:1fr .32fr 1fr;align-items:center;overflow:hidden;border:1px solid #dedee6;background:#efeff3}
.hill-control-meter .blue-zone,.hill-control-meter .red-zone{height:100%;display:flex;align-items:center;padding:0 18px;font-size:10px;font-weight:950;letter-spacing:.08em}.hill-control-meter .blue-zone{justify-content:flex-start;background:linear-gradient(90deg,#d8e5ff,#edf3ff);color:#356dea}.hill-control-meter .red-zone{justify-content:flex-end;background:linear-gradient(90deg,#fff0f1,#ffdce0);color:#d84d59}.hill-neutral-band{height:100%;background:#f5f4f7;border-inline:1px dashed #c9c7d0}
.hill-control-meter>i{position:absolute;top:50%;width:30px;height:30px;border-radius:50%;background:#24242b;border:5px solid #fff;box-shadow:0 5px 16px rgba(23,23,31,.22);transform:translate(-50%,-50%);transition:left .28s ease}
.hill-arena-scene{height:220px;position:relative;overflow:hidden;border-radius:22px;background:linear-gradient(180deg,#f6f7fb 0 56%,#e6e7eb 56% 100%);border:1px solid #e0e0e7}
.hill-mountain{position:absolute;left:18%;right:18%;bottom:24px;height:135px;background:#cfd1da;clip-path:polygon(0 100%,18% 67%,39% 50%,50% 10%,61% 50%,82% 67%,100% 100%);transition:background .25s ease}.hill-arena-scene.blue .hill-mountain{background:#b7caf9}.hill-arena-scene.red .hill-mountain{background:#f1b9bf}
.hill-mountain span{position:absolute;left:0;right:0;bottom:32px;text-align:center;font-size:11px;font-weight:950;letter-spacing:.08em;color:#66636d}
.hill-flag{position:absolute;left:50%;top:35px;width:48px;height:92px;z-index:3;transform:translateX(-50%)}.hill-flag b{position:absolute;left:8px;top:0;width:4px;height:85px;background:#34343b;border-radius:4px}.hill-flag i{position:absolute;left:12px;top:4px;width:34px;height:23px;background:#9a97a1;clip-path:polygon(0 0,100% 20%,84% 100%,0 78%)}.hill-arena-scene.blue .hill-flag i{background:#356dea}.hill-arena-scene.red .hill-flag i{background:#d84d59}
.hill-team{position:absolute;bottom:15px;padding:9px 13px;border-radius:999px;font-size:11px;font-weight:950;background:#fff;border:1px solid #dedee6;box-shadow:0 5px 14px rgba(40,40,50,.08)}.hill-team.blue{left:7%;color:#356dea}.hill-team.red{right:7%;color:#d84d59}

@media(max-width:1220px){
  .class-game-shell{grid-template-columns:1fr!important}.class-game-sidebar{position:static!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}.class-game-arena{min-height:390px!important}
  .school-overview-grid{grid-template-columns:1fr!important}.school-role-card{min-height:auto!important}
}
@media(max-width:760px){
  .school-page{padding:20px 14px 44px!important}.school-hub-head{padding:20px!important}.school-count-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.school-count-grid button{min-height:96px!important;padding:18px 14px!important}
  .class-game-page{padding:20px 14px 46px!important}.class-game-head{align-items:flex-start!important;flex-direction:column!important}.class-game-arena{min-height:320px!important;padding:16px!important}.class-game-question{padding:20px!important}.class-game-sidebar{grid-template-columns:1fr!important}.class-game-choices{grid-template-columns:1fr!important}.class-game-question-head{display:block!important}.class-game-event{display:block!important;max-width:none!important;text-align:left!important;margin-top:12px!important}.hill-arena-scene{height:180px}.hill-owner-banner{align-items:flex-start;flex-direction:column}.hill-owner-banner small{text-align:left}.hill-control-meter{height:50px}.hill-control-meter .blue-zone,.hill-control-meter .red-zone{padding:0 10px}.hill-mountain{left:8%;right:8%}
}

/* v9.4 — class joining, discussion, reporting and anti-squash layout */
.class-header-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
.join-class-empty{max-width:720px;margin:48px auto;padding:38px;border:1px solid #e2ddd4;border-radius:26px;background:#fffdf9;box-shadow:0 16px 42px rgba(46,42,58,.06);text-align:left}
.join-class-empty h1{font-size:clamp(34px,4vw,50px);margin:8px 0 10px}.join-class-empty p{font-size:16px;line-height:1.6;color:#726c63}
.inline-join-class-form{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:12px;margin-top:22px;max-width:520px}.inline-join-class-form input{text-transform:uppercase;letter-spacing:.12em;font-weight:900;font-size:18px}
.join-class-modal-form{max-width:520px}.join-class-modal-form input{text-transform:uppercase;letter-spacing:.12em;font-weight:900}

.discussion-composer{margin-bottom:20px;padding:18px;border:1px solid #e5dfd6;border-radius:18px;background:#fbfaf7}
.discussion-list{display:grid;gap:14px;max-height:58vh;overflow:auto;padding-right:4px}
.discussion-thread{padding:18px;border:1px solid #e2ddd4;border-radius:18px;background:#fff;display:grid;gap:12px}.discussion-thread.answered{border-color:#c9e5d2}.discussion-thread.closed{opacity:.82;background:#f8f7f4}
.discussion-thread>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.discussion-thread>header strong{display:block;font-size:16px}.discussion-thread>header small{display:block;color:#827b72;margin-top:3px}.discussion-thread>p{margin:0;line-height:1.55}
.discussion-reply{padding:12px 14px;border-radius:14px;background:#f5f4f1;display:grid;gap:3px}.discussion-reply.staff{background:#f0efff;border:1px solid #d8d4ff}.discussion-reply b{font-size:12px}.discussion-reply span{line-height:1.45}.discussion-reply small{color:#89827a;font-size:10px}
.discussion-reply-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.discussion-moderation{display:flex;flex-wrap:wrap;gap:8px}

.task-report-sort{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0}.task-report-sort>span{font-size:12px;font-weight:800;color:#7d766d}.task-report-sort button{border:1px solid #ded8ce;background:#f8f5ef;border-radius:999px;padding:7px 11px;font-weight:800;cursor:pointer}.task-report-sort button.active{background:#5f55ee;color:#fff;border-color:#5f55ee}
.task-question-row{grid-template-columns:minmax(220px,1.5fr) minmax(72px,.42fr) minmax(72px,.42fr) minmax(72px,.42fr) auto!important;gap:14px!important;align-items:center!important}.task-question-open{border:0;background:transparent;text-align:left;padding:0;cursor:pointer;min-width:0}.task-question-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.question-answer-detail-list{display:grid;gap:12px;max-height:62vh;overflow:auto}.question-answer-detail-list article{padding:15px;border:1px solid #e1ddd5;border-radius:16px;background:#fff}.question-answer-detail-list article header{display:flex;justify-content:space-between;gap:12px;align-items:center}.question-answer-text,.question-answer-score{display:flex;justify-content:space-between;gap:14px;margin-top:9px}.question-answer-text span{word-break:break-word}.question-answer-score{font-size:12px;color:#746e66}.question-answer-detail-list pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f6f5f2;padding:10px;border-radius:10px}

.engagement-report-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.engagement-report-head strong,.engagement-report-head span{display:block}.engagement-report-head span{font-size:12px;color:#7b756d;margin-top:3px}
.engagement-profile-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:16px}.engagement-profile-strip article{padding:12px;border:1px solid #e4dfd7;border-radius:14px;background:#faf9f6}.engagement-profile-strip strong{display:block;font-size:22px}.engagement-profile-strip span{font-size:11px;font-weight:850}
.engagement-scatter-wrap{display:grid;grid-template-columns:26px minmax(0,1fr);grid-template-rows:minmax(330px,52vh) 26px;gap:5px}.engagement-y-label{writing-mode:vertical-rl;transform:rotate(180deg);display:grid;place-items:center;font-size:11px;font-weight:850;color:#7d776f}.engagement-x-label{grid-column:2;text-align:center;font-size:11px;font-weight:850;color:#7d776f}
.engagement-scatter{position:relative;border:1px solid #ddd9e4;border-radius:18px;background:linear-gradient(90deg,rgba(244,242,251,.65) 50%,rgba(237,246,244,.65) 50%),linear-gradient(0deg,rgba(255,242,242,.45) 50%,transparent 50%);overflow:hidden}.engagement-scatter .axis-v,.engagement-scatter .axis-h{position:absolute;background:#c8c4ce;opacity:.7;pointer-events:none}.engagement-scatter .axis-v{top:0;bottom:0;left:50%;width:1px}.engagement-scatter .axis-h{left:0;right:0;top:50%;height:1px}.engagement-scatter .quadrant{position:absolute;font-size:10px;font-weight:900;letter-spacing:.06em;color:#9a94a1;text-transform:uppercase;pointer-events:none}.engagement-scatter .q1{left:14px;top:12px}.engagement-scatter .q2{right:14px;top:12px}.engagement-scatter .q3{left:14px;bottom:12px}.engagement-scatter .q4{right:14px;bottom:12px}
.engagement-dot{position:absolute;width:34px;height:34px;border-radius:50%;transform:translate(-50%,50%);border:3px solid #fff;box-shadow:0 4px 13px rgba(38,35,48,.2);display:grid;place-items:center;font-weight:950;cursor:pointer;z-index:2}.engagement-dot:hover{z-index:5;scale:1.12}.engagement-dot.profile-efficient,.engagement-legend .profile-efficient i{background:#42a66b;color:#fff}.engagement-dot.profile-persevering,.engagement-legend .profile-persevering i{background:#527ce7;color:#fff}.engagement-dot.profile-struggling,.engagement-legend .profile-struggling i{background:#e36a63;color:#fff}.engagement-dot.profile-sporadic,.engagement-legend .profile-sporadic i{background:#d6a23e;color:#fff}.engagement-dot.profile-inactive,.engagement-legend .profile-inactive i{background:#9a96a0;color:#fff}
.engagement-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}.engagement-legend span{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:800}.engagement-legend i{width:9px;height:9px;border-radius:50%;display:block}

.report-filter-bar{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr)) auto;gap:10px;align-items:end;margin-bottom:16px}.report-filter-bar label{display:grid;gap:5px;font-size:11px;font-weight:850;color:#706960}.standards-growth-table{display:grid;gap:1px;border:1px solid #e0dcd5;border-radius:16px;overflow:auto;max-height:56vh}.standards-growth-row{display:grid;grid-template-columns:minmax(220px,1.6fr) repeat(5,minmax(72px,.55fr));gap:10px;align-items:center;padding:10px 12px;background:#fff;min-width:720px}.standards-growth-row.head{background:#f5f2ec;position:sticky;top:0;z-index:2}.standards-growth-row .positive{color:#27834e}.standards-growth-row .negative{color:#ba4d50}

.district-dashboard-tabs{display:grid;gap:18px}.district-dashboard-tabs>section{padding:18px;border:1px solid #e1ddd5;border-radius:18px;background:#fff}.district-dashboard-tabs h3{margin:5px 0 14px}.district-performance-chart{display:grid;gap:10px}.district-performance-chart article{padding:12px;border-radius:14px;background:#f8f7f4}.district-performance-chart header{display:flex;justify-content:space-between;gap:12px}.district-dual-bars{position:relative;height:18px;background:#e8e5df;border-radius:99px;overflow:hidden;margin:8px 0}.district-dual-bars i,.district-dual-bars b{position:absolute;left:0;border-radius:99px}.district-dual-bars i{top:0;height:8px;background:#655df0}.district-dual-bars b{bottom:0;height:8px;background:#5aae79}.district-performance-chart small{color:#777168}
.district-course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.district-course-grid article{padding:14px;border-radius:14px;background:#f8f7f4}.district-course-grid strong{font-size:24px;display:block}.district-course-grid span,.district-course-grid small{display:block;margin-top:3px}.district-monthly-chart{display:flex;align-items:flex-end;gap:8px;min-height:210px;overflow-x:auto;padding:10px 2px}.district-monthly-chart article{min-width:56px;height:185px;display:grid;grid-template-rows:auto 1fr auto;align-items:end;text-align:center;gap:5px}.district-monthly-chart article>span{font-size:9px;font-weight:850}.district-monthly-chart small{display:block;color:#8d877f}.district-monthly-chart i{width:22px;background:#655df0;border-radius:6px 6px 2px 2px;justify-self:center;min-height:4px}.district-monthly-chart b{font-size:10px}

/* Keep large staff/student/report screens from feeling compressed. */
.school-page .school-section{padding:clamp(20px,2.5vw,30px)!important;border-radius:22px!important}.school-page .section-heading{gap:18px!important;flex-wrap:wrap!important}.school-page .simple-actions{gap:9px!important;flex-wrap:wrap!important}.student-table,.mastery-table,.v84-report-table{overflow-x:auto!important}.teacher-report-grid{gap:22px!important}.assignment-card{gap:18px!important}.modal{width:min(980px,calc(100vw - 28px));max-height:90vh;overflow:auto}.modal.quick-assign-modal{width:min(940px,calc(100vw - 28px))}

@media(max-width:900px){
  .engagement-profile-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filter-bar{grid-template-columns:1fr 1fr}.report-filter-bar button{grid-column:span 2}.task-question-row{grid-template-columns:minmax(180px,1fr) repeat(3,64px)!important}.task-question-actions{grid-column:1/-1;justify-content:flex-start}.standards-growth-row{grid-template-columns:minmax(180px,1.5fr) repeat(5,68px)}
}
@media(max-width:620px){
  .inline-join-class-form,.discussion-reply-form{grid-template-columns:1fr}.class-header-actions{width:100%}.engagement-profile-strip{grid-template-columns:1fr 1fr}.engagement-scatter-wrap{grid-template-columns:18px minmax(0,1fr);grid-template-rows:300px 22px}.engagement-dot{width:30px;height:30px}.report-filter-bar{grid-template-columns:1fr}.report-filter-bar button{grid-column:auto}.school-page .school-section{padding:18px!important}.modal{width:calc(100vw - 16px)}
}

/* v9.4 final spacing and route-performance polish */
.school-overview-grid{grid-template-columns:minmax(0,2fr) minmax(300px,.82fr)!important;gap:24px!important;align-items:stretch}
.school-overview-main,.school-role-card{padding:clamp(24px,2.3vw,34px)!important;min-width:0}
.school-count-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;gap:14px!important;margin-top:24px!important}
.school-count-grid button{min-height:112px!important;padding:20px!important}
.school-section-tabs{display:flex!important;gap:6px!important;overflow-x:auto!important;scrollbar-width:thin;padding:7px!important;white-space:nowrap}
.school-section-tabs button{flex:0 0 auto!important;padding:11px 16px!important}
.school-hub-head{gap:22px!important;align-items:center!important}.school-head-actions{gap:10px!important;flex-wrap:wrap!important}
.school-loading{min-height:150px!important}.school-loading.compact{min-height:72px!important}
.textbook-book{content-visibility:auto;contain-intrinsic-size:800px}.textbook-chapter-card.collapsed .textbook-section-list{display:none!important}
.textbook-chapter-list{display:grid;gap:12px}.textbook-book-head{gap:20px;flex-wrap:wrap}.textbook-toolbar{gap:14px;flex-wrap:wrap}.textbook-search-form{min-width:min(100%,420px)}
.v84-integration-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important;gap:14px!important}.v84-integration-grid article{min-width:0!important;padding:18px!important}
.class-hub-page,.school-page,.textbook-page,.curriculum-learn-page{padding-bottom:54px}
@media(max-width:980px){.school-overview-grid{grid-template-columns:1fr!important}.school-role-card{min-width:0}.school-hub-head{align-items:flex-start!important}.school-head-actions{width:100%}}
@media(max-width:640px){.school-count-grid{grid-template-columns:1fr 1fr!important}.school-count-grid button{min-height:92px!important;padding:15px!important}.school-overview-main,.school-role-card{padding:19px!important}}


/* v9.4.1 Learn / skills / textbook / owner polish */
.minimal-learn-page{max-width:1180px;margin:0 auto;padding:28px 24px 80px!important}.learn-recommended-panel{display:grid!important;grid-template-columns:minmax(280px,.8fr) minmax(0,1.6fr)!important;gap:24px!important;border:1px solid #e3ddf2!important;border-radius:22px!important;background:#fff!important}.learn-recommended-main{padding:8px 4px}.learn-recommended-main h2{font-size:30px;margin:12px 0 8px}.learn-recommended-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.learn-recommended-grid button{display:grid!important;gap:6px!important;align-content:center!important;border:1px solid #ddd8eb!important;border-radius:16px!important;background:#faf9ff!important;min-height:96px!important;padding:16px 18px!important}.learn-recommended-grid button strong{font-size:15px;line-height:1.25}.learn-recommended-grid button small{color:#686273;line-height:1.4}.learn-next-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;margin:16px 0 24px!important}.learn-next-card{border-radius:15px!important;background:#fff!important;border:1px solid #e1dcec!important;padding:15px!important}.compact-learn-modes{gap:12px!important}.curriculum-strand{overflow:hidden!important}.daily-missions-section{margin:22px 0;padding:20px;border:1px solid #e1dbef;border-radius:20px;background:#fff}.daily-mission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.daily-mission-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #e4dfed;border-radius:16px;padding:14px;background:#fbfaff}.daily-mission-card.complete{background:#f4fbf2;border-color:#cfe1c8}.daily-mission-icon{width:38px;height:38px;border-radius:12px;background:#eee9ff;color:#5b43d2;display:grid;place-items:center;font-weight:900}.daily-mission-copy{min-width:0}.daily-mission-copy strong,.daily-mission-copy small,.daily-mission-copy span{display:block}.daily-mission-copy small{margin:3px 0 9px;color:#6f6878}.daily-mission-copy span{font-size:11px;color:#716a78}.daily-mission-progress{height:7px;border-radius:999px;background:#ece8f3;overflow:hidden}.daily-mission-progress i{display:block;height:100%;background:linear-gradient(90deg,#6b4cff,#4389ff)}
.mx-skill-map-page{max-width:1120px;margin:0 auto;padding:28px 24px 90px!important}.mx-skill-map-head{text-align:center;margin:0 auto 22px;position:relative}.mx-skill-map-head h1{font-size:34px;margin:8px 0}.mx-skill-map-head p{color:#607087}.mx-skill-map-tabs{display:inline-grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:999px;background:#f1eee8;margin-top:16px}.mx-skill-map-tabs button{border:0;background:transparent;border-radius:999px;padding:9px 28px;font-weight:800}.mx-skill-map-tabs .active{background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.08)}.mx-skill-map-summary{display:flex;justify-content:center;gap:9px;margin-top:12px;color:#697180}.mx-skill-map-summary strong{color:#322c3e}.mx-skill-year-switcher{margin:0 auto 22px}.mx-skill-map-groups{display:grid;gap:18px}.mx-skill-topic-panel{border:1px solid #eee8df;background:#fff;border-radius:22px;padding:24px}.mx-skill-topic-panel h2{text-align:center;font-size:20px;margin:0 0 20px}.mx-skill-badge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 18px}.mx-skill-badge{border:0;background:transparent;display:grid;justify-items:center;gap:8px;color:#3e4960;cursor:pointer;padding:6px}.mx-skill-badge:disabled{opacity:.45;cursor:not-allowed}.mx-skill-ring{--skill-progress:0;width:82px;height:82px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#5b51c7 calc(var(--skill-progress)*1%),#e1e5ef 0);position:relative}.mx-skill-ring:before{content:"";position:absolute;inset:6px;border-radius:50%;background:#fff}.mx-skill-ring i{position:relative;z-index:1;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#0c9ea9,#42c9a1);color:#fff;font-style:normal;font-size:22px;font-weight:900;border:3px solid #e8faf7}.mx-skill-badge.mastered .mx-skill-ring i{background:linear-gradient(135deg,#24a66f,#71d69f)}.mx-skill-badge strong{text-align:center;line-height:1.25}.mx-skill-badge small{font-size:10px;color:#758196}
.mx-textbook-browser{max-width:none!important;margin:0!important;padding:0!important;display:grid!important;grid-template-columns:330px minmax(0,1fr);min-height:calc(100vh - 74px);background:#f4f5f7}.mx-textbook-sidebar{background:#fff;border-right:1px solid #dfe2e8;min-height:calc(100vh - 74px);padding:16px;overflow:auto;position:sticky;top:74px;height:calc(100vh - 74px)}.mx-textbook-search form{display:grid;grid-template-columns:1fr 42px;border:1px solid #aeb4bf;border-radius:7px;overflow:hidden}.mx-textbook-search input{border:0;padding:12px 14px;font:inherit;min-width:0}.mx-textbook-search button{border:0;background:#fff;font-size:20px}.mx-textbook-year{margin:12px 0}.mx-textbook-year label{display:grid;gap:5px;font-size:11px;font-weight:800;color:#677085}.mx-textbook-year select{padding:10px;border:1px solid #d8dce4;border-radius:8px;background:#fff}.mx-textbook-course{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.mx-textbook-course button{border:1px solid #dddfea;background:#fff;border-radius:999px;padding:6px 9px;font-size:10px}.mx-textbook-course button.active{background:#eeeaff;color:#5038bd;border-color:#cec4ff}.mx-textbook-book-card{width:100%;display:grid;grid-template-columns:50px 1fr;gap:12px;align-items:center;text-align:left;border:1px solid #dde1e7;border-radius:9px;padding:8px;background:#fff}.mx-textbook-cover{width:50px;height:64px;border-radius:5px;background:linear-gradient(145deg,#16273e,#40bca8);color:#fff;display:grid;place-items:center;font-size:23px;font-weight:900}.mx-textbook-book-card strong,.mx-textbook-book-card small{display:block}.mx-textbook-book-card small{margin-top:4px;color:#747c8a}.mx-textbook-toc{margin-top:14px;padding-right:4px}.mx-textbook-topic{border-bottom:1px solid #edf0f4;padding:10px 2px}.mx-textbook-topic>strong{display:block;color:#505a72;font-size:14px;margin-bottom:7px}.mx-textbook-topic button{display:block;width:100%;border:0;background:transparent;text-align:left;color:#68728a;padding:7px 8px;border-radius:6px;cursor:pointer;font-size:12px}.mx-textbook-topic button:hover{background:#f4f2ff;color:#5038bd}.mx-textbook-main{min-width:0;display:grid;place-items:center;padding:44px;background:#f3f4f6}.mx-textbook-empty{text-align:center;max-width:650px;color:#343b4d}.mx-textbook-illustration{width:150px;height:120px;margin:0 auto 22px;display:grid;place-items:center;font-size:78px;color:#a9afbd}.mx-textbook-empty h1{font-size:24px;margin:0 0 10px}.mx-textbook-empty>p{color:#687182}.mx-textbook-welcome{margin:24px auto 0;padding:18px 22px;border-radius:14px;background:#fff;border:1px solid #e0e3e8;display:grid;gap:6px;max-width:520px}.mx-textbook-welcome span,.mx-textbook-welcome small{color:#687182}.mx-textbook-main-head{width:min(900px,100%);display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.mx-textbook-search-list{width:min(900px,100%);display:grid;gap:8px;align-self:start}.mx-textbook-search-list>button{display:grid;grid-template-columns:52px 1fr 20px;gap:12px;align-items:center;text-align:left;padding:13px 15px;border-radius:10px;border:1px solid #dfe2e8;background:#fff}.mx-textbook-search-list strong,.mx-textbook-search-list small{display:block}.mx-textbook-search-list small{margin-top:3px;color:#757d8c}
.owner-account-grid,.owner-reward-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.owner-account-grid label,.owner-reward-controls label{display:grid;gap:5px;font-size:11px;font-weight:800}.owner-account-grid input,.owner-account-grid select,.owner-reward-controls input{padding:10px 11px;border:1px solid #d9d3e4;border-radius:9px;background:#fff}.owner-reward-controls{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end}.owner-reward-controls .btn{height:40px}
@media(max-width:980px){.learn-recommended-panel{grid-template-columns:1fr!important}.daily-mission-grid{grid-template-columns:1fr}.mx-skill-badge-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mx-textbook-browser{grid-template-columns:280px minmax(0,1fr)}.owner-reward-controls{grid-template-columns:1fr 1fr}.owner-reward-controls .btn{grid-column:1/-1}}
@media(max-width:720px){.minimal-learn-page,.mx-skill-map-page{padding-inline:12px!important}.learn-recommended-grid,.learn-next-row{grid-template-columns:1fr!important}.mx-skill-badge-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 8px}.mx-textbook-browser{display:block!important}.mx-textbook-sidebar{position:static;height:auto;min-height:0;border-right:0;border-bottom:1px solid #dfe2e8}.mx-textbook-main{min-height:420px;padding:30px 18px}.owner-account-grid,.owner-reward-controls{grid-template-columns:1fr}}

/* v9.4.2 learning stability + review polish */
.assignment-progress-dot.done.first-try{background:#e9f7ed!important;border-color:#63b77a!important;color:#27713d!important}
.assignment-progress-dot.done.warning{background:#fff2bd!important;border-color:#e0b63e!important;color:#7d5e00!important}
.assignment-progress-dot.done.struggle{background:#ffe1dd!important;border-color:#df786d!important;color:#9e332b!important}
.assignment-progress-dot.done.review{background:#fff0c8!important;border-color:#e0a93e!important;color:#795500!important}
.assignment-review-previous{border:1px solid #d8d2c7;background:#fff;color:#5d554b;border-radius:10px;padding:10px 14px;font-weight:800;cursor:pointer}
.previous-question-review{display:grid;gap:18px}.previous-question-result{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px}.previous-question-result.correct{background:#e9f7ed;color:#276b3b}.previous-question-result.review{background:#fff1c8;color:#765800}.previous-question-result.wrong{background:#ffe3df;color:#8e342d}.previous-question-answer{display:grid;gap:5px;padding:14px;border:1px solid #e6dfd4;border-radius:12px;background:#fff}
.home-admin-shortcuts{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;border:1px solid #ded8cc;border-radius:14px;background:#fff}.home-admin-shortcuts div{display:grid;gap:3px}.home-admin-shortcuts span{color:#746d63;font-size:13px}
.mx-textbook-topic{border-top:1px solid #e4ded3}.mx-textbook-topic-toggle{width:100%;display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;text-align:left;border:0;background:transparent;padding:12px 8px;color:inherit;cursor:pointer}.mx-textbook-topic-toggle strong{font-size:13px}.mx-textbook-topic-toggle small{color:#8a8277}.mx-textbook-topic-lessons{display:grid;padding:0 4px 10px 28px;content-visibility:auto;contain-intrinsic-size:1px 420px}.mx-textbook-topic-lessons button{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px;text-align:left;border:0;background:transparent;padding:7px 8px;border-radius:8px;color:#5d574f;cursor:pointer}.mx-textbook-topic-lessons button:hover{background:#f3efe7}.mx-textbook-topic-lessons button span{font-size:10px;color:#8b8276}.mx-textbook-topic-lessons button b{font-size:12px;font-weight:700;white-space:normal}
.scientific-calculator .calculator-result{min-height:34px;display:flex;align-items:center;justify-content:flex-end}.scientific-calculator .calculator-expression{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
@media(max-width:700px){.home-admin-shortcuts{align-items:stretch;flex-direction:column}.assignment-bottom-left{flex-wrap:wrap}.mx-textbook-topic-lessons{padding-left:16px}}

/* v9.4.2 Math Chess visual refresh */
.math-chess-board-column{display:grid;gap:10px;max-width:700px;margin:0 auto;width:100%}
.math-chess-board-frame{padding:10px;border-radius:22px;background:linear-gradient(145deg,#27242d,#4a4357);box-shadow:0 22px 60px rgba(31,25,45,.22),inset 0 1px 0 rgba(255,255,255,.12)}
.math-chess-board{border:0!important;border-radius:13px!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)!important}
.math-chess-square.light{background:linear-gradient(145deg,#f2eadc,#e9dfcf)!important}
.math-chess-square.dark{background:linear-gradient(145deg,#8d7dad,#726493)!important}
.math-chess-piece{font-family:"Apple Symbols","Segoe UI Symbol","Noto Sans Symbols 2",serif!important;filter:drop-shadow(0 2px 1px rgba(0,0,0,.2))}
.math-chess-piece.white-piece{color:#fffaf0!important;-webkit-text-stroke:1px #3b3542!important;text-shadow:0 1px 2px rgba(0,0,0,.28)!important}
.math-chess-piece.black-piece{color:#24202b!important;-webkit-text-stroke:.35px #0b0910!important;text-shadow:0 1px 0 rgba(255,255,255,.2)!important}
.math-chess-player-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px 13px;border:1px solid #ded7e7;border-radius:14px;background:rgba(255,255,255,.9);box-shadow:0 5px 16px rgba(45,38,62,.05)}
.math-chess-player-card .player-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#eee9f6;font:26px/1 "Apple Symbols","Segoe UI Symbol",serif}.math-chess-player-card div{display:grid}.math-chess-player-card small{font-size:9px;font-weight:900;letter-spacing:.1em;color:#8a8292}.math-chess-player-card strong{font-size:13px}.math-chess-player-card>b{font-size:10px;padding:5px 8px;border-radius:999px;background:#f1edf7;color:#625776}
.math-chess-player-card.you{border-color:#d9c97e}.math-chess-player-card.you .player-avatar{background:#fff4c9}.math-chess-player-card.you>b{background:#edf8ef;color:#39734a}

/* v9.4.6 Parent email delivery + family discoverability + chess save/resume */
.student-parent-link-shell{display:grid;gap:18px}.parent-link-hero{padding:18px;border-radius:18px;background:linear-gradient(135deg,#f5f1ff,#fff9eb);border:1px solid #e2daf1}.parent-link-hero h3{margin:5px 0 7px;font-size:24px}.parent-link-hero p{margin:0;color:#6f6878;line-height:1.5}.parent-invite-form{padding:18px;border:1px solid #e1d9e9;border-radius:18px;background:#fff}.family-links-card{margin:0!important}.family-shortcut-card p{margin:7px 0 13px;color:#716a76;line-height:1.45}.class-header-actions{flex-wrap:wrap!important}
.math-chess-subtitle{margin:4px 0 0;color:#6f6878;font-size:13px}.math-chess-paused{border:2px solid #dbc86c!important;background:#fffaf0!important}.saved-chess-banner{display:grid;gap:8px;margin-top:12px;padding:12px;border:1px solid #d9c97e;border-radius:14px;background:#fff9e8}.saved-chess-banner strong{font-size:16px}.saved-chess-banner span{font-size:12px;color:#6f6878}.saved-chess-banner .btn{width:100%}
/* Standard, cleaner chessboard */
.math-chess-board-frame{background:#312e2b!important;padding:8px!important;border-radius:12px!important;box-shadow:0 14px 36px rgba(0,0,0,.18)!important}.math-chess-board{border-radius:6px!important;background:#312e2b!important}.math-chess-square.light{background:#f0d9b5!important}.math-chess-square.dark{background:#b58863!important}.math-chess-square.last-move:not(.selected){box-shadow:inset 0 0 0 999px rgba(246,246,105,.28)!important}.math-chess-square.selected{box-shadow:inset 0 0 0 4px rgba(255,226,68,.95)!important}.math-chess-square.target:after{background:rgba(30,30,30,.28)!important;width:22%!important;height:22%!important}.math-chess-square.target:has(.math-chess-piece:not(:empty)):after{background:transparent!important;border:5px solid rgba(30,30,30,.28)!important;width:80%!important;height:80%!important}.math-chess-piece.white-piece{color:#fff!important;-webkit-text-stroke:1.3px #222!important;text-shadow:0 2px 2px rgba(0,0,0,.2)!important}.math-chess-piece.black-piece{color:#1f1f1f!important;-webkit-text-stroke:.2px #000!important;text-shadow:0 1px 1px rgba(255,255,255,.12)!important}
@media(max-width:720px){.student-parent-link-shell{gap:12px}.parent-link-hero,.parent-invite-form{padding:14px}.class-header-actions .btn{flex:1 1 auto}}
.parent-email-actions{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:18px;align-items:start}.parent-email-link-row{display:flex!important;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.parent-email-link-row>span:first-child{display:grid;gap:4px}.parent-email-link-row small{color:var(--muted,#746f67)}@media(max-width:800px){.parent-email-actions{grid-template-columns:1fr}.parent-email-link-row{align-items:flex-start}}

/* v9.5 personal themes, Skills Focus and reporting polish */
:root{
  --mx-user-bg:#f7f1e7;
  --mx-user-accent:#738158;
  --mx-card-alpha:.96;
  --mx-card-blur:8px;
}
html,body,.relaxed-shell,.relaxed-main-shell,.main-shell{
  background:var(--mx-user-bg) center/cover fixed !important;
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.28;
}
html[data-mx-pattern="dots"] body::before{background-image:radial-gradient(circle at 1px 1px,rgba(55,50,45,.18) 1px,transparent 1.5px);background-size:20px 20px}
html[data-mx-pattern="grid"] body::before{background-image:linear-gradient(rgba(55,50,45,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(55,50,45,.09) 1px,transparent 1px);background-size:28px 28px}
html[data-mx-pattern="waves"] body::before{background-image:radial-gradient(ellipse at 0 100%,transparent 42%,rgba(52,111,125,.12) 44%,transparent 47%);background-size:90px 45px}
html[data-mx-pattern="stars"] body::before{background-image:radial-gradient(circle,rgba(255,255,255,.48) 1px,transparent 1.4px),radial-gradient(circle,rgba(255,255,255,.22) 1px,transparent 1.3px);background-size:42px 42px,73px 73px;background-position:0 0,19px 27px}
.relaxed-topbar{backdrop-filter:blur(calc(var(--mx-card-blur) + 4px));background:rgba(255,250,242,.88)!important}
.minimal-home-section,.calm-card,.card,.curriculum-head,.learn-recommended-panel,.daily-missions-section,.learn-strand,.textbook-shell,.teacher-metrics article,.school-section,.school-panel,.student-class-panel,.profile-hero,.assignment-card,.task-library-card,.modal{
  backdrop-filter:blur(var(--mx-card-blur));
  background:rgba(255,253,248,var(--mx-card-alpha))!important;
}
.btn.primary,.brand-mark,.menu-player .avatar,.progress-fill.green{background:var(--mx-user-accent)!important}
.text-link,.back-link,.nav-item.active,.eyebrow{color:var(--mx-user-accent)}
.nav-item.active{border-color:color-mix(in srgb,var(--mx-user-accent) 35%,#d8cab7)}
html.mx-theme-dark body,html.mx-theme-dark .relaxed-shell,html.mx-theme-dark .relaxed-main-shell,html.mx-theme-dark .main-shell{color:#eef2ff!important}
html.mx-theme-dark .minimal-home-section,html.mx-theme-dark .calm-card,html.mx-theme-dark .card,html.mx-theme-dark .curriculum-head,html.mx-theme-dark .learn-recommended-panel,html.mx-theme-dark .daily-missions-section,html.mx-theme-dark .learn-strand,html.mx-theme-dark .textbook-shell,html.mx-theme-dark .teacher-metrics article,html.mx-theme-dark .school-section,html.mx-theme-dark .school-panel,html.mx-theme-dark .student-class-panel,html.mx-theme-dark .profile-hero,html.mx-theme-dark .assignment-card,html.mx-theme-dark .task-library-card,html.mx-theme-dark .modal{background:rgba(18,26,43,var(--mx-card-alpha))!important;color:#eef2ff!important;border-color:#39445a!important}
html.mx-theme-dark .muted,html.mx-theme-dark small,html.mx-theme-dark p,html.mx-theme-dark .lock-note{color:#b8c1d5!important}
.theme-preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}
.theme-preset-card{display:grid;gap:8px;border:1px solid #d8cab7;border-radius:14px;padding:9px;cursor:pointer;background:#fffdf8}
.theme-preset-card input{position:absolute;opacity:0;pointer-events:none}.theme-preset-card.active,.theme-preset-card:has(input:checked){outline:2px solid var(--mx-user-accent);outline-offset:1px}
.theme-preset-preview{height:64px;border-radius:10px;border:1px solid rgba(0,0,0,.08)}
.theme-upload-box{border:1px dashed #cdbfae;border-radius:14px;padding:14px;background:rgba(255,255,255,.45)}
.recommendation-control-bar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:12px 0;padding:12px 14px;border:1px solid #ded2c2;border-radius:14px;background:rgba(255,253,248,.88)}
.recommendation-control-bar strong,.recommendation-control-bar span{display:block}.recommendation-control-bar span{font-size:10px;color:#7a7066;margin-top:2px}
.recommendation-chip-row{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.recommendation-chip-row button{border:1px solid #d7caba;background:#f4ecdf;border-radius:999px;padding:7px 10px;font-weight:850;color:#5d554c;cursor:pointer}.recommendation-chip-row button.active{background:var(--mx-user-accent);color:#fff;border-color:transparent}
.skills-focus-panel{margin:12px 0;padding:16px;border:1px solid color-mix(in srgb,var(--mx-user-accent) 30%,#ddd2c3);border-radius:18px;background:color-mix(in srgb,var(--mx-user-accent) 7%,rgba(255,253,248,.95))}
.skills-focus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.skills-focus-grid button{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;text-align:left;border:1px solid #ddd1c1;background:#fffdf8;border-radius:14px;padding:12px;cursor:pointer}.skills-focus-grid strong,.skills-focus-grid small{display:block}.skills-focus-grid small{margin-top:3px;color:#756b60}.focus-priority{font-size:10px;letter-spacing:2px;color:#c59a3d}.focus-priority.p3{color:#b75d4c}
.school-usage-chart{display:flex;align-items:flex-end;gap:8px;height:190px;padding:14px;border:1px solid #ddd2c3;border-radius:14px;background:#fffaf2;overflow:auto}.school-usage-chart article{min-width:44px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}.school-usage-chart i{display:block;width:24px;min-height:3px;border-radius:8px 8px 3px 3px;background:var(--mx-user-accent)}
.class-comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.class-comparison-card{padding:14px;border:1px solid #ddd2c3;border-radius:14px;background:#fffdf8}.class-comparison-card header{display:flex;justify-content:space-between;gap:8px}.class-comparison-card .dual-meter{display:grid;gap:6px;margin:10px 0}.class-comparison-card .dual-meter span{display:grid;grid-template-columns:70px 1fr 45px;align-items:center;gap:8px;font-size:10px}.class-comparison-card .dual-meter i{height:8px;border-radius:99px;background:#e9dfd1;overflow:hidden}.class-comparison-card .dual-meter i b{display:block;height:100%;background:var(--mx-user-accent)}
@media(max-width:850px){.theme-preset-grid,.skills-focus-grid,.class-comparison-grid{grid-template-columns:1fr}.recommendation-control-bar{align-items:flex-start;flex-direction:column}.recommendation-chip-row{justify-content:flex-start}}

/* v9.5 reporting + authored content */
.teacher-create-anywhere{background:var(--mx-user-accent)!important;box-shadow:0 12px 30px color-mix(in srgb,var(--mx-user-accent) 30%,transparent)!important}
.report-filter-row,.district-report-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px;padding:10px 12px;border:1px solid #ddd2c3;border-radius:12px;background:rgba(255,253,248,.88)}
.report-filter-row label,.district-report-controls label{display:flex;gap:8px;align-items:center;font-size:10px;font-weight:850}.report-filter-row select,.district-report-controls select{border:1px solid #d7caba;border-radius:9px;background:#fffdf8;padding:7px 9px}
.district-tab-row{display:flex;gap:6px;flex-wrap:wrap}.district-tab-row button{border:1px solid #d7caba;background:#f4ecdf;border-radius:999px;padding:7px 10px;font-weight:850;cursor:pointer}.district-tab-row button.active{background:var(--mx-user-accent);color:#fff;border-color:transparent}
.authored-question-list{display:grid;gap:10px;max-height:440px;overflow:auto}.authored-question-list article{border:1px solid #ddd2c3;border-radius:14px;padding:13px;background:#fffdf8}.authored-question-list header{display:flex;justify-content:space-between;gap:10px}.authored-question-list strong,.authored-question-list small{display:block}.authored-question-list p{margin:10px 0;color:#5f574f;line-height:1.5}
.class-section-head.spaced{margin-top:22px;padding-top:18px;border-top:1px solid #e2d7c9}


/* v9.5.1 production-safety guard */
.mx-production-guard{position:relative;z-index:10000;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:9px 16px;background:#fff1c7;border-bottom:1px solid #d7aa35;color:#5e4700;font-size:12px;line-height:1.35;text-align:center}
.mx-production-guard strong{font-weight:900}.mx-production-guard span{max-width:980px}
@media(max-width:720px){.mx-production-guard{font-size:11px;padding:8px 10px}}
