/* Karta počasí (core/weather-card.js; maketa artifact M11MdJBizYiC3SPbEF33jd). Jen tmavé téma; velikosti v em podle
   písma chatu (OBS větší). Pozadí podle počasí (data-k), jemné animace ikon, bez animace při prefers-reduced-motion. */
.msg.uc-wx-msg { padding-top: 3px; padding-bottom: 3px; }
.uc-wx { --g1: #2a3442; --g2: #4a5a6e; --glow: rgba(255,220,140,.18);
  position: relative; overflow: hidden; border-radius: 12px; border: 1px solid rgba(255,255,255,.08); color: #fff;
  background: linear-gradient(150deg, var(--g1), var(--g2)); box-shadow: 0 4px 18px rgba(0,0,0,.35); font-size: 1em; line-height: 1.35; }
.uc-wx::before { content: ""; position: absolute; inset: 0; background: radial-gradient(120% 80% at 85% 0%, var(--glow), transparent 60%); pointer-events: none; }
.uc-wx[data-k="sun"]   { --g1: #1f4c86; --g2: #3d86c9; --glow: rgba(255,200,0,.35); }
.uc-wx[data-k="cloud"] { --g1: #2a3442; --g2: #4a5a6e; --glow: rgba(255,220,140,.18); }
.uc-wx[data-k="rain"]  { --g1: #1b2533; --g2: #2f4256; --glow: rgba(120,170,255,.18); }
.uc-wx[data-k="snow"]  { --g1: #2b3a4d; --g2: #5d7590; --glow: rgba(255,255,255,.22); }
.uc-wx[data-k="storm"] { --g1: #1a1626; --g2: #382d52; --glow: rgba(190,140,255,.25); }
.uc-wx[data-k="night"] { --g1: #0c1024; --g2: #1e2550; --glow: rgba(160,180,255,.18); }
.uc-wx-head { position: relative; display: flex; align-items: center; gap: .75em; padding: .75em .9em; }
.uc-wx-ico { flex: none; width: 4em; height: 4em; }
.uc-wx-ico svg, .uc-wx-h svg { display: block; width: 100%; height: 100%; }
.uc-wx-main { flex: 1; min-width: 0; }
.uc-wx-city { font-weight: 700; font-size: 1.08em; display: flex; gap: .4em; align-items: baseline; flex-wrap: wrap; }
.uc-wx-city small { font-weight: 500; color: rgba(255,255,255,.65); font-size: .78em; }
.uc-wx-desc { color: rgba(255,255,255,.82); font-size: .92em; }
.uc-wx-temp { text-align: right; flex: none; }
.uc-wx-temp b { font-size: 2.1em; line-height: 1; font-weight: 800; letter-spacing: -.02em; white-space: nowrap; }
.uc-wx-temp div { font-size: .85em; color: rgba(255,255,255,.72); white-space: nowrap; }
.uc-wx-tog { position: relative; display: flex; justify-content: center; align-items: center; gap: .35em; width: 100%; border: 0; border-top: 1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.15); color: rgba(255,255,255,.78); font: inherit; font-size: .85em; font-weight: 600; padding: .35em; cursor: pointer; }
.uc-wx-tog:hover { color: #fff; background: rgba(0,0,0,.25); }
.uc-wx-tog svg { transition: transform .25s ease; }
.uc-wx.open .uc-wx-tog svg { transform: rotate(180deg); }
.uc-wx-more { position: relative; display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s ease; }
.uc-wx.open .uc-wx-more { grid-template-rows: 1fr; }
.uc-wx-more > div { overflow: hidden; min-height: 0; }
.uc-wx-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .45em; padding: .3em .9em .6em; }
.uc-wx-stat { background: rgba(0,0,0,.2); border-radius: 8px; padding: .4em .55em; min-width: 0; }
.uc-wx-stat span { display: block; font-size: .75em; color: rgba(255,255,255,.62); text-transform: uppercase; letter-spacing: .04em; }
.uc-wx-stat b { font-size: 1em; white-space: nowrap; }
.uc-wx-hours { display: flex; gap: .3em; overflow-x: auto; padding: .15em .9em .6em; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.25) transparent; }
.uc-wx-h { flex: 0 0 3.5em; display: flex; flex-direction: column; align-items: center; gap: 1px; background: rgba(0,0,0,.18); border-radius: 8px; padding: .3em 0; font-size: .85em; }
.uc-wx-h svg { width: 1.9em; height: 1.9em; }
.uc-wx-hh { color: rgba(255,255,255,.65); }
.uc-wx-t { font-weight: 700; }
.uc-wx-p { color: #8ec5ff; font-size: .9em; min-height: 1.2em; }
.uc-wx-sun { position: relative; display: flex; justify-content: space-between; gap: .6em; padding: 0 .9em .75em; font-size: .85em; color: rgba(255,255,255,.75); flex-wrap: wrap; }

.uc-wx-rays { transform-origin: 32px 32px; animation: uc-wx-spin 24s linear infinite; }
.uc-wx-core { transform-origin: 32px 32px; animation: uc-wx-pulse 3s ease-in-out infinite; }
.uc-wx-drop { animation: uc-wx-fall 1.1s linear infinite; }
.uc-wx-drop:nth-child(2) { animation-delay: -.37s; } .uc-wx-drop:nth-child(3) { animation-delay: -.74s; }
.uc-wx-flake { animation: uc-wx-flake 2.4s linear infinite; }
.uc-wx-flake:nth-child(2) { animation-delay: -.8s; } .uc-wx-flake:nth-child(3) { animation-delay: -1.6s; }
.uc-wx-bolt { animation: uc-wx-flash 2.6s ease-in-out infinite; }
.uc-wx-drift { animation: uc-wx-drift 6s ease-in-out infinite alternate; }
.uc-wx-fog { animation: uc-wx-drift 4s ease-in-out infinite alternate; }
.uc-wx-star { animation: uc-wx-twinkle 2.5s ease-in-out infinite; } .uc-wx-star:nth-of-type(2) { animation-delay: -1.2s; }
/* Hodinové ikony bez animace (12 malých animací v každé kartě by jen zatěžovalo). */
.uc-wx-h svg * { animation: none !important; }
@keyframes uc-wx-spin { to { transform: rotate(360deg); } }
@keyframes uc-wx-pulse { 50% { transform: scale(1.06); } }
@keyframes uc-wx-fall { 0% { transform: translateY(-4px); opacity: 0; } 20% { opacity: 1; } 100% { transform: translateY(10px); opacity: 0; } }
@keyframes uc-wx-flake { 0% { transform: translate(0, -4px); opacity: 0; } 25% { opacity: 1; } 100% { transform: translate(2px, 11px); opacity: 0; } }
@keyframes uc-wx-flash { 0%, 80%, 100% { opacity: .35; } 84%, 90% { opacity: 1; } }
@keyframes uc-wx-drift { to { transform: translateX(3px); } }
@keyframes uc-wx-twinkle { 50% { opacity: .3; } }
@media (prefers-reduced-motion: reduce) { .uc-wx * { animation: none !important; transition: none !important; } }

/* Našeptávač míst za `!počasí ` (core/weather-suggest.js): vlajka + kraj / země vpravo. */
.uc-wx-sug-fl { flex: none; width: 1.3em; text-align: center; }
.uc-wx-sug-sub { color: var(--text-muted, #848494); margin-left: auto; padding-left: .6em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; font-size: .9em; }
.uc-wx-flag { display: inline-block; width: 1.25em; height: .94em; border-radius: 2px; box-shadow: 0 0 0 1px rgba(255,255,255,.25); align-self: center; object-fit: cover; flex: none; }
/* `.es-item img` (28 × 28 px pro emoty) by vlajce v našeptávači dal rozměr emotu → přebít stejným rozměrem jako na kartě. */
.uc-wx-sug-fl .uc-wx-flag { width: 1.25em; height: .94em; object-fit: cover; vertical-align: middle; }
.uc-wx-cc { align-self: center; font-size: .68em; font-weight: 800; letter-spacing: .06em; padding: .1em .4em; border-radius: 4px; background: rgba(255,255,255,.16); color: #fff; }
.uc-wx-local { margin-top: .1em; }
/* Graf předpovědi (weatherChartHtml): 12 h teplota + srážky. */
.uc-wx-chart-wrap { position: relative; padding: 0 .9em .3em; }
.uc-wx-chart { display: block; width: 100%; height: auto; overflow: visible; }
.uc-wx-chart svg * { animation: none !important; }
.uc-wx-ct { fill: #fff; font: 700 10.5px Inter, system-ui, sans-serif; text-anchor: middle; paint-order: stroke; stroke: rgba(0,0,0,.35); stroke-width: 2.5px; }
.uc-wx-dot { fill: #fff; stroke: #ff9a00; stroke-width: 1.5; }
.uc-wx-bar { fill: #5aa9ff; opacity: .85; }
.uc-wx-cp { fill: #9fd0ff; font: 600 8.5px Inter, system-ui, sans-serif; text-anchor: middle; }
.uc-wx-ch { fill: rgba(255,255,255,.7); font: 500 9.5px Inter, system-ui, sans-serif; text-anchor: middle; }
.uc-wx-base { stroke: rgba(255,255,255,.15); }
.uc-wx-legend { display: flex; gap: .9em; justify-content: center; font-size: .78em; color: rgba(255,255,255,.65); padding-bottom: .45em; flex-wrap: wrap; }
.uc-wx-legend i { display: inline-block; width: .8em; height: 3px; border-radius: 2px; margin-right: .3em; vertical-align: .2em; }
.uc-wx-lg-t { background: linear-gradient(90deg, #ffd34d, #ff8c00); }
.uc-wx-lg-p { background: #5aa9ff; height: .6em !important; vertical-align: -.05em !important; }
