985 lines
45 KiB
HTML
985 lines
45 KiB
HTML
<!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 & Citation Chain</h1>
|
||
<p class="subtitle">3-tier citation chain · 8 press domains · 26 pitch docs · 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 & 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í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 — 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–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–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–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–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–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 — 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">—</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–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–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–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–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–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–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–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–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–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 — Community & Social Foundation</div>
|
||
<div class="t3-grid">
|
||
<a class="t3-card" href="../community/community-and-podcasts.md">
|
||
<div class="t3-name">HN · Reddit · 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–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–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–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–P6</div>
|
||
</a>
|
||
<a class="t3-card" href="../community/sex-worker-media.md">
|
||
<div class="t3-name">Tits & 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–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–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–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–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 & academic press — P1–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, P1–P17 -->
|
||
<!-- 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: P1–P6 → 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: P3–P10 → 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: P8–P17 → 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 (P1–P6)</text>
|
||
<text x="310" y="66" font-family="Inter,sans-serif" font-size="9" fill="#818cf8" opacity="0.8">Named Coverage (P3–P10)</text>
|
||
<text x="560" y="96" font-family="Inter,sans-serif" font-size="9" fill="#c084fc" opacity="0.8">Features (P8–P17)</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–14, 2026</div>
|
||
</div>
|
||
<div class="conf-card">
|
||
<div class="conf-name">DEF CON 34</div>
|
||
<div class="conf-date">Aug 6–9, 2026</div>
|
||
</div>
|
||
<div class="conf-card">
|
||
<div class="conf-name">XBIZ Amsterdam</div>
|
||
<div class="conf-date">Sept 10–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–25, 2026</div>
|
||
</div>
|
||
<div class="conf-card">
|
||
<div class="conf-name">CCC 40C3</div>
|
||
<div class="conf-date">Dec 27–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">●</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">●</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">●</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">●</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">●</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">●</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">●</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">●</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">●</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 & Citation Chain — Generated 2026-02-26</div>
|
||
|
||
</body>
|
||
</html>
|