/* 静的ページ（選手ページ・初心者ガイド）用。トップのCSSとは独立させて、ここだけで完結させる。 */
:root{--bg:#0b0e14;--card:#11161f;--line:#2a323f;--text:#eef1f5;--muted:#9aa3b2;--lime:#c8ff38;--pink:#ff5ca8;--cyan:#38e1ff;--orange:#ff8a1f}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.85 "Hiragino Sans","Noto Sans JP","Yu Gothic",Meiryo,system-ui,sans-serif}
a{color:var(--cyan)}
.lane-stripe{height:6px;background:linear-gradient(90deg,#f4f4f4 0 16.66%,#1c1c1c 16.66% 33.33%,#e60012 33.33% 50%,#0068b7 50% 66.66%,#fff100 66.66% 83.33%,#009944 83.33%)}
.page-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;max-width:860px;margin:0 auto;padding:14px 16px}
.page-brand{color:var(--text);font-size:.95rem;font-weight:900;text-decoration:none}
.page-brand span{color:var(--pink);font-size:.72rem}
.page-head nav{display:flex;flex-wrap:wrap;gap:6px 14px}
.page-head nav a{color:var(--muted);font-size:.82rem;font-weight:800;text-decoration:none;white-space:nowrap}
.page-head nav a:hover{color:var(--text)}
.page-main{max-width:860px;margin:0 auto;padding:8px 16px 40px}
.page-eyebrow{margin:0;color:var(--pink);font-size:.7rem;font-weight:900;letter-spacing:.12em}
h1{margin:4px 0 10px;font-size:clamp(1.8rem,5vw,2.6rem);line-height:1.2;letter-spacing:-.02em}
h2{margin:0 0 10px;font-size:1.1rem}
h3{margin:22px 0 6px;font-size:1rem;color:var(--lime)}
.lead{margin:0 0 18px;color:#d7dce4}
.badges{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 18px;padding:0}
.badge{padding:3px 10px;border:1px solid var(--line);border-radius:99px;background:#0c1118;color:var(--muted);font-size:.72rem;font-weight:800}
.badge.grade{border-color:var(--cyan);color:var(--cyan)}
.card{margin:0 0 16px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--card)}
.card p{margin:0 0 10px}
.card p:last-child{margin-bottom:0}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.stat-grid div{padding:10px 12px;border-radius:10px;background:#0c1118}
.stat-grid span{display:block;color:var(--muted);font-size:.68rem;font-weight:800}
.stat-grid strong{font-size:1.25rem}
.note{color:var(--muted);font-size:.76rem;line-height:1.7}
.noi-list{margin:0;padding-left:1.1em}
.noi-list li{margin-bottom:6px}
.today-card{border-color:rgba(200,255,56,.4);background:linear-gradient(180deg,rgba(200,255,56,.06),rgba(17,22,31,1))}
.today-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;font-size:1.05rem}
.today-line b{font-size:1.3rem}
.today-line span{color:var(--muted);font-size:.82rem;font-weight:800}
.today-meter{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.88rem}
.meter-bars{display:inline-flex;gap:3px}
.meter-bars i{display:block;width:16px;height:7px;border-radius:2px;background:#232a36}
.meter-bars[data-level="5"] i.on{background:var(--lime)}
.meter-bars[data-level="4"] i.on{background:#9be15d}
.meter-bars[data-level="3"] i.on{background:var(--cyan)}
.meter-bars[data-level="2"] i.on{background:var(--orange)}
.meter-bars[data-level="1"] i.on{background:var(--pink)}
.today-meter b{color:var(--lime)}
.page-btn{display:inline-block;margin-top:4px;padding:9px 14px;border:1px solid var(--lime);border-radius:10px;background:rgba(200,255,56,.1);color:var(--text);font-size:.84rem;font-weight:900;text-decoration:none}
.page-btn:hover{background:rgba(200,255,56,.2)}
.recent-list{margin:0;padding:0;list-style:none}
.recent-list li{display:flex;flex-wrap:wrap;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:.86rem}
.recent-list li:first-child{border-top:0}
.recent-list span{color:var(--muted)}
.player-index{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px;margin:0;padding:0;list-style:none}
.player-index a{display:flex;align-items:baseline;gap:6px;padding:6px 8px;border-radius:8px;color:var(--text);font-size:.86rem;font-weight:700;text-decoration:none}
.player-index a:hover{background:#0c1118}
.player-index span{color:var(--muted);font-size:.7rem}
.guide-index{margin:0;padding:0;list-style:none}
.guide-index li{border-top:1px solid var(--line)}
.guide-index li:first-child{border-top:0}
.guide-index a{display:block;padding:12px 0;color:var(--text);text-decoration:none}
.guide-index b{display:block;color:var(--lime);font-size:1rem}
.guide-index span{color:var(--muted);font-size:.8rem;line-height:1.6}
table.data{width:100%;border-collapse:collapse;font-size:.88rem}
table.data th,table.data td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left}
table.data th{color:var(--muted);font-size:.74rem}
table.data td b{font-size:1.05rem}
.page-foot{max-width:860px;margin:0 auto;padding:20px 16px 40px;border-top:1px solid var(--line);color:var(--muted);font-size:.76rem;line-height:1.8}
.page-foot p{margin:0 0 6px}
@media(max-width:600px){
  body{font-size:15px}
  .page-main{padding:6px 14px 30px}
  .card{padding:13px}
  .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .player-index{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ガイドのバナーと一覧カード */
.guide-banner{display:block;width:100%;height:auto;margin:0 0 18px;border-radius:14px}
.guide-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-bottom:16px}
.guide-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--text);text-decoration:none}
.guide-card:hover{border-color:var(--lime)}
.guide-card img{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover}
.guide-card-body{display:block;padding:12px 14px}
.guide-card b{display:block;margin-bottom:4px;color:var(--lime);font-size:1rem;line-height:1.4}
.guide-card span{display:block;color:var(--muted);font-size:.8rem;line-height:1.6}
.guide-min{margin-top:6px;color:#6f7a8a!important;font-size:.72rem!important}
/* 記事の中の図 */
.chart{margin:0 0 6px}
.chart svg{display:block;width:100%;height:auto}
.chart-note{margin:0;color:var(--muted);font-size:.74rem}

/* 場ページ：今日のレース一覧 */
.venue-races{display:grid;gap:8px}
.venue-race{display:grid;grid-template-columns:52px 84px minmax(0,1fr);align-items:baseline;gap:8px;padding:8px 0;border-top:1px solid var(--line)}
.venue-race:first-child{border-top:0}
.venue-race b{font-size:1.05rem}
.venue-race>span{color:var(--muted);font-size:.78rem;font-weight:800}
.venue-race-names{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:.84rem}
@media(max-width:600px){.venue-race{grid-template-columns:44px 72px;row-gap:4px}.venue-race-names{grid-column:1 / -1}}


/* 結果ページ */
.result-table td{vertical-align:middle}
.result-table .meter-bars{margin:0}
.lane-chip{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:5px;font-size:.78rem;font-weight:900}
.lane-chip[data-lane="1"]{background:#f4f4f4;color:#111}
.lane-chip[data-lane="2"]{background:#1c1c1c;color:#fff;box-shadow:inset 0 0 0 1px #6b717b}
.lane-chip[data-lane="3"]{background:#e60012;color:#fff}
.lane-chip[data-lane="4"]{background:#0068b7;color:#fff}
.lane-chip[data-lane="5"]{background:#fff100;color:#111}
.lane-chip[data-lane="6"]{background:#009944;color:#fff}
.result-verdict{margin:10px 0 0;padding:8px 10px;border-radius:10px;background:#0c1118;color:var(--muted);font-size:.82rem}
.result-verdict.is-hit{background:rgba(200,255,56,.1);color:#d7dce4}
.result-verdict b{color:var(--lime)}
.venue-links{display:flex;flex-wrap:wrap;gap:6px}
.venue-links a{padding:5px 10px;border:1px solid var(--line);border-radius:99px;color:var(--cyan);font-size:.8rem;font-weight:800;text-decoration:none}
.venue-links a:hover{border-color:var(--cyan)}

/* 実走の記録 */
.place-1{color:var(--lime)}
.place-2,.place-3{color:var(--cyan)}


.grade-badge{display:inline-block;padding:2px 7px;border-radius:99px;font-size:.7rem;font-weight:900;background:#232a36;color:#cfd6e2}
.grade-badge[data-grade="SG"]{background:var(--pink);color:#111}
.grade-badge[data-grade="PG1"]{background:var(--orange);color:#111}
.grade-badge[data-grade="G1"]{background:var(--lime);color:#111}
.grade-badge[data-grade="G2"]{background:var(--cyan);color:#111}
