/* Phones use one results view at a time and natural document scrolling. */
@media (max-width:639px), (max-width:960px) and (max-height:559px) {
  html,body { height:auto; min-height:100%; }
  body { overflow:visible; }
  .wrap { height:auto; display:block; padding: max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left)); }
  header { height:72px; }
  .brand shaughv-mark { width:96px; height:64px; }
  main { display:block; }
  .intro { padding:20px 0; }
  h1 { font-size:clamp(24px,6.6vw,38px); line-height:1.2; }
  .intro p { display:none; }
  .search { grid-template-columns:minmax(0,1fr) 100px; min-height:0; }
  .input-box { min-height:64px; gap:10px; padding:8px 12px; }
  .type-box { min-height:64px; padding:8px 12px; }
  .field-stack label { font-size:9px; }
  .field-stack input,.field-stack select { font-size:16px; height:32px; }
  .check { grid-column:1/-1; min-height:48px; justify-content:space-between; padding:0 16px; }
  .under-search { display:block; min-height:48px; padding:2px 0; position:relative; z-index:5; }
  .shortcut { display:none; }
  .compare summary { min-height:44px; font-size:10px; letter-spacing:.04em; }
  .compare-content { position:static; width:100%; padding:0 0 8px; border:0; background:none; }
  .compare textarea { width:100%; font-size:16px; height:80px; max-height:none; margin:0; }
  .compare p { font-size:13px; }
  .error-banner { margin:0 0 12px; font-size:13px; max-height:none; }
  .mobile-nav { display:flex; align-items:stretch; gap:8px; position:sticky; top:0; z-index:6; padding:max(8px,env(safe-area-inset-top)) 0 8px; background:var(--bg); }
  .view-switch { display:grid; grid-template-columns:1fr 1fr; flex:1; border:1px solid var(--line-strong); }
  .view-switch button { min-height:46px; padding:10px 12px; border:0; background:transparent; color:var(--muted); font-size:11px; }
  .view-switch button + button { border-left:1px solid var(--line-strong); }
  .view-switch button[aria-pressed=true] { background:var(--accent-wash); color:var(--orange); box-shadow:inset 0 -2px var(--orange); }
  .view-switch span { font-size:10px; opacity:.7; margin-left:4px; }
  .lookup-jump { display:grid; place-items:center; width:48px; flex:none; min-height:48px; border:1px solid var(--line-strong); background:transparent; color:var(--fg); }
  .mobile-nav button:focus-visible { outline-offset:-4px; }
  .workspace { display:flex; flex-direction:column; min-height:0; margin-top:0; }
  .map-panel { padding:0; }
  .map-top { height:auto; min-height:48px; gap:12px; }
  .map-top h2,.panel-top h2 { font-size:10px; letter-spacing:.07em; }
  .map-top .mono { display:block; font-size:9px; }
  .map-stage { display:block; }
  .map-wrap { width:100%; height:auto; margin:0; }
  .map { width:100%; height:auto; aspect-ratio:2; }
  .map-overlay { display:none; }
  .map-loader { right:0; bottom:0; }
  .map-loader shaughv-loader { height:64px; width:64px; }
  .legend { display:grid; grid-template-columns:1fr 1fr; gap:10px 12px; padding:16px 0; font-size:9px; }
  .legend span { gap:6px; }
  .legend i { width:6px; height:6px; flex:none; }
  .summary { margin:0; padding:16px 0; }
  .metric { min-width:0; padding:0 10px; }
  .metric-value { font-size:clamp(19px,5.3vw,26px); }
  .metric-label { font-size:9px; letter-spacing:0; line-height:1.5; }
  .detail:not(.is-open) { display:none; }
  .results-panel { border:0; }
  .panel-top { height:auto; min-height:56px; gap:8px; padding:0; }
  .small-select { font-size:16px; max-width:174px; min-height:44px; text-transform:none; letter-spacing:0; }
  .rows { display:block; height:auto; max-height:none; overflow:visible; padding:0; }
  .result-row { padding:16px 4px; min-height:88px; gap:8px; }
  .row-top { align-items:flex-start; flex-wrap:wrap; gap:4px 12px; }
  .city { font-size:16px; line-height:1.4; }
  .row-status { font-size:10px; line-height:1.6; }
  .network { font-size:11px; }
  .answers { font-size:12px; }
  .bottomline { flex-wrap:wrap; align-items:center; gap:12px 32px; padding:16px 0 0; font-size:9px; }
  .bottomline > div { width:100%; overflow-wrap:anywhere; }
  .bottomline details { text-align:left; flex:0 1 auto; margin-left:auto; max-width:100%; }
  .bottomline summary,.bottomline .text-button { min-height:44px; font-size:10px; display:flex; align-items:center; }
  .bottomline summary { list-style:none; }
  .bottomline summary::-webkit-details-marker { display:none; }
  .about-content { position:static; max-height:none; width:auto; padding:0; border:0; background:none; }
  .bottomline details[open] { flex-basis:100%; }
  .bottomline p { font-size:14px; }
  #phone-inspector { position:fixed; inset:auto 0 0; margin:0; width:100%; max-width:100%; max-height:85dvh; border:1px solid var(--line-strong); border-bottom:0; border-radius:16px 16px 0 0; overflow:auto; overscroll-behavior:contain; }
  #phone-inspector::backdrop { background:rgba(0,0,0,.7); }
  body:has(#phone-inspector[open]) { overflow:hidden; }
  #phone-inspector .detail { position:static; width:100%; max-height:none; min-height:120px; padding:20px max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left)); border:0; }
  #phone-inspector .detail-heading { align-items:flex-start; flex-wrap:wrap; gap:8px; }
  #phone-inspector h3 { font-size:20px; line-height:1.4; width:100%; }
  #phone-inspector .detail-actions { width:100%; justify-content:space-between; }
  #phone-inspector .text-button { min-height:44px; padding:8px 12px; border:1px solid var(--line-strong); font-size:11px; }
  #phone-inspector #close-detail { margin-left:auto; }
  #phone-inspector .detail-meta { font-size:12px; }
  #phone-inspector .detail-table { font-size:12px; }
  #phone-inspector .detail-table th { font-size:10px; }
  #phone-inspector .detail-table th:first-child { width:48px; }
  #phone-inspector .detail-table th:last-child { width:48px; }
  #phone-inspector .substitution { font-size:14px; }
  #phone-inspector summary { display:flex; align-items:center; min-height:44px; font-size:11px; }
  #phone-inspector pre { font-size:12px; max-height:none; }
  .toast { bottom:max(18px,env(safe-area-inset-bottom)); max-width:calc(100vw - 32px); width:max-content; font-size:12px; text-align:center; }
}
