/* A2z weights by reading role; sizes and spacing stay in the layout styles. */
:root{--type-title:700;--type-section:600;--type-control:500;--type-body:400;--type-caption:300}
body{font-weight:var(--type-body)}

body .panel .head h1,body #panel header h1,body .panel .detail h2,
body>.region-info h3,body .mv-status h3{font-weight:var(--type-title)}
body .head .eyebrow,body.minute-mode .head .eyebrow,body #panel header .eyebrow{font-weight:var(--type-title)}

body #panel h2,body #panel .search-label,body .minute-four-header h2,
body .minute-port-name,body .four-port-city strong,body .four-port-heading,
body .q25-heading,body .minute-status-label,body .minute-status-count :is(b,strong){font-weight:var(--type-section)}

body button,body select,body summary,body #panel button,
body .panel .flow-nav .chapter,body .bottom .control,
body>.region-info button,body>.globe-quality select{font-weight:var(--type-control)}
body .panel .flow-nav .chapter.active,body #panel button.on,
body #panel .quick-ports button[aria-pressed="true"],
body>.region-info .region-options button.active{font-weight:var(--type-section)}

body .panel .detail p,body .panel .phase,body #panel .analysis-layer,
body #panel input,body .legend,body>.region-info dd,
body .minute-four-key,body .minute-status-place{font-weight:var(--type-body)}

body .panel .head .sub,body #panel header p,body .head-count,
body .flow-meta,body .detail-label,body .bottom .stepread,
body #world-map-hint,body #world-lod-note,body #terminal-example-status,
body #official-reference-status,body #panel .source-section p,
body .panel .data-details p,body .panel .generation-data small,
body .minute-four-attribution,body .four-port-footer small,
body>.region-info dt,body>.region-info .region-note,
body>.region-info header span,body>.globe-quality,
body .cesium-widget-credits{font-weight:var(--type-caption)}
