/* 水面ノート: 出走表を主役にした一段組み。枠番の色(1白 2黒 3赤 4青 5黄 6緑)がそのまま目印になる。
   丸みのある文字と、タブ・見出しごとの色で、明るく見やすく */
:root{
  --bg:#eef5fb; --surface:#ffffff; --ink:#1d2a36; --muted:#5f6f7c; --line:#d6e0e8;
  --accent:#1478b8; --accent-soft:#e1f0fa; --warn:#c2581d; --good:#1f8a4c;
  --display:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN","Hiragino Sans","Noto Sans JP",sans-serif;
  --pop:"Mochiy Pop One","M PLUS Rounded 1c","Hiragino Maru Gothic ProN",sans-serif;
  --body:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN","Hiragino Sans","Noto Sans JP",system-ui,sans-serif;
  --mono:"M PLUS Rounded 1c","Hiragino Sans",ui-monospace,monospace;
  --rank1:#e53935; --rank2:#1e6fe0; --pink:#ff4f9a;
  --tc-card:#1e88e5; --tc-before:#fb8c00; --tc-odds:#e53977; --tc-t1:#00a676; --tc-navi:#8e44d9; --tc-data:#0097a7; --tc-tac:#3f51b5;
  --b1:#ffffff; --b1t:#14212b; --b2:#1b1b1b; --b2t:#ffffff; --b3:#d7282f; --b3t:#ffffff;
  --b4:#1d5fbf; --b4t:#ffffff; --b5:#f2cf1d; --b5t:#14212b; --b6:#1f9a4b; --b6t:#ffffff;
  --rec-main:#1478b8; --rec-base:#9aa7b2;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){:root{
  --bg:#0e161c; --surface:#16222b; --ink:#e8eef3; --muted:#9fb0bc; --line:#2a3a46;
  --accent:#5cc0de; --accent-soft:#183847; --warn:#f0a06a; --good:#6fd39b; --b1:#f4f6f8; --b2:#000000;
  --rank1:#ef5350; --rank2:#4d8ff0; --rec-main:#3e9fd0; --rec-base:#5b6a75; color-scheme:dark}}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.7;font-weight:500;
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:0 48px}
a{color:var(--accent)}
.wrap{max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:18px}
.site-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:14px 4px;flex-wrap:wrap}
.logo{font-family:var(--pop);font-size:24px;color:var(--accent);text-decoration:none;letter-spacing:.04em}
.logo::before{content:"";display:inline-block;width:.9em;height:.9em;margin-right:.3em;vertical-align:-.08em;border-radius:50%;
  background:radial-gradient(circle at 35% 35%,#7fd3ff,#1478b8 70%);box-shadow:0 0 0 3px #d4ecfa}
.site-nav{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:14px;font-weight:700}
.site-nav a{white-space:nowrap}
.crumb{font-size:13px;color:var(--muted);display:flex;gap:6px;flex-wrap:wrap}
.crumb a{color:var(--muted)}
h1{font-family:var(--pop);font-weight:400;font-size:clamp(25px,6.4vw,34px);line-height:1.25;margin:0;letter-spacing:.02em;text-wrap:balance}
h2{font-family:var(--display);font-weight:800;font-size:19px;margin:0;letter-spacing:.03em;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
h2::before{content:"";flex:none;width:6px;height:1.05em;border-radius:3px;background:var(--pc,var(--accent))}
h2 .h2s{font-size:12px;font-weight:700;color:var(--muted)}
.lead{color:var(--muted);margin:0;max-width:62ch}
section{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:12px;min-width:0;
  box-shadow:0 2px 0 color-mix(in srgb,var(--pc,var(--accent)) 18%,transparent),0 6px 18px rgba(30,60,90,.06)}
.sub{color:var(--muted);font-size:13.5px;margin:0}
.note{font-size:12.5px;color:var(--muted);margin:0}
.tag{display:inline-block;font-size:12px;font-weight:700;padding:2px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent);letter-spacing:.04em;white-space:nowrap}
.tag.warn{background:transparent;border:1px solid var(--warn);color:var(--warn)}
.waku{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:5px;font-family:var(--mono);font-weight:600;border:1px solid var(--line);flex:none}
.w1{background:var(--b1);color:var(--b1t)}.w2{background:var(--b2);color:var(--b2t)}.w3{background:var(--b3);color:var(--b3t)}
.w4{background:var(--b4);color:var(--b4t)}.w5{background:var(--b5);color:var(--b5t)}.w6{background:var(--b6);color:var(--b6t)}
.scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}
th{font-size:12px;font-weight:700;color:var(--muted);text-align:left;padding:4px 6px 6px;white-space:nowrap;letter-spacing:.03em}
td{padding:6px;border-top:1px solid var(--line);vertical-align:middle;white-space:nowrap}
td.num,th.num{text-align:right;font-family:var(--mono);font-size:14px}
td .small{display:block;font-size:11px;color:var(--muted)}
.hi{color:var(--accent);font-weight:600}
/* 一覧 */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}
.card{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);text-decoration:none;color:var(--ink);min-width:0;
  box-shadow:0 2px 0 #d4e6f4,0 6px 16px rgba(30,60,90,.06)}
.card:hover{border-color:var(--accent)}
.card .v{font-family:var(--pop);font-size:20px}
.card .t{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.race-list a{color:var(--ink);text-decoration:none}
.race-list tr:hover td{background:var(--accent-soft)}
.rno{font-family:var(--display);font-size:16px}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{font-family:var(--mono);font-size:14px;font-weight:700;padding:5px 10px;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--ink);background:var(--surface)}
.chip.on{background:var(--accent);border-color:var(--accent);color:var(--surface)}
/* レース */
.meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.scen{display:flex;flex-direction:column;gap:8px}
.scen-row{display:grid;grid-template-columns:26px minmax(0,1fr) 46px;gap:10px;align-items:center}
.bar{height:8px;border-radius:4px;background:var(--accent-soft);overflow:hidden;margin-top:3px}
.bar>i{display:block;height:100%;background:var(--accent);border-radius:4px}
.pct{font-family:var(--mono);font-size:14px;text-align:right}
.boats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}
.boat{border:1px solid var(--line);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:8px;min-width:0}
.boat h3{margin:0;font-size:15px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.boat ul,.points{margin:0;padding-left:1.1em;font-size:13.5px;display:flex;flex-direction:column;gap:3px}
.courses{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;font-family:var(--mono);font-size:11px;text-align:center}
.courses div{border:1px solid var(--line);border-radius:5px;padding:3px 0;line-height:1.3}
.courses div.cur{border-color:var(--accent);background:var(--accent-soft)}
.courses b{display:block;font-size:12px}
.inputs td input,.inputs td select{width:76px;font:inherit;font-family:var(--mono);font-size:14px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:5px 6px}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:end}
label.f{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}
label.f select,label.f input{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:6px 8px}
button{font:inherit;font-size:13px;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:6px;padding:7px 12px;cursor:pointer}
button:hover{border-color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
textarea{width:100%;min-height:200px;font:inherit;font-size:14px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:10px;resize:vertical}
.result-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
footer{font-size:12px;color:var(--muted);display:flex;flex-direction:column;gap:4px;padding-top:8px}
@media (prefers-reduced-motion:no-preference){.bar>i{transition:width .35s ease}}
/* 1周1マーク展開ビュー */
.t1 canvas{display:block;width:100%;aspect-ratio:16/10;border-radius:8px;background:#0a4a62}
.ctrl{display:flex;gap:8px;flex-wrap:wrap}
button.primary,button.on{background:var(--accent);border-color:var(--accent);color:var(--surface)}
button:disabled{opacity:.55;cursor:default}
.pats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}
.pat{display:flex;align-items:center;gap:8px;text-align:left;padding:9px 10px;white-space:nowrap}
.pat .p{margin-left:auto;font-family:var(--mono);font-size:13px}
a.btn{font-size:13px;border:1px solid var(--accent);border-radius:6px;padding:7px 12px;text-decoration:none;color:var(--accent);background:var(--surface)}
/* スタートの見立て・答え合わせ */
.stt td{white-space:nowrap}
.stt td.why{white-space:normal;font-size:12.5px;color:var(--muted);min-width:180px}
.stt .up{color:var(--good);font-weight:600}
.stt .down{color:var(--warn);font-weight:600}
.meter{display:inline-block;width:46px;height:6px;border-radius:3px;background:var(--accent-soft);vertical-align:middle;margin-left:6px;overflow:hidden}
.meter>i{display:block;height:100%;background:var(--accent)}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.kpis div{border:1px solid var(--line);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.kpis b{font-family:var(--mono);font-size:24px;font-weight:600}
.kpis span{font-size:12px;color:var(--muted);line-height:1.4}

/* 出走表(1艇1行、1つのセルに縦に2〜3つの数字。線で区切った表) */
:root{--head:#e9f1f5;--line2:#b9c8d1;--red:#d32f2f;--gS:#c62828;--gA:#ef6c00;--gB:#f2b705;--gC:#8d9aa3;--gD:#5f7482;--gE:#37474f}
@media (prefers-color-scheme: dark){:root{--head:#1d2c37;--line2:#3b4f5d;--red:#ff6b6b}}
.rcwrap{border:1px solid var(--line2);border-radius:8px}
table.rc{border-collapse:separate;border-spacing:0;width:100%;min-width:720px;font-size:12.5px;line-height:1.35}
table.rc th{background:var(--head);color:var(--ink);font-weight:600;font-size:11px;text-align:center;padding:5px 4px;
  border-right:1px solid var(--line);border-bottom:1px solid var(--line2);white-space:nowrap;letter-spacing:0}
table.rc th.grp{border-bottom:1px solid var(--line)}
table.rc td{text-align:center;padding:5px 5px;border-top:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  vertical-align:middle;white-space:nowrap;font-family:var(--mono);font-variant-numeric:tabular-nums}
table.rc tr:last-child td{border-bottom:0}
table.rc td:last-child,table.rc th:last-child{border-right:0}
table.rc td>span,table.rc td>b{display:block}
table.rc td b{font-weight:600}
table.rc .dim{color:var(--muted);font-size:11px}
table.rc td.w{width:30px;min-width:30px;font-size:17px;font-weight:700;padding:0;border-right:1px solid var(--line2)}
table.rc td.who{text-align:left;font-family:var(--body);min-width:118px;max-width:150px;white-space:normal}
table.rc td.who b{font-size:14px;font-family:var(--body);font-weight:700}
table.rc th.w,table.rc td.w{position:sticky;left:0;z-index:2}
table.rc th.who,table.rc td.who{position:sticky;left:30px;z-index:2;background:var(--surface);box-shadow:1px 0 0 var(--line2)}
table.rc th.w,table.rc th.who{background:var(--head);z-index:3}
table.rc td.txt{font-family:var(--body);font-size:12px;min-width:84px}
table.rc td.c1 b{font-size:14px}
table.rc .fon{color:#fff;background:var(--red);border-radius:3px;padding:0 4px;display:inline-block;font-weight:700}
table.rc td.fl i{font-style:normal}
table.rc td.fl i.fon{display:inline-block}
#beforeBox .sub{margin-top:8px}
table.rc td.series{min-width:120px}
table.rc td.series .days{display:flex;gap:5px;justify-content:center;flex-wrap:nowrap}
table.rc td.series em{font-style:normal;display:inline-flex;gap:1px;padding:0 3px;border:1px solid var(--line);border-radius:3px}
table.rc td.series i{font-style:normal}
table.rc td.series i.top{font-weight:700;color:var(--accent)}
table.rc td.series i.ng{color:var(--red);font-weight:700}
.g{display:inline-grid!important;place-items:center;width:26px;height:26px;border-radius:6px;font-family:var(--display);font-size:15px;font-weight:400;color:#fff;background:var(--gC)}
.gS{background:var(--gS)}.gA{background:var(--gA)}.gB{background:var(--gB);color:#14212b}.gC{background:var(--gC)}.gD{background:var(--gD)}.gE{background:var(--gE)}
table.bt{min-width:560px}
table.bt td.best b{color:var(--accent)}
table.bt .moved{color:var(--red)}
/* 結果 */
.resbar{flex-direction:row;align-items:center;gap:10px;flex-wrap:wrap;border-color:var(--accent);background:var(--accent-soft)}
.resbar .lbl{font-family:var(--display);font-size:16px}
.resbar .tri{display:inline-flex;align-items:center;gap:3px}
.resbar .tri .waku{width:30px;height:30px;font-size:16px}
.resbar .sep{color:var(--muted)}
.resbar .odds{font-family:var(--mono);font-size:22px}
.resbar .dim{color:var(--muted);font-size:12px}
.small-tri .waku{width:20px;height:20px;font-size:12px}
.small-tri{display:inline-flex;gap:2px;align-items:center}
/* 待ち・見出し */
.wait{margin:0;padding:12px;border:1px dashed var(--line2);border-radius:8px;color:var(--muted);font-size:13.5px;text-align:center}
.row-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.tag.soon{background:var(--red);color:#fff}
/* 一覧: 次のレースが近い順 */
.vcard .next{font-family:var(--mono);font-size:15px;font-weight:600;color:var(--accent)}
.vcard.soon{border-color:var(--red);box-shadow:inset 4px 0 0 var(--red)}
.vcard.soon .next{color:var(--red)}
.vcard.done{opacity:.6}
.race-list tr.next td{background:var(--accent-soft)}
.race-list tr.soon td{background:color-mix(in srgb,var(--red) 14%,var(--surface))}
.race-list tr.soon .cd{color:var(--red);font-weight:700}
.race-list .cd{color:var(--accent)}
/* 注意書き(ページの一番下にまとめる) */
footer h2{font-size:14px;color:var(--muted)}
footer .notes{margin:6px 0 0;padding-left:1.1em;display:flex;flex-direction:column;gap:4px;font-size:12px;line-height:1.6}
/* 警戒アラート: イン飛び(特別警報 赤・警報 黄・注意報 緑)、カドまくり(特別警報 オレンジ・警報 紫・注意報 ピンク) */
.alerts{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.alerts:empty{display:none}
.al{display:inline-block;font-size:12px;font-weight:700;line-height:1;padding:5px 8px;border-radius:999px;color:#fff;white-space:nowrap;letter-spacing:.02em}
.al.sm{font-size:10.5px;padding:3px 6px}
.al-in3{background:#d32f2f}.al-in2{background:#f2c200;color:#14212b}.al-in1{background:#2e9d4f}
.al-kado3{background:#ef6c00}.al-kado2{background:#7b1fa2}.al-kado1{background:#e8559a}
.vrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.vrow .als{display:inline-flex;gap:4px;flex-wrap:wrap}
.alrow{display:flex;gap:4px;flex-wrap:wrap;margin-top:2px}
/* 着順の並び(決着パターンごと) */
.ord{display:inline-block;margin-left:8px;font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.02em}
.pat .pn{display:flex;flex-direction:column;line-height:1.3}
.pat .pn .ord{margin-left:0}
.pat.on .ord{color:inherit;opacity:.85}
.p2{display:flex;flex-direction:column;gap:6px;margin-top:4px}
.p2row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px}
.p2row .lbl{color:var(--muted);min-width:5em}
.cand{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono)}
.cand .waku{width:22px;height:22px;font-size:12px}
/* タブ(出走表・直前情報・1S1M展開・データ) */
.tabs{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;padding:5px;border-radius:16px;background:var(--surface);position:sticky;top:0;z-index:5;
  box-shadow:0 2px 0 #cfe3f2,0 6px 14px rgba(30,60,90,.10)}
.tabs button{--tc:var(--accent);border:0;border-radius:11px;background:color-mix(in srgb,var(--tc) 11%,var(--surface));padding:10px 2px;font-weight:800;font-size:14px;
  color:color-mix(in srgb,var(--tc) 85%,#000);white-space:nowrap;line-height:1.35}
.tabs button.on{background:var(--tc);color:#fff;box-shadow:0 3px 0 color-mix(in srgb,var(--tc) 70%,#000)}
.tabs [data-tab=card]{--tc:var(--tc-card)}.tabs [data-tab=before]{--tc:var(--tc-before)}.tabs [data-tab=odds]{--tc:var(--tc-odds)}
.tabs [data-tab=t1]{--tc:var(--tc-t1)}.tabs [data-tab=navi]{--tc:var(--tc-navi)}.tabs [data-tab=data]{--tc:var(--tc-data)}.tabs [data-tab=tac]{--tc:var(--tc-tac)}
.tabs br.tb{display:none}
#pane-tac{--pc:var(--tc-tac)}
#pane-card{--pc:var(--tc-card)}#pane-before{--pc:var(--tc-before)}#pane-odds{--pc:var(--tc-odds)}#pane-t1{--pc:var(--tc-t1)}#pane-navi{--pc:var(--tc-navi)}#pane-data{--pc:var(--tc-data)}
.pane{display:flex;flex-direction:column;gap:18px}
ul.plain{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
/* 縦の表(列が1〜6号艇、行が項目)。一番良い艇の枠は赤 */
.vt-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1.5px solid var(--line2);border-radius:12px}
table.vt{border-collapse:separate;border-spacing:0;width:100%;min-width:300px;table-layout:fixed;font-size:clamp(11.5px,3.35vw,14px);line-height:1.3}
table.vt th,table.vt td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px 2px;text-align:center;vertical-align:middle;white-space:normal;word-break:break-word}
table.vt tr:last-child th,table.vt tr:last-child td{border-bottom:0}
table.vt th:last-child,table.vt td:last-child{border-right:0}
table.vt thead th{background:var(--head)}
table.vt thead th:first-child{width:62px}
@media (max-width:400px){table.vt thead th:first-child{width:56px}table.vt tbody th{font-size:11px;padding:4px 3px}}
table.vt td .u{font-size:.72em;margin-left:1px}
table.vt thead th.bw{font-family:var(--mono);font-size:18px;font-weight:800;padding:6px 0;border-bottom:1.5px solid var(--line2)}
table.vt thead th.bw .bn{display:block;line-height:1.2}
table.vt thead th.bw .hn{display:block;font-family:var(--body);font-size:11.5px;font-weight:800;line-height:1.2;padding:3px 1px 0;letter-spacing:-.02em;word-break:keep-all;overflow-wrap:anywhere}
table.vt tbody th{text-align:left;font-size:12px;font-weight:800;color:var(--muted);background:var(--head);padding:5px 5px;letter-spacing:0;line-height:1.25}
table.vt tbody th small{display:block;font-size:10px;font-weight:600}
table.vt td{font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:600}
table.vt td.top{background:var(--rank1);color:#fff;font-weight:800}
table.vt td.top2{background:var(--rank2);color:#fff;font-weight:800}
table.vt td.top .dim,table.vt td.top .tx,table.vt td.top2 .dim,table.vt td.top2 .tx{color:rgba(255,255,255,.92)}
table.vt td.top .fon,table.vt td.top2 .fon{background:#ffd400;color:#1b1b1b}
table.vt tr.grp th{background:color-mix(in srgb,var(--pc,var(--accent)) 14%,var(--surface));color:color-mix(in srgb,var(--pc,var(--accent)) 80%,#000);text-align:left;font-size:12.5px;font-weight:800;padding:5px 8px}
table.vt .nm{font-family:var(--body);font-size:13px;display:block;line-height:1.25;font-weight:800}
table.vt .tx{font-family:var(--body);font-size:11.5px;line-height:1.3;display:block}
table.vt .dim{display:block;color:var(--muted);font-size:11px;font-family:var(--body);font-weight:500}
/* フライング・失格などの印は、1位の赤い塗りと見分けられるよう、黄色地に黒字(注意の色)にする */
table.vt .fon{display:inline-block;color:#1b1b1b;background:#ffd400;border:1px solid #1b1b1b;border-radius:3px;padding:0 3px;font-weight:700}
table.vt .moved{color:var(--red)}
table.vt td .g{width:24px;height:24px;font-size:14px}
table.vt .days{display:flex;flex-direction:column;gap:2px;align-items:center}
table.vt .days em{font-style:normal;display:inline-flex;gap:1px;padding:0 3px;border:1px solid var(--line);border-radius:3px;font-size:11.5px}
table.vt .days i{font-style:normal}
table.vt .days i.top1{font-weight:700;color:var(--accent)}
table.vt .days i.ng{color:#1b1b1b;background:#ffd400;border-radius:2px;padding:0 1px;font-weight:700}
table.vt td.top .days em{border-color:rgba(255,255,255,.6)}
.ex1{display:flex;gap:10px;flex-wrap:wrap;align-items:baseline;font-size:13px;margin:10px 0 6px}
.ex1 span{font-family:var(--mono)}
table.ex1t thead th{font-family:var(--mono);font-size:13px}
@media (max-width:480px){
  section{padding:12px 8px}
  .tabs{gap:3px;padding:4px}
  .tabs button{font-size:12px;padding:6px 0;letter-spacing:-.05em;line-height:1.2;white-space:normal}
  .tabs br.tb{display:inline}
}
table.vt thead th.w1{background:var(--b1);color:var(--b1t)}table.vt thead th.w2{background:var(--b2);color:var(--b2t)}
table.vt thead th.w3{background:var(--b3);color:var(--b3t)}table.vt thead th.w4{background:var(--b4);color:var(--b4t)}
table.vt thead th.w5{background:var(--b5);color:var(--b5t)}table.vt thead th.w6{background:var(--b6);color:var(--b6t)}
.stt td.top{background:#e53935;color:#fff;font-weight:700}
.stt td.top .small{color:rgba(255,255,255,.9)}
.stt td.top .meter{background:rgba(255,255,255,.35)}
.stt td.top .meter>i{background:#fff}
/* レース検索 */
.sconds{display:flex;flex-direction:column;gap:10px}
.sgrp{display:flex;flex-direction:column;gap:5px}
.sgl{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.04em}
.chip.tog{font-family:var(--body);font-size:13px;padding:6px 10px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;line-height:1.3}
.chip.tog[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--surface)}
.chip.tog .lv{font-style:normal;font-size:10px;padding:0 5px;border-radius:999px;border:1px solid currentColor;opacity:.75}
.chip.tog:disabled{opacity:.4}
.srow{display:flex;gap:8px 14px;flex-wrap:wrap;align-items:center;font-size:13px}
.srow input[type=search],.srow select{font:inherit;font-size:14px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:7px 9px;min-width:0}
.srow input[type=search]{flex:1 1 150px}
.srow select{flex:0 1 auto;max-width:100%}
.sw{display:inline-flex;gap:10px;align-items:center;flex-wrap:wrap}
.sw label,label.sw{display:inline-flex;gap:4px;align-items:center}
#sClear{margin-left:auto}
.slist{display:flex;flex-direction:column;gap:8px}
.scard{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;text-decoration:none;color:var(--ink);background:var(--surface);min-width:0}
.scard:hover{border-color:var(--accent)}
.scard.done{opacity:.7}
.shead{display:flex;align-items:center;gap:4px 8px;flex-wrap:wrap}
.shead b{font-family:var(--display);font-weight:400;font-size:16px}
.shead .sdl{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--accent)}
.shead .snm{font-size:12px;color:var(--muted)}
.shead .small-tri,.shead>.dim{margin-left:auto}
.shead>.dim{font-size:12px;color:var(--muted)}
.swhy{display:flex;flex-direction:column;gap:5px;font-size:12.5px;line-height:1.45}
.swhy .wy{display:flex;align-items:center;gap:3px 12px;flex-wrap:wrap}
.swhy .wl{font-size:10.5px;font-weight:700;color:var(--accent);background:var(--accent-soft);border-radius:4px;padding:1px 6px;white-space:nowrap}
.swhy .wi{display:block;min-width:0}
.swhy .waku{width:20px;height:20px;font-size:11px;vertical-align:-5px;margin-right:2px}
.swhy .g{width:20px;height:20px;font-size:12px;vertical-align:-5px}
.swhy .dim{color:var(--muted)}
.swhy .fon{color:#1b1b1b;background:#ffd400;border:1px solid #1b1b1b;border-radius:3px;padding:0 3px;font-weight:700;font-family:var(--mono);font-size:11px}
.sjump{position:fixed;left:50%;transform:translateX(-50%);bottom:max(14px,env(safe-area-inset-bottom,0px));z-index:6;border-radius:999px;padding:10px 18px;
  background:var(--accent);border-color:var(--accent);color:var(--surface);font-weight:700;box-shadow:0 4px 14px rgba(0,0,0,.18);white-space:nowrap}
/* 展開ナビ */
.nvsel{display:flex;flex-direction:column;gap:6px}
.nvl{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.04em}
.nvboats{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
@media (max-width:560px){.nvboats{grid-template-columns:repeat(3,1fr)}}
.nvb{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:6px;align-items:center;text-align:left;padding:6px 8px;background:var(--surface);min-width:0}
.nvb .waku{grid-row:span 2;width:24px;height:24px}
.nvb .nm{font-weight:700;font-size:13px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.nvb .nm small{font-weight:500;font-size:10px;color:var(--muted);margin-left:4px}
.nvb .p{font-family:var(--mono);font-size:11.5px;color:var(--muted);line-height:1.2}
.nvb.on,.nvt.on{border-color:var(--accent);background:var(--accent-soft);color:var(--ink);box-shadow:inset 0 0 0 1px var(--accent)}
.nvb.on .p,.nvt.on .p{color:var(--accent)}
.nvtacs{display:flex;flex-wrap:wrap;gap:6px}
.nvt{display:inline-flex;flex-direction:column;align-items:center;gap:0;padding:6px 10px;min-width:64px;background:var(--surface);font-weight:700;line-height:1.3}
.nvt .p{font-family:var(--mono);font-size:11px;font-weight:400;color:var(--muted)}
.nvt:disabled{opacity:.35}
.nvdesc{flex-basis:100%;margin-top:2px}
.nvsum{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line2);border-radius:8px;padding:12px;background:color-mix(in srgb,var(--accent-soft) 45%,var(--surface))}
.nvhead{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:16px}
.nvhead b{font-family:var(--display);font-weight:400;font-size:17px}
.nvp{margin:0;font-size:13.5px}
.nvp b{font-family:var(--mono);font-size:17px;color:var(--accent)}
.nvwarn{margin:0;font-size:12.5px;color:var(--warn);font-weight:700}
.nvsub{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.04em;margin-top:4px}
.nvtx{margin:0;font-size:13.5px}
.courses.nvst div{padding:4px 0;display:flex;flex-direction:column;align-items:center;gap:1px}
.courses.nvst .waku{width:18px;height:18px;font-size:10.5px}
.courses.nvst b{font-size:13px}
.courses.nvst .sd{font-size:9.5px;line-height:1.2;color:var(--muted);font-family:var(--body);padding:0 2px}
.courses.nvst .sd.up{color:var(--good);font-weight:700}
.courses.nvst .sd.dn{color:var(--warn);font-weight:700}
ul.nvwhy{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px;font-size:13px}
ul.nvwhy li.up{color:var(--good)}
ul.nvwhy li.dn{color:var(--warn)}
.nvds{display:flex;flex-wrap:wrap;gap:4px}
.nvd{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;line-height:1.3;padding:2px 7px;border:1px solid var(--line);border-radius:999px;background:var(--surface);white-space:nowrap}
.nvd .g{width:18px;height:18px;font-size:11px}
.nvd .fon{color:#1b1b1b;background:#ffd400;border:1px solid #1b1b1b;border-radius:3px;padding:0 3px;font-weight:700;font-size:10.5px}
.nvsec{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.nvsec h3{margin:0;font-family:var(--display);font-weight:400;font-size:16px}
.nvc{border:1px solid var(--line);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:7px}
.nvch{display:grid;grid-template-columns:26px minmax(0,1fr) auto auto;gap:8px;align-items:center}
.nvcm{font-size:13.5px;line-height:1.4;min-width:0}
.nvch .pct{font-size:16px;font-weight:600}
.nat{font-family:var(--mono);font-size:11px;color:var(--muted);white-space:nowrap}
.nvtags{display:flex;gap:6px;flex-wrap:wrap}
.nvtags:empty{display:none}
.nvtag{font-size:11.5px;font-weight:700}
.nvtag.up{color:var(--good)}.nvtag.dn{color:var(--warn)}
.nv3{display:flex;gap:8px;align-items:flex-start;font-size:12.5px}
.nv3 .lbl{color:var(--muted);white-space:nowrap;padding-top:2px}
.nv3 ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.nv3 li{display:grid;grid-template-columns:20px minmax(0,1fr) auto auto;gap:6px;align-items:center}
.nv3 .waku{width:20px;height:20px;font-size:11px}
.nv3 .pc{font-family:var(--mono);font-weight:600}
.nvplay{align-self:flex-start;font-size:12.5px;border-color:var(--accent);color:var(--accent);background:var(--surface)}
.nvrest .waku,.nvnote .waku{width:18px;height:18px;font-size:10.5px;vertical-align:-4px}
/* オッズ */
.odsel .chip{font-family:var(--body);cursor:pointer}
.odsub{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.04em;margin-top:6px}
table.odt{width:auto;min-width:260px}
table.odt td{padding:4px 8px}
table.odt td.rk{color:var(--muted);font-size:12px}
table.odt td.cmb{display:flex;gap:2px}
table.odt .waku,table.odm .waku,.g3 .waku,.odfirst .waku{width:22px;height:22px;font-size:12px}
td.od,table.odm td{font-family:var(--mono);font-size:14px;font-weight:600;white-space:nowrap}
.fav{color:var(--red)}
.mv{font-style:normal;font-size:11px;margin-left:2px}
.mv.dn{color:var(--red)}.mv.up{color:var(--muted)}
table.odm{width:auto;border-collapse:collapse}
table.odm th,table.odm td{border:1px solid var(--line);padding:4px 3px;text-align:center}
table.odm td{font-size:12px;min-width:44px}
table.odm .mv{margin-left:1px;font-size:10px}
table.odm td.off{background:var(--bg)}
.odfirst .chip{padding:3px 6px;cursor:pointer}
.g3{display:flex;flex-direction:column;gap:4px}
.g3row{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.g3b{width:30px;flex:none;display:flex;justify-content:center}
.g3c{display:inline-flex;align-items:center;gap:3px;min-width:74px;padding:3px 5px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}
.g3c b{font-family:var(--mono);font-size:13px}
@media (max-width:380px){.g3c{min-width:66px}.g3c b{font-size:12px}}

/* ---- 見やすさ・かわいらしさ(2026-10) ---- */
/* 下へ動かしても、選手の名前(表の見出し)はタブのすぐ下に残す */
.vt-wrap.stick{overflow:visible}
.vt-wrap.stick table.vt thead th{position:sticky;top:var(--tabsH,52px);z-index:3;box-shadow:0 2px 0 var(--line2)}
.vt-wrap.stick table.vt thead th.corner{background:var(--head)}
.vt-wrap.stick table.vt thead th:first-child{border-top-left-radius:11px}
.vt-wrap.stick table.vt thead th:last-child{border-top-right-radius:11px}
.fem{color:var(--pink);font-size:.95em;margin-left:2px;font-family:var(--body)}
table.vt td .cls{display:inline-block;font-family:var(--mono);font-size:12.5px;font-weight:800;padding:0 6px;border-radius:999px;background:#eef3f7;color:#374955}
table.vt td .cls.cA1{background:#ffe1e1;color:#c62828}table.vt td .cls.cA2{background:#ffeed9;color:#d35400}
table.vt td .cls.cB1{background:#e3f0ff;color:#1565c0}table.vt td .cls.cB2{background:#eceff1;color:#546e7a}
table.vt td.top .cls,table.vt td.top2 .cls{background:rgba(255,255,255,.25);color:#fff}
table.vt tr.gcat th{background:color-mix(in srgb,var(--pink) 13%,var(--surface));color:#b0306c}
.cattag{display:inline-block;margin-right:4px;padding:0 8px;border-radius:999px;background:var(--pink);color:#fff;font-size:11.5px}
/* 区分(グレード・女子戦)のタグ */
.tag.cat{color:#fff;font-weight:800}
.tag.cSG{background:linear-gradient(135deg,#d4a017,#f6d365);color:#3b2a00}.tag.cG1{background:#e53935}.tag.cG2{background:#8e44d9}
.tag.cG3{background:#1f8a4c}.tag.cIp{background:#78909c}.tag.cw{background:var(--pink)}
/* 線で区切った表(データ・オッズ・展示タイム1位) */
.gridt-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1.5px solid var(--line2);border-radius:12px}
table.gridt{border-collapse:separate;border-spacing:0;width:100%;font-variant-numeric:tabular-nums}
table.gridt th,table.gridt td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px 6px;text-align:center;white-space:nowrap}
table.gridt th:last-child,table.gridt td:last-child{border-right:0}
table.gridt tbody tr:last-child td,table.gridt tbody tr:last-child th{border-bottom:0}
table.gridt thead th{background:var(--head);color:var(--ink);font-size:12.5px;font-weight:800;border-bottom:1.5px solid var(--line2)}
table.gridt tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--head) 45%,var(--surface))}
table.gridt td.num{text-align:center;font-weight:700}
table.gridt td.hi{color:#fff;background:var(--rank1)!important;font-weight:800}
table.kt td.num{font-size:13.5px}
/* 展示タイム1位の成績 */
.ex1sec{--pc:var(--tc-before)}
.ex1{display:flex;flex-direction:column;align-items:stretch;gap:6px}
.ex1who{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:16px}
.ex1who b{font-size:17px;font-weight:800}
.ex1who .waku{width:28px;height:28px;font-size:15px}
.ex1who .sub{margin-left:auto;font-size:12.5px;font-weight:700}
table.ex1t tr.none td b{color:var(--muted)!important;font-weight:600}
.ex1 h3{margin:0;font-family:var(--display);font-weight:800;font-size:17px;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px}
.ex1 h3 small{font-size:12px;color:var(--muted);font-weight:700}
.ex1s{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap;font-size:14px;padding:6px 10px;border-radius:10px;background:color-mix(in srgb,var(--tc-before) 9%,var(--surface))}
.ex1s .lbl{font-weight:800;min-width:3.5em}
.ex1s .rk b{font-family:var(--mono);font-size:17px;font-weight:800}
.ex1s .r1 b{color:var(--rank1)}.ex1s .r2 b{color:var(--rank2)}.ex1s .r3 b{color:#1f8a4c}
.ex1s .cnt{margin-left:auto;font-size:12.5px;color:var(--muted);font-weight:700}
table.ex1t td b{display:block;font-family:var(--mono);font-size:15px;font-weight:800}
table.ex1t td .dim{display:block;font-size:11.5px;color:var(--muted);font-weight:600}
table.ex1t td.r1 b{color:var(--rank1)}table.ex1t td.r2 b{color:var(--rank2)}table.ex1t td.r3 b{color:#1f8a4c}
table.ex1t th .cn{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-family:var(--mono);font-weight:800}
table.ex1t tr.hit td,table.ex1t tr.hit th{background:color-mix(in srgb,var(--rank1) 12%,var(--surface))!important}
table.ex1t tr.hit th .cn{background:var(--rank1);color:#fff}
table.ex1t th .here{display:block;font-size:10px;color:var(--rank1);font-weight:800}
/* スタートの見立て(縦の表) */
table.vt.stv .cn{font-size:16px}
table.vt.stv tr.out td b{font-size:15px}
table.vt.stv .meter{display:block;width:80%;margin:3px auto 0}
table.vt.stv td.top .meter,table.vt.stv td.top2 .meter{background:rgba(255,255,255,.35)}
table.vt.stv td.top .meter>i,table.vt.stv td.top2 .meter>i{background:#fff}
#stNotes{margin-top:4px}
#stNotes li b{font-weight:800}
/* オッズ: 1番人気は赤、2番人気は青 */
.fav{color:var(--rank1);font-weight:800}
.fav2{color:var(--rank2);font-weight:800}
table.odm td.fav{background:color-mix(in srgb,var(--rank1) 14%,var(--surface))}
table.odm td.fav2{background:color-mix(in srgb,var(--rank2) 13%,var(--surface))}
table.odm{border-collapse:separate;border-spacing:0;border:1.5px solid var(--line2);border-radius:12px;overflow:hidden}
table.odm th,table.odm td{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
table.odm tr>*:last-child{border-right:0}
table.odm tbody tr:last-child>*{border-bottom:0}
table.odm thead th,table.odm tbody th{background:var(--head)}
table.g3t td{min-width:52px;font-size:13.5px}
table.g3t th.g3h{font-size:10.5px;line-height:1.25;padding:3px 4px;text-align:left}
table.g3t .g3k{display:flex;align-items:center;gap:3px;font-weight:800;font-size:11.5px;color:var(--ink)}
table.g3t .g3x{display:block;color:var(--muted);font-weight:700}
table.odt{border-collapse:separate;border-spacing:0;border:1.5px solid var(--line2);border-radius:12px;overflow:hidden}
table.odt th{background:var(--head);border-bottom:1.5px solid var(--line2);padding:6px 8px}
table.odt td{border-top:0;border-bottom:1px solid var(--line)}
table.odt tbody tr:last-child td{border-bottom:0}
.odsub{font-size:13px;font-weight:800;color:color-mix(in srgb,var(--tc-odds) 80%,#000);margin-top:8px}
/* 待ち・ボタンなど */
.wait{border-radius:12px;border-color:color-mix(in srgb,var(--pc,var(--accent)) 40%,var(--line2));background:color-mix(in srgb,var(--pc,var(--accent)) 5%,var(--surface))}
button{border-radius:10px;font-weight:700}
button.primary,button.on{background:var(--pc,var(--accent));border-color:var(--pc,var(--accent))}
.resbar{border-radius:14px;border-width:2px}
.resbar .odds{font-weight:800}
.crumb{font-weight:700}
.meta .tag{font-size:12.5px}
footer h2::before{display:none}
.boat h3{font-weight:800}
.scen-row .pct{font-weight:800}
.bar>i{background:linear-gradient(90deg,var(--pc,var(--accent)),color-mix(in srgb,var(--pc,var(--accent)) 60%,#fff))}
table.odm td.off{background:repeating-linear-gradient(135deg,var(--head) 0 4px,var(--surface) 4px 8px)}
table.gridt td.hi2{color:#fff;background:var(--rank2)!important;font-weight:800}
.pkt{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:10px}
table.gridt caption{caption-side:top;text-align:left;font-size:13px;font-weight:800;padding:6px 10px;color:color-mix(in srgb,var(--pc,var(--accent)) 80%,#000);background:color-mix(in srgb,var(--pc,var(--accent)) 9%,var(--surface))}
table.kt.kk th,table.kt.kk td{padding:6px 3px}
table.kt.kk thead th{font-size:11.5px;line-height:1.2}
table.kt.kk td.num{font-size:12.5px}
.catsec{--pc:var(--pink)}
/* 開催場のカード */
.vcard .vrow .tag.cat{font-size:11px;padding:1px 8px}
.vcard{border-top:4px solid var(--accent)}
.cards .vcard:nth-child(6n+1){border-top-color:#1e88e5}.cards .vcard:nth-child(6n+2){border-top-color:#fb8c00}.cards .vcard:nth-child(6n+3){border-top-color:#e53977}
.cards .vcard:nth-child(6n+4){border-top-color:#00a676}.cards .vcard:nth-child(6n+5){border-top-color:#8e44d9}.cards .vcard:nth-child(6n){border-top-color:#0097a7}
.vcard .v{color:var(--ink)}
@media (min-width:700px){table.vt thead th:first-child{width:96px}table.vt tbody th{font-size:12.5px}}
/* モーター評価 S+(全国で飛び抜けた「おばけモーター」) */
.g.gSp{background:linear-gradient(135deg,#ff3d77,#ffb300 45%,#ffe066 60%,#ff3d77);color:#fff;font-size:12.5px!important;letter-spacing:-.06em;
  box-shadow:0 0 0 2px #fff,0 0 0 3.5px #ff3d77;text-shadow:0 1px 0 rgba(120,0,40,.45)}
table.vt td.top .g.gSp{box-shadow:0 0 0 2px #ffd400}
/* 1周1マークの見出し(展開の一言まとめ)。展開ごとに字の形と色を変える */
.t1hl{margin:0;font-size:clamp(18px,4.9vw,24px);line-height:1.4;letter-spacing:.01em;text-wrap:balance;padding:10px 14px;border-radius:12px;
  --hc:#1559b7;color:var(--hc);background:color-mix(in srgb,var(--hc) 9%,var(--surface));border-left:6px solid var(--hc);font-family:var(--pop);font-weight:400}
.t1hl .hb{font-weight:inherit;padding:0 2px;border-radius:3px;background:linear-gradient(transparent 58%,var(--hbc,#ffe08a) 58%);color:var(--ink)}
.t1hl .hb1{--hbc:#dfe5ea}.t1hl .hb2{--hbc:#cfcfcf}.t1hl .hb3{--hbc:#ffb8b8}.t1hl .hb4{--hbc:#b8cdff}.t1hl .hb5{--hbc:#ffe57a}.t1hl .hb6{--hbc:#b6e8c6}
.t1hl.hl-easy{--hc:#0b8193;font-family:var(--display);font-weight:800}
.t1hl.hl-nige{--hc:#1559b7}
.t1hl.hl-guard{--hc:#d9480f}
.t1hl.hl-makuri{--hc:#d62828;font-family:"Dela Gothic One",var(--pop);letter-spacing:.02em;text-shadow:2px 2px 0 color-mix(in srgb,var(--hc) 18%,transparent)}
.t1hl.hl-sashi{--hc:#0a8f5f;font-family:"Dela Gothic One",var(--pop);letter-spacing:.02em}
.t1hl.hl-mz{--hc:#8e2fc7}
.t1hl.hl-upset{border-left-color:#ff4f9a;background:linear-gradient(100deg,color-mix(in srgb,#ff4f9a 10%,var(--surface)),color-mix(in srgb,#ffb300 10%,var(--surface)),color-mix(in srgb,#00b4d8 10%,var(--surface)))}
.t1hl.hl-upset::before{content:"波乱";display:inline-block;margin-right:6px;padding:0 8px;border-radius:999px;background:#ff4f9a;color:#fff;font-size:.62em;vertical-align:.2em;font-family:var(--display);font-weight:800}
@media (prefers-color-scheme: dark){.t1hl{color:color-mix(in srgb,var(--hc) 55%,#fff)}.t1hl .hb{color:#fff;background:linear-gradient(transparent 58%,color-mix(in srgb,var(--hbc) 45%,transparent) 58%)}}
@media (prefers-reduced-motion:no-preference){.t1hl:not([hidden]){animation:hlin .45s ease-out}@keyframes hlin{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}}
.t1hl .hb{white-space:nowrap}

/* 欠場の艇と、締切の変更(レースの遅れ) */
.abs{display:inline-block;margin:2px auto 0;padding:1px 6px;border-radius:6px;background:#5b6472;color:#fff;font-size:11px;font-weight:800;line-height:1.4;letter-spacing:.04em}
table.vt thead th.absent{background:repeating-linear-gradient(135deg,var(--head),var(--head) 6px,color-mix(in srgb,#5b6472 14%,var(--head)) 6px,color-mix(in srgb,#5b6472 14%,var(--head)) 12px)}
table.vt thead th.absent .hn{opacity:.7;text-decoration:line-through;text-decoration-thickness:1.5px}
.wait.absent-note{border-style:solid;border-color:color-mix(in srgb,#5b6472 45%,var(--line2));color:var(--ink);font-weight:700}
.race-list .dl.moved{color:var(--rank1);font-weight:800}
#dlTag[title]:not([title=""]){border-color:var(--rank1);color:var(--rank1)}
.scen-row.lead{background:color-mix(in srgb,var(--rank1) 7%,transparent);border-radius:10px;padding:4px 6px;margin:-4px -6px}
.leadtag{display:inline-block;margin-left:6px;padding:0 6px;border-radius:6px;background:var(--rank1);color:#fff;font-size:11px;font-weight:800;vertical-align:1px}
.p2 .cand.on{outline:2px solid var(--rank1);border-radius:8px}

/* コース別の戦法 */
.tac .tx{font-size:12px;line-height:1.35}
.tac .rt b{display:block;font-family:var(--mono);font-size:14px}
.tac .rt .dim{display:block;font-size:10.5px;color:var(--muted);font-weight:600}
.tac .rt .up{color:var(--rank1)}.tac .rt .dn{color:var(--rank2)}
.tac .ty{display:inline-block;padding:1px 6px;border-radius:7px;background:color-mix(in srgb,var(--tc-tac) 13%,var(--surface));color:color-mix(in srgb,var(--tc-tac) 85%,#000);font-weight:800;font-size:12px}
.tacsel{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 10px}
.tacsel button{display:inline-flex;align-items:center;gap:5px;border:1.5px solid var(--line2);background:var(--surface);border-radius:10px;padding:5px 8px;font-weight:800;font-size:13px;color:var(--ink)}
.tacsel button.on{border-color:var(--tc-tac);background:color-mix(in srgb,var(--tc-tac) 12%,var(--surface))}
.tacsel .waku{width:22px;height:22px;font-size:12px}
table.vt thead th.cno{background:var(--head);font-family:var(--mono);font-size:15px}
table.vt thead th.cno.today{background:var(--tc-tac);color:#fff}
table.vt thead th.cno small{display:block;font-size:10px;font-weight:700}
table.vt td.today:not(.top):not(.top2){background:color-mix(in srgb,var(--tc-tac) 7%,var(--surface))}
table.vt thead th small.hc{display:block;font-size:10px;font-weight:700;opacity:.9;margin-top:1px}

/* 見立ての成績 */
.rtiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (min-width:700px){.rtiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
.rtile{border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:3px;background:var(--surface)}
.rtile .rl{font-size:12.5px;font-weight:800;color:var(--muted);line-height:1.35}
.rtile .rv{font-size:34px;font-weight:800;line-height:1.1;color:var(--ink)}
.rtile .rv small{font-size:16px;margin-left:1px}
.rtile .cmp,.rtile .ra{font-size:12px;color:var(--muted);font-weight:700;line-height:1.4}
.rtile .cmp b{color:var(--ink)}
.rtile .cmp b small,.rtile .ra small{font-size:11px}
.rlegend{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:12.5px;color:var(--muted);font-weight:700}
.rlegend .k,.rtip .k{display:inline-block;width:16px;height:0;border-top:2px solid var(--rec-main);border-radius:2px;margin-left:6px}
.rlegend .k:first-child{margin-left:0}
.rlegend .k.base,.rtip .k.base{border-top-color:var(--rec-base)}
.rchart{position:relative;width:100%;min-height:236px}
.rchart svg{display:block;width:100%;height:auto;overflow:visible;outline:none}
.rchart svg:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}
.rchart .grid{stroke:var(--line);stroke-width:1}
.rchart .tick{fill:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}
.rchart .ln{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.rchart .ln.main{stroke:var(--rec-main)}.rchart .ln.base{stroke:var(--rec-base)}
.rchart .dot{stroke:var(--surface);stroke-width:2}
.rchart .dot.main{fill:var(--rec-main)}.rchart .dot.base{fill:var(--rec-base)}
.rchart .endl{fill:var(--ink);font-size:12px;font-weight:800}
.rchart .cross{stroke:var(--muted);stroke-width:1}
.rtip{position:absolute;z-index:2;pointer-events:none;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:6px 9px;
  box-shadow:0 4px 14px rgba(20,40,60,.14);font-size:12px;min-width:150px}
.rtip .th{font-weight:800;color:var(--muted);margin-bottom:2px}
.rtip .tr{display:flex;align-items:center;gap:6px}
.rtip .tr b{font-size:14px;color:var(--ink);font-variant-numeric:tabular-nums}
.rtip .tn{color:var(--muted)}
.rtip .k{margin-left:0}
table.vt.rect thead th{font-family:var(--mono);font-size:12px;white-space:nowrap;letter-spacing:-.03em}
table.vt.rect thead th small{display:block;font-size:9.5px;color:var(--rank1);font-weight:800}
table.vt.rect td small{display:block;font-size:10px;color:var(--muted)}
.rdet summary{cursor:pointer;font-weight:800;color:var(--accent);padding:4px 0}
table.gridt.rall td,table.gridt.rall th{text-align:center;font-variant-numeric:tabular-nums}
section details > summary h2{display:inline-flex;margin:0}
section details > summary{cursor:pointer;list-style-position:inside}
