/* Online Tests shared component styles (pad, stats, actions, saved bests). Used by the reaction time test; click-speed-test.html still carries its own inline copy, see the open-items row. */
.ot-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 12px}
.ot-stat{background:#F8FAFC;border:1px solid #CBD5E1;border-radius:8px;padding:8px 12px;text-align:center}
.ot-stat span{display:block}.ot-k{font-size:.75rem;font-weight:600;color:#475569}.ot-v{font-size:1.4rem;font-weight:800;color:#0F4C81;font-variant-numeric:tabular-nums}
.ot-pad{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;min-height:220px;padding:20px;border:3px solid #0F4C81;border-radius:16px;background:#EFF6FF;color:#0A3260;font:inherit;text-align:center;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color .15s}
.ot-pad:active{background:#DBEAFE}
@media(hover:hover) and (pointer:fine){.ot-pad:hover{background:#DBEAFE}}
.ot-pad.ot-done{background:#ECFDF5;border-color:#166534;color:#14532D}
.ot-pad:focus-visible{outline:3px solid #0A3260;outline-offset:3px}
.ot-pad-main{font-size:1.35rem;font-weight:800}.ot-pad-sub{font-size:.85rem;font-weight:500;max-width:36ch;line-height:1.4}
.ot-note{min-height:2.6em;margin:8px 0 0;font-size:.82rem;line-height:1.4;color:#92400E}
.ot-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.ot-btn{flex:1 1 180px;min-height:44px;padding:10px 16px;border:1.5px solid #0F4C81;border-radius:8px;background:#0F4C81;color:#fff;font:inherit;font-size:.88rem;font-weight:700;cursor:pointer}
.ot-btn:hover:not(:disabled){background:#0A3260;border-color:#0A3260}
.ot-btn:active:not(:disabled){background:#082847}
.ot-btn:focus-visible{outline:3px solid #0A3260;outline-offset:2px}
.ot-calc caption{text-align:left;font-size:.8rem;color:#475569;padding-bottom:4px}
.ot-btn:disabled{background:#E2E8F0;border-color:#94A3B8;color:#475569;cursor:not-allowed}
.ot-btn.ot-alt{background:#fff;color:#0F4C81}
.ot-btn.ot-alt:hover:not(:disabled){background:#EFF6FF;border-color:#0F4C81}
.ot-btn.ot-alt:active:not(:disabled){background:#DBEAFE}
.ot-msg{min-height:2.6em;margin:8px 0 0;font-size:.82rem;line-height:1.4;color:#475569}
.ot-half{min-height:2.6em}
.ot-private{margin-top:10px;font-size:.82rem;color:#475569}
.ot-calc [hidden]{display:none!important}
@media(max-width:480px){.ot-pad{min-height:200px}.ot-btn{flex-basis:100%}}
.ot-pad.ot-wait,.ot-pad.ot-go{transition:none}
@media(prefers-reduced-motion:reduce){.ot-pad{transition:none}}

.ot-pad.ot-wait{background:#B91C1C;border-color:#7F1D1D;color:#fff}
.ot-pad.ot-go{background:#166534;border-color:#14532D;color:#fff}
.ot-pad.ot-soon{background:#FEF3C7;border-color:#92400E;color:#78350F}
.ot-trials{margin-top:12px}
.ot-conv{margin-top:18px;padding-top:14px;border-top:1px solid #CBD5E1}
.ot-conv h2{font-size:1.05rem;margin:0 0 8px}
.ot-inline{display:flex;gap:8px}.ot-inline input{flex:1 1 auto;min-width:0}.ot-inline select{flex:0 0 auto;width:auto}
