.td-context-weather{position:relative;margin-top:2.5rem;padding:1.6rem 0 1.2rem;max-width:48rem;border-top:1px solid transparent;border-image:linear-gradient(90deg,rgba(99,155,164,.35),rgba(233,221,186,.65) 32%,rgba(150,163,174,.04)) 1;color:var(--gw-ivory,#eee7da)}
.td-context-weather:before{content:"";position:absolute;inset:0 -1rem;pointer-events:none;background:radial-gradient(ellipse at 18% 24%,rgba(78,124,131,.09),transparent 65%);z-index:-1;mask-image:linear-gradient(90deg,transparent,#000 15%,#000 75%,transparent)}
.td-context-weather p{font-size:.88rem;line-height:1.5;margin:.3rem 0;color:var(--gw-text-secondary,#a7b0b9)}
.td-weather-symbol{width:1.5rem;height:1.5rem;flex-shrink:0;color:#a6bdc0}
.td-weather-current{display:flex;align-items:center;gap:1.25rem;margin:1.65rem 0 1.9rem}
.td-weather-current>.td-weather-symbol{width:3.4rem;height:3.4rem;stroke-width:.8;color:#c1d0cf}
.td-weather-temperature{font-family:var(--gw-font-serif,Georgia,serif);font-size:clamp(3.8rem,6vw,5.2rem);line-height:.95;letter-spacing:-.045em;font-variant-numeric:tabular-nums;color:#f0ece2}
.td-weather-temperature small{font-family:inherit;font-size:.38em;letter-spacing:0;color:#a6b9ba;vertical-align:top;margin-left:.2em}
.td-context-weather .td-weather-condition{margin-top:.65rem;color:#c6d0cd;font-size:1rem}
.td-context-weather .td-weather-current-meta{margin-left:auto;text-align:right;line-height:1.8}
.td-weather-decisions{display:grid;grid-template-columns:1fr 1.1fr;gap:2.25rem;margin:0 0 1.9rem}
.td-weather-guidance,.td-context-window{display:flex;align-items:flex-start;gap:.75rem;min-width:0}
.td-weather-guidance>.td-weather-symbol,.td-context-window>.td-weather-symbol{margin-top:.2rem;width:1.25rem;height:1.25rem;color:#afbead}
.td-context-weather .td-context-window-label{font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gw-slate,#99a8b3);margin:0 0 .4rem}
.td-context-weather h3,.td-context-weather .td-context-window-time{font-family:var(--gw-font-serif,Georgia,serif);font-size:1.32rem;font-weight:400;line-height:1.35;margin:0;color:var(--gw-ivory,#eee7da)}
.td-context-weather .td-weather-window-detail{font-size:.8rem;margin-top:.5rem}
.td-weather-timeline{position:relative;height:7.2rem;margin:0 .3rem;border-top:1px solid rgba(144,174,178,.25)}
.td-weather-hour{position:absolute;top:1.15rem;display:flex;flex-direction:column;align-items:center;gap:.55rem;transform:translateX(-50%);font-variant-numeric:tabular-nums;white-space:nowrap}
.td-weather-hour-time{font-size:.68rem;color:#92a3ad;letter-spacing:.025em}.td-weather-hour-temp{font-size:.95rem;color:#d7ded9}
.td-weather-hour .td-weather-symbol{width:1.4rem;height:1.4rem;color:#94acb2}
.td-weather-window-band{position:absolute;top:-1px;height:2px;background:linear-gradient(90deg,#6c9a9e,#d6d5bf,#88acae);box-shadow:0 0 9px rgba(137,180,183,.25)}
.td-weather-window-band:after{content:"";position:absolute;inset:2px 0 -5rem;background:linear-gradient(rgba(103,158,161,.08),transparent);pointer-events:none}
.td-weather-now-marker{position:absolute;top:-.22rem;width:4px;height:4px;border-radius:50%;background:#d9dacb;box-shadow:0 0 6px rgba(224,225,202,.25);transform:translateX(-50%)}
.td-weather-now-marker span{position:absolute;bottom:.55rem;left:50%;transform:translateX(-50%);font-size:.61rem;color:#bfc7c2}
.td-context-weather .td-weather-daylight{margin:.1rem 0;color:#889da6;font-size:.73rem}
.td-context-weather .td-context-insight{margin-top:1rem;max-width:38rem;font-size:.86rem;color:var(--gw-text-secondary,#a7b0b9)}
@media(max-width:600px){.td-context-weather{margin-top:1.7rem;padding-top:1.2rem}.td-weather-current{gap:1rem;margin:1.5rem 0 1.7rem}.td-weather-current>.td-weather-symbol{width:2.4rem;height:2.4rem}.td-weather-temperature{font-size:4rem}.td-context-weather .td-weather-current-meta{font-size:.75rem}.td-weather-decisions{gap:1.4rem;grid-template-columns:1fr;margin-bottom:2rem}.td-context-weather h3,.td-context-weather .td-context-window-time{font-size:1.3rem}.td-weather-hour-time{font-size:.63rem}.td-weather-hour-temp{font-size:.85rem}.td-weather-timeline{margin-left:.3rem;margin-right:.3rem}.td-weather-hour .td-weather-symbol{width:1.2rem;height:1.2rem}}

.td-context-weather .td-weather-place{text-transform:none;letter-spacing:.04em}
/* One remaining-day reading, followed by its evidence. No target or chart furniture. */
.td-context-weather .td-weather-headline{font-size:clamp(1.65rem,3vw,2.15rem);line-height:1.2;margin:1.35rem 0 .7rem;max-width:30ch}
.td-context-weather .td-weather-explanation{max-width:64ch;font-size:.86rem;line-height:1.65}
.td-weather-scroll{overflow-x:auto;max-width:100%;padding-top:1.35rem;scrollbar-width:thin;scrollbar-color:#53676c transparent}
.td-weather-timeline{height:10rem;margin:0 2.8rem}
.td-weather-hour{gap:.45rem}
.td-weather-rain-chance{font-size:.73rem;color:#b5c9ca}
.td-weather-rain-amount{font-size:.75rem;color:#9aafb9}
.td-weather-explainer{margin-top:1rem;max-width:60ch;font-size:.8rem;color:#9cacb1}
.td-weather-explainer summary{cursor:pointer;width:fit-content;padding:.55rem 0;min-height:44px}
.td-weather-explainer summary:focus-visible{outline:1px solid #d0b984;outline-offset:5px}
.td-weather-explainer p{font-size:.8rem;line-height:1.7}
@media(max-width:600px){.td-context-weather .td-weather-headline{font-size:1.7rem}.td-weather-current{flex-wrap:wrap}.td-context-weather .td-weather-current-meta{max-width:15ch}.td-weather-hour-time{font-size:.66rem}}
.td-weather-scroll:focus-visible{outline:1px solid #adbaae;outline-offset:3px}
@media(max-width:600px){
 .td-weather-current{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.8rem 1rem;align-items:center}
 .td-weather-current>div{min-width:0}
 .td-context-weather .td-weather-condition{font-size:.85rem;line-height:1.5}
 .td-context-weather .td-weather-current-meta{grid-column:2;max-width:none;margin:0;text-align:left;line-height:1.6}
}
/* Read the forecast as decisions, then inspect any hour as an open instrument. */
.td-context-weather .td-weather-receipt{font-size:.73rem;color:#8fa1a9}
.td-context-weather .td-weather-total-scope{font-size:.72rem;color:#8fa1a9;margin-top:.45rem}
.td-weather-temperature{font-size:clamp(2.4rem,4vw,3rem)}
.td-weather-current{margin:1.25rem 0 1.6rem;gap:1rem}
.td-weather-current>.td-weather-symbol{width:2rem;height:2rem}
.td-context-weather .td-weather-condition{font-size:.8rem;max-width:36ch}
.td-context-weather .td-weather-current-meta{font-size:.8rem}
.td-weather-timeline{height:15rem}
button.td-weather-hour{appearance:none;background:none;border:0;border-radius:0;padding:.35rem .4rem .65rem;min-width:126px;width:126px;font-family:inherit;line-height:1.3;color:inherit;cursor:pointer;white-space:normal;gap:.3rem;box-shadow:none}
button.td-weather-hour:hover{background:linear-gradient(transparent,rgba(102,151,156,.07),transparent)}
button.td-weather-hour:focus-visible{outline:1px solid #c5c9b2;outline-offset:2px}
button.td-weather-hour[aria-pressed="true"]{background:linear-gradient(transparent,rgba(102,151,156,.12),transparent)}
.td-weather-hour-time{font-size:.75rem;white-space:nowrap}
.td-weather-hour .td-weather-rain-chance{font:500 1.75rem/1.1 var(--gw-font-serif,Georgia,serif);color:#e1e9e1;letter-spacing:-.02em}
.td-weather-rain-chance small{font:400 .7em/1 var(--sans);color:#99b4b8}
.td-weather-chance-label{font-size:.77rem;color:#bdcfca;min-height:2.55em;display:flex;align-items:flex-start;justify-content:center;max-width:15ch}
.td-weather-rain-amount{font-size:.95rem;color:#c0cbd0}
.td-weather-amount-label{font-size:.72rem;color:#94a8af;min-height:2.5em;max-width:15ch}
.td-weather-hour-temp{font-size:.75rem;color:#8fa3ad}
.td-weather-explainer{min-height:3rem}
.td-context-weather .td-weather-selected-time{font-size:.72rem;letter-spacing:.04em;color:#b3c4c2}
.td-weather-selected-explanation{max-width:60ch}
@media(max-width:600px){.td-weather-temperature{font-size:2.7rem}.td-weather-current{margin:1rem 0 1.5rem}.td-weather-hour-time{font-size:.75rem}.td-weather-current>.td-weather-symbol{width:1.7rem;height:1.7rem}}

.td-context-weather{overflow-anchor:none}

/* Closing daylight instrument: a time-progress arc, not an astronomical elevation plot. */
.td-weather-sun-card{margin-top:1.65rem;padding:1rem clamp(1rem,3vw,1.8rem) .8rem;border:1px solid rgba(126,140,160,.24);border-radius:1.4rem;background:linear-gradient(145deg,rgba(27,30,37,.6),rgba(31,34,41,.25));max-width:100%}
.td-weather-sun-arc{display:block;width:min(100%,340px);height:auto;margin:-.15rem auto -.65rem}
.td-weather-sun-times{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;border-top:1px solid rgba(126,140,160,.22);padding-top:.7rem}
.td-context-weather .td-weather-sun-times p{display:flex;flex-direction:column;gap:.12rem;margin:0}
.td-weather-sun-times p:last-child{text-align:right}
.td-weather-sun-times span{font-size:.78rem;color:#a7b1b8}
.td-weather-sun-times strong{font-size:1.35rem;font-weight:500;font-variant-numeric:tabular-nums;color:#eee9dc}
.td-context-weather .td-weather-sun-status{font-size:.84rem;text-align:center;color:#e3c77d;margin:1rem 0 .15rem;font-variant-numeric:tabular-nums}
@media(max-width:600px){.td-weather-sun-card{padding:.65rem 1rem .85rem;border-radius:1.1rem}.td-weather-sun-arc{max-width:270px}.td-weather-sun-times strong{font-size:1.2rem}.td-context-weather .td-weather-sun-status{font-size:.8rem}}
