= htmlspecialchars($zone["title"]) ?>
= htmlspecialchars($zone["summary"]) ?>
CSS: = htmlspecialchars($zone["css"]) ?> · Computed: = htmlspecialchars($zone["computed"]) ?>"PDF text", "applet" => "Applet", "bot" => "External bot/system", "tool" => "Tool", "github" => "Repository", "archive" => "Archive / utility", "presentation" => "Presentation", "media" => "Media", "dataset" => "Dataset", "source" => "Source file", "external" => "External system", "onsite" => "On-site branch", "branch" => "Branch", "research" => "Research system", "manual" => "Manual", "table" => "Table", "main-branch" => "Main branch", ][$category] ?? ucfirst(str_replace("-", " ", $category)); } function section_by_id(array $sections, string $id): ?array { foreach ($sections as $section) { if (($section["id"] ?? "") === $id) return $section; } return null; } function links_for_sections(array $links, array $ids): array { $set = array_fill_keys($ids, true); return array_values(array_filter($links, static fn(array $link): bool => isset($set[$link["section"] ?? ""]))); } $categoryCounts = []; foreach ($links as $link) { $cat = ref_category($link); $categoryCounts[$cat] = ($categoryCounts[$cat] ?? 0) + 1; } ksort($categoryCounts); $pdfLinks = array_values(array_filter($links, fn($link) => ref_category($link) === "pdf")); $pdfCount = count($pdfLinks); $utilityCount = isset($utilityLinks) ? count($utilityLinks) : 0; ?>
CSS-aware reference system
= htmlspecialchars($sourceOwnershipNote) ?>
Position model from CSS + computed layout
The public page uses inline CSS, fixed clusters, absolute panels, nested articles/sections, and small JavaScript hover/scroll helpers. This page separates those layers before grouping links.
= htmlspecialchars($zone["summary"]) ?>
CSS: = htmlspecialchars($zone["css"]) ?> · Computed: = htmlspecialchars($zone["computed"]) ?>Icon order + bright pins
= htmlspecialchars($section["summary"]) ?>
Main title gate · = htmlspecialchars($chapter["computed"]) ?>
= htmlspecialchars($chapter["summary"]) ?>
📄 PDF icon mode
This mode ignores applets, repositories, datasets, media, counters and utility chrome. It is the final separation for the PDF-only icon path.
Separated utility chrome
These links still exist in the source, but CSS/JS places some of them as fixed or absolute controls. They are listed here only as utility chrome.
Live precision scanner
This scanner now reports the same CSS-aware separation: fixed/absolute chrome is not Coffee ownership, and every link keeps its source-order block context when possible.