/* gs-ui.css — site-wide polish layer (Oct 2026). Loaded after stylesheet.css and glideslope.css. */
:root {
  --gs-ink: #111; --gs-ink-2: #374151; --gs-muted: #6b7280; --gs-line: #e5e7eb; --gs-soft: #f6f6f4;
  --gs-accent: #b91c1c; --gs-up: #15803d; --gs-down: #b91c1c;
  --gs3-border-str: 1px solid #d4d4d4;
}
html { -webkit-text-size-adjust: 100%; }
body { text-rendering: optimizeLegibility; }
:where(a, button, input, select, textarea, [tabindex]):focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }

/* Home: Today's Pulse */
.gs-hp-pulse__all { font: 600 11px/1 var(--gs3-font-mono, monospace); letter-spacing: .06em; color: var(--gs-ink); text-decoration: none; text-transform: uppercase; }
.gs-hp-pulse__all:hover { text-decoration: underline; }
.gs-hp-pulse__list { list-style: none; margin: 0; padding: 4px 0 6px; }
.gs-hp-pulse__list li a { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: 10px; align-items: baseline; padding: 10px 2px; border-bottom: 1px solid var(--gs-line); color: inherit; text-decoration: none; }
.gs-hp-pulse__list li:last-child a { border-bottom: 0; }
.gs-hp-pulse__list li a:hover .gs-hp-pulse__hl { text-decoration: underline; text-decoration-color: #9ca3af; text-underline-offset: 3px; }
.gs-hp-pulse__n { font: 700 11px/1 var(--gs3-font-mono, monospace); color: var(--gs-accent); }
.gs-hp-pulse__hl { font: 700 16px/1.35 var(--gs3-font-serif, Georgia, serif); color: var(--gs-ink); }
.gs-hp-pulse__brk { font: 800 9px/1 var(--gs3-font-mono, monospace); font-style: normal; letter-spacing: .08em; text-transform: uppercase; color: #fff; background: var(--gs-accent); padding: 3px 6px; border-radius: 3px; vertical-align: 2px; }
.gs-hp-pulse__tone { font: 700 10px/1 var(--gs3-font-mono, monospace); letter-spacing: .06em; text-transform: uppercase; padding: 4px 7px; border-radius: 999px; background: var(--gs-soft); color: var(--gs-muted); white-space: nowrap; }
.gs-hp-pulse__tone--up { color: var(--gs-up); background: #ecfdf3; }
.gs-hp-pulse__tone--down { color: var(--gs-down); background: #fef2f2; }

/* Home: long headline list pages in 25 at a time */
.gs3-hl--more { display: none !important; }
.gs-hp-more { display: block; width: calc(100% - 24px); margin: 14px auto 6px; height: 40px; border-radius: 8px; border: 1px solid var(--gs-line); background: #fff; color: var(--gs-ink); font: 600 13px/1 'Inter', system-ui, sans-serif; cursor: pointer; }
.gs-hp-more:hover { border-color: var(--gs-ink); }

@media (max-width: 600px) {
  .gs-hp-pulse__list li a { grid-template-columns: 24px minmax(0, 1fr); }
  .gs-hp-pulse__tone { grid-column: 2; justify-self: start; }
}

/* The off-canvas menu sat just past the right edge and made some pages scroll sideways */
html { overflow-x: clip; }
.gs-drawer { visibility: hidden; transition: transform .25s ease, visibility 0s linear .25s; }
#gsMenuToggle:checked ~ .gs-drawer { visibility: visible; transition: transform .25s ease, visibility 0s; }

/* Search on phones: results first, the analytics after them */
@media (max-width: 768px) {
  .gs3-search-layout { display: flex; flex-direction: column; }
  .gs3-search-layout .gs3-col--center { order: -1; }
}

/* Home on phones: top story and Pulse first; sentiment, newsletter and live feed after */
@media (max-width: 768px) {
  #gs3Layout:not(.gs3-search-layout) { display: flex; flex-direction: column; }
  #gs3Layout:not(.gs3-search-layout) .gs3-col--center { order: -1; }
}
