/* FlyMarket: geometric fly identity, race broadcast, and a compact market terminal. */
:root{--bg:#0b0d0a;--panel:#11150f;--panel2:#1b2117;--line:#394331;--text:#f4f5e9;--muted:#aab3a0;--accent:#d6ff3f;--lime:#d6ff3f;--limeink:#111707;--danger:#ff7065;--terminal:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-family:Barlow,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.map-mode{--hud:#10150ff5;--hud-line:#69795366}
.map-mode .topbar{height:82px;background:#0b0d0af7;border-bottom:1px solid #788b4c70;gap:20px;box-shadow:0 5px 0 #0b0d0a55}
.map-mode .topbar::after{content:"";position:absolute;left:calc(var(--rail) + var(--gutter)*2);right:var(--gutter);bottom:-3px;height:3px;background:linear-gradient(90deg,var(--lime) 0 110px,transparent 110px);pointer-events:none}
.map-mode .brand{gap:10px;color:var(--text);text-shadow:none;letter-spacing:0;white-space:nowrap;align-items:center}
.brand-symbol{width:56px;height:56px;flex-shrink:0;color:var(--lime);image-rendering:auto;object-fit:contain}
.brand-wordmark{display:flex;flex-direction:column;gap:5px;font:900 31px/.9 'Barlow Condensed',Impact,'Arial Narrow',sans-serif;letter-spacing:-.7px;text-transform:uppercase}
.map-mode .brand-wordmark small{display:block;font:9px/1 var(--terminal);letter-spacing:1.25px;color:#a7b98c}
.alpha-stamp{display:flex;gap:10px;align-items:center;padding:7px 9px;color:var(--lime);border:1px solid #6c843e;font:11px/1 var(--terminal);letter-spacing:1px;margin-right:auto;white-space:nowrap}
.alpha-stamp span{color:#adb99c;letter-spacing:0}
.map-mode .food-source-label{z-index:1;border-radius:0;background:var(--lime)}
.map-mode .scene-shade{background:linear-gradient(90deg,#090d09c9 0,transparent 30%),linear-gradient(180deg,#090d099e 8%,transparent 38%,transparent 68%,#090d09c4)}
.hud-button,.map-mode .wallet-button,.map-menu>summary{min-height:44px;border:1px solid #49553a;border-radius:0;background:#151b11;color:#edf3dc;font:600 12px/1 var(--terminal);letter-spacing:-.15px;padding:12px 14px;backdrop-filter:none}
.map-mode .wallet-button,.map-mode .start-button,.primary-button{background:var(--lime);border-color:var(--lime);color:#101707;box-shadow:3px 3px 0 #66832c;border-radius:0}
.map-mode .wallet-button:hover,.map-mode .start-button:hover:not(:disabled),.primary-button:hover:not(:disabled){background:#e5ff88;color:#101707;transform:translateY(-1px)}
.hud-button:hover,.map-menu>summary:hover{background:#243019;border-color:var(--lime)}
.map-menu>div{background:#0e140bf7;border:1px solid #718747;border-radius:0;box-shadow:5px 5px 0 #0008}
.map-menu button{border-radius:0;font-family:var(--terminal);font-size:12px;min-height:44px}
.map-menu button:hover,.panel-tabs button[aria-pressed=true]{background:#29391b;color:var(--lime)}
.map-mode .arena-top{top:104px;align-items:flex-start}
.map-mode .venue-title{padding:0 0 9px 16px;border-left:4px solid var(--lime);text-shadow:0 2px 12px #000c}
.map-mode .venue-title .eyebrow{font:11px/1.2 var(--terminal);letter-spacing:1.1px;color:#ebf4d7}
.map-mode .venue-title h1{font:900 clamp(44px,4.3vw,68px)/.92 'Barlow Condensed',Impact,'Arial Narrow',sans-serif;letter-spacing:-1.4px;margin:8px 0 10px;color:#f8faee;white-space:nowrap}
.venue-title h1 em{color:var(--lime);font-style:italic;text-shadow:3px 3px 0 #223209}
.map-mode .venue-title p{font:10px/1.5 var(--terminal);letter-spacing:0;color:#e8efd9;gap:10px}
.map-mode .venue-title p span+span{border-color:#9fad8680}
.map-mode .race-timer{padding:10px 12px 12px;background:#0d130ce8;border:1px solid #687c456e;min-width:154px}
.map-mode .race-timer>span{display:block;font:10px/1.3 var(--terminal);text-transform:uppercase;letter-spacing:.6px;border:0;background:none;color:var(--lime);padding:0;margin:0 0 6px}
.map-mode .race-timer strong{font:700 36px/1 var(--terminal);letter-spacing:-2px;color:#f0f6df}
.map-mode .leader-strip{top:230px;gap:5px}
.leader-item{border:1px solid #7b8f4c66;border-radius:0;background:#0b120ce8;font-family:var(--terminal);font-size:11px;padding:5px 8px 5px 5px;box-shadow:none}
.leader-item .place{color:#b7caa1}.leader-item b{border-radius:0}
.map-mode .runners-section{background:#0b110ceb;border:1px solid #83936355;padding:10px;gap:8px;top:104px;bottom:28px}
.map-mode .runners-section .section-line{margin:0;padding:1px 0 8px;border-bottom:1px solid #55663b}
.map-mode .runners-section h2{font:700 12px/1 var(--terminal);letter-spacing:1px;color:var(--lime)}
.map-mode #selection-hint{font:11px/1.4 var(--terminal);color:#d0d9c4}
.map-mode .runner-grid{gap:7px;padding:2px}
.map-mode .runner-card.runner-camera-card{border-radius:0;border:1px solid #9fa78d77;box-shadow:none;overflow:hidden;transition:border-color .15s,box-shadow .15s}
.map-mode .runner-card.runner-camera-card:hover{border-color:var(--runner-color);box-shadow:0 0 0 1px var(--runner-color)}
.map-mode .runner-card.runner-camera-card[aria-pressed=true]{border:2px solid var(--runner-color);box-shadow:3px 0 0 var(--runner-color)}
.map-mode .runner-card.runner-camera-card>strong{font:800 25px/1 'Barlow Condensed',Impact,'Arial Narrow',sans-serif;letter-spacing:.3px;text-transform:uppercase;bottom:7px;left:8px;text-shadow:0 2px 4px #000}
.map-mode .runner-card.runner-camera-card .runner-no{border-radius:0;font:700 12px/1 var(--terminal);padding:4px 5px;background:var(--runner-color);color:#071008}
.map-mode .runner-live-tag{font:9px/1 var(--terminal);letter-spacing:.7px;background:#0b120be6;padding:4px;border:1px solid #ecf4dc55;border-radius:0;color:#f0f7e6}
.rail-details{font:11px/1.4 var(--terminal);background:#141e10;border:1px solid #687d40;border-radius:0;color:#dfedc8;padding:11px 9px;min-height:44px}
.rail-details:hover{color:var(--lime);border-color:var(--lime)}
.map-mode .arena-bottom{bottom:151px}
.race-caption>span{font:700 11px/1 var(--terminal);color:var(--lime);letter-spacing:1px}
.map-mode .race-caption p{font-size:14px;line-height:1.4;color:#f0f5e8;text-shadow:0 2px 6px #000}
.map-mode .camera-controls{background:#0c130cf2;border:1px solid #677d4777;border-radius:0;padding:4px;gap:3px;backdrop-filter:none}
.map-mode .camera-controls button{border-radius:0;font:11px/1.1 var(--terminal);color:#e6eedb;min-height:40px;padding:10px 11px}
.camera-label-short{display:none}
.map-mode .camera-controls button[aria-pressed=true]{background:var(--lime);color:#111707;border-color:var(--lime)}
.map-mode .race-dock{min-height:92px;border-radius:0;background:#0b110cf5;border:1px solid #798c526e;border-top:3px solid var(--lime);box-shadow:5px 5px 0 #07100480;padding:15px 16px 15px 20px;backdrop-filter:blur(12px)}
.dock-eyebrow{font:10px/1 var(--terminal);letter-spacing:1.1px;color:#b8c69f}
.dock-selection>strong{font:800 30px/1 'Barlow Condensed',Impact,'Arial Narrow',sans-serif;letter-spacing:.25px;text-transform:uppercase}
.dock-selection>button{font:11px/1.3 var(--terminal);color:#d3dec6}
.dock-ticket{border-left-color:#54693d}.dock-ticket>span{font:11px/1.3 var(--terminal);color:#c9d5b7}.dock-ticket>strong{font:700 23px/1 var(--terminal);color:#f2f7e4}.dock-ticket>small{color:var(--lime);font:11px/1 var(--terminal)}
.map-mode .race-dock .start-button{font:800 20px/1 'Barlow Condensed',Impact,'Arial Narrow',sans-serif;text-transform:uppercase;letter-spacing:.7px;min-height:58px;border:1px solid var(--lime);box-shadow:none}
.map-mode .race-dock .start-button:disabled{opacity:1;background:#27321b;border-color:#667849;color:#c8d6b2}
.map-mode .map-status{font:10px/1.2 var(--terminal);color:#c3d3b0}
.map-mode .loading-screen,.map-panel,.ad-dialog,dialog{background:#11160f;color:var(--text);border-color:#677e45;border-radius:0}
.loading-brand{font:900 42px/1 'Barlow Condensed',Impact,'Arial Narrow',sans-serif;letter-spacing:-1px;text-transform:uppercase;color:var(--lime)}
.loading-brand img{display:block;width:96px;height:96px;object-fit:contain;image-rendering:auto;margin:0 auto 18px}
.panel-heading{border-color:#465b30;font-family:var(--terminal);font-size:12px;letter-spacing:.6px;background:#192312}
.panel-close{background:#11190c;border-color:#667b43;border-radius:0;color:var(--lime);min-width:44px;min-height:44px}
.panel-tabs button{font-family:var(--terminal);font-size:12px;border-radius:0;color:#c9d5b9}
.map-mode .panel-scroll,.map-mode .map-panel .race-desk{color:var(--text)}
.map-mode .panel-scroll input:not([type=checkbox]),.map-mode .panel-scroll select,.ad-editor-fields input:not([type=file]),.ad-editor-fields select,.stake-field{background:#090f08;border-color:#526b38;color:#f3f7e7;border-radius:0}
.secondary-button,.stake-options button{background:#1c2916;border-color:#576b3c;color:#e6f0d4;border-radius:0}
.secondary-button:hover,.stake-options button[aria-pressed=true]{background:#30441e;border-color:var(--lime);color:#f3ffd9}
.ad-upload,.ad-screen-card{background:#192312;border-color:#5b7440;border-radius:0}.ad-card-open:hover{background:#293a1c}
.ad-display-frame{background:#0a1008;border-color:#25361a;box-shadow:0 0 0 1px #68844a}
.ad-card-detail,.ad-card-foot,.ad-editor-art>p,.ad-checkout p,.pool-rules,.usdg-pool>p{color:#b9c8a8}
.quiet-button{color:#d4e6be}.quiet-button:hover{color:var(--lime)}
.photo-banner{background:#0d170af5;border:2px solid var(--lime);border-radius:0}.photo-banner>span,.ad-preview-status,#ad-message,.transaction-link,.ticket-runner,.ticket-math strong:last-child,.point-tag{color:var(--lime)}
.point-tag{background:#2c401a;border-radius:0}.ad-preview-status{background:#15220bf5;border-color:var(--lime);font-family:var(--terminal);border-radius:0}
.photo-banner button,.advertise-button{background:var(--lime);color:#111707;border-radius:0}.environment-heading span{color:var(--lime)}
.ad-market-terms{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border:1px solid #536e36;background:#1b2a11;padding:14px 16px;margin:0 0 18px;font-size:14px}.ad-market-terms strong{color:#f3f7e7}.ad-market-terms span{color:#c7d8b4}
.ad-refund-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;background:#0b1308;border:1px solid #4d6535;padding:13px 10px;margin:14px 0}.ad-refund-summary dt{color:#b9caa6;font-size:12px;line-height:1.4}.ad-refund-summary dd{margin:6px 0 0;font-size:21px;font-weight:600;white-space:nowrap}.ad-refund-summary small{font-size:11px;font-weight:400;color:#b9caa6}.ad-refund-summary>div:last-child dd{color:var(--lime)}.ad-checkout .ad-withdraw{border-color:#718d4e;color:#edf7df;background:transparent;white-space:normal}.ad-checkout{border-color:#506837}
.ad-recovery{margin-top:14px;padding-top:14px;border-top:1px solid #506837}.ad-recovery label{font-size:14px}.ad-recovery p{font-size:13px}.ad-recovery input{font-family:var(--terminal);font-size:12px}
:focus-visible{outline-color:var(--lime)}
@media(max-width:1150px){.alpha-stamp span{display:none}.map-mode .venue-title h1{font-size:52px}.map-mode .race-timer{min-width:132px}.map-mode .race-timer strong{font-size:30px}.map-mode .topbar{gap:12px}.brand-wordmark{font-size:28px}.map-mode .brand-wordmark small{font-size:8px}.hud-button,.map-mode .wallet-button,.map-menu>summary{padding:11px;font-size:11px}}
@media(max-width:900px){.alpha-stamp{display:none}.map-mode .venue-title h1{font-size:46px}.map-mode .race-timer{min-width:0}.map-mode .arena-top{gap:12px}.map-mode .leader-strip{top:220px}}
@media(max-width:700px){
 .map-mode .topbar{height:calc(70px + env(safe-area-inset-top));gap:8px;padding-right:12px;padding-left:12px}.map-mode .topbar::after{left:12px;right:12px}
 .brand-symbol{width:33px;height:33px}.brand-wordmark{font-size:23px;letter-spacing:-.5px}.map-mode .brand-wordmark small{display:none}.map-mode .brand{gap:6px}
 .map-mode .top-actions{gap:5px}.hud-button,.map-mode .wallet-button,.map-menu>summary{min-height:44px;padding:9px;font:600 11px/1.1 var(--terminal);box-shadow:none}
 .map-mode .runners-section{top:calc(83px + env(safe-area-inset-top));bottom:calc(139px + env(safe-area-inset-bottom));padding:5px;gap:5px}.map-mode .runners-section .section-line{padding:3px 2px 6px}.map-mode .runners-section h2{font-size:10px}.map-mode #selection-hint{font:10px/1.3 var(--terminal)}
 .map-mode .runner-grid{gap:5px;padding:1px}.map-mode .runner-card.runner-camera-card>strong{font-size:22px;left:6px;bottom:6px}.map-mode .runner-card.runner-camera-card .runner-no{font-size:10px;padding:3px 4px}.rail-details{font:10px/1.3 var(--terminal);padding:8px 5px;min-height:44px}
 .map-mode .arena-top{top:calc(86px + env(safe-area-inset-top));display:block}.map-mode .venue-title{border-left-width:2px;padding:0 0 2px 8px}.map-mode .venue-title .eyebrow{font:9px/1.3 var(--terminal);letter-spacing:0;max-width:100%}.map-mode .venue-title h1{font-size:37px;letter-spacing:-.8px;margin:5px 0 6px}.map-mode .venue-title p{font-size:9px;gap:5px;line-height:1.4}.map-mode .venue-title p span+span{padding-left:5px}
 .map-mode .race-timer{margin-top:10px;background:#0e150de8;border:1px solid #677d4777;padding:6px 7px;display:inline-flex;gap:8px;flex-wrap:wrap;max-width:100%;align-items:center}.map-mode .race-timer>span{font-size:9px;margin:0;letter-spacing:0}.map-mode .race-timer strong{font-size:24px;letter-spacing:-1.5px}.map-mode .leader-strip{top:calc(239px + env(safe-area-inset-top));gap:4px}.map-mode .leader-item{font-size:10px}
 .map-mode .arena-bottom{bottom:calc(148px + env(safe-area-inset-bottom));gap:8px}.map-mode .race-caption p{font-size:12px}.map-mode .camera-controls{padding:3px;gap:2px}.map-mode .camera-controls button{font:10px/1.2 var(--terminal);padding:8px;min-height:44px}
 .map-mode .race-dock{padding:10px;gap:9px;min-height:92px;bottom:calc(26px + env(safe-area-inset-bottom));box-shadow:none}.dock-eyebrow{font-size:9px}.dock-selection>strong{font-size:24px}.dock-selection>button{font-size:10px}.dock-ticket{padding-left:9px}.dock-ticket>span{font-size:10px}.dock-ticket>strong{font-size:18px}.map-mode .race-dock .start-button{width:123px;font-size:16px;min-height:54px;padding:10px;letter-spacing:.2px}.map-mode .map-status{font-size:10px}
 .map-panel{border-radius:0}.panel-heading{font-size:11px}.panel-tabs button{font-size:11px}.ad-refund-summary dt{font-size:11px}
}
@media(max-width:390px){.brand-symbol{width:29px;height:29px}.brand-wordmark{font-size:21px}.map-mode .brand{gap:5px}.map-mode #screens-button::after{font-family:var(--terminal);font-size:11px}.map-mode .wallet-button{font-size:10px;padding:9px 7px}.map-mode .venue-title h1{font-size:33px}.map-mode .camera-controls button{padding:7px;font-size:10px}.map-mode .race-dock .start-button{width:113px}}
@media(max-height:620px) and (min-width:701px){.map-mode .runners-section{top:88px;bottom:20px;padding:6px}.map-mode .arena-top{top:92px}.map-mode .venue-title h1{font-size:40px}.map-mode .leader-strip{top:192px}.map-mode .arena-bottom{bottom:128px}.map-mode .race-timer strong{font-size:28px}}
@media(max-height:500px) and (orientation:landscape){
 .map-mode .topbar{height:54px;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.brand-symbol{width:29px;height:29px}.brand-wordmark{font-size:23px}.map-mode .brand-wordmark small,.alpha-stamp{display:none}
 .map-mode .runners-section{top:63px;bottom:12px;padding:4px}.map-mode .runners-section>.section-line{display:none}.map-mode .arena-top{top:65px;display:flex;align-items:center}.map-mode .venue-title{padding:0 0 0 7px}.map-mode .venue-title .eyebrow{font-size:8px}.map-mode .venue-title h1{font-size:28px;margin:4px 0}.map-mode .race-timer{margin:0;padding:4px 6px}.map-mode .race-timer>span{font-size:9px}.map-mode .race-timer strong{font-size:21px}.map-mode .leader-strip{display:none}
 .map-mode .arena-bottom{bottom:105px}.map-mode .camera-controls button{min-height:44px;padding:7px 9px}.map-mode .race-dock{min-height:68px;padding:8px;bottom:14px}.map-mode .race-dock .start-button{min-height:46px}.dock-selection>strong{font-size:22px}
}
@media(prefers-reduced-motion:reduce){.map-mode .runner-card.runner-camera-card{transition:none}.map-mode .wallet-button:hover,.map-mode .start-button:hover:not(:disabled),.primary-button:hover:not(:disabled){transform:none}}

@media(max-width:700px){.camera-label-long{display:none}.camera-label-short{display:inline}}
@media(max-width:700px) and (orientation:portrait){.map-mode #fullscreen-button{padding-right:0;padding-left:0}}
@media(max-width:390px){.map-mode .race-timer{gap:5px;padding:6px}.map-mode .race-timer strong{font-size:22px}}

/* The camera focus and the backed runner are separate states. */
.runner-market-odds{position:absolute;right:8px;bottom:8px;z-index:3;background:#0c140ce8;color:var(--lime);padding:4px 5px;font:700 14px/1 var(--terminal);border:1px solid #7c944866}
.runner-ticket-badge{position:absolute;right:8px;top:35px;z-index:3;background:var(--lime);color:#101707;padding:3px 5px;font:700 9px/1 var(--terminal);letter-spacing:.3px}
.dock-return{display:block;font:11px/1.35 var(--terminal);color:var(--lime);white-space:nowrap;margin-top:2px}
.market-disclosure,.result-ticket{font:12px/1.5 var(--terminal);color:#c1ceb1}
.result-ticket{padding:12px;border:1px solid #536e36;background:#172210}
.usdg-runner-markets{display:grid;gap:7px;margin:16px 0}
.usdg-runner-market{display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:12px;background:#172210;border:1px solid #526a38;font-size:13px}
.usdg-runner-market strong{color:var(--lime)}
.usdg-runner-market small{color:#bfcca9;font:11px/1.4 var(--terminal)}
@media(max-width:700px){
 .map-mode .runners-section h2{font-size:9px;letter-spacing:0}
 .runner-market-odds{right:4px;bottom:5px;padding:3px;font-size:10px}
 .runner-ticket-badge{right:4px;top:5px;font-size:8px;padding:3px}
 .dock-return{font-size:9px;white-space:normal;max-width:125px}
 .map-mode .runner-card.runner-camera-card>strong{font-size:20px}
 .map-mode .race-dock .dock-selection{min-width:0}
 .market-disclosure{font-size:12px}
}
@media(max-height:500px) and (orientation:landscape){.dock-return{font-size:9px}.map-mode .race-dock{padding:6px 8px}.dock-selection>strong{font-size:20px}.map-mode .dock-selection>button{display:none}.runner-ticket-badge{top:5px}}

.usdg-market-odds{font:700 17px/1.2 var(--terminal);color:var(--lime)}
.usdg-market-pool,.usdg-market-position{font:11px/1.5 var(--terminal);overflow-wrap:anywhere}
.usdg-market-position{text-align:right}.usdg-market-rate-label{grid-column:1/-1}
.usdg-runner-market[data-selected=true]{outline:1px solid var(--lime)}
.usdg-runner-market[data-backed=true]{border-left:4px solid var(--lime);background:#223017}

/* Betting is the main action; confirmation remains visible while the ticket scrolls. */
#betting-status{color:var(--lime);font-weight:700}
.map-mode .race-dock .start-button:not(:disabled){background:var(--lime);color:#101707;border-color:#dcff9a;box-shadow:0 0 0 3px #b5ff3520}
.dock-ticket>small{line-height:1.35}
.runner-dialog .panel-heading{flex-shrink:0}
.runner-dialog .panel-scroll{flex:1;min-height:0}
.ticket-footer{flex-shrink:0;display:grid;grid-template-columns:1fr auto;gap:9px;padding:15px 20px;background:#192411;border-top:2px solid var(--lime)}
.ticket-footer>p{grid-column:1/-1;margin:0;color:#d9e9c1;font:11px/1.5 var(--terminal)}
.ticket-footer>.form-error{grid-column:1/-1;margin:0;padding:9px;font-size:12px}
.ticket-footer .primary-button{margin:0;min-height:50px;font:800 22px/1.15 'Barlow Condensed',Impact,sans-serif;letter-spacing:.5px}
.ticket-footer .quiet-button{margin:0;min-height:48px;max-width:88px;padding:5px;font:11px/1.4 var(--terminal)}
@media(max-width:700px){
 .map-mode .runner-dialog{top:calc(76px + env(safe-area-inset-top));bottom:calc(12px + env(safe-area-inset-bottom));height:calc(100dvh - 88px - env(safe-area-inset-top) - env(safe-area-inset-bottom));max-height:none}
 .ticket-footer{padding:12px 15px;gap:8px}
 .ticket-footer .primary-button{min-height:50px}
 .dock-ticket>small{font-size:9px}
}
@media(max-height:500px) and (orientation:landscape){
 .map-mode .runner-dialog{top:62px;bottom:12px;height:calc(100dvh - 74px)}
 .ticket-footer{padding:8px 14px;gap:5px}
 .ticket-footer .primary-button{min-height:44px;font-size:20px}
 .ticket-footer .quiet-button{min-height:44px;max-width:none}
 .ticket-footer>p{font-size:10px;line-height:1.3}
}

/* Supplied FlyMarket identity: sampled cobalt blue, white, and ink navy. */
:root{--brand-blue:#1a52fd;--brand-navy:#020a36;--bg:var(--brand-blue);--panel:#1745d4;--panel2:#1036a5;--line:#7c9bff;--text:#fff;--muted:#d8e3ff;--accent:#fff;--lime:#fff;--limeink:#123aba;--danger:#ffd0cc}
.map-mode{--hud:#1747def5;--hud-line:#a3bbff77;background:var(--brand-blue)}
.map-mode .topbar{background:var(--brand-blue);border-bottom-color:#a3bbff77;box-shadow:0 5px 0 #020a3626}
.brand-symbol{background:var(--brand-blue);object-fit:cover}
.map-mode .brand-wordmark small,.alpha-stamp span{color:#dae5ff}
.alpha-stamp{border-color:#a3bbff99;color:#fff}
.map-mode .scene-shade{background:linear-gradient(90deg,#020a364d,transparent 32%),linear-gradient(180deg,#020a3640 8%,transparent 38%,transparent 70%,#020a3666)}
.hud-button,.map-mode .wallet-button,.map-menu>summary{background:#1742c9;color:#fff;border-color:#9cb7ff88}
.x-link{color:#fff}
.map-mode .wallet-button,.map-mode .start-button,.primary-button{background:#fff;border-color:#fff;color:#1038b4;box-shadow:3px 3px 0 #020a36}
.map-mode .wallet-button:hover,.map-mode .start-button:hover:not(:disabled),.primary-button:hover:not(:disabled){background:#e4ecff;color:#020a36}
.hud-button:hover,.map-menu>summary:hover{background:#0c30ac;border-color:#fff}
.map-menu>div{background:#1648df;border-color:#91aeff;box-shadow:5px 5px 0 #020a3680}
.map-menu button:hover,.panel-tabs button[aria-pressed=true]{background:#fff;color:#1038b4}
.map-mode .venue-title{border-color:#fff;text-shadow:0 2px 12px #020a36}
.map-mode .venue-title .eyebrow,.map-mode .venue-title h1,.map-mode .venue-title p{color:#fff}
.venue-title h1 em{color:#fff;text-shadow:3px 3px 0 #1a52fd}
.map-mode .venue-title p span+span{border-color:#a8bdff}
.map-mode .race-timer{background:#1749e8f5;border-color:#adc1ff88}
.map-mode .race-timer>span,.map-mode .race-timer strong{color:#fff}
.map-mode .leader-item{background:#143fc4ed;border-color:#9db7ff88;color:#fff}
.leader-item .place{color:#e3ebff}
.map-mode .runners-section{background:var(--brand-blue);border-color:#9bb5ff77}
.map-mode .runners-section .section-line{border-bottom-color:#a2baff88}
.map-mode #selection-hint{color:#edf2ff}
.map-mode .runner-card.runner-camera-card{border-color:#a7bdff99;background:#1744c9}
.map-mode .runner-card.runner-camera-card::after{background:linear-gradient(180deg,#020a3640,transparent 40%,#020a3612 60%,#020a36bf)}
.map-mode .runner-card.runner-camera-card .runner-no{color:#020a36}
.map-mode .runner-live-tag{background:#020a36d9;border-color:#b9cbff88;color:#fff}
.rail-details{background:#1742c9;border-color:#b0c3ff99;color:#fff}
.map-mode .race-caption p{color:#fff;text-shadow:0 2px 6px #020a36}
.map-mode .camera-controls{background:#1749e8f5;border-color:#adc1ff88}
.map-mode .camera-controls button{color:#fff}
.map-mode .camera-controls button[aria-pressed=true]{background:#fff;color:#1038b4}
.map-mode .race-dock{background:var(--brand-blue);border-color:#a9bfff88;border-top-color:#fff;box-shadow:5px 5px 0 #020a3640}
.dock-eyebrow,.dock-selection>button,.dock-ticket>span{color:#e0eaff}
.dock-ticket{border-left-color:#aac0ff88}.dock-ticket>strong,.dock-ticket>small,.map-mode .map-status{color:#fff}
.map-mode .race-dock .start-button:not(:disabled){background:#fff;border-color:#fff;color:#1038b4;box-shadow:0 0 0 3px #ffffff26}
.map-mode .race-dock .start-button:disabled{background:#1139b0;border-color:#7e9df9;color:#dbe5ff}
.map-mode .loading-screen,.map-panel,.ad-dialog,dialog{background:var(--brand-blue);color:#fff;border-color:#a5bdff}
.loading-brand{color:#fff}.loading-brand img{background:var(--brand-blue)}
.panel-heading{background:#1746d3;border-color:#9cb6ff88;color:#fff}
.panel-close{background:#0f36ad;border-color:#a5bdff88;color:#fff}
.panel-tabs button{color:#e3ecff}.panel-tabs button[aria-pressed=true]{color:#1038b4}
.map-mode .panel-scroll input:not([type=checkbox]),.map-mode .panel-scroll select,.ad-editor-fields input:not([type=file]),.ad-editor-fields select,.stake-field{background:#123bb7;border-color:#a2bbff;color:#fff}
.secondary-button,.stake-options button{background:#143db8;border-color:#8dabff;color:#fff}
.secondary-button:hover,.stake-options button[aria-pressed=true]{background:#fff;border-color:#fff;color:#1038b4}
.ad-upload,.ad-screen-card{background:#1743c5;border-color:#9cb6ff}.ad-card-open:hover{background:#0d32ae}
.ad-display-frame{background:#1237a4;border-color:#0c298c;box-shadow:0 0 0 1px #b6c9ff}
.ad-card-detail,.ad-card-foot,.ad-editor-art>p,.ad-checkout p,.pool-rules,.usdg-pool>p{color:#e0eaff}
.quiet-button{color:#fff}.quiet-button:hover{color:#dce7ff}
.photo-banner{background:#1749e8f5;border-color:#fff;color:#fff}
.photo-banner button,.advertise-button{background:#fff;color:#1038b4}
.ad-preview-status{background:#103cc7f5;border-color:#fff;color:#fff}
.ad-market-terms{background:#1642c5;border-color:#a2bbff}.ad-market-terms strong{color:#fff}.ad-market-terms span{color:#e1eaff}
.ad-refund-summary{background:#123bb7;border-color:#96b0ff}.ad-refund-summary dt,.ad-refund-summary small{color:#e0eaff}
.ad-checkout,.ad-recovery{border-color:#8caaef}.ad-checkout .ad-withdraw{border-color:#bed0ff;color:#fff}
.market-disclosure,.result-ticket{color:#e0eaff}.result-ticket{background:#123bb7;border-color:#9eb8ff}
.runner-market-odds{background:#020a36e8;color:#fff;border-color:#abc1ff88}
.runner-ticket-badge{background:#fff;color:#123aba}
.usdg-runner-market{background:#123bb7;border-color:#92afff}.usdg-runner-market small{color:#dae6ff}
.usdg-runner-market[data-backed=true]{background:#10339d;border-left-color:#fff}
.ticket-footer{background:#1644ce;border-top-color:#fff}.ticket-footer>p{color:#edf3ff}
.brain-monitor{background:#1139b0;border-color:#8aa9ff}.finish-chip{background:#1139b0;color:#fff}.finish-chip.first{background:#fff;color:#123aba}
.sensory-monitor b,.pool-rules summary,.face-camera-label,.ad-market-heading>span{color:#e8efff}
.ad-market-heading>span{border-color:#a4bcff}.pool-status{border-color:#a4bcff;color:#fff}
.map-panel::backdrop{background:#020a3633}.ad-dialog::backdrop,dialog::backdrop{background:#020a3680}
.map-mode #form-error,.form-error{background:#671d37;color:#fff;border-color:#ffd0cc88}
@media(max-width:700px){.map-mode .race-timer{background:#1749e8f5;border-color:#adc1ff88}}
.map-mode .dock-selection>strong{color:#fff}
.point-tag{background:#103ab4;color:#fff}
.brand-symbol{width:64px;height:64px}
.loading-brand img{width:144px;height:144px}
@media(max-width:700px){.brand-symbol{width:35px;height:35px}}
@media(max-height:500px) and (orientation:landscape){.brand-symbol{width:32px;height:32px}}

/* Let the moving field remain visible through the lower broadcast controls. */
.map-mode .race-dock{background:rgb(9 41 148 / 42%);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;border-color:#d6e1ff80;border-top-color:#ffffffb3}
.map-mode .camera-controls{background:rgb(9 41 148 / 38%);backdrop-filter:none;-webkit-backdrop-filter:none;border-color:#d6e1ff80}
.map-mode .race-dock .dock-selection,.map-mode .dock-ticket,.map-mode .camera-controls button:not([aria-pressed=true]){text-shadow:0 1px 3px #020a36,0 0 7px #020a36}
.map-mode .race-dock .start-button,.map-mode .camera-controls button[aria-pressed=true]{text-shadow:none}
.photo-banner .finish-notice-close{position:absolute;top:3px;right:3px;width:44px;height:44px;min-width:44px;margin:0;padding:0;display:grid;place-items:center;background:transparent;color:#fff;border:0;font:28px/1 Arial,sans-serif}
.photo-banner .finish-notice-close:hover{background:#020a3640}

/* Stadium chat. The track is floodlit cobalt; the stand under the roof is a
   dark well, so every line has something to sit on. Each fan wears one of the
   six liveries, and your own lines come back as a white racecard slip. */
.chat-panel{--stand:#010a2e;--stand-edge:#7fa0ff40;--said:#12307d;--ink:#123aba}
.chat-button{position:relative}
.chat-unread{position:absolute;top:-8px;right:-8px;min-width:23px;height:23px;padding:0 6px;display:grid;place-items:center;border-radius:12px;background:#fff;color:#123aba;font:700 13px/1 var(--terminal)}
/* --chat-bottom is measured from the live betting bar, so the bar always stays reachable. */
.chat-panel{top:86px;height:auto;max-height:none;bottom:var(--chat-bottom,153px);z-index:9;border-color:#a5bdff}
.chat-panel .panel-heading{gap:10px;font:800 18px/1 'Barlow Condensed',Impact,'Arial Narrow',sans-serif;letter-spacing:1.4px}
.chat-you{display:flex;align-items:center;gap:8px;margin-left:auto;font:800 18px/1 'Barlow Condensed',Impact,'Arial Narrow',sans-serif;letter-spacing:.6px;text-transform:uppercase;color:#fff}

.chat-body{position:relative;flex:1;min-height:0;display:flex;background:var(--stand);border-top:1px solid var(--stand-edge);border-bottom:1px solid var(--stand-edge)}
/* The stand sits under the roof, so the light falls off at the top. */
.chat-body::before{content:'';position:absolute;inset:0 0 auto;height:30px;background:linear-gradient(#00040f8c,#00040f00);pointer-events:none;z-index:1}
.chat-log{flex:1;min-height:0;margin:0;padding:18px 16px;list-style:none;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:16px;scrollbar-width:thin;scrollbar-color:#7fa0ff55 transparent}

.chat-line{display:flex;flex-direction:column;align-items:flex-start;gap:7px;animation:chat-arrive .18s ease-out both}
.chat-line.is-grouped{margin-top:-9px}
.chat-line.is-mine{align-items:flex-end}
.chat-head{display:flex;align-items:center;gap:9px}
.chat-line.is-mine .chat-head{flex-direction:row-reverse}
.chat-head b{font:800 18px/1 'Barlow Condensed',Impact,'Arial Narrow',sans-serif;letter-spacing:.7px;text-transform:uppercase;color:#cfdcff}
.chat-rosette{flex-shrink:0;min-width:32px;height:32px;padding:0 6px;display:grid;place-items:center;background:var(--silks,#fff);color:#010a2e;font:800 18px/1 'Barlow Condensed',Impact,'Arial Narrow',sans-serif;letter-spacing:.4px;box-shadow:2px 2px 0 #00040f}
.chat-said{max-width:84%;margin:0;padding:11px 15px;font-size:18px;line-height:1.45;color:#fff;background:var(--said);border:1px solid #7fa0ff33;box-shadow:3px 3px 0 #00040f;overflow-wrap:anywhere}
.chat-line.is-mine .chat-said{background:#fff;color:var(--ink);border-color:#fff;box-shadow:-3px 3px 0 #00040f}
@keyframes chat-arrive{from{opacity:0;transform:translateY(7px)}}

.chat-empty{position:absolute;inset:0;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:28px;text-align:center;pointer-events:none}
.chat-empty-field{display:flex;gap:7px}
.chat-empty-silks{width:26px;height:46px;background:var(--silks,#fff);opacity:.74;box-shadow:2px 2px 0 #00040f}
.chat-empty p{margin:0;max-width:19em;font-size:18px;line-height:1.5;color:#b9cdff}

.chat-notice{margin:0;padding:12px 16px;font-size:18px;line-height:1.4;background:#671d37;color:#fff}
.chat-compose{display:flex;gap:10px;padding:14px 16px;background:var(--brand-blue)}
.chat-compose input{flex:1;min-width:0;padding:14px;min-height:54px;font-size:18px;border:1px solid #a2bbff;border-radius:0;background:#123bb7;color:#fff}
.chat-compose input::placeholder{color:#c3d3ff}
.chat-compose input:focus-visible,.chat-panel .panel-close:focus-visible,.chat-compose .primary-button:focus-visible{outline:3px solid #fff;outline-offset:2px}
.chat-compose .primary-button{min-height:54px;padding:0 20px;font:800 18px/1 'Barlow Condensed',Impact,'Arial Narrow',sans-serif;letter-spacing:1px;text-transform:uppercase}
@media(prefers-reduced-motion:reduce){.chat-line{animation:none}}
@media(max-width:700px){.chat-panel{inset:70px 12px auto 12px;width:auto;height:auto;max-height:none;bottom:var(--chat-bottom,134px)}.chat-said{max-width:82%}}
