/* ════════════════════════════════════════════════════════
   VEDEM SIM RACING — Supplemental Stylesheet
   vedem-site/css/sim-racing.css
   Inherits variables from main.css
════════════════════════════════════════════════════════ */

/* Override cursor color for sim racing page */
.cursor { background: var(--blue); }

/* ── sim nav overrides ── */
.nav-logo .logo-mark { border-color: var(--blue); color: var(--blue); }
.nav-logo span { color: var(--blue); }
.nav-links a::after { background: var(--blue); }
.nav-cta { background: var(--blue) !important; }
.nav-cta:hover { background: var(--text) !important; }
.live-badge { display:flex;align-items:center;gap:.5rem;font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted) }
.live-badge.active { color:var(--red,#c85a5a);animation:livePulse 2s ease-in-out infinite }
.live-dot { width:7px;height:7px;border-radius:50%;background:currentColor }
.live-badge.active .live-dot { animation:dotPulse 1.5s ease-in-out infinite }
@keyframes livePulse { 0%,100%{opacity:1}50%{opacity:.7} }
@keyframes dotPulse { 0%,100%{box-shadow:0 0 0 0 rgba(200,90,90,.6)}50%{box-shadow:0 0 0 5px rgba(200,90,90,0)} }
.nav-back { font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);text-decoration:none;display:flex;align-items:center;gap:.5rem;transition:color .2s;cursor:none }
.nav-back:hover { color:var(--text) }
.nav-back svg { width:14px;height:14px }

/* ── sim page hero ── */
.page-hero { padding:calc(var(--nav-h) + 4rem) 3rem 4rem;position:relative;overflow:hidden;border-bottom:1px solid var(--border) }
.page-hero::before { content:'SIM RACING';position:absolute;right:-1rem;top:3rem;font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(5rem,12vw,11rem);color:rgba(90,143,200,.04);line-height:1;pointer-events:none;letter-spacing:-.03em }
.page-hero::after { content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 50px,rgba(90,143,200,.025) 50px,rgba(90,143,200,.025) 51px),repeating-linear-gradient(90deg,transparent,transparent 50px,rgba(90,143,200,.025) 50px,rgba(90,143,200,.025) 51px);pointer-events:none }
.hero-inner { position:relative;z-index:2;max-width:1200px;margin:0 auto }
.hero-eyebrow { font-family:'Space Mono',monospace;font-size:.62rem;color:var(--blue);letter-spacing:.3em;text-transform:uppercase;display:flex;align-items:center;gap:.8rem;margin-bottom:1rem }
.hero-eyebrow::before { content:'';display:block;width:28px;height:1px;background:var(--blue) }
.hero-title { font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(3rem,7vw,6.5rem);line-height:.92;text-transform:uppercase;letter-spacing:-.02em;margin-bottom:1.2rem }
.hero-title .acc { color:var(--blue) }
.hero-title .dim { font-style:italic;color:var(--text-dim) }
.hero-desc { font-size:.95rem;color:var(--text-dim);max-width:520px;line-height:1.75;margin-bottom:2rem }
.hero-stats-row { display:flex;gap:3rem;flex-wrap:wrap }
.h-stat-num { font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:2.6rem;line-height:1;color:var(--text) }
.h-stat-num span { color:var(--blue);font-size:1.2rem }
.h-stat-label { font-family:'Space Mono',monospace;font-size:.55rem;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-top:.2rem }

/* ── sim section overrides ── */
.section-label { color:var(--blue) }
.section-label::before { background:var(--blue) }
.section-title .acc { color:var(--blue) }
.section-rule { background:var(--blue) }

/* ── livestream ── */
#livestream { background:var(--bg);border-bottom:1px solid var(--border) }
.stream-grid { display:grid;grid-template-columns:1fr 320px;gap:1.5rem;align-items:start }
.stream-embed-wrap { position:relative;background:var(--surface);border:1px solid var(--border);overflow:hidden }
.stream-embed-wrap::before { content:'';display:block;padding-top:56.25% }
.stream-embed-wrap iframe,.stream-embed-wrap .stream-placeholder { position:absolute;inset:0;width:100%;height:100% }
.stream-placeholder { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:var(--surface2);border:1px dashed var(--border2) }
.stream-offline-icon { width:56px;height:56px;border:2px solid var(--border2);border-radius:50%;display:flex;align-items:center;justify-content:center }
.stream-offline-icon svg { width:24px;height:24px;fill:var(--muted) }
.stream-placeholder h3 { font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.2rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim) }
.stream-placeholder p { font-size:.78rem;color:var(--muted);text-align:center;max-width:300px;line-height:1.6 }
.stream-placeholder .yt-btn { font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);text-decoration:none;border:1px solid var(--blue);padding:.5rem 1.2rem;transition:background .2s,color .2s;cursor:none }
.stream-placeholder .yt-btn:hover { background:var(--blue);color:var(--bg) }
.stream-meta { margin-top:.8rem;padding:1rem 1.2rem;background:var(--surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:1rem }
.stream-event-name { font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1rem;letter-spacing:.05em;color:var(--text);margin-bottom:.2rem }
.stream-event-sub { font-family:'Space Mono',monospace;font-size:.58rem;color:var(--muted);letter-spacing:.1em;text-transform:uppercase }
.stream-status { display:flex;align-items:center;gap:.5rem;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase }
.stream-status.offline { color:var(--muted) }
.stream-status.live { color:var(--red,#c85a5a) }
.status-dot { width:7px;height:7px;border-radius:50% }
.stream-status.offline .status-dot { background:var(--muted) }
.stream-status.live .status-dot { background:var(--red,#c85a5a);animation:dotPulse 1.5s ease-in-out infinite }
.event-notice { margin-top:.8rem;padding:.8rem 1.2rem;background:rgba(90,143,200,.06);border:1px solid rgba(90,143,200,.2);font-size:.78rem;color:var(--text-dim);display:flex;align-items:center;gap:.6rem;line-height:1.6 }
.event-notice svg { width:14px;height:14px;fill:var(--blue);flex-shrink:0 }
.side-panel { background:var(--surface);border:1px solid var(--border) }
.side-panel-header { padding:1rem 1.2rem;border-bottom:1px solid var(--border);font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-dim);display:flex;align-items:center;justify-content:space-between }
.next-event-card { padding:1.2rem }
.next-event-label { font-family:'Space Mono',monospace;font-size:.55rem;color:var(--blue);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.5rem }
.next-event-name { font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1.6rem;text-transform:uppercase;line-height:.95;color:var(--text);margin-bottom:.4rem }
.next-event-date { font-family:'Space Mono',monospace;font-size:.62rem;color:var(--text-dim);letter-spacing:.08em;margin-bottom:.8rem }
.next-event-cars { font-size:.75rem;color:var(--muted);line-height:1.5 }
.countdown-wrap { margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border) }
.countdown-label { font-family:'Space Mono',monospace;font-size:.52rem;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.5rem }
.countdown-timer { display:flex;gap:.6rem;flex-wrap:wrap }
.countdown-unit { background:var(--surface2);border:1px solid var(--border2);padding:.5rem .6rem;text-align:center;min-width:48px }
.countdown-num { font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1.6rem;line-height:1;color:var(--blue);display:block }
.countdown-unit-label { font-family:'Space Mono',monospace;font-size:.45rem;color:var(--muted);letter-spacing:.1em;text-transform:uppercase }

/* ── schedule ── */
#schedule { background:var(--bg2);border-bottom:1px solid var(--border) }
.year-filter { display:flex;align-items:center;margin-bottom:2.5rem }
.year-btn { background:none;border:1px solid var(--border);font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.9rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);padding:.6rem 1.4rem;cursor:none;transition:all .2s;margin-right:-1px;position:relative }
.year-btn:hover { color:var(--text);border-color:var(--border2);z-index:1 }
.year-btn.active { background:var(--blue);color:var(--bg);border-color:var(--blue);z-index:2 }
.status-filter { display:flex;gap:.5rem;margin-bottom:2rem;flex-wrap:wrap }
.status-pill { font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;padding:.35rem 1rem;border:1px solid var(--border);background:none;color:var(--muted);cursor:none;transition:all .2s }
.status-pill:hover { color:var(--text);border-color:var(--border2) }
.status-pill.active { color:var(--bg) }
.status-pill.active.all { background:var(--text);border-color:var(--text) }
.status-pill.active.upcoming { background:var(--blue);border-color:var(--blue) }
.status-pill.active.completed { background:var(--muted);border-color:var(--muted) }
.events-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1px;background:var(--border) }
.event-card { background:var(--surface);padding:1.5rem;position:relative;transition:background .2s;cursor:none;display:flex;flex-direction:column }
.event-card:hover { background:var(--surface2) }
.event-card.completed { opacity:.7 }
.event-card.completed:hover { opacity:1 }
.event-card.next-up { border-top:2px solid var(--blue) }
.event-card.next-up::before { content:'NEXT UP';position:absolute;top:-1px;right:1.5rem;font-family:'Space Mono',monospace;font-size:.5rem;background:var(--blue);color:var(--bg);padding:.15rem .5rem;letter-spacing:.1em }
.event-card-top { display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.8rem }
.event-type-badge { font-family:'Space Mono',monospace;font-size:.5rem;letter-spacing:.12em;text-transform:uppercase;padding:.15rem .5rem;border:1px solid currentColor;flex-shrink:0 }
.badge-team{color:var(--blue)}.badge-nascar{color:var(--orange)}.badge-super{color:var(--gold)}.badge-tbd{color:var(--muted)}.badge-indycar{color:#a0d0f0}
.event-status-dot { width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:3px }
.status-upcoming { background:var(--blue);box-shadow:0 0 6px var(--blue) }
.status-completed { background:var(--muted) }
.event-name { font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1.4rem;text-transform:uppercase;line-height:.95;color:var(--text);margin-bottom:.3rem;letter-spacing:.01em }
.event-date { font-family:'Space Mono',monospace;font-size:.6rem;color:var(--text-dim);letter-spacing:.08em;margin-bottom:.6rem }
.event-cars { font-size:.75rem;color:var(--muted);line-height:1.5;flex:1;margin-bottom:.8rem }
.event-track { display:flex;align-items:center;gap:.4rem;font-family:'Space Mono',monospace;font-size:.55rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.8rem }
.event-track svg { width:10px;height:10px;fill:var(--muted) }
.event-result-strip { display:none;border-top:1px solid var(--border);padding-top:.8rem;margin-top:auto }
.event-card.has-result .event-result-strip { display:block }
.result-label { font-family:'Space Mono',monospace;font-size:.52rem;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.3rem }
.result-value { font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1rem;letter-spacing:.05em }
.result-value.p1,.result-value.p2,.result-value.p3{color:var(--gold)}.result-value.top5{color:#5ac87a}.result-value.top10{color:var(--text)}.result-value.dnf{color:#c85a5a}.result-value.dns{color:var(--muted)}
.event-card-footer { display:flex;align-items:center;justify-content:space-between;padding-top:.6rem;border-top:1px solid var(--border);margin-top:auto }
.event-iracing-link { font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);text-decoration:none;display:flex;align-items:center;gap:.3rem;transition:color .2s;cursor:none }
.event-iracing-link:hover { color:var(--blue) }
.event-iracing-link svg { width:10px;height:10px }
.event-entry-chip { font-family:'Space Mono',monospace;font-size:.48rem;letter-spacing:.1em;text-transform:uppercase;padding:.15rem .5rem;border:1px solid currentColor;display:none }
.event-card.entering .event-entry-chip,.event-card.competed .event-entry-chip { display:inline-block }
.event-card.entering .event-entry-chip { color:var(--blue) }
.event-card.competed .event-entry-chip { color:#5ac87a }
.event-card.hidden { display:none }

/* ── results ── */
#results { background:var(--bg);border-bottom:1px solid var(--border) }
.results-summary { display:flex;gap:2.5rem;flex-wrap:wrap;margin-bottom:2rem;padding:1.2rem 1.5rem;background:var(--surface);border:1px solid var(--border) }
.rs-num { font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:2.2rem;line-height:1;color:var(--text) }
.rs-num.gold{color:var(--gold)}.rs-num.green{color:#5ac87a}.rs-num.blue{color:var(--blue)}
.rs-label { font-family:'Space Mono',monospace;font-size:.52rem;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-top:.1rem }
.results-table-wrap { overflow-x:auto }
.results-table { width:100%;border-collapse:collapse }
.results-table th { font-family:'Space Mono',monospace;font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:.6rem 1rem;text-align:left;border-bottom:2px solid var(--border2);white-space:nowrap }
.results-table td { padding:.9rem 1rem;border-bottom:1px solid var(--border);font-size:.82rem;color:var(--text-dim);vertical-align:middle }
.results-table tr:last-child td { border-bottom:none }
.results-table tbody tr:hover td { background:rgba(255,255,255,.015) }
.rt-event { font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1rem;letter-spacing:.03em;color:var(--text) }
.rt-date { font-family:'Space Mono',monospace;font-size:.6rem;color:var(--muted);white-space:nowrap }
.rt-pos { font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1.4rem;line-height:1;white-space:nowrap }
.rt-pos.p1,.rt-pos.p2,.rt-pos.p3{color:var(--gold)}.rt-pos.top5{color:#5ac87a}.rt-pos.top10{color:var(--text)}
.rt-pos.dnf{color:#c85a5a;font-size:1rem}.rt-pos.dns{color:var(--muted);font-size:1rem}
.rt-laps,.rt-irating{font-family:'Space Mono',monospace;font-size:.65rem}
.rt-irating.pos{color:#5ac87a}.rt-irating.neg{color:#c85a5a}
.rt-notes{font-size:.75rem;color:var(--muted);font-style:italic}
.rt-empty td{text-align:center;color:var(--muted);font-family:'Space Mono',monospace;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;padding:3rem;border-bottom:none}
.add-result-section { margin-top:2.5rem;padding:2rem;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--blue) }
.add-result-section h3 { font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin-bottom:.4rem }
.add-result-section p { font-size:.78rem;color:var(--muted);margin-bottom:1.2rem;line-height:1.6 }
.add-result-form { display:grid;grid-template-columns:2fr 1fr 1.5fr 1fr 1fr auto;gap:.6rem;align-items:end }
.form-group label { display:block;font-family:'Space Mono',monospace;font-size:.5rem;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.35rem }
.form-group input,.form-group select { width:100%;background:var(--surface2);border:1px solid var(--border2);color:var(--text);font-family:'Barlow',sans-serif;font-size:.82rem;padding:.6rem .8rem;outline:none;transition:border-color .2s;cursor:none }
.form-group input:focus,.form-group select:focus { border-color:var(--blue) }
.form-group select option { background:var(--surface2) }
.add-btn { font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.15em;text-transform:uppercase;background:var(--blue);color:var(--bg);border:none;padding:.7rem 1.4rem;cursor:none;transition:background .2s;white-space:nowrap }
.add-btn:hover { background:var(--text) }

/* ── sim footer ── */
.sim-footer { background:#080808;border-top:1px solid var(--border);padding:2rem 3rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem }
.sim-footer p { font-family:'Space Mono',monospace;font-size:.58rem;color:var(--muted);letter-spacing:.1em;text-transform:uppercase }
.sim-footer a { color:var(--blue);text-decoration:none;transition:color .2s }
.sim-footer a:hover { color:var(--text) }

/* ── responsive ── */
@media(max-width:900px){
  nav{padding:0 1.5rem}.nav-links{display:none}.nav-hamburger{display:none}
  .page-hero{padding:calc(var(--nav-h) + 2rem) 1.5rem 2.5rem}
  .section-inner{padding:3.5rem 1.5rem}
  .stream-grid{grid-template-columns:1fr}
  .add-result-form{grid-template-columns:1fr 1fr}
  .hero-stats-row{gap:2rem}
  .sim-footer{padding:1.5rem}
}
@media(max-width:560px){
  .events-grid{grid-template-columns:1fr}
  .add-result-form{grid-template-columns:1fr}
  .results-summary{gap:1.5rem}
}

/* ══════════════════════════════════════════════════════
   AUTH GATE
══════════════════════════════════════════════════════ */
.add-result-header { display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem }
.add-result-header h3 { font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin-bottom:.3rem }
.add-result-header p { font-size:.78rem;color:var(--muted);line-height:1.6;margin:0 }
.auth-logout-btn { display:flex;align-items:center;gap:.4rem;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);background:none;border:1px solid var(--border);padding:.45rem .9rem;cursor:none;transition:all .2s;white-space:nowrap;flex-shrink:0 }
.auth-logout-btn:hover { color:var(--text);border-color:var(--border2) }
.auth-logout-btn svg { width:13px;height:13px }

.auth-form-wrap { display:flex;flex-direction:column;align-items:center;gap:.9rem;padding:2.5rem 1.5rem;background:var(--surface2);border:1px dashed var(--border2);text-align:center }
.auth-form-wrap.shake { animation:authShake .5s ease }
@keyframes authShake { 0%,100%{transform:translateX(0)} 20%,60%{transform:translateX(-6px)} 40%,80%{transform:translateX(6px)} }
.auth-lock-icon { width:52px;height:52px;border:1px solid var(--border2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--muted) }
.auth-lock-icon svg { width:22px;height:22px }
.auth-title { font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.1rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text) }
.auth-subtitle { font-family:'Space Mono',monospace;font-size:.58rem;color:var(--muted);letter-spacing:.1em;text-transform:uppercase }
.auth-input-row { display:flex;gap:.5rem;width:100%;max-width:380px }
.auth-input { flex:1;background:var(--surface);border:1px solid var(--border2);color:var(--text);font-family:'Barlow',sans-serif;font-size:.85rem;padding:.65rem 1rem;outline:none;transition:border-color .2s }
.auth-input:focus { border-color:var(--blue) }
.auth-submit-btn { font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.15em;text-transform:uppercase;background:var(--blue);color:var(--bg);border:none;padding:.65rem 1.4rem;cursor:none;transition:background .2s;white-space:nowrap }
.auth-submit-btn:hover { background:var(--text) }
.auth-error { font-family:'Space Mono',monospace;font-size:.58rem;color:#c85a5a;letter-spacing:.08em }
.form-group--notes { margin-top:.4rem }
.form-group--notes input { width:100% }
.form-persist-note { font-size:.72rem;color:var(--muted);margin-top:1rem;line-height:1.6 }
.form-persist-note code { font-family:'Space Mono',monospace;font-size:.65rem;color:var(--blue) }

/* ══════════════════════════════════════════════════════
   EVENT CARDS — clickable enhancements
══════════════════════════════════════════════════════ */
.event-card { cursor:pointer }
.event-click-hint { display:flex;align-items:center;gap:.35rem;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);transition:color .2s }
.event-click-hint svg { width:12px;height:12px }
.event-card:hover .event-click-hint { color:var(--blue) }

/* ══════════════════════════════════════════════════════
   EVENT MODAL
══════════════════════════════════════════════════════ */
.event-modal-overlay { position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem;overflow-y:auto;opacity:0;pointer-events:none;transition:opacity .25s }
.event-modal-overlay.open { opacity:1;pointer-events:all }
.event-modal-panel { position:relative;background:var(--surface);border:1px solid var(--border2);width:100%;max-width:680px;margin:auto;transform:translateY(20px);transition:transform .3s;flex-shrink:0 }
.event-modal-overlay.open .event-modal-panel { transform:translateY(0) }

.modal-close-btn { position:absolute;top:1rem;right:1rem;background:none;border:1px solid var(--border);color:var(--muted);width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:none;transition:all .2s;z-index:1;padding:0 }
.modal-close-btn:hover { color:var(--text);border-color:var(--border2) }
.modal-close-btn svg { width:14px;height:14px }

/* Modal header */
.modal-header { padding:1.8rem 2rem 1.4rem;border-bottom:1px solid var(--border) }
.modal-header-meta { display:flex;align-items:center;gap:1rem;margin-bottom:.9rem }
.modal-type-badge { font-family:'Space Mono',monospace;font-size:.5rem;letter-spacing:.12em;text-transform:uppercase;padding:.2rem .6rem;border:1px solid currentColor;flex-shrink:0 }
.modal-status-row { display:flex;align-items:center;gap:.4rem }
.modal-status-dot { width:7px;height:7px;border-radius:50%;flex-shrink:0 }
.modal-status-label { font-family:'Space Mono',monospace;font-size:.52rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted) }
.modal-title { font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(1.8rem,4vw,2.6rem);text-transform:uppercase;line-height:.92;letter-spacing:-.01em;color:var(--text);margin-bottom:.8rem }
.modal-sub-row { display:flex;flex-wrap:wrap;gap:1.2rem }
.modal-meta-item { display:flex;align-items:center;gap:.4rem;font-family:'Space Mono',monospace;font-size:.58rem;color:var(--text-dim);letter-spacing:.06em }
.modal-meta-item svg { width:12px;height:12px;flex-shrink:0 }

/* Modal body */
.modal-body { padding:1.6rem 2rem 2rem }
.modal-specs-row { display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);margin-bottom:1.6rem }
.modal-spec { background:var(--surface2);padding:.9rem 1.2rem }
.modal-spec-label { font-family:'Space Mono',monospace;font-size:.5rem;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.3rem }
.modal-spec-value { font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.95rem;color:var(--text);letter-spacing:.02em }
.modal-section { margin-bottom:1.4rem }
.modal-section-label { font-family:'Space Mono',monospace;font-size:.52rem;color:var(--blue);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.5rem;display:flex;align-items:center;gap:.4rem }
.modal-section-label svg { width:12px;height:12px }
.modal-text { font-size:.84rem;color:var(--text-dim);line-height:1.75;margin:0 }
.modal-tips-text { padding:.9rem 1.1rem;background:rgba(90,143,200,.05);border-left:2px solid var(--blue);font-style:italic }

/* Modal result block */
.modal-result-block { margin-top:1.4rem;padding:1.2rem;background:var(--surface2);border:1px solid var(--border2) }
.modal-result-row { display:flex;align-items:center;gap:1.2rem;margin-top:.6rem }
.modal-result-pos { font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:3rem;line-height:1;flex-shrink:0 }
.modal-result-pos.p1,.modal-result-pos.p2,.modal-result-pos.p3 { color:var(--gold) }
.modal-result-pos.top5 { color:#5ac87a }
.modal-result-pos.top10 { color:var(--text) }
.modal-result-pos.dnf { color:#c85a5a;font-size:2rem }
.modal-result-pos.dns { color:var(--muted);font-size:2rem }
.modal-result-car { font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.1rem;color:var(--text);letter-spacing:.03em }
.modal-result-meta { font-family:'Space Mono',monospace;font-size:.58rem;color:var(--muted);letter-spacing:.08em;margin-top:.2rem }
.modal-result-notes { font-size:.78rem;color:var(--text-dim);font-style:italic;margin-top:.3rem }

/* Modal footer actions */
.modal-footer-actions { display:flex;gap:.6rem;flex-wrap:wrap;padding-top:1.2rem;margin-top:1.4rem;border-top:1px solid var(--border) }
.modal-iracing-btn { display:inline-flex;align-items:center;gap:.4rem;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;padding:.55rem 1.2rem;border:1px solid var(--blue);color:var(--blue);background:none;transition:all .2s;cursor:none }
.modal-iracing-btn:hover { background:var(--blue);color:var(--bg) }
.modal-iracing-btn--secondary { border-color:var(--border2);color:var(--muted) }
.modal-iracing-btn--secondary:hover { background:var(--surface2);color:var(--text);border-color:var(--border2) }
.modal-iracing-btn svg { width:11px;height:11px }

/* ── responsive modal ── */
@media(max-width:560px){
  .event-modal-overlay { padding:.5rem 0;align-items:flex-end }
  .event-modal-panel { max-width:100%;border-bottom:none;border-left:none;border-right:none }
  .modal-header { padding:1.4rem 1.2rem 1rem }
  .modal-body { padding:1.2rem 1.2rem 1.5rem }
  .modal-specs-row { grid-template-columns:1fr }
  .modal-result-row { flex-direction:column;align-items:flex-start;gap:.6rem }
  .modal-result-pos { font-size:2.2rem }
  .auth-input-row { flex-direction:column }
}

/* ── Auth prompt (replaces old password form) ── */
.auth-prompt-box {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.2rem 1.4rem;
  background: var(--surface2);
  border: 1px dashed var(--border2);
}
.auth-prompt-icon {
  width: 20px;
  height: 20px;
  min-width: 20px;
  min-height: 20px;
  max-width: 20px;
  max-height: 20px;
  color: var(--muted);
  flex-shrink: 0;
  display: block;
}

/* SVG sizing — see authoritative block at bottom of file */
.auth-prompt-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  font-size: .9rem;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--text-dim);
  margin-bottom: .2rem;
}
.auth-prompt-sub {
  font-family: 'Space Mono', monospace;
  font-size: .55rem;
  color: var(--muted);
  letter-spacing: .06em;
  line-height: 1.6;
}



/* ══════════════════════════════════════════════════════
   SVG SIZE ENFORCEMENT
   Primary fix: explicit width/height on SVG elements in HTML.
   These rules are the fallback safety net.
   overflow:hidden on containers prevents any blowout.
══════════════════════════════════════════════════════ */

/* Containers — hard size clamp via overflow */
.modal-close-btn        { overflow: hidden }
.modal-meta-item        { overflow: hidden }
.modal-section-label    { overflow: hidden }
.modal-iracing-btn      { overflow: hidden }
.auth-prompt-box        { overflow: hidden }
.event-click-hint       { overflow: hidden }

/* SVG element rules — use !important to beat any specificity issues */
.modal-close-btn svg     { width:14px !important; height:14px !important; min-width:14px; min-height:14px; flex-shrink:0; display:block }
.modal-meta-item svg     { width:12px !important; height:12px !important; min-width:12px; min-height:12px; flex-shrink:0; display:block }
.modal-section-label svg { width:12px !important; height:12px !important; min-width:12px; min-height:12px; flex-shrink:0; display:block }
.modal-iracing-btn svg   { width:11px !important; height:11px !important; min-width:11px; min-height:11px; flex-shrink:0; display:block }
.auth-prompt-icon        { width:20px !important; height:20px !important; min-width:20px; min-height:20px; flex-shrink:0; display:block }
.auth-logout-btn svg     { width:13px !important; height:13px !important; min-width:13px; min-height:13px; flex-shrink:0 }
.event-click-hint svg    { width:10px !important; height:10px !important; min-width:10px; min-height:10px; flex-shrink:0 }