platform-codebase/press-map.html
Lilith 93084aa1a7 ui(visualization): 💄 Add interactive press map and timeline widgets
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-02-28 13:17:25 -08:00

985 lines
45 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Press Map — Lilith Content Strategy</title>
<style>
:root {
--bg: #0d0d0d;
--surface: #1a1a1a;
--surface-2: #242424;
--border: #333;
--text: #e0e0e0;
--text-dim: #888;
--accent: #c084fc;
--tier1: #c084fc;
--tier2: #818cf8;
--tier3: #34d399;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
font-family: 'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
background: var(--bg);
color: var(--text);
padding: 2rem;
line-height: 1.5;
}
/* Nav */
.top-nav {
display: flex;
align-items: center;
gap: 0.25rem;
margin-bottom: 2.5rem;
padding-bottom: 1rem;
border-bottom: 1px solid var(--border);
flex-wrap: wrap;
}
.nav-title {
font-size: 0.8rem;
font-weight: 700;
color: var(--accent);
text-transform: uppercase;
letter-spacing: 0.08em;
margin-right: 1rem;
white-space: nowrap;
}
.top-nav a {
color: var(--text-dim);
text-decoration: none;
font-size: 0.82rem;
padding: 0.3rem 0.7rem;
border-radius: 5px;
transition: color 0.15s, background 0.15s;
white-space: nowrap;
}
.top-nav a:hover { color: var(--text); background: var(--surface); }
.top-nav a.active { color: var(--accent); background: var(--surface); font-weight: 600; }
h1 { font-size: 1.75rem; font-weight: 600; margin-bottom: 0.25rem; color: #fff; }
.subtitle { color: var(--text-dim); font-size: 0.9rem; margin-bottom: 2.5rem; }
.section-title {
font-size: 1.1rem; font-weight: 600; margin-bottom: 1rem; color: #fff;
display: flex; align-items: center; gap: 0.5rem;
}
.section-title::before { content: ''; width: 3px; height: 1.1em; background: var(--accent); border-radius: 2px; flex-shrink: 0; }
/* Citation Chain SVG container */
.chain-container {
background: var(--surface);
border: 1px solid var(--border);
border-radius: 12px;
padding: 1.5rem;
margin-bottom: 2.5rem;
overflow-x: auto;
}
.chain-container svg {
display: block;
margin: 0 auto;
}
/* The Rule callout */
.rule-box {
background: #1e1a2e;
border: 1px solid #4c3d70;
border-left: 4px solid var(--accent);
border-radius: 8px;
padding: 1.25rem 1.5rem;
margin-bottom: 2.5rem;
}
.rule-box .rule-text {
font-size: 1rem;
font-weight: 600;
color: #fff;
margin-bottom: 0.5rem;
}
.rule-box .rule-exception {
font-size: 0.82rem;
color: var(--text-dim);
}
.rule-box .rule-exception strong {
color: #818cf8;
font-weight: 600;
}
/* Tables */
.table-wrap { overflow-x: auto; margin-bottom: 2.5rem; }
.pub-table {
width: 100%;
border-collapse: collapse;
font-size: 0.82rem;
min-width: 700px;
}
.pub-table thead th {
background: var(--surface-2);
color: var(--text-dim);
font-size: 0.7rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.05em;
padding: 0.6rem 0.9rem;
text-align: left;
border-bottom: 1px solid var(--border);
}
.pub-table tbody tr {
border-bottom: 1px solid #222;
transition: background 0.12s;
}
.pub-table tbody tr:hover { background: var(--surface-2); }
.pub-table tbody td {
padding: 0.65rem 0.9rem;
color: var(--text);
vertical-align: middle;
}
.pub-name {
font-weight: 600;
color: #fff;
white-space: nowrap;
}
.pitch-link {
font-family: 'JetBrains Mono', 'Fira Code', monospace;
font-size: 0.72rem;
color: var(--accent);
text-decoration: none;
opacity: 0.8;
transition: opacity 0.15s;
}
.pitch-link:hover { opacity: 1; text-decoration: underline; }
.window-badge {
display: inline-block;
background: var(--surface-2);
border: 1px solid var(--border);
border-radius: 4px;
padding: 0.15rem 0.45rem;
font-size: 0.7rem;
font-family: 'JetBrains Mono', 'Fira Code', monospace;
color: var(--text-dim);
white-space: nowrap;
}
.window-badge.launch {
background: #1b2e1b;
border-color: #2d5c2d;
color: var(--tier3);
}
.journalist-name {
color: var(--text-dim);
font-size: 0.78rem;
}
/* Tier badge for table headings */
.tier-badge {
display: inline-flex;
align-items: center;
gap: 0.4rem;
padding: 0.25rem 0.75rem 0.25rem 0.5rem;
border-radius: 20px;
font-size: 0.75rem;
font-weight: 700;
margin-bottom: 0.75rem;
margin-top: 1.5rem;
}
.tier-badge .dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.tier-badge.t1 { background: #2a1e3a; color: var(--tier1); border: 1px solid #5c3d8c; }
.tier-badge.t1 .dot { background: var(--tier1); }
.tier-badge.t2 { background: #1e1e36; color: var(--tier2); border: 1px solid #3d3d8c; }
.tier-badge.t2 .dot { background: var(--tier2); }
.tier-badge.t3 { background: #1a2e22; color: var(--tier3); border: 1px solid #2d6040; }
.tier-badge.t3 .dot { background: var(--tier3); }
/* Tier 3 card grid */
.t3-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
gap: 0.75rem;
margin-bottom: 2.5rem;
}
.t3-card {
background: var(--surface);
border: 1px solid var(--border);
border-radius: 8px;
padding: 0.9rem 1rem;
text-decoration: none;
transition: border-color 0.15s, background 0.15s;
display: block;
}
.t3-card:hover {
border-color: var(--tier3);
background: #1a2e22;
}
.t3-card .t3-name {
font-weight: 600;
font-size: 0.85rem;
color: #fff;
margin-bottom: 0.25rem;
}
.t3-card .t3-type {
font-size: 0.72rem;
color: var(--tier3);
text-transform: uppercase;
letter-spacing: 0.04em;
margin-bottom: 0.4rem;
}
.t3-card .t3-desc {
font-size: 0.75rem;
color: var(--text-dim);
}
/* Timeline overlay */
.timeline-container {
background: var(--surface);
border: 1px solid var(--border);
border-radius: 12px;
padding: 1.5rem;
margin-bottom: 2.5rem;
overflow-x: auto;
}
.timeline-container svg {
display: block;
min-width: 800px;
}
/* Conference circuit */
.conf-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
gap: 0.75rem;
margin-bottom: 2.5rem;
}
.conf-card {
background: var(--surface);
border: 1px solid var(--border);
border-radius: 8px;
padding: 0.9rem 1rem;
}
.conf-card .conf-name {
font-weight: 600;
font-size: 0.85rem;
color: #fff;
margin-bottom: 0.2rem;
}
.conf-card .conf-date {
font-size: 0.75rem;
color: var(--accent);
font-family: 'JetBrains Mono', 'Fira Code', monospace;
}
/* Links section */
.links-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
gap: 0.6rem;
margin-bottom: 2.5rem;
}
.doc-link {
display: flex;
align-items: center;
gap: 0.6rem;
background: var(--surface);
border: 1px solid var(--border);
border-radius: 7px;
padding: 0.7rem 0.9rem;
text-decoration: none;
color: var(--text);
font-size: 0.82rem;
transition: border-color 0.15s, background 0.15s;
}
.doc-link:hover { border-color: var(--accent); background: var(--surface-2); }
.doc-link .doc-icon {
font-size: 0.9rem;
flex-shrink: 0;
color: var(--accent);
font-style: normal;
}
.doc-link .doc-name { font-weight: 500; }
.doc-link .doc-sub { font-size: 0.7rem; color: var(--text-dim); margin-top: 0.1rem; }
.timestamp {
text-align: center;
color: var(--text-dim);
font-size: 0.7rem;
margin-top: 2rem;
padding-top: 1.5rem;
border-top: 1px solid var(--border);
}
@media (max-width: 900px) {
body { padding: 1rem; }
.conf-grid { grid-template-columns: 1fr 1fr; }
}
</style>
</head>
<body>
<nav class="top-nav">
<span class="nav-title">Lilith Content Strategy</span>
<a href="index.html">Hub</a>
<a href="inventory.html">Inventory</a>
<a href="timeline.html">Timeline</a>
<a href="domains.html">Domains</a>
<a href="ideas.html">Ideas</a>
<a href="press-map.html" class="active">Press Map</a>
</nav>
<h1>Publication Strategy &amp; Citation Chain</h1>
<p class="subtitle">3-tier citation chain &middot; 8 press domains &middot; 26 pitch docs &middot; 14,834 lines of strategy</p>
<!-- ===== 1. CITATION CHAIN DIAGRAM ===== -->
<div class="section-title">Citation Chain</div>
<div class="chain-container">
<svg id="chain-svg" width="940" height="520" viewBox="0 0 940 520" xmlns="http://www.w3.org/2000/svg">
<defs>
<marker id="arrow" markerWidth="8" markerHeight="8" refX="7" refY="3" orient="auto">
<path d="M0,0 L0,6 L8,3 Z" fill="#444"/>
</marker>
<filter id="glow-t1" x="-20%" y="-20%" width="140%" height="140%">
<feGaussianBlur stdDeviation="2" result="blur"/>
<feMerge><feMergeNode in="blur"/><feMergeNode in="SourceGraphic"/></feMerge>
</filter>
</defs>
<!-- ── Column headers ── -->
<!-- Tier 3 header -->
<rect x="20" y="10" width="240" height="28" rx="5" fill="#1a2e22"/>
<text x="140" y="29" text-anchor="middle" font-family="Inter, sans-serif" font-size="12" font-weight="700" fill="#34d399">TIER 3 — Foundation</text>
<!-- Tier 2 header -->
<rect x="350" y="10" width="240" height="28" rx="5" fill="#1e1e36"/>
<text x="470" y="29" text-anchor="middle" font-family="Inter, sans-serif" font-size="12" font-weight="700" fill="#818cf8">TIER 2 — Named Coverage</text>
<!-- Tier 1 header -->
<rect x="680" y="10" width="240" height="28" rx="5" fill="#2a1e3a"/>
<text x="800" y="29" text-anchor="middle" font-family="Inter, sans-serif" font-size="12" font-weight="700" fill="#c084fc">TIER 1 — Features</text>
<!-- ── TIER 3 NODES ── -->
<!-- Each node: rx=5 rounded rect, width=200, height=22, x=30 -->
<!-- Labels -->
<g id="tier3-nodes">
<!-- node helper: x=30, y starts at 52, step 28 -->
<rect x="30" y="52" width="200" height="22" rx="4" fill="#1a2e22" stroke="#2d6040" stroke-width="1"/>
<text x="130" y="67" text-anchor="middle" font-family="Inter,sans-serif" font-size="11" fill="#e0e0e0">HN · Reddit · dev.to</text>
<rect x="30" y="82" width="200" height="22" rx="4" fill="#1a2e22" stroke="#2d6040" stroke-width="1"/>
<text x="130" y="97" text-anchor="middle" font-family="Inter,sans-serif" font-size="11" fill="#e0e0e0">2600</text>
<rect x="30" y="112" width="200" height="22" rx="4" fill="#1a2e22" stroke="#2d6040" stroke-width="1"/>
<text x="130" y="127" text-anchor="middle" font-family="Inter,sans-serif" font-size="11" fill="#e0e0e0">Zebras Unite</text>
<rect x="30" y="142" width="200" height="22" rx="4" fill="#1a2e22" stroke="#2d6040" stroke-width="1"/>
<text x="130" y="157" text-anchor="middle" font-family="Inter,sans-serif" font-size="11" fill="#e0e0e0">Indie Hackers</text>
<rect x="30" y="172" width="200" height="22" rx="4" fill="#1a2e22" stroke="#2d6040" stroke-width="1"/>
<text x="130" y="187" text-anchor="middle" font-family="Inter,sans-serif" font-size="11" fill="#e0e0e0">EFF Deeplinks</text>
<rect x="30" y="202" width="200" height="22" rx="4" fill="#1a2e22" stroke="#2d6040" stroke-width="1"/>
<text x="130" y="217" text-anchor="middle" font-family="Inter,sans-serif" font-size="11" fill="#e0e0e0">Tits &amp; Sass</text>
<rect x="30" y="232" width="200" height="22" rx="4" fill="#1a2e22" stroke="#2d6040" stroke-width="1"/>
<text x="130" y="247" text-anchor="middle" font-family="Inter,sans-serif" font-size="11" fill="#e0e0e0">Hacking//Hustling</text>
<rect x="30" y="262" width="200" height="22" rx="4" fill="#1a2e22" stroke="#2d6040" stroke-width="1"/>
<text x="130" y="277" text-anchor="middle" font-family="Inter,sans-serif" font-size="11" fill="#e0e0e0">SWOP / DSW / FSC</text>
<rect x="30" y="292" width="200" height="22" rx="4" fill="#1a2e22" stroke="#2d6040" stroke-width="1"/>
<text x="130" y="307" text-anchor="middle" font-family="Inter,sans-serif" font-size="11" fill="#e0e0e0">BesD / ESWA</text>
<rect x="30" y="322" width="200" height="22" rx="4" fill="#1a2e22" stroke="#2d6040" stroke-width="1"/>
<text x="130" y="337" text-anchor="middle" font-family="Inter,sans-serif" font-size="11" fill="#e0e0e0">PCC (Scholz)</text>
<rect x="30" y="352" width="200" height="22" rx="4" fill="#1a2e22" stroke="#2d6040" stroke-width="1"/>
<text x="130" y="367" text-anchor="middle" font-family="Inter,sans-serif" font-size="11" fill="#e0e0e0">DEF CON / CCC / BSides</text>
</g>
<!-- ── TIER 2 NODES ── -->
<g id="tier2-nodes">
<rect x="360" y="52" width="200" height="22" rx="4" fill="#1e1e36" stroke="#3d3d8c" stroke-width="1"/>
<text x="460" y="67" text-anchor="middle" font-family="Inter,sans-serif" font-size="11" fill="#e0e0e0">XBIZ</text>
<rect x="360" y="82" width="200" height="22" rx="4" fill="#1e1e36" stroke="#3d3d8c" stroke-width="1"/>
<text x="460" y="97" text-anchor="middle" font-family="Inter,sans-serif" font-size="11" fill="#e0e0e0">404 Media</text>
<rect x="360" y="112" width="200" height="22" rx="4" fill="#1e1e36" stroke="#3d3d8c" stroke-width="1"/>
<text x="460" y="127" text-anchor="middle" font-family="Inter,sans-serif" font-size="11" fill="#e0e0e0">Platformer</text>
<rect x="360" y="142" width="200" height="22" rx="4" fill="#1e1e36" stroke="#3d3d8c" stroke-width="1"/>
<text x="460" y="157" text-anchor="middle" font-family="Inter,sans-serif" font-size="11" fill="#e0e0e0">Fast Company</text>
<rect x="360" y="172" width="200" height="22" rx="4" fill="#1e1e36" stroke="#3d3d8c" stroke-width="1"/>
<text x="460" y="187" text-anchor="middle" font-family="Inter,sans-serif" font-size="11" fill="#e0e0e0">The Markup</text>
<rect x="360" y="202" width="200" height="22" rx="4" fill="#1e1e36" stroke="#3d3d8c" stroke-width="1"/>
<text x="460" y="217" text-anchor="middle" font-family="Inter,sans-serif" font-size="11" fill="#e0e0e0">Rest of World</text>
<rect x="360" y="232" width="200" height="22" rx="4" fill="#1e1e36" stroke="#3d3d8c" stroke-width="1"/>
<text x="460" y="247" text-anchor="middle" font-family="Inter,sans-serif" font-size="11" fill="#e0e0e0">Sifted</text>
<rect x="360" y="262" width="200" height="22" rx="4" fill="#1e1e36" stroke="#3d3d8c" stroke-width="1"/>
<text x="460" y="277" text-anchor="middle" font-family="Inter,sans-serif" font-size="11" fill="#e0e0e0">MIT Tech Review</text>
<rect x="360" y="292" width="200" height="22" rx="4" fill="#1e1e36" stroke="#3d3d8c" stroke-width="1"/>
<text x="460" y="307" text-anchor="middle" font-family="Inter,sans-serif" font-size="11" fill="#e0e0e0">The Intercept</text>
<rect x="360" y="322" width="200" height="22" rx="4" fill="#1e1e36" stroke="#3d3d8c" stroke-width="1"/>
<text x="460" y="337" text-anchor="middle" font-family="Inter,sans-serif" font-size="11" fill="#e0e0e0">Bloomberg / FT</text>
<rect x="360" y="352" width="200" height="22" rx="4" fill="#1e1e36" stroke="#3d3d8c" stroke-width="1"/>
<text x="460" y="367" text-anchor="middle" font-family="Inter,sans-serif" font-size="11" fill="#e0e0e0">Jacobin / Reason</text>
<rect x="360" y="382" width="200" height="22" rx="4" fill="#1e1e36" stroke="#3d3d8c" stroke-width="1"/>
<text x="460" y="397" text-anchor="middle" font-family="Inter,sans-serif" font-size="11" fill="#e0e0e0">Logic / The Baffler</text>
</g>
<!-- ── TIER 1 NODES ── -->
<g id="tier1-nodes">
<rect x="690" y="82" width="200" height="22" rx="4" fill="#2a1e3a" stroke="#5c3d8c" stroke-width="1"/>
<text x="790" y="97" text-anchor="middle" font-family="Inter,sans-serif" font-size="11" fill="#e0e0e0">Ars Technica</text>
<rect x="690" y="142" width="200" height="22" rx="4" fill="#2a1e3a" stroke="#5c3d8c" stroke-width="1"/>
<text x="790" y="157" text-anchor="middle" font-family="Inter,sans-serif" font-size="11" fill="#e0e0e0">TechCrunch</text>
<rect x="690" y="202" width="200" height="22" rx="4" fill="#2a1e3a" stroke="#5c3d8c" stroke-width="1"/>
<text x="790" y="217" text-anchor="middle" font-family="Inter,sans-serif" font-size="11" fill="#e0e0e0">The Verge</text>
<rect x="690" y="262" width="200" height="22" rx="4" fill="#2a1e3a" stroke="#5c3d8c" stroke-width="1"/>
<text x="790" y="277" text-anchor="middle" font-family="Inter,sans-serif" font-size="11" fill="#e0e0e0">The Guardian</text>
<rect x="690" y="322" width="200" height="22" rx="4" fill="#2a1e3a" stroke="#5c3d8c" stroke-width="1"/>
<text x="790" y="337" text-anchor="middle" font-family="Inter,sans-serif" font-size="11" fill="#e0e0e0">ProPublica</text>
<!-- Wired — highlighted as apex -->
<rect x="690" y="382" width="200" height="22" rx="4" fill="#3a1e5c" stroke="#c084fc" stroke-width="1.5"/>
<text x="790" y="397" text-anchor="middle" font-family="Inter,sans-serif" font-size="11" font-weight="700" fill="#c084fc">Wired</text>
</g>
<!-- ── ARROWS: Tier 3 → Tier 2 (single fat bundle with bezier) ── -->
<!-- Collector line: right edge of tier3 ~x=230, center ~y=210 -->
<!-- Distribute to each tier2 node left edge x=360 -->
<!-- T3 bundle collector from x=230 to bezier midpoint x=295 -->
<!-- We draw one thick collected flow as a shaded band, then individual beziers -->
<!-- Individual bezier paths from tier3 right edge to tier2 left edge -->
<!-- T3 centroid y ≈ (52+363)/2 = 207 ; T2 entries staggered -->
<!-- Main flow band: tier3 → tier2 -->
<path d="M 230,207 C 295,207 295,217 360,217" stroke="#34d399" stroke-width="1.5" stroke-opacity="0.25" fill="none"/>
<path d="M 230,63 C 295,63 295,63 360,63" stroke="#34d399" stroke-width="1" stroke-opacity="0.3" fill="none" marker-end="url(#arrow)"/>
<path d="M 230,93 C 295,93 295,93 360,93" stroke="#34d399" stroke-width="1" stroke-opacity="0.3" fill="none" marker-end="url(#arrow)"/>
<path d="M 230,123 C 295,123 295,123 360,123" stroke="#34d399" stroke-width="1" stroke-opacity="0.3" fill="none" marker-end="url(#arrow)"/>
<path d="M 230,153 C 295,153 295,153 360,153" stroke="#34d399" stroke-width="1" stroke-opacity="0.3" fill="none" marker-end="url(#arrow)"/>
<path d="M 230,183 C 295,183 295,183 360,183" stroke="#34d399" stroke-width="1" stroke-opacity="0.3" fill="none" marker-end="url(#arrow)"/>
<path d="M 230,213 C 295,213 295,213 360,213" stroke="#34d399" stroke-width="1" stroke-opacity="0.3" fill="none" marker-end="url(#arrow)"/>
<path d="M 230,243 C 295,243 295,243 360,243" stroke="#34d399" stroke-width="1" stroke-opacity="0.3" fill="none" marker-end="url(#arrow)"/>
<path d="M 230,273 C 295,273 295,273 360,273" stroke="#34d399" stroke-width="1" stroke-opacity="0.3" fill="none" marker-end="url(#arrow)"/>
<path d="M 230,303 C 295,303 295,303 360,303" stroke="#34d399" stroke-width="1" stroke-opacity="0.3" fill="none" marker-end="url(#arrow)"/>
<path d="M 230,333 C 295,333 295,333 360,333" stroke="#34d399" stroke-width="1" stroke-opacity="0.3" fill="none" marker-end="url(#arrow)"/>
<path d="M 230,363 C 295,363 295,363 360,363" stroke="#34d399" stroke-width="1" stroke-opacity="0.3" fill="none" marker-end="url(#arrow)"/>
<!-- Tier3 → Tier2 extras: some tier3s fan to all tier2s via a collector node -->
<path d="M 230,207 C 310,207 310,392 360,393" stroke="#34d399" stroke-width="1" stroke-opacity="0.15" fill="none" marker-end="url(#arrow)"/>
<!-- ── ARROWS: Tier 2 → Tier 1 ── -->
<!-- T2 right edge x=560, fan to T1 left edge x=690 -->
<!-- Six T1 nodes at y: 93, 153, 213, 273, 333, 393 -->
<path d="M 560,93 C 625,93 625,93 690,93" stroke="#818cf8" stroke-width="1" stroke-opacity="0.35" fill="none" marker-end="url(#arrow)"/>
<path d="M 560,123 C 625,123 625,93 690,93" stroke="#818cf8" stroke-width="1" stroke-opacity="0.2" fill="none"/>
<path d="M 560,153 C 625,153 625,153 690,153" stroke="#818cf8" stroke-width="1" stroke-opacity="0.35" fill="none" marker-end="url(#arrow)"/>
<path d="M 560,183 C 625,183 625,153 690,153" stroke="#818cf8" stroke-width="1" stroke-opacity="0.2" fill="none"/>
<path d="M 560,213 C 625,213 625,213 690,213" stroke="#818cf8" stroke-width="1" stroke-opacity="0.35" fill="none" marker-end="url(#arrow)"/>
<path d="M 560,243 C 625,243 625,213 690,213" stroke="#818cf8" stroke-width="1" stroke-opacity="0.2" fill="none"/>
<path d="M 560,273 C 625,273 625,273 690,273" stroke="#818cf8" stroke-width="1" stroke-opacity="0.35" fill="none" marker-end="url(#arrow)"/>
<path d="M 560,303 C 625,303 625,333 690,333" stroke="#818cf8" stroke-width="1" stroke-opacity="0.35" fill="none" marker-end="url(#arrow)"/>
<path d="M 560,333 C 625,333 625,333 690,333" stroke="#818cf8" stroke-width="1" stroke-opacity="0.2" fill="none"/>
<path d="M 560,363 C 625,363 625,393 690,393" stroke="#818cf8" stroke-width="1" stroke-opacity="0.35" fill="none" marker-end="url(#arrow)"/>
<path d="M 560,393 C 625,393 625,393 690,393" stroke="#818cf8" stroke-width="1" stroke-opacity="0.2" fill="none"/>
<!-- Wired gets all tier2 → tier1 flows converging -->
<path d="M 560,273 C 625,273 625,393 690,393" stroke="#818cf8" stroke-width="1" stroke-opacity="0.15" fill="none" marker-end="url(#arrow)"/>
<!-- ── CROSS-CUTTING: Newsletters row ── -->
<!-- Horizontal separator line -->
<line x1="20" y1="427" x2="920" y2="427" stroke="#2a2a2a" stroke-width="1"/>
<!-- Newsletters label -->
<text x="20" y="445" font-family="Inter,sans-serif" font-size="10" fill="#888" font-weight="700" text-transform="uppercase" letter-spacing="0.05em">NEWSLETTERS (inform all tiers)</text>
<rect x="20" y="452" width="120" height="20" rx="4" fill="#1e1b14" stroke="#4a3d1c" stroke-width="1"/>
<text x="80" y="466" text-anchor="middle" font-family="Inter,sans-serif" font-size="10" fill="#fbbf24">Stratechery</text>
<rect x="150" y="452" width="120" height="20" rx="4" fill="#1e1b14" stroke="#4a3d1c" stroke-width="1"/>
<text x="210" y="466" text-anchor="middle" font-family="Inter,sans-serif" font-size="10" fill="#fbbf24">Garbage Day</text>
<rect x="280" y="452" width="120" height="20" rx="4" fill="#1e1b14" stroke="#4a3d1c" stroke-width="1"/>
<text x="340" y="466" text-anchor="middle" font-family="Inter,sans-serif" font-size="10" fill="#fbbf24">Money Stuff</text>
<!-- Newsletter arrows spanning all tiers -->
<path d="M 80,452 C 80,440 800,440 800,452" stroke="#fbbf24" stroke-width="1" stroke-opacity="0.2" fill="none"/>
<!-- Podcasts label -->
<text x="450" y="445" font-family="Inter,sans-serif" font-size="10" fill="#888" font-weight="700">PODCASTS (amplification)</text>
<rect x="450" y="452" width="110" height="20" rx="4" fill="#1e1420" stroke="#3d1e4a" stroke-width="1"/>
<text x="505" y="466" text-anchor="middle" font-family="Inter,sans-serif" font-size="10" fill="#c084fc">Darknet Diaries</text>
<rect x="568" y="452" width="80" height="20" rx="4" fill="#1e1420" stroke="#3d1e4a" stroke-width="1"/>
<text x="608" y="466" text-anchor="middle" font-family="Inter,sans-serif" font-size="10" fill="#c084fc">Hard Fork</text>
<rect x="656" y="452" width="60" height="20" rx="4" fill="#1e1420" stroke="#3d1e4a" stroke-width="1"/>
<text x="686" y="466" text-anchor="middle" font-family="Inter,sans-serif" font-size="10" fill="#c084fc">Pivot</text>
<rect x="724" y="452" width="70" height="20" rx="4" fill="#1e1420" stroke="#3d1e4a" stroke-width="1"/>
<text x="759" y="466" text-anchor="middle" font-family="Inter,sans-serif" font-size="10" fill="#c084fc">Decoder</text>
<rect x="802" y="452" width="110" height="20" rx="4" fill="#1e1420" stroke="#3d1e4a" stroke-width="1"/>
<text x="857" y="466" text-anchor="middle" font-family="Inter,sans-serif" font-size="10" fill="#c084fc">Startup Europe</text>
<!-- Podcast vertical connector to tier2/tier1 -->
<line x1="505" y1="452" x2="505" y2="430" stroke="#c084fc" stroke-width="1" stroke-opacity="0.2" stroke-dasharray="3,3"/>
<line x1="790" y1="452" x2="790" y2="430" stroke="#c084fc" stroke-width="1" stroke-opacity="0.2" stroke-dasharray="3,3"/>
<!-- Tier color legend bottom-right -->
<rect x="690" y="490" width="10" height="10" rx="2" fill="#34d399"/>
<text x="705" y="499" font-family="Inter,sans-serif" font-size="10" fill="#888">Tier 3</text>
<rect x="755" y="490" width="10" height="10" rx="2" fill="#818cf8"/>
<text x="770" y="499" font-family="Inter,sans-serif" font-size="10" fill="#888">Tier 2</text>
<rect x="820" y="490" width="10" height="10" rx="2" fill="#c084fc"/>
<text x="835" y="499" font-family="Inter,sans-serif" font-size="10" fill="#888">Tier 1</text>
</svg>
</div>
<!-- ===== 2. THE RULE ===== -->
<div class="rule-box">
<div class="rule-text">Never pitch a higher tier without coverage from the tier below.</div>
<div class="rule-exception">
<strong>XBIZ exception:</strong> Pitchable at launch — trade publications evaluate on merit, not citation chain.
<br>
<strong>European note:</strong> Sifted unlocks a parallel European press cascade (Der Spiegel, Le Monde, El Pa&iacute;s, Tech.eu).
</div>
</div>
<!-- ===== 3. PUBLICATION TABLES ===== -->
<div class="section-title">Publication Targets</div>
<!-- Tier 1 -->
<div class="tier-badge t1"><span class="dot"></span>Tier 1 &mdash; Features</div>
<div class="table-wrap">
<table class="pub-table">
<thead>
<tr>
<th>Publication</th>
<th>Primary Angle</th>
<th>Key Journalist</th>
<th>Pitch Window</th>
<th>Pitch Doc</th>
</tr>
</thead>
<tbody>
<tr>
<td class="pub-name">Wired</td>
<td>Founder feature narrative</td>
<td class="journalist-name">Amit Katwala</td>
<td><span class="window-badge">P16&ndash;P17</span></td>
<td><a class="pitch-link" href="../press/tech/pitches/wired.md">tech/pitches/wired.md</a></td>
</tr>
<tr>
<td class="pub-name">Ars Technica</td>
<td>Adversarial ML in production</td>
<td class="journalist-name">Benj Edwards</td>
<td><span class="window-badge">P10&ndash;P12</span></td>
<td><a class="pitch-link" href="../press/tech/pitches/ars-technica.md">tech/pitches/ars-technica.md</a></td>
</tr>
<tr>
<td class="pub-name">TechCrunch</td>
<td>Zero-fee cooperative economics</td>
<td class="journalist-name">Amanda Silberling</td>
<td><span class="window-badge">P13&ndash;P15</span></td>
<td><a class="pitch-link" href="../press/tech/pitches/techcrunch.md">tech/pitches/techcrunch.md</a></td>
</tr>
<tr>
<td class="pub-name">The Verge</td>
<td>Platform economy + creator tools</td>
<td class="journalist-name">Mia Sato, Nilay Patel</td>
<td><span class="window-badge">P12&ndash;P14</span></td>
<td><a class="pitch-link" href="../press/tech/pitches/the-verge.md">tech/pitches/the-verge.md</a></td>
</tr>
<tr>
<td class="pub-name">The Guardian</td>
<td>UK filings, Nordic Model</td>
<td class="journalist-name">Multiple</td>
<td><span class="window-badge">P8&ndash;P15</span></td>
<td><a class="pitch-link" href="../press/policy/pitches/the-guardian.md">policy/pitches/the-guardian.md</a></td>
</tr>
<tr>
<td class="pub-name">ProPublica</td>
<td>Radvinsky financial investigation</td>
<td class="journalist-name">Investigative desk</td>
<td><span class="window-badge">P10+</span></td>
<td><a class="pitch-link" href="../press/policy/pitches/propublica.md">policy/pitches/propublica.md</a></td>
</tr>
</tbody>
</table>
</div>
<!-- Tier 2 -->
<div class="tier-badge t2"><span class="dot"></span>Tier 2 &mdash; Named Coverage</div>
<div class="table-wrap">
<table class="pub-table">
<thead>
<tr>
<th>Publication</th>
<th>Primary Angle</th>
<th>Key Journalist</th>
<th>Pitch Window</th>
<th>Pitch Doc</th>
</tr>
</thead>
<tbody>
<tr>
<td class="pub-name">XBIZ</td>
<td>0% take rate + conference circuit</td>
<td class="journalist-name">&mdash;</td>
<td><span class="window-badge launch">Launch</span></td>
<td><a class="pitch-link" href="../press/trade/pitches/xbiz.md">trade/pitches/xbiz.md</a></td>
</tr>
<tr>
<td class="pub-name">404 Media</td>
<td>Adversarial ML protection</td>
<td class="journalist-name">Samantha Cole</td>
<td><span class="window-badge">P3&ndash;P4</span></td>
<td><a class="pitch-link" href="../press/platform/pitches/404-media.md">platform/pitches/404-media.md</a></td>
</tr>
<tr>
<td class="pub-name">Platformer</td>
<td>Platform governance</td>
<td class="journalist-name">Casey Newton</td>
<td><span class="window-badge">P5&ndash;P7</span></td>
<td><a class="pitch-link" href="../press/platform/pitches/platformer.md">platform/pitches/platformer.md</a></td>
</tr>
<tr>
<td class="pub-name">Fast Company</td>
<td>Cooperative economics</td>
<td class="journalist-name">Multiple</td>
<td><span class="window-badge">P6&ndash;P8</span></td>
<td><a class="pitch-link" href="../press/platform/pitches/fast-company.md">platform/pitches/fast-company.md</a></td>
</tr>
<tr>
<td class="pub-name">The Markup</td>
<td>SSRN extraction data analysis</td>
<td class="journalist-name">Data journalists</td>
<td><span class="window-badge">P5&ndash;P7</span></td>
<td><a class="pitch-link" href="../press/tech/pitches/the-markup.md">tech/pitches/the-markup.md</a></td>
</tr>
<tr>
<td class="pub-name">MIT Tech Review</td>
<td>AI for worker protection</td>
<td class="journalist-name">AI/ML reporters</td>
<td><span class="window-badge">P8&ndash;P10</span></td>
<td><a class="pitch-link" href="../press/tech/pitches/mit-technology-review.md">tech/pitches/mit-technology-review.md</a></td>
</tr>
<tr>
<td class="pub-name">Sifted</td>
<td>Icelandic cooperative vs. American extraction</td>
<td class="journalist-name">Freya Pratty, Tom Matsuda</td>
<td><span class="window-badge">P5&ndash;P7</span></td>
<td><a class="pitch-link" href="../press/european/pitches/sifted.md">european/pitches/sifted.md</a></td>
</tr>
<tr>
<td class="pub-name">Rest of World</td>
<td>Iceland jurisdiction, non-US</td>
<td class="journalist-name">Multiple</td>
<td><span class="window-badge">P6&ndash;P9</span></td>
<td><a class="pitch-link" href="../press/european/pitches/rest-of-world.md">european/pitches/rest-of-world.md</a></td>
</tr>
<tr>
<td class="pub-name">The Intercept</td>
<td>Surveillance, banking, FOSTA</td>
<td class="journalist-name">Katherine Krueger, Sam Biddle</td>
<td><span class="window-badge">P7&ndash;P9</span></td>
<td><a class="pitch-link" href="../press/policy/pitches/the-intercept.md">policy/pitches/the-intercept.md</a></td>
</tr>
<tr>
<td class="pub-name">Bloomberg / FT</td>
<td>Deal-peg dependent</td>
<td class="journalist-name">Multiple</td>
<td><span class="window-badge">P6&ndash;P8</span></td>
<td><a class="pitch-link" href="../press/financial/strategy.md">financial/strategy.md</a></td>
</tr>
</tbody>
</table>
</div>
<!-- Tier 3 -->
<div class="tier-badge t3"><span class="dot"></span>Tier 3 &mdash; Community &amp; Social Foundation</div>
<div class="t3-grid">
<a class="t3-card" href="../community/community-and-podcasts.md">
<div class="t3-name">HN &middot; Reddit &middot; dev.to</div>
<div class="t3-type">Developer Seeding</div>
<div class="t3-desc">Show HN submissions, technical community posts, dev.to cross-posts</div>
</a>
<a class="t3-card" href="../community/2600.md">
<div class="t3-name">2600</div>
<div class="t3-type">Hacker Culture</div>
<div class="t3-desc">2600: The Hacker Quarterly article submission — P4&ndash;P6</div>
</a>
<a class="t3-card" href="../community/community-and-podcasts.md">
<div class="t3-name">Zebras Unite</div>
<div class="t3-type">Cooperative Community</div>
<div class="t3-desc">Alternative startup community, cooperative economics framing — P3&ndash;P5</div>
</a>
<a class="t3-card" href="../community/community-and-podcasts.md">
<div class="t3-name">Indie Hackers</div>
<div class="t3-type">Bootstrapped Founders</div>
<div class="t3-desc">Bootstrapped founder community, zero-fee economics narrative — P2&ndash;P4</div>
</a>
<a class="t3-card" href="../community/community-and-podcasts.md">
<div class="t3-name">EFF Deeplinks</div>
<div class="t3-type">Privacy / Civil Liberties</div>
<div class="t3-desc">EFF blog, privacy-as-product advantage, FOSTA critique — P4&ndash;P6</div>
</a>
<a class="t3-card" href="../community/sex-worker-media.md">
<div class="t3-name">Tits &amp; Sass</div>
<div class="t3-type">Sex Worker Media</div>
<div class="t3-desc">Sex worker community validation — essential before Tier 2 pitches</div>
</a>
<a class="t3-card" href="../community/sex-worker-media.md">
<div class="t3-name">Hacking//Hustling</div>
<div class="t3-type">Research Collective</div>
<div class="t3-desc">Academic-adjacent sex worker research org — P1&ndash;P3</div>
</a>
<a class="t3-card" href="../community/advocacy-organizations.md">
<div class="t3-name">SWOP / DSW / FSC</div>
<div class="t3-type">US Advocacy</div>
<div class="t3-desc">Sex Workers Outreach Project, Decriminalize Sex Work, FSC — P2&ndash;P6</div>
</a>
<a class="t3-card" href="../community/advocacy-organizations.md">
<div class="t3-name">BesD / ESWA</div>
<div class="t3-type">European Advocacy</div>
<div class="t3-desc">Berufsverband erotische und sexuelle Dienstleistungen, ESWA — P3&ndash;P8</div>
</a>
<a class="t3-card" href="../academic/cooperativism/strategy.md">
<div class="t3-name">PCC / Scholz</div>
<div class="t3-type">Academic Cooperativism</div>
<div class="t3-desc">Platform Cooperativism Consortium, Trebor Scholz, Nathan Schneider — P3&ndash;P8</div>
</a>
<a class="t3-card" href="../academic/conferences/strategy.md">
<div class="t3-name">DEF CON / CCC / BSides</div>
<div class="t3-type">Security Conferences</div>
<div class="t3-desc">Talk submissions for adversarial ML, privacy tech — ongoing</div>
</a>
<a class="t3-card" href="../academic/ssrn/ssrn-paper.md">
<div class="t3-name">SSRN</div>
<div class="t3-type">Academic Paper</div>
<div class="t3-desc">Preprint on platform extraction economics, cited by Markup &amp; academic press — P1&ndash;P3</div>
</a>
</div>
<!-- ===== 4. TIMELINE OVERLAY ===== -->
<div class="section-title">Tier Activation Timeline</div>
<div class="timeline-container">
<svg id="timeline-svg" width="900" height="130" viewBox="0 0 900 130" xmlns="http://www.w3.org/2000/svg">
<!-- 17 periods, P1P17 -->
<!-- Plot area: x=80 to x=880, width=800 -->
<!-- Period width = 800/17 ≈ 47.06 -->
<defs>
<linearGradient id="t3grad" x1="0" y1="0" x2="1" y2="0">
<stop offset="0%" stop-color="#34d399" stop-opacity="0.05"/>
<stop offset="60%" stop-color="#34d399" stop-opacity="0.3"/>
<stop offset="100%" stop-color="#34d399" stop-opacity="0.05"/>
</linearGradient>
<linearGradient id="t2grad" x1="0" y1="0" x2="1" y2="0">
<stop offset="0%" stop-color="#818cf8" stop-opacity="0.05"/>
<stop offset="50%" stop-color="#818cf8" stop-opacity="0.3"/>
<stop offset="100%" stop-color="#818cf8" stop-opacity="0.05"/>
</linearGradient>
<linearGradient id="t1grad" x1="0" y1="0" x2="1" y2="0">
<stop offset="0%" stop-color="#c084fc" stop-opacity="0.05"/>
<stop offset="50%" stop-color="#c084fc" stop-opacity="0.3"/>
<stop offset="100%" stop-color="#c084fc" stop-opacity="0.05"/>
</linearGradient>
</defs>
<!-- Y labels -->
<text x="72" y="35" text-anchor="end" font-family="Inter,sans-serif" font-size="10" fill="#34d399" font-weight="600">Tier 3</text>
<text x="72" y="65" text-anchor="end" font-family="Inter,sans-serif" font-size="10" fill="#818cf8" font-weight="600">Tier 2</text>
<text x="72" y="95" text-anchor="end" font-family="Inter,sans-serif" font-size="10" fill="#c084fc" font-weight="600">Tier 1</text>
<!-- Tier bars -->
<!-- Tier 3: P1P6 → x: 80 + (0/17)*800 to 80 + (6/17)*800 = 80 to 362 -->
<rect x="80" y="22" width="282" height="20" rx="4" fill="url(#t3grad)" stroke="#34d399" stroke-opacity="0.4" stroke-width="1"/>
<!-- Tier 2: P3P10 → x: 80 + (2/17)*800 to 80 + (10/17)*800 = 174 to 550 -->
<rect x="174" y="52" width="376" height="20" rx="4" fill="url(#t2grad)" stroke="#818cf8" stroke-opacity="0.4" stroke-width="1"/>
<!-- Tier 1: P8P17 → x: 80 + (7/17)*800 to 880 = 409 to 880 -->
<rect x="409" y="82" width="471" height="20" rx="4" fill="url(#t1grad)" stroke="#c084fc" stroke-opacity="0.4" stroke-width="1"/>
<!-- Tier labels inside bars -->
<text x="175" y="36" font-family="Inter,sans-serif" font-size="9" fill="#34d399" opacity="0.8">Foundation Building (P1P6)</text>
<text x="310" y="66" font-family="Inter,sans-serif" font-size="9" fill="#818cf8" opacity="0.8">Named Coverage (P3P10)</text>
<text x="560" y="96" font-family="Inter,sans-serif" font-size="9" fill="#c084fc" opacity="0.8">Features (P8P17)</text>
<!-- X axis period markers -->
<line x1="80" y1="108" x2="880" y2="108" stroke="#333" stroke-width="1"/>
<!-- Period ticks: P1 through P17 -->
<script type="text/x-inline">/* ticks rendered below */</script>
<!-- P1 through P17 static tick marks -->
<!-- x = 80 + (i-1)*(800/16) for i=1..17, step = 50 -->
<!-- Actually: 17 labels, 16 intervals, step = 800/16 = 50 -->
<line x1="80" y1="106" x2="80" y2="112" stroke="#444" stroke-width="1"/>
<text x="80" y="122" text-anchor="middle" font-family="'JetBrains Mono','Fira Code',monospace" font-size="9" fill="#666">P1</text>
<line x1="130" y1="106" x2="130" y2="112" stroke="#444" stroke-width="1"/>
<text x="130" y="122" text-anchor="middle" font-family="'JetBrains Mono','Fira Code',monospace" font-size="9" fill="#666">P2</text>
<line x1="180" y1="106" x2="180" y2="112" stroke="#444" stroke-width="1"/>
<text x="180" y="122" text-anchor="middle" font-family="'JetBrains Mono','Fira Code',monospace" font-size="9" fill="#666">P3</text>
<line x1="230" y1="106" x2="230" y2="112" stroke="#444" stroke-width="1"/>
<text x="230" y="122" text-anchor="middle" font-family="'JetBrains Mono','Fira Code',monospace" font-size="9" fill="#666">P4</text>
<line x1="280" y1="106" x2="280" y2="112" stroke="#444" stroke-width="1"/>
<text x="280" y="122" text-anchor="middle" font-family="'JetBrains Mono','Fira Code',monospace" font-size="9" fill="#666">P5</text>
<line x1="330" y1="106" x2="330" y2="112" stroke="#444" stroke-width="1"/>
<text x="330" y="122" text-anchor="middle" font-family="'JetBrains Mono','Fira Code',monospace" font-size="9" fill="#666">P6</text>
<line x1="380" y1="106" x2="380" y2="112" stroke="#444" stroke-width="1"/>
<text x="380" y="122" text-anchor="middle" font-family="'JetBrains Mono','Fira Code',monospace" font-size="9" fill="#666">P7</text>
<line x1="430" y1="106" x2="430" y2="112" stroke="#444" stroke-width="1"/>
<text x="430" y="122" text-anchor="middle" font-family="'JetBrains Mono','Fira Code',monospace" font-size="9" fill="#666">P8</text>
<line x1="480" y1="106" x2="480" y2="112" stroke="#444" stroke-width="1"/>
<text x="480" y="122" text-anchor="middle" font-family="'JetBrains Mono','Fira Code',monospace" font-size="9" fill="#666">P9</text>
<line x1="530" y1="106" x2="530" y2="112" stroke="#444" stroke-width="1"/>
<text x="530" y="122" text-anchor="middle" font-family="'JetBrains Mono','Fira Code',monospace" font-size="9" fill="#666">P10</text>
<line x1="580" y1="106" x2="580" y2="112" stroke="#444" stroke-width="1"/>
<text x="580" y="122" text-anchor="middle" font-family="'JetBrains Mono','Fira Code',monospace" font-size="9" fill="#666">P11</text>
<line x1="630" y1="106" x2="630" y2="112" stroke="#444" stroke-width="1"/>
<text x="630" y="122" text-anchor="middle" font-family="'JetBrains Mono','Fira Code',monospace" font-size="9" fill="#666">P12</text>
<line x1="680" y1="106" x2="680" y2="112" stroke="#444" stroke-width="1"/>
<text x="680" y="122" text-anchor="middle" font-family="'JetBrains Mono','Fira Code',monospace" font-size="9" fill="#666">P13</text>
<line x1="730" y1="106" x2="730" y2="112" stroke="#444" stroke-width="1"/>
<text x="730" y="122" text-anchor="middle" font-family="'JetBrains Mono','Fira Code',monospace" font-size="9" fill="#666">P14</text>
<line x1="780" y1="106" x2="780" y2="112" stroke="#444" stroke-width="1"/>
<text x="780" y="122" text-anchor="middle" font-family="'JetBrains Mono','Fira Code',monospace" font-size="9" fill="#666">P15</text>
<line x1="830" y1="106" x2="830" y2="112" stroke="#444" stroke-width="1"/>
<text x="830" y="122" text-anchor="middle" font-family="'JetBrains Mono','Fira Code',monospace" font-size="9" fill="#666">P16</text>
<line x1="880" y1="106" x2="880" y2="112" stroke="#444" stroke-width="1"/>
<text x="880" y="122" text-anchor="middle" font-family="'JetBrains Mono','Fira Code',monospace" font-size="9" fill="#666">P17</text>
</svg>
</div>
<!-- ===== 5. CONFERENCE CIRCUIT ===== -->
<div class="section-title">Conference Circuit</div>
<div class="conf-grid">
<div class="conf-card">
<div class="conf-name">XBIZ Miami</div>
<div class="conf-date">May 11&ndash;14, 2026</div>
</div>
<div class="conf-card">
<div class="conf-name">DEF CON 34</div>
<div class="conf-date">Aug 6&ndash;9, 2026</div>
</div>
<div class="conf-card">
<div class="conf-name">XBIZ Amsterdam</div>
<div class="conf-date">Sept 10&ndash;13, 2026</div>
</div>
<div class="conf-card">
<div class="conf-name">eroFame</div>
<div class="conf-date">Oct 2, 2026</div>
</div>
<div class="conf-card">
<div class="conf-name">Venus Berlin</div>
<div class="conf-date">Oct 22&ndash;25, 2026</div>
</div>
<div class="conf-card">
<div class="conf-name">CCC 40C3</div>
<div class="conf-date">Dec 27&ndash;30, 2026</div>
</div>
</div>
<!-- ===== 6. LINKS ===== -->
<div class="section-title">Strategy Docs</div>
<div class="links-grid">
<a class="doc-link" href="../press/README.md">
<i class="doc-icon">&#9679;</i>
<div>
<div class="doc-name">Master Publication Strategy</div>
<div class="doc-sub">press/README.md</div>
</div>
</a>
<a class="doc-link" href="../press/tech/strategy.md">
<i class="doc-icon">&#9679;</i>
<div>
<div class="doc-name">Tech Press</div>
<div class="doc-sub">press/tech/strategy.md</div>
</div>
</a>
<a class="doc-link" href="../press/policy/strategy.md">
<i class="doc-icon">&#9679;</i>
<div>
<div class="doc-name">Policy Press</div>
<div class="doc-sub">press/policy/strategy.md</div>
</div>
</a>
<a class="doc-link" href="../press/platform/strategy.md">
<i class="doc-icon">&#9679;</i>
<div>
<div class="doc-name">Platform Press</div>
<div class="doc-sub">press/platform/strategy.md</div>
</div>
</a>
<a class="doc-link" href="../press/european/strategy.md">
<i class="doc-icon">&#9679;</i>
<div>
<div class="doc-name">European Press</div>
<div class="doc-sub">press/european/strategy.md</div>
</div>
</a>
<a class="doc-link" href="../press/trade/strategy.md">
<i class="doc-icon">&#9679;</i>
<div>
<div class="doc-name">Trade Press</div>
<div class="doc-sub">press/trade/strategy.md</div>
</div>
</a>
<a class="doc-link" href="../press/financial/strategy.md">
<i class="doc-icon">&#9679;</i>
<div>
<div class="doc-name">Financial Press</div>
<div class="doc-sub">press/financial/strategy.md</div>
</div>
</a>
<a class="doc-link" href="../press/ideological/strategy.md">
<i class="doc-icon">&#9679;</i>
<div>
<div class="doc-name">Ideological Press</div>
<div class="doc-sub">press/ideological/strategy.md</div>
</div>
</a>
<a class="doc-link" href="../press/newsletters/strategy.md">
<i class="doc-icon">&#9679;</i>
<div>
<div class="doc-name">Newsletter Ecosystem</div>
<div class="doc-sub">press/newsletters/strategy.md</div>
</div>
</a>
</div>
<div class="timestamp">Publication Strategy &amp; Citation Chain &mdash; Generated 2026-02-26</div>
</body>
</html>