:root{
  --hud-bg:#020713;--hud-panel:rgba(5,18,38,.86);--hud-panel2:rgba(7,26,51,.92);
  --hud-cyan:#35e7ff;--hud-blue:#1a78ff;--hud-violet:#9c4dff;--hud-mag:#ff2d8d;
  --hud-red:#ff4664;--hud-green:#22f0be;--hud-gold:#ffc84a;--hud-text:#ecfaff;--hud-muted:#8fb5d5;
  --hud-line:rgba(53,231,255,.28);--hud-glow:0 0 9px rgba(53,231,255,.35),0 0 28px rgba(26,120,255,.17);
}
html{background:#01050d;scroll-behavior:smooth}
body{max-width:1180px!important;min-height:100vh;position:relative;isolation:isolate;background:
 radial-gradient(circle at 78% -8%,rgba(20,110,255,.23),transparent 28%),
 radial-gradient(circle at 15% 12%,rgba(157,77,255,.10),transparent 24%),
 linear-gradient(180deg,#020713 0%,#041020 46%,#020813 100%)!important;color:var(--hud-text)!important;padding:14px!important}
body::before{content:"";position:fixed;inset:0;z-index:-3;pointer-events:none;background-image:
 linear-gradient(rgba(53,231,255,.045) 1px,transparent 1px),
 linear-gradient(90deg,rgba(53,231,255,.045) 1px,transparent 1px);background-size:34px 34px;opacity:.58}
body::after{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:
 linear-gradient(112deg,transparent 0 47%,rgba(53,231,255,.07) 47.2% 47.4%,transparent 47.6% 100%),
 repeating-linear-gradient(180deg,transparent 0 5px,rgba(100,190,255,.012) 6px 7px);mix-blend-mode:screen}

/* Futuristic top hero */
.hud-hero{position:relative;overflow:hidden;margin:2px 0 12px;padding:22px 24px 20px;border:1px solid rgba(53,231,255,.46);clip-path:polygon(0 0,95% 0,100% 22%,100% 100%,5% 100%,0 78%);background:linear-gradient(135deg,rgba(4,19,42,.96),rgba(3,9,24,.92));box-shadow:var(--hud-glow),inset 0 0 34px rgba(53,231,255,.045)}
.hud-hero::before,.hud-hero::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.hud-hero::before{width:190px;height:190px;right:5%;top:-72px;border:2px solid rgba(53,231,255,.45);box-shadow:0 0 0 14px rgba(26,120,255,.08),0 0 0 28px rgba(156,77,255,.05),0 0 34px rgba(53,231,255,.3);background:conic-gradient(from 20deg,transparent 0 10%,rgba(53,231,255,.28) 12% 14%,transparent 16% 34%,rgba(255,45,141,.35) 36% 38%,transparent 40%)}
.hud-hero::after{width:92px;height:92px;right:96px;top:-25px;border:1px dashed rgba(53,231,255,.65);animation:hudSpin 18s linear infinite}
@keyframes hudSpin{to{transform:rotate(360deg)}}
.hud-brand{position:relative;z-index:1;font-weight:1000;font-style:italic;letter-spacing:.08em;font-size:clamp(1.75rem,6vw,3.25rem);line-height:.96;background:linear-gradient(180deg,#fff 0%,#9df6ff 33%,#48c9ff 56%,#7b87ff 88%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 20px rgba(64,199,255,.38)}
.hud-tagline{position:relative;z-index:1;margin-top:8px;font-size:.78rem;letter-spacing:.19em;color:#62ddff;font-weight:800;text-transform:uppercase}
.hud-status{position:relative;z-index:1;display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.hud-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid rgba(53,231,255,.25);background:rgba(4,30,56,.66);clip-path:polygon(0 0,92% 0,100% 28%,100% 100%,8% 100%,0 72%);font-size:.72rem;letter-spacing:.06em;color:#a8ddf4}
.hud-dot{width:7px;height:7px;border-radius:50%;background:var(--hud-green);box-shadow:0 0 12px var(--hud-green)}

/* Hide plain legacy header while preserving functionality */
body>h1,body>h1+.muted,#buildBadge{display:none!important}
body>nav[aria-label="競馬区分"]{position:relative;z-index:3;margin:0 0 10px!important;padding:7px;border:1px solid rgba(53,231,255,.18);background:rgba(2,13,29,.78);box-shadow:inset 0 0 18px rgba(53,231,255,.035)}
body>nav[aria-label="競馬区分"] a{border-radius:4px!important;clip-path:polygon(0 0,92% 0,100% 30%,100% 100%,8% 100%,0 70%);background:rgba(8,27,50,.86)!important;border-color:rgba(53,231,255,.22)!important;color:#b8dcef!important}
body>nav[aria-label="競馬区分"] a[aria-current="page"]{color:#06101d!important;background:linear-gradient(135deg,#4ff4ff,#49bfff)!important;box-shadow:0 0 16px rgba(53,231,255,.45);font-weight:900}

/* Tabs */
.page-tabs{top:0!important;z-index:80!important;gap:10px!important;margin:0 0 14px!important;padding:8px!important;background:rgba(1,8,20,.92)!important;border:1px solid rgba(53,231,255,.20)!important;border-radius:0!important;backdrop-filter:blur(18px);box-shadow:0 10px 35px rgba(0,0,0,.38)}
.page-tabs button{position:relative;overflow:hidden;min-height:58px;border-radius:4px!important;border:1px solid rgba(65,177,255,.40)!important;background:linear-gradient(180deg,rgba(10,34,67,.92),rgba(4,18,38,.96))!important;color:#c5ddf2!important;clip-path:polygon(0 0,93% 0,100% 28%,100% 100%,7% 100%,0 72%);letter-spacing:.03em;font-weight:900!important}
.page-tabs button::after{content:"";position:absolute;left:8%;right:8%;bottom:4px;height:1px;background:linear-gradient(90deg,transparent,var(--hud-cyan),transparent);opacity:.55}
.page-tabs button[aria-selected="true"]{color:#efffff!important;background:linear-gradient(135deg,rgba(10,68,160,.94),rgba(0,113,176,.82))!important;border-color:#5cf1ff!important;box-shadow:0 0 0 1px rgba(27,134,255,.75),0 0 14px rgba(53,231,255,.8),0 0 35px rgba(26,120,255,.48),inset 0 0 28px rgba(53,231,255,.15)!important;text-shadow:0 0 14px rgba(255,255,255,.4)}

/* Generic HUD cards */
.card,.fd-dashboard,.fd-panel,.review-stat,.x-stat,.x-race,.precision-kpi{position:relative;border-radius:5px!important;background:linear-gradient(145deg,rgba(5,24,48,.91),rgba(4,13,31,.95))!important;border:1px solid rgba(53,231,255,.24)!important;box-shadow:0 12px 34px rgba(0,0,0,.26),inset 0 0 28px rgba(53,231,255,.028)!important}
.card::before,.fd-dashboard::before,.fd-panel::before{content:"";position:absolute;inset:-1px;pointer-events:none;background:linear-gradient(90deg,var(--hud-cyan),transparent 13%,transparent 87%,var(--hud-blue)) top/100% 1px no-repeat,linear-gradient(180deg,var(--hud-cyan),transparent 18%) left/1px 100% no-repeat;opacity:.62}
.card::after{content:"";position:absolute;right:10px;top:9px;width:30px;height:7px;border-top:2px solid rgba(53,231,255,.55);border-right:2px solid rgba(53,231,255,.55);transform:skewX(-28deg);pointer-events:none}
.card h2,.card h3,.fd-panel h3{letter-spacing:.025em;color:#effcff;text-shadow:0 0 14px rgba(53,231,255,.12)}
.section-kicker,.fd-section-title{border-radius:2px!important;color:#71efff!important;background:rgba(5,37,65,.86)!important;border:1px solid rgba(53,231,255,.30)!important;letter-spacing:.16em!important;clip-path:polygon(0 0,91% 0,100% 34%,100% 100%,9% 100%,0 66%)}

/* Race select as control console */
.race-control-card{border-color:rgba(53,231,255,.62)!important;box-shadow:0 0 18px rgba(53,231,255,.18),0 20px 50px rgba(0,0,0,.36),inset 0 0 35px rgba(53,231,255,.04)!important;background:linear-gradient(145deg,rgba(4,28,58,.96),rgba(3,11,29,.98))!important}
.race-control-card .section-title::after{content:"  // RACE SELECT";font-size:.62em;letter-spacing:.16em;color:#4fcfff;font-weight:700}
label{color:#d8f3ff!important;letter-spacing:.02em}
input,select,textarea{border-radius:3px!important;background:linear-gradient(180deg,rgba(7,27,50,.96),rgba(4,17,35,.98))!important;border:1px solid rgba(70,167,225,.55)!important;box-shadow:inset 0 0 18px rgba(16,120,255,.055);color:#effcff!important}
input:focus,select:focus,textarea:focus{outline:none!important;border-color:var(--hud-cyan)!important;box-shadow:0 0 0 1px rgba(53,231,255,.55),0 0 18px rgba(53,231,255,.20)!important}
button,.primary-action{border-radius:3px!important;position:relative;background:linear-gradient(135deg,#057d9d,#0b66d7)!important;border:1px solid #4eeeff!important;color:#f5feff!important;box-shadow:0 0 16px rgba(53,231,255,.22),inset 0 0 14px rgba(255,255,255,.04)!important;clip-path:polygon(0 0,94% 0,100% 28%,100% 100%,6% 100%,0 72%)}
.primary-action{font-size:1.1rem!important;letter-spacing:.04em;text-shadow:0 0 12px #6ef4ff}
button.subtle{background:linear-gradient(135deg,#172d50,#22245f)!important;border-color:rgba(156,77,255,.55)!important}

/* High-value panels */
#advancedFactorsCard{border-color:rgba(72,193,255,.55)!important}
#decisionSupportCard{border-color:rgba(156,77,255,.58)!important;box-shadow:0 0 24px rgba(156,77,255,.08),inset 0 0 30px rgba(156,77,255,.025)!important}
#precisionLabCard{border-color:rgba(34,240,190,.42)!important}
#xPrediction{border-color:rgba(255,45,141,.45)!important}
#xPrediction h2::before{content:"LIVE SCAN  ";font-size:.6em;letter-spacing:.12em;color:#ff4f9a}

/* Tables */
.scroll{border-radius:4px!important;border:1px solid rgba(53,231,255,.14)}
table{background:rgba(2,13,28,.62)}
th{background:linear-gradient(180deg,rgba(19,54,89,.96),rgba(10,34,63,.96))!important;color:#dff9ff!important;border-bottom:1px solid rgba(53,231,255,.35)!important;letter-spacing:.035em}
td{border-bottom:1px solid rgba(71,122,168,.24)!important}
tbody tr:hover td{background:rgba(27,103,159,.11)}
#out table tbody tr:nth-child(1) td{background:linear-gradient(90deg,rgba(255,200,74,.11),transparent)!important;box-shadow:inset 3px 0 var(--hud-gold)}
#out table tbody tr:nth-child(2) td{background:linear-gradient(90deg,rgba(53,231,255,.08),transparent)!important;box-shadow:inset 3px 0 #6bdfff}
#out table tbody tr:nth-child(3) td{background:linear-gradient(90deg,rgba(255,113,68,.08),transparent)!important;box-shadow:inset 3px 0 #ff9a68}

/* Dashboard */
.fd-dashboard{border-color:rgba(53,231,255,.48)!important;background:linear-gradient(155deg,rgba(4,24,50,.97),rgba(2,10,25,.98))!important;overflow:hidden}
.fd-dashboard::after{content:"ANALYTICS // LIVE DATA";position:absolute;right:18px;top:12px;color:rgba(101,223,255,.38);font-size:.62rem;letter-spacing:.14em}
.fd-grid{gap:10px!important}.fd-kpi{border-radius:4px!important;background:linear-gradient(145deg,rgba(9,34,64,.96),rgba(4,20,41,.96))!important;border:1px solid rgba(77,191,255,.25)!important;clip-path:polygon(0 0,94% 0,100% 18%,100% 100%,6% 100%,0 82%)}
.fd-kpi:nth-child(1){border-color:rgba(34,240,190,.35)!important}.fd-kpi:nth-child(2){border-color:rgba(53,231,255,.38)!important}.fd-kpi:nth-child(3){border-color:rgba(156,77,255,.40)!important}
.fd-value{font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important;text-shadow:0 0 16px currentColor!important}.fd-donut{box-shadow:0 0 20px rgba(53,231,255,.28),inset 0 0 16px rgba(255,255,255,.03)!important}.fd-highlight{border-radius:3px!important;border:1px solid rgba(67,139,199,.24)!important;background:rgba(4,18,37,.78)!important}

/* Status / metric badges */
.accent{color:#63efff!important;text-shadow:0 0 10px rgba(53,231,255,.35)}
.notice{color:#ffb46d!important}.muted,small{color:#96b5cf!important}
.review-stat strong,.x-stat strong,.precision-kpi strong{color:#55ecff!important;text-shadow:0 0 12px rgba(53,231,255,.35)}

/* Futuristic utility tags injected by JS */
.hud-section-label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-2px 0 12px;padding:7px 10px;border-left:3px solid var(--hud-cyan);border-bottom:1px solid rgba(53,231,255,.18);background:linear-gradient(90deg,rgba(8,55,90,.36),transparent);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:#6ceeff;font-weight:900}
.hud-section-label::after{content:"● ONLINE";font-size:.62rem;color:#35f0ba;text-shadow:0 0 10px #35f0ba}

@media(max-width:720px){
 body{padding:8px!important}.hud-hero{padding:18px 15px 16px}.hud-hero::before{width:142px;height:142px;right:-14px;top:-55px}.hud-hero::after{right:40px}.hud-brand{font-size:2rem}.hud-tagline{font-size:.60rem;letter-spacing:.13em;max-width:65%}.page-tabs{gap:5px!important;padding:6px!important}.page-tabs button{min-height:54px!important;font-size:.92rem!important;padding:10px 4px!important}.card{padding:16px 13px!important;margin:11px 0!important}.race-control-grid{gap:10px!important}.fd-grid{grid-template-columns:1fr 1fr!important}.fd-kpi:first-child{grid-column:1/-1}.fd-kpi{min-height:96px!important;padding:13px!important}.fd-lower{grid-template-columns:1fr!important}.fd-donut{width:145px!important;height:145px!important}table{font-size:.88rem!important}th,td{padding:10px 7px!important}}
@media(max-width:430px){.fd-grid{grid-template-columns:1fr!important}.fd-kpi:first-child{grid-column:auto}.hud-brand{font-size:1.72rem}.hud-chip:nth-child(n+3){display:none}}


/* --- V24 screen-matched redesign --- */
body{max-width:1280px!important;background:
 radial-gradient(circle at 80% 8%,rgba(0,119,255,.24),transparent 24%),
 radial-gradient(circle at 22% 12%,rgba(148,45,255,.14),transparent 24%),
 linear-gradient(180deg,#020816 0%,#031126 36%,#030915 100%)!important}

.hud-hero{padding:18px 18px 16px;border-color:rgba(86,222,255,.55);background:
 linear-gradient(90deg,rgba(2,11,28,.90),rgba(3,12,32,.80)),
 url('hud-dashboard-ref.png') center/cover no-repeat!important;min-height:220px}
.hud-hero-grid{display:grid;grid-template-columns:220px 1fr 220px;gap:16px;align-items:center;min-height:180px}
.hud-hero-main{display:flex;flex-direction:column;justify-content:center;gap:6px;min-width:0}
.hud-hero-side{display:flex;align-items:stretch}
.hud-mini-panel{width:100%;padding:16px 14px;border:1px solid rgba(77,191,255,.35);background:linear-gradient(180deg,rgba(2,12,32,.82),rgba(4,24,57,.68));box-shadow:inset 0 0 18px rgba(53,231,255,.04);min-height:122px;display:flex;flex-direction:column;justify-content:space-between}
.hud-mini-jp{font-size:1rem;line-height:1.55;font-weight:800;color:#e9fbff;text-shadow:0 0 14px rgba(53,231,255,.12)}
.hud-mini-en,.hud-mini-cap{font-size:.78rem;line-height:1.55;letter-spacing:.09em;color:#74d9ff;font-weight:800;text-transform:uppercase}
.hud-mini-list{font-size:1.05rem;line-height:1.55;letter-spacing:.07em;color:#a7e9ff;font-weight:800;text-align:right}
.hud-mini-list span{color:#ff475f;text-shadow:0 0 12px rgba(255,71,95,.55)}
.hud-brand{font-size:clamp(2.2rem,5vw,4rem);letter-spacing:.04em}
.hud-tagline{font-size:.95rem;letter-spacing:.19em}
.hud-status{margin-top:12px}
.hud-chip{padding:8px 14px;font-size:.76rem}

.page-tabs{padding:10px!important;gap:10px!important;border-color:rgba(77,191,255,.35)!important}
.page-tabs button{min-height:64px!important;font-size:1.02rem!important}

.race-control-card{padding:18px 16px!important}
.race-control-card .section-title{font-size:1.45rem;margin-bottom:14px}
.race-control-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;align-items:end;gap:12px!important}
.race-control-grid label:nth-of-type(1), .race-control-grid label:nth-of-type(2), .race-control-grid label:nth-of-type(3), .race-control-grid label:nth-of-type(4), .race-control-grid label:nth-of-type(5), .race-control-grid label:nth-of-type(6){min-width:0}
.race-control-grid label{display:flex;flex-direction:column;gap:6px}
.race-control-grid .primary-action{grid-column:span 2;min-height:58px!important}
.primary-action{font-size:1.18rem!important;font-weight:1000!important}

#status{font-size:1rem;line-height:1.6;color:#d8f8ff}
#out table{font-size:15px}
#out table td:last-child{font-size:1.3rem;font-weight:900;color:#7ff2ff;text-shadow:0 0 12px rgba(53,231,255,.35)}
#out table tbody tr td:first-child{font-weight:900}

.hud-summary-board{margin:14px 0 18px;border:1px solid rgba(77,191,255,.38);background:linear-gradient(180deg,rgba(4,20,45,.92),rgba(2,10,25,.96));box-shadow:0 14px 38px rgba(0,0,0,.3),inset 0 0 22px rgba(53,231,255,.03);padding:14px 14px 12px;position:relative;overflow:hidden}
.hud-summary-board::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(53,231,255,.04),transparent);pointer-events:none}
.hud-summary-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:10px}
.hud-summary-title{font-size:1.4rem;font-weight:1000;color:#efffff;text-shadow:0 0 16px rgba(53,231,255,.16)}
.hud-summary-sub{font-size:.8rem;letter-spacing:.13em;text-transform:uppercase;color:#68ddff;font-weight:900}
.hud-summary-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr .85fr;gap:10px}
.hud-stat-card{padding:14px 12px;border:1px solid rgba(77,191,255,.28);background:linear-gradient(180deg,rgba(6,26,56,.92),rgba(2,12,30,.95));min-height:108px}
.hud-stat-card .k{display:block;font-size:.85rem;letter-spacing:.06em;color:#8adfff;margin-bottom:8px;font-weight:800}
.hud-stat-card .v{display:block;font-size:2.25rem;line-height:1;color:#fdfefe;font-weight:1000;text-shadow:0 0 16px rgba(53,231,255,.2)}
.hud-stat-card .s{display:block;margin-top:8px;color:#b8d9f0;line-height:1.5;font-size:.9rem}
.hud-stat-card.cyan .v{color:#75f0ff}.hud-stat-card.green .v{color:#9dff78}.hud-stat-card.magenta .v{color:#ff6cd2}.hud-stat-card.red .v{color:#ff6c87}.hud-stat-card.violet .v{color:#a99cff}
.hud-summary-note{margin-top:10px;padding:11px 12px;border:1px solid rgba(77,191,255,.2);background:rgba(4,16,37,.72);color:#cfe8f9;line-height:1.65}

@media(max-width:980px){
  .hud-hero-grid{grid-template-columns:1fr;gap:10px}.hud-hero-side{display:none}.hud-hero{min-height:auto}
  .race-control-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.race-control-grid .primary-action{grid-column:1/-1}
  .hud-summary-grid{grid-template-columns:1fr 1fr}.hud-stat-card:first-child{grid-column:1/-1}
}
@media(max-width:560px){
  .hud-summary-grid{grid-template-columns:1fr}.hud-stat-card:first-child{grid-column:auto}
  .hud-summary-title{font-size:1.2rem}.hud-stat-card .v{font-size:1.9rem}
}
