/* Big If True / Signal Atlas. One palette and interaction language for every surface. */
:root {
  color-scheme: dark;
  --paper: #0b101b;
  --panel: #111827;
  --panel-strong: #192236;
  --ink: #f5f1e9;
  --muted: #b7bdc9;
  --dim: #818da2;
  --line: #34405a;
  --signal: #b8a7e9;
  --signal-dark: #4d456b;
  --accent: #b8a7e9;
  --accent-muted: #c9bdf0;
  --accent-surface: #151c30;
  --accent-ink: #0b101b;
  --accent-gradient: linear-gradient(90deg, #8dd5da, #b8a7e9 45%, #e8a397 78%, #edc58b);
  --violet: #b8a7e9;
  --indigo: #889fe3;
  --cyan: #8dd5da;
  --amber: #edc58b;
  --orange: var(--amber);
  --green: #94d0af;
  --coral: #e8a397;
  --pink: #dcb0cc;
  --red: #e47778;
  --shadow: 0 22px 65px #03071570;
  --max: 1280px;
  --gutter: clamp(1.15rem, 4.3vw, 4.4rem);
  --header-h: 4.75rem;
  --ease-out: cubic-bezier(.22, 1, .36, 1);
}
html { background: var(--paper); scroll-padding-top: calc(var(--header-h) + 1rem); }
body { background: var(--paper); color: var(--ink); font-family: "Aptos", "Inter", "Helvetica Neue", Arial, sans-serif; }
body::before { height: 2px; background: var(--accent-gradient); }
body::after { position: fixed; z-index: -1; inset: 0; content: ""; pointer-events: none; background: radial-gradient(circle at 80% 5%, #8376bc13, transparent 29rem), radial-gradient(circle at 8% 55%, #4f9daa0c, transparent 40rem); }
::selection { background: #b8a7e9; color: #111827; }
:is(a, button, input, textarea, select, summary):focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }
button { cursor: pointer; }
.shell { width: min(100%, calc(var(--max) + 2 * var(--gutter))); }
.site-header { min-height: var(--header-h); gap: clamp(.75rem, 2vw, 2rem); border-color: #8996b533; background: #0b101bde; }
.brand { gap: .72rem; color: var(--ink); font-size: .76rem; letter-spacing: .115em; }
.brand__mark { width: 2.2rem; height: 2.2rem; border-radius: 0; filter: drop-shadow(0 0 10px #e6797844); }
.brand:hover .brand__mark { transform: rotate(45deg) scale(1.04); }
.site-nav { gap: clamp(.7rem, 1.8vw, 1.7rem); color: var(--muted); font-size: .7rem; }
.site-nav a { padding-block: .4rem; }
.site-nav a::after { bottom: 0; height: 2px; background: var(--cyan); }
.site-nav a[aria-current="page"] { color: var(--ink); }
.header-join, .header-actions .header-join { min-height: 42px; padding: .68rem .85rem; border: 1px solid #b8a7e980; border-radius: 2px; background: #b8a7e916; color: var(--ink); font-size: .68rem; }
.header-join span { color: var(--cyan); }
.header-join:hover, .header-actions .header-join:hover { border-color: var(--cyan); background: #8dd5da1c; color: var(--ink); }
.header-actions .header-join span { color: var(--cyan); }
.header-sign-in { border-color: var(--line); border-radius: 2px; background: var(--panel); color: var(--ink); }
.header-sign-in:hover { border-color: var(--violet); background: var(--panel-strong); }
.header-sign-in .community-icon { color: var(--violet); }
.account-avatar { background: linear-gradient(var(--paper), var(--paper)) padding-box, var(--accent-gradient) border-box; box-shadow: 0 0 18px #b8a7e924; }
.account-avatar:hover { box-shadow: 0 0 26px #b8a7e94a; }
.account-avatar__fallback { background: #34304e; color: var(--ink); }
.account-menu { border-color: var(--line); border-radius: 3px; background: var(--panel); box-shadow: var(--shadow); }
.account-menu__item { border-radius: 2px; }
.account-menu__item .community-icon { color: var(--cyan); }
.account-menu__item:hover, .account-menu__item:focus-visible { background: #b8a7e91b; }
.account-menu__divider { height: 1px; border-radius: 0; }
.kicker, .eyebrow, .wn-kicker { color: var(--dim); font-size: .67rem; font-weight: 790; letter-spacing: .16em; text-transform: uppercase; }
.kicker span { background: var(--coral); }
.section-rule { border-color: var(--line); }
.section-heading h2 { font-family: Georgia, "Times New Roman", serif; font-weight: 500; letter-spacing: -.055em; line-height: 1.03; }
.button, .outline-button, .confirm-button, .quiet-button { border-radius: 2px; transition: transform 250ms var(--ease-out), border-color 250ms, background-color 250ms, box-shadow 250ms; }
.button:hover, .outline-button:hover, .confirm-button:hover { transform: translateY(-3px); }
.button--signal, .confirm-button { border-color: var(--violet); background: var(--violet); color: var(--paper); }
.button--signal:hover, .confirm-button:hover { border-color: var(--cyan); background: var(--cyan); color: var(--paper); box-shadow: 0 10px 25px #8dd5da26; }
.button--line:hover { border-color: var(--cyan); color: var(--cyan); }
.text-link { border-color: var(--cyan); color: var(--cyan); }
.text-link:hover { color: var(--ink); }
.site-footer { border-color: var(--line); }
.site-footer a:hover { color: var(--cyan); }
.community-status { border-bottom: 1px solid var(--line); background: var(--panel); }
.community-section button, .account-page button, .community-section textarea { border-color: var(--line); background: var(--panel); }
.community-section button:hover, .account-page button:hover { border-color: var(--cyan); }
.interaction-bar [aria-pressed="true"] { border-color: var(--violet); background: #b8a7e91a; color: var(--violet); }
.interaction-bar .interaction-action { border-color: var(--line); border-radius: 2px; background: var(--panel); }
.interaction-action--upvote { --action-color: var(--coral); }
.interaction-action--save { --action-color: var(--amber); }
.interaction-action--comments { --action-color: var(--violet); }
.interaction-action--share { --action-color: var(--green); }
.interaction-bar .interaction-action:hover, .interaction-bar .interaction-action[aria-pressed="true"] { background: var(--panel-strong); }
.account-page { max-width: 960px; padding-top: clamp(2rem, 5vw, 5rem); }
.account-page h1 { font-family: Georgia, "Times New Roman", serif; font-weight: 500; }
.account-page h2 { color: var(--cyan); }
.topic-preferences fieldset { background: var(--panel); }
.topic-preferences input { accent-color: var(--violet); }
.saved-list { border-top: 1px solid var(--line); }
.saved-list > * { border-bottom: 1px solid var(--line); }
.story-page, .news-head, .wn { isolation: isolate; }
.news-head h1, .story-header h1, .wn h1 { font-family: Georgia, "Times New Roman", serif; font-weight: 500; letter-spacing: -.065em; }
.news-head h1 span, .wn h1 span { color: var(--coral); }
.news-stats dd { color: var(--cyan); }
.news-stats dd.is-offline::before { background: var(--coral); }
.weekly { border-top-color: var(--violet); background: #b8a7e909; box-shadow: inset 2px 0 0 var(--violet); }
.weekly__rail span { background: var(--violet); box-shadow: 0 0 0 .35rem #b8a7e91a; }
.weekly__story-title:hover { color: var(--cyan); }
.source-balance { border-color: var(--line); background: var(--panel); }
.source-balance__left { background: var(--indigo); }
.source-balance__center { background: var(--cyan); }
.source-balance__right { background: var(--amber); }
.feed-tools { border-top-color: var(--line); background: #0b101bf0; }
.search-form > div, .filter-toggle, .select-filter select { border-color: var(--line); background: var(--panel); }
.search-form button:hover, .filter-grid button.is-active { background: var(--violet); color: var(--paper); }
.filter-grid { border-color: var(--line); background: var(--panel-strong); }
.filter-grid button { background: var(--panel); }
.filter-grid button:hover { background: #b8a7e91c; }
.story-card__toggle:hover .story-card__title { color: var(--cyan); }
.story-card__toggle[aria-expanded="true"] { background: #b8a7e90c; }
.story-card__toggle[aria-expanded="true"] .story-card__title { color: var(--ink); }
.story-card__detail-content { background: #b8a7e90c; }
.story-card__chevron { color: var(--cyan); }
.story-card__tags span:first-child { border-color: #8dd5da50; color: var(--cyan); }
.story-card__actions a:first-child { border-color: var(--violet); color: var(--violet); }
.story-card::before { border-image: none; border: 1px solid var(--violet); }
.story-loading span, .feed-state span { background: var(--cyan); }
.story-sidebar section { border-color: var(--line); }
.story-sidebar a:hover, .story-back:hover { color: var(--cyan); }
.news-head { position: relative; isolation: isolate; background: linear-gradient(90deg, #102432, #0b101b 72%); }
.news-head::after { position: absolute; z-index: -1; right: 7%; top: 10%; width: 12rem; height: 12rem; border: 1px solid #8dd5da32; border-radius: 50%; box-shadow: 0 0 0 2.2rem #8dd5da0c, 0 0 0 4.5rem #b8a7e908; content: ""; pointer-events: none; }
.news-head .kicker { color: var(--cyan); }
.news-head h1 { font-size: clamp(3.8rem, 8vw, 7.2rem); text-transform: none; }
.news-head h1 em { color: var(--violet); font-weight: 400; }
.news-head h1 span { margin-left: .15em; color: var(--coral); font-family: Arial, sans-serif; font-size: .36em; }
.news-stats { min-width: 14rem; padding: .6rem 1rem; border: 1px solid #8dd5da53; background: #8dd5da0d; }
.news-stats div:last-child { border-bottom: 0; }
.feed-tools { border-color: #8dd5da4d; background: #111b2bfa; }
.search-form > div:focus-within, .search-form button:hover { border-color: var(--cyan); }
.search-form button { color: var(--cyan); }
.filter-toggle { border-color: #b8a7e970; background: #b8a7e910; }
.filter-toggle i { color: var(--violet); }
.select-filter:nth-of-type(1) select { border-color: #edc58b69; }
.select-filter:nth-of-type(2) select { border-color: #94d0af69; }
.story-list .story-card:nth-child(4n + 1) { background: #8dd5da08; }.story-list .story-card:nth-child(4n + 2) { background: #b8a7e90a; }.story-list .story-card:nth-child(4n + 3) { background: #edc58b08; }.story-list .story-card:nth-child(4n + 4) { background: #94d0af08; }
.story-card__index { color: var(--cyan); }.story-list .story-card:nth-child(4n + 2) .story-card__index { color: var(--violet); }.story-list .story-card:nth-child(4n + 3) .story-card__index { color: var(--amber); }.story-list .story-card:nth-child(4n + 4) .story-card__index { color: var(--green); }
.story-card__toggle { padding-inline: .9rem; }
.story-card__toggle:hover { background: #8dd5da0b; }
.source-balance { border-top: 3px solid var(--cyan); }
.story-page { background: linear-gradient(115deg, #10202c, var(--paper) 33%); }
.story-header::before { background: var(--accent-gradient); }
.story-header h1 { font-weight: 500; line-height: 1.04; }
.story-tags span:first-child { border-color: #8dd5da75; color: var(--cyan); background: #8dd5da11; }
.story-tags span:nth-child(2) { border-color: #b8a7e975; color: var(--violet); background: #b8a7e911; }
.story-dates time { color: var(--amber); }
.story-analysis section:first-child { background: #b8a7e911; }
.story-analysis section:first-child::before { background: var(--violet); }
.story-analysis h2 { color: var(--cyan); }
.story-analysis li::before { background: var(--amber); }
.story-analysis .unclear { border-color: var(--coral); background: #e8a3970d; }
.story-analysis .story-note { border-color: var(--violet); background: #b8a7e909; }
.story-updates { border-color: var(--cyan); }
.story-updates__heading h2 { font-family: Georgia, "Times New Roman", serif; font-weight: 500; }
.story-updates__heading p, .story-update__identity strong { color: var(--cyan); }
.story-sidebar section:nth-child(1) { border-color: var(--cyan); }.story-sidebar section:nth-child(2) { border-color: var(--violet); }.story-sidebar section:nth-child(3) { border-color: var(--amber); }
.source-bias { border-color: var(--line); color: var(--muted); }
.staff-page { --accent: var(--violet); }
.staff-page .site-header { border-color: var(--line); }
.staff-page .status-pill, .staff-page .metric-card, .staff-page .ops-card { border-radius: 2px; }
.staff-page .ops-nav a[aria-current="page"] { border-color: var(--violet); color: var(--ink); }
.staff-page .metric-card:nth-child(2) { border-top-color: var(--cyan); }
.staff-page .metric-card:nth-child(3) { border-top-color: var(--amber); }
.staff-page .metric-card:nth-child(4) { border-top-color: var(--coral); }
.staff-page .ops-card { background: var(--panel); }
.staff-page .ops-sidebar { background: #0e1523; }
.staff-page .ops-topline, .staff-page .sidebar-eyebrow { color: var(--cyan); }
.wn h1 span { color: var(--violet); }
.wn-kicker::before { background: var(--coral); }
.wn .button, .wn button { border-radius: 2px; }
.wn .status-pill { color: var(--green); }
.menu-toggle { border-color: var(--line); }
.mobile-menu { border-color: var(--line); background: var(--paper); }
.mobile-menu a:hover { color: var(--cyan); }
/* Shared motion is quiet by default and scales up only for deliberate interactions. */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: page-out 200ms ease both; }
::view-transition-new(root) { animation: page-in 420ms var(--ease-out) both; }
@keyframes page-out { to { opacity: .4; transform: translateY(-5px); } }
@keyframes page-in { from { opacity: .45; transform: translateY(12px); } }
.motion-enabled [data-reveal] { transition: opacity 700ms var(--ease-out) var(--reveal-delay, 0ms), transform 700ms var(--ease-out) var(--reveal-delay, 0ms); }
.place-link, .bot-lineup a, .topic-rail a, .bot-profile, .ops-card { position: relative; }
.place-link::before, .bot-lineup a::before, .topic-rail a::before, .bot-profile::before, .ops-card::before { position: absolute; inset: 0; background: radial-gradient(17rem circle at var(--light-x, -100px) var(--light-y, -100px), #b8a7e917, transparent 70%); content: ""; opacity: 0; pointer-events: none; transition: opacity 280ms; }
.place-link:hover::before, .bot-lineup a:hover::before, .topic-rail a:hover::before, .bot-profile:hover::before, .ops-card:hover::before { opacity: 1; }
.latest-placeholder, .feed-state { position: relative; overflow: hidden; }
.latest-placeholder::after, .feed-state::after { position: absolute; inset: 0; background: linear-gradient(105deg, transparent 35%, #b8a7e90f 50%, transparent 65%); content: ""; animation: loading-sheen 2s ease-in-out infinite; pointer-events: none; }
.latest-list li:not(.latest-placeholder) { animation: row-enter 500ms var(--ease-out) both; }
.latest-list li:nth-child(2) { animation-delay: 80ms; }.latest-list li:nth-child(3) { animation-delay: 160ms; }
@keyframes loading-sheen { from { transform: translateX(-90%); } to { transform: translateX(90%); } }
@keyframes row-enter { from { opacity: 0; transform: translateY(12px); } }
.staff-page .view-head h1 { font-family: Georgia, "Times New Roman", serif; font-weight: 500; }
.staff-page .sidebar-intro strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.55rem; font-weight: 500; }
.staff-page .ops-nav a:hover, .staff-page .ops-nav a[aria-current="page"] { border-color: var(--violet); background: #b8a7e915; }
.staff-page .ops-nav a[aria-current="page"] .nav-index { color: var(--cyan); }
.staff-page .access-banner { border-color: var(--violet); background: #b8a7e916; color: var(--ink); }
.staff-page .access-banner[data-kind="connected"] { border-color: var(--green); background: #94d0af16; color: var(--ink); }
.staff-page .access-banner[data-kind="error"] { border-color: var(--coral); background: #e8a39716; color: var(--ink); }
.staff-page .metric-grid { border-color: var(--line); }
.staff-page .metric-card { background: #141d2e; transition: background-color 250ms, transform 350ms var(--ease-out); }
.staff-page .metric-card:hover { background: #1b263b; transform: translateY(-3px); }
.staff-page .metric-card > span { color: var(--cyan); }.staff-page .metric-card:nth-child(2) > span { color: var(--violet); }.staff-page .metric-card:nth-child(3) > span { color: var(--amber); }.staff-page .metric-card:nth-child(4) > span { color: var(--coral); }
.staff-page .fleet-mark { border-color: #8dd5da5c; background: #8dd5da17; color: var(--cyan); }
.staff-page .quick-grid span, .staff-page .text-button, .staff-page th { color: var(--cyan); }
.staff-page .text-button { border-color: var(--cyan); }
.staff-page .bot-tabs button[aria-selected="true"] { border-color: var(--violet); }
.staff-page .model-default { border-color: var(--violet); }
.staff-page .action-dialog { border-color: var(--line); border-radius: 2px; background: var(--panel); }
.staff-page .confirm-button { border-color: var(--violet); background: var(--violet); }
.staff-page .confirm-button:hover:not(:disabled) { border-color: var(--cyan); background: var(--cyan); }
.wn { --gold: var(--amber); }
.wn h1 { font-family: Georgia, "Times New Roman", serif; font-weight: 500; text-transform: none; }
.wn h2, .wn h3 { font-family: Georgia, "Times New Roman", serif; font-weight: 500; }
.wn .wn-primary { border-color: var(--violet); background: var(--violet); color: var(--paper); }
.wn .wn-primary:hover { border-color: var(--cyan); background: var(--cyan); }
.wn button[aria-pressed=true] { border-color: var(--violet); }
.wn-panel[open] { border-top-color: var(--cyan); }
.wn-art { background-image: linear-gradient(135deg, transparent 50%, #b8a7e90b 50%); }
.wn-screen-overlay { background: linear-gradient(145deg, #192236, #0b101b); }
.wn .wn-branded-state { background: radial-gradient(ellipse at top, #b8a7e91a, transparent 65%), var(--panel-strong); }
.wn-modal, .wn-title-hero, .wn-episode-card, .wn-poster, .wn-source-card { border-radius: 3px; }
.wn-modal { border-color: var(--line); background: var(--panel); }
.wn-poster { background: linear-gradient(150deg, #292d4b, var(--panel-strong) 65%); }
.wn-episode-art, .wn-title-genres { color: var(--cyan); }
.wn-catalog-tabs button { border-radius: 2px; }
.wn-host-catalog.wn-has-lineup .wn-play-now, .wn-host-catalog.wn-has-lineup .wn-queue-panel { border-radius: 3px; }
.wn > h1 { position: relative; width: fit-content; margin-bottom: 2.2rem; }
.wn > h1::after { position: absolute; right: 0; bottom: -.65rem; width: 43%; height: 2px; background: var(--accent-gradient); content: ""; }
.wn .wn-branded-state { border: 1px solid #8dd5da53; border-top: 3px solid var(--cyan); border-radius: 3px; background: radial-gradient(circle at 13% 18%, #8dd5da2e, transparent 31%), radial-gradient(circle at 86% 76%, #edc58b22, transparent 29%), #202640; }
.wn .wn-state-title { color: var(--ink); font-family: Georgia, "Times New Roman", serif; font-weight: 500; }
.wn .wn-panel { border-top-color: var(--cyan); }
.wn .wn-event-card { border-color: #b8a7e963; background: #b8a7e90d; }
.wn .wn-event-card:hover { border-color: var(--cyan); background: #8dd5da13; }
.wn .wn-badge--playing, .wn .wn-badge--countdown { border-color: var(--green); color: var(--green); }
.wn .wn-poster-fallback { color: var(--violet); }
:root[data-theme="light"] { color-scheme: light; --paper: #f4f2ec; --panel: #fffdf7; --panel-strong: #ece9e2; --ink: #22283a; --muted: #565f72; --dim: #6d7688; --line: #c8cfdd; --signal: #6a568f; --signal-dark: #d5cae5; --accent: #6a568f; --accent-muted: #6a568f; --accent-surface: #f0edf8; --violet: #69568f; --indigo: #4c62a4; --cyan: #246d79; --amber: #8c5d1f; --green: #317554; --coral: #ab5b58; --pink: #945b82; --red: #ae414d; --accent-gradient: linear-gradient(90deg, #246d79, #69568f 50%, #ab5b58); }
:root[data-theme="light"] body::after { opacity: .35; }
:root[data-theme="light"] .site-header { background: #f4f2ecef; }
:root[data-theme="light"] .mobile-menu { background: var(--paper); }
:root[data-theme="light"] .header-join, :root[data-theme="light"] .header-actions .header-join { color: var(--ink); }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  ::view-transition-old(root), ::view-transition-new(root) { animation: none; }
}
