/*
Theme Name: Vector
Theme URI: https://example.com/vector
Author: Your Name
Description: A fast tech, AI and science news theme. A three-column front page with a live wire timeline, a lead story and a daily briefing signup, colour-coded topic pills, deep dives and topic blocks. Light and dark modes, self-hosted fonts and one-click demo content with original artwork.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: vector
Tags: news, blog, three-columns, right-sidebar, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, wide-blocks
*/

:root {
  --bg: #ffffff;
  --surface: #ffffff;
  --surface-2: #f3f4f8;
  --text: #1d2029;
  --text-2: #434756;
  --muted: #6b6f81;
  --line: #e4e6ee;
  --accent: #5a3ff2;
  --accent-ink: #ffffff;
  --coral: #ff6a4d;
  --lime: #a6e22e;
  --font-display: "Red Hat Display", system-ui, sans-serif;
  --font-body: "Red Hat Text", system-ui, -apple-system, "Segoe UI", sans-serif;
  --w-display: 800;
  --track-display: -0.02em;
  --lh-display: 1.08;
  --radius: 12px;
  --radius-ui: 9px;
  --sticky-top: 90px;
  --footer-bg: #14151c;
  --footer-text: #eef0f6;
  --footer-muted: #a3a7b8;
  --footer-line: rgba(255,255,255,.12);
  --accent-hover: #1d2029;
  --accent-hover-ink: #ffffff;
}
:root[data-theme="dark"] {
  --bg: #0e0f15;
  --surface: #15161e;
  --surface-2: #1b1d27;
  --text: #eef0f6;
  --text-2: #c7cad6;
  --muted: #8c90a2;
  --line: #292b37;
  --accent: #9483ff;
  --accent-ink: #0e0f15;
  --footer-bg: #08090d;
  --accent-hover: #eef0f6;
  --accent-hover-ink: #0e0f15;
}

body { font-size: 16.5px; }
.site-header { border-bottom: 1px solid var(--line); }
.site-header__inner { min-height: 70px; }
.brand__name { font-size: 1.55rem; font-weight: 900; letter-spacing: -.035em; }
.primary-menu > li > a { font-weight: 700; font-size: .93rem; }
.header-cta { border-radius: 999px; }
.cat { font-weight: 700; }
.vx-pill, .card .cat, .mini .cat, .card-row .cat, .entry-cat { display: inline-block; align-self: flex-start; padding: .14rem .5rem; border-radius: 6px; font-size: .74rem; font-weight: 700; line-height: 1.35; background: hsl(var(--cat-hue, 250) 85% 95%); color: hsl(var(--cat-hue, 250) 58% 33%); }
.vx-pill:hover, .card .cat:hover, .mini .cat:hover, .entry-cat:hover { text-decoration: none; background: hsl(var(--cat-hue, 250) 85% 89%); }
[data-theme="dark"] .vx-pill, [data-theme="dark"] .card .cat, [data-theme="dark"] .mini .cat, [data-theme="dark"] .entry-cat { background: hsl(var(--cat-hue, 250) 35% 20%); color: hsl(var(--cat-hue, 250) 85% 80%); }
.section-title { font-size: clamp(1.35rem, 2.4vw, 1.75rem); }
.card__title { font-size: 1.14rem; line-height: 1.22; }

/* ---------- Top: wire, lead, rail ---------- */
.vx-top { display: grid; gap: clamp(28px, 3vw, 44px); padding-block: clamp(26px, 3.5vw, 44px); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 760px) { .vx-top { grid-template-columns: minmax(0, 1fr) 290px; } .vx-wire { grid-column: 1 / -1; order: 3; } }
@media (min-width: 1140px) { .vx-top { grid-template-columns: 250px minmax(0, 1fr) 290px; } .vx-wire { grid-column: auto; order: 0; } }
.vx-rail-title { display: flex; align-items: center; gap: .55rem; font-size: 1.02rem; font-weight: 800; letter-spacing: -.01em; padding-bottom: .65rem; margin-bottom: .2rem; border-bottom: 2px solid var(--text); }
.vx-live { width: 9px; height: 9px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 0 rgba(166,226,46,.7); animation: vx-pulse 2.2s ease-out infinite; }
@keyframes vx-pulse { 70% { box-shadow: 0 0 0 9px rgba(166,226,46,0); } 100% { box-shadow: 0 0 0 0 rgba(166,226,46,0); } }
.vx-wire__list { margin-bottom: 1rem; }
.vx-wire__item { display: grid; grid-template-columns: 3.1rem minmax(0, 1fr); gap: .55rem; padding-block: .9rem; border-bottom: 1px solid var(--line); }
.vx-wire__time { font-size: .8rem; font-weight: 700; color: var(--muted); font-variant-numeric: tabular-nums; padding-top: .12rem; }
.vx-wire__body { display: flex; flex-direction: column; gap: .35rem; }
.vx-wire__title { font-size: .98rem; line-height: 1.3; font-weight: 700; letter-spacing: -.005em; }
.vx-wire__title a:hover, .vx-lead__title a:hover { color: var(--accent); }
.vx-lead .media { aspect-ratio: 16 / 10; }
.vx-lead__body { display: flex; flex-direction: column; gap: .7rem; margin-top: 1.1rem; }
.vx-lead__title { font-size: clamp(1.9rem, 3.3vw, 2.8rem); line-height: 1.04; letter-spacing: -.03em; }
.vx-lead__dek { font-size: 1.1rem; line-height: 1.55; color: var(--text-2); max-width: 62ch; }
.vx-pair { display: grid; gap: 24px; margin-top: 28px; padding-top: 26px; border-top: 1px solid var(--line); }
@media (min-width: 560px) { .vx-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.vx-rail { display: flex; flex-direction: column; gap: 1.6rem; }

/* ---------- Briefing card ---------- */
.signup--briefing, .signup--sidebar { color: #fff; background-color: var(--accent); background-image: radial-gradient(rgba(255,255,255,.2) 1.2px, transparent 1.4px); background-size: 14px 14px; border-radius: 16px; }
[data-theme="dark"] .signup--briefing { color: #0e0f15; background-image: radial-gradient(rgba(0,0,0,.18) 1.2px, transparent 1.4px); }
.signup--briefing .signup__title { font-size: 1.5rem; letter-spacing: -.02em; }
.signup--briefing .signup__form { flex-direction: column; }
.signup--briefing .signup__form input[type="email"] { flex: 0 0 auto; }
.signup--briefing .signup__button { background: #1d2029; color: #fff; }
.signup--briefing .signup__button:hover { background: var(--lime); color: #1d2029; }
.mini__title { font-size: .98rem; font-weight: 700; }

/* ---------- Deep dives and topics ---------- */
.vx-deep { background: var(--surface-2); }
.vx-deep .card .media { aspect-ratio: 4 / 3; }
.vx-topics { display: grid; gap: clamp(32px, 4vw, 48px); }
@media (min-width: 960px) { .vx-topics { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.vx-topic { display: flex; flex-direction: column; gap: 1.2rem; }
.vx-topic__head { display: flex; justify-content: space-between; align-items: baseline; padding-bottom: .6rem; border-bottom: 3px solid hsl(var(--cat-hue) 70% 55%); }
.vx-topic__name { font-size: 1.4rem; }
.vx-topic .card .cat { display: none; }
.vx-topic__more .mini__title { font-size: 1.02rem; }

/* ---------- Single ---------- */
.entry-title { font-size: clamp(2.1rem, 4.6vw, 3.4rem); letter-spacing: -.035em; }
.entry-content { font-size: 1.1rem; }
.entry-content blockquote { border-left-color: var(--accent); font-weight: 700; }
.author-box { background: var(--surface-2); }
.site-footer .signup { background-color: rgba(255,255,255,.06); background-image: none; color: var(--footer-text); padding: 1.4rem; }
.site-footer .signup__title { font-size: 1.15rem; }
