/* BOATRACE V 0.17.60 — presentation-only navy/gold dashboard theme.
   No markup hooks, data acquisition, or prediction logic are modified. */
:root{--dash-navy:#06182b;--dash-panel:#0b2a43;--dash-panel-hi:#123a56;--dash-gold:#edc66c;--dash-ice:#d8e8f2;--dash-edge:rgba(227,190,103,.43)}
body.prod-mode{background-color:#06182b!important;background-image:radial-gradient(ellipse at 50% -10%,rgba(36,93,137,.42),transparent 55%),linear-gradient(155deg,#06182b,#092239 56%,#051525)!important;color:#eaf3fa}
body.prod-mode .topbar{background:linear-gradient(115deg,rgba(3,17,35,.98),rgba(10,43,71,.98))!important;border-bottom:1px solid rgba(237,198,108,.6)!important;box-shadow:0 5px 25px rgba(0,0,0,.35)!important}
body.prod-mode .topbar .brand b{color:#f6d788!important;letter-spacing:.025em}
body.prod-mode .topbar .brand small{color:#acc7dc!important;letter-spacing:.08em}
body.prod-mode .heroVersionTop{z-index:99!important;color:#f2d58c!important;text-shadow:0 1px 5px #041525}
body.prod-mode main{max-width:1240px;margin-inline:auto}
body.prod-mode .homeDataPanel,body.prod-mode .venueHeroBanner,body.prod-mode .statusCard,body.prod-mode .yearPayoutRankCard,body.prod-mode .vChallengeModalSheet{background:linear-gradient(145deg,rgba(15,53,81,.94),rgba(5,24,43,.96))!important;border:1px solid var(--dash-edge)!important;box-shadow:0 8px 28px rgba(0,0,0,.25),inset 0 1px rgba(255,233,174,.08)!important;border-radius:16px!important}
body.prod-mode .homePanelTitle,body.prod-mode .sectionHead,body.prod-mode .pageHead{border-bottom-color:rgba(224,183,91,.38)!important}
body.prod-mode .homePanelTitle b,body.prod-mode .venueHeroText h2,body.prod-mode .sectionHead h2,body.prod-mode .pageTitle b{color:#f3d48b!important;letter-spacing:.02em}
body.prod-mode .summaryGrid>div{background:linear-gradient(160deg,#153b57,#09243a)!important;border:1px solid rgba(165,195,216,.25)!important;border-radius:11px!important;box-shadow:inset 0 1px rgba(255,255,255,.06)!important}
body.prod-mode .summaryGrid small{color:#b8d1df!important}
body.prod-mode .summaryGrid b{color:#f5d78f!important;font-variant-numeric:tabular-nums}
body.prod-mode .homeInlineChallenge,body.prod-mode .yearPayoutRankOpen,body.prod-mode .myRacerTopNav,body.prod-mode .brvSearchOpen{border:1px solid rgba(229,190,106,.52)!important;background:linear-gradient(135deg,#173f5d,#0a2944)!important;color:#f6dc9b!important;border-radius:10px!important;box-shadow:0 2px 10px rgba(0,0,0,.2)!important}
body.prod-mode .venueHeroBanner{padding:14px!important}
body.prod-mode .venueGrid>*,body.prod-mode .venueCard{border-radius:15px!important;box-shadow:0 6px 18px rgba(0,0,0,.32)!important}
body.prod-mode .pageHead{background:linear-gradient(110deg,#0b2a44,#061d32)!important;border:1px solid rgba(227,190,103,.38)!important;border-radius:14px!important;box-shadow:0 4px 14px rgba(0,0,0,.23)!important}
body.prod-mode .pageHead button,body.prod-mode .miniRefresh{touch-action:manipulation}
body.prod-mode .tabs{background:rgba(6,26,46,.88)!important;border:1px solid rgba(172,196,215,.25)!important;border-radius:12px!important;overflow:auto}
body.prod-mode .tabs button{color:#c6d9e7!important;border-radius:9px!important;transition:background .15s ease}
body.prod-mode .tabs button.active{background:linear-gradient(125deg,#f5d991,#c59b47)!important;color:#132b3e!important;box-shadow:0 1px 9px rgba(243,202,110,.25)!important;font-weight:850!important}
body.prod-mode .raceItem,body.prod-mode .raceList>*,body.prod-mode .hitOnlyRaceBtn{border-color:rgba(213,180,105,.42)!important;box-shadow:0 5px 17px rgba(0,0,0,.26)!important}
body.prod-mode .raceItem{background-color:rgba(8,31,51,.86)!important}
body.prod-mode .raceItem .raceTime strong,body.prod-mode .brvRaceReturnBrief{color:#f3d27d!important}
body.prod-mode .card,body.prod-mode .panel,body.prod-mode .analysisCard,body.prod-mode .predictionCard{border-color:rgba(218,187,113,.38)!important;box-shadow:0 5px 17px rgba(0,0,0,.19)!important}
body.prod-mode .brvMonDetails{background:linear-gradient(130deg,#103a55,#082338)!important;border-color:rgba(233,198,114,.57)!important}
body.prod-mode button:focus-visible,body.prod-mode a:focus-visible{outline:2px solid #ffdf8d!important;outline-offset:2px}
/* Preserve boat-lane colors, portraits, result overlays, payout row and iframe geometry. */
@media(max-width:680px){
 body.prod-mode main{max-width:100%;padding-inline:0}
 body.prod-mode .homeDataPanel{margin-inline:8px!important}
 body.prod-mode .venueHeroBanner{margin-inline:8px!important;padding:11px!important}
 body.prod-mode .summaryGrid{gap:6px!important}
 body.prod-mode .summaryGrid>div{min-width:0;padding:9px 5px!important}
 body.prod-mode .summaryGrid small{font-size:10px!important}
 body.prod-mode .summaryGrid b{font-size:clamp(14px,4vw,20px)!important}
 body.prod-mode .pageHead{margin:6px 7px 10px!important;padding:8px!important}
 body.prod-mode .tabs{margin-inline:7px!important}
 body.prod-mode .tabs button{min-height:39px!important}
 body.prod-mode .homeInlineChallenge{min-height:42px!important;font-size:clamp(10px,2.8vw,13px)!important}
 body.prod-mode .venueGrid{gap:10px!important}
}
@media(min-width:900px){body.prod-mode #homeView .summaryGrid{grid-template-columns:repeat(4,minmax(0,1fr))!important}body.prod-mode #homeView .venueGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}}
@media(prefers-reduced-motion:reduce){body.prod-mode .tabs button{transition:none}}


/* 0.17.61 — full cinematic visual redesign; presentation layer only */
:root{--dash-navy:#020c1a;--dash-panel:#071b31;--dash-panel-hi:#0b3051;--dash-gold:#f5ca65;--dash-edge:rgba(255,204,97,.68)}
html{background:#020c1a!important}
body.prod-mode{
 background:#020c1a!important;
 background-image:linear-gradient(180deg,rgba(0,8,22,.18),rgba(0,8,22,.82) 38%,rgba(0,8,22,.96)),url("assets/home-background-v0933.jpeg")!important;
 background-position:center top!important;background-size:100% auto!important;background-repeat:no-repeat!important;
 background-attachment:fixed!important;color:#edf5ff!important;
}
body.prod-mode:before{content:"";pointer-events:none;position:fixed;inset:0;z-index:0;background:radial-gradient(ellipse at 50% 0%,rgba(0,126,216,.16),transparent 48%),repeating-linear-gradient(0deg,transparent 0 47px,rgba(53,119,178,.035) 48px)}
body.prod-mode .view,body.prod-mode main{position:relative;z-index:1}
body.prod-mode .topbar{background:linear-gradient(110deg,#031022,#052c50 50%,#010c1b)!important;border-bottom:2px solid #c79c46!important;box-shadow:0 2px 0 #34250c,0 8px 30px #000c!important}
body.prod-mode .topbar .brand{filter:drop-shadow(0 0 8px rgba(245,193,74,.32))}
body.prod-mode .homeDataPanel{position:relative;overflow:hidden!important;margin-top:14px!important;border:1px solid #e3ae50!important;background:linear-gradient(160deg,rgba(9,37,62,.92),rgba(2,15,31,.97))!important;box-shadow:0 0 0 1px #47330e,0 0 23px rgba(245,180,65,.16),inset 0 0 35px rgba(10,97,161,.18)!important}
body.prod-mode .homeDataPanel:before{content:"";display:block;height:clamp(110px,28vw,230px);margin:-12px -12px 12px;background:linear-gradient(180deg,rgba(1,11,28,.05),rgba(2,14,31,.95)),url("assets/boat-race-v-banner.png") center 47%/cover no-repeat;border-bottom:2px solid #c9a04f}
body.prod-mode .homePanelTitle{background:linear-gradient(90deg,rgba(252,201,93,.19),rgba(1,17,35,.12))!important;border-left:3px solid #f5c96b!important;padding-left:10px!important}
body.prod-mode .summaryGrid>div,body.prod-mode .summaryGrid4>div{background:linear-gradient(155deg,rgba(18,62,96,.86),rgba(2,18,36,.95))!important;border:1px solid rgba(237,190,91,.48)!important;box-shadow:inset 0 1px rgba(255,232,162,.14)!important;border-radius:9px!important}
body.prod-mode .summaryGrid b{color:#fbd479!important;text-shadow:0 0 14px rgba(255,184,44,.28)}
body.prod-mode .venueGrid{gap:10px!important}
body.prod-mode .venueGrid>*,body.prod-mode .venueGrid button{border:1px solid rgba(249,198,83,.75)!important;border-radius:13px!important;box-shadow:0 0 0 1px rgba(92,57,10,.55),0 0 15px rgba(242,183,59,.20),inset 0 0 25px rgba(0,30,65,.26)!important;overflow:hidden}
body.prod-mode .venueGrid>*:after{background:linear-gradient(180deg,transparent 25%,rgba(1,12,28,.68) 100%)!important}
body.prod-mode .raceItem,body.prod-mode .raceCard{background:linear-gradient(145deg,#0c3152,#04162c 75%)!important;border:1px solid rgba(243,193,83,.65)!important;box-shadow:0 0 0 1px rgba(51,36,14,.8),0 5px 17px #0008,inset 0 1px rgba(255,226,150,.15)!important;border-radius:14px!important;overflow:hidden}
body.prod-mode .raceItem:has(.topBadge),body.prod-mode .raceItem:has(.goldBadge){box-shadow:0 0 0 1px #b78736,0 0 17px rgba(255,196,59,.43)!important}
body.prod-mode .raceList{gap:9px!important}
body.prod-mode .pageHead{background:linear-gradient(95deg,#03142b,#0b3558 55%,#04172b)!important;border:1px solid rgba(235,188,88,.55)!important;border-bottom:2px solid #d3a64e!important;border-radius:13px!important;box-shadow:0 4px 20px #0009!important}
body.prod-mode .pageTitle b{color:#f8d479!important;text-shadow:0 0 12px rgba(249,191,62,.28)}
body.prod-mode .tabbar button.active,body.prod-mode .subTabs button.active,body.prod-mode .segTabs button.active{background:linear-gradient(180deg,#ffe49b,#d5a346 55%,#a97426)!important;color:#081a2a!important;border-color:#ffe29a!important;box-shadow:0 0 12px rgba(251,191,61,.32)!important}
body.prod-mode button[data-tab].active,body.prod-mode button[data-subtab].active{background:linear-gradient(180deg,#fce29b,#c18c34)!important;color:#061626!important}
body.prod-mode .sectionHead{background:linear-gradient(90deg,rgba(226,169,61,.2),transparent)!important;border-left:3px solid #e9b958!important;padding:8px 10px!important;border-radius:5px!important}
body.prod-mode .sectionHead h2,body.prod-mode .homePanelTitle b{color:#ffdc88!important}
body.prod-mode .card,body.prod-mode .panel,body.prod-mode .infoCard,body.prod-mode .previewCard,body.prod-mode .analysisCard{background:linear-gradient(145deg,rgba(13,52,84,.97),rgba(2,18,38,.98))!important;border-color:rgba(239,188,77,.52)!important;box-shadow:0 0 0 1px rgba(27,59,78,.8),inset 0 1px rgba(251,226,160,.09),0 6px 20px #0007!important}
body.prod-mode .homeInlineChallenge,body.prod-mode .challengeCard{background:linear-gradient(120deg,#3c280b,#95661d 40%,#3b270e 90%)!important;border:1px solid #ffdc83!important;color:#fff2cb!important;box-shadow:inset 0 1px #fff2b16b,0 0 14px #c18b3066!important}
body.prod-mode .brvHitCardPayout{background:linear-gradient(90deg,#04182d,#0a3555,#04182d)!important}
body.prod-mode .raceItem img,body.prod-mode .racerCard img{filter:contrast(1.06) saturate(1.1)}
body.prod-mode .view{padding-bottom:calc(20px + env(safe-area-inset-bottom))!important}
@media(max-width:600px){
 body.prod-mode{background-size:auto 90vh!important}
 body.prod-mode .homeDataPanel:before{height:142px!important}
 body.prod-mode .summaryGrid4{gap:5px!important}
 body.prod-mode .summaryGrid4>div{padding:8px 3px!important}
 body.prod-mode .summaryGrid4 small{font-size:9px!important}
 body.prod-mode .summaryGrid4 b{font-size:17px!important}
 body.prod-mode .raceItem{margin:0 2px 8px!important}
}

/* v0.17.62 visual overhaul — force background and all major UI surfaces */
html,html body,body.prod-mode,body.prod-mode main,body.prod-mode .view{
 --bg:#031024!important;--text:#f3f6ff!important;--muted:#a8bed2!important;--line:#b98b39!important;--blue:#f2c15c!important;
 color:#f2f6ff!important;
}
html,body.prod-mode{background:#020b1a url('./assets/brv-1762-deep-ocean.jpg') center top/100% auto fixed no-repeat!important}
body.prod-mode .view{background:transparent!important}
body.prod-mode .homeDataPanel:before{background:linear-gradient(0deg,#041428,transparent 65%),url('./assets/boat-race-v-banner.png') center/cover no-repeat!important;height:165px!important}
body.prod-mode .topbar{background:linear-gradient(100deg,#010a19,#073258 48%,#020c1e)!important;border:1px solid #f3c664!important;border-top:0!important;border-radius:0 0 18px 18px!important;box-shadow:0 0 24px #c38c2d77!important}
body.prod-mode .brand .mark{color:#ffda7e!important;font-size:32px!important;text-shadow:0 0 16px #e9ad45!important}
body.prod-mode .brand b{color:#ffdb83!important}
body.prod-mode .venueHeroBanner{background:linear-gradient(95deg,#041426,#10416a,#05172b)!important;border:1px solid #d8aa54!important;box-shadow:0 0 18px #d9a74a55!important}
body.prod-mode #venueGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
body.prod-mode #venueGrid .venue{min-height:116px!important;border:1.5px solid #e9ba5d!important;background:linear-gradient(0deg,#041326eb,#072e4c80),url('./assets/home-water-reference.jpeg') center/cover!important;box-shadow:0 0 13px #e8b74b66,inset 0 0 22px #071628!important;color:#fff!important;text-shadow:0 2px 4px #000!important}
body.prod-mode #venueGrid .venue .name{font-size:19px!important;color:#fff!important}
body.prod-mode #venueGrid .venue .count{color:#ffda79!important;font-size:14px!important}
body.prod-mode #raceList .raceItem{background:linear-gradient(110deg,#041a30,#0c3b5a 45%,#031428)!important;border:1.5px solid #dfaf55!important;box-shadow:0 0 13px #b7843366!important}
body.prod-mode .raceNo{background:linear-gradient(#ffe4a0,#b57a25)!important;color:#071629!important;border:1px solid #fff0be!important}
body.prod-mode .tabs,body.prod-mode .raceTabsStack{background:#031426!important;border-color:#c79847!important}
body.prod-mode .tabs button{background:#092744!important;color:#d7e7f4!important;border:1px solid #315577!important}
body.prod-mode .tabs button.active{background:linear-gradient(#ffe6a0,#c9963d)!important;color:#081629!important;border-color:#ffdc85!important}
body.prod-mode .panel,body.prod-mode .card,body.prod-mode .statusCard{background:linear-gradient(135deg,#0b3150f5,#031426f8)!important;border:1px solid #ad863e!important;border-radius:13px!important;color:#eef5ff!important;box-shadow:0 0 13px #bf8a2b33,inset 0 1px #ffda8b22!important}
body.prod-mode .card h3,body.prod-mode .sectionHead h2{color:#f9d37d!important}
body.prod-mode button:not(.raceItemBtn):not(.venue):active{filter:brightness(1.13)}
body.prod-mode .homeInlineChallenge{background:linear-gradient(110deg,#5e390b,#c08b27,#4c2b0b)!important;color:#fff3ca!important;border:1px solid #ffda80!important;box-shadow:0 0 16px #ffb52f66!important}
body.prod-mode .summaryGrid4>div{background:linear-gradient(#0d3859,#04182d)!important;border:1px solid #bd9143!important}
body.prod-mode .summaryGrid4 b{color:#ffdc7e!important}
body.prod-mode .pageHead{background:linear-gradient(90deg,#05162c,#0c3c61,#04142b)!important}
body.prod-mode .cardHead,body.prod-mode .sectionHead{border-bottom:1px solid #a67c35!important}
@media(max-width:500px){body.prod-mode .homeDataPanel:before{height:145px!important}body.prod-mode #venueGrid .venue{min-height:104px!important}}

/* 0.17.64: HOME STRUCTURAL REDESIGN. All original data IDs and prediction code retained. */
body.prod-mode{background:#010817 url('./assets/brv-1762-deep-ocean.jpg') center top/cover fixed!important}
body.prod-mode #homeView{background:linear-gradient(180deg,rgba(0,9,25,.06),rgba(0,8,23,.92) 38%,#020b1b)!important;padding:0 0 110px!important;max-width:850px;margin:auto}
body.prod-mode .topbar{height:74px!important;min-height:74px!important;background:#020c1be8!important;border-bottom:1px solid #f7c969!important;box-shadow:0 0 25px #f8bb3c4d!important}
body.prod-mode .topbar .brand{display:flex!important;align-items:center!important}
body.prod-mode .topbar .brand .mark{display:none!important}
body.prod-mode .topbar .brand b{font-size:22px!important;font-style:italic!important;color:#ffda77!important;text-shadow:0 0 14px #f2b93eaa!important}
body.prod-mode .topbar .brand small{font-size:8px!important;letter-spacing:2px!important}
body.prod-mode .heroVersionTop{background:#020d1e!important;border:1px solid #f5cb66!important;border-radius:99px!important;padding:3px 9px!important;top:16px!important;right:8px!important;font-size:10px!important;box-shadow:0 0 10px #cba54a55!important}
body.prod-mode .brv63Hero{height:165px;position:relative;background:linear-gradient(180deg,#010d1b00 55%,#020c1b 100%),url('./assets/brv1763-hero.jpg') center/cover no-repeat!important;box-shadow:inset 0 -2px #f3c668,0 7px 25px #000a!important;overflow:hidden}
body.prod-mode .brv63HeroLogo{position:absolute;left:15px;top:12px;color:#f2f6ff;font-size:clamp(28px,8vw,53px);font-weight:1000;font-style:italic;letter-spacing:-2px;text-shadow:3px 4px 2px #000,0 0 13px #62b8ff}
body.prod-mode .brv63HeroLogo span{color:#f8ce65;font-size:1.4em;text-shadow:2px 3px 0 #704508,0 0 18px #ffc34d}
body.prod-mode .brv63HeroSub{position:absolute;top:94px;left:28px;font-size:10px;letter-spacing:2px;color:#f5d37d;font-weight:800;text-shadow:0 2px 5px #000}
body.prod-mode #homeView .homeDataPanel{margin:9px 10px 12px!important;padding:10px!important;border:1.5px solid #e9c46a!important;border-radius:15px!important;background:linear-gradient(130deg,#0b2947f7,#020d22fa)!important;box-shadow:0 0 16px #f4c35c88,inset 0 0 20px #1c56804a!important;backdrop-filter:none!important}
body.prod-mode #homeView .homeDataPanel:before{display:none!important}
body.prod-mode #homeView .homePanelTitle{display:flex!important;gap:7px!important;align-items:center!important;padding:4px 0 11px!important;background:none!important;border:0!important}
body.prod-mode #homeView .homePanelTitle b{color:#ffdb7f!important;font-size:clamp(14px,4vw,20px)!important;white-space:nowrap}
body.prod-mode #homeView .homePanelTitle .yearPayoutRankOpen,body.prod-mode #homeView .myRacerTopNav,body.prod-mode #homeView .brvSearchOpen{background:linear-gradient(#0b3557,#031426)!important;border:1px solid #d1a64d!important;color:#f9d680!important;border-radius:9px!important;font-size:clamp(9px,2.5vw,13px)!important;min-width:0!important;padding:8px 5px!important;box-shadow:0 0 7px #e4b45144!important}
body.prod-mode #homeView .homeDataActions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;margin:0 0 10px!important}
body.prod-mode #homeView .homeInlineChallenge{margin:0!important;min-width:0!important;padding:10px 3px!important;min-height:45px!important;border-radius:11px!important;color:white!important;font-size:clamp(9px,2.7vw,13px)!important;font-weight:900!important;white-space:nowrap!important;box-shadow:0 0 11px currentColor!important}
body.prod-mode #homeView .homeInlineChallenge:first-child{background:linear-gradient(110deg,#7d0b28,#f32850,#7d0826)!important;border:1px solid #ff6687!important}
body.prod-mode #homeView .homeInlineChallenge:nth-child(2){background:linear-gradient(110deg,#664008,#e9b943,#6a4109)!important;border:1px solid #ffe18b!important;color:#201200!important}
body.prod-mode #homeView .homeInlineChallenge:nth-child(3){background:linear-gradient(110deg,#00306e,#0087f8,#002c76)!important;border:1px solid #61c4ff!important}
body.prod-mode #homeView .summaryGrid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;background:#03152c!important;border:1px solid #345778!important;border-radius:11px!important;overflow:hidden}
body.prod-mode #homeView .summaryGrid>div{border:0!important;border-right:1px solid #315679!important;border-radius:0!important;padding:9px 2px!important;text-align:center!important;background:linear-gradient(#0a2d4c,#04152c)!important;box-shadow:none!important}
body.prod-mode #homeView .summaryGrid>div:last-child{border-right:0!important}
body.prod-mode #homeView .summaryGrid small{font-size:clamp(8px,2.1vw,11px)!important;white-space:nowrap!important;color:#b5c8dd!important}
body.prod-mode #homeView .summaryGrid b{font-size:clamp(17px,5vw,27px)!important;color:#fff!important}
body.prod-mode #homeView .summaryGrid .hitSummary b{color:#ff5263!important}
body.prod-mode #homeView .venueHeroBanner{margin:12px 10px 0!important;border:1.5px solid #e9bf5b!important;border-radius:14px 14px 0 0!important;background:linear-gradient(95deg,#05172e,#0c3151,#03152b)!important;box-shadow:0 0 14px #f4b94466!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:5px!important;padding:10px!important}
body.prod-mode #homeView .venueHeroText h2{color:#ffe08b!important;font-size:clamp(17px,5vw,24px)!important}
body.prod-mode #homeView .venueHeroText small{display:none!important}
body.prod-mode #homeView .venueHeroIcon{font-size:20px!important}
body.prod-mode #homeView .venueDateNav{margin-left:auto!important;gap:3px!important}
body.prod-mode #homeView .venueHeroDate{background:#082b4a!important;color:#fff!important;border:1px solid #4d7da5!important;border-radius:8px!important;font-size:11px!important;padding:8px 4px!important}
body.prod-mode #homeView .homeDateControl{width:100%!important;order:10!important;margin:3px 0 0!important;padding:5px 8px!important;box-shadow:none!important;border-color:#31516c!important;background:#04182c!important}
body.prod-mode #homeView .homeDateControl p{display:none!important}
body.prod-mode #homeView #venueGrid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin:0 10px!important;padding:10px 7px 14px!important;border:1.5px solid #e9bf5b!important;border-top:0!important;border-radius:0 0 14px 14px!important;background:linear-gradient(#05172be8,#020d20f7)!important;box-shadow:0 10px 22px #0008,0 0 12px #e6b65066!important}
body.prod-mode #homeView #venueGrid .venue{min-width:0!important;min-height:116px!important;height:116px!important;position:relative!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-end!important;padding:10px!important;border:1.5px solid #ffce69!important;border-radius:13px!important;background:linear-gradient(180deg,#02132912,#03152b65 40%,#010d1cf5),url('./assets/home-water-reference.jpeg') center/cover no-repeat!important;box-shadow:0 0 11px #f3bf4b77,inset 0 0 20px #0009!important;text-align:left!important;text-shadow:0 2px 4px #000!important}
body.prod-mode #homeView #venueGrid .venue:nth-child(4n+2){background-image:linear-gradient(180deg,#02132912,#03152b65 40%,#010d1cf5),url('./assets/home-background-v0933.jpeg')!important}
body.prod-mode #homeView #venueGrid .venue:nth-child(4n+3){background-image:linear-gradient(180deg,#02132912,#03152b65 40%,#010d1cf5),url('./assets/home-background-v0929.jpeg')!important}
body.prod-mode #homeView #venueGrid .venue:nth-child(4n+4){background-image:linear-gradient(180deg,#02132912,#03152b65 40%,#010d1cf5),url('./assets/home-background-v0930.jpeg')!important}
body.prod-mode #homeView #venueGrid .venue .name{font-size:clamp(18px,5vw,25px)!important;color:#fff!important;font-weight:950!important;line-height:1.05!important}
body.prod-mode #homeView #venueGrid .venue .meta{color:#b5d9f7!important;font-size:10px!important}
body.prod-mode #homeView #venueGrid .venue .count{color:#ffdd83!important;font-size:13px!important}
body.prod-mode #homeView .brv63Bottom{position:fixed!important;bottom:0!important;left:0!important;right:0!important;display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:5px!important;padding:7px 8px calc(7px + env(safe-area-inset-bottom))!important;background:linear-gradient(#061b31f5,#010916fa)!important;border-top:1px solid #d7a74d!important;z-index:80!important;box-shadow:0 -4px 15px #000b!important}
body.prod-mode #homeView .brv63Bottom button{display:flex;flex-direction:column;gap:1px;align-items:center;justify-content:center;min-height:54px;border:1px solid #2876a8;border-radius:11px;background:linear-gradient(#082c4d,#021227);color:#c3e7ff;font-size:24px;font-weight:900}
body.prod-mode #homeView .brv63Bottom button small{font-size:10px;font-weight:800}
body.prod-mode #homeView .brv63Bottom button.active{border-color:#ffdc85;background:linear-gradient(#604313,#ba8424,#4b310c);color:#ffe99e;box-shadow:0 0 12px #eab84c88}
@media(min-width:700px){body.prod-mode #homeView .brv63Bottom{max-width:850px;margin:auto}}

/* v0.17.64 HOME: full replacement of original wallpaper/logo strip */
html,body.prod-mode{background:#010b1b!important;background-image:radial-gradient(ellipse at 50% 4%,#063e6d 0%,#001329 35%,#010918 75%)!important}
body.prod-mode:before{display:none!important}
body.prod-mode:has(#homeView.active) .topbar,body.prod-mode:has(#homeView.active) .heroVersionTop{display:none!important}
body.prod-mode:has(#homeView.active) main{padding-top:0!important;margin-top:0!important}
body.prod-mode #homeView{background:linear-gradient(180deg,#001327,#000918 65%,#001126)!important;padding-top:0!important;padding-bottom:calc(85px + env(safe-area-inset-bottom))!important}
body.prod-mode #homeView .brv63Hero{height:auto!important;aspect-ratio:941/344!important;width:100%!important;background:url('./assets/brv1764-hero.jpg') center top/100% 100% no-repeat!important;margin:0!important;border-bottom:2px solid #e7ba56!important;box-shadow:0 8px 20px #000b,0 2px 12px #e9bd5766!important}
body.prod-mode #homeView .brv63HeroLogo,body.prod-mode #homeView .brv63HeroSub{display:none!important}
body.prod-mode #homeView .homeDataPanel{margin:7px 9px 12px!important;background:linear-gradient(145deg,#031a32f7,#010a1dfc)!important;border:2px solid #f0ca69!important;box-shadow:0 0 0 1px #6b4c1a,0 0 20px #f0ba5c77,inset 0 0 32px #1166a12b!important}
body.prod-mode #homeView .homePanelTitle{margin-bottom:4px!important}
body.prod-mode #homeView .homePanelTitle b{font-size:clamp(14px,4.2vw,22px)!important}
body.prod-mode #homeView .homeDataActions{gap:7px!important}
body.prod-mode #homeView .homeInlineChallenge{min-height:48px!important;border-width:1.5px!important;box-shadow:0 0 12px #f4c05266,inset 0 1px #ffffff66!important}
body.prod-mode #homeView .summaryGrid{background:#010e20!important;border-color:#174d74!important}
body.prod-mode #homeView .summaryGrid>div{background:linear-gradient(#031b35,#010c20)!important}
body.prod-mode #homeView .venueHeroBanner{background:linear-gradient(115deg,#02132a,#082e4f 55%,#010c1f)!important;border-width:2px!important;border-color:#f4ca6b!important;border-bottom:0!important;box-shadow:0 0 17px #f0ba5c77!important}
body.prod-mode #homeView #venueGrid{background:linear-gradient(180deg,#061d37,#010b1d)!important;border:2px solid #f4ca6b!important;border-top:0!important;box-shadow:0 0 18px #eeb85870!important;gap:8px!important;padding:8px!important}
body.prod-mode #homeView #venueGrid .venue{min-height:119px!important;height:119px!important;border:2px solid #ffcf6e!important;box-shadow:0 0 12px #f8bd5188,inset 0 0 20px #0008!important;background-size:cover!important;background-position:center!important;filter:saturate(1.18)!important}
body.prod-mode #homeView #venueGrid .venue .name{font-size:clamp(19px,5vw,26px)!important;color:#fff!important;text-shadow:0 2px 5px #000,0 0 6px #000!important}
body.prod-mode #homeView #venueGrid .venue .count{font-size:clamp(13px,3.5vw,17px)!important}
body.prod-mode #homeView .brv63Bottom{background:linear-gradient(#001126f9,#000917fe)!important;border-top:2px solid #d6a749!important}
body.prod-mode #homeView .brv63Bottom button{border:1.5px solid #087fc2!important;background:linear-gradient(#06345b,#011329)!important;box-shadow:inset 0 1px #2c7eb077!important}
body.prod-mode #homeView .brv63Bottom button.active{background:linear-gradient(#55330b,#e4a928,#65410c)!important;border-color:#ffdc83!important;box-shadow:0 0 14px #eab34d99!important}
/* 0.17.65: remove old header/banner from HOME, create a single coherent cinematic hero */
body.brvCinematicHome>.topbar,body.brvCinematicHome>.heroVersionTop{display:none!important;visibility:hidden!important;height:0!important;min-height:0!important;padding:0!important;margin:0!important;overflow:hidden!important}
body.brvCinematicHome main{padding-top:0!important;margin-top:0!important}
body.brvCinematicHome #homeView{padding-top:0!important}
body.brvCinematicHome #homeView .brv63Hero{height:clamp(205px,53vw,360px)!important;aspect-ratio:auto!important;position:relative!important;background-image:linear-gradient(180deg,rgba(1,9,24,.78),rgba(1,9,24,.03) 45%,rgba(1,9,24,.1) 78%,#021023),url('./assets/brv1764-hero.jpg')!important;background-size:100% 100%,cover!important;background-position:center,center!important;background-repeat:no-repeat!important;border-top:0!important}
body.brvCinematicHome #homeView .brv65Brand{display:flex!important;position:absolute;top:calc(env(safe-area-inset-top,0px) + 9px);left:13px;flex-direction:column;align-items:flex-start;z-index:2;pointer-events:none}
body.brvCinematicHome #homeView .brv65Brand strong{font-size:clamp(29px,8vw,58px);font-weight:1000;font-style:italic;letter-spacing:-2.4px;color:#fff;text-shadow:2px 3px 2px #000,0 0 12px #4dbbff;line-height:1.15;white-space:nowrap}
body.brvCinematicHome #homeView .brv65Brand strong span{font-size:1.35em;color:#ffda75;text-shadow:2px 3px 1px #80510c,0 0 15px #f5b64b}
body.brvCinematicHome #homeView .brv65Brand small{font-size:clamp(8px,2vw,13px);font-weight:800;letter-spacing:2px;color:#f6d27e;margin-left:14px;text-shadow:0 2px 5px #000}
body.brvCinematicHome #homeView .brv65Version{position:absolute;top:calc(env(safe-area-inset-top,0px) + 13px);right:10px;z-index:3;background:#031125dd;border:1px solid #f1c664;border-radius:30px;color:#ffdf8b;padding:4px 8px;font-size:9px;font-weight:900;letter-spacing:.04em;box-shadow:0 0 9px #e8b24a66}
@media(max-width:420px){body.brvCinematicHome #homeView .brv65Version{top:calc(env(safe-area-inset-top,0px) + 81px)}}

/* 0.17.70: completely remove the inherited V banner backdrop from the home page.
   The new hero image already contains its own logo; do not render another. */
html:has(body.brvCinematicHome){background:#020d1e!important;background-image:none!important}
html body.prod-mode.brvCinematicHome{background:#020d1e!important;background-image:none!important;background-attachment:initial!important}
html body.prod-mode.brvCinematicHome::before,
html body.prod-mode.brvCinematicHome::after{background:none!important;background-image:none!important;content:none!important;display:none!important}
html body.prod-mode.brvCinematicHome>header.topbar,
html body.prod-mode.brvCinematicHome>.heroVersionTop{display:none!important}
html body.prod-mode.brvCinematicHome main{background:#020d1e!important;background-image:none!important;margin-top:0!important;padding-top:0!important}
html body.prod-mode.brvCinematicHome #homeView{background:linear-gradient(180deg,#020c1b,#041c33 38%,#020b19)!important;background-image:linear-gradient(180deg,#020c1b,#041c33 38%,#020b19)!important;margin:0!important;padding-top:0!important}
html body.prod-mode.brvCinematicHome #homeView .brv63Hero{height:auto!important;aspect-ratio:941/344!important;background:url('./assets/brv1764-hero.jpg') center/100% 100% no-repeat!important;margin:0!important;box-shadow:0 2px 0 #f4cb6a,0 7px 20px #000!important}
html body.prod-mode.brvCinematicHome #homeView .brv65Brand{display:none!important}
html body.prod-mode.brvCinematicHome #homeView .brv65Version{top:auto!important;bottom:8px!important;right:10px!important}

/* 0.17.70: v0.17.64 bottom navigation restored, no viewport/flex shell.
   Keep the 0.17.66 single banner and reserve only iOS top status area. */
html body.prod-mode.brvCinematicHome{padding-top:env(safe-area-inset-top,0px)!important;box-sizing:border-box!important;min-height:100vh!important;height:auto!important;overflow-x:hidden!important;overflow-y:auto!important;display:block!important}
html body.prod-mode.brvCinematicHome main{height:auto!important;min-height:0!important;overflow:visible!important;display:block!important}
html body.prod-mode.brvCinematicHome #homeView{height:auto!important;min-height:0!important;overflow:visible!important;padding-bottom:calc(95px + env(safe-area-inset-bottom,0px))!important}
html body.prod-mode.brvCinematicHome #homeView .brv63Bottom{position:fixed!important;inset:auto 0 0 0!important;bottom:0!important;top:auto!important;left:0!important;right:0!important;transform:none!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;width:100%!important;max-width:850px!important;margin:0 auto!important;height:auto!important;min-height:0!important;padding:7px 8px calc(7px + env(safe-area-inset-bottom,0px))!important;box-sizing:border-box!important;background:linear-gradient(#001126f9,#000917fe)!important;border-top:2px solid #d6a749!important;z-index:999!important}
html body.prod-mode.brvCinematicHome #homeView .brv63Bottom button{min-height:54px!important;height:auto!important;padding:4px 2px!important;font-size:24px!important}
html body.prod-mode.brvCinematicHome #homeView .brv63Bottom button small{font-size:10px!important}

/* v0.17.71: operational controls over the existing cinematic hero */
body.prod-mode #homeView .homePanelTitle{justify-content:flex-start!important;min-height:40px!important}
body.prod-mode #homeView .brv63Hero{position:relative!important}
body.prod-mode #homeView .brvHeroControl{position:absolute!important;z-index:25!important;top:21%!important;display:grid!important;place-items:center!important;width:44px!important;height:44px!important;padding:0!important;background:rgba(0,17,38,.65)!important;border:1px solid rgba(255,208,103,.5)!important;border-radius:12px!important;color:#f8d16d!important;font-size:29px!important;text-shadow:0 0 7px #000!important;box-shadow:0 0 9px #0008!important;cursor:pointer!important}
body.prod-mode #homeView .brvHeroMenu{left:2%!important}
body.prod-mode #homeView .brvHeroBell{right:2%!important;font-size:0!important}
body.prod-mode #homeView .brvHeroBell:before{content:'♧';font-size:30px}
body.prod-mode #homeView .brvHeroBell:before{content:'♧'}
body.prod-mode #homeView .brvHeroBell{background-image:none!important}
body.prod-mode #homeView .brvSideBackdrop,body.prod-mode #homeView .brvNoticeBackdrop{position:fixed!important;inset:0!important;background:rgba(0,5,18,.7)!important;z-index:1998!important}
body.prod-mode #homeView .brvSideBackdrop[hidden],body.prod-mode #homeView .brvNoticeBackdrop[hidden]{display:none!important}
body.prod-mode #homeView .brvSideMenu{position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:min(310px,83vw)!important;max-width:83vw!important;z-index:1999!important;background:linear-gradient(145deg,#092c4b,#010d20)!important;border-right:2px solid #e8bb60!important;box-shadow:8px 0 30px #000a!important;transform:translateX(-105%)!important;transition:transform .23s ease!important;padding:calc(env(safe-area-inset-top,0px) + 20px) 15px 20px!important;box-sizing:border-box!important;color:#fff!important}
body.prod-mode #homeView .brvSideMenu.open{transform:translateX(0)!important}
body.prod-mode #homeView .brvSideHeader,body.prod-mode #homeView .brvNoticeHeader{display:flex!important;align-items:center!important;justify-content:space-between!important;color:#f8d67e!important;border-bottom:1px solid #a9833c!important;padding-bottom:15px!important;margin-bottom:18px!important}
body.prod-mode #homeView .brvSideHeader button,body.prod-mode #homeView .brvNoticeHeader button{background:#102e49!important;color:#ffe09b!important;border:1px solid #d7a74e!important;border-radius:8px!important;font-size:24px!important;width:38px!important;height:38px!important}
body.prod-mode #homeView #brvSideRanking{display:flex!important;justify-content:space-between!important;align-items:center!important;width:100%!important;background:linear-gradient(120deg,#183e5c,#071c32)!important;color:#fce1a0!important;border:1px solid #dfb85e!important;border-radius:12px!important;padding:15px!important;font-weight:900!important}
body.prod-mode #homeView .brvSideMenu p{font-size:12px!important;color:#adc5d4!important;margin-top:20px!important}
body.prod-mode #homeView .brvNoticePanel{position:fixed!important;top:calc(env(safe-area-inset-top,0px) + 20px)!important;left:50%!important;transform:translate(-50%,-130vh)!important;width:min(390px,92vw)!important;max-height:75vh!important;z-index:1999!important;box-sizing:border-box!important;border:1px solid #e8b759!important;border-radius:18px!important;padding:17px!important;background:linear-gradient(140deg,#0a3553,#041426)!important;box-shadow:0 0 25px #000b!important;color:#fff!important;transition:transform .2s ease!important}
body.prod-mode #homeView .brvNoticePanel.open{transform:translate(-50%,0)!important}
body.prod-mode #homeView .brvNoticeEmpty{padding:20px 4px!important;text-align:center!important;line-height:1.7!important}
body.prod-mode #homeView .brvNoticeEmpty b{color:#f9d782!important}
body.prod-mode #homeView .brvNoticeEmpty p{font-size:13px!important;color:#d4e3ee!important}
body.prod-mode #homeView .brvNoticeEmpty small{font-size:11px!important;color:#99b1c1!important}

body.prod-mode #homeView .brvHeroBell:before{content:none!important;display:none!important}
body.prod-mode #homeView .brvHeroBell svg{display:block!important;stroke:#f8d16d!important}

/* v0.17.96: global fixed controls, visible on every page without cloning */
body.prod-mode #brvMenuButton,body.prod-mode #brvBellButton{
 position:fixed!important;top:calc(env(safe-area-inset-top,0px) + 10px)!important;
 z-index:1800!important;width:43px!important;height:43px!important;
 display:grid!important;place-items:center!important;
 border:1px solid #e5b95b!important;border-radius:11px!important;
 background:linear-gradient(135deg,#082a47ed,#021125f5)!important;
 color:#ffdc7c!important;box-shadow:0 0 12px #000b!important;
 padding:0!important;cursor:pointer!important
}
body.prod-mode #brvMenuButton{left:12px!important;font-size:27px!important}
body.prod-mode #brvBellButton{right:12px!important;font-size:0!important}
body.prod-mode #brvBellButton:before{display:none!important;content:none!important}
body.prod-mode #brvBellButton svg{display:block!important;stroke:#f8d16d!important}
body.prod-mode .brv63Bottom{
 position:fixed!important;bottom:0!important;left:0!important;right:0!important;
 z-index:1600!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
 gap:5px!important;margin:0 auto!important;max-width:850px!important;
 padding:7px 8px calc(7px + env(safe-area-inset-bottom,0px))!important;
 box-sizing:border-box!important;background:linear-gradient(#001126f9,#000917fe)!important;
 border-top:2px solid #d6a749!important
}
body.prod-mode .brv63Bottom button{
 display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
 min-height:54px!important;padding:4px 2px!important;border:1.5px solid #087fc2!important;
 border-radius:11px!important;background:linear-gradient(#06345b,#011329)!important;
 color:#c3e7ff!important;font-size:24px!important;font-weight:900!important
}
body.prod-mode .brv63Bottom button small{font-size:10px!important;font-weight:800!important}
body.prod-mode .brv63Bottom button.active{
 background:linear-gradient(#55330b,#e4a928,#65410c)!important;
 border-color:#ffdc83!important;color:#ffe99e!important;box-shadow:0 0 14px #eab34d99!important
}
body.prod-mode .brvSideMenu{position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:min(310px,83vw)!important;z-index:2100!important;background:linear-gradient(145deg,#092c4b,#010d20)!important;border-right:2px solid #e8bb60!important;transform:translateX(-105%)!important;transition:transform .23s ease!important;padding:calc(env(safe-area-inset-top,0px) + 20px) 15px 20px!important;box-sizing:border-box!important;color:#fff!important}
body.prod-mode .brvSideMenu.open{transform:translateX(0)!important}
body.prod-mode .brvNoticePanel{position:fixed!important;top:calc(env(safe-area-inset-top,0px) + 20px)!important;left:50%!important;transform:translate(-50%,-130vh)!important;width:min(390px,92vw)!important;max-height:75vh!important;z-index:2100!important;box-sizing:border-box!important;border:1px solid #e8b759!important;border-radius:18px!important;padding:17px!important;background:linear-gradient(140deg,#0a3553,#041426)!important;color:#fff!important}
body.prod-mode .brvNoticePanel.open{transform:translate(-50%,0)!important}
body.prod-mode .brvSideBackdrop,body.prod-mode .brvNoticeBackdrop{position:fixed!important;inset:0!important;z-index:2000!important;background:#0009!important}
body.prod-mode .view{padding-bottom:calc(105px + env(safe-area-inset-bottom,0px))!important}
body.prod-mode:not(.brvCinematicHome) main{padding-bottom:calc(85px + env(safe-area-inset-bottom,0px))!important}
body.prod-mode:not(.brvCinematicHome) .topbar{padding-left:62px!important;padding-right:62px!important}

/* v0.17.96: menu and notification buttons only on HOME.
   Bottom navigation remains global on all views. */
body.prod-mode:not(.brvCinematicHome) #brvMenuButton,
body.prod-mode:not(.brvCinematicHome) #brvBellButton{
 display:none!important;visibility:hidden!important;pointer-events:none!important;
}

/* 0.17.96: venue race banner: opaque navy/gold, no frosted mosaic. */
body.prod-mode #venueView>.pageHead{
 background:linear-gradient(115deg,#041326 0%,#0a3558 49%,#061a31 100%)!important;
 background-color:#061a31!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
 border:1.5px solid #dcb15e!important;border-bottom:3px solid #eac879!important;
 border-radius:14px!important;box-shadow:0 4px 16px rgba(0,0,0,.55),inset 0 1px rgba(255,228,159,.17)!important;
 padding:12px 13px!important;min-height:62px!important;display:flex!important;align-items:center!important;gap:12px!important;
}
body.prod-mode #venueView>.pageHead .back{background:linear-gradient(#143c59,#06182b)!important;color:#f8d781!important;border:1px solid #caa151!important;border-radius:10px!important;flex:none!important}
body.prod-mode #venueView>.pageHead .pageTitle{flex:1!important;min-width:0!important}
body.prod-mode #venueView>.pageHead .pageTitle b{color:#ffe1a0!important;font-size:clamp(18px,5vw,24px)!important;text-shadow:none!important}
body.prod-mode #venueView>.pageHead .pageTitle small{color:#c9dcec!important}

/* v0.17.96 - unified navy/gold search and My Racer screens, no frosted glass */
body.prod-mode #brvSearchOverlay{background:#020c1d!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;padding:calc(env(safe-area-inset-top,0px) + 12px) 12px calc(110px + env(safe-area-inset-bottom,0px))!important}
body.prod-mode #brvSearchOverlay .brvSearchPanel{
 background:linear-gradient(155deg,#0b3150 0%,#071e36 48%,#031124 100%)!important;
 border:1.5px solid #cda353!important;border-radius:17px!important;
 box-shadow:0 9px 30px #0009,inset 0 1px #f6db9560!important;
 backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
 padding:17px 14px 22px!important;min-height:0!important;
}
body.prod-mode #brvSearchOverlay .brvSearchPanel>header{border-bottom:1px solid #a98442!important;padding-bottom:14px!important;margin-bottom:14px!important}
body.prod-mode #brvSearchOverlay .brvSearchPanel>header strong{color:#ffe3a1!important;font-size:clamp(15px,4vw,19px)!important;font-weight:900!important}
body.prod-mode #brvSearchExitFixed{background:linear-gradient(#153f5c,#06182e)!important;color:#ffe0a1!important;border:1px solid #d6ab5b!important;border-radius:10px!important}
body.prod-mode #brvSearchModes{gap:7px!important;margin-bottom:14px!important}
body.prod-mode #brvSearchModes button{
 background:linear-gradient(#123c5b,#06233e)!important;border:1px solid #5c85a0!important;
 border-radius:10px!important;color:#d6e7f5!important;min-height:45px!important;font-weight:800!important
}
body.prod-mode #brvSearchModes button.active{
 background:linear-gradient(#ffe4a0,#d4a343)!important;border-color:#ffdc82!important;color:#09213a!important;
 box-shadow:0 0 10px #d5a44355!important
}
body.prod-mode #brvSearchOverlay .brvSearchQuery{display:flex!important;gap:8px!important;align-items:stretch!important}
body.prod-mode #brvSearchInput{
 background:#081b31!important;color:#fff2d5!important;border:1.5px solid #a78249!important;
 border-radius:10px!important;box-shadow:inset 0 1px 5px #0005!important;min-width:0!important;
 font-size:16px!important;outline:none!important
}
body.prod-mode #brvSearchInput::placeholder{color:#b7c9d9!important;opacity:1!important}
body.prod-mode #brvSearchInput:focus{border-color:#ffda80!important;box-shadow:0 0 0 2px #b98d3b66!important}
body.prod-mode #brvSearchGo{background:linear-gradient(#f9d886,#c99939)!important;color:#061a2b!important;border:1px solid #ffe4a5!important;border-radius:10px!important;font-weight:900!important}
body.prod-mode #brvSearchNotice{color:#b9ccdd!important;font-size:12px!important;line-height:1.65!important;margin:14px 0!important}
body.prod-mode #brvSearchResults{color:#e6f0f8!important}
body.prod-mode #brvSearchResults .brvResultItem{background:#0a2944!important;border:1px solid #7a663e!important;border-radius:10px!important;color:#f4f4f0!important}
body.prod-mode #brvSearchResults .brvProfileEmpty{color:#c6d4df!important}
body.prod-mode #myRacerView .myRacerHero{
 background:linear-gradient(120deg,#071b31,#0c3858 55%,#071a2e)!important;
 border:1.5px solid #d6aa55!important;border-bottom:3px solid #edc572!important;
 border-radius:15px!important;box-shadow:0 6px 20px #0008!important;
 backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
 padding:20px 17px 20px 80px!important;min-height:116px!important;
}
body.prod-mode #myRacerView .myRacerHero:before,body.prod-mode #myRacerView .myRacerHero:after{display:none!important}
body.prod-mode #myRacerView .myRacerHero small{color:#dfbb71!important;letter-spacing:.16em!important}
body.prod-mode #myRacerView .myRacerHero h2{color:#ffdfa1!important;text-shadow:none!important}
body.prod-mode #myRacerView .myRacerHero p{color:#c4d6e4!important;font-size:12px!important;line-height:1.55!important}
body.prod-mode #myRacerView .myRacerBackBtn{
 background:linear-gradient(#174260,#061b31)!important;color:#ffdb87!important;
 border:1px solid #d7ac59!important;border-radius:11px!important;box-shadow:none!important
}
body.prod-mode #myRacerView .myRacerColumns{gap:13px!important}
body.prod-mode #myRacerView .myRacerShelf{
 background:linear-gradient(140deg,#0b2c49,#06182e)!important;
 border:1.5px solid #cda052!important;border-radius:15px!important;
 backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
 box-shadow:0 5px 18px #0007!important;padding:16px!important
}
body.prod-mode #myRacerView .myRacerShelf.good,body.prod-mode #myRacerView .myRacerShelf.bad{border-color:#cda052!important}
body.prod-mode #myRacerView .myRacerShelf .cardHead{border-bottom:1px solid #b18b4a!important;padding-bottom:11px!important}
body.prod-mode #myRacerView .myRacerShelf .cardHead h3{color:#f2c976!important}
body.prod-mode #myRacerView .myRacerShelf .cardHead span{color:#eaf3fb!important}
body.prod-mode #myRacerView .myRacerList{color:#c9d8e5!important}

/* v0.17.96: venue settlement on demand; remove legacy top logo banner */
body.prod-mode>.topbar,body.prod-mode>.heroVersionTop{display:none!important;visibility:hidden!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}
body.prod-mode #venueView>.pageHead{display:flex!important;align-items:center!important;gap:12px!important}
body.prod-mode #venueView>.pageHead .pageTitle{flex:1!important}
body.prod-mode #brvSettlementToggle{flex:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:42px!important;padding:8px 15px!important;border-radius:11px!important;border:1.5px solid #f0c877!important;background:linear-gradient(145deg,#ffe5a0,#c99837)!important;color:#08223a!important;font-size:14px!important;font-weight:900!important;box-shadow:0 2px 12px #0008!important;cursor:pointer!important}
body.prod-mode #brvSettlementToggle[hidden]{display:none!important}
body.prod-mode #brvVenueSettlement[hidden]{display:none!important}
body.prod-mode #brvVenueSettlement:not([hidden]){display:block!important;margin-top:12px!important}

/* v0.17.96: remove legacy masthead entirely; keep only current page content. */
body.prod-mode>.topbar,body.prod-mode>.heroVersionTop{display:none!important}
body.prod-mode #legacyRefreshHolder{display:none!important}
body.prod-mode main{margin-top:0!important}

/* v0.17.96: hard isolate the home image. No legacy V banner on venue, detail, live, racer or search screens. */
html body.prod-mode:not(.brvCinematicHome) #homeView,
html body.prod-mode #homeView:not(.active){display:none!important;visibility:hidden!important}
html body.prod-mode:not(.brvCinematicHome) #homeView .brv63Hero,
html body.prod-mode #homeView:not(.active) .brv63Hero,
html body.prod-mode #homeView .brv63Hero[hidden]{display:none!important;visibility:hidden!important;height:0!important}
html body.prod-mode:not(.brvCinematicHome){padding-top:env(safe-area-inset-top,0px)!important}
html body.prod-mode:not(.brvCinematicHome) main{padding-top:0!important;margin-top:0!important}

/* v0.17.96: ROOT CAUSE FIX.
   Legacy V banner is the fixed body wallpaper and body::after mask, not the home hero.
   Disable both on all non-home views, and remove inherited top spacing. */
html:has(body.prod-mode:not(.brvCinematicHome)){background:#020d1e!important;background-image:none!important}
html body.prod-mode:not(.brvCinematicHome){
 background:#020d1e!important;background-image:none!important;background-attachment:initial!important;
 padding-top:0!important;margin-top:0!important;
}
html body.prod-mode:not(.brvCinematicHome)::before,
html body.prod-mode:not(.brvCinematicHome)::after{
 content:none!important;display:none!important;background:none!important;background-image:none!important;
}
html body.prod-mode:not(.brvCinematicHome)>main{
 margin-top:0!important;padding-top:0!important;background:none!important;
}
html body.prod-mode:not(.brvCinematicHome) .view.active{
 margin-top:0!important;padding-top:0!important;
}
html body.prod-mode:not(.brvCinematicHome) #venueView{
 margin-top:0!important;padding-top:0!important;
}
html body.prod-mode:not(.brvCinematicHome) #venueView .venueHeroBanner{
 margin-top:8px!important;
}

/* v0.17.96 - race detail visual refresh: solid navy + gold, no glass / grey */
body.prod-mode #detailView{background:transparent!important;color:#f0f5fc!important;padding-top:0!important}
body.prod-mode #detailView .pageHead.detailHead{
 position:relative!important;top:auto!important;z-index:35!important;
 display:flex!important;align-items:center!important;gap:8px!important;
 min-height:76px!important;height:auto!important;
 margin:8px 12px 12px!important;padding:12px!important;
 border:1.5px solid #d7a74c!important;border-bottom:3px solid #f3ce77!important;
 border-radius:17px!important;
 background:linear-gradient(112deg,#061b33,#103a5a 56%,#04162b)!important;
 box-shadow:0 5px 19px #0008,inset 0 1px #ffe3a533!important;
 backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
body.prod-mode #detailView .pageHead.detailHead .pageTitle{flex:1!important;min-width:0!important}
body.prod-mode #detailView .detailTitleLine{display:flex!important;align-items:center!important;gap:6px!important;flex-wrap:wrap!important}
body.prod-mode #detailView #detailTitle{color:#ffe1a1!important;font-size:clamp(17px,4.7vw,23px)!important;text-shadow:none!important}
body.prod-mode #detailView #detailMeta{color:#c4d7e6!important;font-size:11px!important}
body.prod-mode #detailView #detailCloseTime{color:#ffe6ae!important;background:#5c2830!important;border:1px solid #dc8b87!important;border-radius:7px!important;padding:3px 5px!important;font-size:10px!important}
body.prod-mode #detailView .detailLiveBtn{background:linear-gradient(#15567d,#08324f)!important;border:1px solid #83c6ed!important;border-radius:9px!important;color:#f2f9ff!important;font-weight:900!important;padding:7px 8px!important;font-size:11px!important}
body.prod-mode #detailView .back,body.prod-mode #detailView .miniRefresh,body.prod-mode #detailView .pageHomeBtn{
 flex-shrink:0!important;background:linear-gradient(#17415e,#061a30)!important;
 border:1px solid #cfa558!important;border-radius:11px!important;color:#ffe0a0!important;
 box-shadow:inset 0 1px #ffffff25!important;text-shadow:none!important
}
body.prod-mode #detailView .back{width:43px!important;height:48px!important;font-size:28px!important}
body.prod-mode #detailView .miniRefresh{width:42px!important;height:48px!important;font-size:24px!important}
body.prod-mode #detailView .pageHomeBtn{padding:8px!important;min-height:45px!important;font-size:11px!important}
body.prod-mode #detailView .raceTabsStack{position:relative!important;top:auto!important;margin:0 12px 13px!important;border:1.5px solid #cfa45a!important;border-radius:15px!important;overflow:hidden!important;background:#051a30!important;box-shadow:0 5px 18px #0006!important}
body.prod-mode #detailView .raceTabsStack .tabs{position:relative!important;top:auto!important;display:grid!important;margin:0!important;border:0!important;border-radius:0!important;overflow:hidden!important;background:#092a46!important;box-shadow:none!important}
body.prod-mode #detailView .raceTabsStack .mainRaceTabs{grid-template-columns:repeat(2,minmax(0,1fr))!important;border-bottom:1px solid #b88a42!important}
body.prod-mode #detailView .raceTabsStack .raceSubTabs{grid-template-columns:repeat(3,minmax(0,1fr))!important}
body.prod-mode #detailView .raceTabsStack .tabs button{min-width:0!important;min-height:51px!important;border:0!important;border-right:1px solid #41627b!important;border-radius:0!important;background:linear-gradient(#0b3352,#051d34)!important;color:#d8e9f4!important;box-shadow:none!important;font-size:clamp(12px,3.5vw,16px)!important;font-weight:850!important}
body.prod-mode #detailView .raceTabsStack .tabs button:last-child{border-right:0!important}
body.prod-mode #detailView .raceTabsStack .tabs button.active{background:linear-gradient(#ffe7a6,#e1b75f 55%,#c38d33)!important;color:#0b2236!important;box-shadow:inset 0 -3px #ffdf85!important}
body.prod-mode #detailView .panel{padding:7px 12px 15px!important;background:transparent!important;border:0!important;box-shadow:none!important}
body.prod-mode #detailView .boatRows{gap:12px!important}
body.prod-mode #detailView .boatRow{
 background:linear-gradient(125deg,#0b2d4a,#06192f)!important;
 border:1.5px solid #b9904e!important;border-radius:13px!important;
 box-shadow:0 4px 14px #0007,inset 0 1px #ffdf9b24!important;
 overflow:hidden!important;color:#edf5fb!important;
 backdrop-filter:none!important;-webkit-backdrop-filter:none!important
}
body.prod-mode #detailView .boatRow .cell{background:transparent!important;border-color:#38506a!important;color:#edf5fb!important}
body.prod-mode #detailView .boatRow .cell small{color:#b7cde0!important}
body.prod-mode #detailView .boatRow .cell b{color:#f7f5ef!important}
body.prod-mode #detailView .boatRow .lane{font-weight:1000!important;font-size:20px!important}
body.prod-mode #detailView .boatRow .racerPhotoWrap{border-radius:8px!important;overflow:hidden!important;border:1px solid #d4b36e!important}
body.prod-mode #detailView .boatRow .racerNameCell b{color:#fff1c7!important}
body.prod-mode #detailView .boatRow .racerNameKana{color:#bbd4e5!important}
body.prod-mode #detailView .boatRow .racerBioLine{color:#d8e4ef!important}
body.prod-mode #detailView .boatRow .goodBtn,body.prod-mode #detailView .boatRow .badBtn{border-radius:99px!important}
body.prod-mode #detailView .card,body.prod-mode #detailView .analysisCard,body.prod-mode #detailView .predictionCard,body.prod-mode #detailView .aiHero,body.prod-mode #detailView .notice{
 background:linear-gradient(140deg,#0b304e,#061b32)!important;
 border:1px solid #b9914b!important;border-radius:14px!important;
 color:#edf4fa!important;box-shadow:0 5px 17px #0006!important;
 backdrop-filter:none!important;-webkit-backdrop-filter:none!important
}
body.prod-mode #detailView .card h3,body.prod-mode #detailView .cardHead h3,body.prod-mode #detailView .aiHero h2{color:#ffdb86!important}
body.prod-mode #detailView .cardHead{border-bottom-color:#ad8547!important}
body.prod-mode #detailView .raceTopCompat{display:none!important}
@media(max-width:430px){
 body.prod-mode #detailView .pageHead.detailHead{margin-inline:8px!important;padding:9px 7px!important;gap:5px!important}
 body.prod-mode #detailView .back{width:38px!important;height:44px!important}
 body.prod-mode #detailView .miniRefresh{width:36px!important;height:44px!important}
 body.prod-mode #detailView .pageHomeBtn{padding:6px!important;font-size:10px!important}
 body.prod-mode #detailView .detailLiveBtn{padding:5px!important;font-size:10px!important}
 body.prod-mode #detailView .raceTabsStack{margin-inline:8px!important}
 body.prod-mode #detailView .panel{padding-inline:8px!important}
}

/* v0.17.96: protect the iPhone status bar on race-detail screens.
   Previous reset zeroed top padding; only the detail view needs the offset. */
html body.prod-mode #detailView.active,
html body.prod-mode #detailView:not([hidden]){
 padding-top:max(62px, calc(env(safe-area-inset-top, 0px) + 12px))!important;
 box-sizing:border-box!important;
}
html body.prod-mode #detailView .pageHead.detailHead{
 margin-top:0!important;
}

/* v0.17.96: restore sticky race title only (tabs and race content scroll normally).
   The 70px inset keeps the title below iOS status bar while scrolling. */
html body.prod-mode #detailView .pageHead.detailHead{
 position:-webkit-sticky!important;position:sticky!important;
 top:max(70px, calc(env(safe-area-inset-top, 0px) + 14px))!important;
 z-index:950!important;
 background:linear-gradient(112deg,#061b33,#103a5a 56%,#04162b)!important;
 isolation:isolate!important;
 box-shadow:0 6px 20px #000d,inset 0 1px #ffe3a533!important;
}
/* Prevent old sticky tabs from overlaying the fixed race title. */
html body.prod-mode #detailView .raceTabsStack,
html body.prod-mode #detailView .raceTabsStack .tabs{
 position:relative!important;top:auto!important;z-index:1!important;
}

/* v0.17.96: align venue and My Racer top banner to race-detail first banner.
   Override legacy 94px venue margin and 116px My Racer padding. */
html body.prod-mode:not(.brvCinematicHome) #venueView.active{padding-top:0!important;margin-top:0!important}
html body.prod-mode:not(.brvCinematicHome) #venueView.active>.pageHead{
 margin-top:62px!important;top:62px!important;
}
html body.prod-mode:not(.brvCinematicHome) #myRacerView.active{
 padding-top:30px!important;margin-top:0!important;
}
html body.prod-mode:not(.brvCinematicHome) #myRacerView.active>.myRacerHero{
 margin-top:10px!important;
}

/* v0.17.96: small downward adjustment, preserving all existing layouts. */
html body.prod-mode:not(.brvCinematicHome) #venueView.active>.pageHead{margin-top:82px!important;top:82px!important}
html body.prod-mode:not(.brvCinematicHome) #myRacerView.active{padding-top:68px!important}

/* v0.17.96: three challenges moved to left navigation; home data retains summary only */
body.prod-mode #brvSideMenu .brvSideSectionTitle{color:#f4d58d;font-size:14px;font-weight:900;letter-spacing:.05em;margin:22px 0 10px;border-bottom:1px solid #a67c3d;padding-bottom:9px}
body.prod-mode #brvSideMenu .brvMenuChallenges{display:flex!important;flex-direction:column!important;gap:10px!important;margin:0!important}
body.prod-mode #brvSideMenu .brvMenuChallenges .homeInlineChallenge{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;min-height:52px!important;padding:12px 14px!important;border-radius:12px!important;color:#fff3d5!important;font-size:14px!important;font-weight:900!important;box-shadow:0 4px 13px #0007!important;white-space:normal!important;text-align:left!important}
body.prod-mode #brvSideMenu .brvMenuChallenges .homeInlineChallenge:nth-child(1){background:linear-gradient(110deg,#6d122d,#d52c54,#6a142f)!important;border:1px solid #f76c8a!important}
body.prod-mode #brvSideMenu .brvMenuChallenges .homeInlineChallenge:nth-child(2){background:linear-gradient(110deg,#63400d,#b9862a,#5e3b0a)!important;border:1px solid #ffe18b!important}
body.prod-mode #brvSideMenu .brvMenuChallenges .homeInlineChallenge:nth-child(3){background:linear-gradient(110deg,#063263,#1169b2,#052d5d)!important;border:1px solid #69baff!important}

/* v0.17.96: all challenge launch buttons share identical left/right edges. */
html body.prod-mode #brvSideMenu .brvMenuChallenges,
html body.prod-mode #brvSideMenu .brvMenuChallenges .homeInlineChallenge{
 box-sizing:border-box!important;max-width:100%!important;
 margin-left:0!important;margin-right:0!important;
 transform:none!important;left:auto!important;right:auto!important;
}
html body.prod-mode #brvSideMenu .brvMenuChallenges .homeInlineChallenge{
 flex:0 0 auto!important;align-self:stretch!important;width:100%!important;
}
/* Home-only controls: hidden whenever any challenge sheet is visible. */
html body.prod-mode:has(#vChallengeModal.open) #brvMenuButton,
html body.prod-mode:has(#vChallengeModal.open) #brvBellButton,
html body.prod-mode:has(.superRaceOverlay:not([hidden])) #brvMenuButton,
html body.prod-mode:has(.superRaceOverlay:not([hidden])) #brvBellButton{
 display:none!important;visibility:hidden!important;pointer-events:none!important;
}

/* v0.17.96: center BOTH race tab rows within the same width and x origin. */
html body.prod-mode #detailView .raceTabsStack{
 display:block!important;box-sizing:border-box!important;
 width:calc(100% - 28px)!important;max-width:900px!important;
 margin:0 auto 13px!important;left:auto!important;right:auto!important;
 padding:0!important;transform:none!important;
}
html body.prod-mode #detailView .raceTabsStack .tabs{
 display:grid!important;box-sizing:border-box!important;width:100%!important;
 max-width:none!important;margin:0!important;padding:0!important;
 left:0!important;right:0!important;transform:none!important;
}
html body.prod-mode #detailView .raceTabsStack .mainRaceTabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}
html body.prod-mode #detailView .raceTabsStack .raceSubTabs{grid-template-columns:repeat(3,minmax(0,1fr))!important}
html body.prod-mode #detailView .raceTabsStack .tabs button{width:100%!important;box-sizing:border-box!important;margin:0!important;min-width:0!important;max-width:none!important;transform:none!important}
body.prod-mode #brvPrizeRankingOpen{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;margin:9px 0 0!important;box-sizing:border-box!important;background:linear-gradient(100deg,#183d56,#0c2137)!important;border:1px solid #d6b16b!important;border-radius:10px!important;color:#ffe4a0!important;padding:13px 12px!important;font-weight:900!important;font-size:14px!important}
body.prod-mode #brvPrizeRankingOpen span{font-size:20px!important}
body.prod-mode .brvPrizeBackdrop{position:fixed!important;inset:0!important;z-index:2200!important;background:#000b!important}
body.prod-mode .brvPrizeModal{position:fixed!important;z-index:2201!important;top:calc(env(safe-area-inset-top,0px) + 12px)!important;bottom:calc(98px + env(safe-area-inset-bottom,0px))!important;left:12px!important;right:12px!important;max-width:650px!important;margin:0 auto!important;overflow:auto!important;box-sizing:border-box!important;background:linear-gradient(145deg,#0d3453,#04172c)!important;border:2px solid #d4aa5e!important;border-radius:18px!important;box-shadow:0 12px 32px #000a!important;padding:17px 14px!important;color:#eaf4fb!important}
body.prod-mode .brvPrizeModal[hidden],body.prod-mode .brvPrizeBackdrop[hidden]{display:none!important}
body.prod-mode .brvPrizeTop{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:8px!important}
body.prod-mode .brvPrizeTop small{font-size:10px!important;letter-spacing:.16em!important;color:#d5b87b!important}
body.prod-mode .brvPrizeTop h2{font-size:21px!important;color:#ffdc86!important;margin:5px 0!important}
body.prod-mode #brvPrizeClose{background:#143c58!important;border:1px solid #d4aa5e!important;border-radius:10px!important;color:#ffdc86!important;width:42px!important;height:42px!important;font-size:27px!important}
body.prod-mode .brvPrizeDate{font-size:12px!important;color:#b9cfde!important;margin:8px 0 13px!important}
body.prod-mode .brvPrizeRow{display:flex!important;align-items:center!important;gap:10px!important;padding:12px 6px!important;border-top:1px solid #416078!important}
body.prod-mode .brvPrizeRank{width:33px!important;flex-shrink:0!important;font-size:20px!important;font-weight:900!important;color:#e4bd6c!important;text-align:center!important}
body.prod-mode .brvPrizeRank small{font-size:10px!important}
body.prod-mode .brvPrizePerson{display:flex!important;flex:1!important;flex-direction:column!important;min-width:0!important;gap:3px!important}
body.prod-mode .brvPrizePerson b{font-size:15px!important;color:#f2f5f8!important}
body.prod-mode .brvPrizePerson small{font-size:11px!important;color:#aac4d7!important}
body.prod-mode .brvPrizeRow strong{font-size:clamp(12px,3.5vw,16px)!important;color:#ffdc8a!important;white-space:nowrap!important}
body.prod-mode .brvPrizeNote{font-size:11px!important;line-height:1.7!important;color:#bcd0df!important}
body.prod-mode .brvPrizeOfficial{display:block!important;margin-top:12px!important;padding:12px!important;border:1px solid #d9b36b!important;border-radius:10px!important;color:#ffe5a7!important;text-align:center!important;text-decoration:none!important;font-weight:800!important}
html body.prod-mode.brvPrizeVisible #brvMenuButton,html body.prod-mode.brvPrizeVisible #brvBellButton{display:none!important}

/* v0.17.96: common side-menu section and button layout for current/future items. */
html body.prod-mode #brvSideMenu .brvSideSectionTitle{
  display:block!important;width:100%!important;box-sizing:border-box!important;
  margin:22px 0 10px!important;padding:0 0 9px!important;
  color:#f4d58d!important;font-size:14px!important;font-weight:900!important;
  letter-spacing:.05em!important;border-bottom:1px solid #a67c3d!important;
}
html body.prod-mode #brvSideMenu .brvMenuRanking,
html body.prod-mode #brvSideMenu .brvMenuChallenges{
  display:flex!important;flex-direction:column!important;gap:10px!important;
  margin:0!important;padding:0!important;width:100%!important;max-width:100%!important;
  box-sizing:border-box!important;
}
html body.prod-mode #brvSideMenu .brvMenuRanking > button,
html body.prod-mode #brvSideMenu .brvMenuChallenges > button{
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  flex:0 0 auto!important;align-self:stretch!important;box-sizing:border-box!important;
  width:100%!important;max-width:100%!important;min-height:52px!important;
  margin:0!important;left:auto!important;right:auto!important;transform:none!important;
  padding:12px 14px!important;border-radius:12px!important;
  font-size:14px!important;font-weight:900!important;text-align:left!important;
  color:#fff3d5!important;box-shadow:0 4px 13px #0007!important;
}
html body.prod-mode #brvSideMenu .brvMenuRanking > .brvPrizeMenuBtn{
  background:linear-gradient(110deg,#153b60,#21639a,#0b2c50)!important;
  border:1px solid #d9b36a!important;
}

/* v0.17.96: news section uses the exact same side-menu component geometry. */
html body.prod-mode #brvSideMenu .brvMenuNews{display:flex!important;flex-direction:column!important;gap:10px!important;margin:0!important;padding:0!important;width:100%!important;box-sizing:border-box!important}
html body.prod-mode #brvSideMenu .brvMenuNews > button{display:flex!important;align-items:center!important;justify-content:space-between!important;align-self:stretch!important;box-sizing:border-box!important;width:100%!important;min-height:52px!important;margin:0!important;transform:none!important;padding:12px 14px!important;border-radius:12px!important;font-size:14px!important;font-weight:900!important;text-align:left!important;color:#fff3d5!important;box-shadow:0 4px 13px #0007!important;background:linear-gradient(110deg,#153b60,#21639a,#0b2c50)!important;border:1px solid #d9b36a!important}
html body.prod-mode .brvNewsBackdrop{position:fixed!important;inset:0!important;background:#000b!important;z-index:17000!important}
html body.prod-mode .brvNewsModal{position:fixed!important;inset:max(82px,calc(env(safe-area-inset-top,0px) + 20px)) 12px 100px!important;z-index:17001!important;overflow-y:auto!important;overscroll-behavior:contain!important;box-sizing:border-box!important;padding:18px!important;border:2px solid #d8ae62!important;border-radius:18px!important;background:linear-gradient(140deg,#0b304e,#06182c 80%)!important;color:#f7f2e7!important;box-shadow:0 15px 60px #000b!important}
html body.prod-mode .brvNewsModal[hidden],html body.prod-mode .brvNewsBackdrop[hidden]{display:none!important}
html body.prod-mode .brvNewsTop{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important}
html body.prod-mode .brvNewsTop small{font-size:10px!important;letter-spacing:.17em!important;color:#c6a66a!important}
html body.prod-mode .brvNewsTop h2{font-size:22px!important;color:#ffdc86!important;margin:5px 0!important}
html body.prod-mode #brvNewsClose{width:42px!important;height:42px!important;border-radius:10px!important;border:1px solid #d4aa5e!important;background:#143c58!important;color:#ffdc86!important;font-size:27px!important}
html body.prod-mode .brvNewsIntro,html body.prod-mode .brvNewsStatus,html body.prod-mode .brvNewsFoot{font-size:12px!important;line-height:1.7!important;color:#bad0dd!important}
html body.prod-mode .brvNewsRow{display:block!important;text-decoration:none!important;color:#fff!important;padding:14px 8px!important;border-top:1px solid #426077!important}
html body.prod-mode .brvNewsRow b{display:block!important;font-size:15px!important;line-height:1.5!important;margin:5px 0!important;color:#f3f5f8!important}
html body.prod-mode .brvNewsRow small{font-size:11px!important;color:#d9ba80!important}
html body.prod-mode .brvNewsRow .brvNewsLink{font-size:11px!important;color:#8bd5f4!important}
html body.prod-mode .brvNewsRefresh,html body.prod-mode .brvNewsOfficial{display:block!important;width:100%!important;box-sizing:border-box!important;text-align:center!important;padding:12px!important;margin:12px 0!important;border:1px solid #d4aa5e!important;border-radius:10px!important;background:#123c5b!important;color:#ffe1a3!important;text-decoration:none!important;font-weight:800!important}
html body.prod-mode.brvNewsVisible #brvMenuButton,html body.prod-mode.brvNewsVisible #brvBellButton{display:none!important}


/* v0.17.96 — three-column venue grid, authentic stadium photos, readable grade/day */
html body.prod-mode #homeView #venueGrid{
 display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
 column-gap:7px!important;row-gap:9px!important;
 padding:8px 7px 12px!important;
}
html body.prod-mode #homeView #venueGrid .venue{
 box-sizing:border-box!important;min-width:0!important;
 height:116px!important;min-height:116px!important;
 padding:6px!important;overflow:hidden!important;
 background-image:linear-gradient(180deg,rgba(0,10,26,.05) 0%,rgba(0,11,25,.22) 35%,rgba(0,10,23,.92) 100%),var(--venue-photo)!important;
 background-size:cover!important;background-position:center!important;
}
/* Use stadium-key photos rather than list-position stock images. */
html body.prod-mode #homeView #venueGrid .venue .name{
 position:absolute!important;left:6px!important;right:4px!important;bottom:43px!important;
 width:auto!important;max-width:calc(100% - 10px)!important;
 margin:0!important;line-height:1.1!important;
}
html body.prod-mode #homeView #venueGrid .venue .venueNameText{
 font-size:clamp(12px,3.5vw,17px)!important;line-height:1.12!important;
 white-space:nowrap!important;
}
html body.prod-mode #homeView #venueGrid .venue .count{
 position:absolute!important;left:6px!important;right:4px!important;bottom:25px!important;
 width:auto!important;max-width:calc(100% - 10px)!important;
 margin:0!important;padding:0!important;
 font-size:clamp(9px,2.55vw,12px)!important;line-height:1.4!important;
 min-height:15px!important;height:auto!important;
 white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;
 letter-spacing:-.35px!important;
}
html body.prod-mode #homeView #venueGrid .venueRaceInfo{
 position:absolute!important;left:6px!important;right:4px!important;bottom:6px!important;
 width:calc(100% - 10px)!important;height:15px!important;
 gap:3px!important;overflow:visible!important;white-space:nowrap!important;
}
html body.prod-mode #homeView #venueGrid .venueRaceInfo .wxIcon{font-size:10px!important}
html body.prod-mode #homeView #venueGrid .venueRaceInfo .raceNo,
html body.prod-mode #homeView #venueGrid .venueRaceInfo .closeTime{font-size:clamp(8px,2.25vw,10px)!important}
html body.prod-mode #homeView #venueGrid .venueRaceInfo .closeTime:before{margin-right:3px!important}
html body.prod-mode #homeView #venueGrid .venueHits{top:4px!important;right:4px!important;gap:2px!important}
html body.prod-mode #homeView #venueGrid .venueHitBadge{font-size:7px!important;padding:2px 4px!important}
@media(max-width:375px){
 html body.prod-mode #homeView #venueGrid{column-gap:5px!important;padding-left:5px!important;padding-right:5px!important}
 html body.prod-mode #homeView #venueGrid .venue{height:112px!important;min-height:112px!important}
 html body.prod-mode #homeView #venueGrid .venue .count{font-size:9px!important;letter-spacing:-.6px!important}
}

/* v0.17.96: brighten actual venue photographs, preserve contrast only behind labels. */
html body.prod-mode #homeView #venueGrid .venue{
 background-image:linear-gradient(180deg,rgba(0,8,18,.00) 0%,rgba(0,8,18,.00) 32%,rgba(0,9,19,.07) 50%,rgba(0,10,20,.37) 70%,rgba(0,9,19,.78) 100%),var(--venue-photo)!important;
 filter:saturate(1.20) brightness(1.18)!important;
}
html body.prod-mode #homeView #venueGrid .venue:before{
 background:linear-gradient(180deg,transparent 0%,transparent 40%,rgba(0,9,20,.06) 55%,rgba(0,9,20,.26) 72%,rgba(0,9,20,.56) 100%)!important;
}
html body.prod-mode #homeView #venueGrid .venue .name,
html body.prod-mode #homeView #venueGrid .venue .count,
html body.prod-mode #homeView #venueGrid .venueRaceInfo{
 text-shadow:0 1px 3px #000,0 2px 7px #000!important;
}

/* v0.17.96: Stadium ID determines photograph, never card position. */
html body.prod-mode #homeView #venueGrid .venue{
 background-image:linear-gradient(180deg,rgba(0,8,18,.01) 0%,rgba(0,8,18,.04) 42%,rgba(0,10,20,.50) 75%,rgba(0,9,19,.80) 100%),var(--venue-photo,linear-gradient(135deg,#0d3c60,#06172d))!important;
 background-position:center!important;background-size:cover!important;
}

/* v0.17.96 — hard-bind Tokuyama artwork to venue 18.
   Avoid CSS custom-property precedence, remote fallback and card-order overrides. */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="18"]{
  --venue-photo:url("./assets/venue-tokuyama-photo.webp?v=01885")!important;
  background-image:linear-gradient(180deg,rgba(0,8,18,0) 0%,rgba(0,8,18,.05) 42%,rgba(0,9,20,.35) 72%,rgba(0,9,20,.82) 100%),url("./assets/venue-tokuyama-photo.webp?v=01885")!important;
  background-size:cover!important;
  background-position:center center!important;
}

/* v0.17.96 — embedded illustration for venue 1 */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="1"]{
 --venue-photo:url("./assets/venue-kiryu-illustration.webp?v=01818")!important;
 background-image:linear-gradient(180deg,rgba(0,8,18,0) 0%,rgba(0,8,18,.05) 42%,rgba(0,9,20,.35) 72%,rgba(0,9,20,.82) 100%),url("./assets/venue-kiryu-illustration.webp?v=01818")!important;
 background-size:cover!important;background-position:center center!important;
}

/* v0.17.96 — embedded illustration for venue 2 */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="2"]{
 --venue-photo:url("./assets/venue-toda-illustration.webp?v=01818")!important;
 background-image:linear-gradient(180deg,rgba(0,8,18,0) 0%,rgba(0,8,18,.05) 42%,rgba(0,9,20,.35) 72%,rgba(0,9,20,.82) 100%),url("./assets/venue-toda-illustration.webp?v=01818")!important;
 background-size:cover!important;background-position:center center!important;
}

/* v0.17.96 — embedded illustration for venue 3 */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="3"]{
 --venue-photo:url("./assets/venue-edogawa-illustration.webp?v=01818")!important;
 background-image:linear-gradient(180deg,rgba(0,8,18,0) 0%,rgba(0,8,18,.05) 42%,rgba(0,9,20,.35) 72%,rgba(0,9,20,.82) 100%),url("./assets/venue-edogawa-illustration.webp?v=01818")!important;
 background-size:cover!important;background-position:center center!important;
}

/* v0.17.96 — embedded illustration for venue 4 */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="4"]{
 --venue-photo:url("./assets/venue-heiwajima-illustration.webp?v=01818")!important;
 background-image:linear-gradient(180deg,rgba(0,8,18,0) 0%,rgba(0,8,18,.05) 42%,rgba(0,9,20,.35) 72%,rgba(0,9,20,.82) 100%),url("./assets/venue-heiwajima-illustration.webp?v=01818")!important;
 background-size:cover!important;background-position:center center!important;
}

/* v0.17.96 — embedded illustration for venue 5 */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="5"]{
 --venue-photo:url("./assets/venue-tamagawa-illustration.webp?v=01818")!important;
 background-image:linear-gradient(180deg,rgba(0,8,18,0) 0%,rgba(0,8,18,.05) 42%,rgba(0,9,20,.35) 72%,rgba(0,9,20,.82) 100%),url("./assets/venue-tamagawa-illustration.webp?v=01818")!important;
 background-size:cover!important;background-position:center center!important;
}

/* v0.17.97: embedded venue artwork for stadium 6 */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="6"]{
 --venue-photo:url("./assets/venue-hamanako-illustration.webp?v=01818")!important;
 background-image:linear-gradient(180deg,rgba(0,8,18,0) 0%,rgba(0,8,18,.05) 42%,rgba(0,9,20,.35) 72%,rgba(0,9,20,.82) 100%),url("./assets/venue-hamanako-illustration.webp?v=01818")!important;
 background-size:cover!important;background-position:center center!important;
}

/* v0.17.97: embedded venue artwork for stadium 7 */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="7"]{
 --venue-photo:url("./assets/venue-gamagori-illustration.webp?v=01818")!important;
 background-image:linear-gradient(180deg,rgba(0,8,18,0) 0%,rgba(0,8,18,.05) 42%,rgba(0,9,20,.35) 72%,rgba(0,9,20,.82) 100%),url("./assets/venue-gamagori-illustration.webp?v=01818")!important;
 background-size:cover!important;background-position:center center!important;
}

/* v0.17.97: embedded venue artwork for stadium 8 */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="8"]{
 --venue-photo:url("./assets/venue-tokoname-illustration.webp?v=01818")!important;
 background-image:linear-gradient(180deg,rgba(0,8,18,0) 0%,rgba(0,8,18,.05) 42%,rgba(0,9,20,.35) 72%,rgba(0,9,20,.82) 100%),url("./assets/venue-tokoname-illustration.webp?v=01818")!important;
 background-size:cover!important;background-position:center center!important;
}

/* v0.17.97: embedded venue artwork for stadium 9 */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="9"]{
 --venue-photo:url("./assets/venue-tsu-illustration.webp?v=01818")!important;
 background-image:linear-gradient(180deg,rgba(0,8,18,0) 0%,rgba(0,8,18,.05) 42%,rgba(0,9,20,.35) 72%,rgba(0,9,20,.82) 100%),url("./assets/venue-tsu-illustration.webp?v=01818")!important;
 background-size:cover!important;background-position:center center!important;
}

/* v0.17.97: embedded venue artwork for stadium 10 */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="10"]{
 --venue-photo:url("./assets/venue-mikuni-illustration.webp?v=01818")!important;
 background-image:linear-gradient(180deg,rgba(0,8,18,0) 0%,rgba(0,8,18,.05) 42%,rgba(0,9,20,.35) 72%,rgba(0,9,20,.82) 100%),url("./assets/venue-mikuni-illustration.webp?v=01818")!important;
 background-size:cover!important;background-position:center center!important;
}

html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="6"]{
 --venue-photo:url("./assets/venue-hamanako-illustration.webp?v=01818")!important;
 background-image:linear-gradient(180deg,transparent 0%,rgba(0,9,20,.12) 45%,rgba(0,9,20,.84) 100%),url("./assets/venue-hamanako-illustration.webp?v=01818")!important;
 background-size:100% 100%!important;background-position:center center!important;
}

html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="7"]{
 --venue-photo:url("./assets/venue-gamagori-illustration.webp?v=01818")!important;
 background-image:linear-gradient(180deg,transparent 0%,rgba(0,9,20,.12) 45%,rgba(0,9,20,.84) 100%),url("./assets/venue-gamagori-illustration.webp?v=01818")!important;
 background-size:100% 100%!important;background-position:center center!important;
}

html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="8"]{
 --venue-photo:url("./assets/venue-tokoname-illustration.webp?v=01818")!important;
 background-image:linear-gradient(180deg,transparent 0%,rgba(0,9,20,.12) 45%,rgba(0,9,20,.84) 100%),url("./assets/venue-tokoname-illustration.webp?v=01818")!important;
 background-size:100% 100%!important;background-position:center center!important;
}

html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="9"]{
 --venue-photo:url("./assets/venue-tsu-illustration.webp?v=01818")!important;
 background-image:linear-gradient(180deg,transparent 0%,rgba(0,9,20,.12) 45%,rgba(0,9,20,.84) 100%),url("./assets/venue-tsu-illustration.webp?v=01818")!important;
 background-size:100% 100%!important;background-position:center center!important;
}

html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="10"]{
 --venue-photo:url("./assets/venue-mikuni-illustration.webp?v=01818")!important;
 background-image:linear-gradient(180deg,transparent 0%,rgba(0,9,20,.12) 45%,rgba(0,9,20,.84) 100%),url("./assets/venue-mikuni-illustration.webp?v=01818")!important;
 background-size:100% 100%!important;background-position:center center!important;
}

/* v0.17.99: independently cropped five-venue artwork */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="6"]{
 --venue-photo:url("./assets/venue-hamanako-illustration.webp?v=01818")!important;
 background-image:linear-gradient(180deg,transparent 0%,rgba(0,9,20,.10) 42%,rgba(0,9,20,.83) 100%),url("./assets/venue-hamanako-illustration.webp?v=01818")!important;
 background-size:cover!important;background-position:center center!important;
}

/* v0.17.99: independently cropped five-venue artwork */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="7"]{
 --venue-photo:url("./assets/venue-gamagori-illustration.webp?v=01818")!important;
 background-image:linear-gradient(180deg,transparent 0%,rgba(0,9,20,.10) 42%,rgba(0,9,20,.83) 100%),url("./assets/venue-gamagori-illustration.webp?v=01818")!important;
 background-size:cover!important;background-position:center center!important;
}

/* v0.17.99: independently cropped five-venue artwork */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="8"]{
 --venue-photo:url("./assets/venue-tokoname-illustration.webp?v=01818")!important;
 background-image:linear-gradient(180deg,transparent 0%,rgba(0,9,20,.10) 42%,rgba(0,9,20,.83) 100%),url("./assets/venue-tokoname-illustration.webp?v=01818")!important;
 background-size:cover!important;background-position:center center!important;
}

/* v0.17.99: independently cropped five-venue artwork */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="9"]{
 --venue-photo:url("./assets/venue-tsu-illustration.webp?v=01818")!important;
 background-image:linear-gradient(180deg,transparent 0%,rgba(0,9,20,.10) 42%,rgba(0,9,20,.83) 100%),url("./assets/venue-tsu-illustration.webp?v=01818")!important;
 background-size:cover!important;background-position:center center!important;
}

/* v0.17.99: independently cropped five-venue artwork */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="10"]{
 --venue-photo:url("./assets/venue-mikuni-illustration.webp?v=01818")!important;
 background-image:linear-gradient(180deg,transparent 0%,rgba(0,9,20,.10) 42%,rgba(0,9,20,.83) 100%),url("./assets/venue-mikuni-illustration.webp?v=01818")!important;
 background-size:cover!important;background-position:center center!important;
}

/* v0.18.18 supplied original photograph: amagasaki, venue 13 */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="13"]{
 --venue-photo:url("./assets/venue-amagasaki-photo.webp?v=01818")!important;
 background-image:linear-gradient(180deg,rgba(0,9,20,.02) 0%,rgba(0,9,20,.1) 43%,rgba(0,9,20,.83) 100%),url("./assets/venue-amagasaki-photo.webp?v=01818")!important;
 background-position:center center!important; background-size:cover!important;
}

/* v0.18.18 supplied original photograph: ashiya, venue 21 */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="21"]{
 --venue-photo:url("./assets/venue-ashiya-photo.webp?v=01887")!important;
 background-image:linear-gradient(180deg,rgba(0,9,20,.02) 0%,rgba(0,9,20,.1) 43%,rgba(0,9,20,.83) 100%),url("./assets/venue-ashiya-photo.webp?v=01887")!important;
 background-position:center center!important; background-size:cover!important;
}

/* v0.18.18 supplied original photograph: biwako, venue 11 */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="11"]{
 --venue-photo:url("./assets/venue-biwako-photo.webp?v=01818")!important;
 background-image:linear-gradient(180deg,rgba(0,9,20,.02) 0%,rgba(0,9,20,.1) 43%,rgba(0,9,20,.83) 100%),url("./assets/venue-biwako-photo.webp?v=01818")!important;
 background-position:center center!important; background-size:cover!important;
}

/* v0.18.18 supplied original photograph: tamagawa, venue 5 */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="5"]{
 --venue-photo:url("./assets/venue-tamagawa-photo.webp?v=01818")!important;
 background-image:linear-gradient(180deg,rgba(0,9,20,.02) 0%,rgba(0,9,20,.1) 43%,rgba(0,9,20,.83) 100%),url("./assets/venue-tamagawa-photo.webp?v=01818")!important;
 background-position:center center!important; background-size:cover!important;
}

/* v0.18.18 user supplied venue photograph: toda (02) */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="2"]{
 --venue-photo:url("./assets/venue-toda-photo.webp?v=01870")!important;
 background-image:linear-gradient(180deg,rgba(0,9,20,.02) 0%,rgba(0,9,20,.1) 43%,rgba(0,9,20,.83) 100%),url("./assets/venue-toda-photo.webp?v=01870")!important;
 background-position:center center!important;background-size:cover!important;
}

/* v0.18.18 user supplied venue photograph: heiwajima (04) */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="4"]{
 --venue-photo:url("./assets/venue-heiwajima-photo.webp?v=01818")!important;
 background-image:linear-gradient(180deg,rgba(0,9,20,.02) 0%,rgba(0,9,20,.1) 43%,rgba(0,9,20,.83) 100%),url("./assets/venue-heiwajima-photo.webp?v=01818")!important;
 background-position:center center!important;background-size:cover!important;
}

/* v0.18.18 user supplied venue photograph: hamanako (06) */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="6"]{
 --venue-photo:url("./assets/venue-hamanako-photo.webp?v=01818")!important;
 background-image:linear-gradient(180deg,rgba(0,9,20,.02) 0%,rgba(0,9,20,.1) 43%,rgba(0,9,20,.83) 100%),url("./assets/venue-hamanako-photo.webp?v=01818")!important;
 background-position:center center!important;background-size:cover!important;
}

/* v0.18.18 user supplied venue photograph: gamagori (07) */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="7"]{
 --venue-photo:url("./assets/venue-gamagori-photo.webp?v=01818")!important;
 background-image:linear-gradient(180deg,rgba(0,9,20,.02) 0%,rgba(0,9,20,.1) 43%,rgba(0,9,20,.83) 100%),url("./assets/venue-gamagori-photo.webp?v=01818")!important;
 background-position:center center!important;background-size:cover!important;
}

/* v0.18.18: user-supplied photo for suminoe */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="12"]{
 --venue-photo:url("./assets/venue-suminoe-photo.webp?v=01818")!important;
 background-image:linear-gradient(180deg,rgba(0,9,20,.02) 0%,rgba(0,9,20,.1) 43%,rgba(0,9,20,.83) 100%),url("./assets/venue-suminoe-photo.webp?v=01818")!important;
 background-size:cover!important;background-position:center center!important;
}

/* v0.18.18: user-supplied photo for tsu */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="9"]{
 --venue-photo:url("./assets/venue-tsu-photo.webp?v=01888")!important;
 background-image:linear-gradient(180deg,rgba(0,9,20,.02) 0%,rgba(0,9,20,.1) 43%,rgba(0,9,20,.83) 100%),url("./assets/venue-tsu-photo.webp?v=01888")!important;
 background-size:cover!important;background-position:center center!important;
}

/* v0.18.18: user-supplied photo for mikuni */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="10"]{
 --venue-photo:url("./assets/venue-mikuni-photo.webp?v=01818")!important;
 background-image:linear-gradient(180deg,rgba(0,9,20,.02) 0%,rgba(0,9,20,.1) 43%,rgba(0,9,20,.83) 100%),url("./assets/venue-mikuni-photo.webp?v=01818")!important;
 background-size:cover!important;background-position:center center!important;
}

/* v0.18.18: user-supplied photo for tokoname */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="8"]{
 --venue-photo:url("./assets/venue-tokoname-photo.webp?v=01818")!important;
 background-image:linear-gradient(180deg,rgba(0,9,20,.02) 0%,rgba(0,9,20,.1) 43%,rgba(0,9,20,.83) 100%),url("./assets/venue-tokoname-photo.webp?v=01818")!important;
 background-size:cover!important;background-position:center center!important;
}

/* v0.18.18 user supplied original photograph: karatsu (23) */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="23"]{
 --venue-photo:url("./assets/venue-karatsu-photo.webp?v=01818")!important;
 background-image:linear-gradient(180deg,rgba(0,9,20,.02) 0%,rgba(0,9,20,.10) 43%,rgba(0,9,20,.83) 100%),url("./assets/venue-karatsu-photo.webp?v=01818")!important;
 background-position:center center!important;background-size:cover!important;
}

/* v0.18.18 user supplied original photograph: kojima (16) */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="16"]{
 --venue-photo:url("./assets/venue-kojima-photo.webp?v=01818")!important;
 background-image:linear-gradient(180deg,rgba(0,9,20,.02) 0%,rgba(0,9,20,.10) 43%,rgba(0,9,20,.83) 100%),url("./assets/venue-kojima-photo.webp?v=01818")!important;
 background-position:center center!important;background-size:cover!important;
}

/* v0.18.18 user supplied original photograph: tokuyama (18) */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="18"]{
 --venue-photo:url("./assets/venue-tokuyama-photo.webp?v=01885")!important;
 background-image:linear-gradient(180deg,rgba(0,9,20,.02) 0%,rgba(0,9,20,.10) 43%,rgba(0,9,20,.83) 100%),url("./assets/venue-tokuyama-photo.webp?v=01885")!important;
 background-position:center center!important;background-size:cover!important;
}

/* v0.18.18 user supplied original photograph: edogawa (03) */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="3"]{
 --venue-photo:url("./assets/venue-edogawa-photo.webp?v=01818")!important;
 background-image:linear-gradient(180deg,rgba(0,9,20,.02) 0%,rgba(0,9,20,.10) 43%,rgba(0,9,20,.83) 100%),url("./assets/venue-edogawa-photo.webp?v=01818")!important;
 background-position:center center!important;background-size:cover!important;
}

/* v0.18.18: Kojima photo */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="16"]{
 --venue-photo:url("./assets/venue-kojima-photo.webp?v=01818")!important;
 background-image:linear-gradient(180deg,rgba(0,9,20,.02) 0%,rgba(0,9,20,.10) 43%,rgba(0,9,20,.83) 100%),url("./assets/venue-kojima-photo.webp?v=01818")!important;
 background-size:cover!important;background-position:center center!important;
}

/* v0.18.18: supplied Marugame photo (stadium 15) */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="15"]{
 --venue-photo:url("./assets/venue-marugame-photo.webp?v=01818")!important;
 background-image:linear-gradient(180deg,rgba(0,9,20,.02) 0%,rgba(0,9,20,.10) 43%,rgba(0,9,20,.83) 100%),url("./assets/venue-marugame-photo.webp?v=01818")!important;
 background-size:cover!important;background-position:center center!important;
}

/* v0.18.18 ranking categories */
.brvCategoryMenu{display:flex;flex-direction:column}.brvCategoryMenu button{width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center}.brvCategoryRankingModal{z-index:10060;max-height:85dvh;overflow-y:auto}.brvCategoryRankingRows{padding:6px 15px 15px}.brvRankEntry{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid #c4a36355;color:#f6f5f1}.brvRankNumber{font-weight:900;color:#eac66c;width:32px;text-align:center}.brvRankWho{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.brvRankWho b{font-size:14px}.brvRankWho small{font-size:11px;color:#b4c6d5}.brvRankEntry strong{color:#ffda73;font-size:18px}.brvRankEmpty{padding:20px;color:#e7d6b2}.brvRankRefresh{margin:0 15px 20px;border:1px solid #e5bd65;border-radius:9px;background:#143a58;color:#ffe2a0;padding:10px 18px}

/* v0.18.18: Omura original photo */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="24"]{
 --venue-photo:url("./assets/venue-omura-photo.webp?v=01818")!important;
 background-image:linear-gradient(180deg,transparent 0%,rgba(0,9,20,.13) 46%,rgba(0,9,20,.85) 100%),url("./assets/venue-omura-photo.webp?v=01818")!important;
 background-size:cover!important;background-position:center center!important;
}
.brvCategoryMenu button[data-brv-ranking="racer"]{background:linear-gradient(110deg,#214d83,#153456)!important;border:1px solid #62aaf1!important;color:#e5f4ff!important}
.brvCategoryMenu button[data-brv-ranking="motor"]{background:linear-gradient(110deg,#7b4c16,#3b2b16)!important;border:1px solid #e7ac4a!important;color:#ffe5a6!important}
.brvCategoryMenu button[data-brv-ranking="boat"]{background:linear-gradient(110deg,#1c685e,#143b3a)!important;border:1px solid #59c8b0!important;color:#d7fff3!important}
.brvCategoryMenu{gap:7px}.brvCategoryMenu button{border-radius:11px;padding:12px 14px;font-weight:800}

/* v0.18.18 user-supplied gamagori venue photo */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="7"]{
 --venue-photo:url("./assets/venue-gamagori-photo.webp?v=01818")!important;
 background-image:linear-gradient(180deg,rgba(0,9,20,.02) 0%,rgba(0,9,20,.10) 43%,rgba(0,9,20,.83) 100%),url("./assets/venue-gamagori-photo.webp?v=01818")!important;
 background-size:cover!important;background-position:center center!important;
}

/* v0.18.18 user-supplied kiryu venue photo */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="1"]{
 --venue-photo:url("./assets/venue-kiryu-photo.webp?v=01818")!important;
 background-image:linear-gradient(180deg,rgba(0,9,20,.02) 0%,rgba(0,9,20,.10) 43%,rgba(0,9,20,.83) 100%),url("./assets/venue-kiryu-photo.webp?v=01818")!important;
 background-size:cover!important;background-position:center center!important;
}

/* v0.18.18: ranking buttons never overlap */
html body.prod-mode #brvSideMenu .brvMenuRanking,
html body.prod-mode #brvSideMenu .brvMenuRanking.brvCategoryMenu{
 position:relative!important;top:auto!important;bottom:auto!important;left:auto!important;right:auto!important;
 height:auto!important;min-height:0!important;overflow:visible!important;display:flex!important;
 flex-direction:column!important;gap:12px!important;margin:0 0 12px!important;padding:0!important;transform:none!important;
}
html body.prod-mode #brvSideMenu .brvMenuRanking > button{
 position:relative!important;top:auto!important;bottom:auto!important;left:auto!important;right:auto!important;
 float:none!important;display:flex!important;flex:none!important;min-height:56px!important;height:auto!important;
 margin:0!important;transform:none!important;line-height:1.35!important;
}
html body.prod-mode #brvSideMenu .brvCategoryMenu button[data-brv-ranking="start"]{
 background:linear-gradient(110deg,#63378e,#282452)!important;
 border:1px solid #bb9cff!important;color:#f1e5ff!important;
}
/* v0.18.18: unify ranking with prize-money panel */
html body.prod-mode .brvCategoryRankingModal{z-index:2201!important;max-height:none!important;overflow-y:auto!important}
html body.prod-mode .brvCategoryRankingModal .brvCategoryRankingRows{padding:0!important}
html body.prod-mode .brvCategoryRankingModal .brvPrizeRow{align-items:flex-start!important}
html body.prod-mode .brvCategoryRankingModal .brvPrizePerson{gap:5px!important}
html body.prod-mode .brvCategoryRankingModal .brvPrizeRow strong{padding-top:7px!important}
html body.prod-mode #brvCategoryRankingClose{background:#143c58!important;border:1px solid #d4aa5e!important;border-radius:10px!important;color:#ffdc86!important;width:42px!important;height:42px!important;font-size:27px!important;flex-shrink:0!important}
html body.prod-mode .brvRankEvent{display:flex!important;align-items:center!important;gap:6px!important;justify-content:space-between!important;flex-wrap:wrap!important;margin-top:5px!important}
html body.prod-mode .brvRankEvent small{font-size:11px!important;color:#bcd5e6!important}
html body.prod-mode .brvRankJump{font-size:11px!important;font-weight:800!important;white-space:nowrap!important;border:1px solid #d6b16b!important;border-radius:7px!important;background:#173f5b!important;color:#ffe2a0!important;padding:6px 9px!important;cursor:pointer!important}
html body.prod-mode .brvRankSchedule{font-size:11px!important;color:#9fb7c7!important}

/* v0.18.18: keep close controls visible while scrolling in all prize-style dialogs */
html body.prod-mode #brvPrizeModal .brvPrizeTop,
html body.prod-mode #brvCategoryRankingModal .brvPrizeTop {
 position:sticky!important;
 top:0!important;
 z-index:90!important;
 background:#0d3453!important;
 padding:12px 0 14px!important;
 margin-top:-12px!important;
 border-bottom:1px solid rgba(212,170,94,.25)!important;
 isolation:isolate!important;
}
html body.prod-mode #brvPrizeModal #brvPrizeClose,
html body.prod-mode #brvCategoryRankingModal #brvCategoryRankingClose {
 position:relative!important;
 z-index:91!important;
 flex-shrink:0!important;
 touch-action:manipulation!important;
}
/* v0.18.18: only the X stays fixed; the entire heading scrolls naturally. */
html body.prod-mode #brvPrizeModal .brvPrizeTop,
html body.prod-mode #brvCategoryRankingModal .brvPrizeTop {
 position:static!important;
 top:auto!important;
 z-index:auto!important;
 background:transparent!important;
 padding:0!important;
 margin:0!important;
 border-bottom:0!important;
 isolation:auto!important;
}
html body.prod-mode #brvPrizeModal #brvPrizeClose,
html body.prod-mode #brvCategoryRankingModal #brvCategoryRankingClose {
 position:fixed!important;
 top:calc(env(safe-area-inset-top,0px) + 36px)!important;
 right:max(29px,calc((100vw - 650px)/2 + 29px))!important;
 z-index:2400!important;
 width:42px!important;height:42px!important;
 display:flex!important;align-items:center!important;justify-content:center!important;
 background:#143c58!important;border:1px solid #d4aa5e!important;
 box-shadow:0 2px 9px #001b30b0!important;
}
/* v0.18.18: news/challenge close button only fixed */
html body.prod-mode #brvNewsModal .brvNewsTop{position:static!important;top:auto!important}
html body.prod-mode #brvNewsModal #brvNewsClose,
html body.prod-mode #vChallengeModal .vChallengeModalClose{
 position:fixed!important;top:calc(env(safe-area-inset-top,0px) + 36px)!important;
 right:max(29px,calc((100vw - 650px)/2 + 29px))!important;
 z-index:2400!important;width:42px!important;height:42px!important;
 display:flex!important;align-items:center!important;justify-content:center!important;
 background:#143c58!important;border:1px solid #d4aa5e!important;
 border-radius:10px!important;color:#ffdc86!important;
 box-shadow:0 2px 9px #001b30b0!important;touch-action:manipulation!important;
}

/* v0.18.18: three challenges use the ranking modal frame/layout, retaining banner theme colors */
html body.prod-mode #vChallengeModal.open,
html body.prod-mode .superRaceOverlay.rollingOverlay:not([hidden]){
 position:fixed!important;inset:0!important;z-index:2200!important;
 padding:calc(env(safe-area-inset-top,0px) + 12px) 12px calc(98px + env(safe-area-inset-bottom,0px))!important;
 box-sizing:border-box!important;display:flex!important;align-items:stretch!important;justify-content:center!important;
}
html body.prod-mode #vChallengeModal.open .vChallengeModalSheet,
html body.prod-mode .superRaceOverlay.rollingOverlay .superRaceSheet.rollingSheet{
 position:relative!important;align-self:stretch!important;
 width:100%!important;max-width:650px!important;min-height:0!important;
 height:100%!important;max-height:100%!important;margin:0 auto!important;
 padding:30px 17px 22px!important;overflow-y:auto!important;overflow-x:hidden!important;
 border-radius:24px!important;box-sizing:border-box!important;
 -webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;
}
/* 1日1万: ruby red; 10万帯: gold; 転がし: blue */
html body.prod-mode #vChallengeModal.open.rubyTheme .vChallengeModalSheet{
 background:linear-gradient(145deg,#68172d,#301426 62%,#7b203e)!important;
 border:2px solid #fa779a!important;box-shadow:0 10px 36px #000a!important;
}
html body.prod-mode #vChallengeModal.open.obiTheme .vChallengeModalSheet{
 background:linear-gradient(145deg,#654010,#332414 62%,#84591c)!important;
 border:2px solid #e9bb58!important;box-shadow:0 10px 36px #000a!important;
}
html body.prod-mode .superRaceOverlay.rollingOverlay .superRaceSheet.rollingSheet{
 background:linear-gradient(145deg,#0d4978,#082d54 62%,#0d5486)!important;
 border:2px solid #63baff!important;box-shadow:0 10px 36px #000a!important;
}
/* Only the X stays fixed; heading and contents scroll naturally. */
html body.prod-mode #vChallengeModal.open .vChallengeModalClose,
html body.prod-mode .superRaceOverlay.rollingOverlay .superRaceClose{
 position:fixed!important;top:calc(env(safe-area-inset-top,0px) + 36px)!important;
 right:max(29px,calc((100vw - 650px)/2 + 29px))!important;
 bottom:auto!important;left:auto!important;transform:none!important;
 z-index:2400!important;width:42px!important;height:42px!important;
 display:flex!important;align-items:center!important;justify-content:center!important;
 border-radius:10px!important;border:1px solid #f0c46c!important;
 background:#143c58!important;color:#ffdc86!important;
 box-shadow:0 2px 9px #001b30b0!important;font-size:27px!important;
 touch-action:manipulation!important;
}
html body.prod-mode #vChallengeModal.open .vChallengeModalKicker,
html body.prod-mode .superRaceOverlay.rollingOverlay .rollingHeader{position:static!important;top:auto!important;}
html body.prod-mode #vChallengeModal.open .vChallengeModalSheet h2,
html body.prod-mode .superRaceOverlay.rollingOverlay .rollingHeader h2{
 font-size:25px!important;font-weight:900!important;margin:10px 50px 20px 0!important;
}

/* v0.18.42: scrolling challenge content with always-visible bottom result summaries */
html body.prod-mode #vChallengeModal.open .vChallengeModalSheet,
html body.prod-mode .superRaceOverlay.rollingOverlay .superRaceSheet.rollingSheet{
 display:flex!important;flex-direction:column!important;overflow-y:auto!important;
 padding-bottom:0!important;
}
html body.prod-mode #vChallengeModal.open #vChallengeModalBody,
html body.prod-mode .superRaceOverlay.rollingOverlay .rollingResults{
 display:contents!important;
}
html body.prod-mode #vChallengeModal.open .vChallengeTotals,
html body.prod-mode .superRaceOverlay.rollingOverlay .rollingSummary{
 position:sticky!important;bottom:0!important;z-index:12!important;
 flex-shrink:0!important;margin-top:auto!important;
 background:rgba(8,30,49,.98)!important;
 border:1px solid rgba(247,209,119,.72)!important;
 box-shadow:0 -8px 18px rgba(0,0,0,.4)!important;
 border-radius:13px 13px 0 0!important;
 padding:10px 6px calc(10px + env(safe-area-inset-bottom,0px))!important;
}
html body.prod-mode #vChallengeModal.open .vChallengeDetailLead,
html body.prod-mode .superRaceOverlay.rollingOverlay .rollingNote{display:none!important;}
/* Keep the global bottom category bar visible even when rolling challenge is open */
html body.prod-mode:has(.superRaceOverlay.rollingOverlay:not([hidden])) .brv63Bottom{
 display:flex!important;visibility:visible!important;opacity:1!important;
 z-index:2601!important;pointer-events:auto!important;
}
html body.prod-mode .superRaceOverlay.rollingOverlay:not([hidden]){
 padding-bottom:calc(98px + env(safe-area-inset-bottom,0px))!important;
}
/* v0.18.42: hide tiny close controls, allow menu internal scrolling */
html body.prod-mode #brvMenuClose,html body.prod-mode #brvNoticeClose{display:none!important}
html body.prod-mode #brvSideMenu,html body.prod-mode #homeView #brvSideMenu{overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;padding-bottom:calc(32px + env(safe-area-inset-bottom,0px))!important}
/* Rounded, fully inset payout summary: no flat cut-off along the modal bottom. */
html body.prod-mode #vChallengeModal.open .vChallengeModalSheet,html body.prod-mode .superRaceOverlay.rollingOverlay .superRaceSheet.rollingSheet{padding-bottom:12px!important}
html body.prod-mode #vChallengeModal.open .vChallengeTotals,html body.prod-mode .superRaceOverlay.rollingOverlay .rollingSummary{border-radius:14px!important;margin-bottom:0!important;padding-bottom:12px!important;bottom:0!important;overflow:hidden!important}

/* v0.18.42: rolling challenge bottom navigation always full-width four-column grid */
html body.prod-mode:has(.superRaceOverlay.rollingOverlay:not([hidden])) .brv63Bottom{position:fixed!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;max-width:850px!important;margin:0 auto!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;justify-content:stretch!important;align-items:stretch!important;gap:5px!important;box-sizing:border-box!important;padding:7px 8px calc(7px + env(safe-area-inset-bottom,0px))!important;transform:none!important;visibility:visible!important;opacity:1!important;z-index:2601!important;pointer-events:auto!important;}
html body.prod-mode:has(.superRaceOverlay.rollingOverlay:not([hidden])) .brv63Bottom > button{width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;box-sizing:border-box!important;flex:none!important;}

/* v0.18.42: compact header image without baked-in iOS status bar */
html body.prod-mode.brvCinematicHome #homeView .brv63Hero{
 height:auto!important;aspect-ratio:993/180!important;min-height:0!important;
 background-image:url('./assets/brv1824-compact-hero.webp?v=01839')!important;
 background-size:100% 100%!important;background-position:center!important;
 background-repeat:no-repeat!important;border:0!important;box-shadow:0 3px 12px #000a!important;
}
/* Keep existing menu/bell click targets active over the banner artwork. */
html body.prod-mode #homeView .brv63Hero .brvHeroControl{
 top:13%!important;width:9.5%!important;height:70%!important;max-width:74px!important;
 background:transparent!important;border:0!important;box-shadow:none!important;
 color:transparent!important;text-shadow:none!important;opacity:.01!important;
}
html body.prod-mode #homeView .brv63Hero .brvHeroControl svg{opacity:0!important}
html body.prod-mode #homeView .brv63Hero .brvHeroMenu{left:1.5%!important}
html body.prod-mode #homeView .brv63Hero .brvHeroBell{right:1.5%!important}
/* Opaque current-version pill covers the version baked into the image. */
html body.prod-mode.brvCinematicHome #homeView .brv65Version{
 bottom:4%!important;right:1.8%!important;top:auto!important;
 background:#061b31!important;border:1px solid #e5bb60!important;
 font-size:clamp(8px,1.7vw,12px)!important;padding:5px 11px!important;
 box-shadow:0 0 0 4px #061b31!important;z-index:30!important;
}

/* v0.18.42: single visible functional controls cover decorative icons in banner */
html body.prod-mode.brvCinematicHome #homeView .brv63Hero .brvHeroControl{
 position:absolute!important;top:9%!important;bottom:auto!important;
 width:12%!important;height:69%!important;max-width:none!important;
 display:grid!important;place-items:center!important;
 background:#061b31!important;border:1px solid #e5bb60!important;
 border-radius:12px!important;box-shadow:0 0 0 3px #061b31,0 2px 6px #000a!important;
 color:#f7cd73!important;text-shadow:none!important;
 opacity:1!important;visibility:visible!important;z-index:45!important;
 font-size:clamp(18px,4.7vw,29px)!important;
}
html body.prod-mode.brvCinematicHome #homeView .brv63Hero .brvHeroMenu{left:1.5%!important}
html body.prod-mode.brvCinematicHome #homeView .brv63Hero .brvHeroBell{right:1.5%!important}
html body.prod-mode.brvCinematicHome #homeView .brv63Hero .brvHeroBell svg{
 display:block!important;opacity:1!important;width:60%!important;height:60%!important;
 stroke:#f7cd73!important;
}
html body.prod-mode.brvCinematicHome #homeView .brv65Version{
 position:absolute!important;right:2.3%!important;bottom:3%!important;top:auto!important;
 box-sizing:border-box!important;width:26%!important;max-width:155px!important;
 padding:3px 2px!important;font-size:clamp(7px,1.55vw,10px)!important;
 letter-spacing:0!important;line-height:1.2!important;white-space:nowrap!important;
 text-align:center!important;overflow:hidden!important;
 background:#061b31!important;border:1px solid #e5bb60!important;
 border-radius:20px!important;box-shadow:0 0 0 5px #061b31!important;z-index:42!important;
}

/* v0.18.42 clean hero artwork, only functional controls (no duplicated status icons) */
html body.prod-mode.brvCinematicHome #homeView .brv63Hero{
 position:relative!important;height:auto!important;aspect-ratio:5.45/1!important;
 background-image:url('./assets/brv1826-clean-hero.webp?v=01839')!important;
 background-position:center center!important;background-size:100% 100%!important;
 background-repeat:no-repeat!important;border:1px solid #e5bb60!important;
 border-radius:12px!important;overflow:visible!important;margin-top:0!important;
}
/* Override the legacy fixed-on-screen header buttons; anchor them to the hero only. */
html body.prod-mode.brvCinematicHome #homeView .brv63Hero #brvMenuButton,
html body.prod-mode.brvCinematicHome #homeView .brv63Hero #brvBellButton{
 position:absolute!important;top:12%!important;bottom:auto!important;
 width:9.8%!important;height:65%!important;min-width:0!important;max-width:68px!important;
 padding:0!important;display:grid!important;place-items:center!important;
 background:linear-gradient(135deg,#082a47f5,#021125f5)!important;
 border:1px solid #e5bb60!important;border-radius:10px!important;
 box-shadow:0 1px 7px #000b!important;color:#f7cd73!important;
 opacity:1!important;visibility:visible!important;z-index:55!important;
 font-size:clamp(18px,4vw,26px)!important;transform:none!important;
}
html body.prod-mode.brvCinematicHome #homeView .brv63Hero #brvMenuButton{left:1.8%!important;right:auto!important}
html body.prod-mode.brvCinematicHome #homeView .brv63Hero #brvBellButton{right:1.8%!important;left:auto!important}
html body.prod-mode.brvCinematicHome #homeView .brv63Hero #brvBellButton svg{
 opacity:1!important;display:block!important;width:65%!important;height:65%!important;
 stroke:#f7cd73!important;
}
html body.prod-mode.brvCinematicHome #homeView .brv63Hero .brv65Version{
 position:absolute!important;top:auto!important;bottom:4%!important;right:1.8%!important;
 width:auto!important;max-width:27%!important;padding:3px 6px!important;
 font-size:clamp(7px,1.6vw,10px)!important;line-height:1.1!important;
 white-space:nowrap!important;letter-spacing:0!important;z-index:52!important;
 border-radius:18px!important;box-shadow:0 0 0 2px #061b31!important;
}

/* v0.18.42: persistent, fixed cinematic banner across every app view */
html body.prod-mode.brvCinematicHome > .brv63Hero{
 position:fixed!important;display:block!important;visibility:visible!important;
 top:calc(env(safe-area-inset-top,0px) + 6px)!important;left:50%!important;
 transform:translateX(-50%)!important;width:calc(100% - 12px)!important;max-width:850px!important;
 height:auto!important;aspect-ratio:5.45/1!important;box-sizing:border-box!important;
 background-image:url('./assets/brv1826-clean-hero.webp?v=01839')!important;
 background-position:center!important;background-size:100% 100%!important;background-repeat:no-repeat!important;
 border:1px solid #e5bb60!important;border-radius:12px!important;overflow:visible!important;
 margin:0!important;z-index:1100!important;pointer-events:none!important;
}
html body.prod-mode.brvCinematicHome > .brv63Hero #brvMenuButton,
html body.prod-mode.brvCinematicHome > .brv63Hero #brvBellButton{
 position:absolute!important;top:12%!important;bottom:auto!important;
 width:9.8%!important;height:65%!important;max-width:68px!important;min-width:0!important;
 display:grid!important;place-items:center!important;pointer-events:auto!important;
 background:linear-gradient(135deg,#082a47f5,#021125f5)!important;
 border:1px solid #e5bb60!important;border-radius:10px!important;
 color:#f7cd73!important;z-index:3!important;font-size:clamp(18px,4vw,26px)!important;
 transform:none!important;opacity:1!important;visibility:visible!important;
}
html body.prod-mode.brvCinematicHome > .brv63Hero #brvMenuButton{left:1.8%!important;right:auto!important}
html body.prod-mode.brvCinematicHome > .brv63Hero #brvBellButton{right:1.8%!important;left:auto!important}
html body.prod-mode.brvCinematicHome > .brv63Hero #brvBellButton svg{opacity:1!important;display:block!important;width:65%!important;height:65%!important;stroke:#f7cd73!important}
html body.prod-mode.brvCinematicHome > .brv63Hero .brv65Version{
 position:absolute!important;bottom:4%!important;right:1.8%!important;top:auto!important;
 width:auto!important;max-width:27%!important;padding:3px 6px!important;
 font-size:clamp(7px,1.6vw,10px)!important;white-space:nowrap!important;line-height:1.1!important;
 border-radius:18px!important;z-index:2!important;pointer-events:none!important;
}
/* All screens start below the persistent header; no race card can slide underneath it at rest. */
html body.prod-mode.brvCinematicHome main,
html body.prod-mode.brvCinematicHome:has(#homeView.active) main{
 padding-top:calc(env(safe-area-inset-top,0px) + 6px + min(calc((100vw - 12px) / 5.45), 156px) + 14px)!important;
 margin-top:0!important;
}
html body.prod-mode.brvCinematicHome #detailView.active,
html body.prod-mode.brvCinematicHome #detailView:not([hidden]),
html body.prod-mode.brvCinematicHome #venueView.active,
html body.prod-mode.brvCinematicHome #liveView.active,
html body.prod-mode.brvCinematicHome #myRacerView.active{
 padding-top:8px!important;margin-top:0!important;
}
html body.prod-mode.brvCinematicHome #detailView .pageHead.detailHead{
 top:calc(env(safe-area-inset-top,0px) + 6px + min(calc((100vw - 12px) / 5.45), 156px) + 14px)!important;
}
/* Modals and menu must stay above the persistent banner. */
html body.prod-mode #brvSideMenu,html body.prod-mode #brvNoticePanel,
html body.prod-mode #brvSideMenuBackdrop,html body.prod-mode #brvNoticeBackdrop{z-index:3000!important}

/* v0.18.42: one and only one top offset, shared by HOME and all other views.
   Previous build added the persistent-banner padding on top of legacy page margins. */
html body.prod-mode.brvCinematicHome main{
 padding-top:calc(env(safe-area-inset-top,0px) + 6px + min(calc((100vw - 12px) / 5.45),156px) + 12px)!important;
 margin-top:0!important;
}
html body.prod-mode.brvCinematicHome #homeView>.homeDataPanel{
 margin-top:0!important;
}
html body.prod-mode.brvCinematicHome #venueView>.pageHead,
html body.prod-mode.brvCinematicHome #detailView>.pageHead,
html body.prod-mode.brvCinematicHome #liveView>.toolHero,
html body.prod-mode.brvCinematicHome #racerMotorView>.toolHero,
html body.prod-mode.brvCinematicHome #racerMotorVenueView>.pageHead{
 margin-top:0!important;
}
html body.prod-mode.brvCinematicHome #myRacerView,
html body.prod-mode.brvCinematicHome #venueView,
html body.prod-mode.brvCinematicHome #detailView,
html body.prod-mode.brvCinematicHome #liveView,
html body.prod-mode.brvCinematicHome #racerMotorView,
html body.prod-mode.brvCinematicHome #racerMotorVenueView{
 padding-top:0!important;margin-top:0!important;
}
html body.prod-mode.brvCinematicHome #myRacerView .myRacerHero{
 margin-top:0!important;
}
/* Prevent legacy sticky positioning from adding a second top gap. */
html body.prod-mode.brvCinematicHome #detailView .pageHead.detailHead{
 top:0!important;
}

/* v0.18.42: remove the remaining duplicated vertical offset below fixed hero.
   The fixed banner remains in place; only page content moves upward. */
html body.prod-mode.brvCinematicHome main > section.view.active,
html body.prod-mode.brvCinematicHome main > section.view:not([hidden]):not(.active){
 margin-top:-96px!important;
}
/* The first home card has no additional legacy offset. */
html body.prod-mode.brvCinematicHome main #homeView > .homeDataPanel{
 margin-top:0!important;
}
/* Keep scroll/sticky race headers below the fixed global banner. */
html body.prod-mode.brvCinematicHome #detailView .pageHead.detailHead{
 scroll-margin-top:calc(env(safe-area-inset-top,0px) + 160px)!important;
}

/* v0.18.42: actual rendered content position correction across views */
html body.prod-mode.brvCinematicHome main > section.view.active{
 transform:translateY(-112px)!important;
 margin-bottom:-112px!important;
}

/* v0.18.42: eliminate duplicate -96px displacement; retain the -112px
   adjustment so the first card starts immediately below the fixed hero. */
html body.prod-mode.brvCinematicHome main > section.view.active,
html body.prod-mode.brvCinematicHome main > section.view:not([hidden]):not(.active){
 margin-top:0!important;
}

/* v0.18.42: correct the actual iPhone offset (v0.18.31 still had -112px transform).
   Move cards 80px DOWN while leaving the fixed header untouched. */
html body.prod-mode.brvCinematicHome main > section.view.active {
 transform:translateY(-32px)!important;
 margin-bottom:-32px!important;
}

/* v0.18.42: fix iOS scroll trap caused by translating the entire view.
   Use normal document flow so the race detail can scroll all the way. */
html body.prod-mode.brvCinematicHome main > section.view,
html body.prod-mode.brvCinematicHome main > section.view.active{
 transform:none!important; margin-top:0!important; margin-bottom:0!important;
}
html body.prod-mode.brvCinematicHome main{
 padding-top:calc(env(safe-area-inset-top,0px) + min(calc((100vw - 12px) / 5.45),156px) - 8px)!important;
 overflow:visible!important;height:auto!important;max-height:none!important;
}
html body.prod-mode.brvCinematicHome > .brv63Hero{
 top:calc(env(safe-area-inset-top,0px) - 8px)!important;
}
html body.prod-mode.brvCinematicHome #detailView,
html body.prod-mode.brvCinematicHome #venueView{
 overflow:visible!important;height:auto!important;max-height:none!important;
 touch-action:pan-y!important;
}
html body.prod-mode.brvCinematicHome #detailView .pageHead.detailHead{
 top:0!important;
}

/* v0.18.42: move only the persistent header 14px upward; leave document flow and scrolling untouched. */
html body.prod-mode.brvCinematicHome > .brv63Hero{
 top:calc(env(safe-area-inset-top,0px) - 22px)!important;
}
/* Full-screen dialogs/panels take priority: do not show the persistent header or its controls above them. */
html body.prod-mode.brvCinematicHome:has(#brvPrizeModal:not([hidden])) > .brv63Hero,
html body.prod-mode.brvCinematicHome:has(#brvCategoryRankingModal:not([hidden])) > .brv63Hero,
html body.prod-mode.brvCinematicHome:has(#brvNewsModal:not([hidden])) > .brv63Hero,
html body.prod-mode.brvCinematicHome:has(#vChallengeModal.open) > .brv63Hero,
html body.prod-mode.brvCinematicHome:has(.superRaceOverlay:not([hidden])) > .brv63Hero,
html body.prod-mode.brvCinematicHome:has(#predictionOddsOverlay[aria-hidden="false"]) > .brv63Hero,
html body.prod-mode.brvCinematicHome:has(#raceLiveOverlay:not([hidden])) > .brv63Hero,
html body.prod-mode.brvCinematicHome:has(#brvCardModal:not([hidden])) > .brv63Hero{
 visibility:hidden!important;opacity:0!important;pointer-events:none!important;
}

/* v0.18.42: adjust SCROLLABLE CONTENT, not the fixed banner.
   Remove excessive blank gap above the first card on all views.
   Keep the view in normal flow so iOS vertical scrolling remains functional. */
html body.prod-mode.brvCinematicHome main{
 padding-top:calc(env(safe-area-inset-top,0px) + min(calc((100vw - 12px) / 5.45),156px) - 98px)!important;
 overflow:visible!important;height:auto!important;max-height:none!important;
}
html body.prod-mode.brvCinematicHome > .brv63Hero{
 top:calc(env(safe-area-inset-top,0px) - 8px)!important;
}
html body.prod-mode.brvCinematicHome main > section.view,
html body.prod-mode.brvCinematicHome main > section.view.active{
 transform:none!important;margin-top:0!important;margin-bottom:0!important;
}

/* v0.18.42: restore the fixed banner to its lower, comfortable position.
   Place all scrolling content directly beneath the banner using normal flow.
   Do not translate entire views: that breaks iOS touch scrolling. */
html body.prod-mode.brvCinematicHome > .brv63Hero{
 top:calc(env(safe-area-inset-top,0px) + 40px)!important;
}
html body.prod-mode.brvCinematicHome main,
html body.prod-mode.brvCinematicHome:has(#homeView.active) main{
 padding-top:calc(env(safe-area-inset-top,0px) + 40px + min(calc((100vw - 12px) / 5.45),156px) + 8px)!important;
 margin-top:0!important;overflow:visible!important;height:auto!important;max-height:none!important;
}
html body.prod-mode.brvCinematicHome main > section.view,
html body.prod-mode.brvCinematicHome main > section.view.active{
 transform:none!important;margin-top:0!important;margin-bottom:0!important;
}
html body.prod-mode.brvCinematicHome #detailView .pageHead.detailHead{
 top:0!important;
}

/* v0.18.42: HOME ONLY — move the first data panel and all following
   scrollable content up exactly 25px. Fixed banner remains untouched. */
html body.prod-mode.brvCinematicHome:has(#homeView.active) main {
 padding-top:calc(env(safe-area-inset-top,0px) + 40px + min(calc((100vw - 12px) / 5.45),156px) - 17px)!important;
}

/* v0.18.42: home scrolling content additional 25px upward; fixed hero unchanged. */
html body.prod-mode.brvCinematicHome:has(#homeView.active) main {
 padding-top:calc(env(safe-area-inset-top,0px) + 40px + min(calc((100vw - 12px) / 5.45),156px) - 42px)!important;
}
/* v0.18.42: HOME only, move data panel and subsequent content 15px higher. */
html body.prod-mode.brvCinematicHome:has(#homeView.active) main {
 padding-top:calc(env(safe-area-inset-top,0px) + 40px + min(calc((100vw - 12px) / 5.45),156px) - 57px)!important;
}

/* v0.18.42: prevent scrollable content painting through iPhone status bar and fixed hero. */
html body.prod-mode.brvCinematicHome::before{content:""!important;position:fixed!important;inset:0 0 auto 0!important;height:calc(env(safe-area-inset-top,0px) + 40px + min(calc((100vw - 12px) / 5.45),156px) + 3px)!important;background:#031226!important;z-index:1099!important;pointer-events:none!important;}
html body.prod-mode.brvCinematicHome:has(#homeView.active) main{padding-top:calc(env(safe-area-inset-top,0px) + 40px + min(calc((100vw - 12px) / 5.45),156px) + 8px)!important;}
html body.prod-mode.brvCinematicHome:has(#brvPrizeModal:not([hidden]))::before,html body.prod-mode.brvCinematicHome:has(#brvCategoryRankingModal:not([hidden]))::before,html body.prod-mode.brvCinematicHome:has(#brvNewsModal:not([hidden]))::before,html body.prod-mode.brvCinematicHome:has(#vChallengeModal.open)::before,html body.prod-mode.brvCinematicHome:has(#predictionOddsOverlay[aria-hidden="false"])::before{display:none!important;}


/* v0.18.47: native iOS safe-area containment, no debug colors. */
:root { --brv-safe-top:env(safe-area-inset-top, 0px); --brv-safe-bottom:env(safe-area-inset-bottom, 0px); }
html,body { background-color:#031226!important; }
html body.prod-mode.brvCinematicHome::before,html body.prod-mode.brvCinematicHome::after{content:none!important;display:none!important;}
#brvSafeTopGuard,#brvSafeBottomGuard{position:fixed!important;left:0!important;right:0!important;pointer-events:none!important;background:#031226!important;z-index:2147483600!important;display:block!important;}
#brvSafeTopGuard{top:0!important;bottom:auto!important;height:var(--brv-safe-top)!important;}
#brvSafeBottomGuard{bottom:0!important;top:auto!important;height:var(--brv-safe-bottom)!important;}
/* Banner remains below the device's real safe area. */
html body.prod-mode.brvCinematicHome > .brv63Hero{top:calc(var(--brv-safe-top) + 40px)!important;}
/* Avoid putting the scrolling card underneath the header at initial position. */
html body.prod-mode.brvCinematicHome main,html body.prod-mode.brvCinematicHome:has(#homeView.active) main{padding-top:calc(var(--brv-safe-top) + 40px + min(calc((100vw - 12px) / 5.45),156px) + 8px)!important;padding-bottom:calc(var(--brv-safe-bottom) + 90px)!important;}
/* The navigation's controls stop at the home-indicator boundary. */
html body.prod-mode.brvCinematicHome #homeView .brv63Bottom{bottom:var(--brv-safe-bottom)!important;padding-bottom:7px!important;}
/* Prevent any fixed overlays from being clipped by the masks: the masks cover only unsafe device insets. */

/* v0.18.47: fixed hero flush with the actual top safe-area boundary. */
html body.prod-mode.brvCinematicHome > .brv63Hero {top:var(--brv-safe-top)!important;}
html body.prod-mode.brvCinematicHome main,html body.prod-mode.brvCinematicHome:has(#homeView.active) main {padding-top:calc(var(--brv-safe-top) + min(calc((100vw - 12px) / 5.45),156px) + 8px)!important;}

/* v0.18.47: HOME scrollable content starts 103px higher than v0.18.47.
   Fixed hero and iOS safe-area guards stay exactly where they were. */
html body.prod-mode.brvCinematicHome:has(#homeView.active) main {
 padding-top:calc(var(--brv-safe-top) + min(calc((100vw - 12px) / 5.45),156px) + 8px - 103px)!important;
}

/* v0.18.47: Keep the perfect initial HOME position, but stop the legacy
   sticky Today's Data panel from covering the venue header while scrolling.
   Both cards remain in the same normal document flow. */
html body.prod-mode.brvCinematicHome #homeView > .homeDataPanel,
html body.prod-mode.brvCinematicHome #homeView > .homeDataPanel.dailyPanelFixed {
 position:relative!important; top:auto!important; bottom:auto!important;
 left:auto!important; right:auto!important; width:auto!important;
 margin-top:0!important; z-index:1!important; transform:none!important;
}
html body.prod-mode.brvCinematicHome #homeView > .dailyPanelSpacer{display:none!important;}
html body.prod-mode.brvCinematicHome #homeView > .venueHeroBanner{position:relative!important;z-index:1!important;}

/* v0.18.49: shift the HOME scrolling stack upward by exactly 85px from v0.18.47.
   One shared main padding adjustment preserves the data-to-venue spacing. */
html body.prod-mode.brvCinematicHome:has(#homeView.active) main{padding-top:calc(var(--brv-safe-top) + min(calc((100vw - 12px) / 5.45),156px) + 8px - 95px)!important;}

/* v0.18.49: single shared flow for Today data + venues. Never slide content beneath fixed hero. */
html body.prod-mode.brvCinematicHome:has(#homeView.active) main { padding-top:calc(var(--brv-safe-top) + min(calc((100vw - 12px) / 5.45),156px) + 20px)!important; }
html body.prod-mode.brvCinematicHome #homeView > .homeDataPanel { margin-bottom:0!important; }

/* v0.18.52 HOME: adjust only the first in-flow card. Its negative top margin
   moves the entire following document flow with it, keeping the venue card
   spacing unchanged. No transform and no change to the fixed header. */
html body.prod-mode.brvCinematicHome #homeView > .homeDataPanel,
html body.prod-mode.brvCinematicHome #homeView > .homeDataPanel.dailyPanelFixed {
  margin-top:-120px!important;
  margin-bottom:12px!important;
  position:relative!important;
  transform:none!important;
}

/* v0.18.52: Move the two HOME cards together as a single normal-flow stack.
   Do not change their individual margins, and do not touch the fixed hero. */
html body.prod-mode.brvCinematicHome #homeView.active {
  position:relative!important;
  top:-120px!important;
  transform:none!important;
  padding-bottom:calc(215px + var(--brv-safe-bottom))!important;
}

/* v0.18.52: one flow origin only. Cancel the two independent -120px shifts
   that hid the Today's Data title behind the fixed banner. */
html body.prod-mode.brvCinematicHome:has(#homeView.active) main {
  padding-top:calc(var(--brv-safe-top) + min(calc((100vw - 12px) / 5.45),156px) + 12px)!important;
}
html body.prod-mode.brvCinematicHome #homeView.active {
  top:auto!important; bottom:auto!important; transform:none!important;
  margin-top:0!important; position:relative!important;
}
html body.prod-mode.brvCinematicHome #homeView > .homeDataPanel,
html body.prod-mode.brvCinematicHome #homeView > .homeDataPanel.dailyPanelFixed {
  top:auto!important; transform:none!important; margin-top:0!important;
  margin-bottom:12px!important; position:relative!important;
}

/* v0.18.53: home flow is aligned to the measured fixed banner, not legacy offsets. */
html body.prod-mode.brvCinematicHome:has(#homeView.active) main {
 padding-top:var(--brv-home-flow-start, calc(var(--brv-safe-top) + min(calc((100vw - 12px) / 5.45),156px) + 14px))!important;
}
html body.prod-mode.brvCinematicHome #homeView.active {
 top:auto!important;transform:none!important; margin-top:var(--brv-home-flow-correction,0px)!important;
}
html body.prod-mode.brvCinematicHome #homeView > .homeDataPanel,
html body.prod-mode.brvCinematicHome #homeView > .homeDataPanel.dailyPanelFixed {
 top:auto!important;transform:none!important;margin-top:0!important;margin-bottom:12px!important;
}

/* v0.18.54: My Racer starts exactly 14px beneath the measured fixed hero. */
html body.prod-mode.brvCinematicHome #myRacerView.active {
  margin-top:var(--brv-my-racer-offset,0px)!important;
}

/* v0.18.55: venue first card aligned with actual fixed hero bottom. */
html body.prod-mode.brvCinematicHome #venueView.active{margin-top:var(--brv-venue-offset,0px)!important;}

/* v0.18.56: keep the race detail's own flow intact, align only its view. */
html body.prod-mode.brvCinematicHome #detailView.active {
  margin-top:var(--brv-detail-offset,0px)!important;
}
html body.prod-mode.brvCinematicHome #venueView.active {
  margin-top:var(--brv-venue-offset,0px)!important;
}

/* v0.18.57: restore sticky race title while retaining 14px measured banner spacing.
   Only the race title sticks; tabs and racer cards scroll normally. */
html body.prod-mode.brvCinematicHome #detailView .pageHead.detailHead{
 position:-webkit-sticky!important;position:sticky!important;
 top:var(--brv-detail-sticky-top, 155px)!important;
 z-index:950!important;
}

/* v0.18.62: actual viewport-fixed detail header; spacer preserves flow. */
html body.prod-mode.brvCinematicHome #detailView.active > .pageHead.detailHead {
 position:fixed!important;
 top:var(--brv-detail-sticky-top,155px)!important;
 margin:0!important;
 z-index:970!important;
 transform:none!important;
}
html body.prod-mode.brvCinematicHome #detailView.active > .brvDetailHeadSpacer {
 display:block!important;
 width:100%!important;
 pointer-events:none!important;
}

/* v0.18.62: header is portaled directly to body, so scrolling containers cannot move it. */
html body.prod-mode.brvCinematicHome #detailView.active{margin-top:0!important;}
html body.prod-mode.brvCinematicHome #detailView .brvDetailHeadSpacer{display:none!important;}
html body.prod-mode.brvCinematicHome #detailView .brvDetailHeaderAnchor{display:block!important;pointer-events:none!important;}
html body.prod-mode.brvCinematicHome > .pageHead.detailHead.brvDetachedRaceHeader{
 position:fixed!important;z-index:970!important;transform:none!important;
 margin:0!important;box-sizing:border-box!important;
}

/* v0.18.62 venue header: fixed viewport layer, never scrolls with cards */
html body.prod-mode.brvCinematicHome #venueView.active{margin-top:0!important}
html body.prod-mode.brvCinematicHome #venueView .brvVenueHeaderAnchor{display:block!important;pointer-events:none!important}
html body.prod-mode.brvCinematicHome > .pageHead.brvPinnedVenueHeader{
 position:fixed!important;z-index:970!important;transform:none!important;
 left:12px!important;right:12px!important;width:auto!important;
 margin:0!important;box-sizing:border-box!important;
}

/* v0.18.63: normal search page follows measured header bottom */
html body.prod-mode.brvCinematicHome #brvSearchOverlay.view.active{margin-top:var(--brv-my-racer-offset,0px)!important}

/* v0.18.64: Search is a normal page like My Racer, never a viewport modal.
   The global fixed header must remain visible on the search tab. */
html body.prod-mode.brvCinematicHome #brvSearchOverlay.view.active {
  position:relative!important;inset:auto!important;z-index:1!important;
  display:block!important;visibility:visible!important;opacity:1!important;
  height:auto!important;max-height:none!important;overflow:visible!important;
  margin-top:var(--brv-search-offset,0px)!important;
  padding:0 12px 120px!important;transform:none!important;
  pointer-events:auto!important;isolation:auto!important;
  background:transparent!important;
}
html body.prod-mode.brvCinematicHome #brvSearchOverlay.view.active .brvSearchPanel {
  margin:0 auto!important;min-height:0!important;pointer-events:auto!important;
}
html body.prod-mode.brvCinematicHome:has(#brvSearchOverlay.active) > .brv63Hero {
  display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;
}

/* v0.18.65: in-flow tab pages, compact matching title cards. */
html body.prod-mode #brvSearchOverlay .brvSearchPanel>header{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:14px!important;min-height:92px!important;padding:12px 0 14px 0!important}
html body.prod-mode #brvSearchOverlay #brvSearchExitFixed{position:static!important;display:flex!important;flex:0 0 48px!important;width:48px!important;height:48px!important;min-width:48px!important;max-height:none!important;border:1px solid #d6b36d!important;border-radius:14px!important;background:linear-gradient(#174260,#08243b)!important;color:#f8d28b!important;font-size:32px!important;line-height:1!important;padding:0!important}
html body.prod-mode #brvSearchOverlay .brvSearchPanel>header div{display:flex;flex-direction:column;gap:3px;min-width:0}
html body.prod-mode #brvSearchOverlay .brvSearchPanel>header small{color:#cbb888;font-size:10px;letter-spacing:.13em}
html body.prod-mode #brvSearchOverlay .brvSearchPanel>header strong{font-size:23px!important;color:#f8d28b!important}
html body.prod-mode #liveView>.brvLiveHero{position:relative!important;box-sizing:border-box!important;padding:22px 15px 22px 76px!important;min-height:114px!important;margin-top:var(--brv-live-offset,0px)!important}
html body.prod-mode #liveView>.brvLiveHero .myRacerBackBtn{left:14px!important}
html body.prod-mode #liveView>.brvLiveHero small{display:block!important}
html body.prod-mode #liveView>.brvLiveHero h2{margin:4px 0 0!important}

/* v0.18.66: hit-list header is portaled outside #venueView; keep all text inside the banner. */
html body.prod-mode:has(#venueView.brvHitsView.active) > .pageHead.brvPinnedVenueHeader {
  min-height:0!important;height:auto!important;box-sizing:border-box!important;
  display:flex!important;align-items:center!important;padding:12px 13px!important;
}
html body.prod-mode:has(#venueView.brvHitsView.active) > .pageHead.brvPinnedVenueHeader .pageTitle {
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;
  justify-content:center!important;gap:7px!important;min-width:0!important;flex:1 1 auto!important;
  overflow:visible!important;
}
html body.prod-mode:has(#venueView.brvHitsView.active) > .pageHead.brvPinnedVenueHeader #venueName {
  display:block!important;position:static!important;line-height:1.25!important;
  font-size:clamp(17px,4.8vw,23px)!important;margin:0!important;
}
html body.prod-mode:has(#venueView.brvHitsView.active) > .pageHead.brvPinnedVenueHeader #brvHitListToggle {
  display:flex!important;position:static!important;align-items:center!important;justify-content:flex-start!important;
  gap:7px!important;margin:0!important;min-width:0!important;flex-wrap:wrap!important;
}
html body.prod-mode:has(#venueView.brvHitsView.active) > .pageHead.brvPinnedVenueHeader #brvHitListToggle button {
  min-width:55px!important;padding:5px 13px!important;
}
html body.prod-mode:has(#venueView.brvHitsView.active) > .pageHead.brvPinnedVenueHeader #venueSub {
  display:block!important;position:static!important;line-height:1.3!important;
  font-size:11px!important;margin:0!important;white-space:normal!important;
}
/* A single continuous gold outline belongs to the entire hit card, not its upper half. */
html body.prod-mode #raceList .hitOnlyRaceBtn {
  border:2px solid #e8c56d!important;border-radius:19px!important;
  overflow:hidden!important;background:linear-gradient(135deg,#0b2942,#06182b)!important;
  box-shadow:0 0 11px rgba(240,194,88,.24),0 5px 16px rgba(0,0,0,.32)!important;
  box-sizing:border-box!important;
}
html body.prod-mode #raceList .hitOnlyRaceBtn > .raceItem {
  border:0!important;outline:0!important;box-shadow:none!important;
  border-radius:0!important;box-sizing:border-box!important;
}
html body.prod-mode #raceList .hitOnlyRaceBtn > .brvHitCardPayout {
  border:0!important;border-radius:0!important;box-shadow:none!important;
  background:rgba(3,18,32,.42)!important;box-sizing:border-box!important;
}

/* v0.18.67: live screen follows the My Racer title-card layout. */
html body.prod-mode.brvCinematicHome #liveView.active>.brvLiveHero{
 position:relative!important;
 margin-top:var(--brv-live-offset,0px)!important;
 min-height:116px!important;
 padding:20px 17px 20px 80px!important;
 background:linear-gradient(120deg,#071b31,#0c3858 55%,#071a2e)!important;
 border:1.5px solid #d6aa55!important;
 border-bottom:3px solid #edc572!important;
 border-radius:15px!important;
 box-shadow:0 6px 20px #0008!important;
 display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;
}
html body.prod-mode #liveView>.brvLiveHero:before,
html body.prod-mode #liveView>.brvLiveHero:after{display:none!important}
html body.prod-mode #liveView>.brvLiveHero small{color:#dfbb71!important;letter-spacing:.16em!important;font-size:11px!important}
html body.prod-mode #liveView>.brvLiveHero h2{color:#ffdfa1!important;font-size:26px!important;margin:4px 0 0!important;text-shadow:none!important}
html body.prod-mode #liveView>.brvLiveHero .myRacerBackBtn{position:absolute!important;left:14px!important;top:50%!important;transform:translateY(-50%)!important;margin:0!important;background:linear-gradient(#174260,#061b31)!important;color:#ffdb87!important;border:1px solid #d7ac59!important;border-radius:11px!important;box-shadow:none!important}
html body.prod-mode #liveView>.liveVenueGrid{margin-top:16px!important}
/* Navigation selected state is always gold, regardless of the active view. */
html body.prod-mode .brv63Bottom button.active,
html body.prod-mode.brvCinematicHome .brv63Bottom button.active{
 background:linear-gradient(#55330b,#e4a928,#65410c)!important;
 border-color:#ffdc83!important;color:#ffe99e!important;
 box-shadow:0 0 14px #eab34d99!important;
}

/* v0.18.89: Naruto venue photo supplied by user. */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="14"]{
 --venue-photo:url("./assets/venue-naruto-photo.webp?v=01871")!important;
 background-image:linear-gradient(180deg,rgba(0,8,18,.02) 0%,rgba(0,8,18,.10) 44%,rgba(0,9,20,.82) 100%),url("./assets/venue-naruto-photo.webp?v=01871")!important;
 background-size:cover!important;background-position:center center!important;
}
/* Keep the odds sheet above the detached, viewport-fixed race/venue headers. */
html body.predictionOddsOverlayOpen > .brvDetachedRaceHeader,
html body.predictionOddsOverlayOpen > .brvPinnedVenueHeader{visibility:hidden!important;pointer-events:none!important;}
html body.predictionOddsOverlayOpen #predictionOddsOverlay.open{z-index:2147483500!important;}

/* v0.18.89 course rankings */
.brvCourseRankingTabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px 0}
.brvCourseRankingTabs[hidden]{display:none!important}
.brvCourseRankingTabs button{border:1px solid #bb9651;border-radius:10px;padding:11px 3px;background:#102b43;color:#f3d99b;font-weight:800;font-size:13px}
.brvCourseRankingTabs button.active{background:linear-gradient(#fbe2a0,#c99c48);color:#102439}

/* Shimonoseki user supplied photo v0.18.89 */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="19"]{
 --venue-photo:url("./assets/venue-shimonoseki-photo.webp?v=01877")!important;
 background-image:linear-gradient(180deg,rgba(0,9,20,.02) 0%,rgba(0,9,20,.10) 43%,rgba(0,9,20,.83) 100%),url("./assets/venue-shimonoseki-photo.webp?v=01877")!important;
 background-size:cover!important;background-position:center!important;
}

/* v0.18.89: force the user-supplied Miyajima photo on its home card. */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="17"]{
 --venue-photo:url("./assets/venue-miyajima-photo.webp?v=01885")!important;
 background-image:linear-gradient(180deg,rgba(0,9,20,.02) 0%,rgba(0,9,20,.10) 43%,rgba(0,9,20,.83) 100%),url("./assets/venue-miyajima-photo.webp?v=01885")!important;
 background-size:cover!important;
 background-position:center center!important;
 background-repeat:no-repeat!important;
}

/* v0.18.89: Fukuoka (22) user-supplied photograph, explicitly bound to the home card. */
html body.prod-mode #homeView #venueGrid .venue[data-stadium-key="22"]{
 --venue-photo:url("./assets/venue-fukuoka-photo.webp?v=01886")!important;
 background-image:linear-gradient(180deg,rgba(0,9,20,.02) 0%,rgba(0,9,20,.10) 43%,rgba(0,9,20,.83) 100%),url("./assets/venue-fukuoka-photo.webp?v=01886")!important;
 background-size:cover!important; background-position:center center!important; background-repeat:no-repeat!important;
}

/* v0.18.89 — water-condition dashboard refresh (presentation only) */
html body #detailView #conditionGrid.conditionGrid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;margin-top:10px!important;align-items:stretch!important}
html body #detailView #conditionGrid>div{min-width:0!important;box-sizing:border-box!important;border-radius:13px!important;box-shadow:none!important;text-shadow:none!important;color:#f4f8ff!important}
html body #detailView #conditionGrid .conditionTile{padding:12px 13px!important;min-height:84px!important;background:linear-gradient(145deg,#112f4b,#0a2037)!important;border:1px solid rgba(111,168,203,.35)!important;position:relative!important;overflow:hidden!important}
html body #detailView #conditionGrid .conditionTile::before,html body #detailView #conditionGrid .conditionTile::after{display:none!important;content:none!important}
html body #detailView #conditionGrid .conditionTile small{display:block!important;color:#a8c8df!important;font-size:11px!important;letter-spacing:.04em!important;font-weight:700!important;line-height:1.4!important;text-shadow:none!important}
html body #detailView #conditionGrid .conditionTile b{display:block!important;color:#fff!important;font-size:22px!important;line-height:1.3!important;font-weight:850!important;margin-top:5px!important;overflow-wrap:anywhere!important;text-shadow:none!important}
html body #detailView #conditionGrid .conditionTile em{display:block!important;color:#a9c5d9!important;font-size:10px!important;line-height:1.5!important;margin-top:5px!important;font-style:normal!important;text-shadow:none!important}
html body #detailView #conditionGrid .conditionTile.wind-strong{border-color:rgba(240,162,90,.65)!important}
html body #detailView #conditionGrid .conditionTile.wave-high{border-color:rgba(94,183,244,.75)!important}
html body #detailView #conditionGrid .surfaceCompositeCard{grid-column:1/-1!important;padding:15px!important;background:linear-gradient(140deg,#123652,#081e34)!important;border:1px solid rgba(217,176,92,.65)!important}
html body #detailView #conditionGrid .surfaceCompositeCard small{display:block!important;color:#e9c47e!important;font-size:11px!important;line-height:1.8!important;font-weight:800!important;text-shadow:none!important}
html body #detailView #conditionGrid .surfaceCompositeCard b{display:block!important;color:#fff!important;font-size:23px!important;line-height:1.4!important;margin:7px 0!important;text-shadow:none!important}
html body #detailView #conditionGrid .surfaceCompositeCard em{display:block!important;color:#c6d9e9!important;font-size:11px!important;line-height:1.7!important;margin-top:7px!important;overflow-wrap:anywhere!important;text-shadow:none!important;opacity:1!important}
html body #detailView #conditionGrid .surfaceCompositeCard .surfaceEvidence{font-size:10px!important;color:#b3cce0!important;opacity:1!important}
html body #detailView #conditionGrid .surfaceConfidence{display:inline-block!important;font-size:10px!important;padding:2px 8px!important;color:#f8df9c!important;background:#29445c!important;border:1px solid rgba(225,186,101,.5)!important;vertical-align:middle!important}
html body #detailView #conditionGrid .conditionForecast{grid-column:1/-1!important;padding:14px 15px!important;background:linear-gradient(145deg,#102f49,#091e33)!important;border:1px solid rgba(94,165,207,.5)!important}
html body #detailView #conditionGrid .conditionForecast small{display:block!important;font-size:11px!important;color:#e9c47e!important;font-weight:800!important;margin-bottom:7px!important;text-shadow:none!important}
html body #detailView #conditionGrid .conditionForecast b{display:block!important;font-size:12px!important;font-weight:600!important;color:#e9f4ff!important;line-height:1.85!important;overflow-wrap:anywhere!important;text-shadow:none!important}
@media(min-width:650px){html body #detailView #conditionGrid.conditionGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
