@font-face{font-family:"851Gkktt";src:url("/assets/851Gkktt.ttf") format("truetype");font-display:swap;}
html,body{margin:0;background:#0e1117;color:#fafafa;-webkit-text-size-adjust:100%;overflow-x:hidden;}   /* 閉じたポップ(同期アルバム等)の中身が見えないまま横幅を押し広げる=本番は画面全体が横に切られている */
body{font-family:"Source Sans Pro","Hiragino Sans","Hiragino Kaku Gothic ProN",sans-serif;font-size:16px;line-height:1.6;}
.pub-wrap{max-width:740px;margin:0 auto;padding:16px 16px 48px;box-sizing:border-box;}
body{-webkit-tap-highlight-color:transparent;}
/* 広い画面は1列のまま幅だけ広げる(2026-10-24: 2列の段組みは「左右に並べると逆に見づらい」で取りやめ)。
   選手カードの右の3つの枠(headstats)が収まる幅 */
@media (min-width:1100px){ .pub-wrap{max-width:1180px;padding:20px 28px 56px;} }
/* カードの間隔はページ側の16pxだけ(本番のカードの margin:8px 0 と混ざって所々ずれた・2026-10-24「カード同士の間隔がバラバラ」) */
.pub-wrap > *{margin:0 0 16px !important;}
.pub-wrap .mk-card,.pub-wrap [class*="st-key-"]{margin-top:0 !important;margin-bottom:0 !important;}
.pub-wrap > div:not([class]):empty{display:none;}
.pub-wrap > .mk-card.mk-card,.pub-wrap > [class*="st-key-"][class*="st-key-"]{margin:0 0 16px !important;}   /* 全幅のカードは上の「余白を消す」より強く(0pxになっていた) */
.pub-pc{display:none;}
.pub-crpop-b > svg[viewBox]{height:auto !important;max-width:620px;margin:0 auto;}   /* 窓の中のグラフは幅に合わせて高さも伸ばす(高さ168px固定で小さく縮んでいた・2026-10-24「グラフ何でこんな小さいの」) */
.pub-crpop{width:min(720px,94vw) !important;max-height:86vh;display:flex !important;flex-direction:column;box-sizing:border-box;
  background:#151a22 !important;border:1px solid rgba(255,255,255,0.14) !important;border-radius:14px !important;padding:14px 16px 10px !important;
  box-shadow:0 18px 50px rgba(0,0,0,.6) !important;z-index:99990 !important;}
details.mk-cr-more[open] > .mkpop-bg{display:block !important;position:fixed !important;inset:0 !important;background:rgba(0,0,0,.55) !important;z-index:99980 !important;}
details:not([open]) > .pub-crpop{display:none !important;}
.pub-crpop-h{font-size:14px;font-weight:800;color:#cdae6b;letter-spacing:.04em;border-bottom:1px solid rgba(255,255,255,0.14);padding-bottom:6px;margin-bottom:8px;}
.pub-crpop-b{overflow:auto;min-height:0;}
/* 節目・水神祭年表: 本番の列幅(%)はiPhone向け→ポップでは達成日/場/グレード/内容を中身の幅に固定し、余りを開催名へ(2026-10-24「開催名の列幅広くしてもいいね」) */
@media (min-width:600px){   /* スマホ幅は本番の%のまま(固定幅だと開催名が0pxに潰れた) */
.pub-crpop table.pub-sjt th:nth-child(1){width:92px !important;}
.pub-crpop table.pub-sjt th:nth-child(2){width:52px !important;}
.pub-crpop table.pub-sjt th:nth-child(3){width:64px !important;}
.pub-crpop table.pub-sjt th:nth-child(5){width:124px !important;}
}
html body .pub-crpop .mk-grw .mk-table th.mk-grl{background:#151a22 !important;}   /* 左に残すSG名の列はポップの地と同じ色 */
.pub-strk{margin:14px 0 4px;padding-top:12px;border-top:1px solid rgba(255,255,255,0.08);}
.pub-strk .mk-h{border-bottom:0;padding-bottom:0;margin:0 0 4px;font-size:13px;}
.pub-cmt{margin:12px 0 4px;}
.pub-cmt-h{font-size:12px;font-weight:800;color:#e9dcbe;margin:0 0 2px;}
@media (min-width:1100px){
  .pub-pc{display:block;}
  .pub-wrap > .mk-card .kbw9 .tseg9{display:none;}   /* 期別成績(全幅)は基本とスタートの列を切り替えずに全部(2026-10-24) */
  .pub-wrap > .mk-card .kbw9 .s{display:revert;}
  /* Savant(全幅)は棒が横に伸びすぎる(2026-10-24「savantやばい」)→区分ごと2列に流す。母集団の行は全幅・見出しの直後で切らない */
  .mk-sv .svy{display:none;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:44px;align-items:start;}
  .mk-sv .svy[style*="block"]{display:grid !important;}
  .mk-sv .svy > div:first-child{grid-column:1 / -1;margin-bottom:6px;}
}
/* 関係のあるカードを2つずつ同じ行に(パソコン幅)。2枚の高さをそろえて行の下端を一直線に */
.pub-row{display:block;}
.pub-row > .pub-cell + .pub-cell{margin-top:16px;}
@media (min-width:1100px){
  .pub-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:stretch;}
  .pub-row > .pub-cell + .pub-cell{margin-top:0;}
  .pub-cell{display:flex;flex-direction:column;min-width:0;}
  .pub-cell > *{flex:1 1 auto;display:flex;flex-direction:column;}
  .pub-cell > * > .mk-card,.pub-cell > .mk-card,.pub-cell [class*="st-key-"]{flex:1 1 auto;box-sizing:border-box;}
}
}
.pub-wrap > *{margin:0 0 16px;}
a{color:inherit;}
.pub-face{display:block;width:100%;}.pub-face svg{display:block;width:100%;height:auto;border-radius:10px;}
.pub-sns{display:inline-flex;gap:6px;vertical-align:middle;margin-left:8px;}
.pub-sns a{display:inline-flex !important;width:26px !important;height:26px !important;padding:0 !important;align-items:center;justify-content:center;}
.pub-sns svg{width:15px;height:15px;}
.pub-acts{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,0.08);}
.rpop:not([open]) .rpop-wrap,.mkpop:not([open]) .mkpop-wrap{display:none !important;}   /* 閉じたポップの中身は描かない(.rpop .rpop-wrap{display:flex} が閉じていても効いて横幅を押し広げた) */

.pub-legal{display:flex;flex-wrap:wrap;gap:4px 12px;margin:0 0 6px;}
.pub-legal a{color:#8b939e;text-decoration:none;font-size:11.5px;}
.pub-legal a:hover{color:#cdae6b;text-decoration:underline;}
.pub-foot{border-top:1px solid rgba(255,255,255,.08);margin:24px 16px 0;padding:16px 0 28px;text-align:center;}
.pub-foot .pub-legal{justify-content:center;gap:6px 18px;}
.pub-foot .pub-legal a{font-size:12.5px;}
.pub-copy{color:#6f7782;font-size:11px;margin-top:6px;}
@media (min-width:900px){ .pub-foot{display:none;} }   /* 広い画面はメニューの下に出しているので不要 */
.pub-top{position:sticky;top:0;z-index:50;display:none;align-items:center;gap:10px;height:52px;padding:0 12px;
  background:rgba(14,17,23,.86);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08);}
.pub-top .pub-logo{font-size:17px;}
.pub-menu-btn{width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);
  color:#e6e8eb;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;}
.pub-logo{font-family:"851Gkktt","Hiragino Sans",sans-serif;color:#cdae6b;letter-spacing:.06em;text-decoration:none;font-size:20px;white-space:nowrap;}
.pub-logo .cat-lw{font-size:22px;margin-left:22px;vertical-align:0;}
.pub-top .pub-logo .cat-lw{font-size:19px;}
.pub-side{position:fixed;top:0;left:0;bottom:0;width:236px;box-sizing:border-box;padding:20px 14px;overflow-y:auto;z-index:60;
  background:#0b0e13;border-right:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:14px;}
.pub-side .pub-logo{padding:2px 8px 6px;}
/* ロゴの下段「BOAT RACE」(2026-10-24 B案)。CATENACCIO の部品は本家のまま触らず、下に右揃えで足す。中身は CSS だけ=どの作り手のページでも同じ */
.pub-logo{display:inline-flex;flex-direction:column;align-items:flex-end;}
.pub-logo::after{content:"BOAT RACE";display:block;transform:skewX(-14deg);color:#c9ced6;font-family:"851Gkktt","Hiragino Sans",sans-serif;
  font-size:9.5px;letter-spacing:.42em;margin:5px -.42em 0 0;line-height:1;}
.pub-top .pub-logo::after{font-size:8px;margin-top:3px;}
.pub-q{position:relative;}
.pub-q input{width:100%;box-sizing:border-box;height:40px;border-radius:999px;border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.05);color:#f3f5f8;font-size:16px;padding:0 14px 0 36px;outline:0;font-family:inherit;}
.pub-q input:focus{border-color:rgba(205,174,107,.6);}
.pub-q svg{position:absolute;left:12px;top:11px;color:#8b939e;}
.pub-q-res{position:absolute;left:0;right:0;top:44px;z-index:5;background:#151a22;border:1px solid rgba(255,255,255,.12);border-radius:12px;
  overflow:hidden;display:none;box-shadow:0 12px 30px rgba(0,0,0,.5);}
.pub-q-res a{display:flex;gap:10px;align-items:baseline;padding:9px 12px;text-decoration:none;color:#e6e8eb;font-size:14px;border-top:1px solid rgba(255,255,255,.06);}
.pub-q-res a:first-child{border-top:0;}
.pub-q-res a:hover,.pub-q-res a.on{background:rgba(205,174,107,.12);}
.pub-q-res small{color:#8b939e;font-size:12px;}
.pub-q-res .none{padding:10px 12px;color:#8b939e;font-size:13px;}
.pub-nav{display:flex;flex-direction:column;gap:2px;}
.pub-nav a{display:flex;align-items:center;gap:10px;padding:10px 10px;border-radius:10px;text-decoration:none;color:#c9ced6;font-size:14.5px;font-weight:700;}
.pub-nav a:hover{background:rgba(255,255,255,.05);color:#fff;}
.pub-nav a.on{background:rgba(205,174,107,.14);color:#cdae6b;}
.pub-nav a .soon{margin-left:auto;font-size:10.5px;font-weight:700;color:#8b939e;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:1px 7px;}
.pub-side-foot{margin-top:auto;color:#6f7782;font-size:11px;padding:0 8px;line-height:1.6;}
.pub-scrim{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:55;display:none;}
.pub-main{margin-left:236px;}
@media (max-width:899px){
  .pub-top{display:flex;}
  .pub-side{transform:translateX(-100%);transition:transform .22s ease;width:min(80vw,280px);}
  html.pub-open .pub-side{transform:none;}
  html.pub-open .pub-scrim{display:block;}
  .pub-main{margin-left:0;}
}
.pub-soon{border:1px solid rgba(255,255,255,0.11);border-radius:12px;background:rgba(255,255,255,0.04);padding:28px 18px;text-align:center;color:#9aa3ad;}
.pub-soon b{display:block;font-family:"851Gkktt","Hiragino Sans",sans-serif;color:#cdae6b;font-size:20px;font-weight:400;margin-bottom:8px;letter-spacing:.06em;}
.pub-h1{font-family:"851Gkktt","Hiragino Sans",sans-serif;font-weight:400;color:#cdae6b;font-size:22px;letter-spacing:.06em;margin:4px 0 14px;}
.pub-list{display:grid;gap:8px;}
.pub-list a{display:flex;align-items:baseline;gap:10px;padding:12px 14px;border:1px solid rgba(255,255,255,0.11);border-radius:12px;
  background:rgba(255,255,255,0.04);text-decoration:none;color:#e6e8eb;}
.pub-list a b{font-size:16px;}
.pub-list a small{color:#8b939e;}

@media (min-width:1100px){
  .pub-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 28px;align-items:center;padding:20px 24px !important;}
  .pub-head .pub-ach{border-left:1px solid rgba(255,255,255,0.09);padding-left:28px;align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:4px;}
  .pub-head .pub-ach .mk-ach{margin:0 !important;zoom:1.3;}   /* 本家の札は小さいので広い画面では1.3倍 */
  /* 名前・プロフィールは広い分だけ大きく */
  .pub-head .pub-id span[style*="font-size:24px"]{font-size:32px !important;}
  .pub-head .pub-id .mk-no{font-size:18px !important;}
  .pub-head .pub-id .mk-sub{font-size:15px !important;line-height:1.7;}
}
/* 2026-10-24「まだ選手カードスカスカ」→案1(字を大きく)+案2(上下を詰める)。広い画面だけ・スマホは本家のまま */
@media (min-width:1100px){
  .pub-head{padding:14px 26px !important;gap:0 32px;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) !important;}   /* 右の方が横に長い(1:1だと右が折り返した) */
  .pub-head .pub-id span[style*="font-size:24px"]{font-size:30px !important;}
  .pub-head .pub-id .mk-no{font-size:21px !important;}
  .pub-head .pub-id .mk-dim[style*="font-size:11px"]{font-size:13px !important;}
  .pub-head .pub-id .mk-kyu,.pub-head .pub-id .mk-choushi,.pub-head .pub-id .pub-sns{zoom:1.3;}
  .pub-head .pub-id .mk-sub{font-size:17px !important;line-height:1.45;margin-top:2px;}
  .pub-head .pub-id > div:last-child .mk-badge{zoom:1.35;}
  .pub-head .pub-ach{gap:2px;}
  .pub-head .pub-ach .mk-ach{zoom:1.1;}
}
@media (min-width:1300px){
  .pub-head{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) !important;}
  .pub-head .pub-id span[style*="font-size:24px"]{font-size:44px !important;}
  .pub-head .pub-id .mk-sub{font-size:20px !important;}
  .pub-head .pub-ach .mk-ach{zoom:1.55;}
}
.vidp[open] .vidp-bg{display:none !important;}.vidp[open] .mk-popclose{display:none !important;}.vidp-pop{display:flex !important;flex-direction:column !important;height:calc(min(94vw,430px)*0.5625 + 28px) !important;}.vidp-pop iframe{flex:1 1 auto !important;height:auto !important;}.vidp-drag{flex:0 0 26px;position:relative;display:flex;align-items:center;justify-content:center;cursor:move;touch-action:none;user-select:none;-webkit-user-select:none;background:rgba(30,34,42,0.55);border-bottom:1px solid rgba(255,255,255,0.14);-webkit-backdrop-filter:blur(10px) saturate(170%);backdrop-filter:blur(10px) saturate(170%);box-shadow:inset 0 1px 0 rgba(255,255,255,0.22);}.vidp-pop{background:transparent !important;}.vidp-pop iframe{background:#000;}.vidp-grip{color:rgba(205,174,107,0.65);font-size:13px;letter-spacing:2px;line-height:1;}.vidp-btns{position:absolute;left:8px;top:50%;transform:translateY(-50%);display:flex;gap:12px;align-items:center;}.vidp-btn{width:14px;height:14px;border-radius:50%;cursor:pointer;position:relative;box-shadow:inset 0 0 0 0.5px rgba(0,0,0,0.35);}.vidp-btn::before{content:"";position:absolute;inset:-5px;}.vidp-btn:active{filter:brightness(0.65);}.vidp-b-red{background:#ff5f57;}.vidp-b-yel{background:#febc2e;}.vidp-b-grn{background:#28c840;}.vidp-pop.vidp-min{height:26px !important;overflow:hidden !important;}.vidp-pop.vidp-min iframe{flex:0 0 auto !important;height:220px !important;}.vidp-pop.vidp-min .vidp-resize{display:none;}.vidp-pop.vidp-min .vidp-grip{display:none;}.vidp-lab{display:none;align-items:center;gap:2.5px;height:14px;}.vidp-pop.vidp-min .vidp-lab{display:flex;}.vidp-lab i{width:2.5px;border-radius:1.5px;background:#cdae6b;display:block;}.vidp-lab i:nth-child(1){height:5px;animation:vidpEq1 .9s ease-in-out infinite;}.vidp-lab i:nth-child(2){height:11px;animation:vidpEq2 .9s ease-in-out infinite .15s;}.vidp-lab i:nth-child(3){height:7px;animation:vidpEq3 .9s ease-in-out infinite .3s;}@keyframes vidpEq1{0%,100%{height:4px}50%{height:12px}}@keyframes vidpEq2{0%,100%{height:11px}50%{height:5px}}@keyframes vidpEq3{0%,100%{height:7px}50%{height:13px}}@media (prefers-reduced-motion:reduce){.vidp-lab i{animation:none;}}.vidp-pop.vidp-eqoff .vidp-lab i{animation:none !important;}.vidp-pop.vidp-min .vidp-lab{cursor:pointer;padding:0 16px;height:26px;}.vidp-pop.vidp-eqoff .vidp-lab i{background:rgba(205,174,107,0.42);}.vidp-shield{display:none;position:absolute;inset:0;z-index:9;background:transparent;}.vidp-resize{position:absolute;right:0;bottom:0;width:24px;height:24px;z-index:10;cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg,transparent 46%,rgba(205,174,107,0.8) 46%,rgba(205,174,107,0.8) 54%,transparent 54%,transparent 62%,rgba(205,174,107,0.8) 62%,rgba(205,174,107,0.8) 70%,transparent 70%);}.br-bar{position:sticky;top:0;left:0;right:0;height:26px;z-index:30;width:auto;align-self:stretch;flex:0 0 26px;box-sizing:border-box;display:flex;align-items:center;background:rgba(30,34,42,0.55);-webkit-backdrop-filter:blur(10px) saturate(170%);backdrop-filter:blur(10px) saturate(170%);box-shadow:inset 0 1px 0 rgba(255,255,255,0.22);border-bottom:1px solid rgba(255,255,255,0.14);cursor:move;touch-action:none;user-select:none;-webkit-user-select:none;border-radius:15px 15px 0 0;}.br-bar .br-grip{margin:0 auto;color:rgba(205,174,107,0.65);font-size:13px;letter-spacing:2px;line-height:1;}.br-tl{position:absolute;left:8px;top:50%;transform:translateY(-50%);display:flex;gap:12px;align-items:center;}.br-tl i{width:13px;height:13px;border-radius:50%;display:block;cursor:pointer;position:relative;box-shadow:inset 0 0 0 .5px rgba(0,0,0,.35);}.br-tl i::before{content:"";position:absolute;inset:-7px;}.br-tl i:active{filter:brightness(0.65);}.br-r{background:#ff5f57;}.br-y{background:#febc2e;}.br-g{background:#28c840;}.br-rz{position:absolute;right:0;bottom:0;width:24px;height:24px;z-index:31;cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg,transparent 46%,rgba(205,174,107,0.8) 46%,rgba(205,174,107,0.8) 54%,transparent 54%,transparent 62%,rgba(205,174,107,0.8) 62%,rgba(205,174,107,0.8) 70%,transparent 70%);}.br-min .br-rz,.st-key-bcpop.br-min .br-rz{display:none;}.st-key-bcpop > .br-bar{position:sticky !important;z-index:2147483000 !important;height:32px !important;flex:0 0 32px !important;background:rgba(30,34,42,0.55) !important;isolation:isolate;-webkit-backdrop-filter:blur(10px) saturate(170%);backdrop-filter:blur(10px) saturate(170%);box-shadow:inset 0 1px 0 rgba(255,255,255,0.22);}.st-key-bcpop > .br-bar + *{margin-top:2px !important;}.rpop-wrap,.rpop-pop,.br-box{overscroll-behavior:none;}.rpop .br-box:not(.rpop-pop){overflow:auto !important;-webkit-overflow-scrolling:touch;}.br-bar-out{position:relative !important;top:0 !important;margin:0 !important;width:auto !important;flex:0 0 26px;border:1px solid rgba(255,255,255,0.14);border-bottom:0;border-radius:14px 14px 0 0;}.rpop:not(.stex-pop):not(.in2-pop):not(.res-pop):not(.jyo-hpop):not(.hd-dayres):not(.alb-pop) .rpop-pop,.rpop:not(.stex-pop):not(.in2-pop):not(.res-pop):not(.jyo-hpop):not(.hd-dayres):not(.alb-pop) .br-box{border-top-left-radius:0 !important;border-top-right-radius:0 !important;}.st-key-bcpop.br-min{max-height:26px !important;height:26px !important;overflow:hidden !important;padding:0 !important;border-radius:14px !important;}.st-key-bcpop.br-min > .br-bar{height:26px !important;flex:0 0 26px !important;min-height:26px !important;box-sizing:border-box !important;}.st-key-bcpop.br-min .br-bar{margin:0 !important;width:100% !important;top:0 !important;border-radius:14px !important;border-bottom:1px solid rgba(255,255,255,0.14) !important;}.st-key-bcpop.br-max{left:4px !important;top:auto !important;right:4px !important;transform:none !important;box-sizing:border-box !important;width:auto !important;max-width:none !important;height:auto !important;display:flex !important;flex-direction:column !important;overflow:auto !important;background:rgba(13,16,22,0.99) !important;}.st-key-bcpop.br-max{justify-content:flex-start !important;padding-bottom:15px !important;}.st-key-bcpop.br-max > *{flex:0 0 auto !important;min-height:0;}.st-key-bcpop.br-max > .stElementContainer:has([data-testid="stChatInput"]){margin-top:auto !important;position:sticky !important;bottom:0 !important;z-index:3 !important;background:rgba(13,16,22,0.99) !important;padding-top:6px !important;}.st-key-bcpop.br-max [data-testid="stLayoutWrapper"]{min-height:0;}.rpop .rpop-wrap{display:flex;flex-direction:column;}.rpop .rpop-wrap:has(.br-min) .br-bar-out{border-bottom:1px solid rgba(255,255,255,0.14) !important;border-radius:14px !important;}.st-key-bcpop.br-min .br-bar{border-bottom:1px solid rgba(255,255,255,0.14) !important;border-radius:14px !important;}.rpop .rpop-pop.br-min,.rpop .br-box.br-min{height:0 !important;max-height:0 !important;min-height:0 !important;overflow:hidden !important;padding:0 !important;border:0 !important;}.odds-pop .rpop-wrap.br-max{width:100vw !important;max-width:none !important;}.rpop .rpop-wrap.br-max{top:4px !important;left:4px !important;right:4px !important;bottom:calc(100px + env(safe-area-inset-bottom)) !important;transform:none !important;width:auto !important;max-width:none !important;max-height:none !important;}.rpop .rpop-pop.br-max,.rpop .br-box.br-max{height:auto !important;flex:1 1 auto !important;max-height:none !important;}body.br-dimoff .stApp::after{display:none !important;}.rpop:not(.stex-pop):not(.in2-pop):not(.res-pop):not(.jyo-hpop):not(.hd-dayres):not(.alb-pop) .rpop-bg{display:none !important;}.rpop:not(.stex-pop):not(.in2-pop):not(.res-pop):not(.jyo-hpop):not(.hd-dayres):not(.alb-pop) .mk-popclose{display:none !important;}.odds-pop .odds-close{display:none !important;}
@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=Oswald:wght@600;700&family=Shippori+Mincho:wght@700;800&family=Zen+Kaku+Gothic+New:wght@500;700;900&display=swap");h1,h2,h3,h4,h5,h6{font-family:"Zen Kaku Gothic New",sans-serif !important;font-weight:900 !important;letter-spacing:.02em}[data-testid="stCheckbox"] label,[data-testid="stCheckbox"] label p{font-family:"Zen Kaku Gothic New",sans-serif !important;}.mk-popclose{display:block;margin:8px auto 0;width:100%;text-align:center;padding:9px 0;border:1px solid rgba(255,255,255,0.16);border-radius:999px;background:rgba(30,34,42,0.55);-webkit-backdrop-filter:blur(12px) saturate(170%);backdrop-filter:blur(12px) saturate(170%);color:#e6e8eb;font-size:12.5px;font-weight:700;font-family:-apple-system,"Hiragino Sans","Helvetica Neue",sans-serif;letter-spacing:normal;cursor:pointer;box-sizing:border-box;}.mk-popclose:active{transform:scale(.97);}.cmt-sum{list-style:none;cursor:pointer;font-size:12.5px;color:#d8dde3;line-height:1.75;}.cmt-sum::-webkit-details-marker{display:none;}.cmt-rm{color:#cdae6b;cursor:pointer;white-space:nowrap;}.cmt-full{display:none;}.cmt-more[open] .cmt-sum{display:none;}.cmt-more[open] .cmt-full{display:block;font-size:12.5px;line-height:1.75;color:#d8dde3;}
/* ===== 端末不問の見た目統一(2026-07-30ユーザー指示) =====
   ①本体をスマホ幅(460px)の中央カラムに固定=PC/タブレットでもiPhoneと同じ見た目
   ②端末の文字サイズ設定(iOS/Androidのアクセシビリティ拡大)による文字スケールを無効化 */
html{-webkit-text-size-adjust:100% !important;text-size-adjust:100% !important;}
/* Safariはlist-style:noneでもdetailsマーカー(▼)が残る(2026-07-30 iPad指摘) */
summary::-webkit-details-marker{display:none !important;}
/* シェルiframe内でスクロールバーが幅を食い、461px設計が数px欠ける対策(2026-07-30)。
   タッチ/ホイールのスクロール自体は普通に効く */
html,body{scrollbar-width:none;}
*::-webkit-scrollbar{width:0 !important;height:0 !important;display:none !important;}
@media (min-width:700px){
[data-testid="stMainBlockContainer"], .block-container{max-width:430px !important;
margin-left:auto !important;margin-right:auto !important;}
}

    .race-header {
        background: transparent;
        border-left: none;
        padding: 2px 0 2px 16px;
        margin: 10px 0 6px 0;
        display: flex;
        align-items: center;
        gap: 16px;
    }
    .race-header h2 {
        color: #f5f5f7;
        font-size: 1.7rem;
        font-weight: 600;
        letter-spacing: 0.03em;
        margin: 0;
        line-height: 1.3;
        flex: 0 0 auto;
        white-space: nowrap;
    }
    .cat-alert { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 5px; }
    /* 2026-10-02 案A: ティッカーと同じ組(左上ロゴの金+斜めの赤タグ「ALERT」)を右寄せ・「発動中」はタグの外 */
    .cat-alert .ca-t { display: flex; justify-content: flex-end; align-items: center; gap: 8px; white-space: nowrap; }
    /* 字の高さをALERTの札の高さに合わせる(19px→最大43px・2026-10-03指示→「デカすぎ」で最大30px・2026-10-04)。札の高さ26pxに対し字は約25px=1行に収まる上限。
       画面が狭い時は幅に合わせて小さくする(行の幅−札と「発動中」の分 ÷ 字の幅の比 7.9) */
    .cat-alert .ca-lw { position: relative; display: inline-block; transform: skewX(-14deg); font-family: "851Gkktt", "Hiragino Sans", sans-serif; font-size: min(30px, calc(12.7vw - 23px)); font-weight: 400; letter-spacing: 0; line-height: 1; }
    /* 締切後の「発動レース」は2字多いぶん字を小さく(2026-10-08) */
    .cat-alert .ca-t.ca-end .ca-lw { font-size: min(30px, calc(12.7vw - 27px)); }
    .cat-alert .ca-lw .c { display: inline-block; background-image: linear-gradient(180deg,#fff3cf 0%,#e6c77e 55%,#b88e3c 100%); -webkit-background-clip: text; background-clip: text; color: transparent;
        -webkit-mask: linear-gradient(180deg,#000 0 41%,transparent 41% 49%,#000 49% 63%,transparent 63% 68%,#000 68%); mask: linear-gradient(180deg,#000 0 41%,transparent 41% 49%,#000 49% 63%,transparent 63% 68%,#000 68%); }
    .cat-alert .ca-lw .sp { position: absolute; right: calc(100% + 3px); height: 2px; border-radius: 2px; }
    /* ALERT の英字の I のプロペラ(2026-10-08・止まったまま)。I と同じ送り幅・切れ込みより手前 */
    .cat-lw .cat-pi, .cat-alert .ca-lw .cat-pi { position: relative; display: inline-block; vertical-align: baseline; width: .505em; height: .793em; margin-right: -.505em; z-index: 2; overflow: visible; }
    .cat-lw .lo, .cat-alert .ca-lw .lo { position: relative; display: inline-block; background: linear-gradient(180deg,#fff3cf 0%,#e6c77e 55%,#b88e3c 100%);
        -webkit-background-clip: text; background-clip: text; color: transparent; }
    /* E の真ん中の横棒だけ少し太く(2026-10-05指示・左上のロゴと同じ)。上の切れ込み(マスク41〜49%)に横棒がほぼ食われていたので下へ足す */
    .cat-lw .le, .cat-alert .ca-lw .le { position: relative; display: inline-block; background: linear-gradient(180deg,#fff3cf 0%,#e6c77e 55%,#b88e3c 100%);
        -webkit-background-clip: text; background-clip: text; color: transparent; }
    .cat-lw .le::after, .cat-alert .ca-lw .le::after { content: ""; position: absolute; left: .065em; width: .63em; top: .46em; height: .07em;
        background: linear-gradient(180deg,#eace8b,#e3c17a); pointer-events: none; }
    .cat-prop { position: absolute; left: 0; top: 0; width: .78125em; height: 1em; pointer-events: none; }
    .cat-alert .ca-lw .sp.g { top: 22%; width: 20px; background: linear-gradient(90deg,transparent,#009246); }
    .cat-alert .ca-lw .sp.w { top: 46%; width: 30px; background: linear-gradient(90deg,transparent,#f4f4f4); }
    .cat-alert .ca-lw .sp.r { top: 70%; width: 16px; background: linear-gradient(90deg,transparent,#ce2b37); }
    .cat-alert .ca-tg { display: inline-block; transform: skewX(-14deg); background: linear-gradient(180deg,#ff5a4e,#c42a20); color: #fff; font-family: "851Gkktt", "Hiragino Sans", sans-serif; font-size: 13px; font-weight: 400; letter-spacing: .08em; padding: 3px 8px 2px; border-radius: 3px; animation: caTgGlow 1.5s ease-in-out infinite; }
    @keyframes caTgGlow { 0%,100% { box-shadow: 0 0 0 rgba(255,59,48,0); } 50% { box-shadow: 0 0 12px rgba(255,59,48,.8); } }
    .cat-alert .ca-t .jp { font-family: "Shippori Mincho", "Hiragino Mincho ProN", serif; font-weight: 700; font-size: 13px; letter-spacing: 0.16em; color: #ff6b62; }
    .cat-alert .ca-line { position: relative; height: 2px; background: rgba(255,255,255,0.08); border-radius: 1px; overflow: hidden; }
    .cat-alert .ca-line i { position: absolute; top: 0; left: 0; height: 100%; width: 46%; background: linear-gradient(90deg, transparent, #009246 20%, #ffffff 50%, #ce2b37 80%, transparent); animation: catFlowRL 2.6s linear infinite; will-change: transform; }
    /* left で動かすと毎フレーム配置計算をやり直していた(2026-10-13・予想ページを開いているだけで毎秒約60回)。transform で同じ動き: 枠の100%→-42% = 自分の幅(46%)の217.39%→-91.30% */
    @keyframes catFlowRL { 0% { transform: translateX(217.391%); } 100% { transform: translateX(-91.304%); } }
    .score-mark {
        font-size: 20px;
        font-weight: bold;
        color: #d32f2f;
    }
    .bet-list {
        background-color: #f5f5f5;
        padding: 10px;
        border-radius: 5px;
        font-family: 'Courier New', monospace;
        font-size: 16px;
    }
    .chokuzen-mark {
        display: inline-block;
        padding: 1px 8px;
        border-radius: 6px;
        font-size: 0.78rem;   /* 隣の締切と同じ大きさ(10.6px→12.5px・2026-10-03「小さくないか」) */
        font-weight: 600;
        margin-left: 10px;
        vertical-align: middle;
        letter-spacing: 0.04em;
    }
    /* 安定板・周回短縮(2026-10-05)。出ている時は後ろのバッジ(展示済・締切)も余白を詰めて1行に収める */
    .hd-spc-a { background: rgba(143,188,255,0.12); color: #8fbcff; border: 0.5px solid rgba(143,188,255,0.45); }
    .hd-spc-s { background: rgba(255,181,46,0.12); color: #ffb52e; border: 0.5px solid rgba(255,181,46,0.45); }
    /* バッジが出る時は見出しの字とバッジを少し小さく・間を詰める(住之江12R+安定板+周回短縮+展示済+締切が幅524で1行)。
       h2 は flex の gap 8px で、幅0の部品(狙い目情報・本日の結果)にも gap が付くので、バッジ側は margin を負にして間5px相当 */
    /* 2026-10-05: 実機(幅524相当)で余裕があったので字は普段の大きさに戻した(「全然余裕じゃん」)。
       間だけ詰める(h2 の gap 8px に margin 10px が足されて間が空きすぎ、締切のバッジが自動縮小されていた) */
    .race-header h2 .hd-spc, .race-header h2 .hd-spc ~ .cz-dl-head { margin-left: -1px !important; }   /* 間は gap 8px−1px(2026-10-05「もう少し間空けても」・実機幅で1行) */
    .chokuzen-yes {
        background: rgba(52,199,89,0.12);
        color: #34c759;
        border: 0.5px solid rgba(52,199,89,0.45);
    }
    .chokuzen-no {
        background: rgba(255,255,255,0.06);
        color: #999;
        border: 0.5px solid rgba(255,255,255,0.18);
    }

    /* 的中買い目キラキラハイライト */
    .bet-row {
        position: relative;
        padding: 3px 10px;
        margin: 2px 0;
        font-family: monospace;
        font-size: 0.95rem;
        white-space: pre;
        border-radius: 12px;          /* 券面(舟券)の形: 角丸カードをやめる・2026-08-31指示 */
        box-sizing: border-box;
        /* 全バー共通の3px左ボーダー(透明)。寸法・文字位置を従来どおり維持(当選バー含めサイズ不変) */
        border-left: 3px solid transparent;
        /* 背景の起点をボーダー端に。padding-box既定のままだと左3pxにグラデの端が
           伸びて黒い帯が出る(2026-08-31指摘・橙/青/的中/レインボーで発生) */
        background-origin: border-box;
        /* 案C: 左端の上下に半円ノッチを抜く(入場券タイプの切り取り)。中央x=7pxで
           テキスト(13px〜)には掛からない。破線(::after)がノッチ間をつなぐ */
        -webkit-mask:
          radial-gradient(circle 5.5px at 7px 0, transparent 5.2px, #000 5.5px),
          radial-gradient(circle 5.5px at 7px 100%, transparent 5.2px, #000 5.5px);
        -webkit-mask-composite: source-in;
        mask:
          radial-gradient(circle 5.5px at 7px 0, transparent 5.2px, #000 5.5px),
          radial-gradient(circle 5.5px at 7px 100%, transparent 5.2px, #000 5.5px);
        mask-composite: intersect;
    }
    /* 券面のミシン目(切り取り線)。左3pxバーの代わり・絶対配置なので寸法/文字位置は不変
       (2026-08-31指示: 買い目は「カードの形とミシン目」だけ差し替え・他は据え置き) */
    .bet-row::after {
        /* 案C(2026-09-02採用): 上下の半円ノッチ(.bet-row本体のmaskで抜く)を結ぶ
           太い切り取り破線。色は --bet-edge(用途色 or トリコローレ縦グラデ)。
           絶対配置・左余白内に収めるので文字位置は不変 */
        /* 基準はパディングボックス(3pxの左ボーダーの内側)なので、ノッチ中心x=7px
           (ボーダーボックス基準)に合わせるには left:2.5px。旧5pxは2.5px右にずれて
           数字に寄っていた(2026-09-07指摘) */
        content: ""; position: absolute; left: 2.5px; top: 8px; bottom: 8px; width: 3px;
        z-index: 3; pointer-events: none; border-radius: 3px;
        background: var(--bet-edge, rgba(255,255,255,0.42));
        -webkit-mask: repeating-linear-gradient(180deg, #000 0 4px, transparent 4px 8px);
        mask: repeating-linear-gradient(180deg, #000 0 4px, transparent 4px 8px);
    }
    /* ハイライト時の左端アクセントは券面のミシン目(切り取り線)。絶対配置オーバーレイ
       なので寸法/文字位置は不変。色は各ハイライトが::beforeに付与。
       (炎hot-pick-fireは::beforeを炎背景に使うため対象外=::afterが三色のミシン目) */
    /* 案D: ハイライトは左帯の色(--bet-edge)で表す。旧・縦点線(::before)は不使用 */
    .bet-row.edge-green, .bet-row.ev-good { --bet-edge: #34c759; }
    .bet-row.edge-orange, .bet-row.hot-pick { --bet-edge: #ffaa00; }
    .bet-row.edge-blue, .bet-row.hot-pick-blue { --bet-edge: #3a93d6; }
    .bet-row.tricolore-edge, .bet-row.hot-pick-fire {
        --bet-edge: linear-gradient(180deg, #009246 0 33.33%, #ffffff 33.33% 66.66%, #ce2b37 66.66% 100%);
    }
    .bet-row.normal {
        background: rgba(128,128,128,0.10);
    }
    .bet-row.hit {
        background: linear-gradient(90deg, #fff4cc, #ffd700, #fff4cc, #ffe680, #fff4cc);
        background-size: 300% 100%;
        font-weight: 700;
        color: #6b4f00;
        /* グロー脈動はbox-shadow直アニメをやめ、::beforeのopacity切替に変更
           (2026-09-05報告「文字が震える・下の買い目まで震える」: 影アニメが
           毎フレーム本体と下の行を再描画し、iOSで文字がサブピクセル揺れする。
           translateZで自前レイヤ化し、opacityはコンポジタ専用=再描画ゼロ) */
        box-shadow: 0 0 5px #fff, 0 0 10px #ffd700, 0 0 16px rgba(255,196,0,0.5);
    }
    /* 金/レインボーの流れ: background-positionアニメはSafariで量子化されカクつく
       (2026-09-05報告)。角丸クリップ枠(.bet-slide)の中を2倍幅グラデ層(b)が
       transformで滑る=コンポジタ専用で完全スムーズ。z-index:-1で文字の下に敷く */
    /* 的中カードは左3px透明ボーダーをパディングへ振替(寸法・文字位置は不変)。
       row自身のoverflow:hiddenがスライド層を背景と同一ジオメトリでクリップし、
       左端/上端のにじみ・角のAAリングを根絶する(2026-09-05)。
       z-index:0=スタッキング文脈(z:-1の層を背景の上・文字の下に置くため) */
    .bet-row.hit, .bet-row.rainbow {
        /* 実効パディングは8886行の 9px 12px !important。ボーダー3px分を
           足した15pxで文字位置を通常行と一致させる */
        border-left-width: 0; padding-left: 15px !important;
        overflow: hidden; z-index: 0;
    }
    .bet-row.hit::after, .bet-row.rainbow::after { left: 8px; }
    .bet-row.hit .bet-slide, .bet-row.rainbow .bet-slide {
        position: absolute; inset: 0; z-index: -1; pointer-events: none;
    }
    .bet-row.hit .bet-slide > b, .bet-row.rainbow .bet-slide > b {
        /* 定番マーキー構造(2026-09-05): 同一定義のグラデ実要素(u)2枚を左右に
           並べ、-50%移動でループ。2枚は同じパラメータで描かれるため必ず
           ピクセル一致し、ループ境界のチラつきが原理的に出ない。
           (1枚焼き2周期は停止位置の丸めで左右半分のラスタがずれ、
            レインボー(1/14刻みの停止位置)で顕著だった) */
        /* 幅・移動量は固定px(2026-09-05「引っかかる」対策):
           %指定のtransformキーフレームはWebKitがコンポジタ加速せず
           メインスレッド駆動になり、ページのJS(ティッカー/WS)と競合して
           周期的に引っかかる。固定pxなら完全にコンポジタ駆動。
           周期1300/1700pxは従来の300%/400%(iPhone実効値)とほぼ同スケール */
        /* left:-50px: ループ終端でb左端がカード左縁ぴったりに来ると
           端のAAが毎周チラつく(2026-09-05「左の端がちらつく」)。
           50pxはみ出させて端を可視域に入れない */
        position: absolute; top: 0; bottom: 0; left: -50px;
        transform: translateZ(0);
        animation-timing-function: linear;
        animation-iteration-count: infinite;
    }
    /* 周期はカード実幅(約250px)基準の従来比率に合わせる:
       金=300%相当≒750px・レインボー=400%相当≒1000px(2026-09-05
       「レインボーがのっぺり」: 1700pxは実幅の7倍で単色ウォッシュ化していた) */
    .bet-row.hit .bet-slide > b {
        width: 1500px; animation-name: betslideg; animation-duration: 0.7s; }
    .bet-row.rainbow .bet-slide > b {
        /* 周期500px≒カード2倍: 常時4色前後が見えて「虹」に見える
           (周期4倍だと常時2色のウォッシュにしかならない・2026-09-05) */
        width: 1000px; animation-name: betslider; animation-duration: 0.75s; }
    .bet-slide > b > u {
        position: absolute; top: 0; bottom: 0; width: 50%;
        background-size: 100% 100%; background-repeat: no-repeat;
    }
    .bet-slide > b > u:first-child { left: 0; }
    .bet-slide > b > u:last-child { left: 50%; }
    .bet-row.hit .bet-slide > b > u {
        background-image: linear-gradient(90deg, #fff4cc, #ffd700, #fff4cc, #ffe680, #fff4cc);
    }
    .bet-row.rainbow .bet-slide > b > u {
        background-image: linear-gradient(90deg, #ff0000, #ff8800, #ffee00, #00cc44, #0088ff, #8800ff, #ff0088, #ff0000);
    }
    @keyframes betslideg {
        0% { transform: translate3d(-750px, 0, 0); }
        100% { transform: translate3d(0, 0, 0); }
    }
    @keyframes betslider {
        0% { transform: translate3d(-500px, 0, 0); }
        100% { transform: translate3d(0, 0, 0); }
    }

    /* グレード別色分けバッジ */
    /* 汎用グレードバッジ ティント×851(全画面統一・2026-09-02採用)。--gc=グレード色 */
    .mk-badge.gtint, .gtint{background:var(--gc) !important;color:#fff !important;border:0 !important;text-shadow:none !important;font-family:'851Gkktt','Hiragino Sans',-apple-system,sans-serif !important;border-radius:6px !important;padding:1px 5px !important;min-width:36px !important;font-weight:700 !important;letter-spacing:0 !important;font-size:10px !important;line-height:1.5 !important;box-sizing:border-box !important;display:inline-block !important;text-align:center !important;}
    .grade-sg { --gc:#e60012; }
    .grade-g1 { --gc:#f39800; }
    .grade-g2 { --gc:#009844; }
    .grade-g3 { --gc:#4a9eff; }  /* レースカレンダーのG3色と統一(2026-07-30指示) */
    .grade-ippan { --gc:#9e9e9e; }

    /* 的中時の紙吹雪 */
    .confetti-container {
        position: fixed;
        top: 0; left: 0;
        width: 100%; height: 100%;
        pointer-events: none;
        z-index: 9999;
        overflow: hidden;
    }
    .confetti {
        position: absolute;
        top: -20px;
        opacity: 0;
        border-radius: 2px;
        animation-name: confetti-fall;
        animation-timing-function: ease-in;
        animation-fill-mode: forwards;
    }
    @keyframes confetti-fall {
        0% { transform: translateY(-20px) rotateZ(0deg); opacity: 1; }
        100% { transform: translateY(105vh) rotateZ(720deg); opacity: 0; }
    }

    /* 小さな花火 (通常的中) */
    .firework {
        position: fixed;
        width: 4px; height: 4px;
        border-radius: 50%;
        z-index: 9998;
        pointer-events: none;
        animation: firework-burst 1.3s ease-out forwards;
    }
    @keyframes firework-burst {
        0% { box-shadow: 0 0 0 0 #ffd700; opacity: 1; transform: scale(0.4); }
        45% { opacity: 1; }
        100% {
            box-shadow:
                0 -45px 0 -1px #ff0080, 32px -32px 0 -1px #ffd700,
                45px 0 0 -1px #00ff88, 32px 32px 0 -1px #00d4ff,
                0 45px 0 -1px #ff0080, -32px 32px 0 -1px #ffd700,
                -45px 0 0 -1px #00ff88, -32px -32px 0 -1px #00d4ff,
                0 -65px 0 -2px #ffd700, 46px -46px 0 -2px #ff0080,
                65px 0 0 -2px #00d4ff, 46px 46px 0 -2px #00ff88,
                0 65px 0 -2px #ffd700, -46px 46px 0 -2px #ff0080,
                -65px 0 0 -2px #00d4ff, -46px -46px 0 -2px #00ff88;
            opacity: 0; transform: scale(1.3);
        }
    }

    /* ===== 1000倍以上 限定: 金豪華版 ===== */
    /* 金の紙吹雪 (グロー) */
    .confetti.cf-gold { box-shadow: 0 0 6px rgba(255,215,0,0.55); }
    /* キラッと光る薄片 */
    .confetti.sparkle { animation-name: confetti-fall, twinkle; }
    @keyframes twinkle {
        0%, 100% { filter: brightness(1); }
        50% { filter: brightness(2.2); }
    }
    /* 豪華 花火 (3リング+中心フラッシュ・金系) */
    .firework.fw-gold {
        width: 5px; height: 5px;
        animation: firework-gold 1.6s ease-out forwards;
    }
    @keyframes firework-gold {
        0% { box-shadow: 0 0 0 0 #fff7d6; opacity: 1; transform: scale(0.3); }
        8% { box-shadow: 0 0 26px 10px rgba(255,243,192,0.95); opacity: 1; transform: scale(0.6); }
        45% { opacity: 1; }
        100% {
            box-shadow:
                0 -46px 0 -1px #ffd700,  33px -33px 0 -1px #fff3c0,
                46px 0 0 -1px #ffec8b,   33px 33px 0 -1px #ffd700,
                0 46px 0 -1px #fff3c0,  -33px 33px 0 -1px #ffec8b,
                -46px 0 0 -1px #ffd700, -33px -33px 0 -1px #fff3c0,
                25px -60px 0 -1px #cdae6b,  60px -25px 0 -1px #ffd700,
                60px 25px 0 -1px #ffec8b,   25px 60px 0 -1px #cdae6b,
                -25px 60px 0 -1px #ffd700, -60px 25px 0 -1px #ffec8b,
                -60px -25px 0 -1px #cdae6b, -25px -60px 0 -1px #ffd700,
                0 -86px 0 -2px #ffffff,   61px -61px 0 -2px #ffd700,
                86px 0 0 -2px #fff3c0,    61px 61px 0 -2px #ffffff,
                0 86px 0 -2px #ffd700,   -61px 61px 0 -2px #fff3c0,
                -86px 0 0 -2px #ffffff,  -61px -61px 0 -2px #ffd700;
            opacity: 0; transform: scale(1.45);
        }
    }
    /* 残光のきらめき粒 */
    .twinkle-dot {
        position: fixed;
        width: 3px; height: 3px;
        border-radius: 50%;
        background: #fff3c0;
        z-index: 9998;
        pointer-events: none;
        box-shadow: 0 0 8px 2px rgba(255,215,0,0.9);
        animation: dotTwinkle 1.4s ease-in-out forwards;
    }
    @keyframes dotTwinkle {
        0% { opacity: 0; transform: scale(0.4); }
        30% { opacity: 1; transform: scale(1.3); }
        100% { opacity: 0; transform: scale(0.6); }
    }

    /* スコアのゲージ+数字(2026-09-06 案A「ゴールドトラック」+帯色の対策版を採用。
       旧: 緑→水色グラデ塗り+ネオン緑のCourier数字)。
       塗りは金グラデを一段暗くして
       文字の下地にする。数字は851書体・帯色3段(70%以上=金/50〜70%=白/50%未満=灰)
       +黒の細い影で、金文字も白文字も同じ読みやすさにする */
    /* 溝(トラック)は不要・端の処理は従前版に倣う(2026-09-06指示:
       セル左端から・上下3px・角丸3px・絶対配置) */
    .score-bar {
        position: absolute;
        left: 0; top: 3px; bottom: 3px;
        border-radius: 3px;
        z-index: 0;
        /* 右端は旧版と同じ素の塗りの端(線・光なし。2026-09-06指示) */
        background: linear-gradient(90deg, rgba(205,174,107,0.16), rgba(230,195,106,0.42));
    }
    .score-bar.sb-hi {
        background: linear-gradient(90deg, rgba(205,174,107,0.22), rgba(255,222,130,0.55));
    }
    .score-digital {
        font-family: "851Gkktt", "Hiragino Sans", sans-serif;
        font-weight: 400;
        color: #f3efe6;
        text-shadow: 0 1px 0 rgba(0,0,0,0.85), 0 0 4px rgba(0,0,0,0.7);
        font-size: 22px;
        letter-spacing: .04em;
        position: relative;
        z-index: 1;
    }
    .score-digital.sb-hi { color: #ffe08a; }
    .score-digital.sb-lo { color: #9aa3ad; }
    /* 級別バッジ */
    /* 級別バッジ: 選手名鑑(.mk-kyu)と同一デザイン (2026-06-13 統一)。
       2026-09-05 案1採用: 色は従来のまま、書体851+グレードバッジ規格
       (角丸6px・min32px・11px)に統一。mk-kyu(racer_meikan)と同時に直すこと */
    .kyu-badge {
        display: inline-block;
        min-width: 32px;
        box-sizing: border-box;
        text-align: center;
        padding: 1px 5px;
        border-radius: 6px;
        font-weight: 700;
        font-size: 11px;
        line-height: 1.5;
        letter-spacing: 0;
        font-family: '851Gkktt', 'Hiragino Sans', -apple-system, sans-serif;
        color: #10131a;
    }
    .kyu-a1 { background: #cdae6b; }
    .kyu-a2 { background: #4db6ac; }
    .kyu-b1 { background: #7ba7e0; }
    .kyu-b2 { background: #9a8fe0; }

    .glass-panel { background: rgba(255,255,255,0.055); border: 1px solid rgba(255,255,255,0.11); border-radius:12px; padding: 12px 15px; margin: 9px 0; }
    .glass-panel-title { font-weight: 400; font-family: "851Gkktt", "Hiragino Sans", sans-serif; color: #cdae6b; margin-bottom: 7px; font-size: 1.06rem; letter-spacing: .05em; border-bottom: 1px solid rgba(255,255,255,0.11); padding-bottom: 4px; }
    .glass-panel-body { color: #cdd6e0; font-size: 0.93rem; line-height: 1.65; }

    /* 払戻金(オッズ×推奨購入金額)10万円以上の的中: レインボー */
    .bet-row.rainbow {
        background: linear-gradient(90deg, #ff0000, #ff8800, #ffee00, #00cc44, #0088ff, #8800ff, #ff0088, #ff0000);
        background-size: 400% 100%;
        font-weight: 800;
        color: #fff;
        text-shadow: 0 0 4px rgba(0,0,0,0.6), 0 1px 2px rgba(0,0,0,0.85);
        /* グロー脈動は.hitと同じ::before opacity方式(震え対策・2026-09-05) */
        box-shadow: 0 0 6px #fff, 0 0 12px rgba(255,0,200,0.6), 0 0 18px rgba(0,200,255,0.4);
    }
    @keyframes rainbowflow {
        /* 左から右へ流す(2026-09-05指示: %減少方向=見た目は右流れ) */
        0% { background-position: 400% 0; }
        100% { background-position: 0% 0; }
    }
    /* 3桁万円(払戻100万円以上)の的中: レインボー背景はそのまま、できる限り煌びやかな多重金枠を重ねる */
    .bet-row.rainbow.megawin {
        outline: 1px solid #fff;
        outline-offset: 3px;
        z-index: 2;
        /* 多重リング(白→金)＋多色グローも::before opacity方式(震え対策・2026-09-05) */
        box-shadow:
            0 0 0 1.5px #fff, 0 0 0 3.5px #ffd700,
            0 0 14px 2px rgba(255,215,0,0.95), 0 0 30px rgba(255,150,0,0.75),
            0 0 52px rgba(255,0,200,0.55), 0 0 78px rgba(0,200,255,0.45);
        animation: megaframe 1.6s linear infinite;
    }
    /* 外周アウトラインが白↔金でキラッと脈動 */
    @keyframes megaframe {
        0% { outline-color: #fff; }
        50% { outline-color: #ffd700; }
        100% { outline-color: #fff; }
    }

    /* 的中時のボートアニメーション */
    .boat-scene { position: relative; height: 56px; overflow: hidden; border-radius: 8px; background: linear-gradient(180deg, #0f2a44 0%, #1a5a8c 55%, #0f3a64 100%); margin-bottom: 10px; }
    .wave { position: absolute; bottom: 0; left: 0; width: 220%; height: 14px; background: repeating-linear-gradient(90deg, rgba(255,255,255,0.25) 0 12px, transparent 12px 24px); animation: wavemove 0.9s linear infinite; }
    @keyframes wavemove { 0% { transform: translateX(0); } 100% { transform: translateX(-24px); } }
    .boat-run { position: absolute; bottom: 8px; animation: boatmove 2.8s linear infinite, boatbob 0.5s ease-in-out infinite; }
    .boat-a { animation-delay: 0s, 0s; }
    .boat-b { bottom: 15px; animation-delay: 0.7s, 0.1s; }
    .boat-c { bottom: 3px; animation-delay: 1.4s, 0.2s; }
    @keyframes boatmove { 0% { left: -18%; } 100% { left: 112%; } }
    @keyframes boatbob { 0%, 100% { transform: translateY(0) rotate(-4deg); } 50% { transform: translateY(-5px) rotate(4deg); } }

    /* 自信度ランクバッジ */
    .conf-badge { display: inline-block; padding: 2px 12px; border-radius: 6px; font-weight: 800; font-size: 0.95rem; letter-spacing: 1px; vertical-align: middle; }
    .conf-S { background: linear-gradient(135deg, #ffd700, #ff8800); color:#5a3d00; box-shadow:0 0 10px rgba(255,180,0,0.6); }
    .conf-A { background: #2a9d4a; color:#fff; }
    .conf-B { background: #2a6fb8; color:#fff; }
    .conf-C { background: #d4a017; color:#fff; }
    .conf-D { background: #888; color:#fff; }

    /* 右上のロード表示(Running インジケータ)は非表示=再実行のたびに出るアニメを消す */
    [data-testid="stStatusWidget"] { display: none !important; }

    /* 再実行(オッズ更新等)中に要素が薄くなる「パッ」を止める(2026-07-19指示)。
       Streamlitはrerun中の旧要素をstale扱いでフェードするが、置換完了まで
       そのままの濃度で見せる(新旧の差し替え自体は一瞬なので体感が消える) */
    [data-stale="true"], .element-container.stale-element,
    [data-testid="stElementContainer"][data-stale="true"] {
      opacity: 1 !important;
      transition: none !important;
    }
    .stApp [data-testid="stAppViewContainer"] { transition: none !important; }
    /* 再接続オーバーレイの白フラッシュも抑える */
    [data-testid="stApp"] > div[class*="withScreencast"] { transition: none !important; }

    /* === MAGI合議 (カテナチオ三頭体制: ANCELOTTI-1 / GALLIANI-2 / BERLUSCONI-3) === */
    .magi-box{display:inline-flex;gap:5px;align-items:center;margin-left:12px;
      font-family:"Courier New",monospace;vertical-align:middle;}
    .magi-u{border:1px solid #ff7a00;color:#ffb45e;background:rgba(20,8,0,.85);padding:2px 8px;
      font-size:.6rem;letter-spacing:.12em;display:inline-flex;gap:7px;align-items:center;
      clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);}
    .magi-u b{font-weight:700;font-size:.62rem;letter-spacing:.18em;}
    .magi-u.ok b{color:#39ff7a;}
    .magi-u.ng{border-color:#ff2d2d;color:#ff8a8a;background:rgba(26,0,0,.9);}
    .magi-u.ng b{color:#ff2d2d;animation:magiblink 1.1s steps(2,end) infinite;}
    .magi-v{font-size:.6rem;letter-spacing:.14em;padding:2px 9px;border:1px solid;
      clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);}
    .magi-v.un{color:#ffd54f;border-color:#ffd54f;background:rgba(40,28,0,.9);text-shadow:0 0 6px rgba(255,213,79,.6);}
    .magi-v.so{color:#ffa040;border-color:#ff7a00;background:rgba(30,14,0,.85);}
    .magi-v.lo{color:#9aa7b0;border-color:#5c6770;background:rgba(10,12,14,.85);}
    @keyframes magiblink{50%{opacity:.22;}}
    /* === CATENACCIO SYSTEM (MAGI三角配置: 中央ボタン起動・可決でALERT点灯/買い目点灯) === */
    .cns-wrap{margin:2px 0 10px;font-family:"Courier New",monospace;--tEnd:8s;}
    .cns-ck{display:none;}
    .cns-tri{display:inline-grid;grid-template-areas:"hl u2 hr" "u3 ctr u1";grid-template-columns:auto minmax(88px,auto) auto;
      row-gap:2px;column-gap:0;justify-items:center;align-items:center;max-width:470px;position:relative;}
    /* ワンショット方式(2026-07-29ユーザー決定): 一度押したらページを離れるまで
       ボタンは戻さない。リプレイ機構(ラジオ交互・当たり判定層・JS注入)は全廃。
       経緯の教訓はgit的に残す: checkedプロパティのJS書き込みはこのページの常駐
       リセッタに約200msで戻される/ネイティブlabel活性化(dirty)だけが安定 */
    .cns-u{display:none;flex-direction:column;align-items:center;gap:2px;border:1px solid #ff7a00;
      background:rgba(8,16,20,.9);color:#7fd9e8;padding:11px 10px;font-size:.98rem;font-weight:700;letter-spacing:.04em;white-space:nowrap;--t:3.1s;--fbg:rgba(8,16,20,.9);--ftx:#ffb45e;--fbd:#ff7a00;
      }
    .cns-u.uok{--fbg:#2fc6e0;--ftx:#000;--fbd:#bdf0fa;}
    .cns-u.ung{--fbg:#e8425f;--ftx:#000;--fbd:#ffb3c2;}
    .cns-u.u1{grid-area:u1;}
    .cns-u.u2{grid-area:u2;}
    .cns-u.u3{grid-area:u3;}
    .cns-ck:checked ~ .cns-tri .cns-u{display:inline-flex;}
    .cns-ck:checked ~ .cns-tri .cns-u.u1{animation:cnsstrobe .30s steps(2,end) infinite,cnshold 0s linear var(--t) forwards,cnsgone .45s ease var(--tEnd) forwards;}
    .cns-ck:checked ~ .cns-tri .cns-u.u2{animation:cnsstrobe .37s steps(2,end) .12s infinite,cnshold 0s linear var(--t) forwards,cnsgone .45s ease var(--tEnd) forwards;}
    .cns-ck:checked ~ .cns-tri .cns-u.u3{animation:cnsstrobe .33s steps(2,end) .22s infinite,cnshold 0s linear var(--t) forwards,cnsgone .45s ease var(--tEnd) forwards;}
    .cns-tri .jaw{display:inline-grid;justify-items:center;visibility:hidden;}
    .cns-ck:checked ~ .cns-tri .jaw{visibility:visible;}
    .cns-tri .jaw>b{grid-area:1/1;font-weight:900;font-size:.88rem;letter-spacing:.1em;white-space:nowrap;font-family:"Shippori Mincho",serif;}
    .cns-u .ja{color:inherit;}
    .cns-ck:checked ~ .cns-tri .cns-u .ja{animation:cnsoff 0s linear var(--t) forwards;}
    .cns-tri .vd{opacity:0;}
    .cns-ck:checked ~ .cns-tri .vd.ok{color:inherit;animation:cnson .2s ease var(--t) forwards;}
    .cns-ck:checked ~ .cns-tri .vd.ng{color:inherit;animation:cnson .2s ease var(--t) forwards;}
    .cns-btn{grid-area:ctr;display:inline-flex;align-items:center;gap:8px;cursor:pointer;border:1px solid #ff7a00;color:#ffb45e;position:relative;top:4px;
      background:rgba(20,8,0,.85);padding:5px 13px;font-size:.66rem;letter-spacing:.18em;
      clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);}
    .cns-btn:hover{color:#5fd8ff;border-color:#5fd8ff;}
    /* 一度押したらページを離れるまでボタンは出ない(2026-07-29ユーザー決定。
       旧: 8.6秒でJSが自動uncheckしボタンを戻していた=2回目押下の挙動が壊れる元凶。
       発火は管理JSが .cns-fired を付け、当日中はlocalStorage記録からも復元する) */
    .cns-ck:checked ~ .cns-tri .cns-btn{visibility:hidden;}
    .cns-fired .cns-btn{display:none !important;}
    .cns-v{pointer-events:none;--t:3.1s;font-size:1rem;letter-spacing:.22em;padding:4px 14px;border:3px double #d8b24a;color:#ffb12e;font-weight:900;
      background:#0a0500;display:none;font-family:"Shippori Mincho",serif;}
    .cns-ck:checked ~ .cns-tri .cns-v{display:inline-flex;}
    .cns-v .ja{color:#ffc14d;}
    .cns-ck:checked ~ .cns-tri .cns-v .ja{animation:cnsblink .8s steps(2,end) infinite,cnsoff 0s linear var(--t) forwards;}
    .cns-v .vd{transform:scale(1.5);}
    .cns-ck:checked ~ .cns-tri .cns-v.kk{animation:cnskk 0s linear var(--t) forwards,cnsgone .45s ease var(--tEnd) forwards;}
    .cns-ck:checked ~ .cns-tri .cns-v.kk .vd{color:#5fd8ff;animation:cnsstamp .3s ease var(--t) forwards;}
    .cns-ck:checked ~ .cns-tri .cns-v.hk{animation:cnshk 0s linear var(--t) forwards,cnsgone .45s ease var(--tEnd) forwards;}
    .cns-ck:checked ~ .cns-tri .cns-v.hk .vd{color:#ff2d2d;animation:cnsstamp .3s ease var(--t) forwards;}
    .cns-row{display:flex;align-items:center;justify-content:flex-start;gap:6px 4px;flex-wrap:wrap;margin:18px 0 4px;}
    .cns-row h4{margin:0;padding:0;white-space:nowrap;}
    .cns-row .hlp{top:0 !important;margin-left:6px;}
    .rb-txt{background:linear-gradient(90deg,#ff0000,#ff8800,#ffee00,#00cc44,#0088ff,#8800ff,#ff0088,#ff0000);background-size:400% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:800;animation:rainbowflow 3s linear infinite;}
    .cns-ck:checked ~ .cns-tri{column-gap:4px;animation:cnsgapoff 0s linear var(--tEnd) forwards;}

    .cns-row .cns-wrap{margin:0;}
    .cns-hd-l{grid-area:hl;display:none;flex-direction:column;align-items:flex-start;gap:2px;justify-self:start;align-self:start;}
    .cns-hd-r{grid-area:hr;display:none;flex-direction:column;align-items:flex-end;gap:6px;justify-self:end;align-self:start;}
    .cns-ck:checked ~ .cns-tri .cns-hd-l,.cns-ck:checked ~ .cns-tri .cns-hd-r{display:flex;animation:cnsgone .45s ease var(--tEnd) forwards;}
    .cns-ht{color:#ff8a00;font-weight:900;font-size:1.35rem;letter-spacing:.42em;line-height:1.05;font-family:"Shippori Mincho",serif;
      border-top:8px double #17d39a;border-bottom:8px double #17d39a;padding:3px 2px 2px;text-shadow:0 0 8px rgba(255,138,0,.5);
      transform:scale(1.22,.84);}
    .cns-hd-l .cns-ht{transform-origin:left center;}
    .cns-hd-r .cns-ht{transform-origin:right center;}
    .cns-code{color:#ff8a00;font-weight:900;font-size:.95rem;letter-spacing:.14em;margin-top:2px;}
    .cns-meta{color:#ff9b2e;font-size:.56rem;letter-spacing:.12em;line-height:1.35;text-align:left;}
    .cns-mid{grid-area:ctr;position:relative;display:none;align-items:center;color:#ff8a00;font-weight:900;font-size:.95rem;
      letter-spacing:.1em;text-shadow:0 0 9px rgba(255,138,0,.65);pointer-events:none;white-space:nowrap;font-family:"Cinzel",serif;}
    .cns-mid i{position:absolute;background:#ff7a00;box-shadow:0 0 6px rgba(255,122,0,.55);}
    .cns-mid .l2{width:64px;height:4px;right:100%;margin-right:0;top:calc(50% - 2px);}
    .cns-mid .l3{width:64px;height:4px;left:100%;margin-left:0;top:calc(50% - 2px);}
    .cns-mid .d2{width:4px;height:62px;right:100%;margin-right:44px;bottom:calc(50% - 2px);transform:rotate(28deg);transform-origin:bottom center;}
    .cns-mid .d3{width:4px;height:62px;left:100%;margin-left:44px;bottom:calc(50% - 2px);transform:rotate(-28deg);transform-origin:bottom center;}
    .cns-mid .lb{left:0;right:0;width:auto;height:4px;top:calc(50% - 2px);}
    .cns-mid .rs{position:relative;top:-18px;}
    .cns-v .jaw>b{font-size:1.02rem;}
    .cns-u.u2{clip-path:polygon(0 0,100% 0,100% 64%,80% 100%,20% 100%,0 64%);padding:9px 22px 14px;align-self:stretch;justify-content:center;}
    .cns-u.u3{clip-path:polygon(0 0,80% 0,100% 34%,100% 100%,0 100%);padding-right:20px;min-height:92px;justify-content:center;}
    .cns-u.u1{clip-path:polygon(20% 0,100% 0,100% 100%,0 100%,0 34%);padding-left:20px;min-height:92px;justify-content:center;}
    .cns-u{position:relative;z-index:2;}
    .cns-mid i{z-index:1;}
    .cns-ck:checked ~ .cns-tri .cns-mid{display:inline-flex;animation:cnsgone .45s ease var(--tEnd) forwards;}
    /* 伏せている間は高さも0(2026-08-04指示: 発動レースだけレース名の下に
       28pxの空白が出ていた)。可決の瞬間に高さごと開く */
    .cat-alert.cns-pend{opacity:0;max-height:0;min-height:0;overflow:hidden;
      margin:0 !important;gap:0;}
    .bet-row.hot-pick-fire.cns-hb{animation:none;box-shadow:none;background:rgba(128,128,128,0.10);}
    .bet-row.hot-pick-fire.cns-hb::before{opacity:0;animation:none;}
    /* 偽装中(未可決)は三色を伏せるが、ミシン目自体は通常行と同じ白で出す。
       消してしまうと発動2点だけ切り取り線が無く、かえって目立つ(2026-08-31指摘) */
    .bet-row.hot-pick-fire.cns-hb, .bet-row.tricolore-edge.cns-hb{ --bet-edge: rgba(255,255,255,0.16); }
    /* 可決後: 非アラート買い目の薄暗演出は廃止(2026-06-24ユーザー指示)。本命2点の強調は維持。 */
    .bet-row.cns-dim{}
    @keyframes cnsstrobe{0%,49%{background:rgba(8,16,20,.9);color:#7fd9e8;border-color:#ff7a00;}50%,100%{background:#2fc6e0;color:#06222a;border-color:#bdf0fa;}}
    @keyframes cnshold{to{background:var(--fbg);color:var(--ftx);border-color:var(--fbd);}}
    @keyframes cnsoff{to{opacity:0;visibility:hidden;}}
    @keyframes cnson{to{opacity:1;}}
    /* 伏せ→可決: 高さ0から実寸へ(cnsonと同じタイミングで開く)。
       max-heightで開くので、文字が折り返す幅でも切れない */
    @keyframes cnsonh{to{opacity:1;max-height:200px;gap:5px;}}
    @keyframes cnsblink{50%{opacity:.22;}}
    @keyframes cnsstamp{to{opacity:1;transform:scale(1);}}
    @keyframes cnskk{to{border-color:#5fd8ff;background:rgba(0,26,34,.9);}}
    @keyframes cnshk{to{border-color:#ff2d2d;background:rgba(26,0,0,.9);}}
    @keyframes cnshbon{to{filter:none;}}
    @keyframes cnsgone{to{opacity:0;display:none;}}
    @keyframes cnsback{to{visibility:visible;}}
    /* === サイトタイトル: マルディーニのカテナチオ舟券 === */
    /* === サイトタイトル: マルディーニのカテナチオ舟券 (C1 ロイヤル・スリム) === */
    @keyframes marbleShift { 0%, 100% { background-position: 0% center; } 50% { background-position: 100% center; } }
    @keyframes titleLine { 0% { transform: translateX(-110px); } 100% { transform: translateX(330px); } }
    /* 燕尾旗(2026-08-31指示: 角丸カードをやめ旗の形へ)。縁の金1pxは親の
       .site-title-link が地色として持ち、この要素を1px内側で同じ形に切り抜く */
    .site-title { position: relative; text-align: center; padding: 24px calc(var(--cut, 24px) + 12px) 22px 26px; margin: 0; background: radial-gradient(120% 150% at 50% 128%, #2a0a0a 0%, #120606 42%, #080808 100%); border-radius:0; box-shadow: none; overflow: hidden; clip-path: polygon(0 0, 100% 0, calc(100% - var(--cut, 24px)) 50%, 100% 100%, 0 100%); }
    .site-title-link { --cut: clamp(13px, 4.4vw, 26px); display: block; padding: 1px; margin: -10px 0 22px;   /* 2026-09-19指示「バナーの高さもう少し上に」: 直前の空ブロックとの縦gap16pxを10px詰める */ background: rgba(200,164,92,0.42); clip-path: polygon(0 0, 100% 0, calc(100% - var(--cut)) 50%, 100% 100%, 0 100%); filter: drop-shadow(0 8px 24px rgba(0,0,0,0.55)); }
    .site-title::before { content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 9px; background: linear-gradient(180deg, #008C45 0 33.33%, #ffffff 33.33% 66.66%, #CD212A 66.66% 100%); }
    .site-title .title-main { font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: clamp(1.15rem, 5.0vw, 2.4rem); white-space: nowrap; font-weight: 800; letter-spacing: 0.1em; line-height: 1.25; margin: 0; }
    .site-title .title-main .tm-metal { background: linear-gradient(180deg, #ff6055 0%, #c20a18 38%, #5e0008 72%, #ff9384 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
    .site-title .title-main .tm-marble { background: linear-gradient(120deg, #f2f2f5 0%, #b6bac2 22%, #ffffff 40%, #8e949e 56%, #ececf2 74%, #b8bcc4 90%, #ffffff 100%); background-size: 220% auto; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; animation: marbleShift 9s ease-in-out infinite; }
    /* 案4 (2026-06-12採用): 851ゴチカクット+モーションブラー残像 */
    .site-title .title-main.tm-blur { position: relative; display: inline-block; font-family: "851Gkktt", "Hiragino Sans", sans-serif; font-weight: 400; letter-spacing: .05em; color: #cdae6b; }
    .site-title .tm-blur .tm-ghost { position: absolute; top: 0; white-space: nowrap; pointer-events: none; }
    .site-title .tm-blur .g1 { left: -7px; opacity: .22; filter: blur(1.5px); }
    .site-title .tm-blur .g2 { left: -14px; opacity: .10; filter: blur(2.5px); }
    .site-title .tm-blur .tm-core { position: relative; }
    /* 案12 (2026-06-12採用): 金箔タイトル — 題字をゴールドグラデに */
    .site-title .title-main .tm-gold { background: linear-gradient(120deg, #f7e7b6 0%, #cdae6b 30%, #fff7d8 48%, #a8853e 65%, #e9d398 85%, #cdae6b 100%); background-size: 220% auto; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; animation: marbleShift 9s ease-in-out infinite; }
    .site-title .title-line { position: relative; width: 280px; max-width: 70%; height: 2px; margin: 11px auto; background: transparent; border-radius: 2px; overflow: visible; }
    .site-title .title-line::before { content: ""; position: absolute; inset: 0; border-radius: 2px; background: linear-gradient(90deg, transparent, rgba(230,195,110,0.85), transparent); transform: scaleX(0); animation: chainLine 3.2s ease-in-out infinite; }
    @keyframes chainLine { 0% { transform: scaleX(0); opacity: 1; filter: none; } 42% { transform: scaleX(1); opacity: 1; } 50% { transform: scaleX(1); filter: brightness(2.4) drop-shadow(0 0 6px #ffe9a8); } 60% { filter: none; opacity: 1; } 74%, 100% { transform: scaleX(1); opacity: 0; } }
    .site-title .title-line i { position: absolute; top: 50%; width: 3px; height: 3px; margin-top: -1.5px; border-radius: 50%; background: #ffe9a8; opacity: 0; box-shadow: 0 0 6px #ffd24d; }
    .site-title .title-line i:nth-child(1) { left: 10%; animation: goldSpark 2.8s ease infinite 0.2s; }
    .site-title .title-line i:nth-child(2) { left: 32%; animation: goldSpark 2.8s ease infinite 1.1s; }
    .site-title .title-line i:nth-child(3) { left: 55%; animation: goldSpark 2.8s ease infinite 1.9s; }
    .site-title .title-line i:nth-child(4) { left: 76%; animation: goldSpark 2.8s ease infinite 0.7s; }
    .site-title .title-line i:nth-child(5) { left: 92%; animation: goldSpark 2.8s ease infinite 2.3s; }
    @keyframes goldSpark { 0%, 100% { opacity: 0; transform: scale(0.4); } 8% { opacity: 1; transform: scale(1.5); } 16% { opacity: 0; transform: scale(0.4); } }
    /* 案12: サブタイトルは銀灰 (金箔の題字を主役にするためシマーは外す) */
    .site-title .title-sub { font-family: "Cinzel", serif; font-size: 0.78rem; font-weight: 600; letter-spacing: 0.46em; color: #9aa3ad; text-transform: uppercase; }
    .site-title .title-sub .jp { font-family: "Shippori Mincho", "Hiragino Mincho ProN", serif; color: #b9c2cb; letter-spacing: 0.16em; text-transform: none; }
    @media (max-width: 640px) { .site-title .title-sub { font-size: 0.62rem; letter-spacing: 0.28em; } .site-title .title-main { letter-spacing: 0.04em; } }

    [class*="st-key-one_"] button, [class*="st-key-one_"] button { width: 100% !important; background: rgba(255,255,255,0.07) !important; color: #f5f5f7 !important; border: 0.5px solid rgba(255,255,255,0.16) !important; border-radius: 8px !important; font-weight: 500 !important; box-shadow: 0 1px 2px rgba(0,0,0,0.28) !important; transition: background .15s ease, border-color .15s ease !important; }
    [class*="st-key-one_"] button:hover, [class*="st-key-one_"] button:hover { background: rgba(255,255,255,0.13) !important; border-color: rgba(255,255,255,0.26) !important; color: #fff !important; }
    [class*="st-key-one_"] button:active, [class*="st-key-one_"] button:active { background: rgba(255,255,255,0.04) !important; }
    [class*="st-key-one_"] button p, [class*="st-key-one_"] button p { color: #f5f5f7 !important; font-weight: 500 !important; }

    div[data-testid="stHorizontalBlock"]:has([class*="st-key-one_"]) { flex-wrap: nowrap !important; gap: 0 !important; }
    div[data-testid="stHorizontalBlock"]:has([class*="st-key-one_"]) > div { min-width: 0 !important; flex: 1 1 0 !important; padding: 0 !important; }
    [class*="st-key-one_"] button p, [class*="st-key-one_"] button p { font-size: 0.86rem !important; white-space: nowrap !important; }
        .bet-row.ev-good { background: rgba(52,199,89,0.08); }
    .ev-star { color: #34c759; font-weight: 700; }
    .bet-meta { font-size: 0.72rem; opacity: 0.65; display: block; margin-top: 2px; }
    .bet-pay { color: #cdae6b; opacity: 0.9; margin-left: 2px; }
    /* 的中行: オッズ・購入金額・矢印を「小さくするだけ」(透明度は触らない)。払戻を枠内に収める */
    .bet-row.hit .bet-odds-win, .bet-row.rainbow .bet-odds-win { font-size: 0.58rem; }
    .bet-win-pre { font-size: 0.58rem; white-space: nowrap; }
    /* 的中払戻: 背景なし。文字に濃い縁取り(stroke)で金/レインボー背景でも埋もれず際立つ */
    /* 的中払戻: 視認性最優先。白文字＋太い黒アウトライン＋黒ハロー(字幕方式)。金/レインボー上でも確実に読める */
    .bet-amt-win { font-size: 0.96rem; font-weight: 900; opacity: 1 !important;
      white-space: nowrap; display: inline-block; letter-spacing: .01em;
      background: none; color: #ffffff !important; -webkit-text-fill-color: #ffffff;
      text-shadow:
        -1.2px -1.2px 0 #000, 1.2px -1.2px 0 #000, -1.2px 1.2px 0 #000, 1.2px 1.2px 0 #000,
        0 0 4px rgba(0,0,0,0.95), 0 1px 2px rgba(0,0,0,0.9); }
    /* レインボー的中時のみ: 払戻のトーンを出目(白+淡い影)に合わせる(太い黒縁は外す) */
    .bet-row.rainbow .bet-amt-win {
      color: #ffffff !important; -webkit-text-fill-color: #ffffff;
      text-shadow: 0 0 4px rgba(0,0,0,0.6), 0 1px 2px rgba(0,0,0,0.85); }

    @keyframes hotglow { 0%,100%{box-shadow:0 0 5px rgba(255,170,0,0.45);} 50%{box-shadow:0 0 18px rgba(255,140,0,0.95);} }
    .bet-row.hot-pick { background: linear-gradient(90deg, rgba(255,170,0,0.22), rgba(255,90,0,0.06)) !important; animation: hotglow 1.5s ease-in-out infinite; }
    @keyframes fireglow { 0%, 100% { box-shadow: 0 0 8px rgba(230,0,18,0.5); } 50% { box-shadow: 0 0 22px rgba(255,60,0,0.95), 0 0 40px rgba(230,0,18,0.6); } }
    @keyframes fireShift { 0%,100% { background-position: 0% 100%, 50% 100%, 100% 100%, 50% 100%, 0 0; } 50% { background-position: 0% 64%, 50% 84%, 100% 60%, 50% 75%, 0 0; } }
    @keyframes fireFlick { 0%,100% { opacity:.85; transform: scaleY(1); } 18% { opacity:1; transform: scaleY(.98); } 42% { opacity:.6; transform: scaleY(.92); } 68% { opacity:1; transform: scaleY(.99); } }
    .bet-row.hot-pick-fire { position: relative; background: #1c0000; animation: fireglow 1.3s ease-in-out infinite; }
    .bet-row.hot-pick-fire::before { content: ""; position: absolute; inset: 0; left: -3px; border-radius: inherit; background: radial-gradient(130% 152% at 50% 150%, rgba(255,175,45,0.92) 0%, rgba(250,72,12,0.86) 30%, rgba(155,10,0,0.50) 58%, transparent 78%), linear-gradient(0deg, rgba(0,0,0,0.30) 0%, transparent 55%), linear-gradient(90deg, rgba(55,0,0,0.95), rgba(28,0,0,0.82)); background-size: 100% 100%; background-repeat: no-repeat; pointer-events: none; z-index: 0; }
    /* 炎のミシン目は案Dのトリコローレ帯(base .bet-row::after が --bet-edge で描く)に統一(2026-09-02) */
    .bet-row.hot-pick-fire > * { position: relative; z-index: 1; }
    .bet-row.tricolore-edge { position: relative; }
    /* 的中のトリコローレ帯も base .bet-row::after(--bet-edge)へ統一(2026-09-02) */
    .cat-head { display: flex; align-items: center; gap: 14px; margin: 0 0 8px; }
    .cat-head-title { font-size: 1.05rem; font-weight: 700; white-space: nowrap; }
    .cat-head-alert { position: relative; flex: 1 1 auto; height: 22px; overflow: hidden; min-width: 0; }
    .cat-head-t { position: absolute; top: 50%; left: 100%; transform: translateY(-50%); white-space: nowrap; font-size: 13px; font-weight: 800; letter-spacing: 0.16em; color: #ff3b30; text-shadow: 0 0 8px rgba(255,60,0,0.7); animation: catHeadFlow 6s linear infinite; }
    @keyframes catHeadFlow { 0% { left: 100%; } 100% { left: -62%; } }
    .bet-row.hot-pick-blue { background: linear-gradient(90deg, rgba(0,104,183,0.20), rgba(0,104,183,0.04)) !important; }

    /* ===== macOS作法の統一トークン(2026-08-31採用) =====
       角丸を4段に固定 / 箱の枠は白のヘアライン(金は文字と要点へ) /
       影と半透明は「上に開くもの」だけ / 丸ピルは7pxへ */
    :root{ --r-sheet:16px; --r-panel:12px; --r-control:999px; --r-thumb:8px;
           --hair:rgba(255,255,255,0.11); --hair-s:rgba(255,255,255,0.16); }
    /* --- パネル・カード --- */
    .glass-panel, .cz-wrap, .score-rank-wrap, .vg-card, .vg-hband, .dhub-tile,
    .ron-pcard, .ron-chcard, .ron-vcard, .ron-jcard, .dd8-card, .ob9-card, .sm9-card,
    .nw2-ca, .nw2-sc, .nw2-hero, .mk-card, .bzd, .vp-card, .ron-toc,
    [class*="st-key-ns-"], [data-testid="stExpander"]{
        border-radius: var(--r-panel) !important; }
    /* 枠色は白のヘアライン。ただし部カードは部ごとの色を持つので対象外 */
    .glass-panel, .cz-wrap, .score-rank-wrap, .vg-card, .vg-hband, .dhub-tile,
    .ron-chcard, .ron-vcard, .ron-jcard, .dd8-card, .ob9-card, .sm9-card,
    .nw2-ca, .nw2-sc, .nw2-hero, .mk-card, .bzd, .vp-card, .ron-toc,
    [class*="st-key-ns-"], [data-testid="stExpander"]{
        border-color: var(--hair) !important; }
    /* --- シート・ポップオーバー(浮くものだけ材質を持つ) --- */
    .hlp-pop, .rpop-pop, .ron-pop, #catcal-panel, .vpp-box, .rtips-body,
    [class*="st-key-bcpop"]{
        border-radius: var(--r-sheet) !important;
        border-color: var(--hair-s) !important;
        box-shadow: 0 18px 50px rgba(0,0,0,0.55) !important; }
    #catcal-panel{ background: rgba(28,31,38,0.74) !important;
        -webkit-backdrop-filter: blur(24px) saturate(1.6);
        backdrop-filter: blur(24px) saturate(1.6); }
    /* --- コントロール: 丸いガラスのカプセルに統一(2026-10-03 承認「変えて良い」。旧 2026-08-31「丸ピル 999px をやめる」=角丸7pxを覆した) --- */
    .vg-nav-tl, .vg-nav-today, .cc-reset, .ron-navbtn,
    .vp-more > summary, .mk-ph-more > summary, .mk-cr-more > summary, .rnw-btn,
    .onep-close, .mtjd > summary, .bk-more > summary,
    .stButton > button, [data-testid="stBaseButton-secondary"]{
        border-radius: var(--r-control) !important;
        border-color: rgba(255,255,255,0.16) !important;
        background-color: rgba(30,34,42,0.22) !important; }
    .vg-nav-today, .cc-reset, .ron-navbtn, .vp-more > summary, .mk-ph-more > summary, .mk-cr-more > summary, .rnw-btn,
    .onep-close, .bk-more > summary{ color: #e6e8eb !important; }
    /* アイコンだけのボタンは面を持たない(押した時だけ) */
    .vg-nav-tl{ background-color: transparent !important; }
    /* ピル(st.pills)は狙い目の「1コース…」(横並びラジオ)と同じ形にそろえる(2026-10-02「狙い目のやつみたいに繋げたら」):
       列を1本のカプセルにつなげ(地22%・白縁16%・内側2px)、ピル自体は透明。選択中の印は常駐スクリプト(__mkLqSeg)の粒 */
    [data-testid="stButtonGroup"] > div{
        display: inline-flex !important; flex-wrap: nowrap !important; gap: 2px !important; padding: 2px !important;
        position: relative; border-radius: 999px; max-width: 100%; overflow-x: auto; scrollbar-width: none;
        background: rgba(30,34,42,0.22); border: 1px solid rgba(255,255,255,0.16); box-sizing: border-box; }
    [data-testid="stButtonGroup"] > div::-webkit-scrollbar{ display: none; }
    button[data-testid="stBaseButton-pills"], button[data-testid="stBaseButton-pillsActive"]{
        position: relative; z-index: 1; flex: 0 0 auto !important;
        background: transparent !important; border: 0 !important; box-shadow: none !important; }
    button[data-testid="stBaseButton-pills"]{ color: #c7ccd3 !important; }
    /* 選択中のピルをつまんで動かす間、列が横にスクロール・伸び縮みしない(狙い目のラジオと同じ・2026-10-02「つまんで動かすとこうなる」) */
    button[data-testid="stBaseButton-pillsActive"]{ touch-action: none !important; -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
    button[data-testid="stBaseButton-pillsActive"]{ color: #e8d48b !important; }   /* 選択中は金文字=狙い目の横並びラジオと同じ(2026-10-03「色が違うじゃん」) */
    /* 複数選べるピルで2つ以上選んでいる時は、粒(1つしか置けない)を消して選んでいるピルそれぞれに粒と同じ地を付ける
       (2026-10-03「複数選択してるのに色が変わらない」)。1つだけの時は従来どおり粒 */
    [data-testid="stButtonGroup"] > div:has(button[data-testid="stBaseButton-pillsActive"] ~ button[data-testid="stBaseButton-pillsActive"]) > .mk-sg{
        opacity: 0 !important; }
    [data-testid="stButtonGroup"] > div:has(button[data-testid="stBaseButton-pillsActive"] ~ button[data-testid="stBaseButton-pillsActive"]) button[data-testid="stBaseButton-pillsActive"]{
        background: rgba(255,255,255,0.13) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,0.22) !important; border-radius: 999px !important; }
    button[data-testid="stBaseButton-pillsActive"] p, button[data-testid="stBaseButton-pills"] p{ color: inherit !important;
        font-weight: 700 !important; font-size: 13.5px !important; }   /* 狙い目の横並びラジオと同じ太字(2026-10-02指示) */
    /* 同条件成績の条件チップ(複数選べる)は1本につなげず、個別のチップにする(2026-10-03「ここの条件チップは個別にしてくれないと」)。
       入りきらない分は折り返して全部見せる。選んでいるチップは金の文字と縁(つなげた列の粒は使わない) */
    [class*="st-key-rcp_chips"] [data-testid="stButtonGroup"] > div{
        display: flex !important; flex-wrap: wrap !important; gap: 6px !important; padding: 0 !important;
        background: none !important; border: 0 !important; overflow: visible !important; border-radius: 0 !important; }
    [class*="st-key-rcp_chips"] [data-testid="stButtonGroup"] > div > .mk-sg{ display: none !important; }
    [class*="st-key-rcp_chips"] button[data-testid="stBaseButton-pills"],
    [class*="st-key-rcp_chips"] button[data-testid="stBaseButton-pillsActive"]{
        border: 1px solid rgba(255,255,255,0.16) !important; background: rgba(30,34,42,0.22) !important;
        border-radius: 999px !important; box-shadow: none !important; touch-action: manipulation !important; }
    [class*="st-key-rcp_chips"] button[data-testid="stBaseButton-pillsActive"]{
        border-color: rgba(205,174,107,0.7) !important; background: rgba(205,174,107,0.12) !important; color: #e8d48b !important; }
    /* 日付ピルは開催一覧・デイリーデータ・タイムラインで同一(2026-08-31指示) */
    .vg-head-d{ border-radius: 999px !important;
        border: 1px solid rgba(255,255,255,0.14) !important;
        background-color: transparent !important;
        padding: 6px 14px !important; font-size: 14.5px !important; }
    .vg-nav-tl:hover{ background-color: rgba(255,255,255,0.08) !important; }
    /* 買い目: 背景の起点をボーダー端へ(透明な3px左ボーダーにグラデの端が
       伸びて黒帯が出るのを止める)。background ショートハンドより後で効かせる */
    .bet-row, .bet-row.normal, .bet-row.hot-pick, .bet-row.hot-pick-blue,
    .bet-row.ev-good, .bet-row.hit, .bet-row.rainbow, .bet-row.hot-pick-fire{
        background-origin: border-box !important; }
    /* セレクト(全国勝率/全級別/高い順など)の文字もプルタブと同じ太さに
       (2026-08-31指示: コース×条件のプルタブ = Source Sans 600 に統一) */
    [data-baseweb="select"] > div, [data-baseweb="select"] > div *{
        font-family: "Source Sans", sans-serif !important; font-weight: 600 !important; }
    /* プルタブの書体はコース×条件のプルタブ(Streamlit popover)に統一
       = Source Sans / 600(2026-08-31指示)。サイズは各所のまま */
    .vp-more > summary, .mk-ph-more > summary, .mk-cr-more > summary,
    .mtjd > summary, .bk-more > summary, .rnw-btn, .onep-close,
    [data-testid="stExpander"] summary, [data-testid="stExpander"] summary *,
[data-testid="stExpander"] summary p, [data-testid="stExpander"] summary [data-testid="stMarkdownContainer"] p{
        font-family: "Source Sans", sans-serif !important;
        font-weight: 600 !important; }
    /* ↑の summary * が展開矢印のMaterial Symbolsアイコンまで潰して
       リガチャ未解決の「keyboard_arrow_right」が生テキストで出ていた
       (2026-09-01 iPhone実機報告)。アイコンだけフォントを戻す */
    [data-testid="stExpander"] summary [data-testid="stIconMaterial"]{
        font-family: "Material Symbols Rounded" !important; }
    /* --- サムネイル --- */
    .nws-thumb, .nws-bimg, .nw2-ca img, .nw2-sc img, .ytv-th, .nw2-hero img.h{
        border-radius: var(--r-thumb) !important; }
    .nw2-ca, .nw2-sc, .nw2-hero{ overflow: hidden; }
    /* --- 折りたたみ(2026-10-02「垢抜けの伸び代」4): 設定画面と同じガラスのグループ。見出しは左寄せ、
       矢印は右端の細い山形(開くと下向き)。標準の小さい ▸ と中央寄せはやめる --- */
    :root body [data-testid="stExpander"]{
        background: rgba(30,34,42,.45) !important;
        border: 1px solid rgba(255,255,255,.12) !important; border-radius: 16px !important;
        box-shadow:none; overflow: hidden; }
    :root body [data-testid="stExpander"] > details{ border: 0 !important; border-radius: 16px !important; background: transparent !important; }
    :root body [data-testid="stExpander"] > details > summary{
        justify-content: flex-start !important; padding: 13px 16px !important; min-height: 48px; box-sizing: border-box;
        position: relative; -webkit-tap-highlight-color: transparent; }
    :root body [data-testid="stExpander"] > details > summary > span{ flex: 1; justify-content: flex-start !important; padding-right: 22px; }
    /* ブラウザ標準の三角(details の印)と、開いた時の見出しの内側の枠も消す */
    :root body [data-testid="stExpander"] > details > summary{ list-style: none !important; border: 0 !important; border-radius: 0 !important; }
    :root body [data-testid="stExpander"] > details > summary::-webkit-details-marker{ display: none !important; }
    :root body [data-testid="stExpander"] > details > summary::marker{ content: "" !important; }
    :root body [data-testid="stExpander"] > details > summary::before{ content: none !important; display: none !important; }
    :root body [data-testid="stExpander"] > details > summary > span > span:first-child:not(:has(p)){ display: none !important; }
    :root body [data-testid="stExpander"] > details > summary [data-testid="stIconMaterial"]{ display: none !important; }
    :root body [data-testid="stExpander"] > details > summary::after{
        content: ""; position: absolute; right: 18px; top: 50%; width: 7px; height: 7px; margin-top: -5px;
        border-right: 1.8px solid #8b939e; border-bottom: 1.8px solid #8b939e; transform: rotate(-45deg);
        transition: transform .25s ease, margin-top .25s ease; }
    :root body [data-testid="stExpander"] > details[open] > summary::after{ transform: rotate(45deg); margin-top: -6px; }
    :root body [data-testid="stExpander"] > details > summary p{ font-size: 14.5px !important; color: #e6e8eb !important; }
    :root body [data-testid="stExpander"] > details[open] > summary{ border-bottom: 1px solid rgba(255,255,255,.08); }
    /* --- 通知の箱(5): 標準の色の箱→ガラス+左端の細い色の印。種類は常駐スクリプトが元の色から読んで
       data-mk-kind に付ける(印が付くまでは標準のまま) --- */
    /* 2026-10-04 作り直し(「左に色の線の角丸の箱はAIモロ出し。オリジナルで」): 箱をやめ、紙面の注記のように
       上下の点線の罫+中央の文字。種類は文字の色だけ(お知らせ=灰・成功=緑・注意=黄・エラー=赤) */
    :root body [data-testid="stAlertContainer"][data-mk-kind]{
        background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
        border-top: 1px dashed rgba(255,255,255,.14) !important; border-bottom: 1px dashed rgba(255,255,255,.14) !important;
        padding: 11px 6px !important; text-align: center !important; }
    :root body [data-testid="stAlertContainer"][data-mk-kind] *{ color: var(--mk-ak) !important; text-align: center !important; }
    :root body [data-testid="stAlertContainer"][data-mk-kind] p{ font-size: 13px !important; line-height: 1.6 !important; letter-spacing: .02em; }
    [data-mk-kind="success"]{ --mk-ak: #8fd6a3; } [data-mk-kind="info"]{ --mk-ak: #9aa3ad; }
    [data-mk-kind="warning"]{ --mk-ak: #e8c26b; } [data-mk-kind="error"]{ --mk-ak: #ff8a8f; }
    /* --- 選択ボタン(横並びのラジオ・狙い目の「70%以上」など)もガラスの入れ物+選んでいる所にガラスの粒(2026-10-02指示)。
       粒は常駐スクリプトが置く。予想ページのR選択は別の作り(下線→粒)なので除く --- */
    :root body [data-testid="stRadio"] div[role="radiogroup"]:not([class*="st-key-race_select"] *){
        padding: 2px !important; gap: 2px !important; border-radius: 999px; width: max-content; max-width: 100%; box-sizing: border-box;
        background: rgba(30,34,42,.22);
        border: 1px solid rgba(255,255,255,.16); box-shadow:none; }
    :root body [data-testid="stRadio"] div[role="radiogroup"]:not([class*="st-key-race_select"] *) > label{
        background: transparent !important; border: 0 !important; height: 32px; padding: 0 11px !important; }
    :root body [data-testid="stRadio"] div[role="radiogroup"]:not([class*="st-key-race_select"] *) > label p{ color: #aeb5bf !important; }
    :root body [data-testid="stRadio"] div[role="radiogroup"]:not([class*="st-key-race_select"] *) > label:has(input:checked){ background: transparent !important; border: 0 !important; }
    :root body [data-testid="stRadio"] div[role="radiogroup"]:not([class*="st-key-race_select"] *) > label:has(input:checked) p{ color: #e8d48b !important; }
    /* --- 押して実行するボタン(本日の出走選手をチェック・この買い目を追加)は金のガラス(2026-10-02指示
       「他の画面の同じボタンも」)。狙い目の「本日のレース検索」と同じ材質(race_search._NS_CSS) --- */
    :root body .st-key-scanner_btn button{border-radius: 999px !important; min-height: 44px;
        background: rgba(205,174,107,.78) !important;
        -webkit-backdrop-filter: blur(10px) saturate(160%); backdrop-filter: blur(10px) saturate(160%);
        border: 1px solid rgba(255,255,255,.38) !important;
        box-shadow: 0 4px 14px rgba(0,0,0,.40) !important; transition: transform .15s ease; }
    :root body .st-key-scanner_btn button p{ color: #10131a !important; font-weight: 800 !important; }
    :root body .st-key-scanner_btn button:active{ transform: scale(.97); }
    /* --- 読み込みに失敗した画像(出典サーバーの保守など): 空の枠を出さず写真なしに詰める。常駐スクリプト(__mkHold)が印を付け、取れたら外す(2026-10-22) --- */
    img.mk-imgerr{ display: none !important; }
    .nw2-hero:has(> img.mk-imgerr){ background: rgba(255,255,255,0.05); }
    .nw2-hero:has(> img.mk-imgerr) .nw2-hgrad{ display: none; }
    .nw2-hero:has(> img.mk-imgerr) .nw2-hbody{ position: static; padding-top: 12px; }
    .nw2-hero:has(> img.mk-imgerr) .nw2-hh{ text-shadow: none; }
    /* --- 横にスクロールする並びの端(2): 続きがある側だけ溶かす(常駐スクリプトが mk-efl/mk-efr を付ける) --- */
    /* 開いた瞬間に溶かしが後から付くのが見えた(2026-10-19)。続きがあるのがほぼ確実な行は、判定が済む(.mk-efd)まで最初から右端を溶かしておく */
    .tlq-row:not(.mk-efd), .st-key-msb_grd9 [role="radiogroup"]:not(.mk-efd), .st-key-msb_cut9 [role="radiogroup"]:not(.mk-efd){
        -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 26px), transparent 100%); mask-image: linear-gradient(90deg, #000 calc(100% - 26px), transparent 100%); }
    .mk-efl{ -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 26px); mask-image: linear-gradient(90deg, transparent 0, #000 26px); }
    .mk-efr{ -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 26px), transparent 100%); mask-image: linear-gradient(90deg, #000 calc(100% - 26px), transparent 100%); }
    .mk-efl.mk-efr{ -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 26px, #000 calc(100% - 26px), transparent 100%);
        mask-image: linear-gradient(90deg, transparent 0, #000 26px, #000 calc(100% - 26px), transparent 100%); }


section[data-testid="stSidebar"]{background:#161618;border-right:1px solid rgba(255,255,255,.08);}
section[data-testid="stSidebar"] *{font-family:"Zen Kaku Gothic New",sans-serif !important;}
section[data-testid="stSidebar"] [data-testid="stIconMaterial"],section[data-testid="stSidebar"] span[class*="material-symbols"]{font-family:"Material Symbols Rounded","Material Symbols Outlined","Material Symbols Sharp" !important;}
section[data-testid="stSidebar"] h1{font-size:1.32rem !important;font-weight:900 !important;letter-spacing:.01em;color:#f5f5f7 !important;padding:6px 0 2px !important;}
section[data-testid="stSidebar"] h3{font-size:.7rem !important;font-weight:600 !important;letter-spacing:.09em;color:#98989d !important;text-transform:uppercase;margin-top:8px;}
section[data-testid="stSidebar"] hr{border:none !important;height:1px !important;background:rgba(255,255,255,.08) !important;margin:12px 0 !important;}
section[data-testid="stSidebar"] p{color:#d8d8dc;}
section[data-testid="stSidebar"] code{font-family:ui-monospace,"SF Mono",Menlo,monospace !important;background:rgba(255,255,255,.08) !important;color:#f5f5f7 !important;border:none;border-radius:6px;padding:2px 8px !important;}
section[data-testid="stSidebar"] [data-testid="stDateInput"] label p{color:#98989d !important;font-weight:500;}
section[data-testid="stSidebar"] [data-testid="stDateInput"] input{background:rgba(255,255,255,.06) !important;border:1px solid rgba(255,255,255,.1) !important;color:#f5f5f7 !important;border-radius:10px !important;font-size:16px !important;}
div[data-testid="element-container"]:has(iframe[height="0"]),div[data-testid="stElementContainer"]:has(iframe[height="0"]){display:none !important;}
section[data-testid="stSidebar"] .stButton > button{width:100%;background:rgba(255,255,255,.06) !important;color:#f5f5f7 !important;border:none !important;border-radius:10px !important;padding:.55rem .9rem !important;box-shadow:none !important;transition:background .15s ease !important;}
section[data-testid="stSidebar"] .stButton > button:hover{background:rgba(255,255,255,.11) !important;color:#ffffff !important;transform:none;}
section[data-testid="stSidebar"] .stButton > button:active{background:rgba(255,255,255,.16) !important;}


/* ===== bb-main ===== */
.site-title{background:radial-gradient(72% 135% at 50% 40%,rgba(255,59,48,.16) 0%,rgba(120,9,12,.10) 46%,transparent 78%),#0e1117 !important;border-radius:0;padding:14px calc(var(--cut, 24px) + 10px) 10px 22px;}
/* ===== mobile skin v1 (FotMob構成・配色は現行) ===== */
/* === Rピル: PC/スマホ共通(stRadioのみ・場selectboxには無影響) === */
[data-testid="stRadio"] div[role="radiogroup"]{display:flex !important;flex-wrap:nowrap !important;overflow-x:auto;gap:8px;padding:2px 2px 8px;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
[data-testid="stRadio"] div[role="radiogroup"]::-webkit-scrollbar{display:none;}
[data-testid="stRadio"] label[data-testid="stWidgetLabel"]{display:none !important;}
[data-testid="stRadio"] div[role="radiogroup"] label{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;height:34px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:0 16px;margin:0 !important;transition:all .15s ease;}
[data-testid="stRadio"] div[role="radiogroup"] label > div:first-child{display:none !important;}
[data-testid="stRadio"] div[role="radiogroup"] label p{font-weight:700;font-size:.86rem;white-space:nowrap;line-height:1;margin:0 !important;padding:0 !important;}
[data-testid="stRadio"] div[role="radiogroup"] label div[data-testid="stMarkdownContainer"]{display:flex;align-items:center;}
[data-testid="stRadio"] div[role="radiogroup"] label > div{display:flex !important;align-items:center !important;justify-content:center !important;height:100% !important;margin:0 !important;padding:0 !important;line-height:1 !important;}
[data-testid="stRadio"] div[role="radiogroup"] label *{line-height:1 !important;}
[data-testid="stRadio"] div[role="radiogroup"] label:has(input:checked){background:rgba(205,174,107,.20);border-color:#cdae6b;}
[data-testid="stRadio"] div[role="radiogroup"] label:has(input:checked) p{color:#ffe9b8;}
/* 第○Rセレクタはピルではなくスライドタブ風(下線インジケータ)に。race_selectにのみ適用 */
[class*="st-key-race_select"] [data-testid="stRadio"] div[role="radiogroup"]{gap:4px !important;border-bottom:1px solid rgba(255,255,255,0.11);padding-bottom:0 !important;}
[class*="st-key-race_select"] [data-testid="stRadio"] div[role="radiogroup"] label{background:transparent !important;border:0 !important;border-bottom:2px solid transparent !important;border-radius:0 !important;height:38px !important;padding:0 13px !important;}
[class*="st-key-race_select"] [data-testid="stRadio"] div[role="radiogroup"] label p{font-size:.98rem !important;color:#c7c7cd !important;transition:color .18s ease !important;}
/* 下線と文字色をなめらかに(統計のスワイプタブの滑る感触に寄せる・2026-08-31指示) */
[class*="st-key-race_select"] [data-testid="stRadio"] div[role="radiogroup"] label{transition:border-color .18s ease, background-color .18s ease !important;}
[class*="st-key-race_select"] [data-testid="stRadio"] div[role="radiogroup"] label:has(input:checked){background:transparent !important;border-bottom:2px solid #ff4b4b !important;}
[class*="st-key-race_select"] [data-testid="stRadio"] div[role="radiogroup"] label:has(input:checked) p{color:#ff4b4b !important;}
/* 予想ページ(.race-headerを持つページ)だけ最下段の下余白を詰める(2026-09-02指示
   「推奨買い目の下のスペースを潰して」)。下段ナビ113px+7px=7.5rem。
   ナビCSSの9remより特異度で勝たせる(:has内の.race-headerぶん) */
[data-testid="stMain"]:has(.race-header) .block-container{padding-bottom:7.5rem !important;}
@media (max-width: 640px){
.block-container{padding:0.7rem 0.75rem 5.4rem !important;max-width:100% !important;}
header[data-testid="stHeader"]{background:rgba(0,0,0,.55) !important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}
.site-title{padding:8px calc(var(--cut, 24px) + 4px) 4px 15px !important;}
.site-title .title-line{margin:7px auto !important;}
[data-testid="stRadio"] div[role="radiogroup"]{display:flex !important;flex-wrap:nowrap !important;overflow-x:auto;gap:8px;padding:2px 2px 8px;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
[data-testid="stRadio"] div[role="radiogroup"]::-webkit-scrollbar{display:none;}
[data-testid="stRadio"] label[data-testid="stWidgetLabel"]{display:none !important;}
[data-testid="stRadio"] div[role="radiogroup"] label{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;height:34px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:0 16px;margin:0 !important;transition:all .15s ease;}
[data-testid="stRadio"] div[role="radiogroup"] label > div:first-child{display:none !important;}
[data-testid="stRadio"] div[role="radiogroup"] label p{font-weight:700;font-size:.86rem;white-space:nowrap;line-height:1;margin:0 !important;padding:0 !important;}
[data-testid="stRadio"] div[role="radiogroup"] label div[data-testid="stMarkdownContainer"]{display:flex;align-items:center;}
[data-testid="stRadio"] div[role="radiogroup"] label > div{display:flex !important;align-items:center !important;justify-content:center !important;height:100% !important;margin:0 !important;padding:0 !important;line-height:1 !important;}
[data-testid="stRadio"] div[role="radiogroup"] label *{line-height:1 !important;}
[data-testid="stRadio"] div[role="radiogroup"] label > div{display:flex !important;align-items:center !important;justify-content:center !important;height:100% !important;margin:0 !important;padding:0 !important;line-height:1 !important;}
[data-testid="stRadio"] div[role="radiogroup"] label *{line-height:1 !important;}
[data-testid="stRadio"] div[role="radiogroup"] label:has(input:checked){background:rgba(205,174,107,.20);border-color:#cdae6b;}
[data-testid="stRadio"] div[role="radiogroup"] label:has(input:checked) p{color:#ffe9b8;}
/* プルタブ(selectbox本体)をカテナチオ・グラスに(半透明ダーク+金枠+金の▾)(2026-06-27) */
div[data-baseweb="select"] > div{border-radius:14px !important;background:rgba(30,32,40,0.94) !important;border:1.5px solid rgba(255,255,255,0.14) !important;}
div[data-baseweb="select"] svg{color:#cdae6b !important;fill:#cdae6b !important;}
/* 日付プルタブ(date_input本体)もプルタブと同じカテナチオ・グラスに統一(2026-06-27) */
[data-testid="stDateInput"] div[data-baseweb="input"]{border-radius:14px !important;background:rgba(30,32,40,0.94) !important;border:1.5px solid rgba(255,255,255,0.14) !important;}
[data-testid="stDateInput"] input{background:transparent !important;border:none !important;}
[data-testid="stDateInput"] svg{color:#cdae6b !important;fill:#cdae6b !important;}
.stButton > button{width:100% !important;border-radius:999px !important;padding:.7rem 1rem !important;font-weight:600 !important;}
[data-testid="stExpander"]{border:1px solid rgba(255,255,255,.10) !important;border-radius:16px !important;overflow:hidden;}
[data-testid="stExpander"] summary p{font-weight:700;}
/* --- 展示表 mobile: 横スクロール+詰め+ヘッダー追従 --- */
.cz-wrap{overflow-x:hidden !important;}
/* 欠場行(.kz9)の減光: tr/td には掛けず、見えている要素だけに掛ける。
   ポップアップ(details.rpop)とその祖先に opacity を付けると position:fixed の窓が
   行内に潰れる(2026-08-19)。rpopの祖先チェーン以外の子要素と、rpopのsummaryだけ薄く */
.cz-wrap tr.kz9 :is(td,:has(details.rpop)) > :not(details.rpop):not(:has(details.rpop)){opacity:0.45;}
.cz-wrap tr.kz9 details.rpop > summary{opacity:0.45;}
.cz-wrap::-webkit-scrollbar{height:5px;}
.cz-wrap::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:3px;}
.cz-wrap table{table-layout:auto !important;width:auto !important;min-width:100% !important;margin:0 !important;}/* margin下0=枠内下帯の撤去(2026-07-19指示)。上のバー領域は比較するバーdivが作る */
.cz-wrap colgroup{display:none !important;}
.cz-wrap col{width:auto !important;}
.cz-wrap th,.cz-wrap td{padding:5px 8px !important;font-size:12px !important;white-space:nowrap !important;}
/* 列幅: 1枠 2選手 3体重 4F/L 5モーター(上No/下チルト) 6〜タイム列
   チルト列は廃止=モーター列の下段(2026-09-04指示) */
.cz-wrap th:nth-child(1),.cz-wrap td:nth-child(1){width:22px !important;min-width:22px !important;max-width:22px !important;padding-left:1px !important;padding-right:1px !important;}
.cz-wrap th:nth-child(2),.cz-wrap td:nth-child(2){width:83px !important;white-space:nowrap !important;}
/* 数字を一回り大きく(2026-07-20指示: 体重/No./チルト/展示/オリ展)。
   選手幅は展示/オリ展を触らず枠・体重・No.・チルトの詰めで捻出(2026-07-20指示) */
.cz-wrap th:nth-child(3),.cz-wrap td:nth-child(3){width:30px !important;font-size:12px !important;padding-left:0 !important;padding-right:0 !important;}
.cz-wrap th:nth-child(4),.cz-wrap td:nth-child(4){width:15px !important;font-size:10.5px !important;padding-left:0 !important;padding-right:0 !important;}
.cz-wrap th:nth-child(5),.cz-wrap td:nth-child(5){width:38px !important;font-size:12px !important;padding-left:0 !important;padding-right:0 !important;}
/* 2段セル(モーター/チルト・F/L)は内側divで区切るためセルpaddingは常に0 */
.cz-wrap tr>.czmt,.cz-wrap tr>.czfl{padding:0 !important;}
/* 展示タイム列はオリ展列と同幅(2026-09-04指示: 幅を統一)。ヘッダは「まわり足」が収まる字送り */
.cz-wrap th:nth-child(6),.cz-wrap td:nth-child(6){width:44px !important;font-size:12.5px !important;padding-left:2px !important;padding-right:2px !important;}
/* 展示・一周・まわり足・直線(オリジナル展示)は数値が主役なので広めに確保 */
.cz-wrap th:nth-child(n+7),.cz-wrap td:nth-child(n+7){width:44px !important;font-size:12.5px !important;padding-left:2px !important;padding-right:2px !important;}
/* stickyヘッダは不透明背景が必要 → ダークゴールド(ゴールド16%×背景の合成色相当) */
.cz-wrap thead th{position:sticky;top:0;z-index:3;background:#2a2821 !important;color:#e9dcbe !important;}
.cz-wrap > div:last-child{white-space:nowrap;overflow-x:auto;}
/* --- 天候パネル mobile: 折り返し止めて一列 --- */
.weather-panel{flex-wrap:nowrap !important;gap:14px !important;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.weather-panel::-webkit-scrollbar{display:none;}
.weather-panel > div{flex:0 0 auto !important;}
.weather-panel svg[aria-label^="風"]{width:40px !important;height:40px !important;}
/* 天気バッジ: スマホもPCと同じ絵入りアイコン(気温/水温/波高)を縦並びで表示。
   パネル縦幅を変えないため縮小(アイコン16px・数値13px) (2026-06-12) */
.wp-pill-pc{display:inline-flex !important;}
.wp-pill-mb{display:none !important;}
.weather-panel{gap:8px !important;}
.wp-pills{flex-direction:column !important;align-items:flex-start !important;gap:2px !important;}
.wp-pill-pc > span{gap:5px !important;}
.wp-pill-pc svg{height:16px !important;width:14px !important;}
.wp-pill-pc svg + span{font-size:13px !important;}
.wp-pill-pc svg + span > span{font-size:9px !important;}
.wp-sky span{font-size:11px !important;}
.weather-panel > div:nth-of-type(2){flex-direction:column !important;gap:2px !important;}
.weather-panel > div:nth-of-type(2) > span{font-size:11px !important;}
.weather-panel > svg{flex:1 1 120px !important;width:auto !important;min-width:0;height:auto !important;max-height:54px;}
[data-testid="stHorizontalBlock"]:has(.bet-row):not(:has([data-testid="stHorizontalBlock"])){flex-wrap:nowrap !important;gap:8px !important;}
[data-testid="stHorizontalBlock"]:has(.bet-row):not(:has([data-testid="stHorizontalBlock"])) > [data-testid="stColumn"],
[data-testid="stHorizontalBlock"]:has(.bet-row):not(:has([data-testid="stHorizontalBlock"])) > [data-testid="column"]{flex:1 1 0 !important;width:auto !important;min-width:0 !important;}
/* --- ②③ iOSカード統一(モバイルのみ・既存演出は不可侵)--- */
.glass-panel{border-radius:12px !important;padding:13px 15px !important;margin:8px 0 !important;}
.glass-panel-title{font-size:.98rem !important;}
.bet-row{border-radius:12px !important;margin:5px 0 !important;padding:9px 12px !important;}
[data-testid="stHorizontalBlock"]{gap:.6rem !important;}
[data-testid="column"]{min-width:0 !important;} /* 旧testid=Streamlit1.50に存在しない死にセレクタ(2026-08-21監査)。全画面一括のstColumn化は見た目が広範に変わるため行わず、下の対象別ルールで守る */
/* ---- プルタブ行の崩れガード一括(2026-08-21監査対応) ----
   (a)縦積み禁止+(b)縮小許可を、無ガードだった行に対象別で適用。
   :has/[class*=]でポータル先(popover内)にも届く。
   ※st-key-ns-*(狙い目)への一括適用は撤回(2026-08-22)。狙い目のチップ行は
   折り返し前提の設計で、nowrap+縮小可はチップの見切れ・重なりを起こす */
[data-testid="stHorizontalBlock"]:has([class*="st-key-dm_c"]),
[data-testid="stHorizontalBlock"]:has([class*="st-key-kd_c"]),
[data-testid="stHorizontalBlock"]:has(.st-key-sim_per),
[data-testid="stHorizontalBlock"]:has(.st-key-sim_from)
{flex-wrap:nowrap !important;gap:8px !important;}
/* sim_amode(金額行)への適用は撤回(2026-08-22ユーザー指摘の段差): ラベル付き
   入力とラベル無しラジオの同居行はnowrapだと左右の高さがズレる。元の縦並びに戻す */
[data-testid="stHorizontalBlock"]:has([class*="st-key-dm_c"]) [data-testid="stColumn"],
[data-testid="stHorizontalBlock"]:has([class*="st-key-kd_c"]) [data-testid="stColumn"],
[data-testid="stHorizontalBlock"]:has(.st-key-sim_per) [data-testid="stColumn"],
[data-testid="stHorizontalBlock"]:has(.st-key-sim_from) [data-testid="stColumn"]
{min-width:0 !important;}
/* (c)長い値は省略記号(監査でc未整備だった絞り込み行) */
.st-key-dh-rank-flt [data-baseweb="select"]>div>div:first-child,
.st-key-cm-flt [data-baseweb="select"]>div>div:first-child,
[class*="st-key-vdb-"] [data-baseweb="select"]>div>div:first-child,
.st-key-rcm-flt [data-baseweb="select"]>div>div:first-child,
.st-key-mk-flt [data-baseweb="select"]>div>div:first-child
{overflow:hidden !important;text-overflow:ellipsis !important;
 white-space:nowrap !important;min-width:0 !important;}
/* (c)将来保険: (a)(b)ありで省略記号だけ未整備だった行にも付与(2026-08-21。
   いまのラベルは短く発火しないが、端末フォント差・将来の長い値への保険) */
.st-key-dh-kyu-flt [data-baseweb="select"]>div>div:first-child,
.st-key-dh-rank-sub [data-baseweb="select"]>div>div:first-child,
.st-key-dh-rank-cr [data-baseweb="select"]>div>div:first-child,
.st-key-vid-flt [data-baseweb="select"]>div>div:first-child,
.st-key-liv-flt [data-baseweb="select"]>div>div:first-child,
.st-key-blogsel [data-baseweb="select"]>div>div:first-child,
.st-key-dh-rflt [data-baseweb="select"]>div>div:first-child,
.st-key-dh-prflt [data-baseweb="select"]>div>div:first-child,
.st-key-cdet-flt [data-baseweb="select"]>div>div:first-child,
.st-key-stk-flt [data-baseweb="select"]>div>div:first-child,
.st-key-stkp-flt [data-baseweb="select"]>div>div:first-child,
.st-key-zenso-flt [data-baseweb="select"]>div>div:first-child,
.st-key-mk-sortrow [data-baseweb="select"]>div>div:first-child,
.st-key-rcp-flt [data-baseweb="select"]>div>div:first-child
{overflow:hidden !important;text-overflow:ellipsis !important;
 white-space:nowrap !important;min-width:0 !important;}
/* 標準ボタン(secondary)の全体統一: 丸いガラスのカプセル(2026-10-03 統一・旧=角丸12の金枠チップ)。今後追加のst.buttonにも自動適用。
   選択中を金で塗っている primary はそのまま(「金の塗りつぶしの方がわかりやすい」) */
.stButton > button[kind="secondary"], [data-testid="stBaseButton-secondary"]{
  border:1px solid rgba(255,255,255,0.16) !important;border-radius:999px !important;
  background:rgba(30,34,42,0.22) !important;color:#e6e8eb !important;
  font-weight:700 !important;transition:border-color .15s ease, transform .12s ease;}
.stButton > button[kind="secondary"]:hover, [data-testid="stBaseButton-secondary"]:hover{
  border-color:rgba(255,255,255,0.32) !important;color:#e6e8eb !important;}
.stButton > button[kind="secondary"]:active, [data-testid="stBaseButton-secondary"]:active{
  transform:scale(0.97);}
.stButton > button[kind="secondary"] p{color:#e6e8eb !important;font-size:13px !important;}
.score-digital{font-size:1.02rem !important;
  font-family:"851Gkktt","Hiragino Sans",sans-serif !important;font-weight:400 !important;}
/* 本文系の書体統一: 水面特性(.bzd)と同じシステムサンセリフ
   (小見出し内の文章・スコアランキング・出走表。スコア数字(851)と買い目は除く) */
.glass-panel-body, .glass-panel-body span, .glass-panel-body b,
.score-rank-wrap th, .score-rank-wrap td, .score-rank-wrap td span:not(.score-digital),
.cz-wrap, .cz-wrap th, .cz-wrap td{
  font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue','Hiragino Sans',sans-serif;}
/* 表の見出し帯は選手名鑑と同じ配色に統一(2026-08-31指示) */
.score-rank-wrap th{background:none !important;color:#9aa3ae !important;}
/* 得点率一覧ポップの項目行は sticky で下の行に重なるので、上の半透明を同じ色味の不透明に
   (2026-09-15指摘「セルを透けさせるのやめて」。.cz-wrap と同じ #2a2821) */
.score-rank-wrap .tok-tbl th{background:#2a2821 !important;}
/* 買い目の出目数字も851 (倍率などのメタ表記は通常フォントのまま) */
.bet-row{font-family:"851Gkktt","Hiragino Sans",sans-serif;font-weight:400;
  letter-spacing:.06em;}
.bet-row .bet-meta{font-family:"851Gkktt","Hiragino Sans",sans-serif;
  letter-spacing:.06em;display:flex;justify-content:space-between;
  align-items:baseline;gap:6px;}
.bet-row .bet-amts{text-align:right;white-space:nowrap;}
.bet-row .bet-odds{white-space:nowrap;}
/* 桁の多い払戻(¥263,330等)は文字を詰めて1行に収める(2026-08-04 iPad指摘。
   折り返さず、行の長さに応じて段階的に縮める)。
   iPhone(狭幅)は従来どおり=詰めない(2026-08-05指摘「iPhone版は今まで通りに」) */
/* --- CATENACCIO ALERT: モバイルは2段目に回り込み(見切れ防止) --- */
.race-header{flex-wrap:wrap !important;row-gap:0 !important;}
/* アラート帯の上の間隔は帯自身のmarginで持つ(伏せている時=cns-pendは0にして
   4pxの隙間も残さない・2026-08-04指摘「まだ若干スペースがある」) */
.race-header .cat-alert{margin-top:4px !important;}
.race-header .cat-alert.cns-pend{margin-top:0 !important;}
.race-header .cat-alert{flex:1 1 100% !important;min-width:100% !important;}
/* h2内のバッジ・更新チップは折り返し可に (タイトル文字列自体はnowrap維持) */
.race-header h2{display:flex !important;flex-wrap:wrap !important;align-items:center;
  column-gap:8px;row-gap:3px;}
/* Streamlitのアンカーリンク(見出し右の鎖アイコン)は全見出しで常時非表示 */
[data-testid="stHeaderActionElements"]{display:none !important;}
.race-header h2 a[href^="#"]{display:none !important;}
/* R選択ボタンとレースヘッダの間隔を詰める (ブロックgap16px分を相殺。
   2026-07-15「もう少し上に」でさらに詰め)。下は+12pxで相殺し、
   更新・展示/ライブ・投票のチップ行は元の位置を維持(2026-07-15指示) */
/* 下は8px: チップ行の下(レース名以降)を全体的に引き上げ(2026-07-15指示) */
.race-header{margin-top:-24px !important;margin-bottom:8px !important;}  /* -34→-28(2026-07-16)→-12(ゲートiframe畳み分の戻し)→-24: 「スペースがある」でさらに12px詰め(2026-09-07指示) */
/* --- グレードバッジ: 潰れ防止(折り返し・縮み禁止) --- */
.grade-badge{white-space:nowrap !important;flex:0 0 auto !important;display:inline-block !important;}
/* --- レース名行: フォント縮小で1行に --- */
[data-testid="stMarkdownContainer"] :is(p,div):has(.grade-badge){font-size:13px !important;}
[data-testid="stMarkdownContainer"] :is(p,div):has(.grade-badge) span:not(.grade-badge){font-size:13px !important;}
/* --- 競艇チャットFAB+ポップアップ(2026-07-14)。st.buttonなのでフルリロード無し。
   コンテナ自体をfixedにしてフローから外す(ヘッダ上に余白が出る事故の対策) --- */
/* 浮いたチャットボタンは上部のカプセル(.rt-chat)へ集約(2026-10-02)。要素は残し見えなくする(カプセル・閉じるバーが押す) */
.st-key-bcfab{opacity:0 !important;pointer-events:none !important;}
.st-key-bcfab{position:fixed !important;right:10px;top:168px;z-index:9970;
  width:44px;height:44px;margin:0 !important;opacity:.35;transition:opacity .4s;}
/* 見た目は旧FAB(丸+吹き出しSVG)を踏襲。グローバルの
   .stButton > button[kind="secondary"] (詳細度0,2,1)に勝つため詳細度を上げる */
.st-key-bcfab div.stButton > button, .st-key-bcfab button{
  width:44px !important;height:44px !important;
  min-height:44px !important;border-radius:50% !important;padding:0 !important;
  background:#12151c url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyMicgaGVpZ2h0PScyMicgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJz48cGF0aCBkPSdNNCA1LjVBMi41IDIuNSAwIDAgMSA2LjUgM2gxMUEyLjUgMi41IDAgMCAxIDIwIDUuNXY4YTIuNSAyLjUgMCAwIDEgLTIuNSAyLjVIOWwtNCA0eicgc3Ryb2tlPScjY2RhZTZiJyBzdHJva2Utd2lkdGg9JzEuNycgZmlsbD0ncmdiYSgyMDUsMTc0LDEwNywuMTIpJy8+PGNpcmNsZSBjeD0nOC42JyBjeT0nOS41JyByPScxLjEnIGZpbGw9JyNjZGFlNmInLz48Y2lyY2xlIGN4PScxMicgY3k9JzkuNScgcj0nMS4xJyBmaWxsPScjY2RhZTZiJy8+PGNpcmNsZSBjeD0nMTUuNCcgY3k9JzkuNScgcj0nMS4xJyBmaWxsPScjY2RhZTZiJy8+PC9zdmc+") center no-repeat !important;
  border:1px solid rgba(255,255,255,0.14) !important;
  box-shadow:0 6px 20px rgba(0,0,0,.55);}
.st-key-bcfab div.stButton > button p, .st-key-bcfab button p{display:none;}
/* 浮いているボタンもリキッドグラス(2026-10-02指示「重くならないように」): チャット・TOP/END。
   メニューバーと同じ半透明+ぼかし+白の細い縁+上辺のハイライト。軽さ優先で、ぼかしは弱め(10px)・
   明るさ加工なし・アニメーションなし(既存の透明度の出し入れだけ)。TOP/ENDはJSのインライン指定に勝つよう!important */
.st-key-bcfab div.stButton > button, .st-key-bcfab button,
#mkfab-top, #mkfab-down{
  background-color:rgba(30,34,42,.30) !important;
  -webkit-backdrop-filter:blur(10px) saturate(170%) !important;
  backdrop-filter:blur(10px) saturate(170%) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 6px 20px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.26) !important;}
#mkfab-top, #mkfab-down{border-radius:999px !important;}
/* プルタブ(選択肢の一覧)・ポップオーバーの中身もリキッドグラス(2026-10-02)。文字を読むので地は濃いめ(.78)・
   ぼかし16px。開いている間だけ・動かないので重さはほぼ出ない。中の一覧の地は透明にしてガラスを見せる */
div[data-baseweb="popover"] > div{
  background:rgba(26,30,38,.78) !important;
  -webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);
  border:1px solid rgba(255,255,255,.14) !important;border-radius:14px !important;
  box-shadow:0 12px 32px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.18) !important;overflow:hidden;}
div[data-baseweb="popover"] ul[role="listbox"],
div[data-baseweb="popover"] [data-baseweb="menu"],
div[data-baseweb="popover"] > div > div,
div[data-baseweb="popover"] ul[data-testid="stSelectboxVirtualDropdown"]{background:transparent !important;}
div[data-baseweb="popover"] li[role="option"]:not([aria-selected="true"]):not(:hover){background:transparent !important;}
/* プルタブもリキッドグラスに(2026-10-02「プルタブがリキッドじゃないね」)。カレンダーのポップ・検索の候補と同じ作り:
   閉じた本体=半透明+ぼかし+白い細枠+上辺の光。ページごとの色の上書き(.st-key-… の !important)より強い :root で当てる */
:root body div[data-baseweb="select"] > div,
:root body [data-testid="stDateInput"] div[data-baseweb="input"],
:root body button[data-testid="stPopoverButton"]{
  background:rgba(30,34,42,.22) !important;
  -webkit-backdrop-filter:blur(6px) saturate(170%);backdrop-filter:blur(6px) saturate(170%);
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:0 4px 14px rgba(0,0,0,.28) !important;
  border-radius:999px !important;}   /* プルダウンも丸で統一(2026-10-03「丸で統一」) */
:root body div[data-baseweb="select"] > div{padding-left:6px !important;}
/* 一覧の外側の入れ物は Streamlit が不透明な地色(rgb(14,17,23))で塗っていて、内側を透かしても後ろが見えなかった
   (2026-10-02「プルタブの方が透けてない」)。外側は透明にして、内側のガラスだけを見せる */
:root body div[data-baseweb="popover"]{background:transparent !important;}
/* 開いた一覧: 地を少し透かしてぼかしを強く・角丸を大きく・開く時に少し膨らむ */
:root body div[data-baseweb="popover"] > div{
  background:rgba(24,28,36,.36) !important;   /* 透け感 .72→.50→.36・ぼかし24→8px(2026-10-02「全然透けてない」: 強いぼかしで後ろが見えなかった) */
  -webkit-backdrop-filter:blur(8px) saturate(170%);backdrop-filter:blur(8px) saturate(170%);
  border:1px solid rgba(255,255,255,.18) !important;border-radius:18px !important;
  box-shadow:0 18px 44px rgba(0,0,0,.55) !important;
  animation:mkPopIn .22s ease-out 60ms both;}   /* 出した直後に位置を計算し直して10pxずれる=最初の0.06秒は見せない(2026-10-03「展開されたプルダウンが動く」) */
/* ポップオーバー(st.popover)は本体そのものが data-baseweb=popover でガラスを持つ。上の「開いた一覧」の
   指定が中身の入れ物にも当たって枠が二重になり、ピルの並びが内側の箱からはみ出て見えた(2026-10-02「はみ出て汚い」)。
   中身の入れ物には何も塗らない */
:root body div[data-baseweb="popover"][data-testid="stPopoverBody"] > div{
  background:transparent !important;-webkit-backdrop-filter:none;backdrop-filter:none;
  border:0 !important;border-radius:0 !important;box-shadow:none !important;animation:none;}
/* 開く時は薄く出るだけ。大きさは変えない(縮めると、開いた瞬間に幅を測って広げる処理が小さく測り、
   一覧の中身が横にずれて左が切れた・2026-10-02 指摘) */
@keyframes mkPopIn{from{opacity:0;}to{opacity:1;}}
/* 選択肢の一覧は縦だけスクロール(横にも動いて左が切れて見えた・2026-10-02)。幅は開いた時に文字が全部入るよう広げてある */
:root body ul[data-testid="stSelectboxVirtualDropdown"],
:root body ul[data-testid="stSelectboxVirtualDropdown"] > div{overflow-x:hidden !important;overscroll-behavior-x:none;touch-action:pan-y;}
/* 行の中身が「中身なりの幅」で100万pxと計算され、一覧が横に動く原因になっていた。行は一覧の幅に収める
   (一覧の幅は開いた時に最長の選択肢を測って広げる常駐JS __popW が決めるので文字は切れない) */
:root body ul[data-testid="stSelectboxVirtualDropdown"] li{min-width:0 !important;}
:root body ul[data-testid="stSelectboxVirtualDropdown"] li > div{width:100% !important;max-width:100% !important;min-width:0 !important;}
:root body ul[data-testid="stSelectboxVirtualDropdown"] li > div > div{min-width:0 !important;max-width:100% !important;}
/* 押している選択肢・選ばれている選択肢は薄い白の重ね(光沢は付けない・設定画面の指摘と同じ) */
:root body div[data-baseweb="popover"] li[role="option"]:hover,
:root body div[data-baseweb="popover"] li[role="option"][aria-selected="true"]{
  background:rgba(255,255,255,.10) !important;border-radius:12px;}
/* 選択肢の一覧は元のプルタブの幅に縛らず、文字が全部入る幅まで広げる(2026-10-02「見切れてるやつ全部直して」:
   細いプルタブだと「全…」「向…」と省略されていた)。画面からはみ出さないよう上限は画面幅 */
div[data-baseweb="popover"]:has(ul[data-testid="stSelectboxVirtualDropdown"]){
  min-width:max-content !important;max-width:calc(100vw - 16px) !important;}
div[data-baseweb="popover"]:has(ul[data-testid="stSelectboxVirtualDropdown"]) > div,
ul[data-testid="stSelectboxVirtualDropdown"],
ul[data-testid="stSelectboxVirtualDropdown"] > div{min-width:max-content !important;}
ul[data-testid="stSelectboxVirtualDropdown"] li,
ul[data-testid="stSelectboxVirtualDropdown"] li *{white-space:nowrap !important;overflow:visible !important;
  text-overflow:clip !important;}
ul[data-testid="stSelectboxVirtualDropdown"] li{min-width:max-content !important;padding-right:18px !important;}
[data-testid="stPopoverBody"]{
  background:rgba(26,30,38,.78) !important;
  -webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);
  border:1px solid rgba(255,255,255,.14) !important;border-radius:14px !important;
  box-shadow:0 12px 32px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.18) !important;}
.st-key-bcpop{position:fixed !important;left:50% !important;top:50% !important;
  transform:translate(-50%,-50%);z-index:9985;
  width:calc(100vw - 20px) !important;max-width:560px;max-height:60vh;
  /* 端のバウンド(ゴムのような引っ張り)を止める。放置すると中身と一緒に
     上のバーまで引っ張られて枠から離れる(2026-08-05 iPhone指摘) */
  overscroll-behavior:none;overscroll-behavior-y:none;
  overflow-y:auto;background:rgba(13,16,22,.97);
  border:1px solid rgba(255,255,255,0.14);
  padding:14px 10px 18px;box-shadow:0 12px 36px rgba(0,0,0,.7);}  /* 上14px: 最初の吹き出しが枠に近すぎ(2026-07-17指示) */
/* パネル内のバランス: 空要素を畳み、ブロック間ギャップを詰める
   (入力欄が上に張り付き下に余白が余る事故・2026-07-14スクショ指摘) */
.st-key-bcpop [data-testid="stVerticalBlock"]{gap:8px !important;}
.st-key-bcpop [data-testid="stElementContainer"]:has(> [data-testid="stMarkdown"]:empty){display:none;}
.st-key-bcpop .stChatInput{margin:0 !important;}
/* 背景ディムはパネル表示時にだけ .stApp::after を出す(レースページ本体の
   コードで条件付き注入)。body:has(クラス存在)は全DOM変異で再評価が走り
   予想ページが激重になった(2026-07-14実害)ため恒久禁止 */
}
@media (min-width:700px){
  .bet-row .bet-meta{flex-wrap:nowrap;}
  .bet-row .bet-meta.bm-s{font-size:.88em;letter-spacing:.02em;}
  .bet-row .bet-meta.bm-xs{font-size:.8em;letter-spacing:0;}
  .bet-row .bet-meta.bm-xxs{font-size:.7em;letter-spacing:0;}
}


/* 見出しフォント: 851ゴチカクット (static配信のTTF)。
   予想ページの大見出し(h4)・開催一覧・データ/狙い目の各見出し・ハブタイルに適用 */
@font-face{font-family:"851Gkktt";src:url("/assets/851Gkktt.ttf") format("truetype");
  font-display:swap;}
[data-testid="stMain"] h4, [data-testid="stMain"] h3,
.vg-head-t, .mk-h, .ns-title, .dhub-t,
.race-header h2, .st-key-bottom_nav button p, .ron-851{
  font-family:"851Gkktt","Hiragino Sans",sans-serif !important;font-weight:400 !important;
  letter-spacing:.08em;}
/* ライブラリ大見出しの副題は明朝のまま */
.ron-851 .ron-sub{font-family:"Hiragino Mincho ProN","Noto Serif JP",serif !important;}
/* レースヘッダ内のバッジ類(展示済/展示前・締切・⟳更新)は通常フォントのまま */
.race-header h2 :is(.chokuzen-mark, a, .cz-dl-head){
  font-family:-apple-system,"Hiragino Sans","Helvetica Neue",sans-serif !important;
  letter-spacing:normal !important;}
/* 場名リンク(各場別攻略へ): タイトルフォントを保ち、点線下線で導線を示す */
.race-header h2 a.hd-jyo, .race-header h2 span.hd-jyo{
  font-family:"851Gkktt","Hiragino Sans",sans-serif !important;letter-spacing:.08em !important;
  color:inherit !important;text-decoration:none !important;
  border-bottom:1px dotted rgba(205,174,107,0.6);}
/* 場名の1文字目だけ一回り大きく */
.hd-jyo1{font-size:1.32em;}
/* BOATCAST映像ポップアップ */
.vidp{display:inline-flex;align-items:center;margin-left:8px;vertical-align:middle;}
/* チップは⟳更新と同じ高さに揃える */
.race-header h2 a[href*="upd=1"], .vidp summary,
.race-header h2 .hd-tips>summary{height:23px;box-sizing:border-box;}
/* 狙い目情報/日目結果の隠し実体(タップで開く・2026-08-10)。ヘッダのflexに
   参加させない(absoluteでフロー外)=☆やチップの間隔を一切変えない */
.race-header h2 details.hd-rtips,
.race-header h2 details.hd-dayres{position:absolute !important;
  width:0 !important;height:0 !important;margin:0 !important;
  padding:0 !important;border:0 !important;overflow:visible;}
/* 第◯Rは他のタップ要素と同じ点線下線(2026-08-10指示) */
.race-header h2 .hd-rtap{border-bottom:1px dotted rgba(205,174,107,0.6);
  cursor:pointer;-webkit-tap-highlight-color:transparent;}
/* 狙い目情報は他のチップと同じ高さ・同じ字送りに揃える(2026-08-05指摘) */
.race-header h2 .hd-tips>summary{line-height:1;padding:0 9px;}
.vidp summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;
  padding:1px 9px;border:1px solid rgba(255,255,255,0.14);border-radius:6px;color:#cdae6b;
  font-size:0.78rem;font-weight:700;white-space:nowrap;
  font-family:-apple-system,"Hiragino Sans","Helvetica Neue",sans-serif;letter-spacing:normal;}
.vidp summary::-webkit-details-marker{display:none;}
.vidp-bg{display:none;}
.vidp[open] .vidp-bg{display:block;position:fixed;inset:0;z-index:99980;
  background:rgba(0,0,0,0.62);}
.vidp .mk-popclose{display:none;}
.vidp[open] .mk-popclose{display:block;position:fixed;left:50%;
  transform:translateX(-50%);top:calc(50% + (min(94vw,430px)*0.5625)/2 + 12px);
  width:min(94vw,430px);z-index:99991;margin:0;}
/* 汎用iframeポップアップ .rpop (選手ページ/モーターページ/枠番別直近10走) */
details.rpop{display:inline-block !important;vertical-align:baseline;}
details.rpop > summary{list-style:none;cursor:pointer;display:inline !important;}
/* vidp系チップ(1マーク等)がrpop枠組みに乗る場合はチップの見た目を維持
   (上のinline !importantでflexが潰れサイズが変わっていた・2026-08-07指摘) */
details.vidp.rpop > summary{display:flex !important;}
/* 1Mスナップは最大化(緑)でも中身の高さまで=下に黒余白を広げない(2026-08-07指摘) */
details.onep .rpop-wrap.br-max{bottom:auto !important;}
details.onep .rpop-pop.br-max{flex:0 0 auto !important;height:auto !important;}
.rpop summary::-webkit-details-marker{display:none;}
.rpop-bg{display:none;}
.rpop[open] .rpop-bg{display:block;position:fixed;inset:0;z-index:99980;background:transparent;}   /* 後ろを暗くしない(2026-10-06「窓の後ろの黒いのいらん」)。外を押すと閉じる役だけ */
/* 全面オーバーレイ型(下に「閉じる」ボタンを持つ)はメニューバーの上に出さず、メニューバーより上の領域に収める
   (2026-09-10指示「メニューバーから上で収めろ」)。メニューバーは高さ113px固定 */
.tkp[open] .tkp-wrap{inset:0 0 118px 0 !important;}
.tkp[open] .tkp-pop{max-height:calc(100vh - 215px) !important;}
.rpop:is(.stex-pop,.in2-pop,.res-pop,.jyo-hpop,.hd-dayres)[open] .rpop-wrap{top:calc(50% - 59px) !important;max-height:calc(100vh - 140px) !important;}
/* ポップの中で開くポップ(結果ポップのスタート隊形など): 親の窓は transform で中央寄せしているので、中の窓の fixed は親の箱が基準になる。
   画面基準の calc(50% - 59px) のままだと親の上端から約366px下に出た(2026-10-07「開くと下に出る」)。親の箱の中央に重ねる */
html body .rpop-wrap .rpop[open]:not(.onep):not(.slitboat) .rpop-wrap:not(.br-max):not(.br-pre){top:50% !important;left:50% !important;}   /* 画面中央の規則(.rpop[open]:not(.onep)…・calc((100svh - nav)/2))より詳しく */
.rpop:is(.stex-pop,.in2-pop,.res-pop,.jyo-hpop,.hd-dayres)[open] .rpop-pop{max-height:calc(100vh - 200px) !important;overflow-y:auto !important;-webkit-overflow-scrolling:touch;}
/* height:auto !important は常駐JSが中身に合わせて入れる高さを潰し、日目ポップが150pxしか出なかった(2026-09-12指摘)→外した */
/* スリット予測の艇の当たり判定(2026-08-09指示: 艇タップでST考察詳細)。
   艇の絵の上に透明なsummaryを重ねるだけ。艇自体のマークアップは変えない */
details.rpop.slitboat>summary{list-style:none;display:block;cursor:pointer;
  margin:0;padding:0;width:100%;height:100%;}
details.rpop.slitboat>summary::-webkit-details-marker{display:none;}
/* 開いた時だけ、行(トラック)ごと持ち上げて下の行の艇が突き抜けないようにする */
details.rpop.slitboat[open]{z-index:9999 !important;}
div:has(> details.rpop.slitboat[open]){z-index:9999 !important;}
.rpop-wrap{display:none;}
.rpop[open] .rpop-wrap{display:flex;flex-direction:column;align-items:stretch;
  position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:99990;
  width:min(94vw,460px);max-height:92vh;}
.rpop-pop{width:100%;height:82vh;overflow:hidden;background:rgba(26,30,38,.5);-webkit-backdrop-filter:blur(12px) saturate(170%);backdrop-filter:blur(12px) saturate(170%);
  border:1px solid rgba(255,255,255,0.14);position:relative;}
/* iframe起動中のヒント(描画されると不透明なiframeが上に被さって消える・2026-09-03) */
.rpop-pop:has(> iframe)::before{content:none;display:none;   /* 中の画面を透かしたので後ろの「読み込み中…」が透けて見えた(2026-10-06)→出さない */
  position:absolute;left:0;right:0;top:46%;
  text-align:center;color:rgba(205,174,107,0.55);font-size:12.5px;letter-spacing:.2em;}
/* position:relative: 配置要素にして「読み込み中…」(::before)より上に描画させる
   (非配置のままだと::beforeが常に上=中身に文字が透けていた・2026-09-03) */
.rpop-pop iframe{width:100%;height:100%;border:0;background:transparent;position:relative;}
/* 中身の高さに合わせて開く窓(同条件成績)は中でスクロールさせない
   (2026-08-04指示)。窓ごと高さを持つので中のスクロールは不要 */
/* 既定は中身の高さぴったりに開くのでスクロールは起きない。
   収まらない時だけスクロールできる(2026-08-04指示) */
/* 位置は従来どおり中央。高さだけ中身に合わせる(JSがtopを実測で微調整し、
   下段ナビに掛かる時だけ上へ寄せる・2026-08-04指示) */
/* 開いた瞬間から最終形で出すため、既定値をJSの実測結果に合わせておく
   (先読み中のiframeは中身の高さを測れない環境があるため、CSS側で寄せる)。
   画面上8px + バー26px + 下段ナビ(約113px)と余白8px を引いた高さ */
.rpop.fit-pop[open] .rpop-wrap{max-height:none !important;top:8px !important;
  transform:translateX(-50%) !important;}
/* !important は付けない。実測後はJSのインライン高さを優先させる */
.rpop.fit-pop[open] .rpop-pop{height:calc(100svh - 155px);}
/* 先読み中(閉じている)の枠: 画面外で実寸に描画しておく */
.rpop.fit-pop .rpop-wrap.br-pre{display:flex !important;position:fixed !important;
  left:50% !important;top:8px !important;transform:translateX(-50%) !important;
  width:min(94vw,460px) !important;max-height:none !important;
  /* 画面外(left:-10000px)に置くとブラウザが中のレイアウトを省略して高さを
     測れない。画面内に置いたまま透明にして測る(2026-08-04) */
  opacity:0 !important;pointer-events:none !important;z-index:-1 !important;}
.rpop.fit-pop .rpop-wrap.br-pre .rpop-pop{height:82vh !important;}
/* 拡大時は中央寄せの打ち消し(translateX)を外す。外さないと幅いっぱいの窓が
   半分ぶん左へずれて画面外に食い込む(2026-08-04指摘) */
.rpop.fit-pop[open] .rpop-wrap.br-max{transform:none !important;
  top:4px !important;left:4px !important;right:4px !important;}
/* ポップはどれも「中心」をそろえる=メニューバーより上の領域の真ん中(2026-10-06「開く高さが違う」→「ポップの中央基準で」)。
   旧: 画面全体の中央・中身の高さごとに上下がばらばら */
html body .rpop[open]:not(.onep):not(.slitboat) .rpop-wrap:not(.br-max):not(.br-pre){top:calc((100svh - var(--mk-navh,113px)) / 2) !important;transform:translate(-50%,-50%) !important;
  max-height:calc(100svh - var(--mk-navh,113px) - 20px) !important;}
html body .rpop[open]:not(.onep):not(.slitboat) .rpop-wrap:not(.br-max):not(.br-pre) .rpop-pop{max-height:calc(100svh - var(--mk-navh,113px) - 74px) !important;}
/* 窓の中身を自前の濃い地で包むポップ(.br-box)もガラスに(2026-10-06「気候別データのポップとか透けない」)。
   旧: #0b0e13 を直書きした中身の箱を色の文字列で探していた=その箱は2026-10-07に自前の地をやめて無くなったので外した */
html body .rpop[open] .br-box:not(.rpop-pop){background:rgba(26,30,38,.5) !important;-webkit-backdrop-filter:blur(12px) saturate(170%);backdrop-filter:blur(12px) saturate(170%);}
html body .rpop[open] .rpop-wrap iframe{background:transparent !important;}
/* 中身を窓に直に持つ型の枠と余白(色は透明度の設定=mk_settings.glass_css)。2026-10-06 透けて下の画面と重なって見えた */
html body details.rpop:is(.res-pop,.hd-dayres,.jyo-hpop,.in2-pop,.alb-pop)[open] > .rpop-wrap{border:1px solid rgba(255,255,255,.14);border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.55);padding:12px 12px 10px;box-sizing:border-box;}
/* 閉じるは他のポップと同じく窓の外のすぐ下(2026-10-06「閉じるボタンが枠の中に入ってる」)。閉じるの分だけ窓を上へずらして全体を中央に */
html body details.rpop:is(.res-pop,.hd-dayres,.jyo-hpop,.in2-pop,.alb-pop)[open] > .rpop-wrap{overflow:visible !important;margin-top:-20px;}
html body details.rpop:is(.res-pop,.hd-dayres,.jyo-hpop,.in2-pop,.alb-pop)[open] > .rpop-wrap::before{content:"";position:absolute;inset:0;border-radius:16px;z-index:-1;pointer-events:none;}
html body details.rpop:is(.res-pop,.hd-dayres,.jyo-hpop,.in2-pop,.alb-pop)[open] > .rpop-wrap > .mk-popclose{position:absolute !important;left:0;right:0;top:100%;margin:0 !important;}
/* 閉じるとポップ本体の間は空けない(2026-10-07「ポップの閉じるボタンとポップ本体の隙間なくして」)。ヘルプ系は9pxの隙間だった */
html body .hlp[open] .hlp-pop:is(:has(>.hlp-body),:has(>.rtips-body)),html body .hlp[open] .hlpw{gap:0 !important;}
/* コメント履歴(予想ページ)・選手ページの小窓: 後ろの黒い幕はなし・閉じるは本体にくっつける(2026-10-07) */
html body :is(.cmh[open] .cmh-bg,.mkpop[open] .mkpop-bg){background:transparent !important;}
html body :is(.cmh-wrap,.mkpop-wrap,.hlpw,.rpop-wrap,.tkp-wrap,#mkAsnOv)>.mk-popclose{margin-top:0 !important;}   /* スタート展示・スリットエディター・結果・節間成績・出場予定レーサーも8px空いていた(2026-10-07) */
html body .hlp[open] .hlpw .hlp-pop2+.mk-popclose{margin-top:0 !important;}
/* 場別データ「レース別の売上」のポップの表: 新しい表の様式(縦線・外枠なし・細い横線だけ)。Streamlitの表の既定の枠線が残っていた(2026-10-07) */
html body:not(#_) table.vpp-t{border:0 !important;border-collapse:collapse !important;}
html body:not(#_) table.vpp-t :is(th,td){border:0 !important;border-bottom:1px solid rgba(255,255,255,.06) !important;background:none !important;}
html body:not(#_) table.vpp-t th{color:#9aa3ae !important;border-bottom-color:rgba(255,255,255,.14) !important;}
html body:not(#_) table.vpp-t tr:last-child td{border-bottom:0 !important;}
html body:not(#_) table.vpp-t td{color:#e6e8eb !important;}html body:not(#_) table.vpp-t td.od9{color:#e8d48b !important;}
html body:not(#_) .vpp-wrap>.vpp-close{margin-top:0 !important;}   /* 閉じるは窓にくっつける */
/* プレイヤー(boatrace-cdn)を直接埋め込むため16:9ぴったり・クロップ不要 */
.vidp-pop{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(94vw,430px);height:calc(min(94vw,430px)*0.5625);z-index:99990;
  background:#000;border:1px solid rgba(255,255,255,0.14);border-radius:16px;overflow:hidden;
  box-shadow:0 18px 50px rgba(0,0,0,0.55);}
.vidp-pop iframe{width:100%;height:100%;border:0;pointer-events:auto;}
/* 1M攻防スナップショット(締切後に投票ボタンと入れ替わるチップ)。
   2026-08-07: rpop枠組み(赤黄緑バー)へ移行=配置はrpop-wrap側が持つ */
.onep-pop{background:#0b0e13;}
.onep-strip{display:flex;overflow-x:auto;
  -webkit-overflow-scrolling:touch;}
.onep-strip img{flex:0 0 100%;width:100%;display:block;scroll-snap-align:start;}
.onep-bar{display:flex;align-items:center;justify-content:space-between;
  padding:5px 10px 7px;font-family:-apple-system,"Hiragino Sans","Helvetica Neue",sans-serif;letter-spacing:normal;font-weight:400;}
.onep-hint{color:#8f939c;font-size:10.5px;}
.onep-close{color:#cdae6b;border:1px solid rgba(255,255,255,0.14);border-radius:6px;
  padding:2px 10px;font-size:11px;cursor:pointer;white-space:nowrap;}
/* スマホ: 「第○R」の横に展示バッジ+締切、次の行に⟳更新・▶映像 (flex orderで並べ替え) */
.hd-br{display:none;}
@media (max-width:768px){
  .race-header h2 :is(.chokuzen-mark, a, .cz-dl-head, .vidp summary){white-space:nowrap;}
  .race-header h2{font-size:1.42rem !important;}
  .race-header h2 .hd-t{order:0;}
  .hd-t .hd-num{font-size:1.28em;line-height:1;}
  .race-header h2 .chokuzen-mark{order:1;}
  .race-header h2 .cz-dl-head{order:2;}
  /* 改行スパンに高さ=タイトル行とチップ行(更新/展示/ライブ/投票)を離す(2026-07-15) */
  .race-header h2 .hd-br{display:block;flex:1 0 100%;height:10px;order:3;}
  .race-header h2 a[href*="upd=1"]{order:4;margin-left:0;}
  /* 狙い目情報は更新の右・展示/ライブの左(2026-08-05指示) */
  .race-header h2 .hd-tips{order:5;margin-left:8px !important;}
  .race-header h2 .vidp{order:6;}
  .race-header h2 a.vote-btn2{order:7;}
  /* 買い目メモの鉛筆は投票の右横に固定(2026-08-10指示。orderが無いと
     flex並べ替えでタイトル行へ飛ぶ) */
  .race-header h2 .memo-btn4{order:8;}
}
/* 鉛筆の字はヘッダの851フォントにグリフが無い(空枠になる)ため標準フォントに固定 */
.memo-btn4{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Apple Color Emoji",sans-serif !important;}
/* 買い目メモの金額入力中は下段ナビを消す(キーボードに押し上げられて
   画面中央に浮くため)。boatbotのチャット入力と同じCSS方式
   (boat_chat.py: body:has(textarea:focus)→display:none)2026-08-10 */
body:has(#__memoWin input:focus) .st-key-bottom_nav{display:none !important;}
body:has(.stake-in:focus) .st-key-bottom_nav{display:none !important;}   /* 予算欄フォーカス中も同じ(2026-09-10) */
/* 買い目メモ窓のバーもガラス(2026-10-02「バーがリキッドになってない」)。窓の地が不透明だと
   バーの後ろが窓の地になって透けないので、地は中身の側に塗り、バーの後ろはページが透ける */
#__memoWin{background:transparent !important;}
#__memoWin > :not(.br-bar):not(.br-rz){background:#14161c;}
/* 買い目メモ窓の赤黄緑バー: 黄(畳み)はバーだけ残す */
#__memoWin.br-min > :not(.br-bar){display:none !important;}
#__memoWin.br-min{max-height:none !important;bottom:auto !important;}
#__memoWin.br-min .br-rz{display:none !important;}
/* メモ窓: 金額入力中(キーボード表示中)は画面下端へピン留めする。
   iOSはfixed要素をキーボードの上へ押し上げる(=下段ナビが上がってきたのと
   同じ挙動)ので、下端ピン=キーボードの真上に乗る。高さもキーボード分だけ
   詰めて中をスクロールさせる(2026-08-10。JSのvisualViewport追従は実機で
   窓が飛んで失敗→CSSのみで配置する) */
body:has(#__memoWin input:focus) #__memoWin{
  top:auto !important; bottom:8px !important;
  transform:translateX(-50%) !important;
  max-height:46vh !important;
}
header[data-testid="stHeader"]{height:1.6rem !important;min-height:1.6rem !important;}
header[data-testid="stHeader"] [data-testid="stToolbar"]{top:0.15rem !important;}
[data-testid="stSidebarCollapsedControl"], [data-testid="collapsedControl"]{top:0.1rem !important;}
/* スマホ: サイドバーは使わない(ナビは下段固定ナビ。レース単位の更新はヘッダの⟳更新チップ)。
   展開矢印はStreamlitのバージョンでtestidが違うため新旧両方を潰す */
@media (max-width:768px){
  [data-testid="stSidebar"]{display:none !important;}
  [data-testid="stSidebarCollapsedControl"], [data-testid="collapsedControl"],
  [data-testid="stExpandSidebarButton"], [data-testid="stSidebarCollapseButton"]{display:none !important;}
  /* 矢印を消した分、ヘッダー帯を高さ0に潰して全体を上に詰める
     (display:noneはStreamlit側のレイアウト計算に副作用が出るため高さ0方式) */
  header[data-testid="stHeader"]{height:0 !important;min-height:0 !important;
    padding:0 !important;border:none !important;visibility:hidden !important;
    overflow:hidden !important;}
}
[data-testid="stDecoration"]{display:none !important;}
[data-testid="stMain"] .block-container{padding-top:0 !important;}
/* タイトルバーの伸長は取りやめ(元のサイズバランスを維持) */
/* 不可視ブロック(CSS注入markdown・height=0のiframe)をflexから除外し、
   タイトル上に積もる要素間gap(約1rem×個数)を消す */
:is([data-testid="stElementContainer"], .element-container):has(> iframe[height="0"]){display:none !important;}
/* 横方向のはみ出しはページ全体をiOSの横パンに晒すので根元でクリップする
   (2026-08-11実機: .bzdパネルの12pxはみ出しで全画面が左へ見切れた) */
html, body, .stApp{overflow-x:clip !important;}
/* Streamlitの実スクロール担当は内側のstMain系。横スワイプでのパンは
   ここに横はみ出しがあると起きる(2026-08-11実機: bzdの12pxはみ出し)。
   hiddenはclip未対応環境のフォールバック */
section[data-testid="stMain"],
div[data-testid="stAppViewContainer"],
div[data-testid="stMainBlockContainer"]{
  overflow-x:hidden !important;overflow-x:clip !important;}
html, body{touch-action:manipulation;}
/* スクリプト用iframeは自分に data-mk-hide を付け、ここで包括的に非表示にする
   (コンテナへの直接style付与はStreamlitのDOMリサイクルで他要素に伝染するため禁止) */
:is([data-testid="stElementContainer"], .element-container):has(> iframe[data-mk-hide]){display:none !important;}
/* 開催一覧: ロゴより前に並ぶ見えない部品(下段メニューの入れ物・裏方の処理の枠=高さ0)を並びの外へ。
   見えないのに縦の並びの間隔(16px×2)だけ取ってロゴの上が32px空いていた(2026-10-07「ロゴの上、まだ空いてる」)。
   外部ファイル化した裏方の処理(static/rs)は枠の中身に data-mk-hide の文字が無く、上の隠す規則に当たらない */
[data-testid="stVerticalBlock"] > :has(~ [data-testid="stElementContainer"] .vg-head.lgh){position:absolute !important;}
/* 属性はiframe内スクリプトが動いてから付くため、rerun/R切替直後は一瞬「高さ0+gap16px」の
   隙間がヘッダ上に出ていた(2026-09-07指摘)。srcdocに目印がある=同じ集合を、生成と同時に畳む */
:is([data-testid="stElementContainer"], .element-container):has(> iframe[srcdoc*="data-mk-hide"]){display:none !important;}
:is([data-testid="stElementContainer"], .element-container):has([data-testid="stMarkdownContainer"] > style:only-child){display:none !important;}
/* 的中時の紙吹雪/花火(position:fixedの全画面オーバーレイ)。ラッパーがflexのgap枠を
   消費して推奨買い目〜買い目小見出しの間隔を広げるため、フローから外す(fixed子は表示維持) */
:is([data-testid="stElementContainer"], .element-container):has(.confetti-container),
:is([data-testid="stElementContainer"], .element-container):has(.firework){
  position:absolute !important;height:0 !important;width:0 !important;
  margin:0 !important;padding:0 !important;overflow:visible !important;}
/* 固定配置の下段ナビ: ラッパーがflexの1要素としてgap枠を消費し
   タイトル上の余白になるため、flexレイアウトから除外する */
:is([data-testid="stElementContainer"], .element-container):has(.st-key-bottom_nav){display:contents !important;}


/* 文字を打つ欄にフォーカスがある間(=キーボード表示中)はメニューバーを隠す。
   iPhone ではキーボードの上に乗って付いてきた(2026-10-02指摘)。プルタブ(combobox)は除く */
/* キーボード表示中のメニューバー隠しは body.mk-kb(JSが付け外し)へ。body:has(…:focus) はページの変化のたびに全体を調べ直して重かった(2026-10-03) */
/* バー本体: left:50%+translateXでビューポート中央に固定。
   祖先のpadding/transformで生じる「左:0基準の右寄り」を構造的に回避する */
.st-key-bottom_nav{position:fixed;bottom:0;z-index:2147483100;   /* ポップアップ(rpop 9999x・チャット2147483000)より上=ドラッグしてもメニューバーの上を通らない(2026-09-10指示)。カレンダー等の全面オーバーレイ(2147483600)は上 */
  /* 中央基準からの微調整は下行の 0px を増減する (左へ寄せる=値を大きく)。
     2026-08-02: -8pxだと右端に8px空くため0に戻した */
  /* リキッドグラス(2026-10-02指示・案A): 左右と下に隙間を空けて浮かせた角丸カプセル。
     半透明+背景ぼかしで下の中身が透ける(地.38→.22・ぼかし18→12px=2026-10-02「もう少し透け感」)。旧=全幅・#0b0e13ベタ・上辺の線。
     幅は左右24pxの固定で決める(14px→24px・2026-10-02指示「もう少しだけ短く」。100vw計算はiPhoneの75%ズームではみ出した・2026-10-02) */
  left:24px !important;right:118px !important;transform:none;   /* 右に丸い検索ボタン(84px+すき間10px・2026-10-03) */
  width:auto !important;min-width:0;
  bottom:calc(28px + env(safe-area-inset-bottom)) !important;   /* 12→22→32→28px(2026-10-02「浮かせて」→「ほんの少しだけ下で」) */
  background:rgba(30,34,42,.22);
  -webkit-backdrop-filter:blur(12px) saturate(190%) brightness(1.05);
  backdrop-filter:blur(12px) saturate(190%) brightness(1.05);
  border:1px solid rgba(255,255,255,.16);border-radius:999px;
  box-shadow:0 10px 34px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.28),
             inset 0 -1px 0 rgba(255,255,255,.05);
  padding:12px 6px;margin:0;}   /* 縦9→12px(2026-10-02「縦の幅も少しだけ広げて」) */
/* 端末不問統一(2026-07-30): 700px以上(PC/タブレット)だけ本体と同じ430px中央に絞る。
   スマホ(〜699px)は従来通り全幅+微調整オフセット */
@media (min-width:700px){
  .st-key-bottom_nav{width:382px !important;min-width:0;
    left:50% !important;right:auto !important;transform:translateX(calc(-50% - 47px));}   /* 検索ボタンと合わせて中央(2026-10-03) */
}
/* 内側ラッパーの実測幅(インラインwidth)やpaddingが残ると中央からズレるため全て無効化 */
.st-key-bottom_nav [data-testid="stVerticalBlock"],
.st-key-bottom_nav [data-testid="stVerticalBlockBorderWrapper"],
.st-key-bottom_nav [data-testid="stElementContainer"]{
  width:100% !important;max-width:none !important;
  padding:0 !important;margin:0 !important;}
.st-key-bottom_nav [data-testid="stHorizontalBlock"]{
  flex-direction:row !important;flex-wrap:nowrap !important;gap:0 !important;
  width:min(560px,100%) !important;max-width:none !important;
  margin:0 auto !important;padding:0 !important;}
.st-key-bottom_nav [data-testid="stColumn"]{
  flex:1 1 0 !important;width:33.33% !important;min-width:0 !important;
  padding:0 3px !important;margin:0 !important;}
.st-key-bottom_nav button{width:100%;display:flex;justify-content:center;align-items:center;
  background:transparent !important;border:none !important;
  box-shadow:none !important;padding:7px 0 !important;min-height:0 !important;
  border-radius:999px !important;}
html body .st-key-bottom_nav button{border-radius:999px !important;}   /* 他の角丸指定に負けないよう強める(2026-10-02) */
/* 調べる・狙い目のページ側CSSにバーの角丸とガラスが負けて四角くなった(2026-10-02指摘)→強めて固定 */
html body div.st-key-bottom_nav{border-radius:999px !important;overflow:hidden;
  background:rgba(30,34,42,.22) !important;
  -webkit-backdrop-filter:blur(12px) saturate(190%) brightness(1.05) !important;
  backdrop-filter:blur(12px) saturate(190%) brightness(1.05) !important;
  border:1px solid rgba(255,255,255,.16) !important;}
.st-key-bottom_nav button :is(p,span,div){color:#fafafa;margin:0 !important;}
/* 実アイコン要素は非表示 (フォント読込のため icon= は渡したまま)。
   グリフはラベルpの::beforeで描画 → 同一要素内の縦flexなので構造的にズレない */
.st-key-bottom_nav button [data-testid="stIconMaterial"]{display:none !important;}
/* Streamlit版ドリフトでtestidが外れたアイコンspan(button直下・幅20px)も塞ぐ。
   残るとラベルがセル中心から右に10pxズレて左右バランスが崩れる(2026-08-11指摘) */
.st-key-bottom_nav button > span{display:none !important;}
.st-key-bottom_nav button > div{display:flex;justify-content:center;width:100%;}
.st-key-bottom_nav button p{display:flex;flex-direction:column;align-items:center;gap:4px;
  font-size:12.5px !important;font-weight:700;line-height:1.2;text-align:center;}
.st-key-bottom_nav button p::before{font-family:"Material Symbols Rounded";
  font-size:25px;font-weight:400;line-height:1;
  font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24;}
/* 3つとも25×25pxのSVGで統一(2026-08-12。幅・高さ・縦位置がぴたり揃う) */
.st-key-nav_meikan button p::before{content:"";width:25px;height:25px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%23cdae6b' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.6 10.2 L12 2.2 L21.4 10.2'/%3E%3Cpath d='M5.4 8.2 V21.7 H18.6 V8.2'/%3E%3Cpath d='M10 21.7 V15.5 H14 V21.7'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;}
.st-key-nav_race button p::before{content:"";width:25px;height:25px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='%23fafafa'%3E%3Cpath d='M12 0.6 C11 4.5 6.8 8.2 2.5 10 H21.5 C17.2 8.2 13 4.5 12 0.6 Z'/%3E%3Crect x='3.2' y='10.8' width='17.6' height='5.1' rx='2.55'/%3E%3Crect x='1.2' y='16.5' width='21.6' height='6.9' rx='3.45'/%3E%3C/g%3E%3Cg fill='%230b0e13'%3E%3Cpolygon points='11.8,2.2 11.4,2.2 7.4,10 9.4,10'/%3E%3Cpolygon points='12.2,2.2 12.6,2.2 16.6,10 14.6,10'/%3E%3Crect x='6.9' y='10.7' width='1.5' height='5.3' rx='0.4'/%3E%3Crect x='15.6' y='10.7' width='1.5' height='5.3' rx='0.4'/%3E%3Crect x='6.0' y='16.3' width='1.6' height='7.3' rx='0.4'/%3E%3Crect x='16.4' y='16.3' width='1.6' height='7.3' rx='0.4'/%3E%3C/g%3E%3Cg fill='%230b0e13'%3E%3Cpolygon points='11.8,2.2 12.2,2.2 14.6,10 9.4,10'/%3E%3Crect x='8.4' y='10.8' width='7.2' height='5.1'/%3E%3Crect x='7.6' y='16.5' width='8.8' height='6.9'/%3E%3C/g%3E%3Cg fill='none' stroke='%23fafafa' stroke-width='0.9'%3E%3Cpolygon points='11.8,2.6 12.2,2.6 14.4,9.6 9.6,9.6'/%3E%3Crect x='8.8' y='11.2' width='6.4' height='4.3'/%3E%3Crect x='8.0' y='16.9' width='8.0' height='6.1'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;}
.st-key-nav_search button p::before{content:"";width:25px;height:25px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%23fafafa' stroke-width='1.6' fill='none'%3E%3Cellipse cx='7' cy='12' rx='4.3' ry='5.6'/%3E%3Cellipse cx='17' cy='12' rx='4.3' ry='5.6'/%3E%3C/g%3E%3Cg fill='%23fafafa'%3E%3Ccircle cx='8' cy='13.6' r='1.9'/%3E%3Ccircle cx='18' cy='13.6' r='1.9'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;}
.st-key-nav_meikan button :is(p,span,[data-testid="stIconMaterial"]){color:#cdae6b !important;}.st-key-nav_meikan button{background:rgba(255,255,255,.13) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.22) !important;}
/* 押した瞬間に文字とアイコンの金色も移す(2026-10-02「シームレスじゃない」)。data-lg はJSが付ける */
.st-key-bottom_nav[data-lg] button :is(p,span){color:#fafafa !important;}
.st-key-bottom_nav[data-lg="nav_meikan"] .st-key-nav_meikan button :is(p,span),
.st-key-bottom_nav[data-lg="nav_race"] .st-key-nav_race button :is(p,span),
.st-key-bottom_nav[data-lg="nav_search"] .st-key-nav_search button :is(p,span){color:#cdae6b !important;}
.st-key-bottom_nav[data-lg] .st-key-nav_meikan button p::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%23fafafa' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.6 10.2 L12 2.2 L21.4 10.2'/%3E%3Cpath d='M5.4 8.2 V21.7 H18.6 V8.2'/%3E%3Cpath d='M10 21.7 V15.5 H14 V21.7'/%3E%3C/g%3E%3C/svg%3E") !important;}
.st-key-bottom_nav[data-lg="nav_meikan"] .st-key-nav_meikan button p::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%23cdae6b' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.6 10.2 L12 2.2 L21.4 10.2'/%3E%3Cpath d='M5.4 8.2 V21.7 H18.6 V8.2'/%3E%3Cpath d='M10 21.7 V15.5 H14 V21.7'/%3E%3C/g%3E%3C/svg%3E") !important;}
.st-key-bottom_nav[data-lg] .st-key-nav_race button p::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='%23fafafa'%3E%3Cpath d='M12 0.6 C11 4.5 6.8 8.2 2.5 10 H21.5 C17.2 8.2 13 4.5 12 0.6 Z'/%3E%3Crect x='3.2' y='10.8' width='17.6' height='5.1' rx='2.55'/%3E%3Crect x='1.2' y='16.5' width='21.6' height='6.9' rx='3.45'/%3E%3C/g%3E%3Cg fill='%230b0e13'%3E%3Cpolygon points='11.8,2.2 11.4,2.2 7.4,10 9.4,10'/%3E%3Cpolygon points='12.2,2.2 12.6,2.2 16.6,10 14.6,10'/%3E%3Crect x='6.9' y='10.7' width='1.5' height='5.3' rx='0.4'/%3E%3Crect x='15.6' y='10.7' width='1.5' height='5.3' rx='0.4'/%3E%3Crect x='6.0' y='16.3' width='1.6' height='7.3' rx='0.4'/%3E%3Crect x='16.4' y='16.3' width='1.6' height='7.3' rx='0.4'/%3E%3C/g%3E%3Cg fill='%230b0e13'%3E%3Cpolygon points='11.8,2.2 12.2,2.2 14.6,10 9.4,10'/%3E%3Crect x='8.4' y='10.8' width='7.2' height='5.1'/%3E%3Crect x='7.6' y='16.5' width='8.8' height='6.9'/%3E%3C/g%3E%3Cg fill='none' stroke='%23fafafa' stroke-width='0.9'%3E%3Cpolygon points='11.8,2.6 12.2,2.6 14.4,9.6 9.6,9.6'/%3E%3Crect x='8.8' y='11.2' width='6.4' height='4.3'/%3E%3Crect x='8.0' y='16.9' width='8.0' height='6.1'/%3E%3C/g%3E%3C/svg%3E") !important;}
.st-key-bottom_nav[data-lg="nav_race"] .st-key-nav_race button p::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='%23cdae6b'%3E%3Cpath d='M12 0.6 C11 4.5 6.8 8.2 2.5 10 H21.5 C17.2 8.2 13 4.5 12 0.6 Z'/%3E%3Crect x='3.2' y='10.8' width='17.6' height='5.1' rx='2.55'/%3E%3Crect x='1.2' y='16.5' width='21.6' height='6.9' rx='3.45'/%3E%3C/g%3E%3Cg fill='%230b0e13'%3E%3Cpolygon points='11.8,2.2 11.4,2.2 7.4,10 9.4,10'/%3E%3Cpolygon points='12.2,2.2 12.6,2.2 16.6,10 14.6,10'/%3E%3Crect x='6.9' y='10.7' width='1.5' height='5.3' rx='0.4'/%3E%3Crect x='15.6' y='10.7' width='1.5' height='5.3' rx='0.4'/%3E%3Crect x='6.0' y='16.3' width='1.6' height='7.3' rx='0.4'/%3E%3Crect x='16.4' y='16.3' width='1.6' height='7.3' rx='0.4'/%3E%3C/g%3E%3Cg fill='%230b0e13'%3E%3Cpolygon points='11.8,2.2 12.2,2.2 14.6,10 9.4,10'/%3E%3Crect x='8.4' y='10.8' width='7.2' height='5.1'/%3E%3Crect x='7.6' y='16.5' width='8.8' height='6.9'/%3E%3C/g%3E%3Cg fill='none' stroke='%23cdae6b' stroke-width='0.9'%3E%3Cpolygon points='11.8,2.6 12.2,2.6 14.4,9.6 9.6,9.6'/%3E%3Crect x='8.8' y='11.2' width='6.4' height='4.3'/%3E%3Crect x='8.0' y='16.9' width='8.0' height='6.1'/%3E%3C/g%3E%3C/svg%3E") !important;}
.st-key-bottom_nav[data-lg] .st-key-nav_search button p::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%23fafafa' stroke-width='1.6' fill='none'%3E%3Cellipse cx='7' cy='12' rx='4.3' ry='5.6'/%3E%3Cellipse cx='17' cy='12' rx='4.3' ry='5.6'/%3E%3C/g%3E%3Cg fill='%23fafafa'%3E%3Ccircle cx='8' cy='13.6' r='1.9'/%3E%3Ccircle cx='18' cy='13.6' r='1.9'/%3E%3C/g%3E%3C/svg%3E") !important;}
.st-key-bottom_nav[data-lg="nav_search"] .st-key-nav_search button p::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%23cdae6b' stroke-width='1.6' fill='none'%3E%3Cellipse cx='7' cy='12' rx='4.3' ry='5.6'/%3E%3Cellipse cx='17' cy='12' rx='4.3' ry='5.6'/%3E%3C/g%3E%3Cg fill='%23cdae6b'%3E%3Ccircle cx='8' cy='13.6' r='1.9'/%3E%3Ccircle cx='18' cy='13.6' r='1.9'/%3E%3C/g%3E%3C/svg%3E") !important;}
.st-key-bottom_nav .lg-pill .lg-lw button :is(p,span){color:#cdae6b !important;}   /* レンズに掛かっている部分だけ金(2026-10-02) */
.st-key-bottom_nav .lg-pill .lg-lw .st-key-nav_meikan button p::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%23cdae6b' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.6 10.2 L12 2.2 L21.4 10.2'/%3E%3Cpath d='M5.4 8.2 V21.7 H18.6 V8.2'/%3E%3Cpath d='M10 21.7 V15.5 H14 V21.7'/%3E%3C/g%3E%3C/svg%3E") !important;}
.st-key-bottom_nav .lg-pill .lg-lw .st-key-nav_race button p::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='%23cdae6b'%3E%3Cpath d='M12 0.6 C11 4.5 6.8 8.2 2.5 10 H21.5 C17.2 8.2 13 4.5 12 0.6 Z'/%3E%3Crect x='3.2' y='10.8' width='17.6' height='5.1' rx='2.55'/%3E%3Crect x='1.2' y='16.5' width='21.6' height='6.9' rx='3.45'/%3E%3C/g%3E%3Cg fill='%230b0e13'%3E%3Cpolygon points='11.8,2.2 11.4,2.2 7.4,10 9.4,10'/%3E%3Cpolygon points='12.2,2.2 12.6,2.2 16.6,10 14.6,10'/%3E%3Crect x='6.9' y='10.7' width='1.5' height='5.3' rx='0.4'/%3E%3Crect x='15.6' y='10.7' width='1.5' height='5.3' rx='0.4'/%3E%3Crect x='6.0' y='16.3' width='1.6' height='7.3' rx='0.4'/%3E%3Crect x='16.4' y='16.3' width='1.6' height='7.3' rx='0.4'/%3E%3C/g%3E%3Cg fill='%230b0e13'%3E%3Cpolygon points='11.8,2.2 12.2,2.2 14.6,10 9.4,10'/%3E%3Crect x='8.4' y='10.8' width='7.2' height='5.1'/%3E%3Crect x='7.6' y='16.5' width='8.8' height='6.9'/%3E%3C/g%3E%3Cg fill='none' stroke='%23cdae6b' stroke-width='0.9'%3E%3Cpolygon points='11.8,2.6 12.2,2.6 14.4,9.6 9.6,9.6'/%3E%3Crect x='8.8' y='11.2' width='6.4' height='4.3'/%3E%3Crect x='8.0' y='16.9' width='8.0' height='6.1'/%3E%3C/g%3E%3C/svg%3E") !important;}
.st-key-bottom_nav .lg-pill .lg-lw .st-key-nav_search button p::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%23cdae6b' stroke-width='1.6' fill='none'%3E%3Cellipse cx='7' cy='12' rx='4.3' ry='5.6'/%3E%3Cellipse cx='17' cy='12' rx='4.3' ry='5.6'/%3E%3C/g%3E%3Cg fill='%23cdae6b'%3E%3Ccircle cx='8' cy='13.6' r='1.9'/%3E%3Ccircle cx='18' cy='13.6' r='1.9'/%3E%3C/g%3E%3C/svg%3E") !important;}
.st-key-bottom_nav{--lg-act:"nav_meikan";}   /* リキッドの粒が今どのボタンにいるべきか(2026-10-02) */
/* 端末不問統一(2026-07-30): PC幅でもナビを出す(旧・769px以上非表示ルールを撤去) */
[data-testid="stMain"] .block-container{padding-bottom:9rem !important;}
/* ポップオーバー式プルタブの文字はセレクトの選択値(太さ600・#fafafa)に揃える(2026-09-18指摘
   「字の太さが違う」「選手ページの条件検索のとこ見た?」: pは既定400で細く見えていた) */
button[data-testid="stPopoverButton"] p{font-weight:600 !important;color:#fafafa !important;}


/* ── バー: 「値 ▾」のカプセルを1本に流して並べる(中の列・入れ物は透過) ── */
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkuibar_"]{display:flex !important;flex-direction:row !important;flex-wrap:wrap !important;gap:8px !important;align-items:center !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkuibar_"]::-webkit-scrollbar{display:none;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkuibar_"] :is([data-testid="stVerticalBlock"],[data-testid="stHorizontalBlock"],[data-testid="stColumn"],[data-testid="stLayoutWrapper"],.stLayoutWrapper){display:contents !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkuibar_"] [data-testid="stElementContainer"]{width:auto !important;flex:0 0 auto !important;}
html body:not(.mk9a):not(.mk9b) :is(div[class*="st-key-mkcap"],div[class*="st-key-mktog"],div[class*="st-key-mklead"]) button{
  min-height:0 !important;height:36px !important;padding:0 12px 0 14px !important;border-radius:999px !important;
  background:rgba(30,34,42,.55) !important;border:1px solid rgba(255,255,255,.14) !important;box-shadow:none !important;
  color:#e6e8eb !important;width:auto !important;white-space:nowrap !important;gap:4px !important;display:inline-flex !important;align-items:center !important;}
html body:not(.mk9a):not(.mk9b) :is(div[class*="st-key-mkcap"],div[class*="st-key-mktog"],div[class*="st-key-mklead"]) button p{
  font-size:13.5px !important;font-weight:700 !important;white-space:nowrap !important;margin:0 !important;letter-spacing:0 !important;color:#e6e8eb !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkcap"] button::after{content:"";width:14px;height:14px;margin-left:2px;flex:none;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23aeb5bf' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>") center/contain no-repeat;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkcapm"] button{border-color:#cdae6b !important;background:rgba(205,174,107,.10) !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkcapm"] button p{color:#ffe9b8 !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkcapm"] button::after{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cdae6b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mktog"] button{padding:0 15px 0 11px !important;}   /* 矢印が左にある分、右を広く(中身が右に寄って見えた・2026-10-06) */
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mktog"] button::before{content:"";width:14px;height:14px;margin-right:2px;flex:none;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e6e8eb' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M12 5v14M6 13l6 6 6-6'/></svg>") center/contain no-repeat;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mktogf"] button::before{transform:rotate(180deg);}
/* 押す所は「白のガラス+金の字」(案B・2026-10-06「リキッドグラスUIと相性悪い」→A→「やっぱB」: ベタ塗りだった) */
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mklead"] button{background:rgba(255,255,255,.12) !important;border:1px solid rgba(255,255,255,.2) !important;-webkit-backdrop-filter:blur(10px) saturate(140%);backdrop-filter:blur(10px) saturate(140%);box-shadow:inset 0 1px 0 rgba(255,255,255,.22) !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mklead"] button p{color:#e8d48b !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mklead"] button{padding:0 13px 0 11px !important;}   /* 隣の切り替え・チップと同じ大きさに見えるよう余白をそろえる(2026-10-06「絞り込みだけ大きくない？」) */
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mklead"] button::before{content:"";width:15px;height:15px;margin-right:3px;flex:none;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8d48b' stroke-width='2.6' stroke-linecap='round'><path d='M4 7h16M7 12h10M10 17h4'/></svg>") center/contain no-repeat;}
@media (min-width:480px){
html body:not(.mk9a):not(.mk9b) :is(div[class*="st-key-mkcap"],div[class*="st-key-mktog"],div[class*="st-key-mklead"]) button{height:38px !important;}
html body:not(.mk9a):not(.mk9b) :is(div[class*="st-key-mkcap"],div[class*="st-key-mktog"],div[class*="st-key-mklead"]) button p{font-size:14.5px !important;}}

/* ── 全面シート(st.dialog を下から出るシートに)。地はポップアップと同じガラス(2026-10-06「透け感がない」: #161a21 の塗りだった)・後ろの暗さも薄く ── */
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkui-ov-"]{position:fixed !important;inset:0 !important;z-index:2147483000 !important;background:rgba(0,0,0,.28) !important;display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:flex-end !important;padding:40px 0 110px !important;margin:0 !important;gap:0 !important;width:auto !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkui-ov-"] > *{width:100% !important;max-width:640px !important;}
html body:not(.mk9a):not(.mk9b) .st-key-mkui-sh{width:100% !important;max-width:640px !important;max-height:calc(100dvh - 150px) !important;border:1px solid rgba(255,255,255,.10) !important;border-radius:22px !important;overflow:hidden !important;gap:0 !important;padding:0 0 10px !important;box-shadow:0 -8px 30px rgba(0,0,0,.5);}
html body:not(.mk9a):not(.mk9b) .st-key-mkui-head{position:relative;padding:14px 16px 4px !important;}
@keyframes mkuiOvIn{from{opacity:0;}to{opacity:1;}}
@keyframes mkuiShIn{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkui-ov-"]{animation:mkuiOvIn .22s ease-out both;}   /* シートはふわっと出す(2026-10-06指示) */
body .st-key-mkui-sh{background:rgba(26,30,38,.5) !important;-webkit-backdrop-filter:blur(12px) saturate(170%);backdrop-filter:blur(12px) saturate(170%);}   /* 薄めの時の地。標準・不透明は設定の透明度(mk_settings._GLASS_SEL)が上書き */
html body:not(.mk9a):not(.mk9b) .st-key-mkui-sh{animation:mkuiShIn .26s cubic-bezier(.2,.8,.2,1) both;}
@media (prefers-reduced-motion:reduce){html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkui-ov-"],html body:not(.mk9a):not(.mk9b) .st-key-mkui-sh{animation:none;}}
html body:not(.mk9a):not(.mk9b) :is([data-testid="stLayoutWrapper"],[data-testid="stElementContainer"],[data-testid="stVerticalBlock"]):has(> div[class*="st-key-mkui-ov-"]){display:contents !important;}   /* シートの外側の枠がページの並びに場所を取り、下が少し下がった(2026-10-06) */
html body:not(.mk9a):not(.mk9b) [data-testid="stVerticalBlock"]:has(> [data-testid="stLayoutWrapper"] > div[class*="st-key-mkui-ov-"]),html body:not(.mk9a):not(.mk9b) [data-testid="stLayoutWrapper"]:has(> [data-testid="stVerticalBlock"] > [data-testid="stLayoutWrapper"] > div[class*="st-key-mkui-ov-"]){display:contents !important;}
.mkui-ttl{font-size:16px;font-weight:800;color:#e6e8eb;text-align:center;line-height:1.3;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkui-x-"]{position:absolute !important;right:10px;top:6px;width:auto !important;z-index:2;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkui-x-"] button{background:transparent !important;border:0 !important;box-shadow:none !important;min-height:0 !important;height:36px !important;width:36px !important;padding:0 !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkui-x-"] button p{font-size:22px !important;font-weight:400 !important;color:#e6e8eb !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkui-ov-"] [data-testid="stVerticalBlock"]{gap:0 !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkui-ov-"] [data-testid="stElementContainer"]{margin:0 !important;}
html body:not(.mk9a):not(.mk9b) .st-key-mkui-body [data-testid="stHorizontalBlock"]{flex-wrap:nowrap !important;gap:0 !important;align-items:stretch !important;}
html body:not(.mk9a):not(.mk9b) .st-key-mkui-body [data-testid="stColumn"]{min-width:0 !important;}
html body:not(.mk9a):not(.mk9b) .st-key-mkui-body [data-testid="stColumn"]:first-child{flex:0 0 34% !important;width:34% !important;}
html body:not(.mk9a):not(.mk9b) .st-key-mkui-body [data-testid="stColumn"]:last-child{flex:1 1 0 !important;width:auto !important;}
html body:not(.mk9a):not(.mk9b) .st-key-mkui-rail{border-right:1px solid rgba(255,255,255,.08);max-height:calc(100dvh - 300px);overflow-y:auto;padding:2px 0 8px;}
html body:not(.mk9a):not(.mk9b) .st-key-mkui-rail [data-testid="stElementContainer"]{width:100% !important;}
html body:not(.mk9a):not(.mk9b) .st-key-mkui-rail button{width:100% !important;justify-content:flex-start !important;text-align:left !important;border:0 !important;box-shadow:none !important;
  border-radius:0 !important;background:transparent !important;min-height:46px !important;height:auto !important;padding:6px 8px 6px 14px !important;
  border-left:3px solid transparent !important;}
html body:not(.mk9a):not(.mk9b) .st-key-mkui-rail button p{font-size:14px !important;font-weight:700 !important;color:#aeb5bf !important;white-space:normal !important;word-break:keep-all;overflow-wrap:anywhere;line-height:1.3 !important;text-align:left !important;}   /* 長い項目名は折り返す(省略しない) */
html body:not(.mk9a):not(.mk9b) .st-key-mkui-rail div[class*="st-key-mkrailon"] button{background:rgba(255,255,255,.05) !important;border-left-color:#cdae6b !important;}
html body:not(.mk9a):not(.mk9b) .st-key-mkui-rail div[class*="st-key-mkrailon"] button p{color:#e6e8eb !important;}
html body:not(.mk9a):not(.mk9b) .st-key-mkui-rail div[class*="st-key-mkrail"][class*="__mod"] button p::after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#cdae6b;margin-left:8px;vertical-align:middle;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkuicard_"]{border-radius:14px !important;padding:11px 14px 12px !important;margin:0 0 4px !important;gap:2px !important;
  background:rgba(30,34,42,.55) !important;border:1px solid rgba(205,174,107,.35) !important;}   /* グラデーションはやめる(2026-10-06指示) */
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkuicard_"]{height:auto !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkuicard_"] :is([data-testid="stElementContainer"],[data-testid="stMarkdown"],[data-testid="stMarkdownContainer"],.stButton){margin:0 !important;height:auto !important;min-height:0 !important;overflow:visible !important;}
.mkc-k{font-size:11.5px;color:#8a93a0;font-weight:700;line-height:1.3;margin:0 0 2px;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkctitle_"] button{background:transparent !important;border:0 !important;box-shadow:none !important;padding:0 !important;min-height:0 !important;
  height:auto !important;width:auto !important;justify-content:flex-start !important;gap:6px !important;display:inline-flex !important;align-items:center !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkctitle_"] button p{font-size:21px !important;font-weight:800 !important;color:#e6e8eb !important;text-align:left !important;white-space:normal !important;line-height:1.25 !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkctitle_"] button::after{content:"";width:18px;height:18px;flex:none;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cdae6b' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>") center/contain no-repeat;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkctrow_"]{flex-wrap:wrap !important;column-gap:14px !important;row-gap:2px !important;align-items:center !important;justify-content:flex-start !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkctrow_"] > div{width:auto !important;flex:0 1 auto !important;min-width:0 !important;}
@media (max-width:479px){html body:not(.mk9a):not(.mk9b) :is(div[class*="st-key-mktog"],div[class*="st-key-mklead"]) button{padding:0 11px 0 9px !important;height:34px !important;}html body:not(.mk9a):not(.mk9b) :is(div[class*="st-key-mktog"],div[class*="st-key-mklead"]) button p{font-size:13px !important;}}
.mkc-d{font-size:12.5px;color:#c9ced5;line-height:1.5;margin:2px 0 0;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkcchips_"]{flex-wrap:wrap !important;gap:6px !important;margin-top:8px !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkcchips_"] > div{width:auto !important;flex:0 0 auto !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkchip"] button{min-height:0 !important;height:auto !important;padding:3px 10px !important;border-radius:999px !important;background:transparent !important;border:1px solid rgba(255,255,255,.14) !important;box-shadow:none !important;width:auto !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkchip"] button p{font-size:12px !important;font-weight:700 !important;color:#c9ced5 !important;white-space:nowrap !important;line-height:1.4 !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkchipm_"] button{border-color:#cdae6b !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkchipm_"] button p{color:#ffe9b8 !important;}
@media (min-width:480px){html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkchip"] button p{font-size:12.5px !important;}}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkfbar_"]{flex-wrap:wrap !important;gap:6px 6px !important;align-items:center !important;margin:2px 0 6px !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkfbar_"] > div{width:auto !important;flex:0 0 auto !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkfbar_"] div[class*="st-key-mkchip"] button{height:34px !important;padding:0 12px !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkfbar_"] div[class*="st-key-mkchip"] button p{font-size:13px !important;}
/* 「絞り込み」と並ぶチップ・切り替えは同じ大きさ(幅480以上で絞り込みだけ38px・14.5pxに大きくなっていた・2026-10-06「大きいだろ」) */
@media (min-width:480px){
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkfbar_"] div[class*="st-key-mkchip"] button{height:36px !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkfbar_"] div[class*="st-key-mkchip"] button p{font-size:14px !important;}
html body:not(.mk9a):not(.mk9b) :is(div[class*="st-key-mkcap"],div[class*="st-key-mktog"],div[class*="st-key-mklead"]) button{height:36px !important;}
html body:not(.mk9a):not(.mk9b) :is(div[class*="st-key-mkcap"],div[class*="st-key-mktog"],div[class*="st-key-mklead"]) button p{font-size:14px !important;}}
html body:not(.mk9a):not(.mk9b) :is(div[class*="st-key-mkchip_jo_"],div[class*="st-key-mkchipm_jo_"]) button::before{content:"";width:13px;height:13px;margin-right:3px;flex:none;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cdae6b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M12 21s-6.5-5.6-6.5-11a6.5 6.5 0 0 1 13 0c0 5.4-6.5 11-6.5 11z'/><circle cx='12' cy='10' r='2.3'/></svg>") center/contain no-repeat;}
html body:not(.mk9a):not(.mk9b) :is(div[class*="st-key-mkchip_jo_"],div[class*="st-key-mkchipm_jo_"]) button{display:inline-flex !important;align-items:center !important;}
html body:not(.mk9a):not(.mk9b) :is(div[class*="st-key-mkcchips_"],div[class*="st-key-mkfbar_"]){align-items:center !important;}   /* ピン付きの場のチップだけ1px上にずれた(並びが文字の下端そろえだった・2026-10-06) */
html body:not(.mk9a):not(.mk9b) :is(div[class*="st-key-mkcchips_"],div[class*="st-key-mkfbar_"]) > div{align-self:center !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkchip"] button{display:inline-flex !important;align-items:center !important;vertical-align:middle !important;}
.mkc-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;}
.mkc-chips span{font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.14);color:#c9ced5;white-space:nowrap;}
.mkc-chips span.m{border-color:#cdae6b;color:#ffe9b8;}
@media (min-width:480px){html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkctitle_"] button p{font-size:23px !important;}.mkc-chips span{font-size:12.5px;}}
html body:not(.mk9a):not(.mk9b) .st-key-mkui-body{margin-top:14px !important;}   /* 右上の閉じるボタンと選択肢が重ならないように */
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkuibarh_"]{display:none !important;}
html body:not(.mk9a):not(.mk9b) [data-testid="stLayoutWrapper"]:has(> div[class*="st-key-mkuibarh_"]){display:none !important;}   /* 隠したバーの入れ物が1段ぶんの余白を作っていた(2026-10-06) */
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkuibar_"] [data-testid="stElementContainer"].stMarkdown, html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkuibar_"] .stHtml{display:none !important;}
html body:not(.mk9a):not(.mk9b) .st-key-mkui-phbox{margin:0 0 12px !important;}
.mkui-rg{font-size:12px;font-weight:800;color:#cdae6b;padding:14px 0 5px 12px;letter-spacing:.04em;border-top:1px solid rgba(205,174,107,.22);margin-top:6px;}   /* 見出しは金で項目と見分ける(2026-10-06指示) */
html body:not(.mk9a):not(.mk9b) .st-key-mkui-pane{padding:4px 2px 10px 14px;max-height:calc(100dvh - 300px);overflow-y:auto;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkui-ov-"] [data-testid="stVerticalBlock"].st-key-mkui-opts{display:flex !important;row-gap:8px !important;column-gap:8px !important;flex-direction:row !important;flex-wrap:wrap !important;gap:8px !important;}
html body:not(.mk9a):not(.mk9b) .st-key-mkui-opts [data-testid="stElementContainer"]{width:auto !important;flex:0 0 auto !important;}
html body:not(.mk9a):not(.mk9b) .st-key-mkui-opts button{border-radius:999px !important;min-height:0 !important;height:38px !important;padding:0 15px !important;
  background:rgba(30,34,42,.22) !important;border:1px solid rgba(255,255,255,.16) !important;box-shadow:none !important;width:auto !important;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}   /* リキッド=アプリ共通のガラスのカプセル(2026-10-06指示) */
html body:not(.mk9a):not(.mk9b) .st-key-mkui-opts button p{font-size:14px !important;font-weight:700 !important;white-space:nowrap !important;color:#e6e8eb !important;}
html body:not(.mk9a):not(.mk9b) .st-key-mkui-opts div[class*="st-key-mkopton_"] button{background:rgba(255,255,255,.13) !important;border-color:rgba(255,255,255,.22) !important;}
html body:not(.mk9a):not(.mk9b) .st-key-mkui-opts div[class*="st-key-mkopton_"] button p{color:#e8d48b !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkui-ov-"] [data-testid="stVerticalBlock"].st-key-mkui-optl{gap:0 !important;}
html body:not(.mk9a):not(.mk9b) .st-key-mkui-optl [data-testid="stElementContainer"]{width:100% !important;}
html body:not(.mk9a):not(.mk9b) .st-key-mkui-optl button{width:100% !important;justify-content:flex-start !important;text-align:left !important;border:0 !important;box-shadow:none !important;
  border-bottom:1px solid rgba(255,255,255,.06) !important;border-radius:0 !important;background:transparent !important;min-height:0 !important;height:auto !important;padding:12px 30px 12px 4px !important;position:relative;}
html body:not(.mk9a):not(.mk9b) .st-key-mkui-optl button p{font-size:14.5px !important;font-weight:600 !important;color:#d4d9df !important;text-align:left !important;white-space:normal !important;line-height:1.35 !important;}
html body:not(.mk9a):not(.mk9b) .st-key-mkui-optl div[class*="st-key-mkopton_"] button p{color:#e8d48b !important;font-weight:800 !important;}
html body:not(.mk9a):not(.mk9b) .st-key-mkui-optl div[class*="st-key-mkopton_"] button::after{content:"";position:absolute;right:6px;top:50%;width:16px;height:16px;margin-top:-8px;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cdae6b' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12l5 5 9-10'/></svg>") center/contain no-repeat;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkui-ov-"] [data-testid="stMarkdownContainer"]{margin-bottom:0 !important;}   /* アプリ共通の -16px が見出しを選択肢に重ねていた */
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkui-ov-"] .st-key-mkui-liq [data-testid="stButtonGroup"]:not(.x9),html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkui-ov-"] .st-key-mkui-liq [data-testid="stButtonGroup"]:not(.x9) > div:not(.x9){flex-wrap:nowrap !important;overflow-x:auto;scrollbar-width:none;max-width:100%;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkui-ov-"] .st-key-mkui-liq [data-testid="stButtonGroup"]:not(.x9) button:not(.x9){padding:0 9px !important;min-width:0 !important;flex:0 0 auto !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkui-ov-"] .st-key-mkui-liqw :is([data-testid="stElementContainer"],[data-testid="stButtonGroup"]){width:100% !important;max-width:none !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkui-ov-"] .st-key-mkui-liqw [data-testid="stButtonGroup"] > div{flex-wrap:wrap !important;max-width:none !important;border-radius:18px !important;overflow:visible !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkui-ov-"] .st-key-mkui-liqw [data-testid="stButtonGroup"] button p{white-space:nowrap !important;font-size:14px !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkui-ov-"] .st-key-mkui-liq [data-testid="stButtonGroup"]:not(.x9) button:not(.x9) p{font-size:13.5px !important;white-space:nowrap !important;}
.mkui-ph{font-size:15px;font-weight:800;color:#e6e8eb;margin:6px 0 0;line-height:1.3;}
.mkui-pv{font-size:12px;color:#8a93a0;margin:0 0 12px;}
html body:not(.mk9a):not(.mk9b) .st-key-mkui-pane [data-testid="stButtonGroup"] > div{flex-wrap:wrap !important;gap:8px !important;}
html body:not(.mk9a):not(.mk9b) .st-key-mkui-pane [data-testid="stButtonGroup"] button{border-radius:999px !important;min-height:0 !important;height:36px !important;padding:0 14px !important;}
html body:not(.mk9a):not(.mk9b) .st-key-mkui-pane [data-testid="stButtonGroup"] button p{font-size:14px !important;font-weight:700 !important;white-space:nowrap !important;}
html body:not(.mk9a):not(.mk9b) .st-key-mkui-foot{border-top:1px solid rgba(255,255,255,.08);padding:10px 14px 0;}
html body:not(.mk9a):not(.mk9b) .st-key-mkui-foot [data-testid="stHorizontalBlock"]{flex-wrap:nowrap !important;gap:10px !important;}
html body:not(.mk9a):not(.mk9b) .st-key-mkui-foot [data-testid="stColumn"]{min-width:0 !important;flex:1 1 0 !important;width:auto !important;}
html body:not(.mk9a):not(.mk9b) .st-key-mkui-foot :is([data-testid="stElementContainer"],.stButton,[data-testid="stButton"]){width:100% !important;}
html body:not(.mk9a):not(.mk9b) .st-key-mkui-foot button{width:100% !important;height:46px !important;min-height:0 !important;border-radius:999px !important;}
html body:not(.mk9a):not(.mk9b) .st-key-mkui-foot button p{font-size:15px !important;font-weight:800 !important;}
html body:not(.mk9a):not(.mk9b) .st-key-mkui-done button{background:rgba(255,255,255,.12) !important;border:1px solid rgba(255,255,255,.2) !important;-webkit-backdrop-filter:blur(10px) saturate(140%);backdrop-filter:blur(10px) saturate(140%);box-shadow:inset 0 1px 0 rgba(255,255,255,.22) !important;}
html body:not(.mk9a):not(.mk9b) .st-key-mkui-done button p{color:#e6e8eb !important;}   /* 白いガラス+白い字(2026-10-07 案A) */
html body:not(.mk9a):not(.mk9b) .st-key-mkui-clear button{background:transparent !important;border:1px solid rgba(255,255,255,.18) !important;}

/* ── 検索欄+一発チップ(選手情報・2026-10-06「これで行こう」見本 static/meikan_ui_demo.html) ── */
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqs-"]{position:relative !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqs-"] [data-testid="stTextInput"] input{padding-right:118px !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqs-"] div[class*="st-key-mkqf"]{position:absolute !important;right:6px !important;top:50% !important;transform:translateY(-50%) !important;width:auto !important;z-index:2;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqf"] button{min-height:0 !important;height:32px !important;padding:0 12px 0 10px !important;border-radius:999px !important;background:rgba(255,255,255,.12) !important;border:1px solid rgba(255,255,255,.2) !important;-webkit-backdrop-filter:blur(10px) saturate(140%);backdrop-filter:blur(10px) saturate(140%);box-shadow:inset 0 1px 0 rgba(255,255,255,.22) !important;width:auto !important;gap:4px !important;display:inline-flex !important;align-items:center !important;white-space:nowrap !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqf"] button p{font-size:13px !important;font-weight:800 !important;color:#e8d48b !important;margin:0 !important;white-space:nowrap !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqf"] button::before{content:"";width:14px;height:14px;flex:none;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8d48b' stroke-width='2.6' stroke-linecap='round'><path d='M4 7h16M7 12h10M10 17h4'/></svg>") center/contain no-repeat;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqr-"]{display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;gap:5px !important;overflow-x:auto !important;scrollbar-width:none;align-items:center !important;padding:1px 0 !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqr-"]::-webkit-scrollbar{display:none;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqr-"] > *{flex:0 0 auto !important;width:auto !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqr-"] [data-testid="stMarkdownContainer"]{margin:0 !important;}
/* 選手情報の検索欄・チップの行・件数の行は詰めて1つのまとまりに(標準の16pxずつが空きすぎ・2026-10-06「スペースがなあ」) */
html body:not(.mk9a):not(.mk9b) :is(.st-key-mkqr-mklist,.st-key-mkqr-kyu,.st-key-mkqr-shitei,.st-key-mkqr-album,.st-key-mkqm-mklist,.st-key-mkqm-kyu){margin-top:-8px !important;}
html body:not(.mk9a):not(.mk9b) :is(.st-key-mkqm-mklist,.st-key-mkqm-kyu){justify-content:flex-end !important;}   /* 人数だけの行は右端 */
/* 「絞り込み条件を追加」の中のプルタブ: 3等分の固定幅をやめ、幅は名前に合わせる(▾が丸い端の外へ出た・長い名前は押し出された)。
   選手ページの条件検索と同じ(2026-10-06「コース×条件とかの統計のやつもそうして。投票シミュレーターも」)。名前は省略も折り返しもしない */
html body :is(.st-key-cm-adv,.st-key-kd-adv,.st-key-dm-flt,.st-key-sim-flt,.st-key-tl-flt2,.st-key-rcm-flt) [data-testid="stHorizontalBlock"]:has([data-testid="stPopover"]){flex-wrap:wrap !important;gap:8px !important;justify-content:flex-start !important;}
html body :is(.st-key-cm-adv,.st-key-kd-adv,.st-key-dm-flt,.st-key-sim-flt,.st-key-tl-flt2,.st-key-rcm-flt) [data-testid="stHorizontalBlock"]:has([data-testid="stPopover"]) > [data-testid="stColumn"]{flex:0 0 auto !important;width:auto !important;min-width:0 !important;}
html body :is(.st-key-cm-adv,.st-key-kd-adv,.st-key-dm-flt,.st-key-sim-flt,.st-key-tl-flt2,.st-key-rcm-flt) [data-testid="stHorizontalBlock"]:has([data-testid="stPopover"]) > [data-testid="stColumn"]:not(:has(button)){display:none !important;}
html body :is(.st-key-cm-adv,.st-key-kd-adv,.st-key-dm-flt,.st-key-sim-flt,.st-key-tl-flt2,.st-key-rcm-flt) button[data-testid="stPopoverButton"]{padding:0 11px 0 14px !important;gap:4px !important;width:auto !important;}
html body :is(.st-key-cm-adv,.st-key-kd-adv,.st-key-dm-flt,.st-key-sim-flt,.st-key-tl-flt2,.st-key-rcm-flt) button[data-testid="stPopoverButton"] > div:first-child p{white-space:nowrap !important;font-size:13.5px !important;font-weight:700 !important;letter-spacing:0 !important;}
@media (min-width:480px){html body :is(.st-key-cm-adv,.st-key-kd-adv,.st-key-dm-flt,.st-key-sim-flt,.st-key-tl-flt2,.st-key-rcm-flt) button[data-testid="stPopoverButton"] > div:first-child p{font-size:14px !important;}}
/* 文字の大きさはどのプルタブも同じ(収めるために小さくしていた物も戻す・2026-10-06指示) */
html body :is(.st-key-cm-adv,.st-key-kd-adv,.st-key-dm-flt,.st-key-sim-flt,.st-key-tl-flt2,.st-key-rcm-flt) button[data-testid="stPopoverButton"] > div:last-child{flex:none !important;margin:0 !important;}
.mkq-sep{display:block;width:1px;height:20px;background:rgba(255,255,255,.16);margin:0;}   /* チップの高さの中央に置く(上寄りで中途半端だった・2026-10-06) */
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqr-"] > [data-testid="stElementContainer"]:has(.mkq-sep){width:1px !important;min-width:1px !important;margin:0 2px !important;align-self:center !important;display:flex !important;align-items:center !important;height:22px !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqr-"] > [data-testid="stElementContainer"]:has(.mkq-sep) :is([data-testid="stMarkdown"],[data-testid="stMarkdownContainer"]){height:22px !important;display:flex !important;align-items:center !important;}   /* 区切りの箱が16px幅になり間が空きすぎた(2026-10-06「あけすぎ」) */
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqr-"] .mkq-sep{width:1px !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqr-"] [data-testid="stMarkdownContainer"] p{margin:0 !important;}
html body:not(.mk9a):not(.mk9b) :is(div[class*="st-key-mkq_"],div[class*="st-key-mkqon_"],div[class*="st-key-mkqlv"],div[class*="st-key-mkqdd"],div[class*="st-key-mkqsort"],div[class*="st-key-mkqstp"]) button{
  min-height:0 !important;height:34px !important;padding:0 13px !important;border-radius:999px !important;background:transparent !important;border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:none !important;width:auto !important;white-space:nowrap !important;gap:5px !important;display:inline-flex !important;align-items:center !important;}
html body:not(.mk9a):not(.mk9b) :is(div[class*="st-key-mkq_"],div[class*="st-key-mkqon_"],div[class*="st-key-mkqlv"],div[class*="st-key-mkqdd"],div[class*="st-key-mkqsort"],div[class*="st-key-mkqstp"]) button p{
  font-size:13px !important;font-weight:700 !important;color:#d4d8de !important;margin:0 !important;white-space:nowrap !important;letter-spacing:0 !important;
  line-height:1 !important;position:relative !important;top:1px !important;}   /* iPhoneで字がチップの中心より約1px上に寄る(実機の画面写真2枚で計測・行の高さを詰めても変わらず=書体の字の位置)。字だけ1px下げる・チップの大きさは不変(2026-10-08) */
html body:not(.mk9a):not(.mk9b) :is(div[class*="st-key-mkqon_"],div[class*="st-key-mkqlvon_"],div[class*="st-key-mkqddon_"],div[class*="st-key-mkqddpon_"]) button{border-color:#cdae6b !important;background:rgba(205,174,107,.12) !important;}
html body:not(.mk9a):not(.mk9b) :is(div[class*="st-key-mkqon_"],div[class*="st-key-mkqlvon_"],div[class*="st-key-mkqddon_"],div[class*="st-key-mkqddpon_"]) button p{color:#ffe9b8 !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqlv"] button::before{content:"";width:6px;height:6px;border-radius:50%;background:#ff5a4e;box-shadow:0 0 6px #ff5a4e;flex:none;}
html body:not(.mk9a):not(.mk9b) :is(div[class*="st-key-mkqdd"],div[class*="st-key-mkqsort"]) button::after{content:"";width:12px;height:12px;flex:none;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cdae6b' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>") center/contain no-repeat;}
/* チップのプルダウン: 小窓の入れ物は透過・Streamlit の ▾ は隠して自前の ▾ */
html body:not(.mk9a):not(.mk9b) :is(div[class*="st-key-mkqdd"],div[class*="st-key-mkqsort"]) [data-testid="stPopover"]{width:auto !important;}
html body:not(.mk9a):not(.mk9b) :is(div[class*="st-key-mkqdd"],div[class*="st-key-mkqsort"]) [data-testid="stPopoverButton"] > div:last-child:has(svg){display:none !important;}
html body:not(.mk9a):not(.mk9b) :is(div[class*="st-key-mkqdd"],div[class*="st-key-mkqsort"]) [data-testid="stPopoverButton"] [data-testid="stIconMaterial"]{display:none !important;}
html body [data-testid="stPopoverBody"]:has([class*="st-key-mkddg_"]){min-width:min(340px,92vw) !important;}
html body [data-testid="stPopoverBody"]:has([class*="st-key-mkddl_"]):not(:has([class*="st-key-mkddg_"])){width:fit-content !important;min-width:0 !important;max-width:92vw !important;}
html body [data-testid="stPopoverBody"] :is([class*="st-key-mkddl_"],[class*="st-key-mkddg_"],[class*="st-key-mkddr_"]) :is([data-testid="stElementContainer"],[data-testid="stButtonGroup"]){width:100% !important;max-width:none !important;}
html body [data-testid="stPopoverBody"] [class*="st-key-mkddr_"]{border-top:1px solid rgba(255,255,255,.08);margin-top:6px !important;padding-top:8px !important;}
/* リキッドのピル(アプリ共通の場の格子 .mk-jyo-g と同じ指定): 多い・短い物(支部・場・期)は4列の格子、少ない物(並び順・向き)は1行 */
html body [data-testid="stPopoverBody"] [class*="st-key-mkddg_"] [data-testid="stButtonGroup"] > div{display:grid !important;grid-template-columns:repeat(4,1fr) !important;
  border-radius:18px !important;overflow:visible !important;gap:2px !important;max-width:none !important;}
html body [data-testid="stPopoverBody"] [class*="st-key-mkddg_"] [data-testid="stButtonGroup"] button{width:100% !important;justify-content:center !important;}
html body [data-testid="stPopoverBody"] [class*="st-key-mkddg_3_"] [data-testid="stButtonGroup"] > div{grid-template-columns:repeat(3,1fr) !important;}   /* 5〜6択(狙い目のしきい値など)は3列 */
html body [data-testid="stPopoverBody"] :is([class*="st-key-mkddl_"],[class*="st-key-mkddr_"]) [data-testid="stButtonGroup"] > div{flex-wrap:nowrap !important;}
html body [data-testid="stPopoverBody"] :is([class*="st-key-mkddl_"],[class*="st-key-mkddg_"],[class*="st-key-mkddr_"]) [data-testid="stButtonGroup"] button p{white-space:nowrap !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqddp"] button{padding:0 12px 0 10px !important;}
/* 検索欄の右の期間チップ(ニュース・動画など): カレンダーの絵が付くので ▾ は付けず、余白も詰める(検索欄の文字が切れた・2026-10-06) */
html body:not(.mk9a):not(.mk9b) div[class*="-flt2"] div[class*="st-key-mkqdd"] button{padding:0 10px !important;}
html body:not(.mk9a):not(.mk9b) div[class*="-flt2"] div[class*="st-key-mkqdd"] button::after{display:none !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqddp"] button::after{display:none !important;}   /* 場はピンで選べると分かるので ▾ は付けない(カレンダーと並ぶ行が収まらなかった) */
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqddp"] button::before{content:"";width:13px;height:13px;flex:none;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cdae6b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M12 21s-6.5-5.6-6.5-11a6.5 6.5 0 0 1 13 0c0 5.4-6.5 11-6.5 11z'/><circle cx='12' cy='10' r='2.3'/></svg>") center/contain no-repeat;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqsort"] button{padding:0 11px 0 9px !important;}   /* 高さは他のチップと同じ34/36px(30pxで1つだけ低かった・2026-10-08) */
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqsort"] button::after{display:none;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqsort"] button::before{content:"";width:13px;height:13px;flex:none;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cdae6b' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M12 5v14M6 13l6 6 6-6'/></svg>") center/contain no-repeat;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqsortu"] button::before{transform:rotate(180deg);}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqm-"]{display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;justify-content:space-between !important;align-items:center !important;gap:8px !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqm-"] > *{width:auto !important;min-width:0 !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqm-"] [data-testid="stMarkdownContainer"]{margin:0 !important;}
.mkq-meta{font-size:12px;color:#8a93a0;line-height:1.4;}
.mkq-meta b{color:#e6e8eb;font-size:13.5px;font-weight:800;}
/* 期のステッパー ‹ 138期 › */
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqstpbox-"]{display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;align-items:stretch !important;gap:0 !important;height:44px !important;border-radius:999px !important;
  background:rgba(30,34,42,.55) !important;border:1px solid rgba(255,255,255,.14) !important;overflow:hidden !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqstpbox-"] > *{flex:0 0 56px !important;width:56px !important;min-width:0 !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqstpbox-"] > *:nth-child(2){flex:1 1 auto !important;width:auto !important;border-left:1px solid rgba(255,255,255,.08);border-right:1px solid rgba(255,255,255,.08);}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqstpbox-"] :is([data-testid="stElementContainer"],.stButton,[data-testid="stButton"]){width:100% !important;height:100% !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqstpbox-"] button{width:100% !important;height:42px !important;border:0 !important;border-radius:0 !important;background:transparent !important;padding:0 !important;justify-content:center !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqstp_"] button p{font-size:22px !important;color:#cdae6b !important;font-weight:400 !important;line-height:1 !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqstpm"] button p{font-size:16px !important;font-weight:800 !important;color:#e6e8eb !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqstpm"] button::after{content:"";width:12px;height:12px;margin-left:5px;flex:none;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cdae6b' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>") center/contain no-repeat;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqstpx"] button{opacity:.25 !important;pointer-events:none !important;}
@media (min-width:480px){
html body:not(.mk9a):not(.mk9b) :is(div[class*="st-key-mkq_"],div[class*="st-key-mkqon_"],div[class*="st-key-mkqlv"],div[class*="st-key-mkqdd"],div[class*="st-key-mkqsort"]) button{height:36px !important;}
html body:not(.mk9a):not(.mk9b) :is(div[class*="st-key-mkq_"],div[class*="st-key-mkqon_"],div[class*="st-key-mkqlv"],div[class*="st-key-mkqdd"],div[class*="st-key-mkqsort"]) button p{font-size:14px !important;}}
/* 条件検索のプルタブは幅いっぱいまで横に流す(2026-10-07) */
html body div[class*="st-key-rcmflow9_"]{flex-wrap:wrap !important;gap:8px 8px !important;align-items:center !important;justify-content:flex-start !important;}
html body div[class*="st-key-rcmflow9_"] > div{width:auto !important;flex:0 0 auto !important;min-width:0 !important;}
/* アイコンはボタン本体の背景に描く(2026-10-07 iPhoneで「絞り込み」「全国」のアイコンが消えた: ::before の絵がSafariで描かれないことがある)。
   ::before は場所取りだけ残して絵は出さない(二重にならないように) */
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mklead"] button{background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8d48b' stroke-width='2.6' stroke-linecap='round'><path d='M4 7h16M7 12h10M10 17h4'/></svg>") no-repeat 11px 50%/15px 15px,rgba(255,255,255,.12) !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mklead"] button::before{background:none !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqf"] button{background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8d48b' stroke-width='2.6' stroke-linecap='round'><path d='M4 7h16M7 12h10M10 17h4'/></svg>") no-repeat 10px 50%/14px 14px,rgba(255,255,255,.12) !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkqf"] button::before{background:none !important;}
html body:not(.mk9a):not(.mk9b) :is(div[class*="st-key-mkchip_jo_"],div[class*="st-key-mkqddp"]) button{background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cdae6b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M12 21s-6.5-5.6-6.5-11a6.5 6.5 0 0 1 13 0c0 5.4-6.5 11-6.5 11z'/><circle cx='12' cy='10' r='2.3'/></svg>") no-repeat 12px 50%/13px 13px,transparent !important;}
html body:not(.mk9a):not(.mk9b) div[class*="st-key-mkchipm_jo_"] button{background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cdae6b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M12 21s-6.5-5.6-6.5-11a6.5 6.5 0 0 1 13 0c0 5.4-6.5 11-6.5 11z'/><circle cx='12' cy='10' r='2.3'/></svg>") no-repeat 12px 50%/13px 13px,transparent !important;}
html body:not(.mk9a):not(.mk9b) :is(div[class*="st-key-mkchip_jo_"],div[class*="st-key-mkchipm_jo_"],div[class*="st-key-mkqddp"]) button::before{background:none !important;}


/* 結果ポップのリプレイとスタート隊形の書体をそろえる(2026-10-04) */
.res-pop details.stex-pop > summary,.res-pop details.vidp > summary{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans",sans-serif !important;}
/* 表の中の場名は金文字(狙い目・デイリーデータと同じ #cdae6b・2026-09-07指示) */
.mk-jyo{color:#f5f5f7;font-weight:800;}   /* 場名は白(2026-10-07「場名の金文字変えよう」・狙い目と同じ) */

/* ===== macOS作法の統一トークン(2026-08-31採用) =====
   角丸を4段に固定 / 箱の枠は白のヘアライン(金は文字と要点へ) /
   影と半透明は「上に開くもの」だけ / 丸ピルは7pxへ */
:root{ --r-sheet:16px; --r-panel:12px; --r-control:999px; --r-thumb:8px;
   --hair:rgba(255,255,255,0.11); --hair-s:rgba(255,255,255,0.16); }
/* --- パネル・カード --- */
.glass-panel, .cz-wrap, .score-rank-wrap, .vg-card, .vg-hband, .dhub-tile,
.ron-pcard, .ron-chcard, .ron-vcard, .ron-jcard, .dd8-card, .ob9-card, .sm9-card,
.nw2-ca, .nw2-sc, .nw2-hero, .mk-card, .bzd, .vp-card, .ron-toc,
[class*="st-key-ns-"], [data-testid="stExpander"]{
border-radius: var(--r-panel) !important; }
/* 枠色は白のヘアライン。ただし部カードは部ごとの色を持つので対象外 */
.glass-panel, .cz-wrap, .score-rank-wrap, .vg-card, .vg-hband, .dhub-tile,
.ron-chcard, .ron-vcard, .ron-jcard, .dd8-card, .ob9-card, .sm9-card,
.nw2-ca, .nw2-sc, .nw2-hero, .mk-card, .bzd, .vp-card, .ron-toc,
[class*="st-key-ns-"], [data-testid="stExpander"]{
border-color: var(--hair) !important; }
/* --- シート・ポップオーバー(浮くものだけ材質を持つ) --- */
.hlp-pop, .rpop-pop, .ron-pop, #catcal-panel, .vpp-box, .rtips-body,
[class*="st-key-bcpop"]{
border-radius: var(--r-sheet) !important;
border-color: var(--hair-s) !important;
box-shadow: 0 18px 50px rgba(0,0,0,0.55) !important; }
#catcal-panel{ background: rgba(28,31,38,0.74) !important;
-webkit-backdrop-filter: blur(24px) saturate(1.6);
backdrop-filter: blur(24px) saturate(1.6); }
/* --- コントロール(丸ピル 999px をやめる) --- */
/* 日付ピルは3画面で同一 */
.vg-head-d{ border-radius:999px !important; border:1px solid rgba(255,255,255,0.14) !important; background-color:transparent !important; padding:6px 14px !important; font-size:14.5px !important; }
.vg-nav-tl, .vg-nav-today, .cc-reset, .ron-navbtn,
.stButton > button, [data-testid="stBaseButton-secondary"]{
border-radius: var(--r-control) !important; }
/* セレクト(全国勝率/全級別/高い順など)の文字もプルタブと同じ太さに
   (2026-08-31指示: コース×条件のプルタブ = Source Sans 600 に統一) */
[data-baseweb="select"] > div, [data-baseweb="select"] > div *{
    font-family: "Source Sans", sans-serif !important; font-weight: 600 !important; }
/* プルタブの書体はコース×条件のプルタブ(Streamlit popover)に統一(2026-08-31指示) */
.vp-more > summary, .mk-ph-more > summary, .mk-cr-more > summary,
.mtjd > summary, .bk-more > summary, .rnw-btn, .onep-close,
[data-testid="stExpander"] summary, [data-testid="stExpander"] summary *,
[data-testid="stExpander"] summary p, [data-testid="stExpander"] summary [data-testid="stMarkdownContainer"] p{
    font-family: "Source Sans", sans-serif !important; font-weight: 600 !important; }
/* ↑の summary * が展開矢印のMaterial Symbolsアイコンまで潰す
   (リガチャ未解決の「keyboard_arrow_right」生テキスト・2026-09-01実機報告)。
   アイコンだけフォントを戻す */
[data-testid="stExpander"] summary [data-testid="stIconMaterial"]{
    font-family: "Material Symbols Rounded" !important; }
/* --- サムネイル --- */
.nws-thumb, .nws-bimg, .nw2-ca img, .nw2-sc img, .ytv-th, .nw2-hero img.h{
border-radius: var(--r-thumb) !important; }
.nw2-ca, .nw2-sc, .nw2-hero{ overflow: hidden; }

/* 選手検索の並び順「高い順/低い順」ピルの間隔(2026-08-29指摘: くっつきすぎ。
   gapが効かない環境があったためlabelのmarginで空ける) */
[class*="st-key-mk_sortdir"] div[role="radiogroup"] label:first-of-type{margin-right:8px !important;}
/* height=0のcomponents.html(裏方スクリプト)は箱ごと消す。残しておくと
   Streamlitの縦gap(1rem)だけ空白が積み上がる(2026-08-09指摘: コース別詳細の
   プルタブとタブの間に隙間) */
/* 直下(>)限定だと入れ子のiframe(ST考察のタブバー等)に効かず16px残る(2026-09-02) */
:is([data-testid="stElementContainer"], .element-container):has(iframe[height="0"]){
  display:none !important; }
/* スライドタブ(検索/比較)のラベルを851フォントに */
[data-baseweb="tab-list"] [data-baseweb="tab"],
[data-baseweb="tab-list"] [data-baseweb="tab"] p {
  font-family:"851Gkktt","Hiragino Sans",sans-serif !important; letter-spacing:.06em; }
.mk-wrap a { text-decoration: none; }
.mk-row { display:flex; align-items:center; gap:7px; padding:9px 10px; margin:6px 0;
  /* gap10→7/padding12→10: 養成期追加分の幅を吸収(2026-09-01) */
  color:#f5f5f7 !important; text-decoration:none !important;
  border:1px solid rgba(255,255,255,0.12); border-radius:12px;
  background: rgba(255,255,255,0.04); color:#eee; }
.mk-row:hover { border-color:#cdae6b; background: rgba(205,174,107,0.08); }
.mk-row.mk-today { border-color: rgba(205,174,107,0.85);
  box-shadow: 0 0 6px rgba(205,174,107,0.25); }
.mk-no { font-family:'Courier New',monospace; color:#cdae6b; min-width:46px; }
/* 検索結果行の登録番号は箱内センター=顔写真と名前行の中間に見える(2026-09-04指示) */
.mk-row .mk-no { text-align:center; }
.mk-name { font-weight:700; font-size:15px; min-width:7.5em; }
.mk-sub { color: rgba(255,255,255,0.65); font-size:12px; }
.mk-row .mk-sub { font-size:11.5px; }  /* 検索行は0.5px詰め(養成期分・2026-09-01) */
/* 2026-09-05 案1採用: 色は従来のまま、書体851+グレードバッジ規格(11px)に統一。
   app.py の .kyu-badge と同時に直すこと */
.mk-kyu { display:inline-block; width:32px; box-sizing:border-box; text-align:center;
  padding:1px 0; border-radius:6px; font-size:11px; font-weight:700; color:#10131a;
  line-height:1.5; letter-spacing:0;
  font-family:'851Gkktt','Hiragino Sans',-apple-system,sans-serif; }
/* バッジ内の英数字(SG/G1/G3等)だけ一回り大きく(2026-08-30指示)。
   全角の「一般」「ルーキー」と並べると半角英数が小さく見えるため、
   ASCIIの字面だけ size-adjust で拡大する。日本語ラベルの大きさ・
   バッジの箱の大きさは変えない(未対応ブラウザでも見た目が壊れない) */
@font-face { font-family:'BadgeLatin';
  src:local('Hiragino Sans'), local('HiraginoSans-W6'), local('Helvetica Neue'),
      local('Arial'), local('system-ui');
  unicode-range:U+0030-0039, U+0041-005A, U+0061-007A;
  size-adjust:96%; }   /* グレードバッジの英数字の比率はこの1点で統一(2026-08-30) */
.mk-badge { display:inline-block; padding:1px 7px; border-radius:6px; font-size:11px;
  font-weight:700; margin-left:4px; }
/* 実績3行(優勝回数/獲得賞金/ファン投票)は書体は本文のまま、中太+アイボリーで
   一段持ち上げる(2026-08-30 案E採用。851ゴチカクットは字間が広く行が折り返した)。
   金額だけは851ゴチカクットで見出し格に(同指示) */
.mk-ach { font-weight:800; color:#e9dcbe; letter-spacing:.03em; }
/* 優勝回数はバッジ6個+文言で354px幅ぴったりだったため、中太にした分だけ
   溢れて折り返した。バッジは他画面と同じ大きさのままにして、文言側を
   12.5pxに落として幅を作る(2026-08-30 選択肢2) */
.mk-ach .mk-badge, .mk-ach .mk-dim { letter-spacing:0; font-weight:700; }
/* バッジ内の英数字だけ ほんの少し大きく(2026-08-30指示)。書体は変えず
   font-size だけ上げる。箱が膨らまないよう左右のpaddingで1px相殺する */
.mk-ach .mk-badge .bn { font-size:1.07em; }
.mk-ach .mk-badge:has(.bn) { padding-left:6px; padding-right:6px; }
.mk-ach .mk-dim { font-weight:400; }
.mk-yen { font-family:'851Gkktt','Hiragino Sans',sans-serif;
  letter-spacing:.02em; }
/* グレードバッジ(SG/G1/G2/G3)だけ英数字を少し大きく。全角の「一般」と並ぶと
   半角英数が小さく見えるため字面だけ拡大する。優勝回数バッジ等の他のバッジは対象外
   (2026-08-30「デカすぎ」「グレードバッジ内の話をしている」) */
/* グレードバッジは箱の大きさも統一(2026-08-30指示「一般とG3、SG、G1、G2と
   違うから揃えて」)。半角2字(G3)と全角2字(一般)は素の幅が違うため、
   最小幅+中央寄せで同じ箱にする。ルーキー等の長いラベルは自然に伸びる */
.mk-badge.gbadge, .gbadge { font-family:'BadgeLatin','Hiragino Sans',-apple-system,sans-serif;
  min-width:38px; text-align:center; box-sizing:border-box;
  padding-left:4px; padding-right:4px; }
/* グレードバッジ ティント×851(2026-09-02採用)。--gc=グレード色。
   女子戦のピンク文字はインラインcolorが勝つ(インライン>クラス) */
.mk-badge.gtint, .gtint{background:var(--gc) !important;color:#fff !important;border:0 !important;text-shadow:none !important;font-family:'851Gkktt','Hiragino Sans',-apple-system,sans-serif !important;border-radius:6px !important;padding:1px 5px !important;min-width:36px !important;font-weight:700 !important;letter-spacing:0 !important;font-size:10px !important;line-height:1.5 !important;box-sizing:border-box !important;display:inline-block !important;text-align:center !important;}
/* 一覧の本日出走チップ: 内容(場名・R)が可変でも幅・高さを統一 (右寄せ固定幅・1行) */
.mk-tchip { flex:0 0 auto; width:66px; box-sizing:border-box;
  white-space:nowrap; overflow:hidden; text-overflow:clip; text-align:center;
  padding:9px 2px; border-radius:8px; font-size:11.5px; font-weight:700; line-height:1.2;
  /* 場名+R表記化に合わせ幅だけ縮小 76→66px。高さ(上下9px)と文字11.5pxは維持
     (2026-09-01「高さは出して」「中の文字サイズも上げて」) */
  font-family:'Hiragino Sans',-apple-system,sans-serif;
  /* ↑数字がSource Sans(英数のみ)に落ちて漢字と別書体サイズに見えていた修正(2026-09-01) */
  background:rgba(205,174,107,0.2); color:#cdae6b; border:1px solid rgba(255,255,255,0.14); }
/* 一覧行(.mk-row)内だけの列調整。プロフィールの .mk-name/.mk-sub には影響させない */
.mk-row .mk-name { flex:0 0 auto; min-width:5em; white-space:nowrap;
  font-size:16px; }  /* 検索結果の選手名は大きく(2026-09-01再指示) */
.mk-row .mk-sub { flex:1 1 0; min-width:5.5em;
  white-space:nowrap; }  /* <br>以外で折らない(勝率が3行化した2026-09-01対策)。バッジ2個の行で縦積みになるのを防ぐ */
/* 名前の下に養成期/支部/年齢の極小行(2026-09-01指示)。列は名前列の幅(6.2em@16px=99px)で
   固定し登番列に掛からない。属性が1〜2px超える時は右のgapへはみ出す(clipしない) */
.mk-ncol { display:flex; flex-direction:column; gap:2px; flex:0 0 99px; min-width:0; }
/* 勝率+本日出走チップの右端容器。幅が足りる画面(75%ズーム=524等)は従来の横並び、
   足りない画面(100%ズーム=390等)だけ勝率の下へ縦積みして自動フィット(2026-09-01) */
.mk-rt { display:flex; flex-direction:row; align-items:center; gap:7px;
  flex:1 1 0; min-width:0;
  margin-left:6px; }  /* 級別バッジと勝率の間を少し空ける(2026-09-01指示) */
/* 容器はラベル文字幅に縮め、数字はその中央に置く(2026-09-01指示)。
   チップの右寄せは .mk-tchip 側の margin-left:auto で維持 */
.mk-rt .mk-sub { flex:0 0 auto; min-width:0; display:flex;
  flex-direction:column; align-items:center;
  position:relative; top:-3px; }  /* 数字の見た目の下端を級別バッジの下端に合わせる(2026-09-01指示) */
/* 右寄せは先頭チップだけ。全チップにautoを効かせるとチップ同士の間隔まで広がる
   (2026-09-01「バッジ同士の間隔変えた?」の修正)。2個目以降はgap:7pxで密着 */
.mk-rt .mk-sub + .mk-tchip { margin-left:auto; }
/* 勝率の体裁=案5(2026-09-01採用): 極小ラベルの下にコンデンス白数字 */
.mk-row .mk-rl { display:block; color:rgba(255,255,255,0.45);
  font-size:9px; letter-spacing:.08em; }
.mk-row .mk-rv { display:block; color:#f5f5f7; font-size:19px; font-weight:600;
  line-height:1; font-family:'Avenir Next Condensed','Arial Narrow',sans-serif;
  margin-top:1px; }
@media (max-width:480px){
  /* 狭い画面は折り返しで自動フィット: 勝率(+並び順指標)は横並びのまま、
     入り切らないチップだけ下の行へ落ちる(2026-09-01) */
  .mk-rt { flex-wrap:wrap; gap:4px 7px; }
  .mk-rt .mk-tchip, .mk-rt .mk-sub + .mk-tchip { padding:3px 3px;
    margin-left:0; }  /* 折り返し時は上下を薄く・左寄せ(行高を保つ) */
}
.mk-ncol .mk-name { flex:0 0 auto; min-width:0; white-space:nowrap; overflow:hidden; }
.mk-sub2 { color:rgba(255,255,255,0.45); font-size:10.5px; letter-spacing:.02em;
  white-space:nowrap; line-height:1; }
.mk-card { border:1px solid rgba(255,255,255,0.11); border-radius:12px;
  background: rgba(255,255,255,0.04); padding:14px 16px; margin:8px 0; }
.mk-h { color:#cdae6b; font-weight:700; font-size:14px; letter-spacing:.06em;
  border-bottom:1px solid rgba(255,255,255,0.11); padding-bottom:4px; margin:4px 0 8px; }
/* SAVANTは展開時だけ見出し下線(他セクションのmk-hと同じ線・2026-08-15指示) */
.mk-sv[open]>summary { border-bottom:1px solid rgba(255,255,255,0.14); }
.mk-table { width:100%; border-collapse:collapse; font-size:13px;
  /* 表の文字はレースページ(出走表/スコアランキング)と同じシステム書体に統一
     (2026-09-07指示: Source Sans 400は細く見える) */
  font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue','Hiragino Sans',sans-serif; }
/* グレード別成績は9列。折り返さないよう、この表だけ字と余白を詰める */
.mk-gtab { font-size:11.5px; letter-spacing:-0.02em; }
.mk-gtab th, .mk-gtab td { padding:4px 3px !important; white-space:nowrap; }
.mk-gtab th { font-size:11px; }
/* 場別・年別の表は字を大きく(2026-10-11「字が小さいので見やすくして」)。mk-gtab9 を付けた表だけ */
.mk-gtab.mk-gtab9{font-size:13.5px;letter-spacing:-0.03em;}
.mk-gtab.mk-gtab9 th{font-size:11.5px;}
.mk-gtab.mk-gtab9 th,.mk-gtab.mk-gtab9 td{padding:7px 2px !important;}
.mk-gtab.mk-gtab9.mk-gtab9y{font-size:12.5px;letter-spacing:-0.06em;}
.mk-gtab.mk-gtab9.mk-gtab9y th{font-size:10.5px;}
@media (min-width:440px){.mk-gtab.mk-gtab9.mk-gtab9y{letter-spacing:-0.03em;}}
.mk-gtab.mk-gtab9.mk-gtab9y th,.mk-gtab.mk-gtab9.mk-gtab9y td{padding:7px 1px !important;}   /* 年別は9列なので幅390でも収まる大きさに */
/* 表は新しい様式(2026-10-07「茶色の見出しの表を全て差し替え」): 見出し=薄い灰の字・縦線なし・細い横線だけ */
.mk-table th { background: none; color:#9aa3ae; padding:4px 6px;
  border:0; border-bottom:1px solid rgba(255,255,255,0.14); text-align:center; font-weight:700; }
.mk-table td { padding:4px 6px; border:0; border-bottom:1px solid rgba(255,255,255,0.06); text-align:center; }
.mk-table tr:last-child td { border-bottom:0; }
tr.th9 th { color:#9aa3ae !important; font-weight:700; background:none !important; border-left:0 !important; border-right:0 !important; border-top:0 !important; border-bottom:1px solid rgba(255,255,255,0.14) !important; }
.mk-dim { color: rgba(255,255,255,0.55); font-size:11px; }
.mk-wait { color:#ffb45e; font-size:13px; border:1px dashed rgba(255,180,94,0.5);
  border-radius:8px; padding:8px 10px; }
.mk-races { display:flex; flex-wrap:wrap; gap:6px; margin:2px 0 8px; }
.mk-race-chip { display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:5px 16px; border:1px solid rgba(255,255,255,0.14); border-radius:9px;
  background: rgba(205,174,107,0.10); color:#cdae6b !important;
  font-weight:700; font-size:14px; flex:0 0 calc(50% - 3px); min-width:0; box-sizing:border-box; }
/* 場名は金(2026-10-05「デフォルト金じゃなかった?」: 10/03 のガラスのカプセル統一でチップの文字色が白に上書きされ、場名まで白になっていた)。R の色は R の文字側の指定のまま */
html body .mk-race-chip > a { color:#f5f5f7 !important; }
.mk-waku { display:inline-block; width:19px; height:19px; line-height:17px;
  border-radius:.28em; text-align:center; font-size:12px; font-weight:700;
  border:1px solid rgba(255,255,255,0.25);box-sizing:border-box; }
  /* line-height は内寸(高さ19−枠1px×2=17px)に合わせる。19pxのままだと数字が枠線ぶん下に寄っていた
     (2026-09-22指摘「過去レースの全結果の艇番バッジ内の数字の位置」) */
.mk-today-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:8px; }
.mk-cell { background: rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.10);
  border-radius:12px; padding:8px 10px; font-size:13px; line-height:1.7; }
.mk-cl { color:#cdae6b; font-size:11px; letter-spacing:.08em; margin-bottom:3px;
  font-weight:700; }
.mk-big { font-size:17px; font-weight:800; color:#fff; }
@font-face { font-family:"851Gkktt"; src:url("/assets/851Gkktt.ttf") format("truetype");
  font-display:swap; }
.mk-nickname { font-size:17px; font-weight:400; letter-spacing:.12em;
  font-family:"851Gkktt","Hiragino Sans",sans-serif; margin-bottom:2px;
  color:#d9bd78;   /* 金の単色(2026-10-08 グラデーションをやめた) */
  filter:drop-shadow(0 0 7px rgba(205,174,107,0.35)); padding-right:.2em; }
.mkpop { display:inline-block; margin:0; vertical-align:middle; }
.mkpop summary { list-style:none; cursor:pointer; }
.mkpop summary::-webkit-details-marker { display:none; }
.mkpop-chip { display:inline-block; padding:3px 13px;
  border:1px solid rgba(255,255,255,0.16); border-radius:999px; background:rgba(30,34,42,0.22);
  color:#e6e8eb; font-size:12px; font-weight:700; }   /* 通常の画面の共通の見た目(ガラスのカプセル・白い字)と同じに。予想ページから開いたポップ(埋め込み)では共通の指定が入らず金色だった(2026-10-09) */
.mkpop-bg { display:none; }
.mkpop[open] .mkpop-bg { display:block; position:fixed; inset:0;
  z-index:99980; background:rgba(0,0,0,0.55); }
.mkpop-wrap { position:fixed; left:50%; top:50%; transform:translate(-50%,-50%);
  z-index:99990; display:flex; flex-direction:column; align-items:stretch;
  width:min(340px,86vw); max-height:74vh; }
.mkpop-pop {
  width:100%; max-height:60vh; overflow-y:auto;
  background:#11141b; border:1px solid rgba(255,255,255,0.11);
  border-radius:16px; padding:16px; line-height:1.85; font-size:13px;
  box-shadow:0 10px 40px rgba(0,0,0,0.6);
  /* 横の可動域を固定: はみ出す長文があっても横パンさせない */
  overflow-x:hidden; word-break:break-word; overflow-wrap:anywhere;
  white-space:normal; text-align:left;
  touch-action:pan-y; box-sizing:border-box; }
.mk-period { display:block; margin-top:9px; padding-top:6px;
  border-top:1px dashed rgba(205,174,107,0.25); text-align:right;
  font-size:10px; letter-spacing:.08em; color:rgba(205,174,107,0.75);
  font-family:'Courier New',monospace; }
.mk-mx { width:100%; border-collapse:collapse; table-layout:fixed; font-size:11px; }
.mk-mx th, .mk-mx td { padding:3px 1px; text-align:center;
  border:1px solid rgba(255,255,255,0.10); overflow:hidden; white-space:nowrap; }
.mk-mx th { background: rgba(205,174,107,0.16); color:#e9dcbe; font-weight:600;
  font-size:10px; }
.mk-mx .mk-lab { width:26px; background: rgba(205,174,107,0.10); color:#cdae6b;
  font-weight:700; font-size:10px; }
.mk-mx .mk-dsep { border-left:2px solid rgba(205,174,107,0.40); }
/* 見出し横の❔ヘルプ (app._HELP_CSSと同一様式。2026-07-13) */
.hlp{display:inline-block;vertical-align:middle;margin-left:7px;position:relative;top:-2px;}
.hlp>summary{list-style:none;cursor:pointer;width:17px;height:17px;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;border-radius:50%;
  border:1px solid rgba(250,250,250,0.4);color:rgba(250,250,250,0.6);font-size:11.5px;
  font-weight:800;box-sizing:border-box;font-family:-apple-system,"Hiragino Sans",sans-serif;}
.hlp>summary::-webkit-details-marker{display:none;}
.hlp>summary>span{display:block;transform:translateY(-0.27px);}
.hlp[open]>summary{background:rgba(250,250,250,0.12);}
.hlp-bg{display:none;}.hlp[open] .hlp-bg{display:block;position:fixed;inset:0;
  z-index:99980;background:transparent;}   /* 後ろは暗くしない(2026-10-06「窓の後ろの黒いのいらん」)。外を押すと閉じる役だけ残す */
.hlp-pop{display:none;}.hlp[open] .hlp-pop{display:block;position:fixed;left:50%;top:50%;
  transform:translate(-50%,-50%);z-index:99990;width:min(330px,86vw);max-height:80vh;
  overflow-y:auto;background:rgba(26,30,38,.5);-webkit-backdrop-filter:blur(12px) saturate(170%);backdrop-filter:blur(12px) saturate(170%);border:1px solid rgba(255,255,255,0.11);
  border-radius:16px;padding:16px;box-shadow:0 12px 44px rgba(0,0,0,0.65);
  font-size:12.5px;line-height:1.85;color:#d8dde3;font-weight:400;text-align:left;
  letter-spacing:normal;font-family:-apple-system,"Hiragino Sans","Helvetica Neue",sans-serif;}
/* ?ヘルプも閉じるを枠外に(2026-08-31指示)。枠は内側の.hlp-bodyが持ち、
   .hlp-popは透明の縦並びの器になる(app.pyのrtips様式と同じ) */
.hlp[open] .hlp-pop:has(>.hlp-body){background:transparent !important;border:0 !important;box-shadow:none !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important;
  box-shadow:none;padding:0;overflow:visible;display:flex;flex-direction:column;
  gap:9px;max-height:86vh;}
.hlp-body{background:rgba(26,30,38,.5);-webkit-backdrop-filter:blur(12px) saturate(170%);backdrop-filter:blur(12px) saturate(170%);border:1px solid rgba(255,255,255,0.14);
  border-radius:16px;padding:16px;max-height:74vh;overflow-y:auto;
  -webkit-overflow-scrolling:touch;box-shadow:0 12px 44px rgba(0,0,0,0.65);}
.hlp[open] .hlp-pop:has(>.hlp-body)>.mk-popclose{margin:0;flex:0 0 auto;}
/* 枠外閉じる版のポップ(コメント履歴等): 縦flexラッパー+ポップ+下に閉じるボタン */
.hlpw{display:none;}
.hlp[open] .hlpw{display:flex;position:fixed;inset:0;z-index:99990;flex-direction:column;
  align-items:center;justify-content:center;padding:14px;}
.hlpw .hlp-pop2{width:min(360px,90vw);max-height:70vh;overflow-y:auto;
  -webkit-overflow-scrolling:touch;background:#11141b;
  border:1px solid rgba(255,255,255,0.11);border-radius:16px;padding:16px;
  box-shadow:0 12px 44px rgba(0,0,0,0.65);font-size:12.5px;line-height:1.85;
  color:#d8dde3;font-weight:400;text-align:left;letter-spacing:normal;
  font-family:-apple-system,"Hiragino Sans","Helvetica Neue",sans-serif;}
/* 閉じるの見た目は共通(.mk-popclose)に寄せる。ここは幅だけ指定(2026-08-14指示) */
.hlpw .mk-popclose{width:min(360px,90vw);flex-shrink:0;}
/* ===== 選手ページ改修(2026-10-07「これで行こう」・見本 static/racer_demo.html) ===== */
/* 見出しは狙い目と同じ851の生成り色。下線はやめる */
.mk-h{color:#e9dcbe !important;font-size:16px;border-bottom:0 !important;padding-bottom:0;margin:2px 0 10px;}
/* 集計期間は区画の下に破線+右下(mk-period本来の形。2026-10-07指示で見出し下の薄い行をやめて全カード統一) */
.mk-card{position:relative;}
/* 区画の下のボタン(全出走履歴・展示詳細など)は白いガラス+白い字(2026-10-07 予想ページと同じ案A・金の字はくどい) */
html body a:is([href$="&tenjid=1"],[href$="&gyear=1"],[href$="&zenso=1"],[href$="&venue=1"],[href$="&stkou=1"],[href$="&cdeme=1"],[href^="webcal:"]){
  background:rgba(255,255,255,.10) !important;border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18) !important;color:#e6e8eb !important;font-weight:800 !important;}
html body a[href^="webcal:"] svg{stroke:#e6e8eb !important;}
/* 本日の出走: レースはカード2列・中の箱(今節成績・使用モーター・当地成績・過去の当地出走)はやめて細い線の小見出しで区切る */
html body .mk-race-chip{background:rgba(255,255,255,.04) !important;border:0 !important;border-radius:14px !important;
  padding:8px 10px !important;gap:6px !important;}

.mk-today-grid:not(.mtg-flat9){display:block !important;}
.mk-today-grid:not(.mtg-flat9)>.mk-cell{background:transparent !important;border:0 !important;border-radius:0 !important;padding:0 !important;margin:14px 0 0;}
.mk-today-grid:not(.mtg-flat9)>.mk-cell>.mk-cl{display:flex;align-items:center;gap:8px;color:#c9ced5 !important;font-size:11.5px !important;font-weight:800;letter-spacing:.02em;margin-bottom:8px;}
.mk-today-grid:not(.mtg-flat9)>.mk-cell>.mk-cl::after{content:"";flex:1;height:1px;background:rgba(255,255,255,.08);}
.mk-today-grid:not(.mtg-flat9) .mk-cell div.mk-statl9{color:#8a93a0 !important;font-weight:700;}   /* 枠の中の小見出し(作る所で .mk-statl9・2026-10-07 色で探すのをやめた) */
/* 本日のレースのカード: 1行(場R・艇番・右寄せで「締切 16:07」/「着順 1着」)。2026-10-07「１行がいい」
   ズレの原因=場名・Rは Source Sans/時刻はシステム書体と混在+Rだけ行の高さが違い1.6px浮いていた(同日「なんでこんなにズレて」)。
   書体をシステム書体1つにし、行の高さを1に・全部を同じ中心線にそろえる */
/* カードの長さは従来どおり(半分幅)。中の3つ(場R・艇番・締切)を均等な間隔で並べ、真ん中だけ大きく空くのをなくす
   (2026-10-07「真ん中のスペースが気になる」→「長さを調整してどうすんの」) */
html body div.mk-race-chip.rc9.rc9{background:rgba(255,255,255,.04) !important;border:1px solid rgba(255,255,255,.07) !important;}   /* app.pyのガラスのカプセル統一より詳しく(今節結果の箱と同じ色・2026-10-07) */
html body div.mk-race-chip.rc9{display:flex !important;align-items:center;justify-content:space-between;gap:4px !important;
  padding:0 12px !important;height:40px;box-sizing:border-box;border-radius:14px !important;min-width:0;
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Helvetica Neue",sans-serif !important;}
html body div.mk-race-chip.rc9 *{font-family:inherit !important;line-height:1 !important;}
html body .rc9>a{display:inline-flex;align-items:center;font-size:13.5px;font-weight:800;color:#f5f5f7 !important;letter-spacing:-.03em;}
html body .rc9>a>span{font-size:inherit !important;}
html body .rc9 details,html body .rc9 summary{display:inline-flex !important;align-items:center;}
html body .rc9 .mk-waku{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:11.5px;}
.rc9 .x{margin-left:0 !important;display:inline-flex;align-items:center;gap:3px;white-space:nowrap;}
.rc9 .x small{font-size:10px;color:#8a93a0;font-weight:700;}
.rc9 .x b{font-size:13.5px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.03em;}
.rc9 .x b.t{color:#e6e8eb;}
/* 小見出しの右の補足(時点・号機) */
.mk-today-grid:not(.mtg-flat9) .cs9{font-size:11px;color:#8a93a0;font-weight:600;letter-spacing:0;white-space:nowrap;}
.mk-today-grid:not(.mtg-flat9) .mno9{display:inline-flex;align-items:center;gap:2px;color:#c9ced5;}
.mk-today-grid:not(.mtg-flat9) .mno9 a{font-family:"851Gkktt","Hiragino Sans",sans-serif;font-size:16px;color:#e8d48b !important;}
.mk-today-grid:not(.mtg-flat9) .mno9 i{font-style:normal;font-size:11px;margin:0 4px 0 2px;}
.mk-today-grid:not(.mtg-flat9) .mno9 .mk-badge{margin-left:2px;}
/* 予選得点率は大きな数字 */
.big9{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:8px;}
.big9 em{font-style:normal;font-size:12px;color:#8a93a0;font-weight:700;}
.big9 b{font-family:"851Gkktt","Hiragino Sans",sans-serif;font-weight:400;font-size:25px;color:#e8d48b;line-height:1;}   /* 予選得点率の数字も一回り小さく(2026-10-07) */
.big9 .rk9{display:inline-flex;align-items:center;gap:1px;align-self:center;height:24px;box-sizing:border-box;padding:0 9px;border-radius:999px;line-height:1;
  background:var(--rc,#5d6470);border:0;
  font-size:11px;font-weight:700;color:var(--rf,#10131a);white-space:nowrap;}
.big9 .rk9.rk2w{box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);}   /* 黒(2号艇)は暗い地に沈むので細い縁 */   /* 順位の札は一回り小さく(2026-10-07)・塗りつぶし+濃い字(2026-10-08「ベタ塗り系に」・級別バッジと同じ作り) */
/* 今節成績の優出・準優出の札は順位の札と同じ大きさ(2026-10-07指示) */
html body .big9 .mk-badge.fb9{display:inline-flex;align-items:center;align-self:center;height:auto;padding:4px 10px !important;border-radius:999px !important;font-size:11.5px !important;line-height:1.35;margin:0 !important;}
.big9 .rk9 b{font-family:"851Gkktt","Hiragino Sans",sans-serif;font-weight:400;font-size:16px;color:var(--rf,#10131a);line-height:1;margin:0 1px;}
.kq9.c3.bkw9{grid-template-columns:repeat(3,minmax(0,1fr)) auto;}
.kq9 .bkt9{padding:6px 8px !important;background:rgba(255,158,107,.1) !important;border:1px solid rgba(255,158,107,.32);}
.kq9 .bkt9 b{display:block;white-space:nowrap;color:#ffb38a !important;font-size:12px !important;}
.kq9 .bkt9 b *{font-size:inherit !important;}
/* 数字・英字だけ Source Sans・漢字は別の書体になり大きさがバラバラに見えた(2026-10-09「なんでサイズバラバラ？」)→備考は日本語の書体1つで */
.kq9 .bkt9 b,.kq9 .bkt9 b *{font-family:-apple-system,"Hiragino Sans","Hiragino Kaku Gothic ProN",sans-serif !important;}
.kq9 .bkt9 b span:is([style*="font-size:13px"],[style*="font-size: 13px"]){color:#ffb38a !important;font-weight:inherit !important;margin-right:2px;}
.kq9 .bkt9.sm b{font-size:11px !important;font-weight:700 !important;}
.kq9 .bkt9.full{grid-column:1/-1;}   /* 備考2つ以上=次の行の左端から右端まで(2026-10-07) */
.kq9 .bkt9.full b{white-space:normal;line-height:1.5;}
/* 19位以下は地も縁も控えめ(銀と紛れないよう・2026-10-07。銀は光らせない) */
.big9 .rk9.rlo{color:#e6e8eb;}.big9 .rk9.rlo b{color:#f3f5f8;}   /* 19位以下=暗い灰の地に明るい字 */
.big9 .sj9{display:inline-flex;align-items:center;align-self:center;height:24px;padding:0 9px;border-radius:999px;
  background:rgba(255,82,82,.16);border:1px solid rgba(255,82,82,.5);color:#ff8a8a;font-size:11.5px;font-weight:800;white-space:nowrap;}
.big9 .bk9{margin-left:auto;text-align:right;font-size:13px;line-height:1.35;}
.kq9.c3{grid-template-columns:repeat(3,minmax(0,1fr));}
.kq9.c6{grid-template-columns:repeat(6,minmax(0,1fr));}
.kq9.c6 small{letter-spacing:-.04em;}
.kq9.c7{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;}
.kq9.c7 small{letter-spacing:-.06em;}
.kq9.c7 b{font-size:12.5px;letter-spacing:-.03em;}
/* 今節結果の表(見本: 見出しは薄い字・枠の線を細く) */
.mxw9 .mk-mx{border-collapse:separate;border-spacing:2px;}
html body .mxw9 .mk-mx :is(th,td){border:0 !important;border-radius:6px;background:rgba(255,255,255,.04);}
html body .mxw9 .mk-mx th{background:none;color:#8a93a0;font-weight:700;}
/* 日付見出し(初日10/2等)は全出走履歴の月日と同じ箱(2026-10-07指示) */
html body .mxw9 .mk-mx th:not(.mk-lab){background:rgba(255,255,255,.04);color:inherit;font-weight:400;}
html body .mxw9 .mk-mx td.mk-lab{background:none;color:#8a93a0;}
.tcw9>input{display:none;}
.tseg9{display:inline-flex;border-radius:999px;padding:3px;background:rgba(30,34,42,.22);border:1px solid rgba(255,255,255,.14);margin:0 0 10px;}
.tseg9 label{padding:5px 12px;border-radius:999px;font-size:12.5px;font-weight:700;color:#aeb5bf;cursor:pointer;border:1px solid transparent;white-space:nowrap;}
/* 初期選択の checked は付けない(Reactが押さえ込み、押しても戻された・2026-10-07)。何も選ばれていない=左の項目の表示 */
.tseg9 .l3,.tcw9>.tA:checked~.tseg9 .lA{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.22);color:#e8d48b;}
.tcw9>.tA:checked~.tseg9 .l3{background:none;border-color:transparent;color:#aeb5bf;}
.tcw9>.tpA,.tcw9>.tA:checked~.tp3{display:none;}
.tcw9>.tA:checked~.tpA{display:block;}
.tcw9.dfA>.tp3{display:none;}.tcw9.dfA>.tpA{display:block;}.tcw9.dfA>.t3:checked~.tp3{display:block;}.tcw9.dfA>.t3:checked~.tpA{display:none;}
.tcw9.dfA .tseg9 .l3{background:none;border-color:transparent;color:#aeb5bf;}.tcw9.dfA .tseg9 .lA{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.22);color:#e8d48b;}
.tcw9.dfA>.t3:checked~.tseg9 .l3{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.22);color:#e8d48b;}.tcw9.dfA>.t3:checked~.tseg9 .lA{background:none;border-color:transparent;color:#aeb5bf;}
/* 出場予定・直近結果のカード行 */
.cr9{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:14px;background:rgba(30,34,42,.55);border:1px solid rgba(255,255,255,.07);margin-bottom:6px;}
a.cr9a{text-decoration:none !important;color:inherit;-webkit-tap-highlight-color:transparent;}a.cr9a:active{background:rgba(255,255,255,.08);}
.cr9 .l{flex:none;width:92px;}
.cr9 .l .d{font-size:11px;color:#8a93a0;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:-.02em;}
.cr9 .l .v{display:flex;align-items:center;gap:5px;margin-top:3px;font-size:14.5px;font-weight:800;white-space:nowrap;}
.cr9 .l .v .mk-jyo{font-family:"851Gkktt","Hiragino Sans",sans-serif;font-weight:400;font-size:15px;letter-spacing:.04em;
  display:inline-block;width:3.2em;flex:none;white-space:nowrap;text-align:center;}   /* 場名は枠の中で中央揃え(2026-10-07指示)・場名の幅をそろえてグレードの札を縦一列に(2026-10-07) */   /* 直近結果・出場予定の場名は851(2026-10-07) */
.cr9 .l .v .gtint{min-width:32px !important;padding:1px 4px !important;margin:0 !important;font-size:10px !important;}
.cr9 .m{flex:1;min-width:0;font-size:12.5px;line-height:1.45;color:#dfe3e8;font-weight:700;}
/* 出場予定レース(2026-10-08): 日付=右上の小さな字・場とグレード=左の真ん中で一回り大きく */
.cr9.cr9u{position:relative;padding:20px 12px 12px;}
.cr9u .du{position:absolute;top:7px;right:12px;font-size:11px;color:#8a93a0;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1;}
.cr9u .l{width:98px;}
.cr9u .l .v{margin-top:0;gap:6px;}
.cr9u .l .v .mk-jyo{font-size:16.5px;}
.cr9u .l .v .gtint{font-size:10.5px !important;padding:2px 4px !important;min-width:34px !important;}/* 出場予定のG1と一般の幅をそろえる(2026-10-12「サイズ」) */
.cr9p .l{width:42px;}.cr9p .l .v{justify-content:center;}   /* 過去の当地出走は場名が無い=グレードだけ */
/* レース名は1行・入り切らない分は…(2026-10-08指示) */
.cr9u .m .tt9{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cr9 .m a{color:inherit;}
.cr9 .sq9{margin-top:4px;font-size:14px;font-weight:600;letter-spacing:.02em;font-variant-numeric:tabular-nums;word-break:break-all;}
/* 公式成績・通算の大きな数字の札 */
.sub9{font-size:10.5px;color:#8a93a0;margin:0 2px 10px;font-variant-numeric:tabular-nums;}
.kp9{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:6px;}
.kp9>div{border-radius:12px;background:rgba(30,34,42,.55);border:1px solid rgba(255,255,255,.07);padding:8px 4px;text-align:center;}
.kp9 small,.kq9 small{display:block;font-size:10px;color:#8a93a0;font-weight:700;white-space:nowrap;}
.kp9 b{display:block;font-family:"851Gkktt","Hiragino Sans",sans-serif;font-weight:400;font-size:17px;margin-top:2px;color:#e6e8eb;white-space:nowrap;}
.kp9 .big b{font-size:24px;color:#e8d48b;}
.kq9{display:grid;grid-template-columns:repeat(auto-fit,minmax(52px,1fr));gap:4px;margin-top:6px;}
.kq9>div{text-align:center;padding:5px 0;border-radius:9px;background:rgba(255,255,255,.03);}
.kq9 b{font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;color:#e6e8eb;}
/* A案: 「基本/連対率/スタート」の切り替えで列の組を入れ替える表(期別成績・グレード別成績・主な場) */
.kbw9>input{display:none;}
.kbw9 .tseg9 .l0,.kbw9>.m1:checked~.tseg9 .l1{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.22);color:#e8d48b;}
.kbw9>.m1:checked~.tseg9 .l0{background:none;border-color:transparent;color:#aeb5bf;}
.kbw9 .s,.kbw9>.m1:checked~* .b{display:none;}
.kbw9>.m1:checked~* .s{display:revert;}
/* スタート表示は列が少ない(期別5・グレード4)ので等幅に。Fだけ狭く右端へ寄っていた(2026-10-07指摘) */
.kbw9>.m1:checked~table.tbA9{table-layout:fixed;}
/* グレード別成績の2つの表(グレード/区分別)は列をそろえる(2026-10-07「上の表と下の表でずれてる」) */
table.tbA9.gtb9{table-layout:fixed;}
table.tbA9.gtb9 th:nth-child(1){width:18%;}
.kbw9:not(:has(>.m1:checked)) table.tbA9.gtb9 :is(th:nth-child(2),th:nth-child(3)){width:9%;}
.kbw9:not(:has(>.m1:checked)) table.tbA9.gtb9 :is(th:nth-child(4),th:nth-child(5),th:nth-child(6)){width:14.5%;}
.kbw9:not(:has(>.m1:checked)) table.tbA9.gtb9 :is(th:nth-child(7),th:nth-child(8)){width:10.25%;}
/* 基本は10列(期別)になるので字を少し詰める(文字は削らない) */
html body .kbw9 .tbA9 th{font-size:9.5px !important;letter-spacing:-.04em;padding-left:1px !important;padding-right:1px !important;}
html body .kbw9 .tbA9 td{font-size:12px;letter-spacing:-.03em;padding-left:1px !important;padding-right:1px !important;}
table.tbA9{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:13px;margin:0;
  font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue','Hiragino Sans',sans-serif;}
html body .tbA9 :is(th,td){border:0 !important;border-bottom:1px solid rgba(255,255,255,.05) !important;}
html body .tbA9 th{font-size:10.5px;color:#8a93a0;font-weight:700;padding:0 2px 6px;border-bottom:1px solid rgba(255,255,255,.14) !important;white-space:nowrap;text-align:center;background:none !important;}
.tbA9 td{text-align:center;padding:8px 2px;white-space:nowrap;color:#e6e8eb;}
html body .tbA9 tr:last-child td{border-bottom:0 !important;}
.tbA9 td.pk{font-weight:800;}
.tbA9 td.wr{color:#e8d48b;font-weight:800;}
.tbA9 td.fr{color:#ff7b86;font-weight:800;}
.kbw9 .gtint{min-width:36px !important;padding:1px 5px !important;margin:0 !important;}
.sbl9{display:flex;align-items:center;gap:8px;color:#c9ced5;font-size:11.5px;font-weight:800;margin:14px 2px 6px;}
.sbl9::after{content:"";flex:1;height:1px;background:rgba(255,255,255,.08);}
.kytb9 th{font-size:10px !important;white-space:nowrap;letter-spacing:-.03em;}
.kytb9 td{font-size:12.5px;}
/* 展示タイム傾向(2026-10-07) */
.tt9 b{font-size:16px;}.tt9 .big b{font-size:21px;}
.kp9 em{display:block;font-style:normal;font-size:10px;color:#aeb5bf;font-weight:700;margin-top:1px;}
.tcr9{display:flex;align-items:center;gap:5px;margin:8px 2px 0;font-size:11px;color:#8a93a0;font-weight:700;}
.sbs9{font-weight:600;color:#8a93a0;margin-left:4px;}
.vg9{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.vc9{border-radius:12px;background:rgba(30,34,42,.55);border:1px solid rgba(255,255,255,.07);padding:8px 10px;min-width:0;}
.vc9>small{display:block;font-size:10px;font-weight:800;margin-bottom:3px;}
.vr9{display:flex;align-items:baseline;gap:5px;padding:2px 0;font-size:13px;font-weight:800;white-space:nowrap;}
.vr9 i{font-style:normal;font-size:10px;color:#8a93a0;font-weight:600;}
.vr9 b{margin-left:auto;font-variant-numeric:tabular-nums;font-size:12.5px;}
.trc9{border-radius:12px;background:rgba(30,34,42,.55);border:1px solid rgba(255,255,255,.07);padding:8px 10px;}
/* コメント分析(2026-10-07) */
.kp9 b .pp9{font-family:-apple-system,"Hiragino Sans",sans-serif;font-size:10px;font-weight:700;margin-left:1px;}
.gcs9{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.gc9{border-radius:12px;background:rgba(30,34,42,.55);border:1px solid rgba(255,255,255,.07);padding:9px 10px;}
.gc9 small{display:block;font-size:10px;color:#8a93a0;font-weight:700;}
.gc9 b{display:block;font-family:"851Gkktt","Hiragino Sans",sans-serif;font-weight:400;font-size:20px;margin-top:2px;}
.seg9{display:flex;gap:3px;margin-top:6px;}.seg9 i{flex:1;height:6px;border-radius:3px;background:rgba(255,255,255,.08);}
.b39{display:flex;height:10px;border-radius:5px;overflow:hidden;margin:2px 0 6px;}.b39 i{display:block;height:100%;}
.l39{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:10.5px;color:#c9ced5;font-weight:700;}
.l39 span{white-space:nowrap;}.l39 span::before{content:"";display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:4px;background:var(--c);}
.kyb9{display:inline-block;font-family:"851Gkktt","Hiragino Sans",sans-serif;font-size:10px;border-radius:5px;padding:1px 5px;color:#14161a;background:var(--k);}
/* 選手ページの表(mk-table)を新しい形に: 見出しは薄い字・縦線なし・横の細い線だけ(2026-10-07「こういう古いスタイルの表も」) */
html body :is(.mk-card,.st-key-mkcc9,.st-key-stcard9,.st-key-rcm-card) .mk-table :is(th,td){border:0 !important;border-bottom:1px solid rgba(255,255,255,.06) !important;}
html body :is(.mk-card,.st-key-mkcc9,.st-key-stcard9,.st-key-rcm-card) .mk-table th{background:none !important;color:#8a93a0 !important;font-weight:700 !important;font-size:10.5px !important;
  border-bottom:1px solid rgba(255,255,255,.14) !important;padding-top:2px !important;padding-bottom:6px !important;}
html body :is(.mk-card,.st-key-mkcc9,.st-key-stcard9,.st-key-rcm-card) .mk-table tr:last-child td{border-bottom:0 !important;}
html body :is(.mk-card,.st-key-mkcc9,.st-key-stcard9,.st-key-rcm-card) .mk-table td{padding-top:7px !important;padding-bottom:7px !important;}
/* 表の数字の書体を1つに(2026-10-07「一旦数字のフォントを揃えよう」): Source Sans・851・システム書体が混ざっていた。
   表の中はすべてシステム書体+等幅数字(太さ・色の強調はそのまま)。大きな数字の札(.kp9 等)の851は表ではないので対象外 */
html body :is(.mk-card,.st-key-mkcc9,.st-key-stcard9,.st-key-rcm-card) :is(.mk-table,.tbA9,.mk-mx) :is(th,td),
html body :is(.mk-card,.st-key-mkcc9,.st-key-stcard9,.st-key-rcm-card) :is(.mk-table,.tbA9,.mk-mx) :is(th,td) *:not(.gtint):not(.kyb9):not(.mk-badge){
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Helvetica Neue",sans-serif !important;font-variant-numeric:tabular-nums;}
/* 条件検索のコース別1〜6着の表(10列)はシステム書体だと字幅が広く重なった→字を少し小さく・余白を詰めて1行に(文字は削らない) */
html body .st-key-rcm-card .rcm-mx :is(th,td){white-space:nowrap !important;padding-left:1px !important;padding-right:1px !important;letter-spacing:-.04em !important;}
html body .st-key-rcm-card .rcm-mx td{font-size:11px !important;}
html body .st-key-rcm-card .rcm-mx td span[style*="font-size: 14px"],html body .st-key-rcm-card .rcm-mx td span[style*="font-size:14px"]{font-size:1.18em !important;}
html body .st-key-rcm-card .rcm-mx td span[style*="font-size: 8px"],html body .st-key-rcm-card .rcm-mx td span[style*="font-size:8px"]{font-size:.7em !important;}
html body .st-key-rcm-card .rcm-mx td span[style*="width:0"],html body .st-key-rcm-card .rcm-mx td span[style*="width: 0"]{font-size:7px !important;}
html body .st-key-rcm-card .rcm-mx th{font-size:9px !important;}
@media (max-width:430px){html body .st-key-rcm-card .rcm-mx td{font-size:9px !important;letter-spacing:-.06em !important;padding-left:0 !important;padding-right:0 !important;}
  html body .st-key-rcm-card .rcm-mx th{font-size:8.5px !important;letter-spacing:-.08em !important;}}   /* 幅390は10列が入りきらないので字を一段小さく */
/* ST考察の色分けの表は、マスを少し離した角丸のマス(線を消すと色の境目が分からない) */
html body .st-key-stcard9 .mk-table.sttb9{border-collapse:separate !important;border-spacing:2px !important;}
html body .st-key-stcard9 .mk-table.sttb9 td{border:0 !important;border-radius:6px;}
html body .sttb9 td{white-space:nowrap !important;padding-left:1px !important;padding-right:1px !important;font-size:12.5px;letter-spacing:-.03em;font-variant-numeric:tabular-nums;}
@media (max-width:430px){html body .sttb9 td{font-size:11px !important;letter-spacing:-.05em !important;}}
@media (max-width:430px){html body .st-key-mkcc9 .mk-table :is(td,th){font-size:11px !important;letter-spacing:-.04em !important;padding-left:2px !important;padding-right:2px !important;}
  html body .st-key-mkcc9 .mk-table td:nth-child(n+4){white-space:normal !important;word-break:break-all;}}   /* 年表(5列)が幅390で19pxはみ出した */   /* 幅390で「30.77%」が切れた(システム書体にそろえた後) */
html body .sttb9 td:first-child{font-size:12px;letter-spacing:-.04em;}
/* 着順の丸い札 */
.sq9{display:flex;flex-wrap:wrap;gap:3px;margin-top:5px;}
.ck9{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 3px;border-radius:10px;box-sizing:border-box;
  font-size:11px;font-weight:800;background:rgba(255,255,255,.06);color:#c9ced5;font-family:-apple-system,"Hiragino Sans",sans-serif;}
.ck9.c1{background:rgba(232,212,139,.22);color:#e8d48b;}
.ck9.c2{background:rgba(220,224,230,.16);color:#eef1f4;}
.ck9.c3{background:rgba(217,160,91,.18);color:#e6b57a;}
.ck9.fin{box-shadow:0 0 0 1.5px #ffd24d inset;}
.ck9.semi{box-shadow:0 0 0 1.5px #00c853 inset;}
.ck9.drm{box-shadow:0 0 0 1.5px #ff9d2e inset;}
.ck9.bad{background:rgba(255,82,82,.16);color:#ff6b6b;padding:0 6px;}
.vpr9{border-radius:12px;background:rgba(30,34,42,.55);border:1px solid rgba(255,255,255,.07);padding:8px 10px;margin:0 0 6px;}
