.mock-setup{padding:20px 2px}.mock-setup h3{margin:0 0 7px}.mock-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.mock-options label{border:1px solid #d9e3f1;border-radius:13px;padding:18px 12px;display:flex;flex-direction:column;gap:6px;cursor:pointer}.mock-options input{margin:0 0 6px;width:16px;height:16px}.mock-options span{color:#65758c;font-size:.9em}.mock-rules{background:#f5f8fc;border-radius:12px;padding:16px 18px;margin-bottom:22px}.mock-rules p{margin-bottom:0}.mock-exam-wrap{max-width:880px}.mock-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.mock-top h2{margin:5px 0}.mock-kicker{font-size:11px;letter-spacing:.14em;font-weight:700;color:#4c6ba0}.mock-time{min-width:154px;text-align:right}.mock-time small{display:block;font-size:11px;letter-spacing:.08em;color:#6f7f94}.mock-time strong{font-size:29px;color:#13375e;font-variant-numeric:tabular-nums}.mock-time strong.mock-urgent{color:#c04734}.mock-question{font-size:22px;line-height:1.48;margin:24px 0}.mock-choice{display:flex!important;align-items:center;gap:16px;font-size:15px!important}.mock-letter{font-weight:700;border-radius:7px;padding:6px 10px;background:#f0f5fc;color:#19478f}.mock-choice.selected{border-color:#2b62dc!important;background:#f0f5ff!important;box-shadow:0 0 0 1px #2b62dc}.mock-choice.selected .mock-letter{background:#2b62dc;color:white}.mock-save-note{font-size:13px;color:#61758c}.mock-actions,.mock-final{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.mock-navigator{border-top:1px solid #e5ecf5;margin-top:28px;padding-top:21px}.mock-navtitle{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px}.mock-navgrid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:8px}.mock-navbtn{height:42px;background:white;border:1px solid #cbd7e8;color:#1b385c;border-radius:8px;cursor:pointer}.mock-navbtn.answered{background:#dceafc;border-color:#91b6ee}.mock-navbtn.active{outline:2px solid #2b62dc;outline-offset:1px}.mock-final{border-top:1px solid #e5ecf5;padding-top:22px}.mock-scoregrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.mock-scoregrid>div{border:1px solid #dbe5f2;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:5px}.mock-scoregrid small{font-size:11px;color:#667893;letter-spacing:.09em}.mock-scoregrid strong{font-size:30px;color:#10345c}.mock-scoregrid span{color:#697b92}.mock-breakdown,.mock-review{border:1px solid #dbe5f2;border-radius:13px;padding:18px;margin:22px 0}.mock-system{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #e6ecf4}.mock-system:last-child{border-bottom:0}.mock-review summary{font-weight:700;cursor:pointer}.mock-review article{padding:18px 0;border-bottom:1px solid #e6ecf4}.mock-review article:last-child{border:0}.mock-review h4{margin:0 0 10px}.mock-restart{display:inline-block;text-decoration:none}.mock-notice{padding:30px}@media(max-width:650px){.mock-options,.mock-scoregrid{grid-template-columns:1fr}.mock-navgrid{grid-template-columns:repeat(5,minmax(0,1fr))}.mock-top{align-items:start}.mock-time{min-width:95px}.mock-time strong{font-size:22px}.mock-final{align-items:stretch;flex-direction:column}}

/* Exam-length cards: separated, centred labels with a comfortable touch target. */
.mock-options label{align-items:center;justify-content:center;text-align:center;min-height:142px;padding:18px 14px;box-sizing:border-box;gap:7px;transition:border-color .15s,background .15s,box-shadow .15s}
.mock-options label:hover{border-color:#93b1e4;background:#f8fbff}
.mock-options label:has(input:checked){border-color:#3c6fe2;background:#f5f8ff;box-shadow:0 0 0 1px #3c6fe2}
.mock-options input{display:block;flex:none;width:20px;height:20px;margin:0 0 5px;accent-color:#285fe0;padding:0}
.mock-options .mock-count{display:block;font-size:15px;font-weight:700;color:#102c52;line-height:1.3;white-space:nowrap}
.mock-options .mock-duration{display:block;font-size:13px;line-height:1.4;color:#64758e;white-space:nowrap}
@media(max-width:650px){.mock-options label{min-height:105px}}

/* Soft-premium selection: reset generic form input styles on exam-length radios.
   The generic `.tr-body #app label input` rule stretched the native radio
   across the whole card, creating the unwanted inset rectangle. */
.tr-body #app .mock-options label input[type="radio"]{
  appearance:auto; -webkit-appearance:radio;
  display:block; flex:0 0 22px;
  width:22px; height:22px; min-width:22px; max-width:22px;
  margin:0 0 5px; padding:0;
  border:0; border-radius:50%;
  background:transparent; box-shadow:none;
  accent-color:#3165e7; cursor:pointer;
}
.tr-body #app .mock-options label input[type="radio"]:focus{
  box-shadow:none; border-color:transparent;
}
.tr-body #app .mock-options label input[type="radio"]:focus-visible{
  outline:2px solid #789cff; outline-offset:4px;
}
.tr-body #app .mock-options label:has(input[type="radio"]:checked){
  background:#f4f7ff; border-color:#356ce7; box-shadow:0 0 0 1px #356ce7;
}
