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