/* =====================================================================
   ISO -- "Two-lane board" (docs/ISO_DESIGN_SYSTEM.md, direction F v2)
   ---------------------------------------------------------------------
   Blue lane  = what collectors want (ISOs)
   Green lane = what Trusted / Verified sellers can get (Opportunities)
   Gradient   = the bridge: matches, offers, deals
   Slate      = the "Found & deals" lane on a member's own list (never green)

   Mobile-first: the rules outside a media query are the phone (designed at
   375px). Breakpoints:  sm 640  ·  lg 960 (lanes side by side)  ·  xl 1200.
   The custom properties are copied unchanged from
   docs/mockups/iso-directions/f-two-lane-v2.html; only the class prefix
   changed (.dF-* -> .iso-*). Every font size is one of the --iso-text-*
   tokens. No infinite animation anywhere; transitions are 150ms and are
   removed by prefers-reduced-motion.
   ===================================================================== */

.iso-root {
  /* ---- colour: lane ramps ---- */
  --iso-want-50:#eff6ff;--iso-want-100:#dbeafe;--iso-want-200:#bfdbfe;--iso-want-400:#60a5fa;--iso-want-500:#3b82f6;--iso-want-600:#2563eb;--iso-want-700:#1d4ed8;--iso-want-800:#1e40af;--iso-want-900:#1e3a8a;
  --iso-get-50:#ecfdf5;--iso-get-100:#d1fae5;--iso-get-200:#a7f3d0;--iso-get-400:#34d399;--iso-get-500:#10b981;--iso-get-600:#059669;--iso-get-700:#047857;--iso-get-800:#065f46;--iso-get-900:#064e3b;
  /* green FILLS behind white text use 700 (5.48:1); 600 is 3.77:1 and is for strokes/rules only */
  --iso-want-fill:var(--iso-want-600);--iso-want-fill-hover:var(--iso-want-700);
  --iso-get-fill:var(--iso-get-700);--iso-get-fill-hover:var(--iso-get-800);
  --iso-bridge:linear-gradient(90deg,var(--iso-want-600),var(--iso-get-700));
  --iso-bridge-v:linear-gradient(180deg,var(--iso-want-500),var(--iso-get-500));
  --iso-bridge-soft:linear-gradient(90deg,var(--iso-want-50),#f5fbff 45%,#f3fcf8 55%,var(--iso-get-50));
  /* ---- colour: neutrals ---- */
  --iso-ink:#0f172a;--iso-ink-2:#334155;--iso-muted:#5b6474;--iso-muted-2:#94a3b8;
  --iso-line:#e2e8f0;--iso-line-2:#eef2f6;--iso-line-strong:#cbd5e1;
  --iso-surface:#fff;--iso-surface-2:#f8fafc;--iso-surface-3:#f1f5f9;--iso-canvas-team:#f3f5f8;
  /* ---- colour: semantic states (text on tint, all >= 4.5:1) ---- */
  --iso-open-fg:var(--iso-want-900);--iso-open-bg:var(--iso-want-100);
  --iso-found-fg:#fff;--iso-found-bg:var(--iso-ink);
  --iso-expired-fg:#475569;--iso-expired-bg:#f1f5f9;
  --iso-disputed-fg:#b91c1c;--iso-disputed-bg:#fee2e2;--iso-disputed-line:#fecaca;
  --iso-warn-fg:#92400e;--iso-warn-bg:#fef3c7;--iso-warn-line:#fde68a;
  --iso-amber-700:#92400e;--iso-amber-50:#fef3c7;
  --iso-supporter-fg:#be123c;--iso-supporter-bg:#fff1f2;--iso-supporter-line:#fecdd3;
  --iso-trusted-fg:#78350f;--iso-trusted-bg:linear-gradient(135deg,#fde68a,#fbbf24);
  --iso-focus:#1d4ed8;--iso-focus-on-dark:#fff;
  /* ---- type ---- */
  --iso-font-ui:'Inter',system-ui,-apple-system,sans-serif;
  --iso-font-display:'Plus Jakarta Sans','Inter',system-ui,sans-serif;
  --iso-font-mono:'JetBrains Mono',ui-monospace,monospace;
  --iso-text-2xs:11px;--iso-text-xs:12px;--iso-text-sm:13px;--iso-text-md:14px;--iso-text-lg:16px;
  --iso-text-xl:18px;--iso-text-2xl:20px;--iso-text-3xl:24px;--iso-text-4xl:28px;--iso-text-5xl:36px;
  --iso-lh-tight:1.15;--iso-lh-snug:1.3;--iso-lh-body:1.5;
  /* ---- space (4px grid; 2px only for hairline nudges) ---- */
  --iso-sp-0-5:2px;--iso-sp-1:4px;--iso-sp-2:8px;--iso-sp-3:12px;--iso-sp-4:16px;--iso-sp-5:20px;--iso-sp-6:24px;--iso-sp-7:28px;--iso-sp-8:32px;--iso-sp-10:40px;--iso-sp-12:48px;
  /* ---- radii ---- */
  --iso-r-xs:4px;--iso-r-sm:8px;--iso-r-md:12px;--iso-r-lg:16px;--iso-r-xl:20px;--iso-r-2xl:24px;--iso-r-pill:999px;
  /* ---- elevation ---- */
  --iso-shadow-1:0 1px 2px rgba(15,23,42,.04);
  --iso-shadow-2:0 6px 18px rgba(15,23,42,.08);
  --iso-shadow-3:0 12px 30px rgba(15,23,42,.10);
  --iso-shadow-pop:0 24px 60px rgba(15,23,42,.25);
  --iso-shadow-modal:0 30px 70px rgba(15,23,42,.35);
  /* ---- controls + motion + layout ---- */
  --iso-ctl-sm:36px;--iso-ctl-md:40px;--iso-ctl-touch:44px;--iso-ctl-lg:48px;
  --iso-dur:150ms;--iso-ease:cubic-bezier(.2,.8,.2,1);
  --iso-spine:76px;
  /* ---- member theme: ONLY the member ISO list and the add-sheet accent (Phase B2) ---- */
  --iso-member-accent:#4338ca;--iso-member-accent-text:#4338ca;--iso-member-soft:#eef2ff;--iso-member-on:#fff;--iso-member-grad:linear-gradient(135deg,#4338ca,#7c3aed);--iso-member-font:var(--iso-font-display);

  /* The directory, subject, type and ISO pages sit inside the site chrome, so
     the wrapper only sets type and ink; the page background stays the site's. */
  color:var(--iso-ink);font-family:var(--iso-font-ui);font-size:var(--iso-text-md);line-height:var(--iso-lh-body);
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:tabular-nums; /* every number lines up: counts, prices, dates */
  background:var(--iso-surface);
}
.iso-root *,.iso-root *::before,.iso-root *::after{box-sizing:border-box}
.iso-root :where(h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote){margin:0;padding:0}
.iso-root :where(ul,ol){list-style:none}
.iso-root :where(img){display:block;max-width:100%}
.iso-root :where(a){color:inherit;text-decoration:none}
.iso-root :where(a):hover{text-decoration:none}
.iso-root :where(button,input,select,textarea){font:inherit;color:inherit;margin:0}
.iso-root :where(button){cursor:pointer;background:none;border:0;padding:0}
.iso-root :where(summary){cursor:pointer;list-style:none}
.iso-root summary::-webkit-details-marker{display:none}
/* focus: 3px ink-blue ring, 2px offset; white on dark or photo surfaces */
.iso-root :focus-visible{outline:3px solid var(--iso-focus);outline-offset:2px}
.iso-root .iso-on-dark :focus-visible,.iso-root .iso-cardset[data-cards="poster"] .iso-wcard :focus-visible{outline-color:var(--iso-focus-on-dark)}
@media (prefers-reduced-motion:reduce){
  .iso-root *,.iso-root *::before,.iso-root *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}

.iso-wrap{max-width:1200px;margin:0 auto}
.iso-desk-only{display:none!important}
@media (min-width:960px){.iso-desk-only{display:revert!important}.iso-mob-only{display:none!important}}
.iso-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- glyphs ---------- */
.iso-i{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.iso-i.sm{width:14px;height:14px}.iso-i.lg{width:22px;height:22px}.iso-i.xl{width:30px;height:30px}
.iso-i.fill{fill:currentColor;stroke:none}

/* =====================================================================
   PRIMITIVES
   ===================================================================== */
.iso-h1,.iso-h2,.iso-h3{font-family:var(--iso-font-display);font-weight:800;letter-spacing:-.02em}
.iso-h1{font-size:var(--iso-text-4xl);line-height:var(--iso-lh-tight);letter-spacing:-.025em}
.iso-h2{font-size:var(--iso-text-xl);line-height:var(--iso-lh-snug);letter-spacing:-.015em}
.iso-h3{font-size:var(--iso-text-lg);line-height:var(--iso-lh-snug);font-weight:700;letter-spacing:-.01em}
.iso-mute{color:var(--iso-muted)}
.iso-small{font-size:var(--iso-text-xs)}
.iso-sec{padding:var(--iso-sp-5) var(--iso-sp-4)}
.iso-sec-h{display:flex;align-items:center;gap:var(--iso-sp-3);margin-bottom:var(--iso-sp-4);flex-wrap:wrap}
.iso-sec-h .iso-h2{margin-right:auto}
.iso-dot{width:8px;height:8px;border-radius:50%;background:var(--iso-get-500);display:inline-block;box-shadow:0 0 0 3px var(--iso-get-100)}
@media (min-width:960px){.iso-sec{padding:var(--iso-sp-7)}}

/* buttons -- 44px on a phone, 40 / 36 on a fine pointer at lg */
.iso-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--iso-sp-2);min-height:var(--iso-ctl-touch);padding:0 var(--iso-sp-4);border-radius:var(--iso-r-md);font-weight:600;font-size:var(--iso-text-md);line-height:1.2;white-space:nowrap;border:1px solid transparent;background:none;transition:background var(--iso-dur),border-color var(--iso-dur),color var(--iso-dur),filter var(--iso-dur);cursor:pointer;text-decoration:none}
.iso-btn--want{background:var(--iso-want-fill);color:#fff}.iso-btn--want:hover{background:var(--iso-want-fill-hover)}
.iso-btn--get{background:var(--iso-get-fill);color:#fff}.iso-btn--get:hover{background:var(--iso-get-fill-hover)}
.iso-btn--ink{background:var(--iso-ink);color:#fff}.iso-btn--ink:hover{background:var(--iso-ink-2)}
.iso-btn--bridge{background:var(--iso-bridge);color:#fff}.iso-btn--bridge:hover{filter:brightness(.92)}
.iso-btn--ghost{background:#fff;border-color:var(--iso-line);color:var(--iso-ink)}.iso-btn--ghost:hover{border-color:var(--iso-line-strong);background:var(--iso-surface-2)}
.iso-btn--wsoft{background:var(--iso-want-50);color:var(--iso-want-700);border-color:var(--iso-want-100)}.iso-btn--wsoft:hover{border-color:var(--iso-want-200)}
.iso-btn--gsoft{background:var(--iso-get-50);color:var(--iso-get-700);border-color:var(--iso-get-100)}.iso-btn--gsoft:hover{border-color:var(--iso-get-200)}
.iso-btn--m{background:var(--iso-member-accent);color:var(--iso-member-on)}
.iso-btn.sm{padding:0 var(--iso-sp-3);font-size:var(--iso-text-sm);border-radius:var(--iso-r-sm)}
.iso-btn.icon{width:var(--iso-ctl-touch);padding:0}
.iso-btn.block{width:100%}
.iso-btn.is-on{background:var(--iso-want-600);color:#fff;border-color:var(--iso-want-600)}
.iso-btn:disabled{opacity:.45;cursor:not-allowed}
.iso-btn[aria-busy="true"]{cursor:progress}
.iso-btn .spin{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.45);border-top-color:#fff}
.iso-lockhint{opacity:.7}
@media (min-width:960px){
  .iso-btn{min-height:var(--iso-ctl-md)}
  .iso-btn.sm{min-height:var(--iso-ctl-sm)}
  .iso-btn.icon{width:var(--iso-ctl-md)}
  .iso-btn.sm.icon{width:var(--iso-ctl-sm)}
}

/* tags + badges */
.iso-tag{display:inline-flex;align-items:center;gap:var(--iso-sp-1);font-size:var(--iso-text-2xs);line-height:var(--iso-lh-snug);font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:var(--iso-sp-1) var(--iso-sp-2);border-radius:var(--iso-r-pill);white-space:nowrap}
.iso-tag--want{background:var(--iso-want-100);color:var(--iso-want-900)}
.iso-tag--get{background:var(--iso-get-100);color:var(--iso-get-900)}
.iso-tag--bridge{background:var(--iso-bridge);color:#fff}
.iso-tag--found{background:var(--iso-found-bg);color:var(--iso-found-fg)}
.iso-tag--mute{background:var(--iso-surface-3);color:var(--iso-ink-2)}
.iso-tag--amber{background:var(--iso-warn-bg);color:var(--iso-warn-fg)}
.iso-tag--expired{background:var(--iso-expired-bg);color:var(--iso-expired-fg)}
.iso-tag--disputed{background:var(--iso-disputed-bg);color:var(--iso-disputed-fg)}
.iso-trusted,.iso-verified,.iso-supporter{display:inline-flex;align-items:center;gap:var(--iso-sp-1);font-size:var(--iso-text-2xs);line-height:var(--iso-lh-snug);letter-spacing:.06em;text-transform:uppercase;padding:var(--iso-sp-0-5) var(--iso-sp-2) var(--iso-sp-0-5) var(--iso-sp-1);border-radius:var(--iso-r-pill);white-space:nowrap}
.iso-trusted{font-weight:800;background:var(--iso-trusted-bg);color:var(--iso-trusted-fg)}
.iso-verified{font-weight:700;background:#fff;border:1px solid var(--iso-line-strong);color:#475569}
.iso-supporter{font-weight:700;text-transform:none;letter-spacing:0;background:var(--iso-supporter-bg);color:var(--iso-supporter-fg);border:1px solid var(--iso-supporter-line)}
.iso-stars{display:inline-flex;align-items:center;gap:var(--iso-sp-1);font-weight:600;color:var(--iso-ink)}
.iso-stars .iso-i{color:#f59e0b;width:13px;height:13px}

/* avatars -- initials underneath, the photo on top */
.iso-av{--s:40px;position:relative;width:var(--s);height:var(--s);border-radius:50%;flex:none;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#64748b,#334155);color:#fff;font-family:var(--iso-font-display);font-weight:800;font-size:calc(var(--s)*.36);line-height:1;overflow:hidden;letter-spacing:-.02em}
.iso-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.iso-av.sq{border-radius:var(--iso-r-md)}
.iso-av.w{background:linear-gradient(135deg,#2563eb,#1e3a8a)}
.iso-av.g{background:linear-gradient(135deg,#047857,#064e3b)}
.iso-av.k{background:linear-gradient(135deg,#475569,#0f172a)}
.iso-av.a{background:linear-gradient(135deg,#b45309,#78350f)}
.iso-av.r{background:linear-gradient(135deg,#be123c,#881337)}
.iso-av.p{background:linear-gradient(135deg,#7c3aed,#4c1d95)}
.iso-anon{background:repeating-linear-gradient(45deg,#e2e8f0 0 6px,#f1f5f9 6px 12px)!important;color:var(--iso-muted)!important}

/* chips, chip menus, sort tabs, segmented control */
.iso-chips{display:flex;gap:var(--iso-sp-2);flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 calc(var(--iso-sp-4)*-1);padding:0 var(--iso-sp-4) var(--iso-sp-1)}
.iso-chips::-webkit-scrollbar{display:none}
.iso-chip{display:inline-flex;align-items:center;gap:var(--iso-sp-2);min-height:var(--iso-ctl-touch);padding:0 var(--iso-sp-3);border-radius:var(--iso-r-pill);border:1px solid var(--iso-line);background:#fff;font-size:var(--iso-text-sm);font-weight:500;line-height:1.2;color:var(--iso-ink-2);white-space:nowrap;transition:background var(--iso-dur),border-color var(--iso-dur);text-decoration:none}
.iso-chip:hover{border-color:var(--iso-line-strong)}
.iso-chip .iso-i{width:14px;height:14px;color:var(--iso-muted)}
.iso-chip.is-on{background:var(--iso-ink);border-color:var(--iso-ink);color:#fff}
.iso-chip.is-on .iso-i{color:#fff}
.iso-chip.w{background:var(--iso-want-50);border-color:var(--iso-want-100);color:var(--iso-want-900)}
.iso-chip.g{background:var(--iso-get-50);border-color:var(--iso-get-100);color:var(--iso-get-900)}
.iso-chip.w.is-on{background:var(--iso-want-fill);border-color:var(--iso-want-fill);color:#fff}
.iso-chip.g.is-on{background:var(--iso-get-fill);border-color:var(--iso-get-fill);color:#fff}
.iso-chip.clear{color:var(--iso-muted);border-style:dashed}
.iso-chipmenu{position:relative;flex:none}
.iso-chipmenu>summary.iso-chip{list-style:none}
.iso-chipmenu[open]>summary.iso-chip{border-color:var(--iso-ink)}
.iso-chipmenu .caret{width:10px;height:10px;transform:rotate(90deg);color:var(--iso-muted)}
.iso-chipmenu.is-on>summary.iso-chip{background:var(--iso-ink);border-color:var(--iso-ink);color:#fff}
.iso-chipmenu.is-on>summary.iso-chip .iso-i{color:#fff}
/* phone: the menu is a bottom sheet (fixed, so the scrolling chip row cannot clip it) */
.iso-menu{position:fixed;left:0;right:0;bottom:0;z-index:1100;background:#fff;border-radius:var(--iso-r-2xl) var(--iso-r-2xl) 0 0;box-shadow:0 -10px 40px rgba(15,23,42,.25);padding:var(--iso-sp-2) var(--iso-sp-2) calc(var(--iso-sp-4) + env(safe-area-inset-bottom,0px));max-height:70vh;overflow-y:auto}
.iso-menu .head{padding:var(--iso-sp-3) var(--iso-sp-3) var(--iso-sp-2);font-size:var(--iso-text-2xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--iso-muted)}
.iso-menu a{display:flex;align-items:center;justify-content:space-between;gap:var(--iso-sp-3);min-height:var(--iso-ctl-touch);padding:0 var(--iso-sp-3);border-radius:var(--iso-r-md);font-size:var(--iso-text-md);color:var(--iso-ink)}
.iso-menu a:hover{background:var(--iso-surface-2)}
.iso-menu a.is-on{font-weight:700;background:var(--iso-surface-3)}
.iso-menu a.clear{color:var(--iso-muted)}
.iso-chipmenu[open]::before{content:"";position:fixed;inset:0;z-index:1090;background:rgba(15,23,42,.45)}
.iso-sort{display:flex;background:#fff;border:1px solid var(--iso-line);border-radius:var(--iso-r-md);padding:var(--iso-sp-1);gap:var(--iso-sp-0-5);overflow-x:auto;scrollbar-width:none;max-width:100%}
.iso-sort::-webkit-scrollbar{display:none}
.iso-sort a,.iso-sort button{display:inline-flex;align-items:center;min-height:var(--iso-ctl-touch);padding:0 var(--iso-sp-3);border-radius:var(--iso-r-sm);font-size:var(--iso-text-sm);font-weight:600;color:var(--iso-muted);white-space:nowrap}
.iso-sort a:hover{color:var(--iso-ink)}
.iso-sort .is-on{background:var(--iso-ink);color:#fff}
.iso-seg{display:inline-flex;background:var(--iso-surface-3);border-radius:var(--iso-r-md);padding:var(--iso-sp-1);gap:var(--iso-sp-0-5)}
.iso-seg a,.iso-seg button{display:inline-flex;align-items:center;gap:var(--iso-sp-2);min-height:var(--iso-ctl-touch);padding:0 var(--iso-sp-3);border-radius:var(--iso-r-sm);font-size:var(--iso-text-sm);font-weight:600;color:var(--iso-ink-2)}
.iso-seg .is-on{background:#fff;color:var(--iso-ink);box-shadow:0 1px 3px rgba(15,23,42,.12)}
@media (min-width:960px){
  .iso-chips{flex-wrap:wrap;overflow:visible;margin:0;padding:0}
  .iso-chip{min-height:var(--iso-ctl-sm)}
  .iso-menu{position:absolute;left:0;top:calc(100% + var(--iso-sp-2));right:auto;bottom:auto;min-width:220px;max-height:340px;border-radius:var(--iso-r-lg);border:1px solid var(--iso-line);box-shadow:var(--iso-shadow-3);padding:var(--iso-sp-2);z-index:30}
  .iso-menu .head{display:none}
  .iso-menu a{min-height:var(--iso-ctl-sm);font-size:var(--iso-text-sm)}
  .iso-chipmenu[open]::before{display:none}
  .iso-sort a,.iso-sort button{min-height:32px}
  .iso-seg a,.iso-seg button{min-height:var(--iso-ctl-sm)}
}

/* wordmark */
.iso-wm{display:inline-flex;align-items:center;gap:var(--iso-sp-3)}
.iso-wm-mark{width:38px;height:38px;border-radius:var(--iso-r-md);background:#fff;border:1px solid var(--iso-line);display:grid;grid-template-columns:1fr 1fr;gap:var(--iso-sp-1);padding:var(--iso-sp-2);position:relative;flex:none}
.iso-wm-mark i{border-radius:3px}.iso-wm-mark i:first-child{background:var(--iso-want-500)}.iso-wm-mark i:last-child{background:var(--iso-get-500)}
.iso-wm-mark::after{content:"";position:absolute;left:12px;right:12px;top:50%;height:3px;margin-top:-1.5px;background:#fff;border-radius:2px}
.iso-wm-t b{display:block;font-family:var(--iso-font-display);font-size:var(--iso-text-3xl);font-weight:800;letter-spacing:.02em;line-height:1}
.iso-wm-t span{display:block;font-size:var(--iso-text-2xs);letter-spacing:.14em;text-transform:uppercase;color:var(--iso-muted);font-weight:600;margin-top:var(--iso-sp-1)}
.iso-wm.sm .iso-wm-mark{width:30px;height:30px;padding:var(--iso-sp-1);border-radius:var(--iso-r-sm)}
.iso-wm.sm .iso-wm-mark::after{left:9px;right:9px}
.iso-wm.sm .iso-wm-t b{font-size:var(--iso-text-xl)}
.iso-wm.sm .iso-wm-t span{letter-spacing:.12em}

/* ISO sub-nav (every ISO page except the directory, which keeps the site header alone) */
.iso-isonav{display:flex;align-items:center;gap:var(--iso-sp-3);padding:var(--iso-sp-3) var(--iso-sp-4);border-bottom:1px solid var(--iso-line);background:#fff}
.iso-isonav nav{display:none;gap:var(--iso-sp-1);font-size:var(--iso-text-sm)}
.iso-isonav nav a{padding:var(--iso-sp-2) var(--iso-sp-3);border-radius:var(--iso-r-sm);color:var(--iso-ink-2);font-weight:500}
.iso-isonav nav a.is-on{background:var(--iso-surface-3);color:var(--iso-ink);font-weight:600}
.iso-isonav .sp{flex:1}
@media (min-width:960px){.iso-isonav{padding:var(--iso-sp-3) var(--iso-sp-7);gap:var(--iso-sp-4)}.iso-isonav nav{display:flex}}

/* empty states -- name what is missing, offer the one action that fills it */
.iso-empty{display:flex;flex-direction:column;align-items:flex-start;gap:var(--iso-sp-2);padding:var(--iso-sp-4);border-radius:var(--iso-r-lg);border:1.5px dashed var(--iso-line-strong);background:#fff}
.iso-empty .ic{width:44px;height:44px;border-radius:var(--iso-r-md);display:grid;place-items:center}
.iso-empty b{font-family:var(--iso-font-display);font-size:var(--iso-text-md)}
.iso-empty p{font-size:var(--iso-text-sm);color:var(--iso-ink-2);flex:1}
.iso-empty .iso-btn{max-width:100%;white-space:normal;text-align:left}
.iso-empty.w{border-color:var(--iso-want-200);background:var(--iso-want-50)}.iso-empty.w .ic{background:#fff;color:var(--iso-want-700);border:1px solid var(--iso-want-100)}
.iso-empty.g{border-color:var(--iso-get-200);background:var(--iso-get-50)}.iso-empty.g .ic{background:#fff;color:var(--iso-get-700);border:1px solid var(--iso-get-100)}
.iso-empty.b{background:var(--iso-bridge-soft)}.iso-empty.b .ic{background:#fff;color:var(--iso-want-700);border:1.5px solid transparent;background-image:linear-gradient(#fff,#fff),var(--iso-bridge);background-origin:border-box;background-clip:padding-box,border-box}
.iso-empty.k .ic{background:var(--iso-surface-3);color:var(--iso-ink-2)}

/* feed skeleton (still blocks; no shimmer loop) */
.iso-skel{display:flex;flex-direction:column;gap:var(--iso-sp-3)}
.iso-skel .sk{display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;gap:var(--iso-sp-2) var(--iso-sp-3);min-height:84px;align-content:center;padding:var(--iso-sp-3);border-radius:var(--iso-r-lg);border:1px solid var(--iso-line);background:#fff}
.iso-skel .sk i{display:block;border-radius:var(--iso-r-xs);background:var(--iso-surface-3)}
.iso-skel .sk .a{grid-row:1/span 2;width:40px;height:40px;border-radius:50%}
.iso-skel .sk .l1{height:12px;width:78%}.iso-skel .sk .l2{height:10px;width:52%}
.iso-skel .w .a,.iso-skel .w i{background:var(--iso-want-50)}.iso-skel .g .a,.iso-skel .g i{background:var(--iso-get-50)}
.iso-skel[hidden]{display:none}

/* error toast */
.iso-toast{display:flex;align-items:center;flex-wrap:wrap;gap:var(--iso-sp-3);padding:var(--iso-sp-3) var(--iso-sp-3) var(--iso-sp-3) var(--iso-sp-4);border-radius:var(--iso-r-md);background:#fff;border:1px solid var(--iso-disputed-line);box-shadow:var(--iso-shadow-3),inset 4px 0 0 var(--iso-disputed-fg)}
.iso-toast .ic{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--iso-disputed-bg);color:var(--iso-disputed-fg);flex:none}
.iso-toast .t{flex:1;min-width:0;font-size:var(--iso-text-sm);color:var(--iso-ink-2)}
.iso-toast .t b{display:block;color:var(--iso-ink);font-size:var(--iso-text-md)}
.iso-toast .x{width:var(--iso-ctl-touch);height:var(--iso-ctl-touch);border-radius:var(--iso-r-sm);display:grid;place-items:center;color:var(--iso-muted)}
.iso-toast.live{position:fixed;left:var(--iso-sp-3);right:var(--iso-sp-3);bottom:calc(72px + env(safe-area-inset-bottom,0px));z-index:1120}
@media (min-width:768px){.iso-toast.live{bottom:var(--iso-sp-4)}}
@media (min-width:960px){.iso-toast.live{left:50%;right:auto;width:440px;margin-left:-220px}}

/* =====================================================================
   CARDS  (.iso-card--want blue · --get green · --bridge · --found)
   ===================================================================== */
.iso-card{position:relative;background:#fff;border-radius:var(--iso-r-lg);border:1px solid var(--iso-line);padding:var(--iso-sp-4);box-shadow:var(--iso-shadow-1)}
.iso-card--want{border-color:var(--iso-want-100);box-shadow:var(--iso-shadow-1),inset 0 3px 0 var(--iso-want-500)}
.iso-card--get{border-color:var(--iso-get-100);box-shadow:var(--iso-shadow-1),inset 0 3px 0 var(--iso-get-500)}
.iso-card--bridge{border:1.5px solid transparent;background-image:linear-gradient(#fff,#fff),var(--iso-bridge);background-origin:border-box;background-clip:padding-box,border-box;box-shadow:var(--iso-shadow-2)}
.iso-card--found{background:#fff;border-color:var(--iso-line-strong);box-shadow:inset 0 3px 0 var(--iso-ink)}
.iso-card.mini{padding:var(--iso-sp-3)}
.iso-card.mini .iso-ctitle{font-size:var(--iso-text-md)}
.iso-card.is-metoo{box-shadow:0 0 0 2px var(--iso-want-500),inset 0 3px 0 var(--iso-want-500)}
a.iso-card{display:block}
a.iso-card:hover{border-color:var(--iso-line-strong)}
.iso-ct{display:flex;align-items:center;gap:var(--iso-sp-2);margin-bottom:var(--iso-sp-2);flex-wrap:wrap}
.iso-ct .when{margin-left:auto;font-size:var(--iso-text-xs);color:var(--iso-muted);white-space:nowrap}
.iso-cw{display:flex;gap:var(--iso-sp-3);align-items:flex-start}
.iso-cw>div{min-width:0;flex:1}
.iso-cw>.iso-money{flex:none;text-align:right}
.iso-ctitle{font-family:var(--iso-font-display);font-weight:700;font-size:var(--iso-text-lg);letter-spacing:-.01em;line-height:1.25;overflow-wrap:anywhere}
a.iso-ctitle:hover,.iso-ctitle a:hover{text-decoration:underline;text-underline-offset:3px}
.iso-csub{font-size:var(--iso-text-sm);color:var(--iso-ink-2);margin-top:var(--iso-sp-1);display:flex;flex-wrap:wrap;gap:var(--iso-sp-1) var(--iso-sp-3);align-items:center}
.iso-csub .iso-i{width:14px;height:14px;color:var(--iso-muted);margin-right:var(--iso-sp-0-5)}
.iso-cmeta{display:flex;flex-wrap:wrap;gap:var(--iso-sp-2) var(--iso-sp-4);margin-top:var(--iso-sp-3);font-size:var(--iso-text-xs);color:var(--iso-muted);align-items:center}
.iso-cmeta b{color:var(--iso-ink);font-weight:700}
.iso-money{font-family:var(--iso-font-display);font-weight:800;font-size:var(--iso-text-xl);letter-spacing:-.01em;line-height:1.2}
.iso-money small{display:block;font-family:var(--iso-font-ui);font-size:var(--iso-text-2xs);font-weight:600;color:var(--iso-muted);letter-spacing:0;text-align:right}
.iso-card--want .iso-money{color:var(--iso-want-700)}.iso-card--get .iso-money{color:var(--iso-get-700)}
.iso-who{display:inline-flex;align-items:center;gap:var(--iso-sp-2);font-size:var(--iso-text-sm);color:var(--iso-ink-2);font-weight:500}
.iso-who .iso-av{--s:22px}
.iso-itm{width:50px;height:50px;border-radius:var(--iso-r-md);display:grid;place-items:center;flex:none;position:relative;overflow:hidden}
.iso-itm.w{background:var(--iso-want-50);color:var(--iso-want-600);border:1px solid var(--iso-want-100)}
.iso-itm.g{background:var(--iso-get-50);color:var(--iso-get-600);border:1px solid var(--iso-get-100)}
.iso-itm.k{background:var(--iso-surface-3);color:var(--iso-ink-2);border:1px solid var(--iso-line)}
.iso-itm .iso-i{width:26px;height:26px;stroke-width:1.5}
.iso-itm img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.iso-foundline{display:flex;align-items:center;gap:var(--iso-sp-2);font-size:var(--iso-text-sm);font-weight:600;color:var(--iso-ink);background:var(--iso-bridge-soft);border:1px solid var(--iso-line);border-radius:var(--iso-r-md);padding:var(--iso-sp-2);margin-top:var(--iso-sp-2)}
.iso-mt-note{display:flex;align-items:center;gap:var(--iso-sp-2);font-size:var(--iso-text-xs);font-weight:600;color:var(--iso-want-700);margin-top:var(--iso-sp-2)}
.iso-mt-note .avs,.iso-avs{display:flex}
.iso-mt-note .iso-av{--s:20px;border:2px solid #fff;margin-left:-6px;font-size:var(--iso-text-2xs)}
.iso-mt-note .iso-av:first-child{margin-left:0}
.iso-bar-split{display:flex;height:6px;border-radius:var(--iso-r-xs);overflow:hidden;background:var(--iso-line);gap:var(--iso-sp-0-5)}
.iso-bar-split i{display:block;height:100%}
.iso-bar-split i:first-child{background:var(--iso-want-500)}.iso-bar-split i:last-child{background:var(--iso-get-500)}

/* action rows: collectors blue, sellers green, visitors neutral with a lock */
.iso-acts{display:flex;flex-wrap:wrap;gap:var(--iso-sp-2);margin-top:var(--iso-sp-3)}
.iso-acts form{display:contents}
.iso-acts .iso-btn{flex:0 0 auto}
.iso-acts.coll .iso-btn{background:var(--iso-want-50);color:var(--iso-want-900);border-color:var(--iso-want-100)}
.iso-acts.coll .iso-btn:hover{border-color:var(--iso-want-200)}
.iso-acts.coll .iso-btn.is-on{background:var(--iso-want-600);color:#fff;border-color:var(--iso-want-600)}
.iso-acts.seller .iso-btn{background:var(--iso-get-50);color:var(--iso-get-900);border-color:var(--iso-get-200)}
.iso-acts.seller .iso-btn.pri{background:var(--iso-get-fill);color:#fff;border-color:var(--iso-get-fill)}
.iso-acts.vis .iso-btn{background:#fff;color:var(--iso-ink-2);border-color:var(--iso-line)}
.iso-acts.own .iso-btn.pri{background:var(--iso-ink);color:#fff;border-color:var(--iso-ink)}

/* =====================================================================
   THE BOARD -- two lanes and the spine between them
   Phone: a segmented control (Wants | N matches | Can get) chooses the
          lane; data-lane on .iso-board = wants | match | can.
   lg:    [want lane] [spine 76px] [can-get lane]; data-focus dims a lane.
   ===================================================================== */
.iso-board{position:relative}
.iso-lh{position:sticky;top:0;z-index:8;display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:0;background:var(--iso-surface-3);border-radius:var(--iso-r-lg);padding:var(--iso-sp-1);margin:0 0 var(--iso-sp-4);box-shadow:0 1px 0 var(--iso-line)}
.iso-lh-want,.iso-lh-get{display:flex;align-items:center;justify-content:center;gap:var(--iso-sp-2);padding:0 var(--iso-sp-2);min-height:var(--iso-ctl-touch);border-radius:var(--iso-r-md);text-align:center;cursor:pointer;color:var(--iso-ink-2)}
.iso-lh-ic,.iso-lh-t>span{display:none}
.iso-lh-t b{display:block;font-family:var(--iso-font-display);font-size:var(--iso-text-md);font-weight:800;letter-spacing:-.015em;line-height:var(--iso-lh-tight);white-space:nowrap;color:var(--iso-ink-2)}
.iso-lh-n{font-size:var(--iso-text-xs);padding:var(--iso-sp-0-5) var(--iso-sp-2);border-radius:var(--iso-r-pill);background:#fff;color:var(--iso-muted);font-weight:700;line-height:1.35}
.iso-lh-mid{display:flex;align-items:center;justify-content:center;padding:0 var(--iso-sp-1)}
.iso-mpill{display:inline-flex;align-items:center;justify-content:center;gap:var(--iso-sp-1);min-width:0;min-height:var(--iso-ctl-touch);padding:0 var(--iso-sp-3);border-radius:var(--iso-r-pill);background:#fff;border:1px solid var(--iso-line);font-size:var(--iso-text-2xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--iso-muted);position:relative}
.iso-mpill b{font-family:var(--iso-font-display);font-size:var(--iso-text-md);letter-spacing:-.01em;line-height:1;background:var(--iso-bridge);-webkit-background-clip:text;background-clip:text;color:transparent}
.iso-board[data-lane="wants"] .iso-lh-want{background:var(--iso-want-600);box-shadow:0 1px 3px rgba(37,99,235,.35)}
.iso-board[data-lane="can"] .iso-lh-get{background:var(--iso-get-fill);box-shadow:0 1px 3px rgba(5,150,105,.35)}
.iso-board[data-lane="wants"] .iso-lh-want .iso-lh-t b,.iso-board[data-lane="can"] .iso-lh-get .iso-lh-t b{color:#fff}
.iso-board[data-lane="wants"] .iso-lh-want .iso-lh-n,.iso-board[data-lane="can"] .iso-lh-get .iso-lh-n{background:rgba(255,255,255,.22);color:#fff}
.iso-board[data-lane="match"] .iso-mpill{background:var(--iso-bridge);border-color:transparent;color:#fff}
.iso-board[data-lane="match"] .iso-mpill b{color:#fff;background:none;-webkit-background-clip:initial;background-clip:initial}

.iso-rows{display:flex;flex-direction:column;gap:var(--iso-sp-3)}
.iso-pair{display:block;position:relative}
.iso-pair>*{position:relative;min-width:0}
.iso-want,.iso-get{display:flex;flex-direction:column}
.iso-want>.iso-card,.iso-get>.iso-card{flex:1}
.iso-link{display:none}
.iso-mchip{display:none;align-items:center;gap:var(--iso-sp-2);margin-top:var(--iso-sp-3);padding:var(--iso-sp-2) var(--iso-sp-3);border-radius:var(--iso-r-md);font-size:var(--iso-text-xs);font-weight:600;line-height:1.25}
.iso-mchip.to-get{background:var(--iso-get-50);color:var(--iso-get-900);border:1px solid var(--iso-get-100)}
.iso-mchip.to-want{background:var(--iso-want-50);color:var(--iso-want-900);border:1px solid var(--iso-want-100)}
.iso-mchip .iso-i{width:15px;height:15px}
/* phone lane switching */
.iso-board[data-lane="wants"] .iso-get,.iso-board[data-lane="can"] .iso-want{display:none}
.iso-board[data-lane="wants"] .iso-pair:has(.iso-want>.iso-ph),.iso-board[data-lane="can"] .iso-pair:has(.iso-get>.iso-ph){display:none}
.iso-board[data-lane="wants"] .iso-mchip.to-get,.iso-board[data-lane="can"] .iso-mchip.to-want{display:flex}
.iso-board[data-lane="match"] .iso-pair:not(.is-m){display:none}
.iso-board[data-lane="match"] .iso-pair.is-m{border-radius:var(--iso-r-xl);padding:var(--iso-sp-3);background:var(--iso-bridge-soft);border:1px solid var(--iso-line-2)}
.iso-board[data-lane="match"] .iso-link{display:flex;align-items:center;justify-content:center;height:40px;position:relative}
.iso-board[data-lane="match"] .iso-link::before{content:"";position:absolute;left:50%;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:linear-gradient(180deg,var(--iso-want-600),var(--iso-get-600))}
.iso-board[data-lane="match"] .iso-link.none{display:none}
/* zones on pages that are one lane each (subject, type, ISO) */
.iso-board[data-lane="wants"] :is(.iso-z-can,.iso-z-match){display:none}
.iso-board[data-lane="can"] :is(.iso-z-want,.iso-z-match){display:none}
.iso-board[data-lane="match"] :is(.iso-z-want,.iso-z-can){display:none}
.iso-link .node{position:relative;z-index:1;display:flex;align-items:center;gap:var(--iso-sp-1);background:#fff;border:1.5px solid transparent;border-radius:var(--iso-r-md);padding:var(--iso-sp-1) var(--iso-sp-2);
  background-image:linear-gradient(#fff,#fff),var(--iso-bridge);background-origin:border-box;background-clip:padding-box,border-box;font-size:var(--iso-text-2xs);font-weight:700;color:var(--iso-ink-2);text-align:center;line-height:var(--iso-lh-tight)}
.iso-link .node .iso-i{width:15px;height:15px;color:var(--iso-want-600)}
.iso-link.none .node{background-image:none;border:1.5px dashed var(--iso-line-strong);color:var(--iso-muted);font-weight:600}
/* a dashed box that says what is missing and offers the fill action */
.iso-ph{flex:1;border:1.5px dashed var(--iso-line-strong);border-radius:var(--iso-r-lg);display:flex;align-items:center;justify-content:center;gap:var(--iso-sp-3);padding:var(--iso-sp-4);color:var(--iso-muted);font-size:var(--iso-text-sm);text-align:center;background:rgba(255,255,255,.55)}
.iso-ph a,.iso-ph .lnk{color:var(--iso-want-700);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.iso-get .iso-ph a,.iso-get .iso-ph .lnk,.iso-ph.g a,.iso-ph.g .lnk{color:var(--iso-get-700)}
.iso-ph button.lnk{display:inline;min-height:var(--iso-ctl-touch)}
.iso-more{display:flex;justify-content:center;padding:var(--iso-sp-4) 0 var(--iso-sp-1);gap:var(--iso-sp-2);flex-wrap:wrap}

@media (min-width:960px){
  .iso-board{border-radius:var(--iso-r-xl);border:1px solid var(--iso-line-2);padding:0 0 var(--iso-sp-4);
    background:linear-gradient(90deg,var(--iso-want-50) 0 calc(50% - var(--iso-spine)/2),#fff calc(50% - var(--iso-spine)/2) calc(50% + var(--iso-spine)/2),var(--iso-get-50) calc(50% + var(--iso-spine)/2))}
  .iso-lh{position:relative;top:auto;grid-template-columns:1fr var(--iso-spine) 1fr;background:none;border-radius:0;padding:0;margin:0;box-shadow:none}
  .iso-lh-want,.iso-lh-get{justify-content:flex-start;gap:var(--iso-sp-3);padding:var(--iso-sp-4) var(--iso-sp-5);text-align:left;border-radius:var(--iso-r-lg)}
  .iso-lh-get{flex-direction:row-reverse;text-align:right}
  .iso-lh-ic{display:grid;place-items:center;width:38px;height:38px;border-radius:var(--iso-r-md);flex:none;color:#fff}
  .iso-lh-want .iso-lh-ic{background:var(--iso-want-600)}.iso-lh-get .iso-lh-ic{background:var(--iso-get-fill)}
  .iso-lh-t>span{display:block;font-size:var(--iso-text-xs);color:var(--iso-muted);margin-top:var(--iso-sp-0-5)}
  .iso-lh-t b{font-size:var(--iso-text-xl)}
  .iso-lh-want .iso-lh-t b{color:var(--iso-want-900)}.iso-lh-get .iso-lh-t b{color:var(--iso-get-900)}
  .iso-lh-n{margin-left:auto;padding:0;background:none;font-family:var(--iso-font-display);font-weight:800;font-size:var(--iso-text-3xl);letter-spacing:-.02em;line-height:1.2}
  .iso-lh-get .iso-lh-n{margin-left:0;margin-right:auto}
  .iso-lh-want .iso-lh-n{color:var(--iso-want-700)}.iso-lh-get .iso-lh-n{color:var(--iso-get-700)}
  .iso-board[data-lane] .iso-lh-want,.iso-board[data-lane] .iso-lh-get{background:none;box-shadow:none}
  .iso-board[data-lane] .iso-lh-want .iso-lh-t b{color:var(--iso-want-900)}.iso-board[data-lane] .iso-lh-get .iso-lh-t b{color:var(--iso-get-900)}
  .iso-board[data-lane] .iso-lh-want .iso-lh-n{background:none;color:var(--iso-want-700)}.iso-board[data-lane] .iso-lh-get .iso-lh-n{background:none;color:var(--iso-get-700)}
  .iso-lh-want:hover .iso-lh-t b,.iso-lh-get:hover .iso-lh-t b{text-decoration:underline;text-underline-offset:3px}
  .iso-mpill{flex-direction:column;gap:1px;min-width:62px;padding:var(--iso-sp-1) var(--iso-sp-2);border-radius:var(--iso-r-lg);box-shadow:0 2px 8px rgba(15,23,42,.06)}
  .iso-mpill b{font-size:var(--iso-text-lg)}
  .iso-board[data-lane] .iso-mpill{background:#fff;border-color:var(--iso-line);color:var(--iso-muted)}
  .iso-board[data-lane] .iso-mpill b{background:var(--iso-bridge);-webkit-background-clip:text;background-clip:text;color:transparent}
  .iso-rows{padding:var(--iso-sp-1) var(--iso-sp-4) 0}
  .iso-pair{display:grid;grid-template-columns:1fr var(--iso-spine) 1fr;align-items:stretch;border-radius:var(--iso-r-lg);margin:0 calc(var(--iso-sp-4)*-1);padding:0 var(--iso-sp-4)}
  .iso-pair.is-m::before{content:"";position:absolute;inset:-5px 2px;border-radius:var(--iso-r-lg);background:linear-gradient(90deg,rgba(37,99,235,.07),rgba(255,255,255,.7) 45%,rgba(255,255,255,.7) 55%,rgba(5,150,105,.07));border:1px dashed rgba(100,116,139,.18);pointer-events:none}
  .iso-pair.is-m:hover::before{border-color:rgba(37,99,235,.35);border-style:solid}
  .iso-board[data-lane] .iso-want,.iso-board[data-lane] .iso-get{display:flex}
  .iso-board[data-lane] .iso-pair:has(.iso-want>.iso-ph),.iso-board[data-lane] .iso-pair:has(.iso-get>.iso-ph){display:grid}
  .iso-board[data-lane] .iso-pair:not(.is-m){display:grid}
  .iso-board[data-lane="match"] .iso-pair.is-m{border-radius:var(--iso-r-lg);padding:0 var(--iso-sp-4);background:none;border:0}
  .iso-board[data-lane] .iso-mchip.to-get,.iso-board[data-lane] .iso-mchip.to-want{display:none}
  .iso-board[data-lane] :is(.iso-z-want,.iso-z-can,.iso-z-match){display:block}
  .iso-board[data-focus="wants"] :is(.iso-get,.iso-lh-get,.iso-z-can){opacity:.28}
  .iso-board[data-focus="can"] :is(.iso-want,.iso-lh-want,.iso-z-want){opacity:.28}
  .iso-board[data-focus="match"] .iso-pair:not(.is-m){opacity:.28}
  .iso-want,.iso-get,.iso-pair{transition:opacity .2s}
  /* the connector: a line from the want card's port to the can-get card's port */
  .iso-link{display:flex;align-items:center;justify-content:center}
  .iso-board[data-lane] .iso-link{display:flex;height:auto}
  .iso-board[data-lane] .iso-link::before,.iso-link::before{content:"";position:absolute;left:-7px;right:-7px;top:50%;bottom:auto;width:auto;height:2px;margin:-1px 0 0;background:var(--iso-bridge);border-radius:2px}
  .iso-link .node{flex-direction:column;min-width:54px}
  .iso-board[data-lane] .iso-link.none::before{background:repeating-linear-gradient(90deg,var(--iso-line-strong) 0 5px,transparent 5px 10px);right:50%}
  .iso-board[data-lane] .iso-link.none.r::before{left:50%;right:-7px}
  .iso-board[data-lane] .iso-link.none{display:flex}
  .iso-pair .iso-want>.iso-card::after,.iso-pair .iso-get>.iso-card::after{content:"";position:absolute;top:50%;width:12px;height:12px;margin-top:-6px;border-radius:50%;background:#fff;border:2.5px solid;z-index:2}
  .iso-pair .iso-want>.iso-card::after{right:-7px;border-color:var(--iso-want-500)}
  .iso-pair .iso-get>.iso-card::after{left:-7px;border-color:var(--iso-get-500)}
}

/* =====================================================================
   DIRECTORY
   ===================================================================== */
.iso-hero{display:grid;grid-template-columns:1fr;gap:var(--iso-sp-5);padding:var(--iso-sp-5) var(--iso-sp-4);align-items:center;background:linear-gradient(180deg,#fff,#fbfcfe)}
.iso-hero h1{font-size:var(--iso-text-4xl);margin:var(--iso-sp-4) 0 var(--iso-sp-2)}
.iso-hero h1 .w{color:var(--iso-want-700)}.iso-hero h1 .g{color:var(--iso-get-700)}
.iso-hero p.lead{color:var(--iso-ink-2);font-size:var(--iso-text-md);max-width:470px}
.iso-search{display:flex;align-items:center;gap:var(--iso-sp-3);margin-top:var(--iso-sp-5);background:#fff;border:1px solid var(--iso-line-strong);border-radius:var(--iso-r-md);padding:0 var(--iso-sp-2) 0 var(--iso-sp-4);min-height:var(--iso-ctl-lg);box-shadow:var(--iso-shadow-1)}
.iso-search input{flex:1;border:0;outline:0;min-width:0;font-size:var(--iso-text-md);background:none;min-height:var(--iso-ctl-touch)}
.iso-search:focus-within{outline:3px solid var(--iso-focus);outline-offset:2px}
.iso-search .iso-i{color:var(--iso-muted)}
.iso-cta{display:flex;gap:var(--iso-sp-2);flex-wrap:wrap;margin-top:var(--iso-sp-4)}
.iso-cta .iso-btn{flex:1 1 auto}
.iso-cta form{display:contents}
.iso-hstat{display:grid;grid-template-columns:1fr 68px 1fr;align-items:center;background:#fff;border:1px solid var(--iso-line);border-radius:var(--iso-r-lg);padding:var(--iso-sp-3);box-shadow:var(--iso-shadow-2)}
.iso-hstat .side{border-radius:var(--iso-r-lg);padding:var(--iso-sp-3)}
.iso-hstat .side.w{background:var(--iso-want-50);border:1px solid var(--iso-want-100)}
.iso-hstat .side.g{background:var(--iso-get-50);border:1px solid var(--iso-get-100);text-align:right}
.iso-hstat .big{font-family:var(--iso-font-display);font-weight:800;font-size:var(--iso-text-3xl);letter-spacing:-.03em;line-height:1}
.iso-hstat .w .big{color:var(--iso-want-700)}.iso-hstat .g .big{color:var(--iso-get-700)}
.iso-hstat .lab{font-size:var(--iso-text-xs);font-weight:600;margin-top:var(--iso-sp-1)}
.iso-hstat .w .lab{color:var(--iso-want-900)}.iso-hstat .g .lab{color:var(--iso-get-900)}
.iso-hstat .sub{display:none;font-size:var(--iso-text-xs);color:var(--iso-muted);margin-top:var(--iso-sp-2)}
.iso-hstat .mid{position:relative;display:flex;align-items:center;justify-content:center;height:100%}
.iso-hstat .mid::before{content:"";position:absolute;left:-2px;right:-2px;top:50%;height:3px;margin-top:-1.5px;background:var(--iso-bridge)}
.iso-hstat .mid div{position:relative;border-radius:var(--iso-r-lg);padding:var(--iso-sp-1) 2px;text-align:center;border:2px solid transparent;background-image:linear-gradient(#fff,#fff),var(--iso-bridge);background-origin:border-box;background-clip:padding-box,border-box;width:64px}
.iso-hstat .mid b{display:block;font-family:var(--iso-font-display);font-size:var(--iso-text-lg);font-weight:800;letter-spacing:-.02em;line-height:1.05}
.iso-hstat .mid span{display:block;font-size:var(--iso-text-2xs);font-weight:600;line-height:var(--iso-lh-tight);color:var(--iso-muted)}
.iso-hstat .foot{grid-column:1/-1;display:flex;justify-content:space-between;font-size:var(--iso-text-2xs);color:var(--iso-muted);margin-top:var(--iso-sp-3);gap:var(--iso-sp-3)}
.iso-hstat .foot span:nth-child(2){display:none}
.iso-guest{display:flex;align-items:center;flex-wrap:wrap;gap:var(--iso-sp-3);margin:0 var(--iso-sp-4) var(--iso-sp-1);padding:var(--iso-sp-3) var(--iso-sp-4);border-radius:var(--iso-r-lg);background:var(--iso-surface-2);border:1px solid var(--iso-line);font-size:var(--iso-text-sm)}
.iso-guest .iso-i{color:var(--iso-muted)}
.iso-guest span{flex:1 1 200px}
@media (min-width:960px){
  .iso-hero{grid-template-columns:1.15fr 1fr;gap:36px;padding:36px var(--iso-sp-7) var(--iso-sp-7)}
  .iso-hero h1{font-size:var(--iso-text-5xl);margin:var(--iso-sp-5) 0 var(--iso-sp-3)}
  .iso-cta .iso-btn{flex:0 0 auto}
  .iso-hstat{grid-template-columns:1fr 84px 1fr;padding:var(--iso-sp-5);border-radius:var(--iso-r-xl);box-shadow:var(--iso-shadow-3)}
  .iso-hstat .side{padding:var(--iso-sp-4)}
  .iso-hstat .big{font-size:var(--iso-text-4xl)}
  .iso-hstat .lab{font-size:var(--iso-text-sm)}
  .iso-hstat .sub{display:block}
  .iso-hstat .mid div{width:76px;padding:var(--iso-sp-2) var(--iso-sp-1)}
  .iso-hstat .mid b{font-size:var(--iso-text-2xl)}
  .iso-hstat .mid span{text-transform:uppercase;letter-spacing:.06em;font-weight:700}
  .iso-hstat .foot{font-size:var(--iso-text-xs)}
  .iso-hstat .foot span:nth-child(2){display:inline}
  .iso-guest{margin:0 var(--iso-sp-7) var(--iso-sp-1)}
}

/* Just added -- one list in time order. lg: wants pack into lane 1 and
   opportunities into lane 3 (grid-auto-flow: dense), the Found story spans both. */
.iso-feed{position:relative;display:flex;flex-direction:column;gap:var(--iso-sp-3)}
.iso-feed-lanes{display:none}
.iso-feed>.span{position:relative;z-index:1}
.iso-feed-more{display:flex;justify-content:center;margin-top:var(--iso-sp-3)}
.iso-feed[aria-busy="true"]{opacity:.6}
@media (min-width:960px){
  .iso-feed{display:grid;grid-template-columns:minmax(0,1fr) var(--iso-spine) minmax(0,1fr);grid-auto-flow:row dense;row-gap:var(--iso-sp-3);align-items:stretch}
  .iso-feed::before{content:"";position:absolute;left:50%;top:36px;bottom:0;width:2px;margin-left:-1px;background:linear-gradient(180deg,var(--iso-want-200),var(--iso-get-200))}
  .iso-feed>.w{grid-column:1}
  .iso-feed>.g{grid-column:3}
  .iso-feed>.span{grid-column:1/-1;order:9}
  .iso-feed-lanes{grid-column:1/-1;order:-1;display:grid;grid-template-columns:1fr var(--iso-spine) 1fr;align-items:center;font-size:var(--iso-text-2xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
  .iso-feed-lanes span{display:inline-flex;align-items:center;gap:var(--iso-sp-1)}
  .iso-feed-lanes .w{color:var(--iso-want-700)}
  .iso-feed-lanes .g{color:var(--iso-get-700);justify-self:end}
  .iso-feed-lanes .live{justify-self:center;position:relative;z-index:1;background:#fff;border:1px solid var(--iso-get-200);color:var(--iso-get-800);border-radius:var(--iso-r-pill);padding:var(--iso-sp-0-5) var(--iso-sp-2)}
  .iso-feed>.iso-card{display:flex;flex-direction:column;justify-content:center}
}
/* hot this week */
.iso-hot{display:grid;grid-template-columns:repeat(6,158px);gap:var(--iso-sp-3);overflow-x:auto;scrollbar-width:none;margin:0 calc(var(--iso-sp-4)*-1);padding:0 var(--iso-sp-4) var(--iso-sp-2)}
.iso-hot::-webkit-scrollbar{display:none}
.iso-hotc{background:#fff;border:1px solid var(--iso-line);border-radius:var(--iso-r-lg);padding:var(--iso-sp-3);display:flex;flex-direction:column;gap:var(--iso-sp-2);min-width:0}
.iso-hotc:hover{border-color:var(--iso-line-strong)}
.iso-hotc .top{display:flex;align-items:center;gap:var(--iso-sp-2)}
.iso-hotc .top b{font-family:var(--iso-font-display);font-size:var(--iso-text-md);line-height:var(--iso-lh-tight);display:block}
.iso-hotc .top span{font-size:var(--iso-text-2xs);color:var(--iso-muted)}
.iso-hotc .up{display:inline-flex;align-items:center;gap:var(--iso-sp-1);font-size:var(--iso-text-xs);font-weight:700;color:var(--iso-want-700)}
.iso-hotc .up.g{color:var(--iso-get-700)}
.iso-hotc .up .iso-i{width:13px;height:13px}
.iso-hotc .nums{display:flex;justify-content:space-between;font-size:var(--iso-text-2xs);color:var(--iso-muted)}
.iso-hotc .nums b{color:var(--iso-want-700)}.iso-hotc .nums b.g{color:var(--iso-get-700)}
@media (min-width:960px){.iso-hot{grid-template-columns:repeat(6,minmax(158px,176px));margin:0;padding:0 0 var(--iso-sp-1);scrollbar-width:thin}}
/* filters + sort */
.iso-filt{display:flex;flex-direction:column;gap:var(--iso-sp-3);padding:0 0 var(--iso-sp-3)}
.iso-filt-top{display:flex;gap:var(--iso-sp-3);align-items:center;flex-wrap:wrap}
.iso-filt-top .iso-small{margin-left:auto}
@media (min-width:960px){.iso-filt{padding:var(--iso-sp-4) var(--iso-sp-5) var(--iso-sp-2)}}
/* subject rows on the board */
.iso-subw{display:flex;gap:var(--iso-sp-3);align-items:center}
.iso-subw .iso-av{--s:48px}
.iso-subw .nm{min-width:0;flex:1}
.iso-subw .nm b{font-family:var(--iso-font-display);font-size:var(--iso-text-lg);font-weight:800;letter-spacing:-.01em;display:block;line-height:1.2;overflow-wrap:anywhere}
.iso-subw .nm span{font-size:var(--iso-text-xs);color:var(--iso-muted)}
.iso-subn{text-align:right}
.iso-subn b{display:block;font-family:var(--iso-font-display);font-weight:800;font-size:var(--iso-text-3xl);letter-spacing:-.02em;line-height:1}
.iso-card--want .iso-subn b{color:var(--iso-want-700)}.iso-card--get .iso-subn b{color:var(--iso-get-700)}
.iso-subn span{font-size:var(--iso-text-2xs);color:var(--iso-muted);font-weight:600}
.iso-subline{display:flex;flex-wrap:wrap;gap:var(--iso-sp-1) var(--iso-sp-3);margin-top:var(--iso-sp-3);padding-top:var(--iso-sp-2);border-top:1px solid var(--iso-line-2);font-size:var(--iso-text-xs);color:var(--iso-ink-2)}
.iso-subline b{font-weight:700}
@media (min-width:960px){
  .iso-card--get .iso-subw{flex-direction:row-reverse}
  .iso-card--get .iso-subw .iso-subn{text-align:left}
  .iso-card--get .iso-subw .nm{text-align:right}
  .iso-card--get .iso-subw .iso-av{display:none}
}
/* quick-add button (phone): sits above the site's fixed bottom nav */
.iso-sec.has-fab{padding-bottom:88px}
.iso-fab{position:sticky;bottom:calc(72px + env(safe-area-inset-bottom,0px));display:flex;justify-content:flex-end;padding:0 var(--iso-sp-4);pointer-events:none;z-index:9;margin-top:-58px}
.iso-fab .iso-btn{pointer-events:auto;min-height:52px;border-radius:var(--iso-r-pill);padding:0 var(--iso-sp-5);box-shadow:0 10px 24px rgba(37,99,235,.35)}
.iso-fab form{display:contents}
@media (min-width:768px){.iso-fab{bottom:var(--iso-sp-4)}}
@media (min-width:960px){.iso-fab{display:none}.iso-sec.has-fab{padding-bottom:var(--iso-sp-7)}}

/* =====================================================================
   SUBJECT / TYPE PAGE
   ===================================================================== */
.iso-crumb{display:flex;flex-wrap:wrap;gap:var(--iso-sp-2);align-items:center;font-size:var(--iso-text-sm);color:var(--iso-muted);padding:var(--iso-sp-3) var(--iso-sp-4) 0}
.iso-crumb a{color:var(--iso-ink-2);font-weight:500;display:inline-flex;align-items:center;min-height:var(--iso-ctl-touch)}
.iso-crumb a:hover{text-decoration:underline}
.iso-subhero{display:grid;grid-template-columns:auto 1fr;gap:var(--iso-sp-4);align-items:center;padding:var(--iso-sp-5) var(--iso-sp-4) var(--iso-sp-4)}
.iso-subhero .ph{--s:76px;border-radius:var(--iso-r-xl);font-size:var(--iso-text-4xl)}
.iso-subhero .ph.tile{background:var(--iso-want-50);color:var(--iso-want-600);border:1px solid var(--iso-want-100)}
.iso-subhero .ph.tile .iso-i{width:36px;height:36px;stroke-width:1.5}
.iso-subhero h1{font-size:var(--iso-text-4xl)}
.iso-subhero .kick{font-size:var(--iso-text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--iso-muted)}
.iso-subhero .ctas{grid-column:1/-1;display:flex;gap:var(--iso-sp-2);flex-wrap:wrap}
.iso-subhero .ctas form{display:contents}
.iso-subhero .ctas .iso-btn{flex:1 1 auto}
.iso-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--iso-sp-2);padding:0 var(--iso-sp-4)}
.iso-stat{border-radius:var(--iso-r-lg);padding:var(--iso-sp-3) var(--iso-sp-4);border:1px solid var(--iso-line)}
.iso-stat b{display:block;font-family:var(--iso-font-display);font-size:var(--iso-text-2xl);font-weight:800;letter-spacing:-.02em;line-height:1.05}
.iso-stat span{font-size:var(--iso-text-xs);color:var(--iso-ink-2);font-weight:500}
.iso-stat.w{background:var(--iso-want-50);border-color:var(--iso-want-100)}.iso-stat.w b{color:var(--iso-want-700)}
.iso-stat.g{background:var(--iso-get-50);border-color:var(--iso-get-100)}.iso-stat.g b{color:var(--iso-get-700)}
@media (min-width:960px){
  .iso-crumb{padding:var(--iso-sp-4) var(--iso-sp-7) 0}
  .iso-subhero{grid-template-columns:auto 1fr auto;gap:var(--iso-sp-6);padding:var(--iso-sp-7) var(--iso-sp-7) var(--iso-sp-5)}
  .iso-subhero .ph{--s:108px;border-radius:var(--iso-r-2xl);font-size:var(--iso-text-5xl)}
  .iso-subhero .ph.tile .iso-i{width:52px;height:52px}
  .iso-subhero h1{font-size:var(--iso-text-5xl)}
  .iso-subhero .ctas{grid-column:auto;flex-direction:column;align-items:stretch}
  .iso-subhero .ctas .iso-btn{flex:0 0 auto}
  .iso-stats{grid-template-columns:repeat(4,1fr);gap:var(--iso-sp-3);padding:0 var(--iso-sp-7)}
  .iso-stat b{font-size:var(--iso-text-3xl)}
}
/* two independent lanes with the spine line between (subject, type and ISO pages) */
.iso-two{display:block}
.iso-spine{display:none}
.iso-stack{display:flex;flex-direction:column;gap:var(--iso-sp-3)}
.iso-lanelab{font-size:var(--iso-text-2xs);letter-spacing:.08em;text-transform:uppercase;font-weight:700;margin:var(--iso-sp-1) 0 var(--iso-sp-2)}
.iso-lanelab.g{color:var(--iso-get-700)}.iso-lanelab.w{color:var(--iso-want-700)}
.iso-countonly{border:1px dashed var(--iso-get-200);border-radius:var(--iso-r-lg);padding:var(--iso-sp-4);text-align:center;color:var(--iso-get-900);background:rgba(255,255,255,.6);font-size:var(--iso-text-sm)}
.iso-countonly b{display:block;font-family:var(--iso-font-display);font-size:var(--iso-text-4xl);color:var(--iso-get-700)}
.iso-countonly.plain{border-color:var(--iso-line);color:var(--iso-ink-2)}
@media (min-width:960px){
  .iso-two{display:grid;grid-template-columns:1fr var(--iso-spine) 1fr;align-items:start;padding:0 var(--iso-sp-4)}
  .iso-spine{display:block;align-self:stretch;position:relative}
  .iso-spine::before{content:"";position:absolute;left:50%;top:10px;bottom:0;width:2px;margin-left:-1px;background:linear-gradient(180deg,var(--iso-want-400),var(--iso-get-400))}
}

/* =====================================================================
   ISO CARD FAMILY  (.iso-wcard: gallery / list / poster via [data-cards])
   ===================================================================== */
.iso-cardset{display:grid;grid-template-columns:1fr 1fr;gap:var(--iso-sp-3)}
.iso-cardset[data-cards="list"],.iso-cardset[data-cards="poster"]{grid-template-columns:1fr}
.iso-wcard{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--iso-want-100);border-radius:var(--iso-r-lg);overflow:hidden;box-shadow:var(--iso-shadow-1),inset 0 3px 0 var(--iso-want-500);min-width:0}
.iso-wcard-media{position:relative;aspect-ratio:4/3;background:linear-gradient(135deg,#bfdbfe,#3b82f6 70%,#1e3a8a);display:grid;place-items:center;overflow:hidden}
.iso-wcard-media .ini{font-family:var(--iso-font-display);font-weight:800;font-size:42px;color:rgba(255,255,255,.85);letter-spacing:-.03em}
.iso-wcard-media img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.iso-wcard-type{position:absolute;right:10px;bottom:10px;width:40px;height:40px;border-radius:var(--iso-r-md);background:#fff;color:var(--iso-want-700);display:grid;place-items:center;box-shadow:0 2px 8px rgba(15,23,42,.18)}
.iso-wcard-type .iso-i{width:22px;height:22px}
.iso-wcard-flag{position:absolute;left:10px;top:10px;display:flex;gap:var(--iso-sp-1);flex-wrap:wrap;right:60px}
.iso-wcard-body{padding:var(--iso-sp-3) var(--iso-sp-3) var(--iso-sp-3);display:flex;flex-direction:column;gap:var(--iso-sp-1);flex:1}
.iso-wcard-name{font-family:var(--iso-font-display);font-weight:800;font-size:var(--iso-text-md);letter-spacing:-.01em;line-height:1.2;overflow-wrap:anywhere}
.iso-wcard-name a:hover{text-decoration:underline;text-underline-offset:3px}
.iso-wcard-item{font-size:var(--iso-text-sm);color:var(--iso-ink-2)}
.iso-wcard-nums{display:flex;align-items:baseline;gap:var(--iso-sp-3);flex-wrap:wrap;margin-top:var(--iso-sp-2);font-size:var(--iso-text-xs);color:var(--iso-muted)}
.iso-wcard-nums .bud{font-family:var(--iso-font-display);font-weight:800;font-size:var(--iso-text-xl);color:var(--iso-want-700)}
.iso-wcard-nums .bud.hid{font-family:var(--iso-font-ui);font-size:var(--iso-text-xs);font-weight:600;color:var(--iso-muted);display:inline-flex;align-items:center;gap:var(--iso-sp-1)}
.iso-wcard-nums b{color:var(--iso-ink)}
.iso-wcard-who{display:flex;align-items:center;gap:var(--iso-sp-2);font-size:var(--iso-text-xs);color:var(--iso-ink-2);margin-top:var(--iso-sp-1)}
.iso-wcard-who .iso-av{--s:22px}
.iso-wcard .iso-acts{margin-top:auto;padding-top:var(--iso-sp-3)}
.iso-wcard .iso-acts .iso-btn{flex:1;padding:0}
.iso-wcard .iso-acts .l:not(.keep){display:none}
.iso-big .iso-acts .l,.iso-big .iso-acts .l:not(.keep){display:inline}
.iso-wcard.is-found{border-color:var(--iso-line-strong);box-shadow:inset 0 3px 0 var(--iso-ink)}
.iso-wcard.is-found .iso-wcard-media{filter:saturate(.4)}
.iso-wcard.is-found .iso-wcard-media::after{content:"";position:absolute;inset:0;background:rgba(15,23,42,.25)}
.iso-wcard.is-expired .iso-wcard-media{opacity:.6}
.iso-wcard.is-metoo{box-shadow:0 0 0 2px var(--iso-want-500),inset 0 3px 0 var(--iso-want-500)}
@media (min-width:640px){
  .iso-cardset[data-cards="gallery"]{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--iso-sp-4)}
  .iso-wcard-body{padding:var(--iso-sp-3) var(--iso-sp-4) var(--iso-sp-4)}
  .iso-wcard-name{font-size:var(--iso-text-lg)}
}
@media (min-width:960px){
  .iso-wcard .iso-acts .iso-btn.sec{flex:0 0 auto;width:var(--iso-ctl-sm)}
  .iso-wcard .iso-acts .iso-btn.lead{flex:1}
  .iso-wcard .iso-acts .iso-btn.lead .l{display:inline}
}
@media (min-width:1200px){.iso-cardset[data-cards="gallery"]{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* list style: a row with a media strip and a left rule */
.iso-cardset[data-cards="list"] .iso-wcard{flex-direction:row;box-shadow:var(--iso-shadow-1),inset 3px 0 0 var(--iso-want-500)}
.iso-cardset[data-cards="list"] .iso-wcard.is-found{box-shadow:inset 3px 0 0 var(--iso-ink)}
.iso-cardset[data-cards="list"] .iso-wcard-media{aspect-ratio:auto;width:76px;flex:none}
.iso-cardset[data-cards="list"] .iso-wcard-media .ini{font-size:var(--iso-text-3xl)}
.iso-cardset[data-cards="list"] .iso-wcard-flag{display:none}
.iso-cardset[data-cards="list"] .iso-wcard-type{width:30px;height:30px;right:6px;bottom:6px;border-radius:var(--iso-r-sm)}
.iso-cardset[data-cards="list"] .iso-wcard-type .iso-i{width:17px;height:17px}
.iso-cardset[data-cards="list"] .iso-wcard-name{font-size:var(--iso-text-md)}
.iso-cardset[data-cards="list"] .iso-wcard .iso-acts{padding-top:var(--iso-sp-2);justify-content:flex-start;flex-wrap:wrap}
.iso-cardset[data-cards="list"] .iso-wcard .iso-acts .iso-btn{flex:0 0 auto;padding:0 var(--iso-sp-3)}
.iso-cardset[data-cards="list"] .iso-wcard .iso-acts .iso-btn.sec{width:var(--iso-ctl-touch);padding:0}
.iso-cardset[data-cards="list"] .iso-wcard .iso-acts .iso-btn.lead .l{display:inline}
.iso-cardset[data-cards="list"] .iso-tags-inline{display:flex;gap:var(--iso-sp-1);flex-wrap:wrap;margin-bottom:var(--iso-sp-1)}
.iso-tags-inline{display:none}
/* poster style: the picture fills the card, text sits on a dark scrim */
.iso-cardset[data-cards="poster"] .iso-wcard{border:0;box-shadow:0 10px 26px rgba(15,23,42,.14);min-height:400px;color:#fff;background:#1e3a8a}
.iso-cardset[data-cards="poster"] .iso-wcard-media{position:absolute;inset:0;aspect-ratio:auto;place-items:start center}
.iso-cardset[data-cards="poster"] .iso-wcard-media .ini{font-size:72px;margin-top:48px}
.iso-cardset[data-cards="poster"] .iso-wcard-type{top:10px;right:10px;bottom:auto}
.iso-cardset[data-cards="poster"] .iso-wcard-flag{right:60px}
.iso-cardset[data-cards="poster"] .iso-wcard-body{position:relative;margin-top:auto;flex:none;padding:72px var(--iso-sp-4) var(--iso-sp-4);background:linear-gradient(180deg,rgba(15,23,42,0),rgba(15,23,42,.72) 34%,rgba(15,23,42,.92))}
.iso-cardset[data-cards="poster"] .iso-wcard-name{font-size:var(--iso-text-3xl)}
.iso-cardset[data-cards="poster"] .iso-wcard-item,.iso-cardset[data-cards="poster"] .iso-wcard-who,.iso-cardset[data-cards="poster"] .iso-wcard-nums{color:rgba(255,255,255,.86)}
.iso-cardset[data-cards="poster"] .iso-wcard-nums b,.iso-cardset[data-cards="poster"] .iso-wcard-nums .bud{color:#fff}
.iso-cardset[data-cards="poster"] .iso-wcard-nums .bud.hid{color:rgba(255,255,255,.8)}
.iso-cardset[data-cards="poster"] .iso-wcard .iso-acts .iso-btn{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.28);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.iso-cardset[data-cards="poster"] .iso-wcard .iso-acts .iso-btn.pri,.iso-cardset[data-cards="poster"] .iso-wcard .iso-acts .iso-btn.is-on{background:#fff;color:var(--iso-ink)}
.iso-cardset[data-cards="poster"] .iso-wcard .iso-acts.seller .iso-btn.pri{background:var(--iso-get-fill);color:#fff;border-color:var(--iso-get-fill)}
.iso-cardset[data-cards="poster"] .iso-foundline{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.25);color:#fff}
.iso-cardset[data-cards="poster"] .iso-mt-note{color:var(--iso-want-200)}
.iso-cardset[data-cards="poster"] .iso-wcard.is-metoo{box-shadow:0 0 0 3px var(--iso-want-400),0 10px 26px rgba(15,23,42,.14)}
.iso-cardset[data-cards="poster"] .iso-wcard::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--iso-want-500);z-index:2}
.iso-cardset[data-cards="poster"] .iso-wcard.is-found::before{background:#fff}
@media (min-width:640px){.iso-cardset[data-cards="poster"]{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--iso-sp-4)}}
@media (min-width:960px){
  .iso-cardset[data-cards="list"] .iso-wcard-media{width:92px}
}
/* inside a half-width lane the grid never goes 3-up */
.iso-z-want .iso-cardset[data-cards="gallery"],.iso-z-want .iso-cardset[data-cards="poster"]{grid-template-columns:1fr 1fr}
@media (max-width:639.98px){.iso-z-want .iso-cardset[data-cards="poster"]{grid-template-columns:1fr}}

/* =====================================================================
   ISO PAGE
   ===================================================================== */
.iso-big{padding:var(--iso-sp-4)}
.iso-gal{display:grid;grid-template-columns:1fr 64px;gap:var(--iso-sp-2);margin-bottom:var(--iso-sp-4)}
.iso-gal.single{grid-template-columns:1fr}
.iso-gal .main{position:relative;aspect-ratio:4/3;border-radius:var(--iso-r-md);overflow:hidden;background:linear-gradient(135deg,#bfdbfe,#3b82f6 70%,#1e3a8a);display:grid;place-items:center}
.iso-gal .main .ini{font-family:var(--iso-font-display);font-weight:800;font-size:54px;color:rgba(255,255,255,.85)}
.iso-gal .main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.iso-gal .main .cap{position:absolute;left:10px;bottom:10px;font-size:var(--iso-text-2xs);font-weight:600;color:#fff;background:rgba(15,23,42,.72);padding:var(--iso-sp-1) var(--iso-sp-2);border-radius:var(--iso-r-pill)}
.iso-gal .thumbs{display:flex;flex-direction:column;gap:var(--iso-sp-2)}
.iso-gal .thumbs a,.iso-gal .thumbs span{flex:1;border-radius:var(--iso-r-md);background:var(--iso-want-50);border:1px solid var(--iso-want-100);display:grid;place-items:center;color:var(--iso-want-700);overflow:hidden;position:relative;min-height:48px;font-size:var(--iso-text-xs);font-weight:700}
.iso-gal .thumbs img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.iso-big h1{font-size:var(--iso-text-4xl)}
.iso-bigmeta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--iso-sp-2) var(--iso-sp-4);margin-top:var(--iso-sp-2);font-size:var(--iso-text-sm);color:var(--iso-ink-2)}
.iso-bigprice{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--iso-sp-2);margin-top:var(--iso-sp-3)}
.iso-bigprice b{font-family:var(--iso-font-display);font-size:var(--iso-text-4xl);font-weight:800;color:var(--iso-want-700);letter-spacing:-.02em}
.iso-bigprice .hid{display:inline-flex;align-items:center;gap:var(--iso-sp-2);font-size:var(--iso-text-md);font-weight:600;color:var(--iso-muted)}
.iso-wantcount{display:flex;align-items:center;flex-wrap:wrap;gap:var(--iso-sp-3);margin-top:var(--iso-sp-3);padding:var(--iso-sp-3);border-radius:var(--iso-r-md);background:var(--iso-want-50);border:1px solid var(--iso-want-100);font-size:var(--iso-text-sm);color:var(--iso-want-900)}
.iso-wantcount .avs{display:flex}
.iso-wantcount .avs .iso-av{--s:26px;border:2px solid #fff;margin-left:-8px;font-size:var(--iso-text-2xs)}
.iso-wantcount .avs .iso-av:first-child{margin-left:0}
.iso-wantcount form{display:contents}
.iso-wantcount .iso-btn{margin-left:auto}
.iso-brief{margin-top:var(--iso-sp-4);border:1px dashed var(--iso-want-200);border-radius:var(--iso-r-md);padding:var(--iso-sp-3) var(--iso-sp-4);background:#fbfdff}
.iso-brief h4{font-size:var(--iso-text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--iso-want-700);margin-bottom:var(--iso-sp-2);display:flex;align-items:center;gap:var(--iso-sp-2)}
.iso-kv{display:grid;grid-template-columns:auto 1fr;gap:var(--iso-sp-2) var(--iso-sp-4);font-size:var(--iso-text-sm)}
.iso-kv dt{color:var(--iso-muted)}.iso-kv dd{font-weight:600;overflow-wrap:anywhere}
.iso-pen{display:inline-block;width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,#f8fafc,#94a3b8);border:1px solid #64748b;vertical-align:-1px;margin-right:var(--iso-sp-1)}
.iso-note{margin-top:var(--iso-sp-3);font-size:var(--iso-text-md);color:var(--iso-ink-2);line-height:1.55;overflow-wrap:anywhere;white-space:pre-line}
.iso-owner{display:flex;flex-wrap:wrap;gap:var(--iso-sp-2);margin-top:var(--iso-sp-4);padding-top:var(--iso-sp-4);border-top:1px solid var(--iso-line-2)}
.iso-owner .lab{width:100%;font-size:var(--iso-text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--iso-muted);font-weight:700}
.iso-owner form{display:contents}
.iso-support{display:inline-flex;align-items:center;gap:var(--iso-sp-2);font-size:var(--iso-text-xs);color:var(--iso-muted);margin-top:var(--iso-sp-3)}
.iso-support a{color:var(--iso-supporter-fg);font-weight:600;text-decoration:underline;text-underline-offset:3px}
/* offers band under both lanes */
.iso-bz{margin:var(--iso-sp-4) 0 0;border-radius:var(--iso-r-lg);padding:var(--iso-sp-3);background:var(--iso-bridge-soft);border:1px solid var(--iso-line);position:relative}
.iso-bz-h{display:flex;align-items:center;gap:var(--iso-sp-3);flex-wrap:wrap;margin-bottom:var(--iso-sp-3)}
.iso-bz-h .iso-h2{margin-right:auto}
.iso-board[data-lane="wants"] .iso-bz,.iso-board[data-lane="can"] .iso-bz{display:none}
@media (min-width:960px){
  .iso-bz{margin:var(--iso-sp-5) var(--iso-sp-4) 0;border-radius:var(--iso-r-xl);padding:var(--iso-sp-4)}
  .iso-bz::before{content:"";position:absolute;left:50%;top:-19px;height:18px;width:2px;margin-left:-1px;background:linear-gradient(180deg,var(--iso-want-400),var(--iso-get-400))}
  .iso-board[data-lane] .iso-bz{display:block}
  .iso-big{padding:var(--iso-sp-5)}
  .iso-gal{grid-template-columns:1fr 82px}
  .iso-gal.single{grid-template-columns:1fr}
}
/* comments + share */
.iso-lower{display:grid;grid-template-columns:1fr;gap:var(--iso-sp-5);padding:var(--iso-sp-5) var(--iso-sp-4) var(--iso-sp-6)}
.iso-sheet{border:1px solid var(--iso-line);border-radius:var(--iso-r-xl);padding:var(--iso-sp-4);background:#fff;box-shadow:var(--iso-shadow-3);scroll-margin-top:var(--iso-sp-4)}
.iso-ogmini{border-radius:var(--iso-r-md);overflow:hidden;border:1px solid var(--iso-line)}
.iso-ogmini .img{min-height:120px;background:linear-gradient(90deg,var(--iso-want-700),var(--iso-want-800) 50%,var(--iso-get-700) 50%,var(--iso-get-600));position:relative;display:flex;align-items:center;padding:var(--iso-sp-4);gap:var(--iso-sp-3);color:#fff}
.iso-ogmini .img .iso-av{--s:64px;border:3px solid #fff}
.iso-ogmini .img b{font-family:var(--iso-font-display);font-size:var(--iso-text-xl);display:block;line-height:var(--iso-lh-snug)}
.iso-ogmini .img span{font-size:var(--iso-text-xs)}
.iso-ogmini .t{padding:var(--iso-sp-2) var(--iso-sp-3);font-size:var(--iso-text-xs);color:var(--iso-muted);background:var(--iso-surface-2);overflow-wrap:anywhere}
.iso-sharebtns{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--iso-sp-2);margin:var(--iso-sp-3) 0}
.iso-sharebtns a,.iso-sharebtns button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--iso-sp-1);font-size:var(--iso-text-xs);font-weight:600;color:var(--iso-ink-2);padding:var(--iso-sp-3) var(--iso-sp-1);border-radius:var(--iso-r-md);border:1px solid var(--iso-line);min-height:64px;background:#fff;text-align:center}
.iso-sharebtns a:hover,.iso-sharebtns button:hover{border-color:var(--iso-line-strong);background:var(--iso-surface-2)}
.iso-sharebtns .iso-i{color:var(--iso-ink)}
.iso-input{width:100%;min-height:var(--iso-ctl-touch);border:1px solid var(--iso-line-strong);border-radius:var(--iso-r-md);padding:var(--iso-sp-3);font-size:var(--iso-text-md);background:#fff}
.iso-input:focus{outline:3px solid var(--iso-want-100);border-color:var(--iso-want-400)}
textarea.iso-input{resize:vertical;line-height:1.45}
@media (min-width:640px){.iso-sharebtns{grid-template-columns:repeat(4,1fr)}}
@media (min-width:960px){
  .iso-lower{grid-template-columns:1.3fr 1fr;padding:var(--iso-sp-6) var(--iso-sp-7) var(--iso-sp-7);gap:var(--iso-sp-5)}
}

/* =====================================================================
   SIGN-IN WALL -- any action a visitor taps opens this and does nothing else
   phone: bottom sheet over a scrim · lg: popover under the tapped button
   ===================================================================== */
.iso-scrim{position:fixed;inset:0;z-index:1090;background:rgba(15,23,42,.45)}
.iso-wall{position:fixed;z-index:1100;left:0;right:0;bottom:0;background:#fff;border-radius:var(--iso-r-2xl) var(--iso-r-2xl) 0 0;box-shadow:0 -10px 40px rgba(15,23,42,.25);padding:var(--iso-sp-3) var(--iso-sp-4) calc(var(--iso-sp-5) + env(safe-area-inset-bottom,0px));max-height:90vh;overflow-y:auto}
.iso-wall .grab{display:block;width:40px;height:5px;border-radius:3px;background:var(--iso-line-strong);margin:0 auto var(--iso-sp-3)}
.iso-wall h4{font-family:var(--iso-font-display);font-size:var(--iso-text-xl);font-weight:800;letter-spacing:-.01em;margin:var(--iso-sp-3) 0 var(--iso-sp-1)}
.iso-wall p{font-size:var(--iso-text-sm);color:var(--iso-ink-2)}
.iso-wall .row{display:flex;flex-direction:column;gap:var(--iso-sp-2);margin-top:var(--iso-sp-4)}
.iso-wall .x{position:absolute;right:var(--iso-sp-2);top:var(--iso-sp-2);width:var(--iso-ctl-touch);height:var(--iso-ctl-touch);border-radius:var(--iso-r-md);display:grid;place-items:center;color:var(--iso-muted)}
.iso-wall[hidden],.iso-scrim[hidden]{display:none}
@media (min-width:960px){
  .iso-wall{left:var(--wall-x,50%);top:var(--wall-y,120px);right:auto;bottom:auto;width:340px;border-radius:var(--iso-r-xl);border:1px solid var(--iso-line);box-shadow:var(--iso-shadow-pop);padding:var(--iso-sp-5)}
  .iso-wall .grab{display:none}
  .iso-wall .row{flex-direction:row}
  .iso-wall .row .iso-btn{flex:1}
  .iso-wall .x{width:var(--iso-ctl-sm);height:var(--iso-ctl-sm);right:10px;top:10px}
  .iso-scrim.pop{background:transparent}
}

/* offers stub under a want, joined to the spine on lg */
.iso-bridgerow{display:flex;justify-content:center;position:relative;margin-top:var(--iso-sp-3)}
.iso-bridgerow .iso-card{width:100%}
@media (min-width:960px){
  .iso-bridgerow .iso-card{width:64%}
  .iso-bridgerow::before{content:"";position:absolute;left:50%;top:-14px;height:14px;width:2px;margin-left:-1px;background:var(--iso-bridge-v)}
}
.iso-btn:focus-within{outline:3px solid var(--iso-focus);outline-offset:2px}

/* touch: 44px targets even on tablets and other coarse pointers */
@media (pointer:coarse){
  .iso-btn,.iso-btn.sm,.iso-chip,.iso-sort a,.iso-sort button,.iso-seg a,.iso-seg button,.iso-menu a{min-height:var(--iso-ctl-touch)}
  .iso-btn.icon,.iso-btn.sm.icon{width:var(--iso-ctl-touch)}
  .iso-wcard .iso-acts .iso-btn.sec{width:var(--iso-ctl-touch)}
}

/* =====================================================================
   PHASE B2 -- ADD SHEET, MANAGE MENU, MEMBER LIST, SETTINGS
   ---------------------------------------------------------------------
   One block, appended at the END of the file (never interleaved with the
   B1 rules above) so the Opportunities branch merges cleanly. Everything
   the sheet and the member list paint from a member's profile theme goes
   through --iso-member-* (docs/ISO_DESIGN_SYSTEM.md section 5): accent for
   fills, rules and borders; accent-text for anything printed as text.
   ===================================================================== */

html.iso-noscroll,html.iso-noscroll body{overflow:hidden}
.iso-modal [hidden],.iso-mlist [hidden],.iso-set [hidden]{display:none!important}

/* ---------- member theme: repaints the WANT lane only ----------
   The custom properties that B1 derived from the ramp at .iso-root
   (--iso-want-fill ...) were already substituted there, so they are
   re-declared here. The right lane's green ramp is re-mapped to slate: a
   member page has no "can get" lane and lane green never appears on it. */
.iso-member{
  --iso-want-50:var(--iso-member-soft);
  --iso-want-100:color-mix(in srgb,var(--iso-member-accent) 16%,#fff);
  --iso-want-200:color-mix(in srgb,var(--iso-member-accent) 30%,#fff);
  --iso-want-400:color-mix(in srgb,var(--iso-member-accent) 60%,#fff);
  --iso-want-500:var(--iso-member-accent);--iso-want-600:var(--iso-member-accent);
  --iso-want-700:var(--iso-member-accent-text);
  --iso-want-800:color-mix(in srgb,var(--iso-member-accent-text) 85%,#000);
  --iso-want-900:color-mix(in srgb,var(--iso-member-accent-text) 70%,#000);
  --iso-want-fill:var(--iso-member-accent);
  --iso-want-fill-hover:color-mix(in srgb,var(--iso-member-accent) 86%,#000);
  --iso-get-50:var(--iso-surface-2);--iso-get-100:var(--iso-surface-3);--iso-get-200:var(--iso-line);
  --iso-get-400:var(--iso-muted-2);--iso-get-500:var(--iso-muted);--iso-get-600:var(--iso-ink-2);
  --iso-get-700:var(--iso-ink-2);--iso-get-800:var(--iso-ink);--iso-get-900:var(--iso-ink);
  --iso-get-fill:var(--iso-ink);--iso-get-fill-hover:var(--iso-ink-2);
}
.iso-member .iso-btn--want,.iso-member .iso-btn.is-on,.iso-member .iso-acts.coll .iso-btn.is-on{color:var(--iso-member-on)}
.iso-member .iso-wcard-media,.iso-member .iso-gal .main{background:var(--iso-member-grad)}
.iso-member :is(.iso-h1,.iso-h2,.iso-wcard-name,.iso-lh-t b,.iso-ctitle){font-family:var(--iso-member-font)}
.iso-member .iso-cardset[data-cards="poster"] .iso-wcard{background:color-mix(in srgb,var(--iso-member-accent) 55%,#0f172a)}
.iso-member .iso-tag--found,.iso-member .iso-card--found .iso-itm{color:#fff}
.iso-member .iso-card--found{box-shadow:var(--iso-shadow-1),inset 0 3px 0 var(--iso-ink-2)}
.iso-member .iso-itm.k{color:var(--iso-ink-2)}
.iso-member .iso-spine::before{background:linear-gradient(180deg,var(--iso-want-400),var(--iso-line-strong))}

/* ---------- form primitives (sheet, settings) ---------- */
.iso-field{display:flex;flex-direction:column;gap:var(--iso-sp-1);margin-bottom:var(--iso-sp-3);min-width:0}
.iso-field>label,.iso-field>.lab,.iso-lab{font-size:var(--iso-text-xs);font-weight:600;color:var(--iso-ink-2)}
.iso-field .hint,.iso-hint{font-size:var(--iso-text-xs);color:var(--iso-muted)}
.iso-field .hint a,.iso-modal-f .sum a{color:var(--iso-member-accent-text);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.iso-row2{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--iso-sp-3)}
.iso-row2>*{min-width:0}
.iso-input.mono,textarea.iso-input.mono{font-family:var(--iso-font-mono);font-size:var(--iso-text-sm)}
select.iso-input{appearance:none;padding-right:36px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center}
input.iso-input[type="date"]{min-height:var(--iso-ctl-touch)}
.iso-modal .iso-input,.iso-modal input,.iso-modal select,.iso-modal textarea,.iso-set .iso-input{font-size:var(--iso-text-lg)}
.iso-formerr{border:1px solid var(--iso-disputed-line);background:var(--iso-disputed-bg);color:var(--iso-disputed-fg);border-radius:var(--iso-r-md);padding:var(--iso-sp-3);margin:0 0 var(--iso-sp-3);font-size:var(--iso-text-sm)}
.iso-formerr b{display:flex;align-items:center;gap:var(--iso-sp-2)}
.iso-formerr ul{list-style:disc;padding-left:var(--iso-sp-5);margin-top:var(--iso-sp-1)}
.iso-note-w{background:var(--iso-warn-bg);color:var(--iso-warn-fg);border:1px solid var(--iso-warn-line);border-radius:var(--iso-r-md);padding:var(--iso-sp-2) var(--iso-sp-3);font-size:var(--iso-text-sm);margin-bottom:var(--iso-sp-3)}

/* switches: a real checkbox behind a track; the label is the whole row */
.iso-tog{display:flex;align-items:center;justify-content:space-between;gap:var(--iso-sp-4);min-height:var(--iso-ctl-touch);padding:var(--iso-sp-1) 0;border-bottom:1px solid var(--iso-line-2);cursor:pointer;font-size:var(--iso-text-md);font-weight:500}
.iso-tog:last-child{border-bottom:0}
.iso-tog .t{min-width:0}
.iso-tog .t small{display:block;font-size:var(--iso-text-2xs);color:var(--iso-muted);font-weight:400;line-height:var(--iso-lh-snug)}
.iso-tog .sw{position:relative;width:40px;height:24px;border-radius:var(--iso-r-pill);background:#64748b;flex:none;transition:background var(--iso-dur)}
.iso-tog .sw::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:left var(--iso-dur)}
.iso-tog input:checked~.sw{background:var(--iso-member-accent-text)}
.iso-tog input:checked~.sw::after{left:19px}
.iso-tog input:focus-visible~.sw{outline:3px solid var(--iso-focus);outline-offset:2px}
.iso-tog.is-disabled{opacity:.45;cursor:not-allowed}
.iso-togs{display:flex;flex-direction:column;margin-bottom:var(--iso-sp-3)}
.iso-list{border:1px solid var(--iso-line);border-radius:var(--iso-r-lg);padding:var(--iso-sp-1) var(--iso-sp-4)}

/* segmented radios (priority, density, card style) */
.iso-seg label{display:contents}
.iso-seg label>span{display:inline-flex;align-items:center;justify-content:center;gap:var(--iso-sp-2);flex:1;min-height:var(--iso-ctl-touch);padding:0 var(--iso-sp-3);border-radius:var(--iso-r-sm);font-size:var(--iso-text-sm);font-weight:600;color:var(--iso-ink-2);cursor:pointer;white-space:nowrap}
.iso-seg input:checked+span{background:#fff;color:var(--iso-ink);box-shadow:0 1px 3px rgba(15,23,42,.12)}
.iso-seg input:focus-visible+span{outline:3px solid var(--iso-focus);outline-offset:2px}
.iso-seg.iso-pri{display:flex;width:100%}

/* radio cards ("one item signed by all" / "a separate ISO for each", Found via) */
.iso-choice{display:flex;flex-direction:column;gap:var(--iso-sp-2);margin-top:var(--iso-sp-1)}
.iso-rcard{display:block;cursor:pointer}
.iso-rcard .face{display:flex;gap:var(--iso-sp-3);align-items:flex-start;padding:var(--iso-sp-3);min-height:var(--iso-ctl-touch);border:1.5px solid var(--iso-line);border-radius:var(--iso-r-md);background:#fff;text-align:left}
.iso-rcard .dot{width:18px;height:18px;border-radius:50%;border:2px solid #94a3b8;flex:none;margin-top:1px;position:relative}
.iso-rcard b{display:block;font-size:var(--iso-text-sm)}
.iso-rcard .face span span{font-size:var(--iso-text-xs);color:var(--iso-muted)}
.iso-rcard input:checked+.face{border-color:var(--iso-member-accent-text);background:var(--iso-member-soft)}
.iso-rcard input:checked+.face .dot{border-color:var(--iso-member-accent-text)}
.iso-rcard input:checked+.face .dot::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--iso-member-accent-text)}
.iso-rcard input:focus-visible+.face{outline:3px solid var(--iso-focus);outline-offset:2px}
.needs .iso-rcard .face{border-color:var(--iso-amber-700);background:var(--iso-warn-bg)}
.needs .lab{color:var(--iso-warn-fg)}

/* item-type tiles */
.iso-typegrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--iso-sp-2)}
.iso-tile{display:block;cursor:pointer;min-width:0}
.iso-tile .face{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--iso-sp-1);padding:var(--iso-sp-2) 2px;min-height:68px;height:100%;border:1.5px solid var(--iso-line);border-radius:var(--iso-r-md);font-size:var(--iso-text-2xs);font-weight:600;color:var(--iso-ink-2);text-align:center;line-height:var(--iso-lh-tight);overflow-wrap:anywhere}
.iso-tile .iso-i{width:22px;height:22px}
.iso-tile input:checked+.face{border-color:var(--iso-member-accent-text);background:var(--iso-member-soft);color:var(--iso-ink)}
.iso-tile input:checked+.face .iso-i{color:var(--iso-member-accent-text)}
.iso-tile input:focus-visible+.face{outline:3px solid var(--iso-focus);outline-offset:2px}
.iso-tile small{font-weight:400;color:var(--iso-muted)}
.iso-typemore{margin:var(--iso-sp-2) 0}
.iso-typemore>summary{display:inline-flex;align-items:center;min-height:var(--iso-ctl-touch);font-size:var(--iso-text-sm);font-weight:600;color:var(--iso-member-accent-text);text-decoration:underline;text-underline-offset:3px;margin-bottom:var(--iso-sp-2)}
.iso-attrs{margin-top:var(--iso-sp-3)}

/* authenticator pills */
.iso-picks{display:flex;flex-wrap:wrap;gap:var(--iso-sp-2)}
.iso-pick{display:block;cursor:pointer}
.iso-pick span{display:inline-flex;align-items:center;min-height:var(--iso-ctl-touch);padding:0 var(--iso-sp-4);border-radius:var(--iso-r-pill);border:1.5px solid var(--iso-line);font-size:var(--iso-text-sm);font-weight:600;color:var(--iso-ink-2);background:#fff}
.iso-pick input:checked+span{border-color:var(--iso-member-accent-text);background:var(--iso-member-soft);color:var(--iso-ink)}
.iso-pick input:focus-visible+span{outline:3px solid var(--iso-focus);outline-offset:2px}

/* money, photos, consignment */
.iso-money-in{display:flex;align-items:center;border:1px solid var(--iso-line-strong);border-radius:var(--iso-r-md);background:#fff;padding-left:var(--iso-sp-3);min-height:var(--iso-ctl-touch);font-weight:700}
.iso-money-in input{flex:1;min-width:0;border:0;outline:0;background:none;min-height:var(--iso-ctl-touch);font-weight:700;padding:0 var(--iso-sp-2)}
.iso-money-in:focus-within{outline:3px solid var(--iso-want-100);border-color:var(--iso-want-400)}
.iso-drop{display:flex;align-items:center;gap:var(--iso-sp-3);border:1.5px dashed var(--iso-line-strong);border-radius:var(--iso-r-md);padding:var(--iso-sp-3);min-height:56px;font-size:var(--iso-text-sm);color:var(--iso-muted);background:#fafbfd;cursor:pointer}
.iso-drop b{color:var(--iso-ink)}
.iso-drop:has(+input:focus-visible){outline:3px solid var(--iso-focus);outline-offset:2px}
.iso-photos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--iso-sp-2);margin-bottom:var(--iso-sp-2)}
.iso-photo{position:relative;aspect-ratio:1;border-radius:var(--iso-r-md);overflow:hidden;border:1px solid var(--iso-line);cursor:pointer;display:block}
.iso-photo img{width:100%;height:100%;object-fit:cover}
.iso-photo .rm{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;gap:var(--iso-sp-1);padding:var(--iso-sp-1);background:rgba(15,23,42,.78);color:#fff;font-size:var(--iso-text-2xs)}
.iso-photo input:checked~img{opacity:.35}
.iso-photo input:checked~.rm{background:var(--iso-disputed-fg)}
.iso-photo input:checked~.rm b::after{content:"d"}
.iso-photo input:focus-visible~.rm{outline:3px solid var(--iso-focus);outline-offset:-3px}
.iso-consign{border:1.5px dashed var(--iso-member-accent-text);border-radius:var(--iso-r-md);padding:var(--iso-sp-3);margin:0 0 var(--iso-sp-3);min-width:0}
.iso-consign legend{display:inline-flex;align-items:center;gap:var(--iso-sp-1);padding:0 var(--iso-sp-2);font-size:var(--iso-text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--iso-member-accent-text)}

/* name chips + search */
.iso-namebox{display:flex;flex-wrap:wrap;gap:var(--iso-sp-2);align-items:center;border:1px solid var(--iso-line-strong);border-radius:var(--iso-r-md);padding:var(--iso-sp-2);min-height:52px;background:#fff;cursor:text}
.iso-namebox:focus-within{outline:3px solid var(--iso-want-100);border-color:var(--iso-want-400)}
.iso-namebox .ic{margin-left:var(--iso-sp-1);color:var(--iso-muted);display:inline-flex}
.iso-namebox input:focus-visible,.iso-money-in input:focus-visible{outline:none}
.iso-namebox input{border:0;outline:0;flex:1;min-width:120px;min-height:36px;background:none}
.iso-nchip{display:inline-flex;align-items:center;gap:var(--iso-sp-2);padding:var(--iso-sp-1);border-radius:var(--iso-r-pill);background:var(--iso-member-soft);color:var(--iso-ink);font-size:var(--iso-text-sm);font-weight:600;max-width:100%}
.iso-nchip .iso-av{--s:24px;font-size:var(--iso-text-2xs)}
.iso-nchip button{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:var(--iso-ink-2);flex:none}
.iso-nchip button:hover{background:rgba(15,23,42,.08)}
.iso-suggest{border:1px solid var(--iso-line);border-radius:var(--iso-r-md);margin-top:var(--iso-sp-2);overflow:hidden;background:#fff;box-shadow:var(--iso-shadow-2)}
.iso-suggest li{display:flex;align-items:center;gap:var(--iso-sp-3);padding:var(--iso-sp-2) var(--iso-sp-3);min-height:var(--iso-ctl-touch);font-size:var(--iso-text-sm);border-bottom:1px solid var(--iso-line-2);cursor:pointer}
.iso-suggest li:last-child{border:0}
.iso-suggest li:hover,.iso-suggest li.is-on{background:var(--iso-surface-2)}
.iso-suggest .m{margin-left:auto;font-size:var(--iso-text-2xs);color:var(--iso-muted);white-space:nowrap}

/* ---------- the sheet: phone bottom sheet, desktop modal ---------- */
.iso-host .iso-scrim{z-index:1090}
.iso-modal-wrap{position:fixed;inset:0;z-index:1100;display:flex;align-items:flex-end;justify-content:center;overflow-y:auto;overscroll-behavior:contain;padding-top:48px}
.iso-modal{position:relative;width:100%;max-width:920px;display:flex;flex-direction:column;background:#fff;border-radius:var(--iso-r-2xl) var(--iso-r-2xl) 0 0;box-shadow:0 -10px 40px rgba(15,23,42,.25);max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow:hidden}
.iso-modal.sm{max-width:560px}
.iso-modal.is-loading{padding:var(--iso-sp-8) var(--iso-sp-4);text-align:center;color:var(--iso-muted)}
.iso-modal .grab{display:block;width:40px;height:5px;border-radius:3px;background:var(--iso-line-strong);margin:10px auto 0;flex:none}
.iso-modal-form{display:flex;flex-direction:column;min-height:0;flex:1}
.iso-modal-h{display:flex;align-items:center;gap:var(--iso-sp-3);padding:var(--iso-sp-3) var(--iso-sp-4);border-bottom:1px solid var(--iso-line);flex:none}
.iso-modal-h .iso-h2{margin-right:auto;min-width:0}
.iso-modal-h .x{width:var(--iso-ctl-touch);height:var(--iso-ctl-touch);border-radius:var(--iso-r-md);display:grid;place-items:center;color:var(--iso-muted);border:1px solid var(--iso-line);flex:none}
.iso-modal-h .x:hover{background:var(--iso-surface-2)}
.iso-modes{padding:var(--iso-sp-2) var(--iso-sp-4);border-bottom:1px solid var(--iso-line);flex:none;overflow-x:auto}
.iso-modes .iso-seg{display:flex;width:100%}
.iso-modes .iso-seg a{flex:1;justify-content:center;white-space:nowrap}
.iso-modal-b{padding:var(--iso-sp-4);overflow-y:auto;flex:1;min-height:0;-webkit-overflow-scrolling:touch}
.iso-modal-f{display:flex;align-items:center;gap:var(--iso-sp-3);padding:var(--iso-sp-3) var(--iso-sp-4) calc(var(--iso-sp-3) + env(safe-area-inset-bottom,0px));border-top:1px solid var(--iso-line);background:#fbfcfe;flex-wrap:wrap;flex:none}
.iso-modal-f .sum{flex:1 1 100%;font-size:var(--iso-text-sm);color:var(--iso-ink-2);overflow-wrap:anywhere}
.iso-modal-f .iso-btn{flex:1 1 0}
.iso-stepper{display:flex;align-items:center;justify-content:space-between;gap:2px;padding:var(--iso-sp-2) var(--iso-sp-3);background:#fafbfd;border-bottom:1px solid var(--iso-line);flex:none}
.iso-stepper a{display:inline-flex;align-items:center;gap:var(--iso-sp-2);min-height:var(--iso-ctl-touch);padding:0 var(--iso-sp-2);border-radius:var(--iso-r-md);font-size:var(--iso-text-sm);font-weight:600;color:var(--iso-muted)}
.iso-stepper a .num{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;border:1.5px solid #64748b;font-size:var(--iso-text-xs);color:var(--iso-ink-2)}
.iso-stepper a.is-on{color:var(--iso-ink)}
.iso-stepper a.is-on .num{background:var(--iso-member-accent);border-color:var(--iso-member-accent);color:var(--iso-member-on)}
.iso-stepper .ar{color:#94a3b8}
.iso-step-h{display:flex;align-items:center;gap:var(--iso-sp-2);font-family:var(--iso-member-font);font-size:var(--iso-text-md);margin:0 0 var(--iso-sp-3)}
.iso-step-h .num{width:22px;height:22px;border-radius:50%;background:var(--iso-member-soft);color:var(--iso-member-accent-text);display:grid;place-items:center;font-size:var(--iso-text-2xs)}
.iso-modal[data-js] .iso-step{display:none}
.iso-modal[data-js] .iso-step.is-on{display:block}
.iso-modal[data-js] .iso-step-h{display:none}
.iso-modal[data-js][data-mode="full"] [data-sheet-post].is-late{display:none}
.iso-step+.iso-step{margin-top:var(--iso-sp-5)}
.iso-modal[data-js] .iso-step+.iso-step{margin-top:0}
.iso-sheetpage{padding:var(--iso-sp-4) var(--iso-sp-4) var(--iso-sp-8)}
.iso-modal.is-page{position:relative;max-width:920px;margin:0 auto;border-radius:var(--iso-r-2xl);border:1px solid var(--iso-line);box-shadow:var(--iso-shadow-3);max-height:none;overflow:visible}
.iso-modal.is-page.sm{max-width:560px}
.iso-modal.is-page .grab{display:none}
.iso-modal.is-page .iso-modal-b{overflow:visible}
.iso-modal.is-page .iso-modal-f{position:sticky;bottom:0;border-radius:0 0 var(--iso-r-2xl) var(--iso-r-2xl);z-index:2}
/* review table (bulk add) */
.iso-tablewrap{overflow-x:auto;border:1px solid var(--iso-line);border-radius:var(--iso-r-md)}
.iso-grid{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--iso-text-sm)}
.iso-grid th{text-align:left;font-size:var(--iso-text-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--iso-muted);font-weight:700;background:#f8fafc;padding:var(--iso-sp-2) var(--iso-sp-3);border-bottom:1px solid var(--iso-line);white-space:nowrap}
.iso-grid td{padding:var(--iso-sp-2) var(--iso-sp-3);border-bottom:1px solid var(--iso-line-2);vertical-align:middle}
.iso-grid tr:last-child td{border-bottom:0}
.iso-grid .nm{display:flex;align-items:center;gap:var(--iso-sp-2);font-weight:600}
.iso-grid .nm small,.iso-grid .why{display:block;font-size:var(--iso-text-2xs);font-weight:400;color:var(--iso-muted)}
.iso-grid .why{margin-top:var(--iso-sp-1)}
.iso-grid tr.missing td,.iso-grid tr.ambiguous td{background:var(--iso-disputed-bg)}
.iso-grid tr.check td:first-child{box-shadow:inset 3px 0 0 var(--iso-amber-700)}
.iso-ok{display:inline-flex;align-items:center;gap:var(--iso-sp-1);color:var(--iso-ink);font-weight:700}
.iso-warn{color:var(--iso-amber-700);font-weight:700}
.iso-bad{color:var(--iso-disputed-fg);font-weight:700}

@media (min-width:640px){
  .iso-row2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .iso-modal-f .sum{flex:1 1 auto}
}
@media (min-width:960px){
  .iso-modal-wrap{align-items:center;padding:24px}
  .iso-modal{border-radius:var(--iso-r-2xl);box-shadow:var(--iso-shadow-modal);max-height:calc(100vh - 48px)}
  .iso-modal .grab{display:none}
  .iso-modal-h{padding:var(--iso-sp-4) var(--iso-sp-5)}
  .iso-modal-h .x{width:var(--iso-ctl-md);height:var(--iso-ctl-md)}
  .iso-modes{padding:var(--iso-sp-2) var(--iso-sp-5)}
  .iso-modes .iso-seg{display:inline-flex;width:auto}
  .iso-modal-b{padding:var(--iso-sp-4) var(--iso-sp-5)}
  .iso-modal-f{padding:var(--iso-sp-4) var(--iso-sp-5)}
  .iso-modal-f .iso-btn{flex:0 0 auto}
  .iso-modal[data-mode="full"] .iso-modal-b{padding:0}
  .iso-modal[data-mode="full"] .iso-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .iso-modal[data-mode="full"] .iso-step,.iso-modal[data-js] .iso-step{display:block;padding:var(--iso-sp-4) var(--iso-sp-5);border-right:1px solid var(--iso-line-2);min-width:0;margin-top:0}
  .iso-modal[data-mode="full"] .iso-step:last-child{border-right:0}
  .iso-modal[data-js] .iso-step-h{display:flex}
  .iso-modal .iso-stepper,.iso-modal [data-step-next],.iso-modal [data-step-back]{display:none!important}
  .iso-modal[data-js][data-mode="full"] [data-sheet-post].is-late{display:inline-flex}
  .iso-typegrid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .iso-sheetpage{padding:var(--iso-sp-7) var(--iso-sp-7) var(--iso-sp-10)}
  .iso-modal.is-page .iso-modal-b{padding:0}
  .iso-modal.is-page:not([data-mode="full"]) .iso-modal-b{padding:var(--iso-sp-4) var(--iso-sp-5)}
}

/* ---------- the owner's More menu (a sheet on every width, so a card's overflow cannot clip it) ---------- */
.iso-mm{flex:1;display:flex;position:relative}
.iso-mm>summary{list-style:none;flex:1}
.iso-mm[open]::before{content:"";position:fixed;inset:0;z-index:1090;background:rgba(15,23,42,.45)}
.iso-mm-panel{position:fixed;left:0;right:0;bottom:0;z-index:1100;background:#fff;color:var(--iso-ink);border-radius:var(--iso-r-2xl) var(--iso-r-2xl) 0 0;box-shadow:0 -10px 40px rgba(15,23,42,.25);padding:var(--iso-sp-2) var(--iso-sp-2) calc(var(--iso-sp-4) + env(safe-area-inset-bottom,0px));max-height:82vh;overflow-y:auto;text-align:left}
.iso-mm-panel .head{padding:var(--iso-sp-3) var(--iso-sp-3) var(--iso-sp-2);font-size:var(--iso-text-2xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--iso-muted)}
.iso-mm-panel form{display:block}
.iso-mi{display:flex;align-items:center;gap:var(--iso-sp-3);width:100%;min-height:var(--iso-ctl-touch);padding:0 var(--iso-sp-3);border-radius:var(--iso-r-md);font-size:var(--iso-text-md);color:var(--iso-ink);text-align:left;background:none;border:0;cursor:pointer}
.iso-mi small{margin-left:auto;font-size:var(--iso-text-2xs);color:var(--iso-muted)}
.iso-mi:hover{background:var(--iso-surface-2)}
.iso-mi:disabled{opacity:.5;cursor:not-allowed}
.iso-mi.danger,.iso-btn.danger{color:var(--iso-disputed-fg)}
.iso-mm-date{display:flex!important;align-items:center;gap:var(--iso-sp-2);padding:var(--iso-sp-1) var(--iso-sp-3)}
.iso-mm-date label{display:inline-flex;align-items:center;gap:var(--iso-sp-2);font-size:var(--iso-text-md);color:var(--iso-ink)}
.iso-mm-date input{flex:1;min-width:0;min-height:var(--iso-ctl-touch);border:1px solid var(--iso-line-strong);border-radius:var(--iso-r-md);padding:0 var(--iso-sp-2);font-size:var(--iso-text-lg);background:#fff}
.iso-owner .iso-btn small{font-weight:400;color:var(--iso-muted);font-size:var(--iso-text-2xs)}
.iso-owner .iso-mm-date{width:100%;padding:0}
.iso-wcard .iso-acts .iso-mm>summary.iso-btn{padding:0}
@media (min-width:640px){
  .iso-mm-panel{left:50%;right:auto;bottom:auto;top:50%;transform:translate(-50%,-50%);width:min(420px,calc(100vw - 32px));border-radius:var(--iso-r-xl);box-shadow:var(--iso-shadow-pop)}
}
@media (min-width:960px){
  .iso-mm{flex:0 0 auto}
  .iso-mm>summary{flex:0 0 auto}
  .iso-wcard .iso-acts .iso-mm>summary.iso-btn{width:var(--iso-ctl-sm)}
}

/* ---------- member ISO list ---------- */
.iso-mlist{background:var(--iso-surface)}
.iso-mhero{position:relative;overflow:hidden;background:var(--iso-surface);color:var(--iso-member-hero-text);border-top:4px solid var(--iso-member-accent);border-bottom:1px solid var(--iso-line)}
.iso-mhero.has-card{background:var(--iso-member-grad);border-top:0}
.iso-mhero.has-img{background:var(--iso-member-grad);color:#fff;min-height:240px;display:flex;align-items:flex-end;border-top:0}
.iso-mhero .bgimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.6}
.iso-mhero.has-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,23,42,.05) 10%,rgba(15,23,42,.72))}
.iso-mhero-in{position:relative;z-index:1;display:flex;align-items:flex-end;gap:var(--iso-sp-4);padding:var(--iso-sp-5) var(--iso-sp-4);width:100%;flex-wrap:wrap}
.iso-mhero .mav{--s:72px;border:4px solid #fff;background:var(--iso-member-grad);font-size:var(--iso-text-3xl);flex:none;box-shadow:var(--iso-shadow-2)}
.iso-mhero .who{min-width:0;flex:1 1 200px}
.iso-mhero h1{font-size:var(--iso-text-3xl);overflow-wrap:anywhere}
.iso-strap{font-family:var(--iso-member-font);font-style:italic;font-size:var(--iso-text-lg);margin-top:var(--iso-sp-1);color:var(--iso-member-hero-muted);overflow-wrap:anywhere}
.iso-mhero .iso-csub{color:var(--iso-member-hero-muted);margin-top:var(--iso-sp-2)}
.iso-mhero.has-img .iso-strap{color:rgba(255,255,255,.95)}
.iso-mhero.has-img .iso-csub,.iso-mhero.has-img .iso-csub span{color:rgba(255,255,255,.88)}
.iso-mhero .ctas{display:flex;gap:var(--iso-sp-2);flex-wrap:wrap;width:100%}
.iso-mhero .ctas form{display:contents}
.iso-mhero .ctas .iso-btn{flex:1 1 auto}
.iso-mhero .iso-btn--white{background:var(--iso-member-accent);color:var(--iso-member-on);border:1px solid color-mix(in srgb,var(--iso-member-hero-text) 35%,transparent)}
.iso-mhero.has-img .iso-btn--white{background:#fff;color:var(--iso-member-accent-text);border-color:transparent}
.iso-mhero .iso-btn--hero{background:transparent;color:inherit;border:1px solid currentColor}
.iso-mhero .iso-btn--hero:hover{background:color-mix(in srgb,currentColor 12%,transparent)}
.iso-mhero .iso-btn.is-on{background:#fff;color:var(--iso-member-accent-text)}
.iso-mstats{display:flex;gap:var(--iso-sp-5);padding:var(--iso-sp-3) var(--iso-sp-4);border-bottom:1px solid var(--iso-line);flex-wrap:wrap}
.iso-mstats b{display:block;font-family:var(--iso-member-font);font-size:var(--iso-text-3xl);font-weight:800;line-height:1.1;color:var(--iso-member-accent-text)}
.iso-mstats span{font-size:var(--iso-text-xs);color:var(--iso-muted)}
.iso-mstats .f b{color:var(--iso-ink)}
.iso-ptabs{display:flex;gap:var(--iso-sp-1);padding:0 var(--iso-sp-3);border-bottom:1px solid var(--iso-line);overflow-x:auto;scrollbar-width:none}
.iso-ptabs a{display:inline-flex;align-items:center;min-height:var(--iso-ctl-touch);padding:0 var(--iso-sp-3);font-size:var(--iso-text-md);font-weight:600;color:var(--iso-muted);border-bottom:2.5px solid transparent;white-space:nowrap}
.iso-ptabs a.is-on{color:var(--iso-ink);border-color:var(--iso-member-accent)}
.iso-mtool{display:flex;gap:var(--iso-sp-3);align-items:center;flex-wrap:wrap;padding:var(--iso-sp-3) var(--iso-sp-4)}
.iso-mtool .sp{flex:1}
.iso-lh--found .iso-lh-mid{padding:0}
.iso-member .iso-two{align-items:start}
.iso-member .iso-cardset{grid-template-columns:repeat(2,minmax(0,1fr))}
.iso-member .iso-cardset[data-cards="list"],.iso-member .iso-cardset[data-cards="poster"]{grid-template-columns:1fr}
.iso-member .iso-z-found .iso-stack{gap:var(--iso-sp-3)}
.iso-foundpic{width:100%;border-radius:var(--iso-r-md);margin-top:var(--iso-sp-3);aspect-ratio:16/9;object-fit:cover}
.iso-archived{margin-top:var(--iso-sp-5)}
.iso-archived>summary{display:inline-flex;align-items:center;gap:var(--iso-sp-2);min-height:var(--iso-ctl-touch);font-size:var(--iso-text-sm);font-weight:600;color:var(--iso-ink-2);margin-bottom:var(--iso-sp-2)}
.iso-archived .iso-wcard{opacity:.8}
/* density: compact (design system 4.6) */
.iso-mlist[data-dens="compact"] .iso-cardset{gap:var(--iso-sp-2)}
.iso-mlist[data-dens="compact"] .iso-wcard-body{padding:var(--iso-sp-2) var(--iso-sp-3) var(--iso-sp-3);gap:1px}
.iso-mlist[data-dens="compact"] .iso-wcard-media{aspect-ratio:16/9}
.iso-mlist[data-dens="compact"] .iso-cardset[data-cards="list"] .iso-wcard-media{aspect-ratio:auto}
.iso-mlist[data-dens="compact"] .iso-cardset[data-cards="poster"] .iso-wcard{min-height:340px}
.iso-mlist[data-dens="compact"] .iso-wcard .iso-acts{padding-top:var(--iso-sp-2)}
@media (min-width:960px){
  .iso-mhero-in{padding:var(--iso-sp-6) var(--iso-sp-7);align-items:flex-end}
  .iso-mhero .mav{--s:92px;font-size:var(--iso-text-4xl)}
  .iso-mhero h1{font-size:var(--iso-text-4xl)}
  .iso-mhero .ctas{width:auto;margin-left:auto;flex-wrap:nowrap}
  .iso-mhero .ctas .iso-btn{flex:0 0 auto}
  .iso-mstats{gap:var(--iso-sp-7);padding:var(--iso-sp-4) var(--iso-sp-7)}
  .iso-ptabs{padding:0 var(--iso-sp-7)}
  .iso-mtool{padding:var(--iso-sp-4) var(--iso-sp-7)}
  /* the member's want lane is about two thirds wide; the found lane a third */
  .iso-member .iso-board{background:linear-gradient(90deg,var(--iso-want-50) 0 calc((100% - var(--iso-spine))*.66 + var(--iso-sp-4)),#fff calc((100% - var(--iso-spine))*.66 + var(--iso-sp-4)) calc((100% - var(--iso-spine))*.66 + var(--iso-spine) + var(--iso-sp-4)),var(--iso-surface-2) calc((100% - var(--iso-spine))*.66 + var(--iso-spine) + var(--iso-sp-4)))}
  .iso-member .iso-two,.iso-member .iso-lh{grid-template-columns:.66fr var(--iso-spine) .34fr}
  .iso-member .iso-lh{padding:0 var(--iso-sp-4)}
  .iso-member .iso-lh-get .iso-lh-t b{font-size:var(--iso-text-xl)}
  .iso-lh--found .iso-lh-get{flex-direction:row;text-align:left}
  .iso-lh--found .iso-lh-get .iso-lh-n{margin-left:auto;margin-right:0}
}
/* the profile "ISO . Want List" tab reuses the list inside the profile's own column */
.iso-inpane{background:transparent}
.iso-inpane .iso-mhero{border-radius:var(--iso-r-lg)}
.iso-inpane .iso-mlist{border-radius:var(--iso-r-lg)}

/* phone lane control: the picked segment is filled with the member's accent, so its label uses the accent's own "on" colour (a pale accent must not carry white text) */
@media (max-width:959.98px){
  .iso-member .iso-board[data-lane="wants"] .iso-lh-want .iso-lh-t b{color:var(--iso-member-on)}
  .iso-member .iso-board[data-lane="wants"] .iso-lh-want .iso-lh-n{background:color-mix(in srgb,var(--iso-member-on) 22%,transparent);color:var(--iso-member-on)}
  .iso-member .iso-board[data-lane="wants"] .iso-lh-want{box-shadow:0 1px 3px rgba(15,23,42,.25)}
}

/* ---------- settings ---------- */
.iso-set{display:block}
.iso-set-nav{display:flex;gap:var(--iso-sp-1);overflow-x:auto;padding:var(--iso-sp-2) var(--iso-sp-3);border-bottom:1px solid var(--iso-line);background:#fafbfd;scrollbar-width:none}
.iso-set-nav a{display:inline-flex;align-items:center;gap:var(--iso-sp-2);min-height:var(--iso-ctl-touch);padding:0 var(--iso-sp-3);border-radius:var(--iso-r-md);font-size:var(--iso-text-sm);font-weight:600;color:var(--iso-ink-2);white-space:nowrap}
.iso-set-nav a:hover{background:#fff;box-shadow:0 1px 3px rgba(15,23,42,.08)}
.iso-set-main{padding:var(--iso-sp-4);display:flex;flex-direction:column;gap:var(--iso-sp-6);min-width:0;max-width:760px}
.iso-set-sec{scroll-margin-top:var(--iso-sp-4)}
.iso-set-sec>h2{font-family:var(--iso-font-display);font-size:var(--iso-text-lg);margin-bottom:var(--iso-sp-1)}
.iso-set-sec>p{font-size:var(--iso-text-sm);color:var(--iso-muted);margin-bottom:var(--iso-sp-3)}
.iso-set-sec>p a{color:var(--iso-member-accent-text);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.iso-set-save{position:sticky;bottom:0;padding:var(--iso-sp-3) 0;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 40%)}
@media (min-width:960px){
  .iso-set{display:grid;grid-template-columns:190px minmax(0,1fr);align-items:start}
  .iso-set-nav{flex-direction:column;border-right:1px solid var(--iso-line);border-bottom:0;padding:var(--iso-sp-5) var(--iso-sp-3);min-height:60vh;position:sticky;top:0}
  .iso-set-main{padding:var(--iso-sp-5) var(--iso-sp-6)}
}
   OPPORTUNITIES (Phase D1)  --  appended block; nothing above is changed.
   The Opportunity page (docs/ISO_DESIGN_SYSTEM.md 4.7, screen 7): header band, facts, price
   table, pens, promises, claim box, the "fits" rows in the blue lane. Then the post/edit form
   and the reach page (.iso-of-*), a seller's list grid and the subject page's "Sellers taking
   orders" strip. Mobile-first; 44px targets throughout.
   ===================================================================== */
.iso-opp{padding:0;overflow:hidden}
.iso-opp-h{display:flex;align-items:center;gap:var(--iso-sp-3);padding:var(--iso-sp-4);background:var(--iso-get-50);border-bottom:1px solid var(--iso-get-100)}
.iso-opp-h .iso-av{--s:44px}
.iso-opp-h b{display:block;font-size:var(--iso-text-md)}
.iso-opp-h b a:hover{text-decoration:underline;text-underline-offset:3px}
.iso-opp-h .s{display:flex;gap:var(--iso-sp-2) var(--iso-sp-3);align-items:center;flex-wrap:wrap;font-size:var(--iso-text-xs);color:var(--iso-muted);margin-top:var(--iso-sp-0-5)}
.iso-opp-h .s a{color:var(--iso-get-700);font-weight:600;text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;min-height:var(--iso-ctl-touch)}
.iso-stars{display:inline-flex;align-items:center;gap:var(--iso-sp-1);font-weight:600;color:var(--iso-ink)}
.iso-stars .iso-i{color:#f59e0b;width:13px;height:13px}
.iso-opp-b{padding:var(--iso-sp-4)}
.iso-opp-title{display:flex;align-items:center;gap:var(--iso-sp-3);margin-top:var(--iso-sp-3)}
.iso-opp-title .iso-av{--s:52px}
.iso-opp-title .iso-h1{font-size:var(--iso-text-3xl);margin:0;overflow-wrap:anywhere}
.iso-opp-subjects{font-size:var(--iso-text-sm);color:var(--iso-muted);margin-top:var(--iso-sp-1)}
.iso-opp-subjects a{text-decoration:underline;text-underline-offset:3px}
.iso-opp-gal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--iso-sp-2);margin-top:var(--iso-sp-3)}
.iso-opp-gal a{display:block;border-radius:var(--iso-r-md);overflow:hidden;background:var(--iso-get-50)}
.iso-opp-gal img{width:100%;aspect-ratio:4/3;object-fit:cover}
.iso-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--iso-sp-2);margin:var(--iso-sp-4) 0}
.iso-facts>div{border:1px solid var(--iso-get-100);border-radius:var(--iso-r-md);padding:var(--iso-sp-2) var(--iso-sp-3);background:#fff;min-width:0}
.iso-facts>div>span{display:block;font-size:var(--iso-text-2xs);letter-spacing:.07em;text-transform:uppercase;color:var(--iso-muted);font-weight:700}
.iso-facts>div>b{display:block;font-family:var(--iso-font-display);font-size:var(--iso-text-md);color:var(--iso-get-900);overflow-wrap:anywhere;line-height:var(--iso-lh-snug)}
.iso-slots{height:8px;border-radius:var(--iso-r-xs);background:var(--iso-get-100);overflow:hidden;margin-top:var(--iso-sp-2)}
.iso-slots i{display:block;height:100%;background:var(--iso-get-600);border-radius:var(--iso-r-xs)}
.iso-prices{width:100%;border-collapse:collapse;font-size:var(--iso-text-md);margin:var(--iso-sp-1) 0 var(--iso-sp-3)}
.iso-prices td{padding:var(--iso-sp-2) 0;border-bottom:1px solid var(--iso-line-2)}
.iso-prices td:last-child{text-align:right;font-family:var(--iso-font-display);font-weight:800;color:var(--iso-get-700);font-size:var(--iso-text-lg);white-space:nowrap;padding-left:var(--iso-sp-3)}
.iso-prices td .iso-i{color:var(--iso-get-600);margin-right:var(--iso-sp-2)}
.iso-prices tr.opt td{color:var(--iso-ink-2);font-size:var(--iso-text-sm)}
.iso-prices tr.opt td:last-child{font-size:var(--iso-text-sm);color:var(--iso-ink-2);font-weight:600}
.iso-opp-field{margin-bottom:var(--iso-sp-3)}
.iso-opp-field .lab{display:block;font-size:var(--iso-text-xs);font-weight:600;color:var(--iso-ink-2);margin-bottom:var(--iso-sp-1)}
.iso-pens{display:flex;gap:var(--iso-sp-2);flex-wrap:wrap}
.iso-pens li{display:inline-flex;align-items:center;gap:var(--iso-sp-2);min-height:36px;padding:0 var(--iso-sp-3);border-radius:var(--iso-r-pill);border:1.5px solid var(--iso-line);font-size:var(--iso-text-sm);font-weight:600}
.iso-pens li i{width:12px;height:12px;border-radius:50%;display:inline-block;border:1px solid rgba(0,0,0,.2)}
.iso-reads{display:flex;flex-wrap:wrap;gap:var(--iso-sp-1)}
.iso-reads span{display:inline-flex;align-items:center;gap:var(--iso-sp-1);font-size:var(--iso-text-xs);font-weight:600;color:var(--iso-get-900);background:var(--iso-get-50);border:1px solid var(--iso-get-100);padding:var(--iso-sp-0-5) var(--iso-sp-2);border-radius:var(--iso-r-pill)}
.iso-claim{border-radius:var(--iso-r-lg);padding:var(--iso-sp-3);background:var(--iso-get-50);border:1px solid var(--iso-get-100);display:flex;flex-direction:column;gap:var(--iso-sp-2);margin-top:var(--iso-sp-3)}
.iso-claim form{display:contents}
.iso-claim .iso-btn{min-height:var(--iso-ctl-lg);font-size:var(--iso-text-md)}
.iso-claim p{font-size:var(--iso-text-xs);color:var(--iso-get-900)}
.iso-claim.neutral{background:var(--iso-surface-2);border-color:var(--iso-line)}
.iso-claim.neutral p{color:var(--iso-ink-2)}
.iso-confirm{flex-basis:auto}
.iso-confirm[open]{flex-basis:100%}
.iso-confirm summary{display:inline-flex}
.iso-confirm form{display:block;margin-top:var(--iso-sp-2);padding:var(--iso-sp-3);border:1px solid var(--iso-disputed-line);background:var(--iso-disputed-bg);border-radius:var(--iso-r-md)}
.iso-confirm p{font-size:var(--iso-text-sm);color:var(--iso-disputed-fg);margin-bottom:var(--iso-sp-2)}
/* the blue lane on the Opportunity page: collectors with an ISO for this signer */
.iso-mini-want{display:flex;align-items:center;gap:var(--iso-sp-3);padding:var(--iso-sp-3);min-height:var(--iso-ctl-touch);border-radius:var(--iso-r-md);background:#fff;border:1px solid var(--iso-want-100);box-shadow:inset 3px 0 0 var(--iso-want-500);position:relative}
.iso-mini-want:hover{border-color:var(--iso-want-200)}
.iso-mini-want .iso-av{--s:30px}
.iso-mini-want .t{display:block;flex:1;min-width:0;font-size:var(--iso-text-sm);overflow-wrap:anywhere}
.iso-mini-want .t b{display:block;font-size:var(--iso-text-sm)}
.iso-mini-want .fit{font-size:var(--iso-text-2xs);font-weight:700;color:var(--iso-get-800);background:var(--iso-get-50);border:1px solid var(--iso-get-100);border-radius:var(--iso-r-pill);padding:var(--iso-sp-0-5) var(--iso-sp-2);text-align:center;max-width:42%}
.iso-mini-want .fit.no{color:var(--iso-muted);background:var(--iso-surface-2);border-color:var(--iso-line)}
/* seller's list */
.iso-opp-grid{display:grid;grid-template-columns:1fr;gap:var(--iso-sp-3)}
@media (min-width:640px){.iso-opp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--iso-sp-4)}}
@media (min-width:1200px){.iso-opp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* subject page: Sellers taking orders */
.iso-upnext{margin:var(--iso-sp-3) var(--iso-sp-4) 0;padding:var(--iso-sp-3) var(--iso-sp-4);border:1px solid var(--iso-get-100);background:var(--iso-get-50);border-radius:var(--iso-r-lg)}
.iso-upnext .iso-lanelab{margin:0 0 var(--iso-sp-2);display:flex;align-items:center;gap:var(--iso-sp-1)}
.iso-upnext-list{display:grid;grid-template-columns:1fr;gap:var(--iso-sp-2)}
.iso-upnext-list li{display:flex;align-items:center;gap:var(--iso-sp-3);min-width:0}
.iso-upnext-list .t{min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--iso-sp-0-5) var(--iso-sp-2)}
.iso-upnext-list .n{font-weight:700;display:inline-flex;align-items:center;min-height:var(--iso-ctl-touch)}
.iso-upnext-list .n:hover{text-decoration:underline;text-underline-offset:3px}
.iso-upnext-list .w{flex-basis:100%;font-size:var(--iso-text-xs);color:var(--iso-ink-2);margin-top:calc(var(--iso-sp-2) * -1)}
@media (min-width:640px){.iso-upnext-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:960px){.iso-upnext{margin:var(--iso-sp-4) var(--iso-sp-7) 0}}

/* ---- post / edit form and the reach page ---- */
.iso-of{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:var(--iso-sp-4)}
.iso-of-head .iso-h1{font-size:var(--iso-text-3xl);margin:var(--iso-sp-2) 0 var(--iso-sp-1)}
.iso-of-sec{border:1px solid var(--iso-line);border-radius:var(--iso-r-lg);padding:var(--iso-sp-4);margin:0;min-width:0;background:#fff}
.iso-of-sec legend{display:flex;align-items:center;gap:var(--iso-sp-2);padding:0 var(--iso-sp-2);font-family:var(--iso-font-display);font-weight:800;font-size:var(--iso-text-lg);letter-spacing:-.01em}
.iso-of-sec legend .num{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--iso-get-fill);color:#fff;font-size:var(--iso-text-xs)}
.iso-of-sub{margin:var(--iso-sp-5) 0 var(--iso-sp-1)}
.iso-of-field{display:flex;flex-direction:column;gap:var(--iso-sp-1);margin-bottom:var(--iso-sp-3)}
.iso-of-field>label,.iso-of-field>.lab{font-size:var(--iso-text-xs);font-weight:600;color:var(--iso-ink-2)}
.iso-of .iso-input:focus{outline:3px solid var(--iso-focus);outline-offset:2px;border-color:var(--iso-line-strong)}
.iso-of-grid{display:grid;grid-template-columns:1fr;gap:0 var(--iso-sp-3)}
@media (min-width:640px){.iso-of-grid{grid-template-columns:1fr 1fr}}
.iso-of-rows{display:flex;flex-direction:column;gap:var(--iso-sp-2);margin-bottom:var(--iso-sp-3)}
.iso-of-row{display:grid;grid-template-columns:1fr var(--iso-ctl-touch);gap:var(--iso-sp-2);align-items:center;padding:var(--iso-sp-2);border:1px solid var(--iso-line-2);border-radius:var(--iso-r-md);background:var(--iso-surface-2)}
.iso-of-row>.iso-input{grid-column:1 / -1}
.iso-of-row>.iso-btn{width:var(--iso-ctl-touch);padding:0}
.iso-of-money{display:flex;align-items:center;gap:var(--iso-sp-1);border:1px solid var(--iso-line-strong);border-radius:var(--iso-r-md);background:#fff;padding-left:var(--iso-sp-3);min-height:var(--iso-ctl-touch);font-weight:700}
.iso-of-money:focus-within{outline:3px solid var(--iso-focus);outline-offset:2px}
.iso-of-money input{width:100%;min-width:0;border:0;outline:0;min-height:var(--iso-ctl-touch);flex:1;font-weight:700;font-size:var(--iso-text-lg);padding:0 var(--iso-sp-2);background:none}
@media (min-width:640px){
  .iso-of-row{grid-template-columns:200px 1fr 150px var(--iso-ctl-touch)}
  .iso-of-row.insc{grid-template-columns:1fr 200px var(--iso-ctl-touch)}
  .iso-of-row>.iso-input{grid-column:auto}
}
.iso-of-ac{position:relative}
.iso-of-picks{display:flex;flex-wrap:wrap;gap:var(--iso-sp-2)}
.iso-of-picks:not(:empty){margin-bottom:var(--iso-sp-2)}
.iso-of-chip{display:inline-flex;align-items:center;gap:var(--iso-sp-1);padding:var(--iso-sp-0-5) var(--iso-sp-0-5) var(--iso-sp-0-5) var(--iso-sp-3);border-radius:var(--iso-r-pill);background:var(--iso-get-50);border:1px solid var(--iso-get-100);color:var(--iso-get-900);font-size:var(--iso-text-sm);font-weight:600}
.iso-of-chip button{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--iso-get-800);font-size:var(--iso-text-xl);line-height:1}
.iso-of-chip button:hover{background:var(--iso-get-100)}
.iso-of-suggest{position:absolute;left:0;right:0;z-index:20;margin-top:var(--iso-sp-1);max-height:260px;overflow:auto;background:#fff;border:1px solid var(--iso-line);border-radius:var(--iso-r-md);box-shadow:var(--iso-shadow-2)}
.iso-of-suggest[hidden]{display:none}
.iso-of-suggest button{display:block;width:100%;text-align:left;min-height:var(--iso-ctl-touch);padding:0 var(--iso-sp-3);font-size:var(--iso-text-md);border-bottom:1px solid var(--iso-line-2)}
.iso-of-suggest li:last-child button{border-bottom:0}
.iso-of-suggest button:hover,.iso-of-suggest button:focus-visible{background:var(--iso-get-50)}
.iso-of-status{color:var(--iso-muted);min-height:1.2em;margin-top:var(--iso-sp-1)}
.iso-of-status.err{color:var(--iso-disputed-fg);font-weight:600}
.iso-of-checks{display:flex;flex-wrap:wrap;gap:var(--iso-sp-2);margin-bottom:var(--iso-sp-2)}
.iso-of-check{position:relative;display:inline-flex}
.iso-of-check input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.iso-of-check span{display:inline-flex;align-items:center;min-height:var(--iso-ctl-touch);padding:0 var(--iso-sp-4);border-radius:var(--iso-r-pill);border:1.5px solid var(--iso-line);background:#fff;font-size:var(--iso-text-sm);font-weight:600;color:var(--iso-ink-2)}
.iso-of-check input:checked+span{border-color:var(--iso-get-700);background:var(--iso-get-50);color:var(--iso-get-900)}
.iso-of-check input:focus-visible+span{outline:3px solid var(--iso-focus);outline-offset:2px}
.iso-of-cat{margin-bottom:var(--iso-sp-3)}
.iso-of-cat>b{display:block;font-size:var(--iso-text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--iso-muted);margin-bottom:var(--iso-sp-2)}
.iso-of-toggles{display:flex;flex-direction:column}
.iso-of-toggle{display:flex;align-items:center;gap:var(--iso-sp-3);min-height:var(--iso-ctl-touch);font-size:var(--iso-text-md);border-bottom:1px solid var(--iso-line-2);cursor:pointer}
.iso-of-toggles .iso-of-toggle:last-child{border-bottom:0}
.iso-of-toggle input{width:22px;height:22px;flex:none;accent-color:var(--iso-get-700)}
.iso-of-rcards{display:grid;gap:var(--iso-sp-2)}
.iso-of-rcard{position:relative;display:flex;align-items:flex-start;gap:var(--iso-sp-3);padding:var(--iso-sp-3);border:1.5px solid var(--iso-line);border-radius:var(--iso-r-md);cursor:pointer;background:#fff}
.iso-of-rcard input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.iso-of-rcard .dot{width:20px;height:20px;flex:none;border-radius:50%;border:2px solid var(--iso-line-strong);margin-top:2px;background:#fff}
.iso-of-rcard input:checked~.dot{border:6px solid var(--iso-get-700)}
.iso-of-rcard:has(input:checked){border-color:var(--iso-get-700);background:var(--iso-get-50)}
.iso-of-rcard:has(input:focus-visible){outline:3px solid var(--iso-focus);outline-offset:2px}
.iso-of-rcard b{display:flex;align-items:center;gap:var(--iso-sp-1);font-size:var(--iso-text-md)}
.iso-of-rcard span span{display:block;font-size:var(--iso-text-sm);color:var(--iso-ink-2)}
@media (min-width:640px){.iso-of-rcards{grid-template-columns:1fr 1fr}}
.iso-of-thumbs{display:flex;flex-wrap:wrap;gap:var(--iso-sp-3)}
.iso-of-thumb{width:96px;display:flex;flex-direction:column;gap:var(--iso-sp-1);font-size:var(--iso-text-xs)}
.iso-of-thumb img{width:96px;height:96px;object-fit:cover;border-radius:var(--iso-r-md)}
.iso-of-thumb span{display:flex;align-items:center;gap:var(--iso-sp-1);min-height:var(--iso-ctl-touch)}
.iso-of-thumb input{width:20px;height:20px}
.iso-of-up{border:1px solid var(--iso-line);border-radius:var(--iso-r-md);padding:var(--iso-sp-3);background:var(--iso-surface-2);margin-bottom:var(--iso-sp-3)}
.iso-of-uprow{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--iso-sp-3)}
.iso-of-uprow .iso-of-toggle{border-bottom:0}
.iso-of-toggle.del{color:var(--iso-disputed-fg)}
.iso-of-toggle.del input{accent-color:var(--iso-disputed-fg)}
.iso-of-errors{border:1.5px solid var(--iso-disputed-line);background:var(--iso-disputed-bg);color:var(--iso-disputed-fg);border-radius:var(--iso-r-md);padding:var(--iso-sp-3) var(--iso-sp-4);font-size:var(--iso-text-sm)}
.iso-of-errors b{display:flex;align-items:center;gap:var(--iso-sp-2);margin-bottom:var(--iso-sp-1)}
.iso-of-errors ul{list-style:disc;margin-left:var(--iso-sp-5)}
.iso-of-err{display:block;font-size:var(--iso-text-xs);font-weight:600;color:var(--iso-disputed-fg)}
.iso-of-foot{position:sticky;bottom:0;z-index:5;display:flex;gap:var(--iso-sp-2);justify-content:flex-end;padding:var(--iso-sp-3) 0;background:#fff;border-top:1px solid var(--iso-line)}
.iso-of-foot .iso-btn{flex:1}
@media (min-width:640px){.iso-of-foot .iso-btn{flex:0 0 auto}}
@media (pointer:coarse){.iso-of-chip button{width:var(--iso-ctl-touch);height:var(--iso-ctl-touch)}}

/* =====================================================================
   PHASE C1 -- MATCHES (docs/ISO_PLAN.md 4.2, 4.3, 4.5; design system 4.8, 4.9)
   The matches panel on an ISO page, "Available now" + price context on a
   subject page, a badge seller's Wanted board and its nav pill. Match cards
   are the bridge card (.iso-card--bridge) with kind="match".
   Phone first; 2-up from sm, 3-up from lg.
   ===================================================================== */
.iso-matchgrid{display:grid;gap:var(--iso-sp-3)}
@media (min-width:640px){.iso-matchgrid{grid-template-columns:1fr 1fr}}
@media (min-width:960px){.iso-matchgrid{grid-template-columns:repeat(3,1fr)}}
.iso-match{display:flex;flex-direction:column}
.iso-match .iso-cw{flex:1}
.iso-match .iso-ctitle{font-size:var(--iso-text-md);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.iso-match.is-new{box-shadow:var(--iso-shadow-2),0 0 0 2px var(--iso-want-100)}
.iso-match.is-saved{background-image:linear-gradient(var(--iso-want-50),var(--iso-want-50)),var(--iso-bridge)}
.iso-match-th{width:64px;height:64px;flex:none;border-radius:var(--iso-r-md);overflow:hidden;display:grid;place-items:center;background:var(--iso-surface-3);color:var(--iso-muted)}
.iso-match-th img{width:100%;height:100%;object-fit:cover}
.iso-match-acts{margin-top:auto;padding-top:var(--iso-sp-3);align-items:center}
.iso-match-acts .iso-btn{flex:1 1 auto}
.iso-matchnote{margin-top:var(--iso-sp-3)}
.iso-matches{background:var(--iso-bridge-soft);border-radius:var(--iso-r-xl);margin:0 var(--iso-sp-4) var(--iso-sp-4)}
.iso-matchlink{text-decoration:none}
.iso-matchlink:hover{border-style:solid}

/* ---- price context (subject page) ---- */
.iso-price-grid{display:grid;gap:var(--iso-sp-4)}
@media (min-width:960px){.iso-price-grid{grid-template-columns:3fr 2fr;align-items:start}}
.iso-price-scale{background:#fff;border:1px solid var(--iso-line);border-radius:var(--iso-r-lg);padding:var(--iso-sp-4)}
.iso-price-sum{display:flex;flex-wrap:wrap;gap:var(--iso-sp-2) var(--iso-sp-4);font-size:var(--iso-text-sm);color:var(--iso-ink-2);margin-bottom:var(--iso-sp-4)}
.iso-price-sum b{font-family:var(--iso-font-display);font-size:var(--iso-text-lg);color:var(--iso-ink);margin-right:var(--iso-sp-1)}
.iso-price-sum .w b{color:var(--iso-want-700)}
.iso-price-bar{position:relative;height:12px;margin:var(--iso-sp-3) 6px;border-radius:var(--iso-r-pill);background:var(--iso-surface-3)}
.iso-price-bar .band{position:absolute;top:0;bottom:0;border-radius:var(--iso-r-pill);background:var(--iso-want-200);border:1px solid var(--iso-want-400)}
.iso-price-bar .dot{position:absolute;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--iso-ink);box-shadow:0 0 0 2px #fff}
.iso-price-ends{display:flex;justify-content:space-between;font-size:var(--iso-text-xs);color:var(--iso-muted)}
.iso-price-legend{display:flex;flex-wrap:wrap;gap:var(--iso-sp-4);margin-top:var(--iso-sp-3);font-size:var(--iso-text-xs);color:var(--iso-ink-2)}
.iso-price-legend span{display:inline-flex;align-items:center;gap:var(--iso-sp-2)}
.iso-price-legend .lg-band::before{content:"";width:18px;height:8px;border-radius:var(--iso-r-pill);background:var(--iso-want-200);border:1px solid var(--iso-want-400)}
.iso-price-legend .lg-dot::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--iso-ink)}
.iso-price-list{list-style:none;margin:0;padding:0;background:#fff;border:1px solid var(--iso-line);border-radius:var(--iso-r-lg)}
.iso-price-list li{display:flex;align-items:center;justify-content:space-between;gap:var(--iso-sp-3);padding:var(--iso-sp-3) var(--iso-sp-4);border-bottom:1px solid var(--iso-line-2);font-size:var(--iso-text-sm)}
.iso-price-list li:last-child{border-bottom:0}
.iso-price-list small{display:block;color:var(--iso-muted);font-size:var(--iso-text-xs)}
.iso-price-list b{font-family:var(--iso-font-display);font-size:var(--iso-text-lg);white-space:nowrap}

/* ---- Wanted board + nav pill (badge sellers) ---- */
.iso-wpill{display:inline-flex;align-items:center;gap:var(--iso-sp-1);min-height:var(--iso-ctl-sm);padding:0 var(--iso-sp-3);border-radius:var(--iso-r-pill);background:var(--iso-get-50);border:1px solid var(--iso-get-200);color:var(--iso-get-900);font-size:var(--iso-text-sm);font-weight:600;text-decoration:none;white-space:nowrap}
.iso-wpill:hover{border-color:var(--iso-get-400)}
.iso-wpill b{color:var(--iso-get-700)}
.iso-wpill .l{display:none}
@media (min-width:640px){.iso-wpill .l{display:inline}.iso-wpill .s{display:none}}
.iso-cta .iso-wpill{min-height:var(--iso-ctl-touch)}
.iso-wanted-sum{font-size:var(--iso-text-md);color:var(--iso-ink-2);margin-bottom:var(--iso-sp-4)}
.iso-wanted-sum b{font-family:var(--iso-font-display);font-size:var(--iso-text-xl);color:var(--iso-get-700)}
.iso-wanted{display:flex;flex-direction:column;gap:var(--iso-sp-5)}
.iso-wrow{display:grid;gap:var(--iso-sp-3);padding-bottom:var(--iso-sp-5);border-bottom:1px solid var(--iso-line)}
.iso-wrow:last-child{border-bottom:0}
@media (min-width:960px){.iso-wrow{grid-template-columns:1fr 1fr;align-items:start;gap:var(--iso-sp-5)}}
.iso-wrow-side{display:flex;flex-direction:column;gap:var(--iso-sp-3)}
.iso-reasons{display:flex;flex-wrap:wrap;gap:var(--iso-sp-2)}
@media (pointer:coarse){.iso-match-acts .iso-btn{min-height:var(--iso-ctl-touch)}}

/* =====================================================================
   OFFERS, CLAIMS AND THE INBOX (Phase D2a, docs/ISO_DESIGN_SYSTEM.md 4.12, 4.17, 4.19)
   ---------------------------------------------------------------------
   The seller response sheet and claim sheet reuse the D1 form vocabulary
   (.iso-of-*). Everything below is new: the sheet frame and its no-JS tabs,
   the compare grid + offer card, the inbox rows, the status pills and the
   nav count pill.
   ===================================================================== */

/* ---- nav count pill ---- */
.iso-navpill{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 var(--iso-sp-1);margin-left:var(--iso-sp-1);border-radius:var(--iso-r-pill);background:var(--iso-bridge);color:#fff;font-size:var(--iso-text-2xs);font-weight:800;line-height:1;vertical-align:middle}

/* ---- status pills ---- */
.iso-status{display:inline-flex;align-items:center;font-size:var(--iso-text-xs);font-weight:700;line-height:1.2;padding:var(--iso-sp-1) var(--iso-sp-3);border-radius:var(--iso-r-pill);white-space:nowrap;background:var(--iso-surface-3);color:var(--iso-ink-2)}
.iso-status.pend{background:var(--iso-warn-bg);color:var(--iso-warn-fg)}
.iso-status.ok{background:var(--iso-get-100);color:var(--iso-get-900)}
.iso-status.no{background:var(--iso-expired-bg);color:var(--iso-expired-fg)}
.iso-status.deal{background:var(--iso-want-100);color:var(--iso-want-900)}
.iso-itm.b{background:var(--iso-bridge);color:#fff;border:0}

/* ---- seller response sheet (4.17) ---- */
.iso-resp{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--iso-sp-4);align-items:start}
.iso-resp-iso{background:var(--iso-want-50);border:1px solid var(--iso-want-100);border-radius:var(--iso-r-xl);padding:var(--iso-sp-3)}
.iso-resp-iso .iso-card{box-shadow:none}
.iso-resp-link{display:none}
.iso-sheetg{border:1px solid var(--iso-get-100);border-radius:var(--iso-r-xl);background:#fff;box-shadow:0 12px 30px rgba(4,120,87,.12);overflow:clip;min-width:0}
.iso-sheetg-h{display:flex;align-items:center;gap:var(--iso-sp-3);flex-wrap:wrap;padding:var(--iso-sp-3) var(--iso-sp-4);background:var(--iso-get-50);border-bottom:1px solid var(--iso-get-100)}
.iso-sheetg-h .iso-h2{margin-right:auto}
.iso-oneof-pill{display:inline-flex;align-items:center;gap:var(--iso-sp-1);font-size:var(--iso-text-xs);font-weight:700;color:var(--iso-get-900);background:#fff;border:1px solid var(--iso-get-200);border-radius:var(--iso-r-pill);padding:var(--iso-sp-1) var(--iso-sp-3);white-space:nowrap}
.iso-sheetg-b{padding:var(--iso-sp-4)}
.iso-sheetg>.iso-of-errors{margin:var(--iso-sp-4) var(--iso-sp-4) 0}
.iso-respform{max-width:none;margin:0;padding:var(--iso-sp-4)}
.iso-sheetg-f{margin:0 calc(var(--iso-sp-4)*-1) calc(var(--iso-sp-4)*-1);padding:var(--iso-sp-3) var(--iso-sp-4);justify-content:flex-end;align-items:center}
.iso-sheetg-f .iso-small{margin-right:auto}
.iso-sheetg-w{padding:0 var(--iso-sp-4) var(--iso-sp-4)}
/* the tabs are radios that come BEFORE the tab bar and the panels: :checked ~ shows the panel, no JS */
.iso-tabs3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--iso-sp-1);padding:var(--iso-sp-1);background:var(--iso-surface-3);border-radius:var(--iso-r-md)}
.iso-tabs3:has(label:only-child){grid-template-columns:1fr}
.iso-tabs3 label{display:flex;align-items:center;justify-content:center;gap:var(--iso-sp-1);min-height:var(--iso-ctl-touch);padding:0 var(--iso-sp-1);border-radius:var(--iso-r-sm);font-size:var(--iso-text-sm);font-weight:700;color:var(--iso-ink-2);text-align:center;cursor:pointer;line-height:1.2}
.iso-panel{display:none}
.iso-respform #iso-k-have:checked~.iso-tabs3 label[for="iso-k-have"],
.iso-respform #iso-k-canget:checked~.iso-tabs3 label[for="iso-k-canget"],
.iso-respform #iso-k-ask:checked~.iso-tabs3 label[for="iso-k-ask"]{background:var(--iso-get-fill);color:#fff}
.iso-respform #iso-k-have:focus-visible~.iso-tabs3 label[for="iso-k-have"],
.iso-respform #iso-k-canget:focus-visible~.iso-tabs3 label[for="iso-k-canget"],
.iso-respform #iso-k-ask:focus-visible~.iso-tabs3 label[for="iso-k-ask"]{outline:3px solid var(--iso-focus);outline-offset:2px}
.iso-respform #iso-k-have:checked~.iso-panels [data-panel="have"],
.iso-respform #iso-k-canget:checked~.iso-panels [data-panel="canget"],
.iso-respform #iso-k-ask:checked~.iso-panels [data-panel="ask"]{display:block}
.iso-panel .iso-of-field{margin-bottom:var(--iso-sp-3)}
.iso-panel select.iso-input{appearance:auto}
.iso-drop{display:flex;align-items:center;gap:var(--iso-sp-3);min-height:64px;padding:var(--iso-sp-3);border:1.5px dashed var(--iso-get-200);border-radius:var(--iso-r-md);background:var(--iso-get-50);color:var(--iso-get-900);cursor:pointer}
.iso-drop:hover{border-color:var(--iso-get-400)}
.iso-drop:has(+input:focus-visible){outline:3px solid var(--iso-focus);outline-offset:2px}
.iso-drop b{display:block}

/* ---- the claim sheet ---- */
.iso-claimpage{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--iso-sp-5);max-width:1000px;margin:0 auto}
.iso-claimtotal{margin-right:auto;font-size:var(--iso-text-sm);color:var(--iso-ink-2)}
.iso-claimtotal b{font-family:var(--iso-font-display);font-size:var(--iso-text-xl);color:var(--iso-get-700);margin-left:var(--iso-sp-1)}
.iso-claimpage .iso-of{max-width:none;margin:0}

/* ---- offers band: compare grid + offer card (4.12) ---- */
.iso-bz-sum{flex-basis:100%;order:3}
.iso-offers{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--iso-sp-3)}
.iso-offer{display:flex;flex-direction:column;min-width:0;border:1.5px solid transparent;border-radius:var(--iso-r-lg);background:linear-gradient(#fff,#fff) padding-box,var(--iso-bridge) border-box}
.iso-offer.is-new{box-shadow:0 0 0 3px var(--iso-want-100)}
.iso-offer.is-accepted{background:linear-gradient(var(--iso-get-50),var(--iso-get-50)) padding-box,var(--iso-bridge) border-box}
.iso-offer-h{display:flex;align-items:center;gap:var(--iso-sp-3);padding:var(--iso-sp-3);background:var(--iso-get-50);border-radius:calc(var(--iso-r-lg) - 2px) calc(var(--iso-r-lg) - 2px) 0 0}
.iso-offer-h>div{min-width:0;flex:1}
.iso-offer-h b{overflow-wrap:anywhere}
.iso-offer-h .s{display:flex;flex-wrap:wrap;align-items:center;gap:var(--iso-sp-2);font-size:var(--iso-text-xs);color:var(--iso-muted)}
.iso-offer-b{display:flex;flex-direction:column;gap:var(--iso-sp-3);padding:var(--iso-sp-3);flex:1}
.iso-offer-p{display:flex;align-items:center;justify-content:space-between;gap:var(--iso-sp-2);flex-wrap:wrap}
.iso-offer-p b{font-family:var(--iso-font-display);font-size:var(--iso-text-4xl);line-height:var(--iso-lh-tight);color:var(--iso-get-700);letter-spacing:-.02em}
.iso-offer-lapsed{display:flex;align-items:center;gap:var(--iso-sp-1);color:var(--iso-warn-fg);background:var(--iso-warn-bg);border:1px solid var(--iso-warn-line);border-radius:var(--iso-r-sm);padding:var(--iso-sp-1) var(--iso-sp-2)}
.iso-offer-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--iso-sp-1);position:relative}
.iso-offer-photos img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--iso-r-sm);background:var(--iso-surface-3)}
.iso-offer-photos .more{position:absolute;right:var(--iso-sp-1);bottom:var(--iso-sp-1);background:rgba(15,23,42,.72);color:#fff;font-size:var(--iso-text-xs);font-weight:700;border-radius:var(--iso-r-pill);padding:var(--iso-sp-0-5) var(--iso-sp-2)}
.iso-offer-msg{font-size:var(--iso-text-sm);color:var(--iso-ink-2);line-height:1.5;overflow-wrap:anywhere;white-space:pre-line}
.iso-offer-link{display:inline-flex;align-items:center;gap:var(--iso-sp-1);min-height:var(--iso-ctl-touch);font-size:var(--iso-text-sm);font-weight:600;color:var(--iso-want-700);text-decoration:underline;text-underline-offset:3px}
.iso-offer-new{margin-left:auto}
.iso-offer-acts{margin-top:auto}
.iso-offer-decline{flex-basis:auto}
.iso-offer-decline form{display:flex;flex-direction:column;gap:var(--iso-sp-2)}
.iso-offer-decline[open]{flex-basis:100%}
.iso-offer--own{max-width:520px}
.iso-q{display:flex;flex-direction:column;gap:var(--iso-sp-3);min-width:0;background:#fff;border:1px solid var(--iso-line);border-radius:var(--iso-r-lg);padding:var(--iso-sp-3)}
.iso-q .iso-offer-h{margin:calc(var(--iso-sp-3)*-1) calc(var(--iso-sp-3)*-1) 0;border-radius:calc(var(--iso-r-lg) - 1px) calc(var(--iso-r-lg) - 1px) 0 0}
.iso-q blockquote{border-left:3px solid var(--iso-get-400);padding:var(--iso-sp-1) 0 var(--iso-sp-1) var(--iso-sp-3);font-size:var(--iso-text-md);color:var(--iso-ink);overflow-wrap:anywhere;white-space:pre-line}
.iso-q-reply{display:flex;flex-direction:column;gap:var(--iso-sp-2)}
.iso-q-reply .iso-btn{align-self:flex-start}
.iso-more{border-top:1px solid var(--iso-line-2);padding-top:var(--iso-sp-1)}
.iso-more summary{display:inline-flex;align-items:center;gap:var(--iso-sp-1);min-height:var(--iso-ctl-touch);color:var(--iso-muted);font-weight:600}
.iso-more-b{display:flex;flex-direction:column;gap:var(--iso-sp-3);padding-bottom:var(--iso-sp-2)}
.iso-more-b form{display:flex;flex-direction:column;gap:var(--iso-sp-2)}
.iso-more-b .iso-btn{align-self:flex-start}
.iso-oneof{display:flex;align-items:center;gap:var(--iso-sp-3);padding:var(--iso-sp-3) var(--iso-sp-4);margin-bottom:var(--iso-sp-3);border-radius:var(--iso-r-md);background:#fff;border:1px solid var(--iso-get-100);color:var(--iso-get-900);font-size:var(--iso-text-sm)}

/* ---- inbox (4.19) ---- */
.iso-inbox{display:flex;flex-direction:column;max-width:1200px;margin:0 auto;padding:0 var(--iso-sp-4) var(--iso-sp-6)}
.iso-inbox-nav{display:flex;align-items:center;gap:var(--iso-sp-2);overflow-x:auto;padding:var(--iso-sp-3) 0;scrollbar-width:thin}
.iso-inbox-nav .role{flex:none;font-size:var(--iso-text-2xs);letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--iso-muted);padding-right:var(--iso-sp-2)}
.iso-inbox-nav a{flex:none;display:inline-flex;align-items:center;gap:var(--iso-sp-2);min-height:var(--iso-ctl-touch);padding:0 var(--iso-sp-3);border-radius:var(--iso-r-pill);border:1px solid var(--iso-line);background:#fff;font-size:var(--iso-text-sm);font-weight:600;color:var(--iso-ink-2)}
.iso-inbox-nav a:hover{border-color:var(--iso-line-strong)}
.iso-inbox-nav .n{min-width:20px;padding:0 var(--iso-sp-1);border-radius:var(--iso-r-pill);background:var(--iso-surface-3);font-size:var(--iso-text-2xs);font-weight:800;text-align:center;line-height:20px}
.iso-inbox-nav .n.hot{background:var(--iso-bridge);color:#fff}
.iso-inbox-main{min-width:0;flex:1}
.iso-igroup{margin-bottom:var(--iso-sp-6);scroll-margin-top:var(--iso-sp-4)}
.iso-igroup>.iso-h3{margin-bottom:var(--iso-sp-3)}
.iso-irow{display:grid;grid-template-columns:minmax(0,1fr);margin-bottom:var(--iso-sp-3)}
.iso-irow .lk{width:2px;height:16px;margin-left:var(--iso-sp-6);background:var(--iso-bridge-v)}
.iso-want-mini,.iso-get-mini{display:flex;align-items:center;gap:var(--iso-sp-3);min-width:0;padding:var(--iso-sp-3);border-radius:var(--iso-r-md)}
.iso-want-mini{background:var(--iso-want-50);border:1px solid var(--iso-want-100);border-left:3px solid var(--iso-want-500)}
.iso-get-mini{flex-wrap:wrap;background:var(--iso-get-50);border:1px solid var(--iso-get-100);border-left:3px solid var(--iso-get-500)}
.iso-want-mini>div,.iso-get-mini .t{min-width:0;flex:1 1 160px}
.iso-want-mini b,.iso-get-mini .t b,.iso-dealrow .t b{display:block;overflow-wrap:anywhere}
.iso-want-mini span,.iso-get-mini .t span,.iso-dealrow .t span{display:block;font-size:var(--iso-text-xs);color:var(--iso-muted);overflow-wrap:anywhere}
.iso-want-mini .iso-itm,.iso-get-mini .iso-itm,.iso-dealrow .iso-itm{width:40px;height:40px}
.iso-want-mini .iso-itm .iso-i,.iso-get-mini .iso-itm .iso-i,.iso-dealrow .iso-itm .iso-i{width:20px;height:20px}
.iso-get-mini form{display:contents}
.iso-irow-side{display:flex;flex-wrap:wrap;align-items:center;gap:var(--iso-sp-2);padding:var(--iso-sp-3);border-radius:var(--iso-r-md);background:var(--iso-surface-2);border:1px solid var(--iso-line)}
.iso-irow-side form{display:contents}
.iso-ioffers{display:flex;flex-wrap:wrap;gap:var(--iso-sp-2)}
.iso-ioff{flex:1 1 150px;min-width:0;display:flex;flex-direction:column;gap:var(--iso-sp-0-5);padding:var(--iso-sp-3);border:1.5px solid transparent;border-radius:var(--iso-r-md);background:linear-gradient(#fff,#fff) padding-box,var(--iso-bridge) border-box;min-height:var(--iso-ctl-touch)}
.iso-ioff.new{box-shadow:0 0 0 3px var(--iso-want-100)}
.iso-ioff .who{display:flex;align-items:center;gap:var(--iso-sp-2);font-size:var(--iso-text-sm);font-weight:600;overflow-wrap:anywhere}
.iso-ioff .p{font-family:var(--iso-font-display);font-size:var(--iso-text-xl);font-weight:800;color:var(--iso-ink);line-height:1.2}
.iso-ioff .p.q{font-family:var(--iso-font-ui);font-size:var(--iso-text-sm);font-weight:600;color:var(--iso-ink-2)}
.iso-ioff .k{font-size:var(--iso-text-xs);color:var(--iso-muted);overflow-wrap:anywhere}
.iso-compare{margin:0 0 var(--iso-sp-5)}
.iso-dealrow{display:flex;align-items:center;flex-wrap:wrap;gap:var(--iso-sp-3);padding:var(--iso-sp-3);margin-bottom:var(--iso-sp-2);border-radius:var(--iso-r-md);background:var(--iso-bridge-soft);border:1px solid var(--iso-line)}
.iso-dealrow .t{flex:1 1 160px;min-width:0}

@media (min-width:640px){
  .iso-offers{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:960px){
  .iso-resp{grid-template-columns:minmax(0,1fr) 56px minmax(0,1.15fr)}
  .iso-resp-link{display:block;position:relative;height:100%;min-height:120px}
  .iso-resp-link::before{content:"";position:absolute;left:0;right:6px;top:72px;height:2px;background:var(--iso-bridge)}
  .iso-resp-link::after{content:"";position:absolute;right:0;top:67px;width:12px;height:12px;border-radius:50%;background:var(--iso-get-500);box-shadow:0 0 0 3px var(--iso-get-100)}
  .iso-respform{padding:var(--iso-sp-5)}
  .iso-sheetg-f{margin:0 calc(var(--iso-sp-5)*-1) calc(var(--iso-sp-5)*-1);padding:var(--iso-sp-3) var(--iso-sp-5)}
  .iso-claimpage{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);align-items:start}
  .iso-offers{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
  .iso-inbox{flex-direction:row;gap:var(--iso-sp-6);padding:var(--iso-sp-6) var(--iso-sp-7) var(--iso-sp-8)}
  .iso-inbox-nav{flex-direction:column;align-items:stretch;overflow:visible;width:200px;flex:none;align-self:flex-start;position:sticky;top:var(--iso-sp-4);padding:0}
  .iso-inbox-nav .role{padding:0 var(--iso-sp-3) var(--iso-sp-2)}
  .iso-inbox-nav a{border:0;background:none;border-radius:var(--iso-r-md);min-height:var(--iso-ctl-md)}
  .iso-inbox-nav a:hover{background:var(--iso-surface-3)}
  .iso-inbox-nav a .n{margin-left:auto}
  .iso-irow{grid-template-columns:minmax(200px,1fr) 44px minmax(0,1.7fr);align-items:center}
  .iso-irow .lk{width:auto;height:2px;margin:0;background:var(--iso-bridge)}
}
@media (pointer:coarse){
  .iso-tabs3 label,.iso-inbox-nav a{min-height:var(--iso-ctl-touch)}
}
.iso-irow-more{grid-column:1/-1}

/* =====================================================================
   Alert settings matrix + email opt-out page (Phase C2, design system 4.20)
   A card per alert on a phone (name, four channel toggles labelled underneath,
   cadence select full width); the 1fr / 4 x 52px / 156px grid from 960px.
   Real checkboxes (.iso-sr) carry the state; .box draws it, 24px with a 44px hit area.
   ===================================================================== */
.iso-mx-presets{display:flex;flex-wrap:wrap;align-items:center;gap:var(--iso-sp-2);margin-bottom:var(--iso-sp-4)}
.iso-mx-presets .lab{font-size:var(--iso-text-xs);font-weight:600;color:var(--iso-ink-2);margin-right:var(--iso-sp-1)}
.iso-mx{display:flex;flex-direction:column;gap:var(--iso-sp-2)}
.iso-mx-head{display:none}
.iso-mx-g{display:flex;align-items:center;gap:var(--iso-sp-2);padding:var(--iso-sp-2) var(--iso-sp-3);border-radius:var(--iso-r-sm);font-size:var(--iso-text-sm);font-weight:700}
.iso-mx-r+.iso-mx-g{margin-top:var(--iso-sp-3)}
.iso-mx-g.w{background:var(--iso-want-50);color:var(--iso-want-900)}
.iso-mx-g.g{background:var(--iso-get-50);color:var(--iso-get-900)}
.iso-mx-r{display:grid;gap:var(--iso-sp-3);padding:var(--iso-sp-3);border:1px solid var(--iso-line);border-radius:var(--iso-r-md);background:#fff}
.iso-mx-nm{font-size:var(--iso-text-md);font-weight:600;color:var(--iso-ink)}
.iso-mx-nm small{display:block;margin-top:2px;font-size:var(--iso-text-xs);font-weight:400;color:var(--iso-muted)}
.iso-mx-ch{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--iso-sp-1)}
.iso-mx-c{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--iso-sp-1);min-height:var(--iso-ctl-touch);font-size:var(--iso-text-2xs);color:var(--iso-muted);cursor:pointer}
.iso-mx-c .box{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:2px solid var(--iso-line-strong);border-radius:6px;background:#fff;color:#fff;transition:background var(--iso-dur) var(--iso-ease),border-color var(--iso-dur) var(--iso-ease)}
.iso-mx-c .box .iso-i{opacity:0}
.iso-mx-c input:checked+.box .iso-i{opacity:1}
.iso-mx-r.w .iso-mx-c input:checked+.box{background:var(--iso-want-fill);border-color:var(--iso-want-fill)}
.iso-mx-r.g .iso-mx-c input:checked+.box{background:var(--iso-get-fill);border-color:var(--iso-get-fill)}
.iso-mx-c input:focus-visible+.box{outline:3px solid var(--iso-focus);outline-offset:2px}
.iso-mx-c.is-locked{cursor:default}
.iso-mx-c.is-locked input:checked+.box{opacity:.55}
.iso-mx-na .box{border-style:dashed;border-color:var(--iso-line);background:transparent;color:var(--iso-muted-2)}
.iso-mx-na{cursor:default}
.iso-mx-fixed{display:inline-flex;align-items:center;min-height:var(--iso-ctl-touch);font-size:var(--iso-text-sm);font-weight:600;color:var(--iso-ink-2)}
.iso-mx-note{display:flex;gap:var(--iso-sp-2);align-items:flex-start;margin:var(--iso-sp-4) 0;padding:var(--iso-sp-3);border-radius:var(--iso-r-md);background:var(--iso-surface-2);font-size:var(--iso-text-sm);line-height:var(--iso-lh-body);color:var(--iso-ink-2)}
.iso-mx-note .iso-i{margin-top:2px;color:var(--iso-muted)}
@media (min-width:960px){
  .iso-mx-head,.iso-mx-r{display:grid;grid-template-columns:minmax(0,1fr) repeat(4,52px) 156px;align-items:center;gap:var(--iso-sp-2)}
  .iso-mx-head{padding:0 var(--iso-sp-3);font-size:var(--iso-text-xs);font-weight:700;color:var(--iso-ink-2)}
  .iso-mx-head .c{display:flex;flex-direction:column;align-items:center;gap:var(--iso-sp-1)}
  .iso-mx-ch{display:contents}
  .iso-mx-c .lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
.iso-unsub{max-width:560px}
.iso-unsub .iso-mute{margin:var(--iso-sp-2) 0 var(--iso-sp-4)}
.iso-unsub-acts{display:flex;flex-wrap:wrap;gap:var(--iso-sp-2)}

/* =====================================================================
   COMMENTS, REACTIONS AND BLOCKED / MUTED LIST (Phase E1)  --  appended block; nothing above is changed.
   The thread on an ISO and an Opportunity page (docs/ISO_DESIGN_SYSTEM.md 4.13, 4.14, 4.24), built by
   iso_social. Mobile-first: everything you can tap is 44px, replies indent by a rule rather than a
   wide gutter, and "More" opens in the flow instead of as a popover. Real <details> and <form>
   elements carry the state, so the whole thread works without JavaScript.
   ===================================================================== */
.iso-thread{scroll-margin-top:var(--iso-sp-4)}
.iso-cm-n{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 var(--iso-sp-2);margin-left:var(--iso-sp-1);border-radius:var(--iso-r-pill);background:var(--iso-surface-3);color:var(--iso-ink-2);font-family:var(--iso-font-ui);font-size:var(--iso-text-xs);font-weight:700;vertical-align:middle}
.iso-cm-tools{display:flex;flex-wrap:wrap;align-items:center;gap:var(--iso-sp-2) var(--iso-sp-4);margin-bottom:var(--iso-sp-3)}
.iso-cm-tool{margin:0}
.iso-cm-link,.iso-cm-sub>summary{display:inline-flex;align-items:center;gap:var(--iso-sp-1);min-height:var(--iso-ctl-touch);padding:0 var(--iso-sp-2);border-radius:var(--iso-r-sm);font-size:var(--iso-text-sm);font-weight:600;color:var(--iso-ink-2);cursor:pointer}
.iso-cm-link:hover,.iso-cm-sub>summary:hover{background:var(--iso-surface-3);color:var(--iso-ink)}
.iso-cm-sub[open]>summary{color:var(--iso-ink)}
.iso-cm-note{display:flex;align-items:flex-start;gap:var(--iso-sp-2);margin-bottom:var(--iso-sp-3);padding:var(--iso-sp-3);border-radius:var(--iso-r-md);background:var(--iso-surface-2);border:1px solid var(--iso-line);font-size:var(--iso-text-sm);color:var(--iso-ink-2)}
.iso-cm-note .iso-i{margin-top:2px;flex:none;color:var(--iso-muted)}

.iso-cm-composer{display:flex;flex-direction:column;gap:var(--iso-sp-2);margin-bottom:var(--iso-sp-4)}
.iso-cm-composer textarea{min-height:88px}
.iso-cm-composer-f{display:flex;align-items:center;justify-content:space-between;gap:var(--iso-sp-3)}
.iso-cm-composer-f .iso-btn{margin-left:auto}
.iso-cm-fake{display:flex;align-items:center;gap:var(--iso-sp-2);width:100%;min-height:var(--iso-ctl-touch);padding:0 var(--iso-sp-3);border:1px solid var(--iso-line-strong);border-radius:var(--iso-r-md);background:#fff;color:var(--iso-muted);font-size:var(--iso-text-md);text-align:left}
.iso-cm-fake:hover{border-color:var(--iso-want-400)}

.iso-cm-list{display:flex;flex-direction:column;gap:var(--iso-sp-4)}
.iso-cm{display:flex;gap:var(--iso-sp-3);scroll-margin-top:var(--iso-sp-6)}
.iso-cm.is-linked>.iso-cm-main>.iso-cm-body,.iso-cm.is-linked>.iso-cm-main>.iso-cm-head{background:var(--iso-want-50);border-radius:var(--iso-r-sm)}
.iso-cm-av{flex:none;padding-top:2px}
.iso-cm-main{flex:1;min-width:0}
.iso-cm-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--iso-sp-1) var(--iso-sp-2);font-size:var(--iso-text-sm)}
.iso-cm-name{font-weight:700;color:var(--iso-ink);overflow-wrap:anywhere}
.iso-cm-body{margin-top:var(--iso-sp-1);font-size:var(--iso-text-md);line-height:var(--iso-lh-body);color:var(--iso-ink);overflow-wrap:anywhere}
.iso-cm-gone{margin-top:var(--iso-sp-1);font-size:var(--iso-text-sm);font-style:italic;color:var(--iso-muted)}
.iso-cm-acts{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--iso-sp-2);margin-top:var(--iso-sp-1)}
.iso-cm-reply[open],.iso-cm-more[open]{flex:1 0 100%}
.iso-cm-reply>.iso-cm-composer{margin:var(--iso-sp-2) 0 var(--iso-sp-2)}
.iso-cm-reply[open]>summary,.iso-cm-more[open]>summary{color:var(--iso-ink);background:var(--iso-surface-3)}
.iso-cm-menu{display:flex;flex-direction:column;gap:var(--iso-sp-1);padding:var(--iso-sp-2);border:1px solid var(--iso-line);border-radius:var(--iso-r-md);background:var(--iso-surface-2)}
.iso-cm-menu form{margin:0}
.iso-cm-item{display:flex;align-items:center;gap:var(--iso-sp-2);width:100%;min-height:var(--iso-ctl-touch);padding:0 var(--iso-sp-2);border-radius:var(--iso-r-sm);font-size:var(--iso-text-sm);font-weight:600;color:var(--iso-ink-2);text-align:left}
.iso-cm-item:hover{background:#fff;color:var(--iso-ink)}
.iso-cm-item.danger{color:var(--iso-disputed-fg)}
.iso-cm-menu .iso-cm-sub>summary{display:flex;width:100%}
.iso-cm-menu .iso-cm-sub[open]{padding-bottom:var(--iso-sp-2)}
.iso-cm-rep{display:flex;flex-direction:column;align-items:flex-start;gap:var(--iso-sp-2);padding:var(--iso-sp-2)}
.iso-cm-rep label{font-size:var(--iso-text-xs);font-weight:600;color:var(--iso-ink-2)}
.iso-cm-rep .iso-input{width:100%}
.iso-cm-replies{margin-top:var(--iso-sp-3);padding-left:var(--iso-sp-3);border-left:2px solid var(--iso-line);gap:var(--iso-sp-3)}
.iso-cm.is-reply .iso-cm-av .iso-av{--s:28px}
.iso-cm-tools .iso-cm-sub[open]{flex:1 0 100%}

.iso-rx{display:flex;flex-wrap:wrap;align-items:center;gap:var(--iso-sp-1)}
.iso-rx-f{display:inline-flex;margin:0}
.iso-rx-pill{display:inline-flex;align-items:center;justify-content:center;gap:var(--iso-sp-1);min-height:32px;padding:0 var(--iso-sp-2);border:1px solid var(--iso-line);border-radius:var(--iso-r-pill);background:#fff;color:var(--iso-ink-2);font-size:var(--iso-text-sm);font-weight:600;line-height:1;cursor:pointer}
span.iso-rx-pill{cursor:default}
.iso-rx-pill .e{font-size:var(--iso-text-lg)}
.iso-rx-pill:hover{border-color:var(--iso-line-strong);background:var(--iso-surface-2)}
.iso-rx-pill.on{background:var(--iso-want-50);border-color:var(--iso-want-200);color:var(--iso-want-900)}
.iso-rx-pill.add{color:var(--iso-muted)}
.iso-rx-add[open]{flex:1 0 100%}
.iso-rx-pick{display:inline-flex;max-width:100%;gap:var(--iso-sp-1);margin-top:var(--iso-sp-1);padding:var(--iso-sp-1);border:1px solid var(--iso-line);border-radius:var(--iso-r-pill);background:#fff;box-shadow:var(--iso-shadow-1)}
.iso-rx-e{width:var(--iso-ctl-touch);height:var(--iso-ctl-touch);border-radius:50%;font-size:var(--iso-text-2xl);line-height:1;display:grid;place-items:center}
.iso-rx-e:hover{background:var(--iso-surface-3)}
.iso-rx-e.on{background:var(--iso-want-100)}

/* Blocked and muted members (settings) */
.iso-bm li{display:flex;align-items:center;justify-content:space-between;gap:var(--iso-sp-3);padding:var(--iso-sp-3) 0}
.iso-bm li+li{border-top:1px solid var(--iso-line-2)}
.iso-bm .t{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}
.iso-bm .t small{font-size:var(--iso-text-xs);color:var(--iso-muted)}

@media (min-width:640px){
  .iso-cm-replies{padding-left:var(--iso-sp-4)}
  .iso-cm-list{gap:var(--iso-sp-5)}
}
@media (pointer:coarse){
  .iso-rx-pill{min-height:var(--iso-ctl-touch)}
   DEALS, TIPS AND THE SUPPORTER BADGE (Phases D2b and D3)
   The deal panel (design system 4.18), the completion screen, the tip card,
   the Supporter tooltip and the collapsible deal card at the top of a chat
   room. Mobile-first: one column at 375px; the completion cards go two
   across from 960px. Transitions only on state change.
   ===================================================================== */

/* ---- the Supporter tooltip (4.14): hover, and keyboard focus (tabindex=0) ---- */
.iso-supporter{position:relative;cursor:help;margin-left:var(--iso-sp-1)}
.iso-supporter:focus-visible{outline:3px solid var(--iso-focus);outline-offset:2px}
.iso-suptip{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);width:230px;max-width:70vw;background:var(--iso-ink);color:#fff;font-size:var(--iso-text-xs);font-weight:500;line-height:1.4;padding:var(--iso-sp-2) var(--iso-sp-3);border-radius:var(--iso-r-md);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--iso-dur);z-index:30;text-transform:none;letter-spacing:0;white-space:normal;text-align:left}
.iso-suptip::after{content:"";position:absolute;top:100%;left:50%;margin-left:-6px;border:6px solid transparent;border-top-color:var(--iso-ink)}
.iso-supporter:hover .iso-suptip,.iso-supporter:focus .iso-suptip,.iso-supporter:focus-within .iso-suptip{opacity:1;visibility:visible}
.iso-wcard-who,.iso-bigmeta .iso-who,.iso-csub{overflow:visible}

/* ---- the deal page and panel ---- */
.iso-dealpage{display:flex;flex-direction:column;gap:var(--iso-sp-5);max-width:960px;margin:0 auto}
.iso-deal-staff{display:flex;align-items:center;gap:var(--iso-sp-2);font-size:var(--iso-text-sm);color:var(--iso-warn-fg);background:var(--iso-warn-bg);border:1px solid var(--iso-warn-line);border-radius:var(--iso-r-md);padding:var(--iso-sp-2) var(--iso-sp-3)}
.iso-deal{display:flex;flex-direction:column;gap:var(--iso-sp-4);background:#fff;border:1px solid var(--iso-line);border-radius:var(--iso-r-lg);padding:var(--iso-sp-4);box-shadow:var(--iso-shadow-1);min-width:0}
.iso-deal-h{display:flex;align-items:center;gap:var(--iso-sp-2);flex-wrap:wrap}
.iso-deal-title a{color:var(--iso-ink)}
.iso-deal-title a:hover{text-decoration:underline}
.iso-deal-people{display:flex;flex-direction:column;gap:var(--iso-sp-3)}
.iso-deal-people li{display:flex;align-items:center;gap:var(--iso-sp-3);min-width:0}
.iso-deal-people li>span:last-child{display:flex;flex-wrap:wrap;align-items:center;gap:var(--iso-sp-1) var(--iso-sp-2);min-width:0;overflow-wrap:anywhere}
.iso-deal-people li>span:last-child>.iso-small{flex-basis:100%}
.iso-deal-chat{margin:0}
.iso-deal-note{display:flex;flex-direction:column;gap:var(--iso-sp-1);padding:var(--iso-sp-3);border-radius:var(--iso-r-md);font-size:var(--iso-text-sm);overflow-wrap:anywhere}
.iso-deal-note b{display:flex;align-items:center;gap:var(--iso-sp-2)}
.iso-deal-note.is-no{background:var(--iso-expired-bg);color:var(--iso-expired-fg)}
.iso-deal-note.is-bad{background:var(--iso-disputed-bg);color:var(--iso-disputed-fg);border:1px solid var(--iso-disputed-line)}

/* five steps: what has actually happened, not a promise */
.iso-steps5{display:flex;gap:var(--iso-sp-1)}
.iso-steps5 li{flex:1;min-width:0}
.iso-steps5 .bar{display:block;height:6px;border-radius:3px;background:var(--iso-line)}
.iso-steps5 li.on .bar{background:var(--iso-bridge)}
.iso-steps5 .lab{display:block;margin-top:var(--iso-sp-1);font-size:var(--iso-text-2xs);font-weight:600;color:var(--iso-muted);line-height:1.2;overflow-wrap:anywhere}
.iso-steps5 li.on .lab{color:var(--iso-ink-2)}

.iso-agreed{border:1px solid var(--iso-line);border-radius:var(--iso-r-lg);padding:var(--iso-sp-3);display:flex;flex-direction:column;gap:var(--iso-sp-3)}
.iso-agreed-price{font-family:var(--iso-font-display);font-size:var(--iso-text-4xl);font-weight:800;line-height:1.1;background:var(--iso-bridge);-webkit-background-clip:text;background-clip:text;color:transparent;width:fit-content}
.iso-deal-sub{margin-top:var(--iso-sp-1)}
.iso-deal-confirm{display:flex;align-items:center;gap:var(--iso-sp-2);font-size:var(--iso-text-sm);color:var(--iso-ink-2)}
.iso-deal-edit{border-radius:var(--iso-r-md)}
.iso-deal-edit>summary{cursor:pointer}
.iso-deal-edit[open]>summary{margin-bottom:var(--iso-sp-3)}
.iso-deal-form{display:flex;flex-direction:column;gap:var(--iso-sp-1)}
.iso-deal-form .iso-btn.block{margin-top:var(--iso-sp-2)}

/* the private shipping card: warm, never shown to anyone but the seller, staff and its author */
.iso-private{border-radius:var(--iso-r-lg);padding:var(--iso-sp-3);background:#fffbeb;border:1px solid var(--iso-warn-line);font-size:var(--iso-text-sm);display:flex;flex-direction:column;gap:var(--iso-sp-2)}
.iso-private-h{display:flex;align-items:center;gap:var(--iso-sp-2);font-size:var(--iso-text-sm);font-weight:700;color:var(--iso-warn-fg)}
.iso-private-lines{overflow-wrap:anywhere;font-weight:600}

.iso-pp{display:flex;flex-direction:column;gap:var(--iso-sp-2)}
.iso-pp-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--iso-sp-2) var(--iso-sp-3);border:1px solid var(--iso-line);border-radius:var(--iso-r-md);padding:var(--iso-sp-3);font-size:var(--iso-text-sm)}
.iso-pp-row .t{flex:1 1 180px;min-width:0;overflow-wrap:anywhere}

.iso-deal-done{display:flex;flex-direction:column;gap:var(--iso-sp-2)}
.iso-center{text-align:center}
.iso-deal-wait{display:flex;align-items:center;gap:var(--iso-sp-2);font-size:var(--iso-text-sm);color:var(--iso-ink-2);background:var(--iso-surface-3);border-radius:var(--iso-r-md);padding:var(--iso-sp-3)}
.iso-deal-wait.is-ok{background:var(--iso-get-50);color:var(--iso-get-900)}
.iso-deal-foot{display:flex;flex-direction:column;gap:var(--iso-sp-2);border-top:1px solid var(--iso-line-2);padding-top:var(--iso-sp-3)}
.iso-deal-badlink,.iso-deal-quiet{display:inline-flex;align-items:center;min-height:var(--iso-ctl-touch);font-size:var(--iso-text-sm);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.iso-deal-badlink{color:var(--iso-disputed-fg)}
.iso-deal-quiet{color:var(--iso-muted)}
.iso-deal-bad .iso-of-checks{border:0;padding:0;margin:0 0 var(--iso-sp-3)}

/* ---- the completion screen (4.18) ---- */
.iso-done{border-radius:var(--iso-r-lg);border:1px solid var(--iso-line);padding:var(--iso-sp-4);background:linear-gradient(180deg,#f8fbff,#f5fcf9);min-width:0}
.iso-done-head{display:flex;align-items:center;gap:var(--iso-sp-4);margin-bottom:var(--iso-sp-4)}
.iso-done-head .mk,.iso-done-mk{width:52px;height:52px;border-radius:var(--iso-r-lg);background:var(--iso-bridge);color:#fff;display:grid;place-items:center;flex:none}
.iso-done-mk{margin-bottom:var(--iso-sp-3)}
.iso-done-title{font-size:var(--iso-text-3xl)}
.iso-done-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--iso-sp-3)}
.iso-done-card{background:#fff;border:1px solid var(--iso-line);border-radius:var(--iso-r-lg);padding:var(--iso-sp-4);display:flex;flex-direction:column;gap:var(--iso-sp-2);min-width:0}
.iso-done-h3{display:flex;align-items:center;gap:var(--iso-sp-2);flex-wrap:wrap}
.iso-done-form{display:flex;flex-direction:column;gap:var(--iso-sp-2)}
.iso-done-mini{box-shadow:none}
.iso-tip-thanks{display:flex;align-items:center;gap:var(--iso-sp-2);font-size:var(--iso-text-sm);font-weight:600;color:var(--iso-get-800)}

/* five stars: radios come 5..1 in the DOM and flex reverses them, so "checked ~ label" paints the stars to its left */
.iso-rate{display:flex;flex-direction:row-reverse;justify-content:flex-end;flex-wrap:wrap;border:0;padding:0;margin:0}
.iso-rate legend{flex:0 0 100%;order:9;width:100%;padding:0;margin-bottom:var(--iso-sp-1);font-size:var(--iso-text-xs);font-weight:600;color:var(--iso-ink-2)}
.iso-rate label{display:inline-grid;place-items:center;width:var(--iso-ctl-touch);height:var(--iso-ctl-touch);cursor:pointer;color:var(--iso-line-strong)}
.iso-rate label .iso-i{width:28px;height:28px}
.iso-rate input:checked~label,.iso-rate label:hover,.iso-rate label:hover~label{color:#f59e0b}
.iso-rate input:focus-visible+label{outline:3px solid var(--iso-focus);outline-offset:2px;border-radius:var(--iso-r-sm)}

/* ---- the tip card and page ---- */
.iso-tipcard{display:flex;flex-direction:column;gap:var(--iso-sp-3)}
.iso-tipcard fieldset{border:0;margin:0;padding:0;min-width:0}
.iso-tipamts,.iso-tipvia{display:flex;flex-wrap:wrap;gap:var(--iso-sp-2)}
.iso-tipamts legend,.iso-tipvia legend{flex:0 0 100%;padding:0;margin-bottom:var(--iso-sp-1)}
.iso-pill{position:relative;display:inline-flex}
.iso-pill input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.iso-pill span{display:inline-flex;align-items:center;justify-content:center;min-height:var(--iso-ctl-touch);min-width:64px;padding:0 var(--iso-sp-4);border-radius:var(--iso-r-md);border:1.5px solid var(--iso-line);background:#fff;font-weight:700;font-size:var(--iso-text-sm);transition:background var(--iso-dur),border-color var(--iso-dur)}
.iso-tipamts .iso-pill input:checked+span{border-color:#e11d48;background:var(--iso-supporter-bg);color:var(--iso-supporter-fg)}
.iso-tipvia .iso-pill input:checked+span{border-color:var(--iso-ink);background:var(--iso-surface-2)}
.iso-pill input:focus-visible+span{outline:3px solid var(--iso-focus);outline-offset:2px}
.iso-tip-badgehelp{display:flex;align-items:flex-start;flex-wrap:wrap;gap:var(--iso-sp-2)}
.iso-tip-badgehelp .iso-supporter{cursor:default;margin:0}
.iso-tippage{max-width:520px;margin:0 auto;display:flex;flex-direction:column;gap:var(--iso-sp-3)}

/* ---- the deal card inside a chat room / docked window (4.18 "pinned offer") ---- */
.iso-dealcard-wrap{background:transparent;padding:0;font-size:var(--iso-text-sm)}
.iso-dealcard{margin:var(--iso-sp-2) var(--iso-sp-3) 0;border-radius:var(--iso-r-lg);border:1.5px solid transparent;background-image:linear-gradient(#fff,#fff),var(--iso-bridge);background-origin:border-box;background-clip:padding-box,border-box;box-shadow:var(--iso-shadow-2)}
.iso-dealcard>summary{display:flex;align-items:center;flex-wrap:wrap;gap:var(--iso-sp-2);min-height:var(--iso-ctl-touch);padding:var(--iso-sp-2) var(--iso-sp-3);cursor:pointer}
.iso-dealcard>summary .ttl{flex:1 1 140px;min-width:0;overflow-wrap:anywhere;font-size:var(--iso-text-sm)}
.iso-dealcard .body{display:flex;flex-direction:column;gap:var(--iso-sp-2);padding:0 var(--iso-sp-3) var(--iso-sp-3)}
.iso-dealcard .next{font-size:var(--iso-text-sm);color:var(--iso-ink-2);font-weight:600}

@media (min-width:960px){
  .iso-deal{padding:var(--iso-sp-5)}
  .iso-done{padding:var(--iso-sp-6)}
  .iso-done-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* =====================================================================
   PHASE E2 -- GROWTH SURFACES (homepage strip, "Wanted" block)
   ---------------------------------------------------------------------
   These sit on pages that are not ISO pages (the RACCTrusted homepage,
   celebrity / group / Signed Drop detail), so they load this file through
   iso/_growth_assets.html. Every selector is .iso-hs* / .iso-wb*; the
   tokens still come from .iso-root, which each block carries itself.
   Mobile-first: rules outside a media query are the phone (375px).
   Appended as one block so a parallel phase editing this file merges clean.
   ===================================================================== */
.iso-hs-wrap{max-width:1560px;margin-left:auto;margin-right:auto;padding-top:16px;padding-bottom:4px}
.iso-hs{border:1px solid var(--iso-line);border-radius:var(--iso-r-lg);padding:var(--iso-sp-4);background:var(--iso-bridge-soft);box-shadow:var(--iso-shadow-1)}
.iso-hs-head{display:flex;align-items:center;justify-content:space-between;gap:var(--iso-sp-3);margin-bottom:var(--iso-sp-3)}
.iso-hs-wm{display:inline-flex;min-height:var(--iso-ctl-touch);align-items:center;color:inherit}
.iso-hs-wm .iso-wm-t span{white-space:nowrap;letter-spacing:.08em}
.iso-hs-all{white-space:nowrap;display:inline-flex;align-items:center;gap:var(--iso-sp-1);min-height:var(--iso-ctl-touch);padding:0 var(--iso-sp-1);font-size:var(--iso-text-sm);font-weight:700;color:var(--iso-want-700)}
.iso-hs-all:hover{text-decoration:underline;text-underline-offset:3px}
.iso-hs-nums{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.25fr);gap:var(--iso-sp-2)}
.iso-hs-num{display:flex;flex-direction:column;gap:var(--iso-sp-0-5);padding:var(--iso-sp-3) var(--iso-sp-2);overflow-wrap:anywhere;background:#fff;border:1px solid var(--iso-line);border-radius:var(--iso-r-md);min-width:0;color:inherit}
.iso-hs-num b{font-family:var(--iso-font-display);font-weight:800;font-size:var(--iso-text-3xl);letter-spacing:-.03em;line-height:1}
.iso-hs-num span{font-size:var(--iso-text-xs);font-weight:600;color:var(--iso-ink-2);line-height:var(--iso-lh-snug)}
.iso-hs-num.w{background:var(--iso-want-50);border-color:var(--iso-want-100)}.iso-hs-num.w b{color:var(--iso-want-700)}
.iso-hs-num.g{background:var(--iso-get-50);border-color:var(--iso-get-100)}.iso-hs-num.g b{color:var(--iso-get-700)}
.iso-hs-num.m b{background:var(--iso-bridge);-webkit-background-clip:text;background-clip:text;color:transparent}
.iso-hs-hotwrap{margin-top:var(--iso-sp-4)}
.iso-hs-hot{display:flex;gap:var(--iso-sp-2);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin:0 calc(var(--iso-sp-4)*-1);padding:var(--iso-sp-1) var(--iso-sp-4) var(--iso-sp-2)}
.iso-hs-hot::-webkit-scrollbar{display:none}
.iso-hs-chip{flex:none;display:inline-flex;align-items:center;gap:var(--iso-sp-2);min-height:var(--iso-ctl-touch);padding:0 var(--iso-sp-3) 0 var(--iso-sp-2);background:#fff;border:1px solid var(--iso-line);border-radius:var(--iso-r-pill);color:inherit}
.iso-hs-chip:hover{border-color:var(--iso-line-strong)}
.iso-hs-chip b{font-family:var(--iso-font-display);font-size:var(--iso-text-sm);font-weight:700;white-space:nowrap}
.iso-hs-chip i{display:inline-flex;align-items:center;gap:2px;font-style:normal;font-size:var(--iso-text-xs);font-weight:700;color:var(--iso-want-700)}
.iso-hs-cols{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--iso-sp-4);margin-top:var(--iso-sp-4)}
.iso-hs-cols>div,.iso-hs-list>li{min-width:0}
.iso-hs-list{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--iso-sp-2)}
.iso-hs-card{display:flex;align-items:center;gap:var(--iso-sp-3);min-height:var(--iso-ctl-touch);padding:var(--iso-sp-3);background:#fff;border:1px solid var(--iso-line);border-left-width:3px;border-radius:var(--iso-r-md);color:inherit;min-width:0}
.iso-hs-card.w{border-left-color:var(--iso-want-500)}.iso-hs-card.g{border-left-color:var(--iso-get-500)}
.iso-hs-card:hover{border-color:var(--iso-line-strong)}
.iso-hs-card.w:hover{border-left-color:var(--iso-want-600)}.iso-hs-card.g:hover{border-left-color:var(--iso-get-600)}
.iso-hs-card .t{display:flex;flex-direction:column;gap:var(--iso-sp-0-5);min-width:0}
.iso-hs-card .t b{font-family:var(--iso-font-display);font-size:var(--iso-text-md);font-weight:700;line-height:var(--iso-lh-snug);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.iso-hs-card .t>span:not(.m){font-size:var(--iso-text-xs);color:var(--iso-ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.iso-hs-card .m{display:flex;flex-wrap:wrap;gap:var(--iso-sp-1) var(--iso-sp-2);font-size:var(--iso-text-xs);color:var(--iso-muted)}
.iso-hs-card .m i{font-style:normal}
.iso-hs-card .m .bud{font-weight:700;color:var(--iso-want-700)}.iso-hs-card .m .bud.g{color:var(--iso-get-700)}
.iso-hs-acts{display:flex;flex-wrap:wrap;gap:var(--iso-sp-2);margin-top:var(--iso-sp-4)}
.iso-hs-acts .iso-btn{flex:1 1 160px}
@media (min-width:640px){
  .iso-hs{padding:var(--iso-sp-5)}
  .iso-hs-hot{margin:0 calc(var(--iso-sp-5)*-1);padding-left:var(--iso-sp-5);padding-right:var(--iso-sp-5)}
  .iso-hs-list.wants{grid-template-columns:repeat(2,minmax(0,1fr))}
  .iso-hs-acts .iso-btn{flex:0 0 auto}
}
@media (min-width:960px){
  .iso-hs-nums{max-width:640px}
  .iso-hs-cols{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
}

/* "Wanted" block on celebrity / group / Signed Drop pages */
.iso-wb-wrap{margin-top:var(--iso-sp-5);margin-bottom:var(--iso-sp-5)}
.iso-wb{display:flex;flex-direction:column;gap:var(--iso-sp-4);padding:var(--iso-sp-4);border:1px solid var(--iso-want-100);border-radius:var(--iso-r-lg);background:linear-gradient(90deg,var(--iso-want-50),#fff 60%);box-shadow:var(--iso-shadow-1)}
.iso-wb-main{display:flex;flex-direction:column;align-items:flex-start;gap:var(--iso-sp-2);min-width:0}
.iso-wb-h{font-family:var(--iso-font-display);font-size:var(--iso-text-xl);line-height:var(--iso-lh-snug);font-weight:800;letter-spacing:-.015em;margin:0}
.iso-wb-h b{color:var(--iso-want-700)}.iso-wb-h b.g{color:var(--iso-get-700)}
.iso-wb-types{display:flex;flex-wrap:wrap;gap:var(--iso-sp-2)}
.iso-wb-types a{display:inline-flex;align-items:center;gap:var(--iso-sp-1);min-height:var(--iso-ctl-sm);padding:0 var(--iso-sp-3);border-radius:var(--iso-r-pill);background:var(--iso-want-100);color:var(--iso-want-900);font-size:var(--iso-text-sm);font-weight:600}
.iso-wb-types a:hover{background:var(--iso-want-200)}
.iso-wb-types i{font-style:normal;font-weight:800}
.iso-wb-opp{display:inline-flex;align-items:center;gap:var(--iso-sp-2);min-height:var(--iso-ctl-touch);font-size:var(--iso-text-sm);color:var(--iso-get-800)}
.iso-wb-opp b{font-weight:700}
.iso-wb-opp:hover{text-decoration:underline;text-underline-offset:3px}
.iso-wb-acts{display:flex;flex-direction:column;gap:var(--iso-sp-2)}
.iso-wb.compact{padding:var(--iso-sp-3) var(--iso-sp-4);margin:var(--iso-sp-3) 0}
.iso-wb.compact .iso-wb-h{font-size:var(--iso-text-lg)}
@media (min-width:640px){
  .iso-wb:not(.compact){flex-direction:row;align-items:center;justify-content:space-between;padding:var(--iso-sp-5)}
  .iso-wb:not(.compact) .iso-wb-acts{flex-direction:row;flex:none}
}

/* the generated 1200x630 card shown as the share sheet preview (both the ISO and Opportunity sheets) */
.iso-ogmini .iso-ogcard{display:block;width:100%;height:auto;aspect-ratio:1200/630;background:var(--iso-surface-3)}
