body { font-family: "Plus Jakarta Sans", "Segoe UI", sans-serif; }
body:has(main.learning-page) {
    background-color: #020617;
}
.learning-page {
    background: transparent;
}
body > header.sticky-nav + main.learning-page,
body > header#global-header + main.learning-page { padding-top:0 !important; }
.learning-page .container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.hero { padding: calc(var(--site-header-height, 96px) + 24px) 0 48px; background: linear-gradient(135deg,#0f172a 0%,#131c34 100%); color:#fff; border-bottom:1px solid #1f2937; }
.eyebrow { letter-spacing:0.08em; text-transform:uppercase; font-weight:700; font-size:12px; margin:0 0 8px; color:#cbd5e1; }
.hero h1 { margin:0 0 12px; font-size:34px; font-weight:800; line-height:1.15; overflow-wrap:break-word; word-wrap:break-word; }
.hero .lede { margin:0; max-width:min(780px,100%); color:#e5e7eb; line-height:1.6; overflow-wrap:break-word; }
.hero-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap:20px; align-items:start; }
.hero-copy { display:flex; flex-direction:column; min-width:0; height:100%; padding:16px; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.08); border-radius:14px; box-shadow:0 16px 36px rgba(0,0,0,0.24); box-sizing:border-box; }
.hero-steps { display:grid; gap:12px; grid-auto-rows:1fr; min-width:0; }
.step-card { display:flex; gap:12px; align-items:flex-start; min-height:100%; padding:14px 16px; border-radius:14px; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.12); box-shadow:0 12px 28px rgba(0,0,0,0.18); box-sizing:border-box; }
.step-number { width:42px; height:42px; border-radius:12px; background:rgba(249,115,22,0.14); color:#fbbf24; font-weight:800; display:flex; align-items:center; justify-content:center; }
.step-card h3 { margin:0 0 4px; font-size:16px; color:#fff; }
.step-card p { margin:0; color:#cbd5e1; font-size:14px; line-height:1.5; }
.hero-actions { display:flex; flex-wrap:wrap; gap:10px; margin:14px 0 6px; }
.btn-solid, .btn-ghost { display:inline-flex; align-items:center; gap:8px; padding:12px 16px; border-radius:10px; font-weight:700; text-decoration:none; font-size:14px; }
.btn-solid { background:#f97316; color:#fff; border:1px solid #f97316; box-shadow:0 10px 24px rgba(249,115,22,0.25); }
.btn-ghost { background:rgba(255,255,255,0.06); color:#e2e8f0; border:1px solid rgba(255,255,255,0.2); }

.track-intro { padding:28px 0 8px; }
.track-intro-shell { background:#0f0f1a; border:1px solid rgba(255,255,255,0.08); border-radius:18px; padding:24px; box-shadow:0 14px 34px rgba(0,0,0,0.40); }
.track-intro-header, .section-header { max-width:820px; }
.track-intro-header h2 { margin:0 0 8px; font-size:26px; font-weight:800; color:#e6e6f0; overflow-wrap:break-word; }
.track-intro-header p { margin:0; color:#9090b0; font-size:15px; line-height:1.7; max-width:min(900px,100%); overflow-wrap:break-word; }
.track-intro-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap:14px; margin-top:18px; }
.track-intro-card { display:flex; flex-direction:column; min-width:0; height:100%; background:linear-gradient(180deg, #0f0f1a 0%, #0c0c18 100%); border:1px solid rgba(255,255,255,0.08); border-radius:14px; padding:16px 18px; box-shadow:0 8px 22px rgba(0,0,0,0.40); box-sizing:border-box; }
.track-intro-card h3 { margin:0 0 10px; font-size:16px; font-weight:800; color:#e6e6f0; }
.track-intro-card ul { margin:0; padding-left:18px; color:#9090b0; font-size:14px; line-height:1.6; }
.hero-signal-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap:14px; margin-top:22px; }
.hero-signal-card { display:flex; flex-direction:column; min-width:0; height:100%; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.12); border-radius:16px; padding:16px; box-shadow:0 10px 24px rgba(0,0,0,0.16); box-sizing:border-box; }
.signal-head { display:flex; align-items:center; gap:12px; }
.signal-icon { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:14px; background:linear-gradient(180deg, rgba(249,115,22,0.18), rgba(56,189,248,0.12)); border:1px solid rgba(255,255,255,0.12); color:#fde68a; }
.signal-icon svg { width:20px; height:20px; }
.hero-signal-card h3 { margin:0; font-size:16px; color:#fff; }
.hero-signal-card p { margin:10px 0 0; color:#cbd5e1; font-size:14px; line-height:1.65; }

.table-section { padding:40px 0; }
.section-header h2 { margin:0 0 6px; font-size:24px; font-weight:800; color:#e6e6f0; }
.section-header p { margin:0 0 14px; color:#9090b0; font-size:15px; }
.table-wrap { background:#0f0f1a; border:1px solid rgba(255,255,255,0.08); border-radius:12px; overflow:hidden; box-shadow:0 12px 30px rgba(0,0,0,0.40); }
.data-table { width:100%; border-collapse:collapse; font-size:14px; color:#e6e6f0; }
.data-table thead { background:rgba(255,255,255,0.06); }
.data-table th, .data-table td { padding:12px 14px; border-bottom:1px solid rgba(255,255,255,0.07); vertical-align:top; }
.data-table th { text-align:left; font-weight:700; color:#ffffff; }
.data-table tr:last-child td { border-bottom:none; }
.data-table tbody tr:nth-child(odd) { background:rgba(255,255,255,0.03); }
.data-table tbody tr:nth-child(even) { background:rgba(255,255,255,0.01); }
.data-table td:first-child { font-weight:700; width:22%; }
.data-table td:last-child { width:32%; }
.table-wrap { overflow-x:auto; }

.scenarios-section { padding:32px 0; }
.scenarios-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(240px,1fr)); gap:12px; }
.scenario-card { display:flex; flex-direction:column; min-width:0; height:100%; background:#0f0f1a; border:1px solid rgba(255,255,255,0.08); border-radius:12px; padding:14px 16px; box-shadow:0 8px 20px rgba(0,0,0,0.40); box-sizing:border-box; }
.scenario-card h3 { margin:0 0 6px; font-size:16px; font-weight:800; color:#e6e6f0; }
.scenario-card p { margin:0 0 8px; color:#9090b0; font-size:14px; line-height:1.5; }
.scenario-card .action { font-weight:700; color:#60a5fa; }

.runbook-section { padding:32px 0; }
.runbook-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap:10px; }
.runbook-card { display:flex; flex-direction:column; min-width:0; height:100%; background:#0f172a; color:#e5e7eb; border-radius:12px; padding:14px 16px; border:1px solid #1f2937; box-shadow:0 10px 24px rgba(15,23,42,0.12); box-sizing:border-box; }
.runbook-card p { margin:4px 0 0; color:#cbd5e1; font-size:14px; line-height:1.5; }

.journey-section { padding:40px 0; }
.journey-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap:12px; }
.journey-card { display:flex; flex-direction:column; min-width:0; height:100%; background:#0f0f1a; border:1px solid rgba(255,255,255,0.08); border-radius:12px; padding:14px 16px; box-shadow:0 10px 24px rgba(0,0,0,0.40); box-sizing:border-box; }
.journey-card h4 { margin:6px 0 6px; font-size:16px; font-weight:800; color:#e6e6f0; }
.journey-card p { margin:0 0 6px; color:#9090b0; font-size:14px; line-height:1.5; }
.journey-proof { font-weight:700; color:#60a5fa; }
.pill { display:inline-block; padding:6px 10px; background:rgba(99,102,241,0.15); color:#a5b4fc; border-radius:999px; font-weight:700; font-size:12px; }

.qa-section { padding:36px 0; }
.qa-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(240px,1fr)); gap:12px; }
.qa-card { display:flex; flex-direction:column; min-width:0; height:100%; background:#0f0f1a; border:1px solid rgba(255,255,255,0.08); border-radius:12px; padding:14px 16px; box-shadow:0 8px 20px rgba(0,0,0,0.40); box-sizing:border-box; }
.qa-card h3 { margin:0 0 8px; font-size:15px; font-weight:800; color:#e6e6f0; }
.qa-card p { margin:0 0 8px; color:#9090b0; font-size:14px; line-height:1.5; }
.qa-card .try-it { font-weight:700; color:#60a5fa; }

.references-section { padding:24px 0 40px; }
.ref-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(190px,1fr)); gap:10px; }
.ref-card { display:flex; align-items:center; min-width:0; height:100%; background:#0f172a; color:#e5e7eb; padding:12px 14px; border-radius:10px; border:1px solid #1f2937; text-decoration:none; font-weight:700; box-shadow:0 8px 20px rgba(15,23,42,0.12); box-sizing:border-box; }
.ref-card:hover { color:#fff; }
.ask-row { margin-top:12px; padding:10px 12px; border:1px dashed rgba(255,255,255,0.15); border-radius:10px; color:#9090b0; background:rgba(255,255,255,0.04); font-size:14px; }

.kid-friendly { padding:32px 0 12px; }
.kid-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap:12px; }
.kid-card { display:flex; flex-direction:column; min-width:0; height:100%; background:#0f0f1a; border:1px solid rgba(255,255,255,0.08); border-radius:12px; padding:14px 16px; box-shadow:0 8px 20px rgba(0,0,0,0.40); box-sizing:border-box; }
.kid-card h3 { margin:0 0 6px; font-size:15px; font-weight:800; color:#e6e6f0; }
.kid-card p { margin:0 0 8px; color:#9090b0; font-size:14px; line-height:1.5; }

.how-to { display:grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap:14px; margin-top:18px; }
.how-to h3 { margin:0 0 6px; font-size:16px; font-weight:800; color:#e6e6f0; }
.how-to ul, .how-to ol { margin:0; padding-left:18px; color:#9090b0; line-height:1.45; font-size:14px; }

.details-section { padding:36px 0 48px; }
.detail-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(260px,1fr)); gap:14px; }
.detail-card { display:flex; flex-direction:column; min-width:0; height:100%; background:#0f0f1a; border:1px solid rgba(255,255,255,0.08); border-radius:12px; padding:14px 16px; box-shadow:0 10px 24px rgba(0,0,0,0.40); box-sizing:border-box; }
.detail-card h3 { margin:0 0 6px; font-size:16px; font-weight:800; color:#e6e6f0; overflow-wrap:break-word; }
.detail-card p { margin:0 0 8px; color:#9090b0; font-size:14px; line-height:1.5; overflow-wrap:break-word; }
.detail-card .detail-list { margin:0; padding-left:1.25rem; color:#9090b0; font-size:14px; line-height:1.65; }
.detail-card .detail-list li { margin:0 0 0.4rem; }
.detail-card .detail-list li:last-child { margin-bottom:0; }
.detail-card .detail-list code { font-size:0.9em; }
.text-link { display:inline-block; margin-top:6px; color:#60a5fa; font-weight:700; text-decoration:none; }
.text-link:hover { text-decoration:underline; }
.roadmap-section { padding:36px 0 60px; }
.roadmap-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap:12px; }
.roadmap-card { display:flex; flex-direction:column; min-width:0; height:100%; background:#0f172a; color:#e5e7eb; border-radius:12px; padding:14px 16px; border:1px solid #1f2937; box-shadow:0 10px 24px rgba(15,23,42,0.12); box-sizing:border-box; }
.roadmap-card h4 { margin:0 0 8px; font-size:16px; font-weight:800; color:#e5e7eb; }
.roadmap-card ul { margin:0; padding-left:16px; line-height:1.5; }
.roadmap-card__output { margin-top:auto; }

/* Minimum 16px body text */
.step-card p,
.track-intro-card ul, .track-intro-card li,
.track-intro-header p,
.hero-signal-card p,
.section-header p,
.scenario-card p,
.runbook-card p,
.journey-card p,
.qa-card p, .qa-card h3,
.kid-card p, .kid-card h3,
.how-to ul, .how-to ol,
.detail-card p,
.detail-card .detail-list,
.ask-row,
.btn-solid, .btn-ghost { font-size: 1rem; }

@media (max-width: 900px) {
  .hero h1 { font-size:28px; }
}

@media (max-width: 768px) {
  .hero { padding:calc(var(--site-header-height, 72px) + 18px) 0 24px; }
  .hero h1 { font-size:24px; }
  .hero-actions > * { width:100%; justify-content:center; }
  .track-intro { padding:20px 0 4px; }
  .track-intro-shell { padding:18px; border-radius:16px; }
  .track-intro-header h2 { font-size:22px; }
  .hero-signal-grid { margin-top:18px; }
  .data-table, .data-table thead, .data-table tbody, .data-table th, .data-table tr, .data-table td { display:block; width:100%; }
  .data-table thead { display:none; }
  .data-table tr { margin:0 0 12px; background:#0f0f1a; border:1px solid rgba(255,255,255,0.08); border-radius:10px; overflow:hidden; }
  .data-table td { border-bottom:1px solid rgba(255,255,255,0.07); padding:10px 12px; }
  .data-table td:last-child { border-bottom:none; }
  .data-table td::before { content: attr(data-label); display:block; font-weight:700; color:#9090b0; margin-bottom:4px; }
}

/* ── Code blocks ──────────────────────────────────────────────── */
.code-block {
  background: #080812;
  border: 1px solid rgba(255,255,255,0.09);
  border-radius: 12px;
  overflow: hidden;
  margin: 1.1rem 0;
}
.code-block-hd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 7px 14px;
  background: rgba(255,255,255,0.05);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.code-lang {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #60a5fa;
}
.code-caption {
  font-size: 12px;
  color: #5c607a;
}
.code-block pre {
  margin: 0;
  padding: 16px;
  overflow-x: auto;
  color: #cdd6f4;
  font-size: 13px;
  line-height: 1.7;
  font-family: 'JetBrains Mono','Fira Code','Cascadia Code',ui-monospace,monospace;
  tab-size: 2;
}
.code-block code { font-family: inherit; }
.cm  { color: #6272a4; font-style: italic; }   /* comment */
.ck  { color: #ff79c6; }                         /* keyword / XML tag */
.cs  { color: #f1fa8c; }                         /* string value */
.cn  { color: #bd93f9; }                         /* number */
.ca  { color: #50fa7b; }                         /* attribute / key */
.cx  { color: #8be9fd; }                         /* important field */

/* ── Callout boxes ────────────────────────────────────────────── */
.callout {
  display: flex;
  gap: 10px;
  background: rgba(96,165,250,0.07);
  border: 1px solid rgba(96,165,250,0.18);
  border-radius: 10px;
  padding: 12px 14px;
  margin: 1rem 0;
  color: #bfdbfe;
  font-size: 14px;
  line-height: 1.65;
}
.callout.warn  { background:rgba(251,191,36,0.07); border-color:rgba(251,191,36,0.22); color:#fde68a; }
.callout.danger{ background:rgba(239,68,68,0.07);  border-color:rgba(239,68,68,0.22);  color:#fca5a5; }
.callout.ok    { background:rgba(52,211,153,0.07); border-color:rgba(52,211,153,0.2);  color:#6ee7b7; }

/* ── Annotation list (field → meaning) ───────────────────────── */
.anno-list { list-style:none; margin:0; padding:0; display:grid; gap:6px; }
.anno-list li {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 12px;
  padding: 9px 12px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 8px;
  font-size: 13.5px;
  color: #9090b0;
  line-height: 1.5;
}
.anno-list li strong { color: #8be9fd; font-family: monospace; font-size: 13px; }
@media (max-width:600px) { .anno-list li { grid-template-columns:1fr; } }

/* ── Full-width section with heading ─────────────────────────── */
.full-section { padding: 30px 0; }
.full-section .section-header { margin-bottom: 16px; }

/* ── Two-column code + annotation layout ─────────────────────── */
.split-example {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 14px;
}
@media (max-width:860px) { .split-example { grid-template-columns:1fr; } }

/* ── Badge chips ──────────────────────────────────────────────── */
.badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 5px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.badge-red    { background:rgba(239,68,68,0.15);  color:#fca5a5; }
.badge-yellow { background:rgba(251,191,36,0.15); color:#fde68a; }
.badge-green  { background:rgba(52,211,153,0.15); color:#6ee7b7; }
.badge-blue   { background:rgba(96,165,250,0.15); color:#93c5fd; }
