/* User-approved A: graphite submenu rows; map-first activity navigation. */
:root{--nav-row:#222825;--nav-current:#303832;--nav-border:#424a44;--nav-parent:#506D34;--nav-current-ink:#C9E891;--folio-rail-w:218px;--folio-ledger-w:360px}
nav#rail{display:flex;flex-direction:column;align-items:stretch;width:var(--folio-rail-w);height:100dvh;padding:20px 14px;gap:0;overflow-y:auto;overscroll-behavior:contain;background-image:url('../assets/textures/field-paper-grain.png'),var(--folio-grid-10);background-size:180px,10px 10px,10px 10px}
.navBrand{display:flex;flex-direction:column;color:var(--folio-field-white);text-decoration:none;font:21px/1.2 var(--font-interface);padding:2px 9px 20px;letter-spacing:-.035em}
.navBrand>span{color:var(--nav-current-ink)}
.navGroup{padding:16px 0;border-top:1px solid var(--folio-rule)}
.navGroupLabel{color:var(--folio-muted);font:11px/1.4 var(--font-interface);letter-spacing:.045em;margin:0 9px 9px}
#rail button,#mobileNav button{display:flex;align-items:center;justify-content:flex-start;flex-direction:row;width:100%;min-height:48px;height:auto;gap:11px;margin:0;padding:10px 9px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--folio-cream);box-shadow:none;text-align:left;clip-path:none;transform:none}
#rail button span{font:14px/1.25 var(--font-interface);letter-spacing:0;color:inherit}
#rail button .atlas-icon{flex:0 0 23px;width:23px;height:23px;color:inherit;filter:none}
#rail button::before,#rail button::after{display:none}
#rail button:hover{background:var(--nav-row);color:var(--folio-field-white);transform:none}
#rail button.on{background:var(--nav-current);color:var(--folio-field-white);border-color:var(--nav-border);box-shadow:none}
#rail button.on span,#rail button.on svg{color:inherit}
#rail button.navParent.on{background:var(--nav-parent);border-color:var(--folio-hike);color:var(--folio-field-white)}
.navChevron{width:8px;height:8px;margin-left:auto;margin-right:4px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(-45deg)}
[aria-expanded='true']>.navChevron{transform:rotate(45deg) translateY(-2px)}
.activityChildren{display:grid;gap:5px;padding:8px 0 11px 9px}
.activityChildren[hidden],#mobileViewMenu[hidden]{display:none!important}
#rail .navChild,#mobileViewMenu .navChild{position:relative;min-height:44px;padding:9px 8px;gap:8px;background:var(--nav-row);border:1px solid var(--nav-border);border-radius:3px;box-shadow:none;color:var(--folio-cream)}
#rail .navChild span{font-size:12px;white-space:nowrap}
#rail .navChild .atlas-icon{width:20px;height:20px;flex-basis:20px}
#rail .navChild.on,#mobileViewMenu .navChild.on{background:var(--nav-current);border-color:var(--nav-border);box-shadow:inset 4px 0 var(--nav-current-ink);color:var(--folio-field-white)}
.currentDot{display:none;flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:var(--nav-current-ink);margin-left:auto}
.navChild.on .currentDot{display:block}
#rail .navPersonal{margin-top:2px}
#mobileNav,#mobileViewMenu{display:none}
#modeWrap,.activityPicker{display:none!important}
#view-map .topbar{position:absolute;top:14px;left:auto;right:calc(var(--folio-ledger-w) + 16px);padding:0;gap:8px;z-index:510;background:none;border:0;box-shadow:none;width:auto;bottom:auto;pointer-events:auto}
#view-map .topbar button{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:78px;min-height:56px;padding:7px 11px;background:var(--folio-graphite);border:1px solid var(--nav-border);border-radius:3px;box-shadow:var(--folio-shadow);color:var(--folio-field-white);font:10px/1.3 var(--font-interface);letter-spacing:.03em}
#view-map .topbar button svg{width:22px;height:22px}
#map .leaflet-top.leaflet-left{top:15px;left:15px}
#map .leaflet-control-zoom{margin:0}
#view-map #layersDock{display:none!important;top:82px;right:calc(var(--folio-ledger-w) + 16px);left:auto;width:300px;max-width:calc(100% - 32px);transform:none;z-index:515}
#view-map #layersDock.mobile-open{display:block!important}
#layersPanel{max-height:calc(100dvh - 145px);overflow:auto}
#view-map #folioLedger #leftStack{display:none!important}
#view-map #folioLedger{padding:24px 18px 42px 30px;background-image:none}
#folioLedger .folioStitch{width:12px;opacity:.6}
#view-map #folioLedger #rightStack{margin:0;min-height:0}
#folioLedger #rankPanel{display:flex;overflow:visible;max-height:none}
#folioLedger #rankPanel .hd{border-bottom:1px solid var(--folio-rule);min-height:44px;flex-wrap:wrap;padding:0 0 14px;gap:4px}
#folioLedger #rankPanel .hd b{font:28px/1.1 var(--font-display);color:var(--folio-field-white);letter-spacing:-.015em}
#folioLedger #rankPanel .hd b::before{display:none}
#rankHide,#rankCollapsed{display:none!important}
#rankProgress{font:11px/1.4 var(--font-interface);color:var(--folio-muted)}
#folioLedger #rankBody{overflow:visible;padding:0}
.rankSummary,.rankUnavailable p{font:12px/1.55 var(--font-interface);color:var(--folio-muted);margin:13px 0}
.rankUnavailable h3,.unrankedHeading{font:20px/1.2 var(--font-display);color:var(--folio-field-white);margin:20px 0 8px}
.rankEntry{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;min-height:103px;border:1px solid transparent;border-bottom-color:var(--folio-rule);gap:4px;padding:10px 5px;margin:0 -5px}
.rankEntry.selected{border:1px solid var(--accent);background:var(--nav-current);border-radius:4px}
.rankEntry .rankPlace{display:flex;align-items:center;gap:10px;width:100%;min-height:76px;padding:0;border:0;background:none;color:var(--folio-field-white);text-align:left;box-shadow:none;transform:none}
#folioLedger .rankThumb{display:block;flex:0 0 76px;width:76px;margin:0;border:0;border-radius:3px;background:var(--folio-abyss);padding:0;overflow:hidden}
#folioLedger .rankThumb .atlas-photo-surface{border-radius:3px}
.rankNumber{font:20px var(--font-numeric);color:var(--folio-ochre)}
.rankName{font:18px/1.25 var(--font-display);overflow-wrap:anywhere}
.rankName small{display:block;margin-top:6px;font:10px/1.5 var(--font-interface);color:var(--folio-muted)}
.rankGuide{display:grid;place-items:center;min-width:44px;min-height:44px;color:var(--folio-cream);text-decoration:none}
.rankGuide span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.rankGuide:hover{color:var(--accent);background:var(--nav-row)}
#rankSheetToggle{display:none}
body[data-map-view='ranked'] #detailPanel{display:none!important}
body[data-map-view='explore'] #view-map:not(:has(#detailPanel.on)){--folio-ledger-w:0px}
body[data-map-view='explore'] #view-map:not(:has(#detailPanel.on)) #folioLedger{display:none}
body[data-map-view='explore'] #view-map #folioLedger #rightStack{display:none!important}
#view-map #wxPanel{z-index:520;width:min(440px,calc(100% - 32px));top:82px;right:calc(var(--folio-ledger-w) + 16px);bottom:35px;left:auto}
.weatherPageLink{display:block;padding:14px 18px;color:var(--accent-ink);font:13px/1.4 var(--font-interface);border-bottom:1px solid var(--folio-rule);text-underline-offset:4px}
#footBar{pointer-events:auto}
.weatherPageHeader h1,.bookPage>h1{margin:0;color:var(--folio-field-white);font:400 38px/1.12 var(--font-display);letter-spacing:-.02em;text-wrap:balance}
.weatherPageHeader{display:flex;align-items:center;justify-content:space-between;gap:20px}
.weatherScope{max-width:75ch;font:15px/1.65 var(--font-interface);color:var(--folio-muted);margin:15px 0 24px}
.weatherTabs{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--folio-rule);padding-bottom:14px}
.weatherTabs button{min-height:44px;padding:10px 14px;font:13px/1.4 var(--font-interface);color:var(--folio-cream);border:1px solid var(--nav-border);background:var(--nav-row);border-radius:3px}
.weatherTabs button[aria-pressed='true']{background:var(--nav-current);border-color:var(--accent);color:var(--folio-field-white)}
#weatherStatus{padding:16px 0;font:12px/1.5 var(--font-interface);color:var(--folio-muted)}
.weatherOverview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
.weatherOverview>section{min-width:0;padding:20px 0;border-top:1px solid var(--folio-rule)}
.weatherOverview h2,.weatherReading h2{font:30px/1.2 var(--font-display);margin:0 0 18px}
.weatherOverview p{font:13px/1.6 var(--font-interface);color:var(--folio-muted)}
.weatherOverview dl{margin:20px 0}
.weatherOverview dl>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--folio-rule);padding:15px 0;font:14px/1.5 var(--font-interface)}
.weatherOverview dd{font-family:var(--font-numeric);text-align:right;color:var(--folio-field-white)}
.weatherOverviewNote{margin:28px 0;max-width:75ch;font:15px/1.6 var(--font-interface);color:var(--folio-muted)}
.weatherReading{max-width:900px;padding:20px 0 50px}
.weatherReading .wxGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 20px;background:transparent;border:0;border-radius:0;overflow:visible}
.weatherReading .wxGrid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.weatherReading .wxGrid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.weatherReading .wxkv{padding:16px 0;border:0;border-bottom:1px solid var(--folio-rule);border-radius:0;background:transparent;box-shadow:none}
.weatherReading .wxkv .t{color:var(--folio-muted);font:11px/1.4 var(--font-interface);letter-spacing:.035em;margin-top:6px}
.weatherReading .wxkv .v{font:18px/1.35 var(--font-numeric);font-variant-numeric:tabular-nums}
.weatherReading .wxh{font:13px/1.4 var(--font-interface);color:var(--folio-cream)}
.weatherReading .wxh{margin-top:30px}
.weatherReading .wxWhere{font-size:16px;margin-bottom:20px}
.weatherPage .wxSources a,.weatherPage a{color:var(--accent-ink)}
.bookPage>p{font:17px/1.5 var(--font-body);margin:15px 0 28px}
.bookPage>a{display:flex;justify-content:space-between;gap:20px;max-width:680px;padding:24px 0;border-top:1px solid var(--folio-rule);color:var(--folio-field-white);font:24px var(--font-display);text-decoration:none;min-height:68px}
.bookPage>a span{font:13px/1.6 var(--font-interface);color:var(--folio-muted);text-align:right}
@media(min-width:761px) and (max-width:1180px){:root{--folio-rail-w:204px;--folio-ledger-w:320px}#rail button span{font-size:13px}#rail .navChild span{font-size:11px}.rankEntry .rankPlace{gap:7px}#folioLedger .rankThumb{width:60px;flex-basis:60px}.rankName{font-size:16px}}
@media(min-width:761px) and (max-width:980px){#mapCanvas{inset:0 var(--folio-ledger-w) 0 0}#view-map #folioLedger{top:0;right:0;bottom:0;left:auto;width:var(--folio-ledger-w);height:auto;max-height:none;min-height:0;border-radius:0}#view-map:has(#detailPanel.on) #folioLedger{top:0;right:0;bottom:0;left:auto;width:var(--folio-ledger-w);height:auto;max-height:none;padding:18px 13px}#view-map #detailBody .ph.heroPh{display:block}#view-map .topbar button{min-width:66px}#view-map .topbar{gap:5px}}
@media(max-width:760px){
  :root{--folio-rail-w:0px;--folio-ledger-w:0px}
  nav#rail{display:none}
  #shell{padding-bottom:calc(72px + env(safe-area-inset-bottom));height:100dvh}
  main#stage{height:100%;padding:0;margin:0}
  #mobileNav{position:fixed;z-index:700;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:4px 4px calc(4px + env(safe-area-inset-bottom));height:calc(72px + env(safe-area-inset-bottom));border-top:1px solid var(--folio-rule);background:var(--folio-graphite)}
  #mobileNav button{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;min-width:0;padding:6px 1px;min-height:60px;border-radius:4px}
  #mobileNav button span{font:10px/1.2 var(--font-interface);letter-spacing:0;color:inherit}
  #mobileNav .atlas-icon{width:23px;height:23px}
  #mobileNav button.on{background:var(--nav-parent);color:var(--folio-field-white)}
  #mobileViewMenu{position:fixed;display:grid;gap:6px;z-index:710;bottom:calc(80px + env(safe-area-inset-bottom));left:8px;right:8px;max-width:420px;padding:14px;background:var(--folio-graphite);border:1px solid var(--nav-border);border-radius:6px;box-shadow:var(--folio-lift)}
  #mobileViewMenu>p{font:14px var(--font-interface);color:var(--folio-field-white);padding:0 4px 8px}
  #mobileViewMenu .navChild{display:flex;align-items:center;gap:12px;min-height:48px;font:14px var(--font-interface);padding:10px 14px}
  #mapCanvas{inset:0}
  #view-map .topbar{top:10px;right:10px;gap:6px}
  #view-map .topbar button{min-width:70px;min-height:52px;font-size:9px;padding:6px}
  #map .leaflet-top.leaflet-left{top:10px;left:10px}
  #view-map #layersDock,#view-map #wxPanel{top:74px;left:10px;right:10px;width:auto;max-width:none;bottom:auto;max-height:calc(100% - 86px);overflow:auto}
  #view-map #wxPanel{bottom:12px;max-height:none}
  #layersPanel{max-height:calc(100dvh - 180px)}
  #view-map #folioLedger{left:8px;right:8px;top:auto;bottom:9px;width:auto;height:43%;max-height:calc(100% - 90px);min-height:190px;padding:14px 14px 18px;border:1px solid var(--nav-border);border-radius:6px;background:var(--folio-graphite)}
  #view-map #folioLedger.rank-expanded{height:calc(100% - 94px)}
  #folioLedger .folioStitch{display:none}
  #folioLedger #rankPanel .hd b{font-size:24px}
  #folioLedger #rankPanel .hd{padding-bottom:10px;min-height:36px}
  #rankSheetToggle{display:block;min-height:44px;width:100%;padding:8px;color:var(--folio-cream);background:var(--nav-row);border:1px solid var(--nav-border);border-radius:3px;font:12px var(--font-interface);margin:8px 0}
  .rankEntry{min-height:86px;padding-block:7px}
  #folioLedger .rankThumb{width:64px;flex-basis:64px}
  .rankName{font-size:17px}
  #footBar{display:none}
  .weatherPageHeader{align-items:flex-start;gap:12px}
  .weatherPageHeader h1,.bookPage>h1{font-size:30px;line-height:1.15}
  .weatherScope{font-size:13px}
  .weatherTabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .weatherTabs button{font-size:11px;padding:9px 10px}
  .weatherOverview{grid-template-columns:1fr;gap:20px}
  .weatherReading .wxGrid,.weatherReading .wxGrid.three,.weatherReading .wxGrid.two{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}
  .weatherPage .wxSources{overflow-wrap:anywhere}
  .atlasSyncStatus[data-sync-state='local-only'],.atlasSyncStatus[data-sync-state='synced']{display:none}
  .bookPage>a{font-size:23px;gap:15px}.bookPage>a span{font-size:12px}
}
@media(prefers-reduced-motion:reduce){#rail button,#mobileNav button,.navChevron{transition:none}}
/* The shoreline catalog shares the activity shell without inventing ranks. */
#view-beaches .beachPage{position:relative;height:100%;max-width:none;padding:0;overflow:hidden}
#view-beaches .beachHeader,#view-beaches .beachPreviewNote,.beachMapCaption,.beachAdvisories{display:none}
#view-beaches .beachLayout{display:grid;grid-template-columns:minmax(0,1fr) var(--folio-ledger-w);height:100%;gap:0}
.beachMapColumn{position:relative;height:100%;min-width:0}
#beachMap{height:100%;min-height:0;border:0}
#view-beaches .beachBrowser{height:100%;min-width:0;overflow-y:auto;background:var(--folio-graphite);border:0;border-left:1px solid var(--folio-rule);padding-bottom:30px}
.beachListHeader{padding:24px 18px 14px}
.beachListHeader h2{font:28px/1.1 var(--font-display);color:var(--folio-field-white);margin-bottom:14px}
.beachListHeader p{font:12px/1.6 var(--font-interface);color:var(--folio-muted);margin:10px 0}
.beachMapTools{position:absolute;z-index:510;top:14px;right:16px;display:flex;gap:8px}
.beachMapTools button,#beachLayersMenu button{min-height:44px;padding:11px 14px;border:1px solid var(--nav-border);border-radius:3px;background:var(--folio-graphite);color:var(--folio-field-white);font:12px var(--font-interface)}
#beachLayersMenu{position:absolute;z-index:520;right:16px;top:70px;padding:10px;background:var(--folio-graphite);border:1px solid var(--nav-border)}
#beachLayersMenu[hidden]{display:none}
#beachLayersMenu button{margin:3px}
#beachSearch,#beachSearch+label,.beachFilters label:has(#beachSearch){display:none}
.beachFilters{padding:10px 18px;gap:0}
#beachList{max-height:none;overflow:visible}
#beachList li{position:relative;border-bottom:1px solid var(--folio-rule)}
#beachList button{border-bottom:0;font-family:var(--font-display);padding:12px 18px;min-height:88px}
#beachList .beachThumb{width:76px}
#beachList button:has(.beachThumb){grid-template-columns:76px minmax(0,1fr);gap:12px}
.beachGuideLink{display:block;font:11px/1.5 var(--font-interface);padding:10px 18px;text-align:right;min-height:44px}
#beachSheetToggle{display:none}
.beachBack{display:block;min-height:44px;padding:8px 0;font:12px var(--font-interface);text-underline-offset:4px}
#beachDetail:not(:has(h2)){display:none}
body[data-beach-view='ranked']:not(.beachFull) #beachDetail{display:none}
body[data-beach-view='explore'] .beachPage.hasSelectedBeach #beachList,body[data-beach-view='explore'] .beachPage.hasSelectedBeach .beachFilters{display:none}
body[data-beach-view='today-map'] .beachMapTools{display:none}
body[data-beach-view='today-map'] .beachPage.hasSelectedBeach #beachList,body[data-beach-view='today-map'] .beachPage.hasSelectedBeach .beachFilters{display:none}
body[data-beach-view='today-map']:not(.beachFull) .beachCover{display:none}
body.beachFull #view-beaches{overflow-y:auto}
body.beachFull #view-beaches .beachPage{height:auto;overflow:visible}
body.beachFull #view-beaches .beachLayout{display:block;height:auto;max-width:1120px;margin:auto;padding:24px}
body.beachFull .beachMapColumn,body.beachFull .beachFilters,body.beachFull #beachList,body.beachFull .beachListHeader{display:none}
body.beachFull #view-beaches .beachBrowser{height:auto;padding:0;border:1px solid var(--folio-rule);overflow:visible}
body.beachFull #beachDetail{padding:28px}
body.beachFull #beachDetail h2{font:clamp(32px,4vw,54px)/1.1 var(--font-display)}
body.beachFull .beachCover{max-width:720px;margin:24px auto}
body.beachFull #beachDetail>p,body.beachFull #beachDetail>details{max-width:75ch}
@media(max-width:760px){
  #view-beaches .beachLayout{display:block}
  #view-beaches .beachBrowser{position:absolute;z-index:500;left:8px;right:8px;bottom:9px;height:43%;max-height:calc(100% - 84px);padding-bottom:12px;border:1px solid var(--nav-border);border-radius:6px}
  #view-beaches .beachBrowser.expanded{height:calc(100% - 84px)}
  .beachListHeader{padding:14px 14px 4px}
  .beachListHeader h2{font-size:24px;margin-bottom:8px}
  .beachListHeader p{margin:8px 0}
  #beachSheetToggle{display:block;width:100%;min-height:44px;background:var(--nav-row);border:1px solid var(--nav-border);color:var(--folio-cream);font:12px var(--font-interface);margin:8px 0}
  #view-beaches .beachDetail{padding:14px;border:0;margin:0}
  .beachMapTools{right:10px;top:10px;gap:5px}
  .beachMapTools button{font-size:10px;padding:10px}
  body.beachFull #view-beaches .beachLayout{padding:14px}
  body.beachFull #view-beaches .beachBrowser{position:static;max-height:none;height:auto;border-radius:3px}
  body.beachFull #beachDetail{padding:15px}
}
/* Keep existing grain at graphite density and inherited uppercase rules local. */
nav#rail{background-blend-mode:multiply,normal,normal}
#rail button,#rail button span,#mobileNav button,#mobileNav button span,#mobileViewMenu button,.rankPlace,.rankName,.rankName small{ text-transform:none;letter-spacing:0 }
#rail button svg,#mobileNav button svg,#mobileViewMenu button svg{--atlas-icon-cell:transparent;--atlas-icon-frame:currentColor;--atlas-icon-mark:currentColor;--atlas-icon-glyph-fill:transparent}
#view-map .topbar button span{display:block!important}
body[data-map-view='ranked'] #view-map #folioLedger{overflow:hidden}
body[data-map-view='ranked'] #view-map #rightStack{flex:1;min-height:0;height:100%}
body[data-map-view='ranked'] #view-map #rankPanel{height:100%;min-height:0;max-height:none;overflow:hidden}
body[data-map-view='ranked'] #view-map #rankPanel>.hd,body[data-map-view='ranked'] #rankSheetToggle{flex:none}
body[data-map-view='ranked'] #view-map #rankBody{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 5px 16px;scroll-padding:6px}
#view-map .badge{display:none}
body[data-view='map']>.badge{display:none}
body[data-view='map']>.atlasSyncStatus{left:calc(var(--folio-rail-w) + 12px);bottom:34px;font-size:10px}
/* Selected graphite rows use light icons, unlike the former cream rail tabs. */
#rail button.on .atlas-icon{color:var(--folio-field-white);--atlas-icon-cell:transparent;--atlas-icon-frame:var(--folio-field-white);--atlas-icon-mark:var(--folio-field-white);--atlas-icon-glyph-fill:transparent}
.beachConditionsPanel{position:absolute;z-index:610;top:74px;bottom:20px;right:calc(var(--folio-ledger-w) + 16px);width:min(420px,calc(100% - var(--folio-ledger-w) - 32px));overflow:auto;background:var(--folio-graphite);border:1px solid var(--nav-border);border-radius:4px;box-shadow:var(--folio-lift)}
.beachConditionsPanel[hidden]{display:none}
.beachConditionsPanel>header{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--folio-rule)}
.beachConditionsPanel h2{flex:1;font:25px/1.2 var(--font-display)}
.beachConditionsPanel>header button{min-width:50px;min-height:44px;padding:8px;background:var(--nav-row);border:1px solid var(--nav-border);color:var(--folio-field-white);font:12px var(--font-interface)}
#beachConditionsBody{padding:18px;font:14px/1.6 var(--font-interface)}
#beachConditionsBody p{margin-bottom:14px}
@media(max-width:760px){.beachConditionsPanel{left:8px;right:8px;top:70px;bottom:8px;width:auto}}

/* Compact beach sheets reserve their first screen for places; expanded sheets retain the full directory context. */
@media(max-width:760px){
  #view-beaches .beachBrowser:not(.expanded) #beachViewNote{display:none}
  #view-beaches .beachBrowser:not(.expanded) #beachLoadStatus{font-size:10px;line-height:1.4;margin:6px 0}
  #view-beaches .beachBrowser:not(.expanded) .beachFilters{padding:6px 14px}
  #view-beaches .beachBrowser:not(.expanded) .beachFilters label:has(#beachShore){display:flex;align-items:center;gap:12px}
  #view-beaches .beachBrowser:not(.expanded) .beachFilters select{flex:1;min-width:0;min-height:44px}
  #view-beaches .beachBrowser:not(.expanded) .beachListHeader{display:flex;flex-wrap:wrap;align-items:center;gap:0 10px}
  #view-beaches .beachBrowser:not(.expanded) .beachListHeader h2{flex:1;font-size:22px;margin:0}
  #view-beaches .beachBrowser:not(.expanded) #beachSheetToggle{width:auto;min-width:96px;padding:8px;font-size:10px;margin:0}
  #view-beaches .beachBrowser:not(.expanded) #beachLoadStatus{width:100%}
  #beachMap .leaflet-control-attribution{max-width:240px;font-size:9px;line-height:1.3}
}
