/**
 * rising-v10f ホーム試作 — 操作まわりの上書き（主指揮が rising-v10f.html の末尾で読み込む）
 * 既存 CSS は触らず、本ファイルだけで fixes-all 3・5・6 と回帰 7、cursor-home-fix-brief を満たす。
 */

/* ========== 1. :focus-visible を 1 型（outline なし・紙色 #f3ecdc の 2px 下線） ========== */

body.eh-study.s55 :is(.s55-masthead, #main) :is(a, button):focus-visible {
  outline: none;
}

/* 操作リンク：motion-system の ::after 引き直し＋矢印 4u（色は紙色） */
body.eh-study.s55 :is(
  .ensemble-stage .u,
  .edition-news-all,
  .edition-works__all,
  .edition-contact-all,
  #products .s55-studio-link,
  #products .s55-hub-banner .action,
  #products .pv-u,
  .v8-live-empty-link,
  [data-vp-link]:not(.edition-news-link, .edition-works__image-link, .lia-link, .v8-live-picture),
  #s14-nav a,
  .edition-footer .footer-info a,
  .edition-footer .footer-socials a
):focus-visible {
  color: #f3ecdc;
}

body.eh-study.s55 :is(
  .ensemble-stage .u,
  .edition-news-all,
  .edition-works__all,
  .edition-contact-all,
  #products .s55-studio-link,
  #products .s55-hub-banner .action,
  #products .pv-u,
  .v8-live-empty-link,
  [data-vp-link]:not(.edition-news-link, .edition-works__image-link, .lia-link, .v8-live-picture)
):focus-visible::after {
  background: #f3ecdc;
  height: 2px;
}

/* ヘッダー nav・MENU：header-scroll-v1 の outline と 1px ::after より詳細度を上げる（焦点 2px／現在地 aria-current は 1px のまま） */
body.hs.eh-study.s55 .s13-header :is(#s14-nav a, .s14-menu-toggle):focus-visible {
  outline: none;
}

body.hs.eh-study.s55 .s13-header #s14-nav a:focus-visible::after {
  opacity: 1;
  height: 2px;
  background: #f3ecdc;
}

body.hs.eh-study.s55 .s13-header .s14-menu-toggle:focus-visible::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: calc(50% + var(--hs-label) / 2 + 6px);
  height: 2px;
  background: #f3ecdc;
  pointer-events: none;
}

/* フッター：edition.css の金 outline を消し、文字リンクは 2px 下線・ロゴは短い紙色の線 */
body.eh-study.s55 .edition-footer.edition-footer :is(.footer-info a, .footer-socials a, a.footer-signature):focus-visible {
  outline: none;
}

body.eh-study.s55 .edition-footer.edition-footer .footer-info a:focus-visible:not([aria-current]) {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
  text-decoration-color: #f3ecdc;
}

body.eh-study.s55 .edition-footer.edition-footer .footer-info a[aria-current]:focus-visible::after {
  height: 2px;
  background: #f3ecdc;
}

body.eh-study.s55 .edition-footer.edition-footer .footer-socials a:focus-visible::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: #f3ecdc;
  pointer-events: none;
}

body.eh-study.s55 .edition-footer a.footer-signature:focus-visible::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 72px;
  margin-left: -36px;
  bottom: -4px;
  height: 2px;
  background: #f3ecdc;
  pointer-events: none;
}

body.eh-study.s55 .s13-header > a.hero-now:focus-visible {
  color: #f3ecdc;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 6px;
  text-decoration-color: #f3ecdc;
}

/* ヒーロー名札（操作リンク型の下線は tag-row） */
body.eh-study.s55 .ensemble-stage .tag a:focus-visible .tag-row {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
  text-decoration-color: #f3ecdc;
  color: #f3ecdc;
}

/* カード：枠の outline を消し、題に 2px 紙色の下線 */
body.eh-study.s55.study40 .edition-works .edition-works__image-link:focus-visible {
  outline: none;
}

body.eh-study.s55 .edition-news-link:focus-visible :is(h3, .edition-news-title-row h3) {
  color: #f3ecdc;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 6px;
  text-decoration-color: #f3ecdc;
}

body.eh-study.s55 .edition-works__feature:has(.edition-works__image-link:focus-visible) .edition-works__feature-caption h3,
body.eh-study.s55 .edition-works__stamps:has(.edition-works__image-link:focus-visible) .edition-works__caption h3,
body.eh-study.s55 .edition-works__template:has(.edition-works__image-link:focus-visible) .edition-works__caption h3 {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
  text-decoration-color: #f3ecdc;
  color: #f3ecdc;
}

body.eh-study.s55 :is(
  #main > .edition-live-wrap > #on-air .v8-live-group[data-mc] a:focus-visible,
  #on-air .lia-link[data-mc]:focus-visible,
  #on-air a.v8-live-picture:focus-visible
) {
  outline: none;
}

body.eh-study.s55 :is(
  #main > .edition-live-wrap > #on-air .v8-live-group[data-mc] a:focus-visible .v8-live-title,
  #on-air .lia-link[data-mc]:focus-visible .lia-title
) {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
  text-decoration-color: #f3ecdc;
  color: #f3ecdc;
}

/* LIVE 待機アーカイブ：元 CSS の詳細度が高く outline が残る（lia-link / MEMBER CHANNELS） */
body.eh-study.s55 #on-air:not([data-state="live"]) > #v8-live-content > .v8-live-empty.lia-enhanced .lia-link:focus-visible,
body.eh-study.s55 #on-air:not([data-state="live"]) > #v8-live-content > .v8-live-empty.lia-enhanced .lia-list .lia-link[data-mc]:focus-visible {
  outline: none;
}

body.eh-study.s55 #on-air:not([data-state="live"]) > #v8-live-content > .v8-live-empty.lia-enhanced .lia-link:focus-visible .lia-title {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
  text-decoration-color: #f3ecdc;
  color: #f3ecdc;
}

body.eh-study.s55 #on-air:not([data-state="live"]) > #v8-live-content > .v8-live-empty.lia-enhanced .lia-all .v8-live-empty-link:focus-visible {
  outline: none;
}

/* ========== 2. 押せる範囲 44px（見た目は ::before の当たりだけ広げる） ========== */

body.eh-study.s55 .ensemble-stage .u,
body.eh-study.s55 .ensemble-stage .tag a,
body.eh-study.s55 .study40 .edition-works .work-viewer40-title,
body.eh-study.s55 .study40 .edition-works .edition-works__author,
body.eh-study.s55 .edition-footer .footer-info a,
body.eh-study.s55 .edition-footer .footer-socials a {
  position: relative;
}

body.eh-study.s55 .ensemble-stage .u::before {
  content: "";
  position: absolute;
  inset: -13px 0;
  z-index: -1;
}

body.eh-study.s55 .ensemble-stage .tag a::before,
body.eh-study.s55 .study40 .edition-works .work-viewer40-title::before,
body.eh-study.s55 .study40 .edition-works .edition-works__author::before {
  content: "";
  position: absolute;
  inset: -11px 0;
  z-index: -1;
}

/* フッター情報リンク：edition の min-height 36px が実ボックス。::before(z-index:-1) は背面を elementFromPoint が拾い当たりが伸びない */
body.eh-study.s55 .edition-footer.edition-footer .footer-info a {
  box-sizing: border-box;
  min-height: 44px;
  padding-top: 4px;
  padding-bottom: 4px;
  margin-top: -4px;
  margin-bottom: -4px;
}

body.eh-study.s55 .edition-footer .footer-socials a::before {
  content: "";
  position: absolute;
  inset: -11px -7px;
  z-index: -1;
}

/* CONTACT の余白（負の margin）は、共通の枠の担当が節の余白の尺度（home-spacing-v1.css）でまとめて直すので、ここでは扱わない（主指揮 2026-09-29） */

/* ========== 3. 主要操作 MEET THE MEMBERS — ホバーでも金 #ecd28a を保つ ========== */

body.eh-study.s55 .ensemble-stage .u.primary:is(:hover, :focus-visible) {
  color: #ecd28a;
}

body.eh-study.s55 .ensemble-stage .u.primary:is(:hover, :focus-visible)::after {
  background: #ecd28a;
}

/* ========== 4. スマホメニュー開閉 — 題字・印と項目の二重重なりを順序で解消 ========== */

@media (max-width: 1023px) {
  body.eh-study.s55 .ensemble-stage .wm.s55-mark {
    opacity: 1;
    transition: opacity 120ms linear 120ms;
  }

  body.eh-study.s55[data-s14-nav="open"] .ensemble-stage .wm.s55-mark {
    opacity: 0;
    pointer-events: none;
    transition: opacity 120ms linear 0ms;
  }

  body.eh-study.s55.hs .s13-header .s13-brand > :is(.s55-brand-stroke, .s55-brand-word) {
    opacity: 1;
    transition: opacity 120ms linear 120ms, transform 320ms var(--hs-ease-sink, ease);
  }

  body.eh-study.s55.hs[data-s14-nav="open"] .s13-header .s13-brand > :is(.s55-brand-stroke, .s55-brand-word) {
    opacity: 0;
    transition: opacity 120ms linear 0ms, transform 120ms linear 0ms;
  }

  body.eh-study.s55.hs[data-s14-nav] .s13-header #s14-nav {
    opacity: 0;
    transition: opacity 120ms linear 0ms, visibility 0s linear 120ms;
  }

  body.eh-study.s55.hs[data-s14-nav="open"] .s13-header #s14-nav {
    opacity: 1;
    transition: opacity 200ms linear 120ms, visibility 0s linear 0s;
  }

  body.eh-study.s55.hs[data-s14-nav="open"] .hs-scrim {
    transition: opacity 200ms linear 120ms, visibility 0s linear 0s;
  }

  body.eh-study.s55.hs[data-s14-nav] .hs-scrim {
    transition: opacity 120ms linear 0ms, visibility 0s linear 120ms;
  }
}

@media (max-width: 1023px) and (prefers-reduced-motion: reduce) {
  body.eh-study.s55 .ensemble-stage .wm.s55-mark,
  body.eh-study.s55.hs .s13-header .s13-brand > :is(.s55-brand-stroke, .s55-brand-word),
  body.eh-study.s55.hs[data-s14-nav] .s13-header #s14-nav,
  body.eh-study.s55.hs .hs-scrim {
    transition: none;
  }

  body.eh-study.s55[data-s14-nav="closed"] .ensemble-stage .wm.s55-mark,
  body.eh-study.s55[data-s14-nav="closed"].hs .s13-header .s13-brand > :is(.s55-brand-stroke, .s55-brand-word) {
    opacity: 1;
    pointer-events: auto;
  }

  body.eh-study.s55[data-s14-nav="open"] .ensemble-stage .wm.s55-mark,
  body.eh-study.s55[data-s14-nav="open"].hs .s13-header .s13-brand > :is(.s55-brand-stroke, .s55-brand-word) {
    opacity: 0;
    pointer-events: none;
  }

  body.eh-study.s55[data-s14-nav="closed"].hs .s13-header #s14-nav {
    opacity: 0;
    visibility: hidden;
  }

  body.eh-study.s55[data-s14-nav="open"].hs .s13-header #s14-nav {
    opacity: 1;
    visibility: visible;
  }
}

/* ========== 5. a11y-fix-draft（ホーム・契約内・上記と重ならない分） ========== */

body.eh-study.s55 .skip:focus {
  top: -80px;
}

body.eh-study.s55 .skip:focus-visible {
  top: 16px;
  outline: none;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
  text-decoration-color: #f3ecdc;
}

/* 配信中の ON AIR の枠（box-shadow）は、契約の「細い枠線の箱の禁止」に反するので外した。状態は「ON AIR」の文字と名前で伝わっている（主指揮 2026-09-29） */
