/* V679: V678 mobile fixes + drop/meso mobile equipment-before-acquisition order. */
@media (max-width: 820px) {
  /* Header: brand | character quick search | menu button */
  html.ip-mobile-ui body header.site-header-v165.ip-topbar.v49-topbar,
  html.ip-mobile-ui body header.site-header-v165.unified-home-header.ip-topbar.v49-topbar,
  html.ip-mobile-ui body.landing-v49 header.site-header-v165.v49-topbar {
    grid-template-columns: auto minmax(118px, 1fr) 42px !important;
    grid-template-rows: 46px !important;
    column-gap: 8px !important;
  }
  html.ip-mobile-ui body header.site-header-v165 .site-header-brand {
    grid-column: 1 !important;
    grid-row: 1 !important;
    max-width: 112px !important;
    gap: 7px !important;
  }
  html.ip-mobile-ui body header.site-header-v165 .site-header-brand .ip-brand-mark {
    width: 34px !important;
    height: 34px !important;
    flex-basis: 34px !important;
  }
  html.ip-mobile-ui body header.site-header-v165 .site-header-brand .ip-brand-mark img {
    width: 34px !important;
    height: 34px !important;
  }
  html.ip-mobile-ui body header.site-header-v165 .site-header-brand b {
    font-size: 13px !important;
  }
  html.ip-mobile-ui body header.site-header-v165 .site-header-brand em {
    display: none !important;
  }
  html.ip-mobile-ui body header.site-header-v165 .ip-header-actions-v521 {
    display: contents !important;
  }
  html.ip-mobile-ui body header.site-header-v165 .site-character-search-v162 {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: stretch !important;
    align-self: center !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) 38px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 11px !important;
    background: rgba(255,255,255,.055) !important;
    box-shadow: none !important;
  }
  html.ip-mobile-ui body header.site-header-v165 .site-character-search-v162:focus-within {
    border-color: rgba(240,93,69,.72) !important;
    background: rgba(255,255,255,.07) !important;
    box-shadow: none !important;
  }
  html.ip-mobile-ui body header.site-header-v165 .site-character-search-v162 input {
    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 8px 0 10px !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    color: #eef4fa !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 38px !important;
  }
  html.ip-mobile-ui body header.site-header-v165 .site-character-search-v162 input::placeholder {
    color: #8290a2 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
  }
  html.ip-mobile-ui body header.site-header-v165 .site-character-search-v162 button {
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    border: 0 !important;
    border-left: 1px solid rgba(255,255,255,.09) !important;
    border-radius: 0 !important;
    background: rgba(255,255,255,.035) !important;
    color: #c0ccda !important;
  }
  html.ip-mobile-ui body header.site-header-v165 .site-character-search-v162 button b {
    display: none !important;
  }
  html.ip-mobile-ui body header.site-header-v165 .site-character-search-v162 .site-character-search-icon-v523 {
    width: 16px !important;
    height: 16px !important;
  }
  html.ip-mobile-ui body header.site-header-v165 .mobile-menu-button {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
  }

  /* Closed mobile menu must have no live/clickable descendants. */
  html.ip-mobile-ui body header.site-header-v165:not(.mobile-nav-open) .site-header-nav {
    max-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-8px) !important;
  }
  html.ip-mobile-ui body header.site-header-v165:not(.mobile-nav-open) .site-header-nav a,
  html.ip-mobile-ui body header.site-header-v165:not(.mobile-nav-open) .site-header-nav button,
  html.ip-mobile-ui body header.site-header-v165:not(.mobile-nav-open) .site-header-nav .ip-nav-menu {
    visibility: hidden !important;
    pointer-events: none !important;
  }
  html.ip-mobile-ui body header.site-header-v165:not(.mobile-nav-open) .site-header-nav .ip-nav-menu {
    opacity: 0 !important;
    transform: none !important;
  }

  /* Open state: one page scroll/one menu scroll, no hover translation on long press. */
  html.ip-mobile-ui body header.site-header-v165.mobile-nav-open .site-header-nav {
    max-height: min(78vh, 760px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }
  html.ip-mobile-ui body header.site-header-v165.mobile-nav-open .site-header-nav a,
  html.ip-mobile-ui body header.site-header-v165.mobile-nav-open .site-header-nav button,
  html.ip-mobile-ui body header.site-header-v165.mobile-nav-open .site-header-nav .ip-nav-menu {
    visibility: visible !important;
    pointer-events: auto !important;
  }
  html.ip-mobile-ui body header.site-header-v165 .ip-nav-menu,
  html.ip-mobile-ui body header.site-header-v165 .ip-nav-group:hover > .ip-nav-menu,
  html.ip-mobile-ui body header.site-header-v165 .ip-nav-group:focus-within > .ip-nav-menu,
  html.ip-mobile-ui body header.site-header-v165 .site-header-nav > .ip-nav-group:last-child > .ip-nav-menu,
  html.ip-mobile-ui body header.site-header-v165 .site-header-nav > .ip-nav-group:last-child:hover > .ip-nav-menu,
  html.ip-mobile-ui body header.site-header-v165 .site-header-nav > .ip-nav-group:last-child:focus-within > .ip-nav-menu {
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
  }

  /* Character page: expand Current Equipment Actual Value instead of nested scrolling. */
  .mc-portfolio-compact {
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
  .mc-portfolio-compact .mc-portfolio-view {
    min-height: 0 !important;
    flex: 0 0 auto !important;
    overflow: visible !important;
  }
  .mc-portfolio-compact .mc-portfolio-list {
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    flex: 0 0 auto !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
    overscroll-behavior: auto !important;
  }
}

@media (max-width: 350px) {
  html.ip-mobile-ui body header.site-header-v165.ip-topbar.v49-topbar,
  html.ip-mobile-ui body header.site-header-v165.unified-home-header.ip-topbar.v49-topbar {
    grid-template-columns: 38px minmax(112px,1fr) 42px !important;
  }
  html.ip-mobile-ui body header.site-header-v165 .site-header-brand {
    width: 38px !important;
    max-width: 38px !important;
  }
  html.ip-mobile-ui body header.site-header-v165 .site-header-brand > span:last-child {
    display: none !important;
  }
}


/* V679: mobile drop/meso calculator workflow.
   Desktop keeps the original two-column layout. On mobile, flatten the two columns
   into the task order so Calculate / Results / Expectation tables are not buried
   below the long nine-slot equipment list. */
@media (max-width: 820px) {
  body.drop-meso-page-body .dm-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }
  body.drop-meso-page-body .dm-left,
  body.drop-meso-page-body .dm-main,
  body.drop-meso-page-body .dm-settings-grid {
    display: contents !important;
  }

  /* Mobile task order: identify -> current equipment -> acquisition summary -> settings -> calculate -> outputs. */
  body.drop-meso-page-body .dm-character-card { order: 10 !important; }
  body.drop-meso-page-body .dm-equipment-card { order: 20 !important; }
  body.drop-meso-page-body .dm-acquisition-card { order: 30 !important; }
  body.drop-meso-page-body .dm-target-card { order: 40 !important; }
  body.drop-meso-page-body .dm-filter-card { order: 50 !important; }
  body.drop-meso-page-body .dm-hunt-card { order: 60 !important; }
  body.drop-meso-page-body .dm-calc-row { order: 70 !important; }
  body.drop-meso-page-body .dm-results-card { order: 80 !important; }
  body.drop-meso-page-body .dm-expectation-card { order: 90 !important; }

  /* Keep the primary action unmistakable and touch friendly. */
  body.drop-meso-page-body .dm-calc-row {
    padding: 12px !important;
    gap: 10px !important;
  }
  body.drop-meso-page-body .dm-primary {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    height: 48px !important;
    font-size: 14px !important;
  }

  /* Recommendation table: readable local horizontal scroll instead of crushing 7 columns into 320px. */
  body.drop-meso-page-body .dm-table-wrap {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
  }
  body.drop-meso-page-body .dm-table-wrap table {
    width: max-content !important;
    min-width: 760px !important;
    table-layout: auto !important;
    font-size: 10px !important;
  }
  body.drop-meso-page-body .dm-table-wrap th,
  body.drop-meso-page-body .dm-table-wrap td {
    padding: 7px 6px !important;
    overflow: visible !important;
  }
  body.drop-meso-page-body .dm-table-item {
    min-width: 132px !important;
  }

  /* Expectation matrices remain horizontally scrollable with the first label column sticky. */
  body.drop-meso-page-body .dm-expectation-matrix-wrap {
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: thin !important;
  }
  body.drop-meso-page-body .dm-expectation-matrix-wrap::-webkit-scrollbar {
    display: block !important;
    height: 4px !important;
  }
  body.drop-meso-page-body .dm-expectation-matrix {
    width: max-content !important;
    min-width: 760px !important;
  }
  body.drop-meso-page-body .dm-expectation-matrix-title {
    gap: 8px !important;
  }
}

@media (max-width: 560px) {
  /* Do not turn nine equipment slots into nine full-width rows. */
  body.drop-meso-page-body .dm-equip-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }
  body.drop-meso-page-body .dm-equipment-body {
    padding: 8px !important;
  }
  body.drop-meso-page-body .dm-equip-column {
    gap: 6px !important;
  }
  body.drop-meso-page-body .dm-equip-card {
    min-height: 78px !important;
    padding: 7px !important;
  }
  body.drop-meso-page-body .dm-equip-icon {
    width: 34px !important;
    height: 34px !important;
    flex-basis: 34px !important;
  }
  body.drop-meso-page-body .dm-equip-icon img {
    width: 31px !important;
    height: 31px !important;
  }
  body.drop-meso-page-body .dm-equip-copy b {
    font-size: 10px !important;
  }
  body.drop-meso-page-body .dm-equip-copy small,
  body.drop-meso-page-body .dm-equip-values em {
    font-size: 8px !important;
  }
  body.drop-meso-page-body .dm-equip-card > .dm-lock-mark {
    width: 24px !important;
    height: 24px !important;
    font-size: 13px !important;
  }

  /* Avoid oversized hero/header copy consuming the first screen. */
  body.drop-meso-page-body .dm-page {
    width: calc(100% - 16px) !important;
    padding-top: 12px !important;
  }
  body.drop-meso-page-body .dm-hero h1 {
    font-size: 22px !important;
  }
  body.drop-meso-page-body .dm-hero p {
    font-size: 12px !important;
  }
  body.drop-meso-page-body .dm-hero-note {
    padding: 9px 10px !important;
    font-size: 10px !important;
  }
  body.drop-meso-page-body .dm-card > header {
    padding: 11px 12px !important;
  }
  body.drop-meso-page-body .dm-setting-body,
  body.drop-meso-page-body .dm-acq-body,
  body.drop-meso-page-body .dm-character-body,
  body.drop-meso-page-body .dm-results-card .dm-results-body,
  body.drop-meso-page-body .dm-expectation-body {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}

/* Mobile header search: use the same restrained ItemPrice coral/navy language, never neon. */
@media (max-width: 820px) {
  html.ip-mobile-ui body header.site-header-v165 .site-character-search-v162 {
    border-color: rgba(170,183,199,.24) !important;
    background: rgba(255,255,255,.045) !important;
    box-shadow: none !important;
  }
  html.ip-mobile-ui body header.site-header-v165 .site-character-search-v162:focus-within {
    border-color: rgba(240,93,69,.72) !important;
    background: rgba(255,255,255,.065) !important;
    box-shadow: none !important;
  }
  html.ip-mobile-ui body header.site-header-v165 .site-character-search-v162 button {
    border-left-color: rgba(170,183,199,.18) !important;
    background: rgba(255,255,255,.025) !important;
    color: #c0ccda !important;
  }
  html.ip-mobile-ui body header.site-header-v165 .site-character-search-v162:focus-within button {
    color: #ff927b !important;
  }
}

/* V679 carries forward V678 theme ownership for the compact mobile header search. */
@media (max-width: 820px) {
  html[data-theme="light"].ip-mobile-ui body header.site-header-v165 .site-character-search-v162 {
    background: #fff !important;
    border-color: #dfe5ec !important;
    box-shadow: none !important;
  }
  html[data-theme="light"].ip-mobile-ui body header.site-header-v165 .site-character-search-v162:focus-within {
    background: #fff !important;
    border-color: #ff9b86 !important;
    box-shadow: none !important;
  }
  html[data-theme="light"].ip-mobile-ui body header.site-header-v165 .site-character-search-v162 input {
    color: #253247 !important;
  }
  html[data-theme="light"].ip-mobile-ui body header.site-header-v165 .site-character-search-v162 input::placeholder {
    color: #98a3b2 !important;
  }
  html[data-theme="light"].ip-mobile-ui body header.site-header-v165 .site-character-search-v162 button {
    border-left-color: #ffd0c5 !important;
    background: #fff3ef !important;
    color: #c94a30 !important;
  }

  html[data-theme="dark"].ip-mobile-ui body header.site-header-v165 .site-character-search-v162 {
    background: #151f2b !important;
    border-color: #334153 !important;
    box-shadow: none !important;
  }
  html[data-theme="dark"].ip-mobile-ui body header.site-header-v165 .site-character-search-v162:focus-within {
    background: #151f2b !important;
    border-color: #6b4b46 !important;
    box-shadow: none !important;
  }
  html[data-theme="dark"].ip-mobile-ui body header.site-header-v165 .site-character-search-v162 input {
    color: #eef3f8 !important;
  }
  html[data-theme="dark"].ip-mobile-ui body header.site-header-v165 .site-character-search-v162 input::placeholder {
    color: #778699 !important;
  }
  html[data-theme="dark"].ip-mobile-ui body header.site-header-v165 .site-character-search-v162 button {
    border-left-color: #5d3932 !important;
    background: #211c1c !important;
    color: #ff9b88 !important;
  }
}

/* V679 carries forward V678 mobile density rules. */
.dm-filter-head-actions{display:flex;align-items:center;gap:8px}
.dm-mobile-card-toggle{display:none}
@media (max-width: 820px) {
  body.drop-meso-page-body :is(.dm-character-card,.dm-acquisition-card,.dm-target-card,.dm-filter-card,.dm-hunt-card,.dm-calc-row,.dm-results-card,.dm-expectation-card,.dm-equipment-card) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  body.drop-meso-page-body .dm-mobile-card-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 32px !important;
    padding: 0 9px !important;
    border: 1px solid var(--dm-line-strong) !important;
    border-radius: 7px !important;
    background: var(--dm-surface-2) !important;
    color: var(--dm-sub) !important;
    font: inherit !important;
    font-size: 9px !important;
    font-weight: 800 !important;
  }
  body.drop-meso-page-body .dm-filter-card.dm-mobile-collapsed .dm-setting-body {
    display: none !important;
  }
  body.drop-meso-page-body .dm-filter-head-actions > small {
    display: none !important;
  }
  body.drop-meso-page-body .dm-expectation-matrix-wrap {
    width: 100% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 560px) {
  body.drop-meso-page-body .dm-field-grid,
  body.drop-meso-page-body .dm-hunt-fields,
  body.drop-meso-page-body .dm-control-pair,
  body.drop-meso-page-body .dm-acq-summary,
  body.drop-meso-page-body .dm-extra-grid,
  body.drop-meso-page-body .dm-profit-source-grid,
  body.drop-meso-page-body .dm-profit-delta-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.drop-meso-page-body .dm-field > span {
    font-size: 9.5px !important;
  }
  body.drop-meso-page-body .dm-field input {
    font-size: 12px !important;
  }
  body.drop-meso-page-body .dm-profit-source-grid article,
  body.drop-meso-page-body .dm-profit-delta-grid article {
    padding: 9px !important;
  }
  body.drop-meso-page-body .dm-profit-source-grid b,
  body.drop-meso-page-body .dm-profit-delta-grid b {
    font-size: 12px !important;
    white-space: normal !important;
  }
}
@media (min-width: 360px) and (max-width: 820px) {
  body.drop-meso-page-body .dm-trade-slot-config-split {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 820px) {
  body.drop-meso-page-body .dm-expectation-matrix {
    width: 760px !important;
    min-width: 760px !important;
    max-width: none !important;
  }
}
