/* Phone navigation and layouts. Desktop keeps the original map/feed split. */
.mobile-nav,.mobile-ask{display:none}
@media(max-width:760px){
  html{scroll-padding-top:78px}
  body{padding-bottom:calc(78px + env(safe-area-inset-bottom));overflow-x:clip}
  .site-header{position:sticky;top:0;z-index:8;height:66px;margin:0;padding:0 20px;gap:16px;background:#f8f7f2f5;border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}
  .site-header nav{display:none}
  .wordmark{font-size:32px;min-height:44px}
  .header-end{gap:9px;min-width:0}
  .location-button{min-height:44px;max-width:185px;font-size:12px;padding:8px 12px;gap:7px}
  #header-city{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .location-button svg{width:15px;height:15px}
  .mobile-ask{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border:1px solid #d8dfcf;border-radius:50%;background:#e7eddf;color:#4c714d;font-size:23px}
  main{padding:16px 14px 0}
  .intro,.discovery-toolbar,.city-shortcuts{display:none}
  .explorer,.explorer.city-open{display:flex;flex-direction:column;height:auto;border:0;background:transparent;overflow:visible}
  .results-panel{border:1px solid var(--line);border-radius:14px;padding:23px 18px 0}
  .results-heading h2{font-size:29px;line-height:1.2}
  .results-heading .eyebrow{font-size:9px}
  .results-meta{font-size:11px;line-height:1.5;align-items:flex-start;gap:12px}
  .demo-label{font-size:9px;letter-spacing:0;text-align:right}
  .category-tabs{gap:5px;margin-right:-18px;padding-right:18px;overscroll-behavior-x:contain}
  .category-tabs button{min-height:44px;padding:10px 14px;font-size:12px;flex-shrink:0}
  .mobile-pane-map .results-panel,.mobile-pane-saved .map-panel{display:none}
  .mobile-pane-feed:not(.city-station-open) .map-panel{display:none}
  .mobile-pane-map .map-panel{height:calc(100dvh - 162px - env(safe-area-inset-bottom));min-height:450px;max-height:750px;border:1px solid #dce1d5;border-radius:14px}
  .mobile-pane-map .map-top{top:14px;left:16px;right:12px}
  .breadcrumbs,.breadcrumbs strong{font-size:12px}
  .breadcrumbs button{min-height:44px;font-size:12px}
  .region-tabs{top:68px;left:14px;right:14px;gap:6px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;scrollbar-width:none}
  .region-tabs button{min-height:44px;flex-shrink:0;padding:10px 14px;font-size:11px}
  .mobile-pane-map .map-caption{top:134px;left:18px}
  .map-caption .eyebrow{font-size:8px}
  .mobile-pane-map .map-caption h2{font-size:22px}
  .mobile-pane-map .modern-map{top:140px;bottom:60px}
  .mobile-pane-map .compass{top:139px}
  .city-spotlight{width:180px;padding:15px;bottom:46px}
  .spotlight-label{font-size:8px}.spotlight-copy{font-size:10px;line-height:1.6}.spotlight-action{font-size:10px}
  .map-bottom{font-size:10px}
  .city-open .map-panel{border:0;border-radius:14px;background:#f0f2e8;overflow:visible}
  .city-open .city-dashboard{padding:22px 18px 20px;border:1px solid #dce1d5;border-radius:14px;overflow:visible;scroll-margin-top:80px}
  .city-open .desk-top{display:none}
  .station-heading{margin:0 0 16px}
  .station-heading .eyebrow{font-size:8px;letter-spacing:1.4px}
  .station-heading h2{font-size:39px;line-height:1.12;margin-top:6px;overflow-wrap:anywhere}
  .station-mobile-channels{position:sticky;top:66px;z-index:4;background:#f0f2e8f5;backdrop-filter:blur(12px);display:flex;margin:0 -18px 5px;padding:8px 18px 10px;gap:5px;border-bottom:1px solid #dce1d5;overflow-x:auto;overscroll-behavior-x:contain}
  .station-mobile-channels button{min-height:44px;padding:10px 14px;font-size:12px}
  .station-tabs{gap:24px;margin-bottom:14px}
  .station-tabs button{min-height:44px;padding:12px 0;font-size:12px}
  .station-now{font-size:11px;margin-bottom:10px}
  .station-player{border-radius:10px}
  .station-play-cover>svg{width:46px;height:46px;padding:14px}
  .station-play-cover{font-size:11px;gap:7px}
  .station-program{margin-top:17px}
  .station-program h3{font-size:25px;line-height:1.2}
  .station-program .event-category{font-size:10px;margin-bottom:6px}
  .station-info{min-height:44px;font-size:12px;margin-top:5px;padding:8px 0}
  .station-info svg{width:15px;height:15px}
  .station-presenter{margin-top:10px;padding-bottom:0;border-bottom:0;gap:10px}
  .station-presenter strong{font-size:13px}.station-presenter small{font-size:10px}
  .station-prompt-link{min-height:44px;font-size:11px;max-width:105px;text-align:right;line-height:1.4}
  .station-next-heading,.station-next{display:none}
  .station-demo-note{font-size:10px;color:#64745c;line-height:1.6;margin:12px 0 0}
  .city-open .results-panel{margin-top:16px}
  .city-station-open:not(.mobile-local-feed) .results-panel>.category-tabs{display:none}
  .city-station-open:not(.mobile-local-feed) .results-panel .results-meta{margin-top:14px}
  .city-station-open .media-feed-card.is-current-edition{display:none}
  .city-station-open.single-station-edition:not(.mobile-local-feed) .results-panel{display:none}
  .mobile-local-feed.mobile-pane-feed .map-panel{display:none}
  .city-open .media-card-main,.city-open .media-featured .media-card-main{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px}
  .city-open .media-featured .media-thumb,.city-open .media-thumb{aspect-ratio:1;margin:0}
  .city-open .media-featured h3,.city-open .media-card-copy h3{font-size:19px;margin-right:30px}
  .city-open .media-card-copy p{font-size:12px;line-height:1.6}
  .city-open .media-byline{font-size:10px;line-height:1.6}
  .media-feed-card .save-button,.media-feed-card:not(.media-featured) .save-button,.city-open .media-featured .save-button{right:-8px;top:9px;width:44px;height:44px;background:transparent;box-shadow:none}
  .save-button svg{width:18px;height:18px}
  .event-card .save-button{min-width:44px;min-height:44px}
  .city-open .compact .save-button{right:76px;top:10px}
  .city-open .compact h3{margin-right:28px}
  .event-category{font-size:10px}.story-preview,.city-open .story-preview{font-size:13px;line-height:1.65}
  .story-status,.story-byline{font-size:11px}.event-meta,.event-location{font-size:12px;line-height:1.5}
  .station-newsroom-intro h3{font-size:27px}.station-newsroom-intro p{font-size:13px}
  .station-desk strong{font-size:18px}.station-desk small,.station-desk>span>span{font-size:12px}
  .station-pipeline ol{font-size:14px}.station-pipeline li span,.station-pipeline>p{font-size:12px}
  .mobile-nav{position:fixed;z-index:9;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:7px 14px calc(8px + env(safe-area-inset-bottom));background:#fffefaf5;border-top:1px solid #dce1d5;backdrop-filter:blur(18px)}
  .mobile-nav button{min-height:52px;padding:6px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-radius:12px;color:#69776a;font-size:10px;line-height:1.2}
  .mobile-nav button svg{height:21px;width:21px;stroke-width:1.6}
  .mobile-nav button[aria-current=page]{background:#e9efe3;color:var(--green);font-weight:700}
  .mobile-nav b{font-weight:600;margin-left:3px;font-size:9px}
  .toast{bottom:calc(88px + env(safe-area-inset-bottom));max-width:calc(100% - 32px);width:max-content;font-size:12px}
  dialog{position:fixed;inset:auto 0 0;width:100%;max-width:none;max-height:calc(100dvh - 28px);margin:0;border-radius:22px 22px 0 0;padding:24px 22px calc(24px + env(safe-area-inset-bottom));overscroll-behavior:contain}
  dialog::backdrop{background:#18342966;backdrop-filter:blur(4px)}
  dialog h2{font-size:32px;line-height:1.1;max-width:calc(100% - 38px)}
  dialog p,.story-detail-section p{font-size:14px;line-height:1.7}
  .small-icon{width:44px;height:44px;flex-shrink:0}
  .dialog-x{position:sticky;top:0;float:right;right:0;margin-bottom:-44px;box-shadow:0 2px 8px #233d3010}
  .dialog-search input,#ask-form textarea{font-size:16px}
  .city-options{max-height:48dvh;overscroll-behavior:contain}
  .city-option{min-height:65px}.city-option strong{font-size:16px}.city-option small{font-size:12px}
  .story-evidence summary,.agent-assignment summary{min-height:44px;padding:12px 0;font-size:13px;line-height:1.5}
  .story-evidence h4{font-size:13px}.story-evidence p{font-size:13px}
  .agent-assignment pre{font-size:12px;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap}
  .primary-button{min-height:46px;font-size:14px}
  footer{padding:20px 0 8px;margin:0 18px;font-size:10px;line-height:1.5}
  footer span{font-size:10px}footer>a,footer>button{min-height:44px;display:flex;align-items:center}
}
@media(max-width:360px){
  .site-header{padding-inline:14px;gap:8px}.header-end{gap:5px}.location-button{max-width:155px;padding-inline:8px;font-size:11px}
  main{padding-inline:10px}.station-heading h2{font-size:35px}.city-open .city-dashboard{padding-inline:15px}.station-mobile-channels{margin-inline:-15px;padding-inline:15px}
  .station-presenter{gap:7px}.station-prompt-link{max-width:86px;font-size:10px}.station-presenter small{max-width:130px;line-height:1.5}
  .city-open .media-card-main,.city-open .media-featured .media-card-main{grid-template-columns:78px minmax(0,1fr)}
}

@media(max-width:760px){.wordmark{font-size:29px;letter-spacing:-1px}.station-mark{font-size:32px}.preview-badge{display:none}}

@media(max-width:760px){.city-open .media-featured .media-thumb,.city-open .media-thumb{aspect-ratio:16/10}.city-open .media-thumb img{object-fit:contain}.city-open .compact .event-main{display:block}.city-open .compact .event-art{display:none}.city-open .compact .save-button{right:-8px;top:10px}.city-open .compact h3{max-width:none;margin-right:36px}}

@media(max-width:760px){.station-actions{gap:20px;justify-content:space-between}.station-save{min-height:44px;font-size:12px;margin-top:5px;padding:8px 0}.station-save svg{width:18px;height:18px}.station-info{margin-top:5px}}
