/* Foundation only: desktop rules and interaction models remain in place. */
.compact-categories{display:none}
.phone-category-toolbar{display:contents}
@media(max-width:1199px){
 #panel.responsive-overlay{position:fixed;right:12px;top:12px;bottom:12px;width:min(560px,calc(100vw - 24px));height:auto;max-height:none;z-index:10;box-shadow:0 0 0 100vmax #332c2340}
}
@media(min-width:900px) and (max-width:1199px){
 header{display:grid;grid-template-columns:auto minmax(130px,1fr) auto auto auto;gap:14px}
 header .market{margin-left:0}
 header #advanced-toggle span{display:none}
}
@media(max-width:899px){
 #timeline{--compact-chart:1;--plot-left:12px;--plot-right:62px;height:clamp(500px,60dvh,700px)}
 header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;padding-bottom:12px}
 header .brand{grid-column:1/3;grid-row:1}
 header .site-menu{grid-column:3;grid-row:1;justify-self:end}
 header .search{grid-column:1/3;grid-row:2;min-width:0;width:100%;max-width:none}
 header .filter-launcher{grid-column:3;grid-row:2;justify-self:end}
 header .market{grid-column:1/4;grid-row:3;justify-self:end;margin-left:0;min-height:32px}
 header .search input{font-size:16px}
 header .brand small{font-size:9px;letter-spacing:1px}
 header #advanced-toggle span{display:none}
 .compact-categories{display:flex;align-items:center;gap:8px;overflow-x:auto;white-space:nowrap;max-width:100%;padding:4px 0 8px;scrollbar-width:none;-ms-overflow-style:none}
 .compact-categories::-webkit-scrollbar{display:none;width:0;height:0}
 .compact-categories #all-categories{position:static;flex:none;min-height:40px;font-size:12px;padding:8px}
 .compact-categories #lane-controls{position:static;display:flex;flex:none;width:auto;gap:4px}
 .compact-categories .lane-control{flex:none}
 .compact-categories .lane-control>button{font-size:12px;min-height:40px;padding:8px}
 .compact-categories #more-categories summary{min-width:32px;min-height:40px;padding:10px}
 .compact-categories #more-options{position:fixed;bottom:auto;min-width:0;z-index:30;overflow:auto;white-space:normal}
 #price-axis{width:51px;top:40px;bottom:40px;font-size:10px}
 .navigator{flex-direction:column;align-items:stretch;gap:22px;padding:14px}
 .nav-title{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;min-width:0;max-width:none}
 .nav-title small{margin:0;font-size:11px}
 .nav-title button{margin:0;min-height:32px;font-size:11px}
 #nav-track{flex:none;width:100%;height:100px}
 #advanced-filters{left:12px!important;right:12px;top:100px!important;width:auto;max-height:calc(100dvh - 125px)!important}
}
@media(max-width:599px){
 .phone-category-toolbar{display:flex;align-items:center;gap:8px;min-width:0}
 .phone-category-toolbar .compact-categories{flex:1;min-width:0}
 .phone-category-toolbar .market{flex:none;margin:0;gap:4px;min-height:40px;font:12px/1.5 var(--font-ui);color:var(--stone-text);white-space:nowrap}
 .phone-category-toolbar .scale-caption{font-size:10px;color:#4d473e}
 .phone-category-toolbar .scale-option{font-size:12px;color:#61594e}
 #timeline{height:clamp(420px,60dvh,560px)}
 #panel.responsive-overlay{inset:8px;width:calc(100vw - 16px)}
}
@media(max-width:899px) and (max-height:500px){
 #timeline{height:clamp(260px,70dvh,360px)}
}

/* Compact article reading mode only. */
@media(max-width:1199px){
 #panel.responsive-overlay{width:min(760px,calc(100vw - 32px));right:16px;top:16px;bottom:16px;max-height:calc(100dvh - 32px);overscroll-behavior:contain}
 #panel.responsive-overlay .panel-toolbar{padding:8px 18px;gap:12px;z-index:2}
 #panel.responsive-overlay #close-panel{width:auto;min-height:44px;padding:8px 12px;font:14px/1.4 var(--font-ui);white-space:nowrap}
 #panel.responsive-overlay #event-back{min-height:44px}
 #panel.responsive-overlay .body-content{font-size:17px;line-height:1.75}
 #panel.responsive-overlay .related-event,#panel.responsive-overlay .chronological-controls button{min-height:44px}
 #panel.responsive-overlay .article-sources a{display:inline-block;padding:6px 0}
}
@media(max-width:599px){
 #panel.responsive-overlay{inset:0;width:100%;height:100dvh;max-height:100dvh;border-radius:0;padding-bottom:env(safe-area-inset-bottom)}
 #panel.responsive-overlay .panel-toolbar{padding-top:calc(8px + env(safe-area-inset-top));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
 #panel.responsive-overlay .event-article{padding:22px max(20px,env(safe-area-inset-right)) 28px max(20px,env(safe-area-inset-left))}
 #panel.responsive-overlay .chronological-controls{display:flex;flex-wrap:wrap;gap:10px}
 #panel.responsive-overlay .chronological-controls button{flex:1 1 140px}
}

/* Native vertical scroll; horizontal navigation/pinch are touch-controller owned. */
#timeline,.chart-event-label{touch-action:pan-y}

/* Compact category picker: same selection state as the rail. */
#category-picker-toggle{display:none}
#category-picker{position:fixed;z-index:30;overflow:auto;overscroll-behavior:contain;padding:12px;background:var(--surface-gradient);color:var(--stone-text);border:1px solid var(--surface-border);border-radius:10px;box-shadow:0 8px 24px #51473724}
.category-picker-actions{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px}
.category-picker-actions button{min-height:44px;font-size:14px}
.category-picker-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 8px}
.category-picker-options label{display:flex;align-items:center;gap:6px;min-height:44px;font-size:14px;cursor:pointer}
.category-picker-options input{width:18px;height:18px;margin:0;accent-color:#75644a;flex:none}
.category-picker-options svg{width:16px;height:16px;flex:none}
@media(max-width:899px){#category-picker-toggle{display:inline-flex;align-items:center;min-height:44px;padding:6px 12px;margin:0 0 4px;font-size:14px}}

/* Phone-only consolidation above the plot. */
@media(max-width:599px){
 .phone-category-toolbar{gap:6px}
 .phone-category-toolbar #category-picker-toggle{flex:none;margin:0;padding:6px 8px}
 .phone-category-toolbar .compact-categories{padding:0}
 .phone-category-toolbar .market .scale-caption{display:none}
 .stage-heading{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:2px 8px;margin:4px 0;letter-spacing:0}
 .stage-heading #status,.stage-heading #price-status{font-size:0;line-height:0}
 .stage-heading #status::after,.stage-heading #price-status::after{content:attr(data-compact);font-size:11px;line-height:15px}
 #filter-summary{padding-top:2px}
 #filter-summary .summary-count{display:none}
}
