/* University paper (light) theme overrides.
 *
 * The University pages are built on the cyberpunk styles (styles.css + the
 * per-page inline cyberpunk CSS) which are dark-only with neon accents. This
 * sheet makes them follow the editorial light theme when data-theme="paper".
 * It only activates under [data-theme="paper"], so it has zero effect on the
 * dark (ink) default. Load it AFTER the page's own styles so it wins.
 *
 * Strategy: remap the cyberpunk base tokens to a warm paper palette, then give
 * the hardcoded dark surfaces + neon-as-text accents readable light variants.
 * Neon cyan/green/yellow are illegible as text on white, so accent TEXT becomes
 * ink; accent BORDERS / solid buttons keep their colour for identity.
 */

[data-theme="paper"] {
  --cyber-black: #faf7f2;   /* page background */
  --cyber-dark:  #ffffff;   /* card/surface */
  --cyber-medium:#f1ebe0;
  --text-color:  #20242e;   /* body ink */
}

/* The cyberpunk body paints a near-opaque dark overlay + neon scanlines as a
   background-IMAGE (styles.css / the page's inline body rule). Overriding only
   background-color leaves that dark image on top, muddying the whole paper
   canvas — so clear the image too. */
[data-theme="paper"] body { background-color: #faf7f2; background-image: none; color: #20242e; }

/* generic content: headings/links inside the university body */
[data-theme="paper"] .vibe-content h1,
[data-theme="paper"] .vibe-content h2,
[data-theme="paper"] .vibe-content h3,
[data-theme="paper"] .vibe-content h4 { color: #1c1813; }
[data-theme="paper"] .university-intro h2,
[data-theme="paper"] .university-intro h2 [style*="#fff"],
[data-theme="paper"] .university-intro p strong[style*="#fff"] { color: #1c1813 !important; }
[data-theme="paper"] .university-intro p { color: #44403a !important; }
/* inline neon cyan in the intro (H2 accent span + links) -> readable teal */
[data-theme="paper"] .university-intro h2 span { color: #0b6b78 !important; text-shadow: none !important; }
[data-theme="paper"] .university-intro p a { color: #0b6b78 !important; border-bottom-color: rgba(11,107,120,0.5) !important; }

/* shared lesson surfaces (module cards / section headers / stream) */
[data-theme="paper"] .module-card,
[data-theme="paper"] .section-header,
[data-theme="paper"] .primers-section,
[data-theme="paper"] .expansion-section { background: #ffffff; border-color: #e6ddd0; color: #20242e; }
[data-theme="paper"] .module-card a:not(.btn),
[data-theme="paper"] .section-header a:not(.btn) { color: #0b6b78; }

/* breadcrumb */
[data-theme="paper"] .breadcrumb { color: #6b6358; }
[data-theme="paper"] .breadcrumb a { color: #0b6b78; }

/* Part outcome cards */
[data-theme="paper"] .track-part-card { background: #ffffff; color: #20242e; }
[data-theme="paper"] .track-part-title { color: #1c1813; }
[data-theme="paper"] .track-part-meta { color: rgba(0,0,0,0.45); }
[data-theme="paper"] .track-part-outcome { color: #2b2f3a; }            /* was neon accent text */
[data-theme="paper"] .track-part-bullets li { color: #44403a; }
[data-theme="paper"] .track-part-bullets li em { color: #0b6b78; opacity: 1; }
[data-theme="paper"] .track-part-num { color: #0b6b78; }
[data-theme="paper"] .track-part-read { color: #1c1813; }              /* accent text -> ink; border keeps accent */
[data-theme="paper"] .track-part-toggle { color: #0b6b78; }            /* was neon accent text */
[data-theme="paper"] .track-part-toc { border-top-color: rgba(11,107,120,0.2); }
[data-theme="paper"] .track-part-toc-item a { color: #2b2f3a; }        /* was light-gray-on-dark, invisible on paper */
[data-theme="paper"] .track-part-toc-item a:hover { color: #0b6b78; border-bottom-color: rgba(11,107,120,0.5); }

/* chapter rail */
[data-theme="paper"] .vibe-rail-inner { border-right-color: #e6ddd0; }
[data-theme="paper"] .vibe-rail-heading { color: #6b6358; border-bottom-color: #e6ddd0; }
[data-theme="paper"] .vibe-rail-part { color: #2b2f3a; }
[data-theme="paper"] .vibe-rail-part:hover,
[data-theme="paper"] .vibe-rail-part.active { color: #0b6b78; border-left-color: #0b6b78; }
[data-theme="paper"] .vibe-rail-section ul a { color: #6b6358; }
[data-theme="paper"] .vibe-rail-section ul a:hover,
[data-theme="paper"] .vibe-rail-section ul a.active { color: #0b6b78; background: rgba(11,107,120,0.06); border-left-color: rgba(11,107,120,0.4); }
[data-theme="paper"] .rail-num,
[data-theme="paper"] .vibe-rail-section ul a.active .rail-num { color: #7a3aa0; }

/* module sequence badge */
[data-theme="paper"] .module-seq { color: #0b6b78; background: rgba(11,107,120,0.08); border-color: rgba(11,107,120,0.3); }

/* Field Guides "subs-only" compact card badge */
[data-theme="paper"] .field-module.subs-only .status-sub { color: #0b6b78; background: rgba(11,107,120,0.08); border-color: rgba(11,107,120,0.3); }

/* vendor prereq + cross-vendor callout */
[data-theme="paper"] .vendor-prereq-label { color: #7a3aa0; }
[data-theme="paper"] .vendor-prereq-group--openai .vendor-prereq-label { color: #0b7d6b; }
[data-theme="paper"] .cross-vendor-gap { background: rgba(154,123,0,0.08); border-left-color: rgba(154,123,0,0.6); color: #6b5600; }
[data-theme="paper"] .cross-vendor-gap strong { color: #6b5600; }

/* hub closer */
[data-theme="paper"] .vibe-closer { border-top-color: #e6ddd0; }
[data-theme="paper"] .vibe-closer-eyebrow { color: #0b6b78; }
[data-theme="paper"] .vibe-closer h3 { color: #1c1813; }
[data-theme="paper"] .vibe-closer p.lede { color: #44403a; }
[data-theme="paper"] .vibe-closer-btn.primary { background: rgba(11,107,120,0.1); color: #0b6b78; border-color: rgba(11,107,120,0.5); }
[data-theme="paper"] .vibe-closer-btn.secondary { background: rgba(122,58,160,0.08); color: #7a3aa0; border-color: rgba(122,58,160,0.4); }
[data-theme="paper"] .vibe-closer-foot { color: #6b6358; }
[data-theme="paper"] .vibe-closer-foot a { color: #6b5600; border-bottom-color: rgba(154,123,0,0.5); }

/* ============================================================
 * Lesson pages — the shared cyberpunk article template each lesson
 * carries inline (own --primary-color body, .article-hero, code/pre,
 * highlight/warning boxes, tables) + the JS-injected email gate.
 * ============================================================ */
[data-theme="paper"] { --primary-color: #faf7f2; }
[data-theme="paper"] body::before { display: none; }   /* purple scanline overlay */

/* article hero + meta */
[data-theme="paper"] .article-hero { background: linear-gradient(180deg, #ffffff, #f6f0e6); border-bottom-color: #e6ddd0; }
[data-theme="paper"] .article-hero h1 { color: #1c1813; }
[data-theme="paper"] .article-hero h1 span { color: #0e7c5a; }
[data-theme="paper"] .article-meta { color: #0b6b78; }

/* article body */
[data-theme="paper"] article { color: #20242e; }
[data-theme="paper"] .back-link { color: #0b6b78; }
[data-theme="paper"] article h2 { color: #0e7c5a; border-bottom-color: rgba(14,124,90,0.3); }
[data-theme="paper"] article h3 { color: #0b6b78; }
[data-theme="paper"] article h4 { color: #6b5600; }
[data-theme="paper"] article p, [data-theme="paper"] article li { color: #2b2f3a; }

/* inline code + code blocks */
[data-theme="paper"] code { color: #0b6b78; background: rgba(11,107,120,0.08); border-color: rgba(11,107,120,0.25); }
[data-theme="paper"] pre { background: #f3ede2; border-color: #e6ddd0; }
[data-theme="paper"] pre code { color: #20242e; }

/* callout boxes */
[data-theme="paper"] .highlight-box { background: linear-gradient(135deg, rgba(14,124,90,0.08), rgba(11,107,120,0.05)); border-color: rgba(14,124,90,0.3); }
[data-theme="paper"] .highlight-box h4 { color: #0e7c5a !important; }   /* !important: some lessons set this h4's color inline (e.g. Red Flags boxes) */
[data-theme="paper"] .warning-box { background: linear-gradient(135deg, rgba(154,123,0,0.1), rgba(180,60,30,0.06)); border-color: rgba(154,123,0,0.35); }
[data-theme="paper"] .warning-box h4 { color: #6b5600; }

/* "failure-card" / pattern-catalog component (when-vibes-break.html and
   siblings) — per-field accent colors used as text, uncovered by the
   generic article rules above because `.failure-card .foo` out-specifies
   `article p`. */
[data-theme="paper"] .failure-card { background: #ffffff; border-color: rgba(181,54,15,0.3); }
[data-theme="paper"] .failure-card h4 { color: #b5360f; }
[data-theme="paper"] .failure-card .symptom { color: #6b5600; }
[data-theme="paper"] .failure-card .cause { color: #0b6b78; }
[data-theme="paper"] .failure-card .recovery { color: #0e7c5a; }
[data-theme="paper"] .failure-card .prevention { color: #7a3aa0; }

/* tables */
[data-theme="paper"] th, [data-theme="paper"] td { border-color: #e6ddd0; }
[data-theme="paper"] th { background: rgba(122,58,160,0.08); color: #7a3aa0; }

/* quick-ref + lesson footer */
[data-theme="paper"] .quick-ref { background: #ffffff; border-color: #e6ddd0; }
[data-theme="paper"] .quick-ref h3 { color: #7a3aa0; }
[data-theme="paper"] footer:not(.site-foot) { background: #f3ede2; border-top-color: #e6ddd0; }

/* email gate (injected by university-gate.js — id selector beats its inline styles) */
[data-theme="paper"] #pb-university-gate { background: #ffffff !important; border-color: rgba(11,107,120,0.35) !important; color: #20242e !important; }
[data-theme="paper"] #pb-university-gate h2,
[data-theme="paper"] #pb-university-gate h3,
[data-theme="paper"] #pb-university-gate .pb-gate-title { color: #0b6b78 !important; }
[data-theme="paper"] #pb-university-gate .pb-gate-sub { color: #b0186b !important; }
[data-theme="paper"] #pb-university-gate input[type=email] { background: #faf7f2 !important; border-color: rgba(11,107,120,0.35) !important; color: #20242e !important; }
[data-theme="paper"] #pb-university-gate .pb-gate-check { color: #44403a !important; }
[data-theme="paper"] #pb-university-gate .pb-gate-fine { color: #6b6358 !important; }

/* ============================================================
 * Remaining track structures (unify with the Vibe Coder pattern)
 * ============================================================ */

/* rail.js-injected lesson CTA ("Ready to level up?") + status chips */
[data-theme="paper"] .cta-section { background: linear-gradient(135deg, rgba(11,107,120,0.06), rgba(14,124,90,0.04)) !important; border-color: #e6ddd0 !important; }
[data-theme="paper"] .cta-section h2, [data-theme="paper"] .cta-section h3, [data-theme="paper"] .cta-section h4 { color: #1c1813 !important; }
[data-theme="paper"] .cta-section p { color: #44403a !important; }
[data-theme="paper"] .rail-status.live { background: rgba(14,124,90,0.12); border-color: rgba(14,124,90,0.4); color: #0e7c5a; }
[data-theme="paper"] .rail-status.sub { background: rgba(11,107,120,0.1); border-color: rgba(11,107,120,0.3); color: #0b6b78; }

/* Solo Business hub (.sb-* layout, pink accent) */
[data-theme="paper"] .sb-lock { color: #c2185b; background: rgba(255,107,157,0.1); border-color: rgba(255,107,157,0.4); }
[data-theme="paper"] .sb-frame { background: #ffffff; border-color: rgba(255,107,157,0.3); }
[data-theme="paper"] .sb-frame .sb-frame-tag { color: #c2185b; }
[data-theme="paper"] .sb-frame p { color: #44403a; }
[data-theme="paper"] .sb-frame ul li span { color: #c2185b; }
[data-theme="paper"] .sb-module { background: #ffffff; border-color: rgba(255,107,157,0.2); }
[data-theme="paper"] .sb-module:hover { border-color: rgba(255,107,157,0.5); }
[data-theme="paper"] .sb-module .sb-num { color: #c2185b; background: rgba(255,107,157,0.1); border-color: rgba(255,107,157,0.3); }
[data-theme="paper"] .sb-module h3 { color: #1c1813; }
[data-theme="paper"] .sb-module p.sb-desc { color: #44403a; }
[data-theme="paper"] .sb-module ul.sb-lessons { border-top-color: rgba(0,0,0,0.08); }
[data-theme="paper"] .sb-module ul.sb-lessons li { color: #44403a; }         /* was light-gray-on-dark */
[data-theme="paper"] .sb-module .sb-status { color: #6b6358; }              /* was light-gray-on-dark */
[data-theme="paper"] .sb-subscribe { background: linear-gradient(145deg, rgba(194,24,91,0.08), rgba(122,58,160,0.05)); border-color: rgba(194,24,91,0.35); }
[data-theme="paper"] .sb-subscribe h2 { color: #c2185b; }                   /* was bright pink accent as heading text */
[data-theme="paper"] .sb-subscribe p { color: #44403a; }
[data-theme="paper"] .sb-subscribe p a.sb-inline-accent { color: #0b6b78 !important; }

/* Vibe Management hub (.vm-* custom blocks, yellow accent -> readable gold) */
[data-theme="paper"] .vm-lock { color: #6b5600; background: rgba(154,123,0,0.1); border-color: rgba(154,123,0,0.45); }
[data-theme="paper"] .vm-lock i { color: #6b5600; }
/* actor frame + subscribe band carry dark gradients -> light them (the frame's
   gradient is inline, so the override needs !important to win) */
[data-theme="paper"] .vm-actor-frame { background: linear-gradient(180deg, rgba(154,123,0,0.06), rgba(154,123,0,0.02)) !important; border-color: rgba(154,123,0,0.3) !important; }
[data-theme="paper"] .vm-actor-frame > div { color: #6b5600 !important; }              /* eyebrow */
[data-theme="paper"] .vm-actor-frame p { color: #2b2f3a !important; }
[data-theme="paper"] .vm-actor-frame li { color: #44403a; }
[data-theme="paper"] .vm-actor-frame li span { color: #6b5600 !important; }            /* // TEAM // SOLO // BOT */
[data-theme="paper"] .vm-prereq-note { color: #44403a; background: rgba(11,107,120,0.06); border-left-color: rgba(11,107,120,0.5); }
[data-theme="paper"] .vm-prereq-note a { color: #0b6b78; border-bottom-color: rgba(11,107,120,0.5); }
[data-theme="paper"] .vm-subscribe { background: linear-gradient(145deg, rgba(154,123,0,0.08), rgba(122,58,160,0.05)); border-color: rgba(154,123,0,0.35); }
[data-theme="paper"] .vm-subscribe h2 { color: #6b5600; }
[data-theme="paper"] .vm-subscribe p { color: #44403a; }
[data-theme="paper"] .vm-module-coming { background: rgba(154,123,0,0.04); border-color: rgba(154,123,0,0.4); }
[data-theme="paper"] .vm-module-coming h4 { color: #6b5600; }
[data-theme="paper"] .vm-module-coming p { color: #6b6358; }

/* Field Guides intro — brand-coloured <strong> words kept distinct but made
   legible on paper (neon -> deep variants), + the cta-section foot links */
[data-theme="paper"] .university-intro p strong[style*="#00ff88"] { color: #0e7c5a !important; }
[data-theme="paper"] .university-intro p strong[style*="#ffd060"] { color: #6b5600 !important; }
[data-theme="paper"] .university-intro p strong[style*="#c79bff"] { color: #7a3aa0 !important; }
[data-theme="paper"] .university-intro p strong[style*="#ff3860"] { color: #b5360f !important; }
[data-theme="paper"] .cta-section p a { color: #0e7c5a !important; border-bottom-color: rgba(14,124,90,0.5) !important; }

/* Second Brain / Field Guides lesson template (second-brain-series.css, .pkm-*) */
[data-theme="paper"] .pkm-intro { background: #ffffff; color: #2b2f3a; }
[data-theme="paper"] .pkm-section-label::after { background: rgba(194,24,91,0.2); }
[data-theme="paper"] .preview-card { background: #ffffff; border-color: rgba(11,107,120,0.18); }
[data-theme="paper"] .gate-block { background: rgba(14,124,90,0.06); border-color: rgba(14,124,90,0.3); }
[data-theme="paper"] .gate-block input[type=email] { background: #faf7f2; border-color: rgba(11,107,120,0.3); color: #20242e; }
[data-theme="paper"] .pkm-flow-step { background: #ffffff; border-color: rgba(14,124,90,0.22); }
[data-theme="paper"] .pkm-downloads { background: rgba(14,124,90,0.05); border-color: rgba(14,124,90,0.18); }
[data-theme="paper"] .pkm-downloads-head { border-bottom-color: rgba(14,124,90,0.18); }
[data-theme="paper"] .pkm-downloads-title { color: #0e7c5a; }
[data-theme="paper"] .pkm-downloads-cols,
[data-theme="paper"] .pkm-downloads-sub { color: #6b6358; }
[data-theme="paper"] .pkm-downloads-label { color: #1c1813; }
[data-theme="paper"] .pkm-downloads-row { border-bottom-color: rgba(14,124,90,0.12); }
[data-theme="paper"] .pkm-downloads-row-bundle { background: rgba(14,124,90,0.04); }
[data-theme="paper"] .pkm-downloads-btn { color: #0e7c5a; background: rgba(14,124,90,0.08); border-color: rgba(14,124,90,0.3); }
[data-theme="paper"] .pkm-downloads-btn:hover { background: rgba(14,124,90,0.16); border-color: #0e7c5a; color: #0a4f3a; }
[data-theme="paper"] .sb-stack-card { background: linear-gradient(180deg, rgba(14,124,90,0.06), rgba(14,124,90,0.02)); border-color: rgba(14,124,90,0.22); }
[data-theme="paper"] .sb-stack-extras { background: rgba(11,107,120,0.04); border-color: rgba(11,107,120,0.18); }
[data-theme="paper"] .sb-stack-extra code { color: #0b6b78; background: rgba(11,107,120,0.08); }
[data-theme="paper"] .sb-path { background: #ffffff; border-color: rgba(0,0,0,0.08); }
[data-theme="paper"] details.sb-path-prompt > summary,
[data-theme="paper"] details.pkm-prompt-collapse > summary { background: rgba(14,124,90,0.07); border-color: rgba(14,124,90,0.28); color: #1c1813; }
[data-theme="paper"] details.sb-path-prompt > summary .sb-path-prompt-hint,
[data-theme="paper"] details.pkm-prompt-collapse > summary .pkm-prompt-summary-hint { color: #6b6358; }
[data-theme="paper"] .prompt-block { background: #ffffff; border-color: rgba(14,124,90,0.24); color: #20242e; }
[data-theme="paper"] .prompt-header { background: #f3ede2; border-bottom-color: #e6ddd0; }
[data-theme="paper"] .prompt-header .label { color: #0e7c5a; }
[data-theme="paper"] .prompt-code { background: #fffaf2; color: #20242e; border-color: rgba(14,124,90,0.22); }
[data-theme="paper"] .copy-btn { background: rgba(14,124,90,0.12); border-color: rgba(14,124,90,0.35); color: #0a4f3a; }
[data-theme="paper"] .copy-btn:hover { background: rgba(14,124,90,0.2); color: #063827; }
[data-theme="paper"] .copy-btn.copied { background: #0e7c5a; color: #ffffff; }
[data-theme="paper"] .sb-step03-card { background: #ffffff; border-color: rgba(14,124,90,0.22); }
[data-theme="paper"] .sb-step03-tag { color: #2b2f3a; }
[data-theme="paper"] .sb-step03-letter { background: rgba(14,124,90,0.1); border-color: rgba(14,124,90,0.35); color: #0e7c5a; }
[data-theme="paper"] .drill code,
[data-theme="paper"] .sb-stack-extra code,
[data-theme="paper"] .sb-fresh-card code { color: #0b6b78; background: rgba(11,107,120,0.08); border-color: rgba(11,107,120,0.22); }
[data-theme="paper"] .task-prompt { background: rgba(11,107,120,0.07); border-color: rgba(11,107,120,0.22); color: #1c1813; }
[data-theme="paper"] .ad-shot { background: rgba(122,58,160,0.07); border-color: rgba(122,58,160,0.24); color: #2b2f3a; }
[data-theme="paper"] .opt-body code,
[data-theme="paper"] .also-body code { color: #0b6b78; background: rgba(11,107,120,0.08); border-color: rgba(11,107,120,0.22); }
[data-theme="paper"] .opt-card { background: #ffffff; border-color: rgba(122,58,160,0.2); }
[data-theme="paper"] .opt-card.cyan { border-left-color: #0b6b78; }
[data-theme="paper"] .opt-card.amber { border-left-color: #9a6a00; }
[data-theme="paper"] .opt-card.danger { border-left-color: #b5360f; }
[data-theme="paper"] .opt-header { background: rgba(122,58,160,0.06); border-bottom-color: rgba(122,58,160,0.18); }
[data-theme="paper"] .opt-card.cyan .opt-header { background: rgba(11,107,120,0.06); border-bottom-color: rgba(11,107,120,0.18); }
[data-theme="paper"] .opt-card.amber .opt-header { background: rgba(154,106,0,0.08); border-bottom-color: rgba(154,106,0,0.2); }
[data-theme="paper"] .opt-card.danger .opt-header { background: rgba(181,54,15,0.07); border-bottom-color: rgba(181,54,15,0.2); }
[data-theme="paper"] .opt-header h3 { color: #1c1813; }
[data-theme="paper"] .opt-header .audience { color: #6b6358; }
[data-theme="paper"] .opt-body p,
[data-theme="paper"] .opt-body li,
[data-theme="paper"] .opt-body ul,
[data-theme="paper"] .opt-body ol { color: #2b2f3a; }
[data-theme="paper"] .opt-body li strong,
[data-theme="paper"] .opt-body strong { color: #1c1813; }
[data-theme="paper"] .opt-body a { color: #0b6b78; }
[data-theme="paper"] .task-card { background: #ffffff; border-color: rgba(122,58,160,0.18); }
[data-theme="paper"] .task-num { background: rgba(122,58,160,0.09); border-color: rgba(122,58,160,0.28); color: #7a3aa0; }
[data-theme="paper"] .task-body h4 { color: #6b5600; }
[data-theme="paper"] .task-body p { color: #2b2f3a; }
[data-theme="paper"] .task-body .task-prompt { background: #f8f1e7; border-color: rgba(11,107,120,0.24); color: #1c1813; }
[data-theme="paper"] .task-body .task-why { color: #6b6358; }
[data-theme="paper"] .task-body .task-why strong { color: #7a3aa0; }
[data-theme="paper"] .also { background: rgba(11,107,120,0.05); border-color: rgba(11,107,120,0.26); }
[data-theme="paper"] .also-label { color: #0b6b78; }
[data-theme="paper"] .also-body,
[data-theme="paper"] .also-body p { color: #2b2f3a; }
[data-theme="paper"] .also-body strong { color: #1c1813; }
[data-theme="paper"] .matrix { border-color: #e6ddd0; }
[data-theme="paper"] .matrix > div { border-color: #e6ddd0; color: #2b2f3a; }
[data-theme="paper"] .matrix .mh,
[data-theme="paper"] .matrix .ml { background: rgba(122,58,160,0.08); color: #7a3aa0; }
[data-theme="paper"] .matrix .verdict { color: #1c1813; }
[data-theme="paper"] .matrix .v-trust { color: #0e7c5a; }
[data-theme="paper"] .matrix .v-watch { color: #6b5600; }
[data-theme="paper"] .matrix .v-block { color: #b5360f; }
[data-theme="paper"] .skim { background: #ffffff; border-color: rgba(122,58,160,0.2); }
[data-theme="paper"] .skim-line { color: #2b2f3a; border-bottom-color: rgba(122,58,160,0.14); }

/* "decision-box" / "verify-box" callout headings (prototype-vs-production.html,
   visual-ui-vibe-coding.html) — plain h4 accent text, same shape as
   .highlight-box/.warning-box h4 but never added when those two were fixed.
   .decision-box also needs its OWN background override (unlike verify-box):
   its source rgba(10,10,20,0.8) is a near-opaque near-black card, not a
   low-alpha tint, so the generic `article li` dark-ink rule would otherwise
   sit as dark-on-black inside it. */
[data-theme="paper"] .decision-box { background: #ffffff; border-color: rgba(122,58,160,0.3); }
[data-theme="paper"] .decision-box h4 { color: #7a3aa0; }
[data-theme="paper"] .verify-box h4 { color: #0b6b78; }

/* magenta "critical"/"TBD" callout family — copy-pasted across several vibe-coder
   lessons (11-production-mcp/building-mcp-servers.html .magenta-box,
   12-multi-agent-anti-patterns/critic-agent.html .critical-box,
   12-multi-agent-anti-patterns/parallel-agent-supervision.html .critical-callout
   + h4.failure-mode, 13-bootstrap-and-ci/single-source-conventions.html
   .tbd-box, 02-choosing-your-pattern/workflow-tier.html .tbd-box) — all set
   text to var(--cyber-magenta)/rgba(255,0,160,x)/#ff66c0, never remapped. */
[data-theme="paper"] .magenta-box h4,
[data-theme="paper"] .critical-box::before,
[data-theme="paper"] .critical-callout,
[data-theme="paper"] h4.failure-mode,
[data-theme="paper"] .tbd-box,
[data-theme="paper"] .tbd-box strong { color: #a8197f; }

/* common-prompting-anti-patterns.html uses its own <article class="article-content">
   template instead of the bare <article> the other lessons share, so its own
   selectors out-specify the generic `article h2`/`h3`/`pre`/`code`/`th` rules
   above and need their own overrides. Its .anti-pattern/.quick-ref h4/.checklist/
   .insight-box components are likewise bespoke to this one lesson. Its
   .article-content wrapper also needs its OWN background override, same
   reason as .decision-box above: the source rgba(10,10,20,0.6) is a
   near-opaque near-black card, not a low-alpha tint, so it was left as a
   dark box floating on the paper canvas until this rule was added. */
[data-theme="paper"] .article-content { background: #ffffff; border-color: rgba(122,58,160,0.2); }
[data-theme="paper"] .article-content h2 { color: #7a3aa0; }
[data-theme="paper"] .article-content h3 { color: #0b6b78; }
[data-theme="paper"] .article-content strong { color: #6b5600; }
[data-theme="paper"] .article-content pre { color: #20242e; }
[data-theme="paper"] .article-content code { color: #0b6b78; }
[data-theme="paper"] .article-content th { color: #7a3aa0; }
[data-theme="paper"] .anti-pattern h3 { color: #a8197f; }
[data-theme="paper"] .anti-pattern .example { color: #2b2f3a; }
[data-theme="paper"] .anti-pattern .fix { color: #0e7c5a; }
[data-theme="paper"] .anti-pattern .label.bad { color: #a8197f; }
[data-theme="paper"] .anti-pattern .label.good { color: #0e7c5a; }
[data-theme="paper"] .anti-pattern .why { color: #6b5600; }
[data-theme="paper"] .quick-ref h4 { color: #7a3aa0; }
[data-theme="paper"] .checklist li::before { color: #0b6b78; }
[data-theme="paper"] .insight-box p { color: #0e7c5a; }

/* Inline `style="color: var(--cyber-*)"` — dozens of lessons hardcode this
   directly on "Related Guides" cross-link <a>s, and a few one-off <h4>/<td>
   (prototype-vs-production.html's risk-level table cells + a component
   sub-heading). The --cyber-* custom properties are never remapped for
   paper (only the surface tokens at the top of this file are), so these
   need !important attribute-selector overrides — there's no shared class
   to hang a normal rule off. */
[data-theme="paper"] [style*="color: var(--cyber-blue)"]   { color: #0b6b78 !important; }
[data-theme="paper"] [style*="color: var(--cyber-green)"]  { color: #0e7c5a !important; }
[data-theme="paper"] [style*="color: var(--cyber-yellow)"] { color: #6b5600 !important; }
[data-theme="paper"] [style*="color: var(--cyber-pink)"]   { color: #b5360f !important; }

/* ============================================================
 * Field Guides sweep 2026-07-09 (vibe-management + field-guides pass)
 * ============================================================
 * [STALE — corrected 2026-07-22] The note below was true on 2026-07-09
 * but the migration has since happened: all 10 vibe-management lesson
 * articles now load this stylesheet + theme-init + pb-chrome.css (only
 * their per-module index.html redirect stubs remain chrome-less, by
 * design). Their bespoke classes (.highlight-box/.warning-box/
 * .anti-pattern/.pull-quote etc.) are covered by the generic lesson
 * rules above. See _internal/docs/UNIVERSITY-STYLE-GUIDE.md.
 * Original 2026-07-09 note, kept for history:
 *   vibe-management/*.html lesson pages did NOT load this stylesheet,
 *   the theme-init snippet, or pb-chrome.css — they were still on the
 *   legacy header.js/styles.css-only chrome and never rendered
 *   data-theme="paper".
 *
 * Field Guides: the second-brain-series.css / .pkm-* and .sb-* component
 * family (used by Module 01 personal-knowledge-database.html directly,
 * and by the free-preview teaser lessons that link second-brain-series.css
 * externally) had several bespoke sub-selectors that out-specify the
 * generic .pkm-intro/.pkm-section-label rules already fixed above, or
 * were never covered at all. Verified against actual rendered
 * class="..." usage in each lesson body first — this stylesheet is also
 * loaded by Team Brain/CoWork lesson pages (decision-archive.html,
 * onboarding.html, role-slices.html, weekly-reset.html, delegate.html,
 * connect.html, curate.html, govern.html, schedule.html) whose bodies
 * currently render ONLY an empty .pkm-hero + a hidden #pb-premium-mount
 * (no gate-block/preview-card/opt-card/task-card/matrix/skim/yt-caption/
 * pb-subscribe-stub/back-cta markup exists yet) — those component
 * families are dead CSS today and were skipped to avoid clutter; the
 * class names are already covered from the earlier sweep (opt-card,
 * task-*, matrix, skim, back-cta) in case that markup ships later.
 */

/* pkm-intro emphasis + the section-label divider's own text (only its
   ::after bar was fixed above) */
[data-theme="paper"] .pkm-intro strong,
[data-theme="paper"] .pkm-intro em { color: #0e7c5a; }
[data-theme="paper"] .pkm-section-label { color: #c2185b; }

/* 3-step flow strip (personal-knowledge-database.html) */
[data-theme="paper"] .pkm-flow-num { color: #0e7c5a; }
[data-theme="paper"] .pkm-flow-step h4 { color: #1c1813; }   /* was #fff, invisible on the now-white card */
[data-theme="paper"] .pkm-flow-step p { color: #44403a; }

/* Second Brain stack lede + card grid */
[data-theme="paper"] .sb-stack-lede,
[data-theme="paper"] .sb-paths-lede,
[data-theme="paper"] .sb-step-lede { color: #44403a; }        /* was light-gray-on-dark page-level lede text */
[data-theme="paper"] .sb-stack-lede strong,
[data-theme="paper"] .sb-step-lede strong,
[data-theme="paper"] .sb-step-lede code { color: #0e7c5a; }
[data-theme="paper"] .sb-stack-num { color: rgba(14,124,90,0.65); }
[data-theme="paper"] .sb-stack-name { color: #0e7c5a; }
[data-theme="paper"] .sb-stack-name em { color: rgba(14,124,90,0.8); }
[data-theme="paper"] .sb-stack-tag { color: #6b6358; }
[data-theme="paper"] .sb-stack-card p { color: #2b2f3a; }
[data-theme="paper"] .sb-stack-extra { color: #2b2f3a; }
[data-theme="paper"] .sb-stack-extra strong { color: #0b6b78; }
[data-theme="paper"] .sb-stack-extra em { color: #0e7c5a; }

/* Pick-your-path cards */
[data-theme="paper"] .sb-path-letter { color: #0e7c5a; }
[data-theme="paper"] .sb-path h3 { color: #1c1813; }          /* was #fff, invisible on the now-white card */
[data-theme="paper"] .sb-path p { color: #2b2f3a; }
[data-theme="paper"] .sb-path-tools span { color: #44403a; }
[data-theme="paper"] .sb-path-pdfs-label { color: #6b6358; }
[data-theme="paper"] .sb-path-pdfs a { color: #0e7c5a; }
[data-theme="paper"] .sb-companion { color: #2b2f3a; }
[data-theme="paper"] .sb-companion strong { color: #c2185b; }

/* Step lede + gather groups (Step 02) + step03 tag + fresh cards */
[data-theme="paper"] .sb-gather-group { background: #ffffff; }   /* was rgba(10,11,16,0.5) near-opaque card */
[data-theme="paper"] .sb-gather-group h4 { color: #0e7c5a; }
[data-theme="paper"] .sb-gather-group h4 em { color: #6b6358; }
[data-theme="paper"] .sb-gather-group li { color: #2b2f3a; }
[data-theme="paper"] .sb-gather-note { color: #2b2f3a; }
[data-theme="paper"] .sb-step03-tag { color: #2b2f3a; }
[data-theme="paper"] .sb-fresh-card h4 { color: #1c1813; }    /* was #fff, invisible on the now-white card */

/* platform-recipe (second-brain-series.css) — dark terminal card flipped to a
   white card on paper; border-left keeps its per-platform accent (decorative).
   Product/step-num labels get ink companions per the design guide:
   github-copilot #a371f7 → #7a3aa0, m365-copilot #2dc8d6 → #0b6b78. */
[data-theme="paper"] .platform-recipe { background: #ffffff; border-color: #e6ddd0; box-shadow: none; }
[data-theme="paper"] .platform-recipe[data-platform="github-copilot"] { border-left-color: #a371f7; }
[data-theme="paper"] .platform-recipe[data-platform="m365-copilot"] { border-left-color: #2dc8d6; }
[data-theme="paper"] .platform-recipe h3,
[data-theme="paper"] .platform-recipe-step h4,
[data-theme="paper"] .platform-recipe-foot strong { color: #1c1813; }
[data-theme="paper"] .platform-recipe-head p,
[data-theme="paper"] .platform-recipe-step p,
[data-theme="paper"] .platform-recipe-foot { color: #2b2f3a; border-top-color: #e6ddd0; }
[data-theme="paper"] .platform-recipe[data-platform="github-copilot"] .platform-recipe-product,
[data-theme="paper"] .platform-recipe[data-platform="github-copilot"] .platform-recipe-step-num { color: #7a3aa0; }
[data-theme="paper"] .platform-recipe[data-platform="m365-copilot"] .platform-recipe-product,
[data-theme="paper"] .platform-recipe[data-platform="m365-copilot"] .platform-recipe-step-num { color: #0b6b78; }
[data-theme="paper"] .platform-recipe-step { background: #faf7f2; }
[data-theme="paper"] .platform-recipe-head p code,
[data-theme="paper"] .platform-recipe-step code,
[data-theme="paper"] .platform-recipe-foot code { color: #0b6b78; background: rgba(11,107,120,0.08); }
[data-theme="paper"] .platform-recipe-step pre { background: #f3ede2; border-color: #e6ddd0; color: #20242e; }
[data-theme="paper"] .platform-recipe-foot a { color: #0b6b78; }
[data-theme="paper"] .sb-fresh-card p { color: #2b2f3a; }

/* Inline `style="color:#XXXXXX"` (literal hex, not a --cyber-* var) —
   the Field Guides free-preview teaser pages (ai-native-operator.html,
   connect-your-tools.html, meeting-to-memory.html, pattern-library.html,
   routines-on-desktop.html, shared-folder.html, personal-knowledge-database.html)
   hardcode a handful of literal hex colors directly on <code>/<strong>/<ul>
   inline style attributes in their visible pre-gate intro paragraph. Same
   "no shared class to hang a rule off" problem as the --cyber-* var case
   above, just with a literal hex instead of a var(). Verified no
   background-color/border-color use of these same literal strings
   elsewhere that this substring match could wrongly catch. */
[data-theme="paper"] [style*="color:#00ff88"] { color: #0e7c5a !important; }
[data-theme="paper"] [style*="color:#d8d8e0"] { color: #2b2f3a !important; }
[data-theme="paper"] [style*="color:#ffd060"] { color: #6b5600 !important; }
[data-theme="paper"] [style*="color:#c8c8d0"] { color: #44403a !important; }
