.performance-panel .controls{margin-bottom:24px;flex-wrap:wrap}.performance-stats{margin-bottom:22px}.performance-stats .stat-value span{font-size:13px;color:#8e9588;font-weight:500}.reaction-pad{width:100%;min-height:310px;border:1px solid #d4dacb;background:#eff0e7;color:#323c2d;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;border-radius:9px;padding:28px;cursor:pointer;user-select:none;touch-action:manipulation;font:inherit;transition:background .08s}.reaction-pad strong,.aim-idle strong{font-size:clamp(22px,3vw,34px);font-weight:650;letter-spacing:-1px}.reaction-pad>span:not(.pill):not(.reaction-orb),.aim-idle>span:last-child{color:#919987;font-size:13px;line-height:1.7}.reaction-pad:focus-visible{outline:3px solid #f05b35;outline-offset:4px}.performance-panel .pill{font-size:10px;letter-spacing:1px}.reaction-orb{width:45px;height:45px;border:1.5px solid #97a688;border-radius:50%;box-shadow:0 0 0 15px #c0ccad22,0 0 0 30px #c0ccad10}.reaction-pad[data-state=waiting]{background:#f7eadf;border-color:#e2c8ad}.reaction-pad[data-state=waiting] .reaction-orb{background:#dfa765;border-color:#dfa765;box-shadow:0 0 0 15px #dfa76512,0 0 0 30px #dfa76508}.reaction-pad[data-state=ready]{background:#d2e5bc;color:#304823;border-color:#9fb981}.reaction-pad[data-state=ready]>span:not(.reaction-orb){color:#667f50}.reaction-pad[data-state=ready] .reaction-orb{background:#486832;border-color:#486832}.reaction-pad[data-state=early]{background:#f6e1dc;border-color:#ddb3a8}.reaction-trials{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:18px}.reaction-trial{border:1px solid #dce0d2;border-radius:7px;padding:14px;display:flex;flex-direction:column;gap:10px;background:#fffefb}.reaction-trial>span{color:#9aa58c;font:10px var(--mono,monospace)}.reaction-trial strong{font:500 18px var(--mono,monospace);font-variant-numeric:tabular-nums;color:#899a77}.reaction-trial.is-complete{border-color:#e3bdad;background:#fcf2ec}.reaction-trial.is-complete strong{color:#d6663e}.aim-stage{position:relative;min-height:360px;height:clamp(320px,45vh,480px);overflow:hidden;border-radius:9px;border:1px solid #d7ddcc;background-color:#f7f8f1;background-image:linear-gradient(#b4bf9c15 1px,transparent 1px),linear-gradient(90deg,#b4bf9c15 1px,transparent 1px);background-size:32px 32px;user-select:none;touch-action:none;cursor:crosshair;padding:0}.aim-idle{display:flex;position:absolute;inset:0;align-items:center;justify-content:center;flex-direction:column;gap:20px;padding:24px;text-align:center}.aim-idle[hidden],.aim-target[hidden]{display:none}.aim-preview{width:72px;height:72px;border:1px solid #d8b49c;border-radius:50%;position:relative}.aim-preview:before,.aim-preview:after{content:"";position:absolute;inset:15px;border:1px solid #e28d66;border-radius:50%}.aim-preview:after{inset:29px;background:#f05b35}.aim-target{position:absolute;z-index:2;background:#f05b35;border:2px solid #fff5e9;border-radius:50%;box-shadow:0 0 0 4px #f05b3518,0 4px 12px #a94b2520;display:flex;align-items:center;justify-content:center;cursor:crosshair}.aim-target:before{content:"";position:absolute;inset:7px;border:1px solid #fff9eb99;border-radius:50%}.aim-target span{width:4px;height:4px;border-radius:50%;background:#fff9ed}.performance-panel .hint{line-height:1.8;margin-top:18px}.performance-panel select{min-height:42px}.performance-panel button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:560px){.reaction-trial{padding:10px 7px}.reaction-trial strong{font-size:12px}.reaction-pad{min-height:280px;padding:22px 16px}.performance-stats{gap:8px}.performance-stats .stat{padding:14px 10px}.performance-stats .stat-value{font-size:28px}.aim-stage{min-height:300px}}@media(prefers-reduced-motion:reduce){.performance-panel *{scroll-behavior:auto;transition:none}}

.aim-start-screen{width:100%;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;z-index:3;touch-action:manipulation}.aim-start-screen:focus-visible{outline:2px solid var(--accent,#f05b35);outline-offset:-5px}.aim-start-screen:hover .aim-preview{border-color:#f05b35}.aim-start-screen:disabled{opacity:1!important;cursor:wait}
