@charset "UTF-8";
/** Market AI Article System v1.0 — layout and article typography only. */

.market-ai-article-page { overflow-x: hidden; }
.market-ai-article-page #container { width: 100%; }
.market-ai-article { min-width: 0; overflow: clip; }
.market-ai-article .mai-container { padding-inline: 32px; }
.market-ai-article .mai-article-reading-column { max-width: 1080px; }
.market-ai-article .mai-article-header .mai-article-reading-column { max-width: 1280px; }

.mai-article-header { padding-top: 36px; padding-bottom: 36px; border-bottom: 1px solid rgba(124, 255, 58, .1); }
.mai-article-header h1 { max-width: 1280px; margin: 12px 0 16px; font-size: clamp(30px, 3.2vw, 42px); line-height: 1.3; overflow-wrap: break-word; word-break: normal; line-break: strict; text-wrap: pretty; }
.mai-article-meta { display: flex; flex-wrap: wrap; gap: 8px 22px; color: var(--mai-muted); font-size: 13px; }
.mai-article-meta > * { position: relative; }
.mai-article-meta > * + *::before { content: ""; position: absolute; top: .45em; left: -12px; width: 3px; height: 3px; background: var(--mai-primary); border-radius: 50%; }
.mai-article-share-reserve { display: inline-flex; align-items: center; gap: 10px; min-height: 38px; margin-top: 24px; padding: 7px 12px; border: 1px solid var(--mai-border); border-radius: var(--mai-radius-control); color: var(--mai-muted); font-size: 10px; font-weight: 750; letter-spacing: .12em; }
.mai-article-share-reserve span { color: var(--mai-primary); letter-spacing: .06em; }

.mai-article-section-heading { margin-bottom: 38px; }
.mai-article-section-heading h2 { margin: 8px 0 0; }
.mai-article-snapshot { padding-top: 40px; padding-bottom: 72px; }
.mai-article-snapshot-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.mai-article-snapshot-grid .mai-dashboard-card { display: flex; min-height: 164px; flex-direction: column; gap: 14px; justify-content: space-between; }
.mai-article-snapshot-grid .mai-data-value { font-size: clamp(21px, 2vw, 32px); }

.mai-html-dashboard { background: #050707; border-block: 1px solid rgba(124, 255, 58, .1); }
.mai-html-dashboard__header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.mai-html-dashboard__header h2 { margin: 8px 0 0; }
.mai-html-dashboard__header p { margin: 10px 0 0; color: var(--mai-muted); font-size: 13px; line-height: 1.6; }
.mai-html-dashboard__timestamp { display: grid; min-width: 168px; grid-template-columns: 1fr auto; align-items:center; gap: 5px 10px; padding: 9px 11px; border: 1px solid rgba(124, 255, 58, .3); border-radius: var(--mai-radius-control); color: var(--mai-text); }
.mai-html-dashboard__timestamp > .mai-html-dashboard__status-label { grid-column: 1 / -1; }
.mai-html-dashboard__timestamp time { display: flex; min-width: 0; flex-direction: column; font-variant-numeric: tabular-nums; line-height: 1.35; white-space: nowrap; }
.mai-html-dashboard__date { font-size: 13px; }
.mai-html-dashboard__time { color: var(--mai-primary); font-size: 16px; font-weight: 750; }
.mai-html-dashboard__live { display: inline-flex; width: fit-content; min-height: 23px; align-items: center; gap: 7px; padding: 3px 8px; border: 1px solid rgba(0, 255, 102, .42); border-radius: 999px; color: var(--mai-up); font-size: 9px; font-weight: 800; letter-spacing: .09em; white-space: nowrap; }
.mai-html-dashboard__live-dot { width: 6px; height: 6px; flex: 0 0 6px; background: var(--mai-up); border-radius: 50%; box-shadow: 0 0 7px rgba(0, 255, 102, .38); animation: mai-dashboard-live-pulse 2.8s ease-in-out infinite; }
@keyframes mai-dashboard-live-pulse { 0%, 100% { opacity: .62; transform: scale(.9); } 50% { opacity: 1; transform: scale(1); } }
.mai-html-dashboard__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-flow: row dense; align-items: stretch; gap: 14px; }
.mai-html-dashboard__card { position: relative; grid-column: span 3; min-width: 0; min-height: 176px; display: flex; padding: 22px; overflow: hidden; flex-direction: column; background: #0d1214; border: 1px solid rgba(124, 255, 58, .2); border-radius: var(--mai-radius-card); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025); }
.mai-html-dashboard__card::before { content: ""; position: absolute; top: 0; left: 20px; width: 48px; height: 2px; background: var(--mai-primary); opacity: .72; }
.mai-html-dashboard__card--accent { border-color: rgba(124, 255, 58, .42); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .03), 0 0 18px rgba(124, 255, 58, .06); }
.mai-html-dashboard__card:is([data-dashboard-key="market-score"], [data-dashboard-key="market-temperature"], [data-dashboard-key="ai-confidence"], [data-dashboard-key="overall-judgment"], [data-dashboard-key="japan-market"], [data-dashboard-key="us-market"]) { border-color: rgba(124, 255, 58, .3); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .03), 0 0 16px rgba(124, 255, 58, .045); }
.mai-html-dashboard__card:is([data-dashboard-key="market-score"], [data-dashboard-key="market-temperature"], [data-dashboard-key="ai-confidence"], [data-dashboard-key="overall-judgment"], [data-dashboard-key="japan-market"], [data-dashboard-key="us-market"])::before { width: 68px; opacity: .9; }
.mai-html-dashboard__card:is([data-dashboard-key="market-score"], [data-dashboard-key="market-temperature"], [data-dashboard-key="ai-confidence"], [data-dashboard-key="overall-judgment"]) { min-height: 218px; }
.mai-html-dashboard__card--wide { grid-column: span 6; }
.mai-html-dashboard__card--feature { grid-column: span 4; }
.mai-html-dashboard__card[data-dashboard-key="trend"], .mai-html-dashboard__card[data-dashboard-key="japan-market"], .mai-html-dashboard__card[data-dashboard-key="us-market"] { min-height: 270px; }
.mai-html-dashboard__card[data-dashboard-key="important-news"], .mai-html-dashboard__card[data-dashboard-key="indexes-sectors"], .mai-html-dashboard__card[data-dashboard-key="economic-calendar"] { grid-column: span 4; min-height: 300px; }
.mai-html-dashboard__card[data-dashboard-key="fx-rates"], .mai-html-dashboard__card[data-dashboard-key="ai-alert"], .mai-html-dashboard__card[data-dashboard-key="money-flow"] { grid-column: span 4; }
.mai-html-dashboard__card[data-dashboard-key="fx-rates"], .mai-html-dashboard__card[data-dashboard-key="ai-alert"], .mai-html-dashboard__card[data-dashboard-key="money-flow"] { min-height: 220px; }
.mai-html-dashboard__card[data-dashboard-key="investment-points"] { grid-column: 1 / -1; }
.mai-html-dashboard__card h3 { margin: 0 0 22px; color: var(--mai-muted); font-size: 11px; font-weight: 750; letter-spacing: .1em; line-height: 1.4; text-transform: uppercase; }
.mai-html-dashboard__card strong { display: block; margin: 0 0 10px; color: var(--mai-primary); font-size: clamp(25px, 2.5vw, 40px); font-variant-numeric: tabular-nums; line-height: 1.08; overflow-wrap: anywhere; }
.mai-html-dashboard__card p { margin: 0; color: var(--mai-muted); font-size: 13px; line-height: 1.65; }
.mai-html-dashboard__card--metric p { margin-top: auto; font-size: 10px; font-weight: 700; letter-spacing: .08em; }
.mai-html-dashboard__metric { display: flex; min-width: 0; align-items: baseline; gap: 7px; }
.mai-html-dashboard__metric-value { color: var(--mai-text); font-size: clamp(31px, 3vw, 46px); font-weight: 800; font-variant-numeric: tabular-nums; line-height: 1; overflow-wrap: anywhere; }
.mai-html-dashboard__metric-unit { color: var(--mai-muted); font-size: 13px; font-weight: 700; white-space: nowrap; }
.mai-html-dashboard__progress { width: 100%; height: 5px; margin: 4px 0 14px; overflow: hidden; background: rgba(156, 167, 181, .14); border-radius: 999px; }
.mai-html-dashboard__progress-fill { display: block; width: var(--mai-progress-value, 0%); height: 100%; background: var(--mai-primary); border-radius: inherit; }
.mai-html-dashboard__gauge { position: relative; isolation: isolate; display: grid; width: 132px; aspect-ratio: 1; place-items: center; align-self: center; margin: -4px 0 10px; background: conic-gradient(from -90deg, var(--mai-primary) var(--mai-progress-value), rgba(156, 167, 181, .16) 0); border: 1px solid rgba(124, 255, 58, .2); border-radius: 50%; box-shadow: 0 0 0 3px rgba(124, 255, 58, .025), 0 0 21px rgba(124, 255, 58, .1), inset 0 0 13px rgba(124, 255, 58, .05); transform: scale(1.28); transform-origin: center; }
.mai-html-dashboard__gauge::before { content: ""; position: absolute; z-index: -1; inset: 11px; background: radial-gradient(circle at 48% 38%, rgba(124, 255, 58, .035), transparent 56%), #0d1214; border: 1px solid rgba(124, 255, 58, .08); border-radius: 50%; }
.mai-html-dashboard__gauge .mai-html-dashboard__metric { display: grid; justify-items: center; gap: 2px; }
.mai-html-dashboard__gauge .mai-html-dashboard__metric-value { color: var(--mai-primary); font-size: 31px; }
.mai-html-dashboard__gauge .mai-html-dashboard__metric-unit { font-size: 8.6px; }
.mai-html-dashboard__gauge-status { margin-top: 4px; font-size: 7px; font-weight: 800; letter-spacing: .09em; line-height: 1; white-space: nowrap; }
.mai-html-dashboard__gauge-status::after { content: none !important; }
.mai-html-dashboard__status-row { display: flex; min-width: 0; align-items: center; flex-wrap: wrap; gap: 9px 12px; }
.mai-html-dashboard__status-row--risk { margin-bottom: 14px; }
.mai-html-dashboard__status-label { color: var(--mai-muted); font-size: 9px; font-weight: 750; letter-spacing: .09em; line-height: 1.4; text-transform: uppercase; }
.mai-html-dashboard__status-badge { display: inline-flex; width: fit-content; min-height: 23px; align-items: center; padding: 3px 8px; background: rgba(156, 167, 181, .07); border: 1px solid currentColor; border-radius: 999px; font-size: 9px; font-weight: 800; letter-spacing: .08em; line-height: 1.2; white-space: nowrap; }
.mai-html-dashboard__status-badge::after { content: none !important; }
.mai-html-dashboard__status-badge.mai-status--waiting { color: var(--mai-muted) !important; }
.mai-html-dashboard__status-badge.mai-status--current { color: var(--mai-up) !important; }
.mai-html-dashboard__status-badge[data-temperature-state="cold"], .mai-html-dashboard__status-badge[data-temperature-state="cool"] { color: var(--mai-muted); }
.mai-html-dashboard__status-badge[data-temperature-state="neutral"] { color: var(--mai-text); }
.mai-html-dashboard__status-badge[data-temperature-state="warm"] { color: var(--mai-warning); }
.mai-html-dashboard__status-badge[data-temperature-state="hot"] { color: var(--mai-down); }
.mai-html-dashboard__status-badge[data-confidence-state="low"] { color: var(--mai-muted); }
.mai-html-dashboard__status-badge[data-confidence-state="medium"] { color: var(--mai-warning); }
.mai-html-dashboard__status-badge[data-confidence-state="high"] { color: var(--mai-up); }
.mai-html-dashboard__card--alert { border-color: rgba(255, 200, 87, .28); }
.mai-html-dashboard__card--alert strong { color: var(--mai-text); }
.mai-html-dashboard__card ul { margin: 0; padding: 0; list-style: none; }
.mai-html-dashboard__card li { position: relative; margin-top: 9px; padding-left: 15px; color: var(--mai-text); font-size: 13px; line-height: 1.55; }
.mai-html-dashboard__card li:first-child { margin-top: 0; }
.mai-html-dashboard__card li::before { content: ""; position: absolute; top: .62em; left: 0; width: 5px; height: 5px; background: var(--mai-primary); border-radius: 50%; }
.mai-html-dashboard__card dl { margin: 0; }
.mai-html-dashboard__card dl > div { display: flex; min-width: 0; justify-content: space-between; gap: 14px; padding-block: 9px; border-top: 1px solid rgba(124, 255, 58, .1); }
.mai-html-dashboard__card dl > div:first-child { padding-top: 0; border-top: 0; }
.mai-html-dashboard__card dt, .mai-html-dashboard__card dd { min-width: 0; margin: 0; font-size: 13px; overflow-wrap: anywhere; }
.mai-html-dashboard__card dt { color: var(--mai-muted); }
.mai-html-dashboard__card dd { color: var(--mai-text); font-weight: 750; text-align: right; font-variant-numeric: tabular-nums; }
.mai-html-dashboard__card[data-dashboard-key="investment-points"] .mai-dashboard-investment-points {
  width: 100%;
  text-align: left;
}
.mai-html-dashboard__card[data-dashboard-key="investment-points"] .mai-dashboard-investment-points > div {
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
}
.mai-html-dashboard__card[data-dashboard-key="investment-points"] .mai-dashboard-investment-points :is(dt, dd) {
  display: block;
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  text-align: left;
}
.mai-dashboard-indexes dd { color: var(--mai-primary); }
.mai-html-dashboard__summary { display: -webkit-box; margin-top: auto !important; padding-top: 14px; overflow: hidden; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.mai-html-dashboard__waiting { display: flex; min-width: 0; margin-top: auto !important; flex-direction: column; align-items: flex-start; gap: 8px; color: var(--mai-muted) !important; overflow-wrap: anywhere; }
.mai-html-dashboard__waiting--inline { padding-top: 14px; flex-direction: row; align-items: center; flex-wrap: wrap; }
.mai-html-dashboard__waiting-mark { color: var(--mai-muted); font-size: 25px; line-height: 1; }
.mai-html-dashboard__waiting-label { min-width: 0; color: var(--mai-muted); font-size: 11px; line-height: 1.55; overflow-wrap: anywhere; }
.mai-html-dashboard__judgments { margin-top: auto !important; }
.mai-html-dashboard__judgment { display: inline-flex; min-width: 0; align-items: center; gap: 9px; white-space: nowrap; }
.mai-html-dashboard__judgment strong { min-width: 0; margin-bottom: 0; }
.mai-html-dashboard__judgment-dot { width: 7px; height: 7px; flex: 0 0 7px; background: currentColor; border-radius: 50%; box-shadow: 0 0 6px currentColor; opacity: .82; }
.mai-html-dashboard__judgment-dot::after { content: none !important; }
.mai-html-dashboard__judgment-dot.mai-status--waiting { color: var(--mai-muted) !important; box-shadow: none; opacity: .45; }
.mai-dashboard-placeholder { display: flex; min-width: 0; min-height: 0; flex: 1 1 auto; flex-direction: column; align-items: center; justify-content: center; gap: 8px; color: var(--mai-muted); text-align: center; overflow-wrap: anywhere; }
.mai-dashboard-placeholder > :first-child { display: flex; min-height: 28px; align-items: center; justify-content: center; }
.mai-dashboard-placeholder > .mai-html-dashboard__trend-icon { align-items: flex-end; }
.mai-dashboard-placeholder .mai-html-dashboard__trend-label { display: inline-flex; min-height: 23px; align-items: center; justify-content: center; }
.mai-dashboard-placeholder .mai-html-dashboard__waiting-label { width: 100%; text-align: center; }
.mai-html-dashboard__trend-icon { display: flex; width: 54px; height: 28px; align-items: flex-end; justify-content: center; gap: 4px; opacity: .42; }
.mai-html-dashboard__trend-icon i { display: block; width: 6px; background: currentColor; border-radius: 2px 2px 0 0; }
.mai-html-dashboard__trend-icon i:nth-child(1) { height: 7px; }.mai-html-dashboard__trend-icon i:nth-child(2) { height: 14px; }.mai-html-dashboard__trend-icon i:nth-child(3) { height: 10px; }.mai-html-dashboard__trend-icon i:nth-child(4) { height: 22px; color: var(--mai-primary); }
.mai-html-dashboard__trend-label { font-size: 11px; font-weight: 800; letter-spacing: .14em; }
.mai-html-dashboard__trend-line { width: min(180px, 70%); height: 1px; background: linear-gradient(90deg, transparent, rgba(124, 255, 58, .24), transparent); }

/* Dashboard Phase 1: information hierarchy and reusable card rhythm. */
.mai-html-dashboard__card {
  background: #101619;
  border-color: rgba(124, 255, 58, .24);
  border-radius: 18px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025), 0 8px 24px rgba(0, 0, 0, .08);
  transition: border-color 180ms ease, box-shadow 180ms ease;
}
.mai-html-dashboard__card:hover { border-color: rgba(124, 255, 58, .42); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .03), 0 8px 24px rgba(0, 0, 0, .1); }
.mai-html-dashboard__card :is(.mai-html-dashboard__metric-value, .mai-html-dashboard__metric-unit, .mai-html-dashboard__index-value, .mai-html-dashboard__index-change, dd) { font-variant-numeric: tabular-nums; }
.mai-html-dashboard__status-badge::before { content: ""; width: 6px; height: 6px; flex: 0 0 6px; background: currentColor; border-radius: 50%; box-shadow: 0 0 5px currentColor; opacity: .78; }

/* Visual order: primary markets, indexes, compact indicators, detail analysis. */
.mai-html-dashboard__card[data-dashboard-key="market-score"] { order: 1; grid-column: span 4; }
.mai-html-dashboard__card[data-dashboard-key="japan-market"] { order: 2; grid-column: span 4; }
.mai-html-dashboard__card[data-dashboard-key="us-market"] { order: 3; grid-column: span 4; }
.mai-html-dashboard__card[data-dashboard-key="indexes-sectors"] { order: 4; grid-column: 1 / -1; min-height: 0; }
.mai-html-dashboard__card[data-dashboard-key="vix"] { order: 5; grid-column: span 3; }
.mai-html-dashboard__card[data-dashboard-key="fx-rates"] { order: 6; grid-column: span 3; }
.mai-html-dashboard__card[data-dashboard-key="ai-confidence"] { order: 7; grid-column: span 3; }
.mai-html-dashboard__card[data-dashboard-key="market-temperature"] { order: 8; grid-column: span 3; }
.mai-html-dashboard__card[data-dashboard-key="trend"] { order: 9; }
.mai-html-dashboard__card[data-dashboard-key="important-news"] { order: 10; }
.mai-html-dashboard__card:is([data-dashboard-key="trend"], [data-dashboard-key="important-news"]) { grid-column: span 6; min-width: 0; }
.mai-html-dashboard__card[data-dashboard-key="economic-calendar"] { order: 11; }
.mai-html-dashboard__card[data-dashboard-key="ai-alert"] { order: 12; }
.mai-html-dashboard__card[data-dashboard-key="money-flow"] { order: 13; }
.mai-html-dashboard__card[data-dashboard-key="investment-points"] { order: 14; }

.mai-html-dashboard__card[data-dashboard-key="market-score"] { min-height: 270px; border-color: rgba(124, 255, 58, .48); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04), 0 0 20px rgba(124, 255, 58, .065); }
.mai-html-dashboard__card[data-dashboard-key="market-score"] .mai-html-dashboard__gauge { transform: scale(1.5); }
.mai-html-dashboard__card:is([data-dashboard-key="japan-market"], [data-dashboard-key="us-market"]) { min-height: 270px; }
.mai-html-dashboard__card:is([data-dashboard-key="japan-market"], [data-dashboard-key="us-market"]) .mai-html-dashboard__judgment strong { transform: scale(1.05); transform-origin: left center; }
.mai-html-dashboard__card:is([data-dashboard-key="vix"], [data-dashboard-key="fx-rates"], [data-dashboard-key="ai-confidence"], [data-dashboard-key="market-temperature"]) { min-height: 190px; padding: 20px; }
.mai-html-dashboard__card:is([data-dashboard-key="vix"], [data-dashboard-key="fx-rates"], [data-dashboard-key="ai-confidence"], [data-dashboard-key="market-temperature"]) .mai-html-dashboard__metric { margin-top: auto; justify-content: center; }
.mai-html-dashboard__card:is([data-dashboard-key="vix"], [data-dashboard-key="fx-rates"], [data-dashboard-key="ai-confidence"], [data-dashboard-key="market-temperature"]) .mai-html-dashboard__status-row { justify-content: center; }

.mai-html-dashboard__card[data-dashboard-key="indexes-sectors"] .mai-html-dashboard__index-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.mai-html-dashboard__card[data-dashboard-key="indexes-sectors"] .mai-html-dashboard__index-row { display: grid; grid-template-columns: 1fr auto; gap: 8px 12px; padding: 16px; background: rgba(5, 5, 5, .22); border: 1px solid rgba(124, 255, 58, .16); border-radius: 12px; }
.mai-html-dashboard__card[data-dashboard-key="indexes-sectors"] .mai-html-dashboard__index-name::before { content: "INDEX"; display: block; margin-bottom: 8px; color: var(--mai-primary); font-size: 8px; font-weight: 800; letter-spacing: .12em; }
.mai-html-dashboard__card[data-dashboard-key="indexes-sectors"] .mai-html-dashboard__index-value { grid-column: 1 / -1; font-size: clamp(24px, 2.4vw, 34px); line-height: 1; text-align: left; }
.mai-html-dashboard__card[data-dashboard-key="indexes-sectors"] .mai-html-dashboard__index-change { grid-column: 1 / -1; text-align: left; }
.mai-html-dashboard__card[data-dashboard-key="indexes-sectors"] .mai-html-dashboard__index-row:nth-child(n + 4) { display: none; }
.mai-html-dashboard__card:is([data-dashboard-key="trend"], [data-dashboard-key="important-news"], [data-dashboard-key="economic-calendar"], [data-dashboard-key="ai-alert"], [data-dashboard-key="money-flow"], [data-dashboard-key="investment-points"]) { min-height: 170px; }
.mai-html-dashboard__index-list { width: 100%; margin-top: 16px !important; }
.mai-html-dashboard__card .mai-html-dashboard__index-row { display: grid; grid-template-columns: minmax(76px, 1fr) minmax(84px, auto) minmax(64px, auto); align-items: baseline; gap: 8px; }
.mai-html-dashboard__index-name, .mai-html-dashboard__index-value, .mai-html-dashboard__index-change { min-width: 0; margin: 0; font-size: 12px; line-height: 1.45; }
.mai-html-dashboard__index-name { color: var(--mai-muted); overflow-wrap: anywhere; }
.mai-html-dashboard__index-value, .mai-html-dashboard__index-change { text-align: right; font-weight: 750; font-variant-numeric: tabular-nums; white-space: nowrap; }
.mai-change--up { color: var(--mai-up); }
.mai-change--down { color: var(--mai-down); }
.mai-change--neutral { color: var(--mai-text); }
.mai-change--waiting { color: var(--mai-muted); }
.mai-html-dashboard__notice { margin: 16px 0 0; color: var(--mai-muted); font-size: 11px; line-height: 1.6; }

/* Dashboard Design Final Polish v1.0. */
.mai-html-dashboard { background: #070a09; }
.mai-html-dashboard__card {
  min-height: 190px;
  padding: 22px;
  background: #101619;
  border: 1px solid rgba(124, 255, 58, .22);
  border-radius: 18px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025), 0 10px 26px rgba(0, 0, 0, .1);
  transform: translateY(0);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
.mai-html-dashboard__card::before { width: 52px; height: 1px; opacity: .58; }
.mai-html-dashboard__card:is([data-dashboard-key="market-score"], [data-dashboard-key="market-temperature"], [data-dashboard-key="ai-confidence"], [data-dashboard-key="overall-judgment"], [data-dashboard-key="japan-market"], [data-dashboard-key="us-market"]) {
  min-height: 230px;
  border-color: rgba(124, 255, 58, .34);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035), 0 0 16px rgba(124, 255, 58, .045);
}
.mai-html-dashboard__card:is([data-dashboard-key="market-score"], [data-dashboard-key="market-temperature"], [data-dashboard-key="ai-confidence"], [data-dashboard-key="overall-judgment"], [data-dashboard-key="japan-market"], [data-dashboard-key="us-market"])::before { width: 70px; height: 2px; opacity: .82; }
.mai-html-dashboard__card[data-dashboard-key="market-score"] { order: 1; grid-column: span 3; border-color: rgba(124, 255, 58, .48); }
.mai-html-dashboard__card[data-dashboard-key="market-temperature"] { order: 2; grid-column: span 3; }
.mai-html-dashboard__card[data-dashboard-key="ai-confidence"] { order: 3; grid-column: span 3; }
.mai-html-dashboard__card[data-dashboard-key="overall-judgment"] { order: 4; grid-column: span 3; }
.mai-html-dashboard__card[data-dashboard-key="japan-market"] { order: 5; grid-column: span 6; }
.mai-html-dashboard__card[data-dashboard-key="us-market"] { order: 6; grid-column: span 6; }
.mai-html-dashboard__card[data-dashboard-key="economic-calendar"] { order: 10; grid-column: span 6; }
.mai-html-dashboard__card[data-dashboard-key="fx-rates"] { order: 11; grid-column: span 4; }
.mai-html-dashboard__card[data-dashboard-key="ai-alert"] { order: 12; grid-column: span 4; }
.mai-html-dashboard__card[data-dashboard-key="money-flow"] { order: 13; grid-column: span 4; }
.mai-html-dashboard__card[data-dashboard-key="investment-points"] { order: 14; grid-column: 1 / -1; }

.mai-html-dashboard__card[data-dashboard-key="market-score"] .mai-html-dashboard__gauge {
  width: clamp(150px, 12vw, 170px);
  margin: auto;
  transform: none;
  box-shadow: 0 0 0 3px rgba(124, 255, 58, .025), 0 0 23px rgba(124, 255, 58, .1), inset 0 0 15px rgba(124, 255, 58, .055);
}
.mai-html-dashboard__card[data-dashboard-key="market-score"] .mai-html-dashboard__gauge::before { inset: 13px; background-color: #101619; }
.mai-html-dashboard__card[data-dashboard-key="market-score"] .mai-html-dashboard__metric-value { font-size: clamp(38px, 3.5vw, 48px); }
.mai-html-dashboard__card[data-dashboard-key="market-score"] .mai-html-dashboard__metric-unit { font-size: 10px; }
.mai-html-dashboard__card[data-dashboard-key="market-score"] .mai-html-dashboard__gauge-status { margin-top: 5px; font-size: 8px; }
.mai-html-dashboard__card:is([data-dashboard-key="market-temperature"], [data-dashboard-key="ai-confidence"]) .mai-html-dashboard__metric { margin-top: auto; justify-content: flex-start; }
.mai-html-dashboard__card:is([data-dashboard-key="market-temperature"], [data-dashboard-key="ai-confidence"]) .mai-html-dashboard__progress { margin-top: 14px; }
.mai-html-dashboard__card:is([data-dashboard-key="market-temperature"], [data-dashboard-key="ai-confidence"]) .mai-html-dashboard__status-row { margin-top: auto; justify-content: flex-start; }
.mai-html-dashboard__card:is([data-dashboard-key="japan-market"], [data-dashboard-key="us-market"]) .mai-html-dashboard__status-row { min-height: 52px; }
.mai-html-dashboard__card:is([data-dashboard-key="japan-market"], [data-dashboard-key="us-market"]) .mai-html-dashboard__judgment strong { transform: none; }
.mai-html-dashboard__card:is([data-dashboard-key="japan-market"], [data-dashboard-key="us-market"]) .mai-html-dashboard__summary { min-height: 0; -webkit-line-clamp: 3; }

.mai-html-dashboard__card[data-dashboard-key="indexes-sectors"] .mai-html-dashboard__index-list { display: block; margin-top: 0 !important; }
.mai-html-dashboard__card[data-dashboard-key="indexes-sectors"] .mai-html-dashboard__index-row,
.mai-html-dashboard__card[data-dashboard-key="indexes-sectors"] .mai-html-dashboard__index-row:nth-child(n + 4) {
  display: grid;
  grid-template-columns: minmax(92px, 1fr) minmax(90px, auto) minmax(70px, auto);
  gap: 10px;
  padding: 11px 0;
  background: transparent;
  border: 0;
  border-top: 1px solid rgba(124, 255, 58, .1);
  border-radius: 0;
}
.mai-html-dashboard__card[data-dashboard-key="indexes-sectors"] .mai-html-dashboard__index-row:first-child { border-top: 0; }
.mai-html-dashboard__card[data-dashboard-key="indexes-sectors"] .mai-html-dashboard__index-name::before { content: none; }
.mai-html-dashboard__card[data-dashboard-key="indexes-sectors"] :is(.mai-html-dashboard__index-value, .mai-html-dashboard__index-change) { grid-column: auto; font-size: 12px; line-height: 1.45; text-align: right; }
.mai-html-dashboard__card[data-dashboard-key="indexes-sectors"] .mai-html-dashboard__waiting--inline { margin-top: auto !important; opacity: .68; }
.mai-dashboard-placeholder { justify-content: flex-end; padding-top: 18px; opacity: .72; }
.mai-dashboard-placeholder .mai-html-dashboard__waiting-mark { font-size: 20px; }
.mai-dashboard-placeholder .mai-html-dashboard__status-badge { opacity: .72; }
.mai-dashboard-detail { display: grid; gap: 12px; }
.mai-dashboard-detail > strong { color: var(--mai-green); font-size: clamp(18px, 2vw, 24px); line-height: 1.35; }
.mai-dashboard-detail p { margin: 0; color: var(--mai-muted); white-space: pre-line; }
.mai-dashboard-detail h4 { margin: 4px 0 0; color: var(--mai-text); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.mai-dashboard-data-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.mai-dashboard-data-list li { position: relative; margin: 0; padding-left: 16px; color: var(--mai-text); line-height: 1.55; }
.mai-dashboard-data-list li::before { position: absolute; top: .68em; left: 0; width: 5px; height: 5px; border-radius: 50%; background: var(--mai-green); box-shadow: 0 0 8px rgba(124, 255, 58, .48); content: ""; }
.mai-dashboard-data-list a { color: inherit; text-decoration: none; }
.mai-dashboard-data-list a:hover { color: var(--mai-green); }
.mai-dashboard-sector-list { display: grid; gap: 0; margin: 14px 0 0; }
.mai-dashboard-sector-list > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; padding: 9px 0; border-top: 1px solid rgba(124, 255, 58, .1); }
.mai-dashboard-sector-list dt, .mai-dashboard-sector-list dd { margin: 0; }
.mai-dashboard-sector-list dd { color: var(--mai-green); text-align: right; }
.mai-html-dashboard__live-dot { animation: none; }

@media (hover: hover) and (pointer: fine) {
  .mai-html-dashboard__card:hover { transform: translateY(-1px); border-color: rgba(124, 255, 58, .4); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035), 0 0 18px rgba(124, 255, 58, .065), 0 10px 26px rgba(0, 0, 0, .1); }
}

.mai-article-body { padding-top: 72px; padding-bottom: 72px; background: #080a0b; }
.mai-article-content { color: var(--mai-text); font-size: 18px; line-height: 1.95; overflow-wrap: anywhere; }
.mai-article-content > *:first-child { margin-top: 0; }
.mai-article-content > *:last-child { margin-bottom: 0; }
.mai-article-content p { margin: 0 0 1.65em; color: var(--mai-text); }
.mai-article-content h2, .mai-article-content h3, .mai-article-content h4 { scroll-margin-top: 32px; color: var(--mai-text); font-weight: 750; letter-spacing: -.025em; }
.mai-article-content h2 { margin: 2.5em 0 .9em; padding: 0 0 .55em; border-bottom: 1px solid rgba(124, 255, 58, .24); font-size: clamp(28px, 3.2vw, 40px); line-height: 1.35; }
.mai-article-content h3 { margin: 2.1em 0 .8em; padding-left: 16px; border-left: 2px solid var(--mai-primary); font-size: clamp(22px, 2.3vw, 30px); line-height: 1.45; }
.mai-article-content h4 { margin: 1.8em 0 .7em; font-size: 20px; line-height: 1.5; }
.mai-article-content a { color: var(--mai-primary); text-decoration-thickness: 1px; text-underline-offset: .18em; }
.mai-article-content ul, .mai-article-content ol { margin: 0 0 1.7em; padding-left: 1.5em; }
.mai-article-content li { margin-block: .55em; padding-left: .25em; }
.mai-article-content li::marker { color: var(--mai-primary); font-weight: 750; }
.mai-article-content blockquote { margin: 2em 0; padding: 22px 24px; background: var(--mai-surface); border: 0; border-left: 3px solid var(--mai-primary); border-radius: 0 var(--mai-radius-control) var(--mai-radius-control) 0; color: var(--mai-muted); }
.mai-article-content blockquote p:last-child { margin-bottom: 0; }
.mai-article-content figure { max-width: 100%; margin: 2.2em auto; }
.mai-article-content img { max-width: 100%; height: auto; border-radius: var(--mai-radius-control); }
.mai-article-content :is(figure.mai-dashboard-image, figure[data-market-ai-dashboard], figure:has(img.mai-dashboard-image), figure:has(img[data-market-ai-dashboard]), figure:has(img[src*="dashboard" i]), figure:has(img[alt*="dashboard" i]), figure:has(img[alt*="ダッシュボード"]), img.mai-dashboard-image, img[data-market-ai-dashboard], img[src*="dashboard" i], img[alt*="dashboard" i], img[alt*="ダッシュボード"]) { display: none !important; }
.mai-dashboard-image-frame { position: relative; max-width: 100%; }
.mai-dashboard-image-frame img[data-mai-dashboard-lightbox] { cursor: zoom-in; }
.mai-article-content :is(figure.mai-dashboard-image, figure[data-market-ai-dashboard], .mai-dashboard-image-frame:has(img.mai-dashboard-image), .mai-dashboard-image-frame:has(img[data-market-ai-dashboard])) { width: min(1360px, calc(100vw - 48px)); max-width: none; margin-left: 50%; margin-right: 0; transform: translateX(-50%); }
.mai-article-content :is(figure.mai-dashboard-image, figure[data-market-ai-dashboard], .mai-dashboard-image-frame:has(img.mai-dashboard-image), .mai-dashboard-image-frame:has(img[data-market-ai-dashboard])) :is(a, picture) { display: block; width: 100%; }
.mai-article-content :is(figure.mai-dashboard-image, figure[data-market-ai-dashboard], .mai-dashboard-image-frame:has(img.mai-dashboard-image), .mai-dashboard-image-frame:has(img[data-market-ai-dashboard])) img { display: block; width: 100%; height: auto; }
.mai-dashboard-image-trigger { position: absolute; z-index: 2; top: 12px; right: 12px; min-width: 44px; min-height: 44px; padding: 6px 10px; background: rgba(5, 5, 5, .86); border: 1px solid rgba(124, 255, 58, .48); border-radius: 7px; color: var(--mai-primary); font: inherit; font-size: 10px; font-weight: 750; letter-spacing: .08em; line-height: 1; cursor: zoom-in; }
.mai-dashboard-lightbox { position: fixed; z-index: 100000; inset: 0; display: grid; place-items: center; padding: 3vh 2.5vw; background: rgba(0, 0, 0, .92); opacity: 0; transition: opacity 180ms ease; }
.mai-dashboard-lightbox[hidden] { display: none; }
.mai-dashboard-lightbox.is-open { opacity: 1; }
.mai-dashboard-lightbox__panel { position: relative; width: 100%; height: 100%; outline: 0; }
.mai-dashboard-lightbox__viewport { position: absolute; inset: 0; overflow: hidden; cursor: grab; touch-action: pinch-zoom; }
.mai-dashboard-lightbox__viewport.is-dragging { cursor: grabbing; }
.mai-dashboard-lightbox__stage { position: absolute; display: block; width: 0; height: 0; transform: translate3d(0, 0, 0) scale(1); transform-origin: center center; will-change: transform; }
.mai-dashboard-lightbox__image { display: block; width: 100%; max-width: none; height: 100%; max-height: none; object-fit: contain; border-radius: var(--mai-radius-control); user-select: none; }
.mai-dashboard-lightbox__toolbar { position: fixed; z-index: 3; top: max(16px, env(safe-area-inset-top)); left: 50%; display: flex; align-items: center; gap: 6px; padding: 6px; background: rgba(5, 5, 5, .9); border: 1px solid rgba(124, 255, 58, .38); border-radius: 10px; transform: translateX(-50%); }
.admin-bar .mai-dashboard-lightbox__toolbar { top: calc(32px + max(16px, env(safe-area-inset-top))); }
.mai-dashboard-lightbox__toolbar button { display: inline-grid; min-width: 44px; height: 44px; place-items: center; padding: 0 10px; background: #080b09; border: 1px solid rgba(124, 255, 58, .3); border-radius: 7px; color: var(--mai-primary); font: inherit; font-size: 12px; font-weight: 750; line-height: 1; cursor: pointer; }
.mai-dashboard-lightbox__toolbar button[aria-disabled="true"] { color: var(--mai-muted); cursor: not-allowed; opacity: .55; }
.mai-dashboard-lightbox__toolbar .mai-dashboard-lightbox__scale { min-width: 62px; font-variant-numeric: tabular-nums; }
.mai-dashboard-lightbox__toolbar .mai-dashboard-lightbox__close { font-size: 24px; }
.mai-dashboard-lightbox__drag-hint { position: fixed; z-index: 3; right: max(24px, env(safe-area-inset-right)); bottom: max(24px, env(safe-area-inset-bottom)); padding: 9px 14px; background: rgba(5, 10, 7, .72); border: 1px solid rgba(124, 255, 58, .48); border-radius: 18px; color: #fff; box-shadow: 0 8px 28px rgba(0, 0, 0, .28); font-size: 12px; line-height: 1.35; white-space: nowrap; opacity: 0; pointer-events: none; transform: translateZ(0); transition: opacity 220ms ease; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.mai-dashboard-lightbox__drag-hint.is-visible { opacity: 1; }
.mai-dashboard-lightbox__drag-hint-mobile { display: none; }
body.mai-lightbox-open { overflow: hidden; }
.mai-article-content iframe, .mai-article-content video, .mai-article-content embed, .mai-article-content object { max-width: 100%; }
.mai-article-content figcaption { margin-top: 8px; color: var(--mai-muted); font-size: 13px; line-height: 1.65; text-align: center; }
.mai-article-content table { width: 100%; min-width: 620px; border: 0; border-collapse: collapse; background: var(--mai-surface); color: var(--mai-text); font-size: 15px; }
.mai-article-content > table { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.mai-article-content .wp-block-table, .mai-article-content .scrollable-table { max-width: 100%; margin: 2em 0; overflow-x: auto; border: 1px solid var(--mai-border); border-radius: var(--mai-radius-control); -webkit-overflow-scrolling: touch; }
.mai-article-content th, .mai-article-content td { padding: 14px 16px; border: 1px solid var(--mai-border); text-align: left; }
.mai-article-content th { color: var(--mai-primary); font-weight: 750; }
.mai-article-content code { padding: .15em .4em; background: #151a1e; border: 1px solid var(--mai-border); border-radius: 5px; color: var(--mai-text); font-size: .88em; }
.mai-article-content pre { max-width: 100%; margin: 2em 0; padding: 22px; overflow-x: auto; background: #080a0b; border: 1px solid var(--mai-border); border-radius: var(--mai-radius-control); color: var(--mai-text); line-height: 1.7; -webkit-overflow-scrolling: touch; }
.mai-article-content pre code { padding: 0; background: transparent; border: 0; }
.mai-article-content hr { margin: 3em 0; border: 0; border-top: 1px solid var(--mai-border); }
.mai-article-pagination { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 48px; }

.mai-article-summary h2 { margin: 8px 0 20px; }
.mai-article-summary h3 { margin: 28px 0 10px; }
.mai-article-summary-lead { color: var(--mai-text) !important; font-size: 18px; line-height: 1.9; }
.mai-article-summary ul { margin: 0; padding-left: 1.4em; color: var(--mai-text); }
.mai-article-summary li { margin-block: 8px; }
.mai-article-summary li::marker { color: var(--mai-primary); }
.mai-article-summary .mai-analysis-focus { margin: 26px 0 0; }

.mai-article-market { border-block: 1px solid rgba(124, 255, 58, .08); }
.mai-article-market-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.mai-article-market-grid .mai-dashboard-card { display: flex; min-height: 150px; flex-direction: column; justify-content: space-between; gap: 18px; }
.mai-article-market-grid .mai-data-value { font-size: clamp(22px, 2vw, 34px); }

.mai-article-related-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.mai-article-related-media { display: flex; aspect-ratio: 16 / 10; align-items: center; justify-content: center; overflow: hidden; background: #0a0d0f; border-bottom: 1px solid var(--mai-border); color: var(--mai-primary) !important; font-size: 12px; font-weight: 800; letter-spacing: .18em; text-decoration: none; }
.mai-article-related-media img { width: 100%; height: 100%; object-fit: cover; }
.mai-article-related-body { display: flex; min-height: 238px; padding: 22px; flex-direction: column; align-items: flex-start; }
.mai-article-related-body h3 { display: -webkit-box; margin: 14px 0 10px; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.mai-article-related-body h3 a { text-decoration: none; }
.mai-article-related-body time { font-size: 12px; }

.mai-rakuten-select {
  padding-block: 72px;
  background: #080a0b;
  border-block: 1px solid rgba(39, 245, 163, .09);
}
.mai-rakuten-select__card {
  padding: 28px;
  overflow: hidden;
  border-radius: 16px;
}
.mai-rakuten-select__heading { margin-bottom: 24px; }
.mai-rakuten-select__heading .mai-title { margin: 8px 0 10px; }
.mai-rakuten-select__heading p {
  margin: 0;
  color: var(--mai-muted);
  font-size: 12px;
}
.mai-rakuten-widget {
  position: relative;
  left: 50%;
  align-items: center;
  justify-content: center;
  transform: translateX(-50%);
}
.mai-rakuten-widget--desktop {
  display: flex;
  width: 728px;
  min-height: 200px;
}
.mai-rakuten-widget--mobile {
  display: none;
  width: 320px;
  min-height: 48px;
}

/* Rakuten API card preview. Not wired into single.php until production cutover. */
.mai-rakuten-products {
  width: 100%;
  gap: 18px;
}
.mai-rakuten-products--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
/* Mid-content MARKET AI SELECT only (assets/js is not involved; the
   mai-rakuten-select--mid modifier class is added purely server-side, in
   inc/market-ai-rakuten-select.php, only to the mid-content copy of the
   rendered HTML). At >=1180px the mid copy sits inside the sidebar-narrowed
   .mai-article-main-column instead of the full-width column the bottom
   SELECT uses, so its 3-item grid is given 2 columns there instead of 3;
   the 3rd item naturally wraps to a second row, left-aligned, at its normal
   card width (default grid-auto-flow, no extra rule needed). Scoped to
   >=1180px specifically (the same breakpoint .mai-article-layout's grid
   itself uses below) because that is exactly where the sidebar narrows the
   main column; below it the mid copy is not narrowed and 3 columns already
   read fine, same as the bottom SELECT. Does not touch .mai-rakuten-select,
   .mai-rakuten-products, or .mai-rakuten-products--3 above, so the bottom
   SELECT (which never gets the --mid class) is completely unaffected. */
@media (min-width: 1180px) {
  .mai-rakuten-select--mid .mai-rakuten-products--3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.mai-rakuten-products--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 820px;
  margin-inline: auto;
}
.mai-rakuten-products--1 {
  grid-template-columns: minmax(0, 520px);
  justify-content: center;
}
.mai-rakuten-product {
  display: flex;
  min-width: 0;
  padding: 22px;
  flex-direction: column;
}
.mai-rakuten-product__image {
  display: flex;
  min-height: 160px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-bottom: 1px solid var(--mai-border);
  color: inherit;
}
.mai-rakuten-product__image img {
  width: 128px;
  height: 128px;
  object-fit: contain;
}
.mai-rakuten-product__body {
  display: flex;
  min-height: 250px;
  padding-top: 18px;
  flex: 1;
  flex-direction: column;
}
.mai-rakuten-product__body h3,
.mai-rakuten-product__body .mai-rakuten-product__title {
  display: -webkit-box;
  min-width: 0;
  margin: 0 0 14px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  color: var(--mai-text);
  font-size: 16px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
.mai-rakuten-product__review,
.mai-rakuten-product__shop {
  margin: 0 0 10px;
  color: var(--mai-muted);
  font-size: 12px;
}
.mai-rakuten-product__review { color: var(--mai-primary); }
.mai-rakuten-product__review span { color: var(--mai-muted); }
.mai-rakuten-product__price {
  margin: 0 0 10px;
  color: var(--mai-text);
  font-size: 24px;
  font-weight: 800;
  line-height: 1.2;
}
.mai-rakuten-product__cta {
  display: inline-flex;
  min-height: 42px;
  margin-top: auto;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--mai-primary);
  border-radius: var(--mai-radius-control);
  color: var(--mai-primary) !important;
  font-size: 13px;
  font-weight: 750;
  text-decoration: none;
}
.mai-rakuten-credit {
  width: 100%;
  margin: 16px auto 0;
  color: var(--mai-muted);
  font-size: 11px;
  text-align: right;
}
.mai-rakuten-products--2 + .mai-rakuten-credit { max-width: 820px; }
.mai-rakuten-products--1 + .mai-rakuten-credit { max-width: 520px; }
.mai-rakuten-credit a { color: var(--mai-muted) !important; }

@media (max-width: 767.98px) {
  .mai-rakuten-select { padding-block: 52px; }
  .mai-rakuten-select__card { padding: 22px 18px; }
  .mai-rakuten-select__heading { margin-bottom: 20px; }
  .mai-rakuten-widget--desktop { display: none; }
  .mai-rakuten-widget--mobile { display: flex; }
  .mai-rakuten-products,
  .mai-rakuten-products--1,
  .mai-rakuten-products--2,
  .mai-rakuten-products--3 { grid-template-columns: 1fr; max-width: none; gap: 14px; }
  .mai-rakuten-product { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 16px; padding: 16px; }
  .mai-rakuten-product__image { min-height: 112px; border: 0; }
  .mai-rakuten-product__image img { width: 112px; height: 112px; }
  .mai-rakuten-product__body { min-height: 0; padding-top: 0; }
  .mai-rakuten-product__body h3, .mai-rakuten-product__body .mai-rakuten-product__title { -webkit-line-clamp: 3; font-size: 14px; }
  .mai-rakuten-product__price { font-size: 20px; }
  .mai-rakuten-product__cta { min-height: 38px; margin-top: 8px; }
  .mai-rakuten-credit { max-width: none; text-align: left; }
}
.mai-article-readmore { margin-top: auto; padding-top: 18px; color: var(--mai-primary) !important; font-size: 13px; font-weight: 750; text-decoration: none; }
.mai-article-readmore::after { content: " →"; }
.mai-article-empty { grid-column: 1 / -1; }
.mai-article-empty p { margin: 0; }

.mai-article-cta { padding-top: 64px; }
.mai-article-cta > .mai-container { display: grid; grid-template-columns: minmax(0, .9fr) minmax(560px, 1.1fr); gap: 48px; align-items: center; }
.mai-article-cta h2 { margin: 8px 0; }
.mai-article-cta p { margin: 0; }
.mai-article-cta-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }

.mai-article-footer-grid { display: grid; grid-template-columns: 1fr auto 1.3fr; gap: 48px; align-items: start; padding: 64px 32px; }
.mai-article-footer-grid strong { font-size: 22px; }
.mai-article-footer-grid p { margin: 8px 0 0; }
.mai-article-footer-grid nav { display: grid; grid-template-columns: repeat(2, auto); gap: 10px 28px; }
.mai-article-footer-grid a { text-decoration: none; }

@media (max-width: 1100px) {
  .mai-html-dashboard__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .mai-html-dashboard__card { grid-column: span 3; }
  .mai-html-dashboard__card--wide, .mai-html-dashboard__card[data-dashboard-key="investment-points"] { grid-column: 1 / -1; }
  .mai-html-dashboard__card--feature, .mai-html-dashboard__card[data-dashboard-key="fx-rates"], .mai-html-dashboard__card[data-dashboard-key="ai-alert"], .mai-html-dashboard__card[data-dashboard-key="money-flow"] { grid-column: span 3; }
  .mai-article-snapshot-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mai-article-market-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mai-article-cta > .mai-container { grid-template-columns: 1fr; }
  .mai-article-footer-grid { grid-template-columns: 1fr 1fr; }
  .mai-article-footer-grid > p { grid-column: 1 / -1; }
  .mai-html-dashboard__card[data-dashboard-key="market-score"] { grid-column: 1 / -1; }
  .mai-html-dashboard__card:is([data-dashboard-key="japan-market"], [data-dashboard-key="us-market"]) { grid-column: span 3; }
  .mai-html-dashboard__card[data-dashboard-key="indexes-sectors"] { grid-column: 1 / -1; }
  .mai-html-dashboard__card:is([data-dashboard-key="vix"], [data-dashboard-key="fx-rates"], [data-dashboard-key="ai-confidence"], [data-dashboard-key="market-temperature"]) { grid-column: span 3; }
  .mai-html-dashboard__card:is([data-dashboard-key="trend"], [data-dashboard-key="important-news"]) { grid-column: 1 / -1; }
}

@media (max-width: 820px) {
  .market-ai-article .mai-container { padding-inline: 22px; }
  .market-ai-article .mai-article-reading-column { max-width: 100%; }
  .mai-article-header { padding-top: 32px; padding-bottom: 32px; }
  .mai-article-header h1 { font-size: clamp(34px, 4.8vw, 42px); }
  .mai-html-dashboard__card { min-height: 164px; padding: 20px; }
  .mai-html-dashboard__card strong { font-size: clamp(24px, 4.5vw, 34px); }
  .mai-html-dashboard__gauge { width: 116px; transform: scale(1.18); }
  .mai-html-dashboard__card[data-dashboard-key="market-score"] .mai-html-dashboard__gauge { transform: scale(1.26); }
  .mai-article-body { padding-block: 58px; }
  .mai-article-content { font-size: 17px; line-height: 1.9; }
  .mai-article-snapshot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mai-article-market-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mai-article-related-grid { grid-template-columns: 1fr; }
  .mai-article-related-body { min-height: 220px; }
  .mai-article-footer-grid { padding-inline: 22px; }
}

@media (min-width: 561px) and (max-width: 782px) {
  .admin-bar .mai-dashboard-lightbox__toolbar { top: calc(46px + max(16px, env(safe-area-inset-top))); }
}

/* Detail Dashboard final five cards: two balanced rows plus one full-width row. */
.mai-html-dashboard__card:is(
  [data-dashboard-key="economic-calendar"],
  [data-dashboard-key="fx-rates"],
  [data-dashboard-key="ai-alert"],
  [data-dashboard-key="money-flow"]
) {
  grid-column: span 6;
  min-height: 210px;
  padding: 22px;
}
.mai-html-dashboard__card[data-dashboard-key="economic-calendar"] { order: 11; }
.mai-html-dashboard__card[data-dashboard-key="fx-rates"] { order: 12; }
.mai-html-dashboard__card[data-dashboard-key="ai-alert"] { order: 13; }
.mai-html-dashboard__card[data-dashboard-key="money-flow"] { order: 14; }
.mai-html-dashboard__card[data-dashboard-key="investment-points"] {
  order: 15;
  grid-column: 1 / -1;
  min-height: 210px;
  padding: 22px;
}
.mai-dashboard-availability {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid rgba(124, 255, 58, .1);
}
.mai-dashboard-monitor-list {
  display: grid;
  gap: 0;
  margin: 14px 0 0;
}
.mai-dashboard-monitor-list > div {
  display: grid;
  grid-template-columns: minmax(110px, 1fr) auto;
  gap: 16px;
  padding: 10px 0;
  border-top: 1px solid rgba(124, 255, 58, .1);
}
.mai-dashboard-monitor-list dt,
.mai-dashboard-monitor-list dd { margin: 0; }
.mai-dashboard-monitor-list dt { color: var(--mai-muted); }
.mai-dashboard-monitor-list dd {
  color: var(--mai-text);
  font-weight: 750;
  font-variant-numeric: tabular-nums;
  text-align: right;
}
.mai-dashboard-source-note {
  margin: auto 0 0;
  padding-top: 12px;
  color: var(--mai-muted);
  font-size: 11px;
}

@media (max-width: 560px) {
  .market-ai-article .mai-container { padding-inline: 16px; }
  .mai-article-header { padding-top: 24px; padding-bottom: 28px; }
  .mai-article-header h1 { margin-block: 12px 16px; font-size: clamp(28px, 8vw, 34px); line-height: 1.25; }
  .mai-html-dashboard__header { display: block; margin-bottom: 20px; }
  .mai-html-dashboard__timestamp { width: fit-content; min-width: 0; margin-top: 14px; }
  .mai-html-dashboard__gauge { width: 108px; transform: scale(1.1); }
  .mai-html-dashboard__status-row { align-items: flex-start; flex-direction: column; }
  .mai-html-dashboard__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .mai-html-dashboard__card, .mai-html-dashboard__card--wide, .mai-html-dashboard__card--feature, .mai-html-dashboard__card[data-dashboard-key="trend"], .mai-html-dashboard__card[data-dashboard-key="japan-market"], .mai-html-dashboard__card[data-dashboard-key="us-market"], .mai-html-dashboard__card[data-dashboard-key="important-news"], .mai-html-dashboard__card[data-dashboard-key="indexes-sectors"], .mai-html-dashboard__card[data-dashboard-key="economic-calendar"], .mai-html-dashboard__card[data-dashboard-key="fx-rates"], .mai-html-dashboard__card[data-dashboard-key="ai-alert"], .mai-html-dashboard__card[data-dashboard-key="money-flow"], .mai-html-dashboard__card[data-dashboard-key="investment-points"] { grid-column: 1; min-height: 0; padding: 18px; }
  .mai-html-dashboard__card h3 { margin-bottom: 16px; }
  .mai-html-dashboard__card strong { font-size: clamp(25px, 9vw, 34px); }
  .mai-html-dashboard__card--metric { min-height: 0; }
  .mai-html-dashboard__card[data-dashboard-key="market-score"], .mai-html-dashboard__card[data-dashboard-key="japan-market"], .mai-html-dashboard__card[data-dashboard-key="us-market"], .mai-html-dashboard__card[data-dashboard-key="indexes-sectors"], .mai-html-dashboard__card[data-dashboard-key="trend"], .mai-html-dashboard__card[data-dashboard-key="important-news"], .mai-html-dashboard__card[data-dashboard-key="economic-calendar"], .mai-html-dashboard__card[data-dashboard-key="ai-alert"], .mai-html-dashboard__card[data-dashboard-key="money-flow"], .mai-html-dashboard__card[data-dashboard-key="investment-points"] { grid-column: 1 / -1; }
  .mai-html-dashboard__card:is([data-dashboard-key="vix"], [data-dashboard-key="fx-rates"], [data-dashboard-key="ai-confidence"], [data-dashboard-key="market-temperature"]) { grid-column: span 1; min-height: 158px; padding: 15px; }
  .mai-html-dashboard__card[data-dashboard-key="indexes-sectors"] .mai-html-dashboard__index-list { grid-template-columns: 1fr; }
  .mai-html-dashboard__card[data-dashboard-key="market-score"] .mai-html-dashboard__gauge { transform: scale(1.26); }
  .mai-html-dashboard__card:is([data-dashboard-key="vix"], [data-dashboard-key="fx-rates"], [data-dashboard-key="ai-confidence"], [data-dashboard-key="market-temperature"]) .mai-html-dashboard__metric-value { font-size: clamp(23px, 8vw, 31px); }
  .mai-html-dashboard__card:is([data-dashboard-key="vix"], [data-dashboard-key="fx-rates"], [data-dashboard-key="ai-confidence"], [data-dashboard-key="market-temperature"]) .mai-html-dashboard__status-row { align-items: center; }
  .mai-article-meta { gap: 7px 18px; font-size: 12px; }
  .mai-article-meta > * + *::before { left: -10px; }
  .mai-article-section-heading { margin-bottom: 28px; }
  .mai-article-snapshot { padding-top: 32px; padding-bottom: 52px; }
  .mai-article-snapshot-grid, .mai-article-market-grid { gap: 10px; }
  .mai-article-snapshot-grid .mai-dashboard-card, .mai-article-market-grid .mai-dashboard-card { min-height: 142px; padding: 16px; }
  .mai-article-snapshot-grid .mai-data-value, .mai-article-market-grid .mai-data-value { font-size: clamp(19px, 6vw, 27px); }
  .mai-article-body { padding-block: 48px; }
  .mai-article-content { font-size: 17px; }
  .mai-article-content :is(figure.mai-dashboard-image, figure[data-market-ai-dashboard], .mai-dashboard-image-frame:has(img.mai-dashboard-image), .mai-dashboard-image-frame:has(img[data-market-ai-dashboard])) { width: 100%; max-width: 100%; margin-left: 0; margin-right: 0; transform: none; }
  .mai-dashboard-image-trigger { top: 8px; right: 8px; width: 38px; min-height: 34px; padding-inline: 8px; font-size: 0; }
  .mai-dashboard-image-trigger::before { content: "⤢"; font-size: 18px; line-height: 1; }
  .mai-dashboard-lightbox { padding: 0; }
  .mai-dashboard-lightbox__toolbar { top: auto; bottom: max(8px, env(safe-area-inset-bottom)); width: calc(100% - 16px); max-width: 304px; grid-template-columns: 40px 48px 40px 40px 44px 40px; gap: 4px; padding: 6px; }
  .mai-dashboard-lightbox__toolbar { display: grid; }
  .mai-dashboard-lightbox__toolbar button, .mai-dashboard-lightbox__toolbar .mai-dashboard-lightbox__scale { width: 100%; min-width: 0; height: 44px; padding: 0 4px; font-size: 10px; }
  .mai-dashboard-lightbox__toolbar .mai-dashboard-lightbox__close { font-size: 22px; }
  .mai-dashboard-lightbox__drag-hint { right: auto; bottom: calc(max(8px, env(safe-area-inset-bottom)) + 62px); left: 50%; padding: 8px 12px; transform: translateX(-50%); }
  .mai-dashboard-lightbox__drag-hint-pc { display: none; }
  .mai-dashboard-lightbox__drag-hint-mobile { display: inline; }
  .admin-bar .mai-dashboard-lightbox__toolbar { top: auto; }
  .mai-article-content h2 { margin-top: 2.2em; font-size: 27px; }
  .mai-article-content h3 { font-size: 22px; }
  .mai-article-content blockquote { padding: 18px; }
  .mai-article-summary-lead { font-size: 17px; }
  .mai-article-cta { padding-top: 48px; }
  .mai-article-cta > .mai-container { gap: 28px; }
  .mai-article-cta-grid { grid-template-columns: 1fr; }
  .mai-article-footer-grid { grid-template-columns: 1fr; gap: 28px; padding: 48px 16px; }
  .mai-article-footer-grid > p { grid-column: auto; }
}

@media (max-width: 360px) {
  .mai-html-dashboard__card .mai-html-dashboard__index-row { grid-template-columns: minmax(0, 1fr) auto; }
  .mai-html-dashboard__index-change { grid-column: 2; }
  .mai-article-snapshot-grid .mai-dashboard-card, .mai-article-market-grid .mai-dashboard-card { min-height: 134px; padding: 13px; }
  .mai-article-snapshot-grid .mai-data-value, .mai-article-market-grid .mai-data-value { font-size: 20px; }
  .mai-article-snapshot-grid .mai-data-meta { font-size: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .mai-article-content { scroll-behavior: auto; }
  .mai-dashboard-lightbox { transition: none; }
  .mai-dashboard-lightbox__drag-hint { transition: none; }
  .mai-html-dashboard__live-dot { animation: none; }
}

/* Market AI Article premium editorial layer. Scoped to standard post pages. */
.market-ai-article-page {
  --mai-article-bg: #050706;
  --mai-article-bg-soft: #080b09;
  --mai-article-panel: #101619;
  --mai-article-panel-soft: #0d1214;
  --mai-article-border: #214126;
  --mai-article-border-soft: rgba(55, 120, 62, .45);
  --mai-article-green: #65ff42;
  --mai-article-green-soft: #2c8f35;
  --mai-article-text: #f3f5f4;
  --mai-article-text-sub: #9cb0bc;
  --mai-article-text-muted: #7d8b80;
  background: var(--mai-article-bg);
}

.market-ai-article-page #container,
.market-ai-article-page .market-ai-article { background: var(--mai-article-bg); }
.market-ai-article .mai-article-reading-column { max-width: 820px; }
.market-ai-article .mai-article-header .mai-article-reading-column { max-width: 1180px; }

.market-ai-article-page .mai-article-header {
  position: relative;
  isolation: isolate;
  padding-top: clamp(42px, 5vw, 72px);
  padding-bottom: clamp(46px, 5.5vw, 80px);
  overflow: hidden;
  background: radial-gradient(circle at 82% 18%, rgba(44, 143, 53, .1), transparent 38%), linear-gradient(180deg, #060a07, var(--mai-article-bg));
  border-bottom-color: rgba(101, 255, 66, .13);
}
.market-ai-article-page .mai-article-header::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: 0;
  bottom: 0;
  width: min(34vw, 440px);
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(101, 255, 66, .52));
}
.market-ai-article-page .mai-article-header .mai-badge {
  padding-inline: 13px;
  background: rgba(101, 255, 66, .08);
  border-color: rgba(101, 255, 66, .45);
  color: var(--mai-article-green) !important;
}
.market-ai-article-page .mai-article-header h1 {
  width: 100%;
  max-width: 100%;
  margin: 18px 0 22px;
  color: var(--mai-article-text);
  font-size: clamp(34px, 4vw, 56px);
  line-height: 1.22;
  letter-spacing: -.03em;
  overflow: visible;
  overflow-wrap: break-word;
  word-break: normal;
  line-break: strict;
  text-wrap: pretty;
}
.market-ai-article-page .mai-article-meta { color: var(--mai-article-text-sub); font-variant-numeric: tabular-nums; }
.market-ai-article-page .mai-article-meta > * + *::before { background: rgba(101, 255, 66, .72); }
.market-ai-article-page .mai-article-share-reserve { border-color: var(--mai-article-border-soft); background: rgba(13, 18, 20, .58); }
.mai-article-hero-media {
  position: relative;
  width: min(1400px, calc(100vw - 48px));
  max-width: none;
  margin: clamp(28px, 4vw, 48px) 0 0 50%;
  transform: translateX(-50%);
  overflow: hidden;
  background: var(--mai-article-panel);
  border: 1px solid var(--mai-article-border-soft);
  border-radius: 20px;
}
.mai-article-hero-media::after {
  content: "";
  position: absolute;
  right: 24px;
  bottom: 0;
  width: 72px;
  height: 2px;
  background: var(--mai-article-green);
  opacity: .72;
}
.mai-article-hero-image { display: block; width: 100%; max-width: 100%; height: auto; margin: 0; border: 0; border-radius: 0; object-fit: contain; }
.mai-article-hero-media.mai-dashboard-image-frame { max-width: none; transition: border-color 180ms ease; }
.mai-article-hero-media.mai-dashboard-image-frame:focus-within { border-color: rgba(101, 255, 66, .65); }
.mai-article-hero-media .mai-article-dashboard-image[data-mai-dashboard-lightbox] { cursor: zoom-in; }
.mai-dashboard-lightbox__image { border: 1px solid rgba(101, 255, 66, .45); }
.mai-dashboard-lightbox__close {
  position: fixed;
  top: max(16px, env(safe-area-inset-top));
  right: max(16px, env(safe-area-inset-right));
  z-index: 4;
}
.admin-bar .mai-dashboard-lightbox__close { top: calc(32px + max(16px, env(safe-area-inset-top))); }
@media (hover: hover) and (pointer: fine) {
  .mai-article-hero-media.mai-dashboard-image-frame:hover { border-color: rgba(101, 255, 66, .65); }
  .mai-dashboard-lightbox__close:hover { color: #f3f5f4; border-color: rgba(101, 255, 66, .65); }
}
.mai-article-dashboard-published-note {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 4px 10px;
  padding: 14px 20px 16px;
  color: var(--mai-article-text-sub);
  font-size: clamp(12px, 1.1vw, 14px);
  line-height: 1.65;
  text-align: center;
}
.mai-article-dashboard-published-note span:first-child { color: var(--mai-article-text); }
.mai-article-dashboard-published-note time { color: var(--mai-article-green); font-variant-numeric: tabular-nums; white-space: nowrap; }

@media (min-width: 561px) and (max-width: 1100px) {
  .mai-article-hero-media { width: min(110%, calc(100vw - 40px)); }
}

.market-ai-article-page .mai-article-summary-section { padding-block: clamp(52px, 6vw, 80px); }
.market-ai-article-page .mai-article-summary {
  padding: clamp(22px, 3vw, 32px);
  background: linear-gradient(145deg, var(--mai-article-panel), var(--mai-article-panel-soft));
  border-color: var(--mai-article-border-soft);
}
.market-ai-article-page .mai-article-summary::after {
  right: auto;
  bottom: 24px;
  left: 0;
  width: 3px;
  height: calc(100% - 48px);
  background: var(--mai-article-green);
  border: 0;
  opacity: .72;
}

.market-ai-article-page .mai-article-body { background: var(--mai-article-bg); }
.market-ai-article-page .mai-article-content {
  color: var(--mai-article-text);
  font-size: 17px;
  line-height: 1.8;
  overflow-wrap: break-word;
}
.market-ai-article-page .mai-article-content p { margin: 0 0 1.6em; color: var(--mai-article-text); }
.market-ai-article-page .mai-article-content h2 {
  margin: 2.7em 0 1.05em;
  padding: 0 0 0 18px;
  background: transparent;
  border: 0;
  border-left: 3px solid var(--mai-article-green);
  color: var(--mai-article-text);
  font-size: clamp(26px, 3vw, 36px);
  line-height: 1.35;
  letter-spacing: -.025em;
}
.market-ai-article-page .mai-article-content h3 {
  margin: 2.25em 0 .9em;
  padding: 0 0 10px;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--mai-article-border-soft);
  color: var(--mai-article-text);
  font-size: clamp(21px, 2.3vw, 28px);
  line-height: 1.45;
}
.market-ai-article-page .mai-article-content h4 {
  margin: 2em 0 .75em;
  color: var(--mai-article-text);
  font-size: 19px;
  line-height: 1.5;
}
.market-ai-article-page .mai-article-content :is(ul, ol) { margin: 0 0 1.7em; padding-left: 1.4em; line-height: 1.8; }
.market-ai-article-page .mai-article-content li + li { margin-top: .45em; }
.market-ai-article-page .mai-article-content li::marker { color: var(--mai-article-text-sub); }
.market-ai-article-page .mai-article-content blockquote {
  margin: 2em 0;
  padding: 20px 24px;
  background: rgba(255, 255, 255, .025);
  border: 0;
  border-left: 3px solid var(--mai-article-green-soft);
  color: var(--mai-article-text-sub);
  border-radius: 0 12px 12px 0;
}
.market-ai-article-page .mai-article-content blockquote :last-child { margin-bottom: 0; }
.market-ai-article-page .mai-article-content :where(.information-box, .memo-box, .question-box, .blank-box, .box-m) {
  background: rgba(22, 57, 27, .22);
  border-color: var(--mai-article-border-soft);
  color: var(--mai-article-text);
}
.market-ai-article-page .mai-article-content :where(.alert-box, .warning-box) { background: rgba(255, 200, 87, .055); border-color: rgba(255, 200, 87, .46); }

.market-ai-article-page .mai-article-content :where(.toc, .toc-widget-box) {
  margin: 2.4em 0;
  padding: clamp(20px, 3vw, 28px);
  background: var(--mai-article-panel-soft);
  border: 1px solid var(--mai-article-border-soft);
  border-radius: 16px;
  box-shadow: none;
}
.market-ai-article-page .mai-article-content :where(.toc-title, .toc-widget-box .widget-title) { color: var(--mai-article-text); font-weight: 750; letter-spacing: .04em; }
.market-ai-article-page .mai-article-content .toc a { color: var(--mai-article-text-sub); text-decoration: none; }
.market-ai-article-page .mai-article-content .toc li { line-height: 1.75; }
.market-ai-article-page .mai-article-content .toc li::marker { color: rgba(101, 255, 66, .64); }

.market-ai-article-page .mai-article-content :where(.wp-block-table, .table-scroll) { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.market-ai-article-page .mai-article-content table {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 2em 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-collapse: collapse;
  border: 1px solid var(--mai-article-border-soft);
  color: var(--mai-article-text);
  font-size: 15px;
}
.market-ai-article-page .mai-article-content :is(th, td) { min-width: 7em; padding: 12px 14px; border: 1px solid rgba(55, 120, 62, .32); }
.market-ai-article-page .mai-article-content th { background: #112418; color: var(--mai-article-text); font-weight: 750; }
.market-ai-article-page .mai-article-content tbody tr:nth-child(even) { background: rgba(255, 255, 255, .018); }

.market-ai-article-page .mai-article-content figure:not(.mai-dashboard-image) img,
.market-ai-article-page .mai-article-content > img {
  max-width: 100%;
  height: auto;
  border: 1px solid var(--mai-article-border-soft);
  border-radius: 14px;
}
.market-ai-article-page .mai-article-content figcaption,
.market-ai-article-page .mai-article-content .wp-caption-text { margin-top: 9px; color: var(--mai-article-text-sub); font-size: 13px; line-height: 1.65; }
.market-ai-article-page .mai-article-content a:not(.mai-button) { color: #8dff70; text-decoration-thickness: 1px; text-underline-offset: 3px; }

.market-ai-article-page .mai-article-related-grid { align-items: stretch; }
.market-ai-article-page .mai-article-card { background: linear-gradient(145deg, var(--mai-article-panel), var(--mai-article-panel-soft)); border-color: var(--mai-article-border-soft); }
.market-ai-article-page .mai-article-related-media { border-bottom-color: var(--mai-article-border-soft); }
.market-ai-article-page .mai-article-related-body h3 { min-height: 4.35em; max-height: 4.35em; line-height: 1.45; -webkit-line-clamp: 3; }
.market-ai-article-page .mai-article-disclaimer {
  display: flex;
  margin: 0;
  padding: 18px 20px;
  flex-direction: column;
  gap: 7px;
  background: rgba(255, 200, 87, .045);
  border: 1px solid rgba(255, 200, 87, .36);
  border-radius: 14px;
  color: var(--mai-article-text-sub);
}
.market-ai-article-page .mai-article-disclaimer strong { color: #e6c776; font-size: 13px; letter-spacing: .04em; }
.market-ai-article-page .mai-article-disclaimer span { color: var(--mai-article-text-sub); line-height: 1.75; }

@media (hover: hover) and (pointer: fine) {
  .market-ai-article-page .mai-article-content a:not(.mai-button):hover,
  .market-ai-article-page .mai-article-content .toc a:hover { color: var(--mai-article-green); }
}

@media (min-width: 561px) and (max-width: 820px) {
  .market-ai-article-page .mai-article-header h1 { font-size: clamp(34px, 4.8vw, 42px); }
  .market-ai-article-page .mai-article-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .market-ai-article-page .mai-article-header { padding-top: 32px; padding-bottom: 42px; }
  .market-ai-article-page .mai-article-header h1 { font-size: clamp(28px, 8vw, 38px); line-height: 1.26; }
  .market-ai-article-page .mai-article-content { font-size: 16px; line-height: 1.8; }
  .market-ai-article-page .mai-article-content h2 { margin-top: 2.35em; font-size: clamp(25px, 7vw, 30px); }
  .market-ai-article-page .mai-article-content h3 { font-size: clamp(21px, 6vw, 25px); }
  .mai-article-hero-media { width: 100%; max-width: 100%; margin: 28px 0 0; transform: none; border-radius: 14px; }
  .mai-article-dashboard-published-note { display: block; padding: 12px 14px 14px; }
  .mai-article-dashboard-published-note span, .mai-article-dashboard-published-note time { display: block; }
  .market-ai-article-page .mai-article-related-grid { grid-template-columns: 1fr; }
  .market-ai-article-page .mai-article-disclaimer { padding: 16px; }
}

/* Article breadcrumb and adjacent-post navigation. */
.market-ai-article-page .mai-article-share-reserve[hidden] { display: none !important; }
.market-ai-article-page .mai-article-breadcrumb { padding-top: 22px; padding-bottom: 4px; }
.market-ai-article-page .mai-article-breadcrumb ol { display: flex; min-width: 0; margin: 0; padding: 0; align-items: center; flex-wrap: wrap; gap: 6px 10px; list-style: none; }
.market-ai-article-page .mai-article-breadcrumb li { display: inline-flex; min-width: 0; align-items: center; color: var(--mai-article-text-muted); font-size: 13px; line-height: 1.6; }
.market-ai-article-page .mai-article-breadcrumb li + li::before { content: "/"; margin-right: 10px; color: rgba(101, 255, 66, .38); }
.market-ai-article-page .mai-article-breadcrumb a { color: var(--mai-article-text-muted); text-decoration: none; }
.market-ai-article-page .mai-article-breadcrumb [aria-current="page"] { max-width: min(48em, 100%); color: var(--mai-article-text-sub); }
.market-ai-article-page .mai-article-breadcrumb [aria-current="page"] span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.market-ai-article-page .mai-post-navigation { padding-top: 0; }
.market-ai-article-page .mai-post-navigation__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; padding-inline: 32px; }
.market-ai-article-page .mai-post-navigation__link { display: flex; min-height: 150px; flex-direction: column; justify-content: center; gap: 12px; background: linear-gradient(145deg, var(--mai-article-panel), var(--mai-article-panel-soft)); border-color: var(--mai-article-border-soft); text-decoration: none; }
.market-ai-article-page .mai-post-navigation__link--next { grid-column: 2; text-align: right; }
.market-ai-article-page .mai-post-navigation__label { color: var(--mai-article-green); font-size: 11px; font-weight: 750; letter-spacing: .08em; }
.market-ai-article-page .mai-post-navigation__link strong { display: -webkit-box; margin: 0; overflow: hidden; color: var(--mai-article-text); font-size: 17px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
@media (hover: hover) and (pointer: fine) { .market-ai-article-page .mai-article-breadcrumb a:hover { color: var(--mai-article-green); } }
@media (max-width: 820px) { .market-ai-article-page .mai-post-navigation__grid { padding-inline: 22px; } }
@media (max-width: 560px) {
  .market-ai-article-page .mai-article-breadcrumb { padding-top: 16px; }
  .market-ai-article-page .mai-article-breadcrumb [aria-current="page"] { max-width: 100%; }
  .market-ai-article-page .mai-post-navigation__grid { grid-template-columns: 1fr; gap: 12px; padding-inline: 16px; }
  .market-ai-article-page .mai-post-navigation__link--next { grid-column: 1; text-align: left; }
  .market-ai-article-page .mai-post-navigation__link { min-height: 132px; }
}

/* NOTE (UI fix round): the old "Wider editorial reading column" 1000px rule that
   used to live here was dead code — it targeted the exact same selectors as the
   later "Final article width alignment" block below (same specificity), and the
   later rule always won by source order. Removed to avoid confusion; the later
   block (search "Final article width alignment") is the single source of truth
   for .mai-article-body/.mai-article-summary-section reading-column width. */

/* Shared article rail: enabled only for the four Market AI/report categories. */
.market-ai-article-page .mai-article-layout,
.market-ai-article-page .mai-article-main-column { min-width: 0; }
.market-ai-article-page .mai-article-sidebar { display: none; }

@media (min-width: 1180px) {
  .market-ai-article-page .market-ai-article { overflow: visible; }
  .market-ai-article-page .mai-article-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 340px);
    align-items: start;
    gap: clamp(30px, 3vw, 48px);
  }

  .market-ai-article-page .mai-article-sidebar { display: block; min-width: 0; align-self: stretch; }
  .market-ai-article-page .mai-article-sidebar__sticky {
    /* UI fix: no max-height / overflow-y here anymore — the sidebar no longer
       scrolls internally. It still sticks at `top` while the page scrolls, and
       once the grid row's height is exhausted it scrolls away with the page,
       same as ordinary sticky content. Page scroll is the only scroll. */
    position: sticky;
    top: 24px;
  }
  /* WordPress admin bar is fixed at 32px on desktop widths (this breakpoint never overlaps
     the admin bar's own <=782px 46px-height mode), so logged-in editors need the sticky
     offset pushed below it to avoid the sidebar tucking under the bar on scroll. */
  .admin-bar.market-ai-article-page .mai-article-sidebar__sticky {
    top: calc(24px + 32px);
  }
  .market-ai-article-page .mai-article-sidebar__card {
    padding: 22px;
    background: linear-gradient(145deg, var(--mai-article-panel), var(--mai-article-panel-soft));
    border: 1px solid var(--mai-article-border-soft);
    border-radius: 16px;
    box-shadow: 0 18px 50px rgba(0, 0, 0, .18);
  }
  .market-ai-article-page .mai-article-sidebar__card + .mai-article-sidebar__card { margin-top: 18px; }
  .market-ai-article-page .mai-article-sidebar__card h2 {
    margin: 7px 0 16px;
    color: var(--mai-article-text);
    font-size: 19px;
    line-height: 1.4;
  }
  /* UI fix: neutralize any inherited heading "chip"/box decoration (background,
     padding, border) so the TOC heading is plain text directly under CONTENTS,
     with no leftover white box or reserved space. */
  .market-ai-article-page .mai-article-sidebar__toc h2 {
    background: none;
    padding: 0;
    border: 0;
    box-shadow: none;
    border-radius: 0;
    min-height: 0;
  }
  .market-ai-article-page .mai-article-sidebar__toc-list {
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: mai-sidebar-toc;
  }
  .market-ai-article-page .mai-article-sidebar__toc-list li { counter-increment: mai-sidebar-toc; }
  .market-ai-article-page .mai-article-sidebar__toc-list a {
    display: grid;
    grid-template-columns: 25px minmax(0, 1fr);
    gap: 8px;
    align-items: start;
    padding: 8px 9px;
    border-left: 2px solid transparent;
    border-radius: 7px;
    color: var(--mai-article-text-sub);
    font-size: 13px;
    line-height: 1.55;
    text-decoration: none;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
  }
  .market-ai-article-page .mai-article-sidebar__toc-list a::before {
    content: counter(mai-sidebar-toc, decimal-leading-zero);
    color: var(--mai-article-green-soft);
    font-variant-numeric: tabular-nums;
  }
  .market-ai-article-page .mai-article-sidebar__toc-list a:is(:hover, :focus-visible),
  .market-ai-article-page .mai-article-sidebar__toc-list a.is-active {
    background: rgba(39, 245, 163, .09);
    border-left-color: var(--mai-article-green);
    color: var(--mai-article-green);
  }
  .market-ai-article-page .mai-article-sidebar__toc-list a.is-active::before { color: var(--mai-article-green); }
  .market-ai-article-page .mai-article-sidebar__market dl { margin: 12px 0 0; }
  .market-ai-article-page .mai-article-sidebar__market dl > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: baseline;
    padding: 9px 0;
    border-bottom: 1px solid var(--mai-article-border-soft);
  }
  .market-ai-article-page .mai-article-sidebar__market dl > div:last-child { border-bottom: 0; }
  .market-ai-article-page .mai-article-sidebar__market dt { color: var(--mai-article-text-sub); font-size: 12px; }
  .market-ai-article-page .mai-article-sidebar__market dd {
    margin: 0;
    color: var(--mai-article-text);
    font-size: 13px;
    font-weight: 750;
    text-align: right;
    overflow-wrap: anywhere;
  }

  /* Keep Cocoon's TOC intact for mobile; suppress only the desktop duplicate. */
  .market-ai-article-page .mai-article-layout .mai-article-content :where(.toc, .toc-widget-box) { display: none; }
  .market-ai-article-page .mai-article-content h2 { scroll-margin-top: 40px; }
}

@media (prefers-reduced-motion: reduce) {
  .market-ai-article-page .mai-article-sidebar__toc-list a { transition: none; }
}


/* Semantic article headings generated by WordPress Post Builder.
   Keep legacy h3/h4 article markup untouched while new h2/h3 markup retains
   the same visual hierarchy. */
.market-ai-article-page .mai-article-content h2.mai-article-heading--section {
  margin: 1.9em 0 .75em;
  padding: 0 0 10px;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--mai-article-border-soft);
  color: var(--mai-article-text);
  font-size: clamp(21px, 2.3vw, 28px);
  line-height: 1.45;
  font-weight: 750;
  letter-spacing: -.025em;
  scroll-margin-top: 32px;
}

.market-ai-article-page .mai-article-content h3.mai-article-heading--subsection {
  margin: 1.7em 0 .75em;
  padding: 7px 0;
  background: transparent;
  border: 0;
  color: var(--mai-article-text);
  font-size: 19px;
  line-height: 1.5;
  font-weight: 750;
  letter-spacing: -.025em;
  scroll-margin-top: 32px;
}

.market-ai-article-page
.mai-article-content
> figure.market-ai-dashboard-image:first-child
+ h2.mai-article-heading--section {
  margin-top: 0;
}

@media (max-width: 560px) {
  .market-ai-article-page .mai-article-content h2.mai-article-heading--section {
    margin-top: 2em;
    margin-bottom: .8em;
    font-size: clamp(21px, 6vw, 25px);
  }

  .market-ai-article-page .mai-article-content h3.mai-article-heading--subsection {
    margin-top: 1.8em;
    padding-block: 8px;
    font-size: 19px;
  }
}

/* Final article vertical rhythm: article pages only. */
.market-ai-article-page .mai-article-body {
  margin-bottom: 0;
}

.market-ai-article-page .mai-article-content p {
  margin-bottom: 1.05em;
}

.market-ai-article-page .mai-article-content h3 {
  margin-top: 1.9em;
  margin-bottom: .75em;
}

.market-ai-article-page .mai-article-content h4 {
  margin-top: 1.7em;
  padding-block: 7px;
}

.market-ai-article-page .mai-article-content hr {
  margin-block: 2.25em;
}

.market-ai-article-page .mai-article-content > figure.market-ai-dashboard-image:first-child + h3 {
  margin-top: 0;
}

@media (min-width: 821px) {
  .market-ai-article-page .mai-html-dashboard {
    padding-block: 80px;
  }

  .market-ai-article-page .mai-article-body {
    padding-block: 56px;
  }

  .market-ai-article-page .mai-article-market,
  .market-ai-article-page section[aria-labelledby="mai-related-title"] {
    padding-block: 72px;
  }

  .market-ai-article-page .mai-post-navigation {
    padding-bottom: 64px;
  }

  .market-ai-article-page .mai-article-cta {
    padding-top: 48px;
    padding-bottom: 72px;
  }
}

@media (min-width: 561px) and (max-width: 820px) {
  .market-ai-article-page .mai-html-dashboard {
    padding-block: 64px;
  }

  .market-ai-article-page .mai-article-body {
    padding-block: 48px;
  }

  .market-ai-article-page .mai-article-market,
  .market-ai-article-page section[aria-labelledby="mai-related-title"] {
    padding-block: 64px;
  }

  .market-ai-article-page .mai-post-navigation {
    padding-bottom: 56px;
  }

  .market-ai-article-page .mai-article-cta {
    padding-top: 48px;
    padding-bottom: 56px;
  }
}

@media (max-width: 560px) {
  .market-ai-article-page .mai-article-content p {
    margin-bottom: 1.05em;
  }

  .market-ai-article-page .mai-article-content h3 {
    margin-top: 2em;
    margin-bottom: .8em;
  }

  .market-ai-article-page .mai-article-content h4 {
    margin-top: 1.8em;
    padding-block: 8px;
  }

  .market-ai-article-page .mai-article-content hr {
    margin-block: 2.5em;
  }

  .market-ai-article-page .mai-html-dashboard {
    padding-block: 52px;
  }

  .market-ai-article-page .mai-article-body {
    padding-block: 40px;
  }

  .market-ai-article-page .mai-article-market,
  .market-ai-article-page section[aria-labelledby="mai-related-title"] {
    padding-block: 52px;
  }

  .market-ai-article-page .mai-post-navigation {
    padding-bottom: 48px;
  }

  .market-ai-article-page .mai-article-cta {
    padding-top: 40px;
    padding-bottom: 52px;
  }
}

/* Final Dashboard responsive rules: PC 12 columns, tablet 2 columns, mobile 1 column. */
@media (max-width: 1100px) {
  .mai-html-dashboard__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .mai-html-dashboard__card,
  .mai-html-dashboard__card[data-dashboard-key] { grid-column: span 3; }
  .mai-html-dashboard__card:is(
    [data-dashboard-key="economic-calendar"],
    [data-dashboard-key="fx-rates"],
    [data-dashboard-key="ai-alert"],
    [data-dashboard-key="money-flow"]
  ) { grid-column: span 3; }
  .mai-html-dashboard__card[data-dashboard-key="investment-points"] { grid-column: 1 / -1; }
  .mai-html-dashboard__card[data-dashboard-key="market-score"] .mai-html-dashboard__gauge { width: clamp(120px, 17vw, 140px); }
}

@media (max-width: 820px) {
  .mai-html-dashboard__card:is(
    [data-dashboard-key="economic-calendar"],
    [data-dashboard-key="fx-rates"],
    [data-dashboard-key="ai-alert"],
    [data-dashboard-key="money-flow"],
    [data-dashboard-key="investment-points"]
  ) {
    grid-column: 1 / -1;
    min-height: 0;
  }
}

@media (max-width: 560px) {
  .mai-html-dashboard__grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .mai-html-dashboard__card,
  .mai-html-dashboard__card[data-dashboard-key],
  .mai-html-dashboard__card--wide,
  .mai-html-dashboard__card--feature { grid-column: 1; min-height: 0; padding: 18px; }
  .mai-html-dashboard__card:is([data-dashboard-key="market-score"], [data-dashboard-key="market-temperature"], [data-dashboard-key="ai-confidence"], [data-dashboard-key="overall-judgment"], [data-dashboard-key="japan-market"], [data-dashboard-key="us-market"]) { min-height: 210px; }
  .mai-html-dashboard__card[data-dashboard-key="market-score"] .mai-html-dashboard__gauge { width: clamp(112px, 36vw, 128px); }
  .mai-html-dashboard__card[data-dashboard-key="market-score"] .mai-html-dashboard__metric-value { font-size: clamp(34px, 11vw, 41px); }
  .mai-html-dashboard__card[data-dashboard-key="indexes-sectors"] .mai-html-dashboard__index-row,
  .mai-html-dashboard__card[data-dashboard-key="indexes-sectors"] .mai-html-dashboard__index-row:nth-child(n + 4) { grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px; }
  .mai-html-dashboard__timestamp { display: grid; width: 100%; grid-template-columns: 1fr; }
  .mai-html-dashboard__timestamp time { white-space: normal; }
  .mai-html-dashboard__live { margin-top: 2px; }
  .mai-dashboard-placeholder { min-height: 96px; padding-top: 12px; }
}

@media (max-width: 360px) {
  .mai-html-dashboard__card[data-dashboard-key="indexes-sectors"] .mai-html-dashboard__index-row,
  .mai-html-dashboard__card[data-dashboard-key="indexes-sectors"] .mai-html-dashboard__index-row:nth-child(n + 4) { grid-template-columns: minmax(0, 1fr) auto; }
  .mai-html-dashboard__card[data-dashboard-key="indexes-sectors"] .mai-html-dashboard__index-change { grid-column: 2; }
}

@media (prefers-reduced-motion: reduce) {
  .mai-html-dashboard__card { transition: none; }
  .mai-html-dashboard__card:hover { transform: none; }
}

/* Current Market sizing system: equal grid rhythm without changing card order. */
.market-ai-article-page .mai-html-dashboard > .mai-container {
  padding-inline: 24px;
}
.market-ai-article-page .mai-html-dashboard__header {
  gap: 20px;
  margin-bottom: 16px;
}
.market-ai-article-page .mai-html-dashboard .mai-eyebrow {
  font-size: 12px;
}
.market-ai-article-page .mai-html-dashboard__header h2 {
  font-size: 26px;
}
.market-ai-article-page .mai-html-dashboard__header p,
.market-ai-article-page .mai-html-dashboard__notice,
.market-ai-article-page .mai-html-dashboard__date {
  font-size: 13px;
}
.market-ai-article-page .mai-html-dashboard__grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 20px;
}
.market-ai-article-page .mai-html-dashboard__card,
.market-ai-article-page .mai-html-dashboard__card[data-dashboard-key] {
  min-height: 0;
  padding: 20px;
}
.market-ai-article-page .mai-html-dashboard__card h3 {
  margin-bottom: 12px;
  font-size: 14px;
}
.market-ai-article-page .mai-html-dashboard__card strong,
.market-ai-article-page .mai-html-dashboard__metric-value {
  font-size: 36px;
}
.market-ai-article-page .mai-html-dashboard__gauge .mai-html-dashboard__metric-value {
  font-size: 36px;
}
.market-ai-article-page .mai-html-dashboard__card p,
.market-ai-article-page .mai-html-dashboard__card :is(dt, dd) {
  font-size: 14px;
}
.market-ai-article-page .mai-html-dashboard__card li,
.market-ai-article-page .mai-html-dashboard__index-name,
.market-ai-article-page .mai-html-dashboard__index-value,
.market-ai-article-page .mai-html-dashboard__index-change {
  font-size: 13px;
}
.market-ai-article-page .mai-html-dashboard__status-label,
.market-ai-article-page .mai-html-dashboard__status-badge,
.market-ai-article-page .mai-html-dashboard__gauge-status,
.market-ai-article-page .mai-html-dashboard__waiting-label {
  font-size: 12px;
}
.market-ai-article-page .mai-html-dashboard__card li {
  margin-top: 8px;
}
.market-ai-article-page .mai-html-dashboard__card dl > div {
  gap: 8px;
  padding-block: 8px;
}
.market-ai-article-page .mai-html-dashboard__summary {
  padding-top: 8px;
}
.market-ai-article-page .mai-html-dashboard__card[data-dashboard-key="investment-points"] .mai-dashboard-detail {
  gap: 0;
}
.market-ai-article-page .mai-html-dashboard__card[data-dashboard-key="investment-points"] .mai-dashboard-detail > strong {
  margin-bottom: 10px;
  font-size: 36px;
  line-height: 1.35;
}
.market-ai-article-page .mai-html-dashboard__card[data-dashboard-key="investment-points"] .mai-dashboard-detail h4 {
  margin: 24px 0 8px;
  font-size: 18px;
  line-height: 1.8;
}
.market-ai-article-page .mai-html-dashboard__card[data-dashboard-key="investment-points"] .mai-dashboard-detail :is(p, li) {
  font-size: 17px;
  line-height: 1.8;
  overflow-wrap: anywhere;
}
.market-ai-article-page .mai-html-dashboard__card[data-dashboard-key="investment-points"] .mai-dashboard-detail p {
  margin: 0;
}
.market-ai-article-page .mai-html-dashboard__card[data-dashboard-key="investment-points"] .mai-dashboard-data-list {
  gap: 10px;
  margin: 0;
}
.market-ai-article-page .mai-html-dashboard__card[data-dashboard-key="investment-points"] .mai-dashboard-detail > :last-child {
  margin-bottom: 0;
}
.market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card {
  grid-column: span 6;
  min-height: 230px;
  padding: 26px;
  gap: 0;
  align-self: stretch;
}
.market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card--attention { order: 11; }
.market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card[data-dashboard-key="fx-rates"] { order: 12; }
.market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card[data-dashboard-key="money-flow"] { order: 13; }
.market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card--markets { order: 14; }
.market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card h3 {
  margin: 0 0 18px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
}
.market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card :is(.mai-dashboard-monitor-list, .mai-html-dashboard__index-list) {
  width: 100%;
  margin: 0 !important;
}
.market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card .mai-dashboard-monitor-list > div {
  min-width: 0;
  grid-template-columns: minmax(100px, 1fr) minmax(0, auto);
  align-items: baseline;
  gap: 20px;
  padding-block: 14px;
}
.market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card .mai-dashboard-monitor-list dt {
  font-size: 13px;
  line-height: 1.5;
}
.market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card .mai-dashboard-monitor-list dd {
  max-width: 100%;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.15;
  overflow-wrap: anywhere;
}
.market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card--attention .mai-dashboard-data-list {
  display: grid;
  gap: 12px;
}
.market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card--attention .mai-dashboard-data-list li {
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
}
.market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card--attention .mai-dashboard-attention-alert {
  display: grid;
  gap: 6px;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid rgba(124, 255, 58, .1);
}
.market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card--attention .mai-dashboard-attention-alert strong {
  margin: 0;
  font-size: 18px;
  line-height: 1.5;
}
.market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card--markets .mai-html-dashboard__index-row {
  grid-template-columns: minmax(96px, .7fr) minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 12px;
  padding-block: 14px;
}
.market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card--markets .mai-html-dashboard__index-name {
  font-size: 13px;
  line-height: 1.5;
}
.market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card--markets .mai-html-dashboard__index-value {
  font-size: 30px;
  font-weight: 700;
  line-height: 1.15;
  text-align: right;
}
.market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card--markets .mai-html-dashboard__index-change {
  font-size: 12px;
  line-height: 1.5;
}

@media (max-width: 1100px) {
  .market-ai-article-page .mai-html-dashboard > .mai-container {
    padding-inline: 16px;
  }
  .market-ai-article-page .mai-html-dashboard__header {
    gap: 16px;
    margin-bottom: 12px;
  }
  .market-ai-article-page .mai-html-dashboard .mai-eyebrow { font-size: 11px; }
  .market-ai-article-page .mai-html-dashboard__header h2 { font-size: 24px; }
  .market-ai-article-page .mai-html-dashboard__header p,
  .market-ai-article-page .mai-html-dashboard__notice,
  .market-ai-article-page .mai-html-dashboard__date { font-size: 12px; }
  .market-ai-article-page .mai-html-dashboard__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 16px;
  }
  .market-ai-article-page .mai-html-dashboard__card,
  .market-ai-article-page .mai-html-dashboard__card[data-dashboard-key] {
    min-height: 0;
    padding: 16px;
  }
  .market-ai-article-page .mai-html-dashboard__card h3 { margin-bottom: 10px; font-size: 13px; }
  .market-ai-article-page .mai-html-dashboard__card strong,
  .market-ai-article-page .mai-html-dashboard__metric-value,
  .market-ai-article-page .mai-html-dashboard__gauge .mai-html-dashboard__metric-value { font-size: 30px; }
  .market-ai-article-page .mai-html-dashboard__card p,
  .market-ai-article-page .mai-html-dashboard__card :is(dt, dd) { font-size: 13px; }
  .market-ai-article-page .mai-html-dashboard__card li,
  .market-ai-article-page .mai-html-dashboard__index-name,
  .market-ai-article-page .mai-html-dashboard__index-value,
  .market-ai-article-page .mai-html-dashboard__index-change { font-size: 12px; }
  .market-ai-article-page .mai-html-dashboard__status-label,
  .market-ai-article-page .mai-html-dashboard__status-badge,
  .market-ai-article-page .mai-html-dashboard__gauge-status,
  .market-ai-article-page .mai-html-dashboard__waiting-label { font-size: 11px; }
  .market-ai-article-page .mai-html-dashboard__card[data-dashboard-key="investment-points"] .mai-dashboard-detail > strong {
    font-size: 30px;
    line-height: 1.35;
  }
  .market-ai-article-page .mai-html-dashboard__card[data-dashboard-key="investment-points"] .mai-dashboard-detail h4 {
    margin-top: 24px;
    font-size: 17px;
    line-height: 1.75;
  }
  .market-ai-article-page .mai-html-dashboard__card[data-dashboard-key="investment-points"] .mai-dashboard-detail :is(p, li) {
    font-size: 16px;
    line-height: 1.75;
  }
  .market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card {
    grid-column: span 3;
    min-height: 230px;
    padding: 22px;
  }
  .market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card h3 {
    margin-bottom: 16px;
    font-size: 17px;
  }
  .market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card .mai-dashboard-monitor-list dd,
  .market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card--markets .mai-html-dashboard__index-value {
    font-size: 26px;
  }
  .market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card--markets .mai-html-dashboard__index-row {
    grid-template-columns: minmax(90px, .7fr) minmax(0, 1fr);
  }
  .market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card--markets .mai-html-dashboard__index-change {
    grid-column: 2;
    text-align: right;
  }
}

@media (max-width: 820px) {
  .market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card {
    grid-column: 1 / -1;
    min-height: 0;
    padding: 20px;
  }
}

@media (max-width: 560px) {
  .market-ai-article-page .mai-html-dashboard > .mai-container {
    padding-inline: 12px;
  }
  .market-ai-article-page .mai-html-dashboard__header {
    gap: 12px;
    margin-bottom: 10px;
  }
  .market-ai-article-page .mai-html-dashboard .mai-eyebrow { font-size: 10px; }
  .market-ai-article-page .mai-html-dashboard__header h2 { font-size: 20px; }
  .market-ai-article-page .mai-html-dashboard__header p,
  .market-ai-article-page .mai-html-dashboard__notice,
  .market-ai-article-page .mai-html-dashboard__date { font-size: 11px; }
  .market-ai-article-page .mai-html-dashboard__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }
  .market-ai-article-page .mai-html-dashboard__card,
  .market-ai-article-page .mai-html-dashboard__card[data-dashboard-key],
  .market-ai-article-page .mai-html-dashboard__card--wide,
  .market-ai-article-page .mai-html-dashboard__card--feature {
    grid-column: 1;
    min-height: 0;
    padding: 14px;
  }
  .market-ai-article-page .mai-html-dashboard__card h3 { margin-bottom: 8px; font-size: 12px; }
  .market-ai-article-page .mai-html-dashboard__card strong,
  .market-ai-article-page .mai-html-dashboard__metric-value,
  .market-ai-article-page .mai-html-dashboard__gauge .mai-html-dashboard__metric-value { font-size: 26px; }
  .market-ai-article-page .mai-html-dashboard__card p,
  .market-ai-article-page .mai-html-dashboard__card :is(dt, dd),
  .market-ai-article-page .mai-html-dashboard__card li,
  .market-ai-article-page .mai-html-dashboard__index-name,
  .market-ai-article-page .mai-html-dashboard__index-value,
  .market-ai-article-page .mai-html-dashboard__index-change { font-size: 12px; }
  .market-ai-article-page .mai-html-dashboard__status-label,
  .market-ai-article-page .mai-html-dashboard__status-badge,
  .market-ai-article-page .mai-html-dashboard__gauge-status,
  .market-ai-article-page .mai-html-dashboard__waiting-label { font-size: 10px; }
  .market-ai-article-page .mai-html-dashboard__card li { margin-top: 6px; }
  .market-ai-article-page .mai-html-dashboard__card dl > div { gap: 6px; padding-block: 6px; }
  .market-ai-article-page .mai-html-dashboard__summary { padding-top: 6px; }
  .market-ai-article-page .mai-html-dashboard__card[data-dashboard-key="investment-points"] .mai-dashboard-detail > strong {
    font-size: 26px;
    line-height: 1.35;
  }
  .market-ai-article-page .mai-html-dashboard__card[data-dashboard-key="investment-points"] .mai-dashboard-detail h4 {
    margin: 24px 0 8px;
    font-size: 16px;
    line-height: 1.7;
  }
  .market-ai-article-page .mai-html-dashboard__card[data-dashboard-key="investment-points"] .mai-dashboard-detail :is(p, li) {
    font-size: 15px;
    line-height: 1.7;
  }
  .market-ai-article-page .mai-html-dashboard__card[data-dashboard-key="investment-points"] .mai-dashboard-data-list {
    gap: 8px;
  }
  .market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card {
    grid-column: 1;
    min-height: 0;
    padding: 17px;
  }
  .market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card h3 {
    margin-bottom: 14px;
    font-size: 16px;
  }
  .market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card .mai-dashboard-monitor-list > div,
  .market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card--markets .mai-html-dashboard__index-row {
    gap: 10px;
    padding-block: 11px;
  }
  .market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card .mai-dashboard-monitor-list dt,
  .market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card--markets .mai-html-dashboard__index-name,
  .market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card--markets .mai-html-dashboard__index-change {
    font-size: 12px;
  }
  .market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card .mai-dashboard-monitor-list dd,
  .market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card--markets .mai-html-dashboard__index-value {
    font-size: 25px;
  }
  .market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card--attention .mai-dashboard-data-list {
    gap: 10px;
  }
  .market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card--attention .mai-dashboard-data-list li {
    font-size: 14px;
    line-height: 1.65;
  }
}

/* CURRENT MARKET hybrid data visualization. */
.market-ai-article-page .mai-html-dashboard__card[data-dashboard-key="market-score"] .mai-html-dashboard__gauge {
  width: clamp(180px, 16vw, 230px);
  aspect-ratio: 2 / 1;
  margin: auto auto 12px;
  overflow: hidden;
  background: conic-gradient(from 270deg at 50% 100%, var(--mai-primary) var(--mai-semicircle-value), rgba(156, 167, 181, .16) 0 50%, transparent 0);
  border: 0;
  border-radius: 999px 999px 0 0;
  box-shadow: 0 -8px 22px rgba(124, 255, 58, .08);
  transform: none;
}
.market-ai-article-page .mai-html-dashboard__card[data-dashboard-key="market-score"] .mai-html-dashboard__gauge::before {
  inset: 22px 22px 0;
  background: #0d1214;
  border: 0;
  border-radius: 999px 999px 0 0;
}
.market-ai-article-page .mai-html-dashboard__card[data-dashboard-key="market-score"] .mai-html-dashboard__gauge .mai-html-dashboard__metric {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: grid;
  grid-template-rows: auto auto auto;
  align-content: center;
  justify-content: center;
  justify-items: center;
  gap: 2px;
  padding: 0;
  line-height: 1;
  transform: translateY(4%);
}
.market-ai-article-page .mai-html-dashboard__card[data-dashboard-key="market-score"] .mai-html-dashboard__gauge .mai-html-dashboard__metric-value { font-size: 46px; }
.market-ai-article-page .mai-html-dashboard__card[data-dashboard-key="market-score"] .mai-html-dashboard__gauge .mai-html-dashboard__metric-unit { font-size: 12px; }

.market-ai-article-page .mai-html-dashboard__card[data-dashboard-key="market-temperature"] .mai-html-dashboard__progress {
  height: 10px;
  margin-block: 12px 18px;
  border: 1px solid rgba(124, 255, 58, .12);
}
.market-ai-article-page .mai-html-dashboard__card[data-dashboard-key="market-temperature"] .mai-html-dashboard__progress-fill {
  box-shadow: 0 0 10px rgba(39, 245, 163, .24);
}

.market-ai-article-page .mai-html-dashboard__donut {
  position: relative;
  isolation: isolate;
  display: grid;
  width: clamp(132px, 11vw, 154px);
  aspect-ratio: 1;
  place-items: center;
  align-self: center;
  margin: auto;
  background: conic-gradient(var(--mai-primary) var(--mai-progress-value), rgba(156, 167, 181, .16) 0);
  border-radius: 50%;
  box-shadow: 0 0 20px rgba(39, 245, 163, .08);
}
.market-ai-article-page .mai-html-dashboard__donut::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 13px;
  background: #0d1214;
  border: 1px solid rgba(124, 255, 58, .1);
  border-radius: 50%;
}
.market-ai-article-page .mai-html-dashboard__donut .mai-html-dashboard__metric {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: grid;
  grid-auto-flow: column;
  grid-template-columns: auto auto;
  place-content: center;
  align-items: center;
  gap: 3px;
  margin: 0;
  line-height: 1;
  transform: translateY(-.04em);
}
.market-ai-article-page .mai-html-dashboard__donut .mai-html-dashboard__metric-value { display: block; margin: 0; color: var(--mai-primary); font-size: 38px; line-height: 1; }
.market-ai-article-page .mai-html-dashboard__donut .mai-html-dashboard__metric-unit { display: block; align-self: center; margin: 0; font-size: 13px; line-height: 1; }
.market-ai-article-page .mai-html-dashboard__card--confidence .mai-html-dashboard__status-row {
  align-items: center;
  flex-direction: column;
  justify-content: center;
  gap: 7px;
  margin-top: 12px;
}

.market-ai-article-page .mai-html-dashboard__card[data-dashboard-key="overall-judgment"] .mai-dashboard-judgment {
  color: var(--mai-primary);
  font-size: clamp(27px, 2.6vw, 38px);
  line-height: 1.18;
}

.market-ai-article-page .mai-judgment-band {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 4px;
  margin: 20px 0 18px;
  padding-top: 13px;
  border-top: 4px solid rgba(156, 167, 181, .16);
}
.market-ai-article-page .mai-judgment-band span {
  min-width: 0;
  color: var(--mai-muted);
  font-size: 9px;
  line-height: 1.35;
  text-align: center;
  overflow-wrap: anywhere;
}
.market-ai-article-page .mai-judgment-band i {
  position: absolute;
  top: -8px;
  left: var(--mai-judgment-position);
  width: 12px;
  height: 12px;
  background: var(--mai-primary);
  border: 2px solid #0d1214;
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(39, 245, 163, .45);
  transform: translateX(-50%);
}

.market-ai-article-page .mai-market-instruments { display: grid; gap: 16px; }
.market-ai-article-page .mai-market-instrument { display: grid; min-width: 0; gap: 8px; padding: 14px 0; border-top: 1px solid rgba(124, 255, 58, .1); }
.market-ai-article-page .mai-market-instrument:first-child { padding-top: 0; border-top: 0; }
.market-ai-article-page .mai-market-instrument__label { color: var(--mai-muted); font-size: 12px; font-weight: 750; letter-spacing: .08em; }
.market-ai-article-page .mai-market-instrument__value { margin: 0; color: var(--mai-text); font-size: clamp(30px, 3vw, 40px); font-variant-numeric: tabular-nums; line-height: 1.1; overflow-wrap: anywhere; }
.market-ai-article-page .mai-market-instrument__value--fx { font-size: clamp(23px, 2.5vw, 34px); }
.market-ai-article-page .mai-vix-band { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; margin-top: 3px; }
.market-ai-article-page .mai-vix-band span { padding-top: 7px; border-top: 4px solid rgba(156, 167, 181, .16); color: var(--mai-muted); font-size: 9px; font-weight: 750; letter-spacing: .07em; text-align: center; }
.market-ai-article-page .mai-vix-band[data-vix-band="low"] span:first-child,
.market-ai-article-page .mai-vix-band[data-vix-band="medium"] span:nth-child(2),
.market-ai-article-page .mai-vix-band[data-vix-band="high"] span:last-child { border-color: var(--mai-primary); color: var(--mai-primary); }

.market-ai-article-page .mai-sentiment-panel { display: grid; gap: 20px; }
.market-ai-article-page .mai-fear-meter { display: grid; gap: 10px; }
.market-ai-article-page .mai-fear-meter__labels { display: flex; justify-content: space-between; color: var(--mai-muted); font-size: 10px; font-weight: 750; letter-spacing: .08em; }
.market-ai-article-page .mai-fear-meter__track { position: relative; height: 7px; background: linear-gradient(90deg, rgba(255, 91, 91, .38), rgba(156, 167, 181, .2) 50%, rgba(39, 245, 163, .45)); border-radius: 999px; }
.market-ai-article-page .mai-fear-meter__track i { position: absolute; top: 50%; left: clamp(8px, var(--mai-progress-value), calc(100% - 8px)); width: 15px; height: 15px; background: var(--mai-primary); border: 3px solid #0d1214; border-radius: 50%; box-shadow: 0 0 10px rgba(39, 245, 163, .42); transform: translate(-50%, -50%); }
.market-ai-article-page .mai-fear-meter > strong { margin: 0; color: var(--mai-text); font-size: clamp(32px, 3vw, 42px); font-variant-numeric: tabular-nums; line-height: 1; }
.market-ai-article-page .mai-fear-meter > strong small { color: var(--mai-muted); font-size: 13px; }
.market-ai-article-page .mai-fear-meter__api-label { color: var(--mai-primary); font-size: 13px; font-weight: 750; }
.market-ai-article-page .mai-momentum { display: flex; min-width: 0; align-items: baseline; justify-content: space-between; gap: 16px; padding-top: 16px; border-top: 1px solid rgba(124, 255, 58, .1); }
.market-ai-article-page .mai-momentum span { color: var(--mai-muted); font-size: 10px; font-weight: 750; letter-spacing: .08em; }
.market-ai-article-page .mai-momentum strong { margin: 0; font-size: 24px; text-align: right; overflow-wrap: anywhere; }

.market-ai-article-page .mai-dashboard-final-card--markets .mai-html-dashboard__index-change::before { content: "\25B2  "; font-size: .72em; }
.market-ai-article-page .mai-dashboard-final-card--markets .mai-html-dashboard__index-change.mai-change--down::before { content: "\25BC  "; }
.market-ai-article-page .mai-dashboard-final-card--markets .mai-html-dashboard__index-change.mai-change--neutral::before { content: ""; }

@media (max-width: 820px) {
  .market-ai-article-page .mai-html-dashboard__card:is([data-dashboard-key="market-score"], [data-dashboard-key="market-temperature"], [data-dashboard-key="ai-confidence"], [data-dashboard-key="overall-judgment"], [data-dashboard-key="japan-market"], [data-dashboard-key="us-market"]) { min-height: 0; }
  .market-ai-article-page .mai-html-dashboard__donut { width: 140px; }
  .market-ai-article-page .mai-judgment-band { gap: 2px; }
  .market-ai-article-page .mai-judgment-band span { font-size: 9px; letter-spacing: -.02em; }
}
@media (max-width: 560px) {
  .market-ai-article-page .mai-html-dashboard__card[data-dashboard-key="market-score"] .mai-html-dashboard__gauge { width: 190px; }
  .market-ai-article-page .mai-html-dashboard__card[data-dashboard-key="market-score"] .mai-html-dashboard__gauge .mai-html-dashboard__metric-value { font-size: 38px; }
  .market-ai-article-page .mai-html-dashboard__donut { width: 132px; }
  .market-ai-article-page .mai-html-dashboard__donut .mai-html-dashboard__metric-value { font-size: 32px; }
  .market-ai-article-page .mai-html-dashboard__card--confidence .mai-html-dashboard__status-row { gap: 5px; margin-top: 10px; }
  .market-ai-article-page .mai-market-instrument__value { font-size: 30px; }
  .market-ai-article-page .mai-market-instrument__value--fx { font-size: 23px; }
  .market-ai-article-page .mai-html-dashboard__card.mai-dashboard-final-card--markets .mai-html-dashboard__index-value { font-size: clamp(21px, 7vw, 25px); }
  .market-ai-article-page .mai-momentum { align-items: flex-start; flex-direction: column; gap: 8px; }
  .market-ai-article-page .mai-momentum strong { font-size: 22px; text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
  .market-ai-article-page .mai-html-dashboard :is(.mai-html-dashboard__progress-fill, .mai-fear-meter__track i) { transition: none; }
}

/* Article Dashboard full-view control: visual polish only. */
.mai-article-hero-media .mai-dashboard-image-trigger {
  top: 16px;
  right: 188px;
  min-width: 212px;
  min-height: 46px;
  padding: 9px 17px;
  overflow: hidden;
  background: rgba(5, 10, 8, .76);
  border: 1px solid rgba(101, 255, 66, .48);
  border-radius: 19px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .045), 0 5px 16px rgba(0, 0, 0, .2);
  color: transparent;
  font-size: 0;
  font-weight: 750;
  letter-spacing: .04em;
  white-space: nowrap;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}
.mai-article-hero-media .mai-dashboard-image-trigger::before {
  content: "🔍  ダッシュボードを拡大";
  color: #f3f5f4;
  font-size: 13px;
  line-height: 1;
}
.mai-dashboard-image-hint {
  position: absolute;
  z-index: 2;
  top: 31px;
  right: 18px;
  color: rgba(243, 245, 244, .66);
  font-size: 11px;
  font-weight: 650;
  line-height: 1.4;
  letter-spacing: .025em;
  white-space: nowrap;
  pointer-events: none;
}
@media (hover: hover) and (pointer: fine) {
  .mai-article-hero-media .mai-dashboard-image-trigger:hover {
    background: rgba(5, 10, 8, .8);
    border-color: rgba(101, 255, 66, .76);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .055), 0 0 18px rgba(101, 255, 66, .14), 0 7px 18px rgba(0, 0, 0, .24);
    transform: translateY(-2px);
  }
}
.mai-article-hero-media .mai-dashboard-image-trigger:focus-visible {
  border-color: rgba(101, 255, 66, .86);
  box-shadow: 0 0 0 3px rgba(101, 255, 66, .22), 0 0 18px rgba(101, 255, 66, .12);
  outline: 2px solid transparent;
}
@media (max-width: 900px) {
  .mai-article-hero-media .mai-dashboard-image-trigger { right: 12px; }
  .mai-dashboard-image-hint { display: none; }
}
@media (max-width: 560px) {
  .mai-article-hero-media .mai-dashboard-image-trigger {
    top: 10px;
    right: 10px;
    width: auto;
    min-width: 132px;
    min-height: 44px;
    padding-inline: 13px;
  }
  .mai-article-hero-media .mai-dashboard-image-trigger::before {
    content: "🔍  拡大表示";
    font-size: 12px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .mai-article-hero-media .mai-dashboard-image-trigger { transition: none; }
  .mai-article-hero-media .mai-dashboard-image-trigger:hover { transform: none; }
}

/* Final article width alignment: keep the 1400px Dashboard frame and use a
   bounded editorial inset for readable text. Dashboard internals are untouched. */
@media (min-width: 821px) {
  .market-ai-article-page {
    --mai-article-reading-max: 1240px;
    --mai-article-reading-padding: clamp(
      32px,
      calc((100vw - var(--mai-article-reading-max)) / 2),
      80px
    );
  }

  .market-ai-article-page .mai-article-breadcrumb,
  .market-ai-article-page .mai-article-header .mai-article-reading-column,
  .market-ai-article-page .mai-article-summary-section .mai-article-reading-column {
    width: 100%;
    max-width: var(--mai-container);
    margin-inline: auto;
    padding-inline: var(--mai-article-reading-padding);
  }

  .market-ai-article-page .mai-article-market > .mai-container,
  .market-ai-article-page section[aria-labelledby="mai-related-title"] > .mai-container,
  .market-ai-article-page .mai-post-navigation__grid,
  .market-ai-article-page .mai-article-cta > .mai-container {
    padding-inline: var(--mai-article-reading-padding);
  }
}

/* Width fix (PC only): the body+sidebar row used the same wide 32-80px inset as the
   plain single-column reading columns above (breadcrumb/header/summary), but that inset
   compounds with the sidebar's own 300-340px + gap, leaving the body noticeably narrower
   than the 1400px frame other sections (TODAY'S MARKET, dashboard, etc.) actually use.
   This row alone gets a smaller inset ceiling (40px instead of 80px); the floor (32px,
   matching every other section's flat padding) and the 1240px transition point are
   unchanged, so the ~1180-1280px handoff to the mobile/no-sidebar layout is untouched.
   Sidebar width (minmax(300px,340px)) and the gap are not touched by this rule at all. */
@media (min-width: 821px) {
  .market-ai-article-page .mai-article-body .mai-article-reading-column {
    width: 100%;
    max-width: var(--mai-container);
    margin-inline: auto;
    padding-inline: clamp(32px, calc((100vw - var(--mai-article-reading-max)) / 2), 40px);
  }
}


/* Semantic article headings generated by WordPress Post Builder.
 * 

/* Semantic article headings generated by WordPress Post Builder.
   Keep legacy h3/h4 article markup untouched while new h2/h3 markup retains
   the same visual hierarchy. */
.market-ai-article-page .mai-article-content h2.mai-article-heading--section {
  margin: 1.9em 0 .75em;
  padding: 0 0 10px;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--mai-article-border-soft);
  color: var(--mai-article-text);
  font-size: clamp(21px, 2.3vw, 28px);
  line-height: 1.45;
  font-weight: 750;
  letter-spacing: -.025em;
  scroll-margin-top: 32px;
}

.market-ai-article-page .mai-article-content h3.mai-article-heading--subsection {
  margin: 1.7em 0 .75em;
  padding: 7px 0;
  background: transparent;
  border: 0;
  color: var(--mai-article-text);
  font-size: 19px;
  line-height: 1.5;
  font-weight: 750;
  letter-spacing: -.025em;
  scroll-margin-top: 32px;
}

.market-ai-article-page
.mai-article-content
> figure.market-ai-dashboard-image:first-child
+ h2.mai-article-heading--section {
  margin-top: 0;
}

@media (max-width: 560px) {
  .market-ai-article-page .mai-article-content h2.mai-article-heading--section {
    margin-top: 2em;
    margin-bottom: .8em;
    font-size: clamp(21px, 6vw, 25px);
  }

  .market-ai-article-page .mai-article-content h3.mai-article-heading--subsection {
    margin-top: 1.8em;
    padding-block: 8px;
    font-size: 19px;
  }
}

/* Match Cocoon's current h4 inset and rules on the semantic subsection h3. */
.market-ai-article-page .mai-article-content h3.mai-article-heading--subsection {
  padding-inline: 10px;
  border-top: 2px solid var(--cocoon-thin-color, #ddd);
  border-bottom: 2px solid var(--cocoon-thin-color, #ddd);
}

/* SEO evergreen articles: improve long-form title balance and keep article
   tables inside the Market AI dark palette. Other article types are untouched. */
.market-ai-seo-article .mai-article-header h1.mai-title {
  text-wrap: balance;
  word-break: auto-phrase;
  overflow-wrap: normal;
}

.market-ai-seo-article .mai-article-content .wp-block-table {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.market-ai-seo-article .mai-article-content table {
  background: var(--mai-article-panel, #0b1510);
  border-color: var(--mai-article-border-soft, rgba(55, 120, 62, .32));
  color: var(--mai-article-text, #f3f5f4);
}

.market-ai-seo-article .mai-article-content thead tr,
.market-ai-seo-article .mai-article-content tbody tr:nth-child(odd) {
  background: #0b1510;
}

.market-ai-seo-article .mai-article-content tbody tr:nth-child(even) {
  background: #122219;
}

.market-ai-seo-article .mai-article-content th {
  background: #112f20;
  color: var(--mai-article-text, #f3f5f4);
}

.market-ai-seo-article .mai-article-content td {
  background: transparent;
  color: var(--mai-article-text, #f3f5f4);
}

.market-ai-seo-article .mai-article-content :is(th, td) {
  border-color: var(--mai-article-border-soft, rgba(55, 120, 62, .32));
}

.market-ai-seo-article .mai-article-content table a:not(.mai-button) {
  color: var(--mai-primary, #27f5a3);
}

/* Market AI 2.0: supplemental primary-information box for evergreen articles. */
.market-ai-seo-article .mai-primary-sources {
  margin: clamp(28px, 5vw, 52px) 0 0;
  padding: clamp(18px, 3vw, 26px);
  background: linear-gradient(145deg, rgba(15, 37, 27, .96), rgba(7, 17, 13, .96));
  border: 1px solid rgba(39, 245, 163, .24);
  border-radius: 18px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035);
}
.market-ai-seo-article .mai-primary-sources h2 {
  margin: 0 0 10px;
  color: var(--mai-article-text, #f3f5f4);
  font-size: clamp(19px, 2.4vw, 24px);
}
.market-ai-seo-article .mai-primary-sources p {
  margin: 0 0 12px;
  color: var(--mai-muted, #aeb8b3);
  font-size: 14px;
}
.market-ai-seo-article .mai-primary-sources ul {
  margin: 0;
  padding-left: 1.25em;
}
.market-ai-seo-article .mai-primary-sources li + li { margin-top: 7px; }
.market-ai-seo-article .mai-primary-sources a {
  color: var(--mai-primary, #27f5a3);
  text-underline-offset: 3px;
}

/* Accessibility: keep the keyboard skip link high-contrast against the dark article shell. */
.market-ai-article-page #container > a.screen-reader-text,
.market-ai-article-page #container > a.screen-reader-text:focus {
  color: #ffffff;
  background: #111814;
}


/* Latest Market callout — full width, tighter vertical spacing, edge-to-edge neon frame.
 * Shared by Market AI / 5分でわかる投資レポート, morning and evening articles. */
.market-ai-article-page .mai-article-current-link {
  padding-block: 6px 8px;
}

.market-ai-article-page .mai-article-current-link > .mai-container.mai-article-reading-column {
  width: 100%;
  max-width: var(--mai-container);
  margin-inline: auto;
  padding-inline: 0;
}

.market-ai-article-page .mai-article-current-link .mai-card {
  width: 100%;
  margin: 0;
  padding: 14px 28px 16px;
  border: 2px solid rgba(124, 255, 58, .84);
  border-radius: 22px;
  box-shadow:
    0 0 0 1px rgba(124, 255, 58, .06),
    0 0 18px rgba(124, 255, 58, .10);
}

.market-ai-article-page .mai-article-current-link .mai-card::before {
  width: 72px;
  background: rgba(124, 255, 58, 1);
}

.market-ai-article-page .mai-article-current-link + .mai-article-body {
  padding-top: 12px;
}

@media (max-width: 820px) {
  .market-ai-article-page .mai-article-current-link {
    padding-block: 4px 6px;
  }

  .market-ai-article-page .mai-article-current-link > .mai-container.mai-article-reading-column {
    padding-inline: 0;
  }

  .market-ai-article-page .mai-article-current-link .mai-card {
    width: 100%;
    padding: 12px 16px 14px;
    border-radius: 18px;
  }

  .market-ai-article-page .mai-article-current-link + .mai-article-body {
    padding-top: 10px;
  }
}

/* Article Snapshot compact metrics trial — 2026-10-05.
 * Scoped to the fact-only snapshot whose first grid card is the market-index card.
 * Live theme is unchanged until the draft is explicitly published. */
.market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) {
  padding-block: 26px 30px;
}

.market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) .mai-html-dashboard__header {
  align-items: center;
  gap: 18px;
  margin-bottom: 14px;
}

.market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) .mai-html-dashboard__header h2 {
  margin-top: 5px;
  font-size: clamp(24px, 2.2vw, 30px);
}

.market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) .mai-html-dashboard__header p {
  margin-top: 5px;
  font-size: 12px;
  line-height: 1.45;
}

.market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) .mai-html-dashboard__timestamp {
  min-width: 0;
  padding: 7px 10px;
}

.market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) .mai-html-dashboard__timestamp time {
  font-size: 13px;
}

.market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) .mai-html-dashboard__grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-auto-flow: row;
  gap: 10px;
}

/* Flatten the grouped index/FX wrappers so each metric becomes one small tile. */
.market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) .mai-html-dashboard__grid > .mai-dashboard-final-card--markets,
.market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) .mai-html-dashboard__grid > .mai-dashboard-final-card--metrics:has(.mai-market-instruments) {
  display: contents;
}

.market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) .mai-html-dashboard__grid > .mai-dashboard-final-card--markets > h3,
.market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) .mai-html-dashboard__grid > .mai-dashboard-final-card--metrics:has(.mai-market-instruments) > h3 {
  display: none;
}

.market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) .mai-dashboard-final-card--markets .mai-html-dashboard__index-list,
.market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) .mai-dashboard-final-card--metrics:has(.mai-market-instruments) .mai-market-instruments {
  display: contents;
}

/* When Nikkei / S&P / NASDAQ are all present, keep this trial to the proposed five tiles. */
.market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) .mai-html-dashboard__index-list > .mai-html-dashboard__index-row:first-child:nth-last-child(3) {
  display: none;
}

.market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) .mai-market-instrument,
.market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) .mai-html-dashboard__index-row,
.market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) .mai-html-dashboard__grid > .mai-dashboard-final-card--metrics:has(.mai-fear-meter) {
  position: relative;
  min-width: 0;
  min-height: 112px;
  padding: 14px 16px;
  background: #101619;
  border: 1px solid rgba(124, 255, 58, .22);
  border-radius: 14px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025);
}

.market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) .mai-market-instrument {
  display: flex;
  flex-direction: column;
  gap: 5px;
  border-top: 1px solid rgba(124, 255, 58, .22);
}

.market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) .mai-market-instrument:first-child {
  padding-top: 14px;
  border-top: 1px solid rgba(124, 255, 58, .22);
}

.market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) .mai-market-instrument:nth-child(1) { order: 1; }
.market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) .mai-market-instrument:nth-child(2) { order: 2; }

.market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) .mai-html-dashboard__grid > .mai-dashboard-final-card--metrics:has(.mai-fear-meter) {
  order: 3;
  grid-column: auto;
  display: flex;
  flex-direction: column;
}

.market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) .mai-html-dashboard__index-row {
  order: 4;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  border-top: 1px solid rgba(124, 255, 58, .22);
}

.market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) :is(.mai-market-instrument__label, .mai-html-dashboard__index-name) {
  color: var(--mai-muted);
  font-size: 13px;
  font-weight: 850;
  letter-spacing: .07em;
  line-height: 1.3;
  text-transform: uppercase;
}

.market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) :is(.mai-market-instrument__value, .mai-html-dashboard__index-value) {
  margin: 5px 0 0;
  color: var(--mai-text);
  font-size: clamp(24px, 2vw, 32px);
  font-weight: 800;
  line-height: 1;
  text-align: left;
  font-variant-numeric: tabular-nums;
}

.market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) :is(.mai-market-instrument .mai-html-dashboard__index-change, .mai-html-dashboard__index-row .mai-html-dashboard__index-change) {
  margin-top: auto;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.3;
  text-align: left;
}

.market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) .mai-html-dashboard__grid > .mai-dashboard-final-card--metrics:has(.mai-fear-meter) h3 {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 850;
}

.market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) .mai-html-dashboard__grid > .mai-dashboard-final-card--metrics:has(.mai-fear-meter) .mai-fear-meter {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 5px;
}

.market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) .mai-html-dashboard__grid > .mai-dashboard-final-card--metrics:has(.mai-fear-meter) .mai-fear-meter > strong {
  margin: 5px 0 0;
  font-size: clamp(24px, 2vw, 32px);
}

.market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) .mai-html-dashboard__grid > .mai-dashboard-final-card--metrics:has(.mai-fear-meter) .mai-fear-meter__api-label {
  margin-top: auto;
  font-size: 13px;
  font-weight: 800;
}

@media (max-width: 820px) {
  .market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) {
    padding-block: 22px 26px;
  }

  .market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) .mai-html-dashboard__header {
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 12px;
  }

  .market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) .mai-html-dashboard__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) .mai-market-instrument,
  .market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) .mai-html-dashboard__index-row,
  .market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) .mai-html-dashboard__grid > .mai-dashboard-final-card--metrics:has(.mai-fear-meter) {
    min-height: 104px;
    padding: 13px;
  }

  .market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) .mai-market-instrument:first-child {
    padding-top: 13px;
  }

  .market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) :is(.mai-market-instrument__value, .mai-html-dashboard__index-value),
  .market-ai-article-page .mai-article-snapshot-dashboard:has(.mai-html-dashboard__grid > .mai-dashboard-final-card--markets:first-child) .mai-html-dashboard__grid > .mai-dashboard-final-card--metrics:has(.mai-fear-meter) .mai-fear-meter > strong {
    font-size: clamp(21px, 6vw, 27px);
  }
}

/* Market Impact Analysis — dedicated article treatment. */
.market-ai-article-page .mai-article-header--impact {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 0, rgba(124, 255, 58, .065), transparent 30%),
    linear-gradient(180deg, rgba(6, 12, 8, .96), rgba(5, 8, 6, .98));
  border-top: 1px solid rgba(124, 255, 58, .1);
  border-bottom-color: rgba(124, 255, 58, .26);
}
.market-ai-article-page .mai-article-header--impact::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: min(420px, 42vw);
  height: 3px;
  background: linear-gradient(90deg, var(--mai-primary), rgba(124, 255, 58, .2), transparent);
  box-shadow: 0 0 18px rgba(124, 255, 58, .24);
}
.market-ai-article-page .mai-article-header--impact .mai-badge {
  background: var(--mai-primary);
  border-color: var(--mai-primary);
  color: #041006;
  box-shadow: 0 0 18px rgba(124, 255, 58, .2);
}
.market-ai-article-page .mai-article-header--impact h1 {
  max-width: 1120px;
  text-wrap: balance;
}
.market-ai-article-page .mai-article-header--impact .mai-article-trust-note {
  border-color: rgba(124, 255, 58, .28);
  box-shadow: inset 0 0 22px rgba(124, 255, 58, .025);
}
.market-ai-article-page .mai-impact-analysis {
  counter-reset: mai-impact-section;
  position: relative;
  margin: 8px 0 0;
  padding: 26px 28px 30px;
  background:
    radial-gradient(circle at 86% 0, rgba(124, 255, 58, .055), transparent 28%),
    linear-gradient(180deg, rgba(9, 15, 11, .96), rgba(6, 10, 8, .98));
  border: 2px solid rgba(124, 255, 58, .52);
  border-radius: 22px;
  box-shadow:
    0 0 0 1px rgba(124, 255, 58, .08),
    0 0 30px rgba(124, 255, 58, .09),
    inset 0 1px 0 rgba(255, 255, 255, .025);
}
.market-ai-article-page .mai-impact-analysis::before {
  content: "MARKET IMPACT ANALYSIS / VERIFIED SOURCES";
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  margin-bottom: 14px;
  padding: 4px 9px;
  border: 1px solid rgba(124, 255, 58, .34);
  border-radius: 999px;
  color: var(--mai-primary);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .14em;
  line-height: 1;
}
.market-ai-article-page .mai-impact-analysis .mai-impact-lead {
  margin: 0 0 24px;
  padding: 18px 20px;
  background: rgba(124, 255, 58, .045);
  border: 1px solid rgba(124, 255, 58, .22);
  border-left: 4px solid var(--mai-primary);
  border-radius: 14px;
  color: var(--mai-text);
  font-size: clamp(17px, 1.9vw, 22px);
  font-weight: 700;
  line-height: 1.75;
}
.market-ai-article-page .mai-impact-analysis h2 {
  counter-increment: mai-impact-section;
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 34px 0 14px;
  padding: 0 0 10px;
  border-bottom: 1px solid rgba(124, 255, 58, .16);
  color: var(--mai-text);
  font-size: clamp(22px, 2.2vw, 30px);
  line-height: 1.35;
}
.market-ai-article-page .mai-impact-analysis h2::before {
  content: "0" counter(mai-impact-section);
  flex: 0 0 auto;
  color: var(--mai-primary);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
}
.market-ai-article-page .mai-impact-analysis h3 {
  margin: 22px 0 8px;
  color: var(--mai-primary);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: .02em;
}
.market-ai-article-page .mai-impact-analysis p {
  margin: 0 0 16px;
  color: var(--mai-text);
  font-size: 15px;
  line-height: 1.85;
}
.market-ai-article-page .mai-impact-analysis ul {
  display: grid;
  gap: 9px;
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
}
.market-ai-article-page .mai-impact-analysis li {
  position: relative;
  margin: 0;
  padding: 11px 14px 11px 32px;
  background: rgba(255, 255, 255, .018);
  border: 1px solid rgba(124, 255, 58, .12);
  border-radius: 10px;
  color: var(--mai-text);
  font-size: 14px;
  line-height: 1.7;
}
.market-ai-article-page .mai-impact-analysis li::before {
  content: "";
  position: absolute;
  top: 18px;
  left: 14px;
  width: 7px;
  height: 7px;
  background: var(--mai-primary);
  border-radius: 50%;
  box-shadow: 0 0 8px rgba(124, 255, 58, .28);
}
.market-ai-article-page .mai-impact-analysis a {
  color: var(--mai-primary);
  font-weight: 750;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.market-ai-article-page .mai-impact-analysis .mai-data-meta {
  margin-top: 18px;
  color: var(--mai-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .03em;
}
.market-ai-article-page .mai-impact-analysis .mai-impact-disclaimer {
  margin: 20px 0 0;
  padding: 14px 16px;
  background: rgba(156, 167, 181, .04);
  border: 1px solid rgba(156, 167, 181, .15);
  border-radius: 10px;
  color: var(--mai-muted);
  font-size: 11px;
  line-height: 1.75;
}
.market-ai-article-page .mai-impact-stock-scope {
  margin: 30px 0;
  padding: 22px 24px;
  background: linear-gradient(145deg, rgba(20, 52, 31, .84), rgba(8, 20, 13, .94));
  border: 2px solid rgba(124, 255, 58, .58);
  border-radius: 16px;
  box-shadow: 0 18px 44px rgba(0, 0, 0, .22), inset 0 0 28px rgba(124, 255, 58, .035);
}
.market-ai-article-page .mai-impact-stock-scope__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.market-ai-article-page .mai-impact-stock-scope__label {
  color: var(--mai-primary);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}
.market-ai-article-page .mai-impact-stock-scope__badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 10px;
  border: 1px solid rgba(124, 255, 58, .42);
  border-radius: 999px;
  color: #dffff0;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}
.market-ai-article-page .mai-impact-stock-scope h2 {
  margin: 0 0 12px;
  padding: 0;
  border: 0;
  color: #f2fff7;
  font-size: clamp(24px, 3vw, 32px);
}
.market-ai-article-page .mai-impact-stock-scope__note {
  margin: 0 0 14px;
  padding: 10px 12px;
  background: rgba(124, 255, 58, .055);
  border-left: 3px solid var(--mai-primary);
  border-radius: 0 9px 9px 0;
  color: var(--mai-text-sub);
  font-size: 13px;
  line-height: 1.7;
}
.market-ai-article-page .mai-impact-stock-scope__companies {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 10px 0 14px;
}
.market-ai-article-page .mai-impact-stock-scope__company {
  display: inline-flex;
  padding: 6px 9px;
  background: rgba(124, 255, 58, .08);
  border: 1px solid rgba(124, 255, 58, .32);
  border-radius: 8px;
  color: #eaffdf;
  font-size: 12px;
  font-weight: 800;
}
.market-ai-article-page .mai-impact-stock-scope__sectors {
  margin-top: 14px;
  color: var(--mai-text-sub);
  font-size: 13px;
}
@media (max-width: 820px) {
  .market-ai-article-page .mai-impact-analysis {
    padding: 20px 18px 24px;
    border-width: 2px;
    border-radius: 16px;
  }
  .market-ai-article-page .mai-impact-analysis .mai-impact-lead {
    padding: 15px 16px;
    font-size: 16px;
  }
  .market-ai-article-page .mai-impact-analysis h2 {
    margin-top: 28px;
    font-size: 21px;
  }
  .market-ai-article-page .mai-impact-analysis p {
    font-size: 14px;
    line-height: 1.8;
  }
  .market-ai-article-page .mai-impact-analysis li {
    padding: 10px 12px 10px 30px;
    font-size: 13px;
  }
}

/* Standard article page titles: same H1 size as securities-guide across breakpoints. */
.market-ai-article-page .mai-article-header h1 { font-size: var(--mai-page-title-size); line-height: 1.28; }

/* Compact article featured image. Keep original aspect ratio and full image/text visible. */
.market-ai-article-page .mai-article-hero-media { width: min(940px, calc(100vw - 48px)); max-width: 100%; margin-top: 20px; border-radius: 14px; }
.market-ai-article-page .mai-article-hero-image { display: block; width: 100%; height: auto; object-fit: contain; }
@media (max-width: 560px) {
  .market-ai-article-page .mai-article-hero-media { width: 100%; margin: 16px 0 0; transform: none; border-radius: 10px; }
}

/* Accessibility: article skip link is visually hidden except on keyboard focus. */
body.market-ai-article-page a.screen-reader-text[href="#mai-article-content"]:not(:focus-visible) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  border: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}
body.market-ai-article-page a.screen-reader-text[href="#mai-article-content"]:focus-visible {
  position: fixed !important;
  z-index: 10000 !important;
  top: 12px !important;
  left: 12px !important;
  width: auto !important;
  height: auto !important;
  padding: 12px 16px !important;
  margin: 0 !important;
  border: 2px solid #86efac !important;
  background: #061a12 !important;
  color: #fff !important;
  clip: auto !important;
  clip-path: none !important;
  white-space: normal !important;
}
