.fdPage{max-width:560px}.fdContent{padding:12px 12px max(20px,env(safe-area-inset-bottom));max-width:560px;margin:auto}
.fdLocation{display:flex;align-items:center;gap:17px;margin:14px 6px 22px}.fdLocation .citySearchBack{flex:none}.fdLocation>a:last-child{display:flex;align-items:flex-start;gap:10px;color:inherit;text-decoration:none}.fdLocation strong{font-size:21px;font-weight:600}.fdLocation small{display:block;font-size:13px;margin-top:6px;color:#e3edf5}.fdLocation .icon{width:20px;height:26px}.fdLocation .icon:last-child{width:15px}
.fdTabs{position:relative;display:grid;grid-template-columns:.83fr 1fr 1fr .83fr;gap:5px;margin:0 4px 18px;isolation:isolate}.fdTabs>a,.fdTabs>button{display:grid;place-items:center;min-height:44px;padding:8px 2px;font-size:14px;border-radius:24px;border:1px solid #daeaf747;background:#1230441a;color:#f4f9fc;text-decoration:none;white-space:nowrap}.fdTabs>a[aria-current=page]{border-color:transparent;background:none}.fdTabs:before{content:'';position:absolute;left:calc((100% - 15px)*.83/3.66 + 5px);width:calc((100% - 15px)/3.66);top:0;bottom:0;z-index:-1;border-radius:24px;border:1px solid #adefff;background:linear-gradient(112deg,#0383cda8,#1997d487 58%,#6acbfa8a);box-shadow:inset 0 1px 2px #e8ffff66,0 0 10px #23bdff6b;transition:transform .28s}.fdPage[data-period="10"] .fdTabs:before{transform:translateX(calc(100% + 5px))}
.fdHero{display:grid;grid-template-columns:32% 37% 31%;min-height:148px;border-radius:23px;margin:0 0 12px;padding:15px 9px;align-items:center}.fdHeroTemp{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0;padding-right:7px}.fdHeroTemp>.weatherIcon{width:91px;height:70px;filter:drop-shadow(0 0 9px #daf5ff40)}.fdHeroTemp>strong{font-size:39px;line-height:1.1;font-weight:600}.fdHeroTemp>small{font-size:10px;white-space:normal;margin-top:4px;color:#eef5f9}.fdHeroMiddle{border-left:1px solid #ffffff45;padding:0 10px;min-width:0}.fdHeroMiddle h2{font-size:18px;line-height:1.1;margin:0 0 9px;font-weight:600}.fdHeroMiddle p{font-size:11px;line-height:1.4;margin:0}.fdCondition{border-top:1px solid #dcefff22;border-bottom:1px solid #dcefff22;padding:10px 0;margin:8px 0;font-size:12px;line-height:1.25}.fdSunTimes{display:flex;gap:6px;flex-wrap:wrap;font-size:10px}.fdSunTimes>span{display:flex;align-items:center;gap:3px}.fdSunTimes .weatherIcon{width:17px;height:17px}.fdHeroStats{display:grid;gap:10px;font-size:9px;line-height:1.25}.fdHeroStats>div{display:flex;align-items:center;gap:5px}.fdHeroStats .icon,.fdSymbol{width:16px;height:16px;flex:none;font-size:20px;line-height:16px}.fdHeroStats b{font-weight:500;white-space:nowrap}
.fdList{display:grid;gap:0;margin:0 0 13px}.fdDay{border-radius:18px;overflow:hidden}.fdDay+.fdDay{margin-top:-1px}.fdDayButton{display:grid;grid-template-columns:62px 36px minmax(70px,1fr) 66px 38px 10px;gap:3px;align-items:center;width:100%;min-height:56px;padding:7px 8px;border:0;background:none;text-align:left;color:inherit}.fdDayButton:active{transform:scale(.99)}.fdDayDate strong{display:block;font-size:14px;line-height:1.15;font-weight:500}.fdDayDate small{display:block;font-size:10px;margin-top:4px;line-height:1.15}.fdDayIcon .weatherIcon{width:35px;height:39px}.fdDayTemps>span{display:flex;gap:8px;white-space:nowrap}.fdDayTemps b{font-size:18px;line-height:1.1;font-weight:600}.fdMin{color:#39cbff;text-shadow:0 0 8px #28c9ff25}.fdMax{color:#ff9c3f;text-shadow:0 0 8px #ffb74425}.fdDayTemps small{display:block;font-size:10px;line-height:1.2;margin-top:4px;color:#eff6fa}.fdSpark{display:block;width:100%;height:auto;overflow:visible}.fdPoint{filter:drop-shadow(0 0 3px var(--point-color))}.fdRain{display:flex;align-items:center;gap:3px;white-space:nowrap;font-size:11px}.fdRain>.icon{width:13px;height:20px;color:#2ed0ff;filter:drop-shadow(0 0 4px #2ed0ff30)}.fdDayArrow.icon{width:11px;height:19px}.fdNoCurve{font-size:9px;color:#d0e1ec}
.fdPage .fdDay.fdSelected{background:linear-gradient(115deg,#0078b67a,#167caa65,#6bc9f044);border-color:#93e8ffcc;box-shadow:inset 0 0 1px #d9ffffaa,0 0 10px #29bfff55;z-index:1}.fdPage[data-period="10"] .fdDayButton{min-height:44px;padding-top:4px;padding-bottom:4px}.fdPage[data-period="10"] .fdDayIcon .weatherIcon{height:34px}.fdPage[data-period="10"] .fdDayDate strong{font-size:13px}.fdPage[data-period="10"] .fdDayTemps b{font-size:17px}
.fdDayDetails{padding:12px;border-top:1px solid #d7edff40;font-size:13px;line-height:1.5}.fdDetailHead{display:flex;align-items:center;justify-content:space-between;gap:8px}.fdDetailHead h3{margin:0;font-size:16px}.fdDetailHead button{width:44px;height:44px;border:0;background:none;font-size:26px}.fdDayDetails>.fdSpark{max-width:360px;margin:8px auto;height:90px}.fdHours{display:flex;overflow-x:auto;gap:5px;margin:12px 0;padding-bottom:5px;scrollbar-width:thin}.fdHours button{flex:0 0 56px;display:flex;flex-direction:column;align-items:center;gap:5px;min-height:100px;border-radius:12px;border:1px solid #c3e9ff44;background:#102e4538;padding:8px 3px;font-size:12px}.fdHours .weatherIcon{width:28px;height:28px}.fdHours button[aria-pressed=true]{border-color:#8fe8ff;background:#35b8e73d}.fdHourDescription{min-height:40px}.fdPlanDay{display:inline-flex;align-items:center;min-height:44px;color:#8be6ff}
.fdActions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px;margin:0 3px}.fdActions>a,.fdActions>button{display:flex;align-items:center;justify-content:center;gap:6px;text-align:left;min-height:58px;padding:10px 8px;border-radius:22px;color:inherit;font-size:11px;text-decoration:none;font-weight:400;line-height:1.4}.fdActions .icon{width:24px;height:30px;flex:none}.fdActions .fdActionArrow{font-size:21px}.fdActions button[aria-disabled=true],.fdTabs button[aria-disabled=true]{cursor:default}
.fdFoot{font-size:10px;color:#d3e4edcf;line-height:1.5;text-align:center;margin:12px 6px 0}.fdFoot a{color:inherit}.fdPeriodNote{font-size:10px;line-height:1.4;margin:8px 6px;color:#d5e4ed}.fdSummary{margin:12px 3px;padding:10px 12px;border-radius:18px;font-size:12px;line-height:1.5}.fdSummary summary{cursor:pointer;min-height:28px}.fdEmpty{padding:25px;font-size:14px;line-height:1.5}.fdError:empty{display:none}.fdError{font-size:12px;margin:10px 6px;color:#fff0cd}.fdPage button:focus-visible,.fdPage a:focus-visible{outline:2px solid #b4efff;outline-offset:-3px}
@media(min-width:480px){.fdContent{padding:14px 16px 22px}.fdHero{min-height:190px;padding:20px 12px}.fdHeroTemp>.weatherIcon{width:125px;height:95px}.fdHeroTemp>strong{font-size:48px}.fdHeroTemp>small{font-size:12px}.fdHeroMiddle h2{font-size:23px}.fdHeroMiddle p{font-size:13px}.fdCondition{font-size:15px}.fdHeroStats{font-size:11px;gap:13px}.fdHeroStats .icon{width:21px;height:21px}.fdSunTimes{font-size:12px}.fdDayButton{grid-template-columns:84px 49px minmax(95px,1fr) 89px 50px 13px;min-height:73px;padding:9px 10px;gap:5px}.fdDayDate strong{font-size:17px}.fdDayDate small{font-size:12px}.fdDayIcon .weatherIcon{width:47px;height:50px}.fdDayTemps b{font-size:23px}.fdDayTemps small{font-size:12px}.fdRain{font-size:13px}.fdPage[data-period="10"] .fdDayButton{min-height:54px}.fdPage[data-period="10"] .fdDayDate strong{font-size:16px}.fdPage[data-period="10"] .fdDayTemps b{font-size:22px}.fdPage[data-period="10"] .fdDayIcon .weatherIcon{height:42px}.fdActions>a,.fdActions>button{min-height:72px;font-size:14px}.fdActions .icon{width:30px;height:34px}}
@media(max-width:359px){.fdContent{padding-left:8px;padding-right:8px}.fdDayButton{grid-template-columns:51px 28px minmax(60px,1fr) 48px 34px 8px;gap:2px;padding:7px 5px}.fdDayDate strong{font-size:12px}.fdDayTemps b{font-size:16px}.fdDayTemps>span{gap:5px}.fdDayIcon .weatherIcon{width:29px}.fdDayTemps small{font-size:9px}.fdRain{font-size:10px}.fdHero{grid-template-columns:30% 39% 31%;padding:12px 5px}.fdHeroTemp>strong{font-size:32px}.fdHeroTemp>.weatherIcon{width:75px;height:65px}.fdHeroMiddle{padding:0 6px}.fdHeroMiddle h2{font-size:16px}.fdHeroStats{font-size:8px;gap:8px}.fdHeroStats>div{gap:3px}.fdTabs>a,.fdTabs>button{font-size:12px}.fdActions>a,.fdActions>button{font-size:10px;padding:8px 5px}.fdActions .icon{width:20px}.fdLocation{margin-bottom:16px}}
@media(prefers-reduced-motion:reduce){.fdPage *,.fdPage *:before,.fdPage *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Keep all three actions inside the mobile viewport; labels stay on one line. */
.fdContent,.fdPage{box-sizing:border-box;width:100%;min-width:0}.fdActions{grid-template-columns:repeat(3,minmax(0,1fr));margin:0;max-width:100%;gap:5px}.fdActions>a,.fdActions>button{min-width:0;width:100%;box-sizing:border-box;padding:10px 5px;gap:4px;font-size:clamp(9px,2.35vw,12px);white-space:nowrap}.fdActions span{white-space:nowrap;min-width:0}.fdActions .icon{width:18px;height:25px}.fdActions .fdActionArrow{font-size:17px;flex:none}@media(max-width:479px){.fdActions .icon{display:none}.fdActions>a,.fdActions>button{font-size:clamp(9px,2.55vw,12px)}}
