/* Shared controls and the atlas keep their touch layout in one place. */
.atlas-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 12px;color:#b6c8bf;font-size:16px}
.atlas-heading button,.atlas-filter-toggle{border:1px solid #8d9b7755;background:#173036;color:#e7d3a6;padding:10px 14px;min-height:44px;font:16px/1.4 Arial,sans-serif}
.atlas-filter-toggle,#atlas-place{display:none}
.atlas-shell{min-width:0;scroll-margin-top:0}
.atlas-mobile-switch{scroll-margin-top:0}
.atlas-open{overflow:hidden}
.atlas-dialog{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:none;padding:max(12px,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));border:0;background:#091419;overscroll-behavior:contain;overflow:auto}
.atlas-dialog .atlas-heading{position:sticky;top:0;z-index:12;background:#091419;min-height:54px;padding-bottom:10px;margin:0 0 10px}
.atlas-dialog .atlas-heading button{flex-shrink:0}
.atlas-dialog .atlas-shell{min-height:100%;display:flex;flex-direction:column}
.atlas-dialog .atlas-workspace{flex:1;min-height:350px;height:calc(100dvh - 190px)}
.atlas-dialog .atlas-mobile-switch{scroll-margin-top:8px}
.atlas-tools button{min-width:44px;min-height:44px;touch-action:manipulation}
.atlas-tools a{display:inline-flex;align-items:center;min-height:44px}
.atlas-viewport{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.atlas-browser #district-copy h3{overflow-wrap:anywhere}
.nav-mobile-link{display:none}
.news-list .news-card{padding:0!important}
.news-card-copy>.inline-buttons{flex-wrap:wrap;gap:12px}

@media(max-width:1050px){
 .site-header{position:fixed;background:#091419f5;backdrop-filter:blur(8px);padding-top:env(safe-area-inset-top)}
 .desktop-nav{max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(20px,env(safe-area-inset-bottom))}
 .desktop-nav .nav-mobile-link{display:block}
 .desktop-nav a{min-height:46px}
 .menu-toggle{width:44px;min-width:44px;min-height:44px}
 .header-search,.account-header{min-height:44px;display:inline-flex;align-items:center}
 .account-header{font-size:14px}
 .menu-open{overflow:hidden}
 .canon-nav,.char-tabs,.workspace-nav{scrollbar-width:thin;overscroll-behavior-x:contain}
 .canon-nav a,.workspace-nav a{min-height:44px}
 input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px;scroll-margin-block:110px 30px}
 .roller select,.club-toolbar select{font-size:16px;min-height:46px}
 .news-toolbar{top:80px}
 #toast{max-width:calc(100vw - 28px);width:max-content;padding:12px 18px;overflow-wrap:anywhere;font-size:16px;line-height:1.5}
 .site-footer a,.site-footer button{min-height:44px;display:inline-flex;align-items:center}
}

@media(max-width:820px), (max-width:1050px) and (max-height:500px){
 .atlas-heading{font-size:14px;margin-top:18px}
 .atlas-heading button{padding:10px 12px;font-size:14px}
 .atlas-heading>span{max-width:150px;line-height:1.5}
 .atlas-shell .map-controls{grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;margin:10px 0 14px}
 .atlas-shell .map-controls label{font-size:16px;min-width:0}
 .atlas-shell .map-controls input,.atlas-shell .map-controls select,#atlas-place{font:16px/1.4 Arial,sans-serif;padding:12px;min-height:46px;width:100%;min-width:0;border:1px solid #7a927366;background:#183237;color:#e0e7df;border-radius:2px}
 .atlas-shell .atlas-district-field{grid-column:1;grid-row:1}
 .atlas-filter-toggle{display:block;grid-column:2;grid-row:1;align-self:end}
 .atlas-filter-toggle[aria-expanded=true]{border-color:#c8b17c;color:#f1d89f}
 .atlas-shell .atlas-search-field{grid-column:1/-1;grid-row:2}
 .atlas-shell .atlas-scope-field{grid-column:1/-1;grid-row:3}
 .atlas-shell[data-filters=closed] .atlas-search-field,.atlas-shell[data-filters=closed] .atlas-scope-field{display:none}
 .atlas-mobile-switch{display:flex;margin:12px 0 10px;gap:8px}
 .atlas-mobile-switch button{flex:1;min-height:46px;font-size:17px;line-height:1.4;padding:11px 8px;border:1px solid #607768;background:#142e32;color:#d8e1da}
 .atlas-mobile-switch button[aria-pressed=true]{background:#c8b17c;color:#102127}
 .atlas-workspace{display:block;height:auto;min-height:0}
 .atlas-workspace[data-view=map] .atlas-browser,.atlas-workspace[data-view=places] .atlas-map-side{display:none}
 .atlas-map-side,.atlas-browser{height:auto}
 .atlas-workspace .atlas-viewport{flex:none;width:100%;height:auto;aspect-ratio:1;max-height:70svh}
 .atlas-tools{flex-wrap:wrap;gap:6px;margin:0 0 9px;font-size:14px}
 .atlas-tools button{font-size:16px;padding:8px 10px}
 .atlas-tools a{font-size:14px;padding-inline:5px}
 .atlas-workspace .district-pin{min-width:44px;max-width:44px;min-height:44px;padding:0}
 .atlas-map-side>.source-note{font-size:13px;line-height:1.55;margin-top:12px}
 .atlas-browser{display:block}
 .atlas-browser #district-copy{padding:18px 16px 12px}
 .atlas-browser #district-copy h3{margin:0 90px 0 0;font-size:28px}
 .atlas-district-about summary{position:absolute;right:12px;top:30px;display:flex;align-items:center;gap:8px;min-height:44px;font-size:14px;margin:0}
 .atlas-district-about summary:after{content:'+';font:20px Arial,sans-serif}
 .atlas-district-about[open] summary:after{content:'−'}
 .atlas-district-about>div{max-height:none;overflow:visible;padding:0;font-size:18px}
 .atlas-places{padding:0 16px 16px}
 .atlas-places #poi-count{margin:12px 0 8px;font-size:14px}
 .atlas-places .poi-list{display:none}
 #atlas-place{display:block}
 .atlas-browser .map-panel{overflow:visible;height:auto;min-height:0;padding:22px 16px;overscroll-behavior:auto}
 .atlas-browser .map-panel h3{font-size:29px;line-height:1.25;overflow-wrap:anywhere}
 .atlas-browser .map-panel p{font-size:19px;line-height:1.65}
 .atlas-browser .map-panel .source-note,.atlas-browser .map-panel figcaption{font-size:13px;line-height:1.6}
 .atlas-browser .map-panel img{max-height:230px;aspect-ratio:16/10}
 .atlas-dialog .atlas-shell:has([data-view=map]){height:100%}
 .atlas-dialog .atlas-workspace{height:auto;min-height:0;flex:1}
 .atlas-dialog .atlas-workspace[data-view=map]{min-height:220px}
 .atlas-dialog .atlas-map-side{height:100%}
 .atlas-dialog .atlas-viewport{flex:1;aspect-ratio:auto;min-height:130px;max-height:none}
 .atlas-dialog .atlas-map-side>.source-note{font-size:12px}
 .atlas-dialog .atlas-mobile-switch{position:sticky;top:54px;z-index:9;background:#091419;padding:8px 0;margin:0}
 .atlas-dialog .atlas-browser .map-panel{overflow:visible}
 .char-form .stat-row button{width:44px;height:44px;flex-shrink:0}
 .char-form .stat-row>div{flex-shrink:0;gap:10px}
 .char-form .stat-row{gap:10px;flex-wrap:wrap}
 .char-tabs{scroll-margin-top:0}
 .char-tabs button{min-height:58px;min-width:128px}
 .wizard-nav{gap:10px}
 .wizard-nav .button{min-height:46px;min-width:110px}
 .char-summary{display:grid}
 .content-workspace .char-top{position:static}
 .admin-items{grid-template-columns:1fr;max-height:260px}
 .admin-item,.editor-records .admin-item{min-height:44px;overflow-wrap:anywhere}
 #editing-toolbar{bottom:max(10px,env(safe-area-inset-bottom));font-size:14px}
 #editing-toolbar button,#editing-toolbar a{min-height:44px;display:inline-flex;align-items:center}
 #editing-toolbar{padding:0 12px}
 .news-toolbar button,.news-toolbar select{min-height:44px;font-size:16px}
 .news-toolbar{gap:4px;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
 .news-toolbar>*{flex-shrink:0}
 .news-toolbar select{max-width:165px}
 .news-save-line .text-button{min-height:44px}
}

@media(max-width:360px){
 .site-header{gap:6px;padding-inline:10px}
 .brand span{font-size:18px}.brand img{width:24px}.brand{gap:5px}
 .header-search{font-size:13px;padding-inline:7px}
 .account-header{font-size:13px}
 .atlas-heading>span{font-size:13px;max-width:125px}
 .atlas-heading button{font-size:13px;padding-inline:10px}
 .char-summary dl{grid-template-columns:repeat(2,minmax(0,1fr))}
 .character-library{grid-template-columns:minmax(0,1fr)}
}

@media(max-height:500px) and (max-width:1050px){
 .desktop-nav.open{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;padding-top:8px;padding-bottom:12px}
 .atlas-dialog .atlas-map-side>.source-note{display:none}
 .atlas-dialog .atlas-workspace[data-view=map]{min-height:310px}
 .atlas-dialog .atlas-heading{margin-bottom:0}
}

@media(pointer:coarse){.button:hover{transform:none}.atlas-heading button,.atlas-filter-toggle,.atlas-mobile-switch button{touch-action:manipulation}}
