/* Only mobile overrides. The worker also loads this sheet with a media query. */
@media (max-width: 860px) {
  .kira-mobile-page { --mobile-gutter: 22px; }
  .kira-mobile-page .wrap { width: 100%; max-width: 100%; padding-left: max(var(--mobile-gutter), env(safe-area-inset-left)); padding-right: max(var(--mobile-gutter), env(safe-area-inset-right)); }
  .kira-mobile-page main, .kira-mobile-page section, .kira-mobile-page .wrap, .kira-mobile-page .wrap > *, .kira-mobile-page .card, .kira-mobile-page .panel { min-width: 0; }
  .kira-mobile-page main { padding-top: 0; padding-bottom: 36px; }
  .kira-mobile-page main > .wrap { padding-top: 32px; }
  .kira-mobile-page main section { padding-top: 40px; padding-bottom: 40px; }
  .kira-mobile-page main .section { padding-top: 22px; padding-bottom: 22px; }
  .kira-mobile-page h1 { font-size: clamp(2rem, 7.2vw, 3.15rem); line-height: 1.1; max-width: 100%; overflow-wrap: anywhere; }
  .kira-mobile-page h2 { font-size: clamp(1.5rem, 5.5vw, 2rem); line-height: 1.18; max-width: 100%; }
  .kira-mobile-page :is(h2, h3, p, a, li, .eyebrow, .crumbs, .meta, .basket-count, .basket-stock-main) { overflow-wrap: anywhere; }
  .kira-mobile-page :is(img, video, iframe) { max-width: 100%; }
  .kira-mobile-page :is(.lead, .sub, .sec-lead) { font-size: 1rem; line-height: 1.65; }
  .kira-mobile-page .eyebrow { font-size: .75rem; letter-spacing: .12em; }
  .kira-mobile-page :is(.grid, .cards, .reports, .two, .score-grid, .band, .basket-grid, .hp-gateway-grid, .kg-email-card) { grid-template-columns: minmax(0, 1fr); }
  .kira-mobile-page :is(.grid, .cards, .reports, .two, .basket-grid) { gap: 16px; margin-top: 24px; }
  .kira-mobile-page :is(.card, .panel, .score-card, .band, .kg-email-card) { padding: 22px; }
  .kira-mobile-page :is(.basket-card, .hp-gateway) { min-height: 0; padding: 22px; }
  .kira-mobile-page :is(.basket-card p, .hp-gateway p) { font-size: 1rem; }
  .kira-mobile-page :is(.basket-meta, .basket-stock-score, .rep-head) { flex-wrap: wrap; }
  .kira-mobile-page :is(.basket-stock, .stock) { min-width: 0; gap: 14px; }
  .kira-mobile-page .basket-stock > * { min-width: 0; }
  .kira-mobile-page .basket-meta { padding-top: 18px; margin-top: 20px; }
  .kira-mobile-page :is(.basket-kicker, .basket-ticker, .basket-count, .basket-stock-score small, .hp-kicker, .hp-proof span) { font-size: .75rem; line-height: 1.5; }
  .kira-mobile-page :is(.basket-meta span, .basket-meta i, .basket-stock-main > span:last-child, .hp-link, .hp-baskets-head a) { font-size: .875rem; }
  .kira-mobile-page :is(.btn, button, select, input:not([type="checkbox"]):not([type="radio"]), summary, .back, .basket-back, .peer, .hp-pill, .kg-quick button) { min-height: 44px; }
  .kira-mobile-page :is(input:not([type="checkbox"]):not([type="radio"]), textarea, select) { min-width: 0; max-width: 100%; font-size: 1rem; }
  .kira-mobile-page :is(.btn, .back, .basket-back) { display: inline-flex; align-items: center; justify-content: center; white-space: normal; text-align: center; }
  .kira-mobile-page .hero-cta { gap: 12px; }
  .kira-mobile-page :is(.kg-search-form, .kg-email-row) { grid-template-columns: minmax(0, 1fr); }
  .kira-mobile-page .kg-quick button { padding: 10px 12px; font-size: .8125rem; }
  .kira-mobile-page .brandrule { flex-wrap: wrap; gap: 10px; }
  .kira-mobile-page .brandrule .tx { white-space: normal; }
  .kira-mobile-page .ks-mini-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kira-mobile-page .ks-mini-grid span { font-size: .75rem; }

  /* Tables keep their own horizontal scroll; the document remains the vertical scroller. */
  .kira-mobile-page .scroll { width: 100%; max-width: 100%; min-width: 0; overflow-x: auto; }
  .kira-mobile-page .scroll table { min-width: 560px; }
  .kira-mobile-page :is(th, td) { padding: 13px 14px; }
  .kira-mobile-page th { font-size: .75rem; }
  .kira-mobile-page td { font-size: .875rem; }
  .kira-mobile-page td a { display: inline-block; padding-top: 8px; padding-bottom: 8px; }
  .kira-mobile-page footer { padding-bottom: max(32px, env(safe-area-inset-bottom)); }
  .kira-mobile-page footer :is(.footlinks, nav) { gap: 8px 16px; flex-wrap: wrap; }
  .kira-mobile-page footer a { display: inline-flex; min-height: 44px; align-items: center; }

  /* The same drawer works with both existing header variants. */
  .kira-mobile-page header { top: 0; z-index: 50; padding-top: env(safe-area-inset-top); }
  .kira-mobile-page header .nav { width: 100%; max-width: 100%; height: auto; min-height: 64px; gap: 12px; padding: 8px max(var(--mobile-gutter), env(safe-area-inset-right)) 8px max(var(--mobile-gutter), env(safe-area-inset-left)); }
  .kira-mobile-page header .nav :is(.links, .navlinks) { display: none; }
  .kira-mobile-page header .brand { min-width: 0; font-size: 1rem; letter-spacing: .1em; }
  .kira-mobile-page header .brand img { width: 34px; height: 34px; }
  .kira-menu-toggle { display: inline-flex; align-items: center; justify-content: center; width: 44px; flex: 0 0 44px; margin-left: auto; border: 1px solid var(--line-strong, var(--line)); border-radius: 12px; color: var(--ink); background: var(--surface); cursor: pointer; }
  .kira-menu-toggle[hidden], #kira-mobile-menu[hidden] { display: none; }
  #kira-mobile-menu { position: fixed; inset: 0; z-index: 1100; }
  .kira-menu-overlay { position: absolute; inset: 0; background: rgba(8, 8, 13, .62); opacity: 0; transition: opacity .22s ease; }
  .kira-menu-panel { position: relative; width: min(336px, calc(100% - 44px)); height: 100%; height: 100dvh; overflow-y: auto; padding: max(18px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left)); border-right: 1px solid var(--line-strong, var(--line)); background: var(--surface, #111114); color: var(--ink); box-shadow: 16px 0 60px rgba(0, 0, 0, .24); transform: translateX(-100%); transition: transform .22s cubic-bezier(.22, 1, .36, 1); }
  #kira-mobile-menu.is-open .kira-menu-overlay { opacity: 1; }
  #kira-mobile-menu.is-open .kira-menu-panel { transform: translateX(0); }
  .kira-menu-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
  .kira-menu-head .brand { min-width: 0; font-size: 1rem; letter-spacing: .1em; }
  .kira-menu-head .brand img { width: 34px; height: 34px; }
  .kira-menu-head .acronym { display: none; }
  .kira-menu-close { flex: 0 0 44px; width: 44px; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: var(--ink); font: 400 28px/1 Arial, sans-serif; cursor: pointer; }
  .kira-menu-links { display: grid; gap: 6px; padding: 24px 0; }
  .kira-menu-links a { display: flex; align-items: center; min-height: 50px; padding: 12px 14px; border: 1px solid transparent; border-radius: 10px; color: var(--ink); font-size: 1rem; font-weight: 600; }
  .kira-menu-links a[aria-current="page"] { background: rgba(139, 112, 202, .12); border-color: rgba(139, 112, 202, .28); color: var(--gold); box-shadow: inset 3px 0 var(--gold); }
  .kira-menu-tools { display: flex; flex-direction: column; gap: 14px; padding-top: 22px; border-top: 1px solid var(--line); }
  .kira-menu-tools .kira-theme-toggle { width: 100%; height: auto; min-height: 46px; padding: 12px 14px; justify-content: flex-start; font-size: .875rem; }
  #kira-mobile-menu .kira-theme-label { display: inline; }
  .kira-menu-tools .login { min-height: 44px; align-content: center; }
  .kira-mobile-page :is(a, button, input, select, summary):focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }

  /* Six homepage sections; existing featured research stays within Latest research. */
  .kira-mobile-home main { display: flex; flex-direction: column; }
  .kira-mobile-home main > .hero { order: 1; }
  .kira-mobile-home main > #kira-platform-gateway { order: 2; }
  .kira-mobile-home main > .strip { order: 3; }
  #kira-mobile-baskets { order: 4; }
  #kira-mobile-latest { order: 5; }
  .kira-mobile-home main > .final { order: 6; }
  [data-kira-mobile-home][hidden] { display: none; }
  body #kira-ghero { min-height: 0; height: auto; }
  body #kira-ghero .inner { padding: 40px var(--mobile-gutter) 48px; }
  body #kira-ghero h1 { font-size: clamp(2.2rem, 8vw, 3.5rem); line-height: 1.08; }
  body #kira-ghero .mark { width: 64px; margin-bottom: 18px; }
  body #kira-ghero .brandline { font-size: .75rem; letter-spacing: .22em; }
  body #kira-ghero .micro { font-size: .75rem; letter-spacing: .08em; }
  body #kira-ghero .pill { max-width: 100%; padding: 14px 22px; font-size: .9375rem; }
  body #kira-ghero .kg-stage { width: 100%; bottom: -60%; opacity: .4; }
  .kira-mobile-home .home-platform .hp-head { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .kira-mobile-home .hp-gateway-grid { margin-top: 24px; }
  .kira-mobile-home .strip { grid-template-columns: minmax(0, 1fr); }
  .kira-mobile-home .strip .cell { display: flex; align-items: center; gap: 18px; padding: 18px var(--mobile-gutter); }
  .kira-mobile-home .strip .k { min-width: 105px; font-size: 1.5rem; }
  .kira-mobile-home .strip .v { margin: 0; font-size: .75rem; }
  .km-card-list { display: grid; gap: 14px; margin-top: 24px; }
  .km-card { padding: 22px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); color: var(--ink); }
  .km-card:hover { color: var(--ink); border-color: var(--gold); }
  .km-card h3 { font-size: 1.25rem; line-height: 1.25; margin: 10px 0; }
  .km-card p { color: var(--ink-dim, var(--dim)); font-size: 1rem; margin: 0 0 18px; }
  .km-kicker { font: 500 .75rem/1.5 var(--mono, monospace); color: var(--gold); }
  .km-link { color: var(--gold); font-size: .875rem; }
  .km-more { display: inline-flex; align-items: center; min-height: 44px; margin-top: 16px; font-size: .9375rem; }
  #kira-mobile-latest .kira-nse-feature { margin-top: 24px; padding: 24px 0; }
  #kira-mobile-latest .kira-nse-feature > .wrap { padding: 0; }
  #kira-mobile-latest .kn-card { grid-template-columns: minmax(0, 1fr); padding: 22px; }
  #kira-mobile-latest .kn-mini { grid-template-columns: minmax(0, 1fr); }
  #kira-mobile-latest :is(.kn-kicker, .kn-mini span, .kn-score .l, .kn-score .gate) { font-size: .75rem; line-height: 1.5; }
  #kira-mobile-latest .kn-score { text-align: left; }
  .kira-mobile-page .pr-fab { position: static; display: flex; width: 100%; max-width: 440px; margin: 24px auto 0; border-radius: 12px; }
  .kira-mobile-page .pr-fab-sub { font-size: .8125rem; }
  .kira-mobile-page .pr-overlay { padding: max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom)); }
  .kira-mobile-page .pr-modal { max-height: calc(100dvh - 48px); padding: 24px 20px; }
  .kira-mobile-page .pr-close { width: 44px; height: 44px; top: 8px; right: 8px; }
  .kira-mobile-page .pr-title { padding-right: 32px; }
}

@media (max-width: 620px) {
  .kira-mobile-page { --mobile-gutter: 18px; }
  .kira-mobile-page :is(.peers, .stats, .basket-stock, .meta) { grid-template-columns: minmax(0, 1fr); }
  .kira-mobile-page .basket-tools { align-items: flex-start; flex-direction: column; }
  .kira-mobile-page .hero-cta { flex-direction: column; align-items: stretch; }
  .kira-mobile-page .hero-cta .btn { width: 100%; }
  .kira-mobile-page .stock { flex-wrap: wrap; }
  .kira-mobile-page .right { text-align: left; }
  .kira-mobile-page :is(.card, .panel, .score-card, .kg-email-card, .basket-stock) { padding: 18px; }
}

@media (max-width: 860px) and (prefers-reduced-motion: reduce) {
  .kira-menu-panel, .kira-menu-overlay { transition: none; }
  .kira-mobile-page .reveal { opacity: 1; transform: none; }
}
