/* ==========================================================================
   Local AI Zone - unified blog post design system
   One visual language for every article: blue brand accents, consistent
   typography, tables, callouts, cards and dark mode.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Design tokens
   -------------------------------------------------------------------------- */
:root {
  --bp-blue-50: #eff6ff;
  --bp-blue-100: #dbeafe;
  --bp-blue-200: #bfdbfe;
  --bp-blue-300: #93c5fd;
  --bp-blue-400: #60a5fa;
  --bp-blue-500: #3b82f6;
  --bp-blue-600: #2563eb;
  --bp-blue-700: #1d4ed8;
  --bp-blue-800: #1e40af;
  --bp-blue-900: #1e3a8a;

  --bp-accent: var(--bp-blue-600);
  --bp-accent-strong: var(--bp-blue-800);
  --bp-accent-soft: var(--bp-blue-50);
  --bp-accent-soft-2: var(--bp-blue-100);

  --bp-ink: #1f2937;
  --bp-ink-strong: #111827;
  --bp-ink-soft: #4b5563;
  --bp-muted: #6b7280;
  --bp-faint: #9ca3af;

  --bp-surface: #ffffff;
  --bp-surface-alt: #f9fafb;
  --bp-surface-soft: #f3f4f6;
  --bp-line: #e5e7eb;
  --bp-line-strong: #d1d5db;

  --bp-code-bg: #0f172a;
  --bp-code-ink: #e2e8f0;
  --bp-code-inline-bg: #f1f5f9;
  --bp-code-inline-ink: #1e40af;

  --bp-success-bg: #f0fdf4;
  --bp-success-line: #86efac;
  --bp-success-ink: #166534;
  --bp-warning-bg: #fff7ed;
  --bp-warning-line: #fdba74;
  --bp-warning-ink: #9a3412;
  --bp-danger-bg: #fef2f2;
  --bp-danger-line: #fca5a5;
  --bp-danger-ink: #991b1b;
  --bp-info-bg: #eff6ff;
  --bp-info-line: #93c5fd;
  --bp-info-ink: #1e3a8a;

  --bp-radius: 12px;
  --bp-radius-sm: 8px;
  --bp-shadow: 0 4px 16px rgba(15, 23, 42, 0.06);
  --bp-shadow-hover: 0 10px 28px rgba(15, 23, 42, 0.1);

  --bp-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Roboto, Helvetica, Arial, sans-serif;
  --bp-mono: 'SFMono-Regular', ui-monospace, 'Cascadia Mono', 'JetBrains Mono', Menlo, Consolas, 'Liberation Mono', monospace;

  /* Shared aliases used by components carried over from older posts */
  --accent: var(--bp-accent);
  --accent-soft: var(--bp-accent-soft);
  --accent-2: var(--bp-blue-400);
  --ink: var(--bp-ink);
  --ink-soft: var(--bp-ink-soft);
  --ink-faint: var(--bp-muted);
  --muted: var(--bp-muted);
  --line: var(--bp-line);
  --line-soft: var(--bp-line);
  --line-strong: var(--bp-line-strong);
  --paper: var(--bp-surface);
  --bg: var(--bp-surface);
  --bg-soft: var(--bp-surface-alt);
  --bg-raise: var(--bp-surface);
  --bg-quote: var(--bp-surface-soft);
  --card: var(--bp-surface);
  --card-background: var(--bp-surface);
  --wash: var(--bp-accent-soft);
  --wash-deep: var(--bp-accent-soft-2);
  --link: var(--bp-accent);
  --link-hover: var(--bp-accent-strong);
  --primary: var(--bp-accent);
  --primary-bright: var(--bp-accent);
  --primary-deep: var(--bp-accent-strong);
  --primary-50: var(--bp-blue-50);
  --primary-100: var(--bp-blue-100);
  --primary-200: var(--bp-blue-200);
  --primary-300: var(--bp-blue-300);
  --primary-400: var(--bp-blue-400);
  --primary-500: var(--bp-blue-500);
  --primary-600: var(--bp-blue-600);
  --primary-700: var(--bp-blue-700);
  --primary-800: var(--bp-blue-800);
  --primary-900: var(--bp-blue-900);
  --text-primary: var(--bp-ink);
  --text-secondary: var(--bp-ink-soft);
  --text-muted: var(--bp-muted);
  --background-primary: var(--bp-surface);
  --background-secondary: var(--bp-surface-alt);
  --border-color: var(--bp-line);
  --green: #059669;
  --green-soft: var(--bp-success-bg);
  --red: #dc2626;
  --red-soft: var(--bp-danger-bg);
  --amber: #d97706;
  --amber-soft: var(--bp-warning-bg);
  --quote-accent: var(--bp-accent);
  --code-bg: var(--bp-code-bg);
  --code-ink: var(--bp-code-ink);
  --code-head: var(--bp-blue-300);
  --code-key: #ff7b72;
  --code-str: #a5d6a7;
  --code-cmt: #7d8799;
  --code-line: rgba(148, 163, 184, 0.18);
  --shadow: var(--bp-shadow);
  --shadow-sm: 0 1px 4px rgba(15, 23, 42, 0.06);
  --shadow-lift: var(--bp-shadow-hover);
  --radius: var(--bp-radius);
  --mono: var(--bp-mono);
  --sans: var(--bp-sans);
  --track: var(--bp-surface-soft);
  --bar-a: var(--bp-accent);
  --bar-b: var(--bp-blue-400);
  --bar-alt: var(--bp-blue-200);
  --local: var(--bp-accent);
}

html[data-theme='dark'] {
  --bp-ink: #e5e9f2;
  --bp-ink-strong: #f8fafc;
  --bp-ink-soft: #cbd5e1;
  --bp-muted: #94a3b8;
  --bp-faint: #64748b;

  --bp-surface: #111827;
  --bp-surface-alt: #1a2336;
  --bp-surface-soft: #1f2937;
  --bp-line: #2b374e;
  --bp-line-strong: #3b4a66;

  --bp-code-bg: #0b1220;
  --bp-code-ink: #e2e8f0;
  --bp-code-inline-bg: #1c2740;
  --bp-code-inline-ink: #93c5fd;

  --bp-success-bg: #0d2418;
  --bp-success-line: #2f7a4f;
  --bp-success-ink: #86efac;
  --bp-warning-bg: #2a1c0e;
  --bp-warning-line: #9a5b21;
  --bp-warning-ink: #fdba74;
  --bp-danger-bg: #2a1214;
  --bp-danger-line: #8a3a3f;
  --bp-danger-ink: #fca5a5;
  --bp-info-bg: #101d33;
  --bp-info-line: #2b4d8a;
  --bp-info-ink: #93c5fd;

  --bp-accent: #60a5fa;
  --bp-accent-strong: #93c5fd;
  --bp-accent-soft: rgba(37, 99, 235, 0.16);
  --bp-accent-soft-2: rgba(37, 99, 235, 0.26);

  --bp-shadow: 0 4px 18px rgba(0, 0, 0, 0.35);
  --bp-shadow-hover: 0 12px 32px rgba(0, 0, 0, 0.45);

  --accent: var(--bp-accent);
  --accent-soft: var(--bp-accent-soft);
  --accent-2: var(--bp-blue-300);
  --ink: var(--bp-ink);
  --ink-soft: var(--bp-ink-soft);
  --ink-faint: var(--bp-muted);
  --muted: var(--bp-muted);
  --line: var(--bp-line);
  --line-soft: var(--bp-line);
  --line-strong: var(--bp-line-strong);
  --paper: var(--bp-surface);
  --bg: var(--bp-surface);
  --bg-soft: var(--bp-surface-alt);
  --bg-raise: var(--bp-surface-alt);
  --bg-quote: var(--bp-surface-soft);
  --card: var(--bp-surface);
  --card-background: var(--bp-surface);
  --wash: var(--bp-accent-soft);
  --wash-deep: var(--bp-accent-soft-2);
  --link: var(--bp-accent);
  --link-hover: var(--bp-accent-strong);
  --primary: var(--bp-accent);
  --primary-bright: var(--bp-accent);
  --primary-deep: var(--bp-accent-strong);
  --primary-50: #0f1b2e;
  --primary-100: #12233d;
  --primary-200: #1b3357;
  --primary-300: var(--bp-blue-300);
  --primary-400: var(--bp-blue-400);
  --primary-500: var(--bp-blue-500);
  --primary-600: var(--bp-blue-400);
  --primary-700: var(--bp-blue-300);
  --primary-800: var(--bp-blue-200);
  --primary-900: var(--bp-blue-100);
  --text-primary: var(--bp-ink);
  --text-secondary: var(--bp-ink-soft);
  --text-muted: var(--bp-muted);
  --background-primary: #0b0f1a;
  --background-secondary: #141b2e;
  --border-color: var(--bp-line);
  --green: #4ade80;
  --green-soft: var(--bp-success-bg);
  --red: #f87171;
  --red-soft: var(--bp-danger-bg);
  --amber: #fbbf24;
  --amber-soft: var(--bp-warning-bg);
  --quote-accent: var(--bp-accent);
  --code-bg: var(--bp-code-bg);
  --code-ink: var(--bp-code-ink);
  --code-head: var(--bp-blue-300);
  --shadow: var(--bp-shadow);
  --shadow-sm: 0 1px 6px rgba(0, 0, 0, 0.3);
  --shadow-lift: var(--bp-shadow-hover);
  --radius: var(--bp-radius);
  --track: var(--bp-surface-soft);
  --bar-a: var(--bp-blue-400);
  --bar-b: var(--bp-blue-300);
  --bar-alt: #1e3a8a;
  --local: var(--bp-accent);
}

/* --------------------------------------------------------------------------
   2. Article hero
   -------------------------------------------------------------------------- */
.blog-article-page .article-header {
  background: linear-gradient(135deg, #2563eb 0%, #1e40af 100%);
  color: #ffffff;
  padding: 64px 32px;
  margin: 0 0 40px;
  border: none;
  border-radius: 0 0 18px 18px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 18px 40px -24px rgba(30, 64, 175, 0.65);
}

.blog-article-page .article-header::before,
.blog-article-page .article-header::after {
  display: none !important;
}

.blog-article-page .article-header .container {
  background: transparent !important;
  border: none;
  padding: 0;
  max-width: 960px;
  margin: 0 auto;
}

.blog-article-page .article-header .article-title,
.blog-article-page .article-title {
  color: #ffffff;
  font-size: 2.55rem;
  font-weight: 800;
  line-height: 1.16;
  letter-spacing: -0.02em;
  margin: 0 0 16px;
  text-shadow: none !important;
}

.blog-article-page .article-header .article-meta,
.blog-article-page .article-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  margin: 0;
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.86);
}

.blog-article-page .article-header .article-meta span,
.blog-article-page .article-meta span {
  color: inherit;
}

.blog-article-page .article-date,
.blog-article-page .article-author,
.blog-article-page .article-category,
.blog-article-page .article-read-time {
  display: inline-flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.28);
  color: #ffffff;
  padding: 6px 13px;
  border-radius: 999px;
  font-size: 0.86rem;
  font-weight: 600;
  backdrop-filter: blur(6px);
}

.blog-article-page .back-to-blog,
.blog-article-page .article-header .back-to-blog {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #ffffff;
  text-decoration: none;
  font-weight: 650;
  font-size: 0.92rem;
  margin: 0 0 26px;
  padding: 10px 18px;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.34);
  border-radius: 9px;
  backdrop-filter: blur(8px);
  transition: background 0.2s ease, transform 0.2s ease;
  position: relative;
  z-index: 1;
}

.blog-article-page .back-to-blog:hover,
.blog-article-page .article-header .back-to-blog:hover {
  background: rgba(255, 255, 255, 0.26);
  color: #ffffff;
  transform: translateX(-3px);
}

/* --------------------------------------------------------------------------
   3. Article body typography
   -------------------------------------------------------------------------- */
.blog-article-page .article-content {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 22px 72px;
  color: var(--bp-ink);
  font-family: var(--bp-sans);
  font-size: 1.075rem;
  line-height: 1.85;
}

.blog-article-page .article-content > :first-child {
  margin-top: 0;
}

.blog-article-page .article-content h1 {
  font-size: 2.05rem;
  line-height: 1.2;
  color: var(--bp-accent-strong);
  margin: 44px 0 18px;
  padding-bottom: 12px;
  border-bottom: 3px solid var(--bp-line);
  letter-spacing: -0.02em;
}

.blog-article-page .article-content > h1:first-child {
  background: var(--bp-accent-soft);
  border: 1px solid var(--bp-accent-soft-2);
  border-left: 5px solid var(--bp-accent);
  border-radius: var(--bp-radius);
  padding: 26px 28px;
  font-size: 1.85rem;
  margin: 8px 0 30px;
}

.blog-article-page .article-content h2 {
  font-size: 1.58rem;
  line-height: 1.3;
  color: var(--bp-accent-strong);
  margin: 42px 0 14px;
  padding-bottom: 9px;
  border-bottom: 2px solid var(--bp-line);
  letter-spacing: -0.01em;
}

.blog-article-page .article-content h3 {
  font-size: 1.28rem;
  line-height: 1.35;
  color: var(--bp-ink-strong);
  margin: 32px 0 10px;
}

.blog-article-page .article-content h4 {
  font-size: 1.08rem;
  color: var(--bp-ink-soft);
  margin: 24px 0 8px;
}

.blog-article-page .article-content p {
  margin: 0 0 1.2em;
  line-height: 1.85;
}

.blog-article-page .article-content ul,
.blog-article-page .article-content ol {
  margin: 14px 0 20px;
  padding-left: 26px;
}

.blog-article-page .article-content li {
  margin-bottom: 8px;
  line-height: 1.75;
}

.blog-article-page .article-content li::marker {
  color: var(--bp-accent);
  font-weight: 700;
}

.blog-article-page .article-content strong,
.blog-article-page .article-content b {
  color: var(--bp-ink-strong);
  font-weight: 700;
}

.blog-article-page .article-content em,
.blog-article-page .article-content i {
  color: var(--bp-ink-soft);
}

.blog-article-page .article-content a {
  color: var(--bp-accent);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.15s ease, color 0.15s ease;
}

.blog-article-page .article-content a:hover {
  color: var(--bp-accent-strong);
  border-bottom-color: currentColor;
  text-decoration: none;
}

.blog-article-page .article-content hr {
  border: none;
  border-top: 2px solid var(--bp-line);
  margin: 44px 0;
}

.blog-article-page .article-content img {
  max-width: 100%;
  height: auto;
  border-radius: var(--bp-radius);
  margin: 24px 0;
}

.blog-article-page .article-content figure {
  margin: 30px 0;
}

.blog-article-page .article-content figure img {
  display: block;
  width: 100%;
  margin: 0;
}

.blog-article-page .article-content figcaption {
  margin-top: 12px;
  padding-left: 14px;
  border-left: 3px solid var(--bp-blue-200);
  color: var(--bp-muted);
  font-size: 0.88rem;
  line-height: 1.6;
}

/* Blockquote / pull quote */
.blog-article-page .article-content blockquote {
  margin: 26px 0;
  padding: 22px 26px;
  background: var(--bp-accent-soft);
  border-left: 4px solid var(--bp-accent);
  border-radius: 0 var(--bp-radius-sm) var(--bp-radius-sm) 0;
  color: var(--bp-ink);
  font-style: normal;
}

.blog-article-page .article-content blockquote p {
  margin: 0 0 0.6em;
}

.blog-article-page .article-content blockquote p:last-child {
  margin-bottom: 0;
}

/* Inline code and code blocks */
.blog-article-page .article-content code {
  font-family: var(--bp-mono);
  font-size: 0.86em;
  background: var(--bp-code-inline-bg);
  color: var(--bp-code-inline-ink);
  border: 1px solid var(--bp-line);
  border-radius: 5px;
  padding: 2px 6px;
  overflow-wrap: anywhere;
}

.blog-article-page .article-content pre {
  margin: 24px 0;
  padding: 20px 22px;
  background: var(--bp-code-bg);
  color: var(--bp-code-ink);
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: var(--bp-radius);
  overflow-x: auto;
  font-family: var(--bp-mono);
  font-size: 0.86rem;
  line-height: 1.6;
}

.blog-article-page .article-content pre code {
  background: none;
  color: inherit;
  border: none;
  padding: 0;
  font-size: inherit;
}

/* Tables */
.blog-article-page .article-content table,
.blog-article-page .article-content .table-wrap,
.blog-article-page .article-content .tblwrap,
.blog-article-page .article-content .table-scroll {
  width: 100%;
}

.blog-article-page .article-content table {
  margin: 26px 0;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 0.9rem;
  line-height: 1.55;
  background: var(--bp-surface);
  border-radius: var(--bp-radius-sm);
  overflow: hidden;
}

.blog-article-page .article-content table th {
  background: var(--bp-accent-strong);
  color: #ffffff;
  font-weight: 650;
  text-align: left;
  padding: 11px 14px;
  border: 1px solid var(--bp-accent-strong);
}

.blog-article-page .article-content table td {
  padding: 11px 14px;
  border: 1px solid var(--bp-line);
  text-align: left;
  vertical-align: top;
  color: var(--bp-ink);
}

.blog-article-page .article-content table tr:nth-child(even) td {
  background: var(--bp-surface-alt);
}

.blog-article-page .article-content table tr:hover td {
  background: var(--bp-accent-soft);
}

.blog-article-page .article-content table caption {
  caption-side: bottom;
  padding-top: 10px;
  color: var(--bp-muted);
  font-size: 0.82rem;
  text-align: left;
}

/* Scroll wrapper for wide tables */
.blog-article-page .article-content .table-wrap,
.blog-article-page .article-content .tblwrap,
.blog-article-page .article-content .table-scroll {
  overflow-x: auto;
  margin: 26px 0;
  border-radius: var(--bp-radius-sm);
}

.blog-article-page .article-content .table-wrap table,
.blog-article-page .article-content .tblwrap table,
.blog-article-page .article-content .table-scroll table {
  margin: 0;
  min-width: 640px;
}

/* --------------------------------------------------------------------------
   4. Section cards and shared content components
   -------------------------------------------------------------------------- */
.blog-article-page .article-section {
  margin: 36px 0;
  padding: 32px 34px;
  background: var(--bp-surface);
  border: 1px solid var(--bp-line);
  border-radius: var(--bp-radius);
  box-shadow: var(--bp-shadow);
}

.blog-article-page .article-section > :first-child {
  margin-top: 0;
}

.blog-article-page .article-section > :last-child {
  margin-bottom: 0;
}

.blog-article-page .section-title {
  font-size: 1.62rem;
  color: var(--bp-accent-strong);
  margin: 0 0 18px;
  padding-bottom: 12px;
  border-bottom: 3px solid var(--bp-line);
  position: relative;
}

.blog-article-page .section-title::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -3px;
  width: 84px;
  height: 3px;
  background: var(--bp-accent);
}

/* Key takeaway */
.blog-article-page .key-takeaway,
.blog-article-page .takeaway,
.blog-article-page .highlight-box {
  margin: 30px 0;
  padding: 26px 30px;
  background: linear-gradient(135deg, var(--bp-accent-soft) 0%, var(--bp-accent-soft-2) 100%);
  border: 1px solid var(--bp-accent-soft-2);
  border-left: 5px solid var(--bp-accent);
  border-radius: var(--bp-radius-sm);
}

.blog-article-page .key-takeaway h2,
.blog-article-page .key-takeaway h3,
.blog-article-page .key-takeaway h4,
.blog-article-page .takeaway h2,
.blog-article-page .takeaway h3 {
  color: var(--bp-accent-strong);
  margin-top: 0;
}

.blog-article-page .takeaway .label,
.blog-article-page .callout .lab {
  display: block;
  margin-bottom: 7px;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* Callouts */
.blog-article-page .callout,
.blog-article-page .technical-note,
.blog-article-page .warning-box,
.blog-article-page .cta-box {
  margin: 24px 0;
  padding: 18px 22px;
  border: 1px solid var(--bp-info-line);
  border-left: 4px solid var(--bp-accent);
  border-radius: 0 var(--bp-radius-sm) var(--bp-radius-sm) 0;
  background: var(--bp-info-bg);
  color: var(--bp-info-ink);
  font-size: 0.98rem;
  line-height: 1.65;
}

.blog-article-page .callout p:last-child,
.blog-article-page .technical-note p:last-child,
.blog-article-page .warning-box p:last-child {
  margin-bottom: 0;
}

.blog-article-page .callout.info { background: var(--bp-info-bg); border-color: var(--bp-info-line); border-left-color: var(--bp-accent); color: var(--bp-info-ink); }
.blog-article-page .callout.ok { background: var(--bp-success-bg); border-color: var(--bp-success-line); border-left-color: #16a34a; color: var(--bp-success-ink); }
.blog-article-page .callout.warn { background: var(--bp-warning-bg); border-color: var(--bp-warning-line); border-left-color: #ea580c; color: var(--bp-warning-ink); }
.blog-article-page .callout.danger { background: var(--bp-danger-bg); border-color: var(--bp-danger-line); border-left-color: #dc2626; color: var(--bp-danger-ink); }
.blog-article-page .warning-box { background: var(--bp-warning-bg); border-color: var(--bp-warning-line); border-left-color: #f59e0b; color: var(--bp-warning-ink); }
.blog-article-page .technical-note { background: var(--bp-info-bg); border-color: var(--bp-info-line); border-left-color: var(--bp-accent); color: var(--bp-info-ink); }

.blog-article-page .highlight-row,
.blog-article-page .article-content tr.highlight-row td {
  background: var(--bp-accent-soft) !important;
  font-weight: 600;
}

.blog-article-page .evidence-list {
  margin: 22px 0;
  padding: 22px 24px 22px 44px;
  background: var(--bp-surface-alt);
  border: 1px solid var(--bp-line);
  border-radius: var(--bp-radius-sm);
}

/* Spec grids and model cards */
.blog-article-page .spec-grid,
.blog-article-page .stat-grid,
.blog-article-page .doc-info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  margin: 26px 0;
}

.blog-article-page .spec-card,
.blog-article-page .spec-item,
.blog-article-page .stat-highlight,
.blog-article-page .doc-info-box,
.blog-article-page .doc-info-item,
.blog-article-page .model-release,
.blog-article-page .trend-card,
.blog-article-page .comparison-card {
  padding: 20px 22px;
  background: var(--bp-surface);
  border: 1px solid var(--bp-line);
  border-left: 4px solid var(--bp-accent);
  border-radius: var(--bp-radius-sm);
  box-shadow: var(--bp-shadow-sm);
}

.blog-article-page .trend-card {
  background: var(--bp-accent-soft);
  box-shadow: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.blog-article-page .trend-card:hover,
.blog-article-page .comparison-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--bp-shadow);
}

.blog-article-page .spec-label,
.blog-article-page .stat-label,
.blog-article-page .doc-info-label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--bp-muted);
  margin-bottom: 6px;
}

.blog-article-page .spec-value,
.blog-article-page .stat-number,
.blog-article-page .doc-info-value {
  font-size: 1.25rem;
  font-weight: 750;
  color: var(--bp-accent-strong);
  line-height: 1.3;
}

.blog-article-page .model-badge,
.blog-article-page .badge,
.blog-article-page .tech-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border-radius: 999px;
  background: var(--bp-accent);
  color: #ffffff;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.blog-article-page .badge-new { background: var(--bp-success-bg); color: var(--bp-success-ink); }
.blog-article-page .badge-pending { background: var(--bp-warning-bg); color: var(--bp-warning-ink); }
.blog-article-page .badge-retired { background: var(--bp-surface-soft); color: var(--bp-muted); }

.blog-article-page .chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0;
}

.blog-article-page .chip {
  display: inline-flex;
  align-items: center;
  padding: 5px 12px;
  border-radius: 999px;
  background: var(--bp-surface-alt);
  border: 1px solid var(--bp-line);
  color: var(--bp-ink-soft);
  font-size: 0.8rem;
  font-weight: 600;
}

.blog-article-page .tag {
  display: inline-block;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  background: var(--bp-surface-soft);
  color: var(--bp-ink-soft);
}

.blog-article-page .tag.good { background: var(--bp-success-bg); color: var(--bp-success-ink); }
.blog-article-page .tag.warn { background: var(--bp-warning-bg); color: var(--bp-warning-ink); }
.blog-article-page .tag.bad { background: var(--bp-danger-bg); color: var(--bp-danger-ink); }
.blog-article-page .tag.neutral { background: var(--bp-surface-soft); color: var(--bp-ink-soft); }

.blog-article-page .kbd {
  display: inline-block;
  padding: 2px 7px;
  border-radius: 5px;
  border: 1px solid var(--bp-line-strong);
  border-bottom-width: 2px;
  background: var(--bp-surface-alt);
  color: var(--bp-ink-soft);
  font-family: var(--bp-mono);
  font-size: 0.8em;
}

/* Timeline */
.blog-article-page .timeline,
.blog-article-page .tline {
  margin: 26px 0;
  padding: 0;
  list-style: none;
}

.blog-article-page .timeline-item,
.blog-article-page .tline .tl-item {
  position: relative;
  margin-left: 10px;
  padding: 4px 0 24px 26px;
  border-left: 3px solid var(--bp-accent-soft-2);
}

.blog-article-page .timeline-item::before,
.blog-article-page .tline .tl-item::before {
  content: '';
  position: absolute;
  left: -8px;
  top: 10px;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: var(--bp-accent);
  border: 3px solid var(--bp-surface);
  box-shadow: 0 0 0 2px var(--bp-accent-soft-2);
}

.blog-article-page .timeline-date,
.blog-article-page .tline .tl-date {
  color: var(--bp-accent);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 5px;
}

.blog-article-page .timeline-item:last-child,
.blog-article-page .tline .tl-item:last-child {
  border-left-color: transparent;
}

/* FAQ */
.blog-article-page .faq {
  margin: 24px 0;
}

.blog-article-page .faq details,
.blog-article-page .faq-item {
  margin: 0 0 10px;
  background: var(--bp-surface);
  border: 1px solid var(--bp-line);
  border-radius: var(--bp-radius-sm);
  overflow: hidden;
}

.blog-article-page .faq summary,
.blog-article-page .faq-item summary {
  cursor: pointer;
  padding: 15px 18px;
  font-weight: 650;
  color: var(--bp-ink-strong);
  list-style: none;
}

.blog-article-page .faq summary::-webkit-details-marker,
.blog-article-page .faq-item summary::-webkit-details-marker {
  display: none;
}

.blog-article-page .faq summary:hover,
.blog-article-page .faq-item summary:hover {
  color: var(--bp-accent);
}

.blog-article-page .faq .faq-body,
.blog-article-page .faq-item .faq-body {
  padding: 0 18px 16px;
  color: var(--bp-ink-soft);
  font-size: 0.96rem;
}

/* Article table of contents */
.blog-article-page .toc {
  margin: 28px 0;
  padding: 22px 26px;
  background: var(--bp-surface-alt);
  border: 1px solid var(--bp-line);
  border-radius: var(--bp-radius-sm);
}

.blog-article-page .toc h2 {
  margin: 0 0 12px;
  padding: 0;
  border: none;
  font-size: 1.05rem;
  color: var(--bp-ink-strong);
}

.blog-article-page .toc ol {
  margin: 0;
  padding-left: 20px;
  columns: 2;
  column-gap: 28px;
}

.blog-article-page .toc a {
  color: var(--bp-accent);
  text-decoration: none;
  font-size: 0.92rem;
}

.blog-article-page .toc a:hover {
  text-decoration: underline;
}

/* --------------------------------------------------------------------------
   5. Fine print helpers
   -------------------------------------------------------------------------- */
.blog-article-page .lede,
.blog-article-page .lead {
  font-size: 1.14rem;
  line-height: 1.75;
  color: var(--bp-ink-soft);
  margin-bottom: 1.3em;
}

.blog-article-page .small,
.blog-article-page .footref,
.blog-article-page .tblfoot {
  color: var(--bp-muted);
  font-size: 0.84rem;
  line-height: 1.6;
}

/* --------------------------------------------------------------------------
   6. Dark mode
   -------------------------------------------------------------------------- */
html[data-theme='dark'] .blog-article-page .article-content {
  color: var(--bp-ink);
}

html[data-theme='dark'] .blog-article-page .article-content h1,
html[data-theme='dark'] .blog-article-page .article-content h2 {
  color: var(--bp-blue-300);
  border-bottom-color: var(--bp-line);
}

html[data-theme='dark'] .blog-article-page .article-content h3 {
  color: var(--bp-ink);
}

html[data-theme='dark'] .blog-article-page .article-content h4 {
  color: var(--bp-ink-soft);
}

html[data-theme='dark'] .blog-article-page .article-content > h1:first-child {
  background: var(--bp-accent-soft);
  border-color: var(--bp-accent-soft-2);
}

html[data-theme='dark'] .blog-article-page .article-content a {
  color: var(--bp-blue-300);
}

html[data-theme='dark'] .blog-article-page .article-content strong,
html[data-theme='dark'] .blog-article-page .article-content b {
  color: var(--bp-ink-strong);
}

html[data-theme='dark'] .blog-article-page .article-content em {
  color: var(--bp-ink-soft);
}

html[data-theme='dark'] .blog-article-page .article-content blockquote {
  background: rgba(37, 99, 235, 0.14);
  border-left-color: var(--bp-blue-400);
  color: var(--bp-ink);
}

html[data-theme='dark'] .blog-article-page .article-content code {
  background: var(--bp-code-inline-bg);
  color: var(--bp-blue-300);
  border-color: var(--bp-line);
}

html[data-theme='dark'] .blog-article-page .article-content pre {
  background: var(--bp-code-bg);
  color: var(--bp-code-ink);
  border-color: var(--bp-line);
}

html[data-theme='dark'] .blog-article-page .article-content table th {
  background: var(--bp-blue-900);
  color: #e2e8f0;
  border-color: var(--bp-line);
}

html[data-theme='dark'] .blog-article-page .article-content table td {
  background: var(--bp-surface);
  color: var(--bp-ink);
  border-color: var(--bp-line);
}

html[data-theme='dark'] .blog-article-page .article-content table tr:nth-child(even) td {
  background: var(--bp-surface-alt);
}

html[data-theme='dark'] .blog-article-page .article-content table tr:hover td {
  background: rgba(37, 99, 235, 0.16);
}

html[data-theme='dark'] .blog-article-page .article-section {
  background: var(--bp-surface);
  border-color: var(--bp-line);
}

html[data-theme='dark'] .blog-article-page .section-title {
  color: var(--bp-blue-300);
  border-bottom-color: var(--bp-line);
}

html[data-theme='dark'] .blog-article-page .key-takeaway,
html[data-theme='dark'] .blog-article-page .takeaway,
html[data-theme='dark'] .blog-article-page .highlight-box {
  background: rgba(37, 99, 235, 0.14);
  border-color: rgba(96, 165, 250, 0.3);
  border-left-color: var(--bp-blue-400);
  color: var(--bp-ink);
}

html[data-theme='dark'] .blog-article-page .key-takeaway h2,
html[data-theme='dark'] .blog-article-page .key-takeaway h3,
html[data-theme='dark'] .blog-article-page .takeaway h2,
html[data-theme='dark'] .blog-article-page .takeaway h3 {
  color: var(--bp-blue-300);
}

html[data-theme='dark'] .blog-article-page .callout,
html[data-theme='dark'] .blog-article-page .technical-note,
html[data-theme='dark'] .blog-article-page .warning-box {
  background: var(--bp-info-bg);
  border-color: var(--bp-info-line);
  color: var(--bp-ink);
}

html[data-theme='dark'] .blog-article-page .callout.warn,
html[data-theme='dark'] .blog-article-page .warning-box {
  background: var(--bp-warning-bg);
  border-color: var(--bp-warning-line);
  color: var(--bp-warning-ink);
}

html[data-theme='dark'] .blog-article-page .callout.ok {
  background: var(--bp-success-bg);
  border-color: var(--bp-success-line);
  color: var(--bp-success-ink);
}

html[data-theme='dark'] .blog-article-page .callout.danger {
  background: var(--bp-danger-bg);
  border-color: var(--bp-danger-line);
  color: var(--bp-danger-ink);
}

html[data-theme='dark'] .blog-article-page .spec-card,
html[data-theme='dark'] .blog-article-page .spec-item,
html[data-theme='dark'] .blog-article-page .stat-highlight,
html[data-theme='dark'] .blog-article-page .doc-info-box,
html[data-theme='dark'] .blog-article-page .doc-info-item,
html[data-theme='dark'] .blog-article-page .model-release,
html[data-theme='dark'] .blog-article-page .trend-card,
html[data-theme='dark'] .blog-article-page .comparison-card {
  background: var(--bp-surface);
  border-color: var(--bp-line);
}

html[data-theme='dark'] .blog-article-page .trend-card {
  background: rgba(37, 99, 235, 0.14);
}

html[data-theme='dark'] .blog-article-page .spec-value,
html[data-theme='dark'] .blog-article-page .stat-number,
html[data-theme='dark'] .blog-article-page .doc-info-value {
  color: var(--bp-blue-300);
}

html[data-theme='dark'] .blog-article-page .toc {
  background: var(--bp-surface-alt);
  border-color: var(--bp-line);
}

html[data-theme='dark'] .blog-article-page .toc h2 {
  color: var(--bp-ink-strong);
}

html[data-theme='dark'] .blog-article-page .faq details,
html[data-theme='dark'] .blog-article-page .faq-item {
  background: var(--bp-surface);
  border-color: var(--bp-line);
}

html[data-theme='dark'] .blog-article-page .faq summary,
html[data-theme='dark'] .blog-article-page .faq-item summary {
  color: var(--bp-ink-strong);
}

/* --------------------------------------------------------------------------
   7. Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 900px) {
  .blog-article-page .article-header {
    padding: 44px 22px;
    border-radius: 0 0 14px 14px;
  }

  .blog-article-page .article-header .article-title,
  .blog-article-page .article-title {
    font-size: 2rem;
  }

  .blog-article-page .article-content {
    padding: 0 18px 56px;
  }

  .blog-article-page .article-content > h1:first-child {
    padding: 20px 22px;
    font-size: 1.55rem;
  }

  .blog-article-page .article-content h1 { font-size: 1.75rem; }
  .blog-article-page .article-content h2 { font-size: 1.42rem; }
  .blog-article-page .article-content h3 { font-size: 1.18rem; }

  .blog-article-page .article-section {
    padding: 24px 22px;
  }

  .blog-article-page .section-title {
    font-size: 1.42rem;
  }

  .blog-article-page .toc ol {
    columns: 1;
  }
}

@media (max-width: 640px) {
  .blog-article-page .article-header {
    padding: 34px 18px;
    margin-bottom: 28px;
  }

  .blog-article-page .article-header .article-title,
  .blog-article-page .article-title {
    font-size: 1.62rem;
  }

  .blog-article-page .article-meta {
    gap: 8px;
  }

  .blog-article-page .article-date,
  .blog-article-page .article-author,
  .blog-article-page .article-category,
  .blog-article-page .article-read-time {
    font-size: 0.78rem;
    padding: 5px 10px;
  }

  .blog-article-page .article-content {
    font-size: 1rem;
    padding: 0 16px 48px;
  }

  .blog-article-page .article-content table {
    font-size: 0.82rem;
  }

  .blog-article-page .article-content table th,
  .blog-article-page .article-content table td {
    padding: 9px 10px;
  }

  .blog-article-page .spec-grid,
  .blog-article-page .stat-grid,
  .blog-article-page .doc-info-grid {
    grid-template-columns: 1fr;
  }

  .blog-article-page .article-section {
    padding: 20px 16px;
    margin: 26px 0;
  }
}

/* --------------------------------------------------------------------------
   8. Print
   -------------------------------------------------------------------------- */
@media print {
  .blog-article-page .article-header {
    background: none !important;
    color: #111;
    padding: 12px 0;
    box-shadow: none;
  }

  .blog-article-page .article-header .article-title,
  .blog-article-page .article-date,
  .blog-article-page .article-author,
  .blog-article-page .article-category,
  .blog-article-page .article-read-time,
  .blog-article-page .article-meta {
    color: #111 !important;
    background: none !important;
    border-color: #ddd !important;
  }

  .blog-article-page .back-to-blog,
  .blog-article-page .theme-btn,
  .blog-article-page .theme-toggle {
    display: none !important;
  }

  .blog-article-page .article-section {
    box-shadow: none;
    border: 1px solid #ddd;
    break-inside: avoid;
  }

  .blog-article-page .article-content pre {
    white-space: pre-wrap;
  }
}


/* === BEGIN GENERATED SUPPLEMENT: classic === */
/* Component rules carried over from the legacy inline styles.
   Do not hand-edit below this line. */
@keyframes pulse {0%, 100% { transform: translate(0, 0) scale(1); }
            50% { transform: translate(-10%, -10%) scale(1.1); }}

.blog-article-page .abstract { background: linear-gradient(135deg, var(--wash) 0%, var(--wash-deep) 100%); border-left: 4px solid var(--primary-bright); padding: 22px 26px; border-radius: 0 8px 8px 0 }
.blog-article-page .abstract .keywords { margin-top: 12px; font-size: .85rem; color: var(--ink-faint) }
.blog-article-page .abstract h2 { font-size: 1.02rem; color: var(--primary); margin-bottom: 10px; letter-spacing: .01em }
.blog-article-page .abstract p { font-size: .96rem; line-height: 1.72; color: var(--ink-soft) }
.blog-article-page .arch-card { background: white; border-radius: 8px; padding: 18px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); border-left: 4px solid #3b82f6 }
.blog-article-page .arch-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; margin-bottom: 20px }
.blog-article-page .arch-label { font-size: 0.85em; text-transform: uppercase; letter-spacing: 0.5px; color: #64748b; font-weight: 600; margin-bottom: 8px }
.blog-article-page .arch-subvalue { font-size: 0.9em; color: #475569; margin-top: 5px }
.blog-article-page .arch-value { font-size: 1.15em; font-weight: 700; color: #1e293b; line-height: 1.4 }
.blog-article-page .architecture-diagram { background: #0f172a; color: #a5d6ff; padding: 30px; border-radius: 12px; margin: 30px 0; font-family: 'Courier New', monospace; white-space: pre; overflow-x: auto; line-height: 1.5; box-shadow: 0 4px 15px rgba(0,0,0,0.2); border: 2px solid #dee2e6; font-size: 0.85em }
.blog-article-page .architecture-overview { background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%); border: 2px solid #cbd5e1; border-radius: 12px; padding: 30px; margin: 25px 0 }
.blog-article-page .architecture-overview h4 { color: #1e40af; font-size: 1.3em; margin-bottom: 25px; padding-bottom: 10px; border-bottom: 2px solid #3b82f6 }
.blog-article-page .article-content .faq { margin: 40px 0 10px }
.blog-article-page .article-content .faq .faq-body { color: #374151; font-size: 1em; line-height: 1.8; margin: 0 0 10px 20px }
.blog-article-page .article-content .faq summary { cursor: pointer; font-size: 1.1em; font-weight: 600; color: #1e40af; margin: 16px 0 6px }
.blog-article-page .article-content .faq summary:hover { color: #2563eb }
.blog-article-page .article-intro { font-size: 1.15em; line-height: 1.8; color: var(--text-secondary) }
.blog-article-page .article-section code { background: color-mix(in srgb, var(--wash-deep) 70%, var(--card)); color: var(--primary-deep); padding: 2px 7px; border-radius: 4px; font-size: .87em; font-family: var(--mono) }
.blog-article-page .article-section em { color: var(--ink-faint) }
.blog-article-page .article-section h3 { font-size: 1.14rem; color: var(--ink); margin: 26px 0 10px; font-weight: 700 }
.blog-article-page .article-section h4 { font-size: 1rem; color: var(--ink-soft); margin: 20px 0 8px }
.blog-article-page .article-section hr { border: none; border-top: 2px solid var(--line); margin: 32px 0 }
.blog-article-page .article-section li { margin-bottom: 7px; line-height: 1.68 }
.blog-article-page .article-section ol { margin: 12px 0 18px 24px }
.blog-article-page .article-section p { margin-bottom: 1.15em }
.blog-article-page .article-section strong { color: var(--ink) }
.blog-article-page .article-section ul { margin: 12px 0 18px 24px }
.blog-article-page .article-section:hover { transform: translateY(-3px); box-shadow: 0 12px 35px rgba(0,0,0,0.1) }
.blog-article-page .article-subtitle { font-size: 1.3em; opacity: 0.95; max-width: 800px; margin: 0 0 30px 0; line-height: 1.6; position: relative; z-index: 1 }
.blog-article-page .attention-bar { flex: 1; height: 36px; border-radius: 6px; display: flex; align-items: center; padding: 0 15px; font-weight: 600; color: white; font-size: 0.9em; position: relative; overflow: hidden }
.blog-article-page .attention-bar-item { display: flex; align-items: center; gap: 15px }
.blog-article-page .attention-bar.deltanet { background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%); width: 75% }
.blog-article-page .attention-bar.full { background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%); width: 25% }
.blog-article-page .attention-bars { display: flex; flex-direction: column; gap: 12px }
.blog-article-page .attention-breakdown { background: white; border-radius: 8px; padding: 20px; margin-top: 20px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) }
.blog-article-page .attention-breakdown h5 { color: #1e40af; font-size: 1.05em; margin-bottom: 15px; font-weight: 600 }
.blog-article-page .attention-layers { min-width: 100px; font-size: 0.9em; color: #475569; font-weight: 600 }
.blog-article-page .badge-saturated { background: #ef4444 }
.blog-article-page .bar-fill { height: 100%; border-radius: 5px; background: linear-gradient(90deg, var(--primary-bright), var(--primary)) }
.blog-article-page .bar-fill.alt { background: var(--bar-alt) }
.blog-article-page .bar-label { font-size: .84rem; color: var(--ink-soft); text-align: right; line-height: 1.25; font-weight: 600 }
.blog-article-page .bar-label .sub { display: block; font-weight: 400; color: var(--ink-faint); font-size: .76rem }
.blog-article-page .bar-row { display: grid; grid-template-columns: 176px 1fr 58px; align-items: center; gap: 12px; margin-bottom: 9px }
.blog-article-page .bar-track { background: var(--track); border-radius: 5px; height: 21px; overflow: hidden }
.blog-article-page .bar-value { font-family: var(--mono); font-size: .84rem; color: var(--ink); font-weight: 600; text-align: right }
.blog-article-page .benchmark-table { width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 0.95em }
.blog-article-page .benchmark-table tbody tr:hover { background: var(--bg-secondary) }
.blog-article-page .benchmark-table td { padding: 12px 14px; border-bottom: 1px solid var(--border-color); vertical-align: top }
.blog-article-page .benchmark-table th { background: var(--primary-600); color: white; padding: 12px 14px; text-align: left; font-weight: 600 }
.blog-article-page .benchmark-table tr:hover td { background: #e6f2ff }
.blog-article-page .benchmark-table tr:nth-child(even) td { background: #f0f7ff }
.blog-article-page .btn-primary { display: inline-block; background: linear-gradient(135deg, #2563eb, #3b82f6); color: white; padding: 16px 40px; border-radius: 8px; font-weight: 600; text-decoration: none; transition: all 0.3s ease; box-shadow: 0 4px 15px rgba(37, 99, 235, 0.3); font-size: 1.1em }
.blog-article-page .btn-primary:hover { transform: translateY(-3px); box-shadow: 0 8px 25px rgba(37, 99, 235, 0.4) }
.blog-article-page .btn-secondary { display: inline-block; background: transparent; color: #2563eb; padding: 16px 40px; border-radius: 8px; font-weight: 600; text-decoration: none; border: 2px solid #2563eb; transition: all 0.3s ease; font-size: 1.1em; margin-left: 10px }
.blog-article-page .btn-secondary:hover { background: #2563eb; color: white }
.blog-article-page .byline { display: flex; grid-template-columns: repeat(4, 1fr); gap: 18px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 14px 0; margin-bottom: 22px; font-family: 'Inter', system-ui, sans-serif; font-size: 13px; color: var(--muted); flex-wrap: wrap }
.blog-article-page .byline .label { display: block; font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.6px; color: var(--ink-soft); font-weight: 600; margin-bottom: 3px; margin-right: 6px }
.blog-article-page .byline span { font-size: 13px; color: var(--ink-soft) }
.blog-article-page .callout .label { font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.8px; color: var(--accent); font-weight: 700; margin-bottom: 6px }
.blog-article-page .callout p { margin: 0 0 6px 0 }
.blog-article-page .callout-warn { background: #FEF3C7; border: 1px solid #FCD34D; border-radius: 8px; padding: 16px 22px; margin: 28px 0; font-family: 'Inter', system-ui, sans-serif; font-size: 14.5px; line-height: 1.6 }
.blog-article-page .callout-warn .label { font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.8px; color: #92400E; font-weight: 700; margin-bottom: 6px }
.blog-article-page .callout-warn p { margin: 0 0 6px 0 }
.blog-article-page .callout-warn p:last-child { margin: 0 }
.blog-article-page .callout.success { border-left-color: var(--local) }
.blog-article-page .callout.success .label { color: var(--local) }
.blog-article-page .chart { margin: 26px 0 12px }
.blog-article-page .chart-figure { overflow-x: auto; margin: 25px 0 }
.blog-article-page .chart-figure svg { width: 100%; height: auto; display: block }
.blog-article-page .chart-note { font-size: .8rem; color: var(--ink-faint); margin: 10px 0 0 188px; line-height: 1.5 }
.blog-article-page .chart-sub { font-weight: 400; color: var(--ink-faint); font-size: .82rem }
.blog-article-page .chart-title { font-weight: 800; color: var(--ink); font-size: .98rem; margin-bottom: 14px }
.blog-article-page .citation-box { background: #fef3c7; border-left: 4px solid #f59e0b; padding: 20px; margin: 25px 0; border-radius: 8px; font-size: 0.95em }
.blog-article-page .code-block { background: #1e293b; color: #e2e8f0; padding: 20px; border-radius: 8px; overflow-x: auto; font-family: 'Courier New', monospace; font-size: 0.9em; line-height: 1.6; margin: 20px 0; box-shadow: 0 4px 15px rgba(0,0,0,0.2) }
.blog-article-page .compare-table { width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 0.92em }
.blog-article-page .compare-table td { border: 1px solid var(--border-color); padding: 12px 15px; text-align: left }
.blog-article-page .compare-table th { border: 1px solid var(--border-color); padding: 12px 15px; text-align: left; background: var(--primary-600); color: white; font-weight: 600 }
.blog-article-page .compare-table tr:nth-child(even) { background: var(--primary-50) }
.blog-article-page .comparison-table { width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 0.95em }
.blog-article-page .comparison-table .local-no { color: #dc2626; font-weight: 700 }
.blog-article-page .comparison-table .local-yes { color: #16a34a; font-weight: 700 }
.blog-article-page .comparison-table td { padding: 12px 14px; border-bottom: 1px solid var(--border-color); vertical-align: top }
.blog-article-page .comparison-table th { background: var(--primary-600); color: white; padding: 12px 14px; text-align: left; font-weight: 600 }
.blog-article-page .comparison-table tr:hover td { background: var(--primary-100) }
.blog-article-page .comparison-table tr:nth-child(even) td { background: var(--primary-50) }
.blog-article-page .decision-arrow { text-align: center; color: #2563eb; font-size: 1.5em; margin: 10px 0 }
.blog-article-page .decision-label { font-weight: 700; font-size: 0.95em; margin-bottom: 8px; text-transform: uppercase; letter-spacing: 0.5px }
.blog-article-page .decision-metrics { font-size: 0.85em; color: #64748b; margin-top: 5px; font-style: italic }
.blog-article-page .decision-node { background: white; border: 2px solid #2563eb; border-radius: 8px; padding: 20px; margin: 20px 0; box-shadow: 0 2px 8px rgba(37, 99, 235, 0.1) }
.blog-article-page .decision-number { background: #2563eb; color: white; width: 32px; height: 32px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; flex-shrink: 0 }
.blog-article-page .decision-option { padding: 15px; border-radius: 6px; border: 2px solid #e5e7eb; transition: all 0.2s }
.blog-article-page .decision-option.neutral { background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%); border-color: #3b82f6 }
.blog-article-page .decision-option.neutral .decision-label { color: #1e40af }
.blog-article-page .decision-option.no { background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%); border-color: #ef4444 }
.blog-article-page .decision-option.no .decision-label { color: #991b1b }
.blog-article-page .decision-option.yes { background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%); border-color: #22c55e }
.blog-article-page .decision-option.yes .decision-label { color: #166534 }
.blog-article-page .decision-options { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-top: 15px }
.blog-article-page .decision-question { font-weight: 700; font-size: 1.1em; color: #1e40af; margin-bottom: 15px; display: flex; align-items: center; gap: 10px }
.blog-article-page .decision-result { font-size: 0.95em; line-height: 1.5 }
.blog-article-page .decision-tree { background: #f8fafc; border: 2px solid var(--border-color); border-radius: 10px; padding: 30px; margin: 25px 0 }
.blog-article-page .evidence-list li { margin: 12px 0; line-height: 1.7 }
.blog-article-page .eyebrow { font-family: 'Inter', system-ui, sans-serif; font-size: 11.5px; font-weight: 600; letter-spacing: 1.2px; text-transform: uppercase; color: var(--muted); margin-bottom: 14px }
.blog-article-page .eyebrow .dot { display: inline-block; width: 6px; height: 6px; background: var(--accent); border-radius: 50%; margin-right: 8px; vertical-align: middle }
.blog-article-page .feature-card { background: var(--primary-50); border-left: 4px solid var(--primary-500); padding: 25px; margin: 20px 0; border-radius: 8px; transition: transform 0.3s ease }
.blog-article-page .feature-card h3 { margin-bottom: 10px; color: var(--primary-600) }
.blog-article-page .feature-card:hover { transform: translateX(10px) }
.blog-article-page .foot-disclaimer { border: 1px solid #2a3050; background: #151a2e; border-radius: 10px; padding: 18px 22px; margin-bottom: 22px; font-size: .84rem; line-height: 1.65; color: #8a93ac }
.blog-article-page .foot-disclaimer strong { color: #c3cbdd }
.blog-article-page .foot-meta { display: flex; flex-wrap: wrap; gap: 10px 28px; justify-content: space-between; border-top: 1px solid #2a3050; padding-top: 20px }
.blog-article-page .foot-meta a { color: #9aa3b8 }
.blog-article-page .foot-meta a:hover { color: #bfdbfe }
.blog-article-page .highlight-box h4 { color: #92400e; margin-top: 0 }
.blog-article-page .highlight-number { font-weight: 700; color: #2563eb; font-size: 1.1em }
.blog-article-page .issue-card { margin: 24px 0; padding: 20px 24px; background: var(--bg-soft); border: 1px solid var(--line); border-left: 4px solid var(--accent); border-radius: 0 8px 8px 0 }
.blog-article-page .issue-card .fix { font-family: 'Inter', system-ui, sans-serif; font-size: 13.5px; color: var(--ink-soft); margin-bottom: 8px; padding: 8px 12px; background: #F0FDF4; border-radius: 4px; border-left: 2px solid #10B981 }
.blog-article-page .issue-card .fix b { color: #065F46 }
.blog-article-page .issue-card .fix code { font-size: 12px }
.blog-article-page .issue-card .issue-num { font-family: 'Inter', system-ui, sans-serif; font-size: 11px; text-transform: uppercase; letter-spacing: 0.8px; color: var(--accent); font-weight: 700; margin-bottom: 4px }
.blog-article-page .issue-card .symptom { font-family: 'Inter', system-ui, sans-serif; font-size: 13px; color: var(--ink-soft); margin-bottom: 12px; padding: 8px 12px; background: #FEF2F2; border-radius: 4px; border-left: 2px solid #EF4444 }
.blog-article-page .issue-card .symptom b { color: #991B1B }
.blog-article-page .issue-card h3 { font-family: 'Inter', system-ui, sans-serif; font-size: 19px; font-weight: 700; margin: 0 0 12px 0; color: var(--ink) }
.blog-article-page .key-highlight { background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%); border-left: 5px solid #2563eb; padding: 35px; margin: 40px 0; border-radius: 12px; box-shadow: 0 4px 15px rgba(37, 99, 235, 0.15) }
.blog-article-page .key-takeaway .kt-title { font-weight: 800; color: var(--primary); margin-bottom: 8px; font-size: .95rem; letter-spacing: .02em; text-transform: uppercase }
.blog-article-page .key-takeaway p { font-size: .95rem; color: var(--ink-soft); margin-bottom: 0; line-height: 1.7 }
.blog-article-page .key-takeaway p + p { margin-top: 8px }
.blog-article-page .loser { background: #fee2e2 !important; color: #991b1b }
.blog-article-page .memory-analysis { background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%); border: 2px solid #cbd5e1; border-radius: 12px; padding: 30px; margin: 25px 0 }
.blog-article-page .memory-calculation { color: #64748b; font-family: 'Courier New', monospace; font-size: 0.9em }
.blog-article-page .memory-format { font-weight: 700; color: #1e40af }
.blog-article-page .memory-section { margin-bottom: 30px }
.blog-article-page .memory-section h5 { color: #1e40af; font-size: 1.15em; margin-bottom: 20px; font-weight: 700; display: flex; align-items: center; gap: 10px }
.blog-article-page .memory-section:last-child { margin-bottom: 0 }
.blog-article-page .memory-size { font-weight: 700; color: #0f172a; font-size: 1.05em }
.blog-article-page .memory-size.large { color: #dc2626 }
.blog-article-page .memory-size.medium { color: #ea580c }
.blog-article-page .memory-size.small { color: #16a34a }
.blog-article-page .memory-table { width: 100%; background: white; border-radius: 8px; overflow: hidden; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) }
.blog-article-page .memory-table table { width: 100%; border-collapse: collapse }
.blog-article-page .memory-table td { padding: 14px 16px; border-bottom: 1px solid #e2e8f0; font-size: 0.95em }
.blog-article-page .memory-table th { background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%); color: white; padding: 12px 16px; text-align: left; font-weight: 600; font-size: 0.9em; text-transform: uppercase; letter-spacing: 0.5px }
.blog-article-page .memory-table tr:hover { background: #eff6ff }
.blog-article-page .memory-table tr:last-child td { border-bottom: none }
.blog-article-page .memory-table tr:nth-child(even) { background: #f8fafc }
.blog-article-page .model-link { color: var(--primary-600); font-weight: 600; text-decoration: none }
.blog-article-page .model-link:hover { text-decoration: underline }
.blog-article-page .no { color: #ef4444; font-weight: 700 }
.blog-article-page .note { border-radius: 8px; padding: 18px 22px; margin: 24px 0; font-size: .93rem; line-height: 1.65; background: var(--wash); border-left: 4px solid var(--primary-bright); color: var(--ink-soft) }
.blog-article-page .note strong { color: var(--ink) }
.blog-article-page .paper-eyebrow { display: flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--accent); margin-bottom: 12px }
.blog-article-page .paper-eyebrow .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); flex: none }
.blog-article-page .paper-footer { margin-top: 72px; padding-top: 28px; border-top: 1px solid var(--line); font-family: 'Inter', system-ui, sans-serif; font-size: 12.5px; color: var(--muted); line-height: 1.6 }
.blog-article-page .paper-footer .license { margin-top: 14px; padding: 12px 16px; background: var(--bg-soft); border: 1px solid var(--line); border-radius: 4px; font-size: 12px }
.blog-article-page .paper-header { background: var(--card); border-radius: 12px; padding: 56px 44px 32px 44px; margin: -34px 0 40px; box-shadow: var(--shadow-lift); position: relative; z-index: 2; border-bottom: 1px solid var(--line); margin-bottom: 36px }
.blog-article-page .paper-header code { background: color-mix(in srgb, var(--wash-deep) 70%, var(--card)); color: var(--primary-deep); padding: 2px 7px; border-radius: 4px; font-size: .87em; font-family: var(--mono) }
.blog-article-page .paper-subtitle { color: var(--ink-soft); font-size: 1.06rem; line-height: 1.65; margin-bottom: 20px }
.blog-article-page .paper-title { font-size: 1.62rem; line-height: 1.25; color: var(--primary); font-weight: 800; margin-bottom: 12px }
.blog-article-page .privacy-box { background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%); border-left: 4px solid #2563eb; padding: 30px; margin: 40px 0; border-radius: 8px }
.blog-article-page .quote { margin: 14px 0; padding: 12px 18px; background: var(--bg); border-left: 3px solid var(--quote-accent); border-radius: 0 6px 6px 0; font-family: 'Inter', system-ui, sans-serif; font-size: 14px; line-height: 1.65 }
.blog-article-page .quote .label { font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.6px; color: var(--quote-accent); font-weight: 700; margin-bottom: 6px }
.blog-article-page .quote blockquote { margin: 0 0 8px 0; font-style: italic; color: var(--ink-soft); border: none; padding: 0 }
.blog-article-page .quote cite { display: block; font-style: normal; font-size: 11.5px; color: var(--muted); margin-top: 4px }
.blog-article-page .quote cite a { color: var(--muted) }
.blog-article-page .reference-list { font-size: 0.9em; line-height: 1.7 }
.blog-article-page .reference-list p { margin-bottom: 1em }
.blog-article-page .site-footer { background: #101322; color: #9aa3b8; padding: 44px 0 36px; font-size: .9rem }
.blog-article-page .site-footer .container { max-width: 940px }
.blog-article-page .skill-card { background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%); border-left: 5px solid #2563eb; padding: 30px; margin: 25px 0; border-radius: 12px; position: relative }
.blog-article-page .skill-card h3 { margin-bottom: 15px; color: #1d4ed8; font-size: 1.5em; margin-left: 40px }
.blog-article-page .skill-card p { margin-left: 40px }
.blog-article-page .skill-card ul { margin-left: 40px }
.blog-article-page .skill-number { position: absolute; left: -15px; top: 20px; background: linear-gradient(135deg, #2563eb, #3b82f6); color: white; width: 45px; height: 45px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.3em; box-shadow: 0 4px 12px rgba(37, 99, 235, 0.4) }
.blog-article-page .sources .src-host { color: var(--ink-faint); font-family: var(--mono); font-size: .78rem }
.blog-article-page .sources li { margin-bottom: 8px; line-height: 1.55 }
.blog-article-page .sources ol { margin: 12px 0 0 26px; font-size: .86rem; color: var(--ink-soft) }
.blog-article-page .spec-box { background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%); border: 1px solid #93c5fd; border-radius: 10px; padding: 25px; margin: 25px 0 }
.blog-article-page .spec-card .desc { font-family: 'Inter', system-ui, sans-serif; font-size: 13.5px; line-height: 1.6; color: var(--ink-soft); margin: 10px 0 }
.blog-article-page .spec-card .product-name { font-family: 'Inter', system-ui, sans-serif; font-size: 18px; font-weight: 700; margin: 0 0 4px 0; color: var(--ink); letter-spacing: -0.2px }
.blog-article-page .spec-card .vendor-tag { font-family: 'Inter', system-ui, sans-serif; font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.6px; color: var(--muted); font-weight: 700; margin-bottom: 6px }
.blog-article-page .spec-card .vendor-tag.amd { color: var(--amd) }
.blog-article-page .spec-card .vendor-tag.apple { color: var(--apple) }
.blog-article-page .spec-card .vendor-tag.biren { color: var(--biren) }
.blog-article-page .spec-card .vendor-tag.google { color: var(--google) }
.blog-article-page .spec-card .vendor-tag.huawei { color: var(--huawei) }
.blog-article-page .spec-card .vendor-tag.iluvatar { color: var(--iluvatar) }
.blog-article-page .spec-card .vendor-tag.intel { color: var(--intel) }
.blog-article-page .spec-card .vendor-tag.metax { color: var(--metax) }
.blog-article-page .spec-card .vendor-tag.moore { color: var(--moore) }
.blog-article-page .spec-card .vendor-tag.nvidia { color: var(--nvidia) }
.blog-article-page .spec-card .verif { font-family: 'Inter', system-ui, sans-serif; font-size: 11.5px; color: var(--muted); margin-top: 8px; padding-top: 8px; border-top: 1px dotted var(--line); line-height: 1.5 }
.blog-article-page .spec-card .verif b { color: var(--ink-soft); font-weight: 600 }
.blog-article-page .spec-card.amd { border-left-color: var(--amd) }
.blog-article-page .spec-card.apple { border-left-color: var(--apple) }
.blog-article-page .spec-card.biren { border-left-color: var(--biren) }
.blog-article-page .spec-card.google { border-left-color: var(--google) }
.blog-article-page .spec-card.huawei { border-left-color: var(--huawei) }
.blog-article-page .spec-card.iluvatar { border-left-color: var(--iluvatar) }
.blog-article-page .spec-card.intel { border-left-color: var(--intel) }
.blog-article-page .spec-card.metax { border-left-color: var(--metax) }
.blog-article-page .spec-card.moore { border-left-color: var(--moore) }
.blog-article-page .spec-card.nvidia { border-left-color: var(--nvidia) }
.blog-article-page .spec-grid .k { color: var(--muted); font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.5px; font-weight: 600 }
.blog-article-page .spec-grid .row { display: flex; flex-direction: column }
.blog-article-page .spec-grid .v { font-weight: 700; font-variant-numeric: tabular-nums; margin-top: 1px; color: var(--ink) }
.blog-article-page .stat-card { background: linear-gradient(160deg, var(--wash) 0%, var(--card) 70%); border: 1px solid var(--line); border-radius: 10px; padding: 18px 20px }
.blog-article-page .stat-item { text-align: center; padding: 20px; background: var(--primary-50); border-radius: 10px }
.blog-article-page .stat-value { font-size: 1.9rem; font-weight: 800; color: var(--primary); line-height: 1.1; letter-spacing: -.01em }
.blog-article-page .stat-value small { font-size: 1.05rem; font-weight: 700 }
.blog-article-page .stealth-history-table { width: 100%; margin: 25px 0; border-collapse: collapse; font-size: 0.9em }
.blog-article-page .stealth-history-table td { padding: 10px 12px; border-bottom: 1px solid var(--border-color) }
.blog-article-page .stealth-history-table th { background: #1d4ed8; color: white; padding: 10px 12px; text-align: left }
.blog-article-page .step-card { background: linear-gradient(135deg, #eff6ff 0%, #eff6ff 100%); border-left: 5px solid #2563eb; padding: 30px; margin: 25px 0; border-radius: 12px; position: relative }
.blog-article-page .step-card h3 { margin-bottom: 15px; color: #1d4ed8; font-size: 1.5em; margin-left: 40px }
.blog-article-page .step-card p { margin-left: 40px }
.blog-article-page .step-card ul { margin-left: 40px }
.blog-article-page .step-number { position: absolute; left: -15px; top: 20px; background: linear-gradient(135deg, #2563eb, #3b82f6); color: white; width: 45px; height: 45px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.3em; box-shadow: 0 4px 12px rgba(37, 99, 235, 0.4) }
.blog-article-page .subtitle { font-family: 'Inter', system-ui, sans-serif; font-size: 19px; line-height: 1.45; color: var(--ink-soft); font-weight: 400; margin: 0 0 28px 0 }
.blog-article-page .table-scroll { overflow-x: auto; margin: 25px 0 }
.blog-article-page .table-wrap { margin: 24px 0; overflow-x: auto; border: 1px solid var(--line); border-radius: 6px }
.blog-article-page .takeaway p { margin: 0 0 6px 0 }
.blog-article-page .takeaway p:last-child { margin: 0 }
.blog-article-page .tbl-wrap { overflow-x: auto; margin: 22px 0; border-radius: 8px; border: 1px solid var(--line) }
.blog-article-page .tier-entry { margin: 32px 0; padding: 22px 26px; background: var(--bg-soft); border: 1px solid var(--line); border-left: 4px solid var(--accent); border-radius: 0 8px 8px 0 }
.blog-article-page .tier-entry .meta { font-family: 'Inter', system-ui, sans-serif; font-size: 12.5px; color: var(--muted); margin-bottom: 16px; line-height: 1.5 }
.blog-article-page .tier-entry .meta b { color: var(--ink-soft); font-weight: 600 }
.blog-article-page .tier-entry .tier-tag { font-family: 'Inter', system-ui, sans-serif; font-size: 11px; text-transform: uppercase; letter-spacing: 0.8px; color: var(--accent); font-weight: 700; margin-bottom: 4px }
.blog-article-page .tier-entry b { color: var(--ink); font-weight: 600 }
.blog-article-page .tier-entry h3 { font-family: 'Inter', system-ui, sans-serif; font-size: 22px; font-weight: 700; margin: 0 0 4px 0; color: var(--ink); letter-spacing: -0.2px }
.blog-article-page .tier-entry p { margin: 0 0 14px 0 }
.blog-article-page .tier-entry p:last-child { margin-bottom: 0 }
.blog-article-page .tier-entry strong { color: var(--ink); font-weight: 600 }
.blog-article-page .tl-body { font-size: .93rem; color: var(--ink-soft); line-height: 1.6; margin-top: 3px }
.blog-article-page .tl-body strong { color: var(--ink) }
.blog-article-page .tl-date { font-family: var(--mono); font-size: .78rem; color: var(--primary-bright); font-weight: 700; text-transform: uppercase; letter-spacing: .04em }
.blog-article-page .tl-item { position: relative; margin-bottom: 20px }
.blog-article-page .tl-item.crit::before { background: #d97706 }
.blog-article-page .tl-item::before { content: ""; position: absolute; left: -32.5px; top: 5px; width: 11px; height: 11px; border-radius: 50%; background: var(--primary-bright); border: 2.5px solid var(--card) }
.blog-article-page .toc li { counter-increment: toc; margin-bottom: 9px; break-inside: avoid }
.blog-article-page .toc li::before { content: counter(toc) "."; color: var(--primary-bright); font-weight: 700; font-family: var(--mono); font-size: .9em; margin-right: 9px }
.blog-article-page .toc ol > li { counter-increment: toc; padding: 4px 0; display: flex; align-items: baseline }
.blog-article-page .toc ol > li::before { content: counter(toc) "."; color: var(--muted); font-weight: 600; width: 32px; flex-shrink: 0 }
.blog-article-page .verification { margin: 14px 0; padding: 12px 16px; background: var(--bg); border: 1px solid var(--line); border-radius: 6px; font-family: 'Inter', system-ui, sans-serif; font-size: 13px }
.blog-article-page .verification .label { font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.6px; color: var(--accent); font-weight: 700; margin-bottom: 6px }
.blog-article-page .verification .source { padding: 3px 0; color: var(--ink-soft); line-height: 1.5 }
.blog-article-page .verification .source .src-name { font-weight: 600; color: var(--ink) }
.blog-article-page .warn-box { border-radius: 8px; padding: 18px 22px; margin: 24px 0; font-size: .93rem; line-height: 1.65; background: color-mix(in srgb, #fef3c7 65%, var(--card)); border-left: 4px solid #d97706; color: var(--ink-soft) }
.blog-article-page .warn-box strong { color: var(--ink) }
.blog-article-page .winner { background: #dcfce7 !important; font-weight: 700; color: #166534 }
.blog-article-page .yes { color: #10b981; font-weight: 700 }
.blog-article-page blockquote .q-attrib { display: block; font-size: .84rem; color: var(--ink-faint); margin-top: 8px }
.blog-article-page figure.wide img { width: 100% }
.blog-article-page h1.title { font-family: 'Inter', system-ui, sans-serif; font-size: 36px; line-height: 1.15; font-weight: 700; letter-spacing: -0.7px; margin: 0 0 16px 0; color: var(--ink) }
.blog-article-page h2.section { font-size: 26px; color: var(--ink); margin-bottom: 18px; padding-bottom: 12px; border-bottom: 1px solid var(--line); line-height: 1.3; font-family: 'Inter', system-ui, sans-serif; font-weight: 700; letter-spacing: -0.4px; margin: 0 0 6px 0; display: flex; align-items: center; gap: 14px }
.blog-article-page h2.section .emoji { font-size: 24px }
.blog-article-page h2.section .num { color: var(--accent); font-family: var(--mono); font-size: 24px; margin-right: 10px; font-weight: 600; font-variant-numeric: tabular-nums }
.blog-article-page h3.subsection { font-family: 'Inter', system-ui, sans-serif; font-size: 19px; font-weight: 700; margin: 32px 0 12px 0; color: var(--ink); letter-spacing: -0.1px }
.blog-article-page p.lede { font-family: 'Inter', system-ui, sans-serif; font-size: 18.5px; line-height: 1.55; color: var(--ink-soft); font-weight: 400; margin: 18px 0 24px 0 }
.blog-article-page pre .cm { color: #7e93b4 }
.blog-article-page pre .kw { color: #93c5fd }
.blog-article-page pre .nm { color: #fbbf24 }
.blog-article-page pre .st { color: #c3e88d }
.blog-article-page table.data { width: 100%; border-collapse: collapse; font-family: 'Inter', system-ui, sans-serif; font-size: 12.5px; background: var(--bg) }
.blog-article-page table.data .num { font-variant-numeric: tabular-nums }
.blog-article-page table.data .score { display: inline-block; padding: 2px 8px; border-radius: 3px; font-weight: 700; font-size: 11px; min-width: 30px; text-align: center }
.blog-article-page table.data .score.a { background: #DBEAFE; color: #1E40AF }
.blog-article-page table.data .score.b { background: #FEF3C7; color: #92400E }
.blog-article-page table.data .score.c { background: #FEE2E2; color: #991B1B }
.blog-article-page table.data .score.s { background: #DCFCE7; color: #166534 }
.blog-article-page table.data caption { caption-side: bottom; text-align: left; padding: 8px 10px; font-size: 11px; color: var(--muted); font-style: italic }
.blog-article-page table.data td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--line); vertical-align: top; line-height: 1.5 }
.blog-article-page table.data td b { color: var(--ink) }
.blog-article-page table.data td.term { font-weight: 600; color: var(--ink); background: var(--bg-soft); width: 22% }
.blog-article-page table.data th { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--line); vertical-align: top; line-height: 1.5; background: var(--bg-soft); color: var(--muted); font-weight: 600; font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px }
.blog-article-page table.data tr:last-child td { border-bottom: none }
.blog-article-page table.tbl { width: 100%; border-collapse: collapse; font-size: .88rem; background: var(--card) }
.blog-article-page table.tbl caption { caption-side: bottom; text-align: left; font-size: .8rem; color: var(--ink-faint); padding: 10px 14px; line-height: 1.5 }
.blog-article-page table.tbl td { padding: 10px 13px; border: 1px solid var(--line); vertical-align: top; line-height: 1.55 }
.blog-article-page table.tbl th { background: var(--primary); color: #fff; padding: 11px 13px; text-align: left; font-weight: 600; border: 1px solid var(--primary); font-size: .87rem }
.blog-article-page table.tbl tr:hover td { background: var(--wash) }
.blog-article-page table.tbl tr:nth-child(even) td { background: color-mix(in srgb, var(--wash) 55%, var(--card)) }
.blog-article-page td .chip { display: inline-block; font-family: var(--mono); font-size: .76rem; background: var(--wash-deep); color: var(--primary-deep); border-radius: 5px; padding: 1px 7px }
.blog-article-page td.dim { color: var(--ink-faint); font-weight: 600; white-space: nowrap }
.blog-article-page td.hero-col { background: var(--wash) !important; font-weight: 700; color: var(--primary) }
.blog-article-page th.dim { color: var(--ink-faint); font-weight: 600; white-space: nowrap }
html[data-theme='dark'] .blog-article-page .article-content .faq .faq-body { color: #e2e8f0 }
html[data-theme='dark'] .blog-article-page .article-content .faq summary { color: #93c5fd }
html[data-theme='dark'] .blog-article-page .article-content figure figcaption { color: #9ca3af }
html[data-theme='dark'] .blog-article-page .article-content table tr:nth-child(odd) td { background: #0f172a !important; color: #e0e0e0 !important }
html[data-theme='dark'] .blog-article-page .article-section a { color: var(--primary-400) !important }
html[data-theme='dark'] .blog-article-page .article-section a:hover { color: var(--primary-300) !important }
html[data-theme='dark'] .blog-article-page .article-section blockquote { background: rgba(37, 99, 235, 0.1) !important; border-left-color: #60a5fa !important; color: #e2e8f0 !important }
html[data-theme='dark'] .blog-article-page .article-section code { color: #a5c8ff; background: #2a2a40 }
html[data-theme='dark'] .blog-article-page .article-section div { color: var(--text-primary) !important }
html[data-theme='dark'] .blog-article-page .article-section h2 { color: var(--primary-400) !important }
html[data-theme='dark'] .blog-article-page .article-section h3 { color: var(--primary-400) !important }
html[data-theme='dark'] .blog-article-page .article-section h4 { color: var(--primary-400) !important }
html[data-theme='dark'] .blog-article-page .article-section li { color: var(--text-primary) !important }
html[data-theme='dark'] .blog-article-page .article-section p { color: var(--text-primary) !important }
html[data-theme='dark'] .blog-article-page .article-section span { color: var(--text-primary) !important }
html[data-theme='dark'] .blog-article-page .article-section table td { background: var(--card-background) !important; color: var(--text-primary) !important; border-color: var(--border-color) !important }
html[data-theme='dark'] .blog-article-page .article-section table tr:hover td { background: rgba(37, 99, 235, 0.1) !important }
html[data-theme='dark'] .blog-article-page .article-section table tr:nth-child(even) td { background: var(--background-secondary) !important }
html[data-theme='dark'] .blog-article-page .benchmark-table tbody tr:hover { background: var(--background-secondary) !important }
html[data-theme='dark'] .blog-article-page .benchmark-table td { border-color: var(--border-color) !important; color: var(--text-primary) !important; background: var(--card-background) !important }
html[data-theme='dark'] .blog-article-page .benchmark-table th { background: var(--primary-700) !important; color: white !important }
html[data-theme='dark'] .blog-article-page .benchmark-table tr:hover td { background: rgba(37, 99, 235, 0.1) !important }
html[data-theme='dark'] .blog-article-page .benchmark-table tr:nth-child(even) td { background: var(--background-secondary) !important }
html[data-theme='dark'] .blog-article-page .comparison-card h4 { color: #93c5fd }
html[data-theme='dark'] .blog-article-page .comparison-card li { color: #e2e8f0 }
html[data-theme='dark'] .blog-article-page .comparison-card p { color: #e2e8f0 }
html[data-theme='dark'] .blog-article-page .comparison-table td { border-color: var(--border-color) !important; color: var(--text-primary) !important; background: var(--card-background) !important }
html[data-theme='dark'] .blog-article-page .comparison-table th { background: var(--primary-700) !important; color: white !important }
html[data-theme='dark'] .blog-article-page .comparison-table tr:hover td { background: rgba(37, 99, 235, 0.1) !important }
html[data-theme='dark'] .blog-article-page .comparison-table tr:nth-child(even) td { background: var(--background-secondary) !important }
html[data-theme='dark'] .blog-article-page .evidence-list li { color: var(--text-primary) !important; border-bottom-color: var(--border-color) !important }
html[data-theme='dark'] .blog-article-page .highlight-box h4 { color: #fbbf24 }
html[data-theme='dark'] .blog-article-page .highlight-box p { color: #e2e8f0 }
html[data-theme='dark'] .blog-article-page .key-takeaway div { color: var(--text-primary) !important }
html[data-theme='dark'] .blog-article-page .key-takeaway li { color: var(--text-primary) !important }
html[data-theme='dark'] .blog-article-page .key-takeaway p { color: var(--text-primary) !important }
html[data-theme='dark'] .blog-article-page .key-takeaway span { color: var(--text-primary) !important }
html[data-theme='dark'] .blog-article-page .paper-header code { color: #a5c8ff; background: #2a2a40 }
html[data-theme='dark'] .blog-article-page .reference-list { color: #e2e8f0 }
html[data-theme='dark'] .blog-article-page .reference-list a { color: #60a5fa }
html[data-theme='dark'] .blog-article-page .reference-list p { color: #e2e8f0 }
html[data-theme='dark'] .blog-article-page .spec-box { background: linear-gradient(135deg, #1e293b 0%, #334155 100%); border-color: #475569 }
html[data-theme='dark'] .blog-article-page .spec-box p { color: #9ca3af }
html[data-theme='dark'] .blog-article-page .stealth-history-table td { border-color: var(--border-color) !important; color: var(--text-primary) !important; background: var(--card-background) !important }
html[data-theme='dark'] .blog-article-page .stealth-history-table th { background: var(--primary-700) !important; color: white !important }
html[data-theme='dark'] .blog-article-page .stealth-history-table tr:hover td { background: rgba(37, 99, 235, 0.1) !important }
html[data-theme='dark'] .blog-article-page .stealth-history-table tr:nth-child(even) td { background: var(--background-secondary) !important }
html[data-theme='dark'] .blog-article-page .technical-note h4 { color: #60a5fa !important }
html[data-theme='dark'] .blog-article-page .technical-note p { color: var(--text-primary) !important }
html[data-theme='dark'] .blog-article-page .warn-box { background: #2b2416 }
html[data-theme='dark'] .blog-article-page .warning-box h4 { color: #fbbf24 !important }
html[data-theme='dark'] .blog-article-page .warning-box p { color: var(--text-primary) !important }
html[data-theme='dark'] .blog-article-page .warning-box strong { color: var(--text-primary) !important }
html[data-theme='dark'] .blog-article-page table.tbl th { background: #1e3a8a; color: #e2e8f0; border-color: var(--line) }
html[data-theme='dark'] .blog-article-page td .chip { background: #2d2d4a; color: #b0c7f5 }
html[data-theme='dark'] .blog-article-page td.hero-col { color: #a5c8ff; background: #252540 !important }

@media (max-width: 560px) {
  .blog-article-page .bar-row { grid-template-columns: 104px 1fr 44px }
}

@media (max-width: 640px) {
  .blog-article-page .byline { flex-direction: column; gap: 6px }
  .blog-article-page .tier-entry h3 { font-size: 19px }
  .blog-article-page h1.title { font-size: 28px }
  .blog-article-page h2.section { font-size: 22px }
  .blog-article-page h3.subsection { font-size: 18px }
  .blog-article-page table.data { font-size: 11.5px }
}

@media (max-width: 768px) {
  .blog-article-page .arch-grid { grid-template-columns: 1fr }
  .blog-article-page .btn-secondary { margin-left: 0; margin-top: 10px }
  .blog-article-page .comparison-table { font-size: 0.82em }
  .blog-article-page .comparison-table td { padding: 8px 6px }
  .blog-article-page .comparison-table th { padding: 8px 6px }
  .blog-article-page .decision-options { grid-template-columns: 1fr }
  .blog-article-page .memory-table { font-size: 0.85em }
  .blog-article-page .memory-table td { padding: 10px 12px }
  .blog-article-page .memory-table th { padding: 10px 12px }
  .blog-article-page .skill-card { padding: 25px 20px }
  .blog-article-page .skill-card h3 { margin-left: 30px }
  .blog-article-page .skill-card p { margin-left: 30px }
  .blog-article-page .skill-card ul { margin-left: 30px }
  .blog-article-page .skill-number { left: -10px; width: 35px; height: 35px; font-size: 1.1em }
  .blog-article-page .step-card { padding: 25px 20px }
  .blog-article-page .step-card h3 { margin-left: 30px }
  .blog-article-page .step-card p { margin-left: 30px }
  .blog-article-page .step-card ul { margin-left: 30px }
  .blog-article-page .step-number { left: -10px; width: 35px; height: 35px; font-size: 1.1em }
}

@media (max-width: 860px) {
  .blog-article-page .bar-row { grid-template-columns: 120px 1fr 48px; gap: 8px }
  .blog-article-page .byline { grid-template-columns: repeat(2, 1fr) }
  .blog-article-page .chart-note { margin-left: 128px }
  .blog-article-page .paper-header { padding: 26px 22px }
}

@media print {
  .blog-article-page .paper-header { margin-top: 12px; box-shadow: none; border: 1px solid #ddd }
  .blog-article-page .site-footer { display: none }
}
/* === END GENERATED SUPPLEMENT: classic === */
