/* Matchnote mobile density contract — G498F9EB_MOBILE_UI_V1_20260806 */
/* Loaded last: visual-only overrides for public mobile routes. */
@media (max-width: 720px) {
  html { -webkit-text-size-adjust: 100%; }
  body { overflow-x: hidden !important; }

  /* Pages that have not yet loaded the canonical header sheet still use the
     same compact structural contract.  Canonical pages are intentionally
     excluded so this is not a competing owner. */
  .mnfh-top[data-mn-unified-header]:not([data-mn-canonical-header]) .mnfh-top-inner {
    width:calc(100vw - 28px) !important;
    min-height:0 !important;
    padding:14px 0 12px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:12px 8px !important;
  }
  .mnfh-top[data-mn-unified-header]:not([data-mn-canonical-header]) .mnfh-brand { gap:8px !important; font-size:20px !important; line-height:1 !important; }
  .mnfh-top[data-mn-unified-header]:not([data-mn-canonical-header]) .mnfh-logo,
  .mnfh-top[data-mn-unified-header]:not([data-mn-canonical-header]) .mnfh-logo img { width:40px !important; height:40px !important; border-radius:12px !important; }
  .mnfh-top[data-mn-unified-header]:not([data-mn-canonical-header]) .mnfh-api { display:inline-flex !important; height:32px !important; min-height:32px !important; padding:0 10px !important; font-size:11px !important; white-space:nowrap !important; }
  .mnfh-top[data-mn-unified-header]:not([data-mn-canonical-header]) .mnfh-nav {
    grid-column:1 / -1 !important; width:100% !important; display:grid !important;
    grid-template-columns:repeat(6,minmax(0,1fr)) !important; gap:2px !important;
    margin:0 !important; padding:4px !important; overflow:hidden !important;
    border:1px solid rgba(255,255,255,.10) !important; border-radius:17px !important;
    background:rgba(8,22,30,.64) !important; box-sizing:border-box !important;
  }
  .mnfh-top[data-mn-unified-header]:not([data-mn-canonical-header]) .mnfh-nav a { width:100% !important; height:40px !important; min-height:40px !important; padding:0 2px !important; font-size:13px !important; overflow:hidden !important; text-overflow:ellipsis !important; }

  /* Account: retain all states, but keep the first screen useful. */
  .mnmy-shell { padding: 13px 12px 30px !important; }
  .mnmy-hero { gap: 13px !important; padding: 16px !important; border-radius: 18px !important; }
  .mnmy-title { font-size: 30px !important; line-height: 1.12 !important; }
  .mnmy-sub { font-size: 14px !important; line-height: 1.55 !important; }
  .mnmy-status { padding: 13px !important; }
  .mn142b-account-card, .mn142b-note-card { padding: 14px !important; border-radius: 16px !important; }
  .mnmy-tabs { gap: 7px !important; }
  .mnmy-tab { min-height: 40px !important; font-size: 14px !important; }

  /* Plan: compact the introduction and persistent save bar without hiding controls. */
  .plan-hero { gap: 12px !important; padding: 16px !important; border-radius: 18px !important; }
  .plan-hero h1 { font-size: 28px !important; line-height: 1.16 !important; }
  .plan-hero p { font-size: 14px !important; line-height: 1.6 !important; }
  .plan-trust { margin-top: 11px !important; gap: 6px !important; }
  .plan-trust span { min-height: 27px !important; padding: 0 9px !important; font-size: 11px !important; }
  .plan-flow { gap: 8px !important; }
  .plan-flow div { min-height: 62px !important; padding: 10px !important; }
  .plan-flow b { font-size: 15px !important; }
  .plan-flow span { margin-top: 4px !important; font-size: 13px !important; }
  .mobile-bar { padding: 7px 8px calc(7px + env(safe-area-inset-bottom)) !important; }
  .mobile-bar .bar-inner { grid-template-columns: 42px 72px 44px minmax(0, 1fr) 72px !important; gap: 5px !important; }
  .mobile-bar .icon-btn, .mobile-bar .bar-pass, .mobile-bar .bar-multiple, .mobile-bar .save-fixed { height: 40px !important; min-height: 40px !important; }
  .mobile-bar .bar-money { height: 40px !important; padding: 3px 6px !important; }
  .mobile-bar .bar-money span { font-size: 9px !important; }
  .mobile-bar .bar-money b { font-size: 13px !important; }

  /* Data and news landing pages: reduce oversized hero/card rhythm. */
  .shell, .mn193-shell { width: calc(100% - 24px) !important; margin-top: 13px !important; margin-bottom: 32px !important; }
  .hero, .mn193-hero { padding: 16px !important; border-radius: 18px !important; }
  .hero h1, .mn193-hero h1 { font-size: 29px !important; line-height: 1.13 !important; }
  .hero p, .mn193-hero p { font-size: 14px !important; line-height: 1.62 !important; }
  .mn193-hero-note { margin-top: 10px !important; padding-top: 10px !important; font-size: 12px !important; line-height: 1.55 !important; }
  .mn193-card-main { padding: 14px !important; }
  .mn193-card h2, .mn193-card.feature h2 { font-size: 20px !important; line-height: 1.32 !important; }
  .mn193-card p { font-size: 13px !important; line-height: 1.58 !important; }
  .stats { gap: 9px !important; }
  .stat { min-height: 0 !important; padding: 12px !important; }
}

@media (max-width: 420px) {
  .mnfh-top[data-mn-unified-header]:not([data-mn-canonical-header]) .mnfh-top-inner { width:calc(100vw - 24px) !important; padding-top:12px !important; }
  .mnfh-top[data-mn-unified-header]:not([data-mn-canonical-header]) .mnfh-brand { font-size:19px !important; }
  .mnfh-top[data-mn-unified-header]:not([data-mn-canonical-header]) .mnfh-logo,
  .mnfh-top[data-mn-unified-header]:not([data-mn-canonical-header]) .mnfh-logo img { width:38px !important; height:38px !important; }
  .mnfh-top[data-mn-unified-header]:not([data-mn-canonical-header]) .mnfh-api { height:30px !important; min-height:30px !important; padding:0 8px !important; font-size:10px !important; }
  .mnfh-top[data-mn-unified-header]:not([data-mn-canonical-header]) .mnfh-nav a { height:38px !important; min-height:38px !important; font-size:12px !important; }
  .plan-hero h1, .hero h1, .mn193-hero h1 { font-size: 27px !important; }
}
