:root {
      --ink: #0f172a;
      --muted: #64748b;
      --line: #e2e8f0;
      --paper: #ffffff;
      --soft: #f8fafc;
      --accent: #0f766e;
      --accent-soft: #ccfbf1;
      --danger: #b91c1c;
      --ticker: #0b1220;
      --shadow: 0 18px 42px rgba(15, 23, 42, .08);
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      font: 15px/1.5 Georgia, "Times New Roman", serif;
      color: var(--ink);
      background: var(--soft);
    }
    button, input { font: inherit; }
    a { color: inherit; }

    .topline {
      background: var(--ticker);
      color: #e2e8f0;
      min-height: 35px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 16px;
      padding: 7px 14px;
      font: 12px/1.3 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
      overflow: hidden;
      flex-wrap: wrap;
    }
    .ticker-item { display: inline-flex; gap: 5px; align-items: center; white-space: nowrap; }
    .ticker-label { color: #94a3b8; }
    .ticker-value { font-weight: 700; color: #fff; }
    .ticker-up { color: #4ade80; }
    .ticker-down { color: #f87171; }
    .ticker-separator { color: #475569; }
    .ticker-loading, .ticker-timestamp { color: #94a3b8; }
    .ticker-timestamp { font-size: 10px; }

    .masthead-wrap { background: var(--paper); border-bottom: 1px solid var(--line); }
    .masthead {
      max-width: 1180px;
      margin: 0 auto;
      padding: 14px 16px 10px;
    }
    .utility-row {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
      font: 12px/1.3 system-ui, -apple-system, Segoe UI, sans-serif;
      color: var(--muted);
    }
    .brand {
      margin: 3px 0 0;
      text-align: center;
      font: 900 clamp(34px, 7vw, 72px)/.94 Georgia, "Times New Roman", serif;
      letter-spacing: -.05em;
    }
    .brand a { text-decoration: none; }
    .tagline {
      text-align: center;
      margin: 5px 0 10px;
      color: var(--muted);
      font: 13px/1.4 system-ui, -apple-system, Segoe UI, sans-serif;
    }
    .navline {
      border-top: 1px solid var(--ink);
      border-bottom: 1px solid var(--line);
      display: flex;
      align-items: center;
      gap: 4px;
      overflow-x: auto;
      scrollbar-width: none;
      padding: 6px 0;
      font: 700 12px/1.2 system-ui, -apple-system, Segoe UI, sans-serif;
      text-transform: uppercase;
      letter-spacing: .03em;
    }
    .navline::-webkit-scrollbar { display: none; }
    .navline a { text-decoration: none; padding: 7px 9px; border-radius: 999px; white-space: nowrap; }
    .navline a:hover { background: #f1f5f9; }

    .search-shell { max-width: 680px; margin: 10px auto 0; position: relative; }
    .search-row {
      display: flex;
      border: 1px solid #cbd5e1;
      background: #fff;
      border-radius: 999px;
      padding: 5px 5px 5px 14px;
      box-shadow: 0 8px 20px rgba(15,23,42,.04);
    }
    .search-row input {
      flex: 1;
      min-width: 0;
      border: 0;
      outline: 0;
      background: transparent;
      font: 14px/1.3 system-ui, -apple-system, Segoe UI, sans-serif;
    }
    .search-row button {
      border: 0;
      background: var(--ink);
      color: #fff;
      border-radius: 999px;
      padding: 8px 15px;
      cursor: pointer;
      font: 700 12px/1 system-ui, -apple-system, Segoe UI, sans-serif;
    }
    .search-results {
      display: none;
      position: absolute;
      left: 0; right: 0; top: calc(100% + 6px);
      z-index: 20;
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 14px;
      box-shadow: var(--shadow);
      max-height: 360px;
      overflow: auto;
      padding: 7px;
    }
    .search-result { display: block; text-decoration: none; padding: 10px 11px; border-radius: 9px; }
    .search-result:hover { background: #f1f5f9; }
    .search-result strong { display: block; font: 700 13px/1.25 system-ui, sans-serif; }
    .search-result span { display: block; margin-top: 2px; color: var(--muted); font: 12px/1.35 system-ui, sans-serif; }

    main { max-width: 1180px; margin: 0 auto; padding: 0 16px 42px; }
    .edition-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      border-bottom: 1px solid var(--ink);
      padding: 12px 0 7px;
      color: var(--muted);
      font: 11px/1.2 system-ui, sans-serif;
      text-transform: uppercase;
      letter-spacing: .05em;
    }

    .breaking {
      display: none;
      grid-template-columns: auto 1fr auto;
      gap: 10px;
      align-items: center;
      background: #fef2f2;
      border-bottom: 1px solid #fecaca;
      padding: 9px 10px;
      margin-bottom: 12px;
      font: 13px/1.3 system-ui, sans-serif;
    }
    .breaking-label { color: var(--danger); font-weight: 900; text-transform: uppercase; font-size: 11px; }
    .breaking a { text-decoration: none; font-weight: 650; }
    .breaking-topic { color: #991b1b; font-size: 11px; white-space: nowrap; }

    .section-kicker {
      margin: 17px 0 8px;
      font: 800 12px/1 system-ui, sans-serif;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: var(--accent);
    }
    .lead-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.65fr) minmax(280px, .8fr);
      gap: 22px;
      border-bottom: 1px solid var(--ink);
      padding-bottom: 18px;
    }
    .lead-story {
      border-right: 1px solid var(--line);
      padding-right: 22px;
    }
    .story-button {
      appearance: none;
      border: 0;
      padding: 0;
      background: transparent;
      text-align: left;
      color: inherit;
      cursor: pointer;
      width: 100%;
    }
    .lead-label, .mini-label {
      display: inline-block;
      font: 800 10px/1 system-ui, sans-serif;
      text-transform: uppercase;
      letter-spacing: .07em;
      color: var(--accent);
      margin-bottom: 7px;
    }
    .lead-story h2 {
      margin: 0;
      font-size: clamp(31px, 5.1vw, 62px);
      line-height: .98;
      letter-spacing: -.035em;
      max-width: 900px;
    }
    .lead-story .dek {
      margin: 11px 0 0;
      color: #475569;
      max-width: 760px;
      font-size: 17px;
      line-height: 1.42;
    }
    .lead-meta {
      margin-top: 12px;
      display: flex;
      flex-wrap: wrap;
      gap: 7px 14px;
      color: var(--muted);
      font: 11px/1.25 system-ui, sans-serif;
    }
    .lead-hint { color: var(--accent); font-weight: 700; }

    .side-stories { display: grid; align-content: start; }
    .mini-story { padding: 0 0 14px; margin-bottom: 14px; border-bottom: 1px solid var(--line); }
    .mini-story:last-child { border-bottom: 0; margin-bottom: 0; }
    .mini-story h3 { margin: 0; font-size: 21px; line-height: 1.05; letter-spacing: -.02em; }
    .mini-story p { margin: 6px 0 0; color: var(--muted); font-size: 13px; line-height: 1.35; }

    .related-panel {
      margin: 16px 0 22px;
      padding: 15px;
      border: 1px solid #99f6e4;
      background: linear-gradient(180deg, #f0fdfa, #ffffff);
      box-shadow: 0 12px 34px rgba(13,148,136,.07);
    }
    .related-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
    .related-top h3 { margin: 0; font-size: 23px; line-height: 1.05; }
    .related-top p { margin: 5px 0 0; color: var(--muted); font-size: 13px; }
    .open-tool {
      flex: 0 0 auto;
      text-decoration: none;
      background: var(--ink);
      color: #fff;
      border-radius: 999px;
      padding: 9px 13px;
      font: 700 12px/1 system-ui, sans-serif;
    }
    .related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin-top: 13px; }
    .related-link { text-decoration: none; border-top: 1px solid var(--line); padding-top: 9px; }
    .related-link strong { display: block; font-size: 16px; line-height: 1.08; }
    .related-link span { display: block; color: var(--muted); margin-top: 4px; font: 11px/1.35 system-ui, sans-serif; }

    .news-columns {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 0;
      border-top: 1px solid var(--ink);
      border-bottom: 1px solid var(--ink);
      margin-top: 22px;
    }
    .topic-column { padding: 13px 15px 15px; border-right: 1px solid var(--line); }
    .topic-column:first-child { padding-left: 0; }
    .topic-column:last-child { border-right: 0; padding-right: 0; }
    .topic-column h2 { margin: 0 0 8px; font: 900 12px/1 system-ui, sans-serif; text-transform: uppercase; color: var(--accent); letter-spacing: .07em; }
    .topic-link { display: block; text-decoration: none; padding: 9px 0; border-top: 1px solid var(--line); }
    .topic-link:first-of-type { border-top: 0; }
    .topic-link strong { display: block; font-size: 17px; line-height: 1.08; }
    .topic-link span { display: block; margin-top: 3px; color: var(--muted); font: 11px/1.35 system-ui, sans-serif; }

    .directory-title {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 12px;
      margin-top: 26px;
      border-bottom: 1px solid var(--ink);
      padding-bottom: 6px;
    }
    .directory-title h2 { margin: 0; font-size: 25px; line-height: 1; }
    .directory-title span { color: var(--muted); font: 11px/1.2 system-ui, sans-serif; }
    .directory-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 11px; }
    .directory-card {
      display: block;
      min-height: 125px;
      text-decoration: none;
      border: 1px solid var(--line);
      background: #fff;
      padding: 13px;
      transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
    }
    .directory-card:hover { transform: translateY(-2px); box-shadow: var(--shadow); border-color: #94a3b8; }
    .directory-card b { display: block; font-size: 18px; line-height: 1.05; }
    .directory-card p { margin: 7px 0 0; color: var(--muted); font: 12px/1.4 system-ui, sans-serif; }
    .count-badge { display: inline-block; margin-top: 10px; color: var(--accent); background: var(--accent-soft); border-radius: 999px; padding: 3px 7px; font: 800 10px/1 system-ui, sans-serif; }

    footer {
      max-width: 1180px;
      margin: 0 auto;
      padding: 18px 16px 28px;
      border-top: 1px solid var(--line);
      color: var(--muted);
      display: flex;
      justify-content: space-between;
      gap: 12px;
      font: 11px/1.35 system-ui, sans-serif;
    }
    footer a { color: var(--accent); text-decoration: none; }

    @media (max-width: 860px) {
      .lead-grid { grid-template-columns: 1fr; }
      .lead-story { border-right: 0; padding-right: 0; border-bottom: 1px solid var(--line); padding-bottom: 16px; }
      .side-stories { grid-template-columns: repeat(2, 1fr); gap: 0 14px; }
      .news-columns { grid-template-columns: repeat(2, 1fr); }
      .topic-column:nth-child(2) { border-right: 0; padding-right: 0; }
      .topic-column:nth-child(3) { padding-left: 0; border-top: 1px solid var(--line); }
      .topic-column:nth-child(4) { border-top: 1px solid var(--line); }
      .directory-grid { grid-template-columns: repeat(2, 1fr); }
    }

    @media (max-width: 560px) {
      .utility-row { font-size: 10px; }
      .tagline { font-size: 12px; }
      .lead-story h2 { font-size: 38px; }
      .lead-story .dek { font-size: 15px; }
      .side-stories { grid-template-columns: 1fr; }
      .mini-story { padding-top: 2px; }
      .related-top { display: block; }
      .open-tool { display: inline-block; margin-top: 10px; }
      .related-grid, .news-columns, .directory-grid { grid-template-columns: 1fr; }
      .topic-column, .topic-column:first-child, .topic-column:last-child { padding: 12px 0; border-right: 0; border-top: 1px solid var(--line); }
      .topic-column:first-child { border-top: 0; }
      .breaking { grid-template-columns: auto 1fr; }
      .breaking-topic { display: none; }
      footer { display: block; }
      footer span { display: block; margin-top: 5px; }
      .ticker-timestamp { display: none; }
    }
