/* =========================================================
 * JMI League Table - Scoped CSS
 * All styles prefixed with #jmi-league-table
 * Uses !important selectively to override GeneratePress theme
 * ========================================================= */

/* Google Fonts import (runtime load) */
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;500;600&family=Cormorant+Garamond:wght@300;400;500&family=Roboto+Mono:wght@300;400&display=swap");

/* ---------- Break out of content width ---------- */
#jmi-league-table {
  background: #FAFAF7 !important;
  color: #1A1A1A !important;
  font-family: "Noto Serif JP", serif !important;
  line-height: 1.6 !important;

  /* Full-width breakout (negative margin trick).
   * v3 Tier1+ fix: use 100% instead of 100vw to avoid horizontal scrollbar
   * from vertical scrollbar width being counted into 100vw on Windows/Chrome.
   * The breakout is achieved via negative viewport margin using calc. */
  width: auto !important;
  max-width: none !important;
  position: relative !important;
  left: calc(-50vw + 50%) !important;
  right: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
  padding: 48px calc((100vw - 100%) / 2 + 24px) 96px !important;
}

#jmi-league-table * {
  box-sizing: border-box !important;
}

#jmi-league-table .jmi-lt-inner {
  max-width: 1100px !important;
  margin: 0 auto !important;
}

/* Reset potential theme interference */
#jmi-league-table h1,
#jmi-league-table h2,
#jmi-league-table h3,
#jmi-league-table p,
#jmi-league-table div,
#jmi-league-table span,
#jmi-league-table button,
#jmi-league-table input,
#jmi-league-table select,
#jmi-league-table nav,
#jmi-league-table a {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font-family: inherit;
  line-height: inherit;
}

#jmi-league-table button {
  cursor: pointer;
  font: inherit;
}

#jmi-league-table a {
  text-decoration: none;
}

/* ---------- Shared utility ---------- */
#jmi-league-table .jmi-mono {
  font-family: "Roboto Mono", monospace !important;
  font-weight: 300 !important;
  font-variant-numeric: tabular-nums !important;
}

#jmi-league-table .jmi-loading,
#jmi-league-table .jmi-error {
  text-align: center !important;
  padding: 80px 24px !important;
  color: #6B6B6B !important;
  font-family: "Noto Serif JP", serif !important;
  font-size: 14px !important;
}

#jmi-league-table .jmi-error {
  color: #8B2E2E !important;
}

/* ---------- HEADER (v3 Package A) ----------
 * Removed: emblem, English subtitle (small), 調査方法論 link.
 * Restructured: title now 2-line (主タイトル / 年度・カット).
 * English sub: editorial essence statement (not translation).
 * ---------------------------------------------- */
#jmi-league-table .jmi-lt-header {
  margin-bottom: 24px !important;
  padding-top: 8px !important;
}

#jmi-league-table .jmi-lt-title {
  font-family: "Noto Serif JP", serif !important;
  font-weight: 500 !important;
  font-size: 38px !important;
  line-height: 1.35 !important;
  color: #062744 !important;
  margin: 0 0 14px !important;
  letter-spacing: 0.02em !important;
}

#jmi-league-table .jmi-lt-title-meta {
  display: flex !important;
  align-items: baseline !important;
  gap: 4px !important;
  margin: 0 0 10px !important;
  color: #0B3D62 !important;
}

#jmi-league-table .jmi-lt-title-year {
  font-family: "Roboto Mono", monospace !important;
  font-weight: 300 !important;
  font-size: 22px !important;
  color: #0B3D62 !important;
  letter-spacing: 0.02em !important;
}

#jmi-league-table .jmi-lt-title-nendo {
  font-family: "Noto Serif JP", serif !important;
  font-weight: 400 !important;
  font-size: 15px !important;
  color: #6B6B6B !important;
  margin-left: 2px !important;
}

/* v3 Tier1: title divider span was removed.
 * Separation is now achieved by a 1px left border on .jmi-lt-title-cut. */
#jmi-league-table .jmi-lt-title-cut {
  font-family: "Noto Serif JP", serif !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  color: #062744 !important;
  letter-spacing: 0.04em !important;
  position: relative !important;
  padding-left: 14px !important;
  margin-left: 10px !important;
}

#jmi-league-table .jmi-lt-title-cut::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 4px !important;
  bottom: 4px !important;
  width: 1px !important;
  background: #D5D5D5 !important;
}

#jmi-league-table .jmi-lt-subtitle-en {
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 400 !important;
  font-size: 17px !important;
  font-style: italic !important;
  color: #6B6B6B !important;
  letter-spacing: 0.015em !important;
  margin-bottom: 0 !important;
}

/* ---------- VIEW SWITCHER (v3 Package A) ----------
 * Removed English sub-labels.
 * Cleaner pill-style group with clear active state.
 * --------------------------------------------------- */
/* v3 Tier1+: Grid row that holds ViewSwitcher (left) and Editor's Note (right).
 * On desktop the row is a 2-column grid; the right column stretches to fill
 * the space previously wasted next to the view switcher. */
#jmi-league-table .jmi-lt-vs-ed-row {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  column-gap: 40px !important;
  align-items: center !important;
  margin: 22px 0 18px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid #E5E5E5 !important;
}

#jmi-league-table .jmi-lt-viewswitcher {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  margin: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
}

#jmi-league-table .jmi-lt-viewswitcher-label {
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 400 !important;
  font-size: 10px !important;
  letter-spacing: 0.24em !important;
  color: #6B6B6B !important;
  text-transform: uppercase !important;
}

#jmi-league-table .jmi-lt-viewswitcher-group {
  display: inline-flex !important;
  border: 1px solid #E5E5E5 !important;
  background: #FFFFFF !important;
}

#jmi-league-table .jmi-lt-viewswitcher-btn {
  background: transparent !important;
  border: none !important;
  border-right: 1px solid #E5E5E5 !important;
  padding: 9px 22px !important;
  cursor: pointer !important;
  font-family: "Noto Serif JP", serif !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  color: #6B6B6B !important;
  letter-spacing: 0.06em !important;
  transition: background 0.15s, color 0.15s !important;
}

#jmi-league-table .jmi-lt-viewswitcher-btn:last-child {
  border-right: none !important;
}

#jmi-league-table .jmi-lt-viewswitcher-btn:hover {
  background: #FAFAF7 !important;
  color: #062744 !important;
}

#jmi-league-table .jmi-lt-viewswitcher-btn.is-active {
  background: #062744 !important;
  color: #FFFFFF !important;
  font-weight: 500 !important;
}

#jmi-league-table .jmi-lt-viewswitcher-btn:focus,
#jmi-league-table .jmi-lt-viewswitcher-btn:focus-visible {
  outline: 2px solid #0B3D62 !important;
  outline-offset: 2px !important;
}

/* v3 Package A: "Coming Soon" state for future view options */
#jmi-league-table .jmi-lt-viewswitcher-btn.is-coming {
  position: relative !important;
  color: #B0B0B0 !important;
  cursor: not-allowed !important;
  background: #FAFAF7 !important;
  padding-right: 50px !important;
}

#jmi-league-table .jmi-lt-viewswitcher-btn.is-coming:hover {
  background: #FAFAF7 !important;
  color: #B0B0B0 !important;
}

#jmi-league-table .jmi-lt-viewswitcher-btn-label {
  display: inline-block !important;
}

#jmi-league-table .jmi-lt-viewswitcher-soon {
  position: absolute !important;
  top: 4px !important;
  right: 6px !important;
  font-family: "Cormorant Garamond", serif !important;
  font-style: italic !important;
  font-weight: 500 !important;
  font-size: 9px !important;
  letter-spacing: 0.12em !important;
  color: #FFFFFF !important;
  background: #B8924A !important;
  padding: 1px 5px !important;
  border-radius: 1px !important;
  text-transform: uppercase !important;
  line-height: 1.4 !important;
}

/* ---------- META BAR (v3 Package A) ----------
 * Removed: 調査方法論 ▸ link (consolidated into Colophon).
 * Unified unit notation (no more unitLabel split).
 * --------------------------------------------- */
#jmi-league-table .jmi-lt-metabar {
  border-top: 1px solid #E5E5E5 !important;
  border-bottom: 1px solid #E5E5E5 !important;
  padding: 14px 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 32px !important;
  font-size: 13px !important;
  color: #6B6B6B !important;
  align-items: baseline !important;
}

#jmi-league-table .jmi-lt-meta-item {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

#jmi-league-table .jmi-lt-meta-label {
  font-family: "Cormorant Garamond", serif !important;
  font-size: 10px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: #6B6B6B !important;
}

#jmi-league-table .jmi-lt-meta-value {
  font-family: "Noto Serif JP", serif !important;
  font-size: 13px !important;
  color: #1A1A1A !important;
  font-weight: 400 !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 3px !important;
}

#jmi-league-table .jmi-lt-meta-value-text {
  font-family: "Noto Serif JP", serif !important;
  font-weight: 400 !important;
  color: #1A1A1A !important;
  font-size: 12px !important;
  letter-spacing: 0 !important;
}

#jmi-league-table .jmi-lt-meta-unit {
  color: #6B6B6B !important;
  font-size: 11px !important;
}


/* ---------- EDITOR'S NOTE (v3 / F4) ----------
 * Independence statement (always visible) + expandable policy detail.
 * Sits above PrimaryTabs as the editorial voice of JMI.
 * Operational hints about tier ordering live in the micro-note below.
 * ---------------------------------------------- */
#jmi-league-table .jmi-lt-editors-note {
  background: #FFFFFF !important;
  border-left: 3px solid #B8924A !important;
  padding: 12px 20px !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

#jmi-league-table .jmi-lt-editors-note-label {
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 400 !important;
  font-style: italic !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  color: #B8924A !important;
  text-transform: none !important;
}

#jmi-league-table .jmi-lt-editors-note-row {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}

#jmi-league-table .jmi-lt-editors-note-statement {
  flex: 1 !important;
  min-width: 240px !important;
  font-family: "Noto Serif JP", serif !important;
  font-weight: 400 !important;
  font-size: 12.5px !important;
  line-height: 1.6 !important;
  color: #4A4A4A !important;
  margin: 0 !important;
}

#jmi-league-table .jmi-lt-editors-note-toggle {
  flex-shrink: 0 !important;
  font-family: "Cormorant Garamond", serif !important;
  font-style: italic !important;
  font-size: 12px !important;
  color: #0B3D62 !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #0B3D62 !important;
  border-radius: 0 !important;
  padding: 1px 0 2px !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: color 0.15s, border-color 0.15s !important;
  align-self: center !important;
  letter-spacing: 0.04em !important;
}

#jmi-league-table .jmi-lt-editors-note-toggle:hover {
  color: #B8924A !important;
  border-bottom-color: #B8924A !important;
}

#jmi-league-table .jmi-lt-editors-note-toggle:focus,
#jmi-league-table .jmi-lt-editors-note-toggle:focus-visible {
  outline: 2px solid #0B3D62 !important;
  outline-offset: 3px !important;
}

/* v3 Tier1: Toggle symbol (▾ / ▴) in gold, non-italic, slightly smaller */
#jmi-league-table .jmi-lt-editors-note-toggle-sym {
  font-family: "Noto Serif JP", serif !important;
  font-style: normal !important;
  font-size: 10px !important;
  color: #B8924A !important;
  margin-left: 4px !important;
  vertical-align: baseline !important;
  transition: color 0.15s !important;
}

#jmi-league-table .jmi-lt-editors-note-toggle:hover .jmi-lt-editors-note-toggle-sym {
  color: #B8924A !important;
}

#jmi-league-table .jmi-lt-editors-note-expanded {
  display: none !important;
  margin-top: 14px !important;
  padding-top: 14px !important;
  border-top: 1px dashed #E5E5E5 !important;
}

#jmi-league-table .jmi-lt-editors-note-expanded.is-open {
  display: block !important;
  animation: jmi-slide-down 0.2s ease-out !important;
}

#jmi-league-table .jmi-lt-editors-note-expanded p {
  font-family: "Noto Serif JP", serif !important;
  font-size: 12.5px !important;
  line-height: 1.85 !important;
  color: #4A4A4A !important;
  margin: 0 !important;
}

/* v3 Tier1: Full statement is only emitted and shown on mobile (inside expanded panel).
 * On desktop the statement is already visible in the always-on row, so hide this. */
#jmi-league-table .jmi-lt-editors-note-full {
  display: none !important;
}

#jmi-league-table .jmi-lt-editors-note-signature {
  margin-top: 12px !important;
  font-family: "Cormorant Garamond", serif !important;
  font-style: italic !important;
  font-size: 12px !important;
  letter-spacing: 0.04em !important;
  color: #6B6B6B !important;
}

/* ---------- PRIMARY TABS ---------- */
#jmi-league-table .jmi-lt-primary-tabs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  border-bottom: 1px solid #E5E5E5 !important;
  margin-bottom: 40px !important;
}

#jmi-league-table .jmi-lt-primary-tabs.has-sub {
  margin-bottom: 0 !important;
}

#jmi-league-table .jmi-lt-primary-tab {
  background: transparent !important;
  border: none !important;
  padding: 14px 20px !important;
  font-family: "Noto Serif JP", serif !important;
  font-weight: 400 !important;
  font-size: 15px !important;
  color: #6B6B6B !important;
  cursor: pointer !important;
  border-bottom: 2px solid transparent !important;
  margin-bottom: -1px !important;
  white-space: nowrap !important;
}

#jmi-league-table .jmi-lt-primary-tab.is-active {
  font-weight: 500 !important;
  color: #062744 !important;
  border-bottom-color: #B8924A !important;
}

/* ---------- SUB TABS ---------- */
/* ---------- SUB TABS (v3 Tier1: pill row design) ----------
 * Replaces the old boxed sub-tabs with a pill-row pattern.
 * - Label: Cormorant italic "By Prefecture" (editorial voice)
 * - Pills: rounded, mono count, hover/active states
 * - Container has min-height so it never causes layout shift
 *   between primary tabs with different sub-counts.
 * ----------------------------------------------------------- */
#jmi-league-table .jmi-lt-subtabs {
  background: transparent !important;
  border: 0 !important;
  padding: 18px 0 20px !important;
  margin-bottom: 24px !important;
  border-bottom: 1px solid #E5E5E5 !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 16px !important;
  flex-wrap: nowrap !important;
  min-height: 64px !important;
}

#jmi-league-table .jmi-lt-subtabs-label {
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 400 !important;
  font-style: italic !important;
  font-size: 12px !important;
  letter-spacing: 0.06em !important;
  color: #6B6B6B !important;
  text-transform: none !important;
  flex-shrink: 0 !important;
  padding-top: 6px !important;
  white-space: nowrap !important;
}

#jmi-league-table .jmi-lt-subtabs-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  align-items: center !important;
}

#jmi-league-table .jmi-lt-subtab-btn {
  background: #FFFFFF !important;
  border: 1px solid #E5E5E5 !important;
  border-radius: 999px !important;
  padding: 5px 14px !important;
  font-family: "Noto Serif JP", serif !important;
  font-weight: 400 !important;
  font-size: 12px !important;
  color: #6B6B6B !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  transition: background 0.12s, color 0.12s, border-color 0.12s !important;
  white-space: nowrap !important;
}

#jmi-league-table .jmi-lt-subtab-btn:hover {
  border-color: #0B3D62 !important;
  color: #062744 !important;
}

#jmi-league-table .jmi-lt-subtab-btn.is-active {
  background: #062744 !important;
  border-color: #062744 !important;
  color: #FFFFFF !important;
}

#jmi-league-table .jmi-lt-subtab-btn:focus,
#jmi-league-table .jmi-lt-subtab-btn:focus-visible {
  outline: 2px solid #0B3D62 !important;
  outline-offset: 2px !important;
}

#jmi-league-table .jmi-lt-subtab-label {
  font-family: "Noto Serif JP", serif !important;
}

#jmi-league-table .jmi-lt-subtab-count {
  font-family: "Roboto Mono", monospace !important;
  font-weight: 300 !important;
  font-variant-numeric: tabular-nums !important;
  font-size: 10.5px !important;
  color: #6B6B6B !important;
  opacity: 0.85 !important;
}

#jmi-league-table .jmi-lt-subtab-btn.is-active .jmi-lt-subtab-count {
  color: #C9D6E0 !important;
  opacity: 1 !important;
}

/* ---------- HEADLINE ---------- */
/* ---------- HEADLINE (v3 Tier1: Big Number pattern) ----------
 * Number takes center stage; scope (tab/subtab name) becomes
 * a secondary label with a gold left border.
 * ------------------------------------------------------------- */
#jmi-league-table .jmi-lt-headline {
  margin-bottom: 20px !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
}

#jmi-league-table .jmi-lt-headline-num-block {
  display: flex !important;
  align-items: baseline !important;
  gap: 8px !important;
}

#jmi-league-table .jmi-lt-headline-num {
  font-family: "Roboto Mono", monospace !important;
  font-weight: 400 !important;
  font-size: 36px !important;
  color: #062744 !important;
  letter-spacing: 0.02em !important;
  line-height: 1 !important;
  font-variant-numeric: tabular-nums !important;
}

#jmi-league-table .jmi-lt-headline-unit {
  font-family: "Cormorant Garamond", serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  color: #6B6B6B !important;
  letter-spacing: 0.02em !important;
}

#jmi-league-table .jmi-lt-headline-scope {
  font-family: "Noto Serif JP", serif !important;
  font-weight: 400 !important;
  font-size: 15px !important;
  color: #6B6B6B !important;
  border-left: 2px solid #B8924A !important;
  padding-left: 12px !important;
  line-height: 1.3 !important;
}

#jmi-league-table .jmi-lt-headline-scope-note {
  font-family: "Cormorant Garamond", serif !important;
  font-style: italic !important;
  font-size: 13px !important;
  color: #6B6B6B !important;
  margin-left: 4px !important;
}

/* ---------- TIER DISTRIBUTION (v3 Tier1: bar + cards) ----------
 * Always shown, placed after Filters/ResultCount.
 * Top: proportional bar visualizing the count ratio.
 * Bottom: 5 cards with tier name, count, and range.
 * --------------------------------------------------------------- */
#jmi-league-table .jmi-lt-tierdist {
  background: #FFFFFF !important;
  border: 1px solid #E5E5E5 !important;
  padding: 22px 26px !important;
  margin: 16px 0 28px !important;
}

#jmi-league-table .jmi-lt-tierdist-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  margin-bottom: 14px !important;
}

#jmi-league-table .jmi-lt-tierdist-label {
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 400 !important;
  font-style: italic !important;
  font-size: 13px !important;
  letter-spacing: 0.06em !important;
  color: #B8924A !important;
  text-transform: none !important;
}

#jmi-league-table .jmi-lt-tierdist-total {
  font-family: "Cormorant Garamond", serif !important;
  font-style: italic !important;
  font-size: 12px !important;
  color: #6B6B6B !important;
  letter-spacing: 0.04em !important;
}

#jmi-league-table .jmi-lt-tierdist-total-num {
  font-family: "Roboto Mono", monospace !important;
  font-weight: 400 !important;
  color: #062744 !important;
  font-size: 14px !important;
  margin-right: 4px !important;
  font-variant-numeric: tabular-nums !important;
}

/* Proportional bar */
#jmi-league-table .jmi-lt-tierdist-bar {
  display: flex !important;
  height: 16px !important;
  width: 100% !important;
  background: #F0F0F0 !important;
  margin-bottom: 18px !important;
  overflow: hidden !important;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.06) !important;
}

#jmi-league-table .jmi-lt-tierdist-seg {
  height: 100% !important;
  cursor: help !important;
  border-right: 1px solid #FFFFFF !important;
  transition: opacity 0.15s !important;
}

#jmi-league-table .jmi-lt-tierdist-seg:last-child {
  border-right: none !important;
}

#jmi-league-table .jmi-lt-tierdist-seg:hover {
  opacity: 0.85 !important;
}

#jmi-league-table .jmi-lt-tierdist-seg.is-diamond { background: #062744 !important; }
#jmi-league-table .jmi-lt-tierdist-seg.is-platinum { background: #0B3D62 !important; }
#jmi-league-table .jmi-lt-tierdist-seg.is-gold { background: #B8924A !important; }
#jmi-league-table .jmi-lt-tierdist-seg.is-silver { background: #6B6B6B !important; }
#jmi-league-table .jmi-lt-tierdist-seg.is-bronze { background: #8B6F47 !important; }

/* Tier cards */
#jmi-league-table .jmi-lt-tierdist-grid {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 14px !important;
}

#jmi-league-table .jmi-lt-tierdist-cell {
  border-left: 3px solid #E5E5E5 !important;
  padding: 8px 12px !important;
  background: #FAFAF7 !important;
  transition: transform 0.15s, box-shadow 0.15s !important;
}

#jmi-league-table .jmi-lt-tierdist-cell:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(6, 39, 68, 0.08) !important;
}

#jmi-league-table .jmi-lt-tierdist-cell.is-diamond {
  border-left-color: #062744 !important;
  background: rgba(6, 39, 68, 0.025) !important;
}
#jmi-league-table .jmi-lt-tierdist-cell.is-platinum {
  border-left-color: #0B3D62 !important;
  background: rgba(11, 61, 98, 0.025) !important;
}
#jmi-league-table .jmi-lt-tierdist-cell.is-gold {
  border-left-color: #B8924A !important;
  background: rgba(184, 146, 74, 0.04) !important;
}
#jmi-league-table .jmi-lt-tierdist-cell.is-silver {
  border-left-color: #6B6B6B !important;
  background: rgba(107, 107, 107, 0.025) !important;
}
#jmi-league-table .jmi-lt-tierdist-cell.is-bronze {
  border-left-color: #8B6F47 !important;
  background: rgba(139, 111, 71, 0.025) !important;
}

/* Tier name (top of card) - colored per tier */
#jmi-league-table .jmi-lt-tierdist-name {
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 500 !important;
  font-size: 11px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  margin-bottom: 6px !important;
}

#jmi-league-table .jmi-lt-tierdist-cell.is-diamond .jmi-lt-tierdist-name { color: #062744 !important; }
#jmi-league-table .jmi-lt-tierdist-cell.is-platinum .jmi-lt-tierdist-name { color: #0B3D62 !important; }
#jmi-league-table .jmi-lt-tierdist-cell.is-gold .jmi-lt-tierdist-name { color: #8B6F2E !important; }
#jmi-league-table .jmi-lt-tierdist-cell.is-silver .jmi-lt-tierdist-name { color: #6B6B6B !important; }
#jmi-league-table .jmi-lt-tierdist-cell.is-bronze .jmi-lt-tierdist-name { color: #8B6F47 !important; }

/* Count number (main figure) */
#jmi-league-table .jmi-lt-tierdist-count-row {
  display: flex !important;
  align-items: baseline !important;
  gap: 4px !important;
  margin-bottom: 4px !important;
}

#jmi-league-table .jmi-lt-tierdist-num {
  font-family: "Roboto Mono", monospace !important;
  font-weight: 400 !important;
  font-size: 22px !important;
  color: #1A1A1A !important;
  line-height: 1 !important;
  font-variant-numeric: tabular-nums !important;
}

#jmi-league-table .jmi-lt-tierdist-unit {
  font-family: "Noto Serif JP", serif !important;
  font-size: 11px !important;
  color: #6B6B6B !important;
}

/* Range label */
#jmi-league-table .jmi-lt-tierdist-range {
  font-family: "Noto Serif JP", serif !important;
  font-size: 10.5px !important;
  color: #6B6B6B !important;
  letter-spacing: 0.02em !important;
}

#jmi-league-table .jmi-lt-tierdist-divider {
  color: #9A9A9A !important;
  margin: 0 1px !important;
  font-family: "Noto Serif JP", serif !important;
}

/* ---------- FILTERS (v3 Package C) ----------
 * All controls share the same height (44px) and font-size (14px).
 * Active state uses a subtle gold accent.
 * Clear button appears only when any filter is applied.
 * --------------------------------------------- */
#jmi-league-table .jmi-lt-filters {
  display: flex !important;
  gap: 12px !important;
  margin-bottom: 24px !important;
  align-items: stretch !important;
  flex-wrap: wrap !important;
}

#jmi-league-table .jmi-lt-search-wrap {
  flex: 1 1 auto !important;
  min-width: 240px !important;
  max-width: 480px !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
}

#jmi-league-table .jmi-lt-search-icon {
  position: absolute !important;
  left: 16px !important;
  pointer-events: none !important;
  color: #6B6B6B !important;
}

#jmi-league-table .jmi-lt-search-input {
  width: 100% !important;
  height: 44px !important;
  background: #FFFFFF !important;
  border: 1px solid #E5E5E5 !important;
  padding: 0 16px 0 44px !important;
  font-family: "Noto Serif JP", serif !important;
  font-size: 14px !important;
  color: #1A1A1A !important;
  outline: none !important;
  transition: border-color 0.15s !important;
}

#jmi-league-table .jmi-lt-search-input:hover {
  border-color: #B0B0B0 !important;
}

#jmi-league-table .jmi-lt-type-filter {
  height: 44px !important;
  background: #FFFFFF !important;
  border: 1px solid #E5E5E5 !important;
  padding: 0 32px 0 16px !important;
  font-family: "Noto Serif JP", serif !important;
  font-size: 14px !important;
  color: #1A1A1A !important;
  min-width: 280px !important;
  cursor: pointer !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236B6B6B' fill='none' stroke-width='1.2'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  transition: border-color 0.15s, background-color 0.15s !important;
}

#jmi-league-table .jmi-lt-type-filter:hover {
  border-color: #B0B0B0 !important;
}

#jmi-league-table .jmi-lt-type-filter.is-active {
  border-color: #B8924A !important;
  background-color: #FFFBF5 !important;
}

/* v3 Package C: Clear filters button */
#jmi-league-table .jmi-lt-filter-clear {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  height: 44px !important;
  padding: 0 16px !important;
  background: #FFFFFF !important;
  border: 1px solid #E5E5E5 !important;
  font-family: "Cormorant Garamond", serif !important;
  font-style: italic !important;
  font-size: 13px !important;
  color: #6B6B6B !important;
  letter-spacing: 0.04em !important;
  cursor: pointer !important;
  transition: color 0.15s, border-color 0.15s, background 0.15s !important;
}

#jmi-league-table .jmi-lt-filter-clear:hover {
  color: #062744 !important;
  border-color: #062744 !important;
  background: #FAFAF7 !important;
}

#jmi-league-table .jmi-lt-filter-clear svg {
  flex-shrink: 0 !important;
  color: inherit !important;
}

#jmi-league-table .jmi-lt-filter-clear span {
  font-family: "Cormorant Garamond", serif !important;
}

#jmi-league-table .jmi-lt-filter-clear:focus,
#jmi-league-table .jmi-lt-filter-clear:focus-visible {
  outline: 2px solid #0B3D62 !important;
  outline-offset: 2px !important;
}

/* ---------- RESULT COUNT ---------- */
#jmi-league-table .jmi-lt-result-count {
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-size: 13px !important;
  color: #6B6B6B !important;
  margin-bottom: 12px !important;
  text-align: right !important;
}

/* ---------- TABLE ---------- */
#jmi-league-table .jmi-lt-table {
  background: #FFFFFF !important;
  border: 1px solid #E5E5E5 !important;
  margin-bottom: 80px !important;  /* v3 Tier1+: ensure Top FAB does not overlap the last row */
}

#jmi-league-table .jmi-lt-grid-reg {
  display: grid !important;
  grid-template-columns: 70px 1fr 240px 140px 72px 60px !important;
}

#jmi-league-table .jmi-lt-grid-cat {
  display: grid !important;
  grid-template-columns: 70px 1fr 140px 140px 72px 60px !important;
}

#jmi-league-table .jmi-lt-thead {
  padding: 16px 24px !important;
  border-bottom: 2px solid #062744 !important;
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 400 !important;
  font-size: 11px !important;
  letter-spacing: 0.2em !important;
  color: #6B6B6B !important;
  text-transform: uppercase !important;
  background: #FAFAF7 !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 10 !important;
}

#jmi-league-table .jmi-lt-thead-deals {
  text-align: right !important;
  position: relative !important;
  cursor: help !important;
}

#jmi-league-table .jmi-lt-thead-hp {
  text-align: center !important;
}

#jmi-league-table .jmi-lt-thead-detail {
  text-align: center !important;
}

#jmi-league-table .jmi-lt-tier-info {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 14px !important;
  height: 14px !important;
  border-radius: 50% !important;
  border: 1px solid #6B6B6B !important;
  margin-left: 6px !important;
  font-size: 9px !important;
  font-family: "Noto Serif JP", serif !important;
  vertical-align: middle !important;
  position: relative !important;
}

#jmi-league-table .jmi-lt-tier-tooltip {
  position: absolute !important;
  top: 28px !important;
  right: 0 !important;
  background: #062744 !important;
  color: #FFFFFF !important;
  padding: 16px 20px !important;
  min-width: 240px !important;
  z-index: 20 !important;
  font-family: "Noto Serif JP", serif !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  text-align: left !important;
  box-shadow: 0 4px 24px rgba(6, 39, 68, 0.2) !important;
  display: none !important;
}

#jmi-league-table .jmi-lt-tier-info:hover .jmi-lt-tier-tooltip,
#jmi-league-table .jmi-lt-tier-info:focus .jmi-lt-tier-tooltip {
  display: block !important;
}

#jmi-league-table .jmi-lt-tier-tooltip-label {
  font-family: "Cormorant Garamond", serif !important;
  font-size: 10px !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: #B8924A !important;
  margin-bottom: 10px !important;
}

#jmi-league-table .jmi-lt-tier-tooltip-row {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 4px 0 !important;
  font-size: 12px !important;
}

#jmi-league-table .jmi-lt-tier-tooltip-bar {
  display: inline-block !important;
  width: 3px !important;
  height: 14px !important;
  background: #6B6B6B !important;
}

#jmi-league-table .jmi-lt-tier-tooltip-row.is-diamond .jmi-lt-tier-tooltip-bar { background: #062744 !important; }
#jmi-league-table .jmi-lt-tier-tooltip-row.is-platinum .jmi-lt-tier-tooltip-bar { background: #0B3D62 !important; }
#jmi-league-table .jmi-lt-tier-tooltip-row.is-gold .jmi-lt-tier-tooltip-bar { background: #B8924A !important; }
#jmi-league-table .jmi-lt-tier-tooltip-row.is-silver .jmi-lt-tier-tooltip-bar { background: #6B6B6B !important; }
#jmi-league-table .jmi-lt-tier-tooltip-row.is-bronze .jmi-lt-tier-tooltip-bar { background: #8B6F47 !important; }

#jmi-league-table .jmi-lt-tier-tooltip-name {
  font-family: "Cormorant Garamond", serif !important;
  font-size: 11px !important;
  letter-spacing: 0.15em !important;
  color: #FFFFFF !important;
  min-width: 68px !important;
}

#jmi-league-table .jmi-lt-tier-tooltip-range {
  font-size: 11px !important;
  color: #CFD8DC !important;
}

#jmi-league-table .jmi-lt-row {
  padding: 20px 24px !important;
  border-bottom: 1px solid #E5E5E5 !important;
  border-left: 4px solid transparent !important;
  align-items: center !important;
  transition: background 0.12s !important;
  cursor: pointer !important;
}

#jmi-league-table .jmi-lt-row.is-expanded {
  background: #FAFAF7 !important;
  border-bottom: none !important;
}

#jmi-league-table .jmi-lt-row:hover {
  background: rgba(11, 61, 98, 0.025) !important;
}

#jmi-league-table .jmi-lt-row.is-diamond { border-left-color: #062744 !important; }
#jmi-league-table .jmi-lt-row.is-platinum { border-left-color: #0B3D62 !important; }
#jmi-league-table .jmi-lt-row.is-gold { border-left-color: #B8924A !important; }
#jmi-league-table .jmi-lt-row.is-silver { border-left-color: #6B6B6B !important; }
#jmi-league-table .jmi-lt-row.is-bronze { border-left-color: #8B6F47 !important; }

#jmi-league-table .jmi-lt-rank {
  font-family: "Roboto Mono", monospace !important;
  font-weight: 300 !important;
  font-size: 22px !important;
  color: #062744 !important;
  font-variant-numeric: tabular-nums !important;
}

#jmi-league-table .jmi-lt-rank.is-dup {
  color: #C8C8C8 !important;
}

#jmi-league-table .jmi-lt-tier-label {
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 400 !important;
  font-size: 10px !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  margin-bottom: 4px !important;
  color: #6B6B6B !important;
}

#jmi-league-table .jmi-lt-tier-label.is-diamond { color: #062744 !important; }
#jmi-league-table .jmi-lt-tier-label.is-platinum { color: #0B3D62 !important; }
#jmi-league-table .jmi-lt-tier-label.is-gold { color: #B8924A !important; }
#jmi-league-table .jmi-lt-tier-label.is-silver { color: #6B6B6B !important; }
#jmi-league-table .jmi-lt-tier-label.is-bronze { color: #8B6F47 !important; }

#jmi-league-table .jmi-lt-inst-name {
  font-family: "Noto Serif JP", serif !important;
  font-weight: 500 !important;
  font-size: 16px !important;
  color: #1A1A1A !important;
  line-height: 1.5 !important;
}

#jmi-league-table .jmi-lt-inst-sub {
  font-family: "Noto Serif JP", serif !important;
  font-size: 12px !important;
  color: #6B6B6B !important;
  margin-top: 2px !important;
}

#jmi-league-table .jmi-lt-cat {
  font-family: "Noto Serif JP", serif !important;
  font-size: 13px !important;
  color: #6B6B6B !important;
}

#jmi-league-table .jmi-lt-deals {
  font-family: "Roboto Mono", monospace !important;
  font-weight: 300 !important;
  font-size: 14px !important;
  color: #1A1A1A !important;
  text-align: right !important;
  font-variant-numeric: tabular-nums !important;
}

#jmi-league-table .jmi-lt-hp {
  text-align: center !important;
}

#jmi-league-table .jmi-lt-hp a {
  color: #0B3D62 !important;
  text-decoration: none !important;
  font-family: "Cormorant Garamond", serif !important;
  font-size: 13px !important;
  letter-spacing: 0.1em !important;
  border-bottom: 1px solid #0B3D62 !important;
  padding-bottom: 1px !important;
}

#jmi-league-table .jmi-lt-hp-none {
  color: #E5E5E5 !important;
  font-family: "Roboto Mono", monospace !important;
  font-size: 12px !important;
}

#jmi-league-table .jmi-lt-empty {
  padding: 64px 24px !important;
  text-align: center !important;
  color: #6B6B6B !important;
  font-family: "Noto Serif JP", serif !important;
  font-size: 14px !important;
}

/* ---------- PAGINATION ---------- */
/* ---------- PAGINATION (v3 Tier1: 2-section) ----------
 * Top: "Showing N–M of Total" (range context, Cormorant italic).
 * Bottom: "← Previous  Page X of Y  Next →" (navigation).
 * ------------------------------------------------------- */
#jmi-league-table .jmi-lt-pagination {
  margin-top: 32px !important;
  margin-bottom: 48px !important;
  padding-top: 20px !important;
  border-top: 1px solid #E5E5E5 !important;
}

#jmi-league-table .jmi-lt-pagination-showing {
  font-family: "Cormorant Garamond", serif !important;
  font-style: italic !important;
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #6B6B6B !important;
  text-align: center !important;
  margin-bottom: 14px !important;
}

#jmi-league-table .jmi-lt-pagination-showing .jmi-mono {
  font-family: "Roboto Mono", monospace !important;
  font-weight: 400 !important;
  font-style: normal !important;
  letter-spacing: 0 !important;
  color: #1A1A1A !important;
  margin: 0 2px !important;
  font-size: 12px !important;
  font-variant-numeric: tabular-nums !important;
}

#jmi-league-table .jmi-lt-pagination-dash {
  margin: 0 2px !important;
  color: #6B6B6B !important;
}

#jmi-league-table .jmi-lt-pagination-controls {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 22px !important;
}

#jmi-league-table .jmi-lt-page-btn {
  background: transparent !important;
  border: 0 !important;
  padding: 6px 10px !important;
  font-family: "Cormorant Garamond", serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: 13px !important;
  color: #0B3D62 !important;
  letter-spacing: 0.04em !important;
  cursor: pointer !important;
  border-bottom: 1px solid transparent !important;
  transition: border-color 0.15s, color 0.15s !important;
  text-transform: none !important;
}

#jmi-league-table .jmi-lt-page-btn:hover:not(:disabled) {
  border-bottom-color: #B8924A !important;
  color: #062744 !important;
}

#jmi-league-table .jmi-lt-page-btn:disabled {
  color: #C5C5C5 !important;
  cursor: not-allowed !important;
}

#jmi-league-table .jmi-lt-page-btn:focus,
#jmi-league-table .jmi-lt-page-btn:focus-visible {
  outline: 2px solid #0B3D62 !important;
  outline-offset: 2px !important;
}

#jmi-league-table .jmi-lt-page-of {
  font-family: "Cormorant Garamond", serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: 13px !important;
  color: #6B6B6B !important;
  letter-spacing: 0.04em !important;
}

#jmi-league-table .jmi-lt-page-of .jmi-mono {
  font-family: "Roboto Mono", monospace !important;
  font-weight: 400 !important;
  font-style: normal !important;
  color: #062744 !important;
  font-size: 14px !important;
  letter-spacing: 0 !important;
  font-variant-numeric: tabular-nums !important;
}

/* ---------- COLOPHON (v3) ----------
 * Unified footer replacing the former Publisher + Footer blocks.
 * Serves as the canonical place for masthead, editorial disclosure,
 * data attribution, navigation, and copyright.
 * ------------------------------------ */
#jmi-league-table .jmi-lt-colophon {
  margin-top: 96px !important;
  padding: 48px 56px !important;
  background: #FFFFFF !important;
  border: 1px solid #E5E5E5 !important;
}

#jmi-league-table .jmi-lt-colophon-label {
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 400 !important;
  font-style: italic !important;
  font-size: 16px !important;
  letter-spacing: 0.08em !important;
  color: #B8924A !important;
  margin-bottom: 20px !important;
  text-transform: none !important;
}

#jmi-league-table .jmi-lt-colophon-title {
  font-family: "Noto Serif JP", serif !important;
  font-weight: 500 !important;
  font-size: 18px !important;
  color: #062744 !important;
  margin: 0 0 24px !important;
  letter-spacing: 0.02em !important;
  line-height: 1.5 !important;
}

#jmi-league-table .jmi-lt-colophon-body p {
  font-family: "Noto Serif JP", serif !important;
  font-size: 13px !important;
  line-height: 1.95 !important;
  color: #4A4A4A !important;
  margin: 0 0 16px !important;
  max-width: 780px !important;
}

#jmi-league-table .jmi-lt-colophon-body p:last-child {
  margin-bottom: 0 !important;
}

#jmi-league-table .jmi-lt-colophon-notes {
  list-style: none !important;
  padding: 0 !important;
  margin: 20px 0 28px !important;
  max-width: 780px !important;
}

#jmi-league-table .jmi-lt-colophon-notes li {
  font-family: "Noto Serif JP", serif !important;
  font-size: 11.5px !important;
  line-height: 1.75 !important;
  color: #6B6B6B !important;
  padding: 3px 0 3px 16px !important;
  position: relative !important;
}

#jmi-league-table .jmi-lt-colophon-notes li::before {
  content: "※" !important;
  position: absolute !important;
  left: 0 !important;
  color: #6B6B6B !important;
}

#jmi-league-table .jmi-lt-colophon-links {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 16px !important;
  padding-top: 28px !important;
  margin-top: 12px !important;
  border-top: 1px solid #E5E5E5 !important;
}

#jmi-league-table .jmi-lt-colophon-links a {
  font-family: "Noto Serif JP", serif !important;
  font-size: 13px !important;
  color: #062744 !important;
  border-bottom: 1px solid #E5E5E5 !important;
  padding-bottom: 8px !important;
  display: block !important;
  transition: color 0.15s, border-color 0.15s !important;
}

#jmi-league-table .jmi-lt-colophon-links a:hover {
  color: #0B3D62 !important;
  border-bottom-color: #0B3D62 !important;
}

#jmi-league-table .jmi-lt-colophon-links a span {
  color: #B8924A !important;
  margin-left: 4px !important;
}

#jmi-league-table .jmi-lt-colophon-copy {
  margin-top: 36px !important;
  font-family: "Cormorant Garamond", serif !important;
  font-style: italic !important;
  font-size: 12px !important;
  color: #6B6B6B !important;
  letter-spacing: 0.05em !important;
}

/* =========================================================
 * MOBILE STYLES (< 768px)
 * ========================================================= */
@media (max-width: 767px) {
  #jmi-league-table {
    padding: 24px 16px 64px !important;
  }

  /* v3 Tier1+: Mobile — stack ViewSwitcher and Editor's Note vertically */
  #jmi-league-table .jmi-lt-vs-ed-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    column-gap: 0 !important;
    row-gap: 14px !important;
    margin: 18px 0 14px !important;
    padding-bottom: 14px !important;
  }

  #jmi-league-table .jmi-lt-title {
    font-size: 24px !important;
    line-height: 1.4 !important;
  }

  #jmi-league-table .jmi-lt-title-meta {
    flex-wrap: wrap !important;
    margin-bottom: 14px !important;
  }

  #jmi-league-table .jmi-lt-title-year {
    font-size: 18px !important;
  }

  #jmi-league-table .jmi-lt-title-nendo {
    font-size: 13px !important;
  }

  #jmi-league-table .jmi-lt-title-cut {
    font-size: 14px !important;
    padding-left: 12px !important;
    margin-left: 8px !important;
  }

  #jmi-league-table .jmi-lt-subtitle-en {
    font-size: 14px !important;
  }

  #jmi-league-table .jmi-lt-viewswitcher {
    flex-wrap: wrap !important;
    gap: 12px !important;
  }

  #jmi-league-table .jmi-lt-viewswitcher-btn {
    padding: 8px 16px !important;
    font-size: 13px !important;
  }

  #jmi-league-table .jmi-lt-viewswitcher-btn.is-coming {
    padding-right: 44px !important;
  }

  #jmi-league-table .jmi-lt-viewswitcher-soon {
    font-size: 8px !important;
    padding: 1px 4px !important;
    top: 3px !important;
    right: 4px !important;
  }

  #jmi-league-table .jmi-lt-metabar {
    gap: 18px !important;
  }

  /* v3 Tier1: Mobile primary navigation as dropdown (was horizontal scroll tabs).
   * The old .jmi-lt-primary-tabs is not emitted on mobile (JS-level branching). */
  #jmi-league-table .jmi-lt-primary-dropdown-wrap {
    margin-bottom: 24px !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid #E5E5E5 !important;
  }

  #jmi-league-table .jmi-lt-primary-dropdown-wrap.has-sub {
    border-bottom: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  #jmi-league-table .jmi-lt-primary-dropdown-label {
    display: block !important;
    font-family: "Cormorant Garamond", serif !important;
    font-style: italic !important;
    font-size: 11px !important;
    letter-spacing: 0.06em !important;
    color: #6B6B6B !important;
    margin-bottom: 6px !important;
  }

  #jmi-league-table .jmi-lt-primary-dropdown {
    width: 100% !important;
    height: 44px !important;
    background: #FFFFFF !important;
    border: 1px solid #E5E5E5 !important;
    padding: 0 36px 0 14px !important;
    font-family: "Noto Serif JP", serif !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    color: #062744 !important;
    cursor: pointer !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23B8924A' fill='none' stroke-width='1.4'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    letter-spacing: 0.02em !important;
  }

  #jmi-league-table .jmi-lt-primary-dropdown:focus,
  #jmi-league-table .jmi-lt-primary-dropdown:focus-visible {
    outline: 2px solid #0B3D62 !important;
    outline-offset: 1px !important;
    border-color: #0B3D62 !important;
  }

  /* v3 Tier1: Mobile sub-tabs - stack label above row */
  #jmi-league-table .jmi-lt-subtabs {
    flex-direction: column !important;
    gap: 8px !important;
    padding: 14px 0 16px !important;
    min-height: 0 !important;
  }

  #jmi-league-table .jmi-lt-subtabs-label {
    padding-top: 0 !important;
  }

  #jmi-league-table .jmi-lt-subtab-btn {
    font-size: 12px !important;
    padding: 5px 12px !important;
  }

  /* v3 Tier1: Mobile headline — scaled down Big Number */
  #jmi-league-table .jmi-lt-headline {
    gap: 12px !important;
    margin-bottom: 14px !important;
  }

  #jmi-league-table .jmi-lt-headline-num {
    font-size: 28px !important;
  }

  #jmi-league-table .jmi-lt-headline-unit {
    font-size: 13px !important;
  }

  #jmi-league-table .jmi-lt-headline-scope {
    font-size: 13px !important;
    padding-left: 10px !important;
  }

  #jmi-league-table .jmi-lt-tierdist {
    padding: 18px 16px !important;
    margin: 12px 0 24px !important;
  }

  /* v3 Tier1: Mobile - 5 cards become 5x2 or scroll */
  #jmi-league-table .jmi-lt-tierdist-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }

  #jmi-league-table .jmi-lt-tierdist-cell {
    padding: 8px 10px !important;
  }

  #jmi-league-table .jmi-lt-tierdist-num {
    font-size: 20px !important;
  }

  #jmi-league-table .jmi-lt-tierdist-bar {
    height: 14px !important;
    margin-bottom: 14px !important;
  }

  #jmi-league-table .jmi-lt-filters {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  #jmi-league-table .jmi-lt-type-filter {
    min-width: auto !important;
  }

  /* Mobile table (card layout) */
  #jmi-league-table .jmi-lt-mobile-table {
    background: #FFFFFF !important;
    border: 1px solid #E5E5E5 !important;
    border-top: 2px solid #062744 !important;
  }

  #jmi-league-table .jmi-lt-mobile-card {
    padding: 18px 16px !important;
    border-bottom: 1px solid #E5E5E5 !important;
    border-left: 4px solid transparent !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
  }

  #jmi-league-table .jmi-lt-mobile-card.is-diamond { border-left-color: #062744 !important; }
  #jmi-league-table .jmi-lt-mobile-card.is-platinum { border-left-color: #0B3D62 !important; }
  #jmi-league-table .jmi-lt-mobile-card.is-gold { border-left-color: #B8924A !important; }
  #jmi-league-table .jmi-lt-mobile-card.is-silver { border-left-color: #6B6B6B !important; }
  #jmi-league-table .jmi-lt-mobile-card.is-bronze { border-left-color: #8B6F47 !important; }

  #jmi-league-table .jmi-lt-mobile-rank {
    font-family: "Roboto Mono", monospace !important;
    font-weight: 300 !important;
    font-size: 20px !important;
    color: #062744 !important;
    font-variant-numeric: tabular-nums !important;
    min-width: 32px !important;
  }

  #jmi-league-table .jmi-lt-mobile-rank.is-dup {
    color: #C8C8C8 !important;
  }

  #jmi-league-table .jmi-lt-mobile-body {
    flex: 1 !important;
    min-width: 0 !important;
  }

  #jmi-league-table .jmi-lt-mobile-body .jmi-lt-tier-label {
    font-size: 9px !important;
    margin-bottom: 3px !important;
  }

  #jmi-league-table .jmi-lt-mobile-name {
    font-family: "Noto Serif JP", serif !important;
    font-weight: 500 !important;
    font-size: 15px !important;
    color: #1A1A1A !important;
    line-height: 1.4 !important;
    margin-bottom: 6px !important;
  }

  #jmi-league-table .jmi-lt-mobile-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: 11px !important;
    color: #6B6B6B !important;
    font-family: "Noto Serif JP", serif !important;
  }

  #jmi-league-table .jmi-lt-mobile-sep {
    color: #E5E5E5 !important;
  }

  #jmi-league-table .jmi-lt-mobile-foot {
    margin-top: 10px !important;
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
  }

  #jmi-league-table .jmi-lt-mobile-foot span {
    font-family: "Roboto Mono", monospace !important;
    font-weight: 300 !important;
    font-size: 13px !important;
    color: #1A1A1A !important;
    font-variant-numeric: tabular-nums !important;
  }

  #jmi-league-table .jmi-lt-mobile-foot a {
    color: #0B3D62 !important;
    font-family: "Cormorant Garamond", serif !important;
    font-size: 12px !important;
    letter-spacing: 0.1em !important;
    border-bottom: 1px solid #0B3D62 !important;
    padding-bottom: 1px !important;
  }

  #jmi-league-table .jmi-lt-colophon {
    padding: 32px 20px !important;
    margin-top: 72px !important;
  }

  #jmi-league-table .jmi-lt-colophon-links {
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
  }

  #jmi-league-table .jmi-lt-colophon-title {
    font-size: 16px !important;
  }

  /* v3 Tier1: Mobile Editor's Note — compact single-line variant.
   * Prevents the note from dominating the first viewport on small screens.
   * Full text is available via the expansion toggle. */
  #jmi-league-table .jmi-lt-editors-note.is-compact {
    padding: 10px 14px !important;
    margin: 6px 0 18px !important;
    gap: 0 !important;
  }

  #jmi-league-table .jmi-lt-editors-note.is-compact .jmi-lt-editors-note-label {
    display: none !important;
  }

  #jmi-league-table .jmi-lt-editors-note.is-compact .jmi-lt-editors-note-row {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
  }

  #jmi-league-table .jmi-lt-editors-note.is-compact .jmi-lt-editors-note-statement {
    font-size: 11.5px !important;
    line-height: 1.4 !important;
    color: #4A4A4A !important;
    margin: 0 !important;
    letter-spacing: -0.005em !important;
  }

  #jmi-league-table .jmi-lt-editors-note.is-compact .jmi-lt-editors-note-toggle {
    align-self: center !important;
    font-size: 10.5px !important;
    flex-shrink: 0 !important;
    letter-spacing: 0.02em !important;
  }

  /* v3 Tier1: Full statement (hidden on desktop, shown in mobile expanded) */
  #jmi-league-table .jmi-lt-editors-note-full {
    display: block !important;
    font-family: "Noto Serif JP", serif !important;
    font-size: 12.5px !important;
    line-height: 1.75 !important;
    color: #1A1A1A !important;
    margin-bottom: 10px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px dashed #E5E5E5 !important;
  }

  /* Existing mobile editors-note rules (unchanged for desktop-style mode) */
  #jmi-league-table .jmi-lt-editors-note {
    padding: 16px 18px !important;
    margin: 8px 0 24px !important;
  }

  #jmi-league-table .jmi-lt-editors-note-row {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }

  #jmi-league-table .jmi-lt-editors-note-statement {
    min-width: 0 !important;
    font-size: 13px !important;
  }

  #jmi-league-table .jmi-lt-editors-note-toggle {
    align-self: flex-end !important;
  }

  /* v2: Mobile detail toggle (unified with desktop) */
  #jmi-league-table .jmi-lt-mobile-detail-toggle {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin-left: auto !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    padding: 4px 0 !important;
  }

  /* v2: Mobile detail panel */
  #jmi-league-table .jmi-lt-mobile-card .jmi-lt-detail-panel {
    margin-top: 12px !important;
    padding: 12px 0 0 0 !important;
    border-top: 1px solid #E5E5E5 !important;
    border-bottom: none !important;
    border-left: none !important;
    background: transparent !important;
  }

  #jmi-league-table .jmi-lt-mobile-card .jmi-lt-detail-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  #jmi-league-table .jmi-lt-mobile-card .jmi-lt-detail-pmi {
    grid-column: 1 / -1 !important;
    margin-top: 4px !important;
  }

  #jmi-league-table .jmi-lt-mobile-card.is-expanded {
    background: #FAFAF7 !important;
  }

  /* v3 Tier1: Mobile filters - search always visible, detail filters collapsible.
   * Applied by JS renderFilters branching on state.isMobile. */
  #jmi-league-table .jmi-lt-filters.is-mobile {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 6px !important;
  }

  #jmi-league-table .jmi-lt-filters.is-mobile .jmi-lt-search-wrap {
    width: 100% !important;
    min-width: 0 !important;
  }

  /* Toggle button for the collapsible detail-filters section */
  #jmi-league-table .jmi-lt-filter-toggle {
    width: 100% !important;
    height: 34px !important;
    background: transparent !important;
    border: 0 !important;
    border-top: 1px solid #E5E5E5 !important;
    border-bottom: 1px solid #E5E5E5 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 4px !important;
    font-family: "Cormorant Garamond", serif !important;
    font-style: italic !important;
    font-size: 11.5px !important;
    color: #6B6B6B !important;
    letter-spacing: 0.04em !important;
    cursor: pointer !important;
    margin-top: 2px !important;
  }

  #jmi-league-table .jmi-lt-filter-toggle:hover {
    color: #062744 !important;
  }

  #jmi-league-table .jmi-lt-filter-toggle-label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
  }

  #jmi-league-table .jmi-lt-filter-toggle-badge {
    display: inline-block !important;
    background: #B8924A !important;
    color: #FFFFFF !important;
    font-family: "Roboto Mono", monospace !important;
    font-weight: 400 !important;
    font-style: normal !important;
    font-size: 10px !important;
    padding: 1px 6px !important;
    line-height: 1.4 !important;
    letter-spacing: 0 !important;
  }

  #jmi-league-table .jmi-lt-filter-toggle-arrow {
    font-size: 10px !important;
    color: #B8924A !important;
    transition: transform 0.2s !important;
  }

  #jmi-league-table .jmi-lt-filter-toggle.is-open .jmi-lt-filter-toggle-arrow {
    transform: rotate(180deg) !important;
  }

  #jmi-league-table .jmi-lt-filter-toggle:focus,
  #jmi-league-table .jmi-lt-filter-toggle:focus-visible {
    outline: 2px solid #0B3D62 !important;
    outline-offset: 1px !important;
  }

  /* Collapsible body */
  #jmi-league-table .jmi-lt-filter-body {
    display: none !important;
    flex-direction: column !important;
    gap: 6px !important;
    padding-top: 6px !important;
  }

  #jmi-league-table .jmi-lt-filter-body.is-open {
    display: flex !important;
  }

  #jmi-league-table .jmi-lt-filter-body .jmi-lt-type-filter,
  #jmi-league-table .jmi-lt-filter-body .jmi-lt-fee-filter {
    width: 100% !important;
    min-width: 0 !important;
  }

  #jmi-league-table .jmi-lt-filter-body .jmi-lt-filter-clear {
    align-self: flex-end !important;
    height: 36px !important;
    padding: 0 12px !important;
    margin-top: 2px !important;
  }

  /* v2: Mobile op guide */
  #jmi-league-table .jmi-lt-op-guide {
    padding: 10px 16px !important;
    font-size: 11px !important;
  }

  /* v3 Tier1: Mobile pagination — controls wrap, gap reduced */
  #jmi-league-table .jmi-lt-pagination {
    margin-top: 24px !important;
    padding-top: 16px !important;
  }

  #jmi-league-table .jmi-lt-pagination-showing {
    font-size: 10px !important;
    margin-bottom: 10px !important;
  }

  #jmi-league-table .jmi-lt-pagination-controls {
    gap: 12px !important;
    flex-wrap: wrap !important;
  }

  #jmi-league-table .jmi-lt-page-btn {
    font-size: 12px !important;
    padding: 5px 8px !important;
  }

  #jmi-league-table .jmi-lt-page-of {
    font-size: 12px !important;
  }

  #jmi-league-table .jmi-lt-page-of .jmi-mono {
    font-size: 13px !important;
  }
}

/* =========================================================
 * v2: DETAIL TOGGLE COLUMN
 * ========================================================= */
#jmi-league-table .jmi-lt-detail-toggle {
  display: flex !important;
  align-items: center !important;
  gap: 3px !important;
  cursor: pointer !important;
  justify-content: center !important;
}

#jmi-league-table .jmi-lt-detail-toggle-text {
  font-family: "Noto Serif JP", serif !important;
  font-size: 11px !important;
  color: #0B3D62 !important;
  letter-spacing: 0.05em !important;
}

#jmi-league-table .jmi-lt-detail-toggle-icon {
  font-size: 8px !important;
  color: #6B6B6B !important;
  transition: transform 0.2s !important;
  line-height: 1 !important;
}

#jmi-league-table .jmi-lt-detail-toggle-icon.is-open {
  transform: rotate(180deg) !important;
}

/* =========================================================
 * v2: DETAIL PANEL
 * ========================================================= */
#jmi-league-table .jmi-lt-detail-panel {
  background: #FAFAF7 !important;
  border-bottom: 1px solid #E5E5E5 !important;
  border-left: 4px solid transparent !important;
  padding: 20px 24px 20px 70px !important;
  animation: jmi-slide-down 0.2s ease-out !important;
}

/* v2: Tier color inherited from expanded row */
#jmi-league-table .jmi-lt-detail-panel.is-diamond { border-left-color: #062744 !important; }
#jmi-league-table .jmi-lt-detail-panel.is-platinum { border-left-color: #0B3D62 !important; }
#jmi-league-table .jmi-lt-detail-panel.is-gold { border-left-color: #B8924A !important; }
#jmi-league-table .jmi-lt-detail-panel.is-silver { border-left-color: #6B6B6B !important; }
#jmi-league-table .jmi-lt-detail-panel.is-bronze { border-left-color: #8B6F47 !important; }

@keyframes jmi-slide-down {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: translateY(0); }
}

#jmi-league-table .jmi-lt-detail-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr auto !important;
  gap: 24px !important;
  align-items: start !important;
}

#jmi-league-table .jmi-lt-detail-fee-label {
  font-family: "Roboto Mono", monospace !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0.05em !important;
  color: #6B6B6B !important;
  margin-bottom: 8px !important;
}

#jmi-league-table .jmi-lt-detail-fee-na {
  font-family: "Noto Serif JP", serif !important;
  font-size: 12px !important;
  color: #6B6B6B !important;
  font-style: italic !important;
}

#jmi-league-table .jmi-lt-detail-na {
  font-family: "Noto Serif JP", serif !important;
  font-size: 12px !important;
  color: #6B6B6B !important;
  font-style: italic !important;
  padding: 8px 0 !important;
}

#jmi-league-table .jmi-lt-detail-fee-items {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 6px 16px !important;
  margin-bottom: 8px !important;
}

#jmi-league-table .jmi-lt-detail-fee-item {
  display: flex !important;
  align-items: baseline !important;
  gap: 6px !important;
}

#jmi-league-table .jmi-lt-detail-fee-tags {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin-top: 4px !important;
}

#jmi-league-table .jmi-lt-detail-fee-tag-wrap {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}

#jmi-league-table .jmi-lt-detail-fee-key {
  font-family: "Noto Serif JP", serif !important;
  font-size: 12px !important;
  color: #6B6B6B !important;
  white-space: nowrap !important;
}

#jmi-league-table .jmi-lt-detail-fee-val {
  font-family: "Noto Serif JP", serif !important;
  font-size: 13px !important;
  color: #1A1A1A !important;
}

#jmi-league-table .jmi-lt-detail-fee-val.is-primary {
  font-family: "Roboto Mono", monospace !important;
  font-weight: 400 !important;
  color: #0B3D62 !important;
  font-variant-numeric: tabular-nums !important;
}

#jmi-league-table .jmi-lt-detail-fee-tag {
  font-family: "Noto Serif JP", serif !important;
  font-size: 11px !important;
  padding: 2px 8px !important;
  border-radius: 2px !important;
  background: #F5F5F5 !important;
  color: #6B6B6B !important;
  letter-spacing: 0.02em !important;
}

/* 「有」: ゴールドアクセントで特徴を強調 */
#jmi-league-table .jmi-lt-detail-fee-tag.is-yes {
  background: #FFF3E0 !important;
  color: #8B6F2E !important;
  font-weight: 500 !important;
}

/* 「無」: 控えめなグレーだが明示的に視認可能 */
#jmi-league-table .jmi-lt-detail-fee-tag.is-no {
  background: #F5F5F5 !important;
  color: #8B8B8B !important;
}

#jmi-league-table .jmi-lt-detail-pmi {
  text-align: center !important;
  min-width: 80px !important;
}

#jmi-league-table .jmi-lt-detail-pmi-badge {
  display: inline-flex !important;
  align-items: center !important;
  padding: 4px 12px !important;
  border-radius: 3px !important;
  font-family: "Noto Serif JP", serif !important;
  font-size: 12px !important;
  background: #F5F5F5 !important;
  color: #6B6B6B !important;
}

#jmi-league-table .jmi-lt-detail-pmi-badge.is-yes {
  background: #E8F5E8 !important;
  color: #2D6A2D !important;
  font-weight: 500 !important;
}

#jmi-league-table .jmi-lt-detail-disclaimer {
  margin-top: 14px !important;
  padding-top: 10px !important;
  border-top: 1px dashed #E5E5E5 !important;
  font-family: "Noto Serif JP", serif !important;
  font-size: 11px !important;
  color: #6B6B6B !important;
  line-height: 1.6 !important;
}

#jmi-league-table .jmi-lt-detail-disclaimer a {
  color: #0B3D62 !important;
  text-decoration: none !important;
  margin-left: 8px !important;
}

/* =========================================================
 * v2: FEE FILTER (size-aligned with type-filter in v3 Package C)
 * ========================================================= */
#jmi-league-table .jmi-lt-fee-filter {
  height: 44px !important;
  border: 1px solid #E5E5E5 !important;
  padding: 0 32px 0 16px !important;
  font-family: "Noto Serif JP", serif !important;
  font-size: 14px !important;
  color: #1A1A1A !important;
  background: #FFFFFF !important;
  border-radius: 0 !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236B6B6B' fill='none' stroke-width='1.2'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  cursor: pointer !important;
  min-width: 200px !important;
  transition: border-color 0.15s, background-color 0.15s !important;
}

#jmi-league-table .jmi-lt-fee-filter:hover {
  border-color: #B0B0B0 !important;
}

#jmi-league-table .jmi-lt-fee-filter.is-active {
  border-color: #B8924A !important;
  background-color: #FFFBF5 !important;
}

/* v2: Focus visible for keyboard accessibility */
#jmi-league-table .jmi-lt-fee-filter:focus,
#jmi-league-table .jmi-lt-fee-filter:focus-visible,
#jmi-league-table .jmi-lt-type-filter:focus,
#jmi-league-table .jmi-lt-type-filter:focus-visible,
#jmi-league-table .jmi-lt-search-input:focus,
#jmi-league-table .jmi-lt-search-input:focus-visible {
  outline: 2px solid #0B3D62 !important;
  outline-offset: 1px !important;
  border-color: #0B3D62 !important;
}

/* =========================================================
 * v2: RESULT FEE NOTE
 * ========================================================= */
#jmi-league-table .jmi-lt-result-fee-note {
  color: #B8924A !important;
  font-weight: 400 !important;
}

#jmi-league-table .jmi-lt-result-fee-caveat {
  font-family: "Noto Serif JP", serif !important;
  font-style: normal !important;
  font-size: 11px !important;
  color: #8B6F47 !important;
  margin-top: 4px !important;
  text-align: right !important;
}

/* =========================================================
 * v2: OPERATION GUIDE
 * - Placed inside the table frame, above thead
 * - Same bg as thead (#FAFAF7) for seamless integration
 * ========================================================= */
#jmi-league-table .jmi-lt-op-guide {
  padding: 10px 24px !important;
  font-family: "Noto Serif JP", serif !important;
  font-size: 12px !important;
  color: #6B6B6B !important;
  background: #FAFAF7 !important;
  border-bottom: 1px solid #E5E5E5 !important;
  line-height: 1.6 !important;
}
#jmi-league-table .jmi-lt-op-guide::before {
  content: "ℹ" !important;
  display: inline-block !important;
  width: 14px !important;
  height: 14px !important;
  line-height: 14px !important;
  text-align: center !important;
  font-size: 10px !important;
  border-radius: 50% !important;
  background: #0B3D62 !important;
  color: #FFFFFF !important;
  margin-right: 8px !important;
  vertical-align: middle !important;
  font-family: "Noto Serif JP", serif !important;
}


  }
}
