/* Abyshire News Desk — styles loaded only on /news/ pages.
   Design tokens follow styles.css: #030807 / #E9F5F3 / #3EE6D6. */

.nd-article { max-width: 760px; }

/* Nav freshness dot ("joining the dots") */
.nav-news { position: relative; }
.nd-nav-dot {
  display: inline-block; width: 7px; height: 7px; border-radius: 50%;
  background: #3ee6d6; margin-inline-start: 5px; vertical-align: super;
  animation: nd-pulse 2.4s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  .nd-nav-dot { animation: none; }
}
@keyframes nd-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: .35; transform: scale(.72); }
}

/* Locale switcher row */
.nd-locale-row {
  display: flex; flex-wrap: wrap; gap: .35rem 1rem;
  font-size: .82rem; letter-spacing: .08em; text-transform: uppercase;
  margin: 0 0 .8rem;
}
.nd-locale-row a { color: rgba(233, 245, 243, .55); text-decoration: none; }
.nd-locale-row a:hover { color: #3ee6d6; }
.nd-locale-current { color: #3ee6d6; font-weight: 600; }

.nd-analysis-tag {
  color: #3ee6d6; font-weight: 600; letter-spacing: .1em;
  text-transform: uppercase; font-size: .78rem;
}

/* Byline block — where the persona/AI identity lives (and only here) */
.nd-byline {
  border-inline-start: 3px solid #3ee6d6;
  padding: .35rem 1rem; margin: 1rem 0 1.4rem;
}
.nd-byline p { margin: .1rem 0; }
.nd-byline-name { font-weight: 700; font-size: 1.02rem; }
.nd-byline-role { font-size: .85rem; color: rgba(233, 245, 243, .65); }
.nd-byline-editor { font-size: .85rem; color: rgba(233, 245, 243, .65); }

/* Optional article image (never default) */
.nd-article-hero { margin: 1.4rem 0 1.6rem; }
.nd-article-hero img { width: 100%; height: auto; display: block; border-radius: 12px; }

/* "Listen" narration player */
.nd-listen {
  display: flex; align-items: center; gap: .85rem;
  margin: 1.25rem 0; padding: .7rem .9rem;
  border: 1px solid rgba(62, 230, 214, .25);
  border-radius: 999px; background: rgba(62, 230, 214, .05);
}
.nd-listen-play {
  flex: 0 0 auto; width: 40px; height: 40px; border-radius: 50%;
  border: 1px solid rgba(62, 230, 214, .4); background: #3ee6d6;
  cursor: pointer; position: relative;
}
.nd-listen-play::before {
  content: ""; position: absolute; top: 50%; left: 54%;
  transform: translate(-50%, -50%);
  border-style: solid; border-width: 7px 0 7px 11px;
  border-color: transparent transparent transparent #04211f;
}
.nd-listen.is-playing .nd-listen-play::before {
  border-width: 0; width: 10px; height: 11px; left: 50%;
  border-left: 3px solid #04211f; border-right: 3px solid #04211f;
  background: transparent;
}
.nd-listen-main { flex: 1 1 auto; min-width: 0; }
.nd-listen-row {
  display: flex; justify-content: space-between; align-items: baseline;
  margin-bottom: .35rem;
}
.nd-listen-label {
  font-weight: 700; font-size: .82rem; letter-spacing: .04em;
  text-transform: uppercase; color: #3ee6d6;
}
.nd-listen-time {
  font-size: .78rem; color: rgba(233, 245, 243, .6);
  font-variant-numeric: tabular-nums;
}
.nd-listen-bar {
  height: 5px; border-radius: 999px; cursor: pointer;
  background: rgba(233, 245, 243, .14);
}
.nd-listen-prog {
  height: 100%; width: 0; border-radius: 999px; background: #3ee6d6;
}
.nd-listen-speed {
  flex: 0 0 auto; cursor: pointer; font-size: .75rem;
  padding: .3rem .55rem; border-radius: 999px;
  border: 1px solid rgba(233, 245, 243, .2);
  background: transparent; color: rgba(233, 245, 243, .75);
  font-variant-numeric: tabular-nums;
}

/* Key takeaways */
.nd-takeaways {
  background: rgba(62, 230, 214, .06);
  border: 1px solid rgba(62, 230, 214, .25);
  border-radius: 12px; padding: 1.1rem 1.4rem;
  /* small gap under the standfirst when there's no article image */
  margin: 1.25rem 0 1.6rem;
}
.nd-takeaways-title {
  color: #3ee6d6; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; font-size: .8rem; margin: 0 0 .5rem;
}
.nd-takeaways ul { margin: 0; padding-inline-start: 1.1rem; }
.nd-takeaways li { margin: .35rem 0; }

/* Interactive shells — reserved height prevents layout shift (CLS) */
.nd-interactive-shell, .nd-signature-shell {
  min-height: 460px; margin: 2rem 0;
  border: 1px solid rgba(233, 245, 243, .12); border-radius: 12px;
  background: rgba(3, 8, 7, .5); overflow: hidden;
  content-visibility: auto; contain-intrinsic-size: 460px;
}
#nd-interactive, #nd-signature { width: 100%; min-height: 460px; }

/* FAQ */
.nd-faq h3 { font-size: 1.05rem; margin: 1.2rem 0 .3rem; }

/* Disclosure footer */
.nd-disclosure {
  margin-top: 2.5rem; padding-top: 1rem;
  border-top: 1px solid rgba(233, 245, 243, .12);
  font-size: .82rem; color: rgba(233, 245, 243, .5);
}

/* News index cards */
.nd-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.4rem; margin-top: 2rem;
}
.nd-card {
  border: 1px solid rgba(233, 245, 243, .12); border-radius: 14px;
  overflow: hidden; background: rgba(3, 8, 7, .5); display: flex;
  flex-direction: column; transition: border-color .2s ease;
}
.nd-card:hover { border-color: rgba(62, 230, 214, .5); }
.nd-card-hero svg { width: 100%; height: 130px; display: block; }
.nd-card-body { padding: 1rem 1.2rem 1.3rem; display: flex;
  flex-direction: column; gap: .45rem; }
.nd-card-meta { font-size: .75rem; color: rgba(233, 245, 243, .5);
  letter-spacing: .06em; text-transform: uppercase; }
.nd-card h2 { font-size: 1.08rem; margin: 0; line-height: 1.3; }
.nd-card h2 a { color: inherit; text-decoration: none; }
.nd-card h2 a:hover { color: #3ee6d6; }
.nd-card p { margin: 0; font-size: .9rem;
  color: rgba(233, 245, 243, .7); }

/* RTL (Arabic) */
[dir="rtl"] .nd-article { text-align: right; }
[dir="rtl"] body, [dir="rtl"] .nd-article {
  font-family: "Noto Sans Arabic", "Segoe UI", Tahoma, system-ui, sans-serif;
}

/* CJK font stack */
:lang(zh-Hans) body, :lang(zh-Hans) .nd-article {
  font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei",
    system-ui, sans-serif;
}

/* Cinematic video edit (published from R2) */
.nd-video{margin:2.4rem 0;border-radius:14px;overflow:hidden;background:#030807;
  border:1px solid rgba(62,230,214,.18)}
.nd-video video{display:block;width:100%;height:auto;aspect-ratio:16/9}
