*{box-sizing:border-box}
:root{--blue:#0d71df;--deep:#1645b8;--bg:#f4f6f9;--card:#fff;--text:#202631;--muted:#7a8491;--line:#dce3eb;--ok:#14a55a;--warn:#f29c18;--bad:#df3f3f}
html,body{margin:0;background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;color:var(--text)}
body{padding-bottom:78px}.topbar{height:86px;padding:calc(env(safe-area-inset-top) + 10px) 14px 10px;background:linear-gradient(135deg,#0588d5,#1556df);color:#fff;display:flex;align-items:end;justify-content:space-between;position:sticky;top:0;z-index:50;box-shadow:0 4px 15px #0002}
.brand{display:flex;align-items:center;gap:9px}.mark{font-size:40px;font-weight:900}.brand b{display:block;font-size:22px}.brand small{display:block;font-size:9px;letter-spacing:1.8px;opacity:.82}.refreshBtn,.miniRefresh{border:0;background:#ffffff1c;color:#fff;border-radius:10px;width:40px;height:40px;font-size:22px}.miniRefresh{background:#eef5ff;color:var(--blue);border:1px solid #d9e6f7}
main{max-width:980px;margin:auto}.view{display:none}.view.active{display:block}
.statusCard{margin:12px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:13px;box-shadow:0 3px 10px #0000000a}.statusTop{display:flex;align-items:center;justify-content:space-between;font-size:11px}.statusTop>div{display:flex;align-items:center;gap:7px}.liveDot{width:9px;height:9px;background:#aaa;border-radius:50%;box-shadow:0 0 0 4px #aaa2}.liveDot.ok{background:var(--ok);box-shadow:0 0 0 4px #14a55a22}.liveDot.err{background:var(--bad);box-shadow:0 0 0 4px #df3f3f22}.statusCard p{font-size:10px;color:var(--muted);margin:7px 0 9px;line-height:1.45}.dateRow{display:grid;grid-template-columns:42px 1fr 42px;gap:7px}.dateRow button,.dateRow input{border:1px solid var(--line);background:#f8fafc;border-radius:9px;padding:8px;text-align:center}
.hero{margin:0 12px 12px;background:linear-gradient(135deg,#0d6ee3,#102f91);color:#fff;border-radius:19px;padding:18px;display:flex;justify-content:space-between;box-shadow:0 10px 24px #0e4ab52c}.hero small{font-size:9px;letter-spacing:1.2px;font-weight:800;opacity:.8}.hero h1{font-size:23px;line-height:1.22;margin:6px 0}.hero p{font-size:10px;margin:0;opacity:.85}.version{background:#ffffff12;border:1px solid #ffffff2f;border-radius:14px;padding:10px;height:max-content;text-align:right}.version small{display:block}.version b{font-size:16px}
.summaryGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:0 12px}.summaryGrid div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px}.summaryGrid small{display:block;color:var(--muted);font-size:8px}.summaryGrid b{font-size:18px}.sectionHead{display:flex;justify-content:space-between;align-items:center;padding:15px 14px 7px}.sectionHead h2{font-size:17px;margin:0}.sectionHead span{font-size:9px;color:var(--muted)}
.venueGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:0 12px 15px}.venue{background:#fff;border:1px solid var(--line);border-radius:13px;min-height:92px;padding:8px 5px;text-align:center;display:flex;flex-direction:column;justify-content:center}.venue.live{border:2px solid #2e83eb;background:linear-gradient(#eef6ff,#fff)}.venue .name{font-size:15px;font-weight:900}.venue .meta{font-size:8px;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.venue .count{font-size:10px;font-weight:800;margin-top:5px;color:var(--blue)}.loadingBox{grid-column:1/-1;background:#fff;border:1px solid var(--line);border-radius:12px;padding:25px;text-align:center;color:var(--muted);font-size:12px}
.pageHead{height:67px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;padding:10px 12px;position:sticky;top:86px;z-index:38}.back{border:1px solid var(--line);background:#fff;border-radius:10px;width:40px;height:40px;font-size:22px;color:var(--blue)}.pageTitle{flex:1;min-width:0}.pageTitle b{display:block;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pageTitle small{display:block;color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.raceList{display:grid;gap:8px;padding:0 12px 15px}.raceItem{display:grid;grid-template-columns:58px 1fr auto;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:13px;padding:10px}.raceNo{height:48px;border-radius:11px;background:linear-gradient(135deg,#1c78e9,#184bb8);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:18px}.raceText{min-width:0}.raceText b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.raceText small{font-size:8px;color:var(--muted)}.raceTime{text-align:right}.raceTime b{display:block;font-size:14px}.raceTime small{font-size:8px;color:var(--muted)}.previewTag{display:inline-block;background:#eaf8ef;color:#13854b;border-radius:99px;padding:3px 6px;margin-top:3px;font-size:7px}
.tabs{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-bottom:1px solid var(--line);position:sticky;top:153px;z-index:37}.tabs button{border:0;background:#fff;color:#6f7986;padding:13px 4px;font-weight:800}.tabs button.active{color:var(--blue);box-shadow:inset 0 -4px var(--blue)}.panel{display:none;padding:11px}.panel.active{display:block}
.raceTopCard{background:linear-gradient(135deg,#101d35,#1d3e70);color:#fff;border-radius:14px;padding:13px 15px;display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.raceTopCard small{display:block;opacity:.65;font-size:9px}.raceTopCard>div>b{font-size:26px}.raceBadge{text-align:right}.raceBadge span{font-size:10px;background:#fff;color:#1b3c6e;padding:5px 7px;border-radius:99px;font-weight:900}.raceBadge b{display:block;margin-top:5px;font-size:11px}
.boatRows{display:grid;gap:7px;margin-bottom:10px}.boatRow{display:grid;grid-template-columns:43px 1.25fr .58fr .68fr .7fr;background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden}.lane{display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:900}.l1{background:#fff;color:#111}.l2{background:#111;color:#fff}.l3{background:#ef2929;color:#fff}.l4{background:#174bd8;color:#fff}.l5{background:#ffe62d;color:#111}.l6{background:#11913a;color:#fff}.cell{padding:8px 5px;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}.cell small{font-size:7px;color:var(--muted)}.cell b{font-size:9px;margin-top:2px}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:11px;box-shadow:0 3px 10px #00000009}.card h3{margin:0 0 10px;font-size:15px}.cardHead{display:flex;justify-content:space-between;align-items:start}.cardHead small{font-size:8px;color:var(--muted)}
.compareTable{overflow:auto}.compareGrid{min-width:670px;display:grid;grid-template-columns:105px repeat(6,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}.compareGrid div{padding:8px 5px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;font-size:9px}.compareGrid .head{background:#f5f7fa;font-weight:900}
.notice{background:#eef5ff;border:1px solid #d3e5ff;border-radius:11px;padding:10px;margin-bottom:10px;font-size:10px;color:#41607f}.notice.warn{background:#fff7e9;border-color:#ffe0a4;color:#755114}.previewGrid{display:grid;grid-template-columns:90px repeat(6,1fr);overflow:auto;border-top:1px solid var(--line);border-left:1px solid var(--line)}.previewGrid div{min-width:68px;padding:8px 5px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;font-size:9px}.previewGrid .head{font-weight:900;background:#f5f7fa}.conditionGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.conditionGrid div{background:#f6f8fb;border-radius:9px;padding:9px}.conditionGrid small{display:block;font-size:8px;color:var(--muted)}.conditionGrid b{font-size:11px}
.aiHero{background:linear-gradient(135deg,#0d6fe6,#173eaa);color:#fff;border-radius:15px;padding:16px;margin-bottom:11px;display:flex;justify-content:space-between;gap:10px}.aiHero small{font-size:8px;letter-spacing:1px;opacity:.75}.aiHero h2{margin:4px 0;font-size:20px}.aiHero p{margin:0;font-size:9px;opacity:.9}.confidence{text-align:right;min-width:82px}.confidence span{display:block;font-size:8px}.confidence b{font-size:39px;line-height:1}.confidence small{font-size:8px}
.aiRow{display:grid;grid-template-columns:50px 1fr 36px;gap:7px;align-items:center;margin:8px 0}.aiRow span{font-size:10px;font-weight:900}.aiBar{height:10px;background:#edf1f5;border-radius:99px;overflow:hidden}.aiBar i{display:block;height:100%;background:linear-gradient(90deg,#0c78e0,#3eb8ff);border-radius:99px}.aiRow b{font-size:11px;text-align:right}.scenarioBox{display:grid;gap:7px}.scenarioItem{background:#f6f8fb;border-radius:10px;padding:10px;display:flex;justify-content:space-between;gap:10px}.scenarioItem span{font-size:10px}.scenarioItem b{font-size:11px;color:var(--blue)}.aiComment{display:grid;gap:7px}.aiComment p{margin:0;background:#f6f8fb;border-radius:9px;padding:9px;font-size:10px;line-height:1.5}.fine{font-size:8px;color:var(--muted);line-height:1.45;margin-bottom:0}
.cgCard select{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px}.stage{border:1px solid #a6d7e9;border-radius:13px;overflow:hidden;margin:11px -4px 9px;background:#63c7eb}.stage canvas{display:block;width:100%;height:auto}.cgInfo{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.cgInfo div{background:#f5f8fb;border-radius:9px;padding:8px}.cgInfo small{display:block;font-size:7px;color:var(--muted)}.cgInfo b{font-size:10px}#seek{width:100%;margin:12px 0 7px}.controls{display:flex;gap:7px}.controls button,.controls select{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px;font-weight:800}.controls .play{background:var(--blue);color:#fff;border-color:var(--blue);flex:1}
.toast{position:fixed;z-index:90;left:50%;bottom:90px;transform:translate(-50%,20px);background:#172235;color:#fff;padding:10px 14px;border-radius:10px;font-size:10px;opacity:0;pointer-events:none;transition:.2s;max-width:85%;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
.bottomNav{position:fixed;z-index:60;left:0;right:0;bottom:0;height:72px;padding-bottom:env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid var(--line);box-shadow:0 -3px 12px #0001}.bottomNav button{border:0;background:#fff;color:#66717f;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.bottomNav b{font-size:19px}.bottomNav span{font-size:8px}.bottomNav button.active{color:var(--blue)}
@media(max-width:640px){.venueGrid{gap:6px}.hero h1{font-size:20px}.boatRow{grid-template-columns:40px 1.2fr .56fr .65fr .67fr}.pageHead{top:86px}.tabs{top:153px}}

.betSummary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:9px}
.betSummary div{background:#f6f8fb;border-radius:10px;padding:9px}
.betSummary small{display:block;font-size:8px;color:var(--muted)}
.betSummary b{font-size:12px}
.betTickets{display:flex;flex-wrap:wrap;gap:7px}
.betTicket{background:#172235;color:#fff;border-radius:9px;padding:9px 11px;font-weight:900;font-size:12px}
.betTicket.main{background:linear-gradient(135deg,#0d71df,#1645b8)}
.betTicket.hole{background:linear-gradient(135deg,#ef8a17,#df5b23)}

.entryPrediction{display:grid;gap:8px}
.entryLine{display:flex;align-items:center;gap:8px;background:#f6f8fb;border-radius:10px;padding:10px}
.entryLine .boats{display:flex;gap:4px;flex-wrap:wrap}
.entryChip{width:29px;height:29px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:11px;border:1px solid #ccd4de}
.entryChip.c1{background:#fff;color:#111}.entryChip.c2{background:#111;color:#fff}.entryChip.c3{background:#ef2929;color:#fff}.entryChip.c4{background:#174bd8;color:#fff}.entryChip.c5{background:#ffe62d;color:#111}.entryChip.c6{background:#11913a;color:#fff}
.entryDesc{font-size:9px;color:var(--muted);line-height:1.45}

.startPrediction{display:grid;gap:7px}
.startPredRow{display:grid;grid-template-columns:42px 1fr 48px 42px;gap:7px;align-items:center}
.startPredRow b{font-size:10px}.startTrack{height:24px;background:#eef2f6;border-radius:8px;position:relative;overflow:hidden}
.startZeroLine{position:absolute;left:72%;top:0;bottom:0;width:2px;background:#ee5f5f}
.startBoatDot{position:absolute;top:4px;width:16px;height:16px;border-radius:50%;transform:translateX(-50%);border:2px solid #fff;box-shadow:0 1px 4px #0003}
.startPredRow span,.startPredRow em{font-size:9px;text-align:right;font-style:normal}
.fast{color:#0b9b55;font-weight:900}.slow{color:#d85b42;font-weight:900}

.deltaScores{display:grid;gap:8px}
.deltaRow{display:grid;grid-template-columns:42px minmax(0,1fr) 34px 34px 42px;gap:5px;align-items:center;min-width:0;overflow:hidden}
.deltaRow span{font-size:9px;font-weight:900}
.deltaBar{height:9px;background:#edf1f5;border-radius:99px;overflow:hidden}
.deltaBar i{display:block;height:100%;background:linear-gradient(90deg,#6e95c9,#0d71df);border-radius:99px}
.deltaBefore,.deltaAfter{font-size:9px;text-align:right;white-space:nowrap;overflow:hidden}
.deltaDiff{font-size:9px;text-align:right;font-weight:900;white-space:nowrap;overflow:hidden}.deltaDiff.up{color:#0b9b55}.deltaDiff.down{color:#d85b42}

.betReasons{display:grid;gap:6px;margin-top:9px}
.betReason{background:#f7f9fc;border-radius:9px;padding:9px;font-size:9px;line-height:1.45}
.betReason strong{color:var(--blue)}

.cgScenarioMini{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0}
.cgScenarioMini div{background:#f6f8fb;border-radius:9px;padding:8px}
.cgScenarioMini small{display:block;font-size:7px;color:var(--muted)}
.cgScenarioMini b{font-size:9px}

.cgMode{font-size:7px;color:#0d71df;font-weight:900;letter-spacing:.8px;margin-top:2px}
.stage{background:linear-gradient(180deg,#61c6ea 0%,#35add9 100%)}

button,.venue,.raceItem{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.venue,.raceItem{cursor:pointer}
.raceItemBtn{width:100%;border:0;background:transparent;padding:0;margin:0;text-align:initial;color:inherit;font:inherit}
.raceItemBtn:active .raceItem{transform:scale(.992);background:#f8fbff}
.venue:active{transform:scale(.985)}
.cgMode{font-size:7px;color:#0877df;font-weight:900;letter-spacing:.8px;margin-top:2px}

.hitBadge{display:inline-flex;align-items:center;justify-content:center;background:#e71919;color:#fff;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:900;margin-top:5px;box-shadow:0 2px 7px #e7191938}
.resultMatch{border-radius:12px;padding:13px;text-align:center;font-weight:900;font-size:17px}
.resultMatch.waiting{background:#f4f6f8;color:#77818e}
.resultMatch.hit{background:linear-gradient(135deg,#f32828,#c90808);color:#fff;box-shadow:0 5px 15px #d5151530}
.resultMatch.miss{background:#eef1f5;color:#66717e}
.resultDetail{margin-top:9px;display:grid;gap:6px}
.resultLine{display:flex;justify-content:space-between;background:#f6f8fb;border-radius:9px;padding:9px;font-size:10px}
.resultLine b{font-size:11px}
.raceItem.hitRace{border:2px solid #e71919;background:linear-gradient(90deg,#fff7f7,#fff)}
.raceItem.resultRace:not(.hitRace){border-color:#cbd3dd}
.cgMode{color:#0877df}

.stage{background:linear-gradient(180deg,#63c9eb 0%,#39aed8 100%)}
.cgMode{color:#0877df}

.cgMode{color:#0877df}
.lineLegend{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.lineLegend span{font-size:8px;padding:5px 7px;border-radius:999px;background:#eef5ff;color:#2462a2}

.cgMode{color:#0877df}

html,body{width:100%;max-width:100%;overflow-x:hidden}
main{width:100%;max-width:980px;overflow-x:hidden}
.summaryGrid4{grid-template-columns:repeat(4,minmax(0,1fr))}
.summaryGrid4>div{min-width:0}
.hitSummary{background:linear-gradient(135deg,#fff4f4,#fff)!important;border-color:#ffc9c9!important}
.hitSummary b{color:#d71919}

.venueGrid{
  width:100%;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
  padding:0 10px 15px!important;
}
.venue{
  width:100%;
  min-width:0;
  min-height:102px;
  padding:8px 5px;
  overflow:hidden;
}
.venue .name{
  font-size:15px;
  line-height:1.15;
  white-space:nowrap;
}
.venue .meta{
  width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:7.5px;
}
.venue .count{font-size:9px}
.venueHits{
  margin-top:6px;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:21px;
}
.venueHitBadge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:3px;
  padding:4px 7px;
  border-radius:999px;
  background:#e71919;
  color:#fff;
  font-size:8px;
  font-weight:900;
  box-shadow:0 2px 7px #e7191930;
  white-space:nowrap;
}
.venueNoHit{
  font-size:7px;
  color:#9aa3ad;
  white-space:nowrap;
}
@media(max-width:390px){
  .venueGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;padding-left:8px!important;padding-right:8px!important}
  .venue{min-height:98px;padding:7px 3px}
  .venue .name{font-size:14px}
  .summaryGrid4{gap:5px;padding-left:8px;padding-right:8px}
  .summaryGrid4 div{padding:8px 5px}
  .summaryGrid4 small{font-size:7px}
  .summaryGrid4 b{font-size:15px}
}

:root{
 --race-blue:#0874df;
 --race-deep:#063d92;
 --water:#dff7ff;
}
html,body{
 width:100%;max-width:100%;overflow-x:hidden;
 background:
   radial-gradient(circle at 88% 13%,rgba(255,86,42,.13) 0 18px,transparent 19px),
   linear-gradient(120deg,transparent 0 47%,rgba(255,255,255,.48) 48% 49%,transparent 50%),
   repeating-linear-gradient(170deg,rgba(8,116,223,.055) 0 2px,transparent 2px 28px),
   linear-gradient(180deg,#edfaff 0%,#f7fbff 38%,#eaf7fc 100%) fixed!important;
}
body:before{
 content:"";
 position:fixed;inset:0;pointer-events:none;z-index:-1;
 background:
   linear-gradient(90deg,rgba(255,255,255,.0),rgba(255,255,255,.38),rgba(255,255,255,0)),
   repeating-linear-gradient(0deg,transparent 0 72px,rgba(25,154,205,.045) 73px 74px);
}
header,.topbar{
 background:linear-gradient(115deg,#09a8dc 0%,#0878e3 48%,#083c9b 100%)!important;
}
.hero{
 position:relative;overflow:hidden;
 background:linear-gradient(135deg,#0aa7dc 0%,#086edc 48%,#073997 100%)!important;
}
.hero:after{
 content:"V";
 position:absolute;right:13px;top:-20px;
 font-size:132px;font-weight:1000;font-style:italic;
 color:rgba(255,255,255,.10);line-height:1;
}
.card,.panel,.statusCard,.summaryGrid>div,.venue,.raceCard,.aiCard,.cgCard{
 backdrop-filter:blur(8px);
 -webkit-backdrop-filter:blur(8px);
}
.venue,.raceCard,.panel,.card{
 background:linear-gradient(155deg,rgba(255,255,255,.96),rgba(239,250,255,.90))!important;
}
.bottomNav{
 background:rgba(255,255,255,.94)!important;
 backdrop-filter:blur(15px);
 -webkit-backdrop-filter:blur(15px);
}

/* v0.6.1: fixed sticky/header overlap */
header,.topbar{position:relative!important;z-index:20}
.raceHead,.raceHeader,.raceTop{position:relative!important;z-index:10;margin-top:0!important}
.tabs,.tabbar,.raceTabs{
 position:sticky!important;
 top:0!important;
 z-index:18!important;
 background:rgba(255,255,255,.97)!important;
 backdrop-filter:blur(12px);
 -webkit-backdrop-filter:blur(12px);
}
.view,.page,.content,main{padding-top:0!important}
@media(max-width:600px){
 header,.topbar{min-height:82px}
 .raceHead,.raceHeader,.raceTop{margin-top:0!important}
}

/* stronger boat-race / wave atmosphere */
html,body{
 background:
  radial-gradient(ellipse at 15% 22%,rgba(255,255,255,.75) 0 5%,transparent 5.5%),
  repeating-radial-gradient(ellipse at 20% 25%,transparent 0 22px,rgba(0,146,210,.075) 23px 25px,transparent 26px 45px),
  linear-gradient(180deg,#dff7ff 0%,#f7fcff 34%,#d8f3fb 100%) fixed!important;
}
body:after{
 content:"";position:fixed;left:-10%;right:-10%;bottom:0;height:38vh;z-index:-1;pointer-events:none;
 background:
  repeating-radial-gradient(ellipse at 50% 110%,rgba(255,255,255,.68) 0 3px,transparent 4px 21px),
  repeating-linear-gradient(172deg,rgba(0,125,190,.11) 0 2px,transparent 2px 22px),
  linear-gradient(180deg,rgba(15,163,216,.05),rgba(0,104,174,.16));
}

/* generic miniature racing boat */
.boatIcon{
 display:inline-block;width:34px;height:15px;position:relative;margin-right:5px;
 transform:skewX(-13deg);border-radius:55% 70% 35% 45%;
 background:currentColor;box-shadow:0 2px 4px #0002;vertical-align:middle;
}
.boatIcon:before{
 content:"";position:absolute;width:14px;height:7px;left:8px;top:-5px;
 border-radius:7px 7px 2px 2px;background:currentColor;
}
.boatIcon:after{
 content:"";position:absolute;right:-8px;top:5px;width:10px;height:3px;
 background:linear-gradient(90deg,#fff9,transparent);border-radius:50%;
}
.boat1{color:#d8dde5;border:1px solid #7d8793}
.boat2{color:#15191e}.boat3{color:#ef3038}.boat4{color:#1761d8}.boat5{color:#ffd928}.boat6{color:#159448}

/* entry prediction lane made to look like six boats */
.entryBoats{display:flex;align-items:flex-end;gap:7px;padding:12px 8px 9px;
 background:linear-gradient(180deg,#dff8ff,#a8e4f5);
 border-radius:14px;overflow:hidden;position:relative}
.entryBoats:after{content:"";position:absolute;left:0;right:0;bottom:4px;height:8px;
 background:repeating-linear-gradient(170deg,#ffffff99 0 3px,transparent 3px 12px)}
.entryBoatWrap{position:relative;z-index:1;text-align:center;font-weight:900;font-size:11px;min-width:36px}

/* remove accidental top clipping in tab contents */
.tabPanel,.panelBody,.raceContent{scroll-margin-top:60px}

/* ===== v0.6.2 iPhone layout hard fix ===== */
html{scroll-padding-top:0!important}
body{margin:0!important;padding:0!important}
header,.topbar{
 position:relative!important;
 top:auto!important;
 height:auto!important;
 min-height:0!important;
 margin:0!important;
 padding-top:max(12px,env(safe-area-inset-top))!important;
 z-index:5!important;
}
header + *, .topbar + *{margin-top:0!important}
.raceHead,.raceHeader,.raceTop{
 position:relative!important;
 top:auto!important;
 margin:0!important;
 z-index:6!important;
}
.tabs,.tabbar,.raceTabs{
 position:relative!important;
 top:auto!important;
 margin:0!important;
 z-index:7!important;
}
.view,.page,.content,main,.screen,.raceScreen{
 position:relative!important;
 top:auto!important;
 margin-top:0!important;
 transform:none!important;
}
@media(max-width:600px){
 header,.topbar{padding-bottom:14px!important}
 .raceHead,.raceHeader,.raceTop{min-height:82px!important}
 .tabs,.tabbar,.raceTabs{min-height:52px!important}
}

/* realistic top-view racing boat icon */
.boatIcon{
 width:42px!important;height:18px!important;display:inline-block!important;position:relative!important;
 margin:0 5px 0 0!important;vertical-align:middle!important;
 transform:none!important;border:0!important;
 border-radius:70% 100% 48% 55%!important;
 background:
   linear-gradient(165deg,rgba(255,255,255,.72) 0 18%,transparent 19%),
   linear-gradient(180deg,currentColor 0 72%,rgba(0,0,0,.22) 73% 100%)!important;
 box-shadow:0 3px 5px #001a3333,inset -5px -2px 5px #0002!important;
 clip-path:polygon(0 50%,13% 18%,69% 8%,100% 42%,88% 72%,25% 92%)!important;
}
.boatIcon:before{
 content:""!important;position:absolute!important;
 width:16px!important;height:9px!important;left:14px!important;top:3px!important;
 border-radius:55% 65% 30% 30%!important;
 background:linear-gradient(180deg,#eff8ff 0 40%,#263746 41% 100%)!important;
 box-shadow:0 1px 2px #0005!important;
}
.boatIcon:after{
 content:""!important;position:absolute!important;right:-13px!important;top:6px!important;
 width:16px!important;height:7px!important;border-radius:50%!important;
 background:linear-gradient(90deg,rgba(255,255,255,.92),rgba(255,255,255,0))!important;
 transform:skewX(-25deg)!important;
}

/* start forecast gets six boat illustrations too */
.startBoatIcon{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:52px!important}

/* ===== v0.6.3 bottom-nav-only layout ===== */
header,.topbar,.appHeader,.mainHeader,.siteHeader{
 display:none!important;
 height:0!important;
 min-height:0!important;
 max-height:0!important;
 padding:0!important;
 margin:0!important;
 border:0!important;
 overflow:hidden!important;
}

/* remove any gap that previously belonged to header */
body,main,.view,.page,.screen,.content,.raceScreen{
 padding-top:0!important;
 margin-top:0!important;
 top:auto!important;
}

/* race title starts at very top beneath iOS safe area */
.pageHead,.raceHead,.raceHeader,.raceTop,.detailHead,.stickyTop{
 top:auto!important;
 position:relative!important;
 margin-top:0!important;
 padding-top:max(10px,env(safe-area-inset-top))!important;
 z-index:10!important;
 background:rgba(255,255,255,.96)!important;
 backdrop-filter:blur(12px);
 -webkit-backdrop-filter:blur(12px);
}

/* detail tabs should no longer try to sit below a header */
.tabs,.tabbar,.raceTabs,.detailTabs{
 top:auto!important;
 position:relative!important;
 z-index:9!important;
}

/* keep bottom navigation as the only persistent app navigation */
.bottomNav{
 display:grid!important;
 position:fixed!important;
 left:0;right:0;bottom:0;
 z-index:80!important;
}

/* provide space so content isn't covered by bottom nav */
body{padding-bottom:calc(76px + env(safe-area-inset-bottom))!important}

/* home begins immediately with status/hero/cards */
#homeView,.homeView{
 padding-top:max(6px,env(safe-area-inset-top))!important;
}

/* compact top area on iPhone */
@media(max-width:600px){
 .pageHead,.raceHead,.raceHeader,.raceTop,.detailHead,.stickyTop{
   min-height:68px!important;
   padding-left:10px!important;
   padding-right:10px!important;
 }
 .tabs,.tabbar,.raceTabs,.detailTabs{min-height:50px!important}
}

/* =========================================================
   v0.6.4 - Boat Race visual redesign
   Main navigation remains bottom-only.
   ========================================================= */

:root{
  --v-blue:#087be6;
  --v-deep:#0756b9;
  --v-navy:#073e77;
  --v-water:#0ea3d4;
  --v-sky:#dff8ff;
  --v-card:rgba(255,255,255,.94);
  --v-line:rgba(4,88,142,.15);
  --v-shadow:0 8px 24px rgba(0,78,122,.10);
}

/* ocean background across all screens */
html,body{
  background:
    radial-gradient(ellipse at 15% 8%,rgba(255,255,255,.95) 0 2%,transparent 2.5%),
    radial-gradient(ellipse at 75% 18%,rgba(255,255,255,.78) 0 1.6%,transparent 2.2%),
    repeating-radial-gradient(ellipse at 50% 112%,rgba(255,255,255,.40) 0 5px,transparent 7px 28px),
    repeating-linear-gradient(171deg,rgba(0,138,194,.07) 0 2px,transparent 2px 29px),
    linear-gradient(180deg,#eafaff 0%,#d9f7ff 36%,#84d8ee 78%,#2aa9d1 100%) fixed!important;
}
body:before{
  content:"";
  position:fixed;left:0;right:0;bottom:0;height:48vh;
  pointer-events:none;z-index:-1;
  background:
    repeating-radial-gradient(ellipse at 45% 120%,rgba(255,255,255,.58) 0 4px,transparent 5px 24px),
    linear-gradient(180deg,rgba(0,144,195,.04),rgba(0,85,142,.16));
}

/* detail-page visual header (decorative only) */
.raceVisualHero{
  position:relative;
  height:158px;
  overflow:hidden;
  margin:0 0 10px;
  background:
    radial-gradient(circle at 14% 10%,rgba(255,255,255,.95) 0 5%,transparent 5.5%),
    linear-gradient(180deg,rgba(0,97,189,.18),rgba(0,102,174,.02)),
    linear-gradient(180deg,#1685d8 0%,#48c0e5 45%,#3cb5dd 46%,#1196cb 100%);
  border-bottom:1px solid rgba(255,255,255,.55);
}
.raceVisualHero:before{
  content:"";
  position:absolute;inset:auto 0 0 0;height:58%;
  background:
    repeating-radial-gradient(ellipse at 40% 120%,rgba(255,255,255,.65) 0 3px,transparent 4px 18px),
    repeating-linear-gradient(172deg,rgba(255,255,255,.16) 0 2px,transparent 2px 18px);
}
.raceVisualText{
  position:absolute;left:18px;top:max(8px,env(safe-area-inset-top));z-index:3;color:#fff;
  text-shadow:0 2px 8px rgba(0,64,114,.25)
}
.raceVisualText b{display:block;font-size:21px;letter-spacing:.4px}
.raceVisualText span{font-size:8px;letter-spacing:2.1px;font-weight:800;opacity:.95}

/* stylized realistic top-down hero boats */
.heroBoat{
  position:absolute;width:92px;height:25px;bottom:22px;
  border-radius:55% 90% 48% 55%;
  clip-path:polygon(0 50%,10% 18%,70% 7%,100% 41%,89% 73%,26% 93%);
  filter:drop-shadow(0 4px 4px rgba(0,33,65,.35));
  transform:rotate(-5deg);
}
.heroBoat:before{
  content:"";position:absolute;left:30px;top:5px;width:26px;height:13px;border-radius:55% 65% 28% 28%;
  background:linear-gradient(180deg,#dcecf7 0 44%,#17374d 45% 100%);box-shadow:0 1px 2px #0005;
}
.heroBoat:after{
  content:"";position:absolute;right:-44px;top:7px;width:52px;height:10px;border-radius:50%;
  background:linear-gradient(90deg,rgba(255,255,255,.95),rgba(255,255,255,0));
}
.heroBoat4{left:25%;background:linear-gradient(180deg,#2879f4,#0a4cbf);z-index:2}
.heroBoat3{left:53%;bottom:46px;width:70px;background:linear-gradient(180deg,#ff504d,#ca151f);z-index:1}
.heroBoat5{left:72%;bottom:56px;width:63px;background:linear-gradient(180deg,#ffe857,#f2b400);z-index:1}
.heroTurnMark{
  position:absolute;right:18px;bottom:28px;width:22px;height:52px;z-index:2;
  background:linear-gradient(90deg,#ef3f32 0 50%,#fff 50% 100%);
  clip-path:polygon(50% 0,100% 75%,80% 100%,20% 100%,0 75%);
  filter:drop-shadow(0 3px 3px rgba(0,0,0,.25));
}

/* overall card language */
.card,.statusCard,.raceItem,.venue,.aiHero,.raceTopCard,.pageHead,.tabs,.detailTabs{
  border:1px solid var(--v-line)!important;
  border-radius:16px!important;
  box-shadow:var(--v-shadow)!important;
}
.card,.statusCard,.venue,.raceItem{
  background:linear-gradient(155deg,rgba(255,255,255,.96),rgba(239,251,255,.91))!important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.panel{padding:10px!important}
.card{padding:14px!important;margin-bottom:12px!important}

/* race title card */
.pageHead,.raceHead,.raceHeader,.raceTop,.detailHead,.stickyTop{
  margin:0 10px 10px!important;
  padding:12px!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.96)!important;
}
.pageTitle b{font-size:20px!important;color:#10283f}
.pageTitle small{font-size:10px!important;color:#71879a}

/* tab bar like supplied reference */
.tabs,.detailTabs{
  margin:0 10px 10px!important;
  overflow:hidden;
  background:rgba(255,255,255,.97)!important;
}
.tabs button,.detailTabs button{
  min-height:54px!important;
  font-size:11px!important;
  font-weight:900!important;
  color:#71859a!important;
  background:transparent!important;
}
.tabs button.active,.detailTabs button.active{
  color:var(--v-blue)!important;
  box-shadow:inset 0 -4px var(--v-blue)!important;
}

/* headings */
.card h3,.cardTitle,.sectionTitle{
  color:#0e2942!important;
  font-weight:900!important;
}
.card h3:before{
  content:"≋";
  color:#087cdf;
  margin-right:7px;
  font-weight:1000;
}

/* entry forecast panel */
.entryBoats{
  min-height:102px!important;
  gap:8px!important;
  padding:16px 10px 12px!important;
  background:
    repeating-radial-gradient(ellipse at 45% 120%,rgba(255,255,255,.65) 0 3px,transparent 4px 18px),
    linear-gradient(180deg,#bdeaf7,#77d0e8)!important;
  border:1px solid rgba(6,116,178,.12);
}
.entryBoatWrap{min-width:40px!important}
.entryBoatWrap .boatIcon{width:46px!important;height:20px!important}

/* better boat look everywhere */
.boatIcon{
  width:48px!important;height:20px!important;
  filter:drop-shadow(0 3px 3px rgba(0,35,70,.28));
}
.boatIcon:before{left:16px!important;top:4px!important;width:17px!important;height:9px!important}
.startBoatIcon{width:58px!important}

/* start forecast rows */
.startPredRow,.startRow{
  min-height:48px!important;
  grid-template-columns:44px 58px 1fr 48px 42px!important;
  gap:6px!important;
  align-items:center!important;
}
.startTrack{
  height:32px!important;
  background:linear-gradient(90deg,#edf3f8,#e9eff5)!important;
  border-radius:9px!important;
}
.startZeroLine{background:#ff4545!important;width:3px!important}
.startBoatDot{width:21px!important;height:21px!important;top:5px!important}

/* condition tiles */
.conditionGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
.conditionGrid>div{
  min-height:76px!important;
  display:flex!important;flex-direction:column!important;justify-content:center!important;
  background:linear-gradient(160deg,#f7fcff,#e6f6fd)!important;
  border:1px solid rgba(4,105,163,.09)!important;
  border-radius:12px!important;
}

/* score/probability UI */
.aiHero{
  margin:0 10px 12px!important;
  background:linear-gradient(135deg,#057de7,#084cb3)!important;
}
.aiRow .aiBar,.scoreBar,.barTrack{background:#e8eef4!important}
.aiRow .aiBar i,.scoreFill,.barTrack i{
  background:linear-gradient(90deg,#0c82eb,#42c7f2)!important;
}

/* bottom navigation: the only persistent navigation */
.bottomNav{
  height:78px!important;
  background:linear-gradient(180deg,rgba(4,81,132,.95),rgba(3,55,99,.98))!important;
  border-top:1px solid rgba(255,255,255,.22)!important;
  box-shadow:0 -8px 24px rgba(0,55,96,.16)!important;
}
.bottomNav button{background:transparent!important;color:rgba(255,255,255,.58)!important}
.bottomNav button.active{
  color:#fff!important;
  background:linear-gradient(180deg,rgba(19,123,202,.52),rgba(12,86,155,.52))!important;
  border-radius:12px!important;
}
.bottomNav button b{font-size:20px!important}
.bottomNav button span{font-size:9px!important;font-weight:800!important}

/* home venue cards */
.venue{
  min-height:110px!important;
  background:linear-gradient(160deg,rgba(255,255,255,.97),rgba(224,247,255,.92))!important;
}
.venue .name{font-size:16px!important;color:#0b2943}
.venueHitBadge{background:linear-gradient(135deg,#ff3e3e,#d71313)!important}

/* iPhone spacing */
@media(max-width:430px){
  .raceVisualHero{height:145px}
  .panel{padding:8px!important}
  .card{padding:12px!important}
  .entryBoats{gap:4px!important;padding-left:6px!important;padding-right:6px!important}
  .entryBoatWrap{min-width:35px!important}
  .entryBoatWrap .boatIcon{width:40px!important}
  .startPredRow,.startRow{grid-template-columns:40px 54px 1fr 44px 38px!important}
}

/* ===== v0.6.5 daypart badges / pickups ===== */
.venueDayBadge{
 display:inline-flex;align-items:center;justify-content:center;gap:3px;
 margin-top:5px;padding:4px 7px;border-radius:999px;
 font-size:8px;font-weight:900;white-space:nowrap;
}
.venueDayBadge.morning{background:#fff1b8;color:#8a6400}
.venueDayBadge.day{background:#dff4ff;color:#096ca8}
.venueDayBadge.night{background:#e9e3ff;color:#5c42b6}
.venueDayBadge .icon{font-size:10px}

.daypartPicks{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:8px;
 padding:0 10px 12px;
}
.pickCard{
 background:linear-gradient(155deg,rgba(255,255,255,.97),rgba(232,248,255,.93));
 border:1px solid rgba(4,94,149,.13);
 border-radius:15px;
 padding:10px;
 box-shadow:0 6px 18px rgba(0,77,120,.09);
 min-width:0;
}
.pickCard.morning{box-shadow:inset 0 4px #f5c746,0 6px 18px rgba(0,77,120,.09)}
.pickCard.day{box-shadow:inset 0 4px #2db9ec,0 6px 18px rgba(0,77,120,.09)}
.pickCard.night{box-shadow:inset 0 4px #7864d9,0 6px 18px rgba(0,77,120,.09)}
.pickTop{display:flex;justify-content:space-between;align-items:center;gap:4px}
.pickDay{font-size:9px;font-weight:900}
.pickScore{font-size:9px;color:#0879df;font-weight:900}
.pickVenue{font-size:15px;font-weight:1000;margin-top:7px;color:#0a2942;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pickRace{font-size:12px;font-weight:900;margin-top:2px}
.pickMeta{font-size:7px;color:#71879a;margin-top:4px;line-height:1.35}
.pickBtn{margin-top:8px;width:100%;border:0;border-radius:9px;padding:7px;background:#0b77dc;color:#fff;font-size:9px;font-weight:900}
@media(max-width:390px){
 .daypartPicks{gap:5px;padding-left:8px;padding-right:8px}
 .pickCard{padding:8px 6px}
 .pickVenue{font-size:13px}
 .pickRace{font-size:11px}
 .pickMeta{font-size:6.5px}
}

/* ===== v0.6.6 venue visual cards ===== */
.venue{
 position:relative!important;
 overflow:hidden!important;
 isolation:isolate;
 min-height:122px!important;
}
.venue:before{
 content:"";
 position:absolute;inset:0;
 z-index:-2;
 opacity:.96;
}
.venue:after{
 content:"";
 position:absolute;inset:0;
 z-index:-1;
 background:linear-gradient(180deg,rgba(255,255,255,.26),rgba(255,255,255,.78) 72%,rgba(255,255,255,.94));
}
.venue.morning:before{
 background:
   radial-gradient(circle at 18% 72%,#fff6b4 0 8%,#ffd66b 9% 13%,transparent 14%),
   linear-gradient(180deg,#ffd5b4 0%,#ffe9c8 42%,#bce9f4 100%);
}
.venue.day:before{
 background:
   radial-gradient(circle at 82% 18%,#fff9bd 0 8%,#ffd949 9% 12%,transparent 13%),
   linear-gradient(180deg,#75cfff 0%,#bcecff 48%,#e9fbff 100%);
}
.venue.night:before{
 background:
   radial-gradient(circle at 78% 18%,#f3f0d0 0 7%,transparent 8%),
   radial-gradient(circle at 18% 24%,#fff 0 1.2%,transparent 1.5%),
   radial-gradient(circle at 48% 14%,#fff 0 1%,transparent 1.3%),
   radial-gradient(circle at 66% 34%,#fff 0 1.2%,transparent 1.5%),
   radial-gradient(circle at 30% 42%,#fff 0 .9%,transparent 1.2%),
   linear-gradient(180deg,#13275d 0%,#244d8d 48%,#6387ae 100%);
}
.venue.night .name,.venue.night .meta,.venue.night .count{
 text-shadow:0 1px 4px rgba(255,255,255,.55);
}
.venueCornerMark{
 position:absolute;left:7px;top:7px;z-index:4;
 width:24px;height:24px;border-radius:8px;
 display:flex;align-items:center;justify-content:center;
 font-size:13px;font-weight:900;
 background:rgba(255,255,255,.88);
 box-shadow:0 2px 7px rgba(0,54,90,.16);
}
.venueCornerMark.morning{color:#d58d00}
.venueCornerMark.day{color:#078dc4}
.venueCornerMark.night{color:#5b52c5}
.venueLed{
 position:absolute;right:7px;top:7px;z-index:4;
 min-width:52px;height:26px;padding:3px 5px;
 border-radius:5px;
 background:#101822;
 border:1px solid #4c5a68;
 box-shadow:inset 0 0 0 1px #000,0 2px 5px #0002;
 display:flex;flex-direction:column;align-items:center;justify-content:center;
 font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
}
.venueLed b{
 color:#ff5d4a;font-size:9px;line-height:1;
 text-shadow:0 0 5px #ff493d;
}
.venueLed small{
 color:#ffd860;font-size:6px;line-height:1.1;margin-top:2px;
 letter-spacing:.3px;
}
.venue .name{margin-top:13px!important}
.venueDayBadge{display:none!important}
@media(max-width:390px){
 .venueCornerMark{width:22px;height:22px;font-size:12px}
 .venueLed{min-width:47px;height:24px}
 .venueLed b{font-size:8px}
 .venueLed small{font-size:5.5px}
}

/* ===== v0.6.7 weather-left / background-only daypart ===== */
.venueCornerMark{display:none!important}

.venueWeather{
 position:absolute;left:7px;top:7px;z-index:5;
 min-width:48px;height:26px;padding:3px 6px;
 border-radius:8px;
 background:rgba(255,255,255,.90);
 border:1px solid rgba(2,83,132,.12);
 box-shadow:0 2px 7px rgba(0,54,90,.14);
 display:flex;align-items:center;justify-content:center;gap:4px;
 font-size:8px;font-weight:900;color:#183e59;
 white-space:nowrap;
}
.venueWeather .wxIcon{font-size:12px;line-height:1}
.venueLed{right:7px!important;left:auto!important}

.pickCard{
 position:relative;
 overflow:hidden;
 isolation:isolate;
 min-height:132px;
 padding-top:40px!important;
}
.pickCard:before{
 content:"";
 position:absolute;inset:0;z-index:-2;
}
.pickCard:after{
 content:"";
 position:absolute;inset:0;z-index:-1;
 background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.78) 70%,rgba(255,255,255,.95));
}
.pickCard.morning:before{
 background:
   radial-gradient(circle at 18% 72%,#fff6b4 0 8%,#ffd66b 9% 13%,transparent 14%),
   linear-gradient(180deg,#ffd5b4 0%,#ffe9c8 42%,#bce9f4 100%);
}
.pickCard.day:before{
 background:
   radial-gradient(circle at 82% 18%,#fff9bd 0 8%,#ffd949 9% 12%,transparent 13%),
   linear-gradient(180deg,#75cfff 0%,#bcecff 48%,#e9fbff 100%);
}
.pickCard.night:before{
 background:
   radial-gradient(circle at 78% 18%,#f3f0d0 0 7%,transparent 8%),
   radial-gradient(circle at 18% 24%,#fff 0 1.2%,transparent 1.5%),
   radial-gradient(circle at 48% 14%,#fff 0 1%,transparent 1.3%),
   radial-gradient(circle at 66% 34%,#fff 0 1.2%,transparent 1.5%),
   radial-gradient(circle at 30% 42%,#fff 0 .9%,transparent 1.2%),
   linear-gradient(180deg,#13275d 0%,#244d8d 48%,#6387ae 100%);
}
.pickDay{display:none!important}
.pickWeather{
 position:absolute;left:7px;top:7px;z-index:4;
 min-width:48px;height:25px;padding:3px 6px;
 border-radius:8px;background:rgba(255,255,255,.90);
 border:1px solid rgba(2,83,132,.12);
 box-shadow:0 2px 7px rgba(0,54,90,.14);
 display:flex;align-items:center;justify-content:center;gap:4px;
 font-size:8px;font-weight:900;color:#183e59;
}
.pickWeather .wxIcon{font-size:12px}
.pickLed{
 position:absolute;right:7px;top:7px;z-index:4;
 min-width:49px;height:25px;padding:3px 5px;border-radius:5px;
 background:#101822;border:1px solid #4c5a68;
 box-shadow:inset 0 0 0 1px #000,0 2px 5px #0002;
 display:flex;flex-direction:column;align-items:center;justify-content:center;
 font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
}
.pickLed b{color:#ff5d4a;font-size:8px;line-height:1;text-shadow:0 0 5px #ff493d}
.pickLed small{color:#ffd860;font-size:5.5px;line-height:1.1;margin-top:2px}
.pickTop{display:none!important}
.pickVenue{margin-top:0!important}
@media(max-width:390px){
 .venueWeather,.pickWeather{min-width:44px;height:24px;font-size:7px;padding:3px 5px}
 .pickLed{min-width:45px;height:24px}
 .pickCard{min-height:126px;padding-top:38px!important}
}

/* v0.6.8 */
.venueGrid{gap:12px!important}.venue{min-height:132px!important;padding:40px 14px 14px!important;border-radius:18px!important;border:1px solid rgba(255,255,255,.72)!important;box-shadow:0 8px 22px rgba(10,77,123,.13)!important}
.venue:after{background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.66) 62%,rgba(255,255,255,.93))!important}
.venue .name{font-size:19px!important;font-weight:950!important;margin:0 0 5px!important}.venue .meta{font-size:10px!important;line-height:1.35!important;min-height:27px}.venue .count{margin-top:5px!important;font-size:11px!important;font-weight:850!important;color:#076fbe!important}.venueHits{margin-top:7px!important}.venueWeather{left:9px!important;top:9px!important;height:26px!important}.venueLed,.pickLed{display:none!important}.pickCard{padding-top:40px!important}

/* ===== v0.6.9 race number + closing time ===== */
.venueRaceInfo{
 position:absolute;right:9px;top:9px;z-index:5;
 display:flex;align-items:center;gap:5px;
 padding:5px 7px;border-radius:9px;
 background:rgba(255,255,255,.92);
 border:1px solid rgba(2,83,132,.12);
 box-shadow:0 2px 7px rgba(0,54,90,.14);
 white-space:nowrap;
}
.venueRaceInfo .raceNo{
 font-size:10px;font-weight:1000;color:#0a64b1;
}
.venueRaceInfo .closeTime{
 font-size:10px;font-weight:950;color:#23384b;
 font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
}
.venueRaceInfo.closingSoon{
 background:#fff0f0;border-color:#ff9b9b;
 animation:closingPulse 1.2s ease-in-out infinite;
}
.venueRaceInfo.closingSoon .closeTime{
 color:#e01919!important;
 text-shadow:0 0 5px rgba(224,25,25,.18);
}
@keyframes closingPulse{0%,100%{box-shadow:0 2px 7px rgba(224,25,25,.12)}50%{box-shadow:0 2px 12px rgba(224,25,25,.32)}}
@media(max-width:390px){
 .venueRaceInfo{right:7px;top:7px;padding:4px 5px;gap:3px}
 .venueRaceInfo .raceNo,.venueRaceInfo .closeTime{font-size:8.5px}
}

/* ===== v0.6.10 center race/closing display ===== */
.venueRaceInfo{
 left:50%!important;
 right:auto!important;
 top:8px!important;
 transform:translateX(-50%)!important;
 min-width:88px!important;
 justify-content:center!important;
 padding:5px 9px!important;
}
.venue .name{
 margin-top:15px!important;
}
@media(max-width:390px){
 .venueRaceInfo{
   left:50%!important;
   right:auto!important;
   transform:translateX(-50%)!important;
   min-width:80px!important;
   top:7px!important;
 }
}

/* ===== v0.6.11 venue race info: text-only between title and day count ===== */
.venue{
  padding-top:40px!important;
}
.venue .name{
  margin-top:0!important;
}
.venueRaceInfo{
  position:static!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  transform:none!important;
  min-width:0!important;
  width:auto!important;
  height:auto!important;
  margin:5px 0 4px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:7px!important;
  animation:none!important;
  white-space:nowrap!important;
}
.venueRaceInfo .raceNo,
.venueRaceInfo .closeTime{
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:950!important;
}
.venueRaceInfo .raceNo{color:#075fa8!important}
.venueRaceInfo .closeTime{color:#23384b!important}
.venueRaceInfo.closingSoon .closeTime{
  color:#e01919!important;
  animation:closingTextPulse 1.2s ease-in-out infinite!important;
}
@keyframes closingTextPulse{0%,100%{opacity:1}50%{opacity:.45}}
.venue .count{margin-top:3px!important}
@media(max-width:390px){
  .venueRaceInfo{margin:4px 0 3px!important;gap:5px!important}
  .venueRaceInfo .raceNo,.venueRaceInfo .closeTime{font-size:10px!important}
}

/* ===== v0.6.12 plain text race info ===== */
.venueRaceInfo{
  display:block!important;
  position:static!important;
  margin:6px 0 4px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  text-align:center!important;
  min-width:0!important;
  width:auto!important;
  height:auto!important;
  transform:none!important;
}
.venueRaceInfo .raceNo,
.venueRaceInfo .closeTime{
  display:inline!important;
  padding:0!important;
  margin:0!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
  font-family:inherit!important;
  font-size:12px!important;
  font-weight:950!important;
  line-height:1.2!important;
}
.venueRaceInfo .raceNo{color:#0a2942!important}
.venueRaceInfo .raceNo:after{content:"   ";white-space:pre}
.venueRaceInfo .closeTime{color:#0a2942!important}
.venueRaceInfo.closingSoon .closeTime{
  color:#e01919!important;
  animation:closingTextPulse 1.2s ease-in-out infinite!important;
}
.venueRaceInfo:before,
.venueRaceInfo:after,
.venueRaceInfo .raceNo:before,
.venueRaceInfo .closeTime:before,
.venueRaceInfo .closeTime:after{
  display:none!important;
  content:none!important;
}

/* ===== v0.6.13 home banner refinements ===== */

/* 開催場: レースタイトル直下に 12レース / ○日目 */
.venue .meta{
  margin-bottom:5px!important;
}
.venue .count{
  margin-top:0!important;
  margin-bottom:5px!important;
  font-size:11px!important;
  font-weight:900!important;
  color:#0674c7!important;
}
.venueRaceInfo{
  margin:4px 0 4px!important;
}

/* Vピック: 期待値対象専用フレーム */
.pickCard{
  border:2px solid rgba(0,127,231,.72)!important;
  box-shadow:
    0 0 0 3px rgba(255,255,255,.72),
    0 0 0 5px rgba(0,127,231,.20),
    0 10px 26px rgba(0,96,174,.18)!important;
}
.pickCard:before{
  filter:saturate(1.08);
}
.pickCard .pickVenue{
  font-weight:1000!important;
}
.pickCard .pickScore{
  display:inline-flex!important;
  margin-top:5px!important;
  padding:4px 7px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#087de6,#0756bc)!important;
  color:#fff!important;
  font-weight:950!important;
  font-size:9px!important;
  box-shadow:0 3px 8px rgba(0,93,171,.18);
}

/* Vピック: 12R 11:50 を横並びテキスト */
.pickRaceLine{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  margin-top:4px;
  color:#0c2b43;
  font-size:12px;
  font-weight:950;
  white-space:nowrap;
}
.pickRaceLine .pickCloseTime{
  font-family:inherit;
  font-weight:950;
}
.pickRaceLine.closingSoon .pickCloseTime{
  color:#e01919!important;
  animation:closingTextPulse 1.2s ease-in-out infinite!important;
}
.pickMeta{
  margin-top:4px!important;
}

/* ===== v0.7.0 embedded CG + live ===== */
.embeddedCgCard{overflow:hidden}
.miniCgStage{
  position:relative;width:100%;aspect-ratio:11/7.2;
  overflow:hidden;border-radius:14px;
  background:linear-gradient(180deg,#70d0ee,#2ba9d5);
  border:1px solid rgba(0,96,155,.14);
}
.miniCgStage canvas{width:100%;height:100%;display:block}
.miniLiveBadge{
  display:inline-flex;align-items:center;justify-content:center;
  padding:4px 7px;border-radius:999px;
  background:#e71414;color:#fff;font-size:8px;font-weight:950;
  box-shadow:0 0 0 3px rgba(231,20,20,.10);
}
.miniCgInfo{
  display:flex;justify-content:space-between;align-items:center;
  gap:8px;margin-top:8px;font-size:8px;color:#688197;
}
.miniCgInfo span:first-child{font-weight:900;color:#0a5ea8}

.liveRaceCard{overflow:hidden}
.liveVenueBadge{
  display:inline-flex;padding:5px 8px;border-radius:999px;
  background:#087be6;color:#fff;font-size:9px;font-weight:950;
}
.liveVideoWrap{
  position:relative;width:100%;aspect-ratio:16/9;
  overflow:hidden;border-radius:14px;background:#07131f;
  border:1px solid rgba(0,76,129,.16);
}
.liveVideoWrap iframe{width:100%;height:100%;border:0;background:#07131f}
.liveLoading{
  position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:5px;
  color:#fff;background:linear-gradient(135deg,#0a5cae,#062d5c);
  pointer-events:none;transition:.2s;
}
.liveLoading.hidden{opacity:0;visibility:hidden}
.liveLoading b{font-size:13px}
.liveLoading small{font-size:8px;opacity:.78}
.liveActions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}
.liveActions button{border:0;border-radius:11px;padding:11px 7px;font-weight:950;font-size:10px}
.livePrimary{background:#087be6;color:#fff}
.liveSecondary{background:#eaf4fb;color:#0a5ea8}
.liveNowGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.liveNowGrid>div{background:#eff8fd;border-radius:10px;padding:9px}
.liveNowGrid small{display:block;font-size:7px;color:#71879a}
.liveNowGrid b{font-size:11px;color:#0b2942}
.cgEngineHidden{
  position:absolute!important;width:1px!important;height:1px!important;
  overflow:hidden!important;clip:rect(0 0 0 0)!important;
  opacity:0!important;pointer-events:none!important;
}

/* ===== v0.7.1 racer comments / characteristics ===== */
.racerDayComment{
  margin-top:4px;
  padding:4px 6px;
  border-radius:7px;
  background:#f1f7fb;
  color:#526b7f;
  font-size:7px;
  line-height:1.35;
  font-weight:700;
}
.racerDayComment.hasComment{
  background:#eaf7ff;
  color:#085f9f;
  border-left:3px solid #0b83dc;
}
.racerCharacteristics{
  display:grid;
  gap:8px;
}
.racerFeatureCard{
  position:relative;
  display:grid;
  grid-template-columns:42px 1fr;
  gap:9px;
  padding:10px;
  border-radius:12px;
  background:linear-gradient(155deg,#f8fcff,#edf8fd);
  border:1px solid rgba(4,98,157,.11);
}
.racerFeatureLane{
  width:38px;height:38px;border-radius:11px;
  display:flex;align-items:center;justify-content:center;
  font-size:17px;font-weight:1000;
  box-shadow:0 2px 6px rgba(0,40,80,.12);
}
.racerFeatureLane.l1{background:#fff;color:#111;border:1px solid #c9d1da}
.racerFeatureLane.l2{background:#111;color:#fff}
.racerFeatureLane.l3{background:#ef3038;color:#fff}
.racerFeatureLane.l4{background:#1761d8;color:#fff}
.racerFeatureLane.l5{background:#ffd928;color:#111}
.racerFeatureLane.l6{background:#159448;color:#fff}
.racerFeatureMain b{
  display:block;
  font-size:11px;
  color:#0c2941;
  margin-bottom:3px;
}
.racerFeatureMain p{
  margin:0;
  font-size:9px;
  line-height:1.55;
  color:#3f586d;
}
.racerFeatureStats{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:6px;
}
.racerFeatureStats span{
  display:inline-flex;
  padding:3px 6px;
  border-radius:999px;
  background:#fff;
  border:1px solid #dbe8f1;
  font-size:7px;
  color:#536b7f;
  font-weight:800;
}
.racerFeatureComment{
  margin-top:7px;
  padding-top:7px;
  border-top:1px dashed #cedde8;
  font-size:8px;
  color:#0a699f;
  line-height:1.45;
}
.racerFeatureComment.missing{
  color:#8b98a3;
}

/* ===== v0.7.2 racer promotional photos ===== */
.racerPhotoWrap{
  width:52px;
  min-width:52px;
  height:64px;
  border-radius:10px;
  overflow:hidden;
  position:relative;
  background:linear-gradient(180deg,#e7f3f9,#c9e1ed);
  border:1px solid rgba(0,79,127,.12);
  box-shadow:0 2px 7px rgba(0,50,85,.12);
}
.racerPhotoWrap img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center top;
  background:#e8f2f7;
}
.racerPhotoFallback{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:9px;
  font-weight:900;
  color:#618097;
  text-align:center;
  padding:4px;
}
.racerPhotoWrap.loaded .racerPhotoFallback{display:none}

/* Entry list */
.boatRow{
  grid-template-columns:46px 58px minmax(0,1.7fr) minmax(58px,.7fr) minmax(58px,.7fr) minmax(62px,.8fr)!important;
  align-items:center!important;
}
.boatRow .racerPhotoWrap{
  margin:4px 2px;
}
.racerNameCell{
  min-width:0;
}
.racerNameCell b{
  font-size:11px!important;
}

/* Preview racer photo row */
.previewRacerPhotos{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:5px;
  margin:0 0 10px;
}
.previewRacerPhotoCard{
  min-width:0;
  padding:5px 3px 6px;
  border-radius:10px;
  background:linear-gradient(160deg,#f9fdff,#eaf7fd);
  border:1px solid rgba(0,91,145,.10);
  text-align:center;
}
.previewRacerPhotoCard .racerPhotoWrap{
  width:100%;
  min-width:0;
  height:70px;
  margin:0 auto 5px;
  border-radius:8px;
}
.previewRacerPhotoCard b{
  display:block;
  font-size:8px;
  color:#17374e;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.previewRacerPhotoCard small{
  font-size:7px;
  color:#71879a;
}

/* Feature card image */
.racerFeatureCard{
  grid-template-columns:42px 52px 1fr!important;
}
.racerFeatureCard .racerPhotoWrap{
  width:48px;
  min-width:48px;
  height:60px;
}

@media(max-width:390px){
  .racerPhotoWrap{width:46px;min-width:46px;height:58px}
  .boatRow{
    grid-template-columns:42px 50px minmax(0,1.45fr) minmax(52px,.65fr) minmax(52px,.65fr) minmax(55px,.7fr)!important;
  }
  .previewRacerPhotoCard .racerPhotoWrap{height:62px}
  .racerFeatureCard{grid-template-columns:38px 46px 1fr!important}
  .racerFeatureCard .racerPhotoWrap{width:44px;min-width:44px;height:56px}
}

/* ===== v0.7.3 start prediction uses official racer photos ===== */
.startPredRow{
  grid-template-columns:42px 58px minmax(0,1fr) 48px 42px!important;
  align-items:center!important;
}
.startPredPhoto{
  width:50px;
  height:58px;
  border-radius:9px;
  overflow:hidden;
  background:linear-gradient(180deg,#e8f2f7,#c9dce7);
  border:1px solid rgba(0,79,127,.12);
  box-shadow:0 2px 6px rgba(0,50,85,.12);
}
.startPredPhoto img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center top;
}
.startPredPhotoFallback{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:8px;
  font-weight:900;
  color:#607b90;
  text-align:center;
  padding:3px;
}
.startPredPhoto.loaded .startPredPhotoFallback{display:none}
@media(max-width:390px){
  .startPredRow{grid-template-columns:38px 52px minmax(0,1fr) 44px 38px!important}
  .startPredPhoto{width:46px;height:54px}
}

/* ===== v0.7.4 detailed course-rate analysis ===== */
.courseDetailCard{overflow:hidden}
.courseDetailCard .cardTitle{display:flex;justify-content:space-between;align-items:end;gap:8px}
.courseDetailCard .cardTitle small{font-size:10px;color:#73869a;font-weight:700}
.courseDetailNote{font-size:11px;line-height:1.55;color:#66798b;margin:0 0 12px}
.courseRacerBlock{border:1px solid #d8e5ee;border-radius:14px;overflow:hidden;margin:10px 0;background:rgba(255,255,255,.82)}
.courseRacerHead{display:grid;grid-template-columns:42px 52px 1fr;align-items:center;gap:8px;padding:9px 10px;background:#edf7fb}
.courseRacerHead .laneBadge{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:900;border:1px solid rgba(0,0,0,.12)}
.courseRacerHead img{width:46px;height:52px;object-fit:cover;object-position:center top;border-radius:8px;background:#dfeaf0}
.courseRacerHead b{font-size:14px}.courseRacerHead span{display:block;font-size:10px;color:#6f8190;margin-top:2px}
.rateGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#c9ddea;border-top:1px solid #c9ddea}
.rateCell{background:#fff;padding:9px 10px;min-height:62px}
.rateCell label{display:block;font-size:10px;color:#708191;margin-bottom:3px}
.rateCell strong{font-size:18px;letter-spacing:-.4px}
.rateCell em{display:block;font-size:9px;color:#8999a7;font-style:normal;margin-top:2px}
.rateCell.hot strong{color:#0b8f55}.rateCell.warn strong{color:#e85b3c}
.rateSource{padding:8px 10px;font-size:9px;color:#8a9aa7;background:#f8fbfd;line-height:1.45}

/* v0.8.0 */
.courseInputStrip{display:flex;gap:6px;overflow-x:auto;padding:7px 9px;background:#f5f9fc;border-top:1px solid #dbe8ef;scrollbar-width:none}
.courseInputStrip::-webkit-scrollbar{display:none}
.courseInputStrip span{white-space:nowrap;font-size:9px;color:#6b7d8c;background:#fff;border:1px solid #dce8ef;border-radius:8px;padding:5px 7px}
.courseInputStrip b{font-size:10px;color:#10283c}

/* ===== v0.8.1 visible detailed course analysis ===== */
.courseDetailCard{
  border:2px solid rgba(0,116,210,.28)!important;
  box-shadow:0 8px 26px rgba(0,93,168,.12)!important;
}
.courseDetailNote{
  margin:0 0 12px;
  padding:9px 10px;
  border-radius:10px;
  background:#eef8ff;
  color:#49677d;
  font-size:10px;
  line-height:1.5;
}
.courseDetailCard .cardHead h3{
  color:#075fa8!important;
}
.courseRacerBlock{
  border:1px solid #d8e5ee;
  border-radius:14px;
  overflow:hidden;
  margin:10px 0;
  background:rgba(255,255,255,.86);
}
.courseRacerHead{
  display:grid;
  grid-template-columns:42px 52px 1fr;
  align-items:center;
  gap:8px;
  padding:9px 10px;
  background:#edf7fb;
}
.courseRacerHead .laneBadge{
  width:34px;height:34px;border-radius:50%;
  display:grid;place-items:center;font-weight:900;
  border:1px solid rgba(0,0,0,.12);
}
.courseRacerHead img{
  width:46px;height:52px;object-fit:cover;object-position:center top;
  border-radius:8px;background:#dfeaf0;
}
.courseRacerHead b{font-size:14px}
.courseRacerHead span{display:block;font-size:10px;color:#6f8190;margin-top:2px}
.courseInputStrip{
  display:flex;gap:6px;overflow-x:auto;
  padding:7px 9px;background:#f5f9fc;
  border-top:1px solid #dbe8ef;scrollbar-width:none
}
.courseInputStrip::-webkit-scrollbar{display:none}
.courseInputStrip span{
  white-space:nowrap;font-size:9px;color:#6b7d8c;
  background:#fff;border:1px solid #dce8ef;border-radius:8px;padding:5px 7px
}
.courseInputStrip b{font-size:10px;color:#10283c}
.rateGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;background:#c9ddea;border-top:1px solid #c9ddea
}
.rateCell{background:#fff;padding:9px 10px;min-height:62px}
.rateCell label{display:block;font-size:10px;color:#708191;margin-bottom:3px}
.rateCell strong{font-size:18px;letter-spacing:-.4px}
.rateCell em{display:block;font-size:9px;color:#8999a7;font-style:normal;margin-top:2px}
.rateCell.hot strong{color:#0b8f55}.rateCell.warn strong{color:#e85b3c}
.rateSource{
  padding:8px 10px;font-size:9px;color:#8a9aa7;
  background:#f8fbfd;line-height:1.45
}

/* ===== v0.8.3 racer furigana / age / weight ===== */
.racerNameKana{
  display:block;
  margin-top:1px;
  font-size:7px;
  color:#7b8d9b;
  font-weight:700;
  line-height:1.25;
}
.racerBioLine{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  margin-top:4px;
}
.racerBioLine span{
  display:inline-flex;
  padding:2px 5px;
  border-radius:999px;
  background:#f0f6fa;
  border:1px solid #d9e6ed;
  color:#5e7485;
  font-size:7px;
  font-weight:800;
}

/* ===== v0.8.4 kana / lane-color preview / merged feature memo ===== */
.racerNameKana{
  display:block!important;
  color:#71879a!important;
  font-size:8px!important;
  line-height:1.25!important;
  margin-top:2px!important;
  font-weight:800!important;
  letter-spacing:.1px;
}

/* 展示・スタートの選手バナーを号艇色に */
.previewRacerPhotoCard{
  border-width:2px!important;
  position:relative;
  overflow:hidden;
}
.previewRacerPhotoCard.lane1{background:linear-gradient(160deg,#ffffff,#eef3f6)!important;border-color:#c8d1d8!important;color:#111}
.previewRacerPhotoCard.lane2{background:linear-gradient(160deg,#2b2f35,#0c0d0f)!important;border-color:#111!important}
.previewRacerPhotoCard.lane3{background:linear-gradient(160deg,#ff5a5f,#e91f29)!important;border-color:#e11c25!important}
.previewRacerPhotoCard.lane4{background:linear-gradient(160deg,#3a7cf0,#1457d0)!important;border-color:#1457d0!important}
.previewRacerPhotoCard.lane5{background:linear-gradient(160deg,#ffe86c,#ffd51e)!important;border-color:#e6bd00!important}
.previewRacerPhotoCard.lane6{background:linear-gradient(160deg,#31b76c,#128b49)!important;border-color:#118847!important}
.previewRacerPhotoCard.lane2 b,
.previewRacerPhotoCard.lane3 b,
.previewRacerPhotoCard.lane4 b,
.previewRacerPhotoCard.lane6 b{color:#fff!important}
.previewRacerPhotoCard.lane2 small,
.previewRacerPhotoCard.lane3 small,
.previewRacerPhotoCard.lane4 small,
.previewRacerPhotoCard.lane6 small{color:rgba(255,255,255,.86)!important}
.previewRacerPhotoCard.lane1 b,.previewRacerPhotoCard.lane5 b{color:#111!important}
.previewRacerPhotoCard.lane1 small,.previewRacerPhotoCard.lane5 small{color:#4e5c67!important}
.previewRacerPhotoCard .racerPhotoWrap{border:2px solid rgba(255,255,255,.65)!important}
.previewRacerPhotoCard.lane1 .racerPhotoWrap,.previewRacerPhotoCard.lane5 .racerPhotoWrap{border-color:rgba(0,0,0,.10)!important}

/* コース別詳細解析に特徴メモを統合 */
.courseFeatureMemo{
  padding:10px 11px;
  background:linear-gradient(180deg,#f4faff,#edf7fc);
  border-top:1px solid #d7e6ef;
}
.courseFeatureMemo b{
  display:block;
  font-size:10px;
  color:#0b5f9f;
  margin-bottom:4px;
}
.courseFeatureMemo p{
  margin:0;
  font-size:9px;
  line-height:1.55;
  color:#405b70;
}
.courseFeatureComment{
  margin-top:7px;
  padding:7px 8px;
  border-radius:8px;
  background:#fff;
  border:1px solid #dce8ef;
  font-size:8px;
  line-height:1.45;
  color:#0b679d;
}
.courseFeatureComment.missing{color:#8b98a3}

/* ===== v0.8.5 furigana above racer name ===== */
.racerNameStack{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  line-height:1.15;
}
.racerNameStack .racerNameKana{
  order:0;
  display:block!important;
  margin:0 0 2px 0!important;
  font-size:7px!important;
  line-height:1.15!important;
  color:#75889a!important;
  font-weight:800!important;
  letter-spacing:.08em;
}
.racerNameStack b{
  order:1;
}
.previewRacerPhotoCard .racerNameStack{
  align-items:center;
  width:100%;
}
.previewRacerPhotoCard.lane2 .racerNameKana,
.previewRacerPhotoCard.lane3 .racerNameKana,
.previewRacerPhotoCard.lane4 .racerNameKana,
.previewRacerPhotoCard.lane6 .racerNameKana{
  color:rgba(255,255,255,.88)!important;
}
.courseRacerHead .racerNameStack{
  margin-bottom:2px;
}

/* ===== v0.8.7 LIVE screen larger ===== */
#tab-live .liveRaceCard{
  margin-left:0!important;
  margin-right:0!important;
  padding:10px!important;
  border-radius:16px!important;
}
#tab-live .liveVideoWrap{
  width:100%!important;
  height:min(72vh,760px)!important;
  min-height:560px!important;
  aspect-ratio:auto!important;
  border-radius:14px!important;
  overflow:hidden!important;
  background:#0b1320!important;
}
#tab-live .liveVideoWrap iframe{
  width:100%!important;
  height:100%!important;
  min-height:560px!important;
  border:0!important;
  display:block!important;
}
#tab-live .liveActions{
  position:sticky;
  bottom:calc(80px + env(safe-area-inset-bottom));
  z-index:4;
  padding-top:8px;
  background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.94) 28%);
}
#tab-live .liveActions button{
  min-height:48px!important;
  font-size:11px!important;
}
#tab-live .fine{
  margin-bottom:4px!important;
}
@media(max-width:430px){
  #tab-live{padding-left:8px!important;padding-right:8px!important}
  #tab-live .liveVideoWrap{
    height:68vh!important;
    min-height:530px!important;
  }
  #tab-live .liveVideoWrap iframe{min-height:530px!important}
}

.liveHint{display:block;font-size:8px;color:#71879a;margin-top:2px}

/* ===== v0.8.8 racer mark / motor evaluation / previous-day comment ===== */
.previewEvalGrid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:5px;
  margin:10px 0 12px;
}
.previewEvalCard{
  min-width:0;
  padding:8px 4px;
  border-radius:10px;
  background:#f7fbfe;
  border:1px solid #dce8ef;
  text-align:center;
}
.previewEvalCard .evalMark{
  display:block;
  font-size:21px;
  line-height:1;
  font-weight:1000;
  margin-bottom:5px;
}
.previewEvalCard .evalMotor{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2px;
  margin-top:5px;
}
.previewEvalCard .evalMotor span{
  display:block;
  border-radius:5px;
  padding:3px 1px;
  font-size:8px;
  font-weight:900;
  background:#fff;
  border:1px solid #dfe8ee;
}
.previewEvalCard .evalMotorLabel{
  font-size:7px;
  color:#71879a;
  line-height:1.2;
}
.mark-honmei{color:#0b79d0}
.mark-taikou{color:#111}
.mark-tan{color:#ef3038}
.mark-renka{color:#7259c8}
.mark-kiri{color:#7a8a96}

.motor-3{color:#0b8f55}.motor-2{color:#0a67ba}.motor-1{color:#e28b17}.motor-0{color:#a1acb5}

.previousCommentBox{
  margin-top:5px;
  padding:6px 8px;
  border-radius:8px;
  background:#fff8ed;
  border-left:3px solid #f19b2d;
  color:#684b25;
  font-size:8px;
  line-height:1.45;
}
.previousCommentBox.loading{color:#8896a0;background:#f5f8fa;border-left-color:#cdd9e0}
.previousCommentBox.missing{color:#8a97a1;background:#f5f8fa;border-left-color:#d2dce2}

/* ===== v0.8.9 official previous-day comments ===== */
.previousCommentBox{
  margin-top:6px!important;
  padding:7px 8px!important;
  border-radius:9px!important;
  background:#fff8ee!important;
  border-left:3px solid #f0a13c!important;
  color:#5e472d!important;
  font-size:8px!important;
  line-height:1.5!important;
}
.previousCommentBox strong{
  display:block;
  margin-bottom:2px;
  font-size:8px;
  color:#ad6b16;
}
.previousCommentBox.loading{
  background:#f5f8fa!important;
  border-left-color:#cdd9e0!important;
  color:#8997a2!important;
}
.previousCommentBox.missing{
  background:#f5f8fa!important;
  border-left-color:#d4dde3!important;
  color:#8a98a2!important;
}

/* ===== v0.8.12 preview ranking / racer meta ===== */
.previewGrid .laneHeadColor{font-weight:1000!important}
.previewGrid .laneHeadColor.l1{background:#fff!important;color:#111!important}
.previewGrid .laneHeadColor.l2{background:#111!important;color:#fff!important}
.previewGrid .laneHeadColor.l3{background:#ef2b2d!important;color:#fff!important}
.previewGrid .laneHeadColor.l4{background:#1459d9!important;color:#fff!important}
.previewGrid .laneHeadColor.l5{background:#ffd92f!important;color:#111!important}
.previewGrid .laneHeadColor.l6{background:#159447!important;color:#fff!important}
.previewGrid .rankFastest{background:#ef3038!important;color:#fff!important;font-weight:1000!important;box-shadow:inset 0 0 0 2px #c71119}
.previewGrid .rankSecond{background:#ffe34f!important;color:#151515!important;font-weight:1000!important;box-shadow:inset 0 0 0 2px #e2bd00}
.courseNameMeta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.racerMetaChips{display:flex;gap:4px;flex-wrap:wrap}
.racerMetaChips span{display:inline-flex!important;width:auto!important;background:#fff;border:1px solid #d5e2ed;border-radius:999px;padding:3px 7px;font-size:8px!important;font-weight:800;color:#506174}

/* ===== v0.8.14: 展示・スタート表を横スクロールなしで6艇一面表示 ===== */
.previewGrid{
  width:100%;
  max-width:100%;
  grid-template-columns:54px repeat(6,minmax(0,1fr))!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
  box-sizing:border-box;
}
.previewGrid div{
  min-width:0!important;
  width:auto!important;
  padding:8px 2px!important;
  font-size:9px!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:clip;
  box-sizing:border-box;
}
.previewGrid .head{font-size:9px!important}
.previewGrid .head:first-child{font-size:8px!important}
@media (max-width:390px){
  .previewGrid{grid-template-columns:48px repeat(6,minmax(0,1fr))!important}
  .previewGrid div{padding:7px 1px!important;font-size:8.5px!important}
  .previewGrid .head{font-size:8.5px!important}
}
@media (max-width:350px){
  .previewGrid{grid-template-columns:44px repeat(6,minmax(0,1fr))!important}
  .previewGrid div{font-size:8px!important}
}

/* ===== v0.8.16 contextual water-condition tiles ===== */
.conditionGrid .conditionTile{position:relative;overflow:hidden;isolation:isolate;padding:10px!important}
.conditionGrid .conditionTile>*{position:relative;z-index:2}
.conditionGrid .conditionTile em{display:block;font-size:7px;font-style:normal;color:#557188;margin-top:4px;line-height:1.25}
.conditionGrid .wx-sun{background:linear-gradient(145deg,#fff8cc,#dff5ff)!important}
.conditionGrid .wx-sun:after{content:"☀";position:absolute;right:7px;top:0;font-size:40px;color:rgba(255,190,0,.22)}
.conditionGrid .wx-cloud{background:linear-gradient(145deg,#edf3f8,#dce7ef)!important}
.conditionGrid .wx-cloud:after{content:"☁";position:absolute;right:5px;top:5px;font-size:36px;color:rgba(80,105,125,.18)}
.conditionGrid .wx-rain{background:linear-gradient(160deg,#dceafa,#b9d5ed)!important}
.conditionGrid .wx-rain:before{content:"";position:absolute;inset:-20px;background:repeating-linear-gradient(110deg,transparent 0 12px,rgba(34,113,177,.18) 13px 15px,transparent 16px 25px);animation:brvRain .8s linear infinite}
@keyframes brvRain{to{transform:translate(-18px,24px)}}
.conditionGrid .wx-snow{background:linear-gradient(160deg,#f8fcff,#dcecff)!important}
.conditionGrid .wx-snow:after{content:"❄  ❄  ❄";position:absolute;inset:5px;color:rgba(60,130,190,.20);font-size:17px;letter-spacing:5px;animation:brvSnow 2.4s ease-in-out infinite alternate}
@keyframes brvSnow{to{transform:translateY(15px)}}
.conditionGrid .wind-strong{background:linear-gradient(145deg,#e7f7ff,#b8dff3)!important}
.conditionGrid .wind-strong:after{content:"≋≋≋";position:absolute;right:5px;top:5px;font-size:28px;color:rgba(0,112,177,.20);animation:brvWind .7s ease-in-out infinite alternate}
@keyframes brvWind{to{transform:translateX(-10px)}}
.conditionGrid .winddir-head{background:linear-gradient(145deg,#e9f3ff,#cde2ff)!important}
.conditionGrid .winddir-tail{background:linear-gradient(145deg,#fff4dc,#ffe2ae)!important}
.conditionGrid .winddir-cross{background:linear-gradient(145deg,#ecf8f5,#ccebe4)!important}
.conditionGrid .wave-high{background:linear-gradient(160deg,#dff6ff,#b9e6f5)!important}
.conditionGrid .wave-high:after{content:"≈≈≈";position:absolute;right:5px;bottom:1px;font-size:28px;color:rgba(0,126,175,.18)}
.conditionGrid .temp-air{background:linear-gradient(145deg,#fff8ef,#ffe9d2)!important}
.conditionGrid .temp-water{background:linear-gradient(145deg,#eefaff,#d7f1fb)!important}
.conditionGrid .conditionForecast{grid-column:1/-1;min-height:auto!important;background:linear-gradient(135deg,#eef7ff,#f7fbff)!important;border:1px solid #cfe4f5!important;padding:10px 12px!important}
.conditionGrid .conditionForecast b{font-size:9px!important;line-height:1.55!important;font-weight:700!important}
/* v0.8.17 V Pick */
.vPickCurrent{display:grid;gap:10px;margin-top:12px}.vPickBadge{border-radius:18px;padding:16px;border:1px solid #d9e6f2;background:#f7fbff}.vPickBadge.hot{background:#fff4f1;border-color:#ffb3a7}.vPickBadge.warn{background:#fff9e8;border-color:#f1cf65}.vPickBadge.alert{background:#fff0f1;border-color:#ff8e9b}.vPickBadge b{display:block;font-size:20px;margin-bottom:6px}.vPickBadge p{margin:0;line-height:1.65;font-size:13px}.vPickDailyList{display:grid;gap:10px}.vPickRow{width:100%;text-align:left;border:1px solid #dce8f2;background:#f8fbfe;border-radius:15px;padding:12px;display:grid;grid-template-columns:58px 1fr;gap:10px}.vPickRow .rn{font-weight:900;font-size:18px}.vPickTags{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.vPickTag{font-size:11px;font-weight:800;border-radius:999px;padding:4px 7px;background:white;border:1px solid #d7e3ee}
/* v0.8.19: venue racer / motor panel */
.venueRacerMotorList{display:grid;grid-template-columns:1fr;gap:12px;margin-top:14px}
.venueRacerMotorItem{display:grid;grid-template-columns:76px 1fr;gap:12px;align-items:center;padding:12px;border:1px solid #d8e5ef;border-radius:16px;background:rgba(247,252,255,.92)}
.venueRacerMotorItem img,.venueRacerMotorPhotoFallback{width:76px;height:92px;border-radius:12px;object-fit:cover;background:#e8f3fa}
.venueRacerMotorInfo{min-width:0;display:flex;flex-direction:column;gap:4px}.venueRacerMotorInfo>small{color:#778899;font-size:11px}.venueRacerMotorInfo>b{font-size:17px}.venueMotorRate{font-size:12px;color:#64748b}.venueMotorRate strong{font-size:15px;color:#172033}
.vpickHomeCard .vPickTags{display:flex;flex-wrap:wrap;gap:4px;margin:7px 0}.vpickHomeCard .vPickTag{font-style:normal;font-size:10px;padding:4px 6px;border-radius:999px;background:#eef6ff;color:#075fae;font-weight:800}

/* v0.8.20: racer metric sorting */
.racerSortBar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 4px}.racerSortBar button{appearance:none;border:1px solid #cfe0ec;background:#fff;color:#536779;border-radius:12px;padding:10px 6px;font-weight:800;font-size:12px}.racerSortBar button.active{background:#087ee8;color:#fff;border-color:#087ee8;box-shadow:0 4px 12px rgba(8,126,232,.2)}
.venueRacerMotorItem{position:relative}.sortRank{position:absolute;right:10px;top:10px;display:grid;place-items:center;min-width:26px;height:26px;padding:0 6px;border-radius:999px;background:#eaf5ff;color:#087ee8;font-size:12px;font-weight:900}.racerMetricGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:5px 0}.racerMetricGrid span{display:flex;justify-content:space-between;gap:5px;padding:6px 7px;border-radius:9px;background:#fff;border:1px solid #dbe8f1;color:#718096;font-size:10px}.racerMetricGrid strong{color:#172033;font-size:12px;white-space:nowrap}

/* v0.8.28 ticket odds */
.betTicket{display:flex!important;flex-direction:column!important;align-items:center!important;gap:2px!important;min-width:64px!important}
.betTicket>b{font-size:12px}
.betTicket .ticketOdds{font-size:8px;font-weight:700;opacity:.86;white-space:nowrap}

/* v0.8.29 score visualization */
.deltaBar{position:relative!important;overflow:hidden!important}
.deltaBar .deltaBase{position:absolute;left:0;top:0;height:100%;background:linear-gradient(90deg,#6e95c9,#0d71df)!important;border-radius:99px}
.deltaBar .deltaChange{position:absolute;top:0;height:100%;border-radius:99px;z-index:2}
.deltaBar .deltaChange.deltaGain{background:linear-gradient(90deg,#22a85a,#42cf7c)!important;box-shadow:0 0 5px rgba(34,168,90,.35)}
.deltaBar .deltaChange.deltaLoss{background:linear-gradient(90deg,#ef5350,#d92727)!important;box-shadow:0 0 5px rgba(217,39,39,.28)}
.aiRow .aiBar i.goldScore{background:linear-gradient(90deg,#c99700,#ffd84d,#fff2a3,#e3ae00)!important;box-shadow:0 0 7px rgba(255,196,0,.85),0 0 13px rgba(255,215,64,.45)!important}
.aiRow.topScoreRow b{color:#a97800;font-weight:900}

/* v0.8.30: five tickets stay on one row + boat illustrations for start prediction */
.betTickets{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:5px!important;flex-wrap:nowrap!important;width:100%!important}
.betTicket{min-width:0!important;width:100%!important;padding:8px 2px!important;box-sizing:border-box!important}
.betTicket>b{font-size:clamp(10px,2.9vw,12px)!important;white-space:nowrap!important}
.betTicket .ticketOdds{font-size:clamp(7px,2.15vw,8px)!important}
.startBoatDot{display:none!important}
.startBoatSprite{position:absolute;top:50%;width:34px;height:27px;object-fit:contain;transform:translate(-50%,-50%);filter:drop-shadow(0 1px 2px rgba(0,0,0,.28));z-index:2}
@media(max-width:390px){.betTickets{gap:3px!important}.betTicket{padding-left:1px!important;padding-right:1px!important}.startBoatSprite{width:31px;height:25px}}
/* v0.8.32: transparent, right-facing start forecast boats */
.startBoatSprite{width:42px!important;height:30px!important;object-fit:contain!important;background:transparent!important}
@media(max-width:390px){.startBoatSprite{width:39px!important;height:28px!important}}


/* v0.8.34: contiguous delta segments + compact reason close button */
.deltaBar .deltaBase{border-radius:99px!important}
.deltaBar .deltaChange{border-radius:0 99px 99px 0!important;box-shadow:none!important}
.betReasons.collapsed .betReason{display:none!important}
.betReasonClose{display:block;margin:9px auto 0;padding:5px 12px;border:1px solid #d5e2ec;border-radius:999px;background:#f7fafc;color:#64748b;font-size:10px;font-weight:800;line-height:1.2}
.betReasons.collapsed .betReasonClose{display:none}


/* v0.8.35: seamless delta bar + tiny upward bow heading */
.deltaBar .deltaBase.deltaBaseJoined{border-radius:99px 0 0 99px!important}
.deltaBar .deltaChange{border-radius:0 99px 99px 0!important}
.startBoatSprite{transform:translate(-50%,-50%) rotate(-3.5deg)!important;transform-origin:50% 50%!important}


/* ===== v0.8.38 detail deadline + start-line correction ===== */
.detailTitleLine{display:flex;align-items:center;gap:9px;min-width:0}
.detailCloseTime{display:inline-flex;align-items:center;justify-content:center;padding:4px 7px;border-radius:8px;background:#eef7ff;border:1px solid #cce7fb;color:#1769aa;font-size:10px;font-weight:950;white-space:nowrap}
.detailCloseTime.closingSoon{background:#fff0f0;border-color:#ff8e8e;color:#e01919;animation:detailClosingPulse 1s ease-in-out infinite}
.detailCloseTime.closed{background:#f1f3f5;border-color:#d9dee4;color:#7c8793;animation:none}
@keyframes detailClosingPulse{0%,100%{opacity:1;box-shadow:0 0 0 rgba(224,25,25,0)}50%{opacity:.42;box-shadow:0 0 9px rgba(224,25,25,.28)}}
@media(max-width:390px){.detailTitleLine{gap:5px}.detailCloseTime{font-size:8.5px;padding:3px 5px}.detailHead .pageTitle b{font-size:17px!important}}


/* ===== v0.8.41 entry forecast / exhibition entry comparison ===== */
.entryCompare{display:flex;flex-direction:column;gap:10px;align-items:stretch}
.entryCompareCol{min-width:0;background:#f7f9fc;border:1px solid #e7edf4;border-radius:14px;padding:9px 7px 8px;text-align:center}
.entryCompareTitle{font-size:13px;font-weight:900;color:#18324b;margin-bottom:7px}
.entryPatternText{display:block;font-size:17px;margin-top:5px;letter-spacing:.5px;color:#172033}
.entryDiagram{position:relative;height:150px;border-radius:12px;overflow:hidden;background:linear-gradient(180deg,#d9f5fb,#a7e3f1 70%,#91d9e9)}
.entryGroupStack{position:absolute;inset:12px 10px 5px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding-left:8%}
.entryBoatGroup{height:42px;display:flex;align-items:flex-start;justify-content:flex-start;gap:1px;margin-left:calc(var(--group-index,0) * 42%)}
.entryVerticalBoat{width:31px;position:relative;display:inline-flex;flex-direction:column;align-items:center}
.entryVerticalBoat img{width:42px;height:22px;object-fit:contain;transform:rotate(-84deg);transform-origin:center;filter:drop-shadow(0 2px 2px #00304b33)}
.entryVerticalBoat i{font-style:normal;font-size:9px;font-weight:900;line-height:11px;margin-top:1px}
.entryWaiting{height:150px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#f0f4f8;color:#8794a2;font-size:12px;font-weight:800}
.entryCompareDesc{margin-top:8px;text-align:left;padding:0 3px}
@media(max-width:390px){.entryCompare{gap:8px}.entryCompareCol{padding-left:4px;padding-right:4px}.entryVerticalBoat{width:27px}.entryVerticalBoat img{width:38px}.entryBoatGroup{margin-left:calc(var(--group-index,0) * 40%)}}

/* v0.8.41: hide legacy course-entry illustration above the new entry diagram */
#entryPrediction > .courseDiagram, #entryPrediction > .entryCourseVisual, #entryPrediction > .courseVisual{display:none!important}


/* ===== v0.8.42 entry diagram refinement ===== */
/* Center the complete formation, while each later slash-group is pushed right and backward. */
.entryGroupStack{
  inset:14px 8px 6px;
  display:block;
  padding-left:0;
}
.entryBoatGroup{
  position:absolute;
  height:42px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  gap:2px;
  margin-left:0!important;
  left:calc(50% - 76px + var(--group-index,0) * 72px);
  top:calc(var(--group-index,0) * 52px);
  transform:translateX(-50%);
}
/* Boat bow: almost straight up, only slightly to the right. */
.entryVerticalBoat img{transform:rotate(-82deg)!important;}
/* Ensure the old horizontal six-boat decoration can never reappear. */
#entryPrediction .entryBoats{display:none!important;}
@media(max-width:390px){
 .entryBoatGroup{left:calc(50% - 68px + var(--group-index,0) * 64px);top:calc(var(--group-index,0) * 50px);}
}

/* ===== v0.8.43 entry formation position/angle tweak ===== */
.entryGroupStack{transform:translate(24px,18px)!important;transform-origin:center!important;}
/* bow slightly more left than v0.8.42 (closer to straight-up) */
.entryVerticalBoat img{transform:rotate(-86deg)!important;}


/* ===== v0.8.44 entry formation + cache-visible refinement ===== */
/* Bow is almost exactly upward, with only a trace toward the right. */
.entryVerticalBoat img{transform:rotate(-89deg)!important;}
/* Move the complete six-boat formation farther right and down. */
.entryGroupStack{transform:translate(42px,30px)!important;transform-origin:center!important;}

/* ===== v0.8.45 entry boat angle refinement ===== */
/* Rotate the bow a little farther left from v0.8.44. */
.entryVerticalBoat img{transform:rotate(-92deg)!important;}


/* ===== v0.8.46 entry stability + angle ===== */
/* Keep the classic 123 / 456 two-row geometry; changed entry only swaps boat colors/numbers. */
.entryBoatGroup{left:calc(50% - 76px + var(--group-index,0) * 72px)!important;top:calc(var(--group-index,0) * 52px)!important;}
/* Bow a little farther left than v0.8.45. */
.entryVerticalBoat img{transform:rotate(-96deg)!important;}
.partsCell{font-size:9px!important;line-height:1.2;word-break:break-all;padding:5px 2px!important;}

/* ===== v0.8.49 entry boat micro-angle ===== */
/* User requested only a tiny bow turn to the right from v0.8.48. */
.entryVerticalBoat img{transform:rotate(-94deg)!important;}


/* ===== v0.8.53 detail banner ===== */
.raceVisualHero.raceVisualHeroImage{
  height:auto!important;
  aspect-ratio:1840/832;
  max-height:none!important;
  background:url("assets/boat-race-v-banner.png") center center/cover no-repeat!important;
  border-bottom:1px solid rgba(255,255,255,.55);
}
.raceVisualHero.raceVisualHeroImage:before{display:none!important;}


/* ===== v0.8.54 banner sizing + home banner ===== */
.raceVisualHero.raceVisualHeroImage{
  width:100%!important;
  aspect-ratio:1840/832!important;
  background-size:100% 100%!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
.hero.heroBannerImage{
  position:relative!important;
  margin:0 12px 12px!important;
  padding:0!important;
  width:calc(100% - 24px)!important;
  height:auto!important;
  aspect-ratio:1840/832!important;
  border-radius:19px!important;
  background:url("assets/boat-race-v-banner.png") center center/100% 100% no-repeat!important;
  overflow:hidden!important;
  box-shadow:0 10px 24px #0e4ab52c!important;
}
.hero.heroBannerImage:after{display:none!important;}
.hero.heroBannerImage .bannerVersion{
  position:absolute!important;right:10px!important;top:10px!important;z-index:2!important;
  padding:6px 8px!important;border-radius:10px!important;
  background:rgba(4,25,68,.46)!important;border:1px solid rgba(255,255,255,.28)!important;
  color:#fff!important;line-height:1.05!important;
}
.hero.heroBannerImage .bannerVersion small{font-size:7px!important;}
.hero.heroBannerImage .bannerVersion b{font-size:12px!important;}

/* v0.8.56 Vピック履歴・カード全体タップ */
.vpickHomeCard{position:relative;width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit}
.vPickHitMark{position:absolute;right:10px;top:8px;font-size:22px;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.14))}
.vPickTag.success{background:#ecfff4!important;color:#08783f!important;border-color:#9ee2bc!important}
.vPickTag.miss{background:#fff0f3!important;color:#c02d4b!important;border-color:#ffb1c0!important}
.vPickTag.warn{background:#fff9e8!important;color:#9a6900!important;border-color:#f1cf65!important}
.vPickBadge.success{background:#ecfff4;border-color:#9ee2bc}.vPickBadge.miss{background:#fff0f3;border-color:#ffb1c0}

/* ===== v0.8.57 Vピック 激アツカード ===== */
.vpickHomeCard{
  border:2px solid #ffb300!important;
  background:linear-gradient(145deg,#fff4a8 0%,#ffcf43 28%,#ff7a00 63%,#e82b16 100%)!important;
  box-shadow:0 0 0 3px rgba(255,216,64,.30),0 9px 22px rgba(213,54,0,.28),inset 0 0 18px rgba(255,255,255,.62)!important;
}
.vpickHomeCard:before{
  background:
    radial-gradient(circle at 84% 17%,rgba(255,255,255,.98) 0 3%,rgba(255,236,93,.95) 4% 8%,transparent 9%),
    repeating-linear-gradient(125deg,rgba(255,255,255,.12) 0 7px,rgba(255,205,0,.08) 7px 14px),
    linear-gradient(145deg,#fff0a0 0%,#ffc928 30%,#ff6a00 65%,#d91d12 100%)!important;
  opacity:1!important;
}
.vpickHomeCard:after{
  background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,248,220,.76) 55%,rgba(255,255,255,.92))!important;
}
.vpickHomeCard .pickVenue,.vpickHomeCard .pickRaceLine{position:relative;z-index:3}
.vpickHomeCard .pickVenue{color:#591600!important;text-shadow:0 1px 0 #fff;font-weight:1000!important}
.vpickHomeCard .vPickTags,.vpickHomeCard .pickMeta,.vpickHomeCard .pickWeather,.vpickHomeCard .vPickHitMark{z-index:5}
.vpickHomeCard .vPickTag.hot{
  background:linear-gradient(180deg,#fff8c8,#ffd640)!important;
  color:#a52700!important;border:1px solid #ff8a00!important;
  box-shadow:0 2px 7px rgba(190,54,0,.18);
}
.vpickHomeCard .vPickTag.success{box-shadow:0 2px 7px rgba(0,110,50,.15)}
.vpickHomeCard .vPickTag.miss{box-shadow:0 2px 7px rgba(180,30,55,.15)}
.vpickHomeCard .pickMeta{color:#6f3b23!important;font-weight:800}
.vpickHomeCard .vPickHeatLabel{
  position:absolute;right:7px;bottom:7px;z-index:4;
  font-size:8px;font-weight:1000;letter-spacing:.02em;
  color:#fff;background:linear-gradient(90deg,#e5290f,#ff7800);
  border:1px solid rgba(255,255,255,.8);border-radius:999px;
  padding:3px 6px;box-shadow:0 2px 7px rgba(135,27,0,.22);
}

/* ===== v0.8.58 本日のピックアップ / イン逃げ・イン飛び ===== */
.pickupMainHead{margin-bottom:8px!important}.pickupCategory{margin:0 0 18px}.pickupCategoryHead{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin:7px 3px 9px}.pickupCategoryHead h3{margin:0;font-size:17px;font-weight:1000;letter-spacing:-.03em;color:#102d45}.pickupCategoryHead small{font-size:8px;color:#71879a;text-align:right}.pickupMoreBtn{display:block;width:calc(100% - 8px);margin:10px 4px 0;border:0;border-radius:14px;padding:12px 8px;background:linear-gradient(135deg,#ff7b13,#ff3d16);box-shadow:0 5px 14px rgba(255,74,18,.22);color:#fff;font-size:12px;font-weight:1000}.pickupMoreBtn:active{transform:scale(.985)}.flyMoreBtn{background:linear-gradient(135deg,#36134f,#9c174a 58%,#e03425);box-shadow:0 5px 14px rgba(90,12,65,.24)}
.flyPickCard{background:radial-gradient(circle at 82% 17%,rgba(255,255,255,.26) 0 5%,transparent 6%),linear-gradient(145deg,#2a123b 0%,#5d174b 45%,#a62236 78%,#ef5a1d 100%)!important;border-color:#7d1747!important;box-shadow:inset 0 0 0 2px rgba(255,198,91,.55),0 7px 18px rgba(77,12,56,.28)!important;color:#fff!important}.flyPickCard:before{background:linear-gradient(115deg,transparent 10%,rgba(255,255,255,.12) 35%,transparent 55%)!important}.flyPickCard .pickVenue,.flyPickCard .pickRaceLine,.flyPickCard .pickMeta{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.45)!important}.flyPickCard .pickWeather{background:rgba(255,255,255,.94)!important}.flyPickCard .vPickTag.fly{background:#19101f!important;color:#ffd35a!important;border-color:#ffb22e!important;box-shadow:0 0 8px rgba(255,178,46,.35)}.flyPickCard .vPickTag.odds{background:#fff0b8!important;color:#7b2500!important;border-color:#ffb12c!important}.flyPickCard .vPickHeatLabel{background:linear-gradient(135deg,#201026,#ff3d22)!important;color:#ffe66c!important;border-color:#ffcb48!important}.flyPickCard .vPickHitMark{filter:drop-shadow(0 0 5px #fff)}
@media(max-width:430px){.pickupCategoryHead h3{font-size:15px}.pickupCategoryHead small{display:none}.pickupMoreBtn{font-size:11px;padding:11px 6px}}

/* ===== v0.8.59 pickup banners ===== */
.pickupHeroBanner{position:relative;overflow:hidden;display:flex;align-items:center;gap:10px;margin:14px 0 12px;padding:13px 16px;border-radius:16px;color:#fff;background:linear-gradient(120deg,#063d78,#087cc4 52%,#032d64);box-shadow:0 7px 18px rgba(0,78,145,.22);border:1px solid rgba(255,255,255,.65)}
.pickupHeroBanner:after{content:"";position:absolute;right:-25px;top:-35px;width:130px;height:130px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.45),rgba(255,255,255,0) 65%)}
.pickupHeroBanner h2{position:relative;margin:0;font-size:20px;font-weight:1000;letter-spacing:-.04em}.pickupHeroBanner small{position:relative;font-size:9px;font-weight:800;opacity:.86;letter-spacing:.08em}.pickupHeroIcon{font-size:28px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.2))}
.pickupCategoryHead{overflow:hidden;border-radius:14px;padding:10px 13px!important;align-items:center!important}.pickupCategoryHead h3{color:#fff!important;font-size:18px!important;text-shadow:0 2px 3px rgba(0,0,0,.28)}.pickupCategoryHead small{display:block!important;color:rgba(255,255,255,.9)!important;text-align:left!important}.pickupCategoryHead>b{font-size:8px;letter-spacing:.1em;color:rgba(255,255,255,.8);white-space:nowrap}
.escapeCategoryBanner{background:linear-gradient(120deg,#d72d0b,#ff7415 55%,#ffb51b);border:1px solid #ffd46a;box-shadow:0 5px 14px rgba(230,72,8,.22)}
.flyCategoryBanner{background:linear-gradient(120deg,#160d2e,#4b176d 48%,#a11452);border:1px solid #d76cff;box-shadow:0 5px 14px rgba(71,15,94,.25)}
.flyPickCard .vPickTag.success{background:#eafff2!important;color:#078246!important;border-color:#38c77c!important}.flyPickCard .vPickTag.miss{background:#fff0f2!important;color:#cf2840!important;border-color:#ff7183!important}
@media(max-width:430px){.pickupHeroBanner h2{font-size:18px}.pickupHeroBanner{padding:11px 13px}.pickupCategoryHead h3{font-size:16px!important}.pickupCategoryHead>b{display:none}}

/* ===== v0.8.60 pickup refinement ===== */
.pickupRateBadge{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:7px 9px;border-radius:11px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.55);color:#fff;font-size:10px;font-weight:1000;line-height:1.15;text-align:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.18);white-space:nowrap}
.escapePickCard{background:radial-gradient(circle at 82% 17%,rgba(255,211,91,.30) 0 5%,transparent 6%),linear-gradient(145deg,#4d0000 0%,#7b0707 40%,#a90e0e 72%,#5d0000 100%)!important;border-color:#ff3a22!important;box-shadow:inset 0 0 0 2px rgba(255,190,58,.72),0 7px 18px rgba(116,0,0,.34)!important;color:#fff!important}
.escapePickCard:before{background:linear-gradient(115deg,transparent 10%,rgba(255,255,255,.10) 35%,transparent 55%)!important}.escapePickCard .pickVenue,.escapePickCard .pickRaceLine,.escapePickCard .pickMeta{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.5)!important}.escapePickCard .pickWeather{background:rgba(255,255,255,.95)!important}.escapePickCard .vPickTag.hot{background:linear-gradient(135deg,#ffd65a,#ff9c16)!important;color:#7d0800!important;border-color:#fff0a6!important}
@media(max-width:430px){.pickupCategoryHead{gap:5px!important}.pickupCategoryHead h3{font-size:14px!important}.pickupRateBadge{font-size:8.5px;padding:6px 7px}.pickupCategoryHead small{font-size:7px!important}}


/* ===== v0.8.61 today's venues banner ===== */
.venueHeroBanner{position:relative;overflow:hidden;display:flex;align-items:center;gap:10px;margin:22px 0 10px;padding:13px 15px;border-radius:16px;color:#fff;background:linear-gradient(115deg,#043b6f 0%,#087fbd 48%,#09a9d1 100%);border:1px solid rgba(255,255,255,.7);box-shadow:0 7px 18px rgba(0,94,150,.2)}
.venueHeroBanner:before{content:"";position:absolute;inset:0;background:linear-gradient(155deg,transparent 0 45%,rgba(255,255,255,.13) 46% 51%,transparent 52% 100%);pointer-events:none}
.venueHeroBanner:after{content:"";position:absolute;right:-28px;top:-50px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.35),rgba(255,255,255,0) 68%);pointer-events:none}
.venueHeroIcon{position:relative;font-size:27px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.2))}.venueHeroText{position:relative;min-width:0}.venueHeroText h2{margin:0;font-size:20px;font-weight:1000;letter-spacing:-.04em}.venueHeroText small{display:block;margin-top:2px;font-size:9px;font-weight:800;opacity:.88}.venueHeroDate{position:relative;margin-left:auto;align-self:flex-end;padding-bottom:1px;color:rgba(255,255,255,.9);font-size:9px;font-weight:800;white-space:nowrap}
@media(max-width:430px){.venueHeroBanner{padding:11px 12px;margin-top:19px}.venueHeroText h2{font-size:18px}.venueHeroIcon{font-size:24px}.venueHeroText small{font-size:8px}.venueHeroDate{font-size:8px}}

/* v0.8.63: top-rated racer portrait in prediction hero */
.aiHero{position:relative!important;overflow:hidden!important;padding-right:112px!important;min-height:118px!important}
.aiHero>div:first-child{position:relative;z-index:2!important}
.aiHero .confidence{position:absolute!important;right:92px!important;top:18px!important;z-index:3!important}
.aiHeroRacerPhoto{position:absolute;right:0;bottom:0;width:96px;height:116px;z-index:1;overflow:hidden;display:flex;align-items:flex-end;justify-content:center}
.aiHeroRacerPhoto:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.10));z-index:2;pointer-events:none}
.aiHeroRacerPhoto img{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 4px 7px rgba(0,0,0,.20))}
@media(max-width:390px){.aiHero{padding-right:100px!important}.aiHero .confidence{right:82px!important}.aiHeroRacerPhoto{width:88px}}


/* v0.8.65 race-list pickup badges + AI hero collision fix */
.racePickupBadge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 7px;margin-top:4px;margin-right:4px;font-size:7px;font-weight:900;line-height:1.2;white-space:nowrap}
.racePickupBadge.escape{color:#fff;background:linear-gradient(135deg,#b80d0d,#f04419);box-shadow:0 2px 6px rgba(190,20,10,.22)}
.racePickupBadge.fly{color:#fff;background:linear-gradient(135deg,#32105f,#8d116d);box-shadow:0 2px 6px rgba(73,18,108,.24)}
.aiHero{padding-right:112px!important;min-height:126px!important;align-items:stretch!important}
.aiHero>div:first-child{width:calc(100% - 2px)!important;min-width:0!important;padding-right:62px!important;box-sizing:border-box!important}
.aiHero #aiHeadline{font-size:18px!important;line-height:1.35!important;margin-right:0!important;overflow-wrap:anywhere!important}
.aiHero #aiSubline{max-width:100%!important;padding-right:0!important;line-height:1.45!important}
.aiHero .confidence{right:104px!important;top:14px!important;min-width:58px!important;width:58px!important;text-align:center!important}
.aiHero .confidence b{font-size:34px!important}
.aiHeroRacerPhoto{right:0!important;bottom:0!important;width:98px!important;height:120px!important;border-left:1px solid rgba(255,255,255,.28)!important}
@media(max-width:390px){.aiHero{padding-right:100px!important}.aiHero>div:first-child{padding-right:56px!important}.aiHero #aiHeadline{font-size:17px!important}.aiHero .confidence{right:91px!important;width:54px!important}.aiHeroRacerPhoto{width:88px!important;height:116px!important}}

/* v0.8.65 compact top-rated hero */
.aiHero{padding-right:98px!important;min-height:120px!important}
.aiHero>div:first-child{padding-right:56px!important}
.aiHero #aiHeadline{display:flex!important;flex-direction:column!important;gap:4px!important;line-height:1.15!important}
.aiHeroLabel{display:block;font-size:12px!important;font-weight:900!important;letter-spacing:.04em;opacity:.82}
.aiHeroName{display:block;font-size:19px!important;font-weight:1000!important;white-space:normal!important}
.aiHeroRacerPhoto{width:82px!important;height:104px!important}
.aiHero .confidence{right:84px!important;top:14px!important;width:52px!important;min-width:52px!important}
.aiHero .confidence b{font-size:32px!important}
@media(max-width:390px){.aiHero{padding-right:90px!important}.aiHero>div:first-child{padding-right:48px!important}.aiHeroRacerPhoto{width:74px!important;height:98px!important}.aiHero .confidence{right:76px!important;width:48px!important;min-width:48px!important}.aiHeroName{font-size:17px!important}}

/* ===== v0.8.66 hero score spacing / gold emphasis / hit summary action ===== */
.aiHero .confidence{right:96px!important;top:14px!important;width:48px!important;min-width:48px!important}
.aiHero .confidence b,.aiHeroName{color:#f2c94c!important;text-shadow:0 1px 2px rgba(0,0,0,.16)!important}
.aiHeroRacerPhoto{width:76px!important;height:100px!important}
.hitSummary{cursor:pointer;position:relative;transition:transform .15s ease,box-shadow .15s ease}
.hitSummary:active{transform:scale(.97)}
.hitSummary:after{content:"›";position:absolute;right:7px;top:50%;transform:translateY(-50%);font-size:16px;font-weight:900;color:#e53935;opacity:.65}
@media(max-width:390px){.aiHero .confidence{right:86px!important;width:46px!important;min-width:46px!important}.aiHeroRacerPhoto{width:70px!important;height:94px!important}}


/* ===== v0.8.67 hero no-overlap + exact top-score gold ===== */
.aiHero .confidence{right:112px!important;top:14px!important;width:50px!important;min-width:50px!important}
.aiHeroRacerPhoto{width:74px!important;height:98px!important}
.aiHero .confidence b,.aiHeroName{
  color:#c99700!important;
  background:linear-gradient(90deg,#c99700,#ffd84d,#fff2a3,#e3ae00)!important;
  -webkit-background-clip:text!important;background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  text-shadow:none!important;
}
@media(max-width:390px){
 .aiHero .confidence{right:104px!important;width:46px!important;min-width:46px!important}
 .aiHeroRacerPhoto{width:68px!important;height:92px!important}
}


/* ===== v0.8.71 hero gold 3D stroke + full-name spacing ===== */
.aiHeroName,.aiHero .confidence b{
  color:#f2c94c!important;
  background:none!important;
  -webkit-background-clip:border-box!important;background-clip:border-box!important;
  -webkit-text-fill-color:#f2c94c!important;
  -webkit-text-stroke:1px #17120a!important;
  paint-order:stroke fill!important;
  text-shadow:0 2px 0 #7a5700,0 3px 3px rgba(0,0,0,.48),0 0 2px #000!important;
}
.aiHeroName{font-size:18px!important;letter-spacing:-.02em!important;overflow-wrap:normal!important;word-break:keep-all!important}
@media(max-width:390px){.aiHeroName{font-size:16px!important}.aiHero .confidence b{font-size:31px!important}}


/* ===== v0.8.72 exact score-bar gold gradient + black stroke ===== */
.aiHeroName,.aiHero .confidence b{
  color:#c99700!important;
  background:linear-gradient(90deg,#c99700 0%,#e3ae00 18%,#ffd84d 48%,#fff2a3 70%,#e3ae00 100%)!important;
  -webkit-background-clip:text!important;background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  -webkit-text-stroke:1px #111!important;
  paint-order:stroke fill!important;
  filter:drop-shadow(0 2px 1px rgba(0,0,0,.28))!important;
  text-shadow:none!important;
}
/* v0.8.73 ocean shell + live/search */
html{background:#dff8ff}body{background:linear-gradient(180deg,rgba(229,251,255,.88),rgba(190,241,252,.78)),radial-gradient(ellipse at 15% 12%,rgba(255,255,255,.9) 0 8%,transparent 9%),repeating-radial-gradient(ellipse at 20% 0%,rgba(255,255,255,.34) 0 2px,rgba(36,185,220,.13) 3px 14px,transparent 15px 28px);background-attachment:fixed;position:relative}body:before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(165deg,transparent 0 24%,rgba(255,255,255,.34) 25% 27%,transparent 28% 50%,rgba(0,165,211,.10) 51% 54%,transparent 55% 100%);background-size:100% 230px;opacity:.9;pointer-events:none}.view{background:transparent}.bottomNav{grid-template-columns:repeat(3,1fr);background:rgba(255,255,255,.94);backdrop-filter:blur(16px)}.bottomNav span{font-size:9px}.toolHero{margin:14px 16px 12px;padding:18px;border-radius:18px;background:linear-gradient(135deg,#087fcd,#11b7d7);color:#fff;box-shadow:0 8px 24px #0788b72b}.toolHero small{font-size:8px;letter-spacing:1.5px}.toolHero h2{font-size:24px;margin:3px 0}.toolHero p{font-size:10px;margin:0;opacity:.9}.searchHero{background:linear-gradient(135deg,#0757b7,#12a9d0)}.liveVenueGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 16px 100px}.liveVenueBtn{border:1px solid #b8e6f3;background:rgba(255,255,255,.92);border-radius:16px;padding:15px;text-align:left;box-shadow:0 5px 16px #126c8d18}.liveVenueBtn b{display:block;font-size:17px;color:#092a43}.liveVenueBtn small{display:block;color:#6b8291;margin-top:4px}.liveVenueBtn span{display:inline-flex;margin-top:10px;background:#e71919;color:#fff;border-radius:999px;padding:5px 9px;font-size:9px;font-weight:900}.searchTabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0 16px 10px;background:rgba(255,255,255,.72);padding:5px;border-radius:14px}.searchTabs button{border:0;border-radius:10px;background:transparent;padding:11px 5px;font-weight:900;color:#6a7b88}.searchTabs button.active{background:#0878dc;color:#fff}.searchPanel{display:none;padding:0 16px 100px}.searchPanel.active{display:block}.searchBox{display:grid;grid-template-columns:1fr 70px;gap:7px;margin-bottom:10px}.searchBox input{min-width:0;border:1px solid #b8d9e6;background:rgba(255,255,255,.95);border-radius:12px;padding:12px;font-size:14px}.searchBox button{border:0;border-radius:12px;background:#0878dc;color:#fff;font-weight:900}.searchResults{display:grid;gap:10px}.dbCard{background:rgba(255,255,255,.94);border:1px solid #c9e7ef;border-radius:16px;padding:13px;box-shadow:0 5px 16px #0a6b8d14}.dbCardHead{display:flex;gap:11px;align-items:center}.dbCardHead img{width:66px;height:82px;object-fit:cover;border-radius:10px;background:#e9f3f7}.dbCardHead h3{margin:0 0 3px;font-size:17px}.dbCardHead small{color:#71818e}.dbMetrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}.dbMetrics span{background:#f2f8fb;border-radius:9px;padding:8px;font-size:8px;color:#657785}.dbMetrics strong{display:block;color:#102b3f;font-size:12px;margin-top:2px}.featureText{margin:10px 0 0;font-size:10px;line-height:1.6;color:#435a6b}.officialLink{display:inline-block;margin-top:9px;font-size:9px;font-weight:900;color:#0878dc}.venueStatTitle{font-size:18px;margin:0}.tideNote{background:#fff8df;border-radius:9px;padding:8px;margin-top:8px;font-size:9px;color:#6e5a25}


/* ===== v0.8.75 hero name emphasis ===== */
.aiHeroName{font-size:21px!important;line-height:1.16!important}
.aiHero #aiSubline{margin-top:8px!important;line-height:1.4!important}
@media(max-width:390px){.aiHeroName{font-size:18px!important}}

/* v0.8.76: 展開プレビューを展開予想カードへ統合 */
.developmentForecastCard .embeddedCgInline{margin:14px 0 16px;}
.developmentForecastCard .miniCgStage{margin:0; border-radius:18px; overflow:hidden;}
.developmentForecastCard .scenarioBox{margin-top:0;}
.miniCgInfoHidden{display:none!important;}

/* v0.8.77: 艇別スコア評価を統合 */
.embeddedScoreReason{margin-top:18px;padding-top:16px;border-top:1px solid rgba(16,74,112,.12)}
.embeddedScoreReason h4{margin:0 0 12px;font-size:16px;font-weight:800;color:#12324c} 

/* v0.8.78: race-card pickup styling + pinned races */
.pinnedHeroBanner{margin:14px 12px 9px;padding:14px 16px;border-radius:18px;display:flex;align-items:center;gap:11px;background:linear-gradient(135deg,#0d6fd1,#18a9d0);color:#fff;box-shadow:0 8px 20px rgba(15,111,190,.18)}
.pinnedHeroIcon{font-size:24px}.pinnedHeroBanner h2{font-size:16px;margin:0}.pinnedHeroBanner small{font-size:8px;opacity:.9}.pinnedRaceList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 12px 12px}.pinnedRaceList .loadingBox{grid-column:1/-1}.pinnedRaceCard{position:relative;border:1px solid var(--line);border-radius:14px;background:#fff;padding:11px;text-align:left;color:inherit;box-shadow:0 5px 14px rgba(20,75,110,.08)}.pinnedRaceCard.escape{background:linear-gradient(135deg,#fff5f2,#ffe3dc);border-color:#ef8c78}.pinnedRaceCard.fly{background:linear-gradient(135deg,#f8f1ff,#f2deef);border-color:#9b67a9}.pinnedPin{position:absolute;right:8px;top:7px}.pinnedVenue{font-size:10px;font-weight:800;padding-right:22px}.pinnedMain{display:flex;justify-content:space-between;align-items:end;margin-top:5px}.pinnedMain b{font-size:20px}.pinnedMain span{font-size:11px;font-weight:800}
.raceItem{position:relative;padding-right:42px}.raceItem.pickupCardStyle.escape{border:2px solid #e14a32;background:linear-gradient(100deg,#fff5f1,#ffe7df);box-shadow:0 5px 15px rgba(194,48,25,.10)}.raceItem.pickupCardStyle.fly{border:2px solid #713478;background:linear-gradient(100deg,#faf4ff,#f1e2f0);box-shadow:0 5px 15px rgba(91,34,103,.11)}.raceItem.normal{background:#fff}.racePinBtn{position:absolute;right:8px;top:8px;z-index:3;width:30px;height:30px;border:0;border-radius:50%;background:#edf3f8;font-size:16px;display:flex;align-items:center;justify-content:center;padding:0}.racePinBtn.active{background:#fff0b8;box-shadow:0 2px 7px rgba(126,92,0,.18)}

/* v0.8.79: レース一覧 - イン逃げ/イン飛び専用背景を強調 */
.raceItem.pickupCardStyle.escape{
  border:2px solid #ef3b2d;
  background:linear-gradient(115deg,#5f0808 0%,#9d1010 38%,#d72818 72%,#ff7043 100%);
  box-shadow:0 7px 18px rgba(151,18,12,.28);
}
.raceItem.pickupCardStyle.escape .raceText>b,
.raceItem.pickupCardStyle.escape .raceText>small,
.raceItem.pickupCardStyle.escape .raceTime>b,
.raceItem.pickupCardStyle.escape .raceTime>small{color:#fff}
.raceItem.pickupCardStyle.escape .previewTag{background:rgba(255,255,255,.92);color:#167f4c}
.raceItem.pickupCardStyle.fly{
  border:2px solid #7b1fa2;
  background:linear-gradient(115deg,#21062d 0%,#46105d 38%,#73156f 70%,#a82b67 100%);
  box-shadow:0 7px 18px rgba(54,8,72,.30);
}
.raceItem.pickupCardStyle.fly .raceText>b,
.raceItem.pickupCardStyle.fly .raceText>small,
.raceItem.pickupCardStyle.fly .raceTime>b,
.raceItem.pickupCardStyle.fly .raceTime>small{color:#fff}
.raceItem.pickupCardStyle.fly .previewTag{background:rgba(255,255,255,.92);color:#167f4c}
.raceItem.pickupCardStyle.escape .racePinBtn,
.raceItem.pickupCardStyle.fly .racePinBtn{background:rgba(255,255,255,.9)}

/* v0.8.80: pickup race backgrounds must win over result/hit card styling */
.raceItem.pickupCardStyle.escape,
.raceItem.pickupCardStyle.escape.resultRace,
.raceItem.pickupCardStyle.escape.hitRace{
  border:2px solid #ef3b2d !important;
  background:linear-gradient(115deg,#5f0808 0%,#9d1010 38%,#d72818 72%,#ff7043 100%) !important;
  box-shadow:0 7px 18px rgba(151,18,12,.28) !important;
}
.raceItem.pickupCardStyle.fly,
.raceItem.pickupCardStyle.fly.resultRace,
.raceItem.pickupCardStyle.fly.hitRace{
  border:2px solid #7b1fa2 !important;
  background:linear-gradient(115deg,#21062d 0%,#46105d 38%,#73156f 70%,#a82b67 100%) !important;
  box-shadow:0 7px 18px rgba(54,8,72,.30) !important;
}
.raceItem.pickupCardStyle.escape .raceText>b,.raceItem.pickupCardStyle.escape .raceText>small,.raceItem.pickupCardStyle.escape .raceTime>b,.raceItem.pickupCardStyle.escape .raceTime>small,
.raceItem.pickupCardStyle.fly .raceText>b,.raceItem.pickupCardStyle.fly .raceText>small,.raceItem.pickupCardStyle.fly .raceTime>b,.raceItem.pickupCardStyle.fly .raceTime>small{color:#fff !important}
.raceItem.pickupCardStyle.escape .raceTime small,.raceItem.pickupCardStyle.fly .raceTime small{display:block !important;opacity:1 !important;visibility:visible !important}


/* v0.8.81: venue pickup counts + hit-list pickup backgrounds */
.venuePickupCounts{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin:7px 4px 3px}
.venuePickCount{display:inline-flex;align-items:center;border-radius:999px;padding:4px 7px;font-size:7px;font-weight:900;line-height:1.15;white-space:nowrap;color:#fff;box-shadow:0 2px 6px rgba(0,0,0,.14)}
.venuePickCount.escape{background:linear-gradient(135deg,#b80d0d,#f04419)}
.venuePickCount.fly{background:linear-gradient(135deg,#32105f,#8d116d)}
.hitOnlyRaceBtn .raceItem.pickupCardStyle.escape{background:linear-gradient(115deg,#5f0808 0%,#9d1010 38%,#d72818 72%,#ff7043 100%)!important;border:2px solid #ef3b2d!important}
.hitOnlyRaceBtn .raceItem.pickupCardStyle.fly{background:linear-gradient(115deg,#21062d 0%,#46105d 38%,#73156f 70%,#a82b67 100%)!important;border:2px solid #7b1fa2!important}
.hitOnlyRaceBtn .raceItem.pickupCardStyle.escape .raceText>b,.hitOnlyRaceBtn .raceItem.pickupCardStyle.escape .raceText>small,.hitOnlyRaceBtn .raceItem.pickupCardStyle.escape .raceTime>b,.hitOnlyRaceBtn .raceItem.pickupCardStyle.escape .raceTime>small,.hitOnlyRaceBtn .raceItem.pickupCardStyle.fly .raceText>b,.hitOnlyRaceBtn .raceItem.pickupCardStyle.fly .raceText>small,.hitOnlyRaceBtn .raceItem.pickupCardStyle.fly .raceTime>b,.hitOnlyRaceBtn .raceItem.pickupCardStyle.fly .raceTime>small{color:#fff!important}

/* v0.8.83 version update notice */
.versionNotice{position:fixed;inset:0;z-index:10000;background:rgba(7,22,39,.58);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px}
.versionNotice[hidden]{display:none!important}
.versionNoticeCard{width:min(100%,390px);background:rgba(255,255,255,.97);border:1px solid rgba(255,255,255,.8);border-radius:26px;padding:28px 24px 22px;text-align:center;box-shadow:0 24px 70px rgba(4,34,63,.28);color:#102a43}
.versionNoticeIcon{width:58px;height:58px;margin:0 auto 14px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#087be8,#14b9d6);color:white;font-size:29px;font-weight:900;box-shadow:0 10px 24px rgba(0,126,229,.25)}
.versionNoticeCard small{display:block;color:#1785d0;font-weight:800;letter-spacing:.08em;margin-bottom:7px}
.versionNoticeCard h2{font-size:20px;line-height:1.45;margin:0 0 10px;font-weight:900}
.versionNoticeCard p{font-size:13px;line-height:1.6;color:#6c7d8e;margin:0 0 20px}
.versionNoticeCard button{width:100%;border:0;border-radius:15px;padding:14px;background:linear-gradient(90deg,#087be8,#14aee1);color:#fff;font-size:16px;font-weight:900;box-shadow:0 8px 20px rgba(0,126,229,.2)}


/* v0.8.87 odds + popularity */
.oddsLiveCard,.popularityCard{overflow:hidden}.oddsPredictionLegend{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 14px}.oddsPredictionLegend span{background:#0878e8;color:#fff;border-radius:9px;padding:6px 9px;font-weight:800;font-size:12px;box-shadow:0 4px 12px #0878e833}.trifectaOddsTable{display:grid;gap:10px}.oddsPair{display:grid;grid-template-columns:64px 1fr;gap:8px;align-items:stretch;background:#f7f9fc;border:1px solid #e6edf5;border-radius:13px;padding:8px}.oddsPairHead{display:flex;flex-direction:column;justify-content:center;align-items:center;background:#eef4fa;border-radius:9px}.oddsPairHead b{font-size:15px}.oddsPairHead small{font-size:10px;color:#7d8998}.oddsCells{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.oddsCell{min-width:0;text-align:center;background:#fff;border:1px solid #e6ebf2;border-radius:8px;padding:7px 2px}.oddsCell small{display:block;font-size:9px;color:#7d8998}.oddsCell b{font-size:13px;color:#152238}.oddsCell.predicted{background:linear-gradient(135deg,#0878e8,#0754c9);border-color:#0878e8;box-shadow:0 3px 10px #0878e833}.oddsCell.predicted small,.oddsCell.predicted b{color:#fff}.liveVenueBadge.isLive{background:#e8fff2;color:#079447}.racerPopularityTable{display:grid;gap:11px}.popRow{background:#f7f9fc;border:1px solid #e6edf5;border-radius:14px;padding:11px}.popRacer{display:flex;align-items:center;gap:9px;margin-bottom:9px}.popRacer>span{display:flex;flex-direction:column}.popRacer small{color:#8b95a2}.popLane{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:900;background:#1478dd;color:#fff}.popMetrics{display:grid;grid-template-columns:1fr 16px 1fr auto;gap:7px;align-items:end}.popMetrics>div{min-width:0}.popMetrics small{display:block;color:#7b8795;font-size:10px}.popMetrics b{font-size:17px}.popMetrics em{font-style:normal;align-self:center;color:#9aa4b1}.popBar{height:5px;background:#e5ebf2;border-radius:5px;display:block;overflow:hidden;margin-top:4px}.popBar i{height:100%;display:block;background:#6a9fd7}.popBar.live i{background:#1688e8}.popDelta{font-size:11px;color:#7d8793}.popDelta.up{color:#e44747}.popDelta.down{color:#247bd4}@media(max-width:390px){.oddsPair{grid-template-columns:54px 1fr}.oddsCells{gap:3px}.oddsCell b{font-size:12px}.popMetrics{grid-template-columns:1fr 12px 1fr}.popDelta{grid-column:3;text-align:right}}

/* v0.8.88 odds matrix: 1st-lane outer color + 2nd-lane cell color + racer photo */
.oddsPair{grid-template-columns:92px 1fr;border-width:2px;background:var(--lane-soft,#f7f9fc);padding:7px}.oddsPairHead{position:relative;overflow:hidden;min-height:88px;padding:5px 3px;background:var(--lane-bg)!important;color:var(--lane-fg)!important;border-radius:10px;justify-content:flex-end}.oddsPairHead .oddsFirstLane{position:absolute;left:7px;top:6px;font-size:24px;line-height:1;font-weight:950;z-index:2;text-shadow:0 1px 2px rgba(255,255,255,.28)}.oddsRacerPhoto{width:58px;height:58px;object-fit:cover;object-position:50% 18%;border-radius:9px;background:#fff;box-shadow:0 2px 7px rgba(0,0,0,.16);margin:1px auto 2px}.oddsRacerName{display:block;max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:900;line-height:1.15}.oddsPairHead small{font-size:8px;color:inherit!important;opacity:.82}.oddsCell{background:var(--lane-soft)!important;border-color:var(--lane-border)!important}.oddsCell small,.oddsCell b{color:var(--lane-text)!important}.oddsCell.predicted{background:linear-gradient(135deg,#0878e8,#0754c9)!important;border-color:#0754c9!important;box-shadow:0 3px 10px #0878e855}.oddsCell.predicted small,.oddsCell.predicted b{color:#fff!important}.laneBg1{--lane-bg:#f7f8fb;--lane-fg:#101828;--lane-soft:#f7f8fb;--lane-border:#d9dee7;--lane-text:#172033}.laneBg2{--lane-bg:#20242a;--lane-fg:#fff;--lane-soft:#e8e9eb;--lane-border:#c7c9cd;--lane-text:#111827}.laneBg3{--lane-bg:#ef3340;--lane-fg:#fff;--lane-soft:#ffe2e5;--lane-border:#f5b6bc;--lane-text:#7f1720}.laneBg4{--lane-bg:#0878e8;--lane-fg:#fff;--lane-soft:#dcecff;--lane-border:#add2fb;--lane-text:#0c4f93}.laneBg5{--lane-bg:#ffd400;--lane-fg:#111;--lane-soft:#fff5bd;--lane-border:#f0d969;--lane-text:#594900}.laneBg6{--lane-bg:#0aaa55;--lane-fg:#fff;--lane-soft:#dff6e8;--lane-border:#a9dfbe;--lane-text:#075e32}@media(max-width:390px){.oddsPair{grid-template-columns:82px 1fr}.oddsRacerPhoto{width:52px;height:52px}.oddsPairHead .oddsFirstLane{font-size:21px}.oddsRacerName{font-size:9px}}

/* v0.8.89 odds matrix: paint the ENTIRE first-place pair card with the 1st-lane color */
.oddsPair.laneBg1,.oddsPair.laneBg2,.oddsPair.laneBg3,.oddsPair.laneBg4,.oddsPair.laneBg5,.oddsPair.laneBg6{
  background:var(--lane-bg)!important;
  border-color:var(--lane-bg)!important;
}
/* Keep second-place odds cells colored by the 2nd lane as before. */

/* ===== v0.8.95 BOAT RACE visual refresh ===== */
:root{--marine:#006fb7;--marine2:#00a9d5;--deep:#062f55;--foam:rgba(255,255,255,.88)}
html{background:#bfeefa}
body{
 background:
 radial-gradient(ellipse at 18% 8%,rgba(255,255,255,.92) 0 7%,transparent 8%),
 repeating-radial-gradient(ellipse at 15% -5%,rgba(255,255,255,.42) 0 2px,rgba(23,177,215,.14) 3px 15px,transparent 16px 31px),
 linear-gradient(180deg,#e9fbff 0%,#c8f2fb 42%,#b9eaf6 100%)!important;
 background-attachment:fixed!important;
}
body:before{background:repeating-linear-gradient(166deg,transparent 0 46px,rgba(255,255,255,.27) 47px 50px,transparent 51px 94px)!important;opacity:.8!important}
.view{position:relative}
.card,.panel,.raceCard,.loadingBox,.pinnedRaceCard{
 border:1px solid rgba(73,174,207,.34)!important;
 background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(244,252,255,.91))!important;
 box-shadow:0 8px 22px rgba(4,89,130,.10),inset 0 1px 0 rgba(255,255,255,.9)!important;
}
.venueHeroBanner,.pinnedHeroBanner,.toolHero{
 background:linear-gradient(125deg,#004e91 0%,#078ec7 52%,#13b7d5 100%)!important;
 border:1px solid rgba(255,255,255,.65)!important;
 box-shadow:0 10px 26px rgba(0,87,137,.22)!important;
}
.venueHeroBanner:before,.pinnedHeroBanner:before,.toolHero:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(160deg,transparent 0 43%,rgba(255,255,255,.14) 44% 48%,transparent 49%)}
.venue{
 position:relative;overflow:hidden;
 background:linear-gradient(160deg,rgba(255,255,255,.95) 0%,rgba(222,247,253,.94) 100%)!important;
 border:1px solid rgba(255,255,255,.92)!important;
 box-shadow:0 9px 24px rgba(3,91,132,.15),inset 0 0 0 1px rgba(40,172,211,.18)!important;
}
.venue:after{content:"";position:absolute;left:-15%;right:-15%;bottom:-10px;height:38px;background:repeating-radial-gradient(ellipse at 50% 100%,rgba(255,255,255,.75) 0 2px,rgba(12,161,204,.12) 3px 9px,transparent 10px 18px);opacity:.72;pointer-events:none}
.venue .name,.venue .meta,.venue .count,.venuePickupCounts{position:relative;z-index:1}
.liveVenueGrid{gap:12px!important}
.liveVenueBtn{
 position:relative;overflow:hidden;border:1px solid rgba(37,164,205,.38)!important;
 background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(225,248,253,.94))!important;
 box-shadow:0 8px 22px rgba(0,92,133,.13)!important;
 padding:17px!important;
}
.liveVenueBtn:before{content:"";position:absolute;right:-24px;bottom:-32px;width:120px;height:80px;border-radius:50%;background:repeating-radial-gradient(ellipse,rgba(18,172,210,.16) 0 3px,transparent 4px 13px);transform:rotate(-12deg)}
.liveVenueBtn b,.liveVenueBtn small,.liveVenueBtn span{position:relative;z-index:1}
.liveVenueBtn span{background:linear-gradient(90deg,#ef1d20,#ff4b31)!important;box-shadow:0 4px 12px rgba(220,20,25,.22)}
.raceItem.normal{background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(239,250,253,.95))!important;border:1px solid rgba(69,169,204,.30)!important;box-shadow:0 7px 18px rgba(3,91,132,.10)!important}
.bottomNav{background:linear-gradient(180deg,rgba(0,116,181,.96),rgba(0,72,125,.98))!important;border-top:1px solid rgba(255,255,255,.4)!important;box-shadow:0 -8px 24px rgba(0,63,102,.20)!important}
.bottomNav button,.bottomNav a{color:rgba(255,255,255,.68)!important}.bottomNav .active{color:#fff!important;background:linear-gradient(180deg,rgba(20,153,220,.62),rgba(0,102,170,.35))!important}
.raceHeader,.detailHeader{background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(232,249,253,.94))!important;border-color:rgba(52,164,202,.32)!important;box-shadow:0 8px 20px rgba(3,91,132,.11)!important}

/* ===== v0.8.96 REAL BOAT RACE visual ===== */
:root{--water-deep:#07527a;--water:#138db5;--water-light:#71d0df;--navy:#062a45}
html{background:#8ccfdb}
body{
 background:
  linear-gradient(180deg,rgba(233,247,249,.90),rgba(191,231,237,.88)),
  repeating-linear-gradient(174deg,rgba(255,255,255,.18) 0 1px,transparent 2px 19px),
  linear-gradient(180deg,#d7f0f3 0%,#a8dce5 48%,#83cbd8 100%)!important;
}
body:before{
 background:
  radial-gradient(ellipse at 12% 15%,rgba(255,255,255,.62) 0 1.5%,transparent 1.8%),
  repeating-radial-gradient(ellipse at 50% 110%,transparent 0 18px,rgba(255,255,255,.30) 19px 21px,transparent 22px 40px)!important;
 opacity:.58!important;
}
.card,.panel,.loadingBox,.pinnedRaceCard{
 background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(242,247,248,.95))!important;
 border:1px solid rgba(255,255,255,.92)!important;
 box-shadow:0 7px 18px rgba(8,49,67,.15),inset 0 0 0 1px rgba(21,103,132,.10)!important;
 backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)
}
.venueHeroBanner,.pinnedHeroBanner,.toolHero{
 position:relative;overflow:hidden;
 background:linear-gradient(112deg,#063e67 0%,#087aa5 52%,#17a9c3 100%)!important;
 box-shadow:0 10px 24px rgba(3,50,78,.28)!important;
}
.venueHeroBanner:after,.pinnedHeroBanner:after,.toolHero:after{
 content:"";position:absolute;left:-5%;right:-5%;bottom:-18px;height:62px;pointer-events:none;
 background:repeating-radial-gradient(ellipse at 50% 100%,rgba(255,255,255,.65) 0 2px,rgba(255,255,255,.13) 3px 7px,transparent 8px 17px);opacity:.58
}
.venue{
 background:
  linear-gradient(180deg,rgba(255,255,255,.94) 0 60%,rgba(218,240,243,.95) 100%)!important;
 border:1px solid rgba(255,255,255,.94)!important;
 box-shadow:0 8px 18px rgba(6,55,76,.18)!important;
}
.venue:before{content:"";position:absolute;left:0;right:0;bottom:0;height:42%;background:repeating-linear-gradient(176deg,rgba(13,139,172,.09) 0 2px,transparent 3px 12px);pointer-events:none}
.venue:after{height:32px!important;bottom:-7px!important;background:repeating-radial-gradient(ellipse at 50% 100%,rgba(255,255,255,.88) 0 2px,rgba(31,148,174,.15) 3px 8px,transparent 9px 17px)!important}
.liveVenueBtn{
 background:linear-gradient(180deg,#fff 0%,#eef6f7 100%)!important;
 border:1px solid rgba(32,119,147,.24)!important;
 box-shadow:0 7px 18px rgba(6,55,76,.16)!important;
}
.liveVenueBtn:before{right:-18px!important;bottom:-28px!important;width:150px!important;height:85px!important;background:repeating-radial-gradient(ellipse at 50% 100%,rgba(24,145,175,.14) 0 2px,transparent 3px 12px)!important}
.raceItem.normal{
 background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(235,244,246,.97))!important;
 border:1px solid rgba(36,118,144,.22)!important;
 box-shadow:0 6px 15px rgba(5,48,67,.13)!important;
}
.raceItem.normal:before{content:"";position:absolute;left:0;right:0;bottom:0;height:25%;border-radius:inherit;background:repeating-linear-gradient(177deg,rgba(23,145,175,.05) 0 1px,transparent 2px 8px);pointer-events:none}
.pageHead,.raceHeader,.detailHeader{background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(237,245,247,.97))!important;border:1px solid rgba(31,112,139,.22)!important;box-shadow:0 7px 18px rgba(5,48,67,.14)!important}
.bottomNav{background:linear-gradient(180deg,#073f66 0%,#052f50 100%)!important;border-top:1px solid rgba(255,255,255,.24)!important;box-shadow:0 -7px 20px rgba(2,30,48,.28)!important}
.bottomNav .active{background:linear-gradient(180deg,#0b6798,#07507e)!important}
/* metallic control feel */
.back,.miniRefresh,.racePinBtn{box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 2px 7px rgba(4,45,63,.13)!important}

/* ===== v0.8.97 CINEMATIC REAL WATER UI ===== */
:root{--glass:rgba(5,35,58,.86);--glass2:rgba(7,49,77,.76);--cyan:#35c7ff;--ice:#eaf9ff}
html{background:#062f49!important}
body{
 color:#f5fbff;
 background:
  radial-gradient(ellipse at 76% 8%,rgba(255,255,255,.28) 0 1px,transparent 2px 9px),
  radial-gradient(ellipse at 28% 22%,rgba(99,217,255,.23),transparent 35%),
  repeating-radial-gradient(ellipse at 50% 120%,transparent 0 24px,rgba(225,249,255,.18) 25px 27px,transparent 28px 52px),
  linear-gradient(180deg,#0b6685 0%,#075270 25%,#063d5c 58%,#052f49 100%)!important;
 background-attachment:fixed!important;
}
body:before{
 content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.9!important;
 background:
  repeating-linear-gradient(174deg,transparent 0 31px,rgba(255,255,255,.08) 32px 34px,transparent 35px 68px),
  radial-gradient(ellipse at 10% 72%,rgba(255,255,255,.22) 0 1px,transparent 2px 12px),
  radial-gradient(ellipse at 82% 47%,rgba(67,204,239,.18),transparent 30%)!important;
}
.topbar{background:linear-gradient(180deg,rgba(3,26,45,.96),rgba(4,45,72,.90))!important;box-shadow:0 8px 25px rgba(0,0,0,.28)!important;border-bottom:1px solid rgba(255,255,255,.12)}
.heroBannerImage{position:relative;min-height:280px!important;border-radius:0 0 28px 28px!important;margin:0 0 18px!important;background-image:linear-gradient(180deg,transparent 55%,rgba(2,29,49,.54)),url('assets/boat-race-v-banner.png')!important;background-size:cover!important;background-position:center!important;box-shadow:0 18px 35px rgba(0,18,31,.38)!important}
.heroBannerImage:after{content:"水面が、ドラマをつくる。";position:absolute;left:22px;bottom:19px;font-size:12px;font-weight:800;letter-spacing:.12em;color:#fff;text-shadow:0 2px 8px #001}
.bannerVersion{background:rgba(3,25,44,.68)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-color:rgba(255,255,255,.35)!important}
.statusCard,.summaryGrid>div,.card,.panel,.loadingBox,.pinnedRaceCard{
 color:#f7fbff!important;background:linear-gradient(145deg,rgba(4,35,59,.88),rgba(7,56,86,.77))!important;border:1px solid rgba(177,232,250,.25)!important;box-shadow:0 12px 30px rgba(0,18,31,.28),inset 0 1px 0 rgba(255,255,255,.11)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)
}
.statusCard p,.statusCard small,.summaryGrid small,.loadingBox,.pinnedRaceCard small{color:rgba(224,244,252,.72)!important}.dateRow input,.dateRow button{color:#fff!important;background:rgba(255,255,255,.09)!important;border-color:rgba(255,255,255,.18)!important}
.hitSummary{background:linear-gradient(145deg,rgba(72,16,23,.90),rgba(108,20,28,.76))!important;border-color:rgba(255,108,108,.36)!important}.hitSummary b{color:#ff6262!important}
.venueHeroBanner,.pinnedHeroBanner,.toolHero{background:linear-gradient(115deg,rgba(3,54,89,.96),rgba(6,119,159,.90),rgba(22,174,202,.84))!important;border:1px solid rgba(190,240,255,.35)!important;box-shadow:0 14px 32px rgba(0,24,40,.31)!important}
.venueGrid{gap:9px!important}
.venue{min-height:150px!important;color:#fff!important;background:linear-gradient(180deg,rgba(8,49,76,.80),rgba(3,34,57,.93))!important;border:1px solid rgba(183,235,250,.28)!important;box-shadow:0 11px 25px rgba(0,19,32,.30),inset 0 1px 0 rgba(255,255,255,.12)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.venue:before{height:52%!important;background:repeating-radial-gradient(ellipse at 50% 110%,transparent 0 10px,rgba(82,199,230,.14) 11px 12px,transparent 13px 24px)!important}.venue:after{background:linear-gradient(180deg,transparent,rgba(55,186,220,.18))!important;height:45%!important;bottom:0!important}
.venue .name{color:#fff!important;font-size:17px!important;text-shadow:0 2px 8px rgba(0,0,0,.35)}.venue .meta{color:rgba(225,243,250,.66)!important}.venue .count{color:#5ed7ff!important}.venueRaceInfo{color:#fff!important}.venueWeather{background:rgba(255,255,255,.88)!important;color:#183448!important;box-shadow:0 3px 10px rgba(0,0,0,.16)}
.venuePickCount.escape{background:linear-gradient(135deg,#a80b0b,#f04419)!important}.venuePickCount.fly{background:linear-gradient(135deg,#2d0d58,#8d116d)!important}.venueNoHit{color:rgba(226,244,250,.58)!important}
.pageHead,.raceHeader,.detailHeader{color:#102b42!important;background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(229,244,248,.95))!important}
.sectionHead h2,.sectionHead span{color:#fff!important}.raceItem.normal{color:#f7fbff!important;background:linear-gradient(145deg,rgba(5,39,64,.91),rgba(7,59,88,.82))!important;border-color:rgba(171,229,247,.24)!important;box-shadow:0 9px 22px rgba(0,19,32,.25)!important}.raceItem.normal .raceText small,.raceItem.normal .raceTime small{color:rgba(221,242,250,.67)!important}.raceNo{background:linear-gradient(145deg,#0f9ad5,#0755a5)!important;box-shadow:0 5px 14px rgba(0,105,171,.28)}
.tabs{background:rgba(4,35,58,.96)!important;border-color:rgba(255,255,255,.12)!important}.tabs button{color:rgba(226,244,252,.66)!important}.tabs button.active{color:#fff!important}
.bottomNav{background:linear-gradient(180deg,rgba(3,49,80,.98),rgba(2,31,54,.99))!important;border-top:1px solid rgba(132,218,246,.25)!important}.bottomNav .active{background:linear-gradient(180deg,rgba(8,125,184,.75),rgba(4,76,124,.68))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.liveHero,.liveVenueBtn{color:#fff!important;background:linear-gradient(145deg,rgba(5,42,68,.91),rgba(8,65,94,.83))!important;border:1px solid rgba(166,227,247,.25)!important;box-shadow:0 10px 25px rgba(0,20,33,.28)!important}.liveVenueBtn small{color:rgba(225,244,251,.68)!important}
@media(max-width:390px){.heroBannerImage{min-height:220px!important}.venue{min-height:142px!important}.heroBannerImage:after{font-size:10px;left:17px}}

/* ===== v0.8.98 PHOTO REAL BOATRACE HOME ===== */
:root{--glass-dark:rgba(4,30,49,.78);--glass-border:rgba(222,246,255,.34)}
#homeView{position:relative;background:transparent!important}
#homeView:before{content:"";position:fixed;inset:0;z-index:-3;background:linear-gradient(180deg,rgba(1,17,30,.06),rgba(1,20,35,.26)),url('assets/boat-race-v-banner.png') center top/cover fixed no-repeat!important;filter:saturate(1.05) contrast(1.04)}
#homeView:after{content:"";position:fixed;inset:34vh 0 0;z-index:-2;pointer-events:none;background:linear-gradient(180deg,rgba(2,30,49,.05),rgba(2,25,42,.36)),repeating-radial-gradient(ellipse at 50% 8%,rgba(255,255,255,.16) 0 2px,transparent 3px 18px)}
#homeView .heroBannerImage{height:330px!important;min-height:330px!important;margin:0!important;border-radius:0 0 24px 24px!important;background-image:linear-gradient(180deg,rgba(1,14,25,.04) 48%,rgba(1,21,36,.38) 100%),url('assets/boat-race-v-banner.png')!important;background-size:cover!important;background-position:center 48%!important;border:0!important;box-shadow:0 16px 34px rgba(0,14,25,.36)!important}
#homeView .heroBannerImage:after{content:"水面が、ドラマをつくる。\A RACE TO THE FUTURE.";white-space:pre;left:auto;right:20px;bottom:18px;text-align:right;font-family:serif;font-size:12px;line-height:1.45;letter-spacing:.12em;font-weight:600}
#homeView .statusCard,#homeView .summaryGrid,#homeView .pinnedHeroBanner,#homeView #pinnedRaces{position:relative;z-index:2}
#homeView .statusCard{margin:-2px 12px 10px!important;background:linear-gradient(145deg,rgba(3,31,51,.84),rgba(6,55,82,.72))!important;border:1px solid var(--glass-border)!important}
#homeView .summaryGrid>div{background:linear-gradient(145deg,rgba(3,31,51,.84),rgba(6,55,82,.72))!important}
#homeView .venueHeroBanner{margin:12px 12px 8px!important;padding:14px 16px!important;border-radius:18px!important;background:linear-gradient(145deg,rgba(3,29,48,.87),rgba(7,55,82,.74))!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
#homeView .venueHeroBanner:after{display:none!important}
#homeView .venueGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;padding:0 12px 16px!important}
#homeView .venue{min-height:205px!important;padding:0!important;border-radius:15px!important;display:flex!important;justify-content:flex-end!important;text-align:left!important;background:linear-gradient(180deg,rgba(3,27,45,.04) 0 36%,rgba(3,25,43,.72) 62%,rgba(2,22,38,.94) 100%),url('assets/boat-race-v-banner.png') center/cover no-repeat!important;border:1px solid rgba(223,247,255,.38)!important;box-shadow:0 12px 28px rgba(0,14,25,.35)!important;overflow:hidden!important}
#homeView .venue:nth-child(3n+1){background-position:18% 55%!important}#homeView .venue:nth-child(3n+2){background-position:51% 48%!important}#homeView .venue:nth-child(3n){background-position:82% 54%!important}
#homeView .venue:before{content:""!important;position:absolute!important;inset:0!important;height:auto!important;background:linear-gradient(180deg,transparent 35%,rgba(2,24,41,.12) 48%,rgba(2,22,38,.94) 100%)!important;z-index:0!important}
#homeView .venue:after{display:none!important}
#homeView .venue>*{position:relative;z-index:1;margin-left:10px;margin-right:10px}
#homeView .venueWeather{position:absolute!important;top:9px;left:0;margin:0 0 0 9px!important;font-size:8px!important;padding:4px 6px!important}
#homeView .venue .name{font-size:18px!important;line-height:1.1;margin-top:80px!important;margin-bottom:3px!important}
#homeView .venue .meta{font-size:8px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#homeView .venue .count{font-size:10px!important;margin-top:5px!important}
#homeView .venueRaceInfo{margin-top:5px!important;font-size:9px!important}
#homeView .venuePickupCounts{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:3px!important;margin-top:7px!important}
#homeView .venuePickCount{font-size:6.5px!important;padding:3px 5px!important;max-width:100%;white-space:nowrap}
#homeView .venueHits{margin-top:5px!important;margin-bottom:8px!important}.venueHitBadge,.venueNoHit{font-size:7px!important}
#homeView .pinnedHeroBanner{background:linear-gradient(145deg,rgba(3,29,48,.88),rgba(7,55,82,.75))!important;border:1px solid var(--glass-border)!important;backdrop-filter:blur(12px)}
.bottomNav{height:82px!important;background:linear-gradient(180deg,rgba(3,35,59,.93),rgba(2,24,42,.98))!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
@media(max-width:430px){#homeView .heroBannerImage{height:285px!important;min-height:285px!important}#homeView .venueGrid{gap:7px!important;padding-left:8px!important;padding-right:8px!important}#homeView .venue{min-height:190px!important}#homeView .venue .name{font-size:16px!important}#homeView .venuePickCount{font-size:6px!important;padding:3px 4px!important}}

/* ===== v0.8.99 REAL WATER HOME — reference-faithful rebuild ===== */
#homeView{padding-bottom:100px!important;background:transparent!important}
#homeView:before{content:"";position:fixed;inset:0;z-index:-4;background:url('assets/real-water-ui-reference.png') center/cover fixed no-repeat!important;filter:saturate(.92) brightness(.72) blur(1px);transform:scale(1.03)}
#homeView:after{content:"";position:fixed;inset:0;z-index:-3;background:linear-gradient(180deg,rgba(1,18,31,.02) 0%,rgba(2,27,44,.18) 38%,rgba(1,21,36,.34) 100%)!important;pointer-events:none}
#homeView .heroBannerImage{height:350px!important;min-height:350px!important;margin:0!important;border-radius:0!important;background:linear-gradient(180deg,rgba(1,13,23,.02) 58%,rgba(2,23,39,.25)),url('assets/boat-race-v-banner.png') center 46%/cover no-repeat!important;box-shadow:none!important}
#homeView .heroBannerImage:after{display:none!important}.heroTagline{position:absolute;right:22px;top:58px;color:#fff;text-align:right;font-family:serif;font-size:16px;line-height:1.25;letter-spacing:.08em;text-shadow:0 2px 10px #001}.heroTagline small{display:block;margin-top:6px;font-size:7px;letter-spacing:.18em;font-style:italic}.bannerVersion{top:15px!important;right:15px!important}
#homeView .homeDateControl{width:calc(100% - 40px)!important;margin:-56px 20px 14px!important;padding:10px 12px!important;border-radius:14px!important;background:linear-gradient(145deg,rgba(4,35,58,.90),rgba(7,55,83,.82))!important;border:1px solid rgba(213,244,255,.34)!important;box-shadow:0 12px 28px rgba(0,14,25,.35)!important;backdrop-filter:blur(14px);z-index:5}.homeDateControl .statusTop{display:none!important}.homeDateControl #statusDetail{display:none!important}.homeDateControl .dateRow{margin:0!important;display:grid!important;grid-template-columns:40px 1fr 40px!important;gap:8px!important}.homeDateControl .dateRow input,.homeDateControl .dateRow button{height:44px!important;background:rgba(4,31,52,.64)!important;border:1px solid rgba(255,255,255,.22)!important;color:#fff!important;border-radius:10px!important;font-weight:800!important}
#homeView .venueHeroBanner,#homeView .pinnedHeroBanner,.homeDataPanel,.homeLiveBanner{margin:12px 18px 10px!important;border-radius:17px!important;border:1px solid rgba(213,244,255,.30)!important;background:linear-gradient(145deg,rgba(3,29,49,.88),rgba(6,48,74,.76))!important;box-shadow:0 12px 30px rgba(0,14,25,.34),inset 0 1px 0 rgba(255,255,255,.10)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#fff!important}
#homeView .venueHeroBanner{padding:13px 16px!important;margin-bottom:7px!important}.venueHeroDate{font-size:9px!important;letter-spacing:.12em;color:rgba(235,249,255,.8)!important}.venueHeroText h2{font-size:18px!important}.venueHeroText small{color:rgba(230,246,252,.72)!important}
#homeView .venueGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important;padding:0 18px 8px!important}
#homeView .venue{min-height:176px!important;border-radius:14px!important;padding:0 9px 9px!important;justify-content:flex-end!important;text-align:left!important;overflow:hidden!important;background:linear-gradient(180deg,rgba(2,18,31,.02) 0 34%,rgba(2,25,43,.48) 56%,rgba(2,20,35,.95) 100%),url('assets/boat-race-v-banner.png') center/cover no-repeat!important;border:1px solid rgba(220,246,255,.36)!important;box-shadow:0 10px 24px rgba(0,12,22,.36)!important}
#homeView .venue:nth-child(6n+1){background-position:15% 55%!important}#homeView .venue:nth-child(6n+2){background-position:34% 52%!important}#homeView .venue:nth-child(6n+3){background-position:55% 54%!important}#homeView .venue:nth-child(6n+4){background-position:72% 50%!important}#homeView .venue:nth-child(6n+5){background-position:86% 55%!important}#homeView .venue:nth-child(6n){background-position:98% 52%!important}
#homeView .venue:before{content:""!important;position:absolute!important;inset:0!important;height:auto!important;background:linear-gradient(180deg,rgba(1,17,29,.00) 25%,rgba(1,18,31,.08) 44%,rgba(1,18,31,.88) 100%)!important;z-index:0!important}#homeView .venue:after{display:none!important}#homeView .venue>*{position:relative;z-index:1;margin-left:0!important;margin-right:0!important}
#homeView .venueWeather{position:absolute!important;top:8px;left:8px!important;margin:0!important;padding:3px 5px!important;font-size:7px!important}.venueWeather .wxIcon{font-size:11px!important}
#homeView .venue .name{font-size:17px!important;margin-top:62px!important;margin-bottom:1px!important;color:#fff!important;text-shadow:0 2px 8px rgba(0,0,0,.55)}#homeView .venue .meta{font-size:7px!important;color:rgba(232,247,252,.68)!important}#homeView .venue .count{font-size:9px!important;color:#fff!important;margin-top:3px!important}#homeView .venueRaceInfo{font-size:8px!important;margin-top:3px!important}.venuePickupCounts{gap:2px!important;margin-top:4px!important}.venuePickCount{font-size:5.8px!important;padding:2px 4px!important}.venueHits{margin-top:3px!important;margin-bottom:0!important}.venueHitBadge,.venueNoHit{font-size:6px!important;padding:2px 4px!important}
.homeLiveBanner{width:calc(100% - 36px)!important;padding:16px!important;display:grid!important;grid-template-columns:38px 1fr auto!important;align-items:center!important;text-align:left!important;gap:8px!important}.homeLiveBanner .livePlay{font-size:24px}.homeLiveBanner b{display:block;font-size:19px}.homeLiveBanner small{display:block;font-size:9px;color:rgba(230,246,252,.72);margin-top:5px}.homeLiveBanner i{font-size:8px;line-height:1.2;letter-spacing:.12em;text-align:right;font-style:normal;color:rgba(235,249,255,.8)}
.homeDataPanel{padding:13px!important}.homePanelTitle{display:flex;align-items:center;gap:9px;padding:0 4px 10px}.homePanelTitle b{font-size:18px}.homePanelTitle small{margin-left:auto;font-size:8px;letter-spacing:.12em;color:rgba(235,249,255,.72)}#homeView .homeDataPanel .summaryGrid{padding:0!important;margin:0!important;gap:0!important;border:1px solid rgba(255,255,255,.13);border-radius:12px;overflow:hidden;background:rgba(255,255,255,.04)}#homeView .homeDataPanel .summaryGrid>div{min-height:74px!important;border:0!important;border-right:1px solid rgba(255,255,255,.12)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}#homeView .homeDataPanel .summaryGrid>div:last-child{border-right:0!important}#homeView .homeDataPanel .summaryGrid small{font-size:8px!important}#homeView .homeDataPanel .summaryGrid b{font-size:23px!important;color:#fff!important}#homeView .homeDataPanel .hitSummary b{color:#ff4b43!important}
#homeView .pinnedHeroBanner{padding:14px 16px!important}.panelMore{margin-left:auto;font-size:8px;letter-spacing:.12em;color:rgba(235,249,255,.72)}#homeView .pinnedRaceList{margin:0 18px 12px!important}.pinnedRaceList .loadingBox{background:linear-gradient(145deg,rgba(3,29,49,.88),rgba(6,48,74,.76))!important;border-color:rgba(213,244,255,.25)!important;color:rgba(230,246,252,.72)!important}
.bottomNav{height:88px!important;background:linear-gradient(180deg,rgba(3,38,64,.94),rgba(2,25,43,.99))!important;border-top:1px solid rgba(183,233,250,.22)!important;backdrop-filter:blur(18px)!important}.bottomNav button{border-radius:0!important}.bottomNav button.active{margin:7px 5px!important;border-radius:14px!important;background:linear-gradient(145deg,rgba(7,126,188,.85),rgba(4,77,126,.80))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 6px 18px rgba(0,19,32,.28)!important}
@media(max-width:430px){#homeView .heroBannerImage{height:300px!important;min-height:300px!important}.heroTagline{top:46px;right:15px;font-size:12px}#homeView .homeDateControl{margin-top:-48px!important;width:calc(100% - 28px)!important;margin-left:14px!important;margin-right:14px!important}#homeView .venueGrid{padding-left:10px!important;padding-right:10px!important;gap:6px!important}#homeView .venue{min-height:165px!important;padding-left:7px!important;padding-right:7px!important}#homeView .venue .name{font-size:15px!important}.homeLiveBanner,#homeView .venueHeroBanner,#homeView .pinnedHeroBanner,.homeDataPanel{margin-left:10px!important;margin-right:10px!important}.homeLiveBanner{width:calc(100% - 20px)!important}}

/* ===== v0.9.00 HOME VISUAL CORRECTION =====
   Keep the real-water direction without reusing the logo artwork inside venue cards. */
#homeView:before{
  background:
    radial-gradient(ellipse at 72% 18%,rgba(255,255,255,.18),transparent 26%),
    repeating-radial-gradient(ellipse at 50% 118%,transparent 0 24px,rgba(215,248,255,.12) 25px 27px,transparent 28px 52px),
    linear-gradient(180deg,#0a6e8d 0%,#075a79 28%,#064662 60%,#04344e 100%)!important;
  filter:none!important;transform:none!important;
}
#homeView:after{
  background:linear-gradient(180deg,rgba(1,20,34,.02),rgba(1,25,42,.12) 40%,rgba(1,19,33,.26))!important;
}
#homeView .heroBannerImage{
  width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:16/9!important;
  margin:0!important;border-radius:0 0 22px 22px!important;
  background-image:url('assets/boat-race-v-banner.png')!important;
  background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;
  box-shadow:0 12px 28px rgba(0,18,31,.28)!important;
}
#homeView .heroTagline{display:none!important}
#homeView .homeDateControl{margin:-18px 14px 14px!important;width:calc(100% - 28px)!important;position:relative!important}
#homeView .venueHeroBanner,#homeView .pinnedHeroBanner,.homeDataPanel,.homeLiveBanner{
  background:linear-gradient(145deg,rgba(3,38,62,.90),rgba(5,63,91,.82))!important;
}
#homeView .venueGrid{gap:8px!important;padding:0 12px 10px!important}
#homeView .venue{
  min-height:190px!important;padding:10px 10px 11px!important;justify-content:flex-end!important;
  background:
    linear-gradient(180deg,rgba(2,32,49,.08) 0%,rgba(2,37,55,.20) 36%,rgba(2,27,45,.88) 72%,rgba(1,20,35,.98) 100%),
    radial-gradient(ellipse at 74% 18%,rgba(215,248,255,.35),transparent 28%),
    repeating-radial-gradient(ellipse at 50% 105%,rgba(255,255,255,.12) 0 2px,transparent 3px 13px),
    linear-gradient(165deg,#1488a8 0%,#08718f 38%,#075773 68%,#06445e 100%)!important;
  background-position:center!important;background-size:auto!important;
  border:1px solid rgba(206,241,252,.38)!important;
  box-shadow:0 11px 24px rgba(0,15,26,.32),inset 0 1px 0 rgba(255,255,255,.12)!important;
}
#homeView .venue:before{
  content:""!important;position:absolute!important;inset:auto -8% 47px -8%!important;height:45px!important;
  background:repeating-radial-gradient(ellipse at 50% 100%,rgba(230,250,255,.18) 0 2px,transparent 3px 13px)!important;
  opacity:.7;transform:rotate(-2deg);z-index:0!important;
}
#homeView .venue:after{
  display:block!important;content:""!important;position:absolute!important;right:-16px!important;top:42px!important;
  width:94px!important;height:38px!important;opacity:.16!important;
  background:url('assets/boat-1.png') center/contain no-repeat!important;transform:rotate(-8deg) scale(1.35)!important;
}
#homeView .venue>*{position:relative;z-index:2}
#homeView .venueWeather{top:9px!important;left:9px!important}
#homeView .venue .name{margin-top:54px!important;font-size:18px!important}
#homeView .venue .meta{font-size:8px!important;min-height:20px}
#homeView .venue .count{font-size:10px!important;margin-top:5px!important}
#homeView .venueRaceInfo{font-size:9px!important;margin-top:5px!important}
#homeView .venuePickCount{font-size:6.5px!important;padding:3px 5px!important}
#homeView .venueHitBadge,#homeView .venueNoHit{font-size:7px!important}
@media(max-width:430px){
 #homeView .heroBannerImage{height:auto!important;min-height:0!important;aspect-ratio:16/9!important}
 #homeView .venueGrid{padding-left:10px!important;padding-right:10px!important;gap:7px!important}
 #homeView .venue{min-height:184px!important}
 #homeView .venue .name{font-size:17px!important}
}


/* ===== v0.9.01 REAL WATER / PHOTO UI REBUILD ===== */
#homeView{position:relative;background:#05253a!important;isolation:isolate}
#homeView:before{content:""!important;position:fixed!important;inset:0!important;z-index:-2!important;background:url('assets/real-water-ui-reference.png') center top/cover no-repeat!important;filter:saturate(.88) brightness(.58)!important;transform:scale(1.035)!important}
#homeView:after{content:""!important;position:fixed!important;inset:0!important;z-index:-1!important;background:linear-gradient(180deg,rgba(2,17,29,.08) 0%,rgba(2,25,42,.22) 44%,rgba(1,18,31,.62) 100%)!important;pointer-events:none}
#homeView .heroBannerImage{height:330px!important;min-height:330px!important;aspect-ratio:auto!important;border-radius:0!important;margin:0!important;background-image:linear-gradient(180deg,rgba(1,14,24,.04),rgba(1,18,31,.28)),url('assets/boat-race-v-banner.png')!important;background-size:cover!important;background-position:center 48%!important;box-shadow:0 14px 34px rgba(0,11,20,.34)!important}
#homeView .bannerVersion{top:18px!important;right:18px!important;background:rgba(3,28,48,.62)!important;border:1px solid rgba(255,255,255,.35)!important;backdrop-filter:blur(10px)!important}
#homeView .homeDateControl{width:calc(100% - 36px)!important;margin:-58px 18px 16px!important;padding:13px!important;border-radius:18px!important;background:linear-gradient(145deg,rgba(3,34,56,.90),rgba(5,55,80,.84))!important;border:1px solid rgba(218,245,255,.32)!important;box-shadow:0 15px 34px rgba(0,12,22,.36)!important;backdrop-filter:blur(18px)!important;color:#fff!important}
#homeView .homeDateControl .statusTop,#homeView .homeDateControl #statusDetail{display:none!important}
#homeView .dateRow{margin:0!important;gap:10px!important}#homeView .dateRow input,#homeView .dateRow button{height:52px!important;background:rgba(3,27,47,.66)!important;border:1px solid rgba(255,255,255,.24)!important;color:#fff!important;border-radius:13px!important;font-weight:900!important}
#homeView .venueHeroBanner{margin:0 18px 10px!important;padding:13px 16px!important;border-radius:17px!important;background:linear-gradient(145deg,rgba(3,30,51,.88),rgba(4,48,72,.80))!important;border:1px solid rgba(220,247,255,.29)!important;box-shadow:0 12px 28px rgba(0,12,22,.28)!important;backdrop-filter:blur(16px)!important}
#homeView .venueGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important;padding:0 18px 14px!important}
#homeView .venue{min-height:198px!important;border-radius:15px!important;padding:10px!important;overflow:hidden!important;justify-content:flex-end!important;text-align:left!important;border:1px solid rgba(229,249,255,.40)!important;box-shadow:0 12px 26px rgba(0,12,22,.38)!important;background-image:linear-gradient(180deg,rgba(2,18,30,.03) 0%,rgba(2,21,35,.08) 30%,rgba(2,24,40,.50) 58%,rgba(1,18,31,.97) 100%),url('assets/real-water-ui-reference.png')!important;background-size:auto 610px!important;background-repeat:no-repeat!important}
#homeView .venue:nth-child(6n+1){background-position:17% 35%!important}#homeView .venue:nth-child(6n+2){background-position:42% 40%!important}#homeView .venue:nth-child(6n+3){background-position:72% 39%!important}#homeView .venue:nth-child(6n+4){background-position:20% 57%!important}#homeView .venue:nth-child(6n+5){background-position:50% 58%!important}#homeView .venue:nth-child(6n){background-position:82% 57%!important}
#homeView .venue:before{content:""!important;position:absolute!important;inset:0!important;height:auto!important;background:linear-gradient(180deg,rgba(0,10,18,.02) 22%,rgba(0,13,23,.12) 43%,rgba(0,16,28,.87) 100%)!important;z-index:0!important}
#homeView .venue:after{display:none!important}#homeView .venue>*{position:relative!important;z-index:2!important}
#homeView .venueWeather{position:absolute!important;top:9px!important;left:9px!important;background:rgba(248,253,255,.91)!important;color:#163248!important;border:1px solid rgba(255,255,255,.72)!important;box-shadow:0 4px 12px rgba(0,0,0,.20)!important}
#homeView .venue .name{margin-top:72px!important;font-size:18px!important;color:#fff!important;text-shadow:0 2px 9px rgba(0,0,0,.72)!important}#homeView .venue .meta{font-size:7px!important;color:rgba(239,249,253,.72)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#homeView .venue .count{font-size:10px!important;color:#fff!important;margin-top:4px!important}#homeView .venueRaceInfo{font-size:9px!important;color:#fff!important}.venuePickupCounts{gap:2px!important;margin-top:5px!important}.venuePickCount{font-size:5.7px!important;padding:2px 4px!important}.venueHits{margin-top:4px!important}.venueHitBadge,.venueNoHit{font-size:6.3px!important;padding:2px 5px!important}
#homeView .homeLiveBanner,#homeView .homeDataPanel,#homeView .pinnedHeroBanner{background:linear-gradient(145deg,rgba(3,29,49,.88),rgba(5,49,73,.79))!important;border:1px solid rgba(220,247,255,.28)!important;box-shadow:0 13px 30px rgba(0,12,22,.32)!important;backdrop-filter:blur(16px)!important}
#homeView .homeLiveBanner{position:relative!important;overflow:hidden!important}#homeView .homeLiveBanner:before{content:"";position:absolute;inset:0;background:url('assets/real-water-ui-reference.png') center 69%/cover no-repeat;opacity:.20;z-index:0}#homeView .homeLiveBanner>*{position:relative;z-index:1}
.bottomNav{background:linear-gradient(180deg,rgba(3,39,65,.94),rgba(1,24,41,.99))!important;border-top:1px solid rgba(210,243,255,.22)!important;box-shadow:0 -10px 28px rgba(0,14,25,.28)!important;backdrop-filter:blur(18px)!important}
@media(max-width:430px){#homeView .heroBannerImage{height:300px!important;min-height:300px!important}#homeView .homeDateControl{margin-top:-48px!important;width:calc(100% - 28px)!important;margin-left:14px!important;margin-right:14px!important}#homeView .venueGrid{padding-left:10px!important;padding-right:10px!important;gap:7px!important}#homeView .venue{min-height:190px!important;padding:8px!important}#homeView .venue .name{font-size:16px!important}.homeLiveBanner,#homeView .venueHeroBanner,#homeView .pinnedHeroBanner,.homeDataPanel{margin-left:10px!important;margin-right:10px!important}.homeLiveBanner{width:calc(100% - 20px)!important}}

/* ===== v0.9.02 SEPARATE REAL BACKGROUND + REAL VENUE PHOTO CARDS ===== */
/* The old reference composite must never be tiled/cropped into cards. */
#homeView:before{
  content:""!important;position:fixed!important;inset:0!important;z-index:-2!important;
  background:
    linear-gradient(180deg,rgba(1,20,34,.30),rgba(1,25,42,.54)),
    url('https://stat.ameba.jp/user_images/20240503/17/0474niceone/25/2e/j/o1080081015433816983.jpg') center/cover fixed no-repeat!important;
  filter:saturate(.88) brightness(.72)!important;transform:scale(1.03)!important;
}
#homeView:after{background:linear-gradient(180deg,rgba(1,18,31,.10),rgba(1,22,37,.34) 52%,rgba(1,17,29,.72))!important}
#homeView .venue{
  position:relative!important;
  background-image:
    linear-gradient(180deg,rgba(0,10,18,.03) 0%,rgba(0,12,21,.10) 34%,rgba(1,18,31,.55) 62%,rgba(1,15,27,.96) 100%),
    var(--venue-photo,linear-gradient(160deg,#0a6585,#06334f))!important;
  background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;
}
#homeView .venue:nth-child(n){background-position:center!important}
#homeView .venue:before{content:""!important;position:absolute!important;inset:0!important;height:auto!important;background:linear-gradient(180deg,rgba(0,0,0,.02) 22%,rgba(0,0,0,.08) 43%,rgba(0,12,23,.82) 100%)!important;z-index:0!important}
#homeView .venue:after{display:none!important}
#homeView .venue .name{margin-top:70px!important;text-shadow:0 2px 8px rgba(0,0,0,.9)!important}
#homeView .venue .meta,#homeView .venue .count,#homeView .venueRaceInfo{text-shadow:0 1px 5px rgba(0,0,0,.95)!important}
/* Hero stays the BoatRace V banner; cards never use it. */
#homeView .heroBannerImage{background-image:url('assets/boat-race-v-banner.png')!important;background-size:cover!important;background-position:center!important}

/* ===== v0.9.03 ALL 24 REAL VENUES + CONCEPT BACKGROUND ===== */
/* Use the supplied 3rd reference image itself as the home background layer. */
#homeView:before{
  content:""!important;position:fixed!important;inset:0!important;z-index:-2!important;
  background:url('assets/home-water-reference.jpeg') center top/cover fixed no-repeat!important;
  filter:none!important;transform:none!important;opacity:1!important;
}
#homeView:after{
  content:""!important;position:fixed!important;inset:0!important;z-index:-1!important;
  background:linear-gradient(180deg,rgba(1,17,29,.06) 0%,rgba(1,22,38,.12) 44%,rgba(1,17,29,.40) 100%)!important;
  pointer-events:none!important;
}
/* Venue images are independent; never use the page background or hero image as fallback. */
#homeView .venue{
  background-image:linear-gradient(180deg,rgba(0,9,16,.02) 0%,rgba(0,12,21,.08) 34%,rgba(1,18,31,.48) 62%,rgba(1,15,27,.96) 100%),var(--venue-photo)!important;
  background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;
}


/* ===== v0.9.04 USER-SUPPLIED EXACT HOME BACKGROUND ===== */
#homeView:before{
 content:""!important;position:fixed!important;inset:0!important;z-index:-2!important;
 background:url('assets/home-background-v0929.jpeg') center top/cover fixed no-repeat!important;
 filter:none!important;transform:none!important;
}
#homeView:after{background:linear-gradient(180deg,rgba(1,18,31,.02),rgba(1,22,37,.16) 52%,rgba(1,17,29,.34))!important}

/* ===== v0.9.05 EXACT-FIT HOME BACKGROUND =====
   Keep the full supplied portrait artwork visible instead of cropping it with cover. */
#homeView:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-2!important;
  background-image:url('assets/home-background-v0929.jpeg')!important;
  background-position:center top!important;
  background-size:100% auto!important;
  background-repeat:repeat-y!important;
  background-attachment:scroll!important;
  filter:none!important;
  transform:none!important;
  opacity:1!important;
}
#homeView:after{
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(180deg,rgba(1,18,31,.02),rgba(1,22,37,.12) 52%,rgba(1,17,29,.28))!important;
}


/* ===== v0.9.06 REMOVE TOP HERO BANNER ===== */
#homeView>.hero.heroBannerImage{display:none!important;}
#homeView>.homeDateControl{margin:14px 14px 16px!important;width:calc(100% - 28px)!important;}

/* ===== v0.9.07 COMPACT LOWER-LEFT DATE CONTROL =====
   Keep the BOATRACE V logo embedded in the supplied background visible. */
#homeView>.homeDateControl{
  width:300px!important;
  max-width:calc(100% - 42px)!important;
  margin:205px auto 12px 20px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
#homeView>.homeDateControl .dateRow{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr) 38px!important;
  gap:7px!important;
  margin:0!important;
}
#homeView>.homeDateControl .dateRow input,
#homeView>.homeDateControl .dateRow button{
  height:42px!important;
  min-height:42px!important;
  padding:5px 7px!important;
  border-radius:11px!important;
  background:rgba(3,31,52,.86)!important;
  border:1px solid rgba(225,247,255,.30)!important;
  box-shadow:0 6px 16px rgba(0,13,24,.28)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:850!important;
}
@media(max-width:430px){
 #homeView>.homeDateControl{width:285px!important;max-width:calc(100% - 36px)!important;margin:195px auto 10px 18px!important;}
 #homeView>.homeDateControl .dateRow{grid-template-columns:36px minmax(0,1fr) 36px!important;gap:6px!important;}
 #homeView>.homeDateControl .dateRow input,#homeView>.homeDateControl .dateRow button{height:40px!important;min-height:40px!important;font-size:13px!important;}
}

/* ===== v0.9.08 SINGLE-PILL DATE SELECTOR ===== */
#homeView>.homeDateControl{width:310px!important;max-width:calc(100% - 40px)!important;margin:205px auto 12px 20px!important;}
#homeView>.homeDateControl .dateRow{position:relative!important;display:block!important;height:54px!important;margin:0!important;border-radius:15px!important;background:linear-gradient(145deg,rgba(4,38,63,.94),rgba(5,48,74,.92))!important;border:1px solid rgba(225,247,255,.30)!important;box-shadow:0 8px 20px rgba(0,13,24,.32)!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;overflow:hidden!important;}
#homeView>.homeDateControl .dateRow:before{content:'▣'!important;position:absolute!important;left:18px!important;top:50%!important;transform:translateY(-50%)!important;color:#fff!important;font-size:23px!important;line-height:1!important;z-index:2!important;pointer-events:none!important;}
#homeView>.homeDateControl .dateRow:after{content:'⌄'!important;position:absolute!important;right:18px!important;top:44%!important;transform:translateY(-50%)!important;color:#fff!important;font-size:25px!important;font-weight:900!important;line-height:1!important;z-index:2!important;pointer-events:none!important;}
#homeView>.homeDateControl #prevDate,#homeView>.homeDateControl #nextDate{display:none!important;}
#homeView>.homeDateControl #raceDate{display:block!important;width:100%!important;height:54px!important;min-height:54px!important;margin:0!important;padding:0 50px 0 56px!important;border:0!important;border-radius:15px!important;background:transparent!important;box-shadow:none!important;color:#fff!important;font-size:18px!important;font-weight:900!important;letter-spacing:.3px!important;text-align:left!important;-webkit-appearance:none!important;appearance:none!important;}
#homeView>.homeDateControl #raceDate::-webkit-calendar-picker-indicator{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;cursor:pointer!important;}
@media(max-width:430px){#homeView>.homeDateControl{width:300px!important;max-width:calc(100% - 36px)!important;margin:195px auto 10px 18px!important;}#homeView>.homeDateControl .dateRow,#homeView>.homeDateControl #raceDate{height:52px!important;min-height:52px!important;}#homeView>.homeDateControl #raceDate{font-size:17px!important;}}

/* ===== v0.9.09 SMALL DATE PILL + FIXED CALENDAR ICON ===== */
#homeView>.homeDateControl{
  width:244px!important;
  max-width:calc(100% - 32px)!important;
  padding:0!important;
  margin:202px auto 10px 18px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
#homeView>.homeDateControl .dateRow{
  height:44px!important;
  border-radius:12px!important;
  background:linear-gradient(145deg,rgba(4,38,63,.95),rgba(5,48,74,.93))!important;
}
#homeView>.homeDateControl .dateRow:before{
  content:'📅'!important;
  left:13px!important;
  font-size:18px!important;
  line-height:1!important;
  filter:grayscale(1) brightness(4)!important;
}
#homeView>.homeDateControl .dateRow:after{
  content:'⌄'!important;
  right:14px!important;
  top:43%!important;
  font-size:21px!important;
}
#homeView>.homeDateControl #raceDate{
  height:44px!important;
  min-height:44px!important;
  padding:0 38px 0 43px!important;
  font-size:15px!important;
  letter-spacing:0!important;
  text-align:left!important;
}
@media(max-width:430px){
 #homeView>.homeDateControl{width:238px!important;max-width:calc(100% - 32px)!important;margin:202px auto 10px 18px!important;}
 #homeView>.homeDateControl .dateRow,#homeView>.homeDateControl #raceDate{height:44px!important;min-height:44px!important;}
 #homeView>.homeDateControl #raceDate{font-size:15px!important;}
}

/* ===== v0.9.10 EXACT DATE CARD IMAGE ===== */
#homeView>.homeDateControl{width:330px!important;max-width:calc(100% - 36px)!important;height:auto!important;margin:202px auto 10px 18px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;overflow:visible!important;}
#homeView>.homeDateControl .statusTop,#homeView>.homeDateControl #statusDetail{display:none!important;}
#homeView>.homeDateControl .dateRow{display:block!important;position:relative!important;width:100%!important;height:auto!important;aspect-ratio:362/91!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:url('assets/date-pill-reference.jpeg') center/100% 100% no-repeat!important;box-shadow:none!important;overflow:hidden!important;}
#homeView>.homeDateControl .dateRow:before,#homeView>.homeDateControl .dateRow:after{display:none!important;content:none!important;}
#homeView>.homeDateControl #prevDate,#homeView>.homeDateControl #nextDate{display:none!important;}
#homeView>.homeDateControl #raceDate{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:transparent!important;caret-color:transparent!important;font-size:0!important;box-shadow:none!important;opacity:.001!important;-webkit-appearance:none!important;appearance:none!important;cursor:pointer!important;}
#homeView>.homeDateControl #raceDate::-webkit-calendar-picker-indicator{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;cursor:pointer!important;}
@media(max-width:430px){#homeView>.homeDateControl{width:300px!important;max-width:calc(100% - 32px)!important;margin:202px auto 10px 18px!important;}}

/* ===== v0.9.11 NATIVE DATE PILL ===== */
#homeView>.homeDateControl{width:260px!important;max-width:calc(100% - 36px)!important;height:54px!important;margin:202px auto 10px 18px!important;padding:0!important;border:0!important;border-radius:14px!important;background:linear-gradient(180deg,rgba(5,39,64,.96),rgba(5,31,52,.96))!important;box-shadow:0 5px 14px rgba(0,10,20,.30)!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important;overflow:hidden!important;}
#homeView>.homeDateControl .statusTop,#homeView>.homeDateControl #statusDetail{display:none!important;}
#homeView>.homeDateControl .dateRow{display:flex!important;align-items:center!important;position:relative!important;width:100%!important;height:54px!important;aspect-ratio:auto!important;margin:0!important;padding:0!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:14px!important;background:transparent!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;overflow:hidden!important;}
#homeView>.homeDateControl .dateRow:before{display:block!important;content:'📅'!important;position:absolute!important;left:14px!important;top:50%!important;transform:translateY(-50%)!important;font-size:21px!important;line-height:1!important;filter:none!important;z-index:3!important;pointer-events:none!important;}
#homeView>.homeDateControl .dateRow:after{display:block!important;content:'⌄'!important;position:absolute!important;right:14px!important;top:43%!important;transform:translateY(-50%)!important;color:#fff!important;font-size:22px!important;font-weight:900!important;line-height:1!important;z-index:3!important;pointer-events:none!important;}
#homeView>.homeDateControl #prevDate,#homeView>.homeDateControl #nextDate{display:none!important;}
#homeView>.homeDateControl #raceDate{position:relative!important;inset:auto!important;display:block!important;width:100%!important;height:54px!important;min-height:54px!important;margin:0!important;padding:0 43px 0 49px!important;border:0!important;border-radius:14px!important;background:transparent!important;color:#fff!important;caret-color:transparent!important;font-size:17px!important;font-weight:900!important;letter-spacing:.15px!important;text-align:left!important;opacity:1!important;-webkit-appearance:none!important;appearance:none!important;box-shadow:none!important;cursor:pointer!important;}
#homeView>.homeDateControl #raceDate::-webkit-calendar-picker-indicator{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;cursor:pointer!important;}
@media(max-width:430px){#homeView>.homeDateControl{width:252px!important;height:52px!important;max-width:calc(100% - 32px)!important;margin:202px auto 10px 18px!important;}#homeView>.homeDateControl .dateRow,#homeView>.homeDateControl #raceDate{height:52px!important;min-height:52px!important;}#homeView>.homeDateControl #raceDate{font-size:16px!important;}}

/* ===== v0.9.12 COMPACT CENTERED DATE PILL ===== */
#homeView>.homeDateControl{
  width:220px!important;
  height:44px!important;
  max-width:calc(100% - 32px)!important;
  margin:202px auto 10px 18px!important;
  border-radius:12px!important;
}
#homeView>.homeDateControl .dateRow{
  height:44px!important;
  min-height:44px!important;
  border-radius:12px!important;
}
#homeView>.homeDateControl .dateRow:before{
  left:12px!important;
  top:50%!important;
  font-size:18px!important;
}
#homeView>.homeDateControl .dateRow:after{
  right:12px!important;
  top:50%!important;
  font-size:19px!important;
}
#homeView>.homeDateControl #raceDate{
  height:44px!important;
  min-height:44px!important;
  padding:0 35px 0 40px!important;
  font-size:14px!important;
  line-height:44px!important;
  text-align:center!important;
  vertical-align:middle!important;
}
@media(max-width:430px){
 #homeView>.homeDateControl{width:214px!important;height:42px!important;}
 #homeView>.homeDateControl .dateRow,#homeView>.homeDateControl #raceDate{height:42px!important;min-height:42px!important;}
 #homeView>.homeDateControl #raceDate{font-size:14px!important;line-height:42px!important;}
}

/* ===== v0.9.13 REFERENCE-STYLE TODAY VENUES ===== */
/* One glass panel visually joins the section heading and the venue grid. */
#homeView .venueHeroBanner{
  margin:12px 10px 0!important;
  padding:13px 15px 11px!important;
  border-radius:17px 17px 0 0!important;
  border:1px solid rgba(220,244,255,.30)!important;
  border-bottom:0!important;
  background:rgba(4,31,51,.80)!important;
  box-shadow:0 8px 24px rgba(0,13,24,.24)!important;
  backdrop-filter:blur(13px)!important;
  -webkit-backdrop-filter:blur(13px)!important;
}
#homeView .venueHeroBanner .venueHeroIcon{font-size:20px!important}
#homeView .venueHeroBanner h2{font-size:17px!important;letter-spacing:.01em!important}
#homeView .venueHeroBanner small{display:none!important}
#homeView .venueHeroDate{font-size:10px!important;letter-spacing:.12em!important;color:#fff!important;opacity:.9!important}
#homeView .venueGrid{
  margin:0 10px 12px!important;
  padding:0 10px 11px!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
  border:1px solid rgba(220,244,255,.30)!important;
  border-top:0!important;
  border-radius:0 0 17px 17px!important;
  background:rgba(4,31,51,.80)!important;
  box-shadow:0 10px 24px rgba(0,13,24,.24)!important;
  backdrop-filter:blur(13px)!important;
  -webkit-backdrop-filter:blur(13px)!important;
}
#homeView .venue{
  min-height:128px!important;
  height:128px!important;
  padding:0!important;
  border-radius:12px!important;
  border:1px solid rgba(224,246,255,.35)!important;
  box-shadow:0 5px 12px rgba(0,10,20,.25)!important;
  overflow:hidden!important;
  justify-content:flex-end!important;
  background-image:linear-gradient(180deg,rgba(0,10,18,.02) 0%,rgba(0,12,22,.04) 38%,rgba(1,19,33,.56) 66%,rgba(1,15,27,.95) 100%),var(--venue-photo)!important;
  background-size:cover!important;
  background-position:center!important;
}
#homeView .venue:before{background:linear-gradient(180deg,transparent 38%,rgba(1,17,29,.18) 53%,rgba(1,15,27,.90) 100%)!important}
#homeView .venue>*{margin-left:9px!important;margin-right:9px!important}
#homeView .venue .name{
  margin-top:0!important;
  margin-bottom:0!important;
  font-size:16px!important;
  line-height:1.05!important;
  color:#fff!important;
  text-shadow:0 2px 7px rgba(0,0,0,.9)!important;
}
#homeView .venue .meta{display:none!important}
#homeView .venue .count{
  margin-top:3px!important;
  margin-bottom:22px!important;
  font-size:9px!important;
  line-height:1!important;
  color:#fff!important;
  font-weight:850!important;
}
#homeView .venueWeather{
  top:auto!important;bottom:7px!important;left:0!important;
  margin:0 0 0 9px!important;padding:0!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
  color:#fff!important;font-size:9px!important;gap:2px!important;
}
#homeView .venueWeather .wxIcon{font-size:15px!important}
#homeView .venueRaceInfo{
  position:absolute!important;left:42px!important;right:22px!important;bottom:8px!important;
  margin:0!important;padding:0!important;
  display:flex!important;align-items:center!important;gap:4px!important;
  color:#fff!important;font-size:9px!important;line-height:1!important;
}
#homeView .venueRaceInfo:after{content:'›';position:absolute;right:-17px;bottom:-2px;font-size:20px;font-weight:400;color:#fff}
#homeView .venueRaceInfo .raceNo,#homeView .venueRaceInfo .closeTime{font-size:9px!important;color:#fff!important;font-weight:750!important}
/* Requested: temporarily remove escape/fly count rows from venue cards. */
#homeView .venuePickupCounts{display:none!important}
/* Keep hit statistics in data, but omit the badge from these reference-style venue cards. */
#homeView .venueHits{display:none!important}
@media(max-width:430px){
 #homeView .venueHeroBanner{margin-left:9px!important;margin-right:9px!important}
 #homeView .venueGrid{margin-left:9px!important;margin-right:9px!important;padding:0 7px 9px!important;gap:6px!important}
 #homeView .venue{min-height:124px!important;height:124px!important}
 #homeView .venue .name{font-size:15px!important}
 #homeView .venue .count{font-size:8.5px!important;margin-bottom:21px!important}
}

/* ===== v0.9.14 VENUE CARD LAYOUT FIX ===== */
#homeView .venueGrid{box-sizing:border-box!important;width:auto!important;max-width:calc(100% - 20px)!important;overflow:hidden!important}
#homeView .venue{box-sizing:border-box!important;width:100%!important;min-width:0!important;position:relative!important;overflow:hidden!important}
#homeView .venue>*{box-sizing:border-box!important;max-width:calc(100% - 16px)!important}
#homeView .venue .name{position:absolute!important;left:9px!important;right:7px!important;bottom:52px!important;margin:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;z-index:3!important}
#homeView .venue .count{position:absolute!important;left:9px!important;right:7px!important;bottom:35px!important;margin:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;z-index:3!important}
#homeView .venueWeather{position:absolute!important;left:9px!important;bottom:9px!important;margin:0!important;max-width:36px!important;z-index:3!important}
#homeView .venueWeather span:not(.wxIcon){display:none!important}
#homeView .venueRaceInfo{position:absolute!important;left:43px!important;right:22px!important;bottom:10px!important;margin:0!important;max-width:none!important;min-width:0!important;display:flex!important;justify-content:flex-start!important;gap:4px!important;white-space:nowrap!important;overflow:hidden!important;z-index:3!important}
#homeView .venueRaceInfo .raceNo,#homeView .venueRaceInfo .closeTime{display:inline-block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#homeView .venueRaceInfo .raceNo{flex:0 0 auto!important}
#homeView .venueRaceInfo .closeTime{flex:1 1 auto!important;min-width:0!important}
#homeView .venueRaceInfo:after{right:0!important}
@media(max-width:430px){
 #homeView .venueGrid{max-width:calc(100% - 18px)!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;padding-left:7px!important;padding-right:7px!important}
 #homeView .venue .name{left:7px!important;right:5px!important;bottom:51px!important;font-size:14px!important}
 #homeView .venue .count{left:7px!important;right:5px!important;bottom:34px!important;font-size:8px!important}
 #homeView .venueWeather{left:7px!important;bottom:8px!important}
 #homeView .venueRaceInfo{left:38px!important;right:17px!important;bottom:9px!important;font-size:8px!important}
 #homeView .venueRaceInfo .raceNo,#homeView .venueRaceInfo .closeTime{font-size:8px!important}
 #homeView .venueRaceInfo:after{font-size:17px!important;right:-1px!important}
}

/* v0.9.15: compact calendar inside venue header + daily data in former calendar position */
#homeView>.homeDataPanel{
  width:360px!important;max-width:calc(100% - 36px)!important;
  margin:202px auto 12px 18px!important;padding:10px 12px!important;
  border-radius:16px!important;background:rgba(4,35,57,.88)!important;
  border:1px solid rgba(255,255,255,.20)!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;
  box-shadow:0 8px 22px rgba(0,10,20,.28)!important;
}
#homeView>.homeDataPanel .homePanelTitle{margin:0 0 8px!important;min-height:20px!important}
#homeView>.homeDataPanel .homePanelTitle b{font-size:14px!important}
#homeView>.homeDataPanel .homePanelTitle span{font-size:14px!important}
#homeView>.homeDataPanel .homePanelTitle small{font-size:9px!important}
#homeView>.homeDataPanel .summaryGrid{gap:0!important;padding:0!important;background:transparent!important;border:0!important}
#homeView>.homeDataPanel .summaryGrid>div{padding:4px 7px!important;min-height:42px!important}
#homeView>.homeDataPanel .summaryGrid small{font-size:8px!important}
#homeView>.homeDataPanel .summaryGrid b{font-size:18px!important;line-height:1.1!important}

#homeView>.venueHeroBanner{position:relative!important;padding-right:180px!important;min-height:72px!important}
#homeView>.venueHeroBanner .venueHeroDate{display:none!important}
#homeView>.venueHeroBanner .homeDateControl{
  position:absolute!important;right:12px!important;top:50%!important;transform:translateY(-50%)!important;
  width:158px!important;height:36px!important;margin:0!important;padding:0!important;border:0!important;
  border-radius:11px!important;background:linear-gradient(180deg,rgba(5,39,64,.96),rgba(5,31,52,.96))!important;
  box-shadow:0 4px 12px rgba(0,10,20,.25)!important;overflow:hidden!important;
}
#homeView>.venueHeroBanner .homeDateControl .statusTop,#homeView>.venueHeroBanner .homeDateControl #statusDetail{display:none!important}
#homeView>.venueHeroBanner .homeDateControl .dateRow{display:flex!important;align-items:center!important;position:relative!important;width:100%!important;height:36px!important;margin:0!important;padding:0!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:11px!important;background:transparent!important;overflow:hidden!important}
#homeView>.venueHeroBanner .homeDateControl .dateRow:before{content:'📅'!important;display:block!important;position:absolute!important;left:9px!important;top:50%!important;transform:translateY(-50%)!important;font-size:15px!important;line-height:1!important;z-index:3!important;pointer-events:none!important}
#homeView>.venueHeroBanner .homeDateControl .dateRow:after{content:'⌄'!important;display:block!important;position:absolute!important;right:9px!important;top:43%!important;transform:translateY(-50%)!important;color:#fff!important;font-size:16px!important;font-weight:900!important;line-height:1!important;z-index:3!important;pointer-events:none!important}
#homeView>.venueHeroBanner .homeDateControl #prevDate,#homeView>.venueHeroBanner .homeDateControl #nextDate{display:none!important}
#homeView>.venueHeroBanner .homeDateControl #raceDate{display:block!important;width:100%!important;height:36px!important;min-height:36px!important;margin:0!important;padding:0 28px 0 31px!important;border:0!important;background:transparent!important;color:#fff!important;font-size:12px!important;font-weight:900!important;line-height:36px!important;text-align:center!important;-webkit-appearance:none!important;appearance:none!important;box-shadow:none!important}
#homeView>.venueHeroBanner .homeDateControl #raceDate::-webkit-calendar-picker-indicator{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;cursor:pointer!important}
@media(max-width:430px){
 #homeView>.homeDataPanel{width:330px!important;max-width:calc(100% - 36px)!important;margin-left:18px!important}
 #homeView>.venueHeroBanner{padding-right:150px!important}
 #homeView>.venueHeroBanner .homeDateControl{width:140px!important;right:9px!important}
 #homeView>.venueHeroBanner .homeDateControl #raceDate{font-size:11px!important;padding-left:28px!important;padding-right:25px!important}
 #homeView>.venueHeroBanner h2{font-size:16px!important}
}


/* ===== v0.9.16 UNIFIED TRANSLUCENT GLASS HOME UI ===== */
#homeView>.homeDataPanel,
#homeView>.venueHeroBanner,
#homeView>.venueGrid,
#homeView>.homeLiveBanner,
#homeView>.pinnedHeroBanner,
#homeView>.pinnedRaceList .loadingBox{
  background:linear-gradient(145deg,rgba(3,29,49,.54),rgba(6,48,74,.42))!important;
  border-color:rgba(220,247,255,.30)!important;
  box-shadow:0 12px 28px rgba(0,12,22,.22),inset 0 1px 0 rgba(255,255,255,.10)!important;
  backdrop-filter:blur(10px) saturate(118%)!important;
  -webkit-backdrop-filter:blur(10px) saturate(118%)!important;
}
#homeView>.homeDataPanel{background:linear-gradient(145deg,rgba(3,29,49,.50),rgba(6,48,74,.39))!important}
#homeView>.venueHeroBanner{background:linear-gradient(145deg,rgba(3,29,49,.52),rgba(6,48,74,.40))!important}
#homeView>.venueGrid{background:linear-gradient(145deg,rgba(3,29,49,.50),rgba(6,48,74,.38))!important}
#homeView>.pinnedHeroBanner{background:linear-gradient(145deg,rgba(3,29,49,.52),rgba(6,48,74,.40))!important}
#homeView>.venueHeroBanner .homeDateControl{
  background:linear-gradient(180deg,rgba(4,34,56,.58),rgba(3,27,46,.48))!important;
  border:1px solid rgba(220,247,255,.28)!important;
  backdrop-filter:blur(9px)!important;-webkit-backdrop-filter:blur(9px)!important;
}
#homeView>.venueHeroBanner .homeDateControl .dateRow{border-color:rgba(255,255,255,.16)!important}
#homeView>.pinnedRaceList .pinnedRaceCard{
  background:linear-gradient(145deg,rgba(3,29,49,.62),rgba(6,48,74,.50))!important;
  border-color:rgba(220,247,255,.25)!important;color:#fff!important;
  backdrop-filter:blur(9px)!important;-webkit-backdrop-filter:blur(9px)!important;
}


/* ===== v0.9.17: true transparent-glass panels + lift home content ===== */
#homeView>.homeDataPanel,
#homeView>.venueHeroBanner,
#homeView>.venueGrid,
#homeView>.homeLiveBanner,
#homeView>.pinnedHeroBanner,
#homeView>.pinnedRaceList,
#homeView>.pinnedEmpty {
  background:rgba(3,31,52,.34)!important;
  border:1px solid rgba(225,247,255,.30)!important;
  box-shadow:0 10px 28px rgba(0,12,22,.18), inset 0 1px 0 rgba(255,255,255,.11)!important;
  backdrop-filter:blur(11px) saturate(120%)!important;
  -webkit-backdrop-filter:blur(11px) saturate(120%)!important;
}
#homeView>.homeDataPanel{
  margin-top:166px!important;
  background:rgba(3,31,52,.32)!important;
}
#homeView>.venueHeroBanner{background:rgba(3,31,52,.32)!important}
#homeView>.venueGrid{background:rgba(3,31,52,.27)!important}
#homeView>.homeLiveBanner{background:rgba(3,31,52,.31)!important}
#homeView>.pinnedHeroBanner{background:rgba(3,31,52,.31)!important}
#homeView>.venueHeroBanner .homeDateControl{
  background:rgba(3,31,52,.40)!important;
  border:1px solid rgba(225,247,255,.28)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
  backdrop-filter:blur(9px) saturate(120%)!important;
  -webkit-backdrop-filter:blur(9px) saturate(120%)!important;
}
#homeView>.venueHeroBanner .homeDateControl .dateRow{background:transparent!important}
#homeView>.pinnedRaceList .pinnedRaceCard{
  background:rgba(3,31,52,.38)!important;
  border-color:rgba(225,247,255,.24)!important;
  color:#fff!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
}
@media(max-width:430px){
 #homeView>.homeDataPanel{margin-top:166px!important}
}

/* ===== v0.9.18: clear transparent glass (minimal blur) ===== */
#homeView>.homeDataPanel,
#homeView>.venueHeroBanner,
#homeView>.venueGrid,
#homeView>.homeLiveBanner,
#homeView>.pinnedHeroBanner,
#homeView>.pinnedRaceList,
#homeView>.pinnedEmpty {
  background:rgba(3,31,52,.18)!important;
  border:1px solid rgba(235,250,255,.32)!important;
  box-shadow:0 10px 26px rgba(0,12,22,.15), inset 0 1px 0 rgba(255,255,255,.13)!important;
  backdrop-filter:blur(2px) saturate(108%)!important;
  -webkit-backdrop-filter:blur(2px) saturate(108%)!important;
}
#homeView>.venueGrid{background:rgba(3,31,52,.13)!important}
#homeView>.homeLiveBanner,#homeView>.pinnedHeroBanner{background:rgba(3,31,52,.17)!important}
#homeView>.venueHeroBanner .homeDateControl{
  background:rgba(3,31,52,.24)!important;
  border:1px solid rgba(235,250,255,.28)!important;
  backdrop-filter:blur(1.5px)!important;
  -webkit-backdrop-filter:blur(1.5px)!important;
}
#homeView>.pinnedRaceList .pinnedRaceCard{
  background:rgba(3,31,52,.22)!important;
  border-color:rgba(235,250,255,.25)!important;
  backdrop-filter:blur(2px)!important;
  -webkit-backdrop-filter:blur(2px)!important;
}
\n\n/* ===== v0.9.19 VENUE CARD TEXT LAYOUT ===== */\n#homeView .venue .name{\n  left:9px!important;right:7px!important;bottom:48px!important;\n  display:flex!important;align-items:baseline!important;gap:5px!important;\n  overflow:visible!important;text-overflow:clip!important;white-space:nowrap!important;\n  font-size:15px!important;line-height:1!important;\n}\n#homeView .venue .venueNameText,\n#homeView .venue .venueRaceNo{\n  display:inline-block!important;font-size:15px!important;line-height:1!important;\n  font-weight:950!important;color:#fff!important;text-shadow:0 2px 7px rgba(0,0,0,.9)!important;\n}\n#homeView .venue .venueRaceNo{font-weight:900!important}\n#homeView .venue .count{left:9px!important;right:7px!important;bottom:29px!important;font-size:9px!important}\n/* Weather + deadline share the bottom row. */\n#homeView .venueWeather{display:none!important}\n#homeView .venueRaceInfo{\n  left:9px!important;right:7px!important;bottom:8px!important;\n  display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:5px!important;\n  overflow:visible!important;white-space:nowrap!important;\n}\n#homeView .venueRaceInfo .wxIcon{\n  display:inline-block!important;font-size:15px!important;line-height:1!important;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45));\n}\n#homeView .venueRaceInfo .closeTime{\n  display:inline-block!important;flex:0 0 auto!important;overflow:visible!important;\n  font-size:15px!important;line-height:1!important;font-weight:950!important;color:#fff!important;\n  text-shadow:0 2px 7px rgba(0,0,0,.9)!important;\n}\n#homeView .venueRaceInfo.closingSoon .closeTime{\n  color:#ff3b30!important;text-shadow:0 1px 5px rgba(0,0,0,.95),0 0 7px rgba(255,59,48,.28)!important;\n}\n#homeView .venueRaceInfo:after{display:none!important}\n@media(max-width:430px){\n #homeView .venue .name{left:7px!important;right:5px!important;bottom:47px!important;gap:4px!important;font-size:14px!important}\n #homeView .venue .venueNameText,#homeView .venue .venueRaceNo{font-size:14px!important}\n #homeView .venue .count{left:7px!important;right:5px!important;bottom:28px!important;font-size:8px!important}\n #homeView .venueRaceInfo{left:7px!important;right:5px!important;bottom:8px!important;gap:4px!important}\n #homeView .venueRaceInfo .wxIcon{font-size:14px!important}\n #homeView .venueRaceInfo .closeTime{font-size:14px!important}\n}\n\n\n/* ===== v0.9.20 VENUE CARD REFERENCE LAYOUT ===== */
#homeView .venue{
  min-height:154px!important;height:154px!important;
  padding:0!important;border-radius:15px!important;
  background-size:cover!important;background-position:center!important;
  border:1px solid rgba(225,245,255,.46)!important;
  box-shadow:0 7px 18px rgba(0,10,20,.30)!important;
}
#homeView .venue:before{
  background:linear-gradient(180deg,rgba(0,8,15,.02) 0%,rgba(0,12,22,.05) 42%,rgba(0,15,28,.76) 72%,rgba(0,13,25,.96) 100%)!important;
}
#homeView .venue .name{
  position:absolute!important;left:11px!important;right:8px!important;bottom:48px!important;
  margin:0!important;display:block!important;white-space:nowrap!important;overflow:hidden!important;
  font-size:17px!important;line-height:1.05!important;font-weight:950!important;color:#fff!important;
  text-shadow:0 2px 8px rgba(0,0,0,.95)!important;
}
#homeView .venue .venueNameText{font-size:17px!important;font-weight:950!important;color:#fff!important}
#homeView .venue .venueRaceNo{display:none!important}
#homeView .venue .meta{display:none!important}
#homeView .venue .count{
  position:absolute!important;left:11px!important;right:8px!important;bottom:31px!important;margin:0!important;
  font-size:9px!important;line-height:1!important;font-weight:850!important;color:#fff!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  text-shadow:0 2px 6px rgba(0,0,0,.95)!important;
}
#homeView .venueRaceInfo{
  position:absolute!important;left:11px!important;right:11px!important;bottom:8px!important;margin:0!important;
  display:grid!important;grid-template-columns:22px 1fr auto!important;align-items:center!important;column-gap:5px!important;
  max-width:none!important;overflow:visible!important;white-space:nowrap!important;z-index:4!important;
}
#homeView .venueRaceInfo .wxIcon{font-size:16px!important;line-height:1!important;justify-self:start!important;filter:drop-shadow(0 1px 2px rgba(0,0,0,.55))}
#homeView .venueRaceInfo .raceNo{display:block!important;font-size:11px!important;line-height:1!important;font-weight:850!important;color:#fff!important;justify-self:start!important;text-shadow:0 2px 6px rgba(0,0,0,.95)!important}
#homeView .venueRaceInfo .closeTime{display:block!important;font-size:11px!important;line-height:1!important;font-weight:900!important;color:#fff!important;justify-self:end!important;text-shadow:0 2px 6px rgba(0,0,0,.95)!important}
#homeView .venueRaceInfo.closingSoon .closeTime{color:#ff3b30!important;text-shadow:0 1px 5px rgba(0,0,0,.95),0 0 7px rgba(255,59,48,.32)!important}
#homeView .venueRaceInfo:after{display:none!important}
#homeView .venueWeather{display:none!important}
@media(max-width:430px){
 #homeView .venue{min-height:148px!important;height:148px!important}
 #homeView .venue .name{left:9px!important;bottom:46px!important;font-size:16px!important}
 #homeView .venue .venueNameText{font-size:16px!important}
 #homeView .venue .count{left:9px!important;bottom:29px!important;font-size:8px!important}
 #homeView .venueRaceInfo{left:9px!important;right:9px!important;bottom:8px!important;grid-template-columns:20px 1fr auto!important;column-gap:4px!important}
 #homeView .venueRaceInfo .wxIcon{font-size:15px!important}
 #homeView .venueRaceInfo .raceNo,#homeView .venueRaceInfo .closeTime{font-size:10px!important}
}

/* ===== v0.9.21 VENUE CARD BOTTOM ROW FIX ===== */
#homeView .venueRaceInfo{
  left:9px!important;right:9px!important;bottom:8px!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  gap:3px!important;width:auto!important;min-width:0!important;
  white-space:nowrap!important;overflow:hidden!important;
}
#homeView .venueRaceInfo .wxIcon,
#homeView .venueRaceInfo .raceNo,
#homeView .venueRaceInfo .closeTime{
  position:static!important;margin:0!important;padding:0!important;
  flex:0 0 auto!important;white-space:nowrap!important;
}
#homeView .venueRaceInfo .wxIcon{font-size:14px!important;line-height:1!important}
#homeView .venueRaceInfo .raceNo{font-size:10px!important;line-height:1!important;font-weight:900!important}
#homeView .venueRaceInfo .closeTime{font-size:10px!important;line-height:1!important;font-weight:950!important;margin-left:auto!important}
#homeView .venue .name{bottom:49px!important}
#homeView .venue .count{bottom:31px!important}
@media(max-width:430px){
 #homeView .venueRaceInfo{left:8px!important;right:8px!important;bottom:8px!important;gap:2px!important}
 #homeView .venueRaceInfo .wxIcon{font-size:13px!important}
 #homeView .venueRaceInfo .raceNo,#homeView .venueRaceInfo .closeTime{font-size:9px!important}
}

/* ===== v0.9.23 COMPACT VENUE CARDS / NO TEXT COLLISION ===== */
#homeView .venue{
  min-height:132px!important;
  height:132px!important;
  padding:0!important;
}
#homeView .venue .name{
  left:9px!important;right:7px!important;bottom:43px!important;
  margin:0!important;padding:0!important;
  font-size:15px!important;line-height:1!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
}
#homeView .venue .venueNameText{font-size:15px!important;line-height:1!important}
#homeView .venue .count{
  left:9px!important;right:7px!important;bottom:27px!important;
  margin:0!important;padding:0!important;
  font-size:8px!important;line-height:1!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
}
#homeView .venueRaceInfo{
  position:absolute!important;
  left:9px!important;right:9px!important;bottom:7px!important;top:auto!important;
  width:auto!important;height:15px!important;min-width:0!important;
  margin:0!important;padding:0!important;transform:none!important;
  display:grid!important;
  grid-template-columns:18px minmax(22px,1fr) auto!important;
  align-items:center!important;gap:3px!important;
  overflow:visible!important;white-space:nowrap!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
}
#homeView .venueRaceInfo .wxIcon,
#homeView .venueRaceInfo .raceNo,
#homeView .venueRaceInfo .closeTime{
  position:static!important;display:block!important;
  margin:0!important;padding:0!important;
  min-width:0!important;max-width:none!important;
  line-height:15px!important;white-space:nowrap!important;overflow:visible!important;
  background:none!important;border:0!important;box-shadow:none!important;
}
#homeView .venueRaceInfo .wxIcon{font-size:13px!important;justify-self:start!important}
#homeView .venueRaceInfo .raceNo{font-size:9px!important;font-weight:900!important;color:#fff!important;justify-self:start!important;text-shadow:0 2px 6px rgba(0,0,0,.95)!important}
#homeView .venueRaceInfo .raceNo:after{display:none!important;content:none!important}
#homeView .venueRaceInfo .closeTime{font-size:9px!important;font-weight:950!important;color:#fff!important;justify-self:end!important;text-shadow:0 2px 6px rgba(0,0,0,.95)!important}
#homeView .venueRaceInfo.closingSoon .closeTime{color:#ff3b30!important}
@media(max-width:430px){
 #homeView .venue{min-height:128px!important;height:128px!important}
 #homeView .venue .name{left:8px!important;right:6px!important;bottom:42px!important;font-size:14px!important}
 #homeView .venue .venueNameText{font-size:14px!important}
 #homeView .venue .count{left:8px!important;right:6px!important;bottom:26px!important;font-size:7.5px!important}
 #homeView .venueRaceInfo{left:8px!important;right:8px!important;bottom:6px!important;grid-template-columns:17px minmax(20px,1fr) auto!important;gap:2px!important}
 #homeView .venueRaceInfo .wxIcon{font-size:12px!important}
 #homeView .venueRaceInfo .raceNo,#homeView .venueRaceInfo .closeTime{font-size:8.5px!important}
}

/* ===== v0.9.23 VENUE CARD TRUE SINGLE-LINE FOOTER ===== */
#homeView .venue{
  min-height:116px!important;
  height:116px!important;
}
#homeView .venue .name{
  left:8px!important;right:6px!important;bottom:39px!important;
  font-size:14px!important;line-height:14px!important;
}
#homeView .venue .venueNameText{font-size:14px!important;line-height:14px!important}
#homeView .venue .count{
  left:8px!important;right:6px!important;bottom:25px!important;
  font-size:7.5px!important;line-height:10px!important;
}
#homeView .venueRaceInfo{
  position:absolute!important;
  left:8px!important;right:8px!important;bottom:7px!important;top:auto!important;
  width:calc(100% - 16px)!important;height:14px!important;
  display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
  align-items:center!important;justify-content:space-between!important;
  gap:4px!important;margin:0!important;padding:0!important;
  overflow:visible!important;white-space:nowrap!important;
}
#homeView .venueRaceInfo .wxIcon,
#homeView .venueRaceInfo .raceNo,
#homeView .venueRaceInfo .closeTime{
  position:relative!important;inset:auto!important;transform:none!important;
  display:inline-flex!important;align-items:center!important;
  height:14px!important;line-height:14px!important;
  margin:0!important;padding:0!important;white-space:nowrap!important;
  flex:0 0 auto!important;
}
#homeView .venueRaceInfo .wxIcon{font-size:12px!important;width:18px!important;justify-content:flex-start!important}
#homeView .venueRaceInfo .raceNo{font-size:8.5px!important;font-weight:900!important;justify-content:center!important;margin-right:auto!important}
#homeView .venueRaceInfo .closeTime{font-size:8.5px!important;font-weight:950!important;justify-content:flex-end!important;margin-left:auto!important}
#homeView .venueRaceInfo.closingSoon .closeTime{color:#ff3b30!important}
@media(max-width:430px){
 #homeView .venue{min-height:112px!important;height:112px!important}
 #homeView .venue .name{bottom:38px!important;font-size:13.5px!important}
 #homeView .venue .venueNameText{font-size:13.5px!important}
 #homeView .venue .count{bottom:24px!important;font-size:7px!important}
 #homeView .venueRaceInfo{left:7px!important;right:7px!important;width:calc(100% - 14px)!important;bottom:6px!important;gap:3px!important}
 #homeView .venueRaceInfo .wxIcon{font-size:11.5px!important;width:17px!important}
 #homeView .venueRaceInfo .raceNo,#homeView .venueRaceInfo .closeTime{font-size:8px!important}
}

/* ===== v0.9.24 VENUE FOOTER: ☀️ 5R | 12:50 + SHORTER CARDS ===== */
#homeView .venue{
  min-height:104px!important;
  height:104px!important;
}
#homeView .venue .name{
  left:8px!important;right:6px!important;bottom:36px!important;
  font-size:13.5px!important;line-height:14px!important;
}
#homeView .venue .venueNameText{font-size:13.5px!important;line-height:14px!important}
#homeView .venue .count{
  left:8px!important;right:6px!important;bottom:22px!important;
  font-size:7px!important;line-height:9px!important;
}
#homeView .venueRaceInfo{
  left:8px!important;right:8px!important;bottom:5px!important;
  width:calc(100% - 16px)!important;height:14px!important;
  display:flex!important;flex-flow:row nowrap!important;
  align-items:center!important;justify-content:flex-start!important;
  gap:5px!important;
}
#homeView .venueRaceInfo .wxIcon{font-size:12px!important;width:auto!important;flex:0 0 auto!important}
#homeView .venueRaceInfo .raceNo{
  font-size:8.5px!important;font-weight:900!important;
  margin:0!important;flex:0 0 auto!important;
}
#homeView .venueRaceInfo .closeTime{
  font-size:8.5px!important;font-weight:950!important;
  margin:0!important;flex:0 0 auto!important;
}
#homeView .venueRaceInfo .closeTime:before{
  content:'|'!important;color:rgba(255,255,255,.72)!important;
  display:inline-block!important;margin-right:5px!important;
  font-weight:700!important;
}
#homeView .venueRaceInfo.closingSoon .closeTime{color:#ff3b30!important}
#homeView .venueRaceInfo.closingSoon .closeTime:before{color:rgba(255,255,255,.72)!important}
@media(max-width:430px){
 #homeView .venue{min-height:100px!important;height:100px!important}
 #homeView .venue .name{bottom:35px!important;font-size:13px!important}
 #homeView .venue .venueNameText{font-size:13px!important}
 #homeView .venue .count{bottom:21px!important;font-size:6.8px!important}
 #homeView .venueRaceInfo{left:7px!important;right:7px!important;width:calc(100% - 14px)!important;bottom:5px!important;gap:4px!important}
 #homeView .venueRaceInfo .wxIcon{font-size:11.5px!important}
 #homeView .venueRaceInfo .raceNo,#homeView .venueRaceInfo .closeTime{font-size:8px!important}
 #homeView .venueRaceInfo .closeTime:before{margin-right:4px!important}
}

/* v0.9.25 */
#homeView .venue{position:relative!important}
#homeView .venueHits{position:absolute!important;top:7px!important;right:7px!important;z-index:8!important;margin:0!important;padding:0!important}
#homeView .venueHitBadge{display:inline-flex!important;align-items:center!important;background:rgba(4,25,43,.78)!important;border:1px solid rgba(255,255,255,.32)!important;border-radius:999px!important;padding:3px 6px!important;color:#fff!important;font-size:8px!important;font-weight:900!important;line-height:1!important;box-shadow:0 2px 8px rgba(0,0,0,.28)!important;backdrop-filter:blur(5px)!important;-webkit-backdrop-filter:blur(5px)!important}
#homeView .pinSummary{cursor:pointer!important}
#homeView .pinSummary:active{transform:scale(.98)}
\n\n/* ===== v0.9.26 HOME SUMMARY / VENUE HIT BADGE / LAYOUT ===== */
#homeView>.homeDataPanel{
  margin-top:138px!important;
}
#homeView .pinSummary{
  position:relative!important;
  padding-right:18px!important;
}
#homeView .pinSummary:after{
  content:'›'!important;
  position:absolute!important;
  right:7px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  color:#ff3b30!important;
  font-size:23px!important;
  line-height:1!important;
  font-weight:900!important;
}
#homeView .venueHits{
  display:block!important;
  position:absolute!important;
  top:6px!important;
  right:6px!important;
  left:auto!important;
  bottom:auto!important;
  z-index:30!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  pointer-events:none!important;
}
#homeView .venueHitBadge{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:18px!important;
  padding:3px 6px!important;
  border-radius:999px!important;
  background:rgba(3,25,43,.82)!important;
  border:1px solid rgba(255,255,255,.42)!important;
  color:#fff!important;
  font-size:8px!important;
  line-height:1!important;
  font-weight:950!important;
  text-shadow:0 1px 4px rgba(0,0,0,.8)!important;
  box-shadow:0 2px 8px rgba(0,0,0,.30)!important;
  backdrop-filter:blur(3px)!important;
  -webkit-backdrop-filter:blur(3px)!important;
}
@media(max-width:430px){
 #homeView>.homeDataPanel{margin-top:138px!important}
 #homeView .venueHits{top:5px!important;right:5px!important}
 #homeView .venueHitBadge{font-size:7.5px!important;padding:3px 5px!important}
}


/* ===== v0.9.27 HOME POLISH ===== */
/* Remove both left-side marks requested for the venue header/calendar. */
#homeView .venueHeroBanner .venueHeroIcon{display:none!important}
#homeView>.venueHeroBanner .homeDateControl .dateRow:before{display:none!important;content:none!important}
#homeView>.venueHeroBanner .homeDateControl #raceDate{padding-left:12px!important;padding-right:27px!important}

/* Pin and hit summary chevrons use exactly the same dimensions. */
#homeView .pinSummary:after,
#homeView .hitSummary:after{
  content:'›'!important;
  position:absolute!important;
  right:7px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  color:#ff3b30!important;
  font-size:19px!important;
  line-height:19px!important;
  width:12px!important;
  height:19px!important;
  text-align:center!important;
  font-weight:900!important;
  opacity:1!important;
}

/* Venue hit badge: tuck into the extreme upper-right corner. Zero-hit badges are not rendered. */
#homeView .venueHits{top:2px!important;right:2px!important}
#homeView .venueHitBadge{margin:0!important}
@media(max-width:430px){
 #homeView .venueHits{top:2px!important;right:2px!important}
}

/* ===== v0.9.30 EXACT USER BACKGROUND + SEAMLESS CENTER-WAVE EXTENSION =====
   The supplied 864x1536 artwork is shown at exact page width with no crop/zoom.
   If Home becomes taller than the artwork, only a water-only center crop is repeated
   (forward + vertically mirrored) so the lower background extends without stacking
   another complete copy of the poster. */
#homeView{position:relative!important;isolation:isolate!important;background:transparent!important;}
#homeView:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-2!important;
  background-image:
    url('assets/home-background-v0930.jpeg'),
    url('assets/home-wave-extension-v0930.jpeg')!important;
  background-position:center top,center top!important;
  background-size:100% auto,100% auto!important;
  background-repeat:no-repeat,repeat-y!important;
  background-attachment:scroll,scroll!important;
  filter:none!important;
  transform:none!important;
  opacity:1!important;
}
#homeView:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  pointer-events:none!important;
  background:linear-gradient(180deg,rgba(1,18,31,0) 0%,rgba(1,22,37,.05) 58%,rgba(1,17,29,.14) 100%)!important;
}

/* ===== v0.9.31 GLOBAL HOME-WATER BACKGROUND + CLEAR GLASS UI ===== */
html,body{background:#06263b!important;}
body{position:relative!important;background:transparent!important;}
body:before{
  content:""!important;position:fixed!important;inset:0!important;z-index:-3!important;pointer-events:none!important;
  background-image:url('assets/home-background-v0930.jpeg')!important;
  background-position:center top!important;background-size:100% auto!important;background-repeat:no-repeat!important;
}
body:after{
  content:""!important;position:fixed!important;left:0!important;right:0!important;top:min(100vw * 1.7777778,177.7778vw)!important;bottom:0!important;z-index:-4!important;pointer-events:none!important;
  background-image:url('assets/home-wave-extension-v0930.jpeg')!important;background-position:center top!important;background-size:100% auto!important;background-repeat:repeat-y!important;
}
/* Home already paints the same artwork itself; avoid a doubled layer. */
#homeView:before,#homeView:after{display:none!important;}
#homeView,.view,.screen,.page,.content,.mainContent,#app{background:transparent!important;}

/* Clear glass treatment across non-home and shared components. */
.pageHead,.tabs,.detailTabs,.card,.statusCard,.raceItem,.venue,.raceTopCard,.aiHero,
.notice,.conditionGrid>div,.scenarioItem,.aiComment p,.resultLine,.entryLine,.betSummary div,
.betReason,.cgInfo div,.controls button,.controls select,.compareGrid .head,.previewGrid .head,
.boatRow,.startTrack,.bottomNav{
  background:rgba(4,39,62,.42)!important;
  border-color:rgba(255,255,255,.24)!important;
  box-shadow:0 8px 24px rgba(0,18,32,.18),inset 0 1px 0 rgba(255,255,255,.10)!important;
  backdrop-filter:blur(5px) saturate(118%)!important;
  -webkit-backdrop-filter:blur(5px) saturate(118%)!important;
}
.pageHead,.tabs,.detailTabs,.card,.statusCard,.raceItem,.raceTopCard,.aiHero,.notice{color:#fff!important;}
.pageTitle b,.card h3,.cardTitle,.sectionTitle,.raceText b,.raceTime b,.conditionGrid b,.scenarioItem span,.aiComment p,.resultLine,.entryLine{color:#fff!important;}
.pageTitle small,.cardHead small,.raceText small,.raceTime small,.cell small,.conditionGrid small,.fine,.cgInfo small{color:rgba(235,247,255,.72)!important;}
.tabs button,.detailTabs button{color:rgba(235,247,255,.65)!important;background:transparent!important;}
.tabs button.active,.detailTabs button.active{color:#fff!important;}
.back,.miniRefresh{background:rgba(255,255,255,.16)!important;color:#fff!important;border-color:rgba(255,255,255,.30)!important;backdrop-filter:blur(5px)!important;-webkit-backdrop-filter:blur(5px)!important;}
.boatRow .cell{background:rgba(3,30,49,.22)!important;border-color:rgba(255,255,255,.14)!important;color:#fff!important;}
.compareGrid div,.previewGrid div{border-color:rgba(255,255,255,.15)!important;color:#fff!important;background:rgba(4,39,62,.30)!important;}
.bottomNav{background:rgba(3,29,49,.68)!important;backdrop-filter:blur(7px) saturate(120%)!important;-webkit-backdrop-filter:blur(7px) saturate(120%)!important;}


/* ===== v0.9.32 FIXED WATER BACKDROP / CONTENT-ONLY SCROLL =====
   Keep the supplied Home artwork locked to the viewport.  All views/cards scroll
   above it; the background itself never moves with page content. */
html{
  height:100%!important;
  overflow:hidden!important;
  background:#06263b!important;
}
body{
  height:100%!important;
  min-height:100%!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
  padding-bottom:0!important;
  background:#06263b!important;
}
body:before{
  content:""!important;
  display:block!important;
  position:fixed!important;
  inset:0!important;
  z-index:-3!important;
  pointer-events:none!important;
  background-image:url('assets/home-background-v0930.jpeg')!important;
  background-position:center top!important;
  background-size:100% auto!important;
  background-repeat:no-repeat!important;
  background-attachment:fixed!important;
  opacity:1!important;
  transform:none!important;
  filter:none!important;
}
/* Do not extend/tile the poster while the viewport is fixed. */
body:after{display:none!important;content:none!important;}
main{
  height:100dvh!important;
  max-height:100dvh!important;
  overflow:hidden!important;
  background:transparent!important;
}
.view.active{
  display:block!important;
  height:calc(100dvh - 88px - env(safe-area-inset-bottom))!important;
  max-height:calc(100dvh - 88px - env(safe-area-inset-bottom))!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior-y:contain!important;
  scrollbar-width:none!important;
  background:transparent!important;
}
.view.active::-webkit-scrollbar{display:none!important;}
.bottomNav{
  position:fixed!important;
  left:0!important;right:0!important;bottom:0!important;
  z-index:100!important;
}

/* ===== v0.9.33 FIX: visible fixed supplied background ===== */
html{background:#06263b!important;}
body{background:transparent!important;isolation:isolate!important;}
body:before{
  z-index:0!important;
  background-image:url('assets/home-background-v0933.jpeg')!important;
  background-position:center top!important;
  background-size:100% auto!important;
  background-repeat:no-repeat!important;
}
main,.view,.screen,.page,.content,.mainContent,#app{position:relative!important;z-index:1!important;background:transparent!important;}
.bottomNav,.toast,.versionNotice{z-index:100!important;}


/* ===== v0.9.34 FULL-VIEW FIXED BACKGROUND + HERO CLIP MASK ===== */
/* Fill the whole app viewport with the supplied poster. It stays fixed while only UI scrolls. */
body:before{
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  background-image:url('assets/home-background-v0933.jpeg')!important;
  background-position:center top!important;
  background-size:100% 100%!important;
  background-repeat:no-repeat!important;
  background-attachment:fixed!important;
}
/* Repaint only the poster's top hero above Home UI. Scrolling cards pass BEHIND it and are clipped. */
body:after{
  content:""!important;
  display:block!important;
  position:fixed!important;
  left:0!important;right:0!important;top:0!important;
  height:clamp(245px,42vw,365px)!important;
  z-index:4!important;
  pointer-events:none!important;
  background-image:url('assets/home-background-v0933.jpeg')!important;
  background-position:center top!important;
  background-size:100vw 100dvh!important;
  background-repeat:no-repeat!important;
}
/* Keep scrolling UI above the base background but below the fixed hero mask. */
main,.view,.screen,.page,.content,.mainContent,#app{z-index:2!important;}
#homeView{position:relative!important;}
.homeVersionBadge{
  position:fixed!important;
  top:calc(env(safe-area-inset-top) + 12px)!important;
  right:14px!important;
  z-index:6!important;
  padding:5px 8px!important;
  border:1px solid rgba(255,255,255,.34)!important;
  border-radius:9px!important;
  background:rgba(2,31,51,.38)!important;
  color:rgba(255,255,255,.82)!important;
  font-size:7px!important;
  line-height:1.05!important;
  letter-spacing:1.1px!important;
  backdrop-filter:blur(4px) saturate(120%)!important;
  -webkit-backdrop-filter:blur(4px) saturate(120%)!important;
  box-shadow:0 3px 10px rgba(0,0,0,.16)!important;
}
.homeVersionBadge b{display:block!important;margin-top:2px!important;color:#fff!important;font-size:11px!important;letter-spacing:.2px!important;text-align:center!important;}
/* Hide the Home-only version badge when another view is active. */
#homeView:not(.active) .homeVersionBadge{display:none!important;}
.bottomNav,.toast,.versionNotice{z-index:100!important;}

/* ===== v0.9.35 HERO CLIP POSITION ===== */
/* Hide scrolling UI from the lower edge of the boats upward. */
body:after{
  height:clamp(300px,52vw,410px)!important;
}


/* ===== v0.9.36 HERO CLIP EXACT BOAT-BOTTOM POSITION ===== */
/* The scroll layer disappears exactly around the lower edge of the boats,
   rather than farther down in the water area. */
body:after{
  height:clamp(250px,39vw,292px)!important;
}

/* ===== v0.9.37 HERO CLIP: JUST ABOVE TODAY DATA ===== */
/* Scrolling cards start disappearing just above the 本日のデータ panel. */
body:after{
  height:clamp(335px,50vw,380px)!important;
}

/* ===== v0.9.38 HOME HERO CLIP + TODAY DATA VISIBILITY ===== */
/* Keep the fixed hero cover, but start the Home content below its lower edge.
   This keeps 本日のデータ visible on first load; when scrolling upward it
   naturally disappears behind the fixed hero from just above that panel. */
body:after{
  height:clamp(335px,50vw,380px)!important;
}
#homeView>.homeDataPanel{
  margin-top:clamp(360px,53vw,400px)!important;
}
@media(max-width:430px){
  #homeView>.homeDataPanel{margin-top:360px!important;}
}

/* ===== v0.9.39 HERO CLIP LINE: BOAT BOTTOM ===== */
/* The clipping line itself is moved upward to the lower edge of the boats.
   Initial Home spacing remains unchanged so 本日のデータ is still fully visible. */
body:after{
  height:clamp(250px,39vw,292px)!important;
}
#homeView>.homeDataPanel{
  margin-top:clamp(360px,53vw,400px)!important;
}
@media(max-width:430px){
  #homeView>.homeDataPanel{margin-top:360px!important;}
}

/* ===== v0.9.40 HERO CLIP LINE: HIGHER ===== */
/* Move the fixed clipping line farther upward. Home's initial panel spacing is unchanged. */
body:after{
  height:clamp(205px,32vw,245px)!important;
}

/* ===== v0.9.42 HERO CLIP + CONTENT START ALIGNMENT ===== */
/* Move the disappearing line slightly higher and start Home content immediately below it. */
body:after{
  height:clamp(185px,29vw,220px)!important;
}
#homeView>.homeDataPanel{
  margin-top:clamp(198px,31vw,234px)!important;
}
@media(max-width:430px){
  body:after{height:190px!important;}
  #homeView>.homeDataPanel{margin-top:202px!important;}
}

/* ===== v0.9.42 HERO CLIP LINE: SLIGHTLY HIGHER ===== */
/* Raise the disappearing line a little more and keep 本日のデータ immediately below it. */
body:after{
  height:clamp(165px,26vw,198px)!important;
}
#homeView>.homeDataPanel{
  margin-top:clamp(178px,28vw,212px)!important;
}
@media(max-width:430px){
  body:after{height:170px!important;}
  #homeView>.homeDataPanel{margin-top:182px!important;}
}

/* ===== v0.9.43 HERO CLIP LINE: HIGHER AGAIN ===== */
/* Raise both the disappearance line and the first Home panel together. */
body:after{
  height:clamp(145px,23vw,176px)!important;
}
#homeView>.homeDataPanel{
  margin-top:clamp(158px,25vw,190px)!important;
}
@media(max-width:430px){
  body:after{height:150px!important;}
  #homeView>.homeDataPanel{margin-top:162px!important;}
}

/* ===== v0.9.44 ALL PAGE TOP-BANNER ALIGNMENT ===== */
/* Match every page's first header/banner to the Home 本日のデータ start line. */
#venueView>.pageHead,
#detailView>.pageHead,
#liveView>.toolHero,
#racerMotorView>.toolHero,
#racerMotorVenueView>.pageHead{
  margin-top:clamp(158px,25vw,190px)!important;
}
/* Detail has a decorative hero before its functional header; keep it from adding extra vertical offset. */
#detailView>.raceVisualHero{
  position:absolute!important;
  top:0!important;
  left:0!important;
  right:0!important;
  margin:0!important;
  pointer-events:none!important;
}
/* Headers should scroll with their page from the same starting line instead of jumping to the old top offset. */
#venueView>.pageHead,
#detailView>.pageHead,
#racerMotorVenueView>.pageHead{
  top:0!important;
}
@media(max-width:430px){
  #venueView>.pageHead,
  #detailView>.pageHead,
  #liveView>.toolHero,
  #racerMotorView>.toolHero,
  #racerMotorVenueView>.pageHead{
    margin-top:162px!important;
  }
}

/* ===== v0.9.45 CLEAR GLASS UI =====
   Transparent glass: keep the water/poster clearly visible through UI surfaces.
   Intentionally NO backdrop blur (blur looked like mosaic/frosted glass on iPhone). */
:root{
  --glass-bg:rgba(2,43,67,.46);
  --glass-bg-soft:rgba(4,54,80,.34);
  --glass-bg-deep:rgba(1,31,51,.54);
  --glass-line:rgba(210,240,255,.34);
  --glass-shadow:0 8px 22px rgba(0,18,34,.20),inset 0 1px 0 rgba(255,255,255,.12);
}

/* page headers / top banners */
.pageHead,.toolHero,.raceTopCard,.tabs,.tabbar,.raceTabs,
/* major panels */
.card,.panel,.statusCard,.homeDataPanel,.venueHeroBanner,.summaryGrid>div,
/* lists and data cards */
.raceItem,.boatRow,.notice,.conditionGrid>div,.scenarioItem,.aiComment p,
.cgInfo div,.betSummary div,.entryLine,.resultLine,.courseDetailCard,
.aiHero,.compareGrid .head,.previewGrid .head{
  background:var(--glass-bg)!important;
  border-color:var(--glass-line)!important;
  box-shadow:var(--glass-shadow)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* Make nested content less opaque so the fixed water image reads through it. */
.panel.active{background:transparent!important;box-shadow:none!important;border-color:transparent!important;}
.boatRows,.raceList{background:transparent!important;}
.boatRow,.raceItem{background:rgba(2,43,67,.43)!important;}
.cell{border-color:rgba(220,243,255,.18)!important;}
.card{background:rgba(2,43,67,.40)!important;}
.raceTopCard,.aiHero{background:rgba(2,43,67,.48)!important;}
.tabs,.tabbar,.raceTabs{background:rgba(2,43,67,.43)!important;}
.tabs button,.tabbar button,.raceTabs button{background:transparent!important;color:rgba(235,248,255,.72)!important;}
.tabs button.active,.tabbar button.active,.raceTabs button.active{color:#fff!important;}
.pageHead{background:rgba(2,43,67,.45)!important;color:#fff!important;}
.pageTitle b,.pageTitle small{color:#fff!important;}
.back,.miniRefresh{
  background:rgba(255,255,255,.12)!important;
  border-color:rgba(225,246,255,.42)!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14)!important;
}

/* Detail text must remain readable over the photo. */
#detailView .card,#detailView .raceTopCard,#detailView .boatRow,
#venueView .raceItem,#racerMotorVenueView .card,#racerMotorView .card,
#liveView .card{color:#fff!important;}
#detailView .cell small,#detailView .cardHead small,#detailView .fine,
#detailView .raceTopCard small,#venueView .raceText small,
#venueView .raceTime small{color:rgba(230,244,252,.72)!important;}

/* Preserve lane identity colors but let the surrounding card stay transparent. */
.boatRow .lane.l1{background:rgba(255,255,255,.92)!important;color:#111!important;}
.boatRow .lane.l2{background:rgba(10,10,10,.88)!important;color:#fff!important;}
.boatRow .lane.l3{background:rgba(239,41,41,.88)!important;color:#fff!important;}
.boatRow .lane.l4{background:rgba(23,75,216,.88)!important;color:#fff!important;}
.boatRow .lane.l5{background:rgba(255,230,45,.90)!important;color:#111!important;}
.boatRow .lane.l6{background:rgba(17,145,58,.88)!important;color:#fff!important;}

/* No opaque fallback sheet should cover the fixed background on non-home pages. */
#venueView,#detailView,#liveView,#racerMotorView,#racerMotorVenueView,
#tab-entry,#tab-preview,#tab-予想,#tab-odds{background:transparent!important;}


/* ===== v0.9.46 clearer Home glass + remove race-detail visual banner ===== */
/* Home glass: substantially reduce tint and eliminate mosaic/frosted blur. */
#homeView .homeDataPanel,
#homeView .venueHeroBanner,
#homeView .statusCard,
#homeView .homeDateControl{
  background:rgba(2,43,67,.25)!important;
  border-color:rgba(220,246,255,.32)!important;
  box-shadow:0 7px 20px rgba(0,16,29,.16),inset 0 1px 0 rgba(255,255,255,.12)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
#homeView .summaryGrid>div{
  background:rgba(2,43,67,.12)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
/* Calendar remains readable while letting the water show through clearly. */
#homeView .venueHeroBanner .homeDateControl,
#homeView .venueHeroBanner .dateRow{
  background:rgba(2,43,67,.24)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
/* Race detail pages no longer have the extra BoatRace V banner. */
#detailView>.raceVisualHero{display:none!important;}

/* ===== v0.9.47 layered readable glass cards =====
   Outer UI stays clear glass; information cards use a stronger, darker frosted layer
   so they are visually distinct and text remains readable over the water photo. */
#detailView .courseDetailCard{background:rgba(3,45,69,.24)!important;color:#fff!important;}
#detailView .courseRacerBlock{
  background:rgba(3,39,61,.64)!important;
  border-color:rgba(218,244,255,.34)!important;
  box-shadow:0 8px 22px rgba(0,17,31,.20),inset 0 1px 0 rgba(255,255,255,.10)!important;
  backdrop-filter:blur(12px) saturate(120%)!important;
  -webkit-backdrop-filter:blur(12px) saturate(120%)!important;
  color:#fff!important;
}
#detailView .courseRacerHead{
  background:rgba(4,49,73,.68)!important;
  color:#fff!important;
}
#detailView .courseRacerHead b{color:#fff!important;}
#detailView .courseRacerHead span,
#detailView .courseRacerHead .racerNameKana{color:rgba(236,248,255,.78)!important;}
#detailView .racerMetaChips span,
#detailView .courseInputStrip span{
  background:rgba(236,248,255,.88)!important;
  border-color:rgba(255,255,255,.52)!important;
  color:#4f6576!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
}
#detailView .racerMetaChips span b,
#detailView .courseInputStrip b{color:#10283c!important;}
#detailView .courseInputStrip{
  background:rgba(4,45,68,.56)!important;
  border-color:rgba(218,244,255,.20)!important;
}
#detailView .rateGrid{
  background:rgba(218,244,255,.18)!important;
  border-color:rgba(218,244,255,.20)!important;
}
#detailView .rateCell{
  background:rgba(3,43,66,.66)!important;
  color:#fff!important;
  backdrop-filter:blur(13px) saturate(120%)!important;
  -webkit-backdrop-filter:blur(13px) saturate(120%)!important;
}
#detailView .rateCell label{color:rgba(233,247,255,.76)!important;}
#detailView .rateCell strong{color:#fff!important;}
#detailView .rateCell.hot strong{color:#43e092!important;}
#detailView .rateCell.warn strong{color:#ff8a6f!important;}
#detailView .rateCell em{color:rgba(229,244,252,.68)!important;}
#detailView .courseFeatureMemo{
  background:rgba(3,46,70,.70)!important;
  border-color:rgba(218,244,255,.20)!important;
  backdrop-filter:blur(14px) saturate(120%)!important;
  -webkit-backdrop-filter:blur(14px) saturate(120%)!important;
}
#detailView .courseFeatureMemo b{color:#79d6ff!important;}
#detailView .courseFeatureMemo p{color:rgba(244,251,255,.92)!important;}
#detailView .courseFeatureComment{
  background:rgba(229,246,255,.14)!important;
  border-color:rgba(220,244,255,.24)!important;
  color:#9de1ff!important;
}
#detailView .courseFeatureComment.missing{color:rgba(230,244,252,.66)!important;}
#detailView .rateSource{
  background:rgba(3,42,64,.68)!important;
  color:rgba(230,244,252,.70)!important;
}
/* Any remaining pale nested cards on detail/analysis screens get the same layered glass treatment. */
#detailView .courseDetailCard .notice,
#detailView .courseDetailCard .conditionGrid>div,
#detailView .courseDetailCard .scenarioItem{
  background:rgba(3,43,66,.64)!important;
  color:#fff!important;
  border-color:rgba(218,244,255,.24)!important;
  backdrop-filter:blur(12px) saturate(120%)!important;
  -webkit-backdrop-filter:blur(12px) saturate(120%)!important;
}

/* ===== v0.9.48 Home Data glass matches Today's Venues ===== */
#homeView .homeDataPanel{
  background:rgba(2,43,67,.25)!important;
  border-color:rgba(220,246,255,.32)!important;
  box-shadow:0 7px 20px rgba(0,16,29,.16),inset 0 1px 0 rgba(255,255,255,.12)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
#homeView .homeDataPanel .summaryGrid>div{
  background:transparent!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* ===== v0.9.49 unified semi-transparent BLACK mosaic glass ===== */
:root{
  --black-glass:rgba(0,0,0,.48);
  --black-glass-strong:rgba(0,0,0,.58);
  --black-glass-line:rgba(255,255,255,.22);
  --black-glass-shadow:0 8px 24px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.10);
}
/* Main translucent panels/cards across every view */
#homeView .homeDataCard,#homeView .venueSection,
#venueView .pageHead,#venueView .raceItem,#venueView .raceCard,
#detailView .pageHead,#detailView .raceTopCard,#detailView .tabs,#detailView .tabbar,#detailView .raceTabs,
#detailView .card,#detailView .boatRow,#detailView .courseDetailCard,#detailView .courseRacerCard,
#detailView .courseRacerHead,#detailView .rateGrid,#detailView .rateCell,#detailView .courseFeatureMemo,
#detailView .courseFeatureComment,#detailView .aiHero,#detailView .analysisCard,
#playerMotorView .pageHead,#playerMotorView .card,#playerMotorView .venueCard,
.view .glass,.view .glassCard,.view .panel,.view .sectionCard{
  background:var(--black-glass)!important;
  border-color:var(--black-glass-line)!important;
  box-shadow:var(--black-glass-shadow)!important;
  backdrop-filter:blur(15px) saturate(112%)!important;
  -webkit-backdrop-filter:blur(15px) saturate(112%)!important;
}
/* Nested information cards: slightly stronger black mosaic for separation */
#detailView .courseRacerCard,#detailView .rateGrid,#detailView .rateCell,
#detailView .courseFeatureMemo,#detailView .courseFeatureComment,
#detailView .analysisCard,#detailView .boatRow,
#playerMotorView .card{
  background:var(--black-glass-strong)!important;
  backdrop-filter:blur(18px) saturate(108%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(108%)!important;
}
/* Keep typography readable on black glass */
#homeView .homeDataCard,#homeView .venueSection,
#venueView .pageHead,#venueView .raceItem,
#detailView .pageHead,#detailView .raceTopCard,#detailView .tabs,#detailView .tabbar,#detailView .raceTabs,
#detailView .card,#detailView .boatRow,#detailView .courseDetailCard,#detailView .courseRacerCard,
#detailView .rateGrid,#detailView .rateCell,#detailView .courseFeatureMemo,#detailView .analysisCard,
#playerMotorView .pageHead,#playerMotorView .card{color:#fff!important;}

/* ===== v0.9.50 outer content layer fully transparent =====
   The outermost tab/page content wrapper must not frost or tint the fixed water background.
   Inner cards keep the black mosaic glass treatment from v0.9.49. */
#detailView > .panel,
#detailView > section.panel,
#venueView > .panel,
#playerMotorView > .panel,
#racerMotorView > .panel,
#racerMotorVenueView > .panel{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* ===== v0.9.51 Home panels unified black mosaic glass ===== */
#homeView>.homeDataPanel,
#homeView>.venueHeroBanner{
  background:var(--black-glass)!important;
  border-color:var(--black-glass-line)!important;
  box-shadow:var(--black-glass-shadow)!important;
  backdrop-filter:blur(15px) saturate(112%)!important;
  -webkit-backdrop-filter:blur(15px) saturate(112%)!important;
}
#homeView>.homeDataPanel .summaryGrid>div{
  background:transparent!important;
}

/* ===== v0.9.52 unified semi-transparent WHITE mosaic glass ===== */
:root{
  --black-glass:rgba(255,255,255,.28);
  --black-glass-strong:rgba(255,255,255,.40);
  --black-glass-line:rgba(255,255,255,.58);
  --black-glass-shadow:0 8px 24px rgba(0,28,48,.16),inset 0 1px 0 rgba(255,255,255,.52);
}
/* All glass panels switch from black tint to white frosted glass. */
#homeView .homeDataCard,#homeView .venueSection,
#venueView .pageHead,#venueView .raceItem,#venueView .raceCard,
#detailView .pageHead,#detailView .raceTopCard,#detailView .tabs,#detailView .tabbar,#detailView .raceTabs,
#detailView .card,#detailView .boatRow,#detailView .courseDetailCard,#detailView .courseRacerCard,
#detailView .courseRacerHead,#detailView .rateGrid,#detailView .rateCell,#detailView .courseFeatureMemo,
#detailView .courseFeatureComment,#detailView .aiHero,#detailView .analysisCard,
#playerMotorView .pageHead,#playerMotorView .card,#playerMotorView .venueCard,
.view .glass,.view .glassCard,.view .panel,.view .sectionCard,
#homeView>.homeDataPanel,#homeView>.venueHeroBanner{
  background:var(--black-glass)!important;
  border-color:var(--black-glass-line)!important;
  box-shadow:var(--black-glass-shadow)!important;
  backdrop-filter:blur(15px) saturate(118%)!important;
  -webkit-backdrop-filter:blur(15px) saturate(118%)!important;
}
#detailView .courseRacerCard,#detailView .rateGrid,#detailView .rateCell,
#detailView .courseFeatureMemo,#detailView .courseFeatureComment,
#detailView .analysisCard,#detailView .boatRow,#playerMotorView .card{
  background:var(--black-glass-strong)!important;
  backdrop-filter:blur(18px) saturate(116%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(116%)!important;
}
/* Preserve the intentionally clear outer wrapper from v0.9.50. */
#detailView > .panel,#detailView > section.panel,#venueView > .panel,
#playerMotorView > .panel,#racerMotorView > .panel,#racerMotorVenueView > .panel{
  background:transparent!important;border-color:transparent!important;box-shadow:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}

/* ===== v0.9.53 Home venue-grid outer glass unified with white mosaic ===== */
#homeView > .venueGrid,
#homeView .venueGrid{
  background:var(--black-glass)!important;
  border-color:var(--black-glass-line)!important;
  box-shadow:var(--black-glass-shadow)!important;
  backdrop-filter:blur(15px) saturate(118%)!important;
  -webkit-backdrop-filter:blur(15px) saturate(118%)!important;
}

/* ===== v0.9.54 pinned-list unpin control ===== */
#raceList .raceItemBtn[role="button"]{cursor:pointer}
#raceList .raceItemBtn[role="button"] .racePinBtn{right:8px;top:8px}

/* ===== v0.9.55 lighter white glass + remove home venue separator line ===== */
:root{
  --black-glass:rgba(255,255,255,.20);
  --black-glass-strong:rgba(255,255,255,.31);
  --black-glass-line:rgba(255,255,255,.42);
  --black-glass-shadow:0 7px 22px rgba(0,28,48,.13),inset 0 1px 0 rgba(255,255,255,.34);
}
/* Slightly clearer / less mosaic while retaining readable white glass. */
#homeView .homeDataCard,#homeView .venueSection,
#venueView .pageHead,#venueView .raceItem,#venueView .raceCard,
#detailView .pageHead,#detailView .raceTopCard,#detailView .tabs,#detailView .tabbar,#detailView .raceTabs,
#detailView .card,#detailView .boatRow,#detailView .courseDetailCard,#detailView .courseRacerCard,
#detailView .courseRacerHead,#detailView .rateGrid,#detailView .rateCell,#detailView .courseFeatureMemo,
#detailView .courseFeatureComment,#detailView .aiHero,#detailView .analysisCard,
#playerMotorView .pageHead,#playerMotorView .card,#playerMotorView .venueCard,
.view .glass,.view .glassCard,.view .panel,.view .sectionCard,
#homeView>.homeDataPanel,#homeView>.venueHeroBanner,#homeView>.venueGrid{
  backdrop-filter:blur(10px) saturate(112%)!important;
  -webkit-backdrop-filter:blur(10px) saturate(112%)!important;
}
#detailView .courseRacerCard,#detailView .rateGrid,#detailView .rateCell,
#detailView .courseFeatureMemo,#detailView .courseFeatureComment,
#detailView .analysisCard,#detailView .boatRow,#playerMotorView .card{
  backdrop-filter:blur(13px) saturate(110%)!important;
  -webkit-backdrop-filter:blur(13px) saturate(110%)!important;
}
/* Remove the bright separator where the Today's Venues header meets its card grid. */
#homeView>.venueHeroBanner{
  border-bottom-color:transparent!important;
  box-shadow:0 7px 22px rgba(0,28,48,.13),inset 0 1px 0 rgba(255,255,255,.34)!important;
}
#homeView>.venueGrid,
#homeView .venueGrid{
  border-top-color:transparent!important;
  box-shadow:0 7px 22px rgba(0,28,48,.13)!important;
}


/* ===== v0.9.56 requested cleanup ===== */
/* Remove the faint decorative diagonal sheen in the Today's Venues header. */
#homeView>.venueHeroBanner::before,
#homeView>.venueHeroBanner::after{display:none!important;content:none!important;background:none!important;}
/* Keep the joined header/grid glass clean with no seam/highlight strip. */
#homeView>.venueHeroBanner{border-bottom:0!important;}
#homeView>.venueGrid{border-top:0!important;}
/* Preview-available badge retired. */
.previewTag{display:none!important;}


/* ===== v0.9.57 Suminoe photo + white-glass readability ===== */
/* Keep light glass, but give white copy a subtle dark edge so it remains readable
   over bright water / pale mosaic areas. */
#venueView .pageHead,
#venueView .raceItem,
#detailView .pageHead,
#detailView .raceTopCard,
#detailView .tabs,
#detailView .tabbar,
#detailView .raceTabs,
#detailView .card,
#detailView .boatRow,
#detailView .courseDetailCard,
#detailView .courseRacerCard,
#detailView .courseRacerHead,
#detailView .rateGrid,
#detailView .rateCell,
#detailView .courseFeatureMemo,
#detailView .courseFeatureComment,
#detailView .aiHero,
#detailView .analysisCard,
#detailView .conditionGrid,
#detailView .conditionTile,
#detailView .conditionForecast,
#playerMotorView .pageHead,
#playerMotorView .card,
#playerMotorView .venueCard{
  text-shadow:0 1px 2px rgba(0,0,0,.72),0 0 1px rgba(0,0,0,.55)!important;
}
/* Stronger edge on headings, values and small pale labels. */
#detailView .card h3,#detailView .cardTitle,#detailView .sectionTitle,
#detailView .conditionGrid b,#detailView .conditionGrid small,#detailView .conditionGrid em,
#detailView .conditionForecast b,#detailView .conditionForecast small,
#detailView .courseFeatureMemo p,#detailView .courseFeatureComment,
#detailView .rateCell,#detailView .rateCell strong,
#detailView .boatRow .cell,#detailView .partsCell,
#venueView .raceText,#venueView .raceTime{
  text-shadow:0 1px 3px rgba(0,0,0,.82)!important;
}


/* ===== v0.9.58 Suminoe real photo + visible Home version badge ===== */
/* Force Suminoe to the official venue photograph instead of the fallback glass fill. */
#homeView .venue[data-stadium="12"],
#homeView .venue[data-venue="12"],
#homeView .venue[data-id="12"]{
  --venue-photo:url("https://www.boatrace-suminoe.jp/images/fac_sum.jpg")!important;
  background-image:linear-gradient(180deg,rgba(0,9,16,.02) 0%,rgba(0,12,21,.08) 34%,rgba(1,18,31,.48) 62%,rgba(1,15,27,.96) 100%),url("https://www.boatrace-suminoe.jp/images/fac_sum.jpg")!important;
  background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;
}
/* Keep VERSION visible at the upper-right of the Home artwork, including preview/iframe mode. */
#homeView.active .homeVersionBadge{
  display:block!important;position:absolute!important;
  top:12px!important;right:14px!important;left:auto!important;
  z-index:30!important;pointer-events:none!important;
  padding:5px 9px!important;border-radius:10px!important;
  background:rgba(255,255,255,.30)!important;
  border:1px solid rgba(255,255,255,.62)!important;
  color:#fff!important;
  text-shadow:0 1px 3px rgba(0,0,0,.85)!important;
  backdrop-filter:blur(8px) saturate(115%)!important;
  -webkit-backdrop-filter:blur(8px) saturate(115%)!important;
}
#homeView.active .homeVersionBadge b{color:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,.9)!important;}


/* ===== v0.9.59 Suminoe photo + version sync ===== */
#homeView .venue[data-stadium-key="12"]{
 --venue-photo:url("https://guide.boatrace-suminoe.jp/kr/img/index/gallery/image04.jpg")!important;
}
#homeView.active .homeVersionBadge{
 position:absolute!important;top:10px!important;right:12px!important;left:auto!important;
 display:block!important;z-index:50!important;
}

/* ===== v0.9.60 hard fix: Suminoe photo + Home VERSION ===== */
#homeView{position:relative!important;}
#homeView.active .homeVersionBadge{
 display:block!important;position:absolute!important;top:14px!important;right:14px!important;left:auto!important;
 z-index:9999!important;visibility:visible!important;opacity:1!important;pointer-events:none!important;
 padding:6px 9px!important;border:1px solid rgba(255,255,255,.55)!important;border-radius:9px!important;
 background:rgba(0,24,45,.70)!important;color:#fff!important;box-shadow:0 3px 12px rgba(0,0,0,.35)!important;
}
#homeView.active .homeVersionBadge b{display:inline!important;margin-left:4px!important;font-size:10px!important;color:#fff!important;}
#homeView .venue[data-stadium-key="12"]{
 --venue-photo:url("https://assets.st-note.com/production/uploads/images/192353819/picture_pc_44a5abfbff8fc82f9568c61b3efc28a3.jpg")!important;
 background-image:linear-gradient(180deg,rgba(0,9,16,.02) 0%,rgba(0,12,21,.08) 34%,rgba(1,18,31,.48) 62%,rgba(1,15,27,.96) 100%),var(--venue-photo)!important;
 background-size:cover!important;background-position:center 52%!important;
}

/* ===== v0.9.61 VERSION badge viewport-layer fix =====
   Keep the badge above the fixed disappearing/clip line instead of inside the scrolling Home layer. */
#homeView.active .homeVersionBadge{
  display:block!important;
  position:fixed!important;
  top:calc(env(safe-area-inset-top, 0px) + 12px)!important;
  right:14px!important;
  left:auto!important;
  z-index:2147483000!important;
  visibility:visible!important;
  opacity:1!important;
  transform:none!important;
  clip:auto!important;
  clip-path:none!important;
  overflow:visible!important;
  pointer-events:none!important;
}


/* ===== v0.9.62 VERSION true viewport layer =====
   Badge is a direct child of <main>, not a child of #homeView. This avoids the
   #homeView z-index:2 stacking context that sits below the fixed hero mask (z-index:4). */
.viewportVersionBadge{
 display:block!important;position:fixed!important;
 top:calc(env(safe-area-inset-top,0px) + 12px)!important;right:14px!important;left:auto!important;
 z-index:2147483646!important;visibility:visible!important;opacity:1!important;
 transform:none!important;clip:auto!important;clip-path:none!important;overflow:visible!important;
 pointer-events:none!important;padding:6px 9px!important;border-radius:9px!important;
 border:1px solid rgba(255,255,255,.55)!important;background:rgba(0,24,45,.70)!important;
 color:#fff!important;box-shadow:0 3px 12px rgba(0,0,0,.35)!important;
 font-size:7px!important;line-height:1.05!important;letter-spacing:1.1px!important;
 backdrop-filter:blur(6px) saturate(120%)!important;-webkit-backdrop-filter:blur(6px) saturate(120%)!important;
}
.viewportVersionBadge b{display:inline!important;margin-left:4px!important;color:#fff!important;font-size:10px!important;}

/* ===== v0.9.67 VERSION overlay hard fix ===== */
.viewportVersionBadge{display:block!important;position:fixed!important;top:165px!important;right:16px!important;left:auto!important;z-index:2147483647!important;visibility:visible!important;opacity:1!important;pointer-events:none!important;padding:6px 10px!important;border:1px solid rgba(255,255,255,.55)!important;border-radius:9px!important;background:rgba(3,28,47,.72)!important;color:#fff!important;box-shadow:0 3px 12px rgba(0,0,0,.32)!important;font-size:7px!important;line-height:1!important;letter-spacing:1.2px!important;}
.viewportVersionBadge b{display:inline!important;margin-left:5px!important;color:#fff!important;font-size:11px!important;}


/* ===== v0.9.67 VERSION beside top logo ===== */
.viewportVersionBadge{
  position:fixed!important;
  top:28px!important;
  right:16px!important;
  left:auto!important;
  z-index:2147483647!important;
}

/* ===== v0.9.67 VERSION above clipping line / topmost layer ===== */
.viewportVersionBadge{
 position:fixed!important;top:28px!important;right:16px!important;left:auto!important;
 z-index:2147483647!important;display:block!important;visibility:visible!important;opacity:1!important;
 transform:none!important;clip:auto!important;clip-path:none!important;overflow:visible!important;pointer-events:none!important;
}

/* ===== v0.9.67 V CHALLENGE ===== */
#homeView .vChallengePanel{margin:12px 18px 14px;padding:14px;border-radius:18px;border:1px solid rgba(213,244,255,.32);background:linear-gradient(145deg,rgba(3,29,49,.90),rgba(6,54,82,.80));box-shadow:0 13px 30px rgba(0,14,25,.34),inset 0 1px 0 rgba(255,255,255,.11);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);color:#fff}
.vChallengeHead{display:flex;align-items:end;justify-content:space-between;margin:0 3px 11px}.vChallengeHead small{font-size:8px;letter-spacing:.18em;color:#8ddcff}.vChallengeHead h2{font-size:19px;margin:2px 0 0}.vChallengeHead>span{font-size:8px;letter-spacing:.08em;color:rgba(235,249,255,.7)}
.vChallengeGrid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.vChallengeCard{display:flex;gap:10px;min-height:124px;padding:12px;border-radius:14px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.035));box-shadow:inset 0 1px 0 rgba(255,255,255,.09)}.vChallengeIcon{flex:0 0 34px;height:34px;border-radius:11px;display:grid;place-items:center;font-weight:900;font-size:17px;background:rgba(8,155,214,.24);border:1px solid rgba(132,222,255,.35);color:#bcecff}.vChallengeCopy{min-width:0;flex:1}.vChallengeCopy h3{margin:1px 0 6px;font-size:15px}.vChallengeCopy p{margin:0;color:rgba(235,248,255,.78);font-size:9px;line-height:1.55}.vChallengeMeta{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.vChallengeMeta b,.vChallengeMeta span{font-size:8px;padding:4px 6px;border-radius:7px;background:rgba(0,16,29,.38);border:1px solid rgba(255,255,255,.10)}.vChallengeTenK .vChallengeMeta b{color:#ffd86e}.vChallengeOnePick .vChallengeMeta b{color:#7fe7ff}
@media(max-width:430px){#homeView .vChallengePanel{margin-left:10px;margin-right:10px;padding:12px}.vChallengeGrid{grid-template-columns:1fr}.vChallengeCard{min-height:105px}.vChallengeCopy p{font-size:9px}}

/* v0.9.69 V Challenge compact two-column + tap details */
@media(max-width:430px){.vChallengeGrid{grid-template-columns:1fr 1fr!important;gap:8px}.vChallengeCard{min-height:112px!important;padding:10px!important;display:block!important;cursor:pointer}.vChallengeIcon{width:30px;height:30px;margin-bottom:7px}.vChallengeCopy h3{font-size:13px;margin-bottom:5px}.vChallengeCopy p{display:none}.vChallengeMeta{margin-top:6px;gap:4px}.vChallengeMeta b,.vChallengeMeta span{font-size:7px;padding:3px 5px}}
.vChallengeCard{cursor:pointer;transition:transform .15s ease,background .15s ease}.vChallengeCard:active{transform:scale(.98);background:rgba(255,255,255,.15)}
.vChallengeModal{position:fixed;inset:0;z-index:2147483646;display:none;align-items:flex-end;justify-content:center}.vChallengeModal.open{display:flex}.vChallengeModalBackdrop{position:absolute;inset:0;background:rgba(0,8,16,.68);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.vChallengeModalSheet{position:relative;width:min(94%,620px);max-height:82vh;overflow:auto;padding:22px 18px calc(24px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;background:linear-gradient(160deg,#0a3552,#061d31 72%);border:1px solid rgba(185,232,255,.3);box-shadow:0 -18px 50px rgba(0,0,0,.45);color:#fff}.vChallengeModalClose{position:absolute;right:14px;top:12px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:24px}.vChallengeModalKicker{color:#80dfff;letter-spacing:.2em;font-size:9px}.vChallengeModalSheet h2{font-size:24px;margin:5px 0 15px}.vChallengeDetailLead{font-size:13px;line-height:1.75;color:rgba(240,249,255,.86);margin:0 0 15px}.vChallengeDetailBox{padding:13px;margin:9px 0;border-radius:14px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.12)}.vChallengeDetailBox b{display:block;font-size:13px;margin-bottom:5px}.vChallengeDetailBox span{font-size:11px;line-height:1.6;color:rgba(237,248,255,.75)}

/* v0.9.70 V Challenge full detail */
.vChallengeResultBox{border-color:rgba(89,211,255,.32)!important;background:linear-gradient(135deg,rgba(20,126,171,.18),rgba(255,255,255,.06))!important}.vChallengeModalBody{padding-bottom:8px}
\n/* v0.9.71 V Challenge live data */\n.vChallengeLiveBets{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:10px}.vChallengeLiveBets i{font-style:normal;text-align:center;padding:8px 3px;border-radius:9px;background:rgba(8,22,39,.58);font-weight:900}.vChallengeLiveBets small{display:block;font-size:9px;margin-top:3px;color:#8ee7ff}.vChallengeFund{display:block!important;color:#ffe18a!important;font-size:8px!important;margin-top:2px}.vChallengeDetailBox em{font-style:normal;font-size:10px;color:#83e4ff;margin-left:6px}.vOnePickTicket{float:right;font-size:18px;color:#8ee7ff}.vOnePickList .vChallengeDetailBox{overflow:hidden}\n
/* v0.9.73 V Challenge ticket alignment + live settlement */
.vChallengeLiveBets{display:flex!important;flex-direction:column!important;gap:7px!important;margin-top:12px!important}.vChallengeBetRow{display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:8px 12px;border-radius:10px;background:rgba(8,22,39,.58);border:1px solid rgba(255,255,255,.07)}.vChallengeBetRow strong{font-size:20px;letter-spacing:.4px}.vChallengeBetRow>span{font-size:14px;font-weight:900;color:#8ee7ff;white-space:nowrap}.vChallengeBetRow.isHit{border-color:rgba(255,225,138,.75);background:rgba(255,204,74,.10)}.vHitMark{font-size:14px;margin-left:4px}.vChallengeRaceHead{display:flex;flex-direction:column;gap:5px}.vChallengeRaceHead>span{font-size:12px;opacity:.72}.vChallengeRaceResult{margin-top:10px;font-size:12px;font-weight:800;opacity:.9}.vChallengeTotals{position:sticky;bottom:0;z-index:4;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:14px;padding:10px;border-radius:15px;background:rgba(5,24,40,.96);border:1px solid rgba(128,220,255,.3);box-shadow:0 -8px 24px rgba(0,0,0,.22)}.vChallengeTotals div{text-align:center;padding:7px 3px}.vChallengeTotals small{display:block;font-size:9px;opacity:.65;margin-bottom:4px}.vChallengeTotals b{font-size:14px}.vChallengeTotalsNote{text-align:center;font-size:9px;opacity:.55;margin:7px 0 2px}.vChallengeModalBody .vChallengeDetailBox{overflow:visible}.vChallengeFund{white-space:nowrap}
\n/* v0.9.73 V Challenge mosaic themes */
.vChallengeModalSheet:has(#vChallengeModalTitle){}
.vChallengeModal.goldTheme .vChallengeModalSheet{background:linear-gradient(145deg,rgba(68,50,9,.90),rgba(24,31,35,.92) 52%,rgba(118,87,16,.72));border-color:rgba(255,220,117,.58);box-shadow:0 -18px 55px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,239,180,.22)}
.vChallengeModal.goldTheme .vChallengeModalSheet:before,.vChallengeModal.silverTheme .vChallengeModalSheet:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;background-image:linear-gradient(45deg,rgba(255,255,255,.18) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.18) 75%),linear-gradient(45deg,rgba(255,255,255,.10) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.10) 75%);background-size:18px 18px;background-position:0 0,9px 9px;border-radius:inherit}
.vChallengeModal.goldTheme .vChallengeModalKicker,.vChallengeModal.goldTheme .vChallengeRaceHead em{color:#ffe08a}.vChallengeModal.goldTheme .vChallengeDetailBox{background:rgba(76,58,18,.42);border-color:rgba(255,222,128,.25)}.vChallengeModal.goldTheme .vChallengeBetRow{background:rgba(25,23,15,.58);border-color:rgba(255,220,120,.16)}
.vChallengeModal.silverTheme .vChallengeModalSheet{background:linear-gradient(145deg,rgba(64,75,84,.91),rgba(19,35,47,.94) 52%,rgba(132,146,156,.60));border-color:rgba(220,235,244,.55);box-shadow:0 -18px 55px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.24)}.vChallengeModal.silverTheme .vChallengeModalKicker{color:#e4f2f8}.vChallengeModal.silverTheme .vChallengeDetailBox{background:rgba(68,82,91,.38);border-color:rgba(226,239,246,.22)}
.vOnePickVenue{padding:0!important;overflow:hidden!important}.vOnePickVenue summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;cursor:pointer}.vOnePickVenue summary::-webkit-details-marker{display:none}.vOnePickVenue summary span{display:flex;flex-direction:column;gap:5px}.vOnePickVenue summary small{font-size:10px;color:rgba(240,248,252,.68)}.vOnePickVenue[open] summary{border-bottom:1px solid rgba(255,255,255,.13)}.vOnePickTicket{float:none!important;white-space:nowrap}.vOnePickRaceList{padding:7px 10px 11px}.vOnePickRaceRow{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:8px;padding:9px 5px;border-bottom:1px solid rgba(255,255,255,.09);font-size:11px}.vOnePickRaceRow:last-child{border-bottom:0}.vOnePickRaceRow>span{text-align:center;letter-spacing:.06em}.vOnePickRaceRow>strong{color:#d8eef7;white-space:nowrap}.vOnePickRaceRow.isHit{background:rgba(255,255,255,.09);border-radius:8px}.vOnePickRaceRow.isHit>strong{color:#fff1a8}

/* v0.9.74 V Challenge card artwork */
.vChallengeCard{position:relative!important;overflow:hidden!important;padding:0!important;min-height:128px!important;background:#071b2b!important}
.vChallengeCardArt{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.vChallengeCardOverlay{position:absolute;inset:0;display:flex;align-items:flex-end;padding:10px;background:linear-gradient(180deg,rgba(0,0,0,.02) 35%,rgba(0,10,20,.82) 100%)}
.vChallengeCardOverlay .vChallengeCopy h3{margin:0 0 5px;text-shadow:0 2px 5px rgba(0,0,0,.9)}
.vChallengeCardOverlay .vChallengeMeta{margin-top:0}
@media(max-width:430px){.vChallengeCard{min-height:118px!important}.vChallengeCardOverlay{padding:8px}.vChallengeCardOverlay .vChallengeCopy h3{font-size:12px}}
\n/* v0.9.75 V Challenge visual refinements */
#homeView .vChallengePanel{
  position:relative;overflow:hidden;
  background:linear-gradient(145deg,rgba(255,255,255,.24),rgba(218,235,245,.12),rgba(255,255,255,.18))!important;
  border:1px solid rgba(255,255,255,.55)!important;
  box-shadow:0 13px 30px rgba(0,14,25,.28),inset 0 1px 0 rgba(255,255,255,.52)!important;
  backdrop-filter:blur(16px) saturate(125%)!important;-webkit-backdrop-filter:blur(16px) saturate(125%)!important;
}
#homeView .vChallengePanel:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.20;background-image:linear-gradient(45deg,rgba(255,255,255,.55) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.55) 75%),linear-gradient(45deg,rgba(255,255,255,.28) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.28) 75%);background-size:18px 18px;background-position:0 0,9px 9px}
#homeView .vChallengePanel>*{position:relative;z-index:1}
#homeView .vChallengeHead small{color:rgba(255,255,255,.86)!important}
#homeView .vChallengeHead>span{color:rgba(255,255,255,.78)!important}
.vChallengeCard{border-color:rgba(255,255,255,.42)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.34),0 6px 16px rgba(0,0,0,.18)!important}
.vChallengeTotals{position:sticky;bottom:0;overflow:hidden;background:linear-gradient(145deg,rgba(89,64,9,.90),rgba(35,31,20,.94) 52%,rgba(128,94,17,.82))!important;border:1px solid rgba(255,220,117,.58)!important;box-shadow:0 -8px 24px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,239,180,.24)!important}
.vChallengeTotals:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;background-image:linear-gradient(45deg,rgba(255,244,194,.22) 25%,transparent 25%,transparent 75%,rgba(255,244,194,.22) 75%),linear-gradient(45deg,rgba(255,224,122,.12) 25%,transparent 25%,transparent 75%,rgba(255,224,122,.12) 75%);background-size:18px 18px;background-position:0 0,9px 9px}
.vChallengeTotals>div{position:relative;z-index:1}.vChallengeTotals small{color:#ffe7a1;opacity:.82!important}.vChallengeTotals b{color:#fff4cc}

/* v0.9.76: V Challenge consolidated into Selected Race 10,000-yen challenge */
.selectedRaceGrid{grid-template-columns:1fr!important}.selectedRaceCard{width:100%;min-height:0}.selectedRaceCard .vChallengeCardArt{width:100%;aspect-ratio:16/9;object-fit:cover}.selectedRacePanel .vChallengeHead small{letter-spacing:.24em}


/* v0.9.77: Selected race image-only banner + right TOUCH button */
#homeView .selectedRaceBannerSection{
  margin:18px 18px 22px;
}
#homeView .selectedRaceBanner{
  position:relative;
  width:100%;
  overflow:hidden;
  border-radius:22px;
  border:1px solid rgba(255,220,117,.55);
  box-shadow:0 12px 28px rgba(0,14,25,.30),inset 0 1px 0 rgba(255,239,180,.28);
  background:#15120b;
}
#homeView .selectedRaceBanner img{
  display:block;
  width:100%;
  aspect-ratio:16/6.1;
  object-fit:cover;
  object-position:center;
}
#homeView .selectedRaceTouchBtn{
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  min-width:72px;
  height:54px;
  padding:0 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1px solid rgba(255,235,171,.78);
  border-radius:17px;
  color:#fff7dc;
  background:linear-gradient(145deg,rgba(40,28,7,.78),rgba(137,94,12,.72));
  box-shadow:0 7px 20px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,245,205,.30);
  backdrop-filter:blur(10px) saturate(130%);
  -webkit-backdrop-filter:blur(10px) saturate(130%);
  z-index:3;
  cursor:pointer;
}
#homeView .selectedRaceTouchBtn span{font-size:11px;font-weight:800;letter-spacing:.12em}
#homeView .selectedRaceTouchBtn b{font-size:27px;line-height:1;font-weight:500}
#homeView .selectedRaceTouchBtn:active{transform:translateY(-50%) scale(.96)}
@media(max-width:430px){
 #homeView .selectedRaceBannerSection{margin:15px 18px 19px}
 #homeView .selectedRaceBanner{border-radius:18px}
 #homeView .selectedRaceBanner img{aspect-ratio:16/6.3}
 #homeView .selectedRaceTouchBtn{right:8px;min-width:66px;height:48px;padding:0 10px;border-radius:15px}
 #homeView .selectedRaceTouchBtn span{font-size:10px}
}


/* v0.9.80: remove selected-race artwork; text-only entry */
#homeView .selectedRaceBannerSection{margin:18px 18px 22px;}
#homeView .selectedRaceTextLink{width:100%;min-height:68px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(255,220,117,.48);border-radius:18px;background:linear-gradient(135deg,rgba(94,65,8,.52),rgba(21,31,39,.66));box-shadow:0 10px 24px rgba(0,14,25,.25),inset 0 1px 0 rgba(255,239,180,.22);backdrop-filter:blur(12px) saturate(130%);-webkit-backdrop-filter:blur(12px) saturate(130%);color:#fff7dc;cursor:pointer;}
#homeView .selectedRaceTextLink span{font-size:21px;font-weight:900;letter-spacing:.02em;text-shadow:0 2px 10px rgba(0,0,0,.35);}
#homeView .selectedRaceTextLink b{font-size:30px;line-height:1;font-weight:400;color:#ffe29a;}
#homeView .selectedRaceTextLink:active{transform:scale(.985);}
@media(max-width:430px){#homeView .selectedRaceBannerSection{margin:15px 18px 19px}#homeView .selectedRaceTextLink{min-height:62px;padding:0 17px;border-radius:16px}#homeView .selectedRaceTextLink span{font-size:19px}}

/* v0.9.80: dark/black text must stay crisp — never apply text shadow */
:is(body, body *) :is(.laneBg1,.laneBg5) { --dark-text-shadow:none; }
/* Explicit known dark-text surfaces */
.vpickHomeCard .pickVenue,
.laneBg1, .laneBg1 *,
.laneBg5, .laneBg5 *,
[style*="color:#000"], [style*="color: #000"],
[style*="color:#111"], [style*="color: #111"],
[style*="color:#101"], [style*="color: #101"],
[style*="color:#172"], [style*="color: #172"] { text-shadow:none!important; }
/* Generic dark text classes used by racer/info cards */
.racerCard :is(.racerName,.racerNo,.racerMeta,.racerStat,.comment,.commentText),
.entryCard :is(.racerName,.racerNo,.racerMeta,.racerStat,.comment,.commentText) { text-shadow:none!important; }

/* v0.9.81 payout-class hit badges */
.hitBadge.hitBadgeMedium{background:linear-gradient(135deg,#ffd83d,#e8a900)!important;color:#342400!important;box-shadow:0 3px 10px rgba(232,169,0,.34)!important}
.hitBadge.hitBadgeManshu{background:linear-gradient(135deg,#ff9a22,#f05b12)!important;color:#fff!important;box-shadow:0 3px 10px rgba(240,91,18,.38)!important}

/* v0.9.83: medium-hit badge uses white text */
.hitBadge.hitBadgeMedium{color:#fff!important;}

/* v0.9.86: keep the 1-day 10,000-yen challenge frame fully visible above the fixed bottom navigation */
.vChallengeModal{padding-top:max(10px,env(safe-area-inset-top));padding-bottom:calc(94px + env(safe-area-inset-bottom));box-sizing:border-box;align-items:stretch}
.vChallengeModalSheet{align-self:stretch;width:min(94%,620px);max-height:none;height:auto;margin:0 auto;border-radius:24px;overflow-y:auto;overflow-x:hidden;padding:22px 18px 24px;box-sizing:border-box;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.vChallengeModal.goldTheme .vChallengeModalSheet:before,.vChallengeModal.silverTheme .vChallengeModalSheet:before{border-radius:24px}
.vChallengeTotals{bottom:0}

/* v0.9.87: challenge modal scrolls as one normal sheet; no clipped top and no sticky totals */
.vChallengeModal{padding-top:0!important;padding-bottom:calc(94px + env(safe-area-inset-bottom))!important;align-items:flex-start!important;overflow:hidden!important}
.vChallengeModalSheet{align-self:auto!important;width:min(94%,620px)!important;height:100%!important;max-height:100%!important;margin:0 auto!important;border-radius:0 0 24px 24px!important;overflow-y:auto!important;overflow-x:hidden!important;padding:22px 18px 28px!important;scroll-padding-top:22px!important;box-sizing:border-box!important;-webkit-overflow-scrolling:touch!important}
.vChallengeModal.goldTheme .vChallengeModalSheet:before,.vChallengeModal.silverTheme .vChallengeModalSheet:before{border-radius:0 0 24px 24px!important}
.vChallengeTotals{position:relative!important;bottom:auto!important;z-index:1!important}


/* v0.9.88: always open 1-day challenge at its true top; keep title below the fade boundary */
.vChallengeModalSheet{scroll-behavior:auto!important;scroll-padding-top:22px!important;}
.vChallengeModalKicker{display:block!important;margin-top:0!important;}

/* v0.9.89: place challenge content below the hero fade, matching the home "本日のデータ" start area */
.vChallengeModal{padding-top:96px!important;padding-bottom:calc(94px + env(safe-area-inset-bottom))!important;align-items:flex-start!important;box-sizing:border-box!important}
.vChallengeModalSheet{height:100%!important;max-height:100%!important;border-radius:24px 24px 0 0!important;padding-top:24px!important;}
.vChallengeModal.goldTheme .vChallengeModalSheet:before,.vChallengeModal.silverTheme .vChallengeModalSheet:before{border-radius:24px 24px 0 0!important}


/* v0.9.90: lower 1-day 10k challenge below the fading hero line */
.vChallengeModal{padding-top:190px!important;padding-bottom:calc(94px + env(safe-area-inset-bottom))!important;align-items:flex-start!important;box-sizing:border-box!important;}
.vChallengeModalSheet{height:100%!important;max-height:100%!important;margin:0 auto!important;border-radius:24px 24px 0 0!important;padding-top:24px!important;}
.vChallengeModal.goldTheme .vChallengeModalSheet:before,.vChallengeModal.silverTheme .vChallengeModalSheet:before{border-radius:24px 24px 0 0!important;}

/* v0.9.91: keep challenge close button fixed while modal content scrolls */
.vChallengeModal.open .vChallengeModalClose{
  position:fixed!important;
  top:214px!important;
  right:max(5vw,calc((100vw - 620px)/2 + 18px))!important;
  z-index:2147483647!important;
}

/* v0.9.92: daily 10k challenge marker on selected race cards */
.vChallengeRaceBadge{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;padding:3px 8px;border:1px solid rgba(255,214,86,.8);border-radius:999px;background:linear-gradient(135deg,rgba(122,83,0,.95),rgba(224,168,25,.95));color:#fff!important;font-size:11px!important;font-weight:900;line-height:1.2;letter-spacing:.03em;text-shadow:none!important;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.22)}
\n\n/* v0.9.93: keep black / gray UI text crisp (no blur from text-shadow) */\n.raceItem small,.raceText small,.raceTime small,\n.racerCard small,.entryCard small,.racerMeta,.racerStat,.comment,.commentText,\n.detailCard small,.infoCard small,.statLabel,.statValue,\n.previewTable td,.previewTable th,.dataTable td,.dataTable th,\n.vChallengeRaceHead span,.vChallengeTotals small,.vChallengeTotalsNote,\n[style*="color:#333"],[style*="color: #333"],\n[style*="color:#444"],[style*="color: #444"],\n[style*="color:#555"],[style*="color: #555"],\n[style*="color:#666"],[style*="color: #666"],\n[style*="color:#777"],[style*="color: #777"],\n[style*="color:#888"],[style*="color: #888"],\n[style*="color:#999"],[style*="color: #999"]{text-shadow:none!important;}\n
/* ===== v0.9.94 HERO FADE LINE + HOME CONTENT UP =====
   Raise the fixed disappearing line and move the Home content start by the same amount. */
body:after{height:120px!important;}
#homeView>.homeDataPanel{margin-top:132px!important;}
@media(max-width:430px){
  body:after{height:120px!important;}
  #homeView>.homeDataPanel{margin-top:132px!important;}
}

/* ===== v0.9.95 HERO FADE LINE + HOME CONTENT FURTHER UP =====
   Raise both the disappearing line and all Home content beneath it together. */
body:after{height:82px!important;}
#homeView>.homeDataPanel{margin-top:94px!important;}
@media(max-width:430px){
  body:after{height:82px!important;}
  #homeView>.homeDataPanel{margin-top:94px!important;}
}

/* ===== v0.9.96 ALL TOP CONTENT ALIGNED TO HOME DATA =====
   Match race list, race detail, hit/pinned lists and challenge to the current
   Home "本日のデータ" start position introduced in v0.9.95. */
#venueView>.pageHead,
#detailView>.pageHead,
#liveView>.toolHero,
#racerMotorView>.toolHero,
#racerMotorVenueView>.pageHead{
  margin-top:94px!important;
}
.vChallengeModal{
  padding-top:94px!important;
}
.vChallengeModal.open .vChallengeModalClose{
  top:118px!important;
}
@media(max-width:430px){
  #venueView>.pageHead,
  #detailView>.pageHead,
  #liveView>.toolHero,
  #racerMotorView>.toolHero,
  #racerMotorVenueView>.pageHead{
    margin-top:94px!important;
  }
  .vChallengeModal{padding-top:94px!important;}
  .vChallengeModal.open .vChallengeModalClose{top:118px!important;}
}

/* ===== v0.9.97 PIN ONLY THE TOP TITLE GLASS =====
   Keep the first title bar at the same aligned height while the rest of each
   race/list/detail screen scrolls behind it. Tabs and section headings remain scrollable. */
#venueView>.pageHead,
#detailView>.pageHead,
#racerMotorVenueView>.pageHead{
  position:sticky!important;
  top:94px!important;
  z-index:70!important;
  margin-top:94px!important;
  isolation:isolate!important;
}
@media(max-width:430px){
  #venueView>.pageHead,
  #detailView>.pageHead,
  #racerMotorVenueView>.pageHead{
    position:sticky!important;
    top:94px!important;
    z-index:70!important;
    margin-top:94px!important;
  }
}
\n\n/* ===== v0.9.98 hero quick nav + inline version ===== */
/* The former floating VERSION slot beside the BoatRace V logo is now navigation. */
.heroQuickNav{
 position:fixed!important;top:27px!important;right:15px!important;left:auto!important;z-index:2147483647!important;
 display:flex!important;align-items:center!important;gap:5px!important;
}
.heroQuickNav button{
 appearance:none;-webkit-appearance:none;border:1px solid rgba(255,255,255,.55)!important;
 border-radius:9px!important;background:rgba(3,28,47,.72)!important;color:#fff!important;
 min-height:30px!important;padding:0 10px!important;font-size:9px!important;font-weight:800!important;
 letter-spacing:.03em!important;line-height:1!important;white-space:nowrap!important;
 box-shadow:0 3px 12px rgba(0,0,0,.28)!important;
 backdrop-filter:blur(6px) saturate(120%)!important;-webkit-backdrop-filter:blur(6px) saturate(120%)!important;
 text-shadow:0 1px 2px rgba(0,0,0,.45)!important;
}
.heroQuickNav button:active{transform:scale(.97)}
.homeInlineVersion{margin-left:auto!important;display:inline-flex!important;align-items:center!important;gap:5px!important;color:rgba(235,249,255,.78)!important;font-size:7px!important;letter-spacing:.16em!important;white-space:nowrap!important}
.homeInlineVersion strong{font-size:10px!important;letter-spacing:.04em!important;color:#fff!important}


/* ===== v0.9.99 TOP NAV FRONT LAYER + REMOVE BOTTOM NAV ===== */
/* Quick nav is a direct body child so the fixed hero repaint cannot cover it. */
.heroQuickNav{
 position:fixed!important;
 top:calc(env(safe-area-inset-top, 0px) + 18px)!important;
 right:14px!important;left:auto!important;
 z-index:2147483647!important;
 display:flex!important;gap:6px!important;align-items:center!important;
 pointer-events:auto!important;visibility:visible!important;opacity:1!important;
}
.heroQuickNav button{pointer-events:auto!important;min-height:32px!important;padding:0 11px!important;}

.bottomNav{display:none!important;}
body{padding-bottom:0!important;}
#homeView,#venueView,#detailView,#liveView,#racerMotorView,#racerMotorVenueView{padding-bottom:calc(18px + env(safe-area-inset-bottom))!important;}


/* ===== v0.10.00 GLOBAL HERO NAV ===== */
/* Keep Home / Race Live visible beside the BoatRace V logo on every screen. */
.heroQuickNav{
 display:flex!important;visibility:visible!important;opacity:1!important;
 position:fixed!important;top:calc(env(safe-area-inset-top, 0px) + 18px)!important;right:14px!important;
 z-index:2147483647!important;pointer-events:auto!important;
}
.heroQuickNav button{
 min-height:38px!important;height:38px!important;padding:0 12px!important;
 display:flex!important;align-items:center!important;justify-content:center!important;
}

/* ===== v0.10.01 USE FULL LOWER VIEWPORT =====
   Bottom navigation is gone: remove its old reserved scroll/fade area only.
   The upper hero clipping mask remains unchanged. */
.view.active{
  height:100dvh!important;
  max-height:100dvh!important;
  padding-bottom:env(safe-area-inset-bottom)!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
}
#homeView,#venueView,#detailView,#liveView,#racerMotorView,#racerMotorVenueView{
  padding-bottom:env(safe-area-inset-bottom)!important;
}
.liveVenueGrid,.searchPanel{padding-bottom:calc(12px + env(safe-area-inset-bottom))!important;}
body{padding-bottom:0!important;}

/* ===== v0.10.02 EXTEND CHALLENGE TO LOWER VIEWPORT =====
   Bottom navigation no longer exists, so let the challenge sheet use that space.
   Keep a small safe-area gap and round the lower corners to match the top. */
.vChallengeModal{
  padding-bottom:calc(10px + env(safe-area-inset-bottom))!important;
}
.vChallengeModalSheet{
  height:100%!important;
  max-height:100%!important;
  border-radius:24px!important;
  padding-bottom:calc(28px + env(safe-area-inset-bottom))!important;
}
.vChallengeModal.goldTheme .vChallengeModalSheet:before,
.vChallengeModal.silverTheme .vChallengeModalSheet:before{
  border-radius:24px!important;
}
@media(max-width:430px){
  .vChallengeModal{padding-bottom:calc(8px + env(safe-area-inset-bottom))!important;}
  .vChallengeModalSheet{border-radius:24px!important;}
}


/* ===== v0.10.04 COMPACT RACE LIST RACER PHOTOS ===== */
.raceItem{min-height:94px!important;height:auto!important;overflow:hidden!important;}
.raceItem .raceText{align-self:center!important;min-width:0!important;}
.raceRacerStrip{
  display:flex!important;align-items:center!important;gap:3px!important;
  width:174px!important;max-width:174px!important;height:30px!important;
  margin-top:5px!important;overflow:hidden!important;flex-wrap:nowrap!important;
}
.raceRacerMini{
  position:relative!important;display:block!important;width:26px!important;height:28px!important;
  min-width:26px!important;max-width:26px!important;min-height:28px!important;max-height:28px!important;
  flex:0 0 26px!important;border-radius:5px!important;overflow:hidden!important;
  background:rgba(255,255,255,.88)!important;border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:none!important;
}
.raceRacerMini img{
  position:absolute!important;inset:0!important;width:26px!important;height:28px!important;
  min-width:26px!important;max-width:26px!important;min-height:28px!important;max-height:28px!important;
  object-fit:cover!important;object-position:50% 12%!important;display:block!important;margin:0!important;padding:0!important;
}
.raceRacerMini i{position:absolute!important;inset:0!important;width:26px!important;height:28px!important;align-items:center!important;justify-content:center!important;font-style:normal!important;font-size:10px!important;font-weight:900!important;color:#17384e!important;}
.raceRacerMini em{
  position:absolute!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:9px!important;
  border-radius:0!important;display:flex!important;align-items:center!important;justify-content:center!important;
  font-size:6px!important;font-style:normal!important;font-weight:950!important;line-height:1!important;text-shadow:none!important;
}
.raceRacerMini.lane1 em{background:#fff!important;color:#111!important}.raceRacerMini.lane2 em{background:#222!important;color:#fff!important}
.raceRacerMini.lane3 em{background:#e7333d!important;color:#fff!important}.raceRacerMini.lane4 em{background:#1473df!important;color:#fff!important}
.raceRacerMini.lane5 em{background:#ffe033!important;color:#111!important}.raceRacerMini.lane6 em{background:#0aa24f!important;color:#fff!important}
@media(max-width:390px){.raceRacerStrip{gap:2px!important;width:160px!important;max-width:160px!important}.raceRacerMini,.raceRacerMini img{width:25px!important;min-width:25px!important;max-width:25px!important}.raceRacerMini{flex-basis:25px!important}}

/* ===== v0.10.05 LARGER / FULL-FACE RACE LIST RACER PHOTOS ===== */
.raceRacerStrip{
  gap:3px!important;
  width:210px!important;
  max-width:210px!important;
  height:42px!important;
  margin-top:5px!important;
}
.raceRacerMini{
  width:32px!important;height:40px!important;
  min-width:32px!important;max-width:32px!important;min-height:40px!important;max-height:40px!important;
  flex:0 0 32px!important;border-radius:6px!important;
}
.raceRacerMini img{
  inset:0 0 10px 0!important;
  width:32px!important;height:30px!important;
  min-width:32px!important;max-width:32px!important;min-height:30px!important;max-height:30px!important;
  object-fit:contain!important;object-position:50% 0%!important;
  background:rgba(225,241,250,.96)!important;
}
.raceRacerMini i{width:32px!important;height:30px!important;font-size:11px!important;}
.raceRacerMini em{height:10px!important;font-size:7px!important;}
@media(max-width:390px){
  .raceRacerStrip{gap:2px!important;width:196px!important;max-width:196px!important;height:40px!important}
  .raceRacerMini{width:31px!important;min-width:31px!important;max-width:31px!important;height:38px!important;min-height:38px!important;max-height:38px!important;flex-basis:31px!important}
  .raceRacerMini img{width:31px!important;min-width:31px!important;max-width:31px!important;height:28px!important;min-height:28px!important;max-height:28px!important}
  .raceRacerMini i{width:31px!important;height:28px!important}
}


/* ===== v0.10.06 LANE-COLOR PHOTO BACKGROUNDS + RACER NAMES ===== */
.raceRacerMini.lane1{background:#fff!important}.raceRacerMini.lane2{background:#222!important}.raceRacerMini.lane3{background:#e7333d!important}.raceRacerMini.lane4{background:#1473df!important}.raceRacerMini.lane5{background:#ffe033!important}.raceRacerMini.lane6{background:#0aa24f!important}
.raceRacerMini img{background:transparent!important;}
.raceRacerMini em{
  height:11px!important;padding:0 1px!important;box-sizing:border-box!important;
  font-size:5.5px!important;letter-spacing:-.35px!important;white-space:nowrap!important;
  overflow:hidden!important;text-overflow:clip!important;
}
@media(max-width:390px){.raceRacerMini em{font-size:5px!important;letter-spacing:-.45px!important}}

/* ===== v0.10.07 CRISP DARK / GRAY TEXT =====
   Remove blur-producing text shadows from dark/gray text surfaces only. */
#detailView .card h3,
#detailView .card h4,
#detailView .cardHead h3,
#detailView .cardHead small,
#detailView .embeddedScoreReason h4,
#detailView .aiComment,
#detailView .aiComment *,
#detailView .fine,
#detailView .entryCompareTitle,
#detailView .entryPatternText,
#detailView .entryDesc,
#detailView .entryCompareDesc,
#detailView .entryPrediction,
#detailView .entryPrediction *,
#detailView .deltaScores,
#detailView .deltaScores *,
#detailView #aiRows,
#detailView #aiRows *,
#detailView .racerCard,
#detailView .racerCard *,
#detailView .entryCard,
#detailView .entryCard *,
#detailView .racerMeta,
#detailView .racerStat,
#detailView .comment,
#detailView .commentText,
#detailView [class*="age"],
#detailView [class*="Age"],
#detailView [class*="class"],
#detailView [class*="Class"]{
  text-shadow:none!important;
}

/* ===== v0.10.08 RACER BIO / COMMENT TEXT: NO SHADOW ===== */
#detailView .racerBioLine,
#detailView .racerBioLine *,
#detailView .previousCommentBox,
#detailView .previousCommentBox *{
  text-shadow:none!important;
}

/* ===== v0.10.09 GLOBAL TEXT SHADOW OFF ===== */
html, body, body *, body *::before, body *::after {
  text-shadow: none !important;
}


/* ===== v0.10.10 VENUE CARD HIT / ESCAPE / FLY COUNTS ===== */
#homeView .venueHits{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  gap:3px!important;
}
#homeView .venueHitBadge,
#homeView .venuePickStatBadge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:18px!important;
  padding:3px 6px!important;
  border-radius:999px!important;
  background:rgba(3,25,43,.82)!important;
  border:1px solid rgba(255,255,255,.42)!important;
  color:#fff!important;
  font-size:8px!important;
  line-height:1!important;
  font-weight:950!important;
  text-shadow:none!important;
  box-shadow:0 2px 8px rgba(0,0,0,.30)!important;
  backdrop-filter:blur(3px)!important;
  -webkit-backdrop-filter:blur(3px)!important;
  white-space:nowrap!important;
}
#homeView .venuePickStatBadge.escape{border-color:rgba(255,126,39,.72)!important}
#homeView .venuePickStatBadge.fly{border-color:rgba(205,95,255,.72)!important}
@media(max-width:430px){
 #homeView .venueHitBadge,#homeView .venuePickStatBadge{font-size:7.5px!important;padding:3px 5px!important}
}


/* ===== v0.10.11 VENUE COUNT BADGES RELIABLE STACK ===== */
#homeView .venueHits{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  gap:3px!important;
  position:absolute!important;
  top:6px!important;right:6px!important;left:auto!important;bottom:auto!important;
  width:auto!important;height:auto!important;min-height:0!important;
  overflow:visible!important;z-index:40!important;
}
#homeView .venueHits > span{display:inline-flex!important;flex:none!important;margin:0!important;}
\n\n/* ===== v0.10.12 LIVE VENUES = HOME VENUE CARD DESIGN ===== */
#liveView .liveVenueGrid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
  padding:0 10px calc(12px + env(safe-area-inset-bottom))!important;
}
#liveView .liveVenueBtn{
  position:relative!important;
  box-sizing:border-box!important;
  min-width:0!important;
  width:100%!important;
  min-height:128px!important;
  height:128px!important;
  padding:0 9px 9px!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-end!important;
  text-align:left!important;
  border-radius:12px!important;
  border:1px solid rgba(224,246,255,.35)!important;
  color:#fff!important;
  background-image:linear-gradient(180deg,rgba(0,10,18,.02) 0%,rgba(0,12,22,.04) 38%,rgba(1,19,33,.56) 66%,rgba(1,15,27,.95) 100%),var(--venue-photo)!important;
  background-size:cover!important;
  background-position:center!important;
  box-shadow:0 5px 12px rgba(0,10,20,.25)!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
#liveView .liveVenueBtn::before{
  content:""!important;position:absolute!important;inset:0!important;width:auto!important;height:auto!important;
  border-radius:0!important;transform:none!important;
  background:linear-gradient(180deg,transparent 38%,rgba(1,17,29,.18) 53%,rgba(1,15,27,.90) 100%)!important;
  z-index:0!important;pointer-events:none!important;
}
#liveView .liveVenueBtn>*{position:relative!important;z-index:1!important}
#liveView .liveVenueName{display:block!important;font-size:16px!important;line-height:1.05!important;font-weight:950!important;color:#fff!important}
#liveView .liveVenueMeta{display:block!important;margin-top:4px!important;font-size:8px!important;line-height:1.15!important;color:rgba(255,255,255,.88)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important}
#liveView .liveVenueRaceInfo{display:flex!important;align-items:center!important;gap:5px!important;margin-top:5px!important;font-size:9px!important;color:#fff!important}
#liveView .liveVenueRaceInfo b{font-size:9px!important;color:#fff!important}.liveVenueRaceInfo em{font-style:normal!important;font-weight:850!important;color:#fff!important}
#liveView .liveVenueRaceInfo.closingSoon em{color:#ff5656!important}
#liveView .liveVenueAction{position:absolute!important;top:6px!important;right:6px!important;margin:0!important;padding:4px 6px!important;border-radius:999px!important;background:rgba(232,28,31,.94)!important;color:#fff!important;font-size:7px!important;font-weight:950!important;line-height:1!important;box-shadow:0 2px 8px rgba(0,0,0,.25)!important;white-space:nowrap!important}
@media(max-width:430px){
 #liveView .liveVenueGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;padding-left:10px!important;padding-right:10px!important}
 #liveView .liveVenueBtn{min-height:128px!important;height:128px!important;padding-left:8px!important;padding-right:8px!important}
 #liveView .liveVenueName{font-size:15px!important}
}

/* ===== v0.10.13 LIVE PAGE VISUAL UNIFICATION ===== */
/* Match the Race Live title card to the app's white translucent mosaic/glass cards. */
#liveView > .toolHero{
  position:relative!important;
  overflow:hidden!important;
  background:rgba(255,255,255,.24)!important;
  border:1px solid rgba(255,255,255,.48)!important;
  box-shadow:0 7px 22px rgba(0,28,48,.13),inset 0 1px 0 rgba(255,255,255,.34)!important;
  backdrop-filter:blur(12px) saturate(115%)!important;
  -webkit-backdrop-filter:blur(12px) saturate(115%)!important;
  color:#fff!important;
}
#liveView > .toolHero::before{
  content:""!important;display:block!important;position:absolute!important;inset:0!important;
  pointer-events:none!important;
  background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.035) 45%,rgba(255,255,255,.13))!important;
}
#liveView > .toolHero > *{position:relative!important;z-index:1!important}

/* Same vertical size as Home > Today's Venues cards. */
#liveView .liveVenueBtn{min-height:104px!important;height:104px!important;padding:0 8px 7px!important}
#liveView .liveVenueName{font-size:13.5px!important;line-height:14px!important}
#liveView .liveVenueMeta{font-size:7px!important;margin-top:3px!important}
#liveView .liveVenueRaceInfo{margin-top:4px!important;gap:5px!important;font-size:8.5px!important;height:14px!important}
#liveView .liveVenueRaceInfo b,#liveView .liveVenueRaceInfo em{font-size:8.5px!important}
/* Weather/status mark at lower-left is intentionally removed. */
#liveView .liveVenueRaceInfo > span:first-child{display:none!important}
@media(max-width:430px){
 #liveView .liveVenueBtn{min-height:100px!important;height:100px!important;padding:0 7px 6px!important}
 #liveView .liveVenueName{font-size:13px!important}
 #liveView .liveVenueMeta{font-size:6.8px!important}
 #liveView .liveVenueRaceInfo b,#liveView .liveVenueRaceInfo em{font-size:8px!important}
}
\n/* ===== v0.10.14 CANCELLATION STATUS ===== */
#venueGrid .venue.venueCancelled::after{content:"";position:absolute;inset:0;background:rgba(7,18,30,.38);border-radius:inherit;pointer-events:none;z-index:1}
#venueGrid .venue.venueCancelled>*{position:relative;z-index:2}
#venueGrid .venue.venueCancelled{filter:saturate(.42);cursor:default}
#venueGrid .venue.venuePartialCancelled{filter:saturate(.68)}
#venueGrid .venue .venueCancelInfo{display:flex;align-items:center;gap:6px;color:#fff}
#venueGrid .venue .venueCancelInfo .raceNo{font-weight:900;font-size:13px;padding:3px 7px;border-radius:999px;background:rgba(225,38,38,.92);color:#fff}
#venueGrid .venue .venueCancelInfo .closeTime{font-size:10px;color:#fff;font-weight:700}
\n\n/* ===== v0.10.17 CANCELLATION + RACE RESULT LAYOUT ===== */\n#venueView .raceItem{position:relative!important;}\n#venueView .raceItem.resultRace{padding-bottom:31px!important;}\n#venueView .raceItem.resultRace .raceRacerStrip{margin-bottom:2px!important;}\n#venueView .raceResultCorner{\n  position:absolute!important;right:12px!important;bottom:7px!important;z-index:8!important;\n  display:flex!important;flex-direction:column!important;align-items:flex-start!important;\n  min-width:78px!important;font-size:9px!important;line-height:1.25!important;font-weight:850!important;\n  color:#fff!important;white-space:nowrap!important;text-align:left!important;text-shadow:none!important;\n}\n#venueView .raceResultCorner span{display:block!important;color:#fff!important;text-shadow:none!important;}\n/* Global text-shadow off must remain the final rule. */\nhtml, body, body *, body *::before, body *::after {text-shadow:none!important;}\n

/* ===== v0.10.18 CANCELLATION FETCH + RACE RIGHT COLUMN ===== */
#venueView .raceItem.resultRace{padding-bottom:10px!important;}
#venueView .raceResultCorner{display:none!important;}
#venueView .raceTime{min-width:86px!important;display:flex!important;flex-direction:column!important;align-items:flex-end!important;justify-content:center!important;gap:1px!important;}
#venueView .raceTime>small{display:block!important;order:0!important;font-size:8px!important;line-height:1.1!important;}
#venueView .raceTime>b{order:1!important;font-size:14px!important;line-height:1.15!important;}
#venueView .raceResultInline{order:2!important;margin-top:5px!important;display:grid!important;grid-template-columns:auto 1fr!important;column-gap:5px!important;align-items:baseline!important;text-align:left!important;white-space:nowrap!important;}
#venueView .raceResultInline small{font-size:8px!important;color:rgba(235,247,255,.72)!important;}
#venueView .raceResultInline strong{font-size:9px!important;color:#fff!important;font-weight:850!important;}
html, body, body *, body *::before, body *::after {text-shadow:none!important;}


/* ===== v0.10.19 RACE DEADLINE / RESULT STACK ===== */
#venueView .raceTime{
  min-width:78px!important;align-self:stretch!important;justify-content:flex-start!important;
  padding-top:8px!important;padding-bottom:7px!important;gap:0!important;
}
#venueView .raceDeadlineBlock{
  display:flex!important;flex-direction:column!important;align-items:flex-end!important;
  width:100%!important;gap:1px!important;
}
#venueView .raceDeadlineBlock small{font-size:8px!important;line-height:1.05!important;color:rgba(235,247,255,.72)!important;}
#venueView .raceDeadlineBlock b{font-size:14px!important;line-height:1.12!important;color:#fff!important;}
#venueView .raceResultInline{
  margin-top:auto!important;width:100%!important;display:flex!important;flex-direction:column!important;
  align-items:flex-end!important;gap:0!important;text-align:right!important;white-space:nowrap!important;
}
#venueView .raceResultInline small{font-size:8px!important;line-height:1.1!important;color:rgba(235,247,255,.72)!important;}
#venueView .raceResultInline strong{font-size:9px!important;line-height:1.18!important;color:#fff!important;font-weight:850!important;}
html, body, body *, body *::before, body *::after {text-shadow:none!important;}

/* ===== v0.10.22 HIT LIST SAME CARD / STABLE REFRESH ===== */
#venueView .hitOnlyRaceBtn .raceItem{min-height:0!important;}
/* Global text-shadow off must remain the final rule. */
html, body, body *, body *::before, body *::after {text-shadow:none!important;}

/* ===== v0.10.24 HOME DEADLINE SORT TOGGLE ===== */
#homeView>.venueHeroBanner{position:relative!important;}
#homeView .deadlineSortBtn{
 position:absolute!important;right:166px!important;top:50%!important;transform:translateY(-50%)!important;
 min-width:72px!important;height:44px!important;padding:0 10px!important;border-radius:14px!important;
 border:1px solid rgba(255,255,255,.42)!important;background:rgba(255,255,255,.16)!important;
 backdrop-filter:blur(10px) saturate(115%)!important;-webkit-backdrop-filter:blur(10px) saturate(115%)!important;
 color:#fff!important;font-size:13px!important;font-weight:800!important;white-space:nowrap!important;z-index:5!important;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 4px 12px rgba(0,25,45,.12)!important;
}
#homeView .deadlineSortBtn.active{background:rgba(13,116,180,.48)!important;border-color:rgba(255,255,255,.70)!important;}
@media(max-width:430px){
 #homeView>.venueHeroBanner{padding-right:238px!important;}
 #homeView .deadlineSortBtn{right:158px!important;min-width:68px!important;padding:0 7px!important;font-size:12px!important;}
}
/* Global text-shadow remains disabled. */
html,body,body *,body *::before,body *::after{text-shadow:none!important;}


/* ===== v0.10.25 FINISHED RACE CARD + STABLE VENUE REFRESH ===== */
#venueView .raceItem.resultRace{
  background:rgba(3,10,17,.62)!important;
  border-color:rgba(255,255,255,.28)!important;
  backdrop-filter:blur(13px) saturate(80%)!important;
  -webkit-backdrop-filter:blur(13px) saturate(80%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 5px 16px rgba(0,0,0,.22)!important;
}
#venueView .raceItem.resultRace::before{background:linear-gradient(135deg,rgba(0,0,0,.28),rgba(255,255,255,.035))!important;}
#venueView .raceItem.resultRace .raceNo{
  background:rgba(255,255,255,.94)!important;color:#132333!important;
  border:1px solid rgba(255,255,255,.98)!important;box-shadow:none!important;
}
#venueView .raceItem.resultRace .raceRacerStrip.finishOrder .raceRacerMini em{font-size:6px!important;letter-spacing:-.35px!important;}
/* Global text-shadow remains disabled. */
html,body,body *,body *::before,body *::after{text-shadow:none!important;}


/* ===== v0.10.26 FINISH PLACE BADGE ===== */
#venueView .raceItem.resultRace .raceRacerMini{position:relative!important;}
#venueView .raceItem.resultRace .raceRacerMini em{font-size:6.5px!important;letter-spacing:-.2px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important;}
#venueView .raceItem.resultRace .finishPlaceBadge{position:absolute!important;left:1px!important;top:1px!important;z-index:5!important;padding:1px 2px!important;border-radius:3px!important;background:rgba(0,0,0,.72)!important;color:#fff!important;font-size:5.5px!important;line-height:1.05!important;font-weight:900!important;white-space:nowrap!important;}
html,body,body *,body *::before,body *::after{text-shadow:none!important;}
