/* ==== 辞典ナビ（軽い色＆囲み） ==== */
.tw-dictnav{
  --dn-border: #b56a2a;   /* 紅茶系ブラウン */
  --dn-bg:     #fff7f0;   /* ほんのり背景 */
  --dn-text:   #4a3524;   /* 文字色 */
  border: 1px solid var(--dn-border);
  background: var(--dn-bg);
  color: var(--dn-text);
  border-radius: 12px;
  padding: .75rem 1rem;
  margin: 0 0 1rem;
}

.tw-dictnav__hd{ /* show_heading=true のとき */
  font-weight: 600;
  font-size: .95rem;
  margin: 0 0 .4rem;
  color: var(--dn-text);
  opacity: .9;
}

.tw-dictnav__list{
  display: flex;
  flex-wrap: wrap;
  gap: .5rem .75rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

.tw-dictnav__item{}

.tw-dictnav__link{
  display: inline-block;
  padding: .28rem .6rem;
  border-radius: 999px;            /* 小さめの“ピル” */
  text-decoration: none;
  line-height: 1.15;
  color: var(--dn-text);
  border: 1px solid transparent;   /* 現在地で境界を出すための下地 */
}

.tw-dictnav__link:hover{
  text-decoration: underline;
}

/* 現在地の軽い強調（is-current はマークアップに既に入ります） */
.tw-dictnav__item.is-current .tw-dictnav__link{
  background: #ffffff;
  border-color: var(--dn-border);
  font-weight: 600;
}

/* キーボード操作の視認性 */
.tw-dictnav__link:focus-visible{
  outline: 2px solid var(--dn-border);
  outline-offset: 2px;
}

/* ダークモードの軽調整（任意） */
@media (prefers-color-scheme: dark){
  .tw-dictnav{
    --dn-border: #d39a6a;
    --dn-bg:     rgba(211,154,106,0.10);
    --dn-text:   #e9e2dc;
  }
  .tw-dictnav__item.is-current .tw-dictnav__link{
    background: transparent;
    border-color: var(--dn-border);
  }
}

/* ナビ全体とリンクを茶系へ */
.tw-dictnav,
.tw-dictnav__link,
.tw-dictnav__link:visited{
  color: #6b3e1e;
}

/* === ナビカード（tw_nav_tiles） === */
.tw-nav-tiles{margin:2.5rem 0}
.tw-tiles{
  display:grid;
  gap:1rem;
  grid-template-columns: 1fr;            /* モバイルは縦並び */
}
@media (min-width: 640px){                /* タブレット以上で横2枚 */
  .tw-tiles{ grid-template-columns: repeat(2, minmax(260px,1fr)); }
}
.tw-tile{
  display:flex; flex-direction:column;    /* 高さ揃え＋ボタン風 */
  padding:1.25rem 1.5rem;
  border:1px solid var(--tw-border, #e5e7eb);
  border-radius:16px;
  text-decoration:none;
  background:#fff;
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
  min-height: 140px;                      /* お好みで調整 */
}
.tw-tile:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(0,0,0,.06);
  border-color:#d4d4d8;
}
.tw-tile__head{ font-weight:700; font-size:1.05rem; margin-bottom:.3rem; color:inherit;}
.tw-tile__desc{ opacity:.8; line-height:1.6; margin-bottom: .75rem; }
.tw-tile__badge{
  margin-top:auto;                        /* バッジを下に寄せる */
  display:inline-flex; align-items:center; gap:.4rem;
  padding:.25rem .6rem;
  border-radius:999px;
  background:#f4f4f5;
  font-size:.85em; color:#111827;
}
.tw-tile__badge::before{                  /* ちょいアイコン風（任意） */
  content:"📘";
}

/* ダークモード配慮（任意） */
@media (prefers-color-scheme: dark){
  .tw-tile{ background:#0b0b0c; border-color:#2a2a2c; }
  .tw-tile:hover{ box-shadow:0 8px 24px rgba(0,0,0,.4); border-color:#3a3a3e; }
  .tw-tile__desc{ opacity:.9; }
  .tw-tile__badge{ background:#1e1e22; color:#e5e7eb; }
}