/* 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.7;
}

/* Parent email input */
.gmt-parent-email{
  max-width:520px;
  margin:22px 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;
}

.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 */
}

/* Comparison hint: ( < = > ) — symbols only, subtle */
.gmt-compare-hint{
  display:inline-block;
  margin-left:10px;
  padding:2px 8px;
  border:1px solid #e3e9f4;
  border-radius:999px;
  background:#eef1f6;
  color:#667085;
  font-size:0.92em;
  line-height:1;
  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;
}

.gmt-email-row{
  margin: 22px 0 28px;
  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;
}
