/* Shared controls and a top-layer timeline, independent of map/footprint stacking contexts. */
.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.language-picker {display:flex;align-items:center;flex-shrink:0;}
.language-picker select {font:inherit;font-size:11px;padding:7px 8px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink);max-width:146px;}
.timeline-dialog {color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:18px;margin:auto;width:min(540px,calc(100vw - 24px));max-height:85dvh;padding:0;overflow:auto;box-shadow:0 20px 90px #0006;}
.timeline-dialog::backdrop {background:#0009;backdrop-filter:blur(3px);}
.timeline-dialog #visitorDetail.open {display:block!important;border:0;max-height:none;margin:0;background:var(--paper);}
.timeline-dialog .vd-body {padding:22px!important;}
.timeline-dialog h2 {position:sticky;top:0;background:var(--paper);z-index:1;letter-spacing:0;}
#vdClose {min-width:36px;min-height:36px;}
.tl small {display:block;font:10px/1.6 var(--mono);color:var(--ink-soft);overflow-wrap:anywhere;}
.tl li {grid-template-columns:14px minmax(0,1fr) auto;}
#visitorDetail {max-height:42vh;overflow:auto;}
.idle-rotation {min-width:36px;min-height:36px;cursor:pointer;}
.idle-rotation[aria-pressed="true"] {color:var(--ink);}
#mapRotate {font-size:18px;}
@media(max-width:860px){.language-picker {margin-left:auto;}.language-picker select{max-width:122px;}.live {flex-wrap:wrap;}#visitorDetail{max-height:none;} .timeline-dialog {max-height:84dvh;}}
@media(prefers-reduced-motion:reduce){.timeline-dialog {scroll-behavior:auto;}}

/* Empty histories have no marker/time columns; keep their copy full-width. */
#vdTimeline li:not(:has(> i)) {display:block;font-size:12px;line-height:1.7;color:var(--ink-soft);}
