/* AdEconomy adaptation of the Entertainment/Defense terminal, not New Energy.
   Current AQ-373/374/375 conventions: docs/DESIGN-REFERENCE.md. */
:root {
  --pill-line:#52708c;
  --r-panel:4px;
  --panel-head-h:52px;
  --panel-head-shading:linear-gradient(180deg,var(--panel2),var(--panel))}
[data-theme=light] {--pill-line:#7e92a6}
* {
  box-sizing:border-box}
html {
  scroll-padding-top:calc(var(--header-height,122px) + 16px);
  scrollbar-color:var(--grid) var(--bg)}
body {
  margin:0;
  background:var(--bg);
  color:var(--text);
  font:13px/1.5 var(--sans)}
[hidden] {
  display:none!important}
button,input,select {
  font:inherit;
  color:inherit}
button,a,input,select,summary {
  touch-action:manipulation}
a {
  color:var(--brand);
  text-decoration:none}
a:hover {
  text-decoration:underline}
button {
  cursor:pointer;
  border:1px solid var(--grid);
  border-radius:6px;
  background:var(--panel);
  padding:7px 11px;
  min-height:34px}
button:hover {
  border-color:var(--brand);
  color:var(--brand)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible {
  outline:2px solid var(--brand);
  outline-offset:3px}
.sr-only,.skip:not(:focus) {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0}
.skip:focus {
  position:fixed;
  top:8px;
  left:8px;
  z-index:200;
  padding:10px;
  background:var(--bg)}
p {
  margin:6px 0 12px}
h1,h2,h3 {
  margin:0}
h1 {
  font:600 30px/1.15 var(--serif);
  letter-spacing:-.01em}
h2 {
  font:600 16px/1.35 var(--sans)}
h3 {
  font:600 14px/1.35 var(--sans)}
.muted {
  color:var(--text-dim)}
.meta,.panel-label,.count,.eyebrow,.row-note {
  font:11px/1.5 var(--mono);
  color:var(--faint)}
.panel-label,.eyebrow {
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--brand)}

/* The Wire's blue masthead, clocks and headline strip share one sticky header. */
.chrome {
  position:sticky;
  top:0;
  z-index:30;
  background:var(--bg);
  border-bottom:1px solid var(--grid)}
.masthead {
  display:flex;
  align-items:center;
  gap:0;
  min-height:48px;
  margin:0;
  padding:0 max(20px,calc((100% - 1560px)/2 + 20px));
  background:#1d6bb4;
  color:white}
.brand {
  display:flex;
  align-items:center;
  gap:12px;
  flex:none;
  min-width:0;
  color:#fff;
  margin-right:16px;
  min-height:48px;
  font:600 15px/1.3 var(--mono);
  letter-spacing:0;
  white-space:nowrap}
.brand:hover {
  text-decoration:none}
.axiom {
  position:relative;
  width:92px;
  height:28px;
  overflow:hidden;
  flex:none}
.axiom img {
  position:absolute;
  width:132.17px;
  height:52.06px;
  max-width:none;
  left:-20.09px;
  top:-12.03px}
.utilities {
  display:flex;
  align-items:center;
  gap:0;
  margin-left:auto;
  padding-left:16px;
  min-width:0}
.global-search {
  position:relative;
  width:200px;
  margin-right:8px;
  min-width:95px}
.global-search input {
  width:100%;
  min-height:36px;
  border:0;
  border-bottom:1px solid #ffffffb3;
  border-radius:0;
  background:#154f86;
  color:#fff;
  padding:8px 28px 8px 32px;
  font:11px var(--mono)}
.global-search input::placeholder {
  color:#d7e5f3;
  opacity:1;
  font-size:10px;
  letter-spacing:.04em}
.theme,.nav a,.nav button,.help-link,.account-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 12px;
  border:0;
  border-radius:0;
  color:#fff;
  background:transparent;
  font:12px var(--mono);
  letter-spacing:.03em;
  text-transform:uppercase;
  white-space:nowrap}
.theme {
  min-width:48px;
  padding:0}
.theme svg {
  width:20px;
  height:20px;
  stroke:currentColor;
  fill:none}
.theme svg path {fill:currentColor;stroke:none}
.search-icon {
  position:absolute;
  left:10px;
  top:50%;
  transform:translateY(-50%);
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  pointer-events:none}
.global-search kbd {
  position:absolute;
  top:50%;
  right:8px;
  transform:translateY(-50%);
  padding:0 4px;
  border:1px solid #ffffff85;
  font:10px/1.5 var(--mono)}
.global-search input:not(:placeholder-shown)~kbd {display:none}
.nav {
  display:flex;
  align-items:center;
  gap:0;
  margin-left:0;
  min-width:0}
.nav a:hover,.nav button:hover,.theme:hover {
  background:#185992;
  color:#fff;
  border-color:#fff;
  text-decoration:none}
.nav a[aria-current=page] {
  background:#154f86;
  box-shadow:inset 0 -3px #fff}
.nav #menu-logout {
  display:none}
.menu-section,.nav .mobile-only {
  display:none}
.menu-button {
  display:none;
  flex:none;
  width:48px;
  height:52px;
  padding:4px 0;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:3px;
  font-size:10px;
  line-height:12px;
  font-weight:700;
  background:#154f86;
  color:#fff;
  border:1px solid #ffffff85;
  border-radius:4px}
.menu-button svg {
  width:24px;
  height:18px;
  stroke:currentColor;
  stroke-width:2;
  fill:none;
  flex:none}
.menu-button .close-icon {
  display:none}
.menu-button[aria-expanded=true] .bars-icon {
  display:none}
.menu-button[aria-expanded=true] .close-icon {
  display:block}
.masthead :is(a,button,input):focus-visible {
  outline-color:white}
.clock-strip {
  height:30px;
  overflow-x:auto;
  scrollbar-width:none;
  border-bottom:1px solid var(--grid);
  padding:0 max(20px,calc((100% - 1560px)/2 + 20px));
  background:var(--bg2);
  scroll-snap-type:x proximity}
.clocks {
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  min-width:max-content}
.clock {
  display:flex;
  align-items:center;
  gap:7px;
  font:11px var(--mono);
  white-space:nowrap;
  scroll-snap-align:start}
.clock-city {
  font-size:10px;
  color:var(--faint)}
.clock-time {
  color:var(--text);
  font-variant-numeric:tabular-nums}
.ticker-wrap {
  display:flex;
  align-items:stretch;
  height:36px;
  background:var(--bg2)}
.ticker-label {
  display:flex;
  align-items:center;
  flex:none;
  padding:0 20px;
  background:#1d6bb4;
  color:#fff;
  font:11px var(--mono);
  letter-spacing:.1em}
.ticker {
  flex:1;
  min-width:0;
  overflow-x:auto;
  scrollbar-width:none}
.ticker-track {
  display:flex;
  align-items:center;
  white-space:nowrap;
  width:max-content;
  min-height:36px;
  padding:0 16px;
  font:11px var(--mono);
  color:var(--text-dim)}
.tick {
  display:flex;
  align-items:center;
  gap:8px;
  border:0;
  border-radius:0;
  background:none;
  color:var(--text-dim);
  font:11px var(--mono);
  padding:0 25px 0 0;
  min-height:36px}
.tick:after {
  content:' ◆';
  color:var(--brand);
  padding-left:22px}
.tick:hover {
  color:var(--brand)}
.tick b {color:var(--brand);font-weight:600}

.preview-bar {
  border-bottom:1px solid var(--grid);
  background:var(--panel);
  padding:5px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size:10px;
  color:var(--text-dim)}
.preview-copy strong {
  letter-spacing:.04em;
  color:var(--text)}
.preview-actions {
  display:flex;
  gap:5px;
  align-items:center;
  flex:none;
  min-width:0;
  max-width:100%}
.preview-actions button {
  font:10px var(--mono);
  padding:3px 7px;
  min-height:26px;
  border-radius:4px}
.preview-label {
  font:10px var(--mono);
  color:var(--brand);
  margin-right:5px}

main {
  max-width:1560px;
  margin:0 auto;
  padding:20px 20px 60px}
.page-heading {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:20px;
  margin-bottom:18px}
.eyebrow {
  margin-bottom:5px}
.page-heading p {
  font-size:13.5px;
  max-width:660px;
  margin:7px 0 0}
.count {
  white-space:nowrap;
  color:var(--text-dim)}
body[data-page=wire] main {
  padding:0}
body[data-page=wire] .page-heading {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  margin:0}
body[data-page=wire] .page-heading #count {
  position:static}
.status-live:empty {
  display:none}
.wire-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) 384px;
  gap:0;
  align-items:start}
.primary {
  min-width:0;
  padding:16px 20px 60px}
.rail {
  min-width:0;
  border-left:1px solid var(--grid);
  padding:16px 16px 60px;
  display:flex;
  flex-direction:column;
  gap:18px}
.panel {
  background:var(--panel);
  border:1px solid var(--grid);
  border-radius:var(--r-panel);
  overflow:hidden}
.panel-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  height:var(--panel-head-h);
  min-height:var(--panel-head-h);
  padding:0 18px;
  background:var(--panel-head-shading);
  border-bottom:1px solid var(--grid);
  font:700 12px var(--mono);
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--brand)}
.panel-heading h2 {
  font:700 12px/1.3 var(--mono);
  letter-spacing:.1em}
.panel-heading .meta {
  font-size:10px;
  letter-spacing:.04em;
  margin-left:auto;
  text-align:right}
.panel-body {
  padding:12px 14px}
.panel-body a {
  display:block;
  font-weight:600;
  margin:5px 0}
.panel-body p {
  font-size:12px;
  margin:5px 0}
.desk {
  margin-bottom:18px;
  container:desk / inline-size}
.desk-fold {
  font:12px var(--mono);
  padding:2px 6px;
  min-height:24px;
  margin-left:0;
  border:0;
  background:transparent;
  color:var(--faint)}
.desk-memo {
  padding:18px 20px;
  font:18px/1.55 var(--serif);
  color:var(--pale)}
.desk-memo>p {font-size:17px;font-weight:400;overflow-wrap:break-word}
.desk-memo>p:first-child {font-size:18px;font-weight:500}
.desk-memo>p+p {margin-top:14px}
.desk-memo .memo-note {
  font:10px/1.5 var(--mono);
  color:var(--faint);
  letter-spacing:.03em;
  margin:14px 0 0}
.desk-body {
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(0,1fr);
  border-top:1px solid var(--grid)}
.desk-side {
  min-width:0;
  padding:15px 16px 14px;
  border-left:1px solid var(--grid);
  font-size:12px}
.desk-side p {
  font-weight:600;
  margin:12px 0 2px}
.desk-side .muted {
  font-size:11px}
.desk-side .side-description {font:11px/1.5 var(--sans);color:var(--faint);margin:5px 0 12px}
.company-coverage {display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;padding:8px 0;border:0;border-top:1px solid var(--grid);border-radius:0;background:transparent;text-align:left;font:500 12px/1.45 var(--sans)}
.company-coverage span {min-width:0;overflow-wrap:anywhere}
.coverage-count {flex:none;font:11px var(--mono);color:var(--brand)}
.desk-front {min-width:0}
.desk-front-head {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:4px 12px;
  padding:15px 18px 11px;
  border-bottom:1px solid var(--grid)}
.desk-front-head .muted {font:11px/1.5 var(--sans)}
.desk-front-head h3,.desk-side h3 {font:500 11px/1.5 var(--mono);letter-spacing:.08em}
.front-story {
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  gap:4px 10px;
  text-align:left;
  width:100%;
  border:0;
  border-bottom:1px solid var(--grid);
  border-radius:0;
  padding:13px 18px;
  background:transparent}
.front-story:last-child {
  border-bottom:0}
.rank {
  grid-row:1/3;
  color:var(--faint);
  font:500 13px/1.55 var(--mono)}
.front-title {
  font:600 14px/1.45 var(--sans);
  color:var(--text)}
.front-meta {
  grid-column:2;
  font:10px/1.5 var(--mono);
  text-transform:uppercase;
  color:var(--faint)}
.front-story:hover {
  background:var(--panel2)}
.front-story:first-of-type .rank {
  color:var(--brand)}
.front-story:first-of-type .front-title {
  font-size:17px;
  line-height:1.4}
.feed-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:10px 2px 8px}
.feed-heading h2 {
  position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.feed-heading .meta {
  font-size:10px}
.desk-filters {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-bottom:8px}
.pill {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  font:500 13px/1 var(--sans);
  padding:0 13px;
  min-height:32px;
  border-color:var(--pill-line);
  border-radius:999px;
  background:transparent;
  color:var(--text-dim)}
.pill .filter-count {font:11px/1 var(--mono);color:var(--faint)}
.pill[aria-pressed=true] .filter-count {color:#fff}
.pill:hover {background:var(--panel2);color:var(--text)}
.pill[aria-pressed=true],.density-button[aria-pressed=true] {
  background:var(--brand-d);
  color:white;
  border-color:var(--brand-d)}
.controls {
  display:flex;
  gap:8px;
  align-items:end;
  flex-wrap:wrap;
  padding:8px 0 4px;
  border-top:1px solid var(--grid)}
.news-feed .controls label {font-size:0}
.news-feed .controls select {width:250px;max-width:100%;text-transform:uppercase}
.controls label {
  display:grid;
  gap:4px;
  min-width:0;
  font:10px var(--mono);
  color:var(--text-dim)}
.controls input,.controls select {
  max-width:260px;
  min-width:0;
  width:100%;
  font:11px var(--mono);
  border:1px solid var(--grid);
  border-radius:6px;
  background:var(--field);
  padding:7px 9px;
  min-height:34px}
.density-button {
  font:11px var(--mono);
  border-radius:999px;
  text-transform:uppercase}
.news-feed .controls :is(select,button) {border-color:var(--pill-line)}
.story {
  padding:10px 14px 9px;
  border:1px solid transparent;
  border-bottom:1px solid var(--grid-soft);
  border-radius:4px}
.story summary {
  display:grid;
  grid-template-columns:58px minmax(0,1fr) 18px;
  gap:14px;
  cursor:pointer;
  list-style:none}
.story summary::-webkit-details-marker,.record-row summary::-webkit-details-marker {
  display:none}
.story-when {
  display:flex;
  flex-direction:column;
  gap:5px;
  font:11px var(--mono);
  color:var(--text-dim);
  padding-top:3px;
  text-align:right;
  font-variant-numeric:tabular-nums;
  white-space:nowrap}
.story-when small {
  font-size:9px;
  color:var(--brand)}
.story-main {
  min-width:0}
.story-title {
  display:block;
  font:600 17px/1.3 var(--sans);
  letter-spacing:-.02em}
.story-preview {
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  font-size:13px;
  line-height:1.5;
  color:var(--text-dim);
  margin:4px 0}
.story .meta {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  font-size:10px;
  margin-top:6px;
  text-transform:uppercase;
  letter-spacing:.04em}
.source-chip {color:var(--brand);border:1px solid var(--grid);padding:1px 7px;border-radius:3px;font:10px/1.5 var(--mono);letter-spacing:.06em}
.category-chip {font:10px/1.5 var(--mono);letter-spacing:.06em;color:var(--faint)}
.story-caret {
  font:17px var(--mono);
  color:var(--brand)}
.story[open],.story:hover {
  background:var(--panel);
  border-color:var(--grid)}
.story[open] .story-caret {
  transform:rotate(45deg)}
.story .detail {
  padding:20px 4px 4px;
  margin-top:10px;
  border-top:1px solid var(--grid);
  font:16px/1.7 var(--serif)}
.story .detail>p {max-width:90ch}
.story .detail .muted {
  font:12px/1.6 var(--sans);
  margin-top:14px}
.story-context {margin-top:24px}
.story-context h3 {font:500 11px/1.4 var(--mono);border-bottom:1px solid var(--grid);padding-bottom:8px;margin-bottom:12px}
.story-actions {display:flex;justify-content:flex-end;margin-top:16px}
.collapse-story {min-height:32px;font:11px/1.4 var(--mono);background:transparent;border-color:transparent;border-radius:4px}
.collapse-story:hover {background:var(--field);border-color:var(--grid)}
.compact .story-preview {
  display:none}
.compact .story {
  padding-block:8px}
.chips {
  display:flex;
  flex-wrap:wrap;
  gap:6px}
.entity-button {
  font:12px var(--sans);
  border-radius:4px;
  min-height:30px;
  padding:4px 8px}
.rail ul {
  list-style:none;
  padding:0;
  margin:0}
.rail li {
  padding:10px 14px;
  border-bottom:1px solid var(--grid)}
.rail li:last-child {
  border:0}
.rail li p {
  font-size:11px;
  margin:6px 0 0}
.rail .entity-button {
  padding:0;
  border:0;
  border-radius:0;
  font-weight:600;
  min-height:26px;
  background:none;
  color:var(--text)}

/* The Universe and ledger follow the same dense, expandable register rows. */
.research-controls {
  margin-bottom:14px}
.register {
  --cols:minmax(0,1.2fr) minmax(0,1.7fr) 115px 160px;
  border:1px solid var(--grid);
  border-radius:var(--r-panel);
  overflow:hidden}
.register[data-kind=deals] {
  --cols:115px minmax(0,1.5fr) minmax(0,1fr) 150px}
.register[data-kind=calendar] {
  --cols:160px minmax(0,1.6fr) minmax(0,.8fr) 165px;
  border:0;border-radius:0;overflow:visible}
.register[data-kind=calendar]>.calendar-month>.register {--cols:inherit;border-radius:0}
body[data-page=calendar] main {max-width:1160px;padding-top:24px}
.calendar-note {max-width:82ch;color:var(--text-dim);font-size:12px;line-height:1.6;margin:12px 0 0}
.calendar-month {margin:26px 0}
.calendar-month-heading {display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:7px;color:var(--brand)}
.calendar-month-heading h2 {font:500 12px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.06em}
.calendar-month-heading>span {font:11px/1.5 var(--mono);color:var(--text-dim);font-variant-numeric:tabular-nums}
.calendar-month .register-head {padding:7px 10px;background:var(--panel2)}
.calendar-month .event-row>summary {min-height:66px;padding:10px;gap:18px}
.event-row .register-cell:first-child {font:500 11.5px/1.6 var(--mono);color:var(--brand);font-variant-numeric:tabular-nums}
.event-row h2 {font-size:13.5px;line-height:1.3;letter-spacing:-.005em}
.event-row .row-note {font-size:10px;line-height:1.6}
.register-head,.record-row>summary {
  display:grid;
  grid-template-columns:var(--cols);
  gap:18px;
  align-items:start;
  padding:14px 16px}
.register-head {
  background:var(--panel-head-shading);
  font:10px var(--mono);
  text-transform:uppercase;
  letter-spacing:.07em;
  color:var(--text-dim)}
.record-row {
  border-top:1px solid var(--grid);
  background:var(--bg)}
.record-row:nth-child(odd) {
  background:var(--panel)}
.record-row>summary {
  list-style:none;
  cursor:pointer;
  font-size:12px;
  min-height:76px}
.record-row>summary:hover {
  background:var(--panel2)}
.record-row h2 {
  font-size:14px}
.record-row .row-note {
  display:block;
  font-size:9px;
  margin-top:5px}
.register-cell {
  min-width:0;
  overflow-wrap:break-word}
.record-row[open]>summary {
  box-shadow:inset 3px 0 0 var(--brand)}
.record-detail {
  padding:18px 20px;
  background:var(--panel);
  border-top:1px solid var(--grid)}
.record-detail h3 {
  margin-bottom:10px}
.record-detail p {
  max-width:90ch}
.record-detail a {
  overflow-wrap:anywhere}
.record-detail .meta {
  margin-top:10px}
.amount {
  display:block;
  font:500 12px/1.5 var(--mono);
  margin:0 0 5px}
.load-more {
  display:block;
  margin:15px auto}
.empty {
  padding:30px;
  text-align:center;
  color:var(--text-dim)}
.state {
  padding:40px 20px;
  text-align:center}
.state p {
  max-width:560px;
  margin:10px auto 18px}
.state button {
  margin:5px}
.plans {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px}
.plan {
  padding:24px}
.plan h2 {
  margin:0 0 14px}
.price {
  font:32px var(--serif)}
.plan li {
  margin:10px 0}
.note {
  padding:16px;
  border-left:3px solid var(--brand);
  background:var(--panel);
  margin:18px 0}
.record {
  padding:24px}
.footer {
  margin:30px 0 0;
  padding:34px max(20px,calc((100% - 1560px)/2 + 20px)) 30px;
  background:#1d6bb4;
  color:#e9f2fb;
  font:12px/1.55 var(--sans)}
.footer-brand {display:flex;align-items:center;gap:12px;margin-bottom:16px;font:600 15px var(--mono)}
.footer-description {max-width:560px;font-size:12.5px;line-height:1.6}
.footer-account {display:flex;flex-wrap:wrap;gap:12px 18px;margin:22px 0 16px}
.footer .footer-disclosure {max-width:900px;border-top:1px solid #ffffff3d;margin-top:20px;padding-top:16px;line-height:1.65}
.footer a {
  color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:2px}
.footer :is(a,button):focus-visible {outline-color:#fff}
.keyboard-hint {
  font:10px/1.8 var(--mono);
  margin:14px 0 0;
  color:#e9f2fb}
.dialog {
  max-width:560px;
  width:calc(100% - 36px);
  background:var(--panel);
  color:var(--text);
  border:1px solid var(--grid);
  border-radius:9px;
  padding:22px}
.dialog::backdrop {
  background:#0008}
.dialog .close {
  float:right}
.dialog p {
  clear:both}

/* The account and public pages use the existing panel geometry and type. */
.account-layout,.public-layout,.operator-layout {display:grid;gap:18px;max-width:1120px}
.account-panel,.public-panel,.operator-panel {padding-bottom:14px}
.account-panel>p,.account-panel>label,.account-panel>.form-line,.account-panel>button,
.operator-panel>p,.operator-panel>label,.operator-panel>button,.operator-panel>.operator-row,
.public-panel>.panel-body {margin:12px 18px}
.account-panel>label,.operator-panel>label,.form-line label {display:grid;gap:6px;font:12px var(--mono);color:var(--text-dim)}
.account-panel input,.account-panel textarea,.operator-panel input,.operator-panel select,
.form-line input,.form-line textarea,.source-directory input {
  width:100%;min-width:0;max-width:560px;min-height:40px;padding:8px 10px;
  border:1px solid var(--grid);border-radius:4px;background:var(--field);color:var(--text)}
.account-panel textarea,.form-line textarea {min-height:110px}
.account-panel>button,.operator-panel>button {margin:6px 0 6px 18px}
.check-row {display:flex!important;align-items:flex-start;gap:10px;max-width:700px}
.check-row input {width:18px;min-height:18px;margin-top:2px}
.account-panel .notice,.operator-panel .notice {padding:12px;border-left:3px solid var(--brand);background:var(--bg2)}
.form-line {border-top:1px solid var(--grid);padding-top:14px;display:grid;gap:9px}
.form-line button {justify-self:start}
.operator-row {border-top:1px solid var(--grid);padding:12px 0;display:flex;align-items:start;flex-wrap:wrap;gap:8px 12px}
.operator-row strong {min-width:200px;overflow-wrap:anywhere}
.operator-row label {flex:1 1 220px}
.operator-row button {flex:none}
.one-time-code {padding:8px 18px;color:var(--brand);overflow-wrap:anywhere}
.offer-summary {margin:16px 18px;padding:14px;border:1px solid var(--grid);background:var(--bg2)}
.offer-summary button {margin:6px 8px 0 0}
.history {margin:18px;border-top:1px solid var(--grid);padding-top:12px}
.public-layout .panel-body {font-size:14px;line-height:1.65}
.public-layout>.public-panel {border:0;border-radius:0;background:transparent;overflow:visible;padding:8px 0 20px;border-bottom:1px solid var(--grid)}
.public-layout>.public-panel>.panel-heading {padding:0;height:auto;min-height:0;background:none;border:0;margin-bottom:14px}
.public-layout>.public-panel>.panel-heading h2 {font:600 22px/1.3 var(--serif);letter-spacing:0;text-transform:none;color:var(--text)}
.public-layout>.public-panel>.panel-body {margin:0;max-width:80ch;padding:0}
.source-directory .public-panel {border:0;border-bottom:1px solid var(--grid);border-radius:0;background:transparent;padding:14px 0}
.source-directory .panel-heading {height:auto;min-height:0;background:none;border:0;padding:0 0 4px}
.source-directory .panel-heading h2 {text-transform:none;font:600 14px/1.4 var(--sans);letter-spacing:0}
.source-directory .panel-body {margin:0;padding:0;font-size:12px}
.public-layout>a {padding:6px 0}
.source-directory {display:grid;gap:0}
.source-directory .public-panel {margin:0}
.sources-layout {max-width:none;gap:12px}
.directory-note {max-width:85ch;color:var(--text-dim);font-size:13px;line-height:1.6;margin:0}
.directory-stamp {margin:0;padding:12px 0;border-block:1px solid var(--grid);font:11px/1.7 var(--mono);color:var(--text-dim)}
.directory-count {margin:4px 0;font:11px/1.6 var(--mono);color:var(--text-dim)}
.source-directory .directory-source {display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,1.4fr) minmax(0,1fr);gap:18px;padding:14px 10px}
.source-directory .directory-source:nth-child(even) {background:var(--panel)}
.directory-source .panel-heading {display:block;padding:0}
.directory-source .panel-heading a {display:inline-block;margin-top:5px;font:11px/1.5 var(--mono)}
.directory-health {color:var(--text-dim);font:11px/1.7 var(--mono);margin:0;overflow-wrap:anywhere}
.footer-links {display:flex;flex-wrap:wrap;gap:8px 16px}
.footer-links a {margin:0}
.status-live:not(:empty) {padding:12px;border-left:3px solid var(--brand);background:var(--panel);margin-bottom:14px}

/* AdEconomy retains its account entry beside Entertainment's Help control. */
@media(min-width:1141px) and (max-width:1280px) {
 .global-search {width:170px}
}
@media(min-width:601px) and (max-width:760px) {
 .utilities .account-link {display:none}
}

@media(max-width:1140px) {
  .masthead {
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  gap:10px 12px;
  padding:4px 18px}
.menu-button {
  display:flex}
.brand {
  grid-column:2;
  grid-row:1}
.utilities {
  grid-column:3;
  grid-row:1;
  gap:8px}
.global-search {
  width:180px}
.account-link {
  display:flex;
  color:white;
  font:11px var(--mono)}
.help-link {display:none}
.nav {
  display:none;
  position:fixed;
  top:var(--masthead-height,60px);
  left:0;
  width:256px;
  max-width:100vw;
  margin:0;
  max-height:calc(100dvh - var(--masthead-height,60px));
  overflow-y:auto;
  border:1px solid #ffffff40;
  padding:0;
  background:#154f86;
  box-shadow:0 8px 20px #0003;
  align-items:stretch;
  gap:0}
.nav.open {
  display:grid;
  grid-template-columns:1fr}
.nav .mobile-only {
  display:flex}
.nav a,.nav button {
  justify-content:flex-start;
  min-height:48px;
  padding:0 20px;
  font-size:13px}
.nav a[aria-current=page] {box-shadow:inset 3px 0 #fff;background:#103f6c}
.nav #menu-logout:not([hidden]) {
  display:flex}
.menu-section {
  display:block;
  grid-column:1/-1;
  font:10px var(--mono);
  text-transform:uppercase;
  padding:12px 20px 4px;
  color:#d7e5f3}
.register {
  --cols:minmax(0,1.1fr) minmax(0,1.4fr) 95px 125px}
.register[data-kind=deals] {
  --cols:100px minmax(0,1.4fr) minmax(0,1fr) 110px}
.register[data-kind=calendar] {
  --cols:145px minmax(0,1.5fr) minmax(0,.8fr) 130px}
}

@media(max-width:1120px) {
 .wire-layout {grid-template-columns:minmax(0,1fr)}
 .rail {border-left:0;border-top:1px solid var(--grid)}
}

@media(max-width:760px) {
  /* Keep the actual brand lettering clear of search just above the phone layout. */
  .global-search {width:clamp(140px,calc(100vw - 461px),180px)}
  .wire-layout {
  display:flex;
  flex-direction:column}
.primary,.rail {
  width:100%;
  padding:12px 14px}
.rail {
  border-left:0;
  border-top:1px solid var(--grid);
  padding-top:18px}
.desk-fold {
  display:none}
.desk-copy[hidden] {
  display:block!important}
.panel-heading {
  padding:0 12px}
.desk .panel-heading .meta {
  font-size:9px}
.desk-filters {
  flex-wrap:nowrap;
  overflow-x:auto;
  padding-bottom:5px}
.pill {
  flex:none;
  min-height:40px}
.controls input,.controls select {
  max-width:100%}
.controls label {
  flex:1 1 140px}
.controls {
  gap:7px}
.story summary {
  grid-template-columns:minmax(0,1fr) 18px;
  grid-template-areas:"when caret" "body body";
  gap:8px}
.story-when {grid-area:when;text-align:left;flex-direction:row}
.story-main {grid-area:body}
.story-caret {grid-area:caret}
.story-title {
  font-size:16px;
  line-height:1.3}
.story-preview {
  font-size:13px}
.story .meta {flex-wrap:nowrap;overflow-x:auto;min-height:44px;padding:10px 0;scrollbar-width:none}
.story .meta>* {flex:none;white-space:nowrap}
.story-when {
  font-size:10px}
.story .detail {
  padding:16px 0 0;
  font-size:15px}
.collapse-story,.story-context .entity-button {min-height:44px}
.feed-heading .meta {
  font-size:9px;
  max-width:180px;
  text-align:right}
.preview-copy {
  max-width:100%;
  font-size:9px}
.preview-bar {
  align-items:flex-start;
  flex-direction:column;
  gap:5px;
  padding:5px 14px}
.preview-actions {
  flex-wrap:wrap;
  flex:0 1 auto;
  width:100%}
.preview-actions button {
  min-height:29px}
.preview-label {
  font-size:9px}
.register-head {
  display:none}
.record-row>summary {
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:8px 14px;
  padding:13px 14px}
.record-row .register-cell:first-child {
  grid-column:1/-1}
.organization-row .register-cell:nth-child(2) {
  grid-column:1/-1;
  font-size:11px;
  color:var(--text-dim)}
.deal-row .register-cell:nth-child(2),.event-row .register-cell:nth-child(2) {
  grid-column:1/-1;
  grid-row:1}
.deal-row .register-cell:first-child,.event-row .register-cell:first-child {
  grid-row:2;
  grid-column:1/-1;
  font:10px var(--mono);
  color:var(--faint)}
.deal-row .register-cell:nth-child(3) {
  grid-column:1/-1}
.record-detail {
  padding:15px}
.calendar-month-heading {flex-wrap:wrap;gap:3px 12px}
body[data-page=calendar] .research-controls :is(input,select) {min-height:44px;font-size:16px}
.calendar-month .event-row>summary {grid-template-columns:90px minmax(0,1fr);gap:5px 12px;padding:12px}
.calendar-month .event-row .register-cell:first-child {grid-column:1;grid-row:1/4;line-height:1.7}
.calendar-month .event-row .register-cell:nth-child(2) {grid-column:2;grid-row:1}
.calendar-month .event-row .register-cell:nth-child(3) {grid-column:2;grid-row:2}
.calendar-month .event-row .register-cell:nth-child(4) {grid-column:2;grid-row:3;font-size:11px;color:var(--text-dim)}
.source-directory .directory-source {grid-template-columns:minmax(0,1fr);gap:6px;padding:14px 0}
.directory-source .panel-heading a {min-height:32px;display:flex;align-items:center}
.plans {
  grid-template-columns:1fr}
main {
  padding:18px 14px 45px}
.page-heading {
  align-items:start}
.page-heading h1 {
  font-size:24px}
.page-heading .eyebrow {
  font-size:10px}
.footer {
  padding:18px 14px}
.keyboard-hint {
  display:none}
}

@media(max-width:600px) {
  .masthead {
  grid-template-columns:48px minmax(0,1fr) auto;
  gap:0 8px;
  padding:4px 12px 8px}
.brand {
  gap:8px;
  font-size:13px;
  margin-right:0;
  min-height:56px;
  white-space:normal;
  line-height:1.3}
.axiom {
  width:84px;
  height:26px}
.axiom img {
  width:120.68px;
  height:48.34px;
  left:-18.34px;
  top:-11.17px}
.utilities {
  display:contents}
.theme {
  grid-column:3;
  grid-row:1;
  min-width:44px;
  padding:0}
.global-search {
  grid-column:1/3;
  grid-row:2;
  width:auto;
  margin:0;
  min-width:0}
.global-search input {
  min-height:44px;
  font-size:16px}
.account-link {
  grid-column:3;
  grid-row:2;
  font-size:10px;
  padding:0 5px;
  min-height:44px}
.clock-strip {
  height:34px;
  padding:0 12px}
.ticker-wrap,.ticker-track,.tick {min-height:45px;height:45px}
.clocks {
  gap:20px}
.ticker-label {
  font-size:9px;
  padding:0 12px}
.ticker-track,.tick {
  font-size:10px}
.page-heading {
  display:block}
.page-heading .count {
  margin-top:10px}
.panel-heading .meta {
  max-width:150px}
.story {
  padding:10px 3px}
.controls input,.controls select {
  font-size:12px}
}

@container desk (max-width:620px) {
  .desk-body {grid-template-columns:minmax(0,1fr)}
  .desk-side {border-left:0;border-top:1px solid var(--grid)}
  .desk-memo {padding:16px 14px;font-size:16px}
  .desk-memo>p,.desk-memo>p:first-child {font-size:16px}
  .desk-front-head {padding-inline:14px}
  .front-story {padding:13px 14px}
  .front-story:first-of-type .front-title {font-size:16px}
}

@media(prefers-reduced-motion:reduce) {
  * {
  scroll-behavior:auto!important}
}

/* AQ-497: public headline preview uses the same compact reader rows. */
.preview-account-link {display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;margin:8px 10px 0 0;border:1px solid var(--grid);font-weight:600}
.preview-account-link:first-of-type {background:var(--brand-d);color:#fff}
.preview-edition {padding:0 14px 14px;font-size:12px;color:var(--muted);line-height:1.6}
.detail>.preview-account-link {margin-bottom:14px}
