@font-face{font-family:'Public Sans';src:url('fonts/public-sans.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
:root{color-scheme:light;--bg:#f7f6f2;--panel:#fff;--text:#252b27;--muted:#69716b;--line:#dcded6;--button:#eceee8;--accent:#bf542f;--local:#e9ede3;--polar:#aaaeb6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--text);font:400 20px/1.6 'Public Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}a:hover{color:var(--accent)}button,input,select{font:inherit}button,select,summary{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.width{max-width:1180px;width:calc(100% - 96px);margin-inline:auto}header{display:flex;align-items:center;justify-content:space-between;padding-block:28px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-size:18px;font-weight:680;letter-spacing:-.5px}.brand-sun{display:inline-block;position:relative;overflow:hidden;width:25px;height:25px;border:1.5px solid var(--accent);border-radius:50%}.brand-sun:before{content:'';position:absolute;left:4px;right:4px;height:15px;top:10px;background:var(--accent);border-radius:50% 50% 0 0}.brand-sun:after{content:'';position:absolute;left:-1px;right:-1px;top:14px;height:10px;background:var(--bg);border-top:1.5px solid var(--accent)}.appearance select{color:var(--text);background:transparent;border:1px solid var(--line);border-radius:20px;font-size:15px;padding:7px 29px 7px 15px;max-width:175px}.intro{padding-top:78px;padding-bottom:58px}.intro-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:55px;align-items:end}h1,h2,p{margin:0}h1{font-size:clamp(44px,4.9vw,65px);font-weight:650;line-height:1.13;letter-spacing:-2.5px}h1>span{color:var(--accent)}.lead{font-size:23px;line-height:1.5;letter-spacing:-.4px;max-width:400px;padding-bottom:2px}.lead strong{font-weight:620}.schedule{margin-top:55px;display:grid;grid-template-columns:repeat(4,1fr);position:relative}.schedule:before{content:'';height:1px;background:var(--line);position:absolute;left:0;right:0;top:0}.schedule>div{position:relative;padding-top:23px}.schedule>div:before{content:'';position:absolute;top:-4px;left:0;width:9px;height:9px;background:var(--bg);border:1.5px solid var(--accent);border-radius:50%}.schedule span{font-size:17px;color:var(--muted);display:block}.schedule b{font-size:29px;font-weight:500;display:block;letter-spacing:-1px;margin-top:3px}.intro-aside{font-size:17px;color:var(--muted);margin-top:26px;display:flex;gap:15px;align-items:center}.intro-aside>a{font-size:21px;text-decoration:none;color:var(--accent)}h2{font-size:30px;line-height:1.25;letter-spacing:-1px;font-weight:620}.map-section{padding:31px 32px 25px;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:0 4px 24px #24302004}.map-top{display:flex;justify-content:space-between;gap:20px;align-items:center}.map-top h2{font-size:26px;letter-spacing:-.8px}.map-controls{display:flex;gap:17px;align-items:center}.toggle{display:flex;gap:3px;padding:4px;border:1px solid var(--line);border-radius:8px}.toggle button{border:0;background:transparent;padding:7px 11px;border-radius:5px;color:var(--muted);font-size:15px;white-space:nowrap;font-weight:480;line-height:1.4}.toggle button[aria-pressed=true]{background:var(--text);color:var(--panel)}.toggle button:hover:not([aria-pressed=true]){color:var(--text);background:var(--button)}.date-control{display:flex;align-items:center;gap:25px;margin:27px 0 10px}.date-control input{appearance:none;background:transparent;height:26px;width:100%;cursor:pointer;accent-color:var(--accent);margin:0}.date-control input::-webkit-slider-runnable-track{height:4px;background:linear-gradient(to right,var(--accent) 0,var(--accent) var(--progress,47%),var(--line) var(--progress,47%),var(--line) 100%);border-radius:2px}.date-control input::-moz-range-track{height:4px;background:var(--line);border-radius:2px}.date-control input::-moz-range-progress{height:4px;background:var(--accent)}.date-control input::-webkit-slider-thumb{appearance:none;height:15px;width:15px;background:var(--accent);border:3px solid var(--panel);box-shadow:0 0 0 1px var(--accent);border-radius:50%;margin-top:-5.5px}.date-control input::-moz-range-thumb{height:11px;width:11px;background:var(--accent);border:2px solid var(--panel);box-shadow:0 0 0 1px var(--accent);border-radius:50%}.date-control output{font-size:17px;font-weight:550;flex-shrink:0;min-width:128px;text-align:right;font-variant-numeric:tabular-nums}.map{position:relative;aspect-ratio:1100/690;width:100%}.map canvas,.map svg{position:absolute;inset:0;width:100%;height:100%;display:block}.map svg{touch-action:pan-y}.map svg path{fill:transparent;stroke:var(--panel);stroke-width:.7;stroke-opacity:.65;cursor:crosshair;outline:none}.map svg path:hover,.map svg path:focus-visible{stroke:var(--text);stroke-opacity:1;stroke-width:1.4}.map svg path:focus-visible{fill:#ffffff25}.map svg .selected-point{pointer-events:none;fill:var(--text);stroke:var(--panel);stroke-width:2;stroke-opacity:1}#map-loading{position:absolute;left:0;top:35%;width:100%;text-align:center;color:var(--muted);font-size:18px}.legend{max-width:610px;margin:6px auto 22px}.legend>div:first-child{height:9px;border-radius:3px}.legend-labels{display:flex;justify-content:space-between;margin-top:8px;font-size:15px;font-variant-numeric:tabular-nums}.polar-key{font-size:14px;color:var(--muted);display:flex;align-items:center;gap:7px;justify-content:end;margin-top:7px}.polar-key span{display:inline-block;width:11px;height:11px;background:var(--polar);border-radius:2px}.place-time{font-size:18px;text-align:center;line-height:1.6;min-height:55px;border-top:1px solid var(--line);padding-top:20px}.place-time strong{font-weight:600}.place-time span{color:var(--muted);margin:0 6px}#solar-note{font-size:15px;color:var(--muted);text-align:center;padding-top:12px;max-width:680px;margin-inline:auto}.argument{padding-block:76px 68px}.argument-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px}.argument article p{margin-top:20px;font-size:20px;line-height:1.65;max-width:520px}.argument article p+p{margin-top:17px}.argument a,.local-policy a{color:inherit;text-decoration-color:var(--line);text-decoration-thickness:2px}.argument a:hover,.local-policy a:hover{color:var(--accent);text-decoration-color:var(--accent)}.local-policy{display:grid;grid-template-columns:1fr 1.6fr;gap:70px;align-items:start;background:var(--local);padding:41px 42px;border-radius:10px}.local-policy h2{font-size:31px;line-height:1.3;letter-spacing:-1px;max-width:330px}.local-policy p{font-size:19px;line-height:1.65;max-width:680px}.local-policy p+p{margin-top:18px}.closing{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-block:72px 66px}.closing h2{font-size:36px;letter-spacing:-1.4px}.closing p{font-size:19px;color:var(--muted);line-height:1.55;margin-top:16px}.contact-link{display:flex;gap:24px;justify-content:space-between;align-items:center;font-size:16px;font-weight:550;padding:14px 19px;border-radius:6px;background:var(--text);color:var(--bg);text-decoration:none;white-space:nowrap}.contact-link:hover{color:var(--bg);background:var(--accent)}.contact-link span{font-size:21px}footer{padding:24px 0 40px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:start;gap:30px}footer>details{flex:1}summary{color:var(--muted);font-size:16px;width:fit-content;list-style:none;display:flex;align-items:center;gap:11px}summary::-webkit-details-marker{display:none}summary:before{content:'+';font-size:22px;line-height:1;font-weight:300}details[open] summary:before{content:'−'}.sources{font-size:16px;line-height:1.7;padding:22px 0 0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 30px;max-width:820px;margin:0}.sources a{text-decoration-color:var(--line)}.sources a:hover{text-decoration-color:var(--accent)}.footer-signoff{font-size:15px;color:var(--muted);padding-top:2px}.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}body[data-theme=dark]{color-scheme:dark;--bg:#1b211d;--panel:#222b24;--text:#f0f1e9;--muted:#a6b1a6;--line:#414f43;--button:#334235;--accent:#efa279;--local:#2b392d;--polar:#7d8187}::selection{background:#e4b495;color:#252b27}
@media(max-width:1120px){.width{width:calc(100% - 64px)}.intro-grid{gap:35px;grid-template-columns:1.5fr 1fr}.lead{font-size:21px}h1{font-size:clamp(44px,4.85vw,62px);letter-spacing:-2px}.map-top{align-items:start;flex-direction:column;gap:20px}.map-controls{justify-content:space-between;width:100%}.argument-grid{gap:50px}.local-policy{gap:40px;padding:34px}.local-policy h2{font-size:29px}.local-policy p{font-size:18px}}
@media(max-width:720px){.width{width:calc(100% - 36px)}body{font-size:19px}header{padding-block:20px}.brand{font-size:16px;gap:8px}.brand-sun{width:23px;height:23px}.appearance select{font-size:14px;max-width:155px;padding:6px 23px 6px 10px}.intro{padding-top:43px;padding-bottom:36px}.intro-grid{display:block}h1{font-size:clamp(36px,8.7vw,57px);letter-spacing:-1.7px;line-height:1.15}.lead{font-size:21px;margin-top:24px;max-width:520px;line-height:1.5;padding:0}.schedule{margin-top:33px;gap:12px}.schedule>div{padding-top:17px}.schedule span{font-size:13px;letter-spacing:-.2px}.schedule b{font-size:23px;letter-spacing:-.9px;white-space:nowrap;margin-top:5px}.schedule>div:before{width:7px;height:7px;top:-3px}.intro-aside{font-size:15px;margin-top:23px;gap:8px;line-height:1.5}.intro-aside>a{font-size:19px}.map-section{width:calc(100% - 20px);padding:23px 13px 20px;border-radius:11px}.map-top{gap:18px}.map-top h2{font-size:25px;line-height:1.2;letter-spacing:-.9px;padding-inline:4px}.map-controls{gap:8px;align-items:start;flex-wrap:wrap}.toggle{padding:3px;border-radius:7px;gap:1px}.toggle button{font-size:13px;padding:7px 8px;letter-spacing:-.2px}.date-control{gap:15px;margin:20px 4px 10px}.date-control output{font-size:15px;min-width:105px}.map{margin-inline:-5px;width:calc(100% + 10px)}.legend{margin:17px 5px 18px}.legend-labels{font-size:13px}.polar-key{font-size:12px;margin-top:8px}.place-time{font-size:15px;line-height:1.7;min-height:65px;padding-top:16px}.place-time strong{display:block;font-size:17px}.place-time strong+span{display:none}.place-time span{margin:0 3px}#solar-note{font-size:14px;line-height:1.5;padding:10px 8px 0}.argument{padding-block:43px}.argument-grid{display:block}.argument-grid article+article{margin-top:35px}h2{font-size:27px;letter-spacing:-.8px}.argument article p{font-size:19px;margin-top:17px;line-height:1.65;max-width:none}.argument article p+p{margin-top:15px}.local-policy{display:block;padding:27px 24px;border-radius:9px}.local-policy h2{font-size:28px;max-width:none;line-height:1.25}.local-policy h2 br{display:none}.local-policy p{font-size:18px;line-height:1.65;margin-top:20px}.local-policy p+p{margin-top:16px}.closing{display:block;padding-block:42px 38px}.closing h2{font-size:29px;letter-spacing:-1px}.closing p{font-size:18px;margin-top:16px}.contact-link{font-size:15px;width:fit-content;margin-top:25px;padding:12px 16px;gap:25px}footer{padding-block:22px 30px;gap:20px}summary{font-size:15px}.footer-signoff{font-size:13px;padding-top:4px}.sources{display:block;font-size:15px;padding-top:18px}.sources li+li{margin-top:13px}}
@media(max-width:370px){.brand{font-size:14px}.appearance select{font-size:13px;max-width:141px}.schedule span{font-size:12px}.schedule b{font-size:21px}.toggle button{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* The opening makes the argument before introducing the schedule or map. */
.opening-story{max-width:770px;margin-top:36px}.opening-story p{font-size:21px;line-height:1.7}.opening-story p+p{margin-top:21px}.opening-story a{text-decoration-color:var(--line);text-decoration-thickness:2px}.opening-story a:hover{text-decoration-color:var(--accent)}.proposal-intro{display:grid;grid-template-columns:1fr 1.35fr;gap:80px;margin-top:49px;padding-top:36px;border-top:1px solid var(--line);align-items:start}.proposal-intro h2{font-size:32px;line-height:1.3;letter-spacing:-1.1px}.proposal-intro h2>span{color:var(--accent)}.proposal-intro p{font-size:20px;line-height:1.65}.proposal-intro p+p{margin-top:17px}.proposal-intro strong{font-weight:650}.intro .schedule{margin-top:39px}
@media(max-width:1120px){.proposal-intro{gap:40px}.proposal-intro h2{font-size:29px}}
@media(max-width:720px){.opening-story{margin-top:25px}.opening-story p{font-size:19px;line-height:1.65}.opening-story p+p{margin-top:19px}.proposal-intro{display:block;margin-top:32px;padding-top:27px}.proposal-intro h2{font-size:28px;margin-bottom:21px}.proposal-intro p{font-size:19px;line-height:1.65}.proposal-intro p+p{margin-top:16px}.intro .schedule{margin-top:30px}}
.opening-story p.presenting{font-size:27px;line-height:1.35;font-weight:600;letter-spacing:-.6px;margin-top:30px}.presenting strong{color:var(--accent);font-weight:inherit}
@media(max-width:720px){.opening-story p.presenting{font-size:23px;margin-top:24px}}
/* Offset chart: how far ahead of standard time the clocks run through the year. */
.offset-chart{margin:44px 0 0}.steps{display:flex;align-items:flex-end;gap:2px;height:112px}.steps>div{flex:var(--days) 1 0;min-width:0;position:relative;display:flex;align-items:flex-end;padding:0 10px 9px;border-radius:4px 4px 0 0}.steps span{font-size:15px;font-weight:600;white-space:nowrap}.steps .h0{height:6px;padding:0;border-radius:2px;background:var(--line)}.steps .h0 span{position:absolute;left:0;bottom:15px;font-size:14px;font-weight:450;color:var(--muted)}.steps .h1{height:50%;background:color-mix(in srgb,var(--accent) 38%,var(--bg))}.steps .h2{height:100%;background:var(--accent);color:var(--bg)}.step-labels{position:relative;height:46px;margin-top:10px;font-size:14px;color:var(--muted)}.step-labels span{position:absolute;transform:translateX(-50%);text-align:center;line-height:1.3}.step-labels b{display:block;font-size:16px;font-weight:600;color:var(--text)}
.date-control{align-items:flex-start}.date-control output{line-height:26px}.slider{flex:1;min-width:0}.months{position:relative;height:18px;margin-top:3px;font-size:12px;color:var(--muted)}.months span{position:absolute;transform:translateX(-50%)}.months i{font-style:normal}
.polar-key{font-size:15px}.polar-key span{width:13px;height:13px}
.closing{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding-block:84px 76px}.closing-text p{max-width:470px}.closing-links{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:30px}.contact-link{width:fit-content}.senate-link{font-size:16px;font-weight:550;text-decoration-color:var(--line);text-decoration-thickness:2px}.senate-link:hover{text-decoration-color:var(--accent)}.note{margin:0;padding:24px 28px 22px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 30px #2430200a}.note figcaption{font-size:14px;color:var(--muted);padding-bottom:13px;margin-bottom:16px;border-bottom:1px dashed var(--line)}.note blockquote{margin:0}.closing .note p{font-size:17px;line-height:1.6;color:var(--text);margin:0}.closing .note p+p{margin-top:10px}.copy-note{margin-top:18px;padding:8px 14px;font-size:15px;font-weight:550;color:var(--text);background:var(--button);border:1px solid var(--line);border-radius:6px}.copy-note:hover{color:var(--accent);border-color:var(--accent)}
@media(max-width:720px){.offset-chart{margin-top:32px}.steps{height:84px}.steps>div{padding:0 6px 7px}.steps span{font-size:13px}.steps .h0 span{display:none}.step-labels{font-size:12px;height:40px}.step-labels b{font-size:14px}.months i{display:none}.polar-key{font-size:13px}.closing{display:block;padding-block:46px 40px}.closing-links{margin-top:24px}.closing-links .contact-link{margin-top:0}.senate-link{font-size:15px}.note{margin-top:34px;padding:20px 20px 18px}.closing .note p{font-size:16px;margin:0}.closing .note p+p{margin-top:9px}}
/* Header: no rule under it; the appearance switch is a segmented control like the map's. */
header{border-bottom:0;padding-block:26px 0}.brand{font-size:17px;font-weight:620;letter-spacing:-.3px}.appearance button{display:flex;align-items:center;gap:6px;font-size:14px;padding:6px 11px}.appearance svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;flex-shrink:0}.appearance [data-appearance=dark] svg{fill:currentColor;stroke:none}
@media(max-width:720px){header{padding-block:18px 0}.appearance span{display:none}.appearance button{padding:7px 10px}.appearance svg{width:16px;height:16px}}
.place-time .ev{color:var(--text);margin:0}
/* Wide screens: controls and readout sit beside the map so the whole card fits on a laptop screen. */
@media(min-width:1000px){.map-section{display:grid;grid-template-columns:290px 1fr;grid-template-rows:auto auto auto auto 1fr auto;grid-template-areas:"top map" "date map" "place map" "note map" ". map" ". legend";column-gap:44px;align-items:start}.map-top{grid-area:top;flex-direction:column;align-items:start;gap:20px}.map-top h2{font-size:26px;line-height:1.2}.map-controls{flex-direction:column;align-items:start;gap:10px;width:auto}.date-control{grid-area:date;flex-direction:column;align-items:stretch;gap:4px;margin:30px 0 0}.date-control output{order:-1;text-align:left;font-size:24px;font-weight:600;letter-spacing:-.5px;line-height:1.3;min-width:0}.months i{display:none}#map{grid-area:map}.legend{grid-area:legend;width:100%;max-width:none;margin:14px 0 0}.place-time{grid-area:place;text-align:left;margin-top:26px;padding-top:20px;font-size:17px;line-height:1.55;min-height:0}.place-time strong,.place-time .ev{display:block}.place-time strong{font-size:19px;margin-bottom:2px}.place-time .sep{display:none}#solar-note{grid-area:note;text-align:left;padding-top:14px;margin:0}}
@media(min-width:1000px){#map{width:min(100%,calc((100vh - 170px)*1.594));justify-self:center}}
@media(min-width:1000px){#map,.legend{width:min(100%,calc((100vh - 230px)*1.594));justify-self:center}}
@media(min-width:1000px){.map-section{grid-template-rows:auto auto auto 1fr;grid-template-areas:"top main" "date main" "place main" "note main"}.map-main{grid-area:main;display:flex;flex-direction:column;align-items:center}.date-control{margin-top:24px}.place-time{margin-top:20px;padding-top:16px}}
/* Sun-mode caption lives under the appearance switch now that it follows the visitor, not the map. */
header{flex-wrap:wrap;row-gap:0}header #solar-note{flex-basis:100%;text-align:right;font-size:14px;line-height:1.5;color:var(--muted);padding:10px 0 0;margin:0;max-width:none}
@media(max-width:720px){header #solar-note{font-size:13px;padding:8px 0 0}}
.map svg .selected-point{fill:#fff;stroke:#1b211d;stroke-width:2.5;stroke-opacity:1}
.footer-signoff{margin:0;text-align:right}.footer-signoff a{color:inherit;text-decoration-color:var(--line);text-decoration-thickness:2px}.footer-signoff a:hover{color:var(--accent);text-decoration-color:var(--accent)}
.share-link{padding:0;border:0;background:none;color:inherit;font:inherit;text-decoration:underline;text-decoration-color:var(--line);text-decoration-thickness:2px;text-underline-offset:4px}.share-link:hover{color:var(--accent);text-decoration-color:var(--accent)}
