:root{--ink:#173640;--muted:#708891;--line:rgba(24,62,73,.10);--teal:#08b99d;--teal-dark:#087f72;--mint:#edf9f6;--panel:#fff;--bg:#f4f8f7;--shadow:0 12px 34px rgba(25,55,64,.075);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#f8fbfa 0,#f3f7f6 48%,#f7faf9 100%);color:var(--ink)}a{color:inherit;text-decoration:none}.city-top{position:sticky;top:0;z-index:30;min-height:78px;padding:14px clamp(18px,3vw,42px);display:grid;grid-template-columns:auto minmax(300px,660px) 1fr auto;gap:16px;align-items:center;background:rgba(250,253,252,.91);border-bottom:1px solid var(--line);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.city-brand{display:flex;align-items:center;gap:9px;white-space:nowrap;font-size:20px}.brand-radar{width:38px;height:38px;border:2px solid var(--teal);border-radius:50%;display:grid;place-items:center;color:var(--teal);font-size:26px;line-height:1}.city-search{height:48px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 7px 24px rgba(31,62,70,.055);display:flex;align-items:center;padding:0 15px;gap:10px}.city-search span{font-size:25px;color:#67838d}.city-search input{border:0;outline:0;width:100%;font:inherit;color:var(--ink);font-size:15px}.city-search input::placeholder{color:#90a3a9}.city-main-nav{display:flex;gap:6px;align-items:center;justify-content:flex-start;overflow:auto;scrollbar-width:none}.city-main-nav::-webkit-scrollbar{display:none}.city-main-nav a,.my-radar{padding:10px 13px;border-radius:12px;border:1px solid var(--line);background:#fff;font-size:13px;white-space:nowrap}.city-main-nav a.active{background:var(--mint);color:#087d70;border-color:rgba(8,185,157,.22)}.my-radar{font-weight:750;color:#087d70}.city-page{width:min(1420px,calc(100% - 40px));margin:0 auto;padding:28px 0 70px}.breadcrumbs{display:flex;align-items:center;gap:8px;font-size:12px;color:#80949b;margin:2px 0 22px}.breadcrumbs a:hover{color:var(--teal-dark)}.city-title-row{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.eyebrow{margin:0 0 5px;font-size:10px;letter-spacing:.12em;font-weight:850;color:#4d7a82}.city-title-row h1{font-size:clamp(29px,3vw,46px);line-height:1.05;margin:0 0 9px;letter-spacing:-.035em}.city-title-row>div>p:not(.eyebrow){margin:0;color:var(--muted);font-size:14px}.place-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.place-chips span{background:#fff;border:1px solid var(--line);padding:7px 9px;border-radius:9px;font-size:11px;font-weight:700;color:#506e77}.share-link{align-self:center;border:1px solid var(--line);background:#fff;padding:11px 14px;border-radius:12px;font-size:12px;font-weight:750;box-shadow:0 5px 18px rgba(31,62,70,.04)}.card{background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:19px;box-shadow:var(--shadow)}.hero-grid{display:grid;grid-template-columns:1.18fr 1fr .72fr;gap:14px}.card-head,.section-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.card-head{padding:17px 18px 0}.card-head strong{font-size:13px}.card-head small,.section-head>span{font-size:10px;color:#899ca3}.current-card{padding-bottom:17px}.current-main{display:flex;gap:17px;align-items:center;padding:18px}.weather-emoji{width:84px;height:84px;border-radius:22px;display:grid;place-items:center;font-size:52px;background:linear-gradient(145deg,#fff9e9,#f9fcfb);border:1px solid rgba(229,178,43,.12)}.current-main>div:last-child{display:grid;gap:3px}.big-temp{font-size:47px;font-weight:850;letter-spacing:-.05em}.current-main strong{font-size:16px}.current-main span{font-size:12px;color:var(--muted)}.current-stats{margin:-1px 18px 12px;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--line)}.current-stats span{padding:10px;background:#fbfdfd;font-size:10px;color:#82969d;display:flex;justify-content:space-between}.current-stats b{font-size:11px;color:var(--ink)}.today-range{margin:0 18px 11px;padding:10px 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;gap:18px;align-items:center;font-size:11px}.today-range b{margin-right:auto}.today-range span:first-of-type{color:#158f77}.today-range span:last-child{color:#628895}.smart-summary{margin:0 18px;background:linear-gradient(120deg,#edf9f6,#f5fbfa);border:1px solid rgba(8,185,157,.12);border-radius:13px;padding:12px 14px}.smart-summary b{font-size:10px;color:#337a72;letter-spacing:.04em}.smart-summary p{margin:6px 0 0;font-size:12px;line-height:1.5}.radar-card{display:flex;flex-direction:column;padding-bottom:13px}.map-frame{position:relative;height:286px;margin:14px;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#edf3f3}.map-frame iframe{width:100%;height:100%;border:0;filter:saturate(.72) contrast(.97)}.map-city-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;border-radius:999px;padding:8px 11px;box-shadow:0 6px 20px rgba(26,59,67,.15);font-size:11px;font-weight:800;color:#087d70}.card-action,.alert-card>a{margin:auto 14px 0;padding:10px;border-radius:10px;background:#f5faf9;text-align:center;font-size:11px;font-weight:800;color:#0a927d}.hero-side{display:grid;grid-template-rows:1fr 1fr;gap:14px}.alert-card,.sun-card{padding-bottom:14px}.ok-state{margin:14px;padding:14px;border-radius:13px;background:#edf9f6;display:flex;gap:10px;align-items:center}.ok-state>span{width:30px;height:30px;border:1px solid rgba(8,185,157,.3);border-radius:50%;display:grid;place-items:center;color:var(--teal-dark);font-weight:900}.ok-state div{display:grid;gap:3px}.ok-state b{font-size:11px}.ok-state small{font-size:9px;color:var(--muted);line-height:1.4}.sun-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:14px}.sun-grid>div{padding:12px 6px;text-align:center;border:1px solid var(--line);border-radius:12px;background:#fbfdfd;display:grid;gap:4px}.sun-grid span,.sun-grid small{font-size:9px;color:var(--muted)}.sun-grid b{font-size:16px}.forecast-block{margin-top:14px;padding:16px}.section-head{align-items:center}.section-head h2,.section-title h2,.advanced-card h2{margin:0;font-size:20px;letter-spacing:-.02em}.section-head p,.section-title p,.advanced-card p{margin:0}.scroll-shell{position:relative;margin-top:13px}.hour-row{display:flex;gap:7px;overflow:auto;scrollbar-width:none;scroll-snap-type:x proximity;padding:1px 1px 4px}.hour-row::-webkit-scrollbar{display:none}.hour-item{flex:0 0 88px;min-width:88px;scroll-snap-align:start;border:1px solid var(--line);background:#fbfdfd;border-radius:13px;padding:10px 6px;display:grid;place-items:center;gap:5px}.hour-item.now{background:var(--mint);border-color:rgba(8,185,157,.2)}.hour-item span,.hour-item small{font-size:9px;color:#758f97}.hour-item i{font-style:normal;font-size:25px}.hour-item strong{font-size:14px}.scroll-arrow{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:29px;height:45px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.86);box-shadow:0 5px 16px rgba(22,55,65,.1);font-size:23px;color:#416b75;opacity:0;pointer-events:none;transition:.15s}.scroll-arrow.show{opacity:.75;pointer-events:auto}.scroll-arrow.left{left:-9px}.scroll-arrow.right{right:-9px}.day-row{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:13px}.day-card{min-width:0;padding:13px 7px;border:1px solid var(--line);border-radius:13px;background:#fbfdfd;display:grid;place-items:center;gap:6px}.day-card.today{background:var(--mint);border-color:rgba(8,185,157,.18)}.day-card>span,.day-card small{font-size:9px;color:#6e8991}.day-card i{font-style:normal;font-size:26px}.day-card strong{font-size:14px}.day-card em{font-style:normal;color:#8ca0a6;font-weight:700}.section-title{margin:38px 0 14px}.section-title>p:last-child{margin-top:6px;color:var(--muted);font-size:12px}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.metric{background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px;min-height:115px;box-shadow:0 7px 24px rgba(25,55,64,.035);display:flex;flex-direction:column}.metric>span{font-size:11px;color:#55747d;font-weight:750}.metric strong{font-size:22px;margin-top:auto;padding-top:13px;letter-spacing:-.025em}.metric small{font-size:9px;color:#84989f;margin-top:4px;line-height:1.35}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.measured-card,.today-card{padding:17px}.measured-card .section-head,.today-card .section-head{margin-bottom:15px}.measured-main{display:flex;align-items:end;gap:13px;padding:4px 0 14px}.measured-main strong{font-size:34px}.measured-main span{font-size:10px;color:var(--muted);padding-bottom:5px}.measured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.measured-grid span{border:1px solid var(--line);border-radius:11px;padding:10px;font-size:9px;color:#7a9299;display:grid;gap:3px}.measured-grid b{font-size:12px;color:var(--ink)}.source-note{font-size:9px!important;line-height:1.5!important;color:#82959b!important;margin:13px 0 0!important}.insights{display:grid;gap:8px}.insights p{margin:0;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#fbfdfd;font-size:11px;line-height:1.5;display:flex;gap:9px}.insights span{color:var(--teal-dark);font-weight:900}.history-section{margin-top:42px}.history-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.history-summary article{padding:16px;border-radius:15px;background:#fff;border:1px solid var(--line);display:grid;gap:5px}.history-summary span{font-size:10px;color:#728a92}.history-summary strong{font-size:23px}.history-summary small{font-size:9px;color:#869aa1}.history-card{margin-top:10px;padding:17px}.history-card .section-head p{font-size:10px;color:var(--muted);margin-top:3px}.history-bars{height:230px;display:flex;align-items:end;gap:7px;margin-top:18px;overflow-x:auto;padding:0 2px 3px;scrollbar-width:thin}.history-day{flex:1 0 54px;min-width:54px;height:100%;display:grid;grid-template-rows:1fr auto auto auto auto;place-items:center;gap:2px}.bar-area{height:100%;width:20px;display:flex;align-items:end;background:#f0f5f4;border-radius:8px;overflow:hidden}.temp-bar{display:block;width:100%;background:linear-gradient(180deg,#f6b643,#f4d58f);border-radius:8px 8px 0 0}.history-day b{font-size:11px}.history-day em{font-style:normal;font-size:9px;color:#82969d}.history-day small{font-size:8px;color:#84989f}.history-day i{font-style:normal;font-size:8px;color:#46829a}.history-context{margin-top:10px;padding:17px 18px;border-radius:15px;background:linear-gradient(120deg,#edf9f6,#f7fbfa);border:1px solid rgba(8,185,157,.12)}.history-context strong{font-size:13px}.history-context p{font-size:10px;line-height:1.6;color:#637f87;margin:5px 0 0}.advanced-section{margin-top:12px}.advanced-card{background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow);overflow:hidden}.advanced-card summary{cursor:pointer;list-style:none;padding:17px;display:flex;justify-content:space-between;align-items:center}.advanced-card summary::-webkit-details-marker{display:none}.advanced-card summary>span{padding:8px 10px;background:#f3f8f7;border-radius:9px;font-size:10px;font-weight:800}.advanced-card p{font-size:10px;color:var(--muted);margin-top:4px}.advanced-grid{border-top:1px solid var(--line);padding:14px;display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.advanced-grid article{min-height:78px;padding:11px;border-radius:11px;background:#f8fbfa;border:1px solid rgba(24,62,73,.075);display:grid;align-content:space-between}.advanced-grid span{font-size:9px;color:#788f96}.advanced-grid strong{font-size:14px}.advanced-card>.source-note{padding:0 17px 17px;margin-top:0!important}.seo-section{margin-top:42px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.seo-section article{background:#fff;border:1px solid var(--line);border-radius:17px;padding:20px}.seo-section h2{font-size:17px;margin:0 0 9px}.seo-section p{font-size:11px;line-height:1.72;color:#5e7a82;margin:0 0 8px}.seo-section a{font-size:10px;font-weight:850;color:#078d79}.nearby-section{margin-top:12px;padding:20px;border-radius:18px;background:linear-gradient(115deg,#edf9f6,#f9fcfb);border:1px solid rgba(8,185,157,.12)}.nearby-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:13px}.nearby-grid span{background:#fff;border:1px solid var(--line);border-radius:11px;padding:11px;display:grid;gap:3px}.nearby-grid strong{font-size:10px}.nearby-grid small{font-size:9px;color:#83979d}.empty{font-size:11px;color:#82969d}.city-footer{padding:30px max(24px,calc((100% - 1420px)/2));border-top:1px solid var(--line);background:#fff;display:grid;grid-template-columns:2fr repeat(3,1fr);gap:30px}.city-footer>div{display:grid;align-content:start;gap:7px}.city-footer p,.city-footer span,.city-footer a{font-size:10px;color:#718991}.city-footer strong{font-size:11px}.city-footer .city-brand strong{font-size:17px;color:var(--ink)}
@media(max-width:1100px){.city-top{grid-template-columns:auto 1fr auto}.city-main-nav{grid-column:1/-1;order:3}.my-radar{grid-column:3;grid-row:1}.hero-grid{grid-template-columns:1fr 1fr}.hero-side{grid-column:1/-1;grid-template-columns:1fr 1fr;grid-template-rows:none}.metrics-grid{grid-template-columns:repeat(2,1fr)}.nearby-grid{grid-template-columns:repeat(3,1fr)}.advanced-grid{grid-template-columns:repeat(3,1fr)}.city-footer{grid-template-columns:2fr 1fr 1fr}}
@media(max-width:760px){.city-top{padding:10px 12px;grid-template-columns:auto 1fr;gap:9px}.city-brand{font-size:17px}.brand-radar{width:32px;height:32px;font-size:21px}.city-search{grid-column:1/-1;grid-row:2;height:44px}.city-main-nav{grid-column:1/-1;grid-row:3}.my-radar{display:none}.city-page{width:min(100% - 20px,720px);padding-top:17px}.breadcrumbs{overflow:auto;white-space:nowrap}.city-title-row{align-items:start}.share-link{display:none}.hero-grid{display:block}.radar-card,.hero-side{margin-top:10px}.hero-side{display:grid;grid-template-columns:1fr}.map-frame{height:220px}.day-row{display:flex;overflow-x:auto;scrollbar-width:none;padding-bottom:3px}.day-card{flex:0 0 100px}.metrics-grid{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.history-summary{grid-template-columns:repeat(2,1fr)}.advanced-grid{grid-template-columns:repeat(2,1fr)}.seo-section{grid-template-columns:1fr}.nearby-grid{grid-template-columns:repeat(2,1fr)}.city-footer{padding:25px 15px;grid-template-columns:1fr 1fr}.city-footer>div:first-child{grid-column:1/-1}.current-stats{grid-template-columns:1fr 1fr}.hour-item{flex-basis:78px;min-width:78px}.scroll-arrow{width:25px;height:40px;font-size:20px;background:rgba(255,255,255,.74)}.scroll-arrow.left{left:-5px}.scroll-arrow.right{right:-5px}}
@media(max-width:430px){.city-title-row h1{font-size:31px}.current-main{padding:15px}.weather-emoji{width:68px;height:68px;font-size:42px}.big-temp{font-size:40px}.hero-side{display:block}.hero-side .card+ .card{margin-top:10px}.metrics-grid{grid-template-columns:1fr 1fr;gap:7px}.metric{padding:12px;min-height:105px}.metric strong{font-size:18px}.measured-grid{grid-template-columns:repeat(2,1fr)}.history-summary{grid-template-columns:1fr 1fr}.advanced-grid{grid-template-columns:1fr 1fr}.nearby-grid{grid-template-columns:1fr 1fr}}

/* v0.4.4.0 · dlouhodobý archiv + oficiální výstrahy */
.warning-state,.unknown-state{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:16px;background:#fff7ec;border:1px solid #f4d4a9}
.warning-state>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff0d8;color:#b96609;font-weight:900;flex:0 0 auto}
.warning-state div,.unknown-state div{display:grid;gap:3px;min-width:0}
.warning-state small,.unknown-state small,.warning-time{color:#6f8086;line-height:1.45}
.unknown-state{background:#f5f8f8;border-color:#dde8e7}.unknown-state>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e9f3f2;color:#23786f;font-weight:800;flex:0 0 auto}
.warning-time{display:block;margin:9px 2px 0;font-size:12px}
.archive-title{margin-top:28px}
.archive-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}
.archive-summary article{display:grid;gap:6px;min-height:116px;padding:18px;border:1px solid #dfe9e8;border-radius:18px;background:linear-gradient(145deg,#fff,#f8fbfa);box-shadow:0 5px 18px rgba(18,54,60,.04)}
.archive-summary span{font-size:12px;color:#65777e;font-weight:700;line-height:1.35}.archive-summary strong{font-size:25px;letter-spacing:-.03em;color:#183f49}.archive-summary small{color:#809096;font-size:12px}
.archive-years-card{margin-top:12px;border:1px solid #dfe9e8;border-radius:20px;background:#fff;overflow:hidden}
.archive-years-card>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 19px}.archive-years-card>summary::-webkit-details-marker{display:none}.archive-years-card>summary div{display:grid;gap:3px}.archive-years-card>summary small{color:#7d8d92}.archive-years-card>summary>span{font-size:12px;color:#0b8d7d;font-weight:800}
.archive-years-table{border-top:1px solid #e5eeee;padding:8px 18px 16px;max-height:560px;overflow:auto}
.archive-year-head,.archive-year-row{display:grid;grid-template-columns:74px 1fr 1fr;gap:18px;align-items:center;padding:10px 4px}.archive-year-head{position:sticky;top:0;background:#fff;z-index:1;color:#71848a;font-size:11px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #edf2f1}.archive-year-row{border-bottom:1px solid #eef3f2;font-size:13px}.archive-year-row:last-child{border-bottom:0}.archive-year-row>span{position:relative;display:grid;grid-template-columns:78px 1fr;align-items:center;gap:10px;white-space:nowrap}.archive-year-row i{display:block;height:5px;border-radius:999px;background:#e8f0ef;overflow:hidden}.archive-year-row i::after{content:"";display:block;width:var(--w);height:100%;border-radius:inherit;background:linear-gradient(90deg,#20b7a2,#75a9ef)}
@media(max-width:820px){.archive-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-year-head,.archive-year-row{grid-template-columns:52px 1fr;gap:9px}.archive-year-head b:nth-child(3){display:none}.archive-year-row>span:nth-child(3){grid-column:2}.archive-years-table{padding-inline:12px}.archive-summary strong{font-size:21px}}
@media(max-width:520px){.archive-summary{grid-template-columns:1fr}.archive-summary article{min-height:0}.archive-year-row>span{grid-template-columns:72px 1fr}}

/* v0.4.5.0 · referenční SEO město */
.city-anchor-nav{position:sticky;top:78px;z-index:22;display:flex;gap:7px;overflow:auto;scrollbar-width:none;margin:-7px 0 18px;padding:7px;border:1px solid var(--line);border-radius:15px;background:rgba(250,253,252,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 8px 24px rgba(25,55,64,.045)}
.city-anchor-nav::-webkit-scrollbar{display:none}.city-anchor-nav a{flex:0 0 auto;padding:8px 11px;border-radius:10px;font-size:10px;font-weight:800;color:#617d85;white-space:nowrap}.city-anchor-nav a:hover{background:#edf8f5;color:#087d70}
.quick-answers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:14px}.quick-answers article{min-height:112px;padding:15px 16px;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:0 7px 22px rgba(25,55,64,.035);display:grid;align-content:start;gap:5px}.quick-answers span{font-size:10px;font-weight:800;color:#58737b}.quick-answers strong{font-size:16px;line-height:1.2;margin-top:5px;letter-spacing:-.015em}.quick-answers small{font-size:9px;line-height:1.45;color:#81959c}
.climate-context{margin-top:38px;padding:22px;border-radius:21px;background:linear-gradient(120deg,#eef9f6 0,#f8fbfa 58%,#fffaf1 100%);border:1px solid rgba(8,185,157,.14);box-shadow:0 12px 34px rgba(25,55,64,.045)}.compact-title{margin:0 0 15px}.climate-hero{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:9px}.climate-hero article{padding:16px;border-radius:15px;border:1px solid rgba(24,62,73,.09);background:rgba(255,255,255,.86);display:grid;gap:5px;align-content:start}.climate-hero article>span{font-size:10px;font-weight:750;color:#71878f}.climate-hero strong{font-size:25px;letter-spacing:-.03em}.climate-hero small,.climate-hero p{margin:0;font-size:9px;line-height:1.55;color:#748b92}.climate-lead{background:rgba(255,255,255,.96)!important;border-color:rgba(8,185,157,.22)!important}.climate-lead strong{font-size:31px}.climate-lead b{color:#087d70}.climate-note{margin:12px 2px 0;font-size:9px;line-height:1.55;color:#72888f}.soft-empty{padding:15px;border-radius:13px;background:rgba(255,255,255,.75);font-size:10px;color:#748b92}
.today-deep-dive{margin-top:13px;padding:17px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(25,55,64,.035)}.deep-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:13px}.deep-grid article{min-height:87px;padding:11px 12px;border-radius:12px;background:#f8fbfa;border:1px solid rgba(24,62,73,.075);display:grid;gap:4px;align-content:start}.deep-grid span{font-size:9px;font-weight:800;color:#627c84}.deep-grid strong{font-size:16px;margin-top:4px}.deep-grid small{font-size:8.5px;line-height:1.45;color:#83969d}
.station-trend{margin-top:12px;padding:17px}.trend-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(290px,.7fr);gap:14px;margin-top:14px}.trend-chart-wrap{min-width:0;border:1px solid var(--line);border-radius:14px;padding:13px;background:linear-gradient(180deg,#fbfefd,#f7fbfa)}.trend-chart-head,.trend-times{display:flex;justify-content:space-between;gap:12px;align-items:center}.trend-chart-head b{font-size:11px}.trend-chart-head span,.trend-times{font-size:8.5px;color:#7e9299}.trend-chart{display:block;width:100%;height:145px;margin:4px 0 2px;overflow:visible}.trend-stats{display:grid;grid-template-columns:1fr 1fr;gap:7px}.trend-stats article{padding:12px;border:1px solid var(--line);border-radius:12px;background:#fbfdfd;display:grid;gap:5px;align-content:center}.trend-stats span{font-size:9px;color:#788f96}.trend-stats strong{font-size:16px}
.climate-profile-title{margin-top:28px}.climate-months{position:relative}.climate-month-track{display:flex;gap:7px;overflow:auto;scrollbar-width:none;scroll-snap-type:x proximity;padding:2px 1px 5px}.climate-month-track::-webkit-scrollbar{display:none}.climate-month{flex:0 0 103px;min-width:103px;min-height:120px;padding:11px 8px;border:1px solid var(--line);border-radius:13px;background:#fff;display:grid;place-items:center;align-content:center;gap:5px;scroll-snap-align:start}.climate-month.active{background:var(--mint);border-color:rgba(8,185,157,.23)}.climate-month>span{font-size:9px;font-weight:800;color:#5f7981}.climate-month strong{font-size:17px}.climate-month em{font-size:10px;font-style:normal;color:#879ba1}.climate-month small{font-size:8px;color:#648590}
.day-shell{margin-top:13px}.day-shell .day-row{margin-top:0}.day-shell .scroll-arrow{display:none}
.seo-section article:first-child{grid-column:1/-1;background:linear-gradient(120deg,#fff,#f4fbf9)}.seo-section article:first-child h2{font-size:22px}.seo-section article:first-child p{font-size:12px;max-width:1100px}.seo-section article{position:relative;overflow:hidden}.seo-section article::after{content:"";position:absolute;width:70px;height:70px;border-radius:50%;right:-30px;bottom:-35px;background:rgba(8,185,157,.035)}
.history-section{scroll-margin-top:155px}.advanced-section,.two-col,.forecast-block,.climate-context,.hero-grid{scroll-margin-top:155px}

@media(max-width:1100px){.city-anchor-nav{top:132px}.quick-answers{grid-template-columns:repeat(2,1fr)}.climate-hero{grid-template-columns:repeat(2,1fr)}.climate-lead{grid-column:1/-1}.deep-grid{grid-template-columns:repeat(2,1fr)}.trend-layout{grid-template-columns:1fr}.day-shell .scroll-arrow{display:block}}
@media(max-width:760px){.city-anchor-nav{position:relative;top:auto;margin:0 0 12px;padding:5px;background:#fff}.quick-answers{grid-template-columns:1fr 1fr;gap:7px}.quick-answers article{min-height:100px;padding:12px}.climate-context{margin-top:28px;padding:15px}.climate-hero{grid-template-columns:1fr 1fr}.climate-lead{grid-column:1/-1}.climate-hero article{padding:13px}.climate-hero strong{font-size:21px}.deep-grid{grid-template-columns:1fr 1fr}.station-trend{padding:14px}.trend-stats{grid-template-columns:1fr 1fr}.trend-chart{height:125px}.day-shell .day-row{display:flex;overflow-x:auto}.day-shell .day-card{flex:0 0 100px}.seo-section article:first-child{grid-column:auto}.seo-section article:first-child h2{font-size:19px}}
@media(max-width:430px){.quick-answers{grid-template-columns:1fr 1fr}.quick-answers strong{font-size:14px}.climate-hero{grid-template-columns:1fr 1fr}.climate-lead{grid-column:1/-1}.climate-hero article:nth-child(4){grid-column:1/-1}.deep-grid{grid-template-columns:1fr 1fr}.deep-grid article{min-height:82px}.trend-stats{grid-template-columns:1fr 1fr}.climate-month{flex-basis:94px;min-width:94px}}
.hour-item .hour-wind{color:#6d8991;font-size:8px}.hour-item{min-height:116px}.day-card small{white-space:nowrap}
.model-compare{margin:-5px 0 10px;padding:8px 10px;border-radius:10px;background:#f0f8f6;display:flex;justify-content:space-between;gap:10px;font-size:9px;color:#66838b}.model-compare b{color:#087d70}
.seo-title{margin-bottom:12px}.seo-section h3{font-size:17px;margin:0 0 9px}.seo-section article:first-child h3{font-size:22px}
@media(max-width:760px){.seo-section article:first-child h3{font-size:19px}}
.method-card{margin-top:12px;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}.method-card summary{list-style:none;cursor:pointer;padding:14px 16px;display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:10px;color:#617c84}.method-card summary::-webkit-details-marker{display:none}.method-card summary b{font-size:9px;color:#87999f}.method-grid{border-top:1px solid var(--line);padding:14px 16px;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.method-grid p{margin:0;padding:12px;border-radius:11px;background:#f8fbfa;font-size:9.5px;line-height:1.6;color:#6c858d}.method-grid strong{color:#244b55}
@media(max-width:760px){.method-grid{grid-template-columns:1fr}}

/* v0.4.5.0 — calendar-day climate context */
.calendar-history{margin-top:18px;padding-top:18px;border-top:1px solid var(--line,#dfe9e7)}
.calendar-history-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:12px}
.calendar-history-head h3{margin:2px 0 0;font-size:19px;color:var(--ink,#173840)}
.calendar-history-head>p{margin:0;max-width:390px;text-align:right;color:var(--muted,#71878c);font-size:12px}
.calendar-history-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}
.calendar-history-grid article{min-width:0;padding:14px 12px;border:1px solid var(--line,#dfe9e7);border-radius:15px;background:rgba(255,255,255,.78)}
.calendar-history-grid span,.calendar-history-grid small{display:block;color:var(--muted,#71878c);font-size:11px;line-height:1.35}
.calendar-history-grid strong{display:block;margin:5px 0 3px;font-size:20px;line-height:1;color:var(--ink,#173840)}
.calendar-history-grid .warm{background:linear-gradient(145deg,#fffaf1,#fff)}
.calendar-history-grid .cold{background:linear-gradient(145deg,#f3f9ff,#fff)}
.calendar-history-grid .rain{background:linear-gradient(145deg,#f2fbfa,#fff)}
.calendar-history-note{margin:10px 2px 0!important;font-size:11px!important;color:var(--muted,#71878c)!important;line-height:1.5}
@media(max-width:1100px){.calendar-history-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.calendar-history-head{display:block}.calendar-history-head>p{margin-top:5px;text-align:left}.calendar-history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-history-grid strong{font-size:18px}}

/* v0.4.6.0 — unified Radar Česka map + observed station storytelling */
.city-radar-frame{position:relative;overflow:hidden;background:#edf3f2}
.city-radar-map{position:absolute;inset:0;width:100%;height:100%}
.city-radar-frame .maplibregl-map{font:inherit}
.city-radar-frame .maplibregl-ctrl-bottom-left,.city-radar-frame .maplibregl-ctrl-attrib{display:none}
.city-radar-frame .maplibregl-ctrl-group{border:1px solid rgba(25,63,72,.1);border-radius:12px;overflow:hidden;box-shadow:0 5px 18px rgba(24,55,64,.10)}
.city-radar-frame .maplibregl-ctrl-group button{width:30px;height:30px;background-color:rgba(255,255,255,.93)}
.city-radar-status{position:absolute;left:10px;top:10px;z-index:3;display:flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid rgba(20,71,76,.08);border-radius:999px;background:rgba(255,255,255,.91);backdrop-filter:blur(9px);box-shadow:0 5px 16px rgba(25,55,64,.10);font-size:9px;color:#315861}
.city-radar-status .live-dot{width:7px;height:7px;border-radius:50%;background:#0abb9c;box-shadow:0 0 0 4px rgba(10,187,156,.12)}
.city-radar-status.is-muted .live-dot{background:#8aa0a5;box-shadow:0 0 0 4px rgba(110,135,141,.10)}
.city-radar-legend{position:absolute;left:10px;right:10px;bottom:10px;z-index:3;display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:center;padding:6px 8px;border-radius:10px;background:rgba(255,255,255,.86);backdrop-filter:blur(8px);font-size:8px;color:#6a848b;box-shadow:0 4px 14px rgba(25,55,64,.08)}
.city-radar-legend i{height:4px;border-radius:99px;background:linear-gradient(90deg,#7068e8,#3f8af2,#35b7db,#52bd67,#f2d04b,#ef8e3d,#e74f57,#a93bba)}
.city-radar-pin{width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.94);display:grid;place-items:center;box-shadow:0 4px 14px rgba(9,71,70,.25);border:1px solid rgba(8,185,157,.18)}
.city-radar-pin span{width:10px;height:10px;border-radius:50%;background:#0abb9c;box-shadow:0 0 0 4px rgba(10,187,156,.18)}
.city-radar-pin i{position:absolute;width:3px;height:3px;background:#fff;border-radius:50%}

.measured-card{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff,#fbfefd)}
.measured-card::after{content:"";position:absolute;right:-70px;top:-75px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(10,187,156,.09),rgba(10,187,156,0) 68%);pointer-events:none}
.measured-hero{position:relative;z-index:1;display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;margin:-2px 0 12px}
.station-symbol{width:56px;height:56px;border-radius:17px;background:linear-gradient(145deg,#e9faf6,#fff);border:1px solid rgba(10,187,156,.18);display:grid;place-items:center;position:relative;box-shadow:inset 0 0 0 5px rgba(255,255,255,.55)}
.station-symbol span{width:13px;height:13px;border-radius:50%;background:#0abb9c;box-shadow:0 0 0 5px rgba(10,187,156,.14)}
.station-symbol i{position:absolute;width:2px;height:21px;background:#74beb2;bottom:7px;border-radius:2px}
.measured-hero .measured-main{padding:0;display:grid;gap:2px;align-items:center}
.measured-hero .measured-main strong{font-size:37px;line-height:1;letter-spacing:-.04em}
.measured-hero .measured-main span{padding:0;line-height:1.35}
.measured-hero .measured-main span b{color:#456972;font-size:10px}
.measurement-badges{display:flex;align-items:flex-end;flex-direction:column;gap:6px;max-width:210px}
.measurement-badges span{white-space:nowrap;padding:6px 8px;border-radius:999px;font-size:8px;font-weight:850;letter-spacing:.02em}
.real-badge,.fresh-badge{background:#eaf9f5;color:#087c6d;border:1px solid rgba(10,187,156,.13)}
.stale-badge{background:#fff5de;color:#8d650c;border:1px solid rgba(218,164,42,.22)}
.station-delay-note{display:flex;gap:5px;flex-direction:column;margin:2px 0 11px;padding:10px 12px;border-radius:12px;background:linear-gradient(120deg,#fff8e8,#fffdf8);border:1px solid rgba(217,164,49,.18);color:#735a22}
.station-delay-note b{font-size:10px}.station-delay-note span{font-size:9px;line-height:1.45;color:#876f3a}
.trend-delay{margin-top:12px;margin-bottom:-2px}
.visual-grid{grid-template-columns:repeat(4,1fr)}
.measured-grid.visual-grid span{position:relative;padding:10px 9px 9px 32px;min-height:54px;align-content:center;background:rgba(249,252,251,.82)}
.measured-grid.visual-grid span>i{position:absolute;left:9px;top:50%;transform:translateY(-50%);font-style:normal;width:17px;height:17px;display:grid;place-items:center;border-radius:7px;background:#edf8f5;font-size:10px;color:#0c8c78}
.measured-grid.visual-grid b{margin-top:1px}
.trend-chart-wrap{position:relative;overflow:hidden}
.trend-chart-wrap::after{content:"";position:absolute;left:13px;right:13px;bottom:34px;height:1px;background:linear-gradient(90deg,transparent,rgba(80,118,126,.14),transparent);pointer-events:none}
.trend-chart{filter:drop-shadow(0 4px 9px rgba(7,155,135,.09))}
.station-trend .trend-stats article:nth-child(1){background:linear-gradient(145deg,#f2fbff,#fff)}
.station-trend .trend-stats article:nth-child(2){background:linear-gradient(145deg,#f7f8ff,#fff)}
.station-trend .trend-stats article:nth-child(3){background:linear-gradient(145deg,#f2faf7,#fff)}
.station-trend .trend-stats article:nth-child(4){background:linear-gradient(145deg,#f7fbff,#fff)}

@media(max-width:950px){.measured-hero{grid-template-columns:auto 1fr}.measurement-badges{grid-column:1/-1;flex-direction:row;align-items:center;max-width:none}.visual-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.city-radar-status{left:8px;top:8px}.city-radar-legend{left:8px;right:8px;bottom:8px}.measured-hero .measured-main strong{font-size:32px}.station-symbol{width:50px;height:50px}.measurement-badges{overflow:auto;scrollbar-width:none}.measurement-badges::-webkit-scrollbar{display:none}.visual-grid{grid-template-columns:repeat(2,1fr)}.measured-grid.visual-grid span{padding-left:30px}.station-delay-note{padding:9px 10px}}

/* v0.4.7.0 — city map layers, local nowcast, live stream, interactive chart and history calendar */
.city-map-layer-tabs{display:flex;gap:6px;margin:0 0 9px;overflow-x:auto;scrollbar-width:none;padding:1px}.city-map-layer-tabs::-webkit-scrollbar{display:none}.city-map-layer-tabs button{appearance:none;border:1px solid #dce8e6;background:#f8fbfa;color:#527078;border-radius:999px;padding:7px 11px;font:inherit;font-size:9px;font-weight:800;white-space:nowrap;cursor:pointer;transition:.18s ease}.city-map-layer-tabs button:hover{background:#f0f8f6;color:#19535b}.city-map-layer-tabs button.active{background:#e7f8f4;border-color:#9edfd3;color:#087e6e;box-shadow:0 2px 7px rgba(8,126,110,.08)}
.city-map-zoom{position:absolute;right:10px;top:50%;z-index:5;display:grid;transform:translateY(-50%);border-radius:13px;overflow:hidden;border:1px solid rgba(23,61,68,.13);background:rgba(255,255,255,.96);box-shadow:0 6px 20px rgba(24,55,64,.14);backdrop-filter:blur(9px)}.city-map-zoom button{appearance:none;width:35px;height:35px;border:0;background:transparent;color:#244d57;font:800 20px/1 Arial,sans-serif;cursor:pointer}.city-map-zoom button+button{border-top:1px solid #e1eae8}.city-map-zoom button:hover{background:#eef7f5}.city-radar-frame .maplibregl-ctrl-top-right,.city-radar-frame .maplibregl-ctrl-bottom-right{display:none!important}
.city-radar-legend{right:54px}.city-radar-legend i{transition:background .2s ease}

.city-nowcast{margin-top:14px;padding:18px 20px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:17px;align-items:center;overflow:hidden;position:relative;background:linear-gradient(125deg,#effbf8 0%,#fff 48%,#f5f9ff 100%);border-color:#cae8e2}.city-nowcast::before{content:"";position:absolute;right:-70px;top:-80px;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,rgba(74,126,230,.10),transparent 68%);pointer-events:none}.nowcast-icon{width:54px;height:54px;border-radius:18px;background:#fff;border:1px solid #dbeae7;box-shadow:0 8px 22px rgba(35,78,83,.09);display:grid;place-items:center;font-size:25px;position:relative;z-index:1}.nowcast-copy{min-width:0;position:relative;z-index:1}.nowcast-copy .eyebrow{margin:0 0 4px}.nowcast-copy h2{margin:0 0 5px;font-size:20px;letter-spacing:-.025em}.nowcast-copy>p:last-child{margin:0;color:#607d84;font-size:11px;line-height:1.55;max-width:720px}.nowcast-facts{display:grid;grid-template-columns:repeat(4,minmax(82px,1fr));gap:7px;position:relative;z-index:1}.nowcast-facts span{padding:10px 11px;border-radius:13px;background:rgba(255,255,255,.82);border:1px solid #dce9e7;min-width:0}.nowcast-facts small,.nowcast-facts b{display:block}.nowcast-facts small{font-size:8px;color:#789097;margin-bottom:3px}.nowcast-facts b{font-size:13px;color:#244c55;white-space:nowrap}

.city-live{margin-top:12px;padding:17px 19px}.city-live .section-head{margin-bottom:10px}.city-live-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.live-item,.live-calm{display:flex;gap:10px;min-width:0;border:1px solid #e0eae8;border-radius:14px;background:#fafcfb;padding:12px}.live-item-icon,.live-calm>span{flex:0 0 31px;width:31px;height:31px;border-radius:10px;background:#edf8f5;display:grid;place-items:center;font-size:16px}.live-item div,.live-calm div{min-width:0}.live-item b,.live-calm b{display:block;color:#244c55;font-size:10px;line-height:1.35}.live-item p,.live-calm p{margin:4px 0 5px;color:#6d858c;font-size:9px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.live-item small{display:block;color:#86a0a6;font-size:8px}.live-calm{grid-column:1/-1;align-items:center;background:linear-gradient(120deg,#f3fbf9,#fff)}.live-calm>span{color:#078d79;font-weight:900}.live-loading{grid-column:1/-1;display:flex;align-items:center;gap:8px;color:#6d858c;font-size:10px;padding:10px}.live-loading>span,.history-loading>span{width:12px;height:12px;border-radius:50%;border:2px solid #cae6e1;border-top-color:#0ba78e;animation:citySpin .8s linear infinite}@keyframes citySpin{to{transform:rotate(360deg)}}

.trend-chart-wrap{touch-action:pan-y;cursor:crosshair}.trend-hover-line{stroke:#557b84;stroke-width:1.3;stroke-dasharray:4 4;opacity:.72;vector-effect:non-scaling-stroke}.trend-hover-dot{fill:#fff;stroke:#078f7c;stroke-width:4;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 4px rgba(5,80,72,.2))}.trend-tooltip{position:absolute;top:42px;z-index:7;transform:translateX(-50%);padding:7px 9px;border-radius:9px;background:#183e47;color:#fff;font-size:9px;font-weight:800;white-space:nowrap;box-shadow:0 7px 18px rgba(19,56,64,.22);pointer-events:none}.trend-tooltip::after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border:5px solid transparent;border-top-color:#183e47}.trend-chart-wrap:hover .trend-chart{filter:drop-shadow(0 5px 12px rgba(7,155,135,.12))}

.history-explorer{margin-top:16px;padding:18px;display:grid;grid-template-columns:minmax(260px,.72fr) minmax(360px,1.28fr);gap:18px;align-items:stretch;background:linear-gradient(135deg,#fff 0%,#fbfefd 58%,#f4f9ff 100%)}.history-explorer-copy{padding:5px 2px}.history-explorer-copy h3{font-size:21px;margin:3px 0 6px}.history-explorer-copy>p:not(.eyebrow){margin:0 0 13px;color:#6c858d;font-size:10px;line-height:1.55}.history-date-form{display:flex;gap:7px;align-items:end}.history-date-form label{flex:1;display:grid;gap:4px}.history-date-form label span{font-size:8px;color:#7c949a;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.history-date-form input{width:100%;box-sizing:border-box;border:1px solid #d7e5e2;border-radius:11px;background:#fff;padding:10px 11px;color:#264c55;font:700 11px/1.2 inherit;min-height:39px}.history-date-form button{border:0;border-radius:11px;background:#0b9f88;color:#fff;font:800 10px/1 inherit;padding:0 14px;height:39px;cursor:pointer;box-shadow:0 6px 14px rgba(11,159,136,.14)}.history-quick-dates{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.history-quick-dates button{appearance:none;border:1px solid #dde9e7;background:#f8fbfa;color:#54717a;border-radius:999px;padding:6px 9px;font:750 8px/1 inherit;cursor:pointer}.history-quick-dates button:hover{background:#edf8f5;color:#087d6e}.history-date-result{min-height:188px;border:1px solid #dce9e7;border-radius:16px;background:rgba(255,255,255,.88);padding:15px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 5px 17px rgba(29,64,70,.04)}.history-placeholder,.history-error,.history-loading{display:grid;place-items:center;text-align:center;gap:5px;color:#728b91;min-height:150px}.history-placeholder>span,.history-error>span{font-size:25px;color:#0c9e88}.history-placeholder b,.history-error b,.history-loading b{font-size:11px;color:#365c65}.history-placeholder small,.history-error p{font-size:9px;color:#80969c;margin:0}.history-result-head{display:flex;gap:10px;align-items:flex-start;margin-bottom:11px}.history-result-head>span{width:38px;height:38px;border-radius:12px;background:#edf8f5;display:grid;place-items:center;font-size:19px;color:#0a987f}.history-result-head small{display:block;color:#0a8a77;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.07em}.history-result-head h4{font-size:17px;margin:2px 0}.history-result-head p{margin:0;color:#6d858c;font-size:9px;line-height:1.45}.history-result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.history-result-grid article{border:1px solid #e2ecea;border-radius:10px;background:#fafcfb;padding:9px}.history-result-grid span,.history-result-grid b{display:block}.history-result-grid span{font-size:8px;color:#7b9197}.history-result-grid b{margin-top:3px;font-size:12px;color:#274e57}.history-normal{margin-top:8px;padding:8px 10px;border-radius:10px;background:#f0f8f6;display:grid;gap:2px}.history-normal b{font-size:9px;color:#2f5961}.history-normal span{font-size:8px;color:#6a838a;line-height:1.4}.history-station{display:block;margin-top:7px;color:#8aa0a5;font-size:8px;text-align:right}

@media(max-width:1150px){.city-live-list{grid-template-columns:repeat(3,minmax(0,1fr))}.nowcast-facts{grid-template-columns:repeat(4,minmax(70px,1fr))}.history-explorer{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.city-map-layer-tabs{margin-left:-2px;margin-right:-2px}.city-map-zoom{right:8px}.city-radar-legend{right:50px}.city-nowcast{grid-template-columns:auto 1fr;padding:15px}.nowcast-facts{grid-column:1/-1}.city-live-list{grid-template-columns:1fr 1fr}.history-explorer{grid-template-columns:1fr}.history-date-result{min-height:170px}}
@media(max-width:520px){.city-map-layer-tabs button{padding:7px 10px;font-size:8px}.city-map-zoom button{width:34px;height:34px}.city-radar-legend{left:8px;right:49px}.city-nowcast{gap:12px}.nowcast-icon{width:46px;height:46px;border-radius:15px}.nowcast-copy h2{font-size:17px}.nowcast-facts{display:flex;overflow-x:auto;scrollbar-width:none}.nowcast-facts::-webkit-scrollbar{display:none}.nowcast-facts span{flex:0 0 105px}.city-live-list{grid-template-columns:1fr}.history-date-form{display:grid;grid-template-columns:1fr}.history-date-form button{width:100%}.history-result-grid{grid-template-columns:repeat(2,1fr)}.trend-tooltip{top:38px;font-size:8px}}

/* v0.4.8.0 · compact page actions + faster, clearer history explorer */
.city-page-actions{position:relative;align-self:center;z-index:26}.city-more-button{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:13px;background:#fff;color:#486b74;box-shadow:0 5px 18px rgba(31,62,70,.05);font:900 16px/1 system-ui;letter-spacing:1px;cursor:pointer;transition:.16s}.city-more-button:hover,.city-page-actions.open .city-more-button{background:#edf9f6;border-color:rgba(8,185,157,.24);color:#087d70}.city-actions-menu{position:absolute;right:0;top:calc(100% + 8px);width:min(315px,calc(100vw - 28px));padding:7px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.98);box-shadow:0 18px 50px rgba(20,52,62,.16);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.city-actions-menu[hidden]{display:none}.city-actions-menu button,.city-actions-menu a{width:100%;border:0;background:transparent;border-radius:11px;padding:10px;display:grid;grid-template-columns:28px 1fr;gap:9px;text-align:left;align-items:center;color:var(--ink);font:inherit;cursor:pointer}.city-actions-menu button:hover,.city-actions-menu a:hover{background:#f0f8f6}.city-actions-menu>button>span:first-child,.city-actions-menu>a>span:first-child{width:28px;height:28px;border-radius:9px;background:#edf9f6;color:#087d70;display:grid;place-items:center;font-size:14px;font-weight:850}.city-actions-menu b{display:block;font-size:11px}.city-actions-menu small{display:block;margin-top:2px;color:#80949b;font-size:9px;line-height:1.35}.city-toast{position:fixed;left:50%;bottom:max(22px,calc(env(safe-area-inset-bottom) + 14px));z-index:200;transform:translate(-50%,14px);padding:10px 14px;border-radius:999px;background:#153f47;color:#fff;font-size:11px;font-weight:750;box-shadow:0 12px 34px rgba(15,44,52,.22);opacity:0;pointer-events:none;transition:.18s}.city-toast.show{opacity:1;transform:translate(-50%,0)}
.history-availability{display:block;margin:7px 0 0;color:#799198;font-size:9px;line-height:1.4}.history-date-result{transition:background .18s}.history-result-grid:empty{display:none}.history-result-grid article{animation:cityHistoryIn .2s ease both}@keyframes cityHistoryIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:760px){.city-page-actions{display:block;position:absolute;right:11px;top:16px}.city-title-row{position:relative;padding-right:48px}.city-more-button{width:38px;height:38px;border-radius:12px}.city-actions-menu{position:fixed;left:12px;right:12px;top:auto;bottom:max(14px,env(safe-area-inset-bottom));width:auto;border-radius:18px;padding:8px;box-shadow:0 20px 60px rgba(15,42,50,.22)}.city-actions-menu button,.city-actions-menu a{padding:12px 10px}.city-actions-menu b{font-size:12px}.city-actions-menu small{font-size:10px}}

/* v0.4.9.1 · Forecast Experience polish */
.city-map-layer-tabs{margin:2px 14px 10px;padding:2px 2px 3px;gap:7px}
.city-map-layer-tabs button{padding:8px 12px}
.forecast-experience{margin-top:16px;padding:20px;overflow:hidden}
.forecast-experience-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:14px}
.forecast-experience-head h2{margin:0;font-size:26px;letter-spacing:-.03em}
.forecast-experience-head>div>p:last-child{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.5}
.forecast-freshness{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;border:1px solid var(--line);background:#f8fbfa;padding:8px 10px;border-radius:999px;color:#668087;font-size:9px;font-weight:750}
.forecast-freshness i{width:7px;height:7px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px rgba(8,185,157,.1)}
.forecast-rain-brief{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:16px;padding:18px;border:1px solid rgba(8,185,157,.17);border-radius:18px;background:linear-gradient(125deg,#eefaf7 0%,#fbfefd 52%,#f4f9ff 100%);overflow:hidden}
.forecast-rain-brief::after{content:"";position:absolute;width:230px;height:230px;right:-82px;top:-105px;border-radius:50%;background:radial-gradient(circle,rgba(73,154,217,.11),rgba(73,154,217,0) 70%);pointer-events:none}
.rain-brief-main{display:grid;grid-template-columns:54px 1fr;gap:14px;align-items:start;min-width:0;position:relative;z-index:1;padding:2px 2px}
.rain-brief-icon{width:54px;height:54px;border-radius:16px;background:#fff;border:1px solid #d9ece8;box-shadow:0 7px 20px rgba(21,70,75,.07);display:grid;place-items:center;font-size:25px}
.rain-brief-copy{min-width:0}.rain-brief-kicker{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.rain-brief-kicker .eyebrow{margin:0}.rain-brief-badge{display:inline-flex;align-items:center;min-height:23px;padding:4px 8px;border-radius:999px;background:#e6f7f2;color:#157b6d;font-size:8px;font-weight:850;letter-spacing:.01em;border:1px solid rgba(8,185,157,.18)}
.forecast-rain-brief.is-rain .rain-brief-badge{background:#eef4ff;color:#3f67a5;border-color:#d7e3f7}.forecast-rain-brief.is-rain .rain-brief-icon{background:#f8fbff;border-color:#dbe6f7}
.rain-brief-main h3{margin:7px 0 5px;font-size:21px;line-height:1.15;letter-spacing:-.025em;color:#153f49}.rain-brief-main>div>p:last-child{margin:0;max-width:650px;color:#5e7a82;font-size:10.5px;line-height:1.55}
.rain-brief-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;position:relative;z-index:1;align-content:stretch}
.rain-fact{min-width:0;min-height:72px;padding:12px 13px;border:1px solid #dce9e7;border-radius:14px;background:rgba(255,255,255,.86);display:grid;grid-template-rows:auto auto 1fr;align-content:start;gap:4px;box-shadow:0 3px 12px rgba(25,70,76,.025)}
.rain-fact.primary{border-color:rgba(8,185,157,.29);background:#fff;box-shadow:0 6px 18px rgba(8,126,110,.055)}
.rain-fact small{font-size:8.5px;line-height:1.2;color:#718990;font-weight:850;letter-spacing:.01em}.rain-fact strong{font-size:16px;line-height:1.15;letter-spacing:-.015em;color:#1e4852;white-space:normal}.rain-fact span{font-size:8px;color:#8ca0a5;line-height:1.35;align-self:end}
.forecast-rain-brief.is-calm .rain-fact[data-rain-fact="start"] strong,.forecast-rain-brief.is-calm .rain-fact[data-rain-fact="duration"] strong{color:#14796d}.forecast-rain-brief.is-calm .rain-fact[data-rain-fact="amount"] strong{color:#284e57}
.forecast-tabs{display:flex;gap:5px;margin:16px 0 10px;padding:4px;border-radius:13px;background:#f2f6f5;border:1px solid var(--line);width:max-content;max-width:100%;overflow:auto;scrollbar-width:none}
.forecast-tabs::-webkit-scrollbar{display:none}.forecast-tabs button{appearance:none;border:0;background:transparent;color:#69838a;border-radius:9px;padding:9px 15px;font:800 10px/1 inherit;white-space:nowrap;cursor:pointer;transition:.15s}.forecast-tabs button.active{background:#fff;color:#126f65;box-shadow:0 2px 8px rgba(25,55,64,.08)}
.forecast-panel{padding-top:3px}.forecast-panel[hidden]{display:none!important}.forecast-panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:5px 1px 10px}.forecast-panel-title b{font-size:12px}.forecast-panel-title span{color:#81969c;font-size:9px}
.forecast-overview-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:10px}.forecast-dayparts{border:1px solid var(--line);border-radius:15px;padding:13px;background:#fcfefd}.daypart-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.daypart-row article{min-width:0;padding:9px 5px;border-radius:11px;background:#fff;border:1px solid #e2ecea;text-align:center;display:grid;gap:4px;place-items:center}.daypart-row span,.daypart-row small{font-size:8px;color:#789097}.daypart-row i{font-style:normal;font-size:22px}.daypart-row strong{font-size:13px}.daypart-row small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}
.forecast-overview-facts{display:grid;grid-template-columns:1fr 1fr;gap:7px}.forecast-overview-facts article{border:1px solid var(--line);border-radius:13px;background:#fbfdfd;padding:11px;display:grid;gap:4px;align-content:center}.forecast-overview-facts span{font-size:8px;color:#7a9299}.forecast-overview-facts strong{font-size:16px}.forecast-overview-facts small{font-size:8px;color:#8ba0a5}
.forecast-experience .hour-row{padding-bottom:5px}.forecast-experience .day-row{margin-top:0}.forecast-experience .day-card{min-width:105px}
.forecast-graphs-head{display:flex;justify-content:space-between;align-items:end;gap:14px;margin:6px 1px 10px}.forecast-graphs-head>div:first-child{display:grid;gap:3px}.forecast-graphs-head b{font-size:12px}.forecast-graphs-head span{font-size:9px;color:#7c9399}.forecast-graph-readout{min-width:245px;text-align:right;font-size:9.5px!important;font-weight:800;color:#28545d!important;white-space:nowrap;background:#f5faf9;border:1px solid var(--line);border-radius:999px;padding:7px 10px}
.forecast-graphs{position:relative;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fff;touch-action:pan-y}.forecast-graph{height:112px;display:grid;grid-template-columns:96px 1fr;border-bottom:1px solid var(--line);position:relative}.forecast-graph:last-of-type{border-bottom:0}.forecast-graph>div:first-child{padding:12px 8px 8px 12px;display:grid;align-content:start;gap:3px;background:#fbfdfd;border-right:1px solid var(--line);position:relative;z-index:2}.forecast-graph>div:first-child b{font-size:10px}.forecast-graph>div:first-child strong{font-size:14px;line-height:1.05;color:#214d56;letter-spacing:-.02em}.forecast-graph>div:first-child span{font-size:8px;color:#869ba0}.forecast-graph svg{width:100%;height:100%;overflow:visible;display:block;cursor:crosshair}.forecast-graph .grid-line{stroke:#e8efee;stroke-width:1;vector-effect:non-scaling-stroke}.forecast-graph .data-line{fill:none;stroke:#078f7c;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.forecast-graph.rain .data-line{stroke:#4c82d6}.forecast-graph .data-area{fill:rgba(8,185,157,.10)}.forecast-graph.rain .data-area{fill:rgba(76,130,214,.08)}.forecast-graph .rain-bar{fill:rgba(76,130,214,.18)}.forecast-graph .data-point{fill:#fff;stroke:#0b9583;stroke-width:2.1;vector-effect:non-scaling-stroke;opacity:.88}.forecast-graph.rain .data-point{stroke:#4c82d6}.forecast-graph .data-point.major{stroke-width:2.6;opacity:1}.forecast-graph .hover-dot{fill:#fff;stroke:#087f72;stroke-width:3.5;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px rgba(18,80,75,.22))}.forecast-graph.rain .hover-dot{stroke:#4c82d6}.forecast-common-cursor{position:absolute;z-index:5;top:0;bottom:0;width:1px;background:rgba(33,76,86,.42);border-left:1px dashed rgba(33,76,86,.36);pointer-events:none;transform:translateX(96px)}
.forecast-time-axis{margin-left:96px;display:flex;justify-content:space-between;padding:7px 2px 0;color:#879ba1;font-size:8px}
.history-availability{font-weight:650;color:#66858d}

@media(max-width:1100px){.forecast-rain-brief{grid-template-columns:1fr}.forecast-overview-grid{grid-template-columns:1fr}.rain-brief-facts{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.city-map-layer-tabs{margin:2px 10px 9px;padding:2px}.forecast-experience{padding:14px;margin-left:0;margin-right:0;border-radius:17px}.forecast-experience-head{display:grid;gap:8px}.forecast-experience-head h2{font-size:22px}.forecast-freshness{justify-self:start}.forecast-rain-brief{padding:14px;gap:12px}.rain-brief-main{grid-template-columns:45px 1fr;gap:10px}.rain-brief-icon{width:45px;height:45px;border-radius:14px}.rain-brief-main h3{font-size:18px}.rain-brief-main>div>p:last-child{font-size:10px}.rain-brief-facts{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:0;padding:0;overflow:visible}.rain-fact{min-height:70px;padding:11px}.rain-fact strong{font-size:14px}.forecast-tabs{width:100%}.forecast-tabs button{flex:1;padding:9px 11px}.daypart-row{display:flex;overflow-x:auto;scrollbar-width:none}.daypart-row::-webkit-scrollbar{display:none}.daypart-row article{flex:0 0 83px}.forecast-overview-facts{grid-template-columns:1fr 1fr}.forecast-graphs-head{align-items:start;display:grid}.forecast-graph-readout{min-width:0;text-align:left;width:max-content;max-width:100%;white-space:normal}.forecast-graph{grid-template-columns:72px 1fr;height:98px}.forecast-graph>div:first-child{padding:10px 5px 7px 8px}.forecast-common-cursor{transform:translateX(72px)}.forecast-time-axis{margin-left:72px}.forecast-experience .day-card{min-width:100px}}
@media(max-width:480px){.forecast-rain-brief{margin-left:-2px;margin-right:-2px}.rain-brief-facts{gap:6px}.rain-fact{min-height:68px;padding:10px}.rain-fact strong{font-size:13px}.rain-fact small{font-size:8px}.rain-fact span{font-size:7.5px}.forecast-overview-facts{grid-template-columns:1fr 1fr}.forecast-tabs button{font-size:9px;padding:9px 8px}.forecast-graph{grid-template-columns:64px 1fr}.forecast-common-cursor{transform:translateX(64px)}.forecast-time-axis{margin-left:64px}.forecast-graph>div:first-child b{font-size:9px}.forecast-graph>div:first-child strong{font-size:12px}.forecast-graph>div:first-child span{font-size:7px}}
.forecast-rain-brief{padding-bottom:14px}.rain-window{grid-column:1/-1;position:relative;z-index:1;margin-top:-2px}.rain-window-track{height:7px;border-radius:999px;background:#e8f0ef;position:relative;overflow:hidden}.rain-window-track i{position:absolute;top:0;bottom:0;left:var(--start);right:calc(100% - var(--end));border-radius:999px;background:linear-gradient(90deg,#75b9e9,#477fd4,#7869d6)}.rain-window-track .rain-now{position:absolute;left:0;top:-2px;width:3px;height:11px;border-radius:2px;background:#087f72}.rain-window>div:last-child{display:flex;justify-content:space-between;margin-top:5px;color:#8a9da2;font-size:7.5px;font-weight:700}.forecast-experience .day-shell .scroll-arrow{display:block}

/* v0.4.9.2 · Next days preview — immediate answer to “how will it be next?” */
.forecast-nextdays{margin:3px 0 12px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#fcfefd 0%,#f8fbfa 100%);padding:13px;overflow:hidden}
.forecast-nextdays-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.forecast-nextdays-head>div{display:flex;align-items:baseline;gap:8px}.forecast-nextdays-head b{font-size:12px}.forecast-nextdays-head span{font-size:8.5px;color:#81969c}.forecast-nextdays-head button{appearance:none;border:0;background:transparent;color:#087f72;font:800 9px/1 inherit;cursor:pointer;padding:6px 2px;white-space:nowrap}
.forecast-nextdays-summary{margin:0 0 10px;padding:9px 11px;border-radius:11px;background:#eef9f6;color:#315c63;font-size:10px;line-height:1.45;display:flex;align-items:flex-start;gap:7px}.forecast-nextdays-summary span{color:#08a58f;font-weight:900}
.next-days-shell{margin:0}.forecast-nextdays-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity}.forecast-nextdays-row::-webkit-scrollbar{display:none}
.forecast-nextday{min-width:0;border:1px solid #dfebe9;border-radius:13px;background:#fff;padding:10px 9px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label icon" "temp temp" "rain rain";gap:5px 8px;scroll-snap-align:start}.forecast-nextday>div:first-child{grid-area:label;display:grid;gap:2px;min-width:0}.forecast-nextday>div:first-child strong{font-size:10px;white-space:nowrap}.forecast-nextday>div:first-child small{font-size:8px;color:#789097;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.forecast-nextday>i{grid-area:icon;font-style:normal;font-size:22px;line-height:1}.forecast-nextday-temp{grid-area:temp;display:flex;align-items:baseline;gap:6px}.forecast-nextday-temp b{font-size:18px;letter-spacing:-.03em;color:#173e47}.forecast-nextday-temp span{font-size:11px;color:#83979d}.forecast-nextday-rain{grid-area:rain;color:#6c858c;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.forecast-nextdays .scroll-arrow{width:30px;height:40px;margin-top:-20px}
@media(max-width:760px){.forecast-nextdays{padding:11px;margin-bottom:10px}.forecast-nextdays-head>div{display:grid;gap:2px}.forecast-nextdays-head span{font-size:8px}.forecast-nextdays-summary{font-size:9.5px;padding:8px 9px}.forecast-nextdays-row{display:flex;gap:7px;padding-right:22px}.forecast-nextday{flex:0 0 132px;min-width:132px;padding:10px 9px}.forecast-nextdays .scroll-arrow{display:block}}
@media(max-width:480px){.forecast-nextday{flex-basis:124px;min-width:124px}.forecast-nextdays-head button{font-size:8.5px}.forecast-nextdays-summary{line-height:1.4}}

/* v0.5.0 · Forecast Experience 2 — one calm, WU-inspired forecast workspace */
.forecast-v2{padding:22px;background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(252,254,253,.98));border-radius:22px}
.forecast-v2-head{padding:1px 2px 2px}.forecast-v2-head h2{font-size:30px}.forecast-v2-head>div>p:last-child{font-size:12px;max-width:690px}
.forecast-v2-rain{grid-template-columns:minmax(0,1.18fr) minmax(430px,.82fr);padding:20px;border-radius:20px;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.forecast-v2-rain .rain-brief-main h3{font-size:24px;max-width:720px}.forecast-v2-rain .rain-brief-main>div>p:last-child{font-size:11px;max-width:760px}
.forecast-v2-rainfacts{grid-template-columns:repeat(2,minmax(0,1fr))}.forecast-v2-rainfacts .rain-fact{min-height:82px;padding:13px 14px}.forecast-v2-rainfacts .rain-fact strong{font-size:17px}
.forecast-v2-nextdays{margin:13px 0 12px;padding:15px 16px;border-radius:18px;background:#fbfdfd}.forecast-v2-nextdays .forecast-nextdays-head{margin-bottom:9px}.forecast-v2-nextdays .forecast-nextdays-head b{font-size:13px}.forecast-v2-nextdays .forecast-nextdays-summary{max-width:none;margin-bottom:11px}
.forecast-v2-tabs{margin:12px 0 13px;background:#edf3f2;border-radius:14px;padding:5px}.forecast-v2-tabs button{padding:10px 18px;font-size:10.5px}.forecast-v2-tabs button.active{color:#086f65}
.forecast-v2-overview{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.7fr);gap:11px}.forecast-v2-overview .forecast-dayparts{background:#fff}.forecast-v2-facts article{background:#fff;min-height:82px}.forecast-v2-facts article:first-child,.forecast-v2-facts article:nth-child(2){background:linear-gradient(145deg,#f5fbf9,#fff)}

/* Hourly matrix: aligned like a forecast table, with sticky metric names. */
.forecast-hourly-matrix-shell{margin-top:8px;position:relative}.forecast-hourly-matrix-scroll{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#c4d3d1 transparent;border:1px solid var(--line);border-radius:16px;background:#fff;scroll-snap-type:x proximity}
.forecast-hourly-matrix{--cell:82px;display:grid;grid-template-columns:108px repeat(var(--hour-count),var(--cell));width:max-content;min-width:100%;align-items:stretch;background:#fff}
.hm-label,.hm-cell{min-height:48px;border-bottom:1px solid #e8efee;border-right:1px solid #edf2f1;display:flex;align-items:center;justify-content:center;padding:8px 6px}.hm-label{position:sticky;left:0;z-index:4;justify-content:flex-start;padding-left:13px;background:#f8fbfa;color:#5f7b83;font-size:9px;font-weight:850;box-shadow:7px 0 12px rgba(29,61,69,.035)}.hm-label.hm-top{border-top-left-radius:15px}.hm-cell{font-size:10px;color:#56747d;text-align:center;scroll-snap-align:start}.hm-cell.is-now{background:#f0faf7}.hm-time{min-height:42px;background:#fbfdfd}.hm-time b{font-size:9px;color:#53727b}.hm-weather{min-height:72px;display:grid;place-items:center;align-content:center;gap:3px}.hm-weather i{font-style:normal;font-size:25px;line-height:1}.hm-weather small{font-size:7.5px;line-height:1.15;color:#82979d;max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hm-value strong{font-size:14px;color:#173f48}.hm-value span{font-size:9px;color:#607d85}.hm-rain strong{color:#3b6fbb}.forecast-hourly-matrix .hm-label:nth-last-child(1),.forecast-hourly-matrix .hm-cell:nth-last-child(1){border-bottom:0}
.forecast-hourly-matrix-shell .scroll-arrow{top:50%;width:32px;height:48px}.forecast-hourly-matrix-shell .scroll-arrow.left{left:98px}.forecast-hourly-matrix-shell .scroll-arrow.right{right:-8px}

/* Seven days are still cards, but with a little more editorial hierarchy. */
.forecast-v2-dayrow{gap:9px}.forecast-v2-day{min-height:148px;padding:14px 9px;align-content:center}.forecast-v2-day>b{font-size:8.5px;color:#6f878e;font-weight:750;max-width:96px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.forecast-v2-day i{font-size:30px}.forecast-v2-day strong{font-size:16px}

/* One combined meteogram: temperature + precipitation + cloud strip + shared tooltip. */
.forecast-meteogram-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:4px 2px 11px}.forecast-meteogram-head>div:first-child{display:grid;gap:4px}.forecast-meteogram-head b{font-size:13px}.forecast-meteogram-head span{font-size:9.5px;color:#779098;line-height:1.45}.forecast-meteogram-readout{font-size:10px;font-weight:800;color:#24515a;background:#f2f8f7;border:1px solid var(--line);border-radius:999px;padding:8px 11px;white-space:nowrap}
.forecast-meteogram{position:relative;border:1px solid var(--line);border-radius:17px;background:#fff;overflow:hidden;touch-action:pan-y;box-shadow:0 4px 18px rgba(31,67,75,.025)}.forecast-meteogram svg{display:block;width:100%;height:360px;cursor:crosshair;overflow:visible}.meteo-band{stroke:#e4edeb;stroke-width:1;vector-effect:non-scaling-stroke}.meteo-temp-bg{fill:#fbfefd}.meteo-rain-bg{fill:#f8fbfe}.meteo-row-label{font-size:12px;font-weight:800;fill:#55737c}.meteo-scale,.meteo-time{font-size:9px;font-weight:700;fill:#869ba1}.meteo-vgrid,.meteo-hgrid{stroke:#e7efed;stroke-width:1;vector-effect:non-scaling-stroke}.meteo-vgrid{stroke-dasharray:3 5}.meteo-cloud{fill:#748c94}.meteo-temp-area{fill:rgba(8,185,157,.09)}.meteo-temp-line{fill:none;stroke:#079a84;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.meteo-temp-point{fill:#fff;stroke:#079a84;stroke-width:2.4;vector-effect:non-scaling-stroke}.meteo-temp-label{font-size:9.5px;font-weight:850;fill:#28545c}.meteo-rain-bar{fill:rgba(75,132,213,.48)}.meteo-prob-line{fill:none;stroke:#4b78c7;stroke-width:2;stroke-dasharray:5 5;vector-effect:non-scaling-stroke}.meteo-prob-point{fill:#fff;stroke:#4b78c7;stroke-width:1.7;vector-effect:non-scaling-stroke}.meteo-cursor{stroke:#173f48;stroke-width:1.4;stroke-dasharray:3 4;opacity:.48;vector-effect:non-scaling-stroke}.meteo-selected-temp{fill:#fff;stroke:#057e70;stroke-width:4;filter:drop-shadow(0 2px 3px rgba(8,98,87,.22));vector-effect:non-scaling-stroke}.meteo-selected-prob{fill:#fff;stroke:#416fbd;stroke-width:3;vector-effect:non-scaling-stroke}.meteogram-tooltip{position:absolute;top:12px;transform:translateX(-50%);z-index:5;width:max-content;max-width:220px;padding:9px 10px;border-radius:12px;background:rgba(20,54,64,.94);color:#fff;box-shadow:0 8px 24px rgba(20,54,64,.2);pointer-events:none;display:grid;gap:3px;font-size:9px}.meteogram-tooltip b{font-size:10px;margin-bottom:2px}.meteogram-tooltip span{color:#d9e7e9;white-space:nowrap}.meteogram-tooltip strong{color:#fff}.forecast-meteogram-legend{display:flex;gap:13px;align-items:center;flex-wrap:wrap;padding:9px 3px 0;color:#789098;font-size:8.5px}.forecast-meteogram-legend span{display:flex;align-items:center;gap:5px}.forecast-meteogram-legend i{width:15px;height:4px;border-radius:999px;background:#9db3b7}.forecast-meteogram-legend i.temp{background:#079a84}.forecast-meteogram-legend i.rain{background:#4b84d5}.forecast-meteogram-legend i.prob{height:0;border-top:2px dashed #4b78c7;background:transparent;border-radius:0}

@media(max-width:1100px){.forecast-v2-rain{grid-template-columns:1fr}.forecast-v2-rainfacts{grid-template-columns:repeat(4,minmax(0,1fr))}.forecast-v2-overview{grid-template-columns:1fr}}
@media(max-width:760px){
  .forecast-v2{padding:14px}.forecast-v2-head h2{font-size:24px}.forecast-v2-head>div>p:last-child{font-size:10.5px}.forecast-v2-rain{padding:14px}.forecast-v2-rain .rain-brief-main h3{font-size:19px}.forecast-v2-rainfacts{grid-template-columns:1fr 1fr}.forecast-v2-rainfacts .rain-fact{min-height:72px;padding:11px}.forecast-v2-tabs{width:100%;overflow-x:auto}.forecast-v2-tabs button{flex:1;min-width:72px;padding:10px 9px}.forecast-hourly-matrix{--cell:76px;grid-template-columns:90px repeat(var(--hour-count),var(--cell));width:max-content;min-width:100%}.hm-label{padding-left:10px;font-size:8.5px}.forecast-hourly-matrix-shell .scroll-arrow.left{left:80px}.hm-weather small{display:none}.forecast-meteogram-head{display:grid;align-items:start}.forecast-meteogram-readout{white-space:normal;width:max-content;max-width:100%;font-size:9px}.forecast-meteogram svg{height:320px}.meteogram-tooltip{top:9px;font-size:8.5px}.forecast-v2-day{min-width:112px}.forecast-v2-dayrow{display:flex;overflow-x:auto}
}
@media(max-width:480px){.forecast-v2-rainfacts .rain-fact strong{font-size:14px}.forecast-v2-nextdays{padding:11px}.forecast-meteogram svg{height:300px}.forecast-meteogram-legend{gap:8px}.forecast-hourly-matrix{--cell:72px;grid-template-columns:84px repeat(var(--hour-count),var(--cell));width:max-content;min-width:100%}.forecast-hourly-matrix-shell .scroll-arrow.left{left:74px}.hm-label{font-size:8px}.hm-cell{font-size:9px}}
@media(max-width:760px){
  .forecast-meteogram{overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#c4d3d1 transparent}
  .forecast-meteogram svg{width:820px;min-width:820px;height:310px}
  .meteogram-tooltip{position:sticky;left:10px!important;transform:none;top:9px;width:178px;max-width:178px}
}
@media(max-width:480px){.forecast-meteogram svg{width:760px;min-width:760px;height:292px}}

/* v0.5.1 — approved city hero + professional multi-band forecast graph */
@media(min-width:1101px){.hero-grid{grid-template-columns:1.34fr 1.08fr .68fr;gap:16px}.current-card-pro{min-height:420px}.radar-card{min-height:420px}.hero-side{grid-template-rows:minmax(0,1fr) minmax(0,.82fr)}}
.current-card-pro{padding-bottom:16px;overflow:hidden}.current-pro-top{display:grid;grid-template-columns:minmax(0,1fr) 142px;gap:16px;align-items:center;padding:15px 18px 8px}.current-main-pro{padding:0;min-width:0}.weather-emoji-pro{width:92px;height:92px;font-size:58px}.current-card-pro .big-temp{font-size:54px}.current-card-pro .current-main strong{font-size:17px}.current-card-pro .current-main span{font-size:12px}.current-astro{height:112px;border-left:1px solid var(--line);padding-left:16px;display:grid;align-content:center;gap:11px}.current-astro>div{display:grid;grid-template-columns:32px 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center}.current-astro .astro-icon{grid-row:1/3;width:30px;height:30px;display:grid;place-items:center;border-radius:10px;font-size:19px}.sunrise-icon{color:#eeab28;background:#fff8e7}.sunset-icon{color:#f28a63;background:#fff1eb}.current-astro small{font-size:9px;color:#84989f}.current-astro b{font-size:15px}.current-human-summary{margin:0 18px 12px;color:#607b83;font-size:11px;line-height:1.45}.current-day-pair{margin:0 18px 12px;display:grid;grid-template-columns:1fr 1fr;gap:9px}.current-day-card{min-height:82px;border:1px solid var(--line);border-radius:14px;background:#fbfdfd;padding:11px 12px;display:grid;grid-template-columns:1fr auto auto;grid-template-rows:auto auto;column-gap:10px;align-items:center}.current-day-card.today{background:linear-gradient(120deg,#fffdf8,#fbfdfd)}.current-day-card.tomorrow{background:linear-gradient(120deg,#f8fbfe,#fbfdfd)}.current-day-label{display:grid;gap:3px;min-width:0}.current-day-label b{font-size:12px}.current-day-label small{font-size:9px;color:#6e8991;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.current-day-card>i{grid-row:1/3;font-style:normal;font-size:31px}.current-day-temp{display:flex;align-items:baseline;gap:5px}.current-day-temp strong{font-size:18px}.current-day-temp span{font-size:11px;color:#81969d}.current-day-card>em{grid-column:3;font-size:9px;color:#5b86b5;font-style:normal}.current-stats-pro{grid-template-columns:repeat(4,1fr);margin:0 18px;border-radius:14px}.current-stats-pro span{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:7px;justify-content:initial;align-items:center;padding:10px 11px}.current-stats-pro span i{grid-row:1/3;font-style:normal;color:#0ba78f;font-size:15px}.current-stats-pro small{font-size:8px;color:#8ba0a6}.current-stats-pro b{font-size:11px;white-space:nowrap}
.city-map-layer-tabs{padding-left:14px;padding-right:14px;gap:7px}.city-map-layer-tabs button{padding-left:12px;padding-right:12px}
.sun-card-pro{position:relative;overflow:hidden}.sun-card-pro .card-head{padding-bottom:0}.sun-arc-visual{height:54px;margin:7px 22px 0;position:relative;overflow:hidden}.sun-arc-line{position:absolute;left:8%;right:8%;bottom:-25px;height:70px;border:2px solid #efb53c;border-color:#efb53c transparent transparent transparent;border-radius:50%}.sun-arc-line:before,.sun-arc-line:after{content:"";position:absolute;top:-3px;width:5px;height:5px;border-radius:50%;background:#efb53c}.sun-arc-line:before{left:-2px}.sun-arc-line:after{right:-2px}.sun-arc-disc{position:absolute;left:50%;top:2px;transform:translateX(-50%);color:#f1ad22;font-size:21px}.sun-pro-times{display:flex;justify-content:space-between;margin:0 16px 9px;padding-bottom:10px;border-bottom:1px solid var(--line)}.sun-pro-times div{display:grid;gap:2px}.sun-pro-times div:last-child{text-align:right}.sun-pro-times span,.sun-pro-uv span,.sun-pro-uv small{font-size:8px;color:#81969d}.sun-pro-times b{font-size:13px}.sun-pro-uv{display:flex;align-items:center;gap:8px;margin:0 16px}.sun-pro-uv b{min-width:30px;padding:5px 8px;border-radius:9px;background:#edf9f6;color:#087d70;font-size:13px;text-align:center}.sun-pro-uv small{font-size:9px}

.forecast-pro-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:2px 1px 8px}.forecast-pro-head>div:first-child{display:grid;gap:3px}.forecast-pro-head b{font-size:13px}.forecast-pro-head span{font-size:9px;color:#789098}.forecast-pro-actions{display:flex;gap:6px}.forecast-pro-actions button,.forecast-pro-actions span{border:1px solid var(--line);background:#fff;color:#69848c;border-radius:999px;padding:7px 11px;font:inherit;font-size:9px;font-weight:800}.forecast-pro-actions button{cursor:pointer}.forecast-pro-actions .active{background:#edf9f6;color:#087d70;border-color:rgba(8,185,157,.22)}.forecast-pro-rain-summary{width:max-content;max-width:calc(100% - 6px);margin:0 auto 9px;padding:8px 14px;border:1px solid rgba(8,185,157,.22);border-radius:999px;background:#f0faf7;color:#2f6665;font-size:9.5px;font-weight:750;line-height:1.3}.forecast-pro-readout{margin:0 0 8px auto;width:max-content;max-width:100%;padding:7px 11px;border-radius:999px;background:#f3f8f7;border:1px solid var(--line);font-size:9px;font-weight:850;color:#24515a}.forecast-pro-meteogram{position:relative;border:1px solid var(--line);border-radius:17px;background:#fff;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#c7d5d3 transparent;box-shadow:0 5px 20px rgba(31,67,75,.025);touch-action:pan-x pan-y}.forecast-pro-meteogram svg{display:block;width:100%;height:auto;min-width:1120px;cursor:crosshair}.pro-band-temp{fill:#fffdfd;stroke:#edf2f1}.pro-band-atmo{fill:#fbfcfd;stroke:#edf2f1}.pro-band-rain{fill:#fbfdff;stroke:#edf2f1}.pro-band-wind{fill:#fcfefd;stroke:#edf2f1}.pro-row-label{font-size:13px;font-weight:850;fill:#476974}.pro-scale,.pro-pressure-scale,.pro-time{font-size:9px;font-weight:720;fill:#879ba1}.pro-day-label{font-size:9px;font-weight:850;fill:#5e7b83}.pro-vgrid,.pro-hgrid,.pro-hline{stroke:#e6eeec;stroke-width:1;vector-effect:non-scaling-stroke}.pro-vgrid{stroke-dasharray:3 6}.pro-day-grid{stroke:#bfd0cd;stroke-width:1.35;vector-effect:non-scaling-stroke}.pro-hgrid{stroke-dasharray:3 5}.pro-cloud-area{fill:url(#cityCloudArea);stroke:none}.pro-temp-area{fill:url(#cityTempArea);stroke:none}.pro-temp-line{fill:none;stroke:#ef4d58;stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.pro-feels-line{fill:none;stroke:#ef8f9a;stroke-width:1.8;stroke-dasharray:5 5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.pro-temp-point{fill:#fff;stroke:#ef4d58;stroke-width:2.2;vector-effect:non-scaling-stroke}.pro-feels-point{fill:#fff;stroke:#ef8f9a;stroke-width:1.5;vector-effect:non-scaling-stroke}.pro-temp-label,.pro-feels-label{font-size:9px;font-weight:850;fill:#334f57}.pro-prob-line{fill:none;stroke:#4b92d6;stroke-width:2.2;stroke-dasharray:6 5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.pro-prob-label{font-size:8px;font-weight:850;fill:#4084c7}.pro-humidity-line{fill:none;stroke:#75a91d;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.pro-pressure-line{fill:none;stroke:#2f4146;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.pro-rain-bar{fill:#128fc7;opacity:.82}.pro-rain-label{font-size:7.8px;font-weight:850;fill:#167cac}.pro-wind-line{fill:none;stroke:#0a9983;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.pro-wind-point{fill:#fff;stroke:#0a9983;stroke-width:1.8;vector-effect:non-scaling-stroke}.pro-wind-label{font-size:8px;font-weight:850;fill:#22786f}.pro-wind-arrow{font-size:12px;font-weight:800;fill:#0a9983}.pro-cursor{stroke:#173f48;stroke-width:1.3;opacity:.55;vector-effect:non-scaling-stroke}.pro-selected-temp{fill:#fff;stroke:#ef4d58;stroke-width:3.5;filter:drop-shadow(0 2px 3px rgba(127,44,52,.2));vector-effect:non-scaling-stroke}.pro-selected-feels{fill:#fff;stroke:#ef8f9a;stroke-width:2.5;vector-effect:non-scaling-stroke}.pro-selected-prob{fill:#fff;stroke:#4b92d6;stroke-width:2.7;vector-effect:non-scaling-stroke}.pro-selected-humidity{fill:#fff;stroke:#75a91d;stroke-width:2.7;vector-effect:non-scaling-stroke}.pro-selected-pressure{fill:#fff;stroke:#2f4146;stroke-width:2.7;vector-effect:non-scaling-stroke}.pro-selected-wind{fill:#fff;stroke:#0a9983;stroke-width:2.7;vector-effect:non-scaling-stroke}.forecast-pro-tooltip{position:absolute;z-index:8;top:42px;transform:translateX(-50%);width:186px;padding:10px 11px;border-radius:13px;background:rgba(19,53,63,.96);color:#fff;box-shadow:0 10px 28px rgba(20,54,64,.23);pointer-events:none;display:grid;gap:5px;font-size:8px}.forecast-pro-tooltip>b{font-size:10px;padding-bottom:3px;border-bottom:1px solid rgba(255,255,255,.13)}.forecast-pro-tooltip span{display:grid;grid-template-columns:8px 1fr auto;gap:5px;align-items:center}.forecast-pro-tooltip i{width:6px;height:6px;border-radius:50%}.forecast-pro-tooltip span b{font-weight:650;color:#dce9eb}.forecast-pro-tooltip span strong{font-size:8px;color:#fff;white-space:nowrap}.tt-temp{background:#ef4d58}.tt-feels{background:#ef8f9a}.tt-prob{background:#4b92d6}.tt-cloud{background:#8b9ba0}.tt-humidity{background:#75a91d}.tt-pressure{background:#2f4146}.tt-wind{background:#0a9983}.forecast-pro-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:9px 4px 0;color:#728b93;font-size:8px}.forecast-pro-legend span{display:flex;align-items:center;gap:5px}.forecast-pro-legend i{width:15px;height:4px;border-radius:999px}.legend-temp{background:#ef4d58}.legend-feels{height:0!important;border-top:2px dashed #ef8f9a;border-radius:0!important}.legend-rain{background:#128fc7}.legend-prob{height:0!important;border-top:2px dashed #4b92d6;border-radius:0!important}.legend-cloud{background:#8b9ba0}.legend-humidity{background:#75a91d}.legend-pressure{background:#2f4146}.legend-wind{background:#0a9983}

@media(max-width:1100px){.current-card-pro{min-height:auto}.current-pro-top{grid-template-columns:1fr 130px}.current-stats-pro{grid-template-columns:repeat(4,1fr)}.forecast-pro-meteogram svg{min-width:1180px}.forecast-pro-head{align-items:start}.forecast-pro-actions{flex-shrink:0}}
@media(max-width:760px){.current-pro-top{grid-template-columns:1fr;gap:6px}.current-main-pro{padding-top:3px}.current-astro{height:auto;border-left:0;border-top:1px solid var(--line);padding:10px 0 0;grid-template-columns:1fr 1fr}.current-astro>div{grid-template-columns:28px 1fr}.current-day-pair{grid-template-columns:1fr 1fr}.current-day-card{padding:9px;grid-template-columns:1fr auto}.current-day-card>i{grid-row:1/2;font-size:27px}.current-day-temp{grid-column:1}.current-day-card>em{grid-column:2;grid-row:2}.current-stats-pro{grid-template-columns:1fr 1fr}.sun-card-pro{min-height:160px}.forecast-pro-head{display:grid;gap:9px}.forecast-pro-actions{overflow-x:auto}.forecast-pro-rain-summary{width:100%;border-radius:13px;text-align:left}.forecast-pro-readout{width:100%;border-radius:12px;white-space:normal;line-height:1.35}.forecast-pro-meteogram svg{min-width:1080px}.forecast-pro-tooltip{top:34px;width:172px}.forecast-pro-legend{gap:8px}}
@media(max-width:480px){.weather-emoji-pro{width:78px;height:78px;font-size:47px}.current-card-pro .big-temp{font-size:46px}.current-day-pair{grid-template-columns:1fr}.current-stats-pro span{padding:9px}.forecast-pro-meteogram svg{min-width:1020px}.forecast-pro-tooltip{width:166px}}

/* v0.5.2 — forecast first, larger desktop legend, cleaner workspace */
.forecast-tabs-primary{margin:0 0 12px;position:sticky;top:0;z-index:3;background:rgba(247,251,250,.96);backdrop-filter:blur(8px);padding:5px;border:1px solid var(--line);border-radius:14px;width:max-content;max-width:100%}
.forecast-tabs-primary button:first-child{min-width:118px}
.forecast-panel-primary{margin-top:0}
.forecast-panel-primary .forecast-pro-head{margin-top:0}
.forecast-panel-primary .forecast-pro-rain-summary{margin-top:2px}

@media(min-width:1101px){
  .forecast-pro-legend{gap:19px;padding:13px 8px 3px;font-size:11.5px;font-weight:750;color:#55737c}
  .forecast-pro-legend span{gap:8px;white-space:nowrap}
  .forecast-pro-legend i{width:24px;height:5px}
  .forecast-pro-tooltip{width:208px;padding:12px 13px;font-size:9.5px;gap:6px}
  .forecast-pro-tooltip>b{font-size:11.5px}
  .forecast-pro-tooltip span strong{font-size:9.5px}
  .forecast-pro-tooltip span b{font-size:9px}
  .forecast-pro-readout{font-size:10px;padding:8px 13px}
  .forecast-pro-head b{font-size:14px}
  .forecast-pro-head span{font-size:10px}
}

@media(max-width:760px){
  .forecast-tabs-primary{position:relative;top:auto;width:100%;overflow-x:auto;scrollbar-width:none}
  .forecast-tabs-primary::-webkit-scrollbar{display:none}
  .forecast-tabs-primary button:first-child{min-width:105px}
}

/* v0.5.3 — Final Forecast UI: stronger Today/Tomorrow + WU-inspired weather rail */
@media(min-width:1101px){
  .hero-grid{grid-template-columns:1.42fr 1.05fr .62fr;gap:16px}
  .current-card-pro{min-height:430px}
  .radar-card{min-height:430px}
  .forecast-pro-meteogram svg{min-width:1220px}
}
.current-day-card{grid-template-columns:44px minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:11px;row-gap:4px;min-height:90px}
.current-day-card>i{grid-column:1;grid-row:1/3;font-size:34px;align-self:center;justify-self:center}
.current-day-label{grid-column:2;grid-row:1;align-self:end}
.current-day-label b{font-size:13px}
.current-day-label small{font-size:9.5px}
.current-day-temp{grid-column:3;grid-row:1;align-self:end;justify-self:end}
.current-day-temp strong{font-size:21px}
.current-day-temp span{font-size:12px}
.current-day-meta{grid-column:2/4;grid-row:2;display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#6f8790;font-size:9px;font-weight:750}
.current-day-meta span:first-child{color:#4f83b6}
.current-day-card.tomorrow{border-color:rgba(8,185,157,.21);background:linear-gradient(125deg,#f2fbf8,#fbfdfd);box-shadow:inset 0 0 0 1px rgba(8,185,157,.035)}
.current-day-card.tomorrow .current-day-label b{color:#087d70}

.pro-band-weather{fill:#fbfdfd;stroke:#e7efed}
.pro-row-label-weather{fill:#315d66}
.pro-weather-time{font-size:8px;font-weight:800;fill:#748b93}
.pro-weather-icon{font-size:24px}
.pro-weather-temp{font-size:10px;font-weight:900;fill:#264d55}
.pro-weather-rain{font-size:7.5px;font-weight:800;fill:#4c83b9}

/* The legend starts where the actual data plot starts, not at the card edge. */
.forecast-pro-legend{margin-left:10%;margin-right:4.3%;padding-left:0;padding-right:0}
@media(min-width:1101px){
  .forecast-pro-legend{gap:22px;padding-top:14px;font-size:12px;line-height:1.2}
  .forecast-pro-legend i{width:27px;height:5px}
  .forecast-pro-legend span{gap:8px}
  .forecast-pro-tooltip{top:126px;width:214px}
  .pro-row-label{font-size:14px}
  .pro-weather-icon{font-size:26px}
  .pro-weather-time{font-size:8.5px}
  .pro-weather-temp{font-size:10.5px}
}

/* Keep humidity and pressure available in the tooltip but visually subordinate in the main chart. */
.pro-humidity-line,.pro-pressure-line,.pro-selected-humidity,.pro-selected-pressure{display:none}

@media(max-width:760px){
  .current-day-pair{grid-template-columns:1fr 1fr}
  .current-day-card{grid-template-columns:38px minmax(0,1fr) auto;min-height:86px;padding:9px 10px}
  .current-day-card>i{font-size:29px}
  .current-day-temp strong{font-size:18px}
  .current-day-meta{gap:7px;font-size:8px}
  .forecast-pro-legend{margin-left:0;margin-right:0;padding:10px 2px 0;gap:10px;font-size:9px}
  .forecast-pro-tooltip{top:118px}
  .forecast-pro-meteogram svg{min-width:1160px}
}
@media(max-width:480px){
  .current-day-pair{grid-template-columns:1fr}
  .current-day-card{min-height:82px}
  .forecast-pro-meteogram svg{min-width:1100px}
}

/* v0.5.4 — Final polish: simpler section nav, calmer hierarchy, denser meteogram */
.city-anchor-nav-clean{gap:5px;padding:6px;margin-bottom:16px}
.city-anchor-nav-clean a{padding:8px 13px;font-size:10.5px}
.city-anchor-nav-clean a.active{background:#edf8f5;color:#087d70;box-shadow:inset 0 0 0 1px rgba(8,185,157,.12)}
.current-day-card.today{border-color:rgba(233,177,58,.18);background:linear-gradient(125deg,#fffaf0,#fffdf8)}
.current-day-card.today .current-day-label b{color:#9b6a0d}

@media(min-width:1101px){
  .hero-side{grid-template-rows:minmax(220px,1fr) 150px}
  .sun-card-pro{min-height:150px;box-shadow:0 8px 24px rgba(25,55,64,.045)}
  .sun-card-pro .card-head{padding-top:14px}
  .sun-arc-visual{height:42px;margin-top:4px}
  .sun-pro-times{margin-bottom:7px;padding-bottom:7px}
  .forecast-experience{padding:18px 20px 16px}
  .forecast-tabs-primary{margin-bottom:10px}
  .forecast-pro-head{margin-bottom:6px}
  .forecast-pro-rain-summary{margin-bottom:7px;padding:7px 13px}
  .forecast-pro-readout{margin-bottom:6px}
  .forecast-pro-legend{gap:24px;padding-top:11px;font-size:12.5px;font-weight:800}
  .forecast-pro-legend i{width:29px;height:5px}
  .pro-weather-icon{font-size:30px}
  .pro-weather-time{font-size:9px}
  .pro-weather-temp{font-size:11.5px}
  .pro-weather-rain{font-size:8px}
  .pro-row-label{font-size:13.5px}
  .forecast-pro-tooltip{width:196px;padding:10px 11px;gap:4px;font-size:9px;border-radius:12px}
  .forecast-pro-tooltip>b{font-size:11px;padding-bottom:4px}
  .forecast-pro-tooltip span{grid-template-columns:8px 1fr auto;gap:5px;min-height:16px}
  .forecast-pro-tooltip span b{font-size:8.5px}
  .forecast-pro-tooltip span strong{font-size:9px}
  .forecast-pro-tooltip span.secondary{opacity:.76}
  .forecast-pro-tooltip span.secondary b,.forecast-pro-tooltip span.secondary strong{font-size:8px}
  .forecast-pro-tooltip span.primary b,.forecast-pro-tooltip span.primary strong{font-weight:850}
}

@media(max-width:760px){
  .city-anchor-nav-clean{display:grid;grid-template-columns:repeat(4,max-content);justify-content:start;overflow-x:auto}
  .city-anchor-nav-clean a{font-size:9.5px;padding:8px 10px}
  .forecast-pro-tooltip span.secondary{opacity:.78}
  .pro-weather-icon{font-size:27px}
}

/* v0.6.0 · City Engine */
.nearby-grid a{background:#fff;border:1px solid var(--line);border-radius:11px;padding:11px;display:grid;gap:3px;transition:.15s ease}.nearby-grid a:hover{border-color:rgba(8,185,157,.24);box-shadow:0 7px 20px rgba(25,55,64,.055);transform:translateY(-1px)}

/* v0.6.2 · interní krajské prolinkování */
.city-region-links{margin-top:18px;padding:22px}.city-region-links .section-head>a{font-weight:800;color:#087f73;text-decoration:none;font-size:13px}.city-region-links>p{margin:8px 0 0;color:#6a8089;line-height:1.55}.city-region-links .region-city-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.city-region-links .region-city-links a{border:1px solid #dfe9e7;background:#fff;border-radius:999px;padding:9px 13px;text-decoration:none;color:#284852;font-size:13px;font-weight:700}.city-region-links .region-city-links a:hover{border-color:#b9ded8;background:#f2fbf9}.place-chips a{color:inherit;text-decoration:none}.place-chips a:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.city-region-links{padding:18px}}

/* v0.6.3 · City Forecast Graph Pro
   48 h / 7 d / 10 d, daily rail, interactive legend, shared cursor. */
.forecast-pro-head-v3{align-items:center;margin:0 2px 12px}
.forecast-pro-head-v3>div:first-child{gap:4px}
.forecast-pro-head-v3 b{font-size:17px;letter-spacing:-.015em;color:#183f48}
.forecast-pro-head-v3 span{font-size:10.5px;line-height:1.45}
.forecast-window-label{flex:0 0 auto;border:1px solid #dfe9e7;background:#f8fbfa;color:#55747c;border-radius:999px;padding:8px 12px;font-size:9.5px;font-weight:850;white-space:nowrap}

.forecast-dayrail-shell{position:relative;margin:2px 0 12px;padding:0 30px}
.forecast-dayrail{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding:2px 1px 4px}
.forecast-dayrail::-webkit-scrollbar{display:none}
.forecast-dayrail-card{appearance:none;border:1px solid #e1eae8;background:linear-gradient(180deg,#fff,#fbfdfd);border-radius:15px;min-width:132px;padding:10px 10px 9px;color:#234750;font:inherit;display:grid;grid-template-rows:auto 34px auto auto;align-items:center;justify-items:center;gap:3px;cursor:pointer;scroll-snap-align:start;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease,background .15s ease}
.forecast-dayrail-card:hover{border-color:#c8ded9;box-shadow:0 8px 22px rgba(26,62,70,.065);transform:translateY(-1px)}
.forecast-dayrail-card.active{border-color:rgba(8,185,157,.55);background:linear-gradient(180deg,#f2fbf8,#fff);box-shadow:inset 0 0 0 1px rgba(8,185,157,.07)}
.forecast-dayrail-card>span{font-size:9px;font-weight:850;color:#617b83;white-space:nowrap}
.forecast-dayrail-card>i{font-style:normal;font-size:27px;line-height:1;display:grid;place-items:center}
.forecast-dayrail-card>strong{display:flex;align-items:baseline;gap:5px;font-size:14px}
.forecast-dayrail-card>strong b{color:#e64d57;font-size:15px}.forecast-dayrail-card>strong em{color:#3278b8;font-style:normal;font-size:13px}
.forecast-dayrail-card>small{display:flex;gap:8px;align-items:center;color:#718990;font-size:7.8px;font-weight:760;white-space:nowrap}
.forecast-dayrail-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:30px;height:42px;border:1px solid #dce7e5;border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 5px 16px rgba(27,62,70,.09);color:#47656d;font-size:24px;line-height:1;cursor:pointer}.forecast-dayrail-arrow.left{left:-3px}.forecast-dayrail-arrow.right{right:-3px}

.forecast-pro-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;margin:10px 2px 8px}
.forecast-range-switch{display:inline-flex;align-items:center;padding:3px;border:1px solid #dde7e5;border-radius:12px;background:#f7faf9;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.forecast-range-switch button{appearance:none;border:0;background:transparent;border-radius:9px;padding:8px 13px;color:#627c84;font:inherit;font-size:9.5px;font-weight:850;cursor:pointer;white-space:nowrap;transition:.15s ease}
.forecast-range-switch button.active{background:#0a9d8c;color:#fff;box-shadow:0 4px 12px rgba(8,157,140,.18)}
.forecast-pro-legend-controls{margin:0;padding:0;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.forecast-pro-legend-controls button{appearance:none;border:1px solid #e0e8e7;background:#fff;border-radius:999px;padding:7px 10px;color:#607980;font:inherit;font-size:8.8px;font-weight:800;display:inline-flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap;box-shadow:0 2px 7px rgba(26,61,69,.025);transition:.15s ease}
.forecast-pro-legend-controls button:hover{border-color:#cbdcda;background:#fbfdfd}
.forecast-pro-legend-controls button.active{color:#264c55;border-color:#ccdeda;background:#f8fbfa}
.forecast-pro-legend-controls button:not(.active){opacity:.48;background:#fafcfc}
.forecast-pro-legend-controls button[hidden]{display:none}
.forecast-pro-legend-controls i{width:10px;height:10px;border-radius:50%;flex:0 0 auto}
.forecast-pro-legend-controls .legend-temp{background:#ef4d58}.forecast-pro-legend-controls .legend-feels{height:0;width:12px;border-top:2px dashed #a74ec7;background:transparent;border-radius:0}.forecast-pro-legend-controls .legend-rain{background:#287dce}.forecast-pro-legend-controls .legend-prob{background:#49a9e4}.forecast-pro-legend-controls .legend-cloud{background:#9ba9ad}.forecast-pro-legend-controls .legend-pressure{background:#2f4146}.forecast-pro-legend-controls .legend-wind{background:#0a9983}

.forecast-pro-rain-summary{margin:0 auto 8px}
.forecast-pro-readout{margin:0 2px 8px auto;background:#f6faf9;border-color:#e1eae8;box-shadow:none}
.forecast-chart-shell{position:relative;padding:0 19px}
.forecast-chart-arrow{position:absolute;top:47%;z-index:9;width:34px;height:50px;border:1px solid #dce7e5;border-radius:999px;background:rgba(255,255,255,.95);color:#42636b;font:inherit;font-size:25px;line-height:1;box-shadow:0 7px 20px rgba(23,57,65,.10);cursor:pointer;transition:.15s ease}.forecast-chart-arrow.left{left:-3px}.forecast-chart-arrow.right{right:-3px}.forecast-chart-arrow:hover{border-color:#bfd8d3;transform:translateY(-1px)}.forecast-chart-arrow.is-disabled,.forecast-chart-arrow:disabled{opacity:.28;cursor:default;box-shadow:none;transform:none}
.forecast-pro-meteogram{border-radius:18px;border-color:#dde8e6;box-shadow:0 8px 28px rgba(28,63,72,.045);background:#fff;scroll-behavior:smooth}
.forecast-pro-meteogram svg{min-width:100%;width:100%;height:auto}
.pro-band-weather{fill:#fbfdfd;stroke:#e4ecea}.pro-band-temp{fill:#fffdfd}.pro-band-atmo{fill:#fbfdff}.pro-band-rain{fill:#fbfdff}.pro-band-wind{fill:#fcfefd}
.pro-prob-area{fill:url(#cityProbArea);stroke:none}.pro-prob-line{stroke:#398ed2;stroke-width:2.5;stroke-dasharray:none}.pro-prob-label{fill:#347fbd}
.pro-feels-line{stroke:#a74ec7;stroke-width:2;stroke-dasharray:6 5}.pro-feels-point{stroke:#a74ec7}.pro-selected-feels{stroke:#a74ec7}
.pro-pressure-line{display:block;fill:none;stroke:#2f4146;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;opacity:.9}.pro-pressure-scale{font-size:8px;font-weight:800;fill:#5b6f75}.pro-selected-pressure{display:block;fill:#fff;stroke:#2f4146;stroke-width:2.7;vector-effect:non-scaling-stroke}
.pro-gust-line{fill:none;stroke:#59b9ad;stroke-width:1.7;stroke-dasharray:6 5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.pro-cursor{stroke:#243e46;stroke-width:1.2;opacity:.68}.pro-cursor-badge rect{fill:#263f47;opacity:.95}.pro-cursor-badge text{fill:#fff;font-size:8px;font-weight:850}
.tt-rain{background:#287dce}.tt-gust{background:#59b9ad}
.forecast-pro-tooltip{top:42px;width:200px;padding:11px 12px;border:1px solid rgba(32,64,72,.12);background:rgba(255,255,255,.97);color:#244650;box-shadow:0 12px 30px rgba(19,53,63,.17);gap:4px;font-size:8.7px;backdrop-filter:blur(10px)}
.forecast-pro-tooltip>b{color:#183e47;border-bottom:1px solid #e7efed;font-size:10px}.forecast-pro-tooltip span b{color:#678087}.forecast-pro-tooltip span strong{color:#244650;font-size:8.8px}.forecast-pro-tooltip span.secondary{opacity:.82}

@media(min-width:1101px){
  .forecast-pro-toolbar{grid-template-columns:auto minmax(600px,1fr)}
  .forecast-pro-legend-controls{justify-self:end;max-width:940px}
  .forecast-pro-legend-controls button{font-size:9.3px;padding:7px 11px}
  .forecast-dayrail-card{min-width:137px}
  .forecast-pro-tooltip{top:132px;width:204px}
}
@media(max-width:1100px){
  .forecast-pro-toolbar{grid-template-columns:1fr;gap:8px}.forecast-range-switch{justify-self:start}.forecast-pro-legend-controls{justify-content:flex-start}
  .forecast-dayrail-card{min-width:124px}
  .forecast-pro-meteogram[data-range="7d"] svg{min-width:1240px}.forecast-pro-meteogram[data-range="10d"] svg{min-width:1480px}
}
@media(max-width:760px){
  .forecast-pro-head-v3{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.forecast-pro-head-v3>div:first-child{min-width:0}.forecast-pro-head-v3 b{font-size:15px}.forecast-pro-head-v3 span{font-size:9px}.forecast-window-label{font-size:8px;padding:7px 9px}
  .forecast-dayrail-shell{margin-left:-4px;margin-right:-4px;padding:0 25px}.forecast-dayrail{gap:6px}.forecast-dayrail-card{min-width:104px;border-radius:13px;padding:8px 7px;grid-template-rows:auto 30px auto auto}.forecast-dayrail-card>i{font-size:24px}.forecast-dayrail-card>strong b{font-size:14px}.forecast-dayrail-card>strong em{font-size:12px}.forecast-dayrail-card>small{display:grid;gap:1px;justify-items:center;font-size:7.3px}.forecast-dayrail-arrow{width:27px;height:38px;font-size:21px}
  .forecast-pro-toolbar{margin-top:8px}.forecast-range-switch{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.forecast-range-switch button{padding:8px 5px;font-size:9px}
  .forecast-pro-legend-controls{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;justify-content:flex-start;padding:1px 0 3px}.forecast-pro-legend-controls::-webkit-scrollbar{display:none}.forecast-pro-legend-controls button{flex:0 0 auto;font-size:8.5px;padding:7px 9px}
  .forecast-pro-readout{width:100%;margin:0 0 7px;font-size:8.5px;padding:7px 9px}
  .forecast-chart-shell{padding:0 10px}.forecast-chart-arrow{width:29px;height:44px;font-size:22px}.forecast-chart-arrow.left{left:-6px}.forecast-chart-arrow.right{right:-6px}
  .forecast-pro-meteogram[data-range="48h"] svg{min-width:920px}.forecast-pro-meteogram[data-range="7d"] svg{min-width:1180px}.forecast-pro-meteogram[data-range="10d"] svg{min-width:1450px}
  .forecast-pro-tooltip{top:124px;width:184px;padding:9px 10px}
}
@media(max-width:480px){
  .forecast-v2{padding:12px}.forecast-pro-head-v3{margin-bottom:8px}.forecast-window-label{max-width:116px;overflow:hidden;text-overflow:ellipsis}
  .forecast-dayrail-card{min-width:98px}.forecast-dayrail-card>span{font-size:8.4px}
  .forecast-pro-rain-summary{font-size:8.6px;padding:7px 10px}
  .forecast-chart-shell{padding:0 8px}.forecast-chart-arrow.left{left:-7px}.forecast-chart-arrow.right{right:-7px}
  .forecast-pro-meteogram[data-range="48h"] svg{min-width:860px}.forecast-pro-meteogram[data-range="7d"] svg{min-width:1120px}.forecast-pro-meteogram[data-range="10d"] svg{min-width:1380px}
}


/* v0.6.4 · graph legend alignment matching the approved mockup */
@media(min-width:1101px){
  .forecast-pro-toolbar{
    grid-template-columns:1fr 1fr;
    gap:18px;
    align-items:center;
    margin:11px 2px 9px;
  }
  .forecast-range-switch{
    justify-self:start;
    margin-left:12%;
  }
  .forecast-pro-legend-controls{
    justify-self:stretch;
    justify-content:flex-start;
    align-items:center;
    flex-wrap:nowrap;
    gap:8px;
    max-width:none;
    min-width:0;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .forecast-pro-legend-controls::-webkit-scrollbar{display:none}
  .forecast-pro-legend-controls button{
    flex:0 0 auto;
    min-height:30px;
    padding:6px 11px;
    border-color:#dfe7e6;
    border-radius:12px;
    background:#fff;
    color:#536c74;
    font-size:9.8px;
    font-weight:720;
    box-shadow:0 1px 3px rgba(26,61,69,.02);
  }
  .forecast-pro-legend-controls button.active{
    background:#fff;
    border-color:#d7e2e0;
    color:#294b54;
  }
  .forecast-pro-legend-controls button:not(.active){
    opacity:1;
    background:#fafcfc;
    color:#93a2a6;
    border-color:#e6eceb;
  }
  .forecast-pro-legend-controls button:hover{
    background:#fff;
    border-color:#d7e2e0;
  }
  .forecast-pro-legend-controls i{
    width:8px;
    height:8px;
  }
  .forecast-pro-legend-controls .legend-feels{
    width:14px;
  }
}
@media(max-width:1100px){
  .forecast-pro-legend-controls button:not(.active){opacity:1;color:#92a1a5}
}

/* v0.6.5 · approved mockup top-row legend — title + range + legend are one visual header */
.forecast-pro-head-v4{
  display:grid;
  grid-template-columns:minmax(190px,auto) auto minmax(0,1fr);
  align-items:center;
  column-gap:18px;
  row-gap:6px;
  margin:2px 2px 11px;
}
.forecast-pro-head-v4 .forecast-pro-title{
  min-width:0;
  display:grid;
  gap:2px;
}
.forecast-pro-head-v4 .forecast-pro-title>b{font-size:13px}
.forecast-pro-head-v4 .forecast-pro-title>span{
  max-width:330px;
  font-size:8.5px;
  line-height:1.35;
  color:#7b9096;
}
.forecast-pro-head-v4 .forecast-range-switch{
  justify-self:start;
  margin:0;
  padding:2px;
  border-radius:999px;
  background:#f7f9fa;
  box-shadow:none;
}
.forecast-pro-head-v4 .forecast-range-switch button{
  min-width:62px;
  padding:6px 11px;
  border-radius:999px;
  font-size:8.8px;
  font-weight:800;
}
.forecast-pro-head-v4 .forecast-range-switch button.active{
  background:#0aa192;
  box-shadow:none;
}
.forecast-pro-head-v4 .forecast-pro-legend-controls{
  justify-self:end;
  justify-content:flex-end;
  align-items:center;
  flex-wrap:nowrap;
  gap:7px;
  min-width:0;
  max-width:none;
  margin:0;
  padding:0;
  overflow:visible;
}
.forecast-pro-head-v4 .forecast-pro-legend-controls button{
  flex:0 0 auto;
  min-height:28px;
  padding:5px 10px;
  border:1px solid #dde6e5;
  border-radius:999px;
  background:#fff;
  color:#3f5860;
  font-size:8.8px;
  font-weight:750;
  line-height:1;
  box-shadow:none;
}
.forecast-pro-head-v4 .forecast-pro-legend-controls button.active{
  background:#fff;
  border-color:#d7e2e0;
  color:#294b54;
}
.forecast-pro-head-v4 .forecast-pro-legend-controls button:not(.active){
  opacity:1;
  background:#fff;
  color:#8f9da1;
  border-color:#e4eae9;
}
.forecast-pro-head-v4 .forecast-pro-legend-controls button:hover{
  background:#fff;
  border-color:#d7e2e0;
}
.forecast-pro-head-v4 .forecast-pro-legend-controls i{
  width:8px;
  height:8px;
  border-radius:50%;
}
/* In the approved mockup the legend is a clean family of coloured dots,
   while line style remains visible in the chart itself. */
.forecast-pro-head-v4 .forecast-pro-legend-controls .legend-feels{
  width:8px;
  height:8px!important;
  border:0;
  border-radius:50%!important;
  background:#a74ec7;
}
.forecast-pro-head-v4 .forecast-window-label{display:none}

@media(max-width:1280px) and (min-width:1101px){
  .forecast-pro-head-v4{grid-template-columns:160px auto minmax(0,1fr);column-gap:11px}
  .forecast-pro-head-v4 .forecast-pro-title>span{display:none}
  .forecast-pro-head-v4 .forecast-pro-legend-controls{gap:5px}
  .forecast-pro-head-v4 .forecast-pro-legend-controls button{padding:5px 8px;font-size:8.1px}
  .forecast-pro-head-v4 .forecast-range-switch button{min-width:56px;padding:6px 8px;font-size:8.2px}
}

@media(max-width:1100px){
  .forecast-pro-head-v4{
    grid-template-columns:1fr auto;
    align-items:start;
    gap:8px 10px;
  }
  .forecast-pro-head-v4 .forecast-pro-title{grid-column:1}
  .forecast-pro-head-v4 .forecast-range-switch{grid-column:2;grid-row:1}
  .forecast-pro-head-v4 .forecast-pro-legend-controls{
    grid-column:1 / -1;
    grid-row:2;
    justify-self:stretch;
    justify-content:flex-start;
    flex-wrap:nowrap;
    overflow-x:auto;
    scrollbar-width:none;
    padding:1px 0 3px;
  }
  .forecast-pro-head-v4 .forecast-pro-legend-controls::-webkit-scrollbar{display:none}
}

@media(max-width:760px){
  .forecast-pro-head-v4{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    margin-bottom:9px;
  }
  .forecast-pro-head-v4 .forecast-pro-title,
  .forecast-pro-head-v4 .forecast-range-switch,
  .forecast-pro-head-v4 .forecast-pro-legend-controls{grid-column:1;grid-row:auto}
  .forecast-pro-head-v4 .forecast-pro-title>b{font-size:15px}
  .forecast-pro-head-v4 .forecast-pro-title>span{font-size:9px}
  .forecast-pro-head-v4 .forecast-range-switch{
    width:100%;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border-radius:12px;
  }
  .forecast-pro-head-v4 .forecast-range-switch button{border-radius:9px;padding:8px 5px;font-size:9px}
  .forecast-pro-head-v4 .forecast-pro-legend-controls button{min-height:29px;padding:6px 9px;font-size:8.5px}
}


/* v0.6.6 · desktop graph header matched to approved mockup (takhle.png)
   - no desktop summary/readout pills between dayrail and chart
   - range control sits directly after the title
   - legend begins around the visual centre and grows right
   - all legend markers are compact dots, including probability */
@media (min-width:1101px){
  .forecast-pro-head-v4{
    grid-template-columns:220px 238px minmax(0,1fr);
    column-gap:16px;
    row-gap:0;
    align-items:center;
    margin:3px 2px 12px;
  }
  .forecast-pro-head-v4 .forecast-pro-title>span{display:none}
  .forecast-pro-head-v4 .forecast-range-switch{
    justify-self:start;
    align-self:center;
  }
  .forecast-pro-head-v4 .forecast-pro-legend-controls{
    justify-self:start;
    justify-content:flex-start;
    margin-left:clamp(90px,8vw,175px);
    gap:8px;
    overflow:visible;
  }
  .forecast-pro-head-v4 .forecast-pro-legend-controls button{
    min-height:30px;
    padding:6px 11px;
    font-size:9.2px;
    font-weight:780;
    border-color:#dce5e4;
  }
  .forecast-pro-head-v4 .forecast-pro-legend-controls i,
  .forecast-pro-head-v4 .forecast-pro-legend-controls .legend-feels,
  .forecast-pro-head-v4 .forecast-pro-legend-controls .legend-prob{
    width:8px;
    height:8px!important;
    border:0!important;
    border-radius:50%!important;
  }
  .forecast-pro-head-v4 .forecast-pro-legend-controls .legend-feels{background:#a74ec7}
  .forecast-pro-head-v4 .forecast-pro-legend-controls .legend-prob{background:#49a9e4}

  /* These two pills were not present in the approved desktop mockup. */
  .forecast-panel[data-forecast-panel="graphs"] > .forecast-pro-rain-summary,
  .forecast-panel[data-forecast-panel="graphs"] > .forecast-pro-readout{
    display:none!important;
  }
}

@media (min-width:1101px) and (max-width:1450px){
  .forecast-pro-head-v4{
    grid-template-columns:190px 215px minmax(0,1fr);
    column-gap:12px;
  }
  .forecast-pro-head-v4 .forecast-pro-legend-controls{
    margin-left:clamp(24px,4vw,70px);
    gap:5px;
  }
  .forecast-pro-head-v4 .forecast-pro-legend-controls button{
    padding:6px 8px;
    font-size:8.3px;
  }
}

/* v0.6.7 · Integrated Wunderground-style meteogram legend
   The detached chip legend is gone. Every chart row owns its legend in the
   left rail and the shared cursor shows compact value cards in-place. */
.forecast-pro-head-v4{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:22px;
  margin:4px 2px 12px;
}
.forecast-pro-head-v4 .forecast-pro-title{
  display:block;
  flex:0 0 auto;
  min-width:172px;
}
.forecast-pro-head-v4 .forecast-pro-title>b{
  font-size:14px;
  letter-spacing:-.01em;
}
.forecast-pro-head-v4 .forecast-pro-title>span{display:none!important}
.forecast-pro-head-v4 .forecast-range-switch{
  justify-self:auto;
  margin:0;
  flex:0 0 auto;
}
.forecast-pro-head-v4 .forecast-pro-legend-controls{display:none!important}
.forecast-pro-head-v4 .forecast-window-label{display:none!important}
.forecast-panel[data-forecast-panel="graphs"] > .forecast-pro-rain-summary,
.forecast-panel[data-forecast-panel="graphs"] > .forecast-pro-readout,
.forecast-pro-tooltip{display:none!important}

/* Left rail / embedded legend */
.pro-row-heading{
  fill:#315d66;
  font-size:12px;
  font-weight:850;
}
.pro-row-key-text{
  fill:#4c666e;
  font-size:9.2px;
  font-weight:760;
}
.pro-row-key-line{
  stroke-width:2.4;
  stroke-linecap:round;
  vector-effect:non-scaling-stroke;
}
.pro-row-key-line.is-dashed{stroke-dasharray:6 5}
.pro-row-key-line.key-temp{stroke:#ef4d58}
.pro-row-key-line.key-feels{stroke:#a74ec7}
.pro-row-key-line.key-prob{stroke:#398ed2}
.pro-row-key-line.key-cloud{stroke:#98a6aa}
.pro-row-key-line.key-wind{stroke:#0a9983}
.pro-row-key-line.key-gust{stroke:#59b9ad}
.pro-row-key-square.key-rain{fill:#2b9fd1}

/* Compact per-row cursor readouts, instead of one floating data table. */
.pro-value-card{pointer-events:none;filter:drop-shadow(0 5px 9px rgba(22,52,60,.10))}
.pro-value-card>rect{fill:rgba(255,255,255,.98);stroke:#dce6e4;stroke-width:1;vector-effect:non-scaling-stroke}
.pro-value-text{font-size:10px;font-weight:850;dominant-baseline:auto}
.pro-value-text.value-temp-main{fill:#ef4d58}
.pro-value-text.value-feels{fill:#a74ec7}
.pro-value-text.value-prob{fill:#398ed2}
.pro-value-text.value-cloud{fill:#788b90}
.pro-value-text.value-rain-main{fill:#258fc2}
.pro-value-text.value-wind-main{fill:#078d7c}
.pro-value-text.value-gust{fill:#4ca99f;font-size:8.7px}

.pro-cursor-badge rect{fill:#263f47;opacity:.96}
.pro-cursor-badge text{font-size:8.4px;font-weight:850}

@media(max-width:760px){
  .forecast-pro-head-v4{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    margin-bottom:9px;
  }
  .forecast-pro-head-v4 .forecast-pro-title{min-width:0}
  .forecast-pro-head-v4 .forecast-pro-title>b{font-size:15px}
  .forecast-pro-head-v4 .forecast-range-switch{
    width:100%;
    display:grid;
    grid-template-columns:repeat(3,1fr);
  }
  .pro-row-key-text{font-size:9.5px}
  .pro-value-text{font-size:9.6px}
}


/* v0.6.8 · slim left gutter + named inline value cards */
.forecast-chart-shell{padding:0 16px}
.pro-row-title{
  fill:#325a63;
  font-size:11.5px;
  font-weight:840;
}
.pro-scale{font-size:8.4px;font-weight:760;fill:#7f959c}
.pro-value-text{font-size:9.4px;font-weight:840}
.pro-value-text.value-gust{font-size:8.8px}

@media(max-width:760px){
  .forecast-chart-shell{padding:0 10px}
  .pro-row-title{font-size:11px}
  .pro-scale{font-size:8.2px}
  .pro-value-text{font-size:9px}
  .pro-value-text.value-gust{font-size:8.3px}
}


/* v0.6.9 · final meteogram micro-polish
   - calmer/narrower row titles
   - long probability label never collides with the scale
   - smaller inline value cards with clearer label:value hierarchy */
.forecast-chart-shell{padding:0 14px}
.pro-row-title{
  fill:#315a63;
  font-size:9.9px;
  font-weight:820;
  letter-spacing:-.012em;
}
.pro-row-title.is-long{
  font-size:8.75px;
  letter-spacing:-.035em;
}
.pro-scale{
  font-size:7.9px;
  font-weight:740;
  fill:#82979d;
}
.pro-value-card{filter:drop-shadow(0 4px 8px rgba(22,52,60,.085))}
.pro-value-card>rect{
  fill:rgba(255,255,255,.985);
  stroke:#dfe8e6;
  stroke-width:.9;
}
.pro-value-text{
  font-size:8.75px;
  font-weight:820;
  letter-spacing:-.01em;
}
.pro-value-text.value-gust{font-size:8.15px}
.pro-cursor-badge text{font-size:7.9px}

@media(max-width:760px){
  .forecast-chart-shell{padding:0 9px}
  .pro-row-title{font-size:9.5px}
  .pro-row-title.is-long{font-size:8.35px}
  .pro-scale{font-size:7.6px}
  .pro-value-text{font-size:8.45px}
  .pro-value-text.value-gust{font-size:7.9px}
}


/* v0.7.0 · dedicated cloud-cover + pressure rows */
.pro-band-cloud{fill:#fbfcfd;stroke:#edf2f1}
.pro-band-pressure{fill:#fbfcfc;stroke:#edf2f1}
.pro-cloud-area{fill:url(#cityCloudArea);stroke:none}
.pro-cloud-line{fill:none;stroke:#8f9da1;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;opacity:.92}
.pro-cloud-grid{stroke:#ebf0ef}
.pro-pressure-line{display:block;fill:none;stroke:#344a50;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;opacity:.94}
.pro-pressure-point{fill:#fff;stroke:#344a50;stroke-width:1.6;vector-effect:non-scaling-stroke}
.pro-pressure-grid{stroke:#edf1f0}
.pro-pressure-scale{fill:#75898f}
.pro-selected-cloud{fill:#fff;stroke:#8f9da1;stroke-width:2.6;vector-effect:non-scaling-stroke}
.pro-selected-pressure{display:block;fill:#fff;stroke:#344a50;stroke-width:2.7;vector-effect:non-scaling-stroke}
.pro-value-text.value-pressure-main{fill:#344a50}
.pro-value-card.value-pressure>rect{fill:rgba(249,251,251,.985)}
.pro-value-card.value-cloudcover>rect{fill:rgba(252,253,253,.985)}

/* v0.7.2 · mobile meteogram readability + fresh city model timeline */
.city-map-time-tabs{
  display:flex;align-items:center;gap:5px;margin:-2px 14px 10px;padding:3px;
  width:max-content;max-width:calc(100% - 28px);overflow-x:auto;scrollbar-width:none;
  border:1px solid #e0e9e7;border-radius:11px;background:#f7faf9
}
.city-map-time-tabs[hidden]{display:none}
.city-map-time-tabs::-webkit-scrollbar{display:none}
.city-map-time-tabs button{
  appearance:none;border:0;background:transparent;color:#698188;border-radius:8px;
  padding:6px 10px;font:800 8.5px/1 inherit;white-space:nowrap;cursor:pointer
}
.city-map-time-tabs button.active{background:#0aa18d;color:#fff;box-shadow:0 3px 10px rgba(10,161,141,.16)}
.city-map-time-tabs button:disabled{opacity:.32;cursor:default}
.city-radar-status{max-width:calc(100% - 74px)}
.city-radar-status b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.pro-night-shade{fill:rgba(45,65,72,.035);pointer-events:none}
.pro-now-line{stroke:#0aa18d;stroke-width:1.4;stroke-dasharray:3 4;opacity:.46;vector-effect:non-scaling-stroke;pointer-events:none}

@media(max-width:760px){
  .forecast-pro-meteogram{
    overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;
    scrollbar-width:none;scroll-snap-type:x proximity;border-radius:15px;
    box-shadow:0 8px 26px rgba(28,63,72,.055)
  }
  .forecast-pro-meteogram::-webkit-scrollbar{display:none}
  .forecast-chart-arrow{display:none!important}
  .forecast-chart-shell{padding:0!important}
  .forecast-pro-meteogram svg{max-width:none!important;height:auto!important}
  .pro-row-title{font-size:11px!important;font-weight:850!important;letter-spacing:-.01em!important}
  .pro-row-title.is-long{font-size:10.3px!important;letter-spacing:-.02em!important}
  .pro-scale,.pro-pressure-scale,.pro-time{font-size:9px!important;font-weight:760!important}
  .pro-day-label{font-size:10.2px!important;font-weight:880!important;fill:#49666f!important}
  .pro-weather-time{font-size:9.4px!important}
  .pro-weather-icon{font-size:29px!important}
  .pro-weather-temp{font-size:11.5px!important}
  .pro-weather-rain{font-size:8.7px!important}
  .pro-temp-label,.pro-feels-label{font-size:9.7px!important}
  .pro-prob-label{font-size:8.8px!important}
  .pro-rain-label{font-size:8.5px!important}
  .pro-wind-arrow{font-size:13px!important}
  .pro-value-text{font-size:9.5px!important;font-weight:850!important}
  .pro-value-text.value-gust{font-size:8.9px!important}
  .pro-cursor-badge text{font-size:8.8px!important}
  .forecast-dayrail-card{box-shadow:0 3px 12px rgba(25,60,68,.035)}
  .forecast-dayrail-card.active{box-shadow:0 5px 16px rgba(8,157,140,.08),inset 0 0 0 1px rgba(8,185,157,.06)}
  .city-map-time-tabs{margin:-2px 10px 8px;max-width:calc(100% - 20px);width:auto}
  .city-map-time-tabs button{flex:0 0 auto;padding:7px 10px;font-size:8.5px}
}


/* v0.7.3 · 10o map status + long-range + daily-card polish */
.forecast-dayrail-card{
  grid-template-rows:auto 34px auto auto auto;
  min-height:140px;
  box-shadow:0 4px 15px rgba(25,60,68,.038);
}
.forecast-dayrail-card:hover{box-shadow:0 9px 24px rgba(26,62,70,.07)}
.forecast-dayrail-card.active{box-shadow:0 7px 20px rgba(8,157,140,.09),inset 0 0 0 1px rgba(8,185,157,.07)}
.forecast-day-character{
  max-width:100%;
  margin-top:1px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-style:normal;
  font-size:7.4px;
  line-height:1.2;
  font-weight:760;
  color:#6f878e;
}
.forecast-dayrail-card.active .forecast-day-character{color:#28766d}
.forecast-pro-meteogram[data-range="7d"] .pro-prob-label,
.forecast-pro-meteogram[data-range="10d"] .pro-prob-label{font-weight:800}

@media(max-width:760px){
  .forecast-dayrail-card{min-height:132px;grid-template-rows:auto 30px auto auto auto}
  .forecast-day-character{font-size:7.1px;max-width:94px}
}

/* v0.7.4 · Forecast Intelligence v1 */
.forecast-intelligence-card{position:relative;margin:5px 0 14px;padding:16px 17px 13px;border:1px solid rgba(8,185,157,.18);border-radius:18px;background:linear-gradient(118deg,#edf9f6 0%,#fbfefd 55%,#f5f8ff 100%);overflow:hidden;box-shadow:0 8px 24px rgba(24,63,72,.055)}
.forecast-intelligence-card::after{content:"";position:absolute;right:-75px;top:-105px;width:245px;height:245px;border-radius:50%;background:radial-gradient(circle,rgba(45,143,215,.10),rgba(45,143,215,0) 68%);pointer-events:none}
.fi-main{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start}.fi-copy{min-width:0}.fi-kicker{display:flex;align-items:center;gap:6px;color:#4f7880;font-size:8.5px;font-weight:900;letter-spacing:.08em}.fi-spark{color:#079c87;font-size:12px}.fi-live-dot{width:6px;height:6px;border-radius:50%;background:#0ab99d;box-shadow:0 0 0 4px rgba(10,185,157,.10)}
.fi-copy h3{margin:7px 0 5px;font-size:20px;line-height:1.14;letter-spacing:-.025em;color:#173f49}.fi-copy>p{margin:0;max-width:880px;color:#5e7b83;font-size:10.5px;line-height:1.52}
.fi-confidence{position:relative;z-index:1;min-width:105px;padding:9px 11px;border:1px solid rgba(24,62,73,.09);border-radius:13px;background:rgba(255,255,255,.83);display:grid;gap:1px;text-align:right}.fi-confidence span,.fi-confidence small{font-size:7.8px;color:#82979d}.fi-confidence strong{font-size:15px;color:#147e70;line-height:1.1}.fi-confidence[data-level="lower"] strong{color:#a27316}.fi-confidence[data-level="medium"] strong{color:#427699}.fi-confidence[data-level="high"] strong{color:#087d70}
.fi-signals{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:12px}.fi-signal{min-width:0;padding:9px 10px;border:1px solid rgba(24,62,73,.085);border-radius:12px;background:rgba(255,255,255,.72);display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:1px 7px;align-items:center}.fi-signal i{grid-row:1/3;font-style:normal;width:26px;height:26px;border-radius:9px;background:#edf7f5;display:grid;place-items:center;font-size:13px}.fi-signal b{font-size:8.5px;color:#547179}.fi-signal em{font-style:normal;font-size:10px;font-weight:850;color:#214a54;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fi-signal.state-now,.fi-signal.state-soon{border-color:rgba(58,132,202,.18);background:#fff}.fi-signal.state-now i,.fi-signal.state-soon i{background:#eaf4ff}.fi-signal.severity-high,.fi-signal.severity-very_high,.fi-signal.severity-extreme{border-color:rgba(218,105,64,.22);background:#fffaf7}.fi-signal.severity-high i,.fi-signal.severity-very_high i,.fi-signal.severity-extreme i{background:#fff0e8}
.fi-footer{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding-top:9px;border-top:1px solid rgba(24,62,73,.07)}.fi-sources{display:flex;gap:5px;flex-wrap:wrap}.fi-sources span{padding:4px 7px;border-radius:999px;background:rgba(255,255,255,.8);border:1px solid rgba(24,62,73,.07);color:#6b858c;font-size:7.5px;font-weight:750}.fi-explain{position:relative;font-size:8px;color:#668087}.fi-explain summary{cursor:pointer;font-weight:850;color:#397078;white-space:nowrap}.fi-explain>div{position:absolute;right:0;top:calc(100% + 7px);width:min(420px,72vw);z-index:20;padding:10px 11px;border:1px solid #dce7e5;border-radius:12px;background:#fff;box-shadow:0 12px 30px rgba(19,53,63,.15);font-size:8.5px;line-height:1.5;color:#617b83}.forecast-intelligence-card.is-loading .fi-live-dot{animation:fiPulse 1s ease-in-out infinite}.forecast-intelligence-card.is-error{border-color:rgba(190,147,65,.17);background:linear-gradient(118deg,#fffaf1,#fff)}@keyframes fiPulse{50%{opacity:.25;transform:scale(.7)}}
@media(max-width:760px){.forecast-intelligence-card{margin:3px 0 12px;padding:13px 12px 11px;border-radius:16px}.fi-main{grid-template-columns:1fr auto;gap:9px}.fi-kicker{font-size:7.4px;letter-spacing:.06em}.fi-copy h3{font-size:17px;margin-top:6px}.fi-copy>p{font-size:9.5px;line-height:1.48}.fi-confidence{min-width:78px;padding:8px}.fi-confidence strong{font-size:13px}.fi-confidence small{display:none}.fi-signals{display:flex;overflow-x:auto;scrollbar-width:none;margin-left:-1px;margin-right:-1px;padding:1px 0 3px;gap:6px}.fi-signals::-webkit-scrollbar{display:none}.fi-signal{flex:0 0 132px;padding:8px}.fi-footer{align-items:flex-start}.fi-sources{flex-wrap:nowrap;overflow:hidden}.fi-sources span{white-space:nowrap}.fi-explain>div{position:fixed;left:12px;right:12px;bottom:max(14px,env(safe-area-inset-bottom));top:auto;width:auto;font-size:10px;padding:13px;border-radius:15px}}

/* v0.7.5 · Forecast Intelligence upcoming official warning */
.fi-upcoming-warning{position:relative;z-index:1;display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;margin-top:9px;padding:9px 10px;border:1px solid #f0d7a9;border-radius:12px;background:linear-gradient(100deg,#fff8ea,#fffdf8);box-shadow:0 5px 15px rgba(88,62,22,.035)}
.fi-upcoming-warning[hidden]{display:none!important}.fi-warning-icon{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#ffefd1;color:#aa650e;font-size:11px;font-weight:950}.fi-upcoming-warning>div{display:grid;gap:1px;min-width:0}.fi-upcoming-warning small{font-size:6.9px;letter-spacing:.075em;font-weight:950;color:#9b762f}.fi-upcoming-warning b{font-size:9.5px;color:#5e4a26;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fi-upcoming-warning em{font-style:normal;font-size:7.7px;color:#856e45}.fi-warning-severity{padding:4px 6px;border-radius:999px;background:#fff0d7;color:#9a6418;font-size:7px;font-weight:900;white-space:nowrap}.fi-upcoming-warning[data-severity="severe"],.fi-upcoming-warning[data-severity="extreme"]{border-color:#edc5b8;background:linear-gradient(100deg,#fff5ef,#fffaf7)}.fi-upcoming-warning[data-severity="severe"] .fi-warning-severity,.fi-upcoming-warning[data-severity="extreme"] .fi-warning-severity{background:#ffe4dc;color:#a5482e}.warning-state.is-future{background:#fffaf0;border-color:#eddcbc}.warning-state.is-future>span{background:#fff2db;color:#a86e18}
@media(max-width:760px){.fi-upcoming-warning{grid-template-columns:auto 1fr;margin-top:8px;padding:8px 9px}.fi-warning-severity{grid-column:2;justify-self:start;margin-top:2px}.fi-upcoming-warning small{font-size:6.7px}.fi-upcoming-warning b{font-size:9.2px}.fi-upcoming-warning em{font-size:7.6px}}

/* ==========================================================================
   Radar Česka · City meteogram Luxury Graph v0.8.0 · 2026-09-15
   Visual-only premium pass. Data, ranges, interactions and the existing legend
   remain intact; this block modernises the plotted graph and active readouts.
   ========================================================================== */
.forecast-pro-meteogram{
  border-color:#dfe9e7;
  border-radius:20px;
  background:linear-gradient(180deg,#ffffff 0%,#fcfefe 100%);
  box-shadow:0 14px 42px rgba(29,64,72,.065),0 2px 8px rgba(29,64,72,.028);
}
.forecast-pro-meteogram svg{cursor:crosshair}

.pro-band-weather{fill:#fbfdfd;stroke:#e8efed}
.pro-band-temp{fill:#fffafa;stroke:#f0e9e9}
.pro-band-atmo{fill:#fbfdff;stroke:#e7eff4}
.pro-band-cloud{fill:#fbfcfd;stroke:#e9eeee}
.pro-band-rain{fill:#fbfdff;stroke:#e7eff3}
.pro-band-wind{fill:#fbfefd;stroke:#e5f0ed}
.pro-band-pressure{fill:#fbfcfc;stroke:#e8edec}

.pro-night-shade{fill:rgba(38,58,66,.026)}
.pro-active-band{fill:rgba(65,140,170,.045);stroke:rgba(48,120,149,.065);stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}
.pro-now-line{stroke:#0b9f8b;stroke-width:1.45;stroke-dasharray:3 5;opacity:.38}
.pro-vgrid{stroke:#e7eeec;stroke-width:.9;stroke-dasharray:2.5 6.5}
.pro-day-grid{stroke:#c5d6d2;stroke-width:1.25;opacity:.82}
.pro-hgrid{stroke:#eaf0ef;stroke-width:.85;stroke-dasharray:2.5 5.5}
.pro-hline{stroke:#edf2f1;stroke-width:.9}
.pro-cloud-grid,.pro-pressure-grid{stroke:#edf2f1}

.pro-row-title{fill:#294f58;font-weight:880;letter-spacing:-.025em}
.pro-scale,.pro-pressure-scale,.pro-time{fill:#82969c;font-weight:740}
.pro-day-label{fill:#526e76;font-weight:880}
.pro-weather-time{fill:#71878e;font-weight:820}
.pro-weather-temp{fill:#234850;font-weight:900}
.pro-weather-rain{fill:#4782b0;font-weight:820}

.pro-temp-area{fill:url(#cityTempArea)}
.pro-temp-line{
  stroke:#f14f61;stroke-width:3.05;
  filter:drop-shadow(0 2px 2px rgba(234,70,87,.12));
}
.pro-feels-line{stroke:#b75cc9;stroke-width:1.65;stroke-dasharray:5 5;opacity:.72}
.pro-temp-point{fill:#fff;stroke:#f14f61;stroke-width:2.25;filter:drop-shadow(0 1px 1px rgba(202,62,76,.10))}
.pro-feels-point{fill:#fff;stroke:#b75cc9;stroke-width:1.45;opacity:.85}
.pro-temp-label{fill:#40565d;font-size:9.2px;font-weight:880}
.pro-feels-label{fill:#8b6a92}

.pro-prob-area{fill:url(#cityProbArea)}
.pro-prob-line{stroke:#3f92da;stroke-width:2.45;filter:drop-shadow(0 1px 1px rgba(56,133,194,.08))}
.pro-prob-label{fill:#347fbd;font-weight:870}
.pro-cloud-area{fill:url(#cityCloudArea)}
.pro-cloud-line{stroke:#829399;stroke-width:1.85;opacity:.88}

.pro-rain-bar{fill:url(#cityRainBar);opacity:.94;filter:drop-shadow(0 2px 2px rgba(31,132,183,.10))}
.pro-rain-label{fill:#237da8;font-weight:880}

.pro-wind-area{fill:url(#cityWindArea);stroke:none}
.pro-wind-line{stroke:#099987;stroke-width:2.45;filter:drop-shadow(0 1px 1px rgba(0,137,117,.08))}
.pro-gust-line{stroke:#57b9ae;stroke-width:1.65;stroke-dasharray:6 5;opacity:.82}
.pro-wind-point{fill:#fff;stroke:#099987;stroke-width:1.75}
.pro-wind-arrow{fill:#168e80;opacity:.9}

.pro-pressure-area{fill:url(#cityPressureArea);stroke:none}
.pro-pressure-line{stroke:#34494f;stroke-width:2.05;opacity:.94}
.pro-pressure-point{fill:#fff;stroke:#34494f;stroke-width:1.55}

.pro-cursor{stroke:#315d68;stroke-width:1.15;opacity:.54;filter:drop-shadow(0 0 2px rgba(49,93,104,.12))}
.pro-cursor-badge{filter:drop-shadow(0 5px 11px rgba(26,55,64,.18))}
.pro-cursor-badge rect{fill:rgba(38,61,69,.96);stroke:rgba(255,255,255,.16);stroke-width:.7}
.pro-cursor-badge text{fill:#fff;font-weight:880;letter-spacing:.005em}

.pro-selected-temp,.pro-selected-feels,.pro-selected-prob,.pro-selected-cloud,.pro-selected-rain,.pro-selected-wind,.pro-selected-pressure{
  fill:#fff;vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 2px 5px rgba(30,67,77,.20));
}
.pro-selected-temp{stroke:#f14f61;stroke-width:3.6}
.pro-selected-feels{stroke:#b75cc9;stroke-width:2.45}
.pro-selected-prob{stroke:#3f92da;stroke-width:2.75}
.pro-selected-cloud{stroke:#829399;stroke-width:2.65}
.pro-selected-rain{stroke:#2897c9;stroke-width:2.7}
.pro-selected-wind{stroke:#099987;stroke-width:2.75}
.pro-selected-pressure{stroke:#34494f;stroke-width:2.7}

.pro-value-card{filter:drop-shadow(0 8px 18px rgba(25,58,67,.105))}
.pro-value-card>rect{
  fill:rgba(255,255,255,.97);stroke:rgba(205,220,218,.92);stroke-width:.9;
}
.pro-value-accent{opacity:.95}
.value-temp .pro-value-accent{fill:#f14f61}
.value-probability .pro-value-accent{fill:#3f92da}
.value-cloudcover .pro-value-accent{fill:#829399}
.value-rain .pro-value-accent{fill:#2897c9}
.value-wind .pro-value-accent{fill:#099987}
.value-pressure .pro-value-accent{fill:#34494f}
.pro-value-text{font-weight:850;letter-spacing:-.012em}
.pro-value-text.value-temp-main{fill:#e9485b}
.pro-value-text.value-feels{fill:#a64fbb}
.pro-value-text.value-prob{fill:#347fbd}
.pro-value-text.value-cloud{fill:#6f858c}
.pro-value-text.value-rain-main{fill:#2186b4}
.pro-value-text.value-wind-main{fill:#078d7c}
.pro-value-text.value-gust{fill:#4ba69d}
.pro-value-text.value-pressure-main{fill:#34494f}

@media(max-width:760px){
  .forecast-pro-meteogram{border-radius:17px;box-shadow:0 10px 30px rgba(28,63,72,.06)}
  .pro-active-band{fill:rgba(65,140,170,.052)}
  .pro-temp-line{stroke-width:3.15}
  .pro-prob-line,.pro-wind-line{stroke-width:2.55}
  .pro-cursor{stroke-width:1.25;opacity:.60}
  .pro-value-card{filter:drop-shadow(0 7px 16px rgba(25,58,67,.11))}
}

/* ==========================================================================
   Radar Česka · Luxury Meteogram Legend v0.8.1 · 2026-09-15
   Restores the approved visual legend as crisp colour-coded SVG icons in the
   left rail. It does not change forecast data or chart interactions.
   ========================================================================== */
.pro-row-icon{pointer-events:none}
.pro-row-icon-bg{stroke-width:.8;vector-effect:non-scaling-stroke}
.pro-row-icon-ink{fill:none;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.pro-row-icon-fill{stroke:none}
.pro-row-icon-weather .pro-row-icon-bg{fill:#fff9e9;stroke:#f5e4aa}.pro-row-icon-weather .pro-row-icon-ink{stroke:#f0a51b}.pro-row-icon-weather .pro-row-icon-ink circle{fill:#fff3be}
.pro-row-icon-temp .pro-row-icon-bg{fill:#fff2f4;stroke:#f7d4d9}.pro-row-icon-temp .pro-row-icon-ink{stroke:#ef4d62}
.pro-row-icon-prob .pro-row-icon-bg{fill:#eef7ff;stroke:#d4e8f8}.pro-row-icon-prob .pro-row-icon-ink{stroke:#3f92da;fill:rgba(63,146,218,.08)}
.pro-row-icon-cloud .pro-row-icon-bg{fill:#f3f6f7;stroke:#dfe7e9}.pro-row-icon-cloud .pro-row-icon-ink{stroke:#829399;fill:rgba(130,147,153,.09)}
.pro-row-icon-rain .pro-row-icon-bg{fill:#eef9ff;stroke:#d3ebf8}.pro-row-icon-rain .pro-row-icon-ink{stroke:#2897c9;fill:rgba(40,151,201,.08)}
.pro-row-icon-wind .pro-row-icon-bg{fill:#eefaf7;stroke:#d2eee7}.pro-row-icon-wind .pro-row-icon-ink{stroke:#099987}
.pro-row-icon-pressure .pro-row-icon-bg{fill:#f2f5f6;stroke:#dce4e6}.pro-row-icon-pressure .pro-row-icon-ink{stroke:#40575e}.pro-row-icon-pressure .pro-row-icon-fill{fill:#40575e}
.pro-row-title{font-size:10.2px;font-weight:880;letter-spacing:-.012em}
.pro-row-title.is-long{font-size:9.15px;letter-spacing:-.025em}

@media(max-width:760px){
  .pro-row-icon-bg{stroke-width:.9}
  .pro-row-icon-ink{stroke-width:1.7}
  .pro-row-title{font-size:10.7px!important}
  .pro-row-title.is-long{font-size:9.6px!important}
}


/* ==========================================================================
   Radar Česka · Luxury Meteogram Final Polish v0.8.3 · 2026-09-15
   Final product-feel pass: quieter grid, stronger focus hierarchy, refined
   gradients/readouts, tactile active points and tighter daily-card linkage.
   ========================================================================== */
.forecast-pro-meteogram{
  border-color:rgba(205,221,218,.92);
  background:
    radial-gradient(1100px 280px at 50% -100px,rgba(91,178,163,.035),transparent 70%),
    linear-gradient(180deg,#fff 0%,#fdfefe 100%);
  box-shadow:0 18px 52px rgba(27,61,70,.072),0 2px 7px rgba(27,61,70,.024);
}
.forecast-pro-meteogram svg{shape-rendering:geometricPrecision;text-rendering:geometricPrecision}

/* Quieter structure: major day boundaries remain readable; minor construction
   lines fall back so the data becomes the visual hierarchy. */
.pro-vgrid{stroke:#eaf0ef;stroke-width:.78;stroke-dasharray:2 7;opacity:.72}
.pro-day-grid{stroke:#bdd2ce;stroke-width:1.15;opacity:.72}
.pro-hgrid{stroke:#edf2f1;stroke-width:.72;stroke-dasharray:2 6;opacity:.68}
.pro-hline{stroke:#edf2f1;stroke-width:.78;opacity:.92}
.pro-cloud-grid,.pro-pressure-grid{stroke:#eef3f2;opacity:.65}
.pro-night-shade{fill:rgba(37,59,66,.022)}

/* Lightly tinted metric rows: enough separation to scan, never card-heavy. */
.pro-band-weather{fill:#fcfdfd;stroke:#e9efee}
.pro-band-temp{fill:#fffafa;stroke:#f2ebec}
.pro-band-atmo{fill:#fbfdff;stroke:#eaf1f5}
.pro-band-cloud{fill:#fcfdfd;stroke:#ebf0f0}
.pro-band-rain{fill:#fbfdff;stroke:#eaf1f5}
.pro-band-wind{fill:#fbfefd;stroke:#e8f1ef}
.pro-band-pressure{fill:#fcfdfd;stroke:#eaefee}

/* Premium focus column: broad optical halo + crisp guide line. */
.pro-active-band{fill:url(#cityActiveBand);stroke:none;opacity:.95}
.pro-cursor-glow{
  stroke:#3e7887;stroke-width:8;opacity:.07;vector-effect:non-scaling-stroke;
  filter:blur(.15px);pointer-events:none
}
.pro-cursor{stroke:#315d68;stroke-width:1.18;opacity:.68;filter:drop-shadow(0 0 3px rgba(49,93,104,.11))}
.pro-now-line{stroke:#08a28d;stroke-width:1.35;stroke-dasharray:3 5;opacity:.32}
.pro-cursor-badge{filter:drop-shadow(0 7px 15px rgba(24,53,62,.19))}
.pro-cursor-badge rect{fill:rgba(35,58,66,.965);stroke:rgba(255,255,255,.22);stroke-width:.8}
.pro-cursor-badge text{font-size:8.2px;font-weight:900;letter-spacing:.01em}

/* Temperature stays the hero signal. */
.pro-temp-line{
  stroke:#f34b61;stroke-width:3.15;
  filter:drop-shadow(0 2px 2px rgba(234,70,87,.12)) drop-shadow(0 0 4px rgba(243,75,97,.055));
}
.pro-feels-line{stroke:#b65ac8;stroke-width:1.55;stroke-dasharray:5 5;opacity:.67}
.pro-temp-point{stroke-width:2.2}
.pro-temp-label{fill:#344f57;font-size:9.15px;font-weight:900}

/* Atmospheric areas: richer at the curve, almost invisible at the baseline. */
.pro-prob-line{stroke:#328fdd;stroke-width:2.5;filter:drop-shadow(0 1px 1px rgba(43,124,188,.09))}
.pro-cloud-line{stroke:#829399;stroke-width:1.75;opacity:.82}
.pro-rain-bar{opacity:.96;filter:drop-shadow(0 2px 3px rgba(31,132,183,.11))}
.pro-rain-label{font-size:8.5px;font-weight:900}
.pro-wind-line{stroke:#079987;stroke-width:2.5;filter:drop-shadow(0 1px 1px rgba(0,137,117,.08))}
.pro-gust-line{stroke:#57b9ae;stroke-width:1.55;stroke-dasharray:6 5;opacity:.74}
.pro-pressure-line{stroke:#34494f;stroke-width:1.95;opacity:.92}

/* Selected nodes use metric-coloured optical halos while preserving the crisp
   white-centre marker already familiar from v0.8.1. */
.pro-selected-halo{stroke:none;pointer-events:none;opacity:.12}
.pro-selected-halo-temp{fill:#f14f61}.pro-selected-halo-feels{fill:#b75cc9}
.pro-selected-halo-prob{fill:#3f92da}.pro-selected-halo-cloud{fill:#829399}
.pro-selected-halo-rain{fill:#2897c9}.pro-selected-halo-wind{fill:#099987}
.pro-selected-halo-pressure{fill:#34494f}
.pro-selected-temp,.pro-selected-prob,.pro-selected-cloud,.pro-selected-rain,.pro-selected-wind,.pro-selected-pressure,.pro-selected-feels{
  filter:drop-shadow(0 2px 4px rgba(30,67,77,.17));
}
.pro-selected-temp{stroke-width:3.5}.pro-selected-prob,.pro-selected-wind{stroke-width:2.8}

/* Floating inline readouts: one system, one radius, one shadow. */
.pro-value-card{filter:drop-shadow(0 9px 20px rgba(25,58,67,.105));opacity:.995}
.pro-value-card>rect{
  fill:rgba(255,255,255,.985);stroke:rgba(201,218,215,.92);stroke-width:.82;
}
.pro-value-accent{opacity:.98}
.pro-value-dot{stroke:none}
.value-temp .pro-value-dot{fill:#f14f61}.value-probability .pro-value-dot{fill:#3f92da}
.value-cloudcover .pro-value-dot{fill:#829399}.value-rain .pro-value-dot{fill:#2897c9}
.value-wind .pro-value-dot{fill:#099987}.value-pressure .pro-value-dot{fill:#34494f}
.pro-value-text{font-size:8.85px;font-weight:860;letter-spacing:-.006em}
.pro-value-text.value-gust,.pro-value-text.value-feels{font-size:8.15px;font-weight:800}

/* Left legend remains the approved v0.8.1 language, only slightly refined. */
.pro-row-icon-bg{filter:drop-shadow(0 2px 4px rgba(28,62,71,.045))}
.pro-row-title{fill:#294f58;font-weight:890}
.pro-scale,.pro-pressure-scale,.pro-time{fill:#80949b;font-weight:720}
.pro-day-label{fill:#48656e;font-weight:900}
.pro-weather-time{fill:#6e858c;font-weight:820}
.pro-weather-temp{fill:#1f4650;font-weight:920}

/* Daily cards visually belong to the graph: active day gains one subtle teal
   anchor instead of a heavier full-card treatment. */
.forecast-dayrail-card{
  position:relative;overflow:hidden;
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background .16s ease;
}
.forecast-dayrail-card:hover{transform:translateY(-1px)}
.forecast-dayrail-card.active{
  border-color:rgba(8,185,157,.38)!important;
  background:linear-gradient(180deg,#ffffff 0%,#f4fcfa 100%)!important;
  box-shadow:0 10px 28px rgba(8,157,140,.09),inset 0 0 0 1px rgba(8,185,157,.075)!important;
}
.forecast-dayrail-card.active::after{
  content:"";position:absolute;left:18%;right:18%;bottom:0;height:2px;border-radius:2px 2px 0 0;
  background:linear-gradient(90deg,rgba(8,185,157,0),#08a98f,rgba(8,185,157,0));
}

@media(max-width:760px){
  .forecast-pro-meteogram{box-shadow:0 12px 34px rgba(28,63,72,.065)}
  .pro-active-band{opacity:1}
  .pro-cursor-glow{stroke-width:10;opacity:.075}
  .pro-cursor{stroke-width:1.28;opacity:.72}
  .pro-temp-line{stroke-width:3.2}
  .pro-value-card{filter:drop-shadow(0 8px 18px rgba(25,58,67,.11))}
  .pro-value-text{font-size:9.35px!important}
  .pro-value-text.value-gust,.pro-value-text.value-feels{font-size:8.7px!important}
  .forecast-dayrail-card:hover{transform:none}
}


/* v0.8.3 · final polish
   Radar Česka · Luxury Meteogram Final Polish v0.8.3 · 2026-09-15
   - soften focus column and cursor
   - reduce probability/cloud visual weight
   - compact and align inline value cards
   - lightly tune active day card and axis readability */
.pro-active-band{opacity:.84!important}
.pro-cursor-glow{stroke:#6aafc3!important;stroke-width:7!important;opacity:.042!important}
.pro-cursor{stroke:#27434b!important;stroke-width:1.02!important;opacity:.44!important}
.pro-cursor-badge rect{fill:#2b454d!important;opacity:.94!important}
.pro-cursor-badge text{font-size:8.15px!important;font-weight:860!important}

.pro-prob-line{stroke-width:2.35!important;filter:drop-shadow(0 1px 1px rgba(43,124,188,.065))!important}
.pro-cloud-line{opacity:.72!important;stroke-width:1.65!important}
.pro-rain-bar{opacity:.92!important;filter:drop-shadow(0 2px 2px rgba(31,132,183,.09))!important}
.pro-gust-line{opacity:.62!important;stroke-width:1.48!important}
.pro-pressure-line{opacity:.88!important}

.pro-value-card{filter:drop-shadow(0 7px 16px rgba(25,58,67,.09))!important;opacity:.996!important}
.pro-value-card>rect{fill:rgba(255,255,255,.992)!important;stroke:rgba(205,220,217,.88)!important;stroke-width:.8!important}
.pro-value-accent{opacity:.92!important}
.pro-value-dot{opacity:.98!important}
.pro-value-text{font-size:8.4px!important;font-weight:815!important;letter-spacing:-.008em!important;fill:#64797f!important}
.pro-value-text.value-temp-main,.pro-value-text.value-prob,.pro-value-text.value-cloud,.pro-value-text.value-rain-main,.pro-value-text.value-wind-main,.pro-value-text.value-pressure-main{font-size:8.85px!important;font-weight:875!important}
.pro-value-text.value-feels,.pro-value-text.value-gust{font-size:7.9px!important;font-weight:790!important;opacity:.92!important}

.pro-scale,.pro-pressure-scale,.pro-time{fill:#788f96!important;font-weight:760!important}
.pro-day-label{fill:#4f6b73!important}

.forecast-dayrail-card.active{border-color:rgba(8,185,157,.34)!important;box-shadow:0 8px 22px rgba(8,157,140,.075),inset 0 0 0 1px rgba(8,185,157,.06)!important}
.forecast-dayrail-card.active::after{left:20%!important;right:20%!important;opacity:.9!important}

@media(max-width:760px){
  .pro-active-band{opacity:.9!important}
  .pro-cursor-glow{stroke-width:8.5!important;opacity:.05!important}
  .pro-cursor{opacity:.48!important}
  .pro-value-card{filter:drop-shadow(0 7px 15px rgba(25,58,67,.095))!important}
  .pro-value-text{font-size:8.85px!important}
  .pro-value-text.value-feels,.pro-value-text.value-gust{font-size:8.2px!important}
}

/* ========================================================================
   Radar Česka · City Page Layout Polish v0.9.0 LAB · České Budějovice
   Scoped only to data-city-layout="v09". Other city pages keep production UI.
   ======================================================================== */
body[data-city-layout="v09"]{--city-v09-border:rgba(33,70,79,.105);--city-v09-soft:#f6faf9;--city-v09-soft-2:#f9fbfb;--city-v09-teal:#079b87;--city-v09-ink:#173f48}
body[data-city-layout="v09"] .city-page{padding-top:18px}
body[data-city-layout="v09"] .breadcrumbs{margin-bottom:14px}

/* Compact city hero + optional city/region/default image. */
body[data-city-layout="v09"] .city-title-row-v09{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:stretch;gap:18px;margin-bottom:12px}
body[data-city-layout="v09"] .city-title-copy-v09{position:relative;min-width:0;padding:12px 2px 10px}
body[data-city-layout="v09"] .city-title-kicker-row{display:flex;align-items:center;gap:12px;min-height:28px}
body[data-city-layout="v09"] .city-title-kicker-row .eyebrow{margin:0}
body[data-city-layout="v09"] .city-title-copy-v09 h1{margin:5px 0 8px;font-size:clamp(32px,3.1vw,45px);line-height:1.02;letter-spacing:-.045em}
body[data-city-layout="v09"] .city-title-copy-v09>p{margin:0;max-width:740px;color:#6e858d;font-size:13px;line-height:1.5}
body[data-city-layout="v09"] .city-title-copy-v09 .place-chips{margin-top:11px}
body[data-city-layout="v09"] .city-favorite-ghost{appearance:none;border:1px solid rgba(35,73,82,.11);background:#fff;border-radius:999px;padding:6px 9px;color:#688087;font:inherit;font-size:9px;font-weight:800;display:inline-flex;align-items:center;gap:5px;cursor:pointer;transition:.16s ease}
body[data-city-layout="v09"] .city-favorite-ghost:hover,body[data-city-layout="v09"] .city-favorite-ghost.is-favorite{border-color:rgba(8,185,157,.28);background:#f2fbf8;color:#087f72}
body[data-city-layout="v09"] .city-page-actions-v09{position:absolute;right:0;bottom:8px}

body[data-city-layout="v09"] .city-hero-photo{position:relative;min-height:158px;border:1px solid var(--city-v09-border);border-radius:18px;overflow:hidden;background-position:center;background-size:cover;box-shadow:0 10px 28px rgba(26,60,68,.07);isolation:isolate}
body[data-city-layout="v09"] .city-hero-photo.is-fallback{background:
  radial-gradient(circle at 72% 22%,rgba(255,221,140,.58),transparent 28%),
  linear-gradient(135deg,#dae9e5 0%,#eaf2ee 38%,#d8e1db 100%)}
body[data-city-layout="v09"] .city-hero-photo.is-fallback::before{content:"";position:absolute;inset:auto -5% 0;height:55%;background:
  linear-gradient(155deg,transparent 0 37%,rgba(78,104,100,.16) 38% 44%,transparent 45%) 0 0/170px 100%,
  linear-gradient(25deg,transparent 0 39%,rgba(59,87,84,.12) 40% 47%,transparent 48%) 40px 10px/210px 100%;opacity:.7;z-index:-1}
body[data-city-layout="v09"] .city-hero-photo.is-fallback::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;background:linear-gradient(180deg,transparent,rgba(25,51,56,.22));z-index:-1}
body[data-city-layout="v09"] .city-hero-photo-sheen{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.08),transparent 46%,rgba(20,50,57,.12));pointer-events:none}
body[data-city-layout="v09"] .city-hero-place{position:absolute;left:14px;bottom:13px;display:grid;gap:2px;color:#fff;text-shadow:0 1px 5px rgba(16,40,46,.35)}
body[data-city-layout="v09"] .city-hero-place b{font-size:13px}.city-hero-place span{font-size:9px;font-weight:760;opacity:.91}
body[data-city-layout="v09"] .city-hero-weather{position:absolute;right:12px;top:12px;display:flex;align-items:center;gap:8px;min-width:112px;padding:9px 10px;border:1px solid rgba(255,255,255,.65);border-radius:13px;background:rgba(255,255,255,.91);box-shadow:0 7px 22px rgba(24,56,64,.11);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
body[data-city-layout="v09"] .city-hero-weather>i{font-style:normal;font-size:27px;line-height:1}.city-hero-weather>div{display:grid;gap:1px}.city-hero-weather strong{font-size:17px;letter-spacing:-.03em;color:#193f48}.city-hero-weather span{font-size:8.5px;color:#71888f;font-weight:760}

/* Sticky local navigation for long city page. */
body[data-city-layout="v09"] .city-anchor-nav-v09{position:sticky;top:77px;z-index:24;display:flex;align-items:center;gap:3px;margin:0 0 14px;padding:5px 6px;border:1px solid rgba(35,71,79,.09);border-radius:13px;background:rgba(250,253,252,.93);box-shadow:0 7px 20px rgba(27,62,70,.055);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}
body[data-city-layout="v09"] .city-anchor-nav-v09 a,body[data-city-layout="v09"] .city-anchor-nav-v09 button{appearance:none;border:0;background:transparent;border-radius:9px;padding:7px 10px;color:#617a82;font:inherit;font-size:9px;font-weight:820;white-space:nowrap;cursor:pointer;text-decoration:none}
body[data-city-layout="v09"] .city-anchor-nav-v09 a:hover,body[data-city-layout="v09"] .city-anchor-nav-v09 button:hover,body[data-city-layout="v09"] .city-anchor-nav-v09 .active{background:#edf8f5;color:#087e71}
body[data-city-layout="v09"] .city-nav-freshness{margin-left:auto;padding:0 7px;color:#8b9ca1;font-size:8px;white-space:nowrap}

/* Top dashboard: denser, balanced, no unused space. */
body[data-city-layout="v09"] .hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,1.16fr) minmax(240px,.70fr);gap:12px}
body[data-city-layout="v09"] .current-card-pro{padding-bottom:12px}
body[data-city-layout="v09"] .current-day-pair{display:none}
body[data-city-layout="v09"] .current-human-summary{margin-bottom:8px}
body[data-city-layout="v09"] .current-stats-pro{margin-bottom:8px}
body[data-city-layout="v09"] .current-mini-hours{margin:0 14px;padding-top:9px;border-top:1px solid rgba(34,73,81,.08)}
body[data-city-layout="v09"] .current-mini-hours-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.current-mini-hours-head b{font-size:9px;color:#46666e}.current-mini-hours-head span{font-size:7.5px;color:#93a2a6}
body[data-city-layout="v09"] .current-mini-hours-row{display:grid;grid-template-columns:repeat(6,1fr);gap:3px}
body[data-city-layout="v09"] .current-mini-hour{min-width:0;display:grid;justify-items:center;gap:2px;padding:5px 2px;border-radius:9px;background:#f8fbfa}
body[data-city-layout="v09"] .current-mini-hour span{font-size:7.4px;color:#7c9197}.current-mini-hour i{font-style:normal;font-size:16px;line-height:1.2}.current-mini-hour strong{font-size:10px;color:#244b54}.current-mini-hour small{font-size:6.8px;color:#4a98bf}
body[data-city-layout="v09"] .radar-card .map-frame{height:270px}
body[data-city-layout="v09"] #radar-mesto{scroll-margin-top:145px}

/* Forecast becomes a sequence of premium blocks rather than one oversized card. */
body[data-city-layout="v09"] .forecast-experience{display:flex;flex-direction:column;gap:11px;margin-top:14px;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
body[data-city-layout="v09"] .forecast-intelligence-card{order:1;border:1px solid rgba(8,157,140,.15);border-radius:17px;background:linear-gradient(120deg,#f3fbf8 0%,#fff 52%,#f8fcfb 100%);box-shadow:0 10px 30px rgba(25,62,69,.055);padding:15px 17px}
body[data-city-layout="v09"] .forecast-tabs-primary{order:2;width:max-content;max-width:100%;margin:0 2px;padding:3px;border:1px solid rgba(35,72,81,.10);border-radius:11px;background:#f7faf9;box-shadow:none}
body[data-city-layout="v09"] .forecast-panel{order:3}
body[data-city-layout="v09"] .forecast-panel-primary{padding:15px 14px 13px;border:1px solid var(--city-v09-border);border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(27,61,70,.05)}
body[data-city-layout="v09"] .forecast-pro-head-v4{margin:0 2px 9px}
body[data-city-layout="v09"] .forecast-pro-head-v4 .forecast-pro-title>b{font-size:15px;color:#173f48}
body[data-city-layout="v09"] .forecast-dayrail-shell{margin-bottom:8px}
body[data-city-layout="v09"] .forecast-dayrail{gap:6px}
body[data-city-layout="v09"] .forecast-dayrail-card{min-width:112px!important;padding:8px 8px 7px;border-radius:12px;grid-template-rows:auto 27px auto auto;gap:2px}
body[data-city-layout="v09"] .forecast-dayrail-card>i{font-size:22px}.forecast-dayrail-card>span{font-size:8px}.forecast-dayrail-card>strong b{font-size:13px}.forecast-dayrail-card>strong em{font-size:11px}.forecast-dayrail-card>small{font-size:7px}.forecast-day-character{font-size:6.9px!important}
body[data-city-layout="v09"] .forecast-chart-shell{padding-left:12px;padding-right:12px}
body[data-city-layout="v09"] #predpoved{scroll-margin-top:138px}

/* Intelligence has stronger information hierarchy. */
body[data-city-layout="v09"] .forecast-intelligence-card .fi-kicker{font-size:8.5px;letter-spacing:.06em}
body[data-city-layout="v09"] .forecast-intelligence-card h3{font-size:19px;letter-spacing:-.025em;line-height:1.15;margin-top:5px}
body[data-city-layout="v09"] .forecast-intelligence-card .fi-copy p{font-size:10px;line-height:1.5;max-width:920px}
body[data-city-layout="v09"] .forecast-intelligence-card .fi-confidence{min-width:92px;border-radius:13px;background:rgba(255,255,255,.78)}
body[data-city-layout="v09"] .forecast-intelligence-card .fi-confidence strong{font-size:21px}
body[data-city-layout="v09"] .forecast-intelligence-card .fi-signals{gap:7px}.forecast-intelligence-card .fi-signal{border-radius:11px;background:rgba(255,255,255,.72)}

/* Long-page rhythm: alternate quiet surfaces so cards do not visually merge. */
body[data-city-layout="v09"] .city-live{margin-top:15px;background:linear-gradient(180deg,#fff,#fafcfc)}
body[data-city-layout="v09"] .climate-context{margin-top:18px;padding:18px;border:1px solid rgba(35,72,81,.075);border-radius:19px;background:#f7faf9}
body[data-city-layout="v09"] .section-title+ .metrics-grid{padding:2px}
body[data-city-layout="v09"] .today-deep-dive{margin-top:16px;padding:17px;border-radius:18px;background:#fbfaf7;border:1px solid rgba(93,76,46,.07)}
body[data-city-layout="v09"] .two-col{margin-top:17px}
body[data-city-layout="v09"] .station-trend{margin-top:12px}
body[data-city-layout="v09"] .history-section{margin-top:34px;padding:20px 18px;border-radius:20px;background:#f8faf9;border:1px solid rgba(35,72,81,.07)}
body[data-city-layout="v09"] .seo-title{margin-top:34px}
body[data-city-layout="v09"] .seo-section{padding:17px;border:1px solid rgba(35,72,81,.07);border-radius:19px;background:#fbfcfc}
body[data-city-layout="v09"] #mereni,body[data-city-layout="v09"] #historie{scroll-margin-top:138px}

@media(max-width:1100px){
  body[data-city-layout="v09"] .city-title-row-v09{grid-template-columns:minmax(0,1fr) minmax(320px,.8fr)}
  body[data-city-layout="v09"] .hero-grid{grid-template-columns:1fr 1fr}
  body[data-city-layout="v09"] .hero-side{grid-column:1/-1;grid-template-columns:1fr 1fr;grid-template-rows:auto}
  body[data-city-layout="v09"] .city-nav-freshness{display:none}
}
@media(max-width:760px){
  body[data-city-layout="v09"] .city-page{width:min(100% - 18px,1420px);padding-top:12px}
  body[data-city-layout="v09"] .breadcrumbs{margin-bottom:9px}
  body[data-city-layout="v09"] .city-title-row-v09{grid-template-columns:1fr;gap:10px;margin-bottom:9px}
  body[data-city-layout="v09"] .city-title-copy-v09{padding:4px 1px 0}
  body[data-city-layout="v09"] .city-title-copy-v09 h1{font-size:29px;margin-top:4px}.city-title-copy-v09>p{font-size:11px!important}
  body[data-city-layout="v09"] .city-title-kicker-row{justify-content:space-between}.city-favorite-ghost span{display:none}
  body[data-city-layout="v09"] .city-page-actions-v09{right:0;bottom:0}
  body[data-city-layout="v09"] .city-hero-photo{min-height:150px;border-radius:15px}
  body[data-city-layout="v09"] .city-hero-weather{right:9px;top:9px;padding:7px 8px;min-width:100px}.city-hero-weather>i{font-size:23px}.city-hero-weather strong{font-size:15px}
  body[data-city-layout="v09"] .city-anchor-nav-v09{top:61px;margin-left:-2px;margin-right:-2px;overflow-x:auto;scrollbar-width:none;justify-content:flex-start}.city-anchor-nav-v09::-webkit-scrollbar{display:none}
  body[data-city-layout="v09"] .city-anchor-nav-v09 a,body[data-city-layout="v09"] .city-anchor-nav-v09 button{flex:0 0 auto;padding:7px 9px;font-size:8.5px}
  body[data-city-layout="v09"] .hero-grid{grid-template-columns:1fr;gap:9px}
  body[data-city-layout="v09"] .hero-side{grid-column:auto;grid-template-columns:1fr;gap:9px}
  body[data-city-layout="v09"] .current-mini-hours{overflow-x:auto;margin-left:10px;margin-right:10px}.current-mini-hours-row{display:flex!important;min-width:430px}.current-mini-hour{flex:1}
  body[data-city-layout="v09"] .forecast-intelligence-card{padding:13px 12px}.forecast-intelligence-card .fi-main{gap:8px}.forecast-intelligence-card h3{font-size:17px!important}
  body[data-city-layout="v09"] .forecast-panel-primary{padding:11px 7px 10px}
  body[data-city-layout="v09"] .forecast-tabs-primary{width:100%}
  body[data-city-layout="v09"] .history-section,body[data-city-layout="v09"] .climate-context,body[data-city-layout="v09"] .today-deep-dive,body[data-city-layout="v09"] .seo-section{padding:13px 10px;border-radius:16px}
}


/* ========================================================================
   Radar Česka · City Hero Photo v0.9.2 LAB · České Budějovice
   Licensed source: Budweis 016.JPG · Norbert Aepli · CC BY 2.5
   ======================================================================== */
body[data-city-layout="v09"] .city-hero-photo.has-image{
  background-color:#dce7e6;
  background-repeat:no-repeat;
  background-size:cover;
}
body[data-city-layout="v09"][data-city-slug="ceske-budejovice"] .city-hero-photo.has-image::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(10,31,38,.01) 0%,rgba(10,31,38,.02) 52%,rgba(10,31,38,.25) 100%);
}
body[data-city-layout="v09"] .city-hero-photo-sheen,
body[data-city-layout="v09"] .city-hero-place,
body[data-city-layout="v09"] .city-hero-weather,
body[data-city-layout="v09"] .city-hero-credit{z-index:2}
body[data-city-layout="v09"] .city-hero-credit{
  position:absolute;right:10px;bottom:8px;display:flex;align-items:center;gap:4px;
  max-width:62%;padding:4px 7px;border:1px solid rgba(255,255,255,.24);border-radius:999px;
  background:rgba(15,39,45,.36);color:rgba(255,255,255,.94);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  font-size:7.2px;font-weight:720;line-height:1;white-space:nowrap;
  text-shadow:0 1px 3px rgba(0,0,0,.24)
}
body[data-city-layout="v09"] .city-hero-credit a{color:inherit;text-decoration:none}
body[data-city-layout="v09"] .city-hero-credit a:hover{text-decoration:underline;text-underline-offset:2px}
body[data-city-layout="v09"] .city-hero-place{bottom:12px;padding-right:4px}
@media(max-width:760px){
  body[data-city-layout="v09"] .city-hero-credit{right:7px;bottom:6px;max-width:56%;padding:4px 6px;font-size:6.5px}
  body[data-city-layout="v09"] .city-hero-credit span:last-child{display:none}
}


/* ========================================================================
   Radar Česka · City Hero Photo v0.9.2 LAB · České Budějovice
   - softer premium overlay / better crop feeling / quieter credit
   ======================================================================== */
body[data-city-layout="v09"] .city-hero-photo.has-image{
  background-color:#dbe7e6;
  background-repeat:no-repeat;
  background-size:cover;
  box-shadow:0 14px 34px rgba(24,57,66,.08),inset 0 1px 0 rgba(255,255,255,.38);
}
body[data-city-layout="v09"][data-city-slug="ceske-budejovice"] .city-hero-photo.has-image::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(130% 120% at 82% 12%, rgba(248,218,112,.34) 0%, rgba(248,218,112,.16) 18%, rgba(248,218,112,0) 42%),
    linear-gradient(92deg, rgba(229,244,243,.34) 0%, rgba(229,244,243,.18) 18%, rgba(229,244,243,0) 42%),
    linear-gradient(180deg, rgba(8,30,39,.03) 0%, rgba(8,30,39,.08) 58%, rgba(8,30,39,.28) 100%);
}
body[data-city-layout="v09"][data-city-slug="ceske-budejovice"] .city-hero-photo.has-image::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg, rgba(19,54,64,.19) 0%, rgba(19,54,64,.04) 36%, rgba(19,54,64,0) 58%), linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0));
}
body[data-city-layout="v09"] .city-hero-photo-sheen{
  position:absolute;inset:0;
  background:linear-gradient(106deg, rgba(255,255,255,.11) 0%, rgba(255,255,255,.03) 22%, rgba(20,50,57,.04) 52%, rgba(20,50,57,.16) 100%), radial-gradient(60% 90% at 0% 100%, rgba(255,255,255,.05), transparent 72%);
  pointer-events:none;
}
body[data-city-layout="v09"] .city-hero-place{left:15px;bottom:12px;display:grid;gap:2px;color:#fff;text-shadow:0 2px 8px rgba(14,33,38,.34)}
body[data-city-layout="v09"] .city-hero-place b{font-size:13px;letter-spacing:-.01em}
body[data-city-layout="v09"] .city-hero-place span{font-size:9px;font-weight:760;opacity:.92}
body[data-city-layout="v09"] .city-hero-weather{right:12px;top:12px;min-width:112px;padding:9px 10px;border:1px solid rgba(255,255,255,.74);border-radius:14px;background:rgba(255,255,255,.90);box-shadow:0 9px 24px rgba(24,56,64,.12);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
body[data-city-layout="v09"] .city-hero-weather strong{font-size:17px;letter-spacing:-.03em;color:#193f48}
body[data-city-layout="v09"] .city-hero-weather span{font-size:8.5px;color:#71888f;font-weight:760}
body[data-city-layout="v09"] .city-hero-credit{
  position:absolute;left:10px;bottom:8px;right:auto;display:flex;align-items:center;gap:4px;
  max-width:58%;padding:3px 6px;border:1px solid rgba(255,255,255,.18);border-radius:999px;
  background:rgba(14,36,42,.26);color:rgba(255,255,255,.72);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  font-size:6.5px;font-weight:670;line-height:1;white-space:nowrap;
  text-shadow:0 1px 2px rgba(0,0,0,.22);opacity:.7;transition:opacity .18s ease, background .18s ease,color .18s ease
}
body[data-city-layout="v09"] .city-hero-credit a{color:inherit;text-decoration:none}
body[data-city-layout="v09"] .city-hero-credit:hover{opacity:.98;background:rgba(14,36,42,.42);color:rgba(255,255,255,.92)}
body[data-city-layout="v09"] .city-hero-credit-tail{opacity:.78}
@media(max-width:760px){
  body[data-city-layout="v09"] .city-hero-credit{left:8px;bottom:6px;max-width:56%;padding:3px 5px;font-size:6px}
  body[data-city-layout="v09"] .city-hero-credit-tail{display:none}
}


/* ========================================================================
   Radar Česka · City Hero Final Tweak v0.9.3 LAB · České Budějovice
   - slightly taller hero, calmer image treatment, stronger place label
   - quieter but still readable CC BY credit
   ======================================================================== */
body[data-city-layout="v09"][data-city-slug="ceske-budejovice"] .city-hero-photo{
  min-height:168px;
  background-color:#dfe9e8;
  box-shadow:0 16px 36px rgba(24,57,66,.075), inset 0 1px 0 rgba(255,255,255,.42);
}
body[data-city-layout="v09"][data-city-slug="ceske-budejovice"] .city-hero-photo.has-image::before{
  background:
    linear-gradient(90deg,rgba(231,244,242,.18) 0%,rgba(231,244,242,.08) 24%,rgba(231,244,242,0) 48%),
    radial-gradient(120% 120% at 84% 8%,rgba(244,219,126,.22) 0%,rgba(244,219,126,.10) 20%,rgba(244,219,126,0) 44%),
    linear-gradient(180deg,rgba(10,31,38,.025) 0%,rgba(10,31,38,.07) 58%,rgba(10,31,38,.25) 100%);
}
body[data-city-layout="v09"][data-city-slug="ceske-budejovice"] .city-hero-photo.has-image::after{
  background:
    linear-gradient(90deg,rgba(17,48,57,.16) 0%,rgba(17,48,57,.035) 34%,rgba(17,48,57,0) 62%),
    linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,0));
}
body[data-city-layout="v09"][data-city-slug="ceske-budejovice"] .city-hero-photo-sheen{
  background:linear-gradient(108deg,rgba(255,255,255,.13) 0%,rgba(255,255,255,.035) 24%,rgba(20,50,57,.035) 56%,rgba(20,50,57,.13) 100%);
}
body[data-city-layout="v09"][data-city-slug="ceske-budejovice"] .city-hero-place{
  left:15px;bottom:27px;gap:1px;
  text-shadow:0 2px 9px rgba(8,28,34,.48),0 1px 2px rgba(8,28,34,.30);
}
body[data-city-layout="v09"][data-city-slug="ceske-budejovice"] .city-hero-place b{font-size:13.2px;font-weight:830}
body[data-city-layout="v09"][data-city-slug="ceske-budejovice"] .city-hero-place span{font-size:9px;font-weight:760;opacity:.94}
body[data-city-layout="v09"][data-city-slug="ceske-budejovice"] .city-hero-weather{
  right:12px;top:12px;
  border-color:rgba(255,255,255,.70);
  background:rgba(255,255,255,.89);
  box-shadow:0 10px 25px rgba(24,56,64,.105);
}
body[data-city-layout="v09"][data-city-slug="ceske-budejovice"] .city-hero-credit{
  left:10px;bottom:7px;right:auto;
  max-width:56%;padding:2px 5px;
  border-color:rgba(255,255,255,.12);
  background:rgba(13,35,41,.14);
  color:rgba(255,255,255,.72);
  font-size:6.8px;font-weight:650;
  opacity:.54;
}
body[data-city-layout="v09"][data-city-slug="ceske-budejovice"] .city-hero-credit:hover{
  opacity:.96;background:rgba(13,35,41,.38);color:rgba(255,255,255,.94)
}
@media(max-width:760px){
  body[data-city-layout="v09"][data-city-slug="ceske-budejovice"] .city-hero-photo{min-height:156px}
  body[data-city-layout="v09"][data-city-slug="ceske-budejovice"] .city-hero-place{bottom:25px}
  body[data-city-layout="v09"][data-city-slug="ceske-budejovice"] .city-hero-credit{left:8px;bottom:6px;font-size:6.4px;max-width:54%;opacity:.58}
}

/* ========================================================================
   Radar Česka · City Hero Manager v1.1.1
   Managed city images: generic premium treatment controlled by admin metadata.
   ======================================================================== */
body[data-city-layout="v09"] .city-hero-photo.is-managed{
  min-height:168px;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  box-shadow:0 16px 36px rgba(24,57,66,.075),inset 0 1px 0 rgba(255,255,255,.42);
}
body[data-city-layout="v09"] .city-hero-photo.is-managed.has-image::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:var(--hero-overlay-strength,.52);
  background:linear-gradient(90deg,rgba(214,239,235,.42) 0%,rgba(214,239,235,.12) 38%,rgba(21,59,68,.16) 100%),linear-gradient(180deg,rgba(8,31,39,.03),rgba(8,31,39,.34));
}
body[data-city-layout="v09"] .city-hero-photo.is-managed.hero-overlay-neutral.has-image::before{
  background:linear-gradient(90deg,rgba(236,240,240,.25) 0%,rgba(236,240,240,.06) 40%,rgba(32,47,51,.14) 100%),linear-gradient(180deg,rgba(12,28,33,.025),rgba(12,28,33,.31));
}
body[data-city-layout="v09"] .city-hero-photo.is-managed.hero-overlay-warm.has-image::before{
  background:linear-gradient(90deg,rgba(243,235,213,.30) 0%,rgba(243,235,213,.08) 38%,rgba(78,52,26,.15) 100%),linear-gradient(180deg,rgba(18,31,30,.025),rgba(18,31,30,.31));
}
body[data-city-layout="v09"] .city-hero-photo.is-managed.has-image::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0) 45%,rgba(7,29,35,.13) 100%);
}
body[data-city-layout="v09"] .city-hero-photo.is-managed .city-hero-photo-sheen{z-index:1;background:linear-gradient(108deg,rgba(255,255,255,.13) 0%,rgba(255,255,255,.035) 24%,rgba(20,50,57,.035) 56%,rgba(20,50,57,.13) 100%)}
body[data-city-layout="v09"] .city-hero-photo.is-managed .city-hero-place{z-index:2;left:15px;bottom:27px;gap:1px;text-shadow:0 2px 9px rgba(8,28,34,.48),0 1px 2px rgba(8,28,34,.30)}
body[data-city-layout="v09"] .city-hero-photo.is-managed .city-hero-place b{font-size:13.2px;font-weight:830}
body[data-city-layout="v09"] .city-hero-photo.is-managed .city-hero-place span{font-size:9px;font-weight:760;opacity:.94}
body[data-city-layout="v09"] .city-hero-photo.is-managed .city-hero-weather{z-index:2;right:12px;top:12px;border-color:rgba(255,255,255,.70);background:rgba(255,255,255,.89);box-shadow:0 10px 25px rgba(24,56,64,.105)}
body[data-city-layout="v09"] .city-hero-photo.is-managed .city-hero-credit{z-index:3;left:10px;bottom:7px;right:auto;max-width:56%;padding:2px 5px;border-color:rgba(255,255,255,.12);background:rgba(13,35,41,.14);color:rgba(255,255,255,.72);font-size:6.8px;font-weight:650;opacity:.54}
body[data-city-layout="v09"] .city-hero-photo.is-managed .city-hero-credit:hover{opacity:.96;background:rgba(13,35,41,.38);color:rgba(255,255,255,.94)}
@media(max-width:760px){body[data-city-layout="v09"] .city-hero-photo.is-managed{min-height:156px}body[data-city-layout="v09"] .city-hero-photo.is-managed .city-hero-place{bottom:25px}body[data-city-layout="v09"] .city-hero-photo.is-managed .city-hero-credit{left:8px;bottom:6px;font-size:6.4px;max-width:54%;opacity:.58}}


/* ========================================================================
   Radar Česka · City Performance + Mobile Polish + Quick Summary v1.2.0
   ======================================================================== */
body[data-city-layout="v09"] .city-hero-photo.has-image{
  background-image:var(--hero-image-desktop);
}
body[data-city-layout="v09"] .current-quick-summary{
  margin:0 14px 10px;padding:10px 12px 11px;border:1px solid rgba(8,185,157,.14);border-radius:13px;
  background:linear-gradient(112deg,rgba(237,249,246,.92),rgba(249,252,251,.96));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}
body[data-city-layout="v09"] .current-quick-summary-label{display:block;margin-bottom:4px;color:#0b8c79;font-size:8px;font-weight:900;letter-spacing:.055em;text-transform:uppercase}
body[data-city-layout="v09"] .current-quick-summary p{margin:0;color:#385a63;font-size:10.5px;line-height:1.48;font-weight:590}

@media(max-width:760px){
  /* The city header is intentionally compact: weather content gets above the fold sooner. */
  .city-top{padding:7px 10px 8px;gap:7px;min-height:0}
  .city-brand{font-size:16px;gap:7px}.brand-radar{width:30px;height:30px;font-size:20px}
  .city-search{height:40px;border-radius:14px;padding:0 12px}.city-search span{font-size:21px}.city-search input{font-size:14px}
  .city-main-nav{gap:4px;padding-bottom:1px}.city-main-nav a,.my-radar{padding:8px 10px;border-radius:10px;font-size:11.5px}
  body[data-city-layout="v09"] .city-page{width:min(100% - 16px,1420px);padding-top:9px}
  body[data-city-layout="v09"] .breadcrumbs{margin:0 0 6px;font-size:10px;gap:6px}
  body[data-city-layout="v09"] .city-title-row-v09{gap:7px;margin-bottom:7px}
  body[data-city-layout="v09"] .city-title-copy-v09{padding-top:1px}
  body[data-city-layout="v09"] .city-title-kicker-row{min-height:22px}
  body[data-city-layout="v09"] .city-title-copy-v09 h1{font-size:28px;line-height:1.04;margin:2px 0 5px}
  body[data-city-layout="v09"] .city-title-copy-v09>p{font-size:10.5px!important;line-height:1.42;max-width:92%}
  body[data-city-layout="v09"] .place-chips{margin-top:8px;gap:5px}.place-chips a,.place-chips span{padding:6px 7px;border-radius:8px;font-size:9.5px}
  body[data-city-layout="v09"] .city-page-actions-v09{bottom:-1px}
  body[data-city-layout="v09"] .city-hero-photo.has-image{background-image:var(--hero-image-mobile,var(--hero-image-desktop))}
  body[data-city-layout="v09"] .city-hero-photo,
  body[data-city-layout="v09"] .city-hero-photo.is-managed,
  body[data-city-layout="v09"][data-city-slug="ceske-budejovice"] .city-hero-photo{min-height:142px;border-radius:14px}
  body[data-city-layout="v09"] .city-hero-photo.is-managed .city-hero-weather,
  body[data-city-layout="v09"] .city-hero-weather{right:8px;top:8px;min-width:91px;padding:6px 7px;gap:6px;border-radius:11px}
  body[data-city-layout="v09"] .city-hero-weather>i{font-size:20px}
  body[data-city-layout="v09"] .city-hero-weather strong{font-size:14px}.city-hero-weather span{font-size:7.5px}
  body[data-city-layout="v09"] .city-hero-photo.is-managed .city-hero-place,
  body[data-city-layout="v09"][data-city-slug="ceske-budejovice"] .city-hero-place{left:11px;bottom:11px}
  body[data-city-layout="v09"] .city-hero-photo.is-managed .city-hero-place b{font-size:12px}.city-hero-place span{font-size:8px}
  body[data-city-layout="v09"] .city-anchor-nav-v09{margin-top:0;margin-bottom:8px;padding:4px;min-height:40px;border-radius:12px}
  body[data-city-layout="v09"] .city-anchor-nav-v09 a,body[data-city-layout="v09"] .city-anchor-nav-v09 button{padding:7px 8px;font-size:8px}
  body[data-city-layout="v09"] .current-quick-summary{margin:0 10px 9px;padding:9px 10px;border-radius:12px}
  body[data-city-layout="v09"] .current-quick-summary-label{font-size:7.3px;margin-bottom:3px}
  body[data-city-layout="v09"] .current-quick-summary p{font-size:10px;line-height:1.45}
  body[data-city-layout="v09"] .current-card-pro{border-radius:17px}
  body[data-city-layout="v09"] .current-pro-top{padding-top:1px}
}


/* ========================================================================
   Radar Česka · Mobile Header + Quick Forecast Intelligence Polish v1.2.1
   Desktop is intentionally untouched. Mobile topbar becomes one full-bleed
   surface instead of three visually disconnected cards.
   ======================================================================== */
@media(max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}
  .city-top{
    width:100%;max-width:none;
    padding:max(7px,env(safe-area-inset-top)) 0 0;
    gap:0;
    grid-template-columns:1fr;
    background:rgba(250,253,252,.975);
    border-bottom:1px solid rgba(24,62,73,.085);
    box-shadow:0 5px 18px rgba(25,55,64,.035);
    backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  }
  .city-top .city-brand{
    grid-column:1;grid-row:1;
    width:max-content;
    margin:0 11px 7px;
    padding:0;
    font-size:16px;
    gap:7px;
  }
  .city-top .brand-radar{width:30px;height:30px;font-size:20px}
  .city-top .city-search{
    grid-column:1;grid-row:2;
    width:calc(100% - 18px);
    height:39px;
    margin:0 9px 7px;
    padding:0 11px;
    border-radius:13px;
    border-color:rgba(30,68,77,.095);
    box-shadow:0 4px 14px rgba(28,61,69,.035);
  }
  .city-top .city-search span{font-size:20px}
  .city-top .city-search input{font-size:13.5px}
  .city-top .city-main-nav{
    position:relative;
    grid-column:1;grid-row:3;
    width:100%;
    margin:0;
    padding:1px 10px 7px;
    gap:2px;
    overflow-x:auto;overflow-y:hidden;
    scroll-padding-inline:10px;
    overscroll-behavior-inline:contain;
    border-top:1px solid rgba(31,68,77,.055);
    background:linear-gradient(180deg,rgba(250,253,252,.50),rgba(247,251,250,.92));
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    -webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 23px),transparent 100%);
    mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 23px),transparent 100%);
  }
  .city-top .city-main-nav::-webkit-scrollbar{display:none}
  .city-top .city-main-nav a,
  .city-top .my-radar{
    flex:0 0 auto;
    padding:8px 9px;
    border:1px solid transparent;
    border-radius:9px;
    background:transparent;
    box-shadow:none;
    font-size:11px;
    line-height:1;
  }
  .city-top .city-main-nav a.active{
    border-color:rgba(8,185,157,.17);
    background:rgba(237,249,246,.92);
    color:#087d70;
  }
  .city-top .my-radar{display:none}

  body[data-city-layout="v09"] .city-page{
    width:100%;max-width:100%;
    padding:8px 9px 58px;
  }
  body[data-city-layout="v09"] .breadcrumbs{margin:0 1px 6px;font-size:9.6px}
  body[data-city-layout="v09"] .city-title-row-v09{gap:7px;margin-bottom:7px}
  body[data-city-layout="v09"] .city-title-copy-v09{padding:2px 1px 0}
  body[data-city-layout="v09"] .city-title-kicker-row{min-height:21px}
  body[data-city-layout="v09"] .city-title-copy-v09 h1{font-size:27.5px;line-height:1.035;margin:3px 0 4px}
  body[data-city-layout="v09"] .city-title-copy-v09>p{max-width:calc(100% - 44px);font-size:10px!important;line-height:1.38}
  body[data-city-layout="v09"] .city-title-copy-v09 .place-chips{margin-top:7px}
  body[data-city-layout="v09"] .place-chips a,
  body[data-city-layout="v09"] .place-chips span{padding:5px 7px;font-size:9px}
  body[data-city-layout="v09"] .city-page-actions-v09{right:0;bottom:1px}
  body[data-city-layout="v09"] .city-more-button{width:38px;height:38px;border-radius:13px}

  body[data-city-layout="v09"] .city-hero-photo,
  body[data-city-layout="v09"] .city-hero-photo.is-managed,
  body[data-city-layout="v09"][data-city-slug="ceske-budejovice"] .city-hero-photo{
    min-height:138px;
    border-radius:13px;
  }
  body[data-city-layout="v09"] .city-hero-photo.is-managed .city-hero-weather,
  body[data-city-layout="v09"] .city-hero-weather{
    right:7px;top:7px;
    min-width:88px;
    padding:6px 7px;
    gap:5px;
    border-radius:10px;
  }
  body[data-city-layout="v09"] .city-hero-weather>i{font-size:19px}
  body[data-city-layout="v09"] .city-hero-weather strong{font-size:13.5px}
  body[data-city-layout="v09"] .city-hero-weather span{font-size:7px}
  body[data-city-layout="v09"] .city-hero-photo.is-managed .city-hero-place,
  body[data-city-layout="v09"][data-city-slug="ceske-budejovice"] .city-hero-place{left:10px;bottom:10px}
  body[data-city-layout="v09"] .city-hero-photo.is-managed .city-hero-place b{font-size:11.5px}
  body[data-city-layout="v09"] .city-hero-photo.is-managed .city-hero-place span{font-size:7.5px}

  /* Local page navigation stays compact but no longer competes with the sticky global header. */
  body[data-city-layout="v09"] .city-anchor-nav-v09{
    position:relative;top:auto;
    width:100%;
    margin:7px 0 8px;
    padding:3px 4px;
    min-height:38px;
    border-radius:11px;
    overflow-x:auto;
    box-shadow:0 4px 14px rgba(27,62,70,.035);
  }
  body[data-city-layout="v09"] .city-anchor-nav-v09 a,
  body[data-city-layout="v09"] .city-anchor-nav-v09 button{padding:7px 8px;font-size:7.8px}

  body[data-city-layout="v09"] .current-quick-summary{
    position:relative;
    margin:0 9px 8px;
    padding:9px 10px 9px 11px;
    border-radius:12px;
    background:linear-gradient(110deg,rgba(237,249,246,.96),rgba(249,252,251,.98));
  }
  body[data-city-layout="v09"] .current-quick-summary::before{
    content:"";position:absolute;left:0;top:10px;bottom:10px;width:2px;border-radius:99px;background:#08b99d;opacity:.72
  }
  body[data-city-layout="v09"] .current-quick-summary-label{font-size:7.1px;margin-bottom:3px;letter-spacing:.05em}
  body[data-city-layout="v09"] .current-quick-summary p{font-size:9.8px;line-height:1.42;color:#31565f}
}


/* ========================================================================
   Radar Česka · QuickCast Fusion v1.3.0
   radar nowcast can promote the compact summary without making it noisy
   ======================================================================== */
.current-quick-summary{transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}
.current-quick-summary-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}
.current-quick-summary .current-quick-summary-label{margin:0}
.current-quick-summary-source{flex:0 0 auto;padding:3px 6px;border-radius:999px;background:rgba(255,255,255,.72);border:1px solid rgba(17,132,116,.10);color:#6e888f;font-size:7px;font-weight:780;line-height:1;letter-spacing:.015em;white-space:nowrap}
.current-quick-summary.is-radar{background:linear-gradient(120deg,#eaf9f6,#f5fbfa);border-color:rgba(7,174,147,.22);box-shadow:0 5px 18px rgba(14,126,109,.045)}
.current-quick-summary.is-radar .current-quick-summary-source{background:#fff;color:#087d70;border-color:rgba(8,185,157,.18)}
.current-quick-summary.is-rain-now{background:linear-gradient(120deg,#eef7ff,#f2fbfa);border-color:rgba(49,138,200,.22)}
.current-quick-summary.is-rain-now .current-quick-summary-label{color:#167494}
@media(max-width:760px){
  .current-quick-summary-head{gap:7px;margin-bottom:3px}
  .current-quick-summary-source{font-size:6.5px;padding:3px 5px}
}


/* ========================================================================
   Radar Česka · Live Lightning QuickCast v1.5.0
   deterministic fusion: radar + ČHMÚ + Forecast Intelligence + model
   ======================================================================== */
.current-quick-summary-meta{display:flex;align-items:center;justify-content:flex-end;gap:4px;min-width:0}
.current-quick-summary-live{width:5px;height:5px;border-radius:50%;background:#b8c8c9;box-shadow:0 0 0 0 rgba(8,185,157,0);transition:.18s}
.current-quick-summary-live.active{background:#08a98f;box-shadow:0 0 0 3px rgba(8,185,157,.09)}
.current-quick-summary-confidence{flex:0 0 auto;padding:3px 6px;border-radius:999px;background:rgba(255,255,255,.72);border:1px solid rgba(17,132,116,.10);color:#517078;font-size:7px;font-weight:820;line-height:1;white-space:nowrap}
.current-quick-summary.is-warning{background:linear-gradient(120deg,#fff7ec,#fffdf9);border-color:rgba(218,148,54,.24)}
.current-quick-summary.is-warning .current-quick-summary-label{color:#a36910}
.current-quick-summary.is-warning .current-quick-summary-live.active{background:#d89321;box-shadow:0 0 0 3px rgba(216,147,33,.10)}
.current-quick-summary.is-storm{background:linear-gradient(120deg,#f4f3ff,#fbfbff);border-color:rgba(102,94,190,.20)}
.current-quick-summary.is-storm .current-quick-summary-label{color:#665db4}
.current-quick-summary.is-wind{background:linear-gradient(120deg,#eef9f8,#fbfdfd);border-color:rgba(34,144,147,.18)}
.current-quick-summary.is-snow{background:linear-gradient(120deg,#f3f9ff,#fbfdff);border-color:rgba(81,144,198,.18)}
@media(max-width:760px){
  .current-quick-summary-meta{gap:3px;max-width:52%}
  .current-quick-summary-source,.current-quick-summary-confidence{font-size:6.2px;padding:3px 5px;overflow:hidden;text-overflow:ellipsis}
  .current-quick-summary-source{max-width:105px}
  .current-quick-summary-confidence{max-width:72px}
}


/* ========================================================================
   Radar Česka · Live Lightning QuickCast v1.5.0
   real EUMETSAT LI point signal + radar/model fusion
   ======================================================================== */
.current-quick-summary.is-storm .current-quick-summary-source{background:#fff;color:#5f56aa;border-color:rgba(102,94,190,.16)}
.current-quick-summary.is-storm .current-quick-summary-live.active{background:#6d62c3;box-shadow:0 0 0 3px rgba(109,98,195,.10)}

/* ========================================================================
   Radar Česka · Professional QuickCast v1.6.0
   Timeline + confidence + stabilized output. Compact by design: this block
   must help people scan the next hours without competing with the meteogram.
   ======================================================================== */
body[data-city-layout="v09"] .quickcast-pro-line{display:flex;align-items:center;gap:7px;margin-top:8px;padding-top:7px;border-top:1px solid rgba(25,75,82,.075)}
body[data-city-layout="v09"] .quickcast-timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;min-width:0;flex:1}
body[data-city-layout="v09"] .quickcast-slot{min-width:0;padding:6px 7px;border:1px solid rgba(28,75,83,.08);border-radius:9px;background:rgba(255,255,255,.58);display:grid;gap:2px}
body[data-city-layout="v09"] .quickcast-slot small{font-size:6.5px;line-height:1;color:#87999e;font-weight:850;letter-spacing:.035em;white-space:nowrap}
body[data-city-layout="v09"] .quickcast-slot b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px;line-height:1.15;color:#4e6a71;font-weight:800}
body[data-city-layout="v09"] .quickcast-slot.is-wet{background:rgba(235,246,255,.72);border-color:rgba(55,133,184,.12)}
body[data-city-layout="v09"] .quickcast-slot.is-wet b{color:#276d8d}
body[data-city-layout="v09"] .quickcast-slot.is-storm{background:rgba(244,241,255,.78);border-color:rgba(102,94,190,.14)}
body[data-city-layout="v09"] .quickcast-slot.is-storm b{color:#665db4}
body[data-city-layout="v09"] .quickcast-slot.is-wind{background:rgba(235,249,247,.76);border-color:rgba(34,144,147,.14)}
body[data-city-layout="v09"] .quickcast-slot.is-wind b{color:#287c7e}
body[data-city-layout="v09"] .quickcast-slot.is-warn{background:rgba(255,247,235,.82);border-color:rgba(213,147,46,.15)}
body[data-city-layout="v09"] .quickcast-slot.is-warn b{color:#9d6918}
body[data-city-layout="v09"] .quickcast-slot.is-calm b{color:#47736f}
body[data-city-layout="v09"] .quickcast-slot.is-muted{opacity:.72}
body[data-city-layout="v09"] .quickcast-stability{flex:0 0 auto;padding:3px 6px;border-radius:999px;background:#f4f8f7;border:1px solid rgba(24,62,73,.08);color:#789096;font-size:6.5px;font-weight:800;white-space:nowrap}
body[data-city-layout="v09"] .current-quick-summary-confidence{max-width:none}
@media(max-width:760px){
  body[data-city-layout="v09"] .quickcast-pro-line{display:block;margin-top:7px;padding-top:6px}
  body[data-city-layout="v09"] .quickcast-timeline{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding-bottom:1px}
  body[data-city-layout="v09"] .quickcast-timeline::-webkit-scrollbar{display:none}
  body[data-city-layout="v09"] .quickcast-slot{flex:0 0 82px;padding:5px 6px;border-radius:8px}
  body[data-city-layout="v09"] .quickcast-slot small{font-size:6px}
  body[data-city-layout="v09"] .quickcast-slot b{font-size:7.5px}
  body[data-city-layout="v09"] .quickcast-stability{display:none}
  body[data-city-layout="v09"] .current-quick-summary-confidence{max-width:96px}
}

/* ========================================================================
   Radar Česka · Weather Watch Core v1.8.0
   ======================================================================== */
body[data-city-layout="v09"] .current-quick-summary-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
body[data-city-layout="v09"] .current-quick-summary-meta{margin-left:auto}
.weather-watch-open{display:inline-flex;align-items:center;gap:5px;height:27px;padding:0 8px;border:1px solid rgba(16,118,102,.13);border-radius:999px;background:rgba(255,255,255,.72);color:#316f69;font:inherit;cursor:pointer;box-shadow:0 3px 10px rgba(29,74,77,.035);transition:.16s ease}
.weather-watch-open:hover{background:#fff;border-color:rgba(10,148,125,.25);transform:translateY(-1px)}.weather-watch-open span{font-size:11px;line-height:1}.weather-watch-open b{font-size:8px;white-space:nowrap}.weather-watch-open em{min-width:14px;height:14px;padding:0 4px;border-radius:999px;background:#e7f7f3;color:#0e7d69;display:grid;place-items:center;font-size:6.5px;font-style:normal;font-weight:900}.weather-watch-open.is-enabled{background:#f5fbf9}.weather-watch-open.has-event{background:#fff6e9;border-color:rgba(203,139,45,.24);color:#855c21;box-shadow:0 5px 16px rgba(114,82,35,.06)}
.weather-watch-backdrop{position:fixed;inset:0;z-index:9990;background:rgba(12,31,37,.34);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.weather-watch-dialog{position:fixed;z-index:9991;left:50%;top:50%;transform:translate(-50%,-50%);width:min(620px,calc(100% - 28px));max-height:min(760px,calc(100dvh - 28px));overflow:auto;border:1px solid rgba(24,62,73,.11);border-radius:22px;background:#fff;box-shadow:0 24px 80px rgba(18,48,56,.24);color:#173640}.weather-watch-dialog>header{display:flex;justify-content:space-between;gap:16px;padding:20px 20px 16px;border-bottom:1px solid rgba(24,62,73,.08);background:linear-gradient(135deg,#fbfefd,#f3faf8)}.weather-watch-dialog>header>div{min-width:0}.weather-watch-dialog>header span{font-size:8px;font-weight:900;letter-spacing:.09em;color:#4c7b77}.weather-watch-dialog>header h2{margin:5px 0 5px;font-size:22px;letter-spacing:-.03em}.weather-watch-dialog>header p{margin:0;max-width:480px;color:#758b91;font-size:10px;line-height:1.5}.weather-watch-dialog>header>button{flex:0 0 32px;width:32px;height:32px;border:1px solid rgba(24,62,73,.1);border-radius:50%;background:#fff;color:#617c83;font-size:20px;cursor:pointer}.weather-watch-live{margin:14px 16px 0;padding:11px 12px;border:1px solid rgba(24,62,73,.08);border-radius:13px;background:#f8fbfa;display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:center}.weather-watch-live i{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#e9f7f3;font-style:normal;font-size:13px}.weather-watch-live div{display:grid;gap:2px}.weather-watch-live b{font-size:10px}.weather-watch-live span{font-size:8px;color:#788e94;line-height:1.4}.weather-watch-live.is-active{background:#fffaf2;border-color:rgba(203,139,45,.14)}.weather-watch-live.is-stale{background:#fafafa;color:#75878c}.weather-watch-dialog form{padding:14px 16px 16px}.weather-watch-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.weather-watch-options label{position:relative;display:grid;grid-template-columns:auto auto 1fr;gap:8px;align-items:center;padding:11px;border:1px solid rgba(24,62,73,.08);border-radius:13px;background:#fbfdfd;cursor:pointer}.weather-watch-options input{accent-color:#0b9b84}.weather-watch-options label>span{font-size:18px}.weather-watch-options label>div{display:grid;gap:2px}.weather-watch-options b{font-size:9.5px}.weather-watch-options small{font-size:7.6px;line-height:1.35;color:#7d9197}.weather-watch-options label:has(input:checked){background:#f0faf7;border-color:rgba(10,148,125,.18)}.weather-watch-browser{margin-top:10px;padding:11px 12px;border:1px solid rgba(24,62,73,.08);border-radius:13px;background:#f8fbfa;display:flex;gap:9px;align-items:flex-start;cursor:pointer}.weather-watch-browser input{margin-top:2px;accent-color:#0b9b84}.weather-watch-browser span{display:grid;gap:2px}.weather-watch-browser b{font-size:9px}.weather-watch-browser small{font-size:7.6px;color:#7e9297;line-height:1.4}.weather-watch-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:13px}.weather-watch-actions button{height:36px;padding:0 13px;border-radius:10px;font:inherit;font-size:9px;font-weight:850;cursor:pointer}.weather-watch-actions .secondary{border:1px solid rgba(24,62,73,.1);background:#fff;color:#5e777e}.weather-watch-actions .primary{border:1px solid #0b9b84;background:#0b9b84;color:#fff}.weather-watch-modal-open{overflow:hidden}.weather-watch-toast{position:fixed;z-index:10000;right:16px;bottom:max(16px,env(safe-area-inset-bottom));width:min(380px,calc(100% - 32px));padding:11px 12px;border:1px solid rgba(24,62,73,.11);border-radius:15px;background:rgba(255,255,255,.96);box-shadow:0 14px 40px rgba(18,48,56,.19);backdrop-filter:blur(12px);display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center}.weather-watch-toast>span{font-size:20px}.weather-watch-toast>div{display:grid;gap:2px}.weather-watch-toast b{font-size:10px}.weather-watch-toast small{font-size:8px;line-height:1.4;color:#71888f}.weather-watch-toast button{border:0;background:transparent;color:#809298;font-size:17px;cursor:pointer}.weather-watch-toast.is-rain,.weather-watch-toast.is-storm{border-color:rgba(93,131,184,.22)}
@media(max-width:760px){body[data-city-layout="v09"] .current-quick-summary-head{display:grid;grid-template-columns:1fr auto;gap:6px 8px}body[data-city-layout="v09"] .current-quick-summary-label{grid-column:1}body[data-city-layout="v09"] .current-quick-summary-meta{grid-row:2;grid-column:1/-1;margin-left:0}.weather-watch-open{grid-column:2;grid-row:1;height:25px;padding:0 7px}.weather-watch-open b{font-size:7.5px}.weather-watch-dialog{top:auto;bottom:0;left:0;transform:none;width:100%;max-height:min(86dvh,760px);border-radius:20px 20px 0 0;border-bottom:0}.weather-watch-dialog>header{padding:16px 14px 13px}.weather-watch-dialog>header h2{font-size:19px}.weather-watch-dialog>header p{font-size:9px}.weather-watch-live{margin:11px 12px 0}.weather-watch-dialog form{padding:11px 12px max(14px,env(safe-area-inset-bottom))}.weather-watch-options{grid-template-columns:1fr}.weather-watch-options label{padding:10px}.weather-watch-options small{font-size:8px}.weather-watch-actions{position:sticky;bottom:0;padding-top:8px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 28%)}.weather-watch-actions button{flex:1}.weather-watch-toast{left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));width:auto}}
.weather-watch-toast[hidden],.weather-watch-dialog[hidden],.weather-watch-backdrop[hidden]{display:none}
.weather-watch-open em[hidden]{display:none}


/* Radar Česka Weather Watch Web Push PREVIEW v1.8.1 */
.weather-watch-push{background:linear-gradient(135deg,#f7fbff,#f6fcfa)}
.weather-watch-push b{display:flex;align-items:center;gap:6px}.weather-watch-push b em{padding:2px 5px;border-radius:999px;background:#fff2d9;color:#95631c;font-size:6.2px;font-style:normal;letter-spacing:.05em}
.weather-watch-push u{margin-top:3px;text-decoration:none;font-size:7.3px;color:#668087}.weather-watch-push u.is-ready{color:#0b7d68;font-weight:800}.weather-watch-push u.is-warn{color:#a45e29}.weather-watch-push u.is-muted{color:#7f9398}

/* ========================================================================
   Radar Česka Weather Watch CTA Visibility Hotfix v1.8.2.1
   Make Weather Watch unmistakably discoverable without turning the city
   card into a loud notification banner.
   ======================================================================== */
body[data-city-layout="v09"] .current-quick-summary-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:6px 10px;
}
body[data-city-layout="v09"] .current-quick-summary-label{grid-column:1;grid-row:1;min-width:0}
body[data-city-layout="v09"] .current-quick-summary-meta{grid-column:2;grid-row:1;margin-left:0;justify-self:end;min-width:0}
body[data-city-layout="v09"] .weather-watch-open.weather-watch-open-prominent{
  grid-column:1/-1;
  grid-row:2;
  width:100%;
  min-height:42px;
  height:auto;
  margin-top:2px;
  padding:7px 10px;
  border:1px solid rgba(10,148,125,.19);
  border-radius:11px;
  background:linear-gradient(135deg,rgba(242,251,248,.98),rgba(248,252,251,.98));
  color:#205f59;
  box-shadow:0 5px 15px rgba(29,74,77,.045);
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  gap:8px;
  align-items:center;
  text-align:left;
  cursor:pointer;
  transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
body[data-city-layout="v09"] .weather-watch-open.weather-watch-open-prominent:hover{
  transform:translateY(-1px);
  border-color:rgba(10,148,125,.33);
  background:#fff;
  box-shadow:0 8px 22px rgba(29,74,77,.075);
}
body[data-city-layout="v09"] .weather-watch-open-prominent .weather-watch-open-icon{
  width:28px;
  height:28px;
  border-radius:9px;
  display:grid;
  place-items:center;
  background:#e6f6f2;
  font-size:14px;
  line-height:1;
}
body[data-city-layout="v09"] .weather-watch-open-prominent .weather-watch-open-copy{
  min-width:0;
  display:grid;
  gap:1px;
}
body[data-city-layout="v09"] .weather-watch-open-prominent .weather-watch-open-copy b{
  font-size:9.5px;
  line-height:1.2;
  color:#245b56;
  white-space:normal;
}
body[data-city-layout="v09"] .weather-watch-open-prominent .weather-watch-open-copy small{
  font-size:7.4px;
  line-height:1.25;
  color:#78908d;
  white-space:normal;
}
body[data-city-layout="v09"] .weather-watch-open-prominent .weather-watch-open-action{
  font-size:8px;
  line-height:1;
  font-weight:850;
  color:#0b8b76;
  white-space:nowrap;
}
body[data-city-layout="v09"] .weather-watch-open-prominent em{
  min-width:20px;
  height:20px;
  padding:0 5px;
  border-radius:999px;
  background:#dff4ef;
  color:#087762;
  display:grid;
  place-items:center;
  font-size:7px;
  font-style:normal;
  font-weight:900;
}
body[data-city-layout="v09"] .weather-watch-open-prominent.is-enabled{
  background:linear-gradient(135deg,#eefaf6,#f8fcfb);
  border-color:rgba(10,148,125,.25);
}
body[data-city-layout="v09"] .weather-watch-open-prominent.has-event{
  background:linear-gradient(135deg,#fff7e9,#fffaf3);
  border-color:rgba(203,139,45,.28);
  color:#80571d;
}
body[data-city-layout="v09"] .weather-watch-open-prominent.has-event .weather-watch-open-icon{background:#ffefd2}
body[data-city-layout="v09"] .weather-watch-open-prominent.has-event .weather-watch-open-copy b,
body[data-city-layout="v09"] .weather-watch-open-prominent.has-event .weather-watch-open-action{color:#7d561f}
@media(max-width:760px){
  body[data-city-layout="v09"] .current-quick-summary-head{
    grid-template-columns:minmax(0,1fr);
    gap:5px;
  }
  body[data-city-layout="v09"] .current-quick-summary-label{grid-column:1;grid-row:1}
  body[data-city-layout="v09"] .current-quick-summary-meta{grid-column:1;grid-row:2;justify-self:start;margin-left:0}
  body[data-city-layout="v09"] .weather-watch-open.weather-watch-open-prominent{
    grid-column:1;
    grid-row:3;
    min-height:44px;
    margin-top:3px;
    padding:7px 9px;
    grid-template-columns:auto minmax(0,1fr) auto;
  }
  body[data-city-layout="v09"] .weather-watch-open-prominent .weather-watch-open-copy b{font-size:9.5px}
  body[data-city-layout="v09"] .weather-watch-open-prominent .weather-watch-open-copy small{font-size:7.6px}
  body[data-city-layout="v09"] .weather-watch-open-prominent .weather-watch-open-action{font-size:7.8px}
  body[data-city-layout="v09"] .weather-watch-open-prominent em{position:absolute;right:8px;top:5px;transform:translateY(-50%)}
}

/* Radar Česka Weather Watch Center v1.9.0 — city entry points */
.weather-watch-manage-all{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px;padding:10px 12px;border:1px solid rgba(24,62,73,.08);border-radius:12px;background:#f7fbfa;color:#0a7c69;font-size:9px;font-weight:850}.weather-watch-manage-all:hover{background:#eff8f5}.weather-watch-center-toplink{color:#087d70}.weather-watch-center-toplink::first-letter{font-size:12px}@media(max-width:760px){.weather-watch-manage-all{font-size:9.5px;padding:11px 12px}}

/* RadarČeska Weather Watch Deep Link v1.9.1 */
.weather-watch-deeplink-note{display:flex;align-items:center;gap:8px;margin:0 0 10px;padding:8px 10px;border:1px solid rgba(13,143,130,.18);border-radius:10px;background:#f2faf8;color:#315a55;font-size:12px;line-height:1.35}.weather-watch-deeplink-note b{color:#17453f}.city-radar-watch-highlight{animation:rcWatchPulse 1.8s ease-out 1}@keyframes rcWatchPulse{0%{box-shadow:0 0 0 0 rgba(13,143,130,.28)}100%{box-shadow:0 0 0 14px rgba(13,143,130,0)}}

/* Radar Česka Weather Watch Conversion + Mobile Polish v1.9.2 */
body[data-city-layout="v09"] .weather-watch-open-prominent .weather-watch-open-copy small{max-width:54ch}
body[data-city-layout="v09"] .weather-watch-open-prominent.is-available-event{background:linear-gradient(135deg,#fff7e9,#fffdf7);border-color:rgba(208,139,31,.32)}
body[data-city-layout="v09"] .weather-watch-open-prominent.is-available-event .weather-watch-open-icon{background:#ffefd0}
body[data-city-layout="v09"] .weather-watch-open-prominent.is-available-event .weather-watch-open-copy b,body[data-city-layout="v09"] .weather-watch-open-prominent.is-available-event .weather-watch-open-action{color:#7a541d}
.weather-watch-preset{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;margin:0 0 9px;padding:10px 11px;border:1px solid rgba(10,148,125,.22);border-radius:12px;background:linear-gradient(135deg,#edf9f6,#f8fcfb);color:#244f49;text-align:left;cursor:pointer}
.weather-watch-preset>span{width:28px;height:28px;border-radius:9px;background:#0b8b76;color:#fff;display:grid;place-items:center;font-weight:900}.weather-watch-preset b{display:block;font-size:9px}.weather-watch-preset small{display:block;margin-top:2px;font-size:7.5px;line-height:1.35;color:#708782}.weather-watch-preset em{font-size:7.5px;font-style:normal;font-weight:900;color:#087762}.weather-watch-preset:hover{background:#fff;border-color:rgba(10,148,125,.4)}
.weather-watch-test-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:9px 0 0;padding:10px 11px;border:1px solid rgba(24,148,118,.16);border-radius:12px;background:#f4fbf8}.weather-watch-test-row[hidden]{display:none!important}.weather-watch-test-row div{display:grid;gap:2px}.weather-watch-test-row b{font-size:8.5px;color:#2a5750}.weather-watch-test-row small{font-size:7.4px;line-height:1.35;color:#718681}.weather-watch-test-row button{border:1px solid rgba(10,148,125,.2);border-radius:9px;background:#fff;color:#087762;padding:7px 9px;font:inherit;font-size:7.5px;font-weight:900;white-space:nowrap;cursor:pointer}.weather-watch-test-row button:disabled{opacity:.6;cursor:wait}
.weather-watch-center-toplink{display:inline-flex!important;align-items:center;gap:6px}.weather-watch-center-toplink em{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#0b8b76;color:#fff;display:grid;place-items:center;font-size:7px;font-style:normal;font-weight:900}
@media(max-width:760px){.weather-watch-preset{grid-template-columns:30px minmax(0,1fr) auto}.weather-watch-test-row{align-items:flex-start;flex-direction:column}.weather-watch-test-row button{width:100%;min-height:36px}.weather-watch-open-prominent.is-available-event .weather-watch-open-copy small{font-size:7.7px}}



/* ========================================================================
   RadarČeska City UX v2.0.0
   Mobile-first city entry: full-bleed hero + persistent weather dock.
   The embedded map stays lightweight; deep-links hand off to the canonical
   main weather engine with the city and requested layer already selected.
   ======================================================================== */
.city-mobile-dock{display:none}
.city-open-full-map{font-weight:850;letter-spacing:-.01em}
@media(max-width:760px){
  .city-page{padding-bottom:calc(88px + env(safe-area-inset-bottom))}

  /* The local horizontal anchor strip duplicated the new mobile dock and cost
     valuable first-screen space. Desktop keeps the detailed anchor navigation. */
  body[data-city-layout="v09"] .city-anchor-nav-v09{display:none!important}

  /* Make the city image feel like a real hero on a phone, not a small card.
     Managed mobile assets are already pre-cropped by CityHeroRepository. */
  body[data-city-layout="v09"] .city-title-row-v09{gap:9px;margin-bottom:10px}
  body[data-city-layout="v09"] .city-hero-photo,
  body[data-city-layout="v09"] .city-hero-photo.is-managed,
  body[data-city-layout="v09"][data-city-slug="ceske-budejovice"] .city-hero-photo{
    width:calc(100% + 18px);
    min-height:168px;
    margin-left:-9px;
    margin-right:-9px;
    border-left:0;border-right:0;
    border-radius:0;
    background-position:center;
    box-shadow:0 12px 28px rgba(24,57,66,.075);
  }
  body[data-city-layout="v09"] .city-hero-photo.is-managed .city-hero-weather,
  body[data-city-layout="v09"] .city-hero-weather{right:10px;top:10px}
  body[data-city-layout="v09"] .city-hero-photo.is-managed .city-hero-place,
  body[data-city-layout="v09"][data-city-slug="ceske-budejovice"] .city-hero-place{left:12px;bottom:12px}

  /* Keep the preview useful, but visually promote the canonical full map. */
  body[data-city-layout="v09"] .radar-card .map-frame{height:238px}
  body[data-city-layout="v09"] .city-open-full-map{
    min-height:42px;display:flex;align-items:center;justify-content:center;
    margin:0 10px 10px;border:1px solid rgba(8,185,157,.16);
    background:linear-gradient(135deg,#edf9f6,#f7fcfa);color:#087d70;
  }

  .city-mobile-dock{
    position:fixed;z-index:120;left:0;right:0;bottom:0;
    min-height:62px;padding:5px 6px max(5px,env(safe-area-inset-bottom));
    border-top:1px solid rgba(24,62,73,.10);
    background:rgba(251,253,252,.965);
    box-shadow:0 -8px 26px rgba(24,57,66,.09);
    backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
    display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;
  }
  .city-mobile-dock a,.city-mobile-dock button{
    appearance:none;border:0;background:transparent;color:#71878e;
    min-width:0;min-height:50px;padding:4px 2px 3px;border-radius:11px;
    display:grid;place-items:center;align-content:center;gap:2px;
    font:inherit;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;
  }
  .city-mobile-dock svg{
    width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.75;
    stroke-linecap:round;stroke-linejoin:round;
  }
  .city-mobile-dock span{font-size:8.2px;line-height:1.05;font-weight:780;white-space:nowrap}
  .city-mobile-dock a.is-active,.city-mobile-dock button.is-active{color:#087d70;background:#edf8f5}
  .city-mobile-dock a:active,.city-mobile-dock button:active{background:#e8f5f1;transform:translateY(1px)}

  /* Toasts must clear the persistent dock. Weather Watch modal itself has a
     much higher z-index and intentionally covers the dock when open. */
  .weather-watch-toast{bottom:calc(70px + env(safe-area-inset-bottom))}
}
@media(max-width:370px){
  .city-mobile-dock span{font-size:7.6px}
  .city-mobile-dock svg{width:18px;height:18px}
}


/* ========================================================================
   RadarČeska City UX v2.0.1
   QA polish: taller hero, clearer full-map CTA and slightly stronger dock.
   ======================================================================== */
@media(max-width:760px){
  body[data-city-layout="v09"] .city-hero-photo,
  body[data-city-layout="v09"] .city-hero-photo.is-managed,
  body[data-city-layout="v09"][data-city-slug="ceske-budejovice"] .city-hero-photo{
    min-height:190px;
  }
  body[data-city-layout="v09"] .city-open-full-map{
    min-height:44px;
    border-color:rgba(8,160,139,.24);
    background:linear-gradient(135deg,#e8f8f4,#f5fbf9);
    box-shadow:0 6px 16px rgba(24,94,82,.055);
    font-size:9.4px;
  }
  .city-mobile-dock svg{width:20.5px;height:20.5px;stroke-width:1.85}
  .city-mobile-dock span{font-size:8.7px;font-weight:800}
  body[data-city-layout="v09"] .forecast-tabs-primary{
    background:#f8faf9;
    border-color:rgba(35,72,81,.075);
    box-shadow:none;
  }
  body[data-city-layout="v09"] .forecast-tabs-primary button:not(.active){color:#7d9095}
}
@media(max-width:370px){
  .city-mobile-dock span{font-size:8px}
  .city-mobile-dock svg{width:19px;height:19px}
}


/* ========================================================================
   RadarČeska City UX v2.0.2
   Mobile hero is intentionally large and truly viewport-wide.
   ======================================================================== */
@media(max-width:760px){
  body[data-city-layout="v09"] .city-hero-photo,
  body[data-city-layout="v09"] .city-hero-photo.is-managed,
  body[data-city-layout="v09"][data-city-slug="ceske-budejovice"] .city-hero-photo{
    width:100vw;
    max-width:100vw;
    height:clamp(230px,34vh,290px);
    min-height:230px;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    border-radius:0;
    border-left:0;
    border-right:0;
    background-position:center center;
  }
}
@media(max-width:430px){
  body[data-city-layout="v09"] .city-hero-photo,
  body[data-city-layout="v09"] .city-hero-photo.is-managed,
  body[data-city-layout="v09"][data-city-slug="ceske-budejovice"] .city-hero-photo{
    height:clamp(235px,35vh,280px);
    min-height:235px;
  }
}

/* ========================================================================
   RadarČeska City UX v2.0.3 — TRUE MOBILE FULL-BLEED CITY HERO
   The title/copy stays inside the normal mobile content gutter, while the
   city photo itself breaks out of the grid and spans the physical viewport.
   ======================================================================== */
@media(max-width:760px){
  body[data-city-layout="v09"] .city-title-row-v09{
    overflow:visible;
  }
  body[data-city-layout="v09"] .city-hero-photo,
  body[data-city-layout="v09"] .city-hero-photo.is-managed,
  body[data-city-layout="v09"][data-city-slug="ceske-budejovice"] .city-hero-photo{
    position:relative;
    left:50%;
    justify-self:start;
    width:100vw;
    min-width:100vw;
    max-width:none;
    margin-left:-50vw;
    margin-right:-50vw;
    border-left:0;
    border-right:0;
    border-radius:0;
    box-sizing:border-box;
  }
}


/* ========================================================================
   RadarČeska City UX v2.0.4 — CUMULATIVE CATCH-UP + TRUE VIEWPORT HERO
   Applied over v2.0.0. The mobile city image is centered on the viewport,
   not on the content column: its physical left/right edges match the screen.
   ======================================================================== */
@media(max-width:760px){
  html,body{overflow-x:clip}
  body[data-city-layout="v09"] .city-title-row-v09{overflow:visible}
  body[data-city-layout="v09"] .city-hero-photo,
  body[data-city-layout="v09"] .city-hero-photo.is-managed,
  body[data-city-layout="v09"][data-city-slug="ceske-budejovice"] .city-hero-photo{
    position:relative;
    left:50%;
    transform:translateX(-50%);
    width:100vw;
    min-width:100vw;
    max-width:100vw;
    height:clamp(235px,35vh,290px);
    min-height:235px;
    margin-left:0;
    margin-right:0;
    border-left:0;
    border-right:0;
    border-radius:0;
    box-sizing:border-box;
    background-position:center center;
  }
}
@media(max-width:430px){
  body[data-city-layout="v09"] .city-hero-photo,
  body[data-city-layout="v09"] .city-hero-photo.is-managed,
  body[data-city-layout="v09"][data-city-slug="ceske-budejovice"] .city-hero-photo{
    height:clamp(240px,36vh,285px);
    min-height:240px;
  }
}

/* ========================================================================
   RadarČeska City UX v2.0.5 — SLIM FULL-BLEED MOBILE HERO
   Keep the city image physically edge-to-edge on mobile, but restore the
   compact desktop-like visual rhythm so current weather stays above the fold.
   Desktop is intentionally untouched.
   ======================================================================== */
@media(max-width:760px){
  body[data-city-layout="v09"] .city-hero-photo,
  body[data-city-layout="v09"] .city-hero-photo.is-managed,
  body[data-city-layout="v09"][data-city-slug="ceske-budejovice"] .city-hero-photo{
    width:100vw;
    min-width:100vw;
    max-width:100vw;
    height:clamp(150px,40vw,165px);
    min-height:150px;
    border-left:0;
    border-right:0;
    border-radius:0;
    background-position:center center;
  }
}
@media(max-width:370px){
  body[data-city-layout="v09"] .city-hero-photo,
  body[data-city-layout="v09"] .city-hero-photo.is-managed,
  body[data-city-layout="v09"][data-city-slug="ceske-budejovice"] .city-hero-photo{
    height:150px;
    min-height:150px;
  }
}


/* ========================================================================
   RadarČeska City UX v2.0.7 — FINAL STABLE POLISH
   Hero positioning intentionally restored exactly to v2.0.5.
   Keep only the successful mobile actions-sheet fix from v2.0.6.
   ======================================================================== */
@media(max-width:760px){
  body[data-city-layout="v09"] .city-page-actions-v09.open{
    z-index:180;
  }
  body[data-city-layout="v09"] .city-actions-menu{
    z-index:181;
    left:10px;
    right:10px;
    bottom:calc(70px + env(safe-area-inset-bottom));
    max-height:calc(100dvh - 100px - env(safe-area-inset-bottom));
    overflow:auto;
    border-radius:18px;
    box-shadow:0 18px 58px rgba(15,42,50,.24);
    animation:cityActionsSheetIn .18s cubic-bezier(.2,.8,.2,1) both;
  }
}
@keyframes cityActionsSheetIn{
  from{opacity:0;transform:translateY(12px) scale(.992)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@media(prefers-reduced-motion:reduce){
  body[data-city-layout="v09"] .city-actions-menu{animation:none}
}
