:root, :root[data-theme="statesman"] {
color-scheme: light;
--pv-canvas-bg: #faf8f5;
--pv-canvas-dots: #e0dbd4;
--pv-card-bg: #fffdf9;
--pv-card-border: #e4ddd3;
--pv-card-shadow: rgba(120, 100, 70, 0.08);
--pv-ink: #2c2418;
--pv-muted: #8a8278;
--pv-source: #9c6730;
--pv-source-bg: #fdf3e8;
--pv-requirement: #517c5e;
--pv-requirement-bg: #ecf5ef;
--pv-resolution: #7a68aa;
--pv-resolution-bg: #f0ecf7;
--pv-rule: #4c7986;
--pv-rule-bg: #e8f2f5;
--pv-thread: #8a8578;
--pv-thread-bg: #f5f3ef;
--pv-status-discovery: #b89e5a;
--pv-status-refinement: #7c9eb2;
--pv-status-resolved: #6b9e7a;
--pv-approved: #5b8e6a;
--pv-sev-high: #a85555;
--pv-sev-medium: #a08040;
--pv-wither-superseded: #d4a050;
--pv-font-display: "Source Serif 4", "Source Serif Pro", Georgia, serif;
--pv-font-body: "DM Sans", Cantarell, -apple-system, "Segoe UI", sans-serif;
--pv-font-mono: "DM Mono", "JetBrains Mono", "Fira Code", ui-monospace, monospace;
}
:root[data-theme="piano"] {
color-scheme: light;
--pv-canvas-bg: #f7f4ec;
--pv-canvas-dots: #e3ddcf;
--pv-card-bg: #fffdf7;
--pv-card-border: #ddd6c7;
--pv-card-shadow: rgba(22, 19, 15, 0.07);
--pv-ink: #16130f;
--pv-muted: #8a8375;
--pv-source: #6e6a61;
--pv-source-bg: #f0eee8;
--pv-requirement: #94651c;
--pv-requirement-bg: #f6efe1;
--pv-resolution: #2e2a24;
--pv-resolution-bg: #edeae2;
--pv-rule: #a3273b;
--pv-rule-bg: #f8e9ec;
--pv-thread: #8a8578;
--pv-thread-bg: #f2efe7;
--pv-status-discovery: #94651c;
--pv-status-refinement: #6e6a61;
--pv-status-resolved: #3d5c3a;
--pv-approved: #3d5c3a;
--pv-sev-high: #a3273b;
--pv-sev-medium: #94651c;
--pv-wither-superseded: #b08b3e;
--pv-font-display: "Didot", "Bodoni MT", "Libre Bodoni", "Playfair Display", "Source Serif 4", Georgia, serif;
--pv-font-body: "DM Sans", Cantarell, -apple-system, "Segoe UI", sans-serif;
--pv-font-mono: "DM Mono", "JetBrains Mono", ui-monospace, monospace;
}
:root[data-theme="latte"] {
color-scheme: light;
--pv-canvas-bg: #eff1f5;
--pv-canvas-dots: #dce0e8;
--pv-card-bg: #ffffff;
--pv-card-border: #ccd0da;
--pv-card-shadow: rgba(76, 79, 105, 0.08);
--pv-ink: #4c4f69;
--pv-muted: #8c8fa1;
--pv-source: #996214;
--pv-source-bg: #f9efdd;
--pv-requirement: #327d22;
--pv-requirement-bg: #e8f3e4;
--pv-resolution: #8839ef;
--pv-resolution-bg: #f0e6fd;
--pv-rule: #137a80;
--pv-rule-bg: #e0f1f2;
--pv-thread: #7c7f93;
--pv-thread-bg: #e6e9ef;
--pv-status-discovery: #df8e1d;
--pv-status-refinement: #209fb5;
--pv-status-resolved: #40a02b;
--pv-approved: #40a02b;
--pv-sev-high: #d20f39;
--pv-sev-medium: #df8e1d;
--pv-wither-superseded: #df8e1d;
--pv-font-display: "Source Serif 4", Georgia, serif;
--pv-font-body: "DM Sans", Cantarell, -apple-system, "Segoe UI", sans-serif;
--pv-font-mono: "DM Mono", "JetBrains Mono", ui-monospace, monospace;
}
:root[data-theme="mocha"] {
color-scheme: dark;
--pv-canvas-bg: #1e1e2e;
--pv-canvas-dots: #313244;
--pv-card-bg: #262637;
--pv-card-border: #45475a;
--pv-card-shadow: rgba(17, 17, 27, 0.6);
--pv-ink: #cdd6f4;
--pv-muted: #9399b2;
--pv-source: #fab387;
--pv-source-bg: #3a3243;
--pv-requirement: #a6e3a1;
--pv-requirement-bg: #2f3a44;
--pv-resolution: #cba6f7;
--pv-resolution-bg: #363150;
--pv-rule: #94e2d5;
--pv-rule-bg: #2c3a4a;
--pv-thread: #9399b2;
--pv-thread-bg: #313244;
--pv-status-discovery: #f9e2af;
--pv-status-refinement: #89b4fa;
--pv-status-resolved: #a6e3a1;
--pv-approved: #a6e3a1;
--pv-sev-high: #f38ba8;
--pv-sev-medium: #f9e2af;
--pv-wither-superseded: #f9e2af;
--pv-font-display: "Source Serif 4", Georgia, serif;
--pv-font-body: "DM Sans", Cantarell, -apple-system, "Segoe UI", sans-serif;
--pv-font-mono: "DM Mono", "JetBrains Mono", ui-monospace, monospace;
}
:root[data-theme="dracula"] {
color-scheme: dark;
--pv-canvas-bg: #282a36;
--pv-canvas-dots: #3b3d4d;
--pv-card-bg: #2e3040;
--pv-card-border: #44475a;
--pv-card-shadow: rgba(20, 21, 30, 0.6);
--pv-ink: #f8f8f2;
--pv-muted: #9aa3c7;
--pv-source: #ffb86c;
--pv-source-bg: #3d3a41;
--pv-requirement: #50fa7b;
--pv-requirement-bg: #2e3f3d;
--pv-resolution: #bd93f9;
--pv-resolution-bg: #383353;
--pv-rule: #8be9fd;
--pv-rule-bg: #2c3d4e;
--pv-thread: #9aa3c7;
--pv-thread-bg: #343747;
--pv-status-discovery: #f1fa8c;
--pv-status-refinement: #8be9fd;
--pv-status-resolved: #50fa7b;
--pv-approved: #50fa7b;
--pv-sev-high: #ff5555;
--pv-sev-medium: #f1fa8c;
--pv-wither-superseded: #f1fa8c;
--pv-font-display: "JetBrains Mono", "Cascadia Code", ui-monospace, monospace;
--pv-font-body: "DM Sans", Cantarell, -apple-system, "Segoe UI", sans-serif;
--pv-font-mono: "DM Mono", "JetBrains Mono", ui-monospace, monospace;
}
* { box-sizing: border-box; }
body {
margin: 0;
background: var(--pv-canvas-bg);
color: var(--pv-ink);
font-family: var(--pv-font-body);
font-size: 15px;
line-height: 1.6;
}
a { color: inherit; }
code {
font-family: var(--pv-font-mono);
font-size: max(0.85em, 11px);
}
.icon { width: 1em; height: 1em; flex: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; fill: none; }
.chrome {
background: var(--pv-card-bg);
border-bottom: 1px solid var(--pv-card-border);
font-size: 13px;
}
.chrome-inner {
max-width: 1040px;
margin: 0 auto;
padding: 0.55rem 1.5rem;
display: flex;
align-items: flex-start;
gap: 1rem;
}
.wordmark {
font-family: var(--pv-font-display);
font-weight: 700;
font-size: 15px;
letter-spacing: -0.01em;
}
.wordmark .scope { font-family: var(--pv-font-mono); font-weight: 400; font-size: 11px; color: var(--pv-muted); margin-left: 0.5rem; }
.chrome nav { display: flex; flex: 1 1 auto; min-width: 0; gap: 0.25rem; flex-wrap: wrap; align-items: center; color: var(--pv-muted); }
.chrome nav a { text-decoration: none; padding: 0.15rem 0.4rem; border-radius: 6px; overflow-wrap: anywhere; }
.chrome nav a:hover, .chrome nav a:focus-visible { background: var(--pv-thread-bg); color: var(--pv-ink); }
.global-nav { flex: none !important; font-family: var(--pv-font-mono); font-size: 11px; }
.chrome nav .sep { opacity: 0.5; }
.theme-select {
margin-left: auto;
display: flex;
align-items: center;
gap: 0.4rem;
color: var(--pv-muted);
font-size: 11px;
text-transform: uppercase;
letter-spacing: 0.08em;
}
.theme-select select {
font: inherit;
font-size: 12px;
text-transform: none;
letter-spacing: normal;
color: var(--pv-ink);
background: var(--pv-card-bg);
border: 1px solid var(--pv-card-border);
border-radius: 6px;
padding: 0.2rem 0.4rem;
}
.accent-bar { height: 4px; background: var(--pv-requirement); }
.container { max-width: 1040px; margin: 0 auto; padding: 0 1.5rem; }
.back-link {
display: inline-flex;
align-items: center;
gap: 0.3rem;
margin: 1.25rem 0 1rem;
font-size: 13px;
color: var(--pv-requirement);
opacity: 0.7;
text-decoration: none;
}
.back-link:hover { opacity: 1; }
.title-row { display: flex; align-items: flex-start; gap: 0.75rem; margin-bottom: 1.5rem; }
.title-row > .icon { width: 24px; height: 24px; margin-top: 0.3rem; color: var(--pv-requirement); }
h1 {
font-family: var(--pv-font-display);
font-size: 24px;
font-weight: 700;
letter-spacing: -0.02em;
line-height: 1.3;
margin: 0;
}
.badge-row { display: flex; align-items: center; gap: 0.5rem; margin-top: 0.6rem; flex-wrap: wrap; }
.type-badge {
display: inline-flex;
align-items: center;
gap: 0.35rem;
padding: 0.25rem 0.5rem;
font-size: 12px;
font-weight: 500;
border-radius: 6px;
border: 1px solid var(--tb, var(--pv-thread));
background: var(--tbg, var(--pv-thread-bg));
color: var(--tb, var(--pv-thread));
}
.type-badge .icon { width: 14px; height: 14px; }
.type-badge.requirement { --tb: var(--pv-requirement); --tbg: var(--pv-requirement-bg); }
.type-badge.resolution { --tb: var(--pv-resolution); --tbg: var(--pv-resolution-bg); }
.type-badge.rule { --tb: var(--pv-rule); --tbg: var(--pv-rule-bg); }
.type-badge.source { --tb: var(--pv-source); --tbg: var(--pv-source-bg); }
.status-badge {
display: inline-flex;
align-items: center;
gap: 0.35rem;
padding: 0.25rem 0.55rem;
font-size: 12px;
font-weight: 500;
border-radius: 999px;
color: var(--sc, var(--pv-muted));
background: color-mix(in srgb, var(--sc, var(--pv-muted)) 15%, transparent);
border: 1px solid color-mix(in srgb, var(--sc, var(--pv-muted)) 40%, transparent);
}
.status-badge .icon { width: 14px; height: 14px; }
.status-badge.discovery { --sc: var(--pv-status-discovery); }
.status-badge.approved { --sc: var(--pv-approved); }
.id-chip { font-family: var(--pv-font-mono); font-size: 11px; color: var(--pv-muted); }
.body-grid { display: flex; gap: 1.5rem; padding-bottom: 2rem; }
.body-main { flex: 1; min-width: 0; max-width: 780px; }
.body-margin { flex: none; width: 220px; }
section { margin-bottom: 1.5rem; }
.section-head {
font-size: 12px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.08em;
margin: 0 0 0.5rem;
color: var(--sh, var(--pv-muted));
display: flex;
align-items: center;
gap: 0.4rem;
}
.section-head .icon { width: 14px; height: 14px; }
.sh-requirement { --sh: var(--pv-requirement); }
.sh-resolution { --sh: var(--pv-resolution); }
.sh-rule { --sh: var(--pv-rule); }
.prose { margin: 0; line-height: 1.65; }
.position {
margin: 0;
background: var(--pv-resolution-bg);
border-left: 4px solid var(--pv-resolution);
border-radius: 8px;
padding: 1rem;
font-family: var(--pv-font-display);
font-weight: 500;
line-height: 1.6;
}
.decision-title {
font-family: var(--pv-font-display);
font-size: 16px;
font-weight: 700;
margin: 0 0 0.5rem;
}
.decision-title a { color: var(--pv-resolution); text-decoration: none; }
.decision-title a:hover { text-decoration: underline; }
.territory { display: grid; grid-template-columns: 1fr; gap: 0.75rem; }
.territory-card {
border: 1px solid var(--tb, var(--pv-thread));
background: var(--tbg, var(--pv-thread-bg));
border-radius: 8px;
padding: 0.75rem;
}
.territory-card.rule { --tb: var(--pv-rule); --tbg: var(--pv-rule-bg); }
.territory-card .card-head {
display: flex;
align-items: center;
gap: 0.35rem;
font-size: 11px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--tb);
margin-bottom: 0.6rem;
}
.territory-card .card-head .icon { width: 14px; height: 14px; }
.rule-list { list-style: none; margin: 0; padding: 0; }
.rule-list li {
display: grid;
grid-template-columns: 7.5rem minmax(0, 1fr) auto;
gap: 0.25rem 0.75rem;
align-items: baseline;
padding: 0.45rem 0;
border-top: 1px solid color-mix(in srgb, var(--pv-rule) 18%, transparent);
font-size: 12px;
}
.rule-list li:first-child { border-top: 0; padding-top: 0; }
.rule-list .rcode { font-family: var(--pv-font-mono); font-weight: 500; color: var(--pv-rule); white-space: nowrap; }
.rule-list .rname { grid-column: 1 / 3; font-weight: 600; }
.rule-list .rstatement { grid-column: 2 / 4; color: var(--pv-muted); line-height: 1.5; }
.rule-list .rmeta { display: flex; gap: 0.35rem; align-items: baseline; white-space: nowrap; }
.rule-list .rref { grid-column: 2 / 4; font-family: var(--pv-font-mono); font-size: 11px; color: var(--pv-rule); opacity: 0.65; }
.sev {
font-size: 11px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.06em;
padding: 0.1rem 0.4rem;
border-radius: 4px;
color: var(--sv, var(--pv-muted));
background: color-mix(in srgb, var(--sv, var(--pv-muted)) 12%, transparent);
}
.sev.high { --sv: var(--pv-sev-high); }
.sev.medium { --sv: var(--pv-sev-medium); }
.sev.modality { --sv: var(--pv-thread); }
.attribution {
border-top: 1px solid var(--pv-card-border);
padding-top: 1rem;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 0.5rem 1.5rem;
font-size: 12px;
}
.attribution div { display: flex; align-items: center; gap: 0.4rem; }
.attribution .icon { width: 12px; height: 12px; opacity: 0.4; }
.attribution .k { color: var(--pv-muted); }
.attribution .v { font-weight: 500; }
.margin-head {
font-size: 11px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--pv-resolution);
margin: 0 0 0.75rem;
}
.citation { border-bottom: 1px solid var(--pv-card-border); padding-bottom: 0.75rem; margin-bottom: 0.75rem; }
.citation .cite-head { display: flex; align-items: baseline; gap: 0.35rem; margin-bottom: 0.25rem; }
.citation .cite-num { font-size: 11px; font-weight: 700; color: var(--pv-resolution); opacity: 0.6; font-variant-numeric: tabular-nums; }
.citation .cite-type { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--pv-resolution); opacity: 0.7; }
.citation p { margin: 0; font-size: 12px; line-height: 1.55; }
.citation .cite-ref { font-family: var(--pv-font-mono); font-size: 11px; color: var(--pv-resolution); opacity: 0.5; margin-top: 0.25rem; word-break: break-all; }
.citation.gap {
border: 1px dashed color-mix(in srgb, var(--pv-status-discovery) 55%, transparent);
background: color-mix(in srgb, var(--pv-status-discovery) 8%, transparent);
border-radius: 8px;
padding: 0.6rem 0.7rem;
color: color-mix(in srgb, var(--pv-status-discovery) 85%, var(--pv-ink));
}
.citation.gap p { font-size: 11px; }
.classification { margin-top: 1.5rem; }
.classification .row { display: flex; align-items: center; gap: 0.4rem; font-size: 11px; margin-bottom: 0.4rem; }
.classification .icon { width: 12px; height: 12px; opacity: 0.4; }
.classification .k { color: var(--pv-muted); }
.classification .v { font-weight: 500; margin-left: auto; min-width: 0; text-align: right; overflow-wrap: anywhere; }
.classification .v.mono { font-family: var(--pv-font-mono); font-size: 11px; word-break: break-all; }
.lineage { margin-top: 1.5rem; }
.lineage ol { list-style: none; margin: 0; padding: 0; }
.lineage li { position: relative; padding: 0 0 0.6rem 0.9rem; font-size: 11px; line-height: 1.45; }
.lineage li::before {
content: "";
position: absolute;
left: 0; top: 0.35rem;
width: 7px; height: 7px;
border-radius: 50%;
background: var(--pv-requirement);
opacity: 0.55;
}
.lineage li:not(:last-child)::after {
content: "";
position: absolute;
left: 3px; top: 0.85rem; bottom: -0.05rem;
width: 1px;
background: var(--pv-card-border);
}
.lineage li.current { font-weight: 600; }
.lineage li.current::before { opacity: 1; }
.lineage a { color: var(--pv-requirement); opacity: 0.85; text-decoration: none; }
.lineage a:hover { opacity: 1; text-decoration: underline; }
.field-notes {
border-top: 1px solid var(--pv-card-border);
background: linear-gradient(180deg, color-mix(in srgb, var(--pv-thread-bg) 50%, transparent) 0%, color-mix(in srgb, var(--pv-canvas-bg) 20%, transparent) 100%);
}
.field-notes .container { padding-top: 1.25rem; padding-bottom: 1.5rem; }
.fn-head { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 1rem; }
.fn-head .icon { width: 16px; height: 16px; color: var(--pv-thread); opacity: 0.5; }
.fn-head h2 { font-family: var(--pv-font-display); font-size: 14px; font-weight: 600; margin: 0; }
.fn-head .count { font-size: 11px; color: var(--pv-muted); }
.fn-head .thread-id { font-family: var(--pv-font-mono); font-size: 11px; color: var(--pv-muted); opacity: 0.7; margin-left: auto; }
.fn-list { max-width: 780px; }
.field-note { display: flex; gap: 0.75rem; padding: 0.75rem 0; border-bottom: 1px solid var(--pv-card-border); }
.role-badge {
display: inline-flex;
align-items: center;
gap: 0.25rem;
align-self: flex-start;
margin-top: 0.15rem;
padding: 0.15rem 0.4rem;
font-size: 11px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.08em;
border-radius: 4px;
background: var(--pv-rule-bg);
color: var(--pv-rule);
white-space: nowrap;
}
.role-badge .icon { width: 10px; height: 10px; }
.field-note .fn-body { flex: 1; min-width: 0; }
.field-note .fn-meta { display: flex; align-items: baseline; gap: 0.5rem; margin-bottom: 0.25rem; }
.field-note .who { font-family: var(--pv-font-display); font-size: 11px; font-weight: 600; }
.field-note time { font-size: 11px; color: var(--pv-muted); }
.field-note .fn-takeaway {
margin: 0 0 0.45rem;
color: var(--pv-ink);
font-size: 13px;
font-weight: 650;
line-height: 1.45;
}
.field-note .fn-content { line-height: 1.55; font-size: 13px; }
.field-note .fn-content p { margin: 0 0 0.6rem; white-space: pre-wrap; }
.field-note .fn-content > :last-child { margin-bottom: 0; }
.field-note .fn-content .src { font-family: var(--pv-font-mono); font-size: 11px; color: var(--pv-thread); }
.field-note .fn-list-block { margin: 0.35rem 0 0.7rem; padding-left: 1.5rem; }
.field-note .fn-list-block li { margin: 0.2rem 0; padding-left: 0.15rem; }
.field-note .fn-code {
margin: 0.45rem 0 0.7rem;
padding: 0.65rem 0.75rem;
overflow-x: auto;
border: 1px solid var(--pv-card-border);
border-radius: 6px;
background: var(--pv-canvas-bg);
white-space: pre;
}
.field-note .fn-code code { font-size: 11px; }
.fn-collapsible > summary {
display: flex;
align-items: baseline;
justify-content: space-between;
gap: 1rem;
cursor: pointer;
list-style-position: outside;
}
.fn-collapsible > summary .fn-takeaway { margin-bottom: 0; }
.fn-collapsible > summary .fn-preview {
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-size: 13px;
}
.fn-collapsible .fn-expand {
flex: none;
color: var(--pv-thread);
font-family: var(--pv-font-mono);
font-size: 11px;
text-transform: uppercase;
letter-spacing: 0.05em;
}
.fn-collapsible[open] > summary { margin-bottom: 0.6rem; }
.footer-note { color: var(--pv-muted); font-size: 11px; padding: 1rem 0 2rem; opacity: 0.8; }
@media (max-width: 860px) {
.body-grid { flex-direction: column; }
.body-margin { width: auto; }
.rule-list li { grid-template-columns: 1fr; }
.rule-list .rstatement, .rule-list .rref { grid-column: 1; }
.chrome nav[aria-label="Breadcrumb"] { display: none; }
.global-nav { margin-left: auto; }
.theme-select { display: none; }
}
@media (max-width: 520px) {
.chrome-inner { flex-wrap: wrap; gap: 0.35rem 0.75rem; }
.global-nav { order: 2; width: 100%; margin-left: 0; justify-content: flex-start; }
}
.accent-bar.scope-index { background: var(--pv-thread); }
.accent-bar.resolution { background: var(--pv-resolution); }
.accent-bar.rule { background: var(--pv-rule); }
.accent-bar.source { background: var(--pv-source); }
.back-link.scope-index, .title-row > .icon.scope-index { color: var(--pv-thread); }
.back-link.resolution, .title-row > .icon.resolution { color: var(--pv-resolution); }
.back-link.rule, .title-row > .icon.rule { color: var(--pv-rule); }
.back-link.source, .title-row > .icon.source { color: var(--pv-source); }
.status-badge.refinement { --sc: var(--pv-status-refinement); }
.status-badge.active, .status-badge.resolved { --sc: var(--pv-status-resolved); }
.status-badge.resolved-unbacked { --sc: var(--pv-muted); }
.status-badge.draft, .status-badge.review, .status-badge.proposed { --sc: var(--pv-status-discovery); }
.status-badge.revised, .status-badge.superseded { --sc: var(--pv-wither-superseded); }
.status-badge.rejected, .status-badge.abandoned { --sc: var(--pv-sev-high); }
.sev.critical { --sv: var(--pv-sev-high); }
.sev.low { --sv: var(--pv-thread); }
.territory-card.requirement { --tb: var(--pv-requirement); --tbg: var(--pv-requirement-bg); }
.territory-card.resolution { --tb: var(--pv-resolution); --tbg: var(--pv-resolution-bg); }
.territory-card.source { --tb: var(--pv-source); --tbg: var(--pv-source-bg); }
.sh-source { --sh: var(--pv-source); }
.sh-thread { --sh: var(--pv-thread); }
section:has(> .sh-requirement) { --pv-link-color: var(--pv-requirement); }
section:has(> .sh-resolution) { --pv-link-color: var(--pv-resolution); }
section:has(> .sh-rule) { --pv-link-color: var(--pv-rule); }
section:has(> .sh-source) { --pv-link-color: var(--pv-source); }
.link-list { list-style: none; margin: 0; padding: 0; }
.link-list li { padding: 0.35rem 0; border-top: 1px solid color-mix(in srgb, var(--pv-card-border) 60%, transparent); font-size: 13px; }
.link-list li:first-child { border-top: 0; padding-top: 0; }
.link-list a { color: var(--pv-link-color, var(--pv-resolution)); text-decoration: none; }
.link-list a:hover, .link-list a:focus-visible { text-decoration: underline; }
.index-list { list-style: none; margin: 0; padding: 0; }
.index-list li { display: flex; align-items: baseline; gap: 0.6rem; flex-wrap: wrap; padding: 0.55rem 0; border-top: 1px solid var(--pv-card-border); }
.index-list li:first-child { border-top: 0; padding-top: 0; }
.index-list .entry-title { color: var(--pv-requirement); font-family: var(--pv-font-display); font-weight: 600; text-decoration: none; }
.index-list .entry-title:hover, .index-list .entry-title:focus-visible { text-decoration: underline; }
.index-list .entry-counts { font-family: var(--pv-font-mono); font-size: 11px; color: var(--pv-muted); margin-left: auto; white-space: nowrap; }
.evidence-list { list-style: none; margin: 0; padding: 0; }
.evidence-list li { font-family: var(--pv-font-mono); font-size: 12px; padding: 0.25rem 0; color: var(--pv-rule); }
.code-site { margin: 0; font-family: var(--pv-font-mono); font-size: 12px; color: var(--pv-rule); }
.code-site code, .verification-list code { font-weight: 600; }
.site-separator { color: var(--pv-muted); }
.verification-list { list-style: none; margin: 0; padding: 0; }
.verification-list li { padding: 0.45rem 0; border-top: 1px solid color-mix(in srgb, var(--pv-card-border) 60%, transparent); font-family: var(--pv-font-mono); font-size: 12px; }
.verification-list li:first-child { border-top: 0; padding-top: 0; }
.verification-method { display: inline-block; margin-right: 0.35rem; padding: 0.1rem 0.35rem; border-radius: 4px; background: var(--pv-rule-bg); color: var(--pv-rule); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; }
.site-note { margin-left: 0.35rem; color: var(--pv-muted); font-family: var(--pv-font-body); font-size: 11px; }
.site-note::before { content: "("; }
.site-note::after { content: ")"; }
.empty-state { margin: 0; color: var(--pv-muted); font-style: italic; }
.scan-note { margin: 0.6rem 0 0; color: var(--pv-muted); font-size: 11px; }
.scan-note code { font-family: var(--pv-font-mono); }
.orphan-card {
--pv-link-color: color-mix(in srgb, var(--pv-status-discovery) 85%, var(--pv-ink));
border: 1px dashed color-mix(in srgb, var(--pv-status-discovery) 55%, transparent);
background: color-mix(in srgb, var(--pv-status-discovery) 8%, transparent);
border-radius: 8px;
padding: 0.75rem;
}
.orphan-card h3 { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; margin: 0.6rem 0 0.25rem; color: color-mix(in srgb, var(--pv-status-discovery) 85%, var(--pv-ink)); }
.orphan-card h3:first-child { margin-top: 0; }
.orphan-card .why { color: var(--pv-muted); font-size: 11px; }
.domain-group {
scroll-margin-top: 1rem;
border: 1px solid var(--pv-card-border);
border-left: 4px solid var(--pv-requirement);
background: var(--pv-card-bg);
border-radius: 8px;
padding: 1rem;
margin-bottom: 0.85rem;
}
.domain-group.domain-gap { border-left-color: var(--pv-status-discovery); border-style: dashed; }
.domain-group h2 { font-family: var(--pv-font-display); font-size: 18px; margin: 0; }
.domain-group .domain-id { display: block; color: var(--pv-muted); margin: 0.15rem 0 0.65rem; overflow-wrap: anywhere; }
.domain-records { margin-top: 0.9rem; }
.domain-records h3 { margin: 0 0 0.35rem; font-size: 11px; text-transform: uppercase; letter-spacing: 0.08em; }
.domain-records.requirement { --pv-link-color: var(--pv-requirement); }
.domain-records.rule { --pv-link-color: var(--pv-rule); }
.data-note, .empty-note { color: var(--pv-muted); font-size: 12px; }
.data-note { padding-left: 0.65rem; border-left: 2px solid var(--pv-status-discovery); }
.search-box { margin-bottom: 1rem; }
.search-box label { display: block; margin-bottom: 0.35rem; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; }
.search-box div { display: flex; gap: 0.5rem; }
.search-box input {
min-width: 0; flex: 1; border: 1px solid var(--pv-card-border); border-radius: 8px;
background: var(--pv-card-bg); color: var(--pv-ink); font: inherit; padding: 0.65rem 0.75rem;
}
.search-box input:focus-visible { outline: 2px solid var(--pv-rule); outline-offset: 2px; }
.search-box button { border: 0; border-radius: 8px; background: var(--pv-rule); color: var(--pv-card-bg); font: inherit; font-weight: 600; padding: 0.65rem 1rem; cursor: pointer; }
.search-summary { color: var(--pv-muted); font-family: var(--pv-font-mono); font-size: 11px; }
.search-results { list-style: none; margin: 0; padding: 0; }
.search-results li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0.35rem 0.65rem; padding: 0.8rem 0; border-top: 1px solid var(--pv-card-border); }
.search-results li[hidden] { display: none; }
.search-results a { align-self: center; font-family: var(--pv-font-display); font-weight: 600; text-decoration: none; overflow-wrap: anywhere; }
.search-results a:hover, .search-results a:focus-visible { text-decoration: underline; }
.search-results p { grid-column: 2; margin: 0; color: var(--pv-muted); font-size: 12px; overflow-wrap: anywhere; }
@media (max-width: 760px) {
.search-box div { align-items: stretch; flex-direction: column; }
.search-box button { width: 100%; }
.search-results li { grid-template-columns: 1fr; }
.search-results p { grid-column: 1; }
}