.ai-overview-page, .stock-ai-overview-host {
  --ai-bg: #f3f6fb;
  --ai-surface: #fff;
  --ai-ink: #14233c;
  --ai-muted: #53647b;
  --ai-border: #dce5f0;
  --ai-soft: #eaf0fc;
  --ai-blue: #365cf5;
  --ai-violet: #7657d9;
  --ai-green: #087f5b;
  --ai-red: #b43f52;
  --ai-amber: #946213;
  min-height: 100vh;
  background: var(--ai-bg);
  color: var(--ai-ink);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
html[data-theme=dark] .ai-overview-page, html[data-theme=dark] .stock-ai-overview-host {
  --ai-bg: #080f1c;
  --ai-surface: #111d30;
  --ai-ink: #f2f6ff;
  --ai-muted: #a8b7cc;
  --ai-border: #293c57;
  --ai-soft: #1a2a43;
  --ai-blue: #a5b6ff;
  --ai-violet: #c9a9ff;
  --ai-green: #68dab0;
  --ai-red: #ff929d;
  --ai-amber: #f0c77b;
}
.ai-overview-page * { box-sizing: border-box; }
.ai-overview-page [hidden] { display: none !important; }
.ai-container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.ai-topbar { background: #091321; color: #f3f7fa; border-bottom: 1px solid #ffffff1b; }
.ai-nav { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 60px; }
.ai-nav .brand { font-size: 17px; white-space: nowrap; }
.ai-nav .brand-dot, .ai-footer .brand-dot { color: #9eb0ff; }
.ai-nav-actions { display: flex; align-items: center; gap: 15px; }
.ai-nav-actions > a { color: #c4d2ec; font-size: 12px; font-weight: 700; text-decoration: none; }
.ai-nav-actions > a:hover { color: #fff; }
.ai-nav-actions .theme-toggle { width: 36px; height: 36px; }
.ai-breadcrumb { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 11px 0; color: var(--ai-muted); font-size: 11px; }
.ai-breadcrumb a { color: inherit; text-decoration: none; }
.ai-breadcrumb a:hover { color: var(--ai-blue); }
.ai-page-status { padding: 24px; border: 1px solid var(--ai-border); border-radius: 14px; background: var(--ai-surface); color: var(--ai-muted); text-align: center; }
.ai-company-bar { position: relative; display: grid; gap: 16px; padding: 18px 24px; overflow: hidden; border: 1px solid #8299e466; border-radius: 19px; background: radial-gradient(circle at 78% -50%, #6082fd55, transparent 39%), linear-gradient(115deg, #0e1d37, #172b4f); box-shadow: 0 14px 32px #132a5b20; color: #f5f8ff; animation: ai-rise .45s ease-out both; }
.ai-company-bar::after { content: ""; position: absolute; right: 27%; top: -85px; width: 210px; height: 210px; border: 1px solid #b5c6ff2b; border-radius: 50%; box-shadow: 0 0 0 29px #b5c6ff0b, 0 0 0 60px #b5c6ff09; pointer-events: none; }
.ai-company-headline { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: center; gap: 25px; min-width: 0; }
.ai-kicker { display: flex; align-items: center; gap: 7px; margin: 0; color: var(--ai-blue); font-size: 10px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.ai-company-bar .ai-kicker { color: #b8c8ff; }
.ai-kicker > span:first-child { font-size: 16px; line-height: 1; }
.ai-live-dot { width: 4px; height: 4px; margin-inline: 3px; border-radius: 50%; background: #a3b9ff; }
.ai-company-bar h1 { margin: 7px 0 3px; color: #fff; font-size: clamp(25px, 2.7vw, 35px); line-height: 1.08; letter-spacing: -.04em; }
.ai-company-meta { display: flex; gap: 8px; margin: 0; color: #b9c9e5; font-size: 11px; }
.ai-company-meta span + span::before { content: "·"; margin-right: 8px; }
.ai-company-price { position: relative; z-index: 1; display: flex; flex-wrap: wrap; align-items: baseline; justify-content: flex-end; gap: 3px 11px; min-width: 220px; text-align: right; }
.ai-company-price > span:first-child { flex-basis: 100%; color: #b9c9e5; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.ai-company-price strong { color: #fff; font-size: clamp(23px, 2.6vw, 32px); letter-spacing: -.045em; line-height: 1.1; }
.ai-change { padding: 3px 6px; border-radius: 6px; background: #dae2ff2b; color: #d9e3ff; font-size: 11px; font-weight: 750; }
.ai-change.positive { background: #33bb8540; color: #aef0cf; }
.ai-change.negative { background: #e4617640; color: #ffc9d0; }
.ai-company-price small { flex-basis: 100%; color: #9eb2d3; font-size: 10px; }
.ai-dashboard { margin-top: 13px; }
.ai-loading { padding: 21px; border: 1px solid var(--ai-border); border-radius: 16px; background: linear-gradient(100deg, var(--ai-surface), var(--ai-soft), var(--ai-surface)); background-size: 200% 100%; color: var(--ai-muted); font-size: 13px; animation: ai-shimmer 2s linear infinite; }
.ai-loading.error { background: var(--ai-surface); animation: none; }
.ai-loading button, .ai-page-status button { margin-left: 12px; padding: 7px 11px; border: 1px solid var(--ai-border); border-radius: 7px; background: var(--ai-soft); color: var(--ai-ink); cursor: pointer; font-size: 12px; }
.ai-summary { --mood: var(--ai-violet); position: relative; display: grid; grid-template-columns: 116px minmax(0, 1fr); align-items: center; gap: 24px; overflow: hidden; min-height: 170px; padding: 24px 34px 24px 25px; background: radial-gradient(circle at 68px 50%, color-mix(in srgb, var(--mood) 32%, transparent) 0, color-mix(in srgb, var(--mood) 12%, transparent) 12%, transparent 30%), linear-gradient(120deg, #263d81 0%, #273568 54%, #4d3681 100%); color: #f6f8ff; transition: background .25s; }
.ai-summary[data-tone=positive] { --mood: var(--ai-green); }
.ai-summary[data-tone=negative] { --mood: var(--ai-red); }
.ai-summary[data-tone=caution] { --mood: var(--ai-amber); }
.ai-summary::before { content: ""; position: absolute; left: -57px; top: 50%; width: 245px; height: 245px; transform: translateY(-50%); border: 1px solid color-mix(in srgb, var(--mood) 44%, transparent); border-radius: 50%; box-shadow: 0 0 0 27px color-mix(in srgb, var(--mood) 8%, transparent), 0 0 0 57px color-mix(in srgb, var(--mood) 5%, transparent); opacity: .7; pointer-events: none; }
.ai-summary::after { content: "✦"; position: absolute; right: 18px; top: -24px; color: #d6cdff; opacity: .12; font-size: 128px; pointer-events: none; }
.ai-summary-copy { position: relative; z-index: 1; min-width: 0; }
.ai-summary-label { position: relative; z-index: 1; color: #d3dcff; font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.ai-summary h2 { position: relative; z-index: 1; margin: 8px 0; color: #fff; font-size: clamp(18px, 2vw, 25px); letter-spacing: -.03em; line-height: 1.16; }
.ai-summary p { position: relative; z-index: 1; max-width: 80ch; margin: 0; color: #e1e7fa; font-size: 12px; line-height: 1.55; }
.ai-summary .ai-evidence a { color: #dce4ff; }
.ai-robot-guide { --mood: var(--ai-violet); position: relative; z-index: 1; display: grid; justify-items: center; align-content: center; gap: 10px; min-width: 0; min-height: 118px; }
.ai-robot-guide[data-tone=positive] { --mood: var(--ai-green); }
.ai-robot-guide[data-tone=negative] { --mood: var(--ai-red); }
.ai-robot-guide[data-tone=caution] { --mood: var(--ai-amber); }
.ai-robot-guide-face { position: relative; display: grid; place-items: center; width: 92px; height: 92px; }
.ai-robot-guide-face::before { content: ""; position: absolute; width: 73px; height: 73px; border: 1px solid color-mix(in srgb, var(--mood) 70%, transparent); border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--mood) 38%, transparent), transparent 72%); box-shadow: 0 0 0 7px color-mix(in srgb, var(--mood) 13%, transparent), 0 0 25px color-mix(in srgb, var(--mood) 35%, transparent); animation: ai-robot-halo 4s ease-in-out infinite; }
.ai-robot-tone { align-self: center; display: inline-flex; align-items: center; justify-content: center; width: max-content; max-width: 116px; padding: 4px 8px; border: 1px solid color-mix(in srgb, var(--mood) 52%, #fff); border-radius: 999px; background: color-mix(in srgb, var(--mood) 18%, transparent); color: color-mix(in srgb, var(--mood) 55%, #fff); font-size: 9px; font-weight: 750; line-height: 1.2; text-align: center; }
.ai-robot { --robot-accent: #d8ceff; --robot-shell: #9883f2; display: inline-grid; place-items: center; flex: 0 0 auto; width: 33px; height: 33px; animation: ai-robot-enter .22s ease-out both; }
.ai-robot.is-large { width: 82px; height: 82px; }
.ai-robot.positive { --robot-accent: #9df5ce; --robot-shell: #24b98b; }
.ai-robot.negative { --robot-accent: #ffd0d6; --robot-shell: #e46b7d; }
.ai-robot.caution { --robot-accent: #ffe5ab; --robot-shell: #e6aa49; }
.ai-robot svg { display: block; width: 100%; height: 100%; overflow: visible; filter: drop-shadow(0 4px 7px color-mix(in srgb, var(--robot-shell) 55%, transparent)); }
.ai-robot.is-large svg { animation: ai-robot-float 4s ease-in-out infinite; }
.ai-robot-antenna { fill: none; stroke: var(--robot-accent); stroke-width: 4; stroke-linecap: round; }
.ai-robot-antenna-tip, .ai-robot-ear { fill: var(--robot-accent); }
.ai-robot-shell { fill: var(--robot-shell); }
.ai-robot-screen { fill: #1a2e58; }
.ai-robot-brows, .ai-robot-mouth { fill: none; stroke: #f7f9ff; stroke-width: 3.6; stroke-linecap: round; stroke-linejoin: round; }
.ai-robot-brows { stroke-width: 2.4; opacity: .76; }
.ai-robot-eye { fill: #fff; transform-box: fill-box; transform-origin: center; animation: ai-robot-blink 6s infinite; }
.ai-robot-eyes { fill: none; stroke: #fff; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.ai-robot-cheeks { fill: none; stroke: #ffbfd3; stroke-width: 3; stroke-linecap: round; opacity: 0; }
.ai-robot.positive .ai-robot-cheeks { opacity: .9; }
.ai-insight-explorer { overflow: hidden; border: 1px solid #7b92f855; border-radius: 18px; background: var(--ai-surface); box-shadow: 0 12px 32px #24488b0d; animation: ai-rise .55s .15s ease-out both; }
.ai-insight-body { padding: 18px 20px 16px; background: linear-gradient(135deg, color-mix(in srgb, var(--ai-blue) 7%, var(--ai-surface)), var(--ai-surface) 44%); }
.ai-insight-meta, .ai-categories { position: relative; z-index: 1; }
.ai-insight-meta { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 5px 12px; }
.ai-insight-meta > span { color: var(--ai-muted); font-size: 10px; }
.ai-signal-count { margin: 0; color: var(--ai-muted); font-size: 11px; font-weight: 700; }
.ai-categories { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 16px; padding-top: 15px; border-top: 1px solid var(--ai-border); }
.ai-categories[hidden] { display: none; }
.ai-category { min-width: 0; padding: 13px; border: 1px solid var(--ai-border); border-radius: 12px; background: color-mix(in srgb, var(--ai-bg) 72%, var(--ai-surface)); }
.ai-category h3 { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin: 0 0 10px; color: var(--ai-ink); font-size: 13px; }
.ai-category-count { display: grid; place-items: center; min-width: 22px; height: 22px; padding: 0 5px; border-radius: 7px; background: var(--ai-soft); color: var(--ai-muted); font-size: 10px; }
.ai-category ul { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.ai-category .ai-empty { margin: 0; }
.ai-signal { --signal-color: var(--ai-violet); border: 1px solid var(--ai-border); border-left: 3px solid var(--signal-color); border-radius: 9px; padding: 11px 12px; background: var(--ai-surface); box-shadow: 0 4px 15px #172e6109; }
.ai-signal.positive { --signal-color: var(--ai-green); border-color: color-mix(in srgb, var(--signal-color) 48%, var(--ai-border)); border-left-color: var(--signal-color); background: linear-gradient(120deg, color-mix(in srgb, var(--signal-color) 19%, var(--ai-surface)), color-mix(in srgb, var(--signal-color) 8%, var(--ai-surface))); }
.ai-signal.negative { --signal-color: var(--ai-red); border-color: color-mix(in srgb, var(--signal-color) 48%, var(--ai-border)); border-left-color: var(--signal-color); background: linear-gradient(120deg, color-mix(in srgb, var(--signal-color) 19%, var(--ai-surface)), color-mix(in srgb, var(--signal-color) 8%, var(--ai-surface))); }
.ai-signal.caution { --signal-color: var(--ai-amber); }
.ai-signal-heading { display: flex; align-items: center; gap: 7px; }
.ai-signal-head { display: flex; align-items: baseline; justify-content: space-between; flex: 1; gap: 10px; min-width: 0; }
.ai-signal-title { color: var(--ai-ink); font-size: 12px; font-weight: 750; line-height: 1.35; }
.ai-tone { color: var(--ai-violet); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.ai-signal.positive .ai-tone { color: var(--ai-green); }
.ai-signal.negative .ai-tone { color: var(--ai-red); }
.ai-signal.caution .ai-tone { color: var(--ai-amber); }
.ai-signal-facts { display: flex; flex-wrap: wrap; gap: 6px; margin: 9px 0 0 40px; }
.ai-signal-fact { display: inline-flex; align-items: baseline; gap: 5px; padding: 4px 7px; border: 1px solid color-mix(in srgb, var(--signal-color) 42%, transparent); border-radius: 7px; background: color-mix(in srgb, var(--signal-color) 12%, transparent); color: var(--signal-color); font-size: 10px; font-weight: 800; line-height: 1.2; }
.ai-signal-fact-label { opacity: .78; font-size: 9px; letter-spacing: .025em; text-transform: uppercase; }
.ai-signal-fact strong { color: currentColor; font-size: 11px; font-weight: 850; }
.ai-signal p { margin: 6px 0 0 40px; color: var(--ai-muted); font-size: 11px; line-height: 1.55; }
.ai-empty { margin: 0; color: var(--ai-muted); font-size: 11px; line-height: 1.4; }
.ai-evidence { display: inline-flex; gap: 5px; margin-left: 5px; }
.ai-evidence a { color: var(--ai-blue); font-size: 10px; font-weight: 800; text-decoration: none; }
.ai-evidence a:hover { text-decoration: underline; }
.ai-metrics-section { position: relative; z-index: 1; min-width: 0; padding: 12px 15px; border: 1px solid #bed0ff38; border-radius: 13px; background: #ffffff0d; }
.ai-metrics-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0; }
.ai-metric { min-width: 0; padding: 2px 11px; border-left: 1px solid #bed0ff33; }
.ai-metric:first-child { padding-left: 0; border-left: 0; }
.ai-metric-label { display: block; color: #b9c9e5; font-size: 9px; }
.ai-metric-value { display: block; margin: 4px 0 2px; color: #fff; font-size: clamp(14px, 1.4vw, 18px); font-weight: 780; letter-spacing: -.035em; line-height: 1.1; overflow-wrap: anywhere; }
.ai-metric-note { display: block; color: #9eb2d3; font-size: 9px; line-height: 1.25; }
.ai-metric-note.positive { color: #aef0cf; }
.ai-metric-note.negative { color: #ffc9d0; }
.ai-metrics-grid > .ai-empty { color: #b9c9e5; }
.ai-range-card { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 16px; margin-top: 10px; padding-top: 9px; border-top: 1px solid #bed0ff33; }
.ai-range-head { display: flex; align-items: baseline; gap: 8px; }
.ai-range-head strong { color: #f5f8ff; font-size: 10px; }
.ai-range-head span, .ai-range-labels small { color: #b9c9e5; font-size: 9px; }
.ai-range-plot { min-width: 0; padding-inline: 7px; }
.ai-range-track { position: relative; height: 6px; margin-top: 5px; border-radius: 99px; background: linear-gradient(90deg, #846de7, #618cfa, #57bb93); }
.ai-range-marker, .ai-range-point { position: absolute; top: 50%; transform: translate(-50%, -50%); }
.ai-range-marker { z-index: 2; width: 13px; height: 13px; border: 2px solid #fff; border-radius: 50%; background: #182b56; box-shadow: 0 2px 5px #0005; }
.ai-range-point { z-index: 1; }
.ai-range-year-point { width: 12px; height: 12px; border: 2px solid #172b4f; border-radius: 2px; background: #b8c6ff; box-shadow: 0 0 0 1px #ffffffaa; transform: translate(-50%, -50%) rotate(45deg); }
.ai-range-ath-point { width: 18px; height: 18px; background: #ffd28b; clip-path: polygon(50% 0, 62% 34%, 98% 35%, 70% 57%, 79% 91%, 50% 71%, 21% 91%, 30% 57%, 2% 35%, 38% 34%); filter: drop-shadow(0 0 2px #fff); }
.ai-range-labels { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 5px 12px; margin-top: 9px; }
.ai-range-labels span { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.ai-range-labels strong { color: #f5f8ff; font-size: 10px; font-weight: 750; }
.ai-range-labels .ai-range-low-label::before, .ai-range-labels .ai-range-year-label::before, .ai-range-labels .ai-range-ath-label::before { content: ""; flex: 0 0 auto; width: 8px; height: 8px; background: #b8c6ff; }
.ai-range-labels .ai-range-low-label::before { border-radius: 50%; background: #947aff; }
.ai-range-labels .ai-range-year-label::before { border-radius: 1px; transform: rotate(45deg); }
.ai-range-labels .ai-range-ath-label::before { width: 10px; height: 10px; background: #ffd28b; clip-path: polygon(50% 0, 62% 34%, 98% 35%, 70% 57%, 79% 91%, 50% 71%, 21% 91%, 30% 57%, 2% 35%, 38% 34%); }
.ai-bottom-row { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-top: 12px; }
.ai-sources { color: var(--ai-muted); font-size: 11px; }
.ai-sources summary { cursor: pointer; font-weight: 700; }
.ai-sources summary span { margin-left: 3px; }
.ai-sources ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 22px; margin: 12px 0; padding-left: 19px; }
.ai-sources li a { color: var(--ai-blue); text-decoration: none; }
.ai-sources li a:hover { text-decoration: underline; }
.ai-sources p { margin: 5px 0; font-size: 10px; }
.ai-bottom-row > a { color: var(--ai-blue); font-size: 11px; font-weight: 750; text-decoration: none; white-space: nowrap; }
.ai-bottom-row > a:hover { text-decoration: underline; }
.ai-disclaimer { margin: 11px 0 15px; color: var(--ai-muted); font-size: 10px; }
.ai-footer { display: flex; justify-content: space-between; gap: 20px; padding: 12px 0 18px; border-top: 1px solid var(--ai-border); }
.ai-footer a { color: var(--ai-ink); font-size: 12px; font-weight: 750; text-decoration: none; }
.ai-footer span:last-child { color: var(--ai-muted); font-size: 10px; }
.ai-overview-page a:focus-visible, .ai-overview-page button:focus-visible, .ai-overview-page summary:focus-visible { outline: 3px solid var(--ai-blue); outline-offset: 3px; }
@keyframes ai-rise { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: none; } }
@keyframes ai-shimmer { to { background-position: -200% 0; } }
@keyframes ai-robot-enter { from { opacity: .45; transform: translateY(4px) scale(.93); } to { opacity: 1; transform: none; } }
@keyframes ai-robot-blink { 0%, 46%, 50%, 100% { transform: scaleY(1); } 48% { transform: scaleY(.14); } }
@keyframes ai-robot-float { 0%, 100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-5px) rotate(2deg); } }
@keyframes ai-robot-halo { 0%, 100% { transform: scale(.96); opacity: .7; } 50% { transform: scale(1.05); opacity: 1; } }
@keyframes ai-robot-idle { 0%, 100% { transform: translateY(0) rotate(-2deg); } 25% { transform: translateY(-2px) rotate(1deg); } 55% { transform: translateY(1px) rotate(2deg); } 78% { transform: translateY(-1px) rotate(-1deg); } }
@keyframes ai-robot-eye-blink { 0%, 43%, 47%, 78%, 82%, 100% { transform: scaleY(1); } 45%, 80% { transform: scaleY(.12); } }
@media (max-width: 900px) {
  .ai-metrics-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 12px; }
  .ai-metric:nth-child(3n+1) { padding-left: 0; border-left: 0; }
  .ai-range-card { grid-template-columns: 1fr; gap: 9px; }
}
@media (max-width: 700px) {
  .ai-container { width: calc(100% - 26px); }
  .ai-nav { min-height: 56px; }
  .ai-nav .brand { font-size: 15px; }
  .ai-nav .brand-icon { width: 27px; height: 27px; }
  .ai-nav-actions > a { font-size: 10px; }
  .ai-company-bar { gap: 13px; padding: 18px; }
  .ai-company-headline { align-items: flex-start; flex-direction: column; gap: 12px; }
  .ai-company-price { justify-content: flex-start; min-width: 0; text-align: left; }
  .ai-company-price > span:first-child, .ai-company-price small { flex-basis: auto; align-self: center; }
  .ai-summary { grid-template-columns: 82px minmax(0, 1fr); gap: 17px; min-height: 150px; padding: 20px; }
  .ai-categories { grid-template-columns: 1fr; }
  .ai-robot-guide { min-height: 100px; }
  .ai-robot-guide-face { width: 67px; height: 67px; }
  .ai-robot-guide-face::before { width: 59px; height: 59px; }
  .ai-robot.is-large { width: 65px; height: 65px; }
  .ai-metrics-section { padding: 12px; }
  .ai-metrics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ai-metric:nth-child(3n+1) { padding-left: 11px; border-left: 1px solid #bed0ff33; }
  .ai-metric:nth-child(2n+1) { padding-left: 0; border-left: 0; }
  .ai-range-head { flex-wrap: wrap; }
  .ai-range-labels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 15px; }
  .ai-range-labels.without-ath { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ai-range-labels span { min-width: 0; flex-direction: column; align-items: center; gap: 3px; text-align: center; white-space: normal; }
  .ai-range-labels strong { font-size: clamp(11px, 3.1vw, 13px); white-space: nowrap; }
  .ai-range-labels small { font-size: 10px; line-height: 1.2; }
  .ai-bottom-row { align-items: flex-start; }
  .ai-sources ol { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .ai-insight-body { padding: 16px 14px; }
  .ai-summary { grid-template-columns: 1fr; gap: 8px; padding: 19px 18px 21px; }
  .ai-summary::before { left: 50%; top: -135px; transform: translateX(-50%); }
  .ai-robot-guide { grid-template-columns: 57px max-content; align-items: center; justify-content: start; min-height: 57px; }
  .ai-robot-guide-face { width: 57px; height: 57px; }
  .ai-robot-guide-face::before { width: 50px; height: 50px; }
  .ai-robot.is-large { width: 55px; height: 55px; }
  .ai-signal-facts, .ai-signal p { margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .ai-overview-page *, .ai-overview-page *::before, .ai-overview-page *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Signal board shared by the stock detail tab and the personal dashboard. */
.stock-panel.stock-ai-overview-host, .dashboard-ai-overview-host { min-height: 0; }
.stock-ai-overview-host .ai-insight-explorer { border-radius: 18px; background: var(--ai-bg); }
.stock-ai-overview-host .ai-summary { grid-template-columns: 92px minmax(0, 1fr); gap: 15px; min-height: 130px; padding: 15px 20px; }
.stock-ai-overview-host .ai-summary::before { left: -42px; width: 260px; height: 260px; }
.stock-ai-overview-host .ai-robot-guide { min-height: 96px; gap: 3px; }
.stock-ai-overview-host .ai-robot-guide-face { width: 82px; height: 82px; }
.stock-ai-overview-host .ai-robot-guide-face::before { width: 68px; height: 68px; animation: none; }
.stock-ai-overview-host .ai-robot.is-large { width: 76px; height: 76px; }
.stock-ai-overview-host .ai-robot.is-large svg { animation: none; }
.stock-ai-overview-host .ai-robot { width: 29px; height: 29px; transform-origin: 50% 70%; animation: ai-robot-idle var(--ai-bot-idle-duration, 3.8s) ease-in-out infinite; animation-delay: var(--ai-bot-idle-delay, 0s); }
.stock-ai-overview-host .ai-robot-eyes { transform-box: fill-box; transform-origin: center; animation: ai-robot-eye-blink var(--ai-bot-blink-duration, 5.2s) linear infinite; animation-delay: var(--ai-bot-blink-delay, 0s); }
.stock-ai-overview-host .ai-robot.positive svg { transform: rotate(-5deg); }
.stock-ai-overview-host .ai-robot.negative svg { transform: rotate(5deg); }
.stock-ai-overview-host .ai-robot.caution svg { transform: rotate(-3deg); }
.stock-ai-overview-host .ai-robot-antenna-tip { filter: drop-shadow(0 0 4px var(--robot-accent)); }
.stock-ai-overview-host .ai-robot-tone { max-width: 120px; padding: 3px 7px; font-size: 9px; }
.stock-ai-overview-host .ai-summary h2 { margin: 4px 0 5px; font-size: clamp(18px, 1.8vw, 23px); line-height: 1.2; }
.stock-ai-overview-host .ai-summary p { max-width: 78ch; font-size: 12px; line-height: 1.48; }
.stock-ai-overview-host .ai-insight-body { padding: 12px 14px 15px; }
.stock-ai-overview-host .ai-insight-meta { align-items: center; }
.stock-ai-overview-host .ai-signal-count { color: var(--ai-ink); font-size: 10px; }
.stock-ai-overview-host .ai-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 10px; margin-top: 10px; padding-top: 10px; }
.stock-ai-overview-host .ai-category { padding: 11px; border-color: var(--ai-border); border-radius: 13px; background: var(--ai-surface); box-shadow: 0 6px 22px #172e610a; }
.stock-ai-overview-host .ai-category h3 { justify-content: flex-start; gap: 8px; margin-bottom: 8px; font-size: 12px; line-height: 1.35; }
.stock-ai-overview-host .ai-category h3::before { content: ""; width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: var(--ai-blue); box-shadow: 0 0 0 4px var(--ai-soft); }
.stock-ai-overview-host .ai-category-count { margin-left: auto; }
.stock-ai-overview-host .ai-category ul { grid-template-columns: minmax(0, 1fr); gap: 7px; }
.stock-ai-overview-host .ai-category:last-child:nth-child(odd) { grid-column: 1 / -1; }
.stock-ai-overview-host .ai-category:last-child:nth-child(odd) ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.stock-ai-overview-host .ai-signal { height: 100%; padding: 9px 10px; border: 1px solid color-mix(in srgb, var(--signal-color) 32%, var(--ai-border)); border-top: 2px solid var(--signal-color); border-radius: 10px; background: linear-gradient(145deg, color-mix(in srgb, var(--signal-color) 6%, var(--ai-surface)), var(--ai-surface) 64%); box-shadow: 0 3px 12px #172e6108; transition: border-color .2s, box-shadow .2s; }
.stock-ai-overview-host .ai-signal:hover, .stock-ai-overview-host .ai-signal:focus-within { border-color: color-mix(in srgb, var(--signal-color) 55%, var(--ai-border)); box-shadow: 0 7px 20px #172e6117; }
.stock-ai-overview-host .ai-signal-heading { gap: 7px; }
.stock-ai-overview-host .ai-signal-title { font-size: 12px; }
.stock-ai-overview-host .ai-tone { flex: 0 0 auto; font-size: 9px; letter-spacing: .05em; }
.stock-ai-overview-host .ai-signal-facts { margin: 6px 0 0 36px; }
.stock-ai-overview-host .ai-signal-fact { padding: 3px 6px; }
.stock-ai-overview-host .ai-signal p { margin: 5px 0 0 36px; font-size: 11px; line-height: 1.45; }
.stock-ai-overview-host .ai-evidence a:focus-visible { outline: 2px solid var(--ai-blue); outline-offset: 3px; border-radius: 2px; }
@media (max-width: 760px) {
  .stock-ai-overview-host .ai-categories { grid-template-columns: minmax(0, 1fr); }
  .stock-ai-overview-host .ai-category:last-child:nth-child(odd) ul { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 480px) {
  .stock-ai-overview-host .ai-summary { grid-template-columns: minmax(0, 1fr); gap: 7px; min-height: 0; padding: 13px 15px 15px; }
  .stock-ai-overview-host .ai-summary::before { left: -90px; top: -100px; transform: none; }
  .stock-ai-overview-host .ai-robot-guide { display: flex; justify-content: flex-start; align-items: center; gap: 10px; min-height: 0; }
  .stock-ai-overview-host .ai-robot-guide-face { width: 57px; height: 57px; }
  .stock-ai-overview-host .ai-robot-guide-face::before { width: 49px; height: 49px; }
  .stock-ai-overview-host .ai-robot.is-large { width: 54px; height: 54px; }
  .stock-ai-overview-host .ai-robot-tone { max-width: 180px; }
  .stock-ai-overview-host .ai-summary h2 { font-size: 18px; }
  .stock-ai-overview-host .ai-summary p { font-size: 11px; }
  .stock-ai-overview-host .ai-insight-body { padding: 10px; }
  .stock-ai-overview-host .ai-category { padding: 9px; }
  .stock-ai-overview-host .ai-signal { padding: 8px; }
  .stock-ai-overview-host .ai-signal-facts, .stock-ai-overview-host .ai-signal p { margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .stock-ai-overview-host *, .stock-ai-overview-host *::before, .stock-ai-overview-host *::after { animation: none !important; transition: none !important; }
}
