/* ======================================================================
   HUNTER MOBILE UX v6.3 — readability, touch comfort, exact rhythm
   Loaded LAST after all legacy/theme/intelligence styles.
   Scope: phones and small tablets only. Desktop layout is untouched.
   ====================================================================== */
@media (max-width: 767px) {
  :root {
    --hm-gutter: 12px;
    --hm-control: 44px;
    --hm-control-primary: 48px;
    --hm-radius: 16px;
    --hm-font-body: 16px;
    --hm-font-meta: 13px;
    --hm-font-small: 12.5px;
    --hm-line-body: 1.82;
  }

  /* ---------- Foundation / reflow ---------- */
  html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    scroll-padding-top: 116px;
  }
  html[data-theme="light"] {
    /* Normal-size text must not use the old low-contrast muted grey. */
    --hunter-muted: #526773;
    --hi-muted: #526773;
    --text-muted: #475d6b;
    --text-dim: #526773;
    --textMuted: #526773;
    --placeholder: #607785;
    --hunter-accent: #087a72;
    --hunter-accent-strong: #06736d;
    --hi-accent: #087a72;
    --hi-accent-deep: #066f69;
    --hunter-gold: #a15b00;
    --hi-gold: #a15b00;
  }
  html[data-theme="light"] .text-cyan-300,
  html[data-theme="light"] .text-cyan-400,
  html[data-theme="light"] .text-cyan-500,
  html[data-theme="light"] .text-emerald-300,
  html[data-theme="light"] .text-emerald-400,
  html[data-theme="light"] .text-emerald-500 { color:#087a72 !important; }
  html[data-theme="light"] .text-amber-300,
  html[data-theme="light"] .text-amber-400,
  html[data-theme="light"] .text-amber-500 { color:#a15b00 !important; }
  html[data-theme="light"] .text-rose-400 { color:#be123c !important; }
  html[data-theme="light"] .text-blue-400 { color:#1d4ed8 !important; }
  body {
    font-size: var(--hm-font-body) !important;
    line-height: var(--hm-line-body);
    overflow-x: clip !important;
    overscroll-behavior-y: auto !important;
  }
  body, #mainFeed, #mainFeed * {
    overflow-wrap: break-word;
  }
  img, video, canvas {
    max-width: 100%;
    height: auto;
  }
  /* Narrow Arabic columns are substantially easier to scan without full justification. */
  #mainFeed .text-justify,
  .hunter-intel-sheet .text-justify,
  .mc-conclusion-text,
  .compass-elite-body,
  .compass-elite-list,
  .compass-elite-conclusion-text {
    text-align: start !important;
    text-align-last: auto !important;
  }

  /* One horizontal datum for search, tabs, quick actions and all content cards. */
  .hunter-page-shell {
    width: 100% !important;
    max-width: 100% !important;
    padding-inline: var(--hm-gutter) !important;
  }
  .site-intel-grid,
  #mainFeed {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    gap: 16px !important;
  }
  #mainFeed > * {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .card,
  article.news-card,
  .ai-forensic-box,
  #hunterStrategicReport.hunter-strategic-card {
    border-radius: var(--hm-radius) !important;
  }

  /* ---------- Touch targets ---------- */
  button,
  .btn,
  [role="button"],
  .hunter-brand[role="link"],
  label[for],
  #attachReportBtn {
    min-height: var(--hm-control) !important;
    touch-action: manipulation;
  }
  button,
  .btn,
  [role="button"] {
    min-width: var(--hm-control) !important;
    font-size: 14px !important;
  }
  button:focus-visible,
  .btn:focus-visible,
  [role="button"]:focus-visible,
  a:focus-visible,
  input:focus-visible,
  textarea:focus-visible,
  select:focus-visible {
    outline: 3px solid rgba(22,215,193,.95) !important;
    outline-offset: 2px !important;
  }
  input:not([type="checkbox"]):not([type="radio"]),
  textarea,
  select {
    font-size: 16px !important; /* also prevents iOS focus zoom */
  }
  .inp,
  input:not([type="checkbox"]):not([type="radio"]),
  select {
    min-height: var(--hm-control) !important;
  }

  /* ---------- Header: compact visually, not physically hard to tap ---------- */
  :root {
    --hunter-header-top: 5px;
    --hunter-header-height: 56px;
    --hunter-header-radius: 17px;
    --hunter-tabs-top: 66px;
  }
  html.is-page-scrolled {
    --hunter-header-top: 4px;
    --hunter-header-height: 50px;
    --hunter-header-radius: 15px;
    --hunter-tabs-top: 58px;
  }
  body { padding-top: 68px !important; }
  #siteHeader,
  nav.hunter-site-header,
  nav.fixed.top-0.hunter-site-header {
    padding-inline: 6px !important;
  }
  #siteHeader > .hunter-header-bar {
    width: calc(100% - 12px) !important;
    height: var(--hunter-header-height) !important;
    min-height: var(--hunter-header-height) !important;
    padding-inline: 7px !important;
    margin-top: var(--hunter-header-top) !important;
    border-radius: var(--hunter-header-radius) !important;
  }
  .hunter-brand {
    min-height: var(--hm-control) !important;
    padding: 3px 4px !important;
    gap: 6px !important;
  }
  .hunter-brand img[src*="hunter-head-og"] {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    border-radius: 10px !important;
  }
  .hunter-brand .text-white.font-black {
    font-size: 14.5px !important;
    line-height: 1 !important;
  }
  .hunter-brand .text-slate-400 {
    font-size: 10.5px !important;
    line-height: 1.2 !important;
  }
  .hunter-header-actions {
    gap: 2px !important;
  }
  .hunter-header-actions #themeBtn,
  .hunter-header-actions #savedBtn,
  .hunter-header-actions #bellBtn,
  .hunter-header-actions #adminBtn,
  html.is-page-scrolled .hunter-header-actions #themeBtn,
  html.is-page-scrolled .hunter-header-actions #savedBtn,
  html.is-page-scrolled .hunter-header-actions #bellBtn,
  html.is-page-scrolled .hunter-header-actions #adminBtn {
    width: var(--hm-control) !important;
    height: var(--hm-control) !important;
    min-width: var(--hm-control) !important;
    min-height: var(--hm-control) !important;
    border-radius: 12px !important;
  }
  .hunter-tool-icon {
    width: 20px !important;
    height: 20px !important;
  }
  #adminBtn svg { width: 17px !important; height: 17px !important; }
  #loginBtn,
  html.is-page-scrolled #loginBtn {
    height: var(--hm-control) !important;
    min-height: var(--hm-control) !important;
    min-width: 56px !important;
    padding-inline: 10px !important;
    border-radius: 12px !important;
    font-size: 14px !important;
  }
  #loginBtn svg { width: 17px !important; height: 17px !important; }
  #userArea,
  html.is-page-scrolled #userArea {
    height: var(--hm-control) !important;
    min-height: var(--hm-control) !important;
    padding: 4px !important;
  }
  #uAvatar,
  html.is-page-scrolled #uAvatar {
    width: 34px !important;
    height: 34px !important;
  }
  #bellCount {
    min-width: 18px !important;
    height: 18px !important;
    font-size: 11px !important;
    line-height: 14px !important;
  }

  /* ---------- Mobile search ---------- */
  .mobile-search-wrapper,
  .mobile-search-wrapper.hunter-mobile-search {
    width: 100% !important;
    margin: 4px 0 10px !important;
    padding-inline: 0 !important;
  }
  #searchInputMobile {
    height: var(--hm-control-primary) !important;
    min-height: var(--hm-control-primary) !important;
    border-radius: 14px !important;
    padding-block: 0 !important;
    padding-inline-start: 48px !important;
    padding-inline-end: 48px !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
  }
  .hunter-mobile-search .relative > .absolute.pointer-events-none {
    width: 24px !important;
    height: 24px !important;
    left: 14px !important;
    display: grid !important;
    place-items: center !important;
  }
  #clearSearchMobile {
    width: var(--hm-control) !important;
    height: var(--hm-control) !important;
    min-width: var(--hm-control) !important;
    right: 2px !important;
    display: grid;
    place-items: center;
  }

  /* ---------- Sticky section navigation ---------- */
  .sections-nav-shell,
  html.is-page-scrolled .sections-nav-shell {
    width: 100% !important;
    top: var(--hunter-tabs-top) !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
  }
  .hunter-primary-nav,
  html.is-page-scrolled .hunter-primary-nav {
    width: 100% !important;
    min-height: 54px !important;
    padding: 4px !important;
    gap: 3px !important;
    border-radius: 16px !important;
  }
  .hunter-primary-nav-btn {
    min-height: 46px !important;
    height: 46px !important;
    padding: 0 5px !important;
    gap: 4px !important;
    border-radius: 12px !important;
  }
  html.is-page-scrolled .hunter-primary-nav-btn {
    min-height: var(--hm-control) !important;
    height: var(--hm-control) !important;
    padding: 0 4px !important;
    border-radius: 11px !important;
  }
  .hunter-primary-nav-btn .nav-icon,
  html.is-page-scrolled .hunter-primary-nav-btn .nav-icon {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
  }
  .hunter-primary-nav-btn .nav-text-short,
  html.is-page-scrolled .hunter-primary-nav-btn .nav-text-short {
    display: inline !important;
    font-size: 12.5px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
  }
  .hunter-primary-nav-btn.is-active,
  html[data-theme="light"] .hunter-primary-nav-btn.is-active {
    color:#fff !important;
    background:linear-gradient(135deg,#036f69 0%,#0a8078 100%) !important;
    border-color:rgba(3,111,105,.34) !important;
    box-shadow:0 8px 20px rgba(3,111,105,.24),inset 0 1px 0 rgba(255,255,255,.20) !important;
  }
  .hunter-primary-nav-btn.is-active .nav-icon,
  .hunter-primary-nav-btn.is-active .nav-text,
  .hunter-primary-nav-btn.is-active .nav-text-short { color:#fff !important; }

  /* ---------- Intelligence quick bar under tabs ---------- */
  .hunter-intel-quickbar {
    width: 100% !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    gap: 6px !important;
  }
  .hunter-intel-chip {
    height: 46px !important;
    min-height: 46px !important;
    padding-inline: 7px !important;
    border-radius: 12px !important;
    gap: 5px !important;
    font-size: 12.5px !important;
    line-height: 1.25 !important;
  }
  .hunter-intel-chip span { font-size: 12.5px !important; }
  .hunter-intel-chip svg { width: 16px !important; height: 16px !important; }
  .hunter-intel-chip b {
    min-width: 24px !important;
    height: 22px !important;
    padding-inline: 5px !important;
    font-size: 11px !important;
    border-radius: 7px !important;
  }

  /* ---------- News cards ---------- */
  article.news-card h3 {
    font-size: 20px !important;
    line-height: 1.55 !important;
    letter-spacing: 0 !important;
  }
  article.news-card .text-slate-300\/90,
  article.news-card .leading-loose,
  article.news-card .rm-text {
    font-size: 16px !important;
    line-height: 1.88 !important;
  }
  article.news-card .ai-typing-container {
    font-size: 15.5px !important;
    line-height: 1.9 !important;
  }
  article.news-card .bg-slate-900\/90 .font-black,
  article.news-card .text-cyan-400.font-black {
    font-size: 15.5px !important;
    line-height: 1.45 !important;
  }
  article.news-card .text-slate-400,
  article.news-card .text-slate-500,
  article.news-card [class*="text-[10px]"],
  article.news-card [class*="text-[11px]"],
  article.news-card [class*="text-[12px]"] {
    font-size: var(--hm-font-meta) !important;
    line-height: 1.55 !important;
  }
  article.news-card [class*="text-[13px]"],
  article.news-card [class*="text-[14px]"] {
    font-size: 15px !important;
    line-height: 1.75 !important;
  }
  article.news-card .btn,
  article.news-card button {
    min-height: var(--hm-control) !important;
    font-size: 13.5px !important;
  }
  article.news-card .rm-btn {
    min-height: var(--hm-control) !important;
    display: inline-flex !important;
    align-items: center !important;
    font-size: 14px !important;
  }

  /* Smart tools live inside news cards. Four controls must remain readable and tappable. */
  .hunter-smart-tools {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
    margin: 0 0 14px !important;
    padding: 0 0 13px !important;
  }
  .hunter-smart-tools button {
    width: 100% !important;
    height: var(--hm-control) !important;
    min-height: var(--hm-control) !important;
    padding-inline: 8px !important;
    justify-content: center !important;
    gap: 6px !important;
    border-radius: 11px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
  }
  .hunter-smart-tools button span { font-size: inherit !important; }
  .hunter-smart-tools button svg { width: 17px !important; height: 17px !important; }

  /* Source block and clickable source button. */
  article.news-card .flex.items-center.justify-between.gap-3 {
    min-width: 0;
  }

  /* ---------- Rumor / fact-check cards ---------- */
  .fb-header { padding: 15px 16px 6px !important; }
  .fb-content { padding: 5px 16px 14px !important; }
  .fb-verdict-box { padding: 14px 16px !important; }
  .fb-stats { padding: 11px 16px !important; font-size: 13.5px !important; line-height: 1.45 !important; }
  .fb-action-btn {
    min-height: var(--hm-control) !important;
    padding: 0 6px !important;
    font-size: 14px !important;
  }
  .fb-actions-grid { padding: 4px 6px !important; }
  .fb-comment-area { padding: 12px 14px 14px !important; }
  .fb-inp-field {
    min-height: 46px !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
  }
  .fb-cam-btn {
    width: 40px !important;
    height: 40px !important;
    display: grid !important;
    place-items: center !important;
  }
  .rm-text,
  .fb-verdict-box .rm-text {
    font-size: 16px !important;
    line-height: 1.85 !important;
  }
  .poll-head { font-size: 15px !important; line-height: 1.5 !important; }
  .poll-btn {
    min-height: var(--hm-control) !important;
    padding: 0 10px !important;
    font-size: 14px !important;
  }
  .poll-res [class*="text-[10px]"],
  .poll-res [class*="text-[11px]"] {
    font-size: 13px !important;
  }
  .hunter-evidence-entry { padding: 0 14px 14px !important; }
  .hunter-evidence-entry button {
    min-height: 58px !important;
    padding: 10px 12px !important;
    grid-template-columns: 32px 1fr !important;
    column-gap: 10px !important;
  }
  .hunter-evidence-entry span { font-size: 14px !important; line-height: 1.35 !important; }
  .hunter-evidence-entry small { font-size: 12.5px !important; line-height: 1.5 !important; }

  /* ---------- Composer / utilities ---------- */
  #reportText {
    font-size: 16px !important;
    line-height: 1.75 !important;
    min-height: 88px !important;
  }
  #attachReportBtn,
  #clearReportBtn,
  #sendReportBtn {
    min-height: var(--hm-control) !important;
    padding-inline: 14px !important;
    font-size: 14px !important;
  }
  .compose-card [class*="text-[10px]"],
  .compose-card [class*="text-[11px]"],
  .compose-card [class*="text-[12px]"] {
    font-size: 13px !important;
    line-height: 1.55 !important;
  }
  #viewRumors .card h2 { line-height: 1.4 !important; }
  #viewRumors .soft { font-size: 14.5px !important; line-height: 1.8 !important; }

  /* ---------- Strategic report ---------- */
  #hunterStrategicReport.hunter-strategic-card {
    padding: 16px !important;
    margin-bottom: 20px !important;
  }
  #hunterStrategicReport [class*="text-[9px]"],
  #hunterStrategicReport [class*="text-[10px]"],
  #hunterStrategicReport [class*="text-[11px]"] {
    font-size: 12.5px !important;
    line-height: 1.5 !important;
    letter-spacing: .03em !important;
  }
  #hunterStrategicReport [class*="text-[13px]"],
  #hunterStrategicReport [class*="text-[14px]"] {
    font-size: 15.5px !important;
    line-height: 1.9 !important;
  }
  #hunterStrategicReport [class*="text-[15px]"],
  #hunterStrategicReport [class*="text-[17px]"],
  #hunterStrategicReport [class*="text-[19px]"] {
    line-height: 1.45 !important;
  }
  #hunterStrategicReport svg text { font-size: 11.5px !important; }
  #hunterStrategicReport .hunter-report-story {
    margin-inline: 0 !important;
    padding: 16px 15px !important;
    border-radius: 18px !important;
  }
  #hunterStrategicReport .hunter-report-section {
    padding: 2px 0 !important;
  }
  #hunterStrategicReport .hunter-report-divider {
    height: 1px;
    margin: 14px 0 !important;
    background: linear-gradient(90deg, transparent, rgba(245, 158, 11, .22), transparent) !important;
  }
  #hunterStrategicReport .hunter-report-section-head {
    margin-bottom: 12px !important;
    align-items: center !important;
  }
  #hunterStrategicReport .hunter-report-section-head > span:last-child {
    font-size: 14.5px !important;
    line-height: 1.4 !important;
  }
  #hunterStrategicReport .hunter-report-copy {
    font-size: 15px !important;
    line-height: 1.92 !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    word-spacing: 0 !important;
    text-align: right !important;
    text-align-last: auto !important;
    text-justify: auto !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    color: #dbe6f3 !important;
  }

  /* ---------- Media Compass ---------- */
  .mc-title { font-size: 21px !important; line-height: 1.35 !important; }
  .mc-date,
  .mc-trend-label { font-size: 13px !important; line-height: 1.45 !important; }
  .mc-trend-value { font-size: 15.5px !important; line-height: 1.45 !important; }
  .mc-section-label { font-size: 14.5px !important; line-height: 1.45 !important; }
  .mc-dominant-text { font-size: 17px !important; line-height: 1.85 !important; }
  .mc-conclusion-text,
  .mc-bloc-text,
  .mc-unspoken-card li { font-size: 15.5px !important; line-height: 1.85 !important; }
  .mc-bloc-name,
  .mc-unspoken-title { font-size: 15px !important; line-height: 1.45 !important; }

  /* ---------- Intelligence bottom sheet / smart reading ---------- */
  .hunter-intel-sheet {
    max-height: min(90dvh, 820px) !important;
    border-radius: 22px 22px 0 0 !important;
  }
  .hunter-intel-sheet-head {
    height: 66px !important;
    min-height: 66px !important;
    padding: 0 14px !important;
    gap: 12px !important;
  }
  .hunter-intel-sheet-head h2 { font-size: 18px !important; line-height: 1.35 !important; }
  .hunter-mini-kicker { font-size: 10.5px !important; line-height: 1.25 !important; }
  .hunter-intel-close {
    width: var(--hm-control) !important;
    height: var(--hm-control) !important;
    min-width: var(--hm-control) !important;
    min-height: var(--hm-control) !important;
    border-radius: 12px !important;
  }
  .hunter-intel-close svg { width: 19px !important; height: 19px !important; }
  .hunter-intel-sheet-body {
    max-height: calc(90dvh - 66px) !important;
    padding: 16px 14px calc(18px + env(safe-area-inset-bottom)) !important;
  }
  .hunter-dossier-hero { padding: 16px !important; border-radius: 15px !important; }
  .hunter-dossier-hero h3 { font-size: 21px !important; line-height: 1.45 !important; }
  .hunter-dossier-hero p { font-size: 14.5px !important; line-height: 1.8 !important; }
  .hunter-dossier-stats,
  .hunter-ledger-stats { gap: 7px !important; margin: 14px 0 !important; }
  .hunter-dossier-stats > div,
  .hunter-ledger-stats > div { min-height: 68px !important; padding: 6px 4px !important; }
  .hunter-dossier-stats b,
  .hunter-ledger-stats b { font-size: 18px !important; line-height: 1.15 !important; }
  .hunter-dossier-stats span,
  .hunter-ledger-stats span { font-size: 12px !important; line-height: 1.35 !important; }
  .hunter-intel-primary,
  .hunter-panel-action,
  .hunter-method-link {
    color:#fff !important;
    background:linear-gradient(135deg,#066f69 0%,#0a8078 100%) !important;
    border-color:rgba(3,111,105,.34) !important;
  }
  .hunter-intel-primary {
    min-height: 46px !important;
    padding: 0 14px !important;
    border-radius: 11px !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
  }
  .hunter-sheet-section { margin-top: 18px !important; }
  .hunter-sheet-section-title { margin-bottom: 10px !important; }
  .hunter-sheet-section-title span { font-size: 15px !important; line-height: 1.4 !important; }
  .hunter-sheet-section-title small { font-size: 12px !important; line-height: 1.4 !important; }
  .hunter-timeline-item {
    min-height: 64px !important;
    grid-template-columns: 18px 1fr !important;
    gap: 9px !important;
    padding: 12px !important;
    border-radius: 13px !important;
  }
  .hunter-timeline-item strong { font-size: 14.5px !important; line-height: 1.65 !important; }
  .hunter-timeline-item small { font-size: 12px !important; line-height: 1.5 !important; margin-top: 4px !important; }
  .hunter-sheet-summary { padding: 13px 14px !important; gap: 10px !important; }
  .hunter-sheet-summary b { font-size: 25px !important; }
  .hunter-sheet-summary span { font-size: 13px !important; line-height: 1.55 !important; }
  .hunter-change-row {
    grid-template-columns: 74px minmax(0,1fr) !important;
    gap: 10px !important;
    min-height: 68px !important;
    padding: 12px !important;
  }
  .hunter-change-row > span { font-size: 12px !important; line-height: 1.4 !important; }
  .hunter-change-row strong { font-size: 14px !important; line-height: 1.6 !important; }
  .hunter-change-row small { font-size: 12px !important; line-height: 1.45 !important; }
  .hunter-watch-row { grid-template-columns: minmax(0,1fr) 44px !important; gap: 8px !important; }
  .hunter-watch-main { min-height: 64px !important; padding: 12px !important; }
  .hunter-watch-main strong { font-size: 14.5px !important; line-height: 1.5 !important; }
  .hunter-watch-main small { font-size: 12.5px !important; line-height: 1.5 !important; }
  .hunter-watch-remove { width: 44px !important; min-width: 44px !important; min-height: 44px !important; font-size: 22px !important; }
  .hunter-empty-state { padding: 36px 16px !important; }
  .hunter-empty-state h3 { font-size: 18px !important; line-height: 1.4 !important; }
  .hunter-empty-state p { font-size: 14px !important; line-height: 1.8 !important; }

  .hunter-source-passport { grid-template-columns: 58px minmax(0,1fr) !important; gap: 12px !important; }
  .hunter-source-mark { width: 54px !important; height: 54px !important; font-size: 15px !important; }
  .hunter-source-passport h3 { font-size: 19px !important; line-height: 1.4 !important; }
  .hunter-source-passport p { font-size: 13.5px !important; line-height: 1.75 !important; }
  .hunter-source-facts { gap: 8px !important; }
  .hunter-source-facts > div { padding: 12px !important; gap: 12px !important; }
  .hunter-source-facts span { font-size: 13px !important; line-height: 1.5 !important; }
  .hunter-source-facts b { font-size: 13.5px !important; line-height: 1.5 !important; }

  .hunter-reading-tabs { gap: 5px !important; padding: 4px !important; }
  .hunter-reading-tabs button {
    height: var(--hm-control) !important;
    min-height: var(--hm-control) !important;
    font-size: 13.5px !important;
    border-radius: 10px !important;
  }
  .hunter-reading-title { font-size: 21px !important; line-height: 1.55 !important; margin: 16px 2px 13px !important; }
  .hunter-reading-card { padding: 15px !important; border-radius: 13px !important; margin-bottom: 10px !important; }
  .hunter-reading-card > span { font-size: 13px !important; line-height: 1.4 !important; margin-bottom: 7px !important; }
  .hunter-reading-card p { font-size: 16px !important; line-height: 1.92 !important; }
  .hunter-reading-meta { font-size: 13px !important; line-height: 1.6 !important; padding: 13px 2px !important; }

  .hunter-evidence-node { grid-template-columns: 40px minmax(0,1fr) !important; gap: 11px !important; padding: 14px !important; }
  .hunter-evidence-node > span { width: 36px !important; height: 36px !important; font-size: 14px !important; }
  .hunter-evidence-node small { font-size: 12px !important; line-height: 1.4 !important; }
  .hunter-evidence-node h3 { font-size: 18px !important; line-height: 1.45 !important; }
  .hunter-evidence-node p { font-size: 15px !important; line-height: 1.85 !important; }
  .hunter-evidence-links { gap: 7px !important; }
  .hunter-evidence-links a {
    min-height: 44px !important;
    padding: 9px 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    font-size: 13px !important;
  }

  .hunter-ledger-note { font-size: 13px !important; line-height: 1.8 !important; padding: 13px !important; }
  .hunter-ledger-row { padding: 14px !important; }
  .hunter-ledger-row-head span { font-size: 12px !important; line-height: 1.4 !important; }
  .hunter-ledger-row-head b { font-size: 12px !important; line-height: 1.35 !important; padding: 6px 9px !important; }
  .hunter-ledger-row p { font-size: 15px !important; line-height: 1.85 !important; }
  .hunter-ledger-row > small { font-size: 12px !important; line-height: 1.55 !important; }
  .hunter-intel-toast { font-size: 13px !important; line-height: 1.45 !important; padding: 11px 15px !important; }

  /* ---------- Notifications, login and common modals ---------- */
  #notifMenu {
    top: calc(env(safe-area-inset-top) + 66px) !important;
    left: var(--hm-gutter) !important;
    right: var(--hm-gutter) !important;
    width: auto !important;
    max-width: none !important;
    border-radius: 16px !important;
  }
  #notifMenu .text-xs,
  #notifMenu [class*="text-[10px]"],
  #notifMenu [class*="text-[11px]"] { font-size: 13px !important; line-height: 1.5 !important; }
  #notifMenu a { min-height: 56px !important; }
  #markNotifsBtn { min-height: 40px !important; font-size: 13px !important; }

  #loginModal .card,
  #shareImageModal .card {
    width: min(100%, 390px) !important;
    padding: 18px !important;
    border-radius: 18px !important;
  }
  #loginModal input,
  #loginModal button,
  #shareImageModal button { min-height: 48px !important; }
  #loginModal .text-xs,
  #loginModal [class*="text-[10px]"],
  #loginModal [class*="text-[11px]"] { font-size: 13px !important; line-height: 1.55 !important; }

  /* ---------- Small utility/meta text: preserve hierarchy without microscopic type ---------- */
  #mainFeed .text-xs,
  #mainFeed [class*="text-[8px]"],
  #mainFeed [class*="text-[9px]"],
  #mainFeed [class*="text-[10px]"],
  #mainFeed [class*="text-[11px]"] {
    font-size: var(--hm-font-meta) !important;
  }
  #mainFeed [class*="text-[12px]"] { font-size: 13.5px !important; }

  /* ---------- Footer/legal bar: don't cover mobile content ---------- */
  #hunterLegalBar {
    position: static !important;
    inset: auto !important;
    min-height: 0 !important;
    height: auto !important;
    margin-top: 24px !important;
    padding: 12px var(--hm-gutter) calc(12px + env(safe-area-inset-bottom)) !important;
    gap: 7px 13px !important;
    flex-wrap: wrap !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
  }
  #hunterLegalBar a {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 34px !important;
    padding-inline: 2px !important;
    font-size: 13px !important;
  }

  /* ---------- Floating controls ---------- */
  #hunterScrollUp,
  button[onclick*="__btnScrollUp"] {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
  }
}

/* Extra narrow phones: preserve labels but recover horizontal room from the brand. */
@media (max-width: 380px) {
  :root { --hm-gutter: 10px; }
  .hunter-brand .text-white.font-black,
  .hunter-brand .text-slate-400 { display: none !important; }
  .hunter-brand img[src*="hunter-head-og"] { width: 38px !important; height: 38px !important; }
  .hunter-header-actions { gap: 0 !important; }
  #loginBtn { min-width: 52px !important; padding-inline: 8px !important; }
  .hunter-primary-nav-btn { gap: 3px !important; padding-inline: 3px !important; }
  .hunter-primary-nav-btn .nav-text-short { font-size: 12px !important; }
  .hunter-intel-chip { padding-inline: 5px !important; font-size: 12px !important; }
  .hunter-intel-chip span { font-size: 12px !important; }
}

/* 320px reflow guard (WCAG reflow target): no component forces horizontal reading. */
@media (max-width: 340px) {
  :root { --hm-gutter: 8px; }
  .hunter-primary-nav-btn .nav-icon { display: none !important; }
  .hunter-primary-nav-btn .nav-text-short { font-size: 11.5px !important; }
  .hunter-intel-chip svg { display: none !important; }
  .hunter-intel-chip span { font-size: 11.5px !important; }
  .hunter-change-row { grid-template-columns: 1fr !important; }
  .hunter-change-row > span { order: 2; }
}

@media (max-width: 767px) {
  .hunter-tag-chip {
    min-height: 44px !important;
    padding: 0 12px !important;
    border-radius: 11px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
  }
}

/* v6.3 final mobile comfort pass — never trade readability for density. */
@media (max-width: 767px) {
  .hunter-primary-nav-btn .nav-text-short,
  html.is-page-scrolled .hunter-primary-nav-btn .nav-text-short {
    font-size: 13px !important;
  }
  .hunter-intel-chip,
  .hunter-intel-chip span {
    font-size: 13px !important;
  }
  .hunter-intel-chip b {
    font-size: 12px !important;
  }
  #hunterLegalBar a {
    min-height: 44px !important;
    padding-inline: 4px !important;
  }
}
@media (max-width: 340px) {
  .hunter-primary-nav-btn .nav-text-short,
  html.is-page-scrolled .hunter-primary-nav-btn .nav-text-short,
  .hunter-intel-chip,
  .hunter-intel-chip span {
    font-size: 12.5px !important;
  }
}
@media (max-width: 767px) {
  #hunterLegalBar a { min-width: 44px !important; justify-content:center !important; }
}

/* v6.3 final device + interaction polish */
@media (max-width: 767px) {
  :root { --hm-safe-top: env(safe-area-inset-top, 0px); }
  body { padding-top: calc(68px + var(--hm-safe-top)) !important; }
  #siteHeader,
  nav.hunter-site-header,
  nav.fixed.top-0.hunter-site-header {
    padding-top: calc(var(--hunter-header-top) + var(--hm-safe-top)) !important;
  }
  .sections-nav-shell,
  html.is-page-scrolled .sections-nav-shell {
    top: calc(var(--hunter-tabs-top) + var(--hm-safe-top)) !important;
  }

  /* Rumor composer: three equally weighted actions, no dead gap on narrow phones. */
  .compose-card > .flex > .flex-1 > .flex.items-center.justify-between.pt-3 {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    align-items: stretch !important;
  }
  #reportAux { display: contents !important; }
  #attachReportBtn,
  #clearReportBtn,
  #sendReportBtn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 46px !important;
    padding-inline: 6px !important;
    justify-content: center !important;
    font-size: 13.5px !important;
  }

  /* Sharing / image-ready flows are user-facing too; keep them as readable as the feed. */
  #shareModal .card { padding: 18px !important; border-radius: 18px !important; }
  #shareModal .grid { gap: 8px !important; }
  #shareModal .share-icon-btn {
    min-height: 92px !important;
    padding: 9px 4px !important;
    gap: 7px !important;
    font-size: 13px !important;
  }
  #shareModal .share-icon-btn span { font-size: 13px !important; line-height: 1.3 !important; }
  #shareModal .share-icon-img { width: 42px !important; height: 42px !important; }
  #imageReadyModal .text-xs,
  #imageReadyModal [class*="text-[11px]"] { font-size: 13px !important; line-height: 1.55 !important; }
  #terminalUplink .text-sm { font-size: 15px !important; line-height: 1.8 !important; }
}

/* ======================================================================
   HUNTER MOBILE UX v6.4 — live screenshot corrections
   1) Preserve .hidden semantics inside the header despite legacy !important display rules.
   2) Restore editorial rhythm inside strategic-report text blocks without shrinking readability.
   ====================================================================== */
@media (max-width: 767px) {
  /* Header state must win over component display rules. This prevents Login/Bell/User
     controls that carry .hidden from consuming width and pushing the row outside viewport. */
  #siteHeader .hidden {
    display: none !important;
  }

  #siteHeader > .hunter-header-bar {
    box-sizing: border-box !important;
    width: calc(100% - 12px) !important;
    max-width: calc(100vw - 12px) !important;
    margin-inline: auto !important;
  }
  .hunter-brand {
    flex: 0 0 auto !important;
    min-width: 0 !important;
  }
  .hunter-header-actions {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 112px) !important;
  }

  /* Report date/status: balance complete phrases instead of orphaning (1/2). */
  #hunterStrategicReport .hunter-report-date {
    width: min(100%, 310px) !important;
    max-width: 310px !important;
    min-height: 48px !important;
    padding: 9px 12px !important;
    gap: 5px 8px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
  }
  #hunterStrategicReport .hunter-report-date > span:first-child {
    max-width: 100% !important;
    text-wrap: balance;
    line-height: 1.55 !important;
  }

  /* Strategic copy: readable but editorially composed. The v6.3 blanket scale-up made
     these long paragraphs look like oversized text walls on 390px screens. */
  #hunterStrategicReport .hunter-report-block {
    margin-inline: 0 !important;
    padding: 15px 14px !important;
    border-radius: 14px !important;
  }
  #hunterStrategicReport .hunter-report-block > .flex.items-center {
    margin-bottom: 10px !important;
  }
  #hunterStrategicReport .hunter-report-block > .flex.items-center > span:last-child {
    font-size: 14px !important;
    line-height: 1.35 !important;
  }
  #hunterStrategicReport .hunter-report-copy {
    font-size: 15px !important;
    line-height: 1.9 !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    word-spacing: 0 !important;
    text-align: right !important;
    text-align-last: auto !important;
    text-justify: auto !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }
}

@media (max-width: 380px) {
  #hunterStrategicReport .hunter-report-copy {
    font-size: 14.75px !important;
    line-height: 1.76 !important;
  }
  #hunterStrategicReport .hunter-report-date {
    font-size: 13.5px !important;
    padding-inline: 10px !important;
  }
}

@media (max-width: 380px) {
  /* Once the brand label is hidden, give the recovered width back to the action row.
     This keeps the logged-in avatar + four header tools fully inside 320px viewports. */
  .hunter-header-actions {
    flex: 1 1 auto !important;
    max-width: calc(100% - 62px) !important;
    justify-content: flex-start !important;
  }
}

@media (max-width: 767px) {
  /* Exact header packing: keep 44px touch targets, recover space from branding instead. */
  #siteHeader .hunter-header-actions {
    gap: 2px !important;
  }
  #siteHeader .hunter-brand {
    padding: 3px 4px !important;
    gap: 4px !important;
  }
  #siteHeader .hunter-brand img[src*="hunter-head-og"] {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
  }
  #siteHeader .hunter-brand .text-white.font-black {
    font-size: 14px !important;
    letter-spacing: .12em !important;
  }
  #siteHeader .hunter-brand .text-slate-400 {
    display: none !important;
  }
}

/* ======================================================================
   HUNTER MOBILE UX v6.6 — complete mobile visual/comfort audit
   - one exact horizontal datum
   - responsive strategic gauge (no clipped labels)
   - clean search state, visible theme icon, calmer floating controls
   - no reading-blocking typewriter animation on phones
   - safe-area modal/lightbox handling and consistent related-news cards
   ====================================================================== */
@media (max-width: 767px) {
  :root {
    --hm-gutter: 12px;
    --hm-reading-size: 16px;
    --hm-reading-line: 1.82;
    --hm-section-gap: 16px;
  }

  /* The footer is static on mobile now; remove the legacy 50px dead-space reservation. */
  body { padding-bottom: 0 !important; }

  /* Exact horizontal datum: all primary mobile surfaces share the same content edge. */
  .hunter-page-shell { padding-inline: var(--hm-gutter) !important; }
  #mainFeed,
  #mainFeed > .mobile-search-wrapper,
  #mainFeed > .sections-nav-shell,
  #mainFeed > .hunter-intel-quickbar,
  #mainFeed > #viewNews,
  #mainFeed > #viewEgypt,
  #mainFeed > #viewRumors,
  #mainFeed > #viewCompass {
    width: 100% !important;
    margin-inline: 0 !important;
    box-sizing: border-box !important;
  }

  /* Search: clear control must truly disappear when there is nothing to clear. */
  #clearSearchMobile.hidden { display: none !important; }
  #clearSearchMobile:not(.hidden) { display: grid !important; }

  /* Header tools must remain legible in both themes. */
  #themeBtn, #savedBtn, #bellBtn, #adminBtn { color: #8193a6 !important; }
  html[data-theme="light"] #themeBtn,
  html[data-theme="light"] #savedBtn,
  html[data-theme="light"] #bellBtn,
  html[data-theme="light"] #adminBtn { color: #526773 !important; }
  #themeIcon svg, .hunter-tool-icon svg { stroke: currentColor !important; }

  /* Stable reading rhythm. Titles wrap deliberately; body copy stays comfortable. */
  article.news-card h3,
  .hunter-reading-title,
  .mc-title,
  #hunterStrategicReport [class*="text-[17px]"] {
    text-wrap: pretty;
  }
  article.news-card .text-slate-300\/90,
  article.news-card .leading-loose,
  article.news-card .rm-text {
    font-size: var(--hm-reading-size) !important;
    line-height: var(--hm-reading-line) !important;
    font-weight: 500 !important;
  }
  article.news-card .ai-typing-container {
    font-size: 15.5px !important;
    line-height: 1.86 !important;
    font-weight: 500 !important;
  }
  .hunter-reading-typing {
    font-size: 15.5px !important;
    line-height: 1.86 !important;
    font-weight: 500 !important;
    overflow-wrap: anywhere;
  }

  /* Analysis should never flash English terminal copy on a reading screen. */
  .hunter-analysis-loading {
    min-height: 22px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--hunter-accent, #16d7c1);
  }
  .hunter-analysis-loading i {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: currentColor;
    opacity: .45;
    animation: hunterMobileDots 1s ease-in-out infinite;
  }
  .hunter-analysis-loading i:nth-child(2) { animation-delay: .14s; }
  .hunter-analysis-loading i:nth-child(3) { animation-delay: .28s; }
  @keyframes hunterMobileDots { 50% { opacity: 1; transform: translateY(-2px); } }

  /* Strategic report: the old 340px fixed SVG clipped the left/right labels inside
     a padded 320–390px card. Keep the 340 viewBox but scale the rendered gauge. */
  #hunterStrategicReport .hunter-report-hero {
    padding: 18px 14px !important;
    margin-bottom: 16px !important;
    border-radius: 16px !important;
  }
  #hunterStrategicReport .hunter-report-gauge-card {
    padding: 16px 12px !important;
    margin-bottom: 16px !important;
    border-radius: 16px !important;
  }
  #hunterStrategicReport .tension-gauge-wrapper {
    width: min(100%, 340px) !important;
    max-width: 340px !important;
    height: auto !important;
    aspect-ratio: 17 / 10 !important;
    margin: 6px auto 0 !important;
    overflow: visible !important;
  }
  #hunterStrategicReport .tension-gauge-wrapper > svg {
    width: 100% !important;
    height: 100% !important;
  }
  #hunterStrategicReport .hunter-report-block {
    padding: 15px 14px !important;
    margin-inline: 0 !important;
  }
  #hunterStrategicReport .hunter-report-copy {
    max-width: 100% !important;
    font-size: 15.25px !important;
    line-height: 1.76 !important;
    font-weight: 500 !important;
    text-wrap: pretty;
  }

  /* Related content inherits theme instead of rendering dark cards in Light mode. */
  .related-posts-section {
    margin-top: 20px !important;
    padding: 14px !important;
    border-radius: 14px !important;
    background: color-mix(in srgb, var(--hunter-surface) 94%, transparent) !important;
    border-color: var(--hunter-border) !important;
  }
  .related-posts-head { margin-bottom: 12px !important; padding-bottom: 10px !important; }
  .related-post-card {
    min-height: 44px !important;
    padding: 12px !important;
    background: color-mix(in srgb, var(--hunter-surface-2) 92%, transparent) !important;
    border-color: var(--hunter-border) !important;
  }
  .related-post-title {
    color: var(--hunter-text) !important;
    font-size: 14.5px !important;
    line-height: 1.65 !important;
    font-weight: 600 !important;
  }

  /* Floating mobile controls: keep refresh above back-to-top in a safe edge position. */
  #fabGroup,
  #fabGroup.is-lifted {
    left: var(--hm-gutter) !important;
    bottom: calc(14px + env(safe-area-inset-bottom)) !important;
    gap: 10px !important;
    z-index: 58 !important;
  }
  #fabGroup > button {
    width: 47px !important;
    height: 47px !important;
    min-width: 47px !important;
    min-height: 47px !important;
    opacity: .94;
    display: flex !important;
    box-shadow: 0 7px 22px rgba(0,0,0,.22) !important;
  }
  #fabRefreshBtn {
    background: rgba(15, 23, 42, .94) !important;
    border-color: rgba(148, 163, 184, .55) !important;
    color: #e2e8f0 !important;
  }
  #fabScrollTopBtn {
    background: rgba(16, 185, 129, .95) !important;
    border-color: rgba(52, 211, 153, .85) !important;
    color: #04111f !important;
  }

  /* Safe-area + small-height resilience for all user-facing overlays. */
  #loginModal,
  #shareModal,
  #shareImageModal,
  #imageReadyModal,
  #lightbox,
  #terminalUplink {
    padding-top: calc(12px + env(safe-area-inset-top)) !important;
    padding-bottom: calc(12px + env(safe-area-inset-bottom)) !important;
  }
  #loginModal > .card,
  #shareModal > .card,
  #shareImageModal > .card,
  #imageReadyModal > .card {
    max-height: calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
  }
  #lightbox > button {
    top: calc(10px + env(safe-area-inset-top)) !important;
    right: 10px !important;
  }

  /* Any anchor-driven jump must land below the compact header + sticky tabs. */
  article.news-card,
  #hunterStrategicReport,
  .mc-wrap,
  .hunter-report-block,
  .hunter-report-story,
  .hunter-report-section,
  [id^="post_"] {
    scroll-margin-top: calc(122px + env(safe-area-inset-top)) !important;
  }
}

@media (max-width: 340px) {
  :root { --hm-gutter: 8px; --hm-reading-size: 15.5px; }
  #hunterStrategicReport .hunter-report-copy { font-size: 14.75px !important; line-height: 1.74 !important; }
  #hunterStrategicReport .hunter-report-gauge-card { padding-inline: 8px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .hunter-analysis-loading i { animation: none !important; opacity: .8 !important; }
}

/* ======================================================================
   HUNTER HEADER AUTH STATE FIX — v19
   The semantic .hidden state must always beat legacy component display rules
   such as #loginBtn { display:inline-flex !important; } on desktop and mobile.
   ====================================================================== */
#siteHeader .hidden {
  display: none !important;
}

/* ======================================================================
   HUNTER STRATEGIC REPORT — v22 feed-card treatment
   One outer card, same visual language as news cards. Nested framed boxes
   are intentionally removed so the report reads like an editorial article.
   ====================================================================== */
#hunterStrategicReport.hunter-report-feed-card {
  padding: 0 !important;
  margin-bottom: 24px !important;
  border: 1px solid var(--hunter-border) !important;
  border-radius: 18px !important;
  background: var(--hunter-surface) !important;
  box-shadow: var(--hunter-shadow) !important;
  overflow: hidden !important;
}
#hunterStrategicReport.hunter-report-feed-card::before { display: none !important; }
#hunterStrategicReport .hunter-report-topline {
  background: linear-gradient(90deg, #f59e0b 0%, #fbbf24 45%, #0ea5e9 100%) !important;
}
#hunterStrategicReport .hunter-report-card-header { direction: rtl; }
#hunterStrategicReport .hunter-report-card-header img { flex: 0 0 auto; }
#hunterStrategicReport .hunter-report-meta {
  color: var(--hunter-muted, #94a3b8) !important;
  font-weight: 600 !important;
}
#hunterStrategicReport .hunter-report-title {
  color: var(--hunter-text, #f8fafc) !important;
  letter-spacing: 0 !important;
  text-align: right !important;
}
#hunterStrategicReport .hunter-report-kicker {
  color: var(--hunter-muted, #94a3b8) !important;
  text-align: right !important;
  line-height: 1.75 !important;
}
#hunterStrategicReport .hunter-report-stale {
  border-right: 3px solid rgba(245,158,11,.75) !important;
  border-radius: 0 10px 10px 0 !important;
  background: rgba(245,158,11,.06) !important;
  text-align: right !important;
  line-height: 1.7 !important;
}
#hunterStrategicReport .hunter-report-gauge-section {
  margin: 0 0 24px !important;
  padding: 18px 0 20px !important;
  border-top: 1px solid rgba(255,255,255,.06) !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
#hunterStrategicReport .hunter-report-gauge-heading { direction: rtl; }
#hunterStrategicReport .hunter-tension-status {
  color: #fbbf24 !important;
  padding: 4px 9px !important;
  border-radius: 999px !important;
  background: rgba(245,158,11,.08) !important;
  border: 1px solid rgba(245,158,11,.16) !important;
}
#hunterStrategicReport .hunter-report-gauge-number {
  font-size: 46px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  color: var(--hunter-text, #fff) !important;
  text-shadow: 0 4px 16px rgba(0,0,0,.45) !important;
}
#hunterStrategicReport .hunter-report-gauge-number span {
  font-size: 20px !important;
  margin-inline-start: 2px !important;
}
#hunterStrategicReport .hunter-report-reading {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
#hunterStrategicReport .hunter-report-section {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
#hunterStrategicReport .hunter-report-section-head {
  margin: 0 0 11px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: right !important;
}
#hunterStrategicReport .hunter-report-section-head h3 {
  margin: 0 !important;
  color: #fbbf24 !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}
#hunterStrategicReport .hunter-report-section-mark {
  display: inline-block !important;
  width: 7px !important;
  height: 7px !important;
  flex: 0 0 7px !important;
  border-radius: 2px !important;
  background: #fbbf24 !important;
  box-shadow: 0 0 10px rgba(251,191,36,.18) !important;
}
#hunterStrategicReport .hunter-report-copy {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  color: #d8e2ee !important;
  font-size: 15.5px !important;
  line-height: 2 !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  word-spacing: 0 !important;
  text-align: right !important;
  text-align-last: auto !important;
  text-justify: auto !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}
#hunterStrategicReport .hunter-report-divider {
  height: 1px !important;
  margin: 24px 0 !important;
  background: linear-gradient(90deg, transparent, rgba(148,163,184,.18), transparent) !important;
  border: 0 !important;
}
#hunterStrategicReport .hunter-report-actions {
  display: grid !important;
  grid-template-columns: 1fr !important;
}
#hunterStrategicReport .hunter-report-actions .fb-action-btn {
  min-height: 44px !important;
  color: var(--hunter-muted, #94a3b8) !important;
}
#hunterStrategicReport .hunter-report-actions .fb-action-btn:hover {
  color: #fbbf24 !important;
  background: rgba(245,158,11,.07) !important;
}

html[data-theme="light"] #hunterStrategicReport.hunter-report-feed-card {
  background: var(--hunter-surface) !important;
  border-color: var(--hunter-border) !important;
}
html[data-theme="light"] #hunterStrategicReport .hunter-report-gauge-section {
  border-color: rgba(15,23,42,.08) !important;
}
html[data-theme="light"] #hunterStrategicReport .hunter-report-copy { color: #334155 !important; }
html[data-theme="light"] #hunterStrategicReport .hunter-report-stale { background: rgba(245,158,11,.07) !important; }
html[data-theme="light"] #hunterStrategicReport .hunter-report-divider {
  background: linear-gradient(90deg, transparent, rgba(71,85,105,.16), transparent) !important;
}

@media (max-width: 767px) {
  #hunterStrategicReport.hunter-report-feed-card {
    padding: 0 !important;
    margin-inline: 0 !important;
    border-radius: 17px !important;
  }
  #hunterStrategicReport > .relative.z-10 {
    padding: 18px 16px 19px !important;
  }
  #hunterStrategicReport .hunter-report-card-header {
    margin-bottom: 18px !important;
    gap: 8px !important;
  }
  #hunterStrategicReport .hunter-report-card-header img {
    width: 38px !important;
    height: 38px !important;
  }
  #hunterStrategicReport .hunter-report-share {
    min-height: 38px !important;
    padding-inline: 10px !important;
    font-size: 12px !important;
  }
  #hunterStrategicReport .hunter-report-title {
    font-size: 20px !important;
    line-height: 1.45 !important;
    margin-bottom: 5px !important;
  }
  #hunterStrategicReport .hunter-report-kicker {
    font-size: 13px !important;
    line-height: 1.7 !important;
    margin-bottom: 18px !important;
  }
  #hunterStrategicReport .hunter-report-gauge-section {
    margin-bottom: 22px !important;
    padding: 16px 0 18px !important;
  }
  #hunterStrategicReport .hunter-report-gauge-heading {
    margin-bottom: 2px !important;
  }
  #hunterStrategicReport .hunter-report-gauge-heading > div > span:last-child {
    font-size: 14px !important;
    line-height: 1.45 !important;
  }
  #hunterStrategicReport .hunter-tension-status {
    font-size: 11px !important;
    line-height: 1.2 !important;
    padding: 4px 8px !important;
  }
  #hunterStrategicReport .tension-gauge-wrapper {
    width: min(100%, 340px) !important;
    max-width: 340px !important;
    height: auto !important;
    aspect-ratio: 17 / 10 !important;
    margin: 4px auto 0 !important;
  }
  #hunterStrategicReport .tension-gauge-wrapper > svg {
    width: 100% !important;
    height: 100% !important;
  }
  #hunterStrategicReport .hunter-report-gauge-number { font-size: 42px !important; }
  #hunterStrategicReport .hunter-report-gauge-number span { font-size: 18px !important; }
  #hunterStrategicReport .hunter-report-section-head {
    margin-bottom: 9px !important;
  }
  #hunterStrategicReport .hunter-report-section-head h3 {
    font-size: 15px !important;
  }
  #hunterStrategicReport .hunter-report-copy {
    font-size: 15.5px !important;
    line-height: 1.92 !important;
    font-weight: 500 !important;
  }
  #hunterStrategicReport .hunter-report-divider {
    margin: 21px 0 !important;
  }
}

@media (max-width: 360px) {
  #hunterStrategicReport > .relative.z-10 { padding-inline: 14px !important; }
  #hunterStrategicReport .hunter-report-share span:last-child { display: none !important; }
  #hunterStrategicReport .hunter-report-share { width: 38px !important; min-width: 38px !important; padding: 0 !important; }
  #hunterStrategicReport .hunter-report-copy { font-size: 15px !important; line-height: 1.9 !important; }
}

@keyframes drawWave {
  from { stroke-dashoffset: 600; }
  to { stroke-dashoffset: 0; }
}

#hunterStrategicReport .hunter-report-copy p {
  margin: 0 0 14px !important;
}
#hunterStrategicReport .hunter-report-copy p:last-child {
  margin-bottom: 0 !important;
}
@media (max-width: 767px) {
  #hunterStrategicReport .hunter-report-copy p { margin-bottom: 13px !important; }
  #hunterStrategicReport .hunter-report-copy p:last-child { margin-bottom: 0 !important; }
}

/* ======================================================================
   HUNTER MOBILE VIEWPORT LOCK — v23
   Neutralizes the legacy strategic-card mobile bleed (calc(100% + 20px))
   and keeps the report fully inside the viewport on iPhone/Android.
   ====================================================================== */
@media (max-width: 767px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  #hunterStrategicReport.hunter-report-feed-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  #hunterStrategicReport > .relative.z-10,
  #hunterStrategicReport .hunter-report-card-header,
  #hunterStrategicReport .hunter-report-gauge-section,
  #hunterStrategicReport .hunter-report-reading,
  #hunterStrategicReport .hunter-report-section,
  #hunterStrategicReport .hunter-report-copy {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  #hunterStrategicReport .tension-gauge-wrapper {
    width: 100% !important;
    max-width: 340px !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  #hunterStrategicReport .tension-gauge-wrapper > svg {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
  }
}

/* ======================================================================
   HUNTER MOBILE PERFORMANCE — 2026-08-30
   Paint/compositing optimizations only. The Hunter AI letter-by-letter
   typing effect is intentionally untouched.
   ====================================================================== */
@media (max-width: 767px) {
  /* Fixed page backgrounds + translucent blur layers are expensive while scrolling. */
  body {
    background-attachment: scroll !important;
  }

  #siteHeader > .hunter-header-bar,
  .hunter-primary-nav,
  .card,
  .glass,
  .soft,
  .btn,
  .badge,
  .hunter-pill,
  .hunter-stat,
  .hunter-slogan,
  .categories-item,
  .categories-note,
  #hunterLegalBar,
  .backdrop-blur-xl,
  .backdrop-blur-sm {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  /* Preserve the analysis decoration but avoid per-card GPU blur filters. */
  article.news-card .blur {
    filter: none !important;
    opacity: .20 !important;
  }

  /* Touch devices do not need costly hover lift/shadow animations on every card. */
  article.news-card,
  .card {
    transition-property: border-color, background-color, opacity !important;
  }
  article.news-card:hover,
  .card:hover {
    transform: none !important;
  }

  .hunter-mobile-news-sentinel {
    width: 100%;
    height: 1px;
    margin: 0;
    padding: 0;
    pointer-events: none;
  }
}
