/* Mobile QA corrections, 2026-10-29. Original spacing/type rules only.
 * Loaded last so mobile component overrides share one readable rhythm.
 * Existing brand, assets, roles, handlers and transaction rules are unchanged. */
@media (max-width: 700px) {
  .spot-buddy { --mobile-rail-height: 56px; padding-bottom: calc(112px + env(safe-area-inset-bottom, 0px)); }
  .spot-buddy .site-header,
  .spot-buddy .container,
  .spot-buddy .footer-container { width: calc(100% - 40px); }
  .spot-buddy :is(h1, h2, h3, p),
  .admin-shell :is(h1, h2, h3, p) { word-break: keep-all; overflow-wrap: anywhere; }

  /* Keep editable text at a readable size; do not disable Safari zoom. */
  .spot-buddy :is(input, select, textarea),
  .admin-shell :is(input, select, textarea) { font-size: 16px !important; }
  .spot-buddy :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]), select),
  .admin-shell :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]), select) { min-height: 44px; }
  .spot-buddy :is(input, select, textarea) { scroll-margin-block: 24px 144px; }

  .spot-buddy .site-header { height: auto; grid-template-rows: 72px 48px; row-gap: 4px; padding-bottom: 8px; }
  .spot-buddy .site-header .brand { min-width: 0; font-size: 25px; }
  .spot-buddy .site-header nav { height: 48px; gap: 8px; justify-content: space-between; font-size: 14px; }
  .spot-buddy .site-header nav a { display: inline-flex; align-items: center; justify-content: center; height: 48px; min-width: 44px; padding-inline: 6px; }
  .spot-buddy .site-header .header-actions { gap: 8px; }
  .spot-buddy .header-actions > .admin-header-link,
  .spot-buddy .header-actions > .join { min-height: 44px; padding: 10px; font-size: 12px; }

  /* The multi-row demo menu must scroll with the page instead of hiding it. */
  .presentation-bar { position: static; width: calc(100% - 40px); margin: 8px auto 24px; padding: 14px; border-radius: 14px; }
  .presentation-top { gap: 10px 8px; }
  .presentation-top > strong { font-size: 14px; }
  .presentation-top > strong span { font-size: 11px; }
  .presentation-top nav { gap: 8px; }
  .presentation-top nav a { display: inline-flex; justify-content: center; align-items: center; min-height: 44px; padding: 8px 4px; font-size: 12.5px; }
  .presentation-top > a,
  .presentation-top > button { display: inline-flex; align-items: center; min-height: 44px; padding: 8px; font-size: 11px; }
  .presentation-shortcuts { gap: 8px; margin-top: 12px; align-items: stretch; }
  .presentation-shortcuts a { min-width: 0; min-height: 44px; padding: 8px 5px; font-size: 12px; line-height: 1.5; text-align: center; }
  .presentation-tools { margin-top: 12px; padding-top: 6px; border-top: 1px solid #ead8bf; }
  .presentation-tools summary { min-height: 44px; align-items: center; padding: 8px 0; font-size: 11px; line-height: 1.6; }
  .presentation-tools summary > span:first-child { white-space: normal; overflow: visible; }
  .presentation-tools summary > span:last-child { flex-shrink: 0; }
  .presentation-controls { gap: 12px 8px; padding-top: 14px; }
  .presentation-controls button { min-height: 44px; font-size: 13px; }
  .presentation-controls form { gap: 8px; }

  .spot-buddy .duo-hero { gap: 24px; padding: 24px 0 36px; }
  .spot-buddy .hero-discover > .eyebrow { font-size: 9px; margin-bottom: 14px; }
  .spot-buddy .hero-discover > h1 { font-size: 32px; line-height: 1.4; }
  .spot-buddy .hero-discover > p { font-size: 14px; line-height: 1.8; margin-top: 14px; }
  .spot-buddy .duo-board { grid-template-columns: minmax(0, 1fr); gap: 0; padding: 18px 18px 4px; }
  .spot-buddy .duo-label { padding-bottom: 12px; }
  .spot-buddy .duo-label > span:first-child { font-size: 12px; }
  .spot-buddy .duo-label > span:last-child { font-size: 8px; }
  .spot-buddy .duo-post { padding: 14px 0; min-height: 78px; }
  .spot-buddy .duo-post-copy > small { font-size: 11px; line-height: 1.6; }
  .spot-buddy .duo-post-copy > strong { white-space: normal; font-size: 14px; line-height: 1.65; margin-top: 6px; word-break: keep-all; overflow-wrap: anywhere; }
  .spot-buddy .hero-search .search-form,
  .spot-buddy .creator-directory .search-form { height: auto; min-height: 60px; padding: 7px 8px 7px 12px; gap: 8px; }
  .spot-buddy .hero-search .search-form > svg { flex: 0 0 20px; }
  .spot-buddy .hero-search .search-form > button,
  .spot-buddy .creator-directory .search-form > button { height: 44px; min-height: 44px; padding: 8px 12px; font-size: 13px; }

  .presentation-auction { padding-block: 24px 36px; margin-bottom: 32px; }
  .presentation-auction h2 { font-size: 26px; line-height: 1.45; }
  .presentation-auction p { font-size: 14px; line-height: 1.8; }
  .presentation-auction-card { padding: 20px; gap: 20px; }
  .presentation-auction-card h3 { font-size: 23px; line-height: 1.5; }
  .presentation-auction-card small { display: block; font-size: 12px; line-height: 1.7; }
  .presentation-auction-card button { min-height: 48px; padding: 12px 16px; font-size: 15px; }
  .presentation-demo-chip { white-space: normal; font-size: 12px; line-height: 1.6; }

  .spot-buddy .commerce-layout { padding-block: 28px 36px; gap: 32px; }
  .spot-buddy .commerce-main .section-heading { margin-bottom: 24px; }
  .spot-buddy .commerce-main .section-heading h2 { font-size: 23px; line-height: 1.5; }
  .spot-buddy .commerce-main .section-heading p { font-size: 14px; line-height: 1.75; margin-top: 10px; }
  .spot-buddy .commerce-main :is(.product-grid, .goods-grid) { gap: 32px 16px; }
  .spot-buddy .commerce-main .product-creator { font-size: 12px; gap: 6px; line-height: 1.6; }
  .spot-buddy .commerce-main .product-creator .approved { font-size: 10px; padding-left: 0; border-left: 0; }
  .spot-buddy .commerce-main .product-info { padding-top: 14px; }
  .spot-buddy .commerce-main .product-info h3 { font-size: 14px; line-height: 1.65; min-height: 3.3em; margin-top: 10px; word-break: keep-all; }
  .spot-buddy .commerce-main .product-price { margin-top: 12px; gap: 6px; }
  .spot-buddy .commerce-main .product-price strong { font-size: 20px; }
  .spot-buddy .commerce-main .product-price strong small { font-size: 12px; }
  .spot-buddy .commerce-main .product-price > span { font-size: 11px; }
  .spot-buddy .commerce-main .product-kind { font-size: 10px; padding: 6px 8px; }
  .spot-buddy .commerce-main .trust-banner { padding: 20px 16px; gap: 14px; margin-top: 32px; }
  .spot-buddy .trust-banner strong { font-size: 14px; line-height: 1.7; }
  .spot-buddy .trust-banner p { font-size: 12px; line-height: 1.8; }
  .spot-buddy .product-ranking { padding: 24px 20px; }
  .spot-buddy .ranking-heading h2 { font-size: 21px; }
  .spot-buddy .ranking-heading p,
  .spot-buddy .ranking-note { font-size: 12px; line-height: 1.8; }
  .spot-buddy #product-ranking-list > button { min-height: 76px; padding-block: 18px; gap: 12px; }
  .spot-buddy .product-rank-copy strong { font-size: 14px; line-height: 1.65; }
  .spot-buddy .product-rank-copy small,
  .spot-buddy .product-rank-clicks { font-size: 12px; }

  .spot-buddy .board-section { margin-top: 36px; }
  .spot-buddy .board-section .section-heading h2 { font-size: 22px; }
  .spot-buddy .board-section .section-heading p { font-size: 13px; line-height: 1.7; }
  .spot-buddy .post-row { height: auto; min-height: 72px; gap: 10px; padding-block: 16px; }
  .spot-buddy .post-title { white-space: normal; font-size: 14px; line-height: 1.65; word-break: keep-all; }
  .spot-buddy :is(.post-room, .post-rank, .comment-count, .post-row time, .board-bottom) { font-size: 11px; }
  .spot-buddy .board-bottom { gap: 16px; line-height: 1.7; }
  .spot-buddy .board-bottom a { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; }

  .spot-rail { left: 16px; right: 16px; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); gap: 8px; min-height: 56px; }
  .spot-rail button { min-height: 56px; padding: 10px 6px; gap: 8px; }
  .spot-rail button strong { font-size: 11.5px; line-height: 1.5; }
  .spot-rail button svg { flex-shrink: 0; }

  .creator-breadcrumb, .comm-breadcrumb, .merch-breadcrumb { font-size: 12px; line-height: 1.7; padding-block: 24px; }
  .creator-kicker, .comm-kicker { font-size: 10px; }
  .creator-directory .directory-intro { align-items: center; gap: 16px; margin-bottom: 24px; }
  .directory-intro p, .creator-invite p { font-size: 14px; line-height: 1.8; }
  .platform-filters, .category-filters { gap: 12px; flex-wrap: wrap; }
  .platform-filters button, .category-filters button { min-height: 44px; padding: 10px 4px; font-size: 13px; }
  .creator-filter-bar { flex-wrap: wrap; gap: 12px; }
  .spot-buddy .room-card .favorite { width: 44px; height: 44px; top: 12px; right: 8px; }
  .spot-buddy .room-card-top { display: grid; grid-template-columns: 45px minmax(0,1fr); gap: 12px; }
  .spot-buddy .room-platform { grid-column: 1 / -1; margin: 0; padding-right: 34px; }
  .spot-buddy .platform-badge { font-size: 11px; }
  .spot-buddy .room-card h3 { font-size: 17px; line-height: 1.5; }
  .spot-buddy .room-card .room-open > p, .spot-buddy .creator-size { font-size: 12px; line-height: 1.7; }
  .spot-buddy .creator-size { flex-wrap: wrap; gap: 6px; }
  .spot-buddy .creator-size > span { font-size: 11px; margin-left: 0; }
  .detail-toolbar > button { min-height: 44px; min-width: 44px; font-size: 13px; }

  .creator-identity { gap: 16px; padding-block: 24px 28px; }
  .creator-identity-copy > p { font-size: 14px; line-height: 1.8; }
  .creator-identity-stats { font-size: 12px; gap: 10px 14px; line-height: 1.7; }
  .creator-save, .creator-design-entry, .creator-write { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 14px; font-size: 13px; }
  .creator-page-tabs { gap: 8px; }
  .creator-page-tabs button { min-height: 48px; padding: 12px 10px; font-size: 14px; }
  .creator-board-toolbar { flex-wrap: wrap; gap: 12px; padding-block: 24px; }
  .creator-board-toolbar h2 { font-size: 20px; }
  .creator-post { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 20px 0; }
  .creator-post-copy > strong { font-size: 14px; line-height: 1.75; word-break: keep-all; }
  .creator-post-copy > span { font-size: 13px; line-height: 1.7; }
  .creator-post-copy > small { font-size: 11px; }
  .creator-post-meta { display: flex; flex-wrap: wrap; gap: 8px 16px; padding: 0; text-align: left; font-size: 12px; }
  .creator-post-meta small { font-size: 11px; }
  .creator-pinned-notice { padding: 16px; }
  .creator-pinned-notice p, .creator-board-search > label, .creator-page-disclosure { font-size: 12px; line-height: 1.8; }
  .creator-board-search button { min-height: 44px; font-size: 13px; }
  .creator-product-grid { gap: 28px 16px; }
  .creator-product-grid .product-info h3 { font-size: 14px; line-height: 1.65; }
  .creator-product-grid .product-price strong { font-size: 18px; }

  .comm-intro { gap: 20px; }
  .comm-intro p { font-size: 14px; line-height: 1.8; }
  .comm-board-top { gap: 16px; flex-wrap: wrap; }
  .comm-write, .comm-search button { min-height: 44px; padding: 10px 14px; font-size: 13px; }
  .comm-categories { gap: 8px; padding-block: 12px; }
  .comm-categories a { min-height: 44px; padding: 10px 12px; font-size: 13px; }
  .comm-filters { gap: 16px; }
  .comm-search { min-height: 48px; }
  .comm-selects { gap: 12px; }
  .comm-selects select { max-width: 100%; padding: 10px; }
  .comm-post-row { padding-block: 20px; row-gap: 10px; }
  .comm-post-title { font-size: 14px; line-height: 1.75; word-break: keep-all; }
  .comm-row-meta, .comm-row-room, .comm-mobile-counts { font-size: 12px; line-height: 1.7; }
  .comm-pagination { gap: 10px; flex-wrap: wrap; }
  .comm-pagination a { min-width: 44px; min-height: 44px; font-size: 14px; }
  .comm-article-body { font-size: 16px; line-height: 1.9; }
  .comm-reply p { font-size: 14px; line-height: 1.8; }
  .comm-article-reactions :is(a, button) { min-height: 44px; font-size: 13px; }
  .comm-disclosure { font-size: 12px; line-height: 1.8; }

  .merch-buy-description, .merch-story > p { font-size: 15px; line-height: 1.85; }
  .merch-buy-pane h1 { line-height: 1.5; }
  .merch-gallery-nav button { min-height: 48px; font-size: 12px; }
  .merch-size-field label > span { display: inline-flex; align-items: center; justify-content: center; min-width: 48px; min-height: 48px; font-size: 14px; }
  .merch-quantity { height: auto; }
  .merch-quantity button { min-width: 44px; min-height: 44px; font-size: 18px; }
  .merch-quantity input { min-height: 44px; }
  .merch-section-nav { gap: 8px; }
  .merch-section-nav a { min-height: 44px; padding: 12px 8px; font-size: 13px; }
  .merch-field-note, .merch-no-payment, .merch-art-note, .merch-section-note, .merch-order-note { font-size: 12px; line-height: 1.8; }
  .merch-costs, .merch-spec-list > div, .merch-info-section details p, .merch-care p, .merch-review p { font-size: 14px; line-height: 1.8; }
  .merch-info-section summary { min-height: 48px; font-size: 14px; padding-block: 18px; }
  .merch-dialog-close { width: 44px; height: 44px; }
  .merch-order-dialog { padding: 40px 22px 24px; }
  .merch-order-dialog h2 { line-height: 1.5; }
  .merch-mobile-purchase { bottom: calc(84px + env(safe-area-inset-bottom, 0px)); left: 20px; right: 20px; width: auto; padding: 12px; }
  .merch-mobile-purchase button { min-height: 44px; font-size: 14px; }
  .spot-buddy:has(.goods-detail-route) { padding-bottom: calc(196px + env(safe-area-inset-bottom, 0px)); }

  .studio-heading { align-items: flex-start; gap: 20px; }
  .studio-heading p, .studio-demo-note, .studio-hint, .studio-preview-note { font-size: 13px; line-height: 1.85; }
  .studio-actions { gap: 10px; flex-wrap: wrap; }
  body.studio-route:not(.studio-preview) .spot-buddy { padding-bottom: calc(108px + env(safe-area-inset-bottom, 0px)); }
  .studio-route:not(.studio-preview) .studio-actions { padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px)); }

  .studio-actions button, .studio-control-footer button, .studio-remove-image, .studio-cover-position button { min-height: 44px; padding: 10px 12px; font-size: 13px; }
  .studio-fields { padding: 20px 16px; gap: 20px; }
  .studio-fields label, .studio-palette legend { font-size: 14px; line-height: 1.7; }
  .studio-fields label > small, .studio-file-info, .cover-size-guide > p { font-size: 12px; line-height: 1.8; }
  .studio-controls summary, .studio-rights-details > summary { min-height: 48px; padding: 16px !important; font-size: 14px !important; }
  .studio-board-row { gap: 12px; padding-block: 12px; }
  .studio-board-row > label { font-size: 14px; min-height: 44px; }
  .studio-board-row button { width: 44px; height: 44px; }
  .studio-upload-button { min-height: 44px; font-size: 13px !important; }
  .studio-upload-title h2, .cover-size-guide h2 { font-size: 13px; }
  .studio-upload-title > span { font-size: 11px; }
  .studio-preview-toolbar { flex-wrap: wrap; gap: 12px; }
  .studio-preview-toolbar button, .studio-preview-toolbar > a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px; font-size: 13px; }

  .demo-role-page :is(h1,h2,h3,p), .demo-account-page :is(h1,h2,h3,p) { word-break: keep-all; overflow-wrap: anywhere; }
  .demo-paper-mark { flex-basis: 60px; height: 60px; }
  .business-footer { line-height: 1.85; }
  .business-footer h2, .business-footer-top p, .business-footer-policies > span { font-size: 13px; }
  .business-footer-bottom { font-size: 12px; }

  .admin-shell .button, .admin-shell .reset-trigger, .admin-shell .row-open { min-height: 44px; min-width: 44px; font-size: 13px; }
  .admin-shell .admin-nav > a { min-height: 44px; padding: 12px; font-size: 13px; }
  .admin-shell .page-heading p, .admin-shell .preview-banner p, .admin-shell .storage-notice { font-size: 13px; line-height: 1.8; }
  .admin-shell .application-copy > p, .admin-shell .application-meta, .admin-shell .application-facts dd { font-size: 13px; line-height: 1.8; }
  .admin-shell .application-copy h3 { font-size: 16px; }
  .admin-shell .application-card { padding: 20px; gap: 18px; }
  .admin-shell .application-demo { font-size: 12px; line-height: 1.8; }
  .admin-shell .application-meta :is(small,time), .admin-shell .application-copy .item-overline { font-size: 11px; }
  .admin-shell .status-badge { font-size: 11px; }
  .admin-shell [data-clear-filters] { min-height: 44px; min-width: 44px; font-size: 12px; }

  .admin-shell .application-tabs > a { min-height: 44px; padding: 10px 12px; font-size: 13px; }
  :is(.admin-drawer,.reset-dialog) :is(input,select,textarea) { font-size: 16px; }
  :is(.admin-drawer,.reset-dialog) :is(input:not([type=checkbox]):not([type=radio]),select,.button,.icon-button) { min-height: 44px; }
  .admin-drawer .icon-button { min-width: 44px; }
  .admin-drawer :is(.field-hint,.drawer-simulation,.drawer-actions p) { font-size: 12px; line-height: 1.75; }
}

/* Preserve simultaneous chat/bid panels; improve spacing inside each panel. */
@media (max-width: 600px) {
  .auction-page-shell { container: auction-shell / size; }
  .auction-page-header { flex-wrap: wrap; gap: 8px 16px; padding: 8px 12px; }
  .auction-page-back { min-height: 44px; font-size: 13px; }
  .auction-page-brand { margin-left: auto; }
  .auction-page-header nav { flex: 0 0 100%; justify-content: space-between; gap: 8px; }
  .auction-page-header button, .auction-page-specs { min-height: 44px; padding: 8px 10px; font-size: 12px; }
  .auction-page-header nav > * { flex: 1; }
  .auction-page-host [data-demo-auction] .auction-topbar { padding: 10px 12px; gap: 10px; }
  .auction-page-host [data-demo-auction] .auction-topbar p { font-size: 10px; }
  .auction-page-host [data-demo-auction] .demo-auction-selector a { padding: 8px 10px; }
  .auction-page-host [data-demo-auction] .auction-showcase { height: 80px; padding: 10px 12px; }
  .auction-page-host [data-demo-auction] .auction-art { width: 56px; flex-basis: 56px; }
  .auction-page-host [data-demo-auction] .auction-item-copy > small {
    position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%);
  }
  .auction-page-host [data-demo-auction] .auction-layout { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .auction-page-host [data-demo-auction] :is(.auction-main,.auction-chat) { padding: 12px 10px; gap: 10px; }
  .auction-page-host [data-demo-auction] .chat-header h3 { font-size: 14px; }
  .auction-page-host [data-demo-auction] .chat-connection { font-size: 11px; line-height: 1.6; }
  .auction-page-host [data-demo-auction] .chat-message p { font-size: 13px; line-height: 1.75; word-break: keep-all; }
  .auction-page-host [data-demo-auction] .chat-message header strong { font-size: 11px; }
  .auction-page-host [data-demo-auction] .chat-nickname { gap: 8px; }
  .auction-page-host [data-demo-auction] .chat-nickname button { min-height: 44px; font-size: 12px; }
  .auction-page-host [data-demo-auction] .chat-form textarea { min-height: 80px; padding: 10px; }
  .auction-page-host [data-demo-auction] .chat-form button { font-size: 13px; }
  .auction-page-host [data-demo-auction] .wallet-summary { padding: 10px; }
  .auction-page-host [data-demo-auction] .wallet-summary dl { grid-template-columns: minmax(0,1fr); gap: 6px; }
  .auction-page-host [data-demo-auction] .wallet-summary dl > div { display: flex; justify-content: space-between; align-items: baseline; gap: 6px; }
  .auction-page-host [data-demo-auction] .wallet-summary dd { font-size: 16px; white-space: nowrap; }
  .auction-page-host [data-demo-auction] .wallet-summary dt { font-size: 11px; }
  .auction-page-host [data-demo-auction] .auction-main > * { order: 4; }
  .auction-page-host [data-demo-auction] .auction-main > .auction-price-board { order: 0; position: relative; top: auto; padding: 10px 8px; }
  .auction-page-host [data-demo-auction] .auction-main > [data-demo-summary] { order: 1; }
  .auction-page-host [data-demo-auction] .auction-main > .wallet-summary { order: 2; }
  .auction-page-host [data-demo-auction] .auction-main > [data-demo-bid-form] { order: 3; }

  .auction-page-host [data-demo-auction] .bid-amount { height: 58px; padding: 6px 8px; }
  .auction-page-host [data-demo-auction] .bid-amount input { min-height: 30px; }
  .auction-page-host [data-demo-auction] [data-demo-bid-submit] { min-height: 48px; font-size: 13px; }
}
@media (max-width: 600px) and (max-height: 780px) {
  .auction-page-header { flex-wrap: nowrap; padding-block: 4px; gap: 6px; }
  .auction-page-header nav { flex-basis: auto; gap: 4px; }
  .auction-page-header button, .auction-page-specs { padding-inline: 6px; font-size: 10px; }
  .auction-page-brand { display: none; }
  .auction-page-host [data-demo-auction] :is(.auction-main,.auction-chat) { padding: 8px; gap: 8px; }
  .auction-page-host [data-demo-auction] .auction-topbar { padding: 8px 10px; gap: 6px; }
  .auction-page-host [data-demo-auction] .auction-showcase { height: 64px; padding: 6px 10px; }
  .auction-page-host [data-demo-auction] .auction-art { width: 40px; flex-basis: 40px; }
}

@media (max-width: 359px) {
  .presentation-top nav { gap: 4px; }
  .presentation-top nav a { font-size: 12px; }
}

/* Short viewports prioritize the four essential bid controls. Supporting copy
 * remains in the accessibility tree; no price, balance or error is hidden. */
@media (max-width: 600px) and (max-height: 780px) {
  .auction-page-host [data-demo-auction] :is(.auction-main,.auction-chat) { gap: 6px; }
  .auction-page-host [data-demo-auction] .wallet-summary { padding: 6px 8px; }
  .auction-page-host [data-demo-auction] .wallet-summary > span,
  .auction-page-host [data-demo-auction] .auction-price-board > small {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: 0;
    overflow: hidden; clip-path: inset(50%); white-space: nowrap;
  }
  .auction-page-host [data-demo-auction] .wallet-summary dl { margin-top: 0; gap: 4px; }
  .auction-page-host [data-demo-auction] .wallet-summary :is(dt,dd) { margin: 0; line-height: 1.25; }
  .auction-page-host [data-demo-auction] .bid-amount { height: 52px; padding-block: 3px; }
  .auction-page-host [data-demo-auction] [data-demo-bid-submit] { min-height: 44px; }
}

@media (max-width: 600px) and (max-height: 650px) {
  .auction-page-host [data-demo-auction] .auction-showcase { height: 40px; padding: 4px 8px; }
  .auction-page-host [data-demo-auction] .auction-art { width: 24px; flex-basis: 24px; }
  .auction-page-host [data-demo-auction] .auction-item-copy h3 { font-size: 13px; line-height: 1.35; }
  .auction-page-host [data-demo-auction] .auction-item-copy > span {
    position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%);
  }
  .auction-page-host [data-demo-auction] .demo-auction-selector a { min-height: 44px; padding-block: 5px; }
}

/* visualViewport can shrink without changing Safari layout media queries.
 * The existing viewport handler already sizes this fixed shell. */
@media (max-width: 600px) {
  @container auction-shell (max-height: 780px) {
  .auction-page-header { flex-wrap: nowrap; padding-block: 4px; gap: 6px; }
  .auction-page-header nav { flex-basis: auto; gap: 4px; }
  .auction-page-header button, .auction-page-specs { padding-inline: 6px; font-size: 10px; }
  .auction-page-brand { display: none; }
  .auction-page-host [data-demo-auction] :is(.auction-main,.auction-chat) { padding: 8px; gap: 8px; }
  .auction-page-host [data-demo-auction] .auction-topbar { padding: 8px 10px; gap: 6px; }
  .auction-page-host [data-demo-auction] .auction-showcase { height: 64px; padding: 6px 10px; }
  .auction-page-host [data-demo-auction] .auction-art { width: 40px; flex-basis: 40px; }
  }
  @container auction-shell (max-height: 780px) {
  .auction-page-host [data-demo-auction] :is(.auction-main,.auction-chat) { gap: 6px; }
  .auction-page-host [data-demo-auction] .wallet-summary { padding: 6px 8px; }
  .auction-page-host [data-demo-auction] .wallet-summary > span,
  .auction-page-host [data-demo-auction] .auction-price-board > small {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: 0;
    overflow: hidden; clip-path: inset(50%); white-space: nowrap;
  }
  .auction-page-host [data-demo-auction] .wallet-summary dl { margin-top: 0; gap: 4px; }
  .auction-page-host [data-demo-auction] .wallet-summary :is(dt,dd) { margin: 0; line-height: 1.25; }
  .auction-page-host [data-demo-auction] .bid-amount { height: 52px; padding-block: 3px; }
  .auction-page-host [data-demo-auction] [data-demo-bid-submit] { min-height: 44px; }
  }
  @container auction-shell (max-height: 650px) {
  .auction-page-host [data-demo-auction] .auction-showcase { height: 40px; padding: 4px 8px; }
  .auction-page-host [data-demo-auction] .auction-art { width: 24px; flex-basis: 24px; }
  .auction-page-host [data-demo-auction] .auction-item-copy h3 { font-size: 13px; line-height: 1.35; }
  .auction-page-host [data-demo-auction] .auction-item-copy > span {
    position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%);
  }
  .auction-page-host [data-demo-auction] .demo-auction-selector a { min-height: 44px; padding-block: 5px; }
  }
}
