/* SafeRouter content family. Reading widths and operational density are distinct.
   Shared tokens/navigation remain in product.css; no capability or legal copy changes. */
.sr-docs .wrap-grid {max-width:1256px;grid-template-columns:208px minmax(0,1fr);gap:64px;padding-inline:36px;}
.sr-docs aside.toc {top:24px;padding-top:52px;max-height:calc(100dvh - 48px);}
.sr-docs .toc :is(a,.toc-title) {font-family:var(--font-sans);}
.sr-docs .toc .toc-title {font-size:10px;letter-spacing:.08em;margin:24px 0 8px;}
.sr-docs .toc .toc-title::before,.sr-docs .eyebrow::before {content:none;}
.sr-docs .toc a {font-size:12px;padding:8px 12px;min-height:36px;border-left-color:transparent;}
.sr-docs .toc a.active {border-left-color:var(--accent);border-radius:0 4px 4px 0;}
.sr-docs .hero h1 {font-size:clamp(30px,3.3vw,46px);max-width:25ch;letter-spacing:-.045em;}
.sr-docs .hero {margin-bottom:48px;}
.sr-docs .hero p.sub {max-width:65ch;font-size:16px;}
.sr-docs .meta {margin-top:28px;font-family:var(--font-sans);font-size:12px;border-radius:8px;overflow:hidden;}
.sr-docs .meta b {flex-basis:150px;padding:10px 14px;}
.sr-docs .meta span {padding:10px 14px;word-break:normal;overflow-wrap:anywhere;}
.sr-docs section.block {margin-bottom:56px;scroll-margin-top:110px;}
.sr-docs .block :is(p,ul,ol) {font-size:15px;line-height:1.85;}
.sr-docs .block h2 {font-size:27px;font-weight:550;margin-bottom:18px;}
.sr-docs .block h3 {font-size:17px;margin-top:26px;}
.sr-docs .eyebrow {font-family:var(--font-sans);letter-spacing:.06em;font-size:10px;margin-bottom:10px;}
.sr-docs pre {padding:20px;font-size:12px;line-height:1.85;}
.sr-docs .callout {border:0;border-left:3px solid var(--accent);padding:18px 22px;border-radius:0 6px 6px 0;}
.sr-docs .shot {margin-block:26px;}
.sr-docs .shot figcaption {font-family:var(--font-sans);font-size:12px;}
/* Notes use horizontal editorial rows rather than a generic card wall. */
.sr-signal main {max-width:1184px;width:100%;padding-inline:36px;}
.sr-signal .hero {padding-bottom:24px;}
.sr-signal .filters {gap:8px;margin:0 0 28px;flex-wrap:wrap;}
.sr-signal .filter-pill {font-family:var(--font-sans);font-size:12px;min-height:40px;padding:8px 16px;border-radius:5px;}
.sr-signal .posts {display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--border);}
.sr-signal .post-card {display:grid;grid-template-columns:130px minmax(0,1fr) 105px;column-gap:28px;align-items:start;background:transparent;border:0;border-bottom:1px solid var(--border);border-radius:0;padding:32px 0;transition:background .18s ease;}
.sr-signal .post-card:hover {background:var(--bg-elevated-2);}
.sr-signal .post-card .tag {grid-column:1;grid-row:1/3;justify-self:start;margin:4px 0;font-family:var(--font-sans);font-size:10px;letter-spacing:.08em;border:0;border-radius:3px;background:var(--accent-tint);color:var(--accent);padding:6px 8px;}
.sr-signal .post-card h2 {grid-column:2;grid-row:1;font-size:24px;font-weight:550;letter-spacing:-.035em;line-height:1.25;margin:0 0 14px;max-width:34ch;}
.sr-signal .post-card p {grid-column:2;grid-row:2;margin:0;font-size:14px;line-height:1.8;max-width:64ch;}
.sr-signal .post-card .meta {grid-column:3;grid-row:1;margin:6px 0 0;font-family:var(--font-sans);font-size:11px;text-align:right;color:var(--fg-muted);}
/* Articles and legal documents retain their full text with a measured reading column. */
body[class*="sr-signal-"] main {padding:0!important;}
body[class*="sr-signal-"] article {max-width:808px;margin:auto;padding:56px 36px 80px;}
body[class*="sr-signal-"] article h1 {font-size:clamp(32px,4vw,52px);font-weight:500;letter-spacing:-.05em;line-height:1.1;margin:18px 0 24px;}
body[class*="sr-signal-"] article .tag {font-family:var(--font-sans);background:var(--accent-tint);color:var(--accent);border:0;border-radius:3px;font-size:10px;letter-spacing:.08em;}
body[class*="sr-signal-"] article .meta {font-family:var(--font-sans);font-size:12px;color:var(--fg-muted);padding-bottom:24px;border-bottom:1px solid var(--border);margin-bottom:32px;}
body[class*="sr-signal-"] article :is(p,li) {font-size:16px;line-height:1.9;}
body[class*="sr-signal-"] article h2 {font-size:26px;margin:40px 0 16px;font-weight:550;}
body[class*="sr-signal-"] article h3 {font-size:19px;margin:30px 0 12px;}
body[class*="sr-signal-"] article .cta {margin-top:40px;padding:24px;border-left:3px solid var(--accent);background:var(--accent-tint);border-radius:0 6px 6px 0;}
:is(.sr-privacy,.sr-terms,.sr-dpa) main {max-width:880px;width:100%;padding-inline:36px;}
:is(.sr-privacy,.sr-terms,.sr-dpa) .doc-head h1 {font-size:44px;font-weight:500;letter-spacing:-.045em;line-height:1.15;}
:is(.sr-privacy,.sr-terms,.sr-dpa) .doc-nav {padding-block:16px;margin-bottom:32px;border-block:1px solid var(--border);font-size:12px;line-height:2;}
:is(.sr-privacy,.sr-terms,.sr-dpa) .legal {font-size:15px;line-height:1.9;}
:is(.sr-privacy,.sr-terms,.sr-dpa) .legal h2 {font-size:23px;padding-top:28px;margin-top:36px;font-weight:550;}
/* Evidence/operations remain compact. Hashes keep mono; results keep semantic colors. */
:is(.sr-verifier,.sr-explorer,.sr-status,.sr-roadmap,.sr-analysis) main {max-width:1184px;width:100%;padding-inline:36px;}
.sr-verifier .verifier-controls {background:var(--panel-bg);border:1px solid var(--border);border-radius:8px;padding:24px;gap:12px;}
.sr-verifier .verify-intro {font-size:14px;line-height:1.8;margin-bottom:24px;}
.sr-verifier :is(.rk-hash,.rk-cell,.check-val) {overflow-wrap:anywhere;min-width:0;}
.sr-explorer :is(.stat-grid,.toolbar,.anchor-row) {min-width:0;}
.sr-explorer .stat-card .value.mono {font-size:12px;overflow-wrap:anywhere;}
.sr-status .overall {border-radius:8px;padding:20px 24px;gap:12px;flex-wrap:wrap;}
.sr-status .overall .dot {box-shadow:none;}
.sr-status .overall .sub {font-size:12px;}
.sr-roadmap .group {margin-top:40px;}
.sr-roadmap .item {padding-block:20px;}
.sr-analysis .steps .step {padding:24px;border-radius:8px;border-color:var(--border);}
.sr-analysis .steps .n {color:var(--accent);font-family:var(--font-sans);font-size:28px;font-weight:500;}
.sr-analysis .why .card {padding:24px;}
/* Internal console: calm density, distinct access gate, no marketing hero. */
body[class*="sr-admin"] .wrap {max-width:1280px;padding:28px 36px 64px;}
body[class*="sr-admin"] :is(.masthead,h1,h2,.row,.tabs,.hint,.muted,.msg,.desc,.phead,.cards,.topbar) {font-family:var(--font-sans);}
body[class*="sr-admin"] h1 {font-size:27px;font-weight:550;letter-spacing:-.03em;}
body[class*="sr-admin"] h2 {font-size:19px;letter-spacing:-.02em;}
body[class*="sr-admin"] .panel {padding:24px;margin-bottom:20px;}
body[class*="sr-admin"] :is(.hint,.muted,.desc) {font-size:12px;line-height:1.75;color:var(--fg-muted);}
body[class*="sr-admin"] .row {gap:12px;flex-wrap:wrap;}
body[class*="sr-admin"] .row>div {min-width:0;}
body[class*="sr-admin"] .scroll {max-width:100%;overflow:auto;}
.sr-admin .gate {margin-top:64px;padding:32px;background:var(--panel-bg);border-color:var(--border);border-radius:10px;}
.sr-admin .gate h2 {color:var(--fg);font-size:24px;font-weight:550;letter-spacing:-.03em;}
.sr-admin .gate p {font-size:13px;line-height:1.8;margin-top:12px;}
.sr-admin .gate label {font-family:var(--font-sans);font-size:11px;letter-spacing:.03em;margin-top:24px;}
.sr-admin .gate button {min-height:44px;border-radius:6px;background:var(--accent);color:var(--on-accent);letter-spacing:0;}
@media(max-width:920px){
 .sr-docs .wrap-grid {display:block;padding-inline:24px;}
 .sr-docs aside.toc {position:relative;top:0;padding:18px 0;max-height:none;gap:8px;}
 .sr-docs .toc a {padding:8px 12px;min-height:40px;border:1px solid var(--border);border-radius:5px;}
 .sr-docs .hero h1 {max-width:26ch;}
 .sr-signal .post-card {grid-template-columns:95px minmax(0,1fr);gap:14px 20px;}
 .sr-signal .post-card .meta {grid-column:2;grid-row:3;text-align:left;}
}
@media(max-width:600px){
 .sr-docs .wrap-grid,:is(.sr-verifier,.sr-explorer,.sr-status,.sr-roadmap,.sr-analysis,.sr-signal,.sr-privacy,.sr-terms,.sr-dpa) main {padding-inline:20px;}
 .sr-docs .meta div {display:block;}
 .sr-docs .meta b {display:block;border-right:0;padding-bottom:0;}
 .sr-docs .meta span {display:block;padding-top:4px;}
 .sr-docs .block h2 {font-size:24px;}
 .sr-docs .block :is(p,ul,ol) {font-size:14px;}
 .sr-docs pre {padding:16px;font-size:11px;}
 .sr-signal .post-card {display:flex;flex-direction:column;gap:0;padding-block:28px;}
 .sr-signal .post-card .tag {margin:0 0 16px;}
 .sr-signal .post-card h2 {font-size:24px;}
 .sr-signal .post-card .meta {margin-top:16px;}
 body[class*="sr-signal-"] article {padding:36px 20px 64px;}
 body[class*="sr-signal-"] article :is(p,li) {font-size:15px;}
 body[class*="sr-signal-"] article h2 {font-size:24px;}
 :is(.sr-privacy,.sr-terms,.sr-dpa) .doc-head h1 {font-size:34px;}
 .sr-verifier .verifier-controls {padding:16px;}
 .sr-explorer .stat-grid {grid-template-columns:1fr!important;}
 .sr-status .overall {padding:18px;}
 .sr-status .overall .sub {margin-left:0;width:100%;}
 body[class*="sr-admin"] .wrap {padding:24px 16px 48px;}
 body[class*="sr-admin"] .panel {padding:18px;}
 .sr-admin .gate {margin-top:32px;padding:24px;}
}
@media(prefers-reduced-motion:reduce){.sr-signal .post-card{transition:none;}}
.sr-signal .filters button {font-family:var(--font-sans);font-size:12px;min-height:40px;padding:8px 16px;border-radius:5px;}
.sr-signal .filters button.active {background:var(--accent);color:var(--on-accent);border-color:var(--accent);}
.sr-roadmap {--shipped:var(--ok);--inprogress:var(--warn);--future:var(--accent);}
.sr-roadmap .differentiator {background:var(--panel-bg);border-color:var(--border);border-radius:8px;}
.sr-roadmap :is(.content,.col,.tag) {min-width:0;overflow-wrap:anywhere;}
.sr-roadmap .item .tag.unique {background:var(--accent-tint);color:var(--accent);}
.sr-product.sr-docs .hero h1 {font-size:clamp(30px,3.1vw,44px);font-weight:500;line-height:1.14;letter-spacing:-.045em;}
.sr-product.sr-signal .post-card h2 {font-weight:550;}
.sr-verifier .hex-banner {display:none;}
@media(max-width:360px){.sr-product.sr-docs .hero h1{font-size:28px;line-break:strict;word-break:normal;}}
