button,select,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,[role=button]:focus-visible{outline:3px solid var(--blue);outline-offset:4px}[hidden]{display:none!important}
.hero-grid{padding-top:34px;gap:36px}.hero figure img{height:320px}h1{font-size:clamp(40px,5vw,64px)}.section{padding-top:60px;padding-bottom:60px}nav{height:auto;min-height:68px;gap:20px;flex-wrap:wrap;padding:15px 0}nav div{display:flex;gap:16px;flex-wrap:wrap}nav a{font-size:14px;margin:0}.stats span,.quickfacts p,.day p,.map-card p,.metric-card p,.story-grid p,.crew-arc p,.datadictionary p,.privacy-note p{font-size:14px}.stats span{letter-spacing:.04em}.day dt,.fine{font-size:12px}.day dd,table,.gallery figcaption,.hero figcaption{font-size:14px}.day .date,.day .crew,.story-grid span,.metric-card span,.crew-arc small{font-size:12px}
.day-selector{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:7px;margin-bottom:20px}.day-selector button{background:white;border:1px solid #d9d3c5;padding:14px 8px;color:var(--ink);min-height:75px}.day-selector b,.day-selector small{display:block}.day-selector small{font-size:12px;color:var(--muted);margin-top:5px}.day-selector button.active{background:var(--navy);color:white;border-color:var(--navy)}.day-selector button.active small{color:#d9e5ea}
.explorer-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:20px}.day-detail,.phone-log{border:1px solid #d9d3c5;background:white;padding:24px;min-width:0}.day-detail h3{font-size:28px;margin:10px 0}.day-detail>p{color:var(--muted);line-height:1.6}.day-measures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;border-top:1px solid #d9d3c5;padding-top:18px;margin:20px 0}.day-measures b,.day-measures span{display:block}.day-measures b{font-size:20px}.day-measures span{font-size:13px;color:var(--muted);margin-top:5px}.day-measures>div:last-child{grid-column:1/-1}
#replayControls{border-top:1px solid #d9d3c5;padding-top:16px;margin-top:20px}#replayControls label{display:block;font-size:14px;margin:12px 0 6px}.replay-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.replay-head #playReplay{background:var(--navy);color:white;border:0;padding:12px;width:auto}.replay-head select{max-width:100%;padding:8px;border:1px solid #d9d3c5;background:white;font-size:14px}.replay-head label{margin:0!important}.replay-head button{font-size:14px}#replayRange{width:100%;accent-color:var(--orange)}#replayReadout{display:block;font-size:14px;line-height:1.6;font-weight:700;margin-top:10px}.map-card .fine{font-size:12px}
.phone-log h3{margin:0;font-size:22px}.phone-log .fine{font-size:13px;line-height:1.5;color:var(--muted)}#timelineSummary{border-top:1px solid #d9d3c5;padding-top:14px}#timelineEvents{max-height:500px;overflow:auto;border-top:1px solid #d9d3c5;margin-top:16px}.timeline-event{display:grid;grid-template-columns:78px minmax(0,1fr);padding:12px 0;border-bottom:1px solid #ece9e2;gap:10px}.timeline-event time{font-size:13px;color:var(--muted)}.timeline-event small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.timeline-event b{font-size:14px}.photo-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.photo-button{display:block;border:0;padding:0;background:none;width:100%}.photo-button img{width:100%;height:140px;object-fit:cover;display:block}.archive .photo-button img{height:auto}.archive-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:45px 0 22px}.archive-head h3{font-size:28px;margin:0 auto 0 0}.archive-head select{padding:10px;background:white;border:1px solid #d9d3c5;max-width:100%}.archive-head span{font-size:14px;color:var(--muted)}.archive figure{background:white;border:1px solid #d9d3c5}.archive figcaption{position:static;background:none;color:var(--muted);padding:10px;font-size:13px}dialog img{margin:auto;object-fit:contain}dialog{width:auto;min-width:250px;max-height:95vh}dialog p{max-width:90vw}#data .chart-head{gap:12px;flex-wrap:wrap}
@media(max-width:1000px){.day-selector{grid-template-columns:repeat(6,1fr)}.leg-strip{grid-template-columns:repeat(4,1fr)}}
@media(max-width:800px){nav div{display:flex;gap:14px}nav .brand{width:100%}.hero-grid{padding-top:25px}.hero figure img{height:250px}.quickfacts{margin:0;padding-top:20px}.explorer-layout{grid-template-columns:1fr}.day-selector{grid-template-columns:repeat(4,1fr)}.leg-strip{grid-template-columns:repeat(2,1fr)}.section{padding:42px 18px}.map-wrap{min-height:0}#map{height:400px}.map-card{padding:20px}.day-detail,.phone-log{padding:18px}.story-grid img{height:240px}.decision>div:last-child{padding:24px}.closing div{padding:24px}.stats b{font-size:24px}.stats span{font-size:12px}.gallery{columns:2 130px}.archive-head label{width:100%}#timelineEvents{max-height:360px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.chart-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:22px 0 16px}.chart-controls label{font-size:14px}.chart-controls select{background:var(--navy);color:white;border:1px solid #ffffff55;padding:10px;max-width:100%;flex:1;min-width:230px}.chart-actions{display:flex;flex-wrap:wrap;gap:8px}.chart-actions button{background:transparent;border:1px solid #ffffff55;color:white;padding:9px 12px;font-size:14px}.chart-actions button:hover:not(:disabled){background:#ffffff18}.chart-actions button:disabled{opacity:.35;cursor:default}.chart-range{display:grid;grid-template-columns:1fr 1fr;gap:24px}.chart-range label{font-size:14px;color:#d9e5ea}.chart-range output{float:right;color:var(--sand);font-weight:700}.chart-range input{display:block;width:100%;margin:12px 0;accent-color:var(--orange)}#chartRangeNote{line-height:1.5;margin:8px 0 16px;color:#c3d1d7}.profile-plot{position:relative;height:330px}.bookends{display:block}.bookends .bookend-intro{padding:26px 0;background:none;max-width:760px}.bookend-photos{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:0!important;background:none!important}.bookend-photos figure{margin:0;background:var(--navy);color:white;min-width:0}.bookend-photo{display:block;border:0;padding:0;width:100%;background:var(--navy)}.bookend-photos img{width:100%;height:390px;object-fit:contain}.bookend-photos figcaption{padding:16px 20px}.bookend-photos b,.bookend-photos span{display:block}.bookend-photos span{font-size:14px;color:#c3d1d7;margin-top:5px}
@media(max-width:800px){.chart-range{gap:16px}.chart-controls select{flex-basis:100%;min-width:0}.profile-plot{height:290px}.bookend-photos{grid-template-columns:1fr}.bookend-photos img{height:330px}}
.chart-click-hint{font-size:14px;color:var(--sand);margin:12px 0 18px}.chart-linked-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:20px;align-items:start}.chart-linked-layout .profile-plot{height:420px;min-width:0}#profileChart{cursor:crosshair}.chart-location{min-width:0;border:1px solid #ffffff25;background:var(--navy)}.chart-location h4{margin:0;padding:12px 14px;font-size:16px}#chartMap{height:260px;background:#dde4e5}#chartLocationReadout{padding:14px;font-size:14px}#chartLocationReadout>p{margin:6px 0 12px;line-height:1.5;color:#c3d1d7}#chartLocationReadout dl{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0}#chartLocationReadout dl div:last-child{grid-column:1/-1}#chartLocationReadout dt{font-size:12px;color:#c3d1d7}#chartLocationReadout dd{font-weight:700;margin:4px 0 0;font-size:15px}#chartMap .leaflet-control{color:#18313f}#chartMap .leaflet-control-attribution{font-size:10px}
@media(max-width:900px){.chart-linked-layout{grid-template-columns:1fr}.chart-linked-layout .profile-plot{height:300px}#chartMap{height:300px}}
.bookends{margin-bottom:30px;border-top:3px solid var(--orange);padding-top:12px}.bookend-photos figcaption b{font-size:20px}.date-review-section{padding-top:0}.date-review-section details{border:1px solid #d9d3c5;background:white;padding:22px}.date-review-section summary{font-size:18px;font-weight:700;cursor:pointer}.date-review-intro{max-width:760px}.date-review-intro h2{font-size:32px;margin:24px 0 12px}.date-review-intro p{line-height:1.6;color:var(--muted)}.date-review-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:25px}.date-review-grid figure{margin:0;border:1px solid #d9d3c5;background:var(--paper);min-width:0}.date-review-grid .photo-button img{height:200px;object-fit:contain;background:var(--navy)}.date-review-grid figcaption{padding:12px}.date-review-grid b{display:block;font-size:22px;color:var(--navy)}.date-review-grid small{display:block;font-size:12px;color:var(--muted);overflow-wrap:anywhere;margin-top:5px}.review-dates-link{font-size:14px;color:var(--blue)}
@media(max-width:800px){.date-review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.date-review-grid .photo-button img{height:160px}.date-review-section details{padding:16px}}
.fog-notes{margin-top:22px;border-top:1px solid #ffffff30;padding-top:18px}.fog-notes h4{margin:0 0 8px;font-size:17px;color:var(--sand)}.fog-notes>p{font-size:14px;color:#c3d1d7;line-height:1.6;margin:0 0 14px}.fog-events{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fog-events article{border:1px solid #ffffff30;padding:14px;background:#102a3a}.fog-events b,.fog-events span{display:block;font-size:14px}.fog-events span{color:#c3d1d7;margin-top:8px}.fog-events button{border:1px solid #ffffff55;padding:9px 12px;margin-top:12px;background:none;color:white;font-size:14px}.fog-events button:hover{background:#ffffff18}@media(max-width:650px){.fog-events{grid-template-columns:1fr}}
#lightbox{padding:48px 54px 0;max-width:min(1100px,96vw)}#lightbox img{max-width:min(980px,calc(96vw - 108px));max-height:72vh}#lightboxClose{z-index:2;width:44px;height:44px}#lightbox .slideshow-arrow{top:50%;transform:translateY(-50%);width:46px;height:64px;font-size:42px;line-height:1;background:#ffffff20;border:1px solid #ffffff40;border-radius:4px;z-index:1}#lightbox .slideshow-arrow.previous{left:4px;right:auto}#lightbox .slideshow-arrow.next{right:4px;left:auto}#lightbox .slideshow-arrow:hover:not(:disabled){background:#ffffff40}#lightbox .slideshow-arrow:disabled{opacity:.25;cursor:default}.slideshow-caption{padding:12px 0 16px}.slideshow-caption p{padding:6px 0 0;line-height:1.5;font-size:14px}#photoPosition{font-size:13px;color:#c3d1d7;font-variant-numeric:tabular-nums}@media(max-width:600px){#lightbox{padding:48px 48px 0}#lightbox img{max-width:calc(96vw - 96px)}#lightbox .slideshow-arrow{width:44px;height:56px}}
