/* AXIS mobile terminal layer. Loaded last so phones get a compact app-like shell
   without changing the desktop chart layout. */

@media (max-width: 900px), (pointer: coarse) {
  :root {
    --axis-mobile-header: 112px;
    --axis-mobile-gap: 8px;
    --axis-mobile-radius: 12px;
    --axis-mobile-panel: rgba(7, 12, 22, 0.96);
    --axis-mobile-border: rgba(255, 184, 0, 0.28);
  }

  html {
    width: 100%;
    overflow-x: hidden;
    scroll-padding-top: calc(var(--axis-mobile-header) + 10px);
    -webkit-text-size-adjust: 100%;
  }

  body {
    width: 100%;
    max-width: 100%;
    min-height: calc(var(--axis-vh, 1vh) * 100);
    overflow-x: hidden;
    overscroll-behavior-x: none;
    background: #000000;
  }

  *,
  *::before,
  *::after {
    min-width: 0;
  }

  button,
  a,
  input,
  select,
  textarea,
  .selector-trigger,
  .selector-item {
    touch-action: manipulation;
  }

  .axis-mobile-scroll,
  .market-hub,
  body[data-route="journal"] .market-hub,
  .chart-toolbar-row,
  .chart-toolbar-left,
  .chart-toolbar-right,
  .orderbook-toolbar,
  .orderbook-terminal-toolbar,
  .footprint-toolbar,
  .spot-depth-toolbar,
  .flow-terminal-toolbar,
  .fund-terminal-toolbar,
  .market-metric-terminal-toolbar,
  .open-interest-page-toolbar,
  .profile-terminal-toolbar,
  body[data-route="macro"] .macro-rail {
    touch-action: pan-x pan-y !important;
    cursor: grab;
  }

  .axis-mobile-scroll.is-axis-dragging,
  .market-hub.is-axis-dragging,
  .chart-toolbar-row.is-axis-dragging,
  .chart-toolbar-left.is-axis-dragging,
  .chart-toolbar-right.is-axis-dragging,
  .orderbook-toolbar.is-axis-dragging,
  .orderbook-terminal-toolbar.is-axis-dragging,
  .footprint-toolbar.is-axis-dragging,
  .spot-depth-toolbar.is-axis-dragging,
  .flow-terminal-toolbar.is-axis-dragging,
  .fund-terminal-toolbar.is-axis-dragging,
  .market-metric-terminal-toolbar.is-axis-dragging,
  .open-interest-page-toolbar.is-axis-dragging,
  .profile-terminal-toolbar.is-axis-dragging,
  body[data-route="macro"] .macro-rail.is-axis-dragging {
    cursor: grabbing;
    scroll-snap-type: none !important;
  }

  .site-background .background-glow {
    opacity: 0.42;
    filter: blur(30px);
  }

  .site-shell {
    width: 100%;
    min-height: calc(var(--axis-vh, 1vh) * 100);
  }

  .site-header,
  body[data-route="journal"] .site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    min-height: var(--axis-mobile-header) !important;
    padding:
      max(7px, env(safe-area-inset-top))
      max(7px, env(safe-area-inset-right))
      7px
      max(7px, env(safe-area-inset-left)) !important;
    background: rgba(0, 0, 0, 0.96) !important;
    backdrop-filter: blur(18px) saturate(1.15) !important;
    border-bottom: 1px solid var(--axis-mobile-border) !important;
    transform: translateZ(0);
  }

  .site-main,
  body[data-route="terminal"] .site-main,
  body[data-route="dashboard"] .site-main,
  body[data-route="market-profile"] .site-main,
  body[data-route="footprint"] .site-main,
  body[data-route="orderbook"] .site-main,
  body[data-route="spot-depth"] .site-main,
  body[data-route="open-interest"] .site-main,
  body[data-route="net-position-flow"] .site-main,
  body[data-route="market-metric"] .site-main,
  body[data-route="journal"] .main {
    width: 100% !important;
    max-width: 100% !important;
    padding:
      var(--axis-mobile-gap)
      max(5px, env(safe-area-inset-right))
      max(14px, env(safe-area-inset-bottom))
      max(5px, env(safe-area-inset-left)) !important;
  }

  .brand-button {
    max-width: 56vw;
  }

  .brand-title,
  body[data-route="journal"] .brand-title {
    letter-spacing: 0.08em !important;
  }

  .header-balance,
  body[data-route="journal"] .header-balance {
    max-width: 42vw !important;
  }

  .header-auth-name-label {
    max-width: 74px !important;
  }

  .market-hub,
  body[data-route="journal"] .market-hub,
  .site-header .market-hub,
  body[data-route="journal"] .site-header .market-hub {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: none !important;
  }

  .market-hub::-webkit-scrollbar,
  body[data-route="journal"] .market-hub::-webkit-scrollbar,
  .site-header .market-hub::-webkit-scrollbar,
  body[data-route="journal"] .site-header .market-hub::-webkit-scrollbar {
    display: none !important;
  }

  .market-hub-trigger,
  .market-hub-link,
  .site-header .market-hub-trigger,
  .site-header .market-hub-link,
  body[data-route="journal"] .market-hub-trigger,
  body[data-route="journal"] .site-header .market-hub-trigger,
  body[data-route="journal"] .market-hub-link {
    flex: 0 0 auto !important;
    min-height: 40px !important;
    min-width: 104px !important;
    scroll-snap-align: start;
  }

  .dashboard-view,
  .terminal-view,
  .orderbook-terminal-page,
  .footprint-terminal-page,
  .spot-depth-page,
  .flow-terminal-main,
  .market-metric-terminal-main,
  .open-interest-page-main {
    width: 100% !important;
    max-width: 100% !important;
  }

  .dashboard-grid,
  .open-interest-page-layout,
  .flow-terminal-summary-grid,
  .market-metric-terminal-summary-grid,
  .orderbook-terminal-summary,
  .spot-depth-layout {
    grid-template-columns: 1fr !important;
  }

  .dashboard-tile,
  .dashboard-chart-tile,
  .orderbook-terminal-shell,
  .orderbook-terminal-card,
  .footprint-terminal-shell,
  .spot-depth-shell,
  .flow-terminal-shell,
  .market-metric-terminal-shell,
  .open-interest-page-card {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: var(--axis-mobile-radius) !important;
  }

  .chart-toolbar-row,
  .chart-toolbar-left,
  .chart-toolbar-right,
  .orderbook-toolbar,
  .orderbook-terminal-toolbar,
  .footprint-toolbar,
  .spot-depth-toolbar,
  .flow-terminal-toolbar,
  .fund-terminal-toolbar,
  .market-metric-terminal-toolbar,
  .open-interest-page-toolbar,
  .profile-terminal-toolbar {
    position: sticky !important;
    top: calc(var(--axis-mobile-header) + 4px) !important;
    z-index: 230 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    max-width: 100% !important;
    padding: 6px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
    background: linear-gradient(180deg, rgba(6, 6, 6, 0.98), rgba(6, 6, 6, 0.86)) !important;
    border: 1px solid rgba(255, 184, 0, 0.22) !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.2) !important;
  }

  .chart-toolbar-row::-webkit-scrollbar,
  .chart-toolbar-left::-webkit-scrollbar,
  .chart-toolbar-right::-webkit-scrollbar,
  .orderbook-toolbar::-webkit-scrollbar,
  .orderbook-terminal-toolbar::-webkit-scrollbar,
  .footprint-toolbar::-webkit-scrollbar,
  .spot-depth-toolbar::-webkit-scrollbar,
  .flow-terminal-toolbar::-webkit-scrollbar,
  .fund-terminal-toolbar::-webkit-scrollbar,
  .market-metric-terminal-toolbar::-webkit-scrollbar,
  .open-interest-page-toolbar::-webkit-scrollbar,
  .profile-terminal-toolbar::-webkit-scrollbar {
    display: none !important;
  }

  .selector,
  .axis-share,
  .chart-toolbar-row > *,
  .chart-toolbar-left > *,
  .chart-toolbar-right > *,
  .orderbook-toolbar > *,
  .orderbook-terminal-toolbar > *,
  .footprint-toolbar > *,
  .spot-depth-toolbar > *,
  .flow-terminal-toolbar > *,
  .fund-terminal-toolbar > *,
  .market-metric-terminal-toolbar > *,
  .open-interest-page-toolbar > *,
  .profile-terminal-toolbar > * {
    flex: 0 0 auto !important;
  }

  .selector-trigger,
  .axis-share-trigger,
  .selector-item,
  .tool-button,
  .drawing-tool-button {
    min-height: 40px !important;
    border-radius: 10px !important;
  }

  .selector-trigger,
  .axis-share-trigger {
    min-width: 94px !important;
    padding: 7px 11px !important;
    font-size: 0.82rem !important;
  }

  .selector-trigger > span:first-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .selector-menu:not(.market-hub-menu):not([hidden]) {
    position: fixed !important;
    inset:
      auto
      max(8px, env(safe-area-inset-right))
      max(8px, env(safe-area-inset-bottom))
      max(8px, env(safe-area-inset-left)) !important;
    display: grid !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    max-height: min(62svh, 460px) !important;
    padding: 10px !important;
    overflow: auto !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255, 204, 0, 0.42) !important;
    background: var(--axis-mobile-panel) !important;
    box-shadow: 0 -18px 50px rgba(0, 0, 0, 0.56), 0 0 0 1px rgba(255, 215, 0, 0.08) !important;
    backdrop-filter: blur(20px) saturate(1.15) !important;
    z-index: 1200 !important;
  }

  .selector-menu-grid:not([hidden]) {
    grid-template-columns: repeat(auto-fit, minmax(62px, 1fr)) !important;
  }

  .selector-menu-options {
    max-height: none !important;
  }

  .selector-item {
    justify-content: center !important;
    min-height: 40px !important;
    padding: 8px 10px !important;
    font-size: 0.88rem !important;
  }

  .site-header .selector-menu.market-hub-menu:not([hidden]),
  body[data-route="journal"] .site-header .selector-menu.market-hub-menu:not([hidden]) {
    position: fixed !important;
    top: calc(var(--axis-mobile-header) + 5px) !important;
    left: max(8px, env(safe-area-inset-left)) !important;
    right: max(8px, env(safe-area-inset-right)) !important;
    width: auto !important;
    max-height: min(58svh, 430px) !important;
    z-index: 1300 !important;
  }

  .chart-shell.is-terminal-layout,
  .orderbook-terminal-shell,
  .footprint-terminal-shell,
  .spot-depth-shell,
  .flow-terminal-shell,
  .market-metric-terminal-shell {
    min-height: calc(var(--axis-vh, 1vh) * 100 - var(--axis-mobile-header) - 18px) !important;
  }

  .chart-surface,
  .orderbook-chart-frame,
  .orderbook-terminal-chart-frame,
  .footprint-chart-frame,
  .spot-depth-panel,
  .open-interest-page-chart-frame,
  .flow-terminal-chart-frame,
  .market-metric-terminal-chart-frame {
    height: clamp(430px, calc(var(--axis-vh, 1vh) * 100 - var(--axis-mobile-header) - 92px), 720px) !important;
    min-height: clamp(430px, calc(var(--axis-vh, 1vh) * 100 - var(--axis-mobile-header) - 92px), 720px) !important;
    border-radius: 10px !important;
    overflow: hidden !important;
  }

  body[data-route="dashboard"] .chart-surface,
  .dashboard-chart-host,
  .dashboard-chart-host .chart-surface {
    height: 340px !important;
    min-height: 340px !important;
  }

  .chart-stack,
  .chart-canvas,
  .axis-drawing-canvas,
  .footprint-canvas,
  .orderbook-canvas,
  .orderbook-terminal-canvas,
  .spot-depth-canvas,
  .open-interest-canvas,
  .flow-canvas,
  .market-metric-canvas,
  .market-metric-terminal-canvas,
  .chart-embed canvas,
  canvas.cv {
    width: 100% !important;
    max-width: 100% !important;
    touch-action: none !important;
    overscroll-behavior: contain !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    -webkit-touch-callout: none !important;
  }

  body[data-route="terminal"] .chart-shell.is-terminal-layout .chart-surface.has-lower-indicators .chart-stack {
    grid-template-rows: minmax(0, 1fr) minmax(124px, 24%) !important;
  }

  .market-metric-summary-grid,
  .open-interest-summary-grid,
  .flow-terminal-summary-grid,
  .fund-terminal-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }

  .market-metric-summary-block,
  .open-interest-summary-block,
  .flow-terminal-summary-block,
  .fund-terminal-summary-block {
    min-height: 76px !important;
    padding: 9px !important;
  }

  table,
  .table-shell,
  .journal-table-wrapper,
  .macro-table-wrapper {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  body[data-route="macro"] .macro-shell,
  body[data-route="macro"] .macro-workspace,
  body[data-route="macro"] .macro-screen,
  body[data-route="macro"] .macro-panel,
  body[data-route="macro"] .macro-command-bar {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body[data-route="macro"] .macro-shell {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body[data-route="macro"] .macro-rail {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    flex-wrap: nowrap !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-x: contain !important;
    scrollbar-width: none !important;
  }

  body[data-route="macro"] .macro-rail::-webkit-scrollbar {
    display: none !important;
  }

  body[data-route="macro"] .macro-rail-item {
    flex: 0 0 148px !important;
    width: 148px !important;
  }
}

@media (max-width: 640px), (pointer: coarse) and (max-width: 640px) {
  :root {
    --axis-mobile-header: 104px;
    --axis-mobile-gap: 6px;
  }

  .brand-subtitle,
  body[data-route="journal"] .brand-subtitle {
    display: none !important;
  }

  .brand-title,
  body[data-route="journal"] .brand-title {
    font-size: 0.9rem !important;
  }

  .header-auth-name-label {
    max-width: 58px !important;
  }

  .market-hub-trigger,
  .market-hub-link,
  body[data-route="journal"] .market-hub-trigger,
  body[data-route="journal"] .market-hub-link {
    min-width: 96px !important;
    min-height: 38px !important;
    padding-inline: 10px !important;
    font-size: 0.82rem !important;
  }

  .selector-trigger,
  .axis-share-trigger {
    min-width: 86px !important;
    min-height: 38px !important;
    padding: 6px 10px !important;
    font-size: 0.78rem !important;
  }

  .chart-surface,
  .orderbook-chart-frame,
  .orderbook-terminal-chart-frame,
  .footprint-chart-frame,
  .spot-depth-panel,
  .open-interest-page-chart-frame,
  .flow-terminal-chart-frame,
  .market-metric-terminal-chart-frame {
    height: clamp(380px, calc(var(--axis-vh, 1vh) * 100 - var(--axis-mobile-header) - 82px), 650px) !important;
    min-height: clamp(380px, calc(var(--axis-vh, 1vh) * 100 - var(--axis-mobile-header) - 82px), 650px) !important;
  }

  body[data-route="dashboard"] .chart-surface,
  .dashboard-chart-host,
  .dashboard-chart-host .chart-surface {
    height: 306px !important;
    min-height: 306px !important;
  }

  .dashboard-tile,
  .dashboard-chart-tile {
    padding: 8px !important;
  }

  .market-metric-summary-grid,
  .open-interest-summary-grid,
  .flow-terminal-summary-grid,
  .fund-terminal-summary-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-height: 520px) and (orientation: landscape) {
  :root {
    --axis-mobile-header: 70px;
  }

  .site-header,
  body[data-route="journal"] .site-header {
    min-height: var(--axis-mobile-header) !important;
    grid-template-areas: "brand markets auth" !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
  }

  .market-hub,
  body[data-route="journal"] .market-hub {
    grid-area: markets !important;
  }

  .chart-toolbar-row,
  .orderbook-toolbar,
  .orderbook-terminal-toolbar,
  .footprint-toolbar,
  .spot-depth-toolbar,
  .flow-terminal-toolbar,
  .fund-terminal-toolbar,
  .market-metric-terminal-toolbar,
  .open-interest-page-toolbar,
  .profile-terminal-toolbar {
    top: calc(var(--axis-mobile-header) + 3px) !important;
  }

  .chart-surface,
  .orderbook-chart-frame,
  .orderbook-terminal-chart-frame,
  .footprint-chart-frame,
  .spot-depth-panel,
  .open-interest-page-chart-frame,
  .flow-terminal-chart-frame,
  .market-metric-terminal-chart-frame {
    height: calc(var(--axis-vh, 1vh) * 100 - var(--axis-mobile-header) - 62px) !important;
    min-height: 280px !important;
  }
}

@media (max-width: 860px) {
  body:not([data-route="sentinel"]) {
    --axis-mobile-panel: rgba(0, 0, 0, 0.98);
    --axis-mobile-border: rgba(255, 215, 0, 0.24);
  }

  body:not([data-route="sentinel"]) .site-header,
  body:not([data-route="sentinel"]) .chart-toolbar-row,
  body:not([data-route="sentinel"]) .orderbook-toolbar,
  body:not([data-route="sentinel"]) .orderbook-terminal-toolbar,
  body:not([data-route="sentinel"]) .footprint-toolbar,
  body:not([data-route="sentinel"]) .spot-depth-toolbar,
  body:not([data-route="sentinel"]) .flow-terminal-toolbar,
  body:not([data-route="sentinel"]) .fund-terminal-toolbar,
  body:not([data-route="sentinel"]) .market-metric-terminal-toolbar,
  body:not([data-route="sentinel"]) .open-interest-page-toolbar,
  body:not([data-route="sentinel"]) .profile-terminal-toolbar {
    border-color: var(--axis-mobile-border) !important;
    background:
      linear-gradient(180deg, rgba(12, 12, 12, 0.98), rgba(0, 0, 0, 0.96)) !important;
  }

  body:not([data-route="sentinel"]) .selector-menu,
  body:not([data-route="sentinel"]) .chart-shell,
  body:not([data-route="sentinel"]) .dashboard-tile,
  body:not([data-route="sentinel"]) .auth-modal {
    border-color: var(--axis-mobile-border) !important;
    background: rgba(0, 0, 0, 0.98) !important;
  }
}
