/* ===========================================================
   テーマ B ／ AOBA（青葉）　★標準
   ------------------------------------------------------------
   伝統ある大学野球連盟らしい、白基調の落ち着いたデザインです。
   仙台の要素を色に込めています。

     藍紺（あいこん）… 伊達政宗の甲冑と、杜の都の夜空
     青葉（あおば）  … 青葉城・青葉通のケヤキ並木
     臙脂（えんじ）  … 七夕飾りの紅、締めの一色

   使う場合は、各HTMLの <link> を
     <link rel="stylesheet" href="theme-aoba.css">
   にしてください。
   =========================================================== */
:root{
  /* ---- 色 ---- */
  --ink:#FFFFFF;        /* 背景（白） */
  --panel:#F7F8FA;      /* 枠の中の背景 */
  --panel2:#ECEFF3;     /* 見出し行などの背景 */
  --line:#D4DAE1;       /* 罫線 */
  --fg:#16202B;         /* 文字（藍墨） */
  --dim:#68737F;        /* 補助的な文字 */
  --amber:#1B3A6B;      /* 主役の色＝藍紺（伊達の紺） */
  --turf:#2F6B45;       /* 青葉の緑 */
  --clay:#8C4A32;       /* 土の色 */
  --ng:#B8283C;         /* 中止・警告＝臙脂 */

  /* ---- 書体 ---- */
  --cond:'Oswald',sans-serif;
  --jp:'Noto Sans JP',sans-serif;
  --mono:'SFMono-Regular',Consolas,monospace;

  /* ---- 余白と形 ---- */
  --max:1180px;
  --gut:clamp(16px,3.6vw,36px);
  --r:3px;

  /* ---- 見出しの表情 ---- */
  --h-weight:700;
  --h-spacing:.03em;
  --hero-bg:linear-gradient(180deg,#1B3A6B 0%,#16325C 55%,#122A4E 100%);

  /* ---- 質感（白基調なので消します） ---- */
  --grain-opacity:0;
  --grain-blend:normal;

  /* ---- 部分的な背景 ---- */
  --header-bg:rgba(255,255,255,.96);
}

/* =========================================================
   このテーマ特有の調整
   ========================================================= */

/* ヘッダーは白地に紺のライン */
header{border-bottom:2px solid var(--amber)}
header .logo b{color:var(--fg)}
header .logo b span{color:var(--dim)}
header .logo .mark{background:var(--amber);color:#fff;border-color:var(--amber)}
header nav a{color:var(--dim)}
#burger{color:var(--fg);border-color:var(--line);background:#fff}
header nav a:hover{background:var(--panel2);color:var(--amber)}
header nav a.on{color:var(--amber);font-weight:700}

/* ヒーローは紺地に白抜き */
.hero{background:var(--hero-bg);color:#fff}
.hero .season{color:#9FC0E8}
.hero .jp{color:#fff}
.hero .sub{color:#C4D4E8}
.hero .links a{border-color:rgba(255,255,255,.4);color:#E8EEF6}
.hero .links a:hover{background:#fff;color:var(--amber);border-color:#fff}
.hero .links a.pri{background:#fff;color:var(--amber);border-color:#fff;font-weight:700}
.hero .links a.pri:hover{background:#FFD24A;border-color:#FFD24A;color:#16202B}

/* LED演出は使わず、белый抜きの重厚な文字に */
.led h1{
  background:none;-webkit-text-fill-color:#fff;color:#fff;
  text-shadow:0 2px 18px rgba(0,0,0,.25);
  font-size:clamp(42px,11vw,132px);
}
.led .gl{display:none}

/* ヒーロー内のスコアボードは白カード */
.hero .linescore{background:rgba(255,255,255,.97);border-color:rgba(255,255,255,.5);color:var(--fg)}
.hero .linescore .cap{color:var(--dim);border-color:var(--line)}
.hero .linescore .cap .st{color:var(--amber);font-weight:700}
.hero .linescore th{background:var(--panel2);color:var(--dim)}
.hero .linescore th.run{background:#122A4E;color:#FFD24A}
.hero .linescore td{color:var(--fg);border-color:var(--line)}
.hero .linescore td.tmcell{color:var(--fg)}
.hero .linescore td.run{background:#EAF0F8;color:var(--amber)}
.hero .linescore .pitchers{color:var(--dim);border-color:var(--line)}
.hero .linescore .pitchers b{color:var(--fg)}
.hero .linescore .press{border-color:var(--line)}
.hero .linescore .press a{color:var(--dim)}
.hero .linescore .press a:hover{color:var(--amber)}

/* 見出しは紺の縦線を添えて */
h2.sec{color:var(--fg);padding-left:14px;border-left:5px solid var(--amber)}
h2.sec small{color:var(--dim)}
.eye{color:var(--amber);font-weight:700}
.eye::after{background:var(--line)}
.asof{color:var(--turf);font-weight:700}

/* 表は白地に薄いしま模様 */
.tw th,table th{background:var(--amber);color:#fff;font-weight:700}
.tw th.run,table th.run{background:#122A4E;color:#FFD24A}
.tw th.l,table th.l{color:#fff}
tbody tr:nth-child(even){background:var(--panel)}
tbody tr:hover{background:#EAF0F8}
td.rk{color:var(--amber);font-weight:700}
td.hi{color:var(--ng);font-weight:700}
td.run{color:var(--amber);background:#EAF0F8}
td.tot{background:#E4EBF4;color:var(--amber)}
tbody tr.totrow td{border-top:2px solid var(--amber)}

/* タブ */
.tabs button{background:#fff}
.tabs button[aria-selected="true"]{background:var(--amber);border-color:var(--amber);color:#fff}
.cheerTabs button{background:#fff}
.cheerTabs button[aria-selected="true"]{background:var(--amber);border-color:var(--amber);color:#fff}

/* マーキーは紺地に白抜き */
.mq{background:var(--amber)!important;border-color:var(--amber)}
.mq li{color:rgba(255,255,255,.92)}
.mq li::after{color:#FFD24A}

/* 加盟大学カード */
.team{background:#fff;border-color:var(--line)}
.team:hover{background:var(--amber);border-color:var(--amber)}
.team:hover *{color:#fff!important}
.team .ab{color:var(--dim)}

/* 日程 */
.gr{background:#fff}
.gr .s{color:var(--amber)}
.gr .s.x{color:var(--ng)}

/* お知らせ */
.news a:hover{background:var(--panel)}
.news a:hover .t{color:var(--amber)}
.news .c{background:#fff}

/* 応援掲示板 */
.cheerForm{background:var(--panel)}
.cheerForm input[type="text"],.cheerForm textarea{background:#fff}
.cheerForm button{background:var(--amber);color:#fff}
.cheerCard{background:#fff}

/* CTA は紺地 */
.cta{background:var(--hero-bg);color:#fff}
.cta::before{display:none}
.cta h2{color:#fff}
.cta p{color:#C4D4E8}
.cta .links a.pri{background:#fff;color:var(--amber);border-color:#fff;font-weight:700}
.cta .links a.pri:hover{background:#FFD24A;border-color:#FFD24A;color:#16202B}

/* 下層ページの見出し帯 */
.pagehead{background:var(--panel);border-bottom:2px solid var(--amber)}
.pagehead h1{color:var(--fg)}
.pagehead h1 small{color:var(--amber)}
.crumb a:hover{color:var(--amber)}

/* フッターは紺地 */
footer{background:#122A4E;color:#C4D4E8;border-top:0;margin-top:60px}
footer .fg h4{color:#8FB2DC}
footer .fg address{color:#C4D4E8}
footer .fg li a{color:#E8EEF6}
footer .fg li a:hover{color:#FFD24A}
.big{-webkit-text-stroke:1px rgba(255,255,255,.18);color:transparent}
.fm{border-top-color:rgba(255,255,255,.15);color:#8FB2DC}

/* 広告帯 */
.adStrip{background:var(--panel);border-color:var(--line)}
.adStrip .lbl{color:var(--amber);font-weight:700}
.adGrid a{background:#fff}

/* ローディング */
#boot{background:var(--hero-bg)}
#boot .title{color:#fff}
#boot .status{color:#9FC0E8}
.tips .lb{color:#7FD4A8}
.tips .tx{color:#E8EEF6}
.pitch .ball{background:#fff;box-shadow:0 0 14px rgba(255,255,255,.5)}
.pitch .plate,.pitch .mitt{border-color:rgba(255,255,255,.5)}
.pitch .line{background:linear-gradient(90deg,transparent,rgba(255,255,255,.3) 20%,rgba(255,255,255,.3) 80%,transparent)}
.bar{background:rgba(255,255,255,.2)}
.bar i{background:#FFD24A}
#boot .slow{color:#9FC0E8}

/* 記事リンク */
.linescore .press a:hover{color:var(--amber)}
.linescore .press a:hover .md{border-color:var(--amber)}

/* 空欄・読み込み中 */
.empty{color:var(--dim);border-color:var(--line)}
.loading{color:var(--amber)}

/* 名簿 */
.teamBlock h3{color:var(--amber)}
.teamBlock td.no{color:var(--amber)}
.teamBlock td.nm a:hover{color:var(--amber)}

/* 連盟記録 */
.recGroup h3{color:var(--amber)}
.recItem .ti{color:var(--turf);font-weight:700}
mark{background:#FFE9A8;color:var(--fg)}

/* 役員名簿 */
.offGroup h4{color:var(--amber)}

/* 報道記事 */
.pressGroup h3{color:var(--amber)}
.pressItem{background:#fff}
.pressItem:hover{border-color:var(--amber);background:var(--panel)}
.pressItem:hover .tt{color:var(--amber)}

/* 過去大会 */
.seasonCard{background:#fff;color:var(--fg)}
.seasonCard:hover{border-color:var(--amber);background:var(--panel)}
.seasonCard[aria-selected="true"]{border-color:var(--amber);background:#EAF0F8!important;color:var(--fg)}
.seasonCard[aria-selected="true"] .nm{color:var(--amber);font-weight:900}
.seasonCard .nm{color:var(--fg)}
.seasonCard .pill{background:#fff;color:var(--dim)}
.seasonCard .pill.live{color:var(--ng);border-color:var(--ng)}
.yearGroup h3{color:var(--amber)}

/* 選択セレクト */
.sel{background:#fff;border-color:var(--amber);color:var(--fg);
  background-image:linear-gradient(45deg,transparent 50%,var(--amber) 50%),
                   linear-gradient(135deg,var(--amber) 50%,transparent 50%)}
.sel:hover{background-color:var(--panel)}

/* ボタン */
.btn{background:#fff}
.btn:hover{border-color:var(--amber);color:var(--amber)}
a.btn.pri,button.btn.pri,.btn.pri{background:var(--amber);color:#fff!important;border-color:var(--amber)}
a.btn.pri:hover,button.btn.pri:hover,.btn.pri:hover{background:#16325C;border-color:#16325C;color:#fff!important}

/* 運営用ページ */
.gate{background:#fff}
.gate.main{background:#EAF0F8;border-color:var(--amber)}
.gate.off{opacity:1;background:var(--panel2)!important;border-color:var(--line)}
.gate.off h2,.gate.off p{color:var(--dim)}
.gate.off .tag{color:var(--dim)}
.gate .go{border-color:var(--amber);color:var(--amber)}
.gate:hover .go{background:var(--amber);color:#fff}
.hero2{background:var(--panel);border-bottom:2px solid var(--amber)}
.hero2 h1{color:var(--fg)}
.hero2 h1 small{color:var(--amber)}
.steps li{background:#fff}
.warn{background:#FFF8E6;border-left-color:#C99A2E;color:#6B5518}
.warn b{color:#8C6A1E}
.warn.ng{background:#FDF0F2;border-left-color:var(--ng);color:#7A1B2A}
.warn.ng b{color:var(--ng)}
.notset{color:var(--ng);border-color:var(--ng)}

/* マニュアル */
.toc{background:rgba(255,255,255,.97)!important;border-bottom-color:var(--line)}
.toc a{background:#fff}
.toc a:hover{border-color:var(--amber);color:var(--amber)}
.chapter > h2{color:var(--amber);border-bottom-color:var(--line)}
.chapter > h2 small{color:var(--fg)}
.chapter > h2 .no{color:var(--dim)}
h3.sub{border-left-color:var(--amber)}
.chapter p b{color:var(--amber)}
ol.steps li{background:#fff}
ul.dots li::before{background:var(--amber)}
.note{background:#FFF8E6;border-left-color:#C99A2E;color:#6B5518}
.note b{color:#8C6A1E}
.note.ng{background:#FDF0F2;border-left-color:var(--ng);color:#7A1B2A}
.note.ng b{color:var(--ng)}
.note.ok{background:#EDF6F0!important;border-left-color:var(--turf);color:#1F4A32}
.note.ok b{color:var(--turf)}
.note{background:#FFF8E6!important}
.note.ng{background:#FDF0F2!important}
.screen{background:#fff}
.screen .lb{color:var(--amber)}
.faq details{background:#fff}
.faq summary{color:var(--fg)}
.faq details[open] summary{color:var(--amber)}
.infoTable{background:#fff}

/* 選手詳細 */
.plHead{background:#EAF0F8;border-color:var(--amber)}
.plHead .no{color:var(--amber)}
.plHead .pill{background:#fff}
.plCard{background:#fff}
.plCard:hover{border-color:var(--amber);background:var(--panel)}
.plCard .no{color:var(--amber)}

/* 接続状態バナー */
#datastate{background:#FFF8E6;border-bottom-color:#E0C88A;color:#6B5518}
#datastate b{color:#8C6A1E}
#datastate code{background:rgba(0,0,0,.06)}

/* 緊急告知 */
#alert{background:#FFD24A;color:#16202B}
#alert[data-lv="warning"]{background:#E8823C;color:#fff}
#alert[data-lv="danger"]{background:var(--ng);color:#fff}
