/* Mobile is a focused single-column creation surface. Loaded last on purpose. */
.asset-detail-toolbar { flex-wrap: wrap; }
.asset-detail-footer { flex-wrap: wrap; }
.asset-detail-footer button { white-space: normal; }
:where(button, a, input, textarea, select):focus-visible { outline: 2px solid #6257ef; outline-offset: 3px; }

@media (max-width: 680px) {
  html { scroll-padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
  body { overflow-x: hidden; }

  .announcement-bar {
    padding-inline: 10px;
    font-size: 10px;
  }

  .topbar { padding-inline: 10px; }
  .topbar-meta { min-width: 0; gap: 6px; }
  .api-state { display: none; }
  .concurrency-state { padding-inline: 8px; }

  .app-sidebar {
    height: calc(58px + env(safe-area-inset-bottom));
    padding: 5px 8px calc(5px + env(safe-area-inset-bottom));
  }
  .app-sidebar nav {
    width: 100%;
    justify-content: flex-start;
    gap: 3px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }
  .app-sidebar nav::-webkit-scrollbar { display: none; }
  .side-nav-item {
    flex: 1 0 62px;
    width: auto;
    min-width: 58px;
  }

  /* Override the desktop inspiration offset with equal mobile gutters. */
  body.inspiration-open .generation-session-main,
  .generation-session-main {
    width: 100%;
    margin: 0;
    padding: 0;
  }
  body.inspiration-open .direct-studio,
  .direct-studio {
    width: calc(100% - 20px);
    margin: 0 auto;
    padding: 40px 0 calc(86px + env(safe-area-inset-bottom));
  }

  .direct-hero {
    width: 100%;
    margin-bottom: 18px;
    padding-inline: 5px;
  }
  .direct-hero h1 {
    max-width: none;
    font-size: 24px;
    line-height: 1.24;
  }
  .direct-hero p {
    margin-top: 7px;
    font-size: 11px;
    line-height: 1.55;
  }

  .direct-layout,
  .direct-composer-card,
  .direct-input-surface { width: 100%; min-width: 0; }
  .direct-composer-card {
    min-height: 0;
    padding: 12px;
    overflow: visible;
  }
  #directPrompt { min-height: 64px; max-height: min(220px, 38vh); }

  .direct-tool-primary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    align-items: stretch;
  }
  .direct-tool-primary > * { min-width: 0; }
  .direct-tool-primary > .direct-submit-cluster {
    grid-column: 1 / -1;
    width: 100%;
    margin-left: 0;
  }
  .creation-type-picker,
  .model-picker,
  .duration-stepper,
  .image-spec-picker { width: 100%; min-width: 0; }
  .creation-type-pill,
  .model-picker-trigger,
  .image-spec-trigger {
    width: 100%;
    min-width: 0;
    justify-content: space-between;
  }
  .model-picker-trigger b,
  .image-spec-trigger span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .duration-stepper {
    justify-content: space-between;
    padding-inline: 8px;
  }
  .direct-submit-cluster .direct-price-estimate {
    min-width: 0;
    justify-content: center;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .direct-tool-secondary { gap: 6px; }
  .direct-composer-card:not(.is-prompt-fullscreen) .direct-prompt-meta { width: auto; right: 8px; }
  .direct-tool-secondary button { min-height: 40px; }
  .direct-composer-card:not(.is-prompt-fullscreen) .direct-input-surface { grid-template-columns: minmax(0, 1fr); }
  .direct-composer-card:not(.is-prompt-fullscreen) .direct-assets { grid-column: 1; grid-row: 1; padding-right: 40px; max-width: 100%; overflow-x: auto; }
  .direct-composer-card:not(.is-prompt-fullscreen) #directPrompt { grid-column: 1; grid-row: 2; width: 100%; padding-left: 4px; }
  .direct-composer-card.is-prompt-fullscreen { height: calc(100dvh - 18px); }
  .asset-preview-modal { height: 100dvh; }
  .asset-detail-layout { grid-template-rows: minmax(160px, 42dvh) minmax(0, 1fr); }
  .asset-preview-stage > video { max-height: calc(42dvh - 36px); }
  .asset-preview-stage.portrait > video,
  .asset-preview-stage.square > video { height: calc(42dvh - 36px); }
  .asset-detail-close { position: fixed; top: calc(10px + env(safe-area-inset-top)); right: 10px; left: auto; z-index: 2; width: 44px; min-height: 44px; }
  .asset-detail-toolbar { min-height: 58px; align-items: center; gap: 8px; }
  .asset-detail-footer { padding-bottom: calc(12px + env(safe-area-inset-bottom)); }
  .asset-detail-scroll { overscroll-behavior: contain; }

  .creation-type-menu,
  .model-menu,
  .image-spec-menu,
  .reference-menu {
    position: fixed;
    right: 10px;
    bottom: calc(66px + env(safe-area-inset-bottom));
    left: 10px;
    width: auto;
    max-height: min(64vh, 520px);
    overflow-y: auto;
    overscroll-behavior: contain;
    border-radius: 18px 18px 14px 14px;
  }

  .account-popover {
    top: 84px;
    right: 10px;
    width: calc(100vw - 20px);
    max-height: calc(100vh - 98px);
    overflow-y: auto;
  }
  .toast-region {
    right: 10px;
    bottom: calc(70px + env(safe-area-inset-bottom));
    width: calc(100vw - 20px);
  }
}

@media (max-width: 360px) {
  .direct-hero h1 { font-size: 22px; }
  .direct-composer-card { padding: 10px; }
  .direct-tool-primary { gap: 6px; }
  .creation-type-pill,
  .model-picker-trigger,
  .duration-stepper,
  .image-spec-trigger { padding-inline: 8px; }
}
