/*
  Theme Name: Herschel Child – EXR-Network
  Theme URI: https://portal.eximradar.jp
  Description: EXR-Network Portal 用のデザイン現代化チャイルドテーマ。親テーマ Herschel を継承し、シャープでテック感のある"かっこいい系"の配色・タイポグラフィ・カードUIに刷新します。親テーマは無改変のまま保てます。
  Author: EXR-Network
  Template: herschel
  Version: 1.15.5
  License: GNU General Public License v3
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
  Text Domain: herschel-child
*/

/* =================================================================
   0. Design tokens  ―  "cool / tech" 系
   既存の紺(#071b66)を母体に、エレクトリックなシアン/ブルーを差し色に。
   親の inline style が触るのは --color-bg / --color-scheme / --color-text
   の3つだけなので、独自の --exr-* 変数は安全に使えます。
   ================================================================= */
:root {
  --font-family: 'Noto Sans JP', 'Open Sans', -apple-system, BlinkMacSystemFont,
    'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'Yu Gothic', Meiryo, sans-serif;
  --font-mono: ui-monospace, 'SF Mono', 'JetBrains Mono', 'Roboto Mono', Menlo, Consolas, monospace;

  /* エレクトリックなアクセント */
  --exr-accent:        #3b6fe0;  /* cobalt blue */
  --exr-accent-strong: #2a52c0;
  --exr-glow:          #6f93f0;  /* azure line */
  --exr-glow-soft:     rgba(111,147,240,.35);

  /* ダーク（ヘッダー/フッター/カードヘッダー） */
  --exr-navy:      #0a1f5c;
  --exr-navy-deep: #050d2e;
  --exr-ink-dark:  #0b1220;

  /* サーフェス & テキスト */
  --exr-bg:      #e9edf4;
  --exr-surface: #ffffff;
  --exr-ink:     #111827;   /* 見出し */
  --exr-body:    #374151;   /* 本文 */
  --exr-muted:   #6b7280;
  --exr-border:  #d4dbe6;

  /* 形状・影・動き（シャープめ） */
  --exr-radius:    6px;
  --exr-radius-sm: 4px;
  --exr-shadow:    0 1px 1px rgba(5,13,46,.06), 0 12px 26px -16px rgba(5,13,46,.45);
  --exr-shadow-lg: 0 20px 40px -16px rgba(42,82,192,.45);
  --exr-glow-ring: 0 0 0 1px var(--exr-accent), 0 0 24px -2px var(--exr-glow-soft);
  --exr-ease:      cubic-bezier(.22,.61,.36,1);
}

/* =================================================================
   1. Base
   ================================================================= */
html { scroll-behavior: smooth; }

body {
  font-family: var(--font-family);
  color: var(--exr-body);
  line-height: 1.78;
  letter-spacing: .005em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  /* うっすらテックグリッド */
  background-color: var(--exr-bg);
  background-image:
    linear-gradient(rgba(10,31,92,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(10,31,92,.035) 1px, transparent 1px);
  background-size: 28px 28px;
}

/* 全幅ヒーロー(.my-allwidth-image)が 50vw でスクロールバー幅ぶん横にはみ出し、
   横スクロールバーが出るのを抑止（clip は sticky を壊さない） */
html, body { overflow-x: clip; }
#site-wrapper { overflow-x: clip; }

::selection { background: var(--exr-accent); color: #fff; }

h1, h2, h3, h4, h5, h6 {
  color: var(--exr-ink);
  letter-spacing: .005em;
  line-height: 1.45;
  font-weight: 700;
}

#site-main a {
  color: var(--exr-accent-strong);
  text-decoration: none;
  transition: color .16s var(--exr-ease);
}
#site-main a:hover {
  color: var(--exr-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 2px;
}

a:focus-visible, button:focus-visible, input:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid var(--exr-accent);
  outline-offset: 2px;
}

/* =================================================================
   2. Header & branding
   ================================================================= */
#site-header {
  background:
    radial-gradient(120% 140% at 0% 0%, rgba(111,147,240,.18) 0%, transparent 45%),
    linear-gradient(135deg, var(--exr-navy) 0%, var(--exr-navy-deep) 100%);
}

.custom-logo {
  height: auto;
  max-height: 46px;
  width: auto;
  filter: drop-shadow(0 0 10px rgba(111,147,240,.35));
  transition: transform .25s var(--exr-ease), filter .25s var(--exr-ease);
}
#site-branding a:hover .custom-logo {
  transform: translateY(-1px);
  filter: drop-shadow(0 0 16px rgba(111,147,240,.6));
}
/* ロゴをヘッダー内で縦中央に（親は align-content:start＋margin:1em で上寄り） */
@media (min-width: 1024px) {
  #site-branding {
    align-content: center;
    align-self: center;
    margin: 0;
  }
}

/* =================================================================
   2.1 Navigation
   ================================================================= */
@media (min-width: 1024px) {
  #header-nav-container {
    background: linear-gradient(135deg, var(--exr-navy-deep) 0%, #0a1f5c 100%);
    position: sticky;
    top: 0;
    z-index: 50;
    box-shadow: 0 1px 0 rgba(111,147,240,.5), 0 10px 24px -10px rgba(0,0,0,.7);
  }
  #header-nav { gap: 0; }

  #header-nav a {
    position: relative;
    padding: 1.05em .58em;
    letter-spacing: .02em;
    text-transform: uppercase;
    font-weight: 700;
    transition: color .2s var(--exr-ease);
  }
  #header-nav a::after {
    content: '';
    position: absolute;
    left: .58em; right: .58em; bottom: .5em;
    height: 2px;
    background: var(--exr-accent);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .25s var(--exr-ease);
  }
  #header-nav li:hover > a::after,
  #header-nav .current-menu-item > a::after { transform: scaleX(1); }
  #header-nav a:hover,
  #header-nav .current-menu-item > a { color: #fff; }
  /* 親テーマのホバー時グレー背景(#565656)を打ち消し、下線アニメーションのみに */
  #header-nav > li:hover,
  #header-nav > li.current-menu-item { background-color: transparent; }

  #header-nav ul ul {
    background: #0a1f5c;
    border: 1px solid rgba(111,147,240,.25);
    border-radius: var(--exr-radius-sm);
    box-shadow: var(--exr-shadow);
    overflow: hidden;
    padding: .25em 0;
  }
}

@media (max-width: 1023px) {
  #header-nav { border-radius: var(--exr-radius-sm); box-shadow: var(--exr-shadow); }
  #header-nav a {
    border-radius: 4px;
    padding: .4em .6em;
    transition: background-color .2s var(--exr-ease);
  }
  #header-nav a:hover { background-color: rgba(111,147,240,.14); }
}

/* =================================================================
   3. Home – hero
   ================================================================= */
.home .my-allwidth-image { position: relative; }
.home .my-allwidth-image img {
  box-shadow:
    inset 0 0 0 1px rgba(111,147,240,.28),   /* 細い内側フレーム */
    0 24px 50px -28px rgba(5,13,46,.55);
}
/* HUDビューポート風の微細スキャンライン（極薄） */
.home .my-allwidth-image::before {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(0deg, rgba(5,13,46,.04) 0 1px, transparent 1px 3px);
  pointer-events: none;
  z-index: 2;
}
/* 下端に細い静的アクセントライン */
.home .my-allwidth-image::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--exr-accent), rgba(59,111,224,0) 72%);
  z-index: 3;
}

@media (max-width: 767px) {
  .my-allwidth-image { margin-top: 0 !important; }
}

/* セクション見出し（「ワールド紹介」などの x-large 指定 h4）― 左寄せ・サイバー */
.home .entry-content h4:has(span[style*="x-large"]) {
  text-align: left;
  margin-top: 1.8em;
  padding-left: .85em;
  position: relative;
}
/* 左端の縦バー（グローなし・無地のアクセント） */
.home .entry-content h4:has(span[style*="x-large"])::before {
  content: '';
  position: absolute;
  left: 0; top: .12em; bottom: .12em;
  width: 4px;
  background: var(--exr-accent);
}
.home .entry-content h4 span[style*="x-large"] {
  display: inline-block;
  position: relative;
  font-weight: 700;
  letter-spacing: .08em;
  color: var(--exr-ink);
}
.home .entry-content h4 span[style*="x-large"]::before {
  content: '// ';
  font-family: var(--font-mono);
  font-weight: 700;
  color: var(--exr-accent);
}
/* 見出し下に右へ伸びる細いライン（静的・にじみなし） */
.home .entry-content h4:has(span[style*="x-large"])::after {
  content: '';
  display: block;
  width: 100%; height: 1px;
  margin: .55em 0 0;
  background: linear-gradient(90deg, var(--exr-accent), rgba(59,111,224,0) 88%);
}

/* =================================================================
   4. Home – ウェルカム情報パネル（お役立ち / 最新のページ）
   ================================================================= */
.home .entry-content .wp-block-column:has(ul):not(:has(figure)) {
  background: var(--exr-surface);
  border: 1px solid var(--exr-border);
  border-top: 3px solid var(--exr-accent);
  border-radius: var(--exr-radius-sm);
  box-shadow: var(--exr-shadow);
  padding: 1.3em 1.5em;
}
.home .entry-content .wp-block-column:has(ul):not(:has(figure)) h4 {
  margin-top: 0;
  padding-bottom: .5em;
  font-size: 1.05rem;
  letter-spacing: .02em;
  border-bottom: 1px solid var(--exr-border);
}
.home .entry-content .wp-block-column:has(ul):not(:has(figure)) ul {
  padding-left: 0; list-style: none; margin-bottom: 0;
}
.home .entry-content .wp-block-column:has(ul):not(:has(figure)) li {
  position: relative;
  margin: 0;
  padding: .22em 0 .22em 1.5em;
  border-bottom: 1px solid #eef1f6;
}
.home .entry-content .wp-block-column:has(ul):not(:has(figure)) li:last-child { border-bottom: 0; }
.home .entry-content .wp-block-column:has(ul):not(:has(figure)) li::before {
  content: '▸';
  position: absolute;
  left: 0; top: .4em;
  color: var(--exr-accent);
  transition: transform .18s var(--exr-ease);
}
.home .entry-content .wp-block-column:has(ul):not(:has(figure)) li:hover::before {
  transform: translateX(3px);
}

/* =================================================================
   5. Home – ワールド紹介カード（HUD / モジュール風）
   ================================================================= */
.home .entry-content .wp-block-column:has(> figure.wp-block-image),
.home .entry-content .wp-block-column:has(> .wp-block-image) {
  /* ヘッダー帯ぶん(上 3.5em)は背景を透過 → その下を白いカード面に。
     紺ブロックは文字幅、低い帯の上は背景が透けて白が出ない。
     drop-shadow が不透明部分(紺ブロック＋帯＋白面)の階段シルエットに沿う。 */
  background: linear-gradient(180deg, transparent 0 2.7em, var(--exr-surface) 2.7em);
  border: none;
  padding: 1.5rem 1.5rem 1.6rem;   /* タイトルのブリード(-1.5rem)とピッタリ合わせる */
  overflow: hidden;
  position: relative;
  filter: drop-shadow(0 14px 26px rgba(5,13,46,.28));
  transition: transform .3s var(--exr-ease), filter .3s var(--exr-ease);
}
.home .entry-content .wp-block-column:has(> figure.wp-block-image):hover,
.home .entry-content .wp-block-column:has(> .wp-block-image):hover {
  transform: translateY(-5px);
  filter: drop-shadow(0 20px 32px rgba(5,13,46,.34));
}
/* 精密なコーナーブラケット（細1px・下2隅／白い本体側のレジストレーションマーク） */
.home .entry-content .wp-block-column:has(> figure.wp-block-image)::before,
.home .entry-content .wp-block-column:has(> figure.wp-block-image)::after {
  content: '';
  position: absolute;
  bottom: 11px;
  width: 13px; height: 13px;
  border: 0 solid rgba(111,147,240,.55);
  pointer-events: none;
  z-index: 3;
  transition: border-color .3s var(--exr-ease);
}
.home .entry-content .wp-block-column:has(> figure.wp-block-image)::before {
  left: 11px; border-left-width: 1px; border-bottom-width: 1px;
}
.home .entry-content .wp-block-column:has(> figure.wp-block-image)::after {
  right: 11px; border-right-width: 1px; border-bottom-width: 1px;
}
.home .entry-content .wp-block-column:has(> figure.wp-block-image):hover::before,
.home .entry-content .wp-block-column:has(> figure.wp-block-image):hover::after {
  border-color: var(--exr-glow);
}

/* タイトル → 文字幅にフィットする紺ネームプレート ＋ 右へ延びる細レール
   段差の上の白はカード背景の透過で除去。装飾は精密ヘアラインに集約。 */
.home .entry-content .wp-block-column:has(figure.wp-block-image) > .has-medium-font-size {
  position: relative;
  display: flex;
  align-items: stretch;             /* プレートをバー全高に */
  margin: -1.5rem -1.5rem 1.45em;    /* カード端にピッタリ合わせる（rem統一で過剰ブリード解消） */
  padding: 0;
  min-height: 2.7em;                 /* 文字を引き締める高さ */
  font-size: 1.16rem;
}
/* 右へ延びる細レール（全幅・背面・下端）＋上端の青ライン＋わずかな上向き発光 */
.home .entry-content .wp-block-column:has(figure.wp-block-image) > .has-medium-font-size::before {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: .6em;
  background: linear-gradient(135deg, var(--exr-navy), var(--exr-navy-deep));
  border-top: 1px solid var(--exr-glow);
  box-shadow: 0 -2px 9px -2px var(--exr-glow-soft);   /* 上側へわずかに発光 */
}
/* 紺ネームプレート（文字幅にフィット）＋右辺チャンファー(\) */
.home .entry-content .wp-block-column:has(figure.wp-block-image) > .has-medium-font-size strong {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;               /* プレート全高で中央寄せ */
  white-space: nowrap;
  padding: 0 1.5em 0 1.3em;
  background: linear-gradient(135deg, var(--exr-navy), var(--exr-navy-deep));
  border-top: 1px solid var(--exr-glow);   /* プレート上端の精密ライン */
  clip-path: polygon(0 0, calc(100% - .85em) 0, 100% 100%, 0 100%);
  color: #fff;
  font-weight: 600;
  letter-spacing: .09em;
}
/* 文字の左のメタリック・シルバー縦エッジ（縦方向グラデ／clip-path 非依存の p::after） */
.home .entry-content .wp-block-column:has(figure.wp-block-image) > .has-medium-font-size::after {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 5px;
  background: linear-gradient(180deg,
    #c7ced8 0%, #dee3ea 24%, #a3acbb 60%, #717b8e 100%);  /* ハイライトを上寄りに（上=明→下=暗の方向性） */
  box-shadow: 1px 0 2px -1px rgba(5,13,46,.45);   /* 右側に細い陰でエッジを締める */
  z-index: 3;
}

/* カード内の画像：シャープ＋ホバーズーム＋微コントラスト */
.home .entry-content .wp-block-column:has(figure.wp-block-image) figure.wp-block-image {
  margin: 0 0 1.1em;
  border-radius: var(--exr-radius-sm);
  overflow: hidden;
  border: 1px solid var(--exr-border);
}
.home .entry-content .wp-block-column:has(figure.wp-block-image) figure.wp-block-image img {
  display: block; width: 100%; height: auto;
  transition: transform .55s var(--exr-ease), filter .35s var(--exr-ease);
}
.home .entry-content .wp-block-column:has(figure.wp-block-image):hover figure.wp-block-image img {
  transform: scale(1.06);
  filter: saturate(1.08) contrast(1.04);
}

/* 「○○Info」見出し → 等幅テックラベル */
.home .entry-content .wp-block-column:has(figure.wp-block-image) h4 {
  margin: 1.2em 0 .5em;
  font-family: var(--font-mono);
  font-size: .82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--exr-accent-strong);
  padding-bottom: .4em;
  border-bottom: 1px dashed var(--exr-border);
}

.home .entry-content .wp-block-column:has(figure.wp-block-image) p a {
  color: var(--exr-accent-strong);
  font-weight: 600;
}
.home .entry-content .wp-block-column:has(figure.wp-block-image) p a:hover { color: var(--exr-accent); }

/* 休止中ワールドはやや控えめ＋タブをグレーに */
.home .entry-content .wp-block-column:has(figure.wp-block-image):has(a[href*="p=1894"]) { opacity: .92; }
.home .entry-content .wp-block-column:has(figure.wp-block-image):has(a[href*="p=1894"])::before {
  border-right-color: var(--exr-muted);
}

/* =================================================================
   6. Content（投稿・固定ページ）
   ================================================================= */
@media (min-width: 768px) {
  .page:not(.home) #site-main,
  .single #site-main,
  .archive #site-main,
  .search #site-main,
  .error404 #site-main {
    background: var(--exr-surface);
    border: 1px solid var(--exr-border);
    border-top: 3px solid var(--exr-accent);
    border-radius: var(--exr-radius);
    box-shadow: var(--exr-shadow);
    padding: 2.4em 2.6em;
  }
}

/* ページH1：左のアクセントバーで接地し、ヘッダー全体を下罫でまとめる（浮き解消） */
.page-header, .entry-header {
  margin-top: 0;
  margin-bottom: 1.2em;
  border-bottom: 1px solid var(--exr-border);
  padding-bottom: .5em;
  grid-gap: .25em;
}
.page-header h1, .entry-header h1 {
  color: var(--exr-ink);
  border-bottom: none;
  margin: 0;
  padding: 0 0 0 .6em;
  border-left: 4px solid var(--exr-accent);
  font-size: 1.45rem;          /* 親の1.9remを抑える */
  font-weight: 700;
  line-height: 1.2;            /* 縦を詰める */
  letter-spacing: -.005em;
}

.entry-content h2 {
  margin-top: 1.6em;
  padding-bottom: .3em;
  border-bottom: 2px solid var(--exr-border);
}
.entry-content h3 {
  margin-top: 1.4em;
  padding-left: .6em;
  border-left: 3px solid var(--exr-accent);
}

.entry-content blockquote, .wp-block-quote {
  border-left: 3px solid var(--exr-accent);
  background: linear-gradient(135deg, #f3f8fc, #eef6fb);
  margin: 1.5em 0;
  padding: 1em 1.4em;
  border-radius: 0 var(--exr-radius-sm) var(--exr-radius-sm) 0;
  color: var(--exr-ink);
}

.entry-content img:not(.custom-logo) { border-radius: var(--exr-radius-sm); }

/* =================================================================
   7. Buttons / read-more / pagination（シャープ＋グロー）
   ================================================================= */
.read-more-link,
.page-links > a,
.wp-block-button__link,
.pagination .current,
input[type="submit"],
button[type="submit"] {
  background: linear-gradient(135deg, var(--exr-accent), var(--exr-accent-strong));
  color: #fff;
  border: none;
  border-radius: var(--exr-radius-sm);
  padding: .55em 1.4em;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  box-shadow: 0 8px 18px -10px rgba(5,13,46,.5);
  transition: transform .18s var(--exr-ease), box-shadow .18s var(--exr-ease), filter .18s var(--exr-ease);
}
.read-more-link:hover,
.page-links > a:hover,
.wp-block-button__link:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 24px -10px rgba(5,13,46,.55);
  filter: brightness(1.04);
  text-decoration: none;
}

input[type="text"], input[type="search"], input[type="email"],
input[type="url"], input[type="password"], textarea, select {
  box-sizing: border-box;
  max-width: 100%;
  border: 1.5px solid var(--exr-border);
  border-radius: var(--exr-radius-sm);
  padding: .6em .85em;
  transition: border-color .2s var(--exr-ease), box-shadow .2s var(--exr-ease);
}
/* サイドバー内の検索フォームのはみ出し防止（親の margin-left:1.5rem を打ち消し） */
.widget .search-form { margin-left: 0; display: flex; gap: .4em; align-items: stretch; }
.widget .search-form label { flex: 1 1 auto; min-width: 0; display: block; margin: 0; }
.widget .search-field { width: 100%; }
.widget .search-submit { flex: 0 0 auto; }
input[type="text"]:focus, input[type="search"]:focus, input[type="email"]:focus,
input[type="url"]:focus, textarea:focus, select:focus {
  border-color: var(--exr-accent);
  box-shadow: 0 0 0 3px var(--exr-glow-soft);
  outline: none;
}

/* =================================================================
   8. Tables
   ================================================================= */
.entry-content table {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  border: 1px solid var(--exr-border);
  border-radius: var(--exr-radius-sm);
  overflow: hidden;
  box-shadow: var(--exr-shadow);
}
.entry-content table th {
  background: linear-gradient(135deg, var(--exr-navy), var(--exr-navy-deep));
  color: #fff;
  padding: .75em 1em;
  text-align: left;
  letter-spacing: .04em;
}
.entry-content table td { padding: .7em 1em; border-top: 1px solid var(--exr-border); }
.entry-content table tr:nth-child(even) td { background: #f5f8fc; }

/* =================================================================
   9. Footer
   ================================================================= */
#site-footer {
  background:
    radial-gradient(100% 140% at 100% 0%, rgba(111,147,240,.14) 0%, transparent 50%),
    linear-gradient(135deg, var(--exr-navy-deep) 0%, var(--exr-navy) 100%);
  border-top: 1px solid rgba(111,147,240,.4);
  font-size: .75rem;
  padding: 2em 1em;
}
#site-footer a { transition: color .16s var(--exr-ease); }
#site-footer a:hover { color: var(--exr-glow); }
#footer-nav > *::before { color: var(--exr-glow); }
#site-footer-information { opacity: .82; }

/* スクロールトップ：シャープな角・控えめな影 */
#scroll-to-top {
  background: linear-gradient(135deg, var(--exr-accent), var(--exr-accent-strong));
  border: none;
  border-radius: var(--exr-radius-sm);
  width: 46px; height: 46px;
  box-shadow: 0 10px 22px -10px rgba(5,13,46,.6);
  transition: transform .25s var(--exr-ease), box-shadow .25s var(--exr-ease);
}
#scroll-to-top:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 26px -10px rgba(5,13,46,.6);
}
#scroll-to-top::before { border-color: #fff; }

/* =================================================================
   10. Widgets
   ================================================================= */
.widget {
  background: var(--exr-surface);
  border: 1px solid var(--exr-border);
  border-radius: var(--exr-radius-sm);
  box-shadow: var(--exr-shadow);
  overflow: hidden;                 /* タイトルバーの角を枠の角丸に合わせる */
  padding: 0 .9em 1.1em;            /* 上は見出しバーが担う */
}
/* 見出し＝青ライン＋紺バーを一体化したヘッダー（カードのネームプレートと統一） */
.widget-title {
  margin: 0 -.9em .85em;            /* 枠の左右上端までブリード */
  padding: .5em .9em;
  background: linear-gradient(135deg, var(--exr-navy), var(--exr-navy-deep));
  border-top: 2px solid var(--exr-glow);   /* 上の青ラインを見出しバーの上端に統合 */
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .02em;
}
.widget-title a { color: #fff; }
/* 各項目の左にアクセントのワンポイント（▸）。
   マーカーは左の余白側へぶら下げ、本文はほぼ表題位置で、マーカーとの間隔を確保。 */
.widget li {
  position: relative;
  padding: .2em 0 .2em .35em;
  line-height: 1.55;
}
.widget li::before {
  content: '▸';
  position: absolute;
  left: -.6em; top: 50%;             /* 行の縦中央へ */
  transform: translateY(-50%);
  font-size: .82em;
  color: var(--exr-accent);
  transition: transform .18s var(--exr-ease), color .18s var(--exr-ease);
}
.widget li:hover::before {
  transform: translateY(-50%) translateX(2px);
  color: var(--exr-accent-strong);
}
/* 項目テキストのホバー：輪郭をぼかしたソフトな発光（縦線なし） */
.widget li a {
  position: relative;
  display: inline-block;
  padding: 0 .35em;
  margin: 0 -.35em;
  z-index: 0;
}
.widget li a::before {
  content: '';
  position: absolute;
  inset: -.35em -.15em;
  background: radial-gradient(ellipse at center, var(--exr-glow-soft) 0%, rgba(111,147,240,0) 70%);
  opacity: 0;
  transition: opacity .22s var(--exr-ease);
  z-index: -1;
}
.widget li a:hover::before { opacity: 1; }

/* =================================================================
   11. レスポンシブ微調整
   ================================================================= */
@media (max-width: 767px) {
  body { line-height: 1.72; }
  .home .entry-content .wp-block-column:has(figure.wp-block-image),
  .home .entry-content .wp-block-column:has(ul):not(:has(figure)) {
    margin-bottom: 1em;
  }
  /* 長いワールド名でも上線フレームが崩れないよう少し縮小 */
  .home .entry-content .wp-block-column:has(figure.wp-block-image) > .has-medium-font-size {
    font-size: 1.02rem;
  }
}
