/* Mpocasi.cz — veřejný web. Mobile first, světlé, modrá z loga, hodně vzduchu, velká čísla. */
:root{
  --blue:#1f63c6; --blue-dark:#173a66; --blue-light:#e8f0fb; --blue-mid:#4a90e2;
  --ink:#16294a; --ink-2:#4f6688; --ink-3:#8296b4;
  --bg:#f3f7fc; --card:#fff; --line:#dfe7f1;
  --dark:#0a1526; --warm:#f2a41f; --rain:#2f8fe6; --ok:#1f9d55; --warn:#d97706; --bad:#d63939;
  --radius:16px; --shadow:0 1px 2px rgba(23,58,102,.05), 0 8px 24px -16px rgba(23,58,102,.25);
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);background:var(--bg);color:var(--ink);line-height:1.5;font-size:16px}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1100px;margin:0 auto;padding:0 16px}

/* Hlavička – tmavá námořnická modř (ladí s logem), logo je průhledný WebP (logo-dark.webp, 746×200) */
.site-header{background:var(--dark);color:#fff;position:relative;z-index:20;box-shadow:0 2px 12px rgba(0,0,0,.25)}
.site-header .wrap{display:flex;align-items:center;gap:12px;min-height:66px}
.logo img{height:52px;width:auto;display:block;margin:2px 0}
.search{flex:1;display:flex;position:relative}
.suggest{position:absolute;top:calc(100% + 6px);left:0;right:0;max-width:calc(100vw - 32px);background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.25);overflow:hidden;z-index:30;min-width:260px}
.suggest .sg{display:block;padding:8px 14px;line-height:1.3;color:var(--ink);text-decoration:none;border-top:1px solid var(--line)}
.suggest .sg:first-child{border-top:0}
.suggest .sg:hover,.suggest .sg.active{background:var(--blue-light)}
.suggest .sg b{display:block;font-weight:600;font-size:15px}
.suggest .sg span{display:block;font-size:12px;color:var(--ink-2)}
.suggest .sg.stanice b::after{content:' · stanice';font-weight:400;color:var(--ink-3);font-size:12px}
.search input{width:100%;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:9px 14px;font:inherit;font-size:15px;background:rgba(255,255,255,.08);color:#fff}
.search input::placeholder{color:rgba(255,255,255,.55)}
.search input:focus{outline:2px solid var(--blue-mid);outline-offset:1px;background:rgba(255,255,255,.14)}
.nav-toggle{border:1px solid rgba(255,255,255,.18);background:transparent;border-radius:10px;width:42px;height:42px;font-size:22px;line-height:1;color:#fff;cursor:pointer}
.main-nav{display:none;background:var(--dark);border-top:1px solid rgba(255,255,255,.08)}
.main-nav.open{display:block}
.main-nav ul{list-style:none;margin:0;padding:6px 16px 12px;display:flex;flex-direction:column;gap:2px}
.main-nav a{display:block;padding:10px 12px;border-radius:10px;color:#fff;font-weight:600}
.main-nav a:hover{background:rgba(255,255,255,.08);text-decoration:none}
.main-nav a.active{background:var(--blue);color:#fff}
.main-nav a.soon{color:rgba(255,255,255,.5);font-weight:500}
.main-nav a.soon small{font-weight:400;margin-left:6px;font-size:11px;background:rgba(255,255,255,.1);padding:1px 6px;border-radius:999px}
@media (max-width:899px){.suggest{left:auto;right:-54px;width:calc(100vw - 32px);min-width:0}}
@media (min-width:900px){
  .suggest{left:auto;width:340px}
  .logo img{height:56px}
  .nav-toggle{display:none}
  .site-header .wrap{gap:16px;min-height:80px;flex-wrap:nowrap}
  .site-header .main-nav{position:static}
  .search{flex:0 0 150px;margin-left:auto}
  .main-nav{display:block;background:transparent;border:0;order:1;flex:1}
  .main-nav ul{flex-direction:row;padding:0;gap:2px}
  .main-nav a{padding:8px 7px;font-size:15px;white-space:nowrap}
  .main-nav a.soon small{display:none}
}
@media (min-width:1100px){
  .logo img{height:64px}
  .site-header .wrap{min-height:86px}
  .search{flex-basis:170px}
  .main-nav a{padding:8px 8px}
  .main-nav a.soon small{display:inline;font-size:10px;margin-left:4px}
}

/* Obsah */
main{padding:20px 0 40px}
.crumbs{font-size:14px;color:var(--ink-3);margin-bottom:10px}
.crumbs a{color:var(--ink-2)}
h1{font-size:30px;line-height:1.15;margin:0 0 4px;color:var(--blue-dark);letter-spacing:-.01em}
.sub{color:var(--ink-2);margin:0 0 18px;font-size:15px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}
.card + .card{margin-top:14px}
.grid > .card + .card,.grid{margin-top:0}
.grid{margin:14px 0}
.grid + .card,.grid + .grid{margin-top:14px}
.card h2{font-size:17px;margin:0 0 12px;color:var(--blue-dark)}
.grid{display:grid;gap:14px}
@media (min-width:700px){.grid-2{grid-template-columns:1fr 1fr}}

/* Lišta „Naměřeno“ – výrazný čas měření + stanice */
.measured{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;background:var(--blue-dark);color:#fff;border-radius:12px;padding:12px 16px;margin-bottom:18px}
.measured .ico{width:28px;height:28px;flex:0 0 auto;opacity:.9}
.measured .k{font-size:12px;text-transform:uppercase;letter-spacing:.06em;opacity:.7}
.measured .v{font-size:22px;font-weight:700;line-height:1.2}
.measured .v .age{font-size:14px;font-weight:500;opacity:.8}
.measured .mt,.measured .st{display:flex;gap:10px;align-items:center}
.measured .st{margin-left:auto}
.measured .st .v{font-size:16px}
.measured.stale{background:#8a5a00}
@media (max-width:699px){.measured .mt{width:100%}.measured .v{font-size:20px}.measured .st{margin-left:0;width:100%;border-top:1px solid rgba(255,255,255,.15);padding-top:10px}}

/* Hero – aktuální počasí: vlevo velká teplota + min/max, vpravo souvislý text na celou zbývající šířku */
.hero{display:flex;flex-direction:column;gap:14px}
.hero .now{flex:0 0 auto}
.hero .temp{font-size:72px;font-weight:700;line-height:1;color:var(--blue-dark);letter-spacing:-.03em}
.hero .temp small{font-size:32px;font-weight:600;color:var(--ink-2);vertical-align:top;margin-left:2px}
.minmax{display:flex;gap:18px;font-size:15px;color:var(--ink-2);margin-top:8px}
.minmax b{color:var(--ink);font-size:18px;font-weight:600;margin-left:4px}
.minmax .lo,.minmax .hi{display:flex;align-items:center;gap:4px;white-space:nowrap}
.minmax .ico{width:18px;height:18px}
.minmax .lo .ico{color:var(--rain)}.minmax .hi .ico{color:var(--warm)}
.minmax .lo b{color:var(--rain)}
.minmax .hi b{color:var(--warm)}
.story{margin:0;font-size:16px;line-height:1.55;color:var(--ink-2)}
.story strong{color:var(--ink);font-weight:600}
@media (min-width:700px){
  .hero{flex-direction:row;align-items:center;gap:32px}
  .hero .temp{font-size:92px}
  .story{flex:1;font-size:17px}
}

/* Dlaždice s hodnotami */
.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px}
@media (min-width:700px){.tiles{grid-template-columns:repeat(4,1fr)}}
.tile{background:var(--blue-light);border-radius:12px;padding:12px 14px 12px 50px;min-height:78px;position:relative}
.tile .ico{position:absolute;left:13px;top:13px;width:26px;height:26px;color:var(--blue)}
.tile.na .ico{color:var(--ink-3)}
.tile .k{font-size:13px;color:var(--ink-2);margin-bottom:4px}
.tile .v{font-size:24px;font-weight:700;color:var(--blue-dark);line-height:1.1}
.tile .v small{font-size:14px;font-weight:500;color:var(--ink-2);margin-left:3px}
.tile .d{font-size:13px;color:var(--ink-2);margin-top:3px}
.tile.na .v{color:var(--ink-3);font-weight:500;font-size:18px}

/* Záložky grafů */
.tabs-head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:12px}
.tabs-head h2{margin:0}
.tabs{display:flex;gap:4px;flex-wrap:wrap}
.tab{border:1px solid var(--line);background:#fff;color:var(--blue-dark);font:inherit;font-size:14px;font-weight:600;padding:7px 14px;border-radius:999px;cursor:pointer}
.tab:hover{background:var(--blue-light)}
.tab.active{background:var(--blue);border-color:var(--blue);color:#fff}
.tab-pane{display:none}.tab-pane.active{display:block}
.legend{display:inline-flex;gap:12px;align-items:center}
.legend i{display:inline-block;width:14px;height:3px;border-radius:2px;margin-right:5px;vertical-align:middle}
.only-desktop-inline{display:none}@media (min-width:700px){.only-desktop-inline{display:inline}}

/* Grafy */
.chart{width:100%;height:auto;display:block;overflow:visible}
.only-mobile{display:block}.only-desktop{display:none}
@media (min-width:700px){.only-mobile{display:none}.only-desktop{display:block}}
.only-desktop .chart-line{aspect-ratio:720/240}.only-desktop .chart-precip{aspect-ratio:720/160}
.only-mobile .chart-line{aspect-ratio:360/210}.only-mobile .chart-precip{aspect-ratio:360/150}
.chart .grid{stroke:#e6edf6;stroke-width:1}
.chart .ax{fill:var(--ink-3);font-size:12px;font-family:var(--font)}
.chart .line{fill:none;stroke:var(--blue);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.chart .area{fill:rgba(31,99,198,.10)}
.chart .pt{fill:transparent;cursor:crosshair}
.chart .pt.on{fill:var(--c,var(--blue));r:5}
.chart .cursor{stroke:var(--blue-mid);stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}
.chart .bar{fill:var(--rain)}
.chart-wrap{position:relative}
.tip{position:absolute;top:0;left:0;transform:translate(-50%,-110%);background:var(--blue-dark);color:#fff;font-size:13px;padding:5px 9px;border-radius:8px;white-space:nowrap;pointer-events:none;display:none}
.chart-note,.chart-empty{color:var(--ink-3);font-size:14px;padding:6px 0}
.legend-line{display:flex;gap:16px;font-size:13px;color:var(--ink-2);margin-top:6px}

/* Stanice / zdroj */
.station-box{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--ink-2)}
.station-box .ico{width:26px;height:26px;flex:0 0 auto;color:var(--blue)}
.station-box b{color:var(--ink)}
.notice{background:#fff6e0;border:1px solid #f4dc9a;color:#7a4b00;border-radius:12px;padding:10px 14px;font-size:14px;margin-bottom:14px}

/* Patička */
.site-footer{border-top:1px solid var(--line);padding:22px 0 30px;color:var(--ink-3);font-size:13px}
.site-footer .wrap{display:flex;flex-direction:column;gap:6px}
.site-footer a{color:var(--ink-2)}
.footer-projects{padding-bottom:16px;margin-bottom:10px;border-bottom:1px solid var(--line)}
.footer-projects strong{display:block;margin-bottom:8px;color:var(--ink-2);font-size:14px}
.footer-project-links{display:flex;flex-wrap:wrap;gap:4px 22px}
.footer-project-links a{display:inline-block;padding:6px 0;font-weight:600;text-decoration:underline;text-underline-offset:3px}

.ad-slot{margin-top:14px;border:1px dashed var(--line);border-radius:12px;padding:14px;color:var(--ink-3);font-size:13px;text-align:center}

/* Sekce Stanice */
.card-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:14px}
.card-head h2{margin:0;flex:0 1 auto;min-width:0}
.card-sub{font-size:13px;color:var(--ink-3)}
.note{font-size:13px;color:var(--ink-3);margin:12px 0 0}

/* Dlaždice „Teď v Česku“ / „Dnešní zajímavosti“ */
.now-tiles{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.now-tile{border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;background:var(--blue-light);min-width:0}
.now-tile.warm{background:#fdecec}.now-tile.cold{background:#e8f0fb}.now-tile.rain{background:#e6f5ee}.now-tile.hour{background:#fff6dc}.now-tile.wind{background:#efe9fb}
.nt-h{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--ink-2)}
.nt-h .ico{width:18px;height:18px;flex:0 0 auto}
.warm .nt-h .ico{color:#d63939}.cold .nt-h .ico{color:#1f63c6}.rain .nt-h .ico{color:#1f9d55}.hour .nt-h .ico{color:#b45309}.wind .nt-h .ico{color:#7c4dbd}
.nt-v{font-size:30px;font-weight:700;color:var(--blue-dark);line-height:1.1;margin-top:8px;letter-spacing:-.02em}
.nt-v small{font-size:14px;font-weight:600;color:var(--ink-2);margin-left:3px}
.nt-st{display:block;font-weight:600;color:var(--ink);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nt-when{font-size:12px;color:var(--ink-3);margin-top:2px}
.nt-more{margin:auto 0 0;padding-top:8px;padding:8px 0 0 18px;border-top:1px solid rgba(23,58,102,.1);font-size:12px;color:var(--ink-2);line-height:1.7}
.nt-more li{display:flex;justify-content:space-between;gap:6px}
.nt-more a{color:var(--ink-2);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nt-more b{color:var(--ink);white-space:nowrap}

/* Mapa */
.map-layers{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto;justify-content:flex-end}
.map-layer-sel{display:none;border:1px solid var(--line);border-radius:999px;padding:8px 12px;font:inherit;font-size:14px;background:#fff;color:var(--ink);max-width:100%}
@media (max-width:699px){.map-layers{display:none}.map-layer-sel{display:block;width:100%}}
.layer{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 11px;font:inherit;font-size:13px;color:var(--ink-2);cursor:pointer;white-space:nowrap}
.layer .ico{width:16px;height:16px}
.layer.active{background:var(--blue);border-color:var(--blue);color:#fff}
.map-wrap{position:relative;background:linear-gradient(180deg,#eef4fb,#f7faff);border:1px solid var(--line);border-radius:14px;padding:12px}
.cz-map{width:100%;height:auto;display:block;overflow:visible;touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
.cz-map.dragging{cursor:grabbing}
.map-wrap.zoomed .cz-map{touch-action:none;overflow:hidden}
.cz-border{fill:#fff;stroke:#8fa6c4;stroke-width:1.5;vector-effect:non-scaling-stroke}
/* značky se kreslí v px obrazovky (JS je škáluje 1/pxPerUnit), takže mají stejnou velikost při každém zoomu */
.cities{pointer-events:none}
.cities circle{fill:#173a66;opacity:.5}
.cities text{font-size:12px;font-weight:600;fill:#173a66;opacity:.65;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}
#map-dots circle{stroke:#fff;stroke-width:1.5;cursor:pointer}
#map-dots .arrow{fill:#fff;pointer-events:none}
#map-dots text{font-size:12px;font-weight:700;fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round;pointer-events:none}
#map-dots a:hover{text-decoration:none}
#map-dots a:hover circle{stroke:var(--blue-dark);stroke-width:2}
.map-zoom{position:absolute;right:16px;top:16px;display:flex;flex-direction:column;gap:4px;z-index:4}
.map-zoom button{width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.96);color:var(--ink);font:inherit;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.map-zoom button:hover{border-color:var(--blue);color:var(--blue)}
.map-zoom button:disabled{opacity:.4;cursor:default}
.map-zoom .ico{width:18px;height:18px}
.map-tip{position:absolute;pointer-events:none;background:var(--blue-dark);color:#fff;border-radius:8px;padding:7px 11px;font-size:13px;line-height:1.4;white-space:nowrap;box-shadow:0 4px 14px rgba(0,0,0,.2);z-index:5}
.map-tip span{opacity:.7}
.map-tip .tn{font-size:14px}
.map-tip b{font-weight:600}
.map-legend{position:absolute;left:16px;bottom:16px;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:12px;color:var(--ink-2);display:flex;flex-direction:column;gap:4px;min-width:190px}
.ml-title{font-weight:600;color:var(--ink)}
.ml-bar{display:block;height:9px;border-radius:5px}
.ml-hint{color:var(--ink-3);font-size:11px}
.map-count{position:absolute;left:16px;top:16px;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:13px;color:var(--ink-2);display:flex;align-items:center;gap:6px}
.map-count i{width:8px;height:8px;border-radius:50%;background:#1f9d55}
@media (max-width:600px){.map-wrap{padding:8px}.map-zoom{position:static;flex-direction:row;margin-top:8px}.map-legend{position:static;margin-top:8px;min-width:0}.map-count{position:static;display:inline-flex;margin-top:8px}.map-layers{margin-left:0}}

/* Seznam */
.list-tools{display:flex;gap:8px;margin-left:auto;flex:1 1 320px;max-width:520px;min-width:0}
.list-tools input[type=search]{flex:1 1 auto;min-width:0;border:1px solid var(--line);border-radius:999px;padding:8px 14px;font:inherit;font-size:15px}
.list-tools select{flex:0 1 auto;min-width:0;max-width:55%;border:1px solid var(--line);border-radius:999px;padding:8px 12px;font:inherit;font-size:14px;background:#fff;color:var(--ink)}
.list-tools input:focus,.list-tools select:focus{outline:2px solid var(--blue-mid);outline-offset:1px}
.st-table-wrap{overflow-x:auto;margin:0 -18px;padding:0 18px}
.st-table{width:100%;border-collapse:collapse;font-size:15px}
.st-table th{text-align:left;font-size:12px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;padding:8px 10px;border-bottom:1px solid var(--line);cursor:pointer;white-space:nowrap;user-select:none}
.st-table th:hover{color:var(--blue)}
.st-table th.sorted{color:var(--blue)}
.st-table th.sorted.asc::after{content:" ↑"}.st-table th.sorted.desc::after{content:" ↓"}
.st-table th.num,.st-table td.num{text-align:right}
.st-table td{padding:8px 10px;border-bottom:1px solid #eef2f7;white-space:nowrap;vertical-align:middle;line-height:1.3}
.st-table td.name{max-width:260px;overflow:hidden;text-overflow:ellipsis}
.st-table td a{color:var(--ink);font-weight:600}
.st-table .tag{display:inline-block;margin-left:8px;font-size:11px;font-weight:500;color:var(--ink-3);background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:0 7px;vertical-align:1px}
.st-table td.t b{color:var(--blue-dark);font-size:16px}
.st-table td.lo{color:var(--rain)}.st-table td.hi{color:var(--warm)}
.st-table td .zero{color:var(--ink-3)}
.st-table td.when{color:var(--ink-3);font-size:13px}
.st-table tr:hover td{background:#f7faff}
.st-table tr.stale td,.st-table tr.stale td a,.st-table tr.stale td.t b,.st-table tr.stale td.lo,.st-table tr.stale td.hi{color:var(--ink-3);font-weight:500}
.st-table .dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:9px;vertical-align:0;border:1px solid rgba(0,0,0,.08)}
.st-pager{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;font-size:13px;color:var(--ink-3)}
.st-pager .pages{display:flex;gap:4px;flex-wrap:wrap}
.st-pager button{border:1px solid var(--line);background:#fff;border-radius:6px;min-width:32px;height:32px;font:inherit;font-size:13px;color:var(--ink-2);cursor:pointer}
.st-pager button.cur{background:var(--blue);border-color:var(--blue);color:#fff}
.st-pager span span{padding:0 4px;line-height:32px}
@media (max-width:700px){.list-tools{flex-basis:100%;max-width:none}.st-table th:nth-child(2),.st-table td:nth-child(2),.st-table th:nth-child(4),.st-table td:nth-child(4),.st-table th:nth-child(5),.st-table td:nth-child(5),.st-table th:nth-child(8),.st-table td:nth-child(8){display:none}.st-table td.name{max-width:150px}}
.serves{margin:0;padding-left:20px;line-height:1.8;font-size:15px}

/* Hledání (stránka /hledat) a úvod */
.home-search{display:flex;gap:8px;margin:6px 0 4px}
.home-search input{flex:1;min-width:0;border:1px solid var(--line);border-radius:999px;padding:12px 18px;font:inherit;font-size:17px}
.home-search button{border:0;background:var(--blue);color:#fff;border-radius:999px;padding:12px 22px;font:inherit;font-size:16px;font-weight:600;cursor:pointer}
.results{list-style:none;margin:0;padding:0}
.results li{border-top:1px solid var(--line);padding:10px 0}
.results li:first-child{border-top:0}
.results a{font-weight:600;font-size:17px}
.results span{display:block;color:var(--ink-2);font-size:14px}
.city-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:4px 16px;margin:0;padding:0;list-style:none;line-height:1.9}
.nearby{list-style:none;margin:0;padding:0}
.nearby li{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px solid var(--line)}
.nearby li:first-child{border-top:0}
.nearby li span{color:var(--ink-2);white-space:nowrap}

/* Hlavička stránky s minimapou (kraj, okres, stanice, obec) */
.page-head{display:flex;gap:20px;align-items:flex-start;justify-content:space-between;margin-bottom:16px}
.page-head>div:first-child{min-width:0;flex:1}
.page-head .sub{margin-bottom:0}
.head-map{flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:8px 12px;background:#fff;border:1px solid var(--line);border-radius:12px;max-width:340px}
.head-map .mini-map{width:130px;height:auto;flex:0 0 auto}
.head-map-t{font-size:13px;color:var(--ink-2);line-height:1.35;display:flex;flex-direction:column;gap:2px}
.head-map-t b{color:var(--blue-dark);font-size:14px}
.head-map-t a{font-weight:600}
.mini-map .mm-cz{fill:#eef4fb;stroke:#8fa6c4;stroke-width:1.6;vector-effect:non-scaling-stroke}
.mini-map .mm-kraj{fill:#bcd3f5;stroke:var(--blue);stroke-width:1.6;vector-effect:non-scaling-stroke}
.mini-map .mm-okres{fill:var(--blue);stroke:var(--blue-dark);stroke-width:1.2;vector-effect:non-scaling-stroke}
.mini-map .mm-dot{fill:#d63939;stroke:#fff;stroke-width:3}
@media (max-width:699px){.page-head{flex-direction:column}.head-map{max-width:none}}

/* KPI dlaždice */
.kpis{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:14px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;box-shadow:var(--shadow);min-width:0}
.kpi.warm{background:#fdecec}.kpi.cold{background:#e8f0fb}.kpi.rain{background:#e6f5ee}.kpi.wind{background:#efe9fb}.kpi.count{background:#fff}.kpi.time{background:#fff6dc}
.kpi-h{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--ink-2)}
.kpi-h .ico{width:16px;height:16px;flex:0 0 auto}
.kpi.warm .ico{color:#d63939}.kpi.cold .ico{color:#1f63c6}.kpi.rain .ico{color:#1f9d55}.kpi.wind .ico{color:#7c4dbd}.kpi.count .ico{color:var(--blue)}.kpi.time .ico{color:#b45309}
.kpi-v{font-size:26px;font-weight:700;color:var(--blue-dark);line-height:1.1;margin-top:6px;letter-spacing:-.02em}
.kpi-v small{font-size:13px;font-weight:600;color:var(--ink-2);margin-left:3px}
.kpi-n{display:block;font-weight:600;color:var(--ink);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.kpi-s{font-size:12px;color:var(--ink-3);margin-top:1px}

/* Mapa regionu + postranní panel */
.grid-map{grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){.grid-map{grid-template-columns:minmax(0,1fr) 330px;align-items:start}}
.region-wrap{padding:8px}
.region-map{width:100%;height:auto;display:block}
.region-map .rm-cz{fill:#f3f7fc;stroke:#c9d6e8;stroke-width:1;vector-effect:non-scaling-stroke}
.region-map .rm-other{fill:#fbfcfe;stroke:#a9bbd4;stroke-width:1.2;vector-effect:non-scaling-stroke}
.region-map .rm-inner path{fill:transparent;stroke:var(--blue);stroke-opacity:.45;stroke-width:1;stroke-dasharray:4 3;vector-effect:non-scaling-stroke;transition:fill .15s}
.region-map .rm-inner:hover path{fill:rgba(37,99,235,.08);stroke-opacity:.9}
.region-map .rm-main{fill:#eef6ee;stroke:var(--blue);stroke-width:2;vector-effect:non-scaling-stroke}
.region-map .rm-name{fill:#7f95b3;font-weight:600;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round;pointer-events:none}
.region-map .rm-st circle{stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke;cursor:pointer}
.region-map .rm-st text{font-weight:700;fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round;pointer-events:none}
.region-map .rm-st:hover circle{stroke:var(--blue-dark);stroke-width:2.5}
.region-map a:hover{text-decoration:none}
.side .card-head{margin-bottom:10px}
.side h2 .ico,.card-head h2 .ico{width:20px;height:20px;vertical-align:-4px;margin-right:4px;color:var(--blue)}
.side-h{font-size:15px;margin:16px 0 8px;color:var(--blue-dark)}
.side-note{font-size:12px;color:var(--ink-2);background:var(--blue-light);border-radius:10px;padding:10px 12px;margin:14px 0 0}
.okres-list{list-style:none;margin:0;padding:0}
.okres-list li{border-top:1px solid var(--line)}
.okres-list li:first-child{border-top:0}
.okres-list a{display:grid;grid-template-columns:1fr auto auto;grid-template-areas:"n e a" "s e a";align-items:center;column-gap:10px;padding:9px 0;color:var(--ink);text-decoration:none}
.okres-list a:hover b{color:var(--blue)}
.okres-list b{grid-area:n;font-size:15px}
.okres-list span:not(.arr){grid-area:s;font-size:12px;color:var(--ink-3)}
.okres-list em{grid-area:e;font-style:normal;display:grid;grid-template-columns:auto auto;column-gap:10px;font-size:11px;color:var(--ink-3);text-align:right}
.okres-list em i{font-style:normal;font-weight:700;font-size:14px}
.okres-list em .lo{color:var(--blue)}.okres-list em .hi{color:#d63939}
.okres-list .arr{grid-area:a;color:var(--ink-3);font-size:18px}
.facts-dl{margin:0;display:flex;flex-direction:column}
.facts-dl div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line);font-size:14px}
.facts-dl div:first-child{border-top:0}
.facts-dl dt{color:var(--ink-2)}.facts-dl dd{margin:0;font-weight:700;color:var(--ink);text-align:right}
.ext-list{list-style:none;margin:0;padding:0}
.ext-list li{display:grid;grid-template-columns:22px 1fr auto;grid-template-areas:"i l v" "i a v";column-gap:8px;align-items:center;padding:8px 0;border-top:1px solid var(--line);font-size:13px}
.ext-list li:first-child{border-top:0}
.ext-list .ico{grid-area:i;width:20px;height:20px;color:var(--blue)}
.ext-list span{grid-area:l;color:var(--ink-2)}.ext-list a{grid-area:a;font-size:12px;color:var(--ink-3)}
.ext-list b{grid-area:v;font-size:16px;color:var(--blue-dark);white-space:nowrap}

/* Čipy obcí a měst */
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 12px;font-size:14px;font-weight:600;color:var(--ink);text-decoration:none;line-height:1.2}
.chip:hover{border-color:var(--blue);color:var(--blue);text-decoration:none}
.chip small{font-weight:500;color:var(--ink-3);font-size:11px}
.chip-more{cursor:pointer;font:inherit;font-size:14px;font-weight:600;background:var(--blue-light);border-color:transparent;color:var(--blue)}
.chip-filters{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.chip-filters button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;color:var(--ink-2);cursor:pointer}
.chip-filters button.active{background:var(--blue);border-color:var(--blue);color:#fff}
.obce-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.obce-grid .chip{justify-content:space-between}
.obce-grid .chip::after{content:'›';color:var(--ink-3);font-weight:400}
.rain-v{color:var(--blue)}
.st-table .zero{color:var(--ink-3)}

.st-table b.tv{display:inline-block;padding:1px 7px;border-radius:999px;background:color-mix(in srgb,var(--c) 22%,#fff);color:var(--ink);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 45%,#fff)}

/* Detail stanice / obce: hlavní sloupec + boční panely (R-018 redesign) */
.grid-st{grid-template-columns:minmax(0,1fr)}
@media (min-width:1000px){.grid-st{grid-template-columns:minmax(0,1fr) 320px;align-items:start}}

.grid-st .now-tiles.facts{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}

.facts-dl dd.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:600}
.facts-dl dd.wrap{white-space:normal;max-width:60%}
.facts-dl dd a{color:var(--blue-dark)}
.mini-tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mini-tile{display:flex;gap:8px;align-items:flex-start;border-radius:12px;padding:10px 10px;background:var(--blue-light);min-width:0}
.mini-tile.warm{background:#fdecec}.mini-tile.cold{background:#e8f0fb}.mini-tile.rain{background:#e6f5ee}.mini-tile.hour{background:#fff6dc}.mini-tile.wind{background:#efe9fb}
.mini-tile .ico{width:18px;height:18px;flex:0 0 auto;margin-top:2px;color:var(--blue-dark)}
.mini-tile.warm .ico{color:#d63939}.mini-tile.cold .ico{color:#1f63c6}.mini-tile.rain .ico{color:#1f9d55}.mini-tile.hour .ico{color:#b45309}.mini-tile.wind .ico{color:#7c4dbd}
.mini-tile div{display:flex;flex-direction:column;min-width:0}
.mini-tile span{font-size:11px;font-weight:600;color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em}
.mini-tile b{font-size:18px;color:var(--blue-dark);line-height:1.2;white-space:nowrap}
.mini-tile small{font-size:12px;color:var(--ink-3)}
@media (max-width:999px){.mini-tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}

/* /kraje: mapa ČR s kraji + karty krajů */
.cz-wrap{padding:8px}
.cz-map{width:100%;height:auto;display:block}
.cz-map .cm-cz{fill:#eef4fb;stroke:#8fa6c4;stroke-width:1;vector-effect:non-scaling-stroke}
.cz-map .cm-kraj path{stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke;fill-opacity:.55;transition:fill-opacity .15s}
.cz-map .cm-kraj:hover path{fill-opacity:.9;stroke:var(--blue-dark)}
.cz-map .cm-label text{pointer-events:none;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}
.cz-map .cm-name{font-size:15px;font-weight:600;fill:var(--ink-2)}
.cz-map .cm-temp{font-size:20px;font-weight:700;fill:var(--ink)}
.cz-map a:hover{text-decoration:none}
@media (max-width:600px){.cz-map .cm-name{font-size:22px}.cz-map .cm-temp{font-size:28px}}
.kraj-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:14px}
.kraj-card{display:block;text-decoration:none;color:var(--ink);padding:14px 16px;transition:box-shadow .15s,border-color .15s}
.kraj-card:hover{text-decoration:none;border-color:var(--blue);box-shadow:0 4px 16px rgba(31,99,198,.14)}
.kraj-card+.kraj-card{margin-top:0}
.kc-head{display:flex;align-items:center;gap:10px}
.kc-head .mini-map{width:64px;height:auto;flex:0 0 auto}
.kc-head>div{flex:1;min-width:0;display:flex;flex-direction:column}
.kc-head b{font-size:16px;color:var(--blue-dark)}
.kc-head span{font-size:12px;color:var(--ink-3)}
.kc-avg{flex:0 0 auto;font-style:normal;font-weight:700;font-size:17px;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--c) 22%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 45%,#fff);white-space:nowrap}
.kc-ext{list-style:none;margin:12px 0 0;padding:10px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.kc-ext li{display:grid;grid-template-columns:16px 1fr;grid-template-areas:"i v" "i n";column-gap:5px;align-items:center;min-width:0}
.kc-ext .ico{grid-area:i;width:16px;height:16px;color:var(--blue)}
.kc-ext li:first-child .ico{color:#d63939}.kc-ext li:nth-child(2) .ico{color:#1f63c6}.kc-ext li:nth-child(3) .ico{color:#1f9d55}
.kc-ext span{grid-area:v;font-weight:700;font-size:14px;color:var(--ink);white-space:nowrap}
.kc-ext small{grid-area:n;font-size:11px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kc-none{margin:10px 0 0;font-size:13px;color:var(--ink-3)}

/* Vyhledávání: obec je kontext, měření vždy odkazuje na skutečnou stanici. */
.search-dialog{width:min(760px,calc(100% - 28px));max-height:85dvh;margin:8vh auto;padding:0;border:1px solid #dce5ee;border-radius:20px;background:#fff;color:var(--ink);box-shadow:0 28px 90px #051b3c44}
.search-dialog::backdrop{background:#07182b99;backdrop-filter:blur(5px)}
.search-dialog-head{display:flex;align-items:center;justify-content:space-between;padding:22px 26px;border-bottom:1px solid #e7edf4;gap:16px}
.search-dialog-head h2{font-size:20px;margin:0}.search-dialog-head button{border:0;background:#edf3f9;border-radius:8px;padding:8px 12px;cursor:pointer}
.search-dialog form{display:flex;gap:10px;padding:20px 26px 0}.search-dialog input{min-width:0;flex:1;border:1px solid #b7c9de;border-radius:10px;padding:14px;font:inherit}.search-dialog form button{background:#1466df;color:white;border:0;border-radius:10px;padding:10px 16px;font:inherit;cursor:pointer}
.search-status{padding:0 26px;color:#56708d;font-size:14px}.modal-results{padding:0 26px 16px;max-height:48dvh;overflow:auto}.search-result{padding:16px 0;border-top:1px solid #e3ebf4}.search-result strong,.search-result small{display:block}.search-result small{color:#60738b;margin-top:3px}.search-result p{font-size:14px;margin:12px 0 6px;color:#526984}.search-result a,.station-result{display:block;padding:12px 16px;border-radius:10px;background:#edf5ff;color:#1254ab;font-weight:650;text-decoration:none}.search-result a:hover,.search-result a.selected{background:#d5e7ff;outline:2px solid #1466df}.search-dialog-foot{padding:16px 26px;background:#f4f7fb;font-size:12px;color:#526984}.search-dialog-foot span{display:block;margin-top:6px}.place-result{display:block!important;padding:20px 0!important}.place-result strong{font-size:20px}.place-result p{font-size:14px;color:#526984}.measurement-note{font-size:12px;color:#60738b;margin:18px 0 0;line-height:1.6}
.station-detail{align-items:start;margin-top:16px}.station-detail .main-col,.station-detail .side-col{display:flex;flex-direction:column;gap:16px;min-width:0}.station-detail .card{margin:0}.station-detail .daily-facts .mini-tiles{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.measurement-details summary{cursor:pointer;font-weight:700;display:flex;align-items:center;gap:8px;list-style:none}.measurement-details summary::after{content:"+";margin-left:auto}.measurement-details[open] summary::after{content:"−"}.measurement-details summary .ico{width:20px;height:20px}.measurement-details[open] summary{margin-bottom:16px}.measurement-tiles{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}.observation-card .hero{padding:26px 4px}.observation-card .story{max-width:560px;font-size:17px}.observation-card .measured{background:#edf5ff;color:#194474;border:1px solid #dbe9fa}.observation-card .measured .k{color:#526984}
@media(max-width:800px){.station-detail{display:flex;flex-direction:column}.station-detail .main-col,.station-detail .side-col{width:100%}.search-dialog-head,.modal-results{padding-left:16px;padding-right:16px}.search-dialog form{padding:16px 16px 0}.search-dialog-head h2{font-size:17px}.measurement-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.observation-card .story{font-size:15px}}

/* Společný vizuální jazyk map a klikací naměřené hodnoty. */
.map-wrap svg{font-family:var(--font)}
#map-dots text,.region-map .rm-st text,.cz-map .cm-label text{pointer-events:all;cursor:pointer}
.region-map .rm-st:hover text,.region-map .rm-st:focus text,#map-dots a:hover text,#map-dots a:focus text{fill:var(--blue);text-decoration:underline}
.region-map .rm-main{fill:#fff;stroke:#8fa6c4;stroke-width:1.5}
.region-map .rm-inner path{stroke:#8fa6c4;stroke-opacity:.7;stroke-dasharray:none}
.cz-map .cm-name{font-size:13px;font-weight:600}.cz-map .cm-temp{font-size:15px;font-weight:700}
.cz-wrap .cz-map{cursor:default}
.regional-layers{display:flex;justify-content:flex-start;margin:8px 0 12px}
.section-links{display:flex;flex-wrap:wrap;gap:10px 24px;margin:16px 0;font-size:14px;font-weight:600}
.region-navigation .chips{gap:8px}.region-navigation .chip{padding:8px 12px}
@media(max-width:699px){.map-layers.regional-layers{display:flex}.cz-map .cm-name{font-size:18px}.cz-map .cm-temp{font-size:20px}}

.regional-tip{white-space:normal;width:max-content;max-width:calc(100% - 16px);overflow-wrap:anywhere}
.map-card:has(.regional-layers) .card-head{flex-wrap:wrap}

.head-map-t .map-country-link{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;margin-top:6px;border-radius:8px;background:var(--blue);color:#fff;text-decoration:none;white-space:nowrap}
.head-map-t .map-country-link:hover{background:var(--blue-dark)}

/* Odkazy jsou součástí mapy, v samostatném řádku bez překrytí stanic. */
.map-area-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:10px;border-bottom:1px solid var(--line);background:#fff}
.map-area-nav a{display:inline-flex;align-items:center;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:#eff6ff;color:var(--blue-dark);font-size:13px;font-weight:600;text-decoration:none}
.map-area-nav a:hover{background:#dbeafe}
.region-wrap .map-area-nav .map-count{position:static;align-self:center;margin-right:auto}
@media(max-width:699px){.map-area-nav{justify-content:flex-start}.region-wrap .map-area-nav .map-count{width:100%}}

.station-region-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;margin:0 0 12px;font-size:13px;color:var(--ink-2)}
.station-region-controls label{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--blue-dark);cursor:pointer}
.station-map-region path{fill:transparent;stroke:#8fa6c4;stroke-width:1;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .15s}
.station-map-region:hover path,.station-map-region:focus path{fill:rgba(37,99,235,.12);stroke:#2563eb;stroke-width:2}
#cz-map .cities{pointer-events:none}
.station-place,.station-subvalue{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:3px}
.list-card .card-head{flex-wrap:wrap;gap:12px}.list-tools{flex-wrap:wrap}.station-subvalue{white-space:nowrap}
/* Úvodní stránka: hledání, aktuální měření a vstup do krajů. */
.home-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;padding:38px 0 40px}
.home-eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--blue);margin:0 0 14px}
.home-hero h1{font-size:clamp(38px,5vw,60px);line-height:1.06;letter-spacing:-.04em;margin:0 0 20px;color:var(--blue-dark)}
.home-intro{font-size:18px;line-height:1.6;color:var(--ink-2);max-width:460px;margin:0 0 24px}
.home-primary{display:inline-flex;align-items:center;gap:12px;padding:12px 18px;border-radius:10px;background:var(--blue);color:#fff;font-weight:650}
.home-primary:hover{background:var(--blue-dark);text-decoration:none}.home-primary .ico{width:20px;height:20px}
.home-source{font-size:12px;color:var(--ink-2);margin:14px 0 0}
.home-find{padding:30px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}
.home-find-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--blue-light);color:var(--blue);margin-bottom:16px}.home-find-icon .ico{width:24px;height:24px}
.home-find h2{font-size:23px;margin:0 0 8px;color:var(--blue-dark)}.home-find p{color:var(--ink-2);margin:0 0 18px}.home-find .home-search{display:flex;flex-direction:column;gap:10px}.home-find .home-search input{min-width:0;width:100%;padding:13px 14px;font:inherit;border:1px solid var(--line);border-radius:9px}.home-find .home-search button{padding:12px;font:inherit;font-weight:600;color:#fff;background:var(--blue);border:0;border-radius:9px;cursor:pointer}.home-find .home-search-note{font-size:12px;margin:12px 0 18px}.home-find>a{font-size:14px;font-weight:600}
.home-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.home-section-head h2{font-size:23px;color:var(--blue-dark);margin:0}.home-section-head p{font-size:14px;color:var(--ink-2);margin:5px 0 0}.home-section-head>a{font-size:14px;font-weight:600;flex-shrink:0}
.home-highlights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:32px}.home-highlight{border:1px solid var(--line);border-radius:14px;background:white;padding:18px;min-width:0}.home-highlight.warm{background:#fff3ef}.home-highlight.cold{background:#edf4ff}.home-highlight.rain{background:#edf9f4}.home-highlight.wind{background:#fff9e9}.home-highlight-label{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--ink-2);min-height:36px}.home-highlight-label .ico{width:21px;height:21px;flex-shrink:0}.home-highlight-value{font-size:34px;font-weight:750;letter-spacing:-.035em;color:var(--blue-dark);margin:6px 0}.home-highlight-value small{font-size:17px;margin-left:5px;font-weight:500;letter-spacing:0}.home-highlight>a{display:block;font-size:14px;font-weight:600}.home-highlight>small{display:block;font-size:11px;color:var(--ink-2);margin-top:5px}.home-highlight-empty{font-size:17px;font-weight:600;margin:12px 0}
.home-map{padding:24px;margin-bottom:32px}.home-map .cz-wrap{max-width:920px;margin:auto}.home-map .note{margin-bottom:0}.home-map-fallback{margin-bottom:32px}
.home-regions{margin:32px 0}.home-region-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.home-region{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:17px;background:#fff;border:1px solid var(--line);border-radius:12px;color:var(--blue-dark)}.home-region:hover{border-color:var(--blue);background:#f8fbff;text-decoration:none}.home-region strong{font-size:15px}.home-region small{display:block;font-size:11px;color:var(--ink-2);font-weight:400;margin-top:4px}.home-region-value{text-align:right;white-space:nowrap;font-size:19px;font-weight:700}
.home-station-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 24px;list-style:none;margin:0;padding:0;font-size:14px}.home-explainer{display:flex;gap:15px;color:var(--ink-2);font-size:13px;margin:28px 0 0}.home-explainer .ico{width:24px;height:24px}.home-explainer p{margin:0}.home-explainer strong{color:var(--blue-dark)}
@media(max-width:899px){.home-hero{gap:24px}.home-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}.home-region-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-section-head{align-items:flex-start;flex-wrap:wrap}}
@media(max-width:599px){.home-hero{grid-template-columns:1fr;padding:22px 0 30px;gap:24px}.home-hero h1{font-size:44px}.home-intro{font-size:16px}.home-find{padding:22px}.home-highlight{padding:14px}.home-highlight-value{font-size:29px}.home-map{padding:14px}.home-region-grid{grid-template-columns:1fr}.home-station-links{grid-template-columns:repeat(2,minmax(0,1fr))}.home-section-head h2{font-size:21px}}

/* Předpověď ČHMÚ: společné stránky ČR, krajů a hor. */
.forecast-areas,.forecast-period-nav{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 24px}
.forecast-areas a,.forecast-period-nav a{padding:8px 12px;border:1px solid #dce6f3;border-radius:10px;background:#fff;color:#214875;text-decoration:none;font-size:14px}
.forecast-areas a:hover,.forecast-period-nav a:hover{background:#edf5ff;border-color:#92b6e5}
.forecast-areas a[aria-current=page]{background:#2163c5;color:#fff;border-color:#2163c5}
.forecast-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.forecast-period{padding:0;overflow:hidden;scroll-margin-top:20px}
.forecast-period-head{padding:22px 24px;background:linear-gradient(120deg,#e9f3ff,#f5f9ff);border-bottom:1px solid #e1eaf6}
.forecast-period-head>span{font-size:12px;font-weight:700;color:#5b7395}
.forecast-period-head h2{margin:6px 0 10px;font-size:22px}
.forecast-period-head p,.forecast-period footer{font-size:12px;color:#657c9a;line-height:1.6;margin:0}
.forecast-blocks{padding:8px 24px 20px}.forecast-block{margin-top:16px}
.forecast-block h3{font-size:14px;margin:0 0 5px}.forecast-block p{margin:0;line-height:1.75}
.forecast-intro{font-size:19px;font-weight:700;color:#163f72}
.forecast-period footer{padding:14px 24px;border-top:1px solid #e5edf7}
.forecast-notice{margin:16px 24px 0;padding:12px;background:#fff5d9;border-radius:8px;font-size:13px}
.forecast-mountains,.forecast-preview,.forecast-empty{margin-top:24px;padding:24px}
.forecast-mountains h2,.forecast-empty h2{margin-top:0}
.forecast-mountains .forecast-areas{margin-bottom:0}
.forecast-footnote,.forecast-scope{font-size:13px;color:#607898;line-height:1.65}
.forecast-preview .card-head{padding:0;flex-wrap:wrap;gap:12px}.forecast-preview .card-head h2{margin:0}
.forecast-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.forecast-preview-grid p{line-height:1.7}.forecast-preview-grid h3{margin:10px 0}.forecast-preview small{color:#607898}
@media(max-width:700px){.forecast-grid,.forecast-preview-grid{grid-template-columns:1fr}.forecast-period-head{padding:18px}.forecast-blocks{padding:0 18px 18px}.forecast-preview,.forecast-mountains{padding:18px}.forecast-period-head h2{font-size:20px}.forecast-areas a{font-size:13px}.forecast-period-nav{gap:6px}}

.forecast-grid>.card{margin:0}.forecast-region-picker{margin:20px 0;border:1px solid #dce6f3;background:#fff;border-radius:12px;padding:14px 18px}.forecast-region-picker summary{cursor:pointer;color:#214875;font-weight:600}.forecast-region-picker .forecast-areas{margin-bottom:0}

.forecast-map-card{padding:22px;margin:22px 0}.forecast-map-card .card-head{padding:0;gap:12px;flex-wrap:wrap}.forecast-map-layout{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(240px,1fr);gap:20px;align-items:start}.forecast-cz{width:100%;background:#f0f6fc;border-radius:12px}.fm-area path{fill:#e5eaf2;stroke:white;stroke-width:2;transition:fill .15s}.fm-area.has-forecast path{fill:#b9d6f5}.fm-area:hover path,.fm-area:focus path,.fm-area.selected path{fill:#7aafea;stroke:#2163c5;stroke-width:3}.fm-label text{font:600 14px system-ui,sans-serif;fill:#173f6d;paint-order:stroke;stroke:#fff;stroke-width:3px;cursor:pointer}.fm-label .fm-summary{font-size:11px;font-weight:400}.fm-label:focus text,.fm-label.selected text{fill:#064aac}.fm-leader{fill:none;stroke:#547799;stroke-width:1;pointer-events:none}.forecast-map-panel{background:#f4f8fd;border-radius:12px;padding:16px;max-height:490px;overflow:auto}.forecast-map-panel select{width:100%;margin:8px 0}.forecast-map-panel h3{margin:12px 0}.forecast-map-panel p{font-size:14px;line-height:1.65}.forecast-map-panel small{font-size:12px;color:#607898}.forecast-map-card select{padding:8px;border:1px solid #cad9ec;border-radius:8px;background:white;color:#173f6d;max-width:100%}#forecast-map-detail{display:inline-block;margin-top:16px;font-weight:600}@media(max-width:800px){.forecast-map-layout{grid-template-columns:1fr}.forecast-map-panel{max-height:none}.forecast-map-card{padding:16px}.fm-label text{font-size:18px}.fm-label .fm-summary{display:none}}

/* Přehled stanic bez vodorovného scrollu: menší skupiny sloupců, na telefonu karty. */
.station-list{min-width:0}.station-list .st-table-wrap{overflow:visible;margin:0;padding:0;max-width:100%}.station-list .st-table{table-layout:fixed;width:100%}.station-list .st-table [data-column]{display:none;white-space:normal;overflow-wrap:anywhere;padding:10px 8px}.station-list .st-table [data-column=name],.station-list .st-table [data-column=when]{display:table-cell}.station-list .st-table [data-column=name]{width:27%;max-width:none;overflow:visible;text-overflow:clip}.station-list .st-table [data-column=when]{width:15%}.station-list[data-view=overview] [data-column=temp],.station-list[data-view=overview] [data-column=wind],.station-list[data-view=overview] [data-column=precip],.station-list[data-view=overview] [data-column=snow],.station-list[data-view=temperature] [data-column=elev],.station-list[data-view=temperature] [data-column=temp],.station-list[data-view=temperature] [data-column=hum],.station-list[data-view=wind] [data-column=elev],.station-list[data-view=wind] [data-column=wind],.station-list[data-view=wind] [data-column=gust],.station-list[data-view=rain] [data-column=precip],.station-list[data-view=rain] [data-column=p1],.station-list[data-view=rain] [data-column=p24],.station-list[data-view=snow] [data-column=elev],.station-list[data-view=snow] [data-column=snow]{display:table-cell}.station-list .station-place,.station-list .station-subvalue{display:block;font-size:12px;color:var(--ink-3);line-height:1.5;margin-top:4px}.station-list .st-table th{letter-spacing:0;text-transform:none}.station-list .list-tools{flex-wrap:wrap;max-width:none;flex-basis:100%;margin:0}.station-list .list-tools select{max-width:100%;flex:1 1 170px}.station-list .list-tools input[type=search]{flex:2 1 200px}.station-list>.card-head{flex-wrap:wrap;gap:12px}.station-table-options{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin:12px 0 18px}.station-table-views{display:flex;flex-wrap:wrap;gap:6px}.station-table-views button,.station-sort button,.station-sort select{font:inherit;font-size:13px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:white;color:var(--ink);cursor:pointer}.station-table-views button[aria-pressed=true]{background:var(--blue);color:white;border-color:var(--blue)}.station-sort{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px}.station-sort select{max-width:100%}.station-list .st-pager{flex-wrap:wrap;gap:10px}.station-list .st-pager .pages{flex-wrap:wrap}.station-list .st-table tr[hidden]{display:none!important}
@media(max-width:700px){.station-list .st-table,.station-list .st-table tbody{display:block}.station-list .st-table thead{display:none}.station-list .st-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;padding:12px;border:1px solid var(--line);border-radius:12px;margin-bottom:12px}.station-list .st-table tbody td[data-column]{width:auto;max-width:none;text-align:left;border:0;padding:8px 0}.station-list .st-table tbody td.name,.station-list .st-table tbody td.when{grid-column:1/-1}.station-list .st-table tbody td:not(.name)::before{content:attr(data-label);display:block;font-size:12px;font-weight:500;color:var(--ink-3);margin-bottom:4px}.station-list .st-table .tag{margin-left:4px}.station-table-options{align-items:stretch}.station-sort{width:100%}.station-sort select{flex:1}.station-list .st-table td.name a{font-size:16px}}

/* Předpověď (Etapa 8, vzhled podle návrhu autora): hlavička s přechodem, „teď“ + mapa s ikonami, pás dnů, detailní karty */
.forecast-hero{margin:-16px -16px 18px;padding:22px 16px 26px;background:linear-gradient(135deg,#dcecff 0%,#eef6ff 45%,#f7fbff 100%);border-bottom:1px solid #d9e6f5}
@media (min-width:900px){.forecast-hero{margin:-24px calc(50% - 50vw) 22px;padding:26px calc(50vw - 50% + 16px) 30px}}
.forecast-hero .crumbs{margin-bottom:6px}
.forecast-hero .page-head{margin-bottom:0;align-items:flex-end}
.forecast-hero h1{font-size:34px;margin:0 0 6px}
.forecast-pick{display:flex;flex-direction:column;gap:4px;flex:0 1 340px;min-width:0;max-width:100%}
.forecast-pick label{font-size:12px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}
.forecast-pick select{width:100%;max-width:100%;text-overflow:ellipsis;font:inherit;font-weight:600;padding:10px 36px 10px 12px;border:1px solid #c9d8ec;border-radius:10px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23335' stroke-width='2'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E") no-repeat right 12px center;appearance:none;color:var(--blue-dark)}
.wi{display:inline-block;vertical-align:middle;flex:0 0 auto}
.wi-xl{width:96px;height:96px}.wi-l{width:56px;height:56px}.wi-m{width:44px;height:44px}.wi-s{width:30px;height:30px}
.forecast-top{grid-template-columns:minmax(0,1fr);margin-top:0}
@media (min-width:1000px){.forecast-top{grid-template-columns:minmax(300px,2fr) minmax(0,3fr);align-items:start}}
.forecast-top > .card{margin:0}
.fc-now-main{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.fc-now-vals{flex:1 1 160px;min-width:0}
.fc-now-temp{font-size:56px;font-weight:700;line-height:1;color:var(--blue-dark);letter-spacing:-.02em}
.fc-now-temp small{font-size:22px;font-weight:600;color:var(--ink-2);vertical-align:top;margin-left:2px}
.fc-now-sub{font-size:12px;color:var(--ink-3);margin-top:4px}
.fc-now-label{font-weight:600;color:var(--ink);margin-top:8px;font-size:15px}
.fc-now-side{display:flex;flex-direction:column;gap:8px;flex:0 0 auto;min-width:120px}
.fc-mini{background:var(--blue-light);border-radius:12px;padding:8px 12px;display:flex;flex-direction:column;gap:2px}
.fc-mini span{font-size:11px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}
.fc-mini b{font-size:18px;color:var(--blue-dark)}
.fc-mini small{font-size:12px;color:var(--ink-2);display:inline-flex;align-items:center;gap:4px}
.fc-mini small .ico{width:14px;height:14px}
.fc-now-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.fc-now-facts div{display:grid;grid-template-columns:20px 1fr;grid-template-areas:"i l" "i v";column-gap:6px;align-items:center;font-size:13px}
.fc-now-facts .ico{grid-area:i;width:18px;height:18px;color:var(--blue)}
.fc-now-facts span{grid-area:l;color:var(--ink-3);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.fc-now-facts b{grid-area:v;color:var(--ink);font-size:14px}
.fc-now-facts b a{color:var(--blue-dark)}
.fc-days-card{margin-top:14px}
.fc-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px}
.fc-day{display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 8px 10px;border:1px solid var(--line);border-radius:14px;background:#fff;text-decoration:none;color:var(--ink);text-align:center;transition:border-color .15s,box-shadow .15s}
.fc-day:hover{text-decoration:none;border-color:var(--blue);box-shadow:0 4px 14px rgba(31,99,198,.12)}
.fc-day.today{background:#eef5ff;border-color:#b9d3f4}
.fc-day.night{background:#f3f4f9}
.fc-day b{font-size:14px;color:var(--blue-dark)}
.fc-day small{font-size:11px;color:var(--ink-3)}
.fc-day .wi{margin:4px 0}
.fc-day-t{font-size:17px;font-weight:700;color:var(--ink-2)}
.fc-day-t .hi{font-style:normal;color:#d63939}.fc-day-t .lo{font-style:normal;color:#1f63c6}.fc-day-t .na{font-style:normal;color:var(--ink-3)}
.fc-day-l{font-size:12px;color:var(--ink-2)}
.fc-day-f{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--ink-3)}
.fc-day-f .ico{width:13px;height:13px;color:var(--blue)}
@media (max-width:699px){.forecast-hero .page-head{align-items:stretch}.forecast-pick{flex-basis:auto}.fc-now-side{flex-direction:row;flex:1 1 100%}.fc-now-side .fc-mini{flex:1}}
@media (max-width:700px){.fc-days{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;margin:0 -16px;padding-left:16px;padding-right:16px}.fc-day{flex:0 0 118px;scroll-snap-align:start}.fc-now-temp{font-size:46px}.wi-xl{width:72px;height:72px}}
.forecast-period-head{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.forecast-period-head .fph-text{flex:1 1 200px;min-width:0}
.forecast-period-head h2{margin:2px 0 4px;font-size:20px}
.fph-digest{display:flex;flex-direction:column;align-items:flex-end;gap:3px;font-size:13px;color:var(--ink-2)}
.fph-digest b{font-size:22px;color:var(--blue-dark);white-space:nowrap}
.fph-digest span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.fph-digest .ico{width:14px;height:14px;color:var(--blue)}
@media (max-width:700px){.fph-digest{align-items:flex-start;flex-direction:row;flex-wrap:wrap;gap:6px 12px;width:100%}}
.forecast-mountains .chips .chip.active{background:var(--blue);color:#fff;border-color:var(--blue)}
.forecast-mountains{margin-top:14px}
/* mapa předpovědi s ikonami */
.forecast-map-card{margin:0;padding:18px}
.forecast-map-card .card-head{margin-bottom:10px}
.fm-periods .layer{padding:6px 10px;font-size:13px}
.forecast-map-layout{grid-template-columns:minmax(0,1fr);gap:10px}
.fm-wrap{padding:6px}
.fm-label .fm-name{font:600 17px system-ui,sans-serif;fill:#173f6d;paint-order:stroke;stroke:#fff;stroke-width:3px}
.fm-label .fm-temps{font:700 21px system-ui,sans-serif;fill:#0f2f57;paint-order:stroke;stroke:#fff;stroke-width:3px}
.fm-label:hover .fm-temps,.fm-label.selected .fm-temps{fill:#064aac}
.fm-icon{pointer-events:none}
.forecast-map-panel{max-height:none}
.forecast-map-panel{padding:12px 14px}.forecast-map-panel .fm-panel-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:4px}.forecast-map-panel .fm-panel-head select{width:auto;margin:0;flex:1 1 180px}.forecast-map-panel .fm-panel-head .fm-detail{margin:0;margin-left:auto}.forecast-map-panel .fm-head{display:flex;gap:10px;align-items:center;margin:6px 0 4px}.forecast-map-panel .fm-facts{color:var(--ink-2)}
.forecast-map-panel .fm-head h3{margin:0;font-size:15px}
.forecast-map-panel .fm-head b{font-size:20px;color:var(--blue-dark)}
.forecast-map-panel p{margin:6px 0;font-size:13px;line-height:1.55}
.forecast-map-panel .fm-intro{font-weight:600;color:var(--ink)}
.forecast-map-panel small{display:block;font-size:11px;color:var(--ink-3)}
.forecast-map-panel .fm-detail{display:inline-block;margin-top:8px;font-weight:600}
.forecast-map-panel select{width:100%;font:inherit;padding:8px 10px;border:1px solid #c9d8ec;border-radius:8px;margin-bottom:6px}
.forecast-map-panel label{font-size:11px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}
.fm-periods{margin-left:auto}
@media (max-width:699px){.fm-periods{display:none}.forecast-map-card .map-layer-sel{display:block;width:100%;margin-top:6px}}
@media (min-width:700px){.forecast-map-card .map-layer-sel{display:none}}
.forecast-preview{padding:18px;margin-top:14px}
.fc-days-preview{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:4px}
.fc-days-preview .fc-day-l{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.forecast-preview .forecast-scope{margin:10px 0 0}

/* Předpověď: rozsahy pro území, přehledné dny a výrazné jevy. */
.fc-outlook{background:linear-gradient(120deg,#eef6ff,#fff 70%);padding:24px;margin-bottom:16px}
.fc-outlook-main{display:flex;align-items:center;gap:24px}.fc-weather-art{width:130px;height:130px;filter:drop-shadow(0 8px 9px #739bd42b)}
.fc-eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.07em;font-weight:700;color:var(--blue)}
.fc-outlook-main h2{font-size:30px;margin:5px 0}.fc-outlook-main p{max-width:720px;margin:6px 0;line-height:1.6}.fc-outlook-main small{color:var(--ink-3)}
.fc-outlook-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:22px}
.fc-reading{padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff;min-width:0}.fc-reading>span{display:flex;gap:6px;align-items:center;color:var(--ink-2);font-size:12px}.fc-reading .ico{width:17px;height:17px}.fc-reading strong{display:block;font-size:20px;margin-top:8px;line-height:1.4}.fc-reading.warm{background:#fff5ef}.fc-reading.cold{background:#eef5ff}
.fc-wind-arrow{display:inline-block;font-size:22px;line-height:1;margin-right:6px;color:var(--blue)}
.fc-days-card .fc-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:12px;overflow:visible;margin:0;padding:0}
.fc-days-card .fc-day{padding:18px 12px;gap:7px;min-width:0}.fc-days-card .wi-m{width:68px;height:68px;filter:drop-shadow(0 4px 5px #638abe22)}
.fc-day-temperatures{display:grid;gap:9px;width:100%;margin:5px 0}.fc-day-temperatures>span{display:flex;justify-content:space-between;align-items:center;gap:6px}.fc-day-temperatures small{font-size:11px;text-align:left}.fc-day-temperatures strong{font-size:15px;white-space:nowrap}.fc-day-temperatures .hi{color:#b34d28}.fc-day-temperatures .lo{color:#2261a5}
.fc-days-card .fc-day-f{font-size:12px;line-height:1.5;justify-content:center;white-space:normal}.fc-day-f .fc-wind-arrow{flex-shrink:0}
.fc-highlights{border-color:#ebcf91;background:#fffbf1;margin:16px 0}.fc-highlights-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.fc-highlight{display:flex;align-items:flex-start;gap:12px;padding:14px;background:#fff;border-radius:12px;color:#68480e;border:1px solid #efdfbd}.fc-highlight>.ico{flex-shrink:0;width:23px;height:23px}.fc-highlight p{margin:6px 0 0;font-size:13px;line-height:1.6}.fc-alert-tag{font-size:11px!important;color:#775013!important;background:#fff0c9;border-radius:7px;padding:5px 8px;line-height:1.5}
.fc-full-text{margin-top:15px}.fc-full-text>summary{cursor:pointer;color:var(--blue);font-weight:600;padding:10px 0}.forecast-period:target{outline:2px solid #8eb7f0;scroll-margin-top:90px}
.forecast-map-card{margin:18px 0}.forecast-map-card .card-head{flex-wrap:wrap;gap:12px}.forecast-map-card .fm-periods{flex-wrap:wrap}
@media(min-width:1000px){.forecast-map-layout{grid-template-columns:minmax(0,2fr) minmax(240px,1fr);align-items:start}}
@media(max-width:800px){.fc-outlook-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.fc-weather-art{width:86px;height:86px}.fc-outlook-main{gap:12px}.fc-outlook-main h2{font-size:24px}.fc-reading{padding:12px}.fc-reading strong{font-size:17px}}
@media(max-width:480px){.fc-outlook{padding:16px}.fc-outlook-main{align-items:flex-start}.fc-weather-art{width:65px;height:65px}.fc-days-card .fc-days{grid-template-columns:repeat(2,minmax(0,1fr))}.fc-days-card .fc-day{padding:12px 8px}.fc-day-temperatures>span{flex-direction:column;gap:2px}.fph-digest span{white-space:normal}.fc-highlights-list{grid-template-columns:minmax(0,1fr)}}
.measurement-tiles:empty{display:none}
.fm-display{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0 14px;font-size:13px}.fm-display select{font:inherit;padding:7px 28px 7px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}.fm-display small{color:var(--ink-3)}.fm-area.fm-attention path{stroke:#c58b25;stroke-width:2}.fm-label.fm-attention .fm-temps{fill:#8c5b08}

/* Jedna mapa, záložky dnů a text přímo pod ní. Sdílená geometrie RÚIAN. */
#forecast-map{padding:0;overflow:hidden;background:#fff;border-color:#d5e3ee}
.fm-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:16px 20px;font-size:13px}
.fm-toolbar select,.fm-toolbar button{font:inherit;color:var(--ink);border:1px solid #d3e1ed;border-radius:8px;background:#fff;padding:8px 12px;max-width:100%}.fm-toolbar button{cursor:pointer;color:var(--blue)}.fm-toolbar label{font-weight:600}.fm-metric-label{margin-left:auto}
.fm-day-tabs{display:flex;gap:0;border-top:1px solid #d8e6f0;border-bottom:1px solid #d8e6f0;background:#edf5fb;overflow-x:auto;scroll-snap-type:x proximity}
.fm-day-tab{flex:1 0 125px;min-width:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;padding:14px 10px;border:0;border-right:1px solid #d8e6f0;background:transparent;color:#456783;font:inherit;cursor:pointer;scroll-snap-align:start;position:relative}
.fm-day-tab strong{font-size:14px}.fm-day-tab .wi{width:48px;height:48px}.fm-tab-value{font-size:14px;font-weight:700;min-height:21px}.fm-day-tab.active{background:#fff;color:#124d87;box-shadow:inset 0 4px #2370ba}.fm-day-tab:hover{background:#fafdff}.fm-day-tab:focus-visible{outline:3px solid #236dba;outline-offset:-4px}
#forecast-map .forecast-map-layout{display:block}#forecast-map .fm-wrap{border:0;border-radius:0;background:#e9f3f8;padding:24px 20px 12px}#forecast-map .forecast-cz{max-height:none;width:100%;display:block}
#forecast-map .fm-area path{fill:#fff;stroke:#accbdc;stroke-width:1.5;transition:fill .15s}#forecast-map .fm-area.selected path,#forecast-map .fm-area:hover path{fill:#d7ebf9;stroke:#4c8fba}#forecast-map .cm-cz{fill:#fff;stroke:#accbdc}
#forecast-map .fm-label-bg{fill:#fff;filter:drop-shadow(0 3px 3px #46749326)}#forecast-map .fm-name{font-size:14px;stroke-width:0;fill:#52758d}#forecast-map .fm-temps{font-size:20px;stroke-width:0;fill:#164f7a}#forecast-map .fm-icon{filter:drop-shadow(0 2px 2px #517ba422)}#forecast-map .fm-label.selected .fm-label-bg{stroke:#68a0c8;stroke-width:1}
#forecast-map .forecast-map-panel{border:0;border-radius:0;background:#f4f9fc;padding:24px 30px;max-height:none}#forecast-map .fm-head{margin:0 0 12px}#forecast-map .fm-head h3{font-size:20px}#forecast-map .fm-head b{display:none}#forecast-map .forecast-map-panel p{font-size:16px;line-height:1.8;max-width:960px}#forecast-map .fm-facts{font-size:14px!important}#forecast-map .fm-source{font-size:12px;display:inline-block;margin:12px 0;color:#52758d}#forecast-map .fm-detail{font-size:13px}#forecast-map>.forecast-scope{margin:0;padding:12px 24px;font-size:12px}
.fc-archive{margin:18px 0}.fc-archive>summary{padding:12px 0;color:var(--ink-2);cursor:pointer;font-weight:600}.fc-archive .forecast-grid{margin-top:12px}
@media(max-width:700px){.fm-day-tab{flex-basis:112px;padding:12px 8px}.fm-toolbar{padding:12px;gap:8px}.fm-toolbar label{font-size:12px}.fm-toolbar select{font-size:12px;padding:8px}.fm-metric-label{margin-left:0}#forecast-map .fm-wrap{padding:12px 2px}#forecast-map .forecast-map-panel{padding:18px}#forecast-map .forecast-map-panel p{font-size:14px}#forecast-map .fm-head h3{font-size:17px}.forecast-hero h1{font-size:28px}}
/* Hory: jeden den místo opakovaných přehledů a karet. */
.mountain-forecast{padding:0;overflow:hidden}.mountain-tabs[hidden],.mountain-day[hidden]{display:none}.mountain-day{padding:24px}.mountain-heading{display:flex;gap:20px;align-items:center}.mountain-heading h2{font-size:26px;margin:5px 0}.mountain-heading p{margin:5px 0}.mountain-heading small{color:var(--ink-3)}
.mountain-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0}.mountain-metrics>div{padding:14px;background:#f4f8fc;border-radius:10px}.mountain-metrics .warm{background:#fff5ef}.mountain-metrics .cold{background:#edf5ff}.mountain-metrics dt{font-size:12px;color:var(--ink-2)}.mountain-metrics dd{margin:7px 0 0;font-size:18px;font-weight:700;line-height:1.5}.mountain-metrics small{color:var(--ink-2);font-size:12px}.mountain-story{font-size:16px;line-height:1.8}.mountain-attention{padding:16px 20px;border-left:3px solid #dca33c;background:#fff9eb;border-radius:8px;margin:20px 0}.mountain-attention h3{margin:0;font-size:15px}.mountain-attention p{font-size:14px;line-height:1.6}.mountain-attention small,.mountain-day footer{color:var(--ink-3);font-size:12px}.mountain-day footer{margin-top:16px}
@media(max-width:800px){.mountain-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.mountain-day{padding:18px}.mountain-heading{gap:12px}.mountain-heading .wi{width:64px;height:64px}.mountain-heading h2{font-size:23px}.mountain-metrics dd{font-size:16px}}
.fm-country-link{display:inline-flex;align-items:center;gap:6px;border:1px solid #bfd4e7;border-radius:8px;padding:8px 12px;font-weight:600;background:#f6faff}.fm-country-link[hidden]{display:none}
.fm-weather-alert{margin:18px 20px;padding:18px 22px;border:1px solid #ebc078;border-left:5px solid #d08a21;border-radius:10px;background:#fff6df;color:#6b4917}.fm-weather-alert[hidden]{display:none}.fm-weather-alert>strong{font-size:18px}.fm-weather-alert p{line-height:1.6;font-size:14px;margin:10px 0}.fm-weather-alert small{font-size:12px}
.forecast-mountains .chip .ico{width:18px;height:18px;vertical-align:middle}
#forecast-map .fm-area path{vector-effect:non-scaling-stroke}
/* Jediné úplné znění vybraného dne pod mapou. */
#forecast-map .forecast-map-panel{background:#fff;padding:26px 30px;border-top:1px solid #dfebf2}
#forecast-map .fm-reading-title{margin:0;font-size:21px;line-height:1.3}
#forecast-map .fm-reading-period{margin:5px 0 20px;font-size:12px;color:var(--ink-3)}
.fm-reading-body{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:30px;align-items:start}
#forecast-map .fm-reading-story p{margin:0 0 12px;font-size:15px;line-height:1.75;white-space:pre-line}
#forecast-map .fm-reading-story .fm-reading-lead{font-size:17px;font-weight:650;line-height:1.5;color:var(--ink)}
.fm-reading-facts{margin:0;padding:0 0 0 22px;border-left:1px solid #e0e9f2}.fm-reading-facts>div+div{margin-top:13px}.fm-reading-facts dt{font-size:11px;font-weight:700;color:#52718e;margin-bottom:4px}.fm-reading-facts dd{font-size:14px;line-height:1.6;margin:0;color:var(--ink);white-space:pre-line}
.fm-reading-story:only-child,.fm-reading-facts:only-child{grid-column:1/-1}.fm-reading-facts:only-child{padding:0;border:0}
.fm-reading-meta{display:flex;gap:8px 24px;flex-wrap:wrap;border-top:1px solid #e5edf4;margin-top:20px;padding-top:12px;font-size:11px;color:var(--ink-3)}.fm-reading-meta a{color:#52718e}
@media(max-width:700px){#forecast-map .forecast-map-panel{padding:20px 16px}.fm-reading-body{grid-template-columns:minmax(0,1fr);gap:8px}.fm-reading-facts{border-left:0;border-top:1px solid #e5edf4;padding:15px 0 0}.fm-reading-meta{gap:6px;flex-direction:column}}
.fm-reading-body{grid-template-columns:minmax(0,1fr);gap:6px}.fm-reading-story{max-width:900px}.fm-reading-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 30px;padding:18px 0 0;border-left:0;border-top:1px solid #e5edf4}.fm-reading-facts>div+div{margin-top:0}
@media(max-width:700px){.fm-reading-facts{grid-template-columns:minmax(0,1fr);gap:14px}}
/* Kraj má jeden popisek; nepotřebuje plochu velké mapy celé ČR. */
#forecast-map.fm-regional .fm-wrap{padding:12px 16px}
#forecast-map.fm-regional .forecast-cz{width:100%;max-width:580px;height:280px;margin:0 auto}
@media(max-width:700px){#forecast-map.fm-regional .fm-wrap{padding:10px 8px}#forecast-map.fm-regional .forecast-cz{height:220px}}

/* Jedna záložka dne, oba zdrojové texty pod společnou mapou. */
.fm-reading-part + .fm-reading-part { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--border, #dce7f3); }
.fm-reading-part h3, .fm-part-title { margin: 1rem 0 .65rem; font-size: 1rem; color: #245887; }

/* Úvod: jedna předpověď, kompaktní doplňky a skutečná měření dole. */
.dashboard-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:26px 0 18px}.dashboard-head h1{font-size:30px;margin:0 0 5px}.dashboard-head p{margin:0;color:var(--ink-2)}.dashboard-head>a{font-weight:650;white-space:nowrap}
.weather-dashboard{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:20px;align-items:start}.dashboard-main{min-width:0}.dashboard-main #forecast-map{margin:0}.dashboard-side{display:grid;gap:16px}.dashboard-side .card{padding:20px;margin:0}.dashboard-side h2{font-size:18px;margin:0 0 10px}.dashboard-side p{font-size:14px;line-height:1.6}.dashboard-side a{font-size:14px;font-weight:650}.dashboard-search{display:flex;gap:8px;margin:14px 0;flex-wrap:wrap}.dashboard-search input{flex:1 1 130px;width:100%;min-width:0;border:1px solid #cad9ec;border-radius:8px;padding:11px;font:inherit}.dashboard-search button{border:0;border-radius:8px;background:#2163c5;color:white;padding:10px 14px;font:inherit;cursor:pointer}
#forecast-map .fm-wrap{padding:12px 8px 6px}#forecast-map .fm-day-tab{flex-basis:0;min-width:0;padding:10px 5px;gap:4px}#forecast-map .fm-day-tab .wi{width:38px;height:38px}#forecast-map .fm-tab-value{font-size:12px}#forecast-map .forecast-map-panel{padding:18px 22px}#forecast-map .fm-reading-period{margin:3px 0 12px}#forecast-map .fm-reading-title{font-size:19px}#forecast-map .fm-brief{font-size:14px;line-height:1.65;margin:6px 0}.fm-full-text{margin:8px 0 0}.fm-full-text summary{cursor:pointer;color:#245887;font-size:13px;font-weight:600}.fm-full-text[open] summary{margin-bottom:12px}.fm-reading-part+.fm-reading-part{margin-top:14px;padding-top:10px}.fm-part-title{margin-top:14px}.fm-weather-alert{font-size:13px}
.forecast-directory-search{padding:24px;margin:20px 0}.forecast-directory-search h2,.forecast-directory h2{font-size:21px;margin-top:0}.forecast-directory-search .dashboard-search{max-width:640px}.forecast-region-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.forecast-region-links .card{padding:18px;margin:0;display:flex;flex-direction:column;gap:8px}.forecast-region-links span{font-size:12px;color:var(--ink-2)}.forecast-region-links b{float:right}.forecast-place-results{display:grid;gap:10px}.forecast-place-results a{display:flex;flex-direction:column;gap:4px;padding:10px;background:#f2f7fc;border-radius:8px}.forecast-place-results span{font-size:13px}
@media(max-width:960px){.weather-dashboard{grid-template-columns:minmax(0,1fr)}.dashboard-side{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-head{align-items:flex-start}.dashboard-head>a{white-space:normal}}
@media(max-width:620px){.dashboard-head{flex-direction:column;gap:8px;margin-top:20px}.dashboard-head h1{font-size:26px}.dashboard-side,.forecast-region-links{grid-template-columns:1fr}#forecast-map .fm-tab-value{font-size:10px}#forecast-map .fm-day-tab strong{font-size:12px}#forecast-map .forecast-map-panel{padding:16px}.forecast-directory-search{padding:18px}.dashboard-side .card{padding:16px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#forecast-map .fm-weather-alert{padding:12px 16px;margin:12px 14px}#forecast-map .fm-weather-alert>strong{font-size:15px}#forecast-map .fm-weather-alert p{font-size:13px;margin:6px 0}
.dashboard-side .dashboard-search input{flex-basis:100%}.dashboard-side .dashboard-search button{width:100%}
@media(max-width:620px){.fm-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr)}.fm-toolbar select{width:100%}.fm-country-link{grid-column:1/-1}.fm-toolbar .fm-metric-label{margin-left:0}}
#forecast-map .forecast-map-panel .fm-weather-alert{margin:16px 0 0}
/* Společné extrémy homepage / stanic. */
.station-highlights-more{margin-top:20px;text-align:right}
#forecast-map .fm-day-tab .wi{width:62px;height:62px}
.fm-tab-alert{position:absolute;right:12px;top:8px;font-size:24px;font-weight:900;line-height:1;color:#c81d25}
.fm-tab-alert[hidden]{display:none}
@media(max-width:620px){.dashboard-side{grid-template-columns:1fr}#forecast-map .fm-day-tab .wi{width:48px;height:48px}.fm-tab-alert{right:4px;top:5px;font-size:20px}.station-highlights-more{text-align:left}}

/* Záložky tvoří samostatný tmavý pruh nad světlou mapou. */
#forecast-map .fm-day-tabs{background:#173f6d;border-color:#173f6d}
#forecast-map .fm-day-tab{color:#fff;border-right-color:#ffffff24;background:transparent}
#forecast-map .fm-day-tab:hover{background:#245582}
#forecast-map .fm-day-tab.active{color:#173f6d;background:#fff;box-shadow:inset 0 4px #2370ba}
#forecast-map .fm-day-tab:focus-visible{outline-color:#f6bf49}
.fm-tab-alert{background:#fff;border-radius:50%;width:22px;height:26px;text-align:center}
.weather-dashboard + .card{margin-top:20px}
/* Jednotná dvojice teplot: den výrazně, noc lehčím řezem. */
#forecast-map .fm-temp-day{font-weight:800}
#forecast-map .fm-temp-night{font-weight:400}
#forecast-map .fm-tab-value{white-space:nowrap;font-size:15px}
@media(max-width:620px){#forecast-map .fm-tab-value{font-size:12px}}

/* Kraj: kompaktní mapa vedle kompletní předpovědi. */
#forecast-map.fm-regional .forecast-map-layout{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.4fr);gap:0;align-items:start}
#forecast-map.fm-regional .fm-wrap{margin:0;padding:24px 16px;border-radius:0 0 16px 0}
#forecast-map.fm-regional .forecast-cz{height:300px}
#forecast-map.fm-regional .forecast-map-panel{min-width:0;border-top:0;padding:24px}
#forecast-map.fm-regional .fm-reading-title{margin-bottom:16px}
#forecast-map.fm-regional .fm-expanded-text{margin-top:16px}
#forecast-map.fm-regional .fm-reading-facts{gap:14px 20px}
#forecast-map.fm-regional .fm-reading-meta{margin-top:16px}
@media(max-width:800px){
  #forecast-map.fm-regional .forecast-map-layout{grid-template-columns:minmax(0,1fr)}
  #forecast-map.fm-regional .fm-wrap{padding:12px;border-radius:0}
  #forecast-map.fm-regional .forecast-cz{height:220px}
  #forecast-map.fm-regional .forecast-map-panel{padding:20px 16px}
}

.forecast-region-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}
.forecast-region-card{display:block;margin:0;padding:20px;color:var(--ink);text-decoration:none;transition:border-color .15s,box-shadow .15s}
.forecast-region-card:hover,.forecast-region-card:focus-visible{border-color:#2163c5;box-shadow:0 4px 16px #173f6d18}
.forecast-region-card h2{display:flex;justify-content:space-between;gap:10px;margin:0 0 16px;font-size:18px}
.forecast-region-card h2>span{color:#2163c5}
.forecast-region-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.forecast-region-day{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;padding:10px 5px;background:#f3f7fc;border-radius:10px;min-width:0}
.fr-day-label{font-size:13px;font-weight:650;color:#52718e}
.forecast-region-day .wi{width:50px;height:50px;margin:3px 0}
.fr-temperatures{font-size:18px;white-space:nowrap;font-weight:400}
.fr-temperatures strong{font-weight:800}
.fr-condition{font-size:12px;line-height:1.4;color:#52718e}
.fr-warning{font-size:11px;font-weight:750;color:#b42318}
@media(max-width:700px){.forecast-region-overview{grid-template-columns:minmax(0,1fr)}.forecast-region-card{padding:16px}.forecast-region-card h2{font-size:17px}}
.forecast-region-overview>.forecast-region-card{margin:0}

/* Radar: správně georeferencovaný MAX_Z, přehrávání minulých měření. */
.radar-card{padding:0;overflow:hidden}.radar-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px}.radar-eyebrow{display:block;font-size:12px;color:var(--ink-3);margin-bottom:3px}.radar-top strong{font-size:22px}.radar-card button{font:inherit;border:1px solid #cad9ec;border-radius:8px;padding:9px 14px;background:white;color:#173f6d;cursor:pointer}.radar-card button.home-primary{background:#2163c5;color:white;border-color:#2163c5}.radar-card button:disabled{opacity:.45;cursor:default}.radar-card button:focus-visible{outline:3px solid #ffbb38;outline-offset:2px}.radar-status{margin:0;padding:10px 24px;background:#eef7f4;font-size:13px}.radar-status.is-warning{background:#fff3d6;color:#78510f}.radar-map{position:relative;background:#eaf2f8}.radar-map>svg{display:block;width:100%;max-height:520px}.radar-land{fill:#fff}.radar-boundaries path{fill:none;stroke:#6d8eab;stroke-width:.55}.radar-boundaries .radar-border{stroke:#436884;stroke-width:.9}.radar-cities circle{fill:#173f6d;stroke:white;stroke-width:.5}.radar-cities text{font:600 7px system-ui,sans-serif;fill:#173f6d;stroke:white;stroke-width:2.2;paint-order:stroke;stroke-linejoin:round}.radar-frame-label{position:absolute;right:14px;bottom:12px;background:#fff;border:1px solid #d4e1ed;border-radius:8px;padding:7px 12px;font-weight:700;font-size:14px}.radar-empty{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:20px;background:#fffffff0;text-align:center;border-radius:12px;font-weight:700;width:max-content;max-width:90%}.radar-empty small{font-weight:400}.radar-controls{padding:20px 24px}.radar-buttons{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.radar-buttons span{font-size:12px;color:var(--ink-3)}.radar-controls>label{display:flex;justify-content:space-between;gap:8px;font-size:14px;font-weight:600}.radar-controls input[type=range]{display:block;width:100%;margin:12px 0;accent-color:#2163c5;cursor:pointer;min-height:28px}.radar-range{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-3)}.radar-legend{border-top:1px solid #dfebf2;padding:18px 24px}.radar-legend>strong{font-size:14px}.radar-scale{display:flex;align-items:start;gap:3px;max-width:500px;margin-top:12px}.radar-scale span{flex:1;text-align:center;font-size:11px}.radar-scale i{display:block;height:12px;border:1px solid #66809c33;border-radius:2px;margin-bottom:3px}.radar-scale .radar-unit{flex:0;padding:10px 0 0 5px}.radar-legend>.radar-range{max-width:465px}.radar-card [hidden]{display:none!important}
@media(max-width:620px){.radar-top,.radar-controls,.radar-legend{padding:16px}.radar-top strong{font-size:18px}.radar-status{padding:10px 16px}.radar-city-minor{display:none}.radar-cities text{font-size:14px}.radar-frame-label{font-size:11px;padding:4px 6px;right:6px;bottom:6px}.radar-card button{padding:9px 11px;font-size:13px}}

.radar-preview-map{display:block;background:#eaf2f8;border-radius:10px;overflow:hidden;margin:12px 0}.radar-preview-map svg{display:block;width:100%;max-height:240px}.dashboard-side .radar-preview-map svg{max-height:150px}.radar-preview .home-primary{display:inline-block}
/* Meteoradar: obecní podklad a přehledné ovládání. */
#radar-leaflet{height:540px;width:100%;z-index:0;background:#eaf2f8}.radar-options{display:flex;gap:12px;align-items:end;flex-wrap:wrap;padding:16px 24px}.radar-options label{display:grid;gap:5px;font-size:12px;color:var(--ink-2)}.radar-options select{font:inherit;font-size:14px;padding:9px;border:1px solid #cad9ec;border-radius:8px;background:white;max-width:100%}.radar-options input{width:130px;min-height:32px;accent-color:#2163c5}.radar-product-note{margin:0;padding:5px 24px 12px}.radar-frame-label{z-index:450;bottom:28px;pointer-events:none}.radar-empty{z-index:450;pointer-events:none}.radar-card .leaflet-control-zoom a{color:#173f6d}.radar-card .leaflet-control-attribution{font-size:11px}.radar-map .leaflet-container img{max-width:none!important}.radar-frame-label.is-forecast{background:#fff2cd;border-color:#dfa83a}.radar-options button{white-space:nowrap}
@media(max-width:620px){#radar-leaflet{height:420px}.radar-options{padding:12px;gap:10px}.radar-options label:first-child{width:100%}.radar-product-note{padding:5px 16px 10px}}
/* Pravý sloupec úvodu: radar a aktuální teplotní žebříčky. */
.sidebar-more,.station-ranking .station-ranking-more{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;box-sizing:border-box;border:1px solid #ccdaeb;background:#f1f6fc;border-radius:9px;padding:11px 12px;margin-top:17px;color:var(--blue);font-size:14px;font-weight:650;line-height:1.4;text-decoration:none}.sidebar-more:hover,.station-ranking .station-ranking-more:hover{background:#e5effb;border-color:#9dbbdf;color:#164e98}.sidebar-more:focus-visible,.station-ranking a:focus-visible{outline:3px solid #f4b335;outline-offset:3px}

.station-ranking-group h2{display:flex;align-items:center;gap:7px}.station-ranking-group h2 .ico{width:18px;height:18px;flex:none}.station-ranking-group.warm h2 .ico{color:#d44740}.station-ranking-group.cold h2 .ico{color:#2873cd}.station-ranking-group+.station-ranking-group{border-top:1px solid #dce6f0;margin-top:18px;padding-top:18px}.station-ranking ol{list-style:none;padding:0;margin:0}.station-ranking li+li{margin-top:4px}.station-ranking li a{display:flex;align-items:start;justify-content:space-between;gap:8px;padding:7px 0;color:var(--ink);font-size:13px;font-weight:500;line-height:1.35}.station-ranking .ranking-name{min-width:0;overflow-wrap:anywhere}.station-ranking small{display:block;color:var(--ink-3);font-size:11px;font-weight:400;margin-top:3px}.station-ranking strong{white-space:nowrap;font-size:14px;font-weight:750}.station-ranking .warm strong{color:#bd4439}.station-ranking .cold strong{color:#226ac0}.station-ranking .station-ranking-more{display:flex;justify-content:space-between;gap:10px;border:1px solid #ccdaeb;background:#f1f6fc;border-radius:9px;padding:11px 12px;margin-top:17px;color:var(--blue)}
@media(min-width:621px) and (max-width:960px){.dashboard-side{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}

/* Veškeré nastavení meteoradaru společně pod mapou. */
.radar-controls .radar-options{padding:18px 0 0;margin-top:16px;border-top:1px solid #dce6f0}.radar-controls .radar-product-note{padding:12px 0 0}.radar-controls #radar-location-status:empty{display:none}



/* Kompaktní konzole meteoradaru: časová osa a nástroje v jednom panelu. */
.radar-console{padding:18px 22px;background:#f7faff;border-top:1px solid #dce6f0}
.radar-console .radar-top{padding:0;gap:10px}.radar-console .radar-top>div{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}.radar-console .radar-eyebrow{margin:0;font-size:12px}.radar-console .radar-top strong{font-size:15px;font-variant-numeric:tabular-nums}
.radar-console button{min-height:36px;padding:7px 11px;font-size:13px;border-radius:9px}.radar-console #radar-refresh{font-size:12px;background:transparent;border-color:transparent;padding:4px 0;min-height:30px;color:#2163c5}.radar-console #radar-refresh:hover{text-decoration:underline}
.radar-console .radar-status{padding:3px 0 12px;background:none;color:#607d99;font-size:12px;line-height:1.5}.radar-console .radar-status.is-warning{margin:8px 0;padding:8px 10px;border-radius:8px;background:#fff3d6;color:#78510f}
.radar-console .radar-controls{padding:0}.radar-playback{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:22px;background:white;border:1px solid #dce6f0;border-radius:12px;padding:14px 16px}.radar-console .radar-buttons{display:grid;grid-template-columns:38px 38px minmax(104px,auto);gap:6px;margin:0}.radar-console #radar-play{grid-column:1 / -1;min-height:40px;font-weight:700}.radar-console #radar-loading{grid-column:1 / -1;max-width:205px}.radar-console #radar-loading:empty{display:none}
.radar-timeline-block{min-width:0}.radar-timeline-block>label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:#607d99}.radar-timeline-block output{font-size:16px;font-weight:750;color:#173f6d;font-variant-numeric:tabular-nums}.radar-console #radar-timeline{margin:3px 0;min-height:26px}.radar-console #radar-gaps{font-size:11px;line-height:1.4;margin:4px 0 0}.radar-console .radar-range{font-size:11px}
.radar-console .radar-options{display:grid;grid-template-columns:minmax(150px,1.4fr) minmax(95px,.8fr) minmax(115px,1fr) auto;align-items:end;gap:14px;border:0;padding:14px 0 0;margin:0}.radar-console .radar-options label{width:auto;min-width:0;font-size:11px;font-weight:600;gap:4px}.radar-console .radar-options select{width:100%;height:36px;padding:6px 9px;font-size:13px}.radar-console .radar-options input{height:36px;min-height:0;margin:0;width:100%}.radar-map-actions{display:flex;gap:6px}.radar-console .radar-product-note{font-size:11px;padding:8px 0 0;line-height:1.5}
.radar-console .radar-legend{display:grid;grid-template-columns:auto minmax(180px,360px) auto;align-items:center;gap:16px;padding:12px 0 0;margin-top:12px;border-top:1px solid #dce6f0}.radar-legend-heading strong{display:block;font-size:12px}.radar-legend-heading>span{display:block;font-size:10px;color:#607d99;margin-top:2px}.radar-console .radar-scale{margin:0;max-width:none;gap:2px}.radar-console .radar-scale i{height:7px;margin-bottom:2px}.radar-console .radar-scale span{font-size:9px}.radar-console .radar-scale .radar-unit{display:none}.radar-explanation{font-size:12px;justify-self:end;max-width:360px}.radar-explanation summary{cursor:pointer;color:#2163c5}.radar-explanation[open]{grid-column:1 / -1;justify-self:stretch;max-width:none}.radar-explanation .note{font-size:12px;margin:8px 0 0}
@media(max-width:760px){.radar-console{padding:14px}.radar-playback{gap:12px;padding:12px}.radar-console .radar-options{grid-template-columns:1fr 1fr;gap:10px 14px}.radar-map-actions{justify-content:end}.radar-console .radar-legend{grid-template-columns:1fr 1.5fr;gap:10px}.radar-explanation{grid-column:1 / -1;justify-self:start}}
@media(max-width:480px){.radar-playback{grid-template-columns:minmax(0,1fr);gap:12px}.radar-console .radar-buttons{grid-template-columns:minmax(100px,1fr) 36px 36px auto}.radar-console #radar-play{grid-column:auto;min-height:36px}.radar-console .radar-buttons button{padding:6px;font-size:12px}.radar-console #radar-loading{max-width:none}.radar-console .radar-top strong{font-size:13px}.radar-map-actions button{padding:7px;font-size:12px}.radar-console .radar-legend{grid-template-columns:1fr}.radar-explanation{grid-column:auto}}

.radar-speed{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:#607d99}.radar-speed select{font:inherit;font-size:12px;color:#173f6d;background:white;border:1px solid #cad9ec;border-radius:7px;min-height:32px;padding:4px 7px;max-width:100%}.radar-speed select:focus-visible{outline:3px solid #ffbb38;outline-offset:2px}

/* Nastavení uvnitř mapy, přehrávání bez mezilehlé hlavičky. */
.radar-map-settings{position:absolute;top:12px;right:12px;z-index:700;max-width:calc(100% - 72px);background:#fffffff5;border:1px solid #cad9ec;border-radius:10px;box-shadow:0 3px 14px #173f6d20;color:#173f6d;font-size:13px}.radar-map-settings>summary{padding:10px 13px;cursor:pointer;font-weight:700}.radar-settings-body{width:280px;max-width:100%;padding:0 12px 12px;box-sizing:border-box;max-height:330px;overflow-y:auto}.radar-map-settings .radar-options{display:grid;grid-template-columns:1fr 1fr;padding:4px 0 0;gap:10px}.radar-map-settings .radar-options label{min-width:0;width:auto;font-size:11px}.radar-map-settings .radar-options label:first-child,.radar-map-settings .radar-options label:has(#radar-opacity),.radar-map-settings .radar-map-actions{grid-column:1 / -1}.radar-map-settings select{width:100%;font-size:12px;padding:7px}.radar-map-settings #radar-opacity{width:100%;margin:0}.radar-map-settings button{font-size:12px;padding:8px 10px}.radar-map-settings .radar-product-note{font-size:11px;padding:8px 0 0;line-height:1.4}.radar-map-settings #radar-location-status:empty{display:none}.radar-console{padding-top:12px}.radar-console>.radar-status{margin-top:10px}

/* Přehrávač je součástí mapy: vše dostupné bez odscrollování od srážek. */
#radar-leaflet{height:clamp(400px,72dvh,720px)}
.radar-map-player{position:absolute;z-index:650;bottom:26px;left:12px;right:12px;padding:0;border-radius:12px;background:#fffffff5;box-shadow:0 3px 18px #173f6d26;backdrop-filter:blur(8px)}
.radar-map-player .radar-playback{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid #cad9ec;border-radius:12px;background:transparent}
.radar-map-player .radar-buttons{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0;width:100%}.radar-map-player button{min-height:36px;padding:6px 12px;font-size:13px}.radar-map-player #radar-play{min-width:120px;font-weight:700}.radar-map-player .radar-speed{margin-left:auto;display:flex;gap:8px;align-items:center}.radar-map-player #radar-loading:empty{display:none}.radar-map-player #radar-loading{font-size:inherit}.radar-map-player #radar-gaps:not(:empty)+#radar-loading:not(:empty)::before{content:" – ";white-space:pre}
.radar-map-player .radar-timeline-block{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:14px;align-items:center}.radar-map-player .radar-timeline-block>label{font-size:0}.radar-map-player output{font-size:15px;white-space:nowrap}.radar-map-player #radar-timeline{margin:0;min-height:28px}.radar-map-player .radar-range{grid-column:2;font-size:10px}.radar-map-player .radar-history-status{grid-column:1 / -1;margin:2px 0 0;font-size:10px;line-height:1.3}.radar-map:has(.radar-map-player:not([hidden]))>.radar-frame-label{top:12px;bottom:auto;left:54px;right:auto;font-size:12px;padding:7px 9px}
.radar-map-settings .radar-settings-body{max-height:min(330px,38dvh)}.radar-console .radar-legend{margin-top:0;padding-top:0;border-top:0}
@media(max-width:620px){.radar-map-player{left:8px;right:8px}.radar-map-player .radar-playback{padding:9px;gap:6px}.radar-map-player button{padding:6px 8px;font-size:12px}.radar-map-player #radar-play{min-width:100px}.radar-map-player .radar-speed{font-size:0;gap:0}.radar-map-player .radar-speed select{width:58px;font-size:12px}.radar-map-player .radar-timeline-block{column-gap:8px}.radar-map-player output{font-size:12px}.radar-map-settings{right:8px;top:8px}.radar-map-settings>summary{font-size:12px;padding:9px}.radar-map:has(.radar-map-player:not([hidden]))>.radar-frame-label{top:52px;left:10px;font-size:11px}.radar-map-player #radar-now{font-size:11px}}

/* Oficiální výstrahy ČHMÚ – společné barvy mapy, přehledu i upozornění. */
.level-0{--alert-color:#8192a6;--alert-bg:#f0f3f7;--alert-ink:#40546c}
.level-1{--alert-color:#2fba82;--alert-bg:#eef9f3;--alert-ink:#236448}
.level-2{--alert-color:#f2c230;--alert-bg:#fff9e8;--alert-ink:#775509}
.level-3{--alert-color:#f28b32;--alert-bg:#fff2e5;--alert-ink:#984509}
.level-4{--alert-color:#df424f;--alert-bg:#fff0f0;--alert-ink:#a6222d}
.official-alert{display:flex;gap:16px;align-items:center;margin:0 0 20px;padding:18px 20px;border:1px solid var(--alert-color);border-left:4px solid var(--alert-color);border-radius:14px;background:var(--alert-bg);color:var(--alert-ink)}
.official-alert-icon{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:50%;background:var(--alert-color);color:#172b43;font-size:25px;font-weight:900}
.official-alert-copy{flex:1;min-width:0}.official-alert-kicker{font-size:12px;font-weight:700;margin-bottom:4px}.official-alert-copy>strong{font-size:18px}.official-alert-copy p{margin:4px 0 0;font-size:13px;line-height:1.5}.official-alert-areas{opacity:.85}
.official-alert>a{flex:none;color:var(--alert-ink);font-size:13px;font-weight:700;padding:10px 12px;border:1px solid var(--alert-color);border-radius:9px;background:#ffffff90}
.official-alert-unavailable{padding:16px 20px;background:#f1f4f8;border:1px solid #c8d4e1;border-radius:12px;margin-bottom:20px;font-size:14px}.official-alert-unavailable p{margin:6px 0 0}
.alerts-overview{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(230px,1fr);gap:24px;padding:22px;align-items:center}.alerts-map{width:100%;height:auto;background:#f5f9fd;border-radius:12px}.alert-map-region path{fill:var(--alert-color);stroke:#f6faf8;stroke-width:.8;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:filter .15s}.alert-map-region:hover path,.alert-map-region:focus path{filter:brightness(1.08);stroke:#2d675d;stroke-width:1.2}.alert-map-region.selected path{stroke:#234e46;stroke-width:1.5}
.alerts-map-key{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:16px;font-size:12px}.alerts-map-key span:before,.alerts-region-list i{content:"";display:inline-block;background:var(--alert-color);width:10px;height:10px;border-radius:3px;margin-right:7px}.alerts-map-wrap .note{margin-bottom:0}
.alerts-region-list{display:grid;gap:2px}.alerts-region-list>a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;font-size:13px;border-radius:7px}.alerts-region-list>a:hover,.alerts-region-list>a.selected{background:#ecf3fc}.alerts-region-list strong{font-variant-numeric:tabular-nums}
.alerts-list-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:24px 0 12px;scroll-margin-top:90px}.alerts-list-head h2{margin:0}.alerts-list-head>span{font-size:13px;color:#607994}.alerts-clear{padding:24px;background:#f0faf5;border:1px solid #b6dbc8}.alerts-clear p{margin-bottom:0}
.alerts-list{display:grid;gap:16px}.alert-detail{padding:24px;border-top:4px solid var(--alert-color);scroll-margin-top:90px}.alert-detail-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.alert-level{font-size:12px;color:var(--alert-ink);font-weight:700}.alert-detail h2{margin:5px 0 0}.alert-timing{font-size:12px;padding:6px 10px;border-radius:20px;background:var(--alert-bg);color:var(--alert-ink);white-space:nowrap}.alert-period{font-weight:700;font-size:14px}.alert-description{line-height:1.7}.alert-territory{padding-top:12px;border-top:1px solid #e1e9f1}.alert-detail h3{font-size:14px;margin:0 0 8px}.alert-territory p{font-size:13px;line-height:1.6;margin:5px 0}.alert-advice{margin-top:18px;padding:16px 18px;border-radius:10px;background:var(--alert-bg)}.alert-advice p{font-size:14px;line-height:1.7;margin:0}.alert-detail>.note{margin:16px 0 0}
@media(max-width:700px){.official-alert{flex-wrap:wrap;gap:12px;padding:14px}.official-alert-copy{flex-basis:calc(100% - 52px)}.official-alert>a{margin-left:48px}.alerts-overview{grid-template-columns:1fr;padding:16px;gap:16px}.alerts-region-list{grid-template-columns:repeat(2,minmax(0,1fr))}.alerts-region-list>a{font-size:12px;padding:8px 5px}.alert-detail{padding:18px}.alert-detail-head{align-items:flex-start}.alerts-list-head h2{font-size:19px}}

.alerts-overview-wide{display:block;padding:20px}.alerts-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.alerts-toolbar h2{margin:0}.alerts-map-tabs{display:flex;gap:4px;padding:4px;border-radius:10px;background:#edf3fa}.alerts-map-tabs a{padding:8px 20px;border-radius:7px;font-size:14px;font-weight:700}.alerts-map-tabs a[aria-current]{color:#fff;background:#2063bd}.alerts-overview-wide .alerts-map{display:block;width:100%;max-height:660px}.alert-map-border{fill:none;stroke:#274e66;stroke-width:1.7;pointer-events:none;opacity:.65}.alerts-area-picker{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid #e0e8f2}.alerts-area-picker label{font-size:13px;font-weight:700}.alerts-area-picker select{max-width:100%;padding:10px;border:1px solid #d2e0ee;border-radius:8px;background:white;color:#193858}.alert-preview{padding:18px}.alert-preview h2{font-size:16px;margin:0 0 14px}.alert-preview h2 a{display:flex;justify-content:space-between;color:inherit}.alert-preview .alerts-map{display:block}.alert-preview-status{font-size:13px;font-weight:700;color:var(--alert-ink);background:var(--alert-bg);padding:9px 10px;border-radius:7px;margin:12px 0 8px}.alert-preview-more{font-size:12px;font-weight:700}.alert-preview .note{font-size:12px;margin:8px 0}.forecast-alert-link{font-size:13px;margin:0 0 16px}
@media(max-width:600px){.alerts-overview-wide{padding:12px}.alerts-toolbar h2{font-size:17px}.alerts-map-tabs a{padding:7px 12px}.alerts-area-picker select{width:100%}}

/* Jednotná okresní kresba, bez druhé překrývající se vrstvy hranic. */
.alerts-map{background:#f4f8fb}.alerts-map .level-1{--alert-color:#2fba82}.alerts-overview-wide .alerts-map{max-height:none}.alert-preview .alert-map-region path{stroke-width:.4}.alerts-toolbar>.note{margin:0;font-size:12px}

/* Platnost CAP výstrah: čtyři dny bez vodorovného přetékání. */
.alerts-timeline { margin:18px 0; scroll-margin-top:90px; }
.alerts-timeline-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:12px; }
.alerts-timeline-heading h3 { margin:0; font-size:1rem; }
.alerts-timeline-heading>span { color:#607b96; font-size:.85rem; }
.alerts-time-grid { display:grid; grid-template-columns:76px repeat(4,minmax(0,1fr)); gap:8px; }
.alerts-time-day { min-width:0; border:1px solid #dbe6ed; border-radius:10px; overflow:hidden; background:#f4f8fb; }
.alerts-time-day>strong { display:block; padding:9px 6px; text-align:center; font-size:.85rem; }
.alerts-time-slots { display:flex; gap:2px; padding:0 3px 3px; }
.alerts-time-slots button,.alerts-time-all { color:#18394d; background:var(--alert-color); text-align:center; text-decoration:none; border-radius:7px; border:2px solid transparent; }
.alerts-time-slots button { flex:1; min-width:0; padding:9px 1px; font-size:.72rem; }
.alerts-time-slots small { display:block; font-size:.59rem; margin-top:5px; white-space:nowrap; }
.alerts-time-all { display:flex; align-items:center; justify-content:center; font-size:.85rem; font-weight:700; }
.alerts-timeline .level-1 { --alert-color:#a4e5c6; }
.alerts-timeline .level-4 { color:#fff; }
.alerts-timeline [aria-pressed="true"] { border-color:#173f69; box-shadow:inset 0 0 0 1px #fff; font-weight:800; }
.alerts-timeline button:hover { filter:brightness(.95); }
.alerts-timeline button:focus-visible { outline:3px solid #2266be; outline-offset:2px; }
.alerts-timeline .note { margin:10px 0 0; font-size:.8rem; }
@media(max-width:1100px) {
 .alerts-time-grid { grid-template-columns:76px repeat(2,minmax(0,1fr)); }
 .alerts-time-all { grid-row:span 2; }
}
@media(max-width:540px) {
 .alerts-timeline-heading { display:block; }
 .alerts-timeline-heading>span { display:block; margin-top:5px; }
 .alerts-time-grid { grid-template-columns:minmax(0,1fr); gap:6px; }
 .alerts-time-all { grid-row:auto; padding:8px; gap:4px; }
 .alerts-time-all br { display:none; }
 .alerts-time-day { display:grid; grid-template-columns:95px minmax(0,1fr); align-items:center; }
 .alerts-time-day>strong { font-size:.75rem; }
 .alerts-time-slots { padding:3px; }
 .alerts-time-slots button { font-size:.65rem; padding:8px 1px; }
 .alerts-time-slots small { font-size:.55rem; }
}

.alerts-time-grid button { font-family:inherit; cursor:pointer; }
.alert-map-region[role="button"] { cursor:pointer; }
.alerts-list > [hidden],#alerts-empty[hidden] { display:none; }
.alert-district-dialog { border:1px solid #dbe6ed; border-radius:18px; padding:24px; width:min(760px,calc(100vw - 32px)); max-height:85dvh; box-sizing:border-box; color:#18334f; background:#f5f8fc; }
.alert-district-dialog::backdrop { background:rgba(10,25,45,.55); }
.alert-modal-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:18px; }
.alert-modal-head h2 { margin:0; font-size:1.4rem; }
.alert-modal-head p { margin:6px 0 0; }
.alert-modal-close { flex:none; width:42px; height:42px; border:1px solid #cbdbe9; border-radius:50%; background:white; color:#244968; font-size:1.3rem; cursor:pointer; }
.alert-modal-close:focus-visible { outline:3px solid #2266be; outline-offset:2px; }
#alert-district-content .alert-detail { margin:12px 0; }
body.alert-modal-open { overflow:hidden; }
.alerts-map-info { display:flex; align-items:flex-start; gap:12px; margin-top:16px; padding:16px 18px; border:1px solid #bdd5ef; border-left:4px solid #2466b8; border-radius:12px; background:#edf5ff; color:#23496e; font-size:16px; line-height:1.6; }
.alerts-map-info>span { flex:none; color:#2466b8; font-size:24px; line-height:1.1; }
.alerts-map-info p { margin:0; }
.alerts-map-info strong { display:block; }
@media(max-width:540px) { .alert-district-dialog { padding:16px; } }

/* Kompaktní spouštěč stávajícího vyhledávacího dialogu. */
.header-search { flex:0 0 42px; margin:0 0 0 auto; }
.search-trigger { display:flex; align-items:center; justify-content:center; width:42px; height:42px; padding:0; border:1px solid rgba(255,255,255,.18); border-radius:50%; background:rgba(255,255,255,.08); color:#fff; cursor:pointer; }
.search-trigger:hover { background:rgba(255,255,255,.18); }
.search-trigger:focus-visible { outline:2px solid #61c4ff; outline-offset:3px; }
@media(min-width:900px) { .header-search { margin-left:0; } }

/* Měření a výhled sdílejí přehrávač, budoucí časy jsou jasně označené. */
.radar-map-settings .radar-forecast-toggle{grid-column:1 / -1;display:flex;align-items:center;gap:9px;font-weight:650}
.radar-map-settings #radar-forecast{width:18px;min-height:18px;height:18px;accent-color:#c67517}
.radar-map-player output.is-forecast{color:#975000;background:#fff0d8;border-radius:5px;padding:2px 5px}
.radar-map-player .radar-range .is-forecast{color:#975000;font-weight:700}

/* Čitelná ČR v náhledu radaru, údaje přímo v rozích obrázku. */
.radar-preview-map{position:relative;isolation:isolate}.radar-preview-time,.radar-preview-source{position:absolute;bottom:7px;z-index:1;padding:4px 6px;background:#ffffffed;color:#173f6d;border:1px solid #d6e3ee;border-radius:5px;font-size:10px;font-weight:650;line-height:1.2;box-shadow:0 1px 4px #173f6d18;pointer-events:none}.radar-preview-time{left:7px;font-variant-numeric:tabular-nums}.radar-preview-source{right:7px}

/* Dva jasně oddělené cíle: naměřené počasí a modelová předpověď. */
.search-result a + a,.place-result .station-result + .station-result{margin-top:8px}

/* Detail stanice: kompaktní měření a hodinové popisky. */
.measurement-tiles{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.measurement-tiles .tile{padding:16px;min-height:120px;background:#f4f8fd;border:1px solid #dce7f3}.measurement-tiles .tile .ico{left:auto;right:14px;top:14px;width:23px;height:23px}.measurement-tiles .tile .k{padding-right:28px;margin-bottom:10px}.measurement-tiles .tile .v{font-size:28px}.measurement-tiles .tile .d{margin-top:9px;font-size:12px;line-height:1.5}.measurement-tiles .tile .d span{display:block}.chart .hour-value{font-size:9px;font-family:inherit;font-weight:600;pointer-events:none}.chart-wrap svg{cursor:crosshair}.chart-wrap .tip{pointer-events:none;white-space:normal;max-width:calc(100% - 12px);width:max-content}.station-neighbor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.station-neighbor-grid a{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid #dce7f3;border-radius:12px;background:#f4f8fd;text-decoration:none}.station-neighbor-grid a:hover{border-color:#2166bd}.station-neighbor-grid span,.station-neighbor-grid small{color:var(--ink-2)}@media(max-width:500px){.measurement-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.measurement-tiles .tile{padding:12px}.chart .hour-value{font-size:9px}}

/* Zvolené období je součástí mapového panelu, nejen časové osy. */
.alerts-map-stage{position:relative;background:#f4f8fb;border-radius:12px;padding-top:86px;overflow:hidden}.alerts-map-period{position:absolute;left:18px;top:14px;right:18px;z-index:1;pointer-events:none;display:flex;flex-direction:column;gap:3px;color:#183f69}.alerts-map-period>span{font-size:10px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:#526d86}.alerts-map-period strong{font-size:18px;line-height:1.3}.alerts-map-period small{font-size:12px;color:#526d86}.alerts-map-stage .alerts-map{border-radius:0}.alerts-map .alert-map-region path{transition:fill .18s ease,filter .15s}.alerts-timeline .level-1[aria-pressed="true"]{background:#2fba82;color:#103e30}.alerts-time-slots button.level-0,.alerts-time-all.level-0{color:#fff}@media(max-width:600px){.alerts-map-stage{padding-top:100px}.alerts-map-period{left:12px;right:12px}.alerts-map-period strong{font-size:15px}.alerts-map-period small{font-size:11px}}@media(prefers-reduced-motion:reduce){.alerts-map .alert-map-region path{transition:none}}

.aladin-preview h2{margin:0 0 14px}.aladin-preview-image{display:block;overflow:hidden;border-radius:12px;background:#f4f8fc;text-decoration:none;color:#193f68}.aladin-preview-image img{display:block;width:100%;height:auto}.aladin-preview-image span{display:block;padding:9px 8px;text-align:center;font-weight:700;font-size:13px;background:#eaf2fa}.aladin-preview .note{font-size:12px;line-height:1.6;margin:12px 0}.aladin-preview .sidebar-more{font-size:14px}

/* Společná typografie a akce všech karet pravého sloupce. */
.dashboard-side .card h2{font-size:18px;font-weight:750;line-height:1.35;color:var(--ink);margin:0 0 14px}
.dashboard-side .card .sidebar-more{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;margin-top:17px;padding:11px 12px;border:1px solid #ccdaeb;border-radius:9px;background:#f1f6fc;color:var(--blue);font-size:14px;font-weight:700;line-height:1.4;text-decoration:none}
.dashboard-side .card .sidebar-more>span:last-child{flex:none;font-size:18px;line-height:1}
.dashboard-side .card .sidebar-more:hover{background:#e5effb;border-color:#9dbbdf;color:#164e98}
.dashboard-side .card .sidebar-more:focus-visible{outline:3px solid #f4b335;outline-offset:3px}

/* Menší displeje: vyšší mapa a kompaktní přehrávání uvnitř snímku. */
@media(max-width:900px),(max-height:800px){
  #radar-leaflet{height:clamp(460px,82dvh,800px)}
  .radar-map-player{position:absolute;left:8px;right:8px;bottom:26px;border-radius:12px}
  .radar-map-player .radar-playback{border-radius:12px;border-width:1px;padding:9px;gap:5px}
  .radar-map-player .radar-history-status{margin:0}
}
@media(max-width:380px){
  .radar-map-player #radar-play{min-width:80px}
  .radar-map-player .radar-buttons{gap:4px}
  .radar-map-player button{padding-inline:7px}
}

/* Řeky v bočním přehledu homepage. */
.river-preview-map{display:block;margin:0 0 14px;background:#f1f7fb;border-radius:12px;overflow:hidden}
.river-preview-map svg{display:block;width:100%;height:auto}
.river-preview-counts{display:flex;flex-wrap:wrap;gap:8px 14px;color:var(--ink-2);font-size:12px}
.river-preview-counts span{display:flex;align-items:center;gap:5px}.river-preview-counts i{width:9px;height:9px;border-radius:50%;flex:none}
.river-preview-list{list-style:none;margin:12px 0 0;padding:0}.river-preview-list li+li{border-top:1px solid var(--line)}
.river-preview-list a{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;color:var(--ink);text-decoration:none}
.river-preview-list a:hover{text-decoration:underline}.river-preview-list small{display:block;color:var(--ink-2);font-size:12px;font-weight:400}
.river-preview-list strong{display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:12px}.river-preview-list strong:before{content:"";width:9px;height:9px;background:var(--river-color);border-radius:50%;flex:none}
.dashboard-side .river-preview-note{font-size:11px;line-height:1.5;margin:12px 0 0}
/* Řeky pod předpovědí, mimo dlouhý boční sloupec. */
.dashboard-main .river-preview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 24px;margin:20px 0 0;padding:24px;align-items:start}
.dashboard-main .river-preview h2{grid-column:1/-1;margin:0;font-size:21px;line-height:1.35}
.dashboard-main .river-preview-map{margin:0;align-self:center}
.dashboard-main .river-preview-summary{min-width:0}
.dashboard-main .river-preview-list{margin-top:8px}
.dashboard-main .river-preview-list a{font-size:14px;font-weight:650}
.dashboard-main .river-preview-note{font-size:11px;line-height:1.5;margin:10px 0 0}
.dashboard-main .river-preview>.sidebar-more{grid-column:1/-1;margin:0;justify-self:end;width:auto;min-width:210px}
@media(max-width:620px){.dashboard-main .river-preview{grid-template-columns:minmax(0,1fr);padding:18px;gap:14px}.dashboard-main .river-preview>.sidebar-more{width:100%}.dashboard-main .river-preview-map{width:100%;max-width:420px;justify-self:center}}

.river-interest{display:grid;gap:10px;margin-bottom:16px}.river-interest a{display:grid;gap:5px;padding:12px 15px;border-radius:10px;background:var(--bg);border:1px solid var(--line);text-decoration:none}.river-interest strong{font-size:23px;color:var(--ink)}.river-interest small,.river-interest span{color:var(--ink-2);font-size:12px}

/* Krajská mapa vedle textové předpovědi. */
#forecast-map.fm-regional .forecast-map-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
#forecast-map.fm-has-districts .forecast-cz{height:auto;min-height:320px;max-height:620px}
#forecast-map.fm-has-districts .fm-district .fm-name{font-size:15px}
#forecast-map.fm-has-districts .fm-district .fm-temps{font-size:26px;font-weight:750}
#forecast-map .fm-district-boundary{fill:#fff;stroke:#89b3ca;stroke-width:1.3;vector-effect:non-scaling-stroke}
#forecast-map .fm-label.fm-missing .fm-temps{font-size:13px;font-weight:400;fill:#607898}
.fm-label-leader{fill:none;stroke:#89a8bb;stroke-width:.8;pointer-events:none}
.fm-available-day{font:inherit;color:#2163c5;background:#fff;border:1px solid #cad9ec;border-radius:8px;padding:10px 14px;cursor:pointer}.fm-available-day:hover{background:#eef5ff}.fm-available-day:focus-visible{outline:3px solid #ffbb38;outline-offset:2px}
#forecast-map .fm-map-caption{margin:0 0 8px;text-align:center;color:#52758d;font-size:13px;font-weight:600}
#forecast-map.fm-has-districts .fm-district.fm-missing .fm-temps{font-size:13px;font-weight:400;fill:#607898}
#forecast-map .fm-district:focus-visible .fm-label-bg,#forecast-map .fm-district:hover .fm-label-bg{stroke:#3374a4;stroke-width:2}

/* Souvislá předpověď: kraj vedle mapy, homepage pod mapou. */
#forecast-map .fm-reading-body{display:block}
#forecast-map .fm-prose{font-size:15px;line-height:1.8;margin:0 0 12px;color:var(--ink)}
#forecast-map .fm-prose strong{font-weight:700}
#forecast-map .fm-part-title{font-size:17px;margin:0 0 12px;color:var(--blue-dark)}
#forecast-map .fm-expanded-text{margin-top:0}
#forecast-map .fm-reading-meta{font-size:11px;line-height:1.6}
@media(max-width:800px){
 #forecast-map.fm-regional .forecast-map-layout{grid-template-columns:minmax(0,1fr)}
 #forecast-map.fm-has-districts .forecast-cz{min-height:250px;max-height:460px}
}

/* Kompaktní čtení bez odstavce pro každou jednotlivou veličinu. */
#forecast-map .fm-reading-body{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 20px}
#forecast-map .fm-prose{flex:0 0 100%;line-height:1.65;margin:0}
#forecast-map .fm-prose-fact{flex:0 0 100%;max-width:100%;font-size:14px}
#forecast-map .fm-reading-meta{margin-top:10px;padding-top:8px;gap:4px 16px;flex-direction:row}
#forecast-map .fm-part-title{margin-bottom:8px}
#forecast-map.fm-regional .fm-wrap{padding:12px 8px}
#forecast-map.fm-regional .forecast-cz{width:100%;max-width:none;height:auto;min-height:0;max-height:none}
#forecast-map.fm-regional .forecast-map-panel{padding:20px}
#forecast-map.fm-regional .fm-reading-meta{margin-top:10px}
@media(max-width:800px){
 #forecast-map.fm-regional .forecast-map-panel{padding:18px 16px}
 #forecast-map.fm-regional .forecast-cz{max-height:520px}
 #forecast-map.fm-has-districts .fm-district .fm-name{font-size:22px}
 #forecast-map.fm-has-districts .fm-district .fm-temps{font-size:32px}
 #forecast-map.fm-has-districts .fm-district.fm-missing .fm-temps{font-size:19px}
 #forecast-map.fm-has-districts .fm-district .fm-label-bg{width:calc(var(--fm-label-width)*1.4);x:calc(var(--fm-label-width)*-.7)}
}
/* Stejné rozložení jako satelit: ovládání vlevo, čas vpravo, přehrávání dole. */
.radar-map:has(.radar-map-player:not([hidden]))>.radar-frame-label{top:12px;right:12px;left:auto;bottom:auto}
.radar-map-settings{left:54px;right:auto;top:12px}
@media(max-width:620px){.radar-map:has(.radar-map-player:not([hidden]))>.radar-frame-label{top:8px;right:8px;left:auto}.radar-map-settings{top:52px;left:10px;right:auto}}
html[data-theme=dark] .radar-map-player,html[data-theme=dark] .radar-console{background:var(--card);color:var(--ink)}
html[data-theme=dark] .radar-map-player .radar-playback{border-color:var(--line)}
html[data-theme=dark] .radar-card button{background:var(--card);color:var(--ink);border-color:var(--line)}
html[data-theme=dark] .radar-card button.home-primary{background:#226bc1;color:white}
html[data-theme=dark] .radar-console .note,html[data-theme=dark] .radar-map-player .note{color:var(--ink-2)}

/* Ovzduší na dashboardu: kompaktní náhled v hlavním sloupci. */
.air-preview{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px 22px;align-items:center;margin-top:20px;padding:24px}
.air-preview>header{grid-column:1/-1}.air-preview h2{font-size:21px;margin:0}.air-preview header p{font-size:13px;color:var(--ink-2);margin:4px 0 0}
.air-preview-map{display:block;background:#f1f7fb;border-radius:12px;overflow:hidden}.air-preview-map svg{display:block;width:100%;height:auto}
.air-preview-count-label{font-size:12px;color:var(--ink-2);margin:0 0 10px}.air-preview-counts{margin:0}.air-preview-counts>div{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}
.air-preview-counts dt{display:flex;gap:8px;align-items:center;font-size:13px}.air-preview-counts i{width:10px;height:10px;border-radius:50%;flex:none}.air-preview-counts dd{margin:0;font-size:24px;font-weight:750;color:var(--ink)}
.air-preview-note{font-size:12px;line-height:1.6;color:var(--ink-2);margin:12px 0 0}.air-preview>.sidebar-more{grid-column:1/-1;margin:0;justify-self:end;width:auto}
@media(max-width:620px){.air-preview{grid-template-columns:minmax(0,1fr);padding:18px;gap:14px}.air-preview-map{width:100%;max-width:420px;justify-self:center}.air-preview>.sidebar-more{width:100%}.air-preview-counts>div{padding:8px 0}}


/* Kontext detailu: malé náhledy a konkrétní měření okolních stanic. */
.station-outlook-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-top:20px}
.station-outlook-grid>.card{margin:0;min-width:0}
.station-outlook-grid .radar-preview-map svg{width:100%;height:180px;display:block}
.station-outlook{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.station-outlook h2{margin-top:0}.station-outlook p{color:var(--ink-2);font-size:15px;line-height:1.6}
.nearby-measurements{margin-top:20px}.nearby-measurements h2{margin:0 0 8px;font-size:21px}.nearby-measurements>.note{font-size:13px;color:var(--ink-2)}
.nearby-measurements-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.nearby-measurements h3{font-size:16px;margin:0 0 12px}
.nearby-measurement{display:block;padding:10px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.nearby-measurement:hover .nearby-place-heading strong{color:var(--blue);text-decoration:underline}.nearby-measurement:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.nearby-place-heading{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.nearby-place-heading strong{font-size:14px;overflow-wrap:anywhere}.nearby-place-heading>span{font-size:12px;white-space:nowrap;color:var(--ink-2)}
.nearby-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 14px;margin-top:4px;font-size:12px;line-height:1.65;color:var(--ink-2)}
.nearby-status{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--ink)}
.nearby-status i{width:8px;height:8px;border-radius:50%;background:var(--measurement-color);flex:none}
.nearby-value strong{font-size:12px;font-weight:650;color:var(--ink)}.nearby-value small{font-size:11px}
.nearby-all{display:inline-block;font-size:13px;font-weight:650;margin-top:12px}
@media(max-width:620px){.station-outlook-grid,.nearby-measurements-grid{grid-template-columns:minmax(0,1fr)}.nearby-measurements-grid{gap:20px}.nearby-measurement{padding:10px 0}.nearby-place-heading{flex-wrap:wrap}.station-outlook-grid .radar-preview-map svg{height:170px}}

/* Úvod: plná šířka pro dva rovnocenné přehledy prostředí. */
.dashboard-environment{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}
.dashboard-environment>.card{display:flex;flex-direction:column;align-items:stretch;gap:16px;margin:0;padding:24px;min-width:0}
.dashboard-environment header h2{font-size:21px;line-height:1.35;margin:0}
.dashboard-environment header p{font-size:13px;color:var(--ink-2);margin:4px 0 0}
.dashboard-environment .river-preview-map,.dashboard-environment .air-preview-map{width:100%;margin:0}
.dashboard-environment .river-interest{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}
.dashboard-environment .river-interest a{padding:10px;align-content:start;overflow-wrap:anywhere}
.dashboard-environment .river-interest strong{font-size:22px;white-space:nowrap}
.dashboard-environment .river-interest small{min-height:34px}
.dashboard-environment .river-interest span{font-size:11px;line-height:1.45}
.dashboard-environment .sidebar-more{display:flex;gap:12px;margin-top:auto;width:100%;justify-content:space-between;align-items:center;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--bg);font-size:14px;font-weight:700;text-decoration:none}.dashboard-environment .sidebar-more:hover{border-color:var(--blue)}
@media(max-width:760px){.dashboard-environment{grid-template-columns:minmax(0,1fr)}.dashboard-environment>.card{padding:18px}}
@media(max-width:480px){.dashboard-environment .river-interest{grid-template-columns:minmax(0,1fr)}.dashboard-environment .river-interest a{grid-template-columns:minmax(0,1fr) auto;align-items:center}.dashboard-environment .river-interest small{min-height:0}.dashboard-environment .river-interest span{grid-column:1/-1}}

/* Klimatologický archiv: jeden graf a kompaktní ovládání napříč rozlišeními. */
.climate-controls{display:flex;align-items:end;flex-wrap:wrap;gap:14px;margin-bottom:24px}.climate-controls label{display:grid;gap:6px;font-size:.85rem;color:var(--muted,#526e8f)}.climate-controls select,.climate-controls input{min-height:44px;max-width:100%}.climate-controls .muted{align-self:center}.climate-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.climate-station{display:grid;gap:8px;padding:18px;border:1px solid var(--border,#dce6f1);border-radius:12px;text-decoration:none}.climate-station:hover{background:var(--bg,#f3f7fc)}.climate-station strong{display:flex;justify-content:space-between;gap:10px}.climate-station>span{font-size:.8rem;color:var(--muted,#526e8f)}.climate-links{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.climate-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.climate-title h2{margin-bottom:4px}.climate-unit{font-size:1.5rem;font-weight:700;color:var(--muted,#526e8f)}.climate-chart-wrap{overflow:auto}.climate-chart{display:block;width:100%;min-width:540px;height:auto}.climate-chart text{font-size:15px;fill:var(--muted,#526e8f)}.climate-grid{stroke:var(--border,#dce6f1);stroke-width:1;fill:none}.climate-line{fill:none;stroke:#078cc1;stroke-width:2.5}.climate-point{fill:#078cc1}.climate-normal{fill:none;stroke:#b95b14;stroke-width:2;stroke-dasharray:8 5}.climate-legend{display:flex;gap:24px;flex-wrap:wrap;font-size:.85rem;margin:8px 0 22px}.climate-legend span{display:flex;align-items:center;gap:8px}.climate-legend i{width:24px;border-top:3px solid #078cc1}.climate-legend i.normal{border-top:3px dashed #b95b14}.climate-extremes{display:grid;grid-template-columns:1fr 1fr;gap:16px}.climate-extremes>div{display:grid;gap:6px;padding:16px;border-radius:12px;background:var(--bg,#f3f7fc)}.climate-extremes strong{font-size:1.6rem}.climate-extremes span{font-size:.85rem;color:var(--muted,#526e8f)}.climate-extremes small{font-size:.85rem}.climate-table{margin-top:20px}.climate-table summary{padding:12px 0;font-weight:700;cursor:pointer}.climate-pagination{display:flex;justify-content:space-between;gap:16px;margin-top:20px}.climate-quick{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:20px;padding:14px 18px;border:1px solid var(--border,#dce6f1);border-radius:12px}.climate-quick p{margin:0}.climate-quick small{display:block;color:var(--muted,#526e8f)}
@media(max-width:760px){.climate-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.climate-controls label{flex:1 1 130px}.climate-controls .btn{width:100%}.climate-chart{min-width:520px}}@media(max-width:460px){.climate-directory{grid-template-columns:1fr}.climate-extremes{gap:8px}.climate-extremes>div{padding:12px}.climate-extremes strong{font-size:1.3rem}}
.climate-page .btn,.climate-quick .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 15px;background:var(--card);border:1px solid var(--line);border-radius:9px;color:var(--blue);font:600 14px var(--font);cursor:pointer;text-decoration:none}.climate-page .btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.climate-page .muted{color:var(--ink-2);font-size:13px}.climate-page select,.climate-page input{padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);font:inherit}.climate-page .table-scroll{max-width:100%;overflow:auto}.climate-page table{width:100%;border-collapse:collapse;font-size:14px}.climate-page td,.climate-page th{padding:11px 10px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}.climate-page th{color:var(--ink-2);font-size:12px}.climate-page .source{color:var(--ink-2);font-size:12px}.climate-page details summary{cursor:pointer;font-weight:600}.climate-page a:focus-visible,.climate-page button:focus-visible{outline:3px solid var(--blue-mid);outline-offset:3px}
.climate-chart text{font-size:18px}.climate-chart-mobile{display:none}@media(max-width:600px){.climate-chart-desktop{display:none}.climate-chart-mobile{display:block;min-width:0}.climate-chart-mobile text{font-size:22px}}
.climate-controls label{min-width:0}.climate-controls select{width:100%}

/* Archiv sdílí detail stanice; skryté panely nesmí přebít grid styly. */
[data-station-history] [hidden]{display:none!important}
.station-history-tabs{display:flex;gap:8px;margin:20px 0;flex-wrap:wrap}
.station-history-tabs a{padding:12px 22px;border:1px solid var(--border,#dce6f1);border-radius:10px;font-weight:700;background:var(--card,#fff);text-decoration:none}
.station-history-tabs a[aria-current=page]{background:#2167bc;color:#fff;border-color:#2167bc}
[data-history-archive] .climate-controls{align-items:end}

/* Čitelné území a stručné oficiální výstrahy vedle předpovědi. */
.alert-territory h3{font-size:18px}.alert-territory p{font-size:clamp(18px,1.5vw,22px);font-weight:600;line-height:1.6}.official-alert-short{text-decoration:none}.official-alert-short .official-alert-kicker{display:block}.official-alert-short .official-alert-copy strong{display:block;font-size:18px}.official-alert-action{font-size:14px;font-weight:700}.official-alert-short:hover,.official-alert-short:focus-visible{outline:2px solid var(--alert-color);outline-offset:2px}@media(max-width:700px){.official-alert-short .official-alert-action{margin-left:48px}}
/* History: multi-year charts, shared crosshair and daily records. */
.climate-chart-wrap{overflow:visible;position:relative}.climate-chart{cursor:crosshair}.climate-chart:focus-visible,.chart-wrap svg:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.climate-comparison{fill:none;stroke:#8d55bb;stroke-width:2.5}.climate-point.comparison{fill:#8d55bb}.climate-legend i.comparison{border-color:#8d55bb}.climate-chart .cursor,.chart-wrap .cursor{stroke:var(--ink-2);stroke-width:1;stroke-dasharray:4 3;pointer-events:none}.chart-readout{display:block;min-height:48px;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink);font-size:13px;line-height:1.6;white-space:normal}.climate-record-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.climate-record-grid article{padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.climate-record-grid h3{font-size:16px;margin:0 0 8px}.climate-record-grid article>span,.climate-record-grid article>small{display:block;color:var(--ink-2);font-size:12px}.climate-record-value{display:block;font-size:28px;margin:15px 0 5px}.climate-record-value small{font-size:16px}.climate-record-grid details{margin-top:18px;font-size:12px}.climate-record-grid ol{padding-left:18px}.climate-record-grid li{padding:5px 0}.climate-record-grid li span,.climate-record-grid li b{display:block}@media(max-width:900px){.climate-record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:460px){.climate-record-grid{gap:8px}.climate-record-grid article{padding:12px}.climate-record-value{font-size:24px}}
.chart-hover{position:absolute;top:34px;right:12px;z-index:2;max-width:calc(100% - 72px);padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--card);box-shadow:0 3px 12px #18395720;color:var(--ink);font-size:13px;line-height:1.5;pointer-events:none}.chart-hover[hidden]{display:none}
