
:root {
  --ink:#1a2433; --sub:#5b6b7b; --line:#dfe5ec; --bg:#f5f7f9; --surface:#fff;
  --navy:#16283f; --navy-2:#1f3a5c; --accent:#f97316; --accent-dark:#c2570b;
  --win:#15803d; --draw:#b45309; --loss:#b91c1c;
}
* { box-sizing:border-box; }
body { margin:0; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  color:var(--ink); background:var(--bg); line-height:1.7; }
a { color:var(--navy-2); }
a:hover { color:var(--accent-dark); }

.site-header { background:var(--navy); }
.header-inner { max-width:960px; margin:0 auto; padding:.7rem 1rem .5rem;
  display:flex; flex-wrap:wrap; align-items:center; gap:.3rem 1.5rem; }
.brand { display:flex; align-items:baseline; gap:.5rem; font-weight:800;
  color:#fff; text-decoration:none; font-size:1.25rem; letter-spacing:.02em; }
.brand-tick { width:.55em; height:.55em; background:var(--accent);
  border-radius:2px; align-self:center; }
.brand-sub { font-size:.6rem; color:#9fb2c8; font-weight:600; letter-spacing:.18em; }
.global-nav { display:flex; gap:.2rem; overflow-x:auto; margin-left:auto; }
.global-nav a { color:#d7e0ea; text-decoration:none; font-size:.85rem; font-weight:600;
  padding:.35em .7em; border-radius:6px; white-space:nowrap; }
.global-nav a:hover { background:var(--navy-2); color:#fff; }

.league-nav { background:var(--navy-2); }
.league-nav-inner { max-width:960px; margin:0 auto; padding:.3rem 1rem;
  display:flex; gap:.15rem; align-items:center; overflow-x:auto; }
.league-nav .league-name { color:#fff; font-weight:700; font-size:.85rem;
  margin-right:.6rem; white-space:nowrap; }
.league-nav a { color:#d7e0ea; text-decoration:none; font-size:.8rem;
  padding:.3em .6em; border-radius:6px; white-space:nowrap; }
.league-nav a:hover { background:var(--navy); color:#fff; }

.hero { background:linear-gradient(120deg, var(--navy) 0%, var(--navy-2) 70%, #2c4e78 100%);
  color:#fff; margin:0 -1rem; }
.hero-inner { max-width:960px; margin:0 auto; padding:2.2rem 1rem 2.4rem; }
.hero-kicker { color:var(--accent); font-weight:700; font-size:.85rem; margin:0 0 .4rem; }
.hero h1 { font-size:1.5rem; line-height:1.45; margin:0 0 .6rem; }
.hero-sub { color:#c3d1e0; font-size:.85rem; margin:0; }

main { max-width:960px; margin:0 auto; padding:0 1rem 3rem; }
h1 { font-size:1.35rem; line-height:1.45; }
h2 { font-size:1.08rem; border-left:4px solid var(--accent); padding-left:.55em;
  margin-top:2.4em; }
h3 { font-size:.95rem; margin-top:1.6em; }

.tbl { overflow-x:auto; background:var(--surface); border:1px solid var(--line);
  border-radius:10px; }
table { width:100%; border-collapse:collapse; font-size:.85rem; }
th, td { border-bottom:1px solid var(--line); padding:.5em .7em; text-align:left;
  white-space:nowrap; }
tbody tr:last-child td { border-bottom:none; }
thead th { background:var(--navy); color:#fff; font-weight:600; font-size:.78rem; }
tbody tr:nth-child(even) { background:#f8fafc; }
td.score { font-weight:700; }
td.venue { color:var(--sub); font-size:.78rem; max-width:16em; overflow:hidden;
  text-overflow:ellipsis; }
td.rank { font-weight:700; text-align:center; }
.cat { background:#eaeff5; color:var(--navy-2); font-size:.72rem; font-weight:700;
  padding:.15em .5em; border-radius:999px; }
table.detail th { background:#eef2f6; color:var(--ink); width:9em; white-space:normal; }
table.detail td { white-space:normal; }

.mk { font-weight:700; }
.mk-w { color:var(--win); }
.mk-d { color:var(--draw); }
.mk-l { color:var(--loss); }

.breadcrumb { font-size:.8rem; color:var(--sub); margin-top:1rem; }
.breadcrumb a { color:var(--sub); }
.lead { color:var(--sub); }
.note { color:var(--sub); font-size:.8rem; }
.more { margin:.9rem 0 0; }
.cta { display:inline-block; background:var(--accent); color:#fff; font-weight:700;
  font-size:.85rem; text-decoration:none; padding:.5em 1.1em; border-radius:8px; }
.cta:hover { background:var(--accent-dark); color:#fff; }

.stat-row { display:flex; gap:.8rem; flex-wrap:wrap; }
.stat { background:var(--surface); border:1px solid var(--line); border-radius:10px;
  padding:.7rem 1.1rem; font-size:.75rem; color:var(--sub); min-width:100px;
  text-align:center; }
.stat .num { display:block; font-size:1.35rem; font-weight:800; color:var(--navy); }

.report { background:var(--surface); border:1px solid var(--line);
  border-left:4px solid var(--accent); border-radius:10px; padding:1rem 1.2rem; }

.digest { display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
  gap:1rem; }
.digest-card { background:var(--surface); border:1px solid var(--line);
  border-radius:10px; padding:.9rem 1rem 1rem; }
.digest-card h3 { margin:.1em 0 .6em; }
.digest-card h3 a { text-decoration:none; color:var(--navy); }
.digest-card h3 a:hover { color:var(--accent-dark); }
.digest-card .tbl { border:none; }
.team-list { list-style:none; margin:0; padding:0; columns:2; font-size:.9rem; }
.team-list li { margin:.25em 0; break-inside:avoid; }

.placeholder .todo, .sponsor .todo { color:var(--sub); background:var(--surface);
  border:1px dashed var(--line); border-radius:10px; padding:.8rem; font-size:.85rem; }

.cat-line { font-size:.8rem; margin:.4rem 0; }
.article { background:var(--surface); border:1px solid var(--line); border-radius:10px;
  padding:1.4rem 1.6rem 1.6rem; }
.article h2 { margin-top:1.8em; }
.article h2:first-child { margin-top:.4em; }
.article li { margin:.3em 0; }

.site-footer { background:var(--navy); color:#9fb2c8; font-size:.75rem;
  margin-top:3rem; }
.footer-inner { max-width:960px; margin:0 auto; padding:1.4rem 1rem 2rem; }
.footer-brand { color:#fff; font-weight:800; font-size:.95rem; margin:0 0 .3rem; }
.footer-nav { display:flex; gap:1rem; margin:.2rem 0 .8rem; }
.footer-nav a { color:#c3d1e0; text-decoration:none; }
.site-footer a { color:#c3d1e0; }
