
    .elite-weather-widget {
      --theme-name: "Dark";
      --theme-color: #0f1724;
      --bg-1: #07111d;
      --bg-2: #0d1d31;
      --bg-3: #163253;
      --surface-0: rgba(255,255,255,0.02);
      --surface-1: rgba(255,255,255,0.06);
      --surface-2: rgba(255,255,255,0.08);
      --surface-3: rgba(255,255,255,0.11);
      --surface-solid: #142238;
      --line: rgba(255,255,255,0.12);
      --line-strong: rgba(255,255,255,0.18);
      --text: #f6fbff;
      --text-2: rgba(246,251,255,0.82);
      --muted: rgba(246,251,255,0.68);
      --soft: rgba(246,251,255,0.5);
      --accent: #7fd2ff;
      --accent-2: #dff6ff;
      --accent-3: #a9e6ff;
      --success: #8ff7c8;
      --warning: #ffd67f;
      --danger: #ff9c93;
      --info: #93bdff;
      --shadow: 0 20px 60px rgba(0,0,0,0.28);
      --shadow-soft: 0 10px 30px rgba(0,0,0,0.16);
      --blur: 24px;
      --radius-xs: 10px;
      --radius-sm: 14px;
      --radius-md: 18px;
      --radius-lg: 22px;
      --radius-xl: 28px;
      --space-1: 6px;
      --space-2: 8px;
      --space-3: 10px;
      --space-4: 12px;
      --space-5: 14px;
      --space-6: 16px;
      --space-7: 18px;
      --space-8: 20px;
      --space-9: 24px;
      --map-height: 320px;
      position: relative;
      isolation: isolate;
      width: 100%;
      margin: 0 auto;
      padding: 14px;
      border-radius: var(--radius-xl);
      color: var(--text);
      background:
        radial-gradient(circle at 20% 18%, rgba(96, 162, 255, 0.15), transparent 24%),
        radial-gradient(circle at 82% 14%, rgba(126, 222, 255, 0.11), transparent 20%),
        radial-gradient(circle at 50% 100%, rgba(73, 108, 151, 0.18), transparent 34%),
        linear-gradient(160deg, var(--bg-1), var(--bg-2) 48%, var(--bg-3));
      box-shadow: var(--shadow);
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      transition: background 700ms ease, color 300ms ease, border-color 300ms ease;
    }

    .theme-dark .elite-weather-widget,
    .elite-weather-widget.theme-dark {
      --theme-name: "Dark";
      --theme-color: #0f1724;
      --bg-1: #07111d;
      --bg-2: #0d1d31;
      --bg-3: #163253;
      --surface-solid: #142238;
      --accent: #7fd2ff;
      --accent-2: #dff6ff;
      --accent-3: #a9e6ff;
      --info: #93bdff;
    }

    .theme-light .elite-weather-widget,
    .elite-weather-widget.theme-light {
      --theme-name: "Light";
      --theme-color: #eef5ff;
      --bg-1: #eef5ff;
      --bg-2: #ddeafc;
      --bg-3: #c4daf6;
      --surface-0: rgba(255,255,255,0.42);
      --surface-1: rgba(255,255,255,0.58);
      --surface-2: rgba(255,255,255,0.68);
      --surface-3: rgba(255,255,255,0.78);
      --surface-solid: #ffffff;
      --line: rgba(22,40,68,0.12);
      --line-strong: rgba(22,40,68,0.18);
      --text: #132038;
      --text-2: rgba(19,32,56,0.82);
      --muted: rgba(19,32,56,0.68);
      --soft: rgba(19,32,56,0.5);
      --accent: #367cff;
      --accent-2: #11305e;
      --accent-3: #69a1ff;
      --success: #0ea76d;
      --warning: #be7e0d;
      --danger: #cb4a4a;
      --info: #2d63d8;
      --shadow: 0 20px 60px rgba(66,92,140,0.18);
      --shadow-soft: 0 10px 30px rgba(66,92,140,0.14);
    }

    .theme-ocean .elite-weather-widget,
    .elite-weather-widget.theme-ocean {
      --theme-name: "Ocean";
      --theme-color: #0d2330;
      --bg-1: #071a24;
      --bg-2: #0c3143;
      --bg-3: #136180;
      --surface-solid: #103245;
      --accent: #65f0ff;
      --accent-2: #d9ffff;
      --accent-3: #8df7ff;
      --info: #74d4ff;
    }

    .theme-aurora .elite-weather-widget,
    .elite-weather-widget.theme-aurora {
      --theme-name: "Aurora";
      --theme-color: #140f2e;
      --bg-1: #140f2e;
      --bg-2: #1f2750;
      --bg-3: #1a5a73;
      --surface-solid: #1e2648;
      --accent: #7ef7d0;
      --accent-2: #f0fff9;
      --accent-3: #b8ffe8;
      --info: #8fb8ff;
    }

    .theme-graphite .elite-weather-widget,
    .elite-weather-widget.theme-graphite {
      --theme-name: "Graphite";
      --theme-color: #131519;
      --bg-1: #111317;
      --bg-2: #20242d;
      --bg-3: #343b48;
      --surface-solid: #1e232d;
      --accent: #d7dde7;
      --accent-2: #ffffff;
      --accent-3: #edf2f8;
      --info: #90a0bc;
    }

    .theme-emerald .elite-weather-widget,
    .elite-weather-widget.theme-emerald {
      --theme-name: "Emerald";
      --theme-color: #0c231b;
      --bg-1: #07180f;
      --bg-2: #0d3122;
      --bg-3: #126648;
      --surface-solid: #113425;
      --accent: #65ffc8;
      --accent-2: #eafff6;
      --accent-3: #9effdd;
      --info: #77eec2;
    }

    .theme-rose .elite-weather-widget,
    .elite-weather-widget.theme-rose {
      --theme-name: "Rose";
      --theme-color: #2f1020;
      --bg-1: #230b18;
      --bg-2: #4a1730;
      --bg-3: #87335d;
      --surface-solid: #351425;
      --accent: #ff98c5;
      --accent-2: #fff1f7;
      --accent-3: #ffc0dc;
      --info: #f7a9d3;
    }

    .theme-sunset .elite-weather-widget,
    .elite-weather-widget.theme-sunset {
      --theme-name: "Sunset";
      --theme-color: #331619;
      --bg-1: #241013;
      --bg-2: #5d2b33;
      --bg-3: #b4584f;
      --surface-solid: #3a1d22;
      --accent: #ffb66f;
      --accent-2: #fff6eb;
      --accent-3: #ffd09a;
      --info: #ff9ca0;
    }

    .theme-amber .elite-weather-widget,
    .elite-weather-widget.theme-amber {
      --theme-name: "Amber";
      --theme-color: #2d1b0a;
      --bg-1: #221306;
      --bg-2: #51300f;
      --bg-3: #9e6518;
      --surface-solid: #38240c;
      --accent: #ffce62;
      --accent-2: #fff9ea;
      --accent-3: #ffe290;
      --info: #ffc171;
    }

    .theme-sapphire .elite-weather-widget,
    .elite-weather-widget.theme-sapphire {
      --theme-name: "Sapphire";
      --theme-color: #091a35;
      --bg-1: #07132a;
      --bg-2: #0e2b5a;
      --bg-3: #1c4a92;
      --surface-solid: #0d2450;
      --accent: #7eb6ff;
      --accent-2: #f2f7ff;
      --accent-3: #a8cbff;
      --info: #88ddff;
    }

    .theme-amethyst .elite-weather-widget,
    .elite-weather-widget.theme-amethyst {
      --theme-name: "Amethyst";
      --theme-color: #1d1234;
      --bg-1: #160d28;
      --bg-2: #342059;
      --bg-3: #6840a5;
      --surface-solid: #281845;
      --accent: #d1a9ff;
      --accent-2: #faf4ff;
      --accent-3: #e4c8ff;
      --info: #b7b0ff;
    }

    .theme-silver .elite-weather-widget,
    .elite-weather-widget.theme-silver {
      --theme-name: "Silver";
      --theme-color: #e1e7ef;
      --bg-1: #d7dde6;
      --bg-2: #bec8d6;
      --bg-3: #95a2b7;
      --surface-0: rgba(255,255,255,0.3);
      --surface-1: rgba(255,255,255,0.5);
      --surface-2: rgba(255,255,255,0.62);
      --surface-3: rgba(255,255,255,0.74);
      --surface-solid: #f4f8fc;
      --line: rgba(42,56,78,0.13);
      --line-strong: rgba(42,56,78,0.2);
      --text: #132038;
      --text-2: rgba(19,32,56,0.82);
      --muted: rgba(19,32,56,0.68);
      --soft: rgba(19,32,56,0.5);
      --accent: #5f7393;
      --accent-2: #132038;
      --accent-3: #8ea0bb;
      --success: #0ea76d;
      --warning: #be7e0d;
      --danger: #cb4a4a;
      --info: #5f7393;
      --shadow: 0 20px 60px rgba(74,91,121,0.2);
      --shadow-soft: 0 10px 30px rgba(74,91,121,0.14);
    }

    .theme-midnight .elite-weather-widget,
    .elite-weather-widget.theme-midnight {
      --theme-name: "Midnight";
      --theme-color: #090c16;
      --bg-1: #060912;
      --bg-2: #11172c;
      --bg-3: #1e2850;
      --surface-solid: #101832;
      --accent: #93a8ff;
      --accent-2: #f5f7ff;
      --accent-3: #bdc7ff;
      --info: #78d7ff;
    }

    .elite-weather-widget *,
    .elite-weather-widget *::before,
    .elite-weather-widget *::after { box-sizing: border-box; }

    .elite-weather-widget .ew-scene,
    .elite-weather-widget .ew-aurora,
    .elite-weather-widget .ew-clouds,
    .elite-weather-widget .ew-mist,
    .elite-weather-widget .ew-noise,
    .elite-weather-widget .ew-vignette,
    .elite-weather-widget .ew-lightning,
    .elite-weather-widget canvas.ew-rain-canvas,
    .elite-weather-widget canvas.ew-glass-canvas {
      position: absolute;
      inset: 0;
      pointer-events: none;
      border-radius: inherit;
    }

    .elite-weather-widget .ew-aurora {
      opacity: 0.85;
      filter: blur(78px);
      background:
        radial-gradient(circle at 22% 22%, color-mix(in oklab, var(--accent) 40%, transparent), transparent 22%),
        radial-gradient(circle at 76% 24%, color-mix(in oklab, var(--info) 35%, transparent), transparent 18%),
        radial-gradient(circle at 54% 76%, color-mix(in oklab, var(--accent-3) 22%, transparent), transparent 26%);
      animation: ew-drift 16s ease-in-out infinite alternate;
      transition: opacity 300ms ease;
    }

    .elite-weather-widget .ew-clouds {
      opacity: 0.48;
      filter: blur(2px);
      transform: scale(1.14);
      background:
        radial-gradient(circle at 10% 15%, rgba(255,255,255,0.05), transparent 18%),
        radial-gradient(circle at 30% 22%, rgba(255,255,255,0.04), transparent 16%),
        radial-gradient(circle at 54% 18%, rgba(255,255,255,0.05), transparent 18%),
        radial-gradient(circle at 76% 24%, rgba(255,255,255,0.04), transparent 17%),
        radial-gradient(circle at 48% 42%, rgba(255,255,255,0.03), transparent 22%);
      animation: ew-clouds-move 30s linear infinite;
      transition: opacity 300ms ease;
    }

    .elite-weather-widget .ew-mist {
      opacity: 0;
      filter: blur(18px);
      background:
        radial-gradient(circle at 18% 95%, rgba(220,238,255,0.08), transparent 18%),
        radial-gradient(circle at 50% 100%, rgba(220,238,255,0.12), transparent 24%),
        radial-gradient(circle at 82% 95%, rgba(220,238,255,0.08), transparent 18%);
      animation: ew-mist-drift 10s ease-in-out infinite alternate;
      transition: opacity 300ms ease;
    }

    .elite-weather-widget.is-raining .ew-mist,
    .elite-weather-widget.is-storm .ew-mist { opacity: 1; }

    .elite-weather-widget .ew-noise {
      opacity: 0.03;
      background-image:
        radial-gradient(circle at 20% 20%, white 0.5px, transparent 1px),
        radial-gradient(circle at 70% 40%, white 0.5px, transparent 1px),
        radial-gradient(circle at 40% 80%, white 0.5px, transparent 1px),
        radial-gradient(circle at 84% 72%, white 0.5px, transparent 1px);
      background-size: 180px 180px;
      mix-blend-mode: screen;
    }

    .elite-weather-widget .ew-vignette { background: radial-gradient(circle, transparent 42%, rgba(0,0,0,0.42) 100%); }

    .elite-weather-widget .ew-lightning {
      opacity: 0;
      background: linear-gradient(to bottom, rgba(244,248,255,0.24), rgba(255,255,255,0));
      mix-blend-mode: screen;
    }

    .elite-weather-widget canvas.ew-rain-canvas,
    .elite-weather-widget canvas.ew-glass-canvas {
      opacity: 0;
      transition: opacity 350ms ease;
    }

    .elite-weather-widget.is-raining canvas.ew-rain-canvas,
    .elite-weather-widget.is-raining canvas.ew-glass-canvas,
    .elite-weather-widget.is-storm canvas.ew-rain-canvas,
    .elite-weather-widget.is-storm canvas.ew-glass-canvas { opacity: 1; }

    .elite-weather-widget .ew-shell { position: relative; z-index: 2; display: grid; gap: 12px; }
    .elite-weather-widget .ew-topbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }

    .elite-weather-widget .ew-brand {
      display: flex;
      align-items: center;
      gap: 10px;
      min-width: 0;
      border: 1px solid var(--line);
      background: var(--surface-1);
      padding: 10px 12px;
      border-radius: 999px;
      backdrop-filter: blur(16px) saturate(140%);
      -webkit-backdrop-filter: blur(16px) saturate(140%);
      box-shadow: var(--shadow-soft);
    }

    .elite-weather-widget .ew-brand-dot {
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: linear-gradient(135deg, var(--accent-2), var(--accent));
      box-shadow: 0 0 16px color-mix(in oklab, var(--accent) 70%, transparent);
      flex: 0 0 auto;
    }

    .elite-weather-widget .ew-brand-title {
      font-size: 13px;
      font-weight: 800;
      letter-spacing: 0.02em;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .elite-weather-widget .ew-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }

    .elite-weather-widget .ew-chip,
    .elite-weather-widget .ew-data-chip,
    .elite-weather-widget .ew-alert-chip {
      border: 1px solid var(--line);
      background: var(--surface-1);
      color: var(--text);
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
      white-space: nowrap;
    }

    .elite-weather-widget .ew-chip { padding: 9px 12px; font-size: 12px; color: var(--muted); }
    .elite-weather-widget .ew-data-chip { padding: 8px 10px; font-size: 12px; color: var(--soft); }
    .elite-weather-widget .ew-alert-chip { padding: 8px 10px; font-size: 12px; }
    .elite-weather-widget .ew-alert-chip.good { color: var(--success); }
    .elite-weather-widget .ew-alert-chip.warn { color: var(--warning); }
    .elite-weather-widget .ew-alert-chip.bad { color: var(--danger); }

    .elite-weather-widget button.ew-btn,
    .elite-weather-widget button.ew-icon-btn,
    .elite-weather-widget button.ew-mini-btn,
    .elite-weather-widget button.ew-tab-btn {
      border: 1px solid var(--line) !important;
      background: var(--surface-1) !important;
      color: var(--text) !important;
      border-radius: 999px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      gap: 8px !important;
      text-decoration: none !important;
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.04) !important;
      transition: transform 160ms ease, background 160ms ease, border-color 160ms ease !important;
      font-family: inherit !important;
      line-height: 1 !important;
      cursor: pointer !important;
      appearance: none !important;
      -webkit-appearance: none !important;
      outline: none !important;
      margin: 0 !important;
      text-transform: none !important;
    }

    .elite-weather-widget button.ew-btn:hover,
    .elite-weather-widget button.ew-icon-btn:hover,
    .elite-weather-widget button.ew-mini-btn:hover,
    .elite-weather-widget button.ew-tab-btn:hover {
      transform: translateY(-1px) !important;
      background: var(--surface-2) !important;
      border-color: var(--line-strong) !important;
    }

    .elite-weather-widget button.ew-btn { padding: 10px 14px !important; font-size: 13px !important; font-weight: 800 !important; }
    .elite-weather-widget button.ew-mini-btn { padding: 8px 12px !important; font-size: 12px !important; font-weight: 800 !important; }
    .elite-weather-widget button.ew-icon-btn { width: 42px !important; height: 42px !important; }
    .elite-weather-widget button.ew-tab-btn { padding: 10px 12px !important; font-size: 12px !important; font-weight: 800 !important; color: var(--muted) !important; }
    .elite-weather-widget button.ew-tab-btn.is-active { color: var(--text) !important; background: var(--surface-2) !important; border-color: var(--line-strong) !important; }

    .elite-weather-widget a.ew-link-chip {
      border: 1px solid var(--line) !important;
      background: var(--surface-1) !important;
      color: var(--accent-2) !important;
      border-radius: 999px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      gap: 8px !important;
      text-decoration: none !important;
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.04) !important;
      transition: transform 160ms ease, background 160ms ease, border-color 160ms ease !important;
      padding: 10px 12px !important;
      font-size: 12px !important;
      font-weight: 700 !important;
      line-height: 1 !important;
    }

    .elite-weather-widget a.ew-link-chip:hover {
      transform: translateY(-1px) !important;
      background: var(--surface-2) !important;
      border-color: var(--line-strong) !important;
    }

    .elite-weather-widget .ew-main {
      display: grid;
      gap: 12px;
      grid-template-columns: 1.08fr 0.92fr;
      align-items: start;
    }

    .elite-weather-widget .ew-left,
    .elite-weather-widget .ew-right { display: grid; gap: 12px; }

    .elite-weather-widget .ew-card,
    .elite-weather-widget .ew-hero,
    .elite-weather-widget .ew-map-card,
    .elite-weather-widget .ew-sheet,
    .elite-weather-widget .ew-metric,
    .elite-weather-widget .ew-links-card,
    .elite-weather-widget .ew-alert-card,
    .elite-weather-widget .ew-chart-card,
    .elite-weather-widget .ew-location-card {
      position: relative;
      overflow: hidden;
      border-radius: var(--radius-lg);
      border: 1px solid var(--line);
      background: var(--surface-1);
      backdrop-filter: blur(var(--blur)) saturate(140%);
      -webkit-backdrop-filter: blur(var(--blur)) saturate(140%);
      box-shadow: var(--shadow-soft);
    }

    .elite-weather-widget .ew-card,
    .elite-weather-widget .ew-hero,
    .elite-weather-widget .ew-map-card,
    .elite-weather-widget .ew-location-card,
    .elite-weather-widget .ew-alert-card,
    .elite-weather-widget .ew-links-card,
    .elite-weather-widget .ew-chart-card { padding: 12px; display: grid; gap: 10px; }

    .elite-weather-widget .ew-hero-top,
    .elite-weather-widget .ew-card-head,
    .elite-weather-widget .ew-map-head,
    .elite-weather-widget .ew-location-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }

    .elite-weather-widget .ew-status-pill {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 10px 12px;
      border-radius: 999px;
      background: var(--surface-1);
      border: 1px solid var(--line);
      color: var(--accent-2);
      font-size: 12px;
      max-width: 100%;
    }

    .elite-weather-widget .ew-pulse {
      width: 9px;
      height: 9px;
      border-radius: 50%;
      background: var(--success);
      animation: ew-pulse 1.8s infinite;
      flex: 0 0 auto;
    }

    .elite-weather-widget .ew-hero-main {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      align-items: flex-end;
      justify-content: space-between;
    }

    .elite-weather-widget .ew-hero-copy {
      flex: 1 1 380px;
      min-width: 0;
    }

    .elite-weather-widget .ew-hero-side {
      flex: 0 0 min(100%, 320px);
      display: grid;
      gap: 10px;
      width: min(100%, 320px);
    }

    .elite-weather-widget .ew-title {
      margin: 0;
      font-size: clamp(2rem, 7vw, 4.2rem);
      line-height: 0.92;
      letter-spacing: -0.05em;
      font-weight: 900;
      text-wrap: balance;
    }

    .elite-weather-widget .ew-subtitle { margin: 8px 0 0; color: var(--muted); font-size: 0.97rem; line-height: 1.6; }

    .elite-weather-widget .ew-temp-row {
      display: flex;
      align-items: end;
      gap: 12px;
      flex-wrap: wrap;
      justify-content: space-between;
      margin-top: 12px;
    }

    .elite-weather-widget .ew-temp-left { display: flex; align-items: end; gap: 12px; flex-wrap: wrap; }

    .elite-weather-widget .ew-temperature {
      font-size: clamp(3.6rem, 12vw, 6rem);
      line-height: 0.9;
      font-weight: 900;
      letter-spacing: -0.07em;
    }

    .elite-weather-widget .ew-condition { font-size: 1rem; color: var(--accent-2); padding-bottom: 8px; font-weight: 700; }

    .elite-weather-widget .ew-condition-orb {
      width: 86px;
      height: 86px;
      border-radius: 24px;
      display: grid;
      place-items: center;
      background: radial-gradient(circle at 35% 30%, rgba(255,255,255,0.18), rgba(255,255,255,0.04));
      border: 1px solid var(--line);
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), 0 16px 30px rgba(0,0,0,0.16);
    }

    .elite-weather-widget .ew-condition-icon { font-size: 34px; animation: ew-float-icon 3.4s ease-in-out infinite; filter: drop-shadow(0 8px 18px rgba(0,0,0,0.16)); }

    .elite-weather-widget .ew-mini-band { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }

    .elite-weather-widget .ew-mini-item {
      padding: 10px 12px;
      border-radius: var(--radius-sm);
      background: var(--surface-1);
      border: 1px solid var(--line);
      min-width: 0;
    }

    .elite-weather-widget .ew-mini-label { font-size: 11px; color: var(--soft); text-transform: uppercase; letter-spacing: 0.08em; }
    .elite-weather-widget .ew-mini-value { margin-top: 4px; font-size: 14px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

    .elite-weather-widget .ew-card-title { margin: 0; font-size: 0.98rem; font-weight: 900; color: var(--accent-2); }
    .elite-weather-widget .ew-card-sub { color: var(--soft); font-size: 12px; }
    .elite-weather-widget .ew-location-title { font-size: 1.15rem; font-weight: 900; line-height: 1.35; text-wrap: balance; }
    .elite-weather-widget .ew-location-sub { color: var(--muted); font-size: 0.94rem; line-height: 1.6; word-break: break-word; }

    .elite-weather-widget .ew-chip-row,
    .elite-weather-widget .ew-alert-row,
    .elite-weather-widget .ew-link-row,
    .elite-weather-widget .ew-theme-list { display: flex; flex-wrap: wrap; gap: 8px; }

    .elite-weather-widget .ew-map-wrap {
      position: relative;
      height: var(--map-height);
      border-radius: var(--radius-md);
      overflow: hidden;
      border: 1px solid var(--line);
      background: var(--surface-0);
    }

    .elite-weather-widget iframe.ew-map-frame {
      width: 100%;
      height: 100%;
      border: 0;
      display: block;
      background: var(--surface-0);
    }

    .elite-weather-widget .ew-map-overlay {
      position: absolute;
      inset: auto 10px 10px 10px;
      padding: 10px 12px;
      border-radius: var(--radius-sm);
      background: color-mix(in oklab, var(--surface-solid) 82%, transparent);
      border: 1px solid var(--line);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      font-size: 12px;
      color: var(--muted);
    }

    .elite-weather-widget .ew-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .elite-weather-widget .ew-metric { padding: 12px; display: grid; gap: 6px; min-height: 92px; }
    .elite-weather-widget .ew-metric-k { font-size: 11px; color: var(--soft); text-transform: uppercase; letter-spacing: 0.08em; }
    .elite-weather-widget .ew-metric-v { font-size: 1.1rem; font-weight: 900; }
    .elite-weather-widget .ew-metric-s { font-size: 12px; color: var(--soft); }

    .elite-weather-widget .ew-widget-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }

    .elite-weather-widget .ew-radar-block,
    .elite-weather-widget .ew-wind-block,
    .elite-weather-widget .ew-sun-block,
    .elite-weather-widget .ew-air-block {
      padding: 12px;
      border-radius: var(--radius-md);
      background: var(--surface-1);
      border: 1px solid var(--line);
      display: grid;
      gap: 10px;
      justify-items: center;
      align-content: start;
    }

    .elite-weather-widget .ew-radar-ring { width: 120px; height: 120px; position: relative; }
    .elite-weather-widget .ew-radar-center {
      position: absolute;
      inset: 0;
      display: grid;
      place-items: center;
      text-align: center;
      padding: 22px;
    }
    .elite-weather-widget .ew-radar-value { font-size: 1.05rem; font-weight: 900; }
    .elite-weather-widget .ew-radar-sub { font-size: 11px; color: var(--soft); margin-top: 6px; }

    .elite-weather-widget .ew-wind-compass {
      width: 120px;
      height: 120px;
      border-radius: 50%;
      position: relative;
      border: 1px solid var(--line);
      background: radial-gradient(circle, rgba(255,255,255,0.08), rgba(255,255,255,0.03));
      box-shadow: inset 0 0 30px rgba(255,255,255,0.03);
    }

    .elite-weather-widget .ew-wind-arrow {
      position: absolute;
      left: 50%;
      top: 16px;
      width: 2px;
      height: 44px;
      background: linear-gradient(to bottom, var(--accent-2), var(--accent));
      transform-origin: 50% calc(100% - 6px);
      transition: transform 450ms ease;
    }

    .elite-weather-widget .ew-wind-arrow::before {
      content: "";
      position: absolute;
      left: 50%;
      top: -8px;
      transform: translateX(-50%);
      border-left: 6px solid transparent;
      border-right: 6px solid transparent;
      border-bottom: 12px solid var(--accent-2);
    }

    .elite-weather-widget .ew-compass-n {
      position: absolute;
      top: 8px;
      left: 50%;
      transform: translateX(-50%);
      font-size: 12px;
      color: var(--soft);
      font-weight: 700;
    }

    .elite-weather-widget .ew-wind-value,
    .elite-weather-widget .ew-sun-value,
    .elite-weather-widget .ew-air-value { font-size: 1rem; font-weight: 900; }
    .elite-weather-widget .ew-wind-dir,
    .elite-weather-widget .ew-sun-sub,
    .elite-weather-widget .ew-air-sub { color: var(--soft); font-size: 12px; text-align: center; }

    .elite-weather-widget .ew-tabs { display: flex; gap: 8px; flex-wrap: wrap; }
    .elite-weather-widget .ew-tab-panel { display: none; }
    .elite-weather-widget .ew-tab-panel.is-active { display: grid; gap: 10px; }

    .elite-weather-widget details.ew-accordion,
    .elite-weather-widget details.ew-settings-group,
    .elite-weather-widget details.ew-status-group {
      border-radius: var(--radius-sm);
      background: var(--surface-1);
      border: 1px solid var(--line);
      overflow: hidden;
    }

    .elite-weather-widget details.ew-accordion summary,
    .elite-weather-widget details.ew-settings-group summary,
    .elite-weather-widget details.ew-status-group summary {
      list-style: none;
      cursor: pointer;
      padding: 12px;
      display: flex;
      justify-content: space-between;
      gap: 10px;
      align-items: center;
      font-weight: 800;
      color: var(--accent-2);
      user-select: none;
    }

    .elite-weather-widget details.ew-accordion summary::-webkit-details-marker,
    .elite-weather-widget details.ew-settings-group summary::-webkit-details-marker,
    .elite-weather-widget details.ew-status-group summary::-webkit-details-marker { display: none; }

    .elite-weather-widget .ew-accordion-body { padding: 0 12px 12px; display: grid; gap: 10px; }
    .elite-weather-widget .ew-settings-grid { display: grid; gap: 10px; padding: 0 12px 12px; }

    .elite-weather-widget .ew-field { display: grid; gap: 6px; }
    .elite-weather-widget .ew-field.is-inline { grid-template-columns: 1fr auto; align-items: center; gap: 10px; }
    .elite-weather-widget .ew-field.is-two { grid-template-columns: 1fr 110px; align-items: center; gap: 10px; }
    .elite-weather-widget .ew-field-row,
    .elite-weather-widget .ew-field-row-3 { display: grid; gap: 10px; }
    .elite-weather-widget .ew-field-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .elite-weather-widget .ew-field-row-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

    .elite-weather-widget label.ew-label,
    .elite-weather-widget .ew-field-label { color: var(--muted); font-size: 13px; line-height: 1.45; }
    .elite-weather-widget .ew-help { color: var(--soft); font-size: 11px; line-height: 1.45; }

    .elite-weather-widget input.ew-input,
    .elite-weather-widget select.ew-select {
      width: 100%;
      height: 40px;
      border-radius: 12px;
      border: 1px solid var(--line);
      background: var(--surface-1);
      color: var(--text);
      padding: 0 12px;
      outline: none;
      font: inherit;
    }

    .elite-weather-widget input.ew-range { width: 100%; accent-color: var(--accent); }
    .elite-weather-widget input.ew-check { width: 18px; height: 18px; accent-color: var(--accent); }

    .elite-weather-widget .ew-mono {
      font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
      font-size: 12px;
      color: var(--soft);
      line-height: 1.6;
      word-break: break-word;
    }

    .elite-weather-widget .ew-debug-box {
      min-height: 120px;
      padding: 12px;
      border-radius: 14px;
      background: var(--surface-0);
      border: 1px solid var(--line);
      white-space: pre-wrap;
    }

    .elite-weather-widget .ew-forecast-list { display: grid; gap: 10px; }

    .elite-weather-widget .ew-forecast-item {
      display: grid;
      grid-template-columns: auto 1fr auto;
      gap: 10px;
      align-items: center;
      padding: 11px 12px;
      border-radius: var(--radius-sm);
      background: var(--surface-1);
      border: 1px solid var(--line);
      font-size: 0.92rem;
    }

    .elite-weather-widget .ew-forecast-item strong { font-size: 0.9rem; }
    .elite-weather-widget .ew-forecast-item span:last-child { color: var(--accent-2); font-weight: 800; }

    .elite-weather-widget .ew-chart-wrap {
      width: 100%;
      min-height: 190px;
      border-radius: var(--radius-md);
      overflow: hidden;
      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
      border: 1px solid var(--line);
      padding: 10px;
    }

    .elite-weather-widget svg.ew-hourly-chart { width: 100%; height: 190px; display: block; }
    .elite-weather-widget .ew-chart-label { fill: var(--soft); font-size: 11px; font-family: Inter, sans-serif; }

    .elite-weather-widget .ew-sheet {
      position: fixed;
      left: 14px;
      right: 14px;
      bottom: 14px;
      max-width: 960px;
      margin: auto;
      max-height: 88vh;
      z-index: 11;
      padding: 10px;
      transform: translateY(calc(100% + 16px));
      transition: transform 240ms ease;
      background: color-mix(in oklab, var(--surface-solid) 82%, transparent);
    }

    .elite-weather-widget .ew-sheet.is-open { transform: translateY(0); }
    .elite-weather-widget .ew-sheet-handle { width: 46px; height: 5px; border-radius: 999px; background: rgba(255,255,255,0.18); margin: 2px auto 8px; }
    .elite-weather-widget .ew-sheet-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 6px; }
    .elite-weather-widget .ew-sheet-title { margin: 0; font-size: 1rem; font-weight: 900; }
    .elite-weather-widget .ew-sheet-actions { display: flex; gap: 8px; flex-wrap: wrap; }
    .elite-weather-widget .ew-sheet-scroll { overflow: auto; max-height: calc(88vh - 70px); padding-right: 2px; }

    .elite-weather-widget .is-hidden { display: none !important; }

    @keyframes ew-drift {
      from { transform: translate3d(-1%, -2%, 0) scale(1); }
      to { transform: translate3d(1%, 2%, 0) scale(1.04); }
    }

    @keyframes ew-clouds-move {
      from { transform: translateX(-2%) scale(1.14); }
      to { transform: translateX(2%) scale(1.18); }
    }

    @keyframes ew-mist-drift {
      from { transform: translate3d(-1%, 0, 0) scale(1); }
      to { transform: translate3d(1%, -1%, 0) scale(1.04); }
    }

    @keyframes ew-pulse {
      0% { box-shadow: 0 0 0 0 rgba(143,247,200,0.55); }
      70% { box-shadow: 0 0 0 10px rgba(143,247,200,0); }
      100% { box-shadow: 0 0 0 0 rgba(143,247,200,0); }
    }

    @keyframes ew-float-icon {
      0%, 100% { transform: translateY(0) scale(1); }
      50% { transform: translateY(-4px) scale(1.03); }
    }

    @keyframes ew-draw-line {
      from { stroke-dashoffset: 1; }
      to { stroke-dashoffset: 0; }
    }

    @media (max-width: 980px) {
      .elite-weather-widget { --map-height: 280px; }
      .elite-weather-widget .ew-main { grid-template-columns: 1fr; }
      .elite-weather-widget .ew-left,
      .elite-weather-widget .ew-right { gap: 10px; }
    }

    @media (max-width: 720px) {
      .elite-weather-widget { --map-height: 250px; padding: 10px; }
      .elite-weather-widget .ew-topbar { align-items: stretch; }
      .elite-weather-widget .ew-actions { justify-content: flex-start; }
      .elite-weather-widget .ew-widget-grid { grid-template-columns: 1fr; }
      .elite-weather-widget .ew-forecast-item { grid-template-columns: 1fr; align-items: start; }
      .elite-weather-widget .ew-field-row,
      .elite-weather-widget .ew-field-row-3 { grid-template-columns: 1fr; }
    }

    @media (max-width: 480px) {
      .elite-weather-widget { --map-height: 220px; }
      .elite-weather-widget .ew-temperature { font-size: 3.2rem; }
      .elite-weather-widget .ew-condition-orb { width: 70px; height: 70px; }
      .elite-weather-widget .ew-condition-icon { font-size: 28px; }
      .elite-weather-widget .ew-mini-band { grid-template-columns: 1fr 1fr; }
      .elite-weather-widget .ew-metrics { grid-template-columns: 1fr 1fr; }
      .elite-weather-widget .ew-sheet { left: 10px; right: 10px; bottom: 10px; }
    }
  
/* BB Weather plugin optimization/add-on layer: preserves original widget and improves safe rendering. */
.elite-weather-widget {
  max-width: 1180px;
  contain: layout paint style;
}
.elite-weather-widget canvas.ew-rain-canvas {
  z-index: 6;
  mix-blend-mode: screen;
}
.elite-weather-widget canvas.ew-glass-canvas {
  z-index: 7;
}
.elite-weather-widget .ew-lightning {
  z-index: 8;
}
.elite-weather-widget .ew-shell {
  z-index: 4;
}
.elite-weather-widget.ew-compact .ew-title {
  font-size: clamp(1.65rem, 5.5vw, 3.2rem);
}
.elite-weather-widget.ew-compact .ew-temperature {
  font-size: clamp(3rem, 9vw, 4.8rem);
}
.elite-weather-widget.ew-compact .ew-card,
.elite-weather-widget.ew-compact .ew-hero,
.elite-weather-widget.ew-compact .ew-map-card,
.elite-weather-widget.ew-compact .ew-location-card,
.elite-weather-widget.ew-compact .ew-alert-card,
.elite-weather-widget.ew-compact .ew-links-card,
.elite-weather-widget.ew-compact .ew-chart-card {
  padding: 10px;
}
.elite-weather-widget.ew-compact .ew-main,
.elite-weather-widget.ew-compact .ew-left,
.elite-weather-widget.ew-compact .ew-right,
.elite-weather-widget.ew-compact .ew-shell {
  gap: 10px;
}
.elite-weather-widget.ew-battery-saver .ew-aurora,
.elite-weather-widget.ew-battery-saver .ew-clouds,
.elite-weather-widget.ew-battery-saver .ew-mist,
.elite-weather-widget.ew-battery-saver .ew-noise {
  animation: none !important;
}
@media (prefers-reduced-motion: reduce) {
  .elite-weather-widget canvas.ew-rain-canvas,
  .elite-weather-widget canvas.ew-glass-canvas,
  .elite-weather-widget .ew-aurora,
  .elite-weather-widget .ew-clouds,
  .elite-weather-widget .ew-mist,
  .elite-weather-widget .ew-lightning {
    animation: none !important;
  }
}

/* BB Weather plugin fixes v1.0.1: restored root wrapper + safe overlay ordering */
.elite-weather-widget {
  overflow: hidden;
  max-width: 1180px;
}
.elite-weather-widget .ew-scene {
  z-index: 3;
  overflow: hidden;
}
.elite-weather-widget .ew-aurora,
.elite-weather-widget .ew-clouds,
.elite-weather-widget .ew-mist,
.elite-weather-widget .ew-noise,
.elite-weather-widget .ew-vignette {
  z-index: 0;
}
.elite-weather-widget canvas.ew-rain-canvas {
  z-index: 5;
  mix-blend-mode: screen;
}
.elite-weather-widget canvas.ew-glass-canvas {
  z-index: 6;
}
.elite-weather-widget .ew-lightning {
  z-index: 7;
}
.elite-weather-widget .ew-shell {
  z-index: 2;
}
.elite-weather-widget .ew-sheet {
  z-index: 20;
}
.elite-weather-widget iframe.ew-map-frame {
  min-height: 180px;
}
.elite-weather-widget img,
.elite-weather-widget canvas,
.elite-weather-widget iframe,
.elite-weather-widget svg {
  max-width: 100%;
}
@media (max-width: 600px) {
  .elite-weather-widget .ew-brand-title { max-width: 190px; }
  .elite-weather-widget .ew-actions { gap: 6px; }
  .elite-weather-widget .ew-chip,
  .elite-weather-widget .ew-data-chip,
  .elite-weather-widget .ew-alert-chip { padding: 7px 9px; font-size: 11px; }
}
