/* Native colour-scheme follows the device unless an appearance is selected. */
:root {
  color-scheme:light dark;
  --background:light-dark(#ffffff, #151618);
  --text:light-dark(#242629, #ebedf0);
  --secondary:light-dark(#50565f, #bcc1c9);
  --muted:light-dark(#666a71, #a8adb5);
  --line:light-dark(#e1e4e8, #35383d);
  --soft-line:light-dark(#edf0f2, #2c2f33);
  --surface:light-dark(#f6f7f8, #1e2023);
  --hover:light-dark(#eff2f5, #292d32);
  --blue:light-dark(#204eab, #a9c7ff);
  --action:light-dark(#2b5ba9, #a9c7ff);
  --action-hover:light-dark(#234c91, #c2d7ff);
  --on-action:light-dark(#ffffff, #16253e);
  --blue-text:light-dark(#245398, #a9c7ff);
  --blue-bg:light-dark(#edf3fd, #243650);
  --blue-strong-bg:light-dark(#dce8fc, #2e4669);
  --green:light-dark(#23633b, #9ed7ad);
  --good-bg:light-dark(#ebf5ed, #223a2b);
  --warn:light-dark(#805300, #f1ce7a);
  --warn-bg:light-dark(#fcf4dd, #42371c);
  --red:light-dark(#9a3737, #f5b2b2);
  --red-bg:light-dark(#faeeee, #432a2b);
  --red-strong-bg:light-dark(#f7dede, #513031);
  --purple:light-dark(#6c4795, #d0b6ee);
  --purple-bg:light-dark(#f3eef9, #352b43);
  --teal:light-dark(#236b65, #a0d6ce);
  --teal-bg:light-dark(#eaf5f2, #233c38);
  --highlight:light-dark(#fff0b3, #544514);
  --shadow:light-dark(#20212415, #00000040);
}

:root[data-theme="light"] { color-scheme:light; }
:root[data-theme="dark"] { color-scheme:dark; }

* {
  box-sizing:border-box;
}

html {
  scroll-behavior:smooth;
}

body {
  margin:0;
  color:var(--text);
  background:var(--background);
  font:14px/1.5 Arial,Helvetica,sans-serif;
  display:flex;
  min-height:100vh;
  flex-direction:column;
}

a {
  color:var(--action);
  text-decoration:none;
}

a:hover {
  text-decoration:underline;
}

button,input,select {
  font:inherit;
}

button,a,summary,select {
  -webkit-tap-highlight-color:transparent;
}

button {
  cursor:pointer;
}

button:disabled {
  cursor:wait;
}

button,input,select {
  color:var(--text);
}

input,select {
  background:var(--background);
}

input::placeholder {
  color:var(--muted);
  opacity:1;
}

button {
  background:var(--surface);
  border:1px solid transparent;
  border-radius:4px;
  padding:8px 16px;
}

button:hover {
  border-color:var(--line);
}

svg {
  flex-shrink:0;
  vertical-align:middle;
}

h1,h2,h3,p {
  margin-top:0;
}

h1,h2,h3 {
  font-weight:400;
}

h2 {
  font-size:22px;
  line-height:1.35;
}

h3 {
  font-size:17px;
}

.muted,.small {
  color:var(--muted);
}

.small {
  font-size:12px;
}

.visually-hidden {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
}

.skip-link {
  position:absolute;
  top:-60px;
  left:16px;
  z-index:10;
  padding:8px 16px;
  background:var(--background);
  border:1px solid var(--blue);
}

.skip-link:focus {
  top:12px;
}

a:focus-visible,button:focus-visible,summary:focus-visible {
  outline:2px solid var(--action);
  outline-offset:4px;
}

input:focus-visible,select:focus-visible {
  outline:2px solid var(--action);
  outline-offset:2px;
}

[hidden] {
  display:none!important;
}

code {
  background:var(--hover);
  padding:2px 5px;
  border-radius:4px;
  overflow-wrap:anywhere;
}

mark {
  background:var(--highlight);
  color:inherit;
  border-radius:2px;
  padding:0 1px;
  font-weight:600;
}

.date {
  color:var(--muted);
  font-size:12px;
}

.primary-button {
  color:var(--on-action);
  background:var(--action);
  border:1px solid var(--action);
  border-radius:6px;
}

.primary-button:hover {
  background:var(--action-hover);
}

.outlined-button {
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid var(--line);
  border-radius:22px;
  padding:9px 16px;
  color:var(--action);
  font-size:13px;
}

.outlined-button:hover {
  background:var(--blue-bg);
  text-decoration:none;
}

.icon-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  background:transparent;
  color:var(--muted);
  padding:8px;
  border-radius:50%;
  width:40px;
  height:40px;
  flex-shrink:0;
}

.icon-button:hover {
  background:var(--hover);
  text-decoration:none;
}

.wordmark {
  display:inline-block;
  font-size:27px;
  letter-spacing:-1px;
  font-weight:500;
  color:var(--text);
  line-height:1.2;
}

.wordmark.big {
  font-size:64px;
  letter-spacing:-2.8px;
}

.logo:hover {
  text-decoration:none;
}

.bar {
  display:flex;
  align-items:center;
  gap:36px;
  padding:24px 32px 12px;
  min-height:100px;
}

.bar .logo {
  width:122px;
  flex-shrink:0;
}

.search-form {
  width:692px;
  max-width:calc(100% - 230px);
}

.search-box {
  display:flex;
  align-items:center;
  gap:8px;
  min-height:48px;
  width:100%;
  border:1px solid var(--line);
  border-radius:28px;
  padding:0 9px 0 20px;
  box-shadow:none;
  background:var(--background);
}

.search-box:hover,.search-box:focus-within {
  box-shadow:none;
  border-color:var(--muted);
}

.search-box input {
  border:0;
  background:transparent;
  outline:none;
  min-width:0;
  flex:1;
  width:100%;
  height:46px;
  font-size:16px;
  color:var(--text);
}

.search-box input::-webkit-search-cancel-button {
  display:none;
}

.search-box input:focus-visible {
  outline:0;
}

.search-divider {
  width:1px;
  height:28px;
  background:var(--line);
  margin:0 2px;
}

.search-submit {
  color:var(--action);
}

.settings-link {
  margin-left:auto;
}

.navigation {
  display:flex;
  align-items:center;
  position:relative;
  gap:24px;
  padding:0 32px 0 190px;
  border-bottom:1px solid var(--soft-line);
  min-height:49px;
}

.tabs {
  display:flex;
  gap:28px;
  white-space:nowrap;
  overflow-x:auto;
}

.tabs a {
  padding:12px 0 11px;
  color:var(--muted);
  display:flex;
  align-items:center;
  gap:6px;
  border-bottom:3px solid transparent;
  font-size:14px;
}

.tabs a[aria-current] {
  color:var(--action);
  border-bottom-color:var(--action);
}

.tabs a:hover {
  color:var(--action);
  text-decoration:none;
}

.tools {
  align-self:stretch;
}

.tools>summary {
  cursor:pointer;
  display:flex;
  gap:7px;
  align-items:center;
  height:100%;
  list-style:none;
  padding:0 10px;
  color:var(--muted);
  white-space:nowrap;
}

.tools>summary::-webkit-details-marker {
  display:none;
}

.tools[open]>summary {
  color:var(--action);
  background:var(--blue-bg);
}

.filter-panel {
  position:absolute;
  left:190px;
  top:100%;
  right:32px;
  max-width:860px;
  z-index:3;
  background:var(--background);
  box-shadow:0 6px 18px var(--shadow);
  border:1px solid var(--line);
  padding:20px;
  border-radius:0 0 12px 12px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}

.filter-panel label {
  font-size:12px;
  color:var(--muted);
  display:flex;
  flex-direction:column;
  gap:5px;
}

.filter-panel select {
  width:100%;
  padding:9px 6px;
  border:1px solid var(--line);
  border-radius:5px;
  background:var(--background);
  font-size:13px;
}

.filter-panel .primary-button {
  align-self:end;
  height:39px;
}

.filter-note {
  grid-column:1/-1;
  font-size:12px;
  color:var(--muted);
  margin:0;
}

main {
  width:calc(100% - 222px);
  max-width:1120px;
  margin:0 32px 0 190px;
  padding:12px 0 48px;
  flex:1;
}

.result-summary {
  color:var(--muted);
  font-size:13px;
  margin:3px 0 24px;
}

.result-summary>span {
  margin:0 5px;
}

.search-layout {
  max-width:700px;
}

.result-column {
  min-width:0;
}

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

.result {
  margin:0 0 27px;
  overflow-wrap:anywhere;
}

.site-identity {
  display:flex;
  align-items:center;
  gap:11px;
  margin-bottom:5px;
  min-height:34px;
}

.site-icon {
  width:29px;
  height:29px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  font-size:14px;
  background:var(--surface);
  color:var(--muted);
  font-weight:600;
  flex-shrink:0;
}

.site-text {
  display:block;
  min-width:0;
}

.site-name {
  font-size:14px;
  display:block;
  line-height:20px;
}

.site-path {
  color:var(--secondary);
  font-size:12px;
  display:block;
  line-height:18px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:550px;
}

.title {
  font-size:20px;
  line-height:1.3;
  color:var(--blue);
  display:inline-block;
  margin-bottom:4px;
}

.title:visited {
  color:var(--purple);
}

.snippet {
  font-size:14px;
  line-height:1.6;
  color:var(--secondary);
  margin:0;
  overflow-wrap:anywhere;
}

.sources {
  display:flex;
  gap:6px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:8px;
  font-size:12px;
}

.tag {
  display:inline-flex;
  align-items:center;
  border-radius:5px;
  padding:2px 7px;
  color:var(--muted);
  background:var(--hover);
  font-size:11px;
  line-height:17px;
}

.tag.paywall {
  background:var(--warn-bg);
  color:var(--warn);
}

.tag.oa {
  background:var(--good-bg);
  color:var(--green);
}

.tag.corroborated {
  background:var(--blue-bg);
  color:var(--blue-text);
}

.tag.research {
  background:var(--purple-bg);
  color:var(--purple);
}

.reader-link {
  font-size:12px;
  color:var(--green);
  background:var(--good-bg);
  border-radius:5px;
  padding:2px 7px;
}

.publisher-label {
  color:var(--muted);
  margin-left:3px;
}

.questions {
  margin:32px 0;
}

.questions h2,.related h2 {
  margin-bottom:14px;
}

.questions details {
  border-top:1px solid var(--line);
  padding:12px 0;
}

.questions details:last-child {
  border-bottom:1px solid var(--line);
}

.questions summary {
  cursor:pointer;
  font-size:16px;
}

.questions p {
  padding-top:12px;
  color:var(--secondary);
}

.questions a {
  font-size:13px;
}

.related {
  margin:30px 0;
}

.related>div {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.related a {
  border-radius:24px;
  background:var(--hover);
  display:flex;
  align-items:center;
  gap:15px;
  padding:12px 18px;
  color:var(--text);
  font-size:14px;
}

.pagination {
  display:flex;
  gap:32px;
  align-items:center;
  justify-content:center;
  max-width:652px;
  padding:28px 0;
}

.pagination a {
  display:flex;
  align-items:center;
  gap:8px;
}

.pagination>span {
  font-size:13px;
  color:var(--muted);
}

.status {
  max-width:740px;
  padding:16px 0;
  border-top:1px solid var(--soft-line);
  font-size:12px;
  color:var(--muted);
  margin-top:20px;
}

.status>summary {
  cursor:pointer;
  list-style:none;
}

.status>summary:after {
  content:'⌄';
  margin-left:8px;
}

.status>summary span {
  margin:0 6px;
}

.provider-statuses {
  margin-top:16px;
}

.provider-statuses>div {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  padding:7px 0;
  border-bottom:1px solid var(--hover);
}

.provider-statuses strong {
  min-width:75px;
}

.provider-statuses small {
  width:100%;
  font-size:11px;
}

.bad {
  color:var(--red);
}

.ok {
  color:var(--green);
}

.status p {
  margin:10px 0 0;
}

.empty {
  padding:32px 0 48px;
  color:var(--muted);
}

.page-footer {
  background:var(--background);
  color:var(--muted);
  border-top:1px solid var(--soft-line);
}

.location-line {
  display:flex;
  align-items:center;
  gap:9px;
  padding:11px 32px 11px 190px;
  font-size:13px;
}

.footer-links {
  display:flex;
  gap:22px;
  align-items:center;
  padding:4px 32px 14px 190px;
  font-size:12px;
  flex-wrap:wrap;
}

.footer-links a {
  color:var(--muted);
}

.appearance {
  display:inline-flex;
  align-items:center;
  gap:5px;
}

.appearance select {
  color:var(--muted);
  border:0;
  border-radius:4px;
  padding:4px 2px;
  font-size:12px;
  cursor:pointer;
}

.footer-links>span {
  margin-left:auto;
}

.home-header {
  display:flex;
  align-items:center;
  gap:22px;
  padding:10px 26px;
  height:60px;
}

.home-header>a {
  color:var(--text);
}

.home-header nav {
  display:flex;
  gap:22px;
  align-items:center;
  margin-left:auto;
}

.home-header nav>a {
  color:var(--text);
  font-size:13px;
}

.home-page main {
  margin:0;
  width:100%;
  max-width:none;
  padding:0 20px;
}

.home {
  max-width:584px;
  margin:clamp(72px, 16vh, 160px) auto 72px;
  text-align:center;
}

.home-logo {
  font-weight:400;
  margin:0 0 32px;
  line-height:1.2;
}

.home .search-box {
  height:52px;
  box-shadow:none;
}

.home .search-box:hover,.home .search-box:focus-within {
  box-shadow:none;
}

.home .search-box>svg {
  color:var(--muted);
  margin-right:5px;
}

.home .search-box input {
  height:48px;
}

.home-preferences {
  margin-top:20px;
  display:flex;
  justify-content:center;
  gap:12px;
  align-items:center;
  font-size:13px;
}

.home-preferences label {
  display:flex;
  align-items:center;
  gap:5px;
  color:var(--muted);
}

.home-preferences select {
  border:0;
  background:var(--background);
  color:var(--muted);
  max-width:180px;
  padding:4px;
  cursor:pointer;
}

.home-page .location-line,.home-page .footer-links {
  padding-left:30px;
}

.loading:before {
  content:'';
  position:fixed;
  top:0;
  left:0;
  height:3px;
  z-index:10;
  width:35%;
  background:var(--action);
  animation:progress 1.2s ease-in-out infinite;
}

@keyframes progress {
  from {
    transform:translateX(-100%);
  }
  to {
    transform:translateX(390%);
  }
}

@media(prefers-reduced-motion:reduce) {
  .loading:before {
    animation:none;
    width:100%;
  }
  html {
    scroll-behavior:auto;
  }
}

/* News keeps the familiar search shell, with a spacious editorial feed. */
.news-page {
  background:var(--background);
}

.news-page .bar,.news-page .navigation {
  background:var(--background);
}

.news-page main {
  padding-top:27px;
  max-width:1140px;
  margin-left:auto;
  margin-right:auto;
  width:calc(100% - 80px);
}

.news-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:20px;
}

.news-heading h1 {
  font-size:32px;
  line-height:1.25;
  margin:8px 0 5px;
  letter-spacing:-.7px;
}

.news-heading p {
  color:var(--muted);
  margin:0;
  font-size:13px;
}

.news-heading strong {
  font-weight:400;
  color:var(--text);
}

.news-heading .outlined-button {
  background:var(--background);
}

.news-chips {
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:24px;
}

.chip {
  display:inline-flex;
  padding:7px 15px;
  border:1px solid var(--line);
  border-radius:22px;
  color:var(--text);
  font-size:13px;
  background:var(--background);
}

.chip:hover {
  background:var(--blue-bg);
  text-decoration:none;
}

.chip.selected {
  border-color:var(--line);
  background:var(--blue-bg);
  color:var(--blue-text);
}

.news-chips>span {
  margin-left:auto;
  color:var(--muted);
  font-size:12px;
}

.news-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) 288px;
  gap:24px;
  align-items:start;
}

.news-feed {
  background:var(--background);
  padding:0;
  min-width:0;
}

.news-card {
  display:flex;
  gap:22px;
  align-items:start;
  padding:24px 0;
  border-bottom:1px solid var(--soft-line);
}

.news-card:last-of-type {
  border:0;
}

.news-copy {
  flex:1;
  min-width:0;
}

.news-title {
  display:block;
  font-size:20px;
  line-height:1.4;
  color:var(--text);
  margin:11px 0 7px;
  font-weight:500;
  letter-spacing:-.15px;
}

.news-card:first-child .news-title {
  font-size:24px;
}

.news-card .snippet {
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  font-size:13px;
  line-height:1.6;
}

.news-card .site-name {
  font-size:12px;
  font-weight:600;
}

.news-card .site-path {
  display:none;
}

.news-card .site-identity {
  gap:8px;
  min-height:26px;
}

.news-card .site-icon {
  width:25px;
  height:25px;
  font-size:12px;
}

.news-card .sources {
  gap:8px;
  margin-top:12px;
}

.news-image {
  width:150px;
  flex-shrink:0;
  margin-top:4px;
}

.news-image img {
  width:150px;
  height:120px;
  object-fit:cover;
  border-radius:11px;
  background:var(--hover);
}

.news-card:first-child .news-image img {
  height:160px;
}

.publisher-context {
  margin-top:11px;
  font-size:11px;
  color:var(--muted);
  display:flex;
  gap:5px;
  flex-wrap:wrap;
}

.publisher-context a {
  color:var(--muted);
}

.news-actions {
  display:flex;
  align-items:center;
  gap:19px;
  flex-wrap:wrap;
  margin-top:14px;
  font-size:12px;
}

.news-actions>a {
  display:flex;
  align-items:center;
  gap:5px;
}

.news-actions>a:first-child {
  color:var(--green);
}

.coverage-box {
  border-left:1px solid var(--soft-line);
  padding:0 0 0 24px;
}

.coverage-box h2 {
  font-size:19px;
  margin:0 0 12px;
}

.coverage-box>p {
  font-size:12px;
  color:var(--muted);
}

.coverage-box ul {
  list-style:none;
  padding:0;
  margin:18px 0;
  max-height:280px;
  overflow:auto;
}

.coverage-box li {
  display:flex;
  align-items:center;
  gap:9px;
  font-size:13px;
  margin:12px 0;
  overflow-wrap:anywhere;
}

.publisher-dot {
  border-radius:50%;
  display:inline-block;
  flex-shrink:0;
  background:var(--muted);
  width:5px;
  height:5px;
}

.coverage-box>a {
  font-size:12px;
  display:flex;
  align-items:center;
  gap:6px;
}

.news-feed .status {
  margin-top:0;
}

.news-feed .pagination {
  padding:26px 0;
}

.image-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px 18px;
}

.image-card {
  min-width:0;
}

.image-card h2 {
  font-size:13px;
  line-height:1.4;
  margin:4px 0;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  color:var(--text);
}

.image-card .muted,.image-host {
  font-size:11px;
  color:var(--muted);
}

.image-frame {
  height:180px;
  background:var(--hover);
  border-radius:12px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:9px;
}

.image-frame img {
  width:100%;
  height:100%;
  object-fit:cover;
}

.images-page main {
  margin-left:40px;
  width:calc(100% - 80px);
  max-width:none;
}

.result-body {
  display:flex;
  gap:18px;
}

.video-thumbnail {
  width:150px;
  height:92px;
  position:relative;
  flex-shrink:0;
}

.video-thumbnail img {
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:8px;
}

.video-thumbnail>svg {
  position:absolute;
  top:35px;
  left:59px;
  color:#fff;
  fill:#ffffff99;
  filter:drop-shadow(0 0 4px #000);
}

.video-thumbnail>span {
  position:absolute;
  bottom:5px;
  right:6px;
  color:#fff;
  background:#000a;
  padding:1px 5px;
  border-radius:3px;
  font-size:10px;
}

.reader {
  max-width:740px;
}

.reader-form {
  margin:20px 0 32px;
}

.reader-form label {
  display:block;
  font-size:20px;
  margin-bottom:12px;
}

.reader-form>div {
  display:flex;
  gap:8px;
}

.reader-form input {
  border:1px solid var(--line);
  border-radius:8px;
  padding:12px;
  width:100%;
  min-width:0;
}

.reader-form button {
  background:var(--action);
  color:var(--on-action);
  border-radius:8px;
}

.reader-form .muted {
  font-size:12px;
  margin:9px 0;
}

.reader-article h1 {
  font-size:clamp(27px,4vw,38px);
  line-height:1.25;
  letter-spacing:-.8px;
  margin:12px 0;
}

.meta,.byline {
  font-size:13px;
  color:var(--muted);
}

.reader-notice {
  background:var(--warn-bg);
  color:var(--warn);
  padding:12px 16px;
  border-radius:8px;
  font-size:14px;
}

.article-paragraph {
  font:19px/1.8 Georgia,serif;
  overflow-wrap:anywhere;
}

.reader-more {
  border-top:1px solid var(--line);
  margin-top:32px;
  padding-top:18px;
}

.reader-article>.sources {
  margin-bottom:20px;
}

.answer-panel {
  max-width:800px;
}

.answer-label {
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--purple);
  margin:18px 0;
}

.answer-label h1 {
  font-size:24px;
  margin:0;
  color:var(--text);
}

.answer-text {
  line-height:1.85;
  font-size:16px;
  white-space:pre-wrap;
}

.answer-panel h2 {
  font-size:18px;
  margin-top:28px;
}

.answer-sources {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:25px;
}

.answer-sources>a {
  display:flex;
  gap:10px;
  padding:13px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:12px;
  min-width:0;
  overflow-wrap:anywhere;
}

.citation-number {
  display:flex;
  align-items:center;
  justify-content:center;
  align-self:start;
  width:22px;
  height:22px;
  flex-shrink:0;
  border-radius:50%;
  background:var(--blue-bg);
  color:var(--blue-text);
}

.answer-sources strong {
  font-weight:400;
}

.answer-sources small {
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  color:var(--muted);
  line-height:1.5;
  margin-top:4px;
}

.answer-panel>.outlined-button {
  margin:8px 10px 0 0;
}

.product {
  border:1px solid var(--line);
  border-radius:12px;
  padding:18px 20px;
  margin:16px 0;
}

.product h2 {
  font-size:18px;
  margin:0;
  line-height:1.4;
}

.best {
  margin:5px 0 12px;
  color:var(--muted);
}

.best strong {
  font-size:24px;
  color:var(--green);
  margin-right:5px;
}

.offers {
  width:100%;
  border-collapse:collapse;
  font-size:13px;
}

.offers th {
  text-align:left;
  font-weight:400;
  color:var(--muted);
  font-size:11px;
  border-bottom:1px solid var(--line);
  padding:7px 10px 7px 0;
}

.offers td {
  padding:10px 10px 10px 0;
  border-bottom:1px solid var(--hover);
  vertical-align:top;
}

.offers tr:last-child td {
  border:0;
}

.num {
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}

.offers tbody tr:first-child .num {
  color:var(--green);
}

.shopping-listings {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.shopping-listing {
  padding:16px;
  border:1px solid var(--line);
  border-radius:12px;
  min-width:0;
}

.shopping-listing img {
  width:100%;
  height:150px;
  object-fit:contain;
}

.shopping-listing h3 {
  font-size:15px;
  margin:10px 0;
}

.shopping-listing .price {
  font-size:18px;
  color:var(--green);
}

.shopping-heading {
  margin:25px 0 18px;
  font-size:22px;
}

.setup {
  max-width:1000px;
  padding-top:20px;
}

.setup>h1 {
  font-size:32px;
  margin-bottom:8px;
}

.setup-intro {
  max-width:750px;
  color:var(--muted);
  font-size:15px;
}

.setup-section {
  margin-top:35px;
  scroll-margin-top:20px;
}

.setup-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.setup-card {
  border:1px solid var(--line);
  border-radius:12px;
  padding:20px;
}

.setup-card h3 {
  font-size:19px;
  margin:0 0 10px;
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.setup-card p {
  font-size:13px;
  color:var(--muted);
  margin-bottom:8px;
}

.setup-card .tag {
  font-size:10px;
}

.setup-card ol {
  padding-left:20px;
  font-size:13px;
  line-height:1.8;
}

.setup-card .key-name {
  font-size:12px;
}

.setup-card>details {
  margin-top:12px;
}

.setup-card summary {
  font-size:13px;
  color:var(--action);
  cursor:pointer;
}

.setup-table {
  width:100%;
  border-collapse:collapse;
  font-size:13px;
}

.setup-table th,.setup-table td {
  text-align:left;
  padding:10px;
  border-bottom:1px solid var(--soft-line);
}

.setup-table th {
  font-weight:400;
  color:var(--muted);
}

.privacy-card {
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:12px;
  padding:20px;
  line-height:1.7;
}

.privacy-card h2 {
  font-size:20px;
}

.privacy-card p {
  font-size:13px;
}

.setup .table-wrap {
  overflow:auto;
}

@media(min-width:1550px) {
  main {
    max-width:1200px;
  }
  .news-page main {
    max-width:1200px;
  }
  .news-layout {
    grid-template-columns:minmax(0,1fr) 320px;
  }
}

@media(max-width:1150px) {
  .bar {
    gap:24px;
    padding-left:24px;
  }
  .bar .logo {
    width:116px;
  }
  .navigation {
    padding-left:164px;
    gap:10px;
  }
  .tabs {
    gap:24px;
  }
  .filter-panel {
    left:164px;
  }
  main {
    margin-left:164px;
    width:calc(100% - 196px);
  }
  .search-layout {
    display:block;
  }

  .location-line,.footer-links {
    padding-left:164px;
  }
  .news-page main {
    width:calc(100% - 48px);
  }
  .news-layout {
    grid-template-columns:minmax(0,1fr) 245px;
    gap:18px;
  }
  .news-image,.news-image img {
    width:115px;
  }
  .image-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .news-card .site-path {
    max-width:300px;
  }
}

@media(max-width:800px) {
  .bar {
    padding:14px 20px 8px;
    gap:18px;
    flex-wrap:wrap;
    min-height:0;
  }
  .bar .logo {
    width:auto;
  }
  .wordmark {
    font-size:29px;
  }
  .search-form {
    order:3;
    width:100%;
    max-width:100%;
  }
  .settings-link {
    margin-left:auto;
  }
  .search-box {
    box-shadow:none;
  }
  .navigation {
    padding-left:20px;
    padding-right:10px;
    gap:10px;
  }
  .tabs {
    gap:24px;
    flex:1;
  }
  .tabs a {
    font-size:13px;
  }
  .tools>summary {
    font-size:12px;
    padding:0 5px;
  }
  .tools>summary svg {
    display:none;
  }
  .filter-panel {
    left:20px;
    right:20px;
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding:16px;
  }
  .filter-note {
    font-size:11px;
  }
  main {
    margin:0 20px;
    width:calc(100% - 40px);
    padding-top:14px;
  }
  .result-summary {
    font-size:12px;
    margin-bottom:22px;
  }
  .result {
    margin-bottom:29px;
  }
  .site-path {
    max-width:calc(100vw - 90px);
  }
  .page-footer .location-line,.page-footer .footer-links {
    padding-left:20px;
    padding-right:20px;
  }
  .footer-links {
    gap:18px;
  }
  .footer-links>span {
    margin-left:0;
    width:100%;
    font-size:11px;
  }
  .home-header {
    padding:10px 20px;
    gap:18px;
  }
  .home-header nav {
    gap:15px;
  }
  .home {
    margin-top:78px;
  }
  .home .wordmark.big {
    font-size:60px;
  }
  .home-logo {
    margin-bottom:29px;
  }

  .news-page main {
    width:calc(100% - 32px);
    margin:0 16px;
    padding-top:24px;
  }
  .news-layout {
    display:flex;
    flex-direction:column;
  }
  .news-feed {
    width:100%;
    padding:0;
  }
  .news-aside {
    width:100%;
  }
  .coverage-box {
    border-left:0;
    border-top:1px solid var(--soft-line);
    padding:24px 0 0;
  }
  .coverage-box ul {
    max-height:180px;
  }
  .news-heading h1 {
    font-size:29px;
  }
  .news-heading .outlined-button {
    font-size:12px;
    padding:8px 12px;
  }
  .news-chips>span {
    width:100%;
    margin-left:0;
    margin-top:5px;
  }
  .news-image,.news-image img {
    width:140px;
  }
  .news-title {
    font-size:19px;
  }
  .news-card:first-child .news-title {
    font-size:22px;
  }
  .shopping-listings {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .images-page main {
    margin:0 16px;
    width:calc(100% - 32px);
  }
  .image-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px 12px;
  }
  .image-frame {
    height:145px;
  }
  .setup-grid {
    grid-template-columns:1fr;
  }
  .setup>h1 {
    font-size:28px;
  }
}

@media(max-width:500px) {
  .home-header>a {
    font-size:12px;
  }
  .home-header {
    gap:16px;
  }
  .home-header nav {
    gap:14px;
  }
  .home-header .icon-button {
    width:40px;
    padding:8px;
  }
  .home {
    margin-top:77px;
  }
  .home .wordmark.big {
    font-size:56px;
    letter-spacing:-2.4px;
  }
  .home .search-box {
    padding-left:14px;
  }

  .home-preferences {
    gap:4px;
  }
  .home-preferences select {
    max-width:160px;
  }

  .bar {
    padding-left:16px;
    padding-right:16px;
  }
  .navigation {
    padding-left:16px;
  }
  .tabs {
    gap:22px;
  }
  .title {
    font-size:20px;
  }
  .snippet {
    font-size:14px;
  }
  .related>div {
    grid-template-columns:1fr;
  }
  .related a {
    padding:11px 18px;
  }
  .news-heading {
    align-items:start;
  }
  .news-heading h1 {
    font-size:26px;
  }
  .news-heading .outlined-button {
    width:38px;
    height:38px;
    overflow:hidden;
    padding:10px;
    color:transparent;
    gap:20px;
    white-space:nowrap;
    flex-shrink:0;
  }
  .news-heading .outlined-button svg {
    color:var(--action);
  }
  .news-heading p {
    font-size:12px;
  }
  .news-feed {
    padding:0;
  }
  .news-card {
    gap:13px;
    padding:20px 0;
    flex-wrap:wrap;
    position:relative;
  }
  .news-copy {
    width:100%;
    flex-basis:100%;
  }
  .news-card:has(.news-image) .news-title {
    padding-right:89px;
    min-height:70px;
  }
  .news-image {
    position:absolute;
    right:0;
    top:66px;
    margin:0;
  }
  .news-image,.news-image img {
    width:78px;
    height:70px!important;
    border-radius:8px;
  }
  .news-card .news-title,.news-card:first-child .news-title {
    font-size:18px;
    line-height:1.4;
  }
  .news-card .snippet {
    font-size:12px;
  }
  .news-card .sources {
    gap:5px;
  }
  .news-card .tag {
    font-size:10px;
  }
  .news-actions {
    gap:14px;
    font-size:11px;
  }

  .chip {
    padding:6px 11px;
    font-size:12px;
  }
  .news-chips {
    gap:7px;
  }
  .image-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .image-frame {
    height:135px;
  }
  .video-thumbnail {
    width:110px;
    height:80px;
  }
  .video-thumbnail>svg {
    left:40px;
    top:28px;
  }
  .result-body {
    gap:12px;
  }
  .answer-sources {
    grid-template-columns:1fr;
  }
  .reader-form label {
    font-size:18px;
  }
  .article-paragraph {
    font-size:18px;
  }
  .product {
    padding:15px;
  }
  .offers thead {
    display:none;
  }
  .offers tr {
    display:grid;
    grid-template-columns:1fr auto;
    padding:9px 0;
    border-bottom:1px solid var(--line);
  }
  .offers td {
    border:0;
    padding:2px 0;
  }
  .offers td:nth-child(n+3) {
    grid-column:1/-1;
    font-size:12px;
  }
  .shopping-listings {
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  .shopping-listing {
    padding:12px;
  }
  .shopping-listing img {
    height:115px;
  }
  .shopping-listing h3 {
    font-size:13px;
  }
  .location-line {
    font-size:11px;
    flex-wrap:wrap;
  }
  .footer-links {
    font-size:11px;
    gap:16px;
  }
  .setup-card {
    padding:16px;
  }
}

/* Explicitly remove closed details content from layout, including positioned panels. */
details:not([open]) > :not(summary) {
  display:none;
}

.tools[open]::details-content {
  display:contents;
}

.news-title,.site-name,.shopping-listing h3 {
  overflow-wrap:anywhere;
}

.answer-text a {
  overflow-wrap:anywhere;
}
.publisher-rating {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 9px 0;
  font-size: 12px;
  line-height: 1.5;
}
.rating-credit { font-weight: 600; white-space: nowrap; }
.rating-pill { border-radius: 5px; padding: 2px 7px; background: var(--hover); color: var(--text); }
.bias-left { background: var(--blue-strong-bg); color: var(--blue-text); }
.bias-left-center { background: var(--blue-bg); color: var(--blue-text); }
.bias-center { background: var(--purple-bg); color: var(--purple); }
.bias-right-center { background: var(--red-bg); color: var(--red); }
.bias-right { background: var(--red-strong-bg); color: var(--red); }
.factual-high { background: var(--good-bg); color: var(--green); }
.factual-mostly { background: var(--teal-bg); color: var(--teal); }
.factual-mixed { background: var(--warn-bg); color: var(--warn); }
.factual-low { background: var(--red-bg); color: var(--red); }
.rating-details { flex-basis: 100%; color: var(--muted); }
.rating-details summary { cursor: pointer; width: fit-content; font-size: 11px; }
.rating-details > div { margin-top: 6px; padding: 10px 12px; background: var(--surface); border-radius: 8px; }
.rating-details p { margin: 0 0 6px; font-size: 12px; line-height: 1.5; }
.setup-table .publisher-rating { min-width: 210px; }

/* The control plane shares the public interface's colour and appearance system. */
.admin-page main { margin:0; padding:0; width:100%; max-width:none; }
.admin-page .table-wrap { overflow-x:auto; max-width:100%; }
.admin-header { display:flex; align-items:center; gap:16px; padding:22px 36px; border-bottom:1px solid var(--line); }
.admin-header .logo { font-size:27px; }
.admin-label { color:var(--muted); border-left:1px solid var(--line); padding-left:16px; font-size:15px; }
.admin-account { margin-left:auto; display:flex; align-items:center; gap:18px; font-size:13px; }
.admin-account>span { max-width:220px; overflow:hidden; text-overflow:ellipsis; }
.admin-layout { display:grid; grid-template-columns:220px minmax(0,1fr); max-width:1580px; margin:auto; }
.admin-sidebar { padding:32px 18px; border-right:1px solid var(--line); }
.admin-sidebar nav { display:grid; gap:5px; }
.admin-sidebar nav a { color:var(--secondary); padding:11px 14px; border-radius:7px; }
.admin-sidebar nav a:hover { text-decoration:none; background:var(--surface); }
.admin-sidebar nav a[aria-current] { color:var(--text); background:var(--hover); font-weight:600; }
.admin-return { display:block; margin:32px 14px; font-size:13px; }
.admin-content { min-width:0; padding:36px 40px 60px; }
.admin-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:26px; }
.admin-heading h1 { font-size:29px; letter-spacing:-.7px; line-height:1.25; margin:0 0 10px; }
.admin-heading p { margin-bottom:0; }
.admin-eyebrow { color:var(--muted); font-size:12px; margin:0 0 10px!important; }
.admin-heading>.outlined-button { flex-shrink:0; }
.admin-panel { padding:24px; border:1px solid var(--line); border-radius:10px; margin-bottom:24px; min-width:0; }
.admin-panel h2 { font-size:19px; margin-bottom:18px; }
.admin-panel h3 { font-size:16px; }
.admin-panel-heading { display:flex; align-items:center; gap:16px; justify-content:space-between; margin-bottom:10px; }
.admin-panel-heading h2 { margin-bottom:0; }
.admin-panel-heading a { font-size:13px; }
.admin-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-bottom:28px; }
.admin-metrics>div { border:1px solid var(--line); border-radius:10px; padding:20px; }
.admin-metrics span { color:var(--muted); font-size:12px; display:block; margin-bottom:8px; }
.admin-metrics strong { font-size:31px; font-weight:400; font-variant-numeric:tabular-nums; }
.admin-metrics small { font-size:13px; color:var(--muted); }
.admin-two-column,.admin-provider-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.admin-two-column>.admin-panel,.admin-provider-grid>.admin-panel { margin-bottom:0; }
.admin-two-column { margin-bottom:24px; }
.admin-provider { scroll-margin-top:20px; }
.admin-table { border-collapse:collapse; width:100%; text-align:left; font-size:13px; }
.admin-table th { color:var(--muted); font-weight:400; font-size:12px; padding:14px 16px 14px 0; border-bottom:1px solid var(--line); white-space:nowrap; }
.admin-table td { border-bottom:1px solid var(--soft-line); padding:14px 16px 14px 0; overflow-wrap:anywhere; }
.admin-table tr:last-child td { border-bottom:0; }
.admin-table td:first-child { min-width:90px; }
.admin-table .outlined-button { font-size:12px; padding:6px 10px; }
.admin-table+p,.table-wrap+p { margin-top:14px; }
.admin-status { display:inline-block; padding:3px 9px; border-radius:20px; font-size:11px; background:var(--surface); color:var(--secondary); white-space:nowrap; }
.admin-status.good { color:var(--green); background:var(--good-bg); }
.admin-facts { margin:0 0 20px; }
.admin-facts>div { display:flex; gap:16px; justify-content:space-between; padding:11px 0; border-bottom:1px solid var(--soft-line); }
.admin-facts dt { color:var(--muted); }
.admin-facts dd { margin:0; text-align:right; overflow-wrap:anywhere; min-width:0; }
.admin-events>div { display:grid; gap:4px; padding:0 0 15px; }
.admin-events strong { font-size:13px; font-weight:400; }
.admin-events span { font-size:12px; color:var(--muted); }
.admin-notice { border:1px solid var(--line); border-radius:7px; padding:14px 18px; background:var(--surface); margin-bottom:24px; }
.admin-notice.good { color:var(--green); background:var(--good-bg); border-color:transparent; }
.admin-notice.bad { color:var(--red); background:var(--red-bg); border-color:transparent; }
.admin-notice ul { margin:8px 0 0; padding-left:20px; }
.admin-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.admin-page input:not([type=hidden]):not([type=checkbox]),.admin-page select,.admin-page textarea { width:100%; min-width:0; padding:10px 12px; border:1px solid var(--line); border-radius:6px; background:var(--background); color:var(--text); font:inherit; }
.admin-page input[type=checkbox] { accent-color:var(--action); }
.admin-form-grid label,.admin-secret label { display:grid; gap:6px; font-size:13px; }
.admin-form-grid small { font-size:11px; color:var(--muted); }
.admin-secret { margin:22px 0; padding-top:18px; border-top:1px solid var(--soft-line); }
.admin-secret p { font-size:13px; }
.admin-secret strong { font-weight:400; margin-right:8px; }
.admin-secret label { margin-top:12px; }
.admin-form-grid+button { margin-top:24px; }
.admin-provider-actions { display:flex; flex-wrap:wrap; gap:16px; align-items:center; margin-top:18px; font-size:12px; }
.admin-provider-actions button { font-size:12px; }
.admin-page button:disabled { opacity:.5; cursor:not-allowed; }
.admin-subnav { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:26px; }
.admin-subnav a { padding:8px 12px; border-radius:6px; font-size:13px; color:var(--secondary); }
.admin-subnav a[aria-current] { background:var(--hover); color:var(--text); }
.registry-filters { display:flex; flex-wrap:wrap; align-items:end; gap:12px; margin:22px 0 12px; }
.registry-filters label { display:grid; gap:6px; flex:1 1 160px; font-size:13px; min-width:0; }
.registry-filters label:first-of-type { flex-grow:2; }
.registry-filters input,.registry-filters select { width:100%; min-width:0; padding:10px 12px; border:1px solid var(--line); border-radius:6px; background:var(--surface); color:var(--text); font:inherit; }
.registry-filters button { min-height:40px; }
.registry-domain { display:block; margin-top:5px; color:var(--muted); font-size:12px; overflow-wrap:anywhere; }
.registry-count { color:var(--muted); }
.registry-coverage { margin:20px 0; padding:14px 16px; border:1px solid var(--line); border-radius:8px; }
.registry-coverage summary { cursor:pointer; font-size:14px; color:var(--text); }
.registry-coverage ul { display:flex; flex-wrap:wrap; gap:10px 24px; padding:0; list-style:none; font-size:13px; }
.registry-coverage li { display:flex; gap:8px; }
.registry-coverage strong { color:var(--muted); font-weight:500; }
.registry-table td { vertical-align:top; }
.admin-settings-panel { max-width:830px; }
.admin-setting { padding:20px 0; border-top:1px solid var(--soft-line); }
.admin-setting>label { display:block; margin-bottom:7px; font-weight:600; font-size:13px; }
.admin-setting>p { font-size:13px; margin-bottom:12px; }
.admin-setting>select+input { margin-top:10px; }
.admin-setting-source { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-top:9px; color:var(--muted); font-size:11px; }
.admin-setting-source label { display:flex; align-items:center; gap:8px; white-space:nowrap; }
.admin-setting-source select { padding:5px 8px; width:auto; }
.admin-field-error { color:var(--red); }
.admin-danger-zone { margin-top:24px; border-top:1px solid var(--line); padding-top:24px; }
.admin-confirm { display:flex; align-items:flex-start; gap:8px; margin-bottom:14px; font-size:13px; }
.admin-confirm input { margin-top:4px; }
.admin-footer { margin-top:auto; border-top:1px solid var(--line); color:var(--muted); display:flex; justify-content:space-between; align-items:center; gap:20px; padding:20px 36px; font-size:12px; }
.admin-page .appearance select { border:0; padding:4px; width:auto; }
.admin-login { max-width:470px; margin:90px auto; text-align:center; padding:0 20px; }
.admin-login h1 { font-size:28px; letter-spacing:-.5px; }
.admin-login-icon { margin-bottom:24px; color:var(--muted); }
.admin-login .primary-button { display:inline-block; margin-top:10px; }
.admin-login-back { margin-top:24px; font-size:13px; }
@media(max-width:1150px) {
  .admin-layout { grid-template-columns:190px minmax(0,1fr); }
  .admin-content { padding:30px 24px; }
  .admin-metrics { gap:12px; }
  .admin-metrics>div { padding:16px; }
  .admin-provider-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:800px) {
  .admin-header { padding:18px 22px; }
  .admin-layout { display:block; }
  .admin-sidebar { border-right:0; border-bottom:1px solid var(--line); padding:12px 16px; }
  .admin-sidebar nav { display:flex; overflow-x:auto; gap:4px; }
  .admin-sidebar nav a { flex-shrink:0; padding:9px 12px; font-size:13px; }
  .admin-return { display:none; }
  .admin-content { padding:26px 20px; }
  .admin-two-column { grid-template-columns:minmax(0,1fr); }
  .admin-heading { align-items:flex-start; }
  .admin-heading h1 { font-size:26px; }
  .admin-heading>.outlined-button { font-size:12px; }
}
@media(max-width:500px) {
  .admin-header { padding:16px; gap:12px; }
  .admin-header .logo { font-size:23px; }
  .admin-account>span { display:none; }
  .admin-account button { font-size:12px; padding:7px 10px; }
  .admin-content { padding:24px 16px; }
  .admin-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-panel { padding:18px; }
  .admin-panel-heading { flex-wrap:wrap; gap:8px; }
  .admin-panel-heading h2 { font-size:18px; }
  .admin-heading { display:block; }
  .admin-heading>.outlined-button { display:inline-block; margin-top:14px; }
  .admin-facts>div { display:block; }
  .admin-facts dd { text-align:left; margin-top:4px; }
  .admin-setting-source { align-items:flex-start; flex-direction:column; }
  .admin-footer { padding:18px 16px; }
  .admin-login { margin:64px auto; }
}

/* Article photography keeps its full aspect ratio, including charts and portraits. */
.reader-page main { max-width:800px; margin:0 auto; padding:24px 28px 50px; }
.reader { max-width:740px; }
.reader-navigation { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-bottom:22px; font-size:13px; }
.reader-navigation span { color:var(--muted); }
.reader-another { font-size:12px; color:var(--muted); margin:0 0 28px; }
.reader-another summary { cursor:pointer; width:fit-content; }
.reader-loading h1 { font-size:clamp(27px,4vw,38px); line-height:1.25; }
#reader-status { color:var(--secondary); font-size:14px; line-height:1.6; }
.reader-skeleton { height:250px; border-radius:12px; background:var(--surface); margin-top:24px; }
.reader-note { font-size:12px; line-height:1.6; color:var(--muted); }
.reader-authors { display:flex; flex-wrap:wrap; gap:16px 24px; margin:16px 0; }
.reader-author { display:flex; align-items:center; gap:12px; min-width:0; }
.author-portrait { display:block; width:50px; height:50px; object-fit:contain; border-radius:50%; flex-shrink:0; }
.author-role { display:block; margin-top:3px; font-size:12px; color:var(--muted); }
.article-content { font:19px/1.8 Georgia,serif; overflow-wrap:anywhere; }
.article-content p { margin:0 0 1.15em; }
.article-content h2,.article-content h3,.article-content h4,.article-content h5,.article-content h6 { font-family:Arial,Helvetica,sans-serif; line-height:1.3; margin:1.6em 0 .65em; letter-spacing:-.3px; text-wrap:balance; }
.article-content h2 { font-size:1.5em; }
.article-content h3 { font-size:1.25em; }
.article-content h4,.article-content h5,.article-content h6 { font-size:1.08em; }
.article-content a { text-decoration:underline; text-underline-offset:3px; }
.article-content :target { scroll-margin-top:30px; background:var(--blue-bg); outline:2px solid var(--line); }
.article-content ul,.article-content ol { padding-inline-start:1.6em; margin:1em 0; }
.article-content li { margin:.35em 0; padding-inline-start:.2em; }
.article-content li>p { margin:.3em 0; }
.article-content li>ul,.article-content li>ol { margin:.25em 0; }
.article-content blockquote { margin:1.5em 0; padding:.35em 0 .35em 1.15em; padding-inline-start:1.15em; padding-inline-end:0; border-inline-start:3px solid var(--action); }
.article-content blockquote>p:last-child { margin-bottom:0; }
.article-content dt { font-weight:700; }
.article-content dd { margin-inline-start:1.4em; }
.article-content sup,.article-content sub { font-size:.72em; line-height:0; }
.article-content code,.article-content kbd { font: .86em/1.6 ui-monospace,SFMono-Regular,Consolas,monospace; }
.article-content pre { padding:18px; background:var(--surface); overflow:auto; white-space:pre; border:1px solid var(--line); border-radius:8px; max-width:100%; }
.article-content hr { border:0; border-top:1px solid var(--line); margin:2em 0; }
.article-content .article-factbox { margin:1.5em 0; padding:20px 24px; background:var(--surface); border:1px solid var(--line); border-radius:8px; }
.article-factbox>:first-child { margin-top:0; }
.article-factbox>:last-child { margin-bottom:0; }
.article-table { overflow-x:auto; margin:1.5em 0; max-width:100%; border:1px solid var(--line); border-radius:8px; }
.article-table:focus-visible { outline:2px solid var(--action); outline-offset:3px; }
.article-table table { border-collapse:collapse; width:100%; font:14px/1.6 Arial,Helvetica,sans-serif; text-align:start; }
.article-table caption { font-weight:600; padding:12px 16px; text-align:start; }
.article-table th,.article-table td { padding:10px 16px; border-bottom:1px solid var(--line); vertical-align:top; min-width:95px; text-align:start; }
.article-table th { background:var(--surface); font-weight:600; }
.article-table td p,.article-table th p { font:inherit; margin:0; }
.article-table tr:last-child>td { border-bottom:0; }
.article-content .article-caption { font:13px/1.6 Arial,Helvetica,sans-serif; color:var(--secondary); }
.article-photo { margin:28px 0; }
.article-photo>a { display:block; width:fit-content; max-width:100%; margin-inline:auto; border-radius:10px; overflow:hidden; }
.article-photo img { display:block; width:auto; max-width:100%; height:auto; max-height:min(1000px,85vh); object-fit:contain; }
.article-photo figcaption { font:12px/1.6 Arial,Helvetica,sans-serif; color:var(--secondary); margin-top:9px; }
.photo-credit { display:block; color:var(--muted); }
.image-unavailable { padding:18px; background:var(--surface); color:var(--muted); font-size:12px; border-radius:8px; }
.news-image.failed,.video-thumbnail.failed { display:none; }
.reader-coverage { margin-top:30px; padding:20px; border:1px solid var(--line); border-radius:12px; }
.reader-coverage h2 { font-size:20px; margin:0 0 10px; }
.reader-coverage>.muted { font-size:13px; line-height:1.6; }
.coverage-result { padding-top:16px; border-top:1px solid var(--soft-line); margin-top:16px; }
.coverage-result h3 { font-size:17px; line-height:1.4; margin:5px 0; }
.coverage-result p { font-size:13px; color:var(--secondary); line-height:1.6; }
@media(max-width:500px) { .reader-page main { width:100%; padding:20px; } .article-paragraph,.article-content { font-size:18px; } .article-content .article-factbox { padding:16px; } }
