/* Stationary coaching marks for the existing guest timing task only. */
#timing-shift .meter{border-color:#89b1c58c;box-shadow:inset 0 2px 5px #04152b80}
#timing-shift .needle{z-index:3}
#timing-shift .timing-attempt-markers{position:absolute;inset:0;pointer-events:none;z-index:2}
#timing-shift .timing-result-marker{position:absolute;top:0;bottom:0;width:2px;background:#ffd79b;transform:translateX(-1px)}
#timing-shift .timing-result-marker.is-hit{background:#b8ffe1}
#timing-shift .timing-result-marker b{position:absolute;top:calc(1px + var(--marker-row)*14px);left:0;min-width:14px;height:14px;padding:0 2px;transform:translateX(var(--label-shift,-50%));border:1px solid #193749;border-radius:3px;background:#ffe1af;color:#1a3545;font:800 10px/12px system-ui,sans-serif;text-align:center;box-sizing:border-box}
#timing-shift .timing-result-marker.is-hit b{background:#b8ffe1;border-radius:50%}
#timing-shift .timing-attempt-feedback{font-size:13px;line-height:1.5;color:#e0edf4;min-height:3em;margin:10px 0 14px;padding:9px 12px;border-left:3px solid #a5d8e2;background:#163453;border-radius:0 9px 9px 0}
.timing-attempt-summary{margin:12px 0;padding:0 12px;border:1px solid #8ab3d09c;border-radius:13px;background:linear-gradient(145deg,#294b73,#172f50);box-shadow:inset 0 1px #d9f4ff44,0 3px 0 #081d3c66;color:#f0f3e9}
.timing-attempt-summary>summary{font-size:13px;font-weight:700;line-height:1.4;min-height:44px;padding:12px 0;cursor:pointer}.timing-attempt-summary[open]>summary{margin-bottom:8px}.timing-attempt-summary>summary:focus-visible{outline:3px solid #f5df9d;outline-offset:3px;border-radius:6px}
.timing-attempt-summary ol{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.timing-attempt-summary li{display:grid;grid-template-columns:minmax(0,1fr) 104px;align-items:center;gap:12px;font-size:13px;line-height:1.4}
.timing-attempt-summary li>span b{color:#c5dfef}
.timing-attempt-summary .timing-result-meter{position:relative;height:24px;overflow:hidden;border:1px solid #8db1c566;border-radius:6px;background:#0a2134}
.timing-attempt-summary .timing-result-zone{position:absolute;top:0;bottom:0;left:36%;width:28%;background:#8ac57d88;border-inline:1px solid #c7f2ae}
.timing-attempt-summary .timing-summary-tick{position:absolute;top:2px;bottom:2px;width:3px;background:#ffe1af;transform:translateX(-1.5px);border-radius:2px}
.timing-attempt-summary .timing-summary-tick.is-hit{background:#c4ffe6}
.timing-attempt-summary>p{padding-bottom:12px;font-size:11px;line-height:1.5;color:#c3d8e6;margin:12px 0 0}
@media(max-width:420px){.timing-attempt-summary{padding:0 10px}.timing-attempt-summary li{grid-template-columns:minmax(0,1fr) 80px;gap:9px;font-size:12px}#timing-shift .timing-attempt-feedback{font-size:12px}}
@media(prefers-reduced-motion:reduce){#timing-shift .timing-result-marker,.timing-attempt-summary .timing-summary-tick{animation:none;transition:none}}
/* The timing wrapper intentionally owns its CTA; it is no longer a direct
   #modalContent child and therefore must not rely on that shared selector. */
#timing-shift #hit{min-height:46px;background:linear-gradient(#d9ffdc,#94e8c8 48%,#65bfb4);border:1px solid #d9ffe5;border-radius:11px;color:#123548;box-shadow:inset 0 2px #f2ffe8,0 3px 0 #245668,0 5px 9px #041a3033;transition:translate 90ms,box-shadow 90ms}
#timing-shift #hit:hover:not(:disabled){background:linear-gradient(#e6ffe7,#a7f2d5 48%,#72cbbf)}
#timing-shift #hit:active:not(:disabled){translate:0 2px;box-shadow:inset 0 2px 4px #12354833,0 1px 0 #245668}
#timing-shift #hit:focus-visible{outline:3px solid #f5df9d;outline-offset:3px}
#timing-shift #hit:disabled{translate:none;cursor:not-allowed}
@media(prefers-reduced-motion:reduce){#timing-shift #hit{transition:none;translate:none!important}}
