/* Motion never overrides Leaflet's positioning transforms. */
.motion-snapshot{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden;background:inherit;border-radius:inherit}
#main,#story-results,#stage-records,#dialog-content,#map-story-card,#toast{position:relative}
#map-story-card{position:absolute}
/* Incoming text and the changing height must not create a temporary scrollbar. */
#map-story-card[data-content-changing=true]{overflow:hidden}
#toast{position:fixed}
button,a,input,select,summary{ -webkit-tap-highlight-color:transparent }
button,.button,summary,.story-card,.task-card,.related-story{transition:background-color .24s,color .24s,border-color .24s,box-shadow .28s,translate .22s}
button:active,.button:active{translate:0 1px}
.detail-toggle{transition:transform .32s cubic-bezier(.22,.7,.2,1)}
.map-stop-button{transition:background .25s,border-color .25s,box-shadow .25s!important}
#map-progress{transition:width .65s cubic-bezier(.22,.7,.2,1)}
.march-stage-arrow{transition:fill-opacity .4s,stroke-opacity .4s}
.marker-shell{transition:width .35s,height .35s,box-shadow .35s,background-color .35s}
.leaflet-tooltip{transition:opacity .22s}
.narrative-banner{transition:opacity .3s,visibility .3s,translate .3s}
.narrative-banner.hidden{display:block!important;opacity:0;visibility:hidden;translate:0 8px;pointer-events:none}
.narrative-banner:not(.hidden){opacity:1;visibility:visible;translate:0 0}
#detail-dialog::backdrop{background:rgb(20 11 10 / .6);backdrop-filter:blur(4px);transition:background .25s,backdrop-filter .25s}
#detail-dialog[data-closing=true]::backdrop{background:transparent;backdrop-filter:blur(0)}
::view-transition-old(root){animation:motion-page-out .24s both}::view-transition-new(root){animation:motion-page-in .42s both}
@keyframes motion-page-out{to{opacity:0;translate:0 -7px}}@keyframes motion-page-in{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
html[data-motion=false] *,html[data-motion=false] *::before,html[data-motion=false] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}::view-transition-group(*){animation:none!important}}
@media print{.motion-snapshot{display:none!important}}

/* The disclosure cue follows the requested state from the first animation frame. */
details[open][data-expanded=false]>summary .detail-toggle{transform:rotate(0deg)}
.history-story[data-expanded=false] .history-expand-label{display:inline}.history-story[data-expanded=false] .history-collapse-label{display:none}
.history-story[data-expanded=true] .history-expand-label{display:none}.history-story[data-expanded=true] .history-collapse-label{display:inline}
