:root{font-family:Arial,Helvetica,sans-serif;color:#f8fbff;background:#06131f;font-synthesis:none}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}button,input,select{font:inherit}body[data-theme=daybreak]{background:linear-gradient(145deg,#0d6ba8,#57b9db 58%,#f6c66d 130%)}body[data-theme=nightwatch]{background:#020c22}body[data-theme=setup]{background:#eaf3f8;color:#0d2a42}.weather-screen{height:100%;min-height:420px;padding:clamp(22px,3.5vw,58px);display:grid;grid-template-rows:auto 1fr auto auto;gap:clamp(12px,2vh,28px);position:relative}header{display:flex;align-items:start;justify-content:space-between}.eyebrow{font-size:clamp(12px,1.3vw,20px);letter-spacing:.2em;font-weight:800;margin:0 0 5px;opacity:.78}h1{margin:0;font-size:clamp(34px,5vw,78px);line-height:.95;letter-spacing:-.04em}.settings{border:0;color:inherit;background:transparent;opacity:.35;font-size:clamp(18px,2.4vw,32px);cursor:pointer}.settings:hover,.settings:focus{opacity:1}.current{display:flex;align-items:center;gap:clamp(18px,3vw,48px);min-height:0}.condition-icon{font-size:clamp(70px,13vw,190px);filter:drop-shadow(0 12px 20px #0004)}.temperature{font-size:clamp(90px,18vw,260px);font-weight:250;letter-spacing:-.09em;line-height:.7}.temperature sup{font-size:.35em;vertical-align:top}.condition-copy h2{font-size:clamp(27px,4vw,58px);margin:0 0 8px}.condition-copy p{font-size:clamp(15px,1.8vw,26px);margin:5px 0;opacity:.8}.forecast{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid #fff4}.forecast article{text-align:center;padding:clamp(10px,2vh,20px) 6px 4px;border-right:1px solid #fff3}.forecast article:last-child{border-right:0}.forecast h3{font-size:clamp(14px,1.8vw,26px);margin:0}.day-icon{font-size:clamp(25px,3vw,48px);margin:5px 0}.high-low{font-size:clamp(15px,1.7vw,25px);margin:0}.rain{font-size:clamp(11px,1.15vw,17px);margin:3px 0;opacity:.72}footer{display:flex;align-items:center;gap:10px;font-size:clamp(11px,1.1vw,16px);opacity:.8}.status-dot{width:9px;height:9px;border-radius:50%;background:#6be3a8;box-shadow:0 0 14px #6be3a8}body[data-freshness=stale] .status-dot{background:#ffb84d;box-shadow:0 0 14px #ffb84d}body[data-freshness=stale] footer{color:#fff0cf;opacity:1}.message{margin-left:auto}.alert{position:absolute;inset:0 0 auto;min-height:42px;background:#a31621;padding:8px 4%;display:flex;gap:15px;align-items:center;z-index:2}.alert+header{margin-top:36px}.alert span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.setup{height:100%;overflow:auto;padding:7vh 6vw;display:grid;place-items:center}.setup-card{width:min(680px,100%);background:#fff;padding:clamp(28px,5vw,56px);border-radius:20px;box-shadow:0 24px 70px #1233}.setup h1{font-size:clamp(34px,5vw,58px);margin-bottom:30px}.setup label{display:grid;gap:8px;font-weight:700}.setup input,.setup select{width:100%;border:1px solid #afc3d0;border-radius:8px;padding:13px;color:#0d2a42;background:#fff}.row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.row.single-row{grid-template-columns:1fr}.actions{display:flex;justify-content:flex-end;gap:12px;margin-top:26px}.actions button{border:0;border-radius:8px;padding:12px 20px;background:#0d6ba8;color:#fff;font-weight:800;cursor:pointer}.actions .secondary{background:#dbe8ef;color:#0d2a42}.actions button:disabled{opacity:.55;cursor:wait}.form-message{min-height:1.3em;color:#a31621}.broadcast-screen{width:100%;height:100%;min-height:500px;position:relative;overflow:hidden;padding:clamp(24px,3vw,52px);color:#f3f5fb;background:linear-gradient(90deg,#020b20aa,#03122948 43%,#02091882),url(/nightwatch-atmosphere-v3.png?art=15) center/cover no-repeat;font-family:Arial,Helvetica,sans-serif;letter-spacing:.01em;text-rendering:optimizeLegibility}.nightwatch-screen{background:linear-gradient(90deg,#020b20a8,#03122940 43%,#02091884),url(/nightwatch-atmosphere-v3.png?art=15) center/cover no-repeat;text-shadow:0 2px 14px #000a}.daybreak-screen{color:#fff;background:linear-gradient(90deg,#00559c28,#0064ac42 47%,#003c7892),linear-gradient(0deg,#007cc855 0%,transparent 53%),url(/daybreak-atmosphere-v3.png?art=15) center/cover no-repeat;text-shadow:0 2px 12px #00366fcc}.daybreak-screen .nw-strip{background:linear-gradient(90deg,#047cc7b5,#086bb4a8);border-color:#d4f5ff;box-shadow:inset 0 1px #ffffff20,0 12px 30px #003f7833}.daybreak-screen .nw-strip h2,.daybreak-screen .nw-grid article,.daybreak-screen .nw-metrics>div{border-color:#d4f5ff}.daybreak-screen .nw-heading p,.daybreak-screen .nw-live,.daybreak-screen .nw-flourish{color:#7ee8ff}.nw-heading{position:absolute;left:4%;top:4%;width:47%}.location-line{display:flex;align-items:baseline;gap:clamp(10px,1.1vw,20px);min-width:0}.change-location{flex:0 0 auto;border:0;border-bottom:1px solid currentColor;padding:2px 0;color:#8edcff;background:transparent;font-size:clamp(9px,.75vw,13px);font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;opacity:.82}.change-location:hover,.change-location:focus-visible{opacity:1;color:#fff}.nw-heading h1{font-size:clamp(32px,4.25vw,72px);font-family:Arial,Helvetica,sans-serif;font-weight:400;letter-spacing:.025em;line-height:1.05;white-space:nowrap;text-transform:uppercase}.nw-heading h1.long-location{font-size:clamp(25px,3.35vw,57px);letter-spacing:.01em}.nw-heading p{color:#65b2ff;font-size:clamp(15px,1.65vw,28px);margin:8px 0;letter-spacing:.075em;font-weight:600}.nw-sun-cycle{margin-top:4px;color:#d5ebff;font-size:clamp(9px,.72vw,13px);font-weight:600;letter-spacing:.055em}.nw-sun-cycle b{margin:0 7px;color:#66caff}.nw-live{position:absolute;right:3.5%;top:3.5%;color:#62b2ff;font-size:clamp(12px,1.2vw,20px);font-weight:600;letter-spacing:.045em}.nw-live b{margin:0 15px}.nw-live [data-level=delayed]{color:#ffd27a}.nw-hero-art{position:absolute;left:10%;top:10%;width:32%;height:29%;display:grid;place-items:center;pointer-events:none}.nw-hero-art .weather-symbol{width:min(100%,455px);height:min(100%,285px);max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 15px 18px #00255270)}.nw-hero-art .weather-art-partly-cloudy,.nw-hero-art .weather-art-overcast,.nw-hero-art .weather-art-fog,.nw-hero-art .weather-art-rain,.nw-hero-art .weather-art-snow,.nw-hero-art .weather-art-ice,.nw-hero-art .weather-art-storm{transform:translateY(8%)}.nightwatch-screen .nw-hero-art .weather-symbol{filter:drop-shadow(0 15px 22px #000b24d9)}.nw-current{position:absolute;left:45%;top:15%;width:24%;text-align:center}.nw-temp{font-size:clamp(100px,14.2vw,230px);font-weight:300;line-height:.78;letter-spacing:-.055em}.nw-temp{font-family:Arial,Helvetica,sans-serif;font-variant-numeric:tabular-nums lining-nums}.nw-temp.triple-temperature{font-size:clamp(88px,12.2vw,205px)}.nw-temp sup{font-size:.28em;vertical-align:top}.nw-condition{font-size:clamp(17px,2vw,34px);margin-top:18px;white-space:nowrap;font-weight:500;letter-spacing:.015em}.nw-flourish{position:relative;width:58%;height:2px;margin:20px auto 0;border:0;background:linear-gradient(90deg,transparent,#6fc8ffcc 28%,#9ee9ffff 50%,#6fc8ffcc 72%,transparent);box-shadow:0 0 10px #42b9ff66}.nw-flourish:after{content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;border-radius:50%;background:#d8f7ff;box-shadow:0 0 12px #6ad7ff;transform:translate(-50%,-50%)}.nw-metrics{position:absolute;right:3%;top:13%;width:27%;padding:0 10px;background:linear-gradient(90deg,transparent,#00163422)}.nw-metrics>div{display:grid;grid-template-columns:clamp(38px,3.2vw,54px) 1fr;align-items:center;height:clamp(42px,4.15vw,64px);border-bottom:1px solid #6caef0;font-size:clamp(12px,1.3vw,22px)}.nw-metrics>div{letter-spacing:.005em;font-weight:400}.nw-metrics i{color:#b9dbff;font-style:normal;text-align:center;display:grid;place-items:center}.metric-symbol{width:clamp(25px,2.3vw,40px);height:clamp(30px,2.7vw,45px);fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 3px 8px #00132e88)}.nw-metrics strong{font-weight:600;font-size:1.08em;letter-spacing:0}.nw-metrics .active-alert-metric{color:#ffc533;border-bottom-color:#ffc533;font-weight:700}.broadcast-alert{position:absolute;left:3%;right:3%;top:52.7%;height:8.5%;z-index:3;display:grid;grid-template-columns:clamp(48px,5vw,82px) 1fr;align-items:center;border:2px solid #ffc533;border-radius:12px;background:linear-gradient(90deg,#061d3bee,#04162edb);box-shadow:0 0 18px #ffbe2455,inset 0 1px #fff2;color:#fff;padding:7px 20px}.broadcast-alert>i{display:grid;place-items:center;color:#ffc533}.broadcast-alert .metric-symbol{width:clamp(34px,3.5vw,56px);height:clamp(38px,4vw,64px)}.broadcast-alert div{display:grid;gap:2px;min-width:0}.broadcast-alert strong{color:#ffc533;font-size:clamp(15px,1.55vw,27px);letter-spacing:.055em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.broadcast-alert span{font-size:clamp(11px,1.05vw,18px);letter-spacing:.035em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.broadcast-alert .alert-verification-state{color:#ffd783;font-size:clamp(9px,.82vw,14px);font-weight:700;letter-spacing:.04em}.broadcast-alert .alert-verification-state[hidden]{display:none}.alert-warning .broadcast-alert,.alert-considerable-warning .broadcast-alert,.alert-emergency .broadcast-alert{border-color:#ff554d;background:linear-gradient(90deg,#5b0b14f2,#27060bde);box-shadow:0 0 20px #ff302f66,inset 0 1px #fff2}.alert-warning .broadcast-alert>i,.alert-warning .broadcast-alert strong,.alert-considerable-warning .broadcast-alert>i,.alert-considerable-warning .broadcast-alert strong,.alert-emergency .broadcast-alert>i,.alert-emergency .broadcast-alert strong{color:#ff817a}.has-weather-alert .nw-hourly{top:62%;height:18%}.has-weather-alert .nw-outlook{top:81%;height:17%}.nw-strip{position:absolute;left:3%;right:3%;border:1px solid #68aef2;border-radius:12px;background:linear-gradient(90deg,#00102fc7,#001b46b8);box-shadow:inset 0 1px #ffffff12,0 14px 35px #0006;overflow:hidden}.nw-strip h2{margin:0;height:30px;padding-left:22px;border-bottom:1px solid #68aef2;font-size:clamp(14px,1.3vw,22px);font-weight:500;letter-spacing:.055em}.nw-hourly{top:53%;height:22%}.nw-outlook{top:76%;height:22%}.nw-grid{height:calc(100% - 30px);display:grid}.nw-grid.six{grid-template-columns:repeat(6,1fr)}.nw-grid.five{grid-template-columns:repeat(5,1fr)}.nw-grid article{text-align:center;border-right:1px solid #68aef2;padding:6px 5px 8px;min-width:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto;align-items:center}.nw-grid article:last-child{border-right:0}.nw-grid h3{margin:0;font-family:Arial,Helvetica,sans-serif;font-size:clamp(12px,1.35vw,23px);font-weight:600;letter-spacing:.01em}.nw-weather-icon{min-height:0;height:100%;display:grid;place-items:center;overflow:hidden}.weather-symbol{display:block;width:clamp(64px,6vw,102px);height:auto;max-width:100%;max-height:clamp(58px,7.8vh,86px);object-fit:contain;filter:drop-shadow(0 7px 8px #00112e77);user-select:none}.wx-sun{fill:#ffc928;stroke:#fff0a0;stroke-width:2.5;stroke-linecap:round}.wx-sun-rim{fill:#f6aa00;stroke:#ffe788;stroke-width:1.3}.wx-sun-glint{fill:#fff8c9;stroke:none;opacity:.68}.wx-moon{fill:#f2f6ff;stroke:#bad8ff;stroke-width:1.5}.wx-nightwatch .wx-moon-shadow{fill:#071a3b;stroke:none}.wx-cloud{stroke:#d8ebff;stroke-width:1.15}.wx-cloud-highlight{fill:#fff;stroke:none;opacity:.58}.wx-nightwatch .wx-cloud{stroke:#bad4ff}.wx-nightwatch .wx-cloud-highlight{fill:#cadcff;opacity:.27}.wx-rain,.wx-fog{fill:none;stroke:#55d8ff;stroke-width:4;stroke-linecap:round}.wx-snow{fill:none;stroke:#e6f7ff;stroke-width:2.7;stroke-linecap:round}.wx-ice{fill:#a7efff;stroke:#fff;stroke-width:1}.wx-storm{fill:#ffd43d;stroke:#fff1a6;stroke-width:1.3}.daybreak-screen .weather-symbol{filter:drop-shadow(0 6px 8px #004f8799)}.nightwatch-screen .weather-symbol{filter:drop-shadow(0 6px 8px #000c26cc)}.nw-grid article p{margin:0;font-family:Arial,Helvetica,sans-serif;font-size:clamp(18px,1.85vw,31px);font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:0;white-space:nowrap}.nw-outlook .nw-grid article{padding-top:4px}.nw-outlook .nw-grid article{padding:5px 5px 8px}.nw-outlook .nw-weather-icon{height:100%;min-height:0;width:100%;overflow:hidden}.nw-outlook .weather-symbol{width:clamp(62px,5.5vw,94px);max-height:clamp(48px,6.4vh,70px);margin:0 auto}.nw-outlook .nw-grid article p{position:relative;z-index:2;font-size:clamp(16px,1.45vw,24px);line-height:1;margin-top:5px}.nw-settings{position:absolute;right:1.2%;top:8%;color:#fff}.nw-stale{display:none}.nw-status-banner{position:absolute;top:2.4%;right:3%;width:min(40%,760px);z-index:5;box-sizing:border-box;padding:clamp(8px,.75vw,13px) clamp(12px,1.2vw,22px);border:1px solid #ff777d;border-radius:9px;background:linear-gradient(90deg,#8f101b,#b21724);box-shadow:0 6px 20px #3b000088,inset 0 1px #ffffff24;color:#fff;text-align:center;font-weight:800;font-size:clamp(10px,1vw,17px);letter-spacing:.055em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nw-status-banner[hidden]{display:none}body[data-freshness=stale] .nw-live{visibility:hidden}.layout-quarter .nw-hero-art{left:5%;top:20%;width:25%;height:30%}.layout-quarter .nw-current{left:30%;top:20%;width:22%}.layout-quarter .nw-metrics{right:3%;top:17%;width:42%}.layout-quarter .nw-hourly{display:none}.layout-quarter .nw-outlook{top:62%;height:34%}.layout-quarter .nw-outlook .nw-grid{grid-template-columns:repeat(5,1fr)}.layout-quarter.has-weather-alert .nw-outlook{top:70%;height:27%}.layout-quarter .broadcast-alert{top:54%}.layout-eighth{min-height:0}.layout-eighth .nw-heading{left:5%;top:7%;width:58%}.layout-eighth .location-line{flex-wrap:wrap;gap:3px 10px}.layout-eighth .nw-heading h1{font-size:clamp(18px,4vw,38px)}.layout-eighth .nw-heading p,.layout-eighth .nw-sun-cycle{display:none}.layout-eighth .change-location{font-size:clamp(8px,1.1vw,11px)}.layout-eighth .nw-live{right:4%;top:7%;font-size:clamp(9px,1.25vw,13px)}.layout-eighth .nw-hero-art{left:4%;top:28%;width:38%;height:43%}.layout-eighth .nw-current{left:42%;top:30%;width:52%}.layout-eighth .nw-temp{font-size:clamp(72px,18vw,150px)}.layout-eighth .nw-condition{margin-top:10px;font-size:clamp(14px,3vw,24px)}.layout-eighth .nw-metrics,.layout-eighth .nw-hourly,.layout-eighth .nw-outlook{display:none}.layout-eighth .broadcast-alert{inset:auto 4% 5%;height:18%;grid-template-columns:clamp(34px,7vw,52px) 1fr;padding:6px 12px}.layout-eighth .broadcast-alert strong{font-size:clamp(10px,2.1vw,16px)}.layout-eighth .broadcast-alert span{font-size:clamp(8px,1.5vw,12px)}.layout-eighth.has-weather-alert .nw-hero-art{top:23%;height:36%}.layout-eighth .nw-hero-art .weather-symbol{transform:none}.layout-eighth.has-weather-alert .nw-current{top:24%}.layout-eighth.has-weather-alert .nw-temp{font-size:clamp(58px,12vw,105px)}.layout-eighth.has-weather-alert .nw-condition{margin-top:5px;font-size:clamp(12px,2.4vw,19px)}.layout-eighth.has-weather-alert .nw-flourish{margin-top:10px}.layout-eighth .nw-status-banner{right:3%;width:55%}.layout-eighth .enterprise-watermark{bottom:3px}.enterprise-watermark{position:absolute;right:12px;bottom:2px;z-index:7;color:#fff;font:400 clamp(7px,.52vw,10px)/1 Arial,Helvetica,sans-serif;letter-spacing:.035em;opacity:.46;white-space:nowrap;text-shadow:0 1px 4px #00142c;pointer-events:none}.setup .enterprise-watermark{color:#31516a;text-shadow:none}.metric-heat{color:#ffad32}.metric-flood{color:#59d7ff}.metric-storm-alert{color:#ffd34d}.metric-winter{color:#dff7ff}.metric-air-quality{color:#c6d5df}.metric-fire{color:#ff8a52}@media(max-height:680px){.nw-heading{top:3%}.nw-current{top:14%}.nw-metrics{top:11%}.nw-hourly{top:51%;height:23%}.nw-outlook{top:75%;height:23%}.nw-grid article{padding-top:3px}}@media(max-width:1200px),(max-height:720px){.broadcast-screen{padding:18px}.nw-heading{left:3.2%;top:3%;width:45%}.nw-heading h1{font-size:clamp(28px,4vw,48px)}.nw-heading h1.long-location{font-size:clamp(23px,3.3vw,40px)}.nw-heading p{margin-top:4px;font-size:clamp(13px,1.55vw,19px)}.nw-live{right:2.6%;top:2.8%;font-size:clamp(11px,1.15vw,15px)}.nw-status-banner{right:2.6%;top:2%;width:40%}.nw-hero-art{left:9%;top:11%;width:30%;height:30%}.nw-current{left:43%;top:14%;width:25%}.nw-temp{font-size:clamp(82px,13.5vw,150px)}.nw-condition{margin-top:12px;font-size:clamp(16px,1.9vw,24px)}.nw-metrics{right:2.2%;top:12%;width:29%}.nw-metrics>div{grid-template-columns:clamp(30px,3vw,40px) 1fr;height:clamp(35px,5.8vh,46px);font-size:clamp(10px,1.2vw,15px)}.metric-symbol{width:clamp(22px,2.3vw,31px);height:clamp(25px,2.7vw,35px)}.nw-hourly{top:52%;height:23%}.nw-outlook{top:76%;height:22%}.nw-strip h2{height:24px;padding-left:15px;font-size:clamp(12px,1.25vw,17px)}.nw-grid{height:calc(100% - 24px)}.nw-grid article{padding:3px 3px 5px}.nw-grid h3{font-size:clamp(11px,1.3vw,16px)}.nw-grid article p{font-size:clamp(16px,1.8vw,22px)}.nw-outlook .nw-grid article p{font-size:clamp(14px,1.4vw,19px)}.weather-symbol{width:clamp(52px,5.5vw,72px);max-height:clamp(45px,7vh,60px)}.nw-outlook .weather-symbol{width:clamp(48px,5vw,66px);max-height:clamp(39px,5.8vh,52px)}.enterprise-watermark{right:7px;font-size:7px}}@media(max-aspect-ratio:4/3){.forecast{grid-template-columns:repeat(3,1fr)}.forecast article:nth-child(n+4){display:none}}
