/* V2 runtime color safety net.
   Ensures tag/notification colors render even when utility classes are absent
   from the compiled site.css output. */

.ring-1 {
  box-shadow: inset 0 0 0 1px var(--tw-ring-color, rgba(100, 116, 139, 0.45));
}

/* Site header */
.ch-site-header {
  border-bottom: 1px solid rgba(15, 118, 110, 0.28);
  background: linear-gradient(180deg, rgba(2, 6, 23, 0.95), rgba(15, 23, 42, 0.90));
  box-shadow: 0 8px 24px rgba(2, 6, 23, 0.28);
  backdrop-filter: blur(14px);
}

.ch-site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  max-width: 80rem;
  margin: 0 auto;
  padding: 0.42rem 1rem;
}

.ch-site-brand {
  display: inline-grid;
  align-items: start;
  gap: 0.08rem;
  min-width: 0;
  color: rgb(226, 232, 240);
  text-decoration: none;
}

.ch-site-brand__logo {
  width: auto;
  height: 2.1rem;
  flex: 0 0 auto;
  user-select: none;
}

.ch-site-brand__copy {
  display: grid;
  min-width: 0;
}

.ch-site-brand__slogan {
  max-width: 27rem;
  color: rgba(148, 163, 184, 0.92);
  font-size: 0.68rem;
  line-height: 1.2;
  white-space: nowrap;
}

.ch-site-nav {
  display: none;
  align-items: center;
  gap: 0.12rem;
  padding: 0.16rem;
  border: 1px solid rgba(51, 65, 85, 0.56);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.46);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

.ch-site-nav__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.32rem;
  min-height: 1.95rem;
  border-radius: 7px;
  padding: 0.34rem 0.58rem;
  color: rgba(203, 213, 225, 0.86);
  font-size: 0.8rem;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.16s ease, background-color 0.16s ease, box-shadow 0.16s ease;
}

.ch-site-nav__link:hover,
.ch-site-nav__link:focus-visible {
  color: rgb(240, 253, 250);
  background: rgba(20, 184, 166, 0.10);
  outline: none;
}

.ch-site-nav__link:focus-visible {
  box-shadow: 0 0 0 2px rgba(45, 212, 191, 0.35);
}

.ch-site-nav__link--active,
.ch-site-nav__link[aria-current="page"] {
  color: rgb(204, 251, 241);
  background: rgba(20, 184, 166, 0.12);
  box-shadow: inset 0 -1px 0 rgba(45, 212, 191, 0.68);
}

.ch-site-nav__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(251, 191, 36, 0.32);
  border-radius: 999px;
  padding: 0.05rem 0.3rem;
  color: rgb(253, 230, 138);
  background: rgba(120, 53, 15, 0.28);
  font-size: 0.58rem;
  font-weight: 700;
  line-height: 1.2;
}

.ch-site-mobile {
  position: relative;
  flex: 0 0 auto;
}

.ch-site-mobile__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.15rem;
  height: 2.15rem;
  border: 1px solid rgba(51, 65, 85, 0.86);
  border-radius: 8px;
  color: rgb(226, 232, 240);
  background: rgba(15, 23, 42, 0.78);
  cursor: pointer;
  list-style: none;
}

.ch-site-mobile__toggle::-webkit-details-marker {
  display: none;
}

.ch-site-mobile__toggle:hover,
.ch-site-mobile__toggle:focus-visible {
  color: rgb(204, 251, 241);
  background: rgba(20, 184, 166, 0.10);
  outline: none;
}

.ch-site-mobile__icon {
  width: 1.25rem;
  height: 1.25rem;
}

.ch-site-mobile__panel {
  position: absolute;
  right: 0;
  top: calc(100% + 0.65rem);
  z-index: 60;
  display: grid;
  gap: 0.18rem;
  min-width: 14rem;
  padding: 0.45rem;
  border: 1px solid rgba(51, 65, 85, 0.86);
  border-radius: 8px;
  background: rgba(2, 6, 23, 0.97);
  box-shadow: 0 22px 52px rgba(2, 6, 23, 0.58), inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

.ch-site-nav__link--mobile {
  justify-content: flex-start;
  width: 100%;
  min-height: 2.55rem;
  padding: 0.6rem 0.72rem;
}

@media (min-width: 1024px) {
  .ch-site-nav {
    display: inline-flex;
  }

  .ch-site-mobile {
    display: none;
  }
}

@media (max-width: 720px) {
  .ch-site-header__inner {
    gap: 0.7rem;
  }

  .ch-site-brand__logo {
    height: 1.95rem;
  }

  .ch-site-brand__slogan {
    max-width: 15rem;
    font-size: 0.66rem;
  }
}

@media (max-width: 430px) {
  .ch-site-brand__slogan {
    max-width: 12rem;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

/* Global site notices */
.ch-notices-container {
  margin-top: 0.75rem !important;
}

.ch-notice {
  --ch-notice-accent: rgb(52, 211, 153);
  position: relative;
  align-items: flex-start !important;
  overflow: hidden;
  padding: 0.78rem 0.9rem 0.78rem 1.15rem !important;
  border-radius: 0.9rem !important;
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.92), rgba(2, 6, 23, 0.74)) !important;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(12px);
}

.ch-notice::before {
  content: "";
  position: absolute;
  left: 0.55rem;
  top: 0.72rem;
  bottom: 0.72rem;
  width: 3px;
  border-radius: 999px;
  background: var(--ch-notice-accent);
}

.ch-notice[data-type="success"] {
  --ch-notice-accent: rgb(52, 211, 153);
}

.ch-notice[data-type="warning"],
.ch-notice[data-type="orange"] {
  --ch-notice-accent: rgb(251, 191, 36);
}

.ch-notice[data-type="danger"],
.ch-notice[data-type="error"] {
  --ch-notice-accent: rgb(248, 113, 113);
}

.ch-notice__content {
  display: grid;
  gap: 0.18rem;
  padding-left: 0.45rem;
}

.ch-notice__title {
  color: rgb(226, 232, 240);
  font-weight: 650;
  line-height: 1.35;
}

.ch-notice__text {
  color: rgba(203, 213, 225, 0.92);
  line-height: 1.45;
}

.ch-notice__link {
  width: max-content;
  margin-top: 0.25rem;
  color: rgb(110, 231, 183);
  font-weight: 650;
  text-decoration: none;
  border-bottom: 1px solid rgba(110, 231, 183, 0.45);
}

.ch-notice__link:hover,
.ch-notice__link:focus-visible {
  color: rgb(167, 243, 208);
  border-bottom-color: currentColor;
}

.ch-notice__close {
  margin-top: 0.02rem;
  opacity: 0.72;
  transition: opacity 0.16s ease, background-color 0.16s ease;
}

.ch-notice__close:hover,
.ch-notice__close:focus-visible {
  opacity: 1;
}

/* News summary score chips */
.ch-news-summary-score {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.35);
  padding: 0.125rem 0.4rem;
  font-size: 10px;
  line-height: 1;
  white-space: nowrap;
}

.ch-news-summary-score--slate {
  background-color: rgba(30, 41, 59, 0.62);
  border-color: rgba(148, 163, 184, 0.35);
  color: rgb(203, 213, 225);
}

.ch-news-summary-score--blue {
  background-color: rgba(30, 58, 138, 0.34);
  border-color: rgba(96, 165, 250, 0.42);
  color: rgb(191, 219, 254);
}

.ch-news-summary-score--amber {
  background-color: rgba(120, 53, 15, 0.36);
  border-color: rgba(245, 158, 11, 0.46);
  color: rgb(253, 230, 138);
}

.ch-news-summary-score--orange {
  background-color: rgba(124, 45, 18, 0.42);
  border-color: rgba(249, 115, 22, 0.48);
  color: rgb(254, 215, 170);
}

.ch-news-summary-score--red {
  background-color: rgba(127, 29, 29, 0.42);
  border-color: rgba(239, 68, 68, 0.48);
  color: rgb(254, 202, 202);
}

/* Shared slate */
.bg-slate-900\/60 { background-color: rgba(15, 23, 42, 0.60) !important; }
.bg-slate-800\/80 { background-color: rgba(30, 41, 59, 0.80) !important; }
.text-slate-200 { color: rgb(226, 232, 240) !important; }
.ring-slate-600\/60 { --tw-ring-color: rgba(71, 85, 105, 0.60) !important; }
.ring-slate-700\/40 { --tw-ring-color: rgba(51, 65, 85, 0.40) !important; }
.border-slate-800 { border-color: rgb(30, 41, 59) !important; }

/* Red */
.bg-red-950\/40 { background-color: rgba(69, 10, 10, 0.40) !important; }
.bg-red-900\/40 { background-color: rgba(127, 29, 29, 0.40) !important; }
.bg-red-800\/35 { background-color: rgba(153, 27, 27, 0.35) !important; }
.text-red-200 { color: rgb(254, 202, 202) !important; }
.ring-red-700\/65 { --tw-ring-color: rgba(185, 28, 28, 0.65) !important; }
.ring-red-700\/60 { --tw-ring-color: rgba(185, 28, 28, 0.60) !important; }
.ring-red-600\/60 { --tw-ring-color: rgba(220, 38, 38, 0.60) !important; }
.border-red-700\/40 { border-color: rgba(185, 28, 28, 0.40) !important; }

/* Orange */
.bg-orange-900\/40 { background-color: rgba(124, 45, 18, 0.40) !important; }
.text-orange-200 { color: rgb(254, 215, 170) !important; }
.ring-orange-700\/60 { --tw-ring-color: rgba(194, 65, 12, 0.60) !important; }

/* Fuchsia */
.bg-fuchsia-900\/40 { background-color: rgba(112, 26, 117, 0.40) !important; }
.text-fuchsia-200 { color: rgb(245, 208, 254) !important; }
.ring-fuchsia-700\/60 { --tw-ring-color: rgba(162, 28, 175, 0.60) !important; }

/* Cyan */
.bg-cyan-900\/40 { background-color: rgba(22, 78, 99, 0.40) !important; }
.text-cyan-200 { color: rgb(165, 243, 252) !important; }
.ring-cyan-700\/60 { --tw-ring-color: rgba(14, 116, 144, 0.60) !important; }

/* Rose */
.bg-rose-900\/40 { background-color: rgba(136, 19, 55, 0.40) !important; }
.text-rose-200 { color: rgb(254, 205, 211) !important; }
.ring-rose-700\/60 { --tw-ring-color: rgba(190, 24, 93, 0.60) !important; }

/* Violet */
.bg-violet-900\/40 { background-color: rgba(76, 29, 149, 0.40) !important; }
.text-violet-200 { color: rgb(221, 214, 254) !important; }
.ring-violet-700\/60 { --tw-ring-color: rgba(109, 40, 217, 0.60) !important; }

/* Emerald */
.bg-emerald-900\/40 { background-color: rgba(6, 78, 59, 0.40) !important; }
.bg-emerald-950\/40 { background-color: rgba(2, 44, 34, 0.40) !important; }
.text-emerald-200 { color: rgb(167, 243, 208) !important; }
.ring-emerald-700\/60 { --tw-ring-color: rgba(4, 120, 87, 0.60) !important; }
.ring-emerald-500\/20 { --tw-ring-color: rgba(16, 185, 129, 0.20) !important; }
.border-emerald-700\/40 { border-color: rgba(4, 120, 87, 0.40) !important; }

/* Amber / Yellow */
.bg-amber-900\/40 { background-color: rgba(120, 53, 15, 0.40) !important; }
.bg-amber-950\/40 { background-color: rgba(69, 26, 3, 0.40) !important; }
.text-amber-200 { color: rgb(253, 230, 138) !important; }
.ring-amber-700\/60 { --tw-ring-color: rgba(180, 83, 9, 0.60) !important; }
.ring-amber-500\/20 { --tw-ring-color: rgba(245, 158, 11, 0.20) !important; }
.border-amber-700\/40 { border-color: rgba(180, 83, 9, 0.40) !important; }

.bg-yellow-900\/40 { background-color: rgba(113, 63, 18, 0.40) !important; }
.text-yellow-200 { color: rgb(254, 240, 138) !important; }
.ring-yellow-700\/60 { --tw-ring-color: rgba(161, 98, 7, 0.60) !important; }

/* Blue / Teal / Indigo / Sky */
.bg-blue-900\/40 { background-color: rgba(30, 58, 138, 0.40) !important; }
.text-blue-200 { color: rgb(191, 219, 254) !important; }
.ring-blue-700\/60 { --tw-ring-color: rgba(29, 78, 216, 0.60) !important; }

.bg-teal-900\/40 { background-color: rgba(19, 78, 74, 0.40) !important; }
.text-teal-200 { color: rgb(153, 246, 228) !important; }
.ring-teal-700\/60 { --tw-ring-color: rgba(15, 118, 110, 0.60) !important; }

.bg-indigo-900\/40 { background-color: rgba(49, 46, 129, 0.40) !important; }
.text-indigo-200 { color: rgb(199, 210, 254) !important; }
.ring-indigo-700\/60 { --tw-ring-color: rgba(67, 56, 202, 0.60) !important; }

.bg-sky-900\/40 { background-color: rgba(12, 74, 110, 0.40) !important; }
.text-sky-200 { color: rgb(186, 230, 253) !important; }
.ring-sky-700\/60 { --tw-ring-color: rgba(3, 105, 161, 0.60) !important; }
