/* Postage Due — Sorting Desk
   One item, one proof, one manifest. A battered director's bench rather than a
   gallery or a SaaS approval queue. */

:root {
  --void: #090908;
  --black: #090908;
  --coal: #11100e;
  --ash: #1a1814;
  --ash-up: #242019;
  --edge: #3b3428;
  --line: #3b3428;
  --kraft: #b99a67;
  --gold: #c2a257;
  --paper: #ebe0c5;
  --dim: #aaa089;
  --postmark: #ad4f2a;
  --cleared: #5f776b;
  --rust-bright: #d36a38;
  --display: Georgia, "Times New Roman", serif;
  --mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;
  --sans: system-ui, -apple-system, "Segoe UI", sans-serif;
  --pad: clamp(.75rem, 1.7vw, 1.4rem);
  --actions: 5.2rem;
}

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--void); color: var(--paper); font-family: var(--sans); -webkit-text-size-adjust: 100%; }
body { min-height: 100dvh; }
button, input, textarea { font: inherit; }
[hidden] { display: none !important; }

:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.skip-link { position: fixed; top: .4rem; left: .75rem; z-index: 100; transform: translateY(-160%); min-height:2.75rem; display:inline-flex; align-items:center; padding: .55rem .7rem; background: var(--paper); color: var(--black); font: .75rem var(--mono); }
.skip-link:focus { transform: none; }

body.voter {
  padding-bottom: calc(var(--actions) + env(safe-area-inset-bottom));
  overflow: hidden;
  background:
    radial-gradient(ellipse at 15% 0, rgba(194,162,87,.1), transparent 38%),
    linear-gradient(135deg, rgba(255,255,255,.018) 25%, transparent 25%) 0 0 / 6px 6px,
    var(--black);
}
body.voter::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 100;
  pointer-events: none;
  opacity: .04;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* header ----------------------------------------------------------------- */
.desk-head {
  height: 5rem;
  position: relative;
  z-index: 20;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 1rem;
  padding: calc(.55rem + env(safe-area-inset-top)) var(--pad) .55rem;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(26,24,20,.97), rgba(9,9,8,.95));
}
.mark { display: grid; justify-items: center; line-height: 1; }
.mark-kicker { font: .625rem var(--mono); letter-spacing: .1em; color: var(--dim); text-transform: uppercase; }
.mark-name { margin-top: .18rem; font: italic 900 clamp(1.3rem,3vw,2rem)/.9 var(--display); letter-spacing: -.035em; color: #e1c375; text-transform: uppercase; text-shadow: 2px 2px 0 #3b2315; }
.mark-sub { margin-top: .28rem; font: .625rem var(--mono); letter-spacing: .16em; color: var(--kraft); text-transform: uppercase; }
.back-link, .edition-link, .ledger-btn {
  min-width: 2.75rem;
  min-height: 2.75rem;
  display: inline-grid;
  place-items: center;
  width: max-content;
  padding: .42rem .65rem;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--dim);
  text-decoration: none;
  cursor: pointer;
  font: .75rem var(--mono);
  letter-spacing: .04em;
  text-transform: uppercase;
}
.back-link:hover, .edition-link:hover, .ledger-btn:hover { border-color: var(--gold); color: var(--paper); }
.desk-tools { justify-self: end; display: flex; align-items: center; gap: .35rem; }
.ledger-btn { color: var(--kraft); }

/* ledger ----------------------------------------------------------------- */
.ledger {
  position: fixed;
  inset: 5rem 0 auto;
  z-index: 18;
  display: grid;
  grid-template-columns: minmax(16rem, .8fr) minmax(22rem, 1fr) minmax(12rem, .55fr);
  gap: 1rem;
  align-items: center;
  padding: .75rem var(--pad);
  border-bottom: 1px solid var(--line);
  background: rgba(17,16,14,.98);
  box-shadow: 0 1rem 2rem rgba(0,0,0,.5);
}
.ledger-copy { display: grid; grid-template-columns: auto 1fr; gap: .65rem; align-items: center; }
.ledger-copy p { margin: 0; color: var(--dim); font-size: .75rem; line-height: 1.35; }
.ledger-copy b { color: var(--kraft); }
.ledger-number { padding: .45rem; border: 2px solid var(--postmark); color: var(--rust-bright); transform: rotate(-2deg); font: .75rem var(--mono); letter-spacing: .04em; }
.ledger-counts { display: grid; grid-template-columns: repeat(5, 1fr); margin: 0; border-left: 1px solid var(--line); border-top: 1px solid var(--line); }
.ledger-counts .count { min-width: 0; padding: .35rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ledger-counts dt { overflow: hidden; text-overflow: ellipsis; color: var(--dim); font: .75rem var(--mono); letter-spacing: .02em; text-transform: uppercase; }
.ledger-counts dd { margin: .1rem 0 0; color: var(--paper); font: 1rem var(--display); }
.ledger-counts [data-state="cleared"] dd { color: #8fb09d; }
.ledger-counts [data-state="returned"] dd { color: var(--rust-bright); }
.ledger-waiting { color: var(--dim); font: .75rem/1.35 var(--mono); }
.ledger-waiting b { color: var(--kraft); text-transform: uppercase; }

/* desk ------------------------------------------------------------------- */
.desk {
  height: calc(100dvh - 5rem - var(--actions) - env(safe-area-inset-bottom));
  min-height: 0;
  padding: var(--pad);
  overflow: auto;
}
.loading { min-height: 100%; display: grid; place-items: center; color: var(--dim); font: .75rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.loading span::after { content: ""; display: block; width: 7rem; height: 2px; margin: .55rem auto 0; background: repeating-linear-gradient(90deg,var(--rust-bright) 0 10px,transparent 10px 20px); }

.parcel {
  width: min(100%, 92rem);
  height: 100%;
  min-height: 27rem;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(25rem, 1.55fr) minmax(18rem, .7fr);
  gap: .75rem;
}
.parcel-stage { min-width: 0; min-height: 0; display: grid; grid-template-rows: minmax(0,1fr) auto; border: 1px solid var(--line); background: #050505; }
.parcel-plate { min-width: 0; min-height: 0; position: relative; overflow: hidden; display: grid; place-items: center; padding:0; border:0; color:inherit; background: linear-gradient(90deg, transparent 49.8%, rgba(194,162,87,.07) 50%, transparent 50.2%), #050505; }
.parcel-inspect { width:100%; cursor:zoom-in; }
.parcel-inspect:disabled { cursor:not-allowed; }
.parcel-plate::before { content: attr(data-proof-label); position: absolute; top: .6rem; left: .6rem; z-index: 2; padding: .25rem .4rem; border: 1px solid rgba(194,162,87,.48); background: rgba(9,9,8,.8); color: var(--gold); font: .625rem var(--mono); letter-spacing: .08em; }
.parcel-img { display: block; width: 100%; height: 100%; object-fit: contain; image-rendering: pixelated; }
.parcel-fullres { min-height: 2.75rem; display: grid; place-items: center; border:0; border-top: 1px solid var(--line); background:transparent; color: var(--kraft); cursor:zoom-in; text-decoration: none; font: .75rem var(--mono); letter-spacing: .04em; text-transform: uppercase; }
.parcel-fullres:hover { background: var(--gold); color: var(--black); }
.preview-failure { width: calc(100% - 2rem); min-height: 10rem; display: grid; place-content: center; gap: .4rem; padding: 1rem; border: 1px dashed var(--postmark); color: var(--dim); text-align: center; font: .75rem var(--mono); background: repeating-linear-gradient(135deg,rgba(173,79,42,.08) 0 8px,transparent 8px 16px); }
.preview-failure strong { color: var(--rust-bright); letter-spacing: .12em; text-transform: uppercase; }

/* pressed verdict -------------------------------------------------------- */
.postmark { position: absolute; top: 50%; left: 50%; width: 12rem; height: 12rem; opacity: 0; transform: translate(-50%,-50%) rotate(-12deg) scale(1.8); pointer-events: none; display: grid; place-content: center; gap: .15rem; border: 4px double currentColor; border-radius: 50%; text-align: center; font-family: var(--mono); text-transform: uppercase; }
.parcel[data-verdict="keep"] .postmark { color: #789985; }
.parcel[data-verdict="return"] .postmark { color: var(--rust-bright); }
.parcel[data-verdict] .postmark { animation: press .42s cubic-bezier(.2,.8,.2,1) forwards; }
.postmark-verdict { font-size: 1.5rem; font-weight: 800; letter-spacing: .08em; }
.postmark-place { font-size: .75rem; letter-spacing: .14em; }
.postmark-date { font-size: .75rem; letter-spacing: .08em; }
@keyframes press { 0% { opacity:0; transform:translate(-50%,-50%) rotate(-12deg) scale(1.8); } 58% { opacity:.98; transform:translate(-50%,-50%) rotate(-12deg) scale(.94); } 100% { opacity:.84; transform:translate(-50%,-50%) rotate(-12deg) scale(1); } }

/* exact manifest --------------------------------------------------------- */
.parcel-manifest {
  min-width: 0;
  min-height: 0;
  overflow: auto;
  padding: .8rem .85rem 1.1rem;
  color: #241b11;
  background:
    repeating-linear-gradient(0deg,transparent 0 24px,rgba(66,51,31,.08) 24px 25px),
    linear-gradient(96deg,#c3aa78,#dbc698 52%,#baa06c);
  box-shadow: inset 0 0 30px rgba(74,45,18,.2), 4px 4px 0 rgba(73,49,25,.35);
  clip-path: polygon(0 0,100% 0,100% 98.7%,94% 100%,87% 98.7%,80% 100%,72% 98.6%,65% 100%,57% 98.7%,49% 100%,42% 98.6%,35% 100%,27% 98.7%,20% 100%,13% 98.6%,6% 100%,0 98.8%);
}
.manifest-head { display:flex; justify-content:space-between; gap:.5rem; padding-bottom:.55rem; border-bottom:2px solid rgba(49,36,22,.62); color:#422812; font:.75rem var(--mono); letter-spacing:.04em; text-transform:uppercase; }
.manifest-position { color:#5a180f; font-weight:800; }
.slip { padding: .72rem 0 .55rem; border-bottom: 1px solid rgba(56,41,24,.35); }
.slip-pack { display:block; margin-bottom:.22rem; color:#49331d; font:.625rem var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.slip-title { margin:0; color:#261c12; font:700 clamp(1.25rem,2.2vw,1.8rem)/1 var(--display); letter-spacing:-.025em; text-transform:none; }
.slip-role { margin:.28rem 0 0; color:#49351f; font-size:.75rem; }
.parcel-truth { display:block; margin:.55rem 0; padding:.45rem .5rem; border:2px solid #7a2d19; color:#681f12; background:rgba(255,244,208,.28); font:800 .75rem/1.2 var(--mono); letter-spacing:.035em; text-align:center; text-transform:uppercase; }
.source-ledger { margin:.35rem 0 0; }
.source-ledger > div { display:grid; grid-template-columns:4.7rem minmax(0,1fr); gap:.45rem; padding:.29rem 0; border-bottom:1px solid rgba(56,41,24,.27); }
.source-ledger dt,.source-ledger dd { margin:0; min-width:0; font:.75rem/1.25 var(--mono); }
.source-ledger dt { color:#49331d; letter-spacing:.04em; text-transform:uppercase; }
.source-ledger dd { color:#2d2114; overflow-wrap:anywhere; }
.source-next { color:#5a180f !important; font-weight:800 !important; text-transform:uppercase; }
.provenance { margin-top:.65rem; }
.provenance h2,.card-head { margin:0 0 .42rem; color:#49331d; font:700 .625rem var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.stamps { display:grid; grid-template-columns:1fr 1fr; gap:.45rem; }
.stamp { min-width:0; padding:.42rem; border:2px solid rgba(69,47,25,.55); color:#422812; transform:rotate(-1deg); font-family:var(--mono); text-transform:uppercase; }
.stamp:nth-child(2) { transform:rotate(1deg); }
.stamp-who,.stamp-verdict { display:block; }
.stamp-who { color:inherit; font-size:.75rem; letter-spacing:.04em; }
.stamp-verdict { margin-top:.15rem; color:inherit; font-size:.75rem; font-weight:800; }
.stamp[data-verdict="PASS"] { color:#173d31; border-color:#365f4d; }
.stamp[data-verdict="FAIL"] { color:#5b160e; border-color:#7c2c1b; }

/* context and notes ------------------------------------------------------ */
.card { margin-top:.7rem; padding-top:.58rem; border-top:1px solid rgba(56,41,24,.32); }
.card-body { display:flex; gap:.65rem; align-items:flex-start; }
.card-model { flex:0 0 4.6rem; margin:0; }
.card-model img { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; background:#090908; border:1px solid rgba(56,41,24,.5); image-rendering:pixelated; }
.card-model figcaption { margin-top:.2rem; color:#49331d; text-align:center; font:.625rem var(--mono); letter-spacing:.06em; text-transform:uppercase; }
.card-sibs { min-width:0; flex:1; }
.card-sibs-head,.card-blocked { margin:0 0 .35rem; color:#49331d; font:.75rem var(--mono); letter-spacing:.03em; text-transform:uppercase; }
.card-blocked { margin-top:.4rem; color:#5a180f; line-height:1.3; }
.sibs { display:flex; gap:.35rem; overflow-x:auto; padding-bottom:.25rem; }
.sib { flex:0 0 3rem; width:3rem; height:3rem; padding:0; border:1px solid rgba(56,41,24,.5); background:#090908; cursor:pointer; }
.sib img { width:100%; height:100%; object-fit:cover; image-rendering:pixelated; }
.sib:hover { border-color:#684f2e; }
.sib[data-ruled="keep"] { border-color:#4c6a5a; }
.sib[data-ruled="return"] { border-color:#9d4327; }
.note { display:block; margin-top:.72rem; }
.note-label { display:block; margin-bottom:.3rem; color:#49331d; font:.75rem var(--mono); letter-spacing:.04em; text-transform:uppercase; }
.note-input { width:100%; min-height:2.75rem; border:1px solid rgba(56,41,24,.58); background:rgba(234,219,179,.34); color:#241b11; padding:.5rem .55rem; resize:vertical; font-size:.75rem; }
.note-input::placeholder { color:#49351f; }
.note-input:focus { border-color:#74301d; outline:none; background:rgba(244,226,181,.52); }

/* action press ----------------------------------------------------------- */
.thumb { position:fixed; left:0; right:0; bottom:0; z-index:30; min-height:var(--actions); display:grid; grid-template-columns:minmax(8rem,1fr) auto minmax(8rem,1fr); align-items:stretch; gap:.55rem; padding:.55rem max(var(--pad),calc((100vw - 76rem)/2)) calc(.55rem + env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:rgba(9,9,8,.96); backdrop-filter:blur(9px); }
.act { min-height:3.85rem; display:grid; place-content:center; gap:.16rem; border:1px solid; background:transparent; cursor:pointer; text-transform:uppercase; }
.act-key { font:800 .8rem var(--mono); letter-spacing:.12em; }
.act-sub { font:.75rem var(--mono); letter-spacing:.04em; opacity:1; }
.act-return { border-color:var(--postmark); color:var(--rust-bright); }
.act-keep { border-color:var(--cleared); color:#8fb09d; }
.act-return:hover { background:rgba(173,79,42,.15); }
.act-keep:hover { background:rgba(95,119,107,.17); }
.act:disabled { opacity:.32; cursor:not-allowed; }
.thumb-mid { min-width:7rem; display:grid; place-content:center; justify-items:center; gap:.28rem; }
.counter { color:var(--dim); font:.75rem var(--mono); letter-spacing:.06em; white-space:nowrap; }
.undo { min-height:2.75rem; border:1px solid var(--line); background:transparent; color:var(--dim); padding:.4rem .52rem; cursor:pointer; font:.75rem var(--mono); letter-spacing:.04em; text-transform:uppercase; }
.undo:hover { border-color:var(--gold); color:var(--paper); }
.thumb[data-review-kind="replacement-candidate"] .act-key { max-width:10rem; white-space:normal; font-size:.86rem; line-height:1.05; }
.thumb[data-review-kind="replacement-candidate"] .counter::before { content:"EXTERNAL · "; color:var(--rust-bright); }
@keyframes counter-arrive { 0%{color:var(--dim)} 30%{color:var(--gold);transform:translateY(-2px)} 100%{color:var(--dim);transform:none} }
.counter-new { animation:counter-arrive .85s ease-out 2; }

/* full-resolution evidence inspection ---------------------------------- */
body.voter.lightbox-open { overflow:hidden; }
.evidence-lightbox {
  position:fixed;
  inset:0;
  z-index:120;
  display:grid;
  place-items:center;
  padding:clamp(.7rem,2vw,1.4rem);
  background:
    radial-gradient(circle at 50% 42%,rgba(194,162,87,.11),transparent 48%),
    rgba(3,3,2,.91);
  cursor:zoom-out;
}
.evidence-lightbox-sheet {
  width:min(96rem,100%);
  height:min(92dvh,70rem);
  min-height:18rem;
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr);
  border:1px solid var(--gold);
  background:#080806;
  box-shadow:0 1.6rem 5rem rgba(0,0,0,.78), inset 0 0 0 4px #11100e;
  cursor:default;
}
.evidence-lightbox-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.7rem .8rem;
  border-bottom:1px solid var(--line);
  background:linear-gradient(90deg,#1a1814,#0c0b09);
}
.evidence-lightbox-kicker { color:var(--rust-bright); font:.625rem var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.evidence-lightbox-head h2 { margin:.2rem 0 0; font:italic 700 clamp(1.05rem,2vw,1.45rem) var(--display); color:var(--paper); }
.evidence-lightbox-head p { margin:.2rem 0 0; color:var(--dim); font:.75rem/1.25 var(--mono); overflow-wrap:anywhere; }
.evidence-lightbox-actions { display:flex; align-items:center; gap:.55rem; }
.evidence-zoom-controls { display:grid; grid-template-columns:2.75rem minmax(4rem,auto) 2.75rem; }
.evidence-zoom-controls button { min-width:2.75rem; min-height:2.75rem; padding:.35rem .55rem; border:1px solid var(--line); background:#090908; color:var(--paper); cursor:pointer; font:800 .8rem var(--mono); }
.evidence-zoom-controls button + button { border-left:0; }
.evidence-zoom-controls button:disabled { opacity:.38; cursor:not-allowed; }
#evidence-zoom-reset { color:var(--kraft); font-weight:600; }
.evidence-lightbox-close { min-height:2.75rem; padding:.45rem .7rem; border:1px solid var(--postmark); background:transparent; color:var(--rust-bright); cursor:pointer; font:.75rem var(--mono); letter-spacing:.04em; text-transform:uppercase; }
.evidence-lightbox-close span { margin-left:.25rem; font-size:1rem; line-height:0; }
.evidence-lightbox-close:hover { background:var(--postmark); color:var(--paper); }
.evidence-view-selector { min-width:0; min-height:2.85rem; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:.55rem; padding:.3rem .45rem; border-bottom:1px solid var(--line); background:#0d0c0a; }
.evidence-view-selector > span { color:var(--rust-bright); font:800 .75rem var(--mono); letter-spacing:.05em; text-transform:uppercase; white-space:nowrap; }
.evidence-view-selector > div { min-width:0; display:flex; gap:.3rem; overflow-x:auto; scrollbar-color:var(--gold) #090908; }
.evidence-view-selector button { flex:0 0 auto; min-height:2.75rem; max-width:19rem; overflow:hidden; padding:.4rem .6rem; border:1px solid var(--line); background:#090908; color:var(--dim); cursor:pointer; text-overflow:ellipsis; white-space:nowrap; font:.75rem var(--mono); }
.evidence-view-selector button[data-active="true"] { border-color:var(--gold); color:var(--paper); background:#241c11; }
.evidence-lightbox-frame { min-width:0; min-height:0; margin:0; display:grid; grid-template-rows:minmax(0,1fr) auto; }
.evidence-lightbox-viewport { min-width:0; min-height:0; position:relative; overflow:hidden; display:grid; place-items:center; background:radial-gradient(circle at center,rgba(194,162,87,.08),transparent 50%),#030302; touch-action:none; cursor:zoom-in; }
.evidence-lightbox-viewport[data-zoomed="true"] { cursor:grab; }
.evidence-lightbox-viewport[data-zoomed="true"]:active { cursor:grabbing; }
.evidence-lightbox-frame img { display:block; width:100%; height:100%; min-height:0; object-fit:contain; transform-origin:center; will-change:transform; user-select:none; -webkit-user-drag:none; }
.evidence-lightbox-frame figcaption { padding:.5rem .75rem; color:var(--dim); text-align:center; font:.75rem var(--mono); letter-spacing:.03em; }

/* empty ------------------------------------------------------------------ */
.empty { min-height:100%; max-width:34rem; margin:0 auto; display:grid; place-content:center; justify-items:center; text-align:center; }
.empty-stamp { width:8rem; height:8rem; display:grid; place-items:center; border:4px double var(--line); border-radius:50%; color:var(--line); transform:rotate(-10deg); }
.empty-stamp span { font:800 1.4rem var(--mono); letter-spacing:.1em; }
.empty-kicker { margin-top:1.2rem; color:var(--kraft); font:.625rem var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.empty h1 { margin:.35rem 0 0; font:italic 700 1.75rem var(--display); }
.empty-body { margin:.55rem 0 0; color:var(--paper); }
.empty-foot { max-width:28rem; margin:.55rem 0 0; color:var(--dim); font-size:.76rem; line-height:1.5; }
.empty-return { min-height:2.75rem; display:inline-flex; align-items:center; margin-top:.8rem; color:var(--kraft); font:.75rem var(--mono); letter-spacing:.04em; text-transform:uppercase; text-underline-offset:3px; }

/* mobile: one item, then its manifest ----------------------------------- */
@media (max-width: 46rem) {
  body.voter { overflow:auto; }
  .desk-head { height:auto; min-height:4.6rem; grid-template-columns:auto 1fr auto; gap:.45rem; }
  .mark { justify-items:start; }
  .mark-kicker { display:none; }
  .mark-name { font-size:clamp(1.16rem,6vw,1.5rem); }
  .back-link,.edition-link,.ledger-btn { min-height:2.75rem; padding:.35rem .45rem; font-size:.75rem; }
  .edition-link { display:none; }
  .ledger { inset:4.6rem 0 auto; grid-template-columns:1fr; max-height:calc(100dvh - 4.6rem - var(--actions)); overflow:auto; }
  .ledger-copy { grid-template-columns:auto 1fr; }
  .ledger-counts { grid-template-columns:repeat(3,1fr); }
  .desk { height:auto; min-height:calc(100dvh - 4.6rem - var(--actions)); padding:.55rem var(--pad) 1rem; overflow:visible; }
  .parcel { height:auto; min-height:0; grid-template-columns:1fr; gap:.55rem; }
  .parcel-stage { height:min(48dvh,28rem); min-height:17rem; }
  .parcel-manifest { max-height:none; overflow:visible; }
  .thumb { grid-template-columns:1fr auto 1fr; padding-left:var(--pad); padding-right:var(--pad); }
  .act { min-width:0; }
  .thumb-mid { min-width:4.8rem; }
  .counter { font-size:.75rem; }
  .evidence-lightbox { padding:.35rem; }
  .evidence-lightbox-sheet { height:calc(100dvh - .7rem); }
  .evidence-lightbox-head { align-items:stretch; padding:.45rem .5rem; }
  .evidence-lightbox-head > div:first-child { min-width:0; }
  .evidence-lightbox-head p { max-width:42vw; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .evidence-lightbox-actions { gap:.3rem; }
  .evidence-zoom-controls { grid-template-columns:2.75rem 3.4rem 2.75rem; }
  .evidence-lightbox-close { width:2.75rem; padding:.35rem; }
  .evidence-lightbox-close .close-label { display:none; }
  .evidence-view-selector { grid-template-columns:1fr; gap:.2rem; padding:.25rem .35rem; }
  .evidence-view-selector > span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .evidence-view-selector button { max-width:13rem; }
  .evidence-lightbox-close span { margin:0; font-size:1rem; }
  .evidence-lightbox-frame figcaption { font-size:.75rem; }
}

@media (max-width: 23rem) {
  .desk-head { grid-template-columns:auto 1fr auto; }
  .back-link { font-size:0; }
  .back-link::before { content:"←"; font-size:.85rem; }
  .mark-sub { letter-spacing:.15em; }
  .ledger-btn { padding-inline:.35rem; letter-spacing:.05em; }
  .parcel-stage { min-height:15rem; }
  .source-ledger > div { grid-template-columns:4rem minmax(0,1fr); }
  .thumb { gap:.35rem; }
  .act-key { font-size:.8rem; }
  .act-sub { font-size:.75rem; letter-spacing:.02em; }
  .thumb-mid { min-width:4rem; }
  .evidence-lightbox-kicker { display:none; }
  .evidence-lightbox-head h2 { max-width:7rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .evidence-lightbox-head p { max-width:7rem; }
  .evidence-zoom-controls { grid-template-columns:2.75rem 3rem 2.75rem; }
}

@media (prefers-reduced-motion: reduce) {
  .loading span::after,.counter-new,.parcel[data-verdict] .postmark { animation:none; }
  .parcel[data-verdict] .postmark { opacity:.84; transform:translate(-50%,-50%) rotate(-12deg); }
}
