:root {
  --bg: #fffff0;
  --ink: #000;
  --muted: #686860;
  --line: #ccc;
  --line-strong: #ccc;
  --link: #161616;
  --link-visited: #3a3a3a;
  --link-strong: #111;
  --link-strong-visited: #5a4343;
  --link-headline-visited: #604848;
  --hover-bg: #e2e2e2;
  --more: #4c4c4c;
  --focus: #3a3a3a;
  --font-body: Optima, "Microsoft Sans Serif", sans-serif;
  --font-meta: Optima, "Trebuchet MS", sans-serif;
  --font-head: Optima, "Century Gothic", sans-serif;
  --font-section-heading: "Hoefler Text", "Bodoni 72", Didot, "Newsfinch Heading Font", Baskerville, "Times New Roman", serif;
}

@font-face {
  font-family: "Newsfinch Subheading Font";
  src: url("/assets/fonts/Newsfinch-Subheading-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Newsfinch Subheading Font";
  src: url("/assets/fonts/Newsfinch-Subheading-Semibold.ttf") format("truetype");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "Newsfinch Subheading Font";
  src: url("/assets/fonts/Newsfinch-Subheading-Bold.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "Newsfinch Heading Font";
  src:
    url("/assets/fonts/Newsfinch-Heading-Font.woff2") format("woff2"),
    url("/assets/fonts/Newsfinch-Heading-Font.ttf") format("truetype");
  font-style: normal;
  font-weight: 680;
  font-display: swap;
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

body {
  margin: 0 auto;
  max-width: 84em;
  background: var(--bg);
  color: var(--ink);
  font: 0.89em/120% var(--font-body);
}

html.dark-mode {
  color-scheme: dark;
}

body.dark-mode {
  --bg: #12110f;
  --ink: #ecebe5;
  --muted: #b9b6ab;
  --line: #3b3933;
  --line-strong: #515048;
  --link: #e8e6dd;
  --link-visited: #ccc8bd;
  --link-strong: #f2f0e6;
  --link-strong-visited: #d8c1bb;
  --link-headline-visited: #d0b7b0;
  --hover-bg: rgba(245, 243, 232, 0.12);
  --more: #cbc8bd;
  --focus: #f5f2e8;
  background: var(--bg);
  color: var(--ink);
}

body:not(.thin-tall-mode) {
  min-width: 61em;
}

.wrap {
  max-width: 84em;
  margin: 0 auto;
  padding: 0 2em;
}

.wrap,
.main-grid {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.wrap a:focus-visible,
.wrap button:focus-visible,
.wrap input:focus-visible,
.wrap select:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 2px;
}

.utility-bar {
  min-height: 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
  background: transparent;
  color: var(--muted);
  font: 12px/1.2 var(--font-meta);
}

.row-arrow {
  display: none;
}

.utility-bar-track {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-width: 0;
  gap: 14px;
}

.utility-left {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
}

.kch-top-mini {
  display: inline-flex;
  align-items: center;
  margin-right: 10px;
  line-height: 0;
  text-decoration: none;
  white-space: nowrap;
  color: #000;
  flex: 0 0 auto;
}

.utility-bar .kch-top-mini {
  color: #000;
  text-decoration: none;
}

.kch-top-mini img {
  display: block;
  /* SVG has generous vertical canvas; larger rendered height matches cap height to toolbar text */
  height: 24px;
  width: auto;
  max-width: none;
}

.utility-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 12px;
}

.utility-right .utility-checkbox,
.utility-right .darkmode-toggle {
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.utility-share-btn {
  border: 1px solid #7f7f78;
  background: #fffff0;
  color: #2c2c2c;
  font: 600 11px/1 var(--font-meta);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  height: 22px;
  padding: 0 9px;
  cursor: pointer;
}

.utility-share-btn:hover {
  background: #f3f2ea;
}

.member-access-link {
  border-left: 1px solid #d0d0c8;
  padding-left: 12px;
  color: #202020;
  font-weight: 700;
  white-space: nowrap;
  text-decoration: none;
}

.member-access-link:hover {
  background: var(--hover-bg);
  text-decoration: underline;
}

.member-access-link.is-active {
  color: #8d0000;
}

.utility-right .utility-checkbox {
  color: var(--muted);
}

.utility-bar a {
  color: var(--muted);
  text-decoration: none;
}

.utility-bar .utility-uc {
  color: #8e8e86;
  cursor: not-allowed;
  position: relative;
}

.utility-bar a:hover {
  text-decoration: underline;
}

.utility-bar .utility-uc:hover {
  color: #9a9a93;
  text-decoration: none;
}

.utility-bar .utility-uc:hover::after,
.utility-bar .utility-uc:hover::before {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: 90;
  pointer-events: none;
}

.utility-bar .utility-uc:hover::after {
  content: attr(data-tooltip);
  top: calc(100% + 8px);
  background: #161616;
  color: #fffff0;
  border: 1px solid #2b2b2b;
  border-radius: 4px;
  padding: 4px 7px;
  white-space: nowrap;
  font: 11px/1.1 var(--font-meta);
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.24);
}

.utility-bar .utility-uc:hover::before {
  content: "";
  top: 100%;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 6px solid #161616;
}

.utility-bar input[type="checkbox"] {
  accent-color: #2f2f2f;
}

.darkmode-toggle {
  position: relative;
  color: var(--muted);
  cursor: pointer;
  user-select: none;
}

.darkmode-label {
  font: inherit;
}

.darkmode-toggle input[type="checkbox"] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.darkmode-switch {
  position: relative;
  width: 34px;
  height: 18px;
  border-radius: 999px;
  border: 1px solid #8b8b85;
  background: #d7d7cf;
  display: inline-block;
  transition: background 0.16s ease, border-color 0.16s ease;
}

.darkmode-switch::after {
  content: "";
  position: absolute;
  left: 1px;
  top: 1px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 1px solid #a2a29b;
  background: #fff;
  transition: transform 0.16s ease, background 0.16s ease, border-color 0.16s ease;
}

.darkmode-toggle input:checked + .darkmode-switch {
  background: #2f2f2f;
  border-color: #151515;
}

.darkmode-toggle input:checked + .darkmode-switch::after {
  transform: translateX(15px);
  background: #fffff0;
  border-color: #4d4d45;
}

.darkmode-toggle input:focus-visible + .darkmode-switch {
  outline: 2px solid var(--focus);
  outline-offset: 2px;
}

.header {
  display: grid;
  grid-template-columns: 320px 1fr 260px;
  align-items: center;
  margin-top: 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--line);
}

.logo-box {
  width: 300px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  line-height: 1;
  text-decoration: none;
}

.logo-box img {
  width: 100%;
  height: auto;
  display: block;
}

.logo-tagline {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
  width: 100%;
  color: #1d1d1d;
  text-transform: none;
}

.logo-tagline::before,
.logo-tagline::after {
  content: "";
  flex: 1 1 auto;
  border-top: 4px solid currentColor;
  opacity: 0.75;
  transform: translateY(1px);
}

.logo-tagline-text {
  display: inline-block;
  margin: 0;
  padding: 0;
  font: italic 600 16px/1.06 "Bodoni 72", Didot, "Times New Roman", Georgia, serif;
  letter-spacing: 0.01em;
  white-space: nowrap;
  text-align: center;
}

.header-date {
  text-align: center;
  color: #434343;
  font: 18px/1.1 var(--font-head);
}

.header-date.weather-clickable {
  cursor: pointer;
}

.header-date.weather-clickable:hover {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.header-search {
  justify-self: end;
  display: flex;
  gap: 8px;
}

.header-search input {
  width: 176px;
  height: 28px;
  border: 1px solid var(--line-strong);
  background: #fff;
  color: var(--ink);
  padding: 0 8px;
  font: 13px/1 var(--font-body);
}

.header-search button {
  height: 28px;
  border: 1px solid #96a3ad;
  background: #f0f3f5;
  color: #1f2d37;
  padding: 0 11px;
  cursor: pointer;
  font: 12px/1 var(--font-head);
}

.primary-nav {
  margin-top: 0.8em;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 0.2em 0.45em 0.22em;
  background: #000;
  font: 1em/1 var(--font-head);
}

.primary-nav-track {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  min-width: 0;
}

.primary-nav a,
.customize-btn {
  color: #fffff0;
  text-decoration: none;
  border: 0;
  background: transparent;
  font: inherit;
  letter-spacing: 0;
  padding: 0.08em 0.32em 0.11em;
}

.primary-nav .nav-uc {
  color: #8e8e86;
  cursor: not-allowed;
  position: relative;
}

.primary-nav a:hover,
.customize-btn:hover {
  text-decoration: none;
  background: #1a1a1a;
}

.primary-nav .nav-uc:hover {
  color: #9a9a93;
  background: #151515;
}

.primary-nav .nav-uc:hover::after,
.primary-nav .nav-uc:hover::before {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: 90;
  pointer-events: none;
}

.primary-nav .nav-uc:hover::after {
  content: attr(data-tooltip);
  bottom: calc(100% + 8px);
  background: #161616;
  color: #fffff0;
  border: 1px solid #2b2b2b;
  border-radius: 4px;
  padding: 4px 7px;
  white-space: nowrap;
  font: 11px/1.1 var(--font-meta);
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.24);
}

.primary-nav .nav-uc:hover::before {
  content: "";
  bottom: 100%;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #161616;
}

.primary-nav a.nav-active {
  background: #2b2b2b;
}

.customize-btn {
  margin-left: auto;
  cursor: pointer;
}

.main-grid {
  margin-top: 1em;
  display: grid;
  grid-template-columns: 50% 31.3% 15.2%;
  gap: 1.5%;
}

.power-calendar {
  margin-top: 1.22em;
}

.power-calendar-panel {
  border: 1px solid #cfcfc9;
  background: #f3f3f1;
  padding: 0.95em 1.05em 1.02em;
}

.power-calendar-head {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: center;
  gap: 0.34em 1.05em;
  border-bottom: 1px solid #d6d6d0;
  padding-bottom: 0.58em;
}

.power-calendar-head .col-title {
  margin: 0;
  padding: 0;
}

.calendar-title {
  display: inline-flex;
  align-items: baseline;
  gap: 0.48em;
  line-height: 1;
  white-space: nowrap;
  min-width: max-content;
  font-size: 1.12em;
}

.calendar-title-logo {
  display: block;
  width: auto;
  height: 1.02em;
  transform: translateY(0.03em);
}

.calendar-title-word {
  display: inline-block;
  letter-spacing: 0.01em;
}

.power-events-meta {
  margin: 0;
  color: #5b5b56;
  font: 12px/1.28 var(--font-meta);
  letter-spacing: 0.006em;
  text-align: right;
  max-width: 34ch;
  text-wrap: balance;
  justify-self: end;
  align-self: center;
}

.power-events-note {
  margin: 0.52em 0 0.7em;
  color: #474741;
  font: 12px/1.35 var(--font-meta);
}

.power-events-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  margin-top: 0.14em;
}

.power-event-item {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 0.82em;
  padding: 0.66em 0 0.7em;
  border-bottom: 1px solid #dbdbd6;
}

.power-event-item:last-child {
  border-bottom: 0;
}

.power-event-date {
  color: #51514d;
  font: 700 0.97em/1.12 var(--font-meta);
  letter-spacing: 0.01em;
  white-space: nowrap;
  padding-top: 0.1em;
}

.power-event-main {
  min-width: 0;
}

.power-event-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 0.4em 0.78em;
}

.power-event-title {
  margin: 0;
  color: #161616;
  font: 700 1.01em/1.14 var(--font-head);
  letter-spacing: 0;
  min-width: 0;
  text-wrap: balance;
}

.power-event-title a {
  color: #161616;
  text-decoration: none;
}

.power-event-title a:hover {
  text-decoration: underline;
  background: var(--hover-bg);
}

.power-event-register {
  margin-left: 0;
  flex: 0 0 auto;
  color: #be0000;
  font: 700 11px/1.08 var(--font-meta);
  letter-spacing: 0.015em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  padding-top: 0.16em;
  text-align: right;
}

.power-event-register:hover {
  text-decoration: underline;
  background: rgba(196, 0, 0, 0.08);
}

.power-event-meta {
  margin: 0.24em 0 0;
  color: #585853;
  font: 12px/1.24 var(--font-meta);
  letter-spacing: 0.004em;
}

.power-event-rank {
  margin-left: 0.42em;
  color: #686863;
  font: 11px/1 var(--font-meta);
  letter-spacing: 0.01em;
}

.power-events-actions {
  margin-top: 0.86em;
  padding-top: 0.55em;
  border-top: 1px solid #d7d7d1;
  display: flex;
  flex-wrap: wrap;
  gap: 0.48em 1.04em;
}

.power-action-link {
  appearance: none;
  border: 0;
  background: none;
  margin: 0;
  padding: 0;
  color: #be0000;
  cursor: pointer;
  font: 700 12px/1.14 var(--font-meta);
  letter-spacing: 0.01em;
  text-decoration: none;
}

.power-action-link:hover {
  text-decoration: underline;
  background: rgba(196, 0, 0, 0.08);
}

.power-action-link[disabled] {
  color: #9b6666;
  cursor: default;
  text-decoration: none;
}

.site-footer {
  margin-top: 1.3em;
  margin-bottom: 1.7em;
  border-top: 1px solid var(--line);
  color: #5f5f59;
  font: 11px/1.35 var(--font-meta);
}

.site-footer p {
  margin: 0;
  padding-top: 0.75em;
}

.site-footer a {
  color: inherit;
  text-decoration: none;
}

.site-footer a:hover {
  text-decoration: underline;
  background: var(--hover-bg);
}

.about-section {
  margin-top: 1.1em;
}

.about-main {
  margin-top: 1em;
  margin-bottom: 1.25em;
}

.about-main .about-section {
  margin-top: 0;
}

.about-panel {
  border: 1px solid #cecece;
  background: #f4f4f4;
  padding: 0.75em 0.95em 0.86em;
}

.about-panel .col-title {
  padding-top: 0;
}

.about-panel p {
  margin: 0 0 0.5em;
  color: #262626;
  font: 14px/1.3 var(--font-body);
}

.about-panel p:last-child {
  margin-bottom: 0;
}

.left-col,
.mid-col,
.right-col {
  min-width: 0;
}

.left-col,
.right-col {
  background: transparent;
}

.left-col {
  border-right: 0;
  padding-right: 0;
}

.right-col {
  padding-left: 0;
}

body.member-mode .member-top-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.2%;
  align-items: start;
}

body.member-mode .main-grid {
  grid-template-columns: 67.5% 0 29.5%;
  gap: 1.5%;
}

body.member-mode .mid-col {
  display: none;
}

body.member-mode .topnews-pane .col-title,
body.member-mode .yournews-pane .col-title {
  padding-left: 0;
}

body.member-mode .right-col #memberBriefingMount .briefing-panel {
  margin-bottom: 0.9em;
}

body.member-mode .ad-space {
  display: none;
}

body.member-mode .right-col #riverList {
  margin-top: 0.9em;
}

.col-title {
  margin: 0;
  padding: 0.7em 0 0.6em;
  color: #434343;
  font: 700 1.4em/1.02 var(--font-section-heading);
  letter-spacing: 0.01em;
  text-transform: capitalize;
  font-variant-caps: normal;
  font-feature-settings: "kern" 1, "liga" 1, "case" 1;
  text-shadow: none;
  -webkit-font-smoothing: subpixel-antialiased;
  text-rendering: optimizeLegibility;
}

.calendar-title-word {
  font-family: var(--font-section-heading);
  font-weight: 700;
  letter-spacing: 0.01em;
  text-transform: capitalize;
  font-variant-caps: normal;
  font-feature-settings: "kern" 1, "liga" 1, "case" 1;
  text-shadow: none;
  -webkit-font-smoothing: subpixel-antialiased;
}

.col-title,
.item,
.river-item {
  text-rendering: optimizeLegibility;
}

/* Top News spacing model mirrors Techmeme structure */
.top-news-head {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  margin: 0 0 3px;
}

.member-top-row {
  display: block;
}

.yournews-pane[hidden] {
  display: none !important;
}

.yournews-pane .col-title {
  padding-left: 0;
}

#yourNewsStories .item {
  border-top: 1px solid var(--line);
  padding: 0.64em 0 0.7em;
}

.left-col .col-title {
  padding-left: 1.45em;
}

.top-news-head .col-title {
  margin: 0;
}

.top-news-bias-tabs {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  font-family: "Hoefler Text", "Iowan Old Style", "Baskerville", "Times New Roman", serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 1;
  margin-top: 1px;
}

.top-news-bias-tab {
  appearance: none;
  border: 0;
  background: transparent;
  color: #4c4c45;
  cursor: pointer;
  font: inherit;
  font-weight: 300;
  padding: 0 2px;
  text-decoration: none;
  letter-spacing: 0;
}

.top-news-bias-tab:hover,
.top-news-bias-tab.is-active {
  color: #1f1f1a;
}

.top-news-active-bias {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  color: #4e4e47;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.1;
  min-height: 0;
  margin: -1px 0 4px 1.1em;
}

.top-news-active-bias:empty {
  display: none;
}

.top-news-bias-tag {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 1px solid #8d8b82;
  background: #f5f3ea;
  color: #494942;
  padding: 2px 7px 2px 10px;
}

.top-news-bias-tag::before {
  content: "";
  position: absolute;
  left: -7px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-right: 7px solid #8d8b82;
}

.top-news-bias-tag::after {
  content: "";
  position: absolute;
  left: -6px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-right: 6px solid #f5f3ea;
}

.top-news-bias-tag-label {
  white-space: nowrap;
}

.top-news-bias-tag-clear {
  appearance: none;
  border: 0;
  background: transparent;
  color: #9a0000;
  cursor: pointer;
  font: inherit;
  padding: 0;
  line-height: 1;
  position: relative;
  z-index: 1;
}

#leadStories {
  padding-left: 0;
}

#leadStories .itc1 {
  padding-left: 2em;
}

#leadStories .relitems .itc1 {
  padding-left: 4em;
}

#leadStories .itc2 {
  margin-left: -1em;
  padding-left: 1em;
  margin-right: -1em;
  padding-right: 1em;
}

.top-news-pager-wrap {
  padding: 0.3em 0 0.9em 2em;
}

.top-news-pager {
  display: flex;
  align-items: center;
  gap: 0.55em;
  flex-wrap: wrap;
}

.top-news-pager-btn {
  border: 1px solid #b8b8b1;
  background: #f9f9f3;
  color: #303030;
  font: 600 12px/1.1 var(--font-meta);
  padding: 0.35em 0.58em;
  cursor: pointer;
}

.top-news-pager-btn--newer {
  margin-left: auto;
}

.top-news-pager-btn:hover {
  background: var(--hover-bg);
}

.top-news-pager-meta {
  color: #676760;
  font: 11px/1.2 var(--font-meta);
}

/* Techmeme-style story blocks */
.item {
  padding-top: 0.3em;
  padding-bottom: 1.4em;
  clear: both;
  border-bottom: solid 1px var(--line);
}

.left-col .item:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
}

.di {
  margin-left: 1em;
  text-indent: -1em;
  padding-left: 1em;
}

cite {
  font-family: var(--font-meta);
  font-weight: bold;
  font-style: normal;
  color: var(--muted);
}

.ii {
  padding-top: 0.5em;
}

.left-col .ii strong {
  font-family: var(--font-meta);
}

.img-link {
  position: relative;
  display: block;
  float: right;
}

.ill {
  float: right;
  padding: 0.1em 0 0.5em 0.5em;
  width: 135px;
  height: auto;
  border: 0;
}

.left-col .ill {
  width: 245px;
  height: 138px;
  object-fit: cover;
}

.left-col .ill.img-fallback {
  border: 1px solid #d4d4cd;
  background: #efefe8;
}

.img-link.live-report::after {
  content: "PLAY LIVE REPORT";
  position: absolute;
  right: 10px;
  bottom: 10px;
  background: rgba(0, 0, 0, 0.76);
  color: #fffff0;
  border: 1px solid rgba(255, 255, 240, 0.55);
  padding: 2px 6px;
  font: 700 10px/1.2 var(--font-meta);
  letter-spacing: 0.03em;
}

.img-link.market-widget {
  width: 245px;
  height: 138px;
  box-sizing: border-box;
  border: 1px solid #c5c3b8;
  background: linear-gradient(180deg, #f4f2ea 0%, #ece9de 100%);
  padding: 8px 10px 9px;
  float: right;
}

.market-widget-eyebrow {
  font: 700 9px/1.2 var(--font-meta);
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: #5d5a52;
}

.market-widget-instrument {
  margin-top: 2px;
  font: 700 16px/1.05 var(--font-head);
  letter-spacing: -0.01em;
  color: #2b2a24;
}

.market-widget-title {
  margin-top: 2px;
  font: 12px/1.15 var(--font-meta);
  color: #65635c;
}

.market-widget-price {
  margin-top: 7px;
  font: 700 24px/1.03 var(--font-meta);
  color: #1f1d18;
}

.market-widget-delta {
  margin-top: 5px;
  font: 700 12px/1.15 var(--font-meta);
  color: #505048;
}

.market-widget-delta.up {
  color: #2b4732;
}

.market-widget-delta.down {
  color: #5a2d2d;
}

.market-widget-asof {
  margin-top: 5px;
  font: 11px/1.2 var(--font-meta);
  color: #6a6962;
}

strong {
  font-weight: bold;
  font-size: 1.2em;
  line-height: 1.15em;
}

.L4 {
  font-size: 1.7em;
  letter-spacing: -0.02em;
}

.emdash {
  color: #000;
}

.left-col cite {
  font-size: 0.93em;
}

.left-col .cite-line {
  color: #62625b;
  letter-spacing: 0.01em;
}

.left-col .cite-time {
  display: inline-block;
  min-width: 3.8em;
  font-variant-numeric: tabular-nums;
}

.left-col .shrtbl {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}

.left-col .shrtbl tr > td:first-child {
  vertical-align: middle;
}

.left-col .shrtbl tr > td:first-child + td {
  text-align: right;
  white-space: nowrap;
  min-width: 124px;
  vertical-align: middle;
  padding-bottom: 2px;
}

.left-col .shrtbl td {
  height: 26px;
  padding: 0;
  vertical-align: baseline;
}

.left-col .cite-main {
  white-space: normal;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 0.52em;
}

.left-col .new-badge {
  margin-left: 0;
  background: #c40000;
  color: #fff;
  padding: 0 3px;
  font-weight: bold;
  font-size: 0.72em;
  line-height: 1.05;
  align-self: center;
  justify-self: end;
  white-space: nowrap;
  border: 1px solid #8f0000;
  border-radius: 0;
  letter-spacing: 0.65px;
}

.left-col .lead-headline.L1 {
  font-size: 1.2em;
}

.left-col .lead-headline.L2 {
  font-size: 1.3em;
}

.left-col .lead-headline.L3 {
  font-size: 1.42em;
  letter-spacing: -0.01em;
}

.left-col .lead-headline.L4 {
  font-size: 1.56em;
  letter-spacing: -0.012em;
}

.left-col .bls {
  margin-left: -0.1em;
}

.left-col .item .di a {
  font-size: 1.1em;
}

.left-col .item .di cite a,
.left-col .item .di cite {
  font-size: 1em;
}

/* Link colors and hover behavior closely match Techmeme */
.item a:link,
.river-item a:link {
  color: var(--link);
  text-decoration: none;
  font-weight: bold;
}
.item a:visited,
.river-item a:visited {
  color: var(--link-visited);
  text-decoration: none;
}
.item strong a:link {
  color: var(--link-strong);
}
.item strong a:visited {
  color: var(--link-strong-visited);
}
.item a:hover,
.river-item a:hover {
  text-decoration: underline;
  background: var(--hover-bg);
}

.dbpt {
  padding-top: 0.4em;
}

.drhed {
  color: var(--more);
  font-family: var(--font-meta);
  font-weight: bold;
  margin-right: 0.3em;
}

.bls a {
  white-space: nowrap;
  padding-left: 0.1em;
  padding-right: 0.1em;
}

.relitems {
  margin-bottom: 1em;
}

.left-col .relitems {
  display: none;
}

.mid-col {
  background: transparent;
}

.briefing-panel {
  background: #f4f4f4;
  border-radius: 3px;
  padding: 0.7em 0.9em;
  border: 0;
}

.briefing-note {
  margin: 0 0 8px;
  color: #4c5860;
  font: 12px/1.25 var(--font-meta);
}

.briefing-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.briefing-list li {
  margin: 0 0 8px;
  color: #202427;
  font: 14px/1.28 var(--font-body);
}

.briefing-item {
  background: #fff;
  border: 1px solid #e0e4e8;
  border-left: 4px solid #9aa6af;
  border-radius: 3px;
  padding: 6px 8px 6px 10px;
}

.briefing-tag {
  font: 700 11px/1.2 var(--font-meta);
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #334149;
}

.briefing-text {
  font: 14px/1.28 var(--font-body);
  color: #202427;
}

.briefing-item--geopolitics {
  border-left-color: #232323;
}
.briefing-tag--geopolitics {
  color: #232323;
}

.briefing-item--economy {
  border-left-color: #353535;
}
.briefing-tag--economy {
  color: #353535;
}

.briefing-item--security {
  border-left-color: #454545;
}
.briefing-tag--security {
  color: #454545;
}

.briefing-item--technology {
  border-left-color: #292929;
}
.briefing-tag--technology {
  color: #292929;
}

.briefing-item--watch {
  border-left-color: #4d5561;
}
.briefing-tag--watch {
  color: #4d5561;
}

/* ── New block-format briefing ─────────────────────────────── */
.briefing-block {
  background: #fff;
  border: 1px solid #e0e4e8;
  border-left: 4px solid #9aa6af;
  border-radius: 3px;
  padding: 7px 10px 8px 10px;
  margin-bottom: 8px;
  list-style: none;
}
.briefing-block--geopolitics { border-left-color: #232323; }
.briefing-block--economy     { border-left-color: #353535; }
.briefing-block--security    { border-left-color: #454545; }
.briefing-block--technology  { border-left-color: #292929; }

.briefing-block-header {
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin-bottom: 5px;
}
.briefing-block-cat {
  font: 700 11px/1.2 var(--font-meta);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #1a1a1a;
}
.briefing-block-arrow        { font: 700 12px/1 var(--font-meta); }
.briefing-block-arrow--up    { color: #b04040; }
.briefing-block-arrow--down  { color: #2a7a4a; }
.briefing-block-arrow--flat  { color: #5b666e; }
.briefing-block-direction {
  font: 11px/1.2 var(--font-meta);
  color: #5b666e;
  letter-spacing: 0.02em;
}
.briefing-block-bullets {
  margin: 0;
  padding: 0 0 0 14px;
}
.briefing-block-bullets li {
  font: 13px/1.4 var(--font-body);
  color: #202427;
  margin-bottom: 3px;
}
.briefing-block-bullets li:last-child { margin-bottom: 0; }

.briefing-updated {
  margin: 10px 0 0;
  color: #5b666e;
  font: 12px/1.2 var(--font-meta);
}

.bulletin-signup {
  margin-top: 12px;
  border: 1px solid #cbccc6;
  background: #f7f7f3;
  padding: 10px 12px 9px;
  position: relative;
}

.bulletin-signup:hover::after,
.bulletin-signup:hover::before {
  position: absolute;
  z-index: 95;
  pointer-events: none;
}

.bulletin-signup:hover::after {
  content: attr(data-tooltip);
  left: 0;
  right: 0;
  bottom: calc(100% + 8px);
  background: #161616;
  color: #fffff0;
  border: 1px solid #2b2b2b;
  border-radius: 4px;
  padding: 6px 8px;
  font: 11px/1.25 var(--font-meta);
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.24);
}

.bulletin-signup:hover::before {
  content: "";
  left: 14px;
  bottom: 100%;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #161616;
}

.bulletin-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
}

.bulletin-form input {
  min-width: 0;
  height: 40px;
  border: 1px solid #b7b9b3;
  background: #fff;
  color: var(--ink);
  padding: 0 14px;
  font: 400 15px/1 var(--font-body);
}

.bulletin-form button {
  height: 40px;
  border: 1px solid #3b3b3b;
  background: #3d3d3d;
  color: #fffff0;
  padding: 0 20px;
  font: 700 14px/1 var(--font-meta);
  letter-spacing: 0.01em;
  cursor: pointer;
}

.bulletin-status {
  margin: 5px 0 0;
  color: #5a5a54;
  font: 11px/1.25 var(--font-meta);
  min-height: 0;
}

.bulletin-status:empty {
  display: none;
}

.ad-space {
  margin-top: 12px;
  border: 1px solid #cecece;
  background: #f1f1ef;
  padding: 12px;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  color: #202427;
  font: 700 13px/1.35 var(--font-meta);
}

.ad-space p {
  margin: 0;
}

.ad-slot {
  background: #fff;
  border: 1px solid #bcbcb6;
  padding: 7px;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.ad-slot h3 {
  margin: 0 0 5px;
  color: #262626;
  font: 700 13px/1.15 "Times New Roman", Georgia, serif;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ad-slot p {
  margin: 0;
  color: #343434;
  font: 12px/1.35 var(--font-meta);
}

.ad-poster {
  width: 100%;
  aspect-ratio: 2.5 / 1;
  height: auto;
  display: block;
  border: 1px solid #c9c8c0;
  background: #efece0;
  object-fit: cover;
  object-position: center center;
  image-rendering: auto;
}

.ad-fix-svg {
  position: absolute;
  inset: 6px;
  width: calc(100% - 12px);
  height: calc(100% - 12px);
  display: block;
  pointer-events: none;
  z-index: 2;
}

.ad-caption {
  margin: 0;
  color: #1f1f1f;
  font: 700 12px/1.22 var(--font-meta);
  letter-spacing: 0;
}

.ad-slot-cta {
  margin-top: 6px;
}

.ad-slot-cta a {
  font-weight: 700;
}

.ad-slot-muted {
  background: #f4f3ec;
}

.ad-slot-vintage {
  border: 3px double #2d2d2d;
  background:
    linear-gradient(180deg, #fbfaf3 0%, #f5f3ea 100%);
}

.ad-slot-vintage::after {
  content: "";
  position: absolute;
  inset: 4px;
  border: 1px solid #d4d2c7;
  pointer-events: none;
}

.ad-eyebrow {
  margin: 0 0 4px;
  color: #444;
  font: 700 10px/1.1 var(--font-meta);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.ad-copy {
  margin: 0;
  color: #262626;
  font: 14px/1.3 "Times New Roman", Georgia, serif;
}

.ad-stamp {
  margin-top: 6px;
  color: #444;
  font: 700 11px/1.2 var(--font-meta);
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.ad-space a {
  color: #1f1f1f;
  text-decoration: none;
}

.ad-space a:hover {
  text-decoration: underline;
  background: var(--hover-bg);
}

.right-col .col-title {
  margin-bottom: 12px;
}

#riverList {
  list-style: none;
  margin: 0;
  padding: 0;
}

body.newest-rail-mode .right-col {
  position: sticky;
  top: 6px;
  align-self: start;
  max-height: var(--newest-rail-height, calc(100vh - 12px));
  overflow: hidden;
}

body.newest-rail-mode .right-col .col-title {
  position: sticky;
  top: 0;
  z-index: 5;
  margin-bottom: 10px;
  padding-top: 0;
  padding-bottom: 10px;
  background: var(--bg);
  border-bottom: 1px solid var(--line);
}

body.newest-rail-mode #riverList {
  max-height: calc(var(--newest-rail-height, calc(100vh - 12px)) - 58px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  padding-right: 2px;
}

.river-item {
  border-bottom: 1px solid var(--line);
  padding: 0 0 10px;
  margin-bottom: 10px;
}

.river-source {
  margin: 0 0 4px;
  color: #5b646b;
  font: 700 12px/1.15 var(--font-meta);
}

.river-item a {
  color: var(--link);
  text-decoration: none;
  font: 700 1.25em/1.15 var(--font-head);
}

.river-item a:visited {
  color: var(--link-headline-visited);
}

.river-item a:hover {
  text-decoration: underline;
}

.river-meta {
  margin: 3px 0 0;
  color: #5f666c;
  font: 11px/1.15 var(--font-meta);
}

.controls-drawer {
  position: fixed;
  right: 14px;
  top: 46px;
  width: 320px;
  max-height: calc(100vh - 64px);
  overflow: auto;
  background: #fbfdff;
  border: 1px solid var(--line-strong);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.14);
  border-radius: 8px;
  padding: 10px;
  display: none;
  z-index: 30;
  font: 12px/1.3 var(--font-body);
}

.controls-drawer.open {
  display: block;
}

.controls-drawer h3 {
  margin: 0 0 8px;
  color: #2f2f2f;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  font: 700 12px/1 var(--font-head);
}

.controls-drawer h4 {
  margin: 8px 0 6px;
  color: #404040;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  font: 700 11px/1 var(--font-head);
}

.controls-drawer label {
  display: block;
  margin-bottom: 6px;
  color: #2d3a40;
}

.controls-drawer input,
.controls-drawer select {
  width: 100%;
  margin-top: 2px;
  padding: 5px 6px;
  border: 1px solid #b7c0c7;
  background: #fff;
  font: 12px/1 var(--font-body);
}

.controls-drawer input::placeholder {
  color: #7a858f;
}

.toggle {
  display: flex;
  gap: 6px;
  align-items: center;
  border: 1px solid #d2d9de;
  padding: 6px;
  background: #f6f6f6;
}

.toggle input {
  width: auto;
  margin: 0;
}

.mini-form {
  display: grid;
  gap: 4px;
  margin-bottom: 8px;
}

.mini-form button {
  justify-self: start;
  border: 1px solid #3d3d3d;
  background: #3d3d3d;
  color: #fff;
  cursor: pointer;
  padding: 3px 8px;
  font: 700 11px/1 var(--font-head);
}

.filter-row {
  display: flex;
  gap: 6px;
  align-items: center;
  margin-bottom: 4px;
  padding: 3px 4px;
  background: #f3f6f8;
  border: 1px solid #e4eaee;
}

.remove-source-btn {
  margin-left: auto;
  border: 1px solid #c1c8ce;
  background: #fff;
  color: #44525a;
  line-height: 1;
  padding: 1px 5px;
  cursor: pointer;
  font: 11px/1 var(--font-meta);
}

/* Real dark-mode theme (no global inversion). */
body.dark-mode .utility-bar {
  border-bottom-color: var(--line);
  color: var(--muted);
}

body.dark-mode .utility-bar a,
body.dark-mode .utility-right .utility-checkbox,
body.dark-mode .darkmode-toggle,
body.dark-mode .utility-bar .kch-top-mini {
  color: var(--muted);
}

body.dark-mode .utility-share-btn {
  border-color: #66645a;
  background: #272622;
  color: #d4d2c8;
}

body.dark-mode .utility-share-btn:hover {
  background: #33312c;
}

body.dark-mode .member-access-link {
  border-left-color: #5d594d;
  color: #e6e2d3;
}

body.dark-mode .member-access-link.is-active {
  color: #ffb4b4;
}

body.dark-mode .utility-bar .utility-uc {
  color: #8f8d82;
}

body.dark-mode .utility-bar .utility-uc:hover {
  color: #c5c2b7;
}

body.dark-mode .utility-bar .utility-uc:hover::after,
body.dark-mode .primary-nav .nav-uc:hover::after {
  background: #24231f;
  color: #f0eee5;
  border-color: #4c4a43;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.5);
}

body.dark-mode .utility-bar .utility-uc:hover::before {
  border-bottom-color: #24231f;
}

body.dark-mode .primary-nav .nav-uc:hover::before {
  border-top-color: #24231f;
}

body.dark-mode .kch-top-mini img,
body.dark-mode .logo-box img {
  filter: invert(1) brightness(1.08);
}

body.dark-mode .logo-tagline {
  color: #ecebe3;
}

body.dark-mode .calendar-title-logo {
  filter: invert(1) brightness(1.08);
}

body.dark-mode .darkmode-switch {
  border-color: #66645a;
  background: #2b2924;
}

body.dark-mode .darkmode-switch::after {
  border-color: #7f7c71;
  background: #dedccf;
}

body.dark-mode .darkmode-toggle input:checked + .darkmode-switch {
  background: #dad7cb;
  border-color: #a8a499;
}

body.dark-mode .darkmode-toggle input:checked + .darkmode-switch::after {
  background: #1a1916;
  border-color: #3a3832;
}

body.dark-mode .header {
  border-bottom-color: var(--line);
}

body.dark-mode .header-date {
  color: #d4d2c8;
}

body.dark-mode .header-search input {
  background: #1e1d19;
  border-color: var(--line-strong);
  color: var(--ink);
}

body.dark-mode .header-search input::placeholder {
  color: #a8a598;
}

body.dark-mode .header-search button {
  border-color: #4c4a42;
  background: #2a2924;
  color: #f1efe5;
}

body.dark-mode .header-search button:hover {
  background: #34322c;
}

body.dark-mode .primary-nav {
  background: #080808;
}

body.dark-mode .primary-nav a,
body.dark-mode .primary-nav .customize-btn {
  color: #ecebe3;
}

body.dark-mode .primary-nav a:hover,
body.dark-mode .primary-nav .customize-btn:hover {
  background: #242320;
}

body.dark-mode .primary-nav .nav-uc {
  color: #7f7d75;
}

body.dark-mode .primary-nav .nav-uc:hover {
  color: #b7b4a9;
  background: #1b1a17;
}

body.dark-mode .primary-nav a.nav-active {
  background: #312f29;
}

body.dark-mode .power-calendar-panel {
  border-color: #4d4b43;
  background: #1f1e1a;
}

body.dark-mode .power-calendar-head,
body.dark-mode .power-events-actions {
  border-color: #48463f;
}

body.dark-mode .power-events-meta {
  color: #b0ada1;
}

body.dark-mode .power-events-note {
  color: #bab7ab;
}

body.dark-mode .power-event-item {
  border-bottom-color: #43413b;
}

body.dark-mode .power-event-date,
body.dark-mode .power-event-meta,
body.dark-mode .power-event-rank {
  color: #bcb9ad;
}

body.dark-mode .power-event-title,
body.dark-mode .power-event-title a {
  color: #eceae1;
}

body.dark-mode .power-event-register,
body.dark-mode .power-action-link {
  color: #e26a6a;
}

body.dark-mode .power-action-link[disabled] {
  color: #a87373;
}

body.dark-mode .site-footer {
  border-top-color: var(--line);
  color: #a9a699;
}

body.dark-mode .about-panel {
  border-color: #4d4b43;
  background: #1f1e1a;
}

body.dark-mode .about-panel p {
  color: #e4e2d8;
}

body.dark-mode .col-title {
  color: #d7d5ca;
}

body.dark-mode .top-news-bias-tab,
body.dark-mode .top-news-active-bias {
  color: #c7c3b8;
}

body.dark-mode .top-news-bias-tag {
  border-color: #6f6b60;
  background: #2a2923;
  color: #d1cdc0;
}

body.dark-mode .top-news-bias-tag::before {
  border-right-color: #6f6b60;
}

body.dark-mode .top-news-bias-tag::after {
  border-right-color: #2a2923;
}

body.dark-mode .top-news-bias-tab:hover,
body.dark-mode .top-news-bias-tab.is-active {
  color: #fffaf0;
}

body.dark-mode .item,
body.dark-mode .river-item {
  border-bottom-color: var(--line);
}

body.dark-mode .emdash {
  color: #d5d3c8;
}

body.dark-mode .left-col .cite-line {
  color: #b0ad9f;
}

body.dark-mode .left-col .new-badge {
  border-color: #ff4f4f;
}

body.dark-mode .left-col .ill.img-fallback {
  border-color: #504e45;
  background: #23221d;
}

body.dark-mode .img-link.market-widget {
  border-color: #6e6a62;
  background: linear-gradient(180deg, #2c2b26 0%, #25241f 100%);
}

body.dark-mode .market-widget-eyebrow {
  color: #cbc6b8;
}

body.dark-mode .market-widget-instrument {
  color: #f0ecdf;
}

body.dark-mode .market-widget-title {
  color: #c1bcaf;
}

body.dark-mode .market-widget-price {
  color: #f7f1e2;
}

body.dark-mode .market-widget-delta {
  color: #c8c2b3;
}

body.dark-mode .market-widget-delta.up {
  color: #b9d8c1;
}

body.dark-mode .market-widget-delta.down {
  color: #e0bcbc;
}

body.dark-mode .market-widget-asof {
  color: #b4ae9e;
}

body.dark-mode .briefing-panel {
  background: #1f1e1a;
}

body.dark-mode .briefing-note,
body.dark-mode .briefing-updated {
  color: #b4b1a5;
}

body.dark-mode .bulletin-signup {
  border-color: #4f4d44;
  background: #24231e;
}

body.dark-mode .bulletin-signup:hover::after {
  background: #24231f;
  color: #f0eee5;
  border-color: #4c4a43;
}

body.dark-mode .bulletin-signup:hover::before {
  border-top-color: #24231f;
}

body.dark-mode .bulletin-form input {
  border-color: #5a584f;
  background: #1e1d19;
  color: var(--ink);
}

body.dark-mode .bulletin-form button {
  border-color: #bdb8aa;
  background: #bdb8aa;
  color: #1a1916;
}

body.dark-mode .bulletin-status {
  color: #b9b6ab;
}

body.dark-mode .briefing-list li,
body.dark-mode .briefing-text {
  color: #e4e2d8;
}

body.dark-mode .briefing-item {
  background: #171612;
  border-color: #3a3831;
}

body.dark-mode .briefing-tag {
  color: #cfccc0;
}

body.dark-mode .briefing-item--geopolitics {
  border-left-color: #d6d2c5;
}
body.dark-mode .briefing-tag--geopolitics {
  color: #d6d2c5;
}

body.dark-mode .briefing-item--economy {
  border-left-color: #c8c4b7;
}
body.dark-mode .briefing-tag--economy {
  color: #c8c4b7;
}

body.dark-mode .briefing-item--security {
  border-left-color: #b5b1a5;
}
body.dark-mode .briefing-tag--security {
  color: #b5b1a5;
}

body.dark-mode .briefing-item--technology {
  border-left-color: #d1cec3;
}
body.dark-mode .briefing-tag--technology {
  color: #d1cec3;
}

body.dark-mode .briefing-item--watch {
  border-left-color: #ada99d;
}
body.dark-mode .briefing-tag--watch {
  color: #ada99d;
}

body.dark-mode .briefing-block {
  background: #171612;
  border-color: #3a3831;
}
body.dark-mode .briefing-block--geopolitics { border-left-color: #d6d2c5; }
body.dark-mode .briefing-block--economy     { border-left-color: #c8c4b7; }
body.dark-mode .briefing-block--security    { border-left-color: #b5b1a5; }
body.dark-mode .briefing-block--technology  { border-left-color: #d1cec3; }
body.dark-mode .briefing-block-cat          { color: #e0ddd0; }
body.dark-mode .briefing-block-direction    { color: #908c82; }
body.dark-mode .briefing-block-bullets li   { color: #cfccc0; }

body.dark-mode .ad-space {
  border-color: #4c4a43;
  background: #1d1c18;
  color: #d7d4ca;
}

body.dark-mode .ad-slot {
  background: #191814;
  border-color: #5d5b52;
}

body.dark-mode .ad-slot-muted {
  background: #22211c;
}

body.dark-mode .ad-slot h3,
body.dark-mode .ad-copy,
body.dark-mode .ad-caption,
body.dark-mode .ad-space a {
  color: #e6e3d8;
}

body.dark-mode .ad-slot p,
body.dark-mode .ad-eyebrow,
body.dark-mode .ad-stamp {
  color: #bebbae;
}

body.dark-mode .ad-poster {
  border-color: #5a574d;
  background: #2a2923;
}

body.dark-mode .ad-slot-vintage {
  border-color: #5a584f;
  background: linear-gradient(180deg, #25231f 0%, #1f1d19 100%);
}

body.dark-mode .ad-slot-vintage::after {
  border-color: #444239;
}

body.dark-mode .river-source,
body.dark-mode .river-meta {
  color: #b4b1a5;
}

body.dark-mode .controls-drawer {
  background: #1a1916;
  border-color: #4f4d45;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.52);
}

body.dark-mode .controls-drawer h3 {
  color: #e5e2d7;
}

body.dark-mode .controls-drawer h4 {
  color: #c9c6b9;
}

body.dark-mode .controls-drawer label {
  color: #d2cfc3;
}

body.dark-mode .controls-drawer input,
body.dark-mode .controls-drawer select {
  border-color: #5a584f;
  background: #26251f;
  color: #ece9de;
}

body.dark-mode .controls-drawer input::placeholder {
  color: #a7a396;
}

body.dark-mode .toggle {
  border-color: #4d4b43;
  background: #22211c;
}

body.dark-mode .mini-form button {
  border-color: #bdb8aa;
  background: #bdb8aa;
  color: #1a1916;
}

body.dark-mode .filter-row {
  background: #24231d;
  border-color: #4d4b43;
}

body.dark-mode .remove-source-btn {
  border-color: #6a675d;
  background: #2c2b25;
  color: #d5d2c7;
}

body.dark-mode .row-arrow {
  border-color: #5a584f;
  color: #ece9de;
  background: #2a2924;
}

body.dark-mode ::selection {
  color: #f8f6ec;
  background: #4a4942;
}

@media (max-width: 980px) {
  .wrap {
    padding: 0 14px;
  }

  .header {
    grid-template-columns: 270px minmax(180px, 1fr) 240px;
    gap: 10px;
  }

  .header-date {
    text-align: center;
    font-size: 16px;
  }

  .logo-box {
    width: 250px;
  }

  .header-search {
    justify-self: end;
  }

  .main-grid {
    grid-template-columns: 50% 31.3% 15.2%;
    gap: 1.5%;
  }

  .power-events-list {
    grid-template-columns: 1fr;
  }

  .col-title {
    font-size: 1.36em;
  }

  .river-item a {
    font-size: 1.12em;
  }

  .controls-drawer {
    width: calc(100vw - 24px);
    right: 12px;
  }
}

body.thin-tall-mode {
  font-size: 0.84em;
}

body.thin-tall-mode .wrap {
  padding: 0 10px;
}

body.thin-tall-mode .utility-bar {
  min-height: 24px;
  font-size: 11px;
}

body.thin-tall-mode .utility-left {
  gap: 10px;
}

body.thin-tall-mode .kch-top-mini {
  margin-right: 8px;
}

body.thin-tall-mode .kch-top-mini img {
  height: 22px;
}

body.thin-tall-mode .header {
  grid-template-columns: 1fr;
  gap: 4px;
  margin-top: 5px;
  padding-bottom: 5px;
}

body.thin-tall-mode .logo-box {
  width: 220px;
}

body.thin-tall-mode .logo-tagline {
  margin-top: 3px;
  gap: 6px;
}

body.thin-tall-mode .logo-tagline-text {
  font-size: 12px;
  letter-spacing: 0.008em;
}

body.thin-tall-mode .header-date {
  text-align: left;
  font-size: 14px;
}

body.thin-tall-mode .header-search {
  justify-self: start;
}

body.thin-tall-mode .header-search input {
  width: 150px;
  height: 24px;
  font-size: 12px;
}

body.thin-tall-mode .header-search button {
  height: 24px;
  font-size: 11px;
}

body.thin-tall-mode .primary-nav {
  margin-top: 0.55em;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 0.96em;
}

body.thin-tall-mode .customize-btn {
  margin-left: 0;
}

body.thin-tall-mode .main-grid {
  margin-top: 0.65em;
  grid-template-columns: 1fr;
  gap: 0.7em;
}

body.thin-tall-mode .site-footer {
  margin-top: 0.9em;
  margin-bottom: 1em;
  font-size: 10px;
}

body.thin-tall-mode .power-calendar {
  margin-top: 0.7em;
}

body.thin-tall-mode .power-calendar-panel {
  padding: 0.62em 0.68em 0.72em;
}

body.thin-tall-mode .power-calendar-head {
  grid-template-columns: 1fr;
  gap: 0.3em;
  padding-bottom: 0.46em;
}

body.thin-tall-mode .calendar-title-logo {
  height: 1.02em;
  transform: translateY(0.03em);
}

body.thin-tall-mode .power-events-meta {
  text-align: left;
  max-width: none;
}

body.thin-tall-mode .power-events-list {
  grid-template-columns: 1fr;
  gap: 0;
}

body.thin-tall-mode .power-event-item {
  grid-template-columns: 84px minmax(0, 1fr);
  gap: 0.52em;
  padding: 0.45em 0 0.48em;
}

body.thin-tall-mode .power-event-title {
  font-size: 0.98em;
}

body.thin-tall-mode .power-event-top {
  grid-template-columns: 1fr;
  gap: 0.24em;
}

body.thin-tall-mode .power-event-register {
  margin-left: 0;
  justify-self: start;
  text-align: left;
  padding-top: 0;
}

body.thin-tall-mode .power-events-actions {
  gap: 0.44em 0.74em;
}

body.thin-tall-mode .power-action-link {
  font-size: 12px;
}

body.thin-tall-mode .col-title {
  padding: 0.5em 0 0.42em;
  font-size: 1.72em;
}

body.thin-tall-mode .left-col .col-title {
  padding-left: 1.45em;
}

body.thin-tall-mode #leadStories {
  padding-left: 1.2em;
}

body.thin-tall-mode .item {
  padding-top: 0.12em;
  padding-bottom: 0.62em;
}

body.thin-tall-mode .ii {
  padding-top: 0.2em;
}

body.thin-tall-mode .ill {
  width: 98px;
  height: 70px;
  object-fit: cover;
  padding: 0.05em 0 0.2em 0.45em;
}

body.thin-tall-mode .L4 {
  font-size: 1.42em;
  line-height: 1.05em;
}

body.thin-tall-mode .dbpt {
  padding-top: 0.26em;
}

body.thin-tall-mode .relitems {
  margin-top: 0.5em;
}

body.thin-tall-mode .briefing-panel {
  padding: 0.55em 0.64em;
}

body.thin-tall-mode .briefing-item {
  padding: 5px 6px 5px 8px;
}

body.thin-tall-mode .briefing-text {
  font-size: 13px;
}

body.thin-tall-mode .ad-space {
  min-height: 110px;
  margin-top: 8px;
  padding: 9px;
  font-size: 12px;
}

body.thin-tall-mode .ad-slot {
  padding: 7px;
}

body.thin-tall-mode .ad-poster {
  border-width: 1px;
}

body.thin-tall-mode .bulletin-signup {
  padding: 8px;
}

body.thin-tall-mode .bulletin-form input,
body.thin-tall-mode .bulletin-form button {
  height: 36px;
}

body.thin-tall-mode .ad-caption {
  font-size: 11px;
  line-height: 1.2;
}

body.thin-tall-mode .right-col .col-title {
  margin-bottom: 8px;
}

body.thin-tall-mode .river-item {
  padding: 0 0 7px;
  margin-bottom: 7px;
}

body.thin-tall-mode .river-item a {
  font-size: 1.16em;
  line-height: 1.09;
}

body.thin-tall-mode.newest-rail-mode .right-col {
  position: static;
  max-height: none;
  overflow: visible;
}

body.thin-tall-mode.newest-rail-mode .right-col .col-title {
  position: static;
  border-bottom: 0;
  margin-bottom: 8px;
  padding-bottom: 0.42em;
}

body.thin-tall-mode.newest-rail-mode #riverList {
  max-height: none;
  overflow: visible;
}

body.thin-tall-mode .controls-drawer {
  right: 6px;
  top: 6px;
  width: calc(100vw - 12px);
  max-height: calc(100vh - 12px);
  border-radius: 6px;
}

@media (max-width: 520px) {
  body.thin-tall-mode .utility-bar {
    padding-top: 4px;
    padding-bottom: 4px;
    align-items: flex-start;
    gap: 6px;
  }

  body.thin-tall-mode .utility-right {
    width: 100%;
  }

  body.thin-tall-mode .utility-right .utility-checkbox,
  body.thin-tall-mode .utility-right .darkmode-toggle,
  body.thin-tall-mode .utility-right .utility-share-btn {
    justify-content: flex-start;
    font-size: 10px;
    gap: 4px;
  }

  body.thin-tall-mode .utility-right .utility-share-btn {
    height: 20px;
    padding: 0 7px;
  }
}
