
:root{
  --dxswb-bg:#070a0f;--dxswb-panel:#101722;--dxswb-panel2:#0c111a;
  --dxswb-text:#e8f0ff;--dxswb-muted:#7d8da8;--dxswb-accent:#5eead4;
  --dxswb-accent2:#38bdf8;--dxswb-border:rgba(255,255,255,.08)
}
.dxswb-panel{position:relative;box-sizing:border-box;width:100%!important;max-width:none!important;margin:34px auto 46px!important;padding:26px 30px 24px;overflow:hidden;color:var(--dxswb-text);background:radial-gradient(circle at 8% 0%,rgba(56,189,248,.07),transparent 30%),radial-gradient(circle at 92% 0%,rgba(94,234,212,.055),transparent 28%),var(--dxswb-panel);border:1px solid var(--dxswb-border);border-radius:16px}
.dxswb-accent{position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,var(--dxswb-accent),var(--dxswb-accent2),transparent)}
.dxswb-head{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px}
.dxswb-kicker{display:flex;gap:10px;align-items:center;color:var(--dxswb-accent);font-size:.69rem;font-weight:800;letter-spacing:.15em}
.dxswb-live{display:inline-flex;gap:7px;align-items:center;color:var(--dxswb-text)}
.dxswb-live-dot{width:7px;height:7px;border-radius:50%;background:var(--dxswb-accent);box-shadow:0 0 0 4px rgba(94,234,212,.08);animation:dxswb-pulse 2.2s ease-in-out infinite}
@keyframes dxswb-pulse{0%,100%{opacity:1}50%{opacity:.4}}
.dxswb-brand h2{margin:4px 0 0!important;color:var(--dxswb-text)!important;font-size:clamp(1.15rem,1.7vw,1.55rem);line-height:1.2;letter-spacing:-.025em}
.dxswb-head-right{display:flex;gap:16px;align-items:center}
.dxswb-updated{color:var(--dxswb-muted);font-size:.74rem}
.dxswb-open{color:var(--dxswb-muted)!important;font-size:.8rem;font-weight:700;text-decoration:none!important}
.dxswb-open:hover{color:var(--dxswb-accent)!important}
.dxswb-live-grid{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(520px,1.38fr);gap:18px;margin-bottom:14px}
.dxswb-guide,.dxswb-best{background:rgba(7,10,15,.38);border:1px solid var(--dxswb-border);border-radius:13px;padding:18px}
.dxswb-section-label{margin-bottom:6px;color:var(--dxswb-muted);font-size:.66rem;font-weight:800;letter-spacing:.14em}
.dxswb-guide-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.dxswb-guide-top>strong{font-size:1.16rem;line-height:1.35}
.dxswb-score{flex:0 0 auto;padding:5px 8px;border:1px solid rgba(255,255,255,.09);border-radius:999px;color:var(--dxswb-muted);font-size:.7rem}
.dxswb-guide p{margin:10px 0 12px!important;color:var(--dxswb-muted)!important;font-size:.86rem;line-height:1.5}
.dxswb-tune{display:inline-flex;gap:6px;align-items:center;color:var(--dxswb-accent)!important;font-size:.8rem;font-weight:700;text-decoration:none!important}
.dxswb-active-pill{display:inline-flex;gap:8px;align-items:center;margin-top:14px;padding:6px 9px;border:1px solid var(--dxswb-border);border-radius:999px;color:var(--dxswb-muted);font-size:.72rem;font-weight:600}
.dxswb-active-pill span{width:6px;height:6px;border-radius:50%;background:var(--dxswb-accent)}
.dxswb-best-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:8px}
.dxswb-best-head>div>strong{font-size:.96rem}
.dxswb-best-head>span{color:var(--dxswb-muted);font-size:.69rem}
.dxswb-best-list{display:grid;gap:5px}
.dxswb-best-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto 44px;gap:10px;align-items:center;padding:8px 9px;color:var(--dxswb-text)!important;background:rgba(255,255,255,.015);border:1px solid transparent;border-radius:9px;text-decoration:none!important;transition:background .15s ease,border-color .15s ease}
.dxswb-best-row:hover{background:rgba(94,234,212,.045);border-color:rgba(94,234,212,.15)}
.dxswb-rank{color:var(--dxswb-muted);font-size:.72rem;font-weight:700}
.dxswb-station,.dxswb-path{display:flex;min-width:0;flex-direction:column}
.dxswb-station strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}
.dxswb-station small,.dxswb-path small{color:var(--dxswb-muted);font-size:.68rem}
.dxswb-path{text-align:right}
.dxswb-path strong{font-size:.76rem}
.dxswb-dxscore{padding:4px 6px;text-align:center;color:var(--dxswb-accent);border:1px solid rgba(94,234,212,.16);border-radius:999px;font-size:.68rem;font-weight:800}
.dxswb-weather{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 16px}
.dxswb-weather>div{display:flex;gap:7px;align-items:center;padding:5px 9px;background:rgba(7,10,15,.32);border:1px solid var(--dxswb-border);border-radius:999px;font-size:.7rem}
.dxswb-weather span{color:var(--dxswb-muted)}
.dxswb-weather strong{color:var(--dxswb-text)}
.dxswb-hf strong{color:var(--dxswb-accent)}
.dxswb-search-wrap{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:center;padding-top:15px;border-top:1px solid var(--dxswb-border)}
.dxswb-search-title{display:flex;min-width:180px;flex-direction:column}
.dxswb-search-title strong{font-size:.78rem}
.dxswb-search-title span{color:var(--dxswb-muted);font-size:.67rem}
.dxswb-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;margin:0!important}
.dxswb-search-field{display:flex;align-items:center;background:var(--dxswb-panel2);border:1px solid rgba(255,255,255,.11);border-radius:9px}
.dxswb-search-field:focus-within{border-color:rgba(94,234,212,.42);box-shadow:0 0 0 3px rgba(94,234,212,.05)}
.dxswb-search-icon{padding-left:13px;color:var(--dxswb-muted)}
.dxswb-search input[type=search]{width:100%;height:42px;margin:0!important;padding:0 12px 0 9px!important;color:var(--dxswb-text)!important;background:transparent!important;border:0!important;outline:none!important;box-shadow:none!important;font:inherit}
.dxswb-search input::placeholder{color:var(--dxswb-muted)}
.dxswb-search button{min-height:42px;margin:0!important;padding:0 16px!important;color:#071015!important;background:linear-gradient(90deg,var(--dxswb-accent),var(--dxswb-accent2))!important;border:0!important;border-radius:9px!important;font-size:.82rem;font-weight:800;white-space:nowrap;cursor:pointer}
.dxswb-fallback{display:flex;gap:8px;flex-direction:column;margin:6px 0 16px;padding:16px;background:rgba(7,10,15,.35);border:1px solid var(--dxswb-border);border-radius:12px}
.dxswb-fallback span{color:var(--dxswb-muted);font-size:.82rem}
.dxswb-panel.is-compact{width:min(900px,calc(100vw - 32px))!important;padding:22px}
.dxswb-panel.is-compact .dxswb-search-wrap{border-top:0;padding-top:0}
.dxswb-search-only .dxswb-search{margin:1rem 0!important}
body .wp-block-shortcode:has(.dxswb-panel),
body .wp-block-post-content > *:has(.dxswb-panel){
  width:min(1380px,calc(100vw - 64px))!important;
  max-width:none!important;
  margin-left:50%!important;
  margin-right:0!important;
  transform:translateX(-50%)!important;
}
@media(max-width:900px){
 .dxswb-panel{width:min(920px,calc(100vw - 30px))!important;padding:22px 18px}
 .dxswb-live-grid{grid-template-columns:1fr}
 .dxswb-search-wrap{grid-template-columns:1fr;gap:8px}
}
@media(max-width:620px){
 .dxswb-head{align-items:flex-start}
 .dxswb-head-right{flex-direction:column;align-items:flex-end;gap:5px}
 .dxswb-best-row{grid-template-columns:28px minmax(0,1fr) 40px}
 .dxswb-path{display:none}
 .dxswb-search{grid-template-columns:1fr}
 .dxswb-search button{width:100%}
}
@media(prefers-reduced-motion:reduce){.dxswb-live-dot{animation:none}}

/* v0.2.1: isolate Bridge cards from theme post/article styling */
.dxswb-live-grid,
.dxswb-guide,
.dxswb-best,
.dxswb-best-list,
.dxswb-best-row {
  min-height: 0 !important;
  height: auto !important;
}

.dxswb-guide,
.dxswb-best {
  margin: 0 !important;
  box-sizing: border-box !important;
}

.dxswb-best-row {
  margin: 0 !important;
  min-height: 54px !important;
  padding: 9px 10px !important;
  line-height: 1.3 !important;
}

.dxswb-best-row > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

@media(max-width:900px){
  body .wp-block-shortcode:has(.dxswb-panel),
  body .wp-block-post-content > *:has(.dxswb-panel){
    width:min(920px,calc(100vw - 30px))!important;
  }
}


/* v0.2.2 – reliable full-width breakout from Gutenberg constrained layouts */
.dxswb-panel:not(.is-compact) {
  width: min(1380px, calc(100vw - 64px)) !important;
  max-width: none !important;
  margin-left: 50% !important;
  margin-right: 0 !important;
  transform: translateX(-50%) !important;
}

.wp-block-shortcode .dxswb-panel,
.wp-block-post-content .dxswb-panel,
.entry-content .dxswb-panel {
  max-width: none !important;
}

@media (min-width: 820px) {
  .dxswb-panel:not(.is-compact) .dxswb-live-grid {
    grid-template-columns: minmax(340px, .85fr) minmax(560px, 1.35fr) !important;
  }

  .dxswb-panel:not(.is-compact) .dxswb-search-wrap {
    grid-template-columns: 220px minmax(0, 1fr) !important;
  }
}

@media (max-width: 819px) {
  .dxswb-panel:not(.is-compact) {
    width: calc(100vw - 28px) !important;
  }

  .dxswb-panel:not(.is-compact) .dxswb-live-grid {
    grid-template-columns: 1fr !important;
  }

  .dxswb-panel:not(.is-compact) .dxswb-search-wrap {
    grid-template-columns: 1fr !important;
  }
}


/* v0.2.3 – hard isolation for Norrsken/Gutenberg layout interference */

/* Main two-column live area */
.dxswb-panel:not(.is-compact) .dxswb-live-grid {
  display: grid !important;
  grid-template-columns: minmax(330px, .82fr) minmax(620px, 1.38fr) !important;
  gap: 18px !important;
  align-items: start !important;
}

/* Cards should size to their content, never inherit post/card heights. */
.dxswb-panel .dxswb-guide,
.dxswb-panel .dxswb-best {
  display: block !important;
  position: relative !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 18px !important;
  align-self: start !important;
}

/* BEST DX: use a boring, bulletproof vertical flex list. */
.dxswb-panel .dxswb-best-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
}

.dxswb-panel a.dxswb-best-row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;

  width: 100% !important;
  height: 58px !important;
  min-height: 58px !important;
  max-height: 58px !important;

  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 8px 10px !important;

  line-height: 1.2 !important;
  text-indent: 0 !important;
  overflow: hidden !important;
}

.dxswb-panel a.dxswb-best-row .dxswb-rank {
  display: block !important;
  flex: 0 0 38px !important;
  width: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  line-height: 1 !important;
}

.dxswb-panel a.dxswb-best-row .dxswb-station {
  display: flex !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 12px 0 0 !important;
  align-items: flex-start !important;
  justify-content: center !important;
  text-align: left !important;
}

.dxswb-panel a.dxswb-best-row .dxswb-station strong,
.dxswb-panel a.dxswb-best-row .dxswb-station small,
.dxswb-panel a.dxswb-best-row .dxswb-path strong,
.dxswb-panel a.dxswb-best-row .dxswb-path small {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.25 !important;
}

.dxswb-panel a.dxswb-best-row .dxswb-station strong,
.dxswb-panel a.dxswb-best-row .dxswb-station small {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.dxswb-panel a.dxswb-best-row .dxswb-path {
  display: flex !important;
  flex: 0 0 112px !important;
  width: 112px !important;
  margin: 0 !important;
  padding: 0 10px 0 0 !important;
  align-items: flex-end !important;
  justify-content: center !important;
  text-align: right !important;
}

.dxswb-panel a.dxswb-best-row .dxswb-dxscore {
  display: inline-flex !important;
  flex: 0 0 48px !important;
  width: 48px !important;
  height: 28px !important;
  min-height: 28px !important;
  max-height: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  line-height: 1 !important;
}

/* Search: title + one horizontal form, no theme-induced wrapping. */
.dxswb-panel:not(.is-compact) .dxswb-search-wrap {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 20px !important;
  width: 100% !important;
}

.dxswb-panel:not(.is-compact) .dxswb-search-title {
  flex: 0 0 220px !important;
  width: 220px !important;
  margin: 0 !important;
}

.dxswb-panel:not(.is-compact) form.dxswb-search {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 9px !important;
  min-width: 0 !important;
  width: auto !important;
  margin: 0 !important;
}

.dxswb-panel:not(.is-compact) .dxswb-search-field {
  display: flex !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
  margin: 0 !important;
}

.dxswb-panel:not(.is-compact) form.dxswb-search button {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 190px !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Tablet: still horizontal enough to look like a dashboard. */
@media (min-width: 820px) and (max-width: 1100px) {
  .dxswb-panel:not(.is-compact) .dxswb-live-grid {
    grid-template-columns: minmax(300px, .9fr) minmax(470px, 1.1fr) !important;
  }

  .dxswb-panel a.dxswb-best-row .dxswb-path {
    flex-basis: 96px !important;
    width: 96px !important;
  }
}

/* Phone/narrow tablet: intentional stacking only here. */
@media (max-width: 819px) {
  .dxswb-panel:not(.is-compact) .dxswb-live-grid {
    grid-template-columns: 1fr !important;
  }

  .dxswb-panel:not(.is-compact) .dxswb-search-wrap {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .dxswb-panel:not(.is-compact) .dxswb-search-title {
    flex-basis: auto !important;
    width: 100% !important;
  }

  .dxswb-panel:not(.is-compact) form.dxswb-search {
    flex-direction: column !important;
  }

  .dxswb-panel:not(.is-compact) form.dxswb-search button {
    width: 100% !important;
  }
}


/* v0.2.4 – final spacing/alignment pass */

/* Make both live cards visually form one balanced dashboard row. */
@media (min-width: 820px) {
  .dxswb-panel:not(.is-compact) .dxswb-live-grid {
    align-items: stretch !important;
  }

  .dxswb-panel:not(.is-compact) .dxswb-guide,
  .dxswb-panel:not(.is-compact) .dxswb-best {
    height: 100% !important;
    align-self: stretch !important;
  }

  .dxswb-panel:not(.is-compact) .dxswb-guide {
    display: flex !important;
    flex-direction: column !important;
  }

  .dxswb-panel:not(.is-compact) .dxswb-active-pill {
    margin-top: auto !important;
    align-self: flex-start !important;
  }
}

/* Give Best DX rows enough room for station + site/frequency without clipping. */
.dxswb-panel a.dxswb-best-row {
  height: 68px !important;
  min-height: 68px !important;
  max-height: 68px !important;
  padding-top: 9px !important;
  padding-bottom: 9px !important;
  overflow: visible !important;
}

.dxswb-panel a.dxswb-best-row .dxswb-station {
  min-height: 42px !important;
  justify-content: center !important;
  overflow: hidden !important;
}

.dxswb-panel a.dxswb-best-row .dxswb-station strong {
  margin-bottom: 4px !important;
  font-size: .84rem !important;
  line-height: 1.15 !important;
}

.dxswb-panel a.dxswb-best-row .dxswb-station small {
  font-size: .69rem !important;
  line-height: 1.2 !important;
}

.dxswb-panel a.dxswb-best-row .dxswb-path {
  min-height: 38px !important;
  justify-content: center !important;
}

.dxswb-panel a.dxswb-best-row .dxswb-path strong {
  margin-bottom: 3px !important;
}

/* Keep the footer/status area close to the cards. */
.dxswb-panel .dxswb-weather {
  margin-top: 14px !important;
  margin-bottom: 16px !important;
}

/* Slightly tighten the entire dashboard vertically. */
.dxswb-panel:not(.is-compact) {
  padding-bottom: 22px !important;
}

@media (max-width: 819px) {
  .dxswb-panel a.dxswb-best-row {
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
  }
}
