:root{font-family:Arial,Helvetica,sans-serif;color:#293b44;background:#f8f7f2;font-synthesis:none;--paper: #f8f7f2}*{box-sizing:border-box}body{margin:0}main{max-width:1600px;margin:auto;padding:12px 58px 32px}.artwork{width:min(100%,860px,calc(100svh - 160px));margin:0 auto}.solar-calendar{display:block;width:100%;height:auto;overflow:visible}.day{cursor:pointer;transition:filter .12s;outline:none}.day.active,.day:hover,.day:focus-visible{filter:brightness(1.15);stroke:#263e4c;stroke-width:1.15}.day.selected{stroke:#243c4d;stroke-width:1.5}.months{fill:#4f6167;font-size:10px;letter-spacing:2px}.month-divider{stroke:#7c8888;stroke-width:.7}.center-title{text-anchor:middle;fill:#33424a;font-family:Georgia,Times New Roman,serif}.the{font-size:19px;letter-spacing:9px;transform:translate(4px)}.year{font-size:31px;letter-spacing:5.7px;transform:translate(3px)}.seasons{font-size:8.5px;text-anchor:middle;fill:#6d7a7b;letter-spacing:2px}.today-marker{fill:#384e59}.season-notches{stroke:#526763;stroke-width:.65;stroke-opacity:.65;fill:none;pointer-events:none}.day-readout{max-width:920px;margin:-6px auto 0;display:grid;grid-template-columns:1fr 1fr 1.3fr;align-items:start;border-top:1px solid #d9ddd5;padding-top:28px;min-height:100px}.eyebrow{font-size:8px;letter-spacing:1.8px;color:#7e8985;display:flex;align-items:center;gap:8px;line-height:1.5}.tiny-dot{width:4px;height:4px;background:#af9454;border-radius:50%}h1{font-family:Georgia,serif;font-size:28px;font-weight:400;margin:9px 0 0;letter-spacing:-.5px}.readout-light{padding-left:28px;border-left:1px solid #d9ddd5}.readout-light p{font-family:Georgia,serif;font-size:26px;margin:9px 0 0;font-variant-numeric:tabular-nums}.daylight-unit{font-family:Arial,sans-serif;font-size:10px;color:#87908b;margin-left:11px}button,input{font:inherit}button{color:inherit}.location-section{position:relative;z-index:2;min-width:0;margin:0;padding-left:28px;border-left:1px solid #d9ddd5}.location-line{display:flex;flex-direction:column;align-items:flex-start;gap:9px;margin-top:9px}.location-current{display:flex;align-items:baseline;gap:9px;margin:0;font-size:11px;line-height:1.7;max-width:100%}.location-latitude{font-variant-numeric:tabular-nums;letter-spacing:.8px;white-space:nowrap}.location-dot{color:#a4aaa0}.location-name{color:#7a8580;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.location-actions{display:flex;align-items:baseline;flex-wrap:wrap;gap:18px}.text-button{padding:4px 0;border:0;background:none;text-decoration:underline;text-decoration-color:#bec3b8;text-underline-offset:5px;text-decoration-thickness:1px;font-size:10px;cursor:pointer;white-space:nowrap;color:#526663}.text-button:hover{color:#263e4c;text-decoration-color:currentColor}.text-button:focus-visible,.place-result:focus-visible{outline:1px solid #718581;outline-offset:5px}.text-button:disabled{cursor:wait;opacity:.65}.location-arrow{margin-left:6px;font-size:12px;text-decoration:none;display:inline-block}.location-chevron{display:inline-block;margin-left:8px;text-decoration:none;font-size:12px}.place-control{position:relative}.place-panel{position:absolute;right:0;bottom:calc(100% + 18px);width:350px;max-height:min(560px,calc(100dvh - 100px));overflow-y:auto;background:var(--paper);border:1px solid #d9ddd5;padding:25px;box-shadow:0 8px 30px #283d4410}.place-panel .eyebrow{font-size:7px;letter-spacing:1.3px;line-height:1.7}.place-panel input{width:100%;padding:17px 0 13px;margin-top:5px;background:transparent;border:0;border-bottom:1px solid #9ca99e;border-radius:0;color:#293b44;font-family:Georgia,serif;font-size:19px;outline:none}.place-panel input:focus{border-color:#344e59}.place-panel input::placeholder{color:#969e93;font-size:18px}.place-result{display:flex;align-items:center;justify-content:space-between;gap:15px;text-align:left;width:100%;border:0;border-bottom:1px solid #e2e4da;padding:13px 0;background:transparent;cursor:pointer;font-size:11px}.place-result:hover{background:#eff0e8}.place-result>span:last-child{white-space:nowrap;color:#73837d;font-size:10px}.place-result small{display:block;font-size:9px;color:#8a958b;margin-top:5px;line-height:1.5}.place-help,.search-message,.location-notice{font-size:10px;line-height:1.7;color:#7b8980}.place-help{margin:17px 0 0;font-size:9px}.search-message{margin:15px 0}.search-credit{font-size:8px;text-underline-offset:3px;color:#8b958a;display:inline-block;margin-top:15px}.location-notice{text-align:left;margin:12px 0 0}.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}@media(min-width:651px)and (max-width:900px){main{padding-left:35px;padding-right:35px}.day-readout{grid-template-columns:.85fr .85fr 1.3fr}.readout-light,.location-section{padding-left:20px}.location-actions{gap:13px}.daylight-unit{display:block;margin:5px 0 0}}@media(max-width:650px){main{padding:10px 22px 30px}.artwork{width:calc(100% + 38px);margin:0 -19px}.months{font-size:12px;letter-spacing:1.5px}.seasons{font-size:10px;letter-spacing:1px}.year{font-size:34px;letter-spacing:4px}.the{font-size:21px}.day-readout{grid-template-columns:1fr 1fr;margin-top:15px;padding-top:24px;row-gap:28px}.readout-light{padding-left:20px}h1{font-size:25px}.readout-light p{font-size:24px}.eyebrow{font-size:7px;letter-spacing:1.2px}.daylight-unit{display:block;margin:5px 0 0;font-size:9px}.location-section{grid-column:1 / -1;border-left:0;border-top:1px solid #e3e5dc;padding:22px 0 0}.location-line{gap:11px}.location-actions{gap:23px}.text-button{font-size:11px;padding:6px 0}.place-panel{position:fixed;left:22px;right:22px;bottom:24px;width:auto;max-height:calc(100dvh - 48px);padding:22px}}@media(max-width:650px),(hover:none)and (pointer:coarse){html,body{overscroll-behavior-y:none}}@media(prefers-reduced-motion:reduce){.day{transition:none}}@media print{main{padding:0}.day-readout{display:none}.artwork{width:100%;margin:0}.day{filter:none!important}.solar-calendar{width:100%}}.daylight-reference circle{fill:none;stroke:#51675f;stroke-width:.6;stroke-opacity:.5}.daylight-reference text{fill:#60746b;font:8px Arial,sans-serif;letter-spacing:1px}.zero-day-targets path{cursor:pointer}.view-toggle{display:inline-flex;align-items:center;gap:7px;margin-top:11px;padding:4px 0;color:#718078;border:0;background:none;font-size:9px;cursor:pointer}.view-toggle:hover{color:#344e49}.view-toggle:focus-visible{outline:1px solid #718581;outline-offset:4px}.view-toggle-track{position:relative;display:inline-block;width:20px;height:11px;border:1px solid #a9b2a6;border-radius:8px}.view-toggle-track:after{content:"";position:absolute;left:2px;top:2px;width:5px;height:5px;border-radius:50%;background:#a0aa9e}.view-toggle[aria-checked=true]{color:#405c54}.view-toggle[aria-checked=true] .view-toggle-track{border-color:#71867b}.view-toggle[aria-checked=true] .view-toggle-track:after{left:11px;background:#607d70}@media(max-width:650px){.view-toggle{padding:6px 0;margin-top:9px}}.view-options{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;column-gap:15px}.artwork{position:relative}.mobile-place-trigger,.mobile-sheet-header,.mobile-use-location,.place-backdrop{display:none}.touch-wheel{touch-action:pinch-zoom;pointer-events:stroke}@media(max-width:650px),(max-width:1000px)and (max-height:500px)and (pointer:coarse){main{max-width:520px;min-height:100svh;padding:max(20px,env(safe-area-inset-top)) 14px max(20px,env(safe-area-inset-bottom));display:flex;flex-direction:column;justify-content:center}.artwork{flex:none;width:calc(100% + 20px);margin:0 -10px}.center-title{display:none}.day.selected,.day.active{stroke-width:3}.season-notches{stroke-width:1.5}.mobile-state{font-size:8px;line-height:1.4;letter-spacing:1.5px;color:#7e8985}.mobile-duration{font:34px/1.15 Georgia,serif;font-variant-numeric:tabular-nums;letter-spacing:-.8px;margin:6px 0 0;color:#293b44;font-size:32px;line-height:1.1}.mobile-light-caption{font-size:10px;color:#7b8980;margin-top:3px}.mobile-place-trigger:focus-visible,.mobile-sheet-header button:focus-visible{outline:1px solid #718581;outline-offset:2px}.day-readout{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin:16px 0 0;padding-top:12px;min-height:0}.readout-date,.readout-light>.eyebrow,.readout-light>p{display:none}.readout-light{grid-column:2;grid-row:1;border:0;padding:0}.view-toggle{min-height:44px;margin:0;padding:10px 0 10px 8px;font-size:10px}.location-section{grid-column:1;grid-row:1;border:0;padding:0;z-index:2}.location-section>.eyebrow,.location-current,.location-actions>.text-button{display:none}.location-line,.location-actions{display:block;margin:0}.place-control{width:100%}.place-control>.text-button{display:none}.mobile-place-trigger{display:flex;width:100%;min-height:52px;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;text-align:left;padding:4px 0;border:0;background:transparent}.mobile-place-name{font-size:14px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#344b50}.mobile-place-meta{font-size:10px;color:#7b8980;line-height:1.5}.place-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;background:#243c4d30;z-index:10}.place-panel{position:fixed;left:0;right:0;width:calc(100% - 24px);max-width:520px;margin:0 auto;bottom:0;padding:16px 22px max(20px,env(safe-area-inset-bottom));border-radius:20px 20px 0 0;border-bottom:0;z-index:11;overflow-y:auto;overscroll-behavior:contain;scroll-padding-bottom:20px;box-shadow:0 -10px 40px #283d441a}.mobile-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:2px}.mobile-sheet-header h2{font:24px Georgia,serif;font-weight:400;margin:0}.mobile-sheet-header button{min-width:60px;min-height:44px;border:0;padding:8px 0 8px 12px;background:transparent;font-size:12px;color:#526663}.mobile-sheet-header button span{padding-left:6px;font-size:20px}.mobile-use-location{display:block;min-height:44px;padding:10px 0;margin-bottom:12px;font-size:12px}.place-panel .eyebrow{font-size:9px;letter-spacing:1.1px}.place-panel input{font-size:22px;padding:14px 0}.place-panel input::placeholder{font-size:20px}.place-result{min-height:56px;font-size:14px}.place-result small{font-size:11px;line-height:1.5}.place-result>span:last-child{font-size:11px}.place-help,.search-message,.location-notice{font-size:12px}.search-credit{font-size:10px;min-height:44px;padding:15px 0}.mobile-place-meta svg,.mobile-use-location svg{display:inline-block;vertical-align:-1px;margin-left:2px}}@media(max-width:1000px)and (max-height:500px)and (pointer:coarse){main{display:grid;max-width:1000px;grid-template-columns:minmax(0,1.2fr) minmax(200px,.8fr);gap:0 24px;align-items:center;padding:max(12px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));grid-template-rows:1fr auto auto 1fr}.artwork{grid-column:1;width:min(100%,calc(100svh - 24px));margin:0 auto;grid-row:1 / 5}.day-readout{grid-column:2;align-self:start;display:flex;flex-direction:column;align-items:stretch;gap:4px;margin:10px 0 0;grid-row:3}.view-toggle{padding-left:0}.location-section{order:0}.readout-light{order:1}}@media print{.center-title{display:block}}.mobile-readout{display:none}@media(max-width:650px),(max-width:1000px)and (max-height:500px)and (pointer:coarse){.center-title{display:block}.mobile-readout{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;width:100%;margin-top:22px;padding:0 0 4px}.mobile-readout h1{font-size:23px;margin:5px 0 0}.mobile-daylight{text-align:right}.mobile-duration{font-size:28px;margin:0}.mobile-light-caption{display:block;margin-top:5px}.day-readout{margin-top:18px}}@media(max-width:1000px)and (max-height:500px)and (pointer:coarse){main{grid-template-rows:1fr 1fr}.artwork{grid-row:1 / 3}.mobile-readout{grid-column:2;grid-row:1;align-self:end;margin:0 0 18px}.mobile-readout h1{font-size:21px}.day-readout{grid-row:2;margin:0}}@media print{.mobile-readout{display:none}}@media(max-width:1000px)and (max-height:500px)and (pointer:coarse){.solar-calendar{width:auto;max-width:100%;height:calc(100svh - 24px);margin-inline:auto}}
