﻿:root{
  --bc-bg:#0d1424; --bc-surface:#16223b; --bc-surface-2:#1d2b49; --bc-surface-3:#233554;
  --bc-text:#eef4ff; --bc-muted:#a7b7d7; --bc-line:rgba(255,255,255,.12);
  --bc-brand:#1168d9; --bc-brand-2:#1b7ef0; --bc-accent:#39e4c8; --bc-warn:#ffbf5d; --bc-danger:#ff5f7a;
  --bc-shadow:0 10px 28px rgba(0,0,0,.34); --bc-radius:12px;
  --ink:#eef4ff; --ink2:#d8e6ff; --navy:#1168d9;
  --bg:var(--bc-bg); --panel:var(--bc-surface); --line:var(--bc-line);
  --text:var(--bc-text); --muted:var(--bc-muted);
  --surface:var(--bc-surface); --surface2:var(--bc-surface-2);
  --aqua:var(--bc-accent); --aqua-dark:#24c9b3; --blue:var(--bc-brand);
  --red:var(--bc-danger); --profit:#39e4c8; --accent:var(--bc-accent); --warn:var(--bc-warn); --danger:var(--bc-danger);
  --chip:rgba(255,255,255,.06); --shadow:var(--bc-shadow); --shadow-sm:0 4px 12px rgba(0,0,0,.22);
  --shadow-card:var(--bc-shadow); --shadow-ui:var(--bc-shadow); --shadow-app:var(--bc-shadow);
  --radius:var(--bc-radius); --radius-card:var(--bc-radius); --radius-ui:var(--bc-radius); --radius-app:var(--bc-radius);
  --game-blue:var(--bc-brand); --game-blue-2:#064fa8; --game-aqua:var(--bc-accent); --game-yellow:#ffd91a;
  --game-ink:#071e3a; --game-surface:#f7fcff; --game-press:0 2px 0 rgba(4,31,63,.28);
  --safe-top:env(safe-area-inset-top,0px);
  --safe-bottom:env(safe-area-inset-bottom,0px);
  --app-max:430px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;height:100%; width:100%; max-width:100%; overflow:hidden}
body{
  background:#dff2ff; color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Segoe UI",sans-serif;
  font-size:16px; line-height:1.5; -webkit-text-size-adjust:100%; -webkit-font-smoothing:antialiased;
  display:flex; justify-content:center;
}
button,input{font:inherit}
.internal-only{display:none!important}
html.show-internal .internal-only{display:block!important}
.app{width:100vw; max-width:var(--app-max); min-width:0; margin:0 auto; height:100dvh; min-height:100dvh; display:flex; flex-direction:column; background:var(--bg); overflow:hidden}

.appbar{
  position:sticky; top:0; z-index:20;
  padding:calc(var(--safe-top) + 11px) 14px 11px;
  background:#176bd8; color:#fff; display:flex; align-items:center; justify-content:space-between;
  border-bottom:2px solid #0d4fa8; box-shadow:0 5px 18px rgba(23,107,216,.26);
  width:100%; min-width:0;
}
.brand{display:flex; align-items:center; gap:10px; min-width:0; flex:1 1 auto; overflow:hidden}
.brand-text{display:flex; flex-direction:column; min-width:0; line-height:1.05}
.brand-mark{display:inline-flex; align-items:flex-end; gap:3px; height:23px; flex:0 0 auto}
.brand-mark .bar{width:5px; border-radius:2px; background:#f7fbff}
.brand-mark .b1{height:10px}.brand-mark .b2{height:16px}.brand-mark .b3{height:23px;background:var(--aqua)}
.brand-name{display:block; font-size:19px; font-weight:900; letter-spacing:0; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.appbar-right{display:flex; align-items:center; gap:8px; flex:0 1 auto; min-width:0}
.corp-pill{display:block; font-size:10px; font-weight:800; color:rgba(235,246,255,.86); border:0; border-radius:0; padding:0; white-space:nowrap; max-width:150px; overflow:hidden; text-overflow:ellipsis}
.icon-btn{
  width:38px; height:38px; border-radius:8px; border:1px solid rgba(255,255,255,.18); cursor:pointer;
  background:rgba(255,255,255,.12); color:#fff; font-size:21px; display:flex; align-items:center; justify-content:center;
}
.icon-btn:active{transform:scale(.96)}

.views{flex:1; width:100%; min-width:0; overflow-y:auto; overflow-x:hidden; -webkit-overflow-scrolling:touch; padding:10px 10px calc(82px + var(--safe-bottom))}
.view{display:none; width:100%; max-width:100%; min-width:0}.view.is-active{display:block; animation:fade .16s ease}
@keyframes fade{from{opacity:0; transform:translateY(3px)}to{opacity:1; transform:none}}
@keyframes tickerMove{from{transform:translateX(0)}to{transform:translateX(-100%)}}
@keyframes softPulse{0%,100%{box-shadow:0 0 0 0 rgba(19,184,177,.28)}50%{box-shadow:0 0 0 6px rgba(19,184,177,0)}}
.view-head{margin:4px 2px 12px}.view-head h2{margin:0 0 2px; font-size:21px; letter-spacing:0}.muted{color:var(--muted); font-size:13px; margin:0}

.hero{
  background:#bfe7ff; color:var(--ink); border-radius:8px; padding:9px; margin-bottom:8px; min-height:0;
  box-shadow:var(--shadow-sm); border:1px solid #b5daf3;
  width:100%; max-width:100%; min-width:0; overflow:hidden;
}
.hero-kicker{display:none}
.hero h1{margin:0 0 6px; font-size:22px; line-height:1.12; letter-spacing:0; color:#0b55aa}
.hero-sub{display:none}
.live-ticker{height:34px; overflow:hidden; border:1px solid #8fc9ef; border-radius:999px; background:#fff; display:flex; align-items:center; margin:0 0 10px; color:#0b55aa; font-size:12px; font-weight:900; white-space:nowrap}
.live-ticker span{display:inline-block; min-width:100%; padding-left:14px; animation:tickerMove 16s linear 2s infinite}
.home-race-brief{display:block; margin:0 0 6px; background:#e7f6ff; border:1px solid #9ed3f5; border-radius:8px; padding:5px; box-shadow:var(--shadow-sm); min-width:0; overflow:hidden}
.deadline-board-head{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin:0}
.deadline-board-head>div{background:#fff; border:1px solid #9ed3f5; border-radius:7px; padding:6px; min-height:52px; min-width:0; box-shadow:var(--shadow-sm)}
.deadline-board-head span{display:block; color:#5f7288; font-size:9px; font-weight:900; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}.deadline-board-head b{display:block; font-size:18px; color:#0b55aa; line-height:1.1}.deadline-board-head em{display:block; font-style:normal; color:#637086; font-size:9px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.deadline-section{background:#fff; border:1px solid #9ed3f5; border-radius:8px; overflow:hidden; margin-bottom:9px}
.deadline-section-title{display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; min-height:32px; gap:8px; background:#176bd8; color:#fff; padding:7px 9px}
.deadline-section-title span{font-size:13px; font-weight:950; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}.deadline-section-title em{font-style:normal; font-size:10px; font-weight:900; background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.35); border-radius:999px; padding:3px 7px; white-space:nowrap}
.deadline-list{display:grid; grid-template-columns:1fr; gap:0; background:#fff}
.deadline-row{display:grid; grid-template-columns:58px minmax(0,1fr) 64px; gap:8px; align-items:center; min-height:42px; padding:8px 9px; border-top:1px solid #d9e8f5; color:#092b50}
.deadline-row:first-child{border-top:0}.deadline-row b{display:flex; align-items:center; justify-content:center; min-height:28px; border-radius:6px; background:#fff3ce; color:#0b2d54; font-size:18px; font-weight:950}.deadline-row span{min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; font-weight:950}.deadline-row em{font-style:normal; color:#087d78; font-size:11px; font-weight:950; text-align:right; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.deadline-row.is-empty b{background:#eef3f7; color:#8a97a8}.deadline-row.is-empty span,.deadline-row.is-empty em{color:#8a97a8}
.deadline-final-grid{display:grid; grid-template-columns:1fr 1fr; gap:8px}
.deadline-final-grid section{background:#fff; border:1px solid #9ed3f5; border-radius:8px; overflow:hidden; min-width:0}
.deadline-list.compact .deadline-row{grid-template-columns:48px minmax(0,1fr); min-height:38px; padding:7px 8px}.deadline-list.compact .deadline-row b{font-size:14px; min-height:24px}.deadline-list.compact .deadline-row span{font-size:12px}.deadline-list.compact .deadline-row em{display:none}
.deadline-more{background:#fff; border:1px solid #9ed3f5; border-radius:8px; overflow:hidden}
.deadline-more summary{list-style:none; min-height:34px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px; padding:6px 8px; color:#0b55aa; cursor:pointer; font-weight:950}
.deadline-more summary::-webkit-details-marker{display:none}
.deadline-more summary::after{content:""; width:9px; height:9px; border-right:3px solid #176bd8; border-bottom:3px solid #176bd8; transform:rotate(45deg); transition:transform .15s ease}
.deadline-more[open] summary::after{transform:rotate(225deg)}
.deadline-more summary span{font-size:13px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.deadline-more summary b{font-size:11px; color:#65758a; background:#eef7ff; border:1px solid #c8e4f6; border-radius:999px; padding:3px 8px; white-space:nowrap}
.deadline-more .deadline-section{border-width:1px 0 1px; border-radius:0}
.deadline-more .deadline-final-grid{padding:8px}
.purchase-window-panel{background:#fff; border:2px solid #2e8add; border-radius:7px; padding:7px 8px; margin:0 0 7px; box-shadow:var(--shadow-sm); color:#092b50; overflow:hidden}
.purchase-window-panel.is-closed{border-color:#f0a12d; background:#fff9eb}
.purchase-window-panel.is-open{border-color:#11b7ad; background:#ecfffb}
.purchase-window-panel.is-waiting{border-color:#f0a12d; background:#fff9eb}
.window-main{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:center}
.window-main span{font-size:12px; font-weight:950; color:#0b55aa; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.window-main b{font-size:18px; color:#0a2b4e; white-space:nowrap}
.purchase-window-panel p{display:block; margin:4px 0 0; color:#435b72; font-size:11px; line-height:1.35; font-weight:850; overflow-wrap:anywhere}
.home-command-grid{display:grid; grid-template-columns:1fr; gap:6px; margin:7px 0}
.home-menu,.home-command-grid{min-width:0}
.home-menu-btn{height:54px; display:grid; grid-template-columns:36px minmax(0,1fr); column-gap:8px; align-items:center; background:#fff; border:2px solid #2e8add; border-radius:7px; color:#176bd8; padding:7px 10px; box-shadow:var(--shadow-sm); cursor:pointer; text-align:left; min-width:0}
.home-menu-primary{background:#0b55aa; border-color:#0b55aa; color:#fff}
.home-menu-btn b{font-size:17px; line-height:1.05; font-weight:950; color:#176bd8; align-self:center; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}.home-menu-btn em{display:none}
.home-menu-primary b,.home-menu-primary em{color:#fff}
.menu-icon{grid-row:1 / 3; width:32px; height:32px; border-radius:7px; display:flex; align-items:center; justify-content:center; background:#fff6d8; border:1px solid #efd36f; position:relative}
.ticket-icon::before{content:""; width:28px; height:20px; border:2px solid #d1aa1b; border-radius:3px; background:repeating-linear-gradient(90deg,#fff 0 5px,#f5e49a 5px 8px)}
.ticket-icon::after{content:""; position:absolute; width:28px; height:3px; background:#dd8c00; transform:rotate(-35deg)}
.check-icon{background:#fff4dd; border-color:#f1bf6b}.check-icon::before{content:""; width:26px; height:26px; border-radius:50%; background:#f5a12b}.check-icon::after{content:""; position:absolute; width:18px; height:10px; border-left:4px solid #fff; border-bottom:4px solid #fff; transform:rotate(-45deg); margin-top:-2px}
.odds-icon{background:#eaf7ff; border-color:#9ed3f5}.odds-icon::before{content:""; width:20px; height:17px; border-left:4px solid #11b7ad; border-bottom:4px solid #11b7ad; transform:skew(-14deg)}.odds-icon::after{content:""; position:absolute; width:22px; height:4px; background:#11b7ad; transform:rotate(-28deg)}
.stake-card{
  display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px;
  background:#e4f3ff; border:1px solid #9ed3f5;
  border-radius:8px; padding:5px 9px; margin-bottom:6px;
  width:100%; min-width:0;
}
.stake-card label{font-size:13px; font-weight:900; color:#245277; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.stake-box{display:flex; align-items:center; gap:6px; flex:0 0 auto; min-width:0}
.stake-box input{
  width:96px; font-size:18px; font-weight:900; text-align:right; padding:6px 8px;
  border:0; border-radius:6px; background:#fff; color:var(--ink);
}
.stake-box .unit{font-weight:900; color:#0b55aa}
.wallet-strip{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin:0 0 8px; width:100%; min-width:0}
.wallet-strip div{background:#fff; border:1px solid #9ed3f5; border-radius:8px; padding:6px; min-width:0; min-height:45px}
.wallet-strip span{display:block; font-size:10px; font-weight:900; color:#5f7288; white-space:nowrap}
.wallet-strip b{display:block; font-size:14px; color:#092b50; overflow-wrap:anywhere}.wallet-strip b.plus{color:var(--profit)}.wallet-strip b.minus{color:var(--danger)}
.wallet-strip-compact{margin-bottom:7px}
.home-purchase-audit{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:center; min-height:48px; margin:0 0 8px; padding:7px 8px; border:1px solid #9ed3f5; border-radius:8px; background:#fff; box-shadow:var(--shadow-sm)}
.home-purchase-audit div{min-width:0}.home-purchase-audit span{display:block; color:#52677d; font-size:10px; font-weight:950}.home-purchase-audit b{display:block; color:#0b55aa; font-size:16px; line-height:1.2; font-weight:950; overflow-wrap:anywhere}.home-purchase-audit em{display:block; color:#66758a; font-size:10px; font-style:normal; font-weight:900; overflow-wrap:anywhere}
.home-purchase-audit button{min-height:34px; border:1px solid #9ed3f5; border-radius:7px; background:#f7fbff; color:#0b55aa; font-weight:950; font-size:11px; padding:6px 9px; white-space:nowrap}
.home-purchase-audit.is-warn{border-color:#efd5ad; border-left:5px solid #f0a12d; background:#fff9ed}.home-purchase-audit.is-warn b{color:#955900}.home-purchase-audit.is-warn button{border-color:#efd5ad; color:#955900; background:#fff}
.home-purchase-audit.is-caution{border-color:#9ed3f5; border-left:5px solid #176bd8}.home-purchase-audit.is-ok{border-color:#a9e1d3; border-left:5px solid var(--profit); background:#eafbf8}.home-purchase-audit.is-ok b{color:#087a4c}
.gate-strip{display:flex; flex-wrap:wrap; gap:5px; margin:0 0 8px}
.gate-strip span{font-size:10px; font-weight:900; color:#0b55aa; background:#fff; border:1px solid #9ed3f5; border-radius:999px; padding:4px 7px}
.hero-shortcuts{display:grid; grid-template-columns:1fr 1fr; gap:7px; margin:0 0 7px}
.hero-shortcut{height:38px; border:1px solid #2e8add; border-radius:7px; background:#fff; color:#0b55aa; font-weight:950; font-size:13px; box-shadow:var(--shadow-sm)}
.login-drawer{margin:10px 0 12px; background:#fff; border:1px solid #9ed3f5; border-radius:8px; box-shadow:var(--shadow-sm); overflow:hidden}
.login-drawer summary{min-height:46px; list-style:none; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px; padding:10px 12px; color:#0b55aa; cursor:pointer; font-weight:950}
.login-drawer summary::-webkit-details-marker{display:none}
.login-drawer summary::after{content:""; width:10px; height:10px; border-right:3px solid #176bd8; border-bottom:3px solid #176bd8; transform:rotate(45deg); transition:transform .15s ease}
.login-drawer[open] summary::after{transform:rotate(225deg)}
.login-drawer summary span{font-size:13px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.login-drawer summary b{font-size:12px; color:#65758a; background:#eef7ff; border:1px solid #c8e4f6; border-radius:999px; padding:4px 8px; white-space:nowrap}
.login-drawer[open] summary{border-bottom:1px solid #d9e8f5}
.login-drawer .auth-note{margin:10px 10px 8px; min-height:auto; box-shadow:none}
.login-drawer .login-ready-panel{margin:0 10px 10px; border-width:1px; box-shadow:none}

.btn{
  border:0; border-radius:7px; padding:13px 14px; font-weight:900; font-size:15px;
  cursor:pointer; width:100%; color:#fff; background:var(--aqua-dark);
  text-decoration:none; display:flex; align-items:center; justify-content:center; gap:8px; height:48px; min-height:48px;
  box-shadow:0 5px 14px rgba(8,125,120,.23);
}
.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.48; cursor:default; box-shadow:none}
.btn-primary{background:#11b7ad; color:#05223a; font-size:17px}
.btn-sub{background:#fff; color:#0b2d54; border:1px solid var(--line); box-shadow:var(--shadow-sm)}
.btn-soft{background:#fff; color:#0b55aa; border:1px solid #9ed3f5; box-shadow:var(--shadow-sm)}
.btn-danger-outline{background:#fff; color:var(--danger); border:1px solid #f1b7c2; box-shadow:var(--shadow-sm)}
.status-line{margin:6px 2px 0; font-size:12px; min-height:28px; color:#0b2d54; text-align:center; background:#fff; border:1px solid #9ed3f5; border-radius:7px; padding:6px 8px; font-weight:900; line-height:1.35}
.status-line:empty{display:none}
.status-line.ok{color:#087a4c; background:#ecfffb; border-color:#9ce3da}.status-line.ng{color:#b91c1c; background:#fff1f3; border-color:#f1b8c0}
.notify-panel{background:#bfe7ff; border:1px solid #9ed3f5; border-radius:8px; padding:10px; margin-bottom:10px; box-shadow:var(--shadow-sm)}
.notify-head{display:flex; align-items:center; justify-content:center; flex-direction:column; color:#0b55aa; margin-bottom:8px}.notify-head b{font-size:18px}.notify-head span{font-size:12px; color:#4d6c87; font-weight:900}
.notify-tiles{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px}.notify-tile{min-height:74px; background:#fff; border:2px solid #2e8add; border-radius:6px; padding:6px 3px; color:#176bd8; font-weight:900; cursor:pointer}.notify-tile span{display:flex; align-items:center; justify-content:center; width:32px; height:32px; margin:0 auto 4px; border-radius:50%; background:#fff4dd; color:#f0a12d}.notify-tile b{display:block; font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}

.auth-note{
  display:flex; gap:10px; align-items:flex-start; background:#fff; border:1px solid var(--line);
  border-left:4px solid var(--blue); border-radius:8px; padding:11px 12px; margin-bottom:12px; box-shadow:var(--shadow-sm); min-height:98px;
  width:100%; max-width:100%; min-width:0; overflow:hidden;
}
.auth-note b{font-size:12px; color:var(--blue); flex:0 0 auto}.auth-note span{font-size:12px; color:var(--muted); line-height:1.55; min-width:0; overflow-wrap:anywhere}
.auth-note-priority{margin:0 0 8px; min-height:auto; border-color:#9ed3f5; border-left-color:#176bd8}
.login-ready-panel{
  background:#fff; border:2px solid #2e8add; border-radius:8px; padding:11px 12px; margin-bottom:12px;
  box-shadow:var(--shadow-sm); color:#092b50; width:100%; max-width:100%; min-width:0; overflow:hidden;
}
.login-ready-priority{margin:0 0 10px; border-color:#176bd8}
.login-ready-head{display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:8px}
.login-ready-head span{font-size:12px; font-weight:950; color:#52677d; white-space:nowrap}
.login-ready-head b{font-size:15px; line-height:1.25; color:#0b55aa; text-align:right; overflow-wrap:anywhere}
.login-ready-panel ol{margin:0 0 10px; padding-left:18px; color:#405a73}
.login-ready-panel li{font-size:12px; line-height:1.55; font-weight:850; padding-left:2px}
.btn-login{background:#0b55aa; color:#fff; box-shadow:var(--shadow-sm)}
.login-ready-panel p{margin:8px 0 0; font-size:12px; line-height:1.55; color:#52677d; font-weight:850; overflow-wrap:anywhere}
.market-note,.advance-block,.compliance-note{
  background:#fff; border:1px solid var(--line); border-radius:8px; padding:11px 12px; margin-bottom:12px; box-shadow:var(--shadow-sm); min-height:84px;
  width:100%; max-width:100%; min-width:0; overflow:hidden;
}
.market-note{display:flex; gap:10px; align-items:flex-start; border-left:4px solid var(--aqua)}
.compliance-note{display:flex; gap:10px; align-items:flex-start; border-left:4px solid #f0a12d; background:#fffaf0; min-height:auto}
.market-note b,.advance-head b{font-size:12px; color:var(--aqua-dark); flex:0 0 auto}
.market-note span,.advance-head span{font-size:12px; color:var(--muted); line-height:1.55; min-width:0; overflow-wrap:anywhere}
.compliance-note b{font-size:12px; color:#955900; flex:0 0 auto}.compliance-note span{font-size:12px; color:#5b4b35; line-height:1.55; min-width:0; overflow-wrap:anywhere; font-weight:850}
.advance-block{background:#f9fbfd}
.advance-head{display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:8px}
.advance-head span{text-align:right}

.cards{display:flex; flex-direction:column; gap:12px}
.home-support-panel{margin:10px 0; background:#bfe7ff; border:1px solid #9ed3f5; border-radius:8px; padding:9px; box-shadow:var(--shadow-sm)}
.home-support-panel .wallet-strip{margin:0 0 8px}
.home-support-panel .hero-shortcuts{margin:0}
.home-preflight-panel{border:1px solid #9ed3f5; background:#e7f6ff; margin:8px 0}
.preflight-head{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:center; margin:0 0 8px}
.preflight-head b{font-size:15px; color:#0b55aa; font-weight:950; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.preflight-head span{font-size:11px; color:#52677d; font-weight:950; background:#fff; border:1px solid #9ed3f5; border-radius:999px; padding:3px 7px; white-space:nowrap}
.home-deadline-details{margin:10px 0}
.home-deadline-details .deadline-more{background:#fff; box-shadow:var(--shadow-sm)}
.empty{color:var(--muted); padding:30px 14px; text-align:center; font-size:14px; background:var(--panel); border:1px dashed var(--line); border-radius:8px; min-height:112px}
.candidate-empty{background:#fff; border:1px solid #9ed3f5; border-left:4px solid #11b7ad; border-radius:8px; padding:10px; box-shadow:var(--shadow-sm); color:#092b50; margin-bottom:8px}
.candidate-empty-head{display:flex; flex-direction:column; gap:4px; margin-bottom:10px}
.candidate-empty-head b{font-size:17px; line-height:1.25; color:#0b55aa; font-weight:950}
.candidate-empty-head span,.candidate-empty p{font-size:12px; line-height:1.55; color:#405a73; font-weight:850; margin:0}
.candidate-empty-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin:10px 0}
.candidate-empty-grid div{min-height:70px; background:#eef8ff; border:1px solid #9ed3f5; border-radius:7px; padding:8px 7px; min-width:0}
.candidate-empty-grid span{display:block; color:#52677d; font-size:10px; font-weight:950; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.candidate-empty-grid b{display:block; color:#092b50; font-size:18px; line-height:1.25; font-weight:950; overflow-wrap:anywhere}
.candidate-empty-grid em{display:block; color:#66758a; font-size:10px; font-style:normal; font-weight:850; line-height:1.35; overflow-wrap:anywhere}
.candidate-empty-actions{display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:10px}
.card{border:1px solid var(--line); border-radius:8px; padding:14px; background:var(--panel); box-shadow:var(--shadow); border-top:4px solid var(--aqua); min-height:430px; width:100%; max-width:100%; min-width:0; overflow:hidden}
.card.grade-s{border-top-color:var(--red)}.card.grade-a{border-top-color:var(--aqua)}.card.grade-b{border-top-color:#7892ad}
.candidate-filter-note{padding:10px 12px; background:#fff8ed; border:1px solid #efd5ad; border-left:4px solid #f0a12d; border-radius:8px; color:#6b5636; font-size:12px; font-weight:900; line-height:1.45}
.opportunity-banner{display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:8px; margin:0 0 10px; padding:9px 10px; border-radius:8px; border:2px solid #176bd8; background:#eef8ff; color:#092b50; box-shadow:var(--shadow-sm); min-width:0}
.opportunity-banner b{display:inline-flex; align-items:center; justify-content:center; min-height:30px; padding:4px 10px; border-radius:6px; background:#176bd8; color:#fff; font-size:14px; font-weight:950; white-space:nowrap}
.opportunity-banner span{font-size:12px; font-weight:900; color:#31516f; overflow-wrap:anywhere; line-height:1.35}
.opportunity-banner.opportunity-top{border-color:#d8193f; background:#fff1f3}.opportunity-banner.opportunity-top b{background:#d8193f}
.opportunity-banner.opportunity-good{border-color:#11b7ad; background:#ecfffb}.opportunity-banner.opportunity-good b{background:#087d78}
.opportunity-banner.opportunity-longshot{border-color:#e4bd00; background:#fff8c9}.opportunity-banner.opportunity-longshot b{background:#f3d20b; color:#111}
.opportunity-banner.opportunity-small{border-color:#7db6e7; background:#f1f8ff}.opportunity-banner.opportunity-small b{background:#176bd8}
.opportunity-banner.opportunity-study{border-color:#f0a12d; background:#fff8ed}.opportunity-banner.opportunity-study b{background:#b76500; color:#fff}
.opportunity-banner.opportunity-time,.opportunity-banner.opportunity-warn{border-color:#f0a12d; background:#fff8ed}.opportunity-banner.opportunity-time b,.opportunity-banner.opportunity-warn b{background:#b76500}
.opportunity-banner.opportunity-closed,.opportunity-banner.opportunity-skip{border-color:#d8e1ea; background:#f4f7fa}.opportunity-banner.opportunity-closed b,.opportunity-banner.opportunity-skip b{background:#627085}
.card-top{display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:8px; flex-wrap:wrap; min-width:0}
.card-top>div{min-width:0; display:flex; align-items:center; gap:6px; flex-wrap:wrap}
.rank{font-weight:900; color:var(--aqua-dark); font-size:13px; margin-right:6px}
.grade-badge{font-size:11px; font-weight:900; border-radius:999px; background:#0b2d54; color:#fff; padding:5px 8px; white-space:nowrap}
.badge{font-size:11px; font-weight:900; padding:5px 9px; border-radius:999px; background:var(--chip); color:#37475f; white-space:nowrap}
.badge-time_closed{background:#fff3dc; color:#955900}.badge-selected,.badge-inputting{background:#fff3dc; color:#955900}.badge-ready,.badge-done{background:#e2f6eb; color:var(--profit)}.badge-failed{background:#fde8ea; color:var(--danger)}.badge-skipped{background:#edf0f5; color:var(--muted)}
.race-name{display:flex; align-items:center; gap:8px; font-size:21px; font-weight:900; margin:2px 0 8px; min-width:0; flex-wrap:wrap}
.race-name span{background:var(--ink); color:#fff; border-radius:5px; padding:3px 9px; font-size:18px}.race-name b{font-size:23px; color:var(--red)}
.deadline{display:inline-flex; align-items:center; gap:6px; font-size:13px; color:var(--muted); background:#f2f6fa; border-radius:999px; padding:5px 10px; margin-bottom:12px}
.deadline-top{margin:0; flex:0 0 auto; max-width:172px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; border:1px solid #d7e6f2}
.deadline .rem{font-weight:900; color:var(--ink)}.deadline.warn{background:#fff3e3; color:var(--warn)}.deadline.warn .rem{color:var(--warn)}.deadline.closed{background:#fdecec; color:var(--danger)}.deadline.closed .rem{color:var(--danger)}
.time-closed-strip{display:flex; align-items:flex-start; gap:8px; background:#fff8ed; border:1px solid #efd5ad; border-left:4px solid #f0a12d; border-radius:8px; padding:9px 10px; margin:0 0 12px}
.time-closed-strip b{font-size:12px; color:#955900; white-space:nowrap}.time-closed-strip span{font-size:12px; color:#6b5636; line-height:1.45}
.card.is-preview{border-top-color:#f0a12d}
.sheet-time{margin-top:10px}
.opportunity-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin:0 0 12px; width:100%; min-width:0}
.opportunity-grid>div{background:#f7fbff; border:1px solid #cfe3f3; border-radius:7px; min-height:58px; padding:7px 6px; text-align:center; min-width:0}
.opportunity-grid span{display:block; color:#627085; font-size:10px; font-weight:950; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.opportunity-grid b{display:block; color:#092b50; font-size:17px; line-height:1.25; font-weight:950; overflow-wrap:anywhere}
.opportunity-grid .plus b{color:var(--profit)}.opportunity-grid .minus b{color:var(--danger)}
.sheet-opportunity{margin:10px 10px 0}.sheet-opportunity-grid{margin:0 0 12px}
.probability-band{display:grid; grid-template-columns:1fr; gap:5px; margin:0 0 10px; border:0; border-radius:7px; background:#eef8ff; padding:8px 9px; color:#092b50; box-shadow:none}
.probability-band div{display:flex; align-items:center; justify-content:space-between; gap:8px}
.probability-band span{font-size:11px; font-weight:950; color:#52677d; white-space:nowrap}
.probability-band b{font-size:13px; color:#0b55aa; text-align:right; overflow-wrap:anywhere}
.probability-band p{margin:0; font-size:12px; line-height:1.55; color:#405a73; font-weight:850}
.probability-band strong{color:#0b2d54; font-size:13px}
.probability-band.is-study{background:#fff8ed}
.probability-band.is-hide{background:#f4f7fa}
.probability-band.is-study b{color:#955900}.probability-band.is-hide b{color:#455365}

.lane-row{display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:0 0 12px}
.lane{min-width:0; display:flex; flex-direction:column; align-items:center; justify-content:center; border:2px solid #cdd8e4; border-radius:8px; min-height:72px; background:#fff}
.lane i{font-style:normal; font-size:11px; color:var(--muted); font-weight:900}.lane b{font-size:32px; line-height:1; font-weight:950; letter-spacing:0}
.lane-1{background:#fff; color:#111; border-color:#c7d2df}.lane-2{background:#111827; color:#fff; border-color:#111827}.lane-3{background:#d8193f; color:#fff; border-color:#d8193f}.lane-4{background:#176bd8; color:#fff; border-color:#176bd8}.lane-5{background:#f3d20b; color:#111; border-color:#e4bd00}.lane-6{background:#14935d; color:#fff; border-color:#14935d}
.lane-2 i,.lane-3 i,.lane-4 i,.lane-6 i{color:rgba(255,255,255,.82)}.lane-5 i{color:#4a3d00}

.figures,.sheet-figures{display:grid; grid-template-columns:1fr 1fr; gap:8px 12px; margin:0}
.figures>div,.sheet-figures>div{display:flex; align-items:baseline; justify-content:space-between; gap:8px; border-bottom:1px dashed var(--line); padding:6px 0; min-width:0}
.figures dt,.sheet-figures dt{color:var(--muted); font-size:12px; margin:0; white-space:nowrap; flex:0 0 auto}
.figures dd,.sheet-figures dd{margin:0; font-size:16px; font-weight:900; text-align:right; min-width:0; overflow-wrap:anywhere}
.figures .profit dd,.sheet-figures .profit dd{color:var(--profit); font-size:19px}.sheet-figures .loss dd{color:var(--danger)}
.figures dd.plus,.sheet-figures dd.plus{color:var(--profit)}.figures dd.minus,.sheet-figures dd.minus{color:var(--danger)}
.reason-drawer{margin:12px 0 0; border:1px solid #9ed3f5; border-radius:8px; background:#f8fbff; overflow:hidden}
.reason-drawer[open]{background:#fff}
.reason-head{display:flex; align-items:center; justify-content:space-between; gap:8px; margin:0; padding:10px 12px; cursor:pointer; list-style:none}
.reason-head::-webkit-details-marker{display:none}
.reason-head span{font-size:13px; font-weight:950; color:#0b2d54}
.reason-head span::before{content:"▼"; display:inline-block; margin-right:6px; color:#176bd8; font-size:11px; transition:transform .18s ease}
.reason-drawer[open] .reason-head span::before{transform:rotate(180deg)}
.reason-head b{font-size:11px; font-weight:950; color:#0b55aa; background:#eaf6ff; border:1px solid #cfe3f3; border-radius:999px; padding:4px 8px; white-space:nowrap}
.reason-list{margin:10px 0 0; padding:0; list-style:none; display:flex; flex-direction:column; gap:4px}
.reason-list li{font-size:12px; color:var(--muted); background:#f6f9fc; border-radius:6px; padding:6px 8px}
.reason-ladder{gap:7px; margin:0; padding:0 10px 10px}
.reason-ladder li{display:grid; grid-template-columns:42px minmax(0,1fr); gap:8px; align-items:flex-start; min-height:52px; border:1px solid #d9e8f5; border-left:4px solid #176bd8; border-radius:8px; background:#f8fbff; padding:8px; color:#405a73}
.reason-ladder li:nth-child(1),.reason-ladder li:nth-child(2){border-left-color:#11b7ad; background:#effffc}
.reason-ladder li:nth-child(n+6){border-left-color:#0b2d54; background:#f4f8fc}
.reason-ladder li>span{min-width:34px; height:24px; padding:0 6px; display:flex; align-items:center; justify-content:center; border-radius:999px; background:#176bd8; color:#fff; font-size:10px; font-weight:950; line-height:1; white-space:nowrap}
.reason-ladder li:nth-child(1)>span,.reason-ladder li:nth-child(2)>span{background:#087d78}
.reason-ladder li:nth-child(n+6)>span{background:#0b2d54}
.reason-ladder div{min-width:0}
.reason-ladder b{display:block; color:#0b2d54; font-size:12px; line-height:1.25; margin:0 0 3px}
.reason-ladder p{margin:0; color:#405a73; font-size:12px; line-height:1.45; font-weight:850; overflow-wrap:anywhere}
.sheet-section .reason-ladder{padding-left:0; margin-top:4px}
.candidate-flow-panel{margin:0 0 10px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none}
.candidate-flow-panel .candidate-next-steps{margin:0 0 8px}
.candidate-next-steps{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin:12px 0 0}
.candidate-next-steps span{display:flex; align-items:center; justify-content:center; gap:4px; min-height:40px; padding:6px 4px; border:1px solid #cfe3f3; border-radius:8px; background:#f8fbff; color:#0b2d54; font-size:10px; line-height:1.2; font-weight:950; text-align:center}
.candidate-next-steps i{flex:0 0 18px; width:18px; height:18px; display:grid; place-items:center; border-radius:50%; background:#176bd8; color:#fff; font-style:normal; font-size:10px}
.actions{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:12px}.actions .btn{min-height:46px; min-width:0}
.candidate-actions{margin-top:0}.candidate-actions .btn-go{grid-column:1 / -1; min-height:50px; font-size:15px}.candidate-actions .btn-copy,.candidate-actions .btn-bought,.candidate-actions .btn-official{min-height:42px}
.deadline-caution{grid-column:1 / -1; justify-self:end; display:block; margin:-4px 4px 0 auto; color:#b56b00; font-size:11px; line-height:1.2; font-weight:950; text-align:right}
.btn-go{background:var(--aqua); color:#042238}.btn-go:disabled{background:#9fc7c1}.btn-bought{background:#fff; color:#087d78; border:1px solid #8bd6cf; box-shadow:var(--shadow-sm)}.btn-bought:disabled{background:#edf6f5; color:#6f908c}.btn-auto{background:#176bd8; color:#fff}.btn-auto:disabled{background:#9bb8d5}.btn-official{background:var(--ink)}.btn-copy{background:#fff; color:var(--ink); border:1px solid var(--line); box-shadow:var(--shadow-sm)}
.card-msg,.sheet-msg{font-size:13px; margin:10px 0 0; line-height:1.5}.card-msg.ok,.sheet-msg.ok{color:var(--profit)}.card-msg.ng,.sheet-msg.ng{color:var(--danger)}

.summary-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:12px}
.summary-grid>div{background:#fff; border:1px solid #8dc9ef; border-radius:8px; padding:12px; box-shadow:var(--shadow-sm); min-height:92px}
.summary-grid span{display:block; font-size:12px; color:#38536e; font-weight:950}.summary-grid b{font-size:24px; color:#092b50; font-weight:950}.summary-grid em{display:block; margin-top:2px; font-style:normal; color:#66758a; font-size:10px; font-weight:900}.summary-grid .plus{color:var(--profit)}.summary-grid .minus{color:var(--danger)}
.analysis-scope-panel{background:#fff; border:2px solid #2e8add; border-radius:8px; padding:11px 12px; margin:0 0 12px; color:#092b50; box-shadow:var(--shadow-sm)}
.analysis-scope-head{display:grid; grid-template-columns:minmax(0,1fr); gap:2px; margin-bottom:7px}
.analysis-scope-head span{display:block; color:#52677d; font-size:11px; font-weight:950}.analysis-scope-head b{display:block; color:#0b55aa; font-size:17px; line-height:1.25; font-weight:950; overflow-wrap:anywhere}
.analysis-scope-panel p{margin:0 0 9px; color:#52627a; font-size:12px; line-height:1.55; font-weight:850; overflow-wrap:anywhere}
.analysis-scope-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px}
.analysis-scope-grid em{display:flex; align-items:center; justify-content:center; min-height:34px; border:1px solid #9ed3f5; border-radius:7px; background:#f2f9ff; color:#0b55aa; font-style:normal; font-size:10px; font-weight:950; text-align:center; line-height:1.25; padding:5px; overflow-wrap:anywhere}
.analysis-explain,.wallet-sync-note{display:flex; gap:10px; align-items:flex-start; background:#fff; border:1px solid #9ed3f5; border-left:5px solid #176bd8; border-radius:8px; padding:11px 12px; margin:0 0 10px; box-shadow:var(--shadow-sm)}
.analysis-explain b,.wallet-sync-note b{font-size:12px; color:#0b55aa; flex:0 0 auto}
.analysis-explain span,.wallet-sync-note span{font-size:12px; color:#52627a; line-height:1.55; min-width:0; overflow-wrap:anywhere}
.learning-gate{background:#bfe7ff; border:1px solid #8fc9ef; border-radius:8px; padding:10px; margin:0 0 10px; box-shadow:var(--shadow-sm)}
.learning-gate-head{display:flex; align-items:flex-start; justify-content:space-between; gap:8px; margin-bottom:8px}
.learning-gate-head b{font-size:15px; color:#0b55aa; font-weight:950; white-space:nowrap}.learning-gate-head span{font-size:12px; color:#3e5d78; line-height:1.45; text-align:right; overflow-wrap:anywhere}
.learning-gate-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px}
.learning-gate-grid div{background:#fff; border:1px solid #9ed3f5; border-radius:7px; padding:9px 8px; min-height:76px; min-width:0}
.learning-gate-grid span{display:block; color:#52677d; font-size:10px; font-weight:950; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.learning-gate-grid b{display:block; color:#092b50; font-size:17px; line-height:1.25; font-weight:950; overflow-wrap:anywhere}
.learning-gate-grid em{display:block; color:#66758a; font-size:10px; font-style:normal; font-weight:850; line-height:1.35; overflow-wrap:anywhere}
.skip-insight{background:#fff8ed; border:1px solid #efd2a5; border-left:5px solid #f5a12b; border-radius:8px; padding:10px; margin:0 0 10px; box-shadow:var(--shadow-sm)}
.skip-insight-head{display:flex; align-items:flex-start; justify-content:space-between; gap:8px; margin-bottom:8px}
.skip-insight-head b{font-size:15px; color:#955900; font-weight:950; white-space:nowrap}.skip-insight-head span{font-size:12px; color:#6a5842; line-height:1.45; text-align:right; overflow-wrap:anywhere}
.skip-insight-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px}
.skip-insight-grid div{background:#fff; border:1px solid #efd2a5; border-radius:7px; padding:9px 8px; min-height:76px; min-width:0}
.skip-insight-grid span{display:block; color:#7a674e; font-size:10px; font-weight:950; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.skip-insight-grid b{display:block; color:#092b50; font-size:17px; line-height:1.25; font-weight:950; overflow-wrap:anywhere}
.skip-insight-grid em{display:block; color:#7d705f; font-size:10px; font-style:normal; font-weight:850; line-height:1.35; overflow-wrap:anywhere}
.skip-insight p{margin:8px 2px 0; color:#6a5842; font-size:11px; line-height:1.45; font-weight:850}
.analysis-status{display:grid; grid-template-columns:1fr; gap:8px; margin-bottom:10px}
.analysis-status>div{background:#fff; border:1px solid var(--line); border-left:4px solid var(--aqua); border-radius:8px; padding:10px 12px; box-shadow:var(--shadow-sm)}
.analysis-status span{display:block; font-size:11px; color:var(--muted); font-weight:900}.analysis-status b{display:block; font-size:18px; color:var(--ink); margin:1px 0}.analysis-status em{display:block; font-style:normal; font-size:12px; color:var(--muted); line-height:1.45}
.split-head h3{margin:16px 2px 8px; font-size:15px}.mini-list{margin-top:8px}.mini-empty{color:var(--muted); font-size:13px; padding:12px; text-align:center; background:#fff; border:1px solid var(--line); border-radius:8px}
.mini-item{display:flex; flex-direction:column; gap:3px; padding:11px 12px; background:#fff; border:1px solid var(--line); border-radius:8px; margin-bottom:8px; box-shadow:var(--shadow-sm)}
.mini-item b{font-size:14px; display:flex; justify-content:space-between; gap:8px}.mini-item span{font-size:13px; color:var(--muted)}.mini-item.is-hit{border-left:4px solid var(--profit)}.knowledge-item em{font-style:normal; color:var(--aqua-dark)}
.analysis-legend{background:#fff; border:1px solid #9ed3f5; border-left:5px solid #f5a12b; border-radius:8px; padding:11px 12px; margin-bottom:8px; box-shadow:var(--shadow-sm)}
.analysis-legend b{display:block; color:#0b55aa; font-size:13px; margin-bottom:5px}.analysis-legend span{display:block; color:#52627a; font-size:12px; line-height:1.55}.analysis-legend em{font-style:normal; color:#092b50; font-weight:950}
.analysis-result-row{gap:7px}.analysis-result-row b{align-items:center; min-width:0}.analysis-result-row b span{font-size:14px; color:var(--ink); min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}.analysis-result-row b em{font-style:normal; flex:0 0 auto; border-radius:999px; padding:4px 8px; background:#edf2f7; color:#52627a; font-size:11px; font-weight:950}
.analysis-result-row.is-hit{border-left:4px solid var(--profit)}.analysis-result-row.is-hit b em{background:#e3f8f5; color:#087a4c}.analysis-result-row.is-missed-hit{border-left:4px solid #f5a12b}.analysis-result-row.is-missed-hit b em{background:#fff3dc; color:#955900}.analysis-result-row.is-miss{border-left:4px solid #b9c8d8}.analysis-result-row.is-miss b em{background:#edf2f7; color:#52627a}
.result-status-line{display:flex; flex-wrap:wrap; gap:5px}.analysis-pill{display:inline-flex; align-items:center; min-height:25px; border-radius:999px; border:1px solid #d8e6ef; padding:4px 8px; background:#f7fbff; color:#334761; font-size:11px; font-weight:900}.analysis-pill.is-bought{background:#e8f5ff; color:#0b55aa}.analysis-pill.is-unbought{background:#fff8ed; color:#955900}.analysis-pill.is-note{background:#fff; color:#092b50}
.analysis-row-note{font-size:12px; color:#52627a; line-height:1.45; overflow-wrap:anywhere}
.weight-chip-list{display:flex; flex-wrap:wrap; gap:6px; margin:8px 0 4px}
.weight-chip{display:inline-flex; align-items:center; gap:6px; min-height:30px; border:1px solid #d8e6ef; border-radius:999px; padding:5px 8px; background:#f3f8fb}
.weight-chip b{display:inline; font-size:12px}.weight-chip em{font-style:normal; font-size:12px; font-weight:900; color:var(--aqua-dark)}
.race-stats{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-bottom:10px; width:100%; min-width:0}
.race-guide{display:flex; align-items:flex-start; gap:10px; background:#fff; border:1px solid #9ed3f5; border-left:4px solid #176bd8; border-radius:8px; padding:11px 12px; margin-bottom:10px; box-shadow:var(--shadow-sm)}
.race-guide b{color:#176bd8; font-size:13px; flex:0 0 auto}.race-guide span{font-size:12px; color:#52627a; line-height:1.55; min-width:0; overflow-wrap:anywhere}
.race-stats>div{background:#fff; border:1px solid var(--line); border-radius:8px; min-height:72px; padding:10px; box-shadow:var(--shadow-sm)}
.race-stats span{display:block; font-size:11px; color:var(--muted); font-weight:900; white-space:nowrap}.race-stats b{display:block; color:var(--ink); font-size:22px; line-height:1.1}.race-stats em{display:block; font-style:normal; font-size:10px; color:var(--muted)}
.segmented{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; background:#d8e6ef; border:1px solid #cbd9e4; border-radius:8px; padding:3px; margin-bottom:10px; width:100%; min-width:0}
.segmented button{height:36px; min-width:0; border:0; border-radius:6px; background:transparent; color:#52627a; font-size:12px; font-weight:900; cursor:pointer; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}.segmented button.is-active{background:#0b2d54; color:#fff; box-shadow:var(--shadow-sm)}
.race-board-head{display:grid; grid-template-columns:1.45fr .7fr .68fr 1.25fr; gap:0; min-height:34px; align-items:center; background:#0b2d54; color:#d7e6f8; border-radius:8px 8px 0 0; padding:0 10px; font-size:11px; font-weight:900; width:100%; min-width:0; overflow:hidden}
.race-board{background:#fff; border:1px solid var(--line); border-top:0; border-radius:0 0 8px 8px; overflow:hidden; box-shadow:var(--shadow-sm)}
.race-row{display:grid; grid-template-columns:1.45fr .7fr .68fr 1.25fr; align-items:center; min-height:68px; padding:7px 10px; border-top:1px solid #edf2f7; background:#fff; gap:0; width:100%; min-width:0}
.race-row:nth-child(even){background:#f8fbfd}.race-main{display:flex; flex-direction:column; gap:3px; min-width:0}.race-main-title{display:flex; align-items:center; gap:6px; min-width:0}.race-main b{font-size:14px; color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap}.race-main span{display:inline-flex; align-items:center; justify-content:center; min-width:34px; height:28px; border-radius:5px; background:#eef4fa; color:#0b2d54; font-size:13px; font-weight:950}
.race-pick-line{grid-column:1 / -1; display:block; margin-top:4px; padding:5px 7px; border-radius:6px; background:#eefbf8; font-size:11px; line-height:1.25; color:#087d78; font-weight:900; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.race-pick-line.is-muted{background:#f7f9fc; border:1px dashed #d6e2ec; color:#617085; white-space:normal; overflow:visible; text-overflow:clip}
.race-value-line{display:flex; flex-wrap:wrap; gap:4px 7px; align-items:center; white-space:normal; overflow:visible; text-overflow:clip; border:1px solid #cfe3f3}
.race-value-line span,.race-value-line b,.race-value-line em{min-width:0; overflow-wrap:anywhere}
.race-value-line b{font-size:12px; color:#092b50}.race-value-line em{font-style:normal; color:#52627a}
.race-value-line .profit{color:#087d78}
.race-value-line.is-pick{background:#e8fbf7; border-color:#8bd6cc; color:#087d78}
.race-value-line.is-skip{background:#fff8ed; border-color:#f3d49a; color:#955900}.race-value-line.is-skip .profit{color:#955900}
.race-value-line.is-missing{background:#f7f9fc; border:1px dashed #d6e2ec; color:#617085}.race-value-line.is-missing .profit{color:#617085}
.race-date,.race-time{font-size:13px; font-weight:900; color:#334761; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}.race-state{display:flex; align-items:center; justify-content:space-between; gap:6px; min-width:0}.race-state span{font-size:11px; font-weight:900; padding:5px 6px; border-radius:999px; background:#edf2f7; color:#52627a; white-space:nowrap; min-width:0; overflow:hidden; text-overflow:ellipsis}.race-state a{display:inline-flex; align-items:center; justify-content:center; width:38px; min-width:38px; height:28px; border-radius:5px; background:#0b2d54; color:#fff; text-decoration:none; font-size:11px; font-weight:900}
.race-row.is-open .race-state span{background:#e3f8f5; color:#087d78}.race-row.is-open.is-no-pick .race-state span{background:#fff8ed; color:#955900}.race-row.is-warn .race-state span{background:#fff3dc; color:#955900}.race-row.is-closed .race-state span{background:#edf0f5; color:#728094}.race-row.is-unknown .race-state span{background:#f3f6f9; color:#6a778b}
.race-more-note{padding:12px; background:#eef8ff; border-top:1px solid #cfe3f3; color:#0b55aa; font-size:12px; font-weight:900; line-height:1.5; text-align:center}
.button-stack{display:grid; grid-template-columns:1fr; gap:8px; margin-bottom:12px}
.learning-station{background:#fff; border:2px solid #2e8add; border-radius:8px; padding:10px; margin:0 0 12px; box-shadow:var(--shadow-sm)}
.learning-station-head{display:grid; grid-template-columns:minmax(0,1fr); gap:3px; margin-bottom:8px}
.learning-station-head b{color:#0b55aa; font-size:16px; font-weight:950}
.learning-station-head span{color:#52627a; font-size:12px; line-height:1.5; font-weight:850}
.analysis-action-stack{margin:0; counter-reset:analysis-step}
.analysis-action-stack .btn{position:relative; justify-content:flex-start; padding-left:48px; text-align:left}
.analysis-action-stack .btn::before{counter-increment:analysis-step; content:counter(analysis-step); position:absolute; left:12px; width:24px; height:24px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:#fff; color:#176bd8; font-size:13px; font-weight:950}
.analysis-action-stack .btn-sub::before{background:#e7f6ff; border:1px solid #9ed3f5}
.wallet-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:8px; margin-bottom:12px}
.wallet-grid>div{background:#fff; border:1px solid var(--line); border-radius:8px; padding:12px; box-shadow:var(--shadow-sm); min-width:0}
.wallet-grid span{display:block; font-size:12px; color:var(--muted); font-weight:900}.wallet-grid b{display:block; font-size:21px; color:var(--ink); overflow-wrap:anywhere}.wallet-grid em{display:block; font-style:normal; color:var(--muted); font-size:11px}.wallet-grid .plus{color:var(--profit)}.wallet-grid .minus{color:var(--danger)}
.loop-panel{background:#fff; border:1px solid #9ed3f5; border-left:5px solid #176bd8; border-radius:8px; padding:11px 12px; margin:0 0 12px; box-shadow:var(--shadow-sm); color:#092b50}
.loop-head{display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:8px}.loop-head b{font-size:15px; font-weight:950; color:#0b55aa}.loop-pill{display:inline-flex; align-items:center; justify-content:center; min-height:26px; border-radius:999px; padding:4px 9px; font-size:11px; font-weight:950; color:#fff; background:#627085; white-space:nowrap}.loop-pill.is-ok{background:#087d78}.loop-pill.is-ng{background:#d8193f}.loop-pill.is-wait{background:#955900}
.loop-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin-bottom:9px}.loop-grid div{min-width:0; min-height:68px; border:1px solid #d9e7f2; border-radius:7px; background:#f7fbff; padding:8px}.loop-grid span{display:block; font-size:10px; font-weight:950; color:#52677d; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}.loop-grid b{display:block; font-size:18px; color:#092b50; font-weight:950; overflow-wrap:anywhere}.loop-grid em{display:block; font-size:10px; color:#66758a; font-style:normal; font-weight:850; line-height:1.35; overflow-wrap:anywhere}
.loop-actions{display:grid; grid-template-columns:1fr 1fr; gap:8px}.loop-panel p{margin:8px 0 0; color:#52627a; font-size:12px; line-height:1.55; font-weight:850}.loop-error{color:var(--danger)!important}
.wallet-station{display:grid; grid-template-columns:1.15fr .85fr; gap:8px; background:#176bd8; border:1px solid #0b55aa; border-radius:8px; padding:10px; margin:0 0 10px; box-shadow:var(--shadow-sm); color:#fff}
.wallet-station-main{min-width:0; background:rgba(255,255,255,.13); border:1px solid rgba(255,255,255,.22); border-radius:7px; padding:10px}
.wallet-station-main span,.wallet-station-sub span{display:block; font-size:11px; font-weight:950; opacity:.9; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.wallet-station-main b{display:block; margin:2px 0; font-size:28px; line-height:1.1; font-weight:950; overflow-wrap:anywhere}
.wallet-station-main em{display:inline-flex; min-height:24px; align-items:center; border-radius:999px; background:#fff; color:#0b55aa; padding:3px 8px; font-style:normal; font-size:11px; font-weight:950}
.wallet-station-sub{display:grid; grid-template-columns:1fr; gap:8px; min-width:0}
.wallet-station-sub div{min-width:0; background:#fff; color:#092b50; border-radius:7px; padding:9px 8px; border:1px solid #9ed3f5}
.wallet-station-sub b{display:block; font-size:18px; line-height:1.2; font-weight:950; overflow-wrap:anywhere}.wallet-station-sub b.plus{color:var(--profit)}.wallet-station-sub b.minus{color:var(--danger)}
.wallet-audit-panel{background:#fff; border:2px solid #2e8add; border-radius:8px; padding:11px; margin:0 0 10px; box-shadow:var(--shadow-sm); color:#092b50; overflow:hidden}
.wallet-audit-head{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:center; margin-bottom:9px}
.wallet-audit-head span{display:block; color:#52677d; font-size:11px; font-weight:950}.wallet-audit-head b{display:block; color:#0b55aa; font-size:18px; line-height:1.2; font-weight:950; overflow-wrap:anywhere}
.wallet-audit-head em{display:inline-flex; min-height:28px; align-items:center; border-radius:999px; padding:4px 9px; font-style:normal; font-size:11px; font-weight:950; white-space:nowrap; background:#fff3dc; color:#955900; border:1px solid #efd5ad}.wallet-audit-head em.is-ok{background:#e3f8f5; color:#087a4c; border-color:#a9e1d3}.wallet-audit-head em.is-warn{background:#fff3dc; color:#955900; border-color:#efd5ad}
.wallet-audit-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(96px,1fr)); gap:7px; margin-bottom:8px}
.wallet-audit-grid div{min-width:0; min-height:64px; background:#f7fbff; border:1px solid #d9e7f2; border-radius:7px; padding:8px 6px}.wallet-audit-grid div.is-ok{background:#eafbf8; border-color:#a9e1d3}.wallet-audit-grid div.is-warn{background:#fff9ed; border-color:#efd5ad}
.wallet-audit-grid span{display:block; color:#5c6c80; font-size:10px; font-weight:950; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}.wallet-audit-grid b{display:block; color:#0b2d54; font-size:20px; line-height:1.15; font-weight:950}.wallet-audit-grid em{display:block; color:#66758a; font-style:normal; font-size:10px; font-weight:850; line-height:1.3; overflow-wrap:anywhere}
.wallet-audit-panel p{margin:0; color:#52627a; font-size:12px; line-height:1.55; font-weight:850; overflow-wrap:anywhere}
.wallet-audit-warning{display:grid; gap:3px; margin:0 0 8px; padding:9px 10px; border:1px solid #efd5ad; border-left:5px solid #f0a12d; border-radius:8px; background:#fff9ed; color:#092b50}
.wallet-audit-warning b{font-size:13px; color:#955900; font-weight:950}.wallet-audit-warning span{font-size:12px; line-height:1.5; color:#5b4b35; font-weight:850; overflow-wrap:anywhere}
.wallet-audit-actions{display:grid; grid-template-columns:1fr; gap:8px; margin-top:9px}
.wallet-audit-actions .btn{min-height:42px}
.wallet-reconcile-list{display:grid; grid-template-columns:1fr; gap:6px; margin:0 0 8px}
.wallet-reconcile-row{border:1px solid #d9e7f2; border-left:4px solid #f0a12d; border-radius:7px; background:#f8fbff; padding:7px; min-width:0}
.wallet-reconcile-row.is-hit{border-left-color:var(--profit); background:#effbf8}.wallet-reconcile-row.is-miss{border-left-color:var(--danger); background:#fff6f7}
.wallet-reconcile-row b{display:flex; gap:6px; align-items:center; justify-content:space-between; color:#0b2d54; font-size:12px; line-height:1.35; font-weight:950; overflow-wrap:anywhere}
.wallet-reconcile-row b em{flex:0 0 auto; border-radius:999px; padding:3px 7px; background:#fff3dc; color:#955900; font-style:normal; font-size:10px; font-weight:950; white-space:nowrap}.wallet-reconcile-row.is-hit b em{background:#e3f8f5; color:#087a4c}.wallet-reconcile-row.is-miss b em{background:#fde8ea; color:#b91c1c}
.wallet-reconcile-row span{display:block; color:#52627a; font-size:11px; line-height:1.45; font-weight:850; overflow-wrap:anywhere; margin-top:3px}
.compare-guide{display:grid; gap:5px; margin:11px 11px 0; padding:10px; border:1px solid #c8e4f6; border-radius:8px; background:#f2f9ff; color:#334761; font-size:12px; line-height:1.5}
.compare-guide b{color:#0b55aa; font-size:13px}.compare-guide span{overflow-wrap:anywhere}.compare-guide em{display:block; width:100%; color:#0c7f76; font-style:normal; font-weight:950; overflow-wrap:anywhere}
.official-compare-result{margin:8px 11px 11px}.compare-summary{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin-bottom:8px}
.compare-summary div{min-width:0; border:1px solid #d9e7f2; border-radius:7px; background:#f7fbff; padding:8px 6px}.compare-summary div.is-ok{background:#eafbf8; border-color:#a9e1d3}.compare-summary div.is-warn{background:#fff9ed; border-color:#efd5ad}
.compare-summary span{display:block; color:#52677d; font-size:10px; font-weight:950}.compare-summary b{display:block; color:#092b50; font-size:20px; line-height:1.1}
.compare-coverage{display:grid; gap:4px; margin:0 0 8px; padding:10px; border-radius:8px; border:1px solid #efd5ad; border-left:6px solid #f0a12d; background:#fff9ed; color:#092b50}
.compare-coverage.is-ok{background:#e8faf7; border-color:#9bdccf; border-left-color:#11b7ad}.compare-coverage.is-bad{background:#fff0f0; border-color:#efb4b4; border-left-color:#dc2f45}
.compare-coverage b{font-size:14px; font-weight:950; color:#0b55aa}.compare-coverage.is-ok b{color:#006f65}.compare-coverage.is-bad b{color:#b70f25}
.compare-coverage span,.compare-coverage em{font-size:12px; line-height:1.5; font-style:normal; font-weight:850; color:#52627a; overflow-wrap:anywhere}.compare-coverage em{font-weight:950}
.compare-list{display:grid; grid-template-columns:1fr; gap:5px}.compare-list p{display:grid; grid-template-columns:64px minmax(0,1fr); gap:7px; align-items:start; margin:0; border-radius:7px; padding:7px; background:#f7fbff; border:1px solid #d9e7f2}.compare-list p.is-ok{background:#eafbf8; border-color:#a9e1d3}.compare-list p.is-warn{background:#fff9ed; border-color:#efd5ad}.compare-list b{font-size:11px; color:#0b55aa; white-space:nowrap}.compare-list span{font-size:12px; color:#334761; line-height:1.45; overflow-wrap:anywhere}.official-compare-result small{display:block; margin-top:7px; color:#52627a; font-size:11px; line-height:1.45}
.official-compare-panel{display:grid;gap:8px;margin:0 0 10px;padding:11px;background:#fff;border:2px solid #2e8add;border-radius:8px;color:#092b50;box-shadow:var(--shadow-sm)}
.official-compare-panel h3{margin:0;font-size:15px;font-weight:950;color:#0b55aa}
.official-compare-panel textarea{width:100%;min-height:108px;resize:vertical;border:1px solid #9ed3f5;border-radius:7px;padding:9px;background:#f7fbff;color:#092b50;font-size:12px;font-weight:850;line-height:1.5}
.auto-buy-panel{display:grid;gap:8px;margin:0 0 9px;padding:10px;border:1px solid rgba(56,225,198,.18);background:rgba(24,36,64,.92);color:var(--text);box-shadow:none}
.auto-buy-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.auto-buy-head span,.auto-buy-meta span,.auto-buy-plan-grid span{display:block;color:var(--muted);font-size:10px;font-weight:900}
.auto-buy-head b{display:block;color:var(--accent);font-size:16px;line-height:1.2;font-weight:950}
.auto-buy-panel p{margin:0;color:var(--muted);font-size:11px;line-height:1.45;font-weight:850}
.auto-buy-meta,.auto-buy-plan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.auto-buy-meta>div,.auto-buy-plan-grid>div{min-width:0;padding:6px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04)}
.auto-buy-meta b,.auto-buy-plan-grid b{display:block;color:var(--text);font-size:14px;line-height:1.15;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.auto-buy-meta em,.auto-buy-plan-grid em{display:block;color:var(--muted);font-size:9px;font-style:normal;font-weight:850;line-height:1.2;overflow-wrap:anywhere}
.auto-buy-list{display:grid;gap:7px}.auto-buy-card{display:grid;gap:7px;padding:8px;border:1px solid rgba(255,255,255,.12);background:rgba(10,17,31,.8)}
.auto-buy-card.is-ready{border-left:4px solid var(--accent)}.auto-buy-card.is-blocked{border-left:4px solid var(--danger)}
.auto-buy-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.auto-buy-card-head span{display:block;color:var(--muted);font-size:10px;font-weight:900}.auto-buy-card-head b{display:block;color:var(--text);font-size:14px;font-weight:950}.auto-buy-card-head em{font-style:normal;color:var(--accent);font-size:10px;font-weight:950}
.auto-buy-guards{display:grid;gap:4px;margin:0;padding:0;list-style:none}.auto-buy-guards li{display:grid;grid-template-columns:54px minmax(0,1fr);gap:6px;align-items:start;font-size:10px;color:var(--muted)}.auto-buy-guards b{color:var(--accent)}.auto-buy-guards .ng b{color:var(--danger)}.auto-buy-guards .warn b{color:var(--warn)}
.auto-buy-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.auto-buy-live-state{display:grid;gap:2px;padding:7px;border:1px solid rgba(56,225,198,.18);background:rgba(56,225,198,.07)}.auto-buy-live-state b{color:var(--accent);font-size:11px;font-weight:950}.auto-buy-live-state span{color:var(--muted);font-size:10px;line-height:1.35;font-weight:850}.auto-buy-live-guards{border-top:1px solid rgba(255,255,255,.1);padding-top:5px}
.auto-buy-audit{display:grid;gap:5px}.auto-buy-audit-row{display:grid;gap:2px;padding:7px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04)}.auto-buy-audit-row b{display:flex;justify-content:space-between;gap:6px;color:var(--text);font-size:11px}.auto-buy-audit-row em{font-style:normal;color:var(--muted)}.auto-buy-audit-row span{color:var(--muted);font-size:10px;line-height:1.35}
@media(max-width:430px){.auto-buy-head{grid-template-columns:1fr}.auto-buy-meta,.auto-buy-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.wallet-entry-panel{background:#fff; border:1px solid var(--line); border-left:4px solid var(--aqua); border-radius:8px; padding:12px; box-shadow:var(--shadow-sm); margin-bottom:12px}
.wallet-entry-panel h3{margin:0 0 10px; font-size:15px}.wallet-form{display:grid; grid-template-columns:.8fr 1.2fr; gap:8px; margin-bottom:8px}.wallet-form label{font-size:12px; font-weight:900; color:var(--muted)}.wallet-form input{width:100%; margin-top:4px; border:1px solid var(--line); border-radius:7px; padding:10px 9px; font-weight:800; color:var(--ink); background:#f9fbfd}
.wallet-actions{display:grid; grid-template-columns:1fr 1fr; gap:8px}.btn-wallet{background:#0b2d54; color:#fff; box-shadow:var(--shadow-sm)}.btn-wallet-adjust{background:#fff; color:#0b55aa; border:1px solid #9ed3f5}.wallet-safety-actions .btn{min-height:42px}.wallet-msg{min-height:18px; margin:9px 0 0; font-size:12px}.wallet-msg.ok{color:var(--profit)}.wallet-msg.ng{color:var(--danger)}
.wallet-safety-actions{display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:8px}
.wallet-row b em{font-style:normal}.wallet-row.is-plus{border-left:4px solid var(--profit)}.wallet-row.is-minus{border-left:4px solid var(--danger)}
.bet-status-row{gap:7px}.bet-status-row b{align-items:center; min-width:0}.bet-status-row b em{font-style:normal; flex:0 0 auto; border-radius:999px; padding:4px 8px; background:#edf2f7; color:#52627a; font-size:11px; font-weight:950}.bet-status-row.is-hit{border-left:4px solid var(--profit)}.bet-status-row.is-hit b em{background:#e3f8f5; color:#087a4c}.bet-status-row.is-miss{border-left:4px solid var(--danger)}.bet-status-row.is-miss b em{background:#fde8ea; color:#b91c1c}.bet-status-row.is-pending{border-left:4px solid #f0a12d}.bet-status-row.is-pending b em{background:#fff3dc; color:#955900}.wallet-row-actions{display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:6px}

.strategy-band,.strategy-grid section,.help-block{background:#fff; border:1px solid var(--line); border-radius:8px; padding:14px; margin-bottom:10px; box-shadow:var(--shadow-sm)}
.strategy-band{border-left:4px solid var(--aqua)}.strategy-band h3,.strategy-grid h3,.help-block h3{margin:0 0 6px; font-size:15px; color:var(--ink)}.strategy-band p,.strategy-grid p,.help-block p{margin:0; font-size:14px; line-height:1.7}.strategy-grid{display:grid; grid-template-columns:1fr; gap:10px}.strategy-grid section{margin:0}.help-block.warn{background:#fff8ed; border-color:#efd5ad}.help-block.warn h3{color:var(--warn)}
.strength-hero{position:relative; overflow:hidden; background:#d8f1ff; border:2px solid #2e8add; border-radius:8px; padding:16px; margin-bottom:12px; box-shadow:var(--shadow-sm)}
.strength-hero::after{content:""; position:absolute; right:-34px; top:-30px; width:118px; height:118px; border-radius:50%; border:16px solid rgba(23,107,216,.13)}
.strength-kicker{position:relative; z-index:1; display:inline-flex; min-height:24px; align-items:center; padding:3px 9px; border-radius:999px; background:#0b55aa; color:#fff; font-size:11px; font-weight:950}
.strength-hero h3{position:relative; z-index:1; margin:9px 0 6px; color:#0b55aa; font-size:25px; line-height:1.15}
.strength-hero p{position:relative; z-index:1; margin:0; color:#2d4761; line-height:1.7; font-size:14px; font-weight:800}
.strength-principle,.strength-rules,.strength-stakes,.strength-note,.strength-card{background:#fff; border:1px solid var(--line); border-radius:8px; padding:14px; margin-bottom:10px; box-shadow:var(--shadow-sm)}
.strength-principle{display:grid; grid-template-columns:94px minmax(0,1fr); gap:10px; align-items:center; border-left:5px solid #176bd8; background:#f2f9ff}
.strength-principle b{display:flex; align-items:center; justify-content:center; min-height:38px; border-radius:7px; background:#176bd8; color:#fff; font-size:13px; font-weight:950; text-align:center}
.strength-principle span{color:#334761; font-size:13px; line-height:1.65; font-weight:900; overflow-wrap:anywhere}
.strength-rules{border-left:5px solid #11b7ad}.strength-rules h3,.strength-stakes h3{margin:0 0 8px; font-size:16px; color:#0b2d54}
.strength-rules ul{list-style:none; padding:0; margin:0; display:grid; grid-template-columns:1fr; gap:8px}
.strength-rules li{display:grid; grid-template-columns:92px minmax(0,1fr); gap:8px; align-items:start; min-height:42px; border:1px solid #d9e8f5; border-radius:8px; background:#f6fbff; padding:9px}
.strength-rules b{display:flex; align-items:center; justify-content:center; min-height:26px; border-radius:6px; background:#e8f7ff; color:#0b55aa; font-size:12px; font-weight:950}.strength-rules span{color:#40556f; font-size:13px; line-height:1.55; font-weight:850}
.strength-stakes p{margin:0 0 10px; color:#52627a; font-size:13px; line-height:1.6; font-weight:800}
.stake-choice-list{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px}
.stake-choice{min-height:72px; border:2px solid #c9dbea; border-radius:8px; background:#fff; color:#0b2d54; cursor:pointer; padding:8px 6px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; box-shadow:var(--shadow-sm)}
.stake-choice b{font-size:20px; line-height:1; font-weight:950}.stake-choice span{font-size:11px; color:#52627a; font-weight:900; line-height:1.25}.stake-choice.is-active{border-color:#11b7ad; background:#e9fffc; box-shadow:0 0 0 3px rgba(17,183,173,.18)}
.strength-note{display:grid; grid-template-columns:94px minmax(0,1fr); gap:10px; border-left:5px solid #f5a12b; background:#fff9ed}
.strength-note b{display:flex; align-items:center; justify-content:center; color:#7b4a00; font-size:13px; font-weight:950}.strength-note span{color:#4b5362; font-size:13px; line-height:1.65; font-weight:850}
.strength-list{display:grid; grid-template-columns:1fr; gap:10px; margin-bottom:12px}
.strength-card{margin:0; padding:0; overflow:hidden; border-top:5px solid #0b55aa}
.strength-card.is-test{border-top-color:#11b7ad}.strength-card.is-avoid{border-top-color:#f5a12b}.strength-card.is-no-buy{border-top-color:#d93a3a}
.strength-card-head{display:flex; align-items:flex-start; justify-content:space-between; gap:8px; padding:12px 12px 8px; background:#f8fbff}
.strength-card-head div{min-width:0}.strength-card-head span{display:block; color:#52627a; font-size:11px; font-weight:900}.strength-card-head b{display:block; color:#0b2d54; font-size:18px; line-height:1.2; overflow-wrap:anywhere}
.strength-badge{flex:0 0 auto; border-radius:999px; padding:5px 9px; background:#e8f7ff; color:#0b55aa; font-size:11px; font-weight:950; white-space:nowrap}
.strength-badge.is-test{background:#e9fffc; color:#087d78}.strength-badge.is-avoid{background:#fff2ce; color:#7b4a00}.strength-badge.is-no-buy{background:#fff0f0; color:#b91c1c}
.strength-card-body{padding:0 12px 12px}.strength-card-body p{margin:0 0 10px; color:#44546a; font-size:13px; line-height:1.6; font-weight:800}
.strength-metrics{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-bottom:10px}
.strength-metrics div{min-width:0; min-height:58px; border:1px solid #dbe8f4; border-radius:8px; background:#f8fbff; padding:8px}.strength-metrics span{display:block; color:#6a7788; font-size:10px; font-weight:900}.strength-metrics b{display:block; color:#0b2d54; font-size:16px; font-weight:950; overflow-wrap:anywhere}
.strength-actions{display:grid; grid-template-columns:1fr 1fr; gap:8px}.strength-actions .btn{min-height:42px; font-size:13px}
.strength-actions .btn[disabled]{opacity:.48; cursor:not-allowed}
.safety-list{list-style:none; padding:0; margin:4px 0 0; display:flex; flex-direction:column; gap:7px}
.safety-list li{display:grid; grid-template-columns:76px minmax(0,1fr); gap:8px; align-items:start; padding:8px 9px; border:1px solid #d9e7f2; border-radius:7px; background:#f7fbff}
.safety-list b{font-size:12px; color:#0b55aa; white-space:nowrap}.safety-list span{font-size:12px; color:#52627a; line-height:1.55; overflow-wrap:anywhere}
.help-actions{display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:10px}
.help-route{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:0 0 12px}
.help-route button{display:grid; grid-template-columns:42px minmax(0,1fr); grid-template-rows:auto auto; column-gap:9px; align-items:center; min-height:76px; border:2px solid #2e8add; border-radius:8px; background:#fff; color:#092b50; padding:9px; box-shadow:var(--shadow-sm); cursor:pointer; text-align:left}
.help-route span{grid-row:1 / 3; display:flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:8px; background:#fff6d8; border:1px solid #efd36f; color:#176bd8; font-size:18px; font-weight:950}
.help-route b{font-size:16px; line-height:1.15; font-weight:950; color:#0b55aa; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.help-route em{font-style:normal; color:#52627a; font-size:11px; font-weight:900; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.steps-accordion{margin:0 0 12px; border:2px solid #2e8add; border-radius:8px; background:#fff; box-shadow:var(--shadow-sm); overflow:hidden}
.startup-accordion{margin:0 0 12px; border:2px solid #2e8add; border-radius:8px; background:#fff; box-shadow:var(--shadow-sm); overflow:hidden}
.startup-check-panel{padding:10px; background:#eaf7ff}
.startup-check-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin:0 0 9px}
.startup-check-grid div{min-width:0; min-height:78px; border:1px solid #9ed3f5; border-radius:8px; background:#fff; padding:8px; box-shadow:var(--shadow-sm)}
.startup-check-grid span{display:block; font-size:10px; color:#52677d; font-weight:950; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.startup-check-grid b{display:block; font-size:16px; line-height:1.25; color:#0b55aa; font-weight:950; overflow-wrap:anywhere}
.startup-check-grid em{display:block; font-size:10px; color:#66758a; font-style:normal; font-weight:900; line-height:1.35; overflow-wrap:anywhere}
.startup-flow-list{display:grid; gap:7px; margin:0; padding:0; list-style:none}
.startup-flow-list li{display:grid; grid-template-columns:112px minmax(0,1fr); gap:8px; align-items:start; min-width:0; border:1px solid #9ed3f5; border-radius:8px; background:#fff; padding:8px}
.startup-flow-list b{font-size:11px; color:#087d78; font-weight:950; line-height:1.45; overflow-wrap:anywhere}
.startup-flow-list span{font-size:11px; color:#52677d; font-weight:850; line-height:1.55; overflow-wrap:anywhere}
.startup-safety-strip{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin:10px 0 10px}
.startup-safety-strip div{min-width:0; min-height:54px; padding:8px; border:1px solid #9ed3f5; border-left:5px solid #11b7ad; border-radius:8px; background:#fff; box-shadow:var(--shadow-sm)}
.startup-safety-strip span{display:block; font-size:10px; font-weight:950; color:#52677d; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.startup-safety-strip b{display:block; margin-top:2px; color:#0b55aa; font-size:12px; line-height:1.35; font-weight:950; overflow-wrap:anywhere}
.network-banner{display:grid; grid-template-columns:74px minmax(0,1fr); gap:8px; align-items:start; margin:0; padding:8px 12px; border-top:1px solid #f4cf8a; border-bottom:1px solid #f4cf8a; background:#fff8e8; color:#4d3a12}
.network-banner[hidden]{display:none}
.network-banner b{font-size:12px; color:#9a5a00; font-weight:950; white-space:nowrap}
.network-banner span{font-size:12px; line-height:1.55; font-weight:850; overflow-wrap:anywhere}
.offline-page{background:#dff2ff; color:#092b50; min-height:100dvh; padding:calc(18px + env(safe-area-inset-top)) 14px calc(18px + env(safe-area-inset-bottom)); display:flex; justify-content:center}
.offline-shell{width:min(100%,430px)}
.offline-brand{height:52px; display:flex; align-items:center; gap:8px; color:#fff; background:#176bd8; border-radius:8px 8px 0 0; padding:0 14px; box-shadow:var(--shadow-sm)}
.offline-brand b{font-size:20px; font-weight:950}
.offline-card{border:2px solid #2e8add; border-top:0; border-radius:0 0 8px 8px; background:#bfeaff; padding:16px; box-shadow:var(--shadow)}
.offline-card h1{margin:2px 0 8px; color:#0b55aa; font-size:30px; line-height:1.1}
.offline-card p{margin:0 0 12px; color:#334761; font-size:14px; line-height:1.7; font-weight:850}
.offline-status-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin:0 0 10px}
.offline-status-grid div{min-width:0; min-height:74px; border:1px solid #9ed3f5; border-radius:8px; background:#fff; padding:8px}
.offline-status-grid span{display:block; font-size:10px; color:#52677d; font-weight:950; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.offline-status-grid b{display:block; color:#0b55aa; font-size:16px; line-height:1.25; font-weight:950; overflow-wrap:anywhere}
.offline-status-grid em{display:block; color:#66758a; font-size:10px; font-style:normal; font-weight:900; line-height:1.35; overflow-wrap:anywhere}
.offline-flow-list{display:grid; gap:7px; margin:0 0 12px; padding:0; list-style:none}
.offline-flow-list li{display:grid; grid-template-columns:106px minmax(0,1fr); gap:8px; align-items:start; min-width:0; border:1px solid #9ed3f5; border-radius:8px; background:#fff; padding:8px}
.offline-flow-list b{font-size:11px; color:#087d78; font-weight:950; line-height:1.45; overflow-wrap:anywhere}
.offline-flow-list span{font-size:11px; color:#52677d; font-weight:850; line-height:1.55; overflow-wrap:anywhere}
.store-accordion{margin:0 0 10px; border:2px solid #2e8add; border-radius:8px; background:#fff; box-shadow:var(--shadow-sm); overflow:hidden}
.store-readiness{padding:10px; background:#eaf7ff}
.store-hero{display:grid; gap:5px; padding:11px; margin-bottom:9px; border:1px solid #9ed3f5; border-left:5px solid #176bd8; border-radius:8px; background:#fff}
.store-hero b{font-size:14px; color:#0b55aa}.store-hero span{font-size:12px; line-height:1.65; color:#52627a; font-weight:800}
.store-status-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin:0 0 9px}
.store-status-grid div{background:#fff; border:1px solid #9ed3f5; border-radius:8px; padding:7px; min-width:0; min-height:68px; box-shadow:var(--shadow-sm)}
.store-status-grid span{display:block; font-size:10px; color:#52677d; font-weight:950; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.store-status-grid b{display:block; font-size:16px; line-height:1.25; color:#0b55aa; font-weight:950; overflow-wrap:anywhere}
.store-status-grid em{display:block; font-size:10px; color:#66758a; font-style:normal; font-weight:900; line-height:1.35; overflow-wrap:anywhere}
.store-blocker-board{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin:0 0 9px}
.store-blocker-card{background:#fff; border:1px solid #9ed3f5; border-radius:8px; padding:8px; min-height:86px; min-width:0; box-shadow:var(--shadow-sm)}
.store-blocker-card.is-blocked{border-left:5px solid #f0a12d; background:#fff9ed}
.store-blocker-card b{display:block; font-size:12px; color:#0b55aa; font-weight:950; margin-bottom:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.store-blocker-card span{display:block; font-size:11px; color:#52677d; font-weight:850; line-height:1.55; overflow-wrap:anywhere}
.store-flow-list{display:grid; gap:7px; margin:0 0 10px; padding:0; list-style:none}
.store-flow-list li{display:grid; grid-template-columns:86px minmax(0,1fr); gap:8px; align-items:start; background:#fff; border:1px solid #9ed3f5; border-radius:8px; padding:8px; min-width:0}
.store-flow-list b{font-size:11px; color:#087d78; font-weight:950; overflow-wrap:anywhere}
.store-flow-list span{font-size:11px; color:#52677d; font-weight:850; line-height:1.55; overflow-wrap:anywhere}
.store-evidence-matrix{display:grid; grid-template-columns:1fr; gap:6px; margin:0 0 10px; padding:8px; border:1px solid #9ed3f5; border-radius:8px; background:#eef8ff}
.store-evidence-head{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:center; min-width:0}
.store-evidence-head b{font-size:13px; color:#0b55aa; font-weight:950}.store-evidence-head span{font-size:11px; color:#52677d; font-weight:900; text-align:right; overflow-wrap:anywhere}
.store-evidence-row{display:grid; grid-template-columns:72px minmax(0,1fr); gap:7px; align-items:start; min-width:0; padding:8px; border:1px solid #cfe3f3; border-radius:7px; background:#fff}
.store-evidence-row b{font-size:11px; color:#087d78; font-weight:950; overflow-wrap:anywhere}.store-evidence-row span{font-size:11px; color:#334761; font-weight:850; line-height:1.45; overflow-wrap:anywhere}.store-evidence-row em{grid-column:2; font-style:normal; font-size:10px; color:#0b55aa; font-weight:950; overflow-wrap:anywhere}
.store-list{margin-top:0}
.tabbar{position:fixed; left:50%; right:auto; bottom:0; z-index:30; width:min(100vw,var(--app-max)); max-width:var(--app-max); transform:translateX(-50%); display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); background:rgba(255,255,255,.97); backdrop-filter:saturate(1.4) blur(8px); border-top:1px solid var(--line); padding-bottom:var(--safe-bottom); box-shadow:0 -6px 20px rgba(8,27,51,.09)}
.tab{border:0; background:transparent; cursor:pointer; height:58px; padding:7px 0 6px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; color:var(--muted); font-weight:800; min-width:0}.tab .tab-ico{font-size:18px; line-height:1; font-weight:900}.tab .tab-label{font-size:11px; white-space:nowrap}.tab.is-active{color:var(--aqua-dark)}.tab.is-active .tab-label{font-weight:950}

/* v164 compact app polish */
.cards{margin-top:0}
.card,.candidate-empty,.home-support-panel,.learning-station,.summary-grid>div,.wallet-grid>div,.wallet-entry-panel,.loop-panel,.strength-stakes,.strength-card,.help-block,.guide-accordion,.mini-item,.mini-empty,.race-stats>div{
  border-width:1px;
  box-shadow:0 2px 7px rgba(8,27,51,.06);
}
.home-command-grid{margin:6px 0}.home-menu-btn{height:56px}
.stake-card{margin-bottom:0}.status-line{margin:5px 0 0}
.preflight-head{margin-bottom:6px}
.summary-grid,.wallet-grid,.race-stats{gap:7px; margin-bottom:8px}
.summary-grid>div,.wallet-grid>div,.race-stats>div{padding:9px; min-height:68px}
.summary-grid b,.race-stats b{font-size:20px}
.learning-station.compact-action-panel{padding:8px; margin-bottom:8px; background:#e7f6ff; border-color:#9ed3f5}
.analysis-action-stack{gap:6px}
.analysis-action-stack .btn{min-height:42px}
.strength-stakes{padding:10px; margin-bottom:8px}
.stake-choice{min-height:62px}
.wallet-station{padding:8px; margin-bottom:8px; border-width:1px}
.wallet-station-main{padding:8px}.wallet-station-main b{font-size:24px}
.wallet-station-sub{gap:6px}.wallet-station-sub div{padding:8px}
.wallet-entry-panel{padding:10px; margin-bottom:8px}
.loop-panel{padding:10px; margin-bottom:8px; border-left-width:4px}
.loop-grid{gap:7px}
.split-head{display:flex; align-items:center; justify-content:space-between; gap:8px}
.split-head h3{margin:12px 2px 7px}
.split-head-note span{font-size:10px; color:#52627a; font-weight:900; text-align:right; line-height:1.3}
.help-block{padding:11px; margin-bottom:8px}
.help-route,.steps-accordion,.startup-accordion{margin-bottom:8px}
.view-head{margin:2px 2px 8px}

.sheet{position:fixed; inset:0; z-index:60; background:rgba(8,27,51,.48); display:flex; align-items:flex-end; justify-content:center; padding:12px}
.sheet[hidden]{display:none}.sheet-panel{position:relative; width:min(100%,430px); max-height:90dvh; overflow:auto; background:#fff; border-radius:10px 10px 8px 8px; box-shadow:0 24px 60px rgba(8,27,51,.35); padding:18px 14px 14px; border-top:5px solid var(--aqua)}
.sheet-close{position:absolute; right:10px; top:8px; width:34px; height:34px; border:0; border-radius:50%; background:#eef3f7; color:var(--ink); font-size:22px; font-weight:900; cursor:pointer}
.sheet-headline{padding-right:36px}.sheet-headline h2{margin:8px 0 0; font-size:25px}.sheet-headline p{margin:2px 0 12px; color:var(--muted); font-weight:800}.sheet-lanes{margin-top:10px}
.sheet-budget{display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:10px 0 12px}.sheet-budget div{background:#f4f8fc; border:1px solid var(--line); border-radius:8px; padding:9px 8px; min-width:0}.sheet-budget span{display:block; font-size:11px; color:var(--muted); font-weight:800}.sheet-budget b{font-size:16px; color:var(--ink); overflow-wrap:anywhere}
.auth-strip{display:flex; gap:8px; align-items:flex-start; background:#eef8ff; border:1px solid #cfe7f8; border-radius:8px; padding:10px; margin:12px 0}.auth-strip b{font-size:12px; color:var(--blue); flex:0 0 auto}.auth-strip span{font-size:12px; color:#2c526c}
.sheet-section{background:#f8fafc; border:1px solid var(--line); border-radius:8px; padding:10px 12px; margin:10px 0}.sheet-section h3{display:flex; align-items:center; justify-content:space-between; gap:8px; margin:0 0 6px; font-size:14px}.sheet-section h3 small{color:#0b55aa; background:#eaf6ff; border:1px solid #cfe3f3; border-radius:999px; padding:3px 7px; font-size:10px; font-weight:950; white-space:nowrap}.sheet-section ul{margin:0; padding-left:18px}.sheet-section li{font-size:13px; line-height:1.65}.sheet-section.warn{background:#fff8ed; border-color:#efd5ad}
.record-caution{display:grid; grid-template-columns:auto minmax(0,1fr); gap:8px; align-items:start; margin:10px 0 0; padding:10px; border:1px solid #efd5ad; border-left:5px solid #f0a12d; border-radius:8px; background:#fff8ed}
.record-caution b{color:#9a5a00; font-size:12px; font-weight:950; white-space:nowrap}
.record-caution span{color:#4e6274; font-size:12px; line-height:1.55; font-weight:850; overflow-wrap:anywhere}
.sheet-actions{display:grid; grid-template-columns:1fr; gap:8px; margin-top:12px}
.vote-sheet{border:1px solid #bfd5e7; border-radius:8px; overflow:hidden; background:#fff; margin-top:28px; box-shadow:var(--shadow-sm)}
.vote-bluebar{min-height:44px; padding:9px 12px; background:#176bd8; color:#fff; display:flex; align-items:center; justify-content:space-between; gap:8px}
.vote-bluebar span{font-size:15px; font-weight:900}.vote-bluebar b{font-size:11px; background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.32); border-radius:999px; padding:4px 8px; white-space:nowrap}
.vote-race-title{display:grid; grid-template-columns:1fr .8fr 1fr; background:#f4f9ff; border-bottom:1px solid #d7e7f5}
.vote-race-title>div{min-width:0; padding:8px 9px; border-right:1px solid #d7e7f5}.vote-race-title>div:last-child{border-right:0}
.vote-race-title span{display:block; font-size:10px; font-weight:900; color:#65758a}.vote-race-title b{display:block; font-size:14px; color:#08244a; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.official-tap-guide{margin:10px 0 12px; border:2px solid #2e8add; border-radius:8px; background:#fff; color:#092b50; box-shadow:var(--shadow-sm); overflow:hidden}
.vote-sheet .official-tap-guide{margin:10px 12px}
.guide-accordion summary{list-style:none; cursor:pointer; user-select:none}
.guide-accordion summary::-webkit-details-marker{display:none}
.tap-guide-summary{display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:8px; min-height:44px; padding:9px 10px; background:#f4f9ff; color:#092b50}
.tap-guide-summary span{min-width:0; font-size:12px; font-weight:950; color:#0b55aa; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.tap-guide-summary b{font-size:12px; color:#092b50; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.tap-guide-summary::after,.spvote-title::after{content:"開く"; display:flex; align-items:center; justify-content:center; min-width:44px; height:24px; border-radius:999px; background:#176bd8; color:#fff; font-size:11px; font-weight:950}
.guide-accordion[open]>.tap-guide-summary::after,.guide-accordion[open]>.spvote-title::after{content:"閉じる"; background:#0b2d54}
.tap-guide-body{padding:10px}
.tap-guide-head{display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:8px}
.tap-guide-head span{font-size:12px; font-weight:950; color:#0b55aa; white-space:nowrap}
.tap-guide-head b{font-size:13px; color:#092b50; text-align:right; overflow-wrap:anywhere}
.tap-guide-chips{display:grid; grid-template-columns:1fr; gap:6px}
.tap-guide-chips span{min-height:36px; display:flex; align-items:center; gap:7px; border:1px solid #cfe3f3; border-radius:7px; background:#f4f9ff; padding:6px 8px; color:#334761; font-size:12px; font-weight:900; overflow-wrap:anywhere}
.tap-guide-chips em{flex:0 0 24px; width:24px; height:24px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:#176bd8; color:#fff; font-style:normal; font-size:12px; font-weight:950}
.tap-guide-chips b{font-size:18px; color:#176bd8}
.official-tap-guide p{margin:8px 0 0; font-size:12px; line-height:1.55; color:#52627a; font-weight:850}
.spvote-guide{margin:10px 12px 12px; border:2px solid #176bd8; border-radius:8px; background:#fff; overflow:hidden; color:#092b50; box-shadow:var(--shadow-sm)}
.spvote-title{min-height:44px; display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:8px; background:#176bd8; color:#fff; padding:9px 10px}
.spvote-title span{font-size:12px; font-weight:950; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.spvote-title b{font-size:12px; background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.35); border-radius:999px; padding:4px 8px; white-space:nowrap}
.spvote-title::after{background:#fff; color:#176bd8}
.spvote-selector{display:grid; grid-template-columns:1fr .8fr 1fr; background:#f4f9ff; border-bottom:1px solid #d7e7f5}
.spvote-selector div{min-width:0; padding:8px 9px; border-right:1px solid #d7e7f5}
.spvote-selector div:last-child{border-right:0}
.spvote-selector span{display:block; font-size:10px; font-weight:950; color:#65758a}
.spvote-selector b{display:block; font-size:14px; color:#08244a; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.spvote-tabs{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-bottom:1px solid #d7e7f5; background:#edf6ff}
.spvote-tabs span,.spvote-tabs b,.spvote-tabs em,.spvote-tabs strong{min-height:38px; display:flex; align-items:center; justify-content:center; border-right:1px solid #c5dff2; font-size:13px; font-weight:950; font-style:normal; color:#176bd8; text-align:center}
.spvote-tabs strong{border-right:0}
.spvote-tabs b{background:#176bd8; color:#fff}
.spvote-boat-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; padding:10px; background:#f5f7fa; border-bottom:1px solid #d7e7f5}
.spboat-chip{min-width:0; min-height:42px; display:grid; grid-template-columns:28px minmax(0,1fr) 42px; align-items:center; gap:7px; border:1px solid #d9e3ee; border-radius:7px; background:#fff; padding:6px; box-shadow:inset 0 0 0 1px #f4f7fa}
.spboat-chip.is-target{border-color:#176bd8; background:#eef6ff; box-shadow:0 0 0 2px rgba(23,107,216,.12)}
.spboat-chip i{width:28px; height:28px; display:flex; align-items:center; justify-content:center; border-radius:4px; font-style:normal; font-size:16px; font-weight:950}
.spboat-chip span{min-width:0; font-size:12px; font-weight:900; color:#14263d; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.spboat-chip em{height:26px; display:flex; align-items:center; justify-content:center; border-radius:999px; background:#f1f5f9; color:#6b7888; font-style:normal; font-size:11px; font-weight:950}
.spboat-chip.is-target em{background:#f3d20b; color:#111}
.spvote-target-box{margin:10px; border:2px solid #f0a12d; border-radius:8px; background:#fff8e8; padding:10px; display:grid; grid-template-columns:1fr; gap:4px}
.spvote-target-box span{font-size:12px; font-weight:950; color:#7b4a00}
.spvote-target-box b{font-size:26px; color:#0b2d54; line-height:1.1}
.spvote-target-box em{font-style:normal; font-size:12px; line-height:1.45; color:#7a5a1d; font-weight:850}
.spvote-steps{margin:0; padding:0 12px 12px 30px}
.spvote-steps li{font-size:12px; line-height:1.55; color:#405a73; font-weight:850; padding:2px 0}
.spvote-steps b{color:#0b2d54}
.vote-grid{width:100%; min-width:0; background:#fff}
.vote-head,.vote-row{display:grid; grid-template-columns:34px minmax(0,1fr) 38px repeat(3,38px); align-items:stretch; width:100%; min-width:0}
.vote-head{background:#e6e9ec; color:#5a6470; font-size:11px; font-weight:900; min-height:34px}
.vote-head span{display:flex; align-items:center; justify-content:center; border-right:1px solid #d0d5da; min-width:0; text-align:center}.vote-head span:nth-child(2){justify-content:flex-start; padding-left:8px}
.vote-row{min-height:58px; border-top:1px solid #e5edf4}
.vote-frame{display:flex; align-items:center; justify-content:center; font-weight:950; font-size:18px; border-right:1px solid #e0e6eb}
.vote-racer{min-width:0; padding:7px 8px; display:flex; flex-direction:column; justify-content:center; border-right:1px solid #e0e6eb; background:#fbfdff}
.vote-racer b{font-size:14px; line-height:1.2; color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap}.vote-racer span{font-size:10px; color:#6b7888; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.vote-fl{display:flex; align-items:center; justify-content:center; font-size:12px; color:#52627a; background:#f3f5f7; border-right:1px solid #e0e6eb}
.vote-mark{position:relative; display:flex; align-items:center; justify-content:center; margin:5px; border:1px solid #d7dde4; border-radius:6px; background:#f9fbfd; color:#9aa8b8; font-size:18px; font-weight:950; box-shadow:inset 0 0 0 1px #f1f4f7}
.vote-mark b{font-size:18px; line-height:1; font-weight:950}
.vote-mark.is-selected{background:rgba(216,25,63,.16); border-color:rgba(216,25,63,.72); color:#d8193f; box-shadow:0 0 0 2px rgba(216,25,63,.12), inset 0 0 0 1px rgba(255,255,255,.65)}
.vote-mark.is-selected::after{content:""; position:absolute; inset:3px; border-radius:4px; background:rgba(216,25,63,.08); pointer-events:none}
.vote-mark.is-selected b{color:#176bd8; position:relative; z-index:1}
.vote-mark em{position:absolute; left:-6px; top:-7px; width:18px; height:18px; border-radius:50%; background:#f3d20b; color:#111; border:1px solid #e4bd00; font-style:normal; font-size:10px; font-weight:950; display:flex; align-items:center; justify-content:center; box-shadow:0 1px 3px rgba(8,27,51,.18)}
.vote-odds{display:grid; grid-template-columns:1fr 1.2fr; align-items:center; min-height:42px; border-top:1px solid #d7e7f5; background:#f5f7fa}
.vote-odds span{padding:9px 12px; color:#38475a; font-weight:900; text-align:center}.vote-odds b{margin:7px 12px; min-height:28px; display:flex; align-items:center; justify-content:center; background:#6a6a6a; color:#fff; font-size:14px}
.vote-amount{display:grid; grid-template-columns:1fr 1.3fr auto; align-items:center; gap:8px; min-height:62px; background:#dceeff; padding:9px 12px; border-top:1px solid #c9e0f4}
.vote-amount span{font-size:14px; font-weight:900; color:#334761; text-align:right}.vote-amount b{display:flex; align-items:center; justify-content:flex-end; height:42px; background:#fff; border:1px solid #8db9df; border-radius:6px; padding:0 12px; color:#08244a; font-size:22px; font-weight:950}.vote-amount em{font-style:normal; color:#176bd8; font-size:18px; font-weight:900}
.official-amount-guide{margin:10px 12px 0; border:2px solid #f0a12d; border-radius:8px; background:#fff9e8; padding:10px 12px; color:#092b50}
.official-amount-guide div{display:grid; grid-template-columns:1fr minmax(72px, auto); align-items:center; gap:10px}.official-amount-guide span{font-size:13px; font-weight:950; color:#7b4a00}.official-amount-guide b{display:flex; align-items:center; justify-content:center; min-height:44px; border:1px solid #e27e89; border-radius:7px; background:#fff; color:#176bd8; font-size:28px; font-weight:950}.official-amount-guide p{margin:8px 0 4px; font-size:13px; font-weight:900; line-height:1.55}.official-amount-guide small{display:block; color:#b13b45; font-size:12px; font-weight:900}
.handoff-copy-card{margin:10px 12px 0; border:1px solid #b8d8ef; border-radius:8px; background:#f6fbff; overflow:hidden}
.handoff-copy-head{display:flex; align-items:flex-end; justify-content:space-between; gap:8px; padding:9px 10px; border-bottom:1px solid #d7e7f5}
.handoff-copy-head b{font-size:14px; color:#0b55aa; font-weight:950}.handoff-copy-head span{font-size:10px; color:#65758a; font-weight:900; text-align:right}
.handoff-copy-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; padding:8px}
.handoff-copy-grid button{min-width:0; min-height:58px; border:1px solid #b8d8ef; border-radius:7px; background:#fff; color:#08244a; text-align:left; padding:8px; display:grid; gap:2px; box-shadow:none}
.handoff-copy-grid button span{font-size:10px; color:#627085; font-weight:950}.handoff-copy-grid button b{font-size:17px; line-height:1.15; font-weight:950; overflow-wrap:anywhere}.handoff-copy-grid button em{font-style:normal; color:#0b55aa; font-size:11px; font-weight:950}
.official-checklist{margin:8px 12px 0; border:1px solid #b8d8ef; border-radius:8px; background:#fff; padding:8px; display:grid; gap:6px}
.official-checklist>b{font-size:13px; color:#0b55aa; font-weight:950}
.official-checklist label{min-height:36px; display:grid; grid-template-columns:22px 50px minmax(0,1fr); align-items:center; gap:6px; border:1px solid #d7e7f5; border-radius:7px; padding:6px 8px; color:#08244a; font-weight:900}
.official-checklist input{width:18px; height:18px; accent-color:#176bd8}.official-checklist span{font-size:11px; color:#627085; white-space:nowrap}.official-checklist strong{font-size:13px; overflow-wrap:anywhere}
.login-preflight-panel{margin:10px 12px 0; border:1px solid #9ed3f5; border-left:5px solid #176bd8; border-radius:8px; background:#f2f9ff; padding:10px 12px; color:#092b50}
.login-preflight-head{display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:7px}
.login-preflight-head span{font-size:12px; font-weight:950; color:#52677d; white-space:nowrap}
.login-preflight-head b{font-size:13px; color:#0b55aa; text-align:right; overflow-wrap:anywhere}
.login-preflight-panel ol{margin:0 0 9px; padding-left:18px}
.login-preflight-panel li{font-size:12px; line-height:1.5; color:#405a73; font-weight:850}
.login-preflight-panel .vote-next-btn{height:40px; width:100%; font-size:13px}
.login-preflight-panel small{display:block; margin-top:8px; color:#52677d; font-size:12px; line-height:1.45; font-weight:850}
.handoff-panel{margin:10px 12px 0; border:1px solid #f0d48a; border-left:5px solid #f5a400; border-radius:8px; background:#fff8e8; padding:10px 12px; color:#0b2d54}
.handoff-panel div{display:flex; justify-content:space-between; gap:8px; align-items:center; font-size:12px; color:#51657d; font-weight:800}
.handoff-panel b{color:#0b2d54}
.handoff-panel p{margin:8px 0 4px; font-size:15px; font-weight:900}
.handoff-panel small{display:block; color:#6b7b8f; font-size:12px; line-height:1.45}
.handoff-panel.is-ok{border-color:#63c6aa; border-left-color:#0aa383; background:#ecfff9}
.handoff-panel.is-ng{border-color:#e8a0a0; border-left-color:#d93a3a; background:#fff0f0}
.handoff-panel.is-ok small{color:#08745f}
.handoff-panel.is-ng small{color:#b91c1c}
.diagnostic-panel{margin:10px 12px 0; border:1px solid #9ed3f5; border-left:5px solid #176bd8; border-radius:8px; background:#f5fbff; padding:10px 12px; color:#092b50}
.diagnostic-panel.is-ok{border-color:#63c6aa; border-left-color:#0aa383; background:#ecfff9}
.diagnostic-panel.is-ng{border-color:#e8b060; border-left-color:#f0a12d; background:#fff8ed}
.diagnostic-head{display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:7px}
.diagnostic-head span{font-size:12px; font-weight:950; color:#0b55aa}.diagnostic-head b{font-size:12px; color:#fff; background:#176bd8; border-radius:999px; padding:4px 8px; white-space:nowrap}
.diagnostic-panel.is-ok .diagnostic-head b{background:#087d78}.diagnostic-panel.is-ng .diagnostic-head b{background:#b76500}
.diagnostic-list{margin:0 0 9px; padding:0; list-style:none; display:flex; flex-direction:column; gap:5px}
.diagnostic-list li{display:flex; align-items:flex-start; gap:7px; font-size:12px; line-height:1.45; color:#405a73; font-weight:850}
.diagnostic-list li b{flex:0 0 auto; min-width:34px; text-align:center; border-radius:999px; padding:2px 6px; background:#e6f4ff; color:#176bd8; font-size:10px}
.diagnostic-list li.ok b{background:#dff8ee; color:#087a4c}.diagnostic-list li.warn b{background:#fff0d7; color:#955900}
.diagnostic-panel .vote-next-btn{height:40px; width:100%; font-size:13px}
.handoff-run-detail{margin:10px 12px 0; border:1px solid #9ed3f5; border-left:5px solid #176bd8; border-radius:8px; background:#fff; padding:10px 12px; color:#092b50}
.handoff-run-head{display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:6px}
.handoff-run-head span,.handoff-run-sub{font-size:12px; font-weight:950; color:#0b55aa}.handoff-run-head b{font-size:12px; color:#fff; background:#176bd8; border-radius:999px; padding:4px 8px; white-space:nowrap}
.handoff-run-detail small{display:block; margin:0 0 7px; color:#52677d; font-size:11px; font-weight:850; overflow-wrap:anywhere}
.handoff-run-detail ul{margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:5px}
.handoff-run-detail li{display:flex; align-items:flex-start; gap:7px; font-size:12px; line-height:1.45; color:#405a73; font-weight:850}
.handoff-run-detail li b{flex:0 0 auto; min-width:34px; text-align:center; border-radius:999px; padding:2px 6px; background:#fff0d7; color:#955900; font-size:10px}.handoff-run-detail li.ok b{background:#dff8ee; color:#087a4c}.handoff-run-detail li.ng b{background:#ffe1e1; color:#b91c1c}
.handoff-run-sub{margin:8px 0 5px}
.vote-next-actions{display:grid; grid-template-columns:1fr; gap:8px; padding:8px 12px 10px; background:#dceeff; border-top:1px solid #c9e0f4}
.vote-next-btn{height:46px; border:0; border-radius:7px; background:#176bd8; color:#fff; font-size:14px; font-weight:900; cursor:pointer; box-shadow:0 4px 10px rgba(23,107,216,.22); display:flex; align-items:center; justify-content:center; text-align:center; text-decoration:none}
.vote-next-btn.is-auto{grid-column:1 / -1; background:#0b2d54}
.vote-next-btn.is-sub{background:#fff; color:#176bd8; border:1px solid #9cc2ea; box-shadow:none}
.vote-next-btn.is-record{background:#fff; color:#087d78; border:1px solid #83d4cf; box-shadow:none}
.vote-next-btn.is-record:disabled{opacity:.45; color:#8fa5ad; border-color:#c8dbe2}
.sheet-deadline-caution{margin:-3px 0 0}
.msg-steps{display:block; margin-top:5px; color:#405a73; font-size:12px; line-height:1.55; font-weight:850}

.view:not(#view-home){
  background:#bfe7ff;
  border:1px solid #9ed3f5;
  border-radius:8px;
  padding:12px;
  box-shadow:var(--shadow-sm);
}
.view:not(#view-home) .view-head{
  background:#fff;
  border:2px solid #2e8add;
  border-radius:8px;
  padding:12px;
  margin:0 0 12px;
  box-shadow:var(--shadow-sm);
  position:relative;
  overflow:hidden;
}
.view:not(#view-home) .view-head::after{content:""; position:absolute; right:-36px; top:-28px; width:110px; height:90px; background:repeating-linear-gradient(90deg,rgba(23,107,216,.09) 0 7px,transparent 7px 14px); transform:rotate(-18deg)}
.view:not(#view-home) .view-head h2{
  color:#0b55aa;
  font-size:25px;
  font-weight:950;
  line-height:1.15;
}
.view:not(#view-home) .view-head .muted{color:#486784; font-weight:700}
.summary-grid>div,.wallet-grid>div,.race-stats>div,.steps li,.help-block,.strategy-band,.strategy-grid section,.mini-item,.mini-empty{
  border-color:#9ed3f5;
}
.summary-grid>div,.wallet-grid>div,.race-stats>div{
  animation:softPulse 2.8s ease-out 1;
}
.analysis-status>div,.wallet-entry-panel{
  border-color:#9ed3f5;
  border-left-color:#11b7ad;
}
.split-head h3{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:4px 10px;
  border-radius:999px;
  background:#0b55aa;
  color:#fff;
  font-size:13px;
}
.button-stack .btn-primary,.wallet-entry-panel .btn-wallet{
  background:#176bd8;
  color:#fff;
}
.button-stack .btn-sub{
  color:#092b50;
  border-color:#9ed3f5;
  font-weight:950;
}
.segmented{
  background:#fff;
  border-color:#9ed3f5;
}
.segmented button.is-active{
  background:#176bd8;
}
.race-board-head{
  background:#176bd8;
  color:#fff;
}
.race-state a{
  background:#176bd8;
}
.card{
  animation:fade .18s ease both;
}

/* v176: explanatory panels are flattened so the app reads less like stacked article boxes. */
.views{padding:7px 9px calc(66px + var(--safe-bottom))}
.hero{padding:6px; margin-bottom:6px}
.home-race-brief{margin-bottom:5px; padding:4px}
.deadline-board-head{gap:5px}
.deadline-board-head>div{min-height:48px; padding:5px}
.home-command-grid{margin:5px 0}
.home-menu-btn{height:52px}
.stake-card{padding:4px 8px; margin-bottom:0}
.status-line{margin:4px 0 0}
.cards{gap:8px}
.home-support-panel{margin:7px 0; padding:7px}
.login-drawer{margin:6px 0 8px}
.login-drawer summary{min-height:40px; padding:8px 10px}
.market-note,.advance-block,.compliance-note{
  border:0;
  border-left:0;
  box-shadow:none;
  padding:8px 2px;
  margin:6px 0;
  background:transparent;
}
.view:not(#view-home) .view-head{
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:0 2px 4px;
  margin:0 0 8px;
}
.view:not(#view-home) .view-head::after{display:none}
.probability-band,
.reason-drawer,
.candidate-flow-panel,
.sheet-section,
.auth-strip,
.official-tap-guide,
.spvote-guide,
.login-preflight-panel,
.handoff-panel,
.diagnostic-panel,
.candidate-empty,
.analysis-explain,
.learning-station,
.analysis-status>div,
.wallet-sync-note,
.wallet-entry-panel,
.loop-panel,
.strategy-band,
.strategy-grid section,
.help-block,
.guide-accordion,
.strength-hero,
.strength-principle,
.strength-rules,
.strength-stakes,
.strength-card,
.strength-note{
  box-shadow:none;
}
.probability-band{
  border:0;
  border-radius:0;
  background:transparent;
  padding:0 2px 6px;
  margin:0 0 8px;
}
.probability-band.is-study,
.probability-band.is-hide{
  border:0;
  background:transparent;
}
.probability-band div{padding:0}
.probability-band p{padding:0}
.reason-drawer,
.sheet-section,
.auth-strip,
.official-tap-guide,
.spvote-guide,
.login-preflight-panel,
.handoff-panel,
.diagnostic-panel{
  border-width:1px;
  border-radius:7px;
}
.candidate-flow-panel{
  border:0;
  border-radius:0;
  background:transparent;
  padding:0;
}
.candidate-empty{
  border:0;
  border-top:2px solid #13b8b1;
  border-radius:0;
  background:transparent;
  padding:8px 2px;
}
.candidate-empty-grid div{
  background:#f5fbff;
  border-color:#d4e7f5;
}

@media(min-width:600px){
  .app{box-shadow:0 0 42px rgba(8,27,51,.13)}
  .actions{grid-template-columns:1.2fr .9fr .9fr}
  .button-stack{grid-template-columns:1fr 1fr}
  .button-stack .btn:first-child{grid-column:1 / -1}
  .analysis-action-stack{grid-template-columns:1fr}
  .strategy-grid{grid-template-columns:1fr 1fr}
  .summary-grid{grid-template-columns:repeat(3,1fr)}
  .race-stats{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:599px){
  body{justify-content:flex-start}
  .app{margin:0}
  .tabbar{left:0; right:auto; width:100%; transform:none}
}
@media(max-width:480px){
  .appbar{gap:6px; padding-left:10px; padding-right:8px}
  .brand{gap:8px; padding-right:0}
  .brand-name{font-size:18px}
  .appbar-right{position:static; transform:none; gap:0; flex:0 0 auto; justify-content:flex-end}
  .corp-pill{display:block; font-size:10px; padding:0; min-width:0; max-width:150px; overflow:hidden; text-overflow:ellipsis; text-align:left}
  .icon-btn{width:34px; height:34px}
  .tabbar{width:100vw; max-width:100vw}
  .tab{height:56px; padding-top:6px; padding-bottom:5px}
  .tab .tab-label{font-size:10px}
  .stake-card{grid-template-columns:minmax(0,1fr) auto}
  .stake-box input{width:112px}
  .race-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .race-board-head,.race-row{grid-template-columns:1.22fr .58fr .62fr 1.18fr; padding-left:8px; padding-right:8px}
  .race-main b{font-size:13px}.race-date,.race-time{font-size:12px}.race-state a{width:34px}
  .deadline-board-head{grid-template-columns:repeat(3,minmax(0,1fr))}
  .deadline-board-head>div:last-child{grid-column:auto}
  .deadline-final-grid{grid-template-columns:1fr}
  .spvote-selector{grid-template-columns:1fr 1fr}
  .spvote-selector div:nth-child(2){border-right:0}
  .spvote-selector div:last-child{grid-column:1 / -1; border-top:1px solid #d7e7f5}
  .spvote-tabs{grid-template-columns:1fr 1fr}
  .spvote-tabs b{border-right:0}
  .spvote-tabs em,.spvote-tabs strong{border-top:1px solid #c5dff2}
  .spvote-boat-grid{grid-template-columns:1fr}
}
@media(max-width:390px){
  .views{padding-left:10px; padding-right:10px}
  .hero h1{font-size:23px}
  .figures,.sheet-figures{grid-template-columns:1fr}
  .sheet-budget{grid-template-columns:1fr}
  .wallet-station{grid-template-columns:1fr}
}
@media(max-width:360px){
  .wallet-form,.wallet-actions,.wallet-safety-actions,.wallet-grid{grid-template-columns:1fr}
}

/* v191: PWA/game-like launch polish and fastest handoff UI. */
body{
  background:linear-gradient(180deg,#d9f4ff 0%,#eefaff 48%,#dff2ff 100%);
}
.app{
  background:linear-gradient(180deg,#e4f7ff 0%,#d4f0ff 100%);
}
.app-splash{
  position:fixed;
  inset:0;
  z-index:1000;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg,#0f70e2 0%,#053c85 100%);
  color:#fff;
  transition:opacity .42s ease, transform .42s ease;
}
.app-splash.is-done{
  opacity:0;
  transform:scale(1.02);
  pointer-events:none;
}
.splash-core{
  width:min(76vw,260px);
  min-height:190px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:8px;
  background:rgba(255,255,255,.08);
  box-shadow:0 22px 48px rgba(3,22,54,.32), inset 0 1px 0 rgba(255,255,255,.2);
}
.splash-brand-mark{
  display:flex;
  align-items:flex-end;
  gap:5px;
  height:54px;
}
.splash-brand-mark i{
  width:10px;
  border-radius:3px 3px 0 0;
  background:#fff;
  animation:splashBars .76s ease-in-out infinite alternate;
}
.splash-brand-mark i:nth-child(1){height:23px; animation-delay:0s}
.splash-brand-mark i:nth-child(2){height:36px; animation-delay:.12s}
.splash-brand-mark i:nth-child(3){height:52px; background:var(--game-aqua); animation-delay:.24s}
.splash-core b{font-size:28px; line-height:1; font-weight:950; letter-spacing:0}
.splash-core em{font-style:normal; font-size:12px; font-weight:900; color:#dff8ff}
.splash-loader{display:flex; gap:6px; margin-top:6px}
.splash-loader span{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#fff;
  opacity:.52;
  animation:splashDot .78s ease-in-out infinite alternate;
}
.splash-loader span:nth-child(2){animation-delay:.15s}
.splash-loader span:nth-child(3){animation-delay:.3s}
@keyframes splashBars{from{transform:scaleY(.72)}to{transform:scaleY(1)}}
@keyframes splashDot{from{transform:translateY(0); opacity:.45}to{transform:translateY(-6px); opacity:1}}
.boat-loader,
.boat-start-icon{
  position:relative;
  display:inline-flex;
  align-items:flex-end;
  justify-content:center;
  width:38px;
  height:28px;
  overflow:hidden;
}
.boat-loader{width:72px; height:34px; margin-top:2px}
.boat-hull{
  position:absolute;
  left:6px;
  bottom:8px;
  width:30px;
  height:10px;
  border-radius:2px 2px 10px 10px;
  background:#071e3a;
  transform:skewX(-18deg);
  animation:boatFloat 1.05s ease-in-out infinite alternate;
}
.boat-loader .boat-hull{left:18px; width:38px; height:12px; background:#071e3a}
.boat-person{
  position:absolute;
  left:20px;
  bottom:18px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#071e3a;
  animation:boatFloat 1.05s ease-in-out infinite alternate;
}
.boat-person::after{
  content:"";
  position:absolute;
  left:2px;
  top:7px;
  width:5px;
  height:10px;
  border-radius:3px;
  background:#071e3a;
}
.boat-loader .boat-person{left:37px; bottom:22px}
.boat-wave{
  position:absolute;
  left:2px;
  right:2px;
  bottom:2px;
  height:7px;
  border-bottom:3px solid rgba(255,255,255,.85);
  border-radius:50%;
  animation:waveSlide 1.1s ease-in-out infinite;
}
.boat-start-icon .boat-wave{border-bottom-color:rgba(255,255,255,.86)}
@keyframes boatFloat{from{transform:translateY(1px) skewX(-18deg)}to{transform:translateY(-3px) skewX(-18deg)}}
@keyframes waveSlide{from{transform:translateX(-3px)}to{transform:translateX(3px)}}
.appbar{
  background:linear-gradient(180deg,#1d7bed 0%,#1269d8 58%,#0a56b8 100%);
  border-bottom:2px solid #04bfb7;
  box-shadow:0 8px 18px rgba(4,49,112,.24);
}
.health-badge{
  min-width:52px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  border:1px solid rgba(255,255,255,.36);
  border-radius:7px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:10px;
  font-weight:950;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}
.health-badge i{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#cfe8ff;
  box-shadow:0 0 0 3px rgba(255,255,255,.12);
}
.health-badge.is-ok i{background:#15d5b9}
.health-badge.is-warn i{background:#ffd45c}
.health-badge.is-ng i{background:#ff5d72}
.health-badge.is-checking i{animation:healthPulse 1s ease-in-out infinite alternate}
@keyframes healthPulse{from{opacity:.45}to{opacity:1}}
.brand-mark .bar{
  box-shadow:0 1px 0 rgba(0,0,0,.12);
}
.icon-btn,
.home-menu-btn,
.btn,
.hero-shortcut,
.vote-next-btn,
.tab{
  transition:transform .1s ease, box-shadow .1s ease, filter .1s ease, background .16s ease;
}
.icon-btn:active,
.home-menu-btn:active,
.btn:active,
.hero-shortcut:active,
.vote-next-btn:active,
.tab:active{
  transform:translateY(1px) scale(.99);
  filter:saturate(1.08);
}
.views{
  scroll-behavior:smooth;
}
.view.is-active{
  animation:screenIn .22s cubic-bezier(.2,.75,.24,1) both;
}
@keyframes screenIn{
  from{opacity:0; transform:translateY(8px)}
  to{opacity:1; transform:translateY(0)}
}
.hero{
  background:linear-gradient(180deg,#b9eaff 0%,#d9f5ff 100%);
  border-color:#7ec9f5;
  box-shadow:0 8px 18px rgba(7,58,119,.14), inset 0 1px 0 rgba(255,255,255,.75);
}
.home-race-brief,
.stake-card,
.home-support-panel,
.login-drawer,
.card,
.vote-sheet,
.sheet-budget div,
.candidate-empty-grid div{
  box-shadow:0 5px 12px rgba(4,49,112,.1), inset 0 1px 0 rgba(255,255,255,.78);
}
.home-menu-primary{
  background:linear-gradient(180deg,#1276e6 0%,#0b55aa 100%);
  border-color:#094b96;
  box-shadow:0 8px 14px rgba(7,79,160,.24), var(--game-press);
}
.home-menu-primary b{
  color:#fff;
}
.profit-filter{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:4px;
  margin:6px 0 7px;
}
.profit-filter button{
  min-height:34px;
  border:1px solid #9ed3f5;
  border-radius:7px;
  background:#fff;
  color:#0b55aa;
  font-size:10px;
  font-weight:950;
  padding:5px 3px;
  box-shadow:var(--shadow-sm);
}
.profit-filter button.is-active{
  background:linear-gradient(180deg,#10c8be 0%,#079189 100%);
  color:#05223a;
  border-color:#079189;
  box-shadow:0 4px 10px rgba(7,145,137,.24), var(--game-press);
}
.candidate-profit-filter{
  margin:6px 0 9px;
}
.candidate-section-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  padding:7px 10px;
  border:1px solid #7ec9f5;
  border-left:5px solid var(--game-aqua);
  border-radius:8px;
  background:#f7fcff;
  color:#092b50;
  box-shadow:var(--shadow-sm);
}
.candidate-section-head span{
  display:block;
  font-size:11px;
  color:#52677d;
  font-weight:950;
}
.candidate-section-head b{
  display:block;
  font-size:18px;
  line-height:1.1;
  color:#0b55aa;
  font-weight:950;
}
.candidate-section-head em{
  font-style:normal;
  font-size:11px;
  font-weight:950;
  color:#087d78;
  background:#e9fffc;
  border:1px solid #9ce3da;
  border-radius:999px;
  padding:4px 8px;
  white-space:nowrap;
}
.card{
  border-color:#a9d6f3;
  box-shadow:0 12px 24px rgba(4,49,112,.14), inset 0 1px 0 rgba(255,255,255,.78);
}
.card .handoff-copy-card{
  margin:8px 0 8px;
}
.handoff-copy-card{
  background:linear-gradient(180deg,#f8fdff 0%,#eef9ff 100%);
  border-color:#8dc9ef;
}
.handoff-copy-head{
  background:#e6f6ff;
}
.handoff-copy-grid button{
  box-shadow:0 3px 8px rgba(4,49,112,.08);
}
.handoff-copy-grid button:active{
  transform:translateY(1px);
  background:#dff8ff;
}
.candidate-actions .btn-go{
  background:linear-gradient(180deg,#18c7bd 0%,#078d85 100%);
  color:#05223a;
  box-shadow:0 7px 14px rgba(7,141,133,.24), var(--game-press);
}
.candidate-actions .btn-official,
.vote-next-btn.is-auto{
  background:linear-gradient(180deg,#0c4f96 0%,#082e57 100%);
  color:#fff;
  box-shadow:0 7px 14px rgba(8,46,87,.24), var(--game-press);
}
.deadline-caution{
  display:block;
  grid-column:1 / -1;
  justify-self:end;
  margin:-4px 4px 0 auto;
  color:#b76500;
  font-size:10px;
  font-weight:950;
  text-align:right;
}
.opportunity-grid div,
.summary-grid>div,
.wallet-grid>div,
.race-stats>div{
  background:linear-gradient(180deg,#fff 0%,#f4fbff 100%);
}
.sheet{
  backdrop-filter:blur(4px);
}
.sheet-panel{
  border-radius:8px 8px 0 0;
  border-top:4px solid var(--game-aqua);
  box-shadow:0 -18px 42px rgba(3,22,54,.34);
}
.vote-bluebar{
  background:linear-gradient(180deg,#1a7df0 0%,#1269d8 100%);
}
.vote-grid .vote-mark.is-selected{
  background:#ffe6ec;
  border-color:#e71446;
  box-shadow:0 0 0 2px rgba(231,20,70,.15), inset 0 0 0 999px rgba(231,20,70,.08);
}
.official-checklist.needs-confirm{
  border-color:#e71446;
  background:#fff7f9;
  box-shadow:0 0 0 2px rgba(231,20,70,.12);
  animation:checklistPulse .28s ease-out 0s 2;
}
.official-checklist.needs-confirm label{
  border-color:#f3a7b8;
}
.vote-next-btn:disabled{
  opacity:.55;
  cursor:not-allowed;
  filter:saturate(.75);
}
@keyframes checklistPulse{
  0%,100%{transform:translateX(0)}
  35%{transform:translateX(-2px)}
  70%{transform:translateX(2px)}
}
.record-caution{
  border-radius:7px;
}
.status-line{
  color:#07315d;
  background:#f7fcff;
  border-color:#8dc9ef;
}
@media(max-width:430px){
  .profit-filter{gap:4px}
  .profit-filter button{font-size:10px; min-height:32px}
  .candidate-section-head{padding:6px 8px}
  .card{padding:10px; min-height:auto}
  .handoff-copy-grid{gap:5px}
}

/* v194: compact prediction flow, purchased-hide notice, and app-like motion. */
.home-menu-primary{
  grid-template-columns:42px minmax(0,1fr) 42px;
  justify-items:center;
  text-align:center;
}
.home-menu-primary .menu-icon{grid-column:1; justify-self:start}
.home-menu-primary b{grid-column:2; justify-self:center; text-align:center}
.card{padding:10px 10px 12px}
.card-top{margin-bottom:6px}
.buy-stage{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:4px 8px;
  border-radius:999px;
  font-size:11px;
  line-height:1;
  font-weight:950;
  white-space:nowrap;
  background:#edf0f5;
  color:#455365;
}
.buy-stage-strong{background:#d8193f; color:#fff}
.buy-stage-buy{background:#0aa383; color:#fff}
.buy-stage-small{background:#0b2d54; color:#fff}
.buy-stage-wait{background:#fff3dc; color:#955900}
.buy-stage-skip{background:#edf0f5; color:#637084}
.buy-stage-closed{background:#fde8ea; color:#b91c1c}
.race-name{margin-bottom:8px}
.card .lane-row{gap:6px; margin:0 0 8px}
.card .lane{min-height:58px; border-radius:7px}
.card .lane i{font-size:10px}
.card .lane b{font-size:28px}
.card .handoff-copy-card.is-compact{margin:6px 0 8px; border-radius:7px}
.handoff-copy-card.is-compact .handoff-copy-head{align-items:center; padding:6px 8px}
.handoff-copy-card.is-compact .handoff-copy-head b{font-size:13px}
.handoff-copy-card.is-compact .handoff-copy-head span{
  max-width:64%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:10px;
}
.handoff-copy-card.is-compact .handoff-copy-line{
  width:100%;
  min-width:0;
  border:0;
  border-top:1px solid #c7e3f5;
  background:#fff;
  color:#08244a;
  display:grid;
  gap:2px;
  padding:7px 8px;
  text-align:left;
  font-weight:950;
}
.handoff-copy-card.is-compact .handoff-copy-line b{
  font-size:13px;
  line-height:1.25;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.handoff-copy-card.is-compact .handoff-copy-line span{
  color:#63758a;
  font-size:10px;
  font-weight:900;
}
.handoff-copy-card.is-compact .handoff-copy-line:active{
  background:#dff8ff;
  transform:translateY(1px);
}
.candidate-flow-panel{margin:0 0 8px}
.candidate-actions{gap:6px}
.candidate-section-head{margin:8px 0 8px}
.candidate-filter-note.is-bought{
  background:#ecfff9;
  border-color:#83d4cf;
  color:#087d78;
}
.opportunity-grid{gap:6px; margin:0 0 8px}
.opportunity-grid>div{min-height:50px}
.figures>div,.sheet-figures>div{padding:5px 0}
.record-caution.sheet-record-caution{
  margin:8px 12px 0;
  grid-template-columns:1fr;
  gap:3px;
}
.sheet-panel .handoff-copy-card{margin-top:8px}
.sheet-body .spvote-guide{
  width:100%;
  box-sizing:border-box;
  margin:10px 0 0;
}
.summary-grid{
  grid-template-columns:1fr;
  gap:10px;
}
.summary-group{
  display:grid;
  gap:8px;
  background:linear-gradient(180deg,#f7fcff 0%,#e9f7ff 100%);
  border:1px solid #8dc9ef;
  border-radius:8px;
  padding:10px;
  box-shadow:0 2px 7px rgba(8,27,51,.06);
}
.summary-group-purchase{
  background:linear-gradient(180deg,#fff 0%,#f4fbff 100%);
}
.summary-group-head{
  display:grid;
  gap:2px;
}
.summary-group-head b{
  color:#0b55aa;
  font-size:17px;
  line-height:1.2;
  font-weight:950;
}
.summary-group-head span{
  color:#52677d;
  font-size:11px;
  line-height:1.45;
  font-weight:850;
}
.summary-group-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}
.summary-group-grid>div{
  min-height:62px;
  background:#fff;
  border:1px solid #9ed3f5;
  border-radius:7px;
  padding:8px;
  box-shadow:0 1px 4px rgba(8,27,51,.05);
}
.summary-group-grid span{
  display:block;
  color:#38536e;
  font-size:11px;
  line-height:1.25;
  font-weight:950;
}
.summary-group-grid b{
  display:block;
  color:#092b50;
  font-size:20px;
  line-height:1.15;
  font-weight:950;
  overflow-wrap:anywhere;
}
.summary-group-grid em{
  display:block;
  margin-top:2px;
  color:#66758a;
  font-size:10px;
  line-height:1.25;
  font-style:normal;
  font-weight:850;
}
.summary-group-grid .plus{color:var(--profit)}
.summary-group-grid .minus{color:var(--danger)}
@media(min-width:600px){
  .summary-grid{grid-template-columns:1fr}
  .summary-group-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* v202 analysis / wallet dashboard polish */
#view-result,
#view-wallet{
  padding:8px;
  background:linear-gradient(180deg,#bfeaff 0%,#dcf5ff 100%);
  border:1px solid #89cef2;
  border-radius:9px;
}
#view-result .summary-grid,
#view-wallet .wallet-grid{
  gap:8px;
}
.summary-group,
.learning-gate,
.skip-insight,
.analysis-status,
.wallet-entry-panel,
.loop-panel,
.wallet-audit-panel{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(74,159,219,.58);
  border-radius:9px;
  box-shadow:0 5px 14px rgba(8,27,51,.08);
  padding:8px;
}
.summary-group-head,
.learning-gate-head,
.skip-insight-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin:0 0 7px;
}
.section-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:28px;
  padding:4px 10px 4px 5px;
  border-radius:999px;
  color:#fff;
  font-size:12px;
  font-weight:950;
  letter-spacing:0;
  line-height:1;
  box-shadow:inset 0 -1px 0 rgba(0,0,0,.16),0 2px 7px rgba(8,27,51,.12);
}
.section-chip i{
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  border-radius:50%;
  background:rgba(255,255,255,.22);
  font-style:normal;
  font-size:11px;
}
.section-chip-blue{background:linear-gradient(180deg,#2278e6,#0b55aa)}
.section-chip-green{background:linear-gradient(180deg,#16b893,#00836d)}
.section-chip-warn{background:linear-gradient(180deg,#f2a12c,#c07200)}
.info-pop{position:relative; margin-left:auto}
.info-pop summary{
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  border:1px solid #9ed3f5;
  border-radius:50%;
  background:#eef8ff;
  color:#0b55aa;
  font-size:13px;
  font-weight:950;
  list-style:none;
  cursor:pointer;
}
.info-pop summary::-webkit-details-marker{display:none}
.info-pop p{
  position:absolute;
  right:0;
  top:31px;
  z-index:40;
  width:min(280px,74vw);
  margin:0;
  padding:9px 10px;
  border:1px solid #8dc9ef;
  border-radius:8px;
  background:#fff;
  color:#2f4c68;
  font-size:11px;
  font-weight:850;
  line-height:1.5;
  box-shadow:0 10px 24px rgba(8,27,51,.18);
}
.summary-group-grid,
.learning-gate-grid,
.skip-insight-grid,
#walletCards.wallet-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
}
.summary-group-grid>div,
.learning-gate-grid>div,
.skip-insight-grid>div,
#walletCards.wallet-grid>div{
  min-height:58px;
  background:linear-gradient(180deg,#fff 0%,#f4fbff 100%);
  border:1px solid #afd9f0;
  border-radius:8px;
  box-shadow:none;
  padding:7px;
}
.summary-group-grid span,
.learning-gate-grid span,
.skip-insight-grid span,
#walletCards.wallet-grid span{
  display:block;
  color:#53697f;
  font-size:10px;
  line-height:1.25;
  font-weight:950;
}
.summary-group-grid b,
.learning-gate-grid b,
.skip-insight-grid b,
#walletCards.wallet-grid b{
  display:block;
  color:#092b50;
  font-size:18px;
  line-height:1.12;
  font-weight:950;
  overflow-wrap:anywhere;
}
.summary-group-grid em,
.learning-gate-grid em,
.skip-insight-grid em,
#walletCards.wallet-grid em{
  display:block;
  margin-top:2px;
  color:#66758a;
  font-size:9px;
  line-height:1.25;
  font-style:normal;
  font-weight:850;
}
.summary-group-grid .plus,
#walletCards.wallet-grid .plus{color:var(--profit)}
.summary-group-grid .minus,
#walletCards.wallet-grid .minus{color:var(--danger)}
.compact-note{
  margin-top:7px;
}
.compact-note summary{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 9px;
  border:1px solid #c5e2f5;
  border-radius:999px;
  background:#eef8ff;
  color:#0b55aa;
  font-size:11px;
  font-weight:950;
  list-style:none;
  cursor:pointer;
}
.compact-note summary::-webkit-details-marker{display:none}
.compact-note p{
  margin:6px 0 0;
  color:#52677d;
  font-size:11px;
  font-weight:850;
  line-height:1.45;
}
.split-head{
  margin:10px 0 6px;
  padding:0;
  border:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.split-head h3{
  display:flex;
  align-items:center;
  min-height:auto;
  margin:0;
  padding:0;
  border-radius:0;
  background:transparent;
  color:#0b55aa;
  font-size:13px;
  font-weight:950;
}
.split-head h3::before{
  content:"";
  display:inline-block;
  width:7px;
  height:7px;
  margin-right:6px;
  border-radius:2px;
  background:#13b8b1;
}
.split-head span{
  color:#60758c;
  font-size:10px;
  font-weight:850;
  line-height:1.35;
}
#view-result .mini-list,
#view-wallet .mini-list{
  gap:6px;
}
#view-result .mini-item,
#view-wallet .mini-item{
  margin:0;
  padding:7px 8px;
  border:1px solid #b8dcf1;
  border-left:4px solid #13b8b1;
  border-radius:8px;
  background:rgba(255,255,255,.88);
  box-shadow:none;
}
#view-result .analysis-result-row,
#view-wallet .bet-status-row,
#view-wallet .wallet-row{
  min-height:auto;
}
#view-result .analysis-result-row b,
#view-wallet .bet-status-row b,
#view-wallet .wallet-row b{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:7px;
  font-size:13px;
  line-height:1.3;
}
#view-result .analysis-result-row span,
#view-wallet .bet-status-row span,
#view-wallet .wallet-row span{
  font-size:11px;
  line-height:1.35;
  color:#53697f;
}
.analysis-pill{
  min-height:20px;
  padding:2px 6px;
  border-radius:999px;
  font-size:10px;
  line-height:1.2;
}
.wallet-station{
  border-radius:9px;
  box-shadow:0 5px 14px rgba(8,27,51,.1);
}
.wallet-entry-panel h3{
  margin:0 0 7px;
  color:#0b55aa;
  font-size:14px;
}
.wallet-form{
  gap:6px;
  margin-bottom:7px;
}
.wallet-form input{
  min-height:38px;
  border-radius:8px;
}
.wallet-actions,
.wallet-safety-actions{
  gap:6px;
}
.wallet-actions .btn,
.wallet-safety-actions .btn{
  min-height:40px;
  border-radius:8px;
}
.loop-panel .loop-head{
  margin-bottom:7px;
}
.loop-grid{
  gap:6px;
}
.loop-grid>div{
  min-height:54px;
  border-radius:8px;
}
.loop-actions{
  gap:6px;
}
@media(max-width:430px){
  #view-result,
  #view-wallet{padding:7px}
  .summary-group-grid,
  .learning-gate-grid,
  .skip-insight-grid,
  #walletCards.wallet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .summary-group-grid>div,
  .learning-gate-grid>div,
  .skip-insight-grid>div,
  #walletCards.wallet-grid>div{min-height:56px; padding:7px}
  .summary-group-grid b,
  .learning-gate-grid b,
  .skip-insight-grid b,
  #walletCards.wallet-grid b{font-size:17px}
  .wallet-entry-panel{padding:9px}
  .wallet-actions .btn,
  .wallet-safety-actions .btn{min-height:39px}
}

/* Dark Trading UI Refresh 20260704-220 */
html,body{background:var(--bg)!important;color:var(--text)!important;font-variant-numeric:tabular-nums;}
body,.app,main.views,.views{background:radial-gradient(circle at 50% 0%,rgba(23,118,232,.22),transparent 28%),linear-gradient(180deg,#0E1526 0%,#111B31 52%,#0E1526 100%)!important;color:var(--text)!important;}
*{font-variant-numeric:tabular-nums;letter-spacing:0;}
.appbar{background:linear-gradient(180deg,#1776E8 0%,#114B9A 58%,#0E1526 100%)!important;border-bottom:1px solid rgba(56,225,198,.22)!important;box-shadow:var(--shadow-ui)!important;}
.appbar .corp-pill{border:0!important;background:transparent!important;color:var(--text)!important;box-shadow:none!important;}
#syncBtn{display:none!important;}
.hero,.card,.summary-group,#learningGate,#loopPanel,.sheet-panel,.mini-item,.analysis-result-row,#walletCards>div,.candidate-empty,.handoff-copy-card,.reason-drawer,.spvote-guide,.help-card,.help-nav,.guide-card,.wallet-audit-panel,.compact-action-panel,.strength-hero,.strength-rules,.wallet-entry-panel,.official-compare-panel{background:linear-gradient(180deg,rgba(29,42,74,.96),rgba(22,32,58,.96))!important;color:var(--text)!important;border:1px solid var(--line)!important;border-radius:var(--radius-ui)!important;box-shadow:var(--shadow-ui)!important;}
.view-head,.candidate-section-head,.split-head,.section-title,.wallet-sync-note,#analysisExplain,.market-note,.compliance-note,.compact-note,#analysisStatus>div,.summary-group-head,.learning-gate-head,.result-section-head{background:transparent!important;border:0!important;box-shadow:none!important;color:var(--text)!important;padding:6px 2px!important;}
.card{padding:12px!important;margin:10px 8px!important;}
.candidate-section-head{padding:8px 10px!important;border:0!important;box-shadow:none!important;background:transparent!important;}
.candidate-section-head em{display:none!important;}
.summary-card,#summaryCards .summary-card,#walletCards>div,.metric,.sheet-budget>*{background:rgba(255,255,255,.035)!important;border:1px solid var(--line)!important;box-shadow:none!important;border-radius:12px!important;color:var(--text)!important;}
label,.label,.stat-label,.mini-label,.summary-card small,.metric-label,.summary-card span:first-child,#walletCards small,.summary-card .sub,.summary-card p{font-size:11px!important;line-height:1.2!important;font-weight:500!important;letter-spacing:.06em!important;color:var(--muted)!important;}
.summary-card b,.summary-card strong,.stat-value,.metric-value,#summaryCards .value,#walletCards b,#walletCards strong{font-size:clamp(28px,7vw,34px)!important;font-weight:800!important;color:var(--text)!important;letter-spacing:0!important;}
.plus,.profit,.gain,.hit,.is-hit,.result-hit,.badge-hit,.is-plus{color:var(--accent)!important;}
.minus,.loss,.danger,.is-danger,.result-miss,.badge-miss,.is-loss{color:var(--danger)!important;}
.warn,.pending,.is-warn,.badge-pending,.badge-skipped,.confirm,.confirming{color:var(--warn)!important;}
#genBtn,.btn-go,.vote-next-btn.is-auto,#loopRunNowBtn{display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;background:linear-gradient(180deg,#1A8CFF 0%,#1062D5 100%)!important;color:var(--text)!important;border:1px solid rgba(56,225,198,.3)!important;border-radius:var(--radius-ui)!important;box-shadow:var(--shadow-ui)!important;min-height:54px!important;font-size:20px!important;font-weight:800!important;letter-spacing:.02em!important;}
.btn-go,.vote-next-btn.is-auto{background:linear-gradient(180deg,#1CCCB8 0%,#0C8E81 100%)!important;color:#06131f!important;font-size:21px!important;}
#genBtn .boat-icon,#genBtn svg,#genBtn img,#genBtn .btn-icon,#genBtn .boat-mark,#genBtn .gen-icon{display:none!important;}
.vote-next-btn.is-sub,.btn-copy,.candidate-actions .btn-copy,.candidate-actions .btn-official,.candidate-actions .btn-bought,.handoff-copy-head small,.handoff-copy-head span+span{display:none!important;}
.deadline,.deadline-pill,.countdown,.race-deadline{background:rgba(255,180,84,.14)!important;color:var(--warn)!important;border:1px solid rgba(255,180,84,.34)!important;border-radius:999px!important;font-weight:800!important;}
.metrics,.metric-row,.odds-row,.candidate-metrics,.sheet-budget{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;text-align:center!important;}
.lane-row{gap:8px!important;margin:8px 0!important;}
.lane{border-radius:12px!important;min-height:58px!important;box-shadow:none!important;}
.tabbar{background:rgba(14,21,38,.98)!important;border-top:1px solid var(--line)!important;box-shadow:0 -8px 24px rgba(0,0,0,.32)!important;}
.tab{color:var(--muted)!important;background:transparent!important;}
.tab.is-active{color:var(--accent)!important;text-shadow:0 0 14px rgba(56,225,198,.72)!important;}
.reason-head b,.reason-head .level,.probability-band > div:nth-child(2),.probability-band p{display:none!important;}
.reason-head{display:flex!important;justify-content:space-between!important;align-items:center!important;color:var(--text)!important;}
.reason-head::after{content:"▼";margin-left:auto;color:var(--accent);}
details[open]>.reason-head::after{content:"▲";}
.spvote-guide{width:100%!important;box-sizing:border-box!important;}
.sheet-budget{text-align:center!important;}
/* Dark Trading UI Rework 20260704-220 */
.hero,.card,.summary-group,#learningGate,#loopPanel,.sheet-panel{border-color:rgba(56,225,198,.12)!important;}
.summary-group,.wallet-audit-panel,#learningGate,#loopPanel{box-shadow:none!important;}
.section-chip,.summary-group-head .section-chip,.learning-gate-head .section-chip{writing-mode:horizontal-tb!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:auto!important;height:28px!important;padding:0 10px!important;border-radius:999px!important;color:#fff!important;background:rgba(56,225,198,.2)!important;border:1px solid rgba(56,225,198,.28)!important;}
.summary-group-grid,#walletCards,.stat-grid{gap:8px!important;}
.card .handoff-copy-card{background:rgba(56,225,198,.06)!important;border:1px solid rgba(56,225,198,.16)!important;box-shadow:none!important;}
.card .handoff-copy-card .handoff-copy-grid{gap:6px!important;}
.vote-odds{padding:6px 10px!important;min-height:34px!important;}
.vote-odds span{padding:4px 8px!important;}
.wallet-entry-panel{display:none!important;}
#profitFilter{margin:8px 0 10px!important;}
#candidateList{margin-top:8px!important;}
.probability-band{background:transparent!important;border:0!important;box-shadow:none!important;padding:4px 0!important;color:var(--text)!important;}
.sheet-panel .probability-band{display:none!important;}
.sheet-lanes{display:none!important;}
.record-caution,.sheet-record-caution{display:none!important;}
#healthBadge{background:rgba(56,225,198,.12)!important;border:1px solid rgba(56,225,198,.34)!important;color:var(--text)!important;}
/* End Dark Trading UI Rework 20260704-220 */




/* Dark Trading UI Polish 20260704-220 */
#genBtn::before,
#genBtn::after,
#genBtn .icon,
#genBtn .launch-icon,
#genBtn .start-icon,
#genBtn .btn-symbol,
#genBtn > span:first-child:not(:only-child){
  display:none!important;
  content:none!important;
}
#genBtn{justify-content:center!important;gap:0!important;min-height:58px!important;padding:0 18px!important;}
#genBtn b{display:block!important;margin:0 auto!important;text-align:center!important;font-size:22px!important;line-height:1!important;}
.btn-go,.vote-next-btn.is-auto{display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;font-size:20px!important;line-height:1!important;}
.sheet-budget,.card-metrics,.candidate-metrics,.summary-group-grid,.wallet-hero-grid{ text-align:center!important; }
.reason-head{display:flex!important;align-items:center!important;justify-content:space-between!important;}
.reason-head > b{display:none!important;}
.reason-head::after{content:'▼';margin-left:auto;color:var(--accent)!important;font-weight:900;}
.reason-drawer[open] > .reason-head::after{content:'▲';}
.candidate-section-head em,
.handoff-copy-head,
.probability-band > div,
.probability-band p,
.sheet-body > .probability-band,
.sheet-lanes,
.record-caution,
.sheet-record-caution,
.vote-next-btn.is-sub,
.btn-copy,
.spvote-title > span:first-child{display:none!important;}
.candidate-section-head{border:0!important;box-shadow:none!important;background:transparent!important;padding:8px 2px 6px!important;}
.candidate-section-head strong{font-size:12px!important;color:var(--muted)!important;letter-spacing:.06em;text-transform:uppercase;}
.card,.candidate-card,article.card{padding:12px!important;margin:10px 0!important;}
.lane-row{gap:8px!important;margin:8px 0!important;}
.lane{min-height:58px!important;border-radius:10px!important;}
.vote-odds{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0!important;align-items:center!important;}
.vote-odds span{padding:8px 10px!important;}
.tab.is-active{box-shadow:0 0 18px rgba(56,225,198,.42)!important;}
/* End Dark Trading UI Polish 20260704-220 */
/* === Codex Dark Trading UI Final Pass BEGIN 20260704-220 === */
html,body,.app,main.views,.views{
  background:radial-gradient(circle at 50% -10%,#1d3a78 0%,var(--bg) 42%,#090f1d 100%) !important;
  color:var(--text) !important;
  font-variant-numeric:tabular-nums;
}

.appbar{
  background:linear-gradient(180deg,#1574E6 0%,#0F50AA 70%,var(--bg) 100%) !important;
  border-bottom:1px solid rgba(56,225,198,.45) !important;
  box-shadow:0 8px 24px rgba(0,0,0,.35) !important;
}

.hero,.card,.sheet-panel,.summary-group,#loopPanel,#walletAuditPanel,.wallet-hero,.learning-gate,.mini-item,.wallet-entry-panel,.official-compare-panel{
  background:linear-gradient(180deg,var(--surface2),var(--surface)) !important;
  border:1px solid var(--line) !important;
  border-radius:var(--radius) !important;
  box-shadow:var(--shadow) !important;
  color:var(--text) !important;
}

.stat-card,.summary-card,.wallet-card,.metric,.handoff-copy-card,.sheet-budget>div,.vote-sheet,.vote-grid,.vote-next-actions,.candidate-section-head{
  background:rgba(255,255,255,.035) !important;
  border:1px solid var(--line) !important;
  border-radius:var(--radius) !important;
  box-shadow:none !important;
  color:var(--text) !important;
}

h1,h2,h3,.card-title,.summary-card strong,.wallet-card strong,.stat-card strong,.metric strong{color:var(--text) !important;}
.summary-card strong,.wallet-card strong,.stat-card strong,.metric strong{
  font-size:clamp(22px,7vw,34px) !important;
  line-height:1 !important;
  font-weight:800 !important;
  font-variant-numeric:tabular-nums;
}
.summary-card small,.wallet-card small,.stat-card small,.metric small,label,.muted{
  color:var(--muted) !important;
  font-size:11px !important;
  font-weight:500 !important;
  letter-spacing:.06em !important;
}

#genBtn{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:58px !important;
  padding:0 18px !important;
  border-radius:var(--radius) !important;
  background:linear-gradient(135deg,#1E6DF0,#0C4AA5) !important;
  box-shadow:var(--shadow) !important;
}
#genBtn svg,#genBtn img,#genBtn .boat-icon,#genBtn .btn-icon{display:none !important;}
#genBtn b{font-size:22px !important;font-weight:900 !important;letter-spacing:0 !important;}

.btn-go,.vote-next-btn.is-auto,a.vote-next-btn.is-auto{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:58px !important;
  font-size:22px !important;
  font-weight:900 !important;
  color:#06131F !important;
  background:linear-gradient(135deg,var(--accent),#10A996) !important;
  border:0 !important;
  border-radius:var(--radius) !important;
  box-shadow:var(--shadow) !important;
  text-align:center !important;
}

.btn-copy,.btn-official,.vote-next-btn.is-sub,.official-checklist,.record-caution,.auth-strip,.diagnostic-panel,
.probability-band div:nth-child(2),.probability-band p{display:none !important;}

.tabbar{background:rgba(14,21,38,.96) !important;border-top:1px solid var(--line) !important;}
.tab{color:var(--muted) !important;}
.tab.is-active{color:var(--accent) !important;text-shadow:0 0 14px rgba(56,225,198,.55) !important;}

.lane-row{gap:8px !important;}
.lane{min-height:72px !important;border-radius:var(--radius) !important;}
.deadline,.time-badge,.card-top .deadline{
  background:rgba(255,180,84,.14) !important;
  color:var(--warn) !important;
  border:1px solid rgba(255,180,84,.35) !important;
}

.plus,.profit,.payout,.is-hit{color:var(--accent) !important;}
.minus,.loss,.danger,.is-miss{color:var(--danger) !important;}

.reason-head{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  background:rgba(255,255,255,.035) !important;
  border:1px solid var(--line) !important;
  border-radius:var(--radius) !important;
  padding:12px !important;
}
.reason-head b{display:none !important;}
.reason-head span{color:var(--text) !important;}
.reason-head::after{content:"▼";margin-left:auto;color:var(--accent);font-weight:900;}

.sheet-budget{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:8px !important;text-align:center !important;}
.vote-odds{grid-template-columns:minmax(76px,.8fr) 1fr !important;min-height:40px !important;}
/* === Codex Dark Trading UI Final Pass END 20260704-220 === */

/* === Codex Dark Trading UI Final Pass BEGIN 20260704-220 === */
html, body { background: var(--bg) !important; color: var(--text) !important; }
body, .app, .views, main.views,
#view-home, #view-races, #view-result, #view-wallet, #view-help {
  background:
    radial-gradient(circle at 50% -12%, rgba(56,225,198,.12), transparent 34%),
    linear-gradient(180deg, #0E1526 0%, #121B31 54%, #0E1526 100%) !important;
  color: var(--text) !important;
  font-variant-numeric: tabular-nums;
}
.appbar {
  background: linear-gradient(180deg, #1B70DF 0%, #1150A8 72%, #0E1526 100%) !important;
  border-bottom: 1px solid rgba(56,225,198,.55) !important;
  box-shadow: var(--shadow-app) !important;
}
.logo-text, .appbar b, .appbar strong { color: #fff !important; }
.corp-pill, #healthBadge {
  background: rgba(56,225,198,.14) !important;
  color: var(--text) !important;
  border: 1px solid rgba(56,225,198,.42) !important;
  border-radius: 999px !important;
}
.hero, .card, .sheet-panel, .summary-group, #loopPanel, #walletAuditPanel,
.wallet-hero, .learning-gate, .compact-action-panel, .candidate-empty,
.wallet-entry-panel, .official-compare-panel, .strength-hero, .strength-rules,
#analysisStatus > div {
  background: linear-gradient(180deg, rgba(29,42,74,.96), rgba(22,32,58,.96)) !important;
  color: var(--text) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius-app) !important;
  box-shadow: var(--shadow-app) !important;
  outline: 0 !important;
}
.view-head, .split-head, .section-title, .learning-gate-head,
h1, h2, h3 {
  background: transparent !important;
  color: var(--text) !important;
  border: 0 !important;
  box-shadow: none !important;
}
.view-head p, .hero p, .market-note, .compliance-note, .compact-note,
.startup-safety-strip, .auth-strip, .record-caution {
  color: var(--muted) !important;
}
.stat-card, .summary-card, .wallet-card, .metric, .mini-item,
.analysis-result-row, .bet-status-row, .handoff-copy-card, .probability-band,
.reason-drawer, .vote-sheet, .vote-grid, .sheet-budget > div,
.official-checklist, .learning-gate-card, .candidate-section-head {
  background: rgba(255,255,255,.045) !important;
  color: var(--text) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius-app) !important;
  box-shadow: none !important;
}
.stat-card small, .summary-card small, .wallet-card small, .metric small,
.stat-card span, .summary-card span, .wallet-card span,
.label, .muted, .sub, .caption, .mini, .card small {
  color: var(--muted) !important;
  letter-spacing: .06em;
  font-size: 11px !important;
  font-weight: 500 !important;
}
.stat-card b, .summary-card b, .wallet-card b, .metric b,
.big-number, .wallet-hero .amount, .stat-value {
  color: var(--text) !important;
  font-size: clamp(28px, 7vw, 34px) !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
  font-variant-numeric: tabular-nums;
}
.is-hit, .hit, .plus, .positive, .text-plus,
.summary-card.is-hit b, .wallet-card.is-plus b { color: var(--accent) !important; }
.is-miss, .miss, .minus, .negative, .text-minus,
.summary-card.is-miss b, .wallet-card.is-minus b,
.loss, .danger { color: var(--danger) !important; }
.is-warn, .warn, .pending, .badge-pending { color: var(--warn) !important; }
.badge, .grade-badge, .status-badge, .section-chip {
  border-radius: 999px !important;
  border: 1px solid var(--line) !important;
  background: rgba(255,255,255,.07) !important;
  color: var(--text) !important;
  box-shadow: none !important;
  letter-spacing: 0 !important;
}
.badge-skipped, .is-skipped { color: var(--warn) !important; background: rgba(255,180,84,.14) !important; }
.badge-hit, .is-hit { color: var(--accent) !important; background: rgba(56,225,198,.14) !important; }
.badge-miss, .is-miss { color: var(--danger) !important; background: rgba(255,90,110,.14) !important; }
.candidate-section-head {
  border: 0 !important;
  border-left: 3px solid var(--accent) !important;
  background: rgba(56,225,198,.08) !important;
  padding: 10px 12px !important;
}
.candidate-section-head em,
.handoff-copy-head span:last-child,
.probability-band div:nth-child(2),
.probability-band p { display: none !important; }
.card { padding: 12px !important; overflow: hidden; }
.card .card-top, .card-top {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.deadline, .deadline-pill, .countdown, .time-left {
  margin-left: auto !important;
  background: rgba(255,180,84,.12) !important;
  border: 1px solid rgba(255,180,84,.35) !important;
  color: var(--warn) !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
  font-variant-numeric: tabular-nums;
}
.lane-row, .sheet-lanes { gap: 8px !important; margin: 8px 0 !important; }
.lane {
  min-height: 54px !important;
  border-radius: var(--radius-app) !important;
  box-shadow: none !important;
  font-variant-numeric: tabular-nums;
}
.handoff-copy-card {
  padding: 0 !important;
  overflow: hidden !important;
  background: rgba(56,225,198,.055) !important;
}
.handoff-copy-head {
  padding: 8px 10px !important;
  background: rgba(56,225,198,.08) !important;
  border-bottom: 1px solid var(--line) !important;
}
.handoff-copy-grid { gap: 6px !important; }
.handoff-copy-grid > * {
  background: rgba(255,255,255,.045) !important;
  border: 1px solid var(--line) !important;
  border-radius: 10px !important;
}
.btn, button, .vote-next-btn, a.vote-next-btn {
  border-radius: var(--radius-app) !important;
  letter-spacing: 0 !important;
  font-variant-numeric: tabular-nums;
}
#genBtn, .btn-go, .vote-next-btn.is-auto, a.vote-next-btn.is-auto {
  min-height: 58px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  text-align: center !important;
  background: linear-gradient(180deg, #19CABB, #0A9189) !important;
  color: #071421 !important;
  border: 1px solid rgba(56,225,198,.42) !important;
  box-shadow: var(--shadow-app) !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  text-indent: 0 !important;
}
#genBtn .boat-icon, #genBtn svg, #genBtn img, #genBtn .app-icon,
#genBtn .launch-icon, #genBtn .btn-icon, #genBtn .button-icon, #genBtn .icon, #genBtn .gen-icon { display: none !important; }
#genBtn b, .btn-go *, .vote-next-btn.is-auto * {
  color: inherit !important;
  margin: 0 !important;
  text-align: center !important;
  position: static !important;
  transform: none !important;
}
.btn-official, .btn-copy, .vote-next-btn.is-sub:nth-of-type(2) {
  background: rgba(255,255,255,.055) !important;
  color: var(--text) !important;
  border: 1px solid var(--line) !important;
}
.btn-bought[disabled], .disabled, button:disabled { opacity: .42 !important; filter: grayscale(.35); }
.sheet-panel { max-width: min(94vw, 460px) !important; }
.sheet-body { background: var(--surface) !important; color: var(--text) !important; }
.vote-grid, .vote-row, .vote-head { background: rgba(255,255,255,.035) !important; color: var(--text) !important; }
.vote-mark {
  background: rgba(255,255,255,.055) !important;
  border: 1px solid var(--line) !important;
  color: var(--muted) !important;
}
.vote-mark.is-selected {
  background: rgba(255,90,110,.22) !important;
  border-color: var(--danger) !important;
  color: var(--text) !important;
}
.vote-odds { background: rgba(255,255,255,.05) !important; border-color: var(--line) !important; }
.sheet-budget, .sheet-budget > div { text-align: center !important; }
.reason-head {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: var(--text) !important;
}
.reason-head b { display: none !important; }
.reason-head::after {
  content: "▼";
  margin-left: auto;
  color: var(--accent);
  font-size: 13px;
}
.reason-card {
  background: rgba(255,255,255,.045) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius-app) !important;
  color: var(--text) !important;
}
.tabbar {
  background: rgba(14,21,38,.96) !important;
  border-top: 1px solid var(--line) !important;
  box-shadow: 0 -8px 24px rgba(0,0,0,.28) !important;
}
.tab { color: var(--muted) !important; }
.tab.is-active {
  color: var(--accent) !important;
  text-shadow: 0 0 14px rgba(56,225,198,.65) !important;
}
.tab.is-active::before {
  background: var(--accent) !important;
  box-shadow: 0 0 16px rgba(56,225,198,.7) !important;
}
input, textarea, select {
  background: rgba(255,255,255,.06) !important;
  border: 1px solid var(--line) !important;
  color: var(--text) !important;
  border-radius: var(--radius-app) !important;
}
input::placeholder, textarea::placeholder { color: var(--muted) !important; }
.wallet-entry-panel, .official-compare-panel { border-color: var(--line) !important; }
.wallet-entry-panel .danger, .wallet-entry-panel .btn-danger {
  color: var(--danger) !important;
  border-color: rgba(255,90,110,.38) !important;
}
#analysisList .analysis-result-row b em,
.analysis-result-row .is-hit, .analysis-result-row .badge-hit {
  background: rgba(56,225,198,.14) !important;
  color: var(--accent) !important;
  border-color: rgba(56,225,198,.38) !important;
}
#analysisList .analysis-result-row { border-left: 3px solid rgba(56,225,198,.7) !important; }
.summary-group-head, .learning-gate-head {
  min-height: 28px !important;
  margin-bottom: 10px !important;
}
.section-chip {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 28px !important;
  min-width: auto !important;
  padding: 0 10px !important;
  color: #fff !important;
  white-space: nowrap !important;
}
.section-chip-blue { background: rgba(33,114,221,.62) !important; }
.section-chip-green { background: rgba(11,166,143,.62) !important; }
.section-chip-orange { background: rgba(255,180,84,.52) !important; }
.learning-status-card, #analysisStatus > div { border-left: 3px solid var(--accent) !important; }
@media (max-width: 430px) {
  .views { padding: 10px 10px 82px !important; }
  .hero, .card, .summary-group, #loopPanel, .wallet-entry-panel { padding: 12px !important; }
  .stat-card b, .summary-card b, .wallet-card b, .metric b { font-size: 28px !important; }
  .candidate-actions, .actions { gap: 8px !important; }
  .btn-go, .vote-next-btn.is-auto, #genBtn { font-size: 22px !important; }
}
/* === Codex Dark Trading UI Final Pass END 20260704-220 === */
/* === Codex Dark Trading UI Rebuild 2 BEGIN 20260704-220 === */
html,
body {
  background: var(--bg) !important;
  color: var(--text) !important;
}

body,
.app,
.views {
  background:
    radial-gradient(circle at 50% -10%, rgba(56,225,198,.13), transparent 34%),
    linear-gradient(180deg, #0B1222 0%, var(--bg) 30%, #0A1020 100%) !important;
  color: var(--text) !important;
}

* {
  letter-spacing: 0;
}

.appbar {
  background: linear-gradient(180deg, #1268E5 0%, #0F3A86 70%, var(--bg) 100%) !important;
  border-bottom: 1px solid rgba(56,225,198,.55) !important;
  box-shadow: var(--shadow) !important;
}

.appbar::after {
  background: linear-gradient(90deg, transparent, var(--accent), transparent) !important;
}

.corp-pill,
#healthBadge {
  background: rgba(56,225,198,.12) !important;
  border: 1px solid rgba(56,225,198,.38) !important;
  border-radius: var(--radius) !important;
  color: var(--text) !important;
  box-shadow: none !important;
}

.hero,
.card,
.summary-group,
#loopPanel,
#walletAuditPanel,
.learning-gate,
.candidate-empty,
.market-note,
.compliance-note,
.startup-safety-strip,
.mini-panel,
.wallet-card-panel,
.candidate-section-head,
.wallet-entry-panel,
.official-compare-panel,
.wallet-sync-note,
.official-checklist,
.auth-strip,
.diagnostic-panel {
  background: linear-gradient(180deg, rgba(22,32,58,.98), rgba(14,21,38,.98)) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow) !important;
  color: var(--text) !important;
}

.hero,
.card {
  padding: 12px !important;
}

.hero h1,
.view-head h1,
.card h2,
.split-head h3,
.summary-group-head,
.learning-gate-head {
  color: var(--text) !important;
}

.hero p,
.view-head p,
.card p,
.mini-item p,
.subtle,
.status-line,
#statusLine {
  color: var(--muted) !important;
}

.stat-card,
.summary-card,
.wallet-card,
.handoff-copy-grid > *,
.sheet-budget > *,
.metric-card {
  background: rgba(255,255,255,.055) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius) !important;
  color: var(--text) !important;
  box-shadow: none !important;
}

.stat-card small,
.summary-card small,
.wallet-card small,
.handoff-copy-grid small,
.metric-label,
.sheet-budget small {
  color: var(--muted) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: .06em !important;
}

.stat-card b,
.summary-card b,
.wallet-card b,
.money,
.metric-value,
.odds-value,
.sheet-budget b {
  color: var(--text) !important;
  font-size: 28px !important;
  font-variant-numeric: tabular-nums !important;
  font-weight: 800 !important;
}

.positive,
.is-plus,
.hit,
.badge-hit,
.money.positive,
[class*="plus"] {
  color: var(--accent) !important;
}

.negative,
.is-minus,
.miss,
.badge-miss,
.money.negative,
[class*="danger"] {
  color: var(--danger) !important;
}

.badge-pending,
.is-warn,
.pending,
[class*="warn"] {
  color: var(--warn) !important;
}

.btn,
.btn-go,
.vote-next-btn,
#genBtn,
.tab,
button,
a {
  border-radius: var(--radius) !important;
}

.btn-go,
.candidate-actions .btn-go,
.vote-next-btn.is-auto,
a.vote-next-btn.is-auto,
#genBtn {
  align-items: center !important;
  background: linear-gradient(180deg, var(--accent) 0%, #13A999 100%) !important;
  border: 0 !important;
  box-shadow: var(--shadow) !important;
  color: #06131F !important;
  display: flex !important;
  font-weight: 900 !important;
  justify-content: center !important;
  text-align: center !important;
}

.btn-go,
.candidate-actions .btn-go,
.vote-next-btn.is-auto,
a.vote-next-btn.is-auto {
  font-size: 24px !important;
  line-height: 1 !important;
  min-height: 58px !important;
}

#genBtn {
  min-height: 58px !important;
  padding-left: 0 !important;
}

#genBtn b {
  font-size: 24px !important;
  font-weight: 900 !important;
  margin: auto !important;
}

.btn-go::before,
.vote-next-btn.is-auto::before,
a.vote-next-btn.is-auto::before,
#genBtn::before,
#genBtn .icon,
#genBtn .button-mark,
#genBtn .boat-mark,
#genBtn .gen-boat,
#genBtn svg {
  display: none !important;
}

.lane-row {
  gap: 8px !important;
}

.card .lane,
.sheet-lanes .lane {
  border-radius: var(--radius) !important;
  font-variant-numeric: tabular-nums !important;
  height: 52px !important;
  min-height: 52px !important;
  padding: 5px 4px !important;
}

.deadline,
.countdown,
.time-pill,
[class*="deadline"] {
  background: rgba(255,180,84,.14) !important;
  border: 1px solid rgba(255,180,84,.35) !important;
  color: var(--warn) !important;
  font-variant-numeric: tabular-nums !important;
}

.candidate-section-head {
  background: transparent !important;
  border: 0 !important;
  border-left: 3px solid var(--accent) !important;
  box-shadow: none !important;
  color: var(--text) !important;
  padding: 8px 10px !important;
}

.candidate-section-head em,
.candidate-section-head .chip {
  display: none !important;
}

.handoff-copy-card {
  background: rgba(56,225,198,.08) !important;
  border: 1px solid rgba(56,225,198,.22) !important;
  border-radius: var(--radius) !important;
  box-shadow: none !important;
}

.handoff-copy-head span:last-child,
.handoff-copy-head small {
  display: none !important;
}

.probability-band {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.probability-band div:nth-child(1),
.probability-band div:nth-child(2),
.probability-band p {
  display: none !important;
}

.metrics,
.metric-grid,
.sheet-budget {
  display: grid !important;
  gap: 8px !important;
}

.sheet-budget > * {
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.reason-head {
  align-items: center !important;
  background: rgba(255,255,255,.045) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius) !important;
  color: var(--text) !important;
  display: flex !important;
  justify-content: space-between !important;
  padding: 10px 12px !important;
}

.reason-head b {
  display: none !important;
}

.reason-head span {
  color: var(--text) !important;
}

.reason-head::after {
  color: var(--accent);
  content: "▼";
  font-weight: 900;
  margin-left: auto;
}

.spvote-guide {
  margin-inline: 0 !important;
  width: 100% !important;
}

.spvote-title {
  align-items: center !important;
  display: flex !important;
  width: 100% !important;
}

.spvote-title > span:first-child {
  display: none !important;
}

.spvote-title::before {
  color: var(--text);
  content: "公式入力";
  font-weight: 800;
}

.vote-odds {
  grid-template-columns: .68fr 1fr !important;
}

.vote-odds span:first-child {
  padding-inline: 8px !important;
}

.vote-next-btn.is-sub:nth-child(2),
.btn-copy {
  display: none !important;
}

.record-caution,
.wallet-entry-panel {
  display: none !important;
}

.tabbar {
  background: rgba(14,21,38,.95) !important;
  border-top: 1px solid var(--line) !important;
  box-shadow: 0 -8px 24px rgba(0,0,0,.24) !important;
}

.tab {
  background: transparent !important;
  color: var(--muted) !important;
}

.tab.is-active {
  box-shadow: inset 0 2px 0 var(--accent) !important;
  color: var(--accent) !important;
  text-shadow: 0 0 12px rgba(56,225,198,.65) !important;
}

.mini-item {
  background: rgba(255,255,255,.045) !important;
  border: 1px solid var(--line) !important;
  border-left: 3px solid var(--accent) !important;
  border-radius: var(--radius) !important;
  box-shadow: none !important;
  color: var(--text) !important;
}

#analysisStatus > div {
  background: rgba(255,255,255,.045) !important;
  border: 1px solid var(--line) !important;
  box-shadow: none !important;
  color: var(--text) !important;
}

.summary-group-head .section-chip,
.learning-gate-head .section-chip {
  color: #fff !important;
  white-space: nowrap !important;
  writing-mode: horizontal-tb !important;
}

@media (max-width: 430px) {
  .hero,
  .card {
    padding: 10px !important;
  }

  .summary-group-grid,
  #walletCards,
  .wallet-grid {
    gap: 8px !important;
  }

  .summary-card,
  .wallet-card,
  .stat-card {
    min-height: 82px !important;
  }

  .handoff-copy-grid > * {
    min-height: 58px !important;
  }
}
/* === Codex Dark Trading UI Rebuild 2 END 20260704-220 === */

/* Codex dark UI tokens 20260704-220 */
html,body{background:var(--bg)!important;color:var(--text)!important;font-variant-numeric:tabular-nums;}
body,.app,.views{background:linear-gradient(180deg,#101C35 0%,var(--bg) 42%,#09101F 100%)!important;color:var(--text)!important;}
.views{padding:8px 10px 72px!important;}
.appbar{background:linear-gradient(180deg,#1778EA 0%,#0F4FAD 48%,var(--bg) 100%)!important;border-bottom:1px solid var(--line)!important;box-shadow:var(--shadow-card)!important;}
.corp-pill{border:0!important;background:transparent!important;color:var(--text)!important;}
#healthBadge{background:rgba(56,225,198,.16)!important;border:1px solid rgba(56,225,198,.36)!important;color:var(--accent)!important;box-shadow:0 0 18px rgba(56,225,198,.22)!important;}
.tabbar{background:rgba(14,21,38,.96)!important;border-top:1px solid var(--line)!important;box-shadow:0 -8px 24px rgba(0,0,0,.28)!important;}
.tab{color:var(--muted)!important;}
.tab.is-active{color:var(--accent)!important;text-shadow:0 0 18px rgba(56,225,198,.58)!important;}
.hero,.view-head,.card,article.card,.summary-group,#summaryCards>*,#walletCards>*,.wallet-entry-panel,.loop-panel,#loopPanel,.wallet-audit-panel,#walletAuditPanel,.learning-gate,#learningGate,.strength-hero,.strength-rules,.help-card,.mini-item,.analysis-result-row,.bet-status-row,.candidate-empty,.handoff-copy-card,.sheet-panel,.vote-sheet,.reason-drawer,.spvote-guide,.official-tap-guide,.candidate-section-head,.market-note,.compliance-note,.wallet-sync-note,.purchase-window-panel,.compact-action-panel,.wallet-card,.stats-card,.summary-card,.race-row,.list-row{
  background:linear-gradient(180deg,var(--surface),#10182D)!important;
  color:var(--text)!important;
  border:1px solid var(--line)!important;
  border-radius:var(--radius-card)!important;
  box-shadow:var(--shadow-card)!important;
}
.summary-group,.wallet-audit-panel,#walletAuditPanel,.learning-gate,#learningGate,.candidate-section-head{box-shadow:none!important;}
.hero{padding:12px!important;margin:8px 0 10px!important;background:linear-gradient(180deg,var(--surface2),var(--surface))!important;}
.hero h1,.view-head h1{display:none!important;}
.hero p,.view-head p,.market-note,.compliance-note,.wallet-sync-note{display:none!important;}
.stat,.metric,.summary-card,.wallet-card,.tile,.summary-tile,input,textarea,select,.handoff-copy-grid>*,.summary-group-grid>div,#walletCards>div,#summaryCards .summary-card{
  background:var(--surface2)!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  color:var(--text)!important;
  box-shadow:none!important;
}
small,.label,.metric label,.summary-card label,.wallet-card label,.stat label,.summary-tile label,.mini-label,.kpi-label{color:var(--muted)!important;font-size:11px!important;font-weight:500!important;letter-spacing:.06em!important;}
#summaryCards strong,#walletCards strong,.value,.amount,.metric strong,.summary-card b,.wallet-card b,.summary-tile b,.stat b{color:var(--text)!important;font-size:clamp(24px,7vw,34px)!important;line-height:1.05!important;font-weight:800!important;font-variant-numeric:tabular-nums!important;}
.positive,.plus,.is-plus,.hit,.is-hit,.badge-hit,.is-win{color:var(--accent)!important;}
.negative,.minus,.is-minus,.miss,.is-miss,.badge-miss,.danger{color:var(--danger)!important;}
.pending,.is-pending,.warn,.is-warn,.badge-pending,.confirm{color:var(--warn)!important;}
.badge,.pill,.grade-badge,.section-chip,.status-pill{border-radius:999px!important;border:1px solid var(--line)!important;background:rgba(255,255,255,.06)!important;color:var(--text)!important;box-shadow:none!important;}
.section-chip{writing-mode:horizontal-tb!important;color:#fff!important;background:linear-gradient(135deg,#1660C8,#0B8FA8)!important;min-width:auto!important;height:auto!important;padding:7px 10px!important;}
#genBtn{height:56px!important;min-height:56px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:0!important;font-size:22px!important;font-weight:800!important;background:linear-gradient(180deg,#1778EA,#0C4FAE)!important;color:#fff!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:12px!important;box-shadow:var(--shadow-card)!important;}
#genBtn svg,#genBtn img,#genBtn .gen-icon,#genBtn .button-icon{display:none!important;}
#profitFilter,.profit-filter{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:8px!important;margin:8px 0 10px!important;}
#profitFilter button,.profit-filter button{border-radius:10px!important;background:var(--surface2)!important;border:1px solid var(--line)!important;color:var(--text)!important;box-shadow:none!important;}
#profitFilter button.is-active,.profit-filter button.is-active{background:linear-gradient(180deg,var(--accent),#139D8C)!important;color:#07131F!important;}
article.card{padding:12px!important;margin:10px 0 14px!important;background:linear-gradient(180deg,var(--surface),#111B31)!important;border:1px solid var(--line)!important;border-radius:14px!important;box-shadow:var(--shadow-card)!important;}
.card-top,.candidate-flow-panel,.actions,.candidate-actions{gap:8px!important;}
.deadline,.deadline-pill,.time-pill{background:rgba(255,180,84,.12)!important;border:1px solid rgba(255,180,84,.35)!important;color:var(--warn)!important;font-weight:800!important;font-variant-numeric:tabular-nums!important;}
.lane-row{gap:8px!important;margin:8px 0!important;}
.lane{border-radius:12px!important;min-height:58px!important;padding:8px!important;box-shadow:none!important;}
.handoff-copy-card{padding:8px 10px!important;background:rgba(56,225,198,.08)!important;border-color:rgba(56,225,198,.24)!important;}
.handoff-copy-head span:last-child,.candidate-section-head em,.reason-head b,.probability-band>div:nth-child(1),.probability-band>div:nth-child(2),.spvote-title span:first-child,.record-caution,.sheet-record-caution,.wallet-entry-panel{display:none!important;}
.btn,.vote-next-btn,.btn-go,.candidate-actions .btn,.vote-next-actions .vote-next-btn{display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;border-radius:12px!important;min-height:48px!important;font-weight:800!important;box-shadow:var(--shadow-card)!important;}
.btn-go,.vote-next-btn.is-auto,.candidate-actions .btn-go{background:linear-gradient(180deg,var(--accent),#0FA393)!important;color:#07131F!important;font-size:20px!important;}
.btn-official{background:linear-gradient(180deg,#0D4278,#092F55)!important;color:var(--text)!important;}
.btn[disabled],.is-disabled{opacity:.46!important;box-shadow:none!important;}
.probability-band{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;}
.metric-bar,.candidate-metrics,.sheet-budget{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important;text-align:center!important;}
.sheet-budget>*{text-align:center!important;}
.vote-odds{height:42px!important;min-height:42px!important;display:grid!important;grid-template-columns:1fr 1fr!important;align-items:center!important;background:var(--surface2)!important;color:var(--text)!important;}
.vote-grid{background:var(--surface)!important;border-color:var(--line)!important;}
.vote-row{background:transparent!important;border-color:var(--line)!important;}
.vote-mark{background:#111827!important;border:1px solid var(--line)!important;color:var(--text)!important;}
.vote-mark.is-selected{background:rgba(255,90,110,.16)!important;border-color:var(--danger)!important;color:var(--text)!important;}
.analysis-result-row em,.result-status-line em{color:var(--accent)!important;}
/* End Codex dark UI tokens 20260704-220 */

/* === CC UI fix 20260704-220（丸枠クリッピング・配色不整合の修正）START === */
/* 1) 予想タブ上部の統計ボード：白カード残骸をダークトークンへ */
.deadline-board,.home-race-brief{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:12px!important;padding:0!important;color:var(--text)!important;}
.deadline-board-head{gap:8px!important;border-radius:0!important;background:transparent!important;border:0!important;}
.deadline-board-head>div{background:var(--surface2)!important;border:1px solid var(--line)!important;border-radius:12px!important;box-shadow:none!important;}
.deadline-board-head span{color:var(--muted)!important;font-weight:600!important;}
.deadline-board-head b{color:var(--text)!important;font-variant-numeric:tabular-nums!important;}
.deadline-board-head em{color:var(--muted)!important;}
/* 締切詳細（開閉パネル）もダークへ */
.deadline-section,.deadline-more,.deadline-final-grid section{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:12px!important;color:var(--text)!important;}
.deadline-section-title{background:rgba(23,120,234,.22)!important;color:var(--text)!important;border-radius:0!important;}
.deadline-section-title em{background:rgba(255,255,255,.08)!important;border:1px solid var(--line)!important;color:var(--muted)!important;}
.deadline-list,.deadline-list.compact{background:transparent!important;border-radius:0!important;}
.deadline-row{background:transparent!important;border-top:1px solid var(--line)!important;color:var(--text)!important;border-radius:0!important;}
.deadline-row.is-empty b{background:rgba(255,255,255,.06)!important;color:var(--muted)!important;}
.deadline-more summary{color:var(--text)!important;border-radius:0!important;background:transparent!important;border:0!important;}
.deadline-more summary b{background:var(--surface2)!important;border:1px solid var(--line)!important;color:var(--muted)!important;}
/* 2) 1点予算パネルの明色残骸 */
.stake-card{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:12px!important;box-shadow:none!important;color:var(--text)!important;}
.stake-card label,.stake-card span,.stake-card small{color:var(--muted)!important;}
/* 3) 分析タブ：数値が暗色文字×暗背景で読めない問題 */
.summary-group-grid>div span{color:var(--muted)!important;font-size:11px!important;font-weight:600!important;letter-spacing:.04em!important;}
.summary-group-grid>div b{color:var(--text)!important;font-size:clamp(22px,6.4vw,30px)!important;font-weight:800!important;line-height:1.1!important;font-variant-numeric:tabular-nums!important;}
.summary-group-grid>div em{color:var(--muted)!important;font-style:normal!important;}
.summary-group-grid>div b.plus{color:var(--accent)!important;}
.summary-group-grid>div b.minus{color:var(--danger)!important;}
#learningGate b,#learningGate strong{color:var(--text)!important;}
#learningGate span,#learningGate em{color:var(--muted)!important;}
#learningGate .section-chip,#summaryCards .section-chip{color:#fff!important;}
/* 4) 候補カード内の白ボックス残骸（予想確率・損益分岐・上回り） */
.opportunity-grid>div{background:var(--surface2)!important;border:1px solid var(--line)!important;border-radius:12px!important;box-shadow:none!important;}
.opportunity-grid>div span{color:var(--muted)!important;}
.opportunity-grid>div b{color:var(--text)!important;font-variant-numeric:tabular-nums!important;}
.opportunity-grid>div.plus b{color:var(--accent)!important;}
.opportunity-grid>div.minus b{color:var(--danger)!important;}
/* 5) 提案モードバッジ（本命帯／高配当帯） */
.mode-badge{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:999px!important;font-size:11px;font-weight:800;letter-spacing:.02em;vertical-align:middle;}
.mode-badge.mode-honmei{background:rgba(56,225,198,.14)!important;border:1px solid rgba(56,225,198,.38)!important;color:var(--accent)!important;}
.mode-badge.mode-profit{background:rgba(255,180,84,.12)!important;border:1px solid rgba(255,180,84,.35)!important;color:var(--warn)!important;}
/* === CC UI fix 20260704-220 END === */
/* 20260704 C-2: BOAT RACE official voting grid trace */
.vote-sheet .vote-grid,
.spvote-guide .vote-grid {
  --bc-grid-line: rgba(17, 93, 171, .13);
}

.vote-sheet .vote-grid .vote-row,
.spvote-guide .vote-grid .vote-row {
  min-height: 64px;
}

.vote-sheet .vote-grid .vote-row:not(.vote-head),
.spvote-guide .vote-grid .vote-row:not(.vote-head) {
  align-items: stretch;
}

.vote-sheet .vote-grid .vote-mark,
.spvote-guide .vote-grid .vote-mark {
  width: clamp(42px, 11.4vw, 54px);
  height: clamp(50px, 13vw, 62px);
  min-width: 42px;
  min-height: 50px;
  border-radius: 8px;
  border: 2px solid #d7e0ea;
  background: #f8fbff;
  color: #2474cf;
  font-size: clamp(28px, 8.4vw, 36px);
  line-height: 1;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .06), 0 1px 2px rgba(12, 32, 64, .12);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.vote-sheet .vote-grid .vote-mark.is-selected,
.spvote-guide .vote-grid .vote-mark.is-selected {
  background: rgba(255, 90, 110, .14);
  border-color: #ff5a6e;
  color: #1976d2;
  box-shadow: 0 0 0 2px rgba(255, 90, 110, .18), inset 0 -2px 0 rgba(255, 90, 110, .14);
}

.vote-sheet .vote-grid .vote-cell,
.vote-sheet .vote-grid .vote-pos,
.spvote-guide .vote-grid .vote-cell,
.spvote-guide .vote-grid .vote-pos {
  display: flex;
  align-items: center;
  justify-content: center;
}

.vote-sheet .vote-grid .vote-fl,
.spvote-guide .vote-grid .vote-fl {
  min-width: 32px;
  text-align: center;
  font-size: 16px;
  font-weight: 800;
  color: #17213a;
  font-variant-numeric: tabular-nums;
}

.vote-sheet .vote-grid .tap-badge,
.vote-sheet .vote-grid .vote-step-badge,
.spvote-guide .vote-grid .tap-badge,
.spvote-guide .vote-grid .vote-step-badge {
  min-width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #ffd314;
  color: #101827;
  border: 1px solid rgba(0, 0, 0, .16);
  font-size: 12px;
  font-weight: 900;
  box-shadow: 0 2px 5px rgba(0, 0, 0, .18);
}

@media (max-width: 430px) {
  .vote-sheet .vote-grid .vote-row,
  .spvote-guide .vote-grid .vote-row {
    min-height: 60px;
  }

  .vote-sheet .vote-grid .vote-mark,
  .spvote-guide .vote-grid .vote-mark {
    width: clamp(40px, 10.8vw, 48px);
    height: clamp(48px, 12.4vw, 56px);
    font-size: clamp(27px, 8vw, 34px);
  }
}

/* 20260704 C-2 managed start */
.vote-sheet .vote-grid,
.spvote-guide .vote-grid {
  --bc-grid-line: rgba(17, 93, 171, .13);
}

.vote-sheet .vote-grid .vote-row,
.spvote-guide .vote-grid .vote-row {
  min-height: 64px;
}

.vote-sheet .vote-grid .vote-row:not(.vote-head),
.spvote-guide .vote-grid .vote-row:not(.vote-head) {
  align-items: stretch;
}

.vote-sheet .vote-grid .vote-mark,
.spvote-guide .vote-grid .vote-mark {
  width: clamp(42px, 11.4vw, 54px);
  height: clamp(50px, 13vw, 62px);
  min-width: 42px;
  min-height: 50px;
  border-radius: 8px;
  border: 2px solid #d7e0ea;
  background: #f8fbff;
  color: #2474cf;
  font-size: clamp(28px, 8.4vw, 36px);
  line-height: 1;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
  box-shadow: inset 0 -2px 0 rgba(0,0,0,.06), 0 1px 2px rgba(12,32,64,.12);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.vote-sheet .vote-grid .vote-mark.is-selected,
.spvote-guide .vote-grid .vote-mark.is-selected {
  background: rgba(255,90,110,.14);
  border-color: #ff5a6e;
  color: #1976d2;
  box-shadow: 0 0 0 2px rgba(255,90,110,.18), inset 0 -2px 0 rgba(255,90,110,.14);
}

.vote-sheet .vote-grid .vote-cell,
.vote-sheet .vote-grid .vote-pos,
.spvote-guide .vote-grid .vote-cell,
.spvote-guide .vote-grid .vote-pos {
  display: flex;
  align-items: center;
  justify-content: center;
}

.vote-sheet .vote-grid .vote-fl,
.spvote-guide .vote-grid .vote-fl {
  min-width: 32px;
  text-align: center;
  font-size: 16px;
  font-weight: 800;
  color: #17213a;
  font-variant-numeric: tabular-nums;
}

.vote-sheet .vote-grid .tap-badge,
.vote-sheet .vote-grid .vote-step-badge,
.spvote-guide .vote-grid .tap-badge,
.spvote-guide .vote-grid .vote-step-badge {
  min-width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #ffd314;
  color: #101827;
  border: 1px solid rgba(0,0,0,.16);
  font-size: 12px;
  font-weight: 900;
  box-shadow: 0 2px 5px rgba(0,0,0,.18);
}

@media (max-width: 430px) {
  .vote-sheet .vote-grid .vote-row,
  .spvote-guide .vote-grid .vote-row {
    min-height: 60px;
  }

  .vote-sheet .vote-grid .vote-mark,
  .spvote-guide .vote-grid .vote-mark {
    width: clamp(40px, 10.8vw, 48px);
    height: clamp(48px, 12.4vw, 56px);
    font-size: clamp(27px, 8vw, 34px);
  }
}
/* 20260704 C-2 managed end */

/* 20260705-220 official vote grid alignment start */
.vote-grid,
.vote-sheet .vote-grid,
.spvote-guide .vote-grid,
.official-grid {
  --official-lane: 38px;
  --official-racer: minmax(112px, 1fr);
  --official-fl: 34px;
  --official-mark: 44px;
  display: grid;
  grid-template-columns: var(--official-lane) var(--official-racer) var(--official-fl) repeat(3, var(--official-mark));
  align-items: stretch;
  width: 100%;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  background: rgba(255,255,255,.03);
  box-shadow: 0 8px 24px rgba(0,0,0,.35);
}
.vote-grid .vote-head,
.vote-grid .vote-row,
.vote-grid .vote-cell {
  min-height: 66px;
}
.vote-grid .vote-head,
.vote-grid .vote-row {
  display: contents;
}
.vote-grid .vote-row > *,
.vote-grid .vote-head > *,
.vote-grid > * {
  border-color: rgba(255,255,255,.08) !important;
}
.vote-grid .vote-lane,
.vote-grid .lane-number,
.vote-grid .frame-no {
  display: grid;
  place-items: center;
  min-height: 66px;
  font-size: 24px;
  font-weight: 900;
}
.vote-grid .vote-racer,
.vote-grid .racer-name {
  min-height: 66px;
  padding: 8px 8px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  line-height: 1.15;
}
.vote-grid .vote-racer small,
.vote-grid .racer-name small,
.vote-grid .racer-meta {
  color: var(--muted, #8FA0C4);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0;
}
.vote-grid .vote-fl,
.vote-grid .fl-cell {
  min-height: 66px;
  display: grid;
  place-items: center;
  font-size: 16px;
  font-weight: 800;
  color: var(--text, #EAF0FF);
}
.vote-grid .vote-mark,
.vote-grid .mark-cell {
  position: relative;
  width: 40px;
  height: 54px;
  margin: auto;
  display: grid;
  place-items: center;
  border-radius: 8px;
  border: 2px solid rgba(255,255,255,.15);
  background: rgba(255,255,255,.92);
  color: #1474d4;
  font-size: 30px;
  line-height: 1;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 2px 6px rgba(0,0,0,.14);
}
.vote-grid .vote-mark.is-selected,
.vote-grid .mark-cell.is-selected,
.vote-grid .vote-mark.selected,
.vote-grid .mark-cell.selected {
  background: #ffe4eb;
  border-color: #ff5a6e;
  color: #1474d4;
  box-shadow: 0 0 0 2px rgba(255,90,110,.22), inset 0 1px 0 rgba(255,255,255,.85);
}
.vote-grid .vote-mark .order-badge,
.vote-grid .mark-cell .order-badge,
.vote-grid .vote-badge {
  position: absolute;
  z-index: 2;
  top: -12px;
  right: -10px;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #ffd400;
  color: #0e1526;
  font-size: 12px;
  font-weight: 900;
  box-shadow: 0 2px 6px rgba(0,0,0,.25);
}
.vote-grid .vote-head > *,
.vote-grid .grid-head {
  min-height: 32px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.08);
  color: var(--muted, #8FA0C4);
  font-size: 11px;
  font-weight: 800;
}
@media (max-width: 430px) {
  .vote-grid,
  .vote-sheet .vote-grid,
  .spvote-guide .vote-grid,
  .official-grid {
    --official-lane: 34px;
    --official-racer: minmax(104px, 1fr);
    --official-fl: 30px;
    --official-mark: 40px;
  }
  .vote-grid .vote-head,
  .vote-grid .vote-row,
  .vote-grid .vote-cell,
  .vote-grid .vote-lane,
  .vote-grid .lane-number,
  .vote-grid .frame-no,
  .vote-grid .vote-fl,
  .vote-grid .fl-cell {
    min-height: 64px;
  }
  .vote-grid .vote-mark,
  .vote-grid .mark-cell {
    width: 36px;
    height: 52px;
    font-size: 29px;
    border-radius: 8px;
  }
  .vote-grid .vote-racer,
  .vote-grid .racer-name {
    min-height: 64px;
    padding: 7px 6px;
  }
}
/* 20260705-220 official vote grid alignment end */

/* Codex official-grid-parity START v20260705-220 */
.vote-grid.official-grid-parity,
.vote-sheet .vote-grid,
.spvote-guide .vote-grid {
  --boat-grid-frame: #d8e4ef;
  --boat-grid-head: #eef2f5;
  --boat-grid-row: #ffffff;
  --boat-grid-row-alt: #f7fafc;
  --boat-grid-mark: #ffffff;
  --boat-grid-blue: #1472d0;
  overflow: hidden;
  border: 1px solid var(--boat-grid-frame) !important;
  border-radius: 0 !important;
  background: var(--boat-grid-row) !important;
  box-shadow: none !important;
}

.vote-grid.official-grid-parity .vote-head,
.vote-grid.official-grid-parity .vote-row,
.vote-sheet .vote-grid .vote-head,
.vote-sheet .vote-grid .vote-row,
.spvote-guide .vote-grid .vote-head,
.spvote-guide .vote-grid .vote-row {
  display: grid !important;
  grid-template-columns: 38px minmax(126px, 1fr) 34px repeat(3, 43px) !important;
  align-items: stretch !important;
  column-gap: 0 !important;
}

.vote-grid.official-grid-parity .vote-head,
.vote-sheet .vote-grid .vote-head,
.spvote-guide .vote-grid .vote-head {
  min-height: 38px !important;
  background: var(--boat-grid-head) !important;
  color: #41546b !important;
  font-size: 11px !important;
  font-weight: 800 !important;
}

.vote-grid.official-grid-parity .vote-row,
.vote-sheet .vote-grid .vote-row,
.spvote-guide .vote-grid .vote-row {
  min-height: 66px !important;
  background: var(--boat-grid-row) !important;
  border-bottom: 1px solid #e4ebf2 !important;
}

.vote-grid.official-grid-parity .vote-row:nth-child(odd),
.vote-sheet .vote-grid .vote-row:nth-child(odd),
.spvote-guide .vote-grid .vote-row:nth-child(odd) {
  background: var(--boat-grid-row-alt) !important;
}

.vote-grid.official-grid-parity .vote-head > *,
.vote-grid.official-grid-parity .vote-row > *,
.vote-sheet .vote-grid .vote-head > *,
.vote-sheet .vote-grid .vote-row > *,
.spvote-guide .vote-grid .vote-head > *,
.spvote-guide .vote-grid .vote-row > * {
  min-width: 0 !important;
  border-right: 1px solid #e4ebf2 !important;
}

.vote-grid.official-grid-parity .vote-head > *:last-child,
.vote-grid.official-grid-parity .vote-row > *:last-child,
.vote-sheet .vote-grid .vote-head > *:last-child,
.vote-sheet .vote-grid .vote-row > *:last-child,
.spvote-guide .vote-grid .vote-head > *:last-child,
.spvote-guide .vote-grid .vote-row > *:last-child {
  border-right: 0 !important;
}

.vote-grid.official-grid-parity .vote-racer,
.vote-sheet .vote-grid .vote-racer,
.spvote-guide .vote-grid .vote-racer {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 3px !important;
  padding: 6px 8px !important;
  color: #07213d !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.12 !important;
}

.vote-grid.official-grid-parity .vote-racer small,
.vote-grid.official-grid-parity .vote-racer .racer-meta,
.vote-sheet .vote-grid .vote-racer small,
.vote-sheet .vote-grid .vote-racer .racer-meta,
.spvote-guide .vote-grid .vote-racer small,
.spvote-guide .vote-grid .vote-racer .racer-meta {
  color: #6d7f92 !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
}

.vote-grid.official-grid-parity .vote-fl,
.vote-sheet .vote-grid .vote-fl,
.spvote-guide .vote-grid .vote-fl {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #2b3440 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.vote-grid.official-grid-parity .vote-mark,
.vote-sheet .vote-grid .vote-mark,
.spvote-guide .vote-grid .vote-mark {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  min-width: 38px !important;
  height: 48px !important;
  margin: 8px auto !important;
  border: 2px solid #dfe6ee !important;
  border-radius: 7px !important;
  background: var(--boat-grid-mark) !important;
  color: var(--boat-grid-blue) !important;
  font-size: 30px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  font-variant-numeric: tabular-nums !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .08) !important;
}

.vote-grid.official-grid-parity .vote-mark.is-selected,
.vote-sheet .vote-grid .vote-mark.is-selected,
.spvote-guide .vote-grid .vote-mark.is-selected {
  border-color: #ff6f8d !important;
  background: #ffe5ec !important;
  color: var(--boat-grid-blue) !important;
  box-shadow: 0 0 0 2px rgba(255, 111, 141, .18) !important;
}

.vote-grid.official-grid-parity .vote-mark .tap-badge,
.vote-sheet .vote-grid .vote-mark .tap-badge,
.spvote-guide .vote-grid .vote-mark .tap-badge,
.vote-grid.official-grid-parity .tap-badge,
.vote-sheet .vote-grid .tap-badge,
.spvote-guide .vote-grid .tap-badge {
  background: #ffd91a !important;
  color: #101522 !important;
  border: 1px solid rgba(0, 0, 0, .18) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

.vote-grid.official-grid-parity [class*="lane-"]:first-child,
.vote-sheet .vote-grid [class*="lane-"]:first-child,
.spvote-guide .vote-grid [class*="lane-"]:first-child {
  font-size: 22px !important;
  font-weight: 900 !important;
  font-variant-numeric: tabular-nums !important;
}

@media (max-width: 420px) {
  .vote-grid.official-grid-parity .vote-head,
  .vote-grid.official-grid-parity .vote-row,
  .vote-sheet .vote-grid .vote-head,
  .vote-sheet .vote-grid .vote-row,
  .spvote-guide .vote-grid .vote-head,
  .spvote-guide .vote-grid .vote-row {
    grid-template-columns: 34px minmax(112px, 1fr) 30px repeat(3, 38px) !important;
  }
  .vote-grid.official-grid-parity .vote-row,
  .vote-sheet .vote-grid .vote-row,
  .spvote-guide .vote-grid .vote-row {
    min-height: 64px !important;
  }
  .vote-grid.official-grid-parity .vote-racer,
  .vote-sheet .vote-grid .vote-racer,
  .spvote-guide .vote-grid .vote-racer {
    padding: 5px 6px !important;
    font-size: 14px !important;
  }
  .vote-grid.official-grid-parity .vote-mark,
  .vote-sheet .vote-grid .vote-mark,
  .spvote-guide .vote-grid .vote-mark {
    width: 34px !important;
    min-width: 34px !important;
    height: 44px !important;
    margin: 8px auto !important;
    font-size: 28px !important;
    border-radius: 7px !important;
  }
}
/* Codex official-grid-parity END v20260705-220 */

/* Codex C-2 official vote grid parity START v20260705-221 */
.vote-sheet .vote-grid,
.spvote-guide .vote-grid,
.vote-grid.official-grid-parity {
  display: block !important;
  border: 1px solid #cfd9e4 !important;
  border-radius: 6px !important;
  overflow: hidden !important;
}

.vote-sheet .vote-grid .vote-head,
.vote-sheet .vote-grid .vote-row,
.spvote-guide .vote-grid .vote-head,
.spvote-guide .vote-grid .vote-row,
.vote-grid.official-grid-parity .vote-head,
.vote-grid.official-grid-parity .vote-row {
  grid-template-columns: 34px minmax(110px, 1fr) 30px repeat(3, 42px) !important;
}

.vote-sheet .vote-grid .vote-row,
.spvote-guide .vote-grid .vote-row,
.vote-grid.official-grid-parity .vote-row {
  min-height: 70px !important;
}

.vote-sheet .vote-grid .vote-racer,
.spvote-guide .vote-grid .vote-racer,
.vote-grid.official-grid-parity .vote-racer {
  padding: 6px 7px !important;
  gap: 4px !important;
}

.vote-sheet .vote-grid .vote-racer b,
.spvote-guide .vote-grid .vote-racer b,
.vote-grid.official-grid-parity .vote-racer b {
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1.12 !important;
}

.vote-sheet .vote-grid .racer-meta,
.spvote-guide .vote-grid .racer-meta,
.vote-grid.official-grid-parity .racer-meta {
  min-height: 13px !important;
  color: #5f6f81 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

.vote-sheet .vote-grid .vote-fl,
.spvote-guide .vote-grid .vote-fl,
.vote-grid.official-grid-parity .vote-fl {
  min-height: 70px !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

.vote-sheet .vote-grid .vote-mark,
.spvote-guide .vote-grid .vote-mark,
.vote-grid.official-grid-parity .vote-mark {
  width: 38px !important;
  min-width: 38px !important;
  height: 50px !important;
  margin: 9px auto !important;
  border-radius: 7px !important;
  font-size: 32px !important;
}

.vote-sheet .vote-grid .vote-mark b,
.spvote-guide .vote-grid .vote-mark b,
.vote-grid.official-grid-parity .vote-mark b {
  font-size: 32px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
}

.vote-sheet .vote-grid .vote-mark em,
.spvote-guide .vote-grid .vote-mark em,
.vote-grid.official-grid-parity .vote-mark em {
  left: -8px !important;
  top: -8px !important;
  width: 21px !important;
  height: 21px !important;
  font-size: 12px !important;
  line-height: 1 !important;
}

@media (max-width: 390px) {
  .vote-sheet .vote-grid .vote-head,
  .vote-sheet .vote-grid .vote-row,
  .spvote-guide .vote-grid .vote-head,
  .spvote-guide .vote-grid .vote-row,
  .vote-grid.official-grid-parity .vote-head,
  .vote-grid.official-grid-parity .vote-row {
    grid-template-columns: 32px minmax(98px, 1fr) 28px repeat(3, 40px) !important;
  }
  .vote-sheet .vote-grid .vote-mark,
  .spvote-guide .vote-grid .vote-mark,
  .vote-grid.official-grid-parity .vote-mark {
    width: 36px !important;
    min-width: 36px !important;
    height: 48px !important;
    font-size: 31px !important;
  }
  .vote-sheet .vote-grid .vote-mark b,
  .spvote-guide .vote-grid .vote-mark b,
  .vote-grid.official-grid-parity .vote-mark b {
    font-size: 31px !important;
  }
}

@media (max-width: 360px) {
  .vote-sheet .vote-grid .vote-head,
  .vote-sheet .vote-grid .vote-row,
  .spvote-guide .vote-grid .vote-head,
  .spvote-guide .vote-grid .vote-row,
  .vote-grid.official-grid-parity .vote-head,
  .vote-grid.official-grid-parity .vote-row {
    grid-template-columns: 30px minmax(88px, 1fr) 26px repeat(3, 36px) !important;
  }
  .vote-sheet .vote-grid .vote-mark,
  .spvote-guide .vote-grid .vote-mark,
  .vote-grid.official-grid-parity .vote-mark {
    width: 33px !important;
    min-width: 33px !important;
    height: 44px !important;
    font-size: 28px !important;
  }
  .vote-sheet .vote-grid .vote-mark b,
  .spvote-guide .vote-grid .vote-mark b,
  .vote-grid.official-grid-parity .vote-mark b {
    font-size: 28px !important;
  }
}
/* Codex C-2 official vote grid parity END v20260705-221 */

/* Codex race live view START v20260705-223 */
#view-live{padding-bottom:10px}
.race-live-mode{display:inline-grid;grid-template-columns:1fr 1fr;gap:4px;margin:0 0 7px;padding:3px;border:1px solid rgba(56,225,198,.26);border-radius:999px;background:rgba(14,21,38,.54)}
.race-live-mode button{min-width:58px;height:30px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:12px;font-weight:950;touch-action:manipulation}
.race-live-mode button.is-active{background:rgba(56,225,198,.18);color:var(--accent);box-shadow:inset 0 0 0 1px rgba(56,225,198,.28)}
.race-live-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:0 0 7px}
.race-live-stats>div{min-height:48px;padding:6px 5px;border:1px solid var(--line)!important;border-radius:7px;background:rgba(24,36,64,.92)!important;box-shadow:none!important;color:var(--text)!important}
.race-live-stats span{display:block;font-size:9px;font-weight:900;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.race-live-stats b{display:block;font-size:18px;line-height:1.1;color:var(--accent);font-weight:950}
.race-live-stats em{display:block;font-style:normal;font-size:8px;color:var(--muted);font-weight:800;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.race-live-controls{display:flex;justify-content:flex-end;gap:7px;margin:0 0 9px}
.race-live-controls .btn{width:auto!important;min-width:86px!important;min-height:36px!important;padding:0 13px!important;border-radius:8px!important}
.race-live-list{display:grid;grid-template-columns:1fr;gap:10px}
.race-live-card{background:linear-gradient(180deg,rgba(29,42,74,.98),rgba(18,28,52,.98))!important;border:1px solid var(--line)!important;border-left:4px solid rgba(56,225,198,.72)!important;border-radius:8px!important;box-shadow:var(--shadow-ui)!important;color:var(--text)!important;overflow:hidden}
.race-live-card.is-hot{border-left-color:#ff5c7c!important}
.race-live-card.is-soon{border-left-color:#ffb454!important}
.race-live-card.is-closed{opacity:.72;border-left-color:#6b7487!important}
.race-live-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;padding:10px 11px 8px}
.race-live-time{text-align:right;display:grid;justify-items:end;gap:5px}
.race-live-time span{display:block;font-size:13px;font-weight:950;color:var(--accent)}
.race-live-meta b{display:block;font-size:18px;line-height:1.2;font-weight:950;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.race-live-meta em{display:block;font-style:normal;font-size:11px;font-weight:850;color:var(--muted)}
.race-live-priority{display:inline-flex!important;align-items:center;justify-content:center;height:25px;padding:0 8px;border-radius:999px;background:rgba(255,92,124,.18);border:1px solid rgba(255,92,124,.42);color:#ffd6df!important;font-size:10px!important;white-space:nowrap}
.race-live-thumb{width:100%;min-height:176px;border:0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,rgba(9,43,80,.96),rgba(13,88,140,.86));color:#fff;display:grid;place-items:center;align-content:center;gap:6px;cursor:pointer;text-align:center;touch-action:manipulation}
.race-live-thumb[disabled]{cursor:not-allowed;opacity:.6}
.race-live-play{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#e91f45;color:#fff;font-size:24px;font-weight:950;box-shadow:0 8px 24px rgba(0,0,0,.28)}
.race-live-thumb b{font-size:20px;font-weight:950;letter-spacing:0}
.race-live-thumb em{font-size:12px;font-style:normal;font-weight:900;color:#dceeff}
.race-live-frame{aspect-ratio:16/9;background:#000}
.race-live-frame iframe{display:block;width:100%;height:100%;border:0}
.race-live-links{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:9px 10px}
.race-live-links span{font-size:11px;font-weight:850;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.race-live-links a{min-height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0 9px;border-radius:7px;background:rgba(56,225,198,.12);border:1px solid rgba(56,225,198,.24);color:var(--accent);font-size:11px;font-weight:950;text-decoration:none;white-space:nowrap}
.race-live-card.is-playing .race-live-thumb{display:none}
@media(max-width:430px){
  .race-live-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
  .race-live-stats>div{min-height:46px}
  .race-live-thumb{min-height:154px}
  .race-live-links{grid-template-columns:1fr 1fr}
  .race-live-links span{grid-column:1 / -1}
  .tab .tab-ico{font-size:16px}
  .tab .tab-label{font-size:9px}
}
/* Codex race live view END v20260705-223 */

/* Codex proposal reason alignment START v20260705-224 */
article.card .reason-drawer:not(.sheet-reason-drawer) > .reason-head{
  justify-content:flex-end!important;
}
article.card .reason-drawer:not(.sheet-reason-drawer) > .reason-head span{
  margin-left:auto!important;
  text-align:right!important;
}
article.card .reason-drawer:not(.sheet-reason-drawer) > .reason-head span::before,
article.card .reason-drawer:not(.sheet-reason-drawer) > .reason-head::after{
  content:none!important;
  display:none!important;
}
/* Codex proposal reason alignment END v20260705-224 */

/* Codex UI inspection priority fixes START v20260705-226 */
html,body{touch-action:manipulation}
button,a,[role="button"],input,select,textarea,summary{touch-action:manipulation}
.svg-defs{position:absolute;width:0;height:0;overflow:hidden}
.ui-icon{display:block;width:22px;height:22px;color:#1168d9;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.tab .tab-ico{display:grid!important;place-items:center;width:26px;height:24px;font-size:0!important;line-height:0!important;color:#1168d9!important}
.tab .tab-ico .ui-icon{width:22px;height:22px}
.tab.is-active .tab-ico .ui-icon{color:#1168d9;stroke-width:2.3}
.help-route span.route-ico{grid-row:1 / 3;display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:rgba(17,104,217,.08);border:1px solid rgba(17,104,217,.28);color:#1168d9;font-size:0!important}
.help-route span.route-ico .ui-icon{width:24px;height:24px;color:#1168d9}
button.is-busy{position:relative;pointer-events:none}
button.is-busy::after{content:"";display:inline-block;width:18px;height:4px;margin-left:7px;border:0;border-radius:999px;background:currentColor;opacity:.42;vertical-align:2px;animation:bc-shimmer 1.15s ease-in-out infinite}
.auto-refresh-indicator{display:flex;align-items:center;gap:8px;margin:8px 0;padding:8px 10px;border:1px solid rgba(56,225,198,.18);border-radius:8px;background:rgba(56,225,198,.08);color:var(--muted);font-size:11px;font-weight:850}
.auto-refresh-indicator::before,.loading-spin::before{content:"";width:20px;height:4px;border:0;border-radius:999px;background:#38e1c6;opacity:.42;animation:bc-shimmer 1.15s ease-in-out infinite}
.refresh-skeleton{position:relative;overflow:hidden;background:rgba(255,255,255,.06)!important}
.refresh-skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);animation:bc-shimmer 1.15s infinite}
@keyframes bc-shimmer{to{transform:translateX(100%)}}
/* Codex UI inspection priority fixes END v20260705-226 */

/* Codex uptime evidence strip START v20260705-229 */
.collect-status-strip{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 10px 0;padding:7px 10px;border:1px solid rgba(56,225,198,.14);border-radius:8px;background:rgba(12,21,39,.7);color:var(--muted);font-size:11px;font-weight:850}
.collect-status-strip span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.collect-status-strip b{color:var(--accent);font-size:11px;font-weight:950;white-space:nowrap}
.collect-status-strip.is-warn b{color:#ffcf74}
.collect-status-strip.is-ng b{color:#ff8ba0}
.candidate-db-updated{display:flex;align-items:center;justify-content:flex-end;margin:0 2px 7px;color:var(--muted);font-size:10px;font-weight:850}
/* Codex uptime evidence strip END v20260705-229 */

/* Codex wallet unreconciled guard START v20260705-236 */
.wallet-station.is-unverified{background:#3a2030;border-color:#ff8ba0}
.wallet-station.is-unverified .wallet-station-main,
.wallet-station.is-unverified .wallet-station-sub div{background:rgba(255,255,255,.1);border-color:rgba(255,139,160,.35);color:#fff}
.wallet-station.is-unverified .wallet-station-main em{background:#fff0f3;color:#b70f25}
.wallet-reconcile-jump{margin-top:7px;width:100%;min-height:34px;border:1px solid rgba(255,255,255,.38);border-radius:6px;background:#fff;color:#b70f25;font-size:12px;font-weight:950;touch-action:manipulation}
.wallet-reconcile-jump[hidden]{display:none!important}
.official-compare-panel.is-required{border-color:#ff8ba0!important;border-left:5px solid #ff4f70!important}
.official-compare-panel.is-attention{box-shadow:0 0 0 3px rgba(255,79,112,.32)!important}
.official-compare-panel.is-required h3{color:#ff8ba0!important}
.official-compare-panel.is-required .compare-guide{border-color:rgba(255,139,160,.44);background:rgba(255,79,112,.08)}
.official-compare-panel.is-required .compare-guide b{color:#ff8ba0}
.official-compare-panel.is-required .compare-guide span{color:#dce8f5}
.official-compare-panel.is-required .compare-guide em{color:#38e1c6}
.wallet-blocked-card{display:grid;gap:4px;margin:0 0 8px;padding:10px 11px;border:1px solid #ffb4c2;border-left:5px solid #ff4f70;border-radius:8px;background:#fff0f3;color:#092b50}
.wallet-blocked-card b{font-size:14px;font-weight:950;color:#b70f25}
.wallet-blocked-card span{font-size:12px;line-height:1.5;font-weight:850;color:#5a3540;overflow-wrap:anywhere}
.wallet-entry-panel.is-locked{opacity:.68}
.wallet-entry-panel.is-locked input,
.wallet-entry-panel.is-locked button{cursor:not-allowed}
.wallet-reconcile-row.is-unverified{border-left-color:#f0a12d;background:#fff9ed}
.wallet-reconcile-row.is-unverified b em{background:#fff3dc;color:#955900}
.sheet-wallet-block{margin:8px 0;padding:9px 10px;border:1px solid #ffb4c2;border-left:5px solid #ff4f70;border-radius:8px;background:#fff0f3;color:#b70f25;font-size:12px;font-weight:900;line-height:1.45}
/* Codex wallet unreconciled guard END v20260705-236 */

/* Codex wallet information trim START v20260708-272 */
#view-wallet .wallet-station{grid-template-columns:1fr!important;gap:0!important;padding:8px!important;margin:0 0 8px!important}
#view-wallet .wallet-station-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px!important}
#view-wallet .wallet-station-main span{grid-column:1;line-height:1.1}
#view-wallet .wallet-station-main b{grid-column:1;margin:0!important;font-size:24px!important;line-height:1.05!important}
#view-wallet .wallet-station-main em{display:none!important}
#view-wallet .wallet-reconcile-jump{grid-column:2;grid-row:1 / 3;width:auto!important;min-width:124px;min-height:38px;margin:0!important;padding:0 10px;border-radius:6px;white-space:nowrap}
#view-wallet .official-compare-panel{gap:7px!important;padding:10px!important;margin-bottom:8px!important}
#view-wallet .official-compare-panel h3{font-size:14px!important;line-height:1.25!important}
#view-wallet .compare-guide{margin:0!important;padding:8px!important;gap:3px!important}
#view-wallet .compare-guide b{font-size:12px!important}
#view-wallet .compare-guide span,#view-wallet .compare-guide em{font-size:11px!important;line-height:1.35!important}
#view-wallet .official-compare-panel textarea{min-height:86px!important}
#view-wallet .official-compare-result{margin:0!important}
#view-wallet .compare-coverage{padding:8px!important;margin:0!important;gap:2px!important}
#view-wallet .compare-coverage b{font-size:13px!important}
#view-wallet .compare-coverage span,#view-wallet .compare-coverage em{font-size:11px!important;line-height:1.35!important}
#view-wallet .compare-scope-note{display:block;margin-top:5px;color:var(--muted);font-size:10px;font-weight:850;line-height:1.3}
#view-wallet .wallet-audit-panel{padding:8px!important;margin-bottom:8px!important}
#view-wallet .wallet-audit-compact-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
#view-wallet .wallet-audit-compact-head b{font-size:13px;font-weight:950;color:var(--text)}
#view-wallet .wallet-audit-compact-head span{font-size:11px;font-weight:900;color:var(--muted);white-space:nowrap}
#view-wallet .wallet-reconcile-list{gap:5px;margin:0!important}
#view-wallet .wallet-reconcile-row{padding:6px!important;border-left-width:3px!important}
#view-wallet .wallet-reconcile-row b{font-size:11px!important}
#view-wallet .wallet-reconcile-row span{font-size:10px!important;line-height:1.35!important}
#view-wallet .split-head-note{margin-top:8px}
@media(max-width:390px){
  #view-wallet .wallet-reconcile-jump{min-width:112px;padding:0 8px;font-size:11px}
}
/* Codex wallet information trim END v20260708-272 */

/* Codex UI hostile-check consolidation START v20260705-236 */
/* Design tokens are defined once in :root. Keep this section for behavior-only overrides. */
body{touch-action:manipulation}
body.auth-checking .app,
body.auth-locked .app,
body.auth-checking .tabbar,
body.auth-locked .tabbar{display:none!important}
.candidate-empty-head b,
.candidate-empty p,
.candidate-empty span,
.mini-empty,
.wallet-grid b,
#walletCards.wallet-grid b,
.wallet-grid span,
.wallet-grid em{color:var(--bc-text)!important}
/* CC fix v237: ウォレット損益の緑/赤を復活（上の一括塗りに勝つ） */
#walletCards.wallet-grid b.plus,.wallet-grid b.plus{color:var(--profit)!important}
#walletCards.wallet-grid b.minus,.wallet-grid b.minus{color:var(--danger)!important}
.candidate-empty p,
.candidate-empty span,
.mini-empty,
.wallet-grid span,
.wallet-grid em{color:var(--bc-muted)!important}
.candidate-empty,
.mini-empty,
.wallet-grid>div,
#walletCards.wallet-grid>div,
.summary-grid>div,
.race-stats>div,
.home-race-brief .deadline-board-head>div{background:var(--bc-surface)!important;border:1px solid var(--bc-line)!important;box-shadow:none!important}
.btn,
.btn-go,
.vote-next-btn,
.home-menu-btn,
.race-live-controls .btn{transition:background-color .12s ease,border-color .12s ease,opacity .12s ease,transform .12s ease;touch-action:manipulation}
.btn:focus-visible,
.btn-go:focus-visible,
.vote-next-btn:focus-visible,
.tab:focus-visible,
.pin-pad button:focus-visible{outline:2px solid var(--bc-accent)!important;outline-offset:2px}
.btn.is-busy::after,
.vote-next-btn.is-busy::after,
.home-menu-btn.is-busy::after{content:"";width:20px;height:4px;margin-left:8px;border:0;border-radius:999px;background:currentColor;opacity:.42;animation:bc-shimmer 1.15s ease-in-out infinite}
.reason-head::after{content:none!important;display:none!important}
.reason-head{justify-content:flex-end!important;text-align:right!important}
.reason-head span{margin-left:auto!important;color:var(--bc-accent)!important}
.pin-gate{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,#09101f,#0d1424 55%,#07101d);color:var(--bc-text)}
.pin-gate[hidden]{display:none!important}
.pin-panel{width:min(390px,100%);display:grid;gap:14px;padding:24px 18px;border:1px solid var(--bc-line);border-radius:16px;background:linear-gradient(180deg,var(--bc-surface-2),var(--bc-surface));box-shadow:var(--bc-shadow)}
.pin-brand{display:flex;align-items:center;gap:10px;color:#fff}.pin-brand b{font-size:20px}
.pin-panel h1{margin:4px 0 0;font-size:24px;line-height:1.2}.pin-panel p{margin:0;color:var(--bc-muted);font-size:13px;line-height:1.6;font-weight:800}
.pin-dots{display:grid;place-items:center;min-height:54px;border:1px solid var(--bc-line);border-radius:12px;background:#0b1221;color:var(--bc-accent);font-size:28px;font-weight:950;letter-spacing:6px}
.pin-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.pin-pad button{min-height:54px;border:1px solid var(--bc-line);border-radius:12px;background:var(--bc-surface-3);color:var(--bc-text);font-size:20px;font-weight:950}
.pin-pad button[data-pin-action="submit"]{background:linear-gradient(180deg,var(--bc-brand-2),var(--bc-brand));color:#fff}.pin-pad button[data-pin-action="clear"]{font-size:14px;color:var(--bc-muted)}
.pin-msg{min-height:20px;color:var(--bc-warn)!important;text-align:center}
.race-live-controls{display:grid!important;grid-template-columns:1.35fr .8fr .9fr!important;gap:7px!important;align-items:center}
.race-live-controls .btn{min-width:0!important;width:100%!important;padding:0 8px!important;font-size:12px!important}
#view-live{overflow-x:hidden}
.race-live-quad{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 10px}
.race-live-quad[hidden]{display:none!important}
.race-live-quad-cell{overflow:hidden;border:1px solid var(--bc-line);border-radius:8px;background:#050914;box-shadow:none}
.race-live-quad-title{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;background:var(--bc-surface);color:var(--bc-text)}
.race-live-quad-title b{min-width:0;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.race-live-quad-title span{font-size:11px;color:var(--bc-accent);font-weight:900}
.race-live-quad iframe{display:block;width:100%;aspect-ratio:16/9;border:0;background:#000}
body:has(#raceLiveQuad:not([hidden])) .app{max-width:none}
body:has(#raceLiveQuad:not([hidden])) .views{max-width:1280px;margin:0 auto}
@media(max-width:480px){
  .race-live-quad{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-bottom:8px}
  .race-live-quad-title{min-height:25px;padding:4px 6px}
  .race-live-quad-title b{font-size:11px;line-height:1.1}
  .race-live-quad-title span{font-size:10px;line-height:1.1}
  .race-live-quad iframe{aspect-ratio:16/9}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
}
/* Codex UI hostile-check consolidation END v20260705-236 */

/* Codex UI polish START v20260705-238 */
:root{
  --bc-polish-shadow:0 16px 36px rgba(2,10,24,.28);
  --bc-polish-soft:0 8px 22px rgba(2,10,24,.18);
  --bc-polish-line:rgba(168,196,232,.16);
  --bc-lane-1:#f8fbff;
  --bc-lane-2:#161e32;
  --bc-lane-3:#e51f4f;
  --bc-lane-4:#2378df;
  --bc-lane-5:#ffd515;
  --bc-lane-6:#13b779;
}
body{
  background:#081221!important;
}
.app{
  background:
    linear-gradient(180deg,rgba(7,18,34,.98) 0%,rgba(10,22,40,.98) 42%,rgba(9,17,31,.99) 100%)!important;
}
.views{
  background:
    radial-gradient(120% 80% at 50% -14%,rgba(36,120,172,.24),transparent 46%),
    linear-gradient(180deg,rgba(11,24,43,.92),rgba(9,17,31,.98))!important;
}
.hero{
  position:relative!important;
  isolation:isolate;
  background:
    linear-gradient(145deg,rgba(12,29,52,.96),rgba(17,58,84,.86) 58%,rgba(12,39,58,.92))!important;
  border:1px solid var(--bc-polish-line)!important;
  box-shadow:var(--bc-polish-soft)!important;
  color:var(--bc-text)!important;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(135deg,rgba(255,255,255,.08) 0 1px,transparent 1px 100%),
    linear-gradient(180deg,rgba(56,225,198,.08),transparent 46%);
  background-size:28px 28px,100% 100%;
  opacity:.42;
}
.hero h1{color:var(--bc-text)!important}
.app-splash{
  background:linear-gradient(180deg,#0a1830 0%,#0e2743 54%,#081221 100%)!important;
  transition:opacity .26s ease,transform .26s ease!important;
}
.app-splash.is-done{
  transform:scale(1.005)!important;
}
.splash-core{
  min-height:184px!important;
  border:1px solid var(--bc-polish-line)!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,rgba(26,48,78,.72),rgba(16,29,50,.72))!important;
  box-shadow:var(--bc-polish-shadow),inset 0 1px 0 rgba(255,255,255,.08)!important;
  transform:scale(.985);
  transition:transform .26s ease!important;
}
.app-splash.is-done .splash-core{transform:scale(.998)}
.splash-brand-mark i{
  animation:none!important;
  box-shadow:0 0 18px rgba(56,225,198,.12);
}
.boat-loader,.splash-loader{display:none!important}
.splash-skeleton{
  display:grid;
  gap:7px;
  width:min(164px,72%);
  margin-top:4px;
}
.splash-skeleton span,
.skeleton-line,
.skeleton-pill{
  display:block;
  position:relative;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.1);
}
.splash-skeleton span::after,
.loading-skeleton::after,
.skeleton-line::after,
.skeleton-pill::after,
button.is-busy::after,
.auto-refresh-indicator::before,
.loading-spin::before{
  content:"";
  position:absolute;
  inset:0;
  transform:translateX(-100%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);
  animation:bc-shimmer 1.15s ease-in-out infinite;
}
.splash-skeleton span{height:8px}
.splash-skeleton span:nth-child(1){width:100%}
.splash-skeleton span:nth-child(2){width:78%}
.splash-skeleton span:nth-child(3){width:56%}
.loading-skeleton{
  position:relative;
  display:grid;
  gap:10px;
  margin:0 0 10px;
  padding:12px;
  border:1px solid var(--bc-polish-line);
  border-radius:10px;
  background:rgba(18,32,55,.76)!important;
  box-shadow:none!important;
  color:var(--bc-text);
  overflow:hidden;
}
.skeleton-head{
  position:relative;
  z-index:1;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:8px;
}
.skeleton-head b{
  font-size:13px;
  font-weight:950;
  color:var(--bc-text);
  white-space:nowrap;
}
.skeleton-head span{
  min-width:0;
  color:var(--bc-muted);
  font-size:10px;
  font-weight:850;
  text-align:right;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.skeleton-card{
  position:relative;
  z-index:1;
  display:grid;
  gap:8px;
  min-height:78px;
  padding:11px;
  border:1px solid rgba(168,196,232,.12);
  border-radius:8px;
  background:rgba(255,255,255,.035);
}
.skeleton-pill{width:82px;height:18px}
.skeleton-pill.is-strong{background:rgba(56,225,198,.16)}
.skeleton-line{height:10px;width:72%}
.skeleton-line.is-wide{width:94%}
.skeleton-line.is-short{width:46%}
body.boatcode-generating #candidateList:empty::before,
body.boatcode-generating .candidate-empty::before{
  content:none!important;
  display:none!important;
}
button.is-busy::after,
.vote-next-btn.is-busy::after,
.home-menu-btn.is-busy::after{
  position:relative!important;
  width:20px!important;
  height:4px!important;
  margin-left:8px!important;
  border:0!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.16)!important;
  vertical-align:middle!important;
}
.auto-refresh-indicator::before,
.loading-spin::before{
  position:relative!important;
  flex:0 0 22px!important;
  width:22px!important;
  height:4px!important;
  border:0!important;
  border-radius:999px!important;
  background:rgba(56,225,198,.14)!important;
}
.btn:focus-visible,
.btn-go:focus-visible,
.vote-next-btn:focus-visible,
.home-menu-btn:focus-visible,
.tab:focus-visible,
button:focus-visible,
a:focus-visible,
input:focus-visible,
summary:focus-visible{
  outline:2px solid var(--bc-accent)!important;
  outline-offset:2px!important;
}
@media(hover:hover){
  .btn:not(:disabled):hover,
  .btn-go:not(:disabled):hover,
  .vote-next-btn:not(:disabled):hover,
  .home-menu-btn:not(:disabled):hover,
  .tab:hover,
  article.card:hover,
  .race-live-card:hover,
  .guide-step-panel:hover{
    transform:translateY(-1px);
    box-shadow:var(--bc-polish-soft)!important;
  }
}
.steps-accordion .guide-steps{
  display:grid;
  gap:8px;
  padding:10px;
  background:rgba(255,255,255,.03);
}
.guide-step-panel{
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:10px;
  align-items:start;
  min-height:0;
  padding:11px;
  border:1px solid var(--bc-polish-line);
  border-radius:8px;
  background:rgba(18,32,55,.76);
  box-shadow:none;
}
.guide-step-no{
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  border-radius:999px;
  background:rgba(56,225,198,.12);
  border:1px solid rgba(56,225,198,.26);
  color:var(--bc-accent);
  font-size:13px;
  font-weight:950;
}
.guide-step-ico{display:none}
.guide-step-panel div{min-width:0}
.guide-step-panel b{display:block;color:var(--bc-text);font-size:14px;line-height:1.2}
.guide-step-panel p{margin:3px 0 0;color:var(--bc-muted);font-size:12px;line-height:1.55;font-weight:820}
.guide-step-panel small{
  display:inline-flex;
  margin-top:6px;
  color:var(--bc-accent);
  font-size:10px;
  font-weight:900;
}
article.card{
  position:relative;
  overflow:hidden;
}
article.card[data-head-lane]::before{
  content:"";
  position:absolute;
  left:0;
  top:16px;
  bottom:16px;
  width:4px;
  border-radius:0 999px 999px 0;
  background:var(--bc-accent);
  opacity:.9;
}
article.card[data-head-lane="1"]::before{background:var(--bc-lane-1);box-shadow:0 0 0 1px rgba(255,255,255,.3)}
article.card[data-head-lane="2"]::before{background:var(--bc-lane-2)}
article.card[data-head-lane="3"]::before{background:var(--bc-lane-3)}
article.card[data-head-lane="4"]::before{background:var(--bc-lane-4)}
article.card[data-head-lane="5"]::before{background:var(--bc-lane-5)}
article.card[data-head-lane="6"]::before{background:var(--bc-lane-6)}
.metric-countup{
  font-variant-numeric:tabular-nums;
  transition:color .18s ease;
}
.metric-countup.is-counting{color:var(--bc-accent)!important}
@media(prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
  .splash-skeleton span::after,
  .loading-skeleton::after,
  .skeleton-line::after,
  .skeleton-pill::after,
  button.is-busy::after,
  .auto-refresh-indicator::before,
  .loading-spin::before{
    display:none!important;
  }
}
/* Codex UI polish END v20260705-238 */

/* Codex millimeter spacing pass START v20260705-238-mm */
.appbar{
  min-height:46px!important;
  padding:9px 12px 8px!important;
}
.brand-mark{height:21px!important}
.brand-name{font-size:18px!important}
.corp-pill{font-size:10px!important}
.health-badge{height:25px!important;min-width:46px!important;font-size:10px!important}
.collect-status-strip{
  min-height:24px!important;
  margin:4px 9px 0!important;
  padding:4px 8px!important;
  border-radius:7px!important;
  font-size:10px!important;
  line-height:1.2!important;
}
.collect-status-strip span,
.collect-status-strip b{font-size:10px!important;line-height:1.2!important}
.views{
  padding:6px 8px calc(66px + var(--safe-bottom))!important;
}
#view-home .hero{
  margin:4px 0 6px!important;
  padding:7px!important;
  border-radius:8px!important;
}
#view-home .home-race-brief{
  margin:0 0 4px!important;
  padding:0!important;
  border-radius:8px!important;
}
#view-home .deadline-board-head{
  gap:4px!important;
}
#view-home .deadline-board-head>div{
  min-height:43px!important;
  padding:5px 6px!important;
  border-radius:7px!important;
}
#view-home .deadline-board-head span{
  font-size:8px!important;
  line-height:1.15!important;
}
#view-home .deadline-board-head b{
  font-size:16px!important;
  line-height:1.05!important;
}
#view-home .deadline-board-head em{
  font-size:8px!important;
  line-height:1.15!important;
}
#view-home .stake-card{
  min-height:38px!important;
  margin:0 0 4px!important;
  padding:3px 7px!important;
  border-radius:7px!important;
}
#view-home .stake-card label{
  font-size:11px!important;
}
#view-home .stake-box input{
  width:82px!important;
  height:34px!important;
  min-height:34px!important;
  padding:3px 6px!important;
  font-size:17px!important;
}
#view-home .stake-box .unit{
  font-size:13px!important;
}
#view-home .home-command-grid{
  min-height:0!important;
  height:auto!important;
  margin:4px 0 0!important;
  gap:4px!important;
}
#view-home #genBtn{
  min-height:46px!important;
  height:46px!important;
  border-radius:9px!important;
}
#view-home #genBtn b{
  font-size:21px!important;
}
#candidateList.cards{
  margin-top:6px!important;
  gap:8px!important;
}
#candidateList .candidate-section-head{
  min-height:36px!important;
  margin:4px 0 2px!important;
  padding:5px 8px!important;
  border-left-width:3px!important;
}
#candidateList .candidate-section-head span{
  font-size:10px!important;
  line-height:1.15!important;
}
#candidateList .candidate-section-head b{
  font-size:20px!important;
  line-height:1.05!important;
}
#candidateList .candidate-db-updated{
  justify-content:flex-end!important;
  min-height:12px!important;
  margin:0 2px 4px!important;
  font-size:9px!important;
  line-height:1.2!important;
}
#candidateList .profit-filter{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:4px!important;
  margin:4px 0 6px!important;
}
#candidateList .profit-filter button{
  min-height:30px!important;
  height:30px!important;
  padding:4px 3px!important;
  border-radius:8px!important;
  font-size:9px!important;
  line-height:1!important;
}
article.card{
  margin:6px 0 8px!important;
  padding:9px 10px!important;
  border-radius:10px!important;
}
article.card[data-head-lane]::before{
  top:12px!important;
  bottom:12px!important;
  width:4px!important;
}
article.card .card-top{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:start!important;
  gap:4px 6px!important;
  min-height:0!important;
  margin:0 0 4px!important;
}
article.card .card-top>div{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:4px!important;
  min-width:0!important;
}
article.card .rank,
article.card .mode-badge,
article.card .grade-badge,
article.card .buy-stage{
  min-height:20px!important;
  padding:3px 5px!important;
  border-radius:999px!important;
  font-size:9px!important;
  line-height:1!important;
}
article.card .deadline-top{
  min-height:24px!important;
  padding:4px 6px!important;
  border-radius:999px!important;
  font-size:10px!important;
  line-height:1.15!important;
}
article.card .race-name{
  min-height:28px!important;
  height:28px!important;
  margin:0 0 4px!important;
  gap:8px!important;
}
article.card .race-name span{
  font-size:17px!important;
  line-height:1!important;
}
article.card .race-name b{
  font-size:22px!important;
  line-height:1!important;
}
article.card .lane-row{
  gap:6px!important;
  margin:4px 0!important;
}
article.card .lane,
article.card .lane-row span{
  height:44px!important;
  min-height:44px!important;
  padding:3px 4px!important;
  border-radius:9px!important;
}
article.card .lane i,
article.card .lane-row span i{
  font-size:9px!important;
  line-height:1!important;
}
article.card .lane b,
article.card .lane-row span b{
  font-size:26px!important;
  line-height:1!important;
}
article.card .handoff-copy-card{
  min-height:0!important;
  margin:4px 0!important;
  padding:6px 8px!important;
  border-radius:8px!important;
}
article.card .handoff-copy-head{
  min-height:0!important;
  margin:0 0 4px!important;
  line-height:1.15!important;
}
article.card .handoff-copy-head b{font-size:10px!important}
article.card .handoff-copy-card p{
  margin:0!important;
  font-size:12px!important;
  line-height:1.25!important;
}
article.card .handoff-copy-card small{
  margin-top:2px!important;
  font-size:9px!important;
  line-height:1.2!important;
}
article.card .candidate-flow-panel{
  min-height:0!important;
  height:auto!important;
  margin:4px 0!important;
}
article.card .candidate-actions{
  gap:5px!important;
}
article.card .candidate-actions .btn-go{
  min-height:42px!important;
  height:42px!important;
  font-size:18px!important;
  border-radius:9px!important;
}
article.card .deadline-caution{
  margin:3px 0 0!important;
  font-size:10px!important;
  line-height:1.15!important;
}
article.card .opportunity-grid{
  gap:4px!important;
  margin:4px 0!important;
}
article.card .opportunity-grid>div{
  min-height:40px!important;
  padding:5px 4px!important;
  border-radius:8px!important;
}
article.card .opportunity-grid span{
  font-size:9px!important;
  line-height:1.1!important;
}
article.card .opportunity-grid b{
  font-size:14px!important;
  line-height:1.1!important;
}
article.card .figures{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:4px!important;
  margin:4px 0 0!important;
}
article.card .figures>div{
  min-height:30px!important;
  padding:4px 6px!important;
  border-radius:7px!important;
}
article.card .figures dt{
  font-size:9px!important;
  line-height:1.1!important;
}
article.card .figures dd{
  font-size:13px!important;
  line-height:1.1!important;
}
article.card .reason-drawer{
  margin-top:6px!important;
}
article.card .reason-head{
  min-height:32px!important;
  padding:5px 8px!important;
  border-radius:8px!important;
}
article.card .reason-head span,
article.card .reason-head b{
  font-size:10px!important;
  line-height:1.1!important;
}
article.card .card-msg:empty{
  display:none!important;
}
@media(max-width:430px){
  .tabbar{height:54px!important}
  .tab{height:54px!important;padding-top:5px!important;padding-bottom:4px!important}
}
/* Codex millimeter spacing pass END v20260705-238-mm */

/* Codex header brand placement START v20260706-246 */
.appbar .brand{
  padding-right:0!important;
  flex:1 1 auto!important;
  min-width:0!important;
  gap:8px!important;
  align-items:center!important;
}
.appbar .brand-text{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  line-height:1.05!important;
}
.appbar .brand-name{
  display:block!important;
  line-height:1.02!important;
}
.appbar .corp-pill{
  display:block!important;
  min-width:0!important;
  max-width:150px!important;
  margin:1px 0 0!important;
  padding:0!important;
  color:rgba(235,246,255,.86)!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  text-align:left!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.appbar .appbar-right{
  position:static!important;
  transform:none!important;
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex:0 0 auto!important;
}
/* Codex header brand placement END v20260706-246 */

/* Codex health badge frame removal START v20260708-260 */
.appbar #healthBadge.health-badge,
#healthBadge{
  min-width:0!important;
  height:auto!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  color:var(--accent)!important;
  line-height:1!important;
}
.appbar #healthBadge.health-badge i,
#healthBadge i{
  box-shadow:none!important;
}
/* Codex health badge frame removal END v20260708-260 */

/* Codex iPhone bookmark safe-area and evidence strip cleanup START v20260708-262 */
:root{
  --pwa-safe-bottom-tight:max(0px, calc(var(--safe-bottom) - 18px));
}
.appbar{
  min-height:46px!important;
  min-height:calc(46px + env(safe-area-inset-top))!important;
  padding:9px 12px 8px!important;
  padding:calc(9px + env(safe-area-inset-top)) 12px 8px!important;
}
.views{
  padding-bottom:56px!important;
  padding-bottom:calc(56px + max(0px, calc(env(safe-area-inset-bottom) - 18px)))!important;
}
.tabbar{
  padding-bottom:0!important;
  padding-bottom:max(0px, calc(env(safe-area-inset-bottom) - 18px))!important;
}
#candidateList > .source-evidence-strip{
  display:none!important;
}
.collect-status-strip{
  min-height:18px!important;
  margin:2px 10px 2px!important;
  padding:0!important;
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:8px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:var(--muted)!important;
}
.collect-status-strip span,
.collect-status-strip b{
  font-size:10px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
}
.collect-status-strip b{
  color:var(--accent)!important;
}
#candidateList > .candidate-section-head{
  display:none!important;
}
.appbar .brand-mark-bwave{
  width:25px!important;
  height:25px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 25px!important;
}
.appbar .brand-mark-bwave svg{
  width:25px!important;
  height:25px!important;
  display:block!important;
  overflow:visible!important;
}
.appbar .brand-mark-bwave path{
  fill:none!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.appbar .brand-mark-bwave .brand-b-stem,
.appbar .brand-mark-bwave .brand-b-arc{
  stroke:#f7fbff!important;
  stroke-width:3.1!important;
}
.appbar .brand-mark-bwave .brand-wave{
  stroke:var(--accent)!important;
  stroke-width:2.2!important;
}
/* Codex iPhone bookmark safe-area and evidence strip cleanup END v20260708-262 */

/* Codex millimeter spacing pass round2 START v20260705-238-mm */
#view-home .stake-box{
  gap:3px!important;
}
#view-home .stake-box input{
  width:70px!important;
  font-size:16px!important;
}
#view-home .stake-box .unit{
  flex:0 0 auto!important;
  font-size:12px!important;
}
#candidateList .candidate-section-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-items:center!important;
  min-height:30px!important;
  height:30px!important;
  padding:4px 8px!important;
}
#candidateList .candidate-section-head>div{
  display:flex!important;
  align-items:baseline!important;
  gap:6px!important;
  min-width:0!important;
}
#candidateList .candidate-section-head span{
  display:inline!important;
  white-space:nowrap!important;
}
#candidateList .candidate-section-head b{
  display:inline!important;
  font-size:19px!important;
}
#candidateList .candidate-db-updated{
  min-height:10px!important;
  margin:0 2px 3px!important;
  font-size:8px!important;
}
article.card .figures{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:3px!important;
}
article.card .figures>div{
  min-height:28px!important;
  padding:3px 4px!important;
}
article.card .figures dt{
  font-size:8px!important;
}
article.card .figures dd{
  font-size:12px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
/* Codex millimeter spacing pass round2 END v20260705-238-mm */

/* Codex square-frame pass START v20260705-238-square2 */
:is(#codexSquareA#codexSquareB#codexSquareC, .app, .pin-gate),
:is(#codexSquareA#codexSquareB#codexSquareC, .app, .pin-gate) *,
body::before,
body::after{
  border-radius:0!important;
}
/* Codex square-frame pass END v20260705-238-square2 */

/* Codex official odds evidence START v20260706-248 */
.source-evidence-strip{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:7px!important;
  align-items:center!important;
  margin:6px 0 8px!important;
  padding:8px 9px!important;
  border:1px solid rgba(71,169,219,.68)!important;
  border-left:4px solid #38e1c6!important;
  border-radius:0!important;
  background:linear-gradient(180deg,rgba(10,28,55,.94),rgba(8,22,43,.96))!important;
  box-shadow:none!important;
  color:#eaf6ff!important;
}
.source-evidence-strip.is-compact{
  min-height:34px!important;
  margin:2px 0 6px!important;
  padding:6px 8px!important;
}
.source-evidence-strip.is-warn{
  border-left-color:#f0a12d!important;
}
.source-evidence-strip.is-loading{
  border-left-color:#2e8add!important;
}
.source-evidence-main{
  display:grid!important;
  grid-template-columns:9px minmax(0,1fr)!important;
  gap:7px!important;
  align-items:center!important;
  min-width:0!important;
}
.source-evidence-dot{
  width:8px!important;
  height:18px!important;
  background:#38e1c6!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.18) inset!important;
}
.source-evidence-strip.is-warn .source-evidence-dot{background:#f0a12d!important}
.source-evidence-strip.is-loading .source-evidence-dot{background:#2e8add!important}
.source-evidence-main b{
  display:block!important;
  font-size:12px!important;
  line-height:1.15!important;
  font-weight:950!important;
  color:#f4fbff!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.source-evidence-main em{
  display:block!important;
  margin-top:2px!important;
  font-style:normal!important;
  font-size:9px!important;
  line-height:1.2!important;
  font-weight:800!important;
  color:#9fc0dd!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.source-evidence-metrics{
  display:grid!important;
  grid-template-columns:repeat(2,42px)!important;
  gap:4px!important;
}
.source-evidence-metrics span{
  display:grid!important;
  place-items:center!important;
  min-height:29px!important;
  padding:3px!important;
  border:1px solid rgba(115,161,200,.36)!important;
  background:rgba(255,255,255,.05)!important;
}
.source-evidence-metrics b{
  font-size:13px!important;
  line-height:1!important;
  color:#38e1c6!important;
  font-weight:950!important;
}
.source-evidence-metrics em{
  margin-top:2px!important;
  font-size:8px!important;
  line-height:1!important;
  color:#9fb4ca!important;
  font-style:normal!important;
  font-weight:850!important;
}
.source-evidence-items{
  grid-column:1 / -1!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:4px!important;
  margin-top:3px!important;
}
.source-evidence-items div{
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr) 46px!important;
  gap:6px!important;
  align-items:center!important;
  min-height:26px!important;
  padding:4px 5px!important;
  border:1px solid rgba(115,161,200,.34)!important;
  background:rgba(255,255,255,.045)!important;
}
.source-evidence-items b,
.source-evidence-items span,
.source-evidence-items a{
  font-size:9px!important;
  line-height:1.2!important;
  font-weight:850!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.source-evidence-items b{color:#eaf6ff!important}
.source-evidence-items span{color:#9fc0dd!important}
.source-evidence-items a{color:#38e1c6!important;text-align:right!important;text-decoration:none!important}
.candidate-source-evidence{
  display:grid!important;
  grid-template-columns:6px auto minmax(0,1fr) auto!important;
  gap:6px!important;
  align-items:center!important;
  min-height:26px!important;
  margin:4px 0 6px!important;
  padding:4px 6px!important;
  border:1px solid rgba(115,161,200,.34)!important;
  border-left:3px solid #38e1c6!important;
  background:rgba(255,255,255,.045)!important;
  color:#eaf6ff!important;
  border-radius:0!important;
}
.candidate-source-evidence.is-warn{border-left-color:#f0a12d!important}
.candidate-source-evidence>span{
  width:5px!important;
  height:14px!important;
  background:#38e1c6!important;
}
.candidate-source-evidence.is-warn>span{background:#f0a12d!important}
.candidate-source-evidence b,
.candidate-source-evidence em,
.candidate-source-evidence a{
  font-size:9px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.candidate-source-evidence b{font-weight:950!important;color:#f4fbff!important}
.candidate-source-evidence em{font-style:normal!important;font-weight:800!important;color:#9fc0dd!important}
.candidate-source-evidence a{font-weight:900!important;color:#38e1c6!important;text-decoration:none!important}
@media (prefers-reduced-motion: reduce){
  .source-evidence-strip::after{animation:none!important}
}
/* Codex official odds evidence END v20260706-248 */

/* Codex honesty dashboard START v20260707-250 */
.band-dashboard{display:grid;gap:8px;margin:0 0 8px}
.band-dashboard-panel{
  display:grid;
  gap:8px;
  padding:10px;
  border:1px solid rgba(56,228,200,.28);
  border-left:4px solid var(--bc-accent);
  border-radius:0;
  background:linear-gradient(180deg,rgba(21,34,58,.98),rgba(15,24,43,.98));
  color:var(--bc-text);
  box-shadow:none;
}
.band-dashboard-panel.is-error{border-left-color:var(--bc-warn)}
.band-dashboard-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.band-dashboard-head span{font-size:14px;font-weight:950;color:#f4fbff}
.band-dashboard-head b{font-size:10px;font-weight:950;color:#06131f;background:var(--bc-accent);padding:4px 7px;border-radius:0;white-space:nowrap}
.band-dashboard-policy,.band-dashboard-note{margin:0;color:var(--bc-muted);font-size:10px;line-height:1.55;font-weight:850}
.band-dashboard-guide{
  display:grid;
  gap:5px;
  padding:7px;
  border:1px solid rgba(56,228,200,.18);
  background:rgba(56,228,200,.055);
}
.band-dashboard-guide div{
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:7px;
  align-items:start;
  min-width:0;
}
.band-dashboard-guide b{
  color:var(--bc-accent);
  font-size:10px;
  font-weight:950;
  line-height:1.35;
  white-space:nowrap;
}
.band-dashboard-guide span{
  color:#d6e4f7;
  font-size:10px;
  line-height:1.45;
  font-weight:820;
  overflow-wrap:anywhere;
}
.band-card-grid{display:grid;grid-template-columns:1fr;gap:7px}
.band-card{
  display:grid;
  gap:7px;
  padding:8px;
  border:1px solid rgba(255,255,255,.12);
  border-left:4px solid rgba(167,183,215,.55);
  border-radius:0;
  background:rgba(255,255,255,.045);
}
.band-card.is-signal{border-left-color:var(--bc-accent)}
.band-card.is-even{border-left-color:#80b7ff}
.band-card.is-weak{border-left-color:var(--bc-danger)}
.band-card.is-unknown{border-left-color:var(--bc-warn)}
.band-card-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start}
.band-card-head span{display:block;font-size:9px;color:var(--bc-muted);font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.band-card-head b{display:block;font-size:13px;line-height:1.15;color:#f4fbff;font-weight:950}
.band-card-head em{font-style:normal;font-size:10px;font-weight:950;line-height:1.1;padding:4px 6px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);color:#fff;white-space:nowrap}
.band-card.is-signal .band-card-head em{color:#06131f;background:var(--bc-accent)}
.band-card.is-weak .band-card-head em{color:#fff;background:rgba(255,95,122,.72)}
.band-card.is-unknown .band-card-head em{color:#241504;background:var(--bc-warn)}
.band-card-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.band-card-metrics div{min-width:0;border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.12);padding:5px 4px}
.band-card-metrics span{display:block;font-size:8px;color:var(--bc-muted);font-weight:900;line-height:1}
.band-card-metrics b{display:block;margin-top:3px;font-size:12px;line-height:1.1;color:#f4fbff;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.band-card-metrics div:last-child b{font-size:10px;white-space:normal;overflow:visible;text-overflow:clip;word-break:break-all;line-height:1.25}
.band-card p{margin:0;color:#b9c8e4;font-size:10px;line-height:1.45;font-weight:820}
.ai-brain-panel{display:grid;gap:6px;margin:6px 8px 8px;padding:8px;border:1px solid rgba(56,228,200,.20);border-left:3px solid var(--bc-accent);background:rgba(56,228,200,.055);border-radius:0}
.ai-brain-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;min-height:24px}
.ai-brain-row span{min-width:0;color:var(--bc-muted);font-size:10px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-brain-row b{color:#f4fbff;font-size:12px;font-weight:950}
.ai-brain-row em{font-style:normal;color:#8fa4c4;font-size:9px;font-weight:900;white-space:nowrap}
.ai-brain-row.is-total b{color:var(--bc-accent)}
.ai-edge-meter{display:grid;gap:4px}
.ai-edge-meter span{font-size:10px;color:var(--bc-muted);font-weight:900}
.ai-edge-meter i{display:block;height:5px;background:rgba(255,255,255,.10);overflow:hidden}
.ai-edge-meter b{display:block;height:100%;background:var(--bc-accent)}
.ai-edge-meter.is-minus b{background:var(--bc-danger)}
.ai-brain-panel p,.band-copy-warning{margin:0;color:#b9c8e4;font-size:9px;line-height:1.45;font-weight:820}
.band-copy-warning{padding:5px 0 0;color:#ffcf74}
/* Codex honesty dashboard END v20260707-250 */

/* Codex BC Agent leaderboard START v20260709-306 */
.bc-agent-panel{
  display:grid;
  gap:8px;
  margin:0 0 8px;
}
.bc-agent-panel-card{
  border:1px solid rgba(56,228,200,.24);
  border-left:4px solid #80b7ff;
  background:linear-gradient(180deg,rgba(21,34,58,.96),rgba(15,24,43,.96));
  color:var(--bc-text);
  box-shadow:none;
}
.bc-agent-panel-card>summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:8px;
  align-items:center;
  min-height:42px;
  padding:9px 10px;
  cursor:pointer;
  list-style:none;
}
.bc-agent-panel-card>summary::-webkit-details-marker{display:none}
.bc-agent-panel-card>summary span{
  color:#f4fbff;
  font-size:13px;
  line-height:1.2;
  font-weight:950;
}
.bc-agent-panel-card>summary b{
  color:#071421;
  background:var(--bc-accent);
  font-size:10px;
  line-height:1.2;
  font-weight:950;
  padding:5px 7px;
  white-space:nowrap;
}
.bc-agent-panel-card>summary::after{
  content:"▼";
  justify-self:end;
  color:var(--bc-accent);
  font-size:10px;
  font-weight:950;
}
.bc-agent-panel-card[open]>summary::after{content:"▲"}
.bc-agent-body{
  display:grid;
  gap:7px;
  padding:0 10px 10px;
}
.bc-agent-note{
  margin:0;
  color:#b9c8e4;
  font-size:10px;
  line-height:1.45;
  font-weight:820;
}
.bc-agent-card{
  display:grid;
  gap:7px;
  padding:8px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
}
.bc-agent-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:start;
}
.bc-agent-head b{
  display:block;
  color:#f4fbff;
  font-size:13px;
  line-height:1.15;
  font-weight:950;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.bc-agent-head span{
  display:block;
  margin-top:2px;
  color:var(--bc-muted);
  font-size:9px;
  line-height:1.35;
  font-weight:850;
}
.bc-agent-head em{
  font-style:normal;
  color:#071421;
  background:var(--bc-accent);
  font-size:10px;
  line-height:1;
  font-weight:950;
  padding:5px 7px;
  white-space:nowrap;
}
.bc-agent-head em.bc-agent-status--retired{
  color:#eef4ff;
  background:#56667f;
}
.bc-agent-head em.bc-agent-status--paused{
  color:#fff8f8;
  background:#b53b53;
}
.bc-agent-meta{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  margin-top:6px;
}
.bc-agent-meta span{
  display:inline-flex;
  align-items:center;
  min-width:0;
  margin:0;
  padding:3px 5px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.055);
  color:#d7e4f8;
  font-size:8px;
  line-height:1.15;
  font-weight:900;
  white-space:normal;
}
.bc-agent-card.is-retired{
  border-color:rgba(170,188,215,.18);
  background:rgba(255,255,255,.025);
}
.bc-agent-card.is-retired .bc-agent-head b{color:#dfe8f6}
.bc-agent-card.is-retired .bc-agent-band,
.bc-agent-card.is-retired .bc-agent-total div{background:rgba(0,0,0,.10)}
.bc-agent-total{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:5px;
}
.bc-agent-total div,
.bc-agent-band{
  min-width:0;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.13);
  padding:5px 4px;
}
.bc-agent-total span,
.bc-agent-band span{
  display:block;
  color:var(--bc-muted);
  font-size:8px;
  line-height:1.1;
  font-weight:900;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.bc-agent-total b{
  display:block;
  margin-top:3px;
  color:#f4fbff;
  font-size:12px;
  line-height:1.15;
  font-weight:950;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.bc-agent-total b.plus,
.bc-agent-band b.plus{color:var(--bc-accent)}
.bc-agent-total b.minus,
.bc-agent-band b.minus{color:var(--bc-danger)}
.bc-agent-bands{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:5px;
}
.bc-agent-band b{
  display:block;
  margin-top:3px;
  color:#f4fbff;
  font-size:11px;
  line-height:1.15;
  font-weight:950;
}
.bc-agent-band em,
.bc-agent-band small{
  display:block;
  color:#b9c8e4;
  font-size:8px;
  line-height:1.25;
  font-style:normal;
  font-weight:820;
}
.bc-agent-retired{
  display:grid;
  gap:6px;
  border-top:1px solid rgba(255,255,255,.10);
  padding-top:7px;
}
.bc-agent-retired>summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:8px;
  align-items:center;
  min-height:34px;
  cursor:pointer;
  list-style:none;
  color:#dfe8f6;
}
.bc-agent-retired>summary::-webkit-details-marker{display:none}
.bc-agent-retired>summary span{
  min-width:0;
  color:#dfe8f6;
  font-size:11px;
  line-height:1.2;
  font-weight:950;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.bc-agent-retired>summary b{
  color:#dfe8f6;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.07);
  font-size:9px;
  line-height:1.1;
  font-weight:950;
  padding:4px 6px;
  white-space:nowrap;
}
.bc-agent-retired>summary::after{
  content:"▼";
  justify-self:end;
  color:#b9c8e4;
  font-size:9px;
  font-weight:950;
}
.bc-agent-retired[open]>summary::after{content:"▲"}
.bc-agent-retired-body{
  display:grid;
  gap:7px;
}
@media (max-width:370px){
  .bc-agent-total{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bc-agent-bands{grid-template-columns:1fr}
}
/* Codex BC Agent leaderboard END v20260709-306 */

/* Codex production cleanup START v20260707-252 */
.sheet-panel .vote-next-actions .sheet-copy-main,
.sheet-panel .sheet-copy-main{
  display:flex!important;
  min-height:42px!important;
  font-size:13px!important;
  background:#fff!important;
  color:#176bd8!important;
  border:1px solid #9cc2ea!important;
  box-shadow:none!important;
}
/* Codex production cleanup END v20260707-252 */

/* CC official-vote-trace START v20260707-254 */
/* 公式スマホ投票画面（spweb.brtb.jp）の完全トレース（2026-07-07オーナー指示・IMG_9044準拠）。
   シート内は変数に依存しない固定色＝ダークテーマ積層の影響を受けない。選択ガイド（丸数字＋赤枠）は
   公式で押す位置を示す誤購入防止機能のため維持。 */
.vote-sheet{background:#fff!important;color:#111!important;border:1px solid #c9d4e0!important;border-radius:8px!important;box-shadow:0 10px 30px rgba(8,27,51,.25)!important}
.vote-head{background:#efefef!important;color:#333!important;font-size:11px!important;min-height:46px!important;font-weight:800!important}
.vote-head span{border-right:1px solid #d9d9d9!important;line-height:1.3!important;white-space:pre-line!important}
.vote-head span:nth-child(2){justify-content:center!important;padding-left:0!important}
.vote-row{border-top:1px solid #dcdcdc!important;min-height:64px!important;background:#fff!important}
.vote-racer{background:#fff!important;border-right:1px solid #dcdcdc!important;align-items:center!important;text-align:center!important;gap:2px!important}
.vote-racer .racer-meta{order:-1;font-size:12px!important;color:#111!important;font-weight:700!important}
.vote-racer b{font-size:15px!important;color:#111!important;font-weight:800!important;text-decoration:underline;text-underline-offset:2px;white-space:normal!important}
.vote-fl{color:#333!important;border-right:1px solid #dcdcdc!important;font-size:11px!important}
.vote-frame{border-right:1px solid #dcdcdc!important;font-size:16px!important}
.vote-sheet .lane-3{background:#e26565!important;border-color:#e26565!important;color:#fff!important}
.vote-sheet .lane-4{background:#6f9fd8!important;border-color:#6f9fd8!important;color:#fff!important}
.vote-mark{margin:6px 4px!important;border:1px solid #b5c4d6!important;border-radius:6px!important;background:#fff!important;box-shadow:none!important;color:#1e63c4!important}
.vote-mark b{color:#1e63c4!important;font-size:22px!important;font-weight:800!important}
.vote-odds{background:#fff!important;border-top:1px solid #dcdcdc!important}
.vote-odds span{color:#333!important;font-weight:800!important}
.vote-odds b{background:#8b8b8b!important;color:#fff!important}
.vote-amount{background:#eef4fb!important;border-top:1px solid #c9d4e0!important}
.vote-amount span{color:#123a5e!important}
.vote-amount b{background:#fff!important;color:#111!important;border:1px solid #9db8d4!important}
.vote-amount em{color:#1e63c4!important}
.vote-bluebar{background:#1e63c4!important;color:#fff!important}
.vote-race-title{background:#f4f7fa!important;color:#111!important}
.vote-race-title span{color:#445!important}
.vote-race-title b{color:#111!important}
/* CC official-vote-trace END v20260707-254 */

/* CC official-vote-trace v256: 選択状態を公式と同一（青塗り＋白数字・IMG_9048準拠）へ。
   vote-markは多重積層（3269行等の高詳細度!important）があるため、最上位詳細度で確実に上書きする。 */
.vote-sheet .vote-grid .vote-mark.is-selected,
.spvote-guide .vote-grid .vote-mark.is-selected,
.vote-grid.official-grid-parity .vote-mark.is-selected,
.vote-mark.is-selected{background:#3d7fe0!important;border-color:#3d7fe0!important;box-shadow:none!important;color:#fff!important}
.vote-sheet .vote-grid .vote-mark.is-selected::after,
.vote-mark.is-selected::after{display:none!important}
.vote-sheet .vote-grid .vote-mark.is-selected b,
.spvote-guide .vote-grid .vote-mark.is-selected b,
.vote-grid.official-grid-parity .vote-mark.is-selected b,
.vote-mark.is-selected b{color:#fff!important}
.vote-sheet .vote-grid .vote-mark em,
.spvote-guide .vote-grid .vote-mark em,
.vote-grid.official-grid-parity .vote-mark em,
.vote-mark em,
.vote-sheet .vote-grid .vote-mark .tap-badge,
.vote-mark .tap-badge{display:none!important}

/* CC v257: 場名ピル（.race-name span）が var(--ink)=白解決で白地×白文字になり不可読（IMG_9049）。固定色化。 */
article.card .race-name span,
.race-name span{background:#fff!important;color:#0b2d54!important;border:1px solid #c7d2df!important}

/* CC v259: 購入記録パネルの実額入力（既定100円の押し付けをやめ、実購入額で蓄積） */
.bet-record-stake-box{display:inline-flex;align-items:center;gap:4px;color:#dce8f8;font-weight:800}
.bet-record-stake{width:90px;min-height:34px;border:1px solid #9db8d4;border-radius:6px;background:#fff;color:#111;font-size:16px;font-weight:900;text-align:right;padding:2px 8px}

/* Codex final home cleanup locks START v20260708-262 */
:root{
  --pwa-safe-bottom-tight:max(0px, calc(var(--safe-bottom) - 18px));
}
.appbar{
  min-height:46px!important;
  min-height:calc(46px + env(safe-area-inset-top))!important;
  padding:9px 12px 8px!important;
  padding:calc(9px + env(safe-area-inset-top)) 12px 8px!important;
}
.views{
  padding-bottom:56px!important;
  padding-bottom:calc(56px + max(0px, calc(env(safe-area-inset-bottom) - 18px)))!important;
}
.tabbar{
  padding-bottom:0!important;
  padding-bottom:max(0px, calc(env(safe-area-inset-bottom) - 18px))!important;
}
#candidateList > .candidate-section-head,
#candidateList > .source-evidence-strip{
  display:none!important;
}
.collect-status-strip{
  min-height:18px!important;
  margin:2px 10px 2px!important;
  padding:0!important;
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:8px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:var(--muted)!important;
}
.collect-status-strip span,
.collect-status-strip b{
  font-size:10px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
}
.collect-status-strip b{
  color:var(--accent)!important;
}
.brand-mark-bwave{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:24px!important;
  height:24px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.brand-mark-bwave svg{
  width:24px!important;
  height:24px!important;
  overflow:visible!important;
}
.brand-mark-bwave path{
  fill:none!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.brand-mark-bwave .brand-b-stem,
.brand-mark-bwave .brand-b-arc{
  stroke:#f7fbff!important;
  stroke-width:3.4!important;
}
.brand-mark-bwave .brand-wave{
  stroke:#38e4c8!important;
  stroke-width:2.2!important;
}
/* Codex final home cleanup locks END v20260708-262 */

/* Codex sheet reason arrow order START v20260708-263 */
.sheet-reason-drawer > .reason-head{
  justify-content:flex-end!important;
}
.sheet-reason-drawer > .reason-head span{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  margin-left:auto!important;
}
.sheet-reason-drawer > .reason-head span::before{
  content:none!important;
  display:none!important;
}
.sheet-reason-drawer > .reason-head span::after{
  content:"▼"!important;
  display:inline-block!important;
  color:var(--bc-accent)!important;
  font-size:10px!important;
  line-height:1!important;
}
.sheet-reason-drawer[open] > .reason-head span::after{
  content:"▲"!important;
}
/* Codex sheet reason arrow order END v20260708-263 */

/* Codex sheet budget number scale START v20260708-264 */
.sheet-body > .sheet-budget b{
  display:block!important;
  font-size:18px!important;
  line-height:1.18!important;
  font-weight:850!important;
  overflow-wrap:anywhere!important;
}
/* Codex sheet budget number scale END v20260708-264 */

/* Codex vote odds compact position START v20260708-266 */
.vote-sheet > .vote-odds{
  height:34px!important;
  min-height:34px!important;
  margin-top:-2px!important;
  grid-template-columns:minmax(0,1fr) minmax(118px,148px)!important;
}
.vote-sheet > .vote-odds span{
  padding:5px 10px!important;
  line-height:1.1!important;
}
.vote-sheet > .vote-odds b{
  align-self:start!important;
  justify-self:center!important;
  width:min(136px, calc(100% - 12px))!important;
  height:24px!important;
  min-height:24px!important;
  margin:3px 6px 7px!important;
  font-size:13px!important;
  line-height:1!important;
  transform:translateY(-4px)!important;
}
/* Codex vote odds compact position END v20260708-266 */

/* Codex vote guide readability START v20260708-267 */
.spvote-guide .spvote-body,
.spvote-guide .spvote-steps,
.spvote-guide .spvote-steps li{
  color:#f8fbff!important;
  opacity:1!important;
}
.spvote-guide .spvote-steps li{
  font-size:12px!important;
  line-height:1.62!important;
  font-weight:850!important;
}
.spvote-guide .spvote-steps li::marker{
  color:#75f0dc!important;
  font-weight:950!important;
}
.spvote-guide .spvote-steps b{
  color:#38e4c8!important;
  opacity:1!important;
  font-weight:950!important;
}
.vote-sheet .vote-grid.official-grid-parity .vote-head,
.vote-sheet .vote-grid.official-grid-parity .vote-head span,
.vote-grid.official-grid-parity .vote-head,
.vote-grid.official-grid-parity .vote-head span{
  color:#111827!important;
  opacity:1!important;
  font-weight:900!important;
}
.vote-sheet .vote-grid.official-grid-parity .vote-head span:nth-child(2),
.vote-grid.official-grid-parity .vote-head span:nth-child(2){
  color:#111!important;
}
/* Codex vote guide readability END v20260708-267 */

/* Codex sheet close and spvote title readability START v20260708-268 */
#sheetClose.sheet-close{
  background:#f8fbff!important;
  color:#111827!important;
  border:1px solid #b7c5d8!important;
  box-shadow:none!important;
  text-shadow:none!important;
}
.spvote-guide > .spvote-title{
  justify-content:flex-end!important;
  gap:6px!important;
}
.spvote-guide > .spvote-title::before{
  margin-right:auto!important;
  color:#f8fbff!important;
  opacity:1!important;
}
.spvote-guide > .spvote-title b{
  margin-left:auto!important;
  background:#f8fbff!important;
  color:#111827!important;
  border:1px solid #b7d6ff!important;
  box-shadow:none!important;
}
.spvote-guide > .spvote-title::after{
  background:#f8fbff!important;
  color:#111827!important;
  border:1px solid #b7d6ff!important;
  box-shadow:none!important;
}
/* Codex sheet close and spvote title readability END v20260708-268 */

/* Codex help contrast cleanup START v20260708-273 */
#view-help{
  color:#111827!important;
}
#view-help .view-head,
#view-help .guide-accordion,
#view-help .help-block,
#view-help .startup-check-panel,
#view-help .official-input-guide,
#view-help .steps-accordion .guide-steps,
#view-help .store-readiness,
#view-help .store-evidence-matrix{
  background:#f8fbff!important;
  color:#111827!important;
  border-color:#b7c5d8!important;
  box-shadow:none!important;
}
#view-help .guide-step-panel,
#view-help .startup-check-grid div,
#view-help .startup-flow-list li,
#view-help .safety-list li,
#view-help .store-hero,
#view-help .store-status-grid div,
#view-help .store-blocker-card,
#view-help .store-flow-list li,
#view-help .store-evidence-row{
  background:#fff!important;
  color:#111827!important;
  border-color:#c6d2df!important;
  box-shadow:none!important;
}
#view-help .tap-guide-summary{
  background:#eef6ff!important;
  color:#111827!important;
  border-bottom:1px solid #c6d2df!important;
}
#view-help .tap-guide-summary::after{
  background:#1168d9!important;
  color:#fff!important;
  border:1px solid #1168d9!important;
  box-shadow:none!important;
}
#view-help h2,
#view-help h3,
#view-help p,
#view-help li,
#view-help b,
#view-help span,
#view-help em,
#view-help small,
#view-help summary{
  color:#111827!important;
  opacity:1!important;
  text-shadow:none!important;
}
#view-help .muted,
#view-help .help-block p,
#view-help .startup-flow-list span,
#view-help .startup-check-grid span,
#view-help .startup-check-grid em,
#view-help .safety-list span,
#view-help .store-hero span,
#view-help .store-status-grid span,
#view-help .store-status-grid em,
#view-help .store-blocker-card span,
#view-help .store-flow-list span,
#view-help .store-evidence-row span,
#view-help .store-evidence-row em{
  color:#24364a!important;
  opacity:1!important;
}
#view-help .guide-step-no{
  background:#1168d9!important;
  border-color:#1168d9!important;
  color:#fff!important;
}
#view-help .route-ico,
#view-help .route-ico .ui-icon{
  color:#1168d9!important;
}
#view-help .help-route button,
#view-help .help-actions .btn{
  background:#fff!important;
  color:#111827!important;
  border-color:#b7c5d8!important;
  box-shadow:none!important;
}
#view-help .help-route button b,
#view-help .help-actions .btn{
  color:#111827!important;
}
/* Codex help contrast cleanup END v20260708-273 */

/* Codex deep-page contrast cleanup START v20260708-274 */
#view-strategy{
  color:#111827!important;
}
#view-strategy .view-head,
#view-strategy .strategy-band,
#view-strategy .strategy-grid section,
#view-strategy .help-block{
  background:#f8fbff!important;
  color:#111827!important;
  border-color:#b7c5d8!important;
  box-shadow:none!important;
}
#view-strategy .strategy-grid section{
  background:#fff!important;
}
#view-strategy .help-block.warn{
  background:#fff8ed!important;
  border-color:#d99d3a!important;
}
#view-strategy h2,
#view-strategy h3,
#view-strategy p,
#view-strategy b,
#view-strategy span,
#view-strategy em,
#view-strategy small{
  color:#111827!important;
  opacity:1!important;
  text-shadow:none!important;
}
#view-strategy .muted,
#view-strategy .strategy-band p,
#view-strategy .strategy-grid p,
#view-strategy .help-block p{
  color:#24364a!important;
  opacity:1!important;
}
/* Codex deep-page contrast cleanup END v20260708-274 */

/* Codex analysis summary number scale START v20260708-277 */
#summaryCards .summary-group-grid{
  gap:6px!important;
}
#summaryCards .summary-group-grid>div{
  min-height:58px!important;
  padding:7px 6px!important;
}
#summaryCards .summary-group-grid>div span{
  font-size:10px!important;
  line-height:1.18!important;
  letter-spacing:.02em!important;
}
#summaryCards .summary-group-grid>div b{
  font-size:clamp(18px,5vw,22px)!important;
  line-height:1.06!important;
  font-weight:800!important;
}
#summaryCards .summary-group-grid>div em{
  margin-top:2px!important;
  font-size:9px!important;
  line-height:1.18!important;
}
/* Codex analysis summary number scale END v20260708-277 */

/* Codex purchase summary number scale START v20260708-278 */
#summaryCards .summary-group-purchase .summary-group-grid{
  gap:6px!important;
}
#summaryCards .summary-group-purchase .summary-group-grid>div{
  min-height:54px!important;
  padding:6px!important;
}
#summaryCards .summary-group-purchase .summary-group-grid>div span{
  font-size:9.5px!important;
  line-height:1.14!important;
  letter-spacing:.01em!important;
}
#summaryCards .summary-group-purchase .summary-group-grid>div b{
  font-size:clamp(16px,4.4vw,19px)!important;
  line-height:1.04!important;
  font-weight:800!important;
}
#summaryCards .summary-group-purchase .summary-group-grid>div em{
  margin-top:2px!important;
  font-size:8.5px!important;
  line-height:1.14!important;
}
/* Codex purchase summary number scale END v20260708-278 */

/* Codex analysis learning status readability START v20260708-279 */
#analysisStatus{
  margin:8px 0 10px!important;
}
#analysisStatus>div{
  background:#f8fbff!important;
  color:#0b1f36!important;
  border:1px solid #9bb8d8!important;
  border-left:4px solid #12bfae!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:9px 10px!important;
  text-shadow:none!important;
}
#analysisStatus span{
  display:block!important;
  color:#29425f!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:850!important;
  opacity:1!important;
}
#analysisStatus b{
  display:block!important;
  color:#0b1f36!important;
  font-size:18px!important;
  line-height:1.15!important;
  font-weight:850!important;
  margin:2px 0!important;
  opacity:1!important;
}
#analysisStatus em{
  display:block!important;
  color:#35506d!important;
  font-size:11px!important;
  line-height:1.25!important;
  font-style:normal!important;
  font-weight:700!important;
  opacity:1!important;
}
/* Codex analysis learning status readability END v20260708-279 */

/* Codex analysis result row readability START v20260708-280 */
#analysisList .analysis-result-row{
  background:#f8fbff!important;
  color:#0b1f36!important;
  border:1px solid #9bb8d8!important;
  border-left:4px solid #12bfae!important;
  border-radius:0!important;
  box-shadow:none!important;
  text-shadow:none!important;
}
#analysisList .analysis-result-row b,
#analysisList .analysis-result-row b span{
  color:#0b1f36!important;
  opacity:1!important;
}
#analysisList .analysis-result-row b em{
  background:#0f766e!important;
  color:#fff!important;
  border:1px solid #0f766e!important;
  opacity:1!important;
}
#analysisList .analysis-result-row.is-miss b em{
  background:#0f766e!important;
  color:#fff!important;
  border-color:#0f766e!important;
}
#analysisList .analysis-result-row .result-status-line{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:5px!important;
}
#analysisList .analysis-result-row .analysis-pill{
  background:#fff!important;
  color:#0b1f36!important;
  border:1px solid #9bb8d8!important;
  box-shadow:none!important;
  opacity:1!important;
}
#analysisList .analysis-result-row .analysis-pill.is-note{
  background:#eef6ff!important;
  color:#102a4a!important;
}
#analysisList .analysis-result-row .analysis-row-note{
  color:#29425f!important;
  font-weight:700!important;
  opacity:1!important;
}
/* Codex analysis result row readability END v20260708-280 */

/* Codex appbar frame removal START v20260708-281 */
.appbar{
  border:0!important;
  border-bottom:0!important;
  outline:0!important;
  box-shadow:none!important;
}
.appbar::before,
.appbar::after{
  display:none!important;
  content:none!important;
}
.appbar #healthBadge.health-badge,
#healthBadge{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
/* Codex appbar frame removal END v20260708-281 */

/* Codex learning gate readability START v20260708-282 */
#learningGate.learning-gate{
  color:#f8fbff!important;
  text-shadow:none!important;
}
#learningGate .learning-gate-head{
  color:#f8fbff!important;
  opacity:1!important;
}
#learningGate .learning-gate-head .section-chip{
  background:#0f766e!important;
  border:1px solid #18b6a6!important;
  color:#fff!important;
  opacity:1!important;
}
#learningGate .learning-gate-grid{
  gap:7px!important;
}
#learningGate .learning-gate-grid>div{
  background:#f8fbff!important;
  color:#0b1f36!important;
  border:1px solid #9bb8d8!important;
  border-radius:0!important;
  box-shadow:none!important;
  opacity:1!important;
  text-shadow:none!important;
}
#learningGate .learning-gate-grid span{
  color:#284461!important;
  opacity:1!important;
  font-size:11px!important;
  line-height:1.18!important;
  font-weight:800!important;
  letter-spacing:0!important;
}
#learningGate .learning-gate-grid b,
#learningGate .learning-gate-grid strong{
  color:#061b31!important;
  opacity:1!important;
  font-size:clamp(18px,5.1vw,22px)!important;
  line-height:1.08!important;
  font-weight:850!important;
  letter-spacing:0!important;
}
#learningGate .learning-gate-grid em{
  color:#29425f!important;
  opacity:1!important;
  font-size:10px!important;
  line-height:1.22!important;
  font-style:normal!important;
  font-weight:700!important;
  letter-spacing:0!important;
}
/* Codex learning gate readability END v20260708-282 */

/* Codex analysis noisy sections removal START v20260708-283 */
#weightsList,
#knowledgeList,
#skipList + .split-head,
#weightsList + .split-head{
  display:none!important;
}
#collectStatusStrip b{
  display:none!important;
}
/* Codex analysis noisy sections removal END v20260708-283 */

/* Codex UI trim and sheet close fix START v20260708-284 */
#candidateList > .source-evidence-strip,
#candidateList .candidate-source-evidence{
  display:none!important;
}

#profitFilter,
.profit-filter{
  margin:4px 0 6px!important;
  gap:5px!important;
}

#candidateList .candidate-section-head{
  margin:3px 0 5px!important;
  padding-top:4px!important;
  padding-bottom:4px!important;
  min-height:24px!important;
}

.sheet-panel .vote-next-actions .sheet-copy-main,
.vote-next-actions .vote-next-btn.is-sub.sheet-copy-main{
  display:none!important;
}

.vote-sheet .vote-grid.official-grid-parity .vote-head,
.vote-sheet .vote-grid.official-grid-parity .vote-head span,
.vote-grid.official-grid-parity .vote-head,
.vote-grid.official-grid-parity .vote-head span{
  color:#0b1220!important;
  opacity:1!important;
  font-weight:950!important;
  text-shadow:none!important;
}

#sheetClose.sheet-close{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  height:34px!important;
  border-radius:6px!important;
  background:#f8fbff!important;
  color:#071827!important;
  border:1px solid #98afc8!important;
  box-shadow:0 2px 8px rgba(8,27,51,.20)!important;
  opacity:1!important;
  text-shadow:none!important;
  font-size:0!important;
  line-height:1!important;
  z-index:3!important;
}

#sheetClose.sheet-close::before{
  content:"\00d7";
  display:block;
  color:#071827!important;
  font-size:28px!important;
  font-weight:950!important;
  line-height:1!important;
}

#sheetClose.sheet-close:hover,
#sheetClose.sheet-close:focus-visible{
  background:#fff!important;
  color:#000!important;
  outline:2px solid rgba(23,107,216,.45)!important;
  outline-offset:2px!important;
}

#view-strength,
.tab[data-view="view-strength"]{
  display:none!important;
}

.race-live-card{
  display:grid!important;
  grid-template-rows:auto minmax(226px,auto)!important;
}

.race-live-meta{
  min-height:34px!important;
  padding:7px 10px 6px!important;
  gap:6px!important;
}

.race-live-meta b{
  font-size:17px!important;
}

.race-live-meta em{
  font-size:10px!important;
}

.race-live-time{
  gap:2px!important;
}

.race-live-priority{
  height:20px!important;
  padding:0 6px!important;
  font-size:9px!important;
}

.race-live-thumb{
  min-height:226px!important;
}

.race-live-frame{
  min-height:226px!important;
}

.race-live-links{
  display:none!important;
}

@media(max-width:430px){
  .race-live-card{
    grid-template-rows:auto minmax(218px,auto)!important;
  }
  .race-live-thumb,
  .race-live-frame{
    min-height:218px!important;
  }
  .race-live-meta{
    min-height:32px!important;
    padding:6px 9px!important;
  }
}
/* Codex UI trim and sheet close fix END v20260708-284 */

/* Codex analysis internal knowledge removal START v20260708-285 */
#view-result .internal-analysis-noise,
#view-result [data-analysis-internal],
#view-result #weightsList,
#view-result #knowledgeList,
#view-result #skipList + .split-head,
#view-result #weightsList + .split-head{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
}
/* Codex analysis internal knowledge removal END v20260708-285 */

/* Codex live video space priority START v20260708-286 */
#view-live{
  padding-top:6px!important;
}

#view-live .race-live-mode{
  margin:0 0 4px!important;
  padding:2px!important;
  border-radius:6px!important;
}

#view-live .race-live-mode button{
  height:26px!important;
  min-width:52px!important;
  font-size:11px!important;
}

#view-live .race-live-stats{
  display:none!important;
}

#view-live .race-live-controls{
  display:grid!important;
  grid-template-columns:1.4fr .8fr .9fr!important;
  gap:5px!important;
  margin:0 0 6px!important;
}

#view-live .race-live-controls .btn{
  min-width:0!important;
  min-height:32px!important;
  height:32px!important;
  padding:0 8px!important;
  font-size:12px!important;
}

#view-live .race-live-list{
  gap:8px!important;
}

#view-live .race-live-meta{
  min-height:30px!important;
  padding:5px 9px!important;
}

#view-live .race-live-meta b{
  font-size:16px!important;
}

#view-live .race-live-meta em{
  font-size:10px!important;
}

#view-live .race-live-time span{
  font-size:12px!important;
}

#view-live .race-live-priority{
  display:none!important;
}

#view-live .race-live-thumb{
  min-height:252px!important;
}

#view-live .race-live-frame{
  min-height:252px!important;
}

@media(max-width:430px){
  #view-live .race-live-thumb,
  #view-live .race-live-frame{
    min-height:244px!important;
  }
}

@media(max-width:390px){
  #view-live .race-live-controls{
    grid-template-columns:1.25fr .7fr .8fr!important;
  }
  #view-live .race-live-controls .btn{
    font-size:11px!important;
    padding:0 6px!important;
  }
  #view-live .race-live-thumb,
  #view-live .race-live-frame{
    min-height:236px!important;
  }
}
/* Codex live video space priority END v20260708-286 */

/* Codex UI balance pass START v20260708-287 */
.collect-status-strip{
  justify-content:flex-end!important;
  text-align:right!important;
  gap:10px!important;
}
.collect-status-strip span{
  margin-left:auto!important;
}

.race-name{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  flex-wrap:nowrap!important;
}
.race-name span,
.race-name b{
  flex:0 0 auto!important;
}
.race-ticket-chip{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:20px!important;
  padding:0 7px!important;
  border:1px solid rgba(255,255,255,.22)!important;
  background:rgba(255,255,255,.10)!important;
  color:#eaf6ff!important;
  font-size:10px!important;
  font-weight:900!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.card .handoff-copy-card,
.card .handoff-copy-line{
  display:none!important;
}
.band-copy-warning.is-compact{
  margin:4px 0 0!important;
  padding:4px 6px!important;
  font-size:10px!important;
  line-height:1.2!important;
}
article.card .reason-drawer:not(.sheet-reason-drawer) > .reason-head span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:0!important;
}

#view-races .race-date,
#view-races .race-time{
  color:#dcecff!important;
  opacity:1!important;
  text-shadow:none!important;
  font-weight:900!important;
}
#view-races .race-pick-line.race-value-line{
  color:#13243a!important;
  background:#f3fbff!important;
  border-color:#b8d8ef!important;
  opacity:1!important;
  text-shadow:none!important;
}
#view-races .race-pick-line.race-value-line.is-skip{
  background:#fff7e8!important;
  color:#1c2738!important;
  border-color:#efc979!important;
}
#view-races .race-pick-line.race-value-line.is-missing{
  background:#f7fbff!important;
  color:#243347!important;
  border-color:#ccd9e6!important;
}
#view-races .race-value-line span,
#view-races .race-value-line em{
  color:#52647a!important;
  opacity:1!important;
}
#view-races .race-value-line b{
  color:#06172a!important;
}
#view-races .race-value-line .profit{
  color:#00856f!important;
  font-weight:950!important;
}

.vote-sheet > .vote-odds{
  grid-template-columns:minmax(92px,34%) minmax(128px,1fr)!important;
  align-items:center!important;
  height:32px!important;
  min-height:32px!important;
  margin-top:-1px!important;
}
.vote-sheet > .vote-odds span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:100%!important;
  padding:0 8px!important;
  line-height:1!important;
}
.vote-sheet > .vote-odds b{
  align-self:center!important;
  justify-self:stretch!important;
  width:auto!important;
  min-width:0!important;
  height:24px!important;
  min-height:24px!important;
  margin:4px 20px 4px 6px!important;
  transform:none!important;
}
.sheet-panel .vote-next-actions .sheet-auto-main,
.vote-next-actions .vote-next-btn.is-auto.sheet-auto-main{
  min-height:44px!important;
  height:44px!important;
  font-size:18px!important;
  line-height:1.15!important;
}
.sheet-body > .sheet-budget{
  gap:6px!important;
  margin:6px 0 8px!important;
}
.sheet-body > .sheet-budget div{
  min-height:78px!important;
  padding:8px 6px!important;
}
.sheet-body > .sheet-budget span{
  font-size:10px!important;
  line-height:1.15!important;
}
.sheet-body > .sheet-budget b{
  font-size:16px!important;
  line-height:1.12!important;
  font-weight:800!important;
}
.sheet-body > .sheet-budget b::first-line{
  line-height:1!important;
}

#summaryCards .summary-group-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
#summaryCards .summary-group-grid>div{
  min-height:64px!important;
  padding:7px 5px!important;
}
#summaryCards .summary-group-grid>div b{
  font-size:clamp(15px,4.3vw,20px)!important;
  line-height:1.05!important;
  word-break:keep-all!important;
  overflow-wrap:anywhere!important;
}
#summaryCards .summary-group-grid>div span{
  min-height:22px!important;
}
#summaryCards .summary-group-purchase .summary-group-grid>div b{
  font-size:clamp(15px,4vw,19px)!important;
}

#candidateSkeleton .skeleton-card,
.skeleton-card{
  min-height:92px!important;
  padding:10px!important;
}
#candidateSkeleton .skeleton-line,
.skeleton-line{
  max-width:100%!important;
}
#candidateSkeleton .skeleton-line:nth-child(2),
.skeleton-line:nth-child(2){
  width:88%!important;
}
#candidateSkeleton .skeleton-line:nth-child(3),
.skeleton-line:nth-child(3){
  width:68%!important;
}
/* Codex UI balance pass END v20260708-287 */

/* Codex live missing implementation lock START v20260708-288 */
#raceLiveRefreshBtn,
#raceLiveCollapseBtn{
  display:none!important;
}

#view-live .race-live-controls{
  grid-template-columns:1fr!important;
  gap:0!important;
  margin:0 0 6px!important;
}

#view-live #raceLiveQuadBtn{
  min-height:36px!important;
  height:36px!important;
  font-size:13px!important;
  font-weight:950!important;
}

#view-live .race-live-links{
  display:none!important;
}

#view-live .race-live-card{
  overflow:hidden!important;
}

#view-live .race-live-thumb,
#view-live .race-live-frame{
  min-height:276px!important;
}

#view-live .race-live-quad{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:6px!important;
  margin:0 0 8px!important;
}

#view-live .race-live-quad-cell{
  min-height:134px!important;
}

#view-live .race-live-quad-cell iframe{
  min-height:104px!important;
}

#view-live .race-live-quad-title{
  min-height:28px!important;
  padding:4px 6px!important;
}

@media(max-width:430px){
  #view-live .race-live-thumb,
  #view-live .race-live-frame{
    min-height:268px!important;
  }
  #view-live .race-live-quad-cell{
    min-height:128px!important;
  }
  #view-live .race-live-quad-cell iframe{
    min-height:98px!important;
  }
}

@media(max-width:390px){
  #view-live .race-live-thumb,
  #view-live .race-live-frame{
    min-height:260px!important;
  }
  #view-live .race-live-quad{
    gap:5px!important;
  }
}
/* Codex live missing implementation lock END v20260708-288 */

/* CC v288: 倍率帯別提案の候補カード実測併記バッジ（不利帯を正直に見せる・2026-07-08） */
.mode-badge.mode-mid{background:#eef4ff;color:#1e4fa8;border:1px solid #b9cef0}
.mode-badge.mode-high{background:#fff3f5;color:#b3102f;border:1px solid #f0b9c6}
.cand-band-verdict{display:flex;flex-direction:column;gap:1px;margin:5px 0 6px;padding:5px 9px;border-radius:6px;border-left:3px solid #9aa8b8;background:#f4f7fa}
.cand-band-verdict b{font-size:12px;font-weight:900;color:#334761}
.cand-band-verdict span{font-size:10px;font-weight:800;color:#66758a}
.cand-band-verdict.is-signal{background:rgba(56,228,200,.12);border-left-color:#12b39a}
.cand-band-verdict.is-signal b{color:#0b7d6c}
.cand-band-verdict.is-weak{background:rgba(216,25,63,.10);border-left-color:#d8193f}
.cand-band-verdict.is-weak b{color:#c01037}

/* Codex collect/source/live12 cleanup START v20260708-291 */
#collectStatusStrip{
  justify-content:space-between!important;
}

#collectStatusStrip b{
  display:inline-flex!important;
  margin-left:auto!important;
  color:#38e4c8!important;
}

#candidateList > .source-evidence-strip{
  display:none!important;
}

#view-live .race-live-race-strip{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:2px!important;
  padding:5px 8px 4px!important;
  background:#07162b!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
}

#view-live .race-live-race-strip span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  height:22px!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:900!important;
  color:#aebfda!important;
  background:#132743!important;
  border:1px solid rgba(142,174,217,.28)!important;
}

#view-live .race-live-race-strip span.is-current{
  color:#06182a!important;
  background:#38e4c8!important;
  border-color:#38e4c8!important;
}

#view-live .race-live-race-strip span.is-past{
  color:#70819b!important;
  background:#0d1b2f!important;
}

#view-live .race-live-thumb,
#view-live .race-live-frame{
  min-height:248px!important;
}

@media(max-width:430px){
  #view-live .race-live-race-strip{
    padding:4px 6px!important;
  }
  #view-live .race-live-race-strip span{
    height:20px!important;
    font-size:9px!important;
  }
  #view-live .race-live-thumb,
  #view-live .race-live-frame{
    min-height:238px!important;
  }
}

@media(max-width:390px){
  #view-live .race-live-race-strip span{
    height:19px!important;
    font-size:8px!important;
  }
  #view-live .race-live-thumb,
  #view-live .race-live-frame{
    min-height:230px!important;
  }
}
/* Codex collect/source/live12 cleanup END v20260708-291 */

/* Codex races value text readability START v20260708-292 */
#view-races .race-pick-line.race-value-line,
#view-races .race-pick-line.race-value-line.is-pick,
#view-races .race-pick-line.race-value-line.is-skip,
#view-races .race-pick-line.race-value-line.is-missing{
  color:#101827!important;
  opacity:1!important;
  text-shadow:none!important;
}

#view-races .race-value-line span,
#view-races .race-value-line em,
#view-races .race-value-line b,
#view-races .race-value-line .profit{
  color:#101827!important;
  opacity:1!important;
  text-shadow:none!important;
  font-weight:900!important;
}
/* Codex races value text readability END v20260708-292 */

/* Codex live header status layout START v20260708-293 */
.appbar #healthBadge.health-badge,
#healthBadge{
  display:grid!important;
  grid-template-columns:auto auto!important;
  grid-template-areas:"dot status" "dot label"!important;
  align-items:center!important;
  justify-items:end!important;
  column-gap:4px!important;
  row-gap:1px!important;
  min-width:54px!important;
  max-width:76px!important;
  text-align:right!important;
}

.appbar #healthBadge.health-badge i,
#healthBadge i{
  grid-area:dot!important;
  width:5px!important;
  height:5px!important;
  border-radius:1px!important;
  background:#38e4c8!important;
}

.appbar #healthBadge.health-badge em,
#healthBadge em{
  grid-area:status!important;
  display:block!important;
  color:#38e4c8!important;
  font-style:normal!important;
  font-size:8px!important;
  font-weight:950!important;
  line-height:1!important;
  white-space:nowrap!important;
}

.appbar #healthBadge.health-badge b,
#healthBadge b{
  grid-area:label!important;
  display:block!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:950!important;
  line-height:1!important;
  white-space:nowrap!important;
}

#collectStatusStrip{
  justify-content:flex-end!important;
  text-align:right!important;
  padding-left:8px!important;
  padding-right:8px!important;
  gap:0!important;
}

#collectStatusStrip span{
  display:block!important;
  margin-left:auto!important;
  max-width:100%!important;
  color:#dcecff!important;
  font-size:9px!important;
  font-weight:900!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

#collectStatusStrip b{
  display:none!important;
}

#view-live .race-live-mode{
  display:grid!important;
  width:max-content!important;
  margin:0 0 4px auto!important;
  justify-content:end!important;
}
/* Codex live header status layout END v20260708-293 */

/* Codex live card video layout START v20260708-294 */
#view-live .race-live-card{
  display:block!important;
  grid-template-rows:none!important;
}

#view-live .race-live-meta{
  align-items:start!important;
  padding:4px 10px 3px!important;
  min-height:34px!important;
}

#view-live .race-live-title{
  min-width:0!important;
}

#view-live .race-live-time{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  gap:1px!important;
  min-width:72px!important;
  text-align:right!important;
  transform:translateY(-2px)!important;
}

#view-live .race-live-time span{
  font-size:11px!important;
  line-height:1.05!important;
  color:#38e4c8!important;
  white-space:nowrap!important;
}

#view-live .race-live-time em{
  max-width:92px!important;
  color:#d8e8ff!important;
  font-size:9px!important;
  font-weight:900!important;
  line-height:1.1!important;
  text-align:right!important;
  white-space:nowrap!important;
}

#view-live .race-live-race-strip{
  margin:0!important;
  padding:3px 8px!important;
  align-items:center!important;
}

#view-live .race-live-race-strip span{
  height:18px!important;
  font-size:9px!important;
}

@keyframes raceCurrentFloatPulse{
  0%,100%{
    transform:translateY(0);
    opacity:1;
    box-shadow:0 0 0 0 rgba(56,228,200,.24);
  }
  50%{
    transform:translateY(-2px);
    opacity:.78;
    box-shadow:0 0 0 4px rgba(56,228,200,0);
  }
}

#view-live .race-live-race-strip span.is-current{
  animation:raceCurrentFloatPulse 1.65s ease-in-out infinite!important;
  will-change:transform,opacity!important;
}

#view-live .race-live-thumb,
#view-live .race-live-frame{
  min-height:248px!important;
  margin-top:0!important;
}

#view-live .race-live-thumb{
  border-top:0!important;
}

@media(max-width:430px){
  #view-live .race-live-meta{
    padding:4px 9px 3px!important;
  }
  #view-live .race-live-time{
    min-width:68px!important;
  }
  #view-live .race-live-race-strip{
    padding:3px 6px!important;
  }
  #view-live .race-live-race-strip span{
    height:17px!important;
    font-size:8px!important;
  }
  #view-live .race-live-thumb,
  #view-live .race-live-frame{
    min-height:238px!important;
  }
}

@media(max-width:390px){
  #view-live .race-live-time{
    min-width:66px!important;
  }
  #view-live .race-live-time span{
    font-size:10px!important;
  }
  #view-live .race-live-time em{
    font-size:8px!important;
  }
  #view-live .race-live-race-strip span{
    height:16px!important;
    font-size:7px!important;
  }
  #view-live .race-live-thumb,
  #view-live .race-live-frame{
    min-height:230px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  #view-live .race-live-race-strip span.is-current{
    animation:none!important;
  }
}
/* Codex live card video layout END v20260708-294 */

/* Codex live video right edge inset START v20260708-295 */
#view-live .race-live-thumb,
#view-live .race-live-frame{
  width:calc(100% - 10px)!important;
  margin-left:5px!important;
  margin-right:5px!important;
  box-sizing:border-box!important;
}

#view-live .race-live-thumb{
  display:grid!important;
}

#view-live .race-live-frame iframe{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:100%!important;
  box-sizing:border-box!important;
}

@media(max-width:390px){
  #view-live .race-live-thumb,
  #view-live .race-live-frame{
    width:calc(100% - 8px)!important;
    margin-left:4px!important;
    margin-right:4px!important;
  }
}
/* Codex live video right edge inset END v20260708-295 */

/* Codex live official autoplay persist START v20260708-296 */
#view-live .race-live-card.is-playing .race-live-thumb,
#view-live .race-live-thumb[hidden]{
  display:none!important;
}

#view-live .race-live-frame[hidden]{
  display:none!important;
}

#view-live .race-live-frame{
  display:block!important;
  overflow:hidden!important;
  background:#000!important;
  user-select:none!important;
  -webkit-user-select:none!important;
  contain:paint!important;
}

#view-live .race-live-frame iframe{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:100%!important;
  min-height:100%!important;
  border:0!important;
  background:#000!important;
}

#view-live .race-live-links{
  display:none!important;
}

#view-live .race-live-card.is-playing .race-live-meta{
  border-bottom:1px solid rgba(255,255,255,.08)!important;
}

#view-live .race-live-card.is-playing .race-live-race-strip{
  border-bottom:1px solid rgba(255,255,255,.06)!important;
}
/* Codex live official autoplay persist END v20260708-296 */

/* Codex home trim START v20260708-298 */
#candidateList .opportunity-banner,
.sheet-panel .vote-amount{
  display:none!important;
}

#candidateList .profit-filter button{
  font-size:8.5px!important;
  padding-inline:2px!important;
}
/* Codex home trim END v20260708-298 */

/* Codex official vote grid exact sizing START v20260708-299 */
.vote-sheet{
  border-radius:0!important;
}

.vote-sheet .vote-grid.official-grid-parity,
.spvote-guide .vote-grid.official-grid-parity,
.vote-grid.official-grid-parity{
  display:block!important;
  width:100%!important;
  border:1px solid #d6dce2!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:none!important;
}

.vote-sheet .vote-grid.official-grid-parity .vote-head,
.vote-sheet .vote-grid.official-grid-parity .vote-row,
.spvote-guide .vote-grid.official-grid-parity .vote-head,
.spvote-guide .vote-grid.official-grid-parity .vote-row,
.vote-grid.official-grid-parity .vote-head,
.vote-grid.official-grid-parity .vote-row{
  display:grid!important;
  grid-template-columns:minmax(24px,.55fr) minmax(118px,3.7fr) minmax(28px,.75fr) repeat(3,minmax(48px,1.45fr))!important;
  column-gap:0!important;
  align-items:stretch!important;
}

.vote-sheet .vote-grid.official-grid-parity .vote-head,
.spvote-guide .vote-grid.official-grid-parity .vote-head,
.vote-grid.official-grid-parity .vote-head{
  min-height:38px!important;
  background:#d9d9d9!important;
  color:#333!important;
  font-size:10.5px!important;
  font-weight:500!important;
  line-height:1.25!important;
}

.vote-sheet .vote-grid.official-grid-parity .vote-head span,
.spvote-guide .vote-grid.official-grid-parity .vote-head span,
.vote-grid.official-grid-parity .vote-head span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 2px!important;
  border-right:2px solid #ececec!important;
  color:#333!important;
  opacity:1!important;
  text-align:center!important;
  text-shadow:none!important;
}

.vote-sheet .vote-grid.official-grid-parity .vote-row,
.spvote-guide .vote-grid.official-grid-parity .vote-row,
.vote-grid.official-grid-parity .vote-row{
  min-height:55px!important;
  border-top:1px solid #dedede!important;
  border-bottom:0!important;
  background:#fff!important;
}

.vote-sheet .vote-grid.official-grid-parity .vote-row:nth-child(odd),
.spvote-guide .vote-grid.official-grid-parity .vote-row:nth-child(odd),
.vote-grid.official-grid-parity .vote-row:nth-child(odd){
  background:#f1f1f1!important;
}

.vote-sheet .vote-grid.official-grid-parity .vote-row > *,
.spvote-guide .vote-grid.official-grid-parity .vote-row > *,
.vote-grid.official-grid-parity .vote-row > *{
  border-right:2px solid #ececec!important;
  min-width:0!important;
}

.vote-sheet .vote-grid.official-grid-parity .vote-head > *:last-child,
.vote-sheet .vote-grid.official-grid-parity .vote-row > *:last-child,
.spvote-guide .vote-grid.official-grid-parity .vote-head > *:last-child,
.spvote-guide .vote-grid.official-grid-parity .vote-row > *:last-child,
.vote-grid.official-grid-parity .vote-head > *:last-child,
.vote-grid.official-grid-parity .vote-row > *:last-child{
  border-right:0!important;
}

.vote-sheet .vote-grid.official-grid-parity .vote-frame,
.spvote-guide .vote-grid.official-grid-parity .vote-frame,
.vote-grid.official-grid-parity .vote-frame{
  min-height:55px!important;
  display:grid!important;
  place-items:center!important;
  font-size:19px!important;
  font-weight:850!important;
  line-height:1!important;
}

.vote-sheet .vote-grid.official-grid-parity .vote-racer,
.spvote-guide .vote-grid.official-grid-parity .vote-racer,
.vote-grid.official-grid-parity .vote-racer{
  min-height:55px!important;
  padding:4px 4px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:1px!important;
  text-align:center!important;
  line-height:1.08!important;
  background:transparent!important;
}

.vote-sheet .vote-grid.official-grid-parity .vote-racer b,
.spvote-guide .vote-grid.official-grid-parity .vote-racer b,
.vote-grid.official-grid-parity .vote-racer b{
  font-size:14px!important;
  font-weight:850!important;
  line-height:1.08!important;
  color:#111!important;
  text-decoration:underline!important;
  text-underline-offset:2px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  max-width:100%!important;
}

.vote-sheet .vote-grid.official-grid-parity .racer-meta,
.spvote-guide .vote-grid.official-grid-parity .racer-meta,
.vote-grid.official-grid-parity .racer-meta{
  order:-1!important;
  min-height:12px!important;
  color:#444!important;
  font-size:12px!important;
  font-weight:500!important;
  line-height:1.05!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  max-width:100%!important;
}

.vote-sheet .vote-grid.official-grid-parity .vote-fl,
.spvote-guide .vote-grid.official-grid-parity .vote-fl,
.vote-grid.official-grid-parity .vote-fl{
  min-height:55px!important;
  display:grid!important;
  place-items:center!important;
  color:#333!important;
  font-size:12px!important;
  font-weight:500!important;
  background:transparent!important;
}

.vote-sheet .vote-grid.official-grid-parity .vote-mark,
.spvote-guide .vote-grid.official-grid-parity .vote-mark,
.vote-grid.official-grid-parity .vote-mark{
  width:calc(100% - 7px)!important;
  min-width:0!important;
  height:43px!important;
  margin:6px 3px!important;
  border:1px solid #d5d5d5!important;
  border-radius:5px!important;
  background:#fff!important;
  box-shadow:0 1px 2px rgba(0,0,0,.14)!important;
  color:#1569bf!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.vote-sheet .vote-grid.official-grid-parity .vote-mark b,
.spvote-guide .vote-grid.official-grid-parity .vote-mark b,
.vote-grid.official-grid-parity .vote-mark b{
  color:#1569bf!important;
  font-size:28px!important;
  font-weight:750!important;
  line-height:.9!important;
}

.vote-sheet .vote-grid.official-grid-parity .vote-mark.is-selected,
.spvote-guide .vote-grid.official-grid-parity .vote-mark.is-selected,
.vote-grid.official-grid-parity .vote-mark.is-selected{
  background:#3d7fe0!important;
  border-color:#3d7fe0!important;
  box-shadow:0 1px 2px rgba(0,0,0,.14)!important;
  color:#fff!important;
}

.vote-sheet .vote-grid.official-grid-parity .vote-mark.is-selected b,
.spvote-guide .vote-grid.official-grid-parity .vote-mark.is-selected b,
.vote-grid.official-grid-parity .vote-mark.is-selected b{
  color:#fff!important;
}

.vote-sheet .vote-grid.official-grid-parity .vote-mark.is-selected::after,
.spvote-guide .vote-grid.official-grid-parity .vote-mark.is-selected::after,
.vote-grid.official-grid-parity .vote-mark.is-selected::after{
  display:none!important;
}

.vote-sheet .vote-grid.official-grid-parity .lane-1{background:#fff!important;color:#111!important}
.vote-sheet .vote-grid.official-grid-parity .lane-2{background:#0d1421!important;color:#fff!important}
.vote-sheet .vote-grid.official-grid-parity .lane-3{background:#e95c61!important;color:#fff!important}
.vote-sheet .vote-grid.official-grid-parity .lane-4{background:#6ca0db!important;color:#fff!important}
.vote-sheet .vote-grid.official-grid-parity .lane-5{background:#f7d900!important;color:#111!important}
.vote-sheet .vote-grid.official-grid-parity .lane-6{background:#17a067!important;color:#fff!important}

@media (min-width: 420px){
  .vote-sheet .vote-grid.official-grid-parity .vote-row,
  .spvote-guide .vote-grid.official-grid-parity .vote-row,
  .vote-grid.official-grid-parity .vote-row{
    min-height:58px!important;
  }
  .vote-sheet .vote-grid.official-grid-parity .vote-frame,
  .spvote-guide .vote-grid.official-grid-parity .vote-frame,
  .vote-grid.official-grid-parity .vote-frame,
  .vote-sheet .vote-grid.official-grid-parity .vote-racer,
  .spvote-guide .vote-grid.official-grid-parity .vote-racer,
  .vote-grid.official-grid-parity .vote-racer,
  .vote-sheet .vote-grid.official-grid-parity .vote-fl,
  .spvote-guide .vote-grid.official-grid-parity .vote-fl,
  .vote-grid.official-grid-parity .vote-fl{
    min-height:58px!important;
  }
  .vote-sheet .vote-grid.official-grid-parity .vote-mark,
  .spvote-guide .vote-grid.official-grid-parity .vote-mark,
  .vote-grid.official-grid-parity .vote-mark{
    height:46px!important;
  }
  .vote-sheet .vote-grid.official-grid-parity .vote-mark b,
  .spvote-guide .vote-grid.official-grid-parity .vote-mark b,
  .vote-grid.official-grid-parity .vote-mark b{
    font-size:29px!important;
  }
}
/* Codex official vote grid exact sizing END v20260708-299 */

/* Codex official density/status finish START v20260708-299 */
#collectStatusStrip{
  display:none!important;
}

.appbar #healthBadge.health-badge,
#healthBadge{
  grid-template-columns:auto auto!important;
  grid-template-areas:"dot status" "dot label"!important;
  min-width:98px!important;
  max-width:132px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  justify-self:end!important;
}

.appbar #healthBadge.health-badge em,
#healthBadge em{
  font-size:8.5px!important;
  color:#dcecff!important;
  letter-spacing:0!important;
}

.appbar #healthBadge.health-badge b,
#healthBadge b{
  font-size:10px!important;
  color:#fff!important;
  letter-spacing:0!important;
}

article.card,
#candidateList article.card{
  background:#122743!important;
}

article.card .rank,
.card .rank{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:20px!important;
  padding:0 6px!important;
  border:1px solid rgba(56,228,200,.46)!important;
  background:rgba(56,228,200,.08)!important;
  color:#38e4c8!important;
  font-size:10px!important;
  font-weight:950!important;
  line-height:1!important;
}

article.card .deadline-top{
  max-width:none!important;
  min-height:20px!important;
  padding:2px 7px!important;
  font-size:10px!important;
  font-weight:950!important;
  line-height:1.1!important;
}

article.card .race-ticket-chip,
.race-ticket-chip{
  font-size:10px!important;
  font-weight:950!important;
  min-height:19px!important;
  padding:0 7px!important;
  border-radius:2px!important;
}

.vote-sheet .vote-grid.official-grid-parity .vote-head,
.spvote-guide .vote-grid.official-grid-parity .vote-head,
.vote-grid.official-grid-parity .vote-head{
  min-height:36px!important;
  font-size:10px!important;
  padding:0!important;
  box-sizing:border-box!important;
}

.vote-sheet .vote-grid.official-grid-parity .vote-row,
.spvote-guide .vote-grid.official-grid-parity .vote-row,
.vote-grid.official-grid-parity .vote-row{
  min-height:48px!important;
  padding:0!important;
  box-sizing:border-box!important;
}

.vote-sheet .vote-grid.official-grid-parity .vote-frame,
.spvote-guide .vote-grid.official-grid-parity .vote-frame,
.vote-grid.official-grid-parity .vote-frame,
.vote-sheet .vote-grid.official-grid-parity .vote-racer,
.spvote-guide .vote-grid.official-grid-parity .vote-racer,
.vote-grid.official-grid-parity .vote-racer,
.vote-sheet .vote-grid.official-grid-parity .vote-fl,
.spvote-guide .vote-grid.official-grid-parity .vote-fl,
.vote-grid.official-grid-parity .vote-fl{
  min-height:48px!important;
  box-sizing:border-box!important;
}

.vote-sheet .vote-grid.official-grid-parity .vote-racer b,
.spvote-guide .vote-grid.official-grid-parity .vote-racer b,
.vote-grid.official-grid-parity .vote-racer b{
  font-size:13px!important;
}

.vote-sheet .vote-grid.official-grid-parity .racer-meta,
.spvote-guide .vote-grid.official-grid-parity .racer-meta,
.vote-grid.official-grid-parity .racer-meta{
  font-size:11px!important;
}

.vote-sheet .vote-grid.official-grid-parity .vote-mark,
.spvote-guide .vote-grid.official-grid-parity .vote-mark,
.vote-grid.official-grid-parity .vote-mark{
  width:calc(100% - 6px)!important;
  height:38px!important;
  margin:4px 3px!important;
}

.vote-sheet .vote-grid.official-grid-parity .vote-mark b,
.spvote-guide .vote-grid.official-grid-parity .vote-mark b,
.vote-grid.official-grid-parity .vote-mark b{
  font-size:26px!important;
  font-weight:800!important;
}

.vote-sheet > .vote-odds{
  grid-template-columns:minmax(54px,26%) minmax(0,1fr)!important;
  height:29px!important;
  min-height:29px!important;
  margin-top:-5px!important;
  transform:translateY(-1px)!important;
}

.vote-sheet > .vote-odds span{
  padding:0 4px!important;
  font-size:13px!important;
  justify-content:center!important;
}

.vote-sheet > .vote-odds b{
  height:21px!important;
  min-height:21px!important;
  margin:3px 22px 3px 4px!important;
  font-size:12.5px!important;
}

.sheet-body > .sheet-budget{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:4px!important;
  margin:4px 0 6px!important;
}

.sheet-body > .sheet-budget div{
  min-height:52px!important;
  padding:5px 4px!important;
  border-radius:4px!important;
}

.sheet-body > .sheet-budget span{
  font-size:9px!important;
  line-height:1.1!important;
}

.sheet-body > .sheet-budget b{
  font-size:13px!important;
  line-height:1.05!important;
  font-weight:850!important;
}

@media (min-width: 420px){
  .vote-sheet .vote-grid.official-grid-parity .vote-row,
  .spvote-guide .vote-grid.official-grid-parity .vote-row,
  .vote-grid.official-grid-parity .vote-row,
  .vote-sheet .vote-grid.official-grid-parity .vote-frame,
  .spvote-guide .vote-grid.official-grid-parity .vote-frame,
  .vote-grid.official-grid-parity .vote-frame,
  .vote-sheet .vote-grid.official-grid-parity .vote-racer,
  .spvote-guide .vote-grid.official-grid-parity .vote-racer,
  .vote-grid.official-grid-parity .vote-racer,
  .vote-sheet .vote-grid.official-grid-parity .vote-fl,
  .spvote-guide .vote-grid.official-grid-parity .vote-fl,
  .vote-grid.official-grid-parity .vote-fl{
    min-height:50px!important;
  }
  .vote-sheet .vote-grid.official-grid-parity .vote-mark,
  .spvote-guide .vote-grid.official-grid-parity .vote-mark,
  .vote-grid.official-grid-parity .vote-mark{
    height:40px!important;
  }
  .vote-sheet .vote-grid.official-grid-parity .vote-mark b,
  .spvote-guide .vote-grid.official-grid-parity .vote-mark b,
  .vote-grid.official-grid-parity .vote-mark b{
    font-size:27px!important;
  }
}
/* Codex official density/status finish END v20260708-299 */

/* Codex official grid final density START v20260708-299b */
.vote-sheet .vote-grid.official-grid-parity .vote-row,
.spvote-guide .vote-grid.official-grid-parity .vote-row,
.vote-grid.official-grid-parity .vote-row{
  min-height:44px!important;
}

.vote-sheet .vote-grid.official-grid-parity .vote-frame,
.spvote-guide .vote-grid.official-grid-parity .vote-frame,
.vote-grid.official-grid-parity .vote-frame,
.vote-sheet .vote-grid.official-grid-parity .vote-racer,
.spvote-guide .vote-grid.official-grid-parity .vote-racer,
.vote-grid.official-grid-parity .vote-racer,
.vote-sheet .vote-grid.official-grid-parity .vote-fl,
.spvote-guide .vote-grid.official-grid-parity .vote-fl,
.vote-grid.official-grid-parity .vote-fl{
  min-height:44px!important;
}

.vote-sheet .vote-grid.official-grid-parity .vote-racer,
.spvote-guide .vote-grid.official-grid-parity .vote-racer,
.vote-grid.official-grid-parity .vote-racer{
  padding:1px 2px!important;
  gap:0!important;
}

.vote-sheet .vote-grid.official-grid-parity .vote-racer b,
.spvote-guide .vote-grid.official-grid-parity .vote-racer b,
.vote-grid.official-grid-parity .vote-racer b{
  font-size:12.5px!important;
  line-height:1.02!important;
}

.vote-sheet .vote-grid.official-grid-parity .racer-meta,
.spvote-guide .vote-grid.official-grid-parity .racer-meta,
.vote-grid.official-grid-parity .racer-meta{
  min-height:10px!important;
  font-size:10.5px!important;
  line-height:1!important;
}

.vote-sheet .vote-grid.official-grid-parity .vote-mark,
.spvote-guide .vote-grid.official-grid-parity .vote-mark,
.vote-grid.official-grid-parity .vote-mark{
  width:calc(100% - 4px)!important;
  height:34px!important;
  min-height:34px!important;
  padding:0!important;
  margin:4px 2px!important;
}

.vote-sheet .vote-grid.official-grid-parity .vote-mark b,
.spvote-guide .vote-grid.official-grid-parity .vote-mark b,
.vote-grid.official-grid-parity .vote-mark b{
  font-size:24px!important;
}

@media (min-width: 420px){
  .vote-sheet .vote-grid.official-grid-parity .vote-row,
  .spvote-guide .vote-grid.official-grid-parity .vote-row,
  .vote-grid.official-grid-parity .vote-row,
  .vote-sheet .vote-grid.official-grid-parity .vote-frame,
  .spvote-guide .vote-grid.official-grid-parity .vote-frame,
  .vote-grid.official-grid-parity .vote-frame,
  .vote-sheet .vote-grid.official-grid-parity .vote-racer,
  .spvote-guide .vote-grid.official-grid-parity .vote-racer,
  .vote-grid.official-grid-parity .vote-racer,
  .vote-sheet .vote-grid.official-grid-parity .vote-fl,
  .spvote-guide .vote-grid.official-grid-parity .vote-fl,
  .vote-grid.official-grid-parity .vote-fl{
    min-height:46px!important;
  }

  .vote-sheet .vote-grid.official-grid-parity .vote-mark,
  .spvote-guide .vote-grid.official-grid-parity .vote-mark,
  .vote-grid.official-grid-parity .vote-mark{
    height:36px!important;
    min-height:36px!important;
  }

  .vote-sheet .vote-grid.official-grid-parity .vote-mark b,
  .spvote-guide .vote-grid.official-grid-parity .vote-mark b,
  .vote-grid.official-grid-parity .vote-mark b{
    font-size:25px!important;
  }
}
/* Codex official grid final density END v20260708-299b */

/* 一括コピー行（公式ベットリスト連続入力補助・2026-07-08 CC） */
.candidate-bulk-copy {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 8px 0;
  flex-wrap: wrap;
}
.candidate-bulk-copy .bulk-copy-btn { font-size: 13px; }
.candidate-bulk-copy .card-msg { font-size: 12px; }

/* Codex header data status lamp START v20260709-303 */
.appbar #healthBadge.health-badge,
#healthBadge{
  display:grid!important;
  grid-template-columns:minmax(0,auto) 7px!important;
  grid-template-areas:"status status" "label dot"!important;
  justify-content:end!important;
  justify-items:end!important;
  align-items:center!important;
  column-gap:4px!important;
  row-gap:1px!important;
  min-width:112px!important;
  max-width:160px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-align:right!important;
}

.appbar #healthBadge.health-badge em,
#healthBadge em{
  grid-area:status!important;
  display:block!important;
  max-width:160px!important;
  color:#d9e8ff!important;
  font-size:8.5px!important;
  font-weight:800!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.appbar #healthBadge.health-badge b,
#healthBadge b{
  grid-area:label!important;
  display:block!important;
  max-width:148px!important;
  color:#ffffff!important;
  font-size:9.5px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.appbar #healthBadge.health-badge i,
#healthBadge i{
  grid-area:dot!important;
  display:block!important;
  width:6px!important;
  height:6px!important;
  margin:0!important;
  border-radius:50%!important;
  border:0!important;
  background:#36f2a9!important;
  box-shadow:0 0 7px rgba(54,242,169,.75)!important;
}

#healthBadge.is-ok i{
  background:#36f2a9!important;
  box-shadow:0 0 7px rgba(54,242,169,.75)!important;
}

#healthBadge.is-warn i{
  background:#ffd447!important;
  box-shadow:0 0 7px rgba(255,212,71,.72)!important;
}

#healthBadge.is-ng i{
  background:#ff4d67!important;
  box-shadow:0 0 7px rgba(255,77,103,.74)!important;
}
/* Codex header data status lamp END v20260709-303 */

/* Codex splash B-wave icon START v20260709-303 */
.app-splash .splash-core{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  width:min(78vw,280px)!important;
  min-height:178px!important;
  gap:8px!important;
  overflow:visible!important;
}

.app-splash .splash-brand-mark.brand-mark-bwave{
  width:42px!important;
  height:42px!important;
  flex:0 0 42px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.app-splash .splash-brand-mark.brand-mark-bwave svg{
  width:42px!important;
  height:42px!important;
}

.app-splash .splash-brand-mark.brand-mark-bwave .brand-b-stem,
.app-splash .splash-brand-mark.brand-mark-bwave .brand-b-arc{
  stroke:#ffffff!important;
  stroke-width:3.2!important;
}

.app-splash .splash-brand-mark.brand-mark-bwave .brand-wave{
  stroke:#38e4c8!important;
  stroke-width:2.25!important;
}

.app-splash .splash-core b{
  display:block!important;
  animation:bcSplashTitleIn .68s cubic-bezier(.18,.82,.26,1) both!important;
  text-shadow:0 8px 24px rgba(0,20,52,.35)!important;
}

.app-splash .splash-core em{
  animation:bcSplashTitleIn .68s cubic-bezier(.18,.82,.26,1) .08s both!important;
}

@keyframes bcSplashTitleIn{
  from{transform:translateX(42px); opacity:0}
  to{transform:translateX(0); opacity:1}
}

@media (prefers-reduced-motion:reduce){
  .app-splash .splash-core b,
  .app-splash .splash-core em{
    animation:none!important;
  }
}
/* Codex splash B-wave icon END v20260709-303 */
