.page-screen{height:100%;overflow-y:auto;overscroll-behavior:contain;padding:calc(16px + env(safe-area-inset-top)) 14px 28px;background:radial-gradient(circle at 70% 0,rgba(27,101,180,.24),transparent 32%),linear-gradient(180deg,#061b32,#020c18);scrollbar-width:none}.page-screen::-webkit-scrollbar{display:none}.page-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.page-back{height:40px;padding:0 14px;border-radius:15px;background:rgba(255,255,255,.09);color:#eaf7ff;font-size:13px;font-weight:800;border:1px solid rgba(255,255,255,.09)}.page-brand{font-size:13px;color:#8cb7dc;font-weight:800}.page-hero{min-height:150px;padding:20px;border-radius:26px;background:linear-gradient(135deg,#145b9f,#0a315e);border:1px solid rgba(133,207,255,.21);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.page-hero.red{background:linear-gradient(135deg,#813446,#49263a);border-color:rgba(255,104,128,.31)}.page-hero.purple{background:linear-gradient(135deg,#493a99,#203668)}.page-hero.cyan{background:linear-gradient(135deg,#08727a,#093c58)}.page-hero::after{content:"";position:absolute;width:170px;height:170px;right:-80px;top:-80px;border-radius:50%;background:rgba(255,255,255,.08)}.page-kicker{font-size:10px;font-weight:900;letter-spacing:.16em;color:#a8d7f7}.page-hero h2{font-size:31px;letter-spacing:-.05em;margin:8px 0 0}.page-hero p{max-width:85%;font-size:13px;line-height:1.5;color:#c7dff1;margin:9px 0 0}.page-section{margin-top:12px;padding:16px;border-radius:21px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08)}.page-section strong{font-size:15px}.page-section p{font-size:12px;line-height:1.55;color:#a9c2db;margin:6px 0 0}.placeholder-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:58px;border-bottom:1px solid rgba(255,255,255,.07)}.placeholder-row:last-child{border-bottom:0}.placeholder-row span{font-size:12px;color:#adc5dd}.placeholder-row b{font-size:13px}.setting-row{display:flex;align-items:center;justify-content:space-between;min-height:64px;border-bottom:1px solid rgba(255,255,255,.08)}.setting-row:last-child{border-bottom:0}.setting-copy strong{display:block;font-size:14px}.setting-copy span{display:block;font-size:10px;color:#8ea9c4;margin-top:3px}.switch{width:44px;height:26px;padding:3px;border-radius:20px;background:#31516e}.switch::after{content:"";display:block;width:20px;height:20px;border-radius:50%;background:#fff}.switch.on{background:#2ccf8f}.switch.on::after{transform:translateX(18px)}
.settings-actions{display:grid;gap:8px}.settings-action{width:100%;min-height:58px;display:flex;align-items:center;gap:11px;padding:10px 12px;text-align:left;border-radius:17px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);color:#edf8ff;font-size:18px}.settings-action span{min-width:0}.settings-action strong{display:block;font-size:13px}.settings-action small{display:block;margin-top:3px;color:#8eabc6;font-size:10px}.settings-action-primary{background:linear-gradient(135deg,rgba(17,132,255,.38),rgba(15,83,185,.24));border-color:rgba(88,184,255,.24)}.privacy-link{margin-top:9px;padding:9px 0;background:transparent;color:#7fa8cd;font-size:11px;font-weight:800}.app-meta-card{margin-bottom:8px}

/* v3.4 live weather */
.weather-page{background:radial-gradient(circle at 72% 0,rgba(42,150,255,.27),transparent 34%),linear-gradient(180deg,#071d38,#020c18)}
.weather-hero-live{padding:18px;border-radius:27px;background:linear-gradient(135deg,#2d78ce 0%,#2459ae 52%,#17467f 100%);border:1px solid rgba(180,225,255,.28);box-shadow:0 18px 42px rgba(0,35,101,.32),inset 0 1px 0 rgba(255,255,255,.13);overflow:hidden;position:relative}.weather-hero-live::after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;right:-85px;top:-95px;background:radial-gradient(circle,rgba(255,255,255,.21),transparent 68%)}
.weather-hero-main{display:flex;align-items:center;gap:14px;position:relative;z-index:1}.weather-page-icon{width:78px;height:78px;filter:drop-shadow(0 10px 18px rgba(0,38,94,.28));flex:0 0 auto}.weather-page-copy{min-width:0}.weather-page-copy .page-kicker{color:#d7efff}.weather-page-line{display:flex;align-items:center;gap:12px;margin-top:5px}.weather-page-line>strong{font-size:43px;line-height:1;font-weight:950;letter-spacing:-.07em}.weather-page-line b{display:block;font-size:15px;line-height:1.08}.weather-page-line small{display:block;margin-top:5px;color:#cbe6fa;font-size:10px}
.weather-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:16px;position:relative;z-index:1}.weather-metrics>div{min-width:0;padding:9px 7px;border-radius:15px;background:rgba(7,43,86,.24);border:1px solid rgba(255,255,255,.12);text-align:center}.weather-metrics span{display:block;color:#d1eaff;font-size:9px}.weather-metrics b{display:block;margin-top:4px;font-size:12px;white-space:nowrap}
.weather-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:12px}.weather-section-head strong{display:block;margin-top:4px;font-size:17px}.weather-section-head>span{padding:5px 8px;border-radius:99px;background:rgba(69,221,165,.11);color:#69e3ad;font-size:9px;font-weight:900}.weather-hourly{display:flex;gap:8px;overflow-x:auto;padding-bottom:3px;scrollbar-width:none}.weather-hourly::-webkit-scrollbar{display:none}.weather-hour{min-width:74px;padding:10px 7px;border-radius:17px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.07);text-align:center}.weather-hour time{display:block;color:#a8c8e4;font-size:9px;font-weight:800}.weather-hour img{width:37px;height:37px;margin:7px auto 4px}.weather-hour strong{display:block;font-size:16px}.weather-hour small{display:block;margin-top:4px;color:#77bff0;font-size:9px}
.weather-days{display:grid;gap:7px}.weather-day{min-height:58px;display:grid;grid-template-columns:minmax(80px,1fr) 38px auto auto;align-items:center;gap:10px;padding:8px 10px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.06)}.weather-day-name strong{display:block;font-size:12px}.weather-day-name small{display:block;margin-top:3px;color:#8faec9;font-size:9px}.weather-day img{width:34px;height:34px}.weather-day-rain{color:#68bdf5;font-size:10px;font-weight:800}.weather-day-temp{font-size:13px;font-weight:900;white-space:nowrap}.weather-day-temp span{color:#7ea0bd}
.weather-source{padding:13px 2px 2px;text-align:center;color:#6685a2;font-size:9px;line-height:1.4}.weather-source a{color:#85bfe8;text-decoration:underline}.weather-loading{width:100%;padding:18px 8px;text-align:center;color:#89a8c3;font-size:11px}.weather-error{color:#ff9aaa}
@media(max-width:360px){.weather-hero-live{padding:15px}.weather-page-icon{width:66px;height:66px}.weather-page-line>strong{font-size:38px}.weather-metrics{gap:5px}.weather-metrics>div{padding:8px 4px}.weather-metrics span{font-size:8px}.weather-metrics b{font-size:11px}.weather-day{grid-template-columns:minmax(70px,1fr) 34px auto auto;gap:6px;padding:7px}}

/* v3.4 — richer weather detail screen */
.weather-page{background:radial-gradient(circle at 85% 4%,rgba(83,214,255,.25),transparent 30%),radial-gradient(circle at 10% 28%,rgba(79,77,230,.18),transparent 32%),linear-gradient(180deg,#071f42,#020c19)}
.weather-hero-live{background:linear-gradient(135deg,#118fdf 0%,#1769cc 46%,#453ba5 100%);border-color:rgba(204,239,255,.30);box-shadow:0 20px 46px rgba(0,38,115,.36),inset 0 1px 0 rgba(255,255,255,.18)}.weather-page-glow{position:absolute;right:-65px;top:-85px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,224,82,.50),rgba(86,215,255,.16) 42%,transparent 70%)}.weather-hero-live::after{display:none}
.weather-page-icon-orb{width:86px;height:86px;display:grid;place-items:center;flex:0 0 auto;border-radius:27px;background:linear-gradient(145deg,rgba(255,255,255,.24),rgba(255,255,255,.07));border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 13px 28px rgba(0,36,101,.22)}.weather-page-icon{width:72px;height:72px}.weather-page-feels{margin-left:auto;position:relative;z-index:1;min-width:80px;padding:8px 9px;border-radius:16px;background:rgba(5,40,105,.20);border:1px solid rgba(255,255,255,.13);text-align:center}.weather-page-feels span{display:block;color:#dbf0ff;font-size:8px;font-weight:800}.weather-page-feels b{display:block;margin-top:3px;font-size:19px;line-height:1;font-weight:950}
.weather-metrics-rich{grid-template-columns:repeat(3,1fr);gap:7px}.weather-metrics-rich>div{display:grid;grid-template-columns:19px minmax(0,1fr);grid-template-rows:auto auto;column-gap:6px;text-align:left;padding:8px}.weather-metrics-rich>div>img{grid-row:1/3;width:18px;height:18px;align-self:center}.weather-metrics-rich span{font-size:8px}.weather-metrics-rich b{font-size:11px;margin-top:2px;overflow:hidden;text-overflow:ellipsis}
.daylight-card{background:linear-gradient(135deg,rgba(38,83,133,.32),rgba(38,48,108,.30));border-color:rgba(255,224,137,.10)}.daylight-head>span{background:rgba(255,213,92,.10);color:#ffe49a}.daylight-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.daylight-item{display:flex;align-items:center;gap:9px;min-height:58px;padding:8px 10px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07)}.daylight-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:rgba(255,215,102,.11)}.daylight-icon.sunset{background:rgba(255,146,98,.10)}.daylight-icon img{width:25px;height:25px}.daylight-item small{display:block;color:#93b1ce;font-size:8px}.daylight-item strong{display:block;margin-top:3px;font-size:15px}
.weather-page.weather-theme-clear .weather-hero-live{background:linear-gradient(135deg,#0b9ee8,#1677de 48%,#4057ca)}.weather-page.weather-theme-clear .weather-page-glow{background:radial-gradient(circle,rgba(255,232,83,.75),rgba(255,179,45,.20) 38%,transparent 70%)}
.weather-page.weather-theme-cloudy .weather-hero-live{background:linear-gradient(135deg,#4380bb,#475d9e 52%,#4c4787)}.weather-page.weather-theme-rain .weather-hero-live{background:linear-gradient(135deg,#0876b9,#1457a5 50%,#283c84)}.weather-page.weather-theme-thunder .weather-hero-live{background:linear-gradient(135deg,#4058b8,#493c9a 48%,#3a286b)}
@media(max-width:380px){.weather-page-icon-orb{width:74px;height:74px;border-radius:23px}.weather-page-icon{width:62px;height:62px}.weather-page-feels{min-width:68px;padding:7px 6px}.weather-page-feels span{font-size:7px}.weather-page-feels b{font-size:17px}.weather-metrics-rich{gap:5px}.weather-metrics-rich>div{padding:7px 5px;grid-template-columns:15px minmax(0,1fr);column-gap:4px}.weather-metrics-rich>div>img{width:15px;height:15px}.weather-metrics-rich b{font-size:10px}.daylight-item{padding:7px}.daylight-icon{width:34px;height:34px}}

/* v3.5 — denser current conditions, no daylight block, 10-day horizontal forecast. */
.weather-hero-v35{padding-bottom:13px}.weather-hero-v35 .weather-hero-main{align-items:center}.weather-hero-v35 .weather-page-feels{display:flex!important;flex-direction:column;align-items:center;justify-content:center;min-width:78px;min-height:58px;padding:8px;border-radius:16px;background:rgba(3,35,88,.22);border:1px solid rgba(255,255,255,.14)}.weather-hero-v35 .weather-page-feels span{display:block;color:#d8efff;font-size:8px;font-weight:800}.weather-hero-v35 .weather-page-feels b{display:block;margin-top:3px;font-size:20px;line-height:1;font-weight:950}
.weather-source-minimal{margin:12px 2px 6px;color:#6583a0;font-size:9px;line-height:1.4;text-align:center}.weather-source-minimal a{color:#7ba4c8;text-decoration:underline;text-decoration-color:rgba(123,164,200,.35);text-underline-offset:2px}
.weather-days-rail{display:flex!important;gap:8px!important;overflow-x:auto!important;overflow-y:hidden!important;padding:2px 1px 8px;scroll-snap-type:x proximity;scrollbar-width:none}.weather-days-rail::-webkit-scrollbar{display:none}.weather-days-rail .weather-day{flex:0 0 118px;min-height:152px;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:7px!important;padding:11px!important;border-radius:18px!important;background:linear-gradient(155deg,rgba(33,99,169,.50),rgba(15,45,91,.64))!important;border:1px solid rgba(154,215,255,.12)!important;scroll-snap-align:start}.weather-days-rail .weather-day-name{display:block!important;width:100%}.weather-days-rail .weather-day-name strong{display:block;font-size:12px}.weather-days-rail .weather-day-name small{display:block;margin-top:3px;color:#9fc4e3;font-size:8px;line-height:1.2}.weather-days-rail .weather-day>img{width:42px!important;height:42px!important;align-self:center;filter:drop-shadow(0 8px 12px rgba(0,26,70,.23))}.weather-days-rail .weather-day-rain{font-size:9px;color:#a9d7f7}.weather-days-rail .weather-day-wind{font-size:9px;color:#9dbbd4}.weather-days-rail .weather-day-temp{margin-top:auto;width:100%;font-size:17px!important;font-weight:950;text-align:center}.weather-days-rail .weather-day-temp span{color:#8fb3d3;font-size:13px}.weather-days-card .weather-section-head>span{font-size:9px;color:#7fa5c4;font-weight:800}
