/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--spacing:.25rem;--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--background:#eef5f3;--foreground:#102a2a;--panel:#ffffffc2;--panel-strong:#fffffff0;--panel-border:#194d491f;--muted:#617774;--accent:#00a889;--accent-strong:#087d70;--deep:#123f41;--warm:#e9ffb9;--shadow:0 24px 70px #13403e1f}@media (prefers-color-scheme:dark){:root{--background:#071c20;--foreground:#edf9f6;--panel:#0d2b2fc7;--panel-strong:#113337f5;--panel-border:#b8ebdc1f;--muted:#9ab2ae;--accent:#5ee0bd;--accent-strong:#8af0d2;--deep:#071c20;--warm:#dafa9e;--shadow:0 28px 80px #00000047}}*{box-sizing:border-box}html{background:var(--background);scroll-behavior:smooth}body{color:var(--foreground);background:var(--background);font-family:var(--font-geist-sans), Arial, Helvetica, sans-serif;margin:0}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 65%, white)}}button:focus-visible,input:focus-visible,a:focus-visible{outline-offset:3px}.weather-shell{background:linear-gradient(180deg, var(--background) 0%, var(--background) 44%), var(--background);min-height:100vh;padding:24px clamp(18px,4vw,64px) 48px;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.weather-shell{background:linear-gradient(180deg, color-mix(in srgb, var(--background) 86%, #bff5e5) 0%, var(--background) 44%), var(--background)}}.weather-shell:before{pointer-events:none;content:"";opacity:.34;background-image:radial-gradient(var(--foreground) .7px, transparent .7px);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.weather-shell:before{background-image:radial-gradient(color-mix(in srgb, var(--foreground) 10%, transparent) .7px, transparent .7px)}}.weather-shell:before{background-size:22px 22px;-webkit-mask-image:linear-gradient(#000,#0000 48%);mask-image:linear-gradient(#000,#0000 48%)}.weather-orb{pointer-events:none;border-radius:999px;position:absolute}.weather-orb-one{background:#32dcb733;width:420px;height:420px;top:-180px;right:-120px}.weather-orb-two{background:#54adff24;width:300px;height:300px;top:430px;left:-210px}.topbar,.location-tabs,.hero-panel,.rain-section,.forecast-section,footer,.notice{z-index:1;width:min(1180px,100%);margin-inline:auto;position:relative}.topbar{justify-content:space-between;align-items:center;gap:20px;display:flex}.brand{color:inherit;align-items:center;gap:12px;text-decoration:none;display:inline-flex}.brand-mark{border:1px solid var(--panel-border);color:#effffb;background:var(--deep);letter-spacing:-.04em;border-radius:15px;place-items:center;width:44px;height:44px;font-size:12px;font-weight:800;display:grid;box-shadow:0 10px 30px #093c3a33}.brand strong,.brand small{display:block}.brand strong{letter-spacing:-.02em;font-size:15px}.brand small{color:var(--muted);margin-top:2px;font-size:11px}.manage-button,.refresh-button,.location-tab,.primary-button,.restore-button,.manager-actions button,.form-heading button,.icon-button{cursor:pointer;border:0}.manage-button{border:1px solid var(--panel-border);background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:999px;align-items:center;gap:7px;min-height:44px;padding:0 16px;font-size:13px;font-weight:650;display:inline-flex;box-shadow:0 8px 28px #13403e12}.manage-button span{color:var(--accent-strong);font-size:18px}.location-tabs{scrollbar-width:none;gap:8px;margin-top:34px;padding:4px 2px 10px;display:flex;overflow-x:auto}.location-tabs::-webkit-scrollbar{display:none}.location-tab{min-height:44px;color:var(--muted);background:0 0;border-radius:999px;flex:none;align-items:center;gap:9px;padding:0 17px;font-size:13px;font-weight:650;transition:all .16s;display:inline-flex}.location-tab.active{color:var(--foreground);background:var(--panel-strong);box-shadow:0 9px 28px #0d45411a}.location-dot{border:2px solid var(--muted);border-radius:999px;width:7px;height:7px}.location-tab.active .location-dot{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 4px var(--accent)}@supports (color:color-mix(in lab, red, red)){.location-tab.active .location-dot{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 14%, transparent)}}.hero-panel{color:#f5fffc;min-height:330px;box-shadow:var(--shadow);background:radial-gradient(circle at 86% 18%,#a5ffd938,#0000 28%),linear-gradient(132deg,#123f41 0%,#0a6460 55%,#098176 100%);border:1px solid #d1ffef29;border-radius:34px;grid-template-columns:minmax(0,1fr) auto;gap:32px;margin-top:12px;padding:clamp(28px,5vw,58px);display:grid;overflow:hidden}.hero-panel:after{content:"";border:1px solid #ffffff29;border-radius:999px;width:360px;height:360px;position:absolute;bottom:-230px;right:-110px;box-shadow:0 0 0 42px #ffffff06,0 0 0 84px #ffffff05}.hero-copy{z-index:1;align-self:center;position:relative}.eyebrow{color:var(--accent-strong);letter-spacing:.16em;text-transform:uppercase;margin:0 0 13px;font-size:11px;font-weight:800}.hero-panel .eyebrow{color:#e5fff8b8}.current-line{align-items:center;gap:18px;display:flex}.current-icon{width:68px;height:68px;color:var(--warm);background:#ffffff14;border:1px solid #ffffff2e;border-radius:22px;place-items:center;font-size:34px;line-height:1;display:grid}.current-temperature{letter-spacing:-.09em;font-size:clamp(70px,10vw,116px);font-weight:620;line-height:.85}.hero-panel h1{letter-spacing:-.045em;margin:22px 0 8px;font-size:clamp(24px,3vw,38px);font-weight:580}.hero-detail{color:#ecfffab3;flex-wrap:wrap;gap:8px;margin:0;font-size:13px;display:flex}.hero-status{z-index:2;flex-direction:column;align-self:flex-start;align-items:flex-end;gap:9px;display:flex;position:relative}.hero-status p{color:#ecfffa94;margin:0;font-size:11px}.refresh-button{color:#f5fffc;background:#ffffff14;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:8px;min-height:42px;padding:0 15px;font-size:12px;font-weight:650;display:inline-flex}.refresh-button:disabled{cursor:wait;opacity:.7}.spin{animation:1s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.hero-skeleton{gap:14px;width:min(460px,80vw);display:grid}.hero-skeleton span{background:linear-gradient(90deg,#ffffff14,#ffffff2b,#ffffff14) 0 0/200% 100%;border-radius:999px;height:22px;animation:1.8s infinite shimmer}.hero-skeleton span:first-child{width:52%;height:84px}.hero-skeleton span:last-child{width:68%}@keyframes shimmer{to{background-position:-200% 0}}.empty-weather-icon{color:var(--warm);font-size:80px;line-height:1}.notice{color:var(--foreground);border:1px solid #d5a72c52;border-radius:16px;margin-top:14px;padding:13px 17px}@supports (color:color-mix(in lab, red, red)){.notice{color:color-mix(in srgb, var(--foreground) 78%, #9b6800)}}.notice{background:#ffe8a3}@supports (color:color-mix(in lab, red, red)){.notice{background:color-mix(in srgb, #ffe8a3 22%, var(--panel))}}.notice{font-size:12px}.rain-section,.forecast-section{margin-top:54px}.section-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:19px;display:flex}.section-heading .eyebrow{margin-bottom:6px}.section-heading h2{letter-spacing:-.05em;margin:0;font-size:clamp(25px,3vw,35px);font-weight:610}.estimate-note,.quality-label{color:var(--muted);margin:0;font-size:11px}.rain-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.rain-card,.forecast-card{border:1px solid var(--panel-border);background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 12px 36px #13403e0e}.rain-card{border-radius:24px;min-height:190px;padding:23px;position:relative}.rain-card-icon{color:var(--accent);font-size:17px;position:absolute;top:21px;right:21px}.rain-card p{color:var(--muted);margin:0 0 26px;font-size:12px;font-weight:650}.rain-card strong{letter-spacing:-.06em;min-height:48px;font-size:clamp(29px,3vw,42px);font-weight:620;line-height:1.05;display:block}.rain-card strong small{color:var(--muted);letter-spacing:0;font-size:14px;font-weight:550}.rain-card>span:last-child{color:var(--muted);margin-top:14px;font-size:10px;display:block}.next-rain-card{color:#f7fff9;background:radial-gradient(circle at 100% 0, #e4ffb038, transparent 38%), var(--deep)}.next-rain-card p,.next-rain-card>span:last-child{color:#f0fff799}.next-rain-card .rain-card-icon{color:var(--warm)}.next-rain-card strong{letter-spacing:-.045em;font-size:clamp(24px,2.5vw,34px)}.forecast-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;display:grid}.forecast-card{text-align:center;border-radius:22px;flex-direction:column;align-items:center;min-height:220px;padding:20px 14px;display:flex}.forecast-card>p{color:var(--muted);text-transform:uppercase;margin:0;font-size:11px;font-weight:720}.forecast-icon{height:62px;color:var(--accent-strong);place-items:center;font-size:28px;display:grid}.forecast-card>strong{letter-spacing:-.05em;font-size:22px;font-weight:650}.forecast-card>strong small{color:var(--muted);margin-left:6px;font-size:15px;font-weight:520}.forecast-rain{color:#438b9f;align-items:center;gap:5px;margin-top:14px;font-size:11px;font-weight:700;display:flex}.forecast-card>small{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:8px;font-size:9px;line-height:1.35;display:-webkit-box;overflow:hidden}footer{border-top:1px solid var(--panel-border);color:var(--muted);justify-content:space-between;gap:20px;margin-top:42px;padding-top:20px;font-size:10px;display:flex}footer p{margin:0}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#031417ad;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.manager-modal{border:1px solid var(--panel-border);background:var(--panel-strong);border-radius:28px;width:min(620px,100%);max-height:min(820px,100vh - 40px);padding:28px;overflow-y:auto;box-shadow:0 30px 100px #00000047}.modal-header,.manager-item,.form-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.modal-header .eyebrow{margin-bottom:4px}.modal-header h2{letter-spacing:-.05em;margin:0;font-size:28px}.icon-button{background:var(--foreground);border-radius:999px;place-items:center;width:42px;height:42px;display:grid}@supports (color:color-mix(in lab, red, red)){.icon-button{background:color-mix(in srgb, var(--foreground) 7%, transparent)}}.icon-button{font-size:24px}.manager-list{gap:8px;margin-top:24px;display:grid}.manager-item{border:1px solid var(--panel-border);background:var(--panel);border-radius:16px;min-height:66px;padding:12px 14px}@supports (color:color-mix(in lab, red, red)){.manager-item{background:color-mix(in srgb, var(--panel) 78%, transparent)}}.manager-item strong,.manager-item span{display:block}.manager-item strong{font-size:13px}.manager-item span{color:var(--muted);margin-top:3px;font-size:10px}.manager-actions{gap:7px;display:flex}.manager-actions button,.form-heading button{min-height:34px;color:var(--accent-strong);background:var(--accent);border-radius:10px;padding:0 10px}@supports (color:color-mix(in lab, red, red)){.manager-actions button,.form-heading button{background:color-mix(in srgb, var(--accent) 9%, transparent)}}.manager-actions button,.form-heading button{font-size:10px;font-weight:700}.location-form{background:var(--foreground);border-radius:20px;gap:14px;margin-top:24px;padding:20px;display:grid}@supports (color:color-mix(in lab, red, red)){.location-form{background:color-mix(in srgb, var(--foreground) 4%, transparent)}}.form-heading h3{margin:0;font-size:16px}.location-form label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;gap:7px;font-size:10px;font-weight:700;display:grid}.location-form input{border:1px solid var(--panel-border);width:100%;height:46px;color:var(--foreground);background:var(--panel-strong);letter-spacing:normal;text-transform:none;border-radius:12px;padding:0 13px;font-size:13px}.privacy-copy,.form-error{margin:0;font-size:10px;line-height:1.5}.privacy-copy{color:var(--muted)}.form-error{color:#ce4848;font-weight:650}.primary-button{color:#f5fffc;background:var(--accent-strong);border-radius:12px;min-height:46px;font-size:12px;font-weight:750}.primary-button:disabled{cursor:wait;opacity:.7}.restore-button{width:100%;min-height:42px;color:var(--muted);background:0 0;border-radius:12px;margin-top:16px;font-size:11px;font-weight:700}@media (width<=900px){.rain-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.forecast-grid{scroll-snap-type:x mandatory;padding-bottom:8px;display:flex;overflow-x:auto}.forecast-card{scroll-snap-align:start;flex:0 0 132px}}@media (width<=620px){.weather-shell{padding:18px 14px 36px}.brand small{display:none}.manage-button{justify-content:center;width:44px;padding:0;font-size:0}.manage-button span{font-size:20px}.location-tabs{margin-top:24px}.hero-panel{border-radius:27px;grid-template-columns:1fr;min-height:380px;padding:28px 23px}.hero-status{position:absolute;top:22px;right:20px}.hero-status p{display:none}.refresh-button{justify-content:center;width:42px;padding:0;font-size:0}.refresh-button span{font-size:18px}.current-icon{border-radius:18px;width:56px;height:56px;font-size:27px}.current-temperature{font-size:78px}.hero-detail{max-width:270px;line-height:1.6}.rain-section,.forecast-section{margin-top:42px}.section-heading{flex-direction:column;align-items:flex-start;gap:8px}.rain-grid{grid-template-columns:1fr 1fr;gap:8px}.rain-card{border-radius:20px;min-height:165px;padding:18px}.rain-card p{margin-bottom:20px}.rain-card strong{font-size:31px}.next-rain-card strong{font-size:24px}footer{flex-direction:column;align-items:flex-start;gap:7px}.modal-backdrop{align-items:end;padding:0}.manager-modal{width:100%;max-height:92vh;padding:23px 17px calc(22px + env(safe-area-inset-bottom));border-radius:25px 25px 0 0}.manager-item{flex-direction:column;align-items:flex-start;gap:9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
