.usa-layout { grid-template-columns:minmax(0, 1.5fr) minmax(240px, 1fr); gap:65px; }
.usa-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 24px; font-family:var(--f-ui); }
.usa-toolbar button { padding:11px 17px; border:1px solid #655839; border-radius:3px; color:#d8d4c8; font-size:14.5px; }
.usa-toolbar button[aria-pressed="true"] { background:#c9a844; color:#17191b; border-color:#c9a844; }
.usa-toolbar>span { margin-left:auto; color:#9b998f; font-size:12px; letter-spacing:2px; }
.usa-stage { position:relative; overflow:hidden; border-bottom:1px solid #6d614755; }
.usa-side { transition:opacity .1s ease; }
.usa-side.usa-fading { opacity:0; }
.usa-svg { width:90%; display:block; height:auto; margin-inline:auto; }
.usa-context path { fill:#26333c; stroke:#46515a; stroke-width:.6; }
.usa-region { stroke:#172027; stroke-width:.9; cursor:pointer; transition:filter .15s; vector-effect:non-scaling-stroke; }
.usa-state { fill:#45aa85; background:#45aa85; }
.usa-territory { fill:#eccd80; background:#eccd80; }
.usa-claim { fill:url(#usa-claim); background:repeating-linear-gradient(135deg,#363c42 0 4px,#899199 4px 5px); }
.usa-north { fill:#679bc2; background:#679bc2; }
.usa-south { fill:#c67d6b; background:#c67d6b; }
.usa-border { fill:#d4b667; background:#d4b667; }
.usa-region:hover,.usa-region:focus,.usa-region.is-selected { filter:brightness(1.3); stroke:#fff7de; stroke-width:2; outline:none; }
.usa-labels { pointer-events:none; fill:#102024; font:bold 11px sans-serif; text-anchor:middle; }
.usa-ocean { fill:#7c919e; font:10px sans-serif; letter-spacing:3px; pointer-events:none; }
/* Pull the footer into the SVG's lower edge, reclaiming space for the dates. */
.usa-map-footer {position: relative;
    z-index: 1;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 41px;
    margin-top: calc(-10% - 8px);
    padding: 0 1px 18px;
    pointer-events: none; }
.usa-snapshot-summary { display:flex; align-items:flex-start; gap:20px; flex:0 0 auto; }
.usa-date-stamp { flex:0 0 auto; text-align:left; pointer-events:none; }
.usa-date-stamp strong { display:block; font-family:var(--f-heading); font-size:40px; color:#e1ca91; line-height:1.1; }
.usa-date-stamp span { color: #a5b0b1;
    font-size: 12px;
    letter-spacing: 0; }
.usa-legend { 
        display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    flex: 1 1 0;
    min-width: 0;
    gap: 8px 25px;
    margin: 0;
    background: #26333c78;
    padding: 14px 15px;
    font: 12px var(--f-ui);
    justify-content: center;
}
.usa-legend span { display:flex; align-items:center; gap:7px; }
.usa-legend i { width:11px; height:11px; flex:0 0 11px; display:inline-block; border:1px solid #b4bbb466; }
.usa-timeline { display:flex; flex-wrap:nowrap; gap:6px; min-width:0; align-items:center;margin-top:15px; }
.usa-date-track { display:flex; gap:6px; min-width:0; flex:1; overflow-x:auto; scrollbar-width:none; scroll-behavior:smooth; }
.usa-date-track::-webkit-scrollbar { display:none; }
.usa-timeline button { flex:0 0 auto; white-space:nowrap; }
.usa-timeline button { color:#c4c5be; padding:9px 8px; border-radius:2px; font:15px var(--f-ui);  }
.usa-timeline button[aria-pressed="true"] { color:#15191b; background:#d0b571; border-color:#d0b571; }
.usa-timeline .usa-arrow { display:flex; align-items:center; justify-content:center; width:38px; height:38px; padding:0; border:1px solid #dcc58e; border-radius:50%; color:#dcc58e; background:transparent; transition:background-color .2s; }
.usa-timeline .usa-arrow:hover:not(:disabled) { background:rgba(201,168,68,.15); }
.usa-timeline button:disabled { opacity:.3; cursor:default; }
.usa-toolbar button:focus-visible,.usa-timeline button:focus-visible { outline:2px solid #fff2c0; outline-offset:3px; }
.usa-side { gap:24px; padding-top:8px; }
.usa-eyebrow { font:10px var(--f-ui); color:#c5aa68; letter-spacing:2px; }
.usa-story h2 { font:normal 31px/1.18 var(--f-heading); color:#eee4cc; margin:14px 0; }
.usa-stat { display:flex; flex-direction:column; border-left:1px solid #6d614766; padding-left:20px; }
.usa-stat strong { font: 40px / 1.1 var(--f-heading);
    color: #dcc58e;
    font-weight: 700; }
.usa-stat span { color: #a5b0b1;
    font-size: 12px;
    letter-spacing: 0;
    margin-top: 3px; }
.usa-stat small { max-width:100px; margin-top:5px; color:#a8aaa4; font:10px/1.4 var(--f-ui); }
.usa-context-block { border-top:0px solid #6d614755; padding-top:22px; grid-column:1 / -1; }
.usa-context-block h3 { margin:0 0 18px; color:#e4d7b5; font:24px/1.25 var(--f-heading); }
.usa-context-block .em-world-heading { margin-top:0; }
.usa-context-block .usa-power-note { margin:-4px 0 14px; color:#c5aa68; font:13px var(--f-ui); }
.usa-context-block h3 span { display:block; margin-top:6px; color:#c5aa68; font:13px var(--f-ui); }
.usa-events .rp-events-list { max-height:none; padding-top:4px; padding-bottom:4px; }
.usa-events .rp-events-item { text-decoration:none; }
.usa-power-card { display:flex; gap:14px; align-items:center; color:#e4d7b5; text-decoration:none; }
.usa-power-card img { width:64px; height:80px; object-fit:cover; border-radius:3px; }
.usa-power-card strong,.usa-power-card small { display:block; }
.usa-power-card strong { font:22px var(--f-heading); }
.usa-power-card small,.usa-context-block p { color:#a8aaa4; font:13px/1.6 var(--f-ui); margin-top:5px; }
.usa-context-block a:focus-visible { outline:2px solid #fff2c0; outline-offset:4px; }
.usa-notes { border-top:1px solid #6d614755; margin-top:30px; padding-top:16px; color:#b2b5af; font-size:12px; line-height:1.8; }
.usa-notes summary { cursor:pointer; color:#cdb879; }
.usa-notes a { color:#d6c18b; text-decoration:underline; }
@media(max-width:900px) { .usa-layout { grid-template-columns:1fr; } }
@media(max-width:540px) { .usa-map-footer { padding:0 4px 10px; gap:8px; } .usa-legend { font-size:10px; padding:9px; gap:6px; } }
@media(max-width:540px) { .usa-snapshot-summary { gap:12px; } .usa-stat { padding-left:12px; } .usa-stat strong { font-size:24px; } .usa-stat span { font-size:6px; } .usa-stat small { max-width:70px; font-size:9px; } }
@media(max-width:540px) { .usa-side { display:flex; } .usa-toolbar>span { display:none; } .usa-toolbar button { padding:10px; font-size:11px; } .usa-date-stamp strong { font-size:24px; } .usa-date-stamp span { font-size:6px; } .usa-timeline button { padding:10px; } }
@media(prefers-reduced-motion:reduce) { .usa-region { transition:none; } .usa-date-track { scroll-behavior:auto; } }
