@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&display=swap";:root{color-scheme:dark;--page-bg: oklch(14% .014 255);--bg: oklch(19% .014 255);--bg-elevated: oklch(24% .016 255);--bg-subtle: oklch(28% .016 255);--border: oklch(33% .018 255);--text: oklch(95% .008 255);--text-muted: oklch(72% .014 255);--text-faint: oklch(55% .014 255);--accent: oklch(72% .14 255);--accent-soft: oklch(30% .05 255);--accent-text: oklch(15% .02 255);--amber: oklch(78% .13 78);--overlay: rgba(0, 0, 0, .55);--radius-lg: 20px;--radius-md: 13px;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 16px 36px -20px rgba(0, 0, 0, .6);--heading-font: "Space Grotesk", system-ui, sans-serif;--font: system-ui, -apple-system, "Segoe UI", sans-serif}:root[data-theme=light]{color-scheme:light;--page-bg: oklch(95% .008 250);--bg: oklch(97% .008 250);--bg-elevated: oklch(99.4% .003 250);--bg-subtle: oklch(93.5% .01 250);--border: oklch(89% .012 250);--text: oklch(22% .02 255);--text-muted: oklch(48% .018 255);--text-faint: oklch(65% .015 255);--accent: oklch(56% .16 255);--accent-soft: oklch(92% .03 255);--accent-text: #ffffff;--amber: oklch(72% .14 75);--overlay: rgba(20, 26, 38, .42);--shadow: 0 1px 2px rgba(15, 18, 23, .05), 0 16px 36px -20px rgba(15, 18, 23, .22)}*{box-sizing:border-box}html,body{background:var(--page-bg);color:var(--text)}body{margin:0;padding:1.75rem 1.1rem 6rem;padding-top:calc(1.75rem + env(safe-area-inset-top));padding-bottom:calc(6rem + env(safe-area-inset-bottom));padding-left:calc(1.1rem + env(safe-area-inset-left));padding-right:calc(1.1rem + env(safe-area-inset-right));font-family:var(--font);-webkit-font-smoothing:antialiased;line-height:1.45}#app{max-width:720px;margin-inline:auto;display:flex;flex-direction:column;gap:1.5rem}#comparison-section{display:flex;flex-direction:column;gap:1.5rem}header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:.65rem}.brand-icon{font-size:1.7rem;line-height:1}.brand-text h1{font:700 1.4rem var(--heading-font);color:var(--text);margin:0;letter-spacing:-.01em}.brand-text p{margin:.1rem 0 0;font-size:.82rem;color:var(--text-faint)}.header-actions{display:flex;align-items:center;gap:.55rem}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2.15rem;height:2.15rem;padding:0;border-radius:50%}.icon-btn svg{width:17px;height:17px}h2{font:700 1.05rem var(--heading-font);color:var(--text);margin:0 0 1rem}.panel-heading{font:700 .95rem var(--heading-font);margin:0 0 .7rem;color:var(--text)}button{font:inherit;font-weight:600;padding:.65rem 1.1rem;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;background:var(--accent);color:var(--accent-text);transition:background .15s ease,transform .1s ease,opacity .15s ease}button:active{transform:scale(.97)}button:hover{opacity:.92}button.secondary{background:var(--bg-subtle);color:var(--text);border-color:var(--border);opacity:1}button.secondary:hover{background:var(--border)}input[type=text]{font:inherit;padding:.65rem .85rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg);color:var(--text);width:100%}input[type=text]::placeholder{color:var(--text-faint)}input[type=text]:focus{outline:2px solid var(--accent);outline-offset:1px}.card{border:1px solid var(--border);background:var(--bg-elevated);border-radius:var(--radius-lg);padding:1.4rem;box-shadow:var(--shadow)}.card p{margin:0;color:var(--text-muted)}.result-list{list-style:none;padding:0;margin:.75rem 0 0;display:flex;flex-direction:column;gap:.4rem}.result-list li button{width:100%;text-align:left;background:var(--bg-subtle);color:var(--text);font-weight:500;border:1px solid var(--border)}.result-list li button:hover{background:var(--border)}.toggle{position:relative;display:inline-flex;background:var(--bg-subtle);border:1px solid var(--border);border-radius:999px;padding:.2rem}.toggle-thumb{position:absolute;top:.2rem;bottom:.2rem;left:0;border-radius:999px;background:var(--accent);transition:transform .25s cubic-bezier(.4,0,.2,1),width .25s cubic-bezier(.4,0,.2,1);z-index:0}.toggle button{position:relative;z-index:1;padding:.3rem .65rem;border-radius:999px;background:transparent;color:var(--text-muted);font-size:.8rem;font-weight:600}.toggle button:hover{background:transparent;opacity:1}.toggle button.active{color:var(--accent-text)}.tab-nav{width:100%}.tab-nav.toggle{display:flex;width:100%}.tab-nav button{flex:1;text-align:center;font-size:.82rem}.location-label{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:space-between}.location-label .pin{font-size:1.1rem}.banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem 1rem;border-radius:var(--radius-md);margin-bottom:.9rem;font-size:.85rem;line-height:1.4}.source-error-note{margin:.3rem 0 0}.banner-warning{background:#ffc25133;background:oklch(85% .15 80 / 20%);border:1px solid oklch(70% .15 80 / 50%);color:var(--text)}.banner-dismiss{background:transparent;border:none;color:inherit;font-size:.9rem;flex:none;padding:.15rem .4rem}.banner-dismiss:hover{background:transparent;opacity:.7}.location-chip-row{display:flex;gap:.5rem;overflow-x:auto;padding:.1rem .1rem .4rem}.location-chip{display:flex;align-items:center;gap:.2rem;flex:none;background:var(--bg-subtle);border:1px solid var(--border);border-radius:999px;padding:.15rem .3rem .15rem .2rem}.location-chip.active{border-color:var(--accent);background:var(--accent-soft)}.location-chip-select{background:transparent;border:none;color:var(--text);font-size:.82rem;font-weight:600;padding:.35rem .3rem;white-space:nowrap}.location-chip-select .pin{font-size:.95rem;margin-right:.15rem}.location-chip.active .location-chip-select{color:var(--accent)}.location-chip-remove{background:transparent;border:none;color:var(--text-faint);font-size:.7rem;width:1.4rem;height:1.4rem;border-radius:999px;display:flex;align-items:center;justify-content:center;flex:none}.location-chip-remove:hover{background:var(--border);color:var(--text);opacity:1}.location-chip-add{flex:none;background:transparent;border:1px dashed var(--border);border-radius:999px;padding:.4rem .9rem;color:var(--text-muted);font-size:.82rem;font-weight:600;white-space:nowrap}.location-chip-add:hover{background:var(--bg-subtle);opacity:1}#clerk-sign-in,#clerk-user-button{display:flex;justify-content:center}#clerk-sign-in{margin-top:2.5rem}.confirm-actions{display:flex;gap:.5rem;margin-top:.6rem}.muted-note{font-size:.85rem;color:var(--text-faint)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100}.modal-card{position:relative;width:100%;max-width:420px}.modal-close{position:absolute;top:.75rem;right:.75rem;padding:.35rem .55rem;font-size:.85rem;line-height:1}.sources-row{display:flex;flex-wrap:wrap;gap:.5rem}.source-pill{display:flex;align-items:center;gap:.4rem;padding:.4rem .8rem;border-radius:999px;background:var(--bg-subtle);border:1px solid var(--border);font-size:.8rem;font-weight:600}.spinner{width:12px;height:12px;border-radius:50%;border:2px solid color-mix(in srgb,var(--text) 20%,transparent);border-top-color:var(--accent);animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.pill-check{color:#2fb35a;font-weight:700}.pill-error{color:#e5484d;font-weight:700;cursor:help}.today-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 640px){.today-grid{grid-template-columns:1.1fr 1fr}}.current-card{display:flex;align-items:center;gap:1.1rem}.current-temp{font:700 3.2rem var(--heading-font);color:var(--text);line-height:1;letter-spacing:-.02em}.current-sub{font-size:.9rem;font-weight:600;color:var(--text-muted);margin-top:.4rem}.consensus-top{display:flex;align-items:center;gap:1rem}.consensus-ring{width:64px;height:64px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center}.consensus-ring-inner{width:48px;height:48px;border-radius:50%;background:var(--bg-elevated);display:flex;align-items:center;justify-content:center;font:700 .9rem var(--heading-font);color:var(--text)}.consensus-title{font:700 .95rem var(--heading-font);color:var(--text)}.consensus-sub{font-size:.8rem;color:var(--text-muted);margin-top:.15rem}.consensus-sub b{color:var(--text)}.range-wrap{margin-top:1rem}.range-labels{display:flex;justify-content:space-between;font-size:.72rem;color:var(--text-faint);margin-bottom:.3rem}.range-track{position:relative;height:6px;border-radius:3px;background:var(--bg-subtle)}.range-dot{position:absolute;top:-3px;width:10px;height:10px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-elevated);transform:translate(-50%)}.breakdown-toggle{margin-top:.9rem;border:none;background:transparent;padding:0;font-size:.8rem;font-weight:700;color:var(--accent)}.breakdown-list{display:flex;flex-direction:column;gap:.5rem;max-height:0;overflow:hidden;opacity:0;margin-top:0;transition:max-height .3s ease,opacity .25s ease,margin-top .3s ease}.breakdown-list.expanded{opacity:1;margin-top:.7rem}.breakdown-row{display:flex;align-items:center;gap:.6rem;font-size:.82rem}.breakdown-row .name{color:var(--text);flex:1}.breakdown-row .temp{color:var(--text-muted)}.breakdown-row .delta{color:var(--text-faint);min-width:52px;text-align:right}.hourly-strip{display:flex;gap:1.2rem;overflow-x:auto;padding:.2rem .1rem .5rem}.hourly-strip .hour-item{display:flex;flex-direction:column;align-items:center;gap:.4rem;flex:none;border:none;background:transparent;font:inherit;color:inherit;cursor:pointer}.hourly-strip:not(.hourly-strip-selectable) .hour-item{flex:1 1 0;min-width:0}.hourly-strip:not(.hourly-strip-selectable) .hour-item:hover{opacity:.75}.hourly-strip-selectable .hour-item{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:.7rem .65rem .55rem;min-width:58px}.hourly-strip-selectable .hour-item:hover{background:var(--bg-subtle);opacity:1}.hourly-strip-selectable .hour-item.selected{border-color:var(--accent);background:var(--accent-soft)}.hour-item-time{font-size:.72rem;color:var(--text-faint);font-weight:600}.hour-item-temp{font:700 .9rem var(--heading-font);color:var(--text)}.hour-item-rain{font-size:.68rem;color:var(--accent);min-height:1em}.hourly-list,.daily-list{display:flex;flex-direction:column}.hour-row,.day-row{display:flex;align-items:center;gap:.85rem;padding:.65rem .2rem;border-bottom:1px solid var(--border);cursor:pointer;background:transparent;border-radius:8px}.hour-row.selected,.day-row.selected{background:var(--accent-soft)}.hour-row .time,.day-row .day{width:58px;font-size:.82rem;font-weight:600;color:var(--text-muted);flex:none}.day-row .day{color:var(--text)}.hour-row .precip,.day-row .precip{flex:1;font-size:.78rem;color:var(--accent);text-align:left}.hour-row .temp-val{font:700 .95rem var(--heading-font);color:var(--text)}.day-row .bar-track{flex:1;position:relative;height:5px;border-radius:3px;background:var(--bg-subtle)}.day-row .bar-fill{position:absolute;top:0;bottom:0;border-radius:3px;background:var(--accent)}.day-row .hilo{width:90px;text-align:right;font-size:.85rem;color:var(--text-muted);flex:none}.day-row .hilo b{color:var(--text)}.detail-panel{margin-top:.9rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem 1.2rem;display:flex;align-items:center;gap:1rem}.detail-panel-title{font:700 .95rem var(--heading-font);color:var(--text)}.detail-panel-sub{font-size:.8rem;color:var(--text-muted);margin-top:.2rem}.detail-source-list{margin-top:.6rem;display:flex;flex-direction:column;gap:.5rem}.detail-source-row{display:flex;align-items:center;gap:.6rem;font-size:.82rem}.detail-source-row .name{color:var(--text);flex:1;font-weight:600}.detail-source-row .temp{color:var(--text-muted)}.detail-source-row .rain{color:var(--accent);min-width:52px;text-align:right}.metrics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}@media (min-width: 640px){.metrics-grid{grid-template-columns:repeat(3,1fr)}}.metric-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:.85rem 1rem}.metric-label{font-size:.72rem;color:var(--text-faint);margin-bottom:.3rem}.metric-value{font:700 1.1rem var(--heading-font);color:var(--text)}.sources-summary{display:flex;gap:1.6rem;flex-wrap:wrap}.sources-summary-item .label{font-size:.72rem;color:var(--text-faint)}.sources-summary-item .value{font:700 1.35rem var(--heading-font);color:var(--text)}.source-detail-row{display:flex;flex-direction:column;gap:.5rem;padding:.8rem 0;border-bottom:1px solid var(--border)}.source-detail-row:last-child{border-bottom:none}.source-detail-main{display:flex;align-items:center;gap:.7rem}.source-detail-main svg{flex:none}.source-detail-text{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1}.source-detail-row .name{font-weight:700;font-size:.85rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source-detail-row .cond{font-size:.78rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source-detail-figures{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem;flex:none}.source-detail-row .temp{font:700 .95rem var(--heading-font);color:var(--text)}.source-detail-row .delta{font-size:.72rem;color:var(--text-faint)}.source-detail-row .bar-track{position:relative;height:5px;border-radius:3px;background:var(--bg-subtle);margin:.35rem 0}.source-detail-row .bar-dot{position:absolute;top:-3.5px;width:12px;height:12px;border-radius:50%;background:var(--accent);transform:translate(-50%)}.source-detail-row .rain-inline{font-size:.72rem;color:var(--accent)}.metrics-compare-row{display:flex;align-items:center;gap:.75rem;padding:.55rem 0;border-bottom:1px solid var(--border)}.metrics-compare-row:last-child{border-bottom:none}.metrics-compare-label{width:100px;font-size:.8rem;color:var(--text-muted);flex:none}.metrics-compare-values{display:flex;gap:1rem;flex-wrap:wrap}.metrics-compare-cell{display:flex;flex-direction:column;gap:.1rem}.metrics-compare-cell .src{color:var(--text-faint);font-size:.68rem;text-transform:capitalize}.metrics-compare-cell .val{font-weight:700;color:var(--text);font-size:.85rem}.single-source-note{margin-top:.9rem}
