/* Layout */
.gme-exam-wrap { font-family: Arial, sans-serif; max-width:1100px; margin:20px auto; }
.gme-instructions-card { background:#fff; border:1px solid #ddd; padding:18px; border-radius:6px; box-shadow:0 1px 4px rgba(0,0,0,0.04); }
.gme-instructions { margin-bottom:10px; color:#333; }
.gme-instructions-meta { font-size:14px; margin-bottom:10px; color:#555; }

/* main exam layout */
.gme-exam { border:1px solid #e1e1e1; padding:12px; margin-top:10px; position:relative; min-height:480px; background:#fff; display:flex !important; gap:12px; }
.gme-left { flex:1 1 68%; padding:6px; }
.gme-right { width:320px; padding:6px; border-left:1px solid #eee; background:#f6fbff; }

/* header & timer */
.gme-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.gme-title { font-weight:700; color:#2b3d4f; }
.gme-timer { color:#e74c3c; font-weight:700; }

/* question box */
.gme-qbox { background:#fff; border:1px solid #eef2f5; border-radius:6px; padding:14px; min-height:260px; }
.gme-qhead { margin-bottom:10px; display:flex; justify-content:space-between; }
.gme-question { font-size:16px; line-height:1.5; margin-bottom:12px; color:#222; }
.gme-image img { max-width:100%; border:1px solid #ddd; padding:4px; border-radius:4px; margin-bottom:8px; }

/* choices */
.gme-choices .gme-choice { display:block; padding:6px 8px; border-radius:4px; margin-bottom:6px; background:#fafafa; border:1px solid #eee; cursor:pointer; }
.gme-choices input { margin-right:8px; }

/* controls */
.gme-controls-row { margin-top:12px; display:flex; gap:8px; flex-wrap:wrap; }
.button-primary.gme-save-next { background:#2b90d9; color:#fff; border:none; padding:8px 12px; border-radius:4px; }
.button.gme-submit-primary { background:#16a085; color:#fff; border:none; padding:8px 12px; border-radius:4px; }

/* palette */
.gme-panel { padding:10px; border-radius:6px; }
.gme-palette-title { font-weight:700; margin-bottom:8px; }
.gme-legend { font-size:13px; margin-bottom:10px; display:grid; grid-template-columns:1fr; gap:6px; color:#333; }
.gme-leg { display:inline-block; width:22px; height:22px; border-radius:4px; margin-right:8px; vertical-align:middle; border:1px solid rgba(0,0,0,0.06); }
.gme-leg.not-visited, .gme-num.not-visited { background:#f0f0f0; }
.gme-leg.not-answered, .gme-num.not-answered { background:#e74c3c; color:#fff; }
.gme-leg.answered, .gme-num.answered { background:#2ecc71; color:#fff; }
.gme-leg.review, .gme-num.review { background:#9b59b6; color:#fff; }
.gme-leg.answered-reviewed, .gme-num.answered-reviewed { background:#16a085; color:#fff; }

.gme-grid { display:flex; flex-wrap:wrap; gap:8px; }
.gme-num { width:44px; height:44px; border-radius:6px; border:1px solid #ccc; background:#f3f3f3; cursor:pointer; font-weight:700; }
.gme-num.not-answered, .gme-num.not-visited { color:#fff; }
.gme-num.answered, .gme-num.answered-reviewed, .gme-num.review { color:#fff; }

/* responsive */
@media (max-width:900px){
  .gme-exam { flex-direction:column; }
  .gme-right { width:100%; border-left:none; border-top:1px solid #eee; }
}
