/* サイト共通のヘッダータブ（Home / 分類 / About・Contact）。
   トップページ・分類一覧・記事のすべてがこの1本を読むので、
   どのページでも同じ位置・同じ見た目のバーが出る。

   色と寸法はここで閉じている。トップページ（home.css）と記事（report.css /
   analysis.css）は :root の値が少しずつ違うため、それらの変数を使うと
   ページごとにタブの色が変わってしまう。バーだけは全ページで同じであるべきなので、
   .site-tabs の中でトークンを定義し直している。

   Home / 分類のタブはリンク（<a>）、About・Contact・← Report は
   同じページ内のパネルを切り替えるボタン（<button>）。見た目は揃えてある。 */

.site-tabs {
  --tabs-paper: #f9f8f5;
  --tabs-rule: #dcd9d1;
  --tabs-face: #ffffff;
  --tabs-border: #b3aea3;
  --tabs-ink: #201e1a;
  --tabs-hover: #e2dfd8;

  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 12px 56px 11px;
  box-sizing: border-box;
  min-height: var(--topbar-h, 61px);
  position: sticky;
  top: 0;
  z-index: 90;
  background: var(--tabs-paper);
  border-bottom: 1px solid var(--tabs-rule);
  box-shadow: 0 2px 6px rgba(23, 63, 43, 0.05);
}

.site-tabs a,
.site-tabs button {
  display: inline-block;
  box-sizing: border-box;
  font: 700 12px var(--zen);
  letter-spacing: 0.02em;
  padding: 8px 20px;
  border: 1px solid var(--tabs-border);
  background: var(--tabs-face);
  color: var(--tabs-ink);
  border-radius: 999px;
  line-height: 1.6;
  text-decoration: none;
  cursor: pointer;
}

.site-tabs a:hover,
.site-tabs button:hover {
  background: var(--tabs-hover);
}

.site-tabs a:focus-visible,
.site-tabs button:focus-visible {
  outline: 2px solid var(--tabs-ink);
  outline-offset: 2px;
}

/* 記事を読んでいるとき、その記事が属する分類。リンク先は一覧なので現在地では
   ないが、どの分類の記事かは示したい。現在地（.active）の塗りつぶしと
   ぶつからないよう、枠線と下地だけを濃くする。 */
.site-tabs a[aria-current] {
  border-color: var(--tabs-ink);
  background: var(--tabs-hover);
}

/* いま開いているページ／パネル。[aria-current] より後に置いて塗りを優先させる。 */
.site-tabs a.active,
.site-tabs button.active {
  background: var(--tabs-ink);
  border-color: var(--tabs-ink);
  color: var(--tabs-paper);
}

/* 本文へ戻るタブ。読んでいる間は本文が出ているので出さない。
   About / Contact を開いたときだけ現れる（body.alt-tab は switchTab が付ける）。
   固定表示のバーで意味の分からないタブを常設するより、要る場面だけ出す。 */
.site-tabs .tab-return {
  display: none;
}
body.alt-tab .site-tabs .tab-return {
  display: inline-block;
}

/* サイドナビが出ている幅では、タブの左端をナビの罫（左padding 24px）に揃える。
   ナビが引っ込む1050px以下では本文の左端に揃うので base の56pxのままでよい。 */
@media (min-width: 1051px) {
  .site-tabs {
    padding-left: 24px;
  }
}

@media (max-width: 980px) {
  .site-tabs {
    padding: 10px 28px 9px;
  }
}

@media (max-width: 760px) {
  .site-tabs {
    position: static;
    min-height: 0;
    padding: 10px 16px;
  }
  .site-tabs a,
  .site-tabs button {
    font-size: 12px;
    padding: 7px 15px;
  }
}

@media (max-width: 640px) {
  .site-tabs a,
  .site-tabs button {
    padding: 7px 14px;
  }
}

@media print {
  .site-tabs {
    display: none;
  }
}
