/* Agent: RECORD. Record pages extend the shared Broadcastwell shell and its tokens. */
/* The self-hosted faces, declared here as well so a record page never depends on another sheet for them. */
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-var.woff2) format('woff2')}
@font-face{font-family:"Geist Mono";font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-mono-var.woff2) format('woff2')}
.record-hero { margin: 36px 0 24px; padding: 28px; border-top: 2px solid var(--bw-bar); border-bottom: 1px solid var(--bw-bar); background: var(--bw-surface); }
.record-count { color: var(--bw-heading); font-size: 72px; line-height: 1.15; font-weight: 600; margin: 20px 0; letter-spacing: -0.04em; }
.record-count span { display: block; margin-top: 10px; font-size: 24px; font-weight: 500; letter-spacing: 0; }
.record-rate { display: inline-block; max-width: 70ch; }
.record-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 24px; }
.record-grid h3 { font-family: var(--bw-mono); font-size: 13px; font-weight: 500; color: var(--bw-text); }
.actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.actions a { display: inline-flex; align-items: center; min-height: 44px; }
.question-list { margin-top: 28px; }
.question { padding: 24px 0; border-bottom: 1px solid var(--bw-bar); }
.question h2, .question h3 { max-width: 44ch; font-size: 24px; line-height: 1.3; }
.question li { margin: 12px 0; }
.question summary { display: flex; align-items: center; min-height: 44px; font-weight: 600; cursor: pointer; color: var(--bw-heading); }
.question-id { font-family: var(--bw-mono); font-size: 13px; color: var(--bw-text); }
.facts { display: grid; grid-template-columns: 150px minmax(0,1fr); gap: 12px 24px; margin: 28px 0; }
.facts dt { font-weight: 600; color: var(--bw-heading); }
.facts dd { margin: 0; }
.about-page { max-width: 75ch; padding: 28px; border: 1px solid var(--bw-bar); }
.about-page h2 { font-size: 24px; }
.filter-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-top: 32px; align-items: end; }
label { display: grid; gap: 8px; font-weight: 600; }
input, select, textarea, button { max-width: 100%; min-width: 0; min-height: 44px; border: 1px solid var(--bw-bar); border-radius: 10px; background: var(--bw-surface); color: var(--bw-heading); padding: 12px; font: inherit; }
button { background: transparent; cursor: pointer; font-weight: 600; transition: background-color 150ms ease; }
button:hover { background: rgba(59, 130, 246, 0.10); }
textarea { min-height: 140px; width: 100%; }
.request-form { display: grid; gap: 24px; max-width: 68ch; }
.badge-previews { display: flex; flex-wrap: wrap; gap: 24px; margin: 32px 0; }
.badge-previews img { max-width: 100%; height: auto; }
pre { max-width: 100%; white-space: pre-wrap; overflow-wrap: anywhere; padding: 24px; background: var(--bw-surface); border: 1px solid var(--bw-bar); font-family: var(--bw-mono); font-size: 13px; }
.embed-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 12px 0 0; }
.embed-actions p { margin: 0; color: var(--bw-muted); }
.record-alert { padding: 20px; border-left: 3px solid var(--bw-bar); }
.success { padding: 20px; border: 1px solid var(--bw-bar); }
.check-label { display: flex; align-items: flex-start; gap: 12px; }
.check-label input { min-height: 24px; margin-top: 4px; }
@media (max-width: 640px) {
 .record-grid, .filter-grid { grid-template-columns: minmax(0,1fr); }
 .record-count { font-size: 56px; }
 .record-count span { font-size: 22px; }
 .record-hero, .about-page { padding: 20px; }
 .facts { grid-template-columns: 1fr; gap: 6px; }
 .facts dd { margin-bottom: 16px; }
 .question h2, .question h3 { font-size: 21px; }
}

/* Agent: RECORD 2. Wheel remains absent without complete measurement grids. */
.record-wheel svg{display:block;width:100%;max-width:720px;height:auto;margin:24px auto}.record-wheel svg:focus-within{outline:2px solid var(--bw-bar)}

/* Agent: RECORD 2. Readable native forms and status identifiers. */
.request-form{max-width:680px}.request-form input,.request-form select,.request-form textarea{font:inherit;max-width:100%;box-sizing:border-box}.request-form textarea{min-height:160px}.request-status-list{padding-left:24px}.request-status-list strong{overflow-wrap:anywhere}main pre{white-space:pre-wrap;overflow-wrap:anywhere}main button{font:inherit;cursor:pointer}main button:focus-visible{outline:2px solid var(--bw-bar);outline-offset:2px}
.check-label input[type=checkbox]{flex:0 0 24px;width:24px;height:24px;min-height:24px;appearance:auto;accent-color:var(--bw-cobalt)}

.index-brief{max-width:1000px}.brief-count{font-size:1.4rem;color:#1D4ED8;background:#EFF6FF;padding:16px;border-left:3px solid #3B82F6}.brief-engines{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:18px;background:#EFF6FF;color:#0B1220}.brief-engines p{margin:0;font-size:15px}.index-brief table{min-width:620px}.index-brief th,.index-brief td{font-size:14px;vertical-align:top}.index-brief td:first-child{width:48%}.index-brief th:nth-child(2),.index-brief td:nth-child(2){min-width:85px;white-space:nowrap}.record-actions li{margin-bottom:14px}.climb-strip .panel{border-top:3px solid #3B82F6}
@media(max-width:640px){.brief-engines{grid-template-columns:repeat(2,minmax(0,1fr))}.brief-engines p{font-size:14px}.index-brief h1{overflow-wrap:anywhere}.index-brief table{min-width:0}.index-brief td:first-child{width:auto}.index-brief td{white-space:normal}.index-brief th:nth-child(2),.index-brief td:nth-child(2){min-width:0}}
@media print{.site-header,.primary-nav,.site-footer,.newsletter,.about-page,.vendor-offers,.record-actions{display:none}.index-brief{font-size:10pt}.index-brief h1{font-size:24pt}.index-brief h2{font-size:13pt}.index-brief table{min-width:0}.index-brief th,.index-brief td{font-size:8pt}.index-brief .button{display:none}}

/* SIGNED 8 Oct 2026: study records on vendor pages */
.study-items{list-style:none;padding:0;margin:24px 0}.study-items li{padding:16px 0;border-bottom:1px solid var(--bw-bar)}.study-items blockquote{margin:12px 0;padding:12px 16px;border-left:3px solid var(--bw-bar);background:var(--bw-surface)}.study-items blockquote footer{font-family:var(--bw-mono);font-size:13px;color:var(--bw-muted)}.runs-badge{display:inline-block;padding:2px 8px;border:1px solid var(--bw-bar);border-radius:999px;font-family:var(--bw-mono);font-size:12px;color:var(--bw-text)}.review-state{font-size:14px;color:var(--bw-muted)}.review-state.verified{color:var(--bw-heading);font-weight:600}.change-mark{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;background:var(--bw-surface);border:1px solid var(--bw-bar);font-size:12px;color:var(--bw-heading)}.change-mark[hidden]{display:none}
#criteria-maps{margin:36px 0;padding-top:24px;border-top:1px solid #cedbef;min-width:0}
#criteria-maps .criteria-list{padding-left:24px}
#criteria-maps .criteria-list>li{border-top:1px solid #cedbef;padding:12px 0 20px}
#criteria-maps h3{font-size:20px;line-height:1.4}
#criteria-maps p,#criteria-maps li,#criteria-maps a,.criteria-evidence-id{overflow-wrap:anywhere;min-width:0}
#criteria-maps details{margin:12px 0}
#criteria-maps summary{cursor:pointer;color:var(--bw-heading);min-height:44px;padding:8px 0}
#criteria-maps summary:focus-visible{outline:2px solid var(--bw-heading);outline-offset:3px}
#criteria-maps blockquote{border-left:3px solid #3b82f6;margin:16px 0;padding:4px 16px;overflow-wrap:anywhere}
.criteria-downloads{overflow-wrap:anywhere}
@media(max-width:640px){#criteria-maps .criteria-list{padding-left:20px}}

/* PHP2Shell Statement Index and AI Answer Watch, 23 Oct 2026. Dark Index surfaces, blue palette only; status and grade marks never use red. */
.status,.grade,.flag{display:inline-block;padding:2px 10px;border:1px solid var(--bw-bar);border-radius:999px;font-family:var(--bw-mono);font-size:12px;line-height:1.6;color:var(--bw-heading);background:rgba(59,130,246,0.18);white-space:nowrap}
.status-no-public-statement-located,.grade-no-status-named,.flag-none,.flag-off{background:transparent;border-color:var(--bw-line);color:var(--bw-muted)}
.status-patching,.status-patched-partly,.status-mitigation-only,.status-customer-must-update{background:transparent;border-style:dashed}
.grade-contradiction,.flag-wrong{background:var(--bw-heading);border-color:var(--bw-heading);color:var(--bw-ink)}
.grade-excluded{background:transparent;border-style:dashed;color:var(--bw-muted)}
.flags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}
.cell-missing{font-family:var(--bw-mono);font-size:12px;color:var(--bw-muted)}
.verbatim{margin:8px 0;padding:8px 14px;border-left:3px solid var(--bw-bar);background:var(--bw-surface);color:var(--bw-text);font-size:14px;line-height:1.55;overflow-wrap:anywhere}
.verbatim p{margin:0}
q.verbatim{display:inline;padding:0 2px;border:0;background:transparent;color:inherit;font-size:inherit;quotes:"\201C" "\201D"}
#statement-controls{display:grid;gap:16px;margin:24px 0}
#statement-controls label{max-width:420px}
.php2shell-tabs{display:flex;flex-wrap:wrap;gap:8px}
.php2shell-tabs button{min-height:44px;padding:8px 16px;border-radius:999px}
.php2shell-tabs button[aria-pressed="true"]{background:var(--bw-heading);border-color:var(--bw-heading);color:var(--bw-ink)}
.sort-button{min-height:32px;padding:0;border:0;border-radius:0;background:transparent;font:inherit;font-weight:inherit;color:inherit;text-align:left;cursor:pointer;text-decoration:underline dotted}
.sort-button:hover{background:transparent;text-decoration:underline}
th[aria-sort="ascending"] .sort-button::after{content:" \2191"}
th[aria-sort="descending"] .sort-button::after{content:" \2193"}
.php2shell-counts .facts{grid-template-columns:minmax(0,1fr) 56px;margin:16px 0 0;gap:10px 16px;align-items:center}
.php2shell-counts dd{font-family:var(--bw-mono);font-size:20px;color:var(--bw-heading);text-align:right}
.php2shell-record dd{overflow-wrap:anywhere}
.php2shell-record ul{margin:0;padding-left:20px}
.php2shell-log{padding-left:20px}
.php2shell-log li{margin:8px 0}
.php2shell-questions{padding-left:20px}
.php2shell-questions li{margin:10px 0;font-size:18px}
.php2shell-questions .question-id{margin-right:8px}
.php2shell-engines{grid-template-columns:repeat(2,minmax(0,1fr))}
.php2shell-engines .panel{min-width:0}
.php2shell-grid table{min-width:1080px}
.php2shell-grid th[scope="row"]{min-width:200px;font-size:14px}
.php2shell-grid td{font-size:14px;vertical-align:top;min-width:200px}
.php2shell-chart{margin:24px 0}
.php2shell-chart svg{display:block;width:100%;max-width:720px;height:auto}
.php2shell-chart figcaption{font-size:14px;color:var(--bw-muted)}
@media (max-width: 640px){.php2shell-engines{grid-template-columns:minmax(0,1fr)}.php2shell-grid table{min-width:0}.php2shell-grid th[scope="row"],.php2shell-grid td{min-width:0}.php2shell-counts .facts{grid-template-columns:minmax(0,1fr) 56px}}

/* Keep the statement sorting label separate from the selected value. */
#statement-controls .statement-sort-label{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
#statement-sort{min-height:44px;max-width:100%}

/* Preserve readable desktop columns even when a statement names several releases. */
@media(min-width:641px){#statement-table{table-layout:fixed;min-width:1100px}#statement-table th:nth-child(1){width:18%}#statement-table th:nth-child(2){width:10%}#statement-table th:nth-child(3){width:23%}#statement-table th:nth-child(4){width:18%}#statement-table th:nth-child(5){width:23%}#statement-table th:nth-child(6){width:8%}#statement-table th:last-child,#statement-table td:last-child{white-space:nowrap}}
