:root {
  --text-min:18px;
  color-scheme: light;
  --bg: #f6f8fb;
  --surface: #ffffff;
  --surface-soft: #f2f6fb;
  --surface-blue: #eef4ff;
  --ink: #0c1830;
  --text: #17233a;
  --muted: #5d6b80;
  --navy: #102b56;
  --navy-2: #173f76;
  --blue: #1f5eff;
  --blue-2: #1247c8;
  --blue-soft: #eaf1ff;
  --gold: #bf8a2d;
  --gold-soft: #fff5df;
  --line: #dce4ef;
  --line-strong: #c7d3e2;
  --success: #12653b;
  --success-bg: #e8f7ee;
  --warning: #805300;
  --warning-bg: #fff6df;
  --danger: #912d28;
  --danger-bg: #fff0ee;
  --shadow-sm: 0 8px 26px rgba(16,43,86,.07);
  --shadow: 0 22px 60px rgba(16,43,86,.12);
  --radius: 18px;
  --header-h: 76px;
}

[data-theme="dark"] {
  color-scheme: dark;
  --bg: #09111f;
  --surface: #111d30;
  --surface-soft: #16243a;
  --surface-blue: #172c50;
  --ink: #f6f8ff;
  --text: #eef3ff;
  --muted: #b7c3d5;
  --navy: #e8efff;
  --navy-2: #c9d9f6;
  --blue: #84a4ff;
  --blue-2: #a9bcff;
  --blue-soft: #183361;
  --gold: #e3b454;
  --gold-soft: #3c3017;
  --line: #2c405d;
  --line-strong: #3f5778;
  --success: #8be0aa;
  --success-bg: #113725;
  --warning: #ffd17a;
  --warning-bg: #392c12;
  --danger: #ffaaa3;
  --danger-bg: #411d20;
  --shadow-sm: 0 8px 24px rgba(0,0,0,.18);
  --shadow: 0 24px 64px rgba(0,0,0,.32);
}

[data-contrast="high"] {
  --muted: var(--text);
  --line: var(--line-strong);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; font-size: 18px; scroll-padding-top: 112px; }
html[data-text-size="large"] { font-size: 20px; }
html[data-reduce-motion="true"] *, html[data-reduce-motion="true"] *::before, html[data-reduce-motion="true"] *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
body { margin: 0; min-width: 320px; background: var(--bg); color: var(--text); font: 1rem/1.65 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; text-rendering: optimizeLegibility; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: var(--blue-2); }
svg { display: block; }
button svg, a svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.skip-link { position: fixed; z-index: 200; top: 8px; left: 8px; transform: translateY(-150%); padding: 10px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--ink); box-shadow: var(--shadow-sm); }
.skip-link:focus { transform: none; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

#site-header { position: sticky; z-index: 80; top: 0; min-height: var(--header-h); border-bottom: 1px solid color-mix(in srgb,var(--line) 82%,transparent); background: color-mix(in srgb,var(--surface) 94%,transparent); backdrop-filter:none; }
.header-inner { width: min(1560px,100%); min-height: var(--header-h); margin: 0 auto; padding: 9px clamp(16px,3vw,44px); display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { min-width: 0; display: flex; align-items: center; gap: 12px; color: var(--ink); text-decoration: none; }
.brand-mark { position: relative; width: 44px; height: 44px; flex: 0 0 44px; display: grid; place-items: center; border: 1px solid #1c4a8f; border-radius: 12px; background: linear-gradient(145deg,#102b56,#194987); color: #fff; box-shadow: 0 8px 18px rgba(16,43,86,.16); }
.brand-mark::after { content:""; position:absolute; right:7px; bottom:7px; width:6px; height:6px; border-radius:50%; background:var(--gold); }
.brand-t { font-size: 24px; font-weight: 900; line-height: 1; letter-spacing: -.08em; }
.brand-copy { min-width: 0; }
.brand-name { display: block; color: var(--ink); font-weight: 850; line-height: 1.08; letter-spacing: -.025em; white-space: nowrap; }
.brand-company { display: block; margin-top: 3px; color: var(--muted); font-size:1rem; line-height: 1.1; white-space: nowrap; }
.desktop-nav { display: flex; align-items: center; gap: 30px; }
.desktop-nav a { position: relative; padding: 10px 0; color: var(--text); text-decoration: none; font-size:1rem; font-weight: 700; }
.desktop-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:5px; height:2px; background:var(--gold); transition:right .18s ease; }
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after { right:0; }
.header-actions { display: flex; align-items: center; gap: 8px; }
.icon-button, .language-toggle button { min-width: 44px; min-height: 44px; display: inline-grid; place-items: center; border: 1px solid var(--line); background: var(--surface); color: var(--text); border-radius: 11px; padding: 8px; cursor: pointer; font-weight: 760; }
.icon-button:hover, .language-toggle button:hover { border-color: var(--blue); }
.language-toggle { display: flex; overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); }
.language-toggle button { min-width: 46px; border: 0; border-radius: 0; }
.language-toggle button[aria-pressed="true"] { background: var(--navy); color: #fff; }
[data-theme="dark"] .language-toggle button[aria-pressed="true"] { background:#e8efff; color:#102b56; }
.menu-trigger, .tools-trigger { display: none; }

#app-shell { min-height: calc(100vh - var(--header-h)); }
#app-shell.home-shell { display: block; }
#app-shell.chapter-shell { display: grid; grid-template-columns: 278px minmax(0,1fr) 292px; }
#sidebar, #study-tools { min-width: 0; }
#sidebar { position: sticky; top: var(--header-h); align-self: start; height: calc(100vh - var(--header-h)); overflow-y: auto; padding: 24px 14px 36px; border-right: 1px solid var(--line); background: var(--surface); }
.side-top, .tools-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 0 7px; }
.side-kicker, .tools-kicker { margin: 0 0 7px; color: var(--muted); font-size:1rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.side-home { display: inline-flex; color: var(--ink); font-size: 1.06rem; font-weight: 850; text-decoration: none; }
.side-overall { margin: 18px 7px 26px; padding: 14px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface-soft); }
.side-progress-copy { display:flex; justify-content:space-between; gap:8px; color:var(--muted); font-size:1rem; }
.side-progress-copy strong { color:var(--ink); }
.side-progress, .progress-track { height: 7px; overflow: hidden; border-radius: 999px; background: color-mix(in srgb,var(--line) 65%,transparent); }
.side-progress { margin-top: 10px; }
.side-progress span, .progress-track span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--blue),#6d8fff); }
.side-group { margin-bottom: 22px; }
.side-group-title { margin: 0 8px 7px; color: var(--muted); font-size:1rem; font-weight: 820; letter-spacing:.015em; }
.side-link { position:relative; display:flex; align-items:center; justify-content:space-between; gap:8px; margin: 2px 0; padding: 9px 10px; border-radius: 9px; color: var(--text); text-decoration:none; font-size:1rem; line-height:1.35; }
.side-link:hover { background: var(--surface-soft); color:var(--ink); }
.side-link.current { background: var(--blue-soft); color:var(--navy); font-weight:800; }
.side-current-dot { width:7px; height:7px; flex:0 0 7px; border-radius:50%; background:var(--gold); }
.drawer-close { display:none; width:44px; height:44px; border:1px solid var(--line); border-radius:10px; background:var(--surface); color:var(--text); cursor:pointer; font-size:1.4rem; line-height:1; }

#study-tools { position: sticky; top: var(--header-h); align-self:start; height: calc(100vh - var(--header-h)); overflow-y:auto; padding:24px 16px 38px; border-left:1px solid var(--line); background:var(--surface); }
.tools-top h2 { margin:0; color:var(--ink); font-size:1rem; line-height:1.25; letter-spacing:-.015em; }
.tool-panel { margin-top:18px; padding:16px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.tool-panel h3 { margin:0 0 10px; color:var(--ink); font-size:1rem; letter-spacing:-.01em; }
.tool-panel p { margin:8px 0 0; color:var(--muted); font-size:1rem; line-height:1.5; }
.tool-title-row { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.tool-title-row h3 { margin:0; }
.tool-title-row strong { color:var(--blue-2); }
.lesson-map { display:grid; gap:3px; }
.lesson-map a { padding:8px 9px; border-radius:8px; color:var(--text); text-decoration:none; font-size:1rem; font-weight:680; }
.lesson-map a:hover { background:var(--surface-soft); color:var(--blue-2); }
.tool-toggle-grid { display:grid; gap:7px; }
.tool-toggle-grid button { min-height:42px; padding:8px 10px; border:1px solid var(--line); border-radius:9px; background:var(--surface-soft); color:var(--text); text-align:left; cursor:pointer; font-size:1rem; font-weight:700; }
.tool-toggle-grid button[aria-pressed="true"] { border-color:var(--blue); background:var(--blue-soft); color:var(--navy); }
.prereq-list { margin:0; padding-left:18px; color:var(--muted); font-size:1rem; }
.notebook-panel textarea { width:100%; min-height:130px; resize:vertical; margin-top:10px; padding:10px 11px; border:1px solid var(--line); border-radius:10px; background:var(--surface-soft); color:var(--text); line-height:1.5; }
.save-status { display:block; min-height:20px; margin-top:5px; color:var(--success); font-size:1rem; font-weight:700; }
.back-top { display:inline-flex; margin:18px 4px 0; color:var(--muted); font-size:1rem; font-weight:750; text-decoration:none; }
#shell-overlay { display:none; position:fixed; z-index:88; inset:var(--header-h) 0 0; background:rgba(7,16,31,.38); }
#shell-overlay.show { display:block; }

#main { min-width:0; width:min(1180px,100%); margin:0 auto; padding:clamp(30px,4.6vw,70px); }
.home-shell #main { width:min(1500px,100%); padding-top:clamp(34px,5vw,78px); }
.eyebrow { margin:0 0 11px; color:var(--blue-2); font-size:1rem; font-weight:860; letter-spacing:.13em; text-transform:uppercase; }
h1,h2,h3,h4 { color:var(--ink); line-height:1.12; letter-spacing:-.035em; }
h1 { margin:0; font-size:clamp(2.65rem,5.2vw,5.35rem); }
h2 { margin:0; font-size:clamp(1.85rem,3vw,3.2rem); }
h3 { font-size:1.3rem; }
p { text-wrap:pretty; }
.lead { max-width:800px; margin:16px 0 0; color:var(--muted); font-size:1.08rem; line-height:1.68; }

.home-hero { position:relative; display:grid; grid-template-columns:minmax(0,1.02fr) minmax(430px,.98fr); gap:clamp(36px,5vw,82px); align-items:center; min-height:610px; margin-bottom:80px; }
.hero-copy { position:relative; z-index:2; padding:22px 0; }
.hero-copy h1 span, .hero-copy h1 em { display:block; }
.hero-copy h1 em { color:var(--blue-2); font-family:Georgia,"Times New Roman",serif; font-weight:500; font-style:italic; letter-spacing:-.055em; }
.hero-lead { max-width:760px; margin:25px 0 0; color:var(--muted); font-size:1.16rem; line-height:1.72; }
.hero-trust-row { display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:25px; color:var(--text); font-size:1rem; font-weight:730; }
.hero-trust-row span { display:inline-flex; align-items:center; gap:7px; }
.hero-trust-row svg { width:17px; height:17px; color:var(--success); stroke-width:2.3; }
.action-row { display:flex; flex-wrap:wrap; gap:11px; margin-top:30px; }
.button { min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:11px 18px; border:1px solid var(--line-strong); border-radius:11px; background:var(--surface); color:var(--ink); text-decoration:none; cursor:pointer; font-weight:800; box-shadow:none; transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease; }
.button:hover { transform:translateY(-1px); border-color:var(--blue); box-shadow:var(--shadow-sm); }
.button.primary { border-color:var(--blue); background:linear-gradient(135deg,var(--blue),#1649c6); color:#fff; }
.button.secondary { background:var(--surface); }
.hero-doctrine { margin:25px 0 0; color:var(--muted); font-size:1rem; line-height:1.55; }
.hero-doctrine strong { color:var(--navy); }
.hero-doctrine span { color:var(--text); font-weight:700; }

.math-stage { position:relative; min-height:520px; overflow:hidden; border:1px solid var(--line); border-radius:30px; background:linear-gradient(145deg,#fbfdff 0%,#edf4ff 57%,#f8f0df 135%); box-shadow:var(--shadow); isolation:isolate; }
[data-theme="dark"] .math-stage { background:linear-gradient(145deg,#101d31,#142743 57%,#2c271d 135%); }
.math-stage-glow { position:absolute; width:340px; height:340px; right:-120px; top:-120px; border-radius:50%; background:radial-gradient(circle,rgba(31,94,255,.18),transparent 68%); }
.math-graph { position:absolute; inset:24px; width:calc(100% - 48px); height:calc(100% - 48px); color:rgba(31,94,255,.10); }
.math-graph .axis { fill:none; stroke:rgba(16,43,86,.28); stroke-width:1.6; }
[data-theme="dark"] .math-graph .axis { stroke:rgba(225,235,255,.30); }
.math-graph .curve { fill:none; stroke-linecap:round; stroke-width:6; }
.math-graph .curve-a { stroke:#1f5eff; }
.math-graph .curve-b { stroke:#bf8a2d; stroke-width:5; }
.math-graph .graph-point { fill:#fff; stroke:#1f5eff; stroke-width:4; }
.formula-card { position:absolute; z-index:3; min-height:48px; display:flex; align-items:center; padding:9px 14px; border:1px solid rgba(199,211,226,.9); border-radius:13px; background:color-mix(in srgb,var(--surface) 92%,transparent); color:var(--ink); box-shadow:0 12px 30px rgba(16,43,86,.11); font-size:1rem; font-weight:720; backdrop-filter:blur(10px); }
.formula-a { left:8%; top:11%; transform:rotate(-2deg); }
.formula-b { right:8%; top:21%; transform:rotate(2deg); }
.formula-c { left:14%; bottom:19%; transform:rotate(1deg); }
.formula-d { right:9%; bottom:10%; transform:rotate(-2deg); }
.stage-caption { position:absolute; z-index:4; left:50%; top:50%; transform:translate(-50%,-50%); width:min(78%,360px); padding:18px 20px; display:flex; align-items:center; gap:11px; border:1px solid var(--line); border-radius:16px; background:color-mix(in srgb,var(--surface) 94%,transparent); color:var(--navy); box-shadow:var(--shadow-sm); }
.stage-dot { width:12px; height:12px; flex:0 0 12px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 6px color-mix(in srgb,var(--gold) 18%,transparent); }

.section-intro { max-width:900px; margin-bottom:30px; }
.section-intro h2 { max-width:850px; }
.section-intro > p:last-child { max-width:780px; margin:16px 0 0; color:var(--muted); font-size:1.03rem; }
.journey-section, .direction-section, .corpus-section { margin:88px 0; }
.journey-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.journey-grid article { min-width:0; padding:28px 24px 32px; border-right:1px solid var(--line); }
.journey-grid article:last-child { border-right:0; }
.journey-number { display:block; margin-bottom:28px; color:var(--gold); font-size:1rem; font-weight:850; letter-spacing:.12em; }
.journey-grid h3 { margin:0 0 10px; font-size:1.35rem; }
.journey-grid p { margin:0; color:var(--muted); font-size:1rem; }
.direction-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.direction-grid a { position:relative; min-height:210px; padding:27px 62px 27px 27px; border:1px solid var(--line); border-radius:18px; background:var(--surface); color:inherit; text-decoration:none; transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease; }
.direction-grid a:hover { transform:translateY(-2px); border-color:var(--blue); box-shadow:var(--shadow-sm); }
.direction-grid a > span { color:var(--gold); font-size:1rem; font-weight:860; letter-spacing:.12em; }
.direction-grid h3 { margin:18px 0 10px; }
.direction-grid p { margin:0; color:var(--muted); }
.direction-grid svg { position:absolute; right:24px; bottom:25px; color:var(--blue-2); }
.philosophy-band { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr); gap:50px; align-items:end; margin:96px 0; padding:44px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.philosophy-band h2 { max-width:780px; font-family:Georgia,"Times New Roman",serif; font-weight:500; font-style:italic; }
.philosophy-band > p { margin:0; color:var(--muted); font-size:1.04rem; }
.corpus-intro { max-width:none; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:44px; align-items:end; }
.corpus-stats { display:grid; grid-template-columns:repeat(2,minmax(104px,1fr)); gap:8px; }
.corpus-stats span { padding:13px 14px; border:1px solid var(--line); border-radius:12px; background:var(--surface); color:var(--muted); font-size:1rem; line-height:1.2; }
.corpus-stats strong { display:block; margin-bottom:4px; color:var(--navy); font-size:1.42rem; }
.scope-ribbon { display:flex; align-items:center; justify-content:space-between; gap:30px; margin:32px 0 54px; padding:20px 22px; border:1px solid var(--line); border-left:4px solid var(--gold); border-radius:14px; background:var(--surface); }
.scope-ribbon strong { color:var(--ink); }
.scope-ribbon p { margin:4px 0 0; color:var(--muted); font-size:1rem; }
.scope-tags { flex:0 0 auto; display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.scope-tags span { padding:6px 9px; border-radius:999px; background:var(--surface-soft); color:var(--text); font-size:1rem; font-weight:750; }
.track-block { scroll-margin-top:100px; margin-bottom:70px; }
.track-head { display:flex; align-items:flex-start; justify-content:space-between; gap:30px; margin-bottom:19px; }
.track-head > div { display:grid; grid-template-columns:42px minmax(0,1fr); column-gap:15px; align-items:start; }
.track-index { grid-row:1/3; margin:3px 0 0; color:var(--gold); font-size:1rem; font-weight:850; letter-spacing:.12em; }
.track-head h3 { margin:0; font-size:1.55rem; }
.track-head p:not(.track-index) { grid-column:2; max-width:760px; margin:7px 0 0; color:var(--muted); font-size:1rem; }
.track-count { flex:0 0 auto; padding-top:5px; color:var(--muted); font-size:1rem; font-weight:700; }
.card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
.chapter-card { min-width:0; min-height:280px; display:flex; flex-direction:column; padding:22px; border:1px solid var(--line); border-radius:17px; background:var(--surface); color:inherit; text-decoration:none; transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease; }
.chapter-card:hover { transform:translateY(-2px); border-color:var(--blue); box-shadow:var(--shadow-sm); }
.card-topline { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.level-chip { display:inline-flex; padding:5px 8px; border-radius:999px; background:var(--blue-soft); color:var(--navy); font-size:1rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.card-progress-label { color:var(--muted); font-size:1rem; font-weight:750; }
.chapter-card h4 { margin:19px 0 9px; font-size:1.18rem; }
.chapter-card > p { flex:1; margin:0 0 18px; color:var(--muted); font-size:1rem; }
.card-meta { display:flex; flex-wrap:wrap; gap:11px; color:var(--muted); font-size:1rem; }
.chapter-card .progress-track { margin-top:13px; }
.card-cta { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:18px; color:var(--blue-2); font-size:1rem; font-weight:820; }
.card-cta svg { width:18px; height:18px; }
.track-block[data-track="ap_calc"] .level-chip, .track-block[data-track="calculus"] .level-chip { background:var(--gold-soft); color:var(--warning); }
.track-block[data-track="statistics"] .level-chip, .track-block[data-track="finance"] .level-chip { background:var(--success-bg); color:var(--success); }
.premium-bridge { position:relative; overflow:hidden; display:grid; grid-template-columns:130px minmax(0,1fr); gap:32px; align-items:center; margin:100px 0 26px; padding:42px; border:1px solid var(--line); border-radius:24px; background:linear-gradient(135deg,var(--surface),var(--surface-blue)); }
.premium-symbol { width:112px; height:112px; display:grid; place-items:center; border-radius:26px; background:var(--navy); color:var(--surface); font-family:Georgia,"Times New Roman",serif; font-size:3.7rem; line-height:1; }
[data-theme="dark"] .premium-symbol { background:#e8efff; color:#102b56; }
.premium-bridge h2 { margin-bottom:12px; }
.premium-bridge p:not(.eyebrow) { max-width:820px; margin:0; color:var(--muted); }
.premium-button { margin-top:20px; border-color:var(--navy); background:var(--navy); color:var(--surface); }
[data-theme="dark"] .premium-button { background:#e8efff; color:#102b56; }

.breadcrumb { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:20px; color:var(--muted); font-size:1rem; }
.breadcrumb a { color:var(--muted); text-decoration:none; }
.breadcrumb a:hover { color:var(--blue-2); }
.chapter-head { display:grid; grid-template-columns:minmax(0,1fr) 190px; gap:34px; align-items:end; margin-bottom:28px; }
.chapter-head h1 { max-width:900px; font-size:clamp(2.35rem,4.5vw,4.3rem); }
.chapter-progress-card { padding:16px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.chapter-progress-card > span { display:block; color:var(--muted); font-size:1rem; font-weight:700; }
.chapter-progress-card > strong { display:block; margin:5px 0 9px; color:var(--navy); font-size:1.7rem; }
.lesson-tabs-wrap { position:sticky; z-index:30; top:var(--header-h); margin:0 calc(clamp(30px,4.6vw,70px) * -1) 20px; padding:10px clamp(30px,4.6vw,70px); border-top:1px solid transparent; border-bottom:1px solid var(--line); background:color-mix(in srgb,var(--bg) 94%,transparent); backdrop-filter:none; }
.lesson-tabs { display:flex; gap:7px; overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:thin; }
.lesson-tab { flex:0 0 auto; min-height:46px; display:inline-flex; align-items:center; gap:8px; padding:8px 13px; border:1px solid var(--line); border-radius:10px; background:var(--surface); color:var(--text); cursor:pointer; font-size:1rem; font-weight:750; white-space:nowrap; }
.lesson-tab span { color:var(--muted); font-size:1rem; }
.lesson-tab[aria-selected="true"] { border-color:var(--navy); background:var(--navy); color:var(--surface); }
.lesson-tab[aria-selected="true"] span { color:color-mix(in srgb,var(--surface) 70%,transparent); }
[data-theme="dark"] .lesson-tab[aria-selected="true"] { background:#e8efff; color:#102b56; }
.lesson-shell { overflow:hidden; border:1px solid var(--line); border-radius:22px; background:var(--surface); box-shadow:var(--shadow-sm); }
.lesson-top { padding:clamp(28px,4vw,48px); border-bottom:1px solid var(--line); background:linear-gradient(125deg,var(--surface),var(--surface-blue)); }
.lesson-sequence { display:flex; flex-wrap:wrap; gap:8px 18px; margin-bottom:19px; color:var(--muted); font-size:1rem; font-weight:780; text-transform:uppercase; letter-spacing:.08em; }
.lesson-top h2 { max-width:840px; font-size:clamp(2rem,3.5vw,3.3rem); }
.lesson-top > p { max-width:820px; margin:15px 0 0; color:var(--muted); font-size:1.04rem; }
.lesson-meta { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.lesson-meta span { padding:5px 8px; border:1px solid var(--line); border-radius:999px; background:var(--surface); color:var(--muted); font-size:1rem; font-weight:730; }
.lesson-body { padding:clamp(24px,4.4vw,54px); }
.translation-note { display:flex; gap:12px; align-items:flex-start; margin-bottom:24px; padding:13px 15px; border:1px solid var(--line); border-radius:11px; background:var(--surface-soft); color:var(--muted); font-size:1rem; }
.translation-note strong { color:var(--navy); }
.objective-card { margin-bottom:18px; padding:22px 24px; border:1px solid var(--line); border-left:4px solid var(--blue); border-radius:14px; background:var(--surface-blue); }
.objective-label { color:var(--blue-2); font-size:1rem; font-weight:850; letter-spacing:.11em; text-transform:uppercase; }
.objective-card p { margin:7px 0 0; color:var(--ink); font-weight:680; }
.alignment { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 0 44px; padding:15px 16px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.alignment > div:first-child { min-width:170px; }
.alignment strong { display:block; color:var(--ink); font-size:1rem; }
.alignment > div:first-child span { color:var(--muted); font-size:1rem; }
.standard-list { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.standard-chip { display:inline-flex; align-items:center; min-height:34px; padding:5px 8px; border:1px solid var(--line); border-radius:999px; background:var(--surface-soft); color:var(--text); font-size:1rem; font-weight:700; }
.content-block { display:grid; grid-template-columns:56px minmax(0,1fr); gap:19px; margin:54px 0; scroll-margin-top:150px; }
.section-marker { width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--gold); font-size:1rem; font-weight:850; }
.section-content { min-width:0; }
.section-kicker { margin:0 0 7px; color:var(--blue-2); font-size:1rem; font-weight:850; letter-spacing:.11em; text-transform:uppercase; }
.section-content h3 { margin:0 0 18px; font-size:1.55rem; }
.section-lead { margin:0; color:var(--text); font-size:1.12rem; line-height:1.7; }
.rich-math, .worked-card, .intuition-card { min-width:0; overflow-wrap:anywhere; }
.rich-math p, .worked-card p, .intuition-card p { margin:0 0 14px; }
.rich-math ul, .worked-card ul { padding-left:22px; }
.rich-math table, .worked-card table { width:100%; display:block; overflow-x:auto; border-collapse:collapse; margin:18px 0; }
.rich-math th, .rich-math td, .worked-card th, .worked-card td { min-width:140px; padding:10px 12px; border:1px solid var(--line); text-align:left; }
.rich-math blockquote, .worked-card blockquote { margin:18px 0; padding:13px 17px; border-left:4px solid var(--blue); background:var(--blue-soft); }
.intuition-card { padding:22px 24px; border:1px solid var(--line); border-radius:15px; background:linear-gradient(135deg,var(--surface-blue),var(--surface)); color:var(--ink); font-size:1.06rem; }
.worked-card { padding:24px; border:1px solid var(--line); border-radius:15px; background:var(--surface-soft); }
.mistakes-card { display:grid; grid-template-columns:46px minmax(0,1fr); gap:16px; margin:54px 0; padding:21px 23px; border:1px solid #eed6a2; border-radius:15px; background:var(--warning-bg); color:var(--text); }
[data-theme="dark"] .mistakes-card { border-color:#5a4620; }
.mistake-mark { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; background:var(--gold); color:#fff; font-weight:900; }
.mistakes-card ul { margin:8px 0 0; padding-left:20px; }
.practice-section { scroll-margin-top:150px; margin-top:64px; padding-top:44px; border-top:1px solid var(--line); }
.practice-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:20px; }
.practice-intro h3, .full-practice-head h3 { margin:0; font-size:1.65rem; }
.practice-intro p:not(.section-kicker), .full-practice-head p { margin:7px 0 0; color:var(--muted); }
.deterministic-label { flex:0 0 auto; padding:6px 9px; border-radius:999px; background:var(--success-bg); color:var(--success); font-size:1rem; font-weight:820; }
.full-practice-head { margin:48px 0 18px; }
.practice-list { display:grid; gap:14px; }
.practice-card { min-width:0; padding:22px; border:1px solid var(--line); border-radius:16px; background:var(--surface); transition:border-color .16s ease,box-shadow .16s ease; }
.practice-card.featured { border-color:color-mix(in srgb,var(--blue) 40%,var(--line)); background:linear-gradient(135deg,var(--surface),var(--surface-blue)); }
.practice-card.is-complete { border-color:color-mix(in srgb,var(--success) 45%,var(--line)); }
.practice-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.practice-heading > div { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.practice-number { color:var(--blue-2); font-size:1rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.difficulty-pill { padding:4px 7px; border-radius:999px; background:var(--surface-soft); color:var(--muted); font-size:1rem; font-weight:750; }
.mastered-badge { display:inline-flex; align-items:center; gap:5px; color:var(--success); font-size:1rem; font-weight:820; }
.mastered-badge svg { width:15px; height:15px; }
.problem-text { margin:14px 0 18px; color:var(--ink); font-size:1.02rem; font-weight:650; overflow-wrap:anywhere; }
.choices { display:grid; gap:8px; margin-bottom:14px; }
.choice { min-height:48px; display:flex; align-items:flex-start; gap:10px; padding:11px 12px; border:1px solid var(--line); border-radius:10px; background:var(--surface); cursor:pointer; }
.choice:has(input:checked) { border-color:var(--blue); background:var(--blue-soft); }
.choice input { margin-top:5px; }
.answer-row { display:flex; gap:8px; }
.answer-row input { min-width:0; flex:1; min-height:48px; padding:10px 12px; border:1px solid var(--line); border-radius:10px; background:var(--surface); color:var(--text); }
.answer-row input:focus, .notebook-panel textarea:focus { outline:3px solid color-mix(in srgb,var(--blue) 22%,transparent); border-color:var(--blue); }
.problem-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:13px; }
.problem-actions button { min-height:44px; padding:8px 12px; border:1px solid var(--line); border-radius:9px; background:var(--surface); color:var(--text); cursor:pointer; font-weight:730; }
.problem-actions .button.primary { margin:0; border-color:var(--blue); background:var(--blue); color:#fff; }
.feedback { display:none; margin-top:13px; padding:11px 13px; border-radius:9px; font-weight:680; }
.feedback.show { display:block; }
.feedback.correct { background:var(--success-bg); color:var(--success); }
.feedback.review { background:var(--warning-bg); color:var(--ink); border:1px solid color-mix(in srgb,var(--gold) 42%,var(--line)); }
.hint-box, .solution-box { display:none; margin-top:12px; padding:14px 15px; border:1px solid var(--line); border-radius:10px; background:var(--surface-soft); overflow-wrap:anywhere; }
.hint-box.show, .solution-box.show { display:block; }
.hint-box strong, .solution-box strong { display:block; margin-bottom:5px; color:var(--ink); }
.deterministic-note { margin-top:24px; padding:13px 15px; border:1px solid var(--line); border-left:3px solid var(--success); border-radius:10px; background:var(--surface-soft); color:var(--muted); font-size:1rem; }
.deterministic-note strong { color:var(--success); }
.lesson-premium-bridge { display:flex; align-items:center; justify-content:space-between; gap:30px; margin-top:34px; padding:28px 30px; border:1px solid var(--line); border-radius:18px; background:var(--surface); }
.lesson-premium-bridge h2 { font-size:1.55rem; }
.lesson-premium-bridge p:not(.eyebrow) { max-width:700px; margin:8px 0 0; color:var(--muted); font-size:1rem; }
.lesson-premium-bridge .button { flex:0 0 auto; margin:0; }

#site-footer { border-top:1px solid var(--line); background:var(--surface); }
.footer-inner { width:min(1500px,100%); margin:0 auto; padding:32px clamp(18px,4vw,54px); display:grid; grid-template-columns:1fr auto auto; gap:34px; align-items:center; color:var(--muted); font-size:1rem; }
.footer-brand strong { display:block; color:var(--ink); font-size:1rem; }
.footer-brand span { display:block; margin-top:3px; }
.footer-principles { display:flex; flex-wrap:wrap; justify-content:center; gap:7px 13px; }
.footer-principles span { white-space:nowrap; }
.footer-meta { text-align:right; line-height:1.55; }
.noscript { margin:24px; padding:18px; background:var(--danger-bg); }

/* Authored mathematics must stay readable and horizontally contained. */
.lesson-body [style*="font-size"] { font-size:1rem !important; }
.lesson-body svg text { font-size:18px !important; }
mjx-container { max-width:100%; overflow-x:auto; overflow-y:hidden; padding-bottom:2px; }
mjx-container[jax="SVG"] > svg { max-width:none; }

html[data-focus="true"] #sidebar, html[data-focus="true"] #study-tools { display:none !important; }
html[data-focus="true"] #app-shell.chapter-shell { grid-template-columns:minmax(0,1fr); }
html[data-focus="true"] #main { width:min(1040px,100%); }

@media (max-width: 1320px) {
  #app-shell.chapter-shell { grid-template-columns:250px minmax(0,1fr) 270px; }
  #main { padding-left:34px; padding-right:34px; }
  .card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 1180px) {
  :root { --header-h:72px; }
  .desktop-nav { display:none; }
  .menu-trigger { display:inline-grid; }
  .is-chapter .tools-trigger { display:inline-grid; }
  #app-shell.chapter-shell { grid-template-columns:minmax(0,1fr); }
  #sidebar, #study-tools { display:block; position:fixed; z-index:95; top:var(--header-h); bottom:0; height:auto; width:min(88vw,350px); transition:transform .2s ease; box-shadow:var(--shadow); }
  #sidebar { left:0; transform:translateX(-105%); }
  #study-tools { right:0; transform:translateX(105%); }
  #sidebar.open, #study-tools.open { transform:translateX(0); }
  .drawer-close { display:grid; place-items:center; }
  #main { width:min(1100px,100%); padding:34px clamp(24px,5vw,56px) 60px; }
  .home-shell #main { width:min(1450px,100%); }
  .home-hero { grid-template-columns:minmax(0,1fr) minmax(390px,.85fr); }
  .journey-grid { grid-template-columns:repeat(2,1fr); }
  .journey-grid article:nth-child(2) { border-right:0; }
  .journey-grid article:nth-child(-n+2) { border-bottom:1px solid var(--line); }
}

@media (max-width: 860px) {
  .brand-company { display:none; }
  .home-hero { grid-template-columns:1fr; min-height:0; margin-bottom:64px; }
  .hero-copy { max-width:760px; }
  .math-stage { min-height:460px; }
  .direction-grid, .philosophy-band, .corpus-intro { grid-template-columns:1fr; }
  .corpus-stats { grid-template-columns:repeat(4,1fr); }
  .scope-ribbon { align-items:flex-start; flex-direction:column; }
  .scope-tags { justify-content:flex-start; }
  .card-grid { grid-template-columns:1fr; }
  .chapter-card { min-height:0; }
  .premium-bridge { grid-template-columns:90px minmax(0,1fr); padding:30px; }
  .premium-symbol { width:80px; height:80px; border-radius:20px; font-size:2.8rem; }
  .chapter-head { grid-template-columns:1fr; }
  .chapter-progress-card { max-width:260px; }
  .alignment { align-items:flex-start; flex-direction:column; }
  .standard-list { justify-content:flex-start; }
  .footer-inner { grid-template-columns:1fr; text-align:center; }
  .footer-principles { justify-content:center; }
  .footer-meta { text-align:center; }
}

@media (max-width: 650px) {
  :root { --header-h:64px; }
  html { scroll-padding-top:108px; }
  body { font-size:1rem; }
  #site-header { backdrop-filter:none; }
  .header-inner { min-height:var(--header-h); padding:7px 10px; gap:8px; }
  .brand { gap:8px; }
  .brand-mark { width:40px; height:40px; flex-basis:40px; border-radius:10px; }
  .brand-name { max-width:126px; overflow:hidden; text-overflow:ellipsis; font-size:1rem; }
  .header-actions { gap:5px; }
  .icon-button { min-width:40px; min-height:40px; padding:7px; border-radius:9px; }
  .language-toggle { border-radius:9px; }
  .language-toggle button { min-width:38px; min-height:40px; padding:6px; font-size:1rem; }
  #main, .home-shell #main { padding:24px 16px 48px; }
  h1 { font-size:clamp(2.35rem,13vw,3.6rem); }
  h2 { font-size:clamp(1.7rem,8.4vw,2.35rem); }
  .home-hero { gap:30px; margin-bottom:56px; }
  .hero-copy { padding:8px 0; }
  .hero-lead { font-size:1.04rem; }
  .hero-trust-row { display:grid; gap:8px; }
  .action-row { display:grid; grid-template-columns:1fr; }
  .button { width:100%; }
  .math-stage { min-height:355px; border-radius:22px; }
  .math-graph { inset:10px; width:calc(100% - 20px); height:calc(100% - 20px); }
  .formula-card { min-height:42px; padding:7px 10px; font-size:1rem; border-radius:10px; }
  .formula-a { left:4%; top:8%; }
  .formula-b { right:4%; top:17%; }
  .formula-c { left:6%; bottom:15%; }
  .formula-d { right:4%; bottom:7%; }
  .stage-caption { width:74%; padding:13px 14px; font-size:1rem; }
  .journey-section, .direction-section, .corpus-section { margin:62px 0; }
  .journey-grid { grid-template-columns:1fr; }
  .journey-grid article { border-right:0; border-bottom:1px solid var(--line); padding:24px 8px 24px 0; }
  .journey-grid article:last-child { border-bottom:0; }
  .direction-grid { grid-template-columns:1fr; }
  .direction-grid a { min-height:0; padding:23px 48px 23px 20px; }
  .philosophy-band { margin:64px 0; padding:34px 0; gap:24px; }
  .corpus-stats { grid-template-columns:repeat(2,1fr); width:100%; }
  .scope-ribbon { margin-bottom:42px; padding:18px; }
  .scope-tags { width:100%; display:grid; grid-template-columns:1fr 1fr; }
  .scope-tags span { text-align:center; }
  .track-block { margin-bottom:54px; }
  .track-head { gap:12px; }
  .track-head > div { grid-template-columns:34px minmax(0,1fr); column-gap:9px; }
  .track-head h3 { font-size:1.25rem; }
  .track-count { display:none; }
  .chapter-card { padding:19px; }
  .premium-bridge { grid-template-columns:1fr; margin-top:70px; padding:24px 20px; }
  .premium-symbol { width:62px; height:62px; border-radius:15px; font-size:2.1rem; }
  .premium-bridge .button { margin-top:18px; }
  .breadcrumb { margin-bottom:15px; }
  .chapter-head { margin-bottom:18px; }
  .chapter-head h1 { font-size:clamp(2.15rem,11vw,3.25rem); }
  .chapter-progress-card { width:100%; max-width:none; }
  .lesson-tabs-wrap { top:var(--header-h); margin:0 -16px 14px; padding:8px 16px; }
  .lesson-tab { min-height:44px; padding:7px 11px; }
  .lesson-shell { border-radius:16px; }
  .lesson-top { padding:24px 20px; }
  .lesson-top h2 { font-size:clamp(1.8rem,9vw,2.6rem); }
  .lesson-body { padding:20px 17px 28px; }
  .objective-card { padding:18px; }
  .alignment { margin-bottom:34px; }
  .content-block { grid-template-columns:1fr; gap:10px; margin:44px 0; scroll-margin-top:120px; }
  .section-marker { width:36px; height:36px; }
  .section-content h3 { font-size:1.35rem; }
  .section-lead { font-size:1.04rem; }
  .intuition-card, .worked-card { padding:18px; }
  .mistakes-card { grid-template-columns:36px minmax(0,1fr); padding:18px 16px; }
  .mistake-mark { width:32px; height:32px; }
  .practice-section { scroll-margin-top:120px; margin-top:50px; padding-top:34px; }
  .practice-intro { align-items:flex-start; flex-direction:column; gap:10px; }
  .practice-card { padding:18px 15px; }
  .practice-heading { align-items:flex-start; }
  .answer-row { flex-direction:column; }
  .problem-actions { display:grid; grid-template-columns:1fr 1fr; }
  .problem-actions .check { grid-column:1/-1; }
  .problem-actions button, .problem-actions .button { width:100%; }
  .lesson-premium-bridge { align-items:flex-start; flex-direction:column; padding:22px 19px; }
  .lesson-premium-bridge .button { width:100%; }
  #sidebar, #study-tools { width:min(92vw,360px); }
}

@media (max-width: 390px) {
  .brand-copy { display:none; }
  .math-stage { min-height:330px; }
  .formula-card { font-size:1rem; }
  .scope-tags { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}

.error-page { min-height:100vh; display:grid; place-items:center; padding:24px; background:var(--bg); }
.error-shell { width:min(720px,100%); padding:clamp(26px,6vw,56px); border:1px solid var(--line); border-radius:24px; background:var(--surface); box-shadow:var(--shadow); }
.error-shell .brand { margin-bottom:50px; }
.error-shell h1 { margin:0; font-size:clamp(2.2rem,7vw,4.3rem); }
.error-shell > p:not(.eyebrow) { margin:18px 0 26px; color:var(--muted); }
.error-shell .button { width:auto; }
@media (max-width:650px){ .error-shell .button { width:100%; } }

/* ================================================================
   TERA Math 12 v2.4 Premium Premium shell
   Corporate branding, flexible rails, four deterministic visual labs
   ================================================================ */
:root {
  --brand-gold-1:#4b2e00;
  --brand-gold-2:#8b6208;
  --brand-gold-3:#c7951b;
  --brand-navy:#081a34;
  --brand-navy-2:#0e2a50;
  --interactive-violet:#6339f4;
  --interactive-violet-soft:#f1edff;
  --left-rail:286px;
  --right-rail:272px;
  --resizer-w:10px;
  --brand-tier-h:72px;
  --product-nav-h:54px;
  --header-h:126px;
}

#site-header {
  min-height:var(--header-h);
  border:0;
  background:transparent;
  backdrop-filter:none;
  box-shadow:0 1px 0 rgba(10,25,48,.10);
}
.brand-tier {
  min-height:var(--brand-tier-h);
  color:#fff;
  background:linear-gradient(105deg,var(--brand-gold-1) 0%,#715000 45%,var(--brand-gold-3) 100%);
  border-bottom:2px solid #e2ae27;
}
.brand-tier-inner,
.product-nav-inner {
  width:min(1900px,100%);
  margin:0 auto;
  padding:0 clamp(16px,2.7vw,50px);
}
.brand-tier-inner {
  min-height:var(--brand-tier-h);
  display:grid;
  grid-template-columns:minmax(290px,1fr) minmax(270px,.8fr) minmax(250px,1fr);
  align-items:center;
  gap:24px;
}
.corporate-brand {
  min-width:0;
  display:flex;
  align-items:center;
  gap:14px;
  color:#fff;
  text-decoration:none;
}
.corporate-mark {
  width:52px;
  height:52px;
  flex:0 0 52px;
  display:grid;
  place-items:center;
  border:2px solid #e2ae27;
  outline:1px solid rgba(255,255,255,.38);
  outline-offset:3px;
  border-radius:50%;
  background:rgba(16,20,20,.50);
  color:#ffe39a;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.42rem;
  font-weight:900;
  box-shadow:0 6px 18px rgba(0,0,0,.18),inset 0 0 0 2px rgba(0,0,0,.26);
}
.corporate-copy { min-width:0; }
.corporate-copy strong {
  display:block;
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.55rem;
  line-height:1;
  letter-spacing:-.025em;
}
.corporate-copy small {
  display:block;
  margin-top:6px;
  color:#fff5dc;
  font-size:1rem;
  font-weight:650;
  line-height:1.15;
  white-space:nowrap;
}
.mobile-product-name { display:none !important; }
.brand-mission {
  min-width:0;
  text-align:center;
  color:#fff8e4;
}
.brand-mission strong {
  display:block;
  color:#fff;
  font-size:1rem;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.brand-mission span {
  display:block;
  margin-top:5px;
  color:#ffe19a;
  font-size:1rem;
  font-weight:650;
  letter-spacing:.015em;
}
.brand-actions {
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:8px;
}
.brand-actions .icon-button,
.brand-actions .language-toggle {
  border-color:rgba(255,255,255,.38);
  background:rgba(10,22,39,.20);
  color:#fff;
}
.brand-actions .language-toggle button {
  color:#fff;
  background:transparent;
}
.brand-actions .language-toggle button[aria-pressed="true"] {
  background:#fff;
  color:#16213a;
}
.brand-actions .icon-button:hover,
.brand-actions .language-toggle button:hover {
  border-color:#fff1c6;
  background:rgba(255,255,255,.12);
}
.product-nav-tier {
  min-height:var(--product-nav-h);
  background:var(--brand-navy);
  border-bottom:1px solid rgba(201,149,34,.56);
}
.product-nav-inner {
  min-height:var(--product-nav-h);
  display:flex;
  align-items:center;
  gap:28px;
}
.product-wordmark {
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:#fff;
  text-decoration:none;
  white-space:nowrap;
}
.product-wordmark > span {
  width:7px;
  height:7px;
  border-radius:2px;
  background:#e0aa20;
  box-shadow:0 0 0 3px rgba(224,170,32,.08);
}
.product-wordmark strong { font-size:1rem; letter-spacing:-.01em; }
.product-nav-tier .desktop-nav {
  flex:1;
  gap:clamp(18px,2vw,34px);
}
.product-nav-tier .desktop-nav a {
  color:#f5f7fb;
  font-size:1rem;
  font-weight:830;
  letter-spacing:.04em;
  padding:17px 0 15px;
}
.product-nav-tier .desktop-nav a::after { bottom:8px; background:#e5af22; }
.product-nav-actions {
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:10px;
}
.premium-nav-badge,
.tera-principles-link {
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 14px;
  border:1px solid #b88918;
  border-radius:999px;
  color:#f0bd38;
  text-decoration:none;
  font-size:1rem;
  font-weight:880;
  letter-spacing:.06em;
}
.premium-nav-badge:hover,
.tera-principles-link:hover { background:rgba(224,170,32,.09); }
.nav-tools-button {
  min-height:40px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:10px;
  background:rgba(255,255,255,.05);
  color:#fff;
  cursor:pointer;
  font-size:1rem;
  font-weight:760;
}
.nav-tools-button:hover { border-color:#e0aa20; }
.nav-tools-button svg { width:17px;height:17px; }
.mobile-header-trigger { display:none; }

/* Five-column chapter shell: rail, separator, mathematics, separator, tools. */
#app-shell.chapter-shell {
  display:grid;
  grid-template-columns:var(--left-rail) var(--resizer-w) minmax(0,1fr) var(--resizer-w) var(--right-rail);
  align-items:start;
}
#app-shell.chapter-shell > #sidebar { grid-column:1; }
#app-shell.chapter-shell > .shell-resizer-left { grid-column:2; }
#app-shell.chapter-shell > #main { grid-column:3; }
#app-shell.chapter-shell > .shell-resizer-right { grid-column:4; }
#app-shell.chapter-shell > #study-tools { grid-column:5; }
#app-shell.home-shell .shell-resizer { display:none; }
.shell-resizer {
  position:sticky;
  z-index:44;
  top:var(--header-h);
  align-self:start;
  height:calc(100vh - var(--header-h));
  cursor:col-resize;
  touch-action:none;
  background:transparent;
  outline:none;
}
.shell-resizer::before {
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:1px;
  transform:translateX(-50%);
  background:var(--line);
  transition:width .14s ease,background .14s ease,box-shadow .14s ease;
}
.shell-resizer::after {
  content:"↔";
  position:absolute;
  top:38%;
  left:50%;
  width:26px;
  height:34px;
  display:grid;
  place-items:center;
  transform:translate(-50%,-50%);
  border:1px solid var(--line-strong);
  border-radius:8px;
  background:var(--surface);
  color:var(--muted);
  font-size:1rem;
  font-weight:900;
  box-shadow:0 4px 13px rgba(13,35,68,.10);
}
.shell-resizer:hover::before,
.shell-resizer:focus-visible::before,
.shell-resizer.dragging::before {
  width:3px;
  background:var(--interactive-violet);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--interactive-violet) 12%,transparent);
}
.shell-resizer:hover::after,
.shell-resizer:focus-visible::after,
.shell-resizer.dragging::after {
  border-color:var(--interactive-violet);
  color:var(--interactive-violet);
}
#sidebar,
#study-tools {
  top:var(--header-h);
  height:calc(100vh - var(--header-h));
}
#sidebar { border-right:0; padding:28px 16px 40px; }
#study-tools { border-left:0; padding:28px 17px 40px; }
#main {
  width:100%;
  max-width:1240px;
  padding:clamp(30px,3vw,54px) clamp(26px,3.2vw,58px) 72px;
}
.chapter-shell #main { min-height:calc(100vh - var(--header-h)); }
.side-top,
.tools-top { padding:0 8px; }
.side-kicker,
.tools-kicker { color:#68758a; letter-spacing:.16em; }
.side-home { font-family:Georgia,"Times New Roman",serif; font-size:1.18rem; }
.side-overall {
  margin:18px 7px 28px;
  border-color:#e3d7bc;
  background:linear-gradient(135deg,#fffbf1,var(--surface));
}
[data-theme="dark"] .side-overall { border-color:var(--line); background:var(--surface-soft); }
.side-group-title {
  margin:0 8px 9px;
  color:#66748b;
  font-size:1rem;
  font-weight:900;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.side-link { border-radius:8px; font-size:1rem; }
.side-link.current {
  border-left:3px solid var(--interactive-violet);
  border-radius:0 8px 8px 0;
  background:linear-gradient(90deg,color-mix(in srgb,var(--interactive-violet) 12%,var(--surface)),var(--surface));
  color:#5430dc;
}
.side-current-dot { background:var(--interactive-violet); }
.tool-panel {
  border-radius:13px;
  box-shadow:0 5px 18px rgba(13,35,68,.035);
}
.progress-panel { border-top:3px solid #d49d20; }

/* Chapter identity follows the Premium editorial rhythm. */
.breadcrumb { margin-bottom:16px; }
.chapter-head {
  position:relative;
  grid-template-columns:minmax(0,1fr) 180px;
  gap:30px;
  align-items:end;
  margin:0 0 34px;
  padding:8px 0 0;
}
.chapter-head::before {
  content:"COURSE FOUNDATION";
  position:absolute;
  top:-28px;
  left:0;
  padding:6px 13px;
  border:1px solid #e4c983;
  border-left:3px solid #bd8714;
  border-radius:8px;
  background:#fffaf0;
  color:#76540a;
  font-size:1rem;
  font-weight:900;
  letter-spacing:.17em;
}
[data-theme="dark"] .chapter-head::before { background:var(--surface-soft); color:var(--gold); border-color:var(--line); }
.chapter-head h1 {
  max-width:920px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.55rem,4vw,4.55rem);
  font-weight:700;
  letter-spacing:-.045em;
  line-height:1.02;
}
.chapter-head .lead { max-width:850px; font-size:1rem; line-height:1.75; }
.chapter-progress-card { border-top:3px solid #d2a02a; background:linear-gradient(140deg,var(--surface),var(--gold-soft)); }

/* Four visual investigations on every chapter. */
.chapter-visual-lab {
  margin:34px 0 30px;
  padding-top:26px;
  border-top:1px solid var(--line);
  scroll-margin-top:calc(var(--header-h) + 20px);
}
.visual-lab-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:18px;
}
.visual-lab-heading > div { max-width:900px; }
.visual-lab-eyebrow {
  margin:0 0 7px;
  color:var(--brand-navy-2);
  font-size:1rem;
  font-weight:900;
  letter-spacing:.19em;
  text-transform:uppercase;
}
[data-theme="dark"] .visual-lab-eyebrow { color:#a9c4f0; }
.visual-lab-heading h2 {
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.65rem,2.4vw,2.45rem);
  line-height:1.15;
}
.visual-lab-heading p:not(.visual-lab-eyebrow) { margin:8px 0 0; color:var(--muted); font-size:1rem; }
.visual-count {
  width:52px;
  height:52px;
  flex:0 0 52px;
  display:grid;
  place-items:center;
  border:1px solid #dfc57e;
  border-radius:50%;
  background:var(--gold-soft);
  color:#845b05;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.25rem;
  font-weight:800;
}
.visual-investigation-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.visual-investigation-card {
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface);
  box-shadow:0 8px 26px rgba(13,35,68,.055);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.visual-investigation-card:hover {
  border-color:color-mix(in srgb,var(--interactive-violet) 32%,var(--line));
  box-shadow:0 14px 34px rgba(13,35,68,.09);
  transform:translateY(-2px);
}
.visual-investigation-card > header {
  min-height:86px;
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  gap:9px;
  align-items:start;
  padding:14px 14px 11px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(100deg,color-mix(in srgb,var(--interactive-violet) 5%,var(--surface)),color-mix(in srgb,var(--gold) 7%,var(--surface)));
}
.visual-number {
  width:27px;
  height:27px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--interactive-violet);
  color:#fff;
  font-size:1rem;
  font-weight:900;
}
.visual-investigation-card header p {
  margin:0 0 2px;
  color:#704bf1;
  font-size:1rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.visual-investigation-card header h3 {
  margin:0;
  color:var(--ink);
  font-family:Georgia,"Times New Roman",serif;
  font-size:1rem;
  line-height:1.22;
}
.visual-canvas {
  height:170px;
  padding:9px 10px 2px;
  background:#fff;
}
.visual-canvas svg { width:100%; height:100%; }
.visual-prompt {
  min-height:88px;
  margin:0;
  padding:12px 14px 8px;
  color:var(--muted);
  font-size:1rem;
  line-height:1.52;
}
.visual-explorer {
  margin:0 14px 10px;
  padding:9px 10px;
  border:1px solid #ded7f9;
  border-radius:10px;
  background:#fbfaff;
}
[data-theme="dark"] .visual-explorer { background:var(--surface-soft); border-color:var(--line); }
.visual-explorer label { display:grid; gap:6px; }
.visual-explorer label > span {
  color:#5c38df;
  font-size:1rem;
  font-weight:850;
}
.visual-explorer input[type="range"] {
  width:100%;
  accent-color:var(--interactive-violet);
  cursor:pointer;
}
.visual-explorer output {
  display:block;
  min-height:18px;
  margin-top:5px;
  color:var(--ink);
  font-size:1rem;
  font-weight:760;
  overflow-wrap:anywhere;
}
.visual-investigation-card details {
  border-top:1px solid var(--line);
  padding:0 14px 12px;
}
.visual-investigation-card summary {
  padding:10px 0 2px;
  color:var(--text);
  cursor:pointer;
  font-size:1rem;
  font-weight:800;
}
.visual-investigation-card details p { margin:7px 0 0; color:var(--muted); font-size:1rem; line-height:1.5; }
.visual-swipe-hint { display:none; }

/* Lesson ribbon now sits below the visual lab and beneath the full corporate header. */
.lesson-tabs-wrap {
  top:var(--header-h);
  margin:0 calc(clamp(26px,3.2vw,58px) * -1) 20px;
  padding:10px clamp(26px,3.2vw,58px);
}
.lesson-shell { border-radius:18px; }
.lesson-top {
  border-top:3px solid #d1a02c;
  background:linear-gradient(125deg,var(--surface),color-mix(in srgb,var(--interactive-violet) 4%,var(--surface)),var(--gold-soft));
}
.lesson-top h2,
.section-content h3,
.practice-intro h3,
.full-practice-head h3,
.lesson-premium-bridge h2 { font-family:Georgia,"Times New Roman",serif; }
.objective-card { border-left-color:var(--interactive-violet); background:color-mix(in srgb,var(--interactive-violet) 5%,var(--surface)); }
.objective-label,.section-kicker,.practice-number { color:#5a38dc; }
.lesson-tab[aria-selected="true"] { border-color:var(--interactive-violet); background:var(--interactive-violet); color:#fff; }
[data-theme="dark"] .lesson-tab[aria-selected="true"] { background:#805dff; color:#fff; }

/* Footer aligned to corporate product family. */
#site-footer { border-top:3px solid #b68417; }
.footer-brand strong { font-family:Georgia,"Times New Roman",serif; font-size:1rem; }
.footer-principles span { color:var(--brand-navy-2); font-weight:700; }
[data-theme="dark"] .footer-principles span { color:var(--gold); }

html[data-focus="true"] #app-shell.chapter-shell {
  grid-template-columns:minmax(0,1fr);
}
html[data-focus="true"] .shell-resizer { display:none !important; }
html[data-focus="true"] #app-shell.chapter-shell > #main { grid-column:1; }

@media (max-width:1650px) {
  .visual-investigation-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .visual-prompt { min-height:0; }
  .brand-tier-inner { grid-template-columns:minmax(260px,1fr) minmax(240px,.72fr) minmax(220px,.8fr); }
}

@media (max-width:1320px) and (min-width:1181px) {
  #app-shell.chapter-shell { grid-template-columns:var(--left-rail) var(--resizer-w) minmax(0,1fr) var(--resizer-w) var(--right-rail); }
  #main { padding-left:28px; padding-right:28px; }
  .product-nav-tier .desktop-nav { gap:16px; }
  .product-nav-tier .desktop-nav a { font-size:1rem; }
  .brand-mission span { display:none; }
}

@media (max-width:1180px) {
  :root { --brand-tier-h:68px; --product-nav-h:48px; --header-h:116px; }
  .brand-tier-inner { grid-template-columns:minmax(250px,1fr) auto; gap:14px; }
  .brand-mission { display:none; }
  .brand-actions { grid-column:2; }
  .product-nav-inner { justify-content:space-between; }
  .product-nav-tier .desktop-nav { display:none; }
  .product-nav-actions { margin-left:auto; }
  .product-wordmark { font-size:1rem; }
  .menu-trigger { display:inline-grid; }
  .mobile-header-trigger.menu-trigger { display:none; }
  .is-chapter .tools-trigger { display:inline-grid; }
  .nav-tools-button { display:none; }
  #app-shell.chapter-shell { grid-template-columns:minmax(0,1fr); }
  #app-shell.chapter-shell > #main { grid-column:1; }
  .shell-resizer { display:none; }
  #sidebar,#study-tools { top:var(--header-h); height:auto; }
  #shell-overlay { inset:var(--header-h) 0 0; }
  #main { max-width:1160px; padding:34px clamp(24px,5vw,56px) 64px; }
  .lesson-tabs-wrap { margin-left:calc(clamp(24px,5vw,56px) * -1); margin-right:calc(clamp(24px,5vw,56px) * -1); padding-left:clamp(24px,5vw,56px); padding-right:clamp(24px,5vw,56px); }
}

@media (max-width:760px) {
  .visual-investigation-grid {
    display:flex;
    gap:12px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    overscroll-behavior-inline:contain;
    padding:1px 2px 12px;
    scrollbar-width:none;
  }
  .visual-investigation-grid::-webkit-scrollbar { display:none; }
  .visual-investigation-card {
    flex:0 0 min(88vw,420px);
    scroll-snap-align:start;
  }
  .visual-canvas { height:190px; }
  .visual-swipe-hint {
    display:flex;
    justify-content:center;
    gap:7px;
    margin-top:2px;
  }
  .visual-swipe-hint span {
    width:6px;
    height:6px;
    border-radius:50%;
    background:#c7cbd6;
  }
  .visual-swipe-hint span:first-child { background:var(--interactive-violet); }
}

@media (max-width:650px) {
  :root { --brand-tier-h:64px; --product-nav-h:0px; --header-h:64px; }
  html { scroll-padding-top:104px; }
  .brand-tier { min-height:64px; border-bottom:2px solid #d7a21f; }
  .brand-tier-inner {
    min-height:64px;
    display:grid;
    grid-template-columns:42px minmax(0,1fr) auto;
    gap:8px;
    padding:0 10px;
  }
  .mobile-header-trigger.menu-trigger { display:inline-grid; grid-column:1; grid-row:1; }
  .corporate-brand { grid-column:2; grid-row:1; gap:9px; }
  .corporate-mark { width:36px; height:36px; flex-basis:36px; font-size:1rem; outline-offset:2px; }
  .desktop-corp-name,.corporate-copy small { display:none !important; }
  .mobile-product-name { display:block !important; font-family:Georgia,"Times New Roman",serif !important; font-size:1.05rem !important; }
  .brand-actions { grid-column:3; grid-row:1; gap:5px; }
  .brand-actions .language-toggle { display:none; }
  .brand-actions .icon-button { min-width:38px; min-height:38px; padding:7px; border-radius:9px; }
  .brand-actions #theme-button { display:none; }
  .brand-actions .tools-trigger { display:inline-grid; }
  .product-nav-tier { display:none; }
  #main,.home-shell #main { padding:28px 16px 52px; }
  #sidebar,#study-tools { top:64px; }
  #shell-overlay { inset:64px 0 0; }
  .chapter-head { margin-top:34px; }
  .chapter-head::before { top:-36px; }
  .chapter-head h1 { font-size:clamp(2.15rem,11.3vw,3.2rem); }
  .chapter-head .lead { font-size:1rem; }
  .chapter-progress-card { padding:14px; }
  .chapter-visual-lab { margin-top:28px; padding-top:22px; }
  .visual-lab-heading { align-items:flex-start; }
  .visual-lab-heading h2 { font-size:1.62rem; }
  .visual-lab-heading p:not(.visual-lab-eyebrow) { font-size:1rem; }
  .visual-count { width:44px;height:44px;flex-basis:44px; }
  .visual-investigation-card { flex-basis:calc(100vw - 42px); }
  .visual-investigation-card > header { min-height:78px; }
  .visual-canvas { height:178px; }
  .visual-prompt { font-size:1rem; }
  .visual-explorer output { font-size:1rem; }
  .lesson-tabs-wrap { top:64px; margin:0 -16px 14px; padding:8px 16px; }
}

@media (max-width:390px) {
  .corporate-mark { display:none; }
  .corporate-brand { gap:0; }
  .brand-tier-inner { grid-template-columns:42px minmax(0,1fr) auto; }
  .mobile-product-name { font-size:1rem !important; }
  .visual-investigation-card { flex-basis:calc(100vw - 34px); }
}

/* v2.4 responsive header corrections */
@media (max-width:1180px) and (min-width:651px) {
  .brand-tier-inner { grid-template-columns:44px minmax(250px,1fr) auto; }
  .mobile-header-trigger.menu-trigger { display:inline-grid; grid-column:1; }
  .corporate-brand { grid-column:2; }
  .brand-actions { grid-column:3; }
}
@media (max-width:650px) {
  .brand-actions .language-toggle { display:flex; border-radius:8px; }
  .brand-actions .language-toggle button { min-width:30px; min-height:36px; padding:4px 5px; font-size:1rem; }
}

/* ================================================================
   TERA Math 12 v2.4 premium full-course implementation
   One TeraSystemsAI / TERA Math 12 identity across every page
   ================================================================ */
html[data-text-size="comfortable"] { font-size:19px; }

/* Consistent three-zone course shell on home and every chapter. */
#app-shell.home-shell,
#app-shell.chapter-shell {
  display:grid;
  grid-template-columns:var(--left-rail) var(--resizer-w) minmax(0,1fr) var(--resizer-w) var(--right-rail);
  align-items:start;
}
#app-shell.home-shell > #sidebar,
#app-shell.chapter-shell > #sidebar { grid-column:1; }
#app-shell.home-shell > .shell-resizer-left,
#app-shell.chapter-shell > .shell-resizer-left { grid-column:2; }
#app-shell.home-shell > #main,
#app-shell.chapter-shell > #main { grid-column:3; }
#app-shell.home-shell > .shell-resizer-right,
#app-shell.chapter-shell > .shell-resizer-right { grid-column:4; }
#app-shell.home-shell > #study-tools,
#app-shell.chapter-shell > #study-tools { grid-column:5; }
#app-shell.home-shell .shell-resizer { display:block; }
.home-shell #main { width:100%; max-width:1240px; padding:clamp(30px,3vw,54px) clamp(26px,3.2vw,58px) 72px; }

/* Corporate header: TeraSystemsAI above, Tera Math 12 product navigation below. */
:root { --brand-tier-h:74px; --product-nav-h:56px; --header-h:130px; }
.brand-tier { background:linear-gradient(105deg,#3b2500 0%,#765100 48%,#b5840f 100%); }
.brand-tier-inner { grid-template-columns:minmax(310px,1fr) minmax(340px,.85fr) minmax(250px,1fr); }
.corporate-copy strong { font-size:1.66rem; }
.brand-mission strong { font-size:1rem; letter-spacing:.085em; }
.brand-mission span { font-size:1rem; }
.grade-badge {
  min-height:38px; display:inline-flex; align-items:center; justify-content:center; padding:7px 12px;
  border:1px solid rgba(255,238,184,.62); border-radius:10px; background:rgba(255,255,255,.08);
  color:#fff6d8; font-size:1rem; font-weight:900; letter-spacing:.08em;
}
.product-mobile-menu,.product-mobile-tools { display:none; }
.product-nav-tier .desktop-nav { gap:clamp(16px,1.75vw,31px); }
.product-nav-tier .desktop-nav a { font-size:1rem; }
.product-wordmark strong { font-family:Georgia,"Times New Roman",serif; font-size:1rem; }
.nav-tools-button { border-color:#b88918; color:#f3c352; background:rgba(224,170,32,.05); }

/* Left course rail matching the approved dashboard model. */
#sidebar { background:linear-gradient(180deg,var(--surface) 0%,color-mix(in srgb,var(--surface-soft) 42%,var(--surface)) 100%); }
.side-course-card {
  position:relative; display:grid; grid-template-columns:48px minmax(0,1fr) auto; gap:12px; align-items:start;
  margin:0 5px 22px; padding:12px 8px 16px; border-bottom:1px solid var(--line);
}
.course-cap {
  width:44px; height:44px; display:grid; place-items:center; border-radius:50%;
  background:linear-gradient(145deg,#5d37ec,#7756ff); color:#fff; font-size:1.18rem; font-weight:900;
  box-shadow:0 8px 22px rgba(99,57,244,.18);
}
.side-course-copy { min-width:0; }
.side-course-copy > strong { display:block; color:var(--ink); font-size:1rem; font-weight:880; line-height:1.25; }
.side-course-copy > div:first-of-type { display:flex; justify-content:space-between; gap:8px; margin-top:5px; color:var(--muted); font-size:1rem; font-weight:680; }
.side-course-copy .side-progress { margin-top:8px; }
.side-section-label { margin:0 12px 10px; color:#5534da; font-size:1rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.side-track { margin:0 4px 8px; border:1px solid var(--line); border-radius:12px; background:var(--surface); overflow:hidden; }
.side-track[open] { border-color:#e1c47b; box-shadow:0 6px 18px rgba(13,35,68,.035); }
.side-track summary { list-style:none; display:grid; grid-template-columns:28px minmax(0,1fr) 20px; gap:8px; align-items:center; padding:10px 11px; cursor:pointer; }
.side-track summary::-webkit-details-marker { display:none; }
.track-number { width:25px; height:25px; display:grid; place-items:center; border:1px solid #d8b35a; border-radius:50%; color:#8d6206; background:#fff9e9; font-size:1rem; font-weight:900; }
.track-summary-copy { min-width:0; display:flex; align-items:center; justify-content:space-between; gap:7px; }
.track-summary-copy strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--text); font-size:1rem; }
.track-summary-copy small { color:var(--muted); font-size:1rem; white-space:nowrap; }
.track-chevron { color:var(--muted); transform:rotate(-90deg); transition:transform .16s ease; }
.side-track[open] .track-chevron { transform:none; }
.side-track-progress { height:3px; background:var(--surface-soft); }
.side-track-progress span { display:block; height:100%; background:linear-gradient(90deg,var(--interactive-violet),#8a6aff); }
.side-chapters { padding:5px 5px 8px; }
.side-link { display:grid; grid-template-columns:31px minmax(0,1fr) 10px; gap:7px; padding:8px 8px; font-size:1rem; }
.side-chapter-no { color:#68758a; font-variant-numeric:tabular-nums; font-weight:800; }
.side-chapter-name { min-width:0; }
.side-empty-dot { width:8px; height:8px; border:1px solid #98a4b5; border-radius:50%; }
.side-link.current .side-chapter-no,.side-link.current .side-chapter-name { color:#5734dc; }

/* Full-course premium home. */
.course-overview-head h1 { margin:0; color:var(--ink); font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.25rem,3.6vw,4rem); line-height:1.04; letter-spacing:-.04em; }
.course-overview-head .lead { max-width:900px; margin:14px 0 0; color:var(--muted); font-size:1rem; line-height:1.7; }
.math-passion-quote {
  display:flex; align-items:center; gap:15px; margin:24px 0 30px; padding:13px 20px; border:1px solid #e8c875; border-radius:10px;
  background:linear-gradient(90deg,#fffdf8,#fff8e8); color:#8a5b00;
}
[data-theme="dark"] .math-passion-quote { background:var(--surface-soft); border-color:#6d5830; color:var(--gold); }
.math-passion-quote > span { color:#d4a124; font-size:1.75rem; line-height:1; }
.math-passion-quote strong { font-family:Georgia,"Times New Roman",serif; font-size:1.02rem; font-style:italic; }
.learning-model-section { margin:0 0 42px; }
.learning-model-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px; }
.model-step { min-width:0; position:relative; padding:13px 10px 15px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.model-number { width:23px; height:23px; display:grid; place-items:center; border-radius:50%; background:var(--interactive-violet); color:#fff; font-size:1rem; font-weight:900; }
.model-icon { height:42px; margin:10px 0 8px; position:relative; color:var(--interactive-violet); }
.model-icon::before { display:block; font-size:1.7rem; line-height:42px; }
.model-icon-book::before { content:"▤"; }.model-icon-visual::before { content:"⌁"; }.model-icon-fx::before { content:"ƒ(x)"; font-family:Georgia,serif; }
.model-icon-pencil::before { content:"✎"; }.model-icon-trophy::before { content:"♕"; }.model-icon-notebook::before { content:"▣"; }.model-icon-target::before { content:"◎"; }
.model-step h3 { margin:0; color:var(--ink); font-size:1rem; line-height:1.22; }
.model-step p { margin:7px 0 0; color:var(--muted); font-size:1rem; line-height:1.45; }
.pathway-overview { margin:42px 0 26px; }
.pathway-card-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.pathway-card { min-width:0; padding:14px; border:1px solid var(--line); border-radius:13px; background:var(--surface); color:var(--text); text-decoration:none; transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease; }
.pathway-card:hover { transform:translateY(-2px); border-color:#cab676; box-shadow:var(--shadow-sm); }
.pathway-card-top { display:flex; gap:8px; align-items:flex-start; }
.pathway-card-top > span { color:#5c39dd; font-size:1rem; font-weight:900; }
.pathway-card-top strong { color:var(--ink); font-size:1rem; line-height:1.25; }
.pathway-mini-visual { height:92px; margin:8px 0 4px; background:#fff; border-radius:8px; overflow:hidden; }
.pathway-mini-visual svg { width:100%; height:100%; }
.mini-grid { fill:none; stroke:#b8c2d1; stroke-width:1; }.mini-violet { fill:none; stroke:#603af0; stroke-width:3; }.mini-gold { fill:none; stroke:#d99b16; stroke-width:2.2; stroke-dasharray:5 4; }
.mini-fill { fill:rgba(99,57,244,.18); stroke:#603af0; stroke-width:1.4; }.mini-point { fill:#603af0; }
.pathway-card-meta { display:flex; justify-content:space-between; gap:8px; margin:5px 0 7px; color:var(--muted); font-size:1rem; font-weight:700; }
.mastery-banner { display:grid; grid-template-columns:38px minmax(0,1fr) auto; gap:13px; align-items:center; margin:25px 0 38px; padding:14px 17px; border:1px solid #e3c671; border-radius:11px; background:linear-gradient(100deg,#fff9e8,var(--surface)); }
[data-theme="dark"] .mastery-banner { background:var(--surface-soft); border-color:#6b5730; }
.mastery-target { width:34px; height:34px; display:grid; place-items:center; border:1px solid #c38b13; border-radius:50%; color:#a36f08; font-size:1.3rem; }
.mastery-banner strong { color:#8a5c05; font-size:1rem; }
.mastery-banner p { margin:3px 0 0; color:var(--muted); font-size:1rem; line-height:1.4; }
.mastery-action { min-width:160px; margin:0; padding:9px 13px; border-color:#a87308; background:linear-gradient(135deg,#a97105,#c99923); color:#fff; font-size:1rem; }
.full-curriculum { margin-top:62px; }

/* Chapter model from the approved dashboard: title, quote, four visuals, mastery path. */
.chapter-head::before { display:none; }
.chapter-label { display:inline-flex; margin:0 0 14px; padding:6px 12px; border:1px solid #e1c06a; border-radius:7px; background:#fff8e5; color:#805706; font-size:1rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
[data-theme="dark"] .chapter-label { background:var(--surface-soft); border-color:#6d5830; color:var(--gold); }
.chapter-quote { margin-top:-8px; margin-bottom:24px; }
.chapter-mastery-banner { margin:20px 0 20px; }
.lesson-horizon { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:32px; padding:24px 26px; border:1px solid var(--line); border-radius:15px; background:var(--surface); }
.lesson-horizon h2 { margin:3px 0 0; font-family:Georgia,"Times New Roman",serif; font-size:1.35rem; }
.lesson-horizon p:not(.eyebrow) { margin:6px 0 0; color:var(--muted); font-size:1rem; }
.course-horizon-button { flex:0 0 auto; margin:0; background:var(--navy); border-color:var(--navy); color:var(--surface); }
[data-theme="dark"] .course-horizon-button { background:#e8efff; color:#102b56; }

/* Right study tools aligned with the approved design. */
.accessibility-panel { margin-top:14px; }
.font-size-controls { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
.font-size-controls button,.theme-choice-row button,.focus-tool { min-height:38px; border:1px solid var(--line); border-radius:8px; background:var(--surface-soft); color:var(--text); cursor:pointer; font-size:1rem; font-weight:800; }
.font-size-controls button[aria-pressed="true"],.theme-choice-row button[aria-pressed="true"] { border-color:var(--interactive-violet); background:color-mix(in srgb,var(--interactive-violet) 10%,var(--surface)); color:#5a38dc; }
.theme-choice-row { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-top:8px; }
.tool-switch-row { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:10px; color:var(--text); font-size:1rem; }
.switch-button { width:39px; height:22px; padding:2px; border:1px solid var(--line); border-radius:999px; background:#d9dee6; cursor:pointer; }
.switch-button span { display:block; width:16px; height:16px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.18); transition:transform .15s ease; }
.switch-button[aria-pressed="true"] { background:var(--interactive-violet); }
.switch-button[aria-pressed="true"] span { transform:translateX(17px); }
.focus-tool { width:100%; margin-top:9px; text-align:center; }
.notation-panel details { border-top:1px solid var(--line); }
.notation-panel details:first-of-type { margin-top:4px; }
.notation-panel summary { padding:9px 0; cursor:pointer; color:var(--text); font-size:1rem; font-weight:780; }
.notation-list { margin:0; }
.notation-list > div { display:grid; grid-template-columns:70px minmax(0,1fr); gap:8px; padding:7px 0; border-top:1px solid var(--line); }
.notation-list dt { font-family:Georgia,serif; color:var(--ink); }.notation-list dd { margin:0; color:var(--muted); font-size:1rem; }
.formula-list { display:grid; gap:6px; padding-bottom:8px; }
.formula-list span { display:block; padding:7px 8px; border-radius:7px; background:var(--surface-soft); color:var(--ink); font-family:Georgia,serif; font-size:1rem; overflow-wrap:anywhere; }
.progress-ring { width:78px; height:78px; display:grid; place-items:center; margin:12px auto 8px; border-radius:50%; background:conic-gradient(var(--interactive-violet) calc(var(--progress)*1%),#e4e8ef 0); position:relative; }
.progress-ring::after { content:""; position:absolute; inset:8px; border-radius:50%; background:var(--surface); }
.progress-ring span { position:relative; z-index:1; color:var(--ink); font-size:1rem; font-weight:900; }
.mastery-panel { border-top:3px solid #d19a1d; }
.ai-boundary-card { margin-top:18px; padding:14px; border:1px solid #d9cffd; border-radius:12px; background:linear-gradient(135deg,#5e37e8,#744af4); color:#fff; }
.ai-boundary-card strong { font-size:1rem; }.ai-boundary-card p { margin:5px 0 8px; color:#f3efff; font-size:1rem; line-height:1.45; }.ai-boundary-card span { font-size:1rem; font-weight:850; text-transform:uppercase; letter-spacing:.09em; }

/* Focus mode applies to the entire course, not just chapters. */
html[data-focus="true"] #app-shell { grid-template-columns:minmax(0,1fr); }
html[data-focus="true"] #app-shell .shell-resizer,html[data-focus="true"] #sidebar,html[data-focus="true"] #study-tools { display:none !important; }
html[data-focus="true"] #app-shell > #main { grid-column:1; }

#mobile-bottom-nav { display:none; }

@media (max-width:1650px) {
  .learning-model-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .pathway-card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:1320px) and (min-width:1181px) {
  .brand-tier-inner { grid-template-columns:minmax(275px,1fr) minmax(240px,.8fr) minmax(210px,.8fr); }
  .grade-badge { display:none; }
}
@media (max-width:1180px) {
  :root { --brand-tier-h:64px; --product-nav-h:50px; --header-h:114px; }
  #app-shell.home-shell,#app-shell.chapter-shell { grid-template-columns:minmax(0,1fr); }
  #app-shell.home-shell > #main,#app-shell.chapter-shell > #main { grid-column:1; }
  #app-shell .shell-resizer { display:none !important; }
  .brand-tier-inner { grid-template-columns:minmax(280px,1fr) auto; gap:12px; }
  .brand-mission { display:none; }
  .grade-badge { display:none; }
  .product-nav-inner { gap:10px; }
  .product-mobile-menu,.product-mobile-tools { display:inline-grid; min-width:40px; min-height:40px; border-color:rgba(255,255,255,.2); background:rgba(255,255,255,.04); color:#fff; }
  .product-nav-tier .desktop-nav { display:none; }
  .product-nav-actions { margin-left:auto; }
  .nav-tools-button { display:none; }
  #sidebar,#study-tools { top:var(--header-h); }
  #shell-overlay { inset:var(--header-h) 0 0; }
  #main,.home-shell #main { padding:32px clamp(22px,5vw,54px) 70px; }
  .pathway-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .learning-model-grid { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:10px; padding-bottom:10px; scrollbar-width:none; }
  .learning-model-grid::-webkit-scrollbar { display:none; }
  .model-step { flex:0 0 min(76vw,300px); scroll-snap-align:start; }
  .pathway-card-grid { grid-template-columns:1fr 1fr; }
  .mastery-banner { grid-template-columns:34px minmax(0,1fr); }
  .mastery-action { grid-column:1/-1; width:100%; }
  .lesson-horizon { align-items:flex-start; flex-direction:column; }
  .lesson-horizon .button { width:100%; }
}
@media (max-width:650px) {
  :root { --brand-tier-h:52px; --product-nav-h:48px; --header-h:100px; }
  html { scroll-padding-top:134px; }
  body { padding-bottom:70px; }
  .brand-tier { min-height:52px; }
  .brand-tier-inner { min-height:52px; display:flex; align-items:center; justify-content:space-between; padding:0 12px; }
  .corporate-brand { gap:9px; }
  .corporate-mark { width:34px; height:34px; flex-basis:34px; font-size:1rem; outline-offset:2px; }
  .corporate-copy strong { display:block !important; font-size:1rem; }
  .corporate-copy small { display:none; }
  .brand-actions { gap:5px; }
  .brand-actions .language-toggle { display:flex; }
  .brand-actions .language-toggle button { min-width:30px; min-height:34px; padding:4px; font-size:1rem; }
  .brand-actions #theme-button { display:none; }
  .product-nav-tier { display:block; min-height:48px; }
  .product-nav-inner { min-height:48px; padding:0 10px; }
  .product-wordmark { flex:1; justify-content:flex-start; }
  .product-wordmark > span { display:none; }
  .product-wordmark strong { font-size:1rem; }
  .product-mobile-menu,.product-mobile-tools { min-width:38px; min-height:38px; padding:7px; }
  #sidebar,#study-tools { top:100px; height:calc(100vh - 100px - 64px); padding-bottom:90px; }
  #shell-overlay { inset:100px 0 64px; }
  #main,.home-shell #main { padding:26px 15px 52px; }
  .course-overview-head h1 { font-size:clamp(2rem,10.5vw,3rem); }
  .math-passion-quote { margin:18px 0 24px; padding:12px 14px; }
  .pathway-card-grid { display:flex; overflow-x:auto; gap:11px; padding:0 0 10px; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .pathway-card-grid::-webkit-scrollbar { display:none; }
  .pathway-card { flex:0 0 min(80vw,330px); scroll-snap-align:start; }
  .chapter-head { margin-top:0; grid-template-columns:1fr; }
  .chapter-label { margin-bottom:10px; }
  .chapter-progress-card { display:none; }
  .chapter-quote { margin-top:0; }
  .visual-lab-heading { display:block; }
  .visual-count { margin-top:10px; }
  .lesson-tabs-wrap { top:100px; }
  #mobile-bottom-nav {
    position:fixed; z-index:92; left:0; right:0; bottom:0; height:64px; display:grid; grid-template-columns:repeat(5,1fr);
    padding:4px max(6px,env(safe-area-inset-right)) calc(4px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));
    border-top:1px solid var(--line); background:color-mix(in srgb,var(--surface) 96%,transparent); box-shadow:0 -8px 24px rgba(13,35,68,.09);
  }
  #mobile-bottom-nav a,#mobile-bottom-nav button { min-width:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; border:0; background:transparent; color:var(--muted); text-decoration:none; font-size:1rem; font-weight:750; cursor:pointer; }
  #mobile-bottom-nav .bottom-icon { font-size:1rem; line-height:1; color:var(--text); }
  #mobile-bottom-nav .bottom-primary .bottom-icon { width:36px; height:36px; display:grid; place-items:center; margin-top:-12px; border-radius:50%; background:var(--interactive-violet); color:#fff; box-shadow:0 6px 16px rgba(99,57,244,.28); }
  #site-footer { margin-bottom:64px; }
}


/* TERA Math 12 v2.5: U.S. Grade 12 premium mastery experience */
#site-header { background:var(--surface); box-shadow:0 4px 20px rgba(16,43,86,.06); }
.brand-tier { border-bottom:1px solid var(--line); background:var(--surface); }
.product-nav-tier { background:linear-gradient(90deg,#0e3f9c,#1f5eff); }
.product-nav-tier a, .product-nav-tier button, .product-wordmark { color:#fff !important; }
.product-nav-tier .icon-button, .product-nav-tier .nav-tools-button { border-color:rgba(255,255,255,.3); background:rgba(255,255,255,.08); }
.grade-badge { background:#eaf1ff !important; color:#1247c8 !important; border-color:#c7d8ff !important; }
.chapter-head { position:relative; overflow:hidden; border:1px solid #cbdcff; border-radius:24px; padding:clamp(26px,4vw,48px); background:linear-gradient(135deg,#ffffff 0%,#f5f8ff 58%,#e9f1ff 100%); box-shadow:0 22px 54px rgba(24,73,165,.10); }
.chapter-head::after { content:""; position:absolute; width:260px; height:260px; right:-95px; top:-120px; border-radius:50%; background:radial-gradient(circle,rgba(31,94,255,.16),rgba(31,94,255,0) 68%); pointer-events:none; }
.chapter-head h1 { color:#0d2f73; }
.chapter-progress-card { position:relative; z-index:1; background:#fff; border:1px solid #cddcff; box-shadow:0 10px 24px rgba(31,94,255,.08); }
.chapter-goals { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:18px; margin:26px 0 18px; }
.chapter-goal-general, .chapter-goal-specific { border:1px solid #ccd9ef; border-radius:18px; padding:22px 24px; background:#fff; box-shadow:0 10px 28px rgba(16,43,86,.06); }
.chapter-goal-general { border-left:5px solid var(--blue); background:linear-gradient(135deg,#fff,#f2f6ff); }
.chapter-goals span { display:block; margin-bottom:8px; color:var(--blue-2); font-size:1rem; font-weight:850; letter-spacing:.11em; text-transform:uppercase; }
.chapter-goal-general h2 { margin:0; color:var(--ink); font-size:1.28rem; line-height:1.45; }
.chapter-goal-specific ul { margin:0; padding-left:21px; }
.chapter-goal-specific li { margin:6px 0; }
.chapter-learning-route { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin:18px 0 28px; }
.chapter-learning-route span { min-height:58px; display:flex; align-items:center; gap:9px; padding:9px 12px; border:1px solid #d5e1f2; border-radius:13px; background:#fff; color:#3a4961; font-size:1rem; font-weight:760; }
.chapter-learning-route b { width:27px; height:27px; flex:0 0 27px; display:grid; place-items:center; border-radius:50%; background:#1f5eff; color:#fff; font-size:1rem; }
.visual-investigation-shell, .visual-card { border-color:#cbd9ef !important; }
.lesson-shell { border-color:#cbd9ef; border-radius:22px; box-shadow:0 18px 50px rgba(16,43,86,.08); }
.lesson-top { background:linear-gradient(135deg,#fff,#eef4ff); }
.objective-card { border-left-width:5px; box-shadow:inset 0 0 0 1px rgba(31,94,255,.03); }
.practice-card { box-shadow:0 8px 24px rgba(16,43,86,.04); }
.practice-card:hover { border-color:#9bb7ee; box-shadow:0 12px 30px rgba(31,94,255,.08); }
.problem-actions .button.primary { background:linear-gradient(135deg,#1f5eff,#1247c8); border-color:#1247c8; box-shadow:0 8px 18px rgba(31,94,255,.18); }
.hint-box { border-left:4px solid #1f5eff; background:#f3f7ff; }
.hint-stack { display:grid; gap:10px; margin-top:10px; }
.hint-step { display:grid; grid-template-columns:28px minmax(0,1fr); gap:10px; align-items:start; padding:10px 12px; border:1px solid #d7e3f7; border-radius:10px; background:#fff; }
.hint-step > span { width:26px; height:26px; display:grid; place-items:center; border-radius:50%; background:#eaf1ff; color:#1247c8; font-size:1rem; font-weight:850; }
.hint-step p { margin:0; }
.solution-box { border-left:4px solid #12653b; background:#f0faf4; }
.feedback.guidance { background:#eef4ff; color:#1247c8; }
.deterministic-label { border:1px solid #b8dfc8; }
@media(max-width:820px){
  .chapter-goals{grid-template-columns:1fr;}
  .chapter-learning-route{grid-template-columns:1fr 1fr;}
  .chapter-learning-route span:last-child{grid-column:1/-1;}
}

/* Final TERA Math 12 product identity override: blue/white, student-first, student-specific styling. */
:root {
  --gold:#1f5eff;
  --gold-soft:#eef4ff;
  --interactive-violet:#1f5eff;
  --brand-gold-1:#1f5eff;
  --brand-gold-3:#1247c8;
}
[data-theme="dark"] {
  --gold:#8fb0ff;
  --gold-soft:#172c50;
  --interactive-violet:#8fb0ff;
}
.brand-tier { background:#fff !important; color:var(--text); border-bottom:1px solid var(--line); }
.corporate-brand { color:var(--ink); }
.corporate-mark { width:46px; height:46px; flex-basis:46px; padding:0; border:0; outline:0; border-radius:12px; background:transparent; box-shadow:0 8px 20px rgba(31,94,255,.12); overflow:hidden; }
.corporate-mark img { width:100%; height:100%; object-fit:cover; }
.corporate-copy strong { color:#0d2f73; font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; font-size:1.32rem; font-weight:900; letter-spacing:-.025em; }
.corporate-copy small { color:var(--muted); font-size:1rem; }
.brand-mission { color:var(--muted); }
.brand-mission strong { color:#1247c8; }
.brand-mission span { color:var(--muted); }
.brand-actions .icon-button,.brand-actions .language-toggle { border-color:var(--line); background:#fff; color:var(--text); }
.brand-actions .language-toggle button { color:var(--text); }
.brand-actions .language-toggle button[aria-pressed="true"] { background:#1247c8; color:#fff; }
.brand-actions .icon-button:hover,.brand-actions .language-toggle button:hover { border-color:#1f5eff; background:#eef4ff; }
.product-nav-tier { background:linear-gradient(100deg,#0d3d98,#1f5eff 62%,#2a68ff) !important; border-bottom:0; box-shadow:0 8px 22px rgba(31,94,255,.14); }
.product-wordmark > span { background:#fff; box-shadow:0 0 0 3px rgba(255,255,255,.12); }
.product-wordmark strong { font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; font-weight:900; letter-spacing:-.01em; }
.product-nav-tier .desktop-nav a::after { background:#fff; }
.nav-tools-button { border-color:rgba(255,255,255,.34); color:#fff; background:rgba(255,255,255,.08); }
.nav-tools-button:hover { border-color:#fff; background:rgba(255,255,255,.14); }
.course-cap { background:linear-gradient(145deg,#1247c8,#1f5eff); box-shadow:0 8px 22px rgba(31,94,255,.18); }
.side-section-label { color:#1247c8; }
.side-track[open] { border-color:#a9c0ef; box-shadow:0 6px 18px rgba(31,94,255,.05); }
.track-number { border-color:#b7c9ec; color:#1247c8; background:#eef4ff; }
.pathway-card:hover { border-color:#9bb7ee; box-shadow:0 12px 28px rgba(31,94,255,.08); }
.pathway-card-top > span { color:#1247c8; }
.mini-violet { stroke:#1f5eff; }
.mini-gold { stroke:#4f7fe8; }
.mini-fill { fill:rgba(31,94,255,.15); stroke:#1f5eff; }
.mini-point { fill:#1f5eff; }
.mastery-banner { border-color:#bfd0ef; background:linear-gradient(100deg,#eef4ff,#fff); }
[data-theme="dark"] .mastery-banner { background:var(--surface-soft); border-color:#3f5778; }
.mastery-target { border-color:#7fa1e6; color:#1247c8; }
.mastery-banner strong { color:#1247c8; }
.mastery-action { border-color:#1247c8; background:linear-gradient(135deg,#1f5eff,#1247c8); color:#fff; }
.chapter-label { border-color:#bed0f2; background:#eef4ff; color:#1247c8; }
[data-theme="dark"] .chapter-label { background:var(--surface-soft); border-color:#3f5778; color:#a9bcff; }
.mastery-panel { border-top-color:#1f5eff; }
.ai-boundary-card { border-color:#9db8ef; background:linear-gradient(135deg,#0d3d98,#1f5eff); }
.objective-pair { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.objective-pair > div + div { padding-left:20px; border-left:1px solid #cbd9ef; }
.objective-pair p { margin-top:7px; }
@media(max-width:760px){ .objective-pair{grid-template-columns:1fr}.objective-pair>div+div{padding-left:0;padding-top:16px;border-left:0;border-top:1px solid #cbd9ef;} }


/* ============================================================
   TERA Math 12 2.6.0 premium HTML shell
   Header language follows the TeraSystemsAI governance model while
   keeping TERA Math 12 as the product identity.
   ============================================================ */
:root {
  --brand-tier-h:92px;
  --product-nav-h:66px;
  --header-h:158px;
  --tera-gold-1:#3f2700;
  --tera-gold-2:#7c5600;
  --tera-gold-3:#b9850d;
  --tera-accent:#c48b20;
}
#site-header { background:var(--surface); border-bottom:1px solid var(--line); }
.brand-tier { min-height:var(--brand-tier-h); background:linear-gradient(105deg,var(--tera-gold-1) 0%,var(--tera-gold-2) 52%,var(--tera-gold-3) 100%); border:0; }
.brand-tier-inner,.product-nav-inner { width:min(1760px,100%); margin:0 auto; padding-inline:clamp(26px,3.8vw,74px); }
.brand-tier-inner { min-height:var(--brand-tier-h); display:grid; grid-template-columns:minmax(360px,1fr) minmax(520px,1.2fr) minmax(360px,1fr); align-items:center; gap:28px; }
.corporate-brand { display:flex; align-items:center; gap:16px; color:#fff; text-decoration:none; }
.corporate-mark { width:54px; height:54px; flex:0 0 54px; display:grid; place-items:center; border:1px solid #d7a839; border-radius:50%; background:#3a2a0b; box-shadow:0 0 0 3px rgba(215,168,57,.16), inset 0 0 0 2px rgba(255,255,255,.08); }
.corporate-mark span { color:#f5d579; font-size:1.2rem; font-weight:900; }
.corporate-copy strong { display:block; color:#fff; font-family:inherit; font-size:1.38rem; line-height:1.05; letter-spacing:-.015em; }
.corporate-copy small { display:block; margin-top:5px; color:#fff0bf; font-size:1rem; font-weight:800; line-height:1.1; }
.brand-mission { text-align:center; color:#fff; }
.brand-mission strong { display:block; color:#fff; font-size:1rem; font-weight:900; letter-spacing:.08em; }
.brand-mission span { display:block; margin-top:7px; color:#fff5da; font-size:1rem; font-weight:750; letter-spacing:0; white-space:nowrap; }
.brand-location { min-width:0; text-align:right; }
.brand-location strong { display:block; color:#ffe4a0; font-size:1rem; font-weight:850; }
.brand-location span { display:block; margin-top:7px; color:#fff4d5; font-size:1rem; font-weight:750; white-space:nowrap; }
.product-nav-tier { min-height:var(--product-nav-h); background:var(--surface); border-bottom:1px solid var(--line-strong); }
.product-nav-inner { min-height:var(--product-nav-h); display:flex; align-items:center; gap:28px; }
.product-nav-tier .desktop-nav { flex:1; display:flex; align-items:stretch; gap:clamp(26px,2.7vw,48px); }
.product-nav-tier .desktop-nav a { min-height:var(--product-nav-h); display:flex; align-items:center; padding:0; color:var(--text); font-size:1rem; font-weight:800; letter-spacing:0; text-transform:none; }
.product-nav-tier .desktop-nav a::after { bottom:0; height:3px; background:var(--tera-accent); }
.product-nav-tier .desktop-nav a[aria-current="page"]::after { right:0; }
.product-nav-actions { display:flex; align-items:center; gap:18px; }
.header-setting { display:flex; align-items:center; gap:10px; }
.setting-label { color:var(--text); font-size:1rem; font-weight:800; white-space:nowrap; }
.segmented-control { display:inline-flex; overflow:hidden; border:1px solid var(--line-strong); border-radius:999px; background:var(--surface); }
.segmented-control button { min-width:58px; min-height:42px; padding:7px 13px; border:0; background:transparent; color:var(--text); cursor:pointer; font-size:1rem; font-weight:850; }
.segmented-control button[aria-pressed="true"] { margin:3px; min-width:52px; min-height:36px; border-radius:999px; background:var(--tera-accent); color:#1e1605; }
.nav-divider { width:1px; height:35px; background:var(--line-strong); }
.auth-link { min-height:46px; display:inline-flex; align-items:center; justify-content:center; padding:8px 14px; border-radius:9px; color:var(--text); text-decoration:none; font-size:1rem; font-weight:850; white-space:nowrap; }
.login-link:hover { background:var(--surface-soft); }
.create-account-link { min-width:170px; border:1px solid #9d6a0a; background:var(--tera-accent); color:#171108; }
.create-account-link:hover { filter:brightness(1.03); }
[data-theme="dark"] .product-nav-tier { background:#111d30; }
[data-theme="dark"] .segmented-control button[aria-pressed="true"],
[data-theme="dark"] .create-account-link { color:#181109; }
.route-page { width:100%; max-width:none; margin:0; padding:clamp(42px,4vw,72px) clamp(24px,3vw,54px) 90px; }
.route-page h1 { max-width:1050px; font-size:clamp(2.35rem,4.2vw,4.4rem); }
.route-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:36px; padding-bottom:36px; border-bottom:1px solid var(--line); }
.route-hero > div { max-width:980px; }
.dashboard-stat-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin:30px 0 64px; }
.dashboard-stat-grid article { padding:22px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.dashboard-stat-grid span { display:block; color:var(--muted); font-size:1rem; font-weight:760; }
.dashboard-stat-grid strong { display:block; margin-top:8px; color:var(--ink); font-size:1.8rem; }
.practice-hub-group { margin:56px 0; }
.practice-hub-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:18px; }
.practice-hub-list a { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 20px; border:1px solid var(--line); border-radius:13px; background:var(--surface); color:var(--text); text-decoration:none; }
.practice-hub-list a:hover { border-color:var(--blue); box-shadow:var(--shadow-sm); }
.practice-hub-list span { display:grid; gap:3px; }
.practice-hub-list small { color:var(--muted); }
.progress-summary { display:flex; align-items:baseline; gap:16px; margin:24px 0 34px; }
.progress-summary strong { color:var(--ink); font-size:3rem; }
.progress-summary span { color:var(--muted); }
.progress-list { display:grid; gap:12px; }
.progress-row { display:grid; grid-template-columns:minmax(240px,.8fr) minmax(280px,1.5fr) 70px; align-items:center; gap:22px; padding:18px 20px; border:1px solid var(--line); border-radius:13px; background:var(--surface); }
.progress-row > div:first-child { display:grid; gap:3px; }
.progress-row span { color:var(--muted); font-size:1rem; }
.progress-row b { text-align:right; color:var(--ink); }
.account-page { display:grid; place-items:center; min-height:calc(100vh - var(--header-h)); }
.account-card { width:min(620px,100%); padding:38px; border:1px solid var(--line); border-radius:20px; background:var(--surface); box-shadow:var(--shadow-sm); }
.account-card h1 { font-size:2.6rem; }
.account-card > p:not(.eyebrow) { color:var(--muted); }
.account-form { display:grid; gap:18px; margin-top:26px; }
.account-form label { display:grid; gap:8px; color:var(--ink); font-weight:780; }
.account-form input { min-height:52px; padding:10px 13px; border:1px solid var(--line-strong); border-radius:10px; background:var(--surface); color:var(--text); }
.account-form button[disabled] { opacity:.55; cursor:not-allowed; }
.account-form small { color:var(--muted); }

@media (max-width:1320px) {
  :root { --brand-tier-h:82px; --product-nav-h:58px; --header-h:140px; }
  .brand-tier-inner { grid-template-columns:minmax(300px,1fr) minmax(400px,1.1fr) minmax(300px,1fr); gap:18px; }
  .brand-mission span,.brand-location span { font-size:1rem; }
  .product-nav-tier .desktop-nav { gap:20px; }
  .product-nav-tier .desktop-nav a { font-size:1rem; }
  .product-nav-actions { gap:10px; }
  .setting-label { display:none; }
  .auth-link { padding-inline:10px; }
  .create-account-link { min-width:140px; }
}
@media (max-width:1080px) {
  :root { --brand-tier-h:74px; --product-nav-h:56px; --header-h:130px; }
  .brand-tier-inner { grid-template-columns:minmax(270px,1fr) minmax(320px,1fr); }
  .brand-location { display:none; }
  .product-nav-tier .desktop-nav { display:none; }
  .product-mobile-menu { display:inline-grid; }
  .product-nav-inner { justify-content:space-between; }
  .product-nav-actions { margin-left:auto; }
  .dashboard-stat-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:720px) {
  :root { --brand-tier-h:64px; --product-nav-h:54px; --header-h:118px; }
  .brand-tier-inner { grid-template-columns:1fr auto; padding-inline:14px; }
  .brand-mission { display:none; }
  .corporate-mark { width:44px; height:44px; flex-basis:44px; }
  .corporate-copy strong { font-size:1rem; }
  .corporate-copy small { font-size:1rem; }
  .product-nav-inner { padding-inline:12px; }
  .theme-setting,.nav-divider,.login-link { display:none; }
  .create-account-link { min-width:0; padding-inline:12px; font-size:1rem; }
  .language-setting .setting-label { display:none; }
  .segmented-control button { min-width:44px; min-height:38px; padding:5px 9px; }
  .segmented-control button[aria-pressed="true"] { min-width:40px; min-height:32px; }
  .route-page { padding:34px 18px 76px; }
  .route-hero { align-items:flex-start; flex-direction:column; }
  .dashboard-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .practice-hub-list { grid-template-columns:1fr; }
  .progress-row { grid-template-columns:1fr; gap:10px; }
  .progress-row b { text-align:left; }
}

/* ============================================================
   TERA Math 12 v2.7.0 preservation + recovery release
   - 18px minimum visible text
   - authored page assets
   - combined student workspace + curriculum pathway navigation
   - dark-theme semantic surface repair
   - lesson audio controls
   ============================================================ */
.tera-min-text { font-size:18px !important; line-height:1.45; }
.tera-svg-min-text { font-size:18px !important; }

/* The authored mathematics canvas stays white in every theme. */
.visual-canvas,
.pathway-mini-visual { background:#fff !important; color:#0c1830 !important; }
.visual-canvas text,
.pathway-mini-visual text { fill:#0c1830 !important; }

/* Combined sidebar: student workspace is additive; the course pathway remains canonical. */
.workspace-nav {
  margin:0 0 22px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--surface);
  overflow:hidden;
}
.workspace-nav > summary {
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  color:var(--ink);
  cursor:pointer;
  font-size:18px;
  font-weight:850;
  list-style:none;
}
.workspace-nav > summary::-webkit-details-marker { display:none; }
.workspace-nav > nav { display:grid; gap:7px; padding:0 10px 12px; }
.workspace-link {
  min-height:50px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:8px 11px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface);
  color:var(--text);
  text-decoration:none;
  font-size:18px;
  font-weight:720;
}
.workspace-link:hover { border-color:var(--blue); background:var(--surface-blue); }
.workspace-link.current { border-color:var(--blue); background:var(--blue); color:#fff; }
.workspace-icon { width:28px; height:28px; display:grid; place-items:center; }
.workspace-icon svg { width:23px; height:23px; }
.workspace-link.current .workspace-icon { color:#fff; }

/* Page-specific authored images. */
.route-intro-grid,
.route-hero-with-asset {
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);
  align-items:center;
  gap:clamp(28px,4vw,60px);
}
.route-hero-with-asset { align-items:center; }
.route-hero-with-asset > div:first-child { max-width:900px; }
.page-asset-card {
  margin:0;
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:22px;
  background:var(--surface);
  box-shadow:var(--shadow-sm);
}
.page-asset-card img {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
}
.page-asset-dashboard img,
.page-asset-profile img,
.page-asset-learn img { aspect-ratio:16/10; }

.route-guidance {
  margin:30px 0;
  padding:22px 24px;
  border:1px solid var(--line);
  border-left:5px solid var(--blue);
  border-radius:15px;
  background:var(--surface);
}
.route-guidance strong { display:block; margin:3px 0 6px; color:var(--ink); font-size:20px; }
.route-guidance p { margin:0; color:var(--muted); }
.profile-summary-grid,
.access-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:28px 0;
}
.profile-summary-grid article,
.access-grid article {
  padding:22px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--surface);
}
.profile-summary-grid span { display:block; color:var(--muted); }
.profile-summary-grid strong { display:block; margin-top:8px; color:var(--ink); font-size:32px; }

.solve-workspace { display:grid; gap:18px; margin-top:28px; }
.solve-workspace label { display:grid; gap:9px; color:var(--ink); font-weight:760; }
.solve-workspace textarea {
  width:100%;
  padding:14px 16px;
  border:1px solid var(--line-strong);
  border-radius:12px;
  background:var(--surface);
  color:var(--text);
  font-size:18px;
  line-height:1.6;
}
.solve-checklist,
.drill-config,
.library-track,
.diagnostic-item {
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--surface);
}
.solve-checklist { padding:20px 22px; }
.solve-checklist ol { margin-bottom:0; }
.drill-config { display:grid; grid-template-columns:1fr 240px auto; gap:16px; align-items:end; margin-top:28px; padding:22px; }
.drill-config label { display:grid; gap:8px; font-weight:760; }
.drill-config select { min-height:52px; padding:8px 12px; border:1px solid var(--line-strong); border-radius:10px; background:var(--surface); color:var(--text); }
.library-track { margin:24px 0; padding:22px; }
.library-track h2 { margin-top:0; }
.library-track > div { display:grid; gap:10px; }
.library-track a {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto 24px;
  gap:14px;
  align-items:center;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:10px;
  color:var(--text);
  text-decoration:none;
}
.library-track a:hover { border-color:var(--blue); background:var(--surface-blue); }
.library-track small { color:var(--muted); }
.diagnostic-list { display:grid; gap:14px; margin:26px 0; }
.diagnostic-item { display:grid; gap:10px; padding:20px; }
.diagnostic-item > span { color:var(--blue-2); font-weight:850; }
.diagnostic-item input { min-height:50px; padding:10px 12px; border:1px solid var(--line-strong); border-radius:9px; background:var(--surface); color:var(--text); }
.diagnostic-result { min-height:30px; margin-top:18px; color:var(--ink); font-weight:780; }

/* Lesson audio is deterministic browser narration, independent of external AI. */
.lesson-audio-bar {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-top:20px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface);
  color:var(--text);
}
.lesson-audio-bar button,
.lesson-audio-bar select {
  min-height:46px;
  padding:8px 12px;
  border:1px solid var(--line-strong);
  border-radius:9px;
  background:var(--surface-soft);
  color:var(--text);
  cursor:pointer;
}
.lesson-audio-bar .audio-primary { border-color:var(--blue); background:var(--blue-soft); color:var(--blue-2); font-weight:820; }
.lesson-audio-bar label { display:flex; align-items:center; gap:8px; font-weight:700; }
.lesson-audio-bar details { flex:1 1 240px; }
.lesson-audio-bar summary { cursor:pointer; font-weight:760; }
.lesson-audio-bar details p { margin:8px 0 0; color:var(--muted); }
.route-audio { max-width:760px; }

/* Authored markdown tables and intact prose/math flow. */
.table-scroll { max-width:100%; overflow-x:auto; margin:16px 0; }
.authored-table { width:100%; border-collapse:collapse; background:var(--surface); color:var(--text); }
.authored-table th,
.authored-table td { padding:12px 14px; border:1px solid var(--line); text-align:left; vertical-align:top; }
.authored-table th { background:var(--surface-soft); color:var(--ink); }
.rich-math p,
.intuition-card p,
.worked-card p,
.problem-text p { overflow-wrap:normal; word-break:normal; }

/* Dark theme repair: no light surface may inherit light text. */
[data-theme="dark"] .chapter-head {
  border-color:var(--line-strong);
  background:linear-gradient(135deg,#111d30 0%,#152641 58%,#18345b 100%);
  box-shadow:0 22px 54px rgba(0,0,0,.24);
}
[data-theme="dark"] .chapter-head h1,
[data-theme="dark"] .chapter-head .lead { color:var(--ink); }
[data-theme="dark"] .chapter-progress-card,
[data-theme="dark"] .chapter-goal-general,
[data-theme="dark"] .chapter-goal-specific,
[data-theme="dark"] .chapter-learning-route span,
[data-theme="dark"] .lesson-top,
[data-theme="dark"] .lesson-shell,
[data-theme="dark"] .objective-card,
[data-theme="dark"] .content-block,
[data-theme="dark"] .practice-card,
[data-theme="dark"] .route-guidance,
[data-theme="dark"] .page-asset-card,
[data-theme="dark"] .solve-checklist,
[data-theme="dark"] .drill-config,
[data-theme="dark"] .library-track,
[data-theme="dark"] .diagnostic-item,
[data-theme="dark"] .profile-summary-grid article,
[data-theme="dark"] .access-grid article {
  border-color:var(--line);
  background:var(--surface);
  color:var(--text);
}
[data-theme="dark"] .chapter-goal-general { background:linear-gradient(135deg,var(--surface),var(--surface-blue)); }
[data-theme="dark"] .lesson-top { background:linear-gradient(135deg,var(--surface),var(--surface-blue)); }
[data-theme="dark"] .chapter-progress-card { background:var(--surface-soft); }
[data-theme="dark"] .hint-box { background:#132641; color:var(--text); }
[data-theme="dark"] .hint-step { border-color:var(--line); background:var(--surface); color:var(--text); }
[data-theme="dark"] .solution-box { background:#123225; color:var(--text); }
[data-theme="dark"] .feedback.guidance { background:var(--surface-blue); color:var(--blue-2); }
[data-theme="dark"] .chapter-learning-route span { color:var(--text); }
[data-theme="dark"] .chapter-goals span,
[data-theme="dark"] .objective-label,
[data-theme="dark"] .section-kicker,
[data-theme="dark"] .practice-number { color:#a9bcff; }
[data-theme="dark"] .objective-pair > div + div { border-color:var(--line); }
[data-theme="dark"] .lesson-audio-bar { background:var(--surface-soft); }
[data-theme="dark"] .lesson-audio-bar .audio-primary { background:var(--surface-blue); color:#c8d6ff; }
[data-theme="dark"] .authored-table { background:var(--surface); }
[data-theme="dark"] .authored-table th { background:var(--surface-soft); }
[data-theme="dark"] .workspace-link.current { background:#315fdb; border-color:#6f95ff; color:#fff; }
[data-theme="dark"] .workspace-link:hover { background:var(--surface-blue); }

/* Strong readable corporate header in either theme. */
.brand-tier .corporate-copy strong,
.brand-tier .corporate-copy small,
.brand-tier .brand-mission strong,
.brand-tier .brand-mission span,
.brand-tier .brand-location strong,
.brand-tier .brand-location span { text-shadow:0 1px 1px rgba(0,0,0,.18); }

@media (max-width:1180px) {
  .route-intro-grid,.route-hero-with-asset { grid-template-columns:1fr; }
  .page-asset-card { max-width:620px; }
  .drill-config { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .profile-summary-grid,.access-grid { grid-template-columns:1fr; }
  .library-track a { grid-template-columns:1fr 24px; }
  .library-track small { grid-column:1/-1; }
}

/* v2.7 responsive text-floor accommodations. */
.brand-mission span,.brand-location span { white-space:normal; line-height:1.35; }
@media (max-width:650px) {
  body { padding-bottom:96px; }
  #sidebar,#study-tools { height:calc(100vh - 100px - 88px); padding-bottom:112px; }
  #shell-overlay { inset:100px 0 88px; }
  #mobile-bottom-nav { height:88px; }
  #mobile-bottom-nav a,#mobile-bottom-nav button { font-size:18px !important; line-height:1.15; }
  #mobile-bottom-nav .bottom-icon { font-size:20px !important; }
  #site-footer { margin-bottom:88px; }
}


/* ============================================================
   TERA Math 12 v2.8.0 retained header + Profile + Dashboard
   ============================================================ */
:root{
  --tera-header-gold-1:#241705;
  --tera-header-gold-2:#6b3f00;
  --tera-header-gold-3:#9b6500;
  --tera-header-cream:#fff5d6;
  --tera-header-gold:#e1a928;
  --tera-nav-blue-1:#0f48b7;
  --tera-nav-blue-2:#1761ff;
}
.brand-tier.tera-retained-header{
  background:linear-gradient(104deg,var(--tera-header-gold-1) 0%,#4e2b00 34%,var(--tera-header-gold-2) 67%,var(--tera-header-gold-3) 100%) !important;
  border-top:2px solid #d8a325;
  border-bottom:2px solid #d8a325;
}
.tera-retained-header .brand-tier-inner{grid-template-columns:minmax(360px,1fr) minmax(520px,1.25fr) minmax(500px,1.15fr);}
.tera-retained-header .corporate-copy strong{color:#fff !important;font-size:26px !important;text-shadow:0 1px 2px #000;}
.tera-retained-header .corporate-copy small{color:#f6cf63 !important;font-size:18px !important;text-shadow:0 1px 2px #000;}
.tera-retained-header .brand-mission strong{color:#f6cf63 !important;font-family:Georgia,serif;font-size:30px !important;letter-spacing:.05em;}
.tera-retained-header .brand-mission span{color:#fff7df !important;font-size:18px !important;font-weight:800;}
.brand-right-cluster{display:flex;align-items:center;justify-content:flex-end;gap:24px;min-width:0;}
.tera-retained-header .brand-location strong{color:#f6cf63 !important;font-size:18px !important;}
.tera-retained-header .brand-location span{color:#fff7df !important;font-size:18px !important;font-weight:800;}
.brand-philosophy{display:flex;align-items:center;gap:10px;color:#fff7df;white-space:nowrap;}
.brand-philosophy b{font-family:Georgia,serif;font-size:50px;line-height:1;color:#f6cf63;text-shadow:0 1px 2px #000;}
.brand-philosophy span{font-family:Georgia,serif;font-style:italic;font-size:18px;line-height:1.25;font-weight:700;}
.product-nav-tier.tera-retained-nav{background:linear-gradient(95deg,var(--tera-nav-blue-1),var(--tera-nav-blue-2)) !important;border-bottom:0;box-shadow:0 7px 20px rgba(20,65,160,.22);}
.tera-retained-nav .desktop-nav a,.tera-retained-nav .setting-label,.tera-retained-nav .auth-link{color:#fff !important;font-size:18px !important;}
.tera-retained-nav .desktop-nav a[aria-current="page"]::after{height:4px;background:var(--tera-header-gold);}
.tera-retained-nav .segmented-control{background:#10204a;border:1px solid rgba(255,255,255,.42);padding:3px;}
.tera-retained-nav .segmented-control button{font-size:18px !important;color:#fff;min-width:58px;min-height:40px;}
.tera-retained-nav .segmented-control button[aria-pressed="true"]{background:var(--tera-header-gold);color:#151008;}
.tera-retained-nav .create-account-link{background:linear-gradient(180deg,#f2cc63,#dfa62b);border-color:#9b6700;color:#111b36 !important;min-width:190px;}
.tera-retained-nav .nav-divider{background:rgba(255,255,255,.42);}

/* Dashboard: personal decision center without duplicating the full Profile. */
.dashboard-v28{max-width:none;}
.dashboard-welcome-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);align-items:center;gap:34px;margin-bottom:24px;}
.dashboard-welcome-copy h1{font-size:clamp(38px,4vw,62px);margin:.2em 0;}
.dashboard-context-chips,.profile-chip-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;}
.dashboard-context-chips span,.profile-chip-row span,.session-chip,.status-chip,.message-meta span{display:inline-flex;align-items:center;min-height:38px;padding:7px 12px;border-radius:999px;background:var(--surface-blue);border:1px solid var(--line);color:var(--blue-2);font-weight:800;font-size:18px !important;}
.dashboard-v28 .page-asset-dashboard img{aspect-ratio:16/8.7;object-position:center;}
.dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:28px 0;}
.student-metric-card{display:grid;grid-template-columns:48px 1fr;gap:13px;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--surface);}
.student-metric-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:var(--surface-blue);color:var(--blue-2);}
.student-metric-icon svg{width:24px;height:24px;}
.student-metric-card span{color:var(--muted);font-weight:780;}
.student-metric-card strong{display:block;margin:4px 0;font-size:30px;color:var(--ink);}
.student-metric-card p{margin:0;color:var(--muted);}
.dashboard-decision-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.5fr);gap:16px;margin:34px 0;}
.next-best-action{padding:28px;border-radius:18px;background:linear-gradient(135deg,#174fd8,#2e63ff);color:#fff;box-shadow:0 16px 36px rgba(28,82,214,.22);}
.next-best-action .eyebrow,.next-best-action h2,.next-best-action p{color:#fff !important;}
.next-best-action h2{font-size:32px;margin:7px 0;}
.readiness-card{padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--surface);}
.readiness-card strong{display:block;font-size:26px;color:var(--ink);margin:8px 0;}
.readiness-card p{color:var(--muted);}
.action-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;}
.next-best-action .button.secondary{background:#fff;color:#123b93;border-color:#fff;}
.dashboard-twin-actions{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:26px 0 44px;}
.dashboard-twin-actions article{padding:25px;border:1px solid var(--line);border-radius:18px;background:var(--surface);}
.dashboard-twin-actions h2{font-size:28px;margin:8px 0;}
.dashboard-section{margin:50px 0;}
.section-heading-row{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px;}
.section-heading-row h2{margin:5px 0 0;font-size:34px;}
.section-heading-row>a{display:inline-flex;align-items:center;gap:8px;color:var(--blue-2);font-weight:800;text-decoration:none;}
.section-heading-row>a svg{width:20px;}
.quick-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.quick-action{display:flex;align-items:center;gap:12px;min-height:74px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text);text-decoration:none;}
.quick-action:hover{border-color:var(--blue);box-shadow:var(--shadow-sm);}
.quick-action>span{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--surface-blue);color:var(--blue-2);}
.quick-action svg{width:22px;height:22px;}
.dashboard-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.dashboard-work-item,.work-archive-card{padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--surface);}
.work-item-top{display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted);font-weight:750;}
.work-question{margin:16px 0;color:var(--ink);font-weight:700;}
.dashboard-work-item>a{display:inline-flex;align-items:center;gap:7px;color:var(--blue-2);font-weight:800;text-decoration:none;}
.dashboard-work-item>a svg{width:20px;}
.learning-mode-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.learning-mode-card{padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text);text-decoration:none;}
.learning-mode-card>div{display:flex;align-items:center;justify-content:space-between;}
.mode-number{font-weight:900;color:var(--blue-2);}
.mode-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:var(--surface-blue);color:var(--blue-2);}
.mode-icon svg{width:22px;}
.learning-mode-card h3{font-size:25px;margin:18px 0 8px;}
.learning-mode-card p{margin:0;color:var(--muted);}

/* Profile: retained authored image and the five original responsibility tabs. */
.profile-v28{max-width:1540px;}
.profile-title h1{font-size:clamp(34px,3.5vw,54px);margin:7px 0;}
.profile-banner{position:relative;margin:28px 0 22px;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow-sm);}
.profile-banner img{display:block;width:100%;height:250px;object-fit:cover;object-position:center 42%;}
.profile-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.45) 26%,transparent 55%);pointer-events:none;}
[data-theme="dark"] .profile-banner:after{background:linear-gradient(90deg,rgba(12,24,43,.9) 0%,rgba(12,24,43,.42) 26%,transparent 55%);}
.profile-banner figcaption{position:absolute;z-index:1;left:28px;bottom:26px;display:grid;gap:5px;}
.profile-banner figcaption strong{font-size:24px;color:var(--ink);}
.profile-banner figcaption span{color:var(--blue-2);font-weight:800;}
.student-profile-summary{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;padding:26px;border:1px solid var(--line);border-radius:20px;background:var(--surface);}
.profile-summary-main{display:grid;grid-template-columns:64px 1fr;gap:18px;align-items:start;}
.profile-avatar{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#2c65ff,#7144ec);color:#fff;font-size:30px;font-weight:900;}
.profile-summary-main h2{font-size:28px;margin:4px 0;}
.profile-summary-main p{color:var(--muted);}
.profile-summary-metrics{grid-column:1/2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.profile-summary-metrics .student-metric-card{grid-template-columns:1fr;}
.profile-summary-metrics .student-metric-icon{display:none;}
.profile-side-status{grid-row:1/3;grid-column:2;display:grid;gap:12px;}
.profile-side-status article{padding:20px;border:1px solid var(--line);border-radius:15px;background:var(--surface-soft);}
.profile-side-status span{font-weight:800;color:var(--muted);}
.profile-side-status strong{display:block;font-size:24px;margin:8px 0;color:var(--ink);}
.profile-side-status p{margin:0;color:var(--muted);}
.profile-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 22px;border-bottom:1px solid var(--line);}
.profile-tabs button{min-height:52px;padding:10px 14px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--text);font-size:18px;font-weight:750;cursor:pointer;}
.profile-tabs button[aria-selected="true"]{border-bottom-color:#ff4b55;color:#d92a37;}
.profile-tab-panel{min-height:220px;}
.profile-overview-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px;}
.profile-overview-metrics>div{padding:18px;border-bottom:1px solid var(--line);}
.profile-overview-metrics span{color:var(--muted);font-weight:750;}
.profile-overview-metrics strong{display:block;font-size:30px;color:var(--ink);margin-top:6px;}
.profile-focus-card,.profile-section-card,.identity-account-card,.voice-settings-card{padding:24px;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:16px;background:var(--surface);margin:18px 0;}
.profile-focus-card h2,.profile-section-card h2,.identity-account-card h2,.voice-settings-card h2{font-size:28px;margin:6px 0;}
.profile-skill-bars{display:grid;gap:16px;margin:24px 0;}
.profile-skill-bars article{display:grid;gap:8px;}
.profile-skill-bars article>span{color:var(--muted);}
.profile-message-list,.work-archive-list{display:grid;gap:14px;}
.profile-message-card{display:grid;grid-template-columns:1fr auto;gap:14px;padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--surface);}
.profile-message-card .message-meta{grid-column:1/2;display:flex;gap:8px;}
.profile-message-card .button{grid-column:1/2;width:max-content;}
.work-archive-card dl{display:grid;gap:15px;margin:16px 0 0;}
.work-archive-card dl>div{display:grid;gap:5px;}
.work-archive-card dt{font-weight:850;color:var(--muted);}
.work-archive-card dd{margin:0;color:var(--text);}
.identity-head{display:flex;align-items:center;gap:18px;margin-bottom:20px;}
.identity-head h2{margin:0;}
.identity-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0;}
.identity-stat-grid>div{display:grid;grid-template-columns:32px auto;align-items:center;column-gap:10px;padding:16px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft);}
.identity-stat-grid svg{width:24px;grid-row:1/3;}
.identity-stat-grid strong{font-size:25px;color:var(--ink);}
.identity-stat-grid span{color:var(--muted);font-weight:750;}
.profile-photo-editor{margin:18px 0;border:1px solid var(--line);border-radius:12px;padding:14px;}
.profile-photo-editor summary{font-weight:800;cursor:pointer;}
.profile-field{display:grid;gap:8px;margin:18px 0;font-weight:780;}
.profile-field input,.profile-field select,.voice-grid select{min-height:52px;padding:10px 13px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);color:var(--text);font-size:18px;}
.account-actions{margin-top:28px;padding:20px;border:1px solid #f0b7b7;border-radius:14px;background:#fff7f7;color:#7e1f1f;}
[data-theme="dark"] .account-actions{background:#2a1719;color:#ffdada;border-color:#76454b;}
.voice-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0;}
.voice-grid>label{display:grid;gap:8px;}
.toggle-field{display:flex !important;align-items:center;gap:10px;}
.toggle-field input,.mode-check-grid input{width:22px;height:22px;accent-color:#ff4b55;}
.mode-check-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 22px;}
.mode-check-grid label{display:flex;align-items:center;gap:10px;min-height:50px;}
.profile-highlights-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(340px,.6fr);gap:26px;align-items:start;}
.highlight-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0;}
.highlight-stat-grid article{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface);}
.highlight-stat-grid span{color:var(--muted);font-weight:760;}
.highlight-stat-grid strong{display:block;font-size:24px;color:var(--ink);margin-top:5px;}
.profile-highlight-image{margin:0;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow-sm);}
.profile-highlight-image img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;}
.empty-state{padding:24px;border:1px dashed var(--line-strong);border-radius:14px;color:var(--muted);background:var(--surface-soft);}

@media(max-width:1450px){
  .tera-retained-header .brand-tier-inner{grid-template-columns:minmax(320px,1fr) minmax(420px,1fr) minmax(330px,.9fr);}
  .brand-philosophy{display:none;}
}
@media(max-width:1180px){
  .dashboard-welcome-grid,.dashboard-decision-grid,.profile-highlights-grid{grid-template-columns:1fr;}
  .dashboard-metrics,.learning-mode-grid,.identity-stat-grid,.highlight-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .student-profile-summary{grid-template-columns:1fr;}
  .profile-summary-metrics,.profile-side-status{grid-column:1;grid-row:auto;}
  .profile-side-status{grid-template-columns:1fr 1fr;}
}
@media(max-width:760px){
  .dashboard-metrics,.dashboard-twin-actions,.quick-action-grid,.dashboard-work-grid,.learning-mode-grid,.profile-summary-metrics,.profile-overview-metrics,.identity-stat-grid,.voice-grid,.mode-check-grid,.highlight-stat-grid,.profile-side-status{grid-template-columns:1fr;}
  .profile-summary-main{grid-template-columns:1fr;}
  .profile-banner img{height:220px;}
  .profile-message-card{grid-template-columns:1fr;}
  .profile-message-card .message-meta,.profile-message-card .button{grid-column:1;}
  .section-heading-row{align-items:flex-start;flex-direction:column;}
}


/* =============================================================
   TERA Math 12 v2.9.0 workspace geometry + course navigation
   ============================================================= */
#main{min-width:0;overflow-x:hidden;}
.active-track-link{display:inline-flex;align-items:center;gap:6px;margin-top:10px;color:var(--blue-2);font-size:18px;font-weight:800;text-decoration:none;line-height:1.25;}
.active-track-link svg{width:15px;height:15px;flex:0 0 auto;}

/* Courses are selected from the top navigation, not duplicated in the left rail. */
.courses-menu{position:relative;align-self:stretch;display:flex;align-items:center;}
.courses-menu>summary{list-style:none;display:flex;align-items:center;gap:6px;height:100%;padding:0;color:#fff;cursor:pointer;font-size:18px;font-weight:830;}
.courses-menu>summary::-webkit-details-marker{display:none;}
.courses-menu>summary span{font-size:18px;transition:transform .16s ease;}
.courses-menu[open]>summary span{transform:rotate(180deg);}
.courses-menu[data-current="true"]>summary{position:relative;}
.courses-menu[data-current="true"]>summary::after{content:"";position:absolute;left:0;right:0;bottom:8px;height:4px;background:var(--tera-header-gold);}
.courses-menu-panel{position:absolute;z-index:140;top:calc(100% - 2px);left:-22px;width:min(430px,88vw);padding:14px;border:1px solid var(--line);border-radius:0 0 14px 14px;background:var(--surface);box-shadow:0 18px 40px rgba(10,31,70,.18);}
.courses-menu-kicker{margin:3px 10px 10px;color:var(--muted);font-size:18px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;}
.courses-menu-panel>a{display:grid!important;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;padding:10px 10px!important;border-radius:9px;color:var(--text)!important;text-decoration:none;font-size:18px !important;line-height:1.25;}
.courses-menu-panel>a:hover{background:var(--surface-blue);}
.courses-menu-index{width:24px;height:24px;display:grid;place-items:center;border:1px solid #b9ccee;border-radius:50%;color:var(--blue-2);font-size:18px;font-weight:900;}
.courses-menu-panel .courses-menu-all{grid-template-columns:minmax(0,1fr) 18px!important;margin-top:8px;padding-top:12px!important;border-top:1px solid var(--line);color:var(--blue-2)!important;font-weight:900;}
.courses-menu-all svg{width:18px;height:18px;}

/* True draggable edges: defaults hug the existing rails, center receives remaining width. */
.shell-resizer{width:var(--resizer-w);cursor:col-resize;touch-action:none;position:relative;z-index:25;background:transparent;}
.shell-resizer::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;transform:translateX(-50%);background:var(--line);}
.shell-resizer:hover::before,.shell-resizer.dragging::before{width:3px;background:var(--blue);}

/* Course headings cannot collide with their narratives. */
.track-block{scroll-margin-top:calc(var(--header-h) + 18px);}
.track-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 28px;align-items:start;}
.track-head>div{display:block;min-width:0;}
.track-head h3{margin:0;max-width:900px;line-height:1.12;overflow-wrap:anywhere;}
.track-head p:not(.track-index){margin:8px 0 0;max-width:900px;line-height:1.55;}
.track-count{grid-column:2;grid-row:1;white-space:nowrap;align-self:start;}
.card-grid{grid-template-columns:repeat(3,minmax(240px,1fr));}

/* Metric SVGs use the theme foreground rather than filled black glyphs. */
.student-metric-icon svg *{fill:none!important;stroke:currentColor!important;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;}
.student-metric-icon svg rect,.student-metric-icon svg circle{fill:none!important;}

/* Smart dashboard state surface. */
.dashboard-profile-state{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.45fr);gap:18px;margin:24px 0;border:1px solid var(--line);border-radius:18px;background:var(--surface);padding:22px;}
.dashboard-profile-main{display:grid;grid-template-columns:58px minmax(0,1fr);gap:16px;align-items:start;}
.dashboard-profile-main .profile-avatar{width:54px;height:54px;}
.dashboard-profile-main h2{margin:2px 0 6px;font-size:28px;}
.profile-state-copy{max-width:820px;color:var(--muted);}
.dashboard-status-stack{display:grid;gap:12px;}
.dashboard-status-stack>div{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);}
.dashboard-status-stack strong{display:block;margin:5px 0;color:var(--ink);font-size:20px;}
.dashboard-status-stack p:last-child{margin-bottom:0;color:var(--muted);}
.dashboard-message-strip{margin:18px 0 24px;padding:18px 20px;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:14px;background:var(--surface);}
.dashboard-message-strip strong{display:block;margin:4px 0;color:var(--ink);}
.dashboard-message-strip p:last-child{margin-bottom:0;color:var(--muted);}
.track-overview-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.track-overview-list>a{display:grid;grid-template-columns:minmax(0,1fr) auto 20px;gap:10px;align-items:center;padding:15px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);text-decoration:none;}
.track-overview-list>a:hover{border-color:var(--blue);box-shadow:var(--shadow-sm);}
.track-overview-list>a span{color:var(--muted);font-size:18px;white-space:nowrap;}
.track-overview-list svg{width:18px;height:18px;color:var(--blue-2);}
.structured-path-copy{margin:14px 0 0;color:var(--muted);font-weight:700;}
.dashboard-intelligence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:34px 0 10px;}
.dashboard-intelligence-grid>article{padding:22px;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:15px;background:var(--surface);}
.dashboard-intelligence-grid>article h3{margin:5px 0 10px;font-size:22px;}
.dashboard-intelligence-grid>article>strong{display:block;margin:7px 0;color:var(--ink);}
.dashboard-intelligence-grid>article p:last-child{color:var(--muted);}
.dashboard-intelligence-grid .recent-activity-card{grid-column:1/-1;}

@media (max-width:1500px){
  .card-grid{grid-template-columns:repeat(2,minmax(240px,1fr));}
  .track-overview-list{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:1180px){
  .courses-menu{display:none;}
  .dashboard-profile-state{grid-template-columns:1fr;}
  .card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:760px){
  .track-head{grid-template-columns:1fr;}
  .track-count{grid-column:1;grid-row:auto;}
  .card-grid,.track-overview-list,.dashboard-intelligence-grid{grid-template-columns:1fr;}
  .dashboard-intelligence-grid .recent-activity-card{grid-column:auto;}
  .dashboard-profile-main{grid-template-columns:1fr;}
}

.dashboard-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:26px 0 38px;}
.dashboard-summary-strip>div{display:grid;grid-template-columns:34px minmax(0,1fr);gap:3px 11px;align-items:center;padding:15px 16px;border:1px solid var(--line);border-radius:13px;background:var(--surface);}
.dashboard-summary-strip svg{grid-row:1/3;width:24px;height:24px;color:var(--blue-2);fill:none;stroke:currentColor;stroke-width:1.8;}
.dashboard-summary-strip span{color:var(--muted);font-size:18px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;}
.dashboard-summary-strip strong{color:var(--ink);font-size:18px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
@media(max-width:1100px){.dashboard-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:620px){.dashboard-summary-strip{grid-template-columns:1fr;}}

/* =============================================================
   Dashboard-only refinement: smart hierarchy + 18px minimum text
   Scope is intentionally limited to data-page="dashboard".
   ============================================================= */
html[data-page="dashboard"] #main{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
}
html[data-page="dashboard"] .route-page.dashboard-v28{
  width:100%;
  max-width:none;
  margin:0;
  padding:clamp(30px,3vw,48px) clamp(24px,2.4vw,42px) 84px;
}
html[data-page="dashboard"] .dashboard-v28{
  font-size:18px;
  line-height:1.55;
}
html[data-page="dashboard"] .dashboard-v28 :where(p,a,button,label,li,summary,figcaption,td,th,dt,dd,small,output,span,strong){
  font-size:18px !important;
  line-height:1.5;
}
html[data-page="dashboard"] .dashboard-v28 .eyebrow{
  font-size:18px !important;
  line-height:1.25;
  letter-spacing:.11em;
  margin-bottom:10px;
}
html[data-page="dashboard"] .dashboard-v28 .lead{
  max-width:860px;
  font-size:20px !important;
  line-height:1.6;
}
html[data-page="dashboard"] .dashboard-welcome-grid{
  grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);
  gap:clamp(26px,3vw,54px);
  align-items:center;
  margin:0 0 28px;
}
html[data-page="dashboard"] .dashboard-welcome-copy h1{
  max-width:980px;
  margin:6px 0 10px;
  font-size:clamp(46px,4.6vw,74px);
  line-height:1.02;
  letter-spacing:-.045em;
}
html[data-page="dashboard"] .page-asset-dashboard{
  width:min(100%,430px);
  justify-self:end;
  margin:0;
}
html[data-page="dashboard"] .page-asset-dashboard img{
  width:100%;
  aspect-ratio:16/8.7;
  object-fit:cover;
  object-position:center;
}

html[data-page="dashboard"] .dashboard-profile-state{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,360px);
  gap:20px;
  margin:24px 0 20px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--surface);
}
html[data-page="dashboard"] .dashboard-profile-core{
  min-width:0;
  display:grid;
  gap:18px;
}
html[data-page="dashboard"] .dashboard-profile-main{
  grid-template-columns:60px minmax(0,1fr);
  gap:18px;
}
html[data-page="dashboard"] .dashboard-profile-main .profile-avatar{
  width:56px;
  height:56px;
  font-size:24px !important;
}
html[data-page="dashboard"] .dashboard-profile-main h2{
  margin:2px 0 7px;
  font-size:30px;
  line-height:1.15;
}
html[data-page="dashboard"] .profile-state-copy{
  max-width:920px;
  margin-bottom:0;
}
html[data-page="dashboard"] .dashboard-context-chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0;
}
html[data-page="dashboard"] .dashboard-context-chips span{
  min-height:40px;
  padding:8px 13px;
}
html[data-page="dashboard"] .dashboard-profile-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
html[data-page="dashboard"] .student-metric-card{
  min-width:0;
  min-height:168px;
  grid-template-columns:48px minmax(0,1fr);
  gap:14px;
  padding:20px;
  align-content:start;
}
html[data-page="dashboard"] .student-metric-card>div>span{
  color:var(--text);
  font-weight:800;
}
html[data-page="dashboard"] .student-metric-card strong{
  margin:5px 0 7px;
  font-size:30px !important;
  line-height:1.1;
}
html[data-page="dashboard"] .student-metric-card p{
  margin:0;
  color:var(--muted);
}
html[data-page="dashboard"] .student-metric-icon{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:var(--surface-blue);
  color:var(--blue-2);
}
html[data-page="dashboard"] .student-metric-icon svg{
  width:24px;
  height:24px;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.8;
}
html[data-page="dashboard"] .student-metric-icon svg *{
  fill:none !important;
  stroke:currentColor !important;
}
html[data-page="dashboard"] .dashboard-status-stack{
  align-content:start;
  gap:14px;
}
html[data-page="dashboard"] .dashboard-status-stack>div{
  padding:20px;
  border-radius:15px;
}
html[data-page="dashboard"] .dashboard-status-stack strong{
  margin:6px 0 8px;
  font-size:22px !important;
  line-height:1.25;
}
html[data-page="dashboard"] .dashboard-message-strip{
  margin:18px 0 26px;
  padding:20px 22px;
}
html[data-page="dashboard"] .dashboard-message-strip strong{
  font-size:20px !important;
}

html[data-page="dashboard"] .dashboard-decision-grid{
  grid-template-columns:minmax(0,1.6fr) minmax(300px,.4fr);
  gap:18px;
  margin:30px 0 24px;
}
html[data-page="dashboard"] .next-best-action{
  padding:30px;
}
html[data-page="dashboard"] .next-best-action h2{
  margin:8px 0 10px;
  font-size:34px;
  line-height:1.15;
}
html[data-page="dashboard"] .readiness-card{
  padding:26px;
}
html[data-page="dashboard"] .readiness-card strong{
  font-size:26px !important;
}
html[data-page="dashboard"] .dashboard-twin-actions{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin:24px 0 34px;
}
html[data-page="dashboard"] .dashboard-twin-actions article{
  padding:26px;
}
html[data-page="dashboard"] .dashboard-twin-actions h2{
  font-size:30px;
  line-height:1.18;
}
html[data-page="dashboard"] .button{
  min-height:48px;
  font-size:18px !important;
}

html[data-page="dashboard"] .dashboard-summary-strip{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:28px 0 42px;
}
html[data-page="dashboard"] .dashboard-summary-strip>div{
  grid-template-columns:38px minmax(0,1fr);
  gap:4px 12px;
  min-height:96px;
  padding:18px;
}
html[data-page="dashboard"] .dashboard-summary-strip svg{
  width:27px;
  height:27px;
}
html[data-page="dashboard"] .dashboard-summary-strip span{
  font-size:18px !important;
  letter-spacing:.045em;
}
html[data-page="dashboard"] .dashboard-summary-strip strong{
  font-size:22px !important;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}

html[data-page="dashboard"] .dashboard-section{
  margin:52px 0;
}
html[data-page="dashboard"] .section-heading-row{
  margin-bottom:20px;
}
html[data-page="dashboard"] .section-heading-row h2{
  font-size:36px;
  line-height:1.15;
}
html[data-page="dashboard"] .section-heading-row>a{
  font-size:18px !important;
}
html[data-page="dashboard"] .quick-action-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
html[data-page="dashboard"] .quick-action{
  min-height:82px;
  padding:18px 20px;
}
html[data-page="dashboard"] .quick-action>span{
  width:42px;
  height:42px;
}
html[data-page="dashboard"] .dashboard-work-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
html[data-page="dashboard"] .dashboard-work-item,
html[data-page="dashboard"] .dashboard-empty-work{
  padding:22px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface);
}
html[data-page="dashboard"] .dashboard-empty-work{
  grid-column:1/-1;
  min-height:128px;
}
html[data-page="dashboard"] .dashboard-empty-work strong{
  display:block;
  margin-bottom:8px;
  font-size:22px !important;
}
html[data-page="dashboard"] .dashboard-empty-work p{
  margin:0;
  color:var(--muted);
}
html[data-page="dashboard"] .learning-mode-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
html[data-page="dashboard"] .learning-mode-card{
  min-height:230px;
  padding:24px;
}
html[data-page="dashboard"] .learning-mode-card h3{
  font-size:28px;
  line-height:1.15;
}
html[data-page="dashboard"] .mode-number{
  font-size:18px !important;
}
html[data-page="dashboard"] .mode-icon{
  width:42px;
  height:42px;
}

html[data-page="dashboard"] .track-overview-list{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
html[data-page="dashboard"] .track-overview-list>a{
  min-height:72px;
  padding:17px 18px;
}
html[data-page="dashboard"] .track-overview-list>a span{
  font-size:18px !important;
  white-space:normal;
}
html[data-page="dashboard"] .structured-path-copy{
  margin-top:16px;
}
html[data-page="dashboard"] .dashboard-intelligence-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin:42px 0 10px;
}
html[data-page="dashboard"] .dashboard-intelligence-grid>article{
  padding:24px;
}
html[data-page="dashboard"] .dashboard-intelligence-grid>article h3{
  font-size:26px;
  line-height:1.2;
}
html[data-page="dashboard"] .dashboard-intelligence-grid>article>strong{
  font-size:22px !important;
}

@media(max-width:1380px){
  html[data-page="dashboard"] .dashboard-welcome-grid{grid-template-columns:minmax(0,1fr) minmax(300px,380px);}
  html[data-page="dashboard"] .dashboard-profile-state{grid-template-columns:minmax(0,1fr) 320px;}
  html[data-page="dashboard"] .dashboard-profile-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}
  html[data-page="dashboard"] .dashboard-profile-metrics .student-metric-card:last-child{grid-column:1/-1;}
  html[data-page="dashboard"] .learning-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:1100px){
  html[data-page="dashboard"] .dashboard-welcome-grid,
  html[data-page="dashboard"] .dashboard-profile-state,
  html[data-page="dashboard"] .dashboard-decision-grid{grid-template-columns:1fr;}
  html[data-page="dashboard"] .page-asset-dashboard{justify-self:start;width:min(100%,520px);}
  html[data-page="dashboard"] .dashboard-profile-metrics{grid-template-columns:repeat(3,minmax(0,1fr));}
  html[data-page="dashboard"] .dashboard-profile-metrics .student-metric-card:last-child{grid-column:auto;}
  html[data-page="dashboard"] .dashboard-summary-strip,
  html[data-page="dashboard"] .quick-action-grid,
  html[data-page="dashboard"] .track-overview-list{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px){
  html[data-page="dashboard"] .route-page.dashboard-v28{padding:26px 18px 64px;}
  html[data-page="dashboard"] .dashboard-welcome-copy h1{font-size:42px;}
  html[data-page="dashboard"] .dashboard-profile-main{grid-template-columns:1fr;}
  html[data-page="dashboard"] .dashboard-profile-metrics,
  html[data-page="dashboard"] .dashboard-twin-actions,
  html[data-page="dashboard"] .dashboard-summary-strip,
  html[data-page="dashboard"] .quick-action-grid,
  html[data-page="dashboard"] .dashboard-work-grid,
  html[data-page="dashboard"] .learning-mode-grid,
  html[data-page="dashboard"] .track-overview-list,
  html[data-page="dashboard"] .dashboard-intelligence-grid{grid-template-columns:1fr;}
  html[data-page="dashboard"] .dashboard-empty-work,
  html[data-page="dashboard"] .dashboard-intelligence-grid .recent-activity-card{grid-column:auto;}
}


/* =====================================================================
   TERA Math 12 v2.9.0 canonical platform refinement · 2026-09-05
   Canonical geometry: [Student Workspace] ⇆ [Flexible Center] ⇆ [Study Tools]
   - No phantom outer bands around the working surface.
   - Rails remain independently movable and close to their real content.
   - Readable interface text never drops below 18px.
   - Route content reflows; typography is never shrunk to solve layout pressure.
   ===================================================================== */
:root{
  --left-rail:320px;
  --right-rail:280px;
  --canonical-center-pad:clamp(28px,2.15vw,44px);
}

/* The center owns every pixel between the two resizable rails. */
#app-shell.home-shell,
#app-shell.chapter-shell{
  width:100%;
  grid-template-columns:var(--left-rail) var(--resizer-w) minmax(0,1fr) var(--resizer-w) var(--right-rail);
}
#main,
.home-shell #main,
.chapter-shell #main{
  width:100%;
  max-width:none;
  min-width:0;
  margin:0;
  padding:var(--canonical-center-pad) var(--canonical-center-pad) 76px;
  overflow-x:hidden;
}
.route-page,
.full-curriculum.route-page,
.profile-v28{
  width:100%;
  max-width:none;
  margin:0;
}
.route-page{padding:0 0 84px;}

/* Preserve deliberate reading widths inside a full-width workspace rather than
   recreating giant empty outer margins. */
.section-intro>p:not(.eyebrow),
.route-intro-grid>div>p:not(.eyebrow),
.route-guidance p,
.chapter-head .lead,
.profile-state-copy{max-width:900px;}

/* Absolute interface typography floor. JS applies this class after every render. */
.tera-min-text{font-size:18px !important;line-height:1.45;}
.tera-svg-min-text{font-size:18px !important;}

/* Canonical rail readability. */
#sidebar,#study-tools{min-width:0;}
#sidebar{padding-left:14px;padding-right:14px;}
#study-tools{padding-left:16px;padding-right:16px;}
.workspace-link,
.workspace-nav summary,
.side-course-copy>strong,
.active-track-link,
#study-tools :where(p,a,button,label,summary,strong,span,textarea){font-size:18px;}
.workspace-link{min-height:48px;}

/* Courses dropdown: Scholar-style compact list. The retained blue nav globally
   forces nav links white, so these stronger selectors explicitly restore dark
   course text on the white menu surface. */
.tera-retained-nav .desktop-nav .courses-menu{position:relative;align-self:stretch;display:flex;align-items:center;}
.tera-retained-nav .desktop-nav .courses-menu>summary{
  min-height:var(--product-nav-h);
  display:flex;align-items:center;gap:7px;
  color:#fff !important;font-size:18px !important;font-weight:820;
}
.tera-retained-nav .desktop-nav .courses-menu>summary span{font-size:18px !important;}
.tera-retained-nav .desktop-nav .courses-menu-panel{
  top:100%;left:-20px;
  width:min(560px,calc(100vw - 32px));
  height:auto;max-height:calc(100vh - var(--header-h) - 20px);overflow-y:auto;
  padding:16px;
  border:1px solid var(--line-strong);
  border-radius:0 0 16px 16px;
  background:var(--surface);
  box-shadow:0 22px 54px rgba(10,31,70,.22);
}
.tera-retained-nav .desktop-nav .courses-menu-panel .courses-menu-kicker{
  margin:2px 10px 10px;
  color:var(--muted) !important;
  font-size:18px !important;
  line-height:1.35;
  letter-spacing:.10em;
}
.tera-retained-nav .desktop-nav .courses-menu-panel>a{
  display:grid !important;
  grid-template-columns:34px minmax(0,1fr);
  align-items:center;
  gap:12px;
  min-height:50px;
  padding:9px 10px !important;
  border-radius:10px;
  color:var(--text) !important;
  font-size:18px !important;
  line-height:1.35;
  white-space:normal;
}
.tera-retained-nav .desktop-nav .courses-menu-panel>a:hover,
.tera-retained-nav .desktop-nav .courses-menu-panel>a:focus-visible{
  background:var(--surface-blue);
  color:var(--ink) !important;
  outline:none;
}
.tera-retained-nav .desktop-nav .courses-menu-panel>a .courses-menu-title{
  min-width:0;
  color:var(--text) !important;
  font-size:18px !important;
  font-weight:720;
  overflow-wrap:anywhere;
}
.tera-retained-nav .desktop-nav .courses-menu-panel .courses-menu-index{
  width:30px;height:30px;
  display:grid;place-items:center;
  border:1px solid #b9ccee;border-radius:50%;
  color:var(--blue-2) !important;
  background:var(--surface);
  font-size:18px !important;font-weight:900;
}
.tera-retained-nav .desktop-nav .courses-menu-panel .courses-menu-all{
  grid-template-columns:minmax(0,1fr) 22px !important;
  margin-top:8px;
  padding-top:13px !important;
  border-top:1px solid var(--line);
  color:var(--blue-2) !important;
  font-weight:850;
}
.tera-retained-nav .desktop-nav .courses-menu-panel .courses-menu-all svg{width:20px;height:20px;}

/* Courses page: title and narrative never share competing columns. */
.full-curriculum .track-block{margin:58px 0 74px;}
.full-curriculum .track-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) max-content;
  gap:12px 28px;
  align-items:start;
  margin-bottom:22px;
}
.full-curriculum .track-head>div{display:block;min-width:0;}
.full-curriculum .track-head h3{
  margin:0;
  max-width:1050px;
  font-size:clamp(30px,2.4vw,42px);
  line-height:1.12;
  overflow-wrap:normal;
  word-break:normal;
}
.full-curriculum .track-head p:not(.track-index){
  margin:9px 0 0;
  max-width:980px;
  font-size:18px !important;
  line-height:1.55;
}
.full-curriculum .track-count{font-size:18px !important;font-weight:800;white-space:nowrap;padding-top:7px;}
.full-curriculum .card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(260px,1fr));
  gap:16px;
}
.full-curriculum .chapter-card{min-width:0;height:100%;}
.full-curriculum .chapter-card :where(p,span,strong,a){font-size:18px;}

/* Platform-wide wide-canvas layouts. */
.route-intro-grid,
.route-hero-with-asset{width:100%;grid-template-columns:minmax(0,1fr) minmax(300px,34%);gap:clamp(28px,4vw,58px);align-items:center;}
.profile-v28{max-width:none !important;}
.profile-highlights-grid{grid-template-columns:minmax(0,1.55fr) minmax(320px,.65fr);}
.practice-hub-list{grid-template-columns:repeat(2,minmax(300px,1fr));gap:14px;}
.progress-row{grid-template-columns:minmax(260px,.85fr) minmax(260px,1.5fr) 80px;}
.library-track>div{width:100%;}
.solve-workspace,.diagnostic-list{width:100%;}

/* Dashboard archive: content-sized cards, clean math, one review action. */
html[data-page="dashboard"] .dashboard-work-grid{align-items:start;grid-auto-rows:auto;}
html[data-page="dashboard"] .dashboard-work-item{
  min-height:0 !important;
  height:auto !important;
  align-self:start;
  display:grid;
  gap:14px;
  padding:22px;
}
html[data-page="dashboard"] .work-item-top{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;}
html[data-page="dashboard"] .work-question{min-width:0;font-size:18px;line-height:1.55;overflow-wrap:anywhere;}
html[data-page="dashboard"] .work-question>p{margin:0;}
html[data-page="dashboard"] .work-question mjx-container{max-width:100%;margin:.12em .08em !important;}
html[data-page="dashboard"] .dashboard-work-response{
  display:grid;gap:5px;padding:12px 14px;border-radius:11px;background:var(--surface-soft);
}
html[data-page="dashboard"] .dashboard-work-response>span{color:var(--muted);font-weight:800;}
html[data-page="dashboard"] .dashboard-work-response>p{margin:0;}
html[data-page="dashboard"] .dashboard-work-review{
  width:max-content;display:inline-flex;align-items:center;gap:8px;
  color:var(--blue-2);font-weight:850;text-decoration:none;
}
html[data-page="dashboard"] .dashboard-work-review svg{width:19px;height:19px;}

/* Reflow instead of shrinking at intermediate widths. */
@media (max-width:1480px){
  .full-curriculum .card-grid{grid-template-columns:repeat(2,minmax(260px,1fr));}
  .route-intro-grid,.route-hero-with-asset{grid-template-columns:minmax(0,1fr) minmax(270px,32%);}
}
@media (max-width:1180px){
  #main,.home-shell #main,.chapter-shell #main{padding:32px clamp(22px,5vw,54px) 70px;}
  .route-page{padding-bottom:76px;}
}
@media (max-width:820px){
  .full-curriculum .track-head{grid-template-columns:1fr;}
  .full-curriculum .track-count{padding-top:0;}
  .full-curriculum .card-grid,
  .practice-hub-list{grid-template-columns:1fr;}
  .route-intro-grid,.route-hero-with-asset,.profile-highlights-grid{grid-template-columns:1fr;}
}
@media (max-width:620px){
  #main,.home-shell #main,.chapter-shell #main{padding:26px 16px 54px;}
  .route-page{padding-bottom:58px;}
}

/* Form-control text participates in the 18 px platform typography floor. */
input,select,textarea,button{font-size:max(18px,1rem);}
input::placeholder,textarea::placeholder{font-size:18px;opacity:.78;}


/* =============================================================
   TERA Math 12 v3.0.0 capability + role refinement
   Canonical geometry: [role/workspace] ⇆ [flexible center] ⇆ [tools]
   ============================================================= */
html{font-size:18px;}
body{font-size:18px;}
#main{width:100%;max-width:none;margin:0;min-width:0;}
.route-page,.course-overview,.full-curriculum{width:100%;max-width:none;margin-inline:0;}
#sidebar,#study-tools{font-size:18px;}
#sidebar :where(p,a,button,label,summary,strong,span,small),#study-tools :where(p,a,button,label,summary,strong,span,textarea){font-size:18px!important;line-height:1.45;}
.active-track-link{font-size:18px!important;}
.footer-book-link{color:var(--blue-2);font-weight:800;text-decoration:none;}
.footer-book-link:hover{text-decoration:underline;}

/* Courses dropdown must always show all 8 names as compact visible rows. */
.tera-retained-nav .desktop-nav .courses-menu-panel{min-width:520px;width:min(620px,calc(100vw - 32px));padding:14px 16px!important;height:auto!important;min-height:0!important;max-height:calc(100vh - var(--header-h) - 20px)!important;overflow-y:auto!important;}
.tera-retained-nav .desktop-nav .courses-menu-panel>a{display:grid!important;grid-template-columns:36px minmax(0,1fr)!important;min-height:52px!important;padding:8px 10px!important;align-items:center!important;gap:12px!important;}
.tera-retained-nav .desktop-nav .courses-menu-title{display:block!important;visibility:visible!important;opacity:1!important;width:auto!important;height:auto!important;overflow:visible!important;color:var(--ink)!important;font-size:18px!important;line-height:1.3!important;font-weight:760!important;}
.tera-retained-nav .desktop-nav .courses-menu-index{font-size:18px!important;}
.tera-retained-nav .desktop-nav .courses-menu-all{display:grid!important;}
[data-theme="dark"] .tera-retained-nav .desktop-nav .courses-menu-title{color:var(--ink)!important;}

/* Course/chapter objectives are first-class learning surfaces. */
.course-objective-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 24px;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--surface);}
.course-objective-panel>div{min-width:0;}
.course-objective-panel h4{margin:5px 0 12px;color:var(--ink);font-size:24px;line-height:1.35;}
.course-objective-panel ul{margin:8px 0 14px;padding-left:24px;}
.course-objective-panel li{margin:7px 0;}
.objective-listen{min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-blue);color:var(--blue-2);font-size:18px;font-weight:800;cursor:pointer;}
.objective-listen:hover{border-color:var(--blue);}
.chapter-goals .objective-listen{margin-top:14px;}

/* Student-facing feedback avoids punitive red-alert styling for routine learning errors. */
.feedback.review{background:var(--warning-bg)!important;color:var(--ink)!important;border:1px solid color-mix(in srgb,var(--gold) 42%,var(--line));}

/* Role portals inherit the canonical wide workspace and never duplicate student tools. */
.role-identity-card .course-cap{background:var(--blue);color:#fff;}
.role-boundary-note{margin:16px 10px;padding:16px;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:12px;background:var(--surface);}
.role-boundary-note strong{display:block;margin-bottom:6px;color:var(--ink);}
.role-boundary-note p{margin:0;color:var(--muted);}
.role-portal{padding:clamp(28px,3vw,48px) clamp(24px,2.6vw,46px) 88px;}
.role-portal :where(p,a,button,label,li,dt,dd,span,strong){font-size:18px;line-height:1.5;}
.portal-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);gap:24px;align-items:stretch;margin-bottom:24px;}
.portal-hero h1{margin:4px 0 12px;font-size:clamp(42px,4vw,64px);line-height:1.05;}
.portal-hero>div:first-child>p:last-child{max-width:900px;color:var(--muted);font-size:20px;}
.portal-assurance{display:grid;gap:9px;padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--surface-blue);}
.portal-assurance strong{font-size:22px;color:var(--ink);}
.portal-assurance span{display:block;}
.portal-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 26px;}
.portal-stat-card{padding:20px;border:1px solid var(--line);border-radius:15px;background:var(--surface);}
.portal-stat-card>span{display:block;color:var(--muted);font-weight:760;}
.portal-stat-card>strong{display:block;margin:7px 0;color:var(--ink);font-size:28px;}
.portal-stat-card p{margin:0;color:var(--muted);}
.portal-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0;}
.portal-panel,.portal-resource-card{padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--surface);}
.portal-panel h2,.portal-resource-card h2{margin:4px 0 10px;font-size:28px;}
.portal-panel p,.portal-resource-card p{color:var(--muted);}
.portal-user-row{display:flex;justify-content:space-between;gap:24px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.portal-user-row div{display:grid;gap:5px;}
.portal-user-row div:last-child{text-align:right;}
.portal-dl{display:grid;gap:0;margin:14px 0 18px;}
.portal-dl>div{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(0,1.3fr);gap:18px;padding:10px 0;border-bottom:1px solid var(--line);}
.portal-dl dt{font-weight:800;color:var(--ink);}
.portal-dl dd{margin:0;color:var(--muted);}
.portal-list{padding-left:24px;}
.portal-list li{margin:8px 0;}
.portal-muted{font-size:18px!important;color:var(--muted)!important;}
.portal-resource-card{margin-top:18px;border-left:4px solid var(--gold);}
.library-philosophy-card{margin-top:28px;padding:24px;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:16px;background:var(--surface);}
.library-philosophy-card h2{font-size:30px;}

@media(max-width:1320px){.portal-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.portal-hero{grid-template-columns:1fr;}}
@media(max-width:900px){.course-objective-panel,.portal-grid-2,.portal-stat-grid{grid-template-columns:1fr;}.portal-user-row{display:grid;}.portal-user-row div:last-child{text-align:left;}}

.portal-form{display:grid;gap:12px;margin-top:16px;}
.portal-form label{display:grid;gap:7px;font-weight:760;}
.portal-form input,.portal-form select{min-height:48px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font-size:18px;}
.manager-create-user{margin-top:16px;border-top:1px solid var(--line);padding-top:12px;}
.manager-create-user>summary{cursor:pointer;font-weight:820;}
.manager-user-table{display:grid;border:1px solid var(--line);border-radius:12px;overflow:hidden;}
.manager-user-table>div{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(150px,.7fr) 120px;gap:14px;padding:12px 14px;border-bottom:1px solid var(--line);align-items:center;}
.manager-user-table>div:last-child{border-bottom:0;}
.manager-user-table span:first-child{display:grid;gap:2px;}
.manager-user-table small{color:var(--muted);font-size:18px;}
@media(max-width:800px){.manager-user-table>div{grid-template-columns:1fr;}}

.portal-policy-form{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);}
.portal-policy-form .toggle-field{display:flex;grid-template-columns:none;align-items:center;gap:12px;}
.portal-policy-form input[type="checkbox"]{width:22px;height:22px;min-height:0;}


/* =============================================================
   TERA Math 12 v3.1.0 canonical header/footer and typography gate
   Hard rule: readable UI text never renders below 18px.
   ============================================================= */
:root{--portal-tier-h:72px;--nav-tier-h:64px;--brand-tier-h:136px;--header-h:calc(var(--brand-tier-h) + var(--portal-tier-h) + var(--nav-tier-h));}

/* Canonical portal switcher: role context has its own blue tier. */
.portal-switch-tier{background:linear-gradient(90deg,#0f51bd,#0961e9);border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.28);color:#fff;}
.portal-switch-inner{width:min(1320px,calc(100% - 44px));min-height:var(--portal-tier-h);margin:0 auto;display:flex;align-items:center;justify-content:center;gap:0;overflow-x:auto;scrollbar-width:thin;}
.portal-switch-link{flex:0 0 auto;display:inline-flex;align-items:center;gap:12px;min-height:50px;padding:10px 24px;border-radius:28px;color:#fff;text-decoration:none;font-size:18px;font-weight:850;white-space:nowrap;border:1px solid transparent;}
.portal-switch-link svg{width:27px;height:27px;stroke-width:1.8;}
.portal-switch-link:hover,.portal-switch-link:focus-visible{background:rgba(255,255,255,.13);outline:2px solid rgba(255,255,255,.75);outline-offset:2px;}
.portal-switch-link.active{background:linear-gradient(180deg,#ffd65d,#e7a91d);color:#10234b;border-color:#f9cd4c;box-shadow:0 5px 16px rgba(0,0,0,.15);}
.portal-switch-divider{width:1px;height:34px;background:rgba(255,255,255,.48);margin:0 4px;flex:0 0 auto;}
.tera-retained-nav{min-height:var(--nav-tier-h);}
.tera-retained-nav .nav-inner{min-height:var(--nav-tier-h);}
.tera-retained-nav :where(a,button,span,label){font-size:18px;}

/* Bilingual fit: widen rails before wrapping; never shrink text. */
:root{--left-w:290px;--right-w:300px;}
html[lang="fr"]{--left-w:315px;--right-w:325px;}
#sidebar,#study-tools{min-width:0;}
html[lang="fr"] #study-tools :where(button,label,summary,a,p,strong,span){overflow-wrap:anywhere;}

/* Hard 18px UI floor. JS adds tera-min-text when computed styles fall below the floor. */
.tera-min-text{font-size:18px!important;line-height:1.5!important;}
.tera-svg-min-text{font-size:18px!important;}
body :where(input,select,textarea,button){font-size:18px;line-height:1.45;}
body :where(input,textarea)::placeholder{font-size:18px;}
body small{font-size:18px;}
.exercise-card :where(p,li,label,button,input,span,strong,summary),
.problem-card :where(p,li,label,button,input,span,strong,summary),
.hint-panel :where(p,li,span,strong),
.solution-panel :where(p,li,span,strong),
.lesson-map :where(p,a,span,strong),
.canonical-footer :where(p,a,button,span,strong,small){font-size:18px;line-height:1.5;}

/* Canonical footer retained from approved design. */
.canonical-footer{border-top:2px solid var(--gold);background:linear-gradient(180deg,#fbfdff,#f3f8ff);color:var(--ink);box-shadow:0 -2px 14px rgba(25,54,95,.04);}
.canonical-footer-main{display:grid;grid-template-columns:minmax(300px,.95fr) minmax(520px,1.65fr) minmax(390px,1.1fr);gap:30px;align-items:center;padding:38px clamp(30px,4vw,76px) 30px;max-width:1900px;margin:0 auto;}
.canonical-footer-main>section+section{border-left:1px solid #bfd0e6;padding-left:30px;}
.canonical-footer-brand{display:grid;grid-template-columns:76px minmax(0,1fr);column-gap:18px;align-items:center;}
.footer-mark{grid-row:1/4;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#10203a;color:#f3bd35;border:4px double #d8a62c;box-shadow:0 3px 10px rgba(0,0,0,.12);font-family:Georgia,serif;font-size:38px;font-weight:800;}
.canonical-footer-brand strong{font-family:Georgia,serif;font-size:30px;color:#102a56;}
.canonical-footer-brand p{grid-column:2;margin:2px 0;color:#445b78;}
.canonical-footer-principles{display:grid;gap:18px;text-align:center;}
.footer-principle-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;}
.footer-principle{display:grid;justify-items:center;gap:8px;font-weight:850;color:#102a56;}
.footer-principle svg{width:32px;height:32px;color:#bd8500;}
.footer-capability{margin:0;color:#526b88;}
.canonical-footer-legal{display:grid;gap:14px;}
.footer-legal-links{display:flex;flex-wrap:wrap;gap:10px 22px;}
.footer-legal-links a{color:#0756c9;font-weight:850;text-decoration:none;}
.footer-legal-links a:hover,.footer-legal-links a:focus-visible{text-decoration:underline;}
.footer-release{display:grid;gap:2px;color:#526b88;}
.canonical-footer-bottom{min-height:72px;border-top:1px solid #bfd0e6;display:grid;grid-template-columns:minmax(270px,.75fr) minmax(620px,1.55fr) minmax(270px,.7fr);gap:24px;align-items:center;padding:12px clamp(30px,4vw,76px);max-width:1900px;margin:0 auto;color:#405a77;}
.footer-language{display:flex;align-items:center;gap:12px;}
.footer-language button{border:0;background:transparent;color:#0756c9;font-weight:850;cursor:pointer;padding:6px 8px;}
.footer-language button.active{text-decoration:underline;text-underline-offset:5px;}
.footer-education{text-align:center;font-weight:760;color:#17345f;}
.footer-product{text-align:right;}

/* Long French copy gets room; content reflows instead of shrinking. */
html[lang="fr"] .canonical-footer-main{grid-template-columns:minmax(310px,.95fr) minmax(560px,1.6fr) minmax(430px,1.15fr);}

@media(max-width:1500px){
  :root{--brand-tier-h:126px;}
  .portal-switch-inner{justify-content:flex-start;}
  .canonical-footer-main{grid-template-columns:1fr 1.3fr;}
  .canonical-footer-legal{grid-column:1/-1;border-left:0!important;border-top:1px solid #bfd0e6;padding:24px 0 0!important;}
  .canonical-footer-bottom{grid-template-columns:1fr 1.5fr;}
  .footer-product{grid-column:1/-1;text-align:center;}
}
@media(max-width:980px){
  :root{--portal-tier-h:66px;--nav-tier-h:64px;}
  .portal-switch-inner{width:100%;padding:0 14px;}
  .portal-switch-link{padding:9px 16px;}
  .canonical-footer-main,.canonical-footer-bottom{grid-template-columns:1fr;}
  .canonical-footer-main>section+section{border-left:0;border-top:1px solid #bfd0e6;padding:24px 0 0;}
  .footer-principle-grid{grid-template-columns:repeat(2,1fr);}
  .footer-education,.footer-product{text-align:left;}
}
@media(max-width:620px){
  .footer-principle-grid{grid-template-columns:1fr;}
  .canonical-footer-brand{grid-template-columns:62px 1fr;}
  .footer-mark{width:58px;height:58px;font-size:30px;}
  .canonical-footer-brand strong{font-size:26px;}
}

/* v3.2.0 hard typography contract: no readable product text below 18px. */
body,button,input,select,textarea{font-size:var(--text-min);}
:where(.route-page,#sidebar,#study-tools,#site-header,#site-footer) :where(p,a,button,label,input,select,textarea,li,summary,small,output,figcaption,td,th,dt,dd,span,strong,b){font-size:max(var(--text-min),1em);}

/* v3.3.0 commercial readiness: public pricing is a full-width marketing surface. */
#app-shell.commercial-shell{display:grid;grid-template-columns:minmax(0,1fr);min-height:calc(100vh - var(--header-h));}
#app-shell.commercial-shell > #sidebar,
#app-shell.commercial-shell > #study-tools,
#app-shell.commercial-shell > .shell-resizer{display:none!important;}
#app-shell.commercial-shell > #main{grid-column:1;min-width:0;width:100%;}
body[data-page="pricing"] #mobile-bottom-nav{display:none!important;}
.pricing-page{width:min(1560px,calc(100% - 48px));margin:0 auto;padding:56px 0 72px;}
.pricing-hero{max-width:1120px;margin:0 auto 56px;text-align:center;display:grid;gap:18px;justify-items:center;}
.pricing-hero h1{font-size:clamp(42px,5vw,72px);line-height:1.02;margin:0;color:var(--ink);}
.pricing-hero>p:not(.eyebrow){max-width:980px;margin:0;color:var(--muted);font-size:20px;line-height:1.7;}
.pricing-assurance{display:flex;flex-wrap:wrap;gap:12px 20px;justify-content:center;margin-top:6px;}
.pricing-assurance span{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:var(--panel);font-weight:800;}
.pricing-assurance svg{width:20px;height:20px;color:#0b7a3e;}
.pricing-section{display:grid;gap:24px;margin:0 0 56px;}
.pricing-section-head{max-width:920px;display:grid;gap:8px;}
.pricing-section-head h2{font-size:clamp(30px,3vw,44px);line-height:1.08;margin:0;}
.pricing-grid{display:grid;gap:20px;align-items:stretch;}
.pricing-grid-students{grid-template-columns:repeat(3,minmax(0,1fr));}
.pricing-grid-education{grid-template-columns:repeat(2,minmax(0,1fr));}
.pricing-card{position:relative;display:grid;grid-template-rows:auto auto auto 1fr auto;gap:18px;padding:28px;border:1px solid var(--line);border-radius:22px;background:var(--panel);box-shadow:0 14px 34px rgba(24,53,92,.08);}
.pricing-card.featured{border:2px solid var(--blue);box-shadow:0 18px 44px rgba(18,92,220,.16);}
.pricing-card-head{display:flex;gap:18px;justify-content:space-between;align-items:flex-start;}
.pricing-card h3{font-size:28px;line-height:1.1;margin:4px 0 0;}
.pricing-badge{display:inline-block;margin:0;padding:7px 10px;border-radius:999px;background:#edf4ff;color:#064fc8;font-weight:850;}
.pricing-card.featured .pricing-badge{background:#e7f0ff;color:#064fc8;}
.pricing-amount{display:grid;justify-items:end;text-align:right;gap:2px;min-width:150px;}
.pricing-amount .pricing-price{font-size:38px;line-height:1;color:var(--ink);}
.pricing-amount small{color:var(--muted);}
.pricing-summary,.pricing-unit{margin:0;color:var(--muted);line-height:1.6;}
.pricing-unit{font-weight:800;color:var(--ink);}
.pricing-features{list-style:none;margin:0;padding:0;display:grid;gap:12px;align-content:start;}
.pricing-features li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:start;line-height:1.5;}
.pricing-features svg{width:22px;height:22px;color:#0b7a3e;margin-top:2px;}
.pricing-cta{justify-content:center;align-self:end;min-height:54px;}
.pricing-cta svg{width:20px;height:20px;margin-left:8px;}
.pricing-ai-boundary{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.8fr);gap:28px;padding:32px;border:1px solid #9db7df;border-radius:22px;background:linear-gradient(135deg,#f5f9ff,#eef5ff);margin-bottom:56px;}
.pricing-ai-boundary h2{font-size:34px;margin:4px 0 10px;}
.pricing-ai-boundary p{margin:0;line-height:1.65;color:#425d7c;}
.pricing-ai-status{display:grid;grid-template-columns:1fr;gap:6px 10px;padding:22px;border-radius:16px;background:#fff;border:1px solid #c6d6eb;align-content:center;}
.pricing-ai-status strong{color:#0b48ad;margin-top:8px;}
.pricing-faq{display:grid;gap:22px;margin-bottom:40px;}
.pricing-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.pricing-faq-grid article{padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--panel);}
.pricing-faq-grid h3{font-size:23px;margin:0 0 10px;}
.pricing-faq-grid p{margin:0;line-height:1.65;color:var(--muted);}
.pricing-note{display:flex;gap:14px;align-items:flex-start;padding:18px 22px;border-left:4px solid var(--gold);background:#fffaf0;border-radius:12px;color:#5b4a25;}
html[data-theme="dark"] .pricing-ai-boundary{background:linear-gradient(135deg,#132543,#102039);border-color:#33547e;}
html[data-theme="dark"] .pricing-ai-status{background:#0f2038;border-color:#355477;}
html[data-theme="dark"] .pricing-note{background:#2c2617;color:#f0ddb0;}
@media(max-width:1180px){.pricing-grid-students,.pricing-grid-education{grid-template-columns:repeat(2,minmax(0,1fr));}.pricing-ai-boundary{grid-template-columns:1fr;}}
@media(max-width:760px){.pricing-page{width:min(100% - 28px,1560px);padding-top:36px}.pricing-grid-students,.pricing-grid-education,.pricing-faq-grid{grid-template-columns:1fr}.pricing-card-head{display:grid}.pricing-amount{justify-items:start;text-align:left}.pricing-assurance{justify-content:flex-start}.pricing-hero{text-align:left;justify-items:start}.pricing-note{display:grid}.pricing-card{padding:22px}}
.account-pricing-link{display:inline-flex;align-items:center;gap:8px;margin-top:18px;color:var(--blue);font-weight:850;text-decoration:none;}
.account-pricing-link:hover,.account-pricing-link:focus-visible{text-decoration:underline;}
.account-pricing-link svg{width:20px;height:20px;}

/* v3.4.0 Customer Discovery & Community */
.discovery-panel{grid-column:1/-1}
.portal-stat-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr));margin:1rem 0}
.discovery-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.discovery-form .form-span-2{grid-column:1/-1}
.invite-result{margin-top:1rem;padding:1rem;border:1px solid var(--line,#c8d5e8);border-radius:12px;background:var(--surface-soft,#f5f8fd)}
.invite-result input{width:100%;margin:.75rem 0;font-size:18px;padding:.75rem}
.discovery-list,.feedback-list{display:grid;gap:.85rem}
.discovery-list article,.feedback-list article{border:1px solid var(--line,#c8d5e8);border-radius:12px;padding:1rem;background:var(--surface,#fff);display:grid;gap:.65rem}
.discovery-list article>div:first-child{display:flex;flex-direction:column;gap:.2rem}
.discovery-meta{display:flex;gap:.5rem;flex-wrap:wrap}
.discovery-meta span,.feedback-head span{display:inline-flex;align-items:center;border:1px solid var(--line,#c8d5e8);border-radius:999px;padding:.25rem .65rem;background:var(--surface-soft,#f5f8fd)}
.discovery-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.discovery-actions button{font:inherit;font-size:18px;border:1px solid var(--line,#c8d5e8);background:var(--surface-soft,#f5f8fd);border-radius:10px;padding:.55rem .8rem;cursor:pointer}
.feedback-head{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.feedback-list small{font-size:18px}
.invitation-summary{display:grid;gap:.5rem;padding:1rem;border:1px solid var(--line,#c8d5e8);border-radius:12px;background:var(--surface-soft,#f5f8fd);margin-bottom:1rem}
.password-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem}
.password-field input{min-width:0}
.password-toggle{min-width:48px;height:48px;border:1px solid var(--line,#c8d5e8);border-radius:10px;background:var(--surface-soft,#f5f8fd);font-size:18px;cursor:pointer}
.password-guidance{display:grid;gap:.25rem;padding:.75rem 1rem;border-radius:10px;background:var(--surface-soft,#f5f8fd)}
.password-match[data-valid="true"]{color:#16754b}.password-match[data-valid="false"]{color:#8a4f00}
#tera-community-feedback{position:fixed;right:1.25rem;bottom:1.25rem;z-index:1200}
.community-feedback-launch{font:inherit;font-size:18px;font-weight:700;border:1px solid #1548c7;border-radius:999px;background:#1f5eea;color:#fff;padding:.8rem 1.1rem;box-shadow:0 8px 24px rgba(15,45,100,.18);cursor:pointer}
.community-feedback-dialog{max-width:650px;width:min(92vw,650px);border:0;border-radius:18px;padding:0;box-shadow:0 24px 70px rgba(8,27,58,.25);background:var(--surface,#fff);color:var(--text,#0b1b38)}
.community-feedback-dialog::backdrop{background:rgba(8,20,40,.5)}
.community-feedback-card{position:relative;display:grid;gap:1rem;padding:1.5rem}
.community-feedback-card label{display:grid;gap:.45rem}
.community-feedback-card select,.community-feedback-card textarea{font:inherit;font-size:18px;border:1px solid var(--line,#c8d5e8);border-radius:10px;padding:.75rem;background:var(--surface,#fff);color:inherit}
.feedback-close{position:absolute;right:1rem;top:1rem;border:0;background:transparent;font-size:28px;cursor:pointer;color:inherit}
.private-manager-accept .account-card{border-top:4px solid #8b6500}
@media(max-width:900px){.portal-stat-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.discovery-form{grid-template-columns:1fr}.discovery-form .form-span-2{grid-column:auto}}
@media(max-width:640px){#tera-community-feedback{right:.75rem;bottom:4.75rem}.portal-stat-grid.compact{grid-template-columns:1fr}}
.account-divider{display:flex;align-items:center;gap:1rem;margin:1.1rem 0;color:var(--muted,#5c6b82)}
.account-divider::before,.account-divider::after{content:"";height:1px;background:var(--line,#c8d5e8);flex:1}
.google-auth-button{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;font-size:18px;background:var(--surface,#fff);color:var(--text,#0b1b38);border:1px solid var(--line,#c8d5e8)}
.google-g{display:inline-grid;place-items:center;font-weight:800;font-size:22px;color:#1a73e8}

/* =============================================================
   TERA Math 12 v3.5.0 · Education Community & Platform Operations
   Private Manager shell: wide operations workspace, no Study Tools rail.
   ============================================================= */
#app-shell.manager-shell{
  display:grid;
  grid-template-columns:var(--left-rail) var(--resizer-w) minmax(0,1fr);
  min-height:calc(100vh - var(--header-h));
  width:100%;
  overflow-x:hidden;
}
#app-shell.manager-shell > #sidebar{grid-column:1;}
#app-shell.manager-shell > .shell-resizer-left{grid-column:2;}
#app-shell.manager-shell > #main{grid-column:3;min-width:0;width:100%;}
#app-shell.manager-shell > .shell-resizer-right,
#app-shell.manager-shell > #study-tools{display:none!important;}
body[data-page="manager"]{overflow-x:hidden;}
body[data-page="manager"] #mobile-bottom-nav{display:none!important;}
body[data-page="manager"] .route-page{width:min(100% - 48px,1680px);max-width:none;margin-inline:auto;}
body[data-page="manager"] .product-nav-inner{width:min(100% - 28px,1880px);max-width:none;grid-template-columns:minmax(0,1fr) auto;gap:18px;}
body[data-page="manager"] .desktop-nav{min-width:0;overflow:visible;display:flex;align-items:center;gap:8px;}
body[data-page="manager"] .desktop-nav>a{padding-inline:12px;white-space:nowrap;}
body[data-page="manager"] .product-nav-actions{flex:0 0 auto;white-space:nowrap;}
.manager-more-menu{position:relative;flex:0 0 auto;}
.manager-more-menu>summary{list-style:none;display:flex;align-items:center;gap:6px;min-height:44px;padding:8px 12px;border-radius:10px;color:#fff;font-weight:850;cursor:pointer;}
.manager-more-menu>summary::-webkit-details-marker{display:none;}
.manager-more-menu[open]>summary,.manager-more-menu>summary:hover{background:rgba(255,255,255,.12);}
.manager-more-panel{position:absolute;z-index:160;top:calc(100% + 8px);right:0;width:min(360px,80vw);display:grid;padding:10px;border:1px solid #b9cbe5;border-radius:14px;background:var(--surface);box-shadow:0 18px 48px rgba(12,31,60,.18);}
.manager-more-panel a{color:var(--ink)!important;text-decoration:none;padding:10px 12px!important;border-radius:8px;}
.manager-more-panel a:hover,.manager-more-panel a:focus-visible{background:var(--surface-soft,#eef4fc);}
.manager-account-menu{position:relative;flex:0 0 auto;}
.manager-account-menu>summary{list-style:none;display:grid;grid-template-columns:auto auto;column-gap:8px;align-items:center;min-height:48px;padding:7px 12px;border:1px solid rgba(255,255,255,.6);border-radius:12px;color:#fff;cursor:pointer;font-weight:850;}
.manager-account-menu>summary::-webkit-details-marker{display:none;}
.manager-account-menu>summary small{grid-column:1;font-size:18px!important;color:#dce9ff;}
.manager-account-panel{position:absolute;z-index:170;top:calc(100% + 8px);right:0;min-width:260px;display:grid;padding:10px;border:1px solid #b9cbe5;border-radius:14px;background:var(--surface);box-shadow:0 18px 48px rgba(12,31,60,.18);}
.manager-account-panel a,.manager-account-panel button{border:0;background:transparent;color:var(--ink);text-align:left;text-decoration:none;padding:11px 12px;border-radius:8px;font-weight:760;cursor:pointer;}
.manager-account-panel a:hover,.manager-account-panel button:hover{background:var(--surface-soft,#eef4fc);}
.manager-filter-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px;align-items:end;}
.manager-people-table{display:grid;gap:8px;margin-top:16px;}
.manager-person-row{width:100%;display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(150px,.65fr) minmax(180px,.9fr) minmax(100px,.45fr);gap:14px;align-items:center;text-align:left;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);cursor:pointer;}
.manager-person-row:hover,.manager-person-row:focus-visible{border-color:var(--blue);box-shadow:0 0 0 2px rgba(18,92,220,.08);}
.manager-person-row>span:first-child{display:grid;gap:2px;}
.manager-person-row small{color:var(--muted);font-size:18px!important;}
.manager-person-detail{margin-top:16px;padding:18px;border:2px solid #9db7df;border-radius:14px;background:var(--surface-soft,#f4f8ff);}
.manager-person-head{display:flex;justify-content:space-between;gap:18px;align-items:start;}
.manager-person-head h3{font-size:28px;margin:4px 0;}
.manager-recipient-list{max-height:340px;overflow:auto;display:grid;gap:8px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft,#f7f9fd);}
.manager-recipient-list label{display:grid!important;grid-template-columns:24px minmax(0,1fr)!important;gap:10px!important;align-items:start;padding:9px;border-bottom:1px solid var(--line);font-weight:500!important;}
.manager-recipient-list label:last-child{border-bottom:0;}
.manager-recipient-list input{width:20px;height:20px;min-height:0!important;margin-top:3px;}
.manager-recipient-list span{display:grid;gap:2px;}
.manager-recipient-list small{font-size:18px!important;color:var(--muted);}
.manager-sent-list,.manager-simple-list,.manager-audit-list{display:grid;gap:8px;margin-top:12px;}
.manager-sent-list article,.manager-simple-list article,.manager-audit-list article{display:grid;gap:3px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft,#f7f9fd);}
.manager-sent-list small,.manager-audit-list small{font-size:18px!important;color:var(--muted);}
.manager-permission-fieldset{border:1px solid var(--line);border-radius:12px;padding:14px;}
.manager-permission-fieldset legend{padding:0 8px;font-weight:850;}
.manager-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;}
.manager-permission-grid label{display:grid!important;grid-template-columns:22px minmax(0,1fr)!important;gap:9px!important;align-items:start;font-weight:600!important;}
.manager-permission-grid input{width:20px;height:20px;min-height:0!important;}
.platform-message-inbox{width:min(100% - 48px,1560px);margin:28px auto 48px;display:grid;gap:16px;}
.platform-message-list{display:grid;gap:12px;}
.platform-message{padding:18px 20px;border:1px solid var(--line);border-left:4px solid #7fa2d5;border-radius:14px;background:var(--surface);display:grid;gap:10px;}
.platform-message.is-unread{border-left-color:var(--blue);background:var(--surface-soft,#f6f9ff);}
.platform-message>div{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.platform-message>div span{color:var(--muted);}
.platform-message p{margin:0;white-space:pre-wrap;}

@media(max-width:1500px){
  body[data-page="manager"] .desktop-nav>a:nth-of-type(n+6){display:none;}
  .manager-filter-row{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:1180px){
  #app-shell.manager-shell{grid-template-columns:minmax(0,1fr);}
  #app-shell.manager-shell > #main{grid-column:1;}
  #app-shell.manager-shell > .shell-resizer-left{display:none!important;}
  body[data-page="manager"] #sidebar{display:block;position:fixed;transform:translateX(-105%);}
  body[data-page="manager"] #sidebar.open{transform:translateX(0);}
  body[data-page="manager"] .product-nav-inner{grid-template-columns:auto minmax(0,1fr) auto;}
  body[data-page="manager"] .desktop-nav{display:none;}
  body[data-page="manager"] .product-mobile-menu{display:inline-grid;}
  .manager-person-row{grid-template-columns:1fr 1fr;}
}
@media(max-width:760px){
  body[data-page="manager"] .route-page{width:min(100% - 24px,1680px);}
  body[data-page="manager"] .header-setting .setting-label{display:none;}
  .manager-account-menu>summary small{display:none;}
  .manager-filter-row,.manager-permission-grid,.manager-person-row{grid-template-columns:1fr;}
  .manager-person-head{display:grid;}
}

/* v3.5.0 Platform Team permission stewardship */
.manager-team-list{display:grid;gap:16px;}
.manager-team-member{border:1px solid var(--line);border-radius:16px;padding:18px;background:var(--surface);display:grid;gap:14px;}
.manager-team-head{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(180px,.8fr) minmax(100px,.4fr);gap:16px;align-items:center;}
.manager-team-head span:first-child{display:grid;gap:4px;}
.manager-team-head small{font-size:18px;line-height:1.45;color:var(--muted);}
.manager-permission-badges{display:flex;flex-wrap:wrap;gap:8px;}
.manager-permission-badges span{font-size:18px;line-height:1.35;padding:7px 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface-soft);}
.manager-permission-editor{border-top:1px solid var(--line);padding-top:12px;}
.manager-permission-editor summary{font-size:18px;font-weight:800;cursor:pointer;margin-bottom:12px;}
.manager-permission-editor .manager-permission-grid{margin:12px 0 16px;}
.manager-permission-editor [data-manager-permission-status]{margin-top:10px;}
@media (max-width:900px){.manager-team-head{grid-template-columns:1fr;}}

/* =============================================================
   TERA Math 12 v3.6.0 · Learning Experience, Identity & Integrity
   Canonical public communication header, authentication, profile,
   compact Work Archive, and source-level 18 px typography floor.
   ============================================================= */
:root{
  --brand-tier-h:136px;
  --portal-tier-h:78px;
  --nav-tier-h:66px;
  --header-h:calc(var(--brand-tier-h) + var(--portal-tier-h) + var(--nav-tier-h));
}
html{font-size:18px!important;}
body,button,input,select,textarea,label,a,p,span,small,li,dt,dd,summary,figcaption,th,td{font-size:max(18px,1rem);}

/* Product communication layer */
.tera-retained-header .brand-tier-inner{
  width:min(1900px,100%);
  min-height:var(--brand-tier-h);
  grid-template-columns:minmax(420px,1fr) minmax(620px,1.25fr) minmax(520px,1fr);
  gap:34px;
  padding-inline:clamp(34px,4.2vw,82px);
}
.tera-retained-header .corporate-brand{gap:20px;}
.tera-retained-header .corporate-mark{width:78px;height:78px;flex-basis:78px;border-color:#c99428;box-shadow:0 0 0 3px rgba(232,181,72,.18),0 12px 30px rgba(0,0,0,.22);}
.tera-retained-header .corporate-mark span{font-size:40px;}
.tera-retained-header .corporate-copy{display:grid;gap:2px;}
.tera-retained-header .corporate-copy strong{font-size:31px!important;line-height:1.1;}
.tera-retained-header .corporate-copy small{font-size:21px!important;line-height:1.15;}
.tera-retained-header .corporate-copy em{display:block;color:#fff8e6;font-size:18px;font-style:normal;font-weight:650;line-height:1.35;}
.tera-retained-header .brand-mission{display:grid;justify-items:center;align-content:center;text-align:center;gap:5px;}
.tera-retained-header .brand-mission strong{font-size:48px!important;line-height:1;}
.tera-retained-header .brand-mission span{font-size:19px!important;}
.tera-retained-header .brand-mission small{display:block;margin-top:7px;color:#f2c55e;font-size:18px!important;font-weight:760;letter-spacing:.24em;text-transform:uppercase;}
.tera-retained-header .brand-right-cluster{gap:28px;}
.tera-retained-header .brand-location{display:grid;gap:5px;text-align:right;}
.tera-retained-header .brand-philosophy{padding-left:24px;border-left:1px solid rgba(255,245,214,.4);}
.tera-retained-header .brand-philosophy span{display:grid;gap:5px;}
.tera-retained-header .brand-philosophy small{color:#f2c55e;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:18px!important;font-style:normal;font-weight:760;letter-spacing:.16em;text-transform:uppercase;}

.portal-switch-tier{min-height:var(--portal-tier-h);background:linear-gradient(90deg,#0c4bb9,#0d62ee 58%,#0a55d2);}
.portal-switch-inner{width:min(1900px,100%);min-height:var(--portal-tier-h);margin:0 auto;padding:0 clamp(34px,4.2vw,82px);display:grid;grid-template-columns:minmax(280px,.75fr) auto minmax(280px,.75fr);align-items:center;gap:26px;}
.portal-audience-note{display:flex;align-items:center;gap:16px;color:#fff;line-height:1.35;font-weight:650;}
.portal-audience-note svg{width:34px;height:34px;flex:0 0 34px;}
.portal-links{display:flex;align-items:center;justify-content:center;gap:0;white-space:nowrap;}
.portal-switch-link{min-height:54px;display:inline-flex;align-items:center;gap:12px;padding:10px 22px;border-radius:999px;color:#fff!important;text-decoration:none;font-weight:850;}
.portal-switch-link.active{background:linear-gradient(180deg,#ffd85e,#edb630);color:#102448!important;box-shadow:0 8px 20px rgba(1,27,77,.18);}
.portal-switch-link .portal-switch-icon svg{width:27px;height:27px;}
.portal-switch-divider{width:1px;height:34px;margin:0 8px;background:rgba(255,255,255,.35);}
.portal-future-note{justify-self:end;color:#e9f2ff;font-size:18px!important;font-weight:760;letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;}

.tera-retained-nav{min-height:var(--nav-tier-h);}
.tera-retained-nav .product-nav-inner{width:min(1900px,100%);min-height:var(--nav-tier-h);padding-inline:clamp(34px,4.2vw,82px);gap:24px;}
.tera-retained-nav .desktop-nav{gap:clamp(22px,2vw,42px);}
.tera-retained-nav .product-nav-actions{gap:14px;}
.tera-retained-nav .header-setting{display:flex;align-items:center;gap:10px;}
.tera-retained-nav .setting-label{font-weight:850;white-space:nowrap;}
.tera-retained-nav .segmented-control.refined-setting{display:inline-flex;align-items:center;gap:0;padding:4px;border:1px solid rgba(255,255,255,.4);border-radius:999px;background:#10234e;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);}
.tera-retained-nav .segmented-control.refined-setting button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:92px;min-height:46px;margin:0;padding:8px 15px;border-radius:999px;color:#fff!important;}
.tera-retained-nav .segmented-control.refined-setting button svg{width:21px;height:21px;}
.tera-retained-nav .segmented-control.refined-setting button[aria-pressed="true"]{background:linear-gradient(180deg,#ffd45e,#e8ad24);color:#14203c!important;box-shadow:0 3px 10px rgba(0,0,0,.18);}
.tera-retained-nav .language-toggle.refined-setting button{min-width:76px;}
.tera-retained-nav .login-link{min-height:48px;display:inline-flex;align-items:center;padding:8px 18px;border:2px solid rgba(255,255,255,.75);border-radius:13px;font-weight:850;text-decoration:none;}
.tera-retained-nav .create-account-link{min-height:50px;display:inline-flex;align-items:center;justify-content:center;padding:9px 24px;border-radius:13px;text-decoration:none;}

/* Authentication is a focused public surface, not a learning-workspace rail. */
html[data-page="login"] #app-shell,
html[data-page="register"] #app-shell,
html[data-page="forgot"] #app-shell{display:block;min-height:calc(100vh - var(--header-h));}
html[data-page="login"] #sidebar,html[data-page="login"] #study-tools,html[data-page="login"] .shell-resizer,
html[data-page="register"] #sidebar,html[data-page="register"] #study-tools,html[data-page="register"] .shell-resizer,
html[data-page="forgot"] #sidebar,html[data-page="forgot"] #study-tools,html[data-page="forgot"] .shell-resizer{display:none!important;}
html[data-page="login"] #main,html[data-page="register"] #main,html[data-page="forgot"] #main{width:100%;max-width:none;margin:0;padding:0;}
.auth-canvas{min-height:calc(100vh - var(--header-h));padding:54px clamp(28px,5vw,90px) 70px;background:linear-gradient(145deg,#f8fbff,#eef6ff);position:relative;overflow:hidden;}
.auth-canvas::before,.auth-canvas::after{content:"";position:absolute;width:58vw;height:280px;border:2px solid rgba(222,170,42,.38);border-color:rgba(222,170,42,.42) transparent transparent transparent;border-radius:50%;pointer-events:none;}
.auth-canvas::before{left:-20vw;bottom:4%;transform:rotate(12deg);}.auth-canvas::after{right:-20vw;bottom:12%;transform:rotate(-14deg);}
[data-theme="dark"] .auth-canvas{background:linear-gradient(145deg,#0b1423,#0f2037);}
.auth-login-canvas{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(560px,740px) minmax(240px,.72fr);gap:48px;align-items:center;}
.canonical-login-card,.auth-card-single{position:relative;z-index:1;width:100%;max-width:740px;padding:48px 52px;border-radius:24px;box-shadow:0 18px 48px rgba(20,58,120,.12);}
.canonical-login-card h1,.canonical-register-card h1,.auth-card-single h1{font-size:clamp(46px,4vw,68px);line-height:1.02;margin:8px 0 16px;}
.canonical-login-card>p,.canonical-register-card>p,.auth-card-single>p{font-size:20px;line-height:1.6;}
.account-form{display:grid;gap:18px;margin-top:26px;}
.account-form label{display:grid;gap:7px;color:var(--ink);font-weight:850;}
.account-form input,.account-form select{min-height:58px;padding:12px 16px;border:1px solid #b9cce5;border-radius:12px;background:var(--surface);color:var(--ink);font-size:18px!important;}
.password-field{grid-template-columns:minmax(0,1fr) 56px;gap:10px;}
.password-toggle{height:58px;min-width:56px;border-radius:12px;}
.forgot-password-link{justify-self:end;margin-top:-9px;font-weight:760;text-decoration:none;}
.auth-submit{min-height:60px;justify-content:center;font-size:20px!important;font-weight:850;}
.auth-submit svg{width:22px;height:22px;margin-left:8px;}
.auth-status{min-height:30px;margin:0;color:var(--danger);}
.google-auth-button{min-height:60px;border-radius:12px;font-weight:850;}
.auth-mission-copy,.auth-future-copy{position:relative;z-index:1;color:#425f8b;}
.auth-mission-copy h2,.auth-future-copy h3{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:clamp(32px,3vw,48px);line-height:1.15;color:#50688e;}
.auth-mission-copy span,.auth-future-copy span{display:block;margin-top:18px;color:#607aa1;font-weight:760;letter-spacing:.22em;text-transform:uppercase;}
.auth-future-copy{align-self:end;padding-bottom:56px;}

.register-canvas{padding-top:46px;}
.register-layout{position:relative;z-index:1;width:min(1500px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.28fr) minmax(380px,.72fr);gap:28px;align-items:stretch;}
.canonical-register-card{width:100%;max-width:none;padding:42px 48px;border-radius:24px;box-shadow:0 18px 48px rgba(20,58,120,.12);}
.registration-role-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:26px 0;}
.registration-role{min-height:132px;display:grid;place-items:center;align-content:center;gap:6px;padding:15px;border:1px solid #c3d2e7;border-radius:14px;background:var(--surface);color:var(--text);cursor:pointer;text-align:center;}
.registration-role span{color:var(--blue-2);}.registration-role svg{width:32px;height:32px;}.registration-role strong{font-size:18px!important;}.registration-role small{color:var(--muted);font-size:18px!important;}
.registration-role.active{border:2px solid var(--blue);background:var(--surface-blue);box-shadow:0 8px 22px rgba(31,94,255,.09);}
.form-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;}
.consent-line{display:grid!important;grid-template-columns:24px minmax(0,1fr);align-items:start!important;gap:10px!important;font-weight:500!important;line-height:1.45;}
.consent-line input{min-height:auto!important;width:22px;height:22px;margin-top:3px;padding:0!important;}
.role-registration-note{margin:0;padding:12px 14px;border-left:4px solid var(--gold);border-radius:9px;background:var(--gold-soft);color:var(--text);}
.already-account{margin:20px 0 0;}.already-account a{font-weight:850;}
.registration-benefits{padding:42px 38px;border:1px solid #d3e0f1;border-radius:24px;background:rgba(255,255,255,.72);box-shadow:0 18px 48px rgba(20,58,120,.07);}
[data-theme="dark"] .registration-benefits{background:rgba(17,29,48,.84);}
.registration-benefits h2{font-size:34px;margin:0 0 30px;}
.registration-benefits>div{display:grid;grid-template-columns:64px minmax(0,1fr);gap:18px;align-items:start;margin:25px 0;}
.registration-benefits>div>svg{width:56px;height:56px;padding:13px;border-radius:50%;background:var(--surface-blue);color:var(--blue-2);}
.registration-benefits strong{display:block;color:var(--ink);font-size:20px!important;}.registration-benefits p{margin:4px 0 0;color:var(--muted);line-height:1.5;}
.registration-benefits blockquote{margin:32px 0 0;padding:24px 0 0;border-top:1px solid var(--line);font-family:Georgia,serif;font-size:25px;font-style:italic;text-align:center;color:var(--blue-2);}.registration-benefits blockquote small{display:block;margin-top:8px;color:var(--muted);font-family:Inter,system-ui,sans-serif;font-style:normal;}

/* Profile is identity + learning configuration, not a duplicate Dashboard. */
.profile-v36{max-width:none!important;}
.profile-v36 .profile-title{margin-bottom:24px;}.profile-v36 .profile-title h1{font-size:clamp(42px,4vw,62px);margin:4px 0 8px;}.profile-v36 .profile-title>p:last-child{max-width:900px;color:var(--muted);}
.profile-hero-v36{min-height:210px;display:grid;grid-template-columns:minmax(0,.75fr) minmax(420px,1.25fr);align-items:stretch;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:linear-gradient(105deg,var(--surface),var(--surface-blue));box-shadow:var(--shadow-sm);}
.profile-hero-v36>div{padding:30px;align-self:center;display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:18px;align-items:center;}.profile-hero-v36 .profile-avatar{grid-row:1/6;width:58px;height:58px;}.profile-hero-v36 h2{margin:2px 0;font-size:30px;}.profile-hero-v36 p{margin:1px 0;color:var(--muted);}.profile-hero-v36 strong{color:var(--blue-2);}
.profile-hero-v36 img{width:100%;height:100%;min-height:210px;object-fit:cover;object-position:center 40%;}
.profile-tabs{display:flex;gap:6px;margin:28px 0 22px;border-bottom:1px solid var(--line);overflow-x:auto;}.profile-tabs button{min-height:52px;padding:10px 16px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--text);font-weight:820;cursor:pointer;white-space:nowrap;}.profile-tabs button[aria-selected="true"]{border-bottom-color:var(--blue);color:var(--blue-2);}
.profile-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}.profile-section-card,.identity-account-card{margin:0!important;padding:28px!important;border-left:1px solid var(--line)!important;}.profile-section-card h2,.identity-account-card h2{font-size:30px;margin:5px 0 16px;}.profile-section-card>p:last-child{color:var(--muted);}
.profile-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0 0;}.profile-facts>div,.connection-grid>div,.preference-summary-grid>div{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);}.profile-facts dt{color:var(--muted);font-weight:700;}.profile-facts dd{margin:3px 0 0;color:var(--ink);font-weight:850;}
.profile-evidence-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0;}.profile-evidence-stats>div{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);}.profile-evidence-stats strong{display:block;font-size:28px;color:var(--ink);}.profile-evidence-stats span{color:var(--muted);}
.profile-section-intro{max-width:900px;color:var(--muted);}.profile-account-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;}.preference-summary-grid,.connection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0;}.preference-summary-grid strong,.connection-grid strong{display:block;color:var(--ink);}.preference-summary-grid span,.connection-grid span{color:var(--muted);}

/* Work Archive = compact academic record previews. */
.dashboard-work-grid{align-items:start!important;grid-auto-rows:auto!important;}
.dashboard-work-item,.work-archive-card{min-height:0!important;height:auto!important;display:block!important;padding:22px!important;}
.work-item-top{margin-bottom:12px;}.work-item-top>span:first-child{color:var(--muted);font-weight:760;}.work-context{margin:0 0 8px;color:var(--blue-2);font-weight:800;}
.compact-math-preview{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;max-height:8.2em;margin:8px 0 14px;line-height:1.6;}.compact-math-preview p{margin:0 0 6px;}.compact-math-preview mjx-container[display="true"]{margin:.35em 0!important;text-align:left!important;}
.dashboard-work-response{margin:10px 0;padding:10px 12px;border-radius:10px;background:var(--surface-soft);}.dashboard-work-response>span{display:block;color:var(--muted);font-weight:750;}
.dashboard-work-review{display:inline-flex;align-items:center;gap:7px;margin-top:8px;color:var(--blue-2);font-weight:850;text-decoration:none;}
.work-archive-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start;}.archive-evidence{margin-top:14px;border-top:1px solid var(--line);padding-top:12px;}.archive-evidence summary{color:var(--blue-2);font-weight:820;cursor:pointer;}.archive-evidence dl{margin-top:14px;}

@media(max-width:1500px){
  :root{--brand-tier-h:126px;--portal-tier-h:72px;--nav-tier-h:62px;}
  .tera-retained-header .brand-tier-inner{grid-template-columns:minmax(340px,1fr) minmax(480px,1.15fr) minmax(410px,1fr);gap:20px;padding-inline:28px;}
  .portal-switch-inner,.tera-retained-nav .product-nav-inner{padding-inline:28px;}
  .portal-future-note{display:none;}.portal-switch-inner{grid-template-columns:minmax(250px,.65fr) auto;}.portal-links{justify-content:end;}
  .tera-retained-nav .desktop-nav{gap:20px;}.tera-retained-nav .segmented-control.refined-setting button{min-width:76px;padding-inline:10px;}
}
@media(max-width:1180px){
  :root{--brand-tier-h:110px;--portal-tier-h:66px;--nav-tier-h:58px;}
  .tera-retained-header .brand-tier-inner{grid-template-columns:minmax(320px,1fr) minmax(420px,1fr);}.brand-right-cluster{display:none;}
  .portal-audience-note{display:none;}.portal-switch-inner{grid-template-columns:1fr;}.portal-links{justify-content:center;overflow-x:auto;}
  .auth-login-canvas{grid-template-columns:1fr;justify-items:center;}.auth-mission-copy,.auth-future-copy{display:none;}.register-layout{grid-template-columns:1fr;}.registration-benefits{max-width:none;}
  .registration-role-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.profile-section-grid{grid-template-columns:1fr;}.work-archive-list{grid-template-columns:1fr;}
}
@media(max-width:760px){
  :root{--brand-tier-h:76px;--portal-tier-h:60px;--nav-tier-h:54px;}
  .tera-retained-header .brand-tier-inner{display:flex;justify-content:space-between;padding-inline:14px;}.tera-retained-header .corporate-mark{width:54px;height:54px;flex-basis:54px}.tera-retained-header .corporate-copy strong{font-size:21px!important}.tera-retained-header .corporate-copy small{font-size:18px!important}.tera-retained-header .corporate-copy em,.brand-mission,.brand-right-cluster{display:none!important;}
  .portal-switch-inner{padding-inline:8px;}.portal-switch-link{padding:8px 12px}.portal-switch-link span:last-child{font-size:18px!important}.portal-switch-divider{margin:0 2px}.portal-switch-icon{display:none;}
  .auth-canvas{padding:24px 14px 110px;}.canonical-login-card,.canonical-register-card,.auth-card-single{padding:28px 22px}.canonical-login-card h1,.canonical-register-card h1,.auth-card-single h1{font-size:42px}.form-two-col,.registration-role-grid,.profile-facts,.profile-evidence-stats,.preference-summary-grid,.connection-grid{grid-template-columns:1fr}.registration-benefits{padding:28px 22px}.profile-hero-v36{grid-template-columns:1fr}.profile-hero-v36 img{max-height:190px}.product-nav-actions .setting-label{display:none;}
}


/* =============================================================
   TERA Math 12 v3.6.1 · Interface, Diagnostic & Math Rendering Integrity
   ============================================================= */

/* Inline mathematics must remain part of its sentence. */
mjx-container:not([display="true"]){display:inline-block!important;max-width:none!important;overflow:visible!important;overflow-x:visible!important;overflow-y:visible!important;padding:0!important;margin:0 .08em!important;vertical-align:-.12em;white-space:nowrap;}
mjx-container:not([display="true"])>svg{display:inline-block!important;max-width:none!important;overflow:visible!important;vertical-align:middle;}
mjx-container[display="true"]{display:block!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;margin:.65em 0!important;padding:.08em 0 .18em!important;text-align:left;}
mjx-container[display="true"]>svg{display:inline-block!important;max-width:none!important;}
.semantic-math-line,.problem-text p,.rich-math p,.worked-card p,.hint-step p,.solution-content p,.diagnostic-item strong p{overflow-wrap:normal!important;word-break:normal!important;line-height:1.55;}
.problem-text,.hint-step>div,.solution-content,.rich-math,.worked-card{min-width:0;}
.mistakes-card li>p{display:inline;margin:0;}

/* Practice feedback hierarchy. */
.problem-actions{align-items:center;gap:10px;}
.problem-actions button{min-height:48px;padding:10px 15px;font-size:18px!important;font-weight:820;}
.problem-actions button:disabled{opacity:.68;cursor:not-allowed;background:var(--surface-soft);color:var(--muted);}
.hint-box,.solution-box{margin-top:16px;padding:18px 20px;border-radius:14px;overflow:visible!important;}
.hint-box>strong,.solution-box>strong{margin-bottom:12px;font-size:20px!important;}
.hint-stack{display:grid;gap:10px;}
.hint-step{grid-template-columns:34px minmax(0,1fr);padding:14px 16px;}
.hint-step>span{width:30px;height:30px;}
.solution-content{display:grid;gap:0;}
.solution-content>p{margin:0 0 14px;}
.solution-content>p:has(>strong:first-child){margin-top:8px;}
.solution-content mjx-container[display="true"]{margin:.45em 0!important;}
.feedback.show{margin-top:12px;padding:12px 14px;border-radius:10px;}

/* Canonical header collision guard. */
.tera-retained-header .brand-tier-inner{grid-template-columns:minmax(390px,.95fr) minmax(560px,1.18fr) minmax(560px,1.12fr);gap:28px;}
.tera-retained-header .corporate-brand,.tera-retained-header .brand-mission,.tera-retained-header .brand-right-cluster{min-width:0;}
.tera-retained-header .brand-mission span{white-space:normal!important;line-height:1.25;}
.tera-retained-header .brand-mission small{max-width:700px;line-height:1.35;letter-spacing:.18em;}
.tera-retained-header .brand-right-cluster{display:grid;grid-template-columns:minmax(245px,.8fr) minmax(290px,1.2fr);align-items:center;gap:22px;}
.tera-retained-header .brand-location{min-width:0;text-align:right;}
.tera-retained-header .brand-location strong,.tera-retained-header .brand-location span{white-space:normal!important;overflow-wrap:normal;word-break:normal;line-height:1.3;}
.tera-retained-header .brand-philosophy{min-width:0;white-space:normal!important;}
.tera-retained-header .brand-philosophy span{min-width:0;white-space:normal!important;line-height:1.25;}
.tera-retained-header .brand-philosophy small{display:block;margin-top:5px;white-space:normal!important;line-height:1.35;letter-spacing:.12em;}
@media(max-width:1720px){
  :root{--brand-tier-h:150px;}
  .tera-retained-header .brand-tier-inner{grid-template-columns:minmax(360px,.9fr) minmax(500px,1.1fr) minmax(420px,.9fr);gap:20px;padding-inline:28px;}
  .tera-retained-header .brand-right-cluster{grid-template-columns:1fr;gap:7px;align-content:center;}
  .tera-retained-header .brand-location{text-align:left;padding-left:20px;}
  .tera-retained-header .brand-philosophy{border-left:0;border-top:1px solid rgba(255,245,214,.35);padding:7px 0 0 20px;}
  .tera-retained-header .brand-philosophy b{font-size:38px;}
}
@media(max-width:1320px){
  :root{--brand-tier-h:126px;}
  .tera-retained-header .brand-tier-inner{grid-template-columns:minmax(330px,1fr) minmax(440px,1.1fr);}
  .tera-retained-header .brand-right-cluster{display:none!important;}
}

/* Diagnostic sentence integrity. */
.diagnostic-item>strong{display:block;min-width:0;font-weight:760;line-height:1.55;}
.diagnostic-item>strong>p{margin:0;}

/* Actionable Install / Access hub. */
.access-hub-v361{max-width:none!important;}
.access-status-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0;}
.access-status-strip>div{padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:var(--surface);}
.access-status-strip span{display:block;color:var(--muted);font-weight:760;}
.access-status-strip strong{display:block;margin-top:6px;color:var(--ink);font-size:20px!important;}
.access-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.access-action-card{padding:28px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-sm);}
.access-action-card h2{margin:5px 0 12px;font-size:30px;}
.access-action-card p{line-height:1.6;}
.access-url{margin:16px 0;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;}
.access-helper{color:var(--muted);}
.access-capability-list{display:grid;gap:9px;margin:16px 0 18px;}
.access-capability-list span{line-height:1.45;}
@media(max-width:900px){.access-status-strip,.access-action-grid{grid-template-columns:1fr;}}


/* v3.6.1 practice semantic integrity refinement */
.semantic-problem-text{font-size:18px;line-height:1.62;max-width:100%;}
.semantic-problem-text>p{margin:0 0 12px;}
.semantic-problem-text mjx-container:not([display="true"]),
.hint-step mjx-container:not([display="true"]),
.solution-content mjx-container:not([display="true"]),
.mistakes-card mjx-container:not([display="true"]){display:inline-block!important;white-space:nowrap!important;vertical-align:-.12em!important;margin:0 .08em!important;}
.problem-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;}
.problem-actions .check,.problem-actions .hint,.problem-actions .solution{font-size:18px!important;line-height:1.25;min-height:48px;}
.hint-box.show,.solution-box.show{display:block;}
.hint-heading,.solution-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;}
.hint-heading strong,.solution-heading strong{font-size:20px!important;color:var(--ink);}
.hint-heading span,.solution-heading span{font-size:18px!important;color:var(--muted);font-weight:720;}
.hint-step{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:start;}
.hint-step>div{min-width:0;line-height:1.58;}
.hint-step>div>p{margin:0;}
.solution-content{font-size:18px!important;line-height:1.65;}
.solution-content>p{margin:0 0 14px;}
.solution-content>p:last-child{margin-bottom:0;}
.solution-content strong{font-weight:820;}
.mistakes-card li{line-height:1.55;margin:8px 0;}
.mistakes-card li>div{display:block;min-width:0;}
.mistakes-card li>div>p{display:inline;margin:0;}
@media(max-width:760px){
  .problem-actions{align-items:stretch;}
  .problem-actions .check,.problem-actions .hint,.problem-actions .solution{flex:1 1 100%;}
  .hint-heading,.solution-heading{align-items:flex-start;flex-direction:column;gap:4px;}
}

/* =============================================================
   TERA Math 12 v3.7.0 · Discovery, Trust & Commercial Experience
   ============================================================= */

/* Locale-safe canonical audience row. French labels receive intrinsic space;
   the future message owns a separate cell and is never allowed to overlap. */
html[lang="fr"] .portal-switch-inner{
  grid-template-columns:minmax(350px,.74fr) minmax(810px,max-content) minmax(320px,.64fr);
  gap:20px;
}
html[lang="fr"] .portal-links{min-width:810px;justify-content:center;}
html[lang="fr"] .portal-switch-link{padding-inline:16px;}
html[lang="fr"] .portal-switch-divider{margin-inline:5px;}
html[lang="fr"] .portal-future-note{min-width:0;max-width:360px;white-space:normal;line-height:1.28;text-align:right;overflow-wrap:normal;word-break:normal;}
@media(max-width:1740px){
  html[lang="fr"] .portal-future-note{display:none;}
  html[lang="fr"] .portal-switch-inner{grid-template-columns:minmax(340px,.68fr) minmax(810px,max-content);}
}
@media(max-width:1180px){
  html[lang="fr"] .portal-audience-note{display:none;}
  html[lang="fr"] .portal-switch-inner{grid-template-columns:1fr;}
  html[lang="fr"] .portal-links{min-width:0;width:100%;justify-content:center;overflow-x:auto;}
}

/* Registration theme parity. The benefit icons are line icons, never black
   fallback shapes; controls remain legible in both themes. */
html[data-page="register"]{scroll-padding-top:calc(var(--header-h) + 24px);}
html[data-page="register"] .register-canvas{padding-top:64px;}
.registration-benefits>div>svg,
.registration-benefits>div>svg *{fill:none!important;stroke:currentColor!important;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;}
.registration-benefits>div>svg{background:#eaf2ff;color:#075be5;box-shadow:inset 0 0 0 1px rgba(7,91,229,.08);}
[data-theme="dark"] .registration-benefits{border-color:#315078;background:rgba(16,31,53,.94);box-shadow:0 18px 48px rgba(0,0,0,.24);}
[data-theme="dark"] .registration-benefits>div>svg{background:#173b70;color:#76b4ff;box-shadow:inset 0 0 0 1px rgba(118,180,255,.28);}
[data-theme="dark"] .registration-benefits strong{color:#f7faff;}
[data-theme="dark"] .registration-benefits p,[data-theme="dark"] .registration-benefits blockquote small{color:#d3deef;}
[data-theme="dark"] .registration-benefits blockquote{border-top-color:#37516f;color:#8ec5ff;}
[data-theme="dark"] .account-form input,[data-theme="dark"] .account-form select{border-color:#7790b2;background:#12243c;color:#f7faff;}
[data-theme="dark"] .account-form input::placeholder,[data-theme="dark"] .account-form textarea::placeholder{color:#bac9dd;opacity:1;}
[data-theme="dark"] .password-toggle{border-color:#6e87a9;background:#172d49;color:#f5f8ff;box-shadow:none;}
[data-theme="dark"] .password-toggle:hover,[data-theme="dark"] .password-toggle:focus-visible{border-color:#8ec5ff;outline:2px solid #8ec5ff;outline-offset:2px;}
[data-theme="dark"] .registration-role{border-color:#758caf;background:#101f34;color:#f7faff;}
[data-theme="dark"] .registration-role small{color:#d2def0;}
[data-theme="dark"] .registration-role span{color:#87b9ff;}
[data-theme="dark"] .registration-role.active{border-color:#3c91ff;background:#19365f;box-shadow:0 8px 22px rgba(0,115,255,.18);}
[data-theme="dark"] .registration-role.active strong,[data-theme="dark"] .registration-role.active small{color:#fff;}
[data-theme="dark"] .consent-line input{accent-color:#4d9aff;outline-color:#9dcaff;}
[data-theme="dark"] .role-registration-note{background:#372e17;color:#fff0c0;border-left-color:#f2c55e;}

/* Public Discovery Access experience. */
body[data-page="discovery"] #mobile-bottom-nav,body[data-page="pricing"] #mobile-bottom-nav{display:none!important;}
.discovery-page,.pricing-v37{width:min(100% - 48px,1680px);max-width:none;margin-inline:auto;padding-bottom:72px;}
.discovery-hero{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(360px,.68fr);gap:28px;align-items:stretch;margin:34px 0 48px;}
.discovery-hero-copy,.discovery-doctrine{border:1px solid var(--line);border-radius:26px;padding:clamp(34px,4vw,60px);background:var(--surface);box-shadow:0 20px 50px rgba(19,57,112,.08);}
.discovery-hero-copy{background:linear-gradient(140deg,var(--surface),var(--surface-blue));}
.discovery-hero h1{max-width:940px;font-size:clamp(48px,5vw,76px);line-height:1.02;margin:10px 0 18px;letter-spacing:-.035em;}
.discovery-hero .lead{max-width:970px;font-size:21px;line-height:1.65;color:var(--muted);}
.discovery-trust-row{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0;}
.discovery-trust-row span,.pricing-assurance span{display:inline-flex;align-items:center;gap:9px;min-height:46px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-weight:760;}
.discovery-trust-row svg,.pricing-assurance svg,.pricing-discovery-copy li svg,.pricing-no-card svg,.discovery-assets li svg{width:22px;height:22px;flex:0 0 22px;fill:none;stroke:currentColor;stroke-width:2;color:var(--success);}
.discovery-doctrine{background:linear-gradient(145deg,#0d1f39,#12335e);color:#f7faff;border-color:#355886;}
.discovery-doctrine .eyebrow{color:#82baff;}.discovery-doctrine h2{font-size:40px;color:#fff;margin:8px 0 12px;}.discovery-doctrine>strong{display:block;color:#f4c85c;font-size:23px;margin-bottom:18px;}.discovery-doctrine p{color:#dbe8f8;}
.discovery-ai-state{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:28px;padding:18px;border:1px solid #4d6d95;border-radius:16px;background:rgba(6,21,42,.38);}.discovery-ai-state strong{color:#f6cc68;}
.discovery-experience,.discovery-assets,.discovery-evidence{margin:46px 0;}
.discovery-journey-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin-top:26px;}
.discovery-journey-grid article{min-width:0;padding:22px 18px;border:1px solid var(--line);border-radius:18px;background:var(--surface);}
.discovery-step-number{display:block;color:var(--blue-2);font-weight:900;letter-spacing:.08em;}.discovery-step-icon{display:grid;place-items:center;width:48px;height:48px;margin:14px 0;border-radius:14px;background:var(--surface-blue);color:var(--blue-2);}.discovery-step-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;}.discovery-journey-grid h3{font-size:21px;margin:0 0 9px;}.discovery-journey-grid p{margin:0;color:var(--muted);line-height:1.55;}
.discovery-assets{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:24px;padding:36px;border:1px solid var(--line);border-radius:24px;background:var(--surface-soft);}.discovery-assets h2{font-size:40px;margin:5px 0 18px;}.discovery-assets ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;padding:0;list-style:none;}.discovery-assets li{display:flex;gap:10px;align-items:flex-start;}.discovery-assets aside{padding:28px;border-radius:18px;background:var(--surface);border:1px solid var(--line);}.discovery-duration-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0;}.discovery-duration-list span{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);}.discovery-duration-list strong{display:block;font-size:28px;color:var(--blue-2);}
.discovery-evidence{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:24px;padding:36px;border-radius:24px;background:linear-gradient(135deg,#0c1e36,#102c51);color:#f8fbff;}.discovery-evidence h2{font-size:39px;color:#fff;margin:5px 0 16px;}.discovery-evidence p{color:#d7e5f8;}.discovery-evidence-question{align-self:center;padding:24px;border:1px solid #426890;border-radius:18px;background:rgba(255,255,255,.04);}.discovery-evidence-question strong{color:#f4c85c;}

/* Pricing: discovery is intentionally distinct from the always-free Explorer tier. */
.pricing-hero-v37{padding:58px;border-radius:28px;background:linear-gradient(140deg,#07172a,#102b50);color:#f8fbff;}.pricing-hero-v37 h1{color:#fff;max-width:1100px;font-size:clamp(48px,5vw,76px);line-height:1.03;}.pricing-hero-v37>p{color:#d7e6fa;max-width:1180px;font-size:21px;}.pricing-hero-v37 .eyebrow{color:#7db5ff;}.pricing-hero-v37 .pricing-assurance span{background:rgba(255,255,255,.04);border-color:#3f5e82;color:#f5f8ff;}
.pricing-discovery-feature{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(360px,.68fr);gap:24px;margin:30px 0 52px;padding:34px;border:2px solid #dfae36;border-radius:26px;background:linear-gradient(135deg,#fffaf0,var(--surface));box-shadow:0 18px 44px rgba(141,102,11,.10);}.pricing-discovery-kicker{display:inline-flex;padding:8px 13px;border-radius:999px;background:#2a210c;color:#ffd96e;font-weight:850;}.pricing-discovery-copy h2{font-size:42px;margin:8px 0 14px;}.pricing-discovery-copy ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;padding:0;list-style:none;margin:22px 0;}.pricing-discovery-copy li{display:flex;gap:10px;align-items:flex-start;}.pricing-discovery-contrast{padding:26px;border:1px solid #dcc67d;border-radius:18px;background:rgba(255,255,255,.72);}.pricing-discovery-contrast h3{font-size:28px;margin:0 0 18px;}.pricing-discovery-contrast>div{padding:17px 0;border-bottom:1px solid #e7d9ab;}.pricing-discovery-contrast>div strong{color:#173f7b;font-size:21px;}.pricing-discovery-contrast>div p{margin:5px 0 0;color:#51617b;}.pricing-no-card{display:flex;align-items:center;gap:9px;margin-top:18px;font-weight:820;}
[data-theme="dark"] .pricing-discovery-feature{background:linear-gradient(135deg,#2a2517,#111f33);border-color:#d9a930;}[data-theme="dark"] .pricing-discovery-contrast{background:#14243b;border-color:#725f2b;}[data-theme="dark"] .pricing-discovery-contrast>div{border-bottom-color:#5a4d2d;}[data-theme="dark"] .pricing-discovery-contrast>div strong{color:#92c2ff;}[data-theme="dark"] .pricing-discovery-contrast>div p{color:#d4dfed;}
.pricing-ai-boundary-v37{align-items:stretch;}.pricing-core-boundary{margin-top:16px;font-weight:700;}.pricing-ai-status{display:grid;gap:14px;}.pricing-ai-status>div{display:flex;gap:14px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);}.pricing-ai-status>div>span:first-child{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--surface-blue);color:var(--blue-2);}.pricing-ai-status svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;}.pricing-ai-status p{margin:0;}.pricing-ai-status small{display:block;color:var(--muted);font-size:18px!important;}.pricing-ai-status .pricing-ai-off{display:grid;grid-template-columns:1fr auto;background:#1a2b46;color:#fff;border-color:#45617f;}.pricing-ai-status .pricing-ai-off span{color:#f5cb68;font-weight:900;}

/* Discovery entitlement shown inside education-facing pages only. */
.discovery-access-banner{display:grid;grid-template-columns:minmax(0,1fr) minmax(400px,1.15fr) auto;gap:20px;align-items:center;margin:0 0 24px;padding:18px 22px;border:1px solid #d9aa38;border-radius:18px;background:linear-gradient(100deg,#fff9e8,#eef5ff);box-shadow:0 10px 28px rgba(19,57,112,.08);}.discovery-access-banner>div:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:9px 16px;}.discovery-access-banner .eyebrow{width:100%;margin:0;}.discovery-access-banner strong{color:var(--ink);}.discovery-banner-journey{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}.discovery-banner-journey span{padding:7px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--line);}.discovery-banner-journey strong{margin-left:auto;color:var(--blue-2);}[data-theme="dark"] .discovery-access-banner{background:linear-gradient(100deg,#302817,#132843);border-color:#b58a26;}

/* Platform Manager: Discovery is a governed operational workflow. */
.manager-discovery-command{margin:28px 0 34px;}.manager-discovery-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:20px;padding:30px;border:1px solid #c99b2d;border-radius:22px;background:linear-gradient(135deg,#0b1b31,#12335c);color:#f8fbff;}.manager-discovery-hero h2{color:#fff;font-size:38px;margin:6px 0 12px;}.manager-discovery-hero p{color:#d5e5f7;}.manager-discovery-hero aside{display:grid;align-content:center;gap:10px;padding:22px;border:1px solid #45678e;border-radius:16px;background:rgba(255,255,255,.04);}.manager-discovery-hero aside strong{color:#f5cb68;font-size:23px;}.manager-discovery-journey{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:14px 0 20px;}.manager-discovery-journey span{display:grid;place-items:center;min-height:58px;padding:9px;border:1px solid var(--line);border-radius:12px;background:var(--surface);text-align:center;font-weight:800;}.discovery-stat-grid{grid-template-columns:repeat(6,minmax(0,1fr));}.manager-discovery-grid{margin-top:18px;}.discovery-evidence-list article{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);}.discovery-person{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;}.discovery-person>div{display:grid;}.discovery-person span{color:var(--muted);}.discovery-days{padding:6px 10px;border-radius:999px;background:var(--gold-soft);color:var(--ink)!important;font-weight:850;white-space:nowrap;}.discovery-evidence-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:12px 0;}.discovery-evidence-row span{padding:10px;border-radius:10px;background:var(--surface);border:1px solid var(--line);color:var(--muted);}.discovery-evidence-row strong{display:block;color:var(--ink);font-size:23px;}.discovery-ai-chip{font-weight:820;color:var(--blue-2)!important;}.discovery-actions{display:flex;flex-wrap:wrap;gap:8px;}.discovery-actions button{min-height:42px;padding:7px 11px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font-weight:760;cursor:pointer;}

@media(max-width:1380px){.discovery-journey-grid{grid-template-columns:repeat(4,minmax(0,1fr));}.manager-discovery-journey{grid-template-columns:repeat(4,minmax(0,1fr));}.discovery-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.discovery-evidence-row{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:1040px){.discovery-hero,.pricing-discovery-feature,.discovery-assets,.discovery-evidence,.manager-discovery-hero{grid-template-columns:1fr;}.discovery-journey-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.discovery-access-banner{grid-template-columns:1fr;}.pricing-discovery-copy ul,.discovery-assets ul{grid-template-columns:1fr;}}
@media(max-width:760px){.discovery-page,.pricing-v37{width:min(100% - 24px,1680px);}.discovery-hero-copy,.discovery-doctrine,.pricing-hero-v37,.pricing-discovery-feature,.discovery-assets,.discovery-evidence{padding:26px 20px;}.discovery-hero h1,.pricing-hero-v37 h1{font-size:44px;}.discovery-journey-grid,.manager-discovery-journey,.discovery-stat-grid,.discovery-evidence-row,.discovery-duration-list{grid-template-columns:1fr;}.manager-discovery-hero{padding:24px 18px;}}

/* =============================================================
   TERA Math 12 v3.8.0 · Discovery Preview, Navigation & Operations
   Anonymous discovery, page history, profile form integrity, and
   stable private Manager navigation in EN/FR and Light/Dark.
   ============================================================= */

/* Shared page history: explicit app-level Back / Forward without shrinking text. */
.page-history-controls{
  width:min(100% - 48px,1680px);
  margin:18px auto 12px;
  display:flex;
  align-items:center;
  gap:10px;
}
.page-history-controls button{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--surface);
  color:var(--ink);
  font-size:18px;
  font-weight:800;
  cursor:pointer;
}
.page-history-controls button:first-child svg{transform:rotate(180deg);}
.page-history-controls button svg{width:20px;height:20px;}
.page-history-controls button:disabled{opacity:.45;cursor:not-allowed;}
.page-history-controls button:focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 45%,transparent);outline-offset:2px;}

/* Profile > Account & Security: labels and inputs cannot collide. */
.profile-account-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:18px;
}
.profile-account-form-grid label{display:grid;gap:8px;min-width:0;font-weight:800;}
.profile-account-form-grid input{width:100%;min-width:0;}
.account-principles-card{align-self:stretch;}
@media(max-width:900px){
  .profile-account-form-grid{grid-template-columns:1fr;}
  .page-history-controls{width:min(100% - 24px,1680px);}
}

/* Registration: Google remains visible even when deployment configuration is absent. */
.google-auth-button:disabled{opacity:.62;cursor:not-allowed;}
.google-auth-note{margin:8px 0 0;color:var(--muted);font-size:18px;line-height:1.5;}
.preview-carry-consent{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);}

/* Manager header: real grid separation between navigation and protected utilities. */
body[data-page="manager"] .product-nav-inner{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center;
  gap:16px!important;
  width:min(100% - 28px,1880px)!important;
  padding-inline:18px!important;
}
body[data-page="manager"] .desktop-nav{
  min-width:0;
  display:flex!important;
  align-items:center;
  gap:6px;
  overflow:visible;
}
body[data-page="manager"] .desktop-nav>a{
  flex:0 0 auto;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  padding:8px 10px!important;
  white-space:nowrap;
}
body[data-page="manager"] .product-nav-actions{
  min-width:max-content;
  display:flex;
  align-items:center;
  gap:10px;
}
body[data-page="manager"] .route-page{padding-top:28px;}

.manager-more-menu,.manager-account-menu{position:relative;flex:0 0 auto;}
.manager-menu-trigger,.manager-account-trigger{
  min-height:46px;
  border:1px solid rgba(255,255,255,.58);
  border-radius:12px;
  background:transparent;
  color:#fff;
  font-size:18px;
  font-weight:850;
  cursor:pointer;
}
.manager-menu-trigger{display:flex;align-items:center;gap:7px;padding:8px 12px;}
.manager-account-trigger{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  column-gap:8px;
  align-items:center;
  max-width:230px;
  padding:7px 12px;
  text-align:left;
}
.manager-account-trigger>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.manager-account-trigger small{grid-column:1;color:#dce9ff;font-size:18px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.manager-menu-trigger[aria-expanded="true"],.manager-account-trigger[aria-expanded="true"],.manager-menu-trigger:hover,.manager-account-trigger:hover{background:rgba(255,255,255,.12);}
.manager-more-panel,.manager-account-panel{
  position:absolute;
  z-index:500;
  top:calc(100% + 8px);
  right:0;
  display:grid;
  gap:2px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--surface);
  color:var(--ink);
  box-shadow:0 20px 50px rgba(8,25,52,.24);
}
.manager-more-panel{width:min(340px,82vw);grid-template-columns:repeat(2,minmax(0,1fr));}
.manager-account-panel{min-width:280px;}
.manager-more-panel[hidden],.manager-account-panel[hidden]{display:none!important;}
.manager-more-panel a,.manager-account-panel a,.manager-account-panel button{
  min-height:44px;
  display:flex;
  align-items:center;
  padding:9px 11px!important;
  border:0;
  border-radius:9px;
  background:transparent;
  color:var(--ink)!important;
  text-decoration:none;
  text-align:left;
  font-size:18px;
  font-weight:780;
  cursor:pointer;
}
.manager-more-panel a:hover,.manager-more-panel a:focus-visible,.manager-account-panel a:hover,.manager-account-panel a:focus-visible,.manager-account-panel button:hover,.manager-account-panel button:focus-visible{background:var(--surface-soft);}

/* The old breakpoint hid top links; v3.8 uses an explicit Plus menu instead. */
@media(max-width:1500px){
  body[data-page="manager"] .desktop-nav>a:nth-of-type(n){display:inline-flex;}
  body[data-page="manager"] .header-setting .setting-label{display:none;}
  .manager-account-trigger{max-width:190px;}
}
@media(max-width:1180px){
  body[data-page="manager"] .product-nav-inner{grid-template-columns:auto minmax(0,1fr) auto!important;}
  body[data-page="manager"] .desktop-nav{display:none!important;}
  body[data-page="manager"] .product-mobile-menu{display:inline-grid;}
}

/* Manager filters: no label/select/button collisions in French. */
.manager-filter-row{
  display:grid!important;
  grid-template-columns:minmax(190px,1.2fr) minmax(180px,.8fr) minmax(190px,1fr) auto!important;
  gap:14px!important;
  align-items:end;
}
.manager-filter-row label{display:grid!important;gap:8px!important;min-width:0;font-weight:800!important;}
.manager-filter-row input,.manager-filter-row select{width:100%;min-width:0;}
.manager-filter-row .button{min-width:max-content;white-space:normal;text-align:center;}
.manager-communications-panel .portal-form>label{display:grid;gap:8px;}
.manager-communications-panel .portal-stat-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr));}
@media(max-width:1480px){
  .manager-filter-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .manager-filter-row .button{width:100%;}
}
@media(max-width:820px){
  .manager-filter-row{grid-template-columns:1fr!important;}
  .manager-communications-panel .portal-stat-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* Anonymous preview: real product experience before identity. */
.anonymous-preview-entry{
  width:min(100% - 48px,1560px);
  margin:18px auto 26px;
  padding:22px 26px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  border:1px solid #a9c2eb;
  border-left:5px solid var(--blue);
  border-radius:18px;
  background:linear-gradient(135deg,var(--surface-blue),var(--surface));
}
.anonymous-preview-entry h2{margin:4px 0 8px;font-size:30px;}
.anonymous-preview-entry p{margin:0;}
.discovery-preview-page{width:min(100% - 48px,1460px)!important;margin-inline:auto!important;padding-top:24px!important;}
.preview-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.3fr);gap:22px;align-items:stretch;margin-bottom:18px;}
.preview-hero>div,.preview-timer,.preview-card,.preview-account-gate{border:1px solid var(--line);border-radius:18px;background:var(--surface);}
.preview-hero>div{padding:28px;}
.preview-hero h1{margin:6px 0 12px;font-size:clamp(40px,4vw,64px);}
.preview-timer{padding:24px;display:grid;align-content:center;gap:8px;background:var(--surface-blue);}
.preview-timer span,.preview-timer small{color:var(--muted);}
.preview-timer strong{font-size:44px;color:var(--blue-2);font-variant-numeric:tabular-nums;}
.preview-steps{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 22px;}
.preview-steps span{padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);font-weight:800;}
.preview-card{padding:26px;margin:16px 0;}
.preview-card h2{font-size:30px;margin:6px 0 14px;}
.preview-answer-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;}
.preview-answer-row input,.preview-practice>input{width:100%;}
.preview-visual{margin:20px 0;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;}
.preview-visual svg{display:block;width:100%;height:auto;max-height:360px;stroke:#102444;stroke-width:2;fill:#165eea;}
.preview-visual .preview-line{stroke:#165eea;stroke-width:4;fill:none;}
.preview-visual .preview-guide{stroke:#d29a13;stroke-width:3;stroke-dasharray:8 6;fill:none;}
.preview-visual text{stroke:none;fill:#102444;font-size:18px;font-weight:700;}
.preview-formula{font-size:22px;font-weight:800;text-align:center;}
.preview-practice .problem-actions{margin-top:14px;}
.preview-hints{display:grid;gap:10px;margin-top:14px;}
.preview-hints .hint-step{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);}
.preview-hints .hint-step>span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--surface-blue);font-weight:900;color:var(--blue-2);}
.preview-account-gate{margin:24px 0;padding:30px;border:2px solid #d2a01d;background:linear-gradient(135deg,var(--surface),var(--surface-blue));}
.preview-account-gate h2{font-size:34px;margin:6px 0 12px;}
.preview-account-gate small{display:block;margin-top:14px;color:var(--muted);}
.manager-anonymous-preview{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.4fr);gap:20px;padding:22px;margin:18px 0;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft);}
.manager-anonymous-preview h3{font-size:28px;margin:5px 0 10px;}
.manager-anonymous-preview .portal-stat-grid.compact{margin:0;align-self:center;}
@media(max-width:900px){
  .anonymous-preview-entry{width:min(100% - 24px,1560px);display:grid;}
  .preview-hero,.manager-anonymous-preview{grid-template-columns:1fr;}
  .preview-answer-row{grid-template-columns:1fr;}
  .discovery-preview-page{width:min(100% - 24px,1460px)!important;}
}

/* Keep Manager sidebar controls useful but visually subordinate. */
body[data-page="manager"] #sidebar{scrollbar-width:thin;}
body[data-page="manager"] .shell-resizer-left{opacity:.65;}
body[data-page="manager"] .shell-resizer-left:hover,body[data-page="manager"] .shell-resizer-left:focus-visible{opacity:1;}

/* =============================================================
   TERA Math 12 v3.9.1 · Auth & Runtime Continuity Hotfix
   Manager is a wide private operations console. No permanent rail.
   ============================================================= */
body[data-page="manager"] #app-shell.manager-shell{
  grid-template-columns:minmax(0,1fr)!important;
  min-width:0;
}
body[data-page="manager"] #app-shell.manager-shell > #sidebar,
body[data-page="manager"] #app-shell.manager-shell > .shell-resizer-left,
body[data-page="manager"] #app-shell.manager-shell > .shell-resizer-right,
body[data-page="manager"] #app-shell.manager-shell > #study-tools{
  display:none!important;
}
body[data-page="manager"] #app-shell.manager-shell > #main{
  grid-column:1!important;
  min-width:0;
  width:100%;
}
body[data-page="manager"] .route-page{
  width:min(100% - 32px,1720px)!important;
  padding-top:12px!important;
  padding-bottom:56px;
}
body[data-page="manager"] .page-history-controls{
  width:min(100% - 32px,1720px);
  margin:10px auto 2px;
  min-height:48px;
}
body[data-page="manager"] .page-history-controls button{
  min-height:46px;
}
.history-arrow{font-size:22px!important;line-height:1;font-weight:900;}

/* Plus / More is deliberately compact and never inherits workspace height. */
.manager-more-panel{
  z-index:1200!important;
  width:min(540px,calc(100vw - 28px))!important;
  height:auto!important;
  min-height:0!important;
  max-height:min(70vh,620px)!important;
  overflow:auto!important;
  grid-template-columns:repeat(2,minmax(190px,1fr))!important;
  grid-auto-rows:max-content!important;
  align-content:start!important;
  gap:4px!important;
  padding:10px!important;
}
.manager-more-panel a{
  min-width:0;
  min-height:46px;
  white-space:normal;
  overflow-wrap:anywhere;
}
.manager-account-panel{z-index:1200!important;}
html[data-theme="dark"] .manager-more-panel,
html[data-theme="dark"] .manager-account-panel{
  border-color:#4d6688;
  box-shadow:0 22px 56px rgba(0,0,0,.42);
}

/* Compact operations rhythm and collision-safe grids. */
body[data-page="manager"] .portal-grid-2{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
  gap:18px;
}
body[data-page="manager"] .portal-grid-2 > *,
body[data-page="manager"] .portal-panel,
body[data-page="manager"] .portal-form,
body[data-page="manager"] .manager-communications-panel,
body[data-page="manager"] .manager-discovery-command{
  min-width:0;
  height:auto;
}
body[data-page="manager"] .portal-panel{
  padding:22px;
}
body[data-page="manager"] .portal-panel > :first-child{margin-top:0;}
body[data-page="manager"] .portal-panel > :last-child{margin-bottom:0;}
body[data-page="manager"] .portal-stat-grid.compact{
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;
  align-items:start;
}
body[data-page="manager"] .portal-stat-grid.compact > *{
  min-width:0;
  overflow-wrap:anywhere;
}
body[data-page="manager"] .manager-filter-row{
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important;
  align-items:end!important;
  gap:14px!important;
}
body[data-page="manager"] .manager-filter-row > *,
body[data-page="manager"] .portal-form > *,
body[data-page="manager"] .manager-routing-form > *{
  min-width:0!important;
  max-width:100%!important;
}
body[data-page="manager"] .manager-filter-row input,
body[data-page="manager"] .manager-filter-row select,
body[data-page="manager"] .portal-form input,
body[data-page="manager"] .portal-form select,
body[data-page="manager"] .portal-form textarea,
body[data-page="manager"] .portal-form button{
  max-width:100%;
}
body[data-page="manager"] .manager-filter-row .button{
  width:100%;
  min-width:0!important;
}
.manager-inline-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}
.manager-inline-actions > *{
  flex:1 1 220px;
  min-width:0;
}
.manager-routing-form{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-items:end;
}
.manager-routing-form > button,
.manager-routing-form > p{
  grid-column:1/-1;
}
.manager-recipient-list,
.manager-person-detail,
.manager-user-table,
.manager-sent-list,
.manager-simple-list,
.manager-audit-list{
  max-width:100%;
  overflow-wrap:anywhere;
}
.manager-person-row{max-width:100%;}

/* Governed optional AI operations. */
.manager-ai-governance{
  display:grid;
  gap:18px;
  margin:18px 0;
}
.manager-ai-governance-header,.manager-ai-governance-head{
  padding:22px 24px;
  border:1px solid var(--line);
  border-left:5px solid var(--blue);
  border-radius:16px;
  background:var(--surface-blue);
}
.manager-ai-governance-header h2,.manager-ai-governance-head h2{margin:5px 0 8px;font-size:32px;}
.manager-ai-governance-header p,.manager-ai-governance-head p{margin:0;max-width:1100px;}
.manager-ai-request-list,.manager-ai-grant-list,.manager-ai-usage-list,.manager-ai-list{
  display:grid;
  gap:10px;
}
.manager-ai-request-list article,.manager-ai-grant-list article,.manager-ai-usage-list article,.manager-ai-list article{
  min-width:0;
  display:grid;
  gap:9px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface-soft);
}
.manager-ai-review-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:10px;
  align-items:end;
}
.manager-ai-review-grid label{display:grid;gap:7px;min-width:0;}
.manager-ai-review-grid input,.manager-ai-review-grid select{min-width:0;width:100%;}
.manager-ai-status-chip{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  padding:6px 10px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--surface);
  font-weight:800;
}

/* Pricing is a learning-access decision surface, never a broken icon catalog. */
.pricing-access-ladder{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);
  align-items:stretch;
  gap:12px;
  margin:28px 0 30px;
}
.pricing-access-ladder article{
  min-width:0;
  display:grid;
  gap:5px;
  padding:18px 20px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface);
}
.pricing-access-ladder article>span{font-weight:900;color:var(--blue-2);}
.pricing-access-ladder article>strong{font-size:22px;line-height:1.25;}
.pricing-access-ladder article>small{color:var(--muted);line-height:1.45;}
.pricing-access-ladder>b{align-self:center;font-size:28px;color:var(--blue-2);}
.pricing-grid-students,.pricing-grid-education{
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr))!important;
}
.pricing-card{min-width:0;overflow:hidden;}
.pricing-card-head{min-width:0;}
.pricing-card-head>*{min-width:0;}
.pricing-summary,.pricing-unit,.pricing-features li,.pricing-commerce-state{overflow-wrap:anywhere;}
.pricing-check{
  display:inline-grid;
  place-items:center;
  width:24px;
  min-width:24px;
  height:24px;
  border-radius:50%;
  background:color-mix(in srgb,var(--success,#16754b) 13%,transparent);
  color:var(--success,#16754b);
  font-weight:900;
}
.pricing-commerce-state{
  margin:0;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface-soft);
  color:var(--muted);
  font-weight:750;
}
.pricing-cta{gap:9px;white-space:normal;text-align:center;}
.pricing-status-mark{
  display:grid!important;
  place-items:center!important;
  width:48px!important;
  height:48px!important;
  border-radius:14px;
  background:var(--surface-blue);
  color:var(--blue-2);
  font-size:28px!important;
  font-weight:900;
}

@media(max-width:1180px){
  body[data-page="manager"] .portal-grid-2{grid-template-columns:1fr;}
  .manager-routing-form{grid-template-columns:1fr;}
  .manager-routing-form > button,.manager-routing-form > p{grid-column:auto;}
}
@media(max-width:820px){
  .manager-more-panel{
    width:min(360px,calc(100vw - 20px))!important;
    grid-template-columns:1fr!important;
  }
  body[data-page="manager"] .route-page,
  body[data-page="manager"] .page-history-controls{width:min(100% - 20px,1720px)!important;}
  .pricing-access-ladder{grid-template-columns:1fr;}
  .pricing-access-ladder>b{transform:rotate(90deg);justify-self:center;}
}
@media(max-width:680px){
  .pricing-grid-students,.pricing-grid-education{grid-template-columns:1fr!important;}
  .pricing-card-head{display:grid;}
  .pricing-amount{justify-items:start;text-align:left;min-width:0;}
}

/* =============================================================
   TERA Math 12 v3.10.0 · Provider Control Plane & Pricing Clarity
   Capable Without AI, Stronger With It.
   ============================================================= */
.manager-provider-control{
  display:grid;
  gap:22px;
  margin:18px 0;
  padding:28px!important;
}
.manager-provider-head{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(300px,.55fr);
  gap:24px;
  align-items:start;
}
.manager-provider-head h2{margin:4px 0 10px;font-size:clamp(30px,2.6vw,44px);}
.manager-provider-head>div>p:last-child{max-width:980px;margin:0;color:var(--muted);line-height:1.6;}
.manager-provider-head aside{
  display:grid;
  gap:8px;
  padding:18px 20px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface-blue);
}
.manager-provider-head aside strong{color:var(--blue-2);}
.manager-provider-head aside span{color:var(--muted);line-height:1.5;}
.manager-provider-status-grid{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);
  gap:18px;
  align-items:stretch;
}
.manager-provider-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.manager-provider-summary>div{
  display:grid;
  align-content:start;
  gap:6px;
  min-width:0;
  padding:18px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--surface-soft);
}
.manager-provider-summary span{color:var(--muted);font-weight:750;}
.manager-provider-summary strong{overflow-wrap:anywhere;}
.manager-provider-summary small{color:var(--muted);line-height:1.45;}
.manager-provider-check{
  display:grid;
  gap:14px;
  padding:20px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface);
}
.manager-provider-check h3{margin:3px 0 6px;font-size:26px;}
.manager-provider-check p{margin:0;color:var(--muted);line-height:1.5;}
.manager-provider-check .button{justify-self:start;}
.manager-provider-check-results{display:grid;gap:8px;}
.manager-provider-readiness{
  display:grid;
  gap:4px;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid var(--line);
  background:var(--surface-soft);
}
.manager-provider-readiness.ready{border-color:#8ac7a5;background:#effaf3;}
.manager-provider-readiness.degraded{border-color:#d2a64d;background:#fff8e7;}
.manager-provider-readiness.unavailable{border-color:#d18c8c;background:#fff1f1;}
.manager-provider-check-row{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;align-items:start;padding:10px 0;border-top:1px solid var(--line);}
.manager-provider-check-row span:last-child{display:grid;gap:2px;}
.manager-provider-check-row small{color:var(--muted);}
.status-dot{width:12px;height:12px;margin-top:6px;border-radius:50%;background:#8b98aa;}
.status-dot.ready{background:#258752;}
.status-dot.degraded{background:#b77916;}
.manager-provider-columns{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:start;
}
.manager-provider-card{
  min-width:0;
  display:grid;
  gap:14px;
  padding:22px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface);
}
.manager-provider-card h3{margin:0;font-size:27px;}
.manager-provider-card>p:not(.eyebrow){margin:0;color:var(--muted);line-height:1.55;}
.manager-provider-card .portal-form{margin-top:0;}
.manager-provider-card label small{display:block;margin-top:7px;color:var(--muted);font-weight:600;line-height:1.45;}
.manager-provider-card select{width:100%;}
#manager-provider-credential-editor{padding-top:4px;}
#manager-provider-credential-editor[hidden]{display:none!important;}
.manager-provider-boundary-card .portal-dl{margin:0;}
.manager-provider-boundary-card .portal-dl>div{grid-template-columns:minmax(160px,.8fr) minmax(0,1.2fr);}
html[data-theme="dark"] .manager-provider-readiness.ready{background:#153424;border-color:#3f7c59;}
html[data-theme="dark"] .manager-provider-readiness.degraded{background:#3a2d13;border-color:#856422;}
html[data-theme="dark"] .manager-provider-readiness.unavailable{background:#3d2020;border-color:#885151;}

/* Pricing: optional AI is a governed add-on, never a meter on core mathematics. */
.pricing-ai-boundary-v310{align-items:start;}
.pricing-ai-flow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px;}
.pricing-ai-flow span{padding:8px 11px;border:1px solid #b8cbe6;border-radius:999px;background:var(--surface);font-weight:800;}
.pricing-ai-flow b{color:var(--muted);}
.pricing-ai-overage{padding-top:12px!important;border-top:1px solid var(--line);font-weight:700;}
.pricing-ai-boundary-v310 .pricing-ai-status{gap:10px;}
.pricing-ai-boundary-v310 .pricing-ai-status>div:not(.pricing-ai-off){display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:start;padding:8px 0;}
.pricing-ai-boundary-v310 .pricing-ai-status p{display:grid;gap:3px;}
.pricing-ai-boundary-v310 .pricing-ai-status small{color:var(--muted);line-height:1.45;}

/* More stays a true content-sized popup in every supported theme and viewport. */
body[data-page="manager"] .manager-more-panel:not([hidden]){
  display:grid!important;
  width:min(520px,calc(100vw - 28px))!important;
  height:max-content!important;
  min-height:0!important;
  max-height:min(68vh,580px)!important;
  grid-template-columns:repeat(2,minmax(180px,1fr))!important;
  align-content:start!important;
}

@media(max-width:1260px){
  .manager-provider-head,.manager-provider-status-grid{grid-template-columns:1fr;}
  .manager-provider-summary{grid-template-columns:repeat(2,minmax(0,1fr));}
  .manager-provider-columns{grid-template-columns:1fr 1fr;}
  .manager-provider-boundary-card{grid-column:1/-1;}
}
@media(max-width:760px){
  .manager-provider-control{padding:20px!important;}
  .manager-provider-summary,.manager-provider-columns{grid-template-columns:1fr;}
  .manager-provider-boundary-card{grid-column:auto;}
  .pricing-ai-flow{display:grid;grid-template-columns:1fr;}
  .pricing-ai-flow b{display:none;}
  body[data-page="manager"] .manager-more-panel:not([hidden]){grid-template-columns:1fr!important;}
}

/* =============================================================
   TERA Math 12 v3.11.0 · Premium Operations Hardening
   Typography, contrast, Manager navigation, governed AI boundaries
   ============================================================= */

/* Real readable floor: every visible textual control/content element is at least 18px.
   JS also verifies computed styles after render for inherited/legacy rules. */
body,button,input,select,textarea,a,p,li,dt,dd,label,summary,small,span{font-size:max(18px,1em);}
small{line-height:1.5;}
.google-g-logo{width:20px;height:20px;display:block;flex:0 0 20px;}
.google-auth-button{gap:10px;align-items:center;justify-content:center;}

/* Canonical Manager shell preservation.
   The retained TERA Math 12 brand tier, product-navigation tier, theme/language
   controls, profile control, and footer are immutable. Manager has no portal
   switcher tier, so its header height is exactly brand + navigation with no
   reserved blank band. */
body[data-page="manager"]{--header-h:calc(var(--brand-tier-h) + var(--nav-tier-h));}
body[data-page="manager"] .brand-tier.tera-retained-header{display:block!important;}
body[data-page="manager"] .product-nav-tier.tera-retained-nav{position:relative!important;top:auto!important;z-index:auto;}
body[data-page="manager"] .product-nav-inner{position:relative;}

/* The More menu is a navigation popup, never a workspace/card. */
body[data-page="manager"] .manager-more-menu{position:relative!important;}
body[data-page="manager"] .manager-more-panel,
body[data-page="manager"] .manager-more-panel:not([hidden]){
  position:absolute!important;
  inset:auto 0 auto auto!important;
  top:calc(100% + 8px)!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(190px,1fr))!important;
  grid-auto-flow:row!important;
  grid-auto-rows:minmax(46px,max-content)!important;
  align-content:start!important;
  align-items:stretch!important;
  width:min(470px,calc(100vw - 24px))!important;
  max-width:470px!important;
  height:auto!important;
  min-height:0!important;
  max-height:min(72vh,620px)!important;
  margin:0!important;
  padding:10px!important;
  overflow:auto!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
  background:var(--surface)!important;
  box-shadow:0 22px 54px rgba(8,25,52,.28)!important;
  z-index:1800!important;
}
body[data-page="manager"] .manager-more-panel[hidden]{display:none!important;}
body[data-page="manager"] .manager-more-panel a{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  min-height:46px!important;
  margin:0!important;
  padding:10px 12px!important;
  border:0!important;
  border-radius:9px!important;
  background:transparent!important;
  color:var(--ink)!important;
  font-size:18px!important;
  font-weight:780!important;
  line-height:1.35!important;
  text-decoration:none!important;
  box-shadow:none!important;
  overflow-wrap:anywhere!important;
}
body[data-page="manager"] .manager-more-panel a::before,
body[data-page="manager"] .manager-more-panel a::after{content:none!important;display:none!important;}
body[data-page="manager"] .manager-more-panel a:hover,
body[data-page="manager"] .manager-more-panel a:focus-visible{background:var(--surface-soft)!important;color:var(--ink)!important;outline:2px solid var(--blue-2);outline-offset:-2px;}
html[data-theme="dark"] body[data-page="manager"] .manager-more-panel{background:#14253d!important;border-color:#557397!important;}
html[data-theme="dark"] body[data-page="manager"] .manager-more-panel a{color:#f3f7ff!important;}
html[data-theme="dark"] body[data-page="manager"] .manager-more-panel a:hover,
html[data-theme="dark"] body[data-page="manager"] .manager-more-panel a:focus-visible{background:#213a5b!important;color:#fff!important;}

.manager-mobile-panel{display:none;}
@media(max-width:1080px){
  /* Follow the canonical retained-header breakpoint. The existing product
     mobile-menu button becomes visible here; Manager only supplies its menu
     contents and does not reshape the global header. */
  body[data-page="manager"] .manager-mobile-panel:not([hidden]){
    position:absolute;left:12px;right:12px;top:calc(100% + 8px);z-index:1800;
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;
    max-height:72vh;overflow:auto;padding:10px;border:1px solid var(--line);border-radius:14px;
    background:var(--surface);box-shadow:0 22px 54px rgba(8,25,52,.28);
  }
  body[data-page="manager"] .manager-mobile-panel a{min-height:46px;padding:10px 12px;border-radius:9px;color:var(--ink);text-decoration:none;font-weight:780;}
  body[data-page="manager"] .manager-mobile-panel a:hover,body[data-page="manager"] .manager-mobile-panel a:focus-visible{background:var(--surface-soft);outline:2px solid var(--blue-2);outline-offset:-2px;}
}
@media(max-width:760px){body[data-page="manager"] .manager-mobile-panel:not([hidden]){grid-template-columns:1fr;}}

/* True operations dashboard hierarchy. */
body[data-page="manager"] .manager-overview-hero{grid-template-columns:minmax(0,1.45fr) minmax(360px,.55fr);gap:20px;margin-bottom:16px;align-items:start;}
body[data-page="manager"] .manager-overview-hero h1{font-size:clamp(44px,4vw,60px);margin-bottom:10px;}
body[data-page="manager"] .manager-overview-hero>div>p:last-child{max-width:900px;color:var(--muted);font-size:20px!important;}
.manager-capability-summary{padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft);}
.manager-capability-summary h2{margin:3px 0 10px;font-size:27px;}
.manager-capability-summary dl{display:grid;gap:0;margin:0;}
.manager-capability-summary dl>div{display:grid;grid-template-columns:minmax(160px,.9fr) minmax(0,1.1fr);gap:12px;padding:9px 0;border-top:1px solid var(--line);}
.manager-capability-summary dt{font-weight:760;color:var(--muted);}.manager-capability-summary dd{margin:0;font-weight:820;color:var(--ink);}
.manager-capability-summary .state-ready{color:var(--success,#187549);}
body[data-page="manager"] .manager-ops-strip{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0 0 20px;}
body[data-page="manager"] .manager-ops-strip .portal-stat-card{min-height:100px;padding:15px 16px;}
body[data-page="manager"] .manager-ops-strip .portal-stat-card strong{font-size:28px;}
@media(max-width:1320px){body[data-page="manager"] .manager-overview-hero{grid-template-columns:1fr;}body[data-page="manager"] .manager-ops-strip{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:760px){body[data-page="manager"] .manager-ops-strip{grid-template-columns:repeat(2,minmax(0,1fr));}.manager-capability-summary dl>div{grid-template-columns:1fr;gap:3px;}}

/* Provider control plane uses the workspace, not a half-empty form column. */
.manager-provider-columns{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
.manager-provider-boundary-card{grid-column:1/-1;}
.manager-provider-card .portal-dl>div{grid-template-columns:minmax(180px,.8fr) minmax(0,1.2fr);}
.manager-provider-card .form-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.manager-ai-entitlement-list{display:grid;gap:10px;}
.manager-ai-entitlement-list article{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(190px,.8fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);}
.manager-ai-entitlement-list article>div{display:grid;gap:3px;}.manager-ai-entitlement-list small{color:var(--muted);}
@media(max-width:900px){.manager-provider-columns{grid-template-columns:1fr!important;}.manager-provider-boundary-card{grid-column:auto;}.manager-ai-entitlement-list article{grid-template-columns:1fr;}.manager-provider-card .form-grid-2{grid-template-columns:1fr;}}

/* Pricing: premium reading surface, faster path to decision, no low-contrast dark text. */
.pricing-hero-v37{padding:42px 46px!important;border-radius:24px!important;}
.pricing-hero-v37 h1{font-size:clamp(54px,5vw,68px)!important;max-width:1050px;}
.pricing-hero-v37>p{font-size:20px!important;line-height:1.6;}
.pricing-assurance{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px!important;margin-top:16px!important;text-align:left;}
.pricing-assurance span{border-radius:10px!important;padding:9px 11px!important;background:transparent!important;border-color:#496785!important;justify-content:flex-start;}
.pricing-access-ladder{margin:18px 0 28px!important;}
.pricing-ai-boundary-v310{grid-template-columns:minmax(0,1.45fr) minmax(360px,.55fr)!important;gap:24px!important;padding:28px!important;background:var(--surface-blue)!important;}
.pricing-ai-copy>p{color:var(--muted)!important;font-size:19px!important;line-height:1.65!important;}
.pricing-core-headline{font-size:28px;margin:20px 0 10px;color:var(--ink);}
.pricing-core-features{display:flex;flex-wrap:wrap;gap:8px 10px;margin:0 0 18px;}
.pricing-core-features span{padding:7px 10px;border-left:3px solid var(--blue-2);background:var(--surface);border-radius:6px;color:var(--ink);font-weight:720;}
.pricing-ai-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.pricing-ai-principles>div{display:flex;align-items:center;gap:9px;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--surface);}
.pricing-ai-status{padding:18px!important;background:var(--surface)!important;align-content:start!important;}
.pricing-ai-status>div:not(.pricing-ai-off){padding:14px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:var(--surface-soft)!important;}
.pricing-ai-status .pricing-ai-off{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;padding:16px!important;background:#1a2f4f!important;border:1px solid #5c7698!important;border-radius:12px!important;color:#fff!important;}
.pricing-ai-status .pricing-ai-off p{margin:0;}.pricing-ai-status .pricing-ai-off strong{color:#fff!important;}.pricing-ai-status .pricing-ai-off small{color:#e2ecfa!important;}.pricing-ai-status .pricing-ai-off>span{display:inline-grid!important;place-items:center!important;min-width:78px!important;padding:8px 11px!important;border-radius:8px!important;background:#f3c75d!important;color:#172338!important;font-weight:950!important;}
.pricing-ai-overage{color:var(--muted)!important;font-size:18px!important;line-height:1.55!important;}
html[data-theme="dark"] .pricing-ai-boundary-v310{background:#10233d!important;border-color:#496a91!important;}
html[data-theme="dark"] .pricing-ai-boundary-v310 h2,html[data-theme="dark"] .pricing-ai-boundary-v310 h3,html[data-theme="dark"] .pricing-ai-boundary-v310 strong{color:#f7faff!important;}
html[data-theme="dark"] .pricing-ai-boundary-v310 .pricing-ai-copy>p,html[data-theme="dark"] .pricing-ai-boundary-v310 .pricing-ai-overage{color:#d6e3f5!important;opacity:1!important;}
html[data-theme="dark"] .pricing-core-features span,html[data-theme="dark"] .pricing-ai-principles>div,html[data-theme="dark"] .pricing-ai-status>div:not(.pricing-ai-off){background:#152a47!important;border-color:#496887!important;color:#f3f7ff!important;}
html[data-theme="dark"] .pricing-ai-status small{color:#d5e2f3!important;opacity:1!important;}
@media(max-width:1180px){.pricing-ai-boundary-v310{grid-template-columns:1fr!important;}.pricing-ai-principles{grid-template-columns:1fr;}}
@media(max-width:760px){.pricing-hero-v37{padding:28px 22px!important;}.pricing-hero-v37 h1{font-size:44px!important;}.pricing-assurance{grid-template-columns:1fr!important;}}

/* Access page status is intentionally operational and readable. */
.access-status-strip span,.access-action-card .eyebrow,.access-helper,.access-capability-list span{font-size:18px!important;}
.access-action-card p{font-size:19px;line-height:1.6;}


/* =============================================================
   TERA Math 12 v3.11.1 · Canonical Shell Restoration Contract
   New features must integrate inside this shell. Never hide or replace the
   retained header/footer to solve a local Manager layout problem.
   ============================================================= */
body[data-page="manager"] #site-header{min-height:var(--header-h);}
body[data-page="manager"] #site-footer{display:block;}
body[data-page="manager"] .brand-tier.tera-retained-header,
body[data-page="manager"] .product-nav-tier.tera-retained-nav{visibility:visible;opacity:1;}


/* =============================================================
   TERA Math 12 v3.12.0 · Canonical Three-Zone Workspace
   Header/footer are immutable; page content adapts inside the shell.
   ============================================================= */
:root{--footer-height:320px;}
#app-shell.unified-three-zone-shell{
  display:grid!important;
  grid-template-columns:var(--left-rail) var(--resizer-w) minmax(0,1fr) var(--resizer-w) var(--right-rail)!important;
  align-items:start;
  min-height:calc(100vh - var(--header-h));
  width:100%;
  overflow-x:clip;
}
#app-shell.unified-three-zone-shell>#sidebar{display:block!important;grid-column:1!important;}
#app-shell.unified-three-zone-shell>.shell-resizer-left{display:block!important;grid-column:2!important;}
#app-shell.unified-three-zone-shell>#main{grid-column:3!important;min-width:0!important;width:100%!important;max-width:none!important;}
#app-shell.unified-three-zone-shell>.shell-resizer-right{display:block!important;grid-column:4!important;}
#app-shell.unified-three-zone-shell>#study-tools{display:block!important;grid-column:5!important;}
#app-shell.unified-three-zone-shell>#sidebar,
#app-shell.unified-three-zone-shell>#study-tools{position:sticky;top:var(--header-h);height:calc(100vh - var(--header-h));overflow-y:auto;}
#app-shell.unified-three-zone-shell>#main{padding:clamp(28px,2.8vw,50px) clamp(24px,3vw,52px) 72px;}
body[data-page="manager"] .route-page,
body[data-page="pricing"] .pricing-page,
body[data-page="discovery"] .discovery-page,
body[data-page="preview"] .discovery-preview-page{width:100%!important;max-width:none!important;margin-inline:0!important;}

/* Manager uses exactly the same three-zone geometry as learning pages. */
body[data-page="manager"] #app-shell.manager-shell{grid-template-columns:var(--left-rail) var(--resizer-w) minmax(0,1fr) var(--resizer-w) var(--right-rail)!important;}
body[data-page="manager"] #app-shell.manager-shell>#sidebar,
body[data-page="manager"] #app-shell.manager-shell>.shell-resizer-left,
body[data-page="manager"] #app-shell.manager-shell>.shell-resizer-right,
body[data-page="manager"] #app-shell.manager-shell>#study-tools{display:block!important;}
body[data-page="manager"] .portal-grid-2{grid-template-columns:1fr!important;}
body[data-page="manager"] .manager-overview-hero{grid-template-columns:1fr!important;margin-bottom:12px;}
body[data-page="manager"] .manager-ops-strip{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));}
.manager-tools-dl{display:grid;margin:0;gap:0;}
.manager-tools-dl>div{display:grid;grid-template-columns:1fr;gap:3px;padding:9px 0;border-top:1px solid var(--line);}
.manager-tools-dl dt{color:var(--muted);font-weight:760}.manager-tools-dl dd{margin:0;color:var(--ink);font-weight:850}.manager-tools-dl .state-ready{color:var(--success,#187549)}

/* Communications and narration remain center-workspace tasks; no half-screen dead zones. */
body[data-page="manager"] .manager-communications-panel,
body[data-page="manager"] #narration>.portal-panel,
body[data-page="manager"] .manager-ai-governance,
body[data-page="manager"] .manager-discovery-command{width:100%;min-width:0;}
body[data-page="manager"] #narration{grid-template-columns:1fr!important;}
body[data-page="manager"] .manager-filter-row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;}

/* Light stays light; dark stays dark. Opposite-theme billboard surfaces are prohibited. */
html[data-theme="light"] .pricing-hero-v37,
html[data-theme="light"] .manager-discovery-hero{
  background:linear-gradient(145deg,#ffffff,#eef5ff)!important;
  border:1px solid #b8cce7!important;
  color:var(--ink)!important;
  box-shadow:0 14px 34px rgba(20,55,105,.08)!important;
}
html[data-theme="light"] .pricing-hero-v37 h1,
html[data-theme="light"] .manager-discovery-hero h2{color:var(--ink)!important;}
html[data-theme="light"] .pricing-hero-v37>p,
html[data-theme="light"] .manager-discovery-hero p{color:var(--muted)!important;}
html[data-theme="light"] .pricing-hero-v37 .eyebrow{color:var(--blue-2)!important;}
html[data-theme="light"] .pricing-hero-v37 .pricing-assurance span,
html[data-theme="light"] .manager-discovery-hero aside{background:#fff!important;border-color:#bfd0e6!important;color:var(--ink)!important;}
html[data-theme="light"] .manager-discovery-hero aside strong{color:#8b6500!important;}
html[data-theme="dark"] .pricing-hero-v37,
html[data-theme="dark"] .manager-discovery-hero{background:linear-gradient(145deg,#0a1a2e,#112b49)!important;color:#f7faff!important;border-color:#456486!important;}
html[data-theme="dark"] .manager-discovery-hero aside{background:#142a47!important;color:#f7faff!important;}
html[data-theme="light"] .pricing-ai-status .pricing-ai-off{background:#eef4fc!important;border-color:#9fb9dc!important;color:var(--ink)!important;}
html[data-theme="light"] .pricing-ai-status .pricing-ai-off strong{color:var(--ink)!important;}
html[data-theme="light"] .pricing-ai-status .pricing-ai-off small{color:var(--muted)!important;}

/* Compact decision hero and earlier access ladder. */
.pricing-hero-v37{padding:34px 38px!important;margin-bottom:24px!important;}
.pricing-access-ladder{margin-top:12px!important;}
.pricing-assurance span{font-size:18px!important;}
.pricing-core-features span,.pricing-ai-principles>div,.pricing-ai-status *{font-size:18px!important;}

/* Access / install page: learner-facing continuity, not deployment diagnostics. */
.access-hub-v312{display:grid;gap:22px;}
.access-action-grid-v312{grid-template-columns:repeat(2,minmax(0,1fr));}
.access-env-badge{display:inline-flex;width:max-content;max-width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:var(--ink);font-weight:850;font-size:18px;}
.access-action-card{min-width:0;}
.access-action-card :where(p,span,strong,a,button){font-size:18px!important;}
.access-action-card p{font-size:19px!important;}

/* Footer canonical content remains unchanged; only its upper edge is resizable. */
#site-footer.footer-resizable{position:relative;}
#site-footer.footer-resizable .footer-resizer{position:relative;z-index:20;height:14px;margin-top:-7px;cursor:row-resize;touch-action:none;outline:none;}
#site-footer.footer-resizable .footer-resizer::before{content:"";position:absolute;left:0;right:0;top:6px;height:2px;background:var(--gold);transition:height .14s ease,box-shadow .14s ease;}
#site-footer.footer-resizable .footer-resizer::after{content:"↕";position:absolute;left:50%;top:7px;transform:translate(-50%,-50%);width:44px;height:24px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--muted);font-size:18px;font-weight:900;box-shadow:0 3px 10px rgba(10,30,60,.12);}
#site-footer.footer-resizable .footer-resizer:hover::before,#site-footer.footer-resizable .footer-resizer:focus-visible::before,#site-footer.footer-resizable .footer-resizer.dragging::before{height:4px;box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 15%,transparent);}
#site-footer.footer-resizable .canonical-footer{height:var(--footer-height);min-height:220px;max-height:560px;overflow:auto;}

/* Context rails stay quiet and supportive. */
.context-identity-card .course-cap{background:var(--blue);color:#fff;}
.context-workspace-link .workspace-icon svg{width:20px;height:20px;}

@media(max-width:1180px){
  #app-shell.unified-three-zone-shell{grid-template-columns:minmax(0,1fr)!important;}
  #app-shell.unified-three-zone-shell>#main{grid-column:1!important;}
  #app-shell.unified-three-zone-shell>#sidebar,#app-shell.unified-three-zone-shell>#study-tools{display:block!important;position:fixed!important;top:var(--header-h);bottom:0;height:auto!important;width:min(88vw,360px);z-index:95;}
  #app-shell.unified-three-zone-shell>#sidebar{left:0;transform:translateX(-105%)}
  #app-shell.unified-three-zone-shell>#study-tools{right:0;transform:translateX(105%)}
  #app-shell.unified-three-zone-shell>#sidebar.open,#app-shell.unified-three-zone-shell>#study-tools.open{transform:translateX(0)}
  #app-shell.unified-three-zone-shell>.shell-resizer{display:none!important;}
  .access-action-grid-v312{grid-template-columns:1fr;}
  #site-footer.footer-resizable .footer-resizer{display:none;}
  #site-footer.footer-resizable .canonical-footer{height:auto;max-height:none;overflow:visible;}
}


/* =============================================================
   TERA Math 12 v3.12.1 · Manager Center Workspace Integration
   The shell owns geometry. The router owns the operation.
   The center owns work. Side rails own navigation/context.
   ============================================================= */
body[data-page="manager"] #main{
  align-self:start;
  min-height:calc(100vh - var(--header-h));
  overflow:visible;
}
body[data-page="manager"] .manager-workspace-root{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body[data-page="manager"] .manager-route-outlet{
  display:block;
  width:100%;
  min-width:0;
}
body[data-page="manager"] .manager-route-view{
  width:100%;
  min-width:0;
  margin:0;
  padding:0 0 72px;
}
body[data-page="manager"] .manager-route-view[hidden]{display:none!important;}
body[data-page="manager"] .manager-center-route-heading{
  margin:0 0 20px;
  padding:0 0 14px;
  border-bottom:1px solid var(--line);
}
body[data-page="manager"] .manager-center-route-heading h1{
  margin:4px 0 0;
  font-size:clamp(32px,3vw,48px);
  line-height:1.08;
}
body[data-page="manager"] .manager-route-view > :first-child{margin-top:0;}
body[data-page="manager"] .manager-route-view .portal-panel,
body[data-page="manager"] .manager-route-view .manager-ai-governance,
body[data-page="manager"] .manager-route-view .manager-discovery-command,
body[data-page="manager"] .manager-route-view .manager-provider-control{
  width:100%;
  max-width:none;
  min-width:0;
}
body[data-page="manager"] .manager-workspace-nav{
  display:block;
  margin:0 0 16px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface);
  overflow:hidden;
}
body[data-page="manager"] .manager-workspace-nav-title{
  padding:14px 14px 10px;
  border-bottom:1px solid var(--line);
}
body[data-page="manager"] .manager-workspace-nav nav{
  display:grid;
  gap:6px;
  padding:10px;
}
body[data-page="manager"] .manager-workspace-nav .workspace-link{
  margin:0;
}
body[data-page="manager"] .manager-workspace-nav .workspace-link.active,
body[data-page="manager"] .manager-workspace-nav .workspace-link[aria-current="page"]{
  border-color:var(--blue);
  background:color-mix(in srgb,var(--blue) 10%,var(--surface));
  color:var(--ink);
  box-shadow:inset 4px 0 0 var(--blue);
}
body[data-page="manager"] .page-history-controls{
  position:relative!important;
  inset:auto!important;
  z-index:1;
  width:100%!important;
  max-width:none!important;
  margin:0 0 18px!important;
  padding:0!important;
}
body[data-page="manager"] #study-tools{
  align-self:start;
}
body[data-page="manager"] .manager-current-operation strong{
  color:var(--ink);
}
@media(max-width:1180px){
  body[data-page="manager"] .manager-route-view{padding-bottom:56px;}
}

/* =============================================================
   TERA Math 12 v3.12.2 · Manager grid ownership hotfix
   Fix only: the Manager center workspace must own grid column 3.
   An older high-specificity v3.11 rule forced #main into column 1,
   underneath the persistent left rail. Keep all shell geometry and
   route rendering unchanged; restore the intended column ownership.
   ============================================================= */
body[data-page="manager"] #app-shell.manager-shell > #main{
  grid-column:3!important;
  grid-row:1!important;
  min-width:0!important;
  width:100%!important;
  max-width:none!important;
}



/* v3.14.0 · Learner Support Network · additive only */
.tera-session-welcome,.auth-session-notice,.network-invite-result{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:18px 20px;margin:0 0 20px;color:var(--text)}
.tera-session-welcome{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.tera-session-welcome strong,.network-invite-result strong{font-size:1.1rem}.auth-session-notice strong{display:block;margin-bottom:6px}
.school-registration-fields{display:grid;gap:14px}.network-invite-result{display:grid;gap:12px;margin-top:14px}.network-invite-result input{width:100%}
.network-exercise-list{max-height:360px;overflow:auto;border:1px solid var(--line);border-radius:14px;padding:10px;background:var(--surface-2)}
.network-exercise-choice{display:grid!important;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:10px;border-bottom:1px solid var(--line)}.network-exercise-choice:last-child{border-bottom:0}
.network-message-inbox,.manager-network-governance{margin-top:18px}.learner-network-student{scroll-margin-top:110px}
.portal-list-cards{display:grid;gap:12px}.portal-list-cards>article{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--surface-2);display:grid;gap:6px}.portal-list-cards>article>span,.portal-list-cards>article>p{margin:0;color:var(--muted)}
@media(max-width:760px){.tera-session-welcome{align-items:flex-start}.network-exercise-list{max-height:300px}}

/* v3.14.0 additive commercial-request flow: preserve the canonical shell and pricing system. */
.pricing-discovery-note{margin:12px 0 0;color:var(--muted);font-weight:650;line-height:1.55;}
.portal-divider{border:0;border-top:1px solid var(--line);margin:28px 0;}
.commercial-request-page{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:56px 0 72px;}
.commercial-request-layout{display:grid;grid-template-columns:minmax(320px,.78fr) minmax(420px,1.22fr);gap:28px;align-items:start;}
.commercial-request-layout .account-card{width:100%;}
.commercial-request-price{justify-items:start;text-align:left;margin:14px 0 18px;}
.commercial-request-assurance{display:grid;gap:8px;margin-top:22px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);}
.commercial-request-assurance span{color:var(--muted);line-height:1.55;}
.commercial-request-form-card h2{margin-top:0;font-size:2rem;}
.commercial-request-identity{display:grid;gap:12px;margin:0 0 22px;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft);}
.commercial-request-identity>div{display:grid;grid-template-columns:minmax(140px,.42fr) minmax(0,1fr);gap:18px;align-items:baseline;}
.commercial-request-identity span{color:var(--muted);font-weight:650;}
.commercial-request-identity strong{color:var(--text);font-weight:800;overflow-wrap:anywhere;}
.commercial-request-form-card .account-form{display:grid;gap:18px;}
.commercial-request-form-card .account-form label{display:grid;gap:9px;font-weight:750;}
.commercial-request-form-card textarea{width:100%;min-height:180px;padding:16px 18px;border:1px solid var(--line-strong,var(--line));border-radius:12px;background:var(--surface);color:var(--text);font:inherit;line-height:1.55;resize:vertical;}
.commercial-request-form-card textarea::placeholder{color:var(--muted);font-weight:500;opacity:.86;}
.commercial-request-form-card textarea:focus-visible{outline:3px solid var(--blue-2);outline-offset:2px;}
@media(max-width:900px){.commercial-request-layout{grid-template-columns:1fr}.commercial-request-page{width:min(100% - 28px,1180px);padding-top:36px}.commercial-request-identity>div{grid-template-columns:1fr;gap:4px}}

/* v3.14.0 learner-support integrity: preserve the canonical shell while making
   assigned curriculum targets clearly actionable and keyboard-visible. */
.network-learning-link { margin-top: 12px; display: inline-flex; align-items: center; gap: 8px; }
.guided-exercise-summary { margin-top: 10px; }
.guided-exercise-summary ul { margin: 8px 0 12px; padding-left: 1.4rem; }
.assigned-learning-target { outline: 3px solid var(--blue-2); outline-offset: 4px; scroll-margin-top: calc(var(--header-h) + 24px); }

/* v3.14.0 additive Manager-access separation: preserve the canonical shell while
   keeping private platform authentication visibly distinct from learner/customer access. */
.manager-auth-canvas{display:grid;place-items:center;min-height:calc(100vh - var(--header-h));}
.manager-login-card{position:relative;z-index:1;width:min(760px,100%);padding:48px 52px;border-top:4px solid var(--blue);}
.manager-login-card h1{font-size:clamp(42px,4vw,62px);line-height:1.04;margin:8px 0 16px;}
.manager-security-boundary{margin-top:28px;padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--surface-2);}
.manager-security-boundary strong{display:block;font-size:22px;margin-bottom:8px;}
.manager-security-boundary p,.manager-security-boundary small{display:block;line-height:1.6;color:var(--muted);}
.manager-auth-nav-label{display:flex;flex-direction:column;gap:2px;min-width:260px;}
.manager-auth-nav-label strong{font-size:20px;}
.manager-auth-nav-label span{color:var(--muted);font-size:18px;}
.manager-auth-brand{cursor:default;text-decoration:none;}
@media (max-width:760px){.manager-login-card{padding:30px 22px}.manager-auth-nav-label span{display:none}}

/* v3.14.0 Stripe Payment Links: additive pricing actions; no card data enters TERA. */
.pricing-payment-actions{display:grid;gap:12px;align-self:end;}
.pricing-payment-actions .pricing-cta{width:100%;}
.pricing-payment-note{margin:10px 0 0;color:var(--muted);font-size:max(18px,1rem);line-height:1.55;}
.pricing-stripe-cta{font-weight:800;}

/* v3.14.0 Integrity pass: Light theme never uses dark/navy content panels. */
html[data-theme="light"] .discovery-doctrine{
  background:linear-gradient(145deg,#ffffff,#eef5ff);
  color:var(--ink);
  border-color:#a9c7ff;
  box-shadow:0 20px 50px rgba(19,57,112,.08);
}
html[data-theme="light"] .discovery-doctrine .eyebrow{color:var(--blue-2);}
html[data-theme="light"] .discovery-doctrine h2{color:var(--ink);}
html[data-theme="light"] .discovery-doctrine>strong{color:#9a6a00;}
html[data-theme="light"] .discovery-doctrine p{color:var(--muted);}
html[data-theme="light"] .discovery-ai-state{
  background:linear-gradient(135deg,#f7fbff,#fff8df);
  color:var(--ink);
  border-color:#b9d2ff;
}
html[data-theme="light"] .discovery-evidence{
  background:linear-gradient(135deg,#ffffff,#eef5ff 62%,#fff8df);
  color:var(--ink);
  border:1px solid #b9d2ff;
}
html[data-theme="light"] .discovery-evidence h2{color:var(--ink);}
html[data-theme="light"] .discovery-evidence p{color:var(--muted);}
html[data-theme="light"] .discovery-evidence-question{
  background:#ffffff;
  border-color:#b9d2ff;
  color:var(--ink);
}
html[data-theme="light"] .discovery-evidence-question strong{color:#9a6a00;}

/* v3.14.0 Preview Hook: five existing TERA exercises, additive to the bounded 5-minute Preview. */
.preview-challenge-showcase{
  margin:34px 0 28px;
  padding:30px;
  border:1px solid #b7cceb;
  border-radius:24px;
  background:linear-gradient(135deg,#ffffff 0%,#f4f8ff 68%,#fff8df 100%);
  box-shadow:0 18px 44px rgba(31,91,179,.08);
}
.preview-challenge-heading{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:22px;align-items:stretch;margin-bottom:22px;}
.preview-challenge-heading h2{margin:5px 0 10px;font-size:clamp(32px,3vw,46px);line-height:1.08;color:var(--ink);}
.preview-challenge-heading p{margin:0;color:var(--muted);font-size:19px;line-height:1.65;}
.preview-challenge-heading aside{display:grid;align-content:center;gap:9px;padding:20px;border:1px solid #e2c66e;border-radius:16px;background:#fff8df;color:var(--ink);}
.preview-challenge-heading aside strong{font-size:21px;color:#815800;}
.preview-challenge-heading aside span{font-size:18px;line-height:1.5;color:var(--muted);}
.preview-expired-notice{display:grid;gap:5px;margin:0 0 20px;padding:16px 18px;border:1px solid #d8b34d;border-radius:14px;background:#fff8df;color:var(--ink);}
.preview-expired-notice[hidden]{display:none;}
.preview-expired-notice strong{font-size:20px;color:#755000;}
.preview-expired-notice span{font-size:18px;line-height:1.5;color:var(--muted);}
.preview-dev-reset{margin-top:8px;width:100%;font-size:18px;}
.preview-challenge-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:stretch;}
.preview-challenge-card{display:flex;flex-direction:column;min-width:0;padding:18px;border:1px solid #c8d7eb;border-radius:18px;background:#fff;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;}
.preview-challenge-card:hover{transform:translateY(-2px);border-color:#7ca6e4;box-shadow:0 12px 28px rgba(35,91,174,.09);}
.preview-challenge-card.is-active{border-color:#2161e8;box-shadow:0 0 0 2px rgba(33,97,232,.12);}
.preview-challenge-card.is-verified{border-color:#d2a01d;background:linear-gradient(180deg,#fff 0%,#fffbeb 100%);}
.preview-challenge-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;}
.preview-challenge-number{font-weight:950;letter-spacing:.12em;color:var(--blue-2);font-size:18px;}
.preview-challenge-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#edf4ff;color:#1c5fe4;}
.preview-challenge-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;}
.preview-challenge-domain{margin:0 0 5px!important;color:#1b56c8!important;font-weight:900;font-size:18px!important;}
.preview-challenge-card h3{margin:0 0 12px;font-size:22px;line-height:1.2;color:var(--ink);}
.preview-challenge-question{font-size:18px;line-height:1.55;color:var(--text);flex:1;}
.preview-challenge-question p{margin:0;}
.preview-challenge-card-footer{display:grid;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line);}
.preview-challenge-card-footer>span{font-size:18px;color:var(--muted);font-weight:700;min-height:42px;}
.preview-challenge-card.is-verified .preview-challenge-card-footer>span{color:#7a5700;}
.preview-challenge-card-footer .button{width:100%;justify-content:center;min-height:48px;}
.preview-challenge-card-footer .button svg{width:20px;height:20px;}
.preview-challenge-card-footer .button:disabled{opacity:.62;cursor:not-allowed;}
.preview-challenge-workspace{margin-top:20px;padding:26px;border:2px solid #2d69e8;border-radius:20px;background:#f8fbff;scroll-margin-top:110px;}
.preview-challenge-workspace-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid #c8d7eb;}
.preview-challenge-workspace-head>div{display:grid;gap:4px;}
.preview-challenge-workspace-head span{font-size:18px;font-weight:950;color:var(--blue-2);letter-spacing:.08em;text-transform:uppercase;}
.preview-challenge-workspace-head p{margin:0;font-size:22px;font-weight:900;color:var(--ink);}
.preview-challenge-workspace-head>strong{padding:8px 11px;border-radius:999px;background:#fff3c7;color:#745000;border:1px solid #e3c767;font-size:18px;}
.preview-challenge-problem{padding:22px;border:1px solid #c8d7eb;border-radius:16px;background:#fff;font-size:22px;line-height:1.6;color:var(--ink);}
.preview-challenge-problem p{margin:0;}
.preview-challenge-answer-label{display:grid;gap:8px;margin-top:18px;font-size:18px;font-weight:850;color:var(--ink);}
.preview-challenge-answer-label input{width:100%;min-height:50px;}
.preview-challenge-workspace .problem-actions{margin-top:14px;}
.preview-challenge-status{min-height:30px;margin:12px 0 0;font-size:18px;font-weight:750;color:var(--muted);}
.preview-challenge-status.is-correct{color:#1858c8;}
html[data-theme="dark"] .preview-challenge-showcase{background:linear-gradient(135deg,#10233d,#132a49);border-color:#45678d;box-shadow:none;}
html[data-theme="dark"] .preview-challenge-heading h2,html[data-theme="dark"] .preview-challenge-card h3,html[data-theme="dark"] .preview-challenge-workspace-head p{color:#f7faff;}
html[data-theme="dark"] .preview-challenge-heading p,html[data-theme="dark"] .preview-challenge-heading aside span{color:#d8e5f6;}
html[data-theme="dark"] .preview-challenge-heading aside{background:#243a58;border-color:#6e6a42;color:#f7faff;}
html[data-theme="dark"] .preview-challenge-heading aside strong{color:#f4ca65;}
html[data-theme="dark"] .preview-expired-notice{background:#342f21;border-color:#7b6b38;color:#f7faff;}
html[data-theme="dark"] .preview-expired-notice strong{color:#f4cf75;}
html[data-theme="dark"] .preview-expired-notice span{color:#e5edf7;}
html[data-theme="dark"] .preview-challenge-card{background:#152a47;border-color:#496887;}
html[data-theme="dark"] .preview-challenge-card.is-verified{background:linear-gradient(180deg,#152a47,#2b3042);border-color:#b7902f;}
html[data-theme="dark"] .preview-challenge-icon{background:#1b3b67;color:#83b5ff;}
html[data-theme="dark"] .preview-challenge-domain{color:#8bbaff!important;}
html[data-theme="dark"] .preview-challenge-question{color:#edf4ff;}
html[data-theme="dark"] .preview-challenge-workspace{background:#112642;border-color:#6d9df1;}
html[data-theme="dark"] .preview-challenge-workspace-head{border-color:#45688f;}
html[data-theme="dark"] .preview-challenge-workspace-head>strong{background:#3a3424;border-color:#766630;color:#f4cf75;}
html[data-theme="dark"] .preview-challenge-problem{background:#152a47;border-color:#496887;color:#f5f8ff;}
@media(max-width:1380px){.preview-challenge-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:980px){.preview-challenge-heading{grid-template-columns:1fr;}.preview-challenge-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.preview-challenge-workspace-head{display:grid;}}
@media(max-width:640px){.preview-challenge-showcase{padding:22px 16px;}.preview-challenge-grid{grid-template-columns:1fr;}.preview-challenge-workspace{padding:20px 15px;}.preview-challenge-problem{padding:18px;}.preview-challenge-workspace .problem-actions{display:grid;grid-template-columns:1fr;}.preview-challenge-workspace .problem-actions .button{width:100%;}}

/* v3.14.0 Teacher Command Center: additive role tooling, no curriculum redesign. */
.teacher-command-center{display:grid;gap:18px;}
.teacher-command-hero{margin-bottom:0;}
.teacher-command-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin:0;}
.teacher-command-center .portal-panel{min-width:0;}
.teacher-empty-state{padding:18px;border:1px dashed var(--line);border-radius:14px;background:var(--surface-blue);}
.teacher-empty-state strong{display:block;color:var(--ink);margin-bottom:6px;}
.teacher-empty-state p{margin:0;color:var(--muted);}
.teacher-roster-list{display:grid;gap:8px;margin-top:14px;}
.teacher-roster-list>article{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);}
.teacher-roster-list>article>div{display:grid;gap:4px;}
.teacher-roster-list>article>div:last-child{text-align:right;}
.teacher-status-pill{display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%;padding:5px 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface-blue);font-weight:800;}
.teacher-status-pill.attention-needs_attention{border-color:#c88700;background:color-mix(in srgb,var(--gold) 18%,var(--surface));}
.teacher-status-pill.attention-on_track{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 9%,var(--surface));}
.teacher-status-pill.attention-no_recent_evidence{background:var(--surface);}
.teacher-action-list{display:grid;gap:8px;}
.teacher-action-list button{display:flex;justify-content:space-between;gap:18px;align-items:center;width:100%;padding:14px;text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);cursor:pointer;}
.teacher-action-list button:hover,.teacher-action-list button:focus-visible{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 14%,transparent);}
.teacher-action-list button span:first-child{display:grid;gap:3px;}
.teacher-action-list small{color:var(--muted);}
.teacher-access-note,.teacher-rule-note{padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:var(--surface-blue);color:var(--muted);}
.teacher-access-note.allowed{border-color:var(--blue);color:var(--ink);}
.teacher-access-note.blocked{border-color:#c88700;background:color-mix(in srgb,var(--gold) 14%,var(--surface));color:var(--ink);}
.teacher-date-time-row,.teacher-three-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.teacher-three-col{grid-template-columns:repeat(3,minmax(0,1fr));}
.teacher-command-center textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit;}
.teacher-assessment-builder fieldset,.teacher-command-center fieldset{min-width:0;border:1px solid var(--line);border-radius:12px;padding:12px;}
.teacher-assessment-builder legend,.teacher-command-center legend{padding:0 6px;font-weight:800;}
.teacher-card-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;}
.teacher-assessment-cards .action-row{flex-wrap:wrap;margin-top:12px;}
.teacher-invite-history{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);}
.teacher-invite-history p{display:grid;gap:2px;margin:8px 0;}
.teacher-invite-history span{color:var(--muted);}
.teacher-live-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px;}
.teacher-live-summary span{display:grid;gap:2px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-blue);}
.teacher-live-summary strong{font-size:28px;}
.teacher-live-table{display:grid;gap:8px;}
.teacher-live-table>article{display:grid;grid-template-columns:minmax(160px,1fr) minmax(180px,1fr) minmax(220px,.8fr);gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);}
.teacher-live-table>article>div{display:grid;gap:3px;}
.teacher-accommodation{display:grid;grid-template-columns:1fr auto!important;gap:8px!important;align-items:end;}
.teacher-accommodation label{display:grid;gap:4px;}
.teacher-accommodation input{min-height:44px;width:100%;}
.teacher-evaluation-editor{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);}
.teacher-mastery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.teacher-mastery-grid article{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);}
.teacher-mastery-grid article>strong,.teacher-mastery-grid article>span{display:block;margin-bottom:6px;}
.teacher-mastery-grid dl{display:grid;gap:4px;margin:10px 0;}
.teacher-mastery-grid dl div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:5px 0;}
.teacher-mastery-grid dd{margin:0;}
.teacher-toolbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;}
.teacher-toolbox-grid a{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-blue);font-weight:800;text-decoration:none;}
.teacher-toolbox-grid a:hover,.teacher-toolbox-grid a:focus-visible{border-color:var(--blue);}

/* Dedicated learner assessment runner. Teacher conditions are enforced in this surface. */
.assessment-runner{display:grid;gap:18px;}
.assessment-runner-head{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:18px;align-items:start;}
.assessment-runner-head h1{margin:4px 0 10px;font-size:clamp(38px,4vw,58px);}
.assessment-condition-card,.assessment-instructions,.assessment-teacher-evaluation{display:grid;gap:8px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface-blue);}
.assessment-condition-card span{display:block;}
.assessment-state-bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);}
.assessment-question-list{display:grid;gap:14px;}
.assessment-question{padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--surface);}
.assessment-question-number{font-weight:850;color:var(--blue);letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px;}
.assessment-question-text{font-size:20px;line-height:1.6;color:var(--ink);}
.assessment-answer-label{display:grid;gap:7px;margin:16px 0;font-weight:800;}
.assessment-answer-label input{min-height:50px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font-size:18px;}
.assessment-choice-list{display:grid;gap:8px;margin:14px 0;}
.assessment-choice-list label{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-blue);}
.assessment-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.assessment-feedback,.assessment-hint{margin-top:10px;padding:10px 12px;border-radius:10px;}
.assessment-feedback:empty,.assessment-hint:empty{display:none;}
.assessment-feedback.correct{border:1px solid var(--blue);background:color-mix(in srgb,var(--blue) 8%,var(--surface));}
.assessment-feedback.incorrect{border:1px solid #c88700;background:color-mix(in srgb,var(--gold) 14%,var(--surface));}
.assessment-hint{border:1px solid var(--line);background:var(--surface-blue);}
.assessment-solution{margin-top:14px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-blue);}
.assessment-solution summary{cursor:pointer;font-weight:850;}
.student-assessment-evaluation{margin-top:12px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-blue);}

@media(max-width:1200px){.teacher-command-stats{grid-template-columns:repeat(2,minmax(0,1fr));}.teacher-live-table>article{grid-template-columns:1fr 1fr;}.teacher-accommodation{grid-column:1/-1;}.assessment-runner-head{grid-template-columns:1fr;}}
@media(max-width:800px){.teacher-command-stats,.teacher-three-col,.teacher-date-time-row,.teacher-mastery-grid,.teacher-toolbox-grid,.teacher-live-summary{grid-template-columns:1fr;}.teacher-roster-list>article,.teacher-card-heading{display:grid;}.teacher-roster-list>article>div:last-child{text-align:left;}.teacher-live-table>article{grid-template-columns:1fr;}}

/* v3.14.0 Teacher Command Center: live classroom pulse is evidence-based, not surveillance. */
.teacher-live-refresh-note{display:flex;flex-direction:column;gap:.3rem;padding:.8rem 1rem;margin-bottom:.9rem;border:1px solid var(--border);border-left:4px solid var(--blue);border-radius:14px;background:var(--surface-blue);color:var(--text)}
.teacher-live-refresh-note span{color:var(--muted)}
.teacher-role-quick-actions{display:grid;gap:.55rem}
.teacher-role-quick-actions a{display:grid;grid-template-columns:28px 1fr;align-items:center;gap:.65rem;min-height:46px;padding:.65rem .7rem;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);font-weight:800;text-decoration:none}
.teacher-role-quick-actions a:hover,.teacher-role-quick-actions a:focus-visible{border-color:var(--blue);background:var(--surface-blue)}
.teacher-role-quick-actions svg{width:23px;height:23px;stroke:var(--blue);fill:none;stroke-width:1.8}

/* v3.14.0 School Administrator Command Center */
.school-command-center{display:grid;gap:18px;}
.school-command-hero{margin-bottom:0;}
.school-command-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin:0;}
.school-command-center .portal-panel{min-width:0;}
.school-empty-state,.school-good-state{display:grid;gap:6px;padding:16px;border:1px solid var(--line);border-radius:13px;background:var(--surface-blue);}
.school-good-state{border-left:4px solid var(--blue);}
.school-people-grid,.school-class-grid,.school-assessment-list,.school-audit-list,.school-attention-list{display:grid;gap:10px;margin-top:14px;}
.school-people-grid article,.school-class-grid article,.school-assessment-list article,.school-audit-list article,.school-attention-list article{padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--surface);}
.school-person-main{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;}
.school-person-main span,.school-person-meta,.school-audit-list span,.school-audit-list small{color:var(--muted);}
.school-class-grid article{display:grid;gap:10px;}
.school-class-grid article>div:first-child{display:flex;justify-content:space-between;gap:12px;}
.school-class-grid dl,.school-assessment-list dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;}
.school-class-grid dl div,.school-assessment-list dl div{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-blue);}
.school-class-grid dd,.school-assessment-list dd{margin:0;font-weight:800;}
.school-learning-pulse{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;}
.school-learning-pulse article{display:grid;gap:5px;padding:16px;border:1px solid var(--line);border-radius:13px;background:var(--surface-blue);}
.school-learning-pulse strong{font-size:clamp(28px,3vw,40px);line-height:1;}
.school-learning-pulse small{color:var(--muted);}
.school-attention-list article{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;}
.school-attention-list strong{display:grid;place-items:center;min-width:44px;min-height:44px;border-radius:12px;background:color-mix(in srgb,var(--gold) 20%,var(--surface));font-size:24px;}
.school-assessment-list article{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);gap:14px;align-items:start;}
.school-assessment-list article>div:first-child{display:grid;gap:4px;}
.school-assessment-list article>div:first-child span{color:var(--muted);}
.school-authority-list{display:grid;gap:10px;padding-left:22px;}
.school-authority-list li{line-height:1.55;}
.school-toolbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;}
.school-toolbox-grid a{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-blue);font-weight:800;text-decoration:none;}
.school-toolbox-grid a:hover,.school-toolbox-grid a:focus-visible{border-color:var(--blue);}
.school-command-center .consent-line{align-items:flex-start;}
.school-command-center .consent-line input{margin-top:5px;}
@media(max-width:1200px){.school-command-stats{grid-template-columns:repeat(2,minmax(0,1fr));}.school-assessment-list article{grid-template-columns:1fr;}}
@media(max-width:800px){.school-command-stats,.school-learning-pulse,.school-class-grid dl,.school-assessment-list dl,.school-toolbox-grid{grid-template-columns:1fr;}.school-person-main,.school-class-grid article>div:first-child{display:grid;}}


/* v3.14.0 Parent Support Center + 5-minute Preview challenge refinement */
.parent-support-center{padding-bottom:96px;}
.parent-support-center .portal-panel{min-width:0;}
.parent-support-hero{margin-bottom:18px;}
.parent-onboarding-state{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 26px;margin:0 0 24px;border:1px solid #9dbcf2;border-left:5px solid #2363e7;border-radius:18px;background:linear-gradient(135deg,#ffffff 0%,#eef5ff 72%,#fff8dc 100%);}
.parent-onboarding-state[hidden]{display:none!important;}
.parent-onboarding-state h2{margin:4px 0 8px;font-size:30px;}
.parent-onboarding-state p{margin:0;max-width:880px;color:var(--muted);}
.parent-summary-grid .portal-stat-card{min-height:128px;display:flex;flex-direction:column;justify-content:center;}
.parent-summary-grid .portal-stat-card strong{font-size:clamp(22px,2vw,30px);line-height:1.15;overflow-wrap:anywhere;}
.parent-priority-row{margin-top:0;}
.parent-today-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.parent-today-grid>div{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-blue);}
.parent-today-grid span{display:block;color:var(--muted);font-weight:800;margin-bottom:5px;}
.parent-today-grid strong{display:block;font-size:20px;line-height:1.35;color:var(--ink);}
.parent-recognition-list>strong,.parent-progress-summary>strong,.parent-focus-callout>strong,.parent-positive-state>strong{display:block;font-size:22px;color:var(--ink);margin-bottom:8px;}
.parent-recognition-list p{margin:7px 0;padding:10px 12px;border-left:3px solid #e6b72e;background:#fff9e8;color:var(--ink);border-radius:0 10px 10px 0;}
.parent-learner-select{display:grid;gap:8px;margin-bottom:14px;font-weight:850;}
.parent-learner-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.parent-learner-card{display:flex;align-items:center;gap:12px;width:100%;padding:14px;text-align:left;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);cursor:pointer;}
.parent-learner-card:hover,.parent-learner-card.active{border-color:#3976eb;background:var(--surface-blue);box-shadow:0 0 0 2px rgba(35,99,231,.08);}
.parent-learner-avatar{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:#2363e7;color:#fff;font-weight:950;font-size:19px;}
.parent-learner-card strong,.parent-learner-card small{display:block;}
.parent-learner-card small{margin-top:3px;color:var(--muted);font-size:18px;}
.parent-empty-state{display:grid;gap:10px;padding:20px;border:1px dashed #9dbcf2;border-radius:14px;background:#f8fbff;}
.parent-empty-state.compact{padding:16px;}
.parent-empty-state strong{font-size:21px;color:var(--ink);}
.parent-empty-state p{margin:0;}
.parent-week-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px;}
.parent-week-summary>div{padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--surface-blue);}
.parent-week-summary strong{display:block;font-size:28px;color:var(--blue-2);}
.parent-week-summary span{display:block;color:var(--muted);font-weight:750;}
.parent-progress-summary{padding:18px;border:1px solid #bcd0ef;border-radius:15px;background:linear-gradient(135deg,#f7fbff,#fffdf4);}
.parent-progress-summary p,.parent-progress-summary small{color:var(--muted);}
.parent-focus-callout{padding:18px;border:1px solid #d9c375;border-radius:15px;background:#fff9e7;}
.parent-focus-callout ul{margin-bottom:0;}
.parent-positive-state{padding:18px;border:1px solid #a9c6f2;border-radius:15px;background:#f3f8ff;}
.parent-assessment-result{margin-top:10px;padding:12px;border:1px solid #b8cdf0;border-radius:12px;background:var(--surface-blue);}
.parent-assessment-result>strong,.parent-assessment-result>span{display:block;}
.parent-assessment-result>span{font-size:26px;font-weight:950;color:var(--blue-2);margin:4px 0;}
.parent-support-principles ul,.parent-boundary-grid{margin-bottom:0;}
.parent-boundary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;}
.parent-boundary-grid span{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-blue);font-weight:750;}
.parent-toolbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.parent-toolbox-grid article{padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--surface-blue);}
.parent-toolbox-grid strong{font-size:19px;color:var(--ink);}
.parent-toolbox-grid p{margin:6px 0 0;}
[data-parent-requires-learner].is-disabled{opacity:.72;}
[data-parent-requires-learner].is-disabled::after{content:"";}
body[data-page="parent"] .role-boundary-note p{margin-bottom:0;}
html[data-theme="dark"] .parent-onboarding-state{background:linear-gradient(135deg,#142a48,#173456 72%,#3a3424);border-color:#55759b;border-left-color:#78a7ff;}
html[data-theme="dark"] .parent-recognition-list p{background:#342f21;border-left-color:#e4bd52;color:#f4f7fb;}
html[data-theme="dark"] .parent-empty-state,html[data-theme="dark"] .parent-progress-summary,html[data-theme="dark"] .parent-positive-state{background:#132945;border-color:#4d7096;}
html[data-theme="dark"] .parent-focus-callout{background:#342f21;border-color:#7b6b38;}

/* The anonymous Preview challenge row is a focused five-minute academic experience. */
.preview-challenge-showcase{border-width:1px;border-top:4px solid #2363e7;background:linear-gradient(145deg,#ffffff 0%,#f6faff 76%,#fff7d8 100%);}
.preview-challenge-heading{margin-bottom:26px;}
.preview-challenge-heading aside{box-shadow:0 8px 22px rgba(119,85,0,.06);}
.preview-challenge-grid{gap:14px;}
.preview-challenge-card{position:relative;overflow:hidden;padding:20px;box-shadow:0 9px 24px rgba(22,63,125,.055);}
.preview-challenge-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#2363e7 0 76%,#f0c23f 76% 100%);}
.preview-challenge-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(35,91,174,.11);}
.preview-challenge-domain{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:4px 8px;border-radius:999px;background:#edf4ff;color:#174fae!important;font-size:18px!important;letter-spacing:.02em;}
.preview-challenge-question{font-size:19px;line-height:1.6;}
.preview-challenge-card-footer>span{min-height:auto;font-size:18px;letter-spacing:.01em;}
.preview-challenge-card-footer .button{background:#215ee0;border-color:#215ee0;color:#fff;font-weight:900;}
.preview-challenge-card-footer .button:hover{background:#174dbd;border-color:#174dbd;}
.preview-challenge-card.is-verified .preview-challenge-card-footer .button{background:#f2c64f;border-color:#d9ad31;color:#17233a;}
html[data-theme="dark"] .preview-challenge-showcase{border-top-color:#78a7ff;background:linear-gradient(135deg,#10233d,#132a49);}
html[data-theme="dark"] .preview-challenge-card::before{background:linear-gradient(90deg,#78a7ff 0 76%,#f0c756 76% 100%);}
html[data-theme="dark"] .preview-challenge-domain{background:#1c3c67;color:#a9c9ff!important;}
html[data-theme="dark"] .preview-challenge-card-footer .button{background:#2f70ec;border-color:#5a8ff1;color:#fff;}
html[data-theme="dark"] .preview-challenge-card.is-verified .preview-challenge-card-footer .button{background:#e9bd4d;border-color:#f0cf75;color:#182338;}
@media(max-width:1100px){.parent-today-grid,.parent-toolbox-grid,.parent-boundary-grid{grid-template-columns:1fr;}.parent-week-summary{grid-template-columns:1fr 1fr;}}
@media(max-width:700px){.parent-onboarding-state{display:grid;}.parent-learner-cards,.parent-week-summary{grid-template-columns:1fr;}}

/* v3.17.0 Manager commercial communication route hotfix. */
#manager-commercial-requests .manager-target-request{outline:3px solid var(--blue-2);outline-offset:3px;}

/* v3.17.0 additive customer-journey controls. */
.discovery-offer-banner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;margin:0 0 24px;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-soft);font-size:18px;}
.discovery-offer-copy{display:grid;gap:10px;}
.discovery-offer-copy h2{margin:0;font-size:clamp(1.5rem,2.3vw,2rem);}
.discovery-offer-copy p,.discovery-offer-copy small,.discovery-offer-actions{font-size:18px;line-height:1.55;}
.discovery-offer-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;max-width:520px;}
.discovery-offer-actions .auth-status{flex-basis:100%;margin:0;}
.discovery-request-queue{margin:22px 0;}
.discovery-request-list article{display:grid;gap:10px;}
.commercial-payment-authority{display:grid;gap:6px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);font-size:18px;line-height:1.5;}
@media (max-width:860px){.discovery-offer-banner{grid-template-columns:1fr}.discovery-offer-actions{max-width:none;}}


/* v3.18.0 UI operations refinement: preserve the canonical shell, remove dead space,
   and make support state readable without altering core mathematics. */
.manager-person-row>span:nth-child(3){display:grid;gap:3px;min-width:0;}
.manager-person-row>span:nth-child(3) small{font-size:18px!important;color:var(--muted);font-weight:650;}
.manager-person-conversation{margin:18px 0;display:grid;gap:10px;}
.manager-person-conversation h4{margin:0;font-size:22px;}
.manager-thread{display:grid;gap:10px;max-height:420px;overflow:auto;padding:4px;}
.manager-thread article{display:grid;gap:5px;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:var(--surface);}
.manager-thread article.manager-thread-in{border-left:4px solid var(--blue-2);}
.manager-thread article.manager-thread-out{border-left:4px solid var(--gold);}
.manager-thread article small{font-size:18px!important;color:var(--muted);}
.manager-thread article p{margin:2px 0 0;white-space:pre-wrap;}
.manager-inbox-list article p{margin:6px 0;white-space:pre-wrap;}
.manager-message-unread{border-left:5px solid var(--blue-2)!important;background:var(--surface-blue)!important;}
#verify-email-support{margin-top:18px;border-top:1px solid var(--line);padding-top:14px;}
#verify-email-support>summary{cursor:pointer;font-weight:850;font-size:18px;}
#verify-email-support .account-form{margin-top:14px;}
@media(max-width:1180px){
  .pricing-access-ladder{grid-template-columns:1fr auto 1fr!important;}
  .pricing-access-ladder>b:nth-of-type(2){display:none;}
  .pricing-access-ladder article:nth-of-type(3){grid-column:1;}
  .pricing-access-ladder article:nth-of-type(4){grid-column:3;}
}
@media(max-width:820px){
  .pricing-access-ladder{grid-template-columns:1fr!important;}
  .pricing-access-ladder>b{display:block!important;transform:rotate(90deg);justify-self:center;}
  .pricing-access-ladder article:nth-of-type(3),.pricing-access-ladder article:nth-of-type(4){grid-column:auto;}
}

/* =============================================================
   TERA Math 12 v3.18.1 · Mobile readiness hardening
   UI/template only. Core mathematics and deterministic checking remain unchanged.
   ============================================================= */
@media (max-width:760px){
  html,body{max-width:100%;overflow-x:clip;}
  body{min-width:0;}
  #site-header{position:relative!important;top:auto!important;}
  .tera-retained-header .brand-tier-inner{min-width:0!important;gap:10px!important;padding-left:max(12px,env(safe-area-inset-left))!important;padding-right:max(12px,env(safe-area-inset-right))!important;}
  .tera-retained-header .corporate-brand,.tera-retained-header .corporate-copy{min-width:0!important;}
  .tera-retained-header .corporate-copy strong{max-width:58vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .portal-switch-tier{overflow:hidden;}
  .portal-switch-inner{display:block!important;padding-inline:8px!important;}
  .portal-links{display:flex!important;justify-content:flex-start!important;gap:4px!important;overflow-x:auto!important;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:thin;padding:3px 2px;}
  .portal-switch-link{flex:0 0 auto;min-height:48px!important;scroll-snap-align:start;}
  .tera-retained-nav .product-nav-inner{min-width:0!important;gap:8px!important;padding-left:max(10px,env(safe-area-inset-left))!important;padding-right:max(10px,env(safe-area-inset-right))!important;}
  .product-mobile-menu,.product-mobile-tools{min-width:48px!important;min-height:48px!important;}
  .product-nav-actions{min-width:0!important;gap:6px!important;}
  .segmented-control.refined-setting button,.language-toggle.refined-setting button{min-height:44px!important;min-width:44px!important;padding:7px 9px!important;}
  #sidebar,#study-tools{top:0!important;bottom:0!important;height:100dvh!important;max-height:100dvh!important;width:min(92vw,380px)!important;z-index:610!important;padding-top:max(12px,env(safe-area-inset-top))!important;padding-bottom:max(90px,calc(20px + env(safe-area-inset-bottom)))!important;overflow-y:auto!important;}
  #shell-overlay{inset:0!important;z-index:600!important;}
  .drawer-close{display:grid!important;place-items:center;min-width:48px!important;min-height:48px!important;}
  #main,.home-shell #main,.route-page,.portal-panel,.account-card,.pricing-card,.commercial-request-layout>*{min-width:0!important;}
  body:not([data-page="manager"]) .route-page{width:min(100% - 20px,1680px);}
  .page-history-controls{width:calc(100% - 20px)!important;overflow-x:auto;overscroll-behavior-inline:contain;padding-bottom:2px;}
  .page-history-controls button{flex:0 0 auto;min-height:48px!important;}
  .lesson-tabs-wrap{top:0!important;}
  .action-row{grid-template-columns:1fr!important;align-items:stretch!important;}
  .action-row>.button,.action-row>button,.action-row>a.button{width:100%!important;min-height:48px!important;}
  .button,a.button{min-height:48px;justify-content:center;}
  input:not([type="checkbox"]):not([type="radio"]),select,textarea{max-width:100%;min-height:48px;}
  textarea{min-height:120px;}
  table{display:block;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;}
  pre{max-width:100%;overflow-x:auto;}
  img,svg,canvas,video{max-width:100%;}
  .pricing-access-ladder{grid-template-columns:1fr!important;gap:10px!important;}
  .pricing-access-ladder article{width:100%;min-width:0;}
  .pricing-access-ladder>b{display:block!important;transform:rotate(90deg)!important;justify-self:center!important;line-height:1;}
  .pricing-grid-students,.pricing-grid-education{grid-template-columns:1fr!important;}
  .commercial-request-page{width:min(100% - 20px,1180px)!important;padding:24px 0 60px!important;}
  .commercial-request-layout{grid-template-columns:1fr!important;gap:16px!important;}
  .commercial-request-identity>div{grid-template-columns:1fr!important;gap:3px!important;}
  .manager-person-row{grid-template-columns:1fr!important;gap:8px!important;padding:16px!important;}
  .manager-person-row>span{min-width:0;overflow-wrap:anywhere;}
  .manager-person-head{display:grid!important;grid-template-columns:1fr!important;}
  .manager-person-head .button{width:100%;}
  .manager-thread{max-height:none!important;overflow:visible!important;padding:0!important;}
  .manager-thread article,.manager-inbox-list article{min-width:0;overflow-wrap:anywhere;}
  .manager-communications-panel .portal-stat-grid.compact{grid-template-columns:1fr 1fr!important;}
  .manager-more-panel,.manager-account-panel{position:fixed!important;left:10px!important;right:10px!important;top:max(10px,env(safe-area-inset-top))!important;width:auto!important;min-width:0!important;max-height:calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;overflow-y:auto!important;grid-template-columns:1fr!important;}
  .registration-benefits>div{grid-template-columns:52px minmax(0,1fr)!important;gap:12px!important;}
  .registration-benefits>div>svg{width:48px!important;height:48px!important;padding:11px!important;}
  .canonical-footer-main,.canonical-footer-bottom{padding-left:max(18px,env(safe-area-inset-left))!important;padding-right:max(18px,env(safe-area-inset-right))!important;}
  #mobile-bottom-nav{height:calc(70px + env(safe-area-inset-bottom))!important;}
  #mobile-bottom-nav a,#mobile-bottom-nav button{min-height:48px!important;}
  #site-footer{margin-bottom:calc(70px + env(safe-area-inset-bottom));}
}

@media (max-width:480px){
  :root{--brand-tier-h:68px;--portal-tier-h:54px;--nav-tier-h:52px;}
  .tera-retained-header .brand-tier-inner{min-height:68px!important;}
  .tera-retained-header .corporate-mark{width:44px!important;height:44px!important;flex-basis:44px!important;}
  .tera-retained-header .corporate-copy strong{font-size:18px!important;max-width:62vw;}
  .tera-retained-header .corporate-copy small{display:none!important;}
  .portal-switch-link{padding:6px 10px!important;}
  .tera-retained-nav .product-wordmark{display:none!important;}
  .tera-retained-nav .product-nav-actions{margin-left:auto!important;}
  .manager-communications-panel .portal-stat-grid.compact,.portal-stat-grid.compact{grid-template-columns:1fr!important;}
  .canonical-login-card,.canonical-register-card,.auth-card-single,.registration-benefits,.portal-panel{padding-left:18px!important;padding-right:18px!important;}
  .canonical-login-card h1,.canonical-register-card h1,.auth-card-single h1{font-size:clamp(34px,10.5vw,42px)!important;overflow-wrap:anywhere;}
  .pricing-hero-v37 h1{font-size:clamp(36px,11vw,44px)!important;}
  .pricing-card,.pricing-access-ladder article{padding:18px!important;}
}

/* =============================================================
   TERA Math 12 v3.19.0 · Governed curriculum and platform oversight
   Operational/content UI only. Deterministic checker remains unchanged.
   ============================================================= */
.profile-support-center{display:grid;gap:20px;}
.profile-support-compose,.profile-learning-reminders{border:1px solid var(--line,#d8e2ef);border-radius:18px;background:var(--surface,#fff);padding:20px;}
.profile-support-compose h3{margin:.25rem 0 .5rem;}
.profile-support-compose .portal-form{display:grid;gap:14px;margin-top:14px;}
.profile-support-compose label{display:grid;gap:7px;font-weight:700;}
.profile-learning-reminders summary{cursor:pointer;font-weight:800;}
.auth-status.is-success{color:#176b3a;}
[data-theme="dark"] .auth-status.is-success{color:#9de5b7;}
.manager-curriculum-controls,.manager-inline-actions,.manager-media-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:end;}
.manager-curriculum-controls label,.manager-curriculum-studio label,.manager-media-library label{display:grid;gap:7px;min-width:min(100%,260px);}
.manager-curriculum-browser,.manager-curriculum-history,.manager-media-list{display:grid;gap:12px;margin-top:16px;}
.manager-curriculum-item,.manager-curriculum-revision,.manager-media-asset{border:1px solid var(--line,#d8e2ef);border-radius:16px;padding:16px;background:var(--surface,#fff);overflow-wrap:anywhere;}
@media(max-width:760px){.manager-curriculum-controls,.manager-inline-actions,.manager-media-controls{display:grid;grid-template-columns:1fr}.manager-curriculum-controls>* ,.manager-inline-actions>* ,.manager-media-controls>*{width:100%}}

/* v3.19.6 staging commercial/auth repair. Auth text is never clipped or hidden to
   make room for columns; workspace layout, OAuth and payments are unchanged. */
html[data-page="login"] .auth-login-canvas {
  --auth-left-width:250px;
  --auth-right-width:275px;
  width:100%;max-width:none;box-sizing:border-box;
  padding-inline:clamp(18px,2.3vw,44px);
  display:grid;
  grid-template-columns:minmax(215px,var(--auth-left-width)) 14px minmax(500px,1fr) 14px minmax(215px,var(--auth-right-width));
  column-gap:clamp(10px,1vw,18px);row-gap:24px;
  align-items:center;overflow:visible;
}
html[data-page="login"] .auth-login-canvas > .canonical-login-card {
  grid-column:3;min-width:0;max-width:740px;margin-inline:auto;
}
html[data-page="login"] .auth-login-canvas > .auth-mission-copy {grid-column:1;min-width:0;overflow-wrap:break-word;}
html[data-page="login"] .auth-login-canvas > .auth-future-copy {grid-column:5;min-width:0;overflow-wrap:break-word;align-self:center;padding-bottom:0;}
html[data-page="login"] .auth-login-canvas .auth-mission-copy h2,
html[data-page="login"] .auth-login-canvas .auth-future-copy h3 {font-size:clamp(30px,2.5vw,46px);overflow-wrap:break-word;hyphens:auto;}
html[data-page="login"] .auth-login-canvas .auth-mission-copy span,
html[data-page="login"] .auth-login-canvas .auth-future-copy span {letter-spacing:.12em;line-height:1.55;overflow-wrap:break-word;}
html[data-page="login"] .auth-panel-resizer {
  align-self:stretch;position:relative;z-index:3;width:14px;min-height:140px;
  cursor:col-resize;touch-action:none;outline-offset:3px;
}
html[data-page="login"] .auth-panel-resizer-left {grid-column:2;}
html[data-page="login"] .auth-panel-resizer-right {grid-column:4;}
html[data-page="login"] .auth-panel-resizer::before {
  content:"";position:absolute;top:0;bottom:0;left:6px;
  width:2px;border-radius:3px;background:#9db8db;
}
html[data-page="login"] .auth-panel-resizer::after {
  content:"↔";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  display:grid;place-items:center;width:30px;height:34px;
  border:1px solid #9db8db;border-radius:9px;background:var(--surface);
  color:var(--blue-2);font-size:18px;font-weight:800;
}
html[data-page="login"] .auth-panel-resizer:hover::before,
html[data-page="login"] .auth-panel-resizer:focus-visible::before,
html[data-page="login"] .auth-panel-resizer.dragging::before {background:var(--blue);width:3px;}
html[data-page="login"] .auth-panel-resizer:focus-visible {outline:3px solid var(--blue);}
/* The central form stays full-width. Both side messages stay readable on smaller
   screens rather than being hidden or overhanging the viewport. */
@media (max-width:1360px){
  html[data-page="login"] .auth-login-canvas {grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:24px;}
  html[data-page="login"] .auth-login-canvas > .canonical-login-card {grid-column:1/-1;grid-row:1;width:min(100%,740px);max-width:740px;}
  html[data-page="login"] .auth-login-canvas > .auth-mission-copy {display:block;grid-column:1;grid-row:2;}
  html[data-page="login"] .auth-login-canvas > .auth-future-copy {display:block;grid-column:2;grid-row:2;}
  html[data-page="login"] .auth-panel-resizer {display:none;}
}
@media (max-width:760px){
  html[data-page="login"] .auth-login-canvas {grid-template-columns:minmax(0,1fr);padding-inline:14px;row-gap:22px;}
  html[data-page="login"] .auth-login-canvas > .canonical-login-card {grid-column:1;grid-row:1;}
  html[data-page="login"] .auth-login-canvas > .auth-mission-copy {grid-column:1;grid-row:2;}
  html[data-page="login"] .auth-login-canvas > .auth-future-copy {grid-column:1;grid-row:3;}
  html[data-page="login"] .auth-login-canvas .auth-mission-copy h2,
  html[data-page="login"] .auth-login-canvas .auth-future-copy h3 {font-size:32px;}
}
/* Private Manager header: readable in light/dark and EN/FR, including mobile. */
html[data-page="manager-login"] .manager-auth-nav-tier .product-nav-inner {
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:12px 24px;min-width:0;padding-block:12px;
}
html[data-page="manager-login"] .manager-auth-nav-label {flex:1 1 290px;min-width:0;max-width:100%;}
html[data-page="manager-login"] .manager-auth-nav-label strong {
  color:#ffffff!important;font-size:20px!important;line-height:1.4;
}
html[data-page="manager-login"] .manager-auth-nav-label span {
  display:block!important;color:#f0f6ff!important;opacity:1!important;
  font-size:18px!important;line-height:1.5;
}
html[data-page="manager-login"] .manager-auth-nav-tier .product-nav-actions {
  flex:0 1 auto;min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:12px;
}
html[data-page="manager-login"] .manager-auth-nav-tier .setting-label {color:#fff!important;}
@media (max-width:760px){
  html[data-page="manager-login"] .manager-auth-nav-tier .product-nav-inner {padding-inline:14px;}
  html[data-page="manager-login"] .manager-auth-nav-label {flex-basis:100%;}
}

/* Keep decorative curves behind authentication text, not across the copy. */
html[data-page="login"] .auth-canvas::before,
html[data-page="login"] .auth-canvas::after {opacity:.16;}

/* Registration: make the required Google OAuth step visible at the action point. */
html[data-page="register"] .google-register-submit{display:flex;align-items:center;justify-content:center;gap:12px;min-height:56px;white-space:normal;text-align:center;line-height:1.35;}
html[data-page="register"] .google-register-submit .google-g-logo{width:25px;height:25px;flex:0 0 25px;}
html[data-page="register"] .google-registration-explainer{font-size:18px!important;line-height:1.55;margin:16px 0;color:var(--text);}
