/* Geography reading contract. Loaded in the original HTML, after chapter CSS.
   Math SVGs are inline glyphs; diagram SVGs have a separate scroll surface. */
/* Imported chapters must retain their layout and disclosures when the legacy
   runtime utility CDN is unavailable or blocked by the production CSP. */
html body[data-geo-responsive="v1"] .hidden{display:none!important}
html body[data-geo-responsive="v1"] main .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:1rem}
html body[data-geo-responsive="v1"] main .grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr))}
html body[data-geo-responsive="v1"] main .stat-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,13.75rem),1fr))}
html body[data-geo-responsive="v1"] main .flex{display:flex;min-inline-size:0}
html body[data-geo-responsive="v1"] main .inline-flex{display:inline-flex;min-inline-size:0}
html body[data-geo-responsive="v1"] main .flex-wrap{flex-wrap:wrap}
html body[data-geo-responsive="v1"] main .flex-col{flex-direction:column}
html body[data-geo-responsive="v1"] main .items-center{align-items:center}
html body[data-geo-responsive="v1"] main .items-start{align-items:flex-start}
html body[data-geo-responsive="v1"] main .w-full{width:100%;max-inline-size:100%}
html body[data-geo-responsive="v1"] main :is(button,summary){min-inline-size:0;max-inline-size:100%;white-space:normal}
html body[data-geo-responsive="v1"] main .justify-between{justify-content:space-between;gap:.75rem}
html body[data-geo-responsive="v1"] main .justify-center{justify-content:center}
html body[data-geo-responsive="v1"] main :is(.geo-source-hero,.geo-ch08-hero) .grid>div{padding:1rem;border-radius:10px}
html body[data-geo-responsive="v1"] main :where(section,article,aside,div,header,nav){min-inline-size:0}
html body[data-geo-responsive="v1"] main :where(p,li,dd,td,th,button,summary){overflow-wrap:anywhere;word-break:normal}
html body[data-geo-responsive="v1"] main :is(.hero-tag,.hero-badge,.badge,.stat-label,.stat-value,.stat-desc,.section-subtitle){max-inline-size:100%;white-space:normal!important;overflow-wrap:anywhere!important}
html body[data-geo-responsive="v1"] :is(.geo-source-root,.geo-weather-root)>.page-layout{width:100%!important;margin-inline:0!important}
html body[data-geo-responsive="v1"] :is(.geo-table-scroll,.geo-diagram-scroll){
 display:block!important;inline-size:100%;max-inline-size:100%!important;min-inline-size:0!important;
 overflow-x:auto!important;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;
 scrollbar-width:thin;border-radius:6px;
}
html body[data-geo-responsive="v1"] .geo-table-scroll>table{
 display:table!important;inline-size:100%!important;min-inline-size:36rem!important;
 max-inline-size:none!important;table-layout:auto!important;border-collapse:collapse;
}
html body[data-geo-responsive="v1"] .geo-table-scroll :is(th,td){
 font-size:var(--as-reader-font,1.125rem)!important;line-height:1.8!important;
 white-space:normal!important;vertical-align:top;padding:.75rem!important;
}
html body[data-geo-responsive="v1"] .geo-diagram-scroll>svg{display:block!important;inline-size:100%!important;height:auto!important;max-inline-size:none!important}
html body[data-geo-responsive="v1"] :is(.geo-table-scroll,.geo-diagram-scroll):focus-visible{outline:2px solid var(--ds-primary);outline-offset:3px}
/* base.css makes every SVG block-level. Override it only inside math. Never
   scale formulas down to fit, or change MathJax's internal glyph positioning. */
html body[data-geo-responsive="v1"] main :is(mjx-container,.katex,math,.geo-inline-formula){
 max-inline-size:100%!important;min-inline-size:0!important;white-space:nowrap!important;
 overflow-wrap:normal!important;word-break:normal!important;text-indent:0!important;
}
html body[data-geo-responsive="v1"] main mjx-container:not([display="true"]),
html body[data-geo-responsive="v1"] main .geo-inline-formula{
 display:inline-block!important;overflow-x:auto!important;vertical-align:middle!important;
 padding-block:.12em;margin-block:-.12em;line-height:normal!important;
}
html body[data-geo-responsive="v1"] main mjx-container[jax="SVG"]>svg,
html body.geo-universal-page[data-geo-responsive="v1"] main mjx-container[jax="SVG"]>svg{
 display:inline!important;max-width:none!important;max-inline-size:none!important;
 min-width:0!important;min-inline-size:0!important;height:revert!important;
}
html body[data-geo-responsive="v1"] main :is(mjx-container[display="true"],.katex-display,math[display="block"],.geo-math-scroll){
 display:block!important;inline-size:100%;max-inline-size:100%!important;
 overflow-x:auto!important;overscroll-behavior-x:contain;text-align:start!important;
 padding-block:.45em;margin-block:.85rem!important;
}
html body[data-geo-responsive="v1"] main :is(.formula,.formula-box,.math-formula,.math-display,.math-block,[data-math-block]){min-inline-size:0;max-inline-size:100%;overflow-x:auto}
html body[data-geo-responsive="v1"] main :is(pre,.ascii-sketch,.ascii-box,.code-diagram){max-inline-size:100%!important;min-inline-size:0!important;overflow-x:auto!important;white-space:pre!important}
html body[data-geo-responsive="v1"] .geo-scroll-note{display:none}
html body[data-geo-responsive="v1"] .geo-responsive-facts>summary{display:none}
html body[data-geo-responsive="v1"] .geo-responsive-facts-content>div{position:static!important;top:auto!important}
/* The universal :has() grid rule has higher specificity than the old mobile
   overrides. Reset both tracks and placements, including weather chapters. */
@media(max-width:1023px){
 html body.geo-universal-page[data-geo-responsive="v1"]:has(.page-layout>.main-column) .page-layout,
 html body[data-geo-responsive="v1"][data-as-layout="study"] .page-layout{
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  grid-template-columns:none!important;grid-auto-columns:auto!important;
  min-inline-size:0!important;max-inline-size:100%!important;gap:1rem!important;
 }
 html body.geo-universal-page[data-geo-responsive="v1"] .page-layout>:is(.main-column,.sidebar){
  grid-column:auto!important;grid-row:auto!important;flex:0 1 auto!important;
  width:100%!important;min-inline-size:0!important;max-inline-size:100%!important;
 }
 html body.geo-universal-page[data-geo-responsive="v1"] .page-layout>.main-column{order:1!important}
 html body.geo-universal-page[data-geo-responsive="v1"] .page-layout>.sidebar{
  order:2!important;position:static!important;top:auto!important;max-height:none!important;overflow:visible!important;
 }
 html body.geo-universal-page[data-geo-responsive="v1"]:has(.page-layout>.main-column) :is(.geo-source-root,.geo-weather-root) .page-layout{width:100%!important;margin-inline:0!important}
 html body.geo-universal-page[data-geo-responsive="v1"] .geo-source-root .main-container{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
 html body.geo-universal-page[data-geo-responsive="v1"] .geo-weather-facts details>summary,
 html body.geo-universal-page[data-geo-responsive="v1"] .geo-responsive-facts>summary{
  display:list-item!important;cursor:pointer;font-weight:700;padding:.35rem;
 }
 html body.geo-universal-page[data-geo-responsive="v1"] .geo-weather-facts details:not([open])>:not(summary){display:none!important}
 html body.geo-universal-page[data-geo-responsive="v1"] .geo-responsive-facts:not([open])>.geo-responsive-facts-content{display:none!important}
}
@media(max-width:767px){
 html body[data-geo-responsive="v1"] :is(.geo-source-root,.geo-weather-root){width:calc(100% - 2rem)!important}
 html body[data-geo-responsive="v1"] :is(.page-layout,.geo-universal-article){max-inline-size:100%!important}
 html body[data-geo-responsive="v1"] :is(.main-column,.geo-universal-content) :is(.grid,.grid-2,.info-grid,.concept-grid,.compare-grid){grid-template-columns:minmax(0,1fr)!important;gap:1rem!important}
 html body[data-geo-responsive="v1"] main :is(.sec-header,.section-head,.section-header,.sec-heading){align-items:flex-start!important;gap:.65rem!important}
 html body[data-geo-responsive="v1"] main :is(.sec-num,.section-number){flex-shrink:0}
 html body[data-geo-responsive="v1"] main h1{font-size:clamp(1.4rem,6vw,1.8rem)!important;line-height:1.5!important}
 html body[data-geo-responsive="v1"] main h2{font-size:1.25rem!important;line-height:1.6!important}
 html body[data-geo-responsive="v1"] main :is(h1,h2,h3,h4){word-break:normal!important;overflow-wrap:anywhere!important}
 html body[data-geo-responsive="v1"] :is(.geo-source-hero,.hero-card,.chapter-hero,.geo-ch08-hero){overflow:visible!important}
 html body[data-geo-responsive="v1"] .geo-diagram-scroll>svg{min-inline-size:var(--geo-diagram-width,720px)!important}
 html body[data-geo-responsive="v1"] .geo-scroll-note{display:block;margin:.45rem 0;color:var(--ds-text-muted);font-size:.875rem;line-height:1.6}
 html body[data-geo-responsive="v1"] main :is(.chapter-section,.section-card,.geo-note-master-section){padding:1rem .85rem!important}
 html body[data-geo-responsive="v1"] main .geo-table-scroll{margin-block:.75rem}
}
@media print{
 html body[data-geo-responsive="v1"] :is(.geo-table-scroll,.geo-diagram-scroll,mjx-container){overflow:visible!important}
 html body[data-geo-responsive="v1"] .geo-table-scroll>table{min-inline-size:0!important}
 html body[data-geo-responsive="v1"] .geo-scroll-note{display:none!important}
}
