/* ghost-race.css — Ghost Race page-specific styles */
.ghost-race .topnav a{min-height:44px;display:inline-flex;align-items:center;}
.ghost-race .back-link{min-height:44px;display:inline-flex;align-items:center;gap:6px;color:var(--cy);text-decoration:none;font:600 .85rem var(--font-body);margin-bottom:20px;}
.ghost-race .back-link:hover{text-decoration:underline;}
.ghost-race .back-link:focus-visible{outline:2px solid var(--cy);outline-offset:3px;}
.ghost-race .field-label{display:block;font:600 .82rem var(--font-mono);color:var(--dim);margin-bottom:8px;letter-spacing:.06em;text-transform:uppercase;}
.ghost-race #lift-select{width:100%;padding:12px 14px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-sm);color:var(--ink);font:400 .95rem var(--font-body);cursor:pointer;min-height:44px;}
.ghost-race #lift-select:focus-visible{outline:2px solid var(--cy);outline-offset:2px;}
.ghost-race .ghost-info{margin:16px 0;padding:14px;background:var(--surface-2);border-radius:var(--r-sm);border:1px solid var(--line);font-family:var(--font-mono);font-size:.85rem;color:var(--dim);display:none;}
.ghost-race .ghost-info.visible{display:block;}
.ghost-race .ghost-info strong{color:var(--ink);}
.ghost-race .race-btn{width:100%;padding:14px;border:none;border-radius:var(--r-sm);background:var(--cy);color:#fff;font:700 1rem var(--font-display);cursor:pointer;min-height:44px;transition:opacity .2s,transform .1s;}
.ghost-race .race-btn:disabled{opacity:.4;cursor:not-allowed;}
.ghost-race .race-btn:not(:disabled):active{transform:scale(.98);}
.ghost-race .race-arena{margin-top:24px;}
.ghost-race .lane{display:flex;align-items:center;gap:12px;padding:16px;border-radius:var(--r);margin-bottom:12px;}
.ghost-race .lane-you{background:rgba(37,99,235,.08);border:1px solid rgba(37,99,235,.2);}
.ghost-race .lane-ghost{background:rgba(45,212,191,.06);border:1px solid rgba(45,212,191,.15);}
.ghost-race .lane-label{font:700 .72rem var(--font-mono);letter-spacing:.12em;writing-mode:vertical-rl;text-orientation:mixed;color:var(--dim);min-width:24px;}
.ghost-race .lane-you .lane-label{color:var(--cy);}
.ghost-race .lane-ghost .lane-label{color:var(--teal);}
.ghost-race .barbell-track{flex:1;height:60px;position:relative;background:var(--surface-2);border-radius:8px;overflow:hidden;}
.ghost-race .barbell{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:700 .7rem var(--font-mono);transition:left .05s linear;}
.ghost-race .barbell-you{background:var(--cy);color:#fff;box-shadow:0 0 12px rgba(37,99,235,.4);}
.ghost-race .barbell-ghost{background:var(--teal);color:#0d0e12;opacity:.7;box-shadow:0 0 8px rgba(45,212,191,.3);}
.ghost-race .rep-marker{position:absolute;bottom:2px;font:400 .6rem var(--font-mono);color:var(--faint);transform:translateX(-50%);}
.ghost-race .lane-stats{font:400 .78rem var(--font-mono);color:var(--dim);min-width:90px;text-align:right;}
.ghost-race .lane-stats .stat-val{color:var(--ink);font-weight:700;}
.ghost-race .race-controls{display:flex;gap:12px;margin-top:16px;}
.ghost-race .race-play,.ghost-race .race-reset{flex:1;padding:12px;border-radius:var(--r-sm);font:700 .9rem var(--font-display);cursor:pointer;min-height:44px;transition:transform .1s;}
.ghost-race .race-play{background:var(--good);color:#0d0e12;border:none;}
.ghost-race .race-reset{background:transparent;border:1px solid var(--line-strong);color:var(--dim);}
.ghost-race .race-play:active,.ghost-race .race-reset:active{transform:scale(.98);}
.ghost-race .race-result{margin-top:16px;padding:16px;border-radius:var(--r);font:700 1.1rem var(--font-display);text-align:center;display:none;}
.ghost-race .race-result.visible{display:block;}
.ghost-race .race-result.win{background:rgba(54,224,127,.1);border:1px solid rgba(54,224,127,.25);color:var(--good);}
.ghost-race .race-result.lose{background:rgba(232,97,90,.08);border:1px solid rgba(232,97,90,.2);color:var(--caution);}
.ghost-race .race-result.tie{background:var(--surface-2);border:1px solid var(--line);color:var(--dim);}
@media (prefers-reduced-motion:reduce){.ghost-race .barbell{transition:none;}}
