/* Portraits and aggregate symbols identify models within the StreetAI palette. */
.follow-avatar { display:block; flex:none; color:var(--duck-deep); }
.follow-avatar-ground { fill:var(--duck-bg,#e4f4eb); }
.follow-page { background:var(--paper); color:var(--ink); font-family:var(--body); font-size:var(--fs-2); line-height:1.5; }
.follow-page * { box-sizing:border-box; }
.follow-page a { color:var(--duck-deep); }
.follow-page button,.follow-page input { font:inherit; }
.follow-page button { border:1px solid var(--hair); border-radius:6px; padding:10px 14px; background:var(--paper); color:var(--ink); cursor:pointer; }
.follow-page button:disabled { opacity:.5; cursor:not-allowed; }
.follow-page :focus-visible { outline:3px solid var(--duck-deep); outline-offset:3px; }
.follow-mast { border-bottom:1px solid var(--hair); }
.follow-mast>div { max-width:1240px; margin:auto; padding:18px 24px; display:flex; justify-content:space-between; gap:16px; align-items:center; }
.follow-mast a { font-size:var(--fs-3); color:var(--ink); font-weight:700; text-decoration:none; }
.follow-mast span { font-size:var(--fs-1); color:var(--duck-deep); border:1px solid var(--hair); border-radius:999px; padding:4px 10px; }
.follow-wrap { max-width:1240px; margin:auto; padding:38px 24px; }
.follow-intro { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:28px; }
.follow-page h1 { font-size:var(--fs-5); line-height:1.1; letter-spacing:-1.8px; margin:0 0 12px; }
.follow-page h2 { font-size:var(--fs-3); line-height:1.2; margin:0 0 16px; }
.follow-page h3 { font-size:var(--fs-2); margin:0 0 12px; }
.follow-page p { margin:0 0 14px; max-width:75ch; }
.follow-intro p { color:var(--dim); }
.follow-intro>button { flex-shrink:0; }
.follow-review { max-width:960px; }
.follow-review-identity { display:flex; align-items:center; gap:18px; min-width:0; }
.follow-review-identity>.follow-avatar { border-radius:6px; object-fit:cover; }
.follow-review-identity p { margin:0; }
.follow-review-nav { display:flex; flex-wrap:wrap; gap:10px 18px; padding:0 0 20px; margin-bottom:24px; border-bottom:1px solid var(--hair); }
.follow-review-nav [aria-current="page"] { font-weight:700; text-decoration-thickness:2px; }
.follow-review section { margin-top:28px; }
.follow-review .follow-primary { flex:none; text-align:center; }
.follow-profiles { display:flex; gap:10px; overflow-x:auto; padding:4px 4px 10px; margin:-4px; scroll-snap-type:x proximity; scroll-padding-inline:4px; }
.follow-profiles .follow-profile { display:flex; align-items:flex-start; gap:10px; flex:0 0 220px; padding:12px; text-align:left; border:2px solid transparent; background:var(--wash); border-radius:10px; scroll-snap-align:start; }
.follow-profile img,.follow-profile>.follow-avatar { display:block; flex:none; width:46px; height:56px; border-radius:5px; object-fit:cover; object-position:center 23%; }
.follow-profile img { filter:saturate(.8); }
.follow-profile[data-profile="trump"] img { object-position:center 20%; }
.follow-person { display:block; min-width:0; }
.follow-person strong { display:block; font-size:var(--fs-2); }
.follow-person>span { display:block; margin-top:4px; font-size:var(--fs-1); color:var(--dim); }
.follow-profile[aria-pressed="true"] { border-color:var(--duck-deep); box-shadow:0 0 0 1px var(--duck-deep); }
.follow-profiles .follow-profile[aria-pressed="true"] { background:var(--duck-bg,#e4f4eb); }
.follow-status { padding:18px 0; min-height:62px; color:var(--dim); }
.follow-status[data-error="true"] { color:var(--cuck-deep); }
.follow-workspace { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:40px; border-top:1px solid var(--hair); padding-top:28px; }
.follow-workspace>section { min-width:0; }
.follow-book { border-left:1px solid var(--hair); padding-left:40px; }
.follow-section-head { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 12px; }
.follow-section-head span,.follow-meta,.follow-note { font-size:var(--fs-1); color:var(--dim); }
.follow-meta { margin-top:16px!important; }
.follow-table-scroll { width:100%; overflow:auto; max-height:360px; margin:16px 0; overscroll-behavior:contain; }
.follow-page table { font-family:var(--mono); width:100%; border-collapse:collapse; font-size:var(--fs-1); font-variant-numeric:tabular-nums; }
.follow-page th { text-align:left; font-weight:600; color:var(--dim); background:var(--paper); position:sticky; top:0; }
.follow-page td,.follow-page th { padding:10px 8px; border-bottom:1px solid var(--hair); }
.follow-page td:first-child,.follow-page th:first-child { padding-left:0; }
.follow-page td:not(:first-child),.follow-page th:not(:first-child) { text-align:right; }
.follow-page td small { display:block; font-size:var(--fs-1); color:var(--dim); }
.follow-page details { margin:18px 0; font-size:var(--fs-1); }
.follow-page summary { cursor:pointer; font-weight:600; }
#excluded-list { max-height:190px; overflow:auto; padding-left:20px; }
.follow-values { display:grid; grid-template-columns:1fr 1fr; padding:18px 0; border-block:1px solid var(--hair); margin:20px 0; }
.follow-values span { display:block; font-size:var(--fs-1); color:var(--dim); }
.follow-values strong { display:block; font-size:var(--fs-3); font-variant-numeric:tabular-nums; }
.follow-action-row { display:flex; flex-wrap:wrap; gap:10px; margin:8px 0 14px; }
.follow-action-row input { width:150px; min-width:0; padding:10px; border:1px solid var(--hair); border-radius:6px; }
.follow-page .follow-primary { background:var(--duck-deep); border-color:var(--duck-deep); color:white; }
.follow-page a.follow-primary { display:inline-block; padding:11px 16px; border-radius:6px; font-weight:600; text-decoration:none; margin-bottom:8px; }
.follow-preview { border-top:2px solid var(--duck-deep); padding-top:18px; margin-top:24px; }
.follow-footer { margin-top:36px; padding-top:20px; border-top:1px solid var(--hair); color:var(--dim); font-size:var(--fs-1); }
.follow-page [hidden] { display:none!important; }
@media(max-width:720px) { .follow-wrap { padding:26px 18px; } .follow-mast>div { padding:14px 18px; } .follow-page h1 { font-size:var(--fs-4); letter-spacing:-1px; } .follow-intro { display:block; } .follow-intro>button { margin-top:8px; } .follow-profiles .follow-profile { flex-basis:210px; } .follow-workspace { grid-template-columns:minmax(0,1fr); gap:26px; } .follow-book { border-left:0; border-top:1px solid var(--hair); padding:26px 0 0; } .follow-action-row input { flex:1 1 130px; } .follow-action-row button { flex:1 1 190px; } }
.follow-person>.follow-card-summary { margin-top:8px; }

/* One compact chooser within both strategy pickers. Native links keep every
   profile reachable without JS; the rail keeps seven choices in one row. */
.follow-discovery-badge { padding:3px 7px; border-radius:var(--r-pill,999px); background:var(--duck-bg,#e4f4eb); color:var(--duck-deep); font-size:10px; font-weight:600; white-space:nowrap; }
.follow-picker { box-sizing:border-box; margin:auto; width:min(600px,calc(100% - 32px)); max-height:calc(100dvh - 48px); padding:24px; border:1px solid var(--hair); border-radius:20px; background:var(--paper); color:var(--ink); box-shadow:0 24px 80px #12282130; overscroll-behavior:contain; }
.follow-picker::backdrop { background:#12282166; }
.follow-picker:not([open]) { display:none; }
.follow-picker-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
#pageroot .follow-picker-head h2 { margin:0; font-size:24px; font-weight:600; line-height:1.2; letter-spacing:-.03em; }
.follow-picker-head p { margin:8px 0 0; color:var(--dim); font-size:13px; line-height:1.5; }
.follow-picker-head form { margin:0; }
.follow-picker-head button { font:inherit; font-size:12px; padding:8px 12px; border:1px solid var(--hair); border-radius:8px; background:var(--paper); color:var(--ink); cursor:pointer; }
.follow-picker-profiles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:0; margin:22px 0 18px; list-style:none; }
.follow-picker-profiles > li { min-width:0; }
.follow-picker-person { display:flex; align-items:center; gap:10px; box-sizing:border-box; height:100%; padding:11px; border:1px solid var(--hair); border-radius:10px; color:var(--ink); background:var(--paper); text-decoration:none; }
.follow-picker-person:hover { border-color:var(--duck-deep); background:var(--duck-bg,#e4f4eb); }
.follow-picker-person img,.follow-picker-person>.follow-avatar { flex:none; display:block; width:36px; height:44px; object-fit:cover; object-position:center 23%; border-radius:5px; }
.follow-picker-person span { min-width:0; }
.follow-picker-person b { display:block; font-size:13px; font-weight:600; line-height:1.4; }
.follow-picker-person small { display:block; margin-top:4px; font-size:11px; line-height:1.4; color:var(--dim); }
.follow-picker-note { margin:0 0 14px; font-size:12px; color:var(--dim); line-height:1.5; }
.follow-picker-all { color:var(--duck-deep); font-size:12px; font-weight:600; }
.follow-picker :is(a,button):focus-visible { outline:2px solid var(--duck-deep); outline-offset:3px; }
@media(max-width:480px) {
  .follow-picker { padding:20px; }
  .follow-picker-profiles { grid-template-columns:1fr; }
}

/* Saved books use only real ledger values in their numeric columns. */
.follow-main { margin:32px 0; padding:24px 0; border-top:1px solid var(--hair); color:var(--ink); }
.follow-main h2 { margin:0 0 8px; font-size:var(--fs-3); }
.follow-main h3 { margin:0 0 8px; font-size:var(--fs-2); }
.follow-main p { max-width:75ch; margin:8px 0 16px; }
.follow-main-head { display:flex; align-items:baseline; justify-content:space-between; gap:16px; }
.follow-main-head p { color:var(--dim); font-size:var(--fs-1); }
.follow-main a:focus-visible { outline:3px solid var(--duck-deep); outline-offset:4px; }
.follow-saved { display:flex; gap:18px; padding:20px 0; border-bottom:1px solid var(--hair); }
.follow-saved img { object-fit:cover; border-radius:4px; }
.follow-saved-body { flex:1; min-width:0; }
.follow-saved dl { display:flex; flex-wrap:wrap; gap:12px 32px; margin:12px 0; }
.follow-saved dt { color:var(--dim); font-size:var(--fs-1); }
.follow-saved dd { font-family:var(--mono); margin:0; font-variant-numeric:tabular-nums; }
.follow-saved time { font-size:var(--fs-1); overflow-wrap:anywhere; }
.follow-saved details { margin:12px 0; }
.follow-saved details ul { max-height:190px; overflow:auto; padding-left:20px; }
@media(max-width:560px) { .follow-main-head { display:block; } .follow-saved { gap:12px; } .follow-wrap { padding:24px 0; } }
