/* Saved items (owner, 26 Oct 2026; KB 33, js/saved.js). The bookmark sits beside Share, quiet in ink: filled when saved,
   never Ember (Ember stays the one action). The tile's top right stays its network's logo. */
.reader.one .acts2.saves { grid-template-columns: repeat(var(--n, 2), minmax(0, max-content)) minmax(0, 1fr) 36px 36px; }
.reader.one .acts2.saves .sv-btn { grid-column: -3; }
.reader.one .acts2 .sv-btn .ic { width: 17px; height: 17px; }
.reader.one .acts2 .sv-btn.on { color: var(--ink); }

/* The strip's Saved chip leads it, a hairline before the filters: it opens the list, it never filters. */
.reader.one .rr-chip.rr-saved { padding: 0 12px 0 11px; gap: 6px; }
.reader.one .rr-chip.rr-saved .ic { width: 15px; height: 15px; color: var(--ink); }
.reader.one .rr-chip.rr-saved b { font-weight: 600; font-variant-numeric: tabular-nums; color: var(--text2); }

/* The viewer's rail: Saved reads in ink on the dark stage, as the rail's other words. */
.watch .sv-rail.on .w-icon .ic, #watch .sv-rail.on .w-icon .ic { color: var(--white, #fff); }

/* The list: the full report's rows (picture, who · kind · day, the line), each with its bookmark to take it off. */
.sv-sheet .gp-ct-card { margin-top: 2px; }
.sv-row { display: flex; align-items: center; background: var(--panel); }
.sv-row + .sv-row { border-top: 1px solid var(--rule); }
.sv-open { flex: 1; min-width: 0; display: grid; grid-template-columns: 56px minmax(0, 1fr); align-items: center; gap: 12px; padding: 14px 4px 14px 12px;
  text-align: left; color: var(--ink); background: transparent; border: 0; border-radius: 0; }
.sv-meta { display: flex; flex-wrap: wrap; min-width: 0; }  /* names stay whole (KB 33): a long one wraps, never "…" */
.sv-who { min-width: 0; overflow-wrap: anywhere; }
.sv-tail { flex: none; white-space: nowrap; }
/* Keep the picture over its fallback in one frame, including the compact Saved rows. */
.sv-thumb { position: relative; display: block; width: 56px; height: 56px; overflow: hidden; border-radius: 14px; }
.sv-thumb > .gp-fr-thumb { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sv-thumb .stile { position: absolute; top: 4px; right: 4px; width: 20px; height: 20px; border-radius: 6px; }
.sv-thumb .stile .ic { width: 12px; height: 12px; }
.sv-tile { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 14px; background: var(--page); color: var(--text2); }
.sv-tile .ic { width: 22px; height: 22px; }
.sv-remove { flex: none; display: grid; place-items: center; width: 44px; height: 44px; margin-right: 6px; border: 0; border-radius: 999px; background: transparent; color: var(--ink); }
.sv-remove .ic { width: 20px; height: 20px; }
.sv-remove:not(.on) { color: var(--text2); }
.sv-empty, .sv-note { margin: 8px 2px 4px; font-size: 14px; line-height: 21px; color: var(--text2); }
.sv-empty { display: flex; align-items: center; gap: 10px; padding: 14px; border-radius: 16px; background: var(--panel); color: var(--ink); }
.sv-empty .ic { flex: none; width: 22px; height: 22px; color: var(--ink); }
/* The sidebar's Saved row (js/ui.js U.rail): the rail's own row, its count quiet in ink, never Ember (Ember is the one action). */
.rail .rail-saved .sv-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; padding: 0 7px; margin-left: auto;
  border-radius: 999px; background: var(--page); color: var(--ink); font-size: 12px; font-weight: 600; line-height: 1; font-variant-numeric: tabular-nums; flex: none; }
.sv-note { font-size: 12.5px; line-height: 18px; margin-top: 12px; }

/* Ask's evidence strip: the Saved item component, picture first, in the existing native card-row pattern. */
.ca-src.ca-cards { flex-wrap: nowrap; align-items: stretch; overflow-x: auto; overscroll-behavior-x: contain; touch-action: pan-x pan-y; gap: 12px; padding: 12px 2px 6px; scroll-snap-type: x proximity; }
.ca-cards .sv-source-card { display: flex; flex-direction: column; align-items: stretch; flex: 0 0 var(--ask-source-width, 148px); width: var(--ask-source-width, 148px); padding: 0; gap: 0; border: 1px solid var(--rule); border-radius: var(--r-card, 16px); overflow: hidden; background: var(--panel); scroll-snap-align: start; }
.sv-card-thumb { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 0; background: var(--gp-orchid-soft); }
.sv-card-thumb > .gp-fr-thumb { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.sv-card-thumb .stile { top: 8px; right: 8px; width: 24px; height: 24px; }
.sv-card-thumb .stile .ic { width: 16px; height: 16px; }
.sv-words { display: flex; align-items: center; height: 100%; padding: 32px 12px 16px; font-size: 16px; line-height: 24px; font-weight: 600; color: var(--ink); overflow-wrap: anywhere; }
.sv-publication { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 20px 12px; background: var(--panel); font-size: 13px; }
.sv-publication img { width: 56px; height: 56px; object-fit: contain; }
.sv-source-card .gp-fr-copy { display: flex; flex-direction: column; gap: 4px; min-width: 0; padding: 10px; }
.sv-source-who { display: flex; align-items: center; gap: 6px; min-width: 0; color: var(--gp-orchid-ink); font-size: 13px; font-weight: 500; }
.sv-source-who .pfp { width: 24px; height: 24px; flex: none; outline: 1.5px solid var(--orchid); outline-offset: 1px; }
.sv-source-who .sv-who { white-space: normal; overflow-wrap: anywhere; }
.sv-source-meta { font-size: 12px; line-height: 18px; color: var(--text2); }
.sv-source-card .gp-fr-head { display: block; font-size: 13px; line-height: 20px; font-weight: 500; white-space: normal; overflow-wrap: anywhere; }  /* titles stay whole (KB 33): the row's cards share the tallest card's height */
