/* Shared mobile geometry, loaded after the page-specific type scales. */
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
.utility-topic .topic-summary-icon {
  width:28px; height:28px; padding:0; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
}
@media (max-width:1180px) {
  .edition-manifest>a { gap:8px; }
}
@media (max-width:1100px) {
  .search-button,.document-meta>button,.utility-map-meta .text-link,
  .map-view-switch button,.map-expand,.map-find input,.topic-copy,
  .wallet-copy,.allocation-reset,.amount-presets>button,.readiness-filters button,
  .paper-edition-bar button,.volume-switch button,.reader-options>button,
  .paper-permalink,.nav-link,.chapter-link { min-height:44px; }
  .copy-section { width:44px; height:44px; opacity:1; flex-shrink:0; }
  .paper-permalink { width:44px; flex-shrink:0; }
}
@media (max-width:820px), (max-width:1100px) and (max-height:500px) {
  :root {
    --mobile-header:68px;
    --mobile-gutter:26px;
    --header:calc(var(--mobile-header) + env(safe-area-inset-top,0px));
  }
  .site-header {
    padding-top:env(safe-area-inset-top,0px);
    padding-left:max(22px,env(safe-area-inset-left,0px));
    padding-right:max(22px,env(safe-area-inset-right,0px));
  }
  .brand,.header-label { min-height:44px; display:inline-flex; align-items:center; }
  .header-divider { flex-shrink:0; }
  .header-actions { gap:4px; }
  .main-content {
    padding-left:max(var(--mobile-gutter),env(safe-area-inset-left,0px));
    padding-right:max(var(--mobile-gutter),env(safe-area-inset-right,0px));
  }
  .sidebar {
    max-width:calc(100vw - 44px);
    overflow-y:auto;
    overscroll-behavior:contain;
    padding-left:max(16px,env(safe-area-inset-left,0px));
    padding-bottom:max(18px,env(safe-area-inset-bottom,0px));
  }
  /* The entire drawer scrolls so chapters remain reachable in landscape. */
  .sidebar-directory { flex:1 0 auto; overflow:visible; }
  .copy-section { flex-shrink:0; margin-right:0; }
  .chapter-heading { width:100%; }
  .chapter-heading>div { flex:1; min-width:0; }
  .paper-edition-bar button,.volume-switch button,.reader-options>button,
  .paper-permalink,.map-expand,.utility-map-meta .text-link { min-width:44px; min-height:44px; }
  .footer-brand { min-height:44px; display:inline-flex; align-items:center; }
  .mobile-chapter-select select { font-size:16px; }
  .map-find input { min-height:44px; }
  .search-dialog[open] {
    --dialog-gap:max(12px,env(safe-area-inset-top,0px));
    display:flex;
    flex-direction:column;
    margin:var(--dialog-gap) auto;
    max-height:calc(100dvh - var(--dialog-gap) - max(12px,env(safe-area-inset-bottom,0px)));
    overflow:hidden;
  }
  .search-dialog-top,.search-footer { flex-shrink:0; }
  .search-dialog-top { padding:10px 12px; gap:8px; }
  .search-results { flex:1 1 auto; min-height:0; max-height:none; overscroll-behavior:contain; }
  .search-footer { padding:12px; }
  .search-dialog input { min-height:44px; font-size:16px; }
  .utility-explorer.is-expanded {
    padding-left:env(safe-area-inset-left,0px);
    padding-right:env(safe-area-inset-right,0px);
    padding-top:env(safe-area-inset-top,0px);
    padding-bottom:env(safe-area-inset-bottom,0px);
  }
  .utility-explorer.is-expanded .map-toolbar { top:env(safe-area-inset-top,0px); }
  .map-topic-layout,.map-scope,.paper-chapter-head>div { min-width:0; }
}
@media (max-width:600px) {
  .paper-chapter-head { padding-right:48px; }
  .paper-permalink { right:0; top:-6px; width:44px; }
  .paper-chapter-head h2 { overflow-wrap:break-word; }
  .paper-edition-bar { align-items:center; }
  .inspector-tabs { padding:0 8px; gap:0; }
  .inspector-tabs button { flex:1; min-width:0; text-align:center; }
}
@media (max-width:540px) {
  :root { --mobile-header:64px; --mobile-gutter:20px; }
  .site-header {
    padding-left:max(16px,env(safe-area-inset-left,0px));
    padding-right:max(12px,env(safe-area-inset-right,0px));
  }
  .utility-map-meta {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:8px 12px;
  }
  .utility-map-meta>span { line-height:1.7; }
  .map-toolbar { align-items:center; }
  .map-expand { flex-shrink:0; }
  .page-footer { gap:12px; }
  .token-hero .hero-index { display:none; }
}
@media (max-width:370px) {
  :root { --mobile-gutter:18px; }
  .site-header { gap:8px; }
  .header-actions { gap:0; }
}
@media (max-width:1100px) and (max-height:500px) {
  .main-content { margin-left:0; }
  .site-header { gap:18px; }
  .menu-toggle { display:inline-flex; min-width:44px; min-height:44px; }
  .search-button { min-width:44px; width:44px; height:44px; padding:0; justify-content:center; border:0; }
  .search-button>span,.search-button>kbd { display:none; }
  .sidebar { transform:translateX(-100%); height:calc(100dvh - var(--header)); }
  .sidebar.is-open { transform:translateX(0); }
  .mobile-backdrop:not([hidden]) { display:block; position:fixed; inset:var(--header) 0 0; background:#0004; z-index:24; }
  body.menu-open { overflow:hidden; }
  .sidebar { padding-top:16px; }
  .sidebar-top { padding-bottom:12px; }
  .sidebar-divider { margin-block:12px; }
  .search-footer { padding-block:8px; }
}
@media print {
  .site-header,.sidebar { display:none; }
  .main-content { margin:0; padding:0; }
}
