:root{--sky:#5e9fd8;--panel:#12386629;--panel-line:#fff3;--panel-strong:#12386642;--ink:#fff;--ink-2:#ffffffd1;--ink-3:#ffffffa3;--track:#0a285038;--fill:#ffffffeb;--warm:#ffc85c;--cool:#1e4a80;--grid:#ffffff2e;--bar-partial-bg:#ffffff14;--bar-partial-line:#fff9;color:var(--ink);background:var(--sky);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,sans-serif}:root[data-theme=dark]{--sky:#142a45;--panel:#ffffff0f;--panel-line:#ffffff1a;--panel-strong:#ffffff1a;--track:#ffffff1f;--cool:#5d9be3;--grid:#ffffff1a}*{box-sizing:border-box}body{background:var(--sky);min-height:100vh;margin:0}button,select,input{font:inherit;color:inherit}h1,h2,h3,p{margin:0}.layout{max-width:560px;margin:0 auto;padding:14px 16px 56px}body{transition:background-color .3s}.theme-toggle{z-index:30;border:1px solid var(--panel-line);background:var(--panel-strong);cursor:pointer;-webkit-backdrop-filter:blur(20px);border-radius:50%;place-items:center;width:40px;height:40px;font-size:1.1rem;display:grid;position:absolute;top:14px;right:14px}.theme-toggle:hover{background:#ffffff38}.when-picker{gap:8px;display:grid}.holiday-select select{width:100%}@media (width>=960px){.layout{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:40px;max-width:1180px;padding:0 32px;display:grid}.sidebar{height:100vh;padding:28px 0;position:sticky;top:0;overflow-y:auto}.sidebar .toolbar{gap:12px}.sidebar .toolbar-row{flex-direction:column;align-items:stretch}.sidebar .segmented,.sidebar .toolbar>.segmented{justify-self:stretch;display:flex}.sidebar .segmented button{flex:1}.sidebar .select-pill select{width:100%}.sidebar .date-row{flex-wrap:wrap}.sidebar .year-picker{flex-wrap:nowrap}.sidebar .year-picker select{flex:1}.sidebar .brand{color:var(--ink);justify-content:flex-start;margin:6px 0 18px;padding:0;font-size:1.15rem}.theme-toggle{position:fixed}.content{max-width:640px;padding:8px 0 56px}.hero{padding-top:40px}}.brand{letter-spacing:.02em;min-height:40px;color:var(--ink-2);justify-content:center;align-items:center;gap:6px;margin-bottom:12px;padding:0 52px;font-size:.95rem;font-weight:600;display:flex}.toolbar{gap:10px;margin-bottom:8px;display:grid}.toolbar>.segmented{justify-self:start}.toolbar-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.place-search{position:relative}.search-icon{color:var(--ink-3);pointer-events:none;font-size:1.15rem;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.place-search input{background:var(--panel-strong);width:100%;color:var(--ink);border:none;border-radius:12px;outline:none;padding:10px 12px 10px 34px;font-size:1rem}.place-search input::placeholder{color:var(--ink-3)}.place-search input:focus{box-shadow:0 0 0 2px #ffffff80}.suggestions{z-index:20;background:#2f6aa6;border-radius:14px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 10px 30px #0014324d}[data-theme=dark] .suggestions{background:#213c5e}.suggestions li{cursor:pointer;border-radius:10px;align-items:baseline;gap:8px;padding:9px 10px;display:flex}.suggestions li span{color:var(--ink-3);font-size:.88rem}.suggestions li.active{background:#ffffff24}.date-row{align-items:center;gap:6px;display:flex}.date-row select,.select-pill select{appearance:none;cursor:pointer;background:var(--panel-strong);color:var(--ink);border:none;border-radius:10px;outline:none;padding:7px 12px;font-weight:600}.date-row select option,.select-pill select option{color:#000}button.nudge,button.today{background:var(--panel-strong);cursor:pointer;border:none;border-radius:10px;padding:7px 11px;font-weight:600}button.nudge{padding:7px 12px;font-size:1.05rem;line-height:1}button:active{transform:scale(.97)}.segmented{background:var(--panel-strong);border-radius:10px;padding:2px;display:inline-flex}.segmented button{cursor:pointer;color:var(--ink-2);white-space:nowrap;background:0 0;border:none;border-radius:8px;padding:5px 11px;font-size:.88rem;font-weight:600}.segmented button.on{color:#1d4f86;background:#ffffffe6}[data-theme=dark] .segmented button.on{color:#142a45;background:#ffffffd9}.hero{text-align:center;text-shadow:0 1px 8px #001e461f;padding:34px 0 26px}.hero h1{letter-spacing:.01em;font-size:2.1rem;font-weight:400}.hero-temp{margin:4px 0 2px;padding-left:.18em;font-size:6.2rem;font-weight:200;line-height:1}.hero-cond{color:var(--ink-2);font-size:1.1rem;font-weight:500}.hero-hl{white-space:pre;margin-top:2px;font-size:1.1rem;font-weight:500}.hero-sub{color:var(--ink-2);justify-items:center;gap:10px;margin-top:12px;display:grid}.retry{color:#1d4f86;cursor:pointer;background:#ffffffe6;border:none;border-radius:10px;padding:8px 16px;font-weight:600}.loading-dots:after{content:"…";animation:1.2s step-end infinite blink}@keyframes blink{50%{opacity:0}}.modules{gap:12px;display:grid}.summary-line{background:var(--panel);border:1px solid var(--panel-line);-webkit-backdrop-filter:blur(20px);border-radius:16px;padding:12px 16px;font-size:.95rem;line-height:1.45}.module{background:var(--panel);border:1px solid var(--panel-line);-webkit-backdrop-filter:blur(20px);border-radius:16px;padding:12px 16px 14px}.module-title{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);border-bottom:1px solid var(--panel-line);margin-bottom:4px;padding-bottom:8px;font-size:.78rem;font-weight:600}.module-text{color:var(--ink);margin-top:8px;font-size:.95rem;line-height:1.45}.module-text.dim{color:var(--ink-3);font-size:.85rem}.year-rows{margin:0;padding:0;list-style:none}.year-row{border-bottom:1px solid var(--panel-line);grid-template-columns:5.2em 1.8em 2.6em 1fr 2.6em 3em;align-items:center;gap:6px;padding:10px 0;font-size:1.05rem;font-weight:500;display:grid}.yr small{color:var(--ink-3);font-size:.72rem;font-weight:500;display:block}.yr-emoji{text-align:center;font-size:1.2rem}.yr-lo{text-align:right;color:var(--ink-3)}.yr-hi{text-align:left}.yr-delta{text-align:right;color:var(--ink-2);font-size:.85rem;font-weight:600}.track{background:var(--track);border-radius:99px;height:5px;position:relative}.track .fill{background:var(--fill);border-radius:99px;position:absolute;top:0;bottom:0}.track .fill.warm{background:var(--warm)}.track .fill.cool{background:var(--cool);box-shadow:0 0 0 1px #ffffff59}.normal-mark{background:#ffffff8c;border-radius:2px;width:2px;height:13px;margin-left:-1px;position:absolute;top:-4px}.normal-mark.inline{margin:0 4px 0 0;display:inline-block;position:relative;top:2px}.rows-key{color:var(--ink-3);padding-top:10px;font-size:.78rem}.avg-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px;display:grid}.avg-tile{background:var(--panel);border-radius:12px;gap:2px;padding:10px 12px;display:grid}.tile-label{color:var(--ink-3);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem;font-weight:600}.tile-value{font-size:1.9rem;font-weight:300}.tile-sub{color:var(--ink-2);font-size:.8rem}.chart-wrap{margin-top:8px;position:relative}.chart-wrap svg{width:100%;height:auto;display:block;overflow:visible}.grid{stroke:var(--grid);stroke-width:1px}.axis-zero{stroke:#fff9;stroke-width:1.5px}.tick{fill:var(--ink-3);font-size:11px;font-weight:600}.hover-band{fill:#ffffff1a}.chart-tip{pointer-events:none;color:#17375e;white-space:nowrap;background:#fffffff2;border-radius:10px;padding:6px 10px;font-size:.8rem;display:grid;position:absolute;transform:translate(-50%,calc(-100% - 10px));box-shadow:0 6px 18px #00143240}.chart-caption{color:var(--ink-3);margin-top:6px;font-size:.8rem}.key{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin:0 2px;display:inline-block}.key.warm{background:var(--warm)}.key.cool{background:var(--cool);box-shadow:0 0 0 1px #ffffff59}.key.partial{background:repeating-linear-gradient(45deg, var(--bar-partial-line) 0 2px, transparent 2px 5px)}.year-grid{gap:12px;display:grid}.year-card{background:var(--panel);border:1px solid var(--panel-line);-webkit-backdrop-filter:blur(20px);border-radius:16px;padding:14px 16px}.year-head{align-items:center;gap:12px;display:flex}.vibe-emoji{font-size:1.9rem}.year-title{flex:1}.year-title h3{align-items:center;gap:8px;font-size:1.4rem;font-weight:500;display:flex}.year-title p{color:var(--ink-3);font-size:.82rem}.so-far{text-transform:uppercase;background:var(--panel-strong);border-radius:99px;padding:2px 8px;font-size:.68rem;font-weight:700}.depart-pill{background:var(--panel-strong);border-radius:99px;padding:4px 10px;font-size:1rem;font-weight:600}.depart-pill.warm{background:var(--warm);color:#4a3200}.depart-pill.cool{background:var(--cool);color:#fff}.vibe{color:var(--ink-2);margin:10px 0;font-size:1rem}.stats{grid-template-columns:repeat(4,1fr);gap:6px;margin:0;display:grid}.stats div{background:var(--panel);text-align:center;border-radius:10px;padding:7px 6px}.stats dt{color:var(--ink-3);text-transform:uppercase;font-size:.68rem;font-weight:600}.stats dd{margin:2px 0 0;font-size:1.05rem;font-weight:500}.chips{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.chip{background:var(--panel-strong);border-radius:99px;padding:3px 9px;font-size:.78rem;font-weight:600}.notables{gap:4px;margin:10px 0 0;padding:0;font-size:.9rem;list-style:none;display:grid}.enso-note,.caveat{color:var(--ink-3);margin-top:8px;font-size:.8rem}.day-toggle{background:var(--panel-strong);cursor:pointer;border:none;border-radius:8px;margin-top:10px;padding:5px 10px;font-size:.82rem;font-weight:600}table.days{border-collapse:collapse;width:100%;margin-top:8px;font-size:.86rem}table.days th{text-align:left;color:var(--ink-3);text-transform:uppercase;padding:4px;font-size:.7rem;font-weight:600}table.days td{border-top:1px solid var(--panel-line);padding:5px 4px}.footnote{text-align:center;color:var(--ink-3);margin-top:14px;font-size:.75rem;line-height:1.5}@media (width<=440px){.hero-temp{font-size:5rem}.year-row{grid-template-columns:4.4em 1.6em 2.4em 1fr 2.4em 2.8em;gap:5px;font-size:.98rem}.avg-grid{grid-template-columns:1fr 1fr}}.year-picker select{text-align:center;min-width:92px}button.nudge:disabled{opacity:.35;cursor:default}.lookback{justify-content:flex-start}
