/* Existing Exnovin Breaking News palette; all rules stay inside this plugin. */
.exn-bn {
  --bn-ink: #17263d;
  --bn-muted: #56667c;
  --bn-blue: #1765cf;
  --bn-blue-wash: #eef5ff;
  --bn-border: #dfe7f1;
  --bn-bg: #f6f8fc;
  --bn-card: #fff;
  direction: rtl;
  color: var(--bn-ink);
  background: var(--bn-bg);
  padding: 0 0 64px;
  font-family: inherit;
  font-size: 16px;
  line-height: 1.85;
}
.exn-bn *, .exn-bn *::before, .exn-bn *::after { box-sizing: border-box; }
.exn-bn [hidden] { display: none !important; }
.exn-bn button, .exn-bn select, .exn-bn input { font: inherit; }
.exn-bn button, .exn-bn a, .exn-bn input, .exn-bn select { touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.exn-bn button, .exn-bn a { -webkit-user-drag: none; }
.exn-bn button { cursor: pointer; }
.exn-bn a { color: var(--bn-blue); text-decoration: none; }
.exn-bn :focus-visible { outline: 3px solid var(--bn-blue) !important; outline-offset: 3px; }
.exn-bn-container { width: min(100% - 48px, 1220px); margin-inline: auto; }
.exn-bn-hero { display: grid; grid-template-columns: minmax(0, 1fr) 168px; align-items: center; gap: 24px; padding: 20px 32px 28px; margin-bottom: 28px; border: 1px solid #e1ebf9; border-top: 0; border-radius: 0 0 24px 24px; background: linear-gradient(110deg, #eaf3ff 0%, #f5f9ff 55%, #fff 100%); }
.exn-bn-hero__copy { min-width: 0; }
.exn-bn-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: var(--bn-muted); font-size: 12px; margin-bottom: 4px; }
.exn-bn-breadcrumb a { display: inline-flex; align-items: center; min-height: 44px; color: var(--bn-muted); }
.exn-bn h1 { margin: 0 0 10px; color: var(--bn-ink); font-size: clamp(24px, 2.3vw, 34px); font-weight: 800; line-height: 1.55; text-wrap: balance; }
.exn-bn-hero__copy > p { margin: 0; max-width: 760px; color: var(--bn-muted); font-size: 15px; line-height: 1.95; }
.exn-bn-stats { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; margin-top: 20px; color: var(--bn-muted); font-size: 12px; }
.exn-bn-stats > span { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 5px; min-width: 0; }
.exn-bn-stats strong { font-size: 17px; font-weight: 750; color: var(--bn-blue); }
.exn-bn-stats time { color: var(--bn-ink); font-variant-numeric: tabular-nums; }
.exn-bn-hero__visual { color: var(--bn-blue); width: 168px; height: 168px; }
.exn-bn-hero__visual svg { display: block; width: 100%; height: 100%; }
.exn-bn-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 24px; padding: 3px; }
.exn-bn-chip { display: inline-flex; align-items: center; justify-content: center; gap: 9px; flex: 0 0 auto; min-height: 44px; padding: 8px 17px; border: 1px solid var(--bn-border); border-radius: 999px; background: #fff; color: var(--bn-muted) !important; text-decoration: none !important; font-size: 13px; font-weight: 600; line-height: 1.7; transition: color 150ms ease, background-color 150ms ease, border-color 150ms ease; }
.exn-bn-chip small { font-size: 11px; font-weight: 500; font-variant-numeric: tabular-nums; }
.exn-bn-chip.is-current { background: var(--bn-blue); border-color: var(--bn-blue); color: #fff !important; }
.exn-bn-columns { display: grid; grid-template-columns: minmax(0, 1fr) 280px; grid-template-areas: 'results filters'; align-items: start; gap: 24px; }
.exn-bn-sidebar { grid-area: filters; min-width: 0; }
.exn-bn-filter-toggle { display: none; }
.exn-bn-filters { padding: 20px; background: var(--bn-card); border: 1px solid var(--bn-border); border-radius: 16px; box-shadow: 0 2px 6px rgb(23 38 61 / 2%); }
.exn-bn-filter-form { margin: 0; }
.exn-bn-filters__heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 20px; }
.exn-bn-filters__heading h2 { margin: 0 !important; padding: 0; color: var(--bn-ink); font-size: 17px !important; line-height: 1.6; font-weight: 750; }
.exn-bn-filter-form fieldset { min-width: 0; margin: 0; padding: 0 0 20px; border: 0; }
.exn-bn-filter-form fieldset + fieldset { border-top: 1px solid var(--bn-border); padding-top: 20px; }
.exn-bn-filter-form legend { display: block; float: none; width: 100%; margin: 0 0 8px; padding: 0; color: var(--bn-ink); font-size: 13px; font-weight: 700; }
.exn-bn-filter-list { max-height: 340px; overflow-y: auto; overscroll-behavior-y: contain; scrollbar-width: thin; padding: 3px; }
.exn-bn-check { display: flex; align-items: center; gap: 10px; min-height: 44px; padding-block: 7px; color: var(--bn-muted); font-size: 13px; line-height: 1.7; cursor: pointer; }
.exn-bn-check input { appearance: auto; -webkit-appearance: auto; accent-color: var(--bn-blue); width: 18px; height: 18px; flex: 0 0 18px; margin: 0; padding: 0; cursor: pointer; }
.exn-bn-check > span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.exn-bn-check small { color: var(--bn-muted); font-size: 12px; min-width: 20px; text-align: end; font-variant-numeric: tabular-nums; }
.exn-bn-submit { display: inline-flex; width: 100%; min-height: 46px; align-items: center; justify-content: center; padding: 8px 16px; border: 1px solid var(--bn-blue); border-radius: 10px; background: var(--bn-blue); color: #fff; font-size: 14px; font-weight: 700; line-height: 1.7; box-shadow: none; transition: background-color 150ms ease, border-color 150ms ease; }
.exn-bn-reset { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; color: var(--bn-blue) !important; font-size: 12px; text-decoration: none !important; }
.exn-bn-results { grid-area: results; min-width: 0; }
.exn-bn-results__heading { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: 8px; margin: 0 2px 16px; min-height: 28px; }
.exn-bn-section-title { margin: 0 !important; padding: 0; font-size: 20px !important; line-height: 1.65; font-weight: 800; color: var(--bn-ink); }
.exn-bn-result-count { color: var(--bn-muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.exn-bn-card { margin-bottom: 16px; border: 1px solid var(--bn-border); border-radius: 16px; background: var(--bn-card); box-shadow: 0 2px 6px rgb(23 38 61 / 2%); overflow-wrap: anywhere; }
.exn-bn-card.is-important { border-color: #d9b869; box-shadow: inset -3px 0 0 #c99935, 0 2px 6px rgb(23 38 61 / 2%); }
.exn-bn-card__summary { padding: 20px 24px 0; }
.exn-bn-card__top { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; color: var(--bn-muted); font-size: 12px; line-height: 1.8; }
.exn-bn-card__top time { margin-inline-start: auto; font-size: 12px; font-variant-numeric: tabular-nums; }
.exn-bn-source { color: #255b9b; font-weight: 600; overflow-wrap: anywhere; }
.exn-bn-important { padding: 2px 9px; border-radius: 6px; color: #79530c; background: #fff3d5; font-size: 11px; font-weight: 600; }
.exn-bn-card-title { margin: 0 !important; padding: 0 !important; font-size: 18px !important; font-weight: 750 !important; line-height: 1.8 !important; color: var(--bn-ink); }
.exn-bn-card__topics { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 10px; }
.exn-bn-topic { padding: 2px 9px; border-radius: 6px; background: #f1f5fa; color: var(--bn-muted); font-size: 11px; font-weight: 500; line-height: 1.8; }
.exn-bn-card__excerpt { margin: 12px 0 0; color: var(--bn-muted); font-size: 15px; line-height: 1.95; }
.exn-bn-card__body { padding: 0 24px; color: #35465d; font-size: 15px; line-height: 2; }
.exn-bn-card__body.exn-bn-body-enter:not([hidden]) { animation: exn-bn-body-enter 150ms ease-out; }
.exn-bn-body-content > :first-child { margin-top: 14px; }
.exn-bn-body-content > :last-child { margin-bottom: 0; }
.exn-bn-body-content p { margin: 12px 0; line-height: 2; }
.exn-bn-body-content ul, .exn-bn-body-content ol { padding-inline-start: 22px; margin-block: 12px; }
.exn-bn-body-content h3, .exn-bn-body-content h4 { margin: 18px 0 8px; font-size: 16px; font-weight: 700; color: var(--bn-ink); line-height: 1.8; }
.exn-bn-body-content blockquote { margin: 16px 0; padding: 12px 16px; border: 0; border-inline-start: 3px solid #9ac4fa; border-radius: 8px; background: var(--bn-blue-wash); color: #35465d; }
.exn-bn-card__footer { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; margin: 16px 24px 0; padding: 10px 0 12px; border-top: 1px solid #edf1f6; }
.exn-bn-expand { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; margin: 0; padding: 6px 0; border: 0 !important; border-radius: 6px; background: transparent !important; box-shadow: none !important; color: var(--bn-blue) !important; font-size: 13px !important; font-weight: 600 !important; line-height: 1.7; cursor: pointer; }
.exn-bn-chevron { display: inline-flex; flex: 0 0 20px; align-items: center; justify-content: center; width: 20px; height: 20px; transition: transform 160ms ease; }
.exn-bn-chevron svg { display: block; width: 18px; height: 18px; }
.exn-bn-expand[aria-expanded='true'] .exn-bn-chevron, .exn-bn-filter-toggle[aria-expanded='true'] .exn-bn-chevron { transform: rotate(180deg); }
.exn-bn-votes { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-inline-start: auto; }
.exn-bn-vote { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 44px; min-height: 44px; margin: 0; padding: 7px 10px; border: 1px solid #e1e7ef; border-radius: 9px; box-shadow: none; background: #fff; color: var(--bn-muted); font-size: 12px; font-weight: 500; line-height: 1.7; transition: color 150ms ease, background-color 150ms ease, border-color 150ms ease; }
.exn-bn-vote svg { display: block; flex: 0 0 17px; width: 17px; height: 17px; }
.exn-bn-vote [data-count] { min-width: 10px; font-variant-numeric: tabular-nums; }
.exn-bn-vote.is-selected, .exn-bn-vote[aria-pressed='true'] { color: var(--bn-blue); border-color: #91b6e8; background: var(--bn-blue-wash); }
.exn-bn-vote:disabled { opacity: .65; cursor: default; }
.exn-bn-votes[aria-busy='true'] .exn-bn-vote { cursor: progress; }
.exn-bn-vote-message { flex: 0 0 100%; color: #784b16; font-size: 12px; line-height: 1.8; }
.exn-bn-vote-message:empty { display: none; }
.exn-bn-empty { border: 1px dashed #becddd; border-radius: 16px; padding: 32px 24px; text-align: center; background: #fff; color: var(--bn-muted); }
.exn-bn-empty p { margin: 0 0 8px; }
.exn-bn-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; margin-top: 28px; }
.exn-bn-pagination a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 8px 13px; border: 1px solid var(--bn-border); border-radius: 9px; background: #fff; color: var(--bn-muted); text-decoration: none !important; font-size: 13px; line-height: 1.7; }
.exn-bn-pagination a[aria-current='page'] { background: var(--bn-blue); color: #fff; border-color: var(--bn-blue); }
.exn-bn-pagination > span { padding-inline: 3px; color: var(--bn-muted); }
.exn-bn-feed.is-loading { opacity: .7; }
.exn-bn-no-script { color: var(--bn-muted); font-size: 12px; margin: 20px 0 0; }
.exn-bn-visually-hidden { position: absolute !important; height: 1px !important; width: 1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; }
.exn-bn-live-notice { position: fixed; z-index: 90; inset-inline: 16px; bottom: calc(20px + env(safe-area-inset-bottom)); width: fit-content; max-width: min(600px, calc(100% - 32px)); margin-inline: auto; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px 16px; padding: 12px 16px; border: 1px solid var(--bn-border); border-radius: 12px; background: #fff; color: var(--bn-ink); box-shadow: 0 6px 24px rgb(21 49 86 / 16%); font-size: 14px; line-height: 1.8; }
.exn-bn-live-notice[hidden], .exn-bn-live-notice [hidden] { display: none !important; }
.exn-bn-live-notice button, .exn-bn-live-notice a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 14px; border: 1px solid var(--bn-blue); border-radius: 8px; background: var(--bn-blue); color: #fff !important; font: inherit; font-weight: 600; text-decoration: none !important; cursor: pointer; }
.exn-bn-live-notice button:disabled { opacity: .65; cursor: progress; }
.exn-bn-live-notice button:focus-visible, .exn-bn-live-notice a:focus-visible { outline: 2px solid var(--bn-blue); outline-offset: 3px; }
@keyframes exn-bn-body-enter { from { opacity: .35; } to { opacity: 1; } }
@media (hover: hover) and (pointer: fine) {
  .exn-bn-chip:not(.is-current):hover, .exn-bn-vote:not(:disabled):hover, .exn-bn-pagination a:not([aria-current]):hover { color: var(--bn-blue) !important; border-color: #9fbee7; background: var(--bn-blue-wash); }
  .exn-bn-submit:hover { background: #1155b3; border-color: #1155b3; }
  .exn-bn-expand:hover, .exn-bn-reset:hover, .exn-bn-breadcrumb a:hover { text-decoration: underline !important; text-underline-offset: 4px; }
}
@media (max-width: 1023px) {
  .exn-bn-columns { grid-template-columns: minmax(0, 1fr) 244px; gap: 20px; }
  .exn-bn-hero { grid-template-columns: minmax(0, 1fr) 132px; padding-inline: 24px; }
  .exn-bn-hero__visual { width: 132px; height: 132px; }
  .exn-bn-filters { padding: 16px; }
  .exn-bn-card__summary { padding: 18px 20px 0; }
  .exn-bn-card__body { padding-inline: 20px; }
  .exn-bn-card__footer { margin-inline: 20px; }
}
@media (max-width: 767px) {
  .exn-bn { padding-bottom: calc(36px + env(safe-area-inset-bottom)); }
  .exn-bn-container { width: min(100% - 32px, 1220px); }
  .exn-bn-hero { display: block; padding: 12px 18px 22px; margin-bottom: 20px; border-radius: 0 0 18px 18px; }
  .exn-bn-hero__visual { display: none; }
  .exn-bn h1 { font-size: 25px; line-height: 1.6; margin-bottom: 8px; }
  .exn-bn-hero__copy > p { font-size: 14px; }
  .exn-bn-stats { gap: 8px 18px; margin-top: 16px; font-size: 12px; }
  .exn-bn-stats strong { font-size: 16px; }
  .exn-bn-stats__latest { flex-basis: 100%; }
  .exn-bn-chips { flex-wrap: nowrap; max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; -webkit-overflow-scrolling: touch; margin-bottom: 16px; padding-bottom: 10px; }
  .exn-bn-chip { padding-inline: 15px; max-width: 90vw; }
  .exn-bn-chip > span { overflow-wrap: anywhere; }
  .exn-bn-columns { display: flex; flex-direction: column; gap: 20px; }
  .exn-bn-sidebar, .exn-bn-results { width: 100%; }
  .exn-bn-filter-toggle { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid var(--bn-border); border-radius: 10px; box-shadow: none; background: #fff; color: var(--bn-ink); font-size: 14px; font-weight: 600; line-height: 1.7; }
  .exn-bn-filter-toggle > svg { flex: 0 0 20px; width: 20px; height: 20px; color: var(--bn-blue); }
  .exn-bn-filter-toggle > .exn-bn-chevron { margin-inline-start: auto; }
  .exn-bn-filter-active-count { display: inline-flex; justify-content: center; min-width: 22px; padding-inline: 5px; border-radius: 6px; background: var(--bn-blue-wash); color: var(--bn-blue); font-size: 12px; }
  .exn-bn-filter-toggle:not([hidden]) + .exn-bn-filters { margin-top: 10px; }
  .exn-bn-filters { padding: 16px; }
  .exn-bn-filters__heading { margin-bottom: 14px; }
  .exn-bn-filter-list { max-height: 300px; }
  .exn-bn-check { font-size: 14px; }
  .exn-bn-check input { font-size: 16px; }
  .exn-bn-section-title { font-size: 18px !important; }
  .exn-bn-results__heading { margin-bottom: 12px; }
  .exn-bn-card { border-radius: 14px; margin-bottom: 12px; }
  .exn-bn-card__summary { padding: 16px 16px 0; }
  .exn-bn-card__top { gap: 5px 10px; margin-bottom: 10px; }
  .exn-bn-card__top time { font-size: 11px; }
  .exn-bn-card-title { font-size: 16px !important; line-height: 1.85 !important; }
  .exn-bn-card__excerpt, .exn-bn-card__body { font-size: 14px; line-height: 2; }
  .exn-bn-card__body { padding-inline: 16px; }
  .exn-bn-card__footer { margin: 14px 16px 0; gap: 6px 10px; padding-block: 8px 10px; }
  .exn-bn-vote { padding-inline: 8px; }
}
@media (max-width: 420px) {
  .exn-bn-vote > span:not([data-count]) { position: absolute; height: 1px; width: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .exn-bn-vote { min-width: 52px; }
  .exn-bn-card__top time { margin-inline-start: 0; flex-basis: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .exn-bn *, .exn-bn *::before, .exn-bn *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
