.curve-interactive{position:relative;cursor:crosshair;outline:none}
.curve-interactive:focus-visible{box-shadow:inset 0 0 0 2px var(--gold2)}
.curve-expand{position:absolute;right:16px;bottom:14px;border:1px solid rgba(229,179,0,.55);background:rgba(5,5,5,.88);color:var(--gold2);padding:6px 8px;font-size:9px;font-weight:900;letter-spacing:.08em;pointer-events:none}
.curve-axis-scale{position:absolute;inset:0;z-index:2;pointer-events:none}
.curve-axis-tick{position:absolute;left:0;right:0;height:0}
.curve-axis-tick:after{content:"";position:absolute;left:var(--axis-line-left);right:var(--axis-line-right);top:0;border-top:1px solid rgba(255,255,255,.105)}
.curve-axis-tick b{position:absolute;left:6px;top:0;transform:translateY(-50%);min-width:46px;padding:2px 4px;background:rgba(5,5,5,.86);color:#aeb7c1;font-size:10px;line-height:1;font-weight:700;letter-spacing:.01em;text-align:right;white-space:nowrap}
.curve-guide,.curve-dot,.curve-readout{position:absolute;z-index:4;pointer-events:none;opacity:0;transition:opacity .08s ease}
.curve-guide{width:1px;background:rgba(255,204,41,.78)}
.curve-dot{width:10px;height:10px;border:2px solid #050505;border-radius:50%;background:var(--gold2);transform:translate(-50%,-50%);box-shadow:0 0 0 1px var(--gold2)}
.curve-readout{min-width:132px;transform:translate(-50%,-100%);border:1px solid rgba(229,179,0,.68);background:rgba(5,5,5,.96);color:#fff;padding:8px 10px;text-align:center;font-size:12px;font-weight:900;letter-spacing:.03em;white-space:nowrap}
.curve-readout small{display:block;color:#9a9a9a;font-size:9px;font-weight:700;letter-spacing:.07em;margin-top:4px}
.curve-interactive.is-reading .curve-guide,.curve-interactive.is-reading .curve-dot,.curve-interactive.is-reading .curve-readout{opacity:1}
.curve-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:rgba(0,0,0,.9);padding:24px}
.curve-modal-dialog{width:min(1240px,100%);max-height:calc(100vh - 48px);overflow:auto;border:1px solid rgba(229,179,0,.55);background:radial-gradient(circle at 80% 0,rgba(229,179,0,.12),transparent 24rem),#080808;box-shadow:0 30px 90px rgba(0,0,0,.7)}
.curve-modal-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid rgba(255,255,255,.1)}
.curve-modal-title{color:var(--gold2);font-size:14px;font-weight:900;letter-spacing:.1em}
.curve-modal-close{border:1px solid #555;background:#0a0a0a;color:#fff;padding:9px 12px;font-size:11px;font-weight:900;cursor:pointer}
.curve-modal-body{padding:18px}
.curve-modal-body .curve-shell{padding:18px 20px 22px;touch-action:none}
.curve-modal-body .curve-expand{display:none}
.curve-modal-help{color:#888;font-size:11px;line-height:1.5;margin:12px 2px 0}
body.curve-modal-open{overflow:hidden}
.media[data-race-photo]{appearance:none;width:100%;padding:0;color:inherit;font:inherit;text-align:inherit;cursor:zoom-in;position:relative}
.media[data-race-photo]:after{content:"VERGROOT +";position:absolute;right:10px;bottom:10px;padding:6px 8px;border:1px solid rgba(229,179,0,.65);background:rgba(5,5,5,.86);color:var(--gold2);font-size:9px;font-weight:900;letter-spacing:.08em;opacity:.86}
.media[data-race-photo]:hover:after,.media[data-race-photo]:focus-visible:after{opacity:1;background:#050505}
.media[data-race-photo]:focus-visible{outline:2px solid var(--gold2);outline-offset:3px}
.photo-modal{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:24px;background:rgba(0,0,0,.94)}
.photo-modal-dialog{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;width:min(1400px,100%);height:min(900px,calc(100vh - 48px));border:1px solid rgba(229,179,0,.55);background:#050505;box-shadow:0 30px 90px rgba(0,0,0,.8);overflow:hidden}
.photo-modal-image{display:block;width:100%;height:100%;min-height:0;object-fit:contain;background:#020202}
.photo-modal-caption{padding:13px 70px;color:#aaa;font-size:11px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.photo-modal-close,.photo-modal-nav{position:absolute;border:1px solid rgba(255,255,255,.35);background:rgba(5,5,5,.84);color:#fff;font-weight:900;cursor:pointer}
.photo-modal-close{top:12px;right:12px;padding:9px 12px;font-size:10px;letter-spacing:.06em}
.photo-modal-nav{top:50%;width:46px;height:56px;transform:translateY(-50%);font-size:34px;line-height:1}.photo-modal-previous{left:12px}.photo-modal-next{right:12px}
.photo-modal-close:hover,.photo-modal-close:focus-visible,.photo-modal-nav:hover,.photo-modal-nav:focus-visible{border-color:var(--gold2);color:var(--gold2);outline:none}
body.photo-modal-open{overflow:hidden}
@media(max-width:700px){.curve-axis-tick b{left:2px;min-width:43px;font-size:9px}.curve-expand{font-size:8px;right:10px;bottom:9px}.curve-modal{padding:8px}.curve-modal-dialog{max-height:calc(100vh - 16px)}.curve-modal-head{padding:14px}.curve-modal-body{padding:8px}.curve-modal-body .curve-shell{padding:10px 8px 14px}.curve-readout{min-width:116px;font-size:11px}.photo-modal{padding:0}.photo-modal-dialog{width:100%;height:100vh;border:0}.photo-modal-caption{padding:12px 56px;font-size:10px}.photo-modal-close{top:10px;right:10px}.photo-modal-nav{width:42px;height:54px}.photo-modal-previous{left:8px}.photo-modal-next{right:8px}}
