/* GraspMaths 10‑Minute Tests — Adaptive + Spiral (Auto‑Mark) */

/* Base */
body{ font-family:'Segoe UI',system-ui,-apple-system,Arial,sans-serif; background:#F9F9F9; margin:0; }

/* Wrapper */
.gmt-wrap{ width:100%; }

/* Card */
.gmt-card{
  max-width:950px;
  margin:40px auto;
  background:#fff;
  padding:40px;
  border-radius:18px;
  box-shadow:0 10px 30px rgba(0,0,0,0.06);
  color:#243447;
}

/* Header */
.gmt-title{ text-align:center; color:#3562C1; margin:0; font-size:34px; }
.gmt-sub{
  text-align:center;
  color:#666;
  margin:12px 0 22px;
  font-weight:500;
  font-size:14px;
  line-height:1.8;
}

/* Small note under intro (match site typography) */
.gmt-parent-email-note{
  text-align:center;
  margin:10px 0 18px;
  font-size:12.5px;
  line-height:1.95;
  color:#667085;
  font-weight:500;
}

/* Parent email input */
.gmt-parent-email{
  max-width:520px;
  margin:0 auto 14px;
  padding:12px 12px;
  border-radius:14px;
  background:#f3f6fb;
  border:1px solid #e3e9f4;
}
.gmt-parent-label{
  display:block;
  font-weight:900;
  color:#243447;
  margin-bottom:6px;
}
.gmt-parent-input{
  width:100%;
  border:1px solid #d7dde6;
  border-radius:12px;
  padding:10px 12px;
  font:inherit;
  color:#243447;
  background:#fff;
}
.gmt-parent-input:focus{
  outline:none;
  border-color:#3562C1;
  box-shadow:0 0 0 3px rgba(53,98,193,0.12);
}
.gmt-parent-hint{
  margin-top:6px;
  font-size:12.5px;
  color:#667085;
  font-weight:700;
}

/* Controls */
.gmt-controls{
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  margin-bottom:10px;
}

/* ============================================================
   Pack selector (Option 1: Core / Pack B / Full)
   ============================================================ */
.gmt-pack{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  justify-content:center;
  margin:10px 0 12px;
}
.gmt-pack-label{
  font-weight:800;
  color:#243447;
}
.gmt-pack-pills{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.gmt-pack-pill{
  border:1px solid #d8deea;
  background:#fff;
  color:#243447;
  padding:8px 12px;
  border-radius:999px;
  font-weight:800;
  cursor:pointer;
  transition:transform .04s ease, background .12s ease, border-color .12s ease;
}
.gmt-pack-pill:hover{ transform:translateY(-1px); }
.gmt-pack-pill.is-active{
  border-color:rgba(53, 98, 193, 0.45);
  background:rgba(53, 98, 193, 0.10);
}
.gmt-pack-pill:focus{ outline:2px solid rgba(53, 98, 193, 0.35); outline-offset:2px; }
.gmt-pack-hint{
  color:#667085;
  font-size:12.5px;
  font-weight:700;
}

.gmt-btn{
  padding:12px 18px;
  border:none;
  border-radius:28px;
  background:#e9eef8;
  color:#243447;
  cursor:pointer;
  font-weight:700;
}
.gmt-btn:hover{ filter:brightness(0.98); }
.gmt-btn:disabled{ opacity:.55; cursor:not-allowed; }

.gmt-primary{ background:#3562C1; color:#fff; }
.gmt-ghost{ background:#fff; border:1px solid #d7dde6; }
.gmt-finish{ background:#243447; color:#fff; }

.gmt-timer{
  display:flex;
  gap:8px;
  align-items:center;
  padding:10px 14px;
  border-radius:999px;
  background:#f3f6fb;
  border:1px solid #e3e9f4;
  margin-left:6px;
}
.gmt-timer-label{ color:#667085; font-weight:700; }
.gmt-timer-value{ font-weight:900; letter-spacing:0.5px; }

/* Notice */
.gmt-notice{
  margin:12px auto 0;
  max-width:760px;
  padding:10px 12px;
  border-radius:12px;
  background:#fff7e6;
  border:1px solid #ffe2a8;
  color:#7a4d00;
  font-weight:700;
}

/* Questions grid */
.gmt-grid{
  margin-top:14px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px 22px;
}
@media (max-width:820px){
  .gmt-card{ padding:22px; margin:18px auto; }
  .gmt-title{ font-size:28px; }
  .gmt-grid{ grid-template-columns:1fr; }
}

/* Question block */
.gmt-q{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:14px;
  align-items:flex-start;
  padding:12px 12px;
  background:#fff;
  border:1px dashed #e3e9f4;
  border-radius:14px;
}
.gmt-qnum{ font-weight:900; color:#3562C1; font-size:16px; }
.gmt-qtext{ font-size:16px; line-height:1.35; font-weight:500; }

/* Auto-mark feedback (subtle) */
.gmt-q.is-right{ border-color:#cfe9d7; background:#eef8f1; }
.gmt-q.is-wrong{ border-color:#f6caca; background:#fdecec; }

/* Fraction styling */
.gmt-frac{
  display:inline-block;
  vertical-align:middle;
  text-align:center;
  font-size:0.98em;
  margin:0 2px;
}
.gmt-frac .top{ display:block; padding:0 4px; }
.gmt-frac .bar{ display:block; border-top:1.8px solid #243447; margin:1px 0; }
.gmt-frac .bottom{ display:block; padding:0 4px; }

.gmt-mixed{ display:inline-flex; align-items:center; gap:6px; }
.gmt-mixed .gmt-whole{ font-weight:700; }

.gmt-mixed{ display:inline-flex; align-items:center; gap:6px; }
.gmt-mixed .gmt-whole{ font-weight:700; }

/* Answer boxes (compact, no dotted underline) */
.gmt-blank-wrap{
  display:inline-block;
  vertical-align:baseline;
  margin:0;              /* no forced gap: text follows the box */
}

.gmt-prefix{
  display:inline-block;
  margin-right:6px;
  font-weight:700;
  color:#243447;
}

.gmt-suffix{
  display:inline-block;
  margin-left:6px;
  font-weight:700;
  color:#243447;
}
.gmt-frac--withblank .top .gmt-blank-wrap{
  margin:0;
}

/* Comparison hint: ( < = > ) — symbols only, subtle */
.gmt-compare-hint{
  display:inline-block;
  margin-left:10px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#667085;
  font-size:0.92em;
  line-height:1.2;
  user-select:none;
}

.gmt-input{
  width:100%;
  min-width:46px;
  border:1px solid #e3e9f4;
  background:#fff;
  border-radius:12px;
  padding:5px 8px;       /* slightly tighter */
  font:inherit;
  font-weight:650;
  color:#243447;
  line-height:1.1;
  box-shadow:0 0 0 0 rgba(53,98,193,0);
}

.gmt-input::placeholder{ color:#9aa3b2; font-weight:650; }

.gmt-input:focus{
  outline:none;
  box-shadow:0 0 0 3px rgba(53,98,193,0.12);
}

.gmt-input.is-locked{
  background:#f3f6fb;
  color:#4b5a6c;
}

/* Results panel (reuses .gmt-mark container) */
.gmt-mark{
  margin-top:18px;
  padding:14px 14px;
  border-radius:14px;
  background:#f3f6fb;
  border:1px solid #e3e9f4;
}

.gmt-mark-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:10px;
}

.gmt-mark-title{ font-weight:900; color:#243447; }

.gmt-mark-pills{ display:flex; gap:8px; align-items:center; }

.gmt-level-pill,
.gmt-score-pill{
  display:inline-block;
  padding:6px 10px;
  border-radius:999px;
  font-size:12.5px;
  font-weight:900;
  border:1px solid #e3e9f4;
  background:#fff;
  color:#243447;
}
.gmt-score-pill{ min-width:54px; text-align:center; }

.gmt-mark-hint{
  margin-top:10px;
  color:#667085;
  font-weight:700;
  font-size:12.5px;
}

/* Answers */
.gmt-answers{
  margin-top:18px;
  padding-top:12px;
  border-top:1px dashed #d7dde6;
}
.gmt-answers-title{ font-weight:900; margin-bottom:10px; }
.gmt-answers-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:8px 14px;
  font-size:14px;
}
@media (max-width:820px){
  .gmt-answers-grid{ grid-template-columns:repeat(2, 1fr); }
}
.gmt-a{ display:flex; gap:8px; align-items:baseline; }
.gmt-a-num{ font-weight:900; min-width:24px; color:#3562C1; }

/* Completion box */
.gmt-complete{
  margin-top:16px;
  padding:14px 14px;
  border-radius:14px;
  background:#eef8f1;
  border:1px solid #cfe9d7;
}
.gmt-complete-title{ font-weight:900; margin-bottom:6px; }
.gmt-complete-text{ color:#1f5a2e; font-weight:700; }


/* Parent email entry */
.gmt-email-grid{
  margin-top:10px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

/* Top-of-page version: add breathing room */
.gmt-email-grid-top{
  max-width:760px;
  margin:14px auto 18px;
}

.gmt-email-row{
  margin-top:0;
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.gmt-email-label{
  font-weight:900;
  color:#2a3b4f;
}
.gmt-email-input{
  flex:1;
  min-width:160px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid #d8deea;
  background:#fff;
  font-weight:800;
  color:#243447;
  outline:none;
}

@media (max-width: 720px){
  .gmt-email-grid{ grid-template-columns:1fr; }
}
.gmt-email-input:focus{
  border-color:#3562C1;
  box-shadow:0 0 0 3px rgba(53,98,193,.15);
}

/* Completion email status */
.gmt-email-status{
  margin-top:10px;
  font-weight:800;
  color:#2a3b4f;
}

.gmt-email-pill{
  display:inline-block;
  margin-left:8px;
  padding:6px 10px;
  border-radius:999px;
  font-size:12.5px;
  font-weight:900;
  border:1px solid transparent;
}

.gmt-email-pending{ background:#f3f6fb; border-color:#e3e9f4; color:#4b5a6c; }
.gmt-email-sending{ background:#fff7e6; border-color:#ffe2a8; color:#7a4d00; }
.gmt-email-sent{ background:#eef8f1; border-color:#cfe9d7; color:#1f5a2e; }
.gmt-email-failed{ background:#fdecec; border-color:#f6caca; color:#7a1f1f; }

/* No printing for 10-minute tests */
@media print{ .gmt-card{ display:none !important; } }

.gmt-footnote{
  margin-top:18px;
  text-align:center;
  color:#8b95a7;
  font-weight:700;
  font-size:12.5px;
}
/*test*/

/* Structured fraction + multi-answer boxes */
.gmt-frac-blank{
  display:inline-grid;
  grid-template-rows:auto 6px auto;
  align-items:center;
  justify-items:center;
  vertical-align:middle;
  margin:0 2px;
}
.gmt-frac-blank .gmt-blank-wrap{ margin:0; }
.gmt-frac-blank-bar{
  display:block;
  width:100%;
  border-top:2px solid #243447;
}
.gmt-multi-blanks{ display:inline-flex; align-items:center; gap:6px; vertical-align:baseline; }
.gmt-multi-sep{ color:#667085; font-weight:800; margin:0 2px; }

/* =========================
   Parent Insights (Phase 3)
========================= */
.gmt-insights{ margin-top:16px; }
.gmt-insights-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 16px; border:1px solid #e7ecf4; border-radius:18px;
  background:#ffffff;
}
.gmt-insights-title{ font-weight:900; color:#243447; }
.gmt-insights-pills{ display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.gmt-insight-pill{
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 10px; border-radius:999px;
  background:#f3f6fb; border:1px solid #e7ecf4;
  color:#243447; font-weight:800; font-size:13px;
}
.gmt-insights-grid{ margin-top:12px; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media (max-width: 760px){ .gmt-insights-grid{ grid-template-columns:1fr; } }
.gmt-insights-card{
  border:1px solid #e7ecf4; border-radius:18px; background:#ffffff;
  padding:14px 16px;
}
.gmt-insights-h{ font-weight:900; color:#243447; margin-bottom:10px; }
.gmt-insights-sub{ margin-top:10px; color:#5b6777; font-weight:700; font-size:13px; }
.gmt-trend{ display:flex; align-items:flex-end; gap:6px; height:48px; padding:6px 2px; }
.gmt-trend-bar{
  flex:1; min-width:8px;
  border-radius:10px;
  background:#eef1f6;
  border:1px solid #e7ecf4;
}
.gmt-trend-bar[data-v="1"]{ background:#dff5e7; border-color:#c7ead5; }
.gmt-trend-bar[data-v="0"]{ background:#fde4e4; border-color:#f6c7c7; }
.gmt-heat{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.gmt-heat-cell{
  border:1px solid #e7ecf4; border-radius:16px; padding:10px 12px;
  background:#f9fbff;
}
.gmt-heat-k{ font-weight:900; color:#243447; font-size:13px; }
.gmt-heat-v{ margin-top:4px; font-weight:900; font-size:18px; color:#243447; }
.gmt-heat-v small{ font-size:12px; color:#5b6777; font-weight:800; margin-left:6px; }
