/* 競馬予想検証アプリ Ver.2 */
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,'Yu Gothic','Hiragino Kaku Gothic ProN',sans-serif;background:#f5f7fb;color:#111827}body{overflow:hidden}.app{height:100vh;max-width:1100px;margin:0 auto;background:#fff;display:flex;flex-direction:column}.header{height:56px;background:linear-gradient(90deg,#0050b8,#0b72d9);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;position:sticky;top:0;z-index:10}.header .homeBtn{position:absolute;left:10px;top:8px;width:auto;margin:0;padding:7px 12px;background:transparent;border:1px solid rgba(255,255,255,.35);border-radius:8px}.header .rightBtn{position:absolute;right:10px;top:8px;width:auto;margin:0;padding:7px 12px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.4)}.screen{flex:1;overflow:auto;padding:14px}.card{background:#fff;border:1px solid #d7dfed;border-radius:10px;margin:10px 0;padding:12px;box-shadow:0 1px 2px rgba(0,0,0,.03)}.title{font-size:20px;font-weight:800;margin:0 0 10px}.subtle{color:#64748b;font-size:13px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.between{display:flex;justify-content:space-between;gap:8px;align-items:center}.pill{display:inline-block;border:1px solid #bfd0ea;background:#eef6ff;color:#075bb5;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:700}.badge{display:inline-block;border-radius:5px;padding:2px 6px;font-size:12px;font-weight:800}.badge.green{background:#e8f7ec;color:#14823b}.badge.red{background:#fff1f2;color:#d71920}.badge.orange{background:#fff3dd;color:#b35c00}.badge.blue{background:#e9f2ff;color:#075bb5}button{width:100%;margin:6px 0;padding:11px 12px;font-size:16px;font-weight:700;border:1px solid #0b65d8;border-radius:8px;background:#0b72d9;color:#fff}button.secondary{background:#fff;color:#075bb5}button.gray{background:#64748b;border-color:#64748b}button.red{background:#dc2626;border-color:#dc2626}button.green{background:#16a34a;border-color:#16a34a}button.small{width:auto;padding:6px 10px;font-size:13px;margin:2px}label{display:block;font-weight:700;margin:8px 0 4px;color:#374151}input,select,textarea{width:100%;border:1px solid #cfd8e6;border-radius:7px;padding:8px;font-size:16px;background:#fff}textarea{min-height:90px}.compact input,.compact select{padding:6px;font-size:14px}.hint{background:#eef6ff;border:1px solid #aac7ee;color:#0751a6;padding:9px;border-radius:8px;font-size:13px;margin:8px 0}.warn{background:#fff7ed;border:1px solid #fdba74;color:#9a3412}.ok{background:#ecfdf5;border:1px solid #86efac;color:#166534}.tableWrap{overflow:auto;border:1px solid #d7dfed;border-radius:8px;max-height:70vh}table{width:100%;border-collapse:collapse;background:#fff}th,td{border:1px solid #e1e8f2;padding:7px 8px;white-space:nowrap;text-align:center;vertical-align:middle}th{background:#f5f7fb;font-weight:800}.left{text-align:left}.stickyMark{position:sticky;left:0;z-index:3;background:#fff}.stickyFrame{position:sticky;left:44px;z-index:3;background:#fff}.stickyNo{position:sticky;left:88px;z-index:3;background:#fff}.frameCell{font-weight:900;color:#fff;border-radius:3px;display:inline-block;min-width:28px;padding:2px 4px}.frame1{background:#fff;color:#111;border:1px solid #999}.frame2{background:#000}.frame3{background:#e60012}.frame4{background:#0068c9}.frame5{background:#ffd400;color:#111}.frame6{background:#159947}.frame7{background:#f08300}.frame8{background:#f06292}.horseNameInput{min-width:9.5em}.oddsInput{width:70px}.shortInput{width:56px}.markCell{font-size:20px;font-weight:900}.raceListItem{display:grid;grid-template-columns:120px 1fr auto;gap:8px;border-bottom:1px solid #e5e7eb;padding:9px 4px;align-items:center}.raceListItem:last-child{border-bottom:none}.tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}.tabs button.active{background:#034fb4}.predCard{border:1px solid #d7dfed;border-radius:8px;margin:8px 0;overflow:hidden}.predCard h4{margin:0;padding:8px 10px;background:#eef6ff}.predBody{padding:10px}.predAxis h4{background:#ecfdf5}.predUmaren h4{background:#fff7ed}.predWide h4{background:#fff1f2}.predTrio h4{background:#eff6ff}.miniStats{font-size:12px;border:1px solid #d7dfed;border-radius:7px;overflow:hidden}.miniStats td,.miniStats th{padding:4px}.resultLayout{display:grid;grid-template-columns:1fr 1.45fr;gap:10px}.payGrid{display:grid;grid-template-columns:1fr;gap:8px}.payBox{border:1px solid #d7dfed;border-radius:8px;overflow:hidden}.payBox h4{margin:0;padding:8px;background:#f8fafc}.payRows{padding:8px}.finishRow,.payRow{display:grid;grid-template-columns:46px 58px 1fr 32px;gap:6px;align-items:center;margin:5px 0}.payRow{grid-template-columns:90px 1fr 80px 32px}.summaryCards{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.summaryBox{border:1px solid #d7dfed;border-radius:8px;padding:8px;text-align:center}.reflectionGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.consultRow{display:grid;grid-template-columns:1fr 1fr;gap:8px}.checkCard{border:1px solid #d7dfed;border-radius:8px;padding:10px}.checkGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.checkLine{display:flex;gap:6px;align-items:center;border:1px solid #e5e7eb;border-radius:7px;padding:8px}.checkLine input{width:auto}.consultTable th,.consultTable td{font-size:13px}.improve{color:red;font-weight:800}.bottomBar{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}@media(max-width:760px){.screen{padding:10px}.grid2,.grid3,.grid4,.resultLayout,.reflectionGrid{grid-template-columns:1fr}.summaryCards{grid-template-columns:repeat(2,1fr)}.raceListItem{grid-template-columns:90px 1fr}.raceListItem button{grid-column:1/3}.header{font-size:20px}.bottomBar{grid-template-columns:1fr 1fr}.tabs{grid-template-columns:1fr 1fr 1fr}.tableWrap{max-height:65vh}}


/* ===== Ver2_003a mobile input table adjustment ===== */
.actionBar{
  position:sticky;
  bottom:0;
  z-index:20;
  background:rgba(255,255,255,.96);
  border-top:1px solid #d7dfed;
  padding:8px 0 calc(8px + env(safe-area-inset-bottom));
  box-shadow:0 -2px 10px rgba(15,23,42,.08);
}
.inputTableWrap{
  max-height:52vh;
}
.inputTableWrap table{
  table-layout:fixed;
  min-width:640px;
}
.inputTableWrap th,
.inputTableWrap td{
  padding:5px 4px;
}
.inputTableWrap .stickyMark{width:36px;min-width:36px;left:0;}
.inputTableWrap .stickyFrame{width:40px;min-width:40px;left:36px;}
.inputTableWrap .stickyNo{width:62px;min-width:62px;left:76px;}
.inputTableWrap th:nth-child(4),
.inputTableWrap td:nth-child(4){width:112px;min-width:112px;}
.inputTableWrap th:nth-child(5),
.inputTableWrap td:nth-child(5){width:62px;min-width:62px;}
.inputTableWrap th:nth-child(6),
.inputTableWrap td:nth-child(6),
.inputTableWrap th:nth-child(7),
.inputTableWrap td:nth-child(7),
.inputTableWrap th:nth-child(8),
.inputTableWrap td:nth-child(8),
.inputTableWrap th:nth-child(9),
.inputTableWrap td:nth-child(9){width:58px;min-width:58px;}
.inputTableWrap input{padding:6px 4px;font-size:15px;}
.inputTableWrap .horseNameInput{width:104px;min-width:104px;}
.inputTableWrap .oddsInput,
.inputTableWrap .shortInput{width:50px;min-width:50px;}
@media(max-width:760px){
  .screen{padding-bottom:92px;}
  .inputTableWrap{max-height:48vh;}
  .bottomBar.actionBar{grid-template-columns:1fr 1.7fr;}
}


/* ===== Ver2_003c input table: keep 馬名・単勝・人気 and show 前走 columns by horizontal scroll ===== */
.inputTableWrap{
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
.inputTableWrap table{
  width:max-content;
  min-width:820px;
  table-layout:fixed;
}
.inputTableWrap .stickyMark,
.inputTableWrap .stickyFrame,
.inputTableWrap .stickyNo{
  z-index:5;
  box-shadow:1px 0 0 #e1e8f2;
}
.inputTableWrap .stickyMark{width:34px;min-width:34px;left:0;}
.inputTableWrap .stickyFrame{width:38px;min-width:38px;left:34px;}
.inputTableWrap .stickyNo{width:54px;min-width:54px;left:72px;}
.inputTableWrap th:nth-child(4),
.inputTableWrap td:nth-child(4){width:118px;min-width:118px;}
.inputTableWrap th:nth-child(5),
.inputTableWrap td:nth-child(5){width:62px;min-width:62px;}
.inputTableWrap th:nth-child(6),
.inputTableWrap td:nth-child(6){width:48px;min-width:48px;}
.inputTableWrap th:nth-child(7),
.inputTableWrap td:nth-child(7),
.inputTableWrap th:nth-child(8),
.inputTableWrap td:nth-child(8),
.inputTableWrap th:nth-child(9),
.inputTableWrap td:nth-child(9){width:66px;min-width:66px;}
.inputTableWrap input{padding:6px 3px;font-size:15px;text-align:center;}
.inputTableWrap .horseNameInput{width:110px;min-width:110px;text-align:left;}
.inputTableWrap .oddsInput{width:56px;min-width:56px;}
.inputTableWrap .shortInput{width:52px;min-width:52px;}
@media(max-width:760px){
  .screen{padding-bottom:104px;}
  .inputTableWrap{max-height:50vh;}
  .inputTableWrap table{min-width:720px;}
  .inputTableWrap th,
  .inputTableWrap td{padding:5px 4px;}
  .inputTableWrap .stickyMark{width:32px;min-width:32px;left:0;}
  .inputTableWrap .stickyFrame{width:36px;min-width:36px;left:32px;}
  .inputTableWrap .stickyNo{width:50px;min-width:50px;left:68px;}
  .inputTableWrap th:nth-child(4),
  .inputTableWrap td:nth-child(4){width:106px;min-width:106px;}
  .inputTableWrap th:nth-child(5),
  .inputTableWrap td:nth-child(5){width:56px;min-width:56px;}
  .inputTableWrap th:nth-child(6),
  .inputTableWrap td:nth-child(6){width:44px;min-width:44px;}
  .inputTableWrap th:nth-child(7),
  .inputTableWrap td:nth-child(7),
  .inputTableWrap th:nth-child(8),
  .inputTableWrap td:nth-child(8),
  .inputTableWrap th:nth-child(9),
  .inputTableWrap td:nth-child(9){width:62px;min-width:62px;}
  .inputTableWrap .horseNameInput{width:98px;min-width:98px;}
  .inputTableWrap .oddsInput{width:50px;min-width:50px;}
  .inputTableWrap .shortInput{width:48px;min-width:48px;}
  .bottomBar.actionBar{position:sticky;bottom:0;z-index:20;background:#fff;padding:8px 0;grid-template-columns:1fr 1.7fr;}
}


/* ===== Ver2_003d fixes ===== */
.inputTableWrap{
  overflow-x:auto;
  overflow-y:auto;
  max-height:50vh;
  scroll-padding-left:0;
}
.inputTableWrap table{
  min-width:860px;
}
.inputTableWrap .stickyMark{width:34px;min-width:34px;left:0;}
.inputTableWrap .stickyFrame{width:36px;min-width:36px;left:34px;}
.inputTableWrap .stickyNo{width:54px;min-width:54px;left:70px;}
.inputTableWrap th:nth-child(4),
.inputTableWrap td:nth-child(4){width:124px;min-width:124px;}
.inputTableWrap th:nth-child(5),
.inputTableWrap td:nth-child(5){width:64px;min-width:64px;}
.inputTableWrap th:nth-child(6),
.inputTableWrap td:nth-child(6){width:50px;min-width:50px;}
.inputTableWrap th:nth-child(7),
.inputTableWrap td:nth-child(7),
.inputTableWrap th:nth-child(8),
.inputTableWrap td:nth-child(8),
.inputTableWrap th:nth-child(9),
.inputTableWrap td:nth-child(9){width:70px;min-width:70px;}
.inputTableWrap .horseNameInput{width:116px;min-width:116px;text-align:left;}
.inputTableWrap .oddsInput{width:58px;min-width:58px;}
.inputTableWrap .shortInput{width:52px;min-width:52px;}
.inputTableWrap input[readonly]{background:#f8fafc;color:#334155;}
@media(max-width:760px){
  .inputTableWrap table{min-width:820px;}
  .inputTableWrap th:nth-child(4),
  .inputTableWrap td:nth-child(4){width:118px;min-width:118px;}
  .inputTableWrap .horseNameInput{width:110px;min-width:110px;}
  .inputTableWrap th:nth-child(7),
  .inputTableWrap td:nth-child(7),
  .inputTableWrap th:nth-child(8),
  .inputTableWrap td:nth-child(8),
  .inputTableWrap th:nth-child(9),
  .inputTableWrap td:nth-child(9){width:68px;min-width:68px;}
}

/* ===== Ver2_003e compact full input table + header/search visibility fixes ===== */
.screen{
  padding-top:16px;
  scroll-padding-top:70px;
}
.inputTableWrap{
  overflow-x:hidden;
  overflow-y:auto;
  max-height:52vh;
}
.inputTableWrap table{
  width:100%;
  min-width:0;
  table-layout:fixed;
}
.inputTableWrap .stickyMark,
.inputTableWrap .stickyFrame,
.inputTableWrap .stickyNo{
  position:static;
  left:auto;
  box-shadow:none;
}
.inputTableWrap th,
.inputTableWrap td{
  padding:4px 3px;
  font-size:14px;
}
.inputTableWrap th:nth-child(1),
.inputTableWrap td:nth-child(1){width:6.5%;}
.inputTableWrap th:nth-child(2),
.inputTableWrap td:nth-child(2){width:8%;}
.inputTableWrap th:nth-child(3),
.inputTableWrap td:nth-child(3){width:10%;}
.inputTableWrap th:nth-child(4),
.inputTableWrap td:nth-child(4){width:20%;}
.inputTableWrap th:nth-child(5),
.inputTableWrap td:nth-child(5){width:10%;}
.inputTableWrap th:nth-child(6),
.inputTableWrap td:nth-child(6){width:7.5%;}
.inputTableWrap th:nth-child(7),
.inputTableWrap td:nth-child(7),
.inputTableWrap th:nth-child(8),
.inputTableWrap td:nth-child(8),
.inputTableWrap th:nth-child(9),
.inputTableWrap td:nth-child(9){width:12.7%;}
.inputTableWrap input{
  width:100% !important;
  min-width:0 !important;
  padding:6px 2px;
  font-size:14px;
  text-align:center;
}
.inputTableWrap .horseNameInput{
  width:100% !important;
  min-width:0 !important;
  text-align:left;
  font-size:13px;
}
.inputTableWrap .frameCell{
  min-width:24px;
  padding:2px 3px;
}
.inputTableWrap .markCell{
  font-size:16px;
}
@media(max-width:760px){
  .screen{padding-top:14px;padding-bottom:108px;}
  .inputTableWrap{max-height:50vh;}
  .inputTableWrap th,
  .inputTableWrap td{font-size:13px;padding:4px 2px;}
  .inputTableWrap input{font-size:13px;padding:6px 1px;}
  .inputTableWrap .horseNameInput{font-size:12px;}
  .inputTableWrap th:nth-child(1),
  .inputTableWrap td:nth-child(1){width:6%;}
  .inputTableWrap th:nth-child(2),
  .inputTableWrap td:nth-child(2){width:7%;}
  .inputTableWrap th:nth-child(3),
  .inputTableWrap td:nth-child(3){width:9%;}
  .inputTableWrap th:nth-child(4),
  .inputTableWrap td:nth-child(4){width:19%;}
  .inputTableWrap th:nth-child(5),
  .inputTableWrap td:nth-child(5){width:9%;}
  .inputTableWrap th:nth-child(6),
  .inputTableWrap td:nth-child(6){width:7%;}
  .inputTableWrap th:nth-child(7),
  .inputTableWrap td:nth-child(7),
  .inputTableWrap th:nth-child(8),
  .inputTableWrap td:nth-child(8),
  .inputTableWrap th:nth-child(9),
  .inputTableWrap td:nth-child(9){width:14.3%;}
}

/* ===== Ver2_003f: input table final mobile behavior =====
   - Keep 馬名・単勝・人気 in the table.
   - Fix only 枠 and 馬番 on the left while horizontal scrolling.
   - Allow scrolling to 前走・前2・前3 with 馬番 always visible.
=========================================================== */
.inputTableWrap{
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  max-height:calc(100vh - 250px);
}
.inputTableWrap table{
  table-layout:fixed;
  width:auto;
  min-width:610px;
}
.inputTableWrap th,
.inputTableWrap td{
  padding:5px 4px;
}
.inputTableWrap th:nth-child(1),
.inputTableWrap td:nth-child(1){width:36px;min-width:36px;}
.inputTableWrap th:nth-child(2),
.inputTableWrap td:nth-child(2){width:42px;min-width:42px;}
.inputTableWrap th:nth-child(3),
.inputTableWrap td:nth-child(3){width:56px;min-width:56px;}
.inputTableWrap th:nth-child(4),
.inputTableWrap td:nth-child(4){width:118px;min-width:118px;}
.inputTableWrap th:nth-child(5),
.inputTableWrap td:nth-child(5){width:64px;min-width:64px;}
.inputTableWrap th:nth-child(6),
.inputTableWrap td:nth-child(6){width:46px;min-width:46px;}
.inputTableWrap th:nth-child(7),
.inputTableWrap td:nth-child(7),
.inputTableWrap th:nth-child(8),
.inputTableWrap td:nth-child(8),
.inputTableWrap th:nth-child(9),
.inputTableWrap td:nth-child(9){width:78px;min-width:78px;}
.inputTableWrap .stickyMark{
  position:static !important;
  left:auto !important;
  z-index:auto !important;
}
.inputTableWrap .stickyFrame{
  position:sticky !important;
  left:0 !important;
  z-index:8 !important;
  background:#fff !important;
  box-shadow:1px 0 0 #e1e8f2;
}
.inputTableWrap .stickyNo{
  position:sticky !important;
  left:42px !important;
  z-index:8 !important;
  background:#fff !important;
  box-shadow:1px 0 0 #e1e8f2;
}
.inputTableWrap thead .stickyFrame,
.inputTableWrap thead .stickyNo{
  z-index:10 !important;
  background:#f5f7fb !important;
}
.inputTableWrap .horseNameInput{width:108px;min-width:108px;}
.inputTableWrap .oddsInput{width:56px;min-width:56px;}
.inputTableWrap .shortInput{width:62px;min-width:62px;}
.inputTableWrap td:nth-child(3) .shortInput{width:48px;min-width:48px;}
.inputTableWrap td:nth-child(6) .shortInput{width:38px;min-width:38px;}
@media(max-width:760px){
  .inputTableWrap{max-height:58vh;}
  .inputTableWrap table{min-width:610px;}
  .inputTableWrap th,
  .inputTableWrap td{padding:5px 3px;}
  .inputTableWrap .horseNameInput{width:106px;min-width:106px;}
  .inputTableWrap .shortInput{width:60px;min-width:60px;}
  .inputTableWrap td:nth-child(3) .shortInput{width:46px;min-width:46px;}
  .inputTableWrap td:nth-child(6) .shortInput{width:36px;min-width:36px;}
}


/* ===== Ver2_003g: combined text input + stable input layout ===== */
.wideField{grid-column:1 / -1;}
.screen{padding-bottom:132px;}
.bottomBar.actionBar{
  position:sticky;
  bottom:0;
  z-index:30;
  background:#fff;
  padding:10px 0 12px;
  box-shadow:0 -4px 12px rgba(15,23,42,.08);
}
@media(max-width:760px){
  .grid2 .wideField{grid-column:auto;}
  .screen{padding-bottom:150px;}
  .bottomBar.actionBar{grid-template-columns:1fr 1.6fr;}
  .bottomBar.actionBar .red{grid-column:1 / -1;}
  .inputTableWrap{max-height:54vh;}
  .inputTableWrap table{min-width:650px;}
  .inputTableWrap th:nth-child(1),
  .inputTableWrap td:nth-child(1){width:34px;min-width:34px;}
  .inputTableWrap th:nth-child(2),
  .inputTableWrap td:nth-child(2){width:42px;min-width:42px;}
  .inputTableWrap th:nth-child(3),
  .inputTableWrap td:nth-child(3){width:56px;min-width:56px;}
  .inputTableWrap th:nth-child(4),
  .inputTableWrap td:nth-child(4){width:118px;min-width:118px;}
  .inputTableWrap th:nth-child(5),
  .inputTableWrap td:nth-child(5){width:60px;min-width:60px;}
  .inputTableWrap th:nth-child(6),
  .inputTableWrap td:nth-child(6){width:44px;min-width:44px;}
  .inputTableWrap th:nth-child(7),
  .inputTableWrap td:nth-child(7),
  .inputTableWrap th:nth-child(8),
  .inputTableWrap td:nth-child(8),
  .inputTableWrap th:nth-child(9),
  .inputTableWrap td:nth-child(9){width:78px;min-width:78px;}
}


/* 003r: detail tabs are two buttons only */
.tabs.tabs2{grid-template-columns:repeat(2,1fr)!important;}
@media(max-width:760px){.tabs.tabs2{grid-template-columns:1fr 1fr!important;}}

/* 003r: prevent scrolled horse names from showing through fixed columns */
.tableWrap .stickyMark,
.tableWrap .stickyFrame,
.tableWrap .stickyNo{
  background:#fff!important;
  background-clip:padding-box!important;
  z-index:8!important;
  box-shadow:1px 0 0 #e1e8f2;
}
.tableWrap thead .stickyMark,
.tableWrap thead .stickyFrame,
.tableWrap thead .stickyNo{
  background:#f5f7fb!important;
  z-index:12!important;
}
.readonlyRow input,.readonlyRow button{display:none!important;}

/* ===== Ver2_003s: saved result is read-only + stronger sticky columns ===== */
.resultReadonly input,
.resultReadonly select,
.resultReadonly textarea,
.resultReadonly button,
.resultReadonly .small,
.resultReadonly [data-finish],
.resultReadonly [data-pay]{display:none!important;}
.resultReadonly .finishRow{grid-template-columns:46px 58px 1fr!important;}
.resultReadonly .payRow{grid-template-columns:1fr 90px!important;}
.resultReadonly .finishRow,
.resultReadonly .payRow{background:#fff;border-bottom:1px solid #eef2f7;padding:6px 0;}
.resultReadonly .finishRow:last-child,
.resultReadonly .payRow:last-child{border-bottom:none;}
.resultReadonlyBar{grid-template-columns:1fr 1fr!important;}
.resultReadonlyBar .red{display:none!important;}

/* Detail entry table: make sticky columns fully opaque and prevent text bleed-through */
.tableWrap:not(.inputTableWrap){
  position:relative;
  background:#fff;
  isolation:isolate;
}
.tableWrap:not(.inputTableWrap) table{
  border-collapse:separate!important;
  border-spacing:0;
  background:#fff;
}
.tableWrap:not(.inputTableWrap) th,
.tableWrap:not(.inputTableWrap) td{
  background:#fff;
}
.tableWrap:not(.inputTableWrap) th{background:#f5f7fb;}
.tableWrap:not(.inputTableWrap) .stickyMark,
.tableWrap:not(.inputTableWrap) .stickyFrame,
.tableWrap:not(.inputTableWrap) .stickyNo{
  position:sticky!important;
  background:#fff!important;
  background-color:#fff!important;
  background-clip:border-box!important;
  opacity:1!important;
  z-index:40!important;
  overflow:hidden;
  box-shadow:2px 0 0 #e1e8f2;
}
.tableWrap:not(.inputTableWrap) thead .stickyMark,
.tableWrap:not(.inputTableWrap) thead .stickyFrame,
.tableWrap:not(.inputTableWrap) thead .stickyNo{
  background:#f5f7fb!important;
  background-color:#f5f7fb!important;
  z-index:50!important;
}
.tableWrap:not(.inputTableWrap) .stickyMark{left:0!important; width:44px; min-width:44px; max-width:44px;}
.tableWrap:not(.inputTableWrap) .stickyFrame{left:44px!important; width:44px; min-width:44px; max-width:44px;}
.tableWrap:not(.inputTableWrap) .stickyNo{left:88px!important; width:58px; min-width:58px; max-width:58px;}
.tableWrap:not(.inputTableWrap) .stickyMark::before,
.tableWrap:not(.inputTableWrap) .stickyFrame::before,
.tableWrap:not(.inputTableWrap) .stickyNo::before{
  content:"";
  position:absolute;
  inset:0;
  background:inherit;
  z-index:-1;
}
@media(max-width:760px){
  .tableWrap:not(.inputTableWrap) .stickyMark{width:42px; min-width:42px; max-width:42px;}
  .tableWrap:not(.inputTableWrap) .stickyFrame{left:42px!important; width:42px; min-width:42px; max-width:42px;}
  .tableWrap:not(.inputTableWrap) .stickyNo{left:84px!important; width:56px; min-width:56px; max-width:56px;}
}

/* ===== 20260702 fixes: fully opaque fixed entry columns ===== */
.tableWrap,
.inputTableWrap{
  isolation:isolate;
  background:#fff;
}
.tableWrap table,
.inputTableWrap table{
  border-collapse:separate!important;
  border-spacing:0!important;
  background:#fff;
}
.tableWrap .stickyMark,
.tableWrap .stickyFrame,
.tableWrap .stickyNo,
.inputTableWrap .stickyMark,
.inputTableWrap .stickyFrame,
.inputTableWrap .stickyNo{
  position:sticky!important;
  background:#fff!important;
  background-color:#fff!important;
  background-clip:border-box!important;
  opacity:1!important;
  overflow:hidden!important;
  z-index:80!important;
  box-shadow:2px 0 0 #e1e8f2, -1px 0 0 #fff!important;
  transform:translateZ(0);
}
.tableWrap thead .stickyMark,
.tableWrap thead .stickyFrame,
.tableWrap thead .stickyNo,
.inputTableWrap thead .stickyMark,
.inputTableWrap thead .stickyFrame,
.inputTableWrap thead .stickyNo{
  background:#f5f7fb!important;
  background-color:#f5f7fb!important;
  z-index:90!important;
}
.tableWrap .stickyMark::after,
.tableWrap .stickyFrame::after,
.tableWrap .stickyNo::after,
.inputTableWrap .stickyMark::after,
.inputTableWrap .stickyFrame::after,
.inputTableWrap .stickyNo::after{
  content:"";
  position:absolute;
  inset:-1px;
  background:inherit;
  z-index:-1;
  pointer-events:none;
}
.inputTableWrap .stickyMark{left:0!important; width:36px!important; min-width:36px!important; max-width:36px!important;}
.inputTableWrap .stickyFrame{left:36px!important; width:42px!important; min-width:42px!important; max-width:42px!important;}
.inputTableWrap .stickyNo{left:78px!important; width:56px!important; min-width:56px!important; max-width:56px!important;}
.tableWrap:not(.inputTableWrap) .stickyMark{left:0!important; width:44px!important; min-width:44px!important; max-width:44px!important;}
.tableWrap:not(.inputTableWrap) .stickyFrame{left:44px!important; width:44px!important; min-width:44px!important; max-width:44px!important;}
.tableWrap:not(.inputTableWrap) .stickyNo{left:88px!important; width:58px!important; min-width:58px!important; max-width:58px!important;}
@media(max-width:760px){
  .inputTableWrap .stickyMark{width:34px!important; min-width:34px!important; max-width:34px!important;}
  .inputTableWrap .stickyFrame{left:34px!important; width:42px!important; min-width:42px!important; max-width:42px!important;}
  .inputTableWrap .stickyNo{left:76px!important; width:56px!important; min-width:56px!important; max-width:56px!important;}
  .tableWrap:not(.inputTableWrap) .stickyMark{width:42px!important; min-width:42px!important; max-width:42px!important;}
  .tableWrap:not(.inputTableWrap) .stickyFrame{left:42px!important; width:42px!important; min-width:42px!important; max-width:42px!important;}
  .tableWrap:not(.inputTableWrap) .stickyNo{left:84px!important; width:56px!important; min-width:56px!important; max-width:56px!important;}
}

/* Ver2-032 rule consult category check UI */
.categoryCheckBox{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin:6px 0 10px;
}
.categoryCheckLine{
  padding:8px 10px;
  border:1px solid #d9e2ef;
  border-radius:10px;
  background:#fff;
}
.categoryCheckLine input{ margin-right:8px; }

.bad{color:#dc2626;font-weight:800}.proposalCard{background:#fbfdff}.answerCard{background:#f8fafc}.consultAnswer{margin-top:8px}

/* rev2-034: conversational rule consult answer */
.aiTalk{
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:14px;
  padding:12px;
  line-height:1.7;
}
.answerOption{
  border:1px solid #dbeafe;
  background:#eff6ff;
  border-radius:14px;
  padding:10px;
  margin:10px 0;
}
.answerOption p{margin:6px 0 8px;line-height:1.6;}

/* ver2-007 AI予想レポート */
.aiPredictionReport{border-left:4px solid #2563eb;background:#f8fbff}
.aiPredictionReport h4{color:#1d4ed8}
.reportBody p{margin:0 0 10px;line-height:1.65}
.reportBody b{color:#111827}
.aiReportMeta{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-top:10px}
.aiReportMeta span{background:#fff;border:1px solid #dbeafe;border-radius:10px;padding:8px 10px}
.aiResultReport{border-left:4px solid #16a34a;background:#f7fef9}
.aiResultReport .title{color:#166534}


/* ver2-009 AIカルテ */
.karteGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.karteBox{border:1px solid #d7dfed;border-radius:10px;padding:10px;background:#fff}
.karteBox h4{margin:0 0 6px;padding:0;background:transparent;font-size:15px}
.karteBox p{margin:0;line-height:1.65}
.karteBox.good{background:#ecfdf5;border-color:#86efac}
.karteBox.close{background:#fff7ed;border-color:#fdba74}
.karteBox.bad{background:#fff1f2;border-color:#fecdd3}
.karteBox.improve{background:#eff6ff;border-color:#bfdbfe}
@media(max-width:760px){.karteGrid{grid-template-columns:1fr}}
/* ver2-010 AIカルテ整理 */
.aiMemo{margin:12px 0 8px;padding:10px;border-left:4px solid #2563eb;background:#eff6ff;border-radius:8px;line-height:1.65}
.analysisDetails summary{cursor:pointer;font-weight:700;padding:4px 0}
.analysisDetails[open] summary{margin-bottom:10px}
.miniPill{display:inline-block;margin:4px 5px 4px 0;padding:4px 8px;border-radius:999px;background:#eef2ff;border:1px solid #c7d2fe;font-size:12px;color:#1e3a8a}
.pillList{margin:6px 0 10px}
.nextConsultBox{margin-top:10px}
.aiCarry .title{margin-bottom:6px}

/* ver2-011 表示整理 */
.compactList{margin:6px 0 8px 18px;padding:0;line-height:1.55}
.compactList li{margin:2px 0;white-space:normal}
.toggleBtn{width:auto;display:inline-block;margin:0 0 8px 0}
.toggleContent[hidden]{display:none !important}
.toggleContent{margin-top:8px}

.aiOneLine{
  background:#f8fafc;
  border-left:4px solid #2563eb;
  padding:10px 12px;
  border-radius:10px;
  line-height:1.7;
}

/* ver2-014 sample-aware AI evidence */
.aiEvidenceBox{border:1px solid #dbeafe;background:#ffffff;border-radius:10px;padding:10px;margin:10px 0}
.aiEvidenceBox h5{margin:0 0 8px;color:#1d4ed8;font-size:15px}
.aiEvidenceBox .tableWrap{max-height:none}
.aiConfidenceBox{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px;margin:10px 0}
.aiConfidenceBox span{background:#fff;border:1px solid #e0e7ff;border-radius:10px;padding:8px 10px}

/* ver2-020 ai karte consult */
.aiCarryLine{align-items:flex-start;gap:8px}.carrySection{border:1px solid #e5e7eb;border-radius:10px;padding:10px;background:#fff}.carrySection h4{margin:0 0 8px}.carryMini{border:1px solid #e5e7eb;border-radius:10px;padding:10px;background:#fff}.aiCarryInline{margin:10px 0}.compactList{margin:6px 0 0 18px;padding:0}.compactList li{margin:3px 0}

/* ver2-047 adoption final card preview */
.adoptionChoiceCard{
  border:1px solid #dbeafe;
  background:#f8fbff;
  border-radius:12px;
  padding:12px;
  margin:10px 0;
}
.adoptCardHead{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
  margin-bottom:8px;
}
.adoptTopThemes{
  font-weight:800;
  color:#1d4ed8;
  background:#eff6ff;
  border:1px solid #bfdbfe;
  border-radius:999px;
  padding:4px 8px;
  white-space:nowrap;
  font-size:12px;
}
.adoptPriority{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:10px;
  padding:8px;
  line-height:1.7;
  margin:8px 0;
}
.adoptMemo{
  background:#fff7ed;
  border:1px solid #fed7aa;
  border-radius:10px;
  padding:8px;
  line-height:1.7;
  margin:8px 0;
}
.compactHint{ margin:8px 0; }
.adoptionImpactSummary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  margin-top:8px;
}
.adoptionImpactRow{
  display:flex;
  justify-content:space-between;
  gap:10px;
  border-top:1px solid #e5e7eb;
  padding:6px 0;
  font-weight:800;
}
.adoptionImpactRow.improve{ color:#2563eb; }
.adoptionImpactRow.down{ color:#dc2626; }
.adoptionImpactRow.same{ color:#111827; }
.adoptionImpactWarning{
  margin-top:8px;
  color:#dc2626;
  font-weight:900;
  line-height:1.6;
}
@media(max-width:560px){
  .adoptCardHead{ display:block; }
  .adoptTopThemes{ display:inline-block; margin-top:6px; white-space:normal; }
  .adoptionImpactSummary{ grid-template-columns:1fr; }
}

/* v048 final adoption polish */
.aiRank{display:inline-block;padding:2px 0;font-weight:800;}
.aiRankHigh{color:#15803d;}
.aiRankMid{color:#b45309;}
.aiRankLow{color:#4b5563;}
.aiConsultSummary{border:1px solid #e5e7eb;border-radius:10px;padding:8px;margin-top:8px;background:#fff;}
.aiConsultSummary summary{cursor:pointer;font-weight:800;}
.adoptionReturnWarning[hidden]{display:none!important;}

/* ===== Ver2_054: mobile input table compact past columns =====
   目的: テキスト入力後の編集表で、馬番を固定したまま
   前走・前2・前3をスマホ幅でも同時に確認しやすくする。
=========================================================== */
@media(max-width:760px){
  .inputTableWrap{
    max-height:58vh;
    overflow:auto;
    -webkit-overflow-scrolling:touch;
  }
  .inputTableWrap table{
    table-layout:fixed !important;
    width:max-content !important;
    min-width:392px !important;
  }
  .inputTableWrap th,
  .inputTableWrap td{
    padding:4px 2px !important;
    font-size:13px !important;
  }
  .inputTableWrap th:nth-child(1),
  .inputTableWrap td:nth-child(1){width:26px !important;min-width:26px !important;}
  .inputTableWrap th:nth-child(2),
  .inputTableWrap td:nth-child(2){width:30px !important;min-width:30px !important;}
  .inputTableWrap th:nth-child(3),
  .inputTableWrap td:nth-child(3){width:46px !important;min-width:46px !important;}
  .inputTableWrap th:nth-child(4),
  .inputTableWrap td:nth-child(4){width:64px !important;min-width:64px !important;}
  .inputTableWrap th:nth-child(5),
  .inputTableWrap td:nth-child(5){width:38px !important;min-width:38px !important;}
  .inputTableWrap th:nth-child(6),
  .inputTableWrap td:nth-child(6){width:30px !important;min-width:30px !important;}
  .inputTableWrap th:nth-child(7),
  .inputTableWrap td:nth-child(7),
  .inputTableWrap th:nth-child(8),
  .inputTableWrap td:nth-child(8),
  .inputTableWrap th:nth-child(9),
  .inputTableWrap td:nth-child(9){width:46px !important;min-width:46px !important;}

  /* 入力画面では馬番を見失わないよう、枠＋馬番だけ固定する */
  .inputTableWrap .stickyMark{
    position:static !important;
    left:auto !important;
    z-index:auto !important;
  }
  .inputTableWrap .stickyFrame{
    position:sticky !important;
    left:0 !important;
    z-index:12 !important;
    background:#fff !important;
    box-shadow:1px 0 0 #e1e8f2;
  }
  .inputTableWrap .stickyNo{
    position:sticky !important;
    left:30px !important;
    z-index:12 !important;
    background:#fff !important;
    box-shadow:1px 0 0 #e1e8f2;
  }
  .inputTableWrap thead .stickyFrame,
  .inputTableWrap thead .stickyNo{
    z-index:14 !important;
    background:#f5f7fb !important;
  }

  .inputTableWrap input{
    padding:5px 2px !important;
    font-size:14px !important;
    text-align:center !important;
  }
  .inputTableWrap .horseNameInput{
    width:60px !important;
    min-width:60px !important;
    text-align:left !important;
  }
  .inputTableWrap .oddsInput{
    width:34px !important;
    min-width:34px !important;
  }
  .inputTableWrap .shortInput{
    width:40px !important;
    min-width:40px !important;
  }
  .inputTableWrap td:nth-child(3) .shortInput{
    width:40px !important;
    min-width:40px !important;
  }
  .inputTableWrap td:nth-child(6) .shortInput{
    width:26px !important;
    min-width:26px !important;
  }
}

/* ver2-056: 保存レース詳細の遷移ボタンをスマホでも2列表示に固定 */
.detailNavBlock{margin:10px 0 12px;}
.detailNavGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.detailNavGrid button{margin:0;padding:10px 8px;}
.textInputNavBtn{margin:10px 0 0;border-color:#16a34a;color:#15803d;background:#fff;}
@media(max-width:760px){
  .detailNavGrid{grid-template-columns:1fr 1fr!important;gap:8px;}
  .detailNavGrid button{font-size:15px;padding:10px 6px;}
}


/* ===== Ver2_058: validation screen scroll fix =====
   検証結果画面は .screen 内で縦スクロールさせ、
   Android Chromeでも検索ボタンまで到達できるようにする。 */
.validationScreen{
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  padding-bottom:120px;
}
.validationScreen .card{
  overflow:visible;
}
@media(max-width:760px){
  .validationScreen{
    padding-bottom:140px;
  }
}

/* 088: top menu click fallback */
.topNavBtn{display:block;width:100%;margin:6px 0;padding:11px 12px;font-size:16px;font-weight:700;border:1px solid #0b65d8;border-radius:8px;background:#0b72d9;color:#fff;text-align:center;text-decoration:none;cursor:pointer;touch-action:manipulation;pointer-events:auto;}
.topMenuCard,.topMenuCard *{pointer-events:auto!important;}

.buttonLike{display:inline-block;text-align:center;cursor:pointer;padding:10px 12px;border-radius:8px;border:1px solid #ccc;}


/* 20260707 input/result safety fixes */
.inputTableWrap .oddsInput{width:86px!important;min-width:86px!important;}
.inputTableWrap [data-field="popularity"]{font-weight:900;color:#111827;}
.compactEntryTable .cePopularity{font-weight:900;color:#111827;}
.finishCell.finishOpponentHit{color:#d00000!important;font-weight:900!important;}
.finishCell.finishOpponentOnly{background:#4da3ff!important;color:#111827!important;font-weight:900!important;}
.tableWrap .stickyMark,.tableWrap .stickyFrame,.tableWrap .stickyNo{background:#fff!important;background-clip:padding-box!important;}
.tableWrap thead .stickyMark,.tableWrap thead .stickyFrame,.tableWrap thead .stickyNo{background:#f5f7fb!important;}
.inputTableWrap{max-height:72vh;}
.inputTableWrap table{min-width:760px;}

/* Ver2-225: relation grouped display */
.relBox{display:block;line-height:1.45;white-space:normal;min-width:180px;}
.relGroup{margin:0 0 10px 0;padding:6px 8px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;}
.relGroupTitle{font-weight:700;margin-bottom:4px;}
.relItem{margin:6px 0 8px 0;padding-left:2px;}
.relHorse{font-weight:600;margin-bottom:2px;}
.relItem ul{margin:2px 0 0 1.2em;padding:0;}
.relItem li{margin:1px 0;}

/* ===== Ver2-280: input screen layout requested 2026-07-10 =====
   入力画面は基本情報から開き、操作ボタンを端末下部に完全表示する。 */
.inputScreen{
  position:relative;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  padding-top:14px;
  padding-bottom:calc(94px + env(safe-area-inset-bottom));
  scroll-padding-top:14px;
  scroll-padding-bottom:calc(94px + env(safe-area-inset-bottom));
}
.inputScreen .inputBasicCard{margin-top:0;}
.inputScreen .actionBar{
  position:fixed !important;
  left:max(0px, calc((100vw - 1100px) / 2));
  right:max(0px, calc((100vw - 1100px) / 2));
  bottom:0 !important;
  z-index:100;
  margin:0;
  padding:8px 14px calc(8px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.98);
  border-top:1px solid #d7dfed;
  box-shadow:0 -3px 12px rgba(15,23,42,.12);
  gap:10px;
}
.inputScreen .actionBar.actionBarNew{grid-template-columns:1fr 1.65fr !important;}
.inputScreen .actionBar.actionBarEdit{grid-template-columns:1fr 1fr 1fr !important;}
.inputScreen .actionBar button{margin:0;min-height:52px;}
@media(max-width:760px){
  .inputScreen{
    padding:12px 10px calc(92px + env(safe-area-inset-bottom));
  }
  .inputScreen .actionBar{
    left:0;
    right:0;
    padding:8px 10px calc(8px + env(safe-area-inset-bottom));
  }
  .inputScreen .actionBar.actionBarNew{grid-template-columns:1fr 1.65fr !important;}
  .inputScreen .actionBar.actionBarEdit{grid-template-columns:1fr 1fr 1fr !important;}
  .inputScreen .actionBar button{font-size:16px;padding:11px 6px;}
}

/* ===== Ver2-281: input action bar and final rows accessibility =====
   編集時も3ボタンを1行に収め、最終行が操作バーに隠れないようにする。 */
.inputScreen.inputScreenNew{
  padding-bottom:calc(92px + env(safe-area-inset-bottom)) !important;
  scroll-padding-bottom:calc(92px + env(safe-area-inset-bottom)) !important;
}
.inputScreen.inputScreenEdit{
  padding-bottom:calc(96px + env(safe-area-inset-bottom)) !important;
  scroll-padding-bottom:calc(96px + env(safe-area-inset-bottom)) !important;
}
.inputScreen .actionBar.actionBarEdit{
  grid-template-columns:1fr 1fr 1fr !important;
}
.inputScreen .actionBar.actionBarEdit .red{
  grid-column:auto !important;
}
@media(max-width:760px){
  .inputScreen.inputScreenNew{
    padding-bottom:calc(90px + env(safe-area-inset-bottom)) !important;
  }
  .inputScreen.inputScreenEdit{
    padding-bottom:calc(94px + env(safe-area-inset-bottom)) !important;
  }
  .inputScreen .actionBar.actionBarEdit{
    grid-template-columns:1fr 1fr 1fr !important;
  }
  .inputScreen .actionBar.actionBarEdit .red{
    grid-column:auto !important;
  }
}

/* ===== Ver2-282: keep every entry row above the fixed action bar =====
   The input table has its own scroll area, so reserve extra page space below it.
   This lets the final horse rows scroll completely above the Android action/navigation area. */
.inputScreen.inputScreenNew,
.inputScreen.inputScreenEdit{
  padding-bottom:calc(190px + env(safe-area-inset-bottom)) !important;
  scroll-padding-bottom:calc(190px + env(safe-area-inset-bottom)) !important;
}
.inputScreen .inputTableWrap{
  margin-bottom:96px;
  scroll-padding-bottom:96px;
}
@media(max-width:760px){
  .inputScreen.inputScreenNew,
  .inputScreen.inputScreenEdit{
    padding-bottom:calc(198px + env(safe-area-inset-bottom)) !important;
    scroll-padding-bottom:calc(198px + env(safe-area-inset-bottom)) !important;
  }
  .inputScreen .inputTableWrap{
    margin-bottom:104px;
    scroll-padding-bottom:104px;
  }
}

/* Ver375: 着順・軸表示、結果手入力、保存一覧的中表示 */
.finishCell,.axisCell{min-width:40px;text-align:center;font-weight:800}
.axisHitCell{background:#ffeb3b!important;color:#d40000!important;font-weight:900!important}
.manualResultCard .resultHorseName{min-height:1.4em;margin-top:4px;color:#075bb5;font-weight:700}
.manualPayGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.manualPayGrid .payBox{padding:10px;border:1px solid #d7dee8;border-radius:8px;background:#fff}
.manualPayGrid .manualCombo{min-height:1.5em;margin-bottom:6px;font-weight:800;color:#075bb5}
.manualPayGrid input{width:100%;box-sizing:border-box}
.hitBadge{background:#fff3b0!important;color:#a40000!important;border:1px solid #e1b900;margin-left:4px}

/* ===== Ver2-376: five fixed entry columns + race header hit badges ===== */
.raceHeaderMain{min-width:0;flex:1;padding:0 10px;}
.raceHeaderHits{display:flex;gap:4px;flex-wrap:wrap;margin:5px 0;}
.raceHeaderHits .hitBadge{background:#fff0b8;color:#c1121f;border:1px solid #f2cf55;}

.tableWrap .stickyFinish,
.tableWrap .stickyAxis,
.tableWrap .stickyMark,
.tableWrap .stickyFrame,
.tableWrap .stickyNo{
  position:sticky!important;
  background:#fff!important;
  background-color:#fff!important;
  background-clip:border-box!important;
  z-index:82!important;
  overflow:hidden!important;
  box-shadow:1px 0 0 #e1e8f2!important;
}
.tableWrap thead .stickyFinish,
.tableWrap thead .stickyAxis,
.tableWrap thead .stickyMark,
.tableWrap thead .stickyFrame,
.tableWrap thead .stickyNo{
  background:#f5f7fb!important;
  background-color:#f5f7fb!important;
  z-index:94!important;
}
.tableWrap .stickyFinish{left:0!important;width:36px!important;min-width:36px!important;max-width:36px!important;}
.tableWrap .stickyAxis{left:36px!important;width:42px!important;min-width:42px!important;max-width:42px!important;}
.tableWrap .stickyMark{left:78px!important;width:42px!important;min-width:42px!important;max-width:42px!important;}
.tableWrap .stickyFrame{left:120px!important;width:44px!important;min-width:44px!important;max-width:44px!important;}
.tableWrap .stickyNo{left:164px!important;width:58px!important;min-width:58px!important;max-width:58px!important;}
.tableWrap .axisHitCell{background:#ffe76a!important;color:#d00000!important;font-weight:900!important;}

/* Keep the three previous-race columns visible together on phone-sized screens. */
.entryDetailTableWrap table{min-width:650px!important;table-layout:fixed;}
.entryDetailTableWrap th,.entryDetailTableWrap td{padding:7px 5px;font-size:14px;}
.entryDetailTableWrap th:nth-child(6),.entryDetailTableWrap td:nth-child(6){width:126px;min-width:126px;max-width:126px;overflow:hidden;text-overflow:ellipsis;}
.entryDetailTableWrap th:nth-child(7),.entryDetailTableWrap td:nth-child(7){width:58px;min-width:58px;max-width:58px;}
.entryDetailTableWrap th:nth-child(8),.entryDetailTableWrap td:nth-child(8){width:48px;min-width:48px;max-width:48px;}
.entryDetailTableWrap th:nth-child(9),.entryDetailTableWrap td:nth-child(9),
.entryDetailTableWrap th:nth-child(10),.entryDetailTableWrap td:nth-child(10),
.entryDetailTableWrap th:nth-child(11),.entryDetailTableWrap td:nth-child(11){width:48px;min-width:48px;max-width:48px;}

/* Input table uses the same five fixed columns. */
.inputTableWrap .stickyFinish{left:0!important;width:36px!important;min-width:36px!important;max-width:36px!important;}
.inputTableWrap .stickyAxis{left:36px!important;width:42px!important;min-width:42px!important;max-width:42px!important;}
.inputTableWrap .stickyMark{left:78px!important;width:42px!important;min-width:42px!important;max-width:42px!important;}
.inputTableWrap .stickyFrame{left:120px!important;width:44px!important;min-width:44px!important;max-width:44px!important;}
.inputTableWrap .stickyNo{left:164px!important;width:58px!important;min-width:58px!important;max-width:58px!important;}

@media(max-width:760px){
  .raceHeaderLayout{align-items:flex-start;}
  .raceHeaderMain{padding:0 5px;}
  .raceHeaderHits .badge{font-size:11px;padding:2px 5px;}
  .tableWrap .stickyFinish,.inputTableWrap .stickyFinish{width:32px!important;min-width:32px!important;max-width:32px!important;}
  .tableWrap .stickyAxis,.inputTableWrap .stickyAxis{left:32px!important;width:38px!important;min-width:38px!important;max-width:38px!important;}
  .tableWrap .stickyMark,.inputTableWrap .stickyMark{left:70px!important;width:38px!important;min-width:38px!important;max-width:38px!important;}
  .tableWrap .stickyFrame,.inputTableWrap .stickyFrame{left:108px!important;width:40px!important;min-width:40px!important;max-width:40px!important;}
  .tableWrap .stickyNo,.inputTableWrap .stickyNo{left:148px!important;width:52px!important;min-width:52px!important;max-width:52px!important;}
  .entryDetailTableWrap table{min-width:610px!important;}
  .entryDetailTableWrap th,.entryDetailTableWrap td{padding:6px 4px;font-size:13px;}
  .entryDetailTableWrap th:nth-child(6),.entryDetailTableWrap td:nth-child(6){width:110px;min-width:110px;max-width:110px;}
  .entryDetailTableWrap th:nth-child(7),.entryDetailTableWrap td:nth-child(7){width:52px;min-width:52px;max-width:52px;}
  .entryDetailTableWrap th:nth-child(8),.entryDetailTableWrap td:nth-child(8){width:42px;min-width:42px;max-width:42px;}
  .entryDetailTableWrap th:nth-child(9),.entryDetailTableWrap td:nth-child(9),
  .entryDetailTableWrap th:nth-child(10),.entryDetailTableWrap td:nth-child(10),
  .entryDetailTableWrap th:nth-child(11),.entryDetailTableWrap td:nth-child(11){width:44px;min-width:44px;max-width:44px;}
}

/* ===== Ver2-377: prevent sticky 印・枠 columns from collapsing/overlapping ===== */
.fiveFixedTable{table-layout:fixed!important;}
.fiveFixedTable col.colFinish{width:36px!important;}
.fiveFixedTable col.colAxis{width:42px!important;}
.fiveFixedTable col.colMark{width:42px!important;}
.fiveFixedTable col.colFrame{width:44px!important;}
.fiveFixedTable col.colNo{width:58px!important;}
.fiveFixedTable col.colName{width:126px!important;}
.fiveFixedTable col.colOdds{width:58px!important;}
.fiveFixedTable col.colPopularity{width:48px!important;}
.fiveFixedTable col.colPast{width:48px!important;}
.fiveFixedTable th.stickyFinish,.fiveFixedTable td.stickyFinish{left:0!important;}
.fiveFixedTable th.stickyAxis,.fiveFixedTable td.stickyAxis{left:36px!important;}
.fiveFixedTable th.stickyMark,.fiveFixedTable td.stickyMark{left:78px!important;}
.fiveFixedTable th.stickyFrame,.fiveFixedTable td.stickyFrame{left:120px!important;}
.fiveFixedTable th.stickyNo,.fiveFixedTable td.stickyNo{left:164px!important;}
.fiveFixedTable th.stickyMark,.fiveFixedTable td.stickyMark,
.fiveFixedTable th.stickyFrame,.fiveFixedTable td.stickyFrame{display:table-cell!important;visibility:visible!important;opacity:1!important;}
@media(max-width:760px){
  .fiveFixedTable col.colFinish{width:32px!important;}
  .fiveFixedTable col.colAxis{width:38px!important;}
  .fiveFixedTable col.colMark{width:38px!important;}
  .fiveFixedTable col.colFrame{width:40px!important;}
  .fiveFixedTable col.colNo{width:52px!important;}
  .fiveFixedTable col.colName{width:110px!important;}
  .fiveFixedTable col.colOdds{width:52px!important;}
  .fiveFixedTable col.colPopularity{width:42px!important;}
  .fiveFixedTable col.colPast{width:44px!important;}
  .fiveFixedTable th.stickyAxis,.fiveFixedTable td.stickyAxis{left:32px!important;}
  .fiveFixedTable th.stickyMark,.fiveFixedTable td.stickyMark{left:70px!important;}
  .fiveFixedTable th.stickyFrame,.fiveFixedTable td.stickyFrame{left:108px!important;}
  .fiveFixedTable th.stickyNo,.fiveFixedTable td.stickyNo{left:148px!important;}
}

/* ===== Ver2-378: Android Chrome five sticky columns overlap fix =====
   width:100% + collapsed borders stretched the actual columns beyond their
   sticky left offsets. Use an explicit intrinsic table width and separate
   borders so 着・軸・印・枠・馬番 remain five independent sticky cells. */
.tableWrap .fiveFixedTable{
  width:max-content!important;
  min-width:760px!important;
  table-layout:fixed!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}
.tableWrap .fiveFixedTable th,
.tableWrap .fiveFixedTable td{
  box-sizing:border-box!important;
  border-right:1px solid #e1e8f2!important;
  border-bottom:1px solid #e1e8f2!important;
  border-left:0!important;
  border-top:0!important;
}
.tableWrap .fiveFixedTable tr > :first-child{border-left:1px solid #e1e8f2!important;}
.tableWrap .fiveFixedTable thead tr:first-child > *{border-top:1px solid #e1e8f2!important;}

/* Exact fixed widths and offsets.  Later cells use a lower z-index so they
   can never paint over an earlier fixed column even during momentum scroll. */
.tableWrap .fiveFixedTable .stickyFinish{left:0!important;width:36px!important;min-width:36px!important;max-width:36px!important;z-index:90!important;}
.tableWrap .fiveFixedTable .stickyAxis{left:36px!important;width:42px!important;min-width:42px!important;max-width:42px!important;z-index:89!important;}
.tableWrap .fiveFixedTable .stickyMark{left:78px!important;width:42px!important;min-width:42px!important;max-width:42px!important;z-index:88!important;}
.tableWrap .fiveFixedTable .stickyFrame{left:120px!important;width:44px!important;min-width:44px!important;max-width:44px!important;z-index:87!important;}
.tableWrap .fiveFixedTable .stickyNo{left:164px!important;width:58px!important;min-width:58px!important;max-width:58px!important;z-index:86!important;}
.tableWrap .fiveFixedTable thead .stickyFinish{z-index:110!important;}
.tableWrap .fiveFixedTable thead .stickyAxis{z-index:109!important;}
.tableWrap .fiveFixedTable thead .stickyMark{z-index:108!important;}
.tableWrap .fiveFixedTable thead .stickyFrame{z-index:107!important;}
.tableWrap .fiveFixedTable thead .stickyNo{z-index:106!important;}
.tableWrap .fiveFixedTable .stickyFinish,
.tableWrap .fiveFixedTable .stickyAxis,
.tableWrap .fiveFixedTable .stickyMark,
.tableWrap .fiveFixedTable .stickyFrame,
.tableWrap .fiveFixedTable .stickyNo{
  position:sticky!important;
  background-color:#fff!important;
  background-clip:padding-box!important;
}
.tableWrap .fiveFixedTable thead .stickyFinish,
.tableWrap .fiveFixedTable thead .stickyAxis,
.tableWrap .fiveFixedTable thead .stickyMark,
.tableWrap .fiveFixedTable thead .stickyFrame,
.tableWrap .fiveFixedTable thead .stickyNo{background-color:#f5f7fb!important;}
.tableWrap .fiveFixedTable .axisHitCell{background-color:#ffe76a!important;}

@media(max-width:760px){
  .tableWrap .fiveFixedTable{min-width:690px!important;}
  .tableWrap .fiveFixedTable .stickyFinish{left:0!important;width:32px!important;min-width:32px!important;max-width:32px!important;}
  .tableWrap .fiveFixedTable .stickyAxis{left:32px!important;width:38px!important;min-width:38px!important;max-width:38px!important;}
  .tableWrap .fiveFixedTable .stickyMark{left:70px!important;width:38px!important;min-width:38px!important;max-width:38px!important;}
  .tableWrap .fiveFixedTable .stickyFrame{left:108px!important;width:40px!important;min-width:40px!important;max-width:40px!important;}
  .tableWrap .fiveFixedTable .stickyNo{left:148px!important;width:52px!important;min-width:52px!important;max-width:52px!important;}
}

/* ===== Ver2-379: compact race-card table; show all horses and all past 3 columns =====
   On the read-only race information card, keep 着・軸・印・枠・馬番 and
   display 前走・前2・前3 simultaneously. 馬名・単勝・人気 remain available
   on the editing/input table, but are omitted from this compact card. */
.entryDetailTableWrap{
  overflow-x:hidden!important;
  overflow-y:visible!important;
  max-height:none!important;
  height:auto!important;
  -webkit-overflow-scrolling:auto!important;
}
.entryDetailTableWrap .fiveFixedTable{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  table-layout:fixed!important;
}
/* Hide only the read-only card's 馬名・単勝・人気 columns. */
.entryDetailTableWrap .fiveFixedTable col:nth-child(6),
.entryDetailTableWrap .fiveFixedTable col:nth-child(7),
.entryDetailTableWrap .fiveFixedTable col:nth-child(8),
.entryDetailTableWrap .fiveFixedTable th:nth-child(6),
.entryDetailTableWrap .fiveFixedTable th:nth-child(7),
.entryDetailTableWrap .fiveFixedTable th:nth-child(8),
.entryDetailTableWrap .fiveFixedTable td:nth-child(6),
.entryDetailTableWrap .fiveFixedTable td:nth-child(7),
.entryDetailTableWrap .fiveFixedTable td:nth-child(8){display:none!important;}
.entryDetailTableWrap .fiveFixedTable col.colFinish{width:32px!important;}
.entryDetailTableWrap .fiveFixedTable col.colAxis{width:38px!important;}
.entryDetailTableWrap .fiveFixedTable col.colMark{width:38px!important;}
.entryDetailTableWrap .fiveFixedTable col.colFrame{width:40px!important;}
.entryDetailTableWrap .fiveFixedTable col.colNo{width:52px!important;}
.entryDetailTableWrap .fiveFixedTable col.colPast{width:calc((100% - 200px) / 3)!important;}
.entryDetailTableWrap .fiveFixedTable th,
.entryDetailTableWrap .fiveFixedTable td{padding:6px 3px!important;}
.entryDetailTableWrap .fiveFixedTable .stickyFinish{left:0!important;width:32px!important;min-width:32px!important;max-width:32px!important;}
.entryDetailTableWrap .fiveFixedTable .stickyAxis{left:32px!important;width:38px!important;min-width:38px!important;max-width:38px!important;}
.entryDetailTableWrap .fiveFixedTable .stickyMark{left:70px!important;width:38px!important;min-width:38px!important;max-width:38px!important;}
.entryDetailTableWrap .fiveFixedTable .stickyFrame{left:108px!important;width:40px!important;min-width:40px!important;max-width:40px!important;}
.entryDetailTableWrap .fiveFixedTable .stickyNo{left:148px!important;width:52px!important;min-width:52px!important;max-width:52px!important;}
@media(max-width:420px){
  .entryDetailTableWrap .fiveFixedTable col.colFinish{width:29px!important;}
  .entryDetailTableWrap .fiveFixedTable col.colAxis{width:34px!important;}
  .entryDetailTableWrap .fiveFixedTable col.colMark{width:34px!important;}
  .entryDetailTableWrap .fiveFixedTable col.colFrame{width:37px!important;}
  .entryDetailTableWrap .fiveFixedTable col.colNo{width:46px!important;}
  .entryDetailTableWrap .fiveFixedTable col.colPast{width:calc((100% - 180px) / 3)!important;}
  .entryDetailTableWrap .fiveFixedTable .stickyFinish{width:29px!important;min-width:29px!important;max-width:29px!important;}
  .entryDetailTableWrap .fiveFixedTable .stickyAxis{left:29px!important;width:34px!important;min-width:34px!important;max-width:34px!important;}
  .entryDetailTableWrap .fiveFixedTable .stickyMark{left:63px!important;width:34px!important;min-width:34px!important;max-width:34px!important;}
  .entryDetailTableWrap .fiveFixedTable .stickyFrame{left:97px!important;width:37px!important;min-width:37px!important;max-width:37px!important;}
  .entryDetailTableWrap .fiveFixedTable .stickyNo{left:134px!important;width:46px!important;min-width:46px!important;max-width:46px!important;}
}

/* ===== Ver2-380: true 8-column compact past-3 table =====
   Build the read-only card with only 着・軸・印・枠・馬番・前走・前2・前3.
   This avoids hidden legacy columns consuming layout width and guarantees
   前走 is visible on Android. No inner vertical scroll; up to 18 horses are
   rendered as normal page rows. */
.entryDetailTableWrap .compactPast3Table{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  table-layout:fixed!important;
}
.entryDetailTableWrap .compactPast3Table col.colFinish{width:29px!important;}
.entryDetailTableWrap .compactPast3Table col.colAxis{width:34px!important;}
.entryDetailTableWrap .compactPast3Table col.colMark{width:34px!important;}
.entryDetailTableWrap .compactPast3Table col.colFrame{width:37px!important;}
.entryDetailTableWrap .compactPast3Table col.colNo{width:46px!important;}
.entryDetailTableWrap .compactPast3Table col.colPast{width:calc((100% - 180px) / 3)!important;}
.entryDetailTableWrap .compactPast3Table th,
.entryDetailTableWrap .compactPast3Table td{
  display:table-cell!important;
  height:43px!important;
  min-height:43px!important;
  padding:4px 2px!important;
  font-size:13px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}
.entryDetailTableWrap .compactPast3Table .stickyFinish{left:0!important;width:29px!important;min-width:29px!important;max-width:29px!important;}
.entryDetailTableWrap .compactPast3Table .stickyAxis{left:29px!important;width:34px!important;min-width:34px!important;max-width:34px!important;}
.entryDetailTableWrap .compactPast3Table .stickyMark{left:63px!important;width:34px!important;min-width:34px!important;max-width:34px!important;}
.entryDetailTableWrap .compactPast3Table .stickyFrame{left:97px!important;width:37px!important;min-width:37px!important;max-width:37px!important;}
.entryDetailTableWrap .compactPast3Table .stickyNo{left:134px!important;width:46px!important;min-width:46px!important;max-width:46px!important;}
.entryDetailTableWrap .compactPast3Table tbody{max-height:none!important;overflow:visible!important;}
@media(min-width:421px){
  .entryDetailTableWrap .compactPast3Table col.colFinish{width:32px!important;}
  .entryDetailTableWrap .compactPast3Table col.colAxis{width:38px!important;}
  .entryDetailTableWrap .compactPast3Table col.colMark{width:38px!important;}
  .entryDetailTableWrap .compactPast3Table col.colFrame{width:40px!important;}
  .entryDetailTableWrap .compactPast3Table col.colNo{width:52px!important;}
  .entryDetailTableWrap .compactPast3Table col.colPast{width:calc((100% - 200px) / 3)!important;}
  .entryDetailTableWrap .compactPast3Table .stickyFinish{width:32px!important;min-width:32px!important;max-width:32px!important;}
  .entryDetailTableWrap .compactPast3Table .stickyAxis{left:32px!important;width:38px!important;min-width:38px!important;max-width:38px!important;}
  .entryDetailTableWrap .compactPast3Table .stickyMark{left:70px!important;width:38px!important;min-width:38px!important;max-width:38px!important;}
  .entryDetailTableWrap .compactPast3Table .stickyFrame{left:108px!important;width:40px!important;min-width:40px!important;max-width:40px!important;}
  .entryDetailTableWrap .compactPast3Table .stickyNo{left:148px!important;width:52px!important;min-width:52px!important;max-width:52px!important;}
}

/* ===== Ver2-381: five fixed columns + horizontal details =====
   Keep 着・軸・印・枠・馬番 fixed. Show 馬名・人気・前走 first, with 前2・前3
   continuing to the right. The table has no inner vertical scroll, so all
   horses remain visible via the page's normal vertical scrolling. */
.entryDetailTableWrap{
  overflow-x:auto!important;
  overflow-y:visible!important;
  max-height:none!important;
  height:auto!important;
  -webkit-overflow-scrolling:touch!important;
}
.entryDetailTableWrap .raceEntryScrollTable{
  width:max-content!important;
  min-width:760px!important;
  max-width:none!important;
  table-layout:fixed!important;
}
.entryDetailTableWrap .raceEntryScrollTable col.colFinish{width:32px!important;}
.entryDetailTableWrap .raceEntryScrollTable col.colAxis{width:38px!important;}
.entryDetailTableWrap .raceEntryScrollTable col.colMark{width:38px!important;}
.entryDetailTableWrap .raceEntryScrollTable col.colFrame{width:40px!important;}
.entryDetailTableWrap .raceEntryScrollTable col.colNo{width:52px!important;}
.entryDetailTableWrap .raceEntryScrollTable col.colName{width:132px!important;}
.entryDetailTableWrap .raceEntryScrollTable col.colPopularity{width:52px!important;}
.entryDetailTableWrap .raceEntryScrollTable col.colPast{width:58px!important;}
.entryDetailTableWrap .raceEntryScrollTable th,
.entryDetailTableWrap .raceEntryScrollTable td{
  display:table-cell!important;
  height:42px!important;
  padding:5px 4px!important;
  font-size:14px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.entryDetailTableWrap .raceEntryScrollTable .entryHorseName{text-align:left!important;}
.entryDetailTableWrap .raceEntryScrollTable .stickyFinish{left:0!important;width:32px!important;min-width:32px!important;max-width:32px!important;}
.entryDetailTableWrap .raceEntryScrollTable .stickyAxis{left:32px!important;width:38px!important;min-width:38px!important;max-width:38px!important;}
.entryDetailTableWrap .raceEntryScrollTable .stickyMark{left:70px!important;width:38px!important;min-width:38px!important;max-width:38px!important;}
.entryDetailTableWrap .raceEntryScrollTable .stickyFrame{left:108px!important;width:40px!important;min-width:40px!important;max-width:40px!important;}
.entryDetailTableWrap .raceEntryScrollTable .stickyNo{left:148px!important;width:52px!important;min-width:52px!important;max-width:52px!important;}
@media(max-width:420px){
  .entryDetailTableWrap .raceEntryScrollTable{min-width:720px!important;}
  .entryDetailTableWrap .raceEntryScrollTable col.colFinish{width:29px!important;}
  .entryDetailTableWrap .raceEntryScrollTable col.colAxis{width:34px!important;}
  .entryDetailTableWrap .raceEntryScrollTable col.colMark{width:34px!important;}
  .entryDetailTableWrap .raceEntryScrollTable col.colFrame{width:37px!important;}
  .entryDetailTableWrap .raceEntryScrollTable col.colNo{width:46px!important;}
  .entryDetailTableWrap .raceEntryScrollTable col.colName{width:120px!important;}
  .entryDetailTableWrap .raceEntryScrollTable col.colPopularity{width:48px!important;}
  .entryDetailTableWrap .raceEntryScrollTable col.colPast{width:54px!important;}
  .entryDetailTableWrap .raceEntryScrollTable .stickyFinish{left:0!important;width:29px!important;min-width:29px!important;max-width:29px!important;}
  .entryDetailTableWrap .raceEntryScrollTable .stickyAxis{left:29px!important;width:34px!important;min-width:34px!important;max-width:34px!important;}
  .entryDetailTableWrap .raceEntryScrollTable .stickyMark{left:63px!important;width:34px!important;min-width:34px!important;max-width:34px!important;}
  .entryDetailTableWrap .raceEntryScrollTable .stickyFrame{left:97px!important;width:37px!important;min-width:37px!important;max-width:37px!important;}
  .entryDetailTableWrap .raceEntryScrollTable .stickyNo{left:134px!important;width:46px!important;min-width:46px!important;max-width:46px!important;}
}

/* ===== Ver2-382: restore stable entry table start position and visible name ===== */
.entryDetailTableWrap{
  direction:ltr!important;
  scroll-behavior:auto!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
}
.entryDetailTableWrap .raceEntryScrollTable{
  border-collapse:separate!important;
  border-spacing:0!important;
  width:720px!important;
  min-width:720px!important;
  table-layout:fixed!important;
}
.entryDetailTableWrap .raceEntryScrollTable col.colFinish{width:30px!important;}
.entryDetailTableWrap .raceEntryScrollTable col.colAxis{width:36px!important;}
.entryDetailTableWrap .raceEntryScrollTable col.colMark{width:36px!important;}
.entryDetailTableWrap .raceEntryScrollTable col.colFrame{width:38px!important;}
.entryDetailTableWrap .raceEntryScrollTable col.colNo{width:46px!important;}
.entryDetailTableWrap .raceEntryScrollTable col.colName{width:145px!important;}
.entryDetailTableWrap .raceEntryScrollTable col.colPopularity{width:48px!important;}
.entryDetailTableWrap .raceEntryScrollTable col.colPast{width:56px!important;}
.entryDetailTableWrap .raceEntryScrollTable .stickyFinish{left:0!important;width:30px!important;min-width:30px!important;max-width:30px!important;}
.entryDetailTableWrap .raceEntryScrollTable .stickyAxis{left:30px!important;width:36px!important;min-width:36px!important;max-width:36px!important;}
.entryDetailTableWrap .raceEntryScrollTable .stickyMark{left:66px!important;width:36px!important;min-width:36px!important;max-width:36px!important;}
.entryDetailTableWrap .raceEntryScrollTable .stickyFrame{left:102px!important;width:38px!important;min-width:38px!important;max-width:38px!important;}
.entryDetailTableWrap .raceEntryScrollTable .stickyNo{left:140px!important;width:46px!important;min-width:46px!important;max-width:46px!important;}
.entryDetailTableWrap .raceEntryScrollTable .entryHorseName{
  display:table-cell!important;
  visibility:visible!important;
  opacity:1!important;
  text-align:left!important;
  padding-left:7px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  background:#fff!important;
}
.entryDetailTableWrap .raceEntryScrollTable th:nth-child(6),
.entryDetailTableWrap .raceEntryScrollTable td:nth-child(6){display:table-cell!important;visibility:visible!important;}

/* ===== Ver383: stable split entry table (fixed five columns + horizontal detail table) ===== */
.splitEntryTable{
  display:flex;
  width:100%;
  overflow:visible;
  border:1px solid #d7dfed;
  border-radius:8px;
  background:#fff;
}
.splitEntryFixed{
  flex:0 0 218px;
  width:218px;
  overflow:hidden;
  background:#fff;
  position:relative;
  z-index:2;
  border-right:2px solid #c8d4e5;
  border-radius:8px 0 0 8px;
}
.splitEntryScroll{
  flex:1 1 auto;
  min-width:0;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  border-radius:0 8px 8px 0;
}
.splitEntryTable table{
  width:max-content;
  min-width:100%;
  table-layout:fixed;
  border-collapse:separate;
  border-spacing:0;
  margin:0;
}
.splitEntryTable th,.splitEntryTable td{
  height:46px;
  min-height:46px;
  max-height:46px;
  padding:4px 5px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  border-top:0;
  border-left:0;
}
.splitEntryTable thead th{
  height:44px;
  min-height:44px;
  max-height:44px;
  background:#f5f7fb;
}
.splitEntryTable tbody tr:last-child td{border-bottom:0;}
.splitEntryFixed th:last-child,.splitEntryFixed td:last-child{border-right:0;}
.splitEntryTable .spFinish{width:38px}.splitEntryTable .spAxis{width:42px}.splitEntryTable .spMark{width:42px}.splitEntryTable .spFrame{width:44px}.splitEntryTable .spNo{width:52px}
.splitEntryTable .spName{width:150px}.splitEntryTable .spPop{width:58px}.splitEntryTable .spPast{width:62px}
.splitEntryTable .entryHorseName{text-align:left;font-weight:700;max-width:150px;}
.splitEntryTable .markCell{font-size:19px;font-weight:900;}
.splitEntryTable .axisHitCell{background:#ffe66b!important;color:#d40000!important;font-weight:900;}
@media(max-width:760px){
  .splitEntryFixed{flex-basis:202px;width:202px;}
  .splitEntryTable .spFinish{width:34px}.splitEntryTable .spAxis{width:40px}.splitEntryTable .spMark{width:38px}.splitEntryTable .spFrame{width:42px}.splitEntryTable .spNo{width:48px}
  .splitEntryTable .spName{width:132px}.splitEntryTable .spPop{width:54px}.splitEntryTable .spPast{width:58px}
  .splitEntryTable th,.splitEntryTable td{height:42px;min-height:42px;max-height:42px;padding:3px 4px;font-size:14px;}
  .splitEntryTable thead th{height:42px;min-height:42px;max-height:42px;}
  .splitEntryTable .frameCell{min-width:26px;padding:2px 3px;}
}


/* ===== Ver384: clean split table, page vertical scroll + fixed five columns ===== */
.splitEntryTable{
  display:grid!important;
  grid-template-columns:180px minmax(0,1fr)!important;
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  border:1px solid #d7dfed!important;
  border-radius:10px!important;
  background:#fff!important;
}
.splitEntryFixed{
  width:180px!important;
  min-width:180px!important;
  max-width:180px!important;
  overflow:hidden!important;
  border-right:2px solid #c8d4e5!important;
  border-radius:9px 0 0 9px!important;
  position:relative!important;
  z-index:2!important;
}
.splitEntryScroll{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:thin;
  border-radius:0 9px 9px 0!important;
}
.splitEntryFixed table{
  width:180px!important;
  min-width:180px!important;
  max-width:180px!important;
  table-layout:fixed!important;
}
.splitEntryScroll table{
  width:390px!important;
  min-width:390px!important;
  max-width:390px!important;
  table-layout:fixed!important;
}
.splitEntryTable table{
  border-collapse:separate!important;
  border-spacing:0!important;
  margin:0!important;
}
.splitEntryTable col,.splitEntryTable th,.splitEntryTable td{
  box-sizing:border-box!important;
}
.splitEntryTable .spFinish{width:30px!important}
.splitEntryTable .spAxis{width:34px!important}
.splitEntryTable .spMark{width:34px!important}
.splitEntryTable .spFrame{width:38px!important}
.splitEntryTable .spNo{width:44px!important}
.splitEntryTable .spName{width:150px!important}
.splitEntryTable .spPop{width:48px!important}
.splitEntryTable .spPast{width:64px!important}
.splitEntryTable th,.splitEntryTable td{
  height:42px!important;
  min-height:42px!important;
  max-height:42px!important;
  padding:3px 3px!important;
  font-size:14px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  position:static!important;
  left:auto!important;
  transform:none!important;
}
.splitEntryTable thead th{
  height:42px!important;
  min-height:42px!important;
  max-height:42px!important;
  background:#f5f7fb!important;
  font-weight:800!important;
}
.splitEntryTable .entryHorseName{
  width:150px!important;
  max-width:150px!important;
  text-align:left!important;
  font-weight:700!important;
}
.splitEntryTable .frameCell{
  min-width:25px!important;
  padding:2px 3px!important;
}
/* No internal vertical scrolling: all runners extend the page naturally. */
.splitEntryTable,.splitEntryFixed,.splitEntryScroll,
.splitEntryTable table,.splitEntryTable tbody{
  max-height:none!important;
}
@media(max-width:420px){
  .splitEntryTable{grid-template-columns:168px minmax(0,1fr)!important;}
  .splitEntryFixed,.splitEntryFixed table{width:168px!important;min-width:168px!important;max-width:168px!important;}
  .splitEntryTable .spFinish{width:28px!important}
  .splitEntryTable .spAxis{width:32px!important}
  .splitEntryTable .spMark{width:32px!important}
  .splitEntryTable .spFrame{width:36px!important}
  .splitEntryTable .spNo{width:40px!important}
  .splitEntryTable th,.splitEntryTable td{font-size:13px!important;padding:2px!important;}
}

/* ===== Ver385: stable one-table mobile entry view =====
   Show 着・軸・印・枠・馬番・人気・前走・前2・前3 simultaneously. */
.compactEntryCard{overflow:visible!important;}
.compactEntryWrap{
  width:100%!important;
  overflow:visible!important;
  border:1px solid #d7dfed!important;
  border-radius:10px!important;
  background:#fff!important;
}
.compactEntryTable{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  table-layout:fixed!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  margin:0!important;
}
.compactEntryTable col.ceFinish{width:8%!important;}
.compactEntryTable col.ceAxis{width:9%!important;}
.compactEntryTable col.ceMark{width:9%!important;}
.compactEntryTable col.ceFrame{width:10%!important;}
.compactEntryTable col.ceNo{width:12%!important;}
.compactEntryTable col.cePop{width:11%!important;}
.compactEntryTable col.cePast{width:13.666%!important;}
.compactEntryTable th,.compactEntryTable td{
  box-sizing:border-box!important;
  height:42px!important;
  padding:3px 1px!important;
  text-align:center!important;
  font-size:14px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  position:static!important;
  left:auto!important;
  transform:none!important;
}
.compactEntryTable thead th{
  height:44px!important;
  background:#f5f7fb!important;
  font-weight:800!important;
  font-size:14px!important;
}
.compactEntryTable .markCell{font-size:18px!important;font-weight:900!important;}
.compactEntryTable .frameCell{min-width:25px!important;padding:2px 3px!important;font-size:14px!important;}
.compactEntryTable .axisHitCell{background:#ffe66b!important;color:#d40000!important;font-weight:900!important;}
@media(max-width:420px){
  .compactEntryTable th,.compactEntryTable td{height:40px!important;font-size:13px!important;padding:2px 0!important;}
  .compactEntryTable thead th{height:42px!important;font-size:13px!important;}
  .compactEntryTable .markCell{font-size:17px!important;}
  .compactEntryTable .frameCell{min-width:23px!important;font-size:13px!important;padding:2px!important;}
}

/* ===== Ver386: fixed five columns + 9-char horse name + odds ===== */
.compactEntryCard{overflow:visible!important;}
.compactEntryWrap{
  width:100%!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  -webkit-overflow-scrolling:touch!important;
  border:1px solid #d7dfed!important;
  border-radius:10px!important;
  background:#fff!important;
}
.compactEntryTable{
  width:800px!important;
  min-width:800px!important;
  max-width:none!important;
  table-layout:fixed!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  margin:0!important;
}
.compactEntryTable col.ceFinish{width:34px!important;}
.compactEntryTable col.ceAxis{width:38px!important;}
.compactEntryTable col.ceMark{width:38px!important;}
.compactEntryTable col.ceFrame{width:42px!important;}
.compactEntryTable col.ceNo{width:46px!important;}
.compactEntryTable col.ceName{width:156px!important;}
.compactEntryTable col.ceOdds{width:66px!important;}
.compactEntryTable col.cePop{width:54px!important;}
.compactEntryTable col.cePast{width:62px!important;}
.compactEntryTable th,.compactEntryTable td{
  box-sizing:border-box!important;
  height:42px!important;
  padding:3px 2px!important;
  text-align:center!important;
  font-size:14px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  background:#fff!important;
}
.compactEntryTable thead th{background:#f5f7fb!important;font-weight:800!important;z-index:20!important;}
.compactEntryTable .ceHorseName{text-align:left!important;font-weight:700!important;padding-left:6px!important;}
.compactEntryTable .ceSticky1,.compactEntryTable .ceSticky2,.compactEntryTable .ceSticky3,.compactEntryTable .ceSticky4,.compactEntryTable .ceSticky5{
  position:sticky!important;
  z-index:12!important;
  background:#fff!important;
}
.compactEntryTable thead .ceSticky1,.compactEntryTable thead .ceSticky2,.compactEntryTable thead .ceSticky3,.compactEntryTable thead .ceSticky4,.compactEntryTable thead .ceSticky5{
  z-index:30!important;
  background:#f5f7fb!important;
}
.compactEntryTable .ceSticky1{left:0!important;}
.compactEntryTable .ceSticky2{left:34px!important;}
.compactEntryTable .ceSticky3{left:72px!important;}
.compactEntryTable .ceSticky4{left:110px!important;}
.compactEntryTable .ceSticky5{left:152px!important;border-right:2px solid #b9c8dc!important;}
.compactEntryTable .axisHitCell{background:#ffe66b!important;color:#d40000!important;font-weight:900!important;}
.compactEntryTable .markCell{font-size:18px!important;font-weight:900!important;}
.compactEntryTable .frameCell{min-width:25px!important;padding:2px 3px!important;font-size:14px!important;}

/* ===== Ver387: stable initial view for name / odds / popularity / past1 ===== */
.compactEntryWrap{
  scroll-behavior:auto!important;
  overscroll-behavior-x:contain!important;
  scrollbar-gutter:auto!important;
}
.compactEntryTable col.ceName{width:144px!important;}
.compactEntryTable col.ceOdds{width:58px!important;}
.compactEntryTable col.cePop{width:48px!important;}
.compactEntryTable col.cePast{width:56px!important;}
.compactEntryTable .ceHorseName{
  max-width:144px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

/* ===== Ver388: stable full race-entry table matching requested layout =====
   Show all columns together on the race information screen without sticky overlap.
   Column order: 着 / 軸 / 印 / 枠 / 馬番 / 馬名(9文字) / 単勝オッズ / 人気 / 前走 / 前2 / 前3.
*/
.compactEntryCard{overflow:hidden!important;padding:12px!important;}
.compactEntryWrap{
  width:100%!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  max-height:none!important;
  -webkit-overflow-scrolling:touch;
  border:1px solid #d7dfed!important;
  border-radius:10px!important;
}
.compactEntryTable{
  width:100%!important;
  min-width:594px!important;
  table-layout:fixed!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  font-size:13px!important;
}
.compactEntryTable col.ceFinish{width:38px!important;}
.compactEntryTable col.ceAxis{width:42px!important;}
.compactEntryTable col.ceMark{width:42px!important;}
.compactEntryTable col.ceFrame{width:42px!important;}
.compactEntryTable col.ceNo{width:50px!important;}
.compactEntryTable col.ceName{width:128px!important;}
.compactEntryTable col.ceOdds{width:58px!important;}
.compactEntryTable col.cePop{width:44px!important;}
.compactEntryTable col.cePast{width:50px!important;}
.compactEntryTable th,
.compactEntryTable td{
  position:static!important;
  left:auto!important;
  right:auto!important;
  z-index:auto!important;
  display:table-cell!important;
  visibility:visible!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  height:48px!important;
  min-height:48px!important;
  padding:5px 3px!important;
  border-top:0!important;
  border-left:0!important;
  border-right:1px solid #e1e8f2!important;
  border-bottom:1px solid #e1e8f2!important;
  background:#fff!important;
  text-align:center!important;
  vertical-align:middle!important;
}
.compactEntryTable thead th{
  height:48px!important;
  background:#f5f7fb!important;
  font-weight:900!important;
  font-size:13px!important;
}
.compactEntryTable tr:last-child td{border-bottom:0!important;}
.compactEntryTable th:last-child,
.compactEntryTable td:last-child{border-right:0!important;}
.compactEntryTable .ceHorseName{
  text-align:left!important;
  padding-left:7px!important;
  font-size:12px!important;
}
.compactEntryTable .markCell{font-size:18px!important;font-weight:900!important;}
.compactEntryTable .frameCell{
  min-width:28px!important;
  padding:2px 4px!important;
  font-size:14px!important;
  line-height:22px!important;
}
.compactEntryTable .finishCell,
.compactEntryTable .axisCell{font-weight:900!important;}
.compactEntryTable .axisHitCell{background:#ffe66a!important;color:#d40000!important;}
.entryStatusOnly{margin-bottom:4px!important;}

@media(max-width:760px){
  .compactEntryCard{padding:8px!important;}
  .compactEntryTable{min-width:594px!important;font-size:12px!important;}
  .compactEntryTable th,.compactEntryTable td{height:44px!important;min-height:44px!important;padding:4px 2px!important;}
  .compactEntryTable thead th{height:46px!important;font-size:12px!important;}
  .compactEntryTable .ceHorseName{font-size:11px!important;padding-left:5px!important;}
}

/* ===== Ver2-394: mobile edit table shows name, odds, popularity and past 3 in one screen ===== */
@media(max-width:760px){
  .inputScreen .inputTableWrap{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }
  .inputScreen .inputTableWrap table.fiveFixedTable{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    table-layout:fixed!important;
  }
  .inputScreen .inputTableWrap th,
  .inputScreen .inputTableWrap td{
    position:static!important;
    left:auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    padding:3px 1px!important;
    font-size:10px!important;
    line-height:1.15!important;
    box-shadow:none!important;
  }
  .inputScreen .inputTableWrap col.colFinish{width:5%!important;}
  .inputScreen .inputTableWrap col.colAxis{width:6%!important;}
  .inputScreen .inputTableWrap col.colMark{width:6%!important;}
  .inputScreen .inputTableWrap col.colFrame{width:6%!important;}
  .inputScreen .inputTableWrap col.colNo{width:7%!important;}
  .inputScreen .inputTableWrap col.colName{width:18%!important;}
  .inputScreen .inputTableWrap col.colOdds{width:11%!important;}
  .inputScreen .inputTableWrap col.colPopularity{width:8%!important;}
  .inputScreen .inputTableWrap col.colPast{width:11%!important;}
  .inputScreen .inputTableWrap input,
  .inputScreen .inputTableWrap .shortInput,
  .inputScreen .inputTableWrap .horseNameInput,
  .inputScreen .inputTableWrap .oddsInput{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    padding:4px 0!important;
    font-size:11px!important;
    text-align:center!important;
  }
  .inputScreen .inputTableWrap .horseNameInput{
    text-align:left!important;
    padding-left:2px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
}


/* ===== Ver2-395: odds 999.9 visible + odds and past columns together ===== */
@media(max-width:760px){
  .inputScreen .inputTableWrap col.colFinish{width:4%!important;}
  .inputScreen .inputTableWrap col.colAxis{width:5%!important;}
  .inputScreen .inputTableWrap col.colMark{width:5%!important;}
  .inputScreen .inputTableWrap col.colFrame{width:5%!important;}
  .inputScreen .inputTableWrap col.colNo{width:6%!important;}
  .inputScreen .inputTableWrap col.colName{width:16%!important;}
  .inputScreen .inputTableWrap col.colOdds{width:13%!important;}
  .inputScreen .inputTableWrap col.colPopularity{width:8%!important;}
  .inputScreen .inputTableWrap col.colPast{width:12%!important;}
  .inputScreen .inputTableWrap .oddsInput{
    font-size:11px!important;
    letter-spacing:-.2px!important;
    padding-left:1px!important;
    padding-right:1px!important;
  }
}

/* ===== Ver2-396: keep full decimal win odds visible on mobile input screen ===== */
@media(max-width:760px){
  .inputScreen .inputTableWrap col.colFinish{width:4%!important;}
  .inputScreen .inputTableWrap col.colAxis{width:5%!important;}
  .inputScreen .inputTableWrap col.colMark{width:5%!important;}
  .inputScreen .inputTableWrap col.colFrame{width:5%!important;}
  .inputScreen .inputTableWrap col.colNo{width:6%!important;}
  .inputScreen .inputTableWrap col.colName{width:11%!important;}
  .inputScreen .inputTableWrap col.colOdds{width:16%!important;}
  .inputScreen .inputTableWrap col.colPopularity{width:8%!important;}
  .inputScreen .inputTableWrap col.colPast{width:11%!important;}
  .inputScreen .inputTableWrap .horseNameInput{
    font-size:10px!important;
    letter-spacing:-.5px!important;
  }
  .inputScreen .inputTableWrap .oddsInput{
    font-size:10px!important;
    font-variant-numeric:tabular-nums!important;
    letter-spacing:-.45px!important;
    padding:4px 0!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .inputScreen .inputTableWrap th:nth-child(7){
    font-size:9px!important;
    letter-spacing:-.5px!important;
  }
}


/* ===== Ver2-397: mobile race-entry horizontal scroll; only frame/no stay fixed =====
   Initial viewport: 枠・馬番 + 馬名・単勝・人気・前走.
   Scroll right for 前2/前3, left for 着/軸/印. */
@media(max-width:760px){
  .inputScreen .inputTableWrap{
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x pan-y!important;
    overscroll-behavior-x:contain!important;
  }
  .inputScreen .inputTableWrap table.fiveFixedTable{
    width:max-content!important;
    min-width:760px!important;
    max-width:none!important;
    table-layout:fixed!important;
  }
  .inputScreen .inputTableWrap col.colFinish{width:32px!important;}
  .inputScreen .inputTableWrap col.colAxis{width:38px!important;}
  .inputScreen .inputTableWrap col.colMark{width:38px!important;}
  .inputScreen .inputTableWrap col.colFrame{width:42px!important;}
  .inputScreen .inputTableWrap col.colNo{width:52px!important;}
  .inputScreen .inputTableWrap col.colName{width:104px!important;}
  .inputScreen .inputTableWrap col.colOdds{width:70px!important;}
  .inputScreen .inputTableWrap col.colPopularity{width:56px!important;}
  .inputScreen .inputTableWrap col.colPast{width:72px!important;}

  .inputScreen .inputTableWrap th,
  .inputScreen .inputTableWrap td{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    padding:3px 3px!important;
    font-size:12px!important;
    line-height:1.15!important;
  }
  /* 着・軸・印は通常列として左右へスクロール */
  .inputScreen .inputTableWrap .stickyFinish,
  .inputScreen .inputTableWrap .stickyAxis,
  .inputScreen .inputTableWrap .stickyMark{
    position:static!important;
    left:auto!important;
    z-index:auto!important;
    box-shadow:none!important;
  }
  /* 枠・馬番だけを左側に固定 */
  .inputScreen .inputTableWrap .stickyFrame{
    position:sticky!important;
    left:0!important;
    z-index:8!important;
    width:42px!important;
    min-width:42px!important;
    max-width:42px!important;
    background:#fff!important;
    box-shadow:1px 0 0 #d7dfed!important;
  }
  .inputScreen .inputTableWrap .stickyNo{
    position:sticky!important;
    left:42px!important;
    z-index:8!important;
    width:52px!important;
    min-width:52px!important;
    max-width:52px!important;
    background:#fff!important;
    box-shadow:2px 0 3px rgba(15,23,42,.12)!important;
  }
  .inputScreen .inputTableWrap thead .stickyFrame,
  .inputScreen .inputTableWrap thead .stickyNo{
    z-index:10!important;
    background:#f5f7fb!important;
  }
  .inputScreen .inputTableWrap input,
  .inputScreen .inputTableWrap .shortInput,
  .inputScreen .inputTableWrap .horseNameInput,
  .inputScreen .inputTableWrap .oddsInput{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding:5px 3px!important;
    font-size:13px!important;
    box-sizing:border-box!important;
  }
  .inputScreen .inputTableWrap .horseNameInput{
    text-align:left!important;
    font-size:12px!important;
    letter-spacing:0!important;
  }
  .inputScreen .inputTableWrap .oddsInput{
    text-align:center!important;
    font-size:13px!important;
    letter-spacing:0!important;
    font-variant-numeric:tabular-nums!important;
    overflow:hidden!important;
  }
}

/* ===== Ver2-398: contain horizontal scrolling inside the race-entry table ===== */
@media(max-width:760px){
  .inputScreen,
  .inputScreen .screen,
  .inputScreen .card{
    min-width:0!important;
    max-width:100%!important;
  }
  .inputScreen .card{
    overflow:hidden!important;
  }
  .inputScreen .inputTableWrap{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow-x:scroll!important;
    overflow-y:auto!important;
    position:relative!important;
    contain:layout paint!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x!important;
  }
  .inputScreen .inputTableWrap table.fiveFixedTable{
    display:table!important;
    width:760px!important;
    min-width:760px!important;
    max-width:760px!important;
    table-layout:fixed!important;
    margin:0!important;
  }
  .inputScreen .inputTableWrap .stickyFrame,
  .inputScreen .inputTableWrap .stickyNo{
    background-clip:padding-box!important;
  }
  .inputScreen .inputTableWrap .stickyFrame{left:0!important;}
  .inputScreen .inputTableWrap .stickyNo{left:42px!important;}
}

/* ===== Ver2-399: compact past columns so win odds remain visible at right edge ===== */
@media(max-width:760px){
  .inputScreen .inputTableWrap table.fiveFixedTable{
    width:690px!important;
    min-width:690px!important;
    max-width:690px!important;
  }
  .inputScreen .inputTableWrap col.colName{width:92px!important;}
  .inputScreen .inputTableWrap col.colOdds{width:68px!important;}
  .inputScreen .inputTableWrap col.colPopularity{width:48px!important;}
  .inputScreen .inputTableWrap col.colPast{width:58px!important;}
  .inputScreen .inputTableWrap th:nth-child(n+9),
  .inputScreen .inputTableWrap td:nth-child(n+9){
    padding-left:1px!important;
    padding-right:1px!important;
    font-size:11px!important;
  }
  .inputScreen .inputTableWrap td:nth-child(n+9) input{
    padding-left:1px!important;
    padding-right:1px!important;
    font-size:12px!important;
  }
}

/* ===== Ver2-400: stable mobile one-screen entry table (no frozen horizontal scroll) ===== */
@media(max-width:760px){
  .inputScreen .card{overflow:hidden!important;}
  .inputScreen .inputTableWrap{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    overflow-y:visible!important;
    contain:none!important;
    touch-action:pan-y!important;
    -webkit-overflow-scrolling:auto!important;
  }
  .inputScreen .inputTableWrap table.fiveFixedTable{
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    table-layout:fixed!important;
    margin:0!important;
  }
  .inputScreen .inputTableWrap col.colFinish{width:4%!important;}
  .inputScreen .inputTableWrap col.colAxis{width:5%!important;}
  .inputScreen .inputTableWrap col.colMark{width:5%!important;}
  .inputScreen .inputTableWrap col.colFrame{width:6%!important;}
  .inputScreen .inputTableWrap col.colNo{width:7%!important;}
  .inputScreen .inputTableWrap col.colName{width:14%!important;}
  .inputScreen .inputTableWrap col.colOdds{width:11%!important;}
  .inputScreen .inputTableWrap col.colPopularity{width:8%!important;}
  .inputScreen .inputTableWrap col.colPast{width:13.333%!important;}

  .inputScreen .inputTableWrap .stickyFinish,
  .inputScreen .inputTableWrap .stickyAxis,
  .inputScreen .inputTableWrap .stickyMark,
  .inputScreen .inputTableWrap .stickyFrame,
  .inputScreen .inputTableWrap .stickyNo{
    position:static!important;
    left:auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    z-index:auto!important;
    box-shadow:none!important;
  }
  .inputScreen .inputTableWrap th,
  .inputScreen .inputTableWrap td{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    padding:2px 1px!important;
    font-size:9px!important;
    line-height:1.05!important;
    overflow:hidden!important;
  }
  .inputScreen .inputTableWrap input,
  .inputScreen .inputTableWrap .shortInput,
  .inputScreen .inputTableWrap .horseNameInput,
  .inputScreen .inputTableWrap .oddsInput{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    padding:4px 1px!important;
    font-size:10px!important;
    letter-spacing:-.25px!important;
    text-overflow:clip!important;
  }
  .inputScreen .inputTableWrap .horseNameInput{
    text-align:left!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .inputScreen .inputTableWrap .oddsInput{
    text-align:center!important;
    font-size:10px!important;
    font-variant-numeric:tabular-nums!important;
    letter-spacing:-.45px!important;
    overflow:visible!important;
  }
  .inputScreen .inputTableWrap th:nth-child(7){
    font-size:8px!important;
    letter-spacing:-.5px!important;
  }
}

/* ver425: 同着は同じ着順の入力欄を縦に複数表示 */
.manualFinishGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}
.manualFinishGroup{display:flex;flex-direction:column;gap:8px}
.manualFinishRow{display:flex;flex-direction:column;gap:4px}
.manualFinishRow label{margin:0;font-weight:600}
.manualFinishInput{width:100%;box-sizing:border-box}
@media (max-width:720px){.manualFinishGrid{grid-template-columns:1fr}.manualFinishGroup{gap:10px}.manualFinishRow{padding-bottom:4px;border-bottom:1px solid rgba(127,127,127,.18)}}

/* ===== Ver2-426: 結果手入力の払戻金欄を常時表示 ===== */
.manualPayGrid{
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
}
.manualPayGrid .payBox{
  min-width:0;
  overflow:visible;
}
.manualPayGrid .payRows{
  padding:4px 0 0;
}
.manualPayGrid .payRow{
  display:grid;
  grid-template-columns:minmax(72px,auto) minmax(120px,1fr);
  gap:8px;
  align-items:center;
  margin:7px 0;
  width:100%;
}
.manualPayGrid .payRow > span{
  min-width:0;
  overflow-wrap:anywhere;
  font-weight:800;
  color:#075bb5;
}
.manualPayGrid .payRow > input[data-manual-pay]{
  display:block;
  width:100%;
  min-width:120px;
  max-width:none;
  padding:9px 8px;
  font-size:16px;
  text-align:right;
  box-sizing:border-box;
}
@media(max-width:760px){
  .manualPayGrid{
    grid-template-columns:1fr;
  }
  .manualPayGrid .payRow{
    grid-template-columns:minmax(72px,38%) minmax(130px,1fr);
  }
}


/* ===== Ver2-427: 払戻金入力欄の実幅保証＋キャッシュ更新 ===== */
.manualPayGrid .manualPayRow{
  display:grid!important;
  grid-template-columns:minmax(72px,1fr) 112px!important;
  gap:10px!important;
  align-items:center!important;
  width:100%!important;
}
.manualPayGrid .manualPayInput{
  display:block!important;
  width:112px!important;
  min-width:112px!important;
  max-width:112px!important;
  height:44px!important;
  padding:8px!important;
  font-size:16px!important;
  line-height:1.2!important;
  text-align:right!important;
  box-sizing:border-box!important;
}
@media(max-width:760px){
  .manualPayGrid{grid-template-columns:1fr!important;}
  .manualPayGrid .payBox{width:100%!important;}
}

/* Ver503: 後段の白背景指定より、相手だけ馬券内の青背景を最優先する */
.inputScreen .inputTableWrap td.finishCell.finishOpponentOnly,
.compactEntryTable td.finishCell.finishOpponentOnly{
  background:#4da3ff!important;
  background-color:#4da3ff!important;
  color:#111827!important;
  font-weight:900!important;
}
